From 51893e29718101144c7c9d0f9a39c78ef5aa0af9 Mon Sep 17 00:00:00 2001 From: Rojer Date: Sat, 23 Mar 2024 17:50:27 +0100 Subject: [PATCH 001/376] started the rationale --- docs/theory/code_structure.rst | 34 +++++++++++++++++++++++++ docs/theory/index.rst | 1 + docs/theory/introduction.rst | 46 +++++++++++++++++++++++----------- 3 files changed, 66 insertions(+), 15 deletions(-) create mode 100644 docs/theory/code_structure.rst diff --git a/docs/theory/code_structure.rst b/docs/theory/code_structure.rst new file mode 100644 index 000000000..fab39020d --- /dev/null +++ b/docs/theory/code_structure.rst @@ -0,0 +1,34 @@ +.. _chp_code_structure: + +Code Structure +============== + +Rtc-tools is used as the framework to define optimization problems, https://gitlab.com/deltares/rtc-tools. +Rtc-tools is a tool-box in which time-horizon optimization problems can be defined and via the package Casadi the problems are parsed in formats that allow solvers such as Highs and Gurobi to solve the problem. +Internally rtc-tools makes heavy use of the python mixin structure, which results that MESIDO also adheres to the mixin structure that rtc-tools uses. + +Although the full structure is even more elaborate the basic methods in the mixin are: + +* read: In this method all parsing of data files containing relevant information for the problem should be done, e.g. price profiles. +* times: In this function the time horizon is defined/adapted, note varying time-step size is supported. +* pre: In this method all variables and other operations needed before constraints and goals can be defined should be done. +* (path) constraints: In this method the constraints should be added to the problem, the path constraints are those applied to states which exist in every timestep. +* (path) goals: In this method the goals should be added to the problem, the path goals are those applied to states which exist in every timestep. +* optimize: Here the problem is transcribed and parsed to the solver (this method is never touched in MESIDO). +* post: In this method optional post processing including checks on the outcome of the optimization can be preformed. + +MESIDO offers a toolbox for optimization of multi energy systems with the following mixins: + +* PyCMLMixin: This mixin allows users to define component models with easy functions for adding variables and parameters. +* ESDLMixin: This mixin reads ESDL files and constructs a network model using the asset models defined in PyCML +* PhysicsMixin: This Mixin adds constraints for the modelling of physics in asset components or interaction between assets. The PhysicsMixin inherits the individual commodity mixins and adds physics where interaction between the commodities exists. + * HeatPhysicsMixin: Adds physics for the modelling of district heating systems. + * ElectricityPhysicsMixin: Adds physics for the modelling of Electricity grids. + * GasPhysicsMixin: Adds physics for the modelling of networks with gaseous mediums, e.g. natural gas or hydrogen. +* AssetSizingMixin: Adds variables and constraints allowing for the sizing and placement of assets in the energy system. +* FinancialMixin: Adds variables and constraints for financial computations, like OPEX, CAPEX and revenues. + +There are also workflows (which technically are also mixins) next to these toolbox mixins that MESIDO offers. The default workflows available are: + +* EndScenarioSzing: This workflow will optimize the energy system for Total Cost of ownership. +* GROWSimulator: This workflow allows to do operational analysis with a merit order for source strategy, where the use of sources is minimized in the reverse order to mimick simulator like behaviour. diff --git a/docs/theory/index.rst b/docs/theory/index.rst index 31e3df6b4..37a50b7a7 100644 --- a/docs/theory/index.rst +++ b/docs/theory/index.rst @@ -2,6 +2,7 @@ :maxdepth: 3 introduction + code_structure approach Validation_pipe_diameter_sizing pipe_classes diff --git a/docs/theory/introduction.rst b/docs/theory/introduction.rst index 54a410c4d..9de539a1a 100644 --- a/docs/theory/introduction.rst +++ b/docs/theory/introduction.rst @@ -1,23 +1,39 @@ Introduction ============ -The purpose of the optimizer routine is to provide a framework for design and operational optimization of heat networks. -It provides automatic construction of your heat network model based on a ESDL file. +MESIDO is the abbreviation for Multi Energy System Integrated Design and Operation. This documentation is meant to give the user of MESIDO package insight in how to use the different functionalities available. + +Why MESIDO? +----------- + +MESIDO aims to fill the gap between available tools used in early feasibility studies and the more detailed tools (typically simulators). +Tools for feasibilty studies like EnergyPlan, https://www.energyplan.eu, provide a good framework for initial feasibility of high level system concepts. +These tools often have little to no physics included in their models, typically energy balancing with efficiencies and capacity limits. +On the other hand there are more detailed tools, examples include detailed simulators like PandaPower and PandaPipes. +These simulators include more detailed modelling of physics allowing to analyze networks and/or assets close to real life operational conditions. + +The high level system concept that comes out of the initial feasibility is typically still subjected to many uncertainties. Therefore, many design choices are still to be made like placement and exact sizing of assets, optimal routing of the network, etc. +Although, the more detailed simulators can analyze various energy system designs by running different design options, it is seen that this becomes infeasible in practice as the amount of open design choices after initial feasibility is too high. +The increased complexity of the new and future energy systems plays a significant part. New energy systems have multiple producer, multiple consumer networks, often with storage (possibly seasonal) +and most notably interconnections between different energy commodities means that possible solution space is larger than ever. + +MESIDO aims to play the connecting role between the initial feasibility and the detailed analyses, by offering a techno-economic optimization framework that allows to make the design choices and come to a (limited set of) energy system design(s) that can be detailed out by the simulators. + +What is MESIDO? +--------------- + +MESIDO is a python package that allows users to define techno-economic optimization workflows (or use the available ones). Users can define themselves which KPIs they wish to optimize for, e.g. cost or business case optimization. +Furthermore, the user can select a physics fidelity level he/she needs for the analyses. Where the physics are typically approximations of steady-state conditions, the modelling is done such that the solutions are close and conservative. +The inclusion of the physics approximations allows the user to make more design choices compared to the tools used in initial feasibility. +However, this comes at the cost of the user needing to provide more information of the energy system in order to use MESIDO in an effective way, hence MESIDO is proposed as a sequential tool for analysis. + +Under the hood MESIDO is a Mixed Integer Linear Problem (MILP) formulation. This means that the physics and financial models are limited to linear constraints. +The computational power advantages of MILP optimizations allows MESIDO to optimize Multi Energy/Multi Commodity networks in an integral manner. +Nevertheless, the modelling limitations that MILP have will in the fast majority of cases require optimized networks to be detailed out with simulation tools before closing business cases and going to exploitation. + + -For the optimization one needs to define a model of your network and objective that you want to attain. -A common way to formulate these objectives is to use hierarchical "goals", see the `RTC-Tools documentation `_ for more information on this. -See also the RTC-Tools Heat Network examples for some ideas on goals related to heat network optimization. -This documentation will elaborate on the ins and outs of the optimizer routine. -The routine depends on `RTC-Tools `_, which is automatically installed as one of its dependencies. -Constructing a network with ESDL --------------------------------- -You can use an ESDL file description of a network. -Most importantly these files contain which components are in the network and how they are connected. -Some properties of the components can also be read from the file. -ESDL (Energy System Description Language) allows to describe your energy network in the conceptual phases. -You can draw networks in the `MapEditor `_ and save the ESDL file. -This allows for an user friendly way of drawing networks and setting component properties. From adc61861f86e2275f2ce1987c06814af721510ca Mon Sep 17 00:00:00 2001 From: Rojer Date: Sun, 24 Mar 2024 17:19:13 +0100 Subject: [PATCH 002/376] renamed to mesdio --- .gitattributes | 2 +- README.md | 24 +++++++++---------- docs/conf.py | 2 +- examples/municipality/src/run_municipality.py | 4 ++-- examples/pipe_diameter_sizing/src/example.py | 10 ++++---- setup.cfg | 6 ++--- setup.py | 10 ++++---- .../__init__.py | 0 .../_darcy_weisbach.py | 0 .../_heat_loss_u_values_pipe.py | 0 .../_version.py | 4 ++-- .../asset_sizing_mixin.py | 4 ++-- .../base_component_type_mixin.py | 0 .../component_type_mixin.py | 2 +- .../constants.py | 0 .../control_variables.py | 0 .../demand_insulation_class.py | 0 .../electricity_physics_mixin.py | 2 +- .../esdl/__init__.py | 0 .../esdl/_edr_pipes.json | 0 .../esdl/_exceptions.py | 0 .../esdl/_update_edr_pipes_json.py | 2 +- .../esdl/asset_to_component_base.py | 4 ++-- .../esdl/common.py | 0 .../esdl/edr_pipe_class.py | 4 ++-- .../esdl/esdl_additional_vars_mixin.py | 4 ++-- .../esdl/esdl_heat_model.py | 4 ++-- .../esdl/esdl_mixin.py | 20 ++++++++-------- .../esdl/esdl_model_base.py | 6 ++--- .../esdl/esdl_parser.py | 0 .../esdl/esdl_qth_model.py | 6 ++--- .../esdl/profile_parser.py | 2 +- .../financial_mixin.py | 2 +- .../gas_physics_mixin.py | 2 +- .../head_loss_class.py | 4 ++-- .../heat_network_common.py | 0 .../heat_physics_mixin.py | 4 ++-- .../influxdb/__init__.py | 0 .../influxdb/profile.py | 0 .../WarmingUp/HeatNetwork/Heat/Buffer.mo | 0 .../WarmingUp/HeatNetwork/Heat/CheckValve.mo | 0 .../HeatNetwork/Heat/ControlValve.mo | 0 .../WarmingUp/HeatNetwork/Heat/Demand.mo | 0 .../HeatNetwork/Heat/GeothermalSource.mo | 0 .../WarmingUp/HeatNetwork/Heat/HeatPort.mo | 0 .../WarmingUp/HeatNetwork/Heat/HeatTwoPort.mo | 0 .../WarmingUp/HeatNetwork/Heat/Node.mo | 0 .../WarmingUp/HeatNetwork/Heat/Pipe.mo | 0 .../WarmingUp/HeatNetwork/Heat/Pump.mo | 0 .../WarmingUp/HeatNetwork/Heat/Source.mo | 0 .../HeatNetwork/Heat/_NonStorageComponent.mo | 0 .../WarmingUp/HeatNetwork/Heat/package.mo | 0 .../WarmingUp/HeatNetwork/QTH/Buffer.mo | 0 .../WarmingUp/HeatNetwork/QTH/CheckValve.mo | 0 .../WarmingUp/HeatNetwork/QTH/ControlValve.mo | 0 .../WarmingUp/HeatNetwork/QTH/Demand.mo | 0 .../HeatNetwork/QTH/GeothermalSource.mo | 0 .../WarmingUp/HeatNetwork/QTH/Node.mo | 0 .../WarmingUp/HeatNetwork/QTH/Pipe.mo | 0 .../WarmingUp/HeatNetwork/QTH/Pump.mo | 0 .../WarmingUp/HeatNetwork/QTH/QTHPort.mo | 0 .../WarmingUp/HeatNetwork/QTH/QTHTwoPort.mo | 0 .../WarmingUp/HeatNetwork/QTH/Source.mo | 0 .../QTH/_FluidPropertiesComponent.mo | 0 .../HeatNetwork/QTH/_NonStorageComponent.mo | 0 .../WarmingUp/HeatNetwork/QTH/package.mo | 0 .../modelica/WarmingUp/HeatNetwork/package.mo | 0 .../modelica/WarmingUp/package.mo | 0 .../network_common.py | 0 .../physics_mixin.py | 4 ++-- .../pipe_class.py | 0 .../pycml/__init__.py | 0 .../pycml/component_library/__init__.py | 0 .../pycml/component_library/milp/__init__.py | 0 .../milp/_internal/__init__.py | 0 .../milp/_internal/electricity_component.py | 2 +- .../milp/_internal/gas_component.py | 2 +- .../milp/_internal/heat_component.py | 2 +- .../milp/electricity/__init__.py | 0 .../milp/electricity/electricity_base.py | 2 +- .../milp/electricity/electricity_cable.py | 2 +- .../milp/electricity/electricity_demand.py | 2 +- .../milp/electricity/electricity_node.py | 2 +- .../milp/electricity/electricity_source.py | 2 +- .../milp/electricity/heat_pump_elec.py | 4 ++-- .../milp/electricity/windpark.py | 2 +- .../component_library/milp/gas/__init__.py | 0 .../component_library/milp/gas/gas_base.py | 2 +- .../component_library/milp/gas/gas_demand.py | 2 +- .../component_library/milp/gas/gas_node.py | 2 +- .../component_library/milp/gas/gas_pipe.py | 2 +- .../component_library/milp/gas/gas_source.py | 2 +- .../milp/gas/gas_substation.py | 0 .../milp/gas/gas_tank_storage.py | 4 ++-- .../component_library/milp/heat/__init__.py | 0 .../milp/heat/_non_storage_component.py | 4 ++-- .../pycml/component_library/milp/heat/ates.py | 4 ++-- .../milp/heat/check_valve.py | 2 +- .../milp/heat/control_valve.py | 2 +- .../milp/heat/geothermal_source.py | 0 .../milp/heat/heat_buffer.py | 4 ++-- .../milp/heat/heat_demand.py | 2 +- .../milp/heat/heat_exchanger.py | 6 ++--- .../milp/heat/heat_four_port.py | 4 ++-- .../component_library/milp/heat/heat_pipe.py | 2 +- .../component_library/milp/heat/heat_port.py | 4 ++-- .../component_library/milp/heat/heat_pump.py | 6 ++--- .../milp/heat/heat_source.py | 2 +- .../milp/heat/heat_two_port.py | 2 +- .../pycml/component_library/milp/heat/node.py | 4 ++-- .../pycml/component_library/milp/heat/pump.py | 2 +- .../milp/multicommodity/__init__.py | 0 .../milp/multicommodity/electrolyzer.py | 10 ++++---- .../pycml/component_library/qth/__init__.py | 0 .../qth/_fluid_properties_component.py | 0 .../qth/_internal/__init__.py | 0 .../qth/_internal/qth_component.py | 5 ++++ .../qth/_non_storage_component.py | 2 +- .../pycml/component_library/qth/buffer.py | 2 +- .../component_library/qth/check_valve.py | 2 +- .../component_library/qth/control_valve.py | 2 +- .../pycml/component_library/qth/demand.py | 2 +- .../qth/geothermal_source.py | 0 .../pycml/component_library/qth/node.py | 2 +- .../pycml/component_library/qth/pipe.py | 2 +- .../pycml/component_library/qth/pump.py | 2 +- .../pycml/component_library/qth/qth_port.py | 2 +- .../component_library/qth/qth_two_port.py | 0 .../pycml/component_library/qth/source.py | 2 +- .../pycml/model_base.py | 0 .../pycml/pycml_mixin.py | 2 +- .../qth_not_maintained/__init__.py | 0 .../bounds_to_pipe_flow_directions_mixin.py | 4 ++-- .../qth_not_maintained/head_loss_mixin.py | 6 ++--- .../qth_not_maintained/qth_loop_mixin.py | 2 +- .../qth_not_maintained/qth_mixin.py | 10 ++++---- .../qth_not_maintained/util.py | 2 +- .../techno_economic_mixin.py | 2 +- .../topology.py | 0 .../workflows/__init__.py | 0 .../workflows/goals/__init__.py | 0 .../workflows/goals/minimize_tco_goal.py | 2 +- .../workflows/grow_workflow.py | 16 ++++++------- .../workflows/io/__init__.py | 0 .../io/read_files_and_create_influxdb.py | 0 .../workflows/io/write_output.py | 14 +++++------ .../workflows/simulator_workflow.py | 12 +++++----- .../workflows/utils/__init__.py | 0 .../workflows/utils/adapt_profiles.py | 0 .../workflows/utils/helpers.py | 2 +- .../qth/_internal/qth_component.py | 5 ---- tests/models/absolute_heat/src/example.py | 8 +++---- .../src/run_ates_temperature.py | 12 +++++----- tests/models/basic_buffer/src/compare.py | 8 +++---- tests/models/basic_buffer/src/model_heat.py | 4 ++-- tests/models/basic_buffer/src/model_qth.py | 4 ++-- .../src/heat_comparison.py | 8 +++---- .../basic_source_and_demand/src/model_heat.py | 4 ++-- .../basic_source_and_demand/src/model_qth.py | 4 ++-- .../src/qth_comparison.py | 10 ++++---- .../src/qth_minimize_temperatures.py | 8 +++---- .../double_pipe_heat/src/double_pipe_heat.py | 6 ++--- tests/models/double_pipe_heat/src/model.py | 4 ++-- .../src/cq2_inequality_vs_equality.py | 4 ++-- .../double_pipe_qth/src/double_pipe_qth.py | 6 ++--- .../src/single_pipe_no_headloss.py | 2 +- .../electricity_cable_topology/src/example.py | 10 ++++---- tests/models/emerge/src/example.py | 12 +++++----- tests/models/gas_pipe_topology/src/example.py | 8 +++---- .../heat_exchange/src/run_heat_exchanger.py | 10 ++++---- tests/models/heatpump/src/run_heat_pump.py | 8 +++---- tests/models/insulation/src/run_insulation.py | 10 ++++---- .../src/run_multiple_carriers.py | 8 +++---- .../src/run_multiple_gas_carriers.py | 8 +++---- .../pipe_test/src/run_hydraulic_power.py | 6 ++--- tests/models/simple_buffer/src/model.py | 4 ++-- .../models/simple_buffer/src/simple_buffer.py | 6 ++--- .../source_pipe_sink/src/double_pipe_heat.py | 12 +++++----- .../src/double_pipe_heat.py | 4 ++-- .../src/run_ates.py | 10 ++++---- .../src/run_annualized.py | 6 ++--- .../src/run_ates.py | 8 +++---- .../src/run_ates.py | 8 +++---- .../src/run_ates.py | 8 +++---- tests/models/unit_cases/case_1a/src/run_1a.py | 10 ++++---- .../unit_cases/case_1a_t_var/src/run_1a.py | 10 ++++---- .../case_2a/src/equal_temperatures.py | 8 +++---- tests/models/unit_cases/case_2a/src/run_2a.py | 10 ++++---- tests/models/unit_cases/case_3a/src/run_3a.py | 14 +++++------ .../unit_cases/case_3a_setpoint/src/run_3a.py | 6 ++--- .../bus_networks/src/example.py | 8 +++---- .../electrolyzer/src/example.py | 8 +++---- .../heat_pump_elec/src/run_hp_elec.py | 8 +++---- .../source_sink_cable/src/example.py | 10 ++++---- .../multi_demand_source_node/src/run_test.py | 8 +++---- .../src/run_source_sink.py | 8 +++---- .../source_sink/src/run_source_sink.py | 8 +++---- tests/qth_test_not_maintained/test_qth.py | 6 ++--- .../qth_test_not_maintained/test_qth_loop.py | 6 ++--- tests/test_absolute_heat.py | 4 ++-- tests/test_asset_is_realized.py | 4 ++-- tests/test_ates.py | 4 ++-- tests/test_cable_topology_optimization.py | 4 ++-- tests/test_electric_bus.py | 4 ++-- tests/test_electric_source_sink.py | 4 ++-- tests/test_electrolyzer.py | 4 ++-- tests/test_end_scenario_sizing.py | 10 ++++---- tests/test_end_scenario_sizing_annualized.py | 6 ++--- tests/test_esdl_parsing.py | 4 ++-- tests/test_esdl_pycml.py | 4 ++-- tests/test_gas_multi_demand_source_node.py | 4 ++-- tests/test_gas_pipe_topology_optimization.py | 6 ++--- tests/test_gas_source_sink.py | 6 ++--- tests/test_head_loss.py | 12 +++++----- tests/test_head_loss_class.py | 4 ++-- tests/test_heat.py | 6 ++--- tests/test_heat_loss_u_values.py | 2 +- tests/test_hydraulic_power.py | 6 ++--- tests/test_insulation.py | 4 ++-- tests/test_max_size_and_optional_assets.py | 4 ++-- tests/test_multicommodity.py | 4 ++-- tests/test_multiple_carriers.py | 4 ++-- ...est_multiple_in_and_out_port_components.py | 4 ++-- tests/test_network_simulator.py | 6 ++--- tests/test_pipe_diameter_sizing.py | 6 ++--- tests/test_producer_profiles.py | 4 ++-- tests/test_profile_parsing.py | 6 ++--- tests/test_pycml.py | 2 +- tests/test_setpoint_constraints.py | 4 ++-- tests/test_temperature_ates_hp.py | 4 ++-- tests/test_topo_constraints.py | 10 ++++---- tests/test_varying_temperature.py | 6 ++--- tests/test_warmingup_unit_cases.py | 4 ++-- 233 files changed, 437 insertions(+), 437 deletions(-) rename src/{rtctools_heat_network => mesido}/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/_darcy_weisbach.py (100%) rename src/{rtctools_heat_network => mesido}/_heat_loss_u_values_pipe.py (100%) rename src/{rtctools_heat_network => mesido}/_version.py (99%) rename src/{rtctools_heat_network => mesido}/asset_sizing_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/base_component_type_mixin.py (100%) rename src/{rtctools_heat_network => mesido}/component_type_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/constants.py (100%) rename src/{rtctools_heat_network => mesido}/control_variables.py (100%) rename src/{rtctools_heat_network => mesido}/demand_insulation_class.py (100%) rename src/{rtctools_heat_network => mesido}/electricity_physics_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/esdl/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/esdl/_edr_pipes.json (100%) rename src/{rtctools_heat_network => mesido}/esdl/_exceptions.py (100%) rename src/{rtctools_heat_network => mesido}/esdl/_update_edr_pipes_json.py (97%) rename src/{rtctools_heat_network => mesido}/esdl/asset_to_component_base.py (99%) rename src/{rtctools_heat_network => mesido}/esdl/common.py (100%) rename src/{rtctools_heat_network => mesido}/esdl/edr_pipe_class.py (95%) rename src/{rtctools_heat_network => mesido}/esdl/esdl_additional_vars_mixin.py (97%) rename src/{rtctools_heat_network => mesido}/esdl/esdl_heat_model.py (99%) rename src/{rtctools_heat_network => mesido}/esdl/esdl_mixin.py (97%) rename src/{rtctools_heat_network => mesido}/esdl/esdl_model_base.py (98%) rename src/{rtctools_heat_network => mesido}/esdl/esdl_parser.py (100%) rename src/{rtctools_heat_network => mesido}/esdl/esdl_qth_model.py (98%) rename src/{rtctools_heat_network => mesido}/esdl/profile_parser.py (99%) rename src/{rtctools_heat_network => mesido}/financial_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/gas_physics_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/head_loss_class.py (99%) rename src/{rtctools_heat_network => mesido}/heat_network_common.py (100%) rename src/{rtctools_heat_network => mesido}/heat_physics_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/influxdb/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/influxdb/profile.py (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/Buffer.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/CheckValve.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/ControlValve.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/Demand.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/GeothermalSource.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/HeatPort.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/HeatTwoPort.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/Node.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/Pipe.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/Pump.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/Source.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/_NonStorageComponent.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/package.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/Buffer.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/CheckValve.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/ControlValve.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/Demand.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/GeothermalSource.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/Node.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/Pipe.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/Pump.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/QTHPort.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/QTHTwoPort.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/Source.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/_FluidPropertiesComponent.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/_NonStorageComponent.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/package.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/package.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/package.mo (100%) rename src/{rtctools_heat_network => mesido}/network_common.py (100%) rename src/{rtctools_heat_network => mesido}/physics_mixin.py (98%) rename src/{rtctools_heat_network => mesido}/pipe_class.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/_internal/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/_internal/electricity_component.py (55%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/_internal/gas_component.py (52%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/_internal/heat_component.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/electricity_base.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/electricity_cable.py (97%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/electricity_demand.py (95%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/electricity_node.py (96%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/electricity_source.py (95%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/heat_pump_elec.py (83%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/windpark.py (84%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_base.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_demand.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_node.py (95%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_pipe.py (97%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_source.py (93%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_substation.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_tank_storage.py (91%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/_non_storage_component.py (92%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/ates.py (97%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/check_valve.py (93%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/control_valve.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/geothermal_source.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_buffer.py (96%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_demand.py (97%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_exchanger.py (93%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_four_port.py (85%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_pipe.py (98%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_port.py (78%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_pump.py (93%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_source.py (98%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_two_port.py (85%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/node.py (88%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/pump.py (95%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/multicommodity/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/multicommodity/electrolyzer.py (78%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/_fluid_properties_component.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/_internal/__init__.py (100%) create mode 100644 src/mesido/pycml/component_library/qth/_internal/qth_component.py rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/_non_storage_component.py (91%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/buffer.py (98%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/check_valve.py (91%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/control_valve.py (89%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/demand.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/geothermal_source.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/node.py (93%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/pipe.py (97%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/pump.py (91%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/qth_port.py (88%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/qth_two_port.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/source.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/model_base.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/pycml_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/qth_not_maintained/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py (94%) rename src/{rtctools_heat_network => mesido}/qth_not_maintained/head_loss_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/qth_not_maintained/qth_loop_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/qth_not_maintained/qth_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/qth_not_maintained/util.py (98%) rename src/{rtctools_heat_network => mesido}/techno_economic_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/topology.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/goals/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/goals/minimize_tco_goal.py (98%) rename src/{rtctools_heat_network => mesido}/workflows/grow_workflow.py (97%) rename src/{rtctools_heat_network => mesido}/workflows/io/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/io/read_files_and_create_influxdb.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/io/write_output.py (99%) rename src/{rtctools_heat_network => mesido}/workflows/simulator_workflow.py (97%) rename src/{rtctools_heat_network => mesido}/workflows/utils/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/utils/adapt_profiles.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/utils/helpers.py (98%) delete mode 100644 src/rtctools_heat_network/pycml/component_library/qth/_internal/qth_component.py diff --git a/.gitattributes b/.gitattributes index f312dfe23..e2ce33cdd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1 @@ -src/rtctools_heat_network/_version.py export-subst +src/mesido/_version.py export-subst diff --git a/README.md b/README.md index 5346d5d34..0bea9ca74 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# rtc-tools-heat-network +# Mesido -Rtc-tools-heat-network is an optimization application for optimal planning, design and +mesido is an optimization application for optimal planning, design and operation of Energy Systems with the current main focus on District Heating Systems (DHS). The current application focuses on a Mixed Integer Linear Problem (MILP) approach, with multiple linearization strategies to conservatively approximate the steady-state physics and financial models. All physics are combined in the HeatMixin class. When inherited this class can be combined with objective functions (that typically incorporate the financial aspects) and interface methods to create an optimization workflow (see also running an example). @@ -21,13 +21,13 @@ Installation Installation of the RTC-Tools Heat Network library is as simple as:: # 1a. Use pip to install directly - pip install rtc-tools-heat-network + pip install mesido If you are going to develop and change the source code, you probably want to do something like:: # 1b. Use git clone and pip to make an editable/developer installation - git clone https://ci.tno.nl/gitlab/warmingup/rtc-tools-heat-network - pip install -e rtc-tools-heat-network + git clone https://github.com/Multi-Energy-Systems-Optimization/mesido + pip install -e mesido RTC-Tools Heat Network depends on `RTC-Tools `_, which is automatically installed as one of its dependencies. @@ -38,10 +38,10 @@ To make sure that everything is set-up correctly, you can run one of the example These do not come with the installation, and need to be downloaded separately:: # 1. Clone the repository - git clone https://github.com/Nieuwe-Warmte-Nu/rtc-tools-heat-network.git + git clone https://github.com/Multi-Energy-Systems-Optimization/mesido.git # 2. Change directory to the example folder - cd rtc-tools-heat-network/examples/pipe_diameter_sizing/src + cd mesido/examples/pipe_diameter_sizing/src # 3. Run the example python example.py @@ -52,7 +52,7 @@ If all is well, you should see something like the following output: ![img.png](img.png) In this example.py file you can see a small workflow being set-up. The PipeDiameterSizingProblem class -inherits from (Note only the *classes are defined in rtc-tools-heat-network the others come from rtc-tools package): +inherits from (Note only the *classes are defined in mesido the others come from rtc-tools package): - CollocatedIntegratedOptimizationProblem: This class does all the discretization of the state variables in your problem. - *ESDLMixin: This class does the parsing and setting up of a model based on an ESDL file. - GoalProgrammingMixin: This class allows you to add Goals (objective functions) with different priorities. @@ -74,12 +74,12 @@ Contribute You can contribute to this code through Pull Request on GitHub. Please, make sure that your code is coming with unit tests to ensure full coverage and continuous integration in the API. -GitHub: https://github.com/Nieuwe-Warmte-Nu/rtc-tools-heat-network +GitHub: https://github.com/Multi-Energy-Systems-Optimization/mesido ## Release -This package is released on pypi [here](https://pypi.org/project/rtc-tools-heat-network/) whenever a new tag is pushed. +This package is released on pypi [here](https://pypi.org/project/mesido/) whenever a new tag is pushed. In order to release this package: 1. Make sure that all relevant merge requests and commits have been merged to the master and/or poc-release branch. @@ -87,6 +87,6 @@ In order to release this package: 3. Run `git pull origin master` or `git pull origin poc-release` to pull all latest changes. 4. Run `git tag ` where `` is the new version number. 5. Run `git push origin ` to push the tag to Github. -6. Check [Github](https://github.com/Nieuwe-Warmte-Nu/rtc-tools-heat-network/actions) to confirm the release is +6. Check [Github](https://github.com/Multi-Energy-Systems-Optimization/mesido/actions) to confirm the release is processed without errors. -7. Once the release has finished, confirm the new version is available on [pypi](https://pypi.org/project/rtc-tools-heat-network/). +7. Once the release has finished, confirm the new version is available on [pypi](https://pypi.org/project/mesido/). diff --git a/docs/conf.py b/docs/conf.py index 546075d92..ab4edb7b3 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -13,7 +13,7 @@ import os import sys -from rtctools_heat_network._version import get_versions +from mesido._version import get_versions import sphinx_rtd_theme diff --git a/examples/municipality/src/run_municipality.py b/examples/municipality/src/run_municipality.py index 7d41f39b9..09add0e7d 100644 --- a/examples/municipality/src/run_municipality.py +++ b/examples/municipality/src/run_municipality.py @@ -1,7 +1,7 @@ from pathlib import Path -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.workflows import EndScenarioSizingStagedHIGHS, run_end_scenario_sizing +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.workflows import EndScenarioSizingStagedHIGHS, run_end_scenario_sizing if __name__ == "__main__": diff --git a/examples/pipe_diameter_sizing/src/example.py b/examples/pipe_diameter_sizing/src/example.py index 7e7ca070d..797c020c7 100644 --- a/examples/pipe_diameter_sizing/src/example.py +++ b/examples/pipe_diameter_sizing/src/example.py @@ -15,11 +15,11 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.pipe_class import PipeClass -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.pipe_class import PipeClass +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/setup.cfg b/setup.cfg index d3fb191dd..cbf1f11d5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -8,10 +8,10 @@ license_file = COPYING.LESSER [versioneer] VCS = git style = pep440 -versionfile_source = src/rtctools_heat_network/_version.py -versionfile_build = rtctools_heat_network/_version.py +versionfile_source = src/mesido/_version.py +versionfile_build = mesido/_version.py tag_prefix = -parentdir_prefix = rtctools_heat_network- +parentdir_prefix = mesido- [flake8] diff --git a/setup.py b/setup.py index 3c6aa32d2..914a11e96 100644 --- a/setup.py +++ b/setup.py @@ -37,26 +37,26 @@ sys.exit(f"Sorry, Python 3.8 to 3.10 is required. You are using {sys.version_info}") setup( - name="rtc-tools-milp-network", + name="mesido", version=versioneer.get_version(), description=DOCLINES[0], long_description=long_description, long_description_content_type="text/markdown", classifiers=[_f for _f in CLASSIFIERS.split("\n") if _f], - url="https://github.com/Nieuwe-Warmte-Nu/rtc-tools-heat-network", + url="https://github.com/Multi-Energy-Systems-Optimization/mesido/", author="Jim Rojer", author_email="jim.rojer@tno.nl", maintainer="Jim Rojer, Kobus van Rooyen, Kelbij Star, " "Femke Janssen, Jesús Andrés Rodríguez Sarasty, " "Thijs van der Klauw", license="LGPLv3", - keywords="milp network optimization rtc tools", + keywords="Multi-Energy-Systems", platforms=["Windows", "Linux", "Mac OS-X", "Unix"], packages=find_packages("src"), package_dir={"": "src"}, install_requires=[ "influxdb >= 5.3.1", - "pyecore", + "pyecore == 0.12.1", "pymoca >= 0.9.0", "rtc-tools == 2.6.0a3", "pyesdl >= 23.12, < 24.0", @@ -71,6 +71,6 @@ python_requires=">=3.8,<3.11", cmdclass=versioneer.get_cmdclass(), entry_points={ - "rtctools.libraries.modelica": ["library_folder = rtctools_heat_network:modelica"] + "rtctools.libraries.modelica": ["library_folder = mesido:modelica"] }, ) diff --git a/src/rtctools_heat_network/__init__.py b/src/mesido/__init__.py similarity index 100% rename from src/rtctools_heat_network/__init__.py rename to src/mesido/__init__.py diff --git a/src/rtctools_heat_network/_darcy_weisbach.py b/src/mesido/_darcy_weisbach.py similarity index 100% rename from src/rtctools_heat_network/_darcy_weisbach.py rename to src/mesido/_darcy_weisbach.py diff --git a/src/rtctools_heat_network/_heat_loss_u_values_pipe.py b/src/mesido/_heat_loss_u_values_pipe.py similarity index 100% rename from src/rtctools_heat_network/_heat_loss_u_values_pipe.py rename to src/mesido/_heat_loss_u_values_pipe.py diff --git a/src/rtctools_heat_network/_version.py b/src/mesido/_version.py similarity index 99% rename from src/rtctools_heat_network/_version.py rename to src/mesido/_version.py index 57704679a..9c52cbbbc 100644 --- a/src/rtctools_heat_network/_version.py +++ b/src/mesido/_version.py @@ -43,8 +43,8 @@ def get_config(): cfg.VCS = "git" cfg.style = "pep440" cfg.tag_prefix = "" - cfg.parentdir_prefix = "rtctools_heat_network-" - cfg.versionfile_source = "src/rtctools_heat_network/_version.py" + cfg.parentdir_prefix = "mesido-" + cfg.versionfile_source = "src/mesido/_version.py" cfg.verbose = False return cfg diff --git a/src/rtctools_heat_network/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py similarity index 99% rename from src/rtctools_heat_network/asset_sizing_mixin.py rename to src/mesido/asset_sizing_mixin.py index 5c716dcc4..bc68405c7 100644 --- a/src/rtctools_heat_network/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -10,7 +10,7 @@ ) from rtctools.optimization.timeseries import Timeseries -from rtctools_heat_network._heat_loss_u_values_pipe import pipe_heat_loss +from mesido._heat_loss_u_values_pipe import pipe_heat_loss from .base_component_type_mixin import BaseComponentTypeMixin @@ -18,7 +18,7 @@ from .head_loss_class import HeadLossOption from .pipe_class import CableClass, GasPipeClass, PipeClass -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class AssetSizingMixin(BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem): diff --git a/src/rtctools_heat_network/base_component_type_mixin.py b/src/mesido/base_component_type_mixin.py similarity index 100% rename from src/rtctools_heat_network/base_component_type_mixin.py rename to src/mesido/base_component_type_mixin.py diff --git a/src/rtctools_heat_network/component_type_mixin.py b/src/mesido/component_type_mixin.py similarity index 99% rename from src/rtctools_heat_network/component_type_mixin.py rename to src/mesido/component_type_mixin.py index b7d2aee80..4fe700b6d 100644 --- a/src/rtctools_heat_network/component_type_mixin.py +++ b/src/mesido/component_type_mixin.py @@ -7,7 +7,7 @@ from .heat_network_common import NodeConnectionDirection from .topology import Topology -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class ModelicaComponentTypeMixin(BaseComponentTypeMixin): diff --git a/src/rtctools_heat_network/constants.py b/src/mesido/constants.py similarity index 100% rename from src/rtctools_heat_network/constants.py rename to src/mesido/constants.py diff --git a/src/rtctools_heat_network/control_variables.py b/src/mesido/control_variables.py similarity index 100% rename from src/rtctools_heat_network/control_variables.py rename to src/mesido/control_variables.py diff --git a/src/rtctools_heat_network/demand_insulation_class.py b/src/mesido/demand_insulation_class.py similarity index 100% rename from src/rtctools_heat_network/demand_insulation_class.py rename to src/mesido/demand_insulation_class.py diff --git a/src/rtctools_heat_network/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py similarity index 99% rename from src/rtctools_heat_network/electricity_physics_mixin.py rename to src/mesido/electricity_physics_mixin.py index bb32081c3..a4b265e55 100644 --- a/src/rtctools_heat_network/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -15,7 +15,7 @@ from .base_component_type_mixin import BaseComponentTypeMixin -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class ElectricityPhysicsMixin(BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem): diff --git a/src/rtctools_heat_network/esdl/__init__.py b/src/mesido/esdl/__init__.py similarity index 100% rename from src/rtctools_heat_network/esdl/__init__.py rename to src/mesido/esdl/__init__.py diff --git a/src/rtctools_heat_network/esdl/_edr_pipes.json b/src/mesido/esdl/_edr_pipes.json similarity index 100% rename from src/rtctools_heat_network/esdl/_edr_pipes.json rename to src/mesido/esdl/_edr_pipes.json diff --git a/src/rtctools_heat_network/esdl/_exceptions.py b/src/mesido/esdl/_exceptions.py similarity index 100% rename from src/rtctools_heat_network/esdl/_exceptions.py rename to src/mesido/esdl/_exceptions.py diff --git a/src/rtctools_heat_network/esdl/_update_edr_pipes_json.py b/src/mesido/esdl/_update_edr_pipes_json.py similarity index 97% rename from src/rtctools_heat_network/esdl/_update_edr_pipes_json.py rename to src/mesido/esdl/_update_edr_pipes_json.py index eecdf382c..f6ce54530 100644 --- a/src/rtctools_heat_network/esdl/_update_edr_pipes_json.py +++ b/src/mesido/esdl/_update_edr_pipes_json.py @@ -4,7 +4,7 @@ import requests -from rtctools_heat_network._heat_loss_u_values_pipe import heat_loss_u_values_pipe +from mesido._heat_loss_u_values_pipe import heat_loss_u_values_pipe def main(): diff --git a/src/rtctools_heat_network/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py similarity index 99% rename from src/rtctools_heat_network/esdl/asset_to_component_base.py rename to src/mesido/esdl/asset_to_component_base.py index 9b0377177..df6abcd17 100644 --- a/src/rtctools_heat_network/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -8,12 +8,12 @@ import esdl from esdl import TimeUnitEnum, UnitEnum -from rtctools_heat_network.pycml import Model as _Model +from mesido.pycml import Model as _Model from ._exceptions import _RetryLaterException from .common import Asset -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") MODIFIERS = Dict[str, Union[str, int, float]] diff --git a/src/rtctools_heat_network/esdl/common.py b/src/mesido/esdl/common.py similarity index 100% rename from src/rtctools_heat_network/esdl/common.py rename to src/mesido/esdl/common.py diff --git a/src/rtctools_heat_network/esdl/edr_pipe_class.py b/src/mesido/esdl/edr_pipe_class.py similarity index 95% rename from src/rtctools_heat_network/esdl/edr_pipe_class.py rename to src/mesido/esdl/edr_pipe_class.py index 1893207d4..54aa7620f 100644 --- a/src/rtctools_heat_network/esdl/edr_pipe_class.py +++ b/src/mesido/esdl/edr_pipe_class.py @@ -1,7 +1,7 @@ from dataclasses import dataclass -from rtctools_heat_network.esdl.asset_to_component_base import _AssetToComponentBase -from rtctools_heat_network.pipe_class import GasPipeClass, PipeClass +from mesido.esdl.asset_to_component_base import _AssetToComponentBase +from mesido.pipe_class import GasPipeClass, PipeClass @dataclass(frozen=True) diff --git a/src/rtctools_heat_network/esdl/esdl_additional_vars_mixin.py b/src/mesido/esdl/esdl_additional_vars_mixin.py similarity index 97% rename from src/rtctools_heat_network/esdl/esdl_additional_vars_mixin.py rename to src/mesido/esdl/esdl_additional_vars_mixin.py index 11d4fbdae..4a7cacb5b 100644 --- a/src/rtctools_heat_network/esdl/esdl_additional_vars_mixin.py +++ b/src/mesido/esdl/esdl_additional_vars_mixin.py @@ -8,9 +8,9 @@ CollocatedIntegratedOptimizationProblem, ) -from rtctools_heat_network.network_common import NetworkSettings +from mesido.network_common import NetworkSettings -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class ESDLAdditionalVarsMixin(CollocatedIntegratedOptimizationProblem): diff --git a/src/rtctools_heat_network/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py similarity index 99% rename from src/rtctools_heat_network/esdl/esdl_heat_model.py rename to src/mesido/esdl/esdl_heat_model.py index c4fc45777..520b7332e 100644 --- a/src/rtctools_heat_network/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -6,7 +6,7 @@ import esdl -from rtctools_heat_network.pycml.component_library.milp import ( +from mesido.pycml.component_library.milp import ( ATES, CheckValve, ControlValve, @@ -41,7 +41,7 @@ from .esdl_model_base import _ESDLModelBase from ..network_common import NetworkSettings -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class _ESDLInputException(Exception): diff --git a/src/rtctools_heat_network/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py similarity index 97% rename from src/rtctools_heat_network/esdl/esdl_mixin.py rename to src/mesido/esdl/esdl_mixin.py index 4b9e3796a..84887e017 100644 --- a/src/rtctools_heat_network/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -17,17 +17,17 @@ ) from rtctools.optimization.io_mixin import IOMixin -from rtctools_heat_network.component_type_mixin import ( +from mesido.component_type_mixin import ( ModelicaComponentTypeMixin, ) -from rtctools_heat_network.esdl.asset_to_component_base import _AssetToComponentBase -from rtctools_heat_network.esdl.edr_pipe_class import EDRGasPipeClass, EDRPipeClass -from rtctools_heat_network.esdl.esdl_parser import ESDLStringParser -from rtctools_heat_network.esdl.profile_parser import BaseProfileReader, InfluxDBProfileReader -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.pipe_class import GasPipeClass, PipeClass -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin +from mesido.esdl.asset_to_component_base import _AssetToComponentBase +from mesido.esdl.edr_pipe_class import EDRGasPipeClass, EDRPipeClass +from mesido.esdl.esdl_parser import ESDLStringParser +from mesido.esdl.profile_parser import BaseProfileReader, InfluxDBProfileReader +from mesido.physics_mixin import PhysicsMixin +from mesido.pipe_class import GasPipeClass, PipeClass +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin from .common import Asset from .esdl_heat_model import ESDLHeatModel @@ -35,7 +35,7 @@ from .esdl_qth_model import ESDLQTHModel -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") ns = {"fews": "http://www.wldelft.nl/fews", "pi": "http://www.wldelft.nl/fews/PI"} diff --git a/src/rtctools_heat_network/esdl/esdl_model_base.py b/src/mesido/esdl/esdl_model_base.py similarity index 98% rename from src/rtctools_heat_network/esdl/esdl_model_base.py rename to src/mesido/esdl/esdl_model_base.py index 1bd2abacd..51302d321 100644 --- a/src/rtctools_heat_network/esdl/esdl_model_base.py +++ b/src/mesido/esdl/esdl_model_base.py @@ -4,12 +4,12 @@ import esdl from esdl import InPort -from rtctools_heat_network.esdl.asset_to_component_base import _AssetToComponentBase -from rtctools_heat_network.pycml import Model as _Model +from mesido.esdl.asset_to_component_base import _AssetToComponentBase +from mesido.pycml import Model as _Model from ._exceptions import _RetryLaterException, _SkipAssetException -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") RETRY_LOOP_LIMIT = 100 diff --git a/src/rtctools_heat_network/esdl/esdl_parser.py b/src/mesido/esdl/esdl_parser.py similarity index 100% rename from src/rtctools_heat_network/esdl/esdl_parser.py rename to src/mesido/esdl/esdl_parser.py diff --git a/src/rtctools_heat_network/esdl/esdl_qth_model.py b/src/mesido/esdl/esdl_qth_model.py similarity index 98% rename from src/rtctools_heat_network/esdl/esdl_qth_model.py rename to src/mesido/esdl/esdl_qth_model.py index 651d05d80..3453eabce 100644 --- a/src/rtctools_heat_network/esdl/esdl_qth_model.py +++ b/src/mesido/esdl/esdl_qth_model.py @@ -4,8 +4,8 @@ import esdl -from rtctools_heat_network.pycml import SymbolicParameter -from rtctools_heat_network.pycml.component_library.qth import ( +from mesido.pycml import SymbolicParameter +from mesido.pycml.component_library.qth import ( Buffer, CheckValve, ControlValve, @@ -21,7 +21,7 @@ from .common import Asset from .esdl_model_base import _ESDLModelBase -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class AssetToQTHComponent(_AssetToComponentBase): diff --git a/src/rtctools_heat_network/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py similarity index 99% rename from src/rtctools_heat_network/esdl/profile_parser.py rename to src/mesido/esdl/profile_parser.py index 712fa6906..644662bf8 100644 --- a/src/rtctools_heat_network/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -16,7 +16,7 @@ import rtctools.data.pi from rtctools.data.storage import DataStore -from rtctools_heat_network.esdl.common import Asset +from mesido.esdl.common import Asset logger = logging.getLogger() diff --git a/src/rtctools_heat_network/financial_mixin.py b/src/mesido/financial_mixin.py similarity index 99% rename from src/rtctools_heat_network/financial_mixin.py rename to src/mesido/financial_mixin.py index e016f0cbb..d5a204b5a 100644 --- a/src/rtctools_heat_network/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -12,7 +12,7 @@ from .base_component_type_mixin import BaseComponentTypeMixin -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class FinancialMixin(BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem): diff --git a/src/rtctools_heat_network/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py similarity index 99% rename from src/rtctools_heat_network/gas_physics_mixin.py rename to src/mesido/gas_physics_mixin.py index 008f87ec8..e623f35f7 100644 --- a/src/rtctools_heat_network/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -13,7 +13,7 @@ from .head_loss_class import HeadLossClass, HeadLossOption from .network_common import NetworkSettings -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class GasPhysicsMixin(BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem): diff --git a/src/rtctools_heat_network/head_loss_class.py b/src/mesido/head_loss_class.py similarity index 99% rename from src/rtctools_heat_network/head_loss_class.py rename to src/mesido/head_loss_class.py index e8e502692..991f21684 100644 --- a/src/rtctools_heat_network/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -10,14 +10,14 @@ from rtctools.optimization.goal_programming_mixin_base import Goal from rtctools.optimization.optimization_problem import BT -import rtctools_heat_network._darcy_weisbach as darcy_weisbach +import mesido._darcy_weisbach as darcy_weisbach from .constants import GRAVITATIONAL_CONSTANT from .network_common import NetworkSettings from .pipe_class import PipeClass -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class HeadLossOption(IntEnum): diff --git a/src/rtctools_heat_network/heat_network_common.py b/src/mesido/heat_network_common.py similarity index 100% rename from src/rtctools_heat_network/heat_network_common.py rename to src/mesido/heat_network_common.py diff --git a/src/rtctools_heat_network/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py similarity index 99% rename from src/rtctools_heat_network/heat_physics_mixin.py rename to src/mesido/heat_physics_mixin.py index 0825df5d1..6e0567bbd 100644 --- a/src/rtctools_heat_network/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -11,7 +11,7 @@ ) from rtctools.optimization.timeseries import Timeseries -from rtctools_heat_network._heat_loss_u_values_pipe import pipe_heat_loss +from mesido._heat_loss_u_values_pipe import pipe_heat_loss from .base_component_type_mixin import BaseComponentTypeMixin @@ -20,7 +20,7 @@ from .head_loss_class import HeadLossClass, HeadLossOption from .network_common import NetworkSettings -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class HeatPhysicsMixin(BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem): diff --git a/src/rtctools_heat_network/influxdb/__init__.py b/src/mesido/influxdb/__init__.py similarity index 100% rename from src/rtctools_heat_network/influxdb/__init__.py rename to src/mesido/influxdb/__init__.py diff --git a/src/rtctools_heat_network/influxdb/profile.py b/src/mesido/influxdb/profile.py similarity index 100% rename from src/rtctools_heat_network/influxdb/profile.py rename to src/mesido/influxdb/profile.py diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Buffer.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Buffer.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Buffer.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Buffer.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/CheckValve.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/CheckValve.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/CheckValve.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/CheckValve.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/ControlValve.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/ControlValve.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/ControlValve.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/ControlValve.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Demand.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Demand.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Demand.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Demand.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/GeothermalSource.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/GeothermalSource.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/GeothermalSource.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/GeothermalSource.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/HeatPort.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/HeatPort.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/HeatPort.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/HeatPort.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/HeatTwoPort.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/HeatTwoPort.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/HeatTwoPort.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/HeatTwoPort.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Node.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Node.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Node.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Node.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Pipe.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Pipe.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Pipe.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Pipe.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Pump.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Pump.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Pump.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Pump.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Source.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Source.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Source.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Source.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/_NonStorageComponent.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/_NonStorageComponent.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/_NonStorageComponent.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/_NonStorageComponent.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/package.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/package.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/package.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/package.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Buffer.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Buffer.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Buffer.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Buffer.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/CheckValve.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/CheckValve.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/CheckValve.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/CheckValve.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/ControlValve.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/ControlValve.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/ControlValve.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/ControlValve.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Demand.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Demand.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Demand.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Demand.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/GeothermalSource.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/GeothermalSource.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/GeothermalSource.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/GeothermalSource.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Node.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Node.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Node.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Node.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Pipe.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Pipe.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Pipe.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Pipe.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Pump.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Pump.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Pump.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Pump.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/QTHPort.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/QTHPort.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/QTHPort.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/QTHPort.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/QTHTwoPort.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/QTHTwoPort.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/QTHTwoPort.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/QTHTwoPort.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Source.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Source.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Source.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Source.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/_FluidPropertiesComponent.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/_FluidPropertiesComponent.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/_FluidPropertiesComponent.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/_FluidPropertiesComponent.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/_NonStorageComponent.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/_NonStorageComponent.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/_NonStorageComponent.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/_NonStorageComponent.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/package.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/package.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/package.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/package.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/package.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/package.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/package.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/package.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/package.mo b/src/mesido/modelica/WarmingUp/package.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/package.mo rename to src/mesido/modelica/WarmingUp/package.mo diff --git a/src/rtctools_heat_network/network_common.py b/src/mesido/network_common.py similarity index 100% rename from src/rtctools_heat_network/network_common.py rename to src/mesido/network_common.py diff --git a/src/rtctools_heat_network/physics_mixin.py b/src/mesido/physics_mixin.py similarity index 98% rename from src/rtctools_heat_network/physics_mixin.py rename to src/mesido/physics_mixin.py index ba84881c3..93d435347 100644 --- a/src/rtctools_heat_network/physics_mixin.py +++ b/src/mesido/physics_mixin.py @@ -8,7 +8,7 @@ CollocatedIntegratedOptimizationProblem, ) -from rtctools_heat_network.control_variables import map_comp_type_to_control_variable +from mesido.control_variables import map_comp_type_to_control_variable from .base_component_type_mixin import BaseComponentTypeMixin @@ -16,7 +16,7 @@ from .gas_physics_mixin import GasPhysicsMixin from .heat_physics_mixin import HeatPhysicsMixin -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class PhysicsMixin( diff --git a/src/rtctools_heat_network/pipe_class.py b/src/mesido/pipe_class.py similarity index 100% rename from src/rtctools_heat_network/pipe_class.py rename to src/mesido/pipe_class.py diff --git a/src/rtctools_heat_network/pycml/__init__.py b/src/mesido/pycml/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/__init__.py rename to src/mesido/pycml/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/__init__.py b/src/mesido/pycml/component_library/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/__init__.py rename to src/mesido/pycml/component_library/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/__init__.py b/src/mesido/pycml/component_library/milp/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/__init__.py rename to src/mesido/pycml/component_library/milp/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/_internal/__init__.py b/src/mesido/pycml/component_library/milp/_internal/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/_internal/__init__.py rename to src/mesido/pycml/component_library/milp/_internal/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/_internal/electricity_component.py b/src/mesido/pycml/component_library/milp/_internal/electricity_component.py similarity index 55% rename from src/rtctools_heat_network/pycml/component_library/milp/_internal/electricity_component.py rename to src/mesido/pycml/component_library/milp/_internal/electricity_component.py index 48a81ea0b..200cdd1f1 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/_internal/electricity_component.py +++ b/src/mesido/pycml/component_library/milp/_internal/electricity_component.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset class ElectricityComponent(BaseAsset): diff --git a/src/rtctools_heat_network/pycml/component_library/milp/_internal/gas_component.py b/src/mesido/pycml/component_library/milp/_internal/gas_component.py similarity index 52% rename from src/rtctools_heat_network/pycml/component_library/milp/_internal/gas_component.py rename to src/mesido/pycml/component_library/milp/_internal/gas_component.py index e137c4cf4..dfab713ef 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/_internal/gas_component.py +++ b/src/mesido/pycml/component_library/milp/_internal/gas_component.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset class GasComponent(BaseAsset): diff --git a/src/rtctools_heat_network/pycml/component_library/milp/_internal/heat_component.py b/src/mesido/pycml/component_library/milp/_internal/heat_component.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/milp/_internal/heat_component.py rename to src/mesido/pycml/component_library/milp/_internal/heat_component.py index f93d4ca62..058c4d602 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/_internal/heat_component.py +++ b/src/mesido/pycml/component_library/milp/_internal/heat_component.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Component +from mesido.pycml import Component class HeatComponent(Component): diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/__init__.py b/src/mesido/pycml/component_library/milp/electricity/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/__init__.py rename to src/mesido/pycml/component_library/milp/electricity/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_base.py b/src/mesido/pycml/component_library/milp/electricity/electricity_base.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_base.py rename to src/mesido/pycml/component_library/milp/electricity/electricity_base.py index 2072ca02a..993f15328 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_base.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_base.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Connector, Variable +from mesido.pycml import Connector, Variable from .._internal.electricity_component import ElectricityComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_cable.py b/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py similarity index 97% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_cable.py rename to src/mesido/pycml/component_library/milp/electricity/electricity_cable.py index 014d4008e..8d6a3b14f 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_cable.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .electricity_base import ElectricityTwoPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_demand.py b/src/mesido/pycml/component_library/milp/electricity/electricity_demand.py similarity index 95% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_demand.py rename to src/mesido/pycml/component_library/milp/electricity/electricity_demand.py index 43b7ec2b3..cb3ff691c 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_demand.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_demand.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .electricity_base import ElectricityPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_node.py b/src/mesido/pycml/component_library/milp/electricity/electricity_node.py similarity index 96% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_node.py rename to src/mesido/pycml/component_library/milp/electricity/electricity_node.py index e8b6deab1..97d863409 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_node.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_node.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .electricity_base import ElectricityPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_source.py b/src/mesido/pycml/component_library/milp/electricity/electricity_source.py similarity index 95% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_source.py rename to src/mesido/pycml/component_library/milp/electricity/electricity_source.py index 4c2792fef..00a206860 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_source.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_source.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .electricity_base import ElectricityPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/heat_pump_elec.py b/src/mesido/pycml/component_library/milp/electricity/heat_pump_elec.py similarity index 83% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/heat_pump_elec.py rename to src/mesido/pycml/component_library/milp/electricity/heat_pump_elec.py index dfc1faa0f..844991655 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/heat_pump_elec.py +++ b/src/mesido/pycml/component_library/milp/electricity/heat_pump_elec.py @@ -1,7 +1,7 @@ -from rtctools_heat_network.pycml.component_library.milp.electricity.electricity_base import ( +from mesido.pycml.component_library.milp.electricity.electricity_base import ( ElectricityPort, ) -from rtctools_heat_network.pycml.component_library.milp.heat.heat_pump import HeatPump +from mesido.pycml.component_library.milp.heat.heat_pump import HeatPump # TODO: for now in the electricity folder, but maybe we can make a multicommodity folder, diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/windpark.py b/src/mesido/pycml/component_library/milp/electricity/windpark.py similarity index 84% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/windpark.py rename to src/mesido/pycml/component_library/milp/electricity/windpark.py index 27cd259fb..391121651 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/windpark.py +++ b/src/mesido/pycml/component_library/milp/electricity/windpark.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .. import ElectricitySource diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/__init__.py b/src/mesido/pycml/component_library/milp/gas/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/__init__.py rename to src/mesido/pycml/component_library/milp/gas/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_base.py b/src/mesido/pycml/component_library/milp/gas/gas_base.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_base.py rename to src/mesido/pycml/component_library/milp/gas/gas_base.py index afa19b088..3f7f1ead3 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_base.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_base.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Connector, Variable +from mesido.pycml import Connector, Variable from .._internal.gas_component import GasComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_demand.py b/src/mesido/pycml/component_library/milp/gas/gas_demand.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_demand.py rename to src/mesido/pycml/component_library/milp/gas/gas_demand.py index 24f7f2043..450782dfd 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_demand.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_demand.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .gas_base import GasPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_node.py b/src/mesido/pycml/component_library/milp/gas/gas_node.py similarity index 95% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_node.py rename to src/mesido/pycml/component_library/milp/gas/gas_node.py index 0b2817cca..b68246301 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_node.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_node.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .gas_base import GasPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_pipe.py b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py similarity index 97% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_pipe.py rename to src/mesido/pycml/component_library/milp/gas/gas_pipe.py index 68b8a489e..2cf11b6fa 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_pipe.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py @@ -1,6 +1,6 @@ from numpy import nan, pi -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .gas_base import GasTwoPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_source.py b/src/mesido/pycml/component_library/milp/gas/gas_source.py similarity index 93% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_source.py rename to src/mesido/pycml/component_library/milp/gas/gas_source.py index 313003b0b..9f3bc109f 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_source.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_source.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .gas_base import GasPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_substation.py b/src/mesido/pycml/component_library/milp/gas/gas_substation.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_substation.py rename to src/mesido/pycml/component_library/milp/gas/gas_substation.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_tank_storage.py b/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py similarity index 91% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_tank_storage.py rename to src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py index 007742556..376d0f721 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_tank_storage.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py @@ -1,7 +1,7 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal import BaseAsset +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal import BaseAsset from .gas_base import GasPort from .._internal.gas_component import GasComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/__init__.py b/src/mesido/pycml/component_library/milp/heat/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/__init__.py rename to src/mesido/pycml/component_library/milp/heat/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/_non_storage_component.py b/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py similarity index 92% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/_non_storage_component.py rename to src/mesido/pycml/component_library/milp/heat/_non_storage_component.py index 67f87d5fc..f613c253e 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/_non_storage_component.py +++ b/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py @@ -1,7 +1,7 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset from .heat_two_port import HeatTwoPort diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/ates.py b/src/mesido/pycml/component_library/milp/heat/ates.py similarity index 97% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/ates.py rename to src/mesido/pycml/component_library/milp/heat/ates.py index 0930234aa..377c48f54 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/ates.py +++ b/src/mesido/pycml/component_library/milp/heat/ates.py @@ -1,8 +1,8 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset from .heat_two_port import HeatTwoPort diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/check_valve.py b/src/mesido/pycml/component_library/milp/heat/check_valve.py similarity index 93% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/check_valve.py rename to src/mesido/pycml/component_library/milp/heat/check_valve.py index c5cdc961d..7134a2a27 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/check_valve.py +++ b/src/mesido/pycml/component_library/milp/heat/check_valve.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/control_valve.py b/src/mesido/pycml/component_library/milp/heat/control_valve.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/control_valve.py rename to src/mesido/pycml/component_library/milp/heat/control_valve.py index f968ba3a6..c2f0bda78 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/control_valve.py +++ b/src/mesido/pycml/component_library/milp/heat/control_valve.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/geothermal_source.py b/src/mesido/pycml/component_library/milp/heat/geothermal_source.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/geothermal_source.py rename to src/mesido/pycml/component_library/milp/heat/geothermal_source.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_buffer.py b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py similarity index 96% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_buffer.py rename to src/mesido/pycml/component_library/milp/heat/heat_buffer.py index 149d5fcfe..e85ff7004 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_buffer.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py @@ -2,8 +2,8 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset from .heat_two_port import HeatTwoPort diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_demand.py b/src/mesido/pycml/component_library/milp/heat/heat_demand.py similarity index 97% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_demand.py rename to src/mesido/pycml/component_library/milp/heat/heat_demand.py index 1c5d7ecce..5ba23da99 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_demand.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_demand.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_exchanger.py b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py similarity index 93% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_exchanger.py rename to src/mesido/pycml/component_library/milp/heat/heat_exchanger.py index 9403da960..5dacc98bf 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_exchanger.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py @@ -1,8 +1,8 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal import BaseAsset -from rtctools_heat_network.pycml.component_library.milp.heat.heat_four_port import HeatFourPort +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal import BaseAsset +from mesido.pycml.component_library.milp.heat.heat_four_port import HeatFourPort class HeatExchanger(HeatFourPort, BaseAsset): diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_four_port.py b/src/mesido/pycml/component_library/milp/heat/heat_four_port.py similarity index 85% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_four_port.py rename to src/mesido/pycml/component_library/milp/heat/heat_four_port.py index 743e74ab9..ce259f051 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_four_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_four_port.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal import HeatComponent +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal import HeatComponent from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_pipe.py b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py similarity index 98% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_pipe.py rename to src/mesido/pycml/component_library/milp/heat/heat_pipe.py index 431106dc6..985390955 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_pipe.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py @@ -1,6 +1,6 @@ from numpy import nan, pi -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_port.py b/src/mesido/pycml/component_library/milp/heat/heat_port.py similarity index 78% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_port.py rename to src/mesido/pycml/component_library/milp/heat/heat_port.py index cf819b330..9ba7ef285 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_port.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import Connector, Variable -from rtctools_heat_network.pycml.component_library.milp._internal import HeatComponent +from mesido.pycml import Connector, Variable +from mesido.pycml.component_library.milp._internal import HeatComponent class HeatPort(HeatComponent, Connector): diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_pump.py b/src/mesido/pycml/component_library/milp/heat/heat_pump.py similarity index 93% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_pump.py rename to src/mesido/pycml/component_library/milp/heat/heat_pump.py index 0db1800e6..dc1ee3df7 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_pump.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pump.py @@ -1,8 +1,8 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal import BaseAsset -from rtctools_heat_network.pycml.component_library.milp.heat.heat_four_port import HeatFourPort +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal import BaseAsset +from mesido.pycml.component_library.milp.heat.heat_four_port import HeatFourPort class HeatPump(HeatFourPort, BaseAsset): diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_source.py b/src/mesido/pycml/component_library/milp/heat/heat_source.py similarity index 98% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_source.py rename to src/mesido/pycml/component_library/milp/heat/heat_source.py index aa2f3adcc..6a9554b32 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_source.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_source.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_two_port.py b/src/mesido/pycml/component_library/milp/heat/heat_two_port.py similarity index 85% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_two_port.py rename to src/mesido/pycml/component_library/milp/heat/heat_two_port.py index 9fc8df892..c1cf1d855 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_two_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_two_port.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml.component_library.milp._internal import HeatComponent +from mesido.pycml.component_library.milp._internal import HeatComponent from .heat_port import HeatPort diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/node.py b/src/mesido/pycml/component_library/milp/heat/node.py similarity index 88% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/node.py rename to src/mesido/pycml/component_library/milp/heat/node.py index 09ea3d5bc..7ff75d71c 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/node.py +++ b/src/mesido/pycml/component_library/milp/heat/node.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal import BaseAsset, HeatComponent +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal import BaseAsset, HeatComponent from .heat_port import HeatPort diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/pump.py b/src/mesido/pycml/component_library/milp/heat/pump.py similarity index 95% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/pump.py rename to src/mesido/pycml/component_library/milp/heat/pump.py index 45d70b1ca..8ba0418e6 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/pump.py +++ b/src/mesido/pycml/component_library/milp/heat/pump.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/multicommodity/__init__.py b/src/mesido/pycml/component_library/milp/multicommodity/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/multicommodity/__init__.py rename to src/mesido/pycml/component_library/milp/multicommodity/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/multicommodity/electrolyzer.py b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py similarity index 78% rename from src/rtctools_heat_network/pycml/component_library/milp/multicommodity/electrolyzer.py rename to src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py index 77029c152..1c7acb4ec 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/multicommodity/electrolyzer.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py @@ -1,14 +1,14 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal import BaseAsset -from rtctools_heat_network.pycml.component_library.milp._internal.electricity_component import ( +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal import BaseAsset +from mesido.pycml.component_library.milp._internal.electricity_component import ( ElectricityComponent, ) -from rtctools_heat_network.pycml.component_library.milp.electricity.electricity_base import ( +from mesido.pycml.component_library.milp.electricity.electricity_base import ( ElectricityPort, ) -from rtctools_heat_network.pycml.component_library.milp.gas.gas_base import ( +from mesido.pycml.component_library.milp.gas.gas_base import ( GasPort, ) diff --git a/src/rtctools_heat_network/pycml/component_library/qth/__init__.py b/src/mesido/pycml/component_library/qth/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/qth/__init__.py rename to src/mesido/pycml/component_library/qth/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/qth/_fluid_properties_component.py b/src/mesido/pycml/component_library/qth/_fluid_properties_component.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/qth/_fluid_properties_component.py rename to src/mesido/pycml/component_library/qth/_fluid_properties_component.py diff --git a/src/rtctools_heat_network/pycml/component_library/qth/_internal/__init__.py b/src/mesido/pycml/component_library/qth/_internal/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/qth/_internal/__init__.py rename to src/mesido/pycml/component_library/qth/_internal/__init__.py diff --git a/src/mesido/pycml/component_library/qth/_internal/qth_component.py b/src/mesido/pycml/component_library/qth/_internal/qth_component.py new file mode 100644 index 000000000..1dd41cee6 --- /dev/null +++ b/src/mesido/pycml/component_library/qth/_internal/qth_component.py @@ -0,0 +1,5 @@ +from mesido.pycml import Component + + +class QTHComponent(Component): + pass diff --git a/src/rtctools_heat_network/pycml/component_library/qth/_non_storage_component.py b/src/mesido/pycml/component_library/qth/_non_storage_component.py similarity index 91% rename from src/rtctools_heat_network/pycml/component_library/qth/_non_storage_component.py rename to src/mesido/pycml/component_library/qth/_non_storage_component.py index 3456d62e6..ffdd605fc 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/_non_storage_component.py +++ b/src/mesido/pycml/component_library/qth/_non_storage_component.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .qth_two_port import QTHTwoPort diff --git a/src/rtctools_heat_network/pycml/component_library/qth/buffer.py b/src/mesido/pycml/component_library/qth/buffer.py similarity index 98% rename from src/rtctools_heat_network/pycml/component_library/qth/buffer.py rename to src/mesido/pycml/component_library/qth/buffer.py index a2375dbc1..334a77e45 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/buffer.py +++ b/src/mesido/pycml/component_library/qth/buffer.py @@ -2,7 +2,7 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._fluid_properties_component import _FluidPropertiesComponent diff --git a/src/rtctools_heat_network/pycml/component_library/qth/check_valve.py b/src/mesido/pycml/component_library/qth/check_valve.py similarity index 91% rename from src/rtctools_heat_network/pycml/component_library/qth/check_valve.py rename to src/mesido/pycml/component_library/qth/check_valve.py index 2a50a0a66..ab5e1a174 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/check_valve.py +++ b/src/mesido/pycml/component_library/qth/check_valve.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/qth/control_valve.py b/src/mesido/pycml/component_library/qth/control_valve.py similarity index 89% rename from src/rtctools_heat_network/pycml/component_library/qth/control_valve.py rename to src/mesido/pycml/component_library/qth/control_valve.py index 2324eae60..53443c4d0 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/control_valve.py +++ b/src/mesido/pycml/component_library/qth/control_valve.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/qth/demand.py b/src/mesido/pycml/component_library/qth/demand.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/qth/demand.py rename to src/mesido/pycml/component_library/qth/demand.py index 7aa696991..4e30483a1 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/demand.py +++ b/src/mesido/pycml/component_library/qth/demand.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import SymbolicParameter, Variable +from mesido.pycml import SymbolicParameter, Variable from ._fluid_properties_component import _FluidPropertiesComponent from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/qth/geothermal_source.py b/src/mesido/pycml/component_library/qth/geothermal_source.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/qth/geothermal_source.py rename to src/mesido/pycml/component_library/qth/geothermal_source.py diff --git a/src/rtctools_heat_network/pycml/component_library/qth/node.py b/src/mesido/pycml/component_library/qth/node.py similarity index 93% rename from src/rtctools_heat_network/pycml/component_library/qth/node.py rename to src/mesido/pycml/component_library/qth/node.py index c48805ae9..5ff3d7ead 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/node.py +++ b/src/mesido/pycml/component_library/qth/node.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._internal import QTHComponent from .qth_port import QTHPort diff --git a/src/rtctools_heat_network/pycml/component_library/qth/pipe.py b/src/mesido/pycml/component_library/qth/pipe.py similarity index 97% rename from src/rtctools_heat_network/pycml/component_library/qth/pipe.py rename to src/mesido/pycml/component_library/qth/pipe.py index aaf14345b..a7d26c452 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/pipe.py +++ b/src/mesido/pycml/component_library/qth/pipe.py @@ -1,6 +1,6 @@ from numpy import nan, pi -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._fluid_properties_component import _FluidPropertiesComponent from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/qth/pump.py b/src/mesido/pycml/component_library/qth/pump.py similarity index 91% rename from src/rtctools_heat_network/pycml/component_library/qth/pump.py rename to src/mesido/pycml/component_library/qth/pump.py index 730be6555..852d0d622 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/pump.py +++ b/src/mesido/pycml/component_library/qth/pump.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/qth/qth_port.py b/src/mesido/pycml/component_library/qth/qth_port.py similarity index 88% rename from src/rtctools_heat_network/pycml/component_library/qth/qth_port.py rename to src/mesido/pycml/component_library/qth/qth_port.py index e0c2583ad..7a622d53a 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/qth_port.py +++ b/src/mesido/pycml/component_library/qth/qth_port.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Connector, Variable +from mesido.pycml import Connector, Variable from ._internal import QTHComponent diff --git a/src/rtctools_heat_network/pycml/component_library/qth/qth_two_port.py b/src/mesido/pycml/component_library/qth/qth_two_port.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/qth/qth_two_port.py rename to src/mesido/pycml/component_library/qth/qth_two_port.py diff --git a/src/rtctools_heat_network/pycml/component_library/qth/source.py b/src/mesido/pycml/component_library/qth/source.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/qth/source.py rename to src/mesido/pycml/component_library/qth/source.py index 1e69907e6..8893b33f7 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/source.py +++ b/src/mesido/pycml/component_library/qth/source.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import SymbolicParameter, Variable +from mesido.pycml import SymbolicParameter, Variable from ._fluid_properties_component import _FluidPropertiesComponent from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/model_base.py b/src/mesido/pycml/model_base.py similarity index 100% rename from src/rtctools_heat_network/pycml/model_base.py rename to src/mesido/pycml/model_base.py diff --git a/src/rtctools_heat_network/pycml/pycml_mixin.py b/src/mesido/pycml/pycml_mixin.py similarity index 99% rename from src/rtctools_heat_network/pycml/pycml_mixin.py rename to src/mesido/pycml/pycml_mixin.py index 647dbe332..92101d808 100644 --- a/src/rtctools_heat_network/pycml/pycml_mixin.py +++ b/src/mesido/pycml/pycml_mixin.py @@ -15,7 +15,7 @@ from . import ConstantInput, ControlInput, Model, SymbolicParameter, Variable -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class PyCMLMixin(OptimizationProblem): diff --git a/src/rtctools_heat_network/qth_not_maintained/__init__.py b/src/mesido/qth_not_maintained/__init__.py similarity index 100% rename from src/rtctools_heat_network/qth_not_maintained/__init__.py rename to src/mesido/qth_not_maintained/__init__.py diff --git a/src/rtctools_heat_network/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py b/src/mesido/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py similarity index 94% rename from src/rtctools_heat_network/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py rename to src/mesido/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py index b1583c857..9d02e062f 100644 --- a/src/rtctools_heat_network/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py +++ b/src/mesido/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py @@ -4,8 +4,8 @@ from rtctools.optimization.timeseries import Timeseries -from rtctools_heat_network.base_component_type_mixin import BaseComponentTypeMixin -from rtctools_heat_network.heat_network_common import PipeFlowDirection +from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.heat_network_common import PipeFlowDirection class BoundsToPipeFlowDirectionsMixin(BaseComponentTypeMixin): diff --git a/src/rtctools_heat_network/qth_not_maintained/head_loss_mixin.py b/src/mesido/qth_not_maintained/head_loss_mixin.py similarity index 99% rename from src/rtctools_heat_network/qth_not_maintained/head_loss_mixin.py rename to src/mesido/qth_not_maintained/head_loss_mixin.py index d492cc625..1769ceeef 100644 --- a/src/rtctools_heat_network/qth_not_maintained/head_loss_mixin.py +++ b/src/mesido/qth_not_maintained/head_loss_mixin.py @@ -11,14 +11,14 @@ from rtctools.optimization.goal_programming_mixin_base import Goal, _GoalProgrammingMixinBase from rtctools.optimization.optimization_problem import BT, OptimizationProblem -import rtctools_heat_network._darcy_weisbach as darcy_weisbach -from rtctools_heat_network.base_component_type_mixin import BaseComponentTypeMixin +import mesido._darcy_weisbach as darcy_weisbach +from mesido.base_component_type_mixin import BaseComponentTypeMixin from ..constants import GRAVITATIONAL_CONSTANT from ..pipe_class import PipeClass -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class HeadLossOption(IntEnum): diff --git a/src/rtctools_heat_network/qth_not_maintained/qth_loop_mixin.py b/src/mesido/qth_not_maintained/qth_loop_mixin.py similarity index 99% rename from src/rtctools_heat_network/qth_not_maintained/qth_loop_mixin.py rename to src/mesido/qth_not_maintained/qth_loop_mixin.py index df7d60ea0..d9e464c20 100644 --- a/src/rtctools_heat_network/qth_not_maintained/qth_loop_mixin.py +++ b/src/mesido/qth_not_maintained/qth_loop_mixin.py @@ -8,7 +8,7 @@ from rtctools.optimization.goal_programming_mixin_base import Goal from rtctools.optimization.timeseries import Timeseries -from rtctools_heat_network.qth_not_maintained.qth_mixin import HeadLossOption, QTHMixin +from mesido.qth_not_maintained.qth_mixin import HeadLossOption, QTHMixin class BufferTargetDischargeGoal(Goal): diff --git a/src/rtctools_heat_network/qth_not_maintained/qth_mixin.py b/src/mesido/qth_not_maintained/qth_mixin.py similarity index 99% rename from src/rtctools_heat_network/qth_not_maintained/qth_mixin.py rename to src/mesido/qth_not_maintained/qth_mixin.py index a3869647b..398db35bd 100644 --- a/src/rtctools_heat_network/qth_not_maintained/qth_mixin.py +++ b/src/mesido/qth_not_maintained/qth_mixin.py @@ -13,22 +13,22 @@ from rtctools.optimization.homotopy_mixin import HomotopyMixin from rtctools.optimization.timeseries import Timeseries -from rtctools_heat_network._heat_loss_u_values_pipe import heat_loss_u_values_pipe -from rtctools_heat_network.base_component_type_mixin import BaseComponentTypeMixin -from rtctools_heat_network.heat_network_common import ( +from mesido._heat_loss_u_values_pipe import heat_loss_u_values_pipe +from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.heat_network_common import ( CheckValveStatus, ControlValveDirection, NodeConnectionDirection, PipeFlowDirection, ) -from rtctools_heat_network.qth_not_maintained.head_loss_mixin import ( +from mesido.qth_not_maintained.head_loss_mixin import ( HeadLossOption, _HeadLossMixin, _MinimizeHeadLosses as _MinimizeHeadLossesBase, _MinimizeHydraulicPower as _MinimizeHydraulicPowerBase, ) -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class _MinimizeHeadLosses(_MinimizeHeadLossesBase): diff --git a/src/rtctools_heat_network/qth_not_maintained/util.py b/src/mesido/qth_not_maintained/util.py similarity index 98% rename from src/rtctools_heat_network/qth_not_maintained/util.py rename to src/mesido/qth_not_maintained/util.py index fd42bcdd9..8f8edba68 100644 --- a/src/rtctools_heat_network/qth_not_maintained/util.py +++ b/src/mesido/qth_not_maintained/util.py @@ -15,7 +15,7 @@ def run_heat_network_optimization(heat_class, qht_class, *args, log_level=loggin given that the milp milp optimization is reasonably close and conservative it can guarantee feasibility. """ - logger = logging.getLogger("rtctools_heat_network") + logger = logging.getLogger("mesido") logger.setLevel(log_level) logger.info(f"Using RTC-Tools Heat Network {__version__}.") diff --git a/src/rtctools_heat_network/techno_economic_mixin.py b/src/mesido/techno_economic_mixin.py similarity index 99% rename from src/rtctools_heat_network/techno_economic_mixin.py rename to src/mesido/techno_economic_mixin.py index 22e090864..c67f769c5 100644 --- a/src/rtctools_heat_network/techno_economic_mixin.py +++ b/src/mesido/techno_economic_mixin.py @@ -9,7 +9,7 @@ from .financial_mixin import FinancialMixin from .physics_mixin import PhysicsMixin -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class TechnoEconomicMixin( diff --git a/src/rtctools_heat_network/topology.py b/src/mesido/topology.py similarity index 100% rename from src/rtctools_heat_network/topology.py rename to src/mesido/topology.py diff --git a/src/rtctools_heat_network/workflows/__init__.py b/src/mesido/workflows/__init__.py similarity index 100% rename from src/rtctools_heat_network/workflows/__init__.py rename to src/mesido/workflows/__init__.py diff --git a/src/rtctools_heat_network/workflows/goals/__init__.py b/src/mesido/workflows/goals/__init__.py similarity index 100% rename from src/rtctools_heat_network/workflows/goals/__init__.py rename to src/mesido/workflows/goals/__init__.py diff --git a/src/rtctools_heat_network/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py similarity index 98% rename from src/rtctools_heat_network/workflows/goals/minimize_tco_goal.py rename to src/mesido/workflows/goals/minimize_tco_goal.py index f08944fbd..4085bb2ad 100644 --- a/src/rtctools_heat_network/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -4,7 +4,7 @@ from rtctools.optimization.goal_programming_mixin_base import Goal -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin class MinimizeTCO(Goal): diff --git a/src/rtctools_heat_network/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py similarity index 97% rename from src/rtctools_heat_network/workflows/grow_workflow.py rename to src/mesido/workflows/grow_workflow.py index 8f5e04f88..1dfa2f1f5 100644 --- a/src/rtctools_heat_network/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -19,16 +19,16 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin -from rtctools_heat_network.workflows.goals.minimize_tco_goal import MinimizeTCO -from rtctools_heat_network.workflows.io.write_output import ScenarioOutput -from rtctools_heat_network.workflows.utils.adapt_profiles import ( +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO +from mesido.workflows.io.write_output import ScenarioOutput +from mesido.workflows.utils.adapt_profiles import ( adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, ) -from rtctools_heat_network.workflows.utils.helpers import main_decorator +from mesido.workflows.utils.helpers import main_decorator DB_HOST = "172.17.0.2" diff --git a/src/rtctools_heat_network/workflows/io/__init__.py b/src/mesido/workflows/io/__init__.py similarity index 100% rename from src/rtctools_heat_network/workflows/io/__init__.py rename to src/mesido/workflows/io/__init__.py diff --git a/src/rtctools_heat_network/workflows/io/read_files_and_create_influxdb.py b/src/mesido/workflows/io/read_files_and_create_influxdb.py similarity index 100% rename from src/rtctools_heat_network/workflows/io/read_files_and_create_influxdb.py rename to src/mesido/workflows/io/read_files_and_create_influxdb.py diff --git a/src/rtctools_heat_network/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py similarity index 99% rename from src/rtctools_heat_network/workflows/io/write_output.py rename to src/mesido/workflows/io/write_output.py index bbcdbadfd..2262dcdd7 100644 --- a/src/rtctools_heat_network/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -20,14 +20,14 @@ from rtctools.optimization.timeseries import Timeseries -import rtctools_heat_network.esdl.esdl_parser -from rtctools_heat_network.constants import GRAVITATIONAL_CONSTANT -from rtctools_heat_network.esdl.edr_pipe_class import EDRPipeClass -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin -from rtctools_heat_network.workflows.utils.helpers import _sort_numbered +import mesido.esdl.esdl_parser +from mesido.constants import GRAVITATIONAL_CONSTANT +from mesido.esdl.edr_pipe_class import EDRPipeClass +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.utils.helpers import _sort_numbered -logger = logging.getLogger("rtctools_heat_network") +logger = logging.getLogger("mesido") class ScenarioOutput(TechnoEconomicMixin): @@ -1153,7 +1153,7 @@ def _name_to_asset(name): # ------------------------------------------------------------------------------------------ # Save esdl file - if self.esdl_parser_class == rtctools_heat_network.esdl.esdl_parser.ESDLFileParser: + if self.esdl_parser_class == mesido.esdl.esdl_parser.ESDLFileParser: extension = "_Simulation.esdl" if optimizer_sim else "_GrowOptimized.esdl" file_path = Path(self.model_folder) / (Path(self.esdl_file_name).stem + extension) self.save_energy_system_to_file(energy_system, file_path=file_path) diff --git a/src/rtctools_heat_network/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py similarity index 97% rename from src/rtctools_heat_network/workflows/simulator_workflow.py rename to src/mesido/workflows/simulator_workflow.py index 117d9a76d..ae8fd5575 100644 --- a/src/rtctools_heat_network/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -19,14 +19,14 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin -from rtctools_heat_network.workflows.io.write_output import ScenarioOutput -from rtctools_heat_network.workflows.utils.adapt_profiles import ( +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.io.write_output import ScenarioOutput +from mesido.workflows.utils.adapt_profiles import ( adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, ) -from rtctools_heat_network.workflows.utils.helpers import main_decorator +from mesido.workflows.utils.helpers import main_decorator DB_HOST = "172.17.0.2" diff --git a/src/rtctools_heat_network/workflows/utils/__init__.py b/src/mesido/workflows/utils/__init__.py similarity index 100% rename from src/rtctools_heat_network/workflows/utils/__init__.py rename to src/mesido/workflows/utils/__init__.py diff --git a/src/rtctools_heat_network/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py similarity index 100% rename from src/rtctools_heat_network/workflows/utils/adapt_profiles.py rename to src/mesido/workflows/utils/adapt_profiles.py diff --git a/src/rtctools_heat_network/workflows/utils/helpers.py b/src/mesido/workflows/utils/helpers.py similarity index 98% rename from src/rtctools_heat_network/workflows/utils/helpers.py rename to src/mesido/workflows/utils/helpers.py index 6cc2ff2bb..77ab83839 100644 --- a/src/rtctools_heat_network/workflows/utils/helpers.py +++ b/src/mesido/workflows/utils/helpers.py @@ -7,7 +7,7 @@ import esdl -from rtctools_heat_network import __version__ +from mesido import __version__ MULTI_ENUM_NAME_TO_FACTOR = { diff --git a/src/rtctools_heat_network/pycml/component_library/qth/_internal/qth_component.py b/src/rtctools_heat_network/pycml/component_library/qth/_internal/qth_component.py deleted file mode 100644 index 712ec0b1d..000000000 --- a/src/rtctools_heat_network/pycml/component_library/qth/_internal/qth_component.py +++ /dev/null @@ -1,5 +0,0 @@ -from rtctools_heat_network.pycml import Component - - -class QTHComponent(Component): - pass diff --git a/tests/models/absolute_heat/src/example.py b/tests/models/absolute_heat/src/example.py index a05a9101c..6c89772a1 100644 --- a/tests/models/absolute_heat/src/example.py +++ b/tests/models/absolute_heat/src/example.py @@ -13,10 +13,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/ates_temperature/src/run_ates_temperature.py b/tests/models/ates_temperature/src/run_ates_temperature.py index 9d91963a7..173cb1493 100644 --- a/tests/models/ates_temperature/src/run_ates_temperature.py +++ b/tests/models/ates_temperature/src/run_ates_temperature.py @@ -13,12 +13,12 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin -from rtctools_heat_network.workflows.io.write_output import ScenarioOutput +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.io.write_output import ScenarioOutput ns = {"fews": "http://www.wldelft.nl/fews", "pi": "http://www.wldelft.nl/fews/PI"} diff --git a/tests/models/basic_buffer/src/compare.py b/tests/models/basic_buffer/src/compare.py index d95692a7a..7658deba5 100644 --- a/tests/models/basic_buffer/src/compare.py +++ b/tests/models/basic_buffer/src/compare.py @@ -5,13 +5,13 @@ from rtctools.optimization.modelica_mixin import ModelicaMixin -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin -from rtctools_heat_network.qth_not_maintained.qth_loop_mixin import ( +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.qth_not_maintained.qth_loop_mixin import ( BufferTargetDischargeGoal, QTHLoopMixin, ) -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin -from rtctools_heat_network.qth_not_maintained.util import run_heat_network_optimization +from mesido.qth_not_maintained.qth_mixin import QTHMixin +from mesido.qth_not_maintained.util import run_heat_network_optimization # We want to import the example we compare with as a module that is somewhat # uniquely identifiable. We therefore start from the root. diff --git a/tests/models/basic_buffer/src/model_heat.py b/tests/models/basic_buffer/src/model_heat.py index fd5513e6a..f2547393b 100644 --- a/tests/models/basic_buffer/src/model_heat.py +++ b/tests/models/basic_buffer/src/model_heat.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import ControlInput, Model as _Model, Variable -from rtctools_heat_network.pycml.component_library.milp import ( +from mesido.pycml import ControlInput, Model as _Model, Variable +from mesido.pycml.component_library.milp import ( HeatBuffer, HeatDemand, HeatPipe, diff --git a/tests/models/basic_buffer/src/model_qth.py b/tests/models/basic_buffer/src/model_qth.py index abcbd2736..576b7540f 100644 --- a/tests/models/basic_buffer/src/model_qth.py +++ b/tests/models/basic_buffer/src/model_qth.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import ControlInput, Model as _Model, SymbolicParameter, Variable -from rtctools_heat_network.pycml.component_library.qth import ( +from mesido.pycml import ControlInput, Model as _Model, SymbolicParameter, Variable +from mesido.pycml.component_library.qth import ( Buffer, Demand, Node, diff --git a/tests/models/basic_source_and_demand/src/heat_comparison.py b/tests/models/basic_source_and_demand/src/heat_comparison.py index ad4bd9834..3b7801dec 100644 --- a/tests/models/basic_source_and_demand/src/heat_comparison.py +++ b/tests/models/basic_source_and_demand/src/heat_comparison.py @@ -6,10 +6,10 @@ from rtctools.optimization.modelica_mixin import ModelicaMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.component_type_mixin import ModelicaComponentTypeMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.physics_mixin import PhysicsMixin +from mesido.pycml.pycml_mixin import PyCMLMixin if __name__ == "__main__": from model_heat import Model diff --git a/tests/models/basic_source_and_demand/src/model_heat.py b/tests/models/basic_source_and_demand/src/model_heat.py index 61d7c7ce3..016100092 100644 --- a/tests/models/basic_source_and_demand/src/model_heat.py +++ b/tests/models/basic_source_and_demand/src/model_heat.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import ControlInput, Model as _Model -from rtctools_heat_network.pycml.component_library.milp import ( +from mesido.pycml import ControlInput, Model as _Model +from mesido.pycml.component_library.milp import ( HeatDemand, HeatPipe, HeatSource, diff --git a/tests/models/basic_source_and_demand/src/model_qth.py b/tests/models/basic_source_and_demand/src/model_qth.py index 00d86accb..93fa0a8b6 100644 --- a/tests/models/basic_source_and_demand/src/model_qth.py +++ b/tests/models/basic_source_and_demand/src/model_qth.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import ControlInput, Model as _Model, SymbolicParameter -from rtctools_heat_network.pycml.component_library.qth import Demand, Pipe, Pump, Source +from mesido.pycml import ControlInput, Model as _Model, SymbolicParameter +from mesido.pycml.component_library.qth import Demand, Pipe, Pump, Source class Model(_Model): diff --git a/tests/models/basic_source_and_demand/src/qth_comparison.py b/tests/models/basic_source_and_demand/src/qth_comparison.py index b96899a4a..41d7b17f4 100644 --- a/tests/models/basic_source_and_demand/src/qth_comparison.py +++ b/tests/models/basic_source_and_demand/src/qth_comparison.py @@ -10,13 +10,13 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.component_type_mixin import ModelicaComponentTypeMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin -from rtctools_heat_network.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( BoundsToPipeFlowDirectionsMixin, ) -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin if __name__ == "__main__": from model_qth import Model diff --git a/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py b/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py index bc84c607f..099b98e58 100644 --- a/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py +++ b/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py @@ -7,12 +7,12 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.component_type_mixin import ModelicaComponentTypeMixin -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin -from rtctools_heat_network.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( BoundsToPipeFlowDirectionsMixin, ) -from rtctools_heat_network.qth_not_maintained.qth_mixin import DemandTemperatureOption, QTHMixin +from mesido.qth_not_maintained.qth_mixin import DemandTemperatureOption, QTHMixin if __name__ == "__main__": from model_qth import Model diff --git a/tests/models/double_pipe_heat/src/double_pipe_heat.py b/tests/models/double_pipe_heat/src/double_pipe_heat.py index d2be2d28b..4e5e35fe2 100644 --- a/tests/models/double_pipe_heat/src/double_pipe_heat.py +++ b/tests/models/double_pipe_heat/src/double_pipe_heat.py @@ -5,9 +5,9 @@ from rtctools.optimization.goal_programming_mixin import Goal, GoalProgrammingMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.component_type_mixin import ModelicaComponentTypeMixin -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.physics_mixin import PhysicsMixin +from mesido.pycml.pycml_mixin import PyCMLMixin if __name__ == "__main__": from model import Model diff --git a/tests/models/double_pipe_heat/src/model.py b/tests/models/double_pipe_heat/src/model.py index f217002ee..473a91d71 100644 --- a/tests/models/double_pipe_heat/src/model.py +++ b/tests/models/double_pipe_heat/src/model.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import ControlInput, Model as _Model -from rtctools_heat_network.pycml.component_library.milp import ( +from mesido.pycml import ControlInput, Model as _Model +from mesido.pycml.component_library.milp import ( HeatDemand, HeatPipe, HeatSource, diff --git a/tests/models/double_pipe_qth/src/cq2_inequality_vs_equality.py b/tests/models/double_pipe_qth/src/cq2_inequality_vs_equality.py index 883f6a957..65d0f4e91 100644 --- a/tests/models/double_pipe_qth/src/cq2_inequality_vs_equality.py +++ b/tests/models/double_pipe_qth/src/cq2_inequality_vs_equality.py @@ -2,8 +2,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.qth_not_maintained.qth_loop_mixin import QTHLoopMixin -from rtctools_heat_network.qth_not_maintained.qth_mixin import HeadLossOption, QTHMixin +from mesido.qth_not_maintained.qth_loop_mixin import QTHLoopMixin +from mesido.qth_not_maintained.qth_mixin import HeadLossOption, QTHMixin if __name__ == "__main__": from double_pipe_qth import DoublePipeBase diff --git a/tests/models/double_pipe_qth/src/double_pipe_qth.py b/tests/models/double_pipe_qth/src/double_pipe_qth.py index 69316bf14..1e97ad2b5 100644 --- a/tests/models/double_pipe_qth/src/double_pipe_qth.py +++ b/tests/models/double_pipe_qth/src/double_pipe_qth.py @@ -7,11 +7,11 @@ from rtctools.optimization.modelica_mixin import ModelicaMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.component_type_mixin import ModelicaComponentTypeMixin -from rtctools_heat_network.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( BoundsToPipeFlowDirectionsMixin, ) -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin class TargetDemandGoal(Goal): diff --git a/tests/models/double_pipe_qth/src/single_pipe_no_headloss.py b/tests/models/double_pipe_qth/src/single_pipe_no_headloss.py index 38d0cc3ba..83a416c53 100644 --- a/tests/models/double_pipe_qth/src/single_pipe_no_headloss.py +++ b/tests/models/double_pipe_qth/src/single_pipe_no_headloss.py @@ -1,6 +1,6 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.qth_not_maintained.qth_mixin import HeadLossOption +from mesido.qth_not_maintained.qth_mixin import HeadLossOption if __name__ == "__main__": from double_pipe_qth import SinglePipeQTH diff --git a/tests/models/electricity_cable_topology/src/example.py b/tests/models/electricity_cable_topology/src/example.py index 8121ea3ba..7870aabfd 100644 --- a/tests/models/electricity_cable_topology/src/example.py +++ b/tests/models/electricity_cable_topology/src/example.py @@ -13,11 +13,11 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.pipe_class import CableClass -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.pipe_class import CableClass +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/emerge/src/example.py b/tests/models/emerge/src/example.py index 6dca4d252..a489e2e0f 100644 --- a/tests/models/emerge/src/example.py +++ b/tests/models/emerge/src/example.py @@ -10,12 +10,12 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin class MaxHydrogenProduction(Goal): diff --git a/tests/models/gas_pipe_topology/src/example.py b/tests/models/gas_pipe_topology/src/example.py index c647bc862..4c2bbbd1a 100644 --- a/tests/models/gas_pipe_topology/src/example.py +++ b/tests/models/gas_pipe_topology/src/example.py @@ -13,10 +13,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/heat_exchange/src/run_heat_exchanger.py b/tests/models/heat_exchange/src/run_heat_exchanger.py index 3395eb0da..7bd2ae00f 100644 --- a/tests/models/heat_exchange/src/run_heat_exchanger.py +++ b/tests/models/heat_exchange/src/run_heat_exchanger.py @@ -9,11 +9,11 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.physics_mixin import PhysicsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.physics_mixin import PhysicsMixin class TargetDemandGoal(Goal): diff --git a/tests/models/heatpump/src/run_heat_pump.py b/tests/models/heatpump/src/run_heat_pump.py index 4fab2dbf6..71e60675a 100644 --- a/tests/models/heatpump/src/run_heat_pump.py +++ b/tests/models/heatpump/src/run_heat_pump.py @@ -9,10 +9,10 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin class TargetDemandGoal(Goal): diff --git a/tests/models/insulation/src/run_insulation.py b/tests/models/insulation/src/run_insulation.py index e20328d36..acd32b8cb 100644 --- a/tests/models/insulation/src/run_insulation.py +++ b/tests/models/insulation/src/run_insulation.py @@ -11,11 +11,11 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.demand_insulation_class import DemandInsulationClass -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.demand_insulation_class import DemandInsulationClass +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class MinimizeSourcesHeatGoal(Goal): diff --git a/tests/models/multiple_carriers/src/run_multiple_carriers.py b/tests/models/multiple_carriers/src/run_multiple_carriers.py index 6401c5abc..712407392 100644 --- a/tests/models/multiple_carriers/src/run_multiple_carriers.py +++ b/tests/models/multiple_carriers/src/run_multiple_carriers.py @@ -9,10 +9,10 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin class TargetDemandGoal(Goal): diff --git a/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py b/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py index 311493a06..512e18f86 100644 --- a/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py +++ b/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py @@ -11,10 +11,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/pipe_test/src/run_hydraulic_power.py b/tests/models/pipe_test/src/run_hydraulic_power.py index d23df477c..cca51128d 100644 --- a/tests/models/pipe_test/src/run_hydraulic_power.py +++ b/tests/models/pipe_test/src/run_hydraulic_power.py @@ -10,9 +10,9 @@ LinearizedOrderGoalProgrammingMixin, ) -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.physics_mixin import PhysicsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.head_loss_class import HeadLossOption +from mesido.physics_mixin import PhysicsMixin class TargetDemandGoal(Goal): diff --git a/tests/models/simple_buffer/src/model.py b/tests/models/simple_buffer/src/model.py index 8af810dfa..494091768 100644 --- a/tests/models/simple_buffer/src/model.py +++ b/tests/models/simple_buffer/src/model.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import ControlInput, Model as _Model -from rtctools_heat_network.pycml.component_library.milp import ( +from mesido.pycml import ControlInput, Model as _Model +from mesido.pycml.component_library.milp import ( HeatBuffer, HeatDemand, HeatPipe, diff --git a/tests/models/simple_buffer/src/simple_buffer.py b/tests/models/simple_buffer/src/simple_buffer.py index 4bec82ce8..d896f892d 100644 --- a/tests/models/simple_buffer/src/simple_buffer.py +++ b/tests/models/simple_buffer/src/simple_buffer.py @@ -11,9 +11,9 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.component_type_mixin import ModelicaComponentTypeMixin -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin if __name__ == "__main__": from model import Model diff --git a/tests/models/source_pipe_sink/src/double_pipe_heat.py b/tests/models/source_pipe_sink/src/double_pipe_heat.py index 38329294f..b61b834ef 100644 --- a/tests/models/source_pipe_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_sink/src/double_pipe_heat.py @@ -8,12 +8,12 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/source_pipe_split_sink/src/double_pipe_heat.py b/tests/models/source_pipe_split_sink/src/double_pipe_heat.py index 8f96c8714..b3138990e 100644 --- a/tests/models/source_pipe_split_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_split_sink/src/double_pipe_heat.py @@ -8,8 +8,8 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py b/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py index c77a71cf6..82b9a118d 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py @@ -9,10 +9,10 @@ LinearizedOrderGoalProgrammingMixin, ) -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): @@ -153,7 +153,7 @@ def read(self): if __name__ == "__main__": import time - from rtctools_heat_network.workflows import EndScenarioSizingStaged, run_end_scenario_sizing + from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing start_time = time.time() diff --git a/tests/models/test_case_small_network_optional_assets_annualized/src/run_annualized.py b/tests/models/test_case_small_network_optional_assets_annualized/src/run_annualized.py index 74a584ee6..945c27f72 100644 --- a/tests/models/test_case_small_network_optional_assets_annualized/src/run_annualized.py +++ b/tests/models/test_case_small_network_optional_assets_annualized/src/run_annualized.py @@ -5,9 +5,9 @@ from rtctools.optimization.goal_programming_mixin import Goal from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.workflows.goals.minimize_tco_goal import MinimizeTCO +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO try: from models.test_case_small_network_optional_assets_annualized.src.run_ates import ( diff --git a/tests/models/test_case_small_network_optional_assets_annualized/src/run_ates.py b/tests/models/test_case_small_network_optional_assets_annualized/src/run_ates.py index 7166f3af9..fbc9e4842 100644 --- a/tests/models/test_case_small_network_optional_assets_annualized/src/run_ates.py +++ b/tests/models/test_case_small_network_optional_assets_annualized/src/run_ates.py @@ -10,10 +10,10 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/test_case_small_network_with_ates/src/run_ates.py b/tests/models/test_case_small_network_with_ates/src/run_ates.py index db453e388..f8c696f95 100644 --- a/tests/models/test_case_small_network_with_ates/src/run_ates.py +++ b/tests/models/test_case_small_network_with_ates/src/run_ates.py @@ -19,10 +19,10 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py b/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py index 6cfef29ed..5a00a0f0d 100644 --- a/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py +++ b/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py @@ -12,10 +12,10 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases/case_1a/src/run_1a.py b/tests/models/unit_cases/case_1a/src/run_1a.py index df05d1f9a..b87efbeba 100644 --- a/tests/models/unit_cases/case_1a/src/run_1a.py +++ b/tests/models/unit_cases/case_1a/src/run_1a.py @@ -10,11 +10,11 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases/case_1a_t_var/src/run_1a.py b/tests/models/unit_cases/case_1a_t_var/src/run_1a.py index 8211c3b8b..518a652f4 100644 --- a/tests/models/unit_cases/case_1a_t_var/src/run_1a.py +++ b/tests/models/unit_cases/case_1a_t_var/src/run_1a.py @@ -9,11 +9,11 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases/case_2a/src/equal_temperatures.py b/tests/models/unit_cases/case_2a/src/equal_temperatures.py index 42bc6bd59..d92f3e205 100644 --- a/tests/models/unit_cases/case_2a/src/equal_temperatures.py +++ b/tests/models/unit_cases/case_2a/src/equal_temperatures.py @@ -9,10 +9,10 @@ LinearizedOrderGoalProgrammingMixin, ) -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.heat_mixin import HeatMixin -from rtctools_heat_network.qth_mixin import QTHMixin -from rtctools_heat_network.util import run_heat_network_optimization +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.heat_mixin import HeatMixin +from mesido.qth_mixin import QTHMixin +from mesido.util import run_heat_network_optimization class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases/case_2a/src/run_2a.py b/tests/models/unit_cases/case_2a/src/run_2a.py index 596e6623a..baea4838b 100644 --- a/tests/models/unit_cases/case_2a/src/run_2a.py +++ b/tests/models/unit_cases/case_2a/src/run_2a.py @@ -11,11 +11,11 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases/case_3a/src/run_3a.py b/tests/models/unit_cases/case_3a/src/run_3a.py index 11a6d559f..098d64e56 100644 --- a/tests/models/unit_cases/case_3a/src/run_3a.py +++ b/tests/models/unit_cases/case_3a/src/run_3a.py @@ -10,12 +10,12 @@ ) from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): @@ -347,7 +347,7 @@ def path_goals(self): def energy_system_options(self): options = super().energy_system_options() - from rtctools_heat_network.head_loss_class import HeadLossOption + from mesido.head_loss_class import HeadLossOption self.heat_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS return options diff --git a/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py b/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py index ec1c6f357..db6fbb4d1 100644 --- a/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py +++ b/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py @@ -9,9 +9,9 @@ ) from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin -from rtctools_heat_network.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases_electricity/bus_networks/src/example.py b/tests/models/unit_cases_electricity/bus_networks/src/example.py index e84c05cb1..bfe869d1a 100644 --- a/tests/models/unit_cases_electricity/bus_networks/src/example.py +++ b/tests/models/unit_cases_electricity/bus_networks/src/example.py @@ -11,10 +11,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases_electricity/electrolyzer/src/example.py b/tests/models/unit_cases_electricity/electrolyzer/src/example.py index d3211c32c..fd7842c7a 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/src/example.py +++ b/tests/models/unit_cases_electricity/electrolyzer/src/example.py @@ -10,10 +10,10 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class RevenueGoal(Goal): diff --git a/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py b/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py index f76129890..4e9dfd359 100644 --- a/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py +++ b/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py @@ -11,10 +11,10 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin # TODO: check if this run script is still valid as test case for electric heatpump and update with diff --git a/tests/models/unit_cases_electricity/source_sink_cable/src/example.py b/tests/models/unit_cases_electricity/source_sink_cable/src/example.py index 19b5c759f..f5a853348 100644 --- a/tests/models/unit_cases_electricity/source_sink_cable/src/example.py +++ b/tests/models/unit_cases_electricity/source_sink_cable/src/example.py @@ -11,11 +11,11 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py b/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py index e2dd1a9d0..cdd0706b3 100644 --- a/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py +++ b/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py @@ -11,10 +11,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases_gas/source_pipe_split_sink/src/run_source_sink.py b/tests/models/unit_cases_gas/source_pipe_split_sink/src/run_source_sink.py index 1b7912110..c7616b67d 100644 --- a/tests/models/unit_cases_gas/source_pipe_split_sink/src/run_source_sink.py +++ b/tests/models/unit_cases_gas/source_pipe_split_sink/src/run_source_sink.py @@ -11,10 +11,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases_gas/source_sink/src/run_source_sink.py b/tests/models/unit_cases_gas/source_sink/src/run_source_sink.py index d1c2517a8..8681d8562 100644 --- a/tests/models/unit_cases_gas/source_sink/src/run_source_sink.py +++ b/tests/models/unit_cases_gas/source_sink/src/run_source_sink.py @@ -11,10 +11,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/qth_test_not_maintained/test_qth.py b/tests/qth_test_not_maintained/test_qth.py index 02d515b13..81bdd7412 100644 --- a/tests/qth_test_not_maintained/test_qth.py +++ b/tests/qth_test_not_maintained/test_qth.py @@ -6,10 +6,10 @@ # # from rtctools.util import run_optimization_problem # -# from rtctools_heat_network.util import run_heat_network_optimization +# from mesido.util import run_heat_network_optimization # # -# logger = logging.getLogger("rtctools_heat_network") +# logger = logging.getLogger("mesido") # # # class TestArtificalHeadLoss(TestCase): @@ -64,7 +64,7 @@ # cls.base_folder = Path(double_pipe_qth.__file__).resolve().parent.parent # # def test_single_pipe_no_headloss(self): -# from rtctools_heat_network.qth_mixin import _MinimizeHeadLosses +# from mesido.qth_mixin import _MinimizeHeadLosses # # from models.double_pipe_qth.src.single_pipe_no_headloss import SinglePipeQTHNoHeadLoss # diff --git a/tests/qth_test_not_maintained/test_qth_loop.py b/tests/qth_test_not_maintained/test_qth_loop.py index ac87b8a5b..da7c88572 100644 --- a/tests/qth_test_not_maintained/test_qth_loop.py +++ b/tests/qth_test_not_maintained/test_qth_loop.py @@ -6,11 +6,11 @@ # # from rtctools.util import run_optimization_problem # -# from rtctools_heat_network.qth_loop_mixin import QTHLoopMixin -# from rtctools_heat_network.util import run_heat_network_optimization +# from mesido.qth_loop_mixin import QTHLoopMixin +# from mesido.util import run_heat_network_optimization # # -# logger = logging.getLogger("rtctools_heat_network") +# logger = logging.getLogger("mesido") # # # class TestQTHLoop(TestCase): diff --git a/tests/test_absolute_heat.py b/tests/test_absolute_heat.py index c78268508..c59c8ac88 100644 --- a/tests/test_absolute_heat.py +++ b/tests/test_absolute_heat.py @@ -3,8 +3,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_asset_is_realized.py b/tests/test_asset_is_realized.py index 2846f1e40..c78dc3451 100644 --- a/tests/test_asset_is_realized.py +++ b/tests/test_asset_is_realized.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestAssetIsRealized(TestCase): diff --git a/tests/test_ates.py b/tests/test_ates.py index cc46aa08b..6adf089b7 100644 --- a/tests/test_ates.py +++ b/tests/test_ates.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_cable_topology_optimization.py b/tests/test_cable_topology_optimization.py index 1c6e790b0..4f596d4f2 100644 --- a/tests/test_cable_topology_optimization.py +++ b/tests/test_cable_topology_optimization.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestElectricityTopo(TestCase): diff --git a/tests/test_electric_bus.py b/tests/test_electric_bus.py index 156c972ec..db7f564d8 100644 --- a/tests/test_electric_bus.py +++ b/tests/test_electric_bus.py @@ -15,8 +15,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestMILPbus(TestCase): diff --git a/tests/test_electric_source_sink.py b/tests/test_electric_source_sink.py index 0053c2339..937111bfa 100644 --- a/tests/test_electric_source_sink.py +++ b/tests/test_electric_source_sink.py @@ -6,8 +6,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile # TODO: still have to make test where elecitricity direction is switched: # e.g. 2 nodes, with at each node a producer and consumer, first one node medium demand, second diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index 355696b03..ce29db1ec 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile # from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 6468f08cb..d34582bd6 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -5,16 +5,16 @@ from rtctools.util import run_optimization_problem -import rtctools_heat_network._darcy_weisbach as darcy_weisbach -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.workflows import ( +import mesido._darcy_weisbach as darcy_weisbach +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows import ( EndScenarioSizingDiscountedHIGHS, EndScenarioSizingHIGHS, EndScenarioSizingStagedHIGHS, run_end_scenario_sizing, ) -from rtctools_heat_network.workflows.grow_workflow import EndScenarioSizingHeadLossStaged +from mesido.workflows.grow_workflow import EndScenarioSizingHeadLossStaged from utils_tests import demand_matching_test diff --git a/tests/test_end_scenario_sizing_annualized.py b/tests/test_end_scenario_sizing_annualized.py index 274f7646e..155b31fa8 100644 --- a/tests/test_end_scenario_sizing_annualized.py +++ b/tests/test_end_scenario_sizing_annualized.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestEndScenarioSizingAnnualized(TestCase): @@ -35,7 +35,7 @@ def test_end_scenario_sizing_annualized(self): from models.test_case_small_network_optional_assets_annualized.src import ( run_annualized, ) - from rtctools_heat_network.financial_mixin import calculate_annuity_factor + from mesido.financial_mixin import calculate_annuity_factor base_folder = Path(run_annualized.__file__).resolve().parent.parent diff --git a/tests/test_esdl_parsing.py b/tests/test_esdl_parsing.py index d4c4b8dd0..1a8334581 100644 --- a/tests/test_esdl_parsing.py +++ b/tests/test_esdl_parsing.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser, ESDLStringParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser, ESDLStringParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestESDLParsing(unittest.TestCase): diff --git a/tests/test_esdl_pycml.py b/tests/test_esdl_pycml.py index 909ebb512..8afe5ee85 100644 --- a/tests/test_esdl_pycml.py +++ b/tests/test_esdl_pycml.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestESDL(TestCase): diff --git a/tests/test_gas_multi_demand_source_node.py b/tests/test_gas_multi_demand_source_node.py index bbba051fd..bf4cf98e5 100644 --- a/tests/test_gas_multi_demand_source_node.py +++ b/tests/test_gas_multi_demand_source_node.py @@ -6,8 +6,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestMILPGasMultiDemandSourceNode(TestCase): diff --git a/tests/test_gas_pipe_topology_optimization.py b/tests/test_gas_pipe_topology_optimization.py index 3ba9b14a5..cf1495924 100644 --- a/tests/test_gas_pipe_topology_optimization.py +++ b/tests/test_gas_pipe_topology_optimization.py @@ -5,9 +5,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption class TestGasNetwork(TestCase): diff --git a/tests/test_gas_source_sink.py b/tests/test_gas_source_sink.py index 314ba8465..c85acf132 100644 --- a/tests/test_gas_source_sink.py +++ b/tests/test_gas_source_sink.py @@ -6,9 +6,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption class TestMILPGasSourceSink(TestCase): diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 25410ce69..4bbe526ba 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -5,12 +5,12 @@ from rtctools.util import run_optimization_problem -import rtctools_heat_network._darcy_weisbach as darcy_weisbach -from rtctools_heat_network.constants import GRAVITATIONAL_CONSTANT -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.network_common import NetworkSettings +import mesido._darcy_weisbach as darcy_weisbach +from mesido.constants import GRAVITATIONAL_CONSTANT +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.network_common import NetworkSettings from utils_tests import demand_matching_test diff --git a/tests/test_head_loss_class.py b/tests/test_head_loss_class.py index 3c890a3d6..7d6d1fd27 100644 --- a/tests/test_head_loss_class.py +++ b/tests/test_head_loss_class.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.network_common import NetworkSettings +from mesido.head_loss_class import HeadLossOption +from mesido.network_common import NetworkSettings class TestHeadLossCalculation(TestCase): diff --git a/tests/test_heat.py b/tests/test_heat.py index 899ec0011..2371b1ebb 100644 --- a/tests/test_heat.py +++ b/tests/test_heat.py @@ -5,9 +5,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_heat_loss_u_values.py b/tests/test_heat_loss_u_values.py index 04b1fa4dc..46ce86526 100644 --- a/tests/test_heat_loss_u_values.py +++ b/tests/test_heat_loss_u_values.py @@ -2,7 +2,7 @@ import numpy as np -from rtctools_heat_network._heat_loss_u_values_pipe import heat_loss_u_values_pipe +from mesido._heat_loss_u_values_pipe import heat_loss_u_values_pipe class TestHeatLossUValues(TestCase): diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index 57ef5b1b3..990253e09 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -7,9 +7,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption class TestHydraulicPower(TestCase): diff --git a/tests/test_insulation.py b/tests/test_insulation.py index 9e0dfcf8b..9d1caac84 100644 --- a/tests/test_insulation.py +++ b/tests/test_insulation.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestInsulation(TestCase): diff --git a/tests/test_max_size_and_optional_assets.py b/tests/test_max_size_and_optional_assets.py index f6eb6730b..fb835debd 100644 --- a/tests/test_max_size_and_optional_assets.py +++ b/tests/test_max_size_and_optional_assets.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index b733f7579..f42eefb93 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -6,8 +6,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_multiple_carriers.py b/tests/test_multiple_carriers.py index f049d9a5f..406fc71bf 100644 --- a/tests/test_multiple_carriers.py +++ b/tests/test_multiple_carriers.py @@ -3,8 +3,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 5eb254b48..dad898f68 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_network_simulator.py b/tests/test_network_simulator.py index 0bc21490b..7abf80bc5 100644 --- a/tests/test_network_simulator.py +++ b/tests/test_network_simulator.py @@ -5,9 +5,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.workflows import NetworkSimulatorHIGHSTestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows import NetworkSimulatorHIGHSTestCase from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_pipe_diameter_sizing.py b/tests/test_pipe_diameter_sizing.py index 5071f726f..8c4b14d6c 100644 --- a/tests/test_pipe_diameter_sizing.py +++ b/tests/test_pipe_diameter_sizing.py @@ -6,9 +6,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network._darcy_weisbach import friction_factor -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido._darcy_weisbach import friction_factor +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 453305ed5..1b0574cd9 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -3,8 +3,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index d8ad6d7ba..675f5110e 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -8,9 +8,9 @@ import pandas as pd -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import InfluxDBProfileReader, ProfileReaderFromFile -from rtctools_heat_network.workflows import EndScenarioSizingStagedHIGHS +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import InfluxDBProfileReader, ProfileReaderFromFile +from mesido.workflows import EndScenarioSizingStagedHIGHS class MockInfluxDBProfileReader(InfluxDBProfileReader): diff --git a/tests/test_pycml.py b/tests/test_pycml.py index 5264d2123..b05013865 100644 --- a/tests/test_pycml.py +++ b/tests/test_pycml.py @@ -2,7 +2,7 @@ import numpy as np -from rtctools_heat_network.pycml import Model, Variable +from mesido.pycml import Model, Variable class TestPyCML(TestCase): diff --git a/tests/test_setpoint_constraints.py b/tests/test_setpoint_constraints.py index a5fbb7f9d..eca280e44 100644 --- a/tests/test_setpoint_constraints.py +++ b/tests/test_setpoint_constraints.py @@ -7,8 +7,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestSetpointConstraints(TestCase): diff --git a/tests/test_temperature_ates_hp.py b/tests/test_temperature_ates_hp.py index cfb3fa899..bc379e7d1 100644 --- a/tests/test_temperature_ates_hp.py +++ b/tests/test_temperature_ates_hp.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_topo_constraints.py b/tests/test_topo_constraints.py index 74a2886f5..f0636694a 100644 --- a/tests/test_topo_constraints.py +++ b/tests/test_topo_constraints.py @@ -8,11 +8,11 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network._heat_loss_u_values_pipe import pipe_heat_loss -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.pipe_class import PipeClass -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido._heat_loss_u_values_pipe import pipe_heat_loss +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.pipe_class import PipeClass +from mesido.techno_economic_mixin import TechnoEconomicMixin MIP_TOLERANCE = 1e-8 diff --git a/tests/test_varying_temperature.py b/tests/test_varying_temperature.py index ef74c15e8..43be913ec 100644 --- a/tests/test_varying_temperature.py +++ b/tests/test_varying_temperature.py @@ -5,9 +5,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network._heat_loss_u_values_pipe import pipe_heat_loss -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido._heat_loss_u_values_pipe import pipe_heat_loss +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_warmingup_unit_cases.py b/tests/test_warmingup_unit_cases.py index acffdbc06..9573a605c 100644 --- a/tests/test_warmingup_unit_cases.py +++ b/tests/test_warmingup_unit_cases.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test From 762a904a66591c96c43a890559bd2017f4aaa5e6 Mon Sep 17 00:00:00 2001 From: Rojer Date: Sun, 24 Mar 2024 17:52:13 +0100 Subject: [PATCH 003/376] full renaming --- MANIFEST.in | 6 +- examples/municipality/src/run_municipality.py | 4 +- examples/pipe_diameter_sizing/src/example.py | 10 +-- .../__init__.py | 0 .../_darcy_weisbach.py | 10 +-- .../_heat_loss_u_values_pipe.py | 4 +- .../_version.py | 0 .../asset_sizing_mixin.py | 30 ++++----- .../base_component_type_mixin.py | 0 .../component_type_mixin.py | 0 .../constants.py | 0 .../control_variables.py | 0 .../demand_insulation_class.py | 0 .../electricity_physics_mixin.py | 2 +- .../esdl/__init__.py | 0 .../esdl/_edr_pipes.json | 0 .../esdl/_exceptions.py | 0 .../esdl/_update_edr_pipes_json.py | 2 +- .../esdl/asset_to_component_base.py | 2 +- .../esdl/common.py | 0 .../esdl/edr_pipe_class.py | 4 +- .../esdl/esdl_additional_vars_mixin.py | 2 +- .../esdl/esdl_heat_model.py | 8 +-- .../esdl/esdl_mixin.py | 18 +++--- .../esdl/esdl_model_base.py | 4 +- .../esdl/esdl_parser.py | 0 .../esdl/esdl_qth_model.py | 6 +- .../esdl/profile_parser.py | 2 +- .../financial_mixin.py | 7 ++- .../gas_physics_mixin.py | 6 +- .../head_loss_class.py | 14 ++--- .../heat_network_common.py | 0 .../heat_physics_mixin.py | 32 +++++----- .../influxdb/__init__.py | 0 .../influxdb/profile.py | 0 .../WarmingUp/HeatNetwork/Heat/Buffer.mo | 0 .../WarmingUp/HeatNetwork/Heat/CheckValve.mo | 0 .../HeatNetwork/Heat/ControlValve.mo | 0 .../WarmingUp/HeatNetwork/Heat/Demand.mo | 0 .../HeatNetwork/Heat/GeothermalSource.mo | 0 .../WarmingUp/HeatNetwork/Heat/HeatPort.mo | 0 .../WarmingUp/HeatNetwork/Heat/HeatTwoPort.mo | 0 .../WarmingUp/HeatNetwork/Heat/Node.mo | 0 .../WarmingUp/HeatNetwork/Heat/Pipe.mo | 0 .../WarmingUp/HeatNetwork/Heat/Pump.mo | 0 .../WarmingUp/HeatNetwork/Heat/Source.mo | 0 .../HeatNetwork/Heat/_NonStorageComponent.mo | 0 .../WarmingUp/HeatNetwork/Heat/package.mo | 0 .../WarmingUp/HeatNetwork/QTH/Buffer.mo | 0 .../WarmingUp/HeatNetwork/QTH/CheckValve.mo | 0 .../WarmingUp/HeatNetwork/QTH/ControlValve.mo | 0 .../WarmingUp/HeatNetwork/QTH/Demand.mo | 0 .../HeatNetwork/QTH/GeothermalSource.mo | 0 .../WarmingUp/HeatNetwork/QTH/Node.mo | 0 .../WarmingUp/HeatNetwork/QTH/Pipe.mo | 0 .../WarmingUp/HeatNetwork/QTH/Pump.mo | 0 .../WarmingUp/HeatNetwork/QTH/QTHPort.mo | 0 .../WarmingUp/HeatNetwork/QTH/QTHTwoPort.mo | 0 .../WarmingUp/HeatNetwork/QTH/Source.mo | 0 .../QTH/_FluidPropertiesComponent.mo | 0 .../HeatNetwork/QTH/_NonStorageComponent.mo | 0 .../WarmingUp/HeatNetwork/QTH/package.mo | 0 .../modelica/WarmingUp/HeatNetwork/package.mo | 0 .../modelica/WarmingUp/package.mo | 0 .../network_common.py | 0 .../physics_mixin.py | 2 +- .../pipe_class.py | 4 +- .../pycml/__init__.py | 0 .../pycml/component_library/__init__.py | 0 .../pycml/component_library/milp/__init__.py | 0 .../milp/_internal/__init__.py | 0 .../milp/_internal/electricity_component.py | 2 +- .../milp/_internal/gas_component.py | 2 +- .../milp/_internal/heat_component.py | 2 +- .../milp/electricity/__init__.py | 0 .../milp/electricity/electricity_base.py | 2 +- .../milp/electricity/electricity_cable.py | 4 +- .../milp/electricity/electricity_demand.py | 2 +- .../milp/electricity/electricity_node.py | 2 +- .../milp/electricity/electricity_source.py | 2 +- .../milp/electricity/heat_pump_elec.py | 4 +- .../milp/electricity/windpark.py | 2 +- .../component_library/milp/gas/__init__.py | 0 .../component_library/milp/gas/gas_base.py | 2 +- .../component_library/milp/gas/gas_demand.py | 2 +- .../component_library/milp/gas/gas_node.py | 2 +- .../component_library/milp/gas/gas_pipe.py | 4 +- .../component_library/milp/gas/gas_source.py | 2 +- .../milp/gas/gas_substation.py | 0 .../milp/gas/gas_tank_storage.py | 4 +- .../component_library/milp/heat/__init__.py | 0 .../milp/heat/_non_storage_component.py | 4 +- .../pycml/component_library/milp/heat/ates.py | 4 +- .../milp/heat/check_valve.py | 2 +- .../milp/heat/control_valve.py | 2 +- .../milp/heat/geothermal_source.py | 0 .../milp/heat/heat_buffer.py | 6 +- .../milp/heat/heat_demand.py | 2 +- .../milp/heat/heat_exchanger.py | 6 +- .../milp/heat/heat_four_port.py | 4 +- .../component_library/milp/heat/heat_pipe.py | 6 +- .../component_library/milp/heat/heat_port.py | 4 +- .../component_library/milp/heat/heat_pump.py | 6 +- .../milp/heat/heat_source.py | 2 +- .../milp/heat/heat_two_port.py | 2 +- .../pycml/component_library/milp/heat/node.py | 4 +- .../pycml/component_library/milp/heat/pump.py | 2 +- .../milp/multicommodity/__init__.py | 0 .../milp/multicommodity/electrolyzer.py | 10 +-- .../pycml/component_library/qth/__init__.py | 0 .../qth/_fluid_properties_component.py | 0 .../qth/_internal/__init__.py | 0 .../qth/_internal/qth_component.py | 5 ++ .../qth/_non_storage_component.py | 2 +- .../pycml/component_library/qth/buffer.py | 6 +- .../component_library/qth/check_valve.py | 2 +- .../component_library/qth/control_valve.py | 2 +- .../pycml/component_library/qth/demand.py | 2 +- .../qth/geothermal_source.py | 0 .../pycml/component_library/qth/node.py | 2 +- .../pycml/component_library/qth/pipe.py | 4 +- .../pycml/component_library/qth/pump.py | 2 +- .../pycml/component_library/qth/qth_port.py | 2 +- .../component_library/qth/qth_two_port.py | 0 .../pycml/component_library/qth/source.py | 2 +- .../pycml/model_base.py | 0 .../pycml/pycml_mixin.py | 0 .../qth_not_maintained/__init__.py | 0 .../bounds_to_pipe_flow_directions_mixin.py | 4 +- .../qth_not_maintained/head_loss_mixin.py | 14 ++--- .../qth_not_maintained/qth_loop_mixin.py | 2 +- .../qth_not_maintained/qth_mixin.py | 8 +-- .../qth_not_maintained/util.py | 0 .../techno_economic_mixin.py | 0 .../topology.py | 2 +- .../workflows/__init__.py | 0 .../workflows/goals/__init__.py | 0 .../workflows/goals/minimize_tco_goal.py | 0 .../workflows/grow_workflow.py | 6 +- .../workflows/io/__init__.py | 0 .../io/read_files_and_create_influxdb.py | 0 .../workflows/io/write_output.py | 2 +- .../workflows/simulator_workflow.py | 6 +- .../workflows/utils/__init__.py | 0 .../workflows/utils/adapt_profiles.py | 0 .../workflows/utils/helpers.py | 0 .../qth/_internal/qth_component.py | 5 -- tests/models/absolute_heat/src/example.py | 8 +-- .../src/run_ates_temperature.py | 19 +++--- tests/models/basic_buffer/src/compare.py | 8 +-- tests/models/basic_buffer/src/model_heat.py | 4 +- tests/models/basic_buffer/src/model_qth.py | 4 +- .../src/heat_comparison.py | 8 +-- .../basic_source_and_demand/src/model_heat.py | 4 +- .../basic_source_and_demand/src/model_qth.py | 4 +- .../src/qth_comparison.py | 10 +-- .../src/qth_minimize_temperatures.py | 8 +-- .../double_pipe_heat/src/double_pipe_heat.py | 6 +- tests/models/double_pipe_heat/src/model.py | 4 +- .../src/cq2_inequality_vs_equality.py | 4 +- .../double_pipe_qth/src/double_pipe_qth.py | 6 +- .../src/single_pipe_no_headloss.py | 2 +- .../electricity_cable_topology/src/example.py | 10 +-- tests/models/emerge/src/example.py | 12 ++-- tests/models/gas_pipe_topology/src/example.py | 8 +-- .../heat_exchange/src/run_heat_exchanger.py | 10 +-- tests/models/heatpump/src/run_heat_pump.py | 8 +-- tests/models/insulation/src/run_insulation.py | 10 +-- .../src/run_multiple_carriers.py | 8 +-- .../src/run_multiple_gas_carriers.py | 8 +-- .../pipe_test/src/run_hydraulic_power.py | 13 ++-- tests/models/simple_buffer/src/model.py | 4 +- .../models/simple_buffer/src/simple_buffer.py | 6 +- .../source_pipe_sink/src/double_pipe_heat.py | 19 +++--- .../src/double_pipe_heat.py | 4 +- .../src/run_ates.py | 8 +-- .../src/run_annualized.py | 6 +- .../src/run_ates.py | 8 +-- .../src/run_ates.py | 8 +-- .../src/run_ates.py | 8 +-- tests/models/unit_cases/case_1a/src/run_1a.py | 10 +-- .../unit_cases/case_1a_t_var/src/run_1a.py | 10 +-- .../case_2a/src/equal_temperatures.py | 8 +-- tests/models/unit_cases/case_2a/src/run_2a.py | 10 +-- tests/models/unit_cases/case_3a/src/run_3a.py | 12 ++-- .../unit_cases/case_3a_setpoint/src/run_3a.py | 6 +- .../bus_networks/src/example.py | 8 +-- .../electrolyzer/src/example.py | 8 +-- .../heat_pump_elec/src/run_hp_elec.py | 8 +-- .../source_sink_cable/src/example.py | 10 +-- .../multi_demand_source_node/src/run_test.py | 8 +-- .../src/run_source_sink.py | 8 +-- .../source_sink/src/run_source_sink.py | 8 +-- tests/test_absolute_heat.py | 4 +- tests/test_asset_is_realized.py | 4 +- tests/test_ates.py | 4 +- tests/test_cable_topology_optimization.py | 4 +- tests/test_electric_bus.py | 4 +- tests/test_electric_source_sink.py | 4 +- tests/test_electrolyzer.py | 4 +- tests/test_end_scenario_sizing.py | 11 ++-- tests/test_end_scenario_sizing_annualized.py | 4 +- tests/test_esdl_parsing.py | 4 +- tests/test_esdl_pycml.py | 4 +- tests/test_gas_multi_demand_source_node.py | 4 +- tests/test_gas_pipe_topology_optimization.py | 12 ++-- tests/test_gas_source_sink.py | 12 ++-- tests/test_head_loss.py | 62 +++++++++---------- tests/test_head_loss_class.py | 4 +- tests/test_heat.py | 30 ++++----- tests/test_heat_loss_u_values.py | 2 +- tests/test_hydraulic_power.py | 8 +-- tests/test_insulation.py | 4 +- tests/test_max_size_and_optional_assets.py | 4 +- tests/test_multicommodity.py | 4 +- tests/test_multiple_carriers.py | 4 +- ...est_multiple_in_and_out_port_components.py | 4 +- tests/test_network_simulator.py | 6 +- tests/test_pipe_diameter_sizing.py | 8 +-- tests/test_producer_profiles.py | 4 +- tests/test_profile_parsing.py | 6 +- tests/test_pycml.py | 2 +- tests/test_setpoint_constraints.py | 4 +- tests/test_temperature_ates_hp.py | 4 +- tests/test_topo_constraints.py | 10 +-- tests/test_varying_temperature.py | 6 +- tests/test_warmingup_unit_cases.py | 4 +- 227 files changed, 496 insertions(+), 499 deletions(-) rename src/{rtctools_heat_network => mesido}/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/_darcy_weisbach.py (95%) rename src/{rtctools_heat_network => mesido}/_heat_loss_u_values_pipe.py (99%) rename src/{rtctools_heat_network => mesido}/_version.py (100%) rename src/{rtctools_heat_network => mesido}/asset_sizing_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/base_component_type_mixin.py (100%) rename src/{rtctools_heat_network => mesido}/component_type_mixin.py (100%) rename src/{rtctools_heat_network => mesido}/constants.py (100%) rename src/{rtctools_heat_network => mesido}/control_variables.py (100%) rename src/{rtctools_heat_network => mesido}/demand_insulation_class.py (100%) rename src/{rtctools_heat_network => mesido}/electricity_physics_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/esdl/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/esdl/_edr_pipes.json (100%) rename src/{rtctools_heat_network => mesido}/esdl/_exceptions.py (100%) rename src/{rtctools_heat_network => mesido}/esdl/_update_edr_pipes_json.py (97%) rename src/{rtctools_heat_network => mesido}/esdl/asset_to_component_base.py (99%) rename src/{rtctools_heat_network => mesido}/esdl/common.py (100%) rename src/{rtctools_heat_network => mesido}/esdl/edr_pipe_class.py (95%) rename src/{rtctools_heat_network => mesido}/esdl/esdl_additional_vars_mixin.py (98%) rename src/{rtctools_heat_network => mesido}/esdl/esdl_heat_model.py (99%) rename src/{rtctools_heat_network => mesido}/esdl/esdl_mixin.py (97%) rename src/{rtctools_heat_network => mesido}/esdl/esdl_model_base.py (99%) rename src/{rtctools_heat_network => mesido}/esdl/esdl_parser.py (100%) rename src/{rtctools_heat_network => mesido}/esdl/esdl_qth_model.py (98%) rename src/{rtctools_heat_network => mesido}/esdl/profile_parser.py (99%) rename src/{rtctools_heat_network => mesido}/financial_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/gas_physics_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/head_loss_class.py (99%) rename src/{rtctools_heat_network => mesido}/heat_network_common.py (100%) rename src/{rtctools_heat_network => mesido}/heat_physics_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/influxdb/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/influxdb/profile.py (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/Buffer.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/CheckValve.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/ControlValve.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/Demand.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/GeothermalSource.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/HeatPort.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/HeatTwoPort.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/Node.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/Pipe.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/Pump.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/Source.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/_NonStorageComponent.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/Heat/package.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/Buffer.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/CheckValve.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/ControlValve.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/Demand.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/GeothermalSource.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/Node.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/Pipe.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/Pump.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/QTHPort.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/QTHTwoPort.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/Source.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/_FluidPropertiesComponent.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/_NonStorageComponent.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/QTH/package.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/HeatNetwork/package.mo (100%) rename src/{rtctools_heat_network => mesido}/modelica/WarmingUp/package.mo (100%) rename src/{rtctools_heat_network => mesido}/network_common.py (100%) rename src/{rtctools_heat_network => mesido}/physics_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/pipe_class.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/_internal/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/_internal/electricity_component.py (55%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/_internal/gas_component.py (52%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/_internal/heat_component.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/electricity_base.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/electricity_cable.py (96%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/electricity_demand.py (95%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/electricity_node.py (96%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/electricity_source.py (95%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/heat_pump_elec.py (83%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/electricity/windpark.py (84%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_base.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_demand.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_node.py (95%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_pipe.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_source.py (93%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_substation.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/gas/gas_tank_storage.py (91%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/_non_storage_component.py (92%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/ates.py (97%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/check_valve.py (93%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/control_valve.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/geothermal_source.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_buffer.py (95%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_demand.py (97%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_exchanger.py (93%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_four_port.py (85%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_pipe.py (95%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_port.py (78%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_pump.py (93%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_source.py (98%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/heat_two_port.py (85%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/node.py (88%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/heat/pump.py (95%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/multicommodity/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/milp/multicommodity/electrolyzer.py (78%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/_fluid_properties_component.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/_internal/__init__.py (100%) create mode 100644 src/mesido/pycml/component_library/qth/_internal/qth_component.py rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/_non_storage_component.py (91%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/buffer.py (95%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/check_valve.py (91%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/control_valve.py (89%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/demand.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/geothermal_source.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/node.py (93%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/pipe.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/pump.py (91%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/qth_port.py (88%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/qth_two_port.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/component_library/qth/source.py (94%) rename src/{rtctools_heat_network => mesido}/pycml/model_base.py (100%) rename src/{rtctools_heat_network => mesido}/pycml/pycml_mixin.py (100%) rename src/{rtctools_heat_network => mesido}/qth_not_maintained/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py (94%) rename src/{rtctools_heat_network => mesido}/qth_not_maintained/head_loss_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/qth_not_maintained/qth_loop_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/qth_not_maintained/qth_mixin.py (99%) rename src/{rtctools_heat_network => mesido}/qth_not_maintained/util.py (100%) rename src/{rtctools_heat_network => mesido}/techno_economic_mixin.py (100%) rename src/{rtctools_heat_network => mesido}/topology.py (98%) rename src/{rtctools_heat_network => mesido}/workflows/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/goals/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/goals/minimize_tco_goal.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/grow_workflow.py (99%) rename src/{rtctools_heat_network => mesido}/workflows/io/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/io/read_files_and_create_influxdb.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/io/write_output.py (99%) rename src/{rtctools_heat_network => mesido}/workflows/simulator_workflow.py (99%) rename src/{rtctools_heat_network => mesido}/workflows/utils/__init__.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/utils/adapt_profiles.py (100%) rename src/{rtctools_heat_network => mesido}/workflows/utils/helpers.py (100%) delete mode 100644 src/rtctools_heat_network/pycml/component_library/qth/_internal/qth_component.py diff --git a/MANIFEST.in b/MANIFEST.in index 2cbe862c4..ce3306345 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,4 @@ -recursive-include src/rtctools_heat_network/modelica/WarmingUp * +recursive-include src/mesido/modelica/WarmingUp * include versioneer.py -include src/rtctools_heat_network/_version.py -include src/rtctools_heat_network/esdl/_edr_pipes.json +include src/mesido/_version.py +include src/mesido/esdl/_edr_pipes.json diff --git a/examples/municipality/src/run_municipality.py b/examples/municipality/src/run_municipality.py index 7d41f39b9..09add0e7d 100644 --- a/examples/municipality/src/run_municipality.py +++ b/examples/municipality/src/run_municipality.py @@ -1,7 +1,7 @@ from pathlib import Path -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.workflows import EndScenarioSizingStagedHIGHS, run_end_scenario_sizing +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.workflows import EndScenarioSizingStagedHIGHS, run_end_scenario_sizing if __name__ == "__main__": diff --git a/examples/pipe_diameter_sizing/src/example.py b/examples/pipe_diameter_sizing/src/example.py index 7e7ca070d..797c020c7 100644 --- a/examples/pipe_diameter_sizing/src/example.py +++ b/examples/pipe_diameter_sizing/src/example.py @@ -15,11 +15,11 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.pipe_class import PipeClass -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.pipe_class import PipeClass +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/src/rtctools_heat_network/__init__.py b/src/mesido/__init__.py similarity index 100% rename from src/rtctools_heat_network/__init__.py rename to src/mesido/__init__.py diff --git a/src/rtctools_heat_network/_darcy_weisbach.py b/src/mesido/_darcy_weisbach.py similarity index 95% rename from src/rtctools_heat_network/_darcy_weisbach.py rename to src/mesido/_darcy_weisbach.py index 395c764e3..fb08078cb 100644 --- a/src/rtctools_heat_network/_darcy_weisbach.py +++ b/src/mesido/_darcy_weisbach.py @@ -6,8 +6,8 @@ import numpy as np -from .constants import GRAVITATIONAL_CONSTANT -from .network_common import NetworkSettings +from mesido.constants import GRAVITATIONAL_CONSTANT +from mesido.network_common import NetworkSettings def _kinematic_viscosity(temperature, network_type=NetworkSettings.NETWORK_TYPE_HEAT, pressure=0.0): @@ -127,7 +127,7 @@ def head_loss( pressure=pressure, ) - return length * f / (2 * GRAVITATIONAL_CONSTANT) * velocity**2 / diameter + return length * f / (2 * GRAVITATIONAL_CONSTANT) * velocity ** 2 / diameter def get_linear_pipe_dh_vs_q_fit( @@ -144,7 +144,7 @@ def get_linear_pipe_dh_vs_q_fit( This function returns a set of coefficients to approximate a head loss curve with linear functions in the form of: head loss = b + (a * Q) """ - area = math.pi * diameter**2 / 4 + area = math.pi * diameter ** 2 / 4 v_points = np.linspace(0.0, v_max, n_lines + 1) q_points = v_points * area @@ -184,7 +184,7 @@ def get_linear_pipe_power_hydraulic_vs_q_fit( """ power_hydraulic = b + (a * Q) """ - area = math.pi * diameter**2 / 4.0 + area = math.pi * diameter ** 2 / 4.0 v_points = np.linspace(0.0, v_max, n_lines + 1) q_points = v_points * area diff --git a/src/rtctools_heat_network/_heat_loss_u_values_pipe.py b/src/mesido/_heat_loss_u_values_pipe.py similarity index 99% rename from src/rtctools_heat_network/_heat_loss_u_values_pipe.py rename to src/mesido/_heat_loss_u_values_pipe.py index d3fb7889b..b6456835a 100644 --- a/src/rtctools_heat_network/_heat_loss_u_values_pipe.py +++ b/src/mesido/_heat_loss_u_values_pipe.py @@ -86,8 +86,8 @@ def heat_loss_u_values_pipe( ) if neighbour: - u_1 = (r_subsoil + r_ins) / ((r_subsoil + r_ins) ** 2 - r_m**2) - u_2 = r_m / ((r_subsoil + r_ins) ** 2 - r_m**2) + u_1 = (r_subsoil + r_ins) / ((r_subsoil + r_ins) ** 2 - r_m ** 2) + u_2 = r_m / ((r_subsoil + r_ins) ** 2 - r_m ** 2) else: u_1 = 1 / (r_subsoil + r_ins) u_2 = 0 diff --git a/src/rtctools_heat_network/_version.py b/src/mesido/_version.py similarity index 100% rename from src/rtctools_heat_network/_version.py rename to src/mesido/_version.py diff --git a/src/rtctools_heat_network/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py similarity index 99% rename from src/rtctools_heat_network/asset_sizing_mixin.py rename to src/mesido/asset_sizing_mixin.py index 5c716dcc4..ac98a23b2 100644 --- a/src/rtctools_heat_network/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -10,7 +10,7 @@ ) from rtctools.optimization.timeseries import Timeseries -from rtctools_heat_network._heat_loss_u_values_pipe import pipe_heat_loss +from mesido._heat_loss_u_values_pipe import pipe_heat_loss from .base_component_type_mixin import BaseComponentTypeMixin @@ -222,12 +222,12 @@ def pre(self): unique_cable_classes = self.get_unique_cable_classes() for cc in unique_cable_classes: cable_class_count = f"{cc.name}__global_cable_class_count" - self.__electricity_cable_topo_global_cable_class_count_var[cable_class_count] = ( - ca.MX.sym(cable_class_count) - ) - self.__electricity_cable_topo_global_cable_class_count_map[f"{cc.name}"] = ( + self.__electricity_cable_topo_global_cable_class_count_var[ cable_class_count - ) + ] = ca.MX.sym(cable_class_count) + self.__electricity_cable_topo_global_cable_class_count_map[ + f"{cc.name}" + ] = cable_class_count self.__electricity_cable_topo_global_cable_class_count_var_bounds[cable_class_count] = ( 0.0, len(self.energy_system_components.get("electricity_cable", [])), @@ -340,9 +340,9 @@ def pre(self): self._electricity_cable_topo_cable_class_map[cable][ c ] = cable_class_var_name - self.__electricity_cable_topo_cable_class_var[cable_class_var_name] = ( - ca.MX.sym(cable_class_var_name) - ) + self.__electricity_cable_topo_cable_class_var[ + cable_class_var_name + ] = ca.MX.sym(cable_class_var_name) self.__electricity_cable_topo_cable_class_var_bounds[ cable_class_var_name ] = (0.0, 1.0) @@ -693,9 +693,9 @@ def pre(self): self.__pipe_topo_pipe_class_discharge_ordering_map[pipe][ c ] = pipe_class_ordering_name - self.__pipe_topo_pipe_class_discharge_ordering_var[pipe_class_ordering_name] = ( - ca.MX.sym(pipe_class_ordering_name) - ) + self.__pipe_topo_pipe_class_discharge_ordering_var[ + pipe_class_ordering_name + ] = ca.MX.sym(pipe_class_ordering_name) self.__pipe_topo_pipe_class_discharge_ordering_var_bounds[ pipe_class_ordering_name ] = (0.0, 1.0) @@ -703,9 +703,9 @@ def pre(self): self.__pipe_topo_pipe_class_cost_ordering_map[pipe][ c ] = pipe_class_cost_ordering_name - self.__pipe_topo_pipe_class_cost_ordering_var[pipe_class_cost_ordering_name] = ( - ca.MX.sym(pipe_class_cost_ordering_name) - ) + self.__pipe_topo_pipe_class_cost_ordering_var[ + pipe_class_cost_ordering_name + ] = ca.MX.sym(pipe_class_cost_ordering_name) self.__pipe_topo_pipe_class_cost_ordering_var_bounds[ pipe_class_cost_ordering_name ] = (0.0, 1.0) diff --git a/src/rtctools_heat_network/base_component_type_mixin.py b/src/mesido/base_component_type_mixin.py similarity index 100% rename from src/rtctools_heat_network/base_component_type_mixin.py rename to src/mesido/base_component_type_mixin.py diff --git a/src/rtctools_heat_network/component_type_mixin.py b/src/mesido/component_type_mixin.py similarity index 100% rename from src/rtctools_heat_network/component_type_mixin.py rename to src/mesido/component_type_mixin.py diff --git a/src/rtctools_heat_network/constants.py b/src/mesido/constants.py similarity index 100% rename from src/rtctools_heat_network/constants.py rename to src/mesido/constants.py diff --git a/src/rtctools_heat_network/control_variables.py b/src/mesido/control_variables.py similarity index 100% rename from src/rtctools_heat_network/control_variables.py rename to src/mesido/control_variables.py diff --git a/src/rtctools_heat_network/demand_insulation_class.py b/src/mesido/demand_insulation_class.py similarity index 100% rename from src/rtctools_heat_network/demand_insulation_class.py rename to src/mesido/demand_insulation_class.py diff --git a/src/rtctools_heat_network/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py similarity index 99% rename from src/rtctools_heat_network/electricity_physics_mixin.py rename to src/mesido/electricity_physics_mixin.py index bb32081c3..7b23fddd5 100644 --- a/src/rtctools_heat_network/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -256,7 +256,7 @@ def __electricity_cable_mixing_path_constraints(self, ensemble_member): cable_classes = self._electricity_cable_topo_cable_class_map[cable] max_res = max([cc.resistance for cc in cable_classes]) max_i_max = max([cc.maximum_current for cc in cable_classes]) - big_m = max_i_max**2 * max_res * length + big_m = max_i_max ** 2 * max_res * length constraint_nominal = max_i_max * v_nom * max_res * length for cc_data, cc_name in cable_classes.items(): if cc_name != "None": diff --git a/src/rtctools_heat_network/esdl/__init__.py b/src/mesido/esdl/__init__.py similarity index 100% rename from src/rtctools_heat_network/esdl/__init__.py rename to src/mesido/esdl/__init__.py diff --git a/src/rtctools_heat_network/esdl/_edr_pipes.json b/src/mesido/esdl/_edr_pipes.json similarity index 100% rename from src/rtctools_heat_network/esdl/_edr_pipes.json rename to src/mesido/esdl/_edr_pipes.json diff --git a/src/rtctools_heat_network/esdl/_exceptions.py b/src/mesido/esdl/_exceptions.py similarity index 100% rename from src/rtctools_heat_network/esdl/_exceptions.py rename to src/mesido/esdl/_exceptions.py diff --git a/src/rtctools_heat_network/esdl/_update_edr_pipes_json.py b/src/mesido/esdl/_update_edr_pipes_json.py similarity index 97% rename from src/rtctools_heat_network/esdl/_update_edr_pipes_json.py rename to src/mesido/esdl/_update_edr_pipes_json.py index eecdf382c..f6ce54530 100644 --- a/src/rtctools_heat_network/esdl/_update_edr_pipes_json.py +++ b/src/mesido/esdl/_update_edr_pipes_json.py @@ -4,7 +4,7 @@ import requests -from rtctools_heat_network._heat_loss_u_values_pipe import heat_loss_u_values_pipe +from mesido._heat_loss_u_values_pipe import heat_loss_u_values_pipe def main(): diff --git a/src/rtctools_heat_network/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py similarity index 99% rename from src/rtctools_heat_network/esdl/asset_to_component_base.py rename to src/mesido/esdl/asset_to_component_base.py index 9b0377177..7e43833e2 100644 --- a/src/rtctools_heat_network/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -8,7 +8,7 @@ import esdl from esdl import TimeUnitEnum, UnitEnum -from rtctools_heat_network.pycml import Model as _Model +from mesido.pycml import Model as _Model from ._exceptions import _RetryLaterException from .common import Asset diff --git a/src/rtctools_heat_network/esdl/common.py b/src/mesido/esdl/common.py similarity index 100% rename from src/rtctools_heat_network/esdl/common.py rename to src/mesido/esdl/common.py diff --git a/src/rtctools_heat_network/esdl/edr_pipe_class.py b/src/mesido/esdl/edr_pipe_class.py similarity index 95% rename from src/rtctools_heat_network/esdl/edr_pipe_class.py rename to src/mesido/esdl/edr_pipe_class.py index 1893207d4..54aa7620f 100644 --- a/src/rtctools_heat_network/esdl/edr_pipe_class.py +++ b/src/mesido/esdl/edr_pipe_class.py @@ -1,7 +1,7 @@ from dataclasses import dataclass -from rtctools_heat_network.esdl.asset_to_component_base import _AssetToComponentBase -from rtctools_heat_network.pipe_class import GasPipeClass, PipeClass +from mesido.esdl.asset_to_component_base import _AssetToComponentBase +from mesido.pipe_class import GasPipeClass, PipeClass @dataclass(frozen=True) diff --git a/src/rtctools_heat_network/esdl/esdl_additional_vars_mixin.py b/src/mesido/esdl/esdl_additional_vars_mixin.py similarity index 98% rename from src/rtctools_heat_network/esdl/esdl_additional_vars_mixin.py rename to src/mesido/esdl/esdl_additional_vars_mixin.py index 11d4fbdae..a3d700de4 100644 --- a/src/rtctools_heat_network/esdl/esdl_additional_vars_mixin.py +++ b/src/mesido/esdl/esdl_additional_vars_mixin.py @@ -8,7 +8,7 @@ CollocatedIntegratedOptimizationProblem, ) -from rtctools_heat_network.network_common import NetworkSettings +from mesido.network_common import NetworkSettings logger = logging.getLogger("rtctools_heat_network") diff --git a/src/rtctools_heat_network/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py similarity index 99% rename from src/rtctools_heat_network/esdl/esdl_heat_model.py rename to src/mesido/esdl/esdl_heat_model.py index c4fc45777..267bd54f2 100644 --- a/src/rtctools_heat_network/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -6,7 +6,7 @@ import esdl -from rtctools_heat_network.pycml.component_library.milp import ( +from mesido.pycml.component_library.milp import ( ATES, CheckValve, ControlValve, @@ -433,9 +433,9 @@ def convert_heat_pipe( ) = self._pipe_get_diameter_and_insulation(asset) if isinstance(asset.in_ports[0].carrier, esdl.esdl.GasCommodity): - q_nominal = math.pi * diameter**2 / 4.0 * self.v_max_gas / 2.0 + q_nominal = math.pi * diameter ** 2 / 4.0 * self.v_max_gas / 2.0 self._set_q_nominal(asset, q_nominal) - q_max = math.pi * diameter**2 / 4.0 * self.v_max_gas + q_max = math.pi * diameter ** 2 / 4.0 * self.v_max_gas self._set_q_max(asset, q_max) pressure = asset.in_ports[0].carrier.pressure * 1.0e5 density = self.get_density(asset.name, asset.in_ports[0].carrier) @@ -464,7 +464,7 @@ def convert_heat_pipe( temperature = temperature_modifiers["temperature"] # Compute the maximum milp flow based on an assumed maximum velocity - area = math.pi * diameter**2 / 4.0 + area = math.pi * diameter ** 2 / 4.0 q_max = area * self.v_max q_nominal = area * self.v_nominal diff --git a/src/rtctools_heat_network/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py similarity index 97% rename from src/rtctools_heat_network/esdl/esdl_mixin.py rename to src/mesido/esdl/esdl_mixin.py index 4b9e3796a..82b1ea659 100644 --- a/src/rtctools_heat_network/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -17,17 +17,17 @@ ) from rtctools.optimization.io_mixin import IOMixin -from rtctools_heat_network.component_type_mixin import ( +from mesido.component_type_mixin import ( ModelicaComponentTypeMixin, ) -from rtctools_heat_network.esdl.asset_to_component_base import _AssetToComponentBase -from rtctools_heat_network.esdl.edr_pipe_class import EDRGasPipeClass, EDRPipeClass -from rtctools_heat_network.esdl.esdl_parser import ESDLStringParser -from rtctools_heat_network.esdl.profile_parser import BaseProfileReader, InfluxDBProfileReader -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.pipe_class import GasPipeClass, PipeClass -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin +from mesido.esdl.asset_to_component_base import _AssetToComponentBase +from mesido.esdl.edr_pipe_class import EDRGasPipeClass, EDRPipeClass +from mesido.esdl.esdl_parser import ESDLStringParser +from mesido.esdl.profile_parser import BaseProfileReader, InfluxDBProfileReader +from mesido.physics_mixin import PhysicsMixin +from mesido.pipe_class import GasPipeClass, PipeClass +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin from .common import Asset from .esdl_heat_model import ESDLHeatModel diff --git a/src/rtctools_heat_network/esdl/esdl_model_base.py b/src/mesido/esdl/esdl_model_base.py similarity index 99% rename from src/rtctools_heat_network/esdl/esdl_model_base.py rename to src/mesido/esdl/esdl_model_base.py index 1bd2abacd..37eb9b9c5 100644 --- a/src/rtctools_heat_network/esdl/esdl_model_base.py +++ b/src/mesido/esdl/esdl_model_base.py @@ -4,8 +4,8 @@ import esdl from esdl import InPort -from rtctools_heat_network.esdl.asset_to_component_base import _AssetToComponentBase -from rtctools_heat_network.pycml import Model as _Model +from mesido.esdl.asset_to_component_base import _AssetToComponentBase +from mesido.pycml import Model as _Model from ._exceptions import _RetryLaterException, _SkipAssetException diff --git a/src/rtctools_heat_network/esdl/esdl_parser.py b/src/mesido/esdl/esdl_parser.py similarity index 100% rename from src/rtctools_heat_network/esdl/esdl_parser.py rename to src/mesido/esdl/esdl_parser.py diff --git a/src/rtctools_heat_network/esdl/esdl_qth_model.py b/src/mesido/esdl/esdl_qth_model.py similarity index 98% rename from src/rtctools_heat_network/esdl/esdl_qth_model.py rename to src/mesido/esdl/esdl_qth_model.py index 651d05d80..6cc8f2b5b 100644 --- a/src/rtctools_heat_network/esdl/esdl_qth_model.py +++ b/src/mesido/esdl/esdl_qth_model.py @@ -4,8 +4,8 @@ import esdl -from rtctools_heat_network.pycml import SymbolicParameter -from rtctools_heat_network.pycml.component_library.qth import ( +from mesido.pycml import SymbolicParameter +from mesido.pycml.component_library.qth import ( Buffer, CheckValve, ControlValve, @@ -214,7 +214,7 @@ def convert_pipe(self, asset: Asset) -> Tuple[Type[Pipe], MODIFIERS]: conductivies_insulation, ) = self._pipe_get_diameter_and_insulation(asset) - area = math.pi * diameter**2 / 4.0 + area = math.pi * diameter ** 2 / 4.0 q_nominal = self.v_nominal * area q_max = self.v_max * area diff --git a/src/rtctools_heat_network/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py similarity index 99% rename from src/rtctools_heat_network/esdl/profile_parser.py rename to src/mesido/esdl/profile_parser.py index 712fa6906..644662bf8 100644 --- a/src/rtctools_heat_network/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -16,7 +16,7 @@ import rtctools.data.pi from rtctools.data.storage import DataStore -from rtctools_heat_network.esdl.common import Asset +from mesido.esdl.common import Asset logger = logging.getLogger() diff --git a/src/rtctools_heat_network/financial_mixin.py b/src/mesido/financial_mixin.py similarity index 99% rename from src/rtctools_heat_network/financial_mixin.py rename to src/mesido/financial_mixin.py index e016f0cbb..0d91e7af6 100644 --- a/src/rtctools_heat_network/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -374,9 +374,10 @@ def pre(self): var_name = f"{asset}__cumulative_investments_made_in_eur" self.__cumulative_investments_made_in_eur_map[asset] = var_name self.__cumulative_investments_made_in_eur_var[var_name] = ca.MX.sym(var_name) - self.__cumulative_investments_made_in_eur_nominals[var_name] = ( - self.variable_nominal(f"{asset}__investment_cost") - + self.variable_nominal(f"{asset}__installation_cost") + self.__cumulative_investments_made_in_eur_nominals[ + var_name + ] = self.variable_nominal(f"{asset}__investment_cost") + self.variable_nominal( + f"{asset}__installation_cost" ) self.__cumulative_investments_made_in_eur_bounds[var_name] = (0.0, np.inf) diff --git a/src/rtctools_heat_network/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py similarity index 99% rename from src/rtctools_heat_network/gas_physics_mixin.py rename to src/mesido/gas_physics_mixin.py index 008f87ec8..c0011e36e 100644 --- a/src/rtctools_heat_network/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -204,9 +204,9 @@ def _get_min_bound(bound): self._gas_pipe_linear_line_segment_map[pipe_name][ ii_line ] = pipe_linear_line_segment_var_name - self.__gas_pipe_linear_line_segment_var[pipe_linear_line_segment_var_name] = ( - initialized_vars[9][pipe_linear_line_segment_var_name] - ) + self.__gas_pipe_linear_line_segment_var[ + pipe_linear_line_segment_var_name + ] = initialized_vars[9][pipe_linear_line_segment_var_name] self.__gas_pipe_linear_line_segment_var_bounds[ pipe_linear_line_segment_var_name ] = initialized_vars[10][pipe_linear_line_segment_var_name] diff --git a/src/rtctools_heat_network/head_loss_class.py b/src/mesido/head_loss_class.py similarity index 99% rename from src/rtctools_heat_network/head_loss_class.py rename to src/mesido/head_loss_class.py index e8e502692..de176584c 100644 --- a/src/rtctools_heat_network/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -10,7 +10,7 @@ from rtctools.optimization.goal_programming_mixin_base import Goal from rtctools.optimization.optimization_problem import BT -import rtctools_heat_network._darcy_weisbach as darcy_weisbach +import mesido._darcy_weisbach as darcy_weisbach from .constants import GRAVITATIONAL_CONSTANT from .network_common import NetworkSettings @@ -109,7 +109,7 @@ class HeadLossOption(IntEnum): class _MinimizeHeadLosses(Goal): order = 1 - priority = 2**31 - 2 + priority = 2 ** 31 - 2 def __init__(self, optimization_problem, input_network_settings, *args, **kwargs): super().__init__(*args, **kwargs) @@ -159,7 +159,7 @@ def function(self, optimization_problem, ensemble_member): class _MinimizeHydraulicPower(Goal): order = 1 - priority = 2**31 - 1 + priority = 2 ** 31 - 1 def __init__( self, @@ -613,13 +613,13 @@ def _hn_pipe_head_loss( c_v = length * ff / (2 * GRAVITATIONAL_CONSTANT) / diameter linearization_velocity = maximum_velocity - linearization_head_loss = c_v * linearization_velocity**2 + linearization_head_loss = c_v * linearization_velocity ** 2 linearization_discharge = linearization_velocity * area expr = linearization_head_loss * discharge / linearization_discharge if symbolic: - constraint_nominal = c_v * maximum_velocity**2 + constraint_nominal = c_v * maximum_velocity ** 2 # Interior point solvers, like IPOPT, do not like linearly dependent # tight inequality constraints. For this reason, we split the # constraints depending whether the Big-M formulation is used or not. @@ -660,7 +660,7 @@ def _hn_pipe_head_loss( c_v = length * ff / (2 * GRAVITATIONAL_CONSTANT) / diameter v = discharge / area - expr = c_v * v**2 + expr = c_v * v ** 2 if symbolic: q_nominal = self.variable_nominal(f"{pipe}.Q") @@ -986,7 +986,7 @@ def _hydraulic_power( # Compute c_k constant (where |hydraulic power| ~ c_k * v^3) c_k = rho * ff * length * area / 2.0 / diameter # Compute linearized value - max_hydraulic_power = c_k * maximum_velocity**3 + max_hydraulic_power = c_k * maximum_velocity ** 3 maximum_discharge = maximum_velocity * area hydraulic_power_linearized = max_hydraulic_power * discharge / maximum_discharge diff --git a/src/rtctools_heat_network/heat_network_common.py b/src/mesido/heat_network_common.py similarity index 100% rename from src/rtctools_heat_network/heat_network_common.py rename to src/mesido/heat_network_common.py diff --git a/src/rtctools_heat_network/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py similarity index 99% rename from src/rtctools_heat_network/heat_physics_mixin.py rename to src/mesido/heat_physics_mixin.py index 0825df5d1..91d72acad 100644 --- a/src/rtctools_heat_network/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -11,7 +11,7 @@ ) from rtctools.optimization.timeseries import Timeseries -from rtctools_heat_network._heat_loss_u_values_pipe import pipe_heat_loss +from mesido._heat_loss_u_values_pipe import pipe_heat_loss from .base_component_type_mixin import BaseComponentTypeMixin @@ -254,13 +254,13 @@ def _get_min_bound(bound): self, NetworkSettings.NETWORK_TYPE_HEAT, pipe_name, self.heat_network_settings ) if initialized_vars[0] != {}: - self.__pipe_head_bounds[f"{pipe_name}.{NetworkSettings.NETWORK_TYPE_HEAT}In.H"] = ( - initialized_vars[0] - ) + self.__pipe_head_bounds[ + f"{pipe_name}.{NetworkSettings.NETWORK_TYPE_HEAT}In.H" + ] = initialized_vars[0] if initialized_vars[1] != {}: - self.__pipe_head_bounds[f"{pipe_name}.{NetworkSettings.NETWORK_TYPE_HEAT}Out.H"] = ( - initialized_vars[1] - ) + self.__pipe_head_bounds[ + f"{pipe_name}.{NetworkSettings.NETWORK_TYPE_HEAT}Out.H" + ] = initialized_vars[1] if initialized_vars[2] != {}: self.__pipe_head_loss_zero_bounds[f"{pipe_name}.dH"] = initialized_vars[2] if initialized_vars[3] != {}: @@ -285,9 +285,9 @@ def _get_min_bound(bound): self._pipe_linear_line_segment_map[pipe_name][ ii_line ] = pipe_linear_line_segment_var_name - self.__pipe_linear_line_segment_var[pipe_linear_line_segment_var_name] = ( - initialized_vars[9][pipe_linear_line_segment_var_name] - ) + self.__pipe_linear_line_segment_var[ + pipe_linear_line_segment_var_name + ] = initialized_vars[9][pipe_linear_line_segment_var_name] self.__pipe_linear_line_segment_var_bounds[ pipe_linear_line_segment_var_name ] = initialized_vars[10][pipe_linear_line_segment_var_name] @@ -398,9 +398,9 @@ def _get_min_bound(bound): ) ates_temperature_ordering_var_name = f"{ates}__{temperature}_ordering" - self.__ates_temperature_ordering_var[ates_temperature_ordering_var_name] = ( - ca.MX.sym(ates_temperature_ordering_var_name) - ) + self.__ates_temperature_ordering_var[ + ates_temperature_ordering_var_name + ] = ca.MX.sym(ates_temperature_ordering_var_name) self.__ates_temperature_ordering_var_bounds[ates_temperature_ordering_var_name] = ( 0.0, 1.0, @@ -523,9 +523,9 @@ def _get_min_bound(bound): self.__demand_insulation_class_map[dmnd][ insl ] = demand_insulation_class_var_name - self.__demand_insulation_class_var[demand_insulation_class_var_name] = ( - ca.MX.sym(demand_insulation_class_var_name) - ) + self.__demand_insulation_class_var[ + demand_insulation_class_var_name + ] = ca.MX.sym(demand_insulation_class_var_name) self.__demand_insulation_class_var_bounds[ demand_insulation_class_var_name ] = (0.0, 1.0) diff --git a/src/rtctools_heat_network/influxdb/__init__.py b/src/mesido/influxdb/__init__.py similarity index 100% rename from src/rtctools_heat_network/influxdb/__init__.py rename to src/mesido/influxdb/__init__.py diff --git a/src/rtctools_heat_network/influxdb/profile.py b/src/mesido/influxdb/profile.py similarity index 100% rename from src/rtctools_heat_network/influxdb/profile.py rename to src/mesido/influxdb/profile.py diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Buffer.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Buffer.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Buffer.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Buffer.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/CheckValve.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/CheckValve.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/CheckValve.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/CheckValve.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/ControlValve.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/ControlValve.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/ControlValve.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/ControlValve.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Demand.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Demand.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Demand.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Demand.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/GeothermalSource.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/GeothermalSource.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/GeothermalSource.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/GeothermalSource.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/HeatPort.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/HeatPort.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/HeatPort.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/HeatPort.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/HeatTwoPort.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/HeatTwoPort.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/HeatTwoPort.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/HeatTwoPort.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Node.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Node.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Node.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Node.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Pipe.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Pipe.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Pipe.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Pipe.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Pump.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Pump.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Pump.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Pump.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Source.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Source.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/Source.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/Source.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/_NonStorageComponent.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/_NonStorageComponent.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/_NonStorageComponent.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/_NonStorageComponent.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/package.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/Heat/package.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/Heat/package.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/Heat/package.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Buffer.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Buffer.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Buffer.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Buffer.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/CheckValve.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/CheckValve.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/CheckValve.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/CheckValve.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/ControlValve.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/ControlValve.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/ControlValve.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/ControlValve.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Demand.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Demand.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Demand.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Demand.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/GeothermalSource.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/GeothermalSource.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/GeothermalSource.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/GeothermalSource.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Node.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Node.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Node.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Node.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Pipe.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Pipe.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Pipe.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Pipe.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Pump.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Pump.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Pump.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Pump.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/QTHPort.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/QTHPort.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/QTHPort.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/QTHPort.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/QTHTwoPort.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/QTHTwoPort.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/QTHTwoPort.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/QTHTwoPort.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Source.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Source.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/Source.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/Source.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/_FluidPropertiesComponent.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/_FluidPropertiesComponent.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/_FluidPropertiesComponent.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/_FluidPropertiesComponent.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/_NonStorageComponent.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/_NonStorageComponent.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/_NonStorageComponent.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/_NonStorageComponent.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/package.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/QTH/package.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/QTH/package.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/QTH/package.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/package.mo b/src/mesido/modelica/WarmingUp/HeatNetwork/package.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/HeatNetwork/package.mo rename to src/mesido/modelica/WarmingUp/HeatNetwork/package.mo diff --git a/src/rtctools_heat_network/modelica/WarmingUp/package.mo b/src/mesido/modelica/WarmingUp/package.mo similarity index 100% rename from src/rtctools_heat_network/modelica/WarmingUp/package.mo rename to src/mesido/modelica/WarmingUp/package.mo diff --git a/src/rtctools_heat_network/network_common.py b/src/mesido/network_common.py similarity index 100% rename from src/rtctools_heat_network/network_common.py rename to src/mesido/network_common.py diff --git a/src/rtctools_heat_network/physics_mixin.py b/src/mesido/physics_mixin.py similarity index 99% rename from src/rtctools_heat_network/physics_mixin.py rename to src/mesido/physics_mixin.py index ba84881c3..5168a3464 100644 --- a/src/rtctools_heat_network/physics_mixin.py +++ b/src/mesido/physics_mixin.py @@ -8,7 +8,7 @@ CollocatedIntegratedOptimizationProblem, ) -from rtctools_heat_network.control_variables import map_comp_type_to_control_variable +from mesido.control_variables import map_comp_type_to_control_variable from .base_component_type_mixin import BaseComponentTypeMixin diff --git a/src/rtctools_heat_network/pipe_class.py b/src/mesido/pipe_class.py similarity index 94% rename from src/rtctools_heat_network/pipe_class.py rename to src/mesido/pipe_class.py index fd96cceae..5563e76da 100644 --- a/src/rtctools_heat_network/pipe_class.py +++ b/src/mesido/pipe_class.py @@ -26,7 +26,7 @@ def maximum_discharge(self): @property def area(self): - return 0.25 * math.pi * self.inner_diameter**2 + return 0.25 * math.pi * self.inner_diameter ** 2 @dataclass(frozen=True) @@ -50,7 +50,7 @@ def maximum_discharge(self): @property def area(self): - return 0.25 * math.pi * self.inner_diameter**2 + return 0.25 * math.pi * self.inner_diameter ** 2 @dataclass(frozen=True) diff --git a/src/rtctools_heat_network/pycml/__init__.py b/src/mesido/pycml/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/__init__.py rename to src/mesido/pycml/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/__init__.py b/src/mesido/pycml/component_library/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/__init__.py rename to src/mesido/pycml/component_library/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/__init__.py b/src/mesido/pycml/component_library/milp/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/__init__.py rename to src/mesido/pycml/component_library/milp/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/_internal/__init__.py b/src/mesido/pycml/component_library/milp/_internal/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/_internal/__init__.py rename to src/mesido/pycml/component_library/milp/_internal/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/_internal/electricity_component.py b/src/mesido/pycml/component_library/milp/_internal/electricity_component.py similarity index 55% rename from src/rtctools_heat_network/pycml/component_library/milp/_internal/electricity_component.py rename to src/mesido/pycml/component_library/milp/_internal/electricity_component.py index 48a81ea0b..200cdd1f1 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/_internal/electricity_component.py +++ b/src/mesido/pycml/component_library/milp/_internal/electricity_component.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset class ElectricityComponent(BaseAsset): diff --git a/src/rtctools_heat_network/pycml/component_library/milp/_internal/gas_component.py b/src/mesido/pycml/component_library/milp/_internal/gas_component.py similarity index 52% rename from src/rtctools_heat_network/pycml/component_library/milp/_internal/gas_component.py rename to src/mesido/pycml/component_library/milp/_internal/gas_component.py index e137c4cf4..dfab713ef 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/_internal/gas_component.py +++ b/src/mesido/pycml/component_library/milp/_internal/gas_component.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset class GasComponent(BaseAsset): diff --git a/src/rtctools_heat_network/pycml/component_library/milp/_internal/heat_component.py b/src/mesido/pycml/component_library/milp/_internal/heat_component.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/milp/_internal/heat_component.py rename to src/mesido/pycml/component_library/milp/_internal/heat_component.py index f93d4ca62..058c4d602 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/_internal/heat_component.py +++ b/src/mesido/pycml/component_library/milp/_internal/heat_component.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Component +from mesido.pycml import Component class HeatComponent(Component): diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/__init__.py b/src/mesido/pycml/component_library/milp/electricity/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/__init__.py rename to src/mesido/pycml/component_library/milp/electricity/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_base.py b/src/mesido/pycml/component_library/milp/electricity/electricity_base.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_base.py rename to src/mesido/pycml/component_library/milp/electricity/electricity_base.py index 2072ca02a..993f15328 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_base.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_base.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Connector, Variable +from mesido.pycml import Connector, Variable from .._internal.electricity_component import ElectricityComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_cable.py b/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py similarity index 96% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_cable.py rename to src/mesido/pycml/component_library/milp/electricity/electricity_cable.py index 014d4008e..8db017632 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_cable.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .electricity_base import ElectricityTwoPort from .._internal import BaseAsset @@ -32,7 +32,7 @@ def __init__(self, name, **modifiers): self.nominal_voltage = nan self.r = 1.0e-6 * self.length # TODO: temporary value self.nominal_voltage_loss = (self.nominal_current * self.r * self.nominal_current) ** 0.5 - self.add_variable(Variable, "Power_loss", min=0.0, nominal=self.r * self.max_current**2) + self.add_variable(Variable, "Power_loss", min=0.0, nominal=self.r * self.max_current ** 2) self.add_variable(Variable, "I", nominal=self.nominal_current) self.add_variable(Variable, "V_loss", nominal=self.nominal_voltage_loss) diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_demand.py b/src/mesido/pycml/component_library/milp/electricity/electricity_demand.py similarity index 95% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_demand.py rename to src/mesido/pycml/component_library/milp/electricity/electricity_demand.py index 43b7ec2b3..cb3ff691c 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_demand.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_demand.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .electricity_base import ElectricityPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_node.py b/src/mesido/pycml/component_library/milp/electricity/electricity_node.py similarity index 96% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_node.py rename to src/mesido/pycml/component_library/milp/electricity/electricity_node.py index e8b6deab1..97d863409 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_node.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_node.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .electricity_base import ElectricityPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_source.py b/src/mesido/pycml/component_library/milp/electricity/electricity_source.py similarity index 95% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_source.py rename to src/mesido/pycml/component_library/milp/electricity/electricity_source.py index 4c2792fef..00a206860 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/electricity_source.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_source.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .electricity_base import ElectricityPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/heat_pump_elec.py b/src/mesido/pycml/component_library/milp/electricity/heat_pump_elec.py similarity index 83% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/heat_pump_elec.py rename to src/mesido/pycml/component_library/milp/electricity/heat_pump_elec.py index dfc1faa0f..844991655 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/heat_pump_elec.py +++ b/src/mesido/pycml/component_library/milp/electricity/heat_pump_elec.py @@ -1,7 +1,7 @@ -from rtctools_heat_network.pycml.component_library.milp.electricity.electricity_base import ( +from mesido.pycml.component_library.milp.electricity.electricity_base import ( ElectricityPort, ) -from rtctools_heat_network.pycml.component_library.milp.heat.heat_pump import HeatPump +from mesido.pycml.component_library.milp.heat.heat_pump import HeatPump # TODO: for now in the electricity folder, but maybe we can make a multicommodity folder, diff --git a/src/rtctools_heat_network/pycml/component_library/milp/electricity/windpark.py b/src/mesido/pycml/component_library/milp/electricity/windpark.py similarity index 84% rename from src/rtctools_heat_network/pycml/component_library/milp/electricity/windpark.py rename to src/mesido/pycml/component_library/milp/electricity/windpark.py index 27cd259fb..391121651 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/electricity/windpark.py +++ b/src/mesido/pycml/component_library/milp/electricity/windpark.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .. import ElectricitySource diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/__init__.py b/src/mesido/pycml/component_library/milp/gas/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/__init__.py rename to src/mesido/pycml/component_library/milp/gas/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_base.py b/src/mesido/pycml/component_library/milp/gas/gas_base.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_base.py rename to src/mesido/pycml/component_library/milp/gas/gas_base.py index afa19b088..3f7f1ead3 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_base.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_base.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Connector, Variable +from mesido.pycml import Connector, Variable from .._internal.gas_component import GasComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_demand.py b/src/mesido/pycml/component_library/milp/gas/gas_demand.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_demand.py rename to src/mesido/pycml/component_library/milp/gas/gas_demand.py index 24f7f2043..450782dfd 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_demand.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_demand.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .gas_base import GasPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_node.py b/src/mesido/pycml/component_library/milp/gas/gas_node.py similarity index 95% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_node.py rename to src/mesido/pycml/component_library/milp/gas/gas_node.py index 0b2817cca..b68246301 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_node.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_node.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .gas_base import GasPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_pipe.py b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_pipe.py rename to src/mesido/pycml/component_library/milp/gas/gas_pipe.py index 68b8a489e..62280ca75 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_pipe.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py @@ -1,6 +1,6 @@ from numpy import nan, pi -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .gas_base import GasTwoPort from .._internal import BaseAsset @@ -21,7 +21,7 @@ def __init__(self, name, **modifiers): self.v_max = 15.0 self.density = 2.5e3 # [g/m3] self.diameter = nan - self.area = 0.25 * pi * self.diameter**2 + self.area = 0.25 * pi * self.diameter ** 2 self.Q_nominal = self.v_max / 2.0 * self.area self.pressure = 16.0e5 diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_source.py b/src/mesido/pycml/component_library/milp/gas/gas_source.py similarity index 93% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_source.py rename to src/mesido/pycml/component_library/milp/gas/gas_source.py index 313003b0b..9f3bc109f 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_source.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_source.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .gas_base import GasPort from .._internal import BaseAsset diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_substation.py b/src/mesido/pycml/component_library/milp/gas/gas_substation.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_substation.py rename to src/mesido/pycml/component_library/milp/gas/gas_substation.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_tank_storage.py b/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py similarity index 91% rename from src/rtctools_heat_network/pycml/component_library/milp/gas/gas_tank_storage.py rename to src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py index 007742556..376d0f721 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/gas/gas_tank_storage.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py @@ -1,7 +1,7 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal import BaseAsset +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal import BaseAsset from .gas_base import GasPort from .._internal.gas_component import GasComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/__init__.py b/src/mesido/pycml/component_library/milp/heat/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/__init__.py rename to src/mesido/pycml/component_library/milp/heat/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/_non_storage_component.py b/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py similarity index 92% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/_non_storage_component.py rename to src/mesido/pycml/component_library/milp/heat/_non_storage_component.py index 67f87d5fc..f613c253e 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/_non_storage_component.py +++ b/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py @@ -1,7 +1,7 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset from .heat_two_port import HeatTwoPort diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/ates.py b/src/mesido/pycml/component_library/milp/heat/ates.py similarity index 97% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/ates.py rename to src/mesido/pycml/component_library/milp/heat/ates.py index 0930234aa..377c48f54 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/ates.py +++ b/src/mesido/pycml/component_library/milp/heat/ates.py @@ -1,8 +1,8 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset from .heat_two_port import HeatTwoPort diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/check_valve.py b/src/mesido/pycml/component_library/milp/heat/check_valve.py similarity index 93% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/check_valve.py rename to src/mesido/pycml/component_library/milp/heat/check_valve.py index c5cdc961d..7134a2a27 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/check_valve.py +++ b/src/mesido/pycml/component_library/milp/heat/check_valve.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/control_valve.py b/src/mesido/pycml/component_library/milp/heat/control_valve.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/control_valve.py rename to src/mesido/pycml/component_library/milp/heat/control_valve.py index f968ba3a6..c2f0bda78 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/control_valve.py +++ b/src/mesido/pycml/component_library/milp/heat/control_valve.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/geothermal_source.py b/src/mesido/pycml/component_library/milp/heat/geothermal_source.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/geothermal_source.py rename to src/mesido/pycml/component_library/milp/heat/geothermal_source.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_buffer.py b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py similarity index 95% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_buffer.py rename to src/mesido/pycml/component_library/milp/heat/heat_buffer.py index 149d5fcfe..ec55ff485 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_buffer.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py @@ -2,8 +2,8 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset from .heat_two_port import HeatTwoPort @@ -40,7 +40,7 @@ def __init__(self, name, **modifiers): self.heat_transfer_coeff = 1.0 self.height = 5.0 self.radius = 10.0 - self.volume = math.pi * self.radius**2 * self.height + self.volume = math.pi * self.radius ** 2 * self.height self.heat_loss_coeff = 2 * self.heat_transfer_coeff / (self.radius * self.rho * self.cp) # The hot/cold tank can have a lower bound on its volume. # Meaning that they might always be, for e.g., 5% full. diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_demand.py b/src/mesido/pycml/component_library/milp/heat/heat_demand.py similarity index 97% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_demand.py rename to src/mesido/pycml/component_library/milp/heat/heat_demand.py index 1c5d7ecce..5ba23da99 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_demand.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_demand.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_exchanger.py b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py similarity index 93% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_exchanger.py rename to src/mesido/pycml/component_library/milp/heat/heat_exchanger.py index 9403da960..5dacc98bf 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_exchanger.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py @@ -1,8 +1,8 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal import BaseAsset -from rtctools_heat_network.pycml.component_library.milp.heat.heat_four_port import HeatFourPort +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal import BaseAsset +from mesido.pycml.component_library.milp.heat.heat_four_port import HeatFourPort class HeatExchanger(HeatFourPort, BaseAsset): diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_four_port.py b/src/mesido/pycml/component_library/milp/heat/heat_four_port.py similarity index 85% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_four_port.py rename to src/mesido/pycml/component_library/milp/heat/heat_four_port.py index 743e74ab9..ce259f051 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_four_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_four_port.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal import HeatComponent +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal import HeatComponent from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_pipe.py b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py similarity index 95% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_pipe.py rename to src/mesido/pycml/component_library/milp/heat/heat_pipe.py index 431106dc6..1c361953b 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_pipe.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py @@ -1,6 +1,6 @@ from numpy import nan, pi -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent @@ -31,7 +31,7 @@ def __init__(self, name, **modifiers): self.length = 1.0 self.diameter = 1.0 assert "area" not in modifiers, "modifying area directly is not allowed" - self.area = 0.25 * pi * self.diameter**2 + self.area = 0.25 * pi * self.diameter ** 2 self.temperature = nan self.carrier_id = -1 self.pressure = 16.0e5 @@ -55,7 +55,7 @@ def __init__(self, name, **modifiers): ff = 0.02 # Order of magnitude expected with 0.05-2.5m/s in 20mm-1200mm diameter pipe velo = self.Q_nominal / self.area self.Hydraulic_power_nominal = ( - self.rho * ff * max(self.length, 1.0) * pi * self.area / self.diameter / 2.0 * velo**3 + self.rho * ff * max(self.length, 1.0) * pi * self.area / self.diameter / 2.0 * velo ** 3 ) self.add_variable( Variable, "Hydraulic_power", min=0.0, nominal=self.Hydraulic_power_nominal diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_port.py b/src/mesido/pycml/component_library/milp/heat/heat_port.py similarity index 78% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_port.py rename to src/mesido/pycml/component_library/milp/heat/heat_port.py index cf819b330..9ba7ef285 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_port.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import Connector, Variable -from rtctools_heat_network.pycml.component_library.milp._internal import HeatComponent +from mesido.pycml import Connector, Variable +from mesido.pycml.component_library.milp._internal import HeatComponent class HeatPort(HeatComponent, Connector): diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_pump.py b/src/mesido/pycml/component_library/milp/heat/heat_pump.py similarity index 93% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_pump.py rename to src/mesido/pycml/component_library/milp/heat/heat_pump.py index 0db1800e6..dc1ee3df7 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_pump.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pump.py @@ -1,8 +1,8 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal import BaseAsset -from rtctools_heat_network.pycml.component_library.milp.heat.heat_four_port import HeatFourPort +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal import BaseAsset +from mesido.pycml.component_library.milp.heat.heat_four_port import HeatFourPort class HeatPump(HeatFourPort, BaseAsset): diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_source.py b/src/mesido/pycml/component_library/milp/heat/heat_source.py similarity index 98% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_source.py rename to src/mesido/pycml/component_library/milp/heat/heat_source.py index aa2f3adcc..6a9554b32 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_source.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_source.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_two_port.py b/src/mesido/pycml/component_library/milp/heat/heat_two_port.py similarity index 85% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/heat_two_port.py rename to src/mesido/pycml/component_library/milp/heat/heat_two_port.py index 9fc8df892..c1cf1d855 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/heat_two_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_two_port.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml.component_library.milp._internal import HeatComponent +from mesido.pycml.component_library.milp._internal import HeatComponent from .heat_port import HeatPort diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/node.py b/src/mesido/pycml/component_library/milp/heat/node.py similarity index 88% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/node.py rename to src/mesido/pycml/component_library/milp/heat/node.py index 09ea3d5bc..7ff75d71c 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/node.py +++ b/src/mesido/pycml/component_library/milp/heat/node.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal import BaseAsset, HeatComponent +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal import BaseAsset, HeatComponent from .heat_port import HeatPort diff --git a/src/rtctools_heat_network/pycml/component_library/milp/heat/pump.py b/src/mesido/pycml/component_library/milp/heat/pump.py similarity index 95% rename from src/rtctools_heat_network/pycml/component_library/milp/heat/pump.py rename to src/mesido/pycml/component_library/milp/heat/pump.py index 45d70b1ca..8ba0418e6 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/heat/pump.py +++ b/src/mesido/pycml/component_library/milp/heat/pump.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/milp/multicommodity/__init__.py b/src/mesido/pycml/component_library/milp/multicommodity/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/milp/multicommodity/__init__.py rename to src/mesido/pycml/component_library/milp/multicommodity/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/milp/multicommodity/electrolyzer.py b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py similarity index 78% rename from src/rtctools_heat_network/pycml/component_library/milp/multicommodity/electrolyzer.py rename to src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py index 77029c152..1c7acb4ec 100644 --- a/src/rtctools_heat_network/pycml/component_library/milp/multicommodity/electrolyzer.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py @@ -1,14 +1,14 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable -from rtctools_heat_network.pycml.component_library.milp._internal import BaseAsset -from rtctools_heat_network.pycml.component_library.milp._internal.electricity_component import ( +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal import BaseAsset +from mesido.pycml.component_library.milp._internal.electricity_component import ( ElectricityComponent, ) -from rtctools_heat_network.pycml.component_library.milp.electricity.electricity_base import ( +from mesido.pycml.component_library.milp.electricity.electricity_base import ( ElectricityPort, ) -from rtctools_heat_network.pycml.component_library.milp.gas.gas_base import ( +from mesido.pycml.component_library.milp.gas.gas_base import ( GasPort, ) diff --git a/src/rtctools_heat_network/pycml/component_library/qth/__init__.py b/src/mesido/pycml/component_library/qth/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/qth/__init__.py rename to src/mesido/pycml/component_library/qth/__init__.py diff --git a/src/rtctools_heat_network/pycml/component_library/qth/_fluid_properties_component.py b/src/mesido/pycml/component_library/qth/_fluid_properties_component.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/qth/_fluid_properties_component.py rename to src/mesido/pycml/component_library/qth/_fluid_properties_component.py diff --git a/src/rtctools_heat_network/pycml/component_library/qth/_internal/__init__.py b/src/mesido/pycml/component_library/qth/_internal/__init__.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/qth/_internal/__init__.py rename to src/mesido/pycml/component_library/qth/_internal/__init__.py diff --git a/src/mesido/pycml/component_library/qth/_internal/qth_component.py b/src/mesido/pycml/component_library/qth/_internal/qth_component.py new file mode 100644 index 000000000..1dd41cee6 --- /dev/null +++ b/src/mesido/pycml/component_library/qth/_internal/qth_component.py @@ -0,0 +1,5 @@ +from mesido.pycml import Component + + +class QTHComponent(Component): + pass diff --git a/src/rtctools_heat_network/pycml/component_library/qth/_non_storage_component.py b/src/mesido/pycml/component_library/qth/_non_storage_component.py similarity index 91% rename from src/rtctools_heat_network/pycml/component_library/qth/_non_storage_component.py rename to src/mesido/pycml/component_library/qth/_non_storage_component.py index 3456d62e6..ffdd605fc 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/_non_storage_component.py +++ b/src/mesido/pycml/component_library/qth/_non_storage_component.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from .qth_two_port import QTHTwoPort diff --git a/src/rtctools_heat_network/pycml/component_library/qth/buffer.py b/src/mesido/pycml/component_library/qth/buffer.py similarity index 95% rename from src/rtctools_heat_network/pycml/component_library/qth/buffer.py rename to src/mesido/pycml/component_library/qth/buffer.py index a2375dbc1..3a28447e3 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/buffer.py +++ b/src/mesido/pycml/component_library/qth/buffer.py @@ -2,7 +2,7 @@ from numpy import nan -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._fluid_properties_component import _FluidPropertiesComponent @@ -21,13 +21,13 @@ def __init__(self, name, **modifiers): self.heat_transfer_coeff = 1.0 self.height = 5.0 self.radius = 10.0 - self.volume = math.pi * self.radius**2 * self.height + self.volume = math.pi * self.radius ** 2 * self.height # The hot/cold tank can have a lower bound on its volume. # Meaning that they might always be, for e.g., 5% full. self.min_fraction_tank_volume = 0.05 # if the tank is plced on ground, ignore surface of bottom of tank - self.surface = 2 * math.pi * self.radius**2 + 2 * math.pi * self.radius * self.height + self.surface = 2 * math.pi * self.radius ** 2 + 2 * math.pi * self.radius * self.height self.T_outside = 10.0 # Nominals diff --git a/src/rtctools_heat_network/pycml/component_library/qth/check_valve.py b/src/mesido/pycml/component_library/qth/check_valve.py similarity index 91% rename from src/rtctools_heat_network/pycml/component_library/qth/check_valve.py rename to src/mesido/pycml/component_library/qth/check_valve.py index 2a50a0a66..ab5e1a174 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/check_valve.py +++ b/src/mesido/pycml/component_library/qth/check_valve.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/qth/control_valve.py b/src/mesido/pycml/component_library/qth/control_valve.py similarity index 89% rename from src/rtctools_heat_network/pycml/component_library/qth/control_valve.py rename to src/mesido/pycml/component_library/qth/control_valve.py index 2324eae60..53443c4d0 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/control_valve.py +++ b/src/mesido/pycml/component_library/qth/control_valve.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/qth/demand.py b/src/mesido/pycml/component_library/qth/demand.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/qth/demand.py rename to src/mesido/pycml/component_library/qth/demand.py index 7aa696991..4e30483a1 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/demand.py +++ b/src/mesido/pycml/component_library/qth/demand.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import SymbolicParameter, Variable +from mesido.pycml import SymbolicParameter, Variable from ._fluid_properties_component import _FluidPropertiesComponent from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/qth/geothermal_source.py b/src/mesido/pycml/component_library/qth/geothermal_source.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/qth/geothermal_source.py rename to src/mesido/pycml/component_library/qth/geothermal_source.py diff --git a/src/rtctools_heat_network/pycml/component_library/qth/node.py b/src/mesido/pycml/component_library/qth/node.py similarity index 93% rename from src/rtctools_heat_network/pycml/component_library/qth/node.py rename to src/mesido/pycml/component_library/qth/node.py index c48805ae9..5ff3d7ead 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/node.py +++ b/src/mesido/pycml/component_library/qth/node.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._internal import QTHComponent from .qth_port import QTHPort diff --git a/src/rtctools_heat_network/pycml/component_library/qth/pipe.py b/src/mesido/pycml/component_library/qth/pipe.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/qth/pipe.py rename to src/mesido/pycml/component_library/qth/pipe.py index aaf14345b..5aa6c6052 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/pipe.py +++ b/src/mesido/pycml/component_library/qth/pipe.py @@ -1,6 +1,6 @@ from numpy import nan, pi -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._fluid_properties_component import _FluidPropertiesComponent from ._non_storage_component import _NonStorageComponent @@ -30,7 +30,7 @@ def __init__(self, name, **modifiers): self.length = 1.0 self.diameter = 1.0 assert "area" not in modifiers, "modifying area directly is not allowed" - self.area = 0.25 * pi * self.diameter**2 + self.area = 0.25 * pi * self.diameter ** 2 self.temperature = nan # Parameters determining the milp loss diff --git a/src/rtctools_heat_network/pycml/component_library/qth/pump.py b/src/mesido/pycml/component_library/qth/pump.py similarity index 91% rename from src/rtctools_heat_network/pycml/component_library/qth/pump.py rename to src/mesido/pycml/component_library/qth/pump.py index 730be6555..852d0d622 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/pump.py +++ b/src/mesido/pycml/component_library/qth/pump.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Variable +from mesido.pycml import Variable from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/component_library/qth/qth_port.py b/src/mesido/pycml/component_library/qth/qth_port.py similarity index 88% rename from src/rtctools_heat_network/pycml/component_library/qth/qth_port.py rename to src/mesido/pycml/component_library/qth/qth_port.py index e0c2583ad..7a622d53a 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/qth_port.py +++ b/src/mesido/pycml/component_library/qth/qth_port.py @@ -1,4 +1,4 @@ -from rtctools_heat_network.pycml import Connector, Variable +from mesido.pycml import Connector, Variable from ._internal import QTHComponent diff --git a/src/rtctools_heat_network/pycml/component_library/qth/qth_two_port.py b/src/mesido/pycml/component_library/qth/qth_two_port.py similarity index 100% rename from src/rtctools_heat_network/pycml/component_library/qth/qth_two_port.py rename to src/mesido/pycml/component_library/qth/qth_two_port.py diff --git a/src/rtctools_heat_network/pycml/component_library/qth/source.py b/src/mesido/pycml/component_library/qth/source.py similarity index 94% rename from src/rtctools_heat_network/pycml/component_library/qth/source.py rename to src/mesido/pycml/component_library/qth/source.py index 1e69907e6..8893b33f7 100644 --- a/src/rtctools_heat_network/pycml/component_library/qth/source.py +++ b/src/mesido/pycml/component_library/qth/source.py @@ -1,6 +1,6 @@ from numpy import nan -from rtctools_heat_network.pycml import SymbolicParameter, Variable +from mesido.pycml import SymbolicParameter, Variable from ._fluid_properties_component import _FluidPropertiesComponent from ._non_storage_component import _NonStorageComponent diff --git a/src/rtctools_heat_network/pycml/model_base.py b/src/mesido/pycml/model_base.py similarity index 100% rename from src/rtctools_heat_network/pycml/model_base.py rename to src/mesido/pycml/model_base.py diff --git a/src/rtctools_heat_network/pycml/pycml_mixin.py b/src/mesido/pycml/pycml_mixin.py similarity index 100% rename from src/rtctools_heat_network/pycml/pycml_mixin.py rename to src/mesido/pycml/pycml_mixin.py diff --git a/src/rtctools_heat_network/qth_not_maintained/__init__.py b/src/mesido/qth_not_maintained/__init__.py similarity index 100% rename from src/rtctools_heat_network/qth_not_maintained/__init__.py rename to src/mesido/qth_not_maintained/__init__.py diff --git a/src/rtctools_heat_network/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py b/src/mesido/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py similarity index 94% rename from src/rtctools_heat_network/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py rename to src/mesido/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py index b1583c857..9d02e062f 100644 --- a/src/rtctools_heat_network/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py +++ b/src/mesido/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py @@ -4,8 +4,8 @@ from rtctools.optimization.timeseries import Timeseries -from rtctools_heat_network.base_component_type_mixin import BaseComponentTypeMixin -from rtctools_heat_network.heat_network_common import PipeFlowDirection +from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.heat_network_common import PipeFlowDirection class BoundsToPipeFlowDirectionsMixin(BaseComponentTypeMixin): diff --git a/src/rtctools_heat_network/qth_not_maintained/head_loss_mixin.py b/src/mesido/qth_not_maintained/head_loss_mixin.py similarity index 99% rename from src/rtctools_heat_network/qth_not_maintained/head_loss_mixin.py rename to src/mesido/qth_not_maintained/head_loss_mixin.py index d492cc625..2101b143c 100644 --- a/src/rtctools_heat_network/qth_not_maintained/head_loss_mixin.py +++ b/src/mesido/qth_not_maintained/head_loss_mixin.py @@ -11,8 +11,8 @@ from rtctools.optimization.goal_programming_mixin_base import Goal, _GoalProgrammingMixinBase from rtctools.optimization.optimization_problem import BT, OptimizationProblem -import rtctools_heat_network._darcy_weisbach as darcy_weisbach -from rtctools_heat_network.base_component_type_mixin import BaseComponentTypeMixin +import mesido._darcy_weisbach as darcy_weisbach +from mesido.base_component_type_mixin import BaseComponentTypeMixin from ..constants import GRAVITATIONAL_CONSTANT from ..pipe_class import PipeClass @@ -109,7 +109,7 @@ class HeadLossOption(IntEnum): class _MinimizeHeadLosses(Goal): order = 1 - priority = 2**31 - 1 + priority = 2 ** 31 - 1 def __init__(self, optimization_problem: "_HeadLossMixin", *args, **kwargs): super().__init__(*args, **kwargs) @@ -150,7 +150,7 @@ def function(self, optimization_problem: "_HeadLossMixin", ensemble_member): class _MinimizeHydraulicPower(Goal): order = 1 - priority = 2**31 - 1 + priority = 2 ** 31 - 1 def __init__( self, @@ -526,7 +526,7 @@ def _hn_pipe_head_loss( c_v = length * ff / (2 * GRAVITATIONAL_CONSTANT) / diameter linearization_velocity = heat_network_options["maximum_velocity"] - linearization_head_loss = c_v * linearization_velocity**2 + linearization_head_loss = c_v * linearization_velocity ** 2 linearization_discharge = linearization_velocity * area expr = linearization_head_loss * discharge / linearization_discharge @@ -568,7 +568,7 @@ def _hn_pipe_head_loss( c_v = length * ff / (2 * GRAVITATIONAL_CONSTANT) / diameter v = discharge / area - expr = c_v * v**2 + expr = c_v * v ** 2 if symbolic: q_nominal = self.variable_nominal(f"{pipe}.Q") @@ -775,7 +775,7 @@ def _hydraulic_power( # Compute c_k constant (where |hydraulic power| ~ c_k * v^3) c_k = rho * ff * length * area / 2.0 / diameter # Compute linearized value - max_hydraulic_power = c_k * maximum_velocity**3 + max_hydraulic_power = c_k * maximum_velocity ** 3 maximum_discharge = maximum_velocity * area hydraulic_power_linearized = max_hydraulic_power * discharge / maximum_discharge diff --git a/src/rtctools_heat_network/qth_not_maintained/qth_loop_mixin.py b/src/mesido/qth_not_maintained/qth_loop_mixin.py similarity index 99% rename from src/rtctools_heat_network/qth_not_maintained/qth_loop_mixin.py rename to src/mesido/qth_not_maintained/qth_loop_mixin.py index df7d60ea0..d9e464c20 100644 --- a/src/rtctools_heat_network/qth_not_maintained/qth_loop_mixin.py +++ b/src/mesido/qth_not_maintained/qth_loop_mixin.py @@ -8,7 +8,7 @@ from rtctools.optimization.goal_programming_mixin_base import Goal from rtctools.optimization.timeseries import Timeseries -from rtctools_heat_network.qth_not_maintained.qth_mixin import HeadLossOption, QTHMixin +from mesido.qth_not_maintained.qth_mixin import HeadLossOption, QTHMixin class BufferTargetDischargeGoal(Goal): diff --git a/src/rtctools_heat_network/qth_not_maintained/qth_mixin.py b/src/mesido/qth_not_maintained/qth_mixin.py similarity index 99% rename from src/rtctools_heat_network/qth_not_maintained/qth_mixin.py rename to src/mesido/qth_not_maintained/qth_mixin.py index a3869647b..2a30792f6 100644 --- a/src/rtctools_heat_network/qth_not_maintained/qth_mixin.py +++ b/src/mesido/qth_not_maintained/qth_mixin.py @@ -13,15 +13,15 @@ from rtctools.optimization.homotopy_mixin import HomotopyMixin from rtctools.optimization.timeseries import Timeseries -from rtctools_heat_network._heat_loss_u_values_pipe import heat_loss_u_values_pipe -from rtctools_heat_network.base_component_type_mixin import BaseComponentTypeMixin -from rtctools_heat_network.heat_network_common import ( +from mesido._heat_loss_u_values_pipe import heat_loss_u_values_pipe +from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.heat_network_common import ( CheckValveStatus, ControlValveDirection, NodeConnectionDirection, PipeFlowDirection, ) -from rtctools_heat_network.qth_not_maintained.head_loss_mixin import ( +from mesido.qth_not_maintained.head_loss_mixin import ( HeadLossOption, _HeadLossMixin, _MinimizeHeadLosses as _MinimizeHeadLossesBase, diff --git a/src/rtctools_heat_network/qth_not_maintained/util.py b/src/mesido/qth_not_maintained/util.py similarity index 100% rename from src/rtctools_heat_network/qth_not_maintained/util.py rename to src/mesido/qth_not_maintained/util.py diff --git a/src/rtctools_heat_network/techno_economic_mixin.py b/src/mesido/techno_economic_mixin.py similarity index 100% rename from src/rtctools_heat_network/techno_economic_mixin.py rename to src/mesido/techno_economic_mixin.py diff --git a/src/rtctools_heat_network/topology.py b/src/mesido/topology.py similarity index 98% rename from src/rtctools_heat_network/topology.py rename to src/mesido/topology.py index e6751a216..73584d07a 100644 --- a/src/rtctools_heat_network/topology.py +++ b/src/mesido/topology.py @@ -1,6 +1,6 @@ from typing import Dict, List, Tuple -from .heat_network_common import NodeConnectionDirection +from mesido.heat_network_common import NodeConnectionDirection class Topology: diff --git a/src/rtctools_heat_network/workflows/__init__.py b/src/mesido/workflows/__init__.py similarity index 100% rename from src/rtctools_heat_network/workflows/__init__.py rename to src/mesido/workflows/__init__.py diff --git a/src/rtctools_heat_network/workflows/goals/__init__.py b/src/mesido/workflows/goals/__init__.py similarity index 100% rename from src/rtctools_heat_network/workflows/goals/__init__.py rename to src/mesido/workflows/goals/__init__.py diff --git a/src/rtctools_heat_network/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py similarity index 100% rename from src/rtctools_heat_network/workflows/goals/minimize_tco_goal.py rename to src/mesido/workflows/goals/minimize_tco_goal.py diff --git a/src/rtctools_heat_network/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py similarity index 99% rename from src/rtctools_heat_network/workflows/grow_workflow.py rename to src/mesido/workflows/grow_workflow.py index 8f5e04f88..204a7a004 100644 --- a/src/rtctools_heat_network/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -406,9 +406,9 @@ class EndScenarioSizingHeadLoss(EndScenarioSizing): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.heat_network_settings["head_loss_option"] = ( - HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY - ) + self.heat_network_settings[ + "head_loss_option" + ] = HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY self.heat_network_settings["minimize_head_losses"] = True diff --git a/src/rtctools_heat_network/workflows/io/__init__.py b/src/mesido/workflows/io/__init__.py similarity index 100% rename from src/rtctools_heat_network/workflows/io/__init__.py rename to src/mesido/workflows/io/__init__.py diff --git a/src/rtctools_heat_network/workflows/io/read_files_and_create_influxdb.py b/src/mesido/workflows/io/read_files_and_create_influxdb.py similarity index 100% rename from src/rtctools_heat_network/workflows/io/read_files_and_create_influxdb.py rename to src/mesido/workflows/io/read_files_and_create_influxdb.py diff --git a/src/rtctools_heat_network/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py similarity index 99% rename from src/rtctools_heat_network/workflows/io/write_output.py rename to src/mesido/workflows/io/write_output.py index bbcdbadfd..62b2e1a93 100644 --- a/src/rtctools_heat_network/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -196,7 +196,7 @@ def _write_html_output(self, template_name="mpc_buffer_sizing_output"): for source in _sort_numbered(self.energy_system_components["heat_source"]): if source in self._minimize_size_sources: max_size_var = self._max_source_heat_map[source] - results_sources_size[source] = float(results[max_size_var][0]) / 10.0**3 + results_sources_size[source] = float(results[max_size_var][0]) / 10.0 ** 3 else: results_sources_size[source] = "-" diff --git a/src/rtctools_heat_network/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py similarity index 99% rename from src/rtctools_heat_network/workflows/simulator_workflow.py rename to src/mesido/workflows/simulator_workflow.py index 117d9a76d..bfcb437b5 100644 --- a/src/rtctools_heat_network/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -226,9 +226,9 @@ def path_goals(self): def energy_system_options(self): options = super().energy_system_options() - self.heat_network_settings["head_loss_option"] = ( - HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY - ) + self.heat_network_settings[ + "head_loss_option" + ] = HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY self.heat_network_settings["minimize_head_losses"] = True return options diff --git a/src/rtctools_heat_network/workflows/utils/__init__.py b/src/mesido/workflows/utils/__init__.py similarity index 100% rename from src/rtctools_heat_network/workflows/utils/__init__.py rename to src/mesido/workflows/utils/__init__.py diff --git a/src/rtctools_heat_network/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py similarity index 100% rename from src/rtctools_heat_network/workflows/utils/adapt_profiles.py rename to src/mesido/workflows/utils/adapt_profiles.py diff --git a/src/rtctools_heat_network/workflows/utils/helpers.py b/src/mesido/workflows/utils/helpers.py similarity index 100% rename from src/rtctools_heat_network/workflows/utils/helpers.py rename to src/mesido/workflows/utils/helpers.py diff --git a/src/rtctools_heat_network/pycml/component_library/qth/_internal/qth_component.py b/src/rtctools_heat_network/pycml/component_library/qth/_internal/qth_component.py deleted file mode 100644 index 712ec0b1d..000000000 --- a/src/rtctools_heat_network/pycml/component_library/qth/_internal/qth_component.py +++ /dev/null @@ -1,5 +0,0 @@ -from rtctools_heat_network.pycml import Component - - -class QTHComponent(Component): - pass diff --git a/tests/models/absolute_heat/src/example.py b/tests/models/absolute_heat/src/example.py index a05a9101c..6c89772a1 100644 --- a/tests/models/absolute_heat/src/example.py +++ b/tests/models/absolute_heat/src/example.py @@ -13,10 +13,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/ates_temperature/src/run_ates_temperature.py b/tests/models/ates_temperature/src/run_ates_temperature.py index 9d91963a7..f7b4e6c39 100644 --- a/tests/models/ates_temperature/src/run_ates_temperature.py +++ b/tests/models/ates_temperature/src/run_ates_temperature.py @@ -13,12 +13,12 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin -from rtctools_heat_network.workflows.io.write_output import ScenarioOutput +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.io.write_output import ScenarioOutput ns = {"fews": "http://www.wldelft.nl/fews", "pi": "http://www.wldelft.nl/fews/PI"} @@ -148,9 +148,9 @@ def path_goals(self): def energy_system_options(self): options = super().energy_system_options() self.heat_network_settings["minimum_velocity"] = 0.0001 - options["heat_loss_disconnected_pipe"] = ( - False # required since we want to disconnect HP & HEX - ) + options[ + "heat_loss_disconnected_pipe" + ] = False # required since we want to disconnect HP & HEX self.heat_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS options["neglect_pipe_heat_losses"] = True options["include_ates_temperature_options"] = True @@ -331,7 +331,6 @@ def read(self): class HeatProblemMaxFlow(HeatProblem): - def read(self): super().read() diff --git a/tests/models/basic_buffer/src/compare.py b/tests/models/basic_buffer/src/compare.py index d95692a7a..7658deba5 100644 --- a/tests/models/basic_buffer/src/compare.py +++ b/tests/models/basic_buffer/src/compare.py @@ -5,13 +5,13 @@ from rtctools.optimization.modelica_mixin import ModelicaMixin -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin -from rtctools_heat_network.qth_not_maintained.qth_loop_mixin import ( +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.qth_not_maintained.qth_loop_mixin import ( BufferTargetDischargeGoal, QTHLoopMixin, ) -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin -from rtctools_heat_network.qth_not_maintained.util import run_heat_network_optimization +from mesido.qth_not_maintained.qth_mixin import QTHMixin +from mesido.qth_not_maintained.util import run_heat_network_optimization # We want to import the example we compare with as a module that is somewhat # uniquely identifiable. We therefore start from the root. diff --git a/tests/models/basic_buffer/src/model_heat.py b/tests/models/basic_buffer/src/model_heat.py index fd5513e6a..f2547393b 100644 --- a/tests/models/basic_buffer/src/model_heat.py +++ b/tests/models/basic_buffer/src/model_heat.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import ControlInput, Model as _Model, Variable -from rtctools_heat_network.pycml.component_library.milp import ( +from mesido.pycml import ControlInput, Model as _Model, Variable +from mesido.pycml.component_library.milp import ( HeatBuffer, HeatDemand, HeatPipe, diff --git a/tests/models/basic_buffer/src/model_qth.py b/tests/models/basic_buffer/src/model_qth.py index abcbd2736..576b7540f 100644 --- a/tests/models/basic_buffer/src/model_qth.py +++ b/tests/models/basic_buffer/src/model_qth.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import ControlInput, Model as _Model, SymbolicParameter, Variable -from rtctools_heat_network.pycml.component_library.qth import ( +from mesido.pycml import ControlInput, Model as _Model, SymbolicParameter, Variable +from mesido.pycml.component_library.qth import ( Buffer, Demand, Node, diff --git a/tests/models/basic_source_and_demand/src/heat_comparison.py b/tests/models/basic_source_and_demand/src/heat_comparison.py index ad4bd9834..3b7801dec 100644 --- a/tests/models/basic_source_and_demand/src/heat_comparison.py +++ b/tests/models/basic_source_and_demand/src/heat_comparison.py @@ -6,10 +6,10 @@ from rtctools.optimization.modelica_mixin import ModelicaMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.component_type_mixin import ModelicaComponentTypeMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.physics_mixin import PhysicsMixin +from mesido.pycml.pycml_mixin import PyCMLMixin if __name__ == "__main__": from model_heat import Model diff --git a/tests/models/basic_source_and_demand/src/model_heat.py b/tests/models/basic_source_and_demand/src/model_heat.py index 61d7c7ce3..016100092 100644 --- a/tests/models/basic_source_and_demand/src/model_heat.py +++ b/tests/models/basic_source_and_demand/src/model_heat.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import ControlInput, Model as _Model -from rtctools_heat_network.pycml.component_library.milp import ( +from mesido.pycml import ControlInput, Model as _Model +from mesido.pycml.component_library.milp import ( HeatDemand, HeatPipe, HeatSource, diff --git a/tests/models/basic_source_and_demand/src/model_qth.py b/tests/models/basic_source_and_demand/src/model_qth.py index 00d86accb..93fa0a8b6 100644 --- a/tests/models/basic_source_and_demand/src/model_qth.py +++ b/tests/models/basic_source_and_demand/src/model_qth.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import ControlInput, Model as _Model, SymbolicParameter -from rtctools_heat_network.pycml.component_library.qth import Demand, Pipe, Pump, Source +from mesido.pycml import ControlInput, Model as _Model, SymbolicParameter +from mesido.pycml.component_library.qth import Demand, Pipe, Pump, Source class Model(_Model): diff --git a/tests/models/basic_source_and_demand/src/qth_comparison.py b/tests/models/basic_source_and_demand/src/qth_comparison.py index b96899a4a..41d7b17f4 100644 --- a/tests/models/basic_source_and_demand/src/qth_comparison.py +++ b/tests/models/basic_source_and_demand/src/qth_comparison.py @@ -10,13 +10,13 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.component_type_mixin import ModelicaComponentTypeMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin -from rtctools_heat_network.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( BoundsToPipeFlowDirectionsMixin, ) -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin if __name__ == "__main__": from model_qth import Model diff --git a/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py b/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py index bc84c607f..099b98e58 100644 --- a/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py +++ b/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py @@ -7,12 +7,12 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.component_type_mixin import ModelicaComponentTypeMixin -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin -from rtctools_heat_network.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( BoundsToPipeFlowDirectionsMixin, ) -from rtctools_heat_network.qth_not_maintained.qth_mixin import DemandTemperatureOption, QTHMixin +from mesido.qth_not_maintained.qth_mixin import DemandTemperatureOption, QTHMixin if __name__ == "__main__": from model_qth import Model diff --git a/tests/models/double_pipe_heat/src/double_pipe_heat.py b/tests/models/double_pipe_heat/src/double_pipe_heat.py index d2be2d28b..4e5e35fe2 100644 --- a/tests/models/double_pipe_heat/src/double_pipe_heat.py +++ b/tests/models/double_pipe_heat/src/double_pipe_heat.py @@ -5,9 +5,9 @@ from rtctools.optimization.goal_programming_mixin import Goal, GoalProgrammingMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.component_type_mixin import ModelicaComponentTypeMixin -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.physics_mixin import PhysicsMixin +from mesido.pycml.pycml_mixin import PyCMLMixin if __name__ == "__main__": from model import Model diff --git a/tests/models/double_pipe_heat/src/model.py b/tests/models/double_pipe_heat/src/model.py index f217002ee..473a91d71 100644 --- a/tests/models/double_pipe_heat/src/model.py +++ b/tests/models/double_pipe_heat/src/model.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import ControlInput, Model as _Model -from rtctools_heat_network.pycml.component_library.milp import ( +from mesido.pycml import ControlInput, Model as _Model +from mesido.pycml.component_library.milp import ( HeatDemand, HeatPipe, HeatSource, diff --git a/tests/models/double_pipe_qth/src/cq2_inequality_vs_equality.py b/tests/models/double_pipe_qth/src/cq2_inequality_vs_equality.py index 883f6a957..65d0f4e91 100644 --- a/tests/models/double_pipe_qth/src/cq2_inequality_vs_equality.py +++ b/tests/models/double_pipe_qth/src/cq2_inequality_vs_equality.py @@ -2,8 +2,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.qth_not_maintained.qth_loop_mixin import QTHLoopMixin -from rtctools_heat_network.qth_not_maintained.qth_mixin import HeadLossOption, QTHMixin +from mesido.qth_not_maintained.qth_loop_mixin import QTHLoopMixin +from mesido.qth_not_maintained.qth_mixin import HeadLossOption, QTHMixin if __name__ == "__main__": from double_pipe_qth import DoublePipeBase diff --git a/tests/models/double_pipe_qth/src/double_pipe_qth.py b/tests/models/double_pipe_qth/src/double_pipe_qth.py index 69316bf14..1e97ad2b5 100644 --- a/tests/models/double_pipe_qth/src/double_pipe_qth.py +++ b/tests/models/double_pipe_qth/src/double_pipe_qth.py @@ -7,11 +7,11 @@ from rtctools.optimization.modelica_mixin import ModelicaMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.component_type_mixin import ModelicaComponentTypeMixin -from rtctools_heat_network.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( BoundsToPipeFlowDirectionsMixin, ) -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin class TargetDemandGoal(Goal): diff --git a/tests/models/double_pipe_qth/src/single_pipe_no_headloss.py b/tests/models/double_pipe_qth/src/single_pipe_no_headloss.py index 38d0cc3ba..83a416c53 100644 --- a/tests/models/double_pipe_qth/src/single_pipe_no_headloss.py +++ b/tests/models/double_pipe_qth/src/single_pipe_no_headloss.py @@ -1,6 +1,6 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.qth_not_maintained.qth_mixin import HeadLossOption +from mesido.qth_not_maintained.qth_mixin import HeadLossOption if __name__ == "__main__": from double_pipe_qth import SinglePipeQTH diff --git a/tests/models/electricity_cable_topology/src/example.py b/tests/models/electricity_cable_topology/src/example.py index 8121ea3ba..7870aabfd 100644 --- a/tests/models/electricity_cable_topology/src/example.py +++ b/tests/models/electricity_cable_topology/src/example.py @@ -13,11 +13,11 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.pipe_class import CableClass -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.pipe_class import CableClass +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/emerge/src/example.py b/tests/models/emerge/src/example.py index 6dca4d252..a489e2e0f 100644 --- a/tests/models/emerge/src/example.py +++ b/tests/models/emerge/src/example.py @@ -10,12 +10,12 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin class MaxHydrogenProduction(Goal): diff --git a/tests/models/gas_pipe_topology/src/example.py b/tests/models/gas_pipe_topology/src/example.py index c647bc862..4c2bbbd1a 100644 --- a/tests/models/gas_pipe_topology/src/example.py +++ b/tests/models/gas_pipe_topology/src/example.py @@ -13,10 +13,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/heat_exchange/src/run_heat_exchanger.py b/tests/models/heat_exchange/src/run_heat_exchanger.py index 3395eb0da..7bd2ae00f 100644 --- a/tests/models/heat_exchange/src/run_heat_exchanger.py +++ b/tests/models/heat_exchange/src/run_heat_exchanger.py @@ -9,11 +9,11 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.physics_mixin import PhysicsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.physics_mixin import PhysicsMixin class TargetDemandGoal(Goal): diff --git a/tests/models/heatpump/src/run_heat_pump.py b/tests/models/heatpump/src/run_heat_pump.py index 4fab2dbf6..71e60675a 100644 --- a/tests/models/heatpump/src/run_heat_pump.py +++ b/tests/models/heatpump/src/run_heat_pump.py @@ -9,10 +9,10 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin class TargetDemandGoal(Goal): diff --git a/tests/models/insulation/src/run_insulation.py b/tests/models/insulation/src/run_insulation.py index e20328d36..acd32b8cb 100644 --- a/tests/models/insulation/src/run_insulation.py +++ b/tests/models/insulation/src/run_insulation.py @@ -11,11 +11,11 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.demand_insulation_class import DemandInsulationClass -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.demand_insulation_class import DemandInsulationClass +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class MinimizeSourcesHeatGoal(Goal): diff --git a/tests/models/multiple_carriers/src/run_multiple_carriers.py b/tests/models/multiple_carriers/src/run_multiple_carriers.py index 6401c5abc..712407392 100644 --- a/tests/models/multiple_carriers/src/run_multiple_carriers.py +++ b/tests/models/multiple_carriers/src/run_multiple_carriers.py @@ -9,10 +9,10 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin class TargetDemandGoal(Goal): diff --git a/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py b/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py index 311493a06..512e18f86 100644 --- a/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py +++ b/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py @@ -11,10 +11,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/pipe_test/src/run_hydraulic_power.py b/tests/models/pipe_test/src/run_hydraulic_power.py index d23df477c..320034737 100644 --- a/tests/models/pipe_test/src/run_hydraulic_power.py +++ b/tests/models/pipe_test/src/run_hydraulic_power.py @@ -10,9 +10,9 @@ LinearizedOrderGoalProgrammingMixin, ) -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.physics_mixin import PhysicsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.head_loss_class import HeadLossOption +from mesido.physics_mixin import PhysicsMixin class TargetDemandGoal(Goal): @@ -70,7 +70,6 @@ class HeatProblem( ESDLMixin, CollocatedIntegratedOptimizationProblem, ): - def __init__(self, *args, **kwargs): global head_loss_setting, n_linearization_lines_setting @@ -258,6 +257,6 @@ def post(self): except Exception: # Case when there is only one row value added m_rows_added = 1 - df_MILP.loc[(index_last_row + 1 - m_rows_added) : (index_last_row + 1), "pipe_length"] = ( - manual_set_pipe_length - ) + df_MILP.loc[ + (index_last_row + 1 - m_rows_added) : (index_last_row + 1), "pipe_length" + ] = manual_set_pipe_length diff --git a/tests/models/simple_buffer/src/model.py b/tests/models/simple_buffer/src/model.py index 8af810dfa..494091768 100644 --- a/tests/models/simple_buffer/src/model.py +++ b/tests/models/simple_buffer/src/model.py @@ -1,5 +1,5 @@ -from rtctools_heat_network.pycml import ControlInput, Model as _Model -from rtctools_heat_network.pycml.component_library.milp import ( +from mesido.pycml import ControlInput, Model as _Model +from mesido.pycml.component_library.milp import ( HeatBuffer, HeatDemand, HeatPipe, diff --git a/tests/models/simple_buffer/src/simple_buffer.py b/tests/models/simple_buffer/src/simple_buffer.py index 4bec82ce8..d896f892d 100644 --- a/tests/models/simple_buffer/src/simple_buffer.py +++ b/tests/models/simple_buffer/src/simple_buffer.py @@ -11,9 +11,9 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.component_type_mixin import ModelicaComponentTypeMixin -from rtctools_heat_network.pycml.pycml_mixin import PyCMLMixin -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin if __name__ == "__main__": from model import Model diff --git a/tests/models/source_pipe_sink/src/double_pipe_heat.py b/tests/models/source_pipe_sink/src/double_pipe_heat.py index 38329294f..3f726b422 100644 --- a/tests/models/source_pipe_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_sink/src/double_pipe_heat.py @@ -8,12 +8,12 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): @@ -64,12 +64,11 @@ def post(self): class HeatProblemHydraulic(ESDLAdditionalVarsMixin, SourcePipeSink): - def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.heat_network_settings["head_loss_option"] = ( - HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY - ) + self.heat_network_settings[ + "head_loss_option" + ] = HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY self.heat_network_settings["n_linearization_lines"] = 5 self.heat_network_settings["minimize_head_losses"] = True diff --git a/tests/models/source_pipe_split_sink/src/double_pipe_heat.py b/tests/models/source_pipe_split_sink/src/double_pipe_heat.py index 8f96c8714..b3138990e 100644 --- a/tests/models/source_pipe_split_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_split_sink/src/double_pipe_heat.py @@ -8,8 +8,8 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py b/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py index c77a71cf6..60c86a85b 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py @@ -9,10 +9,10 @@ LinearizedOrderGoalProgrammingMixin, ) -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/test_case_small_network_optional_assets_annualized/src/run_annualized.py b/tests/models/test_case_small_network_optional_assets_annualized/src/run_annualized.py index 74a584ee6..945c27f72 100644 --- a/tests/models/test_case_small_network_optional_assets_annualized/src/run_annualized.py +++ b/tests/models/test_case_small_network_optional_assets_annualized/src/run_annualized.py @@ -5,9 +5,9 @@ from rtctools.optimization.goal_programming_mixin import Goal from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.workflows.goals.minimize_tco_goal import MinimizeTCO +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO try: from models.test_case_small_network_optional_assets_annualized.src.run_ates import ( diff --git a/tests/models/test_case_small_network_optional_assets_annualized/src/run_ates.py b/tests/models/test_case_small_network_optional_assets_annualized/src/run_ates.py index 7166f3af9..fbc9e4842 100644 --- a/tests/models/test_case_small_network_optional_assets_annualized/src/run_ates.py +++ b/tests/models/test_case_small_network_optional_assets_annualized/src/run_ates.py @@ -10,10 +10,10 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/test_case_small_network_with_ates/src/run_ates.py b/tests/models/test_case_small_network_with_ates/src/run_ates.py index db453e388..f8c696f95 100644 --- a/tests/models/test_case_small_network_with_ates/src/run_ates.py +++ b/tests/models/test_case_small_network_with_ates/src/run_ates.py @@ -19,10 +19,10 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py b/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py index 6cfef29ed..5a00a0f0d 100644 --- a/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py +++ b/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py @@ -12,10 +12,10 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases/case_1a/src/run_1a.py b/tests/models/unit_cases/case_1a/src/run_1a.py index df05d1f9a..b87efbeba 100644 --- a/tests/models/unit_cases/case_1a/src/run_1a.py +++ b/tests/models/unit_cases/case_1a/src/run_1a.py @@ -10,11 +10,11 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases/case_1a_t_var/src/run_1a.py b/tests/models/unit_cases/case_1a_t_var/src/run_1a.py index 8211c3b8b..518a652f4 100644 --- a/tests/models/unit_cases/case_1a_t_var/src/run_1a.py +++ b/tests/models/unit_cases/case_1a_t_var/src/run_1a.py @@ -9,11 +9,11 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases/case_2a/src/equal_temperatures.py b/tests/models/unit_cases/case_2a/src/equal_temperatures.py index 42bc6bd59..d92f3e205 100644 --- a/tests/models/unit_cases/case_2a/src/equal_temperatures.py +++ b/tests/models/unit_cases/case_2a/src/equal_temperatures.py @@ -9,10 +9,10 @@ LinearizedOrderGoalProgrammingMixin, ) -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.heat_mixin import HeatMixin -from rtctools_heat_network.qth_mixin import QTHMixin -from rtctools_heat_network.util import run_heat_network_optimization +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.heat_mixin import HeatMixin +from mesido.qth_mixin import QTHMixin +from mesido.util import run_heat_network_optimization class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases/case_2a/src/run_2a.py b/tests/models/unit_cases/case_2a/src/run_2a.py index 596e6623a..baea4838b 100644 --- a/tests/models/unit_cases/case_2a/src/run_2a.py +++ b/tests/models/unit_cases/case_2a/src/run_2a.py @@ -11,11 +11,11 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases/case_3a/src/run_3a.py b/tests/models/unit_cases/case_3a/src/run_3a.py index 11a6d559f..ac25f61ff 100644 --- a/tests/models/unit_cases/case_3a/src/run_3a.py +++ b/tests/models/unit_cases/case_3a/src/run_3a.py @@ -10,12 +10,12 @@ ) from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.qth_not_maintained.qth_mixin import QTHMixin -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py b/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py index ec1c6f357..db6fbb4d1 100644 --- a/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py +++ b/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py @@ -9,9 +9,9 @@ ) from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin -from rtctools_heat_network.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases_electricity/bus_networks/src/example.py b/tests/models/unit_cases_electricity/bus_networks/src/example.py index e84c05cb1..bfe869d1a 100644 --- a/tests/models/unit_cases_electricity/bus_networks/src/example.py +++ b/tests/models/unit_cases_electricity/bus_networks/src/example.py @@ -11,10 +11,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases_electricity/electrolyzer/src/example.py b/tests/models/unit_cases_electricity/electrolyzer/src/example.py index d3211c32c..fd7842c7a 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/src/example.py +++ b/tests/models/unit_cases_electricity/electrolyzer/src/example.py @@ -10,10 +10,10 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class RevenueGoal(Goal): diff --git a/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py b/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py index f76129890..4e9dfd359 100644 --- a/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py +++ b/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py @@ -11,10 +11,10 @@ ) from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin # TODO: check if this run script is still valid as test case for electric heatpump and update with diff --git a/tests/models/unit_cases_electricity/source_sink_cable/src/example.py b/tests/models/unit_cases_electricity/source_sink_cable/src/example.py index 19b5c759f..f5a853348 100644 --- a/tests/models/unit_cases_electricity/source_sink_cable/src/example.py +++ b/tests/models/unit_cases_electricity/source_sink_cable/src/example.py @@ -11,11 +11,11 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.physics_mixin import PhysicsMixin -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py b/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py index e2dd1a9d0..cdd0706b3 100644 --- a/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py +++ b/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py @@ -11,10 +11,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases_gas/source_pipe_split_sink/src/run_source_sink.py b/tests/models/unit_cases_gas/source_pipe_split_sink/src/run_source_sink.py index 1b7912110..c7616b67d 100644 --- a/tests/models/unit_cases_gas/source_pipe_split_sink/src/run_source_sink.py +++ b/tests/models/unit_cases_gas/source_pipe_split_sink/src/run_source_sink.py @@ -11,10 +11,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/models/unit_cases_gas/source_sink/src/run_source_sink.py b/tests/models/unit_cases_gas/source_sink/src/run_source_sink.py index d1c2517a8..8681d8562 100644 --- a/tests/models/unit_cases_gas/source_sink/src/run_source_sink.py +++ b/tests/models/unit_cases_gas/source_sink/src/run_source_sink.py @@ -11,10 +11,10 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_mixin import ESDLMixin -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin class TargetDemandGoal(Goal): diff --git a/tests/test_absolute_heat.py b/tests/test_absolute_heat.py index c78268508..c59c8ac88 100644 --- a/tests/test_absolute_heat.py +++ b/tests/test_absolute_heat.py @@ -3,8 +3,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_asset_is_realized.py b/tests/test_asset_is_realized.py index 2846f1e40..c78dc3451 100644 --- a/tests/test_asset_is_realized.py +++ b/tests/test_asset_is_realized.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestAssetIsRealized(TestCase): diff --git a/tests/test_ates.py b/tests/test_ates.py index cc46aa08b..6adf089b7 100644 --- a/tests/test_ates.py +++ b/tests/test_ates.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_cable_topology_optimization.py b/tests/test_cable_topology_optimization.py index 1c6e790b0..4f596d4f2 100644 --- a/tests/test_cable_topology_optimization.py +++ b/tests/test_cable_topology_optimization.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestElectricityTopo(TestCase): diff --git a/tests/test_electric_bus.py b/tests/test_electric_bus.py index 156c972ec..db7f564d8 100644 --- a/tests/test_electric_bus.py +++ b/tests/test_electric_bus.py @@ -15,8 +15,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestMILPbus(TestCase): diff --git a/tests/test_electric_source_sink.py b/tests/test_electric_source_sink.py index 0053c2339..937111bfa 100644 --- a/tests/test_electric_source_sink.py +++ b/tests/test_electric_source_sink.py @@ -6,8 +6,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile # TODO: still have to make test where elecitricity direction is switched: # e.g. 2 nodes, with at each node a producer and consumer, first one node medium demand, second diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index 355696b03..ce29db1ec 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile # from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 6468f08cb..00b6529db 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -5,22 +5,21 @@ from rtctools.util import run_optimization_problem -import rtctools_heat_network._darcy_weisbach as darcy_weisbach -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.workflows import ( +import mesido._darcy_weisbach as darcy_weisbach +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows import ( EndScenarioSizingDiscountedHIGHS, EndScenarioSizingHIGHS, EndScenarioSizingStagedHIGHS, run_end_scenario_sizing, ) -from rtctools_heat_network.workflows.grow_workflow import EndScenarioSizingHeadLossStaged +from mesido.workflows.grow_workflow import EndScenarioSizingHeadLossStaged from utils_tests import demand_matching_test class TestEndScenarioSizing(TestCase): - @classmethod def setUpClass(cls) -> None: import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates diff --git a/tests/test_end_scenario_sizing_annualized.py b/tests/test_end_scenario_sizing_annualized.py index 274f7646e..8e29ef8f8 100644 --- a/tests/test_end_scenario_sizing_annualized.py +++ b/tests/test_end_scenario_sizing_annualized.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestEndScenarioSizingAnnualized(TestCase): diff --git a/tests/test_esdl_parsing.py b/tests/test_esdl_parsing.py index d4c4b8dd0..1a8334581 100644 --- a/tests/test_esdl_parsing.py +++ b/tests/test_esdl_parsing.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser, ESDLStringParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser, ESDLStringParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestESDLParsing(unittest.TestCase): diff --git a/tests/test_esdl_pycml.py b/tests/test_esdl_pycml.py index 909ebb512..8afe5ee85 100644 --- a/tests/test_esdl_pycml.py +++ b/tests/test_esdl_pycml.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestESDL(TestCase): diff --git a/tests/test_gas_multi_demand_source_node.py b/tests/test_gas_multi_demand_source_node.py index bbba051fd..bf4cf98e5 100644 --- a/tests/test_gas_multi_demand_source_node.py +++ b/tests/test_gas_multi_demand_source_node.py @@ -6,8 +6,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestMILPGasMultiDemandSourceNode(TestCase): diff --git a/tests/test_gas_pipe_topology_optimization.py b/tests/test_gas_pipe_topology_optimization.py index 3ba9b14a5..ca119f5ad 100644 --- a/tests/test_gas_pipe_topology_optimization.py +++ b/tests/test_gas_pipe_topology_optimization.py @@ -5,9 +5,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption class TestGasNetwork(TestCase): @@ -30,9 +30,9 @@ def test_gas_pipe_top(self): class GasNetworkProblem(HeatProblem): def energy_system_options(self): options = super().energy_system_options() - self.gas_network_settings["head_loss_option"] = ( - HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY - ) + self.gas_network_settings[ + "head_loss_option" + ] = HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY self.gas_network_settings["minimize_head_losses"] = True return options diff --git a/tests/test_gas_source_sink.py b/tests/test_gas_source_sink.py index 314ba8465..2198133d4 100644 --- a/tests/test_gas_source_sink.py +++ b/tests/test_gas_source_sink.py @@ -6,9 +6,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption class TestMILPGasSourceSink(TestCase): @@ -30,9 +30,9 @@ def test_source_sink(self): class TestSourceSink(GasProblem): def energy_system_options(self): options = super().energy_system_options() - self.heat_network_settings["head_loss_option"] = ( - HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY - ) + self.heat_network_settings[ + "head_loss_option" + ] = HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY self.heat_network_settings["n_linearization_lines"] = 5 self.heat_network_settings["minimize_head_losses"] = True diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 25410ce69..6141393aa 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -5,12 +5,12 @@ from rtctools.util import run_optimization_problem -import rtctools_heat_network._darcy_weisbach as darcy_weisbach -from rtctools_heat_network.constants import GRAVITATIONAL_CONSTANT -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.network_common import NetworkSettings +import mesido._darcy_weisbach as darcy_weisbach +from mesido.constants import GRAVITATIONAL_CONSTANT +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.network_common import NetworkSettings from utils_tests import demand_matching_test @@ -56,15 +56,15 @@ def energy_system_options(self): head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY ): - self.gas_network_settings["head_loss_option"] = ( - HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY - ) + self.gas_network_settings[ + "head_loss_option" + ] = HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY self.gas_network_settings["n_linearization_lines"] = 5 self.heat_network_settings["minimize_head_losses"] = True elif head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_EQUALITY: - self.heat_network_settings["head_loss_option"] = ( - HeadLossOption.LINEARIZED_N_LINES_EQUALITY - ) + self.heat_network_settings[ + "head_loss_option" + ] = HeadLossOption.LINEARIZED_N_LINES_EQUALITY self.heat_network_settings["minimize_head_losses"] = True self.heat_network_settings["minimum_velocity"] = 1.0e-6 @@ -118,8 +118,8 @@ def energy_system_options(self): ) * 8.0 * pipe_length - * (v_inspect * np.pi * pipe_diameter**2 / 4.0) ** 2 - / (pipe_diameter**5 * GRAVITATIONAL_CONSTANT * np.pi**2) + * (v_inspect * np.pi * pipe_diameter ** 2 / 4.0) ** 2 + / (pipe_diameter ** 5 * GRAVITATIONAL_CONSTANT * np.pi ** 2) ) # Approximate dH [m] vs Q [m3/s] with a linear line between between v_points # dH_manual_linear = a*Q + b @@ -139,12 +139,12 @@ def energy_system_options(self): ) delta_volumetric_flow = ( - v_points[linearized_idx[1]] * np.pi * pipe_diameter**2 / 4.0 - ) - (v_points[linearized_idx[0]] * np.pi * pipe_diameter**2 / 4.0) + v_points[linearized_idx[1]] * np.pi * pipe_diameter ** 2 / 4.0 + ) - (v_points[linearized_idx[0]] * np.pi * pipe_diameter ** 2 / 4.0) a = delta_dh_theory / delta_volumetric_flow b = delta_dh_theory - a * delta_volumetric_flow - dh_manual_linear = a * (v_inspect * np.pi * pipe_diameter**2 / 4.0) + b + dh_manual_linear = a * (v_inspect * np.pi * pipe_diameter ** 2 / 4.0) + b dh_milp_head_loss_function = darcy_weisbach.head_loss( v_inspect, pipe_diameter, pipe_length, pipe_wall_roughness, temperature @@ -287,8 +287,8 @@ def energy_system_options(self): ) * 8.0 * pipe_length - * (v_inspect * np.pi * pipe_diameter**2 / 4.0) ** 2 - / (pipe_diameter**5 * GRAVITATIONAL_CONSTANT * np.pi**2) + * (v_inspect * np.pi * pipe_diameter ** 2 / 4.0) ** 2 + / (pipe_diameter ** 5 * GRAVITATIONAL_CONSTANT * np.pi ** 2) ) # Approximate dH [m] vs Q [m3/s] with a linear line between between v_points # dH_manual_linear = a*Q + b @@ -299,13 +299,13 @@ def energy_system_options(self): v_points[0], pipe_diameter, pipe_length, pipe_wall_roughness, temperature ) - delta_volumetric_flow = (v_points[1] * np.pi * pipe_diameter**2 / 4.0) - ( - v_points[0] * np.pi * pipe_diameter**2 / 4.0 + delta_volumetric_flow = (v_points[1] * np.pi * pipe_diameter ** 2 / 4.0) - ( + v_points[0] * np.pi * pipe_diameter ** 2 / 4.0 ) a = delta_dh_theory / delta_volumetric_flow b = delta_dh_theory - a * delta_volumetric_flow - dh_manual_linear = a * (v_inspect * np.pi * pipe_diameter**2 / 4.0) + b + dh_manual_linear = a * (v_inspect * np.pi * pipe_diameter ** 2 / 4.0) + b dh_milp_head_loss_function = darcy_weisbach.head_loss( v_inspect, pipe_diameter, pipe_length, pipe_wall_roughness, temperature @@ -469,13 +469,13 @@ def energy_system_options(self): pressure=solution.parameters(0)[f"{pipes[0]}.pressure"], ) - delta_volumetric_flow = (v_points[1] * np.pi * pipe_diameter**2 / 4.0) - ( - v_points[0] * np.pi * pipe_diameter**2 / 4.0 + delta_volumetric_flow = (v_points[1] * np.pi * pipe_diameter ** 2 / 4.0) - ( + v_points[0] * np.pi * pipe_diameter ** 2 / 4.0 ) a = delta_dh_theory / delta_volumetric_flow b = delta_dh_theory - a * delta_volumetric_flow - dh_manual_linear = a * (v_inspect * np.pi * pipe_diameter**2 / 4.0) + b + dh_manual_linear = a * (v_inspect * np.pi * pipe_diameter ** 2 / 4.0) + b # Check that the head loss approximation with 2 linear lines (inequality constraints # is < than the linear equality head loss constraint @@ -635,19 +635,19 @@ def energy_system_options(self): ) delta_volumetric_flow.append( - (v_points[ii + 1] * np.pi * pipe_diameter**2 / 4.0) - - (v_points[ii] * np.pi * pipe_diameter**2 / 4.0) + (v_points[ii + 1] * np.pi * pipe_diameter ** 2 / 4.0) + - (v_points[ii] * np.pi * pipe_diameter ** 2 / 4.0) ) a.append(delta_dh_theory[ii] / delta_volumetric_flow[ii]) b.append(sum(delta_dh_theory[0:ii]) - a[ii] * sum(delta_volumetric_flow[0:ii])) # dh for the 2 data point on the 1st linear line segment - dh_manual_linear.append(a[0] * (v_inspect[0] * np.pi * pipe_diameter**2 / 4.0) + b[0]) - dh_manual_linear.append(a[0] * (v_inspect[1] * np.pi * pipe_diameter**2 / 4.0) + b[0]) + dh_manual_linear.append(a[0] * (v_inspect[0] * np.pi * pipe_diameter ** 2 / 4.0) + b[0]) + dh_manual_linear.append(a[0] * (v_inspect[1] * np.pi * pipe_diameter ** 2 / 4.0) + b[0]) # dh for the 2 data point on the 2nd linear line segment - dh_manual_linear.append(a[1] * (v_inspect[2] * np.pi * pipe_diameter**2 / 4.0) + b[1]) - dh_manual_linear.append(a[1] * (v_inspect[3] * np.pi * pipe_diameter**2 / 4.0) + b[1]) + dh_manual_linear.append(a[1] * (v_inspect[2] * np.pi * pipe_diameter ** 2 / 4.0) + b[1]) + dh_manual_linear.append(a[1] * (v_inspect[3] * np.pi * pipe_diameter ** 2 / 4.0) + b[1]) # Gas flow balance np.testing.assert_allclose( diff --git a/tests/test_head_loss_class.py b/tests/test_head_loss_class.py index 3c890a3d6..7d6d1fd27 100644 --- a/tests/test_head_loss_class.py +++ b/tests/test_head_loss_class.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.head_loss_class import HeadLossOption -from rtctools_heat_network.network_common import NetworkSettings +from mesido.head_loss_class import HeadLossOption +from mesido.network_common import NetworkSettings class TestHeadLossCalculation(TestCase): diff --git a/tests/test_heat.py b/tests/test_heat.py index 899ec0011..fefa9e07a 100644 --- a/tests/test_heat.py +++ b/tests/test_heat.py @@ -5,9 +5,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -125,9 +125,9 @@ class MinPressure(SmallerPipes): def energy_system_options(self): options = super().energy_system_options() assert "pipe_minimum_pressure" in self.heat_network_settings - self.heat_network_settings["pipe_minimum_pressure"] = ( - TestMinMaxPressureOptions.min_pressure - ) + self.heat_network_settings[ + "pipe_minimum_pressure" + ] = TestMinMaxPressureOptions.min_pressure return options class MaxPressure(SmallerPipes): @@ -140,12 +140,12 @@ def energy_system_options(self): class MinMaxPressure(SmallerPipes): def energy_system_options(self): options = super().energy_system_options() - self.heat_network_settings["pipe_minimum_pressure"] = ( - TestMinMaxPressureOptions.min_pressure - ) - self.heat_network_settings["pipe_maximum_pressure"] = ( - TestMinMaxPressureOptions.max_pressure - ) + self.heat_network_settings[ + "pipe_minimum_pressure" + ] = TestMinMaxPressureOptions.min_pressure + self.heat_network_settings[ + "pipe_maximum_pressure" + ] = TestMinMaxPressureOptions.max_pressure return options def test_min_max_pressure_options(self): @@ -330,9 +330,9 @@ def test_disconnected_network_pipe(self): class ModelDisconnectedDarcyWeisbach(ModelDisconnected): def energy_system_options(self): options = super().energy_system_options() - self.heat_network_settings["head_loss_option"] = ( - HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY - ) + self.heat_network_settings[ + "head_loss_option" + ] = HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY return options def test_disconnected_pipe_darcy_weisbach(self): diff --git a/tests/test_heat_loss_u_values.py b/tests/test_heat_loss_u_values.py index 04b1fa4dc..46ce86526 100644 --- a/tests/test_heat_loss_u_values.py +++ b/tests/test_heat_loss_u_values.py @@ -2,7 +2,7 @@ import numpy as np -from rtctools_heat_network._heat_loss_u_values_pipe import heat_loss_u_values_pipe +from mesido._heat_loss_u_values_pipe import heat_loss_u_values_pipe class TestHeatLossUValues(TestCase): diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index 57ef5b1b3..55f20a2ba 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -7,9 +7,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.head_loss_class import HeadLossOption +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption class TestHydraulicPower(TestCase): @@ -57,7 +57,7 @@ def test_hydraulic_power(self): } run_hydraulic_power.comp_vars_init = { "pipe_length": 0.0, # [m] - "heat_demand": [3.95 * 10**6, 3.95 * 10**6], # [W] + "heat_demand": [3.95 * 10 ** 6, 3.95 * 10 ** 6], # [W] "pipe_DN_MILP": 300, # [mm] } standard_columns_specified = [ diff --git a/tests/test_insulation.py b/tests/test_insulation.py index 9e0dfcf8b..9d1caac84 100644 --- a/tests/test_insulation.py +++ b/tests/test_insulation.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestInsulation(TestCase): diff --git a/tests/test_max_size_and_optional_assets.py b/tests/test_max_size_and_optional_assets.py index f6eb6730b..fb835debd 100644 --- a/tests/test_max_size_and_optional_assets.py +++ b/tests/test_max_size_and_optional_assets.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index b733f7579..f42eefb93 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -6,8 +6,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_multiple_carriers.py b/tests/test_multiple_carriers.py index f049d9a5f..406fc71bf 100644 --- a/tests/test_multiple_carriers.py +++ b/tests/test_multiple_carriers.py @@ -3,8 +3,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 5eb254b48..dad898f68 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_network_simulator.py b/tests/test_network_simulator.py index 0bc21490b..7abf80bc5 100644 --- a/tests/test_network_simulator.py +++ b/tests/test_network_simulator.py @@ -5,9 +5,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.workflows import NetworkSimulatorHIGHSTestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows import NetworkSimulatorHIGHSTestCase from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_pipe_diameter_sizing.py b/tests/test_pipe_diameter_sizing.py index 5071f726f..464bd73dd 100644 --- a/tests/test_pipe_diameter_sizing.py +++ b/tests/test_pipe_diameter_sizing.py @@ -6,9 +6,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network._darcy_weisbach import friction_factor -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido._darcy_weisbach import friction_factor +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -116,7 +116,7 @@ def test_half_network_gone(self): parameters[f"{pipe}.temperature"], ) c_v = parameters[f"{pipe}.length"] * ff / (2 * 9.81) / pc.inner_diameter - dh_max = c_v * pc.maximum_velocity**2 + dh_max = c_v * pc.maximum_velocity ** 2 dh_manual = dh_max * results[f"{pipe}.Q"][1:] / pc.area / pc.maximum_velocity np.testing.assert_allclose(-dh_manual, results[f"{pipe}.dH"][1:], atol=1.0e-12) diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 453305ed5..1b0574cd9 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -3,8 +3,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index d8ad6d7ba..675f5110e 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -8,9 +8,9 @@ import pandas as pd -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import InfluxDBProfileReader, ProfileReaderFromFile -from rtctools_heat_network.workflows import EndScenarioSizingStagedHIGHS +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import InfluxDBProfileReader, ProfileReaderFromFile +from mesido.workflows import EndScenarioSizingStagedHIGHS class MockInfluxDBProfileReader(InfluxDBProfileReader): diff --git a/tests/test_pycml.py b/tests/test_pycml.py index 5264d2123..b05013865 100644 --- a/tests/test_pycml.py +++ b/tests/test_pycml.py @@ -2,7 +2,7 @@ import numpy as np -from rtctools_heat_network.pycml import Model, Variable +from mesido.pycml import Model, Variable class TestPyCML(TestCase): diff --git a/tests/test_setpoint_constraints.py b/tests/test_setpoint_constraints.py index a5fbb7f9d..eca280e44 100644 --- a/tests/test_setpoint_constraints.py +++ b/tests/test_setpoint_constraints.py @@ -7,8 +7,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile class TestSetpointConstraints(TestCase): diff --git a/tests/test_temperature_ates_hp.py b/tests/test_temperature_ates_hp.py index cfb3fa899..bc379e7d1 100644 --- a/tests/test_temperature_ates_hp.py +++ b/tests/test_temperature_ates_hp.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_topo_constraints.py b/tests/test_topo_constraints.py index 74a2886f5..f0636694a 100644 --- a/tests/test_topo_constraints.py +++ b/tests/test_topo_constraints.py @@ -8,11 +8,11 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network._heat_loss_u_values_pipe import pipe_heat_loss -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile -from rtctools_heat_network.pipe_class import PipeClass -from rtctools_heat_network.techno_economic_mixin import TechnoEconomicMixin +from mesido._heat_loss_u_values_pipe import pipe_heat_loss +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.pipe_class import PipeClass +from mesido.techno_economic_mixin import TechnoEconomicMixin MIP_TOLERANCE = 1e-8 diff --git a/tests/test_varying_temperature.py b/tests/test_varying_temperature.py index ef74c15e8..43be913ec 100644 --- a/tests/test_varying_temperature.py +++ b/tests/test_varying_temperature.py @@ -5,9 +5,9 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network._heat_loss_u_values_pipe import pipe_heat_loss -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido._heat_loss_u_values_pipe import pipe_heat_loss +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_warmingup_unit_cases.py b/tests/test_warmingup_unit_cases.py index acffdbc06..9573a605c 100644 --- a/tests/test_warmingup_unit_cases.py +++ b/tests/test_warmingup_unit_cases.py @@ -5,8 +5,8 @@ from rtctools.util import run_optimization_problem -from rtctools_heat_network.esdl.esdl_parser import ESDLFileParser -from rtctools_heat_network.esdl.profile_parser import ProfileReaderFromFile +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test From 39ab6e6556cdbb98a0abc48d545a7d30b894fc6a Mon Sep 17 00:00:00 2001 From: Rojer Date: Sun, 24 Mar 2024 18:42:18 +0100 Subject: [PATCH 004/376] added keyword --- setup.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 914a11e96..8588fd678 100644 --- a/setup.py +++ b/setup.py @@ -50,7 +50,7 @@ "Femke Janssen, Jesús Andrés Rodríguez Sarasty, " "Thijs van der Klauw", license="LGPLv3", - keywords="Multi-Energy-Systems", + keywords="Multi-Energy-Systems, optimization", platforms=["Windows", "Linux", "Mac OS-X", "Unix"], packages=find_packages("src"), package_dir={"": "src"}, @@ -70,7 +70,5 @@ include_package_data=True, python_requires=">=3.8,<3.11", cmdclass=versioneer.get_cmdclass(), - entry_points={ - "rtctools.libraries.modelica": ["library_folder = mesido:modelica"] - }, + entry_points={"rtctools.libraries.modelica": ["library_folder = mesido:modelica"]}, ) From 1e0152e5b784a04c41a9fe9145d162ada77a269f Mon Sep 17 00:00:00 2001 From: Rojer Date: Sun, 24 Mar 2024 19:23:13 +0100 Subject: [PATCH 005/376] style --- examples/pipe_diameter_sizing/src/example.py | 12 ++-- src/mesido/_darcy_weisbach.py | 10 ++-- src/mesido/_heat_loss_u_values_pipe.py | 4 +- src/mesido/asset_sizing_mixin.py | 42 +++++++------- src/mesido/component_type_mixin.py | 8 +-- src/mesido/electricity_physics_mixin.py | 7 +-- src/mesido/esdl/_update_edr_pipes_json.py | 4 +- src/mesido/esdl/asset_to_component_base.py | 4 +- src/mesido/esdl/esdl_additional_vars_mixin.py | 4 +- src/mesido/esdl/esdl_heat_model.py | 15 +++-- src/mesido/esdl/esdl_mixin.py | 23 ++++---- src/mesido/esdl/esdl_parser.py | 2 +- src/mesido/esdl/esdl_qth_model.py | 9 ++- src/mesido/esdl/profile_parser.py | 4 +- src/mesido/financial_mixin.py | 11 ++-- src/mesido/gas_physics_mixin.py | 14 ++--- src/mesido/head_loss_class.py | 23 ++++---- src/mesido/heat_physics_mixin.py | 46 +++++++-------- src/mesido/physics_mixin.py | 13 ++--- src/mesido/pipe_class.py | 4 +- .../milp/_internal/heat_component.py | 4 +- .../milp/electricity/electricity_cable.py | 6 +- .../milp/electricity/electricity_demand.py | 4 +- .../milp/electricity/electricity_node.py | 4 +- .../milp/electricity/electricity_source.py | 4 +- .../component_library/milp/gas/gas_demand.py | 4 +- .../component_library/milp/gas/gas_pipe.py | 6 +- .../component_library/milp/gas/gas_source.py | 4 +- .../milp/gas/gas_tank_storage.py | 4 +- .../milp/heat/_non_storage_component.py | 4 +- .../pycml/component_library/milp/heat/ates.py | 5 +- .../milp/heat/heat_buffer.py | 6 +- .../milp/heat/heat_exchanger.py | 4 +- .../component_library/milp/heat/heat_pipe.py | 8 +-- .../component_library/milp/heat/heat_pump.py | 4 +- .../milp/heat/heat_source.py | 4 +- .../pycml/component_library/milp/heat/pump.py | 4 +- .../milp/multicommodity/electrolyzer.py | 4 +- .../pycml/component_library/qth/buffer.py | 8 +-- .../pycml/component_library/qth/pipe.py | 6 +- .../pycml/component_library/qth/source.py | 4 +- .../bounds_to_pipe_flow_directions_mixin.py | 6 +- .../qth_not_maintained/head_loss_mixin.py | 16 ++--- .../qth_not_maintained/qth_loop_mixin.py | 4 +- src/mesido/qth_not_maintained/qth_mixin.py | 16 ++--- src/mesido/techno_economic_mixin.py | 10 ++-- .../workflows/goals/minimize_tco_goal.py | 4 +- src/mesido/workflows/grow_workflow.py | 28 ++++----- src/mesido/workflows/io/write_output.py | 14 ++--- src/mesido/workflows/simulator_workflow.py | 25 ++++---- tests/models/absolute_heat/src/example.py | 10 ++-- .../src/run_ates_temperature.py | 20 +++---- tests/models/basic_buffer/src/compare.py | 4 +- .../src/heat_comparison.py | 10 ++-- .../src/qth_comparison.py | 16 ++--- .../src/qth_minimize_temperatures.py | 14 ++--- .../double_pipe_heat/src/double_pipe_heat.py | 8 +-- .../src/cq2_inequality_vs_equality.py | 4 +- .../double_pipe_qth/src/double_pipe_qth.py | 12 ++-- .../src/single_pipe_no_headloss.py | 4 +- .../electricity_cable_topology/src/example.py | 12 ++-- tests/models/emerge/src/example.py | 14 ++--- tests/models/gas_pipe_topology/src/example.py | 10 ++-- .../heat_exchange/src/run_heat_exchanger.py | 12 ++-- tests/models/heatpump/src/run_heat_pump.py | 10 ++-- tests/models/insulation/src/run_insulation.py | 12 ++-- .../src/run_multiple_carriers.py | 10 ++-- .../src/run_multiple_gas_carriers.py | 10 ++-- .../pipe_test/src/run_hydraulic_power.py | 14 ++--- .../models/simple_buffer/src/simple_buffer.py | 8 +-- .../source_pipe_sink/src/double_pipe_heat.py | 20 +++---- .../src/double_pipe_heat.py | 6 +- .../src/run_ates.py | 10 ++-- .../src/run_annualized.py | 6 +- .../src/run_ates.py | 10 ++-- .../src/run_ates.py | 11 ++-- .../src/run_ates.py | 10 ++-- tests/models/unit_cases/case_1a/src/run_1a.py | 12 ++-- .../unit_cases/case_1a_t_var/src/run_1a.py | 12 ++-- .../case_2a/src/equal_temperatures.py | 10 ++-- tests/models/unit_cases/case_2a/src/run_2a.py | 12 ++-- tests/models/unit_cases/case_3a/src/run_3a.py | 14 ++--- .../unit_cases/case_3a_setpoint/src/run_3a.py | 8 +-- .../bus_networks/src/example.py | 10 ++-- .../electrolyzer/src/example.py | 10 ++-- .../heat_pump_elec/src/run_hp_elec.py | 10 ++-- .../source_sink_cable/src/example.py | 12 ++-- .../multi_demand_source_node/src/run_test.py | 10 ++-- .../src/run_source_sink.py | 10 ++-- .../source_sink/src/run_source_sink.py | 10 ++-- tests/test_absolute_heat.py | 4 +- tests/test_asset_is_realized.py | 6 +- tests/test_ates.py | 6 +- tests/test_cable_topology_optimization.py | 6 +- tests/test_electric_bus.py | 6 +- tests/test_electric_source_sink.py | 6 +- tests/test_electrolyzer.py | 6 +- tests/test_end_scenario_sizing.py | 8 +-- tests/test_end_scenario_sizing_annualized.py | 6 +- tests/test_esdl_parsing.py | 6 +- tests/test_esdl_pycml.py | 6 +- tests/test_gas_multi_demand_source_node.py | 6 +- tests/test_gas_pipe_topology_optimization.py | 14 ++--- tests/test_gas_source_sink.py | 14 ++--- tests/test_head_loss.py | 58 +++++++++---------- tests/test_head_loss_class.py | 6 +- tests/test_heat.py | 32 +++++----- tests/test_heat_loss_u_values.py | 4 +- tests/test_hydraulic_power.py | 11 ++-- tests/test_insulation.py | 6 +- tests/test_max_size_and_optional_assets.py | 6 +- tests/test_multicommodity.py | 6 +- tests/test_multiple_carriers.py | 4 +- ...est_multiple_in_and_out_port_components.py | 6 +- tests/test_network_simulator.py | 8 +-- tests/test_pipe_diameter_sizing.py | 10 ++-- tests/test_producer_profiles.py | 4 +- tests/test_profile_parsing.py | 9 +-- tests/test_pycml.py | 4 +- tests/test_setpoint_constraints.py | 6 +- tests/test_temperature_ates_hp.py | 6 +- tests/test_topo_constraints.py | 10 ++-- tests/test_varying_temperature.py | 8 +-- tests/test_warmingup_unit_cases.py | 6 +- 124 files changed, 604 insertions(+), 616 deletions(-) diff --git a/examples/pipe_diameter_sizing/src/example.py b/examples/pipe_diameter_sizing/src/example.py index 797c020c7..4ba076214 100644 --- a/examples/pipe_diameter_sizing/src/example.py +++ b/examples/pipe_diameter_sizing/src/example.py @@ -1,3 +1,9 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.pipe_class import PipeClass +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -15,12 +21,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.pipe_class import PipeClass -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/src/mesido/_darcy_weisbach.py b/src/mesido/_darcy_weisbach.py index fb08078cb..1a5f60273 100644 --- a/src/mesido/_darcy_weisbach.py +++ b/src/mesido/_darcy_weisbach.py @@ -4,11 +4,11 @@ from iapws import IAPWS95 -import numpy as np - from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.network_common import NetworkSettings +import numpy as np + def _kinematic_viscosity(temperature, network_type=NetworkSettings.NETWORK_TYPE_HEAT, pressure=0.0): """ @@ -127,7 +127,7 @@ def head_loss( pressure=pressure, ) - return length * f / (2 * GRAVITATIONAL_CONSTANT) * velocity ** 2 / diameter + return length * f / (2 * GRAVITATIONAL_CONSTANT) * velocity**2 / diameter def get_linear_pipe_dh_vs_q_fit( @@ -144,7 +144,7 @@ def get_linear_pipe_dh_vs_q_fit( This function returns a set of coefficients to approximate a head loss curve with linear functions in the form of: head loss = b + (a * Q) """ - area = math.pi * diameter ** 2 / 4 + area = math.pi * diameter**2 / 4 v_points = np.linspace(0.0, v_max, n_lines + 1) q_points = v_points * area @@ -184,7 +184,7 @@ def get_linear_pipe_power_hydraulic_vs_q_fit( """ power_hydraulic = b + (a * Q) """ - area = math.pi * diameter ** 2 / 4.0 + area = math.pi * diameter**2 / 4.0 v_points = np.linspace(0.0, v_max, n_lines + 1) q_points = v_points * area diff --git a/src/mesido/_heat_loss_u_values_pipe.py b/src/mesido/_heat_loss_u_values_pipe.py index b6456835a..d3fb7889b 100644 --- a/src/mesido/_heat_loss_u_values_pipe.py +++ b/src/mesido/_heat_loss_u_values_pipe.py @@ -86,8 +86,8 @@ def heat_loss_u_values_pipe( ) if neighbour: - u_1 = (r_subsoil + r_ins) / ((r_subsoil + r_ins) ** 2 - r_m ** 2) - u_2 = r_m / ((r_subsoil + r_ins) ** 2 - r_m ** 2) + u_1 = (r_subsoil + r_ins) / ((r_subsoil + r_ins) ** 2 - r_m**2) + u_2 = r_m / ((r_subsoil + r_ins) ** 2 - r_m**2) else: u_1 = 1 / (r_subsoil + r_ins) u_2 = 0 diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index e4df1f7b8..e048db0f7 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -3,6 +3,12 @@ import casadi as ca +from mesido._heat_loss_u_values_pipe import pipe_heat_loss +from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.demand_insulation_class import DemandInsulationClass +from mesido.head_loss_class import HeadLossOption +from mesido.pipe_class import CableClass, GasPipeClass, PipeClass + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -10,14 +16,6 @@ ) from rtctools.optimization.timeseries import Timeseries -from mesido._heat_loss_u_values_pipe import pipe_heat_loss - - -from .base_component_type_mixin import BaseComponentTypeMixin -from .demand_insulation_class import DemandInsulationClass -from .head_loss_class import HeadLossOption -from .pipe_class import CableClass, GasPipeClass, PipeClass - logger = logging.getLogger("mesido") @@ -222,12 +220,12 @@ def pre(self): unique_cable_classes = self.get_unique_cable_classes() for cc in unique_cable_classes: cable_class_count = f"{cc.name}__global_cable_class_count" - self.__electricity_cable_topo_global_cable_class_count_var[ + self.__electricity_cable_topo_global_cable_class_count_var[cable_class_count] = ( + ca.MX.sym(cable_class_count) + ) + self.__electricity_cable_topo_global_cable_class_count_map[f"{cc.name}"] = ( cable_class_count - ] = ca.MX.sym(cable_class_count) - self.__electricity_cable_topo_global_cable_class_count_map[ - f"{cc.name}" - ] = cable_class_count + ) self.__electricity_cable_topo_global_cable_class_count_var_bounds[cable_class_count] = ( 0.0, len(self.energy_system_components.get("electricity_cable", [])), @@ -340,9 +338,9 @@ def pre(self): self._electricity_cable_topo_cable_class_map[cable][ c ] = cable_class_var_name - self.__electricity_cable_topo_cable_class_var[ - cable_class_var_name - ] = ca.MX.sym(cable_class_var_name) + self.__electricity_cable_topo_cable_class_var[cable_class_var_name] = ( + ca.MX.sym(cable_class_var_name) + ) self.__electricity_cable_topo_cable_class_var_bounds[ cable_class_var_name ] = (0.0, 1.0) @@ -693,9 +691,9 @@ def pre(self): self.__pipe_topo_pipe_class_discharge_ordering_map[pipe][ c ] = pipe_class_ordering_name - self.__pipe_topo_pipe_class_discharge_ordering_var[ - pipe_class_ordering_name - ] = ca.MX.sym(pipe_class_ordering_name) + self.__pipe_topo_pipe_class_discharge_ordering_var[pipe_class_ordering_name] = ( + ca.MX.sym(pipe_class_ordering_name) + ) self.__pipe_topo_pipe_class_discharge_ordering_var_bounds[ pipe_class_ordering_name ] = (0.0, 1.0) @@ -703,9 +701,9 @@ def pre(self): self.__pipe_topo_pipe_class_cost_ordering_map[pipe][ c ] = pipe_class_cost_ordering_name - self.__pipe_topo_pipe_class_cost_ordering_var[ - pipe_class_cost_ordering_name - ] = ca.MX.sym(pipe_class_cost_ordering_name) + self.__pipe_topo_pipe_class_cost_ordering_var[pipe_class_cost_ordering_name] = ( + ca.MX.sym(pipe_class_cost_ordering_name) + ) self.__pipe_topo_pipe_class_cost_ordering_var_bounds[ pipe_class_cost_ordering_name ] = (0.0, 1.0) diff --git a/src/mesido/component_type_mixin.py b/src/mesido/component_type_mixin.py index 4fe700b6d..3e6b2c2a3 100644 --- a/src/mesido/component_type_mixin.py +++ b/src/mesido/component_type_mixin.py @@ -1,11 +1,11 @@ import logging from typing import Dict, Set -from pymoca.backends.casadi.alias_relation import AliasRelation +from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.heat_network_common import NodeConnectionDirection +from mesido.topology import Topology -from .base_component_type_mixin import BaseComponentTypeMixin -from .heat_network_common import NodeConnectionDirection -from .topology import Topology +from pymoca.backends.casadi.alias_relation import AliasRelation logger = logging.getLogger("mesido") diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 44fdd79cd..23018bd89 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -4,6 +4,8 @@ import casadi as ca +from mesido.base_component_type_mixin import BaseComponentTypeMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -12,9 +14,6 @@ from rtctools.optimization.timeseries import Timeseries -from .base_component_type_mixin import BaseComponentTypeMixin - - logger = logging.getLogger("mesido") @@ -256,7 +255,7 @@ def __electricity_cable_mixing_path_constraints(self, ensemble_member): cable_classes = self._electricity_cable_topo_cable_class_map[cable] max_res = max([cc.resistance for cc in cable_classes]) max_i_max = max([cc.maximum_current for cc in cable_classes]) - big_m = max_i_max ** 2 * max_res * length + big_m = max_i_max**2 * max_res * length constraint_nominal = max_i_max * v_nom * max_res * length for cc_data, cc_name in cable_classes.items(): if cc_name != "None": diff --git a/src/mesido/esdl/_update_edr_pipes_json.py b/src/mesido/esdl/_update_edr_pipes_json.py index f6ce54530..9fe7479c6 100644 --- a/src/mesido/esdl/_update_edr_pipes_json.py +++ b/src/mesido/esdl/_update_edr_pipes_json.py @@ -2,10 +2,10 @@ import xml.etree.ElementTree as ET # noqa: N817 from typing import Tuple -import requests - from mesido._heat_loss_u_values_pipe import heat_loss_u_values_pipe +import requests + def main(): """ diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index df6abcd17..a7b69e4d9 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -8,10 +8,10 @@ import esdl from esdl import TimeUnitEnum, UnitEnum +from mesido.esdl._exceptions import _RetryLaterException +from mesido.esdl.common import Asset from mesido.pycml import Model as _Model -from ._exceptions import _RetryLaterException -from .common import Asset logger = logging.getLogger("mesido") diff --git a/src/mesido/esdl/esdl_additional_vars_mixin.py b/src/mesido/esdl/esdl_additional_vars_mixin.py index 4a7cacb5b..293b775e4 100644 --- a/src/mesido/esdl/esdl_additional_vars_mixin.py +++ b/src/mesido/esdl/esdl_additional_vars_mixin.py @@ -2,14 +2,14 @@ import esdl +from mesido.network_common import NetworkSettings + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, ) -from mesido.network_common import NetworkSettings - logger = logging.getLogger("mesido") diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index f0e8693e7..a13c7dc51 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -6,6 +6,10 @@ import esdl +from mesido.esdl.asset_to_component_base import MODIFIERS, _AssetToComponentBase +from mesido.esdl.common import Asset +from mesido.esdl.esdl_model_base import _ESDLModelBase +from mesido.network_common import NetworkSettings from mesido.pycml.component_library.milp import ( ATES, CheckValve, @@ -36,11 +40,6 @@ from scipy.optimize import fsolve -from .asset_to_component_base import MODIFIERS, _AssetToComponentBase -from .common import Asset -from .esdl_model_base import _ESDLModelBase -from ..network_common import NetworkSettings - logger = logging.getLogger("mesido") @@ -433,9 +432,9 @@ def convert_heat_pipe( ) = self._pipe_get_diameter_and_insulation(asset) if isinstance(asset.in_ports[0].carrier, esdl.esdl.GasCommodity): - q_nominal = math.pi * diameter ** 2 / 4.0 * self.v_max_gas / 2.0 + q_nominal = math.pi * diameter**2 / 4.0 * self.v_max_gas / 2.0 self._set_q_nominal(asset, q_nominal) - q_max = math.pi * diameter ** 2 / 4.0 * self.v_max_gas + q_max = math.pi * diameter**2 / 4.0 * self.v_max_gas self._set_q_max(asset, q_max) pressure = asset.in_ports[0].carrier.pressure * 1.0e5 density = self.get_density(asset.name, asset.in_ports[0].carrier) @@ -464,7 +463,7 @@ def convert_heat_pipe( temperature = temperature_modifiers["temperature"] # Compute the maximum milp flow based on an assumed maximum velocity - area = math.pi * diameter ** 2 / 4.0 + area = math.pi * diameter**2 / 4.0 q_max = area * self.v_max q_nominal = area * self.v_nominal diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index 84887e017..f52058192 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -9,30 +9,29 @@ import esdl.esdl_handler from esdl.resources.xmlresource import XMLResource -import numpy as np - -import rtctools.data.pi as pi -from rtctools.optimization.collocated_integrated_optimization_problem import ( - CollocatedIntegratedOptimizationProblem, -) -from rtctools.optimization.io_mixin import IOMixin - from mesido.component_type_mixin import ( ModelicaComponentTypeMixin, ) from mesido.esdl.asset_to_component_base import _AssetToComponentBase +from mesido.esdl.common import Asset from mesido.esdl.edr_pipe_class import EDRGasPipeClass, EDRPipeClass +from mesido.esdl.esdl_heat_model import ESDLHeatModel +from mesido.esdl.esdl_model_base import _ESDLModelBase from mesido.esdl.esdl_parser import ESDLStringParser +from mesido.esdl.esdl_qth_model import ESDLQTHModel from mesido.esdl.profile_parser import BaseProfileReader, InfluxDBProfileReader from mesido.physics_mixin import PhysicsMixin from mesido.pipe_class import GasPipeClass, PipeClass from mesido.pycml.pycml_mixin import PyCMLMixin from mesido.qth_not_maintained.qth_mixin import QTHMixin -from .common import Asset -from .esdl_heat_model import ESDLHeatModel -from .esdl_model_base import _ESDLModelBase -from .esdl_qth_model import ESDLQTHModel +import numpy as np + +import rtctools.data.pi as pi +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.optimization.io_mixin import IOMixin logger = logging.getLogger("mesido") diff --git a/src/mesido/esdl/esdl_parser.py b/src/mesido/esdl/esdl_parser.py index bbed8d0e5..1a1707ee9 100644 --- a/src/mesido/esdl/esdl_parser.py +++ b/src/mesido/esdl/esdl_parser.py @@ -4,7 +4,7 @@ import esdl.esdl_handler -from .common import Asset +from mesido.esdl.common import Asset class _ESDLInputException(Exception): diff --git a/src/mesido/esdl/esdl_qth_model.py b/src/mesido/esdl/esdl_qth_model.py index 3b883faae..6490b2c13 100644 --- a/src/mesido/esdl/esdl_qth_model.py +++ b/src/mesido/esdl/esdl_qth_model.py @@ -4,6 +4,9 @@ import esdl +from mesido.esdl.asset_to_component_base import MODIFIERS, _AssetToComponentBase +from mesido.esdl.common import Asset +from mesido.esdl.esdl_model_base import _ESDLModelBase from mesido.pycml import SymbolicParameter from mesido.pycml.component_library.qth import ( Buffer, @@ -17,10 +20,6 @@ Source, ) -from .asset_to_component_base import MODIFIERS, _AssetToComponentBase -from .common import Asset -from .esdl_model_base import _ESDLModelBase - logger = logging.getLogger("mesido") @@ -214,7 +213,7 @@ def convert_pipe(self, asset: Asset) -> Tuple[Type[Pipe], MODIFIERS]: conductivies_insulation, ) = self._pipe_get_diameter_and_insulation(asset) - area = math.pi * diameter ** 2 / 4.0 + area = math.pi * diameter**2 / 4.0 q_nominal = self.v_nominal * area q_max = self.v_max * area diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 644662bf8..1082d13cc 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -9,6 +9,8 @@ from esdl.profiles.influxdbprofilemanager import InfluxDBProfileManager from esdl.units.conversion import ENERGY_IN_J, POWER_IN_W, convert_to_unit +from mesido.esdl.common import Asset + import numpy as np import pandas as pd @@ -16,8 +18,6 @@ import rtctools.data.pi from rtctools.data.storage import DataStore -from mesido.esdl.common import Asset - logger = logging.getLogger() diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index dc3967975..d3d7b5d67 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -3,6 +3,8 @@ import casadi as ca +from mesido.base_component_type_mixin import BaseComponentTypeMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -10,8 +12,6 @@ ) from rtctools.optimization.timeseries import Timeseries -from .base_component_type_mixin import BaseComponentTypeMixin - logger = logging.getLogger("mesido") @@ -374,10 +374,9 @@ def pre(self): var_name = f"{asset}__cumulative_investments_made_in_eur" self.__cumulative_investments_made_in_eur_map[asset] = var_name self.__cumulative_investments_made_in_eur_var[var_name] = ca.MX.sym(var_name) - self.__cumulative_investments_made_in_eur_nominals[ - var_name - ] = self.variable_nominal(f"{asset}__investment_cost") + self.variable_nominal( - f"{asset}__installation_cost" + self.__cumulative_investments_made_in_eur_nominals[var_name] = ( + self.variable_nominal(f"{asset}__investment_cost") + + self.variable_nominal(f"{asset}__installation_cost") ) self.__cumulative_investments_made_in_eur_bounds[var_name] = (0.0, np.inf) diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index 7ce1115ff..4cca7fa9b 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -2,6 +2,10 @@ import casadi as ca +from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.head_loss_class import HeadLossClass, HeadLossOption +from mesido.network_common import NetworkSettings + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -9,10 +13,6 @@ ) from rtctools.optimization.timeseries import Timeseries -from .base_component_type_mixin import BaseComponentTypeMixin -from .head_loss_class import HeadLossClass, HeadLossOption -from .network_common import NetworkSettings - logger = logging.getLogger("mesido") @@ -204,9 +204,9 @@ def _get_min_bound(bound): self._gas_pipe_linear_line_segment_map[pipe_name][ ii_line ] = pipe_linear_line_segment_var_name - self.__gas_pipe_linear_line_segment_var[ - pipe_linear_line_segment_var_name - ] = initialized_vars[9][pipe_linear_line_segment_var_name] + self.__gas_pipe_linear_line_segment_var[pipe_linear_line_segment_var_name] = ( + initialized_vars[9][pipe_linear_line_segment_var_name] + ) self.__gas_pipe_linear_line_segment_var_bounds[ pipe_linear_line_segment_var_name ] = initialized_vars[10][pipe_linear_line_segment_var_name] diff --git a/src/mesido/head_loss_class.py b/src/mesido/head_loss_class.py index a79642604..be9a6ee72 100644 --- a/src/mesido/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -5,17 +5,16 @@ import casadi as ca +import mesido._darcy_weisbach as darcy_weisbach +from mesido.constants import GRAVITATIONAL_CONSTANT +from mesido.network_common import NetworkSettings +from mesido.pipe_class import PipeClass + import numpy as np from rtctools.optimization.goal_programming_mixin_base import Goal from rtctools.optimization.optimization_problem import BT -import mesido._darcy_weisbach as darcy_weisbach - -from .constants import GRAVITATIONAL_CONSTANT -from .network_common import NetworkSettings -from .pipe_class import PipeClass - logger = logging.getLogger("mesido") @@ -109,7 +108,7 @@ class HeadLossOption(IntEnum): class _MinimizeHeadLosses(Goal): order = 1 - priority = 2 ** 31 - 2 + priority = 2**31 - 2 def __init__(self, optimization_problem, input_network_settings, *args, **kwargs): super().__init__(*args, **kwargs) @@ -159,7 +158,7 @@ def function(self, optimization_problem, ensemble_member): class _MinimizeHydraulicPower(Goal): order = 1 - priority = 2 ** 31 - 1 + priority = 2**31 - 1 def __init__( self, @@ -613,13 +612,13 @@ def _hn_pipe_head_loss( c_v = length * ff / (2 * GRAVITATIONAL_CONSTANT) / diameter linearization_velocity = maximum_velocity - linearization_head_loss = c_v * linearization_velocity ** 2 + linearization_head_loss = c_v * linearization_velocity**2 linearization_discharge = linearization_velocity * area expr = linearization_head_loss * discharge / linearization_discharge if symbolic: - constraint_nominal = c_v * maximum_velocity ** 2 + constraint_nominal = c_v * maximum_velocity**2 # Interior point solvers, like IPOPT, do not like linearly dependent # tight inequality constraints. For this reason, we split the # constraints depending whether the Big-M formulation is used or not. @@ -660,7 +659,7 @@ def _hn_pipe_head_loss( c_v = length * ff / (2 * GRAVITATIONAL_CONSTANT) / diameter v = discharge / area - expr = c_v * v ** 2 + expr = c_v * v**2 if symbolic: q_nominal = self.variable_nominal(f"{pipe}.Q") @@ -986,7 +985,7 @@ def _hydraulic_power( # Compute c_k constant (where |hydraulic power| ~ c_k * v^3) c_k = rho * ff * length * area / 2.0 / diameter # Compute linearized value - max_hydraulic_power = c_k * maximum_velocity ** 3 + max_hydraulic_power = c_k * maximum_velocity**3 maximum_discharge = maximum_velocity * area hydraulic_power_linearized = max_hydraulic_power * discharge / maximum_discharge diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 4bdf1d638..3552d7a5b 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -4,6 +4,13 @@ import casadi as ca +from mesido._heat_loss_u_values_pipe import pipe_heat_loss +from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.constants import GRAVITATIONAL_CONSTANT +from mesido.demand_insulation_class import DemandInsulationClass +from mesido.head_loss_class import HeadLossClass, HeadLossOption +from mesido.network_common import NetworkSettings + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -11,15 +18,6 @@ ) from rtctools.optimization.timeseries import Timeseries -from mesido._heat_loss_u_values_pipe import pipe_heat_loss - - -from .base_component_type_mixin import BaseComponentTypeMixin -from .constants import GRAVITATIONAL_CONSTANT -from .demand_insulation_class import DemandInsulationClass -from .head_loss_class import HeadLossClass, HeadLossOption -from .network_common import NetworkSettings - logger = logging.getLogger("mesido") @@ -254,13 +252,13 @@ def _get_min_bound(bound): self, NetworkSettings.NETWORK_TYPE_HEAT, pipe_name, self.heat_network_settings ) if initialized_vars[0] != {}: - self.__pipe_head_bounds[ - f"{pipe_name}.{NetworkSettings.NETWORK_TYPE_HEAT}In.H" - ] = initialized_vars[0] + self.__pipe_head_bounds[f"{pipe_name}.{NetworkSettings.NETWORK_TYPE_HEAT}In.H"] = ( + initialized_vars[0] + ) if initialized_vars[1] != {}: - self.__pipe_head_bounds[ - f"{pipe_name}.{NetworkSettings.NETWORK_TYPE_HEAT}Out.H" - ] = initialized_vars[1] + self.__pipe_head_bounds[f"{pipe_name}.{NetworkSettings.NETWORK_TYPE_HEAT}Out.H"] = ( + initialized_vars[1] + ) if initialized_vars[2] != {}: self.__pipe_head_loss_zero_bounds[f"{pipe_name}.dH"] = initialized_vars[2] if initialized_vars[3] != {}: @@ -285,9 +283,9 @@ def _get_min_bound(bound): self._pipe_linear_line_segment_map[pipe_name][ ii_line ] = pipe_linear_line_segment_var_name - self.__pipe_linear_line_segment_var[ - pipe_linear_line_segment_var_name - ] = initialized_vars[9][pipe_linear_line_segment_var_name] + self.__pipe_linear_line_segment_var[pipe_linear_line_segment_var_name] = ( + initialized_vars[9][pipe_linear_line_segment_var_name] + ) self.__pipe_linear_line_segment_var_bounds[ pipe_linear_line_segment_var_name ] = initialized_vars[10][pipe_linear_line_segment_var_name] @@ -398,9 +396,9 @@ def _get_min_bound(bound): ) ates_temperature_ordering_var_name = f"{ates}__{temperature}_ordering" - self.__ates_temperature_ordering_var[ - ates_temperature_ordering_var_name - ] = ca.MX.sym(ates_temperature_ordering_var_name) + self.__ates_temperature_ordering_var[ates_temperature_ordering_var_name] = ( + ca.MX.sym(ates_temperature_ordering_var_name) + ) self.__ates_temperature_ordering_var_bounds[ates_temperature_ordering_var_name] = ( 0.0, 1.0, @@ -523,9 +521,9 @@ def _get_min_bound(bound): self.__demand_insulation_class_map[dmnd][ insl ] = demand_insulation_class_var_name - self.__demand_insulation_class_var[ - demand_insulation_class_var_name - ] = ca.MX.sym(demand_insulation_class_var_name) + self.__demand_insulation_class_var[demand_insulation_class_var_name] = ( + ca.MX.sym(demand_insulation_class_var_name) + ) self.__demand_insulation_class_var_bounds[ demand_insulation_class_var_name ] = (0.0, 1.0) diff --git a/src/mesido/physics_mixin.py b/src/mesido/physics_mixin.py index 93d435347..f147ba8ce 100644 --- a/src/mesido/physics_mixin.py +++ b/src/mesido/physics_mixin.py @@ -2,19 +2,18 @@ import casadi as ca +from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.control_variables import map_comp_type_to_control_variable +from mesido.electricity_physics_mixin import ElectricityPhysicsMixin +from mesido.gas_physics_mixin import GasPhysicsMixin +from mesido.heat_physics_mixin import HeatPhysicsMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, ) -from mesido.control_variables import map_comp_type_to_control_variable - - -from .base_component_type_mixin import BaseComponentTypeMixin -from .electricity_physics_mixin import ElectricityPhysicsMixin -from .gas_physics_mixin import GasPhysicsMixin -from .heat_physics_mixin import HeatPhysicsMixin logger = logging.getLogger("mesido") diff --git a/src/mesido/pipe_class.py b/src/mesido/pipe_class.py index 5563e76da..fd96cceae 100644 --- a/src/mesido/pipe_class.py +++ b/src/mesido/pipe_class.py @@ -26,7 +26,7 @@ def maximum_discharge(self): @property def area(self): - return 0.25 * math.pi * self.inner_diameter ** 2 + return 0.25 * math.pi * self.inner_diameter**2 @dataclass(frozen=True) @@ -50,7 +50,7 @@ def maximum_discharge(self): @property def area(self): - return 0.25 * math.pi * self.inner_diameter ** 2 + return 0.25 * math.pi * self.inner_diameter**2 @dataclass(frozen=True) diff --git a/src/mesido/pycml/component_library/milp/_internal/heat_component.py b/src/mesido/pycml/component_library/milp/_internal/heat_component.py index 058c4d602..ed8ef61b3 100644 --- a/src/mesido/pycml/component_library/milp/_internal/heat_component.py +++ b/src/mesido/pycml/component_library/milp/_internal/heat_component.py @@ -1,7 +1,7 @@ -from numpy import nan - from mesido.pycml import Component +from numpy import nan + class HeatComponent(Component): """ diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py b/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py index 8db017632..cb2512bc5 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py @@ -1,7 +1,7 @@ -from numpy import nan - from mesido.pycml import Variable +from numpy import nan + from .electricity_base import ElectricityTwoPort from .._internal import BaseAsset @@ -32,7 +32,7 @@ def __init__(self, name, **modifiers): self.nominal_voltage = nan self.r = 1.0e-6 * self.length # TODO: temporary value self.nominal_voltage_loss = (self.nominal_current * self.r * self.nominal_current) ** 0.5 - self.add_variable(Variable, "Power_loss", min=0.0, nominal=self.r * self.max_current ** 2) + self.add_variable(Variable, "Power_loss", min=0.0, nominal=self.r * self.max_current**2) self.add_variable(Variable, "I", nominal=self.nominal_current) self.add_variable(Variable, "V_loss", nominal=self.nominal_voltage_loss) diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_demand.py b/src/mesido/pycml/component_library/milp/electricity/electricity_demand.py index cb3ff691c..f0b578c19 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_demand.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_demand.py @@ -1,7 +1,7 @@ -from numpy import nan - from mesido.pycml import Variable +from numpy import nan + from .electricity_base import ElectricityPort from .._internal import BaseAsset from .._internal.electricity_component import ElectricityComponent diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_node.py b/src/mesido/pycml/component_library/milp/electricity/electricity_node.py index 97d863409..2aeabf80c 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_node.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_node.py @@ -1,7 +1,7 @@ -from numpy import nan - from mesido.pycml import Variable +from numpy import nan + from .electricity_base import ElectricityPort from .._internal import BaseAsset from .._internal.electricity_component import ElectricityComponent diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_source.py b/src/mesido/pycml/component_library/milp/electricity/electricity_source.py index 00a206860..5ee80a06f 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_source.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_source.py @@ -1,7 +1,7 @@ -from numpy import nan - from mesido.pycml import Variable +from numpy import nan + from .electricity_base import ElectricityPort from .._internal import BaseAsset from .._internal.electricity_component import ElectricityComponent diff --git a/src/mesido/pycml/component_library/milp/gas/gas_demand.py b/src/mesido/pycml/component_library/milp/gas/gas_demand.py index 450782dfd..3dbf21635 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_demand.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_demand.py @@ -1,7 +1,7 @@ -from numpy import nan - from mesido.pycml import Variable +from numpy import nan + from .gas_base import GasPort from .._internal import BaseAsset from .._internal.gas_component import GasComponent diff --git a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py index 62280ca75..52a90ca0b 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py @@ -1,7 +1,7 @@ -from numpy import nan, pi - from mesido.pycml import Variable +from numpy import nan, pi + from .gas_base import GasTwoPort from .._internal import BaseAsset @@ -21,7 +21,7 @@ def __init__(self, name, **modifiers): self.v_max = 15.0 self.density = 2.5e3 # [g/m3] self.diameter = nan - self.area = 0.25 * pi * self.diameter ** 2 + self.area = 0.25 * pi * self.diameter**2 self.Q_nominal = self.v_max / 2.0 * self.area self.pressure = 16.0e5 diff --git a/src/mesido/pycml/component_library/milp/gas/gas_source.py b/src/mesido/pycml/component_library/milp/gas/gas_source.py index 9f3bc109f..d369dd519 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_source.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_source.py @@ -1,7 +1,7 @@ -from numpy import nan - from mesido.pycml import Variable +from numpy import nan + from .gas_base import GasPort from .._internal import BaseAsset from .._internal.gas_component import GasComponent diff --git a/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py b/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py index 376d0f721..f2b7d9e68 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py @@ -1,8 +1,8 @@ -from numpy import nan - from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal import BaseAsset +from numpy import nan + from .gas_base import GasPort from .._internal.gas_component import GasComponent diff --git a/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py b/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py index f613c253e..e0f5e81c8 100644 --- a/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py +++ b/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py @@ -1,8 +1,8 @@ -from numpy import nan - from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset +from numpy import nan + from .heat_two_port import HeatTwoPort diff --git a/src/mesido/pycml/component_library/milp/heat/ates.py b/src/mesido/pycml/component_library/milp/heat/ates.py index 377c48f54..eda3a15d2 100644 --- a/src/mesido/pycml/component_library/milp/heat/ates.py +++ b/src/mesido/pycml/component_library/milp/heat/ates.py @@ -1,9 +1,8 @@ -from numpy import nan - - from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset +from numpy import nan + from .heat_two_port import HeatTwoPort diff --git a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py index ec55ff485..4313ebcec 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py @@ -1,10 +1,10 @@ import math -from numpy import nan - from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset +from numpy import nan + from .heat_two_port import HeatTwoPort @@ -40,7 +40,7 @@ def __init__(self, name, **modifiers): self.heat_transfer_coeff = 1.0 self.height = 5.0 self.radius = 10.0 - self.volume = math.pi * self.radius ** 2 * self.height + self.volume = math.pi * self.radius**2 * self.height self.heat_loss_coeff = 2 * self.heat_transfer_coeff / (self.radius * self.rho * self.cp) # The hot/cold tank can have a lower bound on its volume. # Meaning that they might always be, for e.g., 5% full. diff --git a/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py index 5dacc98bf..ee74b3cd7 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py @@ -1,9 +1,9 @@ -from numpy import nan - from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal import BaseAsset from mesido.pycml.component_library.milp.heat.heat_four_port import HeatFourPort +from numpy import nan + class HeatExchanger(HeatFourPort, BaseAsset): """ diff --git a/src/mesido/pycml/component_library/milp/heat/heat_pipe.py b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py index 1c361953b..3b30e62ac 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_pipe.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py @@ -1,7 +1,7 @@ -from numpy import nan, pi - from mesido.pycml import Variable +from numpy import nan, pi + from ._non_storage_component import _NonStorageComponent @@ -31,7 +31,7 @@ def __init__(self, name, **modifiers): self.length = 1.0 self.diameter = 1.0 assert "area" not in modifiers, "modifying area directly is not allowed" - self.area = 0.25 * pi * self.diameter ** 2 + self.area = 0.25 * pi * self.diameter**2 self.temperature = nan self.carrier_id = -1 self.pressure = 16.0e5 @@ -55,7 +55,7 @@ def __init__(self, name, **modifiers): ff = 0.02 # Order of magnitude expected with 0.05-2.5m/s in 20mm-1200mm diameter pipe velo = self.Q_nominal / self.area self.Hydraulic_power_nominal = ( - self.rho * ff * max(self.length, 1.0) * pi * self.area / self.diameter / 2.0 * velo ** 3 + self.rho * ff * max(self.length, 1.0) * pi * self.area / self.diameter / 2.0 * velo**3 ) self.add_variable( Variable, "Hydraulic_power", min=0.0, nominal=self.Hydraulic_power_nominal diff --git a/src/mesido/pycml/component_library/milp/heat/heat_pump.py b/src/mesido/pycml/component_library/milp/heat/heat_pump.py index dc1ee3df7..34963085c 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_pump.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pump.py @@ -1,9 +1,9 @@ -from numpy import nan - from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal import BaseAsset from mesido.pycml.component_library.milp.heat.heat_four_port import HeatFourPort +from numpy import nan + class HeatPump(HeatFourPort, BaseAsset): """ diff --git a/src/mesido/pycml/component_library/milp/heat/heat_source.py b/src/mesido/pycml/component_library/milp/heat/heat_source.py index 6a9554b32..a3a547c59 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_source.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_source.py @@ -1,7 +1,7 @@ -from numpy import nan - from mesido.pycml import Variable +from numpy import nan + from ._non_storage_component import _NonStorageComponent diff --git a/src/mesido/pycml/component_library/milp/heat/pump.py b/src/mesido/pycml/component_library/milp/heat/pump.py index 8ba0418e6..f6af9fa80 100644 --- a/src/mesido/pycml/component_library/milp/heat/pump.py +++ b/src/mesido/pycml/component_library/milp/heat/pump.py @@ -1,7 +1,7 @@ -from numpy import nan - from mesido.pycml import Variable +from numpy import nan + from ._non_storage_component import _NonStorageComponent diff --git a/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py index 1c7acb4ec..e4d727d98 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py @@ -1,5 +1,3 @@ -from numpy import nan - from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal import BaseAsset from mesido.pycml.component_library.milp._internal.electricity_component import ( @@ -12,6 +10,8 @@ GasPort, ) +from numpy import nan + class Electrolyzer(ElectricityComponent, BaseAsset): """ diff --git a/src/mesido/pycml/component_library/qth/buffer.py b/src/mesido/pycml/component_library/qth/buffer.py index 3a28447e3..b708cf649 100644 --- a/src/mesido/pycml/component_library/qth/buffer.py +++ b/src/mesido/pycml/component_library/qth/buffer.py @@ -1,9 +1,9 @@ import math -from numpy import nan - from mesido.pycml import Variable +from numpy import nan + from ._fluid_properties_component import _FluidPropertiesComponent @@ -21,13 +21,13 @@ def __init__(self, name, **modifiers): self.heat_transfer_coeff = 1.0 self.height = 5.0 self.radius = 10.0 - self.volume = math.pi * self.radius ** 2 * self.height + self.volume = math.pi * self.radius**2 * self.height # The hot/cold tank can have a lower bound on its volume. # Meaning that they might always be, for e.g., 5% full. self.min_fraction_tank_volume = 0.05 # if the tank is plced on ground, ignore surface of bottom of tank - self.surface = 2 * math.pi * self.radius ** 2 + 2 * math.pi * self.radius * self.height + self.surface = 2 * math.pi * self.radius**2 + 2 * math.pi * self.radius * self.height self.T_outside = 10.0 # Nominals diff --git a/src/mesido/pycml/component_library/qth/pipe.py b/src/mesido/pycml/component_library/qth/pipe.py index 5aa6c6052..5209e4202 100644 --- a/src/mesido/pycml/component_library/qth/pipe.py +++ b/src/mesido/pycml/component_library/qth/pipe.py @@ -1,7 +1,7 @@ -from numpy import nan, pi - from mesido.pycml import Variable +from numpy import nan, pi + from ._fluid_properties_component import _FluidPropertiesComponent from ._non_storage_component import _NonStorageComponent @@ -30,7 +30,7 @@ def __init__(self, name, **modifiers): self.length = 1.0 self.diameter = 1.0 assert "area" not in modifiers, "modifying area directly is not allowed" - self.area = 0.25 * pi * self.diameter ** 2 + self.area = 0.25 * pi * self.diameter**2 self.temperature = nan # Parameters determining the milp loss diff --git a/src/mesido/pycml/component_library/qth/source.py b/src/mesido/pycml/component_library/qth/source.py index 8893b33f7..e14ce3ed7 100644 --- a/src/mesido/pycml/component_library/qth/source.py +++ b/src/mesido/pycml/component_library/qth/source.py @@ -1,7 +1,7 @@ -from numpy import nan - from mesido.pycml import SymbolicParameter, Variable +from numpy import nan + from ._fluid_properties_component import _FluidPropertiesComponent from ._non_storage_component import _NonStorageComponent diff --git a/src/mesido/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py b/src/mesido/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py index 9d02e062f..cd2538377 100644 --- a/src/mesido/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py +++ b/src/mesido/qth_not_maintained/bounds_to_pipe_flow_directions_mixin.py @@ -1,12 +1,12 @@ from typing import Dict +from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.heat_network_common import PipeFlowDirection + import numpy as np from rtctools.optimization.timeseries import Timeseries -from mesido.base_component_type_mixin import BaseComponentTypeMixin -from mesido.heat_network_common import PipeFlowDirection - class BoundsToPipeFlowDirectionsMixin(BaseComponentTypeMixin): """ diff --git a/src/mesido/qth_not_maintained/head_loss_mixin.py b/src/mesido/qth_not_maintained/head_loss_mixin.py index 074d48fb5..3feb4d33e 100644 --- a/src/mesido/qth_not_maintained/head_loss_mixin.py +++ b/src/mesido/qth_not_maintained/head_loss_mixin.py @@ -5,15 +5,15 @@ import casadi as ca +import mesido._darcy_weisbach as darcy_weisbach +from mesido.base_component_type_mixin import BaseComponentTypeMixin + import numpy as np from rtctools._internal.alias_tools import AliasDict from rtctools.optimization.goal_programming_mixin_base import Goal, _GoalProgrammingMixinBase from rtctools.optimization.optimization_problem import BT, OptimizationProblem -import mesido._darcy_weisbach as darcy_weisbach -from mesido.base_component_type_mixin import BaseComponentTypeMixin - from ..constants import GRAVITATIONAL_CONSTANT from ..pipe_class import PipeClass @@ -109,7 +109,7 @@ class HeadLossOption(IntEnum): class _MinimizeHeadLosses(Goal): order = 1 - priority = 2 ** 31 - 1 + priority = 2**31 - 1 def __init__(self, optimization_problem: "_HeadLossMixin", *args, **kwargs): super().__init__(*args, **kwargs) @@ -150,7 +150,7 @@ def function(self, optimization_problem: "_HeadLossMixin", ensemble_member): class _MinimizeHydraulicPower(Goal): order = 1 - priority = 2 ** 31 - 1 + priority = 2**31 - 1 def __init__( self, @@ -526,7 +526,7 @@ def _hn_pipe_head_loss( c_v = length * ff / (2 * GRAVITATIONAL_CONSTANT) / diameter linearization_velocity = heat_network_options["maximum_velocity"] - linearization_head_loss = c_v * linearization_velocity ** 2 + linearization_head_loss = c_v * linearization_velocity**2 linearization_discharge = linearization_velocity * area expr = linearization_head_loss * discharge / linearization_discharge @@ -568,7 +568,7 @@ def _hn_pipe_head_loss( c_v = length * ff / (2 * GRAVITATIONAL_CONSTANT) / diameter v = discharge / area - expr = c_v * v ** 2 + expr = c_v * v**2 if symbolic: q_nominal = self.variable_nominal(f"{pipe}.Q") @@ -775,7 +775,7 @@ def _hydraulic_power( # Compute c_k constant (where |hydraulic power| ~ c_k * v^3) c_k = rho * ff * length * area / 2.0 / diameter # Compute linearized value - max_hydraulic_power = c_k * maximum_velocity ** 3 + max_hydraulic_power = c_k * maximum_velocity**3 maximum_discharge = maximum_velocity * area hydraulic_power_linearized = max_hydraulic_power * discharge / maximum_discharge diff --git a/src/mesido/qth_not_maintained/qth_loop_mixin.py b/src/mesido/qth_not_maintained/qth_loop_mixin.py index d9e464c20..f59a8d40f 100644 --- a/src/mesido/qth_not_maintained/qth_loop_mixin.py +++ b/src/mesido/qth_not_maintained/qth_loop_mixin.py @@ -2,14 +2,14 @@ import casadi as ca +from mesido.qth_not_maintained.qth_mixin import HeadLossOption, QTHMixin + import numpy as np from rtctools._internal.alias_tools import AliasDict from rtctools.optimization.goal_programming_mixin_base import Goal from rtctools.optimization.timeseries import Timeseries -from mesido.qth_not_maintained.qth_mixin import HeadLossOption, QTHMixin - class BufferTargetDischargeGoal(Goal): def __init__( diff --git a/src/mesido/qth_not_maintained/qth_mixin.py b/src/mesido/qth_not_maintained/qth_mixin.py index 398db35bd..8f3063fed 100644 --- a/src/mesido/qth_not_maintained/qth_mixin.py +++ b/src/mesido/qth_not_maintained/qth_mixin.py @@ -5,14 +5,6 @@ import casadi as ca -import numpy as np - -from rtctools.optimization.collocated_integrated_optimization_problem import ( - CollocatedIntegratedOptimizationProblem, -) -from rtctools.optimization.homotopy_mixin import HomotopyMixin -from rtctools.optimization.timeseries import Timeseries - from mesido._heat_loss_u_values_pipe import heat_loss_u_values_pipe from mesido.base_component_type_mixin import BaseComponentTypeMixin from mesido.heat_network_common import ( @@ -28,6 +20,14 @@ _MinimizeHydraulicPower as _MinimizeHydraulicPowerBase, ) +import numpy as np + +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.optimization.homotopy_mixin import HomotopyMixin +from rtctools.optimization.timeseries import Timeseries + logger = logging.getLogger("mesido") diff --git a/src/mesido/techno_economic_mixin.py b/src/mesido/techno_economic_mixin.py index c67f769c5..23c007dec 100644 --- a/src/mesido/techno_economic_mixin.py +++ b/src/mesido/techno_economic_mixin.py @@ -1,14 +1,14 @@ import logging +from mesido.asset_sizing_mixin import AssetSizingMixin +from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.financial_mixin import FinancialMixin +from mesido.physics_mixin import PhysicsMixin + from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, ) -from .asset_sizing_mixin import AssetSizingMixin -from .base_component_type_mixin import BaseComponentTypeMixin -from .financial_mixin import FinancialMixin -from .physics_mixin import PhysicsMixin - logger = logging.getLogger("mesido") diff --git a/src/mesido/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py index 4085bb2ad..945258d82 100644 --- a/src/mesido/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -2,10 +2,10 @@ from casadi import MX -from rtctools.optimization.goal_programming_mixin_base import Goal - from mesido.techno_economic_mixin import TechnoEconomicMixin +from rtctools.optimization.goal_programming_mixin_base import Goal + class MinimizeTCO(Goal): """ diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 14006b50e..760eaec1b 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -3,6 +3,17 @@ import os import time +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO +from mesido.workflows.io.write_output import ScenarioOutput +from mesido.workflows.utils.adapt_profiles import ( + adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, +) +from mesido.workflows.utils.helpers import main_decorator + import numpy as np from rtctools._internal.alias_tools import AliasDict @@ -19,17 +30,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.head_loss_class import HeadLossOption -from mesido.techno_economic_mixin import TechnoEconomicMixin -from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO -from mesido.workflows.io.write_output import ScenarioOutput -from mesido.workflows.utils.adapt_profiles import ( - adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, -) -from mesido.workflows.utils.helpers import main_decorator - DB_HOST = "172.17.0.2" DB_PORT = 8086 @@ -406,9 +406,9 @@ class EndScenarioSizingHeadLoss(EndScenarioSizing): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.heat_network_settings[ - "head_loss_option" - ] = HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + self.heat_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + ) self.heat_network_settings["minimize_head_losses"] = True diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index ca05552be..95942efea 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -12,6 +12,12 @@ from esdl.profiles.influxdbprofilemanager import InfluxDBProfileManager from esdl.profiles.profilemanager import ProfileManager +import mesido.esdl.esdl_parser +from mesido.constants import GRAVITATIONAL_CONSTANT +from mesido.esdl.edr_pipe_class import EDRPipeClass +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.utils.helpers import _sort_numbered + import numpy as np import pandas as pd @@ -20,12 +26,6 @@ from rtctools.optimization.timeseries import Timeseries -import mesido.esdl.esdl_parser -from mesido.constants import GRAVITATIONAL_CONSTANT -from mesido.esdl.edr_pipe_class import EDRPipeClass -from mesido.techno_economic_mixin import TechnoEconomicMixin -from mesido.workflows.utils.helpers import _sort_numbered - logger = logging.getLogger("mesido") @@ -196,7 +196,7 @@ def _write_html_output(self, template_name="mpc_buffer_sizing_output"): for source in _sort_numbered(self.energy_system_components["heat_source"]): if source in self._minimize_size_sources: max_size_var = self._max_source_heat_map[source] - results_sources_size[source] = float(results[max_size_var][0]) / 10.0 ** 3 + results_sources_size[source] = float(results[max_size_var][0]) / 10.0**3 else: results_sources_size[source] = "-" diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index 392845066..3fc4009a3 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -3,6 +3,15 @@ import esdl +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.io.write_output import ScenarioOutput +from mesido.workflows.utils.adapt_profiles import ( + adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, +) +from mesido.workflows.utils.helpers import main_decorator + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -19,16 +28,6 @@ from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.head_loss_class import HeadLossOption -from mesido.techno_economic_mixin import TechnoEconomicMixin -from mesido.workflows.io.write_output import ScenarioOutput -from mesido.workflows.utils.adapt_profiles import ( - adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, -) -from mesido.workflows.utils.helpers import main_decorator - - DB_HOST = "172.17.0.2" DB_PORT = 8086 DB_NAME = "Warmtenetten" @@ -226,9 +225,9 @@ def path_goals(self): def energy_system_options(self): options = super().energy_system_options() - self.heat_network_settings[ - "head_loss_option" - ] = HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + self.heat_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + ) self.heat_network_settings["minimize_head_losses"] = True return options diff --git a/tests/models/absolute_heat/src/example.py b/tests/models/absolute_heat/src/example.py index 6c89772a1..c45ac4fba 100644 --- a/tests/models/absolute_heat/src/example.py +++ b/tests/models/absolute_heat/src/example.py @@ -1,5 +1,10 @@ import casadi as ca +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -13,11 +18,6 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): """ diff --git a/tests/models/ates_temperature/src/run_ates_temperature.py b/tests/models/ates_temperature/src/run_ates_temperature.py index f7b4e6c39..69024ff52 100644 --- a/tests/models/ates_temperature/src/run_ates_temperature.py +++ b/tests/models/ates_temperature/src/run_ates_temperature.py @@ -1,3 +1,10 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.io.write_output import ScenarioOutput + import numpy as np from rtctools.data.storage import DataStore @@ -13,13 +20,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.head_loss_class import HeadLossOption -from mesido.techno_economic_mixin import TechnoEconomicMixin -from mesido.workflows.io.write_output import ScenarioOutput - ns = {"fews": "http://www.wldelft.nl/fews", "pi": "http://www.wldelft.nl/fews/PI"} WATT_TO_MEGA_WATT = 1.0e6 @@ -148,9 +148,9 @@ def path_goals(self): def energy_system_options(self): options = super().energy_system_options() self.heat_network_settings["minimum_velocity"] = 0.0001 - options[ - "heat_loss_disconnected_pipe" - ] = False # required since we want to disconnect HP & HEX + options["heat_loss_disconnected_pipe"] = ( + False # required since we want to disconnect HP & HEX + ) self.heat_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS options["neglect_pipe_heat_losses"] = True options["include_ates_temperature_options"] = True diff --git a/tests/models/basic_buffer/src/compare.py b/tests/models/basic_buffer/src/compare.py index 7658deba5..d69e5cd6b 100644 --- a/tests/models/basic_buffer/src/compare.py +++ b/tests/models/basic_buffer/src/compare.py @@ -3,8 +3,6 @@ from abc import ABCMeta from pathlib import Path -from rtctools.optimization.modelica_mixin import ModelicaMixin - from mesido.pycml.pycml_mixin import PyCMLMixin from mesido.qth_not_maintained.qth_loop_mixin import ( BufferTargetDischargeGoal, @@ -13,6 +11,8 @@ from mesido.qth_not_maintained.qth_mixin import QTHMixin from mesido.qth_not_maintained.util import run_heat_network_optimization +from rtctools.optimization.modelica_mixin import ModelicaMixin + # We want to import the example we compare with as a module that is somewhat # uniquely identifiable. We therefore start from the root. root_folder = str(Path(__file__).resolve().parent.parent.parent.parent.parent) diff --git a/tests/models/basic_source_and_demand/src/heat_comparison.py b/tests/models/basic_source_and_demand/src/heat_comparison.py index 3b7801dec..94959b682 100644 --- a/tests/models/basic_source_and_demand/src/heat_comparison.py +++ b/tests/models/basic_source_and_demand/src/heat_comparison.py @@ -1,3 +1,8 @@ +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.physics_mixin import PhysicsMixin +from mesido.pycml.pycml_mixin import PyCMLMixin + from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, ) @@ -6,11 +11,6 @@ from rtctools.optimization.modelica_mixin import ModelicaMixin from rtctools.util import run_optimization_problem -from mesido.component_type_mixin import ModelicaComponentTypeMixin -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.physics_mixin import PhysicsMixin -from mesido.pycml.pycml_mixin import PyCMLMixin - if __name__ == "__main__": from model_heat import Model else: diff --git a/tests/models/basic_source_and_demand/src/qth_comparison.py b/tests/models/basic_source_and_demand/src/qth_comparison.py index 41d7b17f4..c98705c24 100644 --- a/tests/models/basic_source_and_demand/src/qth_comparison.py +++ b/tests/models/basic_source_and_demand/src/qth_comparison.py @@ -1,3 +1,11 @@ +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( + BoundsToPipeFlowDirectionsMixin, +) +from mesido.qth_not_maintained.qth_mixin import QTHMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -10,14 +18,6 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from mesido.component_type_mixin import ModelicaComponentTypeMixin -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.pycml.pycml_mixin import PyCMLMixin -from mesido.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( - BoundsToPipeFlowDirectionsMixin, -) -from mesido.qth_not_maintained.qth_mixin import QTHMixin - if __name__ == "__main__": from model_qth import Model else: diff --git a/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py b/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py index 099b98e58..c7d3c89e0 100644 --- a/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py +++ b/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py @@ -1,3 +1,10 @@ +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( + BoundsToPipeFlowDirectionsMixin, +) +from mesido.qth_not_maintained.qth_mixin import DemandTemperatureOption, QTHMixin + from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, ) @@ -7,13 +14,6 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from mesido.component_type_mixin import ModelicaComponentTypeMixin -from mesido.pycml.pycml_mixin import PyCMLMixin -from mesido.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( - BoundsToPipeFlowDirectionsMixin, -) -from mesido.qth_not_maintained.qth_mixin import DemandTemperatureOption, QTHMixin - if __name__ == "__main__": from model_qth import Model else: diff --git a/tests/models/double_pipe_heat/src/double_pipe_heat.py b/tests/models/double_pipe_heat/src/double_pipe_heat.py index 4e5e35fe2..41d3dab72 100644 --- a/tests/models/double_pipe_heat/src/double_pipe_heat.py +++ b/tests/models/double_pipe_heat/src/double_pipe_heat.py @@ -1,3 +1,7 @@ +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.physics_mixin import PhysicsMixin +from mesido.pycml.pycml_mixin import PyCMLMixin + from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, ) @@ -5,10 +9,6 @@ from rtctools.optimization.goal_programming_mixin import Goal, GoalProgrammingMixin from rtctools.util import run_optimization_problem -from mesido.component_type_mixin import ModelicaComponentTypeMixin -from mesido.physics_mixin import PhysicsMixin -from mesido.pycml.pycml_mixin import PyCMLMixin - if __name__ == "__main__": from model import Model else: diff --git a/tests/models/double_pipe_qth/src/cq2_inequality_vs_equality.py b/tests/models/double_pipe_qth/src/cq2_inequality_vs_equality.py index 65d0f4e91..802a9dcae 100644 --- a/tests/models/double_pipe_qth/src/cq2_inequality_vs_equality.py +++ b/tests/models/double_pipe_qth/src/cq2_inequality_vs_equality.py @@ -1,10 +1,10 @@ from abc import ABCMeta -from rtctools.util import run_optimization_problem - from mesido.qth_not_maintained.qth_loop_mixin import QTHLoopMixin from mesido.qth_not_maintained.qth_mixin import HeadLossOption, QTHMixin +from rtctools.util import run_optimization_problem + if __name__ == "__main__": from double_pipe_qth import DoublePipeBase else: diff --git a/tests/models/double_pipe_qth/src/double_pipe_qth.py b/tests/models/double_pipe_qth/src/double_pipe_qth.py index 1e97ad2b5..b76ebd5c6 100644 --- a/tests/models/double_pipe_qth/src/double_pipe_qth.py +++ b/tests/models/double_pipe_qth/src/double_pipe_qth.py @@ -1,3 +1,9 @@ +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( + BoundsToPipeFlowDirectionsMixin, +) +from mesido.qth_not_maintained.qth_mixin import QTHMixin + from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, ) @@ -7,12 +13,6 @@ from rtctools.optimization.modelica_mixin import ModelicaMixin from rtctools.util import run_optimization_problem -from mesido.component_type_mixin import ModelicaComponentTypeMixin -from mesido.qth_not_maintained.bounds_to_pipe_flow_directions_mixin import ( - BoundsToPipeFlowDirectionsMixin, -) -from mesido.qth_not_maintained.qth_mixin import QTHMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/double_pipe_qth/src/single_pipe_no_headloss.py b/tests/models/double_pipe_qth/src/single_pipe_no_headloss.py index 83a416c53..e777c5975 100644 --- a/tests/models/double_pipe_qth/src/single_pipe_no_headloss.py +++ b/tests/models/double_pipe_qth/src/single_pipe_no_headloss.py @@ -1,7 +1,7 @@ -from rtctools.util import run_optimization_problem - from mesido.qth_not_maintained.qth_mixin import HeadLossOption +from rtctools.util import run_optimization_problem + if __name__ == "__main__": from double_pipe_qth import SinglePipeQTH else: diff --git a/tests/models/electricity_cable_topology/src/example.py b/tests/models/electricity_cable_topology/src/example.py index 7870aabfd..0447ec949 100644 --- a/tests/models/electricity_cable_topology/src/example.py +++ b/tests/models/electricity_cable_topology/src/example.py @@ -1,5 +1,11 @@ import casadi as ca +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.pipe_class import CableClass +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -13,12 +19,6 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.pipe_class import CableClass -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): """ diff --git a/tests/models/emerge/src/example.py b/tests/models/emerge/src/example.py index a489e2e0f..bd4d0e6ad 100644 --- a/tests/models/emerge/src/example.py +++ b/tests/models/emerge/src/example.py @@ -1,5 +1,12 @@ import casadi as ca +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin + from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, ) @@ -10,13 +17,6 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.head_loss_class import HeadLossOption -from mesido.techno_economic_mixin import TechnoEconomicMixin - class MaxHydrogenProduction(Goal): """ diff --git a/tests/models/gas_pipe_topology/src/example.py b/tests/models/gas_pipe_topology/src/example.py index 4c2bbbd1a..f1d8e2bc3 100644 --- a/tests/models/gas_pipe_topology/src/example.py +++ b/tests/models/gas_pipe_topology/src/example.py @@ -1,5 +1,10 @@ import casadi as ca +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -13,11 +18,6 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): """ diff --git a/tests/models/heat_exchange/src/run_heat_exchanger.py b/tests/models/heat_exchange/src/run_heat_exchanger.py index 7bd2ae00f..5dbd08948 100644 --- a/tests/models/heat_exchange/src/run_heat_exchanger.py +++ b/tests/models/heat_exchange/src/run_heat_exchanger.py @@ -1,3 +1,9 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.physics_mixin import PhysicsMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -9,12 +15,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.head_loss_class import HeadLossOption -from mesido.physics_mixin import PhysicsMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/heatpump/src/run_heat_pump.py b/tests/models/heatpump/src/run_heat_pump.py index 71e60675a..80b5ba90b 100644 --- a/tests/models/heatpump/src/run_heat_pump.py +++ b/tests/models/heatpump/src/run_heat_pump.py @@ -1,3 +1,8 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -9,11 +14,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.physics_mixin import PhysicsMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/insulation/src/run_insulation.py b/tests/models/insulation/src/run_insulation.py index acd32b8cb..b668c3b89 100644 --- a/tests/models/insulation/src/run_insulation.py +++ b/tests/models/insulation/src/run_insulation.py @@ -1,5 +1,11 @@ import esdl +from mesido.demand_insulation_class import DemandInsulationClass +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -11,12 +17,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.demand_insulation_class import DemandInsulationClass -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - class MinimizeSourcesHeatGoal(Goal): priority = 2 diff --git a/tests/models/multiple_carriers/src/run_multiple_carriers.py b/tests/models/multiple_carriers/src/run_multiple_carriers.py index 712407392..bf4b4100a 100644 --- a/tests/models/multiple_carriers/src/run_multiple_carriers.py +++ b/tests/models/multiple_carriers/src/run_multiple_carriers.py @@ -1,3 +1,8 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -9,11 +14,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.physics_mixin import PhysicsMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py b/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py index 512e18f86..a6c9669d1 100644 --- a/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py +++ b/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py @@ -1,3 +1,8 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -11,11 +16,6 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/pipe_test/src/run_hydraulic_power.py b/tests/models/pipe_test/src/run_hydraulic_power.py index 320034737..c195807cc 100644 --- a/tests/models/pipe_test/src/run_hydraulic_power.py +++ b/tests/models/pipe_test/src/run_hydraulic_power.py @@ -1,3 +1,7 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.head_loss_class import HeadLossOption +from mesido.physics_mixin import PhysicsMixin + import numpy as np import pandas as pd @@ -10,10 +14,6 @@ LinearizedOrderGoalProgrammingMixin, ) -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.head_loss_class import HeadLossOption -from mesido.physics_mixin import PhysicsMixin - class TargetDemandGoal(Goal): priority = 1 @@ -257,6 +257,6 @@ def post(self): except Exception: # Case when there is only one row value added m_rows_added = 1 - df_MILP.loc[ - (index_last_row + 1 - m_rows_added) : (index_last_row + 1), "pipe_length" - ] = manual_set_pipe_length + df_MILP.loc[(index_last_row + 1 - m_rows_added) : (index_last_row + 1), "pipe_length"] = ( + manual_set_pipe_length + ) diff --git a/tests/models/simple_buffer/src/simple_buffer.py b/tests/models/simple_buffer/src/simple_buffer.py index d896f892d..4d07f11f6 100644 --- a/tests/models/simple_buffer/src/simple_buffer.py +++ b/tests/models/simple_buffer/src/simple_buffer.py @@ -1,3 +1,7 @@ +from mesido.component_type_mixin import ModelicaComponentTypeMixin +from mesido.pycml.pycml_mixin import PyCMLMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -11,10 +15,6 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from mesido.component_type_mixin import ModelicaComponentTypeMixin -from mesido.pycml.pycml_mixin import PyCMLMixin -from mesido.techno_economic_mixin import TechnoEconomicMixin - if __name__ == "__main__": from model import Model else: diff --git a/tests/models/source_pipe_sink/src/double_pipe_heat.py b/tests/models/source_pipe_sink/src/double_pipe_heat.py index 3f726b422..2f641f98f 100644 --- a/tests/models/source_pipe_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_sink/src/double_pipe_heat.py @@ -1,3 +1,10 @@ +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin + from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, ) @@ -8,13 +15,6 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.head_loss_class import HeadLossOption -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 @@ -66,9 +66,9 @@ def post(self): class HeatProblemHydraulic(ESDLAdditionalVarsMixin, SourcePipeSink): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.heat_network_settings[ - "head_loss_option" - ] = HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + self.heat_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + ) self.heat_network_settings["n_linearization_lines"] = 5 self.heat_network_settings["minimize_head_losses"] = True diff --git a/tests/models/source_pipe_split_sink/src/double_pipe_heat.py b/tests/models/source_pipe_split_sink/src/double_pipe_heat.py index b3138990e..cc39c8984 100644 --- a/tests/models/source_pipe_split_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_split_sink/src/double_pipe_heat.py @@ -1,3 +1,6 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin + from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, ) @@ -8,9 +11,6 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py b/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py index 82b9a118d..f5e90a65c 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py @@ -1,3 +1,8 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.data.storage import DataStore @@ -9,11 +14,6 @@ LinearizedOrderGoalProgrammingMixin, ) -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/test_case_small_network_optional_assets_annualized/src/run_annualized.py b/tests/models/test_case_small_network_optional_assets_annualized/src/run_annualized.py index 945c27f72..f2c511070 100644 --- a/tests/models/test_case_small_network_optional_assets_annualized/src/run_annualized.py +++ b/tests/models/test_case_small_network_optional_assets_annualized/src/run_annualized.py @@ -2,13 +2,13 @@ import esdl -from rtctools.optimization.goal_programming_mixin import Goal -from rtctools.util import run_optimization_problem - from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO +from rtctools.optimization.goal_programming_mixin import Goal +from rtctools.util import run_optimization_problem + try: from models.test_case_small_network_optional_assets_annualized.src.run_ates import ( HeatProblem, diff --git a/tests/models/test_case_small_network_optional_assets_annualized/src/run_ates.py b/tests/models/test_case_small_network_optional_assets_annualized/src/run_ates.py index fbc9e4842..e06def17e 100644 --- a/tests/models/test_case_small_network_optional_assets_annualized/src/run_ates.py +++ b/tests/models/test_case_small_network_optional_assets_annualized/src/run_ates.py @@ -1,3 +1,8 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.data.storage import DataStore @@ -10,11 +15,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/test_case_small_network_with_ates/src/run_ates.py b/tests/models/test_case_small_network_with_ates/src/run_ates.py index f8c696f95..1236ed154 100644 --- a/tests/models/test_case_small_network_with_ates/src/run_ates.py +++ b/tests/models/test_case_small_network_with_ates/src/run_ates.py @@ -2,6 +2,11 @@ import esdl +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.data.storage import DataStore @@ -19,12 +24,6 @@ from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py b/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py index 5a00a0f0d..d1c9d4924 100644 --- a/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py +++ b/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py @@ -1,5 +1,10 @@ import esdl +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.data.storage import DataStore @@ -12,11 +17,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/unit_cases/case_1a/src/run_1a.py b/tests/models/unit_cases/case_1a/src/run_1a.py index b87efbeba..7acad48a9 100644 --- a/tests/models/unit_cases/case_1a/src/run_1a.py +++ b/tests/models/unit_cases/case_1a/src/run_1a.py @@ -1,3 +1,9 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -10,12 +16,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.physics_mixin import PhysicsMixin -from mesido.qth_not_maintained.qth_mixin import QTHMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/unit_cases/case_1a_t_var/src/run_1a.py b/tests/models/unit_cases/case_1a_t_var/src/run_1a.py index 518a652f4..169108f58 100644 --- a/tests/models/unit_cases/case_1a_t_var/src/run_1a.py +++ b/tests/models/unit_cases/case_1a_t_var/src/run_1a.py @@ -1,3 +1,9 @@ +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -9,12 +15,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.physics_mixin import PhysicsMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/unit_cases/case_2a/src/equal_temperatures.py b/tests/models/unit_cases/case_2a/src/equal_temperatures.py index d92f3e205..75404d13b 100644 --- a/tests/models/unit_cases/case_2a/src/equal_temperatures.py +++ b/tests/models/unit_cases/case_2a/src/equal_temperatures.py @@ -1,3 +1,8 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.heat_mixin import HeatMixin +from mesido.qth_mixin import QTHMixin +from mesido.util import run_heat_network_optimization + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -9,11 +14,6 @@ LinearizedOrderGoalProgrammingMixin, ) -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.heat_mixin import HeatMixin -from mesido.qth_mixin import QTHMixin -from mesido.util import run_heat_network_optimization - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/unit_cases/case_2a/src/run_2a.py b/tests/models/unit_cases/case_2a/src/run_2a.py index baea4838b..1c2019beb 100644 --- a/tests/models/unit_cases/case_2a/src/run_2a.py +++ b/tests/models/unit_cases/case_2a/src/run_2a.py @@ -1,3 +1,9 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -11,12 +17,6 @@ from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.physics_mixin import PhysicsMixin -from mesido.qth_not_maintained.qth_mixin import QTHMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/unit_cases/case_3a/src/run_3a.py b/tests/models/unit_cases/case_3a/src/run_3a.py index 098d64e56..cba67e28a 100644 --- a/tests/models/unit_cases/case_3a/src/run_3a.py +++ b/tests/models/unit_cases/case_3a/src/run_3a.py @@ -1,3 +1,10 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin +from mesido.qth_not_maintained.qth_mixin import QTHMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -10,13 +17,6 @@ ) from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.physics_mixin import PhysicsMixin -from mesido.qth_not_maintained.qth_mixin import QTHMixin -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py b/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py index db6fbb4d1..30600e796 100644 --- a/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py +++ b/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py @@ -1,3 +1,7 @@ +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -9,10 +13,6 @@ ) from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin -from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/unit_cases_electricity/bus_networks/src/example.py b/tests/models/unit_cases_electricity/bus_networks/src/example.py index bfe869d1a..9c0e7abda 100644 --- a/tests/models/unit_cases_electricity/bus_networks/src/example.py +++ b/tests/models/unit_cases_electricity/bus_networks/src/example.py @@ -1,3 +1,8 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -11,11 +16,6 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/unit_cases_electricity/electrolyzer/src/example.py b/tests/models/unit_cases_electricity/electrolyzer/src/example.py index fd7842c7a..00e9a78dd 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/src/example.py +++ b/tests/models/unit_cases_electricity/electrolyzer/src/example.py @@ -1,3 +1,8 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -10,11 +15,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - class RevenueGoal(Goal): priority = 1 diff --git a/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py b/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py index 4e9dfd359..e2def9854 100644 --- a/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py +++ b/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py @@ -1,5 +1,10 @@ import esdl +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -11,11 +16,6 @@ ) from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.physics_mixin import PhysicsMixin - # TODO: check if this run script is still valid as test case for electric heatpump and update with # functions diff --git a/tests/models/unit_cases_electricity/source_sink_cable/src/example.py b/tests/models/unit_cases_electricity/source_sink_cable/src/example.py index f5a853348..eb1009636 100644 --- a/tests/models/unit_cases_electricity/source_sink_cable/src/example.py +++ b/tests/models/unit_cases_electricity/source_sink_cable/src/example.py @@ -1,3 +1,9 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -11,12 +17,6 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.physics_mixin import PhysicsMixin -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py b/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py index cdd0706b3..019fe9937 100644 --- a/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py +++ b/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py @@ -1,3 +1,8 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -11,11 +16,6 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/unit_cases_gas/source_pipe_split_sink/src/run_source_sink.py b/tests/models/unit_cases_gas/source_pipe_split_sink/src/run_source_sink.py index c7616b67d..9df96989c 100644 --- a/tests/models/unit_cases_gas/source_pipe_split_sink/src/run_source_sink.py +++ b/tests/models/unit_cases_gas/source_pipe_split_sink/src/run_source_sink.py @@ -1,3 +1,8 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -11,11 +16,6 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/models/unit_cases_gas/source_sink/src/run_source_sink.py b/tests/models/unit_cases_gas/source_sink/src/run_source_sink.py index 8681d8562..b9ca61ae1 100644 --- a/tests/models/unit_cases_gas/source_sink/src/run_source_sink.py +++ b/tests/models/unit_cases_gas/source_sink/src/run_source_sink.py @@ -1,3 +1,8 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + import numpy as np from rtctools.optimization.collocated_integrated_optimization_problem import ( @@ -11,11 +16,6 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin - class TargetDemandGoal(Goal): priority = 1 diff --git a/tests/test_absolute_heat.py b/tests/test_absolute_heat.py index c59c8ac88..457c64a0d 100644 --- a/tests/test_absolute_heat.py +++ b/tests/test_absolute_heat.py @@ -1,11 +1,11 @@ from pathlib import Path from unittest import TestCase -from rtctools.util import run_optimization_problem - from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from rtctools.util import run_optimization_problem + from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_asset_is_realized.py b/tests/test_asset_is_realized.py index c78dc3451..f4d4f6c79 100644 --- a/tests/test_asset_is_realized.py +++ b/tests/test_asset_is_realized.py @@ -1,13 +1,13 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - class TestAssetIsRealized(TestCase): def test_asset_is_realized(self): diff --git a/tests/test_ates.py b/tests/test_ates.py index 6adf089b7..c8d6c2034 100644 --- a/tests/test_ates.py +++ b/tests/test_ates.py @@ -1,13 +1,13 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_cable_topology_optimization.py b/tests/test_cable_topology_optimization.py index 4f596d4f2..5a55caa74 100644 --- a/tests/test_cable_topology_optimization.py +++ b/tests/test_cable_topology_optimization.py @@ -1,13 +1,13 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - class TestElectricityTopo(TestCase): def test_electricity_network_topology(self): diff --git a/tests/test_electric_bus.py b/tests/test_electric_bus.py index db7f564d8..b3bc1224f 100644 --- a/tests/test_electric_bus.py +++ b/tests/test_electric_bus.py @@ -10,14 +10,14 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - class TestMILPbus(TestCase): def test_voltages_and_power_network1(self): diff --git a/tests/test_electric_source_sink.py b/tests/test_electric_source_sink.py index 937111bfa..a2d4ce691 100644 --- a/tests/test_electric_source_sink.py +++ b/tests/test_electric_source_sink.py @@ -1,14 +1,14 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - # TODO: still have to make test where elecitricity direction is switched: # e.g. 2 nodes, with at each node a producer and consumer, first one node medium demand, second # small demand and then increase the demand of the second node such that direction changes diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index ce29db1ec..c64b96509 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -1,13 +1,13 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - # from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 00b6529db..6b5840d67 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -1,10 +1,6 @@ from pathlib import Path from unittest import TestCase -import numpy as np - -from rtctools.util import run_optimization_problem - import mesido._darcy_weisbach as darcy_weisbach from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile @@ -16,6 +12,10 @@ ) from mesido.workflows.grow_workflow import EndScenarioSizingHeadLossStaged +import numpy as np + +from rtctools.util import run_optimization_problem + from utils_tests import demand_matching_test diff --git a/tests/test_end_scenario_sizing_annualized.py b/tests/test_end_scenario_sizing_annualized.py index 155b31fa8..92ded3c66 100644 --- a/tests/test_end_scenario_sizing_annualized.py +++ b/tests/test_end_scenario_sizing_annualized.py @@ -1,13 +1,13 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - class TestEndScenarioSizingAnnualized(TestCase): """ diff --git a/tests/test_esdl_parsing.py b/tests/test_esdl_parsing.py index 1a8334581..551b7d873 100644 --- a/tests/test_esdl_parsing.py +++ b/tests/test_esdl_parsing.py @@ -1,13 +1,13 @@ import unittest from pathlib import Path +from mesido.esdl.esdl_parser import ESDLFileParser, ESDLStringParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser, ESDLStringParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - class TestESDLParsing(unittest.TestCase): def test_from_string_and_from_file_are_equal(self): diff --git a/tests/test_esdl_pycml.py b/tests/test_esdl_pycml.py index 8afe5ee85..08907a5d5 100644 --- a/tests/test_esdl_pycml.py +++ b/tests/test_esdl_pycml.py @@ -1,13 +1,13 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - class TestESDL(TestCase): def test_basic_source_and_demand_heat(self): diff --git a/tests/test_gas_multi_demand_source_node.py b/tests/test_gas_multi_demand_source_node.py index bf4cf98e5..168c4ce8a 100644 --- a/tests/test_gas_multi_demand_source_node.py +++ b/tests/test_gas_multi_demand_source_node.py @@ -1,14 +1,14 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - class TestMILPGasMultiDemandSourceNode(TestCase): def test_multi_demand_source_node(self): diff --git a/tests/test_gas_pipe_topology_optimization.py b/tests/test_gas_pipe_topology_optimization.py index ca119f5ad..a4658301c 100644 --- a/tests/test_gas_pipe_topology_optimization.py +++ b/tests/test_gas_pipe_topology_optimization.py @@ -1,14 +1,14 @@ from pathlib import Path from unittest import TestCase -import numpy as np - -from rtctools.util import run_optimization_problem - from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption +import numpy as np + +from rtctools.util import run_optimization_problem + class TestGasNetwork(TestCase): def test_gas_pipe_top(self): @@ -30,9 +30,9 @@ def test_gas_pipe_top(self): class GasNetworkProblem(HeatProblem): def energy_system_options(self): options = super().energy_system_options() - self.gas_network_settings[ - "head_loss_option" - ] = HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY + self.gas_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY + ) self.gas_network_settings["minimize_head_losses"] = True return options diff --git a/tests/test_gas_source_sink.py b/tests/test_gas_source_sink.py index 2198133d4..3cea91ff2 100644 --- a/tests/test_gas_source_sink.py +++ b/tests/test_gas_source_sink.py @@ -1,15 +1,15 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.head_loss_class import HeadLossOption - class TestMILPGasSourceSink(TestCase): def test_source_sink(self): @@ -30,9 +30,9 @@ def test_source_sink(self): class TestSourceSink(GasProblem): def energy_system_options(self): options = super().energy_system_options() - self.heat_network_settings[ - "head_loss_option" - ] = HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY + self.heat_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY + ) self.heat_network_settings["n_linearization_lines"] = 5 self.heat_network_settings["minimize_head_losses"] = True diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 6141393aa..40d7c947c 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -1,10 +1,6 @@ from pathlib import Path from unittest import TestCase -import numpy as np - -from rtctools.util import run_optimization_problem - import mesido._darcy_weisbach as darcy_weisbach from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.esdl.esdl_parser import ESDLFileParser @@ -12,6 +8,10 @@ from mesido.head_loss_class import HeadLossOption from mesido.network_common import NetworkSettings +import numpy as np + +from rtctools.util import run_optimization_problem + from utils_tests import demand_matching_test @@ -56,15 +56,15 @@ def energy_system_options(self): head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY ): - self.gas_network_settings[ - "head_loss_option" - ] = HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY + self.gas_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY + ) self.gas_network_settings["n_linearization_lines"] = 5 self.heat_network_settings["minimize_head_losses"] = True elif head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_EQUALITY: - self.heat_network_settings[ - "head_loss_option" - ] = HeadLossOption.LINEARIZED_N_LINES_EQUALITY + self.heat_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_N_LINES_EQUALITY + ) self.heat_network_settings["minimize_head_losses"] = True self.heat_network_settings["minimum_velocity"] = 1.0e-6 @@ -118,8 +118,8 @@ def energy_system_options(self): ) * 8.0 * pipe_length - * (v_inspect * np.pi * pipe_diameter ** 2 / 4.0) ** 2 - / (pipe_diameter ** 5 * GRAVITATIONAL_CONSTANT * np.pi ** 2) + * (v_inspect * np.pi * pipe_diameter**2 / 4.0) ** 2 + / (pipe_diameter**5 * GRAVITATIONAL_CONSTANT * np.pi**2) ) # Approximate dH [m] vs Q [m3/s] with a linear line between between v_points # dH_manual_linear = a*Q + b @@ -139,12 +139,12 @@ def energy_system_options(self): ) delta_volumetric_flow = ( - v_points[linearized_idx[1]] * np.pi * pipe_diameter ** 2 / 4.0 - ) - (v_points[linearized_idx[0]] * np.pi * pipe_diameter ** 2 / 4.0) + v_points[linearized_idx[1]] * np.pi * pipe_diameter**2 / 4.0 + ) - (v_points[linearized_idx[0]] * np.pi * pipe_diameter**2 / 4.0) a = delta_dh_theory / delta_volumetric_flow b = delta_dh_theory - a * delta_volumetric_flow - dh_manual_linear = a * (v_inspect * np.pi * pipe_diameter ** 2 / 4.0) + b + dh_manual_linear = a * (v_inspect * np.pi * pipe_diameter**2 / 4.0) + b dh_milp_head_loss_function = darcy_weisbach.head_loss( v_inspect, pipe_diameter, pipe_length, pipe_wall_roughness, temperature @@ -287,8 +287,8 @@ def energy_system_options(self): ) * 8.0 * pipe_length - * (v_inspect * np.pi * pipe_diameter ** 2 / 4.0) ** 2 - / (pipe_diameter ** 5 * GRAVITATIONAL_CONSTANT * np.pi ** 2) + * (v_inspect * np.pi * pipe_diameter**2 / 4.0) ** 2 + / (pipe_diameter**5 * GRAVITATIONAL_CONSTANT * np.pi**2) ) # Approximate dH [m] vs Q [m3/s] with a linear line between between v_points # dH_manual_linear = a*Q + b @@ -299,13 +299,13 @@ def energy_system_options(self): v_points[0], pipe_diameter, pipe_length, pipe_wall_roughness, temperature ) - delta_volumetric_flow = (v_points[1] * np.pi * pipe_diameter ** 2 / 4.0) - ( - v_points[0] * np.pi * pipe_diameter ** 2 / 4.0 + delta_volumetric_flow = (v_points[1] * np.pi * pipe_diameter**2 / 4.0) - ( + v_points[0] * np.pi * pipe_diameter**2 / 4.0 ) a = delta_dh_theory / delta_volumetric_flow b = delta_dh_theory - a * delta_volumetric_flow - dh_manual_linear = a * (v_inspect * np.pi * pipe_diameter ** 2 / 4.0) + b + dh_manual_linear = a * (v_inspect * np.pi * pipe_diameter**2 / 4.0) + b dh_milp_head_loss_function = darcy_weisbach.head_loss( v_inspect, pipe_diameter, pipe_length, pipe_wall_roughness, temperature @@ -469,13 +469,13 @@ def energy_system_options(self): pressure=solution.parameters(0)[f"{pipes[0]}.pressure"], ) - delta_volumetric_flow = (v_points[1] * np.pi * pipe_diameter ** 2 / 4.0) - ( - v_points[0] * np.pi * pipe_diameter ** 2 / 4.0 + delta_volumetric_flow = (v_points[1] * np.pi * pipe_diameter**2 / 4.0) - ( + v_points[0] * np.pi * pipe_diameter**2 / 4.0 ) a = delta_dh_theory / delta_volumetric_flow b = delta_dh_theory - a * delta_volumetric_flow - dh_manual_linear = a * (v_inspect * np.pi * pipe_diameter ** 2 / 4.0) + b + dh_manual_linear = a * (v_inspect * np.pi * pipe_diameter**2 / 4.0) + b # Check that the head loss approximation with 2 linear lines (inequality constraints # is < than the linear equality head loss constraint @@ -635,19 +635,19 @@ def energy_system_options(self): ) delta_volumetric_flow.append( - (v_points[ii + 1] * np.pi * pipe_diameter ** 2 / 4.0) - - (v_points[ii] * np.pi * pipe_diameter ** 2 / 4.0) + (v_points[ii + 1] * np.pi * pipe_diameter**2 / 4.0) + - (v_points[ii] * np.pi * pipe_diameter**2 / 4.0) ) a.append(delta_dh_theory[ii] / delta_volumetric_flow[ii]) b.append(sum(delta_dh_theory[0:ii]) - a[ii] * sum(delta_volumetric_flow[0:ii])) # dh for the 2 data point on the 1st linear line segment - dh_manual_linear.append(a[0] * (v_inspect[0] * np.pi * pipe_diameter ** 2 / 4.0) + b[0]) - dh_manual_linear.append(a[0] * (v_inspect[1] * np.pi * pipe_diameter ** 2 / 4.0) + b[0]) + dh_manual_linear.append(a[0] * (v_inspect[0] * np.pi * pipe_diameter**2 / 4.0) + b[0]) + dh_manual_linear.append(a[0] * (v_inspect[1] * np.pi * pipe_diameter**2 / 4.0) + b[0]) # dh for the 2 data point on the 2nd linear line segment - dh_manual_linear.append(a[1] * (v_inspect[2] * np.pi * pipe_diameter ** 2 / 4.0) + b[1]) - dh_manual_linear.append(a[1] * (v_inspect[3] * np.pi * pipe_diameter ** 2 / 4.0) + b[1]) + dh_manual_linear.append(a[1] * (v_inspect[2] * np.pi * pipe_diameter**2 / 4.0) + b[1]) + dh_manual_linear.append(a[1] * (v_inspect[3] * np.pi * pipe_diameter**2 / 4.0) + b[1]) # Gas flow balance np.testing.assert_allclose( diff --git a/tests/test_head_loss_class.py b/tests/test_head_loss_class.py index 7d6d1fd27..3f68fb7a0 100644 --- a/tests/test_head_loss_class.py +++ b/tests/test_head_loss_class.py @@ -1,13 +1,13 @@ from pathlib import Path from unittest import TestCase +from mesido.head_loss_class import HeadLossOption +from mesido.network_common import NetworkSettings + import numpy as np from rtctools.util import run_optimization_problem -from mesido.head_loss_class import HeadLossOption -from mesido.network_common import NetworkSettings - class TestHeadLossCalculation(TestCase): def test_scalar_return_type(self): diff --git a/tests/test_heat.py b/tests/test_heat.py index fefa9e07a..ed99dc9e8 100644 --- a/tests/test_heat.py +++ b/tests/test_heat.py @@ -1,14 +1,14 @@ from pathlib import Path from unittest import TestCase -import numpy as np - -from rtctools.util import run_optimization_problem - from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption +import numpy as np + +from rtctools.util import run_optimization_problem + from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -125,9 +125,9 @@ class MinPressure(SmallerPipes): def energy_system_options(self): options = super().energy_system_options() assert "pipe_minimum_pressure" in self.heat_network_settings - self.heat_network_settings[ - "pipe_minimum_pressure" - ] = TestMinMaxPressureOptions.min_pressure + self.heat_network_settings["pipe_minimum_pressure"] = ( + TestMinMaxPressureOptions.min_pressure + ) return options class MaxPressure(SmallerPipes): @@ -140,12 +140,12 @@ def energy_system_options(self): class MinMaxPressure(SmallerPipes): def energy_system_options(self): options = super().energy_system_options() - self.heat_network_settings[ - "pipe_minimum_pressure" - ] = TestMinMaxPressureOptions.min_pressure - self.heat_network_settings[ - "pipe_maximum_pressure" - ] = TestMinMaxPressureOptions.max_pressure + self.heat_network_settings["pipe_minimum_pressure"] = ( + TestMinMaxPressureOptions.min_pressure + ) + self.heat_network_settings["pipe_maximum_pressure"] = ( + TestMinMaxPressureOptions.max_pressure + ) return options def test_min_max_pressure_options(self): @@ -330,9 +330,9 @@ def test_disconnected_network_pipe(self): class ModelDisconnectedDarcyWeisbach(ModelDisconnected): def energy_system_options(self): options = super().energy_system_options() - self.heat_network_settings[ - "head_loss_option" - ] = HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + self.heat_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + ) return options def test_disconnected_pipe_darcy_weisbach(self): diff --git a/tests/test_heat_loss_u_values.py b/tests/test_heat_loss_u_values.py index 46ce86526..45f4add4d 100644 --- a/tests/test_heat_loss_u_values.py +++ b/tests/test_heat_loss_u_values.py @@ -1,9 +1,9 @@ from unittest import TestCase -import numpy as np - from mesido._heat_loss_u_values_pipe import heat_loss_u_values_pipe +import numpy as np + class TestHeatLossUValues(TestCase): def test_scalar_equal_to_single_element_array(self): diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index 55f20a2ba..621ef81cd 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -1,16 +1,17 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption + + import numpy as np import pandas as pd from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.head_loss_class import HeadLossOption - class TestHydraulicPower(TestCase): def test_hydraulic_power(self): @@ -57,7 +58,7 @@ def test_hydraulic_power(self): } run_hydraulic_power.comp_vars_init = { "pipe_length": 0.0, # [m] - "heat_demand": [3.95 * 10 ** 6, 3.95 * 10 ** 6], # [W] + "heat_demand": [3.95 * 10**6, 3.95 * 10**6], # [W] "pipe_DN_MILP": 300, # [mm] } standard_columns_specified = [ diff --git a/tests/test_insulation.py b/tests/test_insulation.py index 9d1caac84..77bcac53a 100644 --- a/tests/test_insulation.py +++ b/tests/test_insulation.py @@ -1,13 +1,13 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - class TestInsulation(TestCase): """ diff --git a/tests/test_max_size_and_optional_assets.py b/tests/test_max_size_and_optional_assets.py index fb835debd..362579c3e 100644 --- a/tests/test_max_size_and_optional_assets.py +++ b/tests/test_max_size_and_optional_assets.py @@ -1,13 +1,13 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index f42eefb93..7f8a43014 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -1,14 +1,14 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_multiple_carriers.py b/tests/test_multiple_carriers.py index 406fc71bf..07d53b02a 100644 --- a/tests/test_multiple_carriers.py +++ b/tests/test_multiple_carriers.py @@ -1,11 +1,11 @@ from pathlib import Path from unittest import TestCase -from rtctools.util import run_optimization_problem - from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from rtctools.util import run_optimization_problem + from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index dad898f68..8659a5c04 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -1,13 +1,13 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_network_simulator.py b/tests/test_network_simulator.py index 7abf80bc5..110edec02 100644 --- a/tests/test_network_simulator.py +++ b/tests/test_network_simulator.py @@ -1,14 +1,14 @@ from pathlib import Path from unittest import TestCase -import numpy as np - -from rtctools.util import run_optimization_problem - from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.workflows import NetworkSimulatorHIGHSTestCase +import numpy as np + +from rtctools.util import run_optimization_problem + from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_pipe_diameter_sizing.py b/tests/test_pipe_diameter_sizing.py index 464bd73dd..08bcb1cf3 100644 --- a/tests/test_pipe_diameter_sizing.py +++ b/tests/test_pipe_diameter_sizing.py @@ -2,14 +2,14 @@ from pathlib import Path from unittest import TestCase -import numpy as np - -from rtctools.util import run_optimization_problem - from mesido._darcy_weisbach import friction_factor from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +import numpy as np + +from rtctools.util import run_optimization_problem + from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -116,7 +116,7 @@ def test_half_network_gone(self): parameters[f"{pipe}.temperature"], ) c_v = parameters[f"{pipe}.length"] * ff / (2 * 9.81) / pc.inner_diameter - dh_max = c_v * pc.maximum_velocity ** 2 + dh_max = c_v * pc.maximum_velocity**2 dh_manual = dh_max * results[f"{pipe}.Q"][1:] / pc.area / pc.maximum_velocity np.testing.assert_allclose(-dh_manual, results[f"{pipe}.dH"][1:], atol=1.0e-12) diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 1b0574cd9..a2ac921ce 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -1,11 +1,11 @@ from pathlib import Path from unittest import TestCase -from rtctools.util import run_optimization_problem - from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from rtctools.util import run_optimization_problem + from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 675f5110e..45afe0416 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -4,15 +4,16 @@ import esdl -import numpy as np - -import pandas as pd - from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import InfluxDBProfileReader, ProfileReaderFromFile from mesido.workflows import EndScenarioSizingStagedHIGHS +import numpy as np + +import pandas as pd + + class MockInfluxDBProfileReader(InfluxDBProfileReader): def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): super().__init__(energy_system, file_path) diff --git a/tests/test_pycml.py b/tests/test_pycml.py index b05013865..4207c0b50 100644 --- a/tests/test_pycml.py +++ b/tests/test_pycml.py @@ -1,9 +1,9 @@ from unittest import TestCase -import numpy as np - from mesido.pycml import Model, Variable +import numpy as np + class TestPyCML(TestCase): def test_merge_modifiers_function(self): diff --git a/tests/test_setpoint_constraints.py b/tests/test_setpoint_constraints.py index eca280e44..2d793074e 100644 --- a/tests/test_setpoint_constraints.py +++ b/tests/test_setpoint_constraints.py @@ -1,15 +1,15 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np import pytest from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - class TestSetpointConstraints(TestCase): @pytest.mark.first diff --git a/tests/test_temperature_ates_hp.py b/tests/test_temperature_ates_hp.py index bc379e7d1..c290c95c8 100644 --- a/tests/test_temperature_ates_hp.py +++ b/tests/test_temperature_ates_hp.py @@ -1,13 +1,13 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_topo_constraints.py b/tests/test_topo_constraints.py index f0636694a..1ca38dacf 100644 --- a/tests/test_topo_constraints.py +++ b/tests/test_topo_constraints.py @@ -3,17 +3,17 @@ from typing import Dict from unittest import TestCase -import numpy as np -import numpy.testing - -from rtctools.util import run_optimization_problem - from mesido._heat_loss_u_values_pipe import pipe_heat_loss from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.pipe_class import PipeClass from mesido.techno_economic_mixin import TechnoEconomicMixin +import numpy as np +import numpy.testing + +from rtctools.util import run_optimization_problem + MIP_TOLERANCE = 1e-8 diff --git a/tests/test_varying_temperature.py b/tests/test_varying_temperature.py index 43be913ec..36472737f 100644 --- a/tests/test_varying_temperature.py +++ b/tests/test_varying_temperature.py @@ -1,14 +1,14 @@ from pathlib import Path from unittest import TestCase -import numpy as np - -from rtctools.util import run_optimization_problem - from mesido._heat_loss_u_values_pipe import pipe_heat_loss from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +import numpy as np + +from rtctools.util import run_optimization_problem + from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test diff --git a/tests/test_warmingup_unit_cases.py b/tests/test_warmingup_unit_cases.py index 9573a605c..151ea1464 100644 --- a/tests/test_warmingup_unit_cases.py +++ b/tests/test_warmingup_unit_cases.py @@ -1,13 +1,13 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + import numpy as np from rtctools.util import run_optimization_problem -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test From 6140e70ceca6f5b4246f11fd0e447a779bb96b46 Mon Sep 17 00:00:00 2001 From: Rojer Date: Sun, 24 Mar 2024 19:52:14 +0100 Subject: [PATCH 006/376] changed description --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 8588fd678..93dbc8d70 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ -"""Heat network models for RTC-Tools 2. +"""Multi Energy System Optimization -Includes Modelica models and their accompanying Mixins for milp networks. +MILP optimization for design and operational optimization """ import sys From 1e56b3158722ada21aba3467cef5557bbcdabc10 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 25 Mar 2024 11:21:48 +0100 Subject: [PATCH 007/376] Update pyESDL version - includes influxDB bug fixes --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 93dbc8d70..a43586463 100644 --- a/setup.py +++ b/setup.py @@ -59,7 +59,7 @@ "pyecore == 0.12.1", "pymoca >= 0.9.0", "rtc-tools == 2.6.0a3", - "pyesdl >= 23.12, < 24.0", + "pyesdl == 24.2", "pandas >= 1.3.1, < 2.0", "casadi == 3.6.3", "StrEnum == 0.4.15", From 13027a40af753c88141e2c891d79a202d747403b Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 25 Mar 2024 11:40:11 +0100 Subject: [PATCH 008/376] Remove temp fix, required for older pyESDL versions --- src/mesido/esdl/profile_parser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 1082d13cc..22de31edf 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -290,7 +290,7 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) time_series_data = InfluxDBProfileManager(conn_settings) time_series_data.load_influxdb( - '"' + profile.measurement + '"', + profile.measurement, [profile.field], profile.startDate, profile.endDate, From 8ea2cf7d70ea14f8fceaf6c885ad5138ab2def1b Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 26 Mar 2024 08:57:09 +0100 Subject: [PATCH 009/376] Code fix: caused after the merge of branch 113 back to master (#4) --- src/mesido/workflows/goals/minimize_tco_goal.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/mesido/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py index 945258d82..ea6d75b2c 100644 --- a/src/mesido/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -50,7 +50,6 @@ def __init__( "heat_buffer", "heat_pump", "heat_exchanger", - "heat_exchanger_elec", "pump", }, "investment": { @@ -61,7 +60,6 @@ def __init__( "heat_exchanger", "heat_pump", "heat_pipe", - "heat_exchanger_elec", "pump", }, "installation": { @@ -72,7 +70,6 @@ def __init__( "heat_exchanger", "heat_pump", "heat_pipe", - "heat_exchanger_elec", "pump", }, "annualized": { @@ -83,9 +80,8 @@ def __init__( "heat_exchanger", "heat_pump", "heat_pipe", - "heat_exchanger_elec", "pump", - }, # TODO: confirm inclusion of "heat_exchanger_elec" & "pump" in "annualized" + }, } self.asset_type_maps = ( From 564cd5ef5f5c6a86129f7f375dae157ea178f24c Mon Sep 17 00:00:00 2001 From: Femke Janssen Date: Tue, 26 Mar 2024 10:35:40 +0100 Subject: [PATCH 010/376] fix in asset_sizing_mixin for the maps and varnames of gaspipes and electricity cables for max discharge and current and for heat pipes for heat --- .../asset_sizing_mixin.py | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/rtctools_heat_network/asset_sizing_mixin.py b/src/rtctools_heat_network/asset_sizing_mixin.py index 5c716dcc4..66b444745 100644 --- a/src/rtctools_heat_network/asset_sizing_mixin.py +++ b/src/rtctools_heat_network/asset_sizing_mixin.py @@ -252,16 +252,16 @@ def pre(self): self._electricity_cable_topo_max_current_map[cable] = max_current_var_name if len(cable_classes) > 0: - self.__electricity_cable_topo_max_current_nominals[cable] = np.median(max_currents) - self.__electricity_cable_topo_max_current_var_bounds[cable] = ( + self.__electricity_cable_topo_max_current_nominals[max_current_var_name] = np.median(max_currents) + self.__electricity_cable_topo_max_current_var_bounds[max_current_var_name] = ( -max(max_currents), max(max_currents), ) else: - self.__electricity_cable_topo_max_current_nominals[cable] = parameters[ + self.__electricity_cable_topo_max_current_nominals[max_current_var_name] = parameters[ f"{cable}.max_current" ] - self.__electricity_cable_topo_max_current_var_bounds[cable] = ( + self.__electricity_cable_topo_max_current_var_bounds[max_current_var_name] = ( -parameters[f"{cable}.max_current"], parameters[f"{cable}.max_current"], ) @@ -386,17 +386,17 @@ def pre(self): self._gas_pipe_topo_max_discharge_map[pipe] = max_discharge_var_name if len(pipe_classes) > 0: - self.__gas_pipe_topo_max_discharge_nominals[pipe] = np.median(max_discharges) - self.__gas_pipe_topo_max_discharge_var_bounds[pipe] = ( + self.__gas_pipe_topo_max_discharge_nominals[max_discharge_var_name] = np.median(max_discharges) + self.__gas_pipe_topo_max_discharge_var_bounds[max_discharge_var_name] = ( -max(max_discharges), max(max_discharges), ) else: max_velocity = self.gas_network_settings["maximum_velocity"] - self.__gas_pipe_topo_max_discharge_nominals[pipe] = ( + self.__gas_pipe_topo_max_discharge_nominals[max_discharge_var_name] = ( parameters[f"{pipe}.area"] * max_velocity ) - self.__gas_pipe_topo_max_discharge_var_bounds[pipe] = ( + self.__gas_pipe_topo_max_discharge_var_bounds[max_discharge_var_name] = ( -parameters[f"{pipe}.area"] * max_velocity, parameters[f"{pipe}.area"] * max_velocity, ) @@ -518,17 +518,17 @@ def pre(self): self._pipe_topo_max_discharge_map[pipe] = max_discharge_var_name if len(pipe_classes) > 0: - self.__pipe_topo_max_discharge_nominals[pipe] = np.median(max_discharges) - self.__pipe_topo_max_discharge_var_bounds[pipe] = ( + self.__pipe_topo_max_discharge_nominals[max_discharge_var_name] = np.median(max_discharges) + self.__pipe_topo_max_discharge_var_bounds[max_discharge_var_name] = ( -max(max_discharges), max(max_discharges), ) else: max_velocity = self.heat_network_settings["maximum_velocity"] - self.__pipe_topo_max_discharge_nominals[pipe] = ( + self.__pipe_topo_max_discharge_nominals[max_discharge_var_name] = ( parameters[f"{pipe}.area"] * max_velocity ) - self.__pipe_topo_max_discharge_var_bounds[pipe] = ( + self.__pipe_topo_max_discharge_var_bounds[max_discharge_var_name] = ( -parameters[f"{pipe}.area"] * max_velocity, parameters[f"{pipe}.area"] * max_velocity, ) From c67305971acfef4d9bb0eb627de86aab6ffa1431 Mon Sep 17 00:00:00 2001 From: Femke Janssen Date: Tue, 26 Mar 2024 10:43:27 +0100 Subject: [PATCH 011/376] style --- .../asset_sizing_mixin.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/rtctools_heat_network/asset_sizing_mixin.py b/src/rtctools_heat_network/asset_sizing_mixin.py index 66b444745..1c94ddd11 100644 --- a/src/rtctools_heat_network/asset_sizing_mixin.py +++ b/src/rtctools_heat_network/asset_sizing_mixin.py @@ -252,15 +252,17 @@ def pre(self): self._electricity_cable_topo_max_current_map[cable] = max_current_var_name if len(cable_classes) > 0: - self.__electricity_cable_topo_max_current_nominals[max_current_var_name] = np.median(max_currents) + self.__electricity_cable_topo_max_current_nominals[max_current_var_name] = ( + np.median(max_currents) + ) self.__electricity_cable_topo_max_current_var_bounds[max_current_var_name] = ( -max(max_currents), max(max_currents), ) else: - self.__electricity_cable_topo_max_current_nominals[max_current_var_name] = parameters[ - f"{cable}.max_current" - ] + self.__electricity_cable_topo_max_current_nominals[max_current_var_name] = ( + parameters[f"{cable}.max_current"] + ) self.__electricity_cable_topo_max_current_var_bounds[max_current_var_name] = ( -parameters[f"{cable}.max_current"], parameters[f"{cable}.max_current"], @@ -386,7 +388,9 @@ def pre(self): self._gas_pipe_topo_max_discharge_map[pipe] = max_discharge_var_name if len(pipe_classes) > 0: - self.__gas_pipe_topo_max_discharge_nominals[max_discharge_var_name] = np.median(max_discharges) + self.__gas_pipe_topo_max_discharge_nominals[max_discharge_var_name] = np.median( + max_discharges + ) self.__gas_pipe_topo_max_discharge_var_bounds[max_discharge_var_name] = ( -max(max_discharges), max(max_discharges), @@ -518,7 +522,9 @@ def pre(self): self._pipe_topo_max_discharge_map[pipe] = max_discharge_var_name if len(pipe_classes) > 0: - self.__pipe_topo_max_discharge_nominals[max_discharge_var_name] = np.median(max_discharges) + self.__pipe_topo_max_discharge_nominals[max_discharge_var_name] = np.median( + max_discharges + ) self.__pipe_topo_max_discharge_var_bounds[max_discharge_var_name] = ( -max(max_discharges), max(max_discharges), From ed9c6945c7f6637d757c843d56ed4986b58db2bc Mon Sep 17 00:00:00 2001 From: Rojer Date: Tue, 26 Mar 2024 11:26:53 +0100 Subject: [PATCH 012/376] fix of the bug --- src/mesido/pycml/component_library/milp/heat/ates.py | 3 +++ src/mesido/pycml/component_library/milp/heat/heat_buffer.py | 3 +++ tests/test_warmingup_unit_cases.py | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/src/mesido/pycml/component_library/milp/heat/ates.py b/src/mesido/pycml/component_library/milp/heat/ates.py index eda3a15d2..6690874ba 100644 --- a/src/mesido/pycml/component_library/milp/heat/ates.py +++ b/src/mesido/pycml/component_library/milp/heat/ates.py @@ -90,6 +90,9 @@ def __init__(self, name, **modifiers): Variable, "Pump_power", min=0.0, nominal=self.Q_nominal * self.nominal_pressure ) + self.add_variable(Variable, "dH") + self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) + self._heat_loss_error_to_state_factor = 1 self._nominal_heat_loss = ( self.Stored_heat.nominal * self.heat_loss_coeff * self._heat_loss_error_to_state_factor diff --git a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py index 4313ebcec..dd377c542 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py @@ -94,6 +94,9 @@ def __init__(self, name, **modifiers): self._heat_loss_eq_nominal_buf = (self.Heat_nominal * self._nominal_heat_loss) ** 0.5 + self.add_variable(Variable, "dH") + self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) + self.add_equation(self.HeatIn.Q - self.HeatOut.Q) self.add_equation(self.Q - self.HeatOut.Q) diff --git a/tests/test_warmingup_unit_cases.py b/tests/test_warmingup_unit_cases.py index 151ea1464..c9744cb04 100644 --- a/tests/test_warmingup_unit_cases.py +++ b/tests/test_warmingup_unit_cases.py @@ -187,3 +187,9 @@ def test_3a(self): atol=1.0e-3, ) np.testing.assert_allclose(results[f"{buffer}.Heat_buffer"][0], 0.0, atol=1.0e-6) + + np.testing.assert_allclose( + results[f"{buffer}.dH"][inds], + results[f"{buffer}.HeatOut.H"][inds] - results[f"{buffer}.HeatIn.H"][inds], + atol=1.0e-6, + ) From 3c053069ea27018c0f84ceddb7c18b760168d6b8 Mon Sep 17 00:00:00 2001 From: Femke Janssen Date: Tue, 26 Mar 2024 11:37:17 +0100 Subject: [PATCH 013/376] bugfix bound electricity source financial mixin --- src/mesido/financial_mixin.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index d3d7b5d67..8f4ef5771 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -163,8 +163,13 @@ def pre(self): nominal_fixed_operational = bounds[f"{asset_name}.Power_consumed"][1] nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational - elif asset_name in [*self.energy_system_components.get("wind_park", [])]: - nominal_fixed_operational = bounds[f"{asset_name}.Set_point"][1] + elif asset_name in [*self.energy_system_components.get("electricity_source", [])]: + max_power = ( + bounds[f"{asset_name}.ElectricityOut.Power"][1] + if isinstance(bounds[f"{asset_name}.ElectricityOut.Power"][1], float) + else max(bounds[f"{asset_name}.ElectricityOut.Power"][1].values) + ) + nominal_fixed_operational = max_power nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational else: From 9efce371ee603fa8a4826fe5d7993d59b42550a7 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 26 Mar 2024 15:39:30 +0100 Subject: [PATCH 014/376] Write pump power profile data to influxDB (#3) * InfluxDB profile out: - Add pump power for source, ates, buffer, hex and hp - Only head/pump power when head_loss_min is active - pipe velocity --- src/mesido/workflows/io/write_output.py | 87 +++++++++++++++---- .../heat_exchange/src/run_heat_exchanger.py | 2 + tests/models/heatpump/src/run_heat_pump.py | 2 + .../source_pipe_sink/src/double_pipe_heat.py | 3 + tests/test_head_loss.py | 17 ++++ ...est_multiple_in_and_out_port_components.py | 55 +++++++++++- 6 files changed, 146 insertions(+), 20 deletions(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 95942efea..9080f5815 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -869,17 +869,6 @@ def _name_to_asset(name): if self.write_result_db_profiles: logger.info("Writing asset result profile data to influxDB") results = self.extract_results() - # Note: when adding new variables to variables_one_hydraulic_system or" - # variables_two_hydraulic_system also add quantity and units to the ESDL for the new - # variables in the code lower down - variables_one_hydraulic_system = ["HeatIn.Q", "HeatIn.H", "Heat_flow"] - variables_two_hydraulic_system = [ - "Primary.HeatIn.Q", - "Primary.HeatIn.H", - "Secondary.HeatIn.Q", - "Secondary.HeatIn.H", - "Heat_flow", - ] influxdb_conn_settings = ConnectionSettings( host=self.influxdb_host, @@ -909,6 +898,46 @@ def _name_to_asset(name): *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), ]: + # Note: when adding new variables to variables_one_hydraulic_system or" + # variables_two_hydraulic_system also add quantity and units to the ESDL for the new + # variables in the code lower down + # These variables exist for all the assets. Variables that only exist for specific + # assets are only added later, like Pump_power + variables_one_hydraulic_system = ["HeatIn.Q", "Heat_flow"] + variables_two_hydraulic_system = [ + "Primary.HeatIn.Q", + "Secondary.HeatIn.Q", + "Heat_flow", + ] + + # Update/overwrite each asset variable list due to: + # - the addition of head loss minimization: head variable and pump power + # - only a specific variable required for a specific asset: pump power + # - addition of post processed variables: pipe velocity + if self.heat_network_settings["minimize_head_losses"]: + variables_one_hydraulic_system.append("HeatIn.H") + variables_two_hydraulic_system.append("Primary.HeatIn.H") + variables_two_hydraulic_system.append("Secondary.HeatIn.H") + if asset_name in [ + *self.energy_system_components.get("heat_source", []), + *self.energy_system_components.get("heat_buffer", []), + *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("heat_exchanger", []), + *self.energy_system_components.get("heat_pump", []), + ]: + variables_one_hydraulic_system.append("Pump_power") + variables_two_hydraulic_system.append("Pump_power") + elif asset_name in [*self.energy_system_components.get("pump", [])]: + variables_one_hydraulic_system = ["Pump_power"] + variables_two_hydraulic_system = ["Pump_power"] + if asset_name in [*self.energy_system_components.get("heat_pipe", [])]: + variables_one_hydraulic_system.append("PostProc.Velocity") + variables_two_hydraulic_system.append("PostProc.Velocity") + # Velocity at the pipe outlet [m/s] + post_processed_velocity = ( + results[f"{asset_name}.HeatOut.Q"] / parameters[f"{asset_name}.area"] + ) + profiles = ProfileManager() profiles.profile_type = "DATETIME_LIST" profiles.profile_header = ["datetime"] @@ -948,13 +977,20 @@ def _name_to_asset(name): numbers.Number, ): variables_names = variables_one_hydraulic_system - except Exception: + except KeyError: # For all components dealing with two hydraulic system if isinstance( results[f"{asset_name}." + variables_two_hydraulic_system[0]][ii], numbers.Number, ): variables_names = variables_two_hydraulic_system + except Exception: + logger.error( + f"During the influxDB profile writing for asset: {asset_name}, the " + "following error occured:" + ) + traceback.print_exc() + sys.exit(1) for variable in variables_names: if ii == 0: @@ -981,7 +1017,7 @@ def _name_to_asset(name): id=str(uuid.uuid4()), ) # Assign quantity and units variable - if variable in ["Heat_flow"]: + if variable in ["Heat_flow", "Pump_power"]: profile_attributes.profileQuantityAndUnit = ( esdl.esdl.QuantityAndUnitType( physicalQuantity=esdl.PhysicalQuantityEnum.POWER, @@ -1014,6 +1050,15 @@ def _name_to_asset(name): multiplier=esdl.MultiplierEnum.NONE, ) ) + elif variable in ["PostProc.Velocity"]: + profile_attributes.profileQuantityAndUnit = ( + esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.SPEED, + unit=esdl.UnitEnum.METRE, + perTimeUnit=esdl.TimeUnitEnum.SECOND, + multiplier=esdl.MultiplierEnum.NONE, + ) + ) else: logger.warning( f"No profile units will be written to the ESDL for: " @@ -1032,9 +1077,14 @@ def _name_to_asset(name): conversion_factor = GRAVITATIONAL_CONSTANT * 988.0 else: conversion_factor = 1.0 - data_row.append( - results[f"{asset_name}." + variable][ii] * conversion_factor - ) + if variable not in ["PostProc.Velocity"]: + data_row.append( + results[f"{asset_name}." + variable][ii] * conversion_factor + ) + # The variable evaluation below seems unnecessary, but it would be used + # we expand the list of post process type variables + elif variable in ["PostProc.Velocity"]: + data_row.append(post_processed_velocity[ii]) profiles.profile_data_list.append(data_row) # end time steps @@ -1051,13 +1101,13 @@ def _name_to_asset(name): field_names=influxdb_profile_manager.profile_header[1:], tags=optim_simulation_tag, ) - # -- Test tags -- # do not delete - to be used in test case + # -- Test tags -- # do not delete - to be used in test case # prof_loaded_from_influxdb = InfluxDBProfileManager(influxdb_conn_settings) # dicts = [{"tag": "output_esdl_id", "value": energy_system.id}] # prof_loaded_from_influxdb.load_influxdb( # # '"' + "ResidualHeatSource_72d7" + '"' , - # '"' + asset_name + '"' , + # asset_name, # variables_one_hydraulic_system, # # ["HeatIn.Q"], # # ["HeatIn.H"], @@ -1066,6 +1116,7 @@ def _name_to_asset(name): # profiles.end_datetime, # dicts, # ) + # test = 0.0 # ------------------------------------------------------------------------------ # Do not delete the code below: is used in the development of profile viewer in diff --git a/tests/models/heat_exchange/src/run_heat_exchanger.py b/tests/models/heat_exchange/src/run_heat_exchanger.py index 5dbd08948..a1847bcac 100644 --- a/tests/models/heat_exchange/src/run_heat_exchanger.py +++ b/tests/models/heat_exchange/src/run_heat_exchanger.py @@ -3,6 +3,7 @@ from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption from mesido.physics_mixin import PhysicsMixin +from mesido.workflows.io.write_output import ScenarioOutput import numpy as np @@ -67,6 +68,7 @@ def function(self, optimization_problem, ensemble_member): class HeatProblem( + ScenarioOutput, _GoalsAndOptions, PhysicsMixin, LinearizedOrderGoalProgrammingMixin, diff --git a/tests/models/heatpump/src/run_heat_pump.py b/tests/models/heatpump/src/run_heat_pump.py index 80b5ba90b..43d4b20ca 100644 --- a/tests/models/heatpump/src/run_heat_pump.py +++ b/tests/models/heatpump/src/run_heat_pump.py @@ -2,6 +2,7 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.physics_mixin import PhysicsMixin +from mesido.workflows.io.write_output import ScenarioOutput import numpy as np @@ -91,6 +92,7 @@ def function(self, optimization_problem, ensemble_member): class HeatProblem( + ScenarioOutput, _GoalsAndOptions, PhysicsMixin, LinearizedOrderGoalProgrammingMixin, diff --git a/tests/models/source_pipe_sink/src/double_pipe_heat.py b/tests/models/source_pipe_sink/src/double_pipe_heat.py index 2f641f98f..ad259159a 100644 --- a/tests/models/source_pipe_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_sink/src/double_pipe_heat.py @@ -4,6 +4,8 @@ from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.io.write_output import ScenarioOutput + from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, @@ -44,6 +46,7 @@ def function(self, optimization_problem, ensemble_member): class SourcePipeSink( + ScenarioOutput, TechnoEconomicMixin, LinearizedOrderGoalProgrammingMixin, SinglePassGoalProgrammingMixin, diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 40d7c947c..0a8d9aecf 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -46,6 +46,11 @@ def test_heat_network_head_loss(self): ]: # Added for case where head loss is modelled via DW class SourcePipeSinkDW(SourcePipeSink): + # Do not delete: this is used to manualy check writing out of profile data + # def post(self): + # super().post() + # self._write_updated_esdl(self.get_energy_system_copy(), optimizer_sim=True) + def energy_system_options(self): options = super().energy_system_options() @@ -70,6 +75,17 @@ def energy_system_options(self): return options + # Do not delete kwargs: this is used to manualy check writing out of profile data + kwargs = { + "write_result_db_profiles": True, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + } + solution = run_optimization_problem( SourcePipeSinkDW, base_folder=base_folder, @@ -77,6 +93,7 @@ def energy_system_options(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.csv", + **kwargs, ) results = solution.extract_results() diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 8659a5c04..0853996a8 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -33,14 +33,39 @@ def test_heat_exchanger(self): ) base_folder = Path(run_heat_exchanger.__file__).resolve().parent.parent + # ----------------------------------------------------------------------------------------- + # Do not delete: this is used to manualy check writing out of profile data + + class HeatProblemPost(HeatProblem): + # def post(self): + # super().post() + # self._write_updated_esdl(self.get_energy_system_copy(), optimizer_sim=True) + + def energy_system_options(self): + options = super().energy_system_options() + # self.heat_network_settings["minimize_head_losses"] = True # used for manual tests + return options + + # Do not delete kwargs: this is used to manualy check writing out of profile data + kwargs = { + "write_result_db_profiles": False, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + } + # ----------------------------------------------------------------------------------------- solution = run_optimization_problem( - HeatProblem, + HeatProblemPost, base_folder=base_folder, esdl_file_name="heat_exchanger.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.xml", + **kwargs, ) results = solution.extract_results() @@ -99,13 +124,39 @@ def test_heat_pump(self): base_folder = Path(run_heat_pump.__file__).resolve().parent.parent + # ----------------------------------------------------------------------------------------- + # Do not delete: this is used to manualy check writing out of profile data + + class HeatProblemPost(HeatProblem): + # def post(self): + # super().post() + # self._write_updated_esdl(self.get_energy_system_copy(), optimizer_sim=True) + + def energy_system_options(self): + options = super().energy_system_options() + # self.heat_network_settings["minimize_head_losses"] = True # used for manual tests + return options + + # Do not delete kwargs: this is used to manualy check writing out of profile data + kwargs = { + "write_result_db_profiles": False, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + } + # ----------------------------------------------------------------------------------------- + solution = run_optimization_problem( - HeatProblem, + HeatProblemPost, base_folder=base_folder, esdl_file_name="heat_pump.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.xml", + **kwargs, ) results = solution.extract_results() From 6fa0fb0eeffa7ea890a1f3aa62e9d36f6911f22e Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 27 Mar 2024 13:28:26 +0100 Subject: [PATCH 015/376] Profile unite conversion speed improvement --- src/mesido/esdl/profile_parser.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 22de31edf..dc13b968a 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -386,10 +386,11 @@ def _convert_profile_to_correct_unit( f"either power, energy values or euros per Wh, not " f"{profile_quantity_and_unit.physicalQuantity}." ) - return profile_time_series.apply( - func=lambda x: convert_to_unit( - value=x, source_unit=profile_quantity_and_unit, target_unit=target_unit - ) + # The vectorized method below is used instead of profile_time_series.apply(), due to a + # computational cost reduction (order of 2000 times faster for a profile with 8760 + # timesteps) + return profile_time_series * convert_to_unit( + value=1.0, source_unit=profile_quantity_and_unit, target_unit=target_unit ) @staticmethod From 29c7530523b3abadaafc7d2ae5983e1b34cbc5ea Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 28 Mar 2024 10:08:01 +0100 Subject: [PATCH 016/376] Formatting & some restructuring --- docs/theory/code_structure.rst | 18 +++++++++--------- docs/theory/introduction.rst | 23 +++++++++++------------ 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/docs/theory/code_structure.rst b/docs/theory/code_structure.rst index fab39020d..4ae102cdd 100644 --- a/docs/theory/code_structure.rst +++ b/docs/theory/code_structure.rst @@ -4,31 +4,31 @@ Code Structure ============== Rtc-tools is used as the framework to define optimization problems, https://gitlab.com/deltares/rtc-tools. -Rtc-tools is a tool-box in which time-horizon optimization problems can be defined and via the package Casadi the problems are parsed in formats that allow solvers such as Highs and Gurobi to solve the problem. -Internally rtc-tools makes heavy use of the python mixin structure, which results that MESIDO also adheres to the mixin structure that rtc-tools uses. +Rtc-tools is a tool-box in which time-horizon optimization problems can be defined. It utilizes the Casadi package to parse the problems in formats that allow solvers such as Highs and Gurobi to solve the problem. +Internally rtc-tools makes heavy use of the python mixin (inheritance) structure, which results that MESIDO also adheres to the mixin structure that rtc-tools uses. -Although the full structure is even more elaborate the basic methods in the mixin are: +Although the full structure is even more elaborate, the basic methods in the mixin are: * read: In this method all parsing of data files containing relevant information for the problem should be done, e.g. price profiles. -* times: In this function the time horizon is defined/adapted, note varying time-step size is supported. +* times: In this function the time horizon is defined/adapted, note varying timestep size is supported. * pre: In this method all variables and other operations needed before constraints and goals can be defined should be done. * (path) constraints: In this method the constraints should be added to the problem, the path constraints are those applied to states which exist in every timestep. * (path) goals: In this method the goals should be added to the problem, the path goals are those applied to states which exist in every timestep. -* optimize: Here the problem is transcribed and parsed to the solver (this method is never touched in MESIDO). +* optimize: Here the problem is transcribed and parsed to the solver (this method is never modified in MESIDO). * post: In this method optional post processing including checks on the outcome of the optimization can be preformed. MESIDO offers a toolbox for optimization of multi energy systems with the following mixins: * PyCMLMixin: This mixin allows users to define component models with easy functions for adding variables and parameters. * ESDLMixin: This mixin reads ESDL files and constructs a network model using the asset models defined in PyCML -* PhysicsMixin: This Mixin adds constraints for the modelling of physics in asset components or interaction between assets. The PhysicsMixin inherits the individual commodity mixins and adds physics where interaction between the commodities exists. +* PhysicsMixin: This mixin adds constraints for the modelling of physics in asset components or interaction between assets. The PhysicsMixin inherits the individual commodity mixins and adds physics where interaction between the commodities exists. * HeatPhysicsMixin: Adds physics for the modelling of district heating systems. - * ElectricityPhysicsMixin: Adds physics for the modelling of Electricity grids. + * ElectricityPhysicsMixin: Adds physics for the modelling of electricity grids. * GasPhysicsMixin: Adds physics for the modelling of networks with gaseous mediums, e.g. natural gas or hydrogen. * AssetSizingMixin: Adds variables and constraints allowing for the sizing and placement of assets in the energy system. * FinancialMixin: Adds variables and constraints for financial computations, like OPEX, CAPEX and revenues. There are also workflows (which technically are also mixins) next to these toolbox mixins that MESIDO offers. The default workflows available are: -* EndScenarioSzing: This workflow will optimize the energy system for Total Cost of ownership. -* GROWSimulator: This workflow allows to do operational analysis with a merit order for source strategy, where the use of sources is minimized in the reverse order to mimick simulator like behaviour. +* EndScenarioSizing: This workflow will optimize the energy system for total tost of ownership. +* GROWSimulator: This workflow allows one to do operational analysis with a source merit order usage strategy, where the use of sources is minimized in the reverse merit order to mimick simulator like behaviour. diff --git a/docs/theory/introduction.rst b/docs/theory/introduction.rst index 9de539a1a..1bbc07549 100644 --- a/docs/theory/introduction.rst +++ b/docs/theory/introduction.rst @@ -1,7 +1,7 @@ Introduction ============ -MESIDO is the abbreviation for Multi Energy System Integrated Design and Operation. This documentation is meant to give the user of MESIDO package insight in how to use the different functionalities available. +MESIDO is the abbreviation for Multi Energy System Integrated Design and Operation. This documentation is meant to give the user of the MESIDO package insight in how to use the different functionalities available. Why MESIDO? ----------- @@ -9,27 +9,26 @@ Why MESIDO? MESIDO aims to fill the gap between available tools used in early feasibility studies and the more detailed tools (typically simulators). Tools for feasibilty studies like EnergyPlan, https://www.energyplan.eu, provide a good framework for initial feasibility of high level system concepts. These tools often have little to no physics included in their models, typically energy balancing with efficiencies and capacity limits. -On the other hand there are more detailed tools, examples include detailed simulators like PandaPower and PandaPipes. -These simulators include more detailed modelling of physics allowing to analyze networks and/or assets close to real life operational conditions. +On the other hand there are more detailed tools, examples include detailed simulators like pandapower and pandapipes. +These simulators include more detailed modelling of physics allowing one to analyze networks and/or assets close to real life operational conditions. The high level system concept that comes out of the initial feasibility is typically still subjected to many uncertainties. Therefore, many design choices are still to be made like placement and exact sizing of assets, optimal routing of the network, etc. -Although, the more detailed simulators can analyze various energy system designs by running different design options, it is seen that this becomes infeasible in practice as the amount of open design choices after initial feasibility is too high. -The increased complexity of the new and future energy systems plays a significant part. New energy systems have multiple producer, multiple consumer networks, often with storage (possibly seasonal) -and most notably interconnections between different energy commodities means that possible solution space is larger than ever. +Although, the more detailed simulators can analyze various energy system designs by running different design options, it typically becomes infeasible in practice as the amount of open design choices after initial feasibility is too high. +The increased complexity of the new and future energy systems plays a significant part. New energy systems consists out of networks which have multiple producers and consumers, often extended with storages (possibly seasonal). Most notably the interconnections between these different energy commodities resulting in a larger possible solution space than ever. -MESIDO aims to play the connecting role between the initial feasibility and the detailed analyses, by offering a techno-economic optimization framework that allows to make the design choices and come to a (limited set of) energy system design(s) that can be detailed out by the simulators. +MESIDO aims to play the connecting role between the initial feasibility and the detailed analyses. This is achieved by offering a techno-economic optimization framework that allows one to make design choices, resulting in an (limited set of) energy system design(s) that can be refined (more detail) with simulators. What is MESIDO? --------------- -MESIDO is a python package that allows users to define techno-economic optimization workflows (or use the available ones). Users can define themselves which KPIs they wish to optimize for, e.g. cost or business case optimization. -Furthermore, the user can select a physics fidelity level he/she needs for the analyses. Where the physics are typically approximations of steady-state conditions, the modelling is done such that the solutions are close and conservative. -The inclusion of the physics approximations allows the user to make more design choices compared to the tools used in initial feasibility. +MESIDO is a python package that allows users to define techno-economic optimization workflows (or use the available ones). Users can define which KPIs they wish to optimize for, e.g. cost or business case optimization. +Furthermore, the users can select which physics fidelity level they need for their analyses. Where the physics are typically approximations of steady-state conditions, the modelling is done such that the solutions are close and conservative. +The inclusion of the physics approximations allows the user to make more design choices compared to the tools used in initial feasibility analyses. However, this comes at the cost of the user needing to provide more information of the energy system in order to use MESIDO in an effective way, hence MESIDO is proposed as a sequential tool for analysis. -Under the hood MESIDO is a Mixed Integer Linear Problem (MILP) formulation. This means that the physics and financial models are limited to linear constraints. +Under the hood, MESIDO is a Mixed Integer Linear Problem (MILP) formulation. This means that the physics and financial models are limited to linear constraints. The computational power advantages of MILP optimizations allows MESIDO to optimize Multi Energy/Multi Commodity networks in an integral manner. -Nevertheless, the modelling limitations that MILP have will in the fast majority of cases require optimized networks to be detailed out with simulation tools before closing business cases and going to exploitation. +Nevertheless, the modelling limitations of MILP will in the vast majority of cases, require optimized networks to be refined with simulation tools before closing business cases and going to implementation. From 2a614f098c210764cadc26c0725af39119c82846 Mon Sep 17 00:00:00 2001 From: Rojer Date: Mon, 8 Apr 2024 11:47:41 +0200 Subject: [PATCH 017/376] starting doc workflows --- docs/conf.py | 3 -- docs/theory/Workflows.rst | 79 +++++++++++++++++++++++++++++++++++++++ docs/theory/index.rst | 1 + 3 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 docs/theory/Workflows.rst diff --git a/docs/conf.py b/docs/conf.py index ab4edb7b3..7fda2e926 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -90,6 +90,3 @@ html_css_files = [ 'css/custom.css', ] - -# Intersphinx: refer to the RTC-Tools standard library. -# intersphinx_mapping = {'rtctools': ('https://rtc-tools.readthedocs.io/en/latest/', None)} diff --git a/docs/theory/Workflows.rst b/docs/theory/Workflows.rst new file mode 100644 index 000000000..cf7273550 --- /dev/null +++ b/docs/theory/Workflows.rst @@ -0,0 +1,79 @@ +.. _chp_workflows: + +Workflows +========= + +This page eleborates on the available workflows within MESIDO. +MESIDO is by no means limited to only these workflows, but it is left to the user itself to define the most logical workflow if the ones below are unsuitable. + +Currently two main workflows are provided: + +* EndScenarioSizing +* GrowSimulator + +These two workflows for now only cover the district heat network commodity. + +EndScenarioSizing +----------------- + +The EndScenarioSizing Workflow is designed to optimize a district heating network for both asset (pipes, sources, storages, etc.) sizing and operational strategy for lowest Total Cost of Ownership. +This workflow comes in a few variants that give the user the possibility to trade-off computational time with model assumptions. + +* (EndScenarioSizingNoHeatLosses) +* EndScenarioSizing +* EndScenarioSizingDiscounted +* EndScenarioSizingHeadLoss +* EndScenarioSizingHeadLossDiscounted + +EndScenarioSizing +----------------- + +The EndScenarioSizing workflow in short: + +* The user needs to give a district heating network in ESDL file format in which: + * The user puts all the already present assets and potential assets of the system. + * Specifies the cost coefficients for all assets (e.g. EUR/MW for sizing of source). + * Specifies all the maximum sizes of the assets (e.g XX MW for sources, DN 400 for a pipe). + * Specifies the demand profiles in hourly resolution for a full year at all demands in the system. +* The optimization routine will start by matching all the heat demands. +* After matching the demands it minimizes for system cost where both CAPEX and OPEX over lifetime are minimizes. This allows the optimizer to make trade-offs between investments and potential operational benefits (and vice-versa). +* It uses a representative year and extrapolates the results to approximate cost over the lifetime. +* It creates a smaller mathematical representation of the optimization problem by utilizing a time horizon where by default 5 day timesteps are used except for the peak day where hourly resolution is used. + * The hourly resolution in the peak day is used to ensure that the system is sized to satisfy the demands under maximum load condition. + * The 5 day time-steps are used for the remainder of the year to approximate the OPEX of the system utilizing the average thermal powers. + * This means that also all time-series results will be in this adapted time-line. + +A two stage optimization approach is used for faster optimization. +In the first stage the system is optimized without heat losses in the network. +This allows for a much easier mathematical representation of the problem an hence much faster optimization. +In a second stage the heat losses in the network are taken into account, however now the problem is bounded with the information of the first stage. +Pipes will only be allowed to be at least as large as the result of the first stage and one DN size larger. +Furthermore, the flow directions will be utilized if the flow meets a minimum threshold value. +Lastly, sources will now have a lower bound with the minimum of the first stage. + +In its default configuration the workflow has the following main assumptions: + +* The whole network is realized instantaneously, as a single year is optimized and extrapolated for the lifetime. + * In reality the realization of DHS is done in phases over a period of years. Hence this assumption is not valid, but allows the user to judge the long term feasibilty of the DHS system. For closing business case computation the effects of phased realization should be taken into account. +* Pressure drops are not taken into account, a maximum flow velocity of 3 m/s is used to limit the pressure-drop per meter in the pipes. + * This assumtions is ok/valid when the user is still in a phase where the exact location of (booster-)pumps is to be determined and hence limiting the sizing of pipes with pressuredrop calculations would not be representative. + * Note that EndScenarioSizingHeadLoss can be used when the user wants the pressuredrop functionality. +* Investment costs are not discounted and all assets depreciate to zero over the system lifetime. + * This assumption comes out of an initial development phase, by now EndScenarioDiscounted can be used. +* It is assumed that the user provides sufficient possibilities to the optimizer to match the heat demands. + * The optimization will become a lot slower in case demands cannot be satisfied. If the user cannot garuantee to have sufficient assets to fullfill the demand it is advised to use slack (peak) sources. +* It is assumed that the tank storage in the network can only be used for intra day buffering and hence can only be used by the optimizer for the peak day. + * If this assumption is not valid an extension of the workflow is required. +* It is assumed that seasonal storage is cyclic over calander year, meaning that at the beginning and end of the year the same amount of thermal energy must be stored in the seasonal storage. + * This assumption is required to ensure that the results of a single year can be extrapolated over the lifetime. + +For the assumptions on the physics and cost modelling the reader is referred to the respective modelling pages. + + +EndScenarioSizingDiscounted +--------------------------- + + + +EndScenarioSizingHeadLoss +------------------------- diff --git a/docs/theory/index.rst b/docs/theory/index.rst index 37a50b7a7..b2e20649d 100644 --- a/docs/theory/index.rst +++ b/docs/theory/index.rst @@ -3,6 +3,7 @@ introduction code_structure + Workflows approach Validation_pipe_diameter_sizing pipe_classes From aa741865b8145618783a609879893b20e3ed0973 Mon Sep 17 00:00:00 2001 From: Rojer Date: Mon, 8 Apr 2024 14:49:14 +0200 Subject: [PATCH 018/376] changing the names and contributors --- docs/conf.py | 6 +++--- docs/index.rst | 8 ++++---- docs/support.rst | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 7fda2e926..1ddfcb333 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -21,9 +21,9 @@ # -- Project information ----------------------------------------------------- -project = 'Nieuwe Warmte Nu - Design Toolkit' -author = 'Kelbij Star, Teresa Piovesan, et al.' -review = 'Jesus Andres Rodriguez Sarasty, Ivo Pothof, Mike van Meerkerk' +project = 'Multi-Energy-Systems Integrated Design and Operations' +author = 'Jim Rojer, Kobus van Rooyen and Femke Janssen' +review = 'Kobus van Rooyen and Femke Janssen' # -- General configuration --------------------------------------------------- diff --git a/docs/index.rst b/docs/index.rst index 06fd6b782..90c090234 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,13 +1,13 @@ -Design Toolkit's optimizer documentation -======================================== +Multi-Energy-Systems Integrated Desing and Operations Documentation +=================================================================== -This is the documentation for optimizer routine, to optimize the conceptional design of heating networks. +This is the documentation for MESIDO. .. toctree:: :maxdepth: 2 - :caption: Optimizer routine + :caption: Mesido theory/index support diff --git a/docs/support.rst b/docs/support.rst index 545791be0..476fc3639 100644 --- a/docs/support.rst +++ b/docs/support.rst @@ -2,4 +2,4 @@ Support ####### -Raise any issue on `Github `_ such that we can address your problem. +Raise any issue on `Github `_ such that we can address your problem. From b23941d702b7580a76a7ef469aea73e61b394524 Mon Sep 17 00:00:00 2001 From: JimRojer-TNO <137045207+jimrojerTNO@users.noreply.github.com> Date: Mon, 8 Apr 2024 15:16:04 +0200 Subject: [PATCH 019/376] Cohecopt first developments (#9) This commit adds the functionality of having cold demands in a heat network, an air-water heat pump, a low temperature ates model (which will be improved later). --- src/mesido/_heat_loss_u_values_pipe.py | 2 +- src/mesido/asset_sizing_mixin.py | 52 +++- src/mesido/component_type_mixin.py | 2 +- src/mesido/esdl/asset_to_component_base.py | 3 + src/mesido/esdl/esdl_heat_model.py | 102 +++++-- src/mesido/esdl/esdl_model_base.py | 28 +- src/mesido/esdl/profile_parser.py | 1 + src/mesido/financial_mixin.py | 11 + src/mesido/heat_physics_mixin.py | 255 ++++++++++------ .../pycml/component_library/milp/__init__.py | 8 +- .../component_library/milp/heat/__init__.py | 10 +- .../milp/heat/_non_storage_component.py | 6 +- .../milp/heat/air_water_heat_pump.py | 13 + .../pycml/component_library/milp/heat/ates.py | 14 +- .../milp/heat/cold_demand.py | 53 ++++ .../milp/heat/heat_buffer.py | 16 +- .../milp/heat/heat_demand.py | 6 +- .../milp/heat/heat_exchanger.py | 14 +- .../component_library/milp/heat/heat_pipe.py | 10 +- .../component_library/milp/heat/heat_pump.py | 12 +- .../milp/heat/heat_source.py | 6 +- .../milp/heat/heat_two_port.py | 2 +- .../milp/heat/low_temperature_ates.py | 100 +++++++ .../pycml/component_library/milp/heat/node.py | 6 +- tests/models/wko/input/timeseries.csv | 9 + tests/models/wko/model/LT_wko.esdl | 271 ++++++++++++++++++ tests/models/wko/src/example.py | 228 +++++++++++++++ tests/test_absolute_heat.py | 2 +- tests/test_asset_is_realized.py | 2 +- tests/test_ates.py | 4 +- tests/test_cold_demand.py | 45 +++ tests/test_end_scenario_sizing_annualized.py | 2 +- tests/test_head_loss.py | 2 +- tests/test_heat.py | 8 +- tests/test_insulation.py | 14 +- tests/test_max_size_and_optional_assets.py | 8 +- tests/test_multicommodity.py | 22 +- ...est_multiple_in_and_out_port_components.py | 20 +- tests/test_network_simulator.py | 14 +- tests/test_pipe_diameter_sizing.py | 2 +- tests/test_producer_profiles.py | 4 +- tests/test_setpoint_constraints.py | 12 +- tests/test_topo_constraints.py | 12 +- tests/test_varying_temperature.py | 42 +-- tests/test_warmingup_unit_cases.py | 8 +- tests/utils_tests.py | 95 ++++-- 46 files changed, 1287 insertions(+), 271 deletions(-) create mode 100644 src/mesido/pycml/component_library/milp/heat/air_water_heat_pump.py create mode 100644 src/mesido/pycml/component_library/milp/heat/cold_demand.py create mode 100644 src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py create mode 100644 tests/models/wko/input/timeseries.csv create mode 100644 tests/models/wko/model/LT_wko.esdl create mode 100644 tests/models/wko/src/example.py create mode 100644 tests/test_cold_demand.py diff --git a/src/mesido/_heat_loss_u_values_pipe.py b/src/mesido/_heat_loss_u_values_pipe.py index d3fb7889b..7ae0355e1 100644 --- a/src/mesido/_heat_loss_u_values_pipe.py +++ b/src/mesido/_heat_loss_u_values_pipe.py @@ -165,7 +165,7 @@ def pipe_heat_loss( + (length * u_2 * dtemp) ) - if heat_loss < 0: + if heat_loss < 0 and temperature > temperature_ground: raise Exception(f"Heat loss of pipe {p} should be nonnegative.") return heat_loss diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 8fe066cb9..ac82aa8d5 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -595,15 +595,23 @@ def pre(self): if not pipe_classes or options["neglect_pipe_heat_losses"]: # No pipe class decision to make for this pipe w.r.t. milp loss heat_loss = pipe_heat_loss(self, options, parameters, pipe) + if parameters[f"{pipe}.temperature"] > parameters[f"{pipe}.T_ground"]: + lb = 0.0 + else: + lb = 2.0 * heat_loss self._pipe_heat_loss_var_bounds[heat_loss_var_name] = ( - 0.0, - 2.0 * heat_loss, + lb, + 2.0 * abs(heat_loss), ) if heat_loss > 0: - self._pipe_heat_loss_nominals[heat_loss_var_name] = heat_loss + self._pipe_heat_loss_nominals[heat_loss_var_name] = abs(heat_loss) else: self._pipe_heat_loss_nominals[heat_loss_var_name] = max( - pipe_heat_loss(self, {"neglect_pipe_heat_losses": False}, parameters, pipe), + abs( + pipe_heat_loss( + self, {"neglect_pipe_heat_losses": False}, parameters, pipe + ) + ), 1.0, ) @@ -782,8 +790,25 @@ def _make_max_size_var(name, lb, ub, nominal): lb = 0.0 if np.isinf(bounds[f"{asset_name}.Heat_demand"][1]) else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) - for asset_name in self.energy_system_components.get("ates", []): - ub = bounds[f"{asset_name}.Heat_ates"][1] + for asset_name in self.energy_system_components.get("cold_demand", []): + ub = ( + bounds[f"{asset_name}.Cold_demand"][1] + if not np.isinf(bounds[f"{asset_name}.Cold_demand"][1]) + else bounds[f"{asset_name}.HeatIn.Heat"][1] + ) + # Note that we only enforce the upper bound in state enabled if it was explicitly + # specified for the demand + lb = 0.0 if np.isinf(bounds[f"{asset_name}.Cold_demand"][1]) else ub + _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) + + for asset_name in [ + *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), + ]: + if asset_name in self.energy_system_components.get("ates", []): + ub = bounds[f"{asset_name}.Heat_ates"][1] + else: + ub = bounds[f"{asset_name}.Heat_low_temperature_ates"][1] lb = 0.0 if parameters[f"{asset_name}.state"] != 1 else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) @@ -1834,11 +1859,20 @@ def __max_size_constraints(self, ensemble_member): ) ) - for a in self.energy_system_components.get("ates", []): + for a in [ + *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), + ]: max_var = self._asset_max_size_map[a] max_heat = self.extra_variable(max_var, ensemble_member) - heat_ates = self.__state_vector_scaled(f"{a}.Heat_ates", ensemble_member) - constraint_nominal = bounds[f"{a}.Heat_ates"][1] + if a in self.energy_system_components.get("ates", []): + heat_ates = self.__state_vector_scaled(f"{a}.Heat_ates", ensemble_member) + constraint_nominal = bounds[f"{a}.Heat_ates"][1] + else: + heat_ates = self.__state_vector_scaled( + f"{a}.Heat_low_temperature_ates", ensemble_member + ) + constraint_nominal = bounds[f"{a}.Heat_low_temperature_ates"][1] constraints.append( ( diff --git a/src/mesido/component_type_mixin.py b/src/mesido/component_type_mixin.py index 3e6b2c2a3..5b6437085 100644 --- a/src/mesido/component_type_mixin.py +++ b/src/mesido/component_type_mixin.py @@ -33,7 +33,7 @@ def pre(self): busses = components.get("electricity_node", []) gas_nodes = components.get("gas_node", []) buffers = components.get("heat_buffer", []) - atess = components.get("ates", []) + atess = [*components.get("ates", []), *components.get("low_temperature_ates", [])] try: pipes = components["heat_pipe"] cables = components.get("electricity_cable", []) diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index a7b69e4d9..4ebfb05e5 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -79,6 +79,7 @@ class _AssetToComponentBase: "Electrolyzer": "electrolyzer", "Bus": "electricity_node", "GenericConsumer": "heat_demand", + "CoolingDemand": "cold_demand", "HeatExchange": "heat_exchanger", "HeatingDemand": "heat_demand", "HeatPump": "heat_pump", @@ -89,6 +90,7 @@ class _AssetToComponentBase: "GasStorage": "gas_tank_storage", "GenericProducer": "heat_source", "GeothermalSource": "heat_source", + "Losses": "heat_demand", "HeatProducer": "heat_source", "ResidualHeatSource": "heat_source", "GenericConversion": "heat_exchanger", @@ -256,6 +258,7 @@ def _is_disconnectable_pipe(self, asset: Asset) -> bool: "ates", "heat_exchanger", "heat_pump", + "cold_demand", } } diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index a13c7dc51..6d26d3295 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -12,7 +12,9 @@ from mesido.network_common import NetworkSettings from mesido.pycml.component_library.milp import ( ATES, + AirWaterHeatPump, CheckValve, + ColdDemand, ControlValve, ElectricityCable, ElectricityDemand, @@ -33,6 +35,7 @@ HeatPump, HeatPumpElec, HeatSource, + LowTemperatureATES, Node, Pump, WindPark, @@ -324,7 +327,7 @@ def convert_heat_demand(self, asset: Asset) -> Tuple[Type[HeatDemand], MODIFIERS ------- Demand class with modifiers """ - assert asset.asset_type in {"GenericConsumer", "HeatingDemand"} + assert asset.asset_type in {"GenericConsumer", "HeatingDemand", "Losses"} max_demand = asset.attributes["power"] if asset.attributes["power"] else math.inf @@ -344,6 +347,41 @@ def convert_heat_demand(self, asset: Asset) -> Tuple[Type[HeatDemand], MODIFIERS return HeatDemand, modifiers + def convert_cold_demand(self, asset: Asset) -> Tuple[Type[ColdDemand], MODIFIERS]: + """ + This function converts the demand object in esdl to a set of modifiers that can be used in + a pycml object. Most important: + - Setting a cap on the thermal power. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. + Parameters + ---------- + asset : The asset object with its properties. + Returns + ------- + Demand class with modifiers + """ + assert asset.asset_type in {"CoolingDemand"} + + max_demand = asset.attributes["power"] if asset.attributes["power"] else math.inf + + q_nominal = self._get_connected_q_nominal(asset) + + modifiers = dict( + Q_nominal=q_nominal, + Cold_demand=dict(min=0.0, max=max_demand, nominal=max_demand / 2.0), + Heat_flow=dict(min=0.0, max=max_demand, nominal=max_demand / 2.0), + HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), + HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), + state=self.get_state(asset), + **self._supply_return_temperature_modifiers(asset), + **self._rho_cp_modifiers, + **self._get_cost_figure_modifiers(asset), + ) + + return ColdDemand, modifiers + def convert_node(self, asset: Asset) -> Tuple[Type[Node], MODIFIERS]: """ This function converts the node object in esdl to a set of modifiers that can be used in @@ -687,7 +725,9 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD ) return HeatExchanger, modifiers - def convert_heat_pump(self, asset: Asset) -> Tuple[Type[HeatPump], MODIFIERS]: + def convert_heat_pump( + self, asset: Asset + ) -> Tuple[Union[Type[HeatPump], Type[HeatSource]], MODIFIERS]: """ This function converts the HeatPump object in esdl to a set of modifiers that can be used in a pycml object. Most important: @@ -710,6 +750,12 @@ def convert_heat_pump(self, asset: Asset) -> Tuple[Type[HeatPump], MODIFIERS]: assert asset.asset_type in { "HeatPump", } + + # In this case we only have the secondary side ports, here we assume a air-water HP + if len(asset.in_ports) == 1 and len(asset.out_ports) == 1: + _, modifiers = self.convert_heat_source(asset) + return AirWaterHeatPump, modifiers + if not asset.attributes["power"]: raise _ESDLInputException(f"{asset.name} has no power specified") else: @@ -792,6 +838,7 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS "HeatProducer", "GeothermalSource", "ResidualHeatSource", + "HeatPump", } max_supply = asset.attributes["power"] @@ -891,12 +938,7 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: hfr_charge_max = asset.attributes.get("maxChargeRate", math.inf) hfr_discharge_max = asset.attributes.get("maxDischargeRate", math.inf) - - try: - # TODO: this is depriciated it comes out of old integraal times. Should be removed. - single_doublet_power = asset.attributes["single_doublet_power"] - except KeyError: - single_doublet_power = hfr_discharge_max + single_doublet_power = hfr_discharge_max # We assume the efficiency is realized over a period of 100 days efficiency = asset.attributes["dischargeEfficiency"] @@ -931,21 +973,10 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: max=q_max_ates * asset.attributes["aggregationCount"], nominal=q_nominal, ), - T_amb=asset.attributes["aquiferMidTemperature"], - Temperature_ates=dict( - min=temperatures["T_return"], # or potentially 0 - max=temperatures["T_supply"], - nominal=temperatures["T_return"], - ), single_doublet_power=single_doublet_power, heat_loss_coeff=(1.0 - efficiency ** (1.0 / 100.0)) / (3600.0 * 24.0), state=self.get_state(asset), nr_of_doublets=asset.attributes["aggregationCount"], - Heat_ates=dict( - min=-hfr_charge_max * asset.attributes["aggregationCount"], - max=hfr_discharge_max * asset.attributes["aggregationCount"], - nominal=hfr_discharge_max / 2.0, - ), Stored_heat=dict( min=0.0, max=hfr_charge_max * asset.attributes["aggregationCount"] * 180.0 * 24 * 3600.0, @@ -958,7 +989,38 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: **self._get_cost_figure_modifiers(asset), ) - return ATES, modifiers + # if no maxStorageTemperature is specified we assume a "regular" HT ATES model + if ( + asset.attributes["maxStorageTemperature"] + and asset.attributes["maxStorageTemperature"] <= 30.0 + ): + modifiers.update( + dict( + Heat_low_temperature_ates=dict( + min=-hfr_charge_max * asset.attributes["aggregationCount"], + max=hfr_discharge_max * asset.attributes["aggregationCount"], + nominal=hfr_discharge_max / 2.0, + ) + ) + ) + return LowTemperatureATES, modifiers + else: + modifiers.update( + dict( + Heat_ates=dict( + min=-hfr_charge_max * asset.attributes["aggregationCount"], + max=hfr_discharge_max * asset.attributes["aggregationCount"], + nominal=hfr_discharge_max / 2.0, + ), + T_amb=asset.attributes["aquiferMidTemperature"], + Temperature_ates=dict( + min=temperatures["T_return"], # or potentially 0 + max=temperatures["T_supply"], + nominal=temperatures["T_return"], + ), + ) + ) + return ATES, modifiers def convert_control_valve(self, asset: Asset) -> Tuple[Type[ControlValve], MODIFIERS]: """ diff --git a/src/mesido/esdl/esdl_model_base.py b/src/mesido/esdl/esdl_model_base.py index 51302d321..7f2d58fb8 100644 --- a/src/mesido/esdl/esdl_model_base.py +++ b/src/mesido/esdl/esdl_model_base.py @@ -163,7 +163,11 @@ def _esdl_convert(self, converter: _AssetToComponentBase, assets: Dict, prefix: f"{asset.name} has does not have 2 Heat in_ports and 2 Heat " f"out_ports " ) - elif len(asset.in_ports) == 3 and len(asset.out_ports) == 2: + elif ( + len(asset.in_ports) == 3 + and len(asset.out_ports) == 2 + and asset.asset_type == "HeatPump" + ): p_heat = 0 p_elec = 0 for p in [*asset.in_ports, *asset.out_ports]: @@ -187,10 +191,28 @@ def _esdl_convert(self, converter: _AssetToComponentBase, assets: Dict, prefix: f"{asset.name} has total of 5 ports, but no proper split between " f"milp(4) and electricity (1) ports" ) - + elif ( + len(asset.in_ports) == 1 + and len(asset.out_ports) == 1 + and asset.asset_type == "HeatPump" + ): + for p in [*asset.in_ports, *asset.out_ports]: + if isinstance(p.carrier, esdl.HeatCommodity): + if isinstance(p, InPort): + port_map[p.id] = getattr(component, in_suf) + else: # OutPort + port_map[p.id] = getattr(component, out_suf) + else: + raise Exception( + f"{asset.name} has does not have 1 Heat in_ports and 1 Heat " + f"out_ports " + ) else: raise Exception( - f"{asset.name} has does not have 2 or 3 in_ports and 2 " f"out_ports " + f"{asset.name} has incorrect number of in/out ports. HeatPumps are allows " + f"to have 1 in and 1 out port for air-water HP, 2 in ports and 2 out ports " + f"when modelling a water-water HP, or 3 in ports and 2 out ports when the " + f"electricity connection of the water-water HP is modelled." ) elif asset.asset_type == "Electrolyzer": if len(asset.out_ports) == 1 and len(asset.in_ports) == 1: diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index dc13b968a..7d52eaa9b 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -30,6 +30,7 @@ class _ProfileParserException(Exception): class BaseProfileReader: component_type_to_var_name_map: dict = { + "cold_demand": ".target_cold_demand", "heat_demand": ".target_heat_demand", "heat_source": ".maximum_heat_source", "electricity_demand": ".target_electricity_demand", diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 8f4ef5771..3464f4758 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -115,6 +115,12 @@ def pre(self): nominal_fixed_operational = self.variable_nominal(f"{asset_name}.Heat_ates") nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational + elif asset_name in [*self.energy_system_components.get("low_temperature_ates", [])]: + nominal_fixed_operational = self.variable_nominal( + f"{asset_name}.Heat_low_temperature_ates" + ) + nominal_variable_operational = nominal_fixed_operational + nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("heat_demand", [])]: nominal_fixed_operational = ( bounds[f"{asset_name}.Heat_demand"][1] @@ -347,6 +353,7 @@ def pre(self): *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_demand", []), *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_pipe", []), *self.energy_system_components.get("heat_exchanger", []), @@ -372,6 +379,7 @@ def pre(self): *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_demand", []), *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), @@ -789,6 +797,7 @@ def __variable_operational_cost_constraints(self, ensemble_member): for asset in [ *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("pump", []), *self.energy_system_components.get("heat_exchanger", []), @@ -1056,6 +1065,7 @@ def __cumulative_investments_made_in_eur_path_constraints(self, ensemble_member) *self.energy_system_components.get("heat_demand", []), *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), @@ -1163,6 +1173,7 @@ def __annualized_capex_constraints(self, ensemble_member): asset_categories = [ "heat_source", "ates", + "low_temperature_ates", "heat_buffer", "heat_pipe", "heat_exchanger", diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 3552d7a5b..a24d636e4 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -28,7 +28,7 @@ class HeatPhysicsMixin(BaseComponentTypeMixin, CollocatedIntegratedOptimizationP HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY, } """ - This class is used to model the physics of a milp district network with its assets. We model + This class is used to model the physics of a heat district network with its assets. We model the different components with variety of linearization strategies. """ @@ -144,7 +144,7 @@ def __init__(self, *args, **kwargs): # To avoid artificial energy generation at t0 self.__buffer_t0_bounds = {} - # Variable for the milp-loss, note that we make the bounds, and nominals not protected as + # Variable for the heat-loss, note that we make the bounds, and nominals not protected as # we need to adapt these in case of pipe sizing in the AssetSizingMixin. self.__pipe_heat_loss_var = {} self.__pipe_heat_loss_path_var = {} @@ -299,9 +299,9 @@ def _get_min_bound(bound): self._pipe_to_flow_direct_map[pipe_name] = flow_dir_var self.__flow_direct_var[flow_dir_var] = ca.MX.sym(flow_dir_var) - # Fix the directions that are already implied by the bounds on milp - # Nonnegative milp implies that flow direction Boolean is equal to one. - # Nonpositive milp implies that flow direction Boolean is equal to zero. + # Fix the directions that are already implied by the bounds on heat + # Nonnegative heat implies that flow direction Boolean is equal to one. + # Nonpositive heat implies that flow direction Boolean is equal to zero. heat_in_lb = _get_min_bound(bounds[f"{pipe_name}.HeatIn.Heat"][0]) heat_in_ub = _get_max_bound(bounds[f"{pipe_name}.HeatIn.Heat"][1]) @@ -362,6 +362,9 @@ def _get_min_bound(bound): (_cold_pipe, _cold_pipe_orientation), ) in self.energy_system_topology.ates.items(): + if ates in self.energy_system_components.get("low_temperature_ates", []): + continue + ates_temp_disc_var_name = f"{ates}__temperature_ates_disc" self.__ates_temperature_disc_var[ates_temp_disc_var_name] = ca.MX.sym( ates_temp_disc_var_name @@ -456,8 +459,8 @@ def _get_min_bound(bound): self.__pipe_heat_loss_parameters.append({}) for pipe in self.energy_system_components.get("heat_pipe", []): - # For similar reasons as for the diameter, we always make a milp - # loss symbol, even if the milp loss is fixed. Note that we also + # For similar reasons as for the diameter, we always make a heat + # loss symbol, even if the heat loss is fixed. Note that we also # override the .Heat_loss parameter for cold pipes, even though # it is not actually used in the optimization problem. heat_loss_var_name = f"{pipe}__hn_heat_loss" @@ -469,7 +472,7 @@ def _get_min_bound(bound): self._pipe_heat_loss_map[pipe] = heat_loss_var_name if options["neglect_pipe_heat_losses"]: - # No decision to make for this pipe w.r.t. milp loss + # No decision to make for this pipe w.r.t. heat loss self._pipe_heat_loss_var_bounds[heat_loss_var_name] = ( 0.0, 0.0, @@ -485,12 +488,16 @@ def _get_min_bound(bound): else: heat_loss = pipe_heat_loss(self, options, parameters, pipe) + if parameters[f"{pipe}.temperature"] > parameters[f"{pipe}.T_ground"]: + lb = 0.0 + else: + lb = 2.0 * heat_loss self._pipe_heat_loss_var_bounds[heat_loss_var_name] = ( - 0.0, - 2.0 * heat_loss, + lb, + 2.0 * abs(heat_loss), ) self._pipe_heat_loss_nominals[heat_loss_var_name] = max( - heat_loss, + abs(heat_loss), 1.0, ) @@ -529,7 +536,7 @@ def _get_min_bound(bound): ] = (0.0, 1.0) # Check that buffer information is logical and - # set the stored milp at t0 in the buffer(s) via bounds + # set the stored heat at t0 in the buffer(s) via bounds if len(self.times()) > 2: self.__check_buffer_values_and_set_bounds_at_t0() @@ -537,7 +544,7 @@ def _get_min_bound(bound): def energy_system_options(self): r""" - Returns a dictionary of milp network physics specific options. + Returns a dictionary of heat network physics specific options. +--------------------------------------+-----------+-----------------------------+ | Option | Type | Default value | @@ -558,25 +565,25 @@ def energy_system_options(self): The ``maximum_temperature_der`` gives the maximum temperature change per hour. Similarly, the ``maximum_flow_der`` parameter gives the maximum flow change per hour. These options together are used to - constrain the maximum milp change per hour allowed in the entire + constrain the maximum heat change per hour allowed in the entire network. Note the unit for flow is m3/s, but the change is expressed on an hourly basis leading to the ``m3/s/hour`` unit. The ``heat_loss_disconnected_pipe`` option decides whether a - disconnectable pipe has milp loss or not when it is disconnected on - that particular time step. By default, a pipe has milp loss even if + disconnectable pipe has heat loss or not when it is disconnected on + that particular time step. By default, a pipe has heat loss even if it is disconnected, as it would still contain relatively hot water in - reality. We also do not want minimization of milp production to lead + reality. We also do not want minimization of heat production to lead to overly disconnecting pipes. In some scenarios it is hydraulically - impossible to supply milp to these disconnected pipes (Q is forced to + impossible to supply heat to these disconnected pipes (Q is forced to zero), in which case this option can be set to ``False``. - The ``neglect_pipe_heat_losses`` option sets the milp loss in pipes to + The ``neglect_pipe_heat_losses`` option sets the heat loss in pipes to zero. This can be useful when the insulation properties are unknown. - Note that other components can still have milp loss, e.g. a buffer. + Note that other components can still have heat loss, e.g. a buffer. The ``include_demand_insulation_options`` options is used, when insulations options per - demand is specificied, to include milp demand and supply matching via constraints for all + demand is specificied, to include heat demand and supply matching via constraints for all possible insulation options. """ @@ -809,7 +816,7 @@ def __check_buffer_values_and_set_bounds_at_t0(self): """ In this function we force the buffer at t0 to have a certain amount of set energy in it. We do this via the bounds, by providing the bounds with a time-series where the first - element is the initial milp in the buffer. + element is the initial heat in the buffer. """ t = self.times() # We assume that t0 is always equal to self.times()[0] @@ -836,7 +843,7 @@ def __check_buffer_values_and_set_bounds_at_t0(self): stored_heat = f"{b}.Stored_heat" if not np.isnan(vol_t0) and not np.isnan(heat_t0): raise Exception( - f"At most one between the initial milp and volume of {b} should be prescribed." + f"At most one between the initial heat and volume of {b} should be prescribed." ) if np.isnan(heat_t0): @@ -849,14 +856,14 @@ def __check_buffer_values_and_set_bounds_at_t0(self): default_vol_t0 = min_fract_vol * volume heat_t0 = default_vol_t0 * dt * cp * rho - # Check that volume/initial stored milp at t0 is within bounds + # Check that volume/initial stored heat at t0 is within bounds lb_heat, ub_heat = bounds[stored_heat] lb_heat_t0 = np.inf ub_heat_t0 = -np.inf for bound in [lb_heat, ub_heat]: assert not isinstance( bound, np.ndarray - ), f"{b} stored milp cannot be a vector state" + ), f"{b} stored heat cannot be a vector state" if isinstance(bound, Timeseries): bound_t0 = bound.values[0] else: @@ -865,9 +872,9 @@ def __check_buffer_values_and_set_bounds_at_t0(self): ub_heat_t0 = max(ub_heat_t0, bound_t0) if heat_t0 < lb_heat_t0 or heat_t0 > ub_heat_t0: - raise Exception(f"Initial milp of {b} is not within bounds.") + raise Exception(f"Initial heat of {b} is not within bounds.") - # Set milp at t0 + # Set heat at t0 lb = np.full_like(t, -np.inf) ub = np.full_like(t, np.inf) lb[0] = heat_t0 @@ -877,16 +884,16 @@ def __check_buffer_values_and_set_bounds_at_t0(self): def __heat_matching_demand_insulation_constraints(self, ensemble_member): """ - Consider all possible milp demand insulation options (each options has an assosiated unique + Consider all possible heat demand insulation options (each options has an assosiated unique demand profile for the specific demand) and add constraints such that only one insulation options is activated per demand. The constraints will then ensure aim to match the supply and demand. Note: - This function is only active when the "include_demand_insulation_options" (False by - default) has been set to True in the milp network options. + default) has been set to True in the heat network options. - Currently this functional requires that all demands have at least one insualtion option is - specified for every demand in the milp network. + specified for every demand in the heat network. """ constraints = [] @@ -968,7 +975,7 @@ def __heat_matching_demand_insulation_constraints(self, ensemble_member): def __pipe_rate_heat_change_constraints(self, ensemble_member): """ - To avoid sudden change in milp from a timestep to the next, + To avoid sudden change in heat from a timestep to the next, constraints on d(Heat)/dt are introduced. Information of restrictions on dQ/dt and dT/dt are used, as d(Heat)/dt is proportional to average_temperature * dQ/dt + average_discharge * dT/dt. @@ -985,7 +992,7 @@ def __pipe_rate_heat_change_constraints(self, ensemble_member): if np.isfinite(t_change) and np.isfinite(q_change): assert ( not self._pipe_topo_pipe_class_map - ), "milp rate change constraints not allowed with topology optimization" + ), "heat rate change constraints not allowed with topology optimization" for p in self.energy_system_components.get("heat_pipe", []): variable = f"{p}.HeatIn.Heat" @@ -1025,7 +1032,7 @@ def __pipe_rate_heat_change_constraints(self, ensemble_member): def __node_heat_mixing_path_constraints(self, ensemble_member): """ - This function adds constraints for each milp network node/joint to have as much + This function adds constraints for each heat network node/joint to have as much thermal power (Heat variable) going in as out. Effectively, it is setting the sum of thermal powers to zero. """ @@ -1091,21 +1098,21 @@ def __node_hydraulic_power_mixing_path_constraints(self, ensemble_member): def __heat_loss_path_constraints(self, ensemble_member): """ - This function adds the constraints to subtract the milp losses from the thermal power that + This function adds the constraints to subtract the heat losses from the thermal power that propagates through the network. Note that this is done only on the thermal power, as such only energy losses are accounted for, temperature losses are not considered. - There are a few cases for the milp loss constraints + There are a few cases for the heat loss constraints - Heat losses are constant: This is the case when the pipe class is constant and the - network temperature is constant. In this case the symbol for the milp-loss is fixed by its + network temperature is constant. In this case the symbol for the heat-loss is fixed by its lower and upper bound to a value. - - Heat losses depend on pipe_class: In this case the milp loss depend on the pipe class - selected by the optimization. In this case the milp losses can vary due to the varying + - Heat losses depend on pipe_class: In this case the heat loss depend on the pipe class + selected by the optimization. In this case the heat losses can vary due to the varying radiation surface and different insulation materials applied to the pipe. Note that the - influences of varying pipe class are taken into account while setting the milp-loss + influences of varying pipe class are taken into account while setting the heat-loss variable in topology constraints. - - Heat losses depend on varying network temperature: In this case the milp loss varies due - to the different delta temperature with ambient. Note that the milp loss symbol does not + - Heat losses depend on varying network temperature: In this case the heat loss varies due + to the different delta temperature with ambient. Note that the heat loss symbol does not account for the varying temperature. Therefore, the big_m formulation is needed in these constraints. - Heat losses depend both on varying network temperature and pipe classes: In this case @@ -1155,11 +1162,11 @@ def __heat_loss_path_constraints(self, ensemble_member): ) ) else: - # Force milp loss to `heat_loss` when pipe is connected, and zero otherwise. + # Force heat loss to `heat_loss` when pipe is connected, and zero otherwise. heat_loss_nominal = self._pipe_heat_loss_nominals[heat_loss_sym_name] constraint_nominal = (big_m * heat_loss_nominal) ** 0.5 - # Force milp loss to `heat_loss` when pipe is connected. + # Force heat loss to `heat_loss` when pipe is connected. constraints.append( ( (heat_in - heat_out - heat_loss - is_disconnected * big_m) @@ -1205,7 +1212,7 @@ def __flow_direction_path_constraints(self, ensemble_member): The directions are set based upon the directions of how thermal power propegates. This is done based upon the sign of the Heat variable. Where positive Heat means a positive - direction and negative milp means a negative direction. By default, positive is defined from + direction and negative heat means a negative direction. By default, positive is defined from HeatIn to HeatOut. Finally, a minimum flow can be set. This can sometimes be useful for numerical stability. @@ -1216,7 +1223,7 @@ def __flow_direction_path_constraints(self, ensemble_member): minimum_velocity = self.heat_network_settings["minimum_velocity"] maximum_velocity = self.heat_network_settings["maximum_velocity"] - # Also ensure that the discharge has the same sign as the milp. + # Also ensure that the discharge has the same sign as the heat. for p in self.energy_system_components.get("heat_pipe", []): flow_dir_var = self._pipe_to_flow_direct_map[p] flow_dir = self.state(flow_dir_var) @@ -1295,7 +1302,7 @@ def __flow_direction_path_constraints(self, ensemble_member): ) ) ) - # Note we only need one on the milp as the desired behaviour is propegated by the + # Note we only need one on the heat as the desired behaviour is propegated by the # constraints heat_in - heat_out - heat_loss == 0. constraints.append( ( @@ -1336,7 +1343,7 @@ def __flow_direction_path_constraints(self, ensemble_member): ((heat_out + (1 - is_disconnected) * big_m) / big_m, 0.0, np.inf) ) - # Pipes that are connected in series should have the same milp direction. + # Pipes that are connected in series should have the same heat direction. for pipes in self.energy_system_topology.pipe_series: if len(pipes) <= 1: continue @@ -1357,8 +1364,8 @@ def __demand_heat_to_discharge_path_constraints(self, ensemble_member): """ This function adds constraints linking the flow to the thermal power at the demand assets. We use an equality constraint on the outgoing flow for every non-pipe asset. Meaning that we - equate Q * rho * cp * T == Heat for outgoing flows, and inequalities for the milp carried - in the pipes. This means that the milp can decrease in the network to compensate losses, + equate Q * rho * cp * T == Heat for outgoing flows, and inequalities for the heat carried + in the pipes. This means that the heat can decrease in the network to compensate losses, but that the losses and thus flow will always be over-estimated with the temperature for which no temperature drops are modelled. """ @@ -1369,8 +1376,6 @@ def __demand_heat_to_discharge_path_constraints(self, ensemble_member): heat_nominal = parameters[f"{d}.Heat_nominal"] cp = parameters[f"{d}.cp"] rho = parameters[f"{d}.rho"] - # TODO: future work - some sort of correction factor to account for temp drop n pipe: - # (maximum/average lenght fromm source to demand) * V_nominal * temperature_loss_factor discharge = self.state(f"{d}.Q") heat_out = self.state(f"{d}.HeatOut.Heat") @@ -1421,8 +1426,8 @@ def __source_heat_to_discharge_path_constraints(self, ensemble_member): """ This function adds constraints linking the flow to the thermal power at the demand assets. We use an equality constraint on the outgoing flow for every non-pipe asset. Meaning that we - equate Q * rho * cp * T == Heat for outgoing flows, and inequalities for the milp carried - in the pipes. This means that the milp can decrease in the network to compensate losses, + equate Q * rho * cp * T == Heat for outgoing flows, and inequalities for the heat carried + in the pipes. This means that the heat can decrease in the network to compensate losses, but that the losses and thus flow will always be over-estimated with the temperature for which no temperature drops are modelled. """ @@ -1485,6 +1490,73 @@ def __source_heat_to_discharge_path_constraints(self, ensemble_member): return constraints + def __cold_demand_heat_to_discharge_path_constraints(self, ensemble_member): + """ + This function adds constraints linking the flow to the thermal power at the cold demand + assets. We use an equality constraint on the outgoing flow for every non-pipe asset. + Meaning that we equate Q * rho * cp * T == Heat for outgoing flows, and inequalities for + the heat carried in the pipes. This means that the heat can decrease in the network to + compensate losses, but that the losses and thus flow will always be over-estimated with the + temperature for which no temperature drops are modelled. + + In the specific case of cold demand the temperature in the network can be below the ground + temperature. This causes negative heat losses as the flow is heated up by the ground, we + therefore constrain the discharge with the theoretical maximum temperature, which is the + ground temperature. + """ + constraints = [] + parameters = self.parameters(ensemble_member) + + for d in self.energy_system_components.get("cold_demand", []): + heat_nominal = parameters[f"{d}.Heat_nominal"] + cp = parameters[f"{d}.cp"] + rho = parameters[f"{d}.rho"] + discharge = self.state(f"{d}.Q") + heat_out = self.state(f"{d}.HeatOut.Heat") + + sup_carrier = parameters[f"{d}.T_supply_id"] + supply_temperatures = self.temperature_regimes(sup_carrier) + big_m = 2.0 * self.bounds()[f"{d}.HeatOut.Heat"][1] + + if len(supply_temperatures) == 0: + constraints.append( + ( + (heat_out - discharge * cp * rho * parameters[f"{d}.T_supply"]) + / heat_nominal, + 0.0, + 0.0, + ) + ) + else: + for sup_temperature in supply_temperatures: + sup_temperature_is_selected = self.state(f"{sup_carrier}_{sup_temperature}") + constraints.append( + ( + ( + heat_out + - discharge * cp * rho * sup_temperature + + (1.0 - sup_temperature_is_selected) * big_m + ) + / heat_nominal, + 0.0, + np.inf, + ) + ) + constraints.append( + ( + ( + heat_out + - discharge * cp * rho * sup_temperature + - (1.0 - sup_temperature_is_selected) * big_m + ) + / heat_nominal, + -np.inf, + 0.0, + ) + ) + + return constraints + def __pipe_hydraulic_power_path_constraints(self, ensemble_member): """ This function adds constraints to compute the hydraulic power that is needed to realize the @@ -1598,13 +1670,13 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): """ This function adds constraints linking the flow to the thermal power at the pipe assets. We use an equality constraint on the outgoing flow for every non-pipe asset. Meaning that we - equate Q * rho * cp * T == Heat for outgoing flows, and inequalities for the milp carried - in the pipes. This means that the milp can decrease in the network to compensate losses, + equate Q * rho * cp * T == Heat for outgoing flows, and inequalities for the heat carried + in the pipes. This means that the heat can decrease in the network to compensate losses, but that the losses and thus flow will always be over-estimated with the temperature for which no temperature drops are modelled. There are three cases for the constraint, namely: - - no milp losses: In this case a single equality constraint can be used. + - no heat losses: In this case a single equality constraint can be used. - constant network temperature: In this case there is a single set inequality constraints - varying network temperature: In this case a set of big_m constraints is used to "activate" only the constraints with the selected network temperature. @@ -1625,7 +1697,10 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): for p in self.energy_system_components.get("heat_pipe", []): cp = parameters[f"{p}.cp"] rho = parameters[f"{p}.rho"] - temp = parameters[f"{p}.temperature"] + # Note that during cold delivery the line can be colder than the ground temperature. + # In this case we have to bound the heat flowing in the line with the ground + # temperature instead, as the line can heat up to at maximum the ground temperature. + temp = max(parameters[f"{p}.temperature"], parameters[f"{p}.T_ground"]) flow_dir_var = self._pipe_to_flow_direct_map[p] flow_dir = self.state(flow_dir_var) @@ -1658,6 +1733,7 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): else: for temperature in temperatures: temperature_is_selected = self.state(f"{carrier}_{temperature}") + temperature = max(temperature, parameters[f"{p}.T_ground"]) constraints.append( ( ( @@ -1706,6 +1782,7 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): elif len(temperatures) > 0: for temperature in temperatures: temperature_is_selected = self.state(f"{carrier}_{temperature}") + temperature = max(temperature, parameters[f"{p}.T_ground"]) constraints.append( ( ( @@ -1785,6 +1862,9 @@ def __ates_temperature_path_constraints(self, ensemble_member): (_cold_pipe, _cold_pipe_orientation), ) in {**self.energy_system_topology.ates}.items(): + if ates_asset in self.energy_system_components.get("low_temperature_ates", []): + continue + flow_dir_var = self._pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) * _hot_pipe_orientation @@ -2053,6 +2133,9 @@ def __ates_temperature_changing_path_constraints(self, ensemble_member): (_cold_pipe, _cold_pipe_orientation), ) in {**self.energy_system_topology.ates}.items(): + if ates in self.energy_system_components.get("low_temperature_ates", []): + continue + ates_dt_charging = self.state(f"{ates}.Temperature_change_charging") ates_dt_loss = self.state(f"{ates}.Temperature_loss") @@ -2200,7 +2283,10 @@ def __ates_heat_losses_path_constraints(self, ensemble_member): bounds = self.bounds() options = self.energy_system_options() - for ates in self.energy_system_components.get("ates", []): + for ates in [ + *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), + ]: heat_loss_nominal = self.variable_nominal(f"{ates}.Heat_loss") soil_temperature = parameters[f"{ates}.T_amb"] heat_stored_max = bounds[f"{ates}.Stored_heat"][1] @@ -2211,7 +2297,11 @@ def __ates_heat_losses_path_constraints(self, ensemble_member): sup_carrier = parameters[f"{ates}.T_supply_id"] supply_temperatures = self.temperature_regimes(sup_carrier) - if options["include_ates_temperature_options"] and len(supply_temperatures) != 0: + if ( + options["include_ates_temperature_options"] + and len(supply_temperatures) != 0 + and ates in self.energy_system_components.get("ates", []) + ): big_m_heatloss = 2 * heat_loss_nominal for ates_temperature in supply_temperatures: ates_temperature_is_selected = self.state( @@ -2263,8 +2353,8 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): """ This function adds constraints linking the flow to the thermal power at the pipe assets. We use an equality constraint on the outgoing flow for every non-pipe asset. Meaning that we - equate Q * rho * cp * T == Heat for outgoing flows, and inequalities for the milp carried - in the pipes. This means that the milp can decrease in the network to compensate losses, + equate Q * rho * cp * T == Heat for outgoing flows, and inequalities for the heat carried + in the pipes. This means that the heat can decrease in the network to compensate losses, but that the losses and thus flow will always be over-estimated with the temperature for which no temperature drops are modelled. @@ -2292,13 +2382,13 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): discharge = self.state(f"{b}.HeatIn.Q") # Note that `heat_hot` can be negative for the buffer; in that case we - # are extracting milp from it. + # are extracting heat from it. heat_out = self.state(f"{b}.HeatOut.Heat") heat_in = self.state(f"{b}.HeatIn.Heat") - # We want an _equality_ constraint between discharge and milp if the buffer is + # We want an _equality_ constraint between discharge and heat if the buffer is # consuming (i.e. behaving like a "demand"). We want an _inequality_ - # constraint (`|milp| >= |f(Q)|`) just like a "heat_source" component if milp is + # constraint (`|heat| >= |f(Q)|`) just like a "heat_source" component if heat is # extracted from the buffer. We accomplish this by disabling one of # the constraints with a boolean. Note that `discharge` and `heat_hot` # are guaranteed to have the same sign. @@ -2316,7 +2406,7 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): if len(supply_temperatures) == 0: constraint_nominal = (heat_nominal * cp * rho * dt * q_nominal) ** 0.5 - # only when discharging the heat_in should match the milp excactly (like producer) + # only when discharging the heat_in should match the heat excactly (like producer) constraints.append( ( ( @@ -2478,29 +2568,29 @@ def __network_temperature_path_constraints(self, ensemble_member): def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): """ - This function adds the milp to discharge constraints of components that connect two + This function adds the heat to discharge constraints of components that connect two hydraulically decoupled networks. We assume that there is a dedicated primary side and secondary side and that Thermal power can only flow from primary to secondary. - Following this assumption we use the demand logic to relate milp to discharge at the - primary side and the source logic for relating milp to discharge at the secondary side. + Following this assumption we use the demand logic to relate heat to discharge at the + primary side and the source logic for relating heat to discharge at the secondary side. This function also adds constraints to ensure physically logical temperatures between the primary and secondary side when varying temperature is applied to the optimization. - Assuming a counter flow milp exchanger, this means that the secondary supply temperature + Assuming a counter flow heat exchanger, this means that the secondary supply temperature will always be below the primary supply temperature and that the primary return temperature has to be above the secondary return temperature. - Finally, an is disabled variable is set for when the milp exchanger is not used. This is - needed to allow disabling of the HEX temperature constraints when no milp is flowing + Finally, an is disabled variable is set for when the heat exchanger is not used. This is + needed to allow disabling of the HEX temperature constraints when no heat is flowing through the HEX. """ constraints = [] parameters = self.parameters(ensemble_member) - # The primary side of the milp exchanger acts like a milp consumer, and the secondary side - # acts as a milp producer. Essentially using equality constraints to set the milp leaving - # the secondary side based on the secondary Supply temperature and the milp leaving the + # The primary side of the heat exchanger acts like a heat consumer, and the secondary side + # acts as a heat producer. Essentially using equality constraints to set the heat leaving + # the secondary side based on the secondary Supply temperature and the heat leaving the # primary side based on the primary Return temperature. for heat_exchanger in [ @@ -3080,7 +3170,7 @@ def __control_valve_head_discharge_path_constraints(self, ensemble_member): def __heat_loss_variable_constraints(self, ensemble_member): """ - Furthermore, the __hn_heat_loss symbol is set, as the milp loss depends on the chosen pipe + Furthermore, the __hn_heat_loss symbol is set, as the heat loss depends on the chosen pipe class and the selected temperature in the network. Parameters @@ -3218,7 +3308,9 @@ class and the selected temperature in the network. def __ates_max_stored_heat_constriants(self, ensemble_member): constraints = [] - for ates in self.energy_system_components.get("ates", []): + for ates in [ + *self.energy_system_components.get("ates", []), + ]: max_var_name = f"{ates}__max_stored_heat" max_var = self.extra_variable(max_var_name, ensemble_member) stored_heat = self.__state_vector_scaled(f"{ates}.Stored_heat", ensemble_member) @@ -3493,6 +3585,7 @@ def path_constraints(self, ensemble_member): constraints.extend(self.__heat_loss_path_constraints(ensemble_member)) constraints.extend(self.__node_discharge_mixing_path_constraints(ensemble_member)) constraints.extend(self.__demand_heat_to_discharge_path_constraints(ensemble_member)) + constraints.extend(self.__cold_demand_heat_to_discharge_path_constraints(ensemble_member)) constraints.extend(self.__source_heat_to_discharge_path_constraints(ensemble_member)) constraints.extend(self.__pipe_heat_to_discharge_path_constraints(ensemble_member)) constraints.extend(self.__storage_heat_to_discharge_path_constraints(ensemble_member)) @@ -3547,9 +3640,9 @@ def history(self, ensemble_member): hist_heat_buffer = history.get(f"{b}.Heat_buffer", empty_timeseries).values hist_stored_heat = history.get(f"{b}.Stored_heat", empty_timeseries).values - # One has to provide information of what Heat_buffer (i.e., the milp + # One has to provide information of what Heat_buffer (i.e., the heat # added/extracted from the buffer at that timestep) is at t0. - # Else the solution will always extract milp from the buffer at t0. + # Else the solution will always extract heat from the buffer at t0. # This information can be passed in two ways: # - non-trivial history of Heat_buffer at t0; # - non-trivial history of Stored_heat. @@ -3670,7 +3763,7 @@ def post(self): In this post function we check the optimization results for accurately solving the constraints. We do this for the head losses and check if they are consistent with the flow direction. Whether, the minimum velocity is actually met. And whether, the directions of - milp match the directions of the flow. + heat match the directions of the flow. """ super().post() @@ -3678,8 +3771,8 @@ def post(self): parameters = self.parameters(0) options = self.energy_system_options() - # The flow directions are the same as the milp directions if the - # return (i.e. cold) line has zero milp throughout. Here we check that + # The flow directions are the same as the heat directions if the + # return (i.e. cold) line has zero heat throughout. Here we check that # this is indeed the case. for p in self.cold_pipes: heat_in = results[f"{p}.HeatIn.Heat"] diff --git a/src/mesido/pycml/component_library/milp/__init__.py b/src/mesido/pycml/component_library/milp/__init__.py index d9e6a2e80..8e58b9ed4 100644 --- a/src/mesido/pycml/component_library/milp/__init__.py +++ b/src/mesido/pycml/component_library/milp/__init__.py @@ -10,8 +10,10 @@ from .gas.gas_source import GasSource from .gas.gas_substation import GasSubstation from .gas.gas_tank_storage import GasTankStorage +from .heat.air_water_heat_pump import AirWaterHeatPump from .heat.ates import ATES from .heat.check_valve import CheckValve +from .heat.cold_demand import ColdDemand from .heat.control_valve import ControlValve from .heat.geothermal_source import GeothermalSource from .heat.heat_buffer import HeatBuffer @@ -23,14 +25,17 @@ from .heat.heat_pump import HeatPump from .heat.heat_source import HeatSource from .heat.heat_two_port import HeatTwoPort +from .heat.low_temperature_ates import LowTemperatureATES from .heat.node import Node from .heat.pump import Pump from .multicommodity.electrolyzer import Electrolyzer __all__ = [ + "AirWaterHeatPump", "ATES", "HeatBuffer", "CheckValve", + "ColdDemand", "ControlValve", "HeatDemand", "ElectricityCable", @@ -47,12 +52,13 @@ "GeothermalSource", "HeatExchanger", "HeatFourPort", + "HeatPipe", "HeatPort", "HeatPump", "HeatPumpElec", "HeatTwoPort", + "LowTemperatureATES", "Node", - "HeatPipe", "Pump", "HeatSource", "WindPark", diff --git a/src/mesido/pycml/component_library/milp/heat/__init__.py b/src/mesido/pycml/component_library/milp/heat/__init__.py index d027d0980..475ed0e55 100644 --- a/src/mesido/pycml/component_library/milp/heat/__init__.py +++ b/src/mesido/pycml/component_library/milp/heat/__init__.py @@ -1,5 +1,7 @@ +from .air_water_heat_pump import AirWaterHeatPump from .ates import ATES from .check_valve import CheckValve +from .cold_demand import ColdDemand from .control_valve import ControlValve from .geothermal_source import GeothermalSource from .heat_buffer import HeatBuffer @@ -11,13 +13,16 @@ from .heat_pump import HeatPump from .heat_source import HeatSource from .heat_two_port import HeatTwoPort +from .low_temperature_ates import LowTemperatureATES from .node import Node from .pump import Pump __all__ = [ + "AirWaterHeatPump", "ATES", "HeatBuffer", "CheckValve", + "ColdDemand", "ControlValve", "HeatDemand", "GeothermalSource", @@ -26,8 +31,9 @@ "HeatPort", "HeatPump", "HeatTwoPort", - "Node", "HeatPipe", - "Pump", "HeatSource", + "LowTemperatureATES", + "Node", + "Pump", ] diff --git a/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py b/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py index e0f5e81c8..f814979dc 100644 --- a/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py +++ b/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py @@ -26,10 +26,10 @@ def __init__(self, name, **modifiers): self.rho = 988.0 self.nominal_pressure = 16.0e5 - # NOTE: We move a factor of 100.0 of the milp to the state entry, to - # reduce the coefficient in front of the milp variables. This + # NOTE: We move a factor of 100.0 of the heat to the state entry, to + # reduce the coefficient in front of the heat variables. This # particularly helps the scaling/range of the constraints that relate - # the milp loss (if it is variable/optional) to the milp in- and out + # the milp loss (if it is variable/optional) to the heat in- and out # of a component. self.Heat_nominal = self.cp * self.rho * self.Q_nominal * 100.0 diff --git a/src/mesido/pycml/component_library/milp/heat/air_water_heat_pump.py b/src/mesido/pycml/component_library/milp/heat/air_water_heat_pump.py new file mode 100644 index 000000000..e245a409a --- /dev/null +++ b/src/mesido/pycml/component_library/milp/heat/air_water_heat_pump.py @@ -0,0 +1,13 @@ +from .heat_source import HeatSource + + +class AirWaterHeatPump(HeatSource): + """ + The air water heat pump component is used to model the source behaviour of air water heat pumps. + For now, it is just a source, but in the future this can be expanded. + """ + + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + + self.component_subtype = "air_water_heat_pump" diff --git a/src/mesido/pycml/component_library/milp/heat/ates.py b/src/mesido/pycml/component_library/milp/heat/ates.py index 6690874ba..59c9e5280 100644 --- a/src/mesido/pycml/component_library/milp/heat/ates.py +++ b/src/mesido/pycml/component_library/milp/heat/ates.py @@ -8,17 +8,17 @@ class ATES(HeatTwoPort, BaseAsset): """ - An Ates is a storage component that is used to model milp storage underground. Typically, this + An Ates is a storage component that is used to model heat storage underground. Typically, this is done by storing hot water in an underground aquifier. We model this with an energy storage where the energy loss is modelled as a fraction of the Stored energy for each time-step. - Like all storage assets we enforce that they must be connected as a demand. The milp to - discharge constraints are set in the HeatMixin, where we use a big_m formulation to enforce the - correct constraints depending on whether the ates is charging or discharging. + Like all storage assets we enforce that they must be connected as a demand. The heat to + discharge constraints are set in the HeatPhysicsMixin, where we use a big_m formulation to + enforce the correct constraints depending on whether the ates is charging or discharging. Please note that: The user is responsible to implement the cyclic behaviour in their workflow constraints. - Meaning that the milp stored at the 1st and last time step should be equal. Furthermore, due + Meaning that the heat stored at the 1st and last time step should be equal. Furthermore, due to the implicit solving note that the energy out of the ATES should be 0 for the 1st time step. """ @@ -62,8 +62,8 @@ def __init__(self, name, **modifiers): # Meaning that they might always be, for e.g., 5% full. self.min_fraction_tank_volume = 0.05 - # Stored_heat is the milp that is contained in the ates. - # Heat_ates is the amount of milp added to or extracted from the buffer + # Stored_heat is the heat that is contained in the ates. + # Heat_ates is the amount of heat added to or extracted from the buffer # per timestep. # Thus Heat_buffer = HeatHot = der(Stored_heat). # We connect an ATES as an demand, meaning that flow and Heat_ates are positive under diff --git a/src/mesido/pycml/component_library/milp/heat/cold_demand.py b/src/mesido/pycml/component_library/milp/heat/cold_demand.py new file mode 100644 index 000000000..85ac1511f --- /dev/null +++ b/src/mesido/pycml/component_library/milp/heat/cold_demand.py @@ -0,0 +1,53 @@ +from mesido.pycml import Variable + +from ._non_storage_component import _NonStorageComponent + + +class ColdDemand(_NonStorageComponent): + """ + The cold demand component is there to add thermal power (Heat) out of the network. Typically, + this component is used to model aggregated demands. + + The heat to discharge constraints are set in the HeatPhysicsMixin. We enforce that the outgoing + temperature of the demand matches the absolute thermal power, Q * cp * rho * T_ret == Heat, + similar as with the sources. This allows us to guarantee that the flow can always carry the + heat and that thermal losses are always estimated conservatively, as the heat losses further + downstream in the network are over-estimated with T_ret where in reality this temperature + drops. It also implicitly assumes that the temperature drops in the network are small and thus + satisfy minimum temperature requirements. + """ + + def __init__(self, name, **modifiers): + super().__init__( + name, + **self.merge_modifiers( + dict( + HeatIn=dict(Heat=dict(min=0.0)), + HeatOut=dict(Heat=dict(min=0.0)), + ), + modifiers, + ), + ) + + self.component_type = "cold_demand" + + self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop + + # Assumption: heat in/out and extracted is nonnegative + # Heat in the return (i.e. cold) line is zero + self.add_variable(Variable, "Cold_demand", min=0.0, nominal=self.Heat_nominal) + self.add_variable(Variable, "dH", max=0.0) + self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) + self.add_equation( + ( + self.minimum_pressure_drop * self.Q + - (self.HeatIn.Hydraulic_power - self.HeatOut.Hydraulic_power) + ) + / (self.Q_nominal * self.minimum_pressure_drop) + ) + + self.add_equation( + (self.HeatOut.Heat - (self.HeatIn.Heat + self.Cold_demand)) / self.Heat_nominal + ) + + self.add_equation((self.Heat_flow - self.Cold_demand) / self.Heat_nominal) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py index dd377c542..4ba9f47fc 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py @@ -11,12 +11,12 @@ class HeatBuffer(HeatTwoPort, BaseAsset): """ The buffer component is to model milp storage in a tank. This means that we model a tank of hot - water being filled and radiating milp away (milp loss) over the hot surfaces. We assume that the + water being filled and radiating milp away (heat loss) over the hot surfaces. We assume that the hot surfaces are those in contact with hot water. - Like all storage assets we enforce that they must be connected as a demand. The milp to - discharge constraints are set in the HeatMixin, where we use a big_m formulation to enforce the - correct constraints depending on whether the buffer is charging or discharging. + Like all storage assets we enforce that they must be connected as a demand. The heat to + discharge constraints are set in the HeatPhysicsMixin, where we use a big_m formulation to + enforce the correct constraints depending on whether the buffer is charging or discharging. """ def __init__(self, name, **modifiers): @@ -58,12 +58,12 @@ def __init__(self, name, **modifiers): self.volume * (1 - self.min_fraction_tank_volume) * self.dT * self.cp * self.rho ) - # Stored_heat is the milp that is contained in the buffer. - # Heat_buffer is the amount of milp added to or extracted from the buffer + # Stored_heat is the heat that is contained in the buffer. + # Heat_buffer is the amount of heat added to or extracted from the buffer # per timestep. - # HeatHot (resp. HeatCold) is the amount of milp added or extracted from + # HeatHot (resp. HeatCold) is the amount of heat added or extracted from # the hot (resp. cold) line. - # As by construction the cold line should have zero milp, we fix HeatCold to zero. + # As by construction the cold line should have zero heat, we fix HeatCold to zero. # Thus Heat_buffer = HeatHot = der(Stored_heat). # We connect a buffer as an demand, meaning that flow and Heat_buffer are positive under # charging and negative under discharge diff --git a/src/mesido/pycml/component_library/milp/heat/heat_demand.py b/src/mesido/pycml/component_library/milp/heat/heat_demand.py index 5ba23da99..a02258c43 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_demand.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_demand.py @@ -8,10 +8,10 @@ class HeatDemand(_NonStorageComponent): The demand component is there to extract thermal power (Heat) out of the network. Typically, this component is used to model aggregated demands. - The milp to discharge constraints are set in the HeatMixin. We enforce that the outgoing + The heat to discharge constraints are set in the HeatPhysicsMixin. We enforce that the outgoing temperature of the demand matches the absolute thermal power, Q * cp * rho * T_ret == Heat, similar as with the sources. This allows us to guarantee that the flow can always carry the - milp and that thermal losses are always estimated conservatively, as the milp losses further + heatf and that thermal losses are always estimated conservatively, as the heat losses further downstream in the network are over-estimated with T_ret where in reality this temperature drops. It also implicitly assumes that the temperature drops in the network are small and thus satisfy minimum temperature requirements. @@ -33,7 +33,7 @@ def __init__(self, name, **modifiers): self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop - # Assumption: milp in/out and extracted is nonnegative + # Assumption: heat in/out and extracted is nonnegative # Heat in the return (i.e. cold) line is zero self.add_variable(Variable, "Heat_demand", min=0.0, nominal=self.Heat_nominal) self.add_variable(Variable, "dH", max=0.0) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py index ee74b3cd7..4d7db5e1a 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py @@ -7,18 +7,18 @@ class HeatExchanger(HeatFourPort, BaseAsset): """ - The milp exchanger component is used to model the exchange of thermal power between two + The heat exchanger component is used to model the exchange of thermal power between two hydraulically decoupled systems. A constant efficiency is used to model milp losses and a - maximum power is set on the primary side to model physical constraints on the amount of milp + maximum power is set on the primary side to model physical constraints on the amount of heat transfer. - The milp to discharge constraints are set in the HeatMixin. The primary side is modelled as a + The heat to discharge constraints are set in the HeatMixin. The primary side is modelled as a demand, meaning it consumes energy from the primary network and gives it to the secondary side, - where the secondary side acts like a source to the secondary network. This also means that milp + where the secondary side acts like a source to the secondary network. This also means that heat can only flow from primary to secondary. - To avoid unphysical milp transfer the HeatMixin sets constraints on the temperatures on both - sides in the case of varying temperature. We also allow a heat_exchanger to be disabled on + To avoid unphysical heat transfer the HeatPhysicsMixin sets constraints on the temperatures on + both sides in the case of varying temperature. We also allow a heat_exchanger to be disabled on certain time-steps to then allow these temperature constraints to be also disabled. """ @@ -42,7 +42,7 @@ def __init__(self, name, **modifiers): self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop self.pump_efficiency = 0.5 - # Assumption: milp in/out and added is nonnegative + # Assumption: heat in/out and added is nonnegative self.add_variable(Variable, "Primary_heat", min=0.0) self.add_variable(Variable, "Secondary_heat", min=0.0) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_pipe.py b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py index 3b30e62ac..cc0b2fb82 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_pipe.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py @@ -8,13 +8,13 @@ class HeatPipe(_NonStorageComponent): """ The pipe component is to model the pressure drop (and optionally hydraulic power) and - milp losses over a pipe. Three options for head loss computation are available in the HeatMixin + heat losses over a pipe. Three options for head loss computation are available in the HeatMixin options: No_HeadLoss, Linear, DW_Linearized. The hydraulic power computation can only be done reasonably if DW_linearized is selected as otherwise head_losses are significantly over-estimated. - The milp to discharge constraints are set in the HeatMixin. Where we ensure that the milp must - be smaller than the flow can carry, as we overestimate the milp losses with the outgoing + The heat to discharge constraints are set in the HeatMixin. Where we ensure that the heat must + be smaller than the flow can carry, as we overestimate the heat losses with the outgoing temperature at the demand/source/storage assets where in reality this temperature drops throughout the network. Meaning that the flow does lose energy but not temperature. In this manner the energy losses will always be overestimated as in reality the @@ -36,7 +36,7 @@ def __init__(self, name, **modifiers): self.carrier_id = -1 self.pressure = 16.0e5 - # Parameters determining the milp loss + # Parameters determining the heat loss # All of these have default values in the library function self.insulation_thickness = nan self.conductivity_insulation = nan @@ -69,4 +69,4 @@ def __init__(self, name, **modifiers): self.add_equation(((self.Heat_flow - self.HeatIn.Heat) / self.Heat_nominal)) # Note: Heat loss is added in the mixin, because it depends on the flow direction - # * milp loss equation: (HeatOut.Heat - (HeatIn.Heat +/- Heat_loss)) = 0. + # * heat loss equation: (HeatOut.Heat - (HeatIn.Heat +/- Heat_loss)) = 0. diff --git a/src/mesido/pycml/component_library/milp/heat/heat_pump.py b/src/mesido/pycml/component_library/milp/heat/heat_pump.py index 34963085c..5ecdc6786 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_pump.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pump.py @@ -9,12 +9,12 @@ class HeatPump(HeatFourPort, BaseAsset): """ The heatpump component is used to model a water-water heatpump. A constant COP is used to model the electricity use of the heatpump. A power cap is set - on the primary side to model physical constraints on the amount of milp transfer. + on the primary side to model physical constraints on the amount of heat transfer. - The milp to discharge constraints are set in the HeatMixin. The primary side is modelled as a - demand, meaning it consumes energy from the primary network and gives it to the secondary side, - where the secondary side acts like a source to the secondary network. This also means that milp - can only flow from primary to secondary. + The heat to discharge constraints are set in the HeatPhysicsMixin. The primary side is modelled + as a demand, meaning it consumes energy from the primary network and gives it to the secondary + side, where the secondary side acts like a source to the secondary network. This also means + that heat can only flow from primary to secondary. """ def __init__(self, name, **modifiers): @@ -36,7 +36,7 @@ def __init__(self, name, **modifiers): self.pump_efficiency = 0.5 self.elec_power_nominal = self.nominal / self.COP - # Assumption: milp in/out and added is nonnegative + # Assumption: heat in/out and added is nonnegative self.add_variable(Variable, "Primary_heat", min=0.0) self.add_variable(Variable, "Secondary_heat", min=0.0) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_source.py b/src/mesido/pycml/component_library/milp/heat/heat_source.py index a3a547c59..9a776d5eb 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_source.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_source.py @@ -9,10 +9,10 @@ class HeatSource(_NonStorageComponent): """ The source component is there to insert thermal power (Heat) into the network. - The milp to discharge constraints are set in the HeatMixin. We enforce that the outgoing + The heat to discharge constraints are set in the HeatMixin. We enforce that the outgoing temperature of the source matches the absolute thermal power, Q * cp * rho * T_sup == Heat, similar as with the demands. This allows us to guarantee that the flow can always carry, as - the milp losses further downstream in the network are over-estimated with T_ret where in + the heat losses further downstream in the network are over-estimated with T_ret where in reality this temperature drops. It also implicitly assumes that the temperature drops in the network are small and thus satisfy minimum temperature requirements. """ @@ -35,7 +35,7 @@ def __init__(self, name, **modifiers): self.co2_coeff = 1.0 self.pump_efficiency = 0.5 - # Assumption: milp in/out and added is nonnegative + # Assumption: heat in/out and added is nonnegative # Heat in the return (i.e. cold) line is zero self.add_variable(Variable, "Heat_source", min=0.0, nominal=self.Heat_nominal) self.add_variable(Variable, "Emission", min=0.0, nominal=self.Heat_nominal) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_two_port.py b/src/mesido/pycml/component_library/milp/heat/heat_two_port.py index c1cf1d855..122116c2c 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_two_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_two_port.py @@ -6,7 +6,7 @@ class HeatTwoPort(HeatComponent): """ The HeatTwoPort component is used as a base for interaction with one hydraulically coupled - system. As milp networks are closed systems we always need two ports to model both the in and + system. As heat networks are closed systems we always need two ports to model both the in and out going flow in the system. """ diff --git a/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py b/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py new file mode 100644 index 000000000..1f0348fdd --- /dev/null +++ b/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py @@ -0,0 +1,100 @@ +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset + +from numpy import nan + +from .heat_two_port import HeatTwoPort + + +class LowTemperatureATES(HeatTwoPort, BaseAsset): + """ + TODO: This model is still under developement. + A low temperature ates is a underground aquifier in which heat can be stored. + + Like all storage assets we enforce that they must be connected as a demand. The heat to + discharge constraints are set in the HeatPhysicsMixin, where we use a big_m formulation to + enforce the correct constraints depending on whether the ates is charging or discharging. + + Please note that: + The user is responsible to implement the cyclic behaviour in their workflow constraints. + Meaning that the milp stored at the 1st and last time step should be equal. Furthermore, due + to the implicit solving note that the energy out of the ATES should be 0 for the 1st time step. + """ + + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + + self.component_type = "low_temperature_ates" + + self.Q_nominal = 1.0 + self.T_amb = 10 + self.T_supply = nan + self.T_return = nan + self.T_supply_id = -1 + self.T_return_id = -1 + self.dT = self.T_supply - self.T_return + self.cp = 4200.0 + self.rho = 988.0 + self.Heat_nominal = self.cp * self.rho * self.dT * self.Q_nominal + self.nominal_pressure = 16.0e5 + self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop + self.pump_efficiency = 0.5 + + self.heat_loss_coeff = 0.005 / (24.0 * 3600.0) + self.single_doublet_power = nan + self.nr_of_doublets = 1.0 + # The hot/cold tank can have a lower bound on its volume. + # Meaning that they might always be, for e.g., 5% full. + self.min_fraction_tank_volume = 0.05 + + # Stored_heat is the heat that is contained in the ates. + # Heat_low_temperature_ates is the amount of heat added to or extracted from the buffer + # per timestep. + # Thus Heat_buffer = HeatHot = der(Stored_heat). + # We connect an ATES as an demand, meaning that flow and Heat_low_temperature_ates are + # positive undercharging and negative under discharge + self.add_variable(Variable, "Heat_low_temperature_ates", nominal=self.Heat_nominal) + self.add_variable(Variable, "Heat_flow", nominal=self.Heat_nominal) + # Assume the storage fills in about 3 months at typical rate + self._typical_fill_time = 3600.0 * 24.0 * 90.0 + self._nominal_stored_heat = self.Heat_nominal * self._typical_fill_time + self.add_variable( + Variable, + "Stored_heat", + min=0.0, + nominal=self._nominal_stored_heat, + ) + self.add_variable( + Variable, + "Stored_volume", + min=0.0, + nominal=self._typical_fill_time * self.Q_nominal, + ) + self.add_variable(Variable, "Q", nominal=self.Q_nominal) + self.add_variable( + Variable, "Pump_power", min=0.0, nominal=self.Q_nominal * self.nominal_pressure + ) + + self._heat_loss_error_to_state_factor = 1 + self._nominal_heat_loss = ( + self.Stored_heat.nominal * self.heat_loss_coeff * self._heat_loss_error_to_state_factor + ) + self.add_variable(Variable, "Heat_loss", min=0.0, nominal=self._nominal_heat_loss) + + self._heat_loss_eq_nominal_ates = (self.Heat_nominal * self._nominal_heat_loss) ** 0.5 + + self.add_equation(self.HeatIn.Q - self.HeatOut.Q) + self.add_equation(self.Q - self.HeatOut.Q) + + # # Heat stored in the ates + self.add_equation( + (self.der(self.Stored_heat) - self.Heat_low_temperature_ates + self.Heat_loss) + / self._heat_loss_eq_nominal_ates + ) + self.add_equation((self.der(self.Stored_volume) - self.Q) / self.Q_nominal) + + self.add_equation( + (self.HeatIn.Heat - (self.HeatOut.Heat + self.Heat_low_temperature_ates)) + / self.Heat_nominal + ) + self.add_equation((self.Heat_flow - self.Heat_low_temperature_ates) / self.Heat_nominal) diff --git a/src/mesido/pycml/component_library/milp/heat/node.py b/src/mesido/pycml/component_library/milp/heat/node.py index 7ff75d71c..1c767077f 100644 --- a/src/mesido/pycml/component_library/milp/heat/node.py +++ b/src/mesido/pycml/component_library/milp/heat/node.py @@ -8,8 +8,8 @@ class Node(HeatComponent, BaseAsset): """ A node is the only component in the network that allows to model 3 or more flows to come together. This essentially means that only pipes can be connected to ports and that it models - junctions where multiple pipes come together. The node ensures that the milp on all ports is - equal. Furthermore, it ensures that discharge and milp are conserved for which constraints in + junctions where multiple pipes come together. The node ensures that the heat on all ports is + equal. Furthermore, it ensures that discharge and heat are conserved for which constraints in the HeatMixin are set. """ @@ -25,7 +25,7 @@ def __init__(self, name, **modifiers): self.add_variable(Variable, "H") # Because the orientation of the connected pipes are important to - # setup the milp conservation, these constraints are added in the + # setup the heat conservation, these constraints are added in the # mixin. for i in range(1, self.n + 1): diff --git a/tests/models/wko/input/timeseries.csv b/tests/models/wko/input/timeseries.csv new file mode 100644 index 000000000..680e238b1 --- /dev/null +++ b/tests/models/wko/input/timeseries.csv @@ -0,0 +1,9 @@ +DateTime,HeatingDemand_9b90,CoolingDemand_15e8 +01-01-2019 00:00, 50000., 150000. +01-01-2019 01:00, 100000., 150000. +01-01-2019 02:00, 100000., 150000. +01-01-2019 03:00, 100000., 0. +01-01-2019 04:00, 150000., 0. +01-01-2019 05:00, 150000., 0. +01-01-2019 06:00, 150000., 0. + diff --git a/tests/models/wko/model/LT_wko.esdl b/tests/models/wko/model/LT_wko.esdl new file mode 100644 index 000000000..200fdb7c6 --- /dev/null +++ b/tests/models/wko/model/LT_wko.esdl @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py new file mode 100644 index 000000000..2de7171d2 --- /dev/null +++ b/tests/models/wko/src/example.py @@ -0,0 +1,228 @@ +import casadi as ca + +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin + +import numpy as np + +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.optimization.goal_programming_mixin_base import Goal +from rtctools.optimization.linearized_order_goal_programming_mixin import ( + LinearizedOrderGoalProgrammingMixin, +) +from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin +from rtctools.optimization.timeseries import Timeseries +from rtctools.util import run_optimization_problem + + +class TargetDemandGoal(Goal): + """ + Goal class for matching a timeseries of values, we use it to match the time series of a demand + profile. We use order 2 to match the profile at every time-step. We set the target in the + constructor and function() method will return the state which should match the target. + """ + + priority = 1 + + order = 2 + + def __init__(self, state: str, target: Timeseries): + """ + The constructor for the class where we pass the name of the state that should be matched to + the target. + + Parameters + ---------- + state : string for the name of the state. + target : Timeseries to match with the state. + """ + self.state = state + + self.target_min = target + self.target_max = target + self.function_range = (-2.0 * max(target.values), 2.0 * max(target.values)) + self.function_nominal = ( + np.median(target.values) if np.median(target.values) else max(abs(target.values)) / 2.0 + ) + + def function( + self, optimization_problem: CollocatedIntegratedOptimizationProblem, ensemble_member: int + ) -> ca.MX: + """ + This function returns the state to which will be tried to match to the target. + + Parameters + ---------- + optimization_problem : The optimization class containing the variables' + ensemble_member : the ensemble member + + Returns + ------- + The optimization problem state, the Heat_demand, which should be matched to the time-series + """ + return optimization_problem.state(self.state) + + +class MinimizeSourcesHeatGoal(Goal): + """ + A minimization goal for source milp production. We use order 1 here as we want to minimize milp + over the full horizon and not per time-step. + """ + + priority = 3 + + order = 1 + + def __init__(self, source: str): + """ + The constructor of the goal. + + Parameters + ---------- + source : string of the source name that is going to be minimized + """ + self.source = source + + def function( + self, optimization_problem: CollocatedIntegratedOptimizationProblem, ensemble_member: int + ) -> ca.MX: + """ + This function returns the state variable to which should to be matched to the target + specified in the __init__. + + Parameters + ---------- + optimization_problem : The optimization class containing the variables'. + ensemble_member : the ensemble member. + + Returns + ------- + The Heat_source state of the optimization problem. + """ + return optimization_problem.state(f"{self.source}.Heat_source") + + +class _GoalsAndOptions: + """ + A goals class that we often use if we specify multiple problem classes. + """ + + def path_goals(self): + """ + In this method we add the goals for matching the demand. + + Returns + ------- + The appended goals list of goals + """ + goals = super().path_goals().copy() + + for demand in self.energy_system_components.get("heat_demand", []): + target = self.get_timeseries(f"{demand}.target_heat_demand") + state = f"{demand}.Heat_demand" + + goals.append(TargetDemandGoal(state, target)) + + for demand in self.energy_system_components.get("cold_demand", []): + target = self.get_timeseries(f"{demand}.target_cold_demand") + state = f"{demand}.Cold_demand" + + goals.append(TargetDemandGoal(state, target)) + + return goals + + +class HeatProblem( + _GoalsAndOptions, + TechnoEconomicMixin, + LinearizedOrderGoalProgrammingMixin, + SinglePassGoalProgrammingMixin, + ESDLMixin, + CollocatedIntegratedOptimizationProblem, +): + """ + This problem class is for the absolute milp tests. Meaning that this problem class + is applied to an esdl where there is no dedicated supply or return line. For this test case + we just match heating demand (_GoalsAndOptions) and minimize the energy production to have a + representative result. + """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.heat_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS + self.heat_network_settings["minimum_velocity"] = 0.0 + + def path_goals(self): + """ + This function adds the minimization goal for minimizing the milp production. + + Returns + ------- + The appended list of goals + """ + goals = super().path_goals().copy() + + for s in self.energy_system_components["heat_source"]: + goals.append(MinimizeSourcesHeatGoal(s)) + + return goals + + def solver_options(self): + """ + This function does not add anything at the moment but during debugging we use this. + + Returns + ------- + solver options dict + """ + options = super().solver_options() + options["solver"] = "highs" + return options + + def constraints(self, ensemble_member): + constraints = super().constraints(ensemble_member) + + for a in self.energy_system_components.get("ates", []): + stored_heat = self.state_vector(f"{a}.Stored_heat") + constraints.append((stored_heat[0], 0.0, 0.0)) + + return constraints + + def energy_system_options(self): + """ + This function does not add anything at the moment but during debugging we use this. + + Returns + ------- + Options dict for the physics modelling + """ + options = super().energy_system_options() + options["neglect_pipe_heat_losses"] = False + options["heat_loss_disconnected_pipe"] = False + + return options + + +if __name__ == "__main__": + elect = run_optimization_problem( + HeatProblem, + esdl_file_name="LT_wko.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + results = elect.extract_results() + print(results["CoolingDemand_15e8.Cold_demand"]) + print(results["HeatingDemand_9b90.Heat_demand"]) + print(results["HeatPump_b97e.Heat_source"]) + print(results["ATES_226d.Heat_low_temperature_ates"]) + for p in elect.energy_system_components.get("heat_pipe", []): + print(p, results[f"{p}__hn_heat_loss"]) + print(p, elect.bounds()[f"{p}__hn_heat_loss"]) + + a = 1 diff --git a/tests/test_absolute_heat.py b/tests/test_absolute_heat.py index 457c64a0d..a8a75de9d 100644 --- a/tests/test_absolute_heat.py +++ b/tests/test_absolute_heat.py @@ -19,7 +19,7 @@ def test_absolute_heat(self): Checks: 1. demand is matched 2. energy conservation in the network - 3. milp to discharge + 3. heat to discharge """ import models.absolute_heat.src.example as example diff --git a/tests/test_asset_is_realized.py b/tests/test_asset_is_realized.py index f4d4f6c79..8d16cd3b0 100644 --- a/tests/test_asset_is_realized.py +++ b/tests/test_asset_is_realized.py @@ -16,7 +16,7 @@ def test_asset_is_realized(self): asset is realized variable. We want the asset only to become available once sufficient investments are made. - In this specific test we optimize to match the milp demand. However, the sources are not + In this specific test we optimize to match the heat demand. However, the sources are not available from the start as the cumulative invesments made at timestep 0 is 0. Furthermore, there is a cap on the investments that can be done per timestep. We expect the optimizer to find a solution that releases the sources as soon as possible in order to match demand diff --git a/tests/test_ates.py b/tests/test_ates.py index c8d6c2034..d9725fffd 100644 --- a/tests/test_ates.py +++ b/tests/test_ates.py @@ -15,11 +15,11 @@ class TestAtes(TestCase): def test_ates(self): """ Checks the constraints concerning the milp to discharge and energy conservation - for the ates. The milp loss model used are tested and the typical cyclic constraint that + for the ates. The heat loss model used are tested and the typical cyclic constraint that will be applied in most use cases. Checks: - - the milp loss is computed as expected (loss coef * stored milp [J]) + - the heat loss is computed as expected (loss coef * stored heat [J]) - checks that the efficiency causes less energy discharged than charged - cyclic storage behaviour - standard energy conservation, etc. diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py new file mode 100644 index 000000000..f7596a0fb --- /dev/null +++ b/tests/test_cold_demand.py @@ -0,0 +1,45 @@ +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + +from rtctools.util import run_optimization_problem + +from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test + + +class TestColdDemand(TestCase): + def test_cold_demand(self): + """ + This test is to check the basic physics for a network which includes cold demand. In this + case we have a network with an air-water hp, a low temperature ates and both hot and cold + demand. In this case the demands are matched and the low temperature ates is utilized. + + Checks: + 1. demand is matched + 2. energy conservation in the network + 3. heat to discharge (note cold line is colder than T_ground) + + """ + import models.wko.src.example as example + from models.wko.src.example import HeatProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + heat_problem = run_optimization_problem( + HeatProblem, + base_folder=base_folder, + esdl_file_name="LT_wko.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + + demand_matching_test(heat_problem, heat_problem.extract_results()) + energy_conservation_test(heat_problem, heat_problem.extract_results()) + heat_to_discharge_test(heat_problem, heat_problem.extract_results()) + + +if __name__ == "__main__": + a = 1 diff --git a/tests/test_end_scenario_sizing_annualized.py b/tests/test_end_scenario_sizing_annualized.py index 92ded3c66..1da591a64 100644 --- a/tests/test_end_scenario_sizing_annualized.py +++ b/tests/test_end_scenario_sizing_annualized.py @@ -13,7 +13,7 @@ class TestEndScenarioSizingAnnualized(TestCase): """ Tests for end scenario sizing with annualized costs in a small network with optional assets. - This class tests two models for a milp network: with + This class tests two models for a heat network: with and without annualized costs. It asserts the following: 1. Under some conditions, the objective value of the annualized model is equal to the solution from the non annualized one. diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 0a8d9aecf..285b67f85 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -17,7 +17,7 @@ class TestHeadLoss(TestCase): """ - Test case for a milp network and a gas network consisting out of a source, pipe(s) and a sink + Test case for a heat network and a gas network consisting out of a source, pipe(s) and a sink """ def test_heat_network_head_loss(self): diff --git a/tests/test_heat.py b/tests/test_heat.py index ed99dc9e8..544b6226c 100644 --- a/tests/test_heat.py +++ b/tests/test_heat.py @@ -18,7 +18,7 @@ def test_heat_loss(self): This is a test to check whether the network (pipes) are dissipating milp as we expect. Checks: - - Check that the produced milp is strictly higher than the consumed milp + - Check that the produced heat is strictly higher than the consumed heat - Check for energy conservation in the network """ @@ -50,11 +50,11 @@ def test_heat_loss(self): def test_zero_heat_loss(self): """ - Check the optimiziation function when the zero milp loss is used. + Check the optimiziation function when the zero heat loss is used. Checks: - Should check that produced equals consumed. - - Should check the milp loss variable being zero + - Should check the heat loss variable being zero """ import models.source_pipe_sink.src.double_pipe_heat as double_pipe_heat @@ -241,7 +241,7 @@ class TestDisconnectablePipe(TestCase): class ModelConnected(SourcePipeSink): # We allow the pipe to be disconnectable. We need to be sure that - # the solution is still feasible (source delivering no milp), so we + # the solution is still feasible (source delivering no heat), so we # lower the lower bound. def parameters(self, ensemble_member): diff --git a/tests/test_insulation.py b/tests/test_insulation.py index 77bcac53a..9a628e809 100644 --- a/tests/test_insulation.py +++ b/tests/test_insulation.py @@ -33,10 +33,10 @@ class TestInsulation(TestCase): 4. Test in which not all LT sources are selected as Tmin of demands is not low enough --> maybe 3 and 4 can be combined --> so forinstance only LT source behind HEX is selected due to insulation of that Heating demand, but other HD can not be insulated far enough for LT - source on the primary network.(e.g. goal, minimise milp loss, does not solve the provided + source on the primary network.(e.g. goal, minimise heat loss, does not solve the provided cases) 5. Test where TCO minimised, combination of investment cost of insulation vs lower Temperature - network, thus lower milp loss (and allowing cheaper LT producers). + network, thus lower heat loss (and allowing cheaper LT producers). #TODO: add test cases 2, 2b, 3, 4 and 5 as detailed above #TODO: maybe we can make COP heatpump dependent on the chosen network temperatures """ @@ -45,16 +45,16 @@ class TestInsulation(TestCase): def test_insulation_heatdemand(self): """ Check that the best insulation class is selected when we optimize for minimal - milp production. + heat production. Checks: - That the correct insulation class is selected - Check that the other insulation classes are not selected - - Check that there is sufficient milp. + - Check that there is sufficient heat. - Check that the profile that is matched is as expected Missing: - - Energy conservation and milp to discharge (replace current check of sufficient milp) + - Energy conservation and heat to discharge (replace current check of sufficient heat) """ import models.insulation.src.run_insulation as run_insulation @@ -98,7 +98,7 @@ def test_insulation_heatdemand(self): other_demand_insulation_class, err_msg="Insulation B or C should not be selected for any demand", ) - # Check that the milp sources (not connected to HP) + HP secondary > demand + # Check that the heat sources (not connected to HP) + HP secondary > demand tot_src = ( results["ResidualHeatSource_6783.Heat_source"] + results["ResidualHeatSource_4539.Heat_source"] @@ -109,7 +109,7 @@ def test_insulation_heatdemand(self): results["HeatingDemand_f15e.Heat_demand"] + results["HeatingDemand_e6b3.Heat_demand"] ) / 1.0e6 np.testing.assert_array_less( - (tot_dmnd - tot_src), 0.0, err_msg="The milp source is not sufficient" + (tot_dmnd - tot_src), 0.0, err_msg="The heat source is not sufficient" ) # Check that the demand load achieved == (base demand load * insulation level scaling # factor. Insulation level "A" should be active, which is index=0 in the insulation_levels diff --git a/tests/test_max_size_and_optional_assets.py b/tests/test_max_size_and_optional_assets.py index 362579c3e..e6d0b4941 100644 --- a/tests/test_max_size_and_optional_assets.py +++ b/tests/test_max_size_and_optional_assets.py @@ -25,7 +25,7 @@ def test_max_size_and_aggr_count(self): source will be placed due to the minimization of the cost (which cost is this?, I assume operational cost) and installation cost. The placement behaviour is further tested in a second case by adding an optional ates and buffer. However, these 2 additional optional - assets should not be placed by the optmizer because of milp losses. + assets should not be placed by the optmizer because of heat losses. Checks: - Check that source 1 is utilized and also placed @@ -94,7 +94,7 @@ def test_max_size_and_aggr_count(self): ) # Test that cost only exist for 2 and not for 1. Note the tolerances - # to avoid test failing when milp losses slightly change + # to avoid test failing when heat losses slightly change np.testing.assert_allclose(var_cost_1, 0.0, atol=1e-9) np.testing.assert_allclose( var_cost_2, @@ -123,7 +123,7 @@ def test_max_size_and_aggr_count(self): rtol=1.0e-2, ) - # Since the buffer and ates are not optional they must consume some milp to compensate + # Since the buffer and ates are not optional they must consume some heat to compensate # losses as the buffer has a minimum fraction volume of 5%. # Therefore, we can check the max_size constraint. np.testing.assert_allclose( @@ -143,7 +143,7 @@ def test_max_size_and_aggr_count(self): base_folder = Path(run_ates.__file__).resolve().parent.parent # This is the same problem, but now with the buffer and ates also optional. - # Therefore, we expect that the ates and buffer are no longer placed to avoid their milp + # Therefore, we expect that the ates and buffer are no longer placed to avoid their heat # losses. This allows us to check if their placement constraints are proper. solution = run_optimization_problem( HeatProblem, diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index 7f8a43014..97df6a5bc 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -14,18 +14,18 @@ class TestMultiCommodityHeatPump(TestCase): """Test to verify that the optimisation problem can handle multicommodity problems, relating - electricity and milp""" + electricity and heat""" def test_heat_pump_elec_min_heat(self): """ Verify that the minimisation of the heat_source used, and thus the optimization should - exploit the heatpump as much as possible, and minimum use of milp source at secondary + exploit the heatpump as much as possible, and minimum use of heat source at secondary side. Checks: - - Standard checks for demand matching, milp to discharge and energy conservation + - Standard checks for demand matching, heat to discharge and energy conservation - Checks for sufficient production - - Checks for milp pump energy conservation and COP modelling + - Checks for heat pump energy conservation and COP modelling - Checks for Power = I * V at the heatpump """ @@ -88,14 +88,14 @@ def test_heat_pump_elec_min_heat_curr_limit(self): """ Verify the minimization of the heat_source used. However, due to limitations in the electricity transport through the cables, the power to the heatpump is limited. This in - turn limits the milp produced by the heatpump which is then not sufficient for the total - heating demand, resulting in milp production by the secondary heatsource (milp produced by + turn limits the heat produced by the heatpump which is then not sufficient for the total + heating demand, resulting in heat production by the secondary heatsource (heat produced by this asset is not 0). Checks: - - Standard checks for demand matching, milp to discharge and energy conservation + - Standard checks for demand matching, heat to discharge and energy conservation - Checks for sufficient production - - Checks for milp pump energy conservation and COP modelling + - Checks for heat pump energy conservation and COP modelling - Checks for Power = I * V at the heatpump """ @@ -160,12 +160,12 @@ def test_heat_pump_elec_min_heat_curr_limit(self): def test_heat_pump_elec_min_elec(self): """ Verify that minimisation of the electricity power used, and thus - exploiting the heatpump only for milp that cannot directly be covered by other sources. + exploiting the heatpump only for heat that cannot directly be covered by other sources. Checks: - - Standard checks for demand matching, milp to discharge and energy conservation + - Standard checks for demand matching, heat to discharge and energy conservation - Checks for sufficient production - - Checks for milp pump energy conservation and COP modelling + - Checks for heat pump energy conservation and COP modelling - Checks for Power = I * V at the heatpump """ diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 0853996a8..95d9a605a 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -14,15 +14,15 @@ class TestHEX(TestCase): def test_heat_exchanger(self): """ - Check the modelling of the milp exchanger component which allows two hydraulically - decoupled networks to exchange milp with each other. It is enforced that milp can only flow - from the primary side to the secondary side, and milp exchangers are allowed to be disabled + Check the modelling of the heat exchanger component which allows two hydraulically + decoupled networks to exchange heat with each other. It is enforced that heat can only flow + from the primary side to the secondary side, and heat exchangers are allowed to be disabled for timesteps in which they are not used. This is to allow for the temperature constraints (T_primary > T_secondary) to become deactivated. Checks: - - Standard checks for demand matching, milp to discharge and energy conservation - - That the efficiency is correclty implemented for milp from primary to secondary + - Standard checks for demand matching, heat to discharge and energy conservation + - That the efficiency is correclty implemented for heat from primary to secondary - Check that the is_disabled is set correctly. - Check if the temperatures provided are physically feasible. @@ -90,7 +90,7 @@ def energy_system_options(self): np.testing.assert_allclose(prim_heat[-1], 0.0, atol=1e-5) np.testing.assert_allclose(disabled[-1], 1.0) np.testing.assert_allclose(disabled[:-1], 0.0) - # Check that milp is flowing through the hex + # Check that heat is flowing through the hex np.testing.assert_array_less(-prim_heat[:-1], 0.0) np.testing.assert_array_less( @@ -106,13 +106,13 @@ def energy_system_options(self): class TestHP(TestCase): def test_heat_pump(self): """ - Check the modelling of the milp pump component which has a constant COP with no energy loss. + Check the modelling of the heat pump component which has a constant COP with no energy loss. In this specific problem we expect the use of the secondary source to be maximised as - electrical milp from the HP is "free". + electrical heat from the HP is "free". Checks: - - Standard checks for demand matching, milp to discharge and energy conservation - - Check that the milp pump is producing according to its COP + - Standard checks for demand matching, heat to discharge and energy conservation + - Check that the heat pump is producing according to its COP - Check that Secondary source use in minimized diff --git a/tests/test_network_simulator.py b/tests/test_network_simulator.py index 110edec02..e184dd6cd 100644 --- a/tests/test_network_simulator.py +++ b/tests/test_network_simulator.py @@ -14,15 +14,15 @@ class TestNetworkSimulator(TestCase): """ - In this test case 2 milp producers and an ATES is used to supply 3 heating demands. A merit + In this test case 2 heat producers and an ATES is used to supply 3 heating demands. A merit order (preference of 1st use) is given to the producers: Producer_1 = 2 and Producer_2 = 1. Checks: - - General checks namely demand matching, energy conservation and asset milp variable vs - calculated milp (based on flow rate) - - Check that producer 1 (merit oder = 2) is only used for the supply of milp lossed in the + - General checks namely demand matching, energy conservation and asset heat variable vs + calculated heat (based on flow rate) + - Check that producer 1 (merit oder = 2) is only used for the supply of heat lossed in the connected and is does not contribute to the heating demands 1, 2 and 3 - - Check that the ATES is not delivering any milp to the network during the 1st time step + - Check that the ATES is not delivering any heat to the network during the 1st time step """ def test_network_simulator(self): @@ -54,7 +54,7 @@ def test_network_simulator(self): 0.0, err_msg="Heat producer 1 should be completely disabled " ", due to producer 2 being sufficient for " - "the total milp demand (incl. milp losses) and it has the 1st priority for usage", + "the total heat demand (incl. heat losses) and it has the 1st priority for usage", rtol=1.0e-3, atol=1.0e-3, ) @@ -62,7 +62,7 @@ def test_network_simulator(self): np.testing.assert_array_less( results["ATES_033c.Heat_ates"][0], 0.0, - err_msg="ATES should not be delivering milp to the network in the 1st time step", + err_msg="ATES should not be delivering heat to the network in the 1st time step", ) diff --git a/tests/test_pipe_diameter_sizing.py b/tests/test_pipe_diameter_sizing.py index 08bcb1cf3..6a9bd68a5 100644 --- a/tests/test_pipe_diameter_sizing.py +++ b/tests/test_pipe_diameter_sizing.py @@ -22,7 +22,7 @@ def test_half_network_gone(self): the left source and the associated left pipes. Checks: - - Standard checks for demand matching, milp to discharge and energy conservation + - Standard checks for demand matching, heat to discharge and energy conservation - That expected pipes are removed - Check that the Q is under the max for the selected pipe class. - Check that head losses are as expected for the selected diameter diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index a2ac921ce..c23ae2f90 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -17,7 +17,7 @@ class TestProducerMaxProfile(TestCase): (reducing the profile value at a few time steps). Checks: - - Standard checks demand matching, energy conservation and milp to discharge + - Standard checks demand matching, energy conservation and heat to discharge - check that heat_source <= scaled_profile * size_source. """ @@ -50,6 +50,6 @@ def test_max_producer_profile(self): ).values heat_producer_profile_full = heat_producer_profile_scaled * size_producer - # check that milp produced is smaller than the profile + # check that heat produced is smaller than the profile biggerthen = all(heat_producer_profile_full + tol >= heat_producer) self.assertTrue(biggerthen) diff --git a/tests/test_setpoint_constraints.py b/tests/test_setpoint_constraints.py index 2d793074e..2afe8aa4d 100644 --- a/tests/test_setpoint_constraints.py +++ b/tests/test_setpoint_constraints.py @@ -99,8 +99,8 @@ def test_setpoint_constraints(self): def test_run_small_ates_timed_setpoints_2_changes(self): """ Run the small network with ATES and check that the setpoint changes as specified. - The milp source for producer_1 changes 8 times (consecutively) when no timed_setpoints are - specified. The 1 year milp demand profiles contains demand values: hourly (peak day), weekly + The heat source for producer_1 changes 8 times (consecutively) when no timed_setpoints are + specified. The 1 year heat demand profiles contains demand values: hourly (peak day), weekly (every 5days/120hours/432000s) and 1 time step of 4days (96hours/345600s, step before the start of the peak day). Now check that the time_setpoints can limit the setpoint changes to 2 changes/year. @@ -135,8 +135,8 @@ def test_run_small_ates_timed_setpoints_2_changes(self): def test_run_small_ates_timed_setpoints_0_changes(self): """ Run the small network with ATES and check that the setpoint changes as specified. - The milp source for producer_1 changes 8 times (consecutively) when no timed_setpoints are - specified. The 1 year milp demand profiles contains demand values: hourly (peak day), weekly + The heat source for producer_1 changes 8 times (consecutively) when no timed_setpoints are + specified. The 1 year heat demand profiles contains demand values: hourly (peak day), weekly (every 5days/120hours/432000s) and 1 time step of 4days (96hours/345600s, step before the start of the peak day). Now check that the time_setpoints can limit the setpoint changes to 0 changes/year. @@ -169,8 +169,8 @@ def test_run_small_ates_timed_setpoints_0_changes(self): def test_run_small_ates_timed_setpoints_multiple_constraints(self): """ Run the small network with ATES and check that the setpoint changes as specified. - The milp source for producer_1 changes 8 times (consecutively) when no timed_setpoints are - specified. The 1 year milp demand profiles contains demand values: hourly (peak day), weekly + The heat source for producer_1 changes 8 times (consecutively) when no timed_setpoints are + specified. The 1 year heat demand profiles contains demand values: hourly (peak day), weekly (every 5days/120hours/432000s) and 1 time step of 4days (96hours/345600s, step before the start of the peak day). Now check that the time_setpoints can limit the setpoint changes to 1 changes over multiple window sizes. diff --git a/tests/test_topo_constraints.py b/tests/test_topo_constraints.py index 1ca38dacf..691626d1b 100644 --- a/tests/test_topo_constraints.py +++ b/tests/test_topo_constraints.py @@ -175,15 +175,15 @@ class ordering variables are there to help the optimizer in seeing the relation np.testing.assert_almost_equal( heat_loss_ordering_var, 0.0, - err_msg=f"expected the milp loss order var for {p} and {pc=} to be 0.0, " - f"since {chosen_pc=} with higher milp losses", + err_msg=f"expected the heat loss order var for {p} and {pc=} to be 0.0, " + f"since {chosen_pc=} with higher heat losses", ) elif pc_heat_loss > chosen_pc_heat_loss: np.testing.assert_almost_equal( discharge_ordering_var, 1.0, - err_msg=f"Expected the milp loss order var for {p} and {pc=} to be 1.0, " - f"since {chosen_pc=} with lower milp losses", + err_msg=f"Expected the heat loss order var for {p} and {pc=} to be 1.0, " + f"since {chosen_pc=} with lower heat losses", ) for pc_name, total_count in pc_sums.items(): @@ -254,7 +254,7 @@ def get_chosen_pipe_class(self, pipe: str, pipe_class_vars: Dict[str, np.ndarray def get_heat_losses(self, pipe: str, pipe_class: PipeClass): """ - This function computes the expected milp loss for a pipe class. + This function computes the expected heat loss for a pipe class. Parameters ---------- @@ -263,7 +263,7 @@ def get_heat_losses(self, pipe: str, pipe_class: PipeClass): Returns ------- - Pipe milp loss value. + Pipe heat loss value. """ return pipe_heat_loss( self.problem, diff --git a/tests/test_varying_temperature.py b/tests/test_varying_temperature.py index 36472737f..f842cabc0 100644 --- a/tests/test_varying_temperature.py +++ b/tests/test_varying_temperature.py @@ -17,15 +17,15 @@ def test_1a_temperature_variation(self): """ This test is to check if the varying network temperature works as expected on a simple network. We give it temperature options such that it should select a minimum delta T to be - able to meet the milp demands. It is known which network temperatures should be selected + able to meet the heat demands. It is known which network temperatures should be selected based on the specified input values. Checks: - - Standard checks for demand matching, milp to discharge and energy conservation + - Standard checks for demand matching, heat to discharge and energy conservation - Check expected supply temperature - Check expected return temperature - Check on integer variable for selected temperature. - - Check if the milp losses are correct for the selected temperature + - Check if the heat losses are correct for the selected temperature """ import models.unit_cases.case_1a.src.run_1a as run_1a @@ -83,13 +83,13 @@ def test_1a_temperature_variation(self): def test_3a_temperature_variation_supply(self): """ Check varying temperature behoviour for network with storage (tank). In this case we - Minimise the produced milp and thus we expect the lowest temperature to be selected. + Minimise the produced heat and thus we expect the lowest temperature to be selected. Checks: - - Standard checks for demand matching, milp to discharge and energy conservation. + - Standard checks for demand matching, heat to discharge and energy conservation. - Check if the expected temperature is selected and if temperature variable is set correctly. - - Check if the milp losses are correct for the selected temperature + - Check if the heat losses are correct for the selected temperature """ import models.unit_cases.case_3a.src.run_3a as run_3a @@ -110,11 +110,11 @@ def test_3a_temperature_variation_supply(self): test.assertTrue(heat_problem.solver_stats["success"], msg="Optimisation did not succeed") # optimization with two choices in supply temp 80 and 120 deg - # lowest temperature should be selected because of lower milp losses and - # milp production minimization goal + # lowest temperature should be selected because of lower heat losses and + # heat production minimization goal results = heat_problem.extract_results() - # Check whehter the milp demand is matched + # Check whehter the heat demand is matched for d in heat_problem.energy_system_components.get("heat_demand", []): target = heat_problem.get_timeseries(f"{d}.target_heat_demand").values[ : len(heat_problem.times()) @@ -158,10 +158,10 @@ def test_3a_temperature_variation_return(self): to maximise the detla T. Checks: - - Standard checks for demand matching, milp to discharge and energy conservation. + - Standard checks for demand matching, heat to discharge and energy conservation. - Check if the expected temperature is selected and if temperature variable is set correctly. - - Check if the milp losses are correct for the selected temperature + - Check if the heat losses are correct for the selected temperature """ import models.unit_cases.case_3a.src.run_3a as run_3a @@ -218,13 +218,13 @@ def test_3a_temperature_variation_return(self): def test_hex_temperature_variation(self): """ - This test is to check whether the milp exchanger behaves as expected when optimized under + This test is to check whether the heat exchanger behaves as expected when optimized under varying network temperature. This is of special interest as we want to ensure the temperatures stay physically feasible, therefore we create a problem where the lowest available supply T is infeasible. Checks: - - Standard checks for demand matching, milp to discharge and energy conservation. + - Standard checks for demand matching, heat to discharge and energy conservation. - Check that the infeasible temperature is not selected. """ @@ -285,12 +285,12 @@ def test_hex_temperature_variation(self): def test_hex_temperature_variation_disablehex(self): """ - This test is to check if the optimizer disables the milp exchanger when only infeasible + This test is to check if the optimizer disables the heat exchanger when only infeasible temperature option are provided to it. Checks: - - Standard checks for demand matching, milp to discharge and energy conservation. - - Infeasible T for milp exchanger is selected. + - Standard checks for demand matching, heat to discharge and energy conservation. + - Infeasible T for heat exchanger is selected. - Heat exchanger is disabled. """ @@ -312,7 +312,7 @@ def test_hex_temperature_variation_disablehex(self): test.assertTrue(heat_problem.solver_stats["success"], msg="Optimisation did not succeed") # optimization with only one option in temperature which is infeasible for the hex. - # therefore optimization should disable the milp exchanger + # therefore optimization should disable the heat exchanger results = heat_problem.extract_results() # Check that the problem has an infeasible temperature for the hex @@ -327,12 +327,12 @@ def test_hex_temperature_variation_disablehex(self): def test_hex_temperature_variation_secondary(self): """ - Check to see the functioning of the varying network temperature with a milp exchanger where + Check to see the functioning of the varying network temperature with a heat exchanger where all options are feasible and we expect it to take the most advantageous one, which in this case is the lowest one. Checks: - - Standard checks for demand matching, milp to discharge and energy conservation. + - Standard checks for demand matching, heat to discharge and energy conservation. - Check that lowest temperature is selected and set correctly. """ @@ -354,8 +354,8 @@ def test_hex_temperature_variation_secondary(self): test.assertTrue(heat_problem.solver_stats["success"], msg="Optimisation did not succeed") # optimization with two choices in secondary supply temp 70 and 90 deg - # lowest temperature should be selected because of milp minimization and lower T has - # lower milp loss. + # lowest temperature should be selected because of heat minimization and lower T has + # lower heat loss. results = heat_problem.extract_results() # Check that the lowest temperature (70.0) is the outputted temperature diff --git a/tests/test_warmingup_unit_cases.py b/tests/test_warmingup_unit_cases.py index c9744cb04..1ba27c43b 100644 --- a/tests/test_warmingup_unit_cases.py +++ b/tests/test_warmingup_unit_cases.py @@ -21,7 +21,7 @@ def test_1a(self): - Demand matching - Energy conservation - Heat to discharge - - Checks for conservation of flow and milp at the node + - Checks for conservation of flow and heat at the node - Check for equal head at all node connections - Checks that the minimum pressure-drop constraints at the demand are satisfied - Check that Heat_demand & Heat_source are set correctly and are linked to the Heat_flow @@ -129,8 +129,8 @@ def test_3a(self): direction for the pipe connected to the buffer tank) - Check that the Heat_buffer & Heat_flow variable are set correctly - Check that the history for the buffer is set correctly at t=0 - - Check that the milp loss is positive and as expected - - Check that the Stored milp is the sum of (dis)charge and losses + - Check that the heat loss is positive and as expected + - Check that the Stored heat is the sum of (dis)charge and losses """ import models.unit_cases.case_3a.src.run_3a as run_3a @@ -171,7 +171,7 @@ def test_3a(self): results[f"{buffer}.HeatIn.Heat"] - results[f"{buffer}.HeatOut.Heat"], results[f"{buffer}.Heat_buffer"], ) - # buffer should have positive milp loss + # buffer should have positive heat loss assert parameters[f"{buffer}.heat_loss_coeff"] > 0.0 np.testing.assert_allclose( results[f"{buffer}.Stored_heat"] * parameters[f"{buffer}.heat_loss_coeff"], diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 0dcf283cc..4abbb9b9f 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -13,6 +13,13 @@ def demand_matching_test(solution, results): len_times = len(solution.get_timeseries(f"{d}.target_heat_demand").values) target = solution.get_timeseries(f"{d}.target_heat_demand").values[0:len_times] np.testing.assert_allclose(target, results[f"{d}.Heat_demand"], atol=1.0e-3, rtol=1.0e-6) + for d in solution.energy_system_components.get("cold_demand", []): + if len(solution.times()) > 0: + len_times = len(solution.times()) + else: + len_times = len(solution.get_timeseries(f"{d}.target_cold_demand").values) + target = solution.get_timeseries(f"{d}.target_cold_demand").values[0:len_times] + np.testing.assert_allclose(target, results[f"{d}.Cold_demand"], atol=1.0e-3, rtol=1.0e-6) def _get_component_temperatures(solution, results, component, side=None): @@ -96,11 +103,30 @@ def heat_to_discharge_test(solution, results): np.testing.assert_allclose( results[f"{d}.HeatOut.Heat"], results[f"{d}.Q"] * rho * cp * return_t ) - test.assertTrue( - expr=all(results[f"{d}.HeatIn.Heat"] <= results[f"{d}.Q"] * rho * cp * supply_t + tol) + + for d in solution.energy_system_components.get("cold_demand", []): + cp = solution.parameters(0)[f"{d}.cp"] + rho = solution.parameters(0)[f"{d}.rho"] + # return_id = solution.parameters(0)[f"{d}.T_return_id"] + # if f"{return_id}_temperature" in results.keys(): + # return_t = results[f"{return_id}_temperature"] + # else: + # return_t = solution.parameters(0)[f"{d}.T_return"] + # supply_id = solution.parameters(0)[f"{d}.T_supply_id"] + # if f"{supply_id}_temperature" in results.keys(): + # supply_t = results[f"{supply_id}_temperature"] + # else: + # supply_t = solution.parameters(0)[f"{d}.T_supply"] + # dt = supply_t - return_t + # dt = solution.parameters(0)[f"{d}.dT"] + supply_t, return_t, dt = _get_component_temperatures(solution, results, d) + np.testing.assert_allclose( + results[f"{d}.Cold_demand"], + results[f"{d}.HeatOut.Heat"] - results[f"{d}.HeatIn.Heat"], + atol=tol, ) - test.assertTrue( - expr=all(results[f"{d}.Heat_demand"] <= results[f"{d}.Q"] * rho * cp * dt + tol) + np.testing.assert_allclose( + results[f"{d}.HeatOut.Heat"], results[f"{d}.Q"] * rho * cp * supply_t ) for d in solution.energy_system_components.get("heat_source", []): @@ -116,16 +142,10 @@ def heat_to_discharge_test(solution, results): # return_t = solution.parameters(0)[f"{d}.T_return"] supply_t, return_t, dt = _get_component_temperatures(solution, results, d) - test.assertTrue( - expr=all(results[f"{d}.Heat_source"] >= results[f"{d}.Q"] * rho * cp * dt - tol) - ) print(d, max(abs(results[f"{d}.HeatOut.Heat"] - results[f"{d}.Q"] * rho * cp * supply_t))) np.testing.assert_allclose( results[f"{d}.HeatOut.Heat"], results[f"{d}.Q"] * rho * cp * supply_t, atol=tol ) - test.assertTrue( - expr=all(results[f"{d}.HeatIn.Heat"] <= results[f"{d}.Q"] * rho * cp * return_t + tol) - ) for d in [ *solution.energy_system_components.get("ates", []), @@ -234,9 +254,15 @@ def heat_to_discharge_test(solution, results): carrier_id = solution.parameters(0)[f"{p}.carrier_id"] indices = results[f"{p}.Q"] > 0 if f"{carrier_id}_temperature" in results.keys(): - temperature = results[f"{carrier_id}_temperature"][indices] + temperature = np.clip( + results[f"{carrier_id}_temperature"][indices], + solution.parameters(0)[f"{p}.T_ground"], + np.inf, + ) else: - temperature = solution.parameters(0)[f"{p}.temperature"] + temperature = max( + solution.parameters(0)[f"{p}.temperature"], solution.parameters(0)[f"{p}.T_ground"] + ) test.assertTrue( expr=all( results[f"{p}.HeatIn.Heat"][indices] @@ -251,9 +277,15 @@ def heat_to_discharge_test(solution, results): ) indices = results[f"{p}.Q"] < 0 if f"{carrier_id}_temperature" in results.keys(): - temperature = results[f"{carrier_id}_temperature"][indices] + temperature = np.clip( + results[f"{carrier_id}_temperature"][indices], + solution.parameters(0)[f"{p}.T_ground"], + np.inf, + ) else: - temperature = solution.parameters(0)[f"{p}.temperature"] + temperature = max( + solution.parameters(0)[f"{p}.temperature"], solution.parameters(0)[f"{p}.T_ground"] + ) test.assertTrue( expr=all( results[f"{p}.HeatIn.Heat"][indices] @@ -292,6 +324,9 @@ def energy_conservation_test(solution, results): for d in solution.energy_system_components.get("heat_demand", []): energy_sum -= results[f"{d}.Heat_demand"] + for d in solution.energy_system_components.get("cold_demand", []): + energy_sum += results[f"{d}.Cold_demand"] + for d in solution.energy_system_components.get("heat_buffer", []): energy_sum -= results[f"{d}.Heat_buffer"] @@ -301,6 +336,9 @@ def energy_conservation_test(solution, results): for d in solution.energy_system_components.get("ates", []): energy_sum -= results[f"{d}.Heat_ates"] + for d in solution.energy_system_components.get("low_temperature_ates", []): + energy_sum -= results[f"{d}.Heat_low_temperature_ates"] + for d in solution.energy_system_components.get("heat_exchanger", []): energy_sum -= results[f"{d}.Primary_heat"] - results[f"{d}.Secondary_heat"] @@ -308,14 +346,35 @@ def energy_conservation_test(solution, results): energy_sum += results[f"{d}.Power_elec"] for p in solution.energy_system_components.get("heat_pipe", []): - energy_sum -= abs(results[f"{p}.HeatIn.Heat"] - results[f"{p}.HeatOut.Heat"]) - if f"{p}__is_disconnected" in results.keys(): - p_discon = results[f"{p}__is_disconnected"].copy() + if ( + f"{p}__is_disconnected" in results.keys() + or f"{solution.cold_to_hot_pipe(p)}__is_disconnected" in results.keys() + ): + if p in solution.hot_pipes: + p_discon = results[f"{p}__is_disconnected"].copy() + else: + p_discon = results[f"{solution.cold_to_hot_pipe(p)}__is_disconnected"].copy() + p_discon[p_discon < 0.5] = 0 # fix for discrete value sometimes being 0.003 or so. np.testing.assert_allclose( results[f"{p}__hn_heat_loss"] * (1 - p_discon), - abs(results[f"{p}.HeatIn.Heat"] - results[f"{p}.HeatOut.Heat"]), + results[f"{p}.HeatIn.Heat"] - results[f"{p}.HeatOut.Heat"], atol=1e-3, ) + energy_sum -= results[f"{p}__hn_heat_loss"] * (1 - p_discon) + else: + if len(results[f"{p}__hn_heat_loss"]) == 1: + np.testing.assert_allclose( + results[f"{p}__hn_heat_loss"][0], + results[f"{p}.HeatIn.Heat"] - results[f"{p}.HeatOut.Heat"], + atol=1e-3, + ) + else: + np.testing.assert_allclose( + results[f"{p}__hn_heat_loss"], + results[f"{p}.HeatIn.Heat"] - results[f"{p}.HeatOut.Heat"], + atol=1e-3, + ) + energy_sum -= results[f"{p}__hn_heat_loss"] np.testing.assert_allclose(energy_sum, 0.0, atol=1e-2) From e266aeb0e815a104be30dbf83a524fa8b5699f9c Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 8 Apr 2024 17:10:08 +0200 Subject: [PATCH 020/376] Emerge develop (#16) This commit adds the emerge workflow developments. It includes the addition of electric storage and solar pv, together with source profile production bounds. --------- Co-authored-by: Rojer Co-authored-by: moradisepahvandm --- src/mesido/asset_sizing_mixin.py | 34 +++- src/mesido/electricity_physics_mixin.py | 159 +++++++++++++++--- src/mesido/esdl/asset_to_component_base.py | 4 +- src/mesido/esdl/esdl_heat_model.py | 49 +++++- src/mesido/financial_mixin.py | 6 +- .../pycml/component_library/milp/__init__.py | 4 + .../milp/electricity/electricity_storage.py | 47 ++++++ .../milp/electricity/solarpv.py | 8 + .../milp/electricity/windpark.py | 4 - .../emerge/input/timeseries_with_PV.csv | 2 +- tests/models/emerge/model/emerge.esdl | 26 ++- tests/models/emerge/model/emerge_solar.esdl | 112 ++++++++++++ .../emerge/model/emerge_solar_battery.esdl | 132 +++++++++++++++ tests/models/emerge/output/aliases.json | 1 + tests/models/emerge/output/bounds.json | 1 + tests/models/emerge/output/parameters.json | 1 + tests/models/emerge/output/results.json | 1 + tests/models/emerge/src/example.py | 133 +++++++++++++-- tests/test_electrolyzer.py | 2 +- 19 files changed, 674 insertions(+), 52 deletions(-) create mode 100644 src/mesido/pycml/component_library/milp/electricity/electricity_storage.py create mode 100644 src/mesido/pycml/component_library/milp/electricity/solarpv.py create mode 100644 tests/models/emerge/model/emerge_solar.esdl create mode 100644 tests/models/emerge/model/emerge_solar_battery.esdl create mode 100644 tests/models/emerge/output/aliases.json create mode 100644 tests/models/emerge/output/bounds.json create mode 100644 tests/models/emerge/output/parameters.json create mode 100644 tests/models/emerge/output/results.json diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index ac82aa8d5..b1a8182bc 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -883,6 +883,15 @@ def _make_max_size_var(name, lb, ub, nominal): lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) + for asset_name in self.energy_system_components.get("electricity_storage", []): + ub = ( + bounds[f"{asset_name}.Stored_electricity"][1] + if not isinstance(bounds[f"{asset_name}.Stored_electricity"][1], Timeseries) + else np.max(bounds[f"{asset_name}.Stored_electricity"][1].values) + ) + lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) + # Making the __aggregation_count variable for each asset for asset_list in self.energy_system_components.values(): for asset in asset_list: @@ -902,7 +911,7 @@ def energy_system_options(self): Returns a dictionary of milp network specific options. """ - options = {} + options = super().energy_system_options() return options @@ -1764,12 +1773,12 @@ def __electricity_cable_topology_path_constraints(self, ensemble_member): current_sym = self.state(f"{cable}.I") nominal = self.variable_nominal(f"{cable}.I") - max_discharge = self.__electricity_cable_topo_max_current_var[ + max_current_var = self.__electricity_cable_topo_max_current_var[ self._electricity_cable_topo_max_current_map[cable] ] - constraints.append(((max_discharge - current_sym) / nominal, 0.0, np.inf)) - constraints.append(((-max_discharge - current_sym) / nominal, -np.inf, 0.0)) + constraints.append(((max_current_var - current_sym) / nominal, 0.0, np.inf)) + constraints.append(((-max_current_var - current_sym) / nominal, -np.inf, 0.0)) return constraints @@ -1923,6 +1932,23 @@ def __max_size_constraints(self, ensemble_member): ) ) + for d in self.energy_system_components.get("electricity_storage", []): + max_var = self._asset_max_size_map[d] + max_stored_energy = self.extra_variable(max_var, ensemble_member) + electricity_stored = self.__state_vector_scaled( + f"{d}.Stored_electricity", ensemble_member + ) + constraint_nominal = self.variable_nominal(f"{d}.Stored_electricity") + + constraints.append( + ( + (np.ones(len(self.times())) * max_stored_energy - electricity_stored) + / constraint_nominal, + 0.0, + np.inf, + ) + ) + for d in self.energy_system_components.get("electrolyzer", []): max_var = self._asset_max_size_map[d] max_power = self.extra_variable(max_var, ensemble_member) diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 23018bd89..4f405f1ac 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -35,10 +35,19 @@ def __init__(self, *args, **kwargs): self.__asset_is_switched_on_var = {} self.__asset_is_switched_on_bounds = {} - self.__windpark_upper_bounds = {} + self.__electricity_producer_upper_bounds = {} self._electricity_cable_topo_cable_class_map = {} + # Boolean path-variable for the charging of storage assets + self.__storage_charging_var = {} + self.__storage_charging_bounds = {} + self.__storage_charging_map = {} + + self.__set_point_var = {} + self.__set_point_bounds = {} + self.__set_point_map = {} + def energy_system_options(self): r""" Returns a dictionary of milp network specific options. @@ -68,7 +77,7 @@ def pre(self): options = self.energy_system_options() - self.__update_windpark_upper_bounds() + self.__update_electricity_producer_upper_bounds() if options["include_asset_is_switched_on"]: for asset in [ @@ -79,6 +88,19 @@ def pre(self): self.__asset_is_switched_on_var[var_name] = ca.MX.sym(var_name) self.__asset_is_switched_on_bounds[var_name] = (0.0, 1.0) + for asset in [*self.energy_system_components.get("electricity_storage", [])]: + var_name = f"{asset}__is_charging" + self.__storage_charging_map[asset] = var_name + self.__storage_charging_var[var_name] = ca.MX.sym(var_name) + self.__storage_charging_bounds[var_name] = (0.0, 1.0) + + for asset in [*self.energy_system_components.get("electricity_source", [])]: + if isinstance(self.bounds()[f"{asset}.Electricity_source"][1], Timeseries): + var_name = f"{asset}__set_point" + self.__set_point_map[asset] = var_name + self.__set_point_var[var_name] = ca.MX.sym(var_name) + self.__set_point_bounds[var_name] = (0.0, 1.0) + @property def extra_variables(self): """ @@ -99,6 +121,8 @@ def path_variables(self): variables = super().path_variables.copy() variables.extend(self.__asset_is_switched_on_var.values()) + variables.extend(self.__storage_charging_var.values()) + variables.extend(self.__set_point_var.values()) return variables @@ -109,6 +133,8 @@ def variable_is_discrete(self, variable): if variable in self.__asset_is_switched_on_var: return True + if variable in self.__storage_charging_var: + return True else: return super().variable_is_discrete(variable) @@ -127,7 +153,9 @@ def bounds(self): bounds = super().bounds() bounds.update(self.__asset_is_switched_on_bounds) - bounds.update(self.__windpark_upper_bounds) + bounds.update(self.__storage_charging_bounds) + bounds.update(self.__electricity_producer_upper_bounds) + bounds.update(self.__set_point_bounds) return bounds @@ -159,14 +187,17 @@ def __state_vector_scaled(self, variable, ensemble_member): self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign ) - def __update_windpark_upper_bounds(self): + def __update_electricity_producer_upper_bounds(self): t = self.times() - for wp in self.energy_system_components.get("wind_park", []): + for asset in [ + *self.energy_system_components.get("wind_park", []), + *self.energy_system_components.get("solar_pv", []), + ]: lb = Timeseries(t, np.zeros(len(self.times()))) - ub = self.get_timeseries(f"{wp}.maximum_electricity_source") - self.__windpark_upper_bounds[f"{wp}.Electricity_source"] = (lb, ub) + ub = self.get_timeseries(f"{asset}.maximum_electricity_source") + self.__electricity_producer_upper_bounds[f"{asset}.Electricity_source"] = (lb, ub) - def __wind_park_set_point_constraints(self, ensemble_member): + def __electricity_producer_set_point_constraints(self, ensemble_member): """ This function adds constraints for wind parks which generates electrical power. The produced electrical power is capped with a user specified percentage value of the maximum @@ -174,17 +205,21 @@ def __wind_park_set_point_constraints(self, ensemble_member): """ constraints = [] - for wp in self.energy_system_components.get("wind_park", []): - set_point = self.__state_vector_scaled(f"{wp}.Set_point", ensemble_member) - electricity_source = self.__state_vector_scaled( - f"{wp}.Electricity_source", ensemble_member - ) - # TODO: [: len(self.times())] should be removed once the emerge test is properly - # time-sampled. - max = self.bounds()[f"{wp}.Electricity_source"][1].values[: len(self.times())] - nominal = (self.variable_nominal(f"{wp}.Electricity_source") * np.median(max)) ** 0.5 + for asset in [*self.energy_system_components.get("electricity_source", [])]: + if asset in self.__set_point_map.keys(): + var_name = self.__set_point_map[asset] + set_point = self.__state_vector_scaled(var_name, ensemble_member) + electricity_source = self.__state_vector_scaled( + f"{asset}.Electricity_source", ensemble_member + ) + # TODO: [: len(self.times())] should be removed once the emerge test is properly + # time-sampled. + max = self.bounds()[f"{asset}.Electricity_source"][1].values[: len(self.times())] + nominal = ( + self.variable_nominal(f"{asset}.Electricity_source") * np.median(max) + ) ** 0.5 - constraints.append(((set_point * max - electricity_source) / nominal, 0.0, 0.0)) + constraints.append(((set_point * max - electricity_source) / nominal, 0.0, 0.0)) return constraints @@ -388,6 +423,91 @@ def __electricity_demand_path_constraints(self, ensemble_member): return constraints + def __electricity_storage_path_constraints(self, ensemble_member): + """ + This function adds the constraints for the electricity commodity at the storage assets. + When charging the electricity_storage acts as an electrcicity demand and during discharging + it acts as a electricity producer. The constraints are selected using the bigM method using + the boolean for charging and using a charging efficiency during charging. + """ + constraints = [] + parameters = self.parameters(ensemble_member) + + for asset in [ + *self.energy_system_components.get("electricity_storage", []), + ]: + min_voltage = parameters[f"{asset}.min_voltage"] + voltage = self.state(f"{asset}.ElectricityIn.V") + + # when charging act like a demand, when discharging act like a source + # to ensure that voltage is equal or larger than the minimum voltage + constraints.append(((voltage - min_voltage) / min_voltage, 0.0, np.inf)) + + power_nom = self.variable_nominal(f"{asset}.ElectricityIn.Power") + curr_nom = self.variable_nominal(f"{asset}.ElectricityIn.I") + power_in = self.state(f"{asset}.ElectricityIn.Power") + current_in = self.state(f"{asset}.ElectricityIn.I") + + # is_charging is 1 if charging and powerin>0 + big_m = 2 * max(abs(self.bounds()[f"{asset}.ElectricityIn.Power"])) + is_charging = self.state(f"{asset}__is_charging") + constraints.append(((power_in + (1 - is_charging) * big_m) / power_nom, 0.0, np.inf)) + constraints.append(((power_in - is_charging * big_m) / power_nom, -np.inf, 0.0)) + + constraints.append( + ( + (power_in - min_voltage * current_in + (1 - is_charging) * big_m) + / (power_nom * curr_nom * min_voltage) ** 0.5, + 0, + np.inf, + ) + ) + constraints.append( + ( + (power_in - min_voltage * current_in - (1 - is_charging) * big_m) + / (power_nom * curr_nom * min_voltage) ** 0.5, + -np.inf, + 0, + ) + ) + + # power charging using discharge/charge efficiency, needs boolean + eff_power = self.state(f"{asset}.Effective_power_charging") + discharge_eff = parameters[f"{asset}.discharge_efficiency"] + charge_eff = parameters[f"{asset}.charge_efficiency"] + # charging + constraints.append( + ( + (eff_power - charge_eff * power_in + (1 - is_charging) * big_m) / power_nom, + 0, + np.inf, + ) + ) + constraints.append( + ( + (eff_power - charge_eff * power_in - (1 - is_charging) * big_m) / power_nom, + -np.inf, + 0, + ) + ) + # discharging + constraints.append( + ( + (eff_power - discharge_eff * power_in + is_charging * big_m) / power_nom, + 0, + np.inf, + ) + ) + constraints.append( + ( + (eff_power - discharge_eff * power_in - is_charging * big_m) / power_nom, + -np.inf, + 0, + ) + ) + + return constraints + def __get_electrolyzer_gas_mass_flow_out( self, coef_a, coef_b, coef_c, electrical_power_input ) -> float: @@ -555,6 +675,7 @@ def path_constraints(self, ensemble_member): constraints.extend(self.__electricity_cable_mixing_path_constraints(ensemble_member)) constraints.extend(self.__voltage_loss_path_constraints(ensemble_member)) constraints.extend(self.__electrolyzer_path_constaint(ensemble_member)) + constraints.extend(self.__electricity_storage_path_constraints(ensemble_member)) return constraints @@ -567,7 +688,7 @@ def constraints(self, ensemble_member): """ constraints = super().constraints(ensemble_member) - constraints.extend(self.__wind_park_set_point_constraints(ensemble_member)) + constraints.extend(self.__electricity_producer_set_point_constraints(ensemble_member)) return constraints diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 4ebfb05e5..4e9b11273 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -73,11 +73,12 @@ class _AssetToComponentBase: # A map of the esdl assets to the asset types in pycml component_map = { "ATES": "ates", + "Battery": "electricity_storage", + "Bus": "electricity_node", "ElectricityCable": "electricity_cable", "ElectricityDemand": "electricity_demand", "ElectricityProducer": "electricity_source", "Electrolyzer": "electrolyzer", - "Bus": "electricity_node", "GenericConsumer": "heat_demand", "CoolingDemand": "cold_demand", "HeatExchange": "heat_exchanger", @@ -97,6 +98,7 @@ class _AssetToComponentBase: "Joint": "node", "Pipe": "heat_pipe", "Pump": "pump", + "PVInstallation": "electricity_source", "HeatStorage": "heat_buffer", "Sensor": "skip", "Valve": "control_valve", diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 6d26d3295..8bb51ed07 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -20,6 +20,7 @@ ElectricityDemand, ElectricityNode, ElectricitySource, + ElectricityStorage, Electrolyzer, GasDemand, GasNode, @@ -38,6 +39,7 @@ LowTemperatureATES, Node, Pump, + SolarPV, WindPark, ) @@ -1151,7 +1153,7 @@ def convert_electricity_source(self, asset: Asset) -> Tuple[Type[ElectricitySour ------- ElectricitySource class with modifiers """ - assert asset.asset_type in {"ElectricityProducer", "WindPark"} + assert asset.asset_type in {"ElectricityProducer", "WindPark", "PVInstallation"} max_supply = asset.attributes.get( "power", math.inf @@ -1174,6 +1176,51 @@ def convert_electricity_source(self, asset: Asset) -> Tuple[Type[ElectricitySour return ElectricitySource, modifiers if asset.asset_type == "WindPark": return WindPark, modifiers + if asset.asset_type == "PVInstallation": + return SolarPV, modifiers + + def convert_electricity_storage( + self, asset: Asset + ) -> Tuple[Type[ElectricityStorage], MODIFIERS]: + """ + This function converts the ElectricityStorage object in esdl to a set of modifiers that can + be used in a pycml object. Most important: + + - Setting the electrical power caps + + Parameters + ---------- + asset : The asset object with its properties. + + Returns + ------- + ElectricityStorage class with modifiers + """ + assert asset.asset_type in {"Battery"} + + max_capacity = asset.attributes.get("capacity") + i_max, i_nom = self._get_connected_i_nominal_and_max(asset) + v_min = asset.in_ports[0].carrier.voltage + max_charge = asset.attributes.get("maxChargeRate", max_capacity / 3600) + max_discharge = asset.attributes.get("maxDischargeRate", max_capacity / 3600) + discharge_efficiency = asset.attributes.get("dischargeEfficiency", 1) + charge_efficiency = asset.attributes.get("chargeEfficiency", 1) + + modifiers = dict( + charge_efficiency=charge_efficiency, + discharge_efficiency=discharge_efficiency, + min_voltage=v_min, + max_capacity=max_capacity, + Stored_electricity=dict(min=0.0, max=max_capacity), + ElectricityIn=dict( + V=dict(min=v_min, nominal=v_min), + I=dict(min=-i_max, max=i_max, nominal=i_nom), + Power=dict(min=-max_discharge, max=max_charge, nominal=max_charge / 2.0), + ), + **self._get_cost_figure_modifiers(asset), + ) + + return ElectricityStorage, modifiers def convert_electricity_node(self, asset: Asset) -> Tuple[Type[ElectricityNode], MODIFIERS]: """ diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 3464f4758..9cff93123 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -172,12 +172,16 @@ def pre(self): elif asset_name in [*self.energy_system_components.get("electricity_source", [])]: max_power = ( bounds[f"{asset_name}.ElectricityOut.Power"][1] - if isinstance(bounds[f"{asset_name}.ElectricityOut.Power"][1], float) + if (isinstance(bounds[f"{asset_name}.ElectricityOut.Power"][1], float)) else max(bounds[f"{asset_name}.ElectricityOut.Power"][1].values) ) nominal_fixed_operational = max_power nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational + elif asset_name in [*self.energy_system_components.get("electricity_storage", [])]: + nominal_fixed_operational = bounds[f"{asset_name}.Stored_electricity"][1] + nominal_variable_operational = nominal_fixed_operational + nominal_investment = nominal_fixed_operational else: logger.warning( f"Asset {asset_name} has type for which " diff --git a/src/mesido/pycml/component_library/milp/__init__.py b/src/mesido/pycml/component_library/milp/__init__.py index 8e58b9ed4..30dfa8a55 100644 --- a/src/mesido/pycml/component_library/milp/__init__.py +++ b/src/mesido/pycml/component_library/milp/__init__.py @@ -2,7 +2,9 @@ from .electricity.electricity_demand import ElectricityDemand from .electricity.electricity_node import ElectricityNode from .electricity.electricity_source import ElectricitySource +from .electricity.electricity_storage import ElectricityStorage from .electricity.heat_pump_elec import HeatPumpElec +from .electricity.solarpv import SolarPV from .electricity.windpark import WindPark from .gas.gas_demand import GasDemand from .gas.gas_node import GasNode @@ -42,6 +44,7 @@ "ElectricityDemand", "ElectricityNode", "ElectricitySource", + "ElectricityStorage", "Electrolyzer", "GasDemand", "GasNode", @@ -61,5 +64,6 @@ "Node", "Pump", "HeatSource", + "SolarPV", "WindPark", ] diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py b/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py new file mode 100644 index 000000000..f18c39da8 --- /dev/null +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py @@ -0,0 +1,47 @@ +from mesido.pycml import Variable + +from numpy import nan + +from .electricity_base import ElectricityPort +from .._internal import BaseAsset +from .._internal.electricity_component import ElectricityComponent + + +class ElectricityStorage(ElectricityComponent, BaseAsset): + """ + The electricity storage component is used to store electrical power of a network. + The change in stored electrical power should be equal to the electricity entering and leaving + the component multiplied with its efficiency + """ + + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + + self.component_type = "electricity_storage" + + self.max_capacity = nan + self.min_voltage = nan + self.charge_efficiency = 1.0 + self.discharge_efficiency = 1.0 + + self.add_variable(ElectricityPort, "ElectricityIn") + + self._typical_fill_time = 3600.0 + self._nominal_stored_electricity = self.ElectricityIn.Power.max * self._typical_fill_time + self.add_variable( + Variable, + "Stored_electricity", + min=0.0, + max=self.max_capacity, + nominal=self._nominal_stored_electricity, + ) + self.add_variable( + Variable, "Effective_power_charging", nominal=self.ElectricityIn.Power.nominal + ) + + self.add_equation( + ( + (self.der(self.Stored_electricity) - self.Effective_power_charging) + / self.ElectricityIn.Power.nominal + ) + ) diff --git a/src/mesido/pycml/component_library/milp/electricity/solarpv.py b/src/mesido/pycml/component_library/milp/electricity/solarpv.py new file mode 100644 index 000000000..9e889207f --- /dev/null +++ b/src/mesido/pycml/component_library/milp/electricity/solarpv.py @@ -0,0 +1,8 @@ +from .. import ElectricitySource + + +class SolarPV(ElectricitySource): + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + + self.component_subtype = "solar_pv" diff --git a/src/mesido/pycml/component_library/milp/electricity/windpark.py b/src/mesido/pycml/component_library/milp/electricity/windpark.py index 391121651..1aab2f9d4 100644 --- a/src/mesido/pycml/component_library/milp/electricity/windpark.py +++ b/src/mesido/pycml/component_library/milp/electricity/windpark.py @@ -1,5 +1,3 @@ -from mesido.pycml import Variable - from .. import ElectricitySource @@ -8,5 +6,3 @@ def __init__(self, name, **modifiers): super().__init__(name, **modifiers) self.component_subtype = "wind_park" - - self.add_variable(Variable, "Set_point", min=0.0, max=1.0) diff --git a/tests/models/emerge/input/timeseries_with_PV.csv b/tests/models/emerge/input/timeseries_with_PV.csv index e2802377a..478fd3bb9 100644 --- a/tests/models/emerge/input/timeseries_with_PV.csv +++ b/tests/models/emerge/input/timeseries_with_PV.csv @@ -1,4 +1,4 @@ -DateTime,WindPark_9074,Elec,Hydrogen,PVInstallation_a3eb +DateTime,PVInstallation_2bcf,Elec,Hydrogen,PVInstallation_2bcf_unused 2016-01-01Z 00:00:00,0,2.24E-05,2.4,0 2016-01-01Z 01:00:00,0,2.06E-05,2.4,0 2016-01-01Z 02:00:00,0,1.68E-05,2.4,0 diff --git a/tests/models/emerge/model/emerge.esdl b/tests/models/emerge/model/emerge.esdl index c3875acf0..db56768a8 100644 --- a/tests/models/emerge/model/emerge.esdl +++ b/tests/models/emerge/model/emerge.esdl @@ -1,14 +1,19 @@ - + - + - + + + + + + @@ -24,15 +29,30 @@ + + + + + + + + + + + + + + + diff --git a/tests/models/emerge/model/emerge_solar.esdl b/tests/models/emerge/model/emerge_solar.esdl new file mode 100644 index 000000000..a48cb4640 --- /dev/null +++ b/tests/models/emerge/model/emerge_solar.esdl @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/emerge/model/emerge_solar_battery.esdl b/tests/models/emerge/model/emerge_solar_battery.esdl new file mode 100644 index 000000000..8a3083189 --- /dev/null +++ b/tests/models/emerge/model/emerge_solar_battery.esdl @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/emerge/output/aliases.json b/tests/models/emerge/output/aliases.json new file mode 100644 index 000000000..78a5680df --- /dev/null +++ b/tests/models/emerge/output/aliases.json @@ -0,0 +1 @@ +{"Bus_24cf.V": ["ElectricityCable_91e7.ElectricityIn.V", 1], "-Bus_24cf.V": ["ElectricityCable_91e7.ElectricityIn.V", -1], "Bus_24cf.ElectricityConn[1].V": ["ElectricityCable_91e7.ElectricityIn.V", 1], "-Bus_24cf.ElectricityConn[1].V": ["ElectricityCable_91e7.ElectricityIn.V", -1], "Bus_24cf.ElectricityConn[2].V": ["ElectricityCable_91e7.ElectricityIn.V", 1], "-Bus_24cf.ElectricityConn[2].V": ["ElectricityCable_91e7.ElectricityIn.V", -1], "Bus_24cf.ElectricityConn[3].V": ["ElectricityCable_91e7.ElectricityIn.V", 1], "-Bus_24cf.ElectricityConn[3].V": ["ElectricityCable_91e7.ElectricityIn.V", -1], "ElectricityCable_80a3.ElectricityIn.I": ["ElectricityCable_80a3.I", 1], "-ElectricityCable_80a3.ElectricityIn.I": ["ElectricityCable_80a3.I", -1], "ElectricityCable_80a3.ElectricityOut.I": ["ElectricityCable_80a3.I", 1], "-ElectricityCable_80a3.ElectricityOut.I": ["ElectricityCable_80a3.I", -1], "ElectricityCable_80a3.I": ["ElectricityCable_80a3.I", 1], "-ElectricityCable_80a3.I": ["ElectricityCable_80a3.I", -1], "ElectricityCable_e388.ElectricityOut.I": ["ElectricityCable_e388.I", 1], "-ElectricityCable_e388.ElectricityOut.I": ["ElectricityCable_e388.I", -1], "ElectricityCable_e388.ElectricityIn.I": ["ElectricityCable_e388.I", 1], "-ElectricityCable_e388.ElectricityIn.I": ["ElectricityCable_e388.I", -1], "ElectricityCable_e388.I": ["ElectricityCable_e388.I", 1], "-ElectricityCable_e388.I": ["ElectricityCable_e388.I", -1], "ElectricityCable_91e7.ElectricityOut.I": ["ElectricityCable_91e7.I", 1], "-ElectricityCable_91e7.ElectricityOut.I": ["ElectricityCable_91e7.I", -1], "ElectricityCable_91e7.ElectricityIn.I": ["ElectricityCable_91e7.I", 1], "-ElectricityCable_91e7.ElectricityIn.I": ["ElectricityCable_91e7.I", -1], "ElectricityCable_91e7.I": ["ElectricityCable_91e7.I", 1], "-ElectricityCable_91e7.I": ["ElectricityCable_91e7.I", -1], "Joint_2503.H": ["Pipe_910d.GasIn.H", 1], "-Joint_2503.H": ["Pipe_910d.GasIn.H", -1], "Joint_2503.GasConn[1].H": ["Pipe_910d.GasIn.H", 1], "-Joint_2503.GasConn[1].H": ["Pipe_910d.GasIn.H", -1], "Joint_2503.GasConn[2].H": ["Pipe_910d.GasIn.H", 1], "-Joint_2503.GasConn[2].H": ["Pipe_910d.GasIn.H", -1], "Joint_2503.GasConn[3].H": ["Pipe_910d.GasIn.H", 1], "-Joint_2503.GasConn[3].H": ["Pipe_910d.GasIn.H", -1], "Pipe_ec1a.GasOut.Q": ["Pipe_ec1a.GasOut.Q", 1], "-Pipe_ec1a.GasOut.Q": ["Pipe_ec1a.GasOut.Q", -1], "Pipe_ec1a.GasIn.Q": ["Pipe_ec1a.GasOut.Q", 1], "-Pipe_ec1a.GasIn.Q": ["Pipe_ec1a.GasOut.Q", -1], "Pipe_ec1a.Q": ["Pipe_ec1a.GasOut.Q", 1], "-Pipe_ec1a.Q": ["Pipe_ec1a.GasOut.Q", -1], "Pipe_ec1a.GasIn.mass_flow": ["Pipe_ec1a.GasOut.mass_flow", 1], "-Pipe_ec1a.GasIn.mass_flow": ["Pipe_ec1a.GasOut.mass_flow", -1], "Pipe_ec1a.GasOut.mass_flow": ["Pipe_ec1a.GasOut.mass_flow", 1], "-Pipe_ec1a.GasOut.mass_flow": ["Pipe_ec1a.GasOut.mass_flow", -1], "Pipe_97ee.GasOut.Q": ["Pipe_97ee.GasOut.Q", 1], "-Pipe_97ee.GasOut.Q": ["Pipe_97ee.GasOut.Q", -1], "Pipe_97ee.GasIn.Q": ["Pipe_97ee.GasOut.Q", 1], "-Pipe_97ee.GasIn.Q": ["Pipe_97ee.GasOut.Q", -1], "Pipe_97ee.Q": ["Pipe_97ee.GasOut.Q", 1], "-Pipe_97ee.Q": ["Pipe_97ee.GasOut.Q", -1], "Pipe_97ee.GasOut.mass_flow": ["Pipe_97ee.GasOut.mass_flow", 1], "-Pipe_97ee.GasOut.mass_flow": ["Pipe_97ee.GasOut.mass_flow", -1], "Pipe_97ee.GasIn.mass_flow": ["Pipe_97ee.GasOut.mass_flow", 1], "-Pipe_97ee.GasIn.mass_flow": ["Pipe_97ee.GasOut.mass_flow", -1], "Pipe_910d.GasOut.Q": ["Pipe_910d.GasOut.Q", 1], "-Pipe_910d.GasOut.Q": ["Pipe_910d.GasOut.Q", -1], "Pipe_910d.GasIn.Q": ["Pipe_910d.GasOut.Q", 1], "-Pipe_910d.GasIn.Q": ["Pipe_910d.GasOut.Q", -1], "Pipe_910d.Q": ["Pipe_910d.GasOut.Q", 1], "-Pipe_910d.Q": ["Pipe_910d.GasOut.Q", -1], "Pipe_910d.GasIn.mass_flow": ["Pipe_910d.GasOut.mass_flow", 1], "-Pipe_910d.GasIn.mass_flow": ["Pipe_910d.GasOut.mass_flow", -1], "Pipe_910d.GasOut.mass_flow": ["Pipe_910d.GasOut.mass_flow", 1], "-Pipe_910d.GasOut.mass_flow": ["Pipe_910d.GasOut.mass_flow", -1], "WindPark_9074.ElectricityOut.Power": ["ElectricityCable_80a3.ElectricityIn.Power", 1], "-WindPark_9074.ElectricityOut.Power": ["ElectricityCable_80a3.ElectricityIn.Power", -1], "WindPark_9074.Electricity_source": ["ElectricityCable_80a3.ElectricityIn.Power", 1], "-WindPark_9074.Electricity_source": ["ElectricityCable_80a3.ElectricityIn.Power", -1], "ElectricityDemand_f833.ElectricityIn.Power": ["ElectricityCable_e388.ElectricityOut.Power", 1], "-ElectricityDemand_f833.ElectricityIn.Power": ["ElectricityCable_e388.ElectricityOut.Power", -1], "ElectricityDemand_f833.Electricity_demand": ["ElectricityCable_e388.ElectricityOut.Power", 1], "-ElectricityDemand_f833.Electricity_demand": ["ElectricityCable_e388.ElectricityOut.Power", -1], "Electrolyzer_6327.Power_consumed": ["ElectricityCable_91e7.ElectricityOut.Power", 1], "-Electrolyzer_6327.Power_consumed": ["ElectricityCable_91e7.ElectricityOut.Power", -1], "Electrolyzer_6327.ElectricityIn.Power": ["ElectricityCable_91e7.ElectricityOut.Power", 1], "-Electrolyzer_6327.ElectricityIn.Power": ["ElectricityCable_91e7.ElectricityOut.Power", -1], "Electrolyzer_6327.GasOut.mass_flow": ["Pipe_ec1a.GasOut.mass_flow", 1], "-Electrolyzer_6327.GasOut.mass_flow": ["Pipe_ec1a.GasOut.mass_flow", -1], "Electrolyzer_6327.Gas_mass_flow_out": ["Pipe_ec1a.GasOut.mass_flow", 1], "-Electrolyzer_6327.Gas_mass_flow_out": ["Pipe_ec1a.GasOut.mass_flow", -1], "GasDemand_4146.Gas_demand_mass_flow": ["Pipe_910d.GasOut.mass_flow", 1], "-GasDemand_4146.Gas_demand_mass_flow": ["Pipe_910d.GasOut.mass_flow", -1], "GasDemand_4146.GasIn.mass_flow": ["Pipe_910d.GasOut.mass_flow", 1], "-GasDemand_4146.GasIn.mass_flow": ["Pipe_910d.GasOut.mass_flow", -1], "GasStorage_9172.Gas_tank_flow": ["Pipe_97ee.GasOut.mass_flow", 1], "-GasStorage_9172.Gas_tank_flow": ["Pipe_97ee.GasOut.mass_flow", -1], "GasStorage_9172.GasIn.mass_flow": ["Pipe_97ee.GasOut.mass_flow", 1], "-GasStorage_9172.GasIn.mass_flow": ["Pipe_97ee.GasOut.mass_flow", -1], "Bus_24cf.ElectricityConn[1].Power": ["ElectricityCable_80a3.ElectricityOut.Power", 1], "-Bus_24cf.ElectricityConn[1].Power": ["ElectricityCable_80a3.ElectricityOut.Power", -1], "ElectricityCable_80a3.ElectricityOut.Power": ["ElectricityCable_80a3.ElectricityOut.Power", 1], "-ElectricityCable_80a3.ElectricityOut.Power": ["ElectricityCable_80a3.ElectricityOut.Power", -1], "ElectricityCable_80a3.ElectricityOut.V": ["ElectricityCable_91e7.ElectricityIn.V", 1], "-ElectricityCable_80a3.ElectricityOut.V": ["ElectricityCable_91e7.ElectricityIn.V", -1], "Bus_24cf.ElectricityConn[1].I": ["ElectricityCable_80a3.I", 1], "-Bus_24cf.ElectricityConn[1].I": ["ElectricityCable_80a3.I", -1], "ElectricityCable_e388.ElectricityIn.Power": ["ElectricityCable_e388.ElectricityIn.Power", 1], "-ElectricityCable_e388.ElectricityIn.Power": ["ElectricityCable_e388.ElectricityIn.Power", -1], "Bus_24cf.ElectricityConn[2].Power": ["ElectricityCable_e388.ElectricityIn.Power", 1], "-Bus_24cf.ElectricityConn[2].Power": ["ElectricityCable_e388.ElectricityIn.Power", -1], "ElectricityCable_e388.ElectricityIn.V": ["ElectricityCable_91e7.ElectricityIn.V", 1], "-ElectricityCable_e388.ElectricityIn.V": ["ElectricityCable_91e7.ElectricityIn.V", -1], "Bus_24cf.ElectricityConn[2].I": ["ElectricityCable_e388.I", 1], "-Bus_24cf.ElectricityConn[2].I": ["ElectricityCable_e388.I", -1], "ElectricityCable_91e7.ElectricityIn.Power": ["ElectricityCable_91e7.ElectricityIn.Power", 1], "-ElectricityCable_91e7.ElectricityIn.Power": ["ElectricityCable_91e7.ElectricityIn.Power", -1], "Bus_24cf.ElectricityConn[3].Power": ["ElectricityCable_91e7.ElectricityIn.Power", 1], "-Bus_24cf.ElectricityConn[3].Power": ["ElectricityCable_91e7.ElectricityIn.Power", -1], "ElectricityCable_91e7.ElectricityIn.V": ["ElectricityCable_91e7.ElectricityIn.V", 1], "-ElectricityCable_91e7.ElectricityIn.V": ["ElectricityCable_91e7.ElectricityIn.V", -1], "Bus_24cf.ElectricityConn[3].I": ["ElectricityCable_91e7.I", 1], "-Bus_24cf.ElectricityConn[3].I": ["ElectricityCable_91e7.I", -1], "Joint_2503.GasConn[1].Q": ["Pipe_ec1a.GasOut.Q", 1], "-Joint_2503.GasConn[1].Q": ["Pipe_ec1a.GasOut.Q", -1], "Pipe_ec1a.GasOut.Q_shadow": ["Pipe_ec1a.GasOut.Q_shadow", 1], "-Pipe_ec1a.GasOut.Q_shadow": ["Pipe_ec1a.GasOut.Q_shadow", -1], "Joint_2503.GasConn[1].Q_shadow": ["Pipe_ec1a.GasOut.Q_shadow", 1], "-Joint_2503.GasConn[1].Q_shadow": ["Pipe_ec1a.GasOut.Q_shadow", -1], "Joint_2503.GasConn[1].mass_flow": ["Pipe_ec1a.GasOut.mass_flow", 1], "-Joint_2503.GasConn[1].mass_flow": ["Pipe_ec1a.GasOut.mass_flow", -1], "Pipe_ec1a.GasOut.H": ["Pipe_910d.GasIn.H", 1], "-Pipe_ec1a.GasOut.H": ["Pipe_910d.GasIn.H", -1], "Joint_2503.GasConn[2].Q": ["Pipe_97ee.GasOut.Q", 1], "-Joint_2503.GasConn[2].Q": ["Pipe_97ee.GasOut.Q", -1], "Pipe_97ee.GasIn.Q_shadow": ["Pipe_97ee.GasIn.Q_shadow", 1], "-Pipe_97ee.GasIn.Q_shadow": ["Pipe_97ee.GasIn.Q_shadow", -1], "Joint_2503.GasConn[2].Q_shadow": ["Pipe_97ee.GasIn.Q_shadow", 1], "-Joint_2503.GasConn[2].Q_shadow": ["Pipe_97ee.GasIn.Q_shadow", -1], "Joint_2503.GasConn[2].mass_flow": ["Pipe_97ee.GasOut.mass_flow", 1], "-Joint_2503.GasConn[2].mass_flow": ["Pipe_97ee.GasOut.mass_flow", -1], "Pipe_97ee.GasIn.H": ["Pipe_910d.GasIn.H", 1], "-Pipe_97ee.GasIn.H": ["Pipe_910d.GasIn.H", -1], "Joint_2503.GasConn[3].Q": ["Pipe_910d.GasOut.Q", 1], "-Joint_2503.GasConn[3].Q": ["Pipe_910d.GasOut.Q", -1], "Joint_2503.GasConn[3].Q_shadow": ["Pipe_910d.GasIn.Q_shadow", 1], "-Joint_2503.GasConn[3].Q_shadow": ["Pipe_910d.GasIn.Q_shadow", -1], "Pipe_910d.GasIn.Q_shadow": ["Pipe_910d.GasIn.Q_shadow", 1], "-Pipe_910d.GasIn.Q_shadow": ["Pipe_910d.GasIn.Q_shadow", -1], "Joint_2503.GasConn[3].mass_flow": ["Pipe_910d.GasOut.mass_flow", 1], "-Joint_2503.GasConn[3].mass_flow": ["Pipe_910d.GasOut.mass_flow", -1], "Pipe_910d.GasIn.H": ["Pipe_910d.GasIn.H", 1], "-Pipe_910d.GasIn.H": ["Pipe_910d.GasIn.H", -1], "ElectricityCable_80a3.ElectricityIn.Power": ["ElectricityCable_80a3.ElectricityIn.Power", 1], "-ElectricityCable_80a3.ElectricityIn.Power": ["ElectricityCable_80a3.ElectricityIn.Power", -1], "ElectricityCable_80a3.ElectricityIn.V": ["ElectricityCable_80a3.ElectricityIn.V", 1], "-ElectricityCable_80a3.ElectricityIn.V": ["ElectricityCable_80a3.ElectricityIn.V", -1], "WindPark_9074.ElectricityOut.V": ["ElectricityCable_80a3.ElectricityIn.V", 1], "-WindPark_9074.ElectricityOut.V": ["ElectricityCable_80a3.ElectricityIn.V", -1], "WindPark_9074.ElectricityOut.I": ["ElectricityCable_80a3.I", 1], "-WindPark_9074.ElectricityOut.I": ["ElectricityCable_80a3.I", -1], "ElectricityCable_e388.ElectricityOut.Power": ["ElectricityCable_e388.ElectricityOut.Power", 1], "-ElectricityCable_e388.ElectricityOut.Power": ["ElectricityCable_e388.ElectricityOut.Power", -1], "ElectricityDemand_f833.ElectricityIn.V": ["ElectricityCable_e388.ElectricityOut.V", 1], "-ElectricityDemand_f833.ElectricityIn.V": ["ElectricityCable_e388.ElectricityOut.V", -1], "ElectricityCable_e388.ElectricityOut.V": ["ElectricityCable_e388.ElectricityOut.V", 1], "-ElectricityCable_e388.ElectricityOut.V": ["ElectricityCable_e388.ElectricityOut.V", -1], "ElectricityDemand_f833.ElectricityIn.I": ["ElectricityCable_e388.I", 1], "-ElectricityDemand_f833.ElectricityIn.I": ["ElectricityCable_e388.I", -1], "ElectricityCable_91e7.ElectricityOut.Power": ["ElectricityCable_91e7.ElectricityOut.Power", 1], "-ElectricityCable_91e7.ElectricityOut.Power": ["ElectricityCable_91e7.ElectricityOut.Power", -1], "Electrolyzer_6327.ElectricityIn.V": ["ElectricityCable_91e7.ElectricityOut.V", 1], "-Electrolyzer_6327.ElectricityIn.V": ["ElectricityCable_91e7.ElectricityOut.V", -1], "ElectricityCable_91e7.ElectricityOut.V": ["ElectricityCable_91e7.ElectricityOut.V", 1], "-ElectricityCable_91e7.ElectricityOut.V": ["ElectricityCable_91e7.ElectricityOut.V", -1], "Electrolyzer_6327.ElectricityIn.I": ["ElectricityCable_91e7.I", 1], "-Electrolyzer_6327.ElectricityIn.I": ["ElectricityCable_91e7.I", -1], "Electrolyzer_6327.GasOut.Q": ["Pipe_ec1a.GasOut.Q", 1], "-Electrolyzer_6327.GasOut.Q": ["Pipe_ec1a.GasOut.Q", -1], "Electrolyzer_6327.GasOut.Q_shadow": ["Pipe_ec1a.GasIn.Q_shadow", 1], "-Electrolyzer_6327.GasOut.Q_shadow": ["Pipe_ec1a.GasIn.Q_shadow", -1], "Pipe_ec1a.GasIn.Q_shadow": ["Pipe_ec1a.GasIn.Q_shadow", 1], "-Pipe_ec1a.GasIn.Q_shadow": ["Pipe_ec1a.GasIn.Q_shadow", -1], "Electrolyzer_6327.GasOut.H": ["Pipe_ec1a.GasIn.H", 1], "-Electrolyzer_6327.GasOut.H": ["Pipe_ec1a.GasIn.H", -1], "Pipe_ec1a.GasIn.H": ["Pipe_ec1a.GasIn.H", 1], "-Pipe_ec1a.GasIn.H": ["Pipe_ec1a.GasIn.H", -1], "GasDemand_4146.GasIn.Q": ["Pipe_910d.GasOut.Q", 1], "-GasDemand_4146.GasIn.Q": ["Pipe_910d.GasOut.Q", -1], "Pipe_910d.GasOut.Q_shadow": ["Pipe_910d.GasOut.Q_shadow", 1], "-Pipe_910d.GasOut.Q_shadow": ["Pipe_910d.GasOut.Q_shadow", -1], "GasDemand_4146.GasIn.Q_shadow": ["Pipe_910d.GasOut.Q_shadow", 1], "-GasDemand_4146.GasIn.Q_shadow": ["Pipe_910d.GasOut.Q_shadow", -1], "GasDemand_4146.GasIn.H": ["Pipe_910d.GasOut.H", 1], "-GasDemand_4146.GasIn.H": ["Pipe_910d.GasOut.H", -1], "Pipe_910d.GasOut.H": ["Pipe_910d.GasOut.H", 1], "-Pipe_910d.GasOut.H": ["Pipe_910d.GasOut.H", -1], "GasStorage_9172.GasIn.Q": ["Pipe_97ee.GasOut.Q", 1], "-GasStorage_9172.GasIn.Q": ["Pipe_97ee.GasOut.Q", -1], "GasStorage_9172.GasIn.Q_shadow": ["Pipe_97ee.GasOut.Q_shadow", 1], "-GasStorage_9172.GasIn.Q_shadow": ["Pipe_97ee.GasOut.Q_shadow", -1], "Pipe_97ee.GasOut.Q_shadow": ["Pipe_97ee.GasOut.Q_shadow", 1], "-Pipe_97ee.GasOut.Q_shadow": ["Pipe_97ee.GasOut.Q_shadow", -1], "Pipe_97ee.GasOut.H": ["Pipe_97ee.GasOut.H", 1], "-Pipe_97ee.GasOut.H": ["Pipe_97ee.GasOut.H", -1], "GasStorage_9172.GasIn.H": ["Pipe_97ee.GasOut.H", 1], "-GasStorage_9172.GasIn.H": ["Pipe_97ee.GasOut.H", -1]} \ No newline at end of file diff --git a/tests/models/emerge/output/bounds.json b/tests/models/emerge/output/bounds.json new file mode 100644 index 000000000..f03ce2008 --- /dev/null +++ b/tests/models/emerge/output/bounds.json @@ -0,0 +1 @@ +{"GasStorage_9172.Stored_gas_mass": [0.0, 23715000.0], "ElectricityCable_80a3.ElectricityIn.Power": [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999997849.6, 1999999562.2, 0.0, 0.0, 1999995228.8, 1999995622.6, 1997697985.6, 1658513101.4, 1317659536.0, 618343094.1999999, 1199762886.2, 771068238.2, 1001978579.6, 1132050786.8, 1293624672.0, 1720023264.4, 1814015745.6, 1836244191.8, 1986853387.6, 1999994377.0, 1999819409.8, 0.0, 0.0, 0.0, 0.0, 0.0, 1999856533.4, 1989108620.8, 1963930631.0, 1906707569.8, 1979839236.4, 1998200201.6, 1997506292.2, 1995236395.0, 1997595394.0, 1995743804.0, 1982203842.2, 1997779209.2, 1991235483.2, 1997601974.2, 1998521256.4, 1827291885.6, 1803970330.8, 1963763857.2, 1945346423.2, 1961935447.8, 1989302150.8, 0.0, 0.0, 0.0, 1999985873.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999992628.6, 1982409114.6, 1464380387.4, 1125610042.2, 1291247028.8, 1543705874.4, 1302267231.6, 1460829383.6, 1244951100.8, 1197067439.8, 1085463510.0, 899619031.4000001, 652652421.1999999, 500254786.4, 449029372.8, 392993826.0, 333058671.4, 378575680.0, 281810107.8, 194213208.28, 75397414.7, 72578239.2, 32057778.24, 89315181.38, 170572146.04, 1199639073.4, 1039051392.6, 853904351.5999999, 1045285144.4, 881266975.4, 828906645.8000001, 981357009.4, 815516094.8, 938083777.0, 1052651341.8, 1405831547.0, 1575827245.6, 1733303981.4, 1773736296.4, 1815602432.6, 1962330413.0, 1923728781.2, 1990043533.0, 1998601634.6, 1999525019.2, 0.0, 0.0, 1999997974.4, 0.0, 0.0, 0.0, 1999997564.2, 1999191657.8, 1933889500.0, 1449724708.2, 1092481081.0, 400409079.6, 397650886.4, 761239612.6, 1073982220.4, 1012472141.8, 709037988.2, 1109660128.8, 1565467023.4, 1806649162.8, 1823547902.0, 1819710203.0, 1669965959.4, 1795515267.8, 1852563738.8, 1902031313.0, 1859229881.2, 1683095142.4, 1556002024.0, 1273511738.0, 908477192.4, 758024879.2, 514686010.8, 302703493.0, 159956995.24, 189093623.24, 214608286.2, 242907569.4, 77082630.86, 5306213.859999999, 29662899.48, 8545842.5, 1267924.7799999998, 5483542.04, 0.0, 21343625.02, 179975637.76, 33355836.12, 316485714.40000004, 439339114.2, 504993141.0, 742243576.8, 1080925487.0, 1223363979.2, 1091154593.4, 1266942150.2, 1480981585.0, 1906968498.0, 1930576036.8, 1983044481.0, 1998682482.2, 1972065603.6, 1997739582.0, 1999994935.2, 1998628469.4, 1999993951.2, 1998717274.2, 0.0, 1999998532.0, 0.0, 0.0, 1999996105.2, 1999999389.8, 0.0, 0.0, 0.0, 0.0, 771017517.0, 307126734.0, 317881930.6, 562775717.1999999, 437779333.8, 303520107.40000004, 487651554.2, 428981111.0, 710253395.6, 600066280.6, 1263028283.6, 1126506820.2, 1047758428.8, 593830681.0, 805208953.4, 986457334.8, 1045043787.4, 1333432893.8, 1374912014.4, 1519797917.8, 1598073151.4, 1970791915.8, 1961335759.2, 1998065600.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999941292.8, 1999995145.2, 1997602493.0, 1459417983.2, 614204374.8, 251974486.2, 64798963.78, 6546025.08, 59077947.42, 658048175.6, 723685295.8, 433898153.2, 1746564712.0, 1928986605.8, 1970783261.4, 0.0, 982959573.4, 0.0, 1415922600.2, 1999996668.0, 1988521006.2, 1923799465.4, 1991666740.0, 1996045677.4, 1999997236.0, 0.0, 1997951628.6, 0.0, 9850248.2, 321675591.6, 0.0, 1991721185.2, 1991553779.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1997606629.6, 1981332459.8, 841426245.4, 1833004928.8, 1999998463.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999995432.0, 0.0, 0.0, 1998837441.2, 1992974482.6, 1976381768.0, 1926727138.6, 1723613683.2, 1480231250.2, 1140522170.8, 777060007.4, 665894306.4, 541514850.6, 496378942.0, 479693967.4, 431704942.8, 338947367.4, 374311640.2, 370847193.4, 472078890.0, 480483447.0, 701242395.6, 148211366.36, 181024218.66, 768458297.1999999, 757403327.6, 283227273.4, 227851066.0, 357956173.4, 151020023.1, 54734456.88, 44946105.78, 26333982.5, 13584981.96, 23132612.42, 40377561.64, 33438740.5, 27991158.7, 31499873.38, 13323417.56, 22694301.76, 2662589.8, 2022687.78, 9933373.46, 1934924.64, 1759494.8199999998, 1489999.12, 536493.74, 1716381.48, 1963800.92, 20454185.58, 216543.2, 0.0, 64017.72, 0.0, 915004.42, 28638979.86, 98442568.18, 88553568.66, 183720245.24, 205919563.6, 187550163.7, 239130160.0, 155057655.62, 159908351.06, 248245665.6, 304772236.4, 181505691.22, 253833383.8, 248096147.8, 240265214.4, 419665347.4, 444803716.0, 460174359.0, 571351214.6, 622723769.4, 654980303.6, 1011146292.6, 834917687.1999999, 766166666.2, 895180309.4, 889986222.2, 1145034655.6, 1410096621.8, 1096221011.0, 930920404.0, 1248883383.6, 1063798101.6, 745758552.0000001, 666011396.4, 645371705.2, 677092698.0, 646236110.0, 683006527.2, 834584454.2, 813311182.6, 695194781.2, 558599399.2, 542860939.6, 568354059.6, 487556856.4, 364900553.8, 347312609.8, 296276491.0, 418164584.6, 544117449.0, 632934567.6, 558247394.4, 485296816.6, 338178168.99999994, 294131787.2, 211798817.0, 121535984.92, 221871378.0, 158572737.9, 106969608.12, 201996643.2, 118093986.9, 149440850.84, 185787107.56, 148787126.38, 192752972.28, 155184506.18, 152937143.54, 112100880.92, 69502435.3, 54870870.18000001, 46590418.58, 121537919.16, 60494018.72, 5606782.94, 41497209.02, 25205173.48, 5325921.2, 4070560.66, 4736739.1, 3676759.46, 147230017.74, 200132449.0, 78018578.18, 28264979.26, 3206042.72, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4597083.36, 29232274.12, 46126840.400000006, 61433562.34, 223968864.4, 236692980.0, 312262296.0, 454914605.8, 664327814.6, 1038412283.0, 1057112982.2, 1098401500.4, 1046211937.6, 997758183.2, 765879937.8000001, 445866763.6, 291801933.8, 291657322.8, 401022660.6, 240707830.2, 18900895.26, 377300.8, 0.0, 621177.88, 1392063.4600000002, 579763.76, 4672688.58, 1214625.48, 2711510.78, 3945910.7, 1587847.54, 0.0, 15798571.04, 1947667.42, 0.0, 18684782.96, 22934675.96, 68179189.02, 128608713.68, 104053614.92, 114852441.0, 75254200.24, 59877863.78, 114941531.18, 404215125.6, 574871368.4, 884745866.1999999, 758731193.0, 619101003.4, 639839019.8, 669001075.2, 782879640.8, 648623172.4, 519166179.0, 243664925.8, 86992356.8, 43972212.02, 36535165.32, 157565515.5, 188707756.7, 197805218.88, 187696320.22, 99440859.04, 64241546.54, 15188112.86, 13556461.06, 754556.0, 0.0, 0.0, 0.0, 0.0, 53951279.0, 46412831.81999999, 77992491.52, 254857143.6, 225044321.0, 307552610.2, 265000586.8, 196607659.58, 267746805.2, 459888505.0, 444635601.2, 574671364.8, 444467284.8, 438754983.8, 544894637.4, 360116761.4, 343546183.0, 312167950.0, 330051992.0, 292205501.4, 144650706.98, 128542731.62, 171538109.78, 273400505.2, 578630983.0, 502520737.6, 436507481.8, 364678066.6, 265517285.2, 217621973.6, 133094588.02, 197407718.78, 301934454.0, 287599408.4, 454365319.2, 758625940.6, 871519807.6, 1228439540.4, 1798161881.4, 1596035109.1999998, 1488808565.6, 1403571055.0, 1213587248.8, 1124334758.4, 1049719527.0, 756701137.4000001, 1024541332.8, 1243606260.8, 1094802920.0, 1177435376.2, 1645757778.6, 1421069112.8, 1228375156.0, 1431053604.2, 1704882714.8000002, 1803445304.0, 1814456850.0, 1446157727.8, 1376264202.8, 1380860498.6, 919202859.8, 743826140.2, 853392466.8000001, 848756290.0, 1044348035.6, 855751083.8000001, 1432391178.1999998, 1822649389.2, 1787476663.0, 1973419422.6, 1998810987.0, 1993101067.0, 1947139459.0, 1943944488.4, 1952131987.8, 1955510837.8, 1929752359.4, 1781989251.2, 1242519455.8, 1286872467.4, 968513790.6, 660616011.4, 1022050754.2, 1228783049.2, 1423751269.6, 1876575824.0, 1970232361.2, 1932613322.0, 1947739031.2, 1995078739.4, 1984070262.0, 1986016358.0, 1981280617.6, 1938054605.4, 1961848454.0, 1989481976.0, 1986305288.2, 1986739423.2, 1999546279.0, 1999300160.0, 1989013971.6, 1985570343.8, 1999421797.0, 1969131419.8, 1999499242.6, 1999995785.6, 1999995387.2, 1981609810.6, 1999909099.6, 1999993740.0, 1999998503.6, 0.0, 1999995515.2, 1996977985.2, 1952724814.8, 1965974749.2, 1897107951.0, 1939372235.6, 1997706402.0, 1999331304.0, 1998382388.0, 1782485912.9999998, 1984855559.4, 1997306997.8, 1940880213.4, 1587181839.4, 1369579885.1999998, 926075220.2, 971545653.0, 1742768970.8, 1537868004.1999998, 1801746678.4, 1261209144.4, 1624022624.0000002, 1736931766.6, 1689149583.2, 1677465440.1999998, 1132986936.8, 1187725280.6, 1004613660.8, 1117234821.6, 819157895.0, 866612387.2, 856289264.8000001, 756164704.2, 1286527872.0, 1345634981.0, 676434102.8, 896751981.8, 1781215959.2, 1672046537.8, 1802148959.0, 1607657488.0, 1562307297.2, 1320022557.0, 1359780909.0000002, 1269812519.2, 1378348114.6, 1236320069.0, 1386756419.6, 852009091.0, 1444887018.0, 1722051745.2, 1575475729.4, 1831694112.8, 1436554333.4, 829265531.0000001, 867072947.5999999, 874544424.0, 720768085.0, 385263193.2, 299052108.2, 385452244.6, 159474514.92000002, 195565846.64, 272116517.0, 479745676.4, 460017434.8, 439844063.00000006, 490091506.0, 760769428.8000001, 660940613.1999999, 1022194458.4, 1223768925.6, 1255980274.6, 1262368025.4, 1379898132.4, 1702699285.8, 1861855860.6, 1866377028.8, 1997710270.2, 1999993373.6, 1999996231.2, 1998149582.4, 1997442475.6, 1975375247.4, 1973249214.0, 1969123437.8, 1980580584.0, 1999245071.8, 1999995624.8, 1998195280.2, 1980612272.4, 1989677500.0, 1986094075.2, 1981407130.6, 1900148273.8, 1930844426.8, 1878576275.0, 1913132948.4, 1896902262.2, 1376139756.6, 1862811107.2, 1915259567.0, 1836535465.8, 1862315300.0, 1885618960.8, 1925582150.4, 1948665386.2, 1980022537.4, 1998679138.4, 1999996597.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999750573.6, 1998781264.0, 1981657610.6, 1911344605.8, 1917759296.2, 1762537711.4, 1634022413.2, 1694315083.6, 1445015614.8, 1080472837.0, 908448915.2, 1137331307.4, 569742130.4, 384956515.2000001, 984808629.8, 906514066.2, 369871700.8, 234812029.6, 227669594.6, 422320170.4, 681000291.6, 956644920.4, 1333397209.1999998, 1758395298.4, 1832104797.0, 1951101456.8, 1831700078.6, 1938853878.2, 1997700591.6, 1955780772.4, 1915856523.6, 1807015066.4, 1443908046.6, 1525346773.6, 1286061083.2, 1278482405.2, 1005389276.0, 1075231458.8, 274026846.0, 140435318.66, 65908880.76, 0.0, 3627604.0, 50575918.62, 110089348.04, 194225296.14, 294323945.0, 607072763.0, 1246733217.2, 1171303464.8, 1233939331.8, 1338884353.4, 962365433.0, 753913682.0, 507168586.0, 543572392.1999999, 470372593.2, 359441376.0, 388872006.6, 436840369.8, 373281276.8, 298858628.40000004, 298864468.8, 160958521.2, 137842711.48, 186810341.84, 128732862.68, 299447625.0, 351681639.00000006, 369150953.8, 541886380.0, 324287131.6, 150174900.35999998, 61292735.54, 50413426.72, 247431267.8, 218966289.6, 364205167.8, 226706091.2, 258653644.6, 214523651.00000003, 131428932.78, 147591777.8, 266585860.8, 344644097.6, 597425310.8, 1139101689.2, 674752007.2, 1198808745.4, 1322147545.8, 1285925309.6, 1399779567.8, 1871912895.8, 1982570230.2, 1975609625.0, 1999422270.0, 1999411619.4, 1999542362.0, 1999995286.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999999497.0, 1999999267.2, 0.0, 0.0, 1999997937.6, 1999998839.4, 0.0, 0.0, 0.0, 0.0, 0.0, 1999758202.2, 1990058932.4, 1987690648.8, 1992031132.4, 1981030339.0, 1951499933.2, 1958887142.2, 1982275363.8, 1957736442.8, 1936090226.6, 1898785307.4, 1927041764.2, 1792123522.0, 1601441789.8, 1536142062.8, 1479313672.8, 1320064740.6, 1587291119.2, 1782920370.9999998, 1535582328.6, 1491674334.2, 1268863670.2, 1059822061.4, 915940039.8, 1074524501.2, 842231715.8, 786648605.8, 1112997315.4, 1073160760.4, 893860035.8, 931577435.8, 1023443691.4, 1242061037.6, 1462957458.2, 1451823465.0, 1479974778.0000002, 1302352483.8, 1188965465.8, 1235158440.8, 1132552138.6, 1077023126.4, 1332488205.4, 1412134659.2, 1516370555.6, 1806183257.4, 1758063953.2, 1891312974.6, 1927250595.8, 1861168025.8, 1761386911.0, 1821769940.8, 1792358477.0, 1577558576.6, 1504372550.6, 1591208078.8, 1740263734.2, 1938119175.0, 1742616922.0, 1345851290.2, 1408243606.8000002, 1413717849.4, 1208369328.8, 1233205185.4, 1250531681.2, 1098550995.6, 1712653218.0, 1514206200.0000002, 1400977126.0, 1584447185.2, 1731371033.6, 1448615755.2, 1350641469.6, 1485313026.6, 1267205911.2, 1356104652.9999998, 1045116369.8, 1150020422.8, 1206707026.2, 1131308788.4, 1080470782.8, 1223894386.2, 1179817408.6, 942658651.2, 895960319.2, 1595853789.6, 1817676987.6, 1914188739.4, 1974311846.8, 1988490331.6, 1988438555.8, 1998280707.8, 1999964157.2, 0.0, 0.0, 0.0, 0.0, 0.0, 1999981281.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999972107.0, 1999803111.6, 1999657762.8, 1991254935.0, 1999996106.8, 1999537207.4, 1998206959.0, 1997387748.6, 1979456839.4, 1999995952.4, 1999999293.0, 1999998101.8, 0.0, 1998947282.8, 1999169943.2, 1994850739.6, 1989394865.4, 1994013441.0, 1988867287.8, 1995287462.2, 1999209714.4, 1999756667.6, 0.0, 1999904483.8, 1999998582.0, 0.0, 0.0, 1999997787.4, 1999996812.8, 1999997751.0, 1999997219.8, 1999265935.0, 1999996720.2, 1999999815.6, 0.0, 1999998078.0, 1999995933.2, 1999920365.2, 1966798749.8, 1907716366.6, 1785542180.4, 1816845221.2, 1852702377.8, 1514788505.6, 1212223296.6, 1307312392.8000002, 1636541654.2, 1691960488.4, 1533555697.6, 694148035.8, 477548277.0, 372511068.0, 271039170.2, 235588368.2, 153547254.52, 392958269.4, 739183490.8, 528259608.6, 238046443.0, 451087660.0, 379156977.0, 378834944.8, 165217954.45999998, 364543708.2, 912794629.0, 689653440.0, 963008609.8, 1398911446.2, 1691457601.4, 878409769.6, 1111156582.4, 1650541159.6, 1626835462.0, 1971831288.0, 1999657935.6, 1984384566.8, 1999996095.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999996766.4, 1999999415.2, 1999995534.8, 1997718454.6, 1996448574.4, 1997804971.8, 1997841586.8, 1997893282.6, 1999995656.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1989797444.0, 1999944209.6, 1999942016.0, 1999967153.4, 1999999826.0, 1998680808.2, 1998444860.4, 1975729589.0, 1824019837.6, 1633132824.2, 1705037868.8, 1790960800.0, 1684830229.0, 1259525313.8, 933119812.0, 1045533164.0, 872724108.4000001, 366585125.4, 462948174.2, 431413719.4, 296266262.8, 312337299.0, 140173260.18, 133631619.98, 170311884.88000005, 212136034.6, 212254775.6, 141454931.12, 122134003.12, 157332334.88, 162305771.86, 262687429.0, 426974626.2000001, 750729973.4, 903758314.2, 1125289682.4, 1494993441.8000002, 1823938537.0, 1960952188.0, 1997846901.0, 1999995250.6, 1997355135.4, 1999995984.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999417784.4, 1968162413.6, 1952177369.4, 1996718083.8, 1822865978.0, 1942985706.6, 1951529246.8, 1729973714.2, 1980068503.4, 1996929974.4, 1632269081.8000002, 1338511633.4, 1941180160.4, 1356801994.8, 1195384177.2, 1638335004.2, 1761903572.9999998, 1887123539.6, 1890295369.8, 1999998925.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1998273617.2, 1999023065.8, 1999996011.6, 1998576630.6, 0.0, 0.0, 0.0, 1998143335.2, 1896152934.6, 1999961157.2, 1999995514.4, 1999498469.6, 1998447211.2, 1958751870.2, 1883758717.0, 1525990282.0, 1526421165.8, 1342680948.6, 1440474469.6, 1735581663.4, 1650380864.4, 1999315632.8, 0.0, 0.0, 0.0, 0.0, 1995961155.6, 1998086042.0, 1997546129.2, 1996855443.6, 0.0, 1999851678.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999932573.2, 1969782611.0, 1662706852.8000002, 1258629061.2, 550671888.0, 221805333.2, 342510152.40000004, 1039088890.6, 1793607278.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1997937518.8, 1999998077.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999994882.0, 1999200001.2, 1980723648.6, 1962090756.6, 1751217346.0, 1610597268.0, 1400865737.1999998, 1419484498.6, 1449522359.1999998, 1331998835.0, 1630182596.8, 1362843189.4, 887776699.8, 752182313.9999999, 703801276.6, 798946650.8, 653418959.2, 585440526.8, 958374510.6, 1440712128.4, 1591600077.6, 1735479322.0, 1950833321.0, 1986753265.4, 1990843338.8, 1999112786.0, 1999998951.2, 1999998499.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999996597.2, 1485593620.2, 1999995039.0, 1999996574.4, 1999997763.4, 1999999348.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999999344.4, 1999995092.0, 1988637889.2, 1997173664.0, 1998445909.0, 1998208427.8, 1912058652.0, 1778411845.0, 1221089018.8, 1007278057.2, 1292858533.2, 1418325316.6, 1572630768.0, 1805480078.6, 1669211000.6, 1382094154.0, 1461684180.6, 1912822130.6, 1998836810.0, 1969685939.4, 1750096483.2, 1649609231.8000002, 1508373351.8, 1526437121.8, 1725943826.6, 1664280178.8, 1569333279.8, 1304909937.8, 1152282948.0, 1427937892.9999998, 1822100291.0, 1672902315.8000002, 1896516117.0, 1180625162.6, 975254812.6, 1200395434.0, 1270294513.0, 1686794631.4, 1999996972.4, 1979332564.8, 1798543953.8, 1577545611.0, 1819431828.2, 1886897306.0, 1952978973.0, 1999767352.2, 1999875688.6, 1999000423.4, 1999841421.2, 0.0, 0.0, 0.0, 1989277286.8, 1991882175.2, 1999994127.0, 1961850357.0, 1515050221.6, 1771368034.4, 1941914132.2, 1927778502.4, 1983035109.6, 1993966996.6, 1992382935.4, 1965371362.2, 1997817377.8, 1702028253.4, 1528317820.8000002, 1468347655.8000002, 834344900.4, 716316900.6, 1243005168.0, 1424038677.0, 1979302774.4, 1999242575.0, 1999999733.2, 1969578442.0, 1993016153.2, 1906694710.4, 1698324937.6, 1482280166.6, 1031169271.8, 990519790.6, 751609317.8, 1260472774.8, 1402692434.2, 1559257280.0, 1863205000.4, 620759221.4, 1137773383.2, 1094943879.0, 924808410.0, 934003620.4, 1065851555.2, 1564420483.6, 1837177025.6, 1274364022.8, 531093220.4, 319626484.8, 593446618.4, 156351458.6, 599946386.6, 1106538965.8, 947759968.4, 1146846686.4, 238725732.6, 558291919.0, 1826987796.8, 1972663190.4, 1997925856.6, 1969971283.2, 1855451840.2, 1913929040.2, 1997710290.6, 1911624537.6, 1966368979.0, 1479969140.8000002, 1356009787.8, 746315594.4000001, 1179212809.4, 1958701790.2, 1884496786.0, 1983656064.8, 1611620975.2, 1177932039.0, 863489163.9999999, 542536851.8, 642847741.6, 406341625.0, 759151566.8, 655588057.4, 247181286.0, 413471968.8, 471679146.8, 482939098.2000001, 379314920.6, 346611460.0, 355210204.2, 182731019.86, 148870667.62, 233784780.4, 737932504.4, 424092964.6, 888839177.0, 958267116.0, 920595125.2, 1239310007.6, 1186011976.2, 922828426.6, 1182331344.2, 931994539.4, 593041774.2, 634629159.6, 648510181.0, 579486305.8, 436490574.8, 386830603.6, 252709374.6, 220966856.0, 158112864.86, 244337910.0, 279767627.0, 121736232.54, 39507283.52, 3626681.04, 1243250.2, 0.0, 0.0, 24735596.5, 179684530.72, 249385140.6, 201008347.4, 376103991.8, 601067050.2, 652792594.4000001, 929270867.4, 1420872099.0, 1982414569.2, 1985036709.0, 1984241032.0, 1998036945.0, 1999954366.6, 0.0, 0.0, 0.0, 0.0, 1999750998.4, 1999997570.8, 1985967106.2, 924848545.0, 1451048453.9999998, 1942493594.6, 1718222490.1999998, 1499415478.4, 1719689359.0, 1675235890.6, 1597949802.6, 1746871832.2, 1850851482.2, 1833130041.0, 1760431416.2, 1469673340.6, 663715306.6, 990992828.2, 1385445998.8, 1800048461.2, 1966116140.8, 1976273617.8, 1974054553.4, 1974898415.4, 1997581253.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999994995.2, 1999773458.0, 1986857494.6, 1939888210.6, 1788816425.8, 1713037952.6, 1752670424.6, 1598755666.2, 1559470626.8, 1525285561.4, 1207738446.6, 837200279.0, 386956753.6, 302066900.40000004, 191465801.66, 72311698.76, 81515277.74, 28654079.94, 0.0, 1833417.78, 7494307.300000001, 111538998.68, 215236866.0, 175585604.17999998, 523376565.8, 1140127869.6, 1685660443.4, 1613018364.6, 1461735038.4, 1322090154.6, 1322444754.1999998, 1131340984.0, 1447106284.8, 1185024066.2, 1005810134.6, 777274266.0, 931962065.8, 1104242859.6, 1105069800.8, 722328705.0, 573635900.8000001, 532097070.6, 795840878.8, 1125792008.2, 1761594834.0, 1938111912.4, 1893091381.8, 1860354935.6, 1826471896.0, 1957969005.4, 1970040822.4, 1975923359.2, 1999053492.6, 1999996146.8, 1999998043.8, 1999996207.2, 1998848842.0, 1966927677.4, 1986785110.8, 1978929594.4, 1989423488.2, 1999447053.4, 1999995398.0, 1999995102.2, 1999998113.6, 1985329581.0, 1997473635.0, 1980652721.0, 1997894080.4, 1966432018.8, 1998112183.2, 1926347761.8, 1726153145.0, 1337369223.8000002, 1158905472.8, 749631897.4000001, 637126830.0, 870226675.0, 518590355.6, 294544400.2, 266634458.2, 323181561.6, 436236304.2, 1621439052.0, 849050227.8, 849619938.4000001, 775918404.4, 1336672732.0, 1182958855.6, 580599981.4, 534912035.6, 572095403.0, 485407579.2, 615940489.1999999, 564615607.4, 433609675.4, 605402396.4, 773551223.8, 1355714361.0, 1422059877.8, 1908215577.6, 1949064901.2, 1979283632.8, 1953923841.4, 1820801389.0, 1939620352.8, 1999228376.8, 1999997069.2, 1988475895.2, 1999795180.8, 1993400128.2, 1999169018.6, 1992516785.0, 1992370527.8, 1984035201.6, 1997502290.2, 1999930873.6, 0.0, 0.0, 1999996935.4, 1999221833.4, 0.0, 0.0, 1998947662.6, 1836730284.8, 1884081240.8, 1300652246.6, 1424010882.4, 1416062333.2, 1674166397.8, 1633330970.4, 1659644972.0, 1397341619.8000002, 1126679295.0, 1111210018.0, 858710946.1999999, 840517875.5999999, 757979724.8, 414304926.2000001, 428360297.6, 515935427.6, 706943974.6, 1399587943.8, 1362846569.4, 1219510051.6, 1419459203.2, 1470492329.2, 1506845314.4, 1792149656.0, 1787961692.2, 1795727146.0, 1719890428.8, 1526250447.8, 1726521178.4, 1969736434.4, 1974434973.8, 1998286448.6, 1998573666.0, 1998241995.6, 1999995276.6, 1999996624.6, 1999994264.8, 0.0, 1999276559.2, 1831873731.8, 1945404425.8, 1949096615.4, 1961525264.4, 1992161927.8, 1999840976.2, 1941496126.4, 1985284213.2, 1980076803.8, 1951098943.2, 1954372864.2, 1992936518.4, 1990466688.8, 1993515795.6, 1999810236.2, 1999494484.2, 1999936159.8, 1999996753.6, 1999868716.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1997637106.8, 1830144682.6, 1711637707.6, 1480012104.2, 1290791534.4, 1232887507.0, 800964393.6, 907948818.0, 635421759.8000001, 451123673.6, 357701658.20000005, 34852935.94, 35415859.62, 72277635.12, 10357064.9, 122486117.78, 140440895.84, 343149917.40000004, 495331668.8, 1009219775.6, 844778510.0, 943994960.2, 1429189255.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1955868047.4, 1924647079.2, 1464756591.4, 906057322.4, 1018726338.4, 533880331.6, 650112197.6, 702584068.0, 796973571.0, 974076185.0, 1672738318.4, 1998508505.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1973158584.0, 1991391968.4, 0.0, 1999975638.8, 1999809695.8, 0.0, 0.0, 1994305303.0, 1997254606.0, 1997048812.8, 1997194143.8, 1999994755.8, 1999995313.6, 1999999701.2, 1999886948.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999814445.6, 1974616787.6, 1999926332.8, 1965495357.6, 1989289971.0, 1973069974.8, 1870431111.6, 1823430259.4, 1812396939.2, 1746438760.6, 1225478374.6, 1387043706.4, 1067010415.2, 363844762.2000001, 239989250.8, 92597979.0, 71558152.5, 97413207.84, 519498646.0, 380171666.8, 667561858.2, 901363569.2, 1705812214.8000002, 1857639840.8, 1736670232.8, 1926413074.4, 1940216805.4, 1786232844.0, 1293666810.8, 1375047738.2, 1202025347.8, 1476285889.2, 1152535009.2, 1053885853.6, 888985031.0, 1294725420.4, 1913074883.8, 1958130036.2, 1998743090.6, 1993037658.6, 1989059138.2, 1999984564.0, 1959080021.0, 1999989759.2, 1999991029.6, 1993816042.4, 1925057557.0, 1940984116.4, 1911558734.2, 1941285135.4, 1783801776.0, 1495493215.6, 1191367005.6, 850689280.9999999, 678098170.1999999, 711505401.0, 706056370.6, 551851012.2, 418038584.2, 323924584.8, 319881679.2, 388977015.0, 162784948.02, 79802512.74, 75366599.96, 15548445.420000002, 73329460.5, 194871286.1, 280545306.2, 524318307.0, 667701024.8000001, 866197894.4000001, 643493993.0, 570034902.4, 140876877.86, 1356152.0799999998, 310521.14, 0.0, 343009.08, 0.0, 0.0, 2255308.64, 36703567.48, 259630873.00000003, 174517928.7, 201322122.8, 223440970.6, 218898067.0, 189690279.6, 253188941.8, 203509595.0, 288475179.6, 275776368.2, 350746245.40000004, 168270006.98, 146219556.76000002, 349493879.40000004, 193683641.24, 255662152.8, 277586563.40000004, 194596223.12, 172772573.16, 102138361.06, 238079526.2, 201037637.8, 106010126.18, 92339663.88, 86462932.8, 132842342.66, 223137852.2, 382443824.6, 211924833.2, 133858353.22, 171642450.06, 203691641.2, 155431540.54, 194597987.0, 158042665.64000002, 130890336.76, 88733550.55999999, 140892748.6, 199086480.16, 198093026.74, 129561308.72, 126050143.56, 78530510.74, 117666672.52, 147723260.68, 111444715.52, 156900481.02, 138606057.34, 157859051.18, 202391465.8, 232693581.00000003, 214394975.00000003, 282323944.8, 207609987.8, 250935706.8, 161086602.70000002, 242666741.8, 304018760.2, 159847911.22, 220168181.0, 199925603.1, 204140572.2, 218315367.6, 236446727.2, 233317054.8, 223719020.2, 265126605.2, 282191511.8, 208904268.2, 235415072.2, 391641925.0, 196494041.12, 108697263.4, 4734659.78, 0.0, 0.0, 0.0, 0.0, 0.0, 3772909.18, 28834034.36, 33286109.84, 226048002.2, 405213755.8, 904585761.4, 1155941962.8, 1781142061.8, 1582392518.0, 1147830822.0, 1116199101.6, 1970359524.0, 1999902703.2, 0.0, 1999907337.0, 1999816059.0, 1989448466.8, 1986275581.6, 1842815576.8, 1417339370.6, 1083369859.0, 836399885.6, 777338525.2, 654167198.4, 737086114.4, 875619590.6, 585445895.4, 822032836.6, 965606626.4, 1129268380.6, 674677779.4000001, 716856160.4, 1679302902.0, 1887214496.6, 1996575915.2, 1997421620.2, 1999997352.2, 1999994388.0, 1999999562.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999994263.4, 1987783169.8, 1987036009.0, 1984962411.0, 1904468193.4, 1942798950.6, 1968647721.2, 1925193185.8, 1997736757.8, 1999531920.2, 1998970305.0, 1999533123.0, 1999850570.8, 1998630349.8, 1992139342.4, 1998604254.6, 1998978058.8, 1999877373.8, 1997227754.4, 1924835104.0, 1766902573.4, 1587833477.2, 1961859162.0, 1999995950.4, 0.0, 1999408971.4, 1999996131.8, 1991929435.8, 1999205523.6, 1999996924.2, 1999112717.4, 1974878570.4, 1869395419.6, 1532347076.4, 1691777101.8, 1288321329.1999998, 1177960471.4, 742173368.6, 565937027.2, 597200073.0, 614155835.8000001, 380575406.0, 302011046.0, 128126779.26, 169871068.04, 204351316.2, 152806824.42, 11761028.18, 91306753.3, 181859601.82, 843411897.8, 1212595350.0, 1018858704.2, 873207511.8000001, 633192795.4, 694830181.0, 636163780.2, 603171975.2, 822717169.8, 703945215.0, 433003605.4, 234041786.8, 201113196.8, 359817444.6, 538433248.4, 671454303.2, 414142214.8, 272136840.8, 342524860.40000004, 476086369.0, 477745690.0, 639769420.2, 523763729.8, 429272264.4, 314617539.0, 306716338.0, 173257541.14, 105813456.46, 46730928.62, 63303552.18, 0.0, 0.0, 1417663.32, 831859.3400000001, 2869366.72, 12629837.0, 2317896.88, 2245437.12, 0.0, 380457.0, 4326601.44, 3292829.62, 5337725.760000001, 14931954.66, 3172035.68, 4600554.16, 57819567.94, 7871653.24, 55640869.82, 224663715.0, 183007720.42, 344929758.00000006, 446999214.8, 309719395.6, 607654228.0, 749856123.8000001, 698613213.8000001, 1168631928.0, 1312674716.8, 999347606.4, 686277315.1999999, 581255480.8000001, 487535080.8, 303913670.2, 352010387.6, 91434153.62, 14387323.5, 6122102.619999999, 2709824.48, 5553187.02, 4823414.58, 107954282.42, 0.0, 105352184.35999998, 212877385.8, 97336868.78, 143194444.82, 193970155.76, 356283189.2, 1332895548.4, 691193517.8000001, 652759382.0, 1013695828.6, 1661304551.8000002, 1946391161.4, 1656759707.2, 1509553285.8000002, 1672970149.4, 1807310728.4, 1755903191.2, 1877885235.8, 1860668615.2, 1876489848.0, 1975130624.8, 1997480947.2, 1999996203.4, 1999996013.4, 1999998532.4, 0.0, 1999995104.8, 1999905828.0, 1999411074.6, 1998407053.6, 1984659376.8, 1983647023.6, 1977105319.2, 1977945857.0, 1655202961.8, 1568933408.0, 1318702847.0000002, 1343809966.1999998, 1114198853.6, 472442271.00000006, 761605984.6, 663989282.0, 495155382.4, 654905973.5999999, 509807239.8, 725047758.5999999, 1116567200.6, 1582308140.0, 1832670903.4, 1868769293.4, 1866173709.6, 1956480003.2, 1960950608.4, 1938552498.8, 1818993592.8, 1756707176.8, 1715354363.8, 1476478543.4, 1365468519.2, 1517954227.6, 1524059458.2, 1086174958.8, 902633634.4, 1743528934.1999998, 1744097788.6, 1722245455.1999998, 1742775239.6, 1805984924.2, 1418784131.0, 751197610.0, 790389205.5999999, 556982070.4, 443915285.8, 447847089.4, 474218688.0, 319739319.0, 145392394.9, 115427320.18, 93658730.62, 46517051.5, 40872116.6, 46077771.66, 48313689.06, 38065621.06, 39474639.74, 35190789.52, 43055450.6, 65397462.92, 42933024.68, 4869502.22, 14197217.62, 9945641.16, 3629793.54, 3086093.52, 22361148.94, 3859394.8, 0.0, 0.0, 2043824.58, 459313.78, 3503281.56, 26644774.22, 76980945.5, 155104024.12, 233877146.8, 355624254.6, 489678054.6, 654330092.2, 1063056404.6, 1203430976.0, 1359907050.2, 1337344156.2, 1121058285.0, 1081425930.2, 1061539728.4, 922711380.8, 1080382173.2, 1149374458.2, 1037300374.4, 1636123734.2, 1873476163.6, 1876548946.6, 1999523944.4, 0.0, 0.0, 0.0, 1997990536.4, 0.0, 0.0, 1999998512.8, 1999997659.6, 1997064066.2, 1997643146.8, 1839140929.8, 1822193333.4, 1979073491.4, 1973194299.8, 1944193723.2, 1906383340.4, 1960925394.8, 1965485399.2, 1997998653.2, 1998548083.2, 1997684891.2, 1997618826.2, 1999992449.4, 1998639331.2, 1988816470.8, 1835426917.2, 1550321375.1999998, 1940043482.8, 1998983621.0, 1954066131.4, 1974074514.6, 1966948602.4, 1725825781.8000002, 1293163860.4, 894214163.8, 824336801.5999999, 730650246.6, 371731821.4, 442795475.2, 926540739.4, 1028245897.6, 1540196274.0, 1719833534.4, 1814569167.8, 1925886965.2, 1982307116.8, 1995433268.2, 0.0, 1999938450.6, 1938708966.8, 1815215490.0, 1967346221.4, 1990229410.6, 1977411298.2, 1999674852.0, 1996272114.4, 1991156777.8, 1999776353.4, 1999809969.2, 1999902927.4, 1999963198.2, 1999879211.6, 1999974751.4, 0.0, 1999862620.6, 1999861822.6, 0.0, 0.0, 1998666847.0, 1978122273.6, 1860141403.0, 1769644838.4, 1314419989.8, 1813099651.2, 1823177784.0, 1935709550.0, 1997113924.6, 1789068236.8, 1722520891.6, 1908256853.6, 1968813481.0, 1997591729.6, 1997571874.2, 1981776181.8, 1967871268.6, 1947667903.6, 1802579299.0, 1761929935.0, 1521608251.0, 1860911169.8, 1894409016.0, 1958859540.2, 1942118895.2, 1961956900.4, 1666363362.4, 1479663460.2, 1467242669.6, 1038993246.8, 824456823.0, 1087642462.2, 1335198080.4, 1539748648.2, 1922765574.4, 1556807161.6, 1516192008.6, 919552669.4, 1620481817.2, 1586284654.8, 1578164404.6, 1253638215.6, 1476160151.4, 1596154650.4, 1606781889.4, 1664381459.8, 1615589306.4, 1284568316.6, 1056994159.6, 1315271187.8, 1621466652.8000002, 1730904792.1999998, 1795410785.8, 1997292674.0, 1999997111.4, 1979506336.4, 1916844219.8, 1816831515.4, 1615175634.4, 1714980517.8, 1962531206.4, 1995913569.6, 0.0, 0.0, 0.0, 1999998133.6, 1999998254.0, 1995514110.6, 1999654936.0, 1999998976.0, 0.0, 1999998046.4, 1999996945.2, 1999996960.4, 0.0, 0.0, 0.0, 1999998593.0, 1999994729.8, 1998274126.4, 1995509706.6, 1948511120.4, 1897402821.0, 1350686233.4, 892482696.4000001, 1261681283.6, 611195595.0, 954629620.6, 748520240.8000001, 1060361601.4, 718261136.4, 1998037478.6, 1783727132.8, 1849993770.4, 1771473283.0, 1834053290.2, 1590577316.2, 1248725478.0, 1034803388.8, 584653822.6, 541013750.0, 615802546.0, 490098442.6, 485231814.6, 657419333.4, 766248890.1999999, 711504213.8, 854117375.4000001, 1320299249.2, 1403694594.4, 1448668696.6, 1671066255.6, 1639698109.0, 1559720833.6, 1489864495.8, 1513820115.0, 1607887205.4, 1517283153.6, 1524460363.0, 1737188542.0, 1939280938.2, 1997561285.6, 1997494894.0, 1985318000.2, 1917934302.0, 1881384766.0, 1823651342.2, 1530977775.0, 1350712354.4, 1214103271.0, 1465607546.2, 861725260.2, 237447849.2, 26344152.96, 400920979.4, 1382255779.8, 1766990467.6, 1743984915.6, 1788947429.2, 1436228806.4, 1600525624.0, 1311138630.2, 1189271818.4, 822190204.0, 1138633048.4, 1291848190.8000002, 951142486.6, 894538420.0, 722632699.8000001, 604281962.1999999, 405198469.6, 285181871.2, 182246896.7, 279581362.6, 167849904.54, 157155705.0, 101130299.14, 235556541.00000003, 174700853.50000003, 132418172.7, 51247054.72, 88039051.61999999, 76423498.68, 56710582.64, 32024172.2, 1215040.46, 570430.52, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9189531.1, 29317165.360000003, 80194427.32, 155945373.9, 247155115.00000003, 245293127.0, 339790470.6, 489558606.0, 559040906.0, 693052387.5999999, 591673709.8, 739025861.6, 917947193.8, 1422838813.0, 1638929939.4, 1834908122.4, 1885030045.4, 1708176516.4, 1392746153.8, 1326983060.0, 1165347460.2, 857500480.6, 1084991995.8, 990992053.2, 835320507.2, 745883340.2, 1010829281.2, 1042161351.2, 952418102.4, 1447492387.2, 1778232738.4, 1727320621.4, 1367036195.6, 1431157065.2, 1720114972.6, 1966955918.0, 1993208802.6, 1998952682.0, 1999942144.0, 1999910472.0, 1999930141.8, 1999871563.6, 1999998568.2, 1962903314.4, 1805155882.0, 1967394199.0, 1971663187.6, 1881141453.8, 1969386648.2, 1989793685.6, 1997705402.6, 1995875791.0, 1997832322.2, 1998253287.6, 1999166974.0, 1999540439.0, 1999272383.8, 1999083671.6, 1999147870.8, 1999993685.8, 1999994610.4, 1999995963.2, 1999994731.6, 1999995034.0, 1999994961.6, 1999998012.6, 1999993630.2, 1999996054.6, 1999997336.0, 1999992954.4, 1998438269.2, 1997593502.4, 1988239239.0, 1997599452.0, 1997505423.0, 1998182298.0, 1998466131.6, 1983177629.8, 1980109121.4, 1979119632.8, 1974457982.8, 1949002008.6, 1964673145.2, 1897711788.0, 1809347195.2, 1428034872.6, 1525584425.0000002, 1321878693.0, 979716189.4, 643137648.0, 472887931.6, 288353257.0, 708890403.4, 1090357098.2, 1840768974.0, 1997758985.2, 1999997548.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1997628083.2, 1994473801.0, 1946868378.2, 1989936466.8, 1988105688.0, 1989210178.8, 1474287090.4, 1184930180.0, 1437203635.0, 1077733245.0, 291388656.0, 196380169.74, 43551179.8, 11783946.5, 0.0, 649623.6599999999, 0.0, 0.0, 6810737.94, 89125964.52000001, 1340341290.2, 1836726210.0, 1578254984.2, 965402814.8, 1755481012.6, 1951538478.0, 1324286518.6, 511971233.4, 447138707.8, 1015940708.8, 1057895798.2, 873442671.8000001, 1053554784.2, 1105142049.8, 1634862650.4, 1146596903.2, 1122222786.0, 1137997145.6, 1244771179.0, 1009757410.8, 839167984.2, 490293834.0, 505974029.8, 699626332.2, 506034809.2000001, 411008130.0, 348634842.6, 241182817.0, 220808512.2, 166048060.4, 85518008.69999999, 112018374.96, 121313691.66, 38665730.86, 122862633.6, 313370689.0, 296318281.2, 386568367.8, 604720508.0, 633238342.0, 617240247.4, 492931455.6, 652388241.2, 719671526.8, 752966722.0, 641145621.0, 391786220.6, 337582788.2, 411213374.8, 503937642.8, 474327511.4, 514624491.0, 638637390.6, 754342072.2, 783940948.4, 872300566.2, 1015395274.0, 1241545918.8, 1840062902.8, 1994507271.0, 1999728657.8, 0.0, 0.0, 0.0, 1980036588.6, 1276505481.6, 1850566703.2, 1080350739.8, 513342561.0, 514822872.0, 458884689.8, 396677640.8, 225949253.0, 143434065.76, 411583765.2, 150352640.06, 389620698.0, 297444371.6, 379832283.6, 617113219.2, 825565745.0, 1104070055.4, 777448533.8, 242705224.0, 652952837.4, 667527243.1999999, 764774663.5999999, 818110716.0, 858910926.8, 671705613.8, 754626157.0, 597926598.1999999, 604192644.1999999, 489368766.0, 523143815.6, 654201484.0, 622347336.0, 599087556.2, 509591022.2, 526644961.2000001, 461013301.6, 405273897.8, 268625459.4, 235457015.8, 199605013.78, 130519187.18, 83550922.8, 45418103.260000005, 8405000.780000001, 3004299.98, 855430.9, 0.0, 167095.25999999998, 2589158.24, 29426414.360000003, 98592225.78, 276931775.6, 484683331.0, 658908963.0, 688541413.1999999, 884491519.2, 982669386.4, 1055458472.6, 1533236396.8000002, 1731308870.8000002, 1795861580.0, 1923199353.8, 1961729182.8, 1999996213.0, 1999999419.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999999001.4, 1999882907.4, 1996884239.4, 1941447120.6, 1738586802.8, 1423576748.4, 1004715047.0, 708731778.8, 657202114.4, 612840517.4, 350446329.4, 453094022.4, 373947471.4, 891700341.6, 1992842494.8, 1988776271.8, 1992165171.8, 1999842210.2, 1996971433.0, 1997535752.6, 1760632323.0, 1716932783.0, 1947396808.8, 1955014863.6, 1873574463.8, 1919310060.2, 1970379519.2, 1973661944.0, 1999986825.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999881937.4, 1968301561.8, 1952046702.6, 1837764466.2, 1936852464.6, 0.0, 1999999026.8, 0.0, 0.0, 0.0, 0.0, 1999983258.0, 1995507297.0, 1998409139.4, 1999811089.2, 1999993763.4, 1999998380.0, 1999988519.0, 1951587510.8, 1970169633.6, 1999824206.0, 1996000990.8, 1999806371.6, 1999781867.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999989480.2, 0.0, 0.0, 0.0, 0.0, 0.0, 1999987521.6, 1993898642.4, 1996309285.4, 1995917703.0, 1994814142.0, 1964798848.8, 1995666063.0, 1950913304.8, 1567128878.4, 1650027063.8, 1132028581.6, 1976226609.6, 1991356641.0, 1909240583.0, 1911669820.4, 1894531013.8, 1505945203.6, 1539638710.8, 1526858052.0, 1460961579.2, 1310870377.2, 1451062722.6, 951051991.0, 695980424.6, 596594306.2, 386134967.6, 302631842.6, 115294890.82, 227143621.2, 200406112.4, 209275317.6, 204521693.2, 450396217.4, 549282690.4, 360316234.2000001, 434803856.8, 397577596.4, 316101973.0, 341442017.8, 493390080.4, 558221514.0, 546095231.4, 787982406.9999999, 586980076.6, 643914938.0000001, 871988374.8, 897541654.4, 875837518.4000001, 860782056.4, 660448932.0, 923774338.2, 696276867.4, 567409934.4, 396925200.0, 391829547.6, 433242016.2, 272275709.8, 234056788.2, 124625826.7, 61799582.14, 102006054.74, 185827614.84, 239096301.6, 277536852.6, 542720576.0, 545150143.8, 573109574.8, 774185869.1999999, 842889809.6, 917519492.0, 823221062.1999999, 1111906257.2, 1068475246.4, 1192561456.0, 885209584.6, 759151270.6, 965674436.4, 721859273.4000001, 669292796.2, 698446744.4000001, 617209248.4, 457359069.6, 445301364.4, 1726115237.6, 1396499464.1999998, 1989579452.4, 1998997234.0, 1998723553.8, 1883528474.8, 1831926904.2, 1959177798.0, 1837272958.2, 1420076043.0, 1530093311.0, 1561582251.8, 1826268872.2, 1748550542.0000002, 1508813763.4, 1423844330.0, 1396189268.0, 1277373764.0, 934877622.4, 903708285.6, 657798130.5999999, 381260548.8, 219608356.0, 164153526.26000002, 100469395.38, 117063169.76, 309557123.2, 632481131.8, 425647922.4, 407260593.6, 384753808.4, 474855930.0, 418647772.8, 489985252.4, 545808741.8000001, 503174639.2, 446732441.8, 396204842.4, 266087686.4, 214775880.6, 199274652.88, 146057223.32, 202085845.8, 224298785.8, 337838556.99999994, 404842505.8, 604309262.4, 571482553.8000001, 659512823.4000001, 558298440.6, 243421599.4, 128475083.14, 206460061.8, 196910854.02, 370640910.6, 446960041.4, 524757712.8, 416798706.2000001, 393485732.0, 239899769.0, 135679905.8, 67631132.25999999, 41108913.52, 23479598.7, 1415772.96, 0.0, 4507826.2, 28344233.64, 165647467.42000002, 293783720.0, 340651304.0, 324399548.6, 368070150.6, 448527686.0, 510066693.2, 490232193.0, 738223325.8, 893904429.8000001, 1474554804.4, 1848212898.4, 1939015327.6, 1971080160.0, 1992177537.0, 1999785126.8, 1999897601.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1973209752.4, 1997059114.6, 1997641370.8, 1870995742.4, 1456407922.8, 1234304114.0, 577661664.1999999, 1249479022.2, 1444003985.2, 1711310118.8, 1237863359.8, 1336045908.6, 1631908261.0, 1334522541.4, 384408735.4, 295782530.8, 62688613.04, 121385920.2, 265679644.4, 141663490.82, 62075814.56, 337019787.2, 1839741277.4, 538761516.8, 291558633.8, 1093730948.4, 1292783392.8000002, 1179971469.4, 956907176.8, 1294638584.4, 674205832.1999999, 281414974.0, 165766656.06, 214288173.6, 198932014.3, 572654222.6, 785442438.2, 526462522.0, 257851052.0, 127412899.88, 261824657.4, 376134989.00000006, 368428263.2, 154772515.44, 780221690.2, 985188217.0, 826073737.1999999, 1167795242.4, 1407982365.8000002, 1555105811.0, 1801179577.0, 1964001406.2, 1836908249.2, 1842076519.2, 1644036411.2, 1129883418.6, 802975502.2, 363275714.2, 200236844.6, 342611868.0, 240151414.6, 273065911.6, 1131240865.2, 1670595892.6, 1099826126.4, 1003180728.6, 607932264.6, 416851492.0, 407359238.0, 634175970.4, 438006662.2, 333819417.6, 293028765.8, 320346014.6, 417969110.6, 354422347.6, 222168159.2, 263554117.8, 253563376.8, 235763916.0, 356294217.6, 465939985.6, 780424678.2, 1031231196.2, 1427325494.6, 950704667.2, 736012324.6, 870618636.8000001, 1297292521.2, 1512526227.4, 1060270628.6, 1298607662.4, 1794536143.0, 1915968555.2, 1914925405.0, 1969370574.2, 1998334470.4, 1999996691.6, 0.0, 0.0, 1999999387.8, 0.0, 1997991546.6, 1877539601.4, 1974852024.2, 1999996245.8, 1999894666.8, 1998488960.4, 1998262807.8, 1983570151.6, 1968113653.2, 1980799260.4, 0.0, 1999996500.0, 1999995504.0, 1978822372.0, 1783005177.1999998, 1072713789.4, 200113878.8, 30077220.64, 241076173.8, 2371351.96, 0.0, 0.0, 0.0, 16364927.46, 480255234.6, 590158062.8, 186677919.96, 82263397.66000001, 1413473.52, 2628920.24, 107992031.66, 271680753.2, 899821207.0, 1195638151.4, 995756706.8, 248588737.0, 99014921.06, 298781999.6, 1395559602.2, 1997188042.8, 1999999250.0, 0.0, 0.0, 0.0, 0.0, 1042952302.4, 799837773.8000001, 829412933.2, 1289980411.0, 1262476742.2, 1482287657.0, 1557690527.0, 1220723856.6, 1130922912.4, 744600698.9999999, 398463067.8, 185292194.46, 170170288.04, 229347299.2, 207741232.8, 130342750.4, 141304677.76, 162619452.9, 271787613.8, 772672714.0, 1213129562.2, 1367972296.6, 1384865686.0, 1787832598.4, 1823610128.6, 1959780294.4, 1990411245.4, 1994668167.0, 1998858872.6, 1968574646.2, 0.0, 1999995935.8, 1999998207.8, 0.0, 0.0, 1999995095.6, 1999249234.6, 1977142757.2, 1968353327.6, 1596615847.4, 1221230337.0, 1056639055.4, 1112594230.8, 1169486162.4, 897648916.0, 990957400.8, 1272811515.0, 770306334.0, 947427055.6, 892892796.0, 585383012.0, 626462111.4, 597258550.1999999, 522741653.4, 463438357.2, 755795265.6, 568905522.0, 582332640.6, 997461878.4, 821421927.0, 684562689.8000001, 812204365.2, 657415578.1999999, 536964632.0, 888445501.1999999, 503407959.2, 613082381.8, 1168186395.0, 922517892.2, 855433820.1999999, 911040556.2, 1352899804.8, 1462387292.8, 1436033082.6, 1207818659.6, 931211765.8, 1020696849.4, 1052013853.0, 961015031.6, 683814355.4, 599208565.8, 378090820.8, 261569849.8, 148503147.84, 56442105.64, 22911550.06, 1185638.04, 0.0, 0.0, 0.0, 0.0, 1018975.28, 5382232.76, 45718116.86, 101731006.78, 154307684.18, 271690621.40000004, 377297022.4, 631408399.0, 1070361769.0, 1239957570.8, 1045207337.4, 698264904.8000001, 396796788.0, 346099427.2, 171734256.00000003, 226165012.8, 394784497.0, 622038603.6, 1014550966.6, 1026043739.6, 1178434344.4, 837950976.5999999, 956299272.4, 878690737.2, 1923849397.4, 1911115886.4, 1968076109.8, 1927886904.2, 1867344095.8, 1756858427.2, 1112227467.0, 911540536.0, 1140266700.0, 545547018.6, 910374107.2, 1641694751.6, 1999141921.6, 1999322518.8, 1950394888.0, 1944454961.8, 1848963665.8, 1530513503.2, 1479104006.0, 1453369906.8000002, 1263528549.4, 1289483868.0, 1217030963.4, 1006070511.4, 1045270742.2, 1265290042.4, 1275639450.0, 1081946205.8, 728701373.4, 593464920.4, 566748690.2, 328502698.8, 310941072.6, 344986394.20000005, 192444961.76, 299953632.4, 341127079.2, 433136606.2, 609300878.8000001, 1000156658.0, 1525871985.4, 1205235987.8, 1550003194.2, 1232516193.8, 1278027443.0, 870093999.2, 718731408.8, 706491286.0, 758869278.0, 432601138.8, 290442472.0, 352374182.8, 425381522.4, 543225874.4, 824460496.6, 819183725.0, 674327036.8000001, 984371759.6, 954026737.2, 626120553.0, 466698925.6, 215801520.8, 173672693.86, 65203361.16, 22185041.58, 10287610.88, 18876939.18, 18582525.92, 15357845.12, 20915531.56, 65160367.98, 187058142.58, 143429596.42000002, 87115096.08, 109456104.6, 66272044.32, 49849045.580000006, 29428827.62, 27317957.1, 11449797.64, 3009957.94, 1351823.5, 860738.92, 1688791.9400000002, 32614765.32, 39734389.18, 62540687.4, 138687833.76, 210529302.6, 264830943.0, 452615796.2, 548810709.8, 923688957.2, 1039964120.2, 1228042415.2, 1649687438.6, 1918144380.6, 1989851607.2, 1999995435.6, 1999995532.6, 1999345134.2, 1999363094.4, 1979226615.0, 1971604795.8, 1977739347.0, 1932244653.4, 1945237170.4, 1966468170.6, 1970269913.2, 1996966472.4, 1999997976.2, 1999996938.8, 1999995427.6, 1999995757.2, 1973452454.2, 1580001854.8, 802579449.6, 1016089145.2, 582081526.0, 698543087.2, 435180018.0, 744785292.6, 563345827.8, 609366464.2, 499009974.0, 566221964.2, 897549045.0, 1171254345.2, 1678452294.6, 1847341272.8, 1941368860.8, 1793556749.6, 1714108794.1999998, 1721224783.6, 1528627701.2, 1185935549.8, 1120134671.6, 1072347455.8, 947586088.4, 740267226.4, 519166703.6, 284991522.2, 176544927.56, 149144252.64000002, 202563889.8, 276068266.0, 209795935.4, 221260575.00000003, 102379125.58, 123774989.04, 157643699.57999998, 116654555.72, 81060130.4, 42242814.84, 513874517.6, 194301547.54, 136890301.46, 124722359.82, 150279890.54000002, 175886975.64000002, 234056514.8, 274008917.8, 219475881.6, 358603069.6, 457632674.6, 452346591.8, 173477930.38, 267140864.2, 513442326.0, 109133074.14, 45480392.88, 1544628.22, 4798863.0, 44886138.8, 31870151.04, 32575188.8, 58806632.74, 306537405.0, 827074559.9999999, 824054280.0, 530877861.6, 491244144.6, 411147242.6, 374267091.0, 954078053.4, 1536073764.0, 1075475635.0, 1310304788.0, 1781985494.4, 1824590756.6, 1889928079.6, 1933100880.0, 1732844961.2, 1840048532.2, 1861327650.4, 1994392658.2, 1917451466.4, 1915723334.0, 1788037270.4, 1527794903.6, 997689147.0, 877009909.6, 628629176.4, 553245365.8, 425840673.6, 374110516.8, 468499239.0, 185905621.52, 240440727.4, 326956828.6, 330254059.0, 346226261.6, 274061416.2, 302801371.0, 127765167.84, 78544094.82000001, 144081927.45999998, 62117893.82, 19464208.98, 14731517.22, 3772240.24, 3176670.08, 15838051.38, 5650007.78, 5098605.08, 4738344.72, 0.0, 0.0, 0.0, 0.0, 0.0, 270037.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2570446.46, 5136872.68, 9095199.06, 40609174.38, 55537690.36, 99840472.76, 195404568.8, 301584621.40000004, 427378225.2, 383145584.4, 340005303.20000005, 220541406.8, 105543500.16, 38437024.54, 6823794.42, 4424809.62, 19072733.14, 20897460.040000003, 102851487.44, 107864386.46, 36313875.98, 2727957.52, 957299.54, 4339073.12, 1651508.6, 1105316.14, 1199930.94, 9410153.3, 4589958.04, 2255527.84, 60857.92, 41751359.88, 32689376.96, 52426361.620000005, 11816414.86, 194359166.06, 109694481.78, 142617690.3, 116044290.44, 70518284.88, 2233261.96, 0.0, 0.0, 0.0, 0.0, 0.0, 1975083.58, 5585986.54, 285622751.6, 585754791.8000001, 703322573.6, 830033850.4, 1152918667.6, 973341893.6, 761734561.8000001, 515980559.6, 358415824.0, 231521312.2, 290529336.4, 242038341.4, 191201539.16, 38448527.94, 223583881.2, 629367047.0, 762689127.2, 977822710.8, 1003881573.2, 1191297425.4, 1035287658.2, 945966663.0, 1030110105.4, 788637023.8000001, 597319428.0, 261196792.6, 444371759.4, 449196639.6, 622519314.1999999, 861327512.4000001, 1067331241.0, 1798814171.9999998, 1566969139.0, 995378909.2, 1423387617.9999998, 1784256023.8, 1819243627.2, 1805303976.6, 1956450078.8, 1948301873.0, 1996834507.6, 1990349830.6, 1791159715.6, 1997147022.2, 1999024743.0, 1999541899.0, 1969562158.2, 1956332565.4, 1910556404.4, 1181176987.4, 307855861.6, 361012517.0, 1186830030.4, 1999412514.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999993843.2, 1999995715.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1997753759.0, 1996292120.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999691618.0, 1911709417.0, 1829290850.0, 1942138460.4, 1940883284.2, 1270861186.6, 709313694.1999999, 824045903.0, 779760898.6, 1042207992.0, 1786544772.6, 1965796813.2, 1998934254.2, 1999348555.8, 1999952344.8, 1998976981.4, 1968038561.2, 1823557859.2, 1704615869.6, 1801633735.6, 1915433904.0, 1969233124.6, 1979049491.2, 1903807669.6, 1861325246.6, 1505026883.2, 1707157517.8, 1931640975.6, 1679396559.8, 1889276792.4, 1286783342.8, 849814186.8000001, 619776732.6, 296854395.6, 553189458.2, 1496510903.8, 1381416249.8, 1973186067.2, 1049975633.8, 299630666.0, 354457180.0, 1415917847.0, 1535017088.6, 980757930.8, 825243534.1999999, 484335456.4, 285707924.2, 171122242.0, 161513935.1, 112586395.42, 137635641.56, 150185482.02, 92395602.42, 100744675.64, 184082460.46, 185870654.38, 268012396.0, 454393896.0, 425333407.2, 1020854832.2, 1369667325.4, 1659045071.6, 1940136830.4, 1663808789.4, 1378719776.8, 1091284515.8, 801802833.4, 898874469.4000001, 732612637.8, 1074458138.2, 1559740181.6, 1816662583.6, 1499024978.4, 1903238085.8, 1998129166.6, 1999800799.4, 1999996027.4, 1999996586.4, 1997480503.4, 1999880809.2, 0.0, 1999997566.4, 1999994649.2, 1999993756.4, 1999219681.2, 1998414141.8, 1834986213.2, 1928634021.0, 1989907402.8, 0.0, 0.0, 1999996446.6, 0.0, 1968421924.8, 1967105258.6, 1714700607.1999998, 531807116.8, 1531684295.0, 1996709195.8, 1999995347.2, 1999908427.0, 1999936652.2, 1994283973.4, 1992974598.4, 1988626382.0, 1992630568.0, 1999783910.6, 1999920157.8, 1999963567.0, 1999950068.2, 1999809106.6, 1999815329.2, 1999879106.2, 1999983125.6, 0.0, 1999920089.4, 1997562466.2, 1998165565.2, 1996613160.6, 1995578869.2, 1993319564.2, 1988893883.0, 1974320633.8, 1943090057.6, 1838712613.6, 1961121318.2, 1913604674.8, 1693135846.4, 1413535196.4, 1279285528.6, 1047666831.2, 975485994.8, 570409172.8000001, 613227052.4, 664203117.0, 647556379.1999999, 743374755.0, 827001031.0000001, 704893397.8, 418952854.2, 267536729.6, 220993061.2, 146966425.64, 115145722.06, 85414372.36, 88049756.69999999, 114389589.46, 56211131.92, 92017441.98, 173867236.9, 215922685.4, 170046772.34, 140573315.9, 117291667.78, 47424005.16, 74547747.78, 55804183.04, 62553971.84, 32051763.08, 4324564.04, 176886.4, 0.0, 0.0, 0.0, 421862.78, 6600232.5200000005, 31288941.48, 215974162.4, 502963320.4, 826324363.1999999, 1330589720.2, 1696678474.6, 1864844694.8, 1823503963.8, 1749391743.8, 1799484548.2, 1801971348.6, 1834987719.8, 1406420180.8000002, 1239238667.8, 1189480123.0, 866836807.4, 893661856.1999999, 902751659.8, 1510707073.0, 1999968303.4, 1952999160.8, 1791186565.4, 1394796329.2, 1746609431.2, 1673952042.8, 1165878832.2, 1283215758.6, 1227964838.8, 1045150845.6, 1973341871.6, 1804221122.8, 1741425299.8, 1875338577.2, 1909585470.0, 1990179008.8, 1982428263.8, 1996979407.0, 1997355523.8, 1997505229.2, 1996890682.0, 1997395059.8, 1999903481.2, 1997650586.2, 1955832644.0, 1985391222.0, 1933665158.6, 1758073860.6, 1498192758.6, 1543588965.4, 1450641118.6, 1536497297.8, 1659600361.2, 1499563034.8, 1089670579.2, 838078297.6, 775600028.0000001, 865822101.6, 960734765.6, 722041698.5999999, 576963047.4, 668531045.6, 901517903.8, 778651921.0, 670640666.5999999, 639423474.0, 751898240.0, 725665733.8, 584905822.4, 467590364.4, 421228789.4, 257223442.8, 126446905.92, 81049222.92, 84136408.04, 82863453.91999999, 64929251.62, 66344786.56, 102790903.4, 122139756.32, 137293353.52, 131935588.56, 182551846.14, 275520817.4, 161275783.24, 142949417.01999998, 143756643.16, 84177861.03999999, 88207382.98, 92953985.2, 124133744.86, 94430046.76, 58234273.76, 33199899.92, 6218066.38, 2454872.48, 0.0, 0.0, 0.0, 4046263.44, 39029079.36, 26828295.76, 15018432.44, 2633507.92, 2271982.02, 3081035.3400000003, 2400069.66, 184025.12, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1423294.0, 69506217.17999999, 245918196.2, 231772034.4, 13595972.56, 185717441.9, 309412368.6, 424909787.6, 810443416.8000001, 1080628955.0, 880003881.0, 525092765.6, 535239134.2, 569481572.0, 500900121.2, 452766671.2, 747470195.6, 783685351.2, 602701793.8000001, 761190795.8000001, 630002857.6, 592524707.1999999, 734666897.5999999, 640294145.2, 679502580.0, 467865511.0, 493104414.2, 390577956.2, 285746399.6, 186207021.66, 97995645.0, 159390215.58, 91204071.52, 57664521.18, 35142995.28, 22616213.040000003, 9195012.1, 21656998.9, 1348485.22, 357981.02, 1089460.0, 28248099.84, 43975420.48, 52644582.38, 29883510.18, 32445633.86, 94771873.26, 174551612.46, 231410883.2, 275862997.8, 369486827.0, 545146064.4, 717029202.6, 1283644337.8000002, 1321669462.8, 1092199651.4, 1865592939.6, 1843108482.0, 1817103199.6, 1206786506.0, 550078325.6, 1997914284.6, 1977798969.2, 1619380925.4, 1375391473.4, 1079661237.6, 1795847076.4, 1713483446.0, 1354389952.6, 1999995230.0, 1881681236.2, 1831402277.8, 1990144249.2, 1996688960.8, 1998331346.6, 1999038600.6, 1998576951.8, 1998029288.4, 1997580500.2, 1994666839.6, 1866739790.2, 1830887440.6, 1047179431.8, 999043915.8, 963586114.4, 905088744.2, 1136603461.6, 1448962014.8, 1744895445.9999998, 1663527958.8, 1848445333.0, 1968091178.2, 1966751602.0, 1948987500.6, 1956977422.0, 1934102250.0, 1799626765.4, 1969448437.8, 1996639976.0, 1996837600.8, 1949704651.2, 1904398293.0, 1935912599.6, 1954411706.8, 1954134011.0, 1945724161.2, 1972580362.8, 1969235733.2, 1998032723.4, 1997226020.4, 1991216093.8, 1977391075.0, 1951061852.8, 1070869411.2, 1378776545.8000002, 1295322543.1999998, 1098220081.4, 1215535523.4, 1051538038.0, 515864034.4, 551197497.2, 630277478.8, 958130631.0, 871187809.5999999, 1100540954.2, 1233423696.8, 938000809.8, 823258458.8000001, 1294245667.2, 1233494162.2, 1405570765.6, 1107324503.0, 1475835197.4, 1656817930.4, 1803698282.6, 1727548587.1999998, 1536906848.8, 1301553410.4, 1163371949.0, 1675235334.6, 1773096578.2, 1696261373.4, 1537767968.6, 1126221061.4, 1366731184.9999998, 1203980536.6, 1109863631.0, 729443271.4, 706736742.8, 774368819.5999999, 708668943.8000001, 917225937.4, 1115009863.6, 1137666318.4, 1149943631.2, 1077541927.6, 819969399.8, 664611764.0, 710727897.0, 718361746.1999999, 780993593.4000001, 723210702.4, 717644988.4, 622630619.6, 535905363.6, 451298123.6, 423729232.4, 409793002.8, 442538369.00000006, 344339372.0, 327731005.2, 231498925.4, 113622799.46, 27681639.1, 22558186.06, 3393777.7800000003, 541817.5599999999, 4397390.66, 6093558.74, 3747243.46, 1707691.58, 10682437.3, 38643535.14, 104073391.9, 112853992.1, 196944024.08, 331498532.6, 228094669.6, 522117265.4, 569275371.8000001, 924058682.0, 934497182.8, 1426418773.6, 1623736812.2, 1707371026.4, 1803887710.8, 1786069418.2, 1904545996.6, 1946003843.8, 1988377361.4, 1896485167.8, 1821351071.6, 1956953631.4, 1999905380.8, 1996902881.0, 1999986703.8, 1990937841.0, 1981367598.2, 1991267676.6, 1997789346.0, 1999998711.8, 0.0, 1999998299.6, 0.0, 0.0, 1584640304.2, 1388724798.6, 506476757.4, 314698255.2, 156328464.9, 34502483.9, 67556555.62, 479064327.6, 471538738.2, 421798135.0, 534403882.4, 715973809.0, 806793385.0, 469460991.4, 421905658.2000001, 301686372.0, 99956937.36, 3395923.32, 0.0, 0.0, 4512588.5, 30979422.66, 43752409.22, 2583489.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6024773.88, 101912518.44, 181672648.76, 218280964.2, 193458146.2, 176323142.42, 97353973.82, 115339925.2, 255038491.4, 358279701.6, 432614306.8, 428967459.4, 605590950.2, 735555097.8, 793254836.4, 852221925.5999999, 865245681.0, 966004918.2, 742725342.1999999, 418916723.4, 613774666.2, 719913528.0, 729385599.6, 692270771.4000001, 1080107619.4, 1414984730.6, 1357273833.2, 1596313961.6, 1603621183.6, 1940602015.2, 1965804188.2, 1959624273.6, 1889042393.4, 1595797477.4, 1789474150.4, 1495974656.8, 1816416566.4, 1838004597.6, 1814283997.6, 1524522576.0, 1504349750.6, 1408059400.0, 1375595778.8, 1280627750.6, 993928746.8, 631593084.0, 440110850.0, 280890964.8, 315909130.0, 788073161.0, 1563561539.0, 1875884845.2, 1589594210.4, 1302933803.6, 1060455817.8, 1703320945.0, 1662586686.2, 1937468080.4, 1784688959.6, 1487243460.0, 1049892665.2, 1120428759.0, 1141437241.4, 1055205909.4, 1158372013.0, 1271175107.2, 1213238352.4, 1023350448.0, 1007337994.0, 1090116049.4, 1049284657.6, 820610811.0, 1068340456.4, 1153141339.0, 1078794959.4, 935426682.0, 1301996999.8, 1523443636.8, 1810697695.8, 1972661130.4, 1997886318.6, 1999996747.0, 1999994765.2, 1999999889.8, 1996824197.6, 1837369555.4, 1788833529.8000002, 1646297460.8, 1467103748.4, 1378663088.2, 1107010116.0, 1618067625.8, 1306936522.4, 1555852966.9999998, 1370799209.0, 924369627.8, 779647437.9999999, 947128500.0, 1227178034.4, 1292193140.8, 1463885939.2, 1221723553.2, 1187432596.0, 850053581.4, 666355999.8, 413887631.2, 260237228.6, 181314022.52, 113599596.58, 110560996.92, 99686196.18, 50445217.1, 41997094.1, 19040445.1, 22040185.48, 48038796.74, 50602037.18000001, 115527966.88, 180297646.52, 63660721.72, 53635091.900000006, 32742109.24, 14886897.44, 17745368.84, 28588206.5, 25497028.8, 32268722.16, 56626191.940000005, 23949652.5, 92719772.06, 85366894.02000001, 162109438.52, 131093686.04, 125058611.36, 87313958.22, 45516800.760000005, 87840001.26, 124220520.42, 116038115.66, 121981944.84, 163497522.8, 169811105.5, 144616913.04, 65613582.900000006, 31045082.08, 30720440.62, 52959981.26, 31968010.56, 15038064.4, 22270539.1, 41430685.34, 68290404.6, 65077634.92, 54800079.92, 106868803.04, 142222448.26000002, 251900455.0, 301682875.8, 337046027.2, 321242600.8, 379821437.8, 483998514.0, 565703688.8, 438084256.6, 616509780.8000001, 624132270.0, 981213420.6, 1182875496.8, 765146414.2, 507168868.0, 180375822.44, 46725106.22, 2227777.68, 0.0, 247606.76, 4201825.28, 2200249.94, 1038267.78, 2299529.34, 379795015.8, 153529496.28, 182005.88, 2877408.9000000004, 22655015.9, 48633353.22, 305775360.6, 313470558.0, 567698086.4, 551633855.0, 416676290.2, 282221917.6, 197253889.54, 184023634.76, 194821064.34, 358572689.4, 626629406.4, 857166268.8000001, 436961108.0, 537329736.4, 363887869.0, 456207699.6, 621527963.0, 432678099.4, 379328605.4, 452986512.2000001, 504206015.8, 619929564.1999999, 640437637.2, 503621871.8, 333392339.4, 106991206.88, 29238341.78, 5654442.0200000005, 12509917.22, 0.0, 0.0, 0.0, 0.0, 1478105.78, 14236383.0, 8621190.32, 25625247.96, 80425241.16, 97935804.46, 207426180.8, 176134236.5, 190504932.9, 146990809.2, 74423531.78, 24728977.66, 94556083.8, 36020961.2, 20043466.4, 5397877.94, 2829769.18, 1156552.26, 0.0, 0.0, 0.0, 10561412.48, 38230051.58, 31463753.54, 112978365.94, 292179412.4, 583966106.8000001, 551777242.6, 574038830.4, 567168157.0, 674842993.5999999, 462360047.6, 254124575.8, 176069309.85999998, 0.0, 32887688.34, 12436785.7, 111296195.54, 240742763.6, 237805876.2, 85570050.2, 4682665.72, 30509995.12, 54114498.74, 31000249.02, 396633606.2, 1166782969.6, 428166606.6, 981538962.4, 567800996.4, 413856782.2000001, 318646888.4, 86784779.25999999, 27915094.48, 83769716.76, 339346878.2, 621484142.2, 1275806924.2, 1180786467.8, 1273743808.0, 1200703430.2, 1171982389.6, 883591120.4, 852944052.0, 678891955.4, 411946960.6, 150016842.78, 49595777.7, 237350.62, 0.0, 116792134.98, 74865609.8, 5608471.86, 0.0, 15297892.6, 43866236.66, 0.0, 1087014278.0, 1989665967.2, 1989327565.4, 1997538968.0, 1998832629.0, 1999183501.2, 1994912455.6, 1991386189.0, 1982994708.6, 1944751689.4, 1987083453.2, 1991886074.4, 1985933468.6, 1960036992.2, 1905444146.6, 1814761603.0, 1765454696.2, 1478028128.0, 1241692409.4, 1096018610.8, 955337433.8, 1012274142.4, 849784435.2, 715157345.8, 431989822.8, 344670634.0, 188726639.24, 125379308.08, 163599140.79999998, 87673071.39999999, 77678026.64, 85108467.66, 68209408.96, 54758514.82, 41025298.08, 8869488.66, 1363547.26, 376183.02, 0.0, 29238128.200000003, 26856551.74, 71624161.66, 136126709.0, 216316734.6, 378387898.2000001, 614055126.8, 648470199.6, 859945441.0, 1057188730.4, 842677564.0, 1341359795.2, 1053721676.2, 712756099.8, 383645642.6, 637674779.4, 360749130.0, 1246234369.8, 1117458744.4, 1625720125.0, 1750279142.4, 1964369566.8, 1970466574.4, 1982604128.8, 1870274533.6, 1723010906.6, 1916500405.0, 1779906405.6, 1595404924.0, 1078345635.4, 795317645.4, 572505342.8, 638709689.0, 663748519.6, 409563849.4, 315387364.0, 150879622.74, 97181876.32, 111244501.86, 114297518.82, 198989684.24, 248094868.8, 268502364.0, 403210415.8, 644215811.4, 613788303.8, 1075643728.0, 1471988204.2, 1154757638.2, 1058897943.8, 1732592195.4, 1842512157.8, 1939951340.2, 1974645893.0, 1991891763.2, 1998292395.8, 1987608554.8, 1877414941.4, 1673151466.6, 1302803792.1999998, 1053833242.8, 613887407.6, 472142476.6, 333476577.2, 272699369.8, 424043901.8, 452178400.4, 606613715.4, 372099210.6, 397102570.2, 442551015.8, 394738510.8, 426253228.2, 426895766.2, 368023584.0, 379726676.6, 496305172.8, 467797521.4, 383622389.4, 311718530.4, 384774248.2000001, 503394062.0, 788692151.0, 869744771.2, 842282933.0, 443643158.0, 545082503.4, 511053076.6, 489708218.4, 452678246.0, 317898907.8, 198349723.68, 231927047.4, 167948099.2, 10178650.14, 3683620.2, 886286.56, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 413419.74, 1102686.64, 2232832.92, 14379376.14, 1957606.26, 27774645.02, 76450001.22, 72561587.0, 160979830.22, 293208937.0, 452127854.2000001, 602125859.4, 644608383.4, 700396186.2, 888566054.0000001, 1093837431.2, 885800024.8000001, 1002706071.0, 1518979981.4, 1513212574.0, 1788840717.9999998, 1937272392.4, 1936790462.6, 1939925535.2, 1989921422.8, 1997881703.8, 1999996865.0, 0.0, 0.0, 0.0, 0.0, 1970377901.2, 1771060121.2, 1543730964.8, 1785795836.8000002, 1907358975.8, 1998098407.4, 1999102151.8, 1947413398.8, 1941592149.4, 1330696963.6, 1239750456.8, 1838090583.4, 1942798088.4, 5249004.26, 17747000.959999997, 685383234.0, 797485323.6, 531831683.8, 671988255.6, 554942136.1999999, 753360472.8000001, 550775089.6, 488537182.6, 538283244.6, 364200656.8, 223876385.2, 459702926.2000001, 379169989.6, 563205055.8000001, 276594262.4, 1595314413.2, 1721576540.6, 1830623841.2, 1391481035.8, 1460094739.8, 1517417481.2, 1280522471.2, 539249197.4, 221379926.8, 48103447.2, 12772530.7, 45405284.3, 58931921.8, 153265076.68, 140548702.35999998, 274534108.6, 339005960.40000004, 286565014.4, 365811203.2, 597629801.4, 683987796.0, 909099522.0, 959011541.4, 1338350919.4, 1225882216.4, 1480889348.4, 1758628875.4, 1470174438.4, 1638407782.4, 1773353295.0, 1896691910.8, 1842586891.0, 1991700363.4, 1943803024.8, 1936605211.0, 1879751322.2, 1419669711.4, 889330542.8, 768143012.5999999, 606413172.4, 914789097.8, 667773962.4, 1107849191.0, 700364500.6, 503272144.8, 859681364.0, 38908034.68, 261087364.8, 694150185.2, 10465573.319999998, 0.0, 4209249.1, 3230006.04, 26485992.26, 0.0, 2757023.02, 24462456.72, 206921277.0, 155665481.34, 330346338.20000005, 698465183.9999999, 464843781.4, 533637957.4, 595147889.2, 86450016.44000001, 59801148.18, 76509200.5, 5235978.100000001, 112460060.46, 149739316.04, 103242867.62, 88477403.26, 84620426.28, 200758040.6, 220207573.4, 50998933.46, 1047238.74, 176729153.35999998, 260428160.4, 86683604.63999999, 67701046.7, 64065389.0, 102231456.58, 129147404.38, 60127537.760000005, 10532428.6, 47475252.38, 33796985.84, 41923089.38, 53203767.32, 150222510.67999998, 0.0, 107484938.64, 431623000.8, 281617970.2, 196850499.06, 639526540.1999999, 787118565.6, 594200179.4, 1021232698.0, 821056254.4, 1114908474.4, 1384853891.9999998, 1411159694.6, 1265195861.4, 1455909432.8, 1570408457.0, 1764740410.1999998, 1301497539.0, 1395989235.8, 1373447490.8000002, 1334291243.0000002, 1947853612.6, 1485926605.8, 1526797147.0, 1702733929.8000002, 1810451143.8, 1649154645.2, 1500020300.2, 1378960904.0, 1253305552.2, 605336487.6, 572982801.2, 617969504.2, 552282341.0, 418819500.8, 374224450.2, 356175051.2, 289527693.4, 249315084.6, 159284505.29999998, 128536503.16, 127332711.06, 61955289.88, 2239461.44, 2029459.32, 3508675.8400000003, 34570734.22, 1204036.22, 134415882.79999998, 62799165.26, 120853800.24, 157659346.14000002, 355230978.8, 688482408.8000001, 1065106164.4, 1667445041.1999998, 1898296555.2, 1979182475.6, 1957020390.4, 1977377719.0, 1955025253.8, 1996811544.2, 1168213783.8, 1039128807.6, 854129657.8, 684719195.6, 741915231.2, 500799396.4, 737386885.0, 818508276.0, 783901856.4, 475566834.2, 866281058.0, 827083510.1999999, 632419815.0, 618598931.4, 646715260.0, 534091702.6, 547478467.6, 599484057.6, 617834367.4, 830284358.6, 927221136.0, 678330878.8, 659315011.4, 921479302.8, 1173661792.0, 1586450961.2, 1685327215.2, 1958080254.4, 1978748324.4, 1999996622.0, 1997698694.4, 1982631707.6, 1996696323.8, 1982511341.4, 1986091722.6, 1941721311.8, 1943593970.0, 1649049417.8, 1949782946.6, 1996753085.0, 1999993354.0, 1999997033.6, 1999997119.6, 1998121663.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999114185.8, 1896784126.4, 1722364173.8, 1423603501.4, 1519767637.0, 1286693248.8, 924502524.6, 919521378.6, 691108236.5999999, 259163308.8, 224554743.2, 0.0, 102276863.28, 976019283.8, 115518882.98, 411751884.4, 517445545.4, 447763951.2, 483741244.4, 926555660.6, 1340940419.6, 1339291309.6, 1847115636.0, 1928811533.6, 1999995985.8, 0.0, 0.0, 1999999600.4, 1999997752.0, 1793312537.6, 1531346181.8, 1582321926.4, 1828166019.0, 1051842993.6, 873925493.9999999, 647850983.8, 989165220.2, 1336120147.6, 1254060156.4, 1441739006.4, 1429613609.6, 1767269613.0, 1577658476.6, 1945329386.2, 1894347005.8, 1622439360.8, 1635718771.8, 1720008102.6, 1543317733.4, 1821065357.6, 1267653202.4, 1507980489.2, 1617113460.2, 1166717987.0, 1489410767.0, 1379349393.6, 939051631.4, 690156156.0, 519412353.6, 394865113.6, 218936499.4, 94713026.16, 56534088.82, 135726366.1, 379826006.6, 137655277.82, 158174364.70000002, 392539143.2, 287078834.6, 255820194.8, 365351002.6, 422255183.0, 477889123.8, 351877976.00000006, 458654137.8, 461704211.2, 637345206.1999999, 636011622.6, 288096322.0, 203220547.2, 239482801.2, 278506648.4, 260856393.0, 248642186.2, 819308931.4, 285516465.8, 347350851.2, 495077666.6, 757460711.4, 629811654.6, 1054446866.6, 1184777012.4, 1338452801.8, 1275374730.4, 1276044558.2, 860194711.2, 667932892.5999999, 953271474.4, 762766174.8, 685168539.8, 834998205.0, 538109483.8, 559980552.6, 384079310.4, 420125161.2, 268461513.4, 137894996.14000002, 919745055.8, 1799767762.2, 1788614884.0000002, 1220031753.0, 1786347409.8, 1936419825.6, 1961970903.0, 1999939883.8, 1999959973.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999995771.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999995130.0, 1998177617.6, 1999232543.8, 1916149666.8, 1999994571.6, 1999994287.8, 1999761508.2, 1999996361.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999927471.4, 1999809909.2, 1994957224.4, 1964296766.6, 1981844378.2, 1958987485.2, 1820949527.8, 1452505938.2, 1515387457.8, 1245184178.0, 930320550.4, 764320705.8000001, 805591514.0, 703109429.8, 461705916.0, 390366449.2, 340782325.40000004, 399906074.8, 548435409.0, 891380024.5999999, 1157585141.2, 1215757737.6, 1310434607.0, 1564276110.4, 1489152038.1999998, 1228949625.0, 1336164363.0, 1488239752.0, 1644132726.6, 1460678348.2, 1976935050.6, 1931090146.4, 1759373326.2, 1823162902.4, 1796898213.4, 1640370376.4, 1388036905.2, 799105086.8000001, 921765333.8, 734657677.0, 466761791.4, 642979638.2, 948038722.6, 1040427005.2, 989300526.2, 979806336.2, 990599026.8, 900348263.1999999, 713580004.8, 437984960.4, 311206497.40000004, 122436653.42, 126108708.0, 181239615.28, 220498122.6, 291749694.40000004, 588489870.2, 813168528.6, 997696592.0, 1200492431.0, 1172419039.8, 1314101638.6, 1683703561.6, 1814412608.8, 1766781889.8, 1811312952.2, 1850122900.6, 1688779306.2, 1349525926.0, 1273374294.0, 1211382656.8, 982160528.0, 653598106.5999999, 456432343.00000006, 236156634.6, 124836064.68, 33578848.0, 2722615.22, 659187.0399999999, 0.0, 0.0, 4041706.0, 40937126.7, 102835196.32, 217539216.4, 287188218.2, 474475154.0, 973172875.0, 954756397.2, 1040022898.0, 1048124914.4, 1247674559.0, 1413500707.0, 1534671246.8000002, 1493910638.4, 1186248441.8, 1254676988.8, 855595941.8000001, 1653983026.8, 472514311.8, 540541786.0, 305264494.6, 45900665.12, 4845183.48, 0.0, 0.0, 116227349.18, 5366400.68, 203234768.8, 1686897435.6, 1299557291.8, 1400471050.4, 1777381758.8, 1609440192.4, 1437342303.6, 1999994256.8, 1827398688.4, 1391047051.8, 791677858.2, 573869683.8, 940389736.2, 728045671.4, 35074084.62, 60587783.48, 61489815.42, 47217581.46, 52856873.38, 57112849.02, 23247694.76, 57501736.04000001, 235529212.8, 226148702.6, 369754870.2000001, 805589935.9999999, 720266022.6, 368665522.8, 452181345.0, 473644972.0, 337657872.40000004, 132056314.04, 162416922.96, 94959904.54, 28006127.4, 162547840.55999997, 155834280.7, 138107108.23999998, 174737058.7, 188492523.06, 177146390.57999998, 86052408.72, 114291981.98, 225899861.0, 89060140.56, 2744936.16, 2277091.42, 2154281.5, 3208078.12, 2278476.16, 0.0, 0.0, 0.0, 30810723.52, 41424025.54, 9728536.12, 21044834.520000003, 28538192.0, 128885517.74, 252858016.6, 59673184.1, 256407856.0, 260288001.00000003, 287750062.2, 587603078.6, 1024126858.0, 926483433.2, 858564768.8000001, 827379935.2, 473925201.8, 536665100.0, 710158932.4, 664849235.4, 599762291.0, 1096347426.6, 473208817.2000001, 333596494.0, 672550073.0, 632629734.8, 717575833.8, 769615404.2, 845656160.0, 563870702.1999999, 705368454.0, 1205234979.2, 1770497386.0000002, 1474423592.6, 863097162.6, 1109546653.2, 882056601.8, 1069348264.8, 1211439919.4, 876824299.2, 880574739.2, 903452530.4, 735979508.4, 608093591.0, 605774212.0, 502755042.0, 391588747.4, 392454916.0, 324371198.79999995, 196224977.64, 170497388.73999998, 111140902.34, 63395579.92, 60585391.24, 36568322.28, 34730423.52, 30337972.4, 23473623.76, 4157753.48, 366426.8, 0.0, 0.0, 1249140.34, 13416731.420000002, 83496780.44, 201065682.8, 432075499.2, 665044926.8, 745896551.2, 850127057.0, 1388596888.8, 1615690781.2, 1581203605.4, 1280782600.6, 1192435132.6, 1256954285.2, 1087416471.2, 1234184748.4, 1362331265.0, 1597809021.8, 1663218438.2, 1792394582.1999998, 1939406155.8, 1828724941.8, 1766515035.4, 1960685266.0, 1997169420.8, 1998368654.0, 1995239493.4, 1818323732.8, 1461257592.6, 1144302224.2, 931671638.6, 659703832.4000001, 751812991.5999999, 618565554.8, 849231758.4, 399586366.8, 796101976.6, 367878431.4, 214826780.2, 346315869.0, 92835012.4, 38337752.08, 386195284.0, 93826897.28, 52456465.24, 222935499.0, 247512547.4, 340940498.0, 341814420.4, 243973352.8, 101823781.12, 311683062.2, 379294465.6, 262787448.8, 111945046.08, 108101684.3, 57323031.96, 12304615.42, 1446981.14, 531294.28, 12995481.26, 70367785.3, 109775936.62, 62831899.72, 9978918.28, 22814126.3, 112305265.34, 555703760.1999999, 917776676.6, 1313525104.6, 1839771707.8, 982579829.8, 622294660.1999999, 597667212.8, 547120527.2, 803012366.0, 1282985976.4, 1564510401.4, 1704323314.2, 1718364051.8000002, 1676243081.2, 1915077643.2, 1837895342.0, 1870614165.2, 1996010727.8, 1490201432.0, 1867820410.4, 1975036757.8, 1998147267.4, 1975089678.0, 1759480761.0, 1219370061.8, 788128356.4, 1523701103.2, 1425547510.8, 1425665275.4, 1768438737.0, 1859077896.8, 1807213346.6, 1517785978.8, 1729065620.8, 1479863132.8, 1915370607.0, 1875702191.0, 1988701040.6, 1998219283.0, 1991982486.6, 1996860047.8, 1883043146.2, 1446866249.4, 1037575955.0, 1420921799.6, 1119896907.2, 1264967570.8, 557118570.4, 672042234.4000001, 400925224.0, 285700201.6, 596583102.6, 197548373.54, 750399031.4000001, 959950892.4, 1003721416.0, 1386967571.2, 721808717.4, 815231912.6, 608623603.2, 1352762839.6, 1112804184.0, 984778995.8, 1616068152.1999998, 1962693582.4, 1997372647.6, 1999230440.0, 1967901867.2, 1979544320.0, 1987859539.6, 1990331181.8, 1999997422.8, 1999996960.6, 1978078303.0, 1990096507.2, 1961462117.0, 1948228276.0, 1856511055.6, 1854551587.0, 1861536874.8, 1942026875.4, 1954609055.4, 1966841010.4, 1985693303.6, 1951493842.8, 1800919994.6, 1725370433.6, 1582313636.8, 1524373474.4, 1710628214.2, 1807429295.6, 1828791991.0, 1951638615.2, 1957978888.4, 1892724095.6, 1947534144.2, 1773703598.2, 1747516054.0, 1637761518.0, 1359905520.4, 1320221815.8, 1142223532.0, 955704176.2, 965294261.2, 990335787.4, 1058450687.0, 1004540539.8, 846177787.2, 632076826.2, 470329594.4, 383356650.8, 236582502.6, 116220467.3, 90321369.96, 70150309.28, 140252038.42, 129942703.14, 98877581.2, 71284136.42, 60812920.18, 69339964.38000001, 80087774.96000001, 47341665.6, 38313252.86, 19634265.22, 4662207.42, 2019620.74, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 588594.96, 8350975.12, 4970925.46, 2039742.04, 1184662.56, 20407141.8, 71609686.06, 139884363.14, 126428463.74, 233026493.6, 267929907.0, 226420825.0, 157311771.3, 174232211.79999998, 177606825.28, 190698175.22, 181228742.5, 246901810.0, 447463000.2, 299919033.6, 296132670.2, 534476078.6, 512346906.0, 664945077.0, 700542031.4, 946051854.2, 821569456.6, 833663141.6, 939058776.6, 1071170607.0, 1363280809.4, 1530532290.8, 1448457306.6, 1512630014.2, 1992456621.6, 1998151584.0, 1981607231.6, 1967349562.0, 1800619890.6, 1280530029.2, 514404782.8, 1072342146.2, 1460587564.0, 1405129742.6, 793099048.4, 1182499959.6, 1207765894.2, 1057895008.8, 1028188818.0, 1052143502.0, 1112927889.4, 1039898450.4, 1076208213.6, 1090215587.6, 977036092.8, 1040468352.4, 949075251.0, 972241722.0, 976483812.4, 795171472.4, 704394851.4, 688147307.0, 760285478.2, 497542295.4, 393015492.4, 330146573.2, 403943142.0, 329523857.0, 221746296.8, 322526170.8, 346033989.2, 255405076.8, 271367108.8, 154985060.58, 80311872.66, 7502588.64, 379074.72, 0.0, 0.0, 0.0, 0.0, 0.0, 2573331.24, 6339649.72, 7814190.38, 29293764.28, 65368495.9, 170610039.5, 202539068.6, 179930676.92000002, 106321020.86, 127598585.62, 244050639.2, 88388033.36, 33830468.44, 29190777.34, 15345112.7, 1770213.64, 497176.06, 5611242.119999999, 1186559.54, 0.0, 1513465.1, 7628747.84, 51653133.26, 93095779.94, 145428225.44, 393700723.4, 367244829.6, 504327202.0, 824193872.4000001, 887494558.8, 711293434.6, 555864591.4, 493355768.2, 385538859.4, 283836457.6, 168781048.96, 140265640.07999998, 54257437.2, 21822170.28, 11013046.04, 894697.6, 319945.74, 0.0, 0.0, 0.0, 0.0, 2020874.7, 46728430.08, 2473657.72, 336809.3, 4087392.6, 26162132.06, 50633014.96, 52070324.98, 55830419.78, 34864239.34, 6489092.96, 658665.0800000001, 0.0, 2173205.22, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 857220.36, 13386687.58, 42957653.52, 100903360.4, 155674877.8, 199255258.72000003, 362405342.6, 390652990.4, 427149908.6, 596472795.6, 711958561.4000001, 913535819.6, 895956334.0, 1034884749.0, 1054304055.2, 1085148414.8, 1296666778.6, 1209515111.4, 1172591203.8, 510028679.4, 254607836.4, 192938630.78, 84325771.7, 116275403.44, 233810858.2, 37179302.04, 1324006.8199999998, 203284900.0, 227135389.8, 203755965.8, 101055529.98, 241551312.8, 317473959.6, 280171670.0, 585714876.0, 561983160.4, 599240515.0, 763125783.6, 635783197.2, 1322392413.8000002, 1806369396.2, 1841852871.4, 1735212946.0, 1687220296.2, 1805319791.6, 1928307267.0, 1751059463.1999998, 1798249418.6, 1730139283.8000002, 1881258440.4, 1639898299.4, 1985113291.2, 1924967183.2, 1811770228.2, 1897623272.4, 1913975085.4, 1719044585.1999998, 1366630122.4, 737454224.1999999, 558963669.1999999, 901348877.2, 459148658.6, 343196369.0, 429132589.0, 416089029.2, 584761896.2, 470609694.0, 455366129.2000001, 455388271.6, 293647433.8, 294000299.2, 316390116.8, 298102033.0, 117859890.3, 109992629.62, 182318123.74, 255549112.8, 223540199.4, 214248275.8, 126417795.14, 85205488.36, 89444182.10000001, 47337256.42, 21753412.94, 10100882.22, 5099526.54, 2327366.64, 1300790.3, 2832540.28, 0.0, 4146691.54, 3314589.8000000003, 23005642.96, 32596492.5, 92302914.66, 182806470.9, 189641367.2, 93734303.5, 114026744.14, 78784680.24, 69253364.28, 18452365.3, 25316288.26, 22455412.6, 65711405.86, 91739595.76, 112907329.36, 156283743.3, 160465330.98000002, 149175627.04, 101474833.56, 94981546.22, 184794368.4, 219664092.0, 180410863.82, 159564711.12, 146085560.92000002, 149764251.16, 142589281.24, 106172992.02, 61161168.82, 18111028.16, 12305262.9, 3432668.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1621131.92, 3511709.38, 6322398.460000001, 12674281.4, 1790233.72, 0.0, 0.0, 2020422.36, 11281928.64, 45414579.22, 77789654.38, 182594305.26, 198036660.36, 199682607.0, 157313706.4, 205474747.0, 144448633.72, 102579173.56, 72196201.72, 63880950.24, 66724800.6, 31777448.04, 20393563.74, 59926086.400000006, 63069668.56, 124271017.74, 86227215.58, 66983516.98, 21556634.86, 3593317.08, 34678014.300000004, 80801931.94, 82738063.68, 302134566.4, 610134800.0, 776336123.0, 366388437.2, 192065164.52, 174539149.28, 677346790.9999999, 765917620.2, 799523780.1999999, 585999142.8, 808607173.4, 927143537.0, 1174381909.4, 1221073089.4, 1442227719.0, 1329899139.8000002, 1765265311.4, 1562692705.0, 1985289354.6, 1775145537.0, 1847939812.6, 1887235903.6, 1854121002.0, 1640670166.8, 1467033177.6, 1107650078.6, 1089729779.0, 840757657.2, 712816304.2, 789282868.1999999, 650315063.0, 439246944.4, 367041271.4, 224154479.0, 770655573.0, 1999999622.4, 1998935053.6, 1918578886.4, 1964914469.8, 1951873871.4, 1953829860.8, 1961019537.6, 1772850212.8, 1640677672.2, 1955781308.0, 1969332622.8, 1955294565.0, 1973885473.4, 1955309177.6, 1889134756.6, 1853162092.2, 1780794127.2, 1274442550.0, 1175299222.6, 1799524002.0, 1599825053.6, 1379397725.6, 1057173571.4, 1004195849.8, 909950978.8, 938047480.2, 742778715.5999999, 600157948.4, 718072581.2, 706191505.5999999, 456213697.2, 671188327.2, 874054156.8000001, 1068200804.2, 1282660461.6, 1325743881.6, 1173762126.4, 1395812142.1999998, 1326110678.8000002, 1442173495.2, 1786352781.6, 1577155804.2, 1970600984.6, 1963498797.0, 1816920473.4, 1999214569.4, 1999994837.4, 0.0, 1768014230.8, 1997615644.2, 1998363978.0, 1993909822.8, 1932115632.6, 1998281218.0, 1997751187.6, 1982335142.4, 1877347419.0, 1706793891.0, 1473144577.8, 1307154443.4, 444218767.2, 147840106.72, 303448258.2, 396005295.4, 376018259.8, 254804934.8, 252026194.6, 173123628.35999998, 128768536.78, 42616469.14, 4345245.7, 1929646.76, 17691901.8, 51363296.260000005, 377329449.6, 132180394.08, 274963416.6, 280022711.2, 368414250.8, 293123653.2, 296097564.0, 208398333.4, 246013178.2, 71382238.92, 101066043.06, 100199520.56, 357471526.0, 362132667.2, 464155777.8, 474479242.4, 618329676.8000001, 853884122.8, 580920869.8, 388145653.0, 400048184.0, 630266045.2, 494874406.6, 1271946791.8, 1142835868.4, 1269559040.0, 1147917132.4, 1655223807.6, 1849754593.6, 1978435756.0, 1999998618.6, 1999997954.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1903232011.8, 1999996286.6, 1999999601.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999995924.4, 1999997303.2, 1782139066.8000002, 1577462102.2, 1256524376.6, 1377214177.8, 1184162318.4, 911933801.6, 1081929120.0, 1137020206.4, 1712733555.8, 1945202884.8, 1853737445.2, 1915864203.2, 1701772210.0, 1984687526.2, 1668805873.8000002, 1722174508.4, 1903908940.4, 1939816378.2, 1996654682.2, 1990169756.2, 1991633360.4, 1959974534.2, 1819056517.6, 1946190352.8, 1770095187.4, 1873520322.6, 1960645118.8, 1999197420.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 802703377.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1995951743.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999826956.2, 0.0, 1995568131.6, 1997324341.8, 1773931789.0, 1171205565.6, 46417503.3, 405926311.4, 800942168.2, 1948205669.6, 1862541659.8, 990931378.2, 1999998611.6, 0.0, 1999999802.0, 0.0, 1999994470.0, 1996062440.4, 1980241116.0, 1942733149.6, 1944823589.2, 1889226044.0, 1594708918.1999998, 1736870749.0, 1798824790.8, 1683622092.8, 1740891159.0, 1964227294.4, 1942504599.2, 1865630119.0, 1947110638.4, 1981621005.2, 1369039728.0, 1563937117.8, 721611401.0, 110815187.14, 535036726.4, 245013222.6, 199881761.28, 321132206.0, 302023133.2, 1456069574.6, 1320420655.0, 746201399.2, 436552924.4, 306729574.0, 185596741.32, 282100072.6, 198576534.48, 108844146.84, 55515703.88, 15758192.7, 17404264.12, 5471659.48, 0.0, 934117.62, 376364.02, 473373.16, 1055673.98, 561834.34, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 125716988.96, 124694162.36, 130471819.06, 75705102.44, 8841609.32, 32762345.88, 35200615.76, 136450763.04, 135359575.92000002, 121271925.54, 424572098.6, 271425362.6, 279618181.4, 320286733.20000005, 344529451.0, 88414359.26, 49713786.22, 17348363.92, 2353356.32, 0.0, 0.0, 330108.48000000004, 392519467.4, 732784845.4, 475086889.4, 252629401.6, 176485236.02, 83821290.03999999, 146445432.42, 171816540.38000005, 168242494.4, 170411344.48000002, 185388163.44, 37328701.5, 33340237.44, 53625338.96, 57671857.66, 50715417.7, 105048458.32, 56119760.220000006, 44864100.220000006, 69654932.17999999, 62023959.81999999, 30860154.32, 30643953.8, 45509580.76, 23859437.64, 74729731.36, 30881858.12, 22077108.42, 5289636.680000001, 17100006.04, 142238156.0, 69400418.22, 253194028.6, 311384960.4, 198394195.4, 268208374.8, 318004664.0, 481075710.2, 468287598.8, 536265917.2, 492586373.0, 695955253.5999999, 1343812455.2, 1370923426.8, 1240281576.2, 1090916354.8, 1058218828.4, 1295880458.6, 1205595116.8, 1497909094.1999998, 1365714804.8, 1216082124.8, 1123503396.2, 897829340.8000001, 846549609.4, 754709698.4, 907932713.0, 503374114.2000001, 372471982.2, 356564905.2, 422368236.8, 452955467.6, 516037004.4, 795142402.0, 1052026466.0, 1109741123.6, 716674478.0, 628693140.4, 665618413.4, 625649069.6, 682212703.6, 732618603.8000001, 734114286.4, 944318851.4, 992861331.4, 1205549311.2, 1366319322.4, 1416051245.4, 878867476.1999999, 891755974.4000001, 758571020.2, 968348428.6, 1067688466.2, 927641047.4, 1148059740.8, 1148465079.0, 990707992.8, 671034683.8, 622279568.8, 732472859.4, 825337567.4, 1103769880.6, 841014798.4, 813652657.8000001, 842440537.6, 656622484.1999999, 508604086.0, 644165905.6, 681602105.0, 612923872.6, 418677644.2, 293102717.0, 212549133.4, 178077855.4, 82283144.1, 22069025.34, 51858375.2, 70872717.06, 31271572.1, 29802853.040000003, 33109948.38, 50043467.46, 84763145.56, 22452479.64, 5307715.92, 744977.22, 0.0, 86484408.6, 134733333.56, 471600478.2000001, 228285237.2, 158281122.42, 48903857.620000005, 76058598.36, 66158177.84, 63308724.78, 32517888.3, 11444465.5, 10170052.64, 1068529.92, 0.0, 0.0, 0.0, 0.0, 3945102.3, 1067369.3, 574128.62, 0.0, 400535.52, 2388995.82, 449871.02, 0.0, 0.0, 1582775.42, 996789.8, 2588980.98, 15894757.58, 36836686.78, 22170826.24, 17842103.7, 11641066.680000002, 2613662.64, 8363180.02, 28297083.72, 124533803.46, 83027469.72, 117719633.08, 178513121.1, 126270939.02, 120216314.14, 203502906.2, 118512188.98, 325623704.40000004, 403924577.8, 472927188.0, 545623658.1999999, 325247234.2, 356018935.0, 394534855.6, 551412662.0, 561241773.0, 344708716.8, 563620348.0, 500839341.4, 280864944.8, 362895394.2, 415102081.2, 442708040.2, 525074750.6, 600927676.0, 520064989.0, 702673411.0, 600408273.0, 385591532.8, 384082801.2, 260026660.8, 256030745.8, 309986167.4, 626865236.0, 1066897987.6, 1034774225.2, 1092001839.6, 886552670.8000001, 851375536.2, 705242305.6, 468129990.0, 389009378.2000001, 344534691.0, 359284411.6, 381159382.8, 483014923.8, 375931852.6, 435395598.4, 414749969.8, 413760446.4, 495059738.0, 331788904.20000005, 308480768.40000004, 355367612.20000005, 366162237.8, 417090320.4, 474385059.4, 960660778.6, 759026699.8, 508339865.0, 1012103058.6, 644579355.2, 888687192.0, 825216808.8000001, 781249065.6, 845989402.4000001, 769080611.8000001, 801524935.8, 863636055.8, 1002207696.4, 664021903.6, 690197202.1999999, 760900174.4, 727161867.1999999, 858846790.0, 1153311470.2, 972140501.0, 1143336575.0, 1426376800.8, 1349305031.8, 1008449666.4, 1200448655.8, 1306496891.4, 1218313737.8, 1273727610.6, 1100518076.4, 920850524.6, 870718879.6, 799258426.1999999, 1008605079.4, 1314203784.6, 1304433489.4, 1150733668.2, 1103500806.4, 892177336.8, 919229777.8, 516792170.4, 394846232.6, 724728888.0000001, 1081466606.4, 856581254.0, 935634231.6, 1018415352.4, 1074029337.4, 951849810.4, 1292590254.0000002, 1358325347.6, 1183066738.2, 1281404866.8000002, 913097877.0, 534920682.8, 339068007.6, 380479894.0, 256993058.2, 406038929.6, 502524547.2000001, 920841014.4, 720207045.8, 763763677.4000001, 516867391.2, 764965653.0, 927850274.8, 782731520.0, 1293643963.8, 1508920125.2, 1793418107.6, 1995522400.6, 1997656237.2, 1997803251.0, 1998737677.0, 1968735982.2, 1724906096.4, 1686258443.2, 963856965.4, 935482458.2, 480856675.8, 172200037.1, 489471873.4, 173359678.35999998, 30175926.4, 5397481.699999999, 3688640.06, 5997510.08, 3935788.22, 64796690.14, 151646014.56, 112642677.52, 133095855.82, 52297578.56, 1276381.1, 7639418.64, 0.0, 0.0, 5556181.76, 142149002.58, 200426996.8, 413562947.0, 629419044.2, 611928344.0, 658613810.6, 607225389.1999999, 950977166.4, 1284385682.9999998, 1091616348.0, 1394869920.2, 1427208136.2, 1543238757.1999998, 1599537432.8, 1892116606.6, 1934667442.0, 1980383052.8, 1981375295.4, 1996229143.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999362284.6, 1999883533.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999944674.2, 1999996745.8, 1999997942.4, 1999995771.4, 1992382352.2, 1997363900.8, 1998070092.0, 1999994249.2, 1998195313.2, 1999904678.0, 1999999072.4, 1999998130.6, 1999996206.2, 1999996386.8, 1998202998.4, 1997247806.8, 1952298756.0, 1951602005.8, 1959232227.4, 1980023452.4, 1998065264.2, 1940957914.2, 1926992386.8, 1973251972.8, 1988503748.2, 1988410225.0, 1997673141.6, 1992677240.2, 1999783876.2, 1999797843.4, 1997898456.0, 1999138852.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999962835.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1997547832.8, 1999994303.0, 1980468157.4, 1954444815.8, 1997332669.8, 1951248513.4, 1899381496.2, 1855138808.2, 1825070077.6, 1802304043.8, 1887220971.6, 1992220180.8, 1965726545.6, 1999995184.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1979722289.2, 1997161199.6, 1999761807.8, 1997650359.8, 1928083900.4, 1854962074.2, 1930631706.8, 1985282814.2, 1899959135.4, 1834172842.0, 1556478341.6, 1306301030.4, 1158687623.0, 1163435612.0, 1147257755.6, 957437665.0, 866848720.0, 694099509.4, 777099125.4000001, 710695641.6, 645488492.4, 694972036.1999999, 574071450.4, 483404483.6, 342697145.40000004, 177964519.2, 140075819.70000002, 171515606.92000002, 122862008.04, 100060334.62, 61419705.440000005, 44550925.6, 8052096.140000001, 7210519.680000001, 22048922.74, 188774749.58, 414550440.0, 263997283.4, 234329472.4, 281279053.2, 236554182.8, 218152438.2, 97980722.86, 119810341.42, 168016416.12, 101059947.4, 196593622.68, 417017639.00000006, 449483818.8, 418625918.6, 499823823.6, 417674312.4, 555248751.0, 442975977.0, 318470230.6, 445323167.6, 404743571.4, 403841710.0, 547763008.2, 742899915.8000001, 1231996849.8, 1755135215.4, 1749339744.0, 1997990332.2, 1884829494.2, 1916594518.4, 1964802713.6, 1958351197.0, 1914543937.4, 1884283950.6, 1896667638.6, 1789682969.2, 1566395012.0000002, 1481034790.0, 1964762405.0, 1996983107.4, 1997498327.4, 1999996393.0, 0.0, 0.0, 0.0, 1999998588.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999943011.6, 0.0, 0.0, 1999901548.2, 1999922417.2, 1999799921.4, 1993926322.2, 1968387868.4, 1931726531.4, 1792660549.8, 1778909409.0, 1435389853.6, 1252416701.8, 1286619418.8, 1016104901.4, 1065542866.6, 1104221520.8, 1224779416.4, 1237260478.8, 1351085443.6, 1334894914.6, 1835939043.2, 1954545824.4, 1901064674.2, 1944074488.6, 1984174874.6, 1996767025.4, 1999996268.0, 1999999971.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999999578.2, 1999998413.6, 1999996863.4, 1999997345.2, 1999996244.0, 1999935554.8, 1999994120.6, 1998223193.0, 1999174045.2, 1999996556.4, 1999996445.4, 1999995185.4, 1998964717.0, 1999048421.0, 1997369133.4, 1947208310.8, 1820053637.0, 1780887763.8000002, 1691150152.8, 1417709648.4, 1019931104.0, 1183534857.8, 1369182838.4, 1257345303.2, 1511257664.6, 1553174022.6, 1710419305.6, 1962845410.2, 1948966242.4, 1983314880.8, 1987086477.6, 1960287793.6, 1989077493.0, 1999406592.0, 0.0, 1999999644.0, 1999998691.0, 1999307143.2, 1999993757.6, 1999995367.6, 1998184167.6, 1996806602.4, 1999463005.8, 1961120016.4, 1820942083.8, 1492079742.0, 1200594824.0, 824800178.0, 665361195.8000001, 943113843.2, 977211712.2, 1172335699.6, 844400891.0, 554551782.0, 457157210.0, 400692633.8, 443539520.2, 661499263.8, 457677589.2, 904342394.4, 1359102504.0, 1989629233.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999998072.8, 1968445709.0, 1940522569.6, 1816934039.0, 1427157911.6, 1363064255.4, 896734502.0, 709138057.6, 590919442.0, 338217252.8, 226750813.0, 202171109.6, 54107092.4, 4732292.16, 414918.48, 916560.94, 778440.9, 3714790.84, 8290248.94, 57929134.86, 2918850.8000000003, 5508366.5, 45120086.2, 126168138.76, 226514152.4, 293969658.2, 270366730.6, 357169292.99999994, 640569548.4, 581018335.8, 346077293.0, 178214895.72, 205356320.6, 263659587.2, 159143100.07999998, 249528339.2, 396835612.6, 452574234.6, 573126188.0, 761039115.1999999, 1132854242.8, 1124741304.6, 924983696.6, 606532840.2, 541063567.6, 694124303.0, 1186284498.4, 1757112847.9999998, 1969670684.0, 1999997871.8, 1999999005.6, 1999994918.2, 1998353851.4, 1985357751.6, 1981404421.2, 1938050491.0, 1921238778.2, 1782882015.4, 1994248105.8, 0.0, 1999917154.2, 1999774077.0, 1999009636.4, 1998865770.2, 1474095000.2, 827052734.1999999, 1752134333.0, 1992083654.2, 0.0, 0.0, 0.0, 1999993238.6, 1996886139.8, 1161052968.6, 1513793855.2, 1289374179.6, 964193235.2, 464509704.0, 236754894.0, 1716886616.6, 1559454676.4, 1394697120.4, 1110196645.6, 759320992.8000001, 1751959182.8, 1947417517.6, 1998117009.0, 0.0, 1999275307.8, 1999273293.6, 1995014896.8, 1982641254.4, 1999782863.8, 1975059038.8, 0.0, 0.0, 0.0, 1996755411.6, 1998622449.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1376336395.2, 1696677620.2, 1771294356.8, 1997043000.2, 1906245350.6, 1971156712.4, 1987119246.2, 1984734974.2, 1989335508.2, 1961602822.4, 1955269784.6, 1667228364.8000002, 979714141.6, 593569625.0, 1133817143.0, 1571209149.0, 1824627988.8, 1993207757.0, 1999884019.0, 0.0, 1999777196.8, 0.0, 0.0, 0.0, 0.0, 0.0, 1998825975.2, 1880716880.2, 1115152365.6, 983165938.4, 619177542.8, 183013087.58, 86223165.6, 34166138.48, 12053028.44, 1744709.9, 1394658.86, 1288561.7, 3405898.86, 62131718.74, 164316778.5, 238615559.0, 394279459.2, 935786476.8, 1295077717.0, 937323576.6, 1088445627.8, 1068572306.0, 1066103861.6, 1204868908.4, 1508139018.2, 1573925985.8, 1476466813.4, 1447755250.6, 1968656477.6, 1999809371.2, 1978937334.2, 1999996107.8, 1999924426.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999998292.0, 1999995247.2, 1999994075.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1932804870.8, 1822068432.4, 1947773503.2, 1638057749.8, 1550856281.6, 1531399792.4, 1316127046.4, 1597899310.8, 1273688537.4, 1423325156.4, 1349419766.8000002, 1212120439.4, 1094391158.2, 1175091109.4, 1167053899.0, 1340652676.4, 1389117293.0, 1326481197.6, 1216889716.8, 1273433551.0, 1401107117.4, 1401243896.1999998, 1504029139.2, 1528227032.0, 1501842703.4, 1442265832.9999998, 1501688200.4, 1683119353.2, 1901407879.8, 1773786397.8, 1816152892.0, 1807061764.4, 1760984950.2, 1746316577.4, 1922894634.6, 1912354324.4, 1982914930.8, 1971760036.6, 1947155809.6, 1999995435.0, 0.0, 0.0, 1999994347.0, 0.0, 1999996965.4, 0.0, 0.0, 0.0, 0.0, 1999992203.2, 1999071308.0, 1998010968.4, 1968538605.2, 1981903538.0, 1998595506.8, 1998180639.0, 1969521645.8, 1999500764.2, 1998824660.2, 1997952067.6, 1999994113.6, 1999779673.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1440784178.6, 0.0, 0.0, 0.0, 0.0, 0.0, 1374133753.0000002, 1990442403.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999545015.8, 1998669439.0, 1982436861.4, 1975102352.6, 1940989262.6, 1890293366.8, 1871915690.6, 1805295495.4, 1728416937.6, 1583426160.8, 1238384743.6, 1052502278.6, 1162882695.6, 1139633023.6, 1173943991.8, 1067966436.2, 879426642.1999999, 1101276770.8, 1120496853.6, 1172893059.0, 1033774207.6, 781414878.1999999, 1175796770.8, 710194886.4000001, 863314055.8, 885531806.8, 1281779792.8, 1248118118.4, 1453338131.8, 1434777425.0, 1725752432.0, 1598500983.6, 1526644754.2, 1573635168.2, 1285468335.0, 1032229615.0, 1274467226.6, 1472315678.8, 1574239277.0, 1609002966.6, 1609581557.2, 1544164657.1999998, 1584655166.6, 1729493180.4, 1581394355.0, 1339115466.8, 1324965104.6, 1307923724.1999998, 1225964492.8, 1135189698.8, 1523771549.8, 1357285098.8, 1510251011.6, 1955128590.8, 1963723845.8, 1997704393.6, 1959992961.2, 1999186770.0, 1999998598.6, 1999999078.0, 0.0, 1999997915.8, 1999997832.4, 1971465656.4, 1912688305.4, 1949643223.6, 1943402517.8, 1837334116.0, 1732477143.8, 1577440482.2, 1610044956.4, 1583214393.2, 1154763787.0, 1152441186.2, 838213153.6, 596598471.6, 945742742.8, 949206250.8, 870392036.1999999, 725641419.1999999, 658698162.0, 635361544.4, 592152210.8, 596193053.8, 379821219.0, 327456611.40000004, 270583697.4, 152625852.29999998, 47052670.92, 91320186.8, 16648203.4, 2167803.02, 2421662.04, 774780.2, 1934409.54, 16773879.06, 37619659.36, 56101240.02, 215022082.0, 272303780.40000004, 396702133.8, 311630600.2, 327124309.20000005, 631095198.0, 660245150.4, 629745050.0, 662479782.0, 882008804.4000001, 1227058204.4, 1551182360.4, 1960830661.2, 1942072309.4, 1972431906.8, 1993926656.4, 1975761085.8, 1971089982.6, 1611469264.6, 1094090576.6, 1176407705.2, 1325883465.0, 1269204031.0, 1701001104.4, 1805872441.8, 1277832645.4, 1149476351.8, 1409139202.2, 1434154196.8000002, 1683607349.0, 1521152289.6, 1823845503.0, 1969412951.6, 1982346315.8, 1999798417.0, 1998671781.2, 1999283133.2, 1464596641.2, 1229599617.0, 1657623827.6, 1511129146.0, 1739112739.0, 1738837891.6, 1004217590.0, 790027196.1999999, 742730590.5999999, 762911336.8000001, 147904550.54, 1074352209.8, 1041999294.2, 1039196824.0, 1022525094.0, 1076291352.2, 1134841864.6, 1193069892.4, 1507788713.4, 1001121077.4, 1162194298.4, 1556659610.0, 433504970.6, 7220084.72, 1601573511.0, 248026096.0, 1398213228.8, 1999258927.2, 1990474646.6, 1997705819.8, 1977414573.0, 1864299113.0, 1384004029.2, 1093194890.0, 808939269.1999999, 822798134.8000001, 777113764.1999999, 530890490.4, 322118259.0, 258784998.4, 182934440.52, 70579569.64, 83938910.94000001, 35302405.26, 4329752.92, 5362323.319999999, 23344252.84, 47772654.5, 131082435.32, 327335866.2, 519248697.6, 643895108.0, 638042856.6, 949723141.0, 1160596967.2, 1091482652.4, 912501471.2, 888508925.6, 938895107.2, 1157229611.2, 1081979011.0, 1014309925.0, 805755582.0, 952820004.8, 1024038637.6, 676330747.0, 611482798.6, 590599789.0, 815893810.0, 604225950.2, 660550480.9999999, 861891800.1999999, 618078713.8000001, 371365459.6, 292735284.2, 186034200.26, 128777502.88, 53748778.8, 84575344.7, 147956829.18, 51006197.28, 53267643.0, 2393263.26, 14395397.64, 56204193.2, 46839975.24, 62206104.98, 54861818.0, 42396755.88, 41193704.78, 47926488.52, 76267050.76, 7524444.54, 7543219.359999999, 1795055.78, 1149737.4, 7234753.18, 69769633.74000001, 87267779.58, 94053539.7, 230648217.0, 47568319.76, 199836516.74, 293663730.0, 1004370538.2, 518522341.8, 1021480114.2, 1235116897.4, 1761165795.1999998, 1980640596.8, 1999994930.4, 1999998201.4, 1999995872.6, 1941624905.6, 1839918397.0, 1637942415.4, 1688851215.4, 1359116760.8, 1177765082.6, 633069323.6, 503270066.2, 527898929.4, 715448294.6, 482414728.2, 836828850.2, 1181817320.2, 1313231884.2, 1693912466.6, 1917933978.8, 1961439033.6, 1999995688.6, 1999841549.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999999111.0, 0.0, 1999997017.8, 1905378794.6, 1998778972.6, 1965676645.8, 1999995568.6, 1988404028.4, 1768107580.2, 1997014923.4, 1997362941.8, 1997628718.2, 1987275571.4, 1999997624.8, 0.0, 1999997807.8, 1999999182.8, 1999995154.8, 1999996625.0, 1996798928.0, 1998421114.6, 1931331593.2, 1835775892.8, 1846114891.8, 1728642620.2, 1564946547.2, 1546982981.6, 1300569049.6, 879006000.2, 719563255.5999999, 347691719.8, 323708540.6, 177040195.68, 148814803.2, 41849788.080000006, 1677807550.6, 1501533431.4, 1998809158.0, 1998688896.0, 1988229108.2, 1993718164.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999090497.0, 1991002031.6, 1995341158.2, 1981620097.0, 1970096923.6, 1947884492.6, 1699636421.8, 1382119314.2, 997472437.6, 680346119.2, 539117578.1999999, 543988393.2, 395228167.6, 587082423.4, 678013268.8000001, 1412563309.8, 1967255763.4, 1998523383.6, 0.0, 0.0, 0.0, 0.0, 1999930029.0, 1999258279.4, 1990079729.0, 1869924245.8, 1946833477.4, 1271212170.2, 719903489.6, 361383529.4, 189573571.34, 77218902.78, 65462505.04, 202374662.6, 279406354.40000004, 554312435.2, 1073608394.0, 1010928394.6, 1056446729.6, 934831350.2, 949718443.4, 524435595.8, 838029265.6, 1174424599.8, 195055305.98, 93218965.7, 16865142.96, 21008523.56, 5234852.04, 241909.26, 1087394.46, 0.0, 0.0, 15082600.74, 29881358.6, 106852066.66, 415538984.0, 424401032.0, 500918308.4, 496197475.6, 509847691.4, 711161768.4, 747808139.8000001, 984111867.6, 1014369637.8, 889622461.8, 720441776.6, 860305329.8000001, 821227418.4, 948959629.6, 1065836381.0, 1677534729.0, 1921713958.0, 1987433295.8, 1998948559.6, 1999995582.0, 1996839053.2, 1997782089.4, 1972557431.0, 1997110012.0, 1999116445.4, 1998328136.8, 1975222826.4, 1816696735.0, 1390431319.6, 963708727.0, 1147075906.8, 1077689776.2, 806450570.1999999, 710194832.8000001, 980481095.4, 916623507.0, 816825875.8000001, 823534434.8, 747598818.8, 869422712.6, 1089403951.6, 1216693581.8, 1247519992.8, 1286409816.8000002, 1432880070.0, 1637581542.2, 1769135523.9999998, 1673489216.8, 1959962435.4, 1971492768.8, 1977776696.8, 1941352275.6, 1989671133.8, 1999783465.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1997781661.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999998397.8, 1998771662.0, 1948080212.6, 1878796188.8, 1865334894.0, 1805878030.4, 1839382935.6, 1704420986.4, 1434997729.0, 1560532045.0, 1611133866.4, 955297979.6, 1067728225.2, 747967139.6, 1059440167.4, 948421576.8, 610086240.6, 1203391604.8, 1094259650.4, 867120104.6, 940934150.0, 508424444.8, 284563539.0, 226365058.4, 64707165.86, 49874710.34, 26365234.1, 182471.68, 0.0, 0.0, 7491335.72, 191649.16, 66821550.24, 2499509.3400000003, 0.0, 0.0, 0.0, 0.0, 0.0, 74771043.42, 18561462.16, 4490178.44, 401367187.0, 334789002.2, 416734316.0, 557456794.8, 1862936723.8, 1999994937.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999933162.4, 0.0, 1999944479.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999890579.0, 1990874097.0, 1943996531.8, 1660025789.6, 1774915040.9999998, 965970622.0, 568398238.6, 466275651.6, 572686790.6, 544393086.4, 568680040.4, 657667534.6, 1042731754.0, 1039004803.2, 948961287.2, 1105958220.0, 1094197831.0, 1086633941.6, 1401490187.8, 1082647714.0, 987683006.2, 833878407.8000001, 598810561.4, 504835014.6, 298700734.4, 354054842.6, 490408984.2, 572133145.1999999, 865544971.1999999, 951578734.2, 1331858528.9999998, 1504693054.0, 341795978.4, 220820250.6, 721205713.0, 1014016333.8, 873808106.8, 1055946497.4, 853511413.0, 1867450101.6, 1507928421.1999998, 532231144.6, 1995904337.0, 1955769213.4, 1239773442.4, 1999996622.6, 1913350244.6, 1460835661.4, 942067877.8, 1989333299.8, 1940440294.2, 1969214821.6, 1976404469.6, 1995207160.2, 1999996622.8, 0.0, 0.0, 0.0, 1999998796.0, 1999997288.0, 1999998949.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999998408.0, 1999804621.8, 1988890430.4, 1965210921.2, 1802358107.4, 1948906112.6, 1782924386.6, 1923237044.4, 1955244000.2, 1999995220.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1990071483.4, 1997554046.6, 1991306117.4, 1999821696.4, 1993638540.4, 1818477966.2, 1964405214.6, 0.0, 1785224615.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999995136.6, 1999997861.4, 1726445573.1999998, 1935850184.8, 1483744671.8000002, 1182772922.0, 1514610313.4, 1273917241.6, 1000555065.8, 660453200.4, 655609182.5999999, 642578406.0, 616164812.4, 386308660.0, 370848120.4, 482422803.2, 397137074.2, 358975923.0, 205519501.6, 193734904.54, 294695377.6, 184933554.32, 272826168.6, 415346131.2000001, 577915232.4, 954322884.8, 776547364.8, 714410538.8, 272397406.2, 345551045.8, 425596238.2, 468383738.4, 495422771.6, 318146428.40000004, 189303641.12, 185895981.14, 239400251.0, 51436792.2, 2226263.3200000003, 595728515.4, 224311640.8, 52613347.4, 605926918.2, 239998654.8, 908566057.8, 401514672.2, 345478221.0, 34302567.12, 1100093952.0, 157906071.76, 404218303.8, 317603674.2, 204900729.8, 123927427.52, 40272331.38, 30496542.12, 145370221.94, 1474204.88, 617566.66, 87821591.96000001, 161229209.34, 560825680.0, 623396690.0, 855047737.2, 1453132292.6, 1859553027.2, 868961334.4, 752968405.2, 1096971079.0, 867385959.0000001, 786455457.8000001, 863814304.9999999, 397243672.6, 490359149.2000001, 656100322.0000001, 706248567.8000001, 901070264.2, 893408392.5999999, 442785312.6, 302226545.40000004, 188479910.16000003, 169403715.74, 131381478.08, 52326741.14, 66298881.63999999, 6853568.76, 0.0, 0.0, 153279.82, 0.0, 16018714.86, 36013351.34, 47079145.16, 123515973.56, 226064157.8, 429370632.0, 1518799093.8, 1684523748.6, 1489151575.0, 1663650550.4, 1841370217.2, 1972670446.8, 1996923335.4, 47559266.54, 1773096116.0, 1843089687.8, 1520559640.8, 1933719447.8, 1962530619.8, 1966815721.2, 1943749475.6, 1860021300.8, 1859117235.0, 1897103609.2, 1766132678.0, 1828741316.0, 1862432293.0, 1661757871.2, 1316249246.0000002, 1788510249.4, 1825897717.4, 1839224801.6, 1965526770.0, 1920991350.2, 1910661221.2, 1964359954.0, 1962123045.4, 1991114970.8, 1990890370.8, 1998241778.2, 1999994153.4, 1999995400.8, 1998166583.0, 1998940509.0, 1999994267.2, 1999992733.8, 0.0, 1999797366.8, 1998714093.8, 1997778415.6, 1835738166.4, 1408713043.6, 1794788168.6, 1857911228.2, 1222132948.0, 1904569791.2, 1926326227.2, 1692922567.2, 1596230110.4, 1224645325.8, 1858788445.2, 1835452254.6, 1534357169.4, 1978020006.4, 1960102688.0, 1940518416.0, 1945580631.0, 1949305004.6, 1945072660.2, 1991890617.6, 1961980278.8, 1787533822.8000002, 1881927416.2, 1885600490.4, 1931515917.0, 1793745682.6, 1682367374.6, 1800146725.0, 1900516606.8, 1936904242.4, 1967237495.0, 1960093788.4, 1956931357.6, 1951089270.2, 1971700605.4, 1964457190.4, 1991046713.8, 1989236481.8, 1982490493.2, 1993212819.4, 1989328789.8, 1998631683.2, 1999873089.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999669014.0, 0.0, 1982017017.8, 1986283732.6, 1999990694.0, 0.0, 0.0, 0.0, 0.0, 1999781104.2, 1999927112.8, 1999928828.2, 0.0, 0.0, 1999906272.6, 1997567987.4, 1997032872.2, 1941908249.0, 1999994151.2, 1999996282.2, 1999997120.4, 1999359002.6, 1999997360.4, 1988864351.8, 1984317907.4, 1763117883.4, 1866524771.8, 976376963.6, 1158214961.8, 1985158248.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999996374.8, 0.0, 1999998632.8, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999999110.2, 1999422997.2, 1999589221.2, 1999672710.0, 1956202591.6, 0.0, 1903838715.0, 1953494178.4, 1504198295.0, 1943661422.4, 1996094356.6, 0.0, 903695447.2, 0.0, 1985875392.2, 1938139132.8, 1868244772.0, 1660546458.1999998, 1443831457.1999998, 1344532537.6, 1162564929.2, 1229935262.6, 1980220695.0, 1945075924.8, 1802887055.2, 1705595473.4, 1534581108.4, 1821072761.4, 1914090527.6, 1930608719.4, 1942293583.0, 1987071596.2, 1815672271.8, 1563692400.6, 1638815019.0, 1181792633.6, 721911849.1999999, 491306998.4, 430097984.6, 324991875.6, 169575719.28, 45251647.84, 0.0, 34260986.4, 436109918.0, 584670000.4, 519575674.6, 564187352.0, 822091038.4, 1118595108.2, 1459556163.6, 1851174755.4, 1578043740.2, 1626799146.2, 1992482650.2, 1999986676.0, 1999996256.2, 0.0, 0.0, 0.0, 0.0, 0.0, 1999993311.8, 1999994314.2, 1961917118.4, 1958321134.4, 1994900098.4, 1275694069.4, 0.0, 0.0, 1999020254.4, 1928639827.4, 1829778528.6, 1128904056.6, 670016839.0, 459950302.8, 551773530.4, 590535136.8000001, 1071372336.0, 1171773629.4, 1483283288.4, 1865164937.6, 1998534505.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999998762.4, 1406249071.6, 1577993989.0, 1918323379.4, 1998590990.8, 1999887469.6, 1999252302.6, 0.0, 0.0, 1449752233.0, 1995618599.4, 0.0, 0.0, 0.0, 1995173255.0, 1993505261.4, 1981576891.4, 1989613914.0, 1989523139.2, 0.0, 1999796686.6, 1997896753.2, 1888836585.0, 1983211377.4, 1957981230.4, 1932338720.0, 1738438101.0000002, 1314891896.4, 1693694787.0, 789572980.6, 1980363888.8, 1954791171.0, 1919394348.4, 1726504586.6, 1434635785.6, 1237157108.8, 1082071938.6, 928820710.2, 709965517.4, 685147645.4, 311598524.40000004, 305012721.6, 329764700.6, 347982183.0, 380949092.2, 427267291.8, 417851948.2, 260578381.6, 149175945.9, 122120917.52, 7825539.14, 0.0, 23537403.24, 75142527.5, 595925620.2, 196113545.32, 234351242.4, 718746651.2, 1208961097.4, 1246285974.2, 1536759428.4, 1796517784.6, 1489213133.4, 1738336983.4, 592256737.2, 1797206655.4, 1986750624.6, 1993427025.2, 1984602856.2, 1975515197.2, 1618675227.8, 1920288715.4, 1453957226.1999998, 1982672165.0, 1948919859.4, 1977464576.4, 1999628828.6, 1578823193.0, 1491992497.0, 1974764358.8, 1640434405.1999998, 953372187.2, 1824076217.2, 1761955207.4, 1841313113.2, 1913698718.8, 1819122285.0, 1849924297.4, 1613631921.8, 1122454894.0, 971629768.0, 717810506.0, 444902041.0, 170745124.27999997, 123303190.56, 157376537.8, 343157103.40000004, 368467353.8, 616166668.8, 853021940.0, 1785236902.0, 1985667221.0, 1999995029.2, 1999999341.8, 0.0, 0.0, 0.0, 0.0, 1997954735.4, 1978461492.4, 0.0, 0.0, 0.0, 0.0, 1998888676.6, 1998731975.0, 1998415656.4, 1998743684.6, 1985919549.2, 1918539230.2, 1770208313.6, 1312976205.9999998, 1228157551.4, 1094569438.8, 663468744.5999999, 418553343.0, 459800547.4, 350418512.00000006, 473712291.6, 405211985.2, 300370135.8, 310928196.0, 449907012.4, 420927391.4, 191385110.58, 200136065.2, 204047188.0, 162380907.08, 240155050.8, 346740216.4, 811849914.4000001, 843161689.1999999, 825606272.9999999, 601365282.0, 469295794.4, 416297778.2, 506356818.6, 710369108.8, 803574354.0, 454083074.8, 411036460.4, 810826132.6, 671239204.0, 472174456.4, 450353236.4, 548415064.6, 402722964.0, 131363841.74, 298698452.4, 167854124.28, 95760793.36, 196478353.6, 113206674.24, 177084492.7, 436390958.8, 591130420.8, 813150072.6, 682056079.2, 688593055.0, 584517545.8, 490698325.2, 392565525.2, 459576530.0, 575648828.0, 642722752.6, 524378728.6, 906808103.4, 914310518.4, 1081540814.2, 1244057829.4, 950723876.8, 1019468735.0, 527126701.6, 314709063.6, 355710506.2, 379704594.2, 117786565.04, 67351815.26, 23208333.360000003, 155777531.36, 383085793.8, 322111092.8, 302958648.6, 382041475.0, 454920153.6, 240812841.8, 315314389.6, 445167748.4, 558808992.8000001, 430569374.4, 309005450.0, 215888588.6, 414880816.6, 240275450.0, 162783287.52, 85832486.22, 32694090.86, 5328084.760000001, 20065693.88, 21113937.66, 2939114.6, 2176953.46, 5229228.500000001, 4186221.88, 52444205.940000005, 40273341.8, 166504884.16000003, 72283213.3, 94270659.44, 106368055.36, 240942124.4, 374185399.8, 580363762.8, 879411345.0, 1059669003.6, 1752971767.6, 1870618719.0, 1873487439.0, 1819029028.0, 1990167527.8, 1999935671.4, 1999843753.6, 0.0, 0.0, 1999916951.2, 1999861774.8, 1997620922.2, 1999767036.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999998599.6, 1997925055.4, 1673395230.2, 1994872789.2, 1985015367.6, 1470496035.0, 742112049.8000001, 1244483155.6, 1987979861.0, 1810622854.6, 1988354752.4, 1999995595.0, 1996931492.4, 1934270337.0, 1851529329.6, 984813923.0, 625162633.8, 362420247.0, 395298049.8, 43305098.86, 73055967.62, 283539850.8, 99721693.76, 2476425.06, 0.0, 0.0, 1980152869.2, 1496949342.6, 1259154463.0, 1980350383.8, 1998308252.6, 1999403904.2, 1999995243.0, 0.0, 0.0, 0.0, 1994682709.0, 1998011295.8, 1968575666.8, 1896857735.2, 1998125194.6, 1990818670.0, 1959929430.8, 1691971316.4, 1998856344.8, 0.0, 0.0, 0.0, 0.0, 0.0, 1994183620.6, 0.0, 0.0, 1991682267.2, 1999950737.0, 1993225525.4, 1808806609.4, 1911115406.8, 1872935254.0, 1807496209.4, 857973608.4, 1058728969.0, 1551004890.4, 1660443620.2, 1920586660.4, 1977366658.6, 1998687096.4, 1999191727.4, 0.0, 0.0, 0.0, 0.0, 0.0, 1995062270.2, 1719336907.1999998, 1014380733.0, 393268684.4, 0.0, 1910251851.8, 1837544210.6, 1637397769.8, 1999957589.0, 1949619026.6, 1696534485.4, 1931612904.6, 1922974629.6, 1754930154.6, 1960581230.2, 1997651098.2, 1338637670.6, 1999911528.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999772904.4, 1950424656.6, 1528011228.0, 925343977.6, 959885348.4, 1953912508.6, 1982905578.0, 1999530749.4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]], "ElectricityCable_80a3.ElectricityIn.V": [50000.0, Infinity], "ElectricityCable_80a3.ElectricityOut.Power": [-2000000000.0, 2000000000.0], "ElectricityCable_80a3.Power_loss": [0.0, Infinity], "ElectricityCable_80a3.I": [0.0, 40000.0], "ElectricityCable_80a3.V_loss": [-Infinity, Infinity], "ElectricityCable_e388.ElectricityIn.Power": [-2000000000.0, 2000000000.0], "ElectricityCable_e388.ElectricityOut.Power": [0.0, 2000000000.0], "ElectricityCable_e388.ElectricityOut.V": [50000.0, Infinity], "ElectricityCable_e388.Power_loss": [0.0, Infinity], "ElectricityCable_e388.I": [0.0, 40000.0], "ElectricityCable_e388.V_loss": [-Infinity, Infinity], "ElectricityCable_91e7.ElectricityIn.Power": [-2000000000.0, 2000000000.0], "ElectricityCable_91e7.ElectricityIn.V": [50000.0, Infinity], "ElectricityCable_91e7.ElectricityOut.Power": [0.0, 200000000.0], "ElectricityCable_91e7.ElectricityOut.V": [50000.0, Infinity], "ElectricityCable_91e7.Power_loss": [0.0, Infinity], "ElectricityCable_91e7.I": [0.0, 40000.0], "ElectricityCable_91e7.V_loss": [-Infinity, Infinity], "Pipe_ec1a.GasIn.Q_shadow": [-Infinity, Infinity], "Pipe_ec1a.GasIn.H": [-Infinity, Infinity], "Pipe_ec1a.GasOut.Q": [0.0, 16.795378441099267], "Pipe_ec1a.GasOut.Q_shadow": [-Infinity, Infinity], "Pipe_ec1a.GasOut.mass_flow": [0.0, 20652.203954552995], "Pipe_ec1a.dH": [0.0, 0.0], "Pipe_97ee.GasIn.Q_shadow": [-Infinity, Infinity], "Pipe_97ee.GasOut.Q": [-16.795378441099267, 16.795378441099267], "Pipe_97ee.GasOut.Q_shadow": [-Infinity, Infinity], "Pipe_97ee.GasOut.mass_flow": [-20652.203954552995, 20652.203954552995], "Pipe_97ee.GasOut.H": [-Infinity, Infinity], "Pipe_97ee.dH": [0.0, 0.0], "Pipe_910d.GasIn.Q_shadow": [-Infinity, Infinity], "Pipe_910d.GasIn.H": [0.0, Infinity], "Pipe_910d.GasOut.Q": [0.0, 16.795378441099267], "Pipe_910d.GasOut.Q_shadow": [-Infinity, Infinity], "Pipe_910d.GasOut.mass_flow": [0.0, 20652.203954552995], "Pipe_910d.GasOut.H": [-Infinity, Infinity], "Pipe_910d.dH": [0.0, 0.0], "WindPark_9074.Set_point": [0.0, 1.0], "Pipe_910d__gas_flow_direct_var": [1.0, 1.0], "Pipe_97ee__gas_flow_direct_var": [0.0, 1.0], "Pipe_ec1a__gas_flow_direct_var": [1.0, 1.0], "Electrolyzer_6327__asset_is_switched_on": [0.0, 1.0], "Pipe_910d__gn_diameter": [1.194, 1.194], "Pipe_97ee__gn_diameter": [1.194, 1.194], "Pipe_ec1a__gn_diameter": [1.194, 1.194], "Pipe_910d__gn_cost": [0.0, 0.0], "Pipe_97ee__gn_cost": [0.0, 0.0], "Pipe_ec1a__gn_cost": [0.0, 0.0], "GasDemand_4146__max_size": [0.0, 0.0], "GasStorage_9172__max_size": [23715000.0, 23715000.0], "Electrolyzer_6327__max_size": [200000000.0, 200000000.0], "ElectricityDemand_f833__max_size": [2000000000.0, 2000000000.0], "WindPark_9074__max_size": [1999999971.8, 1999999971.8], "ElectricityCable_80a3_aggregation_count": [0.0, 1.0], "ElectricityCable_91e7_aggregation_count": [0.0, 1.0], "ElectricityCable_e388_aggregation_count": [0.0, 1.0], "ElectricityDemand_f833_aggregation_count": [0.0, 1.0], "Bus_24cf_aggregation_count": [0.0, 1.0], "WindPark_9074_aggregation_count": [0.0, 1.0], "Electrolyzer_6327_aggregation_count": [0.0, 1.0], "GasDemand_4146_aggregation_count": [0.0, 1.0], "Joint_2503_aggregation_count": [0.0, 1.0], "Pipe_910d_aggregation_count": [0.0, 1.0], "Pipe_97ee_aggregation_count": [0.0, 1.0], "Pipe_ec1a_aggregation_count": [0.0, 1.0], "GasStorage_9172_aggregation_count": [0.0, 1.0], "Pipe_910d": [-16.795378441099267, 16.795378441099267], "Pipe_97ee": [-16.795378441099267, 16.795378441099267], "Pipe_ec1a": [-16.795378441099267, 16.795378441099267], "ElectricityCable_80a3": [-40000.0, 40000.0], "ElectricityCable_91e7": [-40000.0, 40000.0], "ElectricityCable_e388": [-40000.0, 40000.0], "ElectricityCable_80a3__en_resistance": [0.023801199999999998, 0.023801199999999998], "ElectricityCable_91e7__en_resistance": [0.0139652, 0.0139652], "ElectricityCable_e388__en_resistance": [0.0782915, 0.0782915], "ElectricityCable_80a3__en_cost": [0.0, 0.0], "ElectricityCable_91e7__en_cost": [0.0, 0.0], "ElectricityCable_e388__en_cost": [0.0, 0.0], "ElectricityCable_80a3__fixed_operational_cost": [0.0, Infinity], "ElectricityCable_91e7__fixed_operational_cost": [0.0, Infinity], "ElectricityCable_e388__fixed_operational_cost": [0.0, Infinity], "ElectricityDemand_f833__fixed_operational_cost": [0.0, Infinity], "WindPark_9074__fixed_operational_cost": [0.0, Infinity], "Electrolyzer_6327__fixed_operational_cost": [0.0, Infinity], "GasDemand_4146__fixed_operational_cost": [0.0, Infinity], "Pipe_910d__fixed_operational_cost": [0.0, Infinity], "Pipe_97ee__fixed_operational_cost": [0.0, Infinity], "Pipe_ec1a__fixed_operational_cost": [0.0, Infinity], "GasStorage_9172__fixed_operational_cost": [0.0, Infinity], "ElectricityCable_80a3__investment_cost": [0.0, 0.0], "ElectricityCable_91e7__investment_cost": [0.0, 0.0], "ElectricityCable_e388__investment_cost": [0.0, 0.0], "ElectricityDemand_f833__investment_cost": [0.0, 0.0], "WindPark_9074__investment_cost": [0.0, 0.0], "Electrolyzer_6327__investment_cost": [0.0, 0.0], "GasDemand_4146__investment_cost": [0.0, 0.0], "Pipe_910d__investment_cost": [0.0, 0.0], "Pipe_97ee__investment_cost": [0.0, 0.0], "Pipe_ec1a__investment_cost": [0.0, 0.0], "GasStorage_9172__investment_cost": [0.0, 0.0], "ElectricityCable_80a3__installation_cost": [0.0, 0.0], "ElectricityCable_91e7__installation_cost": [0.0, 0.0], "ElectricityCable_e388__installation_cost": [0.0, 0.0], "ElectricityDemand_f833__installation_cost": [0.0, 0.0], "WindPark_9074__installation_cost": [0.0, 0.0], "Electrolyzer_6327__installation_cost": [0.0, 0.0], "GasDemand_4146__installation_cost": [0.0, 0.0], "Pipe_910d__installation_cost": [0.0, 0.0], "Pipe_97ee__installation_cost": [0.0, 0.0], "Pipe_ec1a__installation_cost": [0.0, 0.0], "GasStorage_9172__installation_cost": [0.0, 0.0], "ElectricityCable_80a3__variable_operational_cost": [0.0, Infinity], "ElectricityCable_91e7__variable_operational_cost": [0.0, Infinity], "ElectricityCable_e388__variable_operational_cost": [0.0, Infinity], "ElectricityDemand_f833__variable_operational_cost": [0.0, Infinity], "WindPark_9074__variable_operational_cost": [0.0, Infinity], "Electrolyzer_6327__variable_operational_cost": [0.0, Infinity], "GasDemand_4146__variable_operational_cost": [0.0, Infinity], "Pipe_910d__variable_operational_cost": [0.0, Infinity], "Pipe_97ee__variable_operational_cost": [0.0, Infinity], "Pipe_ec1a__variable_operational_cost": [0.0, Infinity], "GasStorage_9172__variable_operational_cost": [0.0, Infinity], "ElectricityDemand_f833__revenue": [0.0, Infinity], "GasDemand_4146__revenue": [0.0, Infinity]} \ No newline at end of file diff --git a/tests/models/emerge/output/parameters.json b/tests/models/emerge/output/parameters.json new file mode 100644 index 000000000..fd63d4c19 --- /dev/null +++ b/tests/models/emerge/output/parameters.json @@ -0,0 +1 @@ +{"Bus_24cf.ElectricityConn[1].state": 1, "Bus_24cf.ElectricityConn[1].variable_operational_cost_coefficient": 0.0, "Bus_24cf.ElectricityConn[1].fixed_operational_cost_coefficient": 0.0, "Bus_24cf.ElectricityConn[1].investment_cost_coefficient": 0.0, "Bus_24cf.ElectricityConn[1].installation_cost": 0.0, "Bus_24cf.ElectricityConn[1].technical_life": NaN, "Bus_24cf.ElectricityConn[1].discount_rate": NaN, "Bus_24cf.ElectricityConn[2].state": 1, "Bus_24cf.ElectricityConn[2].variable_operational_cost_coefficient": 0.0, "Bus_24cf.ElectricityConn[2].fixed_operational_cost_coefficient": 0.0, "Bus_24cf.ElectricityConn[2].investment_cost_coefficient": 0.0, "Bus_24cf.ElectricityConn[2].installation_cost": 0.0, "Bus_24cf.ElectricityConn[2].technical_life": NaN, "Bus_24cf.ElectricityConn[2].discount_rate": NaN, "Bus_24cf.ElectricityConn[3].state": 1, "Bus_24cf.ElectricityConn[3].variable_operational_cost_coefficient": 0.0, "Bus_24cf.ElectricityConn[3].fixed_operational_cost_coefficient": 0.0, "Bus_24cf.ElectricityConn[3].investment_cost_coefficient": 0.0, "Bus_24cf.ElectricityConn[3].installation_cost": 0.0, "Bus_24cf.ElectricityConn[3].technical_life": NaN, "Bus_24cf.ElectricityConn[3].discount_rate": NaN, "Bus_24cf.state": 1, "Bus_24cf.variable_operational_cost_coefficient": 0.0, "Bus_24cf.fixed_operational_cost_coefficient": 0.0, "Bus_24cf.investment_cost_coefficient": 0.0, "Bus_24cf.installation_cost": 0.0, "Bus_24cf.technical_life": NaN, "Bus_24cf.discount_rate": NaN, "Bus_24cf.voltage_nominal": 50000.0, "Bus_24cf.n": 3, "ElectricityCable_80a3.ElectricityIn.state": 1, "ElectricityCable_80a3.ElectricityIn.variable_operational_cost_coefficient": 0.0, "ElectricityCable_80a3.ElectricityIn.fixed_operational_cost_coefficient": 0.0, "ElectricityCable_80a3.ElectricityIn.investment_cost_coefficient": 0.0, "ElectricityCable_80a3.ElectricityIn.installation_cost": 0.0, "ElectricityCable_80a3.ElectricityIn.technical_life": NaN, "ElectricityCable_80a3.ElectricityIn.discount_rate": NaN, "ElectricityCable_80a3.ElectricityOut.state": 1, "ElectricityCable_80a3.ElectricityOut.variable_operational_cost_coefficient": 0.0, "ElectricityCable_80a3.ElectricityOut.fixed_operational_cost_coefficient": 0.0, "ElectricityCable_80a3.ElectricityOut.investment_cost_coefficient": 0.0, "ElectricityCable_80a3.ElectricityOut.installation_cost": 0.0, "ElectricityCable_80a3.ElectricityOut.technical_life": NaN, "ElectricityCable_80a3.ElectricityOut.discount_rate": NaN, "ElectricityCable_80a3.state": 1, "ElectricityCable_80a3.variable_operational_cost_coefficient": 0.0, "ElectricityCable_80a3.fixed_operational_cost_coefficient": 0.0, "ElectricityCable_80a3.investment_cost_coefficient": 0.0, "ElectricityCable_80a3.installation_cost": 0.0, "ElectricityCable_80a3.technical_life": NaN, "ElectricityCable_80a3.discount_rate": NaN, "ElectricityCable_80a3.disconnectable": false, "ElectricityCable_80a3.length": 23801.2, "ElectricityCable_80a3.max_current": 40000.0, "ElectricityCable_80a3.min_voltage": 50000.0, "ElectricityCable_80a3.max_voltage": 100000.0, "ElectricityCable_80a3.nominal_current": 20000.0, "ElectricityCable_80a3.nominal_voltage": 50000.0, "ElectricityCable_80a3.r": 0.023801199999999998, "ElectricityCable_80a3.nominal_voltage_loss": 3085.5275075746767, "ElectricityCable_e388.ElectricityIn.state": 1, "ElectricityCable_e388.ElectricityIn.variable_operational_cost_coefficient": 0.0, "ElectricityCable_e388.ElectricityIn.fixed_operational_cost_coefficient": 0.0, "ElectricityCable_e388.ElectricityIn.investment_cost_coefficient": 0.0, "ElectricityCable_e388.ElectricityIn.installation_cost": 0.0, "ElectricityCable_e388.ElectricityIn.technical_life": NaN, "ElectricityCable_e388.ElectricityIn.discount_rate": NaN, "ElectricityCable_e388.ElectricityOut.state": 1, "ElectricityCable_e388.ElectricityOut.variable_operational_cost_coefficient": 0.0, "ElectricityCable_e388.ElectricityOut.fixed_operational_cost_coefficient": 0.0, "ElectricityCable_e388.ElectricityOut.investment_cost_coefficient": 0.0, "ElectricityCable_e388.ElectricityOut.installation_cost": 0.0, "ElectricityCable_e388.ElectricityOut.technical_life": NaN, "ElectricityCable_e388.ElectricityOut.discount_rate": NaN, "ElectricityCable_e388.state": 1, "ElectricityCable_e388.variable_operational_cost_coefficient": 0.0, "ElectricityCable_e388.fixed_operational_cost_coefficient": 0.0, "ElectricityCable_e388.investment_cost_coefficient": 0.0, "ElectricityCable_e388.installation_cost": 0.0, "ElectricityCable_e388.technical_life": NaN, "ElectricityCable_e388.discount_rate": NaN, "ElectricityCable_e388.disconnectable": false, "ElectricityCable_e388.length": 78291.5, "ElectricityCable_e388.max_current": 40000.0, "ElectricityCable_e388.min_voltage": 50000.0, "ElectricityCable_e388.max_voltage": 100000.0, "ElectricityCable_e388.nominal_current": 20000.0, "ElectricityCable_e388.nominal_voltage": 50000.0, "ElectricityCable_e388.r": 0.0782915, "ElectricityCable_e388.nominal_voltage_loss": 5596.12365839069, "ElectricityCable_91e7.ElectricityIn.state": 1, "ElectricityCable_91e7.ElectricityIn.variable_operational_cost_coefficient": 0.0, "ElectricityCable_91e7.ElectricityIn.fixed_operational_cost_coefficient": 0.0, "ElectricityCable_91e7.ElectricityIn.investment_cost_coefficient": 0.0, "ElectricityCable_91e7.ElectricityIn.installation_cost": 0.0, "ElectricityCable_91e7.ElectricityIn.technical_life": NaN, "ElectricityCable_91e7.ElectricityIn.discount_rate": NaN, "ElectricityCable_91e7.ElectricityOut.state": 1, "ElectricityCable_91e7.ElectricityOut.variable_operational_cost_coefficient": 0.0, "ElectricityCable_91e7.ElectricityOut.fixed_operational_cost_coefficient": 0.0, "ElectricityCable_91e7.ElectricityOut.investment_cost_coefficient": 0.0, "ElectricityCable_91e7.ElectricityOut.installation_cost": 0.0, "ElectricityCable_91e7.ElectricityOut.technical_life": NaN, "ElectricityCable_91e7.ElectricityOut.discount_rate": NaN, "ElectricityCable_91e7.state": 1, "ElectricityCable_91e7.variable_operational_cost_coefficient": 0.0, "ElectricityCable_91e7.fixed_operational_cost_coefficient": 0.0, "ElectricityCable_91e7.investment_cost_coefficient": 0.0, "ElectricityCable_91e7.installation_cost": 0.0, "ElectricityCable_91e7.technical_life": NaN, "ElectricityCable_91e7.discount_rate": NaN, "ElectricityCable_91e7.disconnectable": false, "ElectricityCable_91e7.length": 13965.2, "ElectricityCable_91e7.max_current": 40000.0, "ElectricityCable_91e7.min_voltage": 50000.0, "ElectricityCable_91e7.max_voltage": 100000.0, "ElectricityCable_91e7.nominal_current": 20000.0, "ElectricityCable_91e7.nominal_voltage": 50000.0, "ElectricityCable_91e7.r": 0.0139652, "ElectricityCable_91e7.nominal_voltage_loss": 2363.488946451834, "Joint_2503.GasConn[1].state": 1, "Joint_2503.GasConn[1].variable_operational_cost_coefficient": 0.0, "Joint_2503.GasConn[1].fixed_operational_cost_coefficient": 0.0, "Joint_2503.GasConn[1].investment_cost_coefficient": 0.0, "Joint_2503.GasConn[1].installation_cost": 0.0, "Joint_2503.GasConn[1].technical_life": NaN, "Joint_2503.GasConn[1].discount_rate": NaN, "Joint_2503.GasConn[2].state": 1, "Joint_2503.GasConn[2].variable_operational_cost_coefficient": 0.0, "Joint_2503.GasConn[2].fixed_operational_cost_coefficient": 0.0, "Joint_2503.GasConn[2].investment_cost_coefficient": 0.0, "Joint_2503.GasConn[2].installation_cost": 0.0, "Joint_2503.GasConn[2].technical_life": NaN, "Joint_2503.GasConn[2].discount_rate": NaN, "Joint_2503.GasConn[3].state": 1, "Joint_2503.GasConn[3].variable_operational_cost_coefficient": 0.0, "Joint_2503.GasConn[3].fixed_operational_cost_coefficient": 0.0, "Joint_2503.GasConn[3].investment_cost_coefficient": 0.0, "Joint_2503.GasConn[3].installation_cost": 0.0, "Joint_2503.GasConn[3].technical_life": NaN, "Joint_2503.GasConn[3].discount_rate": NaN, "Joint_2503.state": 1, "Joint_2503.variable_operational_cost_coefficient": 0.0, "Joint_2503.fixed_operational_cost_coefficient": 0.0, "Joint_2503.investment_cost_coefficient": 0.0, "Joint_2503.installation_cost": 0.0, "Joint_2503.technical_life": NaN, "Joint_2503.discount_rate": NaN, "Joint_2503.n": 3, "Pipe_ec1a.GasIn.state": 1, "Pipe_ec1a.GasIn.variable_operational_cost_coefficient": 0.0, "Pipe_ec1a.GasIn.fixed_operational_cost_coefficient": 0.0, "Pipe_ec1a.GasIn.investment_cost_coefficient": 0.0, "Pipe_ec1a.GasIn.installation_cost": 0.0, "Pipe_ec1a.GasIn.technical_life": NaN, "Pipe_ec1a.GasIn.discount_rate": NaN, "Pipe_ec1a.GasOut.state": 1, "Pipe_ec1a.GasOut.variable_operational_cost_coefficient": 0.0, "Pipe_ec1a.GasOut.fixed_operational_cost_coefficient": 0.0, "Pipe_ec1a.GasOut.investment_cost_coefficient": 0.0, "Pipe_ec1a.GasOut.installation_cost": 0.0, "Pipe_ec1a.GasOut.technical_life": NaN, "Pipe_ec1a.GasOut.discount_rate": NaN, "Pipe_ec1a.state": 1.0, "Pipe_ec1a.variable_operational_cost_coefficient": 0.0, "Pipe_ec1a.fixed_operational_cost_coefficient": 0.0, "Pipe_ec1a.investment_cost_coefficient": 0.0, "Pipe_ec1a.installation_cost": 0.0, "Pipe_ec1a.technical_life": NaN, "Pipe_ec1a.discount_rate": NaN, "Pipe_ec1a.disconnectable": false, "Pipe_ec1a.v_max": 15.0, "Pipe_ec1a.density": 1229.6361184702962, "Pipe_ec1a.diameter": 1.194, "Pipe_ec1a.area": 1.1196918960732845, "Pipe_ec1a.Q_nominal": 8.397689220549633, "Pipe_ec1a.pressure": 1500000.0, "Pipe_ec1a.nominal_head": 30.0, "Pipe_ec1a.length": 7646.2, "Pipe_ec1a.r": 0.0076462, "Pipe_ec1a.nominal_head_loss": 1.3879165463186172, "Pipe_97ee.GasIn.state": 1, "Pipe_97ee.GasIn.variable_operational_cost_coefficient": 0.0, "Pipe_97ee.GasIn.fixed_operational_cost_coefficient": 0.0, "Pipe_97ee.GasIn.investment_cost_coefficient": 0.0, "Pipe_97ee.GasIn.installation_cost": 0.0, "Pipe_97ee.GasIn.technical_life": NaN, "Pipe_97ee.GasIn.discount_rate": NaN, "Pipe_97ee.GasOut.state": 1, "Pipe_97ee.GasOut.variable_operational_cost_coefficient": 0.0, "Pipe_97ee.GasOut.fixed_operational_cost_coefficient": 0.0, "Pipe_97ee.GasOut.investment_cost_coefficient": 0.0, "Pipe_97ee.GasOut.installation_cost": 0.0, "Pipe_97ee.GasOut.technical_life": NaN, "Pipe_97ee.GasOut.discount_rate": NaN, "Pipe_97ee.state": 1.0, "Pipe_97ee.variable_operational_cost_coefficient": 0.0, "Pipe_97ee.fixed_operational_cost_coefficient": 0.0, "Pipe_97ee.investment_cost_coefficient": 0.0, "Pipe_97ee.installation_cost": 0.0, "Pipe_97ee.technical_life": NaN, "Pipe_97ee.discount_rate": NaN, "Pipe_97ee.disconnectable": false, "Pipe_97ee.v_max": 15.0, "Pipe_97ee.density": 1229.6361184702962, "Pipe_97ee.diameter": 1.194, "Pipe_97ee.area": 1.1196918960732845, "Pipe_97ee.Q_nominal": 8.397689220549633, "Pipe_97ee.pressure": 1500000.0, "Pipe_97ee.nominal_head": 30.0, "Pipe_97ee.length": 5839.7, "Pipe_97ee.r": 0.0058397, "Pipe_97ee.nominal_head_loss": 1.2129301596700903, "Pipe_910d.GasIn.state": 1, "Pipe_910d.GasIn.variable_operational_cost_coefficient": 0.0, "Pipe_910d.GasIn.fixed_operational_cost_coefficient": 0.0, "Pipe_910d.GasIn.investment_cost_coefficient": 0.0, "Pipe_910d.GasIn.installation_cost": 0.0, "Pipe_910d.GasIn.technical_life": NaN, "Pipe_910d.GasIn.discount_rate": NaN, "Pipe_910d.GasOut.state": 1, "Pipe_910d.GasOut.variable_operational_cost_coefficient": 0.0, "Pipe_910d.GasOut.fixed_operational_cost_coefficient": 0.0, "Pipe_910d.GasOut.investment_cost_coefficient": 0.0, "Pipe_910d.GasOut.installation_cost": 0.0, "Pipe_910d.GasOut.technical_life": NaN, "Pipe_910d.GasOut.discount_rate": NaN, "Pipe_910d.state": 1.0, "Pipe_910d.variable_operational_cost_coefficient": 0.0, "Pipe_910d.fixed_operational_cost_coefficient": 0.0, "Pipe_910d.investment_cost_coefficient": 0.0, "Pipe_910d.installation_cost": 0.0, "Pipe_910d.technical_life": NaN, "Pipe_910d.discount_rate": NaN, "Pipe_910d.disconnectable": false, "Pipe_910d.v_max": 15.0, "Pipe_910d.density": 1229.6361184702962, "Pipe_910d.diameter": 1.194, "Pipe_910d.area": 1.1196918960732845, "Pipe_910d.Q_nominal": 8.397689220549633, "Pipe_910d.pressure": 1500000.0, "Pipe_910d.nominal_head": 30.0, "Pipe_910d.length": 64730.1, "Pipe_910d.r": 0.0647301, "Pipe_910d.nominal_head_loss": 4.038254312255853, "WindPark_9074.ElectricityOut.state": 1, "WindPark_9074.ElectricityOut.variable_operational_cost_coefficient": 0.0, "WindPark_9074.ElectricityOut.fixed_operational_cost_coefficient": 0.0, "WindPark_9074.ElectricityOut.investment_cost_coefficient": 0.0, "WindPark_9074.ElectricityOut.installation_cost": 0.0, "WindPark_9074.ElectricityOut.technical_life": NaN, "WindPark_9074.ElectricityOut.discount_rate": NaN, "WindPark_9074.state": 1, "WindPark_9074.variable_operational_cost_coefficient": 0.0, "WindPark_9074.fixed_operational_cost_coefficient": 0.255, "WindPark_9074.investment_cost_coefficient": 0.0, "WindPark_9074.installation_cost": 0.0, "WindPark_9074.technical_life": NaN, "WindPark_9074.discount_rate": NaN, "WindPark_9074.meret_place": 1, "WindPark_9074.price": NaN, "WindPark_9074.power_nominal": 1000000000.0, "ElectricityDemand_f833.ElectricityIn.state": 1, "ElectricityDemand_f833.ElectricityIn.variable_operational_cost_coefficient": 0.0, "ElectricityDemand_f833.ElectricityIn.fixed_operational_cost_coefficient": 0.0, "ElectricityDemand_f833.ElectricityIn.investment_cost_coefficient": 0.0, "ElectricityDemand_f833.ElectricityIn.installation_cost": 0.0, "ElectricityDemand_f833.ElectricityIn.technical_life": NaN, "ElectricityDemand_f833.ElectricityIn.discount_rate": NaN, "ElectricityDemand_f833.state": 1, "ElectricityDemand_f833.variable_operational_cost_coefficient": 0.0, "ElectricityDemand_f833.fixed_operational_cost_coefficient": 0.0, "ElectricityDemand_f833.investment_cost_coefficient": 0.0, "ElectricityDemand_f833.installation_cost": 0.0, "ElectricityDemand_f833.technical_life": NaN, "ElectricityDemand_f833.discount_rate": NaN, "ElectricityDemand_f833.min_voltage": 50000.0, "ElectricityDemand_f833.elec_power_nominal": 1000000000.0, "ElectricityDemand_f833.id_mapping_carrier": 107781324004933659654, "Electrolyzer_6327.ElectricityIn.state": 1, "Electrolyzer_6327.ElectricityIn.variable_operational_cost_coefficient": 0.0, "Electrolyzer_6327.ElectricityIn.fixed_operational_cost_coefficient": 0.0, "Electrolyzer_6327.ElectricityIn.investment_cost_coefficient": 0.0, "Electrolyzer_6327.ElectricityIn.installation_cost": 0.0, "Electrolyzer_6327.ElectricityIn.technical_life": NaN, "Electrolyzer_6327.ElectricityIn.discount_rate": NaN, "Electrolyzer_6327.GasOut.state": 1, "Electrolyzer_6327.GasOut.variable_operational_cost_coefficient": 0.0, "Electrolyzer_6327.GasOut.fixed_operational_cost_coefficient": 0.0, "Electrolyzer_6327.GasOut.investment_cost_coefficient": 0.0, "Electrolyzer_6327.GasOut.installation_cost": 0.0, "Electrolyzer_6327.GasOut.technical_life": NaN, "Electrolyzer_6327.GasOut.discount_rate": NaN, "Electrolyzer_6327.state": 1, "Electrolyzer_6327.variable_operational_cost_coefficient": 0.0, "Electrolyzer_6327.fixed_operational_cost_coefficient": 0.015, "Electrolyzer_6327.investment_cost_coefficient": 0.0, "Electrolyzer_6327.installation_cost": 0.0, "Electrolyzer_6327.technical_life": NaN, "Electrolyzer_6327.discount_rate": NaN, "Electrolyzer_6327.a_eff_coefficient": 192592592.5925926, "Electrolyzer_6327.b_eff_coefficient": 5.92592592592593e-08, "Electrolyzer_6327.c_eff_coefficient": 56.18518518518518, "Electrolyzer_6327.minimum_load": 20000000.0, "Electrolyzer_6327.density": 1229.6361184702962, "Electrolyzer_6327.Q_nominal": 8.397689220549633, "Electrolyzer_6327.min_voltage": 50000.0, "Electrolyzer_6327.nominal_gass_mass_out": 10326.101977276498, "Electrolyzer_6327.nominal_power_consumed": 100000000.0, "GasDemand_4146.GasIn.state": 1, "GasDemand_4146.GasIn.variable_operational_cost_coefficient": 0.0, "GasDemand_4146.GasIn.fixed_operational_cost_coefficient": 0.0, "GasDemand_4146.GasIn.investment_cost_coefficient": 0.0, "GasDemand_4146.GasIn.installation_cost": 0.0, "GasDemand_4146.GasIn.technical_life": NaN, "GasDemand_4146.GasIn.discount_rate": NaN, "GasDemand_4146.state": 1, "GasDemand_4146.variable_operational_cost_coefficient": 0.0, "GasDemand_4146.fixed_operational_cost_coefficient": 0.0, "GasDemand_4146.investment_cost_coefficient": 0.0, "GasDemand_4146.installation_cost": 0.0, "GasDemand_4146.technical_life": NaN, "GasDemand_4146.discount_rate": NaN, "GasDemand_4146.min_head": 30.0, "GasDemand_4146.Q_nominal": 8.397689220549633, "GasDemand_4146.density": 1229.6361184702962, "GasDemand_4146.id_mapping_carrier": 148316347638300965836554, "GasStorage_9172.GasIn.state": 1, "GasStorage_9172.GasIn.variable_operational_cost_coefficient": 0.0, "GasStorage_9172.GasIn.fixed_operational_cost_coefficient": 0.0, "GasStorage_9172.GasIn.investment_cost_coefficient": 0.0, "GasStorage_9172.GasIn.installation_cost": 0.0, "GasStorage_9172.GasIn.technical_life": NaN, "GasStorage_9172.GasIn.discount_rate": NaN, "GasStorage_9172.state": 1, "GasStorage_9172.variable_operational_cost_coefficient": 0.0, "GasStorage_9172.fixed_operational_cost_coefficient": 0.0, "GasStorage_9172.investment_cost_coefficient": 0.0, "GasStorage_9172.installation_cost": 0.0, "GasStorage_9172.technical_life": NaN, "GasStorage_9172.discount_rate": NaN, "GasStorage_9172.min_head": 30.0, "GasStorage_9172.density": 1229.6361184702962, "GasStorage_9172.density_max_storage": 23715.0, "GasStorage_9172.volume": 1000.0, "GasStorage_9172.Q_nominal": 8.397689220549633, "GasStorage_9172._typical_fill_time": 3600.0, "GasStorage_9172._nominal_stored_gas": 716944319.5152044} \ No newline at end of file diff --git a/tests/models/emerge/output/results.json b/tests/models/emerge/output/results.json new file mode 100644 index 000000000..af3fb0290 --- /dev/null +++ b/tests/models/emerge/output/results.json @@ -0,0 +1 @@ +{"initial_der(GasStorage_9172.Stored_gas_mass)": 0.0, "GasStorage_9172.Stored_gas_mass": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "ElectricityCable_80a3.ElectricityIn.Power": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999997849.6, 1999999999.9967475, 0.0, 0.0, 1999995228.8, 1999995622.6, 1997697985.6, 1658513101.4, 1317659536.0, 618343094.1999999, 1199762886.2, 771068238.2, 1001978579.6, 1132050786.8, 1293624672.0, 1720023264.4, 1814015745.6, 1836244191.8, 1986853387.5999997], "ElectricityCable_80a3.ElectricityIn.V": [50000.0, 50000.0, 50000.0, 50000.0, 50000.0, 50000.0, 100952.046976358, 100952.048, 50000.0, 50000.0, 100952.04572879428, 100952.04591625255, 100950.95218589724, 100789.49204058084, 100627.23756296486, 100294.34615307346, 100571.11592814047, 100367.04698702092, 100476.96585137551, 100538.88334373568, 100615.79639086412, 100818.77235441275, 100863.5150312835, 100874.0963051574, 100945.78989697891], "ElectricityCable_80a3.ElectricityOut.Power": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1999997849.6, 2000000000.0, 0.0, 0.0, 1999995228.8, 1999995622.6, 1997697985.6, 1658513101.4000015, 1317659536.0000002, 618343094.2000002, 1199762886.2000008, 771068238.2000006, 1001978579.6000011, 1132050786.8000002, 1293624672.000001, 1720023264.4000008, 1814015745.6000009, 1836244191.800001, 1986853387.5999997], "ElectricityCable_80a3.Power_loss": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "ElectricityCable_80a3.I": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 39999.956992, 40000.0, 0.0, 0.0, 39999.904576, 39999.912452, 39953.959711999996, 33170.26202800003, 26353.190720000006, 12366.861884000002, 23995.257724000014, 15421.364764000014, 20039.571592000022, 22641.015736000005, 25872.493440000017, 34400.465288000014, 36280.314912000016, 36724.88383600002, 39737.067751999995], "ElectricityCable_80a3.V_loss": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 952.0469763579903, 952.0479999999999, 0.0, 0.0, 952.0457287942911, 952.0459162525424, 950.9521858972543, 789.4920405808342, 627.2375629648641, 294.3461530734608, 571.1159281404691, 367.04698702091713, 476.96585137551085, 538.8833437356833, 615.7963908641283, 818.7723544127458, 863.5150312834946, 874.0963051574034, 945.7898969789021], "ElectricityCable_e388.ElectricityIn.Power": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1979997849.6000054, 1980000000.0, 0.0, 0.0, 1979995228.8, 1979995622.6, 1977697985.6, 1638513101.4000013, 1297659536.0000002, 598343094.2, 1179762886.2000008, 751068238.2000006, 981978579.6000011, 1112050786.8000002, 1273624672.000001, 1700023264.4000008, 1794015745.6000009, 1816244191.800001, 1966853387.5999997], "ElectricityCable_e388.ElectricityOut.Power": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1979997849.6000054, 1980000000.0, 0.0, 0.0, 1979995228.8, 1979995622.6, 1977697985.6, 1638513101.4000013, 1297659536.0000002, 598343094.2, 1179762886.2000008, 751068238.2000006, 981978579.6000011, 1112050786.8000002, 1273624672.000001, 1700023264.4000008, 1794015745.6000009, 1816244191.800001, 1966853387.5999997], "ElectricityCable_e388.ElectricityOut.V": [50000.0, 50000.0, 50000.0, 50000.0, 50000.0, 50000.0, 96899.65996716083, 96899.6566, 50000.0, 50000.0, 96899.66407088809, 96899.66345426424, 96903.26116320795, 97434.36703043483, 97968.08576874512, 99063.09643280882, 98152.69187990145, 98823.9548205793, 98462.38848070493, 98258.71751650496, 98005.72027984224, 97338.05257190454, 97190.87632506716, 97156.0703571538, 96920.2419600943], "ElectricityCable_e388.Power_loss": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "ElectricityCable_e388.I": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 39599.95699200011, 39600.0, 0.0, 0.0, 39599.904576, 39599.912452, 39553.959711999996, 32770.26202800003, 25953.190720000006, 11966.861884000002, 23595.257724000014, 15021.364764000014, 19639.571592000022, 22241.015736000005, 25472.493440000017, 34000.465288000014, 35880.314912000016, 36324.88383600002, 39337.067751999995], "ElectricityCable_e388.V_loss": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3100.3400328391763, 3100.3433999999997, 0.0, 0.0, 3100.3359291119036, 3100.3365457357577, 3096.738836792048, 2565.632969565164, 2031.9142312548804, 936.9035671911861, 1847.3081200985469, 1176.045179420707, 1537.6115192950697, 1741.2824834950443, 1994.279720157761, 2661.9474280954532, 2809.1236749328486, 2843.9296428461953, 3079.7580399057074], "ElectricityCable_91e7.ElectricityIn.Power": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 19999999.999994468, 20000000.00000002, 0.0, 0.0, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002], "ElectricityCable_91e7.ElectricityIn.V": [50000.0, 50000.0, 50000.0, 50000.0, 50000.0, 50000.0, 100000.0, 100000.0, 50000.0, 50000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0, 100000.0], "ElectricityCable_91e7.ElectricityOut.Power": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 19999999.999994468, 20000000.00000002, 0.0, 0.0, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002, 20000000.00000002], "ElectricityCable_91e7.ElectricityOut.V": [50000.0, 50000.0, 50000.0, 50000.0, 50000.0, 50000.0, 99994.41392, 99994.41392, 50000.0, 50000.0, 99994.41392, 99994.41392, 99994.41392, 99994.41392, 99994.41392, 99994.41392, 99994.41392, 99994.41392, 99994.41392, 99994.41392, 99994.41392, 99994.41392, 99994.41392, 99994.41392, 99994.41392], "ElectricityCable_91e7.Power_loss": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "ElectricityCable_91e7.I": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 399.9999999998893, 400.00000000000034, 0.0, 0.0, 400.00000000000034, 400.00000000000034, 400.00000000000034, 400.00000000000034, 400.00000000000034, 400.00000000000034, 400.00000000000034, 400.00000000000034, 400.00000000000034, 400.00000000000034, 400.00000000000034, 400.00000000000034, 400.00000000000034, 400.00000000000034, 400.00000000000034], "ElectricityCable_91e7.V_loss": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.586079999998456, 5.586080000000006, 0.0, 0.0, 5.586080000000006, 5.586080000000006, 5.586080000000006, 5.586080000000006, 5.586080000000006, 5.586080000000006, 5.586080000000006, 5.586080000000006, 5.586080000000006, 5.586080000000006, 5.586080000000006, 5.586080000000006, 5.586080000000006, 5.586080000000006, 5.586080000000006], "Pipe_ec1a.GasIn.Q_shadow": [0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003], "Pipe_ec1a.GasIn.H": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "Pipe_ec1a.GasOut.Q": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 16.795378441099263, 16.795378441099263, 0.0, 0.0, 16.795378441099263, 16.795378441099263, 16.795378441099263, 16.795378441099263, 16.795378441099263, 16.795378441099263, 16.795378441099263, 16.795378441099263, 16.795378441099263, 16.795378441099267, 16.795378441099263, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267], "Pipe_ec1a.GasOut.Q_shadow": [0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002], "Pipe_ec1a.GasOut.mass_flow": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20652.203954552995, 20652.203954552995, 0.0, 0.0, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995], "Pipe_ec1a.dH": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "Pipe_97ee.GasIn.Q_shadow": [0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001], "Pipe_97ee.GasOut.Q": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -3.729323170520275e-15, 4.661653963150344e-15, 0.0, -3.729323170520275e-15, -3.729323170520275e-15, -3.729323170520275e-15, -3.729323170520275e-15, -3.729323170520275e-15, -3.729323170520275e-15, -3.729323170520275e-15, -3.729323170520275e-15, -3.729323170520275e-15, 0.0, -3.729323170520275e-15, 0.0, 0.0, 0.0, 0.0], "Pipe_97ee.GasOut.Q_shadow": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "Pipe_97ee.GasOut.mass_flow": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -4.58571046791989e-12, 5.732138084899862e-12, 0.0, -4.58571046791989e-12, -4.58571046791989e-12, -4.58571046791989e-12, -4.58571046791989e-12, -4.58571046791989e-12, -4.58571046791989e-12, -4.58571046791989e-12, -4.58571046791989e-12, -4.58571046791989e-12, 0.0, -4.58571046791989e-12, 0.0, 0.0, 0.0, 0.0], "Pipe_97ee.GasOut.H": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "Pipe_97ee.dH": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "Pipe_910d.GasIn.Q_shadow": [0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001], "Pipe_910d.GasIn.H": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "Pipe_910d.GasOut.Q": [-0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 16.795378441099263, 16.795378441099267, 0.0, -0.0, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267, 16.795378441099267], "Pipe_910d.GasOut.Q_shadow": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "Pipe_910d.GasOut.mass_flow": [-0.0, 0.0, -0.0, -0.0, -0.0, -0.0, 20652.203954552995, 20652.203954552995, 0.0, -0.0, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995, 20652.203954552995], "Pipe_910d.GasOut.H": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "Pipe_910d.dH": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "WindPark_9074.Set_point": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.000000216160079, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.9999999999999999], "Pipe_910d__gas_flow_direct_var": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], "Pipe_97ee__gas_flow_direct_var": [0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, -0.0, 0.0, 0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0], "Pipe_ec1a__gas_flow_direct_var": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], "Electrolyzer_6327__asset_is_switched_on": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], "Pipe_910d__gn_diameter": 1.194, "Pipe_97ee__gn_diameter": 1.194, "Pipe_ec1a__gn_diameter": 1.194, "Pipe_910d__gn_cost": 0.0, "Pipe_97ee__gn_cost": 0.0, "Pipe_ec1a__gn_cost": 0.0, "GasDemand_4146__max_size": 0.0, "GasStorage_9172__max_size": 23715000.0, "Electrolyzer_6327__max_size": 200000000.0, "ElectricityDemand_f833__max_size": 2000000000.0, "WindPark_9074__max_size": 1999999971.8, "ElectricityCable_80a3_aggregation_count": 1.0, "ElectricityCable_91e7_aggregation_count": 1.0, "ElectricityCable_e388_aggregation_count": 1.0, "ElectricityDemand_f833_aggregation_count": 1.0, "Bus_24cf_aggregation_count": 1.0, "WindPark_9074_aggregation_count": 1.0, "Electrolyzer_6327_aggregation_count": 1.0, "GasDemand_4146_aggregation_count": 1.0, "Joint_2503_aggregation_count": 1.0, "Pipe_910d_aggregation_count": 1.0, "Pipe_97ee_aggregation_count": 1.0, "Pipe_ec1a_aggregation_count": 1.0, "GasStorage_9172_aggregation_count": 1.0, "Pipe_910d__gn_max_discharge": 17.0, "Pipe_97ee__gn_max_discharge": 1.0, "Pipe_ec1a__gn_max_discharge": 17.0, "ElectricityCable_80a3__en_max_current": 40000.0, "ElectricityCable_91e7__en_max_current": 401.0, "ElectricityCable_e388__en_max_current": 39600.0, "ElectricityCable_80a3__en_resistance": 0.023801199999999998, "ElectricityCable_91e7__en_resistance": 0.0139652, "ElectricityCable_e388__en_resistance": 0.0782915, "ElectricityCable_80a3__en_cost": 0.0, "ElectricityCable_91e7__en_cost": 0.0, "ElectricityCable_e388__en_cost": 0.0, "ElectricityCable_80a3__fixed_operational_cost": 0.0, "ElectricityCable_91e7__fixed_operational_cost": 0.0, "ElectricityCable_e388__fixed_operational_cost": 0.0, "ElectricityDemand_f833__fixed_operational_cost": 0.0, "WindPark_9074__fixed_operational_cost": 509999992.8090001, "Electrolyzer_6327__fixed_operational_cost": 3000000.0, "GasDemand_4146__fixed_operational_cost": 0.0, "Pipe_910d__fixed_operational_cost": 0.0, "Pipe_97ee__fixed_operational_cost": 0.0, "Pipe_ec1a__fixed_operational_cost": 0.0, "GasStorage_9172__fixed_operational_cost": 0.0, "ElectricityCable_80a3__investment_cost": 0.0, "ElectricityCable_91e7__investment_cost": 0.0, "ElectricityCable_e388__investment_cost": 0.0, "ElectricityDemand_f833__investment_cost": 0.0, "WindPark_9074__investment_cost": 0.0, "Electrolyzer_6327__investment_cost": 0.0, "GasDemand_4146__investment_cost": 0.0, "Pipe_910d__investment_cost": 0.0, "Pipe_97ee__investment_cost": 0.0, "Pipe_ec1a__investment_cost": 0.0, "GasStorage_9172__investment_cost": 0.0, "ElectricityCable_80a3__installation_cost": 0.0, "ElectricityCable_91e7__installation_cost": 0.0, "ElectricityCable_e388__installation_cost": 0.0, "ElectricityDemand_f833__installation_cost": 0.0, "WindPark_9074__installation_cost": 0.0, "Electrolyzer_6327__installation_cost": 0.0, "GasDemand_4146__installation_cost": 0.0, "Pipe_910d__installation_cost": 0.0, "Pipe_97ee__installation_cost": 0.0, "Pipe_ec1a__installation_cost": 0.0, "GasStorage_9172__installation_cost": 0.0, "ElectricityCable_80a3__variable_operational_cost": 0.0, "ElectricityCable_91e7__variable_operational_cost": 0.0, "ElectricityCable_e388__variable_operational_cost": 0.0, "ElectricityDemand_f833__variable_operational_cost": 0.0, "WindPark_9074__variable_operational_cost": 0.0, "Electrolyzer_6327__variable_operational_cost": 0.0, "GasDemand_4146__variable_operational_cost": 0.0, "Pipe_910d__variable_operational_cost": 0.0, "Pipe_97ee__variable_operational_cost": 0.0, "Pipe_ec1a__variable_operational_cost": 0.0, "GasStorage_9172__variable_operational_cost": 0.0, "ElectricityDemand_f833__revenue": 685932.6301589636, "GasDemand_4146__revenue": 842609.9213457622} \ No newline at end of file diff --git a/tests/models/emerge/src/example.py b/tests/models/emerge/src/example.py index bd4d0e6ad..4bca0c28b 100644 --- a/tests/models/emerge/src/example.py +++ b/tests/models/emerge/src/example.py @@ -1,3 +1,5 @@ +import os + import casadi as ca from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin @@ -6,6 +8,7 @@ from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.io.write_output import ScenarioOutput from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, @@ -56,6 +59,33 @@ def function( return -optimization_problem.state(f"{self.source}.Gas_mass_flow_out") +class MaxElecProduction(Goal): + """ + A maximization goal for the hydrogen production, note that we minimize the negative hydrogen + production to achieve this. + """ + + priority = 1 + + order = 1 + + def __init__(self, source: str): + """ + The constructor of the goal. + + Parameters + ---------- + source : string of the source name that is going to be minimized + """ + self.source = source + + def function( + self, optimization_problem: CollocatedIntegratedOptimizationProblem, ensemble_member: int + ) -> ca.MX: + + return -optimization_problem.state(f"{self.source}.Electricity_source") + + class MaxRevenue(Goal): priority = 1 @@ -102,9 +132,9 @@ class MinCost(Goal): order = 1 def __init__(self, asset_name: str): - self.target_max = 0.0 - self.function_range = (0.0, 1.0e9) - self.function_nominal = 1.0e7 + # self.target_max = 0.0 + # self.function_range = (0.0, 1.0e9) + # self.function_nominal = 1.0e7 self.asset_name = asset_name @@ -120,6 +150,7 @@ def function( class EmergeTest( + ScenarioOutput, ESDLAdditionalVarsMixin, TechnoEconomicMixin, LinearizedOrderGoalProgrammingMixin, @@ -155,26 +186,30 @@ def __init__(self, *args, **kwargs): # for s in self.energy_system_components["electrolyzer"]: # goals.append(MaxHydrogenProduction(s)) # + # # for s in self.energy_system_components["electricity_source"]: + # # goals.append(MaxElecProduction(s)) + # # return goals def goals(self): goals = super().goals().copy() - for asset_name in self.energy_system_components["electricity_demand"]: - goals.append(MaxRevenue(asset_name)) - # goals.append(MinCost(asset_name)) - - for asset_name in self.energy_system_components["gas_demand"]: + for asset_name in [ + *self.energy_system_components.get("electricity_demand", []), + *self.energy_system_components.get("gas_demand", []), + ]: goals.append(MaxRevenue(asset_name)) - # goals.append(MinCost(asset_name)) + goals.append(MinCost(asset_name)) - # for asset_name in [*self.energy_system_components.get("electricity_source", []), - # *self.energy_system_components.get("gas_tank_storage", []), - # #TODO: battery - # *self.energy_system_components.get("electrolyzer", []), - # *self.energy_system_components.get("heat_pump_elec", [])]: - # goals.append(MinCost(asset_name)) + for asset_name in [ + *self.energy_system_components.get("electricity_source", []), + *self.energy_system_components.get("gas_tank_storage", []), + # TODO: battery + *self.energy_system_components.get("electrolyzer", []), + *self.energy_system_components.get("heat_pump_elec", []), + ]: + goals.append(MinCost(asset_name)) return goals @@ -189,6 +224,11 @@ def constraints(self, ensemble_member): gas_flow_t0 = sign * self.state_vector(canonical, ensemble_member)[0] constraints.append((gas_flow_t0, 0.0, 0.0)) + for es in self.energy_system_components.get("electricity_storage", []): + canonical, sign = self.alias_relation.canonical_signed(f"{es}.Stored_electricity") + storage_t0 = sign * self.state_vector(canonical, ensemble_member)[0] + constraints.append((storage_t0, 0.0, 0.0)) + return constraints def solver_options(self): @@ -222,14 +262,73 @@ def energy_system_options(self): options["include_electric_cable_power_loss"] = False return options + def post(self): + # In case the solver fails, we do not get in priority_completed(). We + # append this last priority's statistics here in post(). + # TODO: check if we still need this small part of code below + success, _ = self.solver_success(self.solver_stats, False) + # if not success: + # time_taken = time.time() - self.__priority_timer + # self._priorities_output.append( + # ( + # self.__priority, + # time_taken, + # False, + # self.objective_value, + # self.solver_stats, + # ) + # ) + + super().post() + + # Optimized ESDL + self._write_updated_esdl(self.get_energy_system_copy()) + + self._save_json = False + + if os.path.exists(self.output_folder) and self._save_json: + self._write_json_output() + + results = self.extract_results() + + for _type, assets in self.energy_system_components.items(): + for asset in assets: + print("----------------------------------") + print(f"{asset} financials:") + try: + print(f"revenue of {asset} in MEUR/day: ", results[f"{asset}__revenue"] / 1e6) + except KeyError: + print(f"{asset} does not have a revenue") + pass + try: + print( + f"fixed operational costs of {asset} in MEUR/yr : ", + results[f"{asset}__fixed_operational_cost"] / 1e6, + ) + print( + f"variable operational costs of {asset} : ", + results[f"{asset}__variable_operational_cost"] / 1e6, + ) # not yet all included in financialmixin + print(f"max size of {asset} : ", results[f"{asset}__max_size"]) + except KeyError: + print(f"{asset} does not have a costs") + pass + if __name__ == "__main__": elect = run_optimization_problem( EmergeTest, - esdl_file_name="emerge.esdl", + esdl_file_name="emerge_solar_battery.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, - input_timeseries_file="timeseries.csv", + input_timeseries_file="timeseries_with_PV.csv", ) + # elect = run_optimization_problem( + # EmergeTest, + # esdl_file_name="emerge.esdl", + # esdl_parser=ESDLFileParser, + # profile_reader=ProfileReaderFromFile, + # input_timeseries_file="timeseries.csv", + # ) results = elect.extract_results() a = 1 diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index c64b96509..25501a14a 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -89,7 +89,7 @@ def energy_system_options(self): # Check that the wind farm setpoint matches with the production np.testing.assert_allclose( - results["WindPark_7f14.ElectricityOut.Power"], ub * results["WindPark_7f14.Set_point"] + results["WindPark_7f14.ElectricityOut.Power"], ub * results["WindPark_7f14__set_point"] ) # Checks on the storage From 8c745e667b0ed51c1093ecd22f36fbab7d85d978 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 9 Apr 2024 09:09:43 +0200 Subject: [PATCH 021/376] Set timezone all profile read methods --- src/mesido/esdl/profile_parser.py | 30 ++++++++++++++++++++++++++---- tests/test_esdl_pycml.py | 9 +++++++++ tests/test_profile_parsing.py | 19 ++++++++++++++++--- 3 files changed, 51 insertions(+), 7 deletions(-) diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index dc13b968a..b43a4e92c 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -303,7 +303,15 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) "profile for each asset" ) - index = pd.DatetimeIndex(data=[x[0] for x in time_series_data.profile_data_list]) + if not time_series_data.profile_data_list[0][0].tzinfo: + index = pd.DatetimeIndex( + data=[x[0] for x in time_series_data.profile_data_list], + tz=datetime.timezone.utc, + ) + logger.warning("No timezone specified for the input profile: default UTC has been used") + else: + index = pd.DatetimeIndex(data=[x[0] for x in time_series_data.profile_data_list]) + data = [x[1] for x in time_series_data.profile_data_list] series = pd.Series(data=data, index=index) self._df[profile.id] = series @@ -440,25 +448,34 @@ def _load_csv( data = pd.read_csv(self._file_path) try: timeseries_import_times = [ - datetime.datetime.strptime(entry.replace("Z", ""), "%Y-%m-%d %H:%M:%S") + datetime.datetime.strptime(entry.replace("Z", ""), "%Y-%m-%d %H:%M:%S").replace( + tzinfo=datetime.timezone.utc + ) for entry in data["DateTime"].to_numpy() ] except ValueError: try: timeseries_import_times = [ - datetime.datetime.strptime(entry.replace("Z", ""), "%Y-%m-%dT%H:%M:%S") + datetime.datetime.strptime(entry.replace("Z", ""), "%Y-%m-%dT%H:%M:%S").replace( + tzinfo=datetime.timezone.utc + ) for entry in data["DateTime"].to_numpy() ] except ValueError: try: timeseries_import_times = [ - datetime.datetime.strptime(entry.replace("Z", ""), "%d-%m-%Y %H:%M") + datetime.datetime.strptime( + entry.replace("Z", ""), "%d-%m-%Y %H:%M" + ).replace(tzinfo=datetime.timezone.utc) for entry in data["DateTime"].to_numpy() ] except ValueError: raise _ProfileParserException("Date time string is not in a supported format") + logger.warning("Timezone specification not supported yet: default UTC has been used") + self._reference_datetimes = timeseries_import_times + for ensemble_member in range(ensemble_size): for component_type, var_name in self.component_type_to_var_name_map.items(): for component_name in energy_system_components.get(component_type, []): @@ -499,6 +516,11 @@ def _load_xml(self, energy_system_components, esdl_asset_id_to_name_map): ) # Convert timeseries timestamps to seconds since t0 for internal use + if not data.times[0].tzinfo: + for ii in range(len(data.times)): + data.times[ii] = data.times[ii].replace(tzinfo=datetime.timezone.utc) + logger.warning("No timezone specified for the input profile: default UTC has been used") + self._reference_datetimes = data.times # Offer input timeseries to IOMixin diff --git a/tests/test_esdl_pycml.py b/tests/test_esdl_pycml.py index 08907a5d5..45db8362a 100644 --- a/tests/test_esdl_pycml.py +++ b/tests/test_esdl_pycml.py @@ -56,3 +56,12 @@ def test_basic_source_and_demand_heat(self): # np.testing.assert_allclose( # case_python._objective_values[0], case_esdl._objective_values, rtol=1e-5, atol=1e-5 # ) + + +if __name__ == "__main__": + import time + + start_time = time.time() + a = TestESDL() + a.test_basic_source_and_demand_heat() + temp = 0 diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 45afe0416..a7a738782 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -1,3 +1,4 @@ +import datetime import unittest from pathlib import Path from typing import Optional @@ -8,7 +9,6 @@ from mesido.esdl.profile_parser import InfluxDBProfileReader, ProfileReaderFromFile from mesido.workflows import EndScenarioSizingStagedHIGHS - import numpy as np import pandas as pd @@ -33,6 +33,9 @@ def test_loading_from_influx(self): EndScenarioSizing is called thus the checks done are on profile lenghts and some values. This is because this scenario should also do aggragation of the profiles for non-peak days. + + Also check: + - that the timezone setting from the "influx_mock.csv" is correct """ import models.unit_cases.case_1a.src.run_1a as run_1a @@ -50,6 +53,8 @@ def test_loading_from_influx(self): ) problem.pre() + np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) + # the three demands in the test ESDL for demand_name in ["HeatingDemand_2ab9", "HeatingDemand_6662", "HeatingDemand_506c"]: profile_values = problem.get_timeseries(f"{demand_name}.target_heat_demand").values @@ -63,7 +68,8 @@ def test_loading_from_influx(self): def test_loading_from_csv(self): """ This test constructs a problem with input profiles read from a CSV file. - The test checks if the profiles read match the profiles from the CVS file. + The test checks if the profiles read match the profiles from the CVS file and that the + default UTC timezone has been set. """ import models.unit_cases_electricity.electrolyzer.src.example as example from models.unit_cases_electricity.electrolyzer.src.example import MILPProblem @@ -82,6 +88,8 @@ def test_loading_from_csv(self): ) problem.pre() + np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) + expected_array = np.array([1.0e8] * 3) np.testing.assert_equal( expected_array, @@ -97,7 +105,8 @@ def test_loading_from_csv(self): def test_loading_from_xml(self): """ This test loads a simple problem using an XML file for input profiles. - The test checks if the load profiles match those specified in the XML file. + The test checks if the load profiles match those specified in the XML file and that the + default UTC timezone has been set. """ import models.basic_source_and_demand.src.heat_comparison as heat_comparison from models.basic_source_and_demand.src.heat_comparison import HeatESDL @@ -116,6 +125,8 @@ def test_loading_from_xml(self): ) problem.pre() + np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) + expected_array = np.array([1.5e5] * 16 + [1.0e5] * 13 + [0.5e5] * 16) np.testing.assert_equal( expected_array, problem.get_timeseries("demand.target_heat_demand").values @@ -146,6 +157,8 @@ def test_loading_from_csv_with_influx_profiles_given(self): ) problem.pre() + np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) + expected_array = np.array([1.0e8] * 3) np.testing.assert_equal( expected_array, From 56ac6874ec5bcacd15efeaf40fd4890fede80ef5 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 9 Apr 2024 09:30:58 +0200 Subject: [PATCH 022/376] Standardized timezone, got rid of pytz in write_out --- src/mesido/workflows/io/write_output.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 9080f5815..ab6c2a8db 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -1,3 +1,4 @@ +import datetime import json import logging import numbers @@ -22,7 +23,6 @@ import pandas as pd -import pytz from rtctools.optimization.timeseries import Timeseries @@ -966,7 +966,7 @@ def _name_to_asset(name): for ii in range(len(self.times())): if not self.io.datetimes[ii].tzinfo: - data_row = [pytz.utc.localize(self.io.datetimes[ii])] + data_row = [self.io.datetimes[ii].replace(tzinfo=datetime.timezone.utc)] else: data_row = [self.io.datetimes[ii]] @@ -998,11 +998,19 @@ def _name_to_asset(name): profiles.profile_header.append(variable) # Set profile database attributes for the esdl asset if not self.io.datetimes[0].tzinfo: - start_date_time = pytz.utc.localize(self.io.datetimes[0]) + start_date_time = self.io.datetimes[0].replace( + tzinfo=datetime.timezone.utc + ) + logger.warning( + "No timezone specified for the output profile: default UTC" + f"has been used for asset {asset_name} variable {variable}" + ) else: start_date_time = self.io.datetimes[0] if not self.io.datetimes[-1].tzinfo: - end_date_time = pytz.utc.localize(self.io.datetimes[-1]) + end_date_time = self.io.datetimes[-1].replace( + tzinfo=datetime.timezone.utc + ) else: end_date_time = self.io.datetimes[-1] From d2c8366cbef1be5f43014b14bf91bc36ea92d817 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 9 Apr 2024 09:45:44 +0200 Subject: [PATCH 023/376] check soemthing --- tests/test_profile_parsing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index a7a738782..722f731ef 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -157,7 +157,7 @@ def test_loading_from_csv_with_influx_profiles_given(self): ) problem.pre() - np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) + np.testing.assert_equal(problem.io.reference_datetime.tzinfo, True or datetime.timezone.utc) expected_array = np.array([1.0e8] * 3) np.testing.assert_equal( From e240c12617930ea0b559dd034be009bb855d7865 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 9 Apr 2024 09:54:31 +0200 Subject: [PATCH 024/376] check --- tests/test_profile_parsing.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 722f731ef..2299b95f6 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -157,7 +157,10 @@ def test_loading_from_csv_with_influx_profiles_given(self): ) problem.pre() - np.testing.assert_equal(problem.io.reference_datetime.tzinfo, True or datetime.timezone.utc) + if not problem.io.reference_datetime.tzinfo: + ... + else: + np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) expected_array = np.array([1.0e8] * 3) np.testing.assert_equal( From a0fbfa96f2687da9c8b2171787d4166e74e29ef5 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 9 Apr 2024 10:06:22 +0200 Subject: [PATCH 025/376] another check --- tests/test_profile_parsing.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 2299b95f6..58c34feac 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -53,7 +53,10 @@ def test_loading_from_influx(self): ) problem.pre() - np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) + if not problem.io.reference_datetime.tzinfo: + exit("error") + else: + np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) # the three demands in the test ESDL for demand_name in ["HeatingDemand_2ab9", "HeatingDemand_6662", "HeatingDemand_506c"]: @@ -157,10 +160,7 @@ def test_loading_from_csv_with_influx_profiles_given(self): ) problem.pre() - if not problem.io.reference_datetime.tzinfo: - ... - else: - np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) + np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) expected_array = np.array([1.0e8] * 3) np.testing.assert_equal( From fa0a6eb0933b2057413c7615604babbc6d0006d3 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 9 Apr 2024 10:08:56 +0200 Subject: [PATCH 026/376] check --- tests/test_profile_parsing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 58c34feac..27327bc74 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -54,7 +54,7 @@ def test_loading_from_influx(self): problem.pre() if not problem.io.reference_datetime.tzinfo: - exit("error") + ... else: np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) From 0ac4133d6ae2de005aff4f3167ed67afb601719f Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 9 Apr 2024 11:08:31 +0200 Subject: [PATCH 027/376] Allow for different UTC input specified --- tests/test_profile_parsing.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 27327bc74..f81929d16 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -13,6 +13,8 @@ import pandas as pd +import pytz + class MockInfluxDBProfileReader(InfluxDBProfileReader): def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): @@ -53,10 +55,10 @@ def test_loading_from_influx(self): ) problem.pre() - if not problem.io.reference_datetime.tzinfo: - ... - else: - np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) + # The timezone setting is dependand on what is specificied + np.testing.assert_equal( + problem.io.reference_datetime.tzinfo, pytz.timezone("UTC") or datetime.timezone.utc + ) # the three demands in the test ESDL for demand_name in ["HeatingDemand_2ab9", "HeatingDemand_6662", "HeatingDemand_506c"]: From 9ccce131fed125cc06be0e0385e7477375ddfc00 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 9 Apr 2024 14:39:29 +0200 Subject: [PATCH 028/376] Reomve pytz from the test --- tests/test_profile_parsing.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index f81929d16..11e4dd004 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -13,13 +13,15 @@ import pandas as pd -import pytz - class MockInfluxDBProfileReader(InfluxDBProfileReader): def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): super().__init__(energy_system, file_path) - self._loaded_profiles = pd.read_csv(file_path, index_col="DateTime", parse_dates=True) + self._loaded_profiles = pd.read_csv( + file_path, + index_col="DateTime", + date_parser=lambda x: pd.to_datetime(x).tz_convert(datetime.timezone.utc), + ) def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) -> pd.Series: return self._loaded_profiles[profile.id] @@ -55,10 +57,7 @@ def test_loading_from_influx(self): ) problem.pre() - # The timezone setting is dependand on what is specificied - np.testing.assert_equal( - problem.io.reference_datetime.tzinfo, pytz.timezone("UTC") or datetime.timezone.utc - ) + np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) # the three demands in the test ESDL for demand_name in ["HeatingDemand_2ab9", "HeatingDemand_6662", "HeatingDemand_506c"]: From 0dba81f61141dc0d2165f61a768a8919c14278eb Mon Sep 17 00:00:00 2001 From: Femke Janssen Date: Tue, 9 Apr 2024 16:13:46 +0200 Subject: [PATCH 029/376] locally run grow --- manual_run/testing_bugs/model/test2.esdl | 68 ++++++++++++++++++++++++ manual_run/testing_bugs/src/run_grow.py | 20 +++++++ 2 files changed, 88 insertions(+) create mode 100644 manual_run/testing_bugs/model/test2.esdl create mode 100644 manual_run/testing_bugs/src/run_grow.py diff --git a/manual_run/testing_bugs/model/test2.esdl b/manual_run/testing_bugs/model/test2.esdl new file mode 100644 index 000000000..01a586d8f --- /dev/null +++ b/manual_run/testing_bugs/model/test2.esdl @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/manual_run/testing_bugs/src/run_grow.py b/manual_run/testing_bugs/src/run_grow.py new file mode 100644 index 000000000..6dcd75db4 --- /dev/null +++ b/manual_run/testing_bugs/src/run_grow.py @@ -0,0 +1,20 @@ +from pathlib import Path + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.workflows import EndScenarioSizingStagedHIGHS, run_end_scenario_sizing +from mesido.workflows.grow_workflow import EndScenarioSizingStagedGurobi + +if __name__ == "__main__": + import time + + start_time = time.time() + base_folder = Path(__file__).resolve().parent.parent + + solution = run_end_scenario_sizing( + EndScenarioSizingStagedHIGHS, + base_folder=base_folder, + esdl_file_name="Base Netwerk Delft.esdl", + esdl_parser=ESDLFileParser, + ) + + print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) From e3bc2e8adb148bb5efad91e0a3cb0219ffca8c85 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 11 Apr 2024 10:57:27 +0200 Subject: [PATCH 030/376] Replace copied (deepcopy) ESDL with actual ESDL --- src/mesido/workflows/grow_workflow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 760eaec1b..981ee610d 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -332,7 +332,7 @@ def post(self): parameters = self.parameters(0) # bounds = self.bounds() # Optimized ESDL - self._write_updated_esdl(self.get_energy_system_copy()) + self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) for d in self.energy_system_components.get("heat_demand", []): realized_demand = results[f"{d}.Heat_demand"] From b44665f143664d587898c4ef56c26dea514e6118 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 11 Apr 2024 11:02:40 +0200 Subject: [PATCH 031/376] Update test case --- tests/test_head_loss.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 285b67f85..77454f8e2 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -77,7 +77,7 @@ def energy_system_options(self): # Do not delete kwargs: this is used to manualy check writing out of profile data kwargs = { - "write_result_db_profiles": True, + "write_result_db_profiles": False, "influxdb_host": "localhost", "influxdb_port": 8086, "influxdb_username": None, From c1859c9233e55ed877c7cb8a09c6af321173b5e6 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 11 Apr 2024 11:13:58 +0200 Subject: [PATCH 032/376] Updated commented out sections of code, tests and simulator workflow --- src/mesido/workflows/simulator_workflow.py | 2 +- tests/models/emerge/src/example.py | 2 +- tests/test_head_loss.py | 2 +- tests/test_multiple_in_and_out_port_components.py | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index 3fc4009a3..84e1e7ddb 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -312,7 +312,7 @@ def __state_vector_scaled(self, variable, ensemble_member): class NetworkSimulatorHIGHS(NetworkSimulator): def post(self): super().post() - self._write_updated_esdl(self.get_energy_system_copy(), optimizer_sim=True) + self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True) def solver_options(self): options = super().solver_options() diff --git a/tests/models/emerge/src/example.py b/tests/models/emerge/src/example.py index 4bca0c28b..db2ee38fc 100644 --- a/tests/models/emerge/src/example.py +++ b/tests/models/emerge/src/example.py @@ -282,7 +282,7 @@ def post(self): super().post() # Optimized ESDL - self._write_updated_esdl(self.get_energy_system_copy()) + self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) self._save_json = False diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 77454f8e2..b672b8309 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -49,7 +49,7 @@ class SourcePipeSinkDW(SourcePipeSink): # Do not delete: this is used to manualy check writing out of profile data # def post(self): # super().post() - # self._write_updated_esdl(self.get_energy_system_copy(), optimizer_sim=True) + # self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True) def energy_system_options(self): options = super().energy_system_options() diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 95d9a605a..28a503544 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -39,7 +39,7 @@ def test_heat_exchanger(self): class HeatProblemPost(HeatProblem): # def post(self): # super().post() - # self._write_updated_esdl(self.get_energy_system_copy(), optimizer_sim=True) + # self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True) def energy_system_options(self): options = super().energy_system_options() @@ -130,7 +130,7 @@ def test_heat_pump(self): class HeatProblemPost(HeatProblem): # def post(self): # super().post() - # self._write_updated_esdl(self.get_energy_system_copy(), optimizer_sim=True) + # self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True) def energy_system_options(self): options = super().energy_system_options() From f7bc1f4bb3dd26198d000897c669f564900539cc Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 11 Apr 2024 11:17:58 +0200 Subject: [PATCH 033/376] Formatting --- src/mesido/workflows/simulator_workflow.py | 4 +++- tests/test_head_loss.py | 4 +++- tests/test_multiple_in_and_out_port_components.py | 8 ++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index 84e1e7ddb..a534d9446 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -312,7 +312,9 @@ def __state_vector_scaled(self, variable, ensemble_member): class NetworkSimulatorHIGHS(NetworkSimulator): def post(self): super().post() - self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True) + self._write_updated_esdl( + self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True + ) def solver_options(self): options = super().solver_options() diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index b672b8309..16b76f31c 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -49,7 +49,9 @@ class SourcePipeSinkDW(SourcePipeSink): # Do not delete: this is used to manualy check writing out of profile data # def post(self): # super().post() - # self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True) + # self._write_updated_esdl( + # self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True + # ) def energy_system_options(self): options = super().energy_system_options() diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 28a503544..3f3adb35e 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -39,7 +39,9 @@ def test_heat_exchanger(self): class HeatProblemPost(HeatProblem): # def post(self): # super().post() - # self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True) + # self._write_updated_esdl( + # self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True + # ) def energy_system_options(self): options = super().energy_system_options() @@ -130,7 +132,9 @@ def test_heat_pump(self): class HeatProblemPost(HeatProblem): # def post(self): # super().post() - # self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True) + # self._write_updated_esdl( + # self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True + # ) def energy_system_options(self): options = super().energy_system_options() From 0539554b8a57e111da298a5985a11c07bc36996b Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 11 Apr 2024 11:25:10 +0200 Subject: [PATCH 034/376] Mark my files to be ignored --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 404870adc..77c03b191 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ src/*.egg-info # Kobus van Rooyen run_pipe_compare.py +*_kvr_* .venv/ # Ignore ESDL files created by workflows *_GrowOptimized.esdl From 0bf8a432b861754ad5a90493d41374993585ba76 Mon Sep 17 00:00:00 2001 From: JimRojer-TNO <137045207+jimrojerTNO@users.noreply.github.com> Date: Fri, 12 Apr 2024 09:21:28 +0200 Subject: [PATCH 035/376] Transformer and Compressor (#18) This commit adds support for a compressor in the gas network and a transformer in the e-grod --- src/mesido/asset_sizing_mixin.py | 10 +++ src/mesido/electricity_physics_mixin.py | 1 + src/mesido/esdl/asset_to_component_base.py | 31 ++++++- src/mesido/esdl/esdl_heat_model.py | 83 ++++++++++++++++++- .../pycml/component_library/milp/__init__.py | 4 + .../milp/electricity/__init__.py | 2 + .../milp/electricity/transformer.py | 27 ++++++ .../component_library/milp/gas/__init__.py | 2 + .../component_library/milp/gas/compressor.py | 30 +++++++ .../component_library/milp/gas/gas_demand.py | 2 +- .../milp/gas/gas_substation.py | 4 +- .../model/compressor.esdl | 42 ++++++++++ .../src/run_multiple_gas_carriers.py | 2 +- .../source_sink_cable/model/transformer.esdl | 42 ++++++++++ .../source_sink_cable/src/example.py | 2 +- tests/test_electric_source_sink.py | 78 ++++++++++++++++- tests/test_head_loss.py | 53 +++++++++++- tests/utils_tests.py | 18 ++++ 18 files changed, 422 insertions(+), 11 deletions(-) create mode 100644 src/mesido/pycml/component_library/milp/electricity/transformer.py create mode 100644 src/mesido/pycml/component_library/milp/gas/compressor.py create mode 100644 tests/models/multiple_gas_carriers/model/compressor.esdl create mode 100644 tests/models/unit_cases_electricity/source_sink_cable/model/transformer.esdl diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index b1a8182bc..f2329d82c 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -863,6 +863,11 @@ def _make_max_size_var(name, lb, ub, nominal): lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) + for asset_name in self.energy_system_components.get("compressor", []): + ub = bounds[f"{asset_name}.GasIn.Q"][1] + lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) + for asset_name in self.energy_system_components.get("electrolyzer", []): ub = bounds[f"{asset_name}.ElectricityIn.Power"][1] lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub @@ -874,6 +879,11 @@ def _make_max_size_var(name, lb, ub, nominal): lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) + for asset_name in self.energy_system_components.get("transformer", []): + ub = bounds[f"{asset_name}.ElectricityIn.Power"][1] + lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) + for asset_name in self.energy_system_components.get("electricity_source", []): ub = ( bounds[f"{asset_name}.Electricity_source"][1] diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 4f405f1ac..5e06a63fb 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -401,6 +401,7 @@ def __electricity_demand_path_constraints(self, ensemble_member): *self.energy_system_components.get("electricity_demand", []), *self.energy_system_components.get("heat_pump_elec", []), *self.energy_system_components.get("electrolyzer", []), + *self.energy_system_components.get("transformer", []), ]: min_voltage = parameters[f"{elec_demand}.min_voltage"] voltage = self.state(f"{elec_demand}.ElectricityIn.V") diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 4e9b11273..5918471c8 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -79,6 +79,7 @@ class _AssetToComponentBase: "ElectricityDemand": "electricity_demand", "ElectricityProducer": "electricity_source", "Electrolyzer": "electrolyzer", + "Compressor": "compressor", "GenericConsumer": "heat_demand", "CoolingDemand": "cold_demand", "HeatExchange": "heat_exchanger", @@ -98,11 +99,13 @@ class _AssetToComponentBase: "Joint": "node", "Pipe": "heat_pipe", "Pump": "pump", + "PressureReducingValve": "gas_substation", "PVInstallation": "electricity_source", "HeatStorage": "heat_buffer", "Sensor": "skip", "Valve": "control_valve", "WindPark": "electricity_source", + "Transformer": "transformer", "CheckValve": "check_valve", } @@ -370,7 +373,33 @@ def _get_connected_q_max(self, asset: Asset) -> float: ) def _get_connected_i_nominal_and_max(self, asset: Asset) -> Tuple[float, float]: - if asset.in_ports is None: + if ( + asset.in_ports is not None + and asset.out_ports is not None + and len(asset.in_ports) == 1 + and len(asset.out_ports) == 1 + and isinstance(asset.in_ports[0].carrier, esdl.ElectricityCommodity) + and isinstance(asset.out_ports[0].carrier, esdl.ElectricityCommodity) + ): # Transformer + connected_port = asset.out_ports[0].connectedTo[0] + i_max_out = self._port_to_i_max.get(connected_port, None) + i_nom_out = self._port_to_i_nominal.get(connected_port, None) + connected_port = asset.in_ports[0].connectedTo[0] + i_max_in = self._port_to_i_max.get(connected_port, None) + i_nom_in = self._port_to_i_nominal.get(connected_port, None) + if i_nom_in is not None and i_nom_out is not None: + self._port_to_i_nominal[asset.in_ports[0]] = i_nom_in + self._port_to_i_max[asset.in_ports[0]] = i_max_in + self._port_to_i_nominal[asset.out_ports[0]] = i_nom_out + self._port_to_i_max[asset.out_ports[0]] = i_max_out + return i_max_in, i_nom_in, i_max_out, i_nom_out + else: + raise _RetryLaterException( + f"Could not determine max and nominal current for {asset.asset_type}" + " '{asset.name}'" + ) + + elif asset.in_ports is None: connected_port = asset.out_ports[0].connectedTo[0] i_max = self._port_to_i_max.get(connected_port, None) i_nom = self._port_to_i_nominal.get(connected_port, None) diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 8bb51ed07..979d19546 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -15,6 +15,7 @@ AirWaterHeatPump, CheckValve, ColdDemand, + Compressor, ControlValve, ElectricityCable, ElectricityDemand, @@ -40,6 +41,7 @@ Node, Pump, SolarPV, + Transformer, WindPark, ) @@ -1304,6 +1306,46 @@ def convert_electricity_cable(self, asset: Asset) -> Tuple[Type[ElectricityCable ) return ElectricityCable, modifiers + def convert_transformer(self, asset: Asset) -> Tuple[Type[Transformer], MODIFIERS]: + """ + This function converts the Transformer object in esdl to a set of modifiers that can be + used in a pycml object. Most important: + + - Setting the length of the cable used for power loss computation. + - setting the min and max current. + + Parameters + ---------- + asset : The asset object with its properties. + + Returns + ------- + ElectricityCable class with modifiers + """ + assert asset.asset_type in {"Transformer"} + self._get_connected_i_nominal_and_max(asset) + i_max_in, i_nom_in, i_max_out, i_nom_out = self._get_connected_i_nominal_and_max(asset) + min_voltage_in = asset.in_ports[0].carrier.voltage + min_voltage_out = asset.out_ports[0].carrier.voltage + max_power = min_voltage_in * i_max_in + + modifiers = dict( + power_nominal=max_power / 2.0, + min_voltage=min_voltage_in, + ElectricityIn=dict( + V=dict(min=min_voltage_in, nominal=min_voltage_in), + I=dict(min=0.0, max=i_max_in, nominal=i_nom_in), + Power=dict(min=0.0, max=max_power, nominal=max_power / 2.0), + ), + ElectricityOut=dict( + V=dict(nominal=min_voltage_out), + I=dict(min=0.0, max=i_max_out, nominal=i_nom_out), + Power=dict(min=0.0, max=max_power, nominal=max_power / 2.0), + ), + **self._get_cost_figure_modifiers(asset), + ) + return Transformer, modifiers + def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: """ This function converts the GasDemand object in esdl to a set of modifiers that can be @@ -1494,8 +1536,8 @@ def convert_gas_tank_storage(self, asset: Asset) -> Tuple[Type[GasTankStorage], def convert_gas_substation(self, asset: Asset) -> Tuple[Type[GasSubstation], MODIFIERS]: """ - This function converts the GasTankStorage object in esdl to a set of modifiers that can be - used in a pycml object. + This function converts the PressureReducingValve object in esdl to a set of modifiers that + can be used in a pycml object. Parameters ---------- @@ -1505,12 +1547,14 @@ def convert_gas_substation(self, asset: Asset) -> Tuple[Type[GasSubstation], MOD ------- GasTankStorage class with modifiers """ - assert asset.asset_type in {"GasConversion"} + assert asset.asset_type in {"GasConversion", "PressureReducingValve"} q_nom_in, q_nom_out = self._get_connected_q_nominal(asset) density_in = self.get_density(asset.name, asset.in_ports[0].carrier) density_out = self.get_density(asset.name, asset.out_ports[0].carrier) + assert density_in >= density_out + modifiers = dict( Q_nominal_in=q_nom_in, Q_nominal_out=q_nom_out, @@ -1523,6 +1567,39 @@ def convert_gas_substation(self, asset: Asset) -> Tuple[Type[GasSubstation], MOD return GasSubstation, modifiers + def convert_compressor(self, asset: Asset) -> Tuple[Type[Compressor], MODIFIERS]: + """ + This function converts the Compressor object in esdl to a set of modifiers that can be + used in a pycml object. + + Parameters + ---------- + asset : The asset object with its properties. + + Returns + ------- + GasTankStorage class with modifiers + """ + assert asset.asset_type in {"Compressor"} + + q_nom_in, q_nom_out = self._get_connected_q_nominal(asset) + density_in = self.get_density(asset.name, asset.in_ports[0].carrier) + density_out = self.get_density(asset.name, asset.out_ports[0].carrier) + + assert density_out >= density_in + + modifiers = dict( + Q_nominal_in=q_nom_in, + Q_nominal_out=q_nom_out, + density_in=density_in, + density_out=density_out, + GasIn=dict(Q=dict(nominal=q_nom_in), mass_flow=dict(nominal=q_nom_in * density_in)), + GasOut=dict(Q=dict(nominal=q_nom_out), mass_flow=dict(nominal=q_nom_out * density_out)), + **self._get_cost_figure_modifiers(asset), + ) + + return Compressor, modifiers + class ESDLHeatModel(_ESDLModelBase): """ diff --git a/src/mesido/pycml/component_library/milp/__init__.py b/src/mesido/pycml/component_library/milp/__init__.py index 30dfa8a55..60d6534db 100644 --- a/src/mesido/pycml/component_library/milp/__init__.py +++ b/src/mesido/pycml/component_library/milp/__init__.py @@ -5,7 +5,9 @@ from .electricity.electricity_storage import ElectricityStorage from .electricity.heat_pump_elec import HeatPumpElec from .electricity.solarpv import SolarPV +from .electricity.transformer import Transformer from .electricity.windpark import WindPark +from .gas.compressor import Compressor from .gas.gas_demand import GasDemand from .gas.gas_node import GasNode from .gas.gas_pipe import GasPipe @@ -38,6 +40,7 @@ "HeatBuffer", "CheckValve", "ColdDemand", + "Compressor", "ControlValve", "HeatDemand", "ElectricityCable", @@ -65,5 +68,6 @@ "Pump", "HeatSource", "SolarPV", + "Transformer", "WindPark", ] diff --git a/src/mesido/pycml/component_library/milp/electricity/__init__.py b/src/mesido/pycml/component_library/milp/electricity/__init__.py index cd65110e7..d6592bb8f 100644 --- a/src/mesido/pycml/component_library/milp/electricity/__init__.py +++ b/src/mesido/pycml/component_library/milp/electricity/__init__.py @@ -3,6 +3,7 @@ from .electricity_node import ElectricityNode from .electricity_source import ElectricitySource from .heat_pump_elec import HeatPumpElec +from .transformer import Transformer __all__ = [ "ElectricityNode", @@ -10,4 +11,5 @@ "ElectricitySource", "ElectricityDemand", "HeatPumpElec", + "Transformer", ] diff --git a/src/mesido/pycml/component_library/milp/electricity/transformer.py b/src/mesido/pycml/component_library/milp/electricity/transformer.py new file mode 100644 index 000000000..ace4e31db --- /dev/null +++ b/src/mesido/pycml/component_library/milp/electricity/transformer.py @@ -0,0 +1,27 @@ +from numpy import nan + +from .electricity_base import ElectricityTwoPort +from .._internal import BaseAsset + + +class Transformer(ElectricityTwoPort, BaseAsset): + """ + The transformer component is used to change the voltage level of the network whilst conserving + the power. + """ + + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + + self.component_type = "transformer" + self.meret_place = 1 + + self.price = nan + + self.min_voltage = nan + + self.power_nominal = nan + + self.add_equation( + ((self.ElectricityIn.Power - self.ElectricityOut.Power) / self.power_nominal) + ) diff --git a/src/mesido/pycml/component_library/milp/gas/__init__.py b/src/mesido/pycml/component_library/milp/gas/__init__.py index 1aac45553..baa4fe707 100644 --- a/src/mesido/pycml/component_library/milp/gas/__init__.py +++ b/src/mesido/pycml/component_library/milp/gas/__init__.py @@ -1,3 +1,4 @@ +from .compressor import Compressor from .gas_demand import GasDemand from .gas_node import GasNode from .gas_pipe import GasPipe @@ -5,6 +6,7 @@ from .gas_substation import GasSubstation __all__ = [ + "Compressor", "GasNode", "GasPipe", "GasSource", diff --git a/src/mesido/pycml/component_library/milp/gas/compressor.py b/src/mesido/pycml/component_library/milp/gas/compressor.py new file mode 100644 index 000000000..b83420781 --- /dev/null +++ b/src/mesido/pycml/component_library/milp/gas/compressor.py @@ -0,0 +1,30 @@ +from numpy import nan + +from .gas_base import GasTwoPort +from .._internal import BaseAsset + + +class Compressor(GasTwoPort, BaseAsset): + """ + A gas compressor increases the pressure level of the flow. + """ + + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + + self.component_type = "compressor" + self.min_head = 30.0 + + self.Q_nominal_in = nan + self.Q_nominal_out = nan + + self.density_in = 2.5e3 # H2 density [g/m3] at 30bar + self.density_out = 2.5e3 # H2 density [g/m3] at 30bar + + self.add_equation( + ( + (self.GasIn.Q * self.density_in - self.GasOut.Q * self.density_out) + / (self.Q_nominal_in * self.density_in * self.Q_nominal_out * self.density_out) + ** 0.5 + ) + ) diff --git a/src/mesido/pycml/component_library/milp/gas/gas_demand.py b/src/mesido/pycml/component_library/milp/gas/gas_demand.py index 3dbf21635..7b05a5d7d 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_demand.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_demand.py @@ -20,7 +20,7 @@ def __init__(self, name, **modifiers): self.Q_nominal = nan - self.density = 2.5e3 # H2 density [kg/m3] at 30bar + self.density = 2.5e3 # H2 density [g/m3] at 30bar self.id_mapping_carrier = -1 diff --git a/src/mesido/pycml/component_library/milp/gas/gas_substation.py b/src/mesido/pycml/component_library/milp/gas/gas_substation.py index 534d37247..9f9b0ca77 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_substation.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_substation.py @@ -19,8 +19,8 @@ def __init__(self, name, **modifiers): self.Q_nominal_in = nan self.Q_nominal_out = nan - self.density_in = 2.5e3 # H2 density [kg/m3] at 30bar - self.density_out = 2.5e3 # H2 density [kg/m3] at 30bar + self.density_in = 2.5e3 # H2 density [g/m3] at 30bar + self.density_out = 2.5e3 # H2 density [g/m3] at 30bar self.add_equation( ( diff --git a/tests/models/multiple_gas_carriers/model/compressor.esdl b/tests/models/multiple_gas_carriers/model/compressor.esdl new file mode 100644 index 000000000..10b43e8da --- /dev/null +++ b/tests/models/multiple_gas_carriers/model/compressor.esdl @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py b/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py index a6c9669d1..d96dfaa98 100644 --- a/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py +++ b/tests/models/multiple_gas_carriers/src/run_multiple_gas_carriers.py @@ -86,7 +86,7 @@ def times(self, variable=None) -> np.ndarray: if __name__ == "__main__": elect = run_optimization_problem( GasProblem, - esdl_file_name="multiple_carriers.esdl", + esdl_file_name="compressor.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries.csv", diff --git a/tests/models/unit_cases_electricity/source_sink_cable/model/transformer.esdl b/tests/models/unit_cases_electricity/source_sink_cable/model/transformer.esdl new file mode 100644 index 000000000..19acdc012 --- /dev/null +++ b/tests/models/unit_cases_electricity/source_sink_cable/model/transformer.esdl @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases_electricity/source_sink_cable/src/example.py b/tests/models/unit_cases_electricity/source_sink_cable/src/example.py index eb1009636..7883c2136 100644 --- a/tests/models/unit_cases_electricity/source_sink_cable/src/example.py +++ b/tests/models/unit_cases_electricity/source_sink_cable/src/example.py @@ -133,7 +133,7 @@ def bounds(self): if __name__ == "__main__": elect = run_optimization_problem( ElectricityProblem, - esdl_file_name="case1_elec.esdl", + esdl_file_name="transformer.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries.csv", diff --git a/tests/test_electric_source_sink.py b/tests/test_electric_source_sink.py index a2d4ce691..607410560 100644 --- a/tests/test_electric_source_sink.py +++ b/tests/test_electric_source_sink.py @@ -6,9 +6,9 @@ import numpy as np - from rtctools.util import run_optimization_problem + # TODO: still have to make test where elecitricity direction is switched: # e.g. 2 nodes, with at each node a producer and consumer, first one node medium demand, second # small demand and then increase the demand of the second node such that direction changes @@ -200,3 +200,79 @@ def test_source_sink_max_curr(self): results[f"{demand}.ElectricityIn.Power"], atol=1.0e-3, ) + + def test_transformer(self): + """ + This test is to check the transformer component which changes the voltage level. + + Checks: + - demand matching + - check the voltage levels are not equal and are correctly set + - power conservation at the transformer + + """ + + import models.unit_cases_electricity.source_sink_cable.src.example as example + from models.unit_cases_electricity.source_sink_cable.src.example import ( + ElectricityProblem, + ) + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_optimization_problem( + ElectricityProblem, + base_folder=base_folder, + esdl_file_name="transformer.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + results = solution.extract_results() + parameters = solution.parameters(0) + + # check power conservation in transformer + np.testing.assert_allclose( + results["Transformer_0185.ElectricityIn.Power"], + results["Transformer_0185.ElectricityOut.Power"], + atol=1.0e-3, + ) + + # Check that the cables have two different voltage levels + assert ( + parameters["ElectricityDemand_2af6.min_voltage"] + != parameters["Transformer_0185.min_voltage"] + ) + + np.testing.assert_allclose( + parameters["Transformer_0185.min_voltage"], + results["ElectricityCable_1fe5.ElectricityOut.V"], + atol=-1.0e-3, + ) + np.testing.assert_allclose( + parameters["ElectricityDemand_2af6.min_voltage"], + results["ElectricityCable_22c9.ElectricityOut.V"], + atol=1.0e-3, + ) + + for demand in solution.energy_system_components.get("electricity_demand", []): + np.testing.assert_allclose( + results[f"{demand}.ElectricityIn.V"], + parameters[f"{demand}.min_voltage"], + atol=1.0e-3, + ) + np.testing.assert_allclose( + results[f"{demand}.ElectricityIn.V"] * results[f"{demand}.ElectricityIn.I"], + results[f"{demand}.ElectricityIn.Power"], + atol=1.0e-3, + ) + for demand in solution.energy_system_components.get("transformer", []): + np.testing.assert_allclose( + results[f"{demand}.ElectricityIn.V"], + parameters[f"{demand}.min_voltage"], + atol=1.0e-3, + ) + np.testing.assert_allclose( + results[f"{demand}.ElectricityIn.V"] * results[f"{demand}.ElectricityIn.I"], + results[f"{demand}.ElectricityIn.Power"], + atol=1.0e-3, + ) diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 16b76f31c..f5717b2c2 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -740,7 +740,58 @@ def test_gas_substation(self): results = solution.extract_results() parameters = solution.parameters(0) - assert parameters["Pipe1.pressure"] != parameters["Pipe2.pressure"] + demand_matching_test(solution, results) + + assert parameters["Pipe1.pressure"] >= parameters["Pipe2.pressure"] + + for pipe in solution.energy_system_components.get("gas_pipe", []): + dh = results[f"{pipe}.dH"] + vel = results[f"{pipe}.Q"] / (np.pi * (parameters[f"{pipe}.diameter"] / 2.0) ** 2) + for i in range(len(solution.times())): + analytical_dh = ( + vel[i] + / solution.gas_network_settings["maximum_velocity"] + * darcy_weisbach.head_loss( + solution.gas_network_settings["maximum_velocity"], + parameters[f"{pipe}.diameter"], + parameters[f"{pipe}.length"], + solution.energy_system_options()["wall_roughness"], + 20.0, + network_type=NetworkSettings.NETWORK_TYPE_GAS, + pressure=parameters[f"{pipe}.pressure"], + ) + ) + np.testing.assert_allclose(abs(dh[i]), abs(analytical_dh), atol=1.0e-6) + + def test_compressor(self): + """ + Test to check if the gas compressor increases the pressure and the head loss computation + are correctly performed at the two pressure levels. + + Checks: + - Demand matching ensuring that there is flow + - That the two pipes are at two different pressure levels + _ That the pipes have the expected head loss given their reference pressures + """ + import models.multiple_gas_carriers.src.run_multiple_gas_carriers as example + from models.multiple_gas_carriers.src.run_multiple_gas_carriers import GasProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_optimization_problem( + GasProblem, + base_folder=base_folder, + esdl_file_name="compressor.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + results = solution.extract_results() + parameters = solution.parameters(0) + + demand_matching_test(solution, results) + + assert parameters["Pipe1.pressure"] <= parameters["Pipe2.pressure"] for pipe in solution.energy_system_components.get("gas_pipe", []): dh = results[f"{pipe}.dH"] diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 4abbb9b9f..4b7e0ed5c 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -20,6 +20,24 @@ def demand_matching_test(solution, results): len_times = len(solution.get_timeseries(f"{d}.target_cold_demand").values) target = solution.get_timeseries(f"{d}.target_cold_demand").values[0:len_times] np.testing.assert_allclose(target, results[f"{d}.Cold_demand"], atol=1.0e-3, rtol=1.0e-6) + for d in solution.energy_system_components.get("gas_demand", []): + if len(solution.times()) > 0: + len_times = len(solution.times()) + else: + len_times = len(solution.get_timeseries(f"{d}.target_gas_demand").values) + target = solution.get_timeseries(f"{d}.target_gas_demand").values[0:len_times] + np.testing.assert_allclose( + target, results[f"{d}.Gas_demand_mass_flow"], atol=1.0e-3, rtol=1.0e-6 + ) + for d in solution.energy_system_components.get("electricity_demand", []): + if len(solution.times()) > 0: + len_times = len(solution.times()) + else: + len_times = len(solution.get_timeseries(f"{d}.target_electricity_demand").values) + target = solution.get_timeseries(f"{d}.target_electricity_demand").values[0:len_times] + np.testing.assert_allclose( + target, results[f"{d}.Electricity_demand"], atol=1.0e-3, rtol=1.0e-6 + ) def _get_component_temperatures(solution, results, component, side=None): From 0f103e3a0a0da8f40cb5ebeca287eee528424eb3 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Fri, 12 Apr 2024 09:24:14 +0200 Subject: [PATCH 036/376] Error not matching demand (#20) This commit adds a check for the grow workflow to see if the demand is matched and to puts time-limits on the 2 priorities. --- src/mesido/workflows/grow_workflow.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 981ee610d..2842bff27 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -266,6 +266,16 @@ def __state_vector_scaled(self, variable, ensemble_member): self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign ) + def solver_options(self): + options = super().solver_options() + if options["solver"] == "highs": + highs_options = options["highs"] + if self.__priority == 1: + highs_options["time_limit"] = 100 + else: + highs_options["time_limit"] = 100000 + return options + def solver_success(self, solver_stats, log_solver_failure_as_error): success, log_level = super().solver_success(solver_stats, log_solver_failure_as_error) @@ -309,6 +319,8 @@ def priority_completed(self, priority): self.solver_stats, ) ) + if priority == 1 and self.objective_value > 1e-6: + raise RuntimeError("The heating demand is not matched") def post(self): # In case the solver fails, we do not get in priority_completed(). We From cd9b26ecc8ad4a8adf3c93b7b6c73a473d89cd8c Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 12:04:42 +0200 Subject: [PATCH 037/376] Test high level items in updated ESDL --- examples/PoCTutorial/src/run_grow_tutorial.py | 23 ++++ tests/test_updated_esdl.py | 106 ++++++++++++++++++ 2 files changed, 129 insertions(+) create mode 100644 examples/PoCTutorial/src/run_grow_tutorial.py create mode 100644 tests/test_updated_esdl.py diff --git a/examples/PoCTutorial/src/run_grow_tutorial.py b/examples/PoCTutorial/src/run_grow_tutorial.py new file mode 100644 index 000000000..bf62064cf --- /dev/null +++ b/examples/PoCTutorial/src/run_grow_tutorial.py @@ -0,0 +1,23 @@ +from pathlib import Path + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.workflows import EndScenarioSizingStagedHIGHS, run_end_scenario_sizing + + +class EndScenarioSizingStagedHighs(EndScenarioSizingStagedHIGHS): + pass + + +if __name__ == "__main__": + import time + + start_time = time.time() + base_folder = Path(__file__).resolve().parent.parent + solution = run_end_scenario_sizing( + EndScenarioSizingStagedHighs, + base_folder=base_folder, + esdl_file_name="PoC Tutorial.esdl", + esdl_parser=ESDLFileParser, + ) + + print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/test_updated_esdl.py b/tests/test_updated_esdl.py new file mode 100644 index 000000000..f4ce05e9d --- /dev/null +++ b/tests/test_updated_esdl.py @@ -0,0 +1,106 @@ +import os +import sys +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.workflows import run_end_scenario_sizing + +import numpy as np + + +class TestUpdatedESDL(TestCase): + + def test_updated_esdl(self): + """ + Check that the updated ESDL resulting from the optmizer, is correct by using the PoCTutorial + and the Grow_workflow + + Checks: + - That the correct number of KPIs have been added + - That the correct assets have been removed + - Check that all the assets have a state=ENABLED + """ + + root_folder = str(Path(__file__).resolve().parent.parent) + sys.path.insert(1, root_folder) + + import examples.PoCTutorial.src.run_grow_tutorial + from examples.PoCTutorial.src.run_grow_tutorial import EndScenarioSizingStagedHighs + + base_folder = ( + Path(examples.PoCTutorial.src.run_grow_tutorial.__file__).resolve().parent.parent + ) + del root_folder + sys.path.pop(1) + + solution = run_end_scenario_sizing( + EndScenarioSizingStagedHighs, + base_folder=base_folder, + esdl_file_name="PoC Tutorial.esdl", + esdl_parser=ESDLFileParser, + ) + + # test KPIs in optimized ESDL + esdl_path = os.path.normpath( + os.path.join(base_folder, "model\\PoC Tutorial_GrowOptimized.esdl") + ) + optimized_energy_system = solution._ESDLMixin__energy_system_handler.load_file(esdl_path) + + # High level checks of KPIs + number_of_kpis_top_level_in_esdl = 8 + high_level_kpis_name = [ + "High level cost breakdown [EUR]", + "Overall cost breakdown [EUR]", + "CAPEX breakdown [EUR]", + "OPEX breakdown [EUR]", + "Energy production [Wh]", + "Area_76a7: Asset cost breakdown [EUR]", + "Area_9d0f: Asset cost breakdown [EUR]", + "Area_a58a: Asset cost breakdown [EUR]", + ] + np.testing.assert_allclose( + len(optimized_energy_system.instance[0].area.KPIs.kpi), number_of_kpis_top_level_in_esdl + ) + for ii in range(len(optimized_energy_system.instance[0].area.KPIs.kpi)): + kpi_name = optimized_energy_system.instance[0].area.KPIs.kpi[ii].name + np.testing.assert_array_equal( + kpi_name in high_level_kpis_name, + True, + err_msg=f"KPI name {kpi_name} was not expected in the ESDL", + ) + + # High level checks of the assets + # Check quantity of assets and that they all of have an ENABLED state + number_of_assets_in_esdl = 15 + np.testing.assert_allclose( + len(optimized_energy_system.instance[0].area.asset), number_of_assets_in_esdl + ) + asset_to_be_deleted = ["ResidualHeatSource_76f0", "Pipe_8fa5_ret", "Pipe_8fa5"] + for ii in range(len(optimized_energy_system.instance[0].area.asset)): + asset_name = optimized_energy_system.instance[0].area.asset[ii].name + np.testing.assert_array_equal( + asset_name not in asset_to_be_deleted, + True, + err_msg=f"Asset name {asset_name} was not expected in the ESDL", + ) + np.testing.assert_array_equal( + optimized_energy_system.instance[0].area.asset[ii].state.name == "ENABLED", True + ) + + # High level check on the polygon areas drawn + number_of_areas_in_esdl = 3 + np.testing.assert_allclose( + len(optimized_energy_system.instance[0].area.area), number_of_areas_in_esdl + ) + + +if __name__ == "__main__": + import time + + start_time = time.time() + + a = TestUpdatedESDL() + a.test_updated_esdl() + + print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) From 912b24baced6ad9516a17042c05890fc28d2d0e4 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 12:18:59 +0200 Subject: [PATCH 038/376] pipeline update --- .gitlab-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 94e649eb6..12dac21c8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -34,6 +34,9 @@ py37:linux: stage: test script: - tox -vv + artifacts: + paths: ["PoC Tutorial_GrowOptimized.esdl"] + expire_in: 60 seconds image: python:3.7 variables: TOXENV: py37 From c6c150f4c65a959a3a7fadfbf89871eedce56076 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 12:29:08 +0200 Subject: [PATCH 039/376] try --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 12dac21c8..39d92320c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,7 +35,7 @@ py37:linux: script: - tox -vv artifacts: - paths: ["PoC Tutorial_GrowOptimized.esdl"] + paths: ["examples\\PoCTutorial\\model\\"] expire_in: 60 seconds image: python:3.7 variables: From 555da303a35309ce8226dfcb320caae52f7c33a0 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 12:30:22 +0200 Subject: [PATCH 040/376] try --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 39d92320c..c4cce9592 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,8 +35,9 @@ py37:linux: script: - tox -vv artifacts: - paths: ["examples\\PoCTutorial\\model\\"] - expire_in: 60 seconds + paths: + - examples/PoCTutorial/model + expire_in: 1 week image: python:3.7 variables: TOXENV: py37 From bcdcc0e2cc088b3a8b32031a5506e4ac78e84a8e Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 12:39:30 +0200 Subject: [PATCH 041/376] try again --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c4cce9592..373f4c021 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,7 +36,7 @@ py37:linux: - tox -vv artifacts: paths: - - examples/PoCTutorial/model + - /home/runner/work/mesido/mesido/examples/PoCTutorial/model expire_in: 1 week image: python:3.7 variables: From 4c6b2e7142c090d3e67c2701288acd3211e96c04 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 12:47:28 +0200 Subject: [PATCH 042/376] again --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 373f4c021..50f4c1800 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,7 +36,7 @@ py37:linux: - tox -vv artifacts: paths: - - /home/runner/work/mesido/mesido/examples/PoCTutorial/model + - home/runner/work/mesido/mesido/examples/PoCTutorial/model expire_in: 1 week image: python:3.7 variables: From b8a11bef37ea9ac102dbe7db0d331d001807d3ba Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 13:00:55 +0200 Subject: [PATCH 043/376] artifact --- tests/test_updated_esdl.py | 96 +++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/tests/test_updated_esdl.py b/tests/test_updated_esdl.py index f4ce05e9d..e6f9093e7 100644 --- a/tests/test_updated_esdl.py +++ b/tests/test_updated_esdl.py @@ -45,54 +45,54 @@ def test_updated_esdl(self): esdl_path = os.path.normpath( os.path.join(base_folder, "model\\PoC Tutorial_GrowOptimized.esdl") ) - optimized_energy_system = solution._ESDLMixin__energy_system_handler.load_file(esdl_path) - - # High level checks of KPIs - number_of_kpis_top_level_in_esdl = 8 - high_level_kpis_name = [ - "High level cost breakdown [EUR]", - "Overall cost breakdown [EUR]", - "CAPEX breakdown [EUR]", - "OPEX breakdown [EUR]", - "Energy production [Wh]", - "Area_76a7: Asset cost breakdown [EUR]", - "Area_9d0f: Asset cost breakdown [EUR]", - "Area_a58a: Asset cost breakdown [EUR]", - ] - np.testing.assert_allclose( - len(optimized_energy_system.instance[0].area.KPIs.kpi), number_of_kpis_top_level_in_esdl - ) - for ii in range(len(optimized_energy_system.instance[0].area.KPIs.kpi)): - kpi_name = optimized_energy_system.instance[0].area.KPIs.kpi[ii].name - np.testing.assert_array_equal( - kpi_name in high_level_kpis_name, - True, - err_msg=f"KPI name {kpi_name} was not expected in the ESDL", - ) - - # High level checks of the assets - # Check quantity of assets and that they all of have an ENABLED state - number_of_assets_in_esdl = 15 - np.testing.assert_allclose( - len(optimized_energy_system.instance[0].area.asset), number_of_assets_in_esdl - ) - asset_to_be_deleted = ["ResidualHeatSource_76f0", "Pipe_8fa5_ret", "Pipe_8fa5"] - for ii in range(len(optimized_energy_system.instance[0].area.asset)): - asset_name = optimized_energy_system.instance[0].area.asset[ii].name - np.testing.assert_array_equal( - asset_name not in asset_to_be_deleted, - True, - err_msg=f"Asset name {asset_name} was not expected in the ESDL", - ) - np.testing.assert_array_equal( - optimized_energy_system.instance[0].area.asset[ii].state.name == "ENABLED", True - ) - - # High level check on the polygon areas drawn - number_of_areas_in_esdl = 3 - np.testing.assert_allclose( - len(optimized_energy_system.instance[0].area.area), number_of_areas_in_esdl - ) + # optimized_energy_system = solution._ESDLMixin__energy_system_handler.load_file(esdl_path) + + # # High level checks of KPIs + # number_of_kpis_top_level_in_esdl = 8 + # high_level_kpis_name = [ + # "High level cost breakdown [EUR]", + # "Overall cost breakdown [EUR]", + # "CAPEX breakdown [EUR]", + # "OPEX breakdown [EUR]", + # "Energy production [Wh]", + # "Area_76a7: Asset cost breakdown [EUR]", + # "Area_9d0f: Asset cost breakdown [EUR]", + # "Area_a58a: Asset cost breakdown [EUR]", + # ] + # np.testing.assert_allclose( + # len(optimized_energy_system.instance[0].area.KPIs.kpi), number_of_kpis_top_level_in_esdl + # ) + # for ii in range(len(optimized_energy_system.instance[0].area.KPIs.kpi)): + # kpi_name = optimized_energy_system.instance[0].area.KPIs.kpi[ii].name + # np.testing.assert_array_equal( + # kpi_name in high_level_kpis_name, + # True, + # err_msg=f"KPI name {kpi_name} was not expected in the ESDL", + # ) + + # # High level checks of the assets + # # Check quantity of assets and that they all of have an ENABLED state + # number_of_assets_in_esdl = 15 + # np.testing.assert_allclose( + # len(optimized_energy_system.instance[0].area.asset), number_of_assets_in_esdl + # ) + # asset_to_be_deleted = ["ResidualHeatSource_76f0", "Pipe_8fa5_ret", "Pipe_8fa5"] + # for ii in range(len(optimized_energy_system.instance[0].area.asset)): + # asset_name = optimized_energy_system.instance[0].area.asset[ii].name + # np.testing.assert_array_equal( + # asset_name not in asset_to_be_deleted, + # True, + # err_msg=f"Asset name {asset_name} was not expected in the ESDL", + # ) + # np.testing.assert_array_equal( + # optimized_energy_system.instance[0].area.asset[ii].state.name == "ENABLED", True + # ) + + # # High level check on the polygon areas drawn + # number_of_areas_in_esdl = 3 + # np.testing.assert_allclose( + # len(optimized_energy_system.instance[0].area.area), number_of_areas_in_esdl + # ) if __name__ == "__main__": From 0f9c05d0fc9772ac8f4566d41a466cf1d65a5030 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 13:08:19 +0200 Subject: [PATCH 044/376] again --- .gitlab-ci.yml | 2 +- tests/test_updated_esdl.py | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 50f4c1800..c9cd1f3bb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,7 +36,7 @@ py37:linux: - tox -vv artifacts: paths: - - home/runner/work/mesido/mesido/examples/PoCTutorial/model + - examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl expire_in: 1 week image: python:3.7 variables: diff --git a/tests/test_updated_esdl.py b/tests/test_updated_esdl.py index e6f9093e7..dc7c59be1 100644 --- a/tests/test_updated_esdl.py +++ b/tests/test_updated_esdl.py @@ -41,10 +41,10 @@ def test_updated_esdl(self): esdl_parser=ESDLFileParser, ) - # test KPIs in optimized ESDL - esdl_path = os.path.normpath( - os.path.join(base_folder, "model\\PoC Tutorial_GrowOptimized.esdl") - ) + # # test KPIs in optimized ESDL + # esdl_path = os.path.normpath( + # os.path.join(base_folder, "model\\PoC Tutorial_GrowOptimized.esdl") + # ) # optimized_energy_system = solution._ESDLMixin__energy_system_handler.load_file(esdl_path) # # High level checks of KPIs @@ -60,7 +60,8 @@ def test_updated_esdl(self): # "Area_a58a: Asset cost breakdown [EUR]", # ] # np.testing.assert_allclose( - # len(optimized_energy_system.instance[0].area.KPIs.kpi), number_of_kpis_top_level_in_esdl + # len(optimized_energy_system.instance[0].area.KPIs.kpi), + # number_of_kpis_top_level_in_esdl # ) # for ii in range(len(optimized_energy_system.instance[0].area.KPIs.kpi)): # kpi_name = optimized_energy_system.instance[0].area.KPIs.kpi[ii].name From a36de34053b235871862325e63955d5f35352459 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 13:26:42 +0200 Subject: [PATCH 045/376] try something --- .gitlab-ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c9cd1f3bb..80a67d183 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -34,9 +34,11 @@ py37:linux: stage: test script: - tox -vv + - echo "Demo" > Demo.txt artifacts: paths: - - examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + - ./Demo.txt + # - ./PoC Tutorial_GrowOptimized.esdl expire_in: 1 week image: python:3.7 variables: From 61552200f8b32712ac000a11d57df5267dc2b85b Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 13:34:36 +0200 Subject: [PATCH 046/376] test artifact --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 80a67d183..587ffe773 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -33,7 +33,7 @@ build: py37:linux: stage: test script: - - tox -vv + # - tox -vv - echo "Demo" > Demo.txt artifacts: paths: From 8d64a3b2c9721cb3734d8f02204c51a30fa9ef31 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 13:36:52 +0200 Subject: [PATCH 047/376] wip --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 587ffe773..ef2fdbe9f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -33,7 +33,6 @@ build: py37:linux: stage: test script: - # - tox -vv - echo "Demo" > Demo.txt artifacts: paths: From 7d6ab69d1acfb01480a97be9b0e1f9b6c667f14e Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 13:46:24 +0200 Subject: [PATCH 048/376] Ah --- .github/workflows/ci.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4ed7caf8f..70adb0f33 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,8 +55,17 @@ jobs: - name: deps run: python -m pip install -U tox - - name: Check test - run: tox -vv + # - name: Check test + # run: tox -vv + - name: test_deom + run: echo "Demo" > Demo.txt + + - name: Archive test artifacts + uses: actions/upload-artifact@v4 + with: + name: test_demo + path: ./Demo.txt + # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl documentation: name: Generate documentation From 3c771bdcb69292230b4bcc31c7083bf8506ae725 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 13:49:00 +0200 Subject: [PATCH 049/376] wip --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 70adb0f33..7ac6863ef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -64,8 +64,9 @@ jobs: uses: actions/upload-artifact@v4 with: name: test_demo - path: ./Demo.txt + # path: ./Demo.txt # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + path: examples/PoCTutorial/model/PoC Tutorial.esdl documentation: name: Generate documentation From b17d2f374c5ac65cfd8fbab8dbb6d66e660eda57 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 13:50:25 +0200 Subject: [PATCH 050/376] wip --- .github/workflows/ci.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ac6863ef..3017cd68d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,18 +55,17 @@ jobs: - name: deps run: python -m pip install -U tox - # - name: Check test - # run: tox -vv - - name: test_deom - run: echo "Demo" > Demo.txt + - name: Check test + run: tox -vv + # - name: test_deom + # run: echo "Demo" > Demo.txt - name: Archive test artifacts uses: actions/upload-artifact@v4 with: name: test_demo # path: ./Demo.txt - # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - path: examples/PoCTutorial/model/PoC Tutorial.esdl + path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl documentation: name: Generate documentation From 91d24b800054dffbe264414365dd767cc923502a Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 13:56:33 +0200 Subject: [PATCH 051/376] check if artifact works --- tests/test_updated_esdl.py | 106 ++++++++++++++++++------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/tests/test_updated_esdl.py b/tests/test_updated_esdl.py index dc7c59be1..4d9e164f6 100644 --- a/tests/test_updated_esdl.py +++ b/tests/test_updated_esdl.py @@ -41,59 +41,59 @@ def test_updated_esdl(self): esdl_parser=ESDLFileParser, ) - # # test KPIs in optimized ESDL - # esdl_path = os.path.normpath( - # os.path.join(base_folder, "model\\PoC Tutorial_GrowOptimized.esdl") - # ) - # optimized_energy_system = solution._ESDLMixin__energy_system_handler.load_file(esdl_path) - - # # High level checks of KPIs - # number_of_kpis_top_level_in_esdl = 8 - # high_level_kpis_name = [ - # "High level cost breakdown [EUR]", - # "Overall cost breakdown [EUR]", - # "CAPEX breakdown [EUR]", - # "OPEX breakdown [EUR]", - # "Energy production [Wh]", - # "Area_76a7: Asset cost breakdown [EUR]", - # "Area_9d0f: Asset cost breakdown [EUR]", - # "Area_a58a: Asset cost breakdown [EUR]", - # ] - # np.testing.assert_allclose( - # len(optimized_energy_system.instance[0].area.KPIs.kpi), - # number_of_kpis_top_level_in_esdl - # ) - # for ii in range(len(optimized_energy_system.instance[0].area.KPIs.kpi)): - # kpi_name = optimized_energy_system.instance[0].area.KPIs.kpi[ii].name - # np.testing.assert_array_equal( - # kpi_name in high_level_kpis_name, - # True, - # err_msg=f"KPI name {kpi_name} was not expected in the ESDL", - # ) - - # # High level checks of the assets - # # Check quantity of assets and that they all of have an ENABLED state - # number_of_assets_in_esdl = 15 - # np.testing.assert_allclose( - # len(optimized_energy_system.instance[0].area.asset), number_of_assets_in_esdl - # ) - # asset_to_be_deleted = ["ResidualHeatSource_76f0", "Pipe_8fa5_ret", "Pipe_8fa5"] - # for ii in range(len(optimized_energy_system.instance[0].area.asset)): - # asset_name = optimized_energy_system.instance[0].area.asset[ii].name - # np.testing.assert_array_equal( - # asset_name not in asset_to_be_deleted, - # True, - # err_msg=f"Asset name {asset_name} was not expected in the ESDL", - # ) - # np.testing.assert_array_equal( - # optimized_energy_system.instance[0].area.asset[ii].state.name == "ENABLED", True - # ) - - # # High level check on the polygon areas drawn - # number_of_areas_in_esdl = 3 - # np.testing.assert_allclose( - # len(optimized_energy_system.instance[0].area.area), number_of_areas_in_esdl - # ) + # test KPIs in optimized ESDL + esdl_path = os.path.normpath( + os.path.join(base_folder, "model\\PoC Tutorial_GrowOptimized.esdl") + ) + optimized_energy_system = solution._ESDLMixin__energy_system_handler.load_file(esdl_path) + + # High level checks of KPIs + number_of_kpis_top_level_in_esdl = 8 + high_level_kpis_name = [ + "High level cost breakdown [EUR]", + "Overall cost breakdown [EUR]", + "CAPEX breakdown [EUR]", + "OPEX breakdown [EUR]", + "Energy production [Wh]", + "Area_76a7: Asset cost breakdown [EUR]", + "Area_9d0f: Asset cost breakdown [EUR]", + "Area_a58a: Asset cost breakdown [EUR]", + ] + np.testing.assert_allclose( + len(optimized_energy_system.instance[0].area.KPIs.kpi), + number_of_kpis_top_level_in_esdl + ) + for ii in range(len(optimized_energy_system.instance[0].area.KPIs.kpi)): + kpi_name = optimized_energy_system.instance[0].area.KPIs.kpi[ii].name + np.testing.assert_array_equal( + kpi_name in high_level_kpis_name, + True, + err_msg=f"KPI name {kpi_name} was not expected in the ESDL", + ) + + # High level checks of the assets + # Check quantity of assets and that they all of have an ENABLED state + number_of_assets_in_esdl = 15 + np.testing.assert_allclose( + len(optimized_energy_system.instance[0].area.asset), number_of_assets_in_esdl + ) + asset_to_be_deleted = ["ResidualHeatSource_76f0", "Pipe_8fa5_ret", "Pipe_8fa5"] + for ii in range(len(optimized_energy_system.instance[0].area.asset)): + asset_name = optimized_energy_system.instance[0].area.asset[ii].name + np.testing.assert_array_equal( + asset_name not in asset_to_be_deleted, + True, + err_msg=f"Asset name {asset_name} was not expected in the ESDL", + ) + np.testing.assert_array_equal( + optimized_energy_system.instance[0].area.asset[ii].state.name == "ENABLED", True + ) + + # High level check on the polygon areas drawn + number_of_areas_in_esdl = 3 + np.testing.assert_allclose( + len(optimized_energy_system.instance[0].area.area), number_of_areas_in_esdl + ) if __name__ == "__main__": From ef2190608f4cc42fdfcc8335d59a2afe7e1f025b Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 14:30:07 +0200 Subject: [PATCH 052/376] wip --- .github/workflows/ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3017cd68d..ef91d21eb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,6 +59,13 @@ jobs: run: tox -vv # - name: test_deom # run: echo "Demo" > Demo.txt + + - name: Archive test artifacts + uses: actions/download-artifact@v4 + with: + name: test_demo + # path: ./Demo.txt + path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - name: Archive test artifacts uses: actions/upload-artifact@v4 From 26b13923305d642359b5c3022c8a6a393c025c27 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 15:00:48 +0200 Subject: [PATCH 053/376] formatting --- tests/test_updated_esdl.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_updated_esdl.py b/tests/test_updated_esdl.py index 4d9e164f6..f4ce05e9d 100644 --- a/tests/test_updated_esdl.py +++ b/tests/test_updated_esdl.py @@ -60,8 +60,7 @@ def test_updated_esdl(self): "Area_a58a: Asset cost breakdown [EUR]", ] np.testing.assert_allclose( - len(optimized_energy_system.instance[0].area.KPIs.kpi), - number_of_kpis_top_level_in_esdl + len(optimized_energy_system.instance[0].area.KPIs.kpi), number_of_kpis_top_level_in_esdl ) for ii in range(len(optimized_energy_system.instance[0].area.KPIs.kpi)): kpi_name = optimized_energy_system.instance[0].area.KPIs.kpi[ii].name From d1190395028bd4908dfb755baa0bbf002f350afa Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 15:04:13 +0200 Subject: [PATCH 054/376] test_heat only --- .github/workflows/ci.yml | 2 +- tox.ini | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef91d21eb..6cc328c87 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,7 @@ jobs: run: python -m pip install -U tox - name: Check test - run: tox -vv + run: tox -vv -e test_env1 # - name: test_deom # run: echo "Demo" > Demo.txt diff --git a/tox.ini b/tox.ini index 4b0653246..46639e546 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] envlist = - flake8,black,py39 + py39,test_env1,test_env2,flake8,black [testenv] @@ -10,7 +10,13 @@ deps = pytest-ordering numpy extras = all -commands = pytest -n auto -v tests -s +; commands = pytest -n auto -v tests -s + +[testenv:test_env2] +commands = pytest -n auto -v tests -s --ignore=test_updated_esdl.py + +[testenv:test_env1] +commands = pytest -n auto -v tests\test_heat.py -s [testenv:flake8] From ebb3cdf4d667a6b5e01f3560aa671f9815e78cdc Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 15:13:14 +0200 Subject: [PATCH 055/376] space issue --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 46639e546..3b85735d8 100644 --- a/tox.ini +++ b/tox.ini @@ -16,7 +16,7 @@ extras = all commands = pytest -n auto -v tests -s --ignore=test_updated_esdl.py [testenv:test_env1] -commands = pytest -n auto -v tests\test_heat.py -s +commands = pytest -n auto -v "tests\test_heat.py" -s [testenv:flake8] From 716bcff21d76178f2b79570771d6ede3a1f0f1a6 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 15:14:50 +0200 Subject: [PATCH 056/376] no string --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 3b85735d8..46639e546 100644 --- a/tox.ini +++ b/tox.ini @@ -16,7 +16,7 @@ extras = all commands = pytest -n auto -v tests -s --ignore=test_updated_esdl.py [testenv:test_env1] -commands = pytest -n auto -v "tests\test_heat.py" -s +commands = pytest -n auto -v tests\test_heat.py -s [testenv:flake8] From 08b7fca3e4f022155036ed3d025d6e6703b5fdd7 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 15:26:54 +0200 Subject: [PATCH 057/376] command changed --- .github/workflows/ci.yml | 2 +- tox.ini | 32 ++++++++++++++++---------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6cc328c87..f8f87a75e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,7 @@ jobs: run: python -m pip install -U tox - name: Check test - run: tox -vv -e test_env1 + run: tox -vv -etest_env1 # - name: test_deom # run: echo "Demo" > Demo.txt diff --git a/tox.ini b/tox.ini index 46639e546..650980f9d 100644 --- a/tox.ini +++ b/tox.ini @@ -13,26 +13,26 @@ extras = all ; commands = pytest -n auto -v tests -s [testenv:test_env2] -commands = pytest -n auto -v tests -s --ignore=test_updated_esdl.py +commands = pytest -n auto -v tests -s --ignore=tests\test_setpoints_constraints.py [testenv:test_env1] commands = pytest -n auto -v tests\test_heat.py -s -[testenv:flake8] -skip_install = True -deps = - flake8 - flake8-bugbear - flake8-comprehensions - flake8-import-order - pep8-naming -commands = flake8 examples src tests setup.py +; [testenv:flake8] +; skip_install = True +; deps = +; flake8 +; flake8-bugbear +; flake8-comprehensions +; flake8-import-order +; pep8-naming +; commands = flake8 examples src tests setup.py -[testenv:black] -skip_install = True -deps = - black >= 24.1.1 -commands = - black --line-length 100 --target-version py38 --check --diff examples src tests setup.py +; [testenv:black] +; skip_install = True +; deps = +; black >= 24.1.1 +; commands = +; black --line-length 100 --target-version py38 --check --diff examples src tests setup.py From 45486af6017a550139c52c3db2df5eca18bf9e43 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 15:30:37 +0200 Subject: [PATCH 058/376] try -k --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 650980f9d..f5bcbdd7a 100644 --- a/tox.ini +++ b/tox.ini @@ -16,7 +16,7 @@ extras = all commands = pytest -n auto -v tests -s --ignore=tests\test_setpoints_constraints.py [testenv:test_env1] -commands = pytest -n auto -v tests\test_heat.py -s +commands = pytest -n auto -v -k test_heat.py -s ; [testenv:flake8] From 486bab48b131b33eb7d185d6e09646563199be3c Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 15:32:31 +0200 Subject: [PATCH 059/376] remove artifacts --- .github/workflows/ci.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f8f87a75e..306ee7118 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -60,19 +60,19 @@ jobs: # - name: test_deom # run: echo "Demo" > Demo.txt - - name: Archive test artifacts - uses: actions/download-artifact@v4 - with: - name: test_demo - # path: ./Demo.txt - path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + # - name: Archive test artifacts + # uses: actions/download-artifact@v4 + # with: + # name: test_demo + # # path: ./Demo.txt + # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - - name: Archive test artifacts - uses: actions/upload-artifact@v4 - with: - name: test_demo - # path: ./Demo.txt - path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + # - name: Archive test artifacts + # uses: actions/upload-artifact@v4 + # with: + # name: test_demo + # # path: ./Demo.txt + # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl documentation: name: Generate documentation From 90787271bfc8a55dc31281a7f01b33298f7e1bd5 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 15:39:46 +0200 Subject: [PATCH 060/376] wip --- tox.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tox.ini b/tox.ini index f5bcbdd7a..0861515b6 100644 --- a/tox.ini +++ b/tox.ini @@ -12,10 +12,10 @@ deps = extras = all ; commands = pytest -n auto -v tests -s -[testenv:test_env2] -commands = pytest -n auto -v tests -s --ignore=tests\test_setpoints_constraints.py - [testenv:test_env1] +commands = pytest -n auto -v tests -s --ignore=tests\test_updated_esdl_post_process.py + +[testenv:test_env2] commands = pytest -n auto -v -k test_heat.py -s From bfe61b3bbe5077cf4be99a0c25332aa51a1c38a2 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 16:25:00 +0200 Subject: [PATCH 061/376] wip --- .github/workflows/ci.yml | 2 +- tox.ini | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 306ee7118..03e395535 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,7 @@ jobs: run: python -m pip install -U tox - name: Check test - run: tox -vv -etest_env1 + run: tox -vv -etest_env2 # - name: test_deom # run: echo "Demo" > Demo.txt diff --git a/tox.ini b/tox.ini index 0861515b6..661d559e7 100644 --- a/tox.ini +++ b/tox.ini @@ -13,10 +13,13 @@ extras = all ; commands = pytest -n auto -v tests -s [testenv:test_env1] -commands = pytest -n auto -v tests -s --ignore=tests\test_updated_esdl_post_process.py +commands = pytest -n auto -v tests -s ;--ignore=tests/test_heat.py [testenv:test_env2] -commands = pytest -n auto -v -k test_heat.py -s +commands = pytest -n auto -v tests\test_heat.py -s +;commands = pytest -n auto -v -k test_heat.py -s + +pytetst r"tests\sdgsggs.py" ; [testenv:flake8] From c3a6731b163775cf3f89af408b9b82366292baa8 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 16:28:47 +0200 Subject: [PATCH 062/376] wip --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 661d559e7..a84be016e 100644 --- a/tox.ini +++ b/tox.ini @@ -16,7 +16,7 @@ extras = all commands = pytest -n auto -v tests -s ;--ignore=tests/test_heat.py [testenv:test_env2] -commands = pytest -n auto -v tests\test_heat.py -s +commands = pytest -n auto -v tests/test_heat.py -s ;commands = pytest -n auto -v -k test_heat.py -s pytetst r"tests\sdgsggs.py" From c8bb5f4add6bc89d047e015436f84e581548d2db Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 16:29:48 +0200 Subject: [PATCH 063/376] wip --- tox.ini | 2 -- 1 file changed, 2 deletions(-) diff --git a/tox.ini b/tox.ini index a84be016e..a8f1af653 100644 --- a/tox.ini +++ b/tox.ini @@ -19,8 +19,6 @@ commands = pytest -n auto -v tests -s ;--ignore=tests/test_heat.py commands = pytest -n auto -v tests/test_heat.py -s ;commands = pytest -n auto -v -k test_heat.py -s -pytetst r"tests\sdgsggs.py" - ; [testenv:flake8] ; skip_install = True From 999e4a065827e6a99c915661f26e5f3ebae60a1c Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 16:35:21 +0200 Subject: [PATCH 064/376] wip --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index a8f1af653..0384d2aa4 100644 --- a/tox.ini +++ b/tox.ini @@ -13,7 +13,7 @@ extras = all ; commands = pytest -n auto -v tests -s [testenv:test_env1] -commands = pytest -n auto -v tests -s ;--ignore=tests/test_heat.py +commands = pytest -n auto -v --ignore=tests/test_updated_esdl_post_process.py [testenv:test_env2] commands = pytest -n auto -v tests/test_heat.py -s From 32c4d16b7d4fd4ca8a7024ce23842ab90938e6e4 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 16:43:34 +0200 Subject: [PATCH 065/376] wip --- .github/workflows/ci.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 03e395535..cb079200c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,13 @@ jobs: run: python -m pip install -U tox - name: Check test - run: tox -vv -etest_env2 + run: tox -vv -etest_env1 + + - name: Upload results + uses: actions/upload-artifact@v4 + with: + name: updated_esdl + path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl # - name: test_deom # run: echo "Demo" > Demo.txt @@ -73,6 +79,8 @@ jobs: # name: test_demo # # path: ./Demo.txt # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + - name: Check test + run: tox -vv -etest_env2 documentation: name: Generate documentation From 79dbe29eb75869acd3471c6d7f89476e27d20659 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 17:31:46 +0200 Subject: [PATCH 066/376] getting there --- .github/workflows/ci.yml | 28 +++++----- ...l.py => test_updated_esdl_post_process.py} | 16 +++--- tests/test_updated_esdl_run.py | 53 +++++++++++++++++++ tox.ini | 40 +++++++------- 4 files changed, 96 insertions(+), 41 deletions(-) rename tests/{test_updated_esdl.py => test_updated_esdl_post_process.py} (90%) create mode 100644 tests/test_updated_esdl_run.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cb079200c..6d90920fa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,23 +58,25 @@ jobs: - name: Check test run: tox -vv -etest_env1 - - name: Upload results - uses: actions/upload-artifact@v4 - with: - name: updated_esdl - path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - # - name: test_deom - # run: echo "Demo" > Demo.txt - - # - name: Archive test artifacts - # uses: actions/download-artifact@v4 + # - name: Upload results + # uses: actions/upload-artifact@v4 # with: - # name: test_demo - # # path: ./Demo.txt + # name: updated_esdl # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl +# Dummy example +# ------------------------------------------------------------------------------------------- + - name: test_deom + run: echo "Demo" > Demo.txt + + - name: Archive test artifacts + uses: actions/upload-artifact@v4 + with: + name: test_demo + path: ./Demo.txt +# ------------------------------------------------------------------------------------------- # - name: Archive test artifacts - # uses: actions/upload-artifact@v4 + # uses: actions/download-artifact@v4 # with: # name: test_demo # # path: ./Demo.txt diff --git a/tests/test_updated_esdl.py b/tests/test_updated_esdl_post_process.py similarity index 90% rename from tests/test_updated_esdl.py rename to tests/test_updated_esdl_post_process.py index f4ce05e9d..6ee854c2b 100644 --- a/tests/test_updated_esdl.py +++ b/tests/test_updated_esdl_post_process.py @@ -4,7 +4,7 @@ from unittest import TestCase from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.workflows import run_end_scenario_sizing +from mesido.workflows import EndScenarioSizingStagedHIGHS import numpy as np @@ -26,26 +26,26 @@ def test_updated_esdl(self): sys.path.insert(1, root_folder) import examples.PoCTutorial.src.run_grow_tutorial - from examples.PoCTutorial.src.run_grow_tutorial import EndScenarioSizingStagedHighs base_folder = ( Path(examples.PoCTutorial.src.run_grow_tutorial.__file__).resolve().parent.parent ) - del root_folder - sys.path.pop(1) + model_folder = base_folder / "model" + input_folder = base_folder / "input" - solution = run_end_scenario_sizing( - EndScenarioSizingStagedHighs, - base_folder=base_folder, + problem = EndScenarioSizingStagedHIGHS( esdl_file_name="PoC Tutorial.esdl", esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, ) # test KPIs in optimized ESDL esdl_path = os.path.normpath( os.path.join(base_folder, "model\\PoC Tutorial_GrowOptimized.esdl") ) - optimized_energy_system = solution._ESDLMixin__energy_system_handler.load_file(esdl_path) + optimized_energy_system = problem._ESDLMixin__energy_system_handler.load_file(esdl_path) # High level checks of KPIs number_of_kpis_top_level_in_esdl = 8 diff --git a/tests/test_updated_esdl_run.py b/tests/test_updated_esdl_run.py new file mode 100644 index 000000000..cc1edc6a9 --- /dev/null +++ b/tests/test_updated_esdl_run.py @@ -0,0 +1,53 @@ +import sys +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.workflows import run_end_scenario_sizing + +import numpy as np + + +class TestUpdatedESDL(TestCase): + + def test_updated_esdl(self): + """ + Check that the updated ESDL resulting from the optmizer, is correct by using the PoCTutorial + and the Grow_workflow + + Checks: + - That the correct number of KPIs have been added + - That the correct assets have been removed + - Check that all the assets have a state=ENABLED + """ + + root_folder = str(Path(__file__).resolve().parent.parent) + sys.path.insert(1, root_folder) + + import examples.PoCTutorial.src.run_grow_tutorial + from examples.PoCTutorial.src.run_grow_tutorial import EndScenarioSizingStagedHighs + + base_folder = ( + Path(examples.PoCTutorial.src.run_grow_tutorial.__file__).resolve().parent.parent + ) + + solution = run_end_scenario_sizing( + EndScenarioSizingStagedHighs, + base_folder=base_folder, + esdl_file_name="PoC Tutorial.esdl", + esdl_parser=ESDLFileParser, + ) + # This test only exist for flake test purposes: variable never used + results = solution.extract_results() + np.testing.assert_array_less(0.0, len(results.values())) + + +if __name__ == "__main__": + import time + + start_time = time.time() + + a = TestUpdatedESDL() + a.test_updated_esdl() + + print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tox.ini b/tox.ini index 0384d2aa4..fca304626 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,7 @@ envlist = py39,test_env1,test_env2,flake8,black - +# Basic setup for test environments [testenv] deps = pytest @@ -10,30 +10,30 @@ deps = pytest-ordering numpy extras = all -; commands = pytest -n auto -v tests -s +# Normal tests, or test to solve systems to create data for post porcessing test environment [testenv:test_env1] -commands = pytest -n auto -v --ignore=tests/test_updated_esdl_post_process.py +commands = pytest -n auto -v --ignore=tests/test_updated_esdl_post_process.py -s +# Post process type of tests [testenv:test_env2] -commands = pytest -n auto -v tests/test_heat.py -s -;commands = pytest -n auto -v -k test_heat.py -s +commands = pytest -n auto -v tests/test_updated_esdl_post_process.py -s -; [testenv:flake8] -; skip_install = True -; deps = -; flake8 -; flake8-bugbear -; flake8-comprehensions -; flake8-import-order -; pep8-naming -; commands = flake8 examples src tests setup.py +[testenv:flake8] +skip_install = True +deps = + flake8 + flake8-bugbear + flake8-comprehensions + flake8-import-order + pep8-naming +commands = flake8 examples src tests setup.py -; [testenv:black] -; skip_install = True -; deps = -; black >= 24.1.1 -; commands = -; black --line-length 100 --target-version py38 --check --diff examples src tests setup.py +[testenv:black] +skip_install = True +deps = + black >= 24.1.1 +commands = + black --line-length 100 --target-version py38 --check --diff examples src tests setup.py From 6ed8e011e2bc73531f528c1e42aa7a8457549914 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Apr 2024 17:39:34 +0200 Subject: [PATCH 067/376] test idea --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6d90920fa..8fefa5935 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -81,8 +81,8 @@ jobs: # name: test_demo # # path: ./Demo.txt # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - - name: Check test - run: tox -vv -etest_env2 + # - name: Check test + # run: tox -vv -etest_env2 documentation: name: Generate documentation From 5a34288931cdb67b69d42da9dbbb8103be71d82a Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 10:37:03 +0200 Subject: [PATCH 068/376] try passing artifact info --- .github/workflows/ci.yml | 48 ++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8fefa5935..24508264b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,35 +54,35 @@ jobs: - name: deps run: python -m pip install -U tox - + + # Preprocessing and solved network testing - name: Check test run: tox -vv -etest_env1 - # - name: Upload results - # uses: actions/upload-artifact@v4 - # with: - # name: updated_esdl - # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl -# Dummy example -# ------------------------------------------------------------------------------------------- - - name: test_deom - run: echo "Demo" > Demo.txt - - - name: Archive test artifacts - uses: actions/upload-artifact@v4 + - name: Upload results + uses: actions/upload-artifact@v4 with: - name: test_demo - path: ./Demo.txt -# ------------------------------------------------------------------------------------------- + name: updated_esdl_file + path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl +# # Dummy example +# # ------------------------------------------------------------------------------------------- +# - name: test_deom +# run: echo "Demo" > Demo.txt + +# - name: Archive test artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: test_demo +# path: ./Demo.txt +# # ------------------------------------------------------------------------------------------- - # - name: Archive test artifacts - # uses: actions/download-artifact@v4 - # with: - # name: test_demo - # # path: ./Demo.txt - # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - # - name: Check test - # run: tox -vv -etest_env2 + - name: Archive test artifacts + uses: actions/download-artifact@v4 + with: + name: updated_esdl_file + # Post processing testing + - name: Check test + run: tox -vv -etest_env2 documentation: name: Generate documentation From 8abd9abfb5b7334e77b79e2258793dcce8ee5fd0 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 10:48:15 +0200 Subject: [PATCH 069/376] add path to artifact, temp tox file --- .github/workflows/ci.yml | 1 + tox.ini | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 24508264b..9ca515382 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,6 +80,7 @@ jobs: uses: actions/download-artifact@v4 with: name: updated_esdl_file + path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl # Post processing testing - name: Check test run: tox -vv -etest_env2 diff --git a/tox.ini b/tox.ini index fca304626..852cec95e 100644 --- a/tox.ini +++ b/tox.ini @@ -13,7 +13,8 @@ extras = all # Normal tests, or test to solve systems to create data for post porcessing test environment [testenv:test_env1] -commands = pytest -n auto -v --ignore=tests/test_updated_esdl_post_process.py -s +; commands = pytest -n auto -v --ignore=tests/test_updated_esdl_post_process.py -s +commands = pytest -n auto -v tests/test_updated_esdl_run.py -s # temp command # Post process type of tests [testenv:test_env2] From 72ab75bb48c386297b7e18ad2946274c2dea687c Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 14:26:15 +0200 Subject: [PATCH 070/376] Split test pipeline --- .github/workflows/ci.yml | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9ca515382..36f7cedd6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,8 +40,8 @@ jobs: - name: Check build run: python setup.py sdist bdist_wheel - test: - name: Check test + test_main: + name: Test - main runs-on: ubuntu-latest env: TOXENV: py38 @@ -76,14 +76,41 @@ jobs: # path: ./Demo.txt # # ------------------------------------------------------------------------------------------- + # - name: Archive test artifacts + # uses: actions/download-artifact@v4 + # with: + # name: updated_esdl_file + # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + # # Post processing testing + # - name: Check test + # run: tox -vv -etest_env2 + + test_postprocessing: + name: Test - postprocessing + needs: test_main + runs-on: ubuntu-latest + env: + TOXENV: py38 + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-python@v4 + with: + python-version: "3.8" + + - name: deps + run: python -m pip install -U tox + + # Post processing testing - name: Archive test artifacts uses: actions/download-artifact@v4 with: name: updated_esdl_file path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - # Post processing testing + - name: Check test run: tox -vv -etest_env2 + documentation: name: Generate documentation From f111f45eb355b40e2d8873f0ef22284d22df482e Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 14:43:46 +0200 Subject: [PATCH 071/376] path update --- tests/test_updated_esdl_post_process.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 6ee854c2b..15ed85c63 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -42,9 +42,10 @@ def test_updated_esdl(self): ) # test KPIs in optimized ESDL - esdl_path = os.path.normpath( - os.path.join(base_folder, "model\\PoC Tutorial_GrowOptimized.esdl") - ) + # esdl_path = os.path.normpath( + # os.path.join(base_folder, "model\\PoC Tutorial_GrowOptimized.esdl") + # ) + esdl_path = os.path.join(base_folder, "model", "PoC Tutorial_GrowOptimized.esdl") optimized_energy_system = problem._ESDLMixin__energy_system_handler.load_file(esdl_path) # High level checks of KPIs From 8c5f1ca79b19e1ad8e246250de5116e1800b3384 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 14:49:41 +0200 Subject: [PATCH 072/376] try 2nd upload --- .github/workflows/ci.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 36f7cedd6..e6630bc1b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -105,11 +105,18 @@ jobs: - name: Archive test artifacts uses: actions/download-artifact@v4 with: - name: updated_esdl_file + name: updated_esdl_file_2 + path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + + # Temp upload + - name: Upload results + uses: actions/upload-artifact@v4 + with: + name: updated_esdl_file_3 path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - - name: Check test - run: tox -vv -etest_env2 + # - name: Check test + # run: tox -vv -etest_env2 documentation: From 600e79af876a7be6bb7cc7c0d324d3a77ec73780 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 14:53:09 +0200 Subject: [PATCH 073/376] name updates --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e6630bc1b..27664e009 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -105,14 +105,14 @@ jobs: - name: Archive test artifacts uses: actions/download-artifact@v4 with: - name: updated_esdl_file_2 + name: updated_esdl_file path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl # Temp upload - name: Upload results uses: actions/upload-artifact@v4 with: - name: updated_esdl_file_3 + name: updated_esdl_file path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl # - name: Check test From 4c927d0e125a2547d98b45d132ea01982925e4af Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 14:55:41 +0200 Subject: [PATCH 074/376] wip --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27664e009..19ff3bbe3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -113,7 +113,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: updated_esdl_file - path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_2.esdl # - name: Check test # run: tox -vv -etest_env2 From 907f4b922bc548b09b8d17f8b8cf73830f7698bd Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 15:01:45 +0200 Subject: [PATCH 075/376] demo file instead --- .github/workflows/ci.yml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 19ff3bbe3..11d803750 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -66,14 +66,14 @@ jobs: path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl # # Dummy example # # ------------------------------------------------------------------------------------------- -# - name: test_deom -# run: echo "Demo" > Demo.txt - -# - name: Archive test artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: test_demo -# path: ./Demo.txt + - name: test_deom + run: echo "Demo" > Demo.txt + + - name: Archive test artifacts + uses: actions/upload-artifact@v4 + with: + name: test_demo + path: ./Demo.txt # # ------------------------------------------------------------------------------------------- # - name: Archive test artifacts @@ -106,14 +106,16 @@ jobs: uses: actions/download-artifact@v4 with: name: updated_esdl_file - path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + path: ./Demo.txt # Temp upload - name: Upload results uses: actions/upload-artifact@v4 with: name: updated_esdl_file - path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_2.esdl + # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_2.esdl + path: ./Demo_2.txt # - name: Check test # run: tox -vv -etest_env2 From 5d42ba7d41a339635a08bcfac2e01dad9e9d4e27 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 15:02:32 +0200 Subject: [PATCH 076/376] wip --- .github/workflows/ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 11d803750..63466b605 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -105,7 +105,8 @@ jobs: - name: Archive test artifacts uses: actions/download-artifact@v4 with: - name: updated_esdl_file + # name: updated_esdl_file + name: test_demo # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl path: ./Demo.txt @@ -113,7 +114,8 @@ jobs: - name: Upload results uses: actions/upload-artifact@v4 with: - name: updated_esdl_file + # name: updated_esdl_file + name: test_demo # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_2.esdl path: ./Demo_2.txt From d58f03dc75ddb18f17fbb1568d85faf1f3053fa0 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 15:06:08 +0200 Subject: [PATCH 077/376] wip --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 63466b605..80553df3a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -117,7 +117,7 @@ jobs: # name: updated_esdl_file name: test_demo # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_2.esdl - path: ./Demo_2.txt + path: ./Demo.txt # - name: Check test # run: tox -vv -etest_env2 From f3ca022c03224d9abdbff19ca708f0c77d2a1bea Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 15:11:17 +0200 Subject: [PATCH 078/376] dummy file with values --- .github/workflows/ci.yml | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 80553df3a..c48cb0f34 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -69,6 +69,10 @@ jobs: - name: test_deom run: echo "Demo" > Demo.txt + - shell: bash + run: | + expr 1 > Demo.txt + - name: Archive test artifacts uses: actions/upload-artifact@v4 with: @@ -109,15 +113,25 @@ jobs: name: test_demo # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl path: ./Demo.txt + + - shell: bash + run: | + expr 3 + 7 > Demo.txt - # Temp upload - - name: Upload results - uses: actions/upload-artifact@v4 - with: - # name: updated_esdl_file - name: test_demo - # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_2.esdl - path: ./Demo.txt + - name: Print the final result + shell: bash + run: | + value=`cat Demo.txt` + echo The result is $value + + # # Temp upload + # - name: Upload results + # uses: actions/upload-artifact@v4 + # with: + # # name: updated_esdl_file + # name: test_demo + # # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + # path: ./Demo.txt # - name: Check test # run: tox -vv -etest_env2 From 053517b1bd08194e2eadaa22f4c49c66aa29e578 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 15:15:13 +0200 Subject: [PATCH 079/376] wip --- .github/workflows/ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c48cb0f34..1dc586546 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,11 +67,7 @@ jobs: # # Dummy example # # ------------------------------------------------------------------------------------------- - name: test_deom - run: echo "Demo" > Demo.txt - - - shell: bash - run: | - expr 1 > Demo.txt + run: echo 0 > ./Demo.txt - name: Archive test artifacts uses: actions/upload-artifact@v4 From a7cf68fa5fbba0cd683b53434b9a6c80a1d19771 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 15:19:20 +0200 Subject: [PATCH 080/376] silly correction --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1dc586546..5fc090acd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,13 +67,13 @@ jobs: # # Dummy example # # ------------------------------------------------------------------------------------------- - name: test_deom - run: echo 0 > ./Demo.txt + run: echo 0 > Demo.txt - name: Archive test artifacts uses: actions/upload-artifact@v4 with: name: test_demo - path: ./Demo.txt + path: Demo.txt # # ------------------------------------------------------------------------------------------- # - name: Archive test artifacts @@ -108,7 +108,7 @@ jobs: # name: updated_esdl_file name: test_demo # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - path: ./Demo.txt + path: Demo.txt - shell: bash run: | @@ -127,7 +127,7 @@ jobs: # # name: updated_esdl_file # name: test_demo # # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - # path: ./Demo.txt + # path: .Demo.txt # - name: Check test # run: tox -vv -etest_env2 From 019e578da61f3450124f959411719b7bd2727571 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 15:24:58 +0200 Subject: [PATCH 081/376] dir mistake --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5fc090acd..2f8a53dfb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -108,7 +108,7 @@ jobs: # name: updated_esdl_file name: test_demo # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - path: Demo.txt + # path: Demo.txt - shell: bash run: | From 81e14a18c48361fdac8756d45d3c5b12ede49802 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 15:29:33 +0200 Subject: [PATCH 082/376] add values in dummy file --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2f8a53dfb..dc5a33c8f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,7 +67,7 @@ jobs: # # Dummy example # # ------------------------------------------------------------------------------------------- - name: test_deom - run: echo 0 > Demo.txt + run: echo 1 > Demo.txt - name: Archive test artifacts uses: actions/upload-artifact@v4 @@ -108,11 +108,11 @@ jobs: # name: updated_esdl_file name: test_demo # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - # path: Demo.txt - + # path: Demo.txt - shell: bash run: | - expr 3 + 7 > Demo.txt + value=`cat Demo.txt` + expr $value + 9 > Demo.txt - name: Print the final result shell: bash From 104261d6ae08064faf45a3b7f6e2c154c4caba13 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 15:34:16 +0200 Subject: [PATCH 083/376] specify dir for download --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc5a33c8f..b9f464e4c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -108,16 +108,16 @@ jobs: # name: updated_esdl_file name: test_demo # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - # path: Demo.txt + path: examples/PoCTutorial/model/ # try to specify location of file downloaded - shell: bash run: | - value=`cat Demo.txt` + value=`cat examples/PoCTutorial/model/Demo.txt` expr $value + 9 > Demo.txt - name: Print the final result shell: bash run: | - value=`cat Demo.txt` + value=`cat examples/PoCTutorial/model/Demo.txt` echo The result is $value # # Temp upload From 819c7f0dcc44ca7bef3e778affbf5ed77e45f638 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 15:37:00 +0200 Subject: [PATCH 084/376] wip --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b9f464e4c..e2f6d78d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -112,7 +112,7 @@ jobs: - shell: bash run: | value=`cat examples/PoCTutorial/model/Demo.txt` - expr $value + 9 > Demo.txt + expr $value + 9 > examples/PoCTutorial/model/Demo.txt - name: Print the final result shell: bash From 835928c2959aac88ecc99ab036acca30767a684d Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 15:43:01 +0200 Subject: [PATCH 085/376] try actual esdl now --- .github/workflows/ci.yml | 44 ++++++++++++---------------------------- 1 file changed, 13 insertions(+), 31 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e2f6d78d0..80221f9b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,15 +75,6 @@ jobs: name: test_demo path: Demo.txt # # ------------------------------------------------------------------------------------------- - - # - name: Archive test artifacts - # uses: actions/download-artifact@v4 - # with: - # name: updated_esdl_file - # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - # # Post processing testing - # - name: Check test - # run: tox -vv -etest_env2 test_postprocessing: name: Test - postprocessing @@ -105,32 +96,23 @@ jobs: - name: Archive test artifacts uses: actions/download-artifact@v4 with: - # name: updated_esdl_file - name: test_demo + name: updated_esdl_file + # name: test_demo # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl path: examples/PoCTutorial/model/ # try to specify location of file downloaded - - shell: bash - run: | - value=`cat examples/PoCTutorial/model/Demo.txt` - expr $value + 9 > examples/PoCTutorial/model/Demo.txt + # - shell: bash + # run: | + # value=`cat examples/PoCTutorial/model/Demo.txt` + # expr $value + 9 > examples/PoCTutorial/model/Demo.txt - - name: Print the final result - shell: bash - run: | - value=`cat examples/PoCTutorial/model/Demo.txt` - echo The result is $value + # - name: Print the final result + # shell: bash + # run: | + # value=`cat examples/PoCTutorial/model/Demo.txt` + # echo The result is $value - # # Temp upload - # - name: Upload results - # uses: actions/upload-artifact@v4 - # with: - # # name: updated_esdl_file - # name: test_demo - # # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - # path: .Demo.txt - - # - name: Check test - # run: tox -vv -etest_env2 + - name: Check test + run: tox -vv -etest_env2 documentation: From d7d7a0ad095469c702d6a1e4f539617ebf0026cb Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 15:46:21 +0200 Subject: [PATCH 086/376] for postprocessing case to fail --- tests/test_updated_esdl_post_process.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 15ed85c63..038ba7100 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -42,9 +42,6 @@ def test_updated_esdl(self): ) # test KPIs in optimized ESDL - # esdl_path = os.path.normpath( - # os.path.join(base_folder, "model\\PoC Tutorial_GrowOptimized.esdl") - # ) esdl_path = os.path.join(base_folder, "model", "PoC Tutorial_GrowOptimized.esdl") optimized_energy_system = problem._ESDLMixin__energy_system_handler.load_file(esdl_path) @@ -58,7 +55,7 @@ def test_updated_esdl(self): "Energy production [Wh]", "Area_76a7: Asset cost breakdown [EUR]", "Area_9d0f: Asset cost breakdown [EUR]", - "Area_a58a: Asset cost breakdown [EUR]", + "Area_a58a: Asset cost breakdown [EUR]_", ] np.testing.assert_allclose( len(optimized_energy_system.instance[0].area.KPIs.kpi), number_of_kpis_top_level_in_esdl From 78365eeb0b3b666a3eaef2a37b3a0d1cc6703531 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 16:33:05 +0200 Subject: [PATCH 087/376] try real setup --- .github/workflows/ci.yml | 21 ++++++++++----------- tests/test_updated_esdl_post_process.py | 2 +- tox.ini | 4 ++-- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 80221f9b7..240c48e42 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,7 @@ jobs: run: python setup.py sdist bdist_wheel test_main: - name: Test - main + name: Test main runs-on: ubuntu-latest env: TOXENV: py38 @@ -66,18 +66,18 @@ jobs: path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl # # Dummy example # # ------------------------------------------------------------------------------------------- - - name: test_deom - run: echo 1 > Demo.txt - - - name: Archive test artifacts - uses: actions/upload-artifact@v4 - with: - name: test_demo - path: Demo.txt +# - name: test_demo +# run: echo 1 > Demo.txt + +# - name: Archive test artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: test_demo +# path: Demo.txt # # ------------------------------------------------------------------------------------------- test_postprocessing: - name: Test - postprocessing + name: Test post-processing needs: test_main runs-on: ubuntu-latest env: @@ -114,7 +114,6 @@ jobs: - name: Check test run: tox -vv -etest_env2 - documentation: name: Generate documentation runs-on: ubuntu-latest diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 038ba7100..b3a5362c9 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -55,7 +55,7 @@ def test_updated_esdl(self): "Energy production [Wh]", "Area_76a7: Asset cost breakdown [EUR]", "Area_9d0f: Asset cost breakdown [EUR]", - "Area_a58a: Asset cost breakdown [EUR]_", + "Area_a58a: Asset cost breakdown [EUR]", ] np.testing.assert_allclose( len(optimized_energy_system.instance[0].area.KPIs.kpi), number_of_kpis_top_level_in_esdl diff --git a/tox.ini b/tox.ini index 852cec95e..c19d9507f 100644 --- a/tox.ini +++ b/tox.ini @@ -13,8 +13,8 @@ extras = all # Normal tests, or test to solve systems to create data for post porcessing test environment [testenv:test_env1] -; commands = pytest -n auto -v --ignore=tests/test_updated_esdl_post_process.py -s -commands = pytest -n auto -v tests/test_updated_esdl_run.py -s # temp command +commands = pytest -n auto -v --ignore=tests/test_updated_esdl_post_process.py -s +; commands = pytest -n auto -v tests/test_updated_esdl_run.py -s # temp command # Post process type of tests [testenv:test_env2] From 6a80c6cd72236254bb0522b0eab27011e07d6365 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 17:49:49 +0200 Subject: [PATCH 088/376] Added additional job, temp main test for this 1 --- .github/workflows/ci.yml | 33 ++++++++++++++++++++++--- tests/test_updated_esdl_post_process.py | 6 +++++ tests/test_updated_esdl_run.py | 7 +----- tox.ini | 16 +++++++----- 4 files changed, 46 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 240c48e42..62311edad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,7 +57,7 @@ jobs: # Preprocessing and solved network testing - name: Check test - run: tox -vv -etest_env1 + run: tox -vv -etest_env_main - name: Upload results uses: actions/upload-artifact@v4 @@ -76,9 +76,34 @@ jobs: # path: Demo.txt # # ------------------------------------------------------------------------------------------- - test_postprocessing: + test_pre_processing: + name: Test pre-processing + runs-on: ubuntu-latest + env: + TOXENV: py38 + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-python@v4 + with: + python-version: "3.8" + + - name: deps + run: python -m pip install -U tox + + # Preprocessing and solved network testing + - name: Check test + run: tox -vv -etest_env_pre + + - name: Upload results + uses: actions/upload-artifact@v4 + with: + name: updated_esdl_file + path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + + test_post_processing: name: Test post-processing - needs: test_main + needs: test_pre_processing runs-on: ubuntu-latest env: TOXENV: py38 @@ -112,7 +137,7 @@ jobs: # echo The result is $value - name: Check test - run: tox -vv -etest_env2 + run: tox -vv -etest_env_post documentation: name: Generate documentation diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index b3a5362c9..9671db413 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -20,6 +20,12 @@ def test_updated_esdl(self): - That the correct number of KPIs have been added - That the correct assets have been removed - Check that all the assets have a state=ENABLED + + Add: + - pipe diam + - aggregation count of the asset -> check in mesido vs esdl + - units of the kips euro + - if the assets are connected """ root_folder = str(Path(__file__).resolve().parent.parent) diff --git a/tests/test_updated_esdl_run.py b/tests/test_updated_esdl_run.py index cc1edc6a9..911742d33 100644 --- a/tests/test_updated_esdl_run.py +++ b/tests/test_updated_esdl_run.py @@ -5,8 +5,6 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import run_end_scenario_sizing -import numpy as np - class TestUpdatedESDL(TestCase): @@ -31,15 +29,12 @@ def test_updated_esdl(self): Path(examples.PoCTutorial.src.run_grow_tutorial.__file__).resolve().parent.parent ) - solution = run_end_scenario_sizing( + _ = run_end_scenario_sizing( EndScenarioSizingStagedHighs, base_folder=base_folder, esdl_file_name="PoC Tutorial.esdl", esdl_parser=ESDLFileParser, ) - # This test only exist for flake test purposes: variable never used - results = solution.extract_results() - np.testing.assert_array_less(0.0, len(results.values())) if __name__ == "__main__": diff --git a/tox.ini b/tox.ini index c19d9507f..c491a11dc 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] envlist = - py39,test_env1,test_env2,flake8,black + py39, test_env_main, test_env_pre, test_env_post, flake8, black # Basic setup for test environments [testenv] @@ -11,13 +11,17 @@ deps = numpy extras = all -# Normal tests, or test to solve systems to create data for post porcessing test environment -[testenv:test_env1] -commands = pytest -n auto -v --ignore=tests/test_updated_esdl_post_process.py -s -; commands = pytest -n auto -v tests/test_updated_esdl_run.py -s # temp command +# Main tests (typical normal test) +[testenv:test_env_main] +; commands = pytest -n auto -v --ignore=tests/test_updated_esdl_post_process.py -s +commands = pytest -n auto -v tests/test_esdl_parsing.py -s # temp command + +# Pre-processing / solve systems to create data for post-processing test environment +[testenv:test_env_pre] +commands = pytest -n auto -v tests/test_updated_esdl_run.py -s # Post process type of tests -[testenv:test_env2] +[testenv:test_env_post] commands = pytest -n auto -v tests/test_updated_esdl_post_process.py -s From a8758191d733f78f5184d2609c1e152a7e8d3c1e Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 15 Apr 2024 17:55:19 +0200 Subject: [PATCH 089/376] Specify retention days --- .github/workflows/ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 62311edad..4122f012d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,11 +59,6 @@ jobs: - name: Check test run: tox -vv -etest_env_main - - name: Upload results - uses: actions/upload-artifact@v4 - with: - name: updated_esdl_file - path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl # # Dummy example # # ------------------------------------------------------------------------------------------- # - name: test_demo @@ -100,6 +95,7 @@ jobs: with: name: updated_esdl_file path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl + retention-days: 5 test_post_processing: name: Test post-processing From 43c32480029607762b3d6ee11c9ee34f3c7ff17c Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 16 Apr 2024 11:12:59 +0200 Subject: [PATCH 090/376] Add missing units for the energy kpi --- src/mesido/workflows/io/write_output.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index ab6c2a8db..d99b1879a 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -487,6 +487,9 @@ def _name_to_asset(name): for key, value in heat_source_energy_wh.items() ] ), + quantityAndUnit=esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.ENERGY, unit=esdl.UnitEnum.WATTHOUR + ), ) ) energy_system.instance[0].area.KPIs = kpis_top_level From 8e7292089dc4d19b88b90a6791984bebb828b292 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 16 Apr 2024 11:48:03 +0200 Subject: [PATCH 091/376] Formatting, test update, renaming --- .github/workflows/ci.yml | 50 ++++------ tests/test_updated_esdl_post_process.py | 94 ++++++++++++++++--- ...un.py => test_updated_esdl_pre_process.py} | 0 3 files changed, 97 insertions(+), 47 deletions(-) rename tests/{test_updated_esdl_run.py => test_updated_esdl_pre_process.py} (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4122f012d..3a1ebcaf2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,8 +21,14 @@ jobs: - name: deps run: python -m pip install -U tox - - name: Check style - run: tox -vv + - name: Check style main + run: tox -vv -etest_env_main + + - name: Check style pre-processing + run: tox -vv -etest_env_pre + + - name: Check style post-processing + run: tox -vv -etest_env_post build: name: Check build @@ -39,7 +45,8 @@ jobs: - name: Check build run: python setup.py sdist bdist_wheel - + + # Main testing test_main: name: Test main runs-on: ubuntu-latest @@ -54,23 +61,11 @@ jobs: - name: deps run: python -m pip install -U tox - - # Preprocessing and solved network testing + - name: Check test run: tox -vv -etest_env_main - -# # Dummy example -# # ------------------------------------------------------------------------------------------- -# - name: test_demo -# run: echo 1 > Demo.txt - -# - name: Archive test artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: test_demo -# path: Demo.txt -# # ------------------------------------------------------------------------------------------- - + + # Pre-processing testing test_pre_processing: name: Test pre-processing runs-on: ubuntu-latest @@ -86,7 +81,6 @@ jobs: - name: deps run: python -m pip install -U tox - # Preprocessing and solved network testing - name: Check test run: tox -vv -etest_env_pre @@ -96,7 +90,8 @@ jobs: name: updated_esdl_file path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl retention-days: 5 - + + # Post processing testing dependant on pre-processing test_post_processing: name: Test post-processing needs: test_pre_processing @@ -113,24 +108,11 @@ jobs: - name: deps run: python -m pip install -U tox - # Post processing testing - name: Archive test artifacts uses: actions/download-artifact@v4 with: name: updated_esdl_file - # name: test_demo - # path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl - path: examples/PoCTutorial/model/ # try to specify location of file downloaded - # - shell: bash - # run: | - # value=`cat examples/PoCTutorial/model/Demo.txt` - # expr $value + 9 > examples/PoCTutorial/model/Demo.txt - - # - name: Print the final result - # shell: bash - # run: | - # value=`cat examples/PoCTutorial/model/Demo.txt` - # echo The result is $value + path: examples/PoCTutorial/model/ - name: Check test run: tox -vv -etest_env_post diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 9671db413..9d8f7ab4a 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -1,3 +1,4 @@ +import fnmatch import os import sys from pathlib import Path @@ -19,13 +20,13 @@ def test_updated_esdl(self): Checks: - That the correct number of KPIs have been added - That the correct assets have been removed - - Check that all the assets have a state=ENABLED - - Add: - - pipe diam - - aggregation count of the asset -> check in mesido vs esdl - - units of the kips euro - - if the assets are connected + - That all the assets have a state=ENABLED + - The diameter of all the pipes are as expected + - The aggregation count of the assets, MESIDO problem vs updated ESDL file + - That the KPI values are represented in the correct units + - That assets are connected and that the connections per ports were not changed in the + updated ESDL + - The correct number of polygon sub-areas exist """ root_folder = str(Path(__file__).resolve().parent.parent) @@ -46,6 +47,7 @@ def test_updated_esdl(self): model_folder=model_folder, input_folder=input_folder, ) + problem.pre() # test KPIs in optimized ESDL esdl_path = os.path.join(base_folder, "model", "PoC Tutorial_GrowOptimized.esdl") @@ -53,36 +55,60 @@ def test_updated_esdl(self): # High level checks of KPIs number_of_kpis_top_level_in_esdl = 8 - high_level_kpis_name = [ + high_level_kpis_euro = [ "High level cost breakdown [EUR]", "Overall cost breakdown [EUR]", "CAPEX breakdown [EUR]", "OPEX breakdown [EUR]", - "Energy production [Wh]", "Area_76a7: Asset cost breakdown [EUR]", "Area_9d0f: Asset cost breakdown [EUR]", "Area_a58a: Asset cost breakdown [EUR]", ] + high_level_kpis_wh = [ + "Energy production [Wh]", + ] + all_high_level_kpis = [] + all_high_level_kpis = high_level_kpis_euro + high_level_kpis_wh + np.testing.assert_allclose( len(optimized_energy_system.instance[0].area.KPIs.kpi), number_of_kpis_top_level_in_esdl ) for ii in range(len(optimized_energy_system.instance[0].area.KPIs.kpi)): kpi_name = optimized_energy_system.instance[0].area.KPIs.kpi[ii].name np.testing.assert_array_equal( - kpi_name in high_level_kpis_name, + kpi_name in all_high_level_kpis, True, err_msg=f"KPI name {kpi_name} was not expected in the ESDL", ) - - # High level checks of the assets - # Check quantity of assets and that they all of have an ENABLED state + if kpi_name in high_level_kpis_euro: + np.testing.assert_array_equal( + optimized_energy_system.instance[0].area.KPIs.kpi[ii].quantityAndUnit.unit.name, + "EURO", + ) + elif kpi_name in high_level_kpis_wh: + np.testing.assert_array_equal( + optimized_energy_system.instance[0].area.KPIs.kpi[ii].quantityAndUnit.unit.name, + "WATTHOUR", + ) + else: + exit(f"Unexpected KPI name: {kpi_name}") + + # Check the asset quantity number_of_assets_in_esdl = 15 np.testing.assert_allclose( len(optimized_energy_system.instance[0].area.asset), number_of_assets_in_esdl ) + # Check: + # - that the correct assets were removed + # - asset state + # - pipe diameter sizes + # - asset aggregation count + # - number of ports + # - number of connection to a port asset_to_be_deleted = ["ResidualHeatSource_76f0", "Pipe_8fa5_ret", "Pipe_8fa5"] for ii in range(len(optimized_energy_system.instance[0].area.asset)): asset_name = optimized_energy_system.instance[0].area.asset[ii].name + # Existance of asset and its state np.testing.assert_array_equal( asset_name not in asset_to_be_deleted, True, @@ -92,6 +118,48 @@ def test_updated_esdl(self): optimized_energy_system.instance[0].area.asset[ii].state.name == "ENABLED", True ) + # Check pipe diameter + if ( + len( + fnmatch.filter([optimized_energy_system.instance[0].area.asset[ii].id], "Pipe*") + ) + == 1 + ): + if asset_name not in ["Pipe4", "Pipe4_ret", "Pipe5", "Pipe5_ret"]: + np.testing.assert_array_equal( + optimized_energy_system.instance[0].area.asset[ii].diameter.name, "DN400" + ) + else: + np.testing.assert_array_equal( + optimized_energy_system.instance[0].area.asset[ii].diameter.name, + "DN300", + err_msg=f"Asset name {asset_name} was not expected in the ESDL", + ) + # Check aggregation count + np.testing.assert_array_equal( + optimized_energy_system.instance[0].area.asset[ii].aggregationCount, + problem.get_aggregation_count_max(asset_name), + ) + # Check the number of ports of the assets are as expected + np.testing.assert_array_equal( + len(optimized_energy_system.instance[0].area.asset[ii].port), + len(problem.esdl_assets[asset_name].in_ports) + + len(problem.esdl_assets[asset_name].out_ports), + ) + # Check the number of connection to a port + optimized_energy_system.instance[0].area.asset[ii].port[1].name + for iport in range(len(optimized_energy_system.instance[0].area.asset[ii].port)): + if optimized_energy_system.instance[0].area.asset[ii].port[iport].name == "In": + np.testing.assert_array_equal( + len( + optimized_energy_system.instance[0] + .area.asset[ii] + .port[iport] + .connectedTo.items + ), + len(problem.esdl_assets[asset_name].in_ports), + ) + # High level check on the polygon areas drawn number_of_areas_in_esdl = 3 np.testing.assert_allclose( diff --git a/tests/test_updated_esdl_run.py b/tests/test_updated_esdl_pre_process.py similarity index 100% rename from tests/test_updated_esdl_run.py rename to tests/test_updated_esdl_pre_process.py From e4dbb9a0ea9f2abafcc18ffd6c84aa3b56614dd1 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 16 Apr 2024 11:48:17 +0200 Subject: [PATCH 092/376] renaming --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index c491a11dc..8d7eeb152 100644 --- a/tox.ini +++ b/tox.ini @@ -18,7 +18,7 @@ commands = pytest -n auto -v tests/test_esdl_parsing.py -s # temp command # Pre-processing / solve systems to create data for post-processing test environment [testenv:test_env_pre] -commands = pytest -n auto -v tests/test_updated_esdl_run.py -s +commands = pytest -n auto -v tests/test_updated_esdl_pre_process.py -s # Post process type of tests [testenv:test_env_post] From d5c5c7ccabcc79b5c28a8f9f48ff16a522d89c0f Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 16 Apr 2024 11:53:35 +0200 Subject: [PATCH 093/376] revert to using all test cases again --- tox.ini | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 8d7eeb152..cda45d59d 100644 --- a/tox.ini +++ b/tox.ini @@ -13,8 +13,7 @@ extras = all # Main tests (typical normal test) [testenv:test_env_main] -; commands = pytest -n auto -v --ignore=tests/test_updated_esdl_post_process.py -s -commands = pytest -n auto -v tests/test_esdl_parsing.py -s # temp command +commands = pytest -n auto -v --ignore=tests/test_updated_esdl_pre_process.py --ignore=tests/test_updated_esdl_post_process.py -s # Pre-processing / solve systems to create data for post-processing test environment [testenv:test_env_pre] From 8e5e77d7c0573ad485b6ea19df654eefb89b99d4 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 16 Apr 2024 12:14:19 +0200 Subject: [PATCH 094/376] add source size check --- tests/test_updated_esdl_post_process.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 9d8f7ab4a..b6e45c41b 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -26,6 +26,8 @@ def test_updated_esdl(self): - That the KPI values are represented in the correct units - That assets are connected and that the connections per ports were not changed in the updated ESDL + - That the size of the source has been made small. Not checking the exact + value - not the purpose of these tests - The correct number of polygon sub-areas exist """ @@ -159,6 +161,12 @@ def test_updated_esdl(self): ), len(problem.esdl_assets[asset_name].in_ports), ) + if asset_name == "ResidualHeatSource_72d7": + asset_id = optimized_energy_system.instance[0].area.asset[ii].id + np.testing.assert_array_less( + optimized_energy_system.instance[0].area.asset[ii].power, + problem.esdl_assets[asset_id].attributes["power"], + ) # High level check on the polygon areas drawn number_of_areas_in_esdl = 3 From 1ef949824d0af0830f65c4cae88277bc4cb8ec4f Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 16 Apr 2024 14:13:43 +0200 Subject: [PATCH 095/376] bug fix --- .github/workflows/ci.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3a1ebcaf2..67d7ca3eb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,14 +21,8 @@ jobs: - name: deps run: python -m pip install -U tox - - name: Check style main - run: tox -vv -etest_env_main - - - name: Check style pre-processing - run: tox -vv -etest_env_pre - - - name: Check style post-processing - run: tox -vv -etest_env_post + - name: Check style + run: tox -vv build: name: Check build From f95be24ff8276f56f566da3dcc4a46ae951958b7 Mon Sep 17 00:00:00 2001 From: JimRojer-TNO <137045207+jimrojerTNO@users.noreply.github.com> Date: Tue, 16 Apr 2024 16:10:21 +0200 Subject: [PATCH 096/376] Add airco (#26) This commit adds the airco asset in the heating networks. --- src/mesido/asset_sizing_mixin.py | 7 + src/mesido/esdl/asset_to_component_base.py | 1 + src/mesido/esdl/esdl_heat_model.py | 39 +++ src/mesido/heat_physics_mixin.py | 5 +- .../pycml/component_library/milp/__init__.py | 2 + .../component_library/milp/heat/__init__.py | 2 + .../component_library/milp/heat/airco.py | 53 +++ tests/models/wko/model/airco.esdl | 326 ++++++++++++++++++ tests/models/wko/src/example.py | 2 +- tests/test_cold_demand.py | 30 ++ tests/utils_tests.py | 10 +- 11 files changed, 473 insertions(+), 4 deletions(-) create mode 100644 src/mesido/pycml/component_library/milp/heat/airco.py create mode 100644 tests/models/wko/model/airco.esdl diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index f2329d82c..6306728af 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -790,6 +790,13 @@ def _make_max_size_var(name, lb, ub, nominal): lb = 0.0 if np.isinf(bounds[f"{asset_name}.Heat_demand"][1]) else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) + for asset_name in self.energy_system_components.get("airco", []): + ub = bounds[f"{asset_name}.Heat_airco"][1] + # Note that we only enforce the upper bound in state enabled if it was explicitly + # specified for the demand + lb = 0.0 if np.isinf(bounds[f"{asset_name}.Heat_airco"][1]) else ub + _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) + for asset_name in self.energy_system_components.get("cold_demand", []): ub = ( bounds[f"{asset_name}.Cold_demand"][1] diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 5918471c8..d9a3bf6eb 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -72,6 +72,7 @@ class _AssetToComponentBase: } # A map of the esdl assets to the asset types in pycml component_map = { + "Airco": "airco", "ATES": "ates", "Battery": "electricity_storage", "Bus": "electricity_node", diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 979d19546..6ead56217 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -13,6 +13,7 @@ from mesido.pycml.component_library.milp import ( ATES, AirWaterHeatPump, + Airco, CheckValve, ColdDemand, Compressor, @@ -351,6 +352,44 @@ def convert_heat_demand(self, asset: Asset) -> Tuple[Type[HeatDemand], MODIFIERS return HeatDemand, modifiers + def convert_airco(self, asset: Asset) -> Tuple[Type[Airco], MODIFIERS]: + """ + This function converts the airco object in esdl to a set of modifiers that can be used in + a pycml object. Most important: + + - Setting a cap on the thermal power. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. + + Parameters + ---------- + asset : The asset object with its properties. + + Returns + ------- + Demand class with modifiers + """ + assert asset.asset_type in {"Airco"} + + max_ = asset.attributes["power"] if asset.attributes["power"] else math.inf + + q_nominal = self._get_connected_q_nominal(asset) + + modifiers = dict( + Q_nominal=q_nominal, + Heat_airco=dict(max=max_, nominal=max_ / 2.0), + Heat_flow=dict(max=max_, nominal=max_ / 2.0), + HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), + HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), + state=self.get_state(asset), + **self._supply_return_temperature_modifiers(asset), + **self._rho_cp_modifiers, + **self._get_cost_figure_modifiers(asset), + ) + + return Airco, modifiers + def convert_cold_demand(self, asset: Asset) -> Tuple[Type[ColdDemand], MODIFIERS]: """ This function converts the demand object in esdl to a set of modifiers that can be used in diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index a24d636e4..0b1affcc1 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -1372,7 +1372,10 @@ def __demand_heat_to_discharge_path_constraints(self, ensemble_member): constraints = [] parameters = self.parameters(ensemble_member) - for d in self.energy_system_components.get("heat_demand", []): + for d in [ + *self.energy_system_components.get("heat_demand", []), + *self.energy_system_components.get("airco", []), + ]: heat_nominal = parameters[f"{d}.Heat_nominal"] cp = parameters[f"{d}.cp"] rho = parameters[f"{d}.rho"] diff --git a/src/mesido/pycml/component_library/milp/__init__.py b/src/mesido/pycml/component_library/milp/__init__.py index 60d6534db..7b8c856cb 100644 --- a/src/mesido/pycml/component_library/milp/__init__.py +++ b/src/mesido/pycml/component_library/milp/__init__.py @@ -15,6 +15,7 @@ from .gas.gas_substation import GasSubstation from .gas.gas_tank_storage import GasTankStorage from .heat.air_water_heat_pump import AirWaterHeatPump +from .heat.airco import Airco from .heat.ates import ATES from .heat.check_valve import CheckValve from .heat.cold_demand import ColdDemand @@ -35,6 +36,7 @@ from .multicommodity.electrolyzer import Electrolyzer __all__ = [ + "Airco", "AirWaterHeatPump", "ATES", "HeatBuffer", diff --git a/src/mesido/pycml/component_library/milp/heat/__init__.py b/src/mesido/pycml/component_library/milp/heat/__init__.py index 475ed0e55..b03cc2159 100644 --- a/src/mesido/pycml/component_library/milp/heat/__init__.py +++ b/src/mesido/pycml/component_library/milp/heat/__init__.py @@ -1,4 +1,5 @@ from .air_water_heat_pump import AirWaterHeatPump +from .airco import Airco from .ates import ATES from .check_valve import CheckValve from .cold_demand import ColdDemand @@ -18,6 +19,7 @@ from .pump import Pump __all__ = [ + "Airco", "AirWaterHeatPump", "ATES", "HeatBuffer", diff --git a/src/mesido/pycml/component_library/milp/heat/airco.py b/src/mesido/pycml/component_library/milp/heat/airco.py new file mode 100644 index 000000000..612df54fb --- /dev/null +++ b/src/mesido/pycml/component_library/milp/heat/airco.py @@ -0,0 +1,53 @@ +from mesido.pycml import Variable + +from ._non_storage_component import _NonStorageComponent + + +class Airco(_NonStorageComponent): + """ + The airco component is there to extract thermal power (Heat) out of the network. This component + can also be used to model cold producers, e.g. dry coolers. + + The heat to discharge constraints are set in the HeatPhysicsMixin. We enforce that the outgoing + temperature of the airco matches the absolute thermal power, Q * cp * rho * T_ret == Heat, + similar as with the sources. This allows us to guarantee that the flow can always carry the + heat and that thermal losses are always estimated conservatively, as the heat losses further + downstream in the network are over-estimated with T_ret where in reality this temperature + drops. It also implicitly assumes that the temperature drops in the network are small and thus + satisfy minimum temperature requirements. + """ + + def __init__(self, name, **modifiers): + super().__init__( + name, + **self.merge_modifiers( + dict( + HeatIn=dict(Heat=dict(min=0.0)), + HeatOut=dict(Heat=dict(min=0.0)), + ), + modifiers, + ), + ) + + self.component_type = "airco" + + self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop + + # Assumption: heat in/out and extracted is nonnegative + # Heat in the return (i.e. cold) line is zero + self.add_variable(Variable, "Heat_airco", min=0.0, nominal=self.Heat_nominal) + self.add_variable(Variable, "dH", max=0.0) + self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) + self.add_equation( + ( + self.minimum_pressure_drop * self.Q + - (self.HeatIn.Hydraulic_power - self.HeatOut.Hydraulic_power) + ) + / (self.Q_nominal * self.minimum_pressure_drop) + ) + + self.add_equation( + (self.HeatOut.Heat - (self.HeatIn.Heat - self.Heat_airco)) / self.Heat_nominal + ) + + self.add_equation((self.Heat_flow - self.Heat_airco) / self.Heat_nominal) diff --git a/tests/models/wko/model/airco.esdl b/tests/models/wko/model/airco.esdl new file mode 100644 index 000000000..a7a7422cc --- /dev/null +++ b/tests/models/wko/model/airco.esdl @@ -0,0 +1,326 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index 2de7171d2..c46291cd1 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -211,7 +211,7 @@ def energy_system_options(self): if __name__ == "__main__": elect = run_optimization_problem( HeatProblem, - esdl_file_name="LT_wko.esdl", + esdl_file_name="airco.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries.csv", diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index f7596a0fb..ce5e397d9 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -40,6 +40,36 @@ def test_cold_demand(self): energy_conservation_test(heat_problem, heat_problem.extract_results()) heat_to_discharge_test(heat_problem, heat_problem.extract_results()) + def test_airco(self): + """ + This test is to check the basic physics for a network which includes an airco. In this + case we have a network with an air-water hp, a low temperature ates and both hot and cold + demand. In this case the demands are matched and the low temperature ates is utilized. + + Checks: + 1. demand is matched + 2. energy conservation in the network + 3. heat to discharge + + """ + import models.wko.src.example as example + from models.wko.src.example import HeatProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + heat_problem = run_optimization_problem( + HeatProblem, + base_folder=base_folder, + esdl_file_name="airco.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + + demand_matching_test(heat_problem, heat_problem.extract_results()) + energy_conservation_test(heat_problem, heat_problem.extract_results()) + heat_to_discharge_test(heat_problem, heat_problem.extract_results()) + if __name__ == "__main__": a = 1 diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 4b7e0ed5c..5ccb11f35 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -97,7 +97,10 @@ def heat_to_discharge_test(solution, results): """ test = TestCase() tol = 1.0e-2 - for d in solution.energy_system_components.get("heat_demand", []): + for d in [ + *solution.energy_system_components.get("heat_demand", []), + *solution.energy_system_components.get("airco", []), + ]: cp = solution.parameters(0)[f"{d}.cp"] rho = solution.parameters(0)[f"{d}.rho"] # return_id = solution.parameters(0)[f"{d}.T_return_id"] @@ -114,7 +117,7 @@ def heat_to_discharge_test(solution, results): # dt = solution.parameters(0)[f"{d}.dT"] supply_t, return_t, dt = _get_component_temperatures(solution, results, d) np.testing.assert_allclose( - results[f"{d}.Heat_demand"], + results[f"{d}.Heat_flow"], results[f"{d}.HeatIn.Heat"] - results[f"{d}.HeatOut.Heat"], atol=tol, ) @@ -342,6 +345,9 @@ def energy_conservation_test(solution, results): for d in solution.energy_system_components.get("heat_demand", []): energy_sum -= results[f"{d}.Heat_demand"] + for d in solution.energy_system_components.get("airco", []): + energy_sum -= results[f"{d}.Heat_airco"] + for d in solution.energy_system_components.get("cold_demand", []): energy_sum += results[f"{d}.Cold_demand"] From e03a79c07340beaf340a3b490ebd0f2101088253 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Mon, 22 Apr 2024 11:50:37 +0200 Subject: [PATCH 097/376] reduced heating demand for passing of pre-processing pipeline --- examples/PoCTutorial/model/PoC Tutorial.esdl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/PoCTutorial/model/PoC Tutorial.esdl b/examples/PoCTutorial/model/PoC Tutorial.esdl index 8ea28e64c..04b647e30 100644 --- a/examples/PoCTutorial/model/PoC Tutorial.esdl +++ b/examples/PoCTutorial/model/PoC Tutorial.esdl @@ -287,7 +287,7 @@ - + @@ -318,7 +318,7 @@ - + @@ -347,7 +347,7 @@ - + From 996655a47a296ecfbe502a9a0ff1a75cfa910dfd Mon Sep 17 00:00:00 2001 From: JimRojer-TNO <137045207+jimrojerTNO@users.noreply.github.com> Date: Mon, 22 Apr 2024 13:25:01 +0200 Subject: [PATCH 098/376] Add gasboiler, e-boiler, airwaterHPelec (#41) This commit adds the multicommodity components of gas_boiler, electric_boiler and air_water_hp_elec --- src/mesido/esdl/asset_to_component_base.py | 52 +++- src/mesido/esdl/esdl_heat_model.py | 251 +++++++++++++++++- src/mesido/esdl/esdl_model_base.py | 60 ++++- .../pycml/component_library/milp/__init__.py | 6 + .../milp/multicommodity/__init__.py | 6 + .../multicommodity/airwater_heat_pump_elec.py | 43 +++ .../milp/multicommodity/electro_boiler.py | 45 ++++ .../milp/multicommodity/gas_boiler.py | 51 ++++ .../model/sourcesink_withHP.esdl | 70 +++++ .../model/sourcesink_witheboiler.esdl | 70 +++++ .../model/sourcesink_withgasboiler.esdl | 87 ++++++ .../source_pipe_sink/src/double_pipe_heat.py | 9 +- tests/test_elec_boiler.py | 90 +++++++ tests/test_gas_boiler.py | 53 ++++ 14 files changed, 868 insertions(+), 25 deletions(-) create mode 100644 src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py create mode 100644 src/mesido/pycml/component_library/milp/multicommodity/electro_boiler.py create mode 100644 src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py create mode 100644 tests/models/source_pipe_sink/model/sourcesink_withHP.esdl create mode 100644 tests/models/source_pipe_sink/model/sourcesink_witheboiler.esdl create mode 100644 tests/models/source_pipe_sink/model/sourcesink_withgasboiler.esdl create mode 100644 tests/test_elec_boiler.py create mode 100644 tests/test_gas_boiler.py diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index d9a3bf6eb..cfbc58d1b 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -76,6 +76,7 @@ class _AssetToComponentBase: "ATES": "ates", "Battery": "electricity_storage", "Bus": "electricity_node", + "ElectricBoiler": "elec_boiler", "ElectricityCable": "electricity_cable", "ElectricityDemand": "electricity_demand", "ElectricityProducer": "electricity_source", @@ -86,7 +87,7 @@ class _AssetToComponentBase: "HeatExchange": "heat_exchanger", "HeatingDemand": "heat_demand", "HeatPump": "heat_pump", - "GasHeater": "heat_source", + "GasHeater": "gas_boiler", "GasProducer": "gas_source", "GasDemand": "gas_demand", "GasConversion": "gas_substation", @@ -412,8 +413,15 @@ def _get_connected_i_nominal_and_max(self, asset: Asset) -> Tuple[float, float]: f"Could not determine max and nominal current for {asset.asset_type}" " '{asset.name}'" ) - elif asset.out_ports is None or asset.asset_type == "Electrolyzer": - connected_port = asset.in_ports[0].connectedTo[0] + elif ( + asset.out_ports is None + or asset.asset_type == "Electrolyzer" + or asset.asset_type == "ElectricBoiler" + or asset.asset_type == "HeatPump" + ): + for port in asset.in_ports: + if isinstance(port.carrier, esdl.ElectricityCommodity): + connected_port = port.connectedTo[0] i_max = self._port_to_i_max.get(connected_port, None) i_nom = self._port_to_i_nominal.get(connected_port, None) if i_max is not None: @@ -505,6 +513,36 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: raise _RetryLaterException( f"Could not determine nominal discharge for {asset.asset_type} '{asset.name}'" ) + elif len(asset.in_ports) == 2 and len(asset.out_ports) == 1: # for gas_boiler or e_boiler + q_nominals = {} + try: + for port in asset.in_ports: + connected_port = asset.in_ports[0].connectedTo[0] + if isinstance(port.carrier, esdl.GasCommodity): + q_nominals["Q_nominal_gas"] = self._port_to_q_nominal[connected_port] + self._port_to_q_nominal[port] = q_nominals["Q_nominal_gas"] + elif isinstance(port.carrier, esdl.HeatCommodity): + q_nominals["Q_nominal"] = self._port_to_q_nominal[connected_port] + self._port_to_q_nominal[port] = q_nominals["Q_nominal"] + else: + logger.error( + f"{asset.name} should have at least gas or heat specified on" + f"one of the in ports" + ) + except KeyError: + if isinstance(asset.out_ports[0].carrier, esdl.GasCommodity): + connected_port = asset.out_ports[0].connectedTo[0] + q_nominals["Q_nominal"] = self._port_to_q_nominal.get(connected_port, None) + else: + logger.error(f"{asset.name} should have a heat carrier on out port") + + if q_nominals["Q_nominal"] is not None: + self._port_to_q_nominal[asset.out_ports[0]] = q_nominals["Q_nominal"] + return q_nominals + else: + raise _RetryLaterException( + f"Could not determine nominal discharge for {asset.asset_type} '{asset.name}'" + ) elif len(asset.in_ports) >= 2 and len(asset.out_ports) == 2: q_nominals = {} for p in asset.in_ports: @@ -611,9 +649,11 @@ def _get_supply_return_temperatures(asset: Asset) -> Tuple[float, float]: Tuple with the supply and return temperature. """ - assert len(asset.in_ports) == 1 and len(asset.out_ports) == 1 + assert len(asset.in_ports) <= 2 and len(asset.out_ports) == 1 - in_carrier = asset.global_properties["carriers"][asset.in_ports[0].carrier.id] + for port in asset.in_ports: + if isinstance(port.carrier, esdl.HeatCommodity): + in_carrier = asset.global_properties["carriers"][port.carrier.id] out_carrier = asset.global_properties["carriers"][asset.out_ports[0].carrier.id] if in_carrier["id"] == out_carrier["id"]: @@ -668,7 +708,7 @@ def _supply_return_temperature_modifiers(self, asset: Asset) -> MODIFIERS: dict with all the temperatures. """ - if len(asset.in_ports) == 1 and len(asset.out_ports) == 1: + if len(asset.in_ports) <= 2 and len(asset.out_ports) == 1: modifiers = self._get_supply_return_temperatures(asset) return modifiers elif len(asset.in_ports) >= 2 and len(asset.out_ports) == 2: diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 6ead56217..c076076b0 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -13,17 +13,20 @@ from mesido.pycml.component_library.milp import ( ATES, AirWaterHeatPump, + AirWaterHeatPumpElec, Airco, CheckValve, ColdDemand, Compressor, ControlValve, + ElecBoiler, ElectricityCable, ElectricityDemand, ElectricityNode, ElectricitySource, ElectricityStorage, Electrolyzer, + GasBoiler, GasDemand, GasNode, GasPipe, @@ -96,6 +99,36 @@ def _rho_cp_modifiers(self) -> Dict: """ return dict(rho=self.rho, cp=self.cp) + def get_internal_energy(self, asset_name, carrier): + # The default of 20°C is also used in the head_loss_class. Thus, when updating ensure it + # is also updated in the head_loss_class. + temperature = 20.0 + + if NetworkSettings.NETWORK_TYPE_GAS in carrier.name: + internal_energy = cP.CoolProp.PropsSI( + "U", + "T", + 273.15 + temperature, + "P", + carrier.pressure * 1.0e5, + NetworkSettings.NETWORK_COMPOSITION_GAS, + ) + elif NetworkSettings.NETWORK_TYPE_HYDROGEN in carrier.name: + internal_energy = cP.CoolProp.PropsSI( + "U", + "T", + 273.15 + temperature, + "P", + carrier.pressure * 1.0e5, + str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper(), + ) + else: + logger.warning( + f"Neither gas or hydrogen was used in the carrier " f"name of pipe {asset_name}" + ) + internal_energy = 46.0e6 # natural gas at about 8 bar + return internal_energy # we use gram per second and coolprop gives results in kJ per kg + def get_density(self, asset_name, carrier): # TODO: gas carrier temperature still needs to be resolved. # The default of 20°C is also used in the head_loss_class. Thus, when updating ensure it @@ -770,7 +803,7 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD def convert_heat_pump( self, asset: Asset - ) -> Tuple[Union[Type[HeatPump], Type[HeatSource]], MODIFIERS]: + ) -> Tuple[Union[Type[HeatPump], Type[HeatSource], Type[AirWaterHeatPumpElec]], MODIFIERS]: """ This function converts the HeatPump object in esdl to a set of modifiers that can be used in a pycml object. Most important: @@ -798,6 +831,10 @@ def convert_heat_pump( if len(asset.in_ports) == 1 and len(asset.out_ports) == 1: _, modifiers = self.convert_heat_source(asset) return AirWaterHeatPump, modifiers + # In this case we only have the secondary side ports, here we assume a air-water HP elec + if len(asset.in_ports) == 2 and len(asset.out_ports) == 1: + _, modifiers = self.convert_air_water_heat_pump_elec(asset) + return AirWaterHeatPumpElec, modifiers if not asset.attributes["power"]: raise _ESDLInputException(f"{asset.name} has no power specified") @@ -892,10 +929,7 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS # get price per unit of energy, # assume cost of 1. if nothing is given (effectively milp loss minimization) - - co2_coefficient = 1.0 - if hasattr(asset.attributes["KPIs"], "kpi"): - co2_coefficient = asset.attributes["KPIs"].kpi.items[0].value + # TODO: Use an attribute or use and KPI for CO2 coefficient of a source q_nominal = self._get_connected_q_nominal(asset) @@ -912,7 +946,6 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS ), Q_nominal=q_nominal, state=self.get_state(asset), - co2_coeff=co2_coefficient, Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), Heat_flow=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), @@ -1639,6 +1672,212 @@ def convert_compressor(self, asset: Asset) -> Tuple[Type[Compressor], MODIFIERS] return Compressor, modifiers + def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: + """ + This function converts the GasHeater object in esdl to a set of modifiers that can be + used in a pycml object. + + Parameters + ---------- + asset : The asset object with its properties. + + Returns + ------- + GasBoiler class with modifiers + """ + assert asset.asset_type in {"GasHeater"} + + max_supply = asset.attributes["power"] + + if not max_supply: + logger.error(f"{asset.asset_type} '{asset.name}' has no max power specified. ") + assert max_supply > 0.0 + + if len(asset.in_ports) == 1: + heat_source_object, modifiers = self.convert_heat_source(asset) + return heat_source_object, modifiers + + id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ + "id_number_mapping" + ] + + for port in asset.in_ports: + if isinstance(port.carrier, esdl.GasCommodity): + density = self.get_density(asset.name, port.carrier) + internal_energy = self.get_internal_energy(asset.name, port.carrier) + + # TODO: CO2 coefficient + + q_nominals = self._get_connected_q_nominal(asset) + + modifiers = dict( + technical_life=self.get_asset_attribute_value( + asset, + "technicalLifetime", + default_value=30.0, + min_value=1.0, + max_value=50.0, + ), + discount_rate=self.get_asset_attribute_value( + asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 + ), + state=self.get_state(asset), + Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), + Heat_flow=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), + HeatIn=dict(Hydraulic_power=dict(nominal=q_nominals["Q_nominal"] * 16.0e5)), + HeatOut=dict(Hydraulic_power=dict(nominal=q_nominals["Q_nominal"] * 16.0e5)), + id_mapping_carrier=id_mapping, + density=density, + internal_energy=internal_energy, + GasIn=dict(Q=dict(min=0.0, nominal=q_nominals["Q_nominal_gas"])), + **q_nominals, + **self._supply_return_temperature_modifiers(asset), + **self._rho_cp_modifiers, + **self._get_cost_figure_modifiers(asset), + ) + + return GasBoiler, modifiers + + def convert_elec_boiler(self, asset: Asset) -> Tuple[ElecBoiler, MODIFIERS]: + """ + This function converts the ElectricBoiler object in esdl to a set of modifiers that can be + used in a pycml object. + + Parameters + ---------- + asset : The asset object with its properties. + + Returns + ------- + GasBoiler class with modifiers + """ + assert asset.asset_type in {"ElectricBoiler"} + + max_supply = asset.attributes["power"] + + if not max_supply: + logger.error(f"{asset.asset_type} '{asset.name}' has no max power specified. ") + assert max_supply > 0.0 + + if len(asset.in_ports) == 1: + heat_source_object, modifiers = self.convert_heat_source(asset) + return heat_source_object, modifiers + + id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ + "id_number_mapping" + ] + + # TODO: CO2 coefficient + + q_nominal = self._get_connected_q_nominal(asset) + for port in asset.in_ports: + if isinstance(port.carrier, esdl.ElectricityCommodity): + min_voltage = port.carrier.voltage + i_max, i_nom = self._get_connected_i_nominal_and_max(asset) + eff = asset.attributes["efficiency"] if asset.attributes["efficiency"] else 1.0 + + modifiers = dict( + technical_life=self.get_asset_attribute_value( + asset, + "technicalLifetime", + default_value=30.0, + min_value=1.0, + max_value=50.0, + ), + discount_rate=self.get_asset_attribute_value( + asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 + ), + state=self.get_state(asset), + Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), + Heat_flow=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), + HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal["Q_nominal"] * 16.0e5)), + HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal["Q_nominal"] * 16.0e5)), + id_mapping_carrier=id_mapping, + ElectricityIn=dict( + Power=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), + I=dict(min=0.0, max=i_max, nominal=i_nom), + V=dict(min=min_voltage, nominal=min_voltage), + ), + min_voltage=min_voltage, + elec_power_nominal=max_supply, + efficiency=eff, + **q_nominal, + **self._supply_return_temperature_modifiers(asset), + **self._rho_cp_modifiers, + **self._get_cost_figure_modifiers(asset), + ) + + return ElecBoiler, modifiers + + def convert_air_water_heat_pump_elec( + self, asset: Asset + ) -> Tuple[AirWaterHeatPumpElec, MODIFIERS]: + """ + This function converts the ElectricBoiler object in esdl to a set of modifiers that can be + used in a pycml object. + + Parameters + ---------- + asset : The asset object with its properties. + + Returns + ------- + AirWaterHeatPumpElec class with modifiers + """ + assert asset.asset_type in {"HeatPump"} + + max_supply = asset.attributes["power"] + + if not max_supply: + logger.error(f"{asset.asset_type} '{asset.name}' has no max power specified. ") + assert max_supply > 0.0 + + id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ + "id_number_mapping" + ] + + # TODO: CO2 coefficient + + q_nominal = self._get_connected_q_nominal(asset) + for port in asset.in_ports: + if isinstance(port.carrier, esdl.ElectricityCommodity): + min_voltage = port.carrier.voltage + i_max, i_nom = self._get_connected_i_nominal_and_max(asset) + cop = asset.attributes["COP"] if asset.attributes["COP"] else 1.0 + + modifiers = dict( + technical_life=self.get_asset_attribute_value( + asset, + "technicalLifetime", + default_value=30.0, + min_value=1.0, + max_value=50.0, + ), + discount_rate=self.get_asset_attribute_value( + asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 + ), + state=self.get_state(asset), + Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), + Heat_flow=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), + HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal["Q_nominal"] * 16.0e5)), + HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal["Q_nominal"] * 16.0e5)), + id_mapping_carrier=id_mapping, + ElectricityIn=dict( + Power=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), + I=dict(min=0.0, max=i_max, nominal=i_nom), + V=dict(min=min_voltage, nominal=min_voltage), + ), + min_voltage=min_voltage, + elec_power_nominal=max_supply, + cop=cop, + **q_nominal, + **self._supply_return_temperature_modifiers(asset), + **self._rho_cp_modifiers, + **self._get_cost_figure_modifiers(asset), + ) + + return AirWaterHeatPumpElec, modifiers + class ESDLHeatModel(_ESDLModelBase): """ diff --git a/src/mesido/esdl/esdl_model_base.py b/src/mesido/esdl/esdl_model_base.py index 7f2d58fb8..14bb611c9 100644 --- a/src/mesido/esdl/esdl_model_base.py +++ b/src/mesido/esdl/esdl_model_base.py @@ -2,7 +2,7 @@ from typing import Dict import esdl -from esdl import InPort +from esdl import InPort, OutPort from mesido.esdl.asset_to_component_base import _AssetToComponentBase from mesido.pycml import Model as _Model @@ -192,20 +192,24 @@ def _esdl_convert(self, converter: _AssetToComponentBase, assets: Dict, prefix: f"milp(4) and electricity (1) ports" ) elif ( - len(asset.in_ports) == 1 + asset.asset_type == "HeatPump" and len(asset.out_ports) == 1 - and asset.asset_type == "HeatPump" + and len(asset.in_ports) in [1, 2] ): for p in [*asset.in_ports, *asset.out_ports]: - if isinstance(p.carrier, esdl.HeatCommodity): - if isinstance(p, InPort): - port_map[p.id] = getattr(component, in_suf) - else: # OutPort - port_map[p.id] = getattr(component, out_suf) + + if isinstance(p, InPort) and isinstance( + p.carrier, esdl.ElectricityCommodity + ): + port_map[p.id] = getattr(component, elec_in_suf) + elif isinstance(p, InPort) and isinstance(p.carrier, esdl.HeatCommodity): + port_map[p.id] = getattr(component, in_suf) + elif isinstance(p, OutPort): # OutPort + port_map[p.id] = getattr(component, out_suf) else: raise Exception( - f"{asset.name} has does not have 1 Heat in_ports and 1 Heat " - f"out_ports " + f"{asset.name} has does not have (1 electricity in_port) 1 heat " + f"in port and 1 Heat out_ports " ) else: raise Exception( @@ -214,6 +218,42 @@ def _esdl_convert(self, converter: _AssetToComponentBase, assets: Dict, prefix: f"when modelling a water-water HP, or 3 in ports and 2 out ports when the " f"electricity connection of the water-water HP is modelled." ) + elif ( + asset.asset_type == "GasHeater" + and len(asset.out_ports) == 1 + and len(asset.in_ports) == 2 + ): + for p in [*asset.in_ports, *asset.out_ports]: + + if isinstance(p, InPort) and isinstance(p.carrier, esdl.GasCommodity): + port_map[p.id] = getattr(component, gas_in_suf) + elif isinstance(p, InPort) and isinstance(p.carrier, esdl.HeatCommodity): + port_map[p.id] = getattr(component, in_suf) + elif isinstance(p, OutPort): # OutPort + port_map[p.id] = getattr(component, out_suf) + else: + raise Exception( + f"{asset.name} has does not have 1 Heat in_port 1 gas in port and 1" + f"Heat out_ports " + ) + elif ( + asset.asset_type == "ElectricBoiler" + and len(asset.out_ports) == 1 + and len(asset.in_ports) == 2 + ): + for p in [*asset.in_ports, *asset.out_ports]: + + if isinstance(p, InPort) and isinstance(p.carrier, esdl.ElectricityCommodity): + port_map[p.id] = getattr(component, elec_in_suf) + elif isinstance(p, InPort) and isinstance(p.carrier, esdl.HeatCommodity): + port_map[p.id] = getattr(component, in_suf) + elif isinstance(p, OutPort): # OutPort + port_map[p.id] = getattr(component, out_suf) + else: + raise Exception( + f"{asset.name} has does not have 1 electricity in_port 1 gas in port " + f"and 1 Heat out_ports " + ) elif asset.asset_type == "Electrolyzer": if len(asset.out_ports) == 1 and len(asset.in_ports) == 1: if isinstance(asset.out_ports[0].carrier, esdl.GasCommodity): diff --git a/src/mesido/pycml/component_library/milp/__init__.py b/src/mesido/pycml/component_library/milp/__init__.py index 7b8c856cb..0b562377d 100644 --- a/src/mesido/pycml/component_library/milp/__init__.py +++ b/src/mesido/pycml/component_library/milp/__init__.py @@ -33,11 +33,15 @@ from .heat.low_temperature_ates import LowTemperatureATES from .heat.node import Node from .heat.pump import Pump +from .multicommodity.airwater_heat_pump_elec import AirWaterHeatPumpElec +from .multicommodity.electro_boiler import ElecBoiler from .multicommodity.electrolyzer import Electrolyzer +from .multicommodity.gas_boiler import GasBoiler __all__ = [ "Airco", "AirWaterHeatPump", + "AirWaterHeatPumpElec", "ATES", "HeatBuffer", "CheckValve", @@ -45,12 +49,14 @@ "Compressor", "ControlValve", "HeatDemand", + "ElecBoiler", "ElectricityCable", "ElectricityDemand", "ElectricityNode", "ElectricitySource", "ElectricityStorage", "Electrolyzer", + "GasBoiler", "GasDemand", "GasNode", "GasPipe", diff --git a/src/mesido/pycml/component_library/milp/multicommodity/__init__.py b/src/mesido/pycml/component_library/milp/multicommodity/__init__.py index f4f241c46..056357d2e 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/__init__.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/__init__.py @@ -1,5 +1,11 @@ +from .airwater_heat_pump_elec import AirWaterHeatPumpElec +from .electro_boiler import ElecBoiler from .electrolyzer import Electrolyzer +from .gas_boiler import GasBoiler __all__ = [ + "AirWaterHeatPumpElec", + "ElecBoiler", "Electrolyzer", + "GasBoiler", ] diff --git a/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py b/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py new file mode 100644 index 000000000..2e4b1044e --- /dev/null +++ b/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py @@ -0,0 +1,43 @@ +from mesido.pycml import Variable +from mesido.pycml.component_library.milp.electricity.electricity_base import ElectricityPort +from mesido.pycml.component_library.milp.heat.air_water_heat_pump import AirWaterHeatPump + +from numpy import nan + + +class AirWaterHeatPumpElec(AirWaterHeatPump): + """ + The air-water heat pump component is there to insert thermal power (Heat) into the network. + + The heat to discharge constraints are set in the HeatMixin. We enforce that the outgoing + temperature of the source matches the absolute thermal power, Q * cp * rho * T_sup == Heat, + similar as with the demands. This allows us to guarantee that the flow can always carry, as + the heat losses further downstream in the network are over-estimated with T_ret where in + reality this temperature drops. It also implicitly assumes that the temperature drops in the + network are small and thus satisfy minimum temperature requirements. + """ + + def __init__(self, name, **modifiers): + super().__init__( + name, + **modifiers, + ) + + self.component_subtype = "air_water_heat_pump_elec" + + self.id_mapping_carrier = -1 + + self.min_voltage = nan + self.elec_power_nominal = nan + self.cop = nan + + # Assumption: heat in/out and added is nonnegative + # Heat in the return (i.e. cold) line is zero + self.add_variable(ElectricityPort, "ElectricityIn") + self.add_variable(Variable, "Power_consumed", min=0.0, nominal=self.elec_power_nominal) + + self.add_equation( + ((self.ElectricityIn.Power - self.Power_consumed) / self.elec_power_nominal) + ) + + self.add_equation(((self.Power_consumed * self.cop - self.Heat_source) / self.Heat_nominal)) diff --git a/src/mesido/pycml/component_library/milp/multicommodity/electro_boiler.py b/src/mesido/pycml/component_library/milp/multicommodity/electro_boiler.py new file mode 100644 index 000000000..efc76a351 --- /dev/null +++ b/src/mesido/pycml/component_library/milp/multicommodity/electro_boiler.py @@ -0,0 +1,45 @@ +from mesido.pycml import Variable +from mesido.pycml.component_library.milp.electricity.electricity_base import ElectricityPort +from mesido.pycml.component_library.milp.heat.heat_source import HeatSource + +from numpy import nan + + +class ElecBoiler(HeatSource): + """ + The e-boiler component is there to insert thermal power (Heat) into the network. + + The heat to discharge constraints are set in the HeatMixin. We enforce that the outgoing + temperature of the source matches the absolute thermal power, Q * cp * rho * T_sup == Heat, + similar as with the demands. This allows us to guarantee that the flow can always carry, as + the heat losses further downstream in the network are over-estimated with T_ret where in + reality this temperature drops. It also implicitly assumes that the temperature drops in the + network are small and thus satisfy minimum temperature requirements. + """ + + def __init__(self, name, **modifiers): + super().__init__( + name, + **modifiers, + ) + + self.component_subtype = "elec_boiler" + + self.id_mapping_carrier = -1 + + self.min_voltage = nan + self.elec_power_nominal = nan + self.efficiency = nan + + # Assumption: heat in/out and added is nonnegative + # Heat in the return (i.e. cold) line is zero + self.add_variable(ElectricityPort, "ElectricityIn") + self.add_variable(Variable, "Power_consumed", min=0.0, nominal=self.elec_power_nominal) + + self.add_equation( + ((self.ElectricityIn.Power - self.Power_consumed) / self.elec_power_nominal) + ) + + self.add_equation( + ((self.Power_consumed * self.efficiency - self.Heat_source) / self.Heat_nominal) + ) diff --git a/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py b/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py new file mode 100644 index 000000000..9c24ef8f4 --- /dev/null +++ b/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py @@ -0,0 +1,51 @@ +from mesido.pycml import Variable +from mesido.pycml.component_library.milp.gas.gas_base import GasPort +from mesido.pycml.component_library.milp.heat.heat_source import HeatSource + +from numpy import nan + + +class GasBoiler(HeatSource): + """ + The source component is there to insert thermal power (Heat) into the network. + + The heat to discharge constraints are set in the HeatMixin. We enforce that the outgoing + temperature of the source matches the absolute thermal power, Q * cp * rho * T_sup == Heat, + similar as with the demands. This allows us to guarantee that the flow can always carry, as + the heat losses further downstream in the network are over-estimated with T_ret where in + reality this temperature drops. It also implicitly assumes that the temperature drops in the + network are small and thus satisfy minimum temperature requirements. + """ + + def __init__(self, name, **modifiers): + super().__init__( + name, + **modifiers, + ) + + self.Q_nominal_gas = nan + + self.component_subtype = "gas_boiler" + + self.internal_energy = nan + self.density = 2.5e3 # H2 density [g/m3] at 30bar + + self.id_mapping_carrier = -1 + + # Assumption: heat in/out and added is nonnegative + # Heat in the return (i.e. cold) line is zero + self.add_variable(GasPort, "GasIn") + self.add_variable( + Variable, "Gas_demand_mass_flow", min=0.0, nominal=self.Q_nominal_gas * self.density + ) + + self.add_equation( + ( + (self.GasIn.mass_flow - self.Gas_demand_mass_flow) + / (self.Q_nominal_gas * self.density) + ) + ) + + self.add_equation( + ((self.GasIn.mass_flow * self.internal_energy - self.Heat_source) / self.Heat_nominal) + ) diff --git a/tests/models/source_pipe_sink/model/sourcesink_withHP.esdl b/tests/models/source_pipe_sink/model/sourcesink_withHP.esdl new file mode 100644 index 000000000..d8c34a04e --- /dev/null +++ b/tests/models/source_pipe_sink/model/sourcesink_withHP.esdl @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/source_pipe_sink/model/sourcesink_witheboiler.esdl b/tests/models/source_pipe_sink/model/sourcesink_witheboiler.esdl new file mode 100644 index 000000000..d4f2b4f86 --- /dev/null +++ b/tests/models/source_pipe_sink/model/sourcesink_witheboiler.esdl @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/source_pipe_sink/model/sourcesink_withgasboiler.esdl b/tests/models/source_pipe_sink/model/sourcesink_withgasboiler.esdl new file mode 100644 index 000000000..337bec5e8 --- /dev/null +++ b/tests/models/source_pipe_sink/model/sourcesink_withgasboiler.esdl @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/source_pipe_sink/src/double_pipe_heat.py b/tests/models/source_pipe_sink/src/double_pipe_heat.py index ad259159a..4cc2b123b 100644 --- a/tests/models/source_pipe_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_sink/src/double_pipe_heat.py @@ -42,7 +42,10 @@ def __init__(self): self.function_nominal = 1e6 def function(self, optimization_problem, ensemble_member): - return optimization_problem.state("source.Heat_source") + sum = 0 + for source in optimization_problem.energy_system_components.get("heat_source", []): + sum = optimization_problem.state(f"{source}.Heat_source") + return sum class SourcePipeSink( @@ -89,8 +92,8 @@ def solver_options(self): if __name__ == "__main__": sol = run_optimization_problem( - HeatProblemHydraulic, - esdl_file_name="sourcesink.esdl", + SourcePipeSink, + esdl_file_name="sourcesink_witheboiler.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.csv", diff --git a/tests/test_elec_boiler.py b/tests/test_elec_boiler.py new file mode 100644 index 000000000..e49c506c4 --- /dev/null +++ b/tests/test_elec_boiler.py @@ -0,0 +1,90 @@ +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + +import numpy as np + +from rtctools.util import run_optimization_problem + +from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test + + +class TestElecBoiler(TestCase): + def test_elec_boiler(self): + """ + This tests checks the elec boiler for the standard checks and the energy conservation over + the commodity change. + + Checks: + 1. demand is matched + 2. energy conservation in the network + 3. heat to discharge + 4. energy conservation over the commodity + """ + import models.source_pipe_sink.src.double_pipe_heat as example + from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink + + base_folder = Path(example.__file__).resolve().parent.parent + + heat_problem = run_optimization_problem( + SourcePipeSink, + base_folder=base_folder, + esdl_file_name="sourcesink_witheboiler.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.csv", + ) + results = heat_problem.extract_results() + parameters = heat_problem.parameters(0) + + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + + np.testing.assert_array_less(0.0, results["ElectricBoiler_9aab.Heat_source"]) + np.testing.assert_array_less(0.0, results["ElectricityProducer_4dde.ElectricityOut.Power"]) + np.testing.assert_array_less( + parameters["ElectricBoiler_9aab.efficiency"] + * results["ElectricBoiler_9aab.Power_consumed"], + results["ElectricBoiler_9aab.Heat_source"] + 1.0e-6, + ) + + def test_air_water_hp_elec(self): + """ + This tests checks the air-water hp elec for the standard checks and the energy conservation + over the commodity change. + + Checks: + 1. demand is matched + 2. energy conservation in the network + 3. heat to discharge + 4. energy conservation over the commodity + """ + import models.source_pipe_sink.src.double_pipe_heat as example + from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink + + base_folder = Path(example.__file__).resolve().parent.parent + + heat_problem = run_optimization_problem( + SourcePipeSink, + base_folder=base_folder, + esdl_file_name="sourcesink_withHP.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.csv", + ) + results = heat_problem.extract_results() + parameters = heat_problem.parameters(0) + + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + + np.testing.assert_array_less(0.0, results["HeatPump_d8fd.Heat_source"]) + np.testing.assert_array_less(0.0, results["ElectricityProducer_4dde.ElectricityOut.Power"]) + np.testing.assert_array_less( + parameters["HeatPump_d8fd.cop"] * results["HeatPump_d8fd.Power_consumed"], + results["HeatPump_d8fd.Heat_source"] + 1.0e-6, + ) diff --git a/tests/test_gas_boiler.py b/tests/test_gas_boiler.py new file mode 100644 index 000000000..c83d39e2b --- /dev/null +++ b/tests/test_gas_boiler.py @@ -0,0 +1,53 @@ +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile + +import numpy as np + +from rtctools.util import run_optimization_problem + +from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test + + +class TestGasBoiler(TestCase): + def test_gas_boiler(self): + """ + This tests checks the gas boiler for the standard checks and the energy conservation over + the commodity change. + + Checks: + 1. demand is matched + 2. energy conservation in the network + 3. heat to discharge + 4. energy conservation over the commodity + + """ + import models.source_pipe_sink.src.double_pipe_heat as example + from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink + + base_folder = Path(example.__file__).resolve().parent.parent + + heat_problem = run_optimization_problem( + SourcePipeSink, + base_folder=base_folder, + esdl_file_name="sourcesink_withgasboiler.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.csv", + ) + results = heat_problem.extract_results() + parameters = heat_problem.parameters(0) + + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + + np.testing.assert_array_less(0.0, results["GasHeater_f713.Heat_source"]) + np.testing.assert_array_less(0.0, results["GasProducer_82ec.Gas_source_mass_flow"]) + np.testing.assert_array_less( + parameters["GasHeater_f713.internal_energy"] + * results["GasHeater_f713.GasIn.mass_flow"], + results["GasHeater_f713.Heat_source"] + 1.0e-6, + ) From 6b0bae56bd00b8574282e70b7b677b12348269e2 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 22 Apr 2024 13:25:30 +0200 Subject: [PATCH 099/376] profiles for the municipality example (#47) --- .../municipality/model/demand_profiles.csv | 8761 +++++++++++++++++ 1 file changed, 8761 insertions(+) create mode 100644 examples/municipality/model/demand_profiles.csv diff --git a/examples/municipality/model/demand_profiles.csv b/examples/municipality/model/demand_profiles.csv new file mode 100644 index 000000000..07c660222 --- /dev/null +++ b/examples/municipality/model/demand_profiles.csv @@ -0,0 +1,8761 @@ +time,HeatingDemand_2bbd,HeatingDemand_Artiestbuurt_2,HeatingDemand_Artiestenbuurt_1,HeatingDemand_DeStrijp_1,HeatingDemand_DeStrijp_2,HeatingDemand_DeStrijp_3,HeatingDemand_Hoekpolder,HeatingDemand_HuisTeLande,HeatingDemand_Kleurenbuurt,HeatingDemand_Ministerbuurt_1,HeatingDemand_Ministerbuurt_2,HeatingDemand_Muziekbuurt_1,HeatingDemand_Muziekbuurt_2,HeatingDemand_Muziekbuurt_3,HeatingDemand_Presidentenbuurt,HeatingDemand_Rembrandtkwartier_1,HeatingDemand_Rembrandtkwartier_2,HeatingDemand_Stationskwartier,HeatingDemand_Stervoorde_1,HeatingDemand_Stervoorde_2,HeatingDemand_Stervoorde_3,HeatingDemand_Stervoorde_4,HeatingDemand_Stervoorde_5,HeatingDemand_TeWerve_1,HeatingDemand_TeWerve_2,HeatingDemand_TeWerve_3,HeatingDemand_TeWerve_4,HeatingDemand_WelGelegen,HeatingDemand_fea2 +0.0,122727.26400000001,156420.903,456749.03676,27084.97495,27084.97495,27084.97495,137061.0185,272944.45376,749090.2848,18990.10134,28937.29728,212012.223,212012.223,212012.223,64234.7265,122727.26400000001,122727.26400000001,226169.61991,6227.01675,9255.9607,16144.1175,4581.8543,5827.2576500000005,170223.789,170223.789,170223.789,170223.789,368999.97376,368999.97376 +3600.0,124880.637,143905.122,420202.95624,9313.19378,9313.19378,9313.19378,7416.493,258965.89984,770030.7488,11608.262610000002,17688.781120000003,218545.704,218545.704,218545.704,71438.626,124880.637,124880.637,147536.99532,17544.308399999998,26078.20656,45485.244,12909.14544,16418.00712,176782.61700000003,176782.61700000003,176782.61700000003,176782.61700000003,375474.44857999997,375474.44857999997 +7200.0,123030.42,137805.41100000002,402391.80012,3729.3939100000002,3729.3939100000002,3729.3939100000002,2073.8655,244447.17511999997,744455.66592,13736.96919,20932.52448,209651.82300000003,209651.82300000003,209651.82300000003,159323.85,123030.42,123030.42,142664.84530999998,73645.47135,109468.08334000001,190932.70350000003,54188.519660000005,68917.61393,169643.484,169643.484,169643.484,169643.484,369911.4628,369911.4628 +10800.0,128790.96300000002,141681.177,413709.03684,4426.88609,4426.88609,4426.88609,1844.1499999999999,252353.19776,764783.35744,22108.95792,33689.84064,214145.22000000003,214145.22000000003,214145.22000000003,163804.5535,128790.96300000002,128790.96300000002,148075.89328999998,109218.34259999999,162344.30183999997,283158.66599999997,80363.12616,102206.79467999999,175189.35,175189.35,175189.35,175189.35,387231.49542,387231.49542 +14400.0,138459.888,149615.787,436878.09804,6916.134720000001,6916.134720000001,6916.134720000001,3342.2725,271177.08872,804263.9072000001,55128.13719000001,84004.78048000002,223974.70500000002,223974.70500000002,223974.70500000002,173022.85000000003,138459.888,138459.888,157623.18052,128237.5071,190614.76364,332467.61100000003,94357.47436000001,120004.97578000001,185846.63999999998,185846.63999999998,185846.63999999998,185846.63999999998,416302.72992,416302.72992 +18000.0,142061.079,150148.974,438435.0040799999,16291.74602,16291.74602,16291.74602,11271.011499999999,279237.41584,804529.8688,101165.60097000001,154157.10624000002,224715.645,224715.645,224715.645,174257.769,142061.079,142061.079,160059.59463,133119.94814999998,197872.12045999998,345125.7915,97949.98654,124573.97617,188445.723,188445.723,188445.723,188445.723,427130.31085999997,427130.31085999997 +21600.0,297167.868,193390.461,564700.14612,281594.00818999996,281594.00818999996,281594.00818999996,105160.0585,771925.7337600001,899898.3020800002,292147.70844,445177.46048,257317.79400000005,257317.79400000005,257317.79400000005,290182.2,297167.868,297167.868,362549.1324,179897.5494,267403.27096,466401.054,132369.06104,168348.57092,302760.72,302760.72,302760.72,302760.72,893484.72312,893484.72312 +25200.0,1059383.889,584351.7390000001,1706307.07788,2308904.4473,2308904.4473,2308904.4473,1785203.14,3118694.2966400003,4030326.20672,2607220.1089200005,3972906.8326400006,1227758.6339999998,1227758.6339999998,1227758.6339999998,2222537.4815,1059383.889,1059383.889,2996510.55327,1820419.6365,2705907.7065999997,4719606.465,1339469.2634,1703553.1907000002,1350643.098,1350643.098,1350643.098,1350643.098,3185214.22626,3185214.22626 +28800.0,1018804.977,1101269.625,3215707.3049999997,3178505.7388700005,3178505.7388700005,3178505.7388700005,2337415.4895,4049922.21304,3444546.9196800003,3141927.43725,4787698.952,1289040.78,1289040.78,1289040.78,2367038.0405,1018804.977,1018804.977,2139320.8476899997,2084240.7917999998,3098056.6831199997,5403587.238,1533589.52088,1950437.67924,1635809.205,1635809.205,1635809.205,1635809.205,3063206.9641799997,3063206.9641799997 +32400.0,1879519.293,2121205.272,6193919.39424,3105915.0910700005,3105915.0910700005,3105915.0910700005,3138075.9340000004,4259503.73552,7052591.25504,3464909.1460200003,5279861.5558400005,1950863.9249999998,1950863.9249999998,1950863.9249999998,1491018.6795,1879519.293,1879519.293,3216157.37547,2230876.9790999996,3316019.608439999,5783755.130999999,1641484.7895599997,2087660.1853799997,2483662.194,2483662.194,2483662.194,2483662.194,5651088.007619999,5651088.007619999 +36000.0,1443630.5459999999,1369029.873,3997567.2291599996,1845295.7941,1845295.7941,1845295.7941,2131221.764,2059339.82872,9168665.69472,1523997.27438,2322281.56096,1594811.9220000003,1594811.9220000003,1594811.9220000003,1133996.136,1443630.5459999999,1443630.5459999999,2852293.91057,2460361.26645,3657129.58618,6378714.3945,1810339.89482,2302412.1481100004,981645.372,981645.372,981645.372,981645.372,4340515.841639999,4340515.841639999 +39600.0,601486.1460000001,974397.915,2845241.9118,1017727.64324,1017727.64324,1017727.64324,961153.7145,1279084.8183199998,6286794.22976,1065971.4414300001,1624337.4345600002,688357.119,688357.119,688357.119,359088.4955,601486.1460000001,601486.1460000001,1544871.6345399998,1658479.1714999997,2465196.2005999996,4299760.8149999995,1220313.0694,1552008.9037,504494.75099999993,504494.75099999993,504494.75099999993,504494.75099999993,1808468.34564,1808468.34564 +43200.0,606958.8929999999,1500388.959,4381135.76028,1093351.1329400002,1093351.1329400002,1093351.1329400002,900605.6605000001,1448486.36408,4229334.223360001,1164991.4115,1775225.008,679464.933,679464.933,679464.933,850511.7984999999,606958.8929999999,606958.8929999999,1606979.1914799996,764615.0114999999,1136538.8565999998,1982335.2149999999,562605.6133999999,715528.6157,636144.483,636144.483,636144.483,636144.483,1824923.0716199998,1824923.0716199998 +46800.0,469563.75899999996,1081338.864,3157509.48288,609814.43292,609814.43292,609814.43292,812257.614,936295.4946399999,1840399.2953600003,788995.2701399999,1202278.50688,442405.431,442405.431,442405.431,709719.2969999999,469563.75899999996,469563.75899999996,1399331.7416,518557.16025,770793.6061,1344407.4525000001,381555.6389,485267.07095,442988.20499999996,442988.20499999996,442988.20499999996,442988.20499999996,1411821.7020599998,1411821.7020599998 +50400.0,383726.88,743226.1259999999,2170220.28792,391622.79112000007,391622.79112000007,391622.79112000007,616893.949,874237.42376,1818130.75328,707764.89525,1078498.888,420587.6549999999,420587.6549999999,420587.6549999999,540989.9844999999,383726.88,383726.88,1358365.3660199998,495129.74895,735970.6391799999,1283669.7195000001,364317.69182,463343.64161000005,418391.754,418391.754,418391.754,418391.754,1153738.8191999998,1153738.8191999998 +54000.0,706668.858,1456348.3229999999,4252537.1031599995,1570656.6507500003,1570656.6507500003,1570656.6507500003,1345042.9615,1958004.6275999998,2680599.7120000003,1340821.61577,2043156.7478400003,731145.6390000001,731145.6390000001,731145.6390000001,1199702.1224999998,706668.858,706668.858,1715706.2737099999,1134078.4768500002,1685716.6495400001,2940203.4585,834457.7434600001,1061273.43883,1117731.375,1117731.375,1117731.375,1117731.375,2124717.69972,2124717.69972 +57600.0,674398.446,1786537.2030000002,5216688.63276,1763782.70508,1763782.70508,1763782.70508,1131861.864,2473244.98152,2990962.61376,1329161.78325,2025389.3840000003,882896.166,882896.166,882896.166,1304637.796,674398.446,674398.446,1653831.9488600001,1115143.14735,1657570.80174,2891111.8635000004,820525.08126,1043553.71073,1314588.8699999999,1314588.8699999999,1314588.8699999999,1314588.8699999999,2027691.3276399998,2027691.3276399998 +61200.0,609493.323,1691544.051,4939308.62892,1524571.1941900002,1524571.1941900002,1524571.1941900002,974583.0325000002,2312949.51416,2992395.6838399996,1088135.20536,1658110.78912,746835.039,746835.039,746835.039,1103707.2129999998,609493.323,609493.323,1321546.6101499998,971851.9481999999,1444579.9328799997,2519616.162,715091.06312,909461.45276,948659.0279999999,948659.0279999999,948659.0279999999,948659.0279999999,1832543.25782,1832543.25782 +64800.0,1967228.7719999999,1629420.558,4757908.02936,3891764.0366,3891764.0366,3891764.0366,2786225.1865,3292331.3432799997,6355242.931840001,3316401.6431699996,5053564.40864,2152564.176,2152564.176,2152564.176,2776502.9494999996,1967228.7719999999,1967228.7719999999,3926976.1596,2661204.0186,3955666.2202399997,6899417.826,1958120.48776,2490361.29148,2309938.872,2309938.872,2309938.872,2309938.872,5914801.17448,5914801.17448 +68400.0,1430764.557,948713.085,2770242.2082,2375335.94375,2375335.94375,2375335.94375,1587136.236,2283179.24984,4409915.338880001,1871814.8962800002,2852289.3657600004,1473635.148,1473635.148,1473635.148,2056680.542,1430764.557,1430764.557,1679127.0221699998,1851969.7359,2752804.39756,4801403.019,1362683.90444,1733077.85162,1722051.3390000002,1722051.3390000002,1722051.3390000002,1722051.3390000002,4301832.10138,4301832.10138 +72000.0,928406.1780000001,767137.86,2240042.5512,1828464.38643,1828464.38643,1828464.38643,1319712.9015,1882264.84416,3564695.1731200004,1336999.6415999997,2037332.7872,978351.378,978351.378,978351.378,1439134.781,928406.1780000001,928406.1780000001,1084378.59335,1245038.6718,1850650.07512,3227878.038,916102.52888,1165110.26324,1118758.332,1118758.332,1118758.332,1118758.332,2791407.90852,2791407.90852 +75600.0,800822.868,768950.637,2245335.8600399997,1534740.43514,1534740.43514,1534740.43514,1134732.5395,1811668.0392,3470697.07584,1306585.50834,1990987.4412800001,893709.7740000001,893709.7740000001,893709.7740000001,1230405.3754999998,800822.868,800822.868,1086946.8014599998,1182888.0441,1758268.15444,3066746.7810000004,870371.94356,1106949.5523800002,1023494.8289999999,1023494.8289999999,1023494.8289999999,1023494.8289999999,2407807.42312,2407807.42312 +79200.0,543314.6849999999,578155.0109999999,1688212.63212,830696.96336,830696.96336,830696.96336,622749.8655,890323.6512,1885872.0486400002,685282.5107100001,1044240.01632,477416.55299999996,477416.55299999996,477416.55299999996,637224.1714999999,543314.6849999999,543314.6849999999,768067.7263999999,523025.4523499999,777435.3637399998,1355991.9134999998,384843.41925999994,489448.50972999993,637888.689,637888.689,637888.689,637888.689,1633566.1528999999,1633566.1528999999 +82800.0,57206.736000000004,48499.568999999996,141618.74148,36596.67484,36596.67484,36596.67484,32202.8945,88931.60759999999,469529.31584,79563.68678999999,121239.90367999999,107691.18000000002,107691.18000000002,107691.18000000002,57425.893000000004,57206.736000000004,57206.736000000004,89545.60549999999,37770.64425,56143.03169999999,97923.89249999999,27791.733299999996,35345.86214999999,72200.775,72200.775,72200.775,72200.775,172001.58624,172001.58624 +86400.0,52640.810999999994,49958.847,145879.83324,22954.315670000004,22954.315670000004,22954.315670000004,11271.011499999999,75635.90152,465857.32672,68773.04658000001,104797.02336,104661.20700000001,104661.20700000001,104661.20700000001,50212.981,52640.810999999994,52640.810999999994,95025.49900999998,30563.7948,45430.628319999996,79239.468,22488.91568,28601.67464,69553.506,69553.506,69553.506,69553.506,158273.37173999997,158273.37173999997 +90000.0,52988.568,59142.36000000001,172695.69120000003,28083.044770000004,28083.044770000004,28083.044770000004,6440.577499999999,93282.96824,475457.28384000005,68370.96357,104184.32544000002,106295.67899999999,106295.67899999999,106295.67899999999,49554.988,52988.568,52988.568,121936.03006,30011.536799999998,44609.74111999999,77807.688,22082.562879999998,28084.870239999997,70797.87,70797.87,70797.87,70797.87,159318.96112,159318.96112 +93600.0,52319.484000000004,61190.46,178676.1432,24891.244950000004,24891.244950000004,24891.244950000004,1610.1435,99103.95319999999,473920.27712,66188.72127,100859.00384,105455.997,105455.997,105455.997,47808.537000000004,52319.484000000004,52319.484000000004,133880.44332,29081.1708,43226.82672,75395.628,21397.99728,27214.23144,72167.37899999999,72167.37899999999,72167.37899999999,72167.37899999999,157307.24856,157307.24856 +97200.0,53735.643000000004,71275.91399999999,208125.66887999998,24753.55278,24753.55278,24753.55278,1610.1435,99295.32415999999,467606.3955200001,69104.96900999999,105302.80991999999,104188.00200000001,104188.00200000001,104188.00200000001,47542.7365,53735.643000000004,53735.643000000004,144574.79048999998,32537.173499999997,48363.897399999994,84355.635,23940.9326,30448.367299999998,73480.923,73480.923,73480.923,73480.923,161565.16662,161565.16662 +100800.0,60996.63,75996.945,221911.07940000002,27549.728250000004,27549.728250000004,27549.728250000004,3220.2905,114384.6052,475855.0675200001,82356.8613,125496.16960000001,106427.172,106427.172,106427.172,51328.3225,60996.63,60996.63,153080.22690999997,42215.2884,62749.63856,109447.04400000001,31062.11344,39505.17112,78826.27799999999,78826.27799999999,78826.27799999999,78826.27799999999,183396.5342,183396.5342 +104400.0,66410.583,76776.78,224188.19759999998,36915.832030000005,36915.832030000005,36915.832030000005,13480.383,162067.2708,477489.10208,109706.94881999999,167172.49344,164415.29099999997,164415.29099999997,164415.29099999997,71254.3335,66410.583,66410.583,154302.99143999998,46168.90245,68626.36858000001,119697.15450000002,33971.19242000001,43204.972910000004,99404.973,99404.973,99404.973,99404.973,199674.48622,199674.48622 +108000.0,204400.854,114412.641,334084.91172,164943.33119,164943.33119,164943.33119,98682.605,654925.632,607381.58144,295873.38207000005,450854.67744000006,233412.75,233412.75,233412.75,202839.2835,204400.854,204400.854,367958.99231,91569.38625000001,136110.5445,237402.11250000002,67376.9805,85690.85775000001,245684.91299999997,245684.91299999997,245684.91299999997,245684.91299999997,614565.23436,614565.23436 +111600.0,913491.6989999998,390901.81500000006,1141433.2998000002,1731107.9066600003,1731107.9066600003,1731107.9066600003,1179308.0565,2837844.1939999997,3372871.3184,2174953.08135,3314214.2192,913241.4209999999,913241.4209999999,913241.4209999999,1632808.0684999998,913491.6989999998,913491.6989999998,2295156.1560199996,1251456.2532,1860189.29488,3244516.212,920824.60112,1171115.85176,1262455.194,1262455.194,1262455.194,1262455.194,2746565.0416599996,2746565.0416599996 +115200.0,796037.823,1016888.433,2969314.22436,2004397.21416,2004397.21416,2004397.21416,1965484.1955,3578287.2528000004,2694054.9753600005,2512560.82224,3828664.1100800005,1264433.0729999999,1264433.0729999999,1264433.0729999999,1480100.7095,796037.823,796037.823,1969517.8765599998,1817970.7918499997,2702267.6955399998,4713257.6085,1337667.39746,1701261.55583,1354955.4899999998,1354955.4899999998,1354955.4899999998,1354955.4899999998,2393420.38782,2393420.38782 +118800.0,1815283.491,1938037.1489999997,5659068.475079999,1844969.4208000002,1844969.4208000002,1844969.4208000002,1999800.446,3901824.3098400002,6731760.400640001,3117630.64389,4750675.26688,1891385.256,1891385.256,1891385.256,1374297.666,1815283.491,1815283.491,2765633.6412899997,1732502.3094,2575225.65496,4491672.654,1274779.47704,1621279.93892,2225530.6289999997,2225530.6289999997,2225530.6289999997,2225530.6289999997,5457952.362939999,5457952.362939999 +122400.0,1215491.28,783444.918,2287659.1605599998,890380.6480800001,890380.6480800001,890380.6480800001,814472.0815000001,1812213.466,7605242.780800001,1263517.2774,1925359.6608000002,1432470.282,1432470.282,1432470.282,1130115.7665,1215491.28,1215491.28,2483527.6752,2095654.7083499997,3115022.5541399997,5433178.8735,1541987.9088599999,1961118.85053,878110.3049999999,878110.3049999999,878110.3049999999,878110.3049999999,3654577.1152,3654577.1152 +126000.0,641598.0719999999,545164.8300000001,1591881.3036,491970.73310000007,491970.73310000007,491970.73310000007,552029.1420000001,1199935.33336,5198028.39744,875685.89724,1334378.51008,551679.591,551679.591,551679.591,404399.331,641598.0719999999,641598.0719999999,1502028.2767100001,1150800.17355,1710572.10982,2983556.0055,846761.6091799999,1076921.64389,524091.75,524091.75,524091.75,524091.75,1929071.5364799998,1929071.5364799998 +129600.0,626713.281,1162909.887,3395696.87004,709185.85166,709185.85166,709185.85166,917312.676,1545659.72424,3271070.5964800003,1116091.96986,1700711.57312,648067.3559999999,648067.3559999999,648067.3559999999,939408.9075,626713.281,626713.281,1089863.56622,796668.31935,1184183.52654,2065436.3835000002,586190.5164600001,745524.18033,676240.308,676240.308,676240.308,676240.308,1884317.9315399998,1884317.9315399998 +133200.0,494850.57,676366.071,1974988.9273199998,573909.49121,573909.49121,573909.49121,867557.1415,1152966.73624,2135958.59712,736904.7585900001,1122902.48928,526816.2660000001,526816.2660000001,526816.2660000001,807454.4485,494850.57,494850.57,867613.08621,622128.40965,924743.95706,1612925.5065000001,457763.61994,582189.3018700001,493310.71199999994,493310.71199999994,493310.71199999994,493310.71199999994,1487850.7138,1487850.7138 +136800.0,436053.645,476845.761,1392389.62212,384269.51805,384269.51805,384269.51805,624539.5555,1080074.8404799998,2054128.5286400001,677008.79316,1031632.44672,505597.65,505597.65,505597.65,434918.5505,436053.645,436053.645,769088.7210499998,574846.06095,854462.5399799999,1490341.6395,422973.15102,537942.36321,464036.17499999993,464036.17499999993,464036.17499999993,464036.17499999993,1311067.9593,1311067.9593 +140400.0,781751.0759999999,1372226.31,4006900.8252,1580123.1695700001,1580123.1695700001,1580123.1695700001,1399324.381,2173078.03936,2960793.0809600004,1437874.3896300003,2191046.6889600004,799525.254,799525.254,799525.254,1312142.6534999998,781751.0759999999,781751.0759999999,1552712.7378099998,1245102.9290999998,1850745.5884399998,3228044.631,916149.80956,1165170.39538,1217478.525,1217478.525,1217478.525,1217478.525,2350464.90184,2350464.90184 +144000.0,753400.4100000001,1652036.9249999998,4823947.8209999995,1797572.887,1797572.887,1797572.887,1202950.3535,2587032.93728,3250864.8262400003,1453750.7058899999,2215239.17088,941998.71,941998.71,941998.71,1461746.9334999998,753400.4100000001,753400.4100000001,1636359.8980299998,1228139.65395,1825531.04118,3184065.7695,903668.18982,1149296.12061,1087014.816,1087014.816,1087014.816,1087014.816,2265223.8994,2265223.8994 +147600.0,680557.9890000001,1174905.213,3430723.2219599998,1386018.4552499999,1386018.4552499999,1386018.4552499999,1051645.826,2417907.14464,3202996.2208000007,1269757.90305,1934869.1856000002,832675.3500000001,832675.3500000001,832675.3500000001,1197151.7495000002,680557.9890000001,680557.9890000001,1311628.49116,1066995.00585,1586002.45314,2766283.3485000003,785097.55986,998496.5610300001,1016097.693,1016097.693,1016097.693,1016097.693,2046211.02026,2046211.02026 +151200.0,2070930.669,1696267.623,4953101.459159999,3600145.4881700003,3600145.4881700003,3600145.4881700003,2901577.7805,3370188.3486400004,6671649.815040001,3507985.35129,5345501.48768,2247890.913,2247890.913,2247890.913,2915631.551,2070930.669,2070930.669,4013883.9178099995,2781076.47345,4133847.0049799997,7210198.2645,2046322.93602,2602538.23071,2380503.897,2380503.897,2380503.897,2380503.897,6226598.21146,6226598.21146 +154800.0,1488189.1979999999,912881.082,2665612.75944,2244780.5350300004,2244780.5350300004,2244780.5350300004,1646582.0525,2436676.87544,4613518.654080001,2098650.3111,3197943.3312,1564360.386,1564360.386,1564360.386,2207262.0710000005,1488189.1979999999,1488189.1979999999,1314832.83139,1913990.7595499998,2844993.6722199996,4962198.2655,1408319.12678,1791117.27869,1791501.5999999999,1791501.5999999999,1791501.5999999999,1791501.5999999999,4474488.85532,4474488.85532 +158400.0,1033218.294,825742.632,2411168.48544,1630207.80406,1630207.80406,1630207.80406,1297377.4415,1901636.76656,3740142.8000000003,1507423.8732000003,2297026.8544000005,1089618.447,1089618.447,1089618.447,1520551.9070000001,1033218.294,1033218.294,1192440.2746099997,1303390.26585,1937385.0371400001,3379159.9485000004,959037.7758600002,1219715.8290300001,1175993.19,1175993.19,1175993.19,1175993.19,3106543.00396,3106543.00396 +162000.0,911277.966,830038.7519999999,2423713.1558399997,1356053.6663300002,1356053.6663300002,1356053.6663300002,1227992.787,1829279.5228,3701881.8329600007,1490027.48832,2270518.07744,1002053.8800000001,1002053.8800000001,1002053.8800000001,1362785.7635000001,911277.966,911277.966,1198146.3006499999,1300162.8087,1932587.6810799998,3370792.4669999997,956663.00492,1216695.56666,1131023.895,1131023.895,1131023.895,1131023.895,2739909.08444,2739909.08444 +165600.0,631819.395,622124.1359999999,1816602.47712,865144.6293600001,865144.6293600001,865144.6293600001,687500.6005,927866.13208,2137040.896,812279.90802,1237759.85984,539004.0179999999,539004.0179999999,539004.0179999999,710658.8439999999,631819.395,631819.395,838415.3953499999,595857.56625,885694.4565,1544815.9125,438433.4685,557604.98175,719301.867,719301.867,719301.867,719301.867,1899670.3143,1899670.3143 +169200.0,80087.724,76755.678,224126.57976,81524.63968000001,81524.63968000001,81524.63968000001,46266.899000000005,122185.55456,614396.06976,128015.13144000001,195070.67648000002,140519.697,140519.697,140519.697,83820.436,80087.724,80087.724,154223.43884999998,61599.93704999999,91563.36321999998,159703.5405,45325.38578,57645.37319,105938.20199999999,105938.20199999999,105938.20199999999,105938.20199999999,240797.09016,240797.09016 +172800.0,75788.244,79883.505,233259.83459999997,58199.16443,58199.16443,58199.16443,25535.531,136449.11216,609082.6912,117136.18917000001,178493.24064000003,137221.8,137221.8,137221.8,76657.4655,75788.244,75788.244,167467.09564,54467.959950000004,80962.25158,141213.22950000002,40077.65942,50971.251410000004,101410.46100000001,101410.46100000001,101410.46100000001,101410.46100000001,227869.98696,227869.98696 +176400.0,77876.526,82783.08600000001,241726.61112000002,54848.31715,54848.31715,54848.31715,21464.460499999997,141853.892,626085.75936,119313.08949,181810.42208000002,141010.77,141010.77,141010.77,78076.7505,77876.526,77876.526,178056.19039,54702.95715,81311.55606,141822.4815,40250.57094,51191.16237,105608.14500000002,105608.14500000002,105608.14500000002,105608.14500000002,234148.75483999998,234148.75483999998 +180000.0,82972.389,98925.59699999998,288862.7432399999,50675.346150000005,50675.346150000005,50675.346150000005,17119.788,156156.70608,634631.93408,143796.87147,219119.04224,142933.554,142933.554,142933.554,78618.80249999999,82972.389,82972.389,198667.77150999996,58731.78375,87300.0835,152267.58750000002,43214.991500000004,54961.34825,110629.263,110629.263,110629.263,110629.263,249470.31626,249470.31626 +183600.0,92258.082,104434.074,304947.49608,51713.78630000001,51713.78630000001,51713.78630000001,17512.747,192457.12991999998,642159.5449600001,172022.51724000002,262129.55008000002,145050.44400000002,145050.44400000002,145050.44400000002,80842.741,92258.082,92258.082,208635.56817999997,66417.408,98724.14719999999,172193.28,48870.0928,62153.574400000005,123693.90599999999,123693.90599999999,123693.90599999999,123693.90599999999,277389.29988,277389.29988 +187200.0,104013.342,107049.09900000002,312583.36908000003,54815.272820000006,54815.272820000006,54815.272820000006,21772.9225,259598.79816,647003.01632,200305.32123,305227.15616,236454.31200000003,236454.31200000003,236454.31200000003,121964.95499999999,104013.342,104013.342,209671.03612,68117.2254,101250.78936,176600.21399999998,50120.82264,63744.267719999996,179145.978,179145.978,179145.978,179145.978,312733.44828,312733.44828 +190800.0,134043.483,117732.198,343778.01816,65387.28911,65387.28911,65387.28911,34474.1355,339229.61592,655938.6515200001,236986.08969,361121.66048,275952.615,275952.615,275952.615,143839.20949999997,134043.483,134043.483,220455.69103999998,73342.36529999999,109017.54051999998,190146.873,53965.49348,68633.96654,214725.375,214725.375,214725.375,214725.375,403024.07222,403024.07222 +194400.0,302599.18799999997,180081.60600000003,525838.28952,200159.65739,200159.65739,200159.65739,125847.96350000001,828079.37192,768484.45056,451826.51829000004,688497.5516800001,332842.95599999995,332842.95599999995,332842.95599999995,257163.172,302599.18799999997,302599.18799999997,441204.7968899999,126355.46805,187817.26361999998,327588.2505,92972.66538,118243.75899,368720.598,368720.598,368720.598,368720.598,909814.8919199998,909814.8919199998 +198000.0,1056093.621,517733.32499999995,1511781.309,1762315.93406,1762315.93406,1762315.93406,1328253.122,3078318.94856,3848083.1168,2536636.1214599996,3865350.28032,1089682.926,1089682.926,1089682.926,1810832.0299999998,1056093.621,1056093.621,2475957.9232699997,1457157.5554499999,2165947.77378,3777815.8845,1072180.12722,1363611.63831,1435725.6749999998,1435725.6749999998,1435725.6749999998,1435725.6749999998,3175321.48714,3175321.48714 +201600.0,954119.772,1158144.315,3381781.3998,2198297.7203,2198297.7203,2198297.7203,2033224.529,3970277.6654399997,3084111.0918400004,2811302.04579,4283888.83168,1385500.989,1385500.989,1385500.989,1696840.25,954119.772,954119.772,2129382.41607,1995450.19965,2966076.59306,5173389.4065000005,1468257.1839400001,1867347.22387,1549500.231,1549500.231,1549500.231,1549500.231,2868720.11448,2868720.11448 +205200.0,1963787.31,2108508.1799999997,6156843.8856,1914589.1843100002,1914589.1843100002,1914589.1843100002,2253883.2225,4233304.823919999,7291042.144000001,3475573.5735000004,5296112.112000001,1975258.5240000002,1975258.5240000002,1975258.5240000002,1576454.803,1963787.31,1963787.31,2878964.3697099998,1933866.1305,2874536.8162,5013727.005,1422943.4738,1809716.6999000001,2324397.882,2324397.882,2324397.882,2324397.882,5904453.8454,5904453.8454 +208800.0,1447897.8,882752.946,2577638.60232,945429.27435,945429.27435,945429.27435,971182.3065000002,2162274.5766399996,7956876.993280001,1504950.92769,2293258.5564800003,1571374.548,1571374.548,1571374.548,1392388.3994999998,1447897.8,1447897.8,2753501.9314399995,2258092.6389,3356473.50276,5854314.249,1661510.13924,2113128.66702,1044060.936,1044060.936,1044060.936,1044060.936,4353346.052,4353346.052 +212400.0,598774.527,483452.39100000006,1411680.98172,384287.89003,384287.89003,384287.89003,454623.68700000003,1160130.1503199998,4798910.709760001,724061.7885900001,1103332.24928,493942.092,493942.092,493942.092,348567.53750000003,598774.527,598774.527,968776.9196299998,1105213.52745,1642811.2185799999,2865368.4044999997,813218.84242,1034261.54791,455500.10399999993,455500.10399999993,455500.10399999993,455500.10399999993,1800315.4111799998,1800315.4111799998 +216000.0,688537.413,1168960.3260000001,3413364.15192,699093.37091,699093.37091,699093.37091,939080.7300000001,1637849.0240000002,3155665.8816000004,1178505.6549,1795818.1408000002,679261.008,679261.008,679261.008,986539.6799999999,688537.413,688537.413,1072396.3302,824967.7226999999,1226248.3186799998,2138805.207,607013.28732,772006.83186,718906.05,718906.05,718906.05,718906.05,2070202.4884199998,2070202.4884199998 +219600.0,571312.926,731800.38,2136857.1096,582468.6482999999,582468.6482999999,582468.6482999999,923862.9505,1305142.9508800001,2279640.2688,860581.70961,1311362.60512,587004.1259999999,587004.1259999999,587004.1259999999,867037.8885,571312.926,571312.926,840522.69002,688357.8976499999,1023188.77626,1784631.5865,506495.44074,644167.02027,565581.09,565581.09,565581.09,565581.09,1717747.53084,1717747.53084 +223200.0,459137.53199999995,446718.23699999996,1304417.25204,330906.29506000003,330906.29506000003,330906.29506000003,598836.0945,1056373.2939199999,1925566.09664,683959.4529599999,1042223.92832,496120.1760000001,496120.1760000001,496120.1760000001,407261.274,459137.53199999995,459137.53199999995,696060.17936,549840.9195,817294.4038,1425513.495,404574.3062,514542.4901,465464.39100000006,465464.39100000006,465464.39100000006,465464.39100000006,1380473.5128799998,1380473.5128799998 +226800.0,848753.793,1378764.354,4025991.91368,1607415.4174100002,1607415.4174100002,1607415.4174100002,1460967.1545000002,2228731.2012000005,3044045.9923199997,1555618.90281,2370466.8995200004,843390.5280000002,843390.5280000002,843390.5280000002,1378135.7799999998,848753.793,848753.793,1572979.3409199996,1300921.7544,1933715.79296,3372760.1040000003,957221.4390400001,1217405.7899200001,1265362.224,1265362.224,1265362.224,1265362.224,2551919.73762,2551919.73762 +230400.0,871408.1939999999,1570191.483,4584959.13036,1825518.40647,1825518.40647,1825518.40647,1270462.4135,2772640.3896,3471252.3366400003,1692415.2157500002,2578918.424,1063341.021,1063341.021,1063341.021,1585097.1919999998,871408.1939999999,871408.1939999999,1689231.2160099999,1363058.8550999998,2026077.6068399996,3533856.2909999997,1002942.0711599999,1275553.84218,1152575.733,1152575.733,1152575.733,1152575.733,2620033.96996,2620033.96996 +234000.0,841245.108,1302758.556,3804054.9835200002,1408377.58633,1408377.58633,1408377.58633,1151596.005,2554358.33,3532191.35808,1511601.9342899998,2303393.42368,972719.8439999999,972719.8439999999,972719.8439999999,1345503.495,841245.108,841245.108,1426141.10392,1214808.14745,1805714.8265799999,3149502.6045000004,893858.8344200001,1136820.4639100002,1147989.102,1147989.102,1147989.102,1147989.102,2529343.62472,2529343.62472 +237600.0,2162977.0829999996,1762678.758,5147021.97336,3634164.6401500003,3634164.6401500003,3634164.6401500003,2989813.1234999998,3548437.7046399997,6944689.736320001,3642458.89308,5550413.55136,2324028.309,2324028.309,2324028.309,3017765.4115,2162977.0829999996,2162977.0829999996,4103222.78951,2876819.652,4276161.556799999,7458421.319999999,2116771.0031999997,2692134.9336,2481964.164,2481964.164,2481964.164,2481964.164,6503351.096219999,6503351.096219999 +241200.0,1627908.507,990609.1410000001,2892578.69172,2390993.6204,2390993.6204,2390993.6204,1807807.3510000003,2678509.42416,5054589.219200001,2386835.66142,3637082.9126399998,1693338.354,1693338.354,1693338.354,2369358.7995,1627908.507,1627908.507,1553479.09587,2084312.4929999998,3098163.2611999996,5403773.13,1533642.2788,1950504.7774,1927932.645,1927932.645,1927932.645,1927932.645,4894578.24438,4894578.24438 +244800.0,1168335.867,896977.5210000002,2619174.36132,1703146.5752400002,1703146.5752400002,1703146.5752400002,1434730.8325,2040454.51264,4082528.327040001,1687976.53752,2572154.72384,1201341.774,1201341.774,1201341.774,1688185.429,1168335.867,1168335.867,1307961.73196,1438911.8477999999,2138826.9935199996,3730512.198,1058754.89048,1346537.26004,1310920.482,1310920.482,1310920.482,1310920.482,3512796.50678,3512796.50678 +248400.0,1027136.088,903540.6599999999,2638338.7271999996,1418312.04933,1418312.04933,1418312.04933,1270523.758,1997245.0768000002,3996638.94144,1665253.1553,2537528.6176,1106444.625,1106444.625,1106444.625,1498065.7475,1027136.088,1027136.088,1314146.0211099999,1421211.7115999998,2112517.1614399995,3684622.9559999993,1045731.0865599999,1329973.4288799998,1243431.222,1243431.222,1243431.222,1243431.222,3088255.83792,3088255.83792 +252000.0,714252.342,684728.652,1999407.66384,907498.8686500001,907498.8686500001,907498.8686500001,692989.5735,1028076.97552,2376591.80736,925403.3331899999,1410138.41248,596199.027,596199.027,596199.027,780108.343,714252.342,714252.342,955138.1502,662008.0630499999,984021.8616199999,1716317.2004999998,487107.16737999994,619508.77999,793311.423,793311.423,793311.423,793311.423,2147518.70828,2147518.70828 +255600.0,102253.296,99961.73399999998,291888.26327999996,102135.40458,102135.40458,102135.40458,54155.1955,182221.60136,752306.3475200001,164524.6281,250704.19520000002,172076.835,172076.835,172076.835,105626.549,102253.296,102253.296,209099.24255999998,78469.49925000001,116638.6137,203439.4425,57738.05130000001,73431.95115000001,133652.619,133652.619,133652.619,133652.619,307441.57664,307441.57664 +259200.0,97266.69,97157.76,283700.6592,77589.97125,77589.97125,77589.97125,33009.9315,171480.31712,734849.9750399999,173844.48501000003,264905.8819200001,167162.84399999998,167162.84399999998,167162.84399999998,96947.84400000001,97266.69,97266.69,209683.55654999998,70153.99874999998,104278.28949999998,181880.7375,51619.485499999995,65650.28525,131110.38299999997,131110.38299999997,131110.38299999997,131110.38299999997,292448.5146,292448.5146 +262800.0,100512.864,107449.422,313752.31224,72712.09253000001,72712.09253000001,72712.09253000001,28421.449,192246.21831999999,736634.6105600001,199674.63915,304266.1168,167123.50199999998,167123.50199999998,167123.50199999998,97106.8735,100512.864,100512.864,219452.76755999998,69469.61759999998,103261.01183999998,180106.41599999997,51115.91615999999,65009.83968,135528.09,135528.09,135528.09,135528.09,302208.67776,302208.67776 +266400.0,117715.488,126643.00200000001,369797.56584,71329.43213,71329.43213,71329.43213,27154.995000000003,254826.50199999998,772887.8803200001,227690.48421000002,346956.92832,175349.331,175349.331,175349.331,100690.26800000001,117715.488,117715.488,251750.41203,85867.7031,127635.45004,222619.97100000002,63181.667960000006,80355.20858,153058.632,153058.632,153058.632,153058.632,353931.23391999997,353931.23391999997 +270000.0,131495.43300000002,126558.696,369551.39232,82294.78543000002,82294.78543000002,82294.78543000002,33425.329000000005,300765.91007999994,748642.3008000001,258082.08069000003,393267.93248,245528.61,245528.61,245528.61,128376.02049999998,131495.43300000002,131495.43300000002,243770.319,84351.8853,125382.30851999999,218690.073,62066.32548,78936.70254,212474.112,212474.112,212474.112,212474.112,395362.93522,395362.93522 +273600.0,164702.47499999998,139587.18,407594.5656,94196.71492,94196.71492,94196.71492,47838.686,378728.1172,753802.0972800001,289556.30718,441228.65856,306751.824,306751.824,306751.824,164241.37099999998,164702.47499999998,164702.47499999998,259696.64265999995,95174.21025,141468.8261,246747.9525,70029.4189,89064.26095,252176.71200000003,252176.71200000003,252176.71200000003,252176.71200000003,495205.44149999996,495205.44149999996 +277200.0,206191.509,183727.34399999998,536483.84448,109051.04276,109051.04276,109051.04276,60361.472499999996,448047.73167999997,777756.5171200001,317245.31097000005,483421.42624000006,339716.127,339716.127,339716.127,184954.3115,206191.509,206191.509,278639.5963,110017.44404999999,163532.10202,285230.4105,80951.10698,102954.59578999999,307168.50299999997,307168.50299999997,307168.50299999997,307168.50299999997,619949.13706,619949.13706 +280800.0,392325.204,232280.223,678258.25116,242073.24998999998,242073.24998999998,242073.24998999998,140228.8125,924938.3123199999,942257.0688,555322.971,846206.432,387030.08400000003,387030.08400000003,387030.08400000003,311983.014,392325.204,392325.204,494819.66872,174295.9863,259076.99692,451878.483,128247.41708,163106.61434,465196.704,465196.704,465196.704,465196.704,1179591.1133599998,1179591.1133599998 +284400.0,1143925.0829999999,597577.821,1744927.2373199998,1773025.6995000003,1773025.6995000003,1773025.6995000003,1408151.9445000002,3242634.2280800003,4149869.7824,2748077.49552,4187546.65984,1173202.902,1173202.902,1173202.902,1908850.2650000001,1143925.0829999999,1143925.0829999999,2575927.3423,1570747.7758499999,2334790.52114,4072309.0485,1155760.09186,1469909.64703,1515424.971,1515424.971,1515424.971,1515424.971,3439401.4162199995,3439401.4162199995 +288000.0,1036378.827,1196318.097,3493248.8432400003,2250403.1057200003,2250403.1057200003,2250403.1057200003,2051425.7015,4132244.5758399996,3260241.58016,3038734.9944,4630453.3248000005,1403607.33,1403607.33,1403607.33,1783936.3990000002,1036378.827,1036378.827,2174765.2566899997,2075987.31705,3085788.55522,5382189.3405,1527516.59378,1942714.05719,1589552.562,1589552.562,1589552.562,1589552.562,3116045.67318,3116045.67318 +291600.0,2027449.38,2160188.307,6307749.856439999,1916385.2671700001,1916385.2671700001,1916385.2671700001,2358323.2015,4311246.5268,7395208.28672,3623325.77544,5521258.32448,1977727.338,1977727.338,1977727.338,1639200.8150000002,2027449.38,2027449.38,2921993.76872,1997071.30125,2968486.2305,5177592.2625,1469449.9945,1868864.25475,2353744.272,2353744.272,2353744.272,2353744.272,6095864.469199999,6095864.469199999 +295200.0,1535570.025,921551.8290000001,2690931.3406800004,953135.44491,953135.44491,953135.44491,1047239.9174999999,2322346.55888,7962823.870719999,1589284.9494899998,2421767.54208,1601144.838,1601144.838,1601144.838,1489194.483,1535570.025,1535570.025,2756656.22362,2319648.41475,3447971.2239,6013903.2975,1706803.0311000003,2170732.71405,1102695.939,1102695.939,1102695.939,1102695.939,4616947.2085,4616947.2085 +298800.0,768511.629,613551.399,1791570.0850799999,534760.29552,534760.29552,534760.29552,633891.09,1550763.86672,5338874.73024,1004885.62965,1531254.2928000002,684352.782,684352.782,684352.782,589954.5085,768511.629,768511.629,1079815.6830499999,1369352.0083499998,2035431.8741399995,3550171.8734999998,1007572.5888599999,1281442.9905299998,659623.7550000001,659623.7550000001,659623.7550000001,659623.7550000001,2310658.29786,2310658.29786 +302400.0,796232.865,1215374.553,3548893.6947600003,763469.21618,763469.21618,763469.21618,1011189.8545000001,1813516.2240000002,3323022.5747200004,1354580.3392800002,2064122.4217600003,775743.831,775743.831,775743.831,1080332.2215,796232.865,796232.865,1117700.0126499997,931787.62695,1385027.5343799999,2415745.6995,685611.63662,871969.16201,828220.5120000001,828220.5120000001,828220.5120000001,828220.5120000001,2394006.8141,2394006.8141 +306000.0,654374.601,779179.26,2275203.4392,607674.44727,607674.44727,607674.44727,975831.7485,1389207.3973599998,2429269.3184,981139.02642,1495068.99264,645585.954,645585.954,645585.954,927040.058,654374.601,654374.601,881846.8285899999,759536.7165,1128990.3786,1969169.265,558868.9913999999,710776.3347,639703.6020000001,639703.6020000001,639703.6020000001,639703.6020000001,1967486.3003399998,1967486.3003399998 +309600.0,572874.258,507438.498,1481720.41416,399797.5652,399797.5652,399797.5652,704928.525,1236290.9335200002,2268788.2195200003,867803.0184599999,1322366.50432,598917.9450000001,598917.9450000001,598917.9450000001,509243.9065,572874.258,572874.258,822532.0490399998,682487.8073999999,1014463.35816,1769412.834,502176.21384,638673.77532,586538.172,586538.172,586538.172,586538.172,1722441.93572,1722441.93572 +313200.0,951400.008,1415373.291,4132890.00972,1641617.97173,1641617.97173,1641617.97173,1527353.247,2342485.7288,3153825.29024,1693756.0575600003,2580961.6115200003,930116.6969999999,930116.6969999999,930116.6969999999,1429554.8225,951400.008,951400.008,1634529.2889899998,1370871.7344,2037690.8249599999,3554111.904,1008690.80704,1282865.15392,1301407.077,1301407.077,1301407.077,1301407.077,2860542.69072,2860542.69072 +316800.0,927263.4029999999,1506839.0010000002,4399969.88292,1871626.77306,1871626.77306,1871626.77306,1270329.956,2790556.36496,3421257.2896000003,1784306.90277,2718943.85184,1077834.381,1077834.381,1077834.381,1633040.0135000001,927263.4029999999,927263.4029999999,1756003.4339899998,1389133.0062,2064834.74008,3601455.942,1022127.49592,1299954.0971600001,1179630.678,1179630.678,1179630.678,1179630.678,2787971.9650199995,2787971.9650199995 +320400.0,830014.4940000001,1301203.671,3799514.71932,1377491.35348,1377491.35348,1377491.35348,1118755.7045,2373945.0204,3318325.21088,1478409.4353,2252814.3776,916581.6270000001,916581.6270000001,916581.6270000001,1295481.957,830014.4940000001,830014.4940000001,1419375.9543599999,1165263.2055,1732070.2462,3021052.755,857403.5438,1090456.1849,1113443.598,1113443.598,1113443.598,1113443.598,2495576.91196,2495576.91196 +324000.0,2163856.3499999996,1757983.8930000002,5133312.967560001,3608993.7862000004,3608993.7862000004,3608993.7862000004,2962501.0765,3551050.5206399993,6814142.21568,3638436.7443899997,5544284.56288,2308663.245,2308663.245,2308663.245,3008300.2284999997,2163856.3499999996,2163856.3499999996,4096907.35571,2849955.20415,4236229.71086,7388772.7515,2097004.07614,2666995.1169700003,2473948.1429999997,2473948.1429999997,2473948.1429999997,2473948.1429999997,6505994.759,6505994.759 +327600.0,1612429.446,927741.249,2709004.44708,2360849.76369,2360849.76369,2360849.76369,1734094.6245000002,2596203.40752,4818737.7472,2362351.81182,3599774.1894400003,1639646.199,1639646.199,1639646.199,2306879.1935,1612429.446,1612429.446,1532028.49202,2025480.0464999997,3010713.5505999997,5251244.5649999995,1490353.2193999998,1895449.2286999999,1876940.2349999999,1876940.2349999999,1876940.2349999999,1876940.2349999999,4848037.86764,4848037.86764 +331200.0,1143857.469,854051.592,2493830.64864,1639834.1599200002,1639834.1599200002,1639834.1599200002,1362503.5165,1941202.7899200001,3867462.64896,1645227.68067,2507013.60864,1137586.917,1137586.917,1137586.917,1615740.686,1143857.469,1143857.469,1274813.11672,1383029.87895,2055762.9311799998,3585633.0195,1017636.79982,1294242.77561,1254861.666,1254861.666,1254861.666,1254861.666,3439198.12346,3439198.12346 +334800.0,995835.132,855583.959,2498305.16028,1320586.9944300002,1320586.9944300002,1320586.9944300002,1204232.7535,1893129.94224,3715176.2572800005,1606704.2817,2448311.2864,1044078.315,1044078.315,1044078.315,1414451.08,995835.132,995835.132,1272525.8847599996,1345355.6247,1999763.17548,3487959.0270000002,989915.9905200001,1258987.11546,1184971.9770000002,1184971.9770000002,1184971.9770000002,1184971.9770000002,2994144.29688,2994144.29688 +338400.0,700509.09,644439.621,1881763.6933199998,861501.91017,861501.91017,861501.91017,663023.739,974765.3675200001,2237202.3392000003,900005.99535,1371437.7072,561325.878,561325.878,561325.878,744636.7705000001,700509.09,700509.09,921928.0583499998,630935.49915,937834.9888599999,1635758.7015,464243.89814,590430.99797,760331.2050000001,760331.2050000001,760331.2050000001,760331.2050000001,2106197.3306,2106197.3306 +342000.0,103104.11399999997,97252.11000000002,283976.16120000003,103460.87333999999,103460.87333999999,103460.87333999999,55321.8155,172004.18847999998,709220.416,169090.80383999998,257662.17727999997,164163.624,164163.624,164163.624,103030.09850000001,103104.11399999997,103104.11399999997,198066.26657999997,76971.07214999999,114411.32205999998,199554.6315,56635.50493999999,72029.71936999999,132967.188,132967.188,132967.188,132967.188,309999.7027599999,309999.7027599999 +345600.0,98579.67,95076.78899999999,277624.22388,79405.32149,79405.32149,79405.32149,34322.9775,168860.93696,697834.08256,176040.85023,268252.72416000004,160504.062,160504.062,160504.062,95052.118,98579.67,98579.67,203430.92211,69173.0685,102820.2154,179337.585,50897.7146,64732.3283,130614.615,130614.615,130614.615,130614.615,296396.2078,296396.2078 +349200.0,101666.376,104018.28600000001,303733.39512,74759.35137,74759.35137,74759.35137,29795.7835,183516.69144,702999.0144,200449.50156,305446.85952,161184.387,161184.387,161184.387,96075.0,101666.376,101666.376,210552.99290999997,68188.1085,101356.15139999999,176783.985,50172.9786,63810.6003,135382.521,135382.521,135382.521,135382.521,305676.90384,305676.90384 +352800.0,112828.77899999998,116713.53600000001,340803.52512,74678.21999,74678.21999,74678.21999,28247.87,196260.93799999997,694158.6880000001,212954.66619000002,324502.34848000004,158130.084,158130.084,158130.084,93531.14050000001,112828.77899999998,112828.77899999998,229842.43008999998,79070.18715,117531.48805999999,204996.7815,58180.03894,73994.07637000001,138319.52399999998,138319.52399999998,138319.52399999998,138319.52399999998,339238.5288599999,339238.5288599999 +356400.0,121538.58599999998,119705.046,349538.73432,84744.98647999999,84744.98647999999,84744.98647999999,33760.902,217696.86239999998,686875.73568,240851.40828,367011.66976,164165.481,164165.481,164165.481,92265.446,121538.58599999998,121538.58599999998,228032.36936999997,80096.52195000001,119057.05238000001,207657.64950000003,58935.21862000001,74954.52301,178383.12,178383.12,178383.12,178383.12,365426.0152399999,365426.0152399999 +360000.0,142972.77599999998,127889.61000000002,373437.66120000003,88186.39126000002,88186.39126000002,88186.39126000002,44929.2865,282747.58288,673994.8057600001,260096.02164,396336.79488,232584.33299999998,232584.33299999998,232584.33299999998,143813.733,142972.77599999998,142972.77599999998,228640.63234999997,85562.46269999999,127181.73468,221828.607,62957.071319999995,80069.56386,219718.12199999997,219718.12199999997,219718.12199999997,219718.12199999997,429871.4798399999,429871.4798399999 +363600.0,176139.432,139624.74599999998,407704.25831999996,103731.64230000002,103731.64230000002,103731.64230000002,59588.781,355798.16312,678767.23072,284005.62771000003,432770.48032000003,278674.701,278674.701,278674.701,167126.58550000002,176139.432,176139.432,247190.23862,101873.60685000001,151426.94154,264116.75850000005,74958.85146,95333.57283,247140.135,247140.135,247140.135,247140.135,529592.55888,529592.55888 +367200.0,234726.47100000002,161398.22999999998,471282.8316,197880.04632000002,197880.04632000002,197880.04632000002,138579.28350000002,449221.30304,718967.98208,356385.74244,543063.98848,312945.29099999997,312945.29099999997,312945.29099999997,204235.045,234726.47100000002,234726.47100000002,274457.02232,138091.35960000003,205261.72464000003,358014.63600000006,101607.96336000001,129226.23528000002,319083.315,319083.315,319083.315,319083.315,705744.2561400001,705744.2561400001 +370800.0,990900.9899999999,1082237.499,3160133.49708,1034323.5037300001,1034323.5037300001,1034323.5037300001,1049233.4510000001,1526587.16608,1443477.53984,1255346.6079,1912909.1168000002,612152.079,612152.079,612152.079,1578952.963,990900.9899999999,990900.9899999999,2054584.0877899998,556625.5402500001,827379.1981000002,1443103.2525000004,409566.4469000001,520891.55495000014,1525209.9629999998,1525209.9629999998,1525209.9629999998,1525209.9629999998,2979308.9765999997,2979308.9765999997 +374400.0,1978343.928,1743310.293,5090466.055559999,2825237.0078900005,2825237.0078900005,2825237.0078900005,1860829.488,3031774.00256,3346869.5110400002,2930506.3540200004,4465533.49184,1210459.668,1210459.668,1210459.668,1974507.9340000004,1978343.928,1978343.928,3253545.5006599994,1553712.39855,2309468.7998200003,4028143.2555000004,1143225.4191800002,1453967.8988900003,2228156.856,2228156.856,2228156.856,2228156.856,5948220.74352,5948220.74352 +378000.0,2323128.615,2027998.122,5921754.51624,3044057.09839,3044057.09839,3044057.09839,2316542.1335,3956907.6161599997,9425644.288,2977991.9339099997,4537892.47072,2442406.734,2442406.734,2442406.734,2416614.2805,2323128.615,2323128.615,2411755.8470199998,3260940.43185,4847126.271539999,8454290.008499999,2399408.02146,3051596.1078299996,2100983.034,2100983.034,2100983.034,2100983.034,6984873.369100001,6984873.369100001 +381600.0,1651247.787,1409819.031,4116671.57052,2164200.89237,2164200.89237,2164200.89237,2658933.473,3235924.93824,6348382.2105600005,3217141.2501900005,4902310.476480001,2508980.499,2508980.499,2508980.499,2739909.5500000003,1651247.787,1651247.787,1957196.73929,3107839.7196,4619554.34864,8057362.2360000005,2286756.13936,2908324.0832800004,1897108.317,1897108.317,1897108.317,1897108.317,4964751.67958,4964751.67958 +385200.0,1241218.917,1047998.964,3060156.97488,1937390.0609800003,1937390.0609800003,1937390.0609800003,2227539.8109999998,3266498.5179200005,7021673.5916800015,2517789.5483999997,3836631.6928,1130910.408,1130910.408,1130910.408,2242353.8515000003,1241218.917,1241218.917,1195563.1863499999,2357467.1446499997,3504185.731059999,6111951.8565,1734630.1459399997,2206123.5748699997,1569310.599,1569310.599,1569310.599,1569310.599,3731931.5437799995,3731931.5437799995 +388800.0,1027368.5279999999,886283.2110000001,2587946.9761200002,1542979.8693100002,1542979.8693100002,1542979.8693100002,1492085.8505,2555929.2374400003,3794701.5500800004,1962631.4639400002,2990676.51648,1043024.0280000002,1043024.0280000002,1043024.0280000002,1494194.723,1027368.5279999999,1027368.5279999999,1092078.7059,1422795.861,2114871.8723999998,3688730.01,1046896.7076,1331455.8798,1175602.5359999998,1175602.5359999998,1175602.5359999998,1175602.5359999998,3088954.7075199997,3088954.7075199997 +392400.0,765231.438,643399.023,1878725.1471600002,842533.7118,842533.7118,842533.7118,934154.263,1747637.08784,2589107.0284800003,1264593.89889,1927000.22688,755610.63,755610.63,755610.63,1043607.9675,765231.438,765231.438,808796.4735499999,950375.1546,1412656.40264,2463935.586,699288.3853600001,889363.41628,871124.55,871124.55,871124.55,871124.55,2300795.8569199997,2300795.8569199997 +396000.0,689432.586,593371.8570000001,1732645.82244,754785.8956,754785.8956,754785.8956,795878.0059999999,1389962.30496,2408795.54112,1097087.6973,1671752.6816,691722.036,691722.036,691722.036,926272.4275,689432.586,689432.586,726996.1320699999,859375.1942999999,1277392.26412,2228009.763,632330.3898799999,804205.42874,790943.3189999999,790943.3189999999,790943.3189999999,790943.3189999999,2072893.9752399998,2072893.9752399998 +399600.0,919501.53,823044.1440000001,2403288.90048,1149552.9408,1149552.9408,1149552.9408,1056507.347,1832069.9098399999,3405587.6307200002,1521241.9139399999,2318082.9164799997,953577.915,953577.915,953577.915,1234189.8765,919501.53,919501.53,1196392.70933,1210212.5921999998,1798883.90248,3137588.202,890477.41352,1132519.93196,1071940.32,1071940.32,1071940.32,1071940.32,2764634.6001999998,2764634.6001999998 +403200.0,974146.2359999998,878424.213,2564998.7019599997,1243941.11259,1243941.11259,1243941.11259,1125749.478,1941713.69648,3642672.51392,1625062.73496,2476286.0723200003,1023167.202,1023167.202,1023167.202,1316638.869,974146.2359999998,974146.2359999998,1296688.9245699998,1294119.5121,1923604.8056399997,3355124.661,952216.3323599999,1211040.2347799998,1148529.117,1148529.117,1148529.117,1148529.117,2928933.0162399993,2928933.0162399993 +406800.0,980334.348,879419.418,2567904.70056,1271662.93672,1271662.93672,1271662.93672,1151216.7205,1957316.29016,3643526.811520001,1639387.3992300003,2498114.1321600005,1026397.3290000001,1026397.3290000001,1026397.3290000001,1323462.287,980334.348,980334.348,1298116.3257399998,1301203.6182000001,1934134.7608800002,3373490.8620000007,957428.8351200001,1217669.5587600002,1153462.644,1153462.644,1153462.644,1153462.644,2947538.60632,2947538.60632 +410400.0,998154.3,887290.521,2590888.3213199996,1336410.3119400002,1336410.3119400002,1336410.3119400002,1209523.6230000001,2003129.96304,3674073.7497600005,1677591.25506,2556329.53152,1040629.179,1040629.179,1040629.179,1347658.5115,998154.3,998154.3,1308889.4559,1324879.7035499997,1969327.3618199998,3434873.3055,974849.75718,1239825.69789,1170998.268,1170998.268,1170998.268,1170998.268,3001117.262,3001117.262 +414000.0,1007536.5630000001,895467.6089999999,2614765.41828,1346354.3313,1346354.3313,1346354.3313,1220286.4135,2025106.14,3709027.42528,1694620.25082,2582278.47744,1051789.2449999999,1051789.2449999999,1051789.2449999999,1360614.1605,1007536.5630000001,1007536.5630000001,1318389.2059,1336693.3065,1986887.3345999997,3465501.165,983542.2353999999,1250880.8967,1181565.291,1181565.291,1181565.291,1181565.291,3029326.59942,3029326.59942 +417600.0,1010750.196,900241.0859999999,2628703.9711199994,1335599.90575,1335599.90575,1335599.90575,1212494.542,2031230.6414400002,3729381.02208,1698781.6580700001,2588619.6694400003,1057275.768,1057275.768,1057275.768,1364377.5950000002,1010750.196,1010750.196,1323298.30633,1339712.2899,1991374.8111599998,3473328.159,985763.61084,1253706.06882,1185553.584,1185553.584,1185553.584,1185553.584,3038988.92264,3038988.92264 +421200.0,956123.76,800495.118,2337445.74456,1090330.58651,1090330.58651,1090330.58651,914107.299,1662856.52304,2611011.71072,1380251.09376,2103239.76192,830924.193,830924.193,830924.193,1072152.8265,956123.76,956123.76,1258795.59065,1051396.2323999999,1562816.1281599998,2725842.084,773619.94384,983899.19032,1024838.265,1024838.265,1024838.265,1024838.265,2874745.4384,2874745.4384 +424800.0,419172.14099999995,314222.982,917531.10744,558960.1614300001,558960.1614300001,558960.1614300001,386729.679,807132.13872,1010567.04,628210.48689,957273.12288,359475.552,359475.552,359475.552,473327.4945,419172.14099999995,419172.14099999995,722738.66158,221134.4793,328698.65812000004,573311.6130000001,162711.29588000002,206938.19174000004,554989.5630000001,554989.5630000001,554989.5630000001,554989.5630000001,1260310.9039399999,1260310.9039399999 +428400.0,134971.20299999998,101518.863,296435.07996,138544.15124,138544.15124,138544.15124,57769.81,291021.55472,731850.23936,259828.14018000002,395928.59456,201777.67500000002,201777.67500000002,201777.67500000002,109180.5435,134971.20299999998,134971.20299999998,216020.40446999998,84117.3579,125033.70236,218082.03900000002,61893.759640000004,78717.23122,152021.12699999998,152021.12699999998,152021.12699999998,152021.12699999998,405813.41701999994,405813.41701999994 +432000.0,132557.58299999998,109334.43599999999,319256.55312,116619.44789000001,116619.44789000001,116619.44789000001,37223.045999999995,295299.13864,737472.19648,251818.70091,383723.73472,201189.65099999995,201189.65099999995,201189.65099999995,105302.58899999999,132557.58299999998,132557.58299999998,215765.67168,78424.45515000001,116571.65926,203322.66150000002,57704.90774,73389.79877000001,148848.462,148848.462,148848.462,148848.462,398556.46621999994,398556.46621999994 +435600.0,141664.623,142631.92500000002,416485.221,112027.52737000003,112027.52737000003,112027.52737000003,40196.1595,308104.40152,749008.6304,256841.73669000002,391377.88448,199978.02,199978.02,199978.02,103429.4135,141664.623,141664.623,223316.07778999995,89749.20689999999,133404.99396,232683.129,66037.68804,83987.52941999999,151259.69400000002,151259.69400000002,151259.69400000002,151259.69400000002,425938.29981999996,425938.29981999996 +439200.0,146138.994,150784.104,440289.58368,106684.88314,106684.88314,106684.88314,40613.328,303200.37247999996,768637.0208,270192.74541,411722.27872,215948.22300000003,215948.22300000003,215948.22300000003,101174.55249999999,146138.994,146138.994,244267.24491,88608.9699,131710.12316,229726.95900000003,65198.698840000005,82920.49282000001,179864.811,179864.811,179864.811,179864.811,439391.24195999996,439391.24195999996 +442800.0,162033.273,158225.79,462019.3068,116301.72334000001,116301.72334000001,116301.72334000001,51576.9975,313509.83544,779425.81376,297283.58751,453003.56192,272068.485,272068.485,272068.485,109372.942,162033.273,162033.273,246425.56405999998,96314.72265,143164.10626,249704.8365,70868.61074,90131.55527,225955.461,225955.461,225955.461,225955.461,487180.04082,487180.04082 +446400.0,193164.12900000002,177462.822,518191.44023999997,123291.46808,123291.46808,123291.46808,58897.755000000005,373900.11328,790881.1808,318135.86637000006,484778.4630400001,316005.678,316005.678,316005.678,185064.1625,193164.12900000002,193164.12900000002,267912.44493,114023.26259999999,169486.42984,295615.866,83898.59816,106703.25068,268758.402,268758.402,268758.402,268758.402,580780.14786,580780.14786 +450000.0,239551.737,195449.592,570712.80864,136708.54460999998,136708.54460999998,136708.54460999998,68610.0205,465706.0696,832523.73888,360108.43596,548736.66432,342641.91000000003,342641.91000000003,342641.91000000003,203704.63749999998,239551.737,239551.737,281955.87003999995,130064.15429999998,193329.92811999997,337203.36299999995,95701.52587999999,121714.35673999999,324713.589,324713.589,324713.589,324713.589,720252.22258,720252.22258 +453600.0,300603.11100000003,212365.704,620107.85568,231252.45495,231252.45495,231252.45495,147769.4225,549990.6724,997319.7478400001,445166.3685,678348.752,378512.95200000005,378512.95200000005,378512.95200000005,236403.58349999998,300603.11100000003,300603.11100000003,321425.18121999997,180038.59874999998,267612.92949999997,466766.7375,132472.8455,168480.56524999999,383660.142,383660.142,383660.142,383660.142,903813.35374,903813.35374 +457200.0,1057957.983,1124888.253,3284673.69876,1063815.6150600002,1063815.6150600002,1063815.6150600002,1057808.332,1637250.58752,1657619.7452800001,1355291.15106,2065205.56352,670786.086,670786.086,670786.086,1615855.6295,1057957.983,1057957.983,2058587.6047099999,615553.8826499999,914971.4502599998,1595880.4364999998,452926.0667399999,576036.84327,1564258.0499999998,1564258.0499999998,1564258.0499999998,1564258.0499999998,3180927.0022199997,3180927.0022199997 +460800.0,2027436.3480000002,1790973.546,5229642.75432,2791157.8803900005,2791157.8803900005,2791157.8803900005,1869856.898,3134563.9243199993,3563474.7635200005,2989525.9014600003,4555468.040320001,1267316.499,1267316.499,1267316.499,1996139.3445000001,2027436.3480000002,2027436.3480000002,3263779.9252499994,1607972.9661,2390122.77924,4168818.8010000004,1183150.47876,1504745.07198,2242432.86,2242432.86,2242432.86,2242432.86,6095825.28632,6095825.28632 +464400.0,2403735.561,2115441.6689999998,6177089.673479999,3061710.14545,3061710.14545,3061710.14545,2433064.242,4044686.8048799997,9642145.27744,3129131.7046499997,4768200.6928,2514885.942,2514885.942,2514885.942,2526902.0804999997,2403735.561,2403735.561,2460917.28896,3347726.18085,4976126.32314,8679290.0985,2463265.1898600003,3132810.42603,2135657.484,2135657.484,2135657.484,2135657.484,7227231.58674,7227231.58674 +468000.0,1744250.4,1447718.085,4227336.8082,2214582.68163,2214582.68163,2214582.68163,2714038.9395000003,3380985.00776,6680045.16032,3345695.28888,5098202.34496,2533625.847,2533625.847,2533625.847,2792802.0155,1744250.4,1744250.4,2001656.6419199998,3200484.0001499997,4757262.637259999,8297551.1115,2354924.02974,2995020.82977,1950433.4819999998,1950433.4819999998,1950433.4819999998,1950433.4819999998,5244379.535999999,5244379.535999999 +471600.0,1270975.155,1057487.235,3087862.7262000004,1954347.8136600002,1954347.8136600002,1954347.8136600002,2324514.3145000003,3340096.2010399997,7189808.085120001,2653303.46253,4043129.08576,1156499.997,1156499.997,1156499.997,2252244.8479999998,1270975.155,1270975.155,1201075.30686,2434524.0201,3618724.59284,6311728.941000001,1791328.78516,2278233.58918,1582007.544,1582007.544,1582007.544,1582007.544,3821398.6327,3821398.6327 +475200.0,1050496.2719999999,889334.1630000001,2596855.75596,1558614.85164,1558614.85164,1558614.85164,1509563.7094999999,2673186.11816,3871280.8326400006,2010105.1523700003,3063017.3750400003,1068261.9899999998,1068261.9899999998,1068261.9899999998,1538029.9515,1050496.2719999999,1050496.2719999999,1095694.8158,1473647.9526000002,2190459.42584,3820568.7660000003,1084313.8021600002,1379043.39268,1172398.623,1172398.623,1172398.623,1172398.623,3158492.1244799998,3158492.1244799998 +478800.0,781986.2729999999,654695.388,1911710.53296,831643.7471100001,831643.7471100001,831643.7471100001,971854.5025000001,1847037.5144799997,2591734.5593600003,1336710.84141,2036892.71072,765761.733,765761.733,765761.733,1047579.876,781986.2729999999,781986.2729999999,805461.17145,971238.9402,1443668.74568,2518026.882,714640.01032,908887.79836,878640.096,878640.096,878640.096,878640.096,2351172.06082,2351172.06082 +482400.0,706294.131,596915.907,1742994.44844,735605.76419,735605.76419,735605.76419,797043.422,1426309.42544,2428177.00992,1137426.13782,1733220.78144,700756.002,700756.002,700756.002,934114.51,706294.131,706294.131,726688.6768699999,866147.49495,1287458.7455799999,2245567.5795,637313.46542,810542.96441,795066.486,795066.486,795066.486,795066.486,2123591.02054,2123591.02054 +486000.0,947730.633,840437.145,2454076.4634000002,1153862.9609100001,1153862.9609100001,1153862.9609100001,1072063.8285,1895178.54416,3480606.69952,1580947.41315,2409062.7248,980620.827,980620.827,980620.827,1256353.0385,947730.633,947730.633,1215971.0928299997,1236501.8509499999,1837960.7759799997,3205745.5395,909821.1150199999,1157121.48521,1096972.692,1096972.692,1096972.692,1096972.692,2849510.10322,2849510.10322 +489600.0,993486.804,885450.987,2585516.8820399996,1231614.5966300003,1231614.5966300003,1231614.5966300003,1129790.8020000001,1982823.96768,3674111.1225600005,1663813.4723699999,2535334.81504,1036378.212,1036378.212,1036378.212,1319768.6564999998,993486.804,993486.804,1301972.12275,1305934.79985,1941167.28274,3385756.8885000004,960910.05026,1222097.0102300001,1156822.161,1156822.161,1156822.161,1156822.161,2987083.6573599996,2987083.6573599996 +493200.0,1004554.2329999999,891280.923,2602540.2951599997,1264657.89692,1264657.89692,1264657.89692,1161033.307,2009119.3677599998,3696814.6252800003,1686755.8806,2570294.6752,1045983.0989999999,1045983.0989999999,1045983.0989999999,1334655.77,1004554.2329999999,1004554.2329999999,1309500.5182999999,1320248.8039499999,1962443.9011799998,3422867.2695,971442.32982,1235492.09061,1167786.531,1167786.531,1167786.531,1167786.531,3020359.7272199993,3020359.7272199993 +496800.0,1015478.0639999999,892617.39,2606442.7788,1321989.0239600001,1321989.0239600001,1321989.0239600001,1211625.4464999998,2038521.7062400002,3697544.6406400003,1712591.3815499998,2609663.0576,1051307.832,1051307.832,1051307.832,1348181.3975,1015478.0639999999,1015478.0639999999,1312446.31622,1334201.6088,1983183.62592,3459041.2080000006,981708.8380800001,1248549.15984,1176982.305,1176982.305,1176982.305,1176982.305,3053204.0457599997,3053204.0457599997 +500400.0,1020159.675,896392.557,2617466.2664400004,1327009.68235,1327009.68235,1327009.68235,1217204.2855,2049362.23544,3712443.1686400007,1721178.10725,2622747.5919999997,1056469.881,1056469.881,1056469.881,1354012.5304999999,1020159.675,1020159.675,1316660.3139299997,1339478.10675,1991026.7167,3472721.0175,985591.2983,1253486.91965,1181932.203,1181932.203,1181932.203,1181932.203,3067280.0895000002,3067280.0895000002 +504000.0,1018551.852,896657.2379999999,2618239.13496,1311190.29239,1311190.29239,1311190.29239,1204101.5385,2044124.8358399998,3712309.4860800006,1716692.0612100002,2615911.7123200004,1055846.967,1055846.967,1055846.967,1350499.2165,1018551.852,1018551.852,1316098.9628799998,1335802.58595,1985563.34998,3463191.8895,982886.8410199999,1250047.35821,1180161.054,1180161.054,1180161.054,1180161.054,3062445.9016799997,3062445.9016799997 +507600.0,968123.7839999999,795792.117,2323712.98164,1081265.8296000003,1081265.8296000003,1081265.8296000003,907565.5260000001,1679082.39072,2614686.7897600005,1399490.5341900003,2132557.0044800006,829363.1070000001,829363.1070000001,829363.1070000001,1060424.0465,968123.7839999999,968123.7839999999,1253032.34966,1048571.0739000001,1558616.75676,2718517.5990000004,771541.18524,981255.4000200001,1020481.4910000002,1020481.4910000002,1020481.4910000002,1020481.4910000002,2910825.5105599994,2910825.5105599994 +511200.0,429943.66500000004,317599.482,927390.48744,569442.4342199999,569442.4342199999,569442.4342199999,384837.621,831050.9741599999,1042966.66816,652521.51909,994318.50528,374879.01599999995,374879.01599999995,374879.01599999995,471238.83799999993,429943.66500000004,429943.66500000004,724034.389,227457.8901,338097.90084,589705.6410000001,167364.07716000002,212855.65518,558281.9820000001,558281.9820000001,558281.9820000001,558281.9820000001,1292697.2861000001,1292697.2861000001 +514800.0,146166.123,108136.749,315759.30708,153223.33070000002,153223.33070000002,153223.33070000002,60746.041999999994,320986.89256,778448.58304,283379.11875,431815.80000000005,219510.384,219510.384,219510.384,117157.19750000001,146166.123,146166.123,230185.69573999997,90844.1082,135032.47688,235521.762,66843.31912,85012.14076,162541.557,162541.557,162541.557,162541.557,439472.80981999997,439472.80981999997 +518400.0,152265.531,139816.629,408264.55668,139205.57100999999,139205.57100999999,139205.57100999999,43427.5345,354947.6664,839291.37088,290185.00896,442186.68032000004,232899.98100000003,232899.98100000003,232899.98100000003,118820.22249999997,152265.531,152265.531,241581.46597,92848.5747,138011.95548,240718.527,68318.21052000001,86887.92546,166854.663,166854.663,166854.663,166854.663,457811.6965399999,457811.6965399999 +522000.0,172250.988,184787.046,539578.17432,143892.19229,143892.19229,143892.19229,52208.1315,390429.57336,933208.9235200001,318112.45053,484742.78176,249427.035,249427.035,249427.035,124505.56999999999,172250.988,172250.988,277154.10475999996,109972.16505,163464.79841999998,285113.0205,80917.79058,102912.22359,189169.5,189169.5,189169.5,189169.5,517901.30392,517901.30392 +525600.0,189979.248,191711.526,559797.65592,149697.39609,149697.39609,149697.39609,63374.668,399219.84792,967294.32064,356035.49499,542530.27808,322620.47099999996,322620.47099999996,322620.47099999996,125582.65999999997,189979.248,189979.248,297386.09511,117786.7413,175080.53892,305373.033,86667.77508,110225.12334,256611.30000000002,256611.30000000002,256611.30000000002,256611.30000000002,571204.27232,571204.27232 +529200.0,223501.173,213701.80199999997,624009.2618399999,156758.69957,156758.69957,156758.69957,70908.5055,462688.1211199999,966604.3328000001,386221.27068,588527.65056,380629.533,380629.533,380629.533,209361.51249999998,223501.173,223501.173,319084.22636999993,140169.66975,208350.96589999998,363402.8475,103137.18909999999,131171.12305,313320.489,313320.489,313320.489,313320.489,671993.52682,671993.52682 +532800.0,268671.207,228507.50399999996,667241.9116799999,158906.19030000002,158906.19030000002,158906.19030000002,73354.561,559933.9439999999,983592.2342400001,424500.88506,646858.49152,411473.09099999996,411473.09099999996,411473.09099999996,239708.3115,268671.207,268671.207,325688.69307,155030.10795,230439.81478000002,401929.90950000007,114071.53622000001,145077.55781000003,375372.144,375372.144,375372.144,375372.144,807804.76238,807804.76238 +536400.0,317909.211,235323.465,687144.5178,165118.45515000002,165118.45515000002,165118.45515000002,77926.4465,574653.92096,1073709.90336,463944.31691999995,706962.7686399999,411675.4770000001,411675.4770000001,411675.4770000001,237265.3745,317909.211,317909.211,344792.39691,190941.8589,283819.75075999997,495034.44899999996,140495.49124,178683.86302,407958.63,407958.63,407958.63,407958.63,955847.0277399999,955847.0277399999 +540000.0,483579.177,270719.142,790499.89464,265783.29547,265783.29547,265783.29547,154743.3265,1043747.2839999999,1233234.97664,701997.76899,1069710.88608,429486.186,429486.186,429486.186,375769.6775,483579.177,483579.177,526819.66077,250444.7019,372265.95196,649301.0789999999,184277.83004,234366.77042,522339.02099999995,522339.02099999995,522339.02099999995,522339.02099999995,1453961.39218,1453961.39218 +543600.0,1210363.2,636822.072,1859520.45024,1746366.9430900002,1746366.9430900002,1746366.9430900002,1454057.234,3377082.48616,4241454.227840001,2911460.2923000003,4436510.921600001,1233065.781,1233065.781,1233065.781,1909571.1459999997,1210363.2,1210363.2,2634656.75447,1655138.6423999998,2460230.7721599997,4291100.183999999,1217855.09984,1548882.8283199999,1525158.594,1525158.594,1525158.594,1525158.594,3639158.6879999996,3639158.6879999996 +547200.0,1096457.8020000001,1208663.04,3529296.0768000004,2265618.52803,2265618.52803,2265618.52803,2030208.866,4181081.79776,3319762.81792,3245030.04693,4944807.690560001,1361887.569,1361887.569,1361887.569,1829144.3975,1096457.8020000001,1096457.8020000001,2192888.49975,2142867.98835,3185201.30614,5555583.6735000005,1576727.5568600001,2005301.1545300002,1594619.412,1594619.412,1594619.412,1594619.412,3296683.12468,3296683.12468 +550800.0,2068215.2820000001,2222990.055,6491130.9606,1860162.78778,1860162.78778,1860162.78778,2495717.2415,4452606.559199999,7402405.156480001,3670268.06244,5592789.42848,1966304.514,1966304.514,1966304.514,1631446.2045,2068215.2820000001,2068215.2820000001,2963215.80542,2040443.9824499998,3032956.2405799995,5290039.9545,1501363.72042,1909452.51691,2341154.961,2341154.961,2341154.961,2341154.961,6218433.94788,6218433.94788 +554400.0,1544060.3099999998,918343.9110000001,2681564.22012,857323.9086500001,857323.9086500001,857323.9086500001,1000785.0335,2366270.5888,7596131.999360001,1571492.9827800002,2394655.9737600004,1545257.0520000001,1545257.0520000001,1545257.0520000001,1510038.1345,1544060.3099999998,1544060.3099999998,2934248.0999,2320564.7353499997,3449333.2609399995,6016278.943499999,1707477.2620599999,2171590.20913,1089331.32,1089331.32,1089331.32,1089331.32,4642474.665399999,4642474.665399999 +558000.0,754437.7110000001,596448.9569999999,1741630.9544399998,477660.72299000004,477660.72299000004,477660.72299000004,571170.3305,1533534.4183999996,4802858.94208,936062.65536,1426381.18912,639485.562,639485.562,639485.562,592444.0165,754437.7110000001,754437.7110000001,1339603.6531799997,1212087.3615,1801670.5966,3142448.7150000003,891856.8734,1134274.3457000002,620933.847,620933.847,620933.847,620933.847,2268342.71774,2268342.71774 +561600.0,781910.667,1212640.752,3540910.99584,709059.06709,709059.06709,709059.06709,953805.6955,1777710.59416,2877350.60736,1324584.83178,2018414.9817599999,720439.734,720439.734,720439.734,1053674.37,781910.667,781910.667,1100583.91144,855719.7817500001,1271958.7867,2218532.7675,629640.7283000001,800784.6846500001,789492.7050000001,789492.7050000001,789492.7050000001,789492.7050000001,2350944.73878,2350944.73878 +565200.0,631393.458,748042.275,2184283.443,539052.7047400001,539052.7047400001,539052.7047400001,912868.9675,1360735.1489600001,2138949.8899200005,940201.80597,1432688.46624,585328.164,585328.164,585328.164,753714.5105,631393.458,631393.458,808497.8976099999,681913.1205000001,1013609.1322,1767922.9050000003,501753.35780000006,638135.9819,592956.669,592956.669,592956.669,592956.669,1898389.6637199998,1898389.6637199998 +568800.0,546241.236,470915.24100000004,1375072.50372,327615.54947,327615.54947,327615.54947,628171.2710000001,1163808.9590399999,1954449.50464,814436.4209099999,1241045.9747199998,532114.8570000001,532114.8570000001,532114.8570000001,447462.995,546241.236,546241.236,727982.60535,600814.2924,893062.23216,1557666.6840000001,442080.63984,562243.49832,533892.744,533892.744,533892.744,533892.744,1642365.31624,1642365.31624 +572400.0,920448.7320000001,1272883.8390000002,3716820.80988,1528874.4906600001,1528874.4906600001,1528874.4906600001,1451680.671,2261086.89192,2883312.1728000003,1662024.35343,2532608.53856,850159.971,850159.971,850159.971,1385255.7915,920448.7320000001,920448.7320000001,1527079.0356899998,1293992.0828999998,1923415.39236,3354794.289,952122.56964,1210920.98622,1072698.252,1072698.252,1072698.252,1072698.252,2767482.5208799997,2767482.5208799997 +576000.0,892941.03,1283975.6490000002,3749208.89508,1742598.9900000002,1742598.9900000002,1742598.9900000002,1156596.0665,2421586.2920799996,3168784.3110400005,1743707.8692599998,2657078.65792,1000576.1190000001,1000576.1190000001,1000576.1190000001,1588583.7975,892941.03,892941.03,1615463.6033899998,1321515.1539,1964326.2287599999,3426150.399,972374.11324,1236677.14402,1114889.544,1114889.544,1114889.544,1114889.544,2684776.0302,2684776.0302 +579600.0,817955.733,1206554.61,3523139.4612000003,1142629.1422700002,1142629.1422700002,1142629.1422700002,999670.595,2281355.43536,3116716.863360001,1469029.20822,2238520.69824,846934.986,846934.986,846934.986,1258568.332,817955.733,817955.733,1313222.2894699997,1107163.1609999998,1645709.1923999998,2870423.01,814653.3876,1036086.0198,1052179.5210000002,1052179.5210000002,1052179.5210000002,1052179.5210000002,2459320.23722,2459320.23722 +583200.0,2162699.955,1737561.633,5073679.96836,3522527.42985,3522527.42985,3522527.42985,2860402.9615,3429244.01712,6613065.56288,3631349.15892,5533484.43264,2286335.712,2286335.712,2286335.712,2979358.725,2162699.955,2162699.955,3891966.7814299995,2790849.6175499996,4148373.99942,7235536.0455,2053514.0395799999,2611683.9630899997,2427047.9310000003,2427047.9310000003,2427047.9310000003,2427047.9310000003,6502517.8647,6502517.8647 +586800.0,1564990.4039999999,839979.183,2452739.2143599996,2173636.62978,2173636.62978,2173636.62978,1661523.2025000001,2487448.18856,4361639.125120001,2264534.26059,3450718.8732800004,1568433.492,1568433.492,1568433.492,1988101.6925000001,1564990.4039999999,1564990.4039999999,1353836.8327900001,1819256.57775,2704178.9131,4716591.1275,1338613.4819,1702464.7974500002,1705034.5890000002,1705034.5890000002,1705034.5890000002,1705034.5890000002,4705404.48136,4705404.48136 +590400.0,1108982.7149999999,792505.521,2314116.12132,1302002.21855,1302002.21855,1302002.21855,1214936.2889999999,1835012.2770400003,3480426.3308800003,1595971.9106100001,2431957.19712,985077.8399999999,985077.8399999999,985077.8399999999,1330091.4024999999,1108982.7149999999,1108982.7149999999,1197830.2644099998,1296094.2759000002,1926540.1335600002,3360244.4190000007,953669.3684400001,1212888.2236200003,1151616.006,1151616.006,1151616.006,1151616.006,3334341.3630999997,3334341.3630999997 +594000.0,941497.587,774604.38,2261844.7896,1151670.37458,1151670.37458,1151670.37458,1095635.688,1739476.1199999999,3311608.5408000005,1513848.0919799998,2306816.14016,944670.828,944670.828,944670.828,1240466.9409999999,941497.587,941497.587,1168603.55482,1226558.7081000002,1823181.09204,3179967.021,902504.9259600001,1147816.6675800001,1080507.081,1080507.081,1080507.081,1080507.081,2830769.41158,2830769.41158 +597600.0,652520.286,558154.734,1629811.8232800001,739189.2119700001,739189.2119700001,739189.2119700001,586080.5755,863316.1098399999,1947630.4864,827059.9495199999,1260281.82784,488356.50899999996,488356.50899999996,488356.50899999996,611230.2805,652520.286,652520.286,815852.3731799999,555607.9008,825866.55872,1440464.928,408817.66528,519939.24544,670826.67,670826.67,670826.67,670826.67,1961910.9932399997,1961910.9932399997 +601200.0,107577.49799999999,96816.759,282704.93628,109341.73844,109341.73844,109341.73844,58364.2465,170109.48807999998,674284.77952,187323.42110999997,285445.21312,160211.61599999998,160211.61599999998,160211.61599999998,102691.1725,107577.49799999999,107577.49799999999,193846.15535999998,77694.14295000001,115486.10878,201429.25950000001,57167.54222,72706.37081000001,135183.456,135183.456,135183.456,135183.456,323449.67731999996,323449.67731999996 +604800.0,105570.75899999999,97590.18599999999,284963.34312,91628.10536000002,91628.10536000002,91628.10536000002,38173.415,179510.55656,689689.32544,199618.77054,304180.98368,161838.807,161838.807,161838.807,98351.4175,105570.75899999999,105570.75899999999,206646.48887999996,72390.39255,107602.50942,187678.7955,53265.02958000001,67743.10809000001,137746.563,137746.563,137746.563,137746.563,317416.08206,317416.08206 +608400.0,109500.744,106469.949,310892.25108,102480.01555,102480.01555,102480.01555,33633.1275,194655.1424,696325.0048,222789.49287,339488.75104,162782.532,162782.532,162782.532,99889.37700000001,109500.744,109500.744,212787.68043,72002.82780000001,107026.42552,186673.99800000002,52979.85848000001,67380.42404000001,142533.243,142533.243,142533.243,142533.243,329232.23696,329232.23696 +612000.0,124516.038,121485.52500000001,354737.733,99247.18606,99247.18606,99247.18606,37979.9665,212673.03744000001,704332.5868800001,238790.30237999998,363870.93696,163135.29,163135.29,163135.29,98867.63249999999,124516.038,124516.038,236844.02000999998,84075.8211,124971.96123999999,217974.351,61863.19676,78678.36098,147480.86700000003,147480.86700000003,147480.86700000003,147480.86700000003,374378.22091999993,374378.22091999993 +615600.0,133094.574,128070.93900000001,373967.14188,100185.18675,100185.18675,100185.18675,43662.300500000005,249982.36800000002,707735.58976,273236.21535,416359.94720000005,166652.09100000001,166652.09100000001,166652.09100000001,99654.2925,133094.574,133094.574,238794.54235,90060.08895,133867.09518,233489.1195,66266.43582,84278.45361000001,180358.97999999998,180358.97999999998,180358.97999999998,180358.97999999998,400171.01915999997,400171.01915999997 +619200.0,163808.949,137441.15099999998,401328.16091999994,110194.61101000001,110194.61101000001,110194.61101000001,60482.3065,305094.92688,705061.81888,295830.63657,450789.54144,232312.998,232312.998,232312.998,148170.9495,163808.949,163808.949,244099.27970999997,104820.50834999999,155807.27414,271756.8735,77127.18886,98091.29053,228768.873,228768.873,228768.873,228768.873,492518.90666,492518.90666 +622800.0,199076.65500000003,147725.946,431359.76232,122857.94389000001,122857.94389000001,122857.94389000001,68877.52900000001,370379.0196,700368.3936000001,324080.99745,493837.71040000004,290323.185,290323.185,290323.185,184187.5385,199076.65500000003,199076.65500000003,259091.16467,118194.552,175686.7168,306430.32,86967.8432,110606.7536,254843.787,254843.787,254843.787,254843.787,598557.1427000001,598557.1427000001 +626400.0,369032.331,208906.94999999998,610008.2939999999,235868.77919000003,235868.77919000003,235868.77919000003,150563.497,890960.56744,831363.0604800001,575741.63178,877320.58176,360087.74100000004,360087.74100000004,360087.74100000004,320043.9025,369032.331,369032.331,494314.17139,183882.04064999998,273325.89745999995,476731.2165,135300.85954,172077.26767,419198.292,419198.292,419198.292,419198.292,1109557.20854,1109557.20854 +630000.0,1107569.823,515137.69200000004,1504202.06064,1583234.32641,1583234.32641,1583234.32641,1337910.1505,3168039.9664799995,3498219.53728,2628333.99024,4005080.3660800005,1020627.258,1020627.258,1020627.258,1463272.3385,1107569.823,1107569.823,2428088.94276,1373878.56375,2042160.2355,3561907.3875,1010903.2395,1285678.95225,1386708.8129999998,1386708.8129999998,1386708.8129999998,1386708.8129999998,3330093.26782,3330093.26782 +633600.0,990057.7590000001,1099489.797,3210510.20724,1945416.0277200001,1945416.0277200001,1945416.0277200001,1852910.514,3920130.3913600002,2994221.5110400002,2973209.72676,4530605.29792,1250104.7489999998,1250104.7489999998,1250104.7489999998,1569475.6455,990057.7590000001,990057.7590000001,2133816.8657,2003010.5655,2977314.4702,5192990.355,1473820.1198,1874422.2329,1488496.83,1488496.83,1488496.83,1488496.83,2976773.66206,2976773.66206 +637200.0,1989036.6870000002,2120802.9450000003,6192744.599400001,1554172.89434,1554172.89434,1554172.89434,1907636.577,4120598.5588,7180211.56608,3424330.20048,5218026.97216,1876384.827,1876384.827,1876384.827,1486799.321,1989036.6870000002,1989036.6870000002,2606446.6816699994,1719465.4485,2555847.4074,4457873.385,1265186.9226,1609080.0123,2241920.232,2241920.232,2241920.232,2241920.232,5980370.30558,5980370.30558 +640800.0,1405961.8110000002,821046.51,2397455.8092,760504.3392100001,760504.3392100001,760504.3392100001,842789.836,2110335.5672,6893599.095040001,1307919.2838599999,1993019.8611199998,1425841.056,1425841.056,1425841.056,1415971.781,1405961.8110000002,1405961.8110000002,2076192.3393899999,2191300.9461000003,3257193.01124,5681150.601000001,1612364.6467600001,2050624.8359800002,987462.087,987462.087,987462.087,987462.087,4227258.51174,4227258.51174 +644400.0,697346.127,501072.372,1463131.3262399998,399687.05249000003,399687.05249000003,399687.05249000003,517321.7525,1349331.0480799999,3617778.2470400007,832342.28868,1268331.10656,557554.686,557554.686,557554.686,497739.74250000005,697346.127,697346.127,779508.33545,937240.0285499999,1393132.09182,2429881.5555,689623.52718,877071.53289,559637.973,559637.973,559637.973,559637.973,2096687.35518,2096687.35518 +648000.0,746049.348,1119929.1120000002,3270193.00704,659253.99276,659253.99276,659253.99276,920690.841,1634771.9747200003,2732990.75264,1271609.45457,1937690.5974400002,682665.0989999999,682665.0989999999,682665.0989999999,1023549.5725,746049.348,746049.348,950063.54248,814628.9556,1210880.57104,2112000.9960000003,599405.99696,762331.7880800001,748170.087,748170.087,748170.087,748170.087,2243121.70632,2243121.70632 +651600.0,600175.395,620977.506,1813254.31752,515608.0110500001,515608.0110500001,515608.0110500001,876373.6975,1257137.37416,2029932.5075200002,907360.4721299999,1382644.52896,563799.744,563799.744,563799.744,665265.174,600175.395,600175.395,741494.7467199999,650893.69665,967501.24786,1687502.1765,478929.18914000003,609107.92847,571119.885,571119.885,571119.885,571119.885,1804527.3542999998,1804527.3542999998 +655200.0,531902.961,454342.30799999996,1326679.5393599998,313089.90669000003,313089.90669000003,313089.90669000003,616719.5160000001,1150883.9352799999,1906942.36544,806063.22951,1228286.82592,528982.86,528982.86,528982.86,444706.0729999999,531902.961,531902.961,690644.7687099999,588338.1418500001,874517.4355400001,1525321.1085000003,432900.6574600001,550568.2858300001,528031.47,528031.47,528031.47,528031.47,1599254.9027399998,1599254.9027399998 +658800.0,896682.8999999999,1157176.104,3378954.2236800003,1479901.29991,1479901.29991,1479901.29991,1382268.9895,2178541.29512,2835717.15584,1654163.41251,2520629.96192,847235.2409999999,847235.2409999999,847235.2409999999,1382304.2695,896682.8999999999,896682.8999999999,1489955.8404899999,1283509.37475,1907833.6879,3327616.8975,944409.3671,1201111.24205,1013845.4280000001,1013845.4280000001,1013845.4280000001,1013845.4280000001,2696026.5859999997,2696026.5859999997 +662400.0,881761.824,1266492.534,3698158.19928,1677124.86744,1677124.86744,1677124.86744,1142947.9635,2330370.0706399996,3149112.3788800007,1704132.5784,2596773.4528,1000604.274,1000604.274,1000604.274,1593480.7140000002,881761.824,881761.824,1591900.15413,1316076.0444,1956241.42896,3412049.004,968372.00304,1231587.2119200001,1098779.685,1098779.685,1098779.685,1098779.685,2651163.88416,2651163.88416 +666000.0,809650.017,1157835.867,3380880.7316400004,1080629.92873,1080629.92873,1080629.92873,992475.638,2265036.34376,3086929.29472,1462152.40395,2228041.7584,844843.2659999998,844843.2659999998,844843.2659999998,1262079.714,809650.017,809650.017,1249776.6915399998,1098310.99095,1632551.15198,2847472.9395000003,808139.93902,1027802.1372100002,1031940.771,1031940.771,1031940.771,1031940.771,2434347.7177799996,2434347.7177799996 +669600.0,2165275.9499999997,1740326.148,5081752.35216,3506569.2651000004,3506569.2651000004,3506569.2651000004,2856437.0835,3398800.7570399996,6589075.2064,3634503.0136800003,5538290.30656,2289547.986,2289547.986,2289547.986,2981055.7665,2165275.9499999997,2165275.9499999997,3824091.837279999,2785750.2342,4140794.1752799996,7222315.422,2049761.90072,2606911.9475600002,2426919.312,2426919.312,2426919.312,2426919.312,6510263.022999999,6510263.022999999 +673200.0,1573598.199,854506.0619999999,2495157.7010399997,2143489.48044,2143489.48044,2143489.48044,1666741.23,2516264.12096,4405563.099520001,2276194.75965,3468487.2528,1573436.4810000001,1573436.4810000001,1573436.4810000001,1956580.9619999998,1573598.199,1573598.199,1353204.31779,1807147.7055,2686180.0461999997,4685197.755,1329703.7438,1691133.2849,1705455.7770000002,1705455.7770000002,1705455.7770000002,1705455.7770000002,4731285.25166,4731285.25166 +676800.0,1151786.4540000001,826819.1969999999,2414312.0552399997,1287643.1893600002,1287643.1893600002,1287643.1893600002,1238022.135,1920362.7616000003,3606208.3136000005,1666729.75392,2539778.67264,1039736.6940000001,1039736.6940000001,1039736.6940000001,1400670.6665,1151786.4540000001,1151786.4540000001,1236532.03427,1353439.97955,2011779.92022,3508918.4655,995864.47878,1266552.47469,1197863.346,1197863.346,1197863.346,1197863.346,3463037.93836,3463037.93836 +680400.0,1016387.946,838232.832,2447639.86944,1219458.1293400002,1219458.1293400002,1219458.1293400002,1175647.7915,1889662.1152,3606408.21184,1636220.59041,2493288.51872,1036059.2399999999,1036059.2399999999,1036059.2399999999,1363590.0004999998,1016387.946,1016387.946,1244664.4503799998,1330816.20165,1978151.4898599999,3450264.2265,979217.84714,1245381.08747,1169581.158,1169581.158,1169581.158,1169581.158,3055939.75764,3055939.75764 +684000.0,727672.242,636460.968,1858466.02656,811381.6672500002,811381.6672500002,811381.6672500002,654617.411,993544.4131199999,2260232.44864,945422.9441999999,1440644.4864,567485.205,567485.205,567485.205,703508.8339999999,727672.242,727672.242,911892.11841,637553.8106999999,947672.5778799999,1652917.2869999998,469113.66812,596624.4302599999,758281.2239999999,758281.2239999999,758281.2239999999,758281.2239999999,2187867.8742799996,2187867.8742799996 +687600.0,118115.34300000001,107254.977,313184.53284,119607.02325,119607.02325,119607.02325,61943.35350000001,198718.38663999998,765628.7334400001,211982.74944,323021.33248000004,180774.426,180774.426,180774.426,114672.42500000002,118115.34300000001,118115.34300000001,224424.68177999998,86877.4896,129136.41664,225237.936,63924.67136,81300.16928,149271.48,149271.48,149271.48,149271.48,355133.46462,355133.46462 +691200.0,120230.26800000001,112147.824,327471.64608,119551.34565000002,119551.34565000002,119551.34565000002,42954.061499999996,216138.51095999999,817256.9772800001,244823.70171000002,373064.68832,189777.237,189777.237,189777.237,115918.222,120230.26800000001,120230.26800000001,238466.91401,85604.10884999999,127243.63833999999,221936.5785,62987.71466,80108.53643,159071.06999999998,159071.06999999998,159071.06999999998,159071.06999999998,361492.33912,361492.33912 +694800.0,130421.04299999999,126254.37900000002,368662.78668,117333.54160000001,117333.54160000001,117333.54160000001,42385.9695,231366.07736,796539.49888,254142.97902,387265.49184,184322.652,184322.652,184322.652,113044.45600000002,130421.04299999999,130421.04299999999,248296.87051,87032.99339999999,129367.56056,225641.094,64039.091440000004,81445.69012,161026.64700000003,161026.64700000003,161026.64700000003,161026.64700000003,392132.60261999996,392132.60261999996 +698400.0,143986.518,139401.066,407051.11272,116759.73672000002,116759.73672000002,116759.73672000002,46458.979,282727.35312,821142.8998400001,298846.60449,455385.30208000005,190673.91000000003,190673.91000000003,190673.91000000003,114045.099,143986.518,143986.518,272558.73176999995,102360.62745,152150.85857999997,265379.4045,75317.20242,95789.32790999999,182432.826,182432.826,182432.826,182432.826,432919.46412,432919.46412 +702000.0,174030.939,150596.63400000002,439742.17128,121480.34250000001,121480.34250000001,121480.34250000001,64255.84199999999,339808.99064,801718.8358400002,323534.27526,493004.60992,249444.84900000005,249444.84900000005,249444.84900000005,152829.7225,174030.939,174030.939,270914.96718,116410.56345,173034.96098,301805.1645,85655.18002,108937.29271000001,248307.58500000002,248307.58500000002,248307.58500000002,248307.58500000002,523253.02326,523253.02326 +705600.0,220082.71200000003,163306.332,476854.48944,130829.99534000001,130829.99534000001,130829.99534000001,71317.029,429390.70703999995,815249.80224,366635.33570999996,558682.41632,335222.03699999995,335222.03699999995,335222.03699999995,210755.66749999998,220082.71200000003,220082.71200000003,296305.56708999997,133493.10705,198426.79121999998,346093.24049999996,98224.55777999999,124923.17919,285475.73699999996,285475.73699999996,285475.73699999996,285475.73699999996,661715.3540800001,661715.3540800001 +709200.0,266129.508,203333.418,593733.5805599999,149830.29379999998,149830.29379999998,149830.29379999998,80291.09550000001,510997.0449599999,860213.1539200001,418709.90343,638034.13856,377251.17899999995,377251.17899999995,377251.17899999995,231703.76249999998,266129.508,266129.508,324983.56630999997,155883.52394999997,231708.34917999996,404142.4695,114699.48182,145876.18661,360157.683,360157.683,360157.683,360157.683,800162.7207199999,800162.7207199999 +712800.0,458913.444,258433.76399999997,754626.5908799999,263481.42964,263481.42964,263481.42964,159211.0485,1019989.7084799999,1062228.04352,693149.06409,1056227.14528,432498.261,432498.261,432498.261,360212.538,458913.444,458913.444,538378.4226599999,217138.32,322758.68799999997,562951.2000000001,159770.912,203198.576,504284.838,504284.838,504284.838,504284.838,1379799.75496,1379799.75496 +716400.0,1209832.221,585151.2690000001,1708641.70548,1665997.6828000003,1665997.6828000003,1665997.6828000003,1428995.8655,3353512.6432800004,4123964.3392,2873640.98175,4378881.496,1182211.368,1182211.368,1182211.368,1727375.8635,1209832.221,1209832.221,2563342.20818,1550497.2858,2304689.79272,4019807.778,1140859.73128,1450959.18844,1519975.827,1519975.827,1519975.827,1519975.827,3637562.2111399993,3637562.2111399993 +720000.0,1107121.9440000001,1230453.9989999998,3592925.67708,2133303.0356000005,2133303.0356000005,2133303.0356000005,1962757.9615000002,4194072.2820800003,3310504.1119999997,3226321.1481899996,4916298.89248,1363671.72,1363671.72,1363671.72,1785186.0320000001,1107121.9440000001,1107121.9440000001,2213911.7158599994,2146714.6459500003,3190919.0539800003,5565556.489500001,1579557.9370200003,2008900.8662100004,1605951.219,1605951.219,1605951.219,1605951.219,3328746.64496,3328746.64496 +723600.0,2075226.7889999999,2249762.571,6569306.707319999,1695931.3891300003,1695931.3891300003,1695931.3891300003,2226810.4075,4425772.49504,7479449.254400001,3662521.1481600003,5580984.6067200005,1988470.836,1988470.836,1988470.836,1659301.1575,2075226.7889999999,2075226.7889999999,2703204.0308,1931268.1769999997,2870675.1668,5006991.569999999,1421031.8931999998,1807285.5285999998,2341482.708,2341482.708,2341482.708,2341482.708,6239515.212259999,6239515.212259999 +727200.0,1519883.1030000001,874444.5719999999,2553378.15024,820094.23892,820094.23892,820094.23892,976609.7914999998,2358521.00224,7312751.28,1494064.48443,2276669.69056,1540470.2759999998,1540470.2759999998,1540470.2759999998,1534859.1125,1519883.1030000001,1519883.1030000001,2199995.77499,2292551.3713499997,3407693.6433399995,5943651.703499999,1686864.9596599997,2145375.2339299996,1089927.216,1089927.216,1089927.216,1089927.216,4569781.86302,4569781.86302 +730800.0,783701.2139999999,557231.142,1627114.93464,468956.46633,468956.46633,468956.46633,597214.1910000001,1526352.83608,4293797.124480001,981729.5711999999,1495968.8704,660080.4630000001,660080.4630000001,660080.4630000001,626660.1390000001,783701.2139999999,783701.2139999999,873650.6511199999,1180258.8408,1754360.05472,3059930.3279999997,868437.36928,1104489.13744,642997.041,642997.041,642997.041,642997.041,2356328.31676,2356328.31676 +734400.0,810093.6120000001,1158941.187,3384108.2660399997,708591.56654,708591.56654,708591.56654,969295.873,1736019.3364000001,2920600.99008,1363364.49606,2077507.80352,744024.1109999999,744024.1109999999,744024.1109999999,1083835.8335,810093.6120000001,810093.6120000001,996888.7433699998,877096.0259999998,1303732.8583999998,2273952.6599999997,645369.4216,820788.6268,817097.1270000001,817097.1270000001,817097.1270000001,817097.1270000001,2435681.46008,2435681.46008 +738000.0,628090.689,666987.42,1947603.2664,516056.24829,516056.24829,516056.24829,901886.412,1294920.67912,2070543.9897600003,936415.6414200001,1426919.0726400001,582051.588,582051.588,582051.588,746895.3485,628090.689,628090.689,733983.4795799999,670070.1753,996005.54452,1737218.973,493039.28948000004,627053.3245400001,589549.752,589549.752,589549.752,589549.752,1888459.3382599999,1888459.3382599999 +741600.0,525698.6880000001,435237.735,1270894.1861999999,276515.93431,276515.93431,276515.93431,595143.4475,1122575.02584,1807058.2643200003,776691.17841,1183529.41472,512525.121,512525.121,512525.121,427117.96400000004,525698.6880000001,525698.6880000001,624391.7758,559188.7002,831189.1296799999,1449748.4819999998,411452.42631999997,523290.16636,507758.4330000001,507758.4330000001,507758.4330000001,507758.4330000001,1580600.72192,1580600.72192 +745200.0,967571.301,1226104.6709999999,3580225.6393199996,1532707.07535,1532707.07535,1532707.07535,1427484.8805,2296916.60592,3000888.98176,1732196.83455,2639538.0336,893861.304,893861.304,893861.304,1432329.7135,967571.301,967571.301,1534740.21129,1341965.9205,1994724.6522000001,3479170.9050000003,987421.8378000001,1255815.0219000003,1088412.7230000002,1088412.7230000002,1088412.7230000002,1088412.7230000002,2909164.37834,2909164.37834 +748800.0,966614.2889999999,1319290.131,3852327.1825200003,1756262.5701500003,1756262.5701500003,1756262.5701500003,1213746.3835,2502780.1683199997,3344553.6704000006,1838757.0190500002,2801915.4576000003,1066205.844,1066205.844,1066205.844,1665310.3355,966614.2889999999,966614.2889999999,1662673.7100999998,1396419.74595,2075665.89398,3620347.4895,1027489.09702,1306773.04621,1180799.43,1180799.43,1180799.43,1180799.43,2906286.9622599995,2906286.9622599995 +752400.0,891523.3259999999,1266699.399,3698762.24508,1158289.3545300001,1158289.3545300001,1158289.3545300001,1079128.61,2411309.63824,3323185.5353600006,1590725.73366,2423963.02272,928743.2340000002,928743.2340000002,928743.2340000002,1343535.7145,891523.3259999999,891523.3259999999,1399615.07946,1203876.7317000001,1789466.1542800001,3121161.8970000003,885815.47172,1126590.8180600002,1131751.3020000001,1131751.3020000001,1131751.3020000001,1131751.3020000001,2680513.46684,2680513.46684 +756000.0,2220927.045,1793434.965,5236830.097800001,3557972.6487800004,3557972.6487800004,3557972.6487800004,2915040.5795,3570746.0316,6843550.409600001,3725521.2048599995,5676984.69312,2351766.969,2351766.969,2351766.969,3049508.126,2220927.045,2220927.045,3942647.6302199997,2883476.2441499997,4286056.046859999,7475679.1515,2121668.94014,2698364.18897,2495912.49,2495912.49,2495912.49,2495912.49,6677587.3153,6677587.3153 +759600.0,1662622.293,919989.6780000001,2686369.8597600004,2268483.8243100005,2268483.8243100005,2268483.8243100005,1763352.4649999999,2681190.4864,4779107.98912,2459904.9012300004,3748426.5161600006,1695656.6369999999,1695656.6369999999,1695656.6369999999,2218398.6475,1662622.293,1662622.293,1472359.91292,1971150.0052499997,2929956.3040999994,5110388.9025,1450377.0409,1844607.0419499998,1842389.199,1842389.199,1842389.199,1842389.199,4998951.02762,4998951.02762 +763200.0,1220478.879,871944.8189999999,2546078.8714799997,1391860.83443,1391860.83443,1391860.83443,1353024.8445000001,2033673.0111999998,3889183.1763200006,1773183.09882,2701993.29344,1141453.614,1141453.614,1141453.614,1491868.4130000002,1220478.879,1220478.879,1304576.6078799998,1442076.3882,2143530.82888,3738716.562,1061083.36712,1349498.64476,1276819.755,1276819.755,1276819.755,1276819.755,3669573.16286,3669573.16286 +766800.0,1074359.2889999999,886998.912,2590036.82304,1274131.3835800001,1274131.3835800001,1274131.3835800001,1231869.1945,1994223.5367199997,3800355.1244800007,1726869.3687,2631419.9904,1098094.512,1098094.512,1098094.512,1449744.7195000001,1074359.2889999999,1074359.2889999999,1329092.45157,1403857.80585,2086721.9731399997,3639631.3485,1032962.0398599999,1313733.60103,1233795.459,1233795.459,1233795.459,1233795.459,3230240.2622599998,3230240.2622599998 +770400.0,761142.0959999999,664963.533,1941693.51636,838643.83372,838643.83372,838643.83372,680089.7075,1051683.8264799998,2363221.22304,999008.37456,1522298.47552,592872.573,592872.573,592872.573,736279.4670000001,761142.0959999999,761142.0959999999,957297.4698299998,667198.4701500001,991736.98526,1729773.8115,490926.28174,624365.97577,791541.0,791541.0,791541.0,791541.0,2288500.5686399997,2288500.5686399997 +774000.0,129448.47299999998,117573.81599999999,343315.54271999997,145882.43450000003,145882.43450000003,145882.43450000003,65656.8115,217951.3696,852687.7625600002,241094.8113,367382.56960000005,199866.35699999996,199866.35699999996,199866.35699999996,126126.8015,129448.47299999998,129448.47299999998,249031.10738999996,96098.54174999999,142842.7707,249144.3675,70709.5443,89929.25265,166116.588,166116.588,166116.588,166116.588,389208.40881999995,389208.40881999995 +777600.0,128945.331,118050.999,344708.91708,132213.97442,132213.97442,132213.97442,45101.441,230621.61168,856068.7552000001,268809.27402,409614.13184000005,198400.917,198400.917,198400.917,122119.45899999999,128945.331,128945.331,248888.94783999998,90973.33965,135224.56905999998,235856.8065,66938.40794,85133.07587,169011.252,169011.252,169011.252,169011.252,387695.62854,387695.62854 +781200.0,148027.701,142680.99,416628.49079999997,131289.18088,131289.18088,131289.18088,50990.425500000005,272715.99295999995,883162.5664,290693.55966,442961.61472,202927.149,202927.149,202927.149,124536.45400000001,148027.701,148027.701,279737.94537,99991.43414999999,148629.24285999997,259237.05149999997,73573.94413999999,93572.23096999999,178416.21899999998,178416.21899999998,178416.21899999998,178416.21899999998,445069.95433999994,445069.95433999994 +784800.0,180559.80899999998,166005.921,484737.28932,141438.06775999998,141438.06775999998,141438.06775999998,62842.216499999995,388904.2004,967513.7484800002,365425.21302,556838.41984,235519.035,235519.035,235519.035,134392.2825,180559.80899999998,180559.80899999998,316103.13748000003,128895.78194999999,191593.23638,334174.2495,94841.83462,120620.99101,246855.594,246855.594,246855.594,246855.594,542883.15906,542883.15906 +788400.0,236142.81300000002,179066.331,522873.68652,149276.27319,149276.27319,149276.27319,81369.995,461663.51647999993,945752.0620800001,404934.94629000005,617043.72768,371593.926,371593.926,371593.926,235080.202,236142.81300000002,236142.81300000002,331731.03912,150546.66074999998,223775.53029999998,390306.1575,110772.6047,140881.93685,318000.65099999995,318000.65099999995,318000.65099999995,318000.65099999995,710002.72442,710002.72442 +792000.0,282448.887,226216.14600000004,660551.14632,158939.20207,158939.20207,158939.20207,82948.733,569679.54328,969296.0339200001,456802.39395,696079.8384,424472.10599999997,424472.10599999997,424472.10599999997,260083.50900000002,282448.887,282448.887,356592.53422000003,171801.12149999998,255368.5806,445410.315,126411.6894,160771.9137,382290.69299999997,382290.69299999997,382290.69299999997,382290.69299999997,849229.6535799999,849229.6535799999 +795600.0,357211.383,258770.478,755609.79576,184487.09268000003,184487.09268000003,184487.09268000003,90915.622,648743.3379200001,1075190.69312,543328.61268,827929.3145600001,458004.555,458004.555,458004.555,275193.6215,357211.383,357211.383,377611.56081999996,195478.13834999996,290562.56613999995,506795.1734999999,143833.29685999997,182928.92453,462909.53400000004,462909.53400000004,462909.53400000004,462909.53400000004,1074015.55822,1074015.55822 +799200.0,570466.3559999999,322844.679,942706.46268,303309.59494000004,303309.59494000004,303309.59494000004,174795.2325,1172355.326,1411546.0889599998,845517.57234,1288407.7292799999,508198.1760000001,508198.1760000001,508198.1760000001,410716.5405,570466.3559999999,570466.3559999999,585604.4985699999,303285.72014999995,450809.88525999995,786296.3115,223158.38173999998,283815.52577,607896.939,607896.939,607896.939,607896.939,1715202.1770399997,1715202.1770399997 +802800.0,1300659.045,732680.535,2139427.1622,1759646.3640800004,1759646.3640800004,1759646.3640800004,1512333.431,3525072.53624,4526896.01088,3096043.29699,4717780.262080001,1347331.602,1347331.602,1347331.602,2045358.0735,1300659.045,1300659.045,2710330.8634999995,1712799.50085,2545939.0111399996,4440591.2985,1260282.10186,1602842.00203,1638673.479,1638673.479,1638673.479,1638673.479,3910648.1953,3910648.1953 +806400.0,1206430.005,1297061.7000000002,3787420.1640000003,2335243.95291,2335243.95291,2335243.95291,2078188.315,4481400.16528,3671356.03456,3456464.28708,5266993.19936,1450378.446,1450378.446,1450378.446,1979793.4030000002,1206430.005,1206430.005,2310146.97316,2265971.7032999997,3368185.09972,5874741.453,1667307.57428,2120501.91494,1711777.7459999998,1711777.7459999998,1711777.7459999998,1711777.7459999998,3627332.8816999993,3627332.8816999993 +810000.0,2166877.446,2334998.913,6818196.82596,1872213.60601,1872213.60601,1872213.60601,2548342.3945000004,4696446.24584,7753417.27232,3876595.5532500003,5907193.224,2086002.7769999998,2086002.7769999998,2086002.7769999998,1785869.7534999999,2166877.446,2166877.446,2927824.0081999996,2143065.3246,3185494.63064,5556095.286,1576872.7573600002,2005485.8222800002,2447733.333,2447733.333,2447733.333,2447733.333,6515078.187639999,6515078.187639999 +813600.0,1691306.9069999997,1019987.571,2978363.70732,935854.6603999999,935854.6603999999,935854.6603999999,1148787.976,2655203.8004,7920687.001600001,1776431.65539,2706943.47488,1703470.878,1703470.878,1703470.878,1701508.074,1691306.9069999997,1691306.9069999997,2351689.13941,2439968.31765,3626817.1042600004,6325843.786500001,1795334.7127400003,2283328.3762700004,1241329.773,1241329.773,1241329.773,1241329.773,5085196.100379999,5085196.100379999 +817200.0,896017.1340000001,625143.6,1825419.312,537983.54016,537983.54016,537983.54016,709489.193,1749858.59464,5080405.09824,1150296.57603,1752832.87776,778072.722,778072.722,778072.722,758369.6399999999,896017.1340000001,896017.1340000001,991577.63757,1463160.2386499997,2174870.2806599997,3793378.3965,1076596.91634,1369228.96407,755919.4619999999,755919.4619999999,755919.4619999999,755919.4619999999,2694024.84956,2694024.84956 +820800.0,927551.1599999999,1234377.051,3604380.98892,774774.5365800001,774774.5365800001,774774.5365800001,1066218.7795000002,1916991.3704799998,3256669.9916800004,1521006.6494699998,2317724.41824,848307.2880000001,848307.2880000001,848307.2880000001,1178924.208,927551.1599999999,927551.1599999999,1153462.01152,996491.1923999999,1481204.1921599999,2583495.684,733220.67984,932518.9183199999,925629.2039999999,925629.2039999999,925629.2039999999,925629.2039999999,2788837.1543999994,2788837.1543999994 +824400.0,743994.888,790004.5320000001,2306813.23344,598982.1930400002,598982.1930400002,598982.1930400002,1010072.2239999998,1483501.4915200002,2434261.25824,1104138.94668,1682497.44256,686800.2690000001,686800.2690000001,686800.2690000001,914170.3304999999,743994.888,743994.888,873725.70636,801486.0576,1191344.7078399998,2077926.8159999999,589735.42016,750032.63168,698181.0510000001,698181.0510000001,698181.0510000001,698181.0510000001,2236944.6299199997,2236944.6299199997 +828000.0,654623.109,538143.8489999999,1571380.03908,386205.55193,386205.55193,386205.55193,752694.6560000001,1350428.19136,2268704.4544,984470.52375,1500145.56,636227.229,636227.229,636227.229,552406.036,654623.109,654623.109,798686.6231499999,722464.5393,1073885.56212,1873056.2129999998,531591.1918799999,676084.09974,641767.554,641767.554,641767.554,641767.554,1968233.48106,1968233.48106 +831600.0,1065271.815,1377257.0219999999,4021590.5042399997,1610253.9371600002,1610253.9371600002,1610253.9371600002,1533345.8769999999,2485539.8342399998,3281727.08864,1866522.83916,2844225.2787200003,978895.5059999999,978895.5059999999,978895.5059999999,1499356.1065000002,1065271.815,1065271.815,1696356.9856999996,1441419.89535,2142555.00494,3737014.5435,1060600.31806,1348884.29713,1223655.57,1223655.57,1223655.57,1223655.57,3202917.2570999996,3202917.2570999996 +835200.0,1046455.122,1391004.921,4061734.36932,1879807.1963,1879807.1963,1879807.1963,1302586.2115,2706084.78288,3589456.8998400006,2012659.1452799998,3066909.17376,1143451.731,1143451.731,1143451.731,1759613.0755,1046455.122,1046455.122,1790358.48862,1490045.7424499998,2214833.42458,3863081.5544999996,1096379.3364199998,1394388.4849099999,1264931.1300000001,1264931.1300000001,1264931.1300000001,1264931.1300000001,3146341.73348,3146341.73348 +838800.0,958428.441,1379297.988,4027550.1249599997,1256868.0390200003,1256868.0390200003,1256868.0390200003,1138194.421,2531613.0834399997,3560621.6684800005,1693991.7519,2581320.7648,1013228.6070000001,1013228.6070000001,1013228.6070000001,1413502.1845,958428.441,958428.441,1474794.35974,1283399.96805,1907671.06362,3327333.2505,944328.86538,1201008.85899,1209106.7489999998,1209106.7489999998,1209106.7489999998,1209106.7489999998,2881674.84594,2881674.84594 +842400.0,2267834.4510000004,1847943.2969999998,5395994.427239999,3613665.72292,3613665.72292,3613665.72292,2964989.986,3741958.5963999997,7044555.156480001,3803329.3218900003,5795549.442880001,2403542.766,2403542.766,2403542.766,3109115.5305,2267834.4510000004,2267834.4510000004,4115866.39399,2967405.7711499995,4410810.55366,7693274.221499999,2183424.4933399996,2776905.6475699996,2566501.704,2566501.704,2566501.704,2566501.704,6818622.24934,6818622.24934 +846000.0,1748318.7600000002,996215.337,2908948.7840400003,2430986.64105,2430986.64105,2430986.64105,1837010.9064999998,2836715.21688,5145647.801600001,2652749.6402399996,4042285.16608,1783120.9529999997,1783120.9529999997,1783120.9529999997,2447613.973,1748318.7600000002,1748318.7600000002,1582125.0701099997,2148575.9003999997,3193685.6593599995,5570381.964,1580927.4526399998,2010642.6327199999,1990902.405,1990902.405,1990902.405,1990902.405,5256611.7384,5256611.7384 +849600.0,1310039.172,946013.9100000001,2762360.6172,1561130.41282,1561130.41282,1561130.41282,1509734.4255000001,2201058.51888,4252402.848,1923279.99528,2930712.37376,1275462.1260000002,1275462.1260000002,1275462.1260000002,1701111.0375,1310039.172,1310039.172,1404211.9050699999,1567940.9435999996,2330618.3902399996,4065032.0759999994,1153694.8177599998,1467283.0064799997,1380182.331,1380182.331,1380182.331,1380182.331,3938851.11048,3938851.11048 +853200.0,1147240.068,960879.5489999999,2805768.2830799995,1351423.15814,1351423.15814,1351423.15814,1313238.227,2128987.75048,4054372.8563200003,1844102.38005,2810060.7696,1171998.357,1171998.357,1171998.357,1558381.6885000002,1147240.068,1147240.068,1439055.3959599996,1500793.27605,2230808.77082,3890945.5305000003,1104287.39818,1404446.0533900002,1316360.9370000002,1316360.9370000002,1316360.9370000002,1316360.9370000002,3449368.4711199994,3449368.4711199994 +856800.0,808157.2320000001,704797.548,2058008.84016,907310.9648900001,907310.9648900001,907310.9648900001,718295.032,1126882.96608,2513963.6883199997,1071812.80962,1633238.56704,629733.657,629733.657,629733.657,783643.0175000001,808157.2320000001,808157.2320000001,1026374.1107099999,710149.4936999999,1055580.2350799998,1841128.3169999998,522529.7509199999,664559.6496599999,841531.3019999999,841531.3019999999,841531.3019999999,841531.3019999999,2429859.41088,2429859.41088 +860400.0,136621.872,122707.66500000001,358306.3818,162429.73582,162429.73582,162429.73582,67983.34199999999,228963.10424,891820.3699200001,271895.30592,414316.65664,208569.369,208569.369,208569.369,131718.671,136621.872,136621.872,260025.61779999998,101549.2869,150944.86596,263275.929,74720.21604,95030.07342,177328.698,177328.698,177328.698,177328.698,410776.42848,410776.42848 +864000.0,138319.19400000002,121892.943,355927.39356,137768.23830000003,137768.23830000003,137768.23830000003,46838.77100000001,246455.18319999997,877566.36224,282034.15695000003,429766.33440000005,203242.032,203242.032,203242.032,126097.03749999999,138319.19400000002,138319.19400000002,255385.13181999998,94298.41394999999,140167.02517999997,244477.36949999997,69385.00581999999,88244.68861,177688.347,177688.347,177688.347,177688.347,415879.70996,415879.70996 +867600.0,151963.47600000002,143706.972,419624.35824,132573.04203,132573.04203,132573.04203,54701.3005,289989.57415999996,870359.9072000001,303872.3499,463043.5808,201589.434,201589.434,201589.434,123614.9495,151963.47600000002,151963.47600000002,280024.70314,102688.27245,152637.87657999998,266228.8545,75558.28442,96095.93891,180513.078,180513.078,180513.078,180513.078,456903.51784000004,456903.51784000004 +871200.0,177711.075,153940.227,449505.46284,129665.80440000001,129665.80440000001,129665.80440000001,59587.219999999994,353695.31343999994,860055.69856,339146.7769199999,516795.0886399999,204438.92700000003,204438.92700000003,204438.92700000003,122377.25149999998,177711.075,177711.075,285349.32023,118923.34139999998,176770.00375999996,308319.774,87504.08823999998,111288.75652,234147.57300000003,234147.57300000003,234147.57300000003,234147.57300000003,534317.9654999999,534317.9654999999 +874800.0,219794.07600000003,165167.86800000002,482290.17456,139519.64883999998,139519.64883999998,139519.64883999998,76756.9215,397879.13576,855744.3571200001,373570.23522,569249.88224,321395.598,321395.598,321395.598,209030.0625,219794.07600000003,219794.07600000003,302744.30042999994,139124.1744,206796.92096,360692.304,102367.91104,130192.74592,292044.201,292044.201,292044.201,292044.201,660847.5218400001,660847.5218400001 +878400.0,256543.72499999998,200657.84100000001,585920.89572,147882.39586999998,147882.39586999998,147882.39586999998,77868.70349999999,489195.3672,867144.80192,415864.78226999997,633698.71584,368875.305,368875.305,368875.305,236116.31749999998,256543.72499999998,256543.72499999998,322911.37502,155434.626,231041.09839999996,402978.66,114369.1816,145456.1068,335218.488,335218.488,335218.488,335218.488,771341.4665,771341.4665 +882000.0,313585.305,226376.244,661018.63248,167569.61265,167569.61265,167569.61265,84626.68549999999,545569.10912,921242.7296000001,482027.04962999996,734517.4089599999,388904.01,388904.01,388904.01,243334.2345,313585.305,313585.305,336371.75597999996,170737.20269999997,253787.15067999996,442652.0069999999,125628.85531999999,159776.29585999998,400244.511,400244.511,400244.511,400244.511,942846.4837,942846.4837 +885600.0,501979.905,257584.239,752145.97788,275201.11674,275201.11674,275201.11674,164691.35549999998,1036593.2606399999,1191442.3507200002,749450.10882,1142019.2134399998,430385.62799999997,430385.62799999997,430385.62799999997,370414.527,501979.905,501979.905,540875.0724,245951.79794999998,365587.61078,637652.8095,180971.94022,230162.29981,524611.515,524611.515,524611.515,524611.515,1509286.2477,1509286.2477 +889200.0,1234989.219,618738.192,1806715.52064,1696504.36373,1696504.36373,1696504.36373,1470181.1915000002,3377002.02848,4188219.1820800006,2952678.7298399997,4499319.96928,1194894.081,1194894.081,1194894.081,1803323.7249999999,1234989.219,1234989.219,2614440.13207,1598864.04225,2376583.0949,4145203.0725,1176448.1101,1496220.91855,1533729.645,1533729.645,1533729.645,1533729.645,3713200.9184599994,3713200.9184599994 +892800.0,1112009.652,1223139.0150000001,3571565.9238,2157798.1433800007,2157798.1433800007,2157798.1433800007,1975171.3379999998,4195644.164799999,3241077.86368,3270579.5539200003,4983740.272640001,1332778.581,1332778.581,1332778.581,1807653.8514999999,1112009.652,1112009.652,2215889.5782399997,2162252.1267,3214014.2722799997,5605838.847,1590990.4537199999,2023440.87906,1591822.1130000001,1591822.1130000001,1591822.1130000001,1591822.1130000001,3343442.35368,3343442.35368 +896400.0,2083907.793,2257719.045,6592539.6114,1727462.86757,1727462.86757,1727462.86757,2279902.1455,4423318.54456,7422394.382080001,3675428.0577,5600652.2784,1973108.5829999996,1973108.5829999996,1973108.5829999996,1653639.323,2083907.793,2083907.793,2661885.57284,1934659.0435499998,2875715.4178199996,5015782.705499999,1423526.9011799998,1810458.7098899998,2342312.613,2342312.613,2342312.613,2342312.613,6265616.097619999,6265616.097619999 +900000.0,1550269.0019999999,987503.2559999999,2883509.5075199995,835835.90816,835835.90816,835835.90816,998275.3339999999,2389006.6782400003,7326902.09088,1527534.85332,2327672.15744,1523693.9069999997,1523693.9069999997,1523693.9069999997,1555381.9155,1550269.0019999999,1550269.0019999999,2192622.4346,2310272.64045,3434034.88778,5989595.7345,1699904.3132200001,2161958.84131,1105202.0729999999,1105202.0729999999,1105202.0729999999,1105202.0729999999,4661142.13268,4661142.13268 +903600.0,808593.9180000001,550978.242,1608856.4666399998,472879.6492200001,472879.6492200001,472879.6492200001,620278.5225,1508580.44296,4217189.66272,1010248.51872,1539426.3142400002,661405.362,661405.362,661405.362,651295.799,808593.9180000001,808593.9180000001,874338.7312399999,1220673.0658500001,1814432.5571400002,3164707.9485000004,898174.2558600002,1142308.8690300002,658106.3520000001,658106.3520000001,658106.3520000001,658106.3520000001,2431172.3801200003,2431172.3801200003 +907200.0,829382.004,1161698.067,3392158.35564,712298.5103300001,712298.5103300001,712298.5103300001,972743.6074999999,1731333.3379199998,2893866.4256,1381136.6018100001,2104589.10752,738092.4750000001,738092.4750000001,738092.4750000001,1090668.159,829382.004,829382.004,989469.0297699998,879499.86705,1307305.97522,2280184.8405,647138.1737800001,823038.14719,829153.611,829153.611,829153.611,829153.611,2493675.22536,2493675.22536 +910800.0,683941.143,703263.699,2053530.00108,558673.00665,558673.00665,558673.00665,945653.31,1367440.19312,2206389.8745600004,1020518.33037,1555075.55104,619925.9369999999,619925.9369999999,619925.9369999999,784785.8795,683941.143,683941.143,789640.0953999999,726811.8700499999,1080347.52042,1884327.0705,534789.96858,680152.34259,639953.955,639953.955,639953.955,639953.955,2056383.0366200001,2056383.0366200001 +914400.0,591918.438,481143.87600000005,1404940.11792,337665.55163000006,337665.55163000006,337665.55163000006,634174.0299999999,1214958.90272,1996611.8112,882625.56396,1344953.24032,557765.145,557765.145,557765.145,486941.7525,591918.438,591918.438,709039.8393,635917.9508999999,945241.0035599999,1648676.169,467909.99844,595093.5886199999,572436.27,572436.27,572436.27,572436.27,1779701.4369199998,1779701.4369199998 +918000.0,997427.9369999999,1230869.181,3594138.00852,1552491.67095,1552491.67095,1552491.67095,1449465.2234999998,2282438.34656,2973814.19968,1757659.33875,2678338.04,897703.602,897703.602,897703.602,1436070.174,997427.9369999999,997427.9369999999,1597967.71901,1357260.2392499999,2017458.4296999997,3518822.8425,998675.4352999999,1270127.48315,1112969.088,1112969.088,1112969.088,1112969.088,2998933.33058,2998933.33058 +921600.0,970503.2370000001,1312183.443,3831575.65356,1760080.3726000001,1760080.3726000001,1760080.3726000001,1222514.0515,2465683.2093599997,3259867.62368,1850161.95315,2819294.4048,1048402.9380000001,1048402.9380000001,1048402.9380000001,1661033.5385,970503.2370000001,970503.2370000001,1699557.9541200001,1396037.9726999998,2075098.41868,3619357.707,1027208.18732,1306415.78186,1171207.095,1171207.095,1171207.095,1171207.095,2917979.73258,2917979.73258 +925200.0,885371.5140000002,1279713.618,3736763.76456,1143318.77528,1143318.77528,1143318.77528,1055383.9064999998,2349638.298,3231478.88576,1566530.2495499998,2387093.7136,895691.0790000001,895691.0790000001,895691.0790000001,1315424.033,885371.5140000002,885371.5140000002,1366621.66368,1178857.2087,1752276.6410800002,3056296.4670000006,867406.0449200001,1103177.4866600002,1116973.419,1116973.419,1116973.419,1116973.419,2662017.0187600004,2662017.0187600004 +928800.0,2206965.795,1788237.8429999999,5221654.50156,3542363.11616,3542363.11616,3542363.11616,2889431.6990000005,3547788.13312,6706154.0704,3700734.56739,5639214.578880001,2324041.4970000004,2324041.4970000004,2324041.4970000004,3004150.058,2206965.795,2206965.795,3987885.1847899994,2853409.356,4241364.0304,7397727.96,2099545.6496,2670227.5208,2470513.6289999997,2470513.6289999997,2470513.6289999997,2470513.6289999997,6635610.4903,6635610.4903 +932400.0,1652326.2389999998,904449.4619999999,2640992.42904,2263188.62,2263188.62,2263188.62,1737939.1575,2624524.0378400004,4637810.49536,2442538.2353399997,3721963.0252799997,1659502.9500000002,1659502.9500000002,1659502.9500000002,2190152.86,1652326.2389999998,1652326.2389999998,1466267.0233899998,1953356.6582999998,2903507.9217199995,5064258.003,1437284.6522799998,1827955.98394,1824061.116,1824061.116,1824061.116,1824061.116,4967994.225259999,4967994.225259999 +936000.0,1211990.607,868138.971,2534965.79532,1389130.2673600002,1389130.2673600002,1389130.2673600002,1352121.1269999999,2000282.5016799998,3783788.3552,1760044.96752,2681973.28384,1140017.595,1140017.595,1140017.595,1466260.8555,1211990.607,1211990.607,1302492.91588,1421509.05855,2112959.14382,3685393.8555,1045949.87518,1330251.68689,1257441.0750000002,1257441.0750000002,1257441.0750000002,1257441.0750000002,3644051.75838,3644051.75838 +939600.0,1059959.688,876507.4290000001,2559401.6926800003,1252217.7872600001,1252217.7872600001,1252217.7872600001,1205977.269,1944203.1775200001,3664645.7401600005,1699226.76672,2589297.93024,1066668.8760000002,1066668.8760000002,1066668.8760000002,1414586.7365,1059959.688,1059959.688,1312835.2095299999,1372383.2632499998,2039937.5913,3558030.6825,1009802.9937,1284279.64635,1206727.587,1206727.587,1206727.587,1206727.587,3186945.46192,3186945.46192 +943200.0,748632.4890000001,641250.471,1872451.37532,819041.48051,819041.48051,819041.48051,664200.929,1006761.5244799999,2258516.4224000005,975653.4456900001,1486710.01248,566713.0619999999,566713.0619999999,566713.0619999999,712840.7754999999,748632.4890000001,748632.4890000001,937206.01325,646299.2348999999,960671.9491599998,1675590.609,475548.57284,604808.41982,769748.9069999999,769748.9069999999,769748.9069999999,769748.9069999999,2250888.3502599997,2250888.3502599997 +946800.0,125462.541,111334.89300000001,325097.88756,139806.69373,139806.69373,139806.69373,64936.364499999996,206641.04744,791383.16224,228156.11552999998,347666.46176,186971.20799999998,186971.20799999998,186971.20799999998,119633.08700000001,125462.541,125462.541,234206.13905,91432.51245,135907.09258,237047.2545,67276.26842,85562.77091,158472.30599999998,158472.30599999998,158472.30599999998,158472.30599999998,377224.03994,377224.03994 +950400.0,123312.12,110244.783,321914.76636,125876.85011000001,125876.85011000001,125876.85011000001,44093.724500000004,216130.53352000003,787088.0864,251316.61758,382958.65536000003,183836.445,183836.445,183836.445,114464.04899999998,123312.12,123312.12,232065.45335999998,84951.92115000001,126274.21366000001,220245.72150000004,62507.83334000001,79498.21757000001,159278.223,159278.223,159278.223,159278.223,370758.4408,370758.4408 +954000.0,137109.717,127421.916,372071.99472,121688.62882000001,121688.62882000001,121688.62882000001,47640.215,230100.85887999996,791467.5475199999,262815.39375,400480.60000000003,183550.266,183550.266,183550.266,114157.211,137109.717,137109.717,248123.88848,89139.40245,132498.56858,231102.1545,65588.99242,83416.87291,164671.992,164671.992,164671.992,164671.992,412243.21577999997,412243.21577999997 +957600.0,145307.538,137388.714,401175.04488000006,116989.39868000001,116989.39868000001,116989.39868000001,49226.8875,245992.90047999998,785555.40992,298078.36884,454214.65728,181793.265,181793.265,181793.265,112243.5405,145307.538,145307.538,262949.05883999995,102327.83055,152102.10861999998,265294.3755,75293.07038,95758.63649,181649.238,181649.238,181649.238,181649.238,436891.33092,436891.33092 +961200.0,179628.68700000003,150885.96600000001,440587.02072,125476.65922,125476.65922,125476.65922,69650.9695,305004.56456,780564.86272,323657.34366,493192.14272,222200.943,222200.943,222200.943,145908.3885,179628.68700000003,179628.68700000003,266698.627,119840.51655,178133.31102,310697.6355,88178.94798,112147.05129,243921.783,243921.783,243921.783,243921.783,540083.5855800001,540083.5855800001 +964800.0,220143.456,161178.252,470640.49584,133782.32450000002,133782.32450000002,133782.32450000002,73385.91399999999,391809.90991999995,782915.6934400001,363896.87544,554509.52448,291478.014,291478.014,291478.014,208926.7985,220143.456,220143.456,287022.73847,135825.35624999998,201893.4925,352139.8125,99940.63249999999,127105.70375,278075.06999999995,278075.06999999995,278075.06999999995,278075.06999999995,661897.99104,661897.99104 +968400.0,269830.389,180176.66999999998,526115.8764,150672.67798,150672.67798,150672.67798,81669.8575,478169.4997599999,808300.0934400001,423717.52185,645664.7952,349094.289,349094.289,349094.289,226719.262,269830.389,269830.389,314363.18732,155581.36154999997,231259.20901999998,403359.0855,114477.14997999999,145593.42229,346093.455,346093.455,346093.455,346093.455,811290.03626,811290.03626 +972000.0,345795.306,221058.33599999998,645490.3411199999,248439.81261000002,248439.81261000002,248439.81261000002,161034.84949999998,597339.79808,983502.46336,529891.79418,807454.16256,393758.32499999995,393758.32499999995,393758.32499999995,266677.985,345795.306,345795.306,339489.6557,198518.8905,295082.4002,514678.60500000004,146070.6898,185774.46790000002,416713.542,416713.542,416713.542,416713.542,1039691.2200399999,1039691.2200399999 +975600.0,1103243.3220000002,1120185.744,3270942.37248,1085243.59119,1085243.59119,1085243.59119,1072104.7435,1659167.20232,1709167.15072,1449215.09439,2208327.7628800003,685979.439,685979.439,685979.439,1635490.626,1103243.3220000002,1103243.3220000002,2182077.25034,633213.51885,941221.0823399998,1641664.6785,465920.07065999997,592562.77443,1530271.989,1530271.989,1530271.989,1530271.989,3317084.92148,3317084.92148 +979200.0,2071374.909,1833306.4500000002,5353254.834,2696918.34907,2696918.34907,2696918.34907,1902723.3855,3096332.62128,3462717.3356800005,3044328.53046,4638976.80832,1274776.3110000002,1274776.3110000002,1274776.3110000002,1951383.6999999997,2071374.909,2071374.909,3145088.70676,1634166.29655,2429057.06302,4236727.435500001,1202423.59598,1529256.85529,2275079.568,2275079.568,2275079.568,2275079.568,6227933.89306,6227933.89306 +982800.0,2433169.806,2147584.4760000003,6270946.66992,2943627.25173,2943627.25173,2943627.25173,2394043.841,4046318.6352,9651373.3344,3161624.0565000004,4817712.848,2494556.892,2494556.892,2494556.892,2486538.698,2433169.806,2433169.806,2556373.7639699997,3336719.8806,4959766.341039999,8650755.246,2455166.7269599997,3122510.70308,2151483.8370000003,2151483.8370000003,2151483.8370000003,2151483.8370000003,7315730.550039999,7315730.550039999 +986400.0,1783267.5180000002,1363663.206,3981896.56152,2044131.4153700005,2044131.4153700005,2044131.4153700005,2560707.5795000005,3406374.4719999996,6251925.1136,3408824.21964,5194398.81088,2474618.535,2474618.535,2474618.535,2727277.5845,1783267.5180000002,1783267.5180000002,2008250.7142099997,3152181.3430500003,4685464.61362,8172322.000500001,2319382.81538,2949819.08399,1944569.7090000003,1944569.7090000003,1944569.7090000003,1944569.7090000003,5361691.004120001,5361691.004120001 +990000.0,1326603.06,1093727.847,3193685.31324,1873352.1152500003,1873352.1152500003,1873352.1152500003,2303056.3325,3409566.9313600003,6756637.324800001,2702788.37745,4118534.6704,1176106.005,1176106.005,1176106.005,2294147.0475,1326603.06,1326603.06,1264990.04814,2378258.0018999996,3535089.6719599995,6165854.079,1749928.11004,2225579.71042,1575712.7909999997,1575712.7909999997,1575712.7909999997,1575712.7909999997,3988653.2004,3988653.2004 +993600.0,1075126.956,891104.889,2602026.2758799996,1398688.3896700002,1398688.3896700002,1398688.3896700002,1544279.4394999999,2688546.8365599997,3470646.3968,2019234.147,3076928.2240000004,1070626.092,1070626.092,1070626.092,1529151.526,1075126.956,1075126.956,1119727.5142299999,1464462.72675,2176806.3246999998,3796755.2175,1077555.2903,1370447.83565,1157541.753,1157541.753,1157541.753,1157541.753,3232548.38104,3232548.38104 +997200.0,802325.6280000001,631470.816,1843894.78272,772381.21785,772381.21785,772381.21785,853647.774,1742661.42536,2442054.7545600003,1342072.1800499998,2045062.3696,749596.9709999999,749596.9709999999,749596.9709999999,1036535.8570000001,802325.6280000001,802325.6280000001,803793.78495,951088.8618,1413717.27112,2465785.938,699813.53288,890031.30524,862969.953,862969.953,862969.953,862969.953,2412325.72152,2412325.72152 +1000800.0,709131.993,566324.7660000001,1653668.3167200002,660423.76774,660423.76774,660423.76774,756750.8725,1367126.56176,2219679.45728,1124390.99661,1713357.70912,665336.979,665336.979,665336.979,900427.031,709131.993,709131.993,700956.6872099999,829059.0488999999,1232329.7467599998,2149412.349,610023.69524,775835.50502,762782.286,762782.286,762782.286,762782.286,2132123.52562,2132123.52562 +1004400.0,956024.919,824654.709,2407991.75028,1092343.0265000002,1092343.0265000002,1092343.0265000002,1039672.2000000001,1845590.0471199998,3296921.78112,1586356.8199500002,2417305.6304,952736.7450000001,952736.7450000001,952736.7450000001,1226731.1105,956024.919,956024.919,1205512.35389,1208914.27155,1796954.05302,3134222.1855,889522.1059800001,1131304.96029,1071783.945,1071783.945,1071783.945,1071783.945,2874448.25646,2874448.25646 +1008000.0,1005460.1129999999,874677.7440000001,2554059.01248,1177833.2055600001,1177833.2055600001,1177833.2055600001,1101396.5340000002,1942355.4424000003,3505886.24896,1674856.89063,2552162.88096,1011486.0569999999,1011486.0569999999,1011486.0569999999,1292506.95,1005460.1129999999,1005460.1129999999,1298292.18896,1283261.2150499998,1907464.8184199997,3326973.5204999996,944226.7705799999,1200879.0135899999,1137637.299,1137637.299,1137637.299,1137637.299,3023083.40642,3023083.40642 +1011600.0,1012453.6350000001,877213.5629999998,2561463.6039599995,1207496.51737,1207496.51737,1207496.51737,1128648.1534999998,1961974.53696,3514574.4512,1690146.15903,2575460.81376,1016713.5750000001,1016713.5750000001,1016713.5750000001,1301909.3605,1012453.6350000001,1012453.6350000001,1300843.1243599998,1292410.7766,1921064.9074399997,3350694.606,950959.04056,1209441.19588,1143714.798,1143714.798,1143714.798,1143714.798,3044110.5959,3044110.5959 +1015200.0,1024023.591,879785.1510000001,2568972.64092,1266427.0608,1266427.0608,1266427.0608,1180646.9185,1994343.39688,3521961.30752,1717393.49313,2616980.56096,1023780.297,1023780.297,1023780.297,1317450.183,1024023.591,1024023.591,1304394.1068600002,1308065.8653,1944334.94052,3391281.873,962478.09348,1224091.2665400002,1154195.5499999998,1154195.5499999998,1154195.5499999998,1154195.5499999998,3078897.5969399996,3078897.5969399996 +1018800.0,1024676.9609999999,880297.5599999998,2570468.8751999997,1267718.7526300002,1267718.7526300002,1267718.7526300002,1182266.428,1997059.9196,3522955.27168,1719055.86804,2619513.7036800003,1024603.2749999999,1024603.2749999999,1024603.2749999999,1317845.3120000002,1024676.9609999999,1024676.9609999999,1303695.6419499998,1308309.9588,1944697.7659199997,3391914.7079999996,962657.69808,1224319.68984,1154648.775,1154648.775,1154648.775,1154648.775,3080862.0627399995,3080862.0627399995 +1022400.0,1019002.9290000001,877240.209,2561541.41028,1248115.25982,1248115.25982,1248115.25982,1165157.581,1983619.3231199998,3508759.5916800005,1707578.3100600003,2602024.0915200002,1019605.161,1019605.161,1019605.161,1308846.6125,1019002.9290000001,1019002.9290000001,1298163.28577,1299496.8024,1931597.7161599998,3369065.784,956172.95584,1216072.31632,1148334.3029999998,1148334.3029999998,1148334.3029999998,1148334.3029999998,3063802.13986,3063802.13986 +1026000.0,966897.3839999998,777072.402,2269051.41384,1029285.7309900001,1029285.7309900001,1029285.7309900001,875957.4635,1613684.0909599997,2487508.99008,1384693.1143500002,2110008.5552000003,790343.4810000001,790343.4810000001,790343.4810000001,1017781.2679999999,966897.3839999998,966897.3839999998,1226391.8952999997,1016272.9475999998,1510608.1838399998,2634781.7159999995,747776.1441599999,951030.73368,984321.5549999999,984321.5549999999,984321.5549999999,984321.5549999999,2907138.1345599997,2907138.1345599997 +1029600.0,422528.226,295305.96900000004,862293.42948,541149.34896,541149.34896,541149.34896,363602.12,770231.5614399998,987517.6620800002,640827.84759,976499.5772800001,347668.233,347668.233,347668.233,442388.639,422528.226,422528.226,697198.8602799999,223434.2718,332117.11512,579274.038,164403.48888,209090.34324,532500.858,532500.858,532500.858,532500.858,1270401.53284,1270401.53284 +1033200.0,146452.66199999998,104605.59900000002,305448.34908,154566.98422,154566.98422,154566.98422,62958.39200000001,291645.57624,728844.8352,280336.32984,427179.16928000003,199589.175,199589.175,199589.175,115206.5495,146452.66199999998,146452.66199999998,219440.75699,89195.86755000001,132582.49942,231248.5455,65630.53958000001,83469.71309,160041.03600000002,160041.03600000002,160041.03600000002,160041.03600000002,440334.33707999997,440334.33707999997 +1036800.0,143235.063,111507.945,325603.19940000004,130833.19843,130833.19843,130833.19843,46413.1815,303144.13328,719141.6377600001,269207.17425,410220.456,194978.63400000002,194978.63400000002,194978.63400000002,108642.058,143235.063,143235.063,215690.17391999997,82660.59719999999,122868.34447999997,214305.25199999998,60821.87151999999,77353.99096,154791.795,154791.795,154791.795,154791.795,430660.08942,430660.08942 +1040400.0,153224.316,130683.84,381596.81279999996,127098.44026,127098.44026,127098.44026,49874.8705,311522.31408,736963.6979200001,278630.51874,424579.83808,196685.48400000003,196685.48400000003,196685.48400000003,107900.4675,153224.316,153224.316,224584.84996999995,94389.39314999999,140302.25845999998,244713.24149999997,69451.94854,88329.82716999999,158626.518,158626.518,158626.518,158626.518,460694.44343999994,460694.44343999994 +1044000.0,156731.55,149525.376,436614.09792000003,126488.32691,126488.32691,126488.32691,56144.52900000001,305666.87896,753819.0374400001,294646.13703,448984.58976,195292.743,195292.743,195292.743,106527.0535,156731.55,156731.55,245518.54236,98115.08129999999,145840.19491999998,254372.433,72193.31908,91816.33534,183962.25,183962.25,183962.25,183962.25,471239.52699999994,471239.52699999994 +1047600.0,173361.561,159877.542,466842.42263999995,132514.30379,132514.30379,132514.30379,62818.938,308777.37392,758082.3110400001,317976.51501,484535.64192,256940.304,256940.304,256940.304,118284.796,173361.561,173361.561,246325.82871,110486.39355,164229.15782,286446.2055,81296.16118,103393.43989000001,223708.06500000003,223708.06500000003,223708.06500000003,223708.06500000003,521240.42673999997,521240.42673999997 +1051200.0,203202.24300000002,172588.2,503957.544,137265.42236000003,137265.42236000003,137265.42236000003,68000.646,345036.50312,755541.92896,336794.28195,513210.3344,291467.442,291467.442,291467.442,185487.28100000002,203202.24300000002,203202.24300000002,263692.00662999996,126475.16174999998,187995.17869999996,327898.5675,93060.73629999999,118355.76865,256221.804,256221.804,256221.804,256221.804,610961.41062,610961.41062 +1054800.0,250504.00499999998,185469.12,541569.8304,148735.42717,148735.42717,148735.42717,75304.285,426184.40688,767797.792,387509.6442,590490.8864,318504.627,318504.627,318504.627,202587.028,250504.00499999998,250504.00499999998,277127.05812999996,139519.95659999998,207385.21943999996,361718.40599999996,102659.12855999998,130563.11987999998,303339.396,303339.396,303339.396,303339.396,753182.0417,753182.0417 +1058400.0,301856.68799999997,197834.39399999997,577676.43048,238923.29384000003,238923.29384000003,238923.29384000003,153208.49250000002,519396.17384,907041.7728,464949.1791,708493.9872000001,343347.006,343347.006,343347.006,235225.704,301856.68799999997,301856.68799999997,306662.38694,175862.22255,261405.08141999997,455939.0955,129399.85758,164572.30209,354782.712,354782.712,354782.712,354782.712,907582.4419199999,907582.4419199999 +1062000.0,1045833.642,1075226.529,3139661.4646799997,1063540.6621400001,1063540.6621400001,1063540.6621400001,1063686.7710000002,1566259.0628000002,1559261.06368,1351285.83975,2059102.232,630466.92,630466.92,630466.92,1603295.3824999998,1045833.642,1045833.642,1986732.0921499997,594647.68545,883896.06578,1541679.1845,437543.23522000003,556472.77231,1420997.163,1420997.163,1420997.163,1420997.163,3144473.1502799997,3144473.1502799997 +1065600.0,1950836.4000000001,1737111.327,5072365.07484,2544452.45758,2544452.45758,2544452.45758,1773562.2275,2917504.5329599995,3246237.7036800003,2911640.51409,4436785.54528,1210863.0690000001,1210863.0690000001,1210863.0690000001,1717156.8645000001,1950836.4000000001,1950836.4000000001,2953042.18885,1543823.39205,2294769.58522,4002505.0905,1135949.06378,1444713.7421900001,2159505.5760000004,2159505.5760000004,2159505.5760000004,2159505.5760000004,5865514.776000001,5865514.776000001 +1069200.0,2315315.6279999996,2043794.5620000002,5967880.121040001,2741631.59292,2741631.59292,2741631.59292,2268815.5069999998,3791092.80568,9258146.296319999,2966948.67504,4521064.64768,2378028.489,2378028.489,2378028.489,2324492.6075,2315315.6279999996,2315315.6279999996,2360701.82881,3246074.5220999997,4825029.289639999,8415748.761,2388469.64836,3037684.55278,1958937.426,1958937.426,1958937.426,1958937.426,6961382.321519999,6961382.321519999 +1072800.0,1670783.088,1258625.577,3675186.68484,1859591.8319,1859591.8319,1859591.8319,2423978.823,3169778.70384,5708060.2432,3208535.2238100003,4889196.531520001,2224006.323,2224006.323,2224006.323,2462875.156,1670783.088,1670783.088,1871963.9914299997,2908789.3961999994,4323682.0160799995,7541305.841999999,2140294.41992,2722052.29916,1828868.1809999999,1828868.1809999999,1828868.1809999999,1828868.1809999999,5023487.817919999,5023487.817919999 +1076400.0,1224661.509,972735.24,2840386.9008,1733255.4218100002,1733255.4218100002,1733255.4218100002,2127378.071,3219154.65408,6314379.153280001,2496478.86873,3804158.2761600004,1063963.617,1063963.617,1063963.617,2107783.608,1224661.509,1224661.509,1086056.6484299998,2140497.6448500003,3181677.98074,5549438.338500001,1574983.4522600002,2003082.98123,1418788.3530000001,1418788.3530000001,1418788.3530000001,1418788.3530000001,3682148.93706,3682148.93706 +1080000.0,983752.068,821128.065,2397693.9497999996,1278135.4373700004,1278135.4373700004,1278135.4373700004,1416666.2895,2456282.69568,3075149.76896,1879561.4096700002,2864093.5766400006,971841.8699999999,971841.8699999999,971841.8699999999,1382646.881,983752.068,983752.068,1010582.2698399998,1319303.4246,1961038.6706400001,3420416.2860000003,970746.7173600001,1234607.40228,1047904.7189999999,1047904.7189999999,1047904.7189999999,1047904.7189999999,2957814.5511199995,2957814.5511199995 +1083600.0,724378.233,564717.8640000001,1648976.16288,675900.7811600001,675900.7811600001,675900.7811600001,753097.0545,1559167.2821599997,2175531.6704,1206405.63309,1838332.39328,665855.988,665855.988,665855.988,925421.7945000001,724378.233,724378.233,700807.19722,846774.26325,1258661.9912999999,2195340.6825,623058.5937,792413.44635,771157.7339999999,771157.7339999999,771157.7339999999,771157.7339999999,2177963.88722,2177963.88722 +1087200.0,642159.84,506552.502,1479133.30584,570843.09216,570843.09216,570843.09216,676037.7925,1239220.19576,1967673.9488000001,1010355.9862200001,1539590.0742400002,594253.4550000001,594253.4550000001,594253.4550000001,785345.827,642159.84,642159.84,601260.2404899999,736230.2260499999,1094347.1508199999,1908745.0304999999,541720.0181799999,688966.0633899999,676539.6479999999,676539.6479999999,676539.6479999999,676539.6479999999,1930760.5855999999,1930760.5855999999 +1090800.0,887132.0189999999,762383.511,2226159.8521200004,1000855.7309300001,1000855.7309300001,1000855.7309300001,960309.7035000001,1709960.5789599998,3033110.86336,1471770.8611200002,2242698.4550400004,874606.89,874606.89,874606.89,1117198.6665,887132.0189999999,887132.0189999999,1104547.9767399998,1112557.8176999998,1653727.9166799996,2884409.1569999997,818622.7893199999,1041134.3528599999,983877.4679999999,983877.4679999999,983877.4679999999,983877.4679999999,2667310.2704599993,2667310.2704599993 +1094400.0,930040.2810000001,806140.6680000001,2353930.75056,1080438.1137,1080438.1137,1080438.1137,1014638.121,1792483.9954400002,3213824.89984,1548147.9409200002,2359082.5766400006,926587.08,926587.08,926587.08,1175192.5359999998,930040.2810000001,930040.2810000001,1190425.6253499999,1177870.005,1750809.2419999996,3053737.05,866679.6579999999,1102253.659,1042892.925,1042892.925,1042892.925,1042892.925,2796321.11154,2796321.11154 +1098000.0,931826.64,803660.9100000001,2346689.8572000004,1104973.65693,1104973.65693,1104973.65693,1035983.7845000001,1799883.0652,3200260.0096,1554762.5293200002,2369161.94944,925320.504,925320.504,925320.504,1176729.2635000001,931826.64,931826.64,1186846.31676,1179826.7665499998,1753717.81102,3058810.1355,868119.4479799999,1104084.8012899999,1043127.855,1043127.855,1043127.855,1043127.855,2801692.0976,2801692.0976 +1101600.0,983270.679,845131.0560000001,2467782.68352,1209336.14923,1209336.14923,1209336.14923,1133675.4205,1926582.2856799997,3382860.93184,1653002.0341800002,2518860.2425600006,984260.7959999999,984260.7959999999,984260.7959999999,1255974.6185,983270.679,983270.679,1237677.01148,1252875.0410999998,1862298.2092399998,3248194.5509999995,921868.5487599999,1172443.5569799999,1102996.2480000001,1102996.2480000001,1102996.2480000001,1102996.2480000001,2956367.1748599997,2956367.1748599997 +1105200.0,970114.521,832168.23,2429931.2315999996,1195006.2205400001,1195006.2205400001,1195006.2205400001,1119442.0265000002,1896317.7120800002,3323144.7462400002,1629941.8512300001,2483720.91616,967107.774,967107.774,967107.774,1234507.225,970114.521,970114.521,1220929.29855,1233259.3683,1833141.08572,3197339.103,907435.2882800001,1154087.1619400003,1086461.5499999998,1086461.5499999998,1086461.5499999998,1086461.5499999998,2916810.99314,2916810.99314 +1108800.0,969294.543,833844.135,2434824.8742,1181006.03104,1181006.03104,1181006.03104,1107878.7335,1894164.13616,3330263.5628800006,1627020.1794,2479268.8448,968419.254,968419.254,968419.254,1233392.426,969294.543,969294.543,1221357.5569,1231497.8450999998,1830522.7228399997,3192772.1909999996,906139.1551599998,1152438.72418,1086233.613,1086233.613,1086233.613,1086233.613,2914345.59262,2914345.59262 +1112400.0,918883.773,736611.108,2150904.43536,972791.83144,972791.83144,972791.83144,830241.9755000001,1537916.20544,2350287.0464000003,1316565.5151600002,2006195.0707200002,748075.794,748075.794,748075.794,954856.6089999999,918883.773,918883.773,1152588.7800699999,959472.15525,1426178.3641,2487520.4025,705981.9809,897876.41195,929697.096,929697.096,929697.096,929697.096,2762777.21082,2762777.21082 +1116000.0,401231.121,279228.06299999997,815345.94396,513841.0734600001,513841.0734600001,513841.0734600001,344437.387,736742.7705599999,930516.3737600001,610492.94565,930274.9648000001,333417.492,333417.492,333417.492,413888.6325,401231.121,401231.121,652385.81707,211208.75954999996,313944.87221999996,547578.2655,155407.92677999998,197649.67868999997,501249.21599999996,501249.21599999996,501249.21599999996,501249.21599999996,1206368.2371399999,1206368.2371399999 +1119600.0,140260.032,100093.20300000001,292272.15276,149959.52037,149959.52037,149959.52037,61414.03799999999,283751.96944,689419.89312,269337.49248,410419.0361600001,192642.033,192642.033,192642.033,109696.64300000001,140260.032,140260.032,209647.67875999998,84932.3232,126245.08287999999,220194.91199999998,62493.41312,79479.87776,152621.844,152621.844,152621.844,152621.844,421715.16288,421715.16288 +1123200.0,136840.908,105004.644,306613.56048,127328.02489,127328.02489,127328.02489,42458.668000000005,294958.28119999997,687779.80928,260195.36990999998,396488.18272,190644.57300000003,190644.57300000003,190644.57300000003,104514.718,136840.908,136840.908,208123.10115999996,78014.2104,115961.86335999999,202259.064,57403.04864,73005.89072,148540.005,148540.005,148540.005,148540.005,411434.99672,411434.99672 +1126800.0,151657.554,133529.217,389905.31364,129419.99268000001,129419.99268000001,129419.99268000001,49647.297000000006,322518.71872,741401.2147200002,279119.51277000003,425324.9718400001,202868.90700000004,202868.90700000004,202868.90700000004,108280.6375,151657.554,151657.554,223215.35158,93518.90234999999,139008.34373999998,242456.4135,68811.43926,87515.21973,155898.072,155898.072,155898.072,155898.072,455983.71235999995,455983.71235999995 +1130400.0,159660.135,157453.49099999998,459764.1937199999,131358.62322,131358.62322,131358.62322,54930.5505,327895.74688,787449.12832,299589.01412999997,456516.59296,208471.80599999998,208471.80599999998,208471.80599999998,109318.0165,159660.135,159660.135,253392.04098,99439.60545,147808.99378,257806.38450000001,73167.90722000001,93055.82831000001,180253.752,180253.752,180253.752,180253.752,480044.8059,480044.8059 +1134000.0,175823.112,166354.71600000001,485755.77072,139791.63473000002,139791.63473000002,139791.63473000002,63911.420999999995,332528.74736,798431.75936,328135.03380000003,500015.2896,269991.48600000003,269991.48600000003,269991.48600000003,119745.86050000001,175823.112,175823.112,254959.85085999998,113201.56214999998,168265.03805999996,293485.5315,83293.98894,105934.30136999999,226045.467,226045.467,226045.467,226045.467,528641.4900799999,528641.4900799999 +1137600.0,204391.34699999998,180775.953,527865.7827600001,144377.2264,144377.2264,144377.2264,70015.0955,371813.38784000004,796395.01248,348309.02127,530756.6038400001,311250.27900000004,311250.27900000004,311250.27900000004,193433.65649999998,204391.34699999998,204391.34699999998,274933.60192999995,130656.47084999998,194210.35913999996,338738.9985,96137.35385999999,122268.64802999998,263125.725,263125.725,263125.725,263125.725,614536.6499799999,614536.6499799999 +1141200.0,262482.162,200419.272,585224.2742399999,160062.41217999998,160062.41217999998,160062.41217999998,79069.3715,478823.76080000005,834877.8009600001,413144.92715999996,629554.17472,354110.841,354110.841,354110.841,218018.2025,262482.162,262482.162,297762.44393999997,148697.34165,221026.66585999995,385511.62649999995,109411.87113999999,139151.33946999998,325063.52999999997,325063.52999999997,325063.52999999997,325063.52999999997,789196.36708,789196.36708 +1144800.0,421981.929,241482.897,705130.05924,265550.28797,265550.28797,265550.28797,158077.22,973795.81656,1023072.4467200001,658830.3829799999,1003932.0121599999,401552.64600000007,401552.64600000007,401552.64600000007,345370.424,421981.929,421981.929,523603.3676899999,209888.53245,311982.46058,544155.4545000001,154436.50042000003,196414.20691,453433.902,453433.902,453433.902,453433.902,1268758.99986,1268758.99986 +1148400.0,1165471.377,557157.6900000001,1626900.4548,1606979.78089,1606979.78089,1606979.78089,1376950.491,3270971.60168,3828912.9811200006,2766678.5162099996,4215891.072319999,1100526.8760000002,1100526.8760000002,1100526.8760000002,1521791.957,1165471.377,1165471.377,2482426.8104999997,1497999.1526999997,2226655.53068,3883701.5069999998,1102231.47532,1401831.30586,1436246.07,1436246.07,1436246.07,1436246.07,3504183.94018,3504183.94018 +1152000.0,1063214.229,1145773.3110000002,3345658.0681200004,1981126.70019,1981126.70019,1981126.70019,1874702.487,4067280.3691199995,3150110.2489600005,3129753.99702,4769148.9478400005,1305801.396,1305801.396,1305801.396,1689020.5605000001,1063214.229,1063214.229,2175376.2565599997,2088224.0235000001,3103977.4374,5413914.135000001,1536520.3926000001,1954165.1973,1524585.0480000002,1524585.0480000002,1524585.0480000002,1524585.0480000002,3196730.78186,3196730.78186 +1155600.0,2038524.0869999998,2233124.7600000002,6520724.2992,1594903.56993,1594903.56993,1594903.56993,2121527.8734999998,4316693.16776,7319104.44928,3563476.4823000003,5430059.4016,1926198.159,1926198.159,1926198.159,1586357.339,2038524.0869999998,2038524.0869999998,2827269.35166,1837644.5619,2731511.17596,4764263.6790000005,1352143.40604,1719672.3184200001,2286139.743,2286139.743,2286139.743,2286139.743,6129162.42158,6129162.42158 +1159200.0,1400008.062,953020.536,2782819.96512,635813.72723,635813.72723,635813.72723,781581.213,2125137.33336,6715000.26112,1239302.5215899998,1888460.98528,1398169.3769999999,1398169.3769999999,1398169.3769999999,1392956.6524999999,1400008.062,1400008.062,2232999.5515099997,2149405.86285,3194919.3319400004,5572533.718500001,1581538.1410600003,2011419.3136300005,946091.169,946091.169,946091.169,946091.169,4209357.57308,4209357.57308 +1162800.0,618097.9199999999,423254.838,1235904.12696,264615.11186000006,264615.11186000006,264615.11186000006,388365.194,1214038.58296,3090565.77152,666807.4467600001,1016087.53792,467913.65699999995,467913.65699999995,467913.65699999995,408152.7555,618097.9199999999,618097.9199999999,616688.176,748376.8443,1112402.12412,1940236.2630000003,550657.52988,700332.8987400001,441797.877,441797.877,441797.877,441797.877,1858414.4127999998,1858414.4127999998 +1166400.0,764107.923,1167019.797,3407697.80724,626447.14726,626447.14726,626447.14726,927323.6420000001,1698249.078,2754071.1660800003,1286974.21104,1961103.5596800002,699440.97,699440.97,699440.97,1048620.58,764107.923,764107.923,868463.7539499998,829276.08435,1232652.3525399999,2149975.0335,610183.39046,776038.60733,764931.048,764931.048,764931.048,764931.048,2297417.8218199997,2297417.8218199997 +1170000.0,553736.2710000001,570746.052,1666578.47184,408681.1012900001,408681.1012900001,408681.1012900001,790253.8875,1162430.87672,1708243.9283200002,802788.03549,1223296.0540800001,503559.03599999996,503559.03599999996,503559.03599999996,566162.7649999999,553736.2710000001,553736.2710000001,578572.97602,549038.6630999999,816101.9140399998,1423433.5709999998,403984.00395999994,513791.73657999997,498447.24000000005,498447.24000000005,498447.24000000005,498447.24000000005,1664900.38814,1664900.38814 +1173600.0,540225.255,456050.688,1331668.00896,277658.41180000006,277658.41180000006,277658.41180000006,509143.26399999997,1179364.61664,1861075.952,814388.99514,1240973.70688,536933.262,536933.262,536933.262,444469.123,540225.255,540225.255,637895.74979,578228.40225,859490.1189,1499110.6725,425461.8861,541107.56655,526952.166,526952.166,526952.166,526952.166,1624277.2666999998,1624277.2666999998 +1177200.0,930199.2149999999,1077252.168,3145576.3305599997,1421338.8839099999,1421338.8839099999,1421338.8839099999,1389628.457,2128014.66048,2905416.54656,1708884.19233,2604014.00736,870835.065,870835.065,870835.065,1412360.3165000002,930199.2149999999,930199.2149999999,1487716.4487899998,1319101.7426999998,1960738.8866799995,3419893.4069999997,970598.3193199999,1234418.66786,954740.673,954740.673,954740.673,954740.673,2796798.9730999996,2796798.9730999996 +1180800.0,931449.4319999999,1317496.593,3847090.05156,1577818.2919400001,1577818.2919400001,1577818.2919400001,1181619.3585,2456987.41432,3275655.91808,1794077.6063700002,2733832.5430400004,1056118.761,1056118.761,1056118.761,1649550.966,931449.4319999999,931449.4319999999,1621003.0062199999,1373458.9675500002,2041536.53942,3560819.5455000005,1010594.4995800001,1285286.29309,1129807.29,1129807.29,1129807.29,1129807.29,2800557.95888,2800557.95888 +1184400.0,887461.809,1224767.3760000002,3576320.73792,1115961.6028000002,1115961.6028000002,1115961.6028000002,1064043.5785,2451171.80216,3349160.83904,1614904.8971999998,2460807.4624,938555.7509999999,938555.7509999999,938555.7509999999,1345119.0795,887461.809,887461.809,1316837.76926,1198389.6945,1781310.1138,3106936.245,881778.0962,1121456.0351,1100791.614,1100791.614,1100791.614,1100791.614,2668301.8390599997,2668301.8390599997 +1188000.0,2228758.4820000003,1812081.5940000003,5291278.254480001,3519343.04557,3519343.04557,3519343.04557,2913699.761,3518146.3195999996,6842962.8460800005,3745027.68633,5706708.85536,2359115.004,2359115.004,2359115.004,3022060.5205,2228758.4820000003,2228758.4820000003,3739898.83826,2876329.55745,4275433.07058,7457150.7045,2116410.39042,2691676.30191,2501257.857,2501257.857,2501257.857,2501257.857,6701133.83588,6701133.83588 +1191600.0,1654263.171,935832.2309999999,2732630.11452,2115638.97512,2115638.97512,2115638.97512,1762535.6245,2701327.1976799998,4715993.8272,2437260.49434,3713920.7532800003,1638164.433,1638164.433,1638164.433,2040488.9819999998,1654263.171,1654263.171,1352862.7163999998,1881000.8487,2795956.81708,4876668.867000001,1384045.06892,1760245.2386600003,1775209.779,1775209.779,1775209.779,1775209.779,4973817.9341400005,4973817.9341400005 +1195200.0,1246325.379,904380.918,2640792.28056,1307772.6686200001,1307772.6686200001,1307772.6686200001,1323647.227,2096114.1101600002,3910075.1808000007,1824113.0145,2779600.7840000005,1133346.5129999998,1133346.5129999998,1133346.5129999998,1521519.902,1246325.379,1246325.379,1314198.7050399997,1471265.1472500002,2186917.5769,3814391.1225000005,1082560.5281,1376813.55755,1287831.9360000002,1287831.9360000002,1287831.9360000002,1287831.9360000002,3747284.97286,3747284.97286 +1198800.0,1082316.915,903670.5119999999,2638717.8950399994,1247646.23709,1247646.23709,1247646.23709,1228417.729,2006820.49264,3802741.2716800007,1742406.17943,2655095.13056,1096881.858,1096881.858,1096881.858,1445724.2170000002,1082316.915,1082316.915,1324558.21368,1406618.5166999998,2090825.5482799998,3646788.747,1034993.3777199999,1316317.08106,1231303.827,1231303.827,1231303.827,1231303.827,3254166.1911,3254166.1911 +1202400.0,759078.681,655666.2180000001,1914545.3565600002,810164.62329,810164.62329,810164.62329,667461.0635,1052906.19688,2337908.42432,1004522.86767,1530701.5126399999,588850.488,588850.488,588850.488,719357.919,759078.681,759078.681,936321.8919599999,658681.6117499999,979077.3586999999,1707693.0675,484659.5563,616395.87865,777346.464,777346.464,777346.464,777346.464,2282296.5675399997,2282296.5675399997 +1206000.0,133982.277,120795.11099999999,352721.72411999997,162407.0822,162407.0822,162407.0822,67703.78300000001,225794.13336,872901.84512,263407.60005,401383.00960000005,205398.84,205398.84,205398.84,129605.52849999999,133982.277,133982.277,255672.93336,99807.0741,148355.20644,258759.081,73438.29156,93399.70638,172545.75,172545.75,172545.75,172545.75,402840.04617999995,402840.04617999995 +1209600.0,137017.72499999998,121925.484,356022.41328,140595.45973,140595.45973,140595.45973,47246.678499999995,251792.62784,879617.7536,283564.12707,432097.71744,204641.58599999998,204641.58599999998,204641.58599999998,126500.3075,137017.72499999998,137017.72499999998,256363.02887,94659.50385,140703.75634,245413.52850000001,69650.69666,88582.59743000001,176572.95299999998,176572.95299999998,176572.95299999998,176572.95299999998,411966.62649999995,411966.62649999995 +1213200.0,149523.138,142466.91599999997,416003.3947199999,134342.98735,134342.98735,134342.98735,54120.115,320452.26976,867083.3952,302509.13070000004,460966.2944000001,203097.831,203097.831,203097.831,123587.98550000001,149523.138,149523.138,278316.75872,101322.66105,150608.00481999997,262688.38049999997,74553.46418,94817.99639,178115.844,178115.844,178115.844,178115.844,449566.23492,449566.23492 +1216800.0,175899.924,151312.59900000002,441832.78908,133063.01712,133063.01712,133063.01712,60128.512500000004,371312.67208000005,866579.87968,344113.36932,524363.22944,229573.653,229573.653,229573.653,123309.641,175899.924,175899.924,287787.76415999996,119305.29284999998,177337.74394,309310.0185,87785.12905999999,111646.18763,222131.51700000002,222131.51700000002,222131.51700000002,222131.51700000002,528872.43816,528872.43816 +1220400.0,216604.212,163902.825,478596.249,141225.26781,141225.26781,141225.26781,77289.27849999999,407453.71647999994,860464.9497600001,377579.40570000006,575359.0944000001,327491.808,327491.808,327491.808,204190.112,216604.212,216604.212,302132.14615999995,139066.78185,206711.61153999998,360543.5085,102325.68145999999,130139.03783,286525.284,286525.284,286525.284,286525.284,651256.6640799999,651256.6640799999 +1224000.0,250856.20500000002,210730.509,615333.0862799999,154431.09913000002,154431.09913000002,154431.09913000002,77922.30249999999,490542.49168000004,867630.81152,412934.51787,629233.55104,369940.077,369940.077,369940.077,234607.47449999998,250856.20500000002,250856.20500000002,319624.73568999994,153847.1232,228681.40288,398862.912,113201.09312,143970.51776000002,322179.252,322179.252,322179.252,322179.252,754240.9896999999,754240.9896999999 +1227600.0,304214.16000000003,226400.853,661090.49076,174725.47851000002,174725.47851000002,174725.47851000002,85452.6925,558943.66688,919651.8995200001,481780.99011,734142.46112,397765.059,397765.059,397765.059,244557.649,304214.16000000003,304214.16000000003,338349.6183599999,170992.43775,254166.5371,443313.72750000004,125816.6579,160015.14545,392444.652,392444.652,392444.652,392444.652,914670.5743999999,914670.5743999999 +1231200.0,496318.563,264171.711,771381.3961199999,277679.22578000004,277679.22578000004,277679.22578000004,164798.165,1055882.96168,1167970.69824,753864.52596,1148745.94432,446044.029,446044.029,446044.029,374525.8125,496318.563,496318.563,548167.4556799999,250240.88564999998,371962.99545999995,648772.6665,184127.86153999998,234176.03867,523391.448,523391.448,523391.448,523391.448,1492264.47942,1492264.47942 +1234800.0,1227251.319,602466.282,1759201.5434400002,1654954.7146000003,1654954.7146000003,1654954.7146000003,1453304.4295,3386783.6722399998,4151122.5056000003,2919926.65923,4449412.05216,1184250.1260000002,1184250.1260000002,1184250.1260000002,1739276.9764999999,1227251.319,1227251.319,2577312.10763,1573912.1907,2339494.16988,4080513.087,1158088.47612,1472870.91426,1518681.693,1518681.693,1518681.693,1518681.693,3689935.6324599995,3689935.6324599995 +1238400.0,1101876.0899999999,1217157.318,3554099.36856,2076932.09075,2076932.09075,2076932.09075,1950464.439,4191085.8287200006,3229418.93184,3239701.5860999995,4936688.1312,1326008.7,1326008.7,1326008.7,1772962.8244999999,1101876.0899999999,1101876.0899999999,2201776.51395,2147929.5365999998,3192724.8914399995,5568706.205999999,1580451.8565599998,2010037.7638799998,1573898.412,1573898.412,1573898.412,1573898.412,3312974.1106,3312974.1106 +1242000.0,2065825.869,2257751.151,6592633.360920001,1663405.0846600002,1663405.0846600002,1663405.0846600002,2208897.0505000004,4420858.5671999995,7394005.4592,3648362.2591500003,5559409.1568,1961030.3849999998,1961030.3849999998,1961030.3849999998,1638955.6469999999,2065825.869,2065825.869,2548582.58369,1906995.7251,2834596.11484,4944062.991,1403172.16316,1784571.30818,2323520.463,2323520.463,2323520.463,2323520.463,6211249.77946,6211249.77946 +1245600.0,1512533.343,1044360.4980000001,3049532.6541600004,773962.8727600002,773962.8727600002,773962.8727600002,948318.399,2353634.53408,7151734.0256,1460184.9565800002,2225043.74336,1512276.8220000002,1512276.8220000002,1512276.8220000002,1527317.085,1512533.343,1512533.343,2123796.98154,2277832.79655,3385815.66302,5905492.435500001,1676034.9959800001,2131601.55529,1071229.3110000002,1071229.3110000002,1071229.3110000002,1071229.3110000002,4547683.58462,4547683.58462 +1249200.0,788654.406,544168.2270000001,1588971.2228400002,445844.78004,445844.78004,445844.78004,595765.8735,1498334.7352800001,4037905.0950400005,986936.35467,1503903.01664,652238.223,652238.223,652238.223,632208.1535,788654.406,788654.406,844724.9417099998,1147695.37065,1705957.0694599997,2975506.5165,844477.0875399999,1074016.1616699998,638995.116,638995.116,638995.116,638995.116,2371220.9140399997,2371220.9140399997 +1252800.0,814788.03,1170221.1989999998,3417045.9010799993,693560.92223,693560.92223,693560.92223,963862.9770000001,1748690.4719999998,2880967.5763200005,1376875.55166,2098096.07872,743832.2250000001,743832.2250000001,743832.2250000001,1090099.3915,814788.03,814788.03,977421.5285899999,874597.09095,1300018.3919799998,2267473.9395,643530.6990200001,818450.11721,815497.158,815497.158,815497.158,815497.158,2449796.0102,2449796.0102 +1256400.0,652964.622,682220.616,1992084.19872,522967.87345,522967.87345,522967.87345,914803.3964999999,1337986.2699199999,2108161.93792,979836.9453599999,1493084.86912,600427.878,600427.878,600427.878,732975.103,652964.622,652964.622,746000.1198,692740.8724499999,1029703.7165799999,1795994.8545,509720.44441999996,648268.61891,609897.99,609897.99,609897.99,609897.99,1963246.96348,1963246.96348 +1260000.0,555162.306,462697.836,1351077.6811199998,296112.8296500001,296112.8296500001,296112.8296500001,537401.1125,1173479.61944,1874635.61984,831489.16095,1267031.1024,532985.928,532985.928,532985.928,452890.942,555162.306,555162.306,657763.8588299999,593011.7973,881464.4493199999,1537437.993,436339.54468,554941.90414,536144.226,536144.226,536144.226,536144.226,1669188.0000399998,1669188.0000399998 +1263600.0,940078.6379999999,1121648.319,3275213.09148,1470215.3185500002,1470215.3185500002,1470215.3185500002,1378879.3655,2125696.8404,2805558.0243200003,1691059.88877,2576853.16384,850831.7220000001,850831.7220000001,850831.7220000001,1391417.027,940078.6379999999,940078.6379999999,1469218.96368,1290627.86535,1918414.75294,3346072.2435000003,949647.17006,1207772.74313,1001685.7379999999,1001685.7379999999,1001685.7379999999,1001685.7379999999,2826503.10492,2826503.10492 +1267200.0,915645.3869999999,1274624.724,3721904.19408,1659734.8889,1659734.8889,1659734.8889,1154615.112,2362150.206,3087344.7801600005,1754968.49262,2674237.70304,999672.411,999672.411,999672.411,1609220.1160000002,915645.3869999999,915645.3869999999,1564664.8278299998,1324879.76835,1969327.45814,3434873.4735000003,974849.80486,1239825.7585300002,1105790.34,1105790.34,1105790.34,1105790.34,2753040.4635799993,2753040.4635799993 +1270800.0,835999.5660000001,1200012.216,3504035.67072,1051400.85336,1051400.85336,1051400.85336,1000110.6500000001,2268639.97416,3036964.02624,1494418.40268,2277208.99456,844879.7009999999,844879.7009999999,844879.7009999999,1256096.3484999998,835999.5660000001,835999.5660000001,1283006.7400799997,1106303.9859,1644432.09756,2868195.519,814021.20444,1035282.00162,1044084.501,1044084.501,1044084.501,1044084.501,2513572.0284400005,2513572.0284400005 +1274400.0,2173660.401,1750609.7550000004,5111780.484600001,3477990.6815500003,3477990.6815500003,3477990.6815500003,2840507.2010000004,3425659.6703999997,6518973.854080001,3644964.4169400004,5554231.4924800005,2285464.3559999997,2285464.3559999997,2285464.3559999997,2935416.554,2173660.401,2173660.401,3783600.6896999995,2781796.23135,4134916.86734,7212064.3035,2046852.53566,2603211.78193,2422121.16,2422121.16,2422121.16,2422121.16,6535472.272340001,6535472.272340001 +1278000.0,1591192.0470000003,861648.696,2516014.19232,2100412.49055,2100412.49055,2100412.49055,1675913.8935,2518299.34344,4365287.53728,2318753.9424,3533339.3408,1582326.5189999999,1582326.5189999999,1582326.5189999999,1943327.687,1591192.0470000003,1591192.0470000003,1372550.59955,1815630.1510499998,2698788.5208199997,4707189.280499999,1335945.14818,1699071.17839,1702872.108,1702872.108,1702872.108,1702872.108,4784184.08798,4784184.08798 +1281600.0,1150551.21,823765.476,2405395.1899200003,1226445.1146200004,1226445.1146200004,1226445.1146200004,1229933.341,1891988.69528,3520435.877120001,1665551.7893700001,2537983.6790400003,1015707.795,1015707.795,1015707.795,1369213.5835,1150551.21,1150551.21,1219671.7336699998,1334093.1498,1983022.41032,3458760.018,981629.03368,1248447.6636400002,1174371.915,1174371.915,1174371.915,1174371.915,3459323.9713999997,3459323.9713999997 +1285200.0,1004345.4240000001,829354.647,2421715.56924,1164900.3084399998,1164900.3084399998,1164900.3084399998,1136226.0455,1839110.77152,3445947.28448,1611859.2682500002,2456166.504,1001376.6780000001,1001376.6780000001,1001376.6780000001,1320957.2565,1004345.4240000001,1004345.4240000001,1219381.6810499998,1291502.6127,1919714.9946799998,3348340.107,950290.81132,1208591.33386,1134375.507,1134375.507,1134375.507,1134375.507,3019731.90816,3019731.90816 +1288800.0,710565.828,601703.919,1756975.44348,760003.0088200001,760003.0088200001,760003.0088200001,623304.6225,944328.8584799999,2119851.72544,920981.7435000001,1403400.752,534402.429,534402.429,534402.429,662075.2565,710565.828,710565.828,871826.28065,605593.51515,900166.16326,1570057.2615,445597.20374,566715.90677,721254.237,721254.237,721254.237,721254.237,2136434.58952,2136434.58952 +1292400.0,119928.86099999999,106033.53600000001,309617.92512,134013.26851000002,134013.26851000002,134013.26851000002,63608.01299999999,195451.15192,742795.8240000001,216093.25332000002,329284.95744,177033.606,177033.606,177033.606,113833.0935,119928.86099999999,119928.86099999999,219222.49362,86837.53229999999,129077.02331999998,225134.343,63895.270679999994,81262.77713999999,150039.501,150039.501,150039.501,150039.501,360586.10873999994,360586.10873999994 +1296000.0,116921.14199999999,104243.01,304389.5892,120629.39911000001,120629.39911000001,120629.39911000001,42654.892,203839.43007999996,735516.26624,235358.89167000004,358642.12064000004,173239.173,173239.173,173239.173,107970.5375,116921.14199999999,116921.14199999999,219509.53036999996,79827.41159999999,118657.04143999999,206959.95599999998,58737.20655999999,74702.68887999999,149772.615,149772.615,149772.615,149772.615,351542.90028,351542.90028 +1299600.0,125943.72000000002,115960.176,338603.71392,115333.55988000002,115333.55988000002,115333.55988000002,43267.7455,213389.38351999997,732472.3468800001,246468.1863,375570.56960000005,171657.309,171657.309,171657.309,107111.0215,125943.72000000002,125943.72000000002,226742.54382,80571.76514999999,119763.46325999999,208889.7615,59284.903739999994,75399.25676999999,154187.478,154187.478,154187.478,154187.478,378670.7848,378670.7848 +1303200.0,135609.41700000002,128143.27799999999,374178.37176,111423.09574,111423.09574,111423.09574,45581.438,231850.5988,734524.8480000001,273044.09726999997,416067.19584,171020.178,171020.178,171020.178,105570.353,135609.41700000002,135609.41700000002,248478.77508999995,93680.9874,139249.27016,242876.634,68930.70184,87666.89932,159577.008,159577.008,159577.008,159577.008,407732.31378,407732.31378 +1306800.0,156589.22400000002,140036.487,408906.54204,117411.31523000001,117411.31523000001,117411.31523000001,62077.424499999994,276182.73376,736370.08512,301850.81136,459963.14112,181059.951,181059.951,181059.951,115263.06049999999,156589.22400000002,156589.22400000002,249737.27792,107687.85165,160069.34986,279190.7265,79236.98714,100774.55747,209292.87000000002,209292.87000000002,209292.87000000002,209292.87000000002,470811.60016000003,470811.60016000003 +1310400.0,199205.934,148846.302,434631.20184,127158.66405,127158.66405,127158.66405,70757.5015,347192.09384,745002.82112,339027.78504000005,516613.76768000005,265183.107,265183.107,265183.107,188627.95,199205.934,199205.934,268086.83628999995,126053.15984999998,187367.90673999998,326804.4885,92750.22626,117960.85823,253955.87099999998,253955.87099999998,253955.87099999998,253955.87099999998,598945.84156,598945.84156 +1314000.0,237776.38199999998,166947.273,487486.03716,144852.33785000004,144852.33785000004,144852.33785000004,79267.314,433319.1348799999,762873.09056,384025.10832,585181.1174400001,326984.166,326984.166,326984.166,214246.5535,237776.38199999998,237776.38199999998,293846.37282,143885.71485,213874.56874,373037.0385,105871.46426,134648.60723,297873.567,297873.567,297873.567,297873.567,714914.32188,714914.32188 +1317600.0,409291.899,223757.87699999998,653373.0008399999,258539.12689,258539.12689,258539.12689,158864.10400000002,944018.7252799999,898679.4374400001,652207.80576,993840.46592,384842.80500000005,384842.80500000005,384842.80500000005,342784.5505,409291.899,409291.899,514232.21784999996,205747.58159999998,305827.26943999995,533419.656,151389.57856,192539.09488,446552.601,446552.601,446552.601,446552.601,1230604.30966,1230604.30966 +1321200.0,1160409.963,538328.9820000001,1571920.62744,1577056.81529,1577056.81529,1577056.81529,1377596.955,3254670.97616,3636243.05408,2742885.60294,4179635.2044800003,1053634.416,1053634.416,1053634.416,1505163.6355,1160409.963,1160409.963,2468085.89651,1421936.1431999998,2113593.97088,3686501.1119999997,1046264.12512,1330651.3537599999,1427946.21,1427946.21,1427946.21,1427946.21,3488965.95542,3488965.95542 +1324800.0,1047505.041,1130203.686,3300194.76312,1895744.1441400002,1895744.1441400002,1895744.1441400002,1849869.0735000002,4028099.10248,3102177.7888,3096421.01748,4718355.83616,1288619.0729999999,1288619.0729999999,1288619.0729999999,1646016.1725,1047505.041,1047505.041,2166173.34609,2070727.1648999997,3077969.7611599993,5368551.908999999,1523646.1608399998,1937791.5938199998,1511311.971,1511311.971,1511311.971,1511311.971,3149498.4899399998,3149498.4899399998 +1328400.0,2038976.0039999997,2221285.083,6486152.44236,1556250.5520100002,1556250.5520100002,1556250.5520100002,1967789.4285000004,4268937.82336,7273908.461440001,3539244.21774,5393134.046080001,1930950.6239999998,1930950.6239999998,1930950.6239999998,1559605.7155,2038976.0039999997,2038976.0039999997,2289530.8465899997,1771301.15145,2632897.02018,4592262.2445,1303327.76082,1657587.99111,2284410.444,2284410.444,2284410.444,2284410.444,6130521.18536,6130521.18536 +1332000.0,1449619.479,1000524.6089999999,2921531.85828,731171.9957300002,731171.9957300002,731171.9957300002,875739.3855000001,2182943.02576,6933665.674240001,1352957.5848599998,2061649.65312,1455532.827,1455532.827,1455532.827,1478716.974,1449619.479,1449619.479,2004658.5340599997,2220882.57135,3301163.72334,5757843.703500001,1634130.87966,2078307.3939300003,1033275.8879999999,1033275.8879999999,1033275.8879999999,1033275.8879999999,4358522.56686,4358522.56686 +1335600.0,770116.554,523138.026,1527563.03592,423438.18055,423438.18055,423438.18055,572510.568,1447962.55696,3613304.5107200006,960299.3393700001,1463313.2790400002,628518.483,628518.483,628518.483,600707.7125000001,770116.554,770116.554,815641.79619,1020600.8261999999,1517041.2280799998,2646002.142,750960.60792,955080.77316,625601.7690000001,625601.7690000001,625601.7690000001,625601.7690000001,2315483.77236,2315483.77236 +1339200.0,801742.374,1169114.6760000002,3413814.85392,687538.1240200001,687538.1240200001,687538.1240200001,962105.0915,1743955.9898399997,2869467.1660800003,1374223.4228100001,2094054.7395200003,742668.231,742668.231,742668.231,1087967.601,801742.374,801742.374,964708.19354,872704.97145,1297205.90818,2262568.4445,642138.47282,816679.46711,808645.6799999999,808645.6799999999,808645.6799999999,808645.6799999999,2410572.07116,2410572.07116 +1342800.0,654677.079,667581.7710000001,1949338.77132,526933.6163300001,526933.6163300001,526933.6163300001,916097.805,1349942.2099199998,2134641.27936,990481.87896,1509305.72032,611260.5989999999,611260.5989999999,611260.5989999999,711599.182,654677.079,654677.079,742994.6586399998,701291.8844999999,1042414.1097999999,1818164.145,516012.3002,656270.6771,616455.3150000001,616455.3150000001,616455.3150000001,616455.3150000001,1968395.7508599998,1968395.7508599998 +1346400.0,569370.549,477942.7739999999,1395592.9000799998,306934.83755,306934.83755,306934.83755,539790.1109999999,1209517.45352,1942979.9609600003,858922.2327,1308833.8784,556288.4789999999,556288.4789999999,556288.4789999999,474311.8240000001,569370.549,569370.549,666877.7987299999,614483.7066,913380.7194399999,1593105.906,452138.62856,575035.36988,554318.28,554318.28,554318.28,554318.28,1711907.4506599999,1711907.4506599999 +1350000.0,971137.374,1136048.178,3317260.67976,1494649.9583400001,1494649.9583400001,1494649.9583400001,1421614.5019999999,2194412.04408,2969876.8256,1753597.8738600002,2672149.1411200003,901403.514,901403.514,901403.514,1436341.0495,971137.374,971137.374,1507773.0954,1341951.45795,1994703.1547799997,3479133.4095,987411.1962199999,1255801.48781,1033516.4310000001,1033516.4310000001,1033516.4310000001,1033516.4310000001,2919886.3711599996,2919886.3711599996 +1353600.0,957980.895,1315011.483,3839833.5303599997,1675586.1673100002,1675586.1673100002,1675586.1673100002,1192611.203,2444218.26016,3262633.64608,1823753.3244,2779052.6848,1051852.47,1051852.47,1051852.47,1669949.5785,957980.895,957980.895,1601412.78531,1379445.3333,2050434.79172,3576339.753,1014999.28228,1290888.3489400002,1155100.734,1155100.734,1155100.734,1155100.734,2880329.2243,2880329.2243 +1357200.0,878174.5739999998,1234120.692,3603632.42064,1086059.12965,1086059.12965,1086059.12965,1048171.8800000001,2361282.83752,3206570.2464000005,1566098.28816,2386435.48672,893699.517,893699.517,893699.517,1309724.2515,878174.5739999998,878174.5739999998,1331390.30882,1164173.1642,1730449.9872799998,3018226.722,856601.4887199999,1089436.1215599999,1092199.281,1092199.281,1092199.281,1092199.281,2640378.2191599994,2640378.2191599994 +1360800.0,2217104.427,1801684.329,5260918.24068,3520963.2352400003,3520963.2352400003,3520963.2352400003,2892154.006,3520783.6227199994,6747156.797440001,3717164.8363500005,5664251.179200001,2340197.9760000003,2340197.9760000003,2340197.9760000003,2998224.46,2217104.427,2217104.427,3836463.2534799995,2860084.9386,4251286.74824,7415035.026000001,2104457.55976,2676474.54748,2479567.5089999996,2479567.5089999996,2479567.5089999996,2479567.5089999996,6666093.977179999,6666093.977179999 +1364400.0,1651210.815,917335.6499999999,2678620.0979999998,2178008.24934,2178008.24934,2178008.24934,1743188.8425,2647056.11272,4654791.5641600005,2431196.7674399996,3704680.7884799996,1681458.7619999999,1681458.7619999999,1681458.7619999999,2114067.4625,1651210.815,1651210.815,1448287.69072,1913805.4963500001,2844718.29334,4961717.953500001,1408182.80966,1790943.9089300002,1787765.358,1787765.358,1787765.358,1787765.358,4964640.5171,4964640.5171 +1368000.0,1214427.459,875683.3769999999,2556995.46084,1291353.8979,1291353.8979,1291353.8979,1307769.9145,2013332.79344,3777963.87776,1767214.2862500001,2692897.96,1089639.8760000002,1089639.8760000002,1089639.8760000002,1468979.8199999998,1214427.459,1214427.459,1283661.4965199998,1422573.4957499998,2114541.3442999995,3688153.5075,1046733.0907,1331247.7898499998,1251126.687,1251126.687,1251126.687,1251126.687,3651378.5600599996,3651378.5600599996 +1371600.0,1053307.65,876086.508,2558172.60336,1216907.49697,1216907.49697,1216907.49697,1189788.4705,1936183.8997600002,3640492.1728000003,1688918.02044,2573589.36448,1060334.754,1060334.754,1060334.754,1402113.9825,1053307.65,1053307.65,1288095.8259,1359127.0786499998,2020233.3366599996,3523662.7964999997,1000049.0603399999,1271874.4760699999,1193205.8220000002,1193205.8220000002,1193205.8220000002,1193205.8220000002,3166945.0009999997,3166945.0009999997 +1375200.0,750220.2359999999,644339.553,1881471.49476,803153.59652,803153.59652,803153.59652,660014.4809999999,1020882.2765599999,2280314.2848000005,985583.6745300001,1501841.78976,574769.196,574769.196,574769.196,710836.2309999999,750220.2359999999,750220.2359999999,925599.2956600001,648045.03195,963266.93638,1680116.7495000002,476833.13462,606442.14101,767796.3870000001,767796.3870000001,767796.3870000001,767796.3870000001,2255662.17624,2255662.17624 +1378800.0,129469.443,115666.149,337745.15508,155963.02678000001,155963.02678000001,155963.02678000001,66501.491,215612.84087999997,829085.2345600001,240022.86042,365749.12064000004,195646.43700000003,195646.43700000003,195646.43700000003,124582.7975,129469.443,129469.443,243788.30839999998,95144.7708,141425.06672,246671.628,70007.75728,89036.71144,164047.773,164047.773,164047.773,164047.773,389271.45862,389271.45862 +1382400.0,129785.523,115753.284,337999.58928,133589.09311000002,133589.09311000002,133589.09311000002,45900.099,229753.81104,831880.8940799999,268216.29492,408710.54464000004,194042.18099999998,194042.18099999998,194042.18099999998,120671.83800000002,129785.523,129785.523,243470.02588999996,90003.77775000001,133783.39310000002,233343.12750000003,66225.0019,84225.75745,166613.592,166613.592,166613.592,166613.592,390221.80582,390221.80582 +1386000.0,143121.615,134512.041,392775.15972,128504.85318000002,128504.85318000002,128504.85318000002,51487.240000000005,253831.19079999995,829224.0198400001,278191.08051,423910.21792,192177.207,192177.207,192177.207,119238.81199999999,143121.615,143121.615,262302.27257,94485.1149,140444.54116,244961.40899999999,69522.38084,88419.40381999999,171167.823,171167.823,171167.823,171167.823,430318.9891,430318.9891 +1389600.0,156117.6,143517.44999999998,419070.9539999999,125356.85063,125356.85063,125356.85063,54696.11,301224.35008,827637.7049600001,320181.84471000003,487896.1443200001,194738.22,194738.22,194738.22,118568.0475,156117.6,156117.6,275396.80011999997,111292.00335,165426.63214,288534.8235,81888.93086000001,104147.33153000001,197176.251,197176.251,197176.251,197176.251,469393.58400000003,469393.58400000003 +1393200.0,201998.022,159747.696,466463.27232000005,136564.73116,136564.73116,136564.73116,76155.81049999999,367749.53624,832476.63936,354364.07832,539983.3574399999,268015.671,268015.671,268015.671,178452.533,201998.022,201998.022,286525.23055,132710.36355,197263.30582,344063.9055,97648.61318,124190.68589000001,269296.84500000003,269296.84500000003,269296.84500000003,269296.84500000003,607340.71948,607340.71948 +1396800.0,244681.68300000002,176939.301,516662.75892,147173.10883,147173.10883,147173.10883,79123.9715,466182.16976,857695.34784,406984.02548999997,620166.13408,360023.451,360023.451,360023.451,233682.31950000004,244681.68300000002,244681.68300000002,317280.59180999995,152273.31345,226342.06098,394782.6645,112043.08002000001,142497.74271000002,311422.713,311422.713,311422.713,311422.713,735676.2602199999,735676.2602199999 +1400400.0,302691.978,221136.903,645719.7567599999,170894.35088,170894.35088,170894.35088,87801.35699999999,558090.21512,910977.8956800001,485418.12017999997,739684.75456,400749.50100000005,400749.50100000005,400749.50100000005,250194.12600000002,302691.978,302691.978,344567.10131999996,174478.05,259347.62,452350.5,128381.38,163276.99,392865.82200000004,392865.82200000004,392865.82200000004,392865.82200000004,910093.88052,910093.88052 +1404000.0,499355.238,267290.742,780488.96664,279930.1230000001,279930.1230000001,279930.1230000001,166985.90999999997,1060722.62808,1157993.46624,758017.65459,1155074.52128,451350.98400000005,451350.98400000005,451350.98400000005,381294.3295,499355.238,499355.238,555457.65522,244187.81639999998,362965.59375999996,633079.524,179673.99824,228511.56152000002,528365.3520000001,528365.3520000001,528365.3520000001,528365.3520000001,1501394.7489200002,1501394.7489200002 +1407600.0,1242286.7040000001,611610.3,1785902.0760000001,1663104.57621,1663104.57621,1663104.57621,1456139.1565,3399963.85144,4175989.7683200003,2938747.21791,4478090.9987200005,1202384.0969999998,1202384.0969999998,1202384.0969999998,1754487.847,1242286.7040000001,1242286.7040000001,2587170.31807,1585691.7493500002,2357003.53854,4111052.6835000003,1166755.90446,1483894.2543300001,1538543.4540000001,1538543.4540000001,1538543.4540000001,1538543.4540000001,3735142.02336,3735142.02336 +1411200.0,1139704.3530000001,1251251.058,3653653.0893599996,2085642.1593700002,2085642.1593700002,2085642.1593700002,1956780.1434999998,4255775.251759999,3365980.2419200004,3309651.2834700006,5043278.146240001,1375441.731,1375441.731,1375441.731,1833413.3790000002,1139704.3530000001,1139704.3530000001,2237088.2198599996,2188235.8656,3252637.01504,5673204.096,1610109.35296,2047756.52608,1620795.4770000004,1620795.4770000004,1620795.4770000004,1620795.4770000004,3426711.0880199997,3426711.0880199997 +1414800.0,2113564.5480000004,2305323.888,6731545.752959999,1732902.4958300001,1732902.4958300001,1732902.4958300001,2271281.2815000005,4535342.0903199995,7601734.11136,3748280.52228,5711665.557760001,2030485.6440000003,2030485.6440000003,2030485.6440000003,1713474.581,2113564.5480000004,2113564.5480000004,2512550.9025499998,1968132.0829500002,2925470.40478,5102564.6595,1448156.44622,1841782.8628100003,2376804.4469999997,2376804.4469999997,2376804.4469999997,2376804.4469999997,6354784.074320001,6354784.074320001 +1418400.0,1587892.5029999998,1124486.517,3283500.6296400004,824294.3405400001,824294.3405400001,824294.3405400001,1020482.715,2486419.76456,7407644.355200001,1586304.2937,2417225.5904,1598988.2370000002,1598988.2370000002,1598988.2370000002,1619850.351,1587892.5029999998,1587892.5029999998,2168738.13429,2345783.9274,3486819.56616,6081662.034000001,1726033.60584,2195190.3913200004,1157852.4239999999,1157852.4239999999,1157852.4239999999,1157852.4239999999,4774263.459019999,4774263.459019999 +1422000.0,860442.552,594972.609,1737320.01828,493990.84504000004,493990.84504000004,493990.84504000004,670076.2494999999,1646120.4729599997,4376550.42624,1102592.00394,1680140.1964800002,736085.997,736085.997,736085.997,714831.761,860442.552,860442.552,916623.3450399999,1272920.3865,1892094.0066,3300163.9650000003,936617.9634,1191202.0407,715525.242,715525.242,715525.242,715525.242,2587063.93968,2587063.93968 +1425600.0,884622.1830000002,1217730.306,3555772.49352,740487.85129,740487.85129,740487.85129,1022720.748,1865479.9892,3131831.85984,1479639.60249,2254688.91808,813934.8960000002,813934.8960000002,813934.8960000002,1158970.8969999999,884622.1830000002,884622.1830000002,1037036.7407399998,949165.0024499999,1410857.6085799998,2460798.1544999997,698397.95242,888230.95291,890746.596,890746.596,890746.596,890746.596,2659764.03022,2659764.03022 +1429200.0,780837.5759999999,800271.3660000002,2336792.38872,612724.3648900001,612724.3648900001,612724.3648900001,1040764.1194999999,1581688.45376,2575428.93184,1174995.9112500001,1790469.96,738305.661,738305.661,738305.661,897101.7685,780837.5759999999,780837.5759999999,876242.6061999999,845202.3812999999,1256325.51492,2191265.433,621901.99908,790942.47534,741166.323,741166.323,741166.323,741166.323,2347718.3118399996,2347718.3118399996 +1432800.0,531982.746,426613.836,1245712.4011199998,225153.14481000003,225153.14481000003,225153.14481000003,510539.995,1125744.8610399999,1712029.3196800002,768958.1745300001,1171745.78976,509623.50899999996,509623.50899999996,509623.50899999996,419695.00299999997,531982.746,531982.746,562276.3352699999,534113.3277,793916.6006799999,1384738.257,393001.90532,499824.57086000004,495670.2420000001,495670.2420000001,495670.2420000001,495670.2420000001,1599494.78964,1599494.78964 +1436400.0,1084775.028,1282130.547,3743821.1972399997,1567147.5740800002,1567147.5740800002,1567147.5740800002,1545851.594,2452371.6184799997,3315165.55008,1894729.1311200003,2887206.29504,996066.5700000001,996066.5700000001,996066.5700000001,1524791.2855,1084775.028,1084775.028,1613218.1751399997,1465268.2636499999,2178003.69066,3798843.6465,1078148.0063399998,1371201.6590699998,1171145.763,1171145.763,1171145.763,1171145.763,3261556.9175199997,3261556.9175199997 +1440000.0,1073236.683,1416645.453,4136604.72276,1825647.9871300003,1825647.9871300003,1825647.9871300003,1326954.986,2728407.2952,3678802.11072,2046889.47603,3119069.6777600003,1173492.744,1173492.744,1173492.744,1796036.228,1073236.683,1073236.683,1804230.7979799998,1527011.6354999999,2269780.2581999996,3958919.0549999997,1123578.9318,1428981.2589,1287992.274,1287992.274,1287992.274,1287992.274,3226864.96022,3226864.96022 +1443600.0,1018873.338,1428726.357,4171880.96244,1227357.8935200002,1227357.8935200002,1227357.8935200002,1196251.4864999999,2665162.65896,3775173.4624,1805440.7609700002,2751147.8262400003,1058661.819,1058661.819,1058661.819,1488694.109,1018873.338,1018873.338,1529018.32668,1357346.3098499998,2017586.3667399997,3519045.9884999995,998738.76626,1270208.0282299998,1271986.743,1271986.743,1271986.743,1271986.743,3063412.50292,3063412.50292 +1447200.0,2299915.917,1888387.986,5514092.91912,3613673.8792000003,3613673.8792000003,3613673.8792000003,2989857.528,3774678.0724,7161128.37248,3856114.2570299995,5875983.62976,2437873.929,2437873.929,2437873.929,3109664.3899999997,2299915.917,2299915.917,4031401.0912499996,3010058.3380500004,4474210.17162,7803854.950500001,2214808.3573800004,2816820.0249900003,2590038.684,2590038.684,2590038.684,2590038.684,6915080.523779999,6915080.523779999 +1450800.0,1790648.841,1042598.874,3044388.71208,2417649.7801500005,2417649.7801500005,2417649.7801500005,1875586.9965,2927675.76896,5299299.52448,2723991.09213,4150843.5689600003,1840095.456,1840095.456,1840095.456,2517942.966,1790648.841,1790648.841,1625910.3365699998,2175733.71405,3234053.57002,5640791.1105,1600910.23898,2036056.98179,2014604.313,2014604.313,2014604.313,2014604.313,5383884.1819400005,5383884.1819400005 +1454400.0,1353449.262,986064.642,2879308.75464,1497148.20167,1497148.20167,1497148.20167,1537347.5845,2280744.84,4374380.6496,1994474.2435800002,3039198.8473600005,1318561.32,1318561.32,1318561.32,1715070.742,1353449.262,1353449.262,1433510.28366,1619263.64115,2406905.46166,4198090.9215,1191458.18534,1515310.91357,1419916.29,1419916.29,1419916.29,1419916.29,4069370.78108,4069370.78108 +1458000.0,1199844.447,1014925.875,2963583.5549999997,1389940.1281700002,1389940.1281700002,1389940.1281700002,1357080.9735,2235418.97064,4233319.69792,1937153.6148299999,2951853.1273600003,1229590.2119999998,1229590.2119999998,1229590.2119999998,1633500.82,1199844.447,1199844.447,1497433.8561,1566559.6141499998,2328565.1548599997,4061450.8515,1152678.43214,1465990.35497,1371067.7040000001,1371067.7040000001,1371067.7040000001,1371067.7040000001,3607532.3039799994,3607532.3039799994 +1461600.0,835606.434,726696.126,2121952.68792,920257.1668400001,920257.1668400001,920257.1668400001,734975.409,1172332.12368,2601875.0022400003,1114276.62885,1697945.3392,652524.888,652524.888,652524.888,806370.3339999999,835606.434,835606.434,1052385.02746,733656.66975,1090521.7659,1902072.8475000001,539826.3891,686557.72305,865374.5910000001,865374.5910000001,865374.5910000001,865374.5910000001,2512390.01156,2512390.01156 +1465200.0,148921.218,132078.77999999997,385670.0375999999,176639.02971,176639.02971,176639.02971,71739.633,252015.61656000002,970310.13696,307692.85092,468865.29664,226246.098,226246.098,226246.098,142333.6495,148921.218,148921.218,280310.05639,110906.89695,164854.20238,287536.3995,81605.56862,103786.94801000001,192230.93400000004,192230.93400000004,192230.93400000004,192230.93400000004,447756.4621199999,447756.4621199999 +1468800.0,156646.896,137601.537,401796.48804,156712.52135000002,156712.52135000002,156712.52135000002,54744.798500000004,298288.2784,990342.0012800001,322222.93509000004,491006.3772800001,228066.82200000001,228066.82200000001,228066.82200000001,141714.097,156646.896,156646.896,286563.28727,106641.75284999999,158514.40793999998,276478.6185,78467.26505999999,99795.61563,198513.03900000002,198513.03900000002,198513.03900000002,198513.03900000002,470985.00064,470985.00064 +1472400.0,191051.06699999998,172787.379,504539.14667999995,160286.49417000002,160286.49417000002,160286.49417000002,66203.2805,428983.07504,1044166.61248,380467.39794000005,579759.8444800001,249917.385,249917.385,249917.385,146197.1875,191051.06699999998,191051.06699999998,337125.09818000003,132144.09255,196421.58941999997,342595.7955,97231.94958,123660.76809,224806.998,224806.998,224806.998,224806.998,574426.87478,574426.87478 +1476000.0,248087.064,192751.197,562833.49524,170638.3316,170638.3316,170638.3316,90100.77649999999,482945.13056,1068872.2419200002,437982.62256,667402.09152,361678.275,361678.275,361678.275,213751.19150000002,248087.064,248087.064,358050.57509,164664.69749999998,244760.85899999997,426908.475,121160.69099999999,154093.6305,335389.524,335389.524,335389.524,335389.524,745915.1057600001,745915.1057600001 +1479600.0,316052.997,267646.25700000004,781527.07044,193052.47687000004,193052.47687000004,193052.47687000004,99091.32800000001,649202.14584,1145732.41344,526496.67609,802280.6492799999,486266.75999999995,486266.75999999995,486266.75999999995,305745.1075,316052.997,316052.997,409223.72737999994,199604.6226,296696.25384,517493.466,146869.57416000002,186790.49868000002,417438.912,417438.912,417438.912,417438.912,950266.0109799999,950266.0109799999 +1483200.0,409311.471,305988.159,893485.4242799999,219381.43304,219381.43304,219381.43304,101691.5585,781887.54736,1287087.81056,645454.8620099999,983550.26592,550579.7729999999,550579.7729999999,550579.7729999999,332597.195,409311.471,409311.471,444916.86147999996,240747.24824999998,357851.4653,624159.5325,177142.4197,225291.86935,540706.674,540706.674,540706.674,540706.674,1230663.15614,1230663.15614 +1486800.0,533020.794,375668.775,1096952.823,237421.51268,237421.51268,237421.51268,119725.9315,892207.8804799999,1620643.4233600004,786225.90753,1198058.52576,585242.262,585242.262,585242.262,358912.61000000004,533020.794,533020.794,458867.07840999996,322806.47715,479825.92406,836905.6815,237521.80294,302083.09837,629890.14,629890.14,629890.14,629890.14,1602615.85396,1602615.85396 +1490400.0,726986.1510000001,497131.431,1451623.77852,391236.19403,391236.19403,391236.19403,209425.89500000002,1518520.1930399998,1949439.7977600005,1111456.9666199998,1693648.71104,649549.62,649549.62,649549.62,599682.8740000001,726986.1510000001,726986.1510000001,693198.81137,415195.8102,617155.2536800001,1076433.5820000002,305502.10232,388541.26436000003,762995.946,762995.946,762995.946,762995.946,2185805.02734,2185805.02734 +1494000.0,1432334.652,848013.6300000001,2476199.7996,1922960.57602,1922960.57602,1922960.57602,1602228.1485000001,3824026.1015999997,4950256.307840001,3407049.8998200004,5191695.0854400005,1591019.058,1591019.058,1591019.058,2340753.3765000002,1432334.652,1432334.652,2986861.9530099994,1920299.3594999998,2854370.8998,4978553.895,1412961.0102,1797020.8821,1798823.91,1798823.91,1798823.91,1798823.91,4306552.85368,4306552.85368 +1497600.0,1442719.458,1426742.0639999998,4166086.8268799996,2607747.6771500004,2607747.6771500004,2607747.6771500004,2377510.2854999998,4942656.85568,4290612.28736,3815820.14625,5814583.08,1631875.41,1631875.41,1631875.41,2376532.9455,1442719.458,1442719.458,2624351.81528,2515834.5174,3739586.12216,6522533.933999999,1851157.24984,2354324.15332,1953434.367,1953434.367,1953434.367,1953434.367,4337776.50372,4337776.50372 +1501200.0,2328682.9740000004,2470465.707,7213759.86444,2079699.75587,2079699.75587,2079699.75587,2983101.023,5120575.6268,8191634.27456,4233096.31731,6450432.48352,2240037.9899999998,2240037.9899999998,2240037.9899999998,1990127.5765,2328682.9740000004,2328682.9740000004,3260074.09442,2485704.0159,3694799.5495599997,6444417.819,1828987.1524399999,2326127.95562,2595405.633,2595405.633,2595405.633,2595405.633,7001573.47516,7001573.47516 +1504800.0,1738756.6439999999,1217247.1979999999,3554361.81816,850791.8394800001,850791.8394800001,850791.8394800001,1239655.1999999997,2628510.52696,8033433.3952,1791246.9172500002,2729519.112,1710523.845,1710523.845,1710523.845,1725277.96,1738756.6439999999,1738756.6439999999,2166926.67386,2434225.7375999996,3618281.21984,6310955.616,1791109.30816,2277954.45568,1206711.5219999999,1206711.5219999999,1206711.5219999999,1206711.5219999999,5227861.642959999,5227861.642959999 +1508400.0,950200.3439999999,655987.824,1915484.44608,532830.65968,532830.65968,532830.65968,741402.4975,1811782.5440799997,5485117.44512,1231846.64379,1877099.64768,809709.744,809709.744,809709.744,814653.763,950200.3439999999,950200.3439999999,959319.08397,1639939.4500499999,2437638.39242,4251694.8705,1206671.49658,1534659.38659,795448.533,795448.533,795448.533,795448.533,2856935.7009599996,2856935.7009599996 +1512000.0,997783.3559999999,1314710.313,3838954.1139599998,805663.55331,805663.55331,805663.55331,1127113.5015,2062067.6401600002,3526251.63968,1624376.8604700002,2475240.9302400006,913770.0900000001,913770.0900000001,913770.0900000001,1236009.145,997783.3559999999,997783.3559999999,1220481.4875500002,1060944.2532,1577008.49488,2750596.212,780645.4011199999,992834.25176,978358.8060000001,978358.8060000001,978358.8060000001,978358.8060000001,3000001.95704,3000001.95704 +1515600.0,817457.169,883647.1050000001,2580249.5466,635187.91996,635187.91996,635187.91996,1070979.5775,1604458.33928,2634668.07296,1212903.94407,1848234.58144,758758.122,758758.122,758758.122,1030658.601,817457.169,817457.169,940522.2196499999,878337.3672,1305578.0124799998,2277170.952,646282.80352,821950.27696,766116.6810000001,766116.6810000001,766116.6810000001,766116.6810000001,2457821.2214599997,2457821.2214599997 +1519200.0,726979.629,614089.911,1793142.5401199998,417236.57503,417236.57503,417236.57503,798825.881,1478837.58576,2472067.50656,1095656.38959,1669571.64128,705001.968,705001.968,705001.968,615040.356,726979.629,726979.629,859956.0472099999,800496.3996,1189873.66064,2075361.036,589007.22736,749106.50728,709220.4180000001,709220.4180000001,709220.4180000001,709220.4180000001,2185785.41786,2185785.41786 +1522800.0,1172747.628,1509615.3599999999,4408076.851199999,1668984.8715100002,1668984.8715100002,1668984.8715100002,1624116.396,2680839.77104,3609852.80896,2029476.8382,3092536.1344000003,1101756.213,1101756.213,1101756.213,1584289.9239999999,1172747.628,1172747.628,1809524.89081,1557147.99735,2314575.54174,4037050.3635000004,1145753.3412600001,1457182.9407300001,1340102.082,1340102.082,1340102.082,1340102.082,3526061.2015199997,3526061.2015199997 +1526400.0,1187336.814,1521908.4120000002,4443972.56304,1992273.0056900003,1992273.0056900003,1992273.0056900003,1424667.8739999998,3017118.1371199996,4038537.87584,2276195.22816,3468487.96672,1291597.4759999998,1291597.4759999998,1291597.4759999998,1913305.2225000001,1187336.814,1187336.814,1925086.4924199998,1640504.0807999999,2438477.67072,4253158.728,1207086.95328,1535187.76944,1407387.129,1407387.129,1407387.129,1407387.129,3569926.02076,3569926.02076 +1530000.0,1104230.8469999998,1521825.8429999999,4443731.46156,1386434.40111,1386434.40111,1386434.40111,1283844.6354999999,2826477.48664,4068227.9923200007,1959500.7448800001,2985905.8969600005,1170646.896,1170646.896,1170646.896,1587680.5315,1104230.8469999998,1104230.8469999998,1650078.1094199999,1465921.43145,2178974.57218,3800537.0445000003,1078628.6088200002,1371812.8951100002,1363659.471,1363659.471,1363659.471,1363659.471,3320054.0799799995,3320054.0799799995 +1533600.0,2391446.931,1990052.193,5810952.4035600005,3720483.4508600007,3720483.4508600007,3720483.4508600007,3098925.844,4077746.88136,7572933.739520001,4013336.26323,6115560.020160001,2541009.168,2541009.168,2541009.168,3245957.603,2391446.931,2391446.931,4331443.69164,3159797.0967,4696784.82028,8192066.547,2324986.5057200002,2956945.9250600003,2742027.429,2742027.429,2742027.429,2742027.429,7190283.772539999,7190283.772539999 +1537200.0,1919198.544,1164852.909,3401370.49428,2650155.35554,2650155.35554,2650155.35554,1999246.998,3174003.9964000005,5875827.59104,3000505.7859,4572199.2928,1978443.366,1978443.366,1978443.366,2772012.6455,1919198.544,1919198.544,1811911.52142,2458526.10615,3654401.76766,6373956.5715,1808989.57934,2300694.80057,2206659.9390000002,2206659.9390000002,2206659.9390000002,2206659.9390000002,5770390.28896,5770390.28896 +1540800.0,1500699.207,1106942.106,3232270.94952,1829299.0254,1829299.0254,1829299.0254,1762391.7884999998,2574920.77728,4992582.4672,2245489.91352,3421698.9158400004,1491426.597,1491426.597,1491426.597,2083923.8349999997,1500699.207,1500699.207,1613410.2336299997,1828969.1865,2718615.9266,4741771.965,1345760.0434,1711553.8807,1640497.3530000001,1640497.3530000001,1640497.3530000001,1640497.3530000001,4512102.28238,4512102.28238 +1544400.0,1343853.294,1143325.3979999998,3338510.1621599994,1590711.5920300002,1590711.5920300002,1590711.5920300002,1562801.4325,2525812.97648,4773733.34528,2179755.9609,3321532.8928,1376978.289,1376978.289,1376978.289,1853466.9054999999,1343853.294,1343853.294,1709388.5936399999,1767149.9298,2626726.56232,4581499.818000001,1300273.2816800002,1653703.2676400002,1539329.7119999998,1539329.7119999998,1539329.7119999998,1539329.7119999998,4040518.90396,4040518.90396 +1548000.0,942309.5970000001,825947.4719999998,2411766.6182399997,1038918.3627899999,1038918.3627899999,1038918.3627899999,828002.7105,1335742.27912,2986435.19552,1292675.8280100003,1969791.7379200002,747436.3259999999,747436.3259999999,747436.3259999999,922466.685,942309.5970000001,942309.5970000001,1201062.01202,838892.07225,1246945.7469,2174905.3725,617258.8581,785037.27255,986417.331,986417.331,986417.331,986417.331,2833210.8549800003,2833210.8549800003 +1551600.0,173852.022,147720.693,431344.42355999997,197388.91535,197388.91535,197388.91535,77138.5055,310433.22416,1100280.7238399999,362850.49941000005,552915.0467200001,254546.17799999999,254546.17799999999,254546.17799999999,159932.39849999998,173852.022,173852.022,314959.97364,125471.10195,186502.72438,325295.4495,92321.94662,117416.16701,221631.945,221631.945,221631.945,221631.945,522715.07947999996,522715.07947999996 +1555200.0,189668.157,158913.303,464026.84476,175705.53858000002,175705.53858000002,175705.53858000002,66734.171,441271.9768,1106498.9158400001,380959.05329999997,580509.0336,262394.706,262394.706,262394.706,156801.988,189668.157,189668.157,324242.19139,122365.31894999999,181886.22718,317243.4195,90036.70382,114509.76761,222974.685,222974.685,222974.685,222974.685,570268.9253799999,570268.9253799999 +1558800.0,236912.07299999997,193262.028,564325.12176,178886.38603000002,178886.38603000002,178886.38603000002,78029.34650000001,483970.07391999994,1128833.3254400003,437631.29802,666866.73984,307827.15300000005,307827.15300000005,307827.15300000005,158199.3105,236912.07299999997,236912.07299999997,365783.28982,157945.96619999997,234774.00407999996,409489.54199999996,116217.03191999998,147806.22515999997,292501.533,292501.533,292501.533,292501.533,712315.6328199999,712315.6328199999 +1562400.0,294929.28599999996,261956.91599999997,764914.1947199999,192436.10386,192436.10386,192436.10386,102347.64050000001,574679.1030400001,1164422.4364800001,498976.71747,760345.47424,441929.13000000006,441929.13000000006,441929.13000000006,285532.10000000003,294929.28599999996,294929.28599999996,399991.55287,187871.84955,279256.42822,487075.16550000006,138236.57078,175810.94069000002,397161.10199999996,397161.10199999996,397161.10199999996,397161.10199999996,886754.0532399998,886754.0532399998 +1566000.0,362541.21900000004,294241.88100000005,859186.29252,222172.02854000003,222172.02854000003,222172.02854000003,104085.89799999999,728684.91376,1238658.63488,591732.1823699999,901687.13504,529267.269,529267.269,529267.269,328807.864,362541.21900000004,362541.21900000004,438675.4535799999,222977.67479999998,331438.42032,578090.268,164067.52368,208663.05864,482619.50100000005,482619.50100000005,482619.50100000005,482619.50100000005,1090040.59846,1090040.59846 +1569600.0,493959.08999999997,332774.448,971701.3881599999,234733.02941000002,234733.02941000002,234733.02941000002,110225.76950000001,858543.51,1482652.9708800004,749248.63503,1141712.20576,583256.1510000001,583256.1510000001,583256.1510000001,356944.6755,493959.08999999997,493959.08999999997,466037.94665999996,296924.47424999997,441354.40369999997,769804.1925,218477.76129999998,277862.65615,609432.4619999999,609432.4619999999,609432.4619999999,609432.4619999999,1485170.3306,1485170.3306 +1573200.0,604292.235,463544.13300000003,1353548.86836,265169.80809,265169.80809,265169.80809,135298.6495,1041313.24792,1892947.18208,905442.32457,1379721.6374400002,632675.484,632675.484,632675.484,445276.237,604292.235,604292.235,503108.203,369912.01499999996,549844.5259999998,959031.1499999999,272182.17399999994,346164.57699999993,698125.356,698125.356,698125.356,698125.356,1816905.3198999998,1816905.3198999998 +1576800.0,684273.87,523086.23400000005,1527411.80328,413000.33588,413000.33588,413000.33588,225445.8465,1330252.8368,2179387.41184,1090367.98395,1661513.1184,697587.0630000001,697587.0630000001,697587.0630000001,563383.8385,684273.87,684273.87,628084.0520499999,446260.18905,663329.96002,1156970.8605,328359.34898,417611.38679,756949.098,756949.098,756949.098,756949.098,2057383.4357999999,2057383.4357999999 +1580400.0,1403047.374,1330459.5,3884941.7399999998,1261721.33087,1261721.33087,1261721.33087,1152607.1269999999,2353125.1167200003,2828068.6246399996,1968538.58292,2999677.84064,1037927.382,1037927.382,1037927.382,1916796.4059999997,1403047.374,1403047.374,2758698.732399999,900221.2829999999,1338106.6971999998,2333907.03,662385.0427999999,842429.2993999999,1888930.932,1888930.932,1888930.932,1888930.932,4218495.77116,4218495.77116 +1584000.0,2532989.2470000004,2249374.428,6568173.329759999,3187457.06488,3187457.06488,3187457.06488,2277965.9699999997,3795856.3944,4613247.415680001,3699211.91955,5636894.3536,1687769.091,1687769.091,1687769.091,2749549.6455,2532989.2470000004,2532989.2470000004,4248436.987729999,2037710.0016,3028892.39744,5282951.856000001,1499352.0505600001,1906894.0508800002,2720196.4469999997,2720196.4469999997,2720196.4469999997,2720196.4469999997,7615854.33598,7615854.33598 +1587600.0,2903740.668,2861297.481,8354988.644520001,3532449.52005,3532449.52005,3532449.52005,2911319.1835,4994704.6468,10739765.92832,4000870.81086,6096565.04512,2947512.855,2947512.855,2947512.855,3109530.683,2903740.668,2903740.668,3042163.41767,3863658.6292499998,5743018.5057,10016892.7425,2842889.5593,3615621.2851500004,2758971.8490000004,2758971.8490000004,2758971.8490000004,2758971.8490000004,8730580.27512,8730580.27512 +1591200.0,2057375.3250000002,1673314.596,4886078.62032,2560722.75877,2560722.75877,2560722.75877,3226931.6275,3946685.49624,7884240.5792000005,3782437.07961,5763713.6451200005,2895433.536,2895433.536,2895433.536,3425125.5675000004,2057375.3250000002,2057375.3250000002,2031733.62964,3859764.615,5737230.365999999,10006797.15,2840024.3340000003,3611977.257,2135082.63,2135082.63,2135082.63,2135082.63,6185841.8105,6185841.8105 +1594800.0,1537056.63,1266598.4100000001,3698467.3572,2144731.7339800005,2144731.7339800005,2144731.7339800005,2810250.5620000004,3930629.4732799996,7939288.004480001,3250647.9117,4953368.2464000005,1519856.2230000002,1519856.2230000002,1519856.2230000002,2591999.3155,1537056.63,1537056.63,1524713.50174,3114521.0207999996,4629485.56672,8074684.128,2291672.25728,2914576.4614399998,1864546.3200000003,1864546.3200000003,1864546.3200000003,1864546.3200000003,4621416.934199999,4621416.934199999 +1598400.0,1437365.091,1203519.201,3514276.0669199997,1906301.7689100003,1906301.7689100003,1906301.7689100003,2194014.7075,3638842.13688,5730134.42496,2644945.44216,4030393.05472,1445641.3080000002,1445641.3080000002,1445641.3080000002,2310023.289,1437365.091,1437365.091,1498374.9903199999,2053824.84225,3052845.8148999996,5324731.0725,1511209.3901,1921974.35855,1591036.0890000002,1591036.0890000002,1591036.0890000002,1591036.0890000002,4321677.70694,4321677.70694 +1602000.0,1134689.442,959170.713,2800778.48196,1167614.23328,1167614.23328,1167614.23328,1406991.747,2627293.6344799995,3559357.96736,2024254.3282500003,3084578.024,1097681.2349999999,1097681.2349999999,1097681.2349999999,1458163.0805,1134689.442,1134689.442,1166946.3077999998,1403713.0426499997,2086506.7942599996,3639256.0364999995,1032855.5227399999,1313598.1312699998,1246412.1809999999,1246412.1809999999,1246412.1809999999,1246412.1809999999,3411632.92228,3411632.92228 +1605600.0,997544.9280000001,831932.7629999999,2429243.6679599998,964846.0884700001,964846.0884700001,964846.0884700001,1065145.9000000001,2077154.55016,3306998.304,1659943.7439900003,2529438.0860800003,984720.8550000001,984720.8550000001,984720.8550000001,1332486.743,997544.9280000001,997544.9280000001,1048337.2777799999,1224313.53795,1819843.82678,3174146.2095000003,900852.92422,1145715.6318100002,1090775.835,1090775.835,1090775.835,1090775.835,2999285.08352,2999285.08352 +1609200.0,1257505.9109999998,1109302.3229999999,3239162.7831599996,1427314.84456,1427314.84456,1427314.84456,1372853.6605,2491762.19656,4462687.79968,2119163.0892600003,3229200.8979200004,1283350.9649999999,1283350.9649999999,1283350.9649999999,1671243.0805,1257505.9109999998,1257505.9109999998,1589587.06361,1613492.1845999998,2398326.65464,4183127.886,1187211.53336,1509909.97028,1437547.032,1437547.032,1437547.032,1437547.032,3780901.1057399996,3780901.1057399996 +1612800.0,1326906.399,1179609.225,3444458.937,1536791.76398,1536791.76398,1536791.76398,1454824.4165,2633140.44392,4759772.12928,2240846.91663,3414623.8729600003,1366412.991,1366412.991,1366412.991,1755010.4285000002,1326906.399,1326906.399,1711207.74045,1717626.5540999998,2553114.03844,4453105.881,1263833.85956,1607359.17038,1518837.756,1518837.756,1518837.756,1518837.756,3989565.2396599995,3989565.2396599995 +1616400.0,1368536.508,1216921.26,3553410.0791999996,1606718.4584000001,1606718.4584000001,1606718.4584000001,1519646.9575,2729292.91952,4922222.14912,2315883.97089,3528966.05088,1416582.816,1416582.816,1416582.816,1816140.0214999998,1368536.508,1368536.508,1758886.0814199997,1777836.17475,2642610.8079,4609204.8975,1308136.2471,1663703.48205,1565068.23,1565068.23,1565068.23,1565068.23,4114733.1007199995,4114733.1007199995 +1620000.0,1397493.771,1236110.526,3609442.73592,1683194.86137,1683194.86137,1683194.86137,1591381.2215,2801148.7350399997,5002224.87808,2373877.29789,3617336.83488,1444802.3850000002,1444802.3850000002,1444802.3850000002,1853338.8545,1397493.771,1397493.771,1783842.87224,1817658.5692499997,2701803.6016999995,4712448.1425,1337437.6633,1700969.3771499998,1596106.215,1596106.215,1596106.215,1596106.215,4201797.938139999,4201797.938139999 +1623600.0,1411094.67,1248887.172,3646750.54224,1699006.8317200001,1699006.8317200001,1699006.8317200001,1607621.9985,2832709.0527999997,5056110.00384,2398352.8978500003,3654632.9872000003,1460910.474,1460910.474,1460910.474,1872442.019,1411094.67,1411094.67,1799380.7354899996,1835642.7684,2728535.67056,4759073.8440000005,1350670.48144,1717799.0351200001,1611814.2119999998,1611814.2119999998,1611814.2119999998,1611814.2119999998,4242691.3078,4242691.3078 +1627200.0,1425697.701,1265213.565,3694423.6097999997,1703548.13772,1703548.13772,1703548.13772,1613502.135,2865331.3862400004,5126713.609600001,2422732.4822400003,3691782.83008,1480603.881,1480603.881,1480603.881,1894081.5284999998,1425697.701,1425697.701,1818829.44139,1855109.9762999997,2757472.1129199998,4809544.382999999,1364994.5010799998,1736016.4963399998,1630167.7319999998,1630167.7319999998,1630167.7319999998,1630167.7319999998,4286597.7543399995,4286597.7543399995 +1630800.0,1358125.038,1119983.136,3270350.7571199997,1438102.9697099999,1438102.9697099999,1438102.9697099999,1221145.0125,2379733.6576,3704097.9257600005,1997070.02565,3043154.3248,1166418.426,1166418.426,1166418.426,1495959.486,1358125.038,1358125.038,1730923.2089500001,1465285.9581,2178029.99204,3798889.5209999997,1078161.02596,1371218.21758,1406457.216,1406457.216,1406457.216,1406457.216,4083429.2809199993,4083429.2809199993 +1634400.0,612521.427,439992.28199999995,1284777.4634399998,776382.5895100001,776382.5895100001,776382.5895100001,500218.0505,1181533.0903999999,1554364.944,951449.6733,1449828.0736000002,547641.822,547641.822,547641.822,655125.611,612521.427,612521.427,1000643.3139299998,332424.10124999995,494121.7504999999,861840.2625,244598.47449999998,311083.29475,771618.0210000001,771618.0210000001,771618.0210000001,771618.0210000001,1841647.75718,1841647.75718 +1638000.0,233768.847,220906.977,645048.37284,242778.11701000005,242778.11701000005,242778.11701000005,96362.714,528785.29368,1239122.3948800003,444079.23693,676692.17056,338333.30100000004,338333.30100000004,338333.30100000004,179300.16299999997,233768.847,233768.847,342635.76126,144692.5923,215073.92732,375128.94299999997,106465.16668,135403.68514,248708.83500000002,248708.83500000002,248708.83500000002,248708.83500000002,702864.9999800001,702864.9999800001 +1641600.0,257451.42599999998,253268.56500000003,739544.2098000001,230308.62602000005,230308.62602000005,230308.62602000005,95928.9485,545609.22408,1294660.1491200002,465383.55549,709155.89408,371014.626,371014.626,371014.626,173315.93300000002,257451.42599999998,257451.42599999998,363059.12707999995,167200.73055,248530.46862,433483.3755,123026.71038,156466.85649,311072.26499999996,311072.26499999996,311072.26499999996,311072.26499999996,774070.6208399999,774070.6208399999 +1645200.0,301276.527,284830.887,831706.19004,245093.52373000004,245093.52373000004,245093.52373000004,110355.5355,602930.07968,1331271.4361600003,542779.90053,827093.1817600001,496620.08700000006,496620.08700000006,496620.08700000006,231785.064,301276.527,301276.527,427609.11062999995,205658.25075,305694.4863,533188.0575,151323.8487,192455.49885,420317.75999999995,420317.75999999995,420317.75999999995,420317.75999999995,905838.0911799999,905838.0911799999 +1648800.0,398484.927,326907.558,954570.06936,250921.01078,250921.01078,250921.01078,115432.4325,825016.84088,1455821.2153600003,660391.89783,1006311.46336,587226.2189999999,587226.2189999999,587226.2189999999,365226.764,398484.927,398484.927,462716.81963,255678.47639999999,380045.53776,662870.124,188128.85424,239264.54952,536256.057,536256.057,536256.057,536256.057,1198111.34718,1198111.34718 +1652400.0,546152.112,391852.458,1144209.17736,269829.24584000005,269829.24584000005,269829.24584000005,126088.655,987310.4584,1834561.2179200004,827608.1158799999,1261117.12896,659490.963,659490.963,659490.963,442649.4415,546152.112,546152.112,531974.73017,373392.74295,555018.34878,968055.2595,274743.30222,349421.85081000003,666199.728,666199.728,666199.728,666199.728,1642097.35008,1642097.35008 +1656000.0,667932.918,496292.22899999993,1449173.3086799998,297364.07789,297364.07789,297364.07789,149096.3495,1189510.46616,2172599.7932800003,999015.11241,1522308.74272,713254.611,713254.611,713254.611,530311.453,667932.918,667932.918,556902.06936,421486.29855,626505.55982,1092742.2555,310130.65918,394427.91889000003,765329.2920000001,765329.2920000001,765329.2920000001,765329.2920000001,2008251.6401199996,2008251.6401199996 +1659600.0,747293.763,575176.992,1679516.8166399999,376899.1754,376899.1754,376899.1754,160271.2685,1418339.20952,2414176.8000000003,1173766.5023700001,1788596.57504,791273.418,791273.418,791273.418,590321.179,747293.763,747293.763,666325.7405999999,471099.2157,700251.17988,1221368.337,346635.96612,440855.80926,815860.8840000001,815860.8840000001,815860.8840000001,815860.8840000001,2246863.24742,2246863.24742 +1663200.0,842741.811,610365.882,1782268.3754399999,480933.71524000005,480933.71524000005,480933.71524000005,260149.92850000004,1590120.4151200003,2515053.4291200005,1313901.3692700001,2002135.4198400003,880261.911,880261.911,880261.911,683970.8225,842741.811,842741.811,746888.65186,619624.8737999998,921022.6519199997,1606434.8579999998,455921.5120799999,579846.4868399999,906249.51,906249.51,906249.51,906249.51,2533843.7117399997,2533843.7117399997 +1666800.0,1573422.54,1447586.544,4226952.70848,1320904.60095,1320904.60095,1320904.60095,1260401.4185,2622207.5668,3246725.5193600003,2223240.69723,3387795.34816,1198260.441,1198260.441,1198260.441,2068196.8684999999,1573422.54,1573422.54,2846567.92784,1091600.8658999999,1622577.0895599998,2830076.3189999997,803202.6124399999,1021522.78562,2054819.0489999999,2054819.0489999999,2054819.0489999999,2054819.0489999999,4730757.1036,4730757.1036 +1670400.0,2675600.361,2396243.2800000003,6997030.3776,3345527.7574400003,3345527.7574400003,3345527.7574400003,2408251.7970000003,4032267.9339199997,5044001.314560001,3973931.92539,6055515.31488,1850831.73,1850831.73,1850831.73,3049482.184,2675600.361,2675600.361,4810000.0,2190245.6092499997,3255624.3377,5678414.5425,1611588.1273,2049637.24915,2878223.181,2878223.181,2878223.181,2878223.181,8044638.41874,8044638.41874 +1674000.0,3000000.0,3000000.0,8760000.0,3642239.99227,3642239.99227,3642239.99227,3033669.4990000003,5208763.3644,10880000.0,4251277.69311,6478137.437120001,2995886.538,2995886.538,2995886.538,3370835.7095,3000000.0,3000000.0,3099542.4993,4006891.51245,5955922.69258,10388237.2545,2948280.66842,3749658.97091,2875842.1739999996,2875842.1739999996,2875842.1739999996,2875842.1739999996,9020000.0,9020000.0 +1677600.0,2112791.886,1884642.7529999998,5503156.83876,2836333.3867,2836333.3867,2836333.3867,3500000.0,4103470.87832,8419397.032320002,3873596.0314800004,5902622.5241600005,2978628.7529999996,2978628.7529999996,2978628.7529999996,3500000.0,2112791.886,2112791.886,2047258.6838599998,4050000.0,6020000.0,10500000.0,2980000.0,3790000.0,2168967.1950000003,2168967.1950000003,2168967.1950000003,2168967.1950000003,6352460.937239999,6352460.937239999 +1681200.0,1553233.611,1258993.7280000001,3676261.68576,2292716.6775700003,2292716.6775700003,2292716.6775700003,2922148.649,4029318.8098400002,7928929.1129600005,3344038.7631000006,5095678.115200001,1513245.15,1513245.15,1513245.15,2630920.397,1553233.611,1553233.611,1582051.3664799999,3352861.24875,4983759.189499999,8692603.237499999,2467043.5855,3137615.83525,1879439.4810000001,1879439.4810000001,1879439.4810000001,1879439.4810000001,4670055.72374,4670055.72374 +1684800.0,1387585.8509999998,1122760.2149999999,3278459.8277999996,1856520.0238200002,1856520.0238200002,1856520.0238200002,2350413.3415,3535937.1963199996,6243320.992000001,2592407.21376,3950334.80192,1351025.976,1351025.976,1351025.976,2216530.9319999996,1387585.8509999998,1387585.8509999998,1329479.0120299999,1973975.2730999999,2934155.8380399994,5117713.671,1452455.8799599998,1847250.93458,1516944.6389999997,1516944.6389999997,1516944.6389999997,1516944.6389999997,4172008.1253399993,4172008.1253399993 +1688400.0,960108.048,772969.524,2257071.01008,930522.2766400002,930522.2766400002,930522.2766400002,1334122.4679999999,2329959.1332,2747269.0227200002,1702159.74075,2593767.2240000004,878346.723,878346.723,878346.723,1182583.395,960108.048,960108.048,786341.3300599998,1136294.33715,1689010.34806,2945948.2815000005,836088.1789400001,1063347.04637,1009665.5789999999,1009665.5789999999,1009665.5789999999,1009665.5789999999,2886724.8643199997,2886724.8643199997 +1692000.0,782941.4789999999,601123.551,1755280.76892,547165.76541,547165.76541,547165.76541,807100.322,1696250.1686399998,2337456.4147200002,1269562.1528099999,1934570.89952,730952.079,730952.079,730952.079,997631.5090000001,782941.4789999999,782941.4789999999,630534.66047,890566.6662,1323755.88408,2308876.5420000004,655281.1519200001,833394.48516,801884.088,801884.088,801884.088,801884.088,2354044.0468599997,2354044.0468599997 +1695600.0,1269047.643,1115035.443,3255903.4935600003,1409598.19154,1409598.19154,1409598.19154,1386326.648,2525964.6588,4483730.318080001,2113182.40455,3220087.4736,1254253.197,1254253.197,1254253.197,1662462.361,1269047.643,1269047.643,1525229.1096899996,1619522.91405,2407290.85002,4198763.1105,1191648.9589799999,1515553.54179,1420331.595,1420331.595,1420331.595,1420331.595,3815603.24662,3815603.24662 +1699200.0,1403108.0010000002,1249729.077,3649208.90484,1625191.59825,1625191.59825,1625191.59825,1545562.508,2801346.8804,5057338.58432,2380014.26691,3626688.40672,1440419.2740000002,1440419.2740000002,1440419.2740000002,1850034.9875000003,1403108.0010000002,1403108.0010000002,1806531.95489,1819041.19065,2703858.75746,4716032.7165,1338454.99954,1702263.23767,1594210.1400000001,1594210.1400000001,1594210.1400000001,1594210.1400000001,4218678.05634,4218678.05634 +1702800.0,1436282.067,1279311.549,3735589.72308,1689061.26983,1689061.26983,1689061.26983,1598957.8360000001,2876385.01704,5183290.83904,2440208.6442299997,3718413.17216,1479872.883,1479872.883,1479872.883,1895250.147,1436282.067,1436282.067,1847787.3585599998,1867852.09035,2776412.24294,4842579.4935,1374370.1800600002,1747940.59813,1638627.294,1638627.294,1638627.294,1638627.294,4318421.41478,4318421.41478 +1706400.0,1485908.319,1318839.9840000002,3851012.7532800003,1790804.1188400004,1790804.1188400004,1790804.1188400004,1694600.8555,2995923.6791999997,5354445.9904000005,2535323.0763,3863349.4496,1535261.9039999999,1535261.9039999999,1535261.9039999999,1966316.9575000003,1485908.319,1485908.319,1897327.8285,1937622.2300999998,2880119.9568399996,5023465.040999999,1425707.22116,1813231.6671799999,1695844.9080000003,1695844.9080000003,1695844.9080000003,1695844.9080000003,4467631.01246,4467631.01246 +1710000.0,1485246.78,1317691.482,3847659.12744,1788601.86219,1788601.86219,1788601.86219,1694485.296,2993553.924,5345203.87648,2534288.49996,3861772.95232,1532875.4100000001,1532875.4100000001,1532875.4100000001,1963192.511,1485246.78,1485246.78,1895966.4686299998,1935017.7237,2876248.56708,5016712.617000001,1423790.81892,1810794.3636600003,1693744.0769999998,1693744.0769999998,1693744.0769999998,1693744.0769999998,4465641.9852,4465641.9852 +1713600.0,1504257.207,1338307.965,3907859.2578000003,1797027.25466,1797027.25466,1797027.25466,1705413.7135,3036527.69832,5434742.881920001,2566447.16643,3910776.6345600006,1558367.6940000001,1558367.6940000001,1558367.6940000001,1991988.2745000003,1504257.207,1504257.207,1920538.7720999997,1960766.2183499997,2914521.6381399995,5083467.973499999,1442736.6248599999,1834889.8685299999,1717575.003,1717575.003,1717575.003,1717575.003,4522800.0023799995,4522800.0023799995 +1717200.0,1455205.0350000001,1206308.502,3522420.82584,1542574.20427,1542574.20427,1542574.20427,1313216.2295,2584825.57496,4014483.3056,2161112.08362,3293123.1750400006,1259304.078,1259304.078,1259304.078,1610127.0535,1455205.0350000001,1455205.0350000001,1860275.8164899999,1579732.1783999999,2348145.1145599997,4095601.9439999997,1162370.83744,1478317.27312,1512142.362,1512142.362,1512142.362,1512142.362,4375316.4719,4375316.4719 +1720800.0,668044.053,492685.0229999999,1438640.2671599998,842683.6913000001,842683.6913000001,842683.6913000001,539908.747,1310199.3572,1722706.7232,1045722.32814,1593481.64288,609307.035,609307.035,609307.035,711857.4995,668044.053,668044.053,1082779.7637799997,363619.66365,540491.45066,942717.6465,267552.24634,340276.17907,838161.4649999999,838161.4649999999,838161.4649999999,838161.4649999999,2008585.7860199998,2008585.7860199998 +1724400.0,261475.896,264345.396,771888.55632,269718.4156700001,269718.4156700001,269718.4156700001,107962.687,601818.5875200001,1385123.50848,493978.1552999999,752728.6176,377317.98,377317.98,377317.98,195234.3225,261475.896,261475.896,375277.63818999997,164272.6737,244178.14708,425892.117,120872.23892,153726.77366,285037.167,285037.167,285037.167,285037.167,786170.86064,786170.86064 +1728000.0,298128.23099999997,286275.288,835923.8409600001,265988.22404000006,265988.22404000006,265988.22404000006,113395.73000000001,616327.9624,1443021.11296,533192.50992,812483.82464,459475.07999999996,459475.07999999996,459475.07999999996,191500.13050000003,298128.23099999997,298128.23099999997,415618.4396,191855.83049999998,285178.2962,497404.005,141167.9938,179539.1599,384003.924,384003.924,384003.924,384003.924,896372.2145399998,896372.2145399998 +1731600.0,366344.33099999995,336024.642,981191.9546399999,279865.14545,279865.14545,279865.14545,125685.672,773917.3781600001,1516679.46368,635632.18761,968582.38112,596750.5290000001,596750.5290000001,596750.5290000001,322104.4365,366344.33099999995,366344.33099999995,487769.17552999995,250555.94729999997,372431.30931999994,649589.493,184359.68468,234470.87414,513067.07100000005,513067.07100000005,513067.07100000005,513067.07100000005,1101475.2885399999,1101475.2885399999 +1735200.0,512653.14600000007,396097.77,1156605.4884,291525.92337000003,291525.92337000003,291525.92337000003,133055.75149999998,1009723.7652,1791949.1212799998,818973.7035899999,1247959.92928,692840.442,692840.442,692840.442,440358.135,512653.14600000007,512653.14600000007,542525.60466,352899.423,524556.6732,914924.43,259664.2668,330244.15140000003,655953.984,655953.984,655953.984,655953.984,1541377.12564,1541377.12564 +1738800.0,683887.548,480815.14800000004,1403980.2321600001,315376.65654000005,315376.65654000005,315376.65654000005,156028.60700000002,1237130.78976,2322306.43904,1036551.4719,1579507.0048,768417.732,768417.732,768417.732,575941.2435,683887.548,683887.548,599894.12353,459874.8918,683567.12312,1192268.238,338377.08088,430352.05924000003,809640.9749999999,809640.9749999999,809640.9749999999,809640.9749999999,2056221.89432,2056221.89432 +1742400.0,797620.17,628653.051,1835666.9089199998,383498.48911,383498.48911,383498.48911,167409.0005,1503168.74272,2583664.96128,1246559.69802,1899519.53984,841586.478,841586.478,841586.478,630278.8624999999,797620.17,797620.17,686261.1752099999,509590.41164999997,757465.2538599999,1321160.3265,374957.88314,476875.96547,881843.124,881843.124,881843.124,881843.124,2398177.9778,2398177.9778 +1746000.0,893075.5260000001,672624.504,1964063.55168,435167.74961000006,435167.74961000006,435167.74961000006,192886.0255,1714308.27792,2755995.8272000006,1411669.6593300002,2151115.67136,954740.946,954740.946,954740.946,723583.441,893075.5260000001,893075.5260000001,813686.1127199999,644404.6854,957855.85336,1670678.814,474154.55864,603035.49572,968392.149,968392.149,968392.149,968392.149,2685180.4148399998,2685180.4148399998 +1749600.0,1134420.477,779148.135,2275112.5542,630728.80761,630728.80761,630728.80761,403262.153,2220944.0576,2956434.3571200003,1738056.2476199998,2648466.66304,1044581.1779999998,1044581.1779999998,1044581.1779999998,970648.0840000001,1134420.477,1134420.477,1114866.29735,801302.71815,1191072.18846,2077451.4915000002,589600.5185400001,749861.06217,1158680.631,1158680.631,1158680.631,1158680.631,3410824.2341799997,3410824.2341799997 +1753200.0,1837243.7489999998,1145767.7489999998,3345641.8270799997,2277118.14209,2277118.14209,2277118.14209,2068640.917,4387733.76016,5626373.105280001,4011793.10238,6113208.53696,2033849.4449999998,2033849.4449999998,2033849.4449999998,2876366.836,1837243.7489999998,1837243.7489999998,3821016.3809999996,2491433.0811,3703315.3452399997,6459270.951,1833202.61276,2331489.22898,2167631.211,2167631.211,2167631.211,2167631.211,5523979.538659999,5523979.538659999 +1756800.0,1858067.742,1651828.8810000003,4823340.332520001,3099269.2938900003,3099269.2938900003,3099269.2938900003,3063051.8729999997,5533231.23568,5470353.633280001,4482911.68878,6831103.525760001,2028104.8590000002,2028104.8590000002,2028104.8590000002,3143323.9145,1858067.742,1858067.742,3073851.8515899996,2918191.0905,4337656.8802,7565680.605,2147212.2098,2730850.4279,2351495.322,2351495.322,2351495.322,2351495.322,5586590.34428,5586590.34428 +1760400.0,2546546.3189999997,2683900.986,7836990.87912,2805185.6360000004,2805185.6360000004,2805185.6360000004,3429845.0864999997,5840000.0,8879139.30944,4830000.0,7360000.0,2483969.64,2483969.64,2483969.64,2384385.3109999998,2546546.3189999997,2546546.3189999997,3995791.3288799995,3090145.51665,4593253.33586,8011488.3765,2273736.70114,2891765.8044700003,2861519.199,2861519.199,2861519.199,2861519.199,7656615.932459999,7656615.932459999 +1764000.0,2041664.79,1590946.278,4645563.131759999,1190954.88556,1190954.88556,1190954.88556,2295303.7484999998,3439150.6836,9635431.44704,2474852.58237,3771203.93504,1881966.744,1881966.744,1881966.744,2033719.24,2041664.79,2041664.79,3221792.0980700003,2954260.026,4391270.4584,7659192.66,2173751.8216,2764603.8268000004,1537572.8039999998,1537572.8039999998,1537572.8039999998,1537572.8039999998,6138605.4686,6138605.4686 +1767600.0,1237330.377,1067319.018,3116571.5325599997,822180.2930000001,822180.2930000001,822180.2930000001,1158164.9765,2554182.3123999997,7300423.336960001,1810238.0039100002,2758457.91072,1202714.9640000002,1202714.9640000002,1202714.9640000002,1106295.379,1237330.377,1237330.377,2141271.66825,2248724.4340499993,3342548.4180199993,5830026.310499999,1654616.9909799998,2104361.87779,1080923.2230000002,1080923.2230000002,1080923.2230000002,1080923.2230000002,3720240.00018,3720240.00018 +1771200.0,1212636.258,1571448.105,4588628.4666,970809.51352,970809.51352,970809.51352,1341660.2115,2657129.82656,5438251.584,2021988.47382,3081125.29344,1139967.5639999998,1139967.5639999998,1139967.5639999998,1468821.2455,1212636.258,1212636.258,1711248.59659,1435447.4129999997,2133677.3891999996,3721530.3299999996,1056205.7507999998,1343295.2333999998,1200957.0750000002,1200957.0750000002,1200957.0750000002,1200957.0750000002,3645993.01572,3645993.01572 +1774800.0,1009771.6710000001,1064414.673,3108090.84516,757206.1740100001,757206.1740100001,757206.1740100001,1247790.5405000001,1972199.1447199997,3143117.1507200003,1467113.66886,2235601.7811200004,893732.415,893732.415,893732.415,1170413.951,1009771.6710000001,1009771.6710000001,1192554.1369299998,1060038.5031,1575662.17004,2748247.9710000004,779978.9479600001,991986.6485800002,917754.3180000001,917754.3180000001,917754.3180000001,917754.3180000001,3036046.82414,3036046.82414 +1778400.0,889905.978,891414.999,2602931.79708,547493.9580000001,547493.9580000001,547493.9580000001,1054403.861,1787626.1082399997,2981119.66272,1356609.8618100001,2067215.0275200002,827642.1900000002,827642.1900000002,827642.1900000002,889951.2685000001,889905.978,889905.978,1123819.23693,988873.76205,1469881.4932199998,2563746.7905,727615.75578,925390.5081900001,861049.4310000001,861049.4310000001,861049.4310000001,861049.4310000001,2675650.64052,2675650.64052 +1782000.0,1343951.517,1769953.2510000002,5168263.49292,1846856.4844400003,1846856.4844400003,1846856.4844400003,1851125.4895,3063811.16216,4139214.5305600003,2319010.28499,3533729.9580800002,1228860.945,1228860.945,1228860.945,1708456.7255000002,1343951.517,1343951.517,2076721.9732999997,1753243.17345,2606055.28498,4545445.2645,1290040.6560199999,1640689.29071,1634711.0549999997,1634711.0549999997,1634711.0549999997,1634711.0549999997,4040814.22778,4040814.22778 +1785600.0,1362766.3620000002,1819527.1440000003,5313019.260480001,2224464.8980400003,2224464.8980400003,2224464.8980400003,1631914.3820000002,3493102.1687199995,4626369.84896,2645832.1094100005,4031744.1667200006,1428119.07,1428119.07,1428119.07,2143663.3890000004,1362766.3620000002,1362766.3620000002,2177324.28251,1849479.05475,2749102.1999,4794945.6975,1360851.2551,1730747.06605,1605937.6979999999,1605937.6979999999,1605937.6979999999,1605937.6979999999,4097384.19508,4097384.19508 +1789200.0,1289408.796,1683287.571,4915199.707319999,1771713.6861600003,1771713.6861600003,1771713.6861600003,1512410.0599999998,3195531.08904,4679506.387200001,2310086.25624,3520131.43808,1325340.738,1325340.738,1325340.738,1859728.6750000003,1289408.796,1289408.796,1954474.60637,1730929.6782000002,2572888.06488,4487595.462,1273622.3311200002,1619808.2667600003,1577892.8279999997,1577892.8279999997,1577892.8279999997,1577892.8279999997,3876822.44664,3876822.44664 +1792800.0,2503691.757,2111776.593,6166387.651559999,3854072.234650001,3854072.234650001,3854072.234650001,3239494.846,4295573.058879999,8019360.1913600005,4211318.94855,6417247.9216,2641409.1810000003,2641409.1810000003,2641409.1810000003,3382837.7275,2503691.757,2503691.757,4521952.07737,3338661.1428,4962651.8715200005,8655788.148,2456595.11248,3124327.3410400003,2884604.0790000004,2884604.0790000004,2884604.0790000004,2884604.0790000004,7527766.54938,7527766.54938 +1796400.0,2065849.002,1299601.3620000002,3794835.9770400003,3007157.94929,3007157.94929,3007157.94929,2150461.7015,3437778.2368799997,6516910.483840001,3235276.5091500003,4929945.1568,2102929.806,2102929.806,2102929.806,3069696.2415,2065849.002,2065849.002,2234292.44103,2682227.0907,3986915.3298799996,6953922.087,1973589.3161199999,2510034.73426,2365041.732,2365041.732,2365041.732,2365041.732,6211319.33268,6211319.33268 +1800000.0,1651355.2259999998,1232078.334,3597668.7352799997,2315462.2958500003,2315462.2958500003,2315462.2958500003,1948575.5555,2869671.97208,5545464.83392,2572314.78567,3919717.7686400004,1613839.8900000001,1613839.8900000001,1613839.8900000001,2299377.5700000003,1651355.2259999998,1651355.2259999998,1838405.99709,2085730.9974,3100271.75416,5407450.734,1534686.01784,1951832.21732,1842781.1430000002,1842781.1430000002,1842781.1430000002,1842781.1430000002,4965074.712839999,4965074.712839999 +1803600.0,1469048.178,1240191.528,3621359.2617599997,1809482.50879,1809482.50879,1809482.50879,1785664.986,2745326.76216,5158698.75328,2396758.90125,3652204.04,1454586.2370000002,1454586.2370000002,1454586.2370000002,2011876.0165000001,1469048.178,1469048.178,1893839.3279,1944794.2617,2890780.60628,5042059.197,1430984.41972,1819943.27206,1665506.19,1665506.19,1665506.19,1665506.19,4416938.18852,4416938.18852 +1807200.0,1042667.6519999999,895496.625,2614850.145,1146052.34601,1146052.34601,1146052.34601,904257.5885,1458487.90136,3225196.371200001,1456775.92809,2219849.03328,800899.6680000001,800899.6680000001,800899.6680000001,994226.4500000001,1042667.6519999999,1042667.6519999999,1323027.9410400002,916868.5568999999,1362851.5339599997,2377066.6289999997,674634.1480399999,858007.8594199999,1073176.392,1073176.392,1073176.392,1073176.392,3134954.0736799994,3134954.0736799994 +1810800.0,212874.09600000002,162872.385,475587.3642,223535.70239000002,223535.70239000002,223535.70239000002,83970.8205,459461.13568,1206060.90368,438911.64891000005,668817.7507200001,284505.033,284505.033,284505.033,175383.9045,212874.09600000002,212874.09600000002,347859.65213999996,143898.28605000002,213893.25482000003,373069.6305000001,105880.71418000002,134660.37139000001,253362.837,253362.837,253362.837,253362.837,640041.4486400001,640041.4486400001 +1814400.0,250044.66,206589.897,603242.49924,207449.60940000004,207449.60940000004,207449.60940000004,82903.8385,557494.86216,1260617.14048,464319.09594,707533.86048,342026.78099999996,342026.78099999996,342026.78099999996,175532.84,250044.66,250044.66,376365.2802,147115.7721,218675.78964,381411.26100000006,108248.14836000002,137671.30278000003,267692.733,267692.733,267692.733,267692.733,751800.9443999999,751800.9443999999 +1818000.0,313106.181,298724.53500000003,872275.6422,245265.75799000004,245265.75799000004,245265.75799000004,109094.3665,609249.08816,1356292.5312,544752.6319200001,830099.24864,410803.905,410803.905,410803.905,236217.35549999998,313106.181,313106.181,437538.81690999994,206759.68875,307331.68549999996,536043.6375000001,152134.2895,193486.22725,419913.333,419913.333,419913.333,419913.333,941405.9175399999,941405.9175399999 +1821600.0,394305.768,333922.23,975052.9115999999,265244.32979,265244.32979,265244.32979,123304.4925,794057.9379999998,1405644.30912,652479.1793100002,994253.9875200002,572399.112,572399.112,572399.112,366179.0685,394305.768,394305.768,487845.87578999996,245098.56824999998,364319.35329999996,635440.7325,180344.1317,229363.84535000002,515704.926,515704.926,515704.926,515704.926,1185546.0091199998,1185546.0091199998 +1825200.0,542353.236,372629.157,1088077.13844,279220.86445,279220.86445,279220.86445,128441.00149999998,965837.64856,1638698.89216,841724.65545,1282628.0463999999,656695.392,656695.392,656695.392,413339.976,542353.236,542353.236,525889.64246,331593.22755,492886.72341999994,859686.1455,243987.11557999998,310305.76109,674253.435,674253.435,674253.435,674253.435,1630675.39624,1630675.39624 +1828800.0,682487.2320000001,496706.544,1450383.10848,302180.61764,302180.61764,302180.61764,150698.114,1205709.3939200002,2109363.85152,1059631.10043,1614675.9625600001,704194.7250000001,704194.7250000001,704194.7250000001,515059.4225,682487.2320000001,682487.2320000001,589878.27015,425467.5012,632423.29808,1103063.892,313060.03792,398153.53816,790868.9910000002,790868.9910000002,790868.9910000002,790868.9910000002,2052011.61088,2052011.61088 +1832400.0,754806.0719999999,579922.7130000001,1693374.32196,365958.01011000003,365958.01011000003,365958.01011000003,166040.259,1458801.79552,2368728.61376,1210317.29553,1844293.0217600001,750000.51,750000.51,750000.51,612989.958,754806.0719999999,754806.0719999999,733817.30851,487693.2078,724916.8175199999,1264389.798,358845.86648,456384.50804,826329.7740000001,826329.7740000001,826329.7740000001,826329.7740000001,2269450.2564799995,2269450.2564799995 +1836000.0,973618.815,659379.132,1925387.0654399998,572920.73355,572920.73355,572920.73355,307621.377,1939464.2394400002,2511905.9104000004,1497429.2363099998,2281796.93152,864130.155,864130.155,864130.155,802139.4465,973618.815,973618.815,1007534.7356099999,628452.1242,934143.65128,1629320.322,462416.62472,588107.04956,1004721.9809999999,1004721.9809999999,1004721.9809999999,1004721.9809999999,2927347.2370999996,2927347.2370999996 +1839600.0,1717576.206,1027321.686,2999779.32312,2147440.29049,2147440.29049,2147440.29049,1858684.1105,4150839.77824,5327190.992000001,3798820.9805699997,5788679.58944,1863742.7370000002,1863742.7370000002,1863742.7370000002,2589799.94,1717576.206,1717576.206,3608325.9731999994,2300939.75565,3420162.30346,5965399.3665000005,1693037.15354,2153225.1046700003,2039274.192,2039274.192,2039274.192,2039274.192,5164179.12604,5164179.12604 +1843200.0,1744113.8760000002,1578881.349,4610333.53908,2937274.5963000003,2937274.5963000003,2937274.5963000003,2864435.6859999998,5288258.78176,5032888.25408,4284657.80379,6529002.36768,1866217.3350000002,1866217.3350000002,1866217.3350000002,2942568.4225,1744113.8760000002,1744113.8760000002,2966041.1320799994,2785699.90485,4140719.3647399996,7222184.9385,2049724.86826,2606864.84923,2212347.489,2212347.489,2212347.489,2212347.489,5243969.05384,5243969.05384 +1846800.0,2525050.695,2646908.214,7728971.98488,2636441.4783300003,2636441.4783300003,2636441.4783300003,3372607.5565,5697246.33336,8757298.2368,4714041.92994,7183301.988480001,2459774.7539999997,2459774.7539999997,2459774.7539999997,2276381.17,2525050.695,2525050.695,3925334.3045799998,2952923.8661999996,4389284.36408,7655728.541999999,2172768.6719199996,2763353.4451599997,2825604.4439999997,2825604.4439999997,2825604.4439999997,2825604.4439999997,7591985.7563,7591985.7563 +1850400.0,2194215.567,1719578.259,5021168.51628,1330167.3185900003,1330167.3185900003,1330167.3185900003,2200256.8699999996,3618766.6813600003,9953634.280960001,2712528.86457,4133377.3174400004,2066501.1809999999,2066501.1809999999,2066501.1809999999,2142790.517,2194215.567,2194215.567,3319706.9833199997,2989730.75625,4443994.8525,7751153.8125,2199851.2725,2797797.42375,1749782.6220000002,1749782.6220000002,1749782.6220000002,1749782.6220000002,6597274.80478,6597274.80478 +1854000.0,1352642.79,1143107.529,3337873.9846799998,915429.24737,915429.24737,915429.24737,1256777.9595,2749784.62104,7409040.313600002,1973685.8946,3007521.3632,1330997.745,1330997.745,1330997.745,1230566.3754999998,1352642.79,1352642.79,1615706.3015599998,2372486.3347500004,3526510.5519000003,6150890.4975000005,1745681.3031000004,2220178.57005,1199763.606,1199763.606,1199763.606,1199763.606,4066945.9886,4066945.9886 +1857600.0,1354951.4249999998,1639661.6070000003,4787811.892440001,1083950.1655400002,1083950.1655400002,1083950.1655400002,1507631.4505000003,2930156.04032,5696443.07968,2273382.3134399997,3464201.62048,1322543.457,1322543.457,1322543.457,1656905.46,1354951.4249999998,1354951.4249999998,1746958.2915199997,1659462.5925,2466657.977,4302310.425000001,1221036.6730000002,1552929.1915000002,1377753.099,1377753.099,1377753.099,1377753.099,4073887.2844999996,4073887.2844999996 +1861200.0,1196565.453,1187029.2719999999,3466125.47424,897309.0253600001,897309.0253600001,897309.0253600001,1444305.5304999999,2284761.37008,3837118.65536,1761229.2400500001,2683777.8896000003,1115791.605,1115791.605,1115791.605,1367573.5255,1196565.453,1196565.453,1436262.88793,1299883.54905,1932172.58402,3370068.4605,956457.52498,1216434.2347900001,1132056.144,1132056.144,1132056.144,1132056.144,3597673.46202,3597673.46202 +1864800.0,1043679.8999999999,1017305.2679999999,2970531.38256,664452.47352,664452.47352,664452.47352,1224346.5535000002,2129113.3221599995,3580178.84928,1626401.2100700003,2478325.6534400005,1023721.2839999999,1023721.2839999999,1023721.2839999999,1099484.5435,1043679.8999999999,1043679.8999999999,1322531.5875199998,1199116.42245,1782390.33658,3108820.3545000004,882312.8244200001,1122136.1089100002,1045305.5129999999,1045305.5129999999,1045305.5129999999,1045305.5129999999,3137997.5659999996,3137997.5659999996 +1868400.0,1487700.924,1882973.079,5498281.390679999,1954658.62735,1954658.62735,1954658.62735,2036519.5935000002,3388878.7021599994,4711946.43456,2584196.51805,3937823.2656,1405011.048,1405011.048,1405011.048,1884373.1584999997,1487700.924,1487700.924,2254167.84203,1945256.17635,2891467.20534,5043256.753500001,1431324.29766,1820375.53293,1861306.1940000001,1861306.1940000001,1861306.1940000001,1861306.1940000001,4473020.77816,4473020.77816 +1872000.0,1479230.1749999998,1964266.9470000002,5735659.48524,2381053.7361600003,2381053.7361600003,2381053.7361600003,1788283.9905,3806965.6103199995,5073270.36416,2896002.49554,4412956.18368,1559860.137,1559860.137,1559860.137,2361989.2800000003,1479230.1749999998,1479230.1749999998,2309083.1358399997,1996171.68285,2967149.0199399996,5175259.9185,1468788.05306,1868022.38963,1742356.083,1742356.083,1742356.083,1742356.083,4447552.0594999995,4447552.0594999995 +1875600.0,1375158.375,1754784.9809999997,5123972.14452,1923247.9220900002,1923247.9220900002,1923247.9220900002,1629582.6155,3377107.60984,4988079.4528,2475264.84702,3771832.14784,1423267.086,1423267.086,1423267.086,1999432.876,1375158.375,1375158.375,2067083.7433999998,1881248.73705,2796325.28322,4877311.5405,1384227.4657800002,1760477.21319,1675975.4310000003,1675975.4310000003,1675975.4310000003,1675975.4310000003,4134642.8474999997,4134642.8474999997 +1879200.0,2553488.8710000003,2173865.409,6347686.994279999,3980807.0326200007,3980807.0326200007,3980807.0326200007,3298771.0069999998,4401145.9976,8211672.90624,4290012.264509999,6537161.5459199995,2695964.256,2695964.256,2695964.256,3445604.7989999996,2553488.8710000003,2553488.8710000003,4575055.006469999,3414004.58475,5074643.851899999,8851122.9975,2512033.0031,3194833.92005,2951514.972,2951514.972,2951514.972,2951514.972,7677489.872140001,7677489.872140001 +1882800.0,2122178.79,1360473.3329999999,3972582.1323599997,3119220.31993,3119220.31993,3119220.31993,2210929.5215,3556516.0831999998,6811334.414080001,3319408.0815000003,5058145.648000001,2170606.5029999996,2170606.5029999996,2170606.5029999996,3317561.044,2122178.79,2122178.79,2455617.58767,2770556.1569999997,4118209.398799999,7182923.369999999,2038582.0611999999,2592693.2926,2423875.986,2423875.986,2423875.986,2423875.986,6380684.2286,6380684.2286 +1886400.0,1702701.021,1272305.097,3715130.88324,2460131.4836999997,2460131.4836999997,2460131.4836999997,2001027.3569999998,2957589.80824,5784352.44608,2667678.3056699997,4065033.6086399998,1672316.4270000001,1672316.4270000001,1672316.4270000001,2388872.6890000002,1702701.021,1702701.021,1902692.6812399996,2168620.3224,3223480.0841599996,5622348.983999999,1595676.1878399998,2029400.25232,1909930.65,1909930.65,1909930.65,1909930.65,5119454.40314,5119454.40314 +1890000.0,1526094.498,1285955.463,3754989.9519599997,1959810.8118600002,1959810.8118600002,1959810.8118600002,1862571.823,2854377.53184,5336019.06752,2486222.13189,3788528.9628799995,1506859.368,1506859.368,1506859.368,2091869.1045,1526094.498,1526094.498,1966427.9902799998,2020751.7808499997,3003685.3631399996,5238986.098499999,1486874.14986,1891024.5060299998,1727713.659,1727713.659,1727713.659,1727713.659,4588457.457319999,4588457.457319999 +1893600.0,1076295.8250000002,922091.9099999999,2692508.3771999995,1191644.6813700001,1191644.6813700001,1191644.6813700001,933996.5774999999,1505684.8892,3310858.00576,1505507.1794699999,2294106.17824,822491.3700000001,822491.3700000001,822491.3700000001,1033967.683,1076295.8250000002,1076295.8250000002,1365989.51424,947463.7958999999,1408328.90156,2456387.619,697146.2004399999,886638.95962,1107087.2909999997,1107087.2909999997,1107087.2909999997,1107087.2909999997,3236062.7805,3236062.7805 +1897200.0,221007.369,163510.37699999998,477450.3008399999,225693.28265000004,225693.28265000004,225693.28265000004,84727.1005,471386.00104,1209959.27296,444198.00662999996,676873.15296,286068.609,286068.609,286068.609,176616.81100000002,221007.369,221007.369,348723.12409999996,145488.7494,216257.35095999998,377193.054,107050.98104,136148.73092,255574.641,255574.641,255574.641,255574.641,664495.4894600001,664495.4894600001 +1900800.0,249581.31,205360.69199999998,599653.22064,206776.6349,206776.6349,206776.6349,83877.03450000001,543828.8241600001,1242501.77728,460959.99516,702415.23072,333136.20900000003,333136.20900000003,333136.20900000003,173863.998,249581.31,249581.31,369968.33132999996,145800.02834999998,216720.04213999998,378000.0735,107280.02085999999,136440.02653,267498.498,267498.498,267498.498,267498.498,750407.8054,750407.8054 +1904400.0,305476.278,287213.22000000003,838662.6024,240400.93176,240400.93176,240400.93176,107012.864,576942.02712,1298880.53376,528047.961,804644.512,384045.255,384045.255,384045.255,224413.0455,305476.278,305476.278,421282.29156,200967.78374999997,298722.4835,521027.58749999997,147872.59149999998,188066.14825,406645.7729999999,406645.7729999999,406645.7729999999,406645.7729999999,918465.3425199998,918465.3425199998 +1908000.0,379459.944,318244.011,929272.51212,256756.01919,256756.01919,256756.01919,120262.83850000001,738538.36032,1336464.51456,628069.11762,957057.7030400002,535114.728,535114.728,535114.728,351153.03650000005,379459.944,379459.944,467137.50784999994,235294.14195,349745.86037999997,610021.8495,173130.01062000002,220188.83901000003,490872.28799999994,490872.28799999994,490872.28799999994,490872.28799999994,1140909.5649599999,1140909.5649599999 +1911600.0,511196.68200000003,352593.19800000003,1029572.13816,268448.09948,268448.09948,268448.09948,125565.363,902683.0417599999,1526365.3619200003,795971.4178500001,1212908.8272000002,613059.342,613059.342,613059.342,396257.603,511196.68200000003,511196.68200000003,500539.3744,303315.5646,450854.24663999997,786373.686,223180.34136000002,283843.45428,630209.649,630209.649,630209.649,630209.649,1536998.02388,1536998.02388 +1915200.0,657459.9720000001,450755.91300000006,1316207.2659600002,293381.96547,293381.96547,293381.96547,147214.501,1134642.6266400001,1959049.6992000001,1017820.83333,1550965.07936,669724.788,669724.788,669724.788,475751.9865,657459.9720000001,657459.9720000001,572888.67194,405734.16374999995,603091.2754999999,1051903.3875,298540.1995,379687.03225,756431.463,756431.463,756431.463,756431.463,1976762.98248,1976762.98248 +1918800.0,735163.602,554654.373,1619590.76916,356599.65154000005,356599.65154000005,356599.65154000005,163810.7345,1380577.13296,2263661.7049600002,1174219.13616,1789286.30272,716154.594,716154.594,716154.594,593347.755,735163.602,735163.602,712918.87823,471015.8748,700127.3003199999,1221152.268,346574.64368,440777.81864,801447.021,801447.021,801447.021,801447.021,2210391.89668,2210391.89668 +1922400.0,962095.926,647600.547,1890993.5972399998,572417.99901,572417.99901,572417.99901,301954.23299999995,1914443.8281599998,2476861.9200000004,1481356.32456,2257304.8755200002,838153.233,838153.233,838153.233,793911.3910000001,962095.926,962095.926,1014085.11867,609387.44175,905805.5307,1579893.3675,448388.7843,570266.27265,988514.673,988514.673,988514.673,988514.673,2892701.75084,2892701.75084 +1926000.0,1729687.2000000002,1034755.6710000001,3021486.55932,2152549.84175,2152549.84175,2152549.84175,1857140.439,4157103.4585600006,5332287.68448,3808271.04945,5803079.694399999,1867392.5040000002,1867392.5040000002,1867392.5040000002,2580252.7065,1729687.2000000002,1729687.2000000002,3612073.3624299993,2295717.58035,3412399.9589400003,5951860.3935,1689194.66406,2148338.18013,2049949.8990000002,2049949.8990000002,2049949.8990000002,2049949.8990000002,5200592.848,5200592.848 +1929600.0,1779678.699,1604399.6429999997,4684846.957559999,2952315.03303,2952315.03303,2952315.03303,2877350.434,5336755.07032,5119164.98944,4329614.56473,6597507.90816,1905750.2969999998,1905750.2969999998,1905750.2969999998,2953312.74,1779678.699,1779678.699,3001616.48852,2815118.5418999996,4184447.807959999,7298455.478999999,2071371.1740399997,2634394.8824199997,2245493.733,2245493.733,2245493.733,2245493.733,5350900.62166,5350900.62166 +1933200.0,2541150.132,2657888.751,7761035.15292,2652822.4184000003,2652822.4184000003,2652822.4184000003,3385697.7,5719679.46696,8802956.700800002,4742085.56199,7226035.142080001,2478204.6810000003,2478204.6810000003,2478204.6810000003,2291442.5975,2541150.132,2541150.132,3942685.40796,2957357.34045,4395874.36778,7667222.7345,2176030.83322,2767502.30131,2837493.699,2837493.699,2837493.699,2837493.699,7640391.39688,7640391.39688 +1936800.0,2203839.2249999996,1733513.7629999998,5061860.18796,1334478.1934,1334478.1934,1334478.1934,2199201.298,3623809.7958399993,9924983.966080002,2717787.4014899996,4141390.3260799996,2069372.3969999999,2069372.3969999999,2069372.3969999999,2151843.2145,2203839.2249999996,2203839.2249999996,3274313.0364099992,2985810.7045499994,4438168.010219999,7740990.715499999,2196966.8887799997,2794129.0296899998,1754491.9889999998,1754491.9889999998,1754491.9889999998,1754491.9889999998,6626209.936499999,6626209.936499999 +1940400.0,1335698.481,1138516.644,3324468.60048,904321.9121200001,904321.9121200001,904321.9121200001,1241651.7189999998,2690236.10912,7269595.063680001,1935887.5848899998,2949923.93888,1289457.498,1289457.498,1289457.498,1215192.1775,1335698.481,1335698.481,1569730.9266599999,2345220.19575,3485981.6242999993,6080200.507499999,1725618.8106999998,2194662.84985,1171147.266,1171147.266,1171147.266,1171147.266,4016000.09954,4016000.09954 +1944000.0,1336729.356,1614706.6979999999,4714943.55816,1071707.43053,1071707.43053,1071707.43053,1489095.6324999998,2853738.02848,5522994.065280001,2236743.20373,3408370.59616,1289306.4780000001,1289306.4780000001,1289306.4780000001,1648109.0779999997,1336729.356,1336729.356,1713155.5595699998,1627593.85935,2419287.66254,4219687.7835,1197587.58046,1523106.35233,1361202.0089999998,1361202.0089999998,1361202.0089999998,1361202.0089999998,4019099.59704,4019099.59704 +1947600.0,1182180.441,1173400.044,3426328.12848,889794.05526,889794.05526,889794.05526,1432945.8115,2242782.7375999996,3748771.7606400005,1737856.42569,2648162.17248,1091459.409,1091459.409,1091459.409,1353941.0325,1182180.441,1182180.441,1410563.7457599998,1277821.0241999999,1899378.41128,3312869.322,940223.86472,1195788.06956,1113970.2719999999,1113970.2719999999,1113970.2719999999,1113970.2719999999,3554422.5259400005,3554422.5259400005 +1951200.0,1028461.2989999999,994189.2390000001,2903032.5778799998,654580.949,654580.949,654580.949,1210448.876,2080789.4888,3483945.8694400005,1599085.79229,2436702.15968,997280.61,997280.61,997280.61,1077405.0035,1028461.2989999999,1028461.2989999999,1292431.8484999998,1174199.04045,1745352.64778,3044219.7345000003,863978.55322,1098818.36131,1023998.427,1023998.427,1023998.427,1023998.427,3092240.3056599996,3092240.3056599996 +1954800.0,1471491.735,1865290.248,5446647.52416,1945244.05394,1945244.05394,1945244.05394,2034814.2814999998,3340001.37696,4612005.474560001,2555047.03818,3893405.0105600003,1377971.919,1377971.919,1377971.919,1869514.1605000002,1471491.735,1471491.735,2226027.7643499994,1920396.69315,2854515.5784599995,4978806.2415,1413032.62854,1797111.96717,1845928.8539999998,1845928.8539999998,1845928.8539999998,1845928.8539999998,4424285.149900001,4424285.149900001 +1958400.0,1469811.099,1957202.472,5715031.21824,2385079.79237,2385079.79237,2385079.79237,1780495.1465,3775473.5504799993,4999491.09312,2876804.97468,4383702.81856,1541155.2090000003,1541155.2090000003,1541155.2090000003,2340963.562,1469811.099,1469811.099,2289511.51039,1980049.1715,2943184.2006,5133460.815,1456925.0694000002,1852934.9037000001,1728495.336,1728495.336,1728495.336,1728495.336,4419232.03766,4419232.03766 +1962000.0,1370831.9640000002,1748534.889,5105721.87588,1923012.7249300003,1923012.7249300003,1923012.7249300003,1628030.6315,3354571.7448,4936329.23328,2463809.3718000003,3754376.1856000004,1410685.263,1410685.263,1410685.263,1991163.4155,1370831.9640000002,1370831.9640000002,2051808.78032,1874842.038,2786802.2391999997,4860701.58,1379513.4008,1754481.8084,1668515.715,1668515.715,1668515.715,1668515.715,4121634.77176,4121634.77176 +1965600.0,2555286.435,2177991.648,6359735.61216,3990519.9980800007,3990519.9980800007,3990519.9980800007,3304274.7885,4401693.02456,8196434.79168,4293520.080990001,6542506.790080001,2694351.387,2694351.387,2694351.387,3445418.3505,2555286.435,2555286.435,4575979.382649999,3413744.5504499995,5074257.33178,8850448.8345,2511841.66922,3194590.57931,2952066.312,2952066.312,2952066.312,2952066.312,7682894.5479,7682894.5479 +1969200.0,2127947.319,1369571.331,3999148.28652,3134095.17685,3134095.17685,3134095.17685,2219883.491,3567864.9552,6805360.97856,3328367.0359799997,5071797.38816,2172229.2449999996,2172229.2449999996,2172229.2449999996,3319148.5425,2127947.319,2127947.319,2518757.13011,2776502.2414499996,4127047.776179999,7198339.1444999995,2042957.2048199999,2598257.65311,2428160.148,2428160.148,2428160.148,2428160.148,6398028.27246,6398028.27246 +1972800.0,1714369.191,1283769.786,3748607.7751200004,2499412.54332,2499412.54332,2499412.54332,2016905.8035000004,2978066.1914399997,5804367.870720001,2690836.1753700003,4100321.7910400005,1685793.771,1685793.771,1685793.771,2409008.4165,1714369.191,1714369.191,1918847.38851,2187911.7724499996,3252155.2765799994,5672363.854499999,1609870.8844199998,2047453.2389099998,1927255.233,1927255.233,1927255.233,1927255.233,5154536.70094,5154536.70094 +1976400.0,1547614.6739999999,1305911.9130000002,3813262.78596,2024336.3476600002,2024336.3476600002,2024336.3476600002,1895951.3790000002,2894583.3272,5404440.667520001,2520297.7384200003,3840453.69664,1527714.294,1527714.294,1527714.294,2124298.736,1547614.6739999999,1547614.6739999999,1994168.3810099997,2049067.8742499996,3045774.9636999993,5312398.192499999,1507709.2012999998,1917522.7761499998,1751673.846,1751673.846,1751673.846,1751673.846,4653161.453159999,4653161.453159999 +1980000.0,1092627.591,937590.8910000001,2737765.40172,1218016.42952,1218016.42952,1218016.42952,952065.1735000001,1528866.20272,3357923.04704,1529655.12189,2330903.04288,834939.315,834939.315,834939.315,1056709.0065,1092627.591,1092627.591,1388961.4393200001,964155.8060999999,1433140.2352399998,2499663.201,709428.2227599999,902259.3839799999,1125302.832,1125302.832,1125302.832,1125302.832,3285166.95694,3285166.95694 +1983600.0,227410.03799999997,167283.51299999998,488467.85795999994,231174.41677,231174.41677,231174.41677,86171.8165,479785.3752,1243314.0672000002,453943.62804,691723.62368,293303.385,293303.385,293303.385,181255.3715,227410.03799999997,227410.03799999997,356727.97901,149180.41755,221744.71942,386764.0455,109767.31958000001,139603.40309,261223.04700000002,261223.04700000002,261223.04700000002,261223.04700000002,683746.1809199998,683746.1809199998 +1987200.0,257478.648,212104.46400000004,619345.03488,212888.09399000002,212888.09399000002,212888.09399000002,87119.40299999999,557733.96344,1279183.83872,474942.12066,723721.32672,339887.958,339887.958,339887.958,178787.10150000002,257478.648,257478.648,381153.3225499999,151825.79655,225676.86302,393622.4355,111713.79598000001,142078.95529,279660.048,279660.048,279660.048,279660.048,774152.46832,774152.46832 +1990800.0,319927.272,295948.08,864168.3936,249937.65808000002,249937.65808000002,249937.65808000002,113275.2985,601625.7682399999,1337510.3436800002,547197.56343,833824.8585600001,406478.739,406478.739,406478.739,244262.9385,319927.272,319927.272,437171.42429999996,210017.34269999998,312173.92668,544489.407,154531.27932,196534.74786,425254.662,425254.662,425254.662,425254.662,961914.6644799999,961914.6644799999 +1994400.0,400810.233,332289.822,970286.2802399999,266566.83966000006,266566.83966000006,266566.83966000006,124418.5705,784784.5903200001,1388299.2716800002,658838.55534,1003944.46528,565575.8910000001,565575.8910000001,565575.8910000001,369899.8345,400810.233,400810.233,486566.05984999996,249291.95445,370552.48537999997,646312.4745,183429.63562000002,233288.02651000003,518257.55399999995,518257.55399999995,518257.55399999995,518257.55399999995,1205102.7672199998,1205102.7672199998 +1998000.0,559433.781,371819.049,1085711.6230799998,282640.5802,282640.5802,282640.5802,134815.338,967791.3446399999,1650787.5404800002,871508.01003,1328012.20576,651894.012,651894.012,651894.012,425034.862,559433.781,559433.781,524948.3158399999,336487.05315,500161.00245999993,872373.8415,247588.00454,314885.41517,680106.456,680106.456,680106.456,680106.456,1682030.90154,1682030.90154 +2001600.0,701156.154,503080.779,1468995.87468,313899.19363,313899.19363,313899.19363,155834.27300000002,1235903.06408,2119696.22848,1095824.24658,1669827.4233600001,706624.299,706624.299,706624.299,525559.181,701156.154,701156.154,626018.67172,437802.67529999994,650758.5445199999,1135043.973,322136.28948,409696.82454,799190.8289999999,799190.8289999999,799190.8289999999,799190.8289999999,2108142.83636,2108142.83636 +2005200.0,778336.23,587178.753,1714561.9587599998,386503.32534000004,386503.32534000004,386503.32534000004,176777.28600000002,1492413.3431999998,2411173.76768,1242824.56242,1893827.90464,758970.0959999999,758970.0959999999,758970.0959999999,627932.3330000001,778336.23,778336.23,749233.04586,502840.14704999997,747431.5272199999,1303659.6405,369991.02178,470559.05119,843751.206,843751.206,843751.206,843751.206,2340197.5981999994,2340197.5981999994 +2008800.0,1016638.3589999999,682722.516,1993549.74672,594818.0824300001,594818.0824300001,594818.0824300001,343606.998,1976637.54472,2547716.3750400003,1543336.6909800002,2351751.1481600003,893743.0650000002,893743.0650000002,893743.0650000002,827387.3265,1016638.3589999999,1016638.3589999999,1090319.9630699998,678866.46345,1009080.52098,1760024.1645000002,499511.62002000003,635284.9127100001,1036735.2450000001,1036735.2450000001,1036735.2450000001,1036735.2450000001,3056692.6660599997,3056692.6660599997 +2012400.0,1762621.2510000002,1048732.776,3062299.70592,2183689.9693400003,2183689.9693400003,2183689.9693400003,1895478.9630000002,4180182.88744,5365009.18656,3840862.9234500006,5852743.502400001,1917381.678,1917381.678,1917381.678,2616164.5545,1762621.2510000002,1762621.2510000002,3651875.8575,2329823.7967499997,3463096.1127,6040283.9175,1714290.1023,2180254.86165,2065308.756,2065308.756,2065308.756,2065308.756,5299614.56134,5299614.56134 +2016000.0,1783989.3900000001,1597961.0250000001,4666046.193,2978991.13985,2978991.13985,2978991.13985,2915461.6505,5358762.5438399995,5143739.3408,4353954.15189,6634596.80288,1905189.1350000002,1905189.1350000002,1905189.1350000002,3016897.2539999997,1783989.3900000001,1783989.3900000001,3000150.2321699997,2821365.4724999997,4193733.3689999995,7314651.225,2075967.6809999999,2640240.7755,2254429.8329999996,2254429.8329999996,2254429.8329999996,2254429.8329999996,5363861.4326,5363861.4326 +2019600.0,2565176.922,2674113.618,7808411.76456,2717414.7632500003,2717414.7632500003,2717414.7632500003,3410882.4365000003,5765159.42472,8866837.228160001,4793844.3105,7304905.616,2504320.188,2504320.188,2504320.188,2340626.589,2565176.922,2565176.922,3989714.6057599997,3011379.6789,4476174.23876,7807280.649,2215780.60324,2818056.53902,2864298.612,2864298.612,2864298.612,2864298.612,7712631.945479999,7712631.945479999 +2023200.0,2250615.297,1783591.755,5208087.9246,1384624.8669,1384624.8669,1384624.8669,2320261.6745,3732447.8819199996,10111447.038080001,2809175.7928500003,4280648.8272,2110064.4809999997,2110064.4809999997,2110064.4809999997,2217613.0375,2250615.297,2250615.297,3323546.68607,3051471.28905,4535767.200019999,7911221.8605,2245280.10898,2855574.36679,1814960.16,1814960.16,1814960.16,1814960.16,6766849.992979999,6766849.992979999 +2026800.0,1385819.025,1209823.833,3532685.59236,949084.95649,949084.95649,949084.95649,1327506.81,2803437.2791999998,7492567.216,2031334.08429,3095366.22368,1357255.6860000002,1357255.6860000002,1357255.6860000002,1289378.9054999999,1385819.025,1385819.025,1629179.07308,2426108.0431500003,3606214.91846,6289909.7415000005,1785136.28854,2270357.8971700002,1241007.258,1241007.258,1241007.258,1241007.258,4166695.8685,4166695.8685 +2030400.0,1374767.874,1646009.127,4806346.65084,1106510.10635,1106510.10635,1106510.10635,1532029.373,2936896.12448,5742632.23744,2313874.44456,3525903.9155200003,1332274.254,1332274.254,1332274.254,1695923.796,1374767.874,1374767.874,1759114.9316,1696597.5123,2521856.05532,4398586.143,1248360.63868,1587680.14114,1409655.6300000001,1409655.6300000001,1409655.6300000001,1409655.6300000001,4133468.74116,4133468.74116 +2034000.0,1216750.683,1196174.4989999998,3492829.5370799997,915269.31265,915269.31265,915269.31265,1472117.2025000001,2295656.71936,3840976.01792,1792294.93065,2731116.0848,1126948.2449999999,1126948.2449999999,1126948.2449999999,1392099.331,1216750.683,1216750.683,1444020.5857999998,1318238.59455,1959455.8862199998,3417655.6155,969963.21278,1233610.93169,1146444.702,1146444.702,1146444.702,1146444.702,3658363.7202199996,3658363.7202199996 +2037600.0,1034629.794,1013505.8729999999,2959437.1491599996,646275.5482700001,646275.5482700001,646275.5482700001,1228076.451,2096616.70056,3474551.96864,1603052.0288999998,2442745.9488,1001754.867,1001754.867,1001754.867,1118492.151,1034629.794,1034629.794,1268859.3323899999,1174202.7259499999,1745358.1259799998,3044229.2895,863981.2650199999,1098821.81021,1024808.457,1024808.457,1024808.457,1024808.457,3110786.91396,3110786.91396 +2041200.0,1517232.243,1905529.881,5564147.25252,1980581.3731000002,1980581.3731000002,1980581.3731000002,2114789.719,3434385.7984,4773805.82784,2635225.1830800003,4015581.2313600006,1428919.8599999999,1428919.8599999999,1428919.8599999999,1917940.6645,1517232.243,1517232.243,2280129.8555099997,1978059.9370499998,2940227.3632199997,5128303.5405,1455461.38578,1851073.37319,1920453.2309999997,1920453.2309999997,1920453.2309999997,1920453.2309999997,4561811.6106199995,4561811.6106199995 +2044800.0,1516481.5980000002,2035735.5,5944347.66,2427070.1288900003,2427070.1288900003,2427070.1288900003,1839832.3195,3893283.9872800005,5164666.096,2962388.25183,4514115.43136,1591917.6809999999,1591917.6809999999,1591917.6809999999,2411092.467,1516481.5980000002,1516481.5980000002,2341328.4234599997,2050595.6922000002,3048045.94248,5316359.2020000005,1508833.3735200001,1918952.5119600003,1782141.5459999996,1782141.5459999996,1782141.5459999996,1782141.5459999996,4559554.67132,4559554.67132 +2048400.0,1415072.643,1787818.65,5220430.458,2003025.77068,2003025.77068,2003025.77068,1684818.5760000001,3465004.0248799995,5096458.52736,2549531.8881900003,3885000.9724800005,1462866.366,1462866.366,1462866.366,2054743.096,1415072.643,1415072.643,2110672.56465,1954596.5860499998,2905350.9748199997,5067472.6305,1438196.99418,1829116.31139,1720969.7970000003,1720969.7970000003,1720969.7970000003,1720969.7970000003,4254651.746619999,4254651.746619999 +2052000.0,2591288.763,2220739.665,6484559.8218,4070000.0000000005,4070000.0000000005,4070000.0000000005,3348959.2325,4472988.661439999,8345774.193920001,4352611.18005,6632550.3696,2732236.4159999997,2732236.4159999997,2732236.4159999997,3494091.8494999995,2591288.763,2591288.763,4616066.052519999,3468648.3228,5155867.38352,8992791.948,2552240.00048,3245969.6650400003,3000000.0,3000000.0,3000000.0,3000000.0,7791141.54742,7791141.54742 +2055600.0,2180217.378,1428479.2110000001,4171159.29612,3197959.4353300002,3197959.4353300002,3197959.4353300002,2283545.817,3690203.622879999,7018667.73056,3416994.5993399997,5206848.91328,2236058.9189999998,2236058.9189999998,2236058.9189999998,3413843.7795,2180217.378,2180217.378,2668735.5756099997,2857218.5592,4247026.10528,7407603.672,2102348.47072,2673792.18256,2489834.406,2489834.406,2489834.406,2489834.406,6555186.91652,6555186.91652 +2059200.0,1769620.2119999998,1332703.218,3891493.3965600003,2610613.7101000003,2610613.7101000003,2610613.7101000003,2078444.9139999999,3085692.2756000003,6057043.021440001,2795932.87953,4260469.14976,1751636.8350000002,1751636.8350000002,1751636.8350000002,2541662.354,1769620.2119999998,1769620.2119999998,1990609.9526299997,2265388.9366499996,3367318.8638599995,5873230.5764999995,1666878.77314,2119956.56047,2003358.762,2003358.762,2003358.762,2003358.762,5320658.10408,5320658.10408 +2062800.0,1602457.1519999998,1350383.298,3943119.23016,2179468.0647299998,2179468.0647299998,2179468.0647299998,1968274.2344999998,3000015.0372,5601767.36512,2611643.3263200005,3979646.973440001,1579656.2999999998,1579656.2999999998,1579656.2999999998,2199772.5294999997,1602457.1519999998,1602457.1519999998,2062151.6319299997,2121974.4595500003,3154144.75222,5501415.265500001,1561354.0467800002,1985748.9386900002,1812667.5690000001,1812667.5690000001,1812667.5690000001,1812667.5690000001,4818054.503679999,4818054.503679999 +2066400.0,1132295.193,971894.358,2837931.5253600003,1263418.9645000002,1263418.9645000002,1263418.9645000002,986111.182,1593657.2884799999,3482132.6739200004,1590589.5324900001,2423755.4780800003,865821.9209999999,865821.9209999999,865821.9209999999,1102702.5905,1132295.193,1132295.193,1437709.96681,1000967.4386999999,1487857.77308,2595100.767,736514.3129199999,936707.80066,1166895.5129999998,1166895.5129999998,1166895.5129999998,1166895.5129999998,3404434.2136199996,3404434.2136199996 +2070000.0,240210.033,171636.771,501179.37132000003,237467.92696,237467.92696,237467.92696,87880.8525,524038.45992,1280540.1939200002,468346.18571999995,713670.37824,308927.56500000006,308927.56500000006,308927.56500000006,186432.62050000002,240210.033,240210.033,366139.99942,153571.07114999997,228271.07365999997,398147.2215,112997.97333999998,143712.18756999998,268287.444,268287.444,268287.444,268287.444,722231.49922,722231.49922 +2073600.0,268125.483,232917.80099999998,680119.9789199999,221424.39396000002,221424.39396000002,221424.39396000002,91025.9805,573103.2608,1328876.5196800001,494773.40997,753940.43424,354374.613,354374.613,354374.613,184382.4395,268125.483,268125.483,393344.78222,158916.66209999996,236216.86563999995,412006.1609999999,116931.27235999997,148714.60477999997,297719.559,297719.559,297719.559,297719.559,806163.9522199999,806163.9522199999 +2077200.0,338689.98,308271.858,900153.82536,264605.21362,264605.21362,264605.21362,120470.30800000002,635610.55616,1390481.1904000002,572919.74775,873020.5680000001,436063.149,436063.149,436063.149,269806.3515,338689.98,338689.98,457274.50184,221338.42109999998,329001.80124,573840.351,162861.35676,207129.04098,451258.83900000004,451258.83900000004,451258.83900000004,451258.83900000004,1018327.8731999998,1018327.8731999998 +2080800.0,425096.301,346319.59500000003,1011253.2174,276329.94752,276329.94752,276329.94752,129321.241,834312.7601600001,1436586.4416000003,694242.8658900001,1057893.89088,595900.2,595900.2,595900.2,391258.6335,425096.301,425096.301,505585.34338000003,266857.93035000004,396662.89894000004,691853.8935000001,196354.72406000004,249726.31013000003,548734.179,548734.179,548734.179,548734.179,1278122.8783399998,1278122.8783399998 +2084400.0,602353.86,390678.747,1140781.9412399998,293926.71869,293926.71869,293926.71869,142804.109,1022088.7388,1762037.3574400004,940486.68903,1433122.57376,678414.5249999999,678414.5249999999,678414.5249999999,446855.3215,602353.86,602353.86,541196.7170999999,362442.90375,538742.2914999999,939666.7875,266686.3835,339174.96425,722331.0059999999,722331.0059999999,722331.0059999999,722331.0059999999,1811077.2724,1811077.2724 +2088000.0,735609.027,542655.8640000001,1584555.12288,331575.21177,331575.21177,331575.21177,162698.5745,1317753.34464,2242553.1884800005,1156062.21948,1761618.6201600002,729176.388,729176.388,729176.388,568481.081,735609.027,735609.027,675240.1039799999,463656.23505,689187.78642,1202071.7205,341159.40258,433890.64959000004,825141.8130000001,825141.8130000001,825141.8130000001,825141.8130000001,2211731.14118,2211731.14118 +2091600.0,811820.148,605347.086,1767613.49112,409395.23163000005,409395.23163000005,409395.23163000005,191232.5905,1569494.2651199999,2498064.5484800003,1291239.9076500002,1967603.6688,795867.5669999998,795867.5669999998,795867.5669999998,654829.8574999999,811820.148,811820.148,774852.8903699999,539140.212,801388.6608,1397770.9200000002,396700.69920000003,504528.7416,880407.828,880407.828,880407.828,880407.828,2440872.57832,2440872.57832 +2095200.0,1069568.019,719184.084,2100017.52528,615686.3928600001,615686.3928600001,615686.3928600001,382972.71249999997,2040485.6223199998,2634163.0342400004,1611223.9976700002,2455198.4726400003,936305.091,936305.091,936305.091,865528.5835,1069568.019,1069568.019,1162626.0908599999,734037.1348499999,1091087.29674,1903059.2385,540106.33626,686913.76323,1078308.3900000001,1078308.3900000001,1078308.3900000001,1078308.3900000001,3215834.51046,3215834.51046 +2098800.0,1801477.086,1073577.2040000001,3134845.43568,2218869.34401,2218869.34401,2218869.34401,1938227.8860000002,4226074.168079999,5430970.39424,3889727.59392,5927203.95264,1975861.5840000003,1975861.5840000003,1975861.5840000003,2664239.6095000003,1801477.086,1801477.086,3709475.72294,2371862.20545,3525582.8337799995,6149272.3845,1745222.0672199999,2219594.50831,2099845.134,2099845.134,2099845.134,2099845.134,5416441.1052399995,5416441.1052399995 +2102400.0,1809221.0219999999,1607751.633,4694634.76836,3018618.09656,3018618.09656,3018618.09656,2973078.0415,5406829.53984,5220471.5091200005,4404149.16375,6711084.44,1928488.266,1928488.266,1928488.266,3071870.4205,1809221.0219999999,1809221.0219999999,3024661.23219,2842529.3752499996,4225191.8121,7369520.6025,2091540.1328999999,2660046.00795,2279923.3499999996,2279923.3499999996,2279923.3499999996,2279923.3499999996,5439724.53948,5439724.53948 +2106000.0,2576926.44,2677276.05,7817646.066,2773425.4927500007,2773425.4927500007,2773425.4927500007,3438286.019,5787050.01064,8884361.470080001,4828515.86658,7357738.46336,2509286.9159999997,2509286.9159999997,2509286.9159999997,2408883.225,2576926.44,2576926.44,4026567.3298499994,3072040.37235,4566341.4917399995,7964549.1135,2260414.89126,2874822.96573,2882131.161,2882131.161,2882131.161,2882131.161,7747958.8296,7747958.8296 +2109600.0,2275123.089,1804698.966,5269720.98072,1431041.4952900002,1431041.4952900002,1431041.4952900002,2396241.652,3778123.5380800003,10213105.7216,2862867.6715800003,4362465.02336,2122974.714,2122974.714,2122974.714,2241000.4855,2275123.089,2275123.089,3393223.22534,3089815.6806,4592763.06104,8010633.246,2273494.00696,2891457.1430800003,1857639.2970000003,1857639.2970000003,1857639.2970000003,1857639.2970000003,6840536.75426,6840536.75426 +2113200.0,1380273.78,1243707.7859999998,3631626.73512,954586.5789900001,954586.5789900001,954586.5789900001,1344511.8784999999,2779480.4253599998,7489258.91264,2027013.1662900003,3088781.9676800007,1337625.03,1337625.03,1337625.03,1277511.319,1380273.78,1380273.78,1614430.7713299997,2426303.24505,3606505.07042,6290415.8205,1785279.91858,2270540.56759,1224815.451,1224815.451,1224815.451,1224815.451,4150023.1651999997,4150023.1651999997 +2116800.0,1354763.943,1634595.648,4773019.29216,1104029.24192,1104029.24192,1104029.24192,1512468.1879999998,2878541.85168,5675898.39744,2282227.11087,3477679.40704,1296504.456,1296504.456,1296504.456,1669620.9215,1354763.943,1354763.943,1726812.8426899998,1667400.01335,2478456.31614,4322888.9235,1226877.04686,1560357.04953,1380629.637,1380629.637,1380629.637,1380629.637,4073323.58862,4073323.58862 +2120400.0,1183798.608,1166045.97,3404854.2323999996,892665.5094500001,892665.5094500001,892665.5094500001,1450349.5405,2210853.3785599996,3675885.7376000006,1733663.69106,2641773.24352,1076872.683,1076872.683,1076872.683,1356556.313,1183798.608,1183798.608,1394797.3449799998,1271098.36845,1889385.72298,3295440.2145000002,935277.31802,1189496.9917100002,1103336.3279999997,1103336.3279999997,1103336.3279999997,1103336.3279999997,3559287.8147199997,3559287.8147199997 +2124000.0,1018826.118,995626.911,2907230.5801199996,649357.2423800001,649357.2423800001,649357.2423800001,1214545.605,2037638.94352,3384821.1488000005,1575110.7445500002,2400168.7536000004,969868.0619999999,969868.0619999999,969868.0619999999,1102365.5125,1018826.118,1018826.118,1265240.3653499999,1152532.7189999998,1713147.3995999997,2988047.79,848036.4204,1078542.9642,1004729.1300000001,1004729.1300000001,1004729.1300000001,1004729.1300000001,3063270.52812,3063270.52812 +2127600.0,1465020.3900000001,1855092.4439999997,5416869.93648,1945498.1114800002,1945498.1114800002,1945498.1114800002,2066560.1704999998,3305821.86008,4530736.99904,2544128.1518099997,3876766.7075199997,1355255.3399999999,1355255.3399999999,1355255.3399999999,1863736.1995,1465020.3900000001,1465020.3900000001,2208683.9385,1905462.8325,2832317.593,4940088.825,1402044.257,1783136.8235000002,1865150.8199999998,1865150.8199999998,1865150.8199999998,1865150.8199999998,4404827.9726,4404827.9726 +2131200.0,1451348.733,1982709.915,5789512.9518,2389305.3925400004,2389305.3925400004,2389305.3925400004,1768844.6335000002,3734818.60072,4863743.09568,2842556.4734700006,4331514.626240001,1502399.364,1502399.364,1502399.364,2311081.766,1451348.733,1451348.733,2257014.4433199996,1964990.7652499997,2920801.0881,5094420.5024999995,1445845.0569,1838843.2099499998,1700176.2539999997,1700176.2539999997,1700176.2539999997,1700176.2539999997,4363721.85722,4363721.85722 +2134800.0,1341583.092,1717488.435,5015066.2302,1942338.3507,1942338.3507,1942338.3507,1599323.0329999998,3280631.39384,4761808.72384,2407679.38635,3668844.7791999998,1358168.4989999998,1358168.4989999998,1358168.4989999998,1944801.208,1341583.092,1341583.092,2000708.5428199999,1838786.1191999998,2733208.0092799994,4767223.272,1352983.3667199998,1720740.59056,1627891.1430000002,1627891.1430000002,1627891.1430000002,1627891.1430000002,4033693.16328,4033693.16328 +2138400.0,2521040.589,2145425.412,6264642.20304,4000039.6466800002,4000039.6466800002,4000039.6466800002,3267312.3140000002,4320622.21464,7985163.01312,4235622.9772499995,6454282.632,2645543.553,2645543.553,2645543.553,3392405.471,2521040.589,2521040.589,4537177.53593,3354063.1591499993,4985545.732859999,8695719.301499998,2467927.9541399996,3138740.5859699994,2901485.712,2901485.712,2901485.712,2901485.712,7579928.70426,7579928.70426 +2142000.0,2066909.8560000001,1307856.48,3818940.9215999995,3088715.4257300007,3088715.4257300007,3088715.4257300007,2149530.6629999997,3415348.8,6476780.778880001,3218975.72766,4905105.87072,2078724.5309999997,2078724.5309999997,2078724.5309999997,3210499.0574999996,2066909.8560000001,2066909.8560000001,2553030.7610599995,2672522.5698,3972490.33832,6928762.218,1966448.7056800001,2500953.2196400003,2343735.558,2343735.558,2343735.558,2343735.558,6214508.9670400005,6214508.9670400005 +2145600.0,1613625.9780000001,1190247.2280000001,3475521.90576,2433220.55416,2433220.55416,2433220.55416,1904107.5235000001,2754861.4206399997,5287297.7856,2501869.69452,3812372.8678400004,1546636.0950000002,1546636.0950000002,1546636.0950000002,2234807.134,1613625.9780000001,1613625.9780000001,1795472.6970699998,2034982.8936,3024838.77024,5275881.576,1497345.4377600001,1904342.01648,1792071.5760000001,1792071.5760000001,1792071.5760000001,1792071.5760000001,4851635.44052,4851635.44052 +2149200.0,1410626.8020000001,1187815.416,3468421.01472,1962474.02043,1962474.02043,1962474.02043,1740412.7895,2585543.17664,4804857.82656,2284456.33458,3481076.31936,1358517.165,1358517.165,1358517.165,1909010.2605,1410626.8020000001,1410626.8020000001,1830701.78161,1848830.5323,2748138.22332,4793264.343,1360374.0706800001,1730140.1771400003,1581298.185,1581298.185,1581298.185,1581298.185,4241284.58468,4241284.58468 +2152800.0,988585.0980000001,833992.014,2435256.68088,1120721.7404900002,1120721.7404900002,1120721.7404900002,867414.9924999999,1338096.8035999998,2909895.2224,1347648.20736,2053559.17312,725190.567,725190.567,725190.567,936528.5685,988585.0980000001,988585.0980000001,1266929.9884799998,855016.27245,1270913.07658,2216708.8545000004,629123.0844200001,800126.33891,1001019.441,1001019.441,1001019.441,1001019.441,2972345.86132,2972345.86132 +2156400.0,181073.58899999998,140328.036,409757.86512,199864.08585,199864.08585,199864.08585,78827.1575,298088.52704,1002736.83456,370566.25536,564672.3891200001,235321.701,235321.701,235321.701,151094.0305,181073.58899999998,181073.58899999998,295923.91764,122685.5079,182362.16236,318073.539,90272.29964,114809.40122,221817.285,221817.285,221817.285,221817.285,544427.92426,544427.92426 +2160000.0,204863.424,146909.06399999998,428974.46687999996,175486.56851,175486.56851,175486.56851,69867.4445,369326.88519999996,984526.15168,373314.41427,568860.05984,231988.44900000002,231988.44900000002,231988.44900000002,144362.561,204863.424,204863.424,293444.98313,115774.01685,172088.78553999998,300154.8585,85186.80746,108341.61083,218266.65899999999,218266.65899999999,218266.65899999999,218266.65899999999,615956.02816,615956.02816 +2163600.0,229241.739,180279.609,526416.45828,175399.49493000002,175399.49493000002,175399.49493000002,78577.142,425996.86112,988631.88288,411127.5714,626480.1088,230831.61,230831.61,230831.61,146432.685,229241.739,229241.739,327978.10876999993,144333.03734999997,214539.47773999997,374196.76349999994,106200.60525999998,135067.21273,268008.627,268008.627,268008.627,268008.627,689253.49526,689253.49526 +2167200.0,280206.68700000003,230398.49399999998,672763.6024799999,204327.38216,204327.38216,204327.38216,103194.749,464510.93696,1022586.3500800001,474408.30906,722907.8995200001,315338.037,315338.037,315338.037,217232.925,280206.68700000003,280206.68700000003,359867.01868,178529.47154999996,265369.7330199999,462854.18549999996,131362.42597999997,167068.32028999997,359273.787,359273.787,359273.787,359273.787,842488.10558,842488.10558 +2170800.0,352695.729,266088.933,776979.68436,219332.0558,219332.0558,219332.0558,103046.41200000001,597606.77952,1074278.16576,556669.7343900001,848258.64288,431120.934,431120.934,431120.934,298654.9195,352695.729,352695.729,392062.83545,208836.8649,310419.24116,541428.909,153662.68084,195430.05381999997,424426.944,424426.944,424426.944,424426.944,1060438.49186,1060438.49186 +2174400.0,453582.81899999996,290568.654,848460.46968,232210.85448000004,232210.85448000004,232210.85448000004,112701.05000000002,736346.46232,1301110.5312,704878.11051,1074099.97792,489816.327,489816.327,489816.327,329686.917,453582.81899999996,453582.81899999996,419930.37372000003,245505.2976,364923.92383999994,636495.216,180643.40415999998,229744.46368,531293.928,531293.928,531293.928,531293.928,1363772.3424599997,1363772.3424599997 +2178000.0,550202.469,308332.953,900332.2227599999,252030.82245000004,252030.82245000004,252030.82245000004,132793.56999999998,874352.5885600001,1479933.2428800003,841369.70358,1282087.16736,520965.813,520965.813,520965.813,356669.8275,550202.469,550202.469,497794.52384999994,316056.71475000004,469792.9439,819406.2975000001,232555.31110000002,295766.65405,603131.25,603131.25,603131.25,603131.25,1654275.42346,1654275.42346 +2181600.0,614074.89,418047.1919999999,1220697.8006399998,383361.29755,383361.29755,383361.29755,217534.11750000002,1072200.6108000001,1667322.7142400001,983894.13087,1499267.24704,557564.973,557564.973,557564.973,473012.63099999994,614074.89,614074.89,587481.08159,389023.96499999997,578252.906,1008580.65,286244.794,364049.587,649668.9450000001,649668.9450000001,649668.9450000001,649668.9450000001,1846318.5026,1846318.5026 +2185200.0,1325490.132,1255243.209,3665310.1702799997,1234847.87789,1234847.87789,1234847.87789,1140079.2095,2125971.50728,2379853.5660800003,1849864.48794,2818841.12448,845685.9299999999,845685.9299999999,845685.9299999999,1841240.4115,1325490.132,1325490.132,2684662.6833,808028.09145,1201068.91618,2094887.6445,594549.06482,756154.68311,1781726.322,1781726.322,1781726.322,1781726.322,3985306.99688,3985306.99688 +2188800.0,2416601.205,2121951.7529999996,6196099.118759999,3218435.3489200003,3218435.3489200003,3218435.3489200003,2228353.8164999997,3559635.4899999998,4145926.25024,3531833.7660899996,5381841.92928,1481626.401,1481626.401,1481626.401,2494489.5640000002,2416601.205,2416601.205,4311064.18821,1895398.0155,2817357.0502,4913994.855,1394638.5398,1773718.1429,2580370.3950000005,2580370.3950000005,2580370.3950000005,2580370.3950000005,7265914.2897,7265914.2897 +2192400.0,2811074.946,2764682.886,8072874.027120001,3507998.30315,3507998.30315,3507998.30315,2869386.5795000005,4710699.326479999,10390578.203520002,3788692.91493,5773246.34656,2769313.3619999997,2769313.3619999997,2769313.3619999997,2890214.9185,2811074.946,2811074.946,2938641.8425,3738611.68785,5557146.26194,9692696.9685,2750879.71106,3498602.04863,2580526.9080000003,2580526.9080000003,2580526.9080000003,2580526.9080000003,8451965.337639999,8451965.337639999 +2196000.0,2127999.018,1925494.4309999999,5622443.738519999,2759727.3135300004,2759727.3135300004,2759727.3135300004,3248701.2495000004,3949670.47208,7722621.05152,3893497.70355,5932948.881600001,2864878.29,2864878.29,2864878.29,3298643.4285,2127999.018,2127999.018,2286392.0570399994,3813970.3416,5669160.85344,9888071.256000001,2806328.7945600003,3569122.8628800004,2216136.684,2216136.684,2216136.684,2216136.684,6398183.714120001,6398183.714120001 +2199600.0,1631665.7910000002,1379780.841,4028960.0557199996,2410498.16337,2410498.16337,2410498.16337,2884884.233,3956825.3188799997,8083546.261760002,3394167.3238200005,5172064.493440001,1481553.7349999999,1481553.7349999999,1481553.7349999999,2669826.8625000003,1631665.7910000002,1631665.7910000002,1840105.87514,3136121.0397,4661592.26148,8130684.177000001,2307565.60452,2934789.81246,1955229.243,1955229.243,1955229.243,1955229.243,4905875.14494,4905875.14494 +2203200.0,1400856.588,1158907.887,3384011.03004,1964436.2040600004,1964436.2040600004,1964436.2040600004,2181117.2355,3513171.76672,5009355.21664,2632181.9401499997,4010943.9088,1350527.931,1350527.931,1350527.931,2150270.3775,1400856.588,1400856.588,1485096.3407799997,1996201.92015,2967193.96526,5175338.3115,1468810.30174,1868050.68577,1520418.7889999999,1520418.7889999999,1520418.7889999999,1520418.7889999999,4211908.80792,4211908.80792 +2206800.0,1094607.3450000002,912456.6510000001,2664373.42092,1197188.07021,1197188.07021,1197188.07021,1379679.7595,2463821.21296,3210594.0512,1952314.2651599997,2974955.0707199997,991633.6170000001,991633.6170000001,991633.6170000001,1368803.933,1094607.3450000002,1094607.3450000002,1117831.1573,1330245.3662999999,1977302.98892,3448784.2830000003,978797.82508,1244846.89834,1171083.1530000002,1171083.1530000002,1171083.1530000002,1171083.1530000002,3291119.4173000003,3291119.4173000003 +2210400.0,946514.433,775998.8099999999,2265916.5252,938578.9963,938578.9963,938578.9963,1028076.2030000001,1875519.1652799996,2914042.09088,1561744.4971800002,2379801.1385600003,863484.753,863484.753,863484.753,1223610.92,946514.433,946514.433,974498.0923599999,1133306.2714500001,1684568.8281800002,2938201.4445,833889.5528200001,1060550.8071100002,999866.0160000001,999866.0160000001,999866.0160000001,999866.0160000001,2845853.39522,2845853.39522 +2214000.0,1209717.186,1062050.049,3101186.1430800003,1419023.9126800003,1419023.9126800003,1419023.9126800003,1345144.948,2339828.45872,4104715.70432,2031220.5648,3095193.2416000003,1172579.637,1172579.637,1172579.637,1569678.7225000001,1209717.186,1209717.186,1538982.96318,1529882.2026,2274047.12584,3966361.266,1125691.10216,1431667.54268,1357790.643,1357790.643,1357790.643,1357790.643,3637216.3392399997,3637216.3392399997 +2217600.0,1263648.6900000002,1117073.256,3261853.90752,1513278.0960000001,1513278.0960000001,1513278.0960000001,1410133.4239999999,2444914.8670400004,4335316.390400001,2129322.31806,3244681.62752,1236546.129,1236546.129,1236546.129,1628343.6085,1263648.6900000002,1263648.6900000002,1640378.5616399997,1611521.29665,2395397.08786,4178018.1765,1185761.34914,1508065.60847,1413854.991,1413854.991,1413854.991,1413854.991,3799370.3946,3799370.3946 +2221200.0,1279585.53,1130778.591,3301873.48572,1559937.3777900003,1559937.3777900003,1559937.3777900003,1445282.853,2480563.54688,4391391.99744,2160601.86174,3292345.69408,1254973.599,1254973.599,1254973.599,1648790.192,1279585.53,1279585.53,1663607.48021,1637073.3824999998,2433378.2129999995,4244264.324999999,1204562.6369999999,1531977.3135,1434333.7259999998,1434333.7259999998,1434333.7259999998,1434333.7259999998,3847287.1602,3847287.1602 +2224800.0,1283649.657,1126449.555,3289232.7006,1607039.5162799999,1607039.5162799999,1607039.5162799999,1489016.6515000002,2496743.18512,4368516.3948800005,2174646.77724,3313747.4700800003,1253501.133,1253501.133,1253501.133,1648268.9825,1283649.657,1283649.657,1657584.2298599996,1642306.3794,2441156.64296,4257831.354,1208413.08904,1536874.36492,1435395.9989999998,1435395.9989999998,1435395.9989999998,1435395.9989999998,3859506.63538,3859506.63538 +2228400.0,1288800.18,1131570.0089999998,3304184.42628,1611094.55903,1611094.55903,1611094.55903,1495891.642,2511208.97608,4391044.120320001,2184426.92349,3328650.55008,1261098.642,1261098.642,1261098.642,1656042.4160000002,1288800.18,1288800.18,1661291.7201399996,1649108.3705999998,2451267.2570399996,4275466.146,1213418.0109599999,1543239.68508,1441199.895,1441199.895,1441199.895,1441199.895,3874992.5412,3874992.5412 +2232000.0,1271187.834,1117096.4610000001,3261921.66612,1577621.89816,1577621.89816,1577621.89816,1465205.861,2470591.65928,4326264.83968,2151771.38043,3278889.72256,1241532.585,1241532.585,1241532.585,1628641.273,1271187.834,1271187.834,1640754.1937799999,1623279.1716,2412874.22544,4208501.556,1194412.82256,1519068.6568800001,1420354.23,1420354.23,1420354.23,1420354.23,3822038.08756,3822038.08756 +2235600.0,1212977.709,990936.846,2893535.59032,1324016.92181,1324016.92181,1324016.92181,1104087.2885,2026232.72856,3089977.2940800004,1755959.541,2675747.872,971926.617,971926.617,971926.617,1278845.2774999999,1212977.709,1212977.709,1552017.76977,1276105.9139999999,1896829.0376,3308422.74,938961.8824,1194183.0652,1219002.057,1219002.057,1219002.057,1219002.057,3647019.6450599995,3647019.6450599995 +2239200.0,533011.278,364340.478,1063874.19576,709411.5453700001,709411.5453700001,709411.5453700001,452391.786,974430.8698399999,1232560.88448,819086.54688,1248131.88096,433929.44399999996,433929.44399999996,433929.44399999996,553810.2045,533011.278,533011.278,874657.6005699999,285149.8566,423852.37944,739277.4060000001,209813.96856,266843.93988,661742.7930000001,661742.7930000001,661742.7930000001,661742.7930000001,1602587.24252,1602587.24252 +2242800.0,194275.245,132179.988,385965.56496,208243.72338,208243.72338,208243.72338,81654.419,397896.30535999994,919780.0876800001,368106.50058,560924.19136,254053.836,254053.836,254053.836,144872.09449999998,194275.245,194275.245,272079.95398999995,115297.5546,171380.56264000002,298919.586,84836.22536000001,107895.73628000001,205185.918,205185.918,205185.918,205185.918,584120.9033,584120.9033 +2246400.0,201211.14299999998,187071.381,546248.43252,183845.97,183845.97,183845.97,72757.51,411067.67784,938783.6288000002,365023.22178,556225.86176,248341.64099999997,248341.64099999997,248341.64099999997,136265.003,201211.14299999998,201211.14299999998,268150.07336,120380.8878,178936.52951999998,312098.598,88576.55447999999,112652.73204,211587.90899999999,211587.90899999999,211587.90899999999,211587.90899999999,604974.83662,604974.83662 +2250000.0,216757.83899999998,197093.145,575511.9833999999,193281.66264,193281.66264,193281.66264,87894.296,406929.11512,967039.2390400001,393206.74029,599172.17568,253530.12599999996,253530.12599999996,253530.12599999996,138219.53250000003,216757.83899999998,216757.83899999998,301581.57432,137132.4492,203836.38128,355528.57200000004,100902.39472,128328.88456,258632.241,258632.241,258632.241,258632.241,651718.5692599999,651718.5692599999 +2253600.0,250303.191,221583.30299999999,647023.2447599999,195565.42104,195565.42104,195565.42104,91658.462,425302.80632000003,970301.2044800001,436748.48511,665521.50112,348029.814,348029.814,348029.814,173019.9695,250303.191,250303.191,328515.07792999997,166484.60549999998,247466.00619999997,431626.755,122499.78379999999,155796.70489999998,319036.86600000004,319036.86600000004,319036.86600000004,319036.86600000004,752578.26094,752578.26094 +2257200.0,329996.133,242510.28900000002,708130.04388,202338.04755999998,202338.04755999998,202338.04755999998,93911.958,552281.5175200001,1007957.67872,524157.84519,798716.7164800001,406700.166,406700.166,406700.166,270744.4985,329996.133,329996.133,348888.56405,190572.32069999998,283270.46187999996,494076.387,140223.58412,178338.04826,391206.858,391206.858,391206.858,391206.858,992188.37322,992188.37322 +2260800.0,399734.23799999995,260906.11499999996,761845.8557999999,211341.78295999998,211341.78295999998,211341.78295999998,100207.6495,655291.5255199999,1229631.1942399999,613140.62124,934309.51808,443118.849,443118.849,443118.849,292119.05100000004,399734.23799999995,399734.23799999995,389419.17767999996,223099.39349999998,331619.34539999993,578405.835,164157.0846,208776.9633,462519.99899999995,462519.99899999995,462519.99899999995,462519.99899999995,1201867.6089199998,1201867.6089199998 +2264400.0,467052.267,280111.224,817924.7740799999,227656.47564000002,227656.47564000002,227656.47564000002,122239.2185,768905.44344,1300357.5155200001,718845.8474399999,1095384.14848,475679.511,475679.511,475679.511,314060.70149999997,467052.267,467052.267,401805.7646199999,292848.5583,435295.88171999995,759237.0029999999,215478.69228,274048.40394,517615.73400000005,517615.73400000005,517615.73400000005,517615.73400000005,1404270.48278,1404270.48278 +2268000.0,549626.097,322171.821,940741.71732,349183.46441,349183.46441,349183.46441,205534.89950000003,952885.04248,1489983.29472,843296.5548,1285023.3216000001,516703.20000000007,516703.20000000007,516703.20000000007,422301.3445,549626.097,549626.097,478505.63500999997,341340.31395000004,507374.98518,884956.3695,251159.04582000003,319427.10861000005,579001.728,579001.728,579001.728,579001.728,1652542.46498,1652542.46498 +2271600.0,1269731.2680000002,1223746.7519999999,3573340.5158399995,1209737.2558700002,1209737.2558700002,1209737.2558700002,1109819.6795,2027144.23576,2222085.27552,1761813.78114,2684668.6188800004,813261.654,813261.654,813261.654,1799038.2935,1269731.2680000002,1269731.2680000002,2578266.4260599995,754358.76315,1121293.76646,1955744.9415000002,555059.0405400001,705930.7931700001,1708466.8710000003,1708466.8710000003,1708466.8710000003,1708466.8710000003,3817658.6791200005,3817658.6791200005 +2275200.0,2315334.309,2033864.433,5938884.144359999,3051572.6016599997,3051572.6016599997,3051572.6016599997,2130294.446,3434385.9327199995,3955694.8140800004,3388379.2353600003,5163244.549120001,1413056.1269999999,1413056.1269999999,1413056.1269999999,2272575.935,2315334.309,2315334.309,3863041.54821,1795335.6496499998,2668622.3730599997,4654573.9065,1321012.4039399999,1680079.53387,2449800.465,2449800.465,2449800.465,2449800.465,6961438.48906,6961438.48906 +2278800.0,2705996.337,2681368.779,7829596.834679999,3379172.54268,3379172.54268,3379172.54268,2728941.1659999997,4547538.23536,10223761.78944,3653989.60038,5567984.152960001,2712313.8570000003,2712313.8570000003,2712313.8570000003,2779375.5115000005,2705996.337,2705996.337,2808584.8345099995,3624633.6920999996,5387727.11764,9397198.461,2667014.42036,3391941.15878,2414762.832,2414762.832,2414762.832,2414762.832,8136028.986579999,8136028.986579999 +2282400.0,2037183.699,1835845.2240000002,5360668.05408,2544075.8279200005,2544075.8279200005,2544075.8279200005,3102923.7995,3818433.3555200007,7343572.67712,3762987.04635,5734075.4992,2720392.167,2720392.167,2720392.167,3076194.2295,2037183.699,2037183.699,2170163.6162699996,3633380.94285,5400729.20394,9419876.5185,2673450.66906,3400126.8576300004,2127041.787,2127041.787,2127041.787,2127041.787,6125132.32166,6125132.32166 +2286000.0,1554522.5880000002,1319612.313,3853267.95396,2287779.8326900005,2287779.8326900005,2287779.8326900005,2818954.3935,3800544.6879999996,7865166.3398400005,3242429.4686700003,4940844.90464,1381741.698,1381741.698,1381741.698,2589375.2045000005,1554522.5880000002,1554522.5880000002,1641911.2969999996,2964751.5267,4406865.232279999,7686392.847,2181471.49372,2774421.79906,1846046.472,1846046.472,1846046.472,1846046.472,4673931.24792,4673931.24792 +2289600.0,1329292.527,1111934.595,3246849.0174,1866373.8275600001,1866373.8275600001,1866373.8275600001,2036166.9440000001,3364150.4719199995,4710746.620800001,2522197.7589900005,3843348.9660800006,1299786.468,1299786.468,1299786.468,2030871.6645,1329292.527,1329292.527,1380837.83994,1902390.0407999998,2827750.1347199995,4932122.328,1399783.28928,1780261.2974399999,1427538.9330000002,1427538.9330000002,1427538.9330000002,1427538.9330000002,3996739.53118,3996739.53118 +2293200.0,1054328.7510000002,888710.679,2595035.1826799996,1126103.2043800002,1126103.2043800002,1126103.2043800002,1328505.731,2428959.3621599996,3160542.2867200007,1888670.57715,2877974.2128,975665.223,975665.223,975665.223,1319205.2405,1054328.7510000002,1054328.7510000002,1047240.2033599999,1284086.2243499998,1908691.1285399997,3329112.4335,944833.81446,1201651.05933,1130585.5470000003,1130585.5470000003,1130585.5470000003,1130585.5470000003,3170015.11134,3170015.11134 +2296800.0,891048.27,735492.348,2147637.65616,861569.5902000001,861569.5902000001,861569.5902000001,973903.8295000001,1785873.68776,2772750.2982400004,1477995.85206,2252184.15552,824222.6070000001,824222.6070000001,824222.6070000001,1155716.9190000002,891048.27,891048.27,879437.0570699999,1064225.2878,1581885.48952,2759102.598,783059.5944800001,995904.6520400002,940162.7370000001,940162.7370000001,940162.7370000001,940162.7370000001,2679085.1318,2679085.1318 +2300400.0,1175407.632,1037784.459,3030330.62028,1368190.54471,1368190.54471,1368190.54471,1309800.352,2306214.8611999997,4034830.4723200006,1979969.2657500003,3017096.024,1157262.8969999999,1157262.8969999999,1157262.8969999999,1524232.9795,1175407.632,1175407.632,1466913.1843599998,1489923.6673499998,2214651.9697399996,3862765.0634999997,1096289.51326,1394274.24673,1315801.533,1315801.533,1315801.533,1315801.533,3534058.9468799997,3534058.9468799997 +2304000.0,1256492.592,1120330.812,3271365.9710399997,1491601.6341600001,1491601.6341600001,1491601.6341600001,1402198.497,2477235.0155200004,4388335.914240001,2128459.8636000003,3243367.4112000004,1257274.5269999998,1257274.5269999998,1257274.5269999998,1628407.725,1256492.592,1256492.592,1603026.5884099999,1612159.23645,2396345.33418,4179672.0945,1186230.74682,1508662.5941100002,1409307.3990000002,1409307.3990000002,1409307.3990000002,1409307.3990000002,3777854.39328,3777854.39328 +2307600.0,1256139.282,1117071.54,3261848.8967999998,1520798.05999,1520798.05999,1520798.05999,1421903.511,2470880.83856,4366601.51488,2129241.66672,3244558.73024,1252214.481,1252214.481,1252214.481,1624244.048,1256139.282,1256139.282,1608027.61275,1612707.8210999998,2397160.76124,4181094.351,1186634.39676,1509175.96098,1408955.499,1408955.499,1408955.499,1408955.499,3776792.1078799996,3776792.1078799996 +2311200.0,1265025.885,1117063.707,3261826.0244400003,1571905.8477100001,1571905.8477100001,1571905.8477100001,1470642.579,2496779.94792,4362302.39168,2151548.29239,3278549.7788800006,1255962.3869999999,1255962.3869999999,1255962.3869999999,1631077.8295,1265025.885,1265025.885,1608426.6214899998,1624325.5781999999,2414429.62488,4211214.462,1195182.77112,1520047.88676,1415266.434,1415266.434,1415266.434,1415266.434,3803511.1608999996,3803511.1608999996 +2314800.0,1260561.156,1112630.247,3248880.32124,1566877.4278300002,1566877.4278300002,1566877.4278300002,1466225.1415,2487306.8079999997,4341006.38016,2143939.07175,3266954.776,1250338.005,1250338.005,1250338.005,1623412.987,1260561.156,1260561.156,1601671.13522,1617054.3539999998,2403621.5335999997,4192363.14,1189832.5864,1513243.4572,1409562.426,1409562.426,1409562.426,1409562.426,3790087.20904,3790087.20904 +2318400.0,1259168.571,1113791.1600000001,3252270.1872,1551988.52941,1551988.52941,1551988.52941,1453850.6254999998,2483940.8364,4345779.49056,2139946.4247,3260870.7424,1251097.59,1251097.59,1251097.59,1621313.1339999998,1259168.571,1259168.571,1601188.8894299997,1614297.3327,2399523.44268,4185215.307,1187803.96332,1510663.42986,1408705.719,1408705.719,1408705.719,1408705.719,3785900.17014,3785900.17014 +2322000.0,1207210.6409999998,992477.133,2898033.22836,1312313.40482,1312313.40482,1312313.40482,1099948.1115,2056108.00192,3125555.13344,1758889.88751,2680213.16192,986943.963,986943.963,986943.963,1280652.9995000002,1207210.6409999998,1207210.6409999998,1524488.5091799998,1275358.3366499997,1895717.8238599997,3306484.5764999995,938411.8131399999,1193483.4804699998,1217281.902,1217281.902,1217281.902,1217281.902,3629679.9939399995,3629679.9939399995 +2325600.0,539672.04,374238.47099999996,1092776.3353199998,714091.7034900001,714091.7034900001,714091.7034900001,453875.6215,1014392.8335199999,1282766.33984,835372.22013,1272948.14496,458497.19700000004,458497.19700000004,458497.19700000004,561310.75,539672.04,539672.04,870861.66401,289786.43835,430744.28614000004,751298.1735000001,213225.57686000003,271182.86453,667898.7359999999,667898.7359999999,667898.7359999999,667898.7359999999,1622613.9335999999,1622613.9335999999 +2329200.0,197582.60700000002,147794.718,431560.57655999996,214048.32889,214048.32889,214048.32889,82383.833,424682.8436,964199.3849600002,377507.25999,575249.1580800001,271010.54099999997,271010.54099999997,271010.54099999997,149157.2355,197582.60700000002,197582.60700000002,281532.9556,118482.264,176114.3776,307176.24,87179.5424,110875.9952,208441.614,208441.614,208441.614,208441.614,594065.03838,594065.03838 +2332800.0,205017.57600000003,199126.614,581449.71288,189950.39206,189950.39206,189950.39206,74210.423,436583.66568,990668.8582400001,375264.20798999997,571831.17408,265070.007,265070.007,265070.007,140480.1125,205017.57600000003,205017.57600000003,278555.76281,125017.70039999999,185828.77936,324119.964,91988.33264,116991.87272,216885.33599999998,216885.33599999998,216885.33599999998,216885.33599999998,616419.51184,616419.51184 +2336400.0,220178.898,201782.523,589204.96716,196520.49538,196520.49538,196520.49538,87915.842,423767.29511999997,995484.7161600001,399983.75675999996,609499.0579199999,285251.49900000007,285251.49900000007,285251.49900000007,140021.623,220178.898,220178.898,310700.91104,139176.6624,206874.94016,360828.384,102406.53184,130241.86432000001,266972.33099999995,266972.33099999995,266972.33099999995,266972.33099999995,662004.55332,662004.55332 +2340000.0,255812.985,229963.593,671493.6915600001,199179.72349,199179.72349,199179.72349,91922.047,462410.63936,1004584.48704,448036.56702,682722.3878400001,373186.64099999995,373186.64099999995,373186.64099999995,193366.8415,255812.985,255812.985,339755.7833799999,171526.74614999996,254960.74365999995,444698.9715,126209.80333999998,160515.15256999998,331050.816,331050.816,331050.816,331050.816,769144.3748999999,769144.3748999999 +2343600.0,334108.728,251393.598,734069.3061599999,205685.4272,205685.4272,205685.4272,94377.731,604043.1136,1053375.44448,538404.9879599999,820426.6483199999,434830.401,434830.401,434830.401,279597.2095,334108.728,334108.728,362606.20785999997,195074.82314999998,289963.07045999996,505749.5415,143536.53654,182551.50117,406916.92199999996,406916.92199999996,406916.92199999996,406916.92199999996,1004553.57552,1004553.57552 +2347200.0,411659.67000000004,271327.956,792277.63152,215983.39411000002,215983.39411000002,215983.39411000002,101748.997,692390.8088,1270633.54048,631166.16192,961777.00864,472232.22,472232.22,472232.22,301878.962,411659.67000000004,411659.67000000004,402095.71623,245059.2954,364260.97735999996,635338.914,180315.23464,229327.09372,477464.73300000007,477464.73300000007,477464.73300000007,477464.73300000007,1237723.4078000002,1237723.4078000002 +2350800.0,480827.25299999997,297412.731,868445.17452,233314.34544,233314.34544,233314.34544,123059.30699999999,817646.4863999999,1370099.8496,739753.6326599999,1127243.63072,503077.80299999996,503077.80299999996,503077.80299999996,350972.01300000004,480827.25299999997,480827.25299999997,414918.22385,305526.17205,454140.13722,792104.8905,224806.91178,285912.14619,540033.4770000001,540033.4770000001,540033.4770000001,540033.4770000001,1445687.27402,1445687.27402 +2354400.0,670223.9310000001,372349.728,1087261.20576,383073.85380000004,383073.85380000004,383073.85380000004,205591.7955,1399744.2582399999,1656715.8022400003,1024882.42857,1561725.60544,554376.978,554376.978,554376.978,539255.738,670223.9310000001,670223.9310000001,656909.7808,369318.67785000004,548962.57794,957492.8685000001,271745.59506,345609.33063000004,661937.787,661937.787,661937.787,661937.787,2015139.95254,2015139.95254 +2358000.0,1378580.706,776407.4490000001,2267109.7510800003,1917394.64345,1917394.64345,1917394.64345,1598954.2519999999,3662121.8251999994,4691244.8192,3303614.3534100004,5034079.014720001,1443936.42,1443936.42,1443936.42,2175309.6750000003,1378580.706,1378580.706,2951974.7488399995,1838448.8676,2732706.71184,4766348.916,1352735.21616,1720424.98968,1690633.3049999997,1690633.3049999997,1690633.3049999997,1690633.3049999997,4144932.65604,4144932.65604 +2361600.0,1325309.529,1331449.407,3887832.26844,2578352.96906,2578352.96906,2578352.96906,2317056.8680000002,4688855.33208,3763668.5152000007,3701967.85476,5641093.87392,1470916.929,1470916.929,1470916.929,2128505.106,1325309.529,1325309.529,2458295.74276,2401694.80515,3569926.5992599996,6226616.161499999,1767172.96774,2247511.92877,1786393.7459999998,1786393.7459999998,1786393.7459999998,1786393.7459999998,3984763.9838599996,3984763.9838599996 +2365200.0,2260987.443,2391438.891,6983001.561719999,2164524.52249,2164524.52249,2164524.52249,2991823.6040000003,4981556.908799999,7890041.91488,4151621.61204,6326280.5516800005,2137950.5999999996,2137950.5999999996,2137950.5999999996,1911316.022,2260987.443,2260987.443,3337318.6973099997,2382517.8,3541421.5199999996,6176898.0,1753062.48,2229566.04,2527817.8140000002,2527817.8140000002,2527817.8140000002,2527817.8140000002,6798035.57862,6798035.57862 +2368800.0,1813058.16,1458140.385,4257769.924199999,997075.06723,997075.06723,997075.06723,1422794.723,2778522.05216,8168517.03808,1971732.6619200003,3004545.0086400006,1717733.4330000002,1717733.4330000002,1717733.4330000002,1792215.5265000002,1813058.16,1813058.16,3080083.1632999997,2549857.6520999996,3790158.7816399997,6610742.061,1876191.5563599998,2386163.08678,1292655.132,1292655.132,1292655.132,1292655.132,5451261.534399999,5451261.534399999 +2372400.0,985950.6149999999,963741.927,2814126.42684,587308.3178600001,587308.3178600001,587308.3178600001,806562.617,1963742.64952,5513997.80672,1310131.33209,1996390.60128,819213.5789999999,819213.5789999999,819213.5789999999,832336.6135,985950.6149999999,985950.6149999999,1327962.90484,1620734.1110999999,2409091.1972399997,4201903.251,1192540.1607599999,1516686.9829799999,815649.5790000001,815649.5790000001,815649.5790000001,815649.5790000001,2964424.8490999993,2964424.8490999993 +2376000.0,1023463.4459999999,1380197.5229999998,4030176.7671599993,841832.9269900001,841832.9269900001,841832.9269900001,1172181.2305,2171306.52208,3471455.1507200003,1665928.1622900001,2538557.19968,896247.1950000001,896247.1950000001,896247.1950000001,1252477.0440000002,1023463.4459999999,1023463.4459999999,1280732.64904,1073121.73245,1595109.34058,2782167.4545000005,789605.62042,1004229.9669100001,985725.8250000001,985725.8250000001,985725.8250000001,985725.8250000001,3077213.4276399994,3077213.4276399994 +2379600.0,825267.39,922156.527,2692697.05884,645628.2432600001,645628.2432600001,645628.2432600001,1092914.354,1607381.23008,2532325.73376,1209885.26652,1843634.6918400002,717904.2,717904.2,717904.2,932959.6640000001,825267.39,825267.39,937365.6331,863411.6065499999,1283392.0670199997,2238474.5354999998,635300.39198,807982.7132899999,739849.98,739849.98,739849.98,739849.98,2481303.9526,2481303.9526 +2383200.0,642789.51,546484.7790000001,1595735.55468,323424.1373,323424.1373,323424.1373,718800.2640000001,1332239.79168,2021901.64224,949894.23459,1447457.88128,581441.9879999999,581441.9879999999,581441.9879999999,511920.48600000003,642789.51,642789.51,712408.68153,665632.0030499999,989408.55762,1725712.6005000002,489773.67138,622900.0719900001,587670.165,587670.165,587670.165,587670.165,1932653.7934,1932653.7934 +2386800.0,1198954.9170000001,1524956.988,4452874.40496,1698317.19057,1698317.19057,1698317.19057,1684737.1205,2705810.41384,3639368.3340800004,2081520.33936,3171840.51712,1075455.648,1075455.648,1075455.648,1606843.1995,1198954.9170000001,1198954.9170000001,1824522.4227099996,1585574.6679,2356829.50636,4110749.139,1166669.75564,1483784.68922,1314985.5899999999,1314985.5899999999,1314985.5899999999,1314985.5899999999,3604857.78378,3604857.78378 +2390400.0,1184610.4170000001,1537826.643,4490453.79756,2024976.63192,2024976.63192,2024976.63192,1446900.819,2991757.41736,3922002.5984,2302312.1249100002,3508285.1427200004,1226155.185,1226155.185,1226155.185,1881367.9745000002,1184610.4170000001,1184610.4170000001,1925647.88195,1627475.45355,2419111.66182,4219380.805500001,1197500.4571800001,1522995.54789,1379956.863,1379956.863,1379956.863,1379956.863,3561728.6537800003,3561728.6537800003 +2394000.0,1113293.256,1546118.04,4514664.6768000005,1413450.5808500003,1413450.5808500003,1413450.5808500003,1321126.3344999999,2849895.65304,4020420.1625600006,1987844.8464000002,3029096.9088000003,1122287.313,1122287.313,1122287.313,1585435.3514999999,1113293.256,1113293.256,1673284.2285899997,1474394.805,2191569.562,3822505.05,1084863.338,1379742.2989999999,1355544.4770000002,1355544.4770000002,1355544.4770000002,1355544.4770000002,3347301.7230399996,3347301.7230399996 +2397600.0,2370755.0459999996,1975082.25,5767240.17,3721118.48482,3721118.48482,3721118.48482,3094421.9145,3979891.4968,7391459.98528,3986861.9561400004,6075218.2188800005,2495380.833,2495380.833,2495380.833,3192210.2835,2370755.0459999996,2370755.0459999996,4306462.72095,3123237.0987,4642441.3170799995,8097281.367,2298085.56892,2922732.98866,2682367.56,2682367.56,2682367.56,2682367.56,7128070.171639998,7128070.171639998 +2401200.0,1890794.961,1144218.969,3341119.38948,2728417.8535900004,2728417.8535900004,2728417.8535900004,1997177.987,3101504.8348,5645091.242240001,2939900.17755,4479847.8896,1915063.9799999997,1915063.9799999997,1915063.9799999997,2666375.0119999996,1890794.961,1890794.961,1758959.71771,2360606.56695,3508852.23038,6120091.0995000005,1736940.14062,2209061.45401,2151350.6999999997,2151350.6999999997,2151350.6999999997,2151350.6999999997,5684990.182739999,5684990.182739999 +2404800.0,1441651.3080000002,1065529.809,3111347.04228,1812877.97955,1812877.97955,1812877.97955,1726022.585,2468399.36416,4631212.591360001,2171744.97603,3309325.6777600003,1374398.787,1374398.787,1374398.787,1845478.9815000002,1441651.3080000002,1441651.3080000002,1536979.49236,1737588.6355499998,2582786.0706199994,4504859.4255,1278522.00838,1626039.7354899999,1500456.57,1500456.57,1500456.57,1500456.57,4334564.93272,4334564.93272 +2408400.0,1288804.305,1103300.709,3221638.0702799996,1571807.76478,1571807.76478,1571807.76478,1516414.7179999999,2401331.5894400002,4473449.512320001,2106206.2182,3209457.0944,1284108.48,1284108.48,1284108.48,1747039.273,1288804.305,1288804.305,1627045.9535199997,1685977.11225,2506069.6829,4371051.7725,1240546.1221,1577741.54455,1454020.497,1454020.497,1454020.497,1454020.497,3875004.9436999997,3875004.9436999997 +2412000.0,919360.5869999999,799811.0789999999,2335448.3506799997,1031151.4312000001,1031151.4312000001,1031151.4312000001,816470.697,1290985.4360000002,2825708.2521599997,1255863.7898100002,1913697.2035200002,709529.6429999999,709529.6429999999,709529.6429999999,880301.065,919360.5869999999,919360.5869999999,1157370.9013099999,808005.98655,1201036.05902,2094830.3355,594532.79998,756133.9972900001,942884.5140000002,942884.5140000002,942884.5140000002,942884.5140000002,2764210.8315799995,2764210.8315799995 +2415600.0,172220.391,141615.117,413516.14164,198023.31032,198023.31032,198023.31032,77232.491,294405.66536000004,1031698.78528,354781.09569,540618.81248,241689.219,241689.219,241689.219,152426.06399999998,172220.391,172220.391,299967.79527,121148.84474999999,180078.0359,314089.5975,89141.6191,113371.38805,214647.07200000001,214647.07200000001,214647.07200000001,214647.07200000001,517809.30894,517809.30894 +2419200.0,186225.57,148473.41999999998,433542.38639999996,174300.48911000002,174300.48911000002,174300.48911000002,66105.67250000002,405628.67559999996,1024665.82272,370436.67612,564474.9350400001,242036.70299999998,242036.70299999998,242036.70299999998,147679.728,186225.57,186225.57,301015.42289000005,116882.33175,173736.20669999998,303028.2675,86002.30829999999,109378.77464999999,214218.468,214218.468,214218.468,214218.468,559918.2138,559918.2138 +2422800.0,222792.765,175814.499,513378.33707999997,172576.00162000002,172576.00162000002,172576.00162000002,74527.76449999999,454676.4704,1019032.56128,410943.00744,626198.8684800001,276655.02599999995,276655.02599999995,276655.02599999995,145737.725,222792.765,222792.765,335761.39102999994,141949.18305,210996.06961999997,368016.4005,104446.55937999999,132836.39599,253342.761,253342.761,253342.761,253342.761,669863.5801,669863.5801 +2426400.0,277831.539,242522.24699999997,708164.96124,204039.47443,204039.47443,204039.47443,101375.3125,517222.1696,1087348.02688,476240.66615999996,725700.06272,374177.238,374177.238,374177.238,236313.27999999997,277831.539,277831.539,375226.36359,179428.94819999998,266706.73287999997,465186.16199999995,132024.26312,167910.05276,361498.11,361498.11,361498.11,361498.11,835346.82726,835346.82726 +2430000.0,335493.522,273111.639,797485.98588,217681.94349,217681.94349,217681.94349,101544.5935,651034.3640800001,1125758.13696,550490.4593999999,838842.6048,473845.39800000004,473845.39800000004,473845.39800000004,304186.1515,335493.522,335493.522,404663.2317,207126.64304999998,307877.13362,536995.0005,152404.29538,193829.62399,425315.04900000006,425315.04900000006,425315.04900000006,425315.04900000006,1008717.18948,1008717.18948 +2433600.0,451560.015,304477.299,889073.71308,231538.66142000002,231538.66142000002,231538.66142000002,107357.5545,791996.26032,1300887.50208,706965.7234500002,1077281.1024000002,539420.061,539420.061,539420.061,334929.15400000004,451560.015,451560.015,439280.7872699999,258050.90565,383571.96346,669020.8665,189874.49354,241484.67467,545185.068,545185.068,545185.068,545185.068,1357690.4451,1357690.4451 +2437200.0,552973.4820000001,353617.779,1032563.9146799999,251954.13144,251954.13144,251954.13144,130726.64499999997,940084.6268,1589304.84544,839110.0074,1278643.8208,569457.744,569457.744,569457.744,381996.64999999997,552973.4820000001,552973.4820000001,465819.05317999993,335457.24344999995,498630.27297999995,869703.9644999999,246830.26802,313921.71670999995,626080.158,626080.158,626080.158,626080.158,1662606.93588,1662606.93588 +2440800.0,736852.908,474381.672,1385194.48224,426447.9984600001,426447.9984600001,426447.9984600001,217750.89,1539648.95096,1883103.2083200002,1154678.5887000002,1759510.2304000002,626402.166,626402.166,626402.166,614279.9530000001,736852.908,736852.908,747030.13801,422929.29734999995,628650.4617399999,1096483.3635,311192.42126,395778.28073,748313.346,748313.346,748313.346,748313.346,2215471.07672,2215471.07672 +2444400.0,1439593.1670000001,830305.605,2424492.3666,1956019.95688,1956019.95688,1956019.95688,1623752.97,3811719.9134400003,4868372.448640001,3424680.2740499997,5218560.417599999,1552131.459,1552131.459,1552131.459,2321040.9775,1439593.1670000001,1439593.1670000001,3036215.07826,1911746.1726,2841657.27384,4956378.966,1406667.55416,1789016.78868,1778366.8020000001,1778366.8020000001,1778366.8020000001,1778366.8020000001,4328376.78878,4328376.78878 +2448000.0,1419494.9400000002,1394960.82,4073285.5944,2645586.8334500007,2645586.8334500007,2645586.8334500007,2477881.2345,4906889.799039999,4091715.1052800003,3834708.93834,5843366.00128,1554081.3959999997,1554081.3959999997,1554081.3959999997,2298551.388,1419494.9400000002,1419494.9400000002,2595314.3070399994,2481582.4928999995,3688673.2363599995,6433732.3889999995,1825954.52564,2322271.02422,1902402.4379999998,1902402.4379999998,1902402.4379999998,1902402.4379999998,4267948.1196,4267948.1196 +2451600.0,2339622.5250000004,2462300.874,7189918.55208,2224870.1316600004,2224870.1316600004,2224870.1316600004,3068727.0705000004,5138230.51328,8128597.132160001,4275140.931179999,6514500.46656,2223819.213,2223819.213,2223819.213,2003403.0380000002,2339622.5250000004,2339622.5250000004,3481100.93448,2522979.414,3750206.4376,6541057.74,1856414.4824,2361010.3652,2595850.74,2595850.74,2595850.74,2595850.74,7034465.0585,7034465.0585 +2455200.0,1903649.898,1498631.523,4376004.04716,1054557.9035200002,1054557.9035200002,1054557.9035200002,1551858.5215,2935427.5864,8521472.85504,2116657.60887,3225383.0230400003,1835732.307,1835732.307,1835732.307,1878529.261,1903649.898,1903649.898,2558329.0289700003,2630592.2474999996,3910164.2789999996,6820053.975,1935596.271,2461714.7205,1391959.1400000001,1391959.1400000001,1391959.1400000001,1391959.1400000001,5723640.69332,5723640.69332 +2458800.0,1069913.568,964759.7040000001,2817098.33568,651875.51825,651875.51825,651875.51825,880516.5285,2083338.52616,5873397.347200001,1441941.8968500001,2197244.7952,917032.8030000001,917032.8030000001,917032.8030000001,929893.1390000001,1069913.568,1069913.568,1160765.64539,1830281.4796499999,2720566.54506,4745174.2065,1346725.63194,1712781.92787,903020.217,903020.217,903020.217,903020.217,3216873.4611199996,3216873.4611199996 +2462400.0,1098168.654,1432159.548,4181905.8801599997,883722.02226,883722.02226,883722.02226,1235980.844,2274681.67024,3892990.68672,1780828.4188800002,2713643.3049600003,985055.8649999999,985055.8649999999,985055.8649999999,1327170.1695,1098168.654,1098168.654,1353540.87349,1174161.36735,1745296.6497399998,3044122.0634999997,863950.83326,1098783.1067299999,1063563.864,1063563.864,1063563.864,1063563.864,3301827.0863599996,3301827.0863599996 +2466000.0,892389.5490000001,950245.3589999999,2774716.4482799997,693992.4439800001,693992.4439800001,693992.4439800001,1163362.27,1738483.0572000002,2801247.0528,1316923.28292,2006740.24064,804322.9199999999,804322.9199999999,804322.9199999999,1077880.321,892389.5490000001,892389.5490000001,1024939.4175799999,951135.5987999999,1413786.74192,2465907.108,699847.92208,890075.04184,815488.527,815488.527,815488.527,815488.527,2683117.91066,2683117.91066 +2469600.0,761779.737,679131.627,1983064.35084,441449.15155000007,441449.15155000007,441449.15155000007,889581.7945000001,1562386.93256,2517301.8572800006,1156223.10678,1761863.7817600002,714595.809,714595.809,714595.809,640783.0205000001,761779.737,761779.737,892597.5104799998,832625.811,1237631.4523999998,2158659.51,612648.1276,779173.2898,727119.225,727119.225,727119.225,727119.225,2290417.74258,2290417.74258 +2473200.0,1227293.1149999998,1611870.648,4706662.29216,1731350.4338900002,1731350.4338900002,1731350.4338900002,1705348.47,2811112.12544,3719760.3494400005,2127179.5513500003,3241416.4592000004,1127034.369,1127034.369,1127034.369,1624146.7480000001,1227293.1149999998,1227293.1149999998,1880755.1755199998,1612206.0746999998,2396414.9554799995,4179793.527,1186265.21052,1508706.4254599998,1399864.725,1399864.725,1399864.725,1399864.725,3690061.2990999995,3690061.2990999995 +2476800.0,1244524.32,1586621.193,4632933.88356,2095711.61206,2095711.61206,2095711.61206,1504951.7595,3141750.33632,4148209.984,2416718.4125699997,3682618.5334399994,1313274.2280000001,1313274.2280000001,1313274.2280000001,1960381.1325,1244524.32,1244524.32,1988465.9288,1690247.6752499999,2512417.5320999995,4382123.6025,1243688.4128999999,1581737.94795,1445167.827,1445167.827,1445167.827,1445167.827,3741869.7887999997,3741869.7887999997 +2480400.0,1162980.942,1587898.821,4636664.55732,1529383.46044,1529383.46044,1529383.46044,1380061.2665,2949820.6868799995,4203639.90656,2073038.8158900002,3158916.29088,1204893.726,1204893.726,1204893.726,1659600.355,1162980.942,1162980.942,1735910.75567,1544835.2602499998,2296273.6461,4005128.4525,1136693.5988999999,1445660.65095,1411478.85,1411478.85,1411478.85,1411478.85,3496696.03228,3496696.03228 +2484000.0,2415052.503,2030377.7999999998,5928703.176,3767788.0515,3767788.0515,3767788.0515,3145449.909,4125796.3047999996,7601386.9088,4061811.28794,6189426.72448,2550164.451,2550164.451,2550164.451,3266061.7605,2415052.503,2415052.503,4390667.028279999,3196281.8335499996,4751016.4538199995,8286656.6055,2351832.06518,2991088.4318899997,2760687.033,2760687.033,2760687.033,2760687.033,7261257.85902,7261257.85902 +2487600.0,1933417.7399999998,1186914.261,3465789.64212,2812794.02481,2812794.02481,2812794.02481,2029874.9345,3183557.4071199996,5873310.49216,3027692.0784600005,4613626.024320001,1966407.3990000002,1966407.3990000002,1966407.3990000002,2802445.093,1933417.7399999998,1933417.7399999998,1894814.81514,2476433.2135499995,3681019.2458199994,6420382.405499999,1822165.6731799997,2317452.3158899997,2207984.661,2207984.661,2207984.661,2207984.661,5813142.671599999,5813142.671599999 +2491200.0,1504838.991,1120581.996,3272099.42832,2000142.68036,2000142.68036,2000142.68036,1793485.197,2593301.1202399996,4923008.99072,2287887.88536,3486305.3491200004,1457862.2489999998,1457862.2489999998,1457862.2489999998,2044915.3935000002,1504838.991,1504838.991,1617931.9029899999,1832535.5840999999,2723917.0904399995,4751018.181,1348384.2075599998,1714891.32438,1630338.846,1630338.846,1630338.846,1630338.846,4524549.23294,4524549.23294 +2494800.0,1334251.923,1143315.459,3338481.14028,1624792.0422800002,1624792.0422800002,1624792.0422800002,1607022.2385,2487765.9488,4633326.02048,2175846.32223,3315575.34816,1331028.597,1331028.597,1331028.597,1825770.0089999998,1334251.923,1334251.923,1695590.4640999998,1750827.5388,2602464.63792,4539182.508,1288263.22608,1638428.7338400001,1507295.0880000002,1507295.0880000002,1507295.0880000002,1507295.0880000002,4011650.7818199997,4011650.7818199997 +2498400.0,946112.2590000001,823320.3119999999,2404095.31104,1060958.4140100002,1060958.4140100002,1060958.4140100002,837750.1089999999,1326806.93312,2914003.0208000005,1299638.8188,1980402.0096,732318.2729999999,732318.2729999999,732318.2729999999,910154.4235,946112.2590000001,946112.2590000001,1196408.63043,834108.79545,1239835.7897799998,2162504.2845,613739.3112199999,780561.07031,973853.2110000001,973853.2110000001,973853.2110000001,973853.2110000001,2844644.1920600003,2844644.1920600003 +2502000.0,178670.175,145945.59,426161.12279999995,202728.15299,202728.15299,202728.15299,78557.1255,310476.27079999994,1070417.3107200002,369506.49539999996,563057.5168,249717.41100000002,249717.41100000002,249717.41100000002,157569.2125,178670.175,178670.175,309686.51570999995,125665.68825,186791.9613,325799.9325,92465.12370000001,117598.26135000002,222406.788,222406.788,222406.788,222406.788,537201.6595,537201.6595 +2505600.0,198891.71099999998,155498.32799999998,454055.11776,179591.16351,179591.16351,179591.16351,69334.5625,437686.15839999996,1067168.9888,384277.63038,585565.91296,252005.967,252005.967,252005.967,153095.7785,198891.71099999998,198891.71099999998,314759.77181999997,121265.82495,180251.91757999998,314392.8795,89227.69342,113480.85841,221884.326,221884.326,221884.326,221884.326,598001.0777399999,598001.0777399999 +2509200.0,238968.15600000002,194041.137,566600.12004,183881.65983000002,183881.65983000002,183881.65983000002,81466.21350000001,479641.75791999995,1094252.47488,438361.54089,667979.49088,299382.21900000004,299382.21900000004,299382.21900000004,156875.929,238968.15600000002,238968.15600000002,357599.07962999993,157009.76415,233382.41486,407062.3515,115528.17214,146930.12497,284255.397,284255.397,284255.397,284255.397,718497.5890400001,718497.5890400001 +2512800.0,298488.033,261357.51,763163.9292,213596.95368,213596.95368,213596.95368,105866.45300000001,560888.47448,1141192.55936,507347.91891,773101.59072,413030.46,413030.46,413030.46,269988.565,298488.033,298488.033,394608.8887,189477.66645,281643.34617999993,491238.39449999994,139418.13481999998,177313.66811,390804.801,390804.801,390804.801,390804.801,897454.0192199999,897454.0192199999 +2516400.0,364630.983,289546.55700000003,845475.94644,229109.67728000003,229109.67728000003,229109.67728000003,106111.4215,711844.39776,1199105.3849600002,599409.25485,913385.5312000001,513025.395,513025.395,513025.395,325811.92,364630.983,364630.983,430672.38798999996,225692.7381,335474.14404,585129.321,166065.27396,211203.82158,469429.49399999995,469429.49399999995,469429.49399999995,469429.49399999995,1096323.82222,1096323.82222 +2520000.0,497466.948,319192.914,932043.30888,240919.42534000002,240919.42534000002,240919.42534000002,114563.17599999999,837016.5692,1428430.29312,760575.40041,1158972.03872,564686.625,564686.625,564686.625,353035.2385,497466.948,497466.948,455782.79097,289060.35435,429665.02053999994,749415.7335,212691.32246,270503.39333,589104.948,589104.948,589104.948,589104.948,1495717.29032,1495717.29032 +2523600.0,592351.233,409571.9700000001,1195950.1524000003,268552.45428,268552.45428,268552.45428,138103.69999999998,1032099.81864,1743804.03328,901437.2402700001,1373618.6518400002,601156.635,601156.635,601156.635,425385.8455,592351.233,592351.233,492502.65804999997,363255.73065,539950.4934599999,941774.1165,267284.46354,339935.60967000003,666945.885,666945.885,666945.885,666945.885,1781002.7072199997,1781002.7072199997 +2527200.0,776371.191,513148.728,1498394.2857599999,464679.20158,464679.20158,464679.20158,222726.9135,1623063.0959199998,2002233.8336000002,1224307.7962500001,1865611.8800000004,661044.624,661044.624,661044.624,651635.4775,776371.191,776371.191,806567.2068999999,448158.14054999995,666151.1126199999,1161891.4755,329755.86637999996,419387.49448999995,783787.4700000001,783787.4700000001,783787.4700000001,783787.4700000001,2334289.38094,2334289.38094 +2530800.0,1486680.438,859568.7989999999,2509940.8930799994,1997758.2179500002,1997758.2179500002,1997758.2179500002,1668227.47,3871952.85,4968930.500480001,3496112.7138,5327409.8496,1620685.8599999999,1620685.8599999999,1620685.8599999999,2376843.5565,1486680.438,1486680.438,3122687.2188199996,1981789.3431,2945770.8260399997,5137972.371,1458205.49196,1854563.36058,1838656.0110000002,1838656.0110000002,1838656.0110000002,1838656.0110000002,4469952.51692,4469952.51692 +2534400.0,1510333.8419999997,1450917.258,4236678.39336,2704718.3290600004,2704718.3290600004,2704718.3290600004,2583154.5075000003,5022423.295759999,4319051.72608,3950200.62843,6019353.33856,1626482.1120000002,1626482.1120000002,1626482.1120000002,2451777.174,1510333.8419999997,1510333.8419999997,2737379.5810399996,2574232.2085499996,3826389.6038199994,6673935.3555,1894126.4151799998,2408972.85689,1985121.1080000002,1985121.1080000002,1985121.1080000002,1985121.1080000002,4541070.418279999,4541070.418279999 +2538000.0,2391738.132,2512594.4790000003,7336775.87868,2313839.5624300004,2313839.5624300004,2313839.5624300004,3149438.9605000005,5257005.02312,8289211.837440001,4373817.34818,6664864.53056,2276629.533,2276629.533,2276629.533,2072624.5750000002,2391738.132,2391738.132,3570620.022449999,2615316.56685,3887458.20554,6780450.3585,1924356.38746,2447419.70083,2642445.735,2642445.735,2642445.735,2642445.735,7191159.31688,7191159.31688 +2541600.0,1955307.9540000004,1534574.778,4480958.35176,1092889.9775200002,1092889.9775200002,1092889.9775200002,1671977.0795,3029871.76272,8775869.472,2211583.4391,3370031.9072000002,1890839.2980000002,1890839.2980000002,1890839.2980000002,1924894.1530000002,1955307.9540000004,1955307.9540000004,2621029.5097999997,2690246.2931999997,3998835.230879999,6974712.611999999,1979489.8651199997,2517539.12376,1449314.184,1449314.184,1449314.184,1449314.184,5878959.248360001,5878959.248360001 +2545200.0,1101600.594,988524.2759999998,2886490.8859199993,681177.9594400001,681177.9594400001,681177.9594400001,905003.0255,2126991.3756799996,6057725.89376,1499178.2276100002,2284462.06112,968636.973,968636.973,968636.973,962610.4530000001,1101600.594,1101600.594,1191037.0436899997,1924078.0013999997,2859987.5477599995,4988350.374,1415741.3442399998,1800556.94452,931963.872,931963.872,931963.872,931963.872,3312145.7859599995,3312145.7859599995 +2548800.0,1151607.2489999998,1491074.886,4353938.66712,920972.63214,920972.63214,920972.63214,1284505.138,2407126.39368,4224438.843520001,1870891.6128,2850882.4576,1072007.01,1072007.01,1072007.01,1389110.548,1151607.2489999998,1151607.2489999998,1422649.5537799997,1248728.1651,1856134.21084,3237443.3910000003,918817.2671600002,1168562.90018,1129686.237,1129686.237,1129686.237,1129686.237,3462499.1286599995,3462499.1286599995 +2552400.0,953857.0290000001,999774.8489999999,2919342.55908,735454.8608,735454.8608,735454.8608,1220917.3724999998,1861666.2063999998,3014242.21248,1407313.1973599999,2144477.25312,875284.548,875284.548,875284.548,1138314.7545,953857.0290000001,953857.0290000001,1100369.5249299998,1021691.7706500001,1518662.8294600002,2648830.5165000004,751763.3275400001,956101.6816700001,880608.2010000001,880608.2010000001,880608.2010000001,880608.2010000001,2867930.1338600004,2867930.1338600004 +2556000.0,813049.206,743178.0179999999,2170079.81256,477727.91869,477727.91869,477727.91869,962093.776,1664539.5701600001,2706587.9955200003,1238358.45945,1887022.4144000001,774917.9010000001,774917.9010000001,774917.9010000001,722792.007,813049.206,813049.206,959484.3844300001,896749.9874999999,1332946.895,2324907.375,659830.855,839180.8525,783573.0390000001,783573.0390000001,783573.0390000001,783573.0390000001,2444567.94604,2444567.94604 +2559600.0,1292306.7449999999,1705088.808,4978859.31936,1788375.26087,1788375.26087,1788375.26087,1777214.159,2970820.4508800004,3953981.3120000004,2238297.72474,3410739.3900800003,1200390.474,1200390.474,1200390.474,1677749.0695000002,1292306.7449999999,1292306.7449999999,1961632.11725,1689147.4076999999,2510782.0726799998,4379271.057,1242878.83332,1580708.31486,1507528.2000000002,1507528.2000000002,1507528.2000000002,1507528.2000000002,3885535.6133,3885535.6133 +2563200.0,1302849.621,1655946.003,4835362.32876,2152846.24357,2152846.24357,2152846.24357,1570439.199,3295647.7624799996,4373658.94656,2527861.8468600004,3851979.957120001,1378351.044,1378351.044,1378351.044,2042116.867,1302849.621,1302849.621,2056953.1522799998,1758113.15265,2613294.11826,4558071.1365,1293623.9987400002,1645246.6292700002,1510298.781,1510298.781,1510298.781,1510298.781,3917234.52714,3917234.52714 +2566800.0,1218307.7010000001,1633461.396,4769707.27632,1632319.82881,1632319.82881,1632319.82881,1435627.347,3056271.5469599995,4402283.73696,2168628.97881,3304577.49152,1264478.976,1264478.976,1264478.976,1754184.9640000002,1218307.7010000001,1218307.7010000001,1807381.42494,1629185.2987499998,2421653.2095,4223813.7375,1198758.5655,1524595.62525,1490472.279,1490472.279,1490472.279,1490472.279,3663045.1543400004,3663045.1543400004 +2570400.0,2445277.0020000003,2069833.581,6043914.05652,3800682.4630500004,3800682.4630500004,3800682.4630500004,3179775.6515,4189569.3325599995,7733992.14208,4112731.9348500003,6267020.091200001,2583751.245,2583751.245,2583751.245,3314192.6859999998,2445277.0020000003,2445277.0020000003,4433111.314839999,3244627.3437,4822878.1750799995,8411996.817,2387404.81092,3036330.27966,2804812.143,2804812.143,2804812.143,2804812.143,7352132.85268,7352132.85268 +2574000.0,1981307.904,1235132.364,3606586.50288,2891926.62781,2891926.62781,2891926.62781,2072252.231,3280840.5125599997,6111659.098240001,3097916.71875,4720635.0,2018875.83,2018875.83,2018875.83,2926572.327,1981307.904,1981307.904,2045223.5439999998,2551495.7272499995,3792593.6488999994,6614988.922499999,1877396.8560999997,2387696.0015499997,2262186.573,2262186.573,2262186.573,2262186.573,5957132.43136,5957132.43136 +2577600.0,1553938.062,1162818.84,3395431.0128,2147063.55908,2147063.55908,2147063.55908,1845879.0140000002,2687530.1859999998,5127096.172160001,2393786.64483,3647674.8873600005,1519675.683,1519675.683,1519675.683,2177424.6445000004,1553938.062,1553938.062,1688977.2335799998,1931008.1994,2870288.73096,5006317.5540000005,1420840.60104,1807042.2409200002,1720418.9970000002,1720418.9970000002,1720418.9970000002,1720418.9970000002,4672173.773079999,4672173.773079999 +2581200.0,1383450.582,1186026.1770000001,3463196.43684,1694640.7473600002,1694640.7473600002,1694640.7473600002,1691481.1515000002,2580452.0048,4811823.2896,2254161.27048,3434912.41216,1379924.316,1379924.316,1379924.316,1903265.3395000002,1383450.582,1383450.582,1764699.18287,1821025.1114999999,2706807.6966,4721176.215,1339914.7734,1704119.7957000001,1564688.3969999999,1564688.3969999999,1564688.3969999999,1564688.3969999999,4159574.74988,4159574.74988 +2584800.0,971019.3659999999,842435.0939999999,2459910.47448,1088600.71034,1088600.71034,1088600.71034,856076.284,1355680.4187200002,2982611.5827200008,1337721.74592,2038433.13664,748143.855,748143.855,748143.855,935696.251,971019.3659999999,971019.3659999999,1231081.10177,855912.01905,1272244.53202,2219031.1605,629782.17698,800964.58079,999805.8929999999,999805.8929999999,999805.8929999999,999805.8929999999,2919531.5604399997,2919531.5604399997 +2588400.0,181545.47400000002,147050.47499999998,429387.387,204055.37999000002,204055.37999000002,204055.37999000002,79082.9935,318456.67167999997,1078667.3536,377170.90362000006,574736.6150400001,251367.01799999998,251367.01799999998,251367.01799999998,158962.5555,181545.47400000002,181545.47400000002,312101.43873999995,127323.70154999998,189256.46501999997,330098.48549999995,93685.09397999999,119149.83428999998,225850.467,225850.467,225850.467,225850.467,545846.72516,545846.72516 +2592000.0,208969.635,159807.054,466636.59768,183318.99454,183318.99454,183318.99454,71632.6065,458777.66880000004,1092792.18304,394129.62288,600578.47296,260268.465,260268.465,260268.465,156495.6225,208969.635,208969.635,323200.45602000004,124189.39439999999,184597.56895999998,321972.504,91378.86304,116216.74192,227544.822,227544.822,227544.822,227544.822,628302.0358999999,628302.0358999999 +2595600.0,244523.985,204072.969,595893.0694800001,186718.59228000004,186718.59228000004,186718.59228000004,84050.7745,479641.44256,1108118.1971200001,445495.2432,678849.8944000001,300119.598,300119.598,300119.598,159702.3015,244523.985,244523.985,361428.4937899999,161974.79280000002,240762.53152000002,419934.64800000004,119181.45248000002,151576.41104000004,296538.39300000004,296538.39300000004,296538.39300000004,296538.39300000004,735202.1148999999,735202.1148999999 +2599200.0,306284.286,265500.543,775261.5855599999,217995.02010000002,217995.02010000002,217995.02010000002,107325.099,571901.69832,1156192.8697600001,518366.62206,789891.9955200001,423875.493,423875.493,423875.493,281039.24450000003,306284.286,306284.286,400026.81979,193355.8371,287407.93564,501292.911,142271.70236,180942.86978,401253.32100000005,401253.32100000005,401253.32100000005,401253.32100000005,920894.75324,920894.75324 +2602800.0,381882.7949999999,297282.792,868065.75264,234042.78997,234042.78997,234042.78997,108371.1965,735329.73584,1229138.7654400002,621493.41555,947037.5856000001,525443.988,525443.988,525443.988,335157.487,381882.7949999999,381882.7949999999,441293.27203,234489.69854999997,348550.11981999996,607936.2555,172538.09918,219436.03889,489784.158,489784.158,489784.158,489784.158,1148194.2702999997,1148194.2702999997 +2606400.0,529753.851,335560.03500000003,979835.3022,251253.13906000002,251253.13906000002,251253.13906000002,121001.07599999999,882151.6048799999,1534466.4140800002,807880.26585,1231055.6432,589610.9400000001,589610.9400000001,589610.9400000001,373344.825,529753.851,529753.851,473489.3293,309526.6527,460086.53067999997,802476.507,227750.47532,289655.80586,625768.743,625768.743,625768.743,625768.743,1592793.24534,1592793.24534 +2610000.0,630934.242,455435.61,1329871.9812,286052.30247,286052.30247,286052.30247,145895.2425,1111595.56304,1889846.4256000004,973305.3508500002,1483131.9632000003,636001.3019999999,636001.3019999999,636001.3019999999,466458.94750000007,630934.242,630934.242,542637.0571699999,390244.13279999996,580066.58752,1011744.048,287142.59648,365191.42304,706557.99,706557.99,706557.99,706557.99,1897008.9542799997,1897008.9542799997 +2613600.0,841433.8920000001,565134.108,1650191.59536,509540.84577,509540.84577,509540.84577,238427.742,1753263.7584799998,2216469.6179200006,1321901.02779,2014325.3756799998,728485.896,728485.896,728485.896,705003.208,841433.8920000001,841433.8920000001,864668.40421,495440.307,736432.2588,1284474.87,364546.2012,463634.2626,853967.568,853967.568,853967.568,853967.568,2529911.23528,2529911.23528 +2617200.0,1560799.473,918394.503,2681711.94876,2046792.29997,2046792.29997,2046792.29997,1726858.8855,3964438.9093600004,5097014.941440001,3597601.42728,5482059.31776,1715924.451,1715924.451,1715924.451,2444717.8875,1560799.473,1560799.473,3290857.77696,2086354.0858499997,3101197.9251399995,5409066.148499999,1535144.4878599998,1952415.30503,1916740.8420000002,1916740.8420000002,1916740.8420000002,1916740.8420000002,4692803.748819999,4692803.748819999 +2620800.0,1590382.341,1494802.41,4364823.037199999,2762432.10529,2762432.10529,2762432.10529,2665681.97,5125311.604,4538797.16416,4057008.4373700004,6182108.095040001,1687042.956,1687042.956,1687042.956,2589299.9614999997,1590382.341,1590382.341,2805273.58241,2638572.5133,3922026.30372,6840743.553,1941468.1702800002,2469182.6729400004,2055800.0850000002,2055800.0850000002,2055800.0850000002,2055800.0850000002,4781749.57194,4781749.57194 +2624400.0,2435659.4189999998,2555476.917,7461992.597639999,2404306.1467700005,2404306.1467700005,2404306.1467700005,3217683.105,5363030.0596,8429933.213440001,4464153.17628,6802519.12576,2361966.591,2361966.591,2361966.591,2137349.1859999998,2435659.4189999998,2435659.4189999998,3661945.70313,2699882.3488499997,4013158.4543399997,6999694.978499999,1986580.09866,2526556.56843,2691719.3310000002,2691719.3310000002,2691719.3310000002,2691719.3310000002,7323215.986459999,7323215.986459999 +2628000.0,2070716.256,1632240.918,4766143.48056,1198119.8845000002,1198119.8845000002,1198119.8845000002,1854928.4635,3294099.54928,9295099.53088,2436486.56895,3712741.4384000003,1996260.303,1996260.303,1996260.303,2031619.0685,2070716.256,2070716.256,2824698.7433599997,2825132.0373,4199332.06532,7324416.393,2078739.12868,2643765.53614,1596536.6339999996,1596536.6339999996,1596536.6339999996,1596536.6339999996,6225953.54304,6225953.54304 +2631600.0,1253124.036,1121205.2310000001,3273919.2745200004,814346.6256200001,814346.6256200001,814346.6256200001,1085528.2655,2457924.4481599997,6707520.03264,1767585.52005,2693463.6496,1182288.951,1182288.951,1182288.951,1122869.517,1253124.036,1253124.036,1413498.0910699996,2187218.6190000004,3251124.9596,5670566.790000001,1609360.8604000004,2046804.5842000004,1103583.846,1103583.846,1103583.846,1103583.846,3767726.26824,3767726.26824 +2635200.0,1269158.778,1613047.446,4710098.542319999,1013236.0970600001,1013236.0970600001,1013236.0970600001,1404382.2974999999,2698782.5636799997,4897706.22336,2093524.42047,3190132.45024,1222198.044,1222198.044,1222198.044,1526006.9265,1269158.778,1269158.778,1591804.3100700001,1420059.02085,2110803.7791399998,3681634.4985,1044882.93386,1328894.7380300001,1264135.224,1264135.224,1264135.224,1264135.224,3815937.3925199998,3815937.3925199998 +2638800.0,1072301.322,1094774.2769999998,3196740.8888399997,812674.99522,812674.99522,812674.99522,1338947.428,2084280.3312799998,3420235.25504,1581406.89105,2409762.8816,1004131.5389999999,1004131.5389999999,1004131.5389999999,1239831.9745,1072301.322,1072301.322,1243675.44223,1154702.9925,1716373.3369999998,2993674.425,849633.313,1080573.9115,998894.559,998894.559,998894.559,998894.559,3224052.6414799998,3224052.6414799998 +2642400.0,919774.869,868200.249,2535144.7270799996,556278.43843,556278.43843,556278.43843,1102289.4400000002,1880412.7056800001,3101156.7008000007,1409563.37361,2147906.09312,899022.5969999998,899022.5969999998,899022.5969999998,899663.919,919774.869,919774.869,1098806.2123999998,1032064.2296999998,1534080.6574799998,2675722.0769999996,759395.4085199999,965808.2544599999,896161.1340000001,896161.1340000001,896161.1340000001,896161.1340000001,2765456.4394599996,2765456.4394599996 +2646000.0,1401041.535,1817942.1329999997,5308391.028359999,1885102.3965400003,1885102.3965400003,1885102.3965400003,1902050.5665,3214990.1033599996,4376402.51264,2424306.81108,3694181.80736,1326152.2710000002,1326152.2710000002,1326152.2710000002,1814692.3619999997,1401041.535,1401041.535,2102770.2397000003,1837145.95425,2730770.0357,4762970.992500001,1351776.5293,1719205.7201500002,1709032.905,1709032.905,1709032.905,1709032.905,4212464.881899999,4212464.881899999 +2649600.0,1404775.8,1816981.59,5305586.2428,2274157.6810700004,2274157.6810700004,2274157.6810700004,1691238.2655,3592396.0270399996,4782728.972800001,2742918.80919,4179685.80448,1493737.629,1493737.629,1493737.629,2250743.8835,1404775.8,1404775.8,2180575.34227,1899438.2428499998,2823362.5239399993,4924469.518499999,1397611.34906,1777498.9976299999,1656128.1239999998,1656128.1239999998,1656128.1239999998,1656128.1239999998,4223692.572,4223692.572 +2653200.0,1313187.369,1713014.079,5002001.11068,1806726.5856200003,1806726.5856200003,1806726.5856200003,1563658.971,3241485.6344000003,4740423.75744,2352967.12182,3585473.7094400004,1366907.781,1366907.781,1366907.781,1921271.8595000003,1313187.369,1313187.369,1939155.6846999999,1768571.3745,2628839.4258,4585185.045,1301319.1842,1655033.4590999999,1605053.847,1605053.847,1605053.847,1605053.847,3948316.68946,3948316.68946 +2656800.0,2511141.612,2147088.666,6269498.90472,3882921.9046200006,3882921.9046200006,3882921.9046200006,3256224.755,4329103.02176,8029227.535360001,4222144.7366700005,6433744.360640001,2658558.717,2658558.717,2658558.717,3402199.1254999996,2511141.612,2511141.612,4513359.75311,3348698.4157499997,4977571.4723,8681810.7075,2463980.5627,3133720.24585,2896364.136,2896364.136,2896364.136,2896364.136,7550165.78008,7550165.78008 +2660400.0,2062610.424,1316654.433,3844630.9443599996,3037681.1869800007,3037681.1869800007,3037681.1869800007,2147833.744,3445629.51536,6539177.622400002,3220468.5502500003,4907380.648000001,2112510.9690000005,2112510.9690000005,2112510.9690000005,3176010.1555,2062610.424,2062610.424,2278458.039,2683969.5626999997,3989505.3746799994,6958439.607,1974871.43132,2511665.34386,2353605.66,2353605.66,2353605.66,2353605.66,6201582.008160001,6201582.008160001 +2664000.0,1640033.244,1236856.9500000002,3611622.294,2346222.54185,2346222.54185,2346222.54185,1941940.1014999999,2856012.2996799997,5490842.142080001,2560786.11663,3902150.27296,1624138.44,1624138.44,1624138.44,2316380.5140000004,1640033.244,1640033.244,1807614.4838699999,2075754.73365,3085442.83866,5381586.346500001,1527345.4583400001,1942496.4050700003,1838040.588,1838040.588,1838040.588,1838040.588,4931033.28696,4931033.28696 +2667600.0,1466809.947,1255447.9949999999,3665908.1454,1862574.11219,1862574.11219,1862574.11219,1803838.9915,2749570.43904,5117177.13728,2385600.6255900003,3635200.95328,1462268.571,1462268.571,1462268.571,2026793.363,1466809.947,1466809.947,1877498.97868,1940775.2199,2884806.6231599995,5031639.459,1428027.19884,1816182.2428199998,1662133.332,1662133.332,1662133.332,1662133.332,4410208.57398,4410208.57398 +2671200.0,1027067.8049999999,888605.4749999999,2594727.9869999997,1150270.17248,1150270.17248,1150270.17248,902317.5140000001,1432017.25456,3158153.73504,1428372.09396,2176567.00032,789782.247,789782.247,789782.247,992909.5085000001,1027067.8049999999,1027067.8049999999,1302198.3081899998,907360.4974499999,1348718.5665799999,2352416.1045,667638.09442,849110.1939099999,1058506.0350000001,1058506.0350000001,1058506.0350000001,1058506.0350000001,3088050.5337,3088050.5337 +2674800.0,199513.97099999996,157094.016,458714.52671999997,216866.19339,216866.19339,216866.19339,82398.83399999999,393707.33176,1163720.1651200003,412933.38765,629231.8288,272559.213,272559.213,272559.213,170346.981,199513.97099999996,199513.97099999996,334405.89454999997,138030.73919999998,205171.61727999998,357857.47199999995,101563.35871999999,129169.50656,242659.902,242659.902,242659.902,242659.902,599872.00614,599872.00614 +2678400.0,233671.08899999998,174151.926,508523.62392,195612.74700000003,195612.74700000003,195612.74700000003,78459.8815,512019.02744,1171928.30912,428456.90139,652886.7068800001,299194.062,299194.062,299194.062,165882.388,233671.08899999998,233671.08899999998,349593.21942999994,136101.6513,202304.18291999996,352856.133,100143.93108,127364.26134,243845.83199999997,243845.83199999997,243845.83199999997,243845.83199999997,702571.0742599999,702571.0742599999 +2682000.0,276171.789,253496.745,740210.4953999999,212096.91448,212096.91448,212096.91448,97148.03349999999,528894.10456,1215504.33024,489395.85702,745746.06784,343417.02,343417.02,343417.02,191324.749,276171.789,276171.789,391755.82276999997,183904.26299999998,273358.92919999996,476788.83,135317.2108,172098.06339999998,357615.24,357615.24,357615.24,357615.24,830356.51226,830356.51226 +2685600.0,342009.14099999995,289761.174,846102.62808,237459.33926,237459.33926,237459.33926,113691.30500000001,658413.32088,1245478.6540800002,574777.8922199999,875852.0262399999,485802.15599999996,485802.15599999996,485802.15599999996,324044.644,342009.14099999995,342009.14099999995,433559.58086999995,214127.98335,318284.06414,555146.6235,157555.89886000002,200381.49553000001,443984.061,443984.061,443984.061,443984.061,1028307.4839399998,1028307.4839399998 +2689200.0,437759.22299999994,323004.696,943173.71232,247591.05074,247591.05074,247591.05074,113466.80099999999,810262.2736000001,1348311.4854400002,702027.14988,1069755.65696,565063.44,565063.44,565063.44,362760.279,437759.22299999994,437759.22299999994,470014.12353999994,260796.72465,387653.40306,676139.6564999999,191894.87394,244054.21886999998,555833.3489999999,555833.3489999999,555833.3489999999,555833.3489999999,1316196.0638199998,1316196.0638199998 +2692800.0,586014.387,374861.811,1094596.48812,263565.88621,263565.88621,263565.88621,130742.98999999999,975008.32904,1673606.71936,887917.79013,1353017.58496,613078.317,613078.317,613078.317,398873.8495,586014.387,586014.387,498167.57302,349711.59915,519818.22886,906659.7015000001,257318.65814,327260.97797,676720.413,676720.413,676720.413,676720.413,1761949.9235799997,1761949.9235799997 +2696400.0,669954.846,500036.39999999997,1460106.288,316815.1085,316815.1085,316815.1085,154603.365,1210344.04712,2067957.01952,1053713.63559,1605658.8732800002,660807.414,660807.414,660807.414,530616.681,669954.846,669954.846,619198.5630999999,421634.1802499999,626725.3740999999,1093125.6524999999,310239.47089999996,394566.30694999994,738533.109,738533.109,738533.109,738533.109,2014330.90364,2014330.90364 +2700000.0,868131.435,572550.207,1671846.6044400001,530566.37216,530566.37216,530566.37216,251378.39999999997,1765846.0676799999,2251964.1164800003,1351685.9617800002,2059711.9417600003,745185.24,745185.24,745185.24,717953.7155,868131.435,868131.435,878483.0705299999,522581.4710999999,776775.4212399998,1354840.8509999998,384516.73675999994,489033.0309799999,877238.7420000001,877238.7420000001,877238.7420000001,877238.7420000001,2610181.8479,2610181.8479 +2703600.0,1603694.1210000003,940467.4470000002,2746164.9452400003,2078333.3876800002,2078333.3876800002,2078333.3876800002,1778595.8750000002,3985915.7137599993,5100369.33248,3639832.77378,5546411.84576,1744650.912,1744650.912,1744650.912,2474923.4965000004,1603694.1210000003,1603694.1210000003,3424264.85856,2160874.7783999997,3211966.9545599995,5602267.944,1589976.9974399998,2022151.95312,1940176.2510000002,1940176.2510000002,1940176.2510000002,1940176.2510000002,4821773.65714,4821773.65714 +2707200.0,1631792.8710000003,1514117.211,4421222.25612,2804546.7681,2804546.7681,2804546.7681,2727915.603,5140659.04224,4637229.79712,4122359.3516700002,6281690.440640001,1739420.0250000001,1739420.0250000001,1739420.0250000001,2689529.731,1631792.8710000003,1631792.8710000003,2835692.9314999995,2670361.22655,3969277.6750199995,6923158.7355,1964858.38398,2498930.62929,2083872.54,2083872.54,2083872.54,2083872.54,4906257.23214,4906257.23214 +2710800.0,2450955.111,2566304.73,7493609.8116,2468339.19222,2468339.19222,2468339.19222,3268848.863,5440599.199680001,8466845.637120001,4502725.50315,6861296.0048,2374255.113,2374255.113,2374255.113,2162367.7389999996,2450955.111,2450955.111,3719672.7209199993,2742092.1171,4075899.88764,7109127.711,2017638.15036,2566056.57378,2722340.721,2722340.721,2722340.721,2722340.721,7369205.03374,7369205.03374 +2714400.0,2060577.7830000003,1620886.605,4732988.8866,1184641.86786,1184641.86786,1184641.86786,1889811.3325,3274119.788,9269653.256320002,2417696.45376,3684108.88192,1965679.992,1965679.992,1965679.992,2011435.8775,2060577.7830000003,2060577.7830000003,2817176.3074,2812931.00325,4181196.2072999994,7292784.0825,2069761.5777,2632347.77835,1575376.9619999998,1575376.9619999998,1575376.9619999998,1575376.9619999998,6195470.53422,6195470.53422 +2718000.0,1210845.9209999999,1083787.8390000002,3164660.4898800002,781031.8726100001,781031.8726100001,781031.8726100001,1053096.9505,2359052.38968,6567023.37216,1698464.63619,2588136.5884800004,1111017.303,1111017.303,1111017.303,1075054.3614999999,1210845.9209999999,1210845.9209999999,1336291.4342699999,2143176.7563,3185660.2649199995,5556384.183,1576954.74908,2005590.1003400001,1046177.0190000001,1046177.0190000001,1046177.0190000001,1046177.0190000001,3640610.06914,3640610.06914 +2721600.0,1235632.6469999999,1595797.266,4659728.01672,983623.50152,983623.50152,983623.50152,1370422.0074999998,2608757.35184,4754885.203199999,2033437.9936499998,3098572.1807999997,1169583.606,1169583.606,1169583.606,1487824.2714999998,1235632.6469999999,1235632.6469999999,1538077.8654799997,1380545.2970999999,2052069.7996399999,3579191.511,1015808.63836,1291917.69778,1221239.1090000002,1221239.1090000002,1221239.1090000002,1221239.1090000002,3715135.49198,3715135.49198 +2725200.0,1042892.6429999999,1069848.7380000001,3123958.31496,792236.9285600001,792236.9285600001,792236.9285600001,1306489.2889999999,2002801.7959199997,3272916.116480001,1530527.0238299998,2332231.6553599997,955158.3029999998,955158.3029999998,955158.3029999998,1217768.2335,1042892.6429999999,1042892.6429999999,1206957.96572,1114789.0437,1657044.45508,2890193.817,820264.53092,1043222.33966,963229.605,963229.605,963229.605,963229.605,3135630.5466199997,3135630.5466199997 +2728800.0,887770.683,837205.971,2444641.43532,535119.94921,535119.94921,535119.94921,1067033.24,1793058.46456,2944564.6035200004,1353432.6878099998,2062373.61952,847005.897,847005.897,847005.897,861320.2744999999,887770.683,887770.683,1059102.20208,986384.89935,1466181.9985399998,2557294.1835,725784.4444599999,923061.42433,864007.335,864007.335,864007.335,864007.335,2669230.52022,2669230.52022 +2732400.0,1345610.295,1762197.7589999996,5145617.456279999,1845558.0242,1845558.0242,1845558.0242,1845864.8320000002,3070334.6290399996,4113222.2214400005,2324642.38377,3542312.2038400006,1244229.1199999999,1244229.1199999999,1244229.1199999999,1754724.545,1345610.295,1345610.295,2031859.8344199997,1758584.9736,2613995.44224,4559294.376,1293971.16576,1645688.16048,1643699.8260000001,1643699.8260000001,1643699.8260000001,1643699.8260000001,4045801.6203,4045801.6203 +2736000.0,1341340.299,1758921.4500000002,5136050.634000001,2213943.89513,2213943.89513,2213943.89513,1620086.6745,3425445.67528,4481910.0070400005,2617172.1114,3988071.7887999997,1404049.5210000002,1404049.5210000002,1404049.5210000002,2145419.255,1341340.299,1341340.299,2103672.3600099995,1813354.4681999998,2695405.9008799996,4701289.362,1334270.69512,1696941.58876,1576469.2920000004,1576469.2920000004,1576469.2920000004,1576469.2920000004,4032963.16566,4032963.16566 +2739600.0,1257232.497,1658895.816,4843975.78272,1758413.52038,1758413.52038,1758413.52038,1495435.2,3097866.5264800005,4486533.56096,2244109.3353,3419595.1776,1285937.5499999998,1285937.5499999998,1285937.5499999998,1827724.36,1257232.497,1257232.497,1859911.09343,1680542.6642999998,2497991.81212,4356962.4629999995,1236547.4418799998,1572655.97474,1536057.756,1536057.756,1536057.756,1536057.756,3780079.04098,3780079.04098 +2743200.0,2465308.743,2095818.33,6119789.5236,3827561.6465900005,3827561.6465900005,3827561.6465900005,3201521.2809999995,4220597.85992,7787856.6067200005,4145694.42924,6317248.65408,2597531.6730000004,2597531.6730000004,2597531.6730000004,3334588.8065,2465308.743,2465308.743,4465069.15205,3271592.7054000003,4862960.02136,8481907.014,2407245.99064,3061564.5317200003,2831874.654,2831874.654,2831874.654,2831874.654,7412361.620619999,7412361.620619999 +2746800.0,2012191.1609999998,1264576.437,3692563.19604,2968644.58121,2968644.58121,2968644.58121,2095101.358,3322653.89056,6240943.46176,3136487.05083,4779408.839360001,2036801.706,2036801.706,2036801.706,3023073.8545,2012191.1609999998,2012191.1609999998,2245620.3277299996,2596602.8088,3859641.70592,6731933.208000001,1910586.75808,2429907.31984,2290782.009,2290782.009,2290782.009,2290782.009,6049988.09074,6049988.09074 +2750400.0,1580170.146,1183064.34,3454547.8728,2283980.11325,2283980.11325,2283980.11325,1869028.252,2724536.6308,5201037.413760001,2443816.15674,3723910.3340800004,1540073.1539999999,1540073.1539999999,1540073.1539999999,2212602.5390000003,1580170.146,1580170.146,1738218.6225299998,1988473.0176000001,2955705.57184,5155300.416,1463123.35616,1860817.95968,1756885.6500000001,1756885.6500000001,1756885.6500000001,1756885.6500000001,4751044.90564,4751044.90564 +2754000.0,1400471.721,1197762.468,3497466.40656,1776371.23136,1776371.23136,1776371.23136,1723708.63,2591873.1000800002,4826397.33248,2275594.97508,3467573.29536,1380786.201,1380786.201,1380786.201,1920396.1315000001,1400471.721,1400471.721,1800426.17456,1841707.93905,2737551.0600199997,4774798.3605,1355133.24898,1723474.83679,1580565.6150000002,1580565.6150000002,1580565.6150000002,1580565.6150000002,4210751.64114,4210751.64114 +2757600.0,990213.246,853945.158,2493519.86136,1117211.9556400003,1117211.9556400003,1117211.9556400003,872077.6785,1370010.9494399999,3008671.83744,1360333.3716000002,2072888.9472000003,752222.1539999999,752222.1539999999,752222.1539999999,952765.338,990213.246,990213.246,1264238.5481699998,870754.4064,1294306.54976,2257511.424,640703.24224,814854.12352,1017090.441,1017090.441,1017090.441,1017090.441,2977241.1596399997,2977241.1596399997 +2761200.0,185087.43,148435.479,433431.59867999994,206682.04403000002,206682.04403000002,206682.04403000002,80058.9755,319736.07552,1086144.76416,382959.14180999994,583556.7875199999,252916.512,252916.512,252916.512,160586.2125,185087.43,185087.43,314849.50717999996,129002.40225,191751.71889999998,334450.6725,94920.2861,120720.76655,229698.62099999998,229698.62099999998,229698.62099999998,229698.62099999998,556496.2061999999,556496.2061999999 +2764800.0,213556.896,160766.68799999997,469438.7289599999,184653.6615,184653.6615,184653.6615,73317.93000000001,439880.10040000005,1088400.91712,396483.75038999994,604165.71488,256070.51400000002,256070.51400000002,256070.51400000002,156444.7465,213556.896,213556.896,323546.42008,124773.696,185466.08639999997,323487.36,91808.7936,116763.5328,229954.25400000002,229954.25400000002,229954.25400000002,229954.25400000002,642094.40064,642094.40064 +2768400.0,252055.542,206017.977,601572.49284,191135.67374000003,191135.67374000003,191135.67374000003,87937.3495,481736.53088000003,1120793.66912,453525.79439999996,691086.9247999999,290664.192,290664.192,290664.192,163218.59399999998,252055.542,252055.542,366893.13479,167265.48195000002,248626.71638000003,433651.24950000003,123074.35462000001,156527.45101000002,309418.38,309418.38,309418.38,309418.38,757846.99628,757846.99628 +2772000.0,314838.549,269914.72199999995,788150.98824,221900.03044,221900.03044,221900.03044,109572.904,578580.85376,1159927.7996800002,531865.6654500001,810461.9664,426513.8520000001,426513.8520000001,426513.8520000001,288178.226,314838.549,314838.549,404769.73952999996,198876.8619,295614.49596,515606.679,146334.08604,186109.45842,410927.184,410927.184,410927.184,410927.184,946614.57066,946614.57066 +2775600.0,396016.275,299870.007,875620.4204399999,236413.13355000003,236413.13355000003,236413.13355000003,109590.145,736094.91016,1236795.7177600001,636414.89877,969775.08384,521967.23399999994,521967.23399999994,521967.23399999994,339001.63849999994,396016.275,396016.275,442981.72633,239220.54,355582.136,620201.4,176019.064,223863.17200000002,501336.699,501336.699,501336.699,501336.699,1190688.9335,1190688.9335 +2779200.0,534441.0689999999,329424.852,961920.5678399999,250167.6375,250167.6375,250167.6375,122755.899,864394.01616,1535645.5776,813379.6410599999,1239435.64352,572852.5109999999,572852.5109999999,572852.5109999999,371398.4365,534441.0689999999,534441.0689999999,465937.37917999993,307322.41185000003,456810.10354,796761.8085,226128.58946000002,287593.07183000003,623255.292,623255.292,623255.292,623255.292,1606886.14746,1606886.14746 +2782800.0,620984.112,439229.412,1282549.88304,282601.10934,282601.10934,282601.10934,144621.456,1075768.71064,1814716.55488,964236.81333,1469313.23936,608612.583,608612.583,608612.583,450736.21949999995,620984.112,620984.112,557993.3236799999,380846.29814999993,566097.4604599999,987379.2914999999,280227.64654,356396.90617,687559.863,687559.863,687559.863,687559.863,1867092.23008,1867092.23008 +2786400.0,690168.597,498445.25999999995,1455460.1591999999,431200.9526000001,431200.9526000001,431200.9526000001,233806.454,1316413.56688,2052324.5811200002,1101775.18815,1678895.5248,655102.407,655102.407,655102.407,559006.4550000001,690168.597,690168.597,657964.7629099999,449412.9156,668016.2350399999,1165144.596,330679.13296,420561.71608,735995.928,735995.928,735995.928,735995.928,2075106.91498,2075106.91498 +2790000.0,1413167.619,1328566.335,3879413.6982,1268952.1702000003,1268952.1702000003,1268952.1702000003,1180913.888,2317579.03984,2718983.2748800004,1976980.6646100003,3012541.9651200003,988632.0179999999,988632.0179999999,988632.0179999999,1928148.0365,1413167.619,1413167.619,2749308.40028,900255.1815,1338157.0846,2333994.915,662409.9854,842461.0217,1889898.3839999996,1889898.3839999996,1889898.3839999996,1889898.3839999996,4248923.97446,4248923.97446 +2793600.0,2523658.485,2222086.362,6488492.17704,3281860.8207,3281860.8207,3281860.8207,2302822.375,3727677.47208,4455915.6851200005,3692260.81539,5626302.19488,1626161.553,1626161.553,1626161.553,2704055.977,2523658.485,2523658.485,4452248.78969,2027228.3099999998,3013312.2039999994,5255777.1,1491639.596,1897085.258,2698805.505,2698805.505,2698805.505,2698805.505,7587799.8449,7587799.8449 +2797200.0,2722573.923,2722804.653,7950589.586759999,3344799.9966700003,3344799.9966700003,3344799.9966700003,2859792.621,4612828.90976,10046747.997440001,3620488.6334400005,5516935.06048,2694960.906,2694960.906,2694960.906,2840887.343,2722573.923,2722573.923,2550808.15145,3676540.1445,5464881.8938,9531770.745000001,2705207.3162000002,3440515.3451,2448645.4979999997,2448645.4979999997,2448645.4979999997,2448645.4979999997,8185872.261819999,8185872.261819999 +2800800.0,2167931.898,2009543.433,5867866.82436,2813580.09647,2813580.09647,2813580.09647,3347303.6415,4094244.00536,8107258.17728,3989019.1645500003,6078505.3936,2945967.957,2945967.957,2945967.957,3492196.1445000004,2167931.898,2167931.898,2320075.3422599994,3920568.63795,5827610.66678,10164437.2095,2884764.08422,3668877.81181,2296135.3469999996,2296135.3469999996,2296135.3469999996,2296135.3469999996,6518248.5733199995,6518248.5733199995 +2804400.0,1726336.1490000002,1518662.535,4434494.6022,2496523.72244,2496523.72244,2496523.72244,2981515.4425000004,4214845.99136,8469781.84448,3569339.6482800003,5438993.74976,1684834.341,1684834.341,1684834.341,2800908.8729999997,1726336.1490000002,1726336.1490000002,1941316.4906199998,3344735.51505,4971680.93842,8671536.5205,2461064.65058,3130011.7535900003,2074953.708,2074953.708,2074953.708,2074953.708,5190517.35466,5190517.35466 +2808000.0,1503222.279,1264280.394,3691698.75048,2044302.2536199999,2044302.2536199999,2044302.2536199999,2364523.4864999996,3802021.916,5863818.3232,2816357.52951,4291592.425919999,1497147.384,1497147.384,1497147.384,2388510.929,1503222.279,1503222.279,1589180.15204,2154397.52835,3202339.0421399996,5585475.0735,1585211.02086,2016090.52653,1665533.8649999998,1665533.8649999998,1665533.8649999998,1665533.8649999998,4519688.31886,4519688.31886 +2811600.0,1191686.049,1016372.133,2967806.62836,1293816.71188,1293816.71188,1293816.71188,1529880.2435,2720128.31264,3621919.9910400007,2135523.07689,3254130.40288,1128137.541,1128137.541,1128137.541,1520827.6965,1191686.049,1191686.049,1202448.53781,1466127.33345,2179280.62898,3801070.8645,1078780.1120200001,1372005.57871,1289798.58,1289798.58,1289798.58,1289798.58,3583002.72066,3583002.72066 +2815200.0,1031314.0050000001,865895.346,2528414.41032,1002382.7338800001,1002382.7338800001,1002382.7338800001,1113740.061,2155137.4484,3304596.0979199996,1709465.4007199998,2604899.65824,988175.2619999999,988175.2619999999,988175.2619999999,1364777.7780000002,1031314.0050000001,1031314.0050000001,1048663.1168,1258366.2822,1870460.49848,3262431.1020000004,925909.0175200001,1177582.2739600001,1106046.348,1106046.348,1106046.348,1106046.348,3100817.4417,3100817.4417 +2818800.0,1032934.839,883638.798,2580225.29016,1010575.59504,1010575.59504,1010575.59504,1123296.6675,2045151.4435999999,3374969.70048,1690471.35327,2575956.3478400004,991286.6429999999,991286.6429999999,991286.6429999999,1341439.0605,1032934.839,1032934.839,1087049.97596,1248801.05295,1856242.55278,3237632.3595000003,918870.8982200001,1168631.1088100001,1117141.95,1117141.95,1117141.95,1117141.95,3105690.74926,3105690.74926 +2822400.0,1362222.9479999999,1222891.026,3570841.79592,1606448.4830900002,1606448.4830900002,1606448.4830900002,1515874.766,2687838.57304,4789034.24832,2302464.7142700003,3508517.6598400003,1373074.878,1373074.878,1373074.878,1788268.3385,1362222.9479999999,1362222.9479999999,1749397.27417,1752647.4184499998,2605169.7429799996,4543900.7145,1289602.2980199999,1640131.7817099998,1541550.975,1541550.975,1541550.975,1541550.975,4095750.3303199997,4095750.3303199997 +2826000.0,1382211.867,1240295.244,3621662.1124799997,1663794.8848400002,1663794.8848400002,1663794.8848400002,1554209.2510000002,2724875.9348,4857063.87456,2341730.8271700004,3568351.7366400003,1393505.577,1393505.577,1393505.577,1810783.9854999997,1382211.867,1382211.867,1786050.23415,1783718.81595,2651354.88198,4624456.1895,1312464.7090200002,1669208.47221,1564331.2259999998,1564331.2259999998,1564331.2259999998,1564331.2259999998,4155850.34678,4155850.34678 +2829600.0,1400639.673,1250020.878,3650060.96376,1729067.22087,1729067.22087,1729067.22087,1614597.6385000001,2774495.5473599997,4896112.194560001,2381477.83419,3628918.60448,1409959.8360000001,1409959.8360000001,1409959.8360000001,1835362.6515000002,1400639.673,1400639.673,1798348.0621599997,1809632.8705499999,2689874.04462,4691640.7754999995,1331532.33438,1693458.90849,1583868.4019999998,1583868.4019999998,1583868.4019999998,1583868.4019999998,4211256.61682,4211256.61682 +2833200.0,1406519.232,1255526.343,3666136.92156,1733873.9112200001,1733873.9112200001,1733873.9112200001,1622067.7200000002,2789175.386,4918977.2544,2392344.83187,3645477.83904,1417254.078,1417254.078,1417254.078,1841100.3905000002,1406519.232,1406519.232,1803840.9330499999,1816950.4307999997,2700751.0107199997,4710612.228,1336916.61328,1700306.6994399999,1589880.2640000004,1589880.2640000004,1589880.2640000004,1589880.2640000004,4228934.4908799995,4228934.4908799995 +2836800.0,1401427.506,1252929.303,3658553.56476,1714178.7538700001,1714178.7538700001,1714178.7538700001,1605484.342,2776674.76088,4906228.7993600005,2381791.25289,3629396.1948800003,1412676.6720000003,1412676.6720000003,1412676.6720000003,1832475.9425,1401427.506,1401427.506,1799030.7117899999,1808580.25935,2688309.4225399997,4688911.7835,1330757.82046,1692473.87233,1584210.966,1584210.966,1584210.966,1584210.966,4213625.36804,4213625.36804 +2840400.0,1352484.789,1128859.269,3296269.06548,1464088.75569,1464088.75569,1464088.75569,1230811.134,2336855.44904,3597258.68672,1986123.5310000002,3026473.952,1132704.957,1132704.957,1132704.957,1471831.6305000002,1352484.789,1352484.789,1730955.4359499998,1449979.3719,2155277.9799599997,3759205.779,1066898.40204,1356894.27642,1385710.1609999998,1385710.1609999998,1385710.1609999998,1385710.1609999998,4066470.93226,4066470.93226 +2844000.0,600836.208,421074.51,1229537.5692,783390.6696,783390.6696,783390.6696,499517.14400000003,1134074.10848,1464225.6019199998,930119.862,1417325.504,515872.581,515872.581,515872.581,635344.2829999999,600836.208,600836.208,981592.1882,324710.92485,482656.73274,841843.1385000001,238923.10026000004,303865.28523000004,750292.626,750292.626,750292.626,750292.626,1806514.19872,1806514.19872 +2847600.0,222026.127,190849.038,557279.19096,233883.01805,233883.01805,233883.01805,94070.452,480017.85392,1109416.77952,419011.26645,638493.3584,303174.444,303174.444,303174.444,165810.372,222026.127,222026.127,314277.00655,132177.93435,196471.89253999997,342683.53349999996,97256.85045999999,123692.43733,233053.19700000001,233053.19700000001,233053.19700000001,233053.19700000001,667558.55518,667558.55518 +2851200.0,248877.609,240000.52500000002,700801.533,227477.9573,227477.9573,227477.9573,94076.97950000002,520035.7648,1215796.8825600003,448212.97311,682991.19712,319098.696,319098.696,319098.696,166075.735,248877.609,248877.609,339842.05554,159817.49954999998,237555.88821999996,414341.66549999994,117594.11077999999,149557.61069,287117.16900000005,287117.16900000005,287117.16900000005,287117.16900000005,748292.0110599999,748292.0110599999 +2854800.0,288796.55999999994,269084.19,785725.8348,243297.38796000002,243297.38796000002,243297.38796000002,109481.6275,542779.09,1254071.776,517929.08202000003,789225.2678400001,448701.2429999999,448701.2429999999,448701.2429999999,189718.151,288796.55999999994,288796.55999999994,403000.47241999995,194763.03389999998,289499.62075999996,504941.19899999996,143307.12124,182259.72802,386675.11799999996,386675.11799999996,386675.11799999996,386675.11799999996,868314.9903999999,868314.9903999999 +2858400.0,362948.904,293466.31500000006,856921.6398000001,238844.76726000002,238844.76726000002,238844.76726000002,110839.1095,703735.84392,1268417.1539200002,606342.9903300001,923951.2233600001,509339.757,509339.757,509339.757,331502.941,362948.904,362948.904,418021.50116999994,226073.37329999998,336039.92772,586116.1529999999,166345.34628,211560.02094,471139.55999999994,471139.55999999994,471139.55999999994,471139.55999999994,1091266.37136,1091266.37136 +2862000.0,481062.97199999995,331352.238,967548.53496,252980.95174000002,252980.95174000002,252980.95174000002,118232.56899999999,845407.93088,1521176.592,742918.1327399999,1132065.72608,572099.7239999999,572099.7239999999,572099.7239999999,366906.12,481062.97199999995,481062.97199999995,476759.1047699999,310313.27204999997,461255.77722,804515.8905,228329.27178,290391.92619,573806.997,573806.997,573806.997,573806.997,1446396.0024799998,1446396.0024799998 +2865600.0,597485.7509999999,382766.976,1117679.5699200002,273706.54355,273706.54355,273706.54355,140952.51450000002,1040595.1323200001,1862246.05248,912291.1728000001,1390157.9776,628995.651,628995.651,628995.651,467962.36900000006,597485.7509999999,597485.7509999999,505454.30935999996,383146.5969,569516.66996,993343.029,281920.21204,358549.53142,680838.309,680838.309,680838.309,680838.309,1796440.4913399997,1796440.4913399997 +2869200.0,699596.466,520577.68200000003,1520086.8314399999,355141.51706,355141.51706,355141.51706,155964.5185,1265061.4891199998,2149037.22752,1078730.07963,1643779.16896,700585.071,700585.071,700585.071,541568.7829999999,699596.466,699596.466,623526.6684399999,428026.74074999994,636227.4022999998,1109698.9575,314943.13269999996,400548.48085,747197.16,747197.16,747197.16,747197.16,2103453.37444,2103453.37444 +2872800.0,766143.48,548419.116,1601383.81872,463529.19052000006,463529.19052000006,463529.19052000006,245810.5965,1449018.13696,2253683.73312,1214349.47613,1850437.2969600002,758437.5899999999,758437.5899999999,758437.5899999999,627853.6495,766143.48,766143.48,700406.1394199999,518385.44025000004,770538.3581000001,1343962.2525000002,381429.28690000006,485106.37495,808359.675,808359.675,808359.675,808359.675,2303538.0631999997,2303538.0631999997 +2876400.0,1528303.551,1394453.328,4071803.71776,1312491.10916,1312491.10916,1312491.10916,1233883.1505,2514536.7716,3017429.69344,2143367.93391,3266084.47072,1125766.5089999998,1125766.5089999998,1125766.5089999998,2015662.8554999998,1528303.551,1528303.551,2812978.7646999997,1027145.0997,1526768.76548,2662968.7770000002,755775.90052,961204.92046,2000337.618,2000337.618,2000337.618,2000337.618,4595099.34334,4595099.34334 +2880000.0,2587552.7909999997,2291330.0100000002,6690683.6292,3309298.54662,3309298.54662,3309298.54662,2362962.2345,3860198.4542399994,4660635.28832,3828329.07345,5833644.3024,1696536.33,1696536.33,1696536.33,2784007.541,2587552.7909999997,2587552.7909999997,4578422.179629999,2087202.4919999996,3102459.0127999997,5411265.72,1535768.7471999999,1953209.2455999998,2761073.328,2761073.328,2761073.328,2761073.328,7779908.724939999,7779908.724939999 +2883600.0,2545492.2750000004,2565373.509,7490890.64628,3125490.39099,3125490.39099,3125490.39099,2768358.3865,4294006.47888,9445580.941440001,3373927.61937,5141223.03904,2516666.337,2516666.337,2516666.337,2661308.8425000003,2545492.2750000004,2545492.2750000004,2071775.2298099997,3534274.0853999997,5253414.813359999,9162932.814,2600527.59864,3307382.41572,2168552.79,2168552.79,2168552.79,2168552.79,7653446.7735,7653446.7735 +2887200.0,1815804.9269999997,1731733.3710000003,5056661.443320001,2395748.89037,2395748.89037,2395748.89037,3148359.655,3602598.3902399996,6965984.20288,3478522.79082,5300606.15744,2644002.36,2644002.36,2644002.36,3083080.084,1815804.9269999997,1815804.9269999997,1791967.40957,3561243.3675,5293502.487,9232853.175,2620371.663,3332620.3365,1896654.2999999998,1896654.2999999998,1896654.2999999998,1896654.2999999998,5459520.147179998,5459520.147179998 +2890800.0,1387078.326,1155236.421,3373290.34932,1963650.5923100002,1963650.5923100002,1963650.5923100002,2722466.705,3591282.2981600002,7281765.562240001,2982516.0306900004,4544786.33248,1196721.546,1196721.546,1196721.546,2384570.706,1387078.326,1387078.326,1299421.02862,2846778.95115,4231508.46566,7380538.021500001,2094666.9813400002,2664022.7715700003,1670324.9070000001,1670324.9070000001,1670324.9070000001,1670324.9070000001,4170482.1668399996,4170482.1668399996 +2894400.0,1269068.9279999998,1047422.8559999999,3058474.73952,1686205.4363,1686205.4363,1686205.4363,2055554.4204999998,3226889.4888000004,4726008.671360001,2349196.9638900002,3579728.7068800004,1198887.309,1198887.309,1198887.309,1935299.0405,1269068.9279999998,1269068.9279999998,1125840.1728599998,1758744.0981,2614231.96804,4559706.921,1294088.2499600002,1645837.0695800001,1320520.806,1320520.806,1320520.806,1320520.806,3815667.2435199996,3815667.2435199996 +2898000.0,855133.398,689017.758,2011931.85336,723714.57543,723714.57543,723714.57543,1123030.0760000001,2065083.7782400001,2275308.49472,1513616.63838,2306463.44896,739411.308,739411.308,739411.308,1023259.755,855133.398,855133.398,659407.01255,974017.50345,1447798.85698,2525230.5645,716684.48402,911487.98471,865047.7320000001,865047.7320000001,865047.7320000001,865047.7320000001,2571101.08332,2571101.08332 +2901600.0,642012.7110000001,480770.658,1403850.32136,392847.04712000006,392847.04712000006,392847.04712000006,669008.2490000001,1320832.8584,1692152.93056,1032475.10646,1573295.40032,549756.522,549756.522,549756.522,772474.3145,642012.7110000001,642012.7110000001,455201.61791000003,671835.48525,998629.5361,1741795.7025000001,494338.2089000001,628705.3059500001,628131.645,628131.645,628131.645,628131.645,1930318.2177400002,1930318.2177400002 +2905200.0,821362.9770000002,673937.712,1967898.11904,668211.7982100002,668211.7982100002,668211.7982100002,877217.5894999999,1607209.96624,2473076.3328,1299567.4700400003,1980293.2876800005,742446.837,742446.837,742446.837,990766.1259999999,821362.9770000002,821362.9770000002,723894.1534499999,935488.926,1390529.2184,2425341.66,688335.0616,875432.8468,837759.753,837759.753,837759.753,837759.753,2469564.6841800003,2469564.6841800003 +2908800.0,1255755.159,1123410.2489999998,3280357.92708,1465727.64701,1465727.64701,1465727.64701,1392494.5019999999,2457281.3590399995,4359875.7056,2065153.11639,3146899.98688,1211231.6009999998,1211231.6009999998,1211231.6009999998,1610291.7565,1255755.159,1255755.159,1489429.4725699998,1604092.49505,2384354.77042,4158758.3205000004,1180295.21858,1501113.71759,1381325.19,1381325.19,1381325.19,1381325.19,3775637.1780599994,3775637.1780599994 +2912400.0,1357003.7370000002,1219339.632,3560471.7254399997,1624453.38165,1624453.38165,1624453.38165,1528899.0675,2685902.88752,4780440.84352,2280933.55476,3475708.27392,1334594.0010000002,1334594.0010000002,1334594.0010000002,1763012.6324999998,1357003.7370000002,1357003.7370000002,1734883.9457299996,1751159.96685,2602958.76554,4540044.3585,1288507.82746,1638739.82083,1510035.768,1510035.768,1510035.768,1510035.768,4080057.90258,4080057.90258 +2916000.0,1409372.0969999998,1261460.055,3683463.3606,1729280.7045800001,1729280.7045800001,1729280.7045800001,1627323.173,2813955.6389599997,4964967.710720001,2404005.92019,3663247.1164800003,1424593.3739999998,1424593.3739999998,1424593.3739999998,1842866.984,1409372.0969999998,1409372.0969999998,1796712.80165,1824861.4011,2712510.03324,4731122.151,1342737.52476,1707709.80498,1580069.817,1580069.817,1580069.817,1580069.817,4237512.104979999,4237512.104979999 +2919600.0,1439844.5219999999,1290836.259,3769241.87628,1765165.4021100004,1765165.4021100004,1765165.4021100004,1662808.2940000002,2886168.5471200002,5094599.3312,2458537.50891,3746342.87072,1464616.569,1464616.569,1464616.569,1889937.574,1439844.5219999999,1439844.5219999999,1831752.7617999997,1867360.5054,2775681.5413599997,4841305.014,1374008.47064,1747480.5717200001,1628608.5,1628608.5,1628608.5,1628608.5,4329132.52948,4329132.52948 +2923200.0,1431389.688,1284830.895,3751706.2134000002,1742340.1664900002,1742340.1664900002,1742340.1664900002,1642185.6465,2864877.6591199995,5065708.688,2441801.46714,3720840.3308800003,1455187.791,1455187.791,1455187.791,1875626.4415,1431389.688,1431389.688,1823524.3717599998,1853929.45395,2755717.36118,4806483.7695,1364125.86982,1734911.76061,1618744.977,1618744.977,1618744.977,1618744.977,4303711.66192,4303711.66192 +2926800.0,1345106.3340000003,1130453.241,3300923.46372,1445492.8972000002,1445492.8972000002,1445492.8972000002,1231208.734,2355489.8962399997,3614504.3353600004,1993948.93278,3038398.37376,1136660.1,1136660.1,1136660.1,1467619.1215000001,1345106.3340000003,1345106.3340000003,1722412.2987499998,1450574.7178499997,2156162.9139399994,3760749.2684999993,1067336.4590599998,1357451.40263,1384585.1099999999,1384585.1099999999,1384585.1099999999,1384585.1099999999,4044286.3775600004,4044286.3775600004 +2930400.0,593182.509,415964.76900000003,1214617.1254800002,759002.1510500001,759002.1510500001,759002.1510500001,491415.2039999999,1129097.81528,1444298.7840000002,921904.09962,1404806.24704,513952.68,513952.68,513952.68,620475.59,593182.509,593182.509,960641.9638399999,319920.46739999996,475536.10215999995,829423.434,235398.26984,299382.36332,736914.573,736914.573,736914.573,736914.573,1783502.0770599998,1783502.0770599998 +2934000.0,224807.92200000002,200908.90499999997,586654.0025999999,238424.47871000002,238424.47871000002,238424.47871000002,94563.28349999999,495584.28048,1130726.1408000002,425930.70513,649037.2649600001,311477.175,311477.175,311477.175,167481.125,224807.92200000002,224807.92200000002,318809.5561299999,133957.84455,199117.58622000003,347298.1155000001,98566.51278000002,125358.08169000002,235425.963,235425.963,235425.963,235425.963,675922.48548,675922.48548 +2937600.0,242239.95299999998,233856.579,682861.21068,222355.22738000003,222355.22738000003,222355.22738000003,91162.3125,508758.22839999996,1174298.9523200002,436227.57927,664727.73984,309997.59900000005,309997.59900000005,309997.59900000005,160394.136,242239.95299999998,242239.95299999998,328820.5466,154227.30074999997,229246.50629999995,399848.55749999994,113480.82869999998,144326.28884999998,279201.73500000004,279201.73500000004,279201.73500000004,279201.73500000004,728334.7920199999,728334.7920199999 +2941200.0,277509.078,259079.976,756513.52992,236133.10127000004,236133.10127000004,236133.10127000004,105093.471,522656.47063999996,1202650.27392,497404.05014999997,757949.0288,427202.5739999999,427202.5739999999,427202.5739999999,179541.29200000002,277509.078,277509.078,387437.85691000003,185316.05654999998,275457.44701999996,480449.0355,136356.01198,173419.22329,368023.824,368023.824,368023.824,368023.824,834377.29452,834377.29452 +2944800.0,354584.016,292299.243,853513.7895600001,239408.10003000003,239408.10003000003,239408.10003000003,110426.169,693275.8140799999,1260866.67328,596754.00582,909339.43744,507126.312,507126.312,507126.312,320670.798,354584.016,354584.016,417024.67677,223114.09499999997,331641.1979999999,578443.95,164167.90199999997,208790.721,462647.265,462647.265,462647.265,462647.265,1066115.94144,1066115.94144 +2948400.0,471723.537,326657.529,953839.9846799999,252986.18983000002,252986.18983000002,252986.18983000002,116975.63149999999,841402.94064,1500755.34336,728058.6184199998,1109422.65664,570513.999,570513.999,570513.999,361843.16000000003,471723.537,471723.537,471314.35793,301872.5091,448709.26044,782632.4310000001,222118.53756000003,282493.03938000003,564119.589,564119.589,564119.589,564119.589,1418315.43458,1418315.43458 +2952000.0,579586.74,371784.34500000003,1085610.2874,269704.43929,269704.43929,269704.43929,137503.70549999998,1013627.77016,1808855.1507200003,888084.77289,1353272.0348800002,617225.235,617225.235,617225.235,459005.5995,579586.74,579586.74,496013.0682,375730.07489999995,558492.6051599999,974115.009,276463.11684,351609.13181999995,662779.722,662779.722,662779.722,662779.722,1742624.1316,1742624.1316 +2955600.0,665501.0190000001,485008.9110000001,1416226.02012,328822.41029,328822.41029,328822.41029,150666.0785,1201977.3244,2017319.9871999999,1027391.06778,1565548.29376,666041.478,666041.478,666041.478,511635.516,665501.0190000001,665501.0190000001,584391.1808799999,406895.12864999997,604816.9566599999,1054913.2965,299394.44034,380773.46606999997,713056.0619999999,713056.0619999999,713056.0619999999,713056.0619999999,2000939.73046,2000939.73046 +2959200.0,843328.479,549214.785,1603707.1722,511162.2849300001,511162.2849300001,511162.2849300001,234012.99949999998,1711107.07608,2160963.21984,1322561.1149100002,2015331.2227200002,727664.4240000001,727664.4240000001,727664.4240000001,705902.652,843328.479,843328.479,842067.0030499999,505704.0033,751688.41972,1311084.453,372098.25428,473239.05494,839487.213,839487.213,839487.213,839487.213,2535607.62686,2535607.62686 +2962800.0,1550475.969,892164.2819999999,2605119.70344,2079150.11051,2079150.11051,2079150.11051,1776624.507,3944216.3325599995,5035132.9395200005,3593659.5387,5476052.6304,1689816.579,1689816.579,1689816.579,2466038.9250000003,1550475.969,1550475.969,3255939.5242399997,2121742.73475,3153800.3118999996,5500814.4975,1561183.5431,1985532.09005,1889261.1120000002,1889261.1120000002,1889261.1120000002,1889261.1120000002,4661764.4134599995,4661764.4134599995 +2966400.0,1540920.729,1454094.75,4245956.67,2781366.58778,2781366.58778,2781366.58778,2657742.843,5059434.74544,4385886.216960001,4018487.4051000006,6123409.379200001,1634527.809,1634527.809,1634527.809,2543547.4995,1540920.729,1540920.729,2760578.94697,2610515.45385,3880321.7363400003,6768003.028500001,1920823.7166600002,2442926.80743,1999080.4439999997,1999080.4439999997,1999080.4439999997,1999080.4439999997,4633034.9918599995,4633034.9918599995 +2970000.0,2196952.191,2321299.308,6778193.979359999,2145628.5177800003,2145628.5177800003,2145628.5177800003,3062124.8245,4975701.532079999,7513283.432320001,4034114.5609800005,6147222.18816,2014815.5040000002,2014815.5040000002,2014815.5040000002,1843510.0075,2196952.191,2196952.191,3195114.88569,2430466.58835,3612693.5461399993,6301209.6735,1788343.31686,2274436.63453,2421309.738,2421309.738,2421309.738,2421309.738,6605502.92094,6605502.92094 +2973600.0,1909656.7349999999,1544358.825,4509527.768999999,1087414.2768500003,1087414.2768500003,1087414.2768500003,1795632.3525,2972940.73296,8779085.19744,2197701.2849399997,3348878.14848,1841030.781,1841030.781,1841030.781,1861703.2349999999,1909656.7349999999,1909656.7349999999,3196173.0087299994,2698960.8159,4011788.6695599994,6997305.819,1985902.03244,2525694.19562,1378277.175,1378277.175,1378277.175,1378277.175,5741701.249899999,5741701.249899999 +2977200.0,1096656.0750000002,1089599.196,3181629.65232,677601.08878,677601.08878,677601.08878,914076.8770000001,2207125.57808,6169794.01728,1518974.78922,2314628.25024,932777.2289999998,932777.2289999998,932777.2289999998,973590.1175000002,1096656.0750000002,1096656.0750000002,1672632.07917,1919451.2651999998,2853110.2756799995,4976355.131999999,1412336.9803199999,1796227.23336,932070.105,932070.105,932070.105,932070.105,3297279.2655,3297279.2655 +2980800.0,1142837.424,1577214.54,4605466.456800001,919813.70371,919813.70371,919813.70371,1278870.0225,2468914.1776799997,4320963.01568,1877307.6978600002,2860659.3491200004,1028635.425,1028635.425,1028635.425,1369607.4385,1142837.424,1142837.424,1471430.7267399998,1237922.1413999998,1840071.92376,3209427.774,910866.16824,1158450.59652,1110209.538,1110209.538,1110209.538,1110209.538,3436131.18816,3436131.18816 +2984400.0,978846.7440000001,1055910.843,3083259.66156,745471.9977100001,745471.9977100001,745471.9977100001,1241682.5155,1897746.2578399999,3080496.27712,1436835.6546600002,2189463.85472,876021.186,876021.186,876021.186,1149009.1130000001,978846.7440000001,978846.7440000001,1139425.40218,1042569.3221999998,1549695.6344799998,2702957.502,767125.0815199999,975638.9459599999,893645.1510000001,893645.1510000001,893645.1510000001,893645.1510000001,2943065.87696,2943065.87696 +2988000.0,831109.6230000001,797035.848,2327344.67616,485086.5397400001,485086.5397400001,485086.5397400001,971696.6455000001,1698989.6892799998,2748853.0636800006,1260210.25368,1920320.3865600002,776300.0430000001,776300.0430000001,776300.0430000001,698605.1765,831109.6230000001,831109.6230000001,986586.6901799998,910493.42355,1353375.40982,2360538.5055,669943.30918,852041.9938899999,792439.3859999999,792439.3859999999,792439.3859999999,792439.3859999999,2498869.59982,2498869.59982 +2991600.0,1025135.124,1423864.545,4157684.4714,1449144.48492,1449144.48492,1449144.48492,1463241.6715,2459505.83256,2836304.89344,1772547.5191199998,2701024.7910399996,877671.3,877671.3,877671.3,1427345.1570000001,1025135.124,1025135.124,1422738.7167500001,1314516.70935,1953923.6025399999,3408006.2835,967224.64046,1230127.98233,1131389.268,1131389.268,1131389.268,1131389.268,3082239.6061599995,3082239.6061599995 +2995200.0,1287194.034,1646720.634,4808424.25128,2120486.52013,2120486.52013,2120486.52013,1554585.4835,3228168.2035199995,4320551.13152,2483814.28029,3784859.8556800005,1355055.717,1355055.717,1355055.717,1969704.2750000001,1287194.034,1287194.034,2064739.17624,1746784.7316,2596455.32944,4528701.156,1285288.51856,1634645.46488,1495292.961,1495292.961,1495292.961,1495292.961,3870163.3955599996,3870163.3955599996 +2998800.0,1206029.547,1630117.9799999997,4759944.501599999,1547454.6877900003,1547454.6877900003,1547454.6877900003,1425634.798,3027341.73456,4338716.07488,2145101.94738,3268726.77696,1232342.7719999999,1232342.7719999999,1232342.7719999999,1700696.8895,1206029.547,1206029.547,1815509.23788,1592753.9165999999,2367500.8834399995,4129362.006,1171952.26456,1490503.04788,1453321.755,1453321.755,1453321.755,1453321.755,3626128.83798,3626128.83798 +3002400.0,2436407.3310000002,2057788.7909999997,6008743.269719999,3788565.2264900003,3788565.2264900003,3788565.2264900003,3170198.521,4159582.4509599996,7677820.18176,4099413.7411499997,6246725.7008,2560661.121,2560661.121,2560661.121,3282475.5285,2436407.3310000002,2436407.3310000002,4431428.60368,3226165.7750999997,4795436.53484,8364133.491,2373820.74316,3019053.89818,2787027.108,2787027.108,2787027.108,2787027.108,7325464.70854,7325464.70854 +3006000.0,1955755.836,1211284.644,3536951.16048,2835326.2285700003,2835326.2285700003,2835326.2285700003,2054491.5545,3220039.5133599997,5943161.321599999,3067947.55407,4674967.70144,1975677.294,1975677.294,1975677.294,2819247.69,1955755.836,1955755.836,1895868.1185599999,2499700.5324,3715604.24816,6480705.084000001,1839285.82384,2339225.9303200003,2232387.039,2232387.039,2232387.039,2232387.039,5880305.88024,5880305.88024 +3009600.0,1521217.974,1136237.8530000001,3317814.53076,2009603.01685,2009603.01685,2009603.01685,1813003.5665,2613836.7152,4945270.591360001,2315596.55208,3528528.0793600003,1454338.917,1454338.917,1454338.917,2025299.2095,1521217.974,1521217.974,1651518.30038,1846288.34325,2744359.4632999995,4786673.4825,1358503.5217,1727761.19035,1635934.2029999997,1635934.2029999997,1635934.2029999997,1635934.2029999997,4573795.375159999,4573795.375159999 +3013200.0,1346143.512,1154905.668,3372324.5505600004,1643137.0544600002,1643137.0544600002,1643137.0544600002,1617891.5969999998,2496759.9517599996,4647570.899840001,2197842.11325,3349092.744,1324758.72,1324758.72,1324758.72,1822966.1905000003,1346143.512,1346143.512,1720677.78389,1759893.42735,2615940.3537399997,4562686.6635,1294933.92926,1646912.61473,1515026.0909999998,1515026.0909999998,1515026.0909999998,1515026.0909999998,4047404.82608,4047404.82608 +3016800.0,947028.8579999999,816015.2549999999,2382764.5445999997,1055847.0963700002,1055847.0963700002,1055847.0963700002,831482.5329999999,1310519.01544,2870525.4963200004,1298295.55716,1978355.1347200004,718001.247,718001.247,718001.247,894829.691,947028.8579999999,947028.8579999999,1196802.00185,824678.47575,1225818.3763,2138055.3075,606800.4587,771736.15385,965521.575,965521.575,965521.575,965521.575,2847400.0997199994,2847400.0997199994 +3020400.0,177308.77500000002,141671.184,413679.85728,199330.25651000004,199330.25651000004,199330.25651000004,77920.3915,304433.66368,1023396.3008000001,366758.01288000005,558869.35296,239812.08000000002,239812.08000000002,239812.08000000002,151955.741,177308.77500000002,177308.77500000002,300019.69516999996,122528.1006,182128.18904,317665.44600000005,90156.47896000001,114662.09908000001,219314.322,219314.322,219314.322,219314.322,533108.3835,533108.3835 +3024000.0,198378.69,149616.477,436880.11283999996,175860.54046000002,175860.54046000002,175860.54046000002,67949.0945,424585.3389600001,1018286.4544000002,377490.32118,575223.3465600001,241553.19899999996,241553.19899999996,241553.19899999996,147191.96099999998,198378.69,198378.69,301638.73155,117612.44955,174821.46821999998,304921.1655,86539.53078,110062.02069,217780.539,217780.539,217780.539,217780.539,596458.5946,596458.5946 +3027600.0,231730.734,189455.181,553209.12852,178876.99247,178876.99247,178876.99247,77852.25,460901.29136,1042185.00544,424303.7148000001,646558.0416000001,278780.454,278780.454,278780.454,150002.82499999998,231730.734,231730.734,342432.42331999994,147563.37404999998,219341.11401999998,382571.7105,108577.49497999999,138090.16978999999,270321.627,270321.627,270321.627,270321.627,696737.0735599999,696737.0735599999 +3031200.0,282746.241,248845.245,726628.1153999999,209249.96576,209249.96576,209249.96576,102615.8875,508544.56032000005,1075006.53824,481538.83806000004,733773.4675200001,363317.046,363317.046,363317.046,235362.4455,282746.241,282746.241,372933.26343,180472.8519,268258.41196,467892.579,132792.37004,168886.94042000003,365884.473,365884.473,365884.473,365884.473,850123.6979399999,850123.6979399999 +3034800.0,345763.854,274830.83400000003,802506.0352800001,221255.89596000002,221255.89596000002,221255.89596000002,102555.103,646286.38568,1118460.7577600002,560134.21611,853537.8531200001,466555.599,466555.599,466555.599,304133.1965,345763.854,345763.854,404254.19411,210145.86945000003,312364.97138,544822.6245,154625.84962000002,196655.02351000003,434859.67499999993,434859.67499999993,434859.67499999993,434859.67499999993,1039596.6543599999,1039596.6543599999 +3038400.0,456508.52100000007,298793.352,872476.5878399999,231392.81297,231392.81297,231392.81297,108937.514,771303.28904,1319418.02432,705852.44226,1075584.6739200002,518271.84900000005,518271.84900000005,518271.84900000005,329365.904,456508.52100000007,456508.52100000007,429856.50617,253593.55664999998,376946.47186,657464.7765,186594.76514,237313.47647,540141.831,540141.831,540141.831,540141.831,1372568.95314,1372568.95314 +3042000.0,550357.344,339010.125,989909.565,251486.08958000003,251486.08958000003,251486.08958000003,131314.6415,919812.5793600001,1525561.73248,835978.9792200001,1273872.7302400002,549968.8019999999,549968.8019999999,549968.8019999999,372071.32200000004,550357.344,550357.344,458550.99406999996,330747.95205,491630.28922000004,857494.6905,243365.15978000002,309514.75019000005,617288.2949999999,617288.2949999999,617288.2949999999,617288.2949999999,1654741.08096,1654741.08096 +3045600.0,732284.508,461669.88899999997,1348076.07588,426060.44899,426060.44899,426060.44899,216950.3525,1500970.5725599998,1832444.0352000003,1156158.5200200002,1761765.3638400002,604160.61,604160.61,604160.61,607277.398,732284.508,732284.508,776697.1982899999,416156.85495,618583.76958,1078925.1795,306209.24142000003,389440.61241000006,737127.957,737127.957,737127.957,737127.957,2201735.42072,2201735.42072 +3049200.0,1433809.095,816137.2110000001,2383120.65612,1952936.7202400002,1952936.7202400002,1952936.7202400002,1624110.4460000002,3778703.8471999997,4814327.7024,3411807.9135,5198945.392,1510537.041,1510537.041,1510537.041,2300157.2125,1433809.095,1433809.095,3053033.5943899998,1897724.87415,2820815.73886,4920027.4515,1396350.64814,1775895.6229700001,1764987.366,1764987.366,1764987.366,1764987.366,4310986.0123,4310986.0123 +3052800.0,1405236.489,1383188.4479999999,4038910.26816,2632372.27198,2632372.27198,2632372.27198,2465112.7060000002,4857960.60296,3998354.782720001,3818009.55627,5817919.323840001,1522904.571,1522904.571,1522904.571,2240657.447,1405236.489,1405236.489,2627237.6084499997,2465761.4919,3665156.5879599997,6392714.979,1814313.3940400002,2307465.69242,1881477.375,1881477.375,1881477.375,1881477.375,4225077.71026,4225077.71026 +3056400.0,2129517.633,2248894.278,6566771.2917599995,1859722.44634,1859722.44634,1859722.44634,2815022.9274999998,4729730.7944,7260679.4912,3830823.94716,5837446.01472,1941814.8329999996,1941814.8329999996,1941814.8329999996,1719662.6545,2129517.633,2129517.633,3013766.8034499995,2204832.7574999994,3277306.962999999,5716233.074999999,1622321.3869999996,2063287.9384999997,2343938.8319999995,2343938.8319999995,2343938.8319999995,2343938.8319999995,6402749.68322,6402749.68322 +3060000.0,1811692.1520000002,1448022.264,4228225.01088,1000203.4971500001,1000203.4971500001,1000203.4971500001,1427701.0685,2750989.19112,8185000.586240001,1964994.44484,2994277.24928,1733940.405,1733940.405,1733940.405,1774972.8639999998,1811692.1520000002,1811692.1520000002,2447752.22276,2552217.9353999994,3793667.1533599994,6616861.313999999,1877928.2586399997,2388371.8457199996,1267235.8020000001,1267235.8020000001,1267235.8020000001,1267235.8020000001,5447154.40368,5447154.40368 +3063600.0,1043404.665,958331.976,2798329.36992,624428.5330800001,624428.5330800001,624428.5330800001,865472.321,2019205.40984,5664455.94496,1400013.3382199998,2133353.65824,873277.0380000001,873277.0380000001,873277.0380000001,894244.491,1043404.665,1043404.665,1141543.89934,1735221.1837499999,2579267.0434999997,4498721.587499999,1276780.0315,1623824.26825,878415.4349999998,878415.4349999998,878415.4349999998,878415.4349999998,3137170.0261,3137170.0261 +3067200.0,1096519.5899999999,1494738.5639999998,4364636.60688,879748.7661600001,879748.7661600001,879748.7661600001,1237671.8375000001,2246647.39264,3709966.2387200003,1775640.4482599997,2705737.8259199997,966801.396,966801.396,966801.396,1312236.7334999999,1096519.5899999999,1096519.5899999999,1359100.0117499998,1164487.73985,1730917.5787399998,3019042.2885,856832.95426,1089730.50223,1059205.545,1059205.545,1059205.545,1059205.545,3296868.9005999994,3296868.9005999994 +3070800.0,888379.479,954393.3030000001,2786828.4447600003,686719.19118,686719.19118,686719.19118,1159684.0885,1722073.8193599998,2764189.34848,1309963.07421,1996134.20832,783126.9870000001,783126.9870000001,783126.9870000001,1029184.6109999999,888379.479,888379.479,1021380.1426399999,942404.30505,1400808.37442,2443270.4205,693423.41458,881904.27559,808843.47,808843.47,808843.47,808843.47,2671060.96686,2671060.96686 +3074400.0,746713.2509999999,647709.753,1891312.4787599999,420889.16397,420889.16397,420889.16397,858499.3445,1520452.04752,2424164.99904,1126031.29359,1715857.20928,682742.748,682742.748,682742.748,617326.2374999999,746713.2509999999,746713.2509999999,863563.2105099999,805496.7199499999,1197306.2355799999,2088324.8295,592686.47542,753785.81941,705296.874,705296.874,705296.874,705296.874,2245117.84134,2245117.84134 +3078000.0,940127.547,1269267.318,3706260.5685599996,1375462.9631600003,1375462.9631600003,1375462.9631600003,1368540.9955,2244454.7295999997,2492907.8636800004,1622165.4981,2471871.2352,777021.288,777021.288,777021.288,1345372.6685,940127.547,940127.547,1292077.6497199999,1204688.9268,1790673.41712,3123267.5880000005,886413.0868800001,1127350.8722400002,1007937.48,1007937.48,1007937.48,1007937.48,2826650.1579799997,2826650.1579799997 +3081600.0,1197843.7619999999,1554894.006,4540290.49752,2011182.08731,2011182.08731,2011182.08731,1456023.7545,2987138.67232,3959868.1209600004,2297271.23745,3500603.7904000003,1248477.372,1248477.372,1248477.372,1858944.577,1197843.7619999999,1197843.7619999999,1951103.4793899998,1639250.9054999999,2436614.9261999996,4249909.755,1206164.8638,1534015.0449,1394304.885,1394304.885,1394304.885,1394304.885,3601516.9110799995,3601516.9110799995 +3085200.0,1120013.892,1551227.1030000001,4529583.14076,1411605.90219,1411605.90219,1411605.90219,1326368.281,2826823.22632,3995975.4899200005,1988315.30772,3029813.80224,1133141.694,1133141.694,1133141.694,1580782.406,1120013.892,1120013.892,1685829.6176800001,1472531.29875,2188799.6095000003,3817673.7375000003,1083492.1655000001,1377998.42525,1357772.532,1357772.532,1357772.532,1357772.532,3367508.4352800003,3367508.4352800003 +3088800.0,2371166.361,1986229.014,5799788.72088,3721277.0113200005,3721277.0113200005,3721277.0113200005,3091712.722,3996915.4004799994,7359609.982080001,3986538.2109,6074724.8928000005,2483203.266,2483203.266,2483203.266,3187005.9165000003,2371166.361,2371166.361,4324341.73145,3117681.8271000003,4634183.85164,8082878.811000001,2293997.9863600004,2917534.35178,2690818.251,2690818.251,2690818.251,2690818.251,7129306.85874,7129306.85874 +3092400.0,1870450.719,1130563.296,3301244.82432,2687421.25234,2687421.25234,2687421.25234,1968773.023,3037779.7651199996,5501147.60192,2909271.2879999997,4433175.296,1872739.7880000002,1872739.7880000002,1872739.7880000002,2619927.7054999997,1870450.719,1870450.719,1761344.2992599998,2330185.96395,3463634.44518,6041222.8695,1714556.58582,2180593.77861,2131831.1969999997,2131831.1969999997,2131831.1969999997,2131831.1969999997,5623821.8284599995,5623821.8284599995 +3096000.0,1456666.764,1085301.348,3169079.9361599996,1813430.06284,1813430.06284,1813430.06284,1734044.8055,2480289.26544,4657760.24832,2191544.71095,3339496.7024000003,1384202.544,1384202.544,1384202.544,1895404.798,1456666.764,1456666.764,1571977.81715,1752319.71675,2604682.6407,4543051.1175,1289361.1742999998,1639825.11765,1526395.977,1526395.977,1526395.977,1526395.977,4379711.40376,4379711.40376 +3099600.0,1294426.308,1112995.6979999999,3249947.43816,1576577.2268400001,1576577.2268400001,1576577.2268400001,1533732.4379999998,2389220.58576,4453862.52032,2109729.36027,3214825.69184,1279052.967,1279052.967,1279052.967,1741840.7125000001,1294426.308,1294426.308,1645677.84927,1685584.27035,2505485.75494,4370033.2935,1240257.06806,1577373.92213,1458499.731,1458499.731,1458499.731,1458499.731,3891908.43272,3891908.43272 +3103200.0,913621.05,790019.868,2306858.01456,1022755.0456200001,1022755.0456200001,1022755.0456200001,808585.505,1266590.37776,2764093.03872,1235796.1492799998,1883117.9417599998,691946.2409999999,691946.2409999999,691946.2409999999,868042.6335,913621.05,913621.05,1158088.62065,795552.4835999999,1182524.92624,2062543.476,585369.48176,744479.97848,932752.8,932752.8,932752.8,932752.8,2746953.9570000004,2746953.9570000004 +3106800.0,170614.56,139243.209,406590.17027999996,195255.95859000002,195255.95859000002,195255.95859000002,76919.661,278878.32008000003,1007739.5782400002,347745.97851,529898.6339199999,236141.649,236141.649,236141.649,149647.9915,170614.56,170614.56,294478.13746,119287.30274999999,177311.00309999997,309263.3775,87771.8919,111629.35244999999,211615.776,211615.776,211615.776,211615.776,512981.1104,512981.1104 +3110400.0,182553.465,146930.757,429037.81044000003,172936.04603000003,172936.04603000003,172936.04603000003,65820.37,354704.84504,1010990.6310400001,363970.57641,554621.83072,236362.149,236362.149,236362.149,146205.2165,182553.465,182553.465,297649.87069999997,115401.35205,171534.84921999997,299188.6905,84912.59978,107992.87019,213951.897,213951.897,213951.897,213951.897,548877.4181,548877.4181 +3114000.0,224057.51700000002,177701.346,518887.93032,173172.10603,173172.10603,173172.10603,75361.3875,449882.66552,1017645.54624,409098.97140000004,623388.9088000001,249804.744,249804.744,249804.744,146042.3895,224057.51700000002,224057.51700000002,336353.46836,141875.19359999997,210886.09023999996,367824.57599999994,104392.11776,132767.15647999998,253885.059,253885.059,253885.059,253885.059,673666.26778,673666.26778 +3117600.0,269768.97,219419.70900000003,640705.5502800001,191822.97464,191822.97464,191822.97464,99697.3845,483113.88904,1039917.65696,462228.39180000004,704348.0256,345114.552,345114.552,345114.552,220932.88350000003,269768.97,269768.97,361425.77614,174505.22145,259388.00818,452420.94450000004,128401.37282,163302.41711,350876.60399999993,350876.60399999993,350876.60399999993,350876.60399999993,811105.3697999999,811105.3697999999 +3121200.0,327030.246,265047.132,773937.62544,213437.51957,213437.51957,213437.51957,100234.841,613705.4811999999,1077313.12,536471.60658,817480.54336,448152.321,448152.321,448152.321,296107.36399999994,327030.246,327030.246,392679.03974,202110.5682,300421.14088,523990.362,148713.45512,189135.56876000002,412773.00899999996,412773.00899999996,412773.00899999996,412773.00899999996,983270.9396399999,983270.9396399999 +3124800.0,427504.6919999999,286407.543,836310.02556,220832.05837,220832.05837,220832.05837,103123.94750000001,733617.3485599998,1223199.5584,668051.6402700001,1017983.4518400001,497492.64600000007,497492.64600000007,497492.64600000007,315215.621,427504.6919999999,427504.6919999999,416061.8013499999,235660.65885,350290.65833999997,610972.0785000001,173399.69466,220531.82643000002,513173.13300000003,513173.13300000003,513173.13300000003,513173.13300000003,1285364.1072799999,1285364.1072799999 +3128400.0,525472.569,312967.734,913865.78328,240906.81241000004,240906.81241000004,240906.81241000004,125302.53749999999,852212.7631199999,1468437.0214400003,792460.4860200001,1207558.83584,528494.298,528494.298,528494.298,345448.474,525472.569,525472.569,438627.58446,309918.85875,460669.5135,803493.3375,228039.0615,290022.83325,590093.553,590093.553,590093.553,590093.553,1579920.85746,1579920.85746 +3132000.0,710921.043,445313.595,1300315.6974,408680.64138,408680.64138,408680.64138,213855.131,1453827.7332000001,1751565.82528,1111632.26664,1693915.8348800002,588924.6810000001,588924.6810000001,588924.6810000001,579048.274,710921.043,710921.043,734066.6059999998,402985.50974999997,599005.6218999999,1044777.2475,296517.7331,377114.83505,718006.797,718006.797,718006.797,718006.797,2137502.6026199996,2137502.6026199996 +3135600.0,1415505.066,803243.5380000001,2345471.13096,1935829.92416,1935829.92416,1935829.92416,1613558.5515,3749438.64944,4772285.130240001,3375295.70238,5143307.73696,1486564.6860000002,1486564.6860000002,1486564.6860000002,2273639.5885,1415505.066,1415505.066,3009101.1755999997,1872020.5326,2782608.29784,4853386.566000001,1377437.3301600001,1751841.43668,1744036.3860000002,1744036.3860000002,1744036.3860000002,1744036.3860000002,4255951.89844,4255951.89844 +3139200.0,1380214.869,1368134.82,3994953.6744,2600703.45139,2600703.45139,2600703.45139,2408295.3685,4808614.75792,3948974.14016,3772007.47224,5747820.91008,1512477.288,1512477.288,1512477.288,2209820.949,1380214.869,1380214.869,2583756.3724700003,2443800.6747,3632513.5954799997,6335779.527000001,1798154.57052,2286914.7054600003,1858017.264,1858017.264,1858017.264,1858017.264,4149846.0394599997,4149846.0394599997 +3142800.0,2107445.523,2229774.384,6510941.20128,1788827.41345,1788827.41345,1788827.41345,2765257.446,4669813.2996000005,7191665.54048,3770652.3481199997,5745755.95904,1923047.31,1923047.31,1923047.31,1685823.454,2107445.523,2107445.523,2885604.02156,2139245.7290999996,3179817.108439999,5546192.630999999,1574062.2895599997,2001911.4353799997,2319726.624,2319726.624,2319726.624,2319726.624,6336386.20582,6336386.20582 +3146400.0,1768647.3480000002,1403830.9139999999,4099186.26888,963324.48641,963324.48641,963324.48641,1341112.808,2670192.61592,8004699.326080002,1882544.05542,2868638.5606400003,1692019.332,1692019.332,1692019.332,1734041.036,1768647.3480000002,1768647.3480000002,2309331.10577,2504180.3102999995,3722263.0785199995,6492319.322999999,1842582.0554799999,2343418.1175399995,1219993.062,1219993.062,1219993.062,1219993.062,5317733.02632,5317733.02632 +3150000.0,994024.1190000001,904527.5160000001,2641220.3467200003,579397.91063,579397.91063,579397.91063,812134.5155,1885502.58688,5333888.741760001,1308767.21451,1994311.9459200003,814855.074,814855.074,814855.074,837360.0515,994024.1190000001,994024.1190000001,1061387.81788,1634122.1151,2428991.39084,4236612.891000001,1202391.08716,1529215.5101800002,823357.158,823357.158,823357.158,823357.158,2988699.18446,2988699.18446 +3153600.0,1045507.824,1445214.237,4220025.57204,842474.49737,842474.49737,842474.49737,1188664.7149999999,2136633.11056,3488458.5779199996,1691871.08727,2578089.2758400002,914204.919,914204.919,914204.919,1262430.855,1045507.824,1045507.824,1280656.98293,1100562.8922,1635898.42248,2853311.202,809796.89352,1029909.47196,1005620.5409999999,1005620.5409999999,1005620.5409999999,1005620.5409999999,3143493.52416,3143493.52416 +3157200.0,833003.2890000001,907970.2139999999,2651273.0248799995,644921.8092900001,644921.8092900001,644921.8092900001,1103334.0885,1615775.4767200002,2562528.3200000003,1225144.5309600001,1866886.9043200002,727745.172,727745.172,727745.172,970546.5140000001,833003.2890000001,833003.2890000001,938056.8781999999,875971.92825,1302061.9773,2271038.3325,644542.3077,819736.6933500001,754447.971,754447.971,754447.971,754447.971,2504563.22226,2504563.22226 +3160800.0,689515.848,583286.235,1703195.8062,375242.20107000007,375242.20107000007,375242.20107000007,782092.9515000001,1397103.28176,2196676.1344000003,1027260.5032200001,1565349.3382400002,622524.45,622524.45,622524.45,561079.6275000001,689515.848,689515.848,771137.52131,729962.23545,1085030.28578,1892494.6845,537108.0152200001,683100.4623100001,644081.556,644081.556,644081.556,644081.556,2073144.31632,2073144.31632 +3164400.0,875994.111,1180104.819,3445906.07148,1317063.6809,1317063.6809,1317063.6809,1295427.707,2092145.6724799997,2237202.89408,1514851.8819,2308345.7248,710665.596,710665.596,710665.596,1280975.2305,875994.111,875994.111,1188162.03454,1122522.8305499998,1668540.1086199998,2910244.3755,825955.0703799999,1050459.63649,923875.095,923875.095,923875.095,923875.095,2633822.29374,2633822.29374 +3168000.0,1133506.569,1493953.674,4362344.72808,1925058.3761200001,1925058.3761200001,1925058.3761200001,1392027.6789999998,2838274.94072,3724906.2630400006,2166793.79133,3301781.01536,1177804.614,1177804.614,1177804.614,1785393.4665,1133506.569,1133506.569,1871262.0729399996,1566820.8634499998,2328953.4809799995,4062128.1645,1152870.66002,1466234.83271,1323935.331,1323935.331,1323935.331,1323935.331,3408076.4174599997,3408076.4174599997 +3171600.0,1058809.527,1494816.8609999998,4364865.234119999,1338832.89397,1338832.89397,1338832.89397,1253339.5105,2688632.0071199997,3753413.7017600005,1875969.2082600002,2858619.74592,1065240.189,1065240.189,1065240.189,1500456.818,1058809.527,1058809.527,1594107.4005999998,1388888.0581500002,2064470.64446,3600820.8915000004,1021947.2625400001,1299724.8741700002,1289534.148,1289534.148,1289534.148,1289534.148,3183487.31118,3183487.31118 +3175200.0,2327013.5760000004,1937023.2389999998,5656107.857879999,3673716.0861500003,3673716.0861500003,3673716.0861500003,3038425.1905,3878484.84912,7150194.962560001,3910062.61359,5958190.6492800005,2431923.642,2431923.642,2431923.642,3125757.6385000004,2327013.5760000004,2327013.5760000004,4224544.510419999,3044756.8021500004,4525786.654060001,7893813.931500001,2240339.5729400003,2849290.93337,2626133.37,2626133.37,2626133.37,2626133.37,6996554.15184,6996554.15184 +3178800.0,1805749.743,1071449.82,3128633.4743999997,2578906.0739200003,2578906.0739200003,2578906.0739200003,1903338.6084999999,2910710.96024,5176874.18496,2787191.11566,4247148.36672,1798558.386,1798558.386,1798558.386,2472495.991,1805749.743,1805749.743,1678126.75862,2211389.23365,3287052.6386599992,5733231.346499999,1627145.6583399998,2069423.5050699997,2047169.2230000002,2047169.2230000002,2047169.2230000002,2047169.2230000002,5429287.56062,5429287.56062 +3182400.0,1364523.105,1007676.2519999999,2942414.6558399997,1657759.64464,1657759.64464,1657759.64464,1622318.4775,2285401.5684,4255642.6944,2025644.39742,3086696.22464,1278467.916,1278467.916,1278467.916,1733959.43,1364523.105,1364523.105,1468415.8476,1617827.17905,2404770.2760199998,4194366.7605,1190401.2329799999,1513966.66879,1405211.643,1405211.643,1405211.643,1405211.643,4102666.1357,4102666.1357 +3186000.0,1190642.9130000002,1019611.1339999998,2977264.5112799997,1433501.98123,1433501.98123,1433501.98123,1396707.186,2174945.22168,4025894.2713600006,1929433.85964,2940089.69088,1165525.4610000001,1165525.4610000001,1165525.4610000001,1576329.5869999998,1190642.9130000002,1190642.9130000002,1503553.4507499998,1535241.9482999998,2282013.9577199994,3980256.9029999995,1129634.81628,1436683.2059399998,1334507.883,1334507.883,1334507.883,1334507.883,3579866.35842,3579866.35842 +3189600.0,839139.321,717831.744,2096068.69248,941887.8574600001,941887.8574600001,941887.8574600001,743711.2655,1137144.80968,2472258.2656,1109829.94248,1691169.43616,620444.226,620444.226,620444.226,786928.9084999999,839139.321,839139.321,1054512.56261,719696.67615,1069771.35566,1865880.2715,529554.59134,673493.92657,847989.057,847989.057,847989.057,847989.057,2523012.22514,2523012.22514 +3193200.0,147927.615,122382.99300000002,357358.33956000005,173554.46218,173554.46218,173554.46218,71663.1685,236160.1684,863916.0204800001,296031.98478,451096.35776000004,204694.98299999998,204694.98299999998,204694.98299999998,130954.90099999998,147927.615,147927.615,256806.57821,103766.81175,154241.0387,269025.0675,76351.8763,97105.23865,183250.49699999997,183250.49699999997,183250.49699999997,183250.49699999997,444769.0291,444769.0291 +3196800.0,149760.108,123280.986,359980.47912000003,150534.27356000003,150534.27356000003,150534.27356000003,53983.2055,255619.55647999997,862918.2048,301226.28270000004,459011.4784,201822.969,201822.969,201822.969,127544.78450000002,149760.108,149760.108,254914.88697999998,97301.44845,144630.79497999998,252263.0145,71594.64602,91054.93570999999,186101.673,186101.673,186101.673,186101.673,450278.72472,450278.72472 +3200400.0,174651.486,147601.71600000001,430997.01071999996,146828.45716000002,146828.45716000002,146828.45716000002,62481.15299999999,292785.8596,865309.4003200001,332240.46135,506271.1792,202477.62000000002,202477.62000000002,202477.62000000002,125602.3405,174651.486,174651.486,282912.82915999996,110191.26194999999,163790.46837999998,285681.04949999996,81079.00261999998,103117.25501,191073.25199999998,191073.25199999998,191073.25199999998,191073.25199999998,525118.8012400001,525118.8012400001 +3204000.0,205473.65400000004,164032.833,478975.87236000004,149174.0063,149174.0063,149174.0063,77535.2935,363189.76352,851292.11968,365605.01460000005,557112.4032000001,205776.86099999998,205776.86099999998,205776.86099999998,135039.1105,205473.65400000004,205473.65400000004,291768.79913999996,134315.72685,199649.54953999998,348225.9585,98829.84346,125692.98883,250724.93699999998,250724.93699999998,250724.93699999998,250724.93699999998,617790.78636,617790.78636 +3207600.0,244700.142,172869.063,504777.66396,160139.7259,160139.7259,160139.7259,85826.3245,407850.5619999999,857135.8982400001,413233.00220999995,629688.38432,289569.339,289569.339,289569.339,212598.5015,244700.142,244700.142,310507.53461,152938.80945,227331.26738,396508.0245,112532.75362,143120.51551,305905.03500000003,305905.03500000003,305905.03500000003,305905.03500000003,735731.7602799999,735731.7602799999 +3211200.0,298055.25899999996,213492.44999999998,623397.9539999999,181383.77466000002,181383.77466000002,181383.77466000002,86736.552,505565.72815999994,871446.6015999999,474286.88768999994,722722.87648,369615.372,369615.372,369615.372,248389.12000000002,298055.25899999996,298055.25899999996,335644.0126,174236.91705,258989.19521999997,451725.34049999993,128203.95377999998,163051.33719,357846.066,357846.066,357846.066,357846.066,896152.8120599999,896152.8120599999 +3214800.0,362597.319,235140.11700000003,686609.14164,192344.56549000004,192344.56549000004,192344.56549000004,95534.59650000001,589191.71328,1019527.1552000002,561389.29161,855450.34912,399315.4170000001,399315.4170000001,399315.4170000001,261204.45750000002,362597.319,362597.319,349457.0146599999,195750.11204999997,290966.83322,507500.29049999994,144033.41577999998,183183.43819,422958.897,422958.897,422958.897,422958.897,1090209.27246,1090209.27246 +3218400.0,554635.086,266282.247,777544.1612399999,310274.68362,310274.68362,310274.68362,182704.396,1076418.0544,1225700.64192,844513.0241100001,1286876.9891200003,441597.36899999995,441597.36899999995,441597.36899999995,401754.3495,554635.086,554635.086,551992.5264099999,272793.65894999995,405485.8831799999,707242.8194999999,200722.24781999996,255280.97960999995,551687.7990000001,551687.7990000001,551687.7990000001,551687.7990000001,1667602.82524,1667602.82524 +3222000.0,1280100.066,625244.547,1825714.07724,1746736.8287600002,1746736.8287600002,1746736.8287600002,1531868.5515,3470708.12808,4221830.54848,3071908.97034,4681004.145280001,1213524.528,1213524.528,1213524.528,1829485.7629999998,1280100.066,1280100.066,2720106.58244,1647516.8987999998,2448901.66192,4271340.108,1212247.00208,1541750.38184,1565004.06,1565004.06,1565004.06,1565004.06,3848834.19844,3848834.19844 +3225600.0,1169347.779,1243328.622,3630519.57624,2307306.2356300005,2307306.2356300005,2307306.2356300005,2048832.7055000002,4315431.71024,3274661.3120000004,3415408.2921,5204431.6832,1345158.8340000003,1345158.8340000003,1345158.8340000003,1873619.8984999997,1169347.779,1169347.779,2320818.1457499997,2220471.1197,3300552.13348,5756776.977000001,1633828.1325200002,2077922.3564600002,1622933.3939999999,1622933.3939999999,1622933.3939999999,1622933.3939999999,3515838.98886,3515838.98886 +3229200.0,1954307.742,2094558.5189999999,6116110.875479999,1462134.6917100002,1462134.6917100002,1462134.6917100002,2249335.1999999997,4201845.44472,6690442.2624,3380831.14803,5151742.70176,1752623.736,1752623.736,1752623.736,1445232.2465000001,1954307.742,1954307.742,2338545.73745,1737516.0636,2582678.19824,4504671.276000001,1278468.6097600001,1625971.82248,2152482.255,2152482.255,2152482.255,2152482.255,5875951.9442799995,5875951.9442799995 +3232800.0,1497711.8879999998,1214070.543,3545085.98556,766526.1565500001,766526.1565500001,766526.1565500001,975561.1845,2232307.04488,6928372.96768,1430087.92248,2179181.59616,1413989.196,1413989.196,1413989.196,1476626.4100000001,1497711.8879999998,1497711.8879999998,1997512.62971,2252025.1071,3347454.60364,5838583.6110000005,1657045.6343600003,2107450.65578,983347.308,983347.308,983347.308,983347.308,4503120.40992,4503120.40992 +3236400.0,803809.2329999999,748454.91,2185488.3372,445500.90981000004,445500.90981000004,445500.90981000004,630286.027,1492531.38128,3762730.88768,995343.9404999999,1516714.576,615373.923,615373.923,615373.923,632120.1285000001,803809.2329999999,803809.2329999999,820670.30487,1142934.7374,1698880.7701599998,2963164.134,840974.20184,1069561.14932,626709.162,626709.162,626709.162,626709.162,2416786.4272199995,2416786.4272199995 +3240000.0,865271.3940000001,1271494.5929999999,3712764.2115599997,731458.63362,731458.63362,731458.63362,1019491.928,1782916.42272,2883722.9580800007,1432997.18121,2183614.75232,731615.6880000001,731615.6880000001,731615.6880000001,1111806.4335,865271.3940000001,865271.3940000001,1003432.34433,903614.3973,1343150.28932,2342703.993,664881.70468,845604.58414,835916.862,835916.862,835916.862,835916.862,2601582.65796,2601582.65796 +3243600.0,642342.513,680506.326,1987078.47192,490666.77429000003,490666.77429000003,490666.77429000003,911505.5390000001,1265684.3484800002,1871221.3017600002,932581.4328600001,1421076.4691200003,536550.3,536550.3,536550.3,680699.2080000001,642342.513,642342.513,668146.77293,642598.90785,955171.70994,1665997.1685,472825.86306,601345.64463,563913.285,563913.285,563913.285,563913.285,1931309.8224199999,1931309.8224199999 +3247200.0,478948.971,390603.12899999996,1140561.13668,188531.89124000003,188531.89124000003,188531.89124000003,463445.5035,975325.1899199999,1362672.9440000001,675655.3450499999,1029570.0495999999,404069.32200000004,404069.32200000004,404069.32200000004,343614.4355,478948.971,478948.971,490660.5290599999,443573.0586,659335.7562399999,1150004.226,326382.15176,415096.76348,416642.49000000005,416642.49000000005,416642.49000000005,416642.49000000005,1440039.90614,1440039.90614 +3250800.0,545725.362,684792.8369999999,1999595.0840399999,975428.36116,975428.36116,975428.36116,886842.2499999999,1272701.26032,898556.85248,962849.09637,1467198.62304,363420.798,363420.798,363420.798,920622.22,545725.362,545725.362,763386.1245399999,664493.3171999999,987715.9924799999,1722760.452,488935.82352,621834.48696,463170.765,463170.765,463170.765,463170.765,1640814.2550799998,1640814.2550799998 +3254400.0,928378.341,1338019.908,3907018.13136,1498532.9337000002,1498532.9337000002,1498532.9337000002,1222424.861,2404358.4731199997,3059438.8966400004,1717495.4640900001,2617135.94528,990652.5390000001,990652.5390000001,990652.5390000001,1568302.7115,928378.341,928378.341,1435153.5816799998,1351527.2455499999,2008936.7946199998,3503959.5255,994457.0843799999,1264762.53349,1085421.162,1085421.162,1085421.162,1085421.162,2791324.21194,2791324.21194 +3258000.0,949989.2550000001,1319372.5860000001,3852567.9511200003,1173382.2617000001,1173382.2617000001,1173382.2617000001,1150266.4880000001,2477972.05272,3338079.67872,1678375.23651,2557524.16992,912764.658,912764.658,912764.658,1361329.2455,949989.2550000001,949989.2550000001,1337286.47416,1236602.25855,1838110.02382,3206005.8555,909894.99518,1157215.44689,1139178.537,1139178.537,1139178.537,1139178.537,2856301.0267000003,2856301.0267000003 +3261600.0,2263803.795,1871239.5389999999,5464019.453879999,3570859.25779,3570859.25779,3570859.25779,2964964.233,3613345.2108,6821918.15168,3802939.6616399996,5794955.67488,2357994.0990000004,2357994.0990000004,2357994.0990000004,3038950.0154999997,2263803.795,2263803.795,3911213.36632,2898019.81035,4307673.89094,7513384.6935,2132370.13206,2711974.09413,2523166.404,2523166.404,2523166.404,2523166.404,6806503.4103,6806503.4103 +3265200.0,1708421.2920000004,1003705.581,2930820.29652,2302210.26189,2302210.26189,2302210.26189,1830567.6900000004,2761950.83608,4695321.12,2566862.48364,3911409.4988800003,1704922.2330000002,1704922.2330000002,1704922.2330000002,2097323.823,1708421.2920000004,1708421.2920000004,1564382.28362,2000069.41095,2972942.67998,5185365.1395,1471656.01102,1871669.8932100001,1857817.47,1857817.47,1857817.47,1857817.47,5136653.35128,5136653.35128 +3268800.0,1292315.799,957450.9839999999,2795756.87328,1417083.8902,1417083.8902,1417083.8902,1469130.915,2141544.40456,3935542.1817600005,1894323.92793,2886588.8425600003,1149983.298,1149983.298,1149983.298,1542212.308,1292315.799,1292315.799,1382873.4607999998,1505160.1318499998,2237299.7515399996,3902267.0084999995,1107500.5414599997,1408532.5678299998,1322992.401,1322992.401,1322992.401,1322992.401,3885562.83566,3885562.83566 +3272400.0,1140488.367,976805.574,2852272.27608,1348986.0991200001,1348986.0991200001,1348986.0991200001,1311183.979,2086796.7463999998,3861159.32096,1840163.4522600002,2804058.5939200004,1125075.102,1125075.102,1125075.102,1503733.546,1140488.367,1140488.367,1414298.99455,1469210.5944,2183863.64896,3809064.504,1081048.7830400001,1374890.90192,1279635.7619999999,1279635.7619999999,1279635.7619999999,1279635.7619999999,3429068.3567799996,3429068.3567799996 +3276000.0,809680.8990000001,697427.637,2036488.7000399998,882588.1894500001,882588.1894500001,882588.1894500001,722500.114,1099318.77344,2401212.1376,1073255.64654,1635437.17568,604744.551,604744.551,604744.551,765179.352,809680.8990000001,809680.8990000001,1006328.76279,697674.2665500001,1037036.81102,1808785.1355,513350.44798000006,652885.3012900001,819791.559,819791.559,819791.559,819791.559,2434440.56966,2434440.56966 +3279600.0,139036.833,118577.394,346245.99048000004,153850.24908,153850.24908,153850.24908,69839.161,227123.59184000004,838895.9372800001,268058.03030999994,408469.37951999996,198983.838,198983.838,198983.838,127332.4185,139036.833,139036.833,248459.6361,99589.7511,148032.17323999997,258195.65099999998,73278.38476,93196.33498,173117.51400000002,173117.51400000002,173117.51400000002,173117.51400000002,418037.41122,418037.41122 +3283200.0,141038.877,118127.562,344932.48104,142841.89216000002,142841.89216000002,142841.89216000002,49633.8815,239918.24928,831893.40608,283162.82168999995,431486.20447999996,195109.58099999998,195109.58099999998,195109.58099999998,122887.78600000001,141038.877,141038.877,245453.94406,93079.13715,138354.66806,241316.2815,68487.85894,87103.68637000001,174662.32200000001,174662.32200000001,174662.32200000001,174662.32200000001,424056.89018,424056.89018 +3286800.0,154688.709,140021.31900000002,408862.25148,139380.80893000003,139380.80893000003,139380.80893000003,59815.405999999995,266525.97255999997,837713.5968,305071.89006,464871.45152000006,194968.41600000003,194968.41600000003,194968.41600000003,121740.52100000001,154688.709,154688.709,269319.55752,101963.63429999999,151560.76012,264350.163,75025.09388,95417.82074,180323.835,180323.835,180323.835,180323.835,465097.38505999994,465097.38505999994 +3290400.0,189617.184,156589.929,457242.59268,141541.87311000002,141541.87311000002,141541.87311000002,70591.5595,319231.97255999997,848994.56832,349156.97124000004,532048.71808,202239.906,202239.906,202239.906,128259.2815,189617.184,189617.184,285812.95612999995,126238.41089999999,187643.26755999998,327284.769,92886.53444,118134.21661999999,226499.583,226499.583,226499.583,226499.583,570115.66656,570115.66656 +3294000.0,234666.066,170727.88799999998,498525.43295999995,154100.24476,154100.24476,154100.24476,85187.039,401228.28816,861579.8451200002,398777.74923,607661.33216,279014.508,279014.508,279014.508,203449.5575,234666.066,234666.066,310213.67247,150162.08084999997,223203.88313999993,389309.0984999999,110489.62985999999,140522.04602999997,297459.429,297459.429,297459.429,297459.429,705562.6384399999,705562.6384399999 +3297600.0,281619.129,192165.672,561123.76224,171200.16254000002,171200.16254000002,171200.16254000002,86295.23,501798.0288,877941.39584,460159.95878999995,701196.1276799999,370210.374,370210.374,370210.374,249834.781,281619.129,281619.129,336323.98306,171385.29989999998,254750.49516,444332.259,126105.72684,160382.78682,345256.626,345256.626,345256.626,345256.626,846734.84786,846734.84786 +3301200.0,350888.73,234901.515,685912.4238,188558.66370000003,188558.66370000003,188558.66370000003,93169.587,588814.6945600001,959293.2230400001,546967.50087,833474.2870400001,406073.595,406073.595,406073.595,262413.641,350888.73,350888.73,351738.16197,192211.16129999998,285706.46692,498325.23299999995,141429.44707999998,179871.67933999997,416923.64400000003,416923.64400000003,416923.64400000003,416923.64400000003,1055005.4482,1055005.4482 +3304800.0,551752.7999999999,271540.35,792897.8219999999,306246.4988,306246.4988,306246.4988,181448.0465,1090596.61664,1252354.0524800003,839688.6317400001,1279525.5340800001,458789.562,458789.562,458789.562,401698.72750000004,551752.7999999999,551752.7999999999,560096.17391,272354.9427,404833.76668,706105.407,200399.43932,254870.42786000003,556438.686,556438.686,556438.686,556438.686,1658936.7519999996,1658936.7519999996 +3308400.0,1271506.266,627218.61,1831478.3412,1731992.1223000002,1731992.1223000002,1731992.1223000002,1520465.296,3460598.2062400007,4229907.305600001,3035336.24415,4625274.2768,1220283.051,1220283.051,1220283.051,1828646.1515000002,1271506.266,1271506.266,2650320.5723800003,1638413.1387,2435369.65308,4247737.767,1205548.43292,1533231.0606600002,1559876.3879999998,1559876.3879999998,1559876.3879999998,1559876.3879999998,3822995.50644,3822995.50644 +3312000.0,1143243.03,1229418.033,3589900.65636,2237972.37334,2237972.37334,2237972.37334,2016582.5680000004,4278023.531839999,3232116.17088,3366264.9740999998,5129546.627199999,1333384.191,1333384.191,1333384.191,1851447.633,1143243.03,1143243.03,2278739.83766,2198812.56615,3268358.4316599993,5700625.171499999,1617891.7153399999,2057654.2285699998,1597024.878,1597024.878,1597024.878,1597024.878,3437350.7102,3437350.7102 +3315600.0,1921174.935,2066246.535,6033439.8822,1391180.8229000003,1391180.8229000003,1391180.8229000003,2159880.4185,4121840.53992,6581724.819840002,3298431.6378300004,5026181.5433600005,1724183.1119999997,1724183.1119999997,1724183.1119999997,1396943.961,1921174.935,1921174.935,2169399.52853,1680604.7751,2498084.13484,4357123.491,1236593.14316,1572714.09818,2117278.2930000005,2117278.2930000005,2117278.2930000005,2117278.2930000005,5776332.6378999995,5776332.6378999995 +3319200.0,1450498.3530000001,1161591.213,3391846.34196,722402.5213900001,722402.5213900001,722402.5213900001,927511.0495,2148058.91288,6797778.576,1352444.88519,2060868.39648,1387895.4479999999,1387895.4479999999,1387895.4479999999,1435168.392,1450498.3530000001,1450498.3530000001,1918714.0649299999,2208454.3970999997,3282690.23964,5725622.511,1624986.19836,2066677.07778,939417.861,939417.861,939417.861,939417.861,4361165.04802,4361165.04802 +3322800.0,772658.94,722853.135,2110731.1542,417448.17026000004,417448.17026000004,417448.17026000004,603233.1410000001,1440749.3802399999,3588179.46816,951395.0025299999,1449744.76576,597673.167,597673.167,597673.167,601961.6014999999,772658.94,772658.94,769322.4197099999,1071033.43095,1592005.24798,2776753.3395000002,788069.0430200001,1002275.7292100001,602476.335,602476.335,602476.335,602476.335,2323127.8795999996,2323127.8795999996 +3326400.0,828105.4709999999,1243683.8279999997,3631556.7777599995,701489.06652,701489.06652,701489.06652,984537.7814999998,1727214.6604,2782898.73792,1372036.79487,2090722.7350400004,704819.298,704819.298,704819.298,1083396.902,828105.4709999999,828105.4709999999,953220.5042099998,867310.2945,1289187.1538,2248582.245,638169.0562,811631.1151,800472.156,800472.156,800472.156,800472.156,2489837.1161399996,2489837.1161399996 +3330000.0,633765.978,674397.378,1969240.3437599998,494686.69294,494686.69294,494686.69294,903198.4710000001,1256186.7097599998,1877548.7507200004,927327.2477699999,1413070.09184,539351.7,539351.7,539351.7,681196.8765,633765.978,633765.978,666070.20454,641084.4953999999,952920.6573599998,1662070.9139999999,471711.55464,599928.45372,562879.428,562879.428,562879.428,562879.428,1905523.0405199998,1905523.0405199998 +3333600.0,508158.93,426784.36500000005,1246210.3458,234283.42465000003,234283.42465000003,234283.42465000003,491512.294,1038667.99072,1520791.64672,733598.1792299999,1117863.8921599998,445446.36600000004,445446.36600000004,445446.36600000004,384160.7315,508158.93,508158.93,533338.70187,498697.53164999996,741273.86186,1292919.5265,366942.87514,466682.38147,457357.62599999993,457357.62599999993,457357.62599999993,457357.62599999993,1527864.5162,1527864.5162 +3337200.0,682568.13,842780.529,2460919.14468,1113793.94522,1113793.94522,1113793.94522,1069765.0669999998,1573574.15336,1521522.75008,1211307.3440999999,1845801.6672,525575.589,525575.589,525575.589,1092662.529,682568.13,682568.13,937699.0238199999,885640.8942,1316434.11928,2296106.022,651656.75672,828784.93556,633036.54,633036.54,633036.54,633036.54,2052254.8442,2052254.8442 +3340800.0,905768.1510000001,1291852.989,3772210.72788,1567835.09476,1567835.09476,1567835.09476,1178099.993,2292809.23464,2962331.6,1683947.78622,2566015.6742399996,950806.368,950806.368,950806.368,1543326.3825,905768.1510000001,905768.1510000001,1517496.7364700001,1306606.5611999999,1942165.8020799998,3387498.4919999996,961404.3339199999,1222725.64616,1062943.368,1062943.368,1062943.368,1062943.368,2723342.90734,2723342.90734 +3344400.0,871166.5800000001,1237050.3990000002,3612187.16508,1098528.07526,1098528.07526,1098528.07526,1056465.5745,2300593.73272,3046319.89056,1548063.3144899998,2358953.6220799997,845514.2999999999,845514.2999999999,845514.2999999999,1269715.384,871166.5800000001,871166.5800000001,1245019.8564699998,1134967.5693,1687038.21412,2942508.5130000003,835111.9398800001,1062105.45374,1056114.774,1056114.774,1056114.774,1056114.774,2619307.5172,2619307.5172 +3348000.0,2189471.367,1798522.359,5251685.28828,3498430.6285500005,3498430.6285500005,3498430.6285500005,2875602.2015,3453882.8077599998,6477419.6851200005,3678509.02293,5605347.08256,2279003.442,2279003.442,2279003.442,2944182.4615,2189471.367,2189471.367,3806705.0773699996,2778271.164,4129677.1375999996,7202925.24,2044258.7824,2599913.0152000003,2432126.028,2432126.028,2432126.028,2432126.028,6583010.57678,6583010.57678 +3351600.0,1615699.488,916680.6059999999,2676707.3695199997,2176762.97586,2176762.97586,2176762.97586,1729368.963,2564647.14272,4304523.281280001,2384200.2878400004,3633067.1052800003,1603331.892,1603331.892,1603331.892,1922865.7769999998,1615699.488,1615699.488,1433357.23427,1859469.5502,2763952.26968,4820846.982,1368202.28632,1740096.19636,1733896.3800000004,1733896.3800000004,1733896.3800000004,1733896.3800000004,4857869.793919999,4857869.793919999 +3355200.0,1192948.194,882156.558,2575897.1493599997,1308109.7134600002,1308109.7134600002,1308109.7134600002,1333396.5995,1956253.2115999998,3559904.79616,1734688.1871900002,2643334.3804800003,1041327.699,1041327.699,1041327.699,1404947.523,1192948.194,1192948.194,1273169.51086,1373239.41705,2041210.1952199999,3560250.3405,1010432.95378,1285080.83719,1208944.968,1208944.968,1208944.968,1208944.968,3586797.5699599995,3586797.5699599995 +3358800.0,1041920.286,887026.908,2590118.57136,1237449.9347100002,1237449.9347100002,1237449.9347100002,1194676.7035,1895077.8800799998,3474600.80896,1673404.24881,2549949.33152,1020188.76,1020188.76,1020188.76,1357862.7405,1041920.286,1041920.286,1269237.5330700001,1331716.0670999996,1979489.0676399996,3452597.2109999997,979879.9703599998,1246223.1837799998,1163294.9819999998,1163294.9819999998,1163294.9819999998,1163294.9819999998,3132706.9932399997,3132706.9932399997 +3362400.0,735517.062,623596.725,1820902.437,803506.66495,803506.66495,803506.66495,656232.64,966966.17016,2123609.7753600003,959032.6380600001,1461383.0675200003,537707.385,537707.385,537707.385,684080.1065,735517.062,735517.062,903103.24793,623210.5939499999,926352.5371799999,1615731.1694999998,458559.89381999994,583202.01261,738617.979,738617.979,738617.979,738617.979,2211454.63308,2211454.63308 +3366000.0,122837.196,105243.29999999999,307310.436,126456.90244000002,126456.90244000002,126456.90244000002,65355.185,193227.1456,727526.71232,220339.50435,335755.4352,174524.085,174524.085,174524.085,113212.3545,122837.196,122837.196,214894.35460999998,87451.48800000001,129989.6192,226726.08000000002,64347.020800000006,81837.31840000002,150252.618,150252.618,150252.618,150252.618,369330.50263999996,369330.50263999996 +3369600.0,121384.06499999999,102644.90999999997,299723.13719999994,115088.93660000002,115088.93660000002,115088.93660000002,44138.979499999994,206333.03416,713290.41728,236251.94418,360002.96256,169213.05,169213.05,169213.05,106786.4245,121384.06499999999,121384.06499999999,214216.20233,79679.9349,118437.82916,206577.609,58628.69284,74564.67982,149228.535,149228.535,149228.535,149228.535,364961.42209999997,364961.42209999997 +3373200.0,129331.41,114882.954,335458.22568,119074.46782,119074.46782,119074.46782,48016.6855,215350.3212,715695.98528,249596.529,380337.568,168598.179,168598.179,168598.179,106249.5665,129331.41,129331.41,221501.29845999996,80589.2733,119789.48771999999,208935.153,59297.78628,75415.64094,154058.72100000002,154058.72100000002,154058.72100000002,154058.72100000002,388856.4394,388856.4394 +3376800.0,139822.329,129004.17899999999,376692.20268,116271.60941,116271.60941,116271.60941,49770.332500000004,220747.84775999998,725507.47136,277616.28635999997,423034.34112,169871.109,169871.109,169871.109,106746.157,139822.329,139822.329,246109.09973,96538.72005,143497.06042,250285.5705,71033.42858,90341.17259,161803.04700000002,161803.04700000002,161803.04700000002,161803.04700000002,420399.13586,420399.13586 +3380400.0,171981.204,144955.305,423269.49059999996,126967.33742000001,126967.33742000001,126967.33742000001,71690.9165,245209.5112,743148.0748800001,314941.04355,479910.1616,178617.34199999998,178617.34199999998,178617.34199999998,123613.35699999999,171981.204,171981.204,255218.42683999997,116345.87684999999,172938.80953999996,301637.45849999995,85607.58346,108876.75882999999,214662.47099999996,214662.47099999996,214662.47099999996,214662.47099999996,517090.15336,517090.15336 +3384000.0,209424.18000000005,151938.882,443661.53544,134932.22567,134932.22567,134932.22567,75369.97649999999,323472.24471999996,739447.8956800002,353162.80419,538152.84448,256459.473,256459.473,256459.473,186935.9135,209424.18000000005,209424.18000000005,270633.53407999995,133389.20834999997,198272.35413999995,345823.8735,98148.10886,124825.95052999999,257137.773,257137.773,257137.773,257137.773,629668.7012000001,629668.7012000001 +3387600.0,258359.478,170150.43300000002,496839.26436000003,151901.77321,151901.77321,151901.77321,83509.03749999999,433016.96744000004,750919.68064,411842.59011,627569.6611200001,305841.543,305841.543,305841.543,219452.8105,258359.478,258359.478,298934.10703,152174.69999999998,226195.47999999998,394527.0,111970.52,142405.46,304289.226,304289.226,304289.226,304289.226,776800.83052,776800.83052 +3391200.0,334446.08999999997,193574.74200000003,565238.24664,253411.72868000003,253411.72868000003,253411.72868000003,163417.38,565646.94736,887617.2409600001,529302.68874,806556.47808,358259.30999999994,358259.30999999994,358259.30999999994,262249.6275,334446.08999999997,334446.08999999997,329638.37646999996,197842.0545,294076.3378,512923.845,145572.6722,185141.0831,388702.842,388702.842,388702.842,388702.842,1005567.9106,1005567.9106 +3394800.0,1097283.729,1103104.23,3221064.3516,1088472.83908,1088472.83908,1088472.83908,1076061.8469999998,1637884.58376,1620025.8528,1450381.87749,2210105.71808,671923.647,671923.647,671923.647,1633133.3515,1097283.729,1097283.729,2133015.38502,618823.5286499999,919831.5166599998,1604357.2965,455331.88034,579096.58607,1489029.8760000002,1489029.8760000002,1489029.8760000002,1489029.8760000002,3299166.41186,3299166.41186 +3398400.0,2031617.793,1773023.1749999998,5177227.671,2642619.6325100004,2642619.6325100004,2642619.6325100004,1862645.8060000003,3009810.5568,3326037.3465600004,2996647.8330600006,4566320.50752,1231364.298,1231364.298,1231364.298,1857606.5515,2031617.793,2031617.793,3016685.6605599998,1582423.3345499998,2352145.30222,4102579.0154999997,1164350.99678,1480835.66369,2214375.0330000003,2214375.0330000003,2214375.0330000003,2214375.0330000003,6108397.49762,6108397.49762 +3402000.0,2109160.482,2023370.187,5908240.946039999,2472613.86031,2472613.86031,2472613.86031,2179002.1750000003,3465781.25296,8193677.56032,2644496.95251,4029709.6419200003,2127568.302,2127568.302,2127568.302,2073070.7200000002,2109160.482,2109160.482,1835280.37732,3058732.4975999994,4546560.40384,7930047.215999999,2250622.92416,2862369.42368,1667327.19,1667327.19,1667327.19,1667327.19,6341542.515879999,6341542.515879999 +3405600.0,1539926.463,1319122.002,3851836.24584,1636690.20702,1636690.20702,1636690.20702,2310933.7125,3007485.4016799997,5202865.07968,3024556.87716,4608848.57472,2108117.8649999998,2108117.8649999998,2108117.8649999998,2332020.292,1539926.463,1539926.463,1637058.1176299998,2728096.4105999996,4055096.393039999,7072842.545999999,2007340.0749599996,2552959.3570799995,1678803.354,1678803.354,1678803.354,1678803.354,4630045.56542,4630045.56542 +3409200.0,1184962.782,969942.1680000001,2832231.1305600004,1598753.6271300002,1598753.6271300002,1598753.6271300002,2053472.2179999999,3105721.0578400004,5717274.36288,2363826.71511,3602021.6611200003,1005840.456,1005840.456,1005840.456,2012216.493,1184962.782,1184962.782,967630.2733499999,1959835.7105999999,2913138.5130399996,5081055.546,1442051.95496,1834019.09708,1335799.6979999999,1335799.6979999999,1335799.6979999999,1335799.6979999999,3562788.09788,3562788.09788 +3412800.0,974700.6900000002,830329.344,2424561.6844800003,1159525.2059600002,1159525.2059600002,1159525.2059600002,1380358.0,2383281.1364,2763652.83392,1806120.23571,2752183.21632,918094.842,918094.842,918094.842,1296961.3475000001,974700.6900000002,974700.6900000002,933164.2664499999,1257739.4393999998,1869528.7469599997,3260805.954,925447.7850399999,1176995.6729199998,1015916.1000000001,1015916.1000000001,1015916.1000000001,1015916.1000000001,2930600.0746000004,2930600.0746000004 +3416400.0,635009.829,487502.88899999997,1423508.4358799998,505873.34028,505873.34028,505873.34028,653103.8465,1320705.34784,1676057.4828800003,1021034.54145,1555862.1584,550958.7509999999,550958.7509999999,550958.7509999999,783345.682,635009.829,635009.829,505340.94727999996,683588.9619,1016100.13596,1772267.6790000002,502986.44604000007,639704.2384200001,636250.944,636250.944,636250.944,636250.944,1909262.8858599998,1909262.8858599998 +3420000.0,500127.0660000001,388256.79299999995,1133709.8355599998,317474.33454000007,317474.33454000007,317474.33454000007,514073.1435,960388.5139199999,1278862.8678400002,760761.44235,1159255.5312,433150.326,433150.326,433150.326,566436.3635,500127.0660000001,500127.0660000001,355992.2269799999,505206.0639,750948.27276,1309793.499,371731.86924,472773.08202000003,481152.936,481152.936,481152.936,481152.936,1503715.3784400001,1503715.3784400001 +3423600.0,580980.453,467943.099,1366393.8490799998,426521.10380000004,426521.10380000004,426521.10380000004,603402.3135,1092938.13544,1606105.61088,893055.5480700001,1360846.5494400002,515604.4110000001,515604.4110000001,515604.4110000001,659659.182,580980.453,580980.453,466911.63505999994,624942.6250499999,928927.0624199999,1620221.6205,459834.32658,584822.85159,566411.436,566411.436,566411.436,566411.436,1746814.56202,1746814.56202 +3427200.0,957909.087,844717.7309999999,2466575.77452,1074604.8106200001,1074604.8106200001,1074604.8106200001,1055239.1290000002,1808929.5405599999,3173305.68,1537461.85089,2342799.01088,901981.3139999999,901981.3139999999,901981.3139999999,1207935.6135,957909.087,957909.087,1089724.74962,1198373.3041500002,1781285.75086,3106893.7515000002,881766.0361400001,1121440.6969700002,1037861.8200000001,1037861.8200000001,1037861.8200000001,1037861.8200000001,2880113.32158,2880113.32158 +3430800.0,1009717.53,902266.677,2634618.69684,1197679.8279600001,1197679.8279600001,1197679.8279600001,1134605.2165,1946305.5074399998,3422779.0425600004,1675567.26771,2553245.36032,973960.122,973960.122,973960.122,1283432.08,1009717.53,1009717.53,1275180.80274,1278388.9556999998,1900222.5958799997,3314341.7369999997,940641.75012,1196319.5412599999,1110198.2340000002,1110198.2340000002,1110198.2340000002,1110198.2340000002,3035884.0402,3035884.0402 +3434400.0,1018510.302,902215.308,2634468.69936,1262660.0885800002,1262660.0885800002,1262660.0885800002,1183334.6665,1972388.7987199996,3419358.2944000005,1711359.06984,2607785.24928,999694.9950000001,999694.9950000001,999694.9950000001,1294870.353,1018510.302,1018510.302,1280465.6555599999,1290190.7083499997,1917764.9541399996,3344938.8734999998,949325.5088599998,1207363.6505299998,1123586.508,1123586.508,1123586.508,1123586.508,3062320.97468,3062320.97468 +3438000.0,1011574.251,895421.4299999999,2614630.5756,1255287.7434900003,1255287.7434900003,1255287.7434900003,1176185.773,1957477.6902399997,3388512.34112,1699490.73105,2589700.1616,992947.5449999999,992947.5449999999,992947.5449999999,1283545.8265,1011574.251,1011574.251,1270902.6011499998,1279688.0256,1902153.55904,3317709.696,941597.60896,1197535.21408,1121512.794,1121512.794,1121512.794,1121512.794,3041466.58134,3041466.58134 +3441600.0,1012408.9800000001,898801.7850000001,2624501.2122000004,1243052.90021,1243052.90021,1243052.90021,1166461.9224999999,1959796.39216,3404339.3465600004,1699612.07997,2589885.07424,996775.0350000001,996775.0350000001,996775.0350000001,1285260.3399999999,1012408.9800000001,1012408.9800000001,1273163.07989,1280439.3370499997,1903270.3232199997,3319657.5404999997,942150.4257799999,1198238.2931899999,1124711.847,1124711.847,1124711.847,1124711.847,3043976.3332,3043976.3332 +3445200.0,952396.521,801115.0170000001,2339255.84964,1012083.4852700001,1012083.4852700001,1012083.4852700001,876655.1395,1590615.1974399998,2413821.81824,1375728.0789,2096347.5488000002,771722.2920000001,771722.2920000001,771722.2920000001,998270.0244999999,952396.521,952396.521,1201553.0841599999,1001127.3853499999,1488095.5209399997,2595515.4435,736632.00206,936857.47913,962910.318,962910.318,962910.318,962910.318,2863538.87314,2863538.87314 +3448800.0,419646.80700000003,286362.231,836177.71452,527473.8111500001,527473.8111500001,527473.8111500001,362720.575,754281.2191199999,954760.3539200001,636019.56327,969172.6678400001,337269.516,337269.516,337269.516,432599.2055,419646.80700000003,419646.80700000003,679830.06091,221691.4839,329526.60075999994,574755.699,163121.14124,207459.43802,520063.85399999993,520063.85399999993,520063.85399999993,520063.85399999993,1261738.06638,1261738.06638 +3452400.0,146837.44199999998,102458.58299999998,299179.06236,156956.33063,156956.33063,156956.33063,63819.66500000001,284126.38936000003,704836.45056,278182.75842,423897.53664000006,192935.13900000002,192935.13900000002,192935.13900000002,113436.55399999999,146837.44199999998,146837.44199999998,213512.93222999995,88064.43525,130900.71609999999,228315.2025,64798.0289,82410.91595,157165.539,157165.539,157165.539,157165.539,441491.24227999995,441491.24227999995 +3456000.0,144787.38,109433.058,319544.52936,134905.72997000001,134905.72997000001,134905.72997000001,49202.807499999995,304190.22912000003,705746.1491200001,270811.49256,412665.13152,191788.34100000001,191788.34100000001,191788.34100000001,108246.362,144787.38,144787.38,212630.02787000002,81643.94595,121357.17397999999,211669.4895,60073.81702,76402.60621,153598.47,153598.47,153598.47,153598.47,435327.3892,435327.3892 +3459600.0,154052.63400000002,121781.67899999999,355602.50268,130673.57710000002,130673.57710000002,130673.57710000002,51480.653,309129.61936,719669.0566400001,279062.98728,425238.83776,192647.085,192647.085,192647.085,107130.835,154052.63400000002,154052.63400000002,218814.92789,94067.69355,139824.07782,243879.2055,69215.24118,88028.77989,155839.11599999998,155839.11599999998,155839.11599999998,155839.11599999998,463184.91956,463184.91956 +3463200.0,160611.27000000002,149592.81,436811.0052,133988.05079,133988.05079,133988.05079,61200.07950000001,311417.15319999994,753987.9603200001,300139.93842,457356.09664000006,196700.355,196700.355,196700.355,109141.8895,160611.27000000002,160611.27000000002,246272.28379,101415.54375,150746.06749999998,262929.1875,74621.8075,94904.91625,180638.004,180638.004,180638.004,180638.004,482904.5518,482904.5518 +3466800.0,183306.45299999998,165612.94199999998,483589.79063999996,143323.08012000003,143323.08012000003,143323.08012000003,69517.90650000001,325170.55176,786795.09888,334960.3068,510415.70560000004,257931.30000000002,257931.30000000002,257931.30000000002,128421.33849999998,183306.45299999998,183306.45299999998,257035.97672999997,119625.23474999999,177813.31189999997,310139.4975,88020.5431,111945.59005,227554.803,227554.803,227554.803,227554.803,551141.4020199999,551141.4020199999 +3470400.0,219858.348,184104.114,537584.0128799999,151142.19318,151142.19318,151142.19318,74787.8845,374606.56056,801822.8704000001,370436.02407000004,564473.9414400001,312442.473,312442.473,312442.473,196670.62449999998,219858.348,219858.348,279782.88519999996,139287.44204999998,207039.60521999997,361115.59049999993,102488.04377999999,130345.53218999998,270393.603,270393.603,270393.603,270393.603,661040.7663199999,661040.7663199999 +3474000.0,285535.104,203888.598,595354.70616,167204.94065,167204.94065,167204.94065,83758.86400000002,493019.27072,845667.06176,443418.0051,675684.5792,359949.282,359949.282,359949.282,227339.79450000002,285535.104,285535.104,311127.21171999996,159815.16674999997,237552.42069999996,414335.61749999993,117592.39429999999,149555.42765,336458.436,336458.436,336458.436,336458.436,858508.87936,858508.87936 +3477600.0,344580.306,218080.79099999997,636795.9097199999,257655.80665000004,257655.80665000004,257655.80665000004,162002.0255,589847.9540799999,997558.41152,532267.80159,811074.74528,386287.29300000006,386287.29300000006,386287.29300000006,263354.7315,344580.306,344580.306,333940.10377,200152.58355,297510.75382,518914.10550000006,147272.76518000002,187303.28189,391216.728,391216.728,391216.728,391216.728,1036038.12004,1036038.12004 +3481200.0,1081487.799,1105068.888,3226801.15296,1079122.97053,1079122.97053,1079122.97053,1075106.018,1632788.4829600002,1628124.6963200003,1432932.93255,2183516.8496,664955.3820000001,664955.3820000001,664955.3820000001,1623557.0925,1081487.799,1081487.799,2022993.2006699997,634595.5125,943275.3049999999,1645247.625,466936.945,593856.0475,1452147.315,1452147.315,1452147.315,1452147.315,3251673.31566,3251673.31566 +3484800.0,1972711.005,1727749.758,5045029.29336,2559607.5095800003,2559607.5095800003,2559607.5095800003,1801316.5659999999,2934101.6727999994,3217978.688,2926775.74413,4459848.75296,1201799.973,1201799.973,1201799.973,1746670.7684999998,1972711.005,1972711.005,2918486.9756899998,1554030.0198000001,2309940.91832,4028966.7180000003,1143459.12568,1454265.1296400002,2153809.0020000003,2153809.0020000003,2153809.0020000003,2153809.0020000003,5931284.4217,5931284.4217 +3488400.0,2087649.5550000002,2061085.5480000002,6018369.80016,2427393.75494,2427393.75494,2427393.75494,2163351.9915,3434311.3734399998,8336204.853120001,2623009.1857200004,3996966.3782400005,2127866.562,2127866.562,2127866.562,2062055.856,2087649.5550000002,2087649.5550000002,1779652.6455499998,3047564.43225,4529959.9709,7901092.9725,2242405.4341,2851918.3205500003,1616322.327,1616322.327,1616322.327,1616322.327,6276866.3287,6276866.3287 +3492000.0,1560183.7380000001,1347494.532,3934684.03344,1653817.28391,1653817.28391,1653817.28391,2332593.3995,3019625.8097599996,5259203.406080001,3028636.50768,4615065.15456,2078035.5329999998,2078035.5329999998,2078035.5329999998,2312928.6145,1560183.7380000001,1560183.7380000001,1660677.53605,2725018.5078,4050521.3375199996,7064862.798,2005075.34648,2550079.0480400003,1700572.764,1700572.764,1700572.764,1700572.764,4690952.438920001,4690952.438920001 +3495600.0,1189402.782,961687.3859999999,2808127.16712,1610318.46294,1610318.46294,1610318.46294,2078631.8175000001,3162524.29672,5996204.008960001,2400905.82333,3658523.1593600004,1026760.791,1026760.791,1026760.791,2036149.4405,1189402.782,1189402.782,954883.15767,1995347.06235,2965923.28774,5173122.0135,1468181.29526,1867250.7077300001,1341313.797,1341313.797,1341313.797,1341313.797,3576137.69788,3576137.69788 +3499200.0,1023107.7149999999,887262.0179999999,2590805.09256,1245504.68856,1245504.68856,1245504.68856,1447219.7950000002,2525722.95872,3049415.1744000004,1919710.44174,2925273.05408,1007165.4389999999,1007165.4389999999,1007165.4389999999,1410915.3415,1023107.7149999999,1023107.7149999999,987041.5814999999,1339108.2972,1990477.0244799997,3471762.252,985319.1915199999,1253140.85096,1080394.7249999999,1080394.7249999999,1080394.7249999999,1080394.7249999999,3076143.8630999997,3076143.8630999997 +3502800.0,724564.611,585512.559,1709696.67228,629347.09145,629347.09145,629347.09145,752989.9195000001,1565366.32536,2109367.46368,1198078.42812,1825643.3190400002,663941.883,663941.883,663941.883,919097.6654999999,724564.611,724564.611,631913.18242,827699.0265,1230308.1826,2145886.365,609022.9874,774562.7927,752217.258,752217.258,752217.258,752217.258,2178524.26374,2178524.26374 +3506400.0,609886.527,496132.31999999995,1448706.3743999996,464153.16222,464153.16222,464153.16222,640069.6504999999,1195566.1723999998,1765025.7235200002,954180.31863,1453989.0569600002,560994.3840000001,560994.3840000001,560994.3840000001,735655.2455000001,609886.527,609886.527,489343.26245999994,669467.3166,995109.4434400001,1735656.006,492595.70456000004,626489.1678800001,617407.794,617407.794,617407.794,617407.794,1833725.4911800001,1833725.4911800001 +3510000.0,620937.21,509512.65900000004,1487776.9642800002,456311.70486000006,456311.70486000006,456311.70486000006,645073.401,1213984.6155199998,1824966.57024,966662.36688,1473009.3209600002,577863.513,577863.513,577863.513,729688.631,620937.21,620937.21,502639.06445999997,685647.6417,1019160.19828,1777604.997,504501.22772,641630.75606,618674.559,618674.559,618674.559,618674.559,1866951.2113999997,1866951.2113999997 +3513600.0,1019440.311,918869.6160000002,2683099.2787200003,1151521.99052,1151521.99052,1151521.99052,1121376.515,2005273.8795999999,3538526.9779200004,1675314.29163,2552859.8729600003,1009906.1159999999,1009906.1159999999,1009906.1159999999,1307134.3845,1019440.311,1019440.311,1203745.39558,1293353.8272,1922466.67648,3353139.552,951652.93952,1210323.70496,1121535.2519999999,1121535.2519999999,1121535.2519999999,1121535.2519999999,3065117.2017399995,3065117.2017399995 +3517200.0,1067228.721,962693.871,2811066.1033199998,1260685.0356100001,1260685.0356100001,1260685.0356100001,1196257.1075,2106237.42312,3721391.1852800003,1797780.97989,2739475.77888,1071482.679,1071482.679,1071482.679,1375934.98,1067228.721,1067228.721,1338707.11728,1363890.3768,2027313.5971199998,3536012.088,1003553.9068799999,1276331.98224,1186778.238,1186778.238,1186778.238,1186778.238,3208801.02114,3208801.02114 +3520800.0,1097494.131,983306.757,2871255.73044,1340980.9870600002,1340980.9870600002,1340980.9870600002,1269338.105,2181683.2268,3809629.1385600003,1858064.0505000001,2831335.6960000005,1114254.192,1114254.192,1114254.192,1420696.0495,1097494.131,1097494.131,1365412.5066399998,1406299.56705,2090351.45522,3645961.8405,1034758.69378,1316018.6071900001,1226141.109,1226141.109,1226141.109,1226141.109,3299799.0205400004,3299799.0205400004 +3524400.0,1112477.097,997570.869,2912906.9374799994,1358629.2681500001,1358629.2681500001,1358629.2681500001,1287004.2710000002,2216972.84592,3871992.10176,1884956.73219,2872315.02048,1132847.034,1132847.034,1132847.034,1443230.362,1112477.097,1112477.097,1382803.9947799996,1426828.4743499998,2120866.02854,3699184.9335,1049863.9144599999,1335229.60933,1248938.5829999999,1248938.5829999999,1248938.5829999999,1248938.5829999999,3344847.80498,3344847.80498 +3528000.0,1104748.197,992281.9470000002,2897463.28524,1336751.63435,1336751.63435,1336751.63435,1267168.0489999999,2197271.6175999995,3847172.9612800004,1869502.2584700002,2848765.3462400003,1124313.159,1124313.159,1124313.159,1430266.2395000001,1104748.197,1104748.197,1376008.74424,1414746.2025,2102906.701,3667860.525,1040973.749,1323922.9895,1240098.807,1240098.807,1240098.807,1240098.807,3321609.5789799998,3321609.5789799998 +3531600.0,1032605.235,872219.7839999999,2546881.7692799997,1093557.4738000003,1093557.4738000003,1093557.4738000003,943901.0,1779550.8716,2709327.14432,1507832.70855,2297649.8416,864409.2390000001,864409.2390000001,864409.2390000001,1102763.5325,1032605.235,1032605.235,1291557.4674600002,1096398.5364,1629708.44176,2842514.7240000004,806732.7502400001,1026012.45752,1053515.007,1053515.007,1053515.007,1053515.007,3104699.7399,3104699.7399 +3535200.0,458163.60599999997,320251.02,935132.9783999999,577862.53569,577862.53569,577862.53569,387385.86249999993,860304.9708,1095642.1011200002,704069.9597400001,1072868.5100800002,392856.663,392856.663,392856.663,476390.12049999996,458163.60599999997,458163.60599999997,734207.98633,244560.11669999998,363518.98828,634044.747,179947.93772,228859.96106,568352.748,568352.748,568352.748,568352.748,1377545.24204,1377545.24204 +3538800.0,162642.696,114897.16500000001,335499.7218,175891.02883,175891.02883,175891.02883,67029.0915,340722.0688,811412.64384,312515.48517,476214.07263999997,229279.956,229279.956,229279.956,127535.43950000001,162642.696,162642.696,241407.82977999997,99237.34439999999,147508.34895999997,257282.004,73019.08304,92866.55192,174191.835,174191.835,174191.835,174191.835,489012.37264,489012.37264 +3542400.0,163664.157,141405.435,412903.8702,153780.27357000002,153780.27357000002,153780.27357000002,57680.994,366559.96327999997,821393.5206400001,306817.91091000004,467532.0547200001,226834.08899999998,226834.08899999998,226834.08899999998,121259.59650000001,163664.157,163664.157,239600.15962999998,97248.48255,144552.06542,252125.6955,71555.67358,91005.37009000001,170628.903,170628.903,170628.903,170628.903,492083.56538000004,492083.56538000004 +3546000.0,172404.972,168189.81,491114.24519999995,149804.94991000002,149804.94991000002,149804.94991000002,60945.066,361340.34648,846355.33056,315691.70766,481054.03072000004,225210.44700000001,225210.44700000001,225210.44700000001,118904.7825,172404.972,172404.972,256525.99648,107377.73505,159608.38642,278386.7205,79008.80258,100484.34959,184635.315,184635.315,184635.315,184635.315,518364.28248,518364.28248 +3549600.0,185465.097,172404.28499999997,503420.51219999994,155407.79331,155407.79331,155407.79331,68804.2355,358150.08879999997,860920.8,347457.42948,529458.94016,270169.599,270169.599,270169.599,122221.4385,185465.097,185465.097,272926.81701999996,118777.52924999999,176553.2657,307941.7425,87396.7993,111152.30515,230603.892,230603.892,230603.892,230603.892,557631.7249799999,557631.7249799999 +3553200.0,213745.542,193125.59999999998,563926.752,159854.15842,159854.15842,159854.15842,76801.1335,397259.95560000004,866463.7792,374332.90188,570412.04096,326021.703,326021.703,326021.703,184673.923,213745.542,213745.542,293732.28923999995,142209.9747,211383.71547999998,368692.527,104638.45052,133080.44546000002,275501.68799999997,275501.68799999997,275501.68799999997,275501.68799999997,642661.5962799999,642661.5962799999 +3556800.0,267269.00399999996,211914.228,618789.54576,166683.24398000003,166683.24398000003,166683.24398000003,79026.9795,500310.71511999995,893140.87552,438470.20623,668145.07616,376626.588,376626.588,376626.588,234257.03350000002,267269.00399999996,267269.00399999996,310944.70589,158523.49620000002,235632.45608000003,410986.84200000006,116641.97992000001,148346.67916000003,333856.653,333856.653,333856.653,333856.653,803588.8053599999,803588.8053599999 +3560400.0,334277.27999999997,229842.219,671139.27948,183044.96144,183044.96144,183044.96144,87873.89099999999,587830.92904,1008724.8384000001,507692.88716999994,773627.2566399999,409682.57100000005,409682.57100000005,409682.57100000005,251978.64999999997,334277.27999999997,334277.27999999997,351170.50019999995,181667.79225,270034.5949,470990.5725,133671.61010000002,170005.16855,396714.789,396714.789,396714.789,396714.789,1005060.3551999999,1005060.3551999999 +3564000.0,508664.04300000006,274597.79400000005,801825.5584800001,288637.26122000004,288637.26122000004,288637.26122000004,172830.2205,1088737.55776,1231839.76896,788470.03179,1201478.14368,459746.48400000005,459746.48400000005,459746.48400000005,385194.82050000003,508664.04300000006,508664.04300000006,556127.02925,286507.80539999995,425870.8613599999,742798.0139999999,210813.15063999998,268114.71171999996,527784.9,527784.9,527784.9,527784.9,1529383.2226200001,1529383.2226200001 +3567600.0,1246924.185,620012.289,1810435.88388,1677458.20451,1677458.20451,1677458.20451,1472230.2525000002,3458115.6864799997,4191605.11424,2943180.98886,4484847.22112,1233492.195,1233492.195,1233492.195,1780230.858,1246924.185,1246924.185,2610554.2340799994,1636768.95615,2432925.70766,4243475.0715,1204338.63934,1531692.43057,1535051.616,1535051.616,1535051.616,1535051.616,3749085.3829,3749085.3829 +3571200.0,1088954.169,1180781.565,3447882.1698,2140969.51959,2140969.51959,2140969.51959,1950100.0015,4165255.6080000005,3196818.92672,3247999.1831699996,4949332.08864,1296859.449,1296859.449,1296859.449,1781795.617,1088954.169,1088954.169,2170023.82324,2135513.5326,3174269.49784,5536516.566000001,1571316.13016,1998418.8366800002,1526635.9859999998,1526635.9859999998,1526635.9859999998,1526635.9859999998,3274122.2014599997,3274122.2014599997 +3574800.0,1805024.679,1979164.6649999998,5779160.821799999,1180038.5716900001,1180038.5716900001,1180038.5716900001,2002118.846,3871350.0218399996,6157015.30496,3057581.3646,4659171.6032,1591305.321,1591305.321,1591305.321,1218511.9974999998,1805024.679,1805024.679,2415593.2553999997,1544133.6504000002,2295230.75936,4003309.464,1136177.3526400002,1445004.08272,1983990.2400000002,1983990.2400000002,1983990.2400000002,1983990.2400000002,5427107.53486,5427107.53486 +3578400.0,1369483.071,1151515.905,3362426.4426,618226.0932100001,618226.0932100001,618226.0932100001,812781.8685,2088406.5190399997,6639594.593280001,1222844.7216299998,1863382.43296,1360076.388,1360076.388,1360076.388,1349065.011,1369483.071,1369483.071,2050881.1670099997,2141898.3657000004,3183760.0398800005,5553069.837000001,1576014.1061200004,2004393.7792600004,868276.854,868276.854,868276.854,868276.854,4117579.1001399998,4117579.1001399998 +3582000.0,684271.437,700275.5310000001,2044804.5505200003,332941.66543000005,332941.66543000005,332941.66543000005,479098.61650000006,1339772.7375999999,3279312.5228800005,801046.06701,1220641.62592,528973.9349999999,528973.9349999999,528973.9349999999,474414.16400000005,684271.437,684271.437,690014.6779499999,824518.4319,1225580.4839599999,2137640.379,606682.69804,771586.38442,517327.0889999999,517327.0889999999,517327.0889999999,517327.0889999999,2057376.12058,2057376.12058 +3585600.0,706743.075,1158328.9980000001,3382320.67416,546555.2002900001,546555.2002900001,546555.2002900001,853825.4970000001,1544551.4090399998,2390884.2540800003,1166260.95768,1777159.55456,608833.9260000001,608833.9260000001,608833.9260000001,964985.6964999998,706743.075,706743.075,766761.70077,720618.0187499999,1071140.8575,1868268.9375,530232.5175,674356.12125,678726.246,678726.246,678726.246,678726.246,2124940.8455,2124940.8455 +3589200.0,488726.985,532202.157,1554030.29844,334502.39647000004,334502.39647000004,334502.39647000004,697968.4739999999,1004313.7936,1350068.5836800002,681404.84181,1038331.1875199999,409276.686,409276.686,409276.686,475018.0015,488726.985,488726.985,473816.7844799999,440069.7680999999,654128.3960399999,1140921.6209999998,323804.42195999995,411818.37558,410918.55299999996,410918.55299999996,410918.55299999996,410918.55299999996,1469439.1349,1469439.1349 +3592800.0,257963.061,173740.932,507323.52144,82817.82926999999,82817.82926999999,82817.82926999999,151678.4185,537777.6264000001,540497.33632,286813.31154,437048.85568000004,191740.665,191740.665,191740.665,126534.1245,257963.061,257963.061,251695.04893,140895.02474999998,209429.14789999995,365283.39749999996,103670.9071,131849.91204999998,179490.741,179490.741,179490.741,179490.741,775608.9367399999,775608.9367399999 +3596400.0,411951.846,413927.436,1208668.11312,851421.70861,851421.70861,851421.70861,685517.8785,893565.4994399999,513102.8998400001,754055.736,1149037.3120000002,262665.3,262665.3,262665.3,750850.4395,411951.846,411951.846,650636.6557599999,489890.15864999994,728182.40866,1270085.5965,360462.38834,458440.42007,235183.287,235183.287,235183.287,235183.287,1238601.88364,1238601.88364 +3600000.0,795237.6120000001,1256282.2920000001,3668344.29264,875419.12051,875419.12051,875419.12051,1067935.4944999998,2216422.97488,2661284.11072,1442365.43955,2197890.1936000003,904273.1370000001,904273.1370000001,904273.1370000001,1432889.4475,795237.6120000001,795237.6120000001,1281160.36386,1185496.8759,1762145.97356,3073510.4190000007,872291.5284400001,1109390.9036200002,958104.0,958104.0,958104.0,958104.0,2391014.42008,2391014.42008 +3603600.0,840100.7609999999,1128581.856,3295459.0195199996,1045502.5320300001,1045502.5320300001,1045502.5320300001,1045100.3815,2310422.77976,3171261.0342400004,1502460.9999000002,2289464.3808000004,874336.746,874336.746,874336.746,1250411.526,840100.7609999999,840100.7609999999,1080203.34981,1144711.05525,1701521.1241,2967769.4025000003,842281.2209000001,1071223.43195,1003926.5280000002,1003926.5280000002,1003926.5280000002,1003926.5280000002,2525902.95474,2525902.95474 +3607200.0,2205095.031,1849331.9820000003,5400049.387440001,3401688.60482,3401688.60482,3401688.60482,2933886.6585,3504666.65936,6754452.881920001,3731256.4241400003,5685724.07488,2324536.398,2324536.398,2324536.398,2964870.5239999997,2205095.031,2205095.031,3218778.0029599997,2843334.8068500003,4226389.02154,7371608.7585,2092132.7714600002,2660799.73283,2475759.711,2475759.711,2475759.711,2475759.711,6629985.72654,6629985.72654 +3610800.0,1608135.168,990066.8879999999,2890995.31296,1932890.67191,1932890.67191,1932890.67191,1757162.6205,2730717.3948,4417962.79616,2392972.97337,3646435.00704,1520337.7740000002,1520337.7740000002,1520337.7740000002,1828008.987,1608135.168,1608135.168,1332320.06739,1781159.0660999997,2647550.01924,4617819.801,1310581.2387599999,1666813.05198,1677559.6439999999,1677559.6439999999,1677559.6439999999,1677559.6439999999,4835126.405119999,4835126.405119999 +3614400.0,1268859.879,959824.3469999998,2802687.09324,1335738.13923,1335738.13923,1335738.13923,1323835.863,2146323.3991999994,3958281.34912,1864309.18254,2840852.08768,1155708.3599999999,1155708.3599999999,1155708.3599999999,1534915.795,1268859.879,1268859.879,1343875.91923,1486210.5787499999,2209132.7615,3853138.5375,1093557.4135,1390799.5292500001,1290673.4849999999,1290673.4849999999,1290673.4849999999,1290673.4849999999,3815038.70286,3815038.70286 +3618000.0,1125990.732,973984.8629999999,2844035.79996,1297256.50901,1297256.50901,1297256.50901,1284507.9415,2089813.9765599999,3937044.42688,1821948.13122,2776301.9142400003,1132842.48,1132842.48,1132842.48,1495078.9944999998,1125990.732,1125990.732,1375571.3565099998,1462952.92725,2174562.1289,3792840.9225,1076444.3761,1369034.9615500001,1274666.064,1274666.064,1274666.064,1274666.064,3385478.80088,3385478.80088 +3621600.0,792824.283,697313.1059999999,2036154.2695199999,846866.7925300001,846866.7925300001,846866.7925300001,703436.9405,1111726.5776,2452918.91328,1061166.00198,1617014.8601600002,618349.524,618349.524,618349.524,756258.3525,792824.283,792824.283,978175.94823,693359.5383,1030623.31372,1797598.803,510175.66028,648847.56794,812465.2110000001,812465.2110000001,812465.2110000001,812465.2110000001,2383758.34422,2383758.34422 +3625200.0,143607.501,127806.98100000001,373196.38452,143569.09127000003,143569.09127000003,143569.09127000003,70841.183,244254.84639999998,928897.90848,289885.42821,441730.17632,217858.02900000004,217858.02900000004,217858.02900000004,137113.522,143607.501,143607.501,270744.29394999996,106889.32935,158882.41053999998,277120.4835,78649.43246,100027.29833,182194.23599999998,182194.23599999998,182194.23599999998,182194.23599999998,431779.8863399999,431779.8863399999 +3628800.0,140943.47400000002,121979.61000000002,356180.4612,135081.87143000003,135081.87143000003,135081.87143000003,48538.630000000005,261248.48136000003,869946.848,288834.8694,440129.3248,202836.89399999997,202836.89399999997,202836.89399999997,126453.83099999999,140943.47400000002,140943.47400000002,254901.99618,94925.73465,141099.48705999998,246103.75650000002,69846.58994,88831.73687000001,178063.986,178063.986,178063.986,178063.986,423770.04516,423770.04516 +3632400.0,160393.97999999998,149807.943,437439.19356,142928.14767,142928.14767,142928.14767,60056.773,359205.91992,901203.71712,327441.16565999994,498957.96671999997,212372.469,212372.469,212372.469,128440.58149999997,160393.97999999998,160393.97999999998,291723.31577999995,109614.8295,162933.6478,284186.59500000003,80654.8622,102577.82810000001,186213.363,186213.363,186213.363,186213.363,482251.23319999996,482251.23319999996 +3636000.0,202862.48099999997,164474.796,480266.40432,147405.08255,147405.08255,147405.08255,72270.2575,402906.12600000005,922304.2694400001,374068.48836,570009.1251200001,267162.093,267162.093,267162.093,138950.168,202862.48099999997,202862.48099999997,307863.11685999995,135704.75129999997,201714.22291999997,351827.133,99851.89107999999,126992.84134,255117.057,255117.057,255117.057,255117.057,609939.8595399999,609939.8595399999 +3639600.0,250121.631,198612.60900000003,579948.81828,160237.8536,160237.8536,160237.8536,85860.488,479216.41320000007,946075.8182400002,427520.27262,651459.46304,372311.70900000003,372311.70900000003,372311.70900000003,244671.49,250121.631,250121.631,335478.02912,156972.69855,233327.31981999998,406966.25549999997,115500.89918,146895.43889,322539.804,322539.804,322539.804,322539.804,752032.3705399999,752032.3705399999 +3643200.0,314266.452,254727.35700000002,743803.8824400001,195536.49148000003,195536.49148000003,195536.49148000003,92086.10949999999,631271.88,1050269.1174400002,518696.75739000004,790395.05888,461125.914,461125.914,461125.914,283470.75049999997,314266.452,314266.452,384809.23039000004,192902.4882,286734.06888,500117.562,141938.12712,180518.62476,412827.12899999996,412827.12899999996,412827.12899999996,412827.12899999996,944894.4656799999,944894.4656799999 +3646800.0,383154.657,260772.52200000006,761455.76424,196856.89309000003,196856.89309000003,196856.89309000003,95021.402,671176.7168,1104540.76608,586014.24,892974.0800000001,462985.26300000004,462985.26300000004,462985.26300000004,283070.03900000005,383154.657,383154.657,380569.19133999996,213904.4355,317951.7782,554567.055,157391.4118,200172.29890000002,466030.27800000005,466030.27800000005,466030.27800000005,466030.27800000005,1152018.3353799998,1152018.3353799998 +3650400.0,575789.706,305690.139,892615.20588,304935.40528000006,304935.40528000006,304935.40528000006,182257.313,1171506.45864,1370547.85536,872860.5452699999,1330073.21184,500114.56500000006,500114.56500000006,500114.56500000006,417016.57899999997,575789.706,575789.706,579903.85492,310833.62415,462029.23886,805864.9515000001,228712.14814,290878.87297,595259.598,595259.598,595259.598,595259.598,1731207.7160399999,1731207.7160399999 +3654000.0,1288135.335,703281.747,2053582.70124,1728723.5215800002,1728723.5215800002,1728723.5215800002,1520740.7915,3520514.4162400006,4402420.06336,3077746.4793599998,4689899.39712,1301288.232,1301288.232,1301288.232,1968206.688,1288135.335,1288135.335,2682224.37886,1682665.19235,2501146.7797399997,4362465.3135,1238109.2032599999,1574642.24173,1598593.809,1598593.809,1598593.809,1598593.809,3872993.5738999997,3872993.5738999997 +3657600.0,1163321.541,1254215.088,3662308.0569599997,2234752.36435,2234752.36435,2234752.36435,2047173.6459999997,4402262.65232,3453677.1328000003,3389368.9844699996,5164752.73824,1372594.293,1372594.293,1372594.293,1897216.0759999997,1163321.541,1163321.541,2264537.90381,2224112.10615,3305964.16766,5766216.5715,1636507.17934,2081329.60057,1631455.875,1631455.875,1631455.875,1631455.875,3497720.09994,3497720.09994 +3661200.0,1920048.8879999998,2087315.991,6094962.69372,1351065.81214,1351065.81214,1351065.81214,2184630.8784999996,4198067.9108,6653390.835840001,3323018.12976,5063646.67392,1744494.384,1744494.384,1744494.384,1407317.7859999998,1920048.8879999998,1920048.8879999998,2253812.99871,1742260.83705,2589730.92322,4516972.5405,1281959.82578,1630411.99319,2124638.826,2124638.826,2124638.826,2124638.826,5772946.98992,5772946.98992 +3664800.0,1462127.91,1155582.432,3374300.70144,695265.08414,695265.08414,695265.08414,925374.3275000001,2237130.24248,6967491.5942400005,1371737.06439,2090266.00288,1460211.558,1460211.558,1460211.558,1452986.633,1462127.91,1462127.91,1925066.9830599998,2221846.54425,3302596.5916999998,5760342.8925,1634840.1733,2079209.4821499998,958394.661,958394.661,958394.661,958394.661,4396131.249399999,4396131.249399999 +3668400.0,749292.1140000001,719893.203,2102088.15276,382140.0981200001,382140.0981200001,382140.0981200001,563056.1089999999,1424517.91784,3804480.1024000007,914146.22607,1392984.72544,598067.283,598067.283,598067.283,580239.8979999999,749292.1140000001,749292.1140000001,747276.99683,1076344.1514,1599899.20776,2790521.8740000003,791976.68424,1007245.5145200001,587474.571,587474.571,587474.571,587474.571,2252871.6227599997,2252871.6227599997 +3672000.0,789364.8060000001,1215232.7999999998,3548479.7759999996,651860.9720700001,651860.9720700001,651860.9720700001,939042.2125000001,1688067.914,2714361.66848,1308391.50813,1993739.44096,690400.062,690400.062,690400.062,1054161.5525,789364.8060000001,789364.8060000001,909594.1745799999,831219.003,1235540.3451999999,2155012.23,611612.9948,777856.7954000001,773306.613,773306.613,773306.613,773306.613,2373356.85004,2373356.85004 +3675600.0,591986.697,651203.928,1901515.46976,447557.56221000006,447557.56221000006,447557.56221000006,849475.739,1205305.774,1790116.9292800003,863578.51692,1315929.16864,517601.826,517601.826,517601.826,658767.585,591986.697,591986.697,620715.22344,594211.3263000001,883247.4529200001,1540547.8830000001,437222.16108000005,556064.4263400001,530806.4400000001,530806.4400000001,530806.4400000001,530806.4400000001,1779906.66898,1779906.66898 +3679200.0,426440.49000000005,355581.798,1038298.85016,144587.40933999998,144587.40933999998,144587.40933999998,361656.88300000003,894507.4213600002,1247380.31488,593239.8717,903984.5664,374442.837,374442.837,374442.837,299221.7585,426440.49000000005,426440.49000000005,443163.40965,386693.97164999996,574789.55786,1002539.9265000001,284530.37914000003,361869.17347000004,375469.6020000001,375469.6020000001,375469.6020000001,375469.6020000001,1282164.4066,1282164.4066 +3682800.0,637879.392,768992.4929999999,2245458.0795599995,1023495.3542000002,1023495.3542000002,1023495.3542000002,1002379.8260000001,1481021.5647200001,1416288.7027200002,1144704.87054,1744312.18368,502572.3300000001,502572.3300000001,502572.3300000001,1042246.6669999999,637879.392,637879.392,900626.52602,830607.0196499999,1234630.6810599999,2153425.6064999998,611162.69594,777284.0998699999,568077.375,568077.375,568077.375,568077.375,1917890.7052799996,1917890.7052799996 +3686400.0,866380.5869999999,1286274.15,3755920.5179999997,1423330.7297,1423330.7297,1423330.7297,1126600.5765,2286716.42104,2961465.3996800003,1615079.10081,2461072.9155200003,954126.756,954126.756,954126.756,1522963.3265,866380.5869999999,866380.5869999999,1456567.1437199998,1288909.5273,1915860.5813199999,3341617.293,948382.81268,1206164.71814,1041146.2889999999,1041146.2889999999,1041146.2889999999,1041146.2889999999,2604917.63158,2604917.63158 +3690000.0,870476.0790000001,1220237.817,3563094.42564,1088894.59283,1088894.59283,1088894.59283,1042712.2650000001,2349836.90472,3160004.6624,1559753.89962,2376767.84704,868701.297,868701.297,868701.297,1282179.6224999998,870476.0790000001,870476.0790000001,1265298.2488899997,1152976.761,1713807.4323999998,2989199.01,848363.1476,1078958.4998,1047177.402,1047177.402,1047177.402,1047177.402,2617231.41086,2617231.41086 +3693600.0,2207567.433,1821665.4450000003,5319263.099400001,3473854.9836100005,3473854.9836100005,3473854.9836100005,2894106.5685,3476492.1108,6651647.0220800005,3718168.15776,5665780.04992,2319306.0689999997,2319306.0689999997,2319306.0689999997,2986634.077,2207567.433,2207567.433,3678463.23351,2817019.73745,4187273.78258,7303384.5045,2072770.07842,2636174.02591,2462286.762,2462286.762,2462286.762,2462286.762,6637419.41522,6637419.41522 +3697200.0,1620192.435,939493.7550000001,2743321.7646000003,2058430.46904,2058430.46904,2058430.46904,1742747.678,2620347.79544,4425261.68768,2387000.33061,3637333.8371200003,1580544.912,1580544.912,1580544.912,1878708.8005000004,1620192.435,1620192.435,1313732.3995899998,1822978.09845,2709710.6549799996,4726239.5145,1341351.78602,1705947.40571,1729682.844,1729682.844,1729682.844,1729682.844,4871378.5879,4871378.5879 +3700800.0,1211520.72,901457.7449999999,2632256.6153999995,1269087.20059,1269087.20059,1269087.20059,1297873.276,2006968.8812,3671095.9372800007,1760400.9530100003,2682515.73792,1071703.7489999998,1071703.7489999998,1071703.7489999998,1438071.5614999998,1211520.72,1211520.72,1281288.26176,1400297.8517999998,2081430.3871199999,3630401.838,1030342.61688,1310402.1872399999,1233263.943,1233263.943,1233263.943,1233263.943,3642638.9647999997,3642638.9647999997 +3704400.0,1078698.54,925639.236,2702866.56912,1246767.80899,1246767.80899,1246767.80899,1225830.0040000002,1983051.0035199998,3713727.54176,1735908.27417,2645193.5606400003,1075889.4270000001,1075889.4270000001,1075889.4270000001,1419335.197,1078698.54,1078698.54,1314748.53133,1391418.5427,2068232.0066799999,3607381.407,1023809.19932,1302092.9078600002,1216910.091,1216910.091,1216910.091,1216910.091,3243286.9436,3243286.9436 +3708000.0,761422.1339999998,660039.51,1927315.3692,812576.3628400001,812576.3628400001,812576.3628400001,671685.8015,1034327.5684,2296694.36416,1004795.3521199999,1531116.72704,578611.746,578611.746,578611.746,715821.3439999999,761422.1339999998,761422.1339999998,933520.8317499999,655322.6997,974084.6054799999,1698984.777,482188.06052,613252.60046,773412.585,773412.585,773412.585,773412.585,2289342.5495599997,2289342.5495599997 +3711600.0,130521.432,115013.92199999999,335840.65223999997,132548.911,132548.911,132548.911,67192.8005,215693.19928,816111.2480000001,245311.92776999998,373808.65184,193164.564,193164.564,193164.564,123347.6685,130521.432,130521.432,242022.16297999996,95081.9553,141331.69652,246508.77300000002,69961.53748,88977.92854000001,163308.99599999998,163308.99599999998,163308.99599999998,163308.99599999998,392434.43888,392434.43888 +3715200.0,130130.034,112954.70700000001,329827.74444000004,130579.56417000003,130579.56417000003,130579.56417000003,45982.3735,226498.72352,800861.3939200001,266161.29897,405579.12224,187641.53399999999,187641.53399999999,187641.53399999999,117350.828,130130.034,130130.034,237119.39731999996,88137.50940000001,131009.33496000001,228504.654,64851.797040000005,82479.29892,164053.515,164053.515,164053.515,164053.515,391257.63555999997,391257.63555999997 +3718800.0,143987.712,132974.02500000002,388284.153,129912.66618000001,129912.66618000001,129912.66618000001,53060.28,255293.27568,814825.4169600001,281074.42629000003,428303.88768000004,189299.20200000002,189299.20200000002,189299.20200000002,117814.63749999998,143987.712,143987.712,258537.18734999996,93511.9809,138998.05556,242438.469,68806.34644000001,87508.74262,171275.622,171275.622,171275.622,171275.622,432923.05408,432923.05408 +3722400.0,161051.646,142775.59199999998,416904.7286399999,126518.53445000002,126518.53445000002,126518.53445000002,56201.582500000004,303281.44920000003,809593.15968,320800.87200000003,488839.42400000006,191454.516,191454.516,191454.516,116989.4075,161051.646,161051.646,271643.94192,111588.03809999999,165866.66403999997,289302.321,82106.75396,104424.36158,195508.55699999997,195508.55699999997,195508.55699999997,195508.55699999997,484228.61564000003,484228.61564000003 +3726000.0,206234.23199999996,160653.939,469109.50188,139988.17503,139988.17503,139988.17503,78458.31,370152.01296,828013.76128,359488.45233,547791.9273600001,260184.55800000002,260184.55800000002,260184.55800000002,173309.08,206234.23199999996,206234.23199999996,288145.63778,135297.5886,201109.00823999997,350771.52599999995,99552.29976,126611.81748,269091.546,269091.546,269091.546,269091.546,620077.5908799999,620077.5908799999 +3729600.0,246634.287,176302.56,514803.4752,149881.11589,149881.11589,149881.11589,80368.46650000001,460787.23616,848452.8096,411680.9445,627323.344,353430.30000000005,353430.30000000005,353430.30000000005,233704.016,246634.287,246634.287,315828.13535,153478.6704,228133.72736,397907.664,112929.98464,143625.71872,308334.351,308334.351,308334.351,308334.351,741547.08958,741547.08958 +3733200.0,305646.13800000004,221822.24699999997,647720.96124,176820.20169000002,176820.20169000002,176820.20169000002,88266.584,549322.02744,891230.6847999999,486301.43541000003,741030.75872,391397.19,391397.19,391397.19,247087.38950000005,305646.13800000004,305646.13800000004,339529.87211,173809.0791,258353.24844,450616.131,127889.14956,162650.96538,384781.63200000004,384781.63200000004,384781.63200000004,384781.63200000004,918976.05492,918976.05492 +3736800.0,495925.88700000005,263786.16000000003,770255.5872,280509.02758999995,280509.02758999995,280509.02758999995,167685.8995,1051212.67864,1140935.0950400003,760459.35483,1158795.20736,440451.774,440451.774,440451.774,376985.96949999995,495925.88700000005,495925.88700000005,549327.45933,240389.34974999996,357319.47789999994,623231.6475,176879.0771,224956.94705,516241.0739999999,516241.0739999999,516241.0739999999,516241.0739999999,1491083.83358,1491083.83358 +3740400.0,1236078.354,586639.635,1712987.7341999998,1661940.4707400003,1661940.4707400003,1661940.4707400003,1459900.043,3387642.1580799995,4076071.504,2929601.01399,4464153.92608,1172546.5890000002,1172546.5890000002,1172546.5890000002,1703868.8869999999,1236078.354,1236078.354,2579004.57347,1566862.3354500001,2329015.12578,4062235.6845000004,1152901.17522,1466273.6423100003,1523141.244,1523141.244,1523141.244,1523141.244,3716475.5843599997,3716475.5843599997 +3744000.0,1090426.383,1202067.582,3510037.3394400002,2033286.8963000001,2033286.8963000001,2033286.8963000001,1934046.8420000002,4163612.6933600004,3161653.983360001,3228680.6176799997,4919894.27456,1305002.79,1305002.79,1305002.79,1753394.552,1090426.383,1090426.383,2184724.4434599997,2135635.2918,3174450.483119999,5536832.237999999,1571405.7208799997,1998532.7792399996,1546397.223,1546397.223,1546397.223,1546397.223,3278548.65822,3278548.65822 +3747600.0,1861356.384,2031789.684,5932825.87728,1226424.46344,1226424.46344,1226424.46344,1911414.743,3967845.8836000003,6374032.561280001,3145299.5935200006,4792837.47584,1674964.6860000002,1674964.6860000002,1674964.6860000002,1304873.08,1861356.384,1861356.384,1987117.0027799997,1568974.1391,2332154.15244,4067710.731,1154455.04556,1468249.87338,2053630.8390000002,2053630.8390000002,2053630.8390000002,2053630.8390000002,5596478.19456,5596478.19456 +3751200.0,1374333.873,1074939.2040000001,3138822.47568,636692.2733600001,636692.2733600001,636692.2733600001,819712.0365,2044869.93808,6659505.580800001,1215498.1902,1852187.7184000004,1360138.029,1360138.029,1360138.029,1369229.9075000002,1374333.873,1374333.873,1796069.67098,2135842.7733,3174758.88772,5537370.153,1571558.38628,1998726.9409400001,884844.0900000001,884844.0900000001,884844.0900000001,884844.0900000001,4132163.8448199993,4132163.8448199993 +3754800.0,742837.434,711988.1880000001,2079005.50896,372542.94451000006,372542.94451000006,372542.94451000006,550783.8735,1403313.28664,3400458.0044800006,908943.42252,1385056.64384,592679.019,592679.019,592679.019,562588.5719999999,742837.434,742837.434,737070.97048,952132.00815,1415267.82446,2468490.3915,700581.08254,891007.4841700001,588445.9170000001,588445.9170000001,588445.9170000001,588445.9170000001,2233464.55156,2233464.55156 +3758400.0,793527.456,1222764.0420000001,3570471.00264,656605.41584,656605.41584,656605.41584,960281.4619999999,1734328.6447199997,2808859.5712000006,1340215.61982,2042233.32544,717088.047,717088.047,717088.047,1078729.2179999999,793527.456,793527.456,925587.2321799999,860011.5789,1278338.1987599998,2229659.649,632798.64324,804800.95902,793629.4500000001,793629.4500000001,793629.4500000001,793629.4500000001,2385872.55104,2385872.55104 +3762000.0,610903.665,648812.877,1894533.60084,463436.26021000004,463436.26021000004,463436.26021000004,862589.924,1254489.44224,1891795.5014400003,901716.1631100001,1374043.6771200001,549077.592,549077.592,549077.592,653823.401,610903.665,610903.665,641801.16195,625580.82405,929875.69402,1621876.2105,460303.91498000006,585420.0797900001,556998.915,556998.915,556998.915,556998.915,1836783.6860999998,1836783.6860999998 +3765600.0,476456.19299999997,406265.62200000003,1186295.6162400001,192622.99419000003,192622.99419000003,192622.99419000003,416385.8195,1003709.2076000001,1463516.96576,683047.6358999999,1040834.4927999999,436899.29999999993,436899.29999999993,436899.29999999993,356620.3165,476456.19299999997,476456.19299999997,502908.49179999996,460935.5057999999,685143.6407199999,1195017.978,339157.48328,431344.58443999995,434233.224,434233.224,434233.224,434233.224,1432544.95362,1432544.95362 +3769200.0,629030.478,742250.1240000001,2167370.36208,1012544.4982400001,1012544.4982400001,1012544.4982400001,992838.3045,1451945.95088,1384154.6227200003,1131470.43387,1724145.42304,495748.476,495748.476,495748.476,1041684.1855,629030.478,629030.478,884182.6174999999,821325.4686,1220834.4002399999,2129362.3260000004,604333.30776,768598.40148,553688.706,553688.706,553688.706,553688.706,1891284.97052,1891284.97052 +3772800.0,855186.0179999999,1269588.0929999999,3707197.2315599998,1397082.65257,1397082.65257,1397082.65257,1107322.3769999999,2235354.42112,2920745.47648,1589137.8614999999,2421543.408,936978.3839999998,936978.3839999998,936978.3839999998,1519326.4239999999,855186.0179999999,855186.0179999999,1449737.87205,1271391.0012,1889820.69808,3296198.8920000005,935492.6379200001,1189770.83816,1026374.7959999999,1026374.7959999999,1026374.7959999999,1026374.7959999999,2571259.2941199997,2571259.2941199997 +3776400.0,860766.24,1198504.5240000002,3499633.21008,1080731.21882,1080731.21882,1080731.21882,1029096.7329999999,2322617.76848,3135560.77312,1542971.4995099998,2351194.6659199996,862861.4969999999,862861.4969999999,862861.4969999999,1273518.2565,860766.24,860766.24,1251926.6701500001,1142945.4334499997,1698896.6689799996,2963191.8644999997,840982.0720199998,1069571.1587099999,1036094.811,1036094.811,1036094.811,1036094.811,2588037.1616,2588037.1616 +3780000.0,2210143.893,1826623.6950000003,5333741.1894000005,3475667.0778500005,3475667.0778500005,3475667.0778500005,2896736.4405,3470250.4940000004,6671609.93984,3721841.93304,5671378.18368,2324173.7970000003,2324173.7970000003,2324173.7970000003,2992661.9835,2210143.893,2210143.893,3672815.31227,2823517.5696,4196932.28864,7320230.7360000005,2077551.1993600002,2642254.7132800003,2466912.3929999997,2466912.3929999997,2466912.3929999997,2466912.3929999997,6645165.97162,6645165.97162 +3783600.0,1629815.382,951155.1359999999,2777372.99712,2051976.9630800001,2051976.9630800001,2051976.9630800001,1752663.8395000002,2642198.33648,4484754.77888,2399521.4873699998,3656413.69504,1601684.1600000001,1601684.1600000001,1601684.1600000001,1919311.9120000002,1629815.382,1629815.382,1324824.4760399999,1838896.59105,2733372.2168199997,4767509.680500001,1353064.65218,1720843.9703900001,1741720.1970000002,1741720.1970000002,1741720.1970000002,1741720.1970000002,4900311.5818799995,4900311.5818799995 +3787200.0,1235654.058,923296.7339999999,2696026.46328,1293910.8224900002,1293910.8224900002,1293910.8224900002,1317784.195,2055819.0212000003,3769643.049600001,1799838.48744,2742611.0284800003,1103975.46,1103975.46,1103975.46,1480891.615,1235654.058,1235654.058,1308676.45467,1436567.9467499997,2135342.9726999993,3724435.4174999995,1057030.2422999998,1344343.8316499998,1264537.686,1264537.686,1264537.686,1264537.686,3715199.8677199995,3715199.8677199995 +3790800.0,1101763.797,947368.6499999999,2766316.4579999996,1270972.96997,1270972.96997,1270972.96997,1250823.9835,2028954.57152,3809814.7296,1771840.71624,2699947.75808,1105496.2619999999,1105496.2619999999,1105496.2619999999,1459927.8505000002,1101763.797,1101763.797,1344802.12802,1424419.97175,2117285.9827,3692940.6675,1048091.7323,1332975.72665,1246274.406,1246274.406,1246274.406,1246274.406,3312636.48298,3312636.48298 +3794400.0,783204.1140000001,683626.572,1996189.59024,836832.15462,836832.15462,836832.15462,692728.2529999999,1075785.09184,2390596.91328,1039252.8764099999,1583623.43072,602261.8259999999,602261.8259999999,602261.8259999999,745020.864,783204.1140000001,783204.1140000001,964777.2699499999,679984.81425,1010742.8597,1762923.5925000003,500334.5053,636331.4681500001,800849.286,800849.286,800849.286,800849.286,2354833.70276,2354833.70276 +3798000.0,136606.218,121550.103,354926.30076,138112.31610000003,138112.31610000003,138112.31610000003,69022.758,229871.27096,875888.0569600001,261444.43206,398391.51552,205961.958,205961.958,205961.958,130695.03999999998,136606.218,136606.218,256527.13644999996,100940.2884,150039.63856,261697.04400000002,74272.11344,94460.17112000001,172223.253,172223.253,172223.253,172223.253,410729.36212,410729.36212 +3801600.0,144437.50799999997,127304.18999999999,371728.2348,147902.38364000001,147902.38364000001,147902.38364000001,49748.545000000006,256607.08295999997,919402.7692800002,295473.74787,450245.71104,213185.10000000003,213185.10000000003,213185.10000000003,132503.77699999997,144437.50799999997,144437.50799999997,266455.77009999997,99623.63339999999,148082.53655999998,258283.494,73303.31544,93228.04212,183165.231,183165.231,183165.231,183165.231,434275.44071999996,434275.44071999996 +3805200.0,157670.079,149606.634,436851.37127999996,141523.25286,141523.25286,141523.25286,59926.188,290918.06992,902413.23584,316211.51709000004,481846.1212800001,208534.52999999997,208534.52999999997,208534.52999999997,128648.17350000002,157670.079,157670.079,290993.32132,108616.1724,161449.22415999998,281597.484,79920.04784,101643.28232,185954.796,185954.796,185954.796,185954.796,474061.37085999997,474061.37085999997 +3808800.0,197961.48599999998,167708.721,489709.46531999996,148563.47374,148563.47374,148563.47374,73791.62700000001,394399.54696000007,942604.77184,373663.77783000004,569392.4233600001,236058.77699999997,236058.77699999997,236058.77699999997,141961.484,197961.48599999998,197961.48599999998,312845.12726999994,137395.33874999997,204227.14549999996,356210.13749999995,101095.82949999998,128574.89724999998,258142.395,258142.395,258142.395,258142.395,595204.20124,595204.20124 +3812400.0,256318.08000000002,186726.339,545240.90988,161228.31659,161228.31659,161228.31659,88340.4655,488834.36175999994,963855.5769600001,437249.68455000006,666285.2336000002,384070.73699999996,384070.73699999996,384070.73699999996,253053.77649999998,256318.08000000002,256318.08000000002,344534.75888,162714.35520000002,241861.83168,421852.03200000006,119725.62432000002,152268.49536000003,332842.371,332842.371,332842.371,332842.371,770663.0272,770663.0272 +3816000.0,310512.018,242254.329,707382.64068,181990.34304,181990.34304,181990.34304,90715.303,613958.42912,1013985.7427200001,513992.72379,783227.00768,448346.064,448346.064,448346.064,278890.528,310512.018,310512.018,378235.70161,190785.75165,283587.70986,494629.7265,140380.62714,178537.77747,410760.24899999995,410760.24899999995,410760.24899999995,410760.24899999995,933606.13412,933606.13412 +3819600.0,410744.99400000006,274744.968,802255.30656,205051.15026000002,205051.15026000002,205051.15026000002,99588.6745,711628.8258400001,1184997.76768,622186.21143,948093.27456,490779.57,490779.57,490779.57,300085.212,410744.99400000006,410744.99400000006,401056.7706599999,229817.57805,341605.38762,595823.3505000001,169100.34138000003,215063.85699000003,500153.115,500153.115,500153.115,500153.115,1234973.28196,1234973.28196 +3823200.0,612028.8030000001,349436.661,1020355.05012,322283.96343,322283.96343,322283.96343,189056.6685,1233698.2188,1482415.6128,920904.87405,1403283.6176,535181.85,535181.85,535181.85,441357.5285,612028.8030000001,612028.8030000001,604844.2628799999,333211.16610000003,495291.65924,863880.8010000001,245177.59876000002,311819.83198,637359.333,637359.333,637359.333,637359.333,1840166.6010200002,1840166.6010200002 +3826800.0,1335390.909,758115.807,2213698.15644,1777839.2274500001,1777839.2274500001,1777839.2274500001,1543230.4545,3612685.16232,4608582.670080001,3182613.70056,4849697.06752,1389902.232,1389902.232,1389902.232,2093485.5094999997,1335390.909,1335390.909,2749665.53316,1751141.0128499998,2602930.5919399997,4539995.2184999995,1288493.8810599998,1638722.08363,1667781.69,1667781.69,1667781.69,1667781.69,4015075.33306,4015075.33306 +3830400.0,1190893.146,1270148.706,3708834.22152,2276344.3984600003,2276344.3984600003,2276344.3984600003,2072401.9575,4478771.22504,3533957.5519999997,3427592.78337,5222998.52704,1392302.8530000001,1392302.8530000001,1392302.8530000001,1955466.016,1190893.146,1190893.146,2293435.8835699996,2250471.0086999997,3345144.5610799994,5834554.466999999,1655902.1249199999,2105996.32666,1653942.5129999998,1653942.5129999998,1653942.5129999998,1653942.5129999998,3580618.72564,3580618.72564 +3834000.0,1872700.8929999997,2029345.581,5925689.09652,1258197.33765,1258197.33765,1258197.33765,2161063.1035,4091086.2881599995,6423391.86816,3223330.1803499996,4911741.2272,1680672.81,1680672.81,1680672.81,1333566.4685,1872700.8929999997,1872700.8929999997,2077054.99846,1686967.7463,2507542.18092,4373620.083000001,1241275.0330800002,1578668.5823400002,2062561.068,2062561.068,2062561.068,2062561.068,5630587.351619999,5630587.351619999 +3837600.0,1431698.4540000001,1097483.952,3204653.13984,666006.65186,666006.65186,666006.65186,895005.895,2114587.3675200003,6860880.8678399995,1304130.1536899998,1987245.9484799998,1410808.107,1410808.107,1410808.107,1408883.3885,1431698.4540000001,1431698.4540000001,1823894.9197299997,2180586.05145,3241266.1801799997,5653371.2445,1604480.60082,2040597.8111100001,901642.779,901642.779,901642.779,901642.779,4304640.01836,4304640.01836 +3841200.0,718116.927,681917.5889999999,1991199.35988,348595.44709,348595.44709,348595.44709,526122.7125,1331346.4936,3619132.48064,852585.4127699999,1299177.7718399998,550625.067,550625.067,550625.067,537768.1785,718116.927,718116.927,692608.8071499999,1030525.3512,1531793.23808,2671732.3920000005,758263.0979200001,964368.1681600001,548297.7690000001,548297.7690000001,548297.7690000001,548297.7690000001,2159138.22718,2159138.22718 +3844800.0,754559.844,1176840.219,3436373.43948,610491.82744,610491.82744,610491.82744,902724.6094999999,1599875.1481599999,2561959.6876800004,1245179.00871,1897415.63232,645054.6810000001,645054.6810000001,645054.6810000001,1016450.162,754559.844,754559.844,852461.0715399999,785506.72995,1167592.71958,2036498.9295,577977.79142,735079.1374100001,735765.9299999999,735765.9299999999,735765.9299999999,735765.9299999999,2268709.93096,2268709.93096 +3848400.0,549716.943,606747.711,1771703.3161199999,414720.82662999997,414720.82662999997,414720.82662999997,803002.3400000001,1096170.7448,1596935.7836800003,788331.6619500001,1201267.2944,461501.226,461501.226,461501.226,619184.7655,549716.943,549716.943,556292.19984,534002.63715,793752.06806,1384451.2815,392920.45894,499720.98637,483937.58400000003,483937.58400000003,483937.58400000003,483937.58400000003,1652815.6086199998,1652815.6086199998 +3852000.0,417530.17199999996,345584.397,1009106.43924,149152.33762,149152.33762,149152.33762,350687.45249999996,852709.6244799999,1204659.6358400001,577534.84656,880053.09952,353849.343,353849.343,353849.343,290368.68000000005,417530.17199999996,417530.17199999996,426729.41453999997,377858.7468,561656.7051199999,979633.7880000001,278029.39888,353601.14824,366159.549,366159.549,366159.549,366159.549,1255374.0504799997,1255374.0504799997 +3855600.0,564158.367,691451.3640000001,2019037.98288,969833.22227,969833.22227,969833.22227,912217.467,1302054.44352,1107340.78848,1017612.7182900001,1550647.9516800002,407324.33400000003,407324.33400000003,407324.33400000003,956196.8955000001,564158.367,564158.367,802467.1099899999,729675.9045,1084604.6778,1891752.3449999997,536897.3322,682832.5131,488801.445,488801.445,488801.445,488801.445,1696236.1567799998,1696236.1567799998 +3859200.0,788491.809,1205573.832,3520275.5894400002,1304819.7086100003,1304819.7086100003,1304819.7086100003,1035079.192,2089375.9823999999,2599301.67552,1451937.5625300002,2212476.2857600003,861523.125,861523.125,861523.125,1420562.283,788491.809,788491.809,1349525.44701,1178090.32905,1751136.7360200002,3054308.2605000003,866841.7729800001,1102459.8387900002,948026.2289999998,948026.2289999998,948026.2289999998,948026.2289999998,2370732.03906,2370732.03906 +3862800.0,868809.561,1203614.685,3514554.8802,1077263.70906,1077263.70906,1077263.70906,1034345.7284999999,2316422.49208,3141108.9856000002,1531972.13085,2334433.7232,853239.081,853239.081,853239.081,1270894.702,868809.561,868809.561,1246686.9688,1143546.4493999998,1699790.03096,2964750.054,841424.3010399999,1070133.5909199999,1039343.094,1039343.094,1039343.094,1039343.094,2612220.74674,2612220.74674 +3866400.0,2250164.13,1870125.426,5460766.243919999,3491694.4692300004,3491694.4692300004,3491694.4692300004,2947243.8904999997,3569236.28648,6862325.9603200015,3792289.60341,5778727.01472,2371385.7989999996,2371385.7989999996,2371385.7989999996,3041138.912,2250164.13,2250164.13,3732636.1759699993,2881590.9245999996,4283253.670639999,7470791.285999999,2120281.7173599997,2696599.9022799996,2518839.009,2518839.009,2518839.009,2518839.009,6765493.484199999,6765493.484199999 +3870000.0,1705046.0190000003,1027111.515,2999165.6238,2165632.05496,2165632.05496,2165632.05496,1837129.308,2807666.33272,4787024.832,2547135.8169600004,3881349.81632,1721447.178,1721447.178,1721447.178,2028959.877,1705046.0190000003,1705046.0190000003,1450021.73901,1975634.8213499999,2936622.6233399995,5122016.2035,1453676.97966,1848803.9439299998,1857205.9289999998,1857205.9289999998,1857205.9289999998,1857205.9289999998,5126505.03046,5126505.03046 +3873600.0,1339422.7110000001,1008979.827,2946221.09484,1400746.8328700003,1400746.8328700003,1400746.8328700003,1460579.5574999999,2257388.09288,4208268.44352,1961083.46343,2988317.65856,1221276.213,1221276.213,1221276.213,1634446.345,1339422.7110000001,1339422.7110000001,1420893.9230199999,1576024.26165,2342633.59386,4085988.8265,1159642.54314,1474847.39547,1393702.581,1393702.581,1393702.581,1393702.581,4027197.61774,4027197.61774 +3877200.0,1186458.795,1028343.573,3002763.23316,1361597.77556,1361597.77556,1361597.77556,1345881.523,2204003.71848,4159117.97824,1914585.8214,2917464.1088,1205642.157,1205642.157,1205642.157,1591093.7384999997,1186458.795,1186458.795,1465038.95824,1544503.7555999998,2295780.8910399997,4004268.996,1136449.67696,1445350.42808,1349390.475,1349390.475,1349390.475,1349390.475,3567286.1103,3567286.1103 +3880800.0,848410.6560000001,750176.013,2190513.95796,907005.9794399999,907005.9794399999,907005.9794399999,753009.4354999999,1196998.90544,2657067.8604800003,1138186.5247199999,1734379.46624,667677.216,667677.216,667677.216,823741.4325,848410.6560000001,848410.6560000001,1060333.22538,749537.8780499999,1114127.90762,1943246.3505000002,551511.82138,701419.39699,878198.709,878198.709,878198.709,878198.709,2550888.03904,2550888.03904 +3884400.0,148219.28399999999,131005.76400000001,382536.83088,149776.96052,149776.96052,149776.96052,71896.90900000001,251868.55367999998,958626.94272,302292.27819000004,460635.85248000006,223806.82499999998,223806.82499999998,223806.82499999998,141005.648,148219.28399999999,148219.28399999999,277564.20535999996,110096.98604999999,163650.33482,285436.63049999997,81009.63418,103029.03139,188312.202,188312.202,188312.202,188312.202,445645.98056,445645.98056 +3888000.0,148153.41,128363.97299999998,374822.8011599999,148213.58805,148213.58805,148213.58805,52746.757,273191.50328,920726.3212800001,302310.69980999996,460663.92352,213115.11000000004,213115.11000000004,213115.11000000004,133165.998,148153.41,148153.41,267680.45863,99889.80749999998,148478.183,258973.57499999998,73499.16699999999,93477.12849999999,187237.39500000002,187237.39500000002,187237.39500000002,187237.39500000002,445447.9194,445447.9194 +3891600.0,174759.19199999998,161006.271,470138.31132,150536.41845,150536.41845,150536.41845,63299.08900000001,371872.07984,966899.95328,352498.94966999994,537141.2566399999,226124.40000000002,226124.40000000002,226124.40000000002,136718.77099999998,174759.19199999998,174759.19199999998,312796.73386,121230.56970000001,180199.51348,314301.477,89201.75252000001,113447.86646,203561.98200000002,203561.98200000002,203561.98200000002,203561.98200000002,525442.6372799999,525442.6372799999 +3895200.0,216500.748,172469.84999999998,503611.96199999994,152276.92139,152276.92139,152276.92139,78861.5065,410931.88616,945463.61152,386127.59766,588384.91072,284645.907,284645.907,284645.907,168993.64999999997,216500.748,216500.748,316824.91164999997,144841.5918,215295.40311999997,375515.238,106574.80088,135543.11924,286260.915,286260.915,286260.915,286260.915,650945.5823199999,650945.5823199999 +3898800.0,266949.38399999996,205142.274,599015.44008,162958.31079,162958.31079,162958.31079,88590.25,515111.27824,975880.5772800001,450707.00157,686791.62144,393692.688,393692.688,393692.688,258039.2885,266949.38399999996,266949.38399999996,350049.94816999993,167045.4495,248299.65579999998,433080.795,122912.45420000001,156321.5441,343918.347,343918.347,343918.347,343918.347,802627.81456,802627.81456 +3902400.0,321749.295,251739.33899999998,735078.86988,187123.56542000003,187123.56542000003,187123.56542000003,90452.5125,619523.84984,1028155.9308800001,525192.91419,800293.9644800001,448375.917,448375.917,448375.917,279811.1645,321749.295,321749.295,381345.23673999996,193119.68565,287056.91546,500680.6665,142097.94154,180721.87867,421790.334,421790.334,421790.334,421790.334,967392.8803,967392.8803 +3906000.0,421954.05299999996,272221.21499999997,794885.9478,204181.58255000002,204181.58255000002,204181.58255000002,100034.536,706959.6524,1223006.2534400001,632715.6790500002,964138.1776000002,486115.78500000003,486115.78500000003,486115.78500000003,298704.57050000003,421954.05299999996,421954.05299999996,398304.84941,237823.9947,353506.28348,616580.7270000001,174991.48252,222556.28146,505366.143,505366.143,505366.143,505366.143,1268675.18602,1268675.18602 +3909600.0,631279.302,373100.001,1089452.0029199999,332716.41535,332716.41535,332716.41535,192417.9635,1276644.9422399998,1541485.2435200003,949747.98219,1447235.02048,549141.1680000001,549141.1680000001,549141.1680000001,467304.93249999994,631279.302,631279.302,619109.0538099998,346042.4652,514364.35568,897147.132,254618.90032000002,323827.39336,657597.054,657597.054,657597.054,657597.054,1898046.43468,1898046.43468 +3913200.0,1341405.915,763228.5120000001,2228627.25504,1804028.44424,1804028.44424,1804028.44424,1555027.2010000001,3628046.52312,4630039.73824,3215410.1637,4899672.6304,1404188.8020000001,1404188.8020000001,1404188.8020000001,2139274.9805,1341405.915,1341405.915,2781095.74704,1767681.3465,2627516.4706,4582877.565,1300664.2994000001,1654200.5687000002,1675480.6350000002,1675480.6350000002,1675480.6350000002,1675480.6350000002,4033160.4510999997,4033160.4510999997 +3916800.0,1187525.043,1261885.926,3684706.90392,2293338.24797,2293338.24797,2293338.24797,2090607.5855,4474181.119360001,3502608.93184,3417459.5206500003,5207557.364800001,1375529.949,1375529.949,1375529.949,1958405.6100000003,1187525.043,1187525.043,2298956.92663,2253403.12365,3349502.91466,5842156.246499999,1658059.58234,2108740.20707,1645865.31,1645865.31,1645865.31,1645865.31,3570491.96262,3570491.96262 +3920400.0,1728366.447,1865537.2169999997,5447368.67364,1131976.3079900001,1131976.3079900001,1131976.3079900001,1976081.5899999999,3731114.06096,5847942.161920001,2929431.7176599996,4463895.95072,1487219.793,1487219.793,1487219.793,1154844.4319999998,1728366.447,1728366.447,1832063.0597099997,1510685.4294,2245512.66296,3916591.8540000003,1111566.06904,1413703.1549200001,1884749.877,1884749.877,1884749.877,1884749.877,5196621.78398,5196621.78398 +3924000.0,1150161.8129999998,813129.522,2374338.20424,505304.7205800001,505304.7205800001,505304.7205800001,577053.337,1491584.9800800001,5817214.12608,763044.3611699999,1162734.26464,1076833.416,1076833.416,1076833.416,1077515.9605,1150161.8129999998,1150161.8129999998,1284778.4939599999,1874752.8894,2786669.72696,4860470.454,1379447.80504,1754398.3829200002,555055.674,555055.674,555055.674,555055.674,3458153.1844199994,3458153.1844199994 +3927600.0,474331.64999999997,435532.41000000003,1271754.6372,173383.78673,173383.78673,173383.78673,233720.2665,778089.6960799999,2155206.81856,417968.04923999996,636903.6940799999,265829.517,265829.517,265829.517,233033.49649999998,474331.64999999997,474331.64999999997,360066.03724,527427.9684,783979.3505599999,1367405.844,388082.80144,493568.39512,276654.129,276654.129,276654.129,276654.129,1426157.1609999998,1426157.1609999998 +3931200.0,577822.323,1004272.827,2932476.65484,290336.09143000003,290336.09143000003,290336.09143000003,695664.0179999999,1277448.84744,1832790.44352,928512.52011,1414876.2211200001,458147.334,458147.334,458147.334,817247.3505,577822.323,577822.323,522980.6939499999,532418.4513000001,791397.30292,1380344.1330000001,391754.8110800001,498238.5013400001,533734.206,533734.206,533734.206,533734.206,1737319.1178199998,1737319.1178199998 +3934800.0,294166.57200000004,302714.232,883925.55744,218376.00466,218376.00466,218376.00466,474044.86499999993,551160.21416,526574.5920000001,342886.65075,522493.94399999996,179246.505,179246.505,179246.505,299833.31,294166.57200000004,294166.57200000004,237161.48963,181845.27945,270298.41538,471450.7245,133802.20562000002,170171.26151,198629.84999999998,198629.84999999998,198629.84999999998,198629.84999999998,884460.82648,884460.82648 +3938400.0,141909.99599999998,55222.326,161249.19191999998,74351.99321,74351.99321,74351.99321,67025.47950000002,234012.52008000002,153095.97248,106732.52856,162640.04352000004,65857.869,65857.869,65857.869,33495.483,141909.99599999998,141909.99599999998,112833.61491999998,39548.43225,58785.5709,102532.9725,29099.8341,37009.52055,62828.60399999999,62828.60399999999,62828.60399999999,62828.60399999999,426676.05463999993,426676.05463999993 +3942000.0,269113.098,211770.74399999998,618370.57248,743130.25809,743130.25809,743130.25809,490273.1995,503089.45135999995,115684.62464000001,531416.56239,809777.6188800001,124231.25399999999,124231.25399999999,124231.25399999999,514672.1405,269113.098,269113.098,469185.96179,326670.63885,485569.69034,846923.8785,240365.06266,305699.19043,96996.891,96996.891,96996.891,96996.891,809133.3813199999,809133.3813199999 +3945600.0,597359.463,1041677.964,3041699.65488,524277.29420000006,524277.29420000006,524277.29420000006,777082.523,1715283.7448000002,1558391.6537600001,960273.78384,1463274.33728,581290.1370000001,581290.1370000001,581290.1370000001,1094866.7449999999,597359.463,597359.463,1068716.1511,779008.0715999999,1157932.98544,2019650.5559999999,573196.06256,728997.6768799999,681494.502,681494.502,681494.502,681494.502,1796060.7854199999,1796060.7854199999 +3949200.0,754400.223,983324.3190000001,2871307.0114800003,656446.7102600001,656446.7102600001,656446.7102600001,919523.122,2010830.6629599996,2698062.9606399997,1306690.6960800001,1991147.7273600004,752856.6569999999,752856.6569999999,752856.6569999999,1076721.45,754400.223,754400.223,836996.3347199999,966890.41065,1437205.00546,2506752.9165,711440.35154,904818.4336699999,854061.219,854061.219,854061.219,854061.219,2268230.0038199998,2268230.0038199998 +3952800.0,2052189.9270000001,1763974.761,5150806.302119999,3047679.19082,3047679.19082,3047679.19082,2828839.3945,3327824.1944,5895834.355200001,3563758.93587,5430489.80704,2178293.493,2178293.493,2178293.493,2607486.6615,2052189.9270000001,2052189.9270000001,2712940.0431899996,2643933.6765,3929995.2425999995,6854642.865,1945412.9274,2474199.6627,2319901.5360000003,2319901.5360000003,2319901.5360000003,2319901.5360000003,6170251.04718,6170251.04718 +3956400.0,1510617.9299999997,911940.327,2662865.75484,1595583.4064500001,1595583.4064500001,1595583.4064500001,1631242.886,2479059.39648,3842870.0192,2089346.4463199999,3183766.01344,1399284.996,1399284.996,1399284.996,1648258.3985,1510617.9299999997,1510617.9299999997,1194583.30758,1589996.8628999998,2363402.7443599994,4122214.0889999997,1169923.6176399998,1487922.9902199998,1520560.6739999999,1520560.6739999999,1520560.6739999999,1520560.6739999999,4541924.576199999,4541924.576199999 +3960000.0,1208890.818,916015.8060000001,2674766.15352,1269806.26377,1269806.26377,1269806.26377,1227888.333,2018772.8819199998,3700565.85344,1713211.0947000002,2610607.3824000005,1065416.682,1065416.682,1065416.682,1432168.9935,1208890.818,1208890.818,1271936.50103,1400632.4385000002,2081927.7234,3631269.2850000006,1030588.8066000001,1310715.2943000002,1216216.608,1216216.608,1216216.608,1216216.608,3634731.72612,3634731.72612 +3963600.0,1136081.364,981106.422,2864830.75224,1311513.8289,1311513.8289,1311513.8289,1296563.7335,2100860.03288,3971167.9801600007,1816584.4452,2768128.6784,1123387.863,1123387.863,1123387.863,1518235.5755,1136081.364,1136081.364,1383298.4098699999,1481632.23195,2202327.41638,3841268.7495,1090188.65462,1386515.10101,1277225.1779999998,1277225.1779999998,1277225.1779999998,1277225.1779999998,3415817.96776,3415817.96776 +3967200.0,809864.3999999999,718039.617,2096675.6816399998,872011.7043,872011.7043,872011.7043,725196.2865,1127836.06576,2524152.13376,1086169.98462,1655116.16704,624519.615,624519.615,624519.615,787170.2265,809864.3999999999,809864.3999999999,1004962.2177399999,715577.23485,1063648.13674,1855200.2385000002,526523.49626,669638.9432300001,829775.2259999999,829775.2259999999,829775.2259999999,829775.2259999999,2434992.2959999996,2434992.2959999996 +3970800.0,138566.41199999998,123475.02599999998,360547.07592,139402.32702000003,139402.32702000003,139402.32702000003,69644.3895,234920.83863999997,890385.3196800001,261948.69855,399159.9216,208695.756,208695.756,208695.756,132732.1065,138566.41199999998,138566.41199999998,260623.22663,102322.10789999999,152093.60235999996,265279.539,75288.85964,95753.28121999999,166156.278,166156.278,166156.278,166156.278,416623.01207999996,416623.01207999996 +3974400.0,135626.31600000002,118488.729,345987.08868,111562.58278000001,111562.58278000001,111562.58278000001,47364.516500000005,237076.21328,841893.9648,274753.32801,418671.73792000004,195945.108,195945.108,195945.108,123188.88050000001,135626.31600000002,135626.31600000002,247372.42217999997,92064.11804999999,136845.92362,238684.75049999997,67741.00537999999,86153.82899,168865.68300000002,168865.68300000002,168865.68300000002,168865.68300000002,407783.12344,407783.12344 +3978000.0,160689.93300000002,151762.851,443147.52492,115493.31552000002,115493.31552000002,115493.31552000002,60944.555,287023.60751999996,924368.52096,318024.32718,484608.49856000004,212324.58299999998,212324.58299999998,212324.58299999998,131642.294,160689.93300000002,160689.93300000002,295529.81990999996,110215.52549999999,163826.5342,285743.955,81096.85579999999,103139.96089999999,187527.40800000002,187527.40800000002,187527.40800000002,187527.40800000002,483141.06522,483141.06522 +3981600.0,192521.139,166236.717,485411.21364,117292.86602,117292.86602,117292.86602,72150.904,365767.51616,927241.7984000002,365743.19607000006,557322.96544,230796.021,230796.021,230796.021,140551.9465,192521.139,192521.139,308864.8186,135672.24195,201665.90038,351742.8495,99827.97062000001,126962.41901000001,253654.55100000004,253654.55100000004,253654.55100000004,253654.55100000004,578846.89126,578846.89126 +3985200.0,243913.686,178481.57700000002,521166.20484,145827.91684999998,145827.91684999998,145827.91684999998,84863.9435,453575.86983999994,910681.58976,412457.81136,628507.14112,345402.108,345402.108,345402.108,239419.86599999998,243913.686,243913.686,328674.06766999996,154410.58754999997,229518.94741999995,400323.74549999996,113615.69157999998,144497.80909,315661.78500000003,315661.78500000003,315661.78500000003,315661.78500000003,733367.1492399998,733367.1492399998 +3988800.0,288945.669,212094.594,619316.21448,163003.63431,163003.63431,163003.63431,86218.181,557015.88872,936587.51168,475538.46627,724630.0438399999,411311.529,411311.529,411311.529,261075.33899999998,288945.669,288945.669,355485.54157999996,177844.10624999998,264350.9925,461077.3125,130858.13249999999,166426.95375000002,377137.719,377137.719,377137.719,377137.719,868763.31146,868763.31146 +3992400.0,395323.329,269849.211,787959.6961200001,198812.7845,198812.7845,198812.7845,98575.41050000001,693338.0217599999,1130064.50624,602688.1728000001,918381.9776000001,479075.41799999995,479075.41799999995,479075.41799999995,295502.6165,395323.329,395323.329,395113.47693999996,216186.9507,321344.55387999996,560484.687,159070.89212,202308.28226,484099.173,484099.173,484099.173,484099.173,1188605.47586,1188605.47586 +3996000.0,503849.265,320146.62899999996,934828.1566799999,301674.02474,301674.02474,301674.02474,189517.8985,830417.02464,1431128.01088,752433.6143100001,1146565.5075200002,525462.831,525462.831,525462.831,344437.7125,503849.265,503849.265,419452.05288999993,312059.47410000005,463851.36644,809043.0810000001,229614.13156000004,292026.02638000005,571674.294,571674.294,571674.294,571674.294,1514906.7900999999,1514906.7900999999 +3999600.0,1221377.7780000002,1217894.943,3556253.23356,1142225.0278999999,1142225.0278999999,1142225.0278999999,1100819.2089999998,1960272.1068799996,2194648.12416,1665064.8819,2537241.7248,813011.0159999998,813011.0159999998,813011.0159999998,1767808.3255,1221377.7780000002,1221377.7780000002,2390486.4502999997,737541.3042,1096295.96328,1912144.122,542684.7127200001,690192.9735600001,1673587.2630000003,1673587.2630000003,1673587.2630000003,1673587.2630000003,3672275.85252,3672275.85252 +4003200.0,2210233.5810000002,1986021.1979999999,5799181.898159999,2799752.5645100004,2799752.5645100004,2799752.5645100004,2016432.376,3332837.3555199997,3779426.7808,3225449.69061,4914970.957119999,1351183.749,1351183.749,1351183.749,2216254.0855000005,2210233.5810000002,2210233.5810000002,3313779.5577899995,1723865.76945,2562388.1313799997,4469281.6245,1268424.68962,1613197.84351,2364591.273,2364591.273,2364591.273,2364591.273,6645435.63354,6645435.63354 +4006800.0,2138444.136,2113948.4400000004,6172729.444800001,2557731.0523600006,2557731.0523600006,2557731.0523600006,2305560.1555,3616520.8626400004,8727976.27776,2733496.25682,4165327.62944,2214302.163,2214302.163,2214302.163,2171686.1319999998,2138444.136,2138444.136,1766042.7361199998,3119553.2956499998,4636965.639459999,8087730.7665,2295375.01754,2919285.67667,1719816.933,1719816.933,1719816.933,1719816.933,6429588.7022400005,6429588.7022400005 +4010400.0,1619285.1030000001,1379836.0350000001,4029121.2222,1766516.4508200001,1766516.4508200001,1766516.4508200001,2473553.1169999996,3203478.28368,5535897.875840001,3170043.01698,4830541.74016,2312531.5530000003,2312531.5530000003,2312531.5530000003,2564859.766,1619285.1030000001,1619285.1030000001,1686423.2005399999,2988290.556,4441854.1104,7747419.96,2198791.5696,2796449.6808,1747004.8140000002,1747004.8140000002,1747004.8140000002,1747004.8140000002,4868650.54302,4868650.54302 +4014000.0,1179701.91,976943.529,2852675.10468,1565491.8492400001,1565491.8492400001,1565491.8492400001,2183345.2550000004,3106576.5127200005,6119327.300480002,2430036.36477,3702912.55584,984290.508,984290.508,984290.508,2088930.7005,1179701.91,1179701.91,980102.1752599999,2150580.5127,3196665.35468,5575579.107,1582402.45132,2012518.5538599999,1367128.215,1367128.215,1367128.215,1367128.215,3546970.4094,3546970.4094 +4017600.0,957500.4299999999,807294.294,2357299.33848,1119618.34721,1119618.34721,1119618.34721,1419007.7965,2382963.77912,2739872.548480001,1785566.6247299998,2720863.4281599997,898065.2250000001,898065.2250000001,898065.2250000001,1286481.784,957500.4299999999,957500.4299999999,895865.6457399998,1263778.3133999999,1878505.0485599998,3276462.2939999998,929891.20344,1182646.86612,995510.8769999999,995510.8769999999,995510.8769999999,995510.8769999999,2878884.6262,2878884.6262 +4021200.0,618990.243,476979.39300000004,1392779.8275600001,489481.53738,489481.53738,489481.53738,616608.097,1322077.88216,1611226.3481599998,1007845.48263,1535764.54496,523584.924,523584.924,523584.924,741683.6699999999,618990.243,618990.243,510272.74129,668112.0488999999,993094.9467599998,1732142.349,491598.49523999996,625220.90502,622688.211,622688.211,622688.211,622688.211,1861097.33062,1861097.33062 +4024800.0,481600.36199999996,374743.983,1094252.4303599999,303134.10060999996,303134.10060999996,303134.10060999996,482277.306,901580.1636,1226816.2444799999,728206.93323,1109648.66016,403664.7270000001,403664.7270000001,403664.7270000001,528043.334,481600.36199999996,481600.36199999996,353307.60244,484453.4103,720101.11852,1255990.323,356462.01548,453352.69754,466455.774,466455.774,466455.774,466455.774,1448011.7550799998,1448011.7550799998 +4028400.0,467450.32499999995,363595.353,1061698.43076,258378.91541000002,258378.91541000002,258378.91541000002,456411.1615,869670.5496,1186096.4736000001,695606.6550300001,1059972.0457600001,394152.0,394152.0,394152.0,487375.238,467450.32499999995,467450.32499999995,333980.4741,464263.7229,690090.76836,1203646.689,341606.39363999997,434459.13821999996,436694.03400000004,436694.03400000004,436694.03400000004,436694.03400000004,1405467.3105,1405467.3105 +4032000.0,896577.3030000001,777396.0660000001,2269996.51272,966010.0067200001,966010.0067200001,966010.0067200001,970999.9705,1635977.75368,2888963.63648,1423745.10852,2169516.3558400003,829977.603,829977.603,829977.603,1109605.098,896577.3030000001,896577.3030000001,1004970.6592899999,1104319.74915,1641482.6888599999,2863051.2015,812561.19814,1033425.14797,960659.784,960659.784,960659.784,960659.784,2695709.09102,2695709.09102 +4035600.0,984667.9500000001,879636.2550000001,2568537.8646,1132746.34385,1132746.34385,1132746.34385,1092700.049,1886712.5356,3345612.3814400006,1598020.27014,2435078.50688,929956.86,929956.86,929956.86,1242755.0625,984667.9500000001,984667.9500000001,1221014.32011,1244374.1154,1849662.26536,3226155.114,915613.5466400001,1164488.36972,1081636.113,1081636.113,1081636.113,1081636.113,2960568.303,2960568.303 +4039200.0,1073785.416,957595.4309999999,2796178.6585199996,1286398.72988,1286398.72988,1286398.72988,1233345.239,2102972.2616,3692974.9536000006,1805425.74933,2751124.9513600003,1058979.309,1058979.309,1058979.309,1381566.081,1073785.416,1073785.416,1346915.63721,1371203.7615,2038184.3566,3554972.7150000003,1008935.1134,1283175.8657,1192521.777,1192521.777,1192521.777,1192521.777,3228514.81744,3228514.81744 +4042800.0,1122825.1469999999,1005142.1939999999,2935015.2064799997,1357271.6545300002,1357271.6545300002,1357271.6545300002,1290282.112,2219640.67472,3905547.07712,1893237.51603,2884933.35776,1139153.6639999999,1139153.6639999999,1139153.6639999999,1458582.2510000002,1122825.1469999999,1122825.1469999999,1404107.2587099997,1440743.7681,2141549.9960399996,3735261.621,1060102.8219599999,1348251.57558,1257176.6460000002,1257176.6460000002,1257176.6460000002,1257176.6460000002,3375960.9419799997,3375960.9419799997 +4046400.0,1131044.562,1015419.102,2965023.7778399996,1353731.5196900002,1353731.5196900002,1353731.5196900002,1288888.202,2238091.27288,3950867.26016,1906369.87065,2904944.5648000003,1151459.775,1151459.775,1151459.775,1471027.1485,1131044.562,1131044.562,1415933.42293,1451709.5319,2157849.72396,3763691.379,1068171.45804,1358513.36442,1274340.4500000002,1274340.4500000002,1274340.4500000002,1274340.4500000002,3400673.9830799997,3400673.9830799997 +4050000.0,1072713.2370000002,912750.9180000001,2665232.6805600002,1114373.8184700003,1114373.8184700003,1114373.8184700003,980980.0210000002,1858285.8333599998,2857845.4656,1572230.01663,2395779.07296,908707.9470000002,908707.9470000002,908707.9470000002,1163398.523,1072713.2370000002,1072713.2370000002,1354061.9937,1151773.8138000001,1712019.34792,2986080.2580000004,847478.0160800001,1077832.77884,1106647.0620000002,1106647.0620000002,1106647.0620000002,1106647.0620000002,3225291.13258,3225291.13258 +4053600.0,491435.76599999995,348564.696,1017808.91232,593320.75792,593320.75792,593320.75792,411027.89350000006,927007.68712,1201083.0643200001,753610.3230600001,1148358.5875200003,425367.0299999999,425367.0299999999,425367.0299999999,518820.169,491435.76599999995,491435.76599999995,792103.04147,263351.7927,391451.30668,682763.907,193774.89932,246445.25785999998,613924.497,613924.497,613924.497,613924.497,1477583.53644,1477583.53644 +4057200.0,177950.133,128084.44499999998,374006.57939999993,187330.17897000004,187330.17897000004,187330.17897000004,70741.496,385380.55464000005,920826.3737599999,342248.21652,521521.09184,257112.16500000004,257112.16500000004,257112.16500000004,141899.1595,177950.133,177950.133,269143.32393,110298.8421,163950.37764,285959.961,81158.16036,103217.92878,191264.382,191264.382,191264.382,191264.382,535036.73322,535036.73322 +4060800.0,186152.055,177845.391,519308.54172,167991.1222,167991.1222,167991.1222,66496.5735,416344.67263999995,959770.69184,345315.54183,526195.11136,259430.76899999997,259430.76899999997,259430.76899999997,137304.66749999998,186152.055,186152.055,271870.31976,115692.43364999999,171967.51865999997,299943.3465,85126.77834,108265.26507,192622.62300000002,192622.62300000002,192622.62300000002,192622.62300000002,559697.1786999999,559697.1786999999 +4064400.0,201828.12,198127.02000000002,578530.8984000001,172199.11148000002,172199.11148000002,172199.11148000002,76956.2045,418794.13800000004,1008926.6841600001,372290.62814999995,567300.0048,283360.15499999997,283360.15499999997,283360.15499999997,137929.05000000002,201828.12,201828.12,308447.70502,130352.3766,193758.34743999998,337950.606,95913.60056,121984.07588,237964.70999999996,237964.70999999996,237964.70999999996,237964.70999999996,606829.8807999999,606829.8807999999 +4068000.0,227926.287,211140.366,616529.86872,175278.90897,175278.90897,175278.90897,82528.5895,435704.3544,1008029.88928,411024.97253999993,626323.7676799999,363414.546,363414.546,363414.546,173272.14450000002,227926.287,227926.287,326344.71454,152486.80515,226659.39926,395336.16150000005,112200.16774,142697.52877,304845.95699999994,304845.95699999994,304845.95699999994,304845.95699999994,685298.36958,685298.36958 +4071600.0,284011.47,241039.93499999997,703836.6101999999,183638.06219000003,183638.06219000003,183638.06219000003,88707.892,568729.50376,1044911.9360000002,479895.71070000005,731269.6544000001,432683.94000000006,432683.94000000006,432683.94000000006,272390.8075,284011.47,284011.47,353932.3444799999,179705.47005,267117.76042,465903.07050000003,132227.72858000002,168168.82259000003,377328.98699999996,377328.98699999996,377328.98699999996,377328.98699999996,853927.8197999998,853927.8197999998 +4075200.0,361209.336,259546.80599999998,757876.67352,190408.75546000001,190408.75546000001,190408.75546000001,89485.15800000001,663683.59968,1145628.5094400002,558884.75307,851633.9094400001,467893.6320000001,467893.6320000001,467893.6320000001,283933.412,361209.336,361209.336,389318.8410799999,214066.63395,318192.87318,554987.5695,157510.75782,200324.08461000002,446357.25899999996,446357.25899999996,446357.25899999996,446357.25899999996,1086036.07024,1086036.07024 +4078800.0,461728.1610000001,310105.52999999997,905508.1475999999,215954.06569,215954.06569,215954.06569,110143.8345,795177.07472,1443452.6355200002,687363.20709,1047410.6012800001,528205.881,528205.881,528205.881,336519.13750000007,461728.1610000001,461728.1610000001,423449.53325999994,296815.82085,441192.89914,769522.4985,218397.81386000002,277760.97803,548536.9890000001,548536.9890000001,548536.9890000001,548536.9890000001,1388262.67074,1388262.67074 +4082400.0,527229.45,372984.411,1089114.48012,310231.1061300001,310231.1061300001,310231.1061300001,197965.39,933967.24432,1617502.82432,796967.99658,1214427.4233600001,549545.991,549545.991,549545.991,419880.3805,527229.45,527229.45,437887.09458,337600.64115,501816.26166,875260.9215,248407.38534,315927.51357,586703.724,586703.724,586703.724,586703.724,1585203.213,1585203.213 +4086000.0,1246738.311,1231398.984,3595685.0332799996,1182472.04097,1182472.04097,1182472.04097,1104560.3694999998,2050905.4379199997,2310517.5347200003,1701873.9834599998,2593331.7843199996,844745.2440000001,844745.2440000001,844745.2440000001,1794099.2159999998,1246738.311,1246738.311,2381839.06597,747224.838,1110689.7592,1937249.5799999998,549809.8807999999,699254.8484,1678925.028,1678925.028,1678925.028,1678925.028,3748526.5217399998,3748526.5217399998 +4089600.0,2223126.8039999995,1990222.3620000002,5811449.297040001,2810358.49611,2810358.49611,2810358.49611,2019192.5984999998,3341833.10464,3795970.4736,3248590.87749,4950233.71808,1372771.512,1372771.512,1372771.512,2206358.1085,2223126.8039999995,2223126.8039999995,3390683.89166,1726013.30625,2565580.2725,4474849.3125,1270004.8525,1615207.51375,2363441.589,2363441.589,2363441.589,2363441.589,6684201.257359999,6684201.257359999 +4093200.0,2277112.965,2282809.182,6665802.811439999,2695516.1608100003,2695516.1608100003,2695516.1608100003,2447432.2005,3844775.0784799997,9087557.16608,2946440.0265299994,4489813.37376,2342580.825,2342580.825,2342580.825,2326594.1615,2277112.965,2277112.965,1954539.8011099997,3248702.2268999997,4828935.161959999,8422561.329,2390403.12004,3040143.56542,1849218.2489999998,1849218.2489999998,1849218.2489999998,1849218.2489999998,6846519.6481,6846519.6481 +4096800.0,1684103.3940000003,1475594.508,4308735.96336,1917399.6169900002,1917399.6169900002,1917399.6169900002,2613987.1415,3313359.4487999994,5999447.130240001,3272750.6244300003,4987048.570560001,2371681.1580000003,2371681.1580000003,2371681.1580000003,2661085.847,1684103.3940000003,1684103.3940000003,1774539.40872,3142848.3813,4671591.914919999,8148125.433,2312515.59908,2941085.27534,1804494.528,1804494.528,1804494.528,1804494.528,5063537.53796,5063537.53796 +4100400.0,1220151.447,1018868.2379999999,2975095.2549599996,1694559.152,1694559.152,1694559.152,2352418.544,3182190.0996000003,6542757.871359999,2577883.5824700003,3928203.5542400004,1036277.754,1036277.754,1036277.754,2172901.682,1220151.447,1220151.447,1022301.13258,2319157.1942999996,3447241.0641199993,6012629.762999999,1706441.5898799999,2170273.02874,1434494.064,1434494.064,1434494.064,1434494.064,3668588.6839799997,3668588.6839799997 +4104000.0,970386.4469999999,813581.7960000001,2375658.84432,1216657.77398,1216657.77398,1216657.77398,1432223.8069999998,2478679.57456,3022765.7568000006,1823574.2038500002,2778779.7392,919876.677,919876.677,919876.677,1358115.304,970386.4469999999,970386.4469999999,888707.3748799999,1333382.0913,1981965.47892,3456916.5330000003,981105.83508,1247782.25334,1011905.1569999999,1011905.1569999999,1011905.1569999999,1011905.1569999999,2917628.5839799996,2917628.5839799996 +4107600.0,603909.669,471034.41300000006,1375420.4859600002,469888.19108,469888.19108,469888.19108,660824.1045,1379838.29704,1554701.3427200003,1026127.9986299999,1563623.6169599998,501114.48,501114.48,501114.48,711591.398,603909.669,603909.669,482411.9273999999,660376.78785,981597.10194,1712087.9685,485906.87106000003,617982.22863,606678.1499999999,606678.1499999999,606678.1499999999,606678.1499999999,1815755.07146,1815755.07146 +4111200.0,438675.768,333933.564,975086.00688,257147.74041000003,257147.74041000003,257147.74041000003,433800.5945,819121.6003200001,1077375.47328,671035.5804600001,1022530.4083200002,350897.319,350897.319,350897.319,462518.7035,438675.768,438675.768,305710.20895999996,425989.8783,633199.76972,1104418.203,313444.40428,398642.37994,418515.54900000006,418515.54900000006,418515.54900000006,418515.54900000006,1318951.8091199999,1318951.8091199999 +4114800.0,396728.868,298058.757,870331.5704399999,190877.31420999998,190877.31420999998,190877.31420999998,374544.527,730118.0614399998,929957.42464,580370.11935,884373.5152000001,310122.738,310122.738,310122.738,374501.099,396728.868,396728.868,265343.41430999996,367507.06019999995,546269.75368,952796.0819999999,270412.60232,343914.01436,352304.163,352304.163,352304.163,352304.163,1192831.46312,1192831.46312 +4118400.0,834145.746,717523.236,2095167.8491200001,871450.66701,871450.66701,871450.66701,899848.8765000001,1508921.14856,2634334.8403200004,1322854.29591,2015777.9747200003,753680.9759999999,753680.9759999999,753680.9759999999,1007272.0489999999,834145.746,834145.746,902726.5575899999,1012062.16665,1504349.1958599999,2623864.8765000002,744677.84114,947090.2744700001,877272.441,877272.441,877272.441,877272.441,2507998.20964,2507998.20964 +4122000.0,949277.9579999999,846922.9019999999,2473014.8738399995,1089442.0607399999,1089442.0607399999,1089442.0607399999,1052273.446,1809316.5924,3185655.6224000007,1547516.9931900003,2358121.1324800006,887812.0499999999,887812.0499999999,887812.0499999999,1183583.464,949277.9579999999,949277.9579999999,1184537.57448,1196002.75005,1777762.11242,3100747.8705,880021.77658,1119222.32659,1037196.804,1037196.804,1037196.804,1037196.804,2854162.3937199996,2854162.3937199996 +4125600.0,973388.61,861676.1760000002,2516094.43392,1177023.79245,1177023.79245,1177023.79245,1118683.181,1881140.4748000002,3280723.18016,1633301.17902,2488839.89184,938440.932,938440.932,938440.932,1219704.4370000002,973388.61,973388.61,1223900.77225,1229893.2189000002,1828137.5747600002,3188612.0490000006,904958.4672400001,1150937.1110200002,1069691.934,1069691.934,1069691.934,1069691.934,2926655.0873999996,2926655.0873999996 +4129200.0,989180.7659999998,877027.8929999999,2560921.44756,1202524.2757,1202524.2757,1202524.2757,1137830.3159999999,1920211.6632800002,3349434.928000001,1661964.34068,2532517.09056,970390.3799999999,970390.3799999999,970390.3799999999,1244919.2595,989180.7659999998,989180.7659999998,1240999.70176,1252169.2314,1861249.0797599999,3246364.6739999996,921349.2122399999,1171783.05852,1092565.026,1092565.026,1092565.026,1092565.026,2974136.8364399998,2974136.8364399998 +4132800.0,1049037.834,937847.064,2738513.42688,1257746.6177100001,1257746.6177100001,1257746.6177100001,1195861.681,2061952.56296,3623199.46816,1767229.73259,2692921.49728,1050676.968,1050676.968,1050676.968,1340531.633,1049037.834,1049037.834,1313143.2852199997,1337826.92175,1988572.3627,3468440.1675,984376.3523,1251941.73665,1172764.359,1172764.359,1172764.359,1172764.359,3154107.08756,3154107.08756 +4136400.0,988262.3220000002,835489.0409999999,2439627.9997199997,1026622.03809,1026622.03809,1026622.03809,900598.174,1690033.22584,2579945.19808,1440988.06845,2195791.3424,818457.915,818457.915,818457.915,1045496.7110000001,988262.3220000002,988262.3220000002,1244982.7280799998,1048524.9687,1558548.22508,2718398.067,771507.26092,981212.25466,1008764.22,1008764.22,1008764.22,1008764.22,2971375.38148,2971375.38148 +4140000.0,449430.954,314578.395,918568.9134,546846.4657700001,546846.4657700001,546846.4657700001,377575.4255,839604.3374399999,1066165.59168,688228.4677800001,1048729.09376,382115.334,382115.334,382115.334,464260.49250000005,449430.954,449430.954,720387.3267499999,238492.21229999998,354499.53531999997,618313.143,175483.15868,223181.60114,557096.1329999999,557096.1329999999,557096.1329999999,557096.1329999999,1351289.06836,1351289.06836 +4143600.0,168150.41100000002,119753.98199999999,349681.62743999995,178488.71854000003,178488.71854000003,178488.71854000003,68134.0835,358009.76528,850701.73824,323673.45654000004,493216.69568000006,240560.84399999998,240560.84399999998,240560.84399999998,132278.0095,168150.41100000002,168150.41100000002,252205.47169999997,103202.24579999999,153401.85671999998,267561.378,75936.46728,96576.91644,180287.32799999998,180287.32799999998,180287.32799999998,180287.32799999998,505572.23574,505572.23574 +4147200.0,173309.682,155470.512,453973.89504,159986.56773,159986.56773,159986.56773,59579.666999999994,395981.96504000004,887087.2326400001,326043.30569999997,496827.8944,245202.59699999998,245202.59699999998,245202.59699999998,129232.9465,173309.682,173309.682,256293.49550999998,105313.76595,156540.46198,273035.68950000004,77490.12902000001,98552.88221000001,180636.21899999998,180636.21899999998,180636.21899999998,180636.21899999998,521084.44388,521084.44388 +4150800.0,187726.497,188413.59,550167.6828,161264.17736,161264.17736,161264.17736,67909.807,402047.10872,946671.82464,345922.30575000006,527119.7040000001,250941.31200000003,250941.31200000003,250941.31200000003,129956.862,187726.497,187726.497,287996.98954,119013.05699999999,176903.3588,308552.37,87570.10119999999,111372.7126,206130.79499999998,206130.79499999998,206130.79499999998,206130.79499999998,564431.00098,564431.00098 +4154400.0,211468.32300000003,200561.37,585639.2004,172182.70531000002,172182.70531000002,172182.70531000002,77927.39499999999,415187.0444799999,979637.0387200002,393158.59485,599098.8112,332256.13800000004,332256.13800000004,332256.13800000004,141049.46099999998,211468.32300000003,211468.32300000003,309117.1993,138909.06269999998,206477.17468,360134.607,102209.63132,129991.44386,276539.133,276539.133,276539.133,276539.133,635814.75782,635814.75782 +4158000.0,261649.446,233199.93300000002,680943.80436,182342.99633,182342.99633,182342.99633,87047.5585,514948.5524799999,1016052.63808,447458.76378,681841.92576,411504.84300000005,411504.84300000005,411504.84300000005,255891.66050000003,261649.446,261649.446,345888.75463999994,171479.3571,254890.30364,444576.11100000003,126174.93436,160470.80578,346020.28500000003,346020.28500000003,346020.28500000003,346020.28500000003,786692.66764,786692.66764 +4161600.0,321520.84500000003,242746.575,708819.9990000001,181991.99953,181991.99953,181991.99953,85098.825,617672.7917599999,1025489.6345600002,508040.79206999997,774157.39744,436427.20499999996,436427.20499999996,436427.20499999996,263474.792,321520.84500000003,321520.84500000003,358537.56353999994,182466.87344999998,271222.36497999995,473062.2645,134259.57602,170752.95071,408075.921,408075.921,408075.921,408075.921,966706.0073,966706.0073 +4165200.0,402793.78800000006,273068.136,797358.9571199999,201982.58597,201982.58597,201982.58597,99242.913,695987.1684,1262727.4361600003,603317.31411,919340.6691200001,476602.6020000001,476602.6020000001,476602.6020000001,290205.832,402793.78800000006,402793.78800000006,390601.6728899999,251338.6746,373594.77064,651618.786,184935.61736,235203.35228,477289.782,477289.782,477289.782,477289.782,1211066.65592,1211066.65592 +4168800.0,592245.378,327829.944,957263.43648,309040.78579,309040.78579,309040.78579,187237.6695,1247357.78608,1523826.1548800003,902976.59991,1375964.34272,531966.663,531966.663,531966.663,474128.767,592245.378,592245.378,600650.59704,338925.23415,503785.16286,878695.0515000001,249382.02414,317167.07097,620466.921,620466.921,620466.921,620466.921,1780684.4365199998,1780684.4365199998 +4172400.0,1297450.107,725169.453,2117494.80276,1755614.5203300002,1755614.5203300002,1755614.5203300002,1527297.849,3545608.99552,4464889.91168,3084680.2245,4700465.104,1349566.278,1349566.278,1349566.278,2001388.9980000001,1297450.107,1297450.107,2713688.71007,1736797.1561999999,2581609.60008,4502807.442,1277939.63592,1625299.06716,1603099.296,1603099.296,1603099.296,1603099.296,3900999.98838,3900999.98838 +4176000.0,1152176.274,1236608.058,3610895.5293599996,2272373.00235,2272373.00235,2272373.00235,2030382.221,4362989.913759999,3393995.58912,3367428.1347,5131319.0624,1347994.446,1347994.446,1347994.446,1902117.2695000002,1152176.274,1152176.274,2225141.51704,2210090.5485,3285122.2473999998,5729864.385,1626190.0826,2068208.1923,1599266.793,1599266.793,1599266.793,1599266.793,3464209.99716,3464209.99716 +4179600.0,1873156.719,2042673.2759999998,5964605.965919999,1296926.31398,1296926.31398,1296926.31398,2246758.206,4102975.3076,6420341.910400001,3237207.9440400004,4932888.29568,1672892.9460000002,1672892.9460000002,1672892.9460000002,1322767.3655,1873156.719,1873156.719,2551545.38496,1729642.25205,2570974.40922,4484257.6905000005,1272675.03978,1618603.49019,2067450.1379999998,2067450.1379999998,2067450.1379999998,2067450.1379999998,5631957.86846,5631957.86846 +4183200.0,1377448.0380000002,1118262.459,3265326.3802799997,615281.9488199999,615281.9488199999,615281.9488199999,806780.0055,2031763.8276,6734046.484480001,1218175.04865,1856266.7408,1343565.471,1343565.471,1343565.471,1337426.7515,1377448.0380000002,1377448.0380000002,2138457.34206,2130084.0661500003,3166199.0316600003,5522440.171500001,1567321.1153400003,1993337.9285700002,844128.279,844128.279,844128.279,844128.279,4141527.10092,4141527.10092 +4186800.0,635304.747,651924.237,1903618.77204,301853.32452,301853.32452,301853.32452,426450.605,1218238.6759199998,3405815.9257600005,710221.1627699999,1082241.7718399998,459808.40699999995,459808.40699999995,459808.40699999995,432144.4855,635304.747,635304.747,629453.05501,864406.45665,1284870.8318599998,2241053.7765,636032.40514,808913.69647,460370.97900000005,460370.97900000005,460370.97900000005,460370.97900000005,1910149.6059799998,1910149.6059799998 +4190400.0,670714.227,1129350.408,3297703.19136,532215.5524400001,532215.5524400001,532215.5524400001,811920.97,1432816.74472,2222974.60672,1100356.96008,1676734.4153600002,548241.123,548241.123,548241.123,915525.5795,670714.227,670714.227,739127.32244,676761.31395,1005951.38518,1754566.3695,497962.64582000003,633314.90861,639574.458,639574.458,639574.458,639574.458,2016614.1091799997,2016614.1091799997 +4194000.0,460820.22899999993,520255.1340000001,1519144.9912800002,339137.76831,339137.76831,339137.76831,679312.3609999999,918353.3794399999,1265094.4998400002,641596.3488900001,977670.6268800002,361430.457,361430.457,361430.457,468177.1885,460820.22899999993,460820.22899999993,455739.00072999997,419425.89749999996,623442.9389999999,1087400.4749999999,308614.611,392499.7905,387122.625,387122.625,387122.625,387122.625,1385532.8218599998,1385532.8218599998 +4197600.0,333474.414,266292.642,777574.51464,102870.45065,102870.45065,102870.45065,247089.556,676198.13568,887294.5619200001,433476.00072,660534.8582400001,255510.70799999998,255510.70799999998,255510.70799999998,210233.135,333474.414,333474.414,347592.5191699999,271101.24494999996,402970.24557999993,702855.0795,199476.96542,253697.21441,274730.922,274730.922,274730.922,274730.922,1002646.4047600001,1002646.4047600001 +4201200.0,467789.43299999996,526800.396,1538257.1563199998,901991.0475400002,901991.0475400002,901991.0475400002,792364.727,1008147.91128,758493.0201600001,858860.25897,1308739.44224,300549.627,300549.627,300549.627,834325.989,467789.43299999996,467789.43299999996,721458.8263999999,603684.53955,897328.6242199999,1565108.0655,444192.57477999997,564929.48269,337751.787,337751.787,337751.787,337751.787,1406486.8952199998,1406486.8952199998 +4204800.0,693375.921,1139166.372,3326365.80624,1043317.6013699999,1043317.6013699999,1043317.6013699999,938701.4875000002,1921292.01072,2286489.96864,1285179.71148,1958369.08416,769398.804,769398.804,769398.804,1301239.6285,693375.921,693375.921,1241953.0678100002,1055820.2823,1569392.12332,2737311.843,776875.17068,988039.2271400001,846469.101,846469.101,846469.101,846469.101,2084750.26914,2084750.26914 +4208400.0,736943.8200000001,1022143.686,2984659.5631199996,955885.10435,955885.10435,955885.10435,903950.0610000001,2016689.2224799998,2712890.2681600004,1305421.7584799998,1989214.1081599998,737393.3489999999,737393.3489999999,737393.3489999999,1100727.558,736943.8200000001,736943.8200000001,1097080.77882,994947.2352,1478909.2236799998,2579492.832,732084.63232,931074.07936,882507.927,882507.927,882507.927,882507.927,2215744.4188,2215744.4188 +4212000.0,2156710.56,1784415.8850000002,5210494.3842,3334493.82871,3334493.82871,3334493.82871,2860212.3830000004,3374566.6550399996,6404567.041920001,3670923.2181300004,5593787.760960001,2258981.136,2258981.136,2258981.136,2785905.444,2156710.56,2156710.56,3291594.72668,2741199.89805,4074573.67562,7106814.5505,2016981.65338,2565221.6329900003,2409122.4540000004,2409122.4540000004,2409122.4540000004,2409122.4540000004,6484509.7504,6484509.7504 +4215600.0,1485630.741,866559.279,2530353.09468,1765192.9600800003,1765192.9600800003,1765192.9600800003,1597386.063,2428087.1289600004,3821638.0364800002,2127309.73917,3241614.84064,1358180.604,1358180.604,1358180.604,1580210.9785000002,1485630.741,1485630.741,1182973.69918,1576161.8765999998,2342838.14744,4086345.606,1159743.80056,1474976.17588,1501732.1849999998,1501732.1849999998,1501732.1849999998,1501732.1849999998,4466796.42794,4466796.42794 +4219200.0,1173253.566,884583.6959999999,2582984.3923199996,1231004.94726,1231004.94726,1231004.94726,1193726.3904999997,1962943.7959200002,3613836.8364800005,1711421.54589,2607880.45088,1052807.433,1052807.433,1052807.433,1393402.878,1173253.566,1173253.566,1246058.9944399998,1361304.29385,2023469.5923399997,3529307.4285,1001651.06066,1273911.91943,1190680.845,1190680.845,1190680.845,1190680.845,3527582.38844,3527582.38844 +4222800.0,1075086.3,925432.1039999998,2702261.7436799994,1237645.75462,1237645.75462,1237645.75462,1228053.428,1993256.33344,3768442.9747200003,1740180.08556,2651702.9875200004,1081620.822,1081620.822,1081620.822,1426970.713,1075086.3,1075086.3,1296586.8659899998,1401937.2593999999,2083867.2349599998,3634652.154,1031548.89704,1311936.34892,1219517.4540000001,1219517.4540000001,1219517.4540000001,1219517.4540000001,3232426.142,3232426.142 +4226400.0,749872.263,653093.847,1907034.0332399998,795329.1761800001,795329.1761800001,795329.1761800001,661880.051,1023463.7668000001,2289530.05824,990035.86227,1508626.07584,577224.132,577224.132,577224.132,707073.1395,749872.263,749872.263,911553.56175,648918.7344,964565.6249599999,1682381.904,477476.00704,607259.75392,763549.365,763549.365,763549.365,763549.365,2254615.93742,2254615.93742 +4230000.0,120641.598,105739.82699999999,308760.29484,123422.65232000001,123422.65232000001,123422.65232000001,64078.0035,197938.71160000004,733869.64352,221021.46171,336794.60832000006,175279.24200000003,175279.24200000003,175279.24200000003,112977.571,120641.598,120641.598,221545.98335999998,86679.29069999998,128841.80987999999,224724.08699999997,63778.83611999999,81114.69425999999,149231.796,149231.796,149231.796,149231.796,362729.07132,362729.07132 +4233600.0,119565.582,104255.89500000002,304427.2134,99830.16065,99830.16065,99830.16065,43206.205,207548.5776,729421.5078400001,244902.38241000002,373184.58272000006,172096.389,172096.389,172096.389,107784.53349999999,119565.582,119565.582,219319.01588999998,80490.69630000001,119642.96092000001,208679.58300000004,59225.25308000001,75323.39234,150084.612,150084.612,150084.612,150084.612,359493.84987999994,359493.84987999994 +4237200.0,129891.56099999999,118315.068,345479.99856,102577.93975000002,102577.93975000002,102577.93975000002,46186.612499999996,228853.04944000003,744147.9142400001,253744.94838,386658.96895999997,174264.58800000002,174264.58800000002,174264.58800000002,108823.337,129891.56099999999,129891.56099999999,231507.66170999996,82315.4724,122355.34416,213410.484,60567.927840000004,77031.02232,156953.364,156953.364,156953.364,156953.364,390540.62674,390540.62674 +4240800.0,139610.58299999998,131256.117,383267.86163999996,115126.36839000002,115126.36839000002,115126.36839000002,47266.2295,263058.07544,749302.9235200001,289553.72313000006,441224.72096000006,176421.74699999997,176421.74699999997,176421.74699999997,108249.1445,139610.58299999998,139610.58299999998,254333.91593999998,98700.05114999998,146709.70565999998,255889.02149999997,72623.74134,92363.75157,165754.57200000001,165754.57200000001,165754.57200000001,165754.57200000001,419762.48621999996,419762.48621999996 +4244400.0,175268.75699999998,146422.668,427554.19056,124608.12122,124608.12122,124608.12122,67908.3825,326201.76144,760111.344,318278.0664,484995.1488,201465.59699999998,201465.59699999998,201465.59699999998,125875.28099999999,175268.75699999998,175268.75699999998,260840.86950999996,116624.63835000001,173353.16614,302360.17350000003,85812.69686000001,109137.62453000002,224319.41400000002,224319.41400000002,224319.41400000002,224319.41400000002,526974.7293799999,526974.7293799999 +4248000.0,214890.009,156050.95500000002,455668.78859999997,134171.81129,134171.81129,134171.81129,74228.92749999999,384156.71839999995,774312.15936,363622.60389,554091.5868800001,304590.585,304590.585,304590.585,205444.946,214890.009,214890.009,283055.41199,133599.30209999997,198584.64163999996,346368.561,98302.69635999999,125022.55677999998,268879.389,268879.389,268879.389,268879.389,646102.62706,646102.62706 +4251600.0,261053.43600000002,190429.143,556053.09756,158799.68654000002,158799.68654000002,158799.68654000002,83690.222,482357.65576,815459.51424,419803.90326000005,639701.1859200001,358097.57700000005,358097.57700000005,358097.57700000005,229187.2275,261053.43600000002,261053.43600000002,315157.05858,155895.18795,231725.68678,404172.70950000006,114708.06422000001,145887.10181000002,327025.05000000005,327025.05000000005,327025.05000000005,327025.05000000005,784900.66424,784900.66424 +4255200.0,443889.28199999995,253214.454,739386.20568,272840.36208000005,272840.36208000005,272840.36208000005,163575.1635,1005074.0272799998,998182.5318400002,698617.1892,1064559.5264,418980.951,418980.951,418980.951,361990.216,443889.28199999995,443889.28199999995,535312.1871499999,221940.61154999997,329896.90901999996,575401.5854999999,163304.44998,207692.57228999998,477579.63300000003,477579.63300000003,477579.63300000003,477579.63300000003,1334627.1078799998,1334627.1078799998 +4258800.0,1190967.2280000001,554577.975,1619367.687,1600309.2910200001,1600309.2910200001,1600309.2910200001,1412059.621,3315662.23672,3816880.59328,2819856.80655,4296924.6576,1101727.782,1101727.782,1101727.782,1560272.2625,1190967.2280000001,1190967.2280000001,2509096.4086499996,1468413.8540999999,2182679.3584399996,3806998.881,1080462.53956,1374145.31038,1466814.3599999999,1466814.3599999999,1466814.3599999999,1466814.3599999999,3580841.4655199996,3580841.4655199996 +4262400.0,1023944.412,1118385.969,3265687.02948,1875485.9063600001,1875485.9063600001,1875485.9063600001,1859775.7780000002,4024045.19056,2980408.31744,3068833.3615800003,4676317.50336,1246539.1830000002,1246539.1830000002,1246539.1830000002,1633413.4145,1023944.412,1023944.412,2125022.41081,2057776.0870499997,3058719.02322,5334975.0405,1514116.72578,1925671.94319,1463608.347,1463608.347,1463608.347,1463608.347,3078659.53208,3078659.53208 +4266000.0,1758347.382,1913560.257,5587595.95044,1031022.4122000001,1031022.4122000001,1031022.4122000001,1636220.8275,3669734.77328,5892132.968320001,2896038.3824400003,4413010.868480001,1551297.0270000002,1551297.0270000002,1551297.0270000002,1140707.7850000001,1758347.382,1758347.382,1752481.2104800001,1385438.5718999999,2059343.25996,3591877.779,1019409.12204,1296496.83642,1934232.5130000003,1934232.5130000003,1934232.5130000003,1934232.5130000003,5286764.461879999,5286764.461879999 +4269600.0,1213360.119,930554.3190000001,2717218.6114800004,510313.92192,510313.92192,510313.92192,619267.39,1721997.1459999997,6140978.1088000005,919319.8129500002,1400868.2864,1189074.201,1189074.201,1189074.201,1197468.0760000001,1213360.119,1213360.119,1503258.10713,1957198.3991999999,2909218.36128,5074218.072,1440111.41472,1831551.09456,712281.246,712281.246,712281.246,712281.246,3648169.42446,3648169.42446 +4273200.0,639861.048,622275.9809999999,1817045.8645199998,264674.91644,264674.91644,264674.91644,438358.01100000006,1162648.87808,2698916.6816000002,732351.55623,1115964.2761600001,473249.9700000001,473249.9700000001,473249.9700000001,416051.8495,639861.048,639861.048,590544.68603,694057.3857,1031660.60788,1799408.0370000002,510689.1381200001,649500.6152600001,475721.07599999994,475721.07599999994,475721.07599999994,475721.07599999994,1923848.88432,1923848.88432 +4276800.0,692611.071,1119552.6809999999,3269093.8285199995,540870.4237200001,540870.4237200001,540870.4237200001,856148.1005,1533384.5581600002,2386444.3872,1167510.61875,1779063.8,606136.686,606136.686,606136.686,959034.6429999999,692611.071,692611.071,778386.33561,729850.4392499999,1084864.1097,1892204.8424999998,537025.7553,682995.84315,677091.0869999999,677091.0869999999,677091.0869999999,677091.0869999999,2082450.6201399998,2082450.6201399998 +4280400.0,482982.864,494728.728,1444607.88576,343120.39762000006,343120.39762000006,343120.39762000006,678509.279,994618.3949599998,1383439.2736000002,686115.6518999999,1045509.5648,411742.86,411742.86,411742.86,455655.207,482982.864,482982.864,473853.42705999996,451174.2363,670634.29692,1169710.983,331975.11708,422209.96434,417782.772,417782.772,417782.772,417782.772,1452168.47776,1452168.47776 +4284000.0,388458.37500000006,324277.059,946889.01228,122862.92964000002,122862.92964000002,122862.92964000002,314081.0435,823749.56672,1141466.3545600001,534440.93934,814386.19328,341990.283,341990.283,341990.283,267126.9475,388458.37500000006,388458.37500000006,403029.76532,344261.9556,511717.77104,892530.996,253308.79696,322161.18808,341871.43200000003,341871.43200000003,341871.43200000003,341871.43200000003,1167964.8475000001,1167964.8475000001 +4287600.0,443642.805,445443.75899999996,1300695.7762799999,867504.8345700001,867504.8345700001,867504.8345700001,743646.9355,958240.44512,655346.00704,815300.7638999999,1242363.0688,292492.815,292492.815,292492.815,822236.1140000001,443642.805,443642.805,685801.29592,564131.0529,838535.54036,1462561.989,415089.02164000005,527915.2322200001,291038.979,291038.979,291038.979,291038.979,1333886.0337,1333886.0337 +4291200.0,753853.659,1205908.5119999999,3521252.8550399994,1007581.8088600001,1007581.8088600001,1007581.8088600001,1012050.263,2061281.8506399996,2555327.74016,1380919.44984,2104258.20928,852468.2699999999,852468.2699999999,852468.2699999999,1392761.0725,753853.659,753853.659,1257904.9133300001,1144054.2424499998,1700544.8245799998,2966066.5544999996,841797.9364199999,1070608.78491,916559.1089999999,916559.1089999999,916559.1089999999,916559.1089999999,2266586.66806,2266586.66806 +4294800.0,772899.582,1050096.1770000001,3066280.83684,995736.0494400001,995736.0494400001,995736.0494400001,966809.2104999999,2122344.7212799997,2975698.1152,1380318.01341,2103341.73472,804830.646,804830.646,804830.646,1186899.9765,772899.582,772899.582,1134676.4939899999,1067104.0642499998,1586164.5596999999,2766566.0925,785177.8053,998598.61815,938172.2609999999,938172.2609999999,938172.2609999999,938172.2609999999,2323851.40988,2323851.40988 +4298400.0,2139272.106,1774683.384,5182075.48128,3316915.95862,3316915.95862,3316915.95862,2845444.0804999997,3350061.5712,6407738.964480001,3636654.24255,5541568.3696,2243517.069,2243517.069,2243517.069,2836420.335,2139272.106,2139272.106,3184988.0656099995,2729092.09905,4056576.4040199993,7075423.960499999,2008072.70498,2553891.12479,2387634.42,2387634.42,2387634.42,2387634.42,6432078.1320400005,6432078.1320400005 +4302000.0,1509345.7079999999,900253.6950000001,2628740.7894,1752595.8094700002,1752595.8094700002,1752595.8094700002,1621057.69,2489455.8520799996,3972087.971200001,2177066.48649,3317434.64608,1409329.194,1409329.194,1409329.194,1654750.146,1509345.7079999999,1509345.7079999999,1221326.3207599998,1623612.5473500001,2413369.76174,4209365.8635,1194658.1212600002,1519380.63073,1544212.17,1544212.17,1544212.17,1544212.17,4538099.428719999,4538099.428719999 +4305600.0,1161349.239,874378.317,2553184.6856400003,1213750.72764,1213750.72764,1213750.72764,1173991.861,1939259.94456,3550611.2416000003,1690312.9485900002,2575714.9692800003,1042135.6799999999,1042135.6799999999,1042135.6799999999,1379524.7165,1161349.239,1161349.239,1230399.6209699998,1342739.3976,1995874.3638399998,3481176.216,987990.96416,1256538.84368,1172246.127,1172246.127,1172246.127,1172246.127,3491790.04526,3491790.04526 +4309200.0,1014379.617,871189.0800000001,2543872.1136000003,1170651.68649,1170651.68649,1170651.68649,1155289.2715,1867178.5824,3499508.8064000006,1636365.0363899998,2493508.62688,1011254.8500000001,1011254.8500000001,1011254.8500000001,1332891.007,1014379.617,1014379.617,1222310.41309,1311492.4690500002,1949428.31202,3400165.6605,964999.3969800001,1227297.89079,1144821.057,1144821.057,1144821.057,1144821.057,3049901.38178,3049901.38178 +4312800.0,719790.57,621318.501,1814250.0229200001,763859.55767,763859.55767,763859.55767,634265.009,967291.04352,2161978.3020800003,941210.74467,1434225.8966400002,546819.591,546819.591,546819.591,673305.864,719790.57,719790.57,871136.7431,616630.96395,916572.44518,1598672.8695,453718.58582000004,577044.77861,729410.649,729410.649,729410.649,729410.649,2164170.3137999997,2164170.3137999997 +4316400.0,122857.76699999999,108825.98100000001,317771.86452000006,125838.76305000001,125838.76305000001,125838.76305000001,64799.6195,203608.40551999997,765038.44992,221439.79284,337432.06528000004,181731.957,181731.957,181731.957,116727.85250000001,122857.76699999999,122857.76699999999,227498.27659000002,89281.73564999999,132710.13546,231471.1665,65693.72154,83550.06867,151765.125,151765.125,151765.125,151765.125,369392.35277999996,369392.35277999996 +4320000.0,121600.614,107455.473,313769.98116,102356.70676,102356.70676,102356.70676,43969.387,213181.30432,761443.52384,245038.47732,373391.96544,178738.29,178738.29,178738.29,111598.54299999999,121600.614,121600.614,226389.79285,83020.28175,123402.98669999998,215237.7675,61086.5283,77690.58465,152509.173,152509.173,152509.173,152509.173,365612.51276,365612.51276 +4323600.0,131980.80599999998,122735.943,358388.95356,98893.0228,98893.0228,98893.0228,46852.652,228024.25415999998,768283.6384000002,257180.0637,391893.4304,179216.511,179216.511,179216.511,111768.48199999999,131980.80599999998,131980.80599999998,239783.48315999997,85689.7785,127370.9794,222158.685,63050.75060000001,80188.7063,158801.733,158801.733,158801.733,158801.733,396822.29004,396822.29004 +4327200.0,142729.941,134796.168,393604.81055999995,117517.31024,117517.31024,117517.31024,49385.8295,252645.91608000002,777417.3331200001,294032.78016,448049.95072,181154.877,181154.877,181154.877,111809.1625,142729.941,142729.941,261510.85440999997,101599.0452,151018.82768,263404.93200000003,74756.82832,95076.63736000001,170142.225,170142.225,170142.225,170142.225,429141.35594,429141.35594 +4330800.0,177571.233,149915.72100000002,437753.90532,127460.36908000002,127460.36908000002,127460.36908000002,70691.2185,327504.1048,785857.81952,325835.33073,496510.98016000004,217085.307,217085.307,217085.307,139384.94150000002,177571.233,177571.233,268088.45245,120660.6537,179352.37907999998,312823.917,88782.40692000001,112914.53766,233829.60600000003,233829.60600000003,233829.60600000003,233829.60600000003,533897.50722,533897.50722 +4334400.0,220140.50699999998,160275.423,468004.23516000004,135734.23545,135734.23545,135734.23545,75344.92,398464.88776,792622.2745600002,370574.23935000005,564684.5552000001,308642.574,308642.574,308642.574,211760.34249999997,220140.50699999998,220140.50699999998,290288.6467,137587.99320000003,204513.51088000002,356709.612,101237.58512000002,128755.18376000001,275794.317,275794.317,275794.317,275794.317,661889.1243799999,661889.1243799999 +4338000.0,267842.925,184333.194,538252.9264799999,155639.91355,155639.91355,155639.91355,84412.96849999999,499657.3534399999,828150.43584,435142.10922,663073.69024,366618.486,366618.486,366618.486,233629.641,267842.925,267842.925,321640.50087,160276.4577,238238.09268,415531.55700000003,117931.81332,149987.10486,341859.09599999996,341859.09599999996,341859.09599999996,341859.09599999996,805314.3944999999,805314.3944999999 +4341600.0,451331.334,253552.68000000005,740373.8256000001,270559.95329000003,270559.95329000003,270559.95329000003,163205.595,1010353.48072,1001059.7369600001,701437.1943600001,1068856.6771200001,420307.083,420307.083,420307.083,363344.8035,451331.334,451331.334,535727.1410399999,222963.5727,331417.45868,578053.7069999999,164057.14732,208649.86185999998,482352.32100000005,482352.32100000005,482352.32100000005,482352.32100000005,1357002.87756,1357002.87756 +4345200.0,1194861.5129999998,557050.0109999999,1626586.0321199999,1608513.5074800001,1608513.5074800001,1608513.5074800001,1418116.693,3318900.02616,3869046.5484800003,2830194.0063600005,4312676.581120001,1116308.5350000001,1116308.5350000001,1116308.5350000001,1597710.8595,1194861.5129999998,1194861.5129999998,2513203.71094,1489407.1911,2213884.26924,3861426.0510000004,1095909.48876,1393790.92698,1474198.851,1474198.851,1474198.851,1474198.851,3592550.2824199996,3592550.2824199996 +4348800.0,1040540.1599999999,1148041.1400000001,3352280.1288,1896211.9011000004,1896211.9011000004,1896211.9011000004,1869405.8249999997,4055763.94752,3039753.54944,3101848.6671900004,4726626.540480001,1267969.533,1267969.533,1267969.533,1667118.4425,1040540.1599999999,1040540.1599999999,2138689.82379,2077385.5269,3087866.88196,5385814.329,1528545.40004,1944022.50542,1487539.125,1487539.125,1487539.125,1487539.125,3128557.4143999997,3128557.4143999997 +4352400.0,1772235.192,1928051.838,5629911.36696,1057798.87708,1057798.87708,1057798.87708,1677392.1115,3707526.8148800004,5972918.622080001,2928556.7293499997,4462562.635199999,1570961.5409999997,1570961.5409999997,1570961.5409999997,1163167.8694999998,1772235.192,1772235.192,1732421.5528099998,1413660.90375,2101293.4915,3665046.7875,1040175.1835,1322907.36425,1951545.9479999999,1951545.9479999999,1951545.9479999999,1951545.9479999999,5328520.47728,5328520.47728 +4356000.0,1231752.756,936418.6170000001,2734342.3616400003,526406.86472,526406.86472,526406.86472,645517.8485,1732660.01656,6210193.64416,950268.03795,1448027.4864,1203968.202,1203968.202,1203968.202,1218829.955,1231752.756,1231752.756,1530677.4303599996,1978124.9598,2940324.01432,5128472.118000001,1455509.22968,1851134.2216400001,728692.338,728692.338,728692.338,728692.338,3703469.9530399996,3703469.9530399996 +4359600.0,618069.7679999999,596237.37,1741013.1204000001,258901.23886000004,258901.23886000004,258901.23886000004,409692.766,1105641.39104,2608451.5052800006,689970.93858,1051384.28736,444869.08199999994,444869.08199999994,444869.08199999994,393604.4035,618069.7679999999,618069.7679999999,559473.35106,675646.90785,1004294.9099399999,1751677.1685,497142.66306,632272.04463,450803.829,450803.829,450803.829,450803.829,1858329.7691199998,1858329.7691199998 +4363200.0,672760.4789999999,1099621.158,3210893.78136,531785.8499799999,531785.8499799999,531785.8499799999,832990.9839999999,1481452.52752,2297025.0835200003,1131864.02574,1724745.18208,582090.777,582090.777,582090.777,938465.479,672760.4789999999,672760.4789999999,744222.3919,702193.98555,1043755.01062,1820502.9255,516676.06838,657114.86549,657272.412,657272.412,657272.412,657272.412,2022766.5068599998,2022766.5068599998 +4366800.0,487953.1830000001,504381.726,1472794.63992,359677.41403000004,359677.41403000004,359677.41403000004,690164.9335,997758.57464,1409886.67136,697833.36714,1063365.1308799998,416859.651,416859.651,416859.651,471164.41400000005,487953.1830000001,487953.1830000001,479555.37421999994,463758.0966,689339.19544,1202335.806,341234.35256,433985.97188,427608.708,427608.708,427608.708,427608.708,1467112.57022,1467112.57022 +4370400.0,314270.47199999995,243919.776,712245.74592,89553.19087,89553.19087,89553.19087,222915.02450000003,644715.1512000001,812390.41856,397669.36083,605972.35936,249781.79100000003,249781.79100000003,249781.79100000003,193795.14,314270.47199999995,314270.47199999995,313930.76832,240295.45859999998,357179.91624,622988.226,176809.99176,224869.08348,257235.615,257235.615,257235.615,257235.615,944906.5524799998,944906.5524799998 +4374000.0,482189.48699999996,497330.541,1452205.1797200001,884921.8541900001,884921.8541900001,884921.8541900001,794469.9384999999,1045633.1367999999,837133.04,885886.35492,1349922.06464,335087.049,335087.049,335087.049,863046.8665,482189.48699999996,482189.48699999996,727026.0550799998,624518.5252500001,928296.6721,1619122.1025,459522.27290000004,584425.9779500001,346016.391,346016.391,346016.391,346016.391,1449783.05758,1449783.05758 +4377600.0,719594.7660000001,1168794.966,3412881.3007199997,998876.11549,998876.11549,998876.11549,971388.3304999999,1966377.42392,2404219.03232,1320279.65475,2011854.712,810779.9069999999,810779.9069999999,810779.9069999999,1348814.278,719594.7660000001,719594.7660000001,1225179.7127699999,1092777.8607,1624326.59788,2833127.787,804068.64812,1022624.2202600001,875757.8640000001,875757.8640000001,875757.8640000001,875757.8640000001,2163581.59644,2163581.59644 +4381200.0,726289.596,994191.2520000001,2903038.4558400004,949203.58071,949203.58071,949203.58071,906169.285,1990243.78112,2751469.11616,1290213.1365899998,1966039.0652799997,744877.029,744877.029,744877.029,1118814.473,726289.596,726289.596,1071312.9690899998,996534.9323999999,1481269.20816,2583609.084,733252.86384,932559.85032,880381.992,880381.992,880381.992,880381.992,2183710.71864,2183710.71864 +4384800.0,2099738.016,1733226.8039999998,5061022.26768,3264820.53249,3264820.53249,3264820.53249,2798654.67,3266213.06456,6178513.619200001,3576237.4244100004,5449504.646720001,2196643.4280000003,2196643.4280000003,2196643.4280000003,2746127.2265,2099738.016,2099738.016,3157185.58259,2660779.72845,3955035.5469799996,6898317.814499999,1957808.29402,2489964.23971,2340092.145,2340092.145,2340092.145,2340092.145,6313212.301439999,6313212.301439999 +4388400.0,1462057.872,854714.6309999999,2495766.72252,1699541.0639900002,1699541.0639900002,1699541.0639900002,1561406.665,2367303.06576,3750876.8665600005,2069718.95403,3153857.45376,1353468.81,1353468.81,1353468.81,1571739.0325,1462057.872,1462057.872,1166332.0707999999,1548481.99365,2301694.22266,4014582.9465,1139376.87434,1449073.27307,1480423.605,1480423.605,1480423.605,1480423.605,4395920.6684799995,4395920.6684799995 +4392000.0,1113177.582,836350.8060000001,2442144.35352,1164560.5204200002,1164560.5204200002,1164560.5204200002,1117855.6830000002,1846492.1227199999,3360916.1241600006,1611712.29618,2455942.54656,991805.466,991805.466,991805.466,1310429.456,1113177.582,1113177.582,1179377.76242,1276965.7289999998,1898107.0835999998,3310651.89,939594.5364,1194987.6822,1118154.1469999999,1118154.1469999999,1118154.1469999999,1118154.1469999999,3346953.9298799993,3346953.9298799993 +4395600.0,981846.441,842097.9509999999,2458926.01692,1135799.3566700004,1135799.3566700004,1135799.3566700004,1114500.8175,1803578.0040000002,3368602.1696000006,1583249.83068,2412571.17056,978254.973,978254.973,978254.973,1287212.486,981846.441,981846.441,1179669.6235999998,1266643.737,1882764.2707999998,3283891.17,931999.5891999999,1185328.3366,1107654.807,1107654.807,1107654.807,1107654.807,2952084.96594,2952084.96594 +4399200.0,704108.6880000001,604818.606,1766070.3295200001,749132.9057300001,749132.9057300001,749132.9057300001,621541.8965,938827.1696799999,2105547.6153599997,914056.0209900001,1392847.2700800002,533571.279,533571.279,533571.279,659097.6315,704108.6880000001,704108.6880000001,845607.3602599999,602128.14885,895015.1743399999,1561072.9785,443047.37866,563473.00843,714050.817,714050.817,714050.817,714050.817,2117020.12192,2117020.12192 +4402800.0,120514.965,106973.313,312362.07396,123925.86305,123925.86305,123925.86305,64075.543,194660.12391999998,751957.8611200001,214878.006,327433.152,178685.85600000003,178685.85600000003,178685.85600000003,115017.4235,120514.965,120514.965,218258.59367,87643.4904,130275.01535999998,227223.86399999997,64488.29663999999,82016.99472,147975.399,147975.399,147975.399,147975.399,362348.3281,362348.3281 +4406400.0,115906.74,103669.845,302715.94739999995,98765.24108,98765.24108,98765.24108,42685.566,203992.47312,731178.6604800001,225042.39807,342921.74944000004,171964.515,171964.515,171964.515,107504.3725,115906.74,115906.74,217892.14863,79200.3663,117724.98891999999,205334.283,58275.82508,74115.89834,145386.68099999998,145386.68099999998,145386.68099999998,145386.68099999998,348492.9316,348492.9316 +4410000.0,125714.76299999998,116491.81499999999,340156.09979999997,94684.05265000001,94684.05265000001,94684.05265000001,43893.3355,215627.01455999995,739943.1206400001,244976.06406,373296.85952,173026.398,173026.398,173026.398,108159.7755,125714.76299999998,125714.76299999998,228305.26952999996,81398.8602,120992.87367999999,211034.082,59893.48232,76173.25436,151125.45299999998,151125.45299999998,151125.45299999998,151125.45299999998,377982.3874199999,377982.3874199999 +4413600.0,137647.083,131332.554,383491.05768,95780.62461,95780.62461,95780.62461,46877.0785,230779.79391999997,757406.7283200001,274108.87077000004,417689.70784000005,175772.229,175772.229,175772.229,108869.5195,137647.083,137647.083,254736.59470999998,96653.63879999999,143667.87791999997,250583.50799999997,71117.98607999999,90448.71384,160046.43000000002,160046.43000000002,160046.43000000002,160046.43000000002,413858.89622,413858.89622 +4417200.0,161115.597,145434.063,424667.46396,122923.19413,122923.19413,122923.19413,67221.4935,270951.60632,778057.22944,313219.57359,477286.96928,199086.68099999998,199086.68099999998,199086.68099999998,124863.3435,161115.597,161115.597,262593.69122999994,114931.30095,170836.15598,297970.0395,84566.73502000001,107552.99521000001,218582.877,218582.877,218582.877,218582.877,484420.89498,484420.89498 +4420800.0,207924.579,155165.943,453084.55356,130907.90328000001,130907.90328000001,130907.90328000001,73858.38949999999,373615.22056,779348.84864,354567.00111,540292.57312,281406.59400000004,281406.59400000004,281406.59400000004,205875.9045,207924.579,207924.579,281655.29795,132754.56929999997,197329.01411999995,344178.513,97681.13987999999,124232.05373999999,265100.556,265100.556,265100.556,265100.556,625159.9008599999,625159.9008599999 +4424400.0,249296.304,174028.146,508162.18632,148719.15938000003,148719.15938000003,148719.15938000003,82257.798,465953.52208,792731.33568,406661.16897,619674.16224,344178.795,344178.795,344178.795,224959.1715,249296.304,249296.304,309303.76477,153373.53645,227977.45418000003,397635.09450000006,112852.62682000002,143527.33411000003,317185.569,317185.569,317185.569,317185.569,749550.8873599999,749550.8873599999 +4428000.0,429783.90900000004,226262.634,660686.89128,256913.26364000002,256913.26364000002,256913.26364000002,161508.02850000001,980364.0295200001,937190.2745599999,678941.85576,1034578.06592,405513.90300000005,405513.90300000005,405513.90300000005,354738.4435,429783.90900000004,429783.90900000004,526851.3731,214865.92574999997,319380.95629999996,557059.8075,158098.87869999997,201072.06384999998,464754.132,464754.132,464754.132,464754.132,1292216.95306,1292216.95306 +4431600.0,1168178.343,541497.651,1581173.1409199997,1581896.7168400001,1581896.7168400001,1581896.7168400001,1393606.655,3267772.98696,3705340.944,2765658.2753100004,4214336.41952,1075819.065,1075819.065,1075819.065,1545530.3815,1168178.343,1168178.343,2471944.3149699997,1447837.4241,2152094.14644,3753652.5810000002,1065322.35156,1354889.83638,1437553.6350000002,1437553.6350000002,1437553.6350000002,1437553.6350000002,3512322.88462,3512322.88462 +4435200.0,999729.33,1104939.3390000002,3226422.86988,1819911.30178,1819911.30178,1819911.30178,1827244.3069999998,3964075.1299199993,2914325.7324800007,3014129.86833,4592959.7993600005,1228383.9,1228383.9,1228383.9,1603253.4595,999729.33,999729.33,2100896.7928,2026727.8838999998,3012568.3607599996,5254479.699,1491271.38124,1896616.95802,1439077.128,1439077.128,1439077.128,1439077.128,3005852.8521999996,3005852.8521999996 +4438800.0,1733180.238,1874370.369,5473161.47748,996753.79364,996753.79364,996753.79364,1558598.006,3572366.50312,5783373.159039999,2822886.28398,4301541.00416,1526466.882,1526466.882,1526466.882,1090362.896,1733180.238,1733180.238,1574982.7347799998,1327026.7422,1972518.7624799998,3440439.702,976429.55352,1241834.90196,1907246.412,1907246.412,1907246.412,1907246.412,5211095.248919999,5211095.248919999 +4442400.0,1187565.0,894768.033,2612722.65636,497730.54012,497730.54012,497730.54012,589342.0434999999,1621810.43344,6017876.71872,872690.05593,1329813.4185600001,1153309.7820000001,1153309.7820000001,1153309.7820000001,1172424.7534999999,1187565.0,1187565.0,1446214.98476,1925211.7907999998,2861672.8347199997,4991289.828,1416575.58928,1801617.94744,688619.952,688619.952,688619.952,688619.952,3570612.0999999996,3570612.0999999996 +4446000.0,618320.955,596637.147,1742180.46924,247738.33183,247738.33183,247738.33183,418074.09,1112076.3293599999,2545730.78592,697989.2698799999,1063602.6969599999,456346.48199999996,456346.48199999996,456346.48199999996,395968.35599999997,618320.955,618320.955,551916.1388,647055.1269,961795.5219599999,1677550.3290000001,476104.76004,605515.78542,458662.584,458662.584,458662.584,458662.584,1859085.0046999997,1859085.0046999997 +4449600.0,654852.456,1075921.875,3141691.875,508534.77433,508534.77433,508534.77433,812536.3190000001,1440097.7296799999,2209839.87904,1097967.70398,1673093.6441600001,562509.4739999999,562509.4739999999,562509.4739999999,915845.6860000001,654852.456,654852.456,714579.6894599999,674422.1838,1002474.45592,1748501.958,496241.50808000006,631125.94484,634859.379,634859.379,634859.379,634859.379,1968923.0510399998,1968923.0510399998 +4453200.0,461686.968,469287.7799999999,1370320.3175999997,337313.63094,337313.63094,337313.63094,649479.173,935871.82016,1305313.35552,651887.3594099999,993352.16672,387301.515,387301.515,387301.515,434235.774,461686.968,461686.968,442702.57797999994,427250.08035,635072.95894,1107685.3935,314371.66406000004,399821.68013000005,398470.467,398470.467,398470.467,398470.467,1388138.8171199998,1388138.8171199998 +4456800.0,332951.184,267058.641,779811.23172,97225.09203,97225.09203,97225.09203,247970.534,688346.9008000001,910822.63808,435974.75292,664342.48064,276324.255,276324.255,276324.255,216047.2965,332951.184,332951.184,333347.64644999994,271471.2084,403520.16656,703814.244,199749.18544,254043.42712,282503.826,282503.826,282503.826,282503.826,1001073.22656,1001073.22656 +4460400.0,499736.886,506207.40599999996,1478125.62552,885028.42307,885028.42307,885028.42307,814212.5460000001,1092481.0328,921929.06176,915378.2624700001,1394862.11424,365989.677,365989.677,365989.677,886089.8234999999,499736.886,499736.886,742693.2688499999,648922.5656999999,964571.3198799998,1682391.8369999998,477478.82612,607263.33926,364503.918,364503.918,364503.918,364503.918,1502542.23724,1502542.23724 +4464000.0,740867.0009999999,1192313.406,3481555.1455200003,1029942.3685100002,1029942.3685100002,1029942.3685100002,997279.1675000001,2019557.5676799999,2508777.17056,1357998.51579,2069331.0716800003,843359.3699999999,843359.3699999999,843359.3699999999,1379186.0180000002,740867.0009999999,740867.0009999999,1251588.5752499998,1126421.6885999998,1674335.4482399998,2920352.5259999996,828823.8597599999,1054108.1974799999,905254.446,905254.446,905254.446,905254.446,2227540.1163399997,2227540.1163399997 +4467600.0,735286.74,1000018.47,2920053.9324,956541.73373,956541.73373,956541.73373,918481.2070000002,2010889.51264,2812212.1888,1307678.28135,1992652.6192000003,761549.7749999999,761549.7749999999,761549.7749999999,1144978.31,735286.74,735286.74,1086438.2257299998,1013366.5299,1506288.02716,2627246.5590000004,745637.59484,948310.9008200001,893550.801,893550.801,893550.801,893550.801,2210762.1316,2210762.1316 +4471200.0,2095196.2829999998,1731534.882,5056081.85544,3259703.6959300004,3259703.6959300004,3259703.6959300004,2794550.416,3261712.7663999996,6185373.470079999,3570529.01163,5440806.1129600005,2196361.392,2196361.392,2196361.392,2760450.231,2095196.2829999998,2095196.2829999998,3144866.9801899996,2658025.6676999996,3950941.8566799993,6891177.657,1955781.8493199998,2487386.98286,2337088.2180000003,2337088.2180000003,2337088.2180000003,2337088.2180000003,6299556.824219999,6299556.824219999 +4474800.0,1440529.1099999999,834835.566,2437719.85272,1669961.3825400001,1669961.3825400001,1669961.3825400001,1533795.2559999998,2316609.96776,3655149.2844800004,2031527.3374200002,3095660.70464,1336725.924,1336725.924,1336725.924,1546702.4545,1440529.1099999999,1440529.1099999999,1138001.85382,1519212.6072,2258187.62848,3938699.352,1117840.3875199999,1421682.90896,1457216.6670000001,1457216.6670000001,1457216.6670000001,1457216.6670000001,4331190.8574,4331190.8574 +4478400.0,1070770.257,799748.7810000001,2335266.44052,1117311.1415400002,1117311.1415400002,1117311.1415400002,1068736.5815,1760450.4624799998,3181283.91872,1539651.3768299997,2346135.43136,944116.689,944116.689,944116.689,1246046.417,1070770.257,1070770.257,1130912.8662,1215329.05035,1806489.1069399996,3150853.0934999995,894242.1160599999,1137307.9261299998,1066214.5380000002,1066214.5380000002,1066214.5380000002,1066214.5380000002,3219449.2393799997,3219449.2393799997 +4482000.0,932231.874,797286.258,2328075.87336,1080326.94165,1080326.94165,1080326.94165,1050882.476,1701652.7292799999,3156443.7472,1499087.0517,2284323.1264,921603.7559999999,921603.7559999999,921603.7559999999,1210121.0274999999,932231.874,932231.874,1122589.3584099999,1194116.06565,1774957.70746,3095856.4665,878633.54954,1117456.76267,1047068.754,1047068.754,1047068.754,1047068.754,2802910.5011599995,2802910.5011599995 +4485600.0,662838.3150000001,560141.487,1635613.1420399998,705425.6926200001,705425.6926200001,705425.6926200001,583256.5759999999,866634.2927199999,1934166.6496,847063.9692900002,1290764.1436800002,492126.07800000004,492126.07800000004,492126.07800000004,611119.8134999999,662838.3150000001,662838.3150000001,784829.41238,557925.4282499999,829311.3772999999,1446473.3325,410522.9077,522107.99334999995,666610.2990000001,666610.2990000001,666610.2990000001,666610.2990000001,1992933.8671,1992933.8671 +4489200.0,111073.21800000001,97452.981,284562.70452,115327.47523,115327.47523,115327.47523,61124.9345,171198.70648,670341.0297600001,198023.73548999996,301750.45408,160515.915,160515.915,160515.915,104864.263,111073.21800000001,111073.21800000001,191930.49109,79451.72549999999,118098.61419999998,205985.955,58460.775799999996,74351.1209,135412.179,135412.179,135412.179,135412.179,333960.14212000003,333960.14212000003 +4492800.0,106796.31599999999,95955.318,280189.52856,91713.91724,91713.91724,91713.91724,40245.5445,184068.13928,665735.29728,193032.26859000002,294144.40928,157584.033,157584.033,157584.033,98647.4545,106796.31599999999,106796.31599999999,200659.23176,72199.77524999999,107319.1721,187184.6025,53124.772899999996,67564.72795,132675.528,132675.528,132675.528,132675.528,321100.92344,321100.92344 +4496400.0,112633.269,102066.24300000002,298033.42956,86708.00853,86708.00853,86708.00853,36773.943499999994,195437.88928,666333.56672,219407.07285000003,334334.58720000007,157221.963,157221.963,157221.963,98930.874,112633.269,112633.269,203251.42734,71350.06499999999,106056.146,184981.65,52499.554,66769.567,136237.31999999998,136237.31999999998,136237.31999999998,136237.31999999998,338650.69546,338650.69546 +4500000.0,123089.34900000002,117048.999,341783.07707999996,82586.01428,82586.01428,82586.01428,42373.45,196396.426,670746.91904,235457.54925,358792.456,157003.617,157003.617,157003.617,97468.90650000001,123089.34900000002,123089.34900000002,225069.69316,83019.65399999998,123402.05359999997,215236.13999999996,61086.06639999999,77689.99719999998,140973.381,140973.381,140973.381,140973.381,370088.64266,370088.64266 +4503600.0,130817.802,123107.51699999999,359473.94964,84404.74262000002,84404.74262000002,84404.74262000002,49332.465,205632.16408,676769.7932800001,261024.24621,397751.23232000007,158701.098,158701.098,158701.098,100515.32400000001,130817.802,130817.802,229283.77745,90613.1529,134689.18036,234922.98900000003,66673.38164,84796.01222,159192.18000000002,159192.18000000002,159192.18000000002,159192.18000000002,393325.52468,393325.52468 +4507200.0,154607.799,133938.582,391100.65944,112594.86502000003,112594.86502000003,112594.86502000003,65416.97749999999,222662.06543999998,682656.0256,289896.87531000003,441747.61952,198015.87599999996,198015.87599999996,198015.87599999996,135473.6845,154607.799,154607.799,236491.72118,107805.76335,160244.61613999997,279496.4235,79323.74686,100884.89953,207154.45799999998,207154.45799999998,207154.45799999998,207154.45799999998,464854.11565999995,464854.11565999995 +4510800.0,194433.978,144048.168,420620.65056000004,126101.61586,126101.61586,126101.61586,73904.47399999999,326378.71343999996,690596.5216000001,323273.32002,492606.96384,257457.351,257457.351,257457.351,188885.704,194433.978,194433.978,253919.05344,123535.42065,183625.48945999998,320277.0165,90897.66754,115604.75167,239992.07400000002,239992.07400000002,239992.07400000002,239992.07400000002,584598.16052,584598.16052 +4514400.0,340724.68799999997,186814.497,545498.33124,233623.73870000002,233623.73870000002,233623.73870000002,152563.89049999998,842048.90888,749447.88864,565380.6249,861532.3808,311104.689,311104.689,311104.689,312919.70849999995,340724.68799999997,340724.68799999997,478766.236,183941.42985,273414.17473999993,476885.18849999993,135344.55826,172132.84423,368782.362,368782.362,368782.362,368782.362,1024445.5619199999,1024445.5619199999 +4518000.0,1078477.341,474936.72299999994,1386815.2311599997,1505380.5418300002,1505380.5418300002,1505380.5418300002,1277492.1215000001,3119764.68688,3134889.488,2557205.6811,3896694.3712000004,932402.172,932402.172,932402.172,1323196.4619999998,1078477.341,1078477.341,2344415.57766,1288511.5135499998,1915268.9658199998,3340585.4055,948089.95318,1205792.25589,1323194.034,1323194.034,1323194.034,1323194.034,3242621.8719399995,3242621.8719399995 +4521600.0,912852.933,1063782.963,3106246.25196,1631462.0763100001,1631462.0763100001,1631462.0763100001,1726403.77,3744484.3438399998,2690739.56736,2813120.6663699998,4286660.06304,1145130.744,1145130.744,1145130.744,1440750.178,912852.933,912852.933,1999832.6370099997,1898615.6959499998,2822139.8739799997,4922336.9895,1397006.11702,1776729.25621,1345806.849,1345806.849,1345806.849,1345806.849,2744644.4852199997,2744644.4852199997 +4525200.0,1674178.6260000002,1688666.949,4930907.49108,877257.2871700001,877257.2871700001,877257.2871700001,1292646.9045000002,3304251.1161599997,5367423.991680001,2605452.4110299996,3970213.19776,1459274.679,1459274.679,1459274.679,957050.1709999999,1674178.6260000002,1674178.6260000002,1333793.9524,1147629.52575,1705859.1963,2975335.8075,844428.6387,1073954.54385,1837178.9100000001,1837178.9100000001,1837178.9100000001,1837178.9100000001,5033697.06884,5033697.06884 +4528800.0,1089009.807,819964.6199999999,2394296.6903999997,447913.1092700001,447913.1092700001,447913.1092700001,464420.4284999999,1385699.08744,5590796.54976,722280.23343,1100617.49856,1043456.7749999999,1043456.7749999999,1043456.7749999999,1076871.81,1089009.807,1089009.807,1307937.1480499997,1792445.8491,2664326.91644,4647081.831,1318886.08156,1677375.25138,598851.744,598851.744,598851.744,598851.744,3274289.48638,3274289.48638 +4532400.0,548907.3570000001,522991.698,1527135.75816,197135.334,197135.334,197135.334,355054.0595,946980.5513599999,2056847.8758400003,597049.0705200001,909789.05984,381066.03599999996,381066.03599999996,381066.03599999996,320313.6055,548907.3570000001,548907.3570000001,468750.85399999993,494207.21564999997,734599.36746,1281277.9665,363638.88954,462480.33267,396661.155,396661.155,396661.155,396661.155,1650381.45338,1650381.45338 +4536000.0,610138.311,1036736.1000000001,3027269.412,431252.71893,431252.71893,431252.71893,765077.3235,1345640.4367199999,2039297.61984,1022190.9158999999,1557624.2528,515065.029,515065.029,515065.029,868886.585,610138.311,610138.311,633506.93744,608169.3637499999,903994.9554999999,1576735.3875,447492.5195,569126.39225,580417.575,580417.575,580417.575,580417.575,1834482.52174,1834482.52174 +4539600.0,426635.76599999995,407587.72200000007,1190156.1482400002,301817.32944,301817.32944,301817.32944,582533.4445,861173.31456,1181290.0377600002,592125.70662,902286.79104,353312.217,353312.217,353312.217,352167.228,426635.76599999995,426635.76599999995,399067.82122999994,384102.83429999993,570938.0401199999,995822.163,282623.81388,359444.38074,363146.829,363146.829,363146.829,363146.829,1282751.53644,1282751.53644 +4543200.0,301895.886,238606.272,696730.31424,88310.10298,88310.10298,88310.10298,216384.0805,624162.95312,799549.0592,386337.75578999997,588705.15168,247077.02699999997,247077.02699999997,247077.02699999997,190242.976,301895.886,301895.886,299709.8013,235924.07085,350682.1991399999,611654.9985,173593.51385999998,220778.32802999998,252587.84100000001,252587.84100000001,252587.84100000001,252587.84100000001,907700.29724,907700.29724 +4546800.0,440050.49100000004,389125.935,1136247.7302,828195.9524300001,828195.9524300001,828195.9524300001,726369.7805,911926.3543199999,681220.7360000001,810308.51937,1234755.83904,294979.791,294979.791,294979.791,804041.756,440050.49100000004,440050.49100000004,676472.1806699999,564466.3848,839033.9843199999,1463431.368,415335.75968,528229.03664,273894.51300000004,273894.51300000004,273894.51300000004,273894.51300000004,1323085.14294,1323085.14294 +4550400.0,664421.346,1114699.092,3254921.34864,847183.18619,847183.18619,847183.18619,909178.305,1829267.30552,2207251.7881600005,1182923.5206600002,1802550.1267200003,747725.8319999999,747725.8319999999,747725.8319999999,1263907.421,664421.346,664421.346,1151836.31329,1002332.7665999999,1489887.2234399999,2598640.506,737518.92456,937985.4778799999,802718.817,802718.817,802718.817,802718.817,1997693.51364,1997693.51364 +4554000.0,665383.068,874602.7109999999,2553839.9161199997,883829.8813300001,883829.8813300001,883829.8813300001,830326.4585,1771084.89808,2439122.03968,1177831.99065,1794791.6048,682083.8130000001,682083.8130000001,682083.8130000001,1040526.3925000001,665383.068,665383.068,942201.76102,903528.6304499999,1343022.80378,2342481.6345,664818.59722,845524.32331,791555.6969999999,791555.6969999999,791555.6969999999,791555.6969999999,2000585.09112,2000585.09112 +4557600.0,2013764.8559999997,1672225.2690000003,4882897.78548,3152762.58187,3152762.58187,3152762.58187,2730373.275,3148836.9777599997,5810899.73312,3449697.5247,5256681.9424,2128510.425,2128510.425,2128510.425,2603493.3189999997,2013764.8559999997,2013764.8559999997,2879686.46134,2557255.21605,3801154.6668199995,6629920.9305,1881634.7021799998,2393085.74539,2262212.289,2262212.289,2262212.289,2262212.289,6054719.667039999,6054719.667039999 +4561200.0,1360336.518,793240.926,2316263.50392,1493116.08116,1493116.08116,1493116.08116,1423254.014,2170651.12224,3390009.0809600004,1878670.8784200002,2862736.5766400006,1217173.305,1217173.305,1217173.305,1413816.3935,1360336.518,1360336.518,1076031.26163,1382696.7583499998,2055267.7741399996,3584769.3734999998,1017391.6888599999,1293931.0405299999,1325525.724,1325525.724,1325525.724,1325525.724,4090078.4641199997,4090078.4641199997 +4564800.0,1058409.795,816657.3359999999,2384639.4211199996,1130238.51974,1130238.51974,1130238.51974,1070977.481,1798583.26808,3278135.1328000003,1561651.4955300002,2379659.4217600003,971225.898,971225.898,971225.898,1277422.433,1058409.795,1058409.795,1140934.7657499998,1240231.48785,1843504.5819399997,3215414.9684999995,912565.3910599999,1160611.68863,1083238.029,1083238.029,1083238.029,1083238.029,3182285.4502999997,3182285.4502999997 +4568400.0,928189.506,800129.517,2336378.1896399995,1080041.21951,1080041.21951,1080041.21951,1049759.6130000001,1714303.8278400002,3188344.47296,1503299.46375,2290742.04,933866.052,933866.052,933866.052,1222419.5865,928189.506,928189.506,1117077.94978,1200931.3773,1785088.12132,3113525.793,883648.27268,1123834.54814,1050751.158,1050751.158,1050751.158,1050751.158,2790756.44804,2790756.44804 +4572000.0,664461.51,565681.632,1651790.3654399998,708509.55604,708509.55604,708509.55604,587752.4415,876568.0217599999,1967982.3206400003,852469.01943,1299000.41056,502071.75600000005,502071.75600000005,502071.75600000005,620281.704,664461.51,664461.51,780400.8309499999,564929.6723999999,839722.6241599999,1464632.484,415676.64784,528662.5823199999,673166.208,673166.208,673166.208,673166.208,1997814.2734,1997814.2734 +4575600.0,113736.876,101321.43900000001,295858.60188000003,118063.85019,118063.85019,118063.85019,61915.27650000001,177919.24416,708336.07872,202277.46336,308232.32512,168484.365,168484.365,168484.365,109354.6125,113736.876,113736.876,199910.92081999997,82530.6084,122675.12655999999,213968.244,60726.22544,77232.34712,139037.40899999999,139037.40899999999,139037.40899999999,139037.40899999999,341968.87384,341968.87384 +4579200.0,110877.30900000001,101293.119,295775.90748,95744.78419000002,95744.78419000002,95744.78419000002,41474.72,195679.99232,716579.5500800001,199764.54960000003,304403.12320000003,168482.328,168482.328,168482.328,104909.3815,110877.30900000001,110877.30900000001,212649.72481999997,76539.56085,113769.91513999998,198435.89849999998,56317.997859999996,71625.91003,138045.738,138045.738,138045.738,138045.738,333371.10906,333371.10906 +4582800.0,120758.766,113242.128,330667.01375999994,92958.32381,92958.32381,92958.32381,40494.622,212679.35631999996,739138.1856,235007.65407,358106.90144,172825.257,172825.257,172825.257,107858.2925,120758.766,120758.766,223374.02386,79110.15255,117590.89342,205100.39549999998,58209.44558,74031.47609,145805.025,145805.025,145805.025,145805.025,363081.35643999994,363081.35643999994 +4586400.0,132540.093,129097.27799999999,376964.05176,89845.13197,89845.13197,89845.13197,45620.211,215453.58408,751769.3324800002,259505.37543000001,395436.76256000006,174390.522,174390.522,174390.522,107400.59400000001,132540.093,132540.093,251538.44976,94012.02224999998,139741.3269,243734.87249999997,69174.2781,87976.68255,153021.696,153021.696,153021.696,153021.696,398503.87962,398503.87962 +4590000.0,148457.562,140174.079,409308.31068,97397.13907,97397.13907,97397.13907,62042.85500000001,240529.27096,779940.51392,299502.40257000003,456384.61344000004,186256.158,186256.158,186256.158,118394.7905,148457.562,148457.562,258976.41249999998,107364.49965,159588.71305999998,278352.4065,78999.06394000001,100471.96387,198582.495,198582.495,198582.495,198582.495,446362.40307999996,446362.40307999996 +4593600.0,192338.44800000003,153364.63799999998,447824.74295999995,122627.61445000001,122627.61445000001,122627.61445000001,73187.54449999999,330308.22752,790911.6774400001,341059.11399,519709.12607999996,281685.999,281685.999,281685.999,200064.37850000002,192338.44800000003,192338.44800000003,278840.51962,130448.93669999999,193901.87627999997,338200.947,95984.64971999999,122074.43706,257216.553,257216.553,257216.553,257216.553,578297.6003200001,578297.6003200001 +4597200.0,239083.89,172863.774,504762.22008,145043.17608,145043.17608,145043.17608,82165.1075,462082.64744,804068.2412800001,393958.79544,600318.16448,328799.154,328799.154,328799.154,226318.41400000005,239083.89,239083.89,309635.94336999994,152072.81819999998,226044.04087999996,394262.86199999996,111895.55511999999,142310.11875999998,308513.751,308513.751,308513.751,308513.751,718845.5626000001,718845.5626000001 +4600800.0,324756.68100000004,202019.049,589895.62308,243578.97091000003,243578.97091000003,243578.97091000003,162690.33899999998,598842.34832,895967.74976,523704.2937,798025.5904,405243.162,405243.162,405243.162,268726.2095,324756.68100000004,324756.68100000004,345452.20866,196079.616,291456.61439999996,508354.56,144275.8656,183491.7888,404893.50299999997,404893.50299999997,404893.50299999997,404893.50299999997,976435.0875400001,976435.0875400001 +4604400.0,1096294.857,1109736.2219999998,3240429.7682399997,1072027.2185700003,1072027.2185700003,1072027.2185700003,1073244.0740000003,1675487.6312799999,1663948.9024000003,1439318.6417399999,2193247.45408,706723.71,706723.71,706723.71,1643063.345,1096294.857,1096294.857,2060322.8987899998,624914.2062,928884.82008,1620147.942,459813.41592,584796.25716,1487594.244,1487594.244,1487594.244,1487594.244,3296193.20338,3296193.20338 +4608000.0,1978333.4880000001,1779770.1150000002,5196928.735800001,2490514.53431,2490514.53431,2490514.53431,1788324.4679999999,2957453.1171999997,3280978.1094400003,2929933.06683,4464659.91136,1223619.8220000002,1223619.8220000002,1223619.8220000002,1825923.7395,1978333.4880000001,1978333.4880000001,2772906.16889,1557310.4793,2314817.05812,4037471.6130000004,1145872.89588,1457334.9917400002,2184136.3260000004,2184136.3260000004,2184136.3260000004,2184136.3260000004,5948189.35392,5948189.35392 +4611600.0,2001417.039,1898480.7540000002,5543563.8016800005,2234636.82926,2234636.82926,2234636.82926,2045786.7989999999,3358121.95088,8082965.966080002,2506112.3955,3818837.936,2097612.675,2097612.675,2097612.675,2005442.208,2001417.039,2001417.039,1600836.6242699998,2964351.3138,4406270.34792,7685355.258,2181177.01608,2774047.2788400003,1567489.7909999997,1567489.7909999997,1567489.7909999997,1567489.7909999997,6017593.89726,6017593.89726 +4615200.0,1260293.754,996365.7660000001,2909388.03672,1275030.2471500002,1275030.2471500002,1275030.2471500002,2004648.1245,2583333.344,4369962.04224,2576788.99338,3926535.60896,1824782.9819999998,1824782.9819999998,1824782.9819999998,1996628.3155,1260293.754,1260293.754,1295875.72192,2380035.12975,3537731.2298999997,6170461.4475,1751235.7251,2227242.75105,1392039.543,1392039.543,1392039.543,1392039.543,3789283.2203599997,3789283.2203599997 +4618800.0,1012994.8080000002,788845.449,2303428.71108,1185526.87308,1185526.87308,1185526.87308,1729745.3705,2814701.21424,5027673.98144,2014269.8585100002,3069363.5939200004,883090.635,883090.635,883090.635,1776860.4595,1012994.8080000002,1012994.8080000002,738027.18886,1637650.2645,2434235.7018,4245759.945,1204987.1082000001,1532517.1611000001,1127315.4719999998,1127315.4719999998,1127315.4719999998,1127315.4719999998,3045737.7227200004,3045737.7227200004 +4622400.0,766133.3670000001,633467.247,1849724.36124,683975.60418,683975.60418,683975.60418,1033579.8514999999,1934123.2557599999,2004447.61984,1420420.5180900001,2164450.3132800004,718497.1259999999,718497.1259999999,718497.1259999999,998420.0695000001,766133.3670000001,766133.3670000001,559388.14672,952517.1469500001,1415840.30238,2469488.8995000003,700864.46862,891367.8980100001,769972.0380000001,769972.0380000001,769972.0380000001,769972.0380000001,2303507.65678,2303507.65678 +4626000.0,256468.30200000003,141831.177,414147.03684,113053.59879,113053.59879,113053.59879,195342.39549999998,550887.47448,378917.54240000003,362829.81734999997,552883.5312,185147.211,185147.211,185147.211,218142.967,256468.30200000003,256468.30200000003,97487.4927,132259.2786,196592.80424,342894.42600000004,97316.70376,123768.55948000001,215689.80599999998,215689.80599999998,215689.80599999998,215689.80599999998,771114.6946800001,771114.6946800001 +4629600.0,295782.876,204016.62000000002,595728.5304,103938.01979,103938.01979,103938.01979,255242.631,566502.8110400001,572662.90304,413289.46491,629774.42272,239003.54700000002,239003.54700000002,239003.54700000002,249377.5725,295782.876,295782.876,147707.72626999998,217297.44855,322995.21982,563363.7555000001,159887.99918,203347.48889000004,239496.04499999998,239496.04499999998,239496.04499999998,239496.04499999998,889320.5138399999,889320.5138399999 +4633200.0,288098.61600000004,197391.522,576383.24424,86482.41657,86482.41657,86482.41657,239372.1575,540990.5024,554269.4579200001,391901.54387999995,597183.30496,230223.099,230223.099,230223.099,230481.2965,288098.61600000004,288098.61600000004,148573.89183,207167.24834999998,307937.49013999995,537100.2735,152434.17286,193867.62253,230070.276,230070.276,230070.276,230070.276,866216.50544,866216.50544 +4636800.0,725258.334,631851.6000000001,1845006.672,466105.59006,466105.59006,466105.59006,780141.5965,1368024.94648,2262127.4182400005,1137979.16316,1734063.48672,678585.0630000001,678585.0630000001,678585.0630000001,912205.3675,725258.334,725258.334,639628.8841799999,892061.7236999999,1325978.1670799998,2312752.6169999996,656381.2189199999,834793.56366,762858.615,762858.615,762858.615,762858.615,2180610.0575599996,2180610.0575599996 +4640400.0,900278.1299999999,780256.7130000001,2278349.60196,924936.50282,924936.50282,924936.50282,997652.929,1666886.1697599997,2914829.99872,1440396.90543,2194890.52256,850487.2890000001,850487.2890000001,850487.2890000001,1140797.0629999998,900278.1299999999,900278.1299999999,875938.31117,1116795.95235,1660027.56374,2895396.9135,821741.21926,1045100.40973,954754.0170000001,954754.0170000001,954754.0170000001,954754.0170000001,2706836.2441999996,2706836.2441999996 +4644000.0,947695.5689999999,824285.427,2406913.44684,1104449.94968,1104449.94968,1104449.94968,1087786.756,1768994.6335999998,3097140.4032000005,1526395.30176,2325935.6979199997,903818.7810000001,903818.7810000001,903818.7810000001,1210366.22,947695.5689999999,947695.5689999999,1020380.4755299999,1189000.2393,1767353.44212,3082593.2130000005,874869.3118800002,1112669.3597400002,1030528.578,1030528.578,1030528.578,1030528.578,2849404.67746,2849404.67746 +4647600.0,961717.23,854886.1680000001,2496267.6105600004,1137720.68564,1137720.68564,1137720.68564,1104150.621,1863207.2948,3289066.0729600005,1553327.6184300003,2366975.41856,926034.2040000001,926034.2040000001,926034.2040000001,1232046.5744999999,961717.23,961717.23,1127786.1016499999,1221626.3588999999,1815849.5507599998,3167179.4489999996,898875.69124,1143200.96302,1059367.878,1059367.878,1059367.878,1059367.878,2891563.1381999995,2891563.1381999995 +4651200.0,1010219.361,903971.01,2639595.3491999996,1180860.8337899998,1180860.8337899998,1180860.8337899998,1148354.6725,1990616.1628800002,3510072.4595200005,1676224.5099600002,2554246.87232,1003626.492,1003626.492,1003626.492,1308678.497,1010219.361,1010219.361,1240915.92118,1290342.4982999999,1917990.5777199995,3345332.4029999995,949437.1962799998,1207505.6959399998,1120896.7710000002,1120896.7710000002,1120896.7710000002,1120896.7710000002,3037392.87874,3037392.87874 +4654800.0,1006089.0389999999,868498.44,2536015.4447999997,1010332.8480300001,1010332.8480300001,1010332.8480300001,928436.6805,1775270.6596799998,2738020.46784,1489413.4407600001,2269582.3859200003,861882.615,861882.615,861882.615,1112493.3575,1006089.0389999999,1006089.0389999999,1266791.95591,1094449.6521,1626811.58164,2837462.061,805298.75636,1024188.6867800001,1044112.2690000001,1044112.2690000001,1044112.2690000001,1044112.2690000001,3024974.3772599995,3024974.3772599995 +4658400.0,412882.41299999994,290111.061,847124.2981199999,482501.25946000003,482501.25946000003,482501.25946000003,349770.37549999997,758800.7425599999,979288.8569600001,625790.3622600001,953585.3139200001,346012.74,346012.74,346012.74,430398.26550000004,412882.41299999994,412882.41299999994,664401.6780699999,218457.23489999998,324719.14916,566370.6089999999,160741.37284,204432.81982,507775.19999999995,507775.19999999995,507775.19999999995,507775.19999999995,1241399.7884199999,1241399.7884199999 +4662000.0,145956.237,105990.0,309490.8,153105.02801,153105.02801,153105.02801,63195.153000000006,297311.70775999996,744008.2476799999,278630.20479,424579.35968,203908.88100000002,203908.88100000002,203908.88100000002,117374.40400000001,145956.237,145956.237,222633.03855,89727.5475,133372.799,232626.975,66021.751,83967.2605,156849.75900000002,156849.75900000002,156849.75900000002,156849.75900000002,438841.75258,438841.75258 +4665600.0,149384.52,117704.81399999998,343698.05687999993,135578.18351,135578.18351,135578.18351,49501.105500000005,328014.6084,775051.04192,279730.53192000004,426256.04864000005,211190.739,211190.739,211190.739,115650.2305,149384.52,149384.52,228837.07755999998,87935.47515,130709.02725999999,227980.8615,64703.13974,82290.23477,159006.393,159006.393,159006.393,159006.393,449149.4567999999,449149.4567999999 +4669200.0,161138.406,148116.903,432501.35676,133768.50685,133768.50685,133768.50685,52563.7875,341470.09687999997,807873.74976,294752.45499,449146.59807999997,216368.68800000002,216368.68800000002,216368.68800000002,116359.90450000002,161138.406,161138.406,245315.55554999996,101749.6485,151242.6874,263795.385,74867.64259999999,95217.5723,166899.378,166899.378,166899.378,166899.378,484489.47403999994,484489.47403999994 +4672800.0,173663.55,168758.13900000002,492773.76588,141415.86184,141415.86184,141415.86184,64053.86750000001,350521.71728,862448.0147200001,327509.25417000003,499061.72064,256958.91299999997,256958.91299999997,256958.91299999997,120240.52600000001,173663.55,173663.55,273644.53635999997,111759.47864999999,166121.49665999998,289746.7965,82232.90034,104584.79607,208282.23599999998,208282.23599999998,208282.23599999998,208282.23599999998,522148.40699999995,522148.40699999995 +4676400.0,202690.647,187083.021,546282.4213200001,150863.82553000003,150863.82553000003,150863.82553000003,73701.6735,383315.54816,897725.8271999999,363006.88515,553153.3488,326391.255,326391.255,326391.255,167619.102,202690.647,202690.647,292597.59099999996,134879.7258,200487.88872,349688.17799999996,99244.83528,126220.78044,266098.311,266098.311,266098.311,266098.311,609423.2119799999,609423.2119799999 +4680000.0,260070.79499999998,221818.87199999997,647711.10624,166113.41956,166113.41956,166113.41956,81619.89499999999,513998.77576,962615.3113600002,436238.79453,664744.82976,404634.816,404634.816,404634.816,250831.44100000002,260070.79499999998,260070.79499999998,328460.29684,163651.8978,243255.41352,424282.69800000003,120415.47048,153145.85004000002,342188.748,342188.748,342188.748,342188.748,781946.1902999999,781946.1902999999 +4683600.0,356716.608,260280.783,760019.88636,193817.04265000002,193817.04265000002,193817.04265000002,95120.73550000001,674907.95704,1134794.3686400002,551004.83508,839626.4153600001,479402.91000000003,479402.91000000003,479402.91000000003,285369.532,356716.608,356716.608,393944.16112999996,202180.34565,300524.85946,524171.2665,148764.79754,189200.86667000002,449476.43700000003,449476.43700000003,449476.43700000003,449476.43700000003,1072527.93472,1072527.93472 +4687200.0,447356.96100000007,293659.11899999995,857484.6274799999,287775.07649,287775.07649,287775.07649,178009.0025,786791.85672,1347025.69792,675254.286,1028958.9119999999,516224.25600000005,516224.25600000005,516224.25600000005,328576.81149999995,447356.96100000007,447356.96100000007,410081.19645999995,297421.3079999999,442092.9071999999,771092.2799999998,218843.33279999995,278327.59439999994,533445.834,533445.834,533445.834,533445.834,1345053.2627400002,1345053.2627400002 +4690800.0,1203159.066,1220385.525,3563525.733,1120919.26573,1120919.26573,1120919.26573,1095841.5685,1920703.6190399998,2189182.55616,1610625.4978800002,2454286.4729600004,825524.478,825524.478,825524.478,1767476.6130000001,1203159.066,1203159.066,2192401.4487699997,732977.5455,1089512.3022,1900312.1550000003,539326.6878000001,685922.1969000001,1619762.4239999999,1619762.4239999999,1619762.4239999999,1619762.4239999999,3617498.25844,3617498.25844 +4694400.0,2066954.1630000002,1876453.4640000002,5479244.11488,2572296.85383,2572296.85383,2572296.85383,1869168.4130000002,3143575.64,3488107.328,3025573.99788,4610398.47296,1270161.6809999999,1270161.6809999999,1270161.6809999999,1987598.2245000002,2066954.1630000002,2066954.1630000002,2948832.1545799994,1625522.8675499998,2416209.2994199996,4214318.5455,1196063.7395799998,1521168.3130899998,2231998.278,2231998.278,2231998.278,2231998.278,6214642.18342,6214642.18342 +4698000.0,1841888.625,1815412.947,5301005.80524,2199402.79449,2199402.79449,2199402.79449,2021676.5135000001,3153191.4044,7840070.4665600015,2351660.02722,3583481.9462400004,2020462.5750000002,2020462.5750000002,2020462.5750000002,1903021.7955,1841888.625,1841888.625,1320836.42808,2895001.0537499995,4303186.751499999,7505558.2875,2130148.9235,2709149.1342499997,1375636.233,1375636.233,1375636.233,1375636.233,5537945.132499999,5537945.132499999 +4701600.0,1169225.781,858700.125,2507404.3649999998,1233211.55881,1233211.55881,1233211.55881,1988104.6570000001,2491478.63536,4089264.14592,2415355.3672500006,3680541.5120000006,1687382.043,1687382.043,1687382.043,1881540.5525,1169225.781,1169225.781,1238018.7090699999,2327835.91095,3460141.2799799996,6035130.1395,1712827.41102,2178394.59321,1272973.554,1272973.554,1272973.554,1272973.554,3515472.1815399993,3515472.1815399993 +4705200.0,732672.633,497628.735,1453075.9061999999,960137.5217500001,960137.5217500001,960137.5217500001,1477512.3965,2341459.7751200004,4197159.00608,1578852.40065,2405870.3248,582927.159,582927.159,582927.159,1398615.057,732672.633,732672.633,396972.36878,1236394.89045,1837801.78778,3205468.2345000003,909742.41322,1157021.39131,777849.246,777849.246,777849.246,777849.246,2202902.38322,2202902.38322 +4708800.0,630296.943,509997.12599999993,1489191.6079199999,408653.39273,408653.39273,408653.39273,868450.646,1683000.67448,1358285.0182400001,1208320.9889099998,1841251.03072,572673.0120000001,572673.0120000001,572673.0120000001,744556.9425,630296.943,630296.943,304854.41375999997,729651.3614999999,1084568.1966,1891688.7149999999,536879.2734,682809.5456999999,605220.999,605220.999,605220.999,605220.999,1895092.8086199998,1895092.8086199998 +4712400.0,436496.196,326541.01499999996,953499.7637999998,239160.92079,239160.92079,239160.92079,419253.29600000003,894567.85952,1088199.47392,680410.97271,1036816.7203200001,360719.115,360719.115,360719.115,477339.842,436496.196,436496.196,300142.27801999997,424127.20634999993,630431.0573399999,1099589.0535,312073.84566,396899.28693,421073.10599999997,421073.10599999997,421073.10599999997,421073.10599999997,1312398.56264,1312398.56264 +4716000.0,337555.635,246317.81100000002,719248.00812,145843.26889000004,145843.26889000004,145843.26889000004,310432.02749999997,636092.2159999999,753833.1705600001,489894.49173,746505.89216,268098.615,268098.615,268098.615,302257.62,337555.635,337555.635,209896.05753999998,291854.28735,433817.97773999994,756659.2635,214747.10525999998,273117.96272999997,295579.401,295579.401,295579.401,295579.401,1014917.2758999999,1014917.2758999999 +4719600.0,298783.461,208502.046,608825.97432,98785.48933000001,98785.48933000001,98785.48933000001,253655.95499999996,554855.45664,603666.32256,412149.94716,628038.01472,231323.031,231323.031,231323.031,237504.071,298783.461,298783.461,164164.98254,229701.88575,341433.4203,595523.4075,169015.2147,214955.59185,244529.27999999997,244529.27999999997,244529.27999999997,244529.27999999997,898342.2727399999,898342.2727399999 +4723200.0,714575.8439999999,624024.174,1822150.58808,541611.5259500002,541611.5259500002,541611.5259500002,777419.258,1320128.26824,2267903.5449600006,1141578.0348,1739547.4816,649290.1740000001,649290.1740000001,649290.1740000001,873088.7829999999,714575.8439999999,714575.8439999999,646641.6188700001,880173.0094499999,1308306.54738,2281930.0245,647633.47362,823668.07551,748073.592,748073.592,748073.592,748073.592,2148491.3709599995,2148491.3709599995 +4726800.0,822602.4540000001,707733.726,2066582.4799199998,780994.9739900001,780994.9739900001,780994.9739900001,905826.11,1502095.04704,2633558.7481600004,1309429.57173,1995321.25216,752267.121,752267.121,752267.121,1008565.1660000001,822602.4540000001,822602.4540000001,733294.9473199999,1008351.19215,1498833.1300599999,2614243.8315,741947.29694,943617.53537,856634.1270000001,856634.1270000001,856634.1270000001,856634.1270000001,2473291.37836,2473291.37836 +4730400.0,927610.098,813404.7990000001,2375142.01308,1042345.51036,1042345.51036,1042345.51036,1062791.6179999998,1727345.9202400001,3027863.40672,1495171.6363499998,2278356.7791999998,872013.003,872013.003,872013.003,1169764.2774999999,927610.098,927610.098,930042.7784699999,1150674.2833499997,1710384.9841399996,2983229.6234999998,846668.9788599999,1076803.8355299998,986482.5869999999,986482.5869999999,986482.5869999999,986482.5869999999,2789014.3613199997,2789014.3613199997 +4734000.0,995319.7889999999,888854.1300000001,2595454.0596000003,1150340.7666300002,1150340.7666300002,1150340.7666300002,1140923.7875,1920003.00008,3310457.7740800004,1612168.94853,2456638.39776,956245.9680000001,956245.9680000001,956245.9680000001,1277900.2880000002,995319.7889999999,995319.7889999999,1162305.3889199998,1255916.2671,1866818.74764,3256079.211,924106.29036,1175289.54378,1086609.8369999998,1086609.8369999998,1086609.8369999998,1086609.8369999998,2992594.8322599996,2992594.8322599996 +4737600.0,1027758.0989999999,922175.559,2692752.63228,1190140.5803100003,1190140.5803100003,1190140.5803100003,1166671.142,2040711.9398400001,3600183.2416000003,1678966.0179600003,2558424.4083200004,1025828.2409999999,1025828.2409999999,1025828.2409999999,1329780.2280000001,1027758.0989999999,1027758.0989999999,1208507.2955799997,1315020.8776500002,1954673.00826,3409313.3865000005,967595.60874,1230599.7842700002,1138336.0320000001,1138336.0320000001,1138336.0320000001,1138336.0320000001,3090126.01766,3090126.01766 +4741200.0,976391.5319999999,841061.952,2455900.89984,969255.05435,969255.05435,969255.05435,898858.8454999998,1721513.89184,2642082.7712000003,1438597.1943,2192148.1056000004,819297.492,819297.492,819297.492,1066824.0485,976391.5319999999,976391.5319999999,1228200.99402,1057372.14105,1571698.83682,2741335.1805000002,778017.0321800001,989491.4603900001,1003900.797,1003900.797,1003900.797,1003900.797,2935683.8728799997,2935683.8728799997 +4744800.0,454387.971,324622.011,947896.27212,518419.03388,518419.03388,518419.03388,378450.072,866024.3748,1116185.7171200002,696784.61958,1061767.03936,390834.99,390834.99,390834.99,477297.31700000004,454387.971,454387.971,724487.8998499999,242323.8849,360195.00916,628247.109,178302.51284,226767.28982,557521.473,557521.473,557521.473,557521.473,1366193.16614,1366193.16614 +4748400.0,167637.444,122287.149,357078.47508,176557.39772000004,176557.39772000004,176557.39772000004,67822.3665,366939.04935999995,878376.3238400001,323055.87824999995,492275.62399999995,248303.05199999997,248303.05199999997,248303.05199999997,135333.4605,167637.444,167637.444,258407.28849,104038.74899999998,154645.2516,269730.08999999997,76551.9684,97359.71819999999,172582.518,172582.518,172582.518,172582.518,504029.9149599999,504029.9149599999 +4752000.0,172819.66199999998,162517.107,474549.95243999996,157447.63661000002,157447.63661000002,157447.63661000002,58801.981,402889.93168000004,914752.5484800001,324751.9086,494860.0512,251733.726,251733.726,251733.726,131769.582,172819.66199999998,172819.66199999998,261569.54121999998,106900.65719999999,158899.24847999998,277149.85199999996,78657.76752,100037.89895999999,179547.585,179547.585,179547.585,179547.585,519611.11707999994,519611.11707999994 +4755600.0,186051.19800000003,190125.405,555166.1826000001,157616.31369,157616.31369,157616.31369,66439.366,405743.8520799999,963834.4480000001,343175.79387000005,522934.5430400001,257721.37800000003,257721.37800000003,257721.37800000003,131616.1595,186051.19800000003,186051.19800000003,293216.33978,119127.76109999999,177073.85723999998,308849.751,87654.50076,111480.05298,207286.983,207286.983,207286.983,207286.983,559393.93532,559393.93532 +4759200.0,211582.36800000002,201197.511,587496.73212,167477.54111000002,167477.54111000002,167477.54111000002,76724.613,425740.2924,1000459.4112000001,392524.51728000003,598132.59776,355172.52599999995,355172.52599999995,355172.52599999995,146519.702,211582.36800000002,211582.36800000002,315065.35111999995,139122.10484999997,206793.84473999994,360686.93849999993,102366.38825999998,130190.80922999998,279475.041,279475.041,279475.041,279475.041,636157.65312,636157.65312 +4762800.0,253379.364,227541.708,664421.7873600001,171737.03217000002,171737.03217000002,171737.03217000002,83477.513,517716.57816,1003245.44192,432328.87089,658786.85088,411805.176,411805.176,411805.176,258386.30299999999,253379.364,253379.364,341615.90177,166668.86025,247739.88609999997,432104.4525,122635.3589,155969.13095,339695.661,339695.661,339695.661,339695.661,761827.28776,761827.28776 +4766400.0,320747.49600000004,252269.853,736627.9707599999,181331.25945,181331.25945,181331.25945,86179.702,648068.94056,1086285.7689600002,514898.83662,784607.75104,462661.62599999993,462661.62599999993,462661.62599999993,274157.00899999996,320747.49600000004,320747.49600000004,372718.36224999995,188964.47474999996,280880.5279,489907.89749999996,139040.52709999998,176833.42205,421209.195,421209.195,421209.195,421209.195,964380.80464,964380.80464 +4770000.0,397353.1980000001,277466.13,810201.0996000001,194718.80813,194718.80813,194718.80813,96289.354,699564.09248,1238542.0448000003,587820.53442,895726.52864,481475.38499999995,481475.38499999995,481475.38499999995,288963.5805,397353.1980000001,397353.1980000001,392248.54954999994,251729.44694999998,374175.62237999996,652631.8995,185223.14862,235569.03801000002,477687.93000000005,477687.93000000005,477687.93000000005,477687.93000000005,1194708.61532,1194708.61532 +4773600.0,571307.952,325213.422,949623.19224,295047.29144,295047.29144,295047.29144,179196.83250000002,1213799.33568,1515537.3792,866105.6357100001,1319780.0163200002,518474.37,518474.37,518474.37,462237.629,571307.952,571307.952,589121.69082,325921.05269999994,484455.4906799999,844980.5069999999,239813.51531999998,304997.72585999995,602095.584,602095.584,602095.584,602095.584,1717732.5756799998,1717732.5756799998 +4777200.0,1298952.267,737796.363,2154365.37996,1725441.7015000002,1725441.7015000002,1725441.7015000002,1519176.183,3563041.74008,4512905.451520001,3072902.2018799996,4682517.6409599995,1375916.709,1375916.709,1375916.709,2029880.4190000002,1298952.267,1298952.267,2699049.7155699995,1743628.9149,2591764.46116,4520519.409,1282966.46084,1631692.24382,1612521.2880000002,1612521.2880000002,1612521.2880000002,1612521.2880000002,3905516.48278,3905516.48278 +4780800.0,1079312.1779999998,1183467.387,3455724.77004,2141037.68395,2141037.68395,2141037.68395,1973227.1720000003,4244527.84976,3189394.6758400006,3220830.9886200004,4907932.935040001,1276497.4770000002,1276497.4770000002,1276497.4770000002,1819053.1695000003,1079312.1779999998,1079312.1779999998,2146580.71056,2139454.73745,3180127.78258,5546734.5045,1574216.07842,2002107.02591,1507176.0750000002,1507176.0750000002,1507176.0750000002,1507176.0750000002,3245131.9485199996,3245131.9485199996 +4784400.0,1632184.2240000002,1752541.182,5117420.25144,1022647.99648,1022647.99648,1022647.99648,1812628.02,3421983.41376,5446981.01056,2703020.02908,4118887.6633599997,1374486.141,1374486.141,1374486.141,1056633.2315,1632184.2240000002,1632184.2240000002,2128032.58577,1409302.4800500001,2094815.04442,3653747.1705000005,1036968.24458,1318828.74059,1775222.1509999998,1775222.1509999998,1775222.1509999998,1775222.1509999998,4907433.900160001,4907433.900160001 +4788000.0,983178.3929999999,753663.6900000001,2200697.9748,430692.26365000004,430692.26365000004,430692.26365000004,407805.433,1243120.90112,5460252.39104,512777.86287,781375.79104,914881.8629999999,914881.8629999999,914881.8629999999,893283.4085,983178.3929999999,983178.3929999999,1152149.4298599998,1727205.7072499997,2567352.6808999996,4477940.7225,1270882.2241,1616323.36555,406952.01900000003,406952.01900000003,406952.01900000003,406952.01900000003,2956089.70162,2956089.70162 +4791600.0,418188.105,381566.39699999994,1114173.87924,163808.98556,163808.98556,163808.98556,178973.87900000002,662231.92752,1794296.3833600003,341592.8869500001,520522.4944000001,207909.864,207909.864,207909.864,178258.864,418188.105,418188.105,300377.0926,359407.5867,534230.53628,931797.447,264452.98972,336334.50706000003,226922.78999999998,226922.78999999998,226922.78999999998,226922.78999999998,1257352.2357,1257352.2357 +4795200.0,412779.95699999994,843113.0489999999,2461890.10308,235588.12827000002,235588.12827000002,235588.12827000002,500520.44,890403.71176,1166924.8691200002,622178.84568,948082.05056,253454.00400000002,253454.00400000002,253454.00400000002,655672.738,412779.95699999994,412779.95699999994,354409.41471,309317.5755,459775.7541999999,801934.455,227596.63579999996,289460.15089999995,326883.864,326883.864,326883.864,326883.864,1241091.7373799998,1241091.7373799998 +4798800.0,171140.499,167428.91700000002,488892.43764,179303.09298000002,179303.09298000002,179303.09298000002,328696.7705,292216.71072,190765.7856,160169.56683,244067.91136,83383.02900000001,83383.02900000001,83383.02900000001,117319.49250000001,171140.499,171140.499,130514.22735,72521.13464999999,107796.84705999999,188017.7565,53361.22993999999,67865.45687,81296.649,81296.649,81296.649,81296.649,514562.43366,514562.43366 +4802400.0,195332.87699999998,127486.34399999998,372260.12447999994,73620.89911,73620.89911,73620.89911,103939.3985,367398.71575999993,317122.10176,198568.7865,302581.008,117603.636,117603.636,117603.636,85516.3015,195332.87699999998,195332.87699999998,195793.66663999998,101812.2291,151335.70844,263957.631,74913.68956,95276.13538,126496.527,126496.527,126496.527,126496.527,587300.85018,587300.85018 +4806000.0,275496.597,178537.75799999997,521330.25336,662807.5586000001,662807.5586000001,662807.5586000001,443959.31999999995,521894.31560000003,162413.61536,538605.80487,820732.65504,140730.246,140730.246,140730.246,473709.173,275496.597,275496.597,514221.71280999994,307591.77329999994,457210.4877199999,797460.1529999999,226326.78628,287845.14094,117359.568,117359.568,117359.568,117359.568,828326.43498,828326.43498 +4809600.0,468024.843,905125.332,2642965.96944,431444.56245,431444.56245,431444.56245,635210.471,1405443.28064,1345047.7792,740189.52084,1127907.84128,455601.444,455601.444,455601.444,936549.8835000001,468024.843,468024.843,908220.1355499999,638592.09705,949215.90722,1655609.1405000002,469877.64178000006,597596.06119,559195.5,559195.5,559195.5,559195.5,1407194.6946199997,1407194.6946199997 +4813200.0,586793.6370000001,688478.586,2010357.47112,558159.99536,558159.99536,558159.99536,687620.8255,1438187.4014400002,2056643.07072,971675.9455200001,1480649.05984,513018.099,513018.099,513018.099,759003.0314999999,586793.6370000001,586793.6370000001,676420.56456,719673.2792999999,1069736.57812,1865819.613,529537.37588,673472.03174,608622.2009999999,608622.2009999999,608622.2009999999,608622.2009999999,1764292.86858,1764292.86858 +4816800.0,1950747.6809999999,1680432.861,4906863.95412,2675379.27822,2675379.27822,2675379.27822,2718156.8784999996,3200349.8073600004,5377277.62688,3359348.4527399996,5119007.16608,2100458.457,2100458.457,2100458.457,2307747.5575,1950747.6809999999,1950747.6809999999,2165850.30168,2437716.5784,3623470.0745599996,6320005.944,1793677.87744,2281221.19312,2166038.847,2166038.847,2166038.847,2166038.847,5865248.027539999,5865248.027539999 +4820400.0,1334580.216,834769.5179999999,2437526.9925599997,1257943.41442,1257943.41442,1257943.41442,1351525.5705,2195450.17416,3369256.6016,1816082.77725,2767364.2320000003,1141136.4389999998,1141136.4389999998,1141136.4389999998,1376877.936,1334580.216,1334580.216,1071437.69239,1317540.23685,1958417.8335399998,3415845.0585,969449.35946,1232957.40683,1235780.088,1235780.088,1235780.088,1235780.088,4012637.8494399996,4012637.8494399996 +4824000.0,1075521.903,864619.515,2524688.9838,1155596.3698400003,1155596.3698400003,1155596.3698400003,1120201.3129999998,1912371.7085600002,3396176.14784,1615538.09571,2461772.33632,1007326.9949999999,1007326.9949999999,1007326.9949999999,1345356.3445000001,1075521.903,1075521.903,1160790.79207,1308297.48885,1944679.23034,3391882.3785,962648.52266,1224308.02043,1134964.467,1134964.467,1134964.467,1134964.467,3233735.8550199997,3233735.8550199997 +4827600.0,1026251.6729999998,894061.992,2610661.01664,1177680.3445,1177680.3445,1177680.3445,1180675.1879999998,1934319.6316,3670303.2096,1646105.14677,2508350.69984,1034212.059,1034212.059,1034212.059,1383792.585,1026251.6729999998,1026251.6729999998,1226687.84979,1355722.1991,2015172.25644,3514835.3310000002,997543.74156,1268688.18138,1166492.838,1166492.838,1166492.838,1166492.838,3085596.6968199993,3085596.6968199993 +4831200.0,742873.8,661000.767,1930122.23964,786393.6173500001,786393.6173500001,786393.6173500001,662029.3015,1036686.58968,2345751.0656000003,990552.9813900001,1509414.0668800003,570997.416,570997.416,570997.416,717500.2030000001,742873.8,742873.8,899927.6330199998,656471.2554,975791.84136,1701962.514,483033.17064,614327.42172,758595.006,758595.006,758595.006,758595.006,2233573.892,2233573.892 +4834800.0,132085.977,120472.96800000001,351781.06656,133221.80817,133221.80817,133221.80817,67436.1695,225536.48424,865615.0956800001,240215.07510000002,366042.01920000004,202851.153,202851.153,202851.153,129245.116,132085.977,132085.977,255047.35918999996,97945.21619999998,145587.70407999997,253932.04199999996,72068.33192,91657.37516,156363.426,156363.426,156363.426,156363.426,397138.50418,397138.50418 +4838400.0,133183.94100000002,121817.84400000001,355708.10448000004,111227.29211,111227.29211,111227.29211,47112.299499999994,243169.30136,876285.8624,275667.16884,420064.25728,203214.027,203214.027,203214.027,126594.69199999998,133183.94100000002,133183.94100000002,256732.43686999998,93775.19445000001,139389.30138000002,243120.87450000003,69000.01962,87755.05851000002,163951.134,163951.134,163951.134,163951.134,400439.71594,400439.71594 +4842000.0,150998.061,148001.70299999998,432164.97276,109366.60614,109366.60614,109366.60614,55297.0635,294802.56344,904786.0985600002,300155.52483,457379.84736,208489.965,208489.965,208489.965,128908.738,150998.061,150998.061,290475.38051999995,104046.3225,154656.509,269749.72500000003,76557.541,97366.8055,178909.458,178909.458,178909.458,178909.458,454000.83673999994,454000.83673999994 +4845600.0,161663.028,146840.481,428774.20451999997,102712.60384,102712.60384,102712.60384,58865.562,357100.32544,845189.2448000001,329539.44324,502155.34208,213387.495,213387.495,213387.495,121324.9695,161663.028,161663.028,282899.76519999997,116169.98939999999,172677.36695999998,301181.454,85478.16504,108712.16292,212690.37000000002,212690.37000000002,212690.37000000002,212690.37000000002,486066.83752,486066.83752 +4849200.0,226663.854,173520.198,506678.97816,118858.59095,118858.59095,118858.59095,81467.596,449260.25584,913211.1462400001,395706.22182000004,602980.9094400001,360456.972,360456.972,360456.972,226801.0115,226663.854,226663.854,323796.59299,147880.4202,219812.37768,383393.68200000003,108810.77832,138386.86236,301020.46499999997,301020.46499999997,301020.46499999997,301020.46499999997,681502.65436,681502.65436 +4852800.0,281043.168,226334.96399999998,660898.09488,157800.48526000002,157800.48526000002,157800.48526000002,85678.516,578927.4344,971147.61408,461428.29747,703128.83424,430462.61100000003,430462.61100000003,430462.61100000003,264647.5825,281043.168,281043.168,360673.95871,174185.19855,258912.31981999998,451591.25549999997,128165.89918,163002.93889,368773.077,368773.077,368773.077,368773.077,845003.12512,845003.12512 +4856400.0,357402.31500000006,264447.477,772186.63284,190992.92663,190992.92663,190992.92663,94877.93,675001.35616,1087548.4691200003,558014.2953,850307.4976000001,476523.003,476523.003,476523.003,285678.743,357402.31500000006,357402.31500000006,388947.18681,201942.32309999998,300171.05804,523554.171,148589.65996,188978.12457999997,462504.48600000003,462504.48600000003,462504.48600000003,462504.48600000003,1074589.6271000002,1074589.6271000002 +4860000.0,577861.155,324070.476,946285.78992,300233.32207,300233.32207,300233.32207,179033.113,1212786.50448,1415323.58144,869293.7641500001,1324638.1168000002,533932.926,533932.926,533932.926,424094.811,577861.155,577861.155,602566.33346,315055.25505,468304.35442,816809.9205,231818.43458,294829.48559,616703.628,616703.628,616703.628,616703.628,1737435.8727,1737435.8727 +4863600.0,1293598.959,725860.41,2119512.3972,1691107.7635100002,1691107.7635100002,1691107.7635100002,1502526.396,3532123.17408,4446744.84608,3056566.0164900003,4657624.40608,1330754.691,1330754.691,1330754.691,1965583.116,1293598.959,1293598.959,2659193.32926,1679440.0193999996,2496352.8189599994,4354103.754,1235736.1130399997,1571624.11692,1614708.6060000001,1614708.6060000001,1614708.6060000001,1614708.6060000001,3889420.8700599996,3889420.8700599996 +4867200.0,1086812.682,1200222.393,3504649.3875599997,2011974.7645800002,2011974.7645800002,2011974.7645800002,1967187.0889999997,4271868.1952,3261799.12832,3228301.3564199996,4919316.35264,1298323.506,1298323.506,1298323.506,1799549.7275,1086812.682,1086812.682,2169753.8042699997,2148113.66985,3192998.59074,5569183.588500001,1580587.34226,2010210.0762300002,1537897.479,1537897.479,1537897.479,1537897.479,3267683.46388,3267683.46388 +4870800.0,1737686.8110000002,1884528.993,5502824.65956,1080550.51489,1080550.51489,1080550.51489,1837661.7945000003,3715377.0129599995,5977488.39616,2922640.96467,4453548.13664,1513250.541,1513250.541,1513250.541,1142741.208,1737686.8110000002,1737686.8110000002,1789243.93947,1489281.0214500001,2213696.72818,3861098.9445,1095816.6528200002,1393672.8571100002,1914864.648,1914864.648,1914864.648,1914864.648,5224645.01174,5224645.01174 +4874400.0,1155034.983,831726.6270000001,2428641.7508400003,499807.20878000004,499807.20878000004,499807.20878000004,567675.0975,1525586.0440800001,5908220.95232,778330.2292500001,1186027.016,1093731.66,1093731.66,1093731.66,1118473.3735000002,1155034.983,1155034.983,1385896.6901,1896311.6064,2818715.02976,4916363.424,1395310.76224,1774573.0835199999,598609.902,598609.902,598609.902,598609.902,3472805.18222,3472805.18222 +4878000.0,472474.776,440006.463,1284818.87196,174033.43199,174033.43199,174033.43199,230415.65049999996,750311.88208,2197882.2912000003,424060.47117000003,646187.3846400001,259627.2,259627.2,259627.2,241373.17049999998,472474.776,472474.776,376790.08978,526942.179,783257.2636,1366146.39,387725.3564,493113.79219999997,284545.305,284545.305,284545.305,284545.305,1420574.1598399999,1420574.1598399999 +4881600.0,523655.814,956058.8910000001,2791691.96172,323587.03091000003,323587.03091000003,323587.03091000003,645658.3035,1136429.70168,1678334.5689600003,857016.3388500001,1305929.6592,392832.324,392832.324,392832.324,772618.0945,523655.814,523655.814,483809.06405,487322.78264999995,724366.21026,1263429.4365,358573.30673999997,456037.86327,476833.30799999996,476833.30799999996,476833.30799999996,476833.30799999996,1574458.48076,1574458.48076 +4885200.0,310145.316,320988.519,937286.4754799999,237520.78405000002,237520.78405000002,237520.78405000002,474903.9015,569217.85624,685038.9196800002,386227.03287,588536.43104,194193.96899999998,194193.96899999998,194193.96899999998,288912.463,310145.316,310145.316,274370.38941,235482.7302,350026.18168,610510.782,173268.77432,220365.32035999998,228175.929,228175.929,228175.929,228175.929,932503.58344,932503.58344 +4888800.0,179807.61000000002,112255.203,327785.19275999995,72984.38367000001,72984.38367000001,72984.38367000001,99081.1675,320278.10344,290572.2688,175936.87482,268094.28544,101710.716,101710.716,101710.716,73609.08799999999,179807.61000000002,179807.61000000002,173279.5285,95152.0203,141435.84252,246690.423,70013.09148,89043.49554,110804.739,110804.739,110804.739,110804.739,540621.5474,540621.5474 +4892400.0,303821.058,243521.988,711084.20496,791968.13355,791968.13355,791968.13355,537610.4859999999,572609.29024,199995.00672,588098.0952,896149.4784,153455.07,153455.07,153455.07,581290.416,303821.058,303821.058,535595.1209699999,379447.3998,564018.11032,983752.518,279198.33368,355087.81364,134452.179,134452.179,134452.179,134452.179,913488.64772,913488.64772 +4896000.0,516804.267,963433.8360000001,2813226.80112,559844.68232,559844.68232,559844.68232,709278.6925,1474433.5191199998,1543941.2512000003,859414.62705,1309584.1936,510126.927,510126.927,510126.927,1019785.2000000001,516804.267,516804.267,991704.6263799999,756323.14275,1124213.6591,1960837.7775,556504.4359,707769.0644500001,613524.0989999999,613524.0989999999,613524.0989999999,613524.0989999999,1553858.16278,1553858.16278 +4899600.0,587414.2320000001,759801.369,2218619.99748,688345.47771,688345.47771,688345.47771,714124.4565000001,1526167.87744,2108648.38272,1001382.0297600001,1525915.47392,560139.477,560139.477,560139.477,839255.8125,587414.2320000001,587414.2320000001,745524.77636,745235.2755,1107732.4341999998,1932091.4549999998,548345.9558,697393.0109,658430.283,658430.283,658430.283,658430.283,1766158.79088,1766158.79088 +4903200.0,1993071.3869999999,1673283.3390000002,4885987.34988,3015083.96497,3015083.96497,3015083.96497,2726613.386,3173434.3627999993,5518946.585600001,3424112.57034,5217695.34528,2120816.526,2120816.526,2120816.526,2415328.1355,1993071.3869999999,1993071.3869999999,2653589.73217,2508463.3878,3728629.5295200003,6503423.598000001,1845733.5544800002,2347426.23204,2255662.62,2255662.62,2255662.62,2255662.62,5992501.303579999,5992501.303579999 +4906800.0,1370873.298,828048.165,2417900.6418,1420341.06236,1420341.06236,1420341.06236,1425110.3335,2231058.21928,3389012.52736,1847823.5907599998,2815731.18592,1198077.402,1198077.402,1198077.402,1404674.5580000002,1370873.298,1370873.298,1110342.98297,1366688.8376999998,2031473.2846799998,3543267.357,1005613.0213199999,1278950.78886,1299604.65,1299604.65,1299604.65,1299604.65,4121759.0493199998,4121759.0493199998 +4910400.0,1076159.223,846889.9439999999,2472918.63648,1154093.62409,1154093.62409,1154093.62409,1101781.0895,1872679.1382399998,3444673.3235200006,1620086.7095699997,2468703.5574399997,990132.6810000001,990132.6810000001,990132.6810000001,1321265.8724999998,1076159.223,1076159.223,1173089.58689,1292335.6126499998,1920953.1822599997,3350499.7364999996,950903.73474,1209370.85727,1123258.734,1123258.734,1123258.734,1123258.734,3235652.06382,3235652.06382 +4914000.0,1001910.165,870331.344,2541367.52448,1153723.0872199999,1153723.0872199999,1153723.0872199999,1146411.658,1879688.4055199998,3552592.6419200003,1633894.3609799999,2489743.78816,1023895.9290000001,1023895.9290000001,1023895.9290000001,1344824.222,1001910.165,1001910.165,1196267.6397099998,1318379.1012000002,1959664.73808,3418019.8920000005,970066.5979200001,1233742.4181600001,1141834.071,1141834.071,1141834.071,1141834.071,3012409.8961,3012409.8961 +4917600.0,722899.071,635084.25,1854446.01,764246.3501200001,764246.3501200001,764246.3501200001,641573.0125000001,989831.93096,2241829.44,951150.5997000001,1449372.3424000002,567470.505,567470.505,567470.505,691887.5495,722899.071,722899.071,867149.7292899999,631297.2653999999,938372.7253599998,1636696.6139999998,464510.08663999994,590769.53972,739475.442,739475.442,739475.442,739475.442,2173516.5401399997,2173516.5401399997 +4921200.0,127894.449,116296.65600000002,339586.23552000005,129662.04372,129662.04372,129662.04372,66176.3585,215841.68712,831089.0476800001,227605.65975,346827.672,195672.69,195672.69,195672.69,124984.4435,127894.449,127894.449,242744.10549999995,94456.97145,140402.70818,244888.44449999998,69501.67281999999,88393.06711,157196.238,157196.238,157196.238,157196.238,384535.97666,384535.97666 +4924800.0,128116.023,117736.89300000001,343791.72756,108175.04445,108175.04445,108175.04445,46020.023,233670.24352,847105.8656,258238.61615999998,393506.46272,196936.69199999998,196936.69199999998,196936.69199999998,122632.972,128116.023,128116.023,248542.00735,90287.8164,134205.59376,234079.524,66433.99824,84491.56152,161767.26,161767.26,161767.26,161767.26,385202.17582,385202.17582 +4928400.0,142845.096,139470.75900000002,407254.61628,104625.32476,104625.32476,104625.32476,51369.91299999999,257098.0284,860003.9750399999,278123.76963,423807.64895999996,198604.191,198604.191,198604.191,123337.606,142845.096,142845.096,273551.26564999996,97279.41645,144598.04618,252205.8945,71578.43482,91034.31811000001,169896.813,169896.813,169896.813,169896.813,429487.58864,429487.58864 +4932000.0,158115.027,149367.53399999999,436153.19928,104159.06149000001,104159.06149000001,104159.06149000001,57886.647000000004,322381.2568,875266.41728,329035.92539999995,501388.0767999999,205236.60000000003,205236.60000000003,205236.60000000003,124813.64699999998,158115.027,158115.027,290983.92738999997,116502.92775,173172.2531,302044.6275,85723.1419,109023.72745,203956.48500000004,203956.48500000004,203956.48500000004,203956.48500000004,475399.18117999996,475399.18117999996 +4935600.0,211813.27500000002,169225.497,494138.45124,119513.48651,119513.48651,119513.48651,79820.6325,420708.74695999996,894542.6112000002,378893.93367000006,577362.1846400001,328290.38399999996,328290.38399999996,328290.38399999996,210468.35950000002,211813.27500000002,211813.27500000002,312554.68022999994,142486.4196,211794.62864,369409.23600000003,104841.85936,133339.14328000002,289751.751,289751.751,289751.751,289751.751,636851.9135,636851.9135 +4939200.0,261330.852,189813.31199999998,554254.8710399999,150130.83481,150130.83481,150130.83481,82124.56,530737.19104,908637.99936,432176.60031,658554.81952,400161.948,400161.948,400161.948,250056.69850000003,261330.852,261330.852,340923.01645999996,163574.57925,243140.4857,424082.24250000005,120358.57930000001,153073.49515,338768.232,338768.232,338768.232,338768.232,785734.76168,785734.76168 +4942800.0,315605.481,238955.874,697751.15208,166344.63219,166344.63219,166344.63219,88745.7235,597469.2008,958790.92608,504026.59356,768040.52352,426526.299,426526.299,426526.299,259628.94999999998,315605.481,315605.481,357150.09498999995,180006.19874999998,267564.7695,466682.7375,132449.0055,168450.24525,414569.08199999994,414569.08199999994,414569.08199999994,414569.08199999994,948920.47954,948920.47954 +4946400.0,507620.94299999997,270741.972,790566.55824,275339.60663,275339.60663,275339.60663,165678.5655,1081775.1448,1179834.7398400002,766388.11704,1167829.5116800002,460349.34300000005,460349.34300000005,460349.34300000005,382384.92600000004,507620.94299999997,507620.94299999997,557517.01824,263353.87035,391454.39494,682769.2935,193776.42806,246447.20213000002,537812.553,537812.553,537812.553,537812.553,1526246.96862,1526246.96862 +4950000.0,1232691.5760000001,642920.1,1877326.6919999998,1643369.9317200002,1643369.9317200002,1643369.9317200002,1458713.5010000002,3407591.37616,4192835.9251200007,2923707.3030900005,4455173.033280001,1219251.5790000001,1219251.5790000001,1219251.5790000001,1783602.4325,1232691.5760000001,1232691.5760000001,2567757.7352699996,1589108.83965,2362082.76906,4119911.8065,1169270.20794,1487091.97587,1528764.984,1528764.984,1528764.984,1528764.984,3706292.67184,3706292.67184 +4953600.0,992052.342,1129797.5760000001,3299008.92192,1836748.6313000002,1836748.6313000002,1836748.6313000002,1873882.2025000001,4026825.45104,2877941.2390400004,3021938.1864,4604858.1888,1197134.925,1197134.925,1197134.925,1645071.0675000001,992052.342,992052.342,2069953.3797799996,2039271.7788,3031213.8539199997,5287000.908,1500501.21008,1908355.56584,1417520.493,1417520.493,1417520.493,1417520.493,2982770.70828,2982770.70828 +4957200.0,1569493.182,1635041.91,4774322.3772,867911.63107,867911.63107,867911.63107,1426724.8694999998,3149970.9305600002,5027144.081920001,2459460.41565,3747749.2048,1318744.4159999997,1318744.4159999997,1318744.4159999997,982764.8844999998,1569493.182,1569493.182,1283117.8607,1190550.0851999999,1769657.1636799998,3086611.332,876009.69232,1114119.70936,1704637.956,1704637.956,1704637.956,1704637.956,4718942.83388,4718942.83388 +4960800.0,857548.4820000001,616979.004,1801578.6916799997,369707.83135,369707.83135,369707.83135,317215.017,978331.3123999999,4956670.3616,331188.15408000007,504667.66336000006,788092.257,788092.257,788092.257,776221.4670000001,857548.4820000001,857548.4820000001,827437.0513499998,1603014.96825,2382753.1133,4155964.7325,1179502.3717,1500105.3653499999,305483.169,305483.169,305483.169,305483.169,2578362.43588,2578362.43588 +4964400.0,267174.57,215705.09699999998,629858.8832399999,129499.23558000002,129499.23558000002,129499.23558000002,88930.0685,279821.36328,989129.42528,120930.20247,184274.59424,76068.58499999999,76068.58499999999,76068.58499999999,47538.7395,267174.57,267174.57,133249.17411,138793.94955,206306.06821999996,359836.16549999994,102124.93078,129883.72068999999,83178.366,83178.366,83178.366,83178.366,803304.8738,803304.8738 +4968000.0,330198.186,703295.6849999999,2053623.4001999998,195440.34587,195440.34587,195440.34587,397685.49100000004,721133.67112,734007.73248,458313.13584,698381.92128,183699.53399999999,183699.53399999999,183699.53399999999,572572.245,330198.186,330198.186,245926.65161999996,200746.31354999996,298393.28581999993,520453.40549999994,147709.63317999998,187858.89588999999,235455.912,235455.912,235455.912,235455.912,992795.87924,992795.87924 +4971600.0,127039.323,89470.776,261254.66592,149991.96234,149991.96234,149991.96234,284398.80350000004,200436.73072,120824.53248000001,110572.83741,168491.94272,54841.338,54841.338,54841.338,61365.41249999999,127039.323,127039.323,83194.79414999999,52053.22035,77372.93494,134952.7935,38300.888060000005,48711.53213000001,49795.065,49795.065,49795.065,49795.065,381964.89781999995,381964.89781999995 +4975200.0,38226.573000000004,11892.195,34725.2094,60268.69838,60268.69838,60268.69838,49914.4835,58928.44991999999,20224.65792,28415.537220000002,43299.86624,21303.557999999997,21303.557999999997,21303.557999999997,17829.9695,38226.573000000004,38226.573000000004,21200.257779999996,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13288.644,13288.644,13288.644,13288.644,114934.56282,114934.56282 +4978800.0,137734.353,81046.938,236657.05896,364654.73099,364654.73099,364654.73099,203897.9215,252441.57447999998,12604.991360000002,344081.54928,524314.74176,81937.43400000001,81937.43400000001,81937.43400000001,250674.788,137734.353,137734.353,270350.57620999997,157263.49665000002,233759.56786,407720.1765,115714.86914000001,147167.56847,53235.747,53235.747,53235.747,53235.747,414121.28802,414121.28802 +4982400.0,236427.41999999998,547153.194,1597687.32648,367756.1157600001,367756.1157600001,367756.1157600001,372858.241,846768.76184,310595.57056,257577.38916,392498.87872,152871.825,152871.825,152871.825,568847.237,236427.41999999998,236427.41999999998,617097.52624,233679.6054,347345.98136000003,605836.0140000001,171942.03064,218677.95172,225684.61800000002,225684.61800000002,225684.61800000002,225684.61800000002,710858.4428,710858.4428 +4986000.0,460642.04699999996,440983.095,1287670.6374,439505.1364000001,439505.1364000001,439505.1364000001,422650.2,1074763.7225600001,990033.8688,647572.81701,986777.62592,355562.961,355562.961,355562.961,482679.3615,460642.04699999996,460642.04699999996,553130.3222899999,409287.13154999993,608372.4770199999,1061114.7855,301154.48198,383011.90829,397718.64,397718.64,397718.64,397718.64,1384997.0879799998,1384997.0879799998 +4989600.0,1725948.318,1418101.686,4140856.9231199995,1854084.7556000003,1854084.7556000003,1854084.7556000003,2462536.202,2862434.32576,4202713.16992,2889537.6564599997,4403105.00032,1843952.8140000002,1843952.8140000002,1843952.8140000002,1814116.7135,1725948.318,1725948.318,1512637.3089099997,1946785.42395,2893740.30918,5047221.469500001,1432449.5218200001,1821806.6066100001,1804578.051,1804578.051,1804578.051,1804578.051,5189351.27612,5189351.27612 +4993200.0,1118344.9500000002,714656.3099999999,2086796.4252,828479.4849100001,828479.4849100001,828479.4849100001,1029062.3385000002,1693783.3701600002,2696463.87264,1444803.17919,2201604.84448,820561.659,820561.659,820561.659,1106517.118,1118344.9500000002,1118344.9500000002,737707.5451199999,1063395.6128999998,1580652.2443599997,2756951.5889999997,782449.11764,995128.2402199999,980004.4380000001,980004.4380000001,980004.4380000001,980004.4380000001,3362490.483,3362490.483 +4996800.0,898845.3509999999,750729.5009999999,2192130.14292,880387.6015,880387.6015,880387.6015,960106.0735,1638993.9443199998,2857346.70464,1388910.3081,2116434.7552,841837.902,841837.902,841837.902,1139369.8994999998,898845.3509999999,898845.3509999999,796778.60678,1110845.9475,1651183.359,2879970.975,817363.191,1039532.3805000001,936288.7440000001,936288.7440000001,936288.7440000001,936288.7440000001,2702528.35534,2702528.35534 +5000400.0,845974.647,729254.4029999999,2129422.85676,900454.2033300002,900454.2033300002,900454.2033300002,949579.841,1563167.4252000002,2764731.8796800002,1336411.1640599999,2036436.05952,813710.952,813710.952,813710.952,1092119.469,845974.647,845974.647,911939.7037399999,1071378.8028,1592518.61552,2777648.748,788323.1684800001,1002598.9290400001,915940.1039999998,915940.1039999998,915940.1039999998,915940.1039999998,2543563.7719799997,2543563.7719799997 +5004000.0,604282.05,522994.188,1527143.02896,628940.38856,628940.38856,628940.38856,548189.229,816854.96784,1697457.6486400003,757825.93257,1154782.37344,444697.401,444697.401,444697.401,568102.507,604282.05,604282.05,643403.8154699999,500652.6813,744180.03492,1297988.4330000002,368381.47908,468512.01534000004,598757.2440000001,598757.2440000001,598757.2440000001,598757.2440000001,1816874.697,1816874.697 +5007600.0,106812.312,95315.82899999998,278322.22067999997,95531.75632,95531.75632,95531.75632,60281.151000000005,154191.77968,534357.15392,147318.16848000002,224484.82816000003,138850.206,138850.206,138850.206,102303.82749999998,106812.312,106812.312,185004.69234,64777.749299999996,96286.92611999999,167942.313,47663.62788,60619.17774,111197.148,111197.148,111197.148,111197.148,321149.01807999995,321149.01807999995 +5011200.0,104784.38400000002,96453.48,281644.1616,85335.05507999999,85335.05507999999,85335.05507999999,39730.1975,180730.3048,631747.5916800001,146250.97032000002,222858.62144000002,139157.98500000002,139157.98500000002,139157.98500000002,98770.4375,104784.38400000002,104784.38400000002,199810.86801,69764.31179999998,103699.05111999997,180870.43799999997,51332.75287999999,65285.61523999999,115590.114,115590.114,115590.114,115590.114,315051.71456000005,315051.71456000005 +5014800.0,118415.784,113242.09799999998,330666.9261599999,91248.72845000001,91248.72845000001,91248.72845000001,37952.73299999999,215519.95567999998,745005.7913600001,220337.55302999998,335752.46176,155375.598,155375.598,155375.598,109585.728,118415.784,118415.784,226876.82939999996,77532.53985,115245.89873999999,201010.2885,57048.63426,72555.14223,130288.266,130288.266,130288.266,130288.266,356036.79056,356036.79056 +5018400.0,139105.557,138381.492,404073.95664,93653.10537,93653.10537,93653.10537,48172.855500000005,230770.33895999996,807464.9446400001,269586.96681,410799.18752000004,173582.499,173582.499,173582.499,115360.609,139105.557,139105.557,269965.32407,99337.86134999999,147657.75934,257542.60349999997,73093.04366,92960.61593,151477.575,151477.575,151477.575,151477.575,418244.04138,418244.04138 +5022000.0,154783.692,148124.349,432523.09907999996,100651.74713000002,100651.74713000002,100651.74713000002,64649.4415,254256.90928,829538.6476799999,307715.78375999996,468900.24192,205508.05799999996,205508.05799999996,205508.05799999996,126155.52949999999,154783.692,154783.692,277043.14287,112596.4719,167365.61996,291916.77900000004,82848.76204,105368.05642000001,200962.64099999997,200962.64099999997,200962.64099999997,200962.64099999997,465382.96728000004,465382.96728000004 +5025600.0,207365.84100000001,166423.449,485956.47108,113285.72310000002,113285.72310000002,113285.72310000002,78003.065,388213.48607999994,853724.40896,364859.59586999996,555976.52704,311471.841,311471.841,311471.841,225768.50449999998,207365.84100000001,207365.84100000001,305200.96464,141055.56269999998,209667.77467999997,365699.607,103789.03132,132000.14386,274750.437,274750.437,274750.437,274750.437,623479.96194,623479.96194 +5029200.0,231690.321,165977.664,484654.77888,116561.62947,116561.62947,116561.62947,78011.696,449035.50927999994,752142.84288,374977.91457,571394.9174400001,323579.274,323579.274,323579.274,214946.30849999998,231690.321,231690.321,296766.42762,143939.5272,213954.55648,373176.552,105911.05952000001,134698.96496,299631.066,299631.066,299631.066,299631.066,696615.56514,696615.56514 +5032800.0,438078.0,231564.07499999998,676167.0989999999,234431.48311,234431.48311,234431.48311,164203.886,1026640.1895199999,975230.73664,697650.3777600001,1063086.2899200001,439382.577,439382.577,439382.577,367836.12600000005,438078.0,438078.0,548759.64845,221209.87005,328810.72042,573507.0705,162766.76858,207008.74259,487914.90900000004,487914.90900000004,487914.90900000004,487914.90900000004,1317154.52,1317154.52 +5036400.0,1190147.724,565624.9890000001,1651624.96788,1569617.4047400001,1569617.4047400001,1569617.4047400001,1387223.5825,3331894.98392,3864010.35968,2788235.26506,4248739.45152,1139209.584,1139209.584,1139209.584,1582871.108,1190147.724,1190147.724,2471593.52167,1475419.29705,2193092.38722,3825161.1404999997,1085617.16178,1380701.02119,1481184.699,1481184.699,1481184.699,1481184.699,3578377.4901599996,3578377.4901599996 +5040000.0,779034.696,975035.5260000001,2847103.73592,1349157.6577599999,1349157.6577599999,1349157.6577599999,1675665.9815,3618920.52448,2120449.44,2554314.48657,3892288.7414400005,973023.897,973023.897,973023.897,1305359.72,779034.696,779034.696,1811666.4807799999,1768972.50675,2629435.6766999997,4586225.0175,1301614.3383,1655408.83965,1124783.532,1124783.532,1124783.532,1124783.532,2342297.65264,2342297.65264 +5043600.0,1662454.7249999999,1744853.4359999998,5094972.033119999,831845.4807300001,831845.4807300001,831845.4807300001,1349792.7415,3359122.7108,5425802.241920001,2625821.13444,4001251.2524800003,1453054.092,1453054.092,1453054.092,985401.4800000001,1662454.7249999999,1662454.7249999999,1213466.7711399999,1192799.8926000001,1773001.32184,3092444.166,877665.1061600001,1116225.08468,1835979.7740000002,1835979.7740000002,1835979.7740000002,1835979.7740000002,4998447.206499999,4998447.206499999 +5047200.0,1107057.78,800728.1070000001,2338126.07244,424589.07073000004,424589.07073000004,424589.07073000004,479857.1715,1465831.5787199999,5695682.64384,733644.6969600001,1117934.7763200002,1077596.9249999998,1077596.9249999998,1077596.9249999998,1071109.473,1107057.78,1107057.78,1187509.1395699999,1809385.128,2689505.7952,4690998.48,1331350.0448,1693227.0704,615381.249,615381.249,615381.249,615381.249,3328553.7251999998,3328553.7251999998 +5050800.0,536839.542,478305.114,1396650.93288,182352.94748,182352.94748,182352.94748,327859.78750000003,925060.98152,2167380.4179200004,562630.2586800001,857341.3465600001,367616.166,367616.166,367616.166,305209.83150000003,536839.542,536839.542,453946.93902999995,492252.3414,731693.60376,1276209.774,362200.48824,460650.95652,379984.422,379984.422,379984.422,379984.422,1614097.55628,1614097.55628 +5054400.0,491890.776,911503.8569999998,2661591.2624399993,288749.48332999996,288749.48332999996,288749.48332999996,606961.0015,1081934.18552,1521901.64608,789442.60542,1202960.1606400001,374447.493,374447.493,374447.493,733637.135,491890.776,491890.776,416856.78372,429334.31565,638171.00746,1113088.9665,315905.24954000005,401772.11267000006,436598.667,436598.667,436598.667,436598.667,1478951.59984,1478951.59984 +5058000.0,430227.5669999999,417559.22400000005,1219272.9340800003,283510.27408000006,283510.27408000006,283510.27408000006,579735.681,885934.9846399999,1231632.09152,601467.16329,916521.39168,367785.621,367785.621,367785.621,381194.70900000003,430227.5669999999,430227.5669999999,400862.51399999997,392474.23695,583381.45838,1017525.7995,288783.51262,367278.36001,371115.522,371115.522,371115.522,371115.522,1293550.8847799997,1293550.8847799997 +5061600.0,295119.11699999997,230919.69900000002,674285.5210800001,84025.34536,84025.34536,84025.34536,204111.3095,619430.76608,791896.6111999999,372737.75574,567981.34208,245770.191,245770.191,245770.191,184731.3405,295119.11699999997,295119.11699999997,294096.24750999996,227158.182,337652.4088,588928.62,167143.55120000002,212575.1876,247272.21000000002,247272.21000000002,247272.21000000002,247272.21000000002,887324.8117799999,887324.8117799999 +5065200.0,396219.20099999994,320262.525,935166.573,761850.3248400001,761850.3248400001,761850.3248400001,661070.3925000001,810657.71752,518438.46272,734237.22687,1118837.67904,248278.70100000003,248278.70100000003,248278.70100000003,735282.5935,396219.20099999994,396219.20099999994,629182.75706,497331.22769999993,739242.9606799999,1289377.257,365937.54532,465403.79085999995,226086.07200000001,226086.07200000001,226086.07200000001,226086.07200000001,1191299.0643399998,1191299.0643399998 +5068800.0,374674.992,766852.2779999999,2239208.65176,425084.57288000005,425084.57288000005,425084.57288000005,528383.6215,1182607.1423199999,945133.8713600001,591247.81065,900949.0448000001,406496.37,406496.37,406496.37,875823.7250000001,374674.992,374674.992,849384.5811099999,541626.2477999999,805083.9535199999,1404216.1979999999,398529.93048,506855.18003999995,447704.952,447704.952,447704.952,447704.952,1126522.80928,1126522.80928 +5072400.0,653226.033,802200.2219999998,2342424.6482399995,688501.143,688501.143,688501.143,793977.926,1682033.6464,2387263.7164800004,1128981.84399,1720353.28608,667075.077,667075.077,667075.077,977977.3605,653226.033,653226.033,747234.80832,846053.8249499999,1257591.1175799998,2193472.8795,622528.49342,791739.25841,709990.374,709990.374,709990.374,709990.374,1964032.9392199998,1964032.9392199998 +5076000.0,1954311.6870000002,1665593.3790000002,4863532.666680001,2966401.4373399997,2966401.4373399997,2966401.4373399997,2719679.6514999997,3155263.815999999,5529896.08704,3406107.2190599996,5190258.619519999,2109624.4020000002,2109624.4020000002,2109624.4020000002,2501774.3485,1954311.6870000002,1954311.6870000002,2334569.06995,2501893.656,3718864.1503999997,6486390.96,1840899.5296,2341278.2608000003,2220287.5710000005,2220287.5710000005,2220287.5710000005,2220287.5710000005,5875963.80558,5875963.80558 +5079600.0,1305158.4,773117.811,2257504.00812,1281753.74063,1281753.74063,1281753.74063,1334608.4674999998,2092793.5211999998,3142539.8905600007,1743158.52438,2656241.56096,1132314.345,1132314.345,1132314.345,1327550.0034999999,1305158.4,1305158.4,958412.5047899998,1283563.06155,1907913.48902,3327756.0855,944448.8699800001,1201161.48229,1223843.367,1223843.367,1223843.367,1223843.367,3924176.2559999996,3924176.2559999996 +5083200.0,975628.0889999999,758777.8709999999,2215631.3833199996,1037245.1735800001,1037245.1735800001,1037245.1735800001,987733.0225,1665185.4916800002,3011536.70464,1414844.62119,2155953.70848,872119.047,872119.047,872119.047,1162585.1685,975628.0889999999,975628.0889999999,1038012.06925,1142552.7171,1698312.92764,2962173.711,840693.11036,1069203.65378,994257.4319999999,994257.4319999999,994257.4319999999,994257.4319999999,2933388.4542599996,2933388.4542599996 +5086800.0,878773.5900000001,756204.354,2208116.71368,1011180.9587000001,1011180.9587000001,1011180.9587000001,987153.2894999998,1620848.1474399997,2997605.87648,1402540.93035,2137205.2272,859027.3290000001,859027.3290000001,859027.3290000001,1144437.168,878773.5900000001,878773.5900000001,1048771.8612799998,1132084.3824,1682752.58816,2935033.5840000003,832990.4838400001,1059407.3603200002,979672.683,979672.683,979672.683,979672.683,2642179.2606,2642179.2606 +5090400.0,624162.2760000001,529681.8,1546670.856,660377.82151,660377.82151,660377.82151,552789.8635,823669.5704,1828408.25152,798520.54212,1216793.20704,450497.649,450497.649,450497.649,576526.4085,624162.2760000001,624162.2760000001,718911.81115,526057.3107,781941.97788,1363852.287,387074.26812,492285.73026000004,621954.618,621954.618,621954.618,621954.618,1876647.9098399999,1876647.9098399999 +5094000.0,105446.535,93281.41500000001,272381.7318,108852.05639,108852.05639,108852.05639,59320.443,153670.11,630709.6723200001,180198.63981000002,274588.40352000005,148234.035,148234.035,148234.035,100540.6045,105446.535,105446.535,178464.78064999997,74624.2713,110922.99091999998,193470.33299999998,54908.723079999996,69833.57734,120774.65400000001,120774.65400000001,120774.65400000001,120774.65400000001,317042.5819,317042.5819 +5097600.0,101241.12299999999,92064.738,268829.03495999996,85297.52561000003,85297.52561000003,85297.52561000003,38455.55,172764.41632,626532.42688,174634.0113,266108.9696,148298.03399999999,148298.03399999999,148298.03399999999,93927.27049999998,101241.12299999999,101241.12299999999,192324.58401,67420.82789999999,100215.65035999999,174794.73899999997,49608.41164,63092.57721999999,116886.135,116886.135,116886.135,116886.135,304398.30981999997,304398.30981999997 +5101200.0,104805.66,96006.70800000001,280339.58736,80646.59823,80646.59823,80646.59823,33883.1675,186537.09855999998,633316.6182400001,197325.97437,300687.19904000004,149283.70200000002,149283.70200000002,149283.70200000002,95265.13500000001,104805.66,104805.66,194666.75579000002,66612.73545,99014.48577999999,172699.6845,49013.81522,62336.36231,123743.511,123743.511,123743.511,123743.511,315115.68439999997,315115.68439999997 +5104800.0,119301.669,115167.396,336288.79631999996,78715.46463,78715.46463,78715.46463,38961.727,193863.06904,659953.7305599999,221849.31888,338056.10496,154056.582,154056.582,154056.582,96760.489,119301.669,119301.669,221129.88949999996,78358.914,116474.2376,203152.74000000002,57656.682400000005,73328.4652,133539.24300000002,133539.24300000002,133539.24300000002,133539.24300000002,358700.35146,358700.35146 +5108400.0,126937.818,122669.613,358195.26996,82537.19056,82537.19056,82537.19056,44945.684,202379.8564,690186.36736,254148.19058999998,387273.43328,160799.562,160799.562,160799.562,102102.6825,126937.818,126937.818,235132.28530999998,89604.0954,133189.29736,232306.91400000002,65930.91464,83851.73372,149032.224,149032.224,149032.224,149032.224,381659.70612,381659.70612 +5112000.0,146947.245,135993.19499999998,397100.1293999999,93419.83332000002,93419.83332000002,93419.83332000002,64711.5,223354.95224,701303.18144,282925.63487999997,431124.77696,198388.785,198388.785,198388.785,133302.3195,146947.245,146947.245,241326.42534,104461.2693,155273.29412,270825.51300000004,76862.85988,97755.11374000002,201422.898,201422.898,201422.898,201422.898,441821.3833,441821.3833 +5115600.0,188152.54200000002,144007.884,420503.02128,105560.05317000001,105560.05317000001,105560.05317000001,73489.542,307593.10368,701872.3468800001,315352.83969000005,480537.6604800001,259200.327,259200.327,259200.327,190469.475,188152.54200000002,188152.54200000002,256648.70439,122001.8031,181345.89004,316300.971,89769.22796,114169.58858000001,236071.56,236071.56,236071.56,236071.56,565711.97628,565711.97628 +5119200.0,330499.146,188370.50399999996,550041.8716799999,213715.33370000002,213715.33370000002,213715.33370000002,152503.883,848227.04488,761784.62272,553370.52078,843231.26976,317523.441,317523.441,317523.441,315244.9615,330499.146,330499.146,483046.50589,183151.72845,272240.34698,474837.8145,134763.49401999998,171393.83971,366785.361,366785.361,366785.361,366785.361,993700.7656399999,993700.7656399999 +5122800.0,1064128.179,473868.87599999993,1383697.1179199999,1476378.5765300002,1476378.5765300002,1476378.5765300002,1249275.9125,3110039.0078399996,3091446.0832,2517057.28659,3835515.8652800005,923107.9949999999,923107.9949999999,923107.9949999999,1298350.6864999998,1064128.179,1064128.179,2309024.1363799996,1270976.346,1889204.3464,3295123.86,935187.5336,1189382.8028,1311475.758,1311475.758,1311475.758,1311475.758,3199478.7248599995,3199478.7248599995 +5126400.0,703838.8049999999,946192.527,2762882.17884,1269179.09305,1269179.09305,1269179.09305,1529960.985,3385589.46816,1980689.67104,2369883.91668,3611251.68256,910792.17,910792.17,910792.17,1140882.2495,703838.8049999999,703838.8049999999,1628516.6639299998,1618461.9072,2405713.74848,4196012.352000001,1190868.2675200002,1514560.6489600001,1049219.394,1049219.394,1049219.394,1049219.394,2116208.6736999997,2116208.6736999997 +5130000.0,1639529.6130000001,1568449.29,4579871.9268,722846.70491,722846.70491,722846.70491,1152453.7570000002,3163728.3236799994,5112250.412160001,2457400.44963,3744610.20896,1438150.254,1438150.254,1438150.254,890737.9809999999,1639529.6130000001,1639529.6130000001,1150489.79708,1062181.23255,1578847.16542,2753803.1955000004,781555.5735800001,993991.82009,1819751.904,1819751.904,1819751.904,1819751.904,4929519.03642,4929519.03642 +5133600.0,1069567.119,793486.041,2316979.23972,399827.31690000003,399827.31690000003,399827.31690000003,433898.5805,1396828.27032,5535452.709760001,726674.3307599999,1107313.26592,1061004.249,1061004.249,1061004.249,1043301.434,1069567.119,1069567.119,1144408.15333,1752712.7166000002,2605266.80344,4544070.006,1289650.34456,1640192.8878800003,603000.522,603000.522,603000.522,603000.522,3215831.8044600002,3215831.8044600002 +5137200.0,586602.8520000001,525749.91,1535189.7371999999,200060.18252000003,200060.18252000003,200060.18252000003,401617.9195,1059223.93808,2211845.8137600003,675891.2808899999,1029929.5708799999,448583.106,448583.106,448583.106,370774.8765,586602.8520000001,586602.8520000001,519398.16747,519972.0075,772896.663,1348075.5750000002,382596.68700000003,486591.0885,448608.882,448608.882,448608.882,448608.882,1763719.24168,1763719.24168 +5140800.0,674405.679,1099771.1099999999,3211331.6412,438410.85178,438410.85178,438410.85178,836820.9815,1525162.82512,2356378.79104,1144468.34061,1743951.7571200002,616528.926,616528.926,616528.926,951130.9535000001,674405.679,674405.679,698123.3615199999,704761.84755,1047571.9314199999,1827160.3455,518565.50758000003,659517.8770900001,657981.5549999999,657981.5549999999,657981.5549999999,657981.5549999999,2027713.07486,2027713.07486 +5144400.0,491947.614,468685.4040000001,1368561.3796800002,319358.25207,319358.25207,319358.25207,642572.7245,1033090.08408,1479746.32448,703639.84824,1072213.10208,450732.858,450732.858,450732.858,442271.9210000001,491947.614,491947.614,474597.37051999994,473319.15434999997,703550.94054,1227123.7334999999,348269.40246,442933.23333,437800.05299999996,437800.05299999996,437800.05299999996,437800.05299999996,1479122.4927599998,1479122.4927599998 +5148000.0,355783.704,293654.349,857470.6990799999,98957.8172,98957.8172,98957.8172,273557.39249999996,778972.2835999998,1063283.76256,483210.51072,736320.77824,334725.3,334725.3,334725.3,245546.651,355783.704,355783.704,360346.1091099999,306553.45454999997,455667.1102199999,794768.2154999999,225562.78877999997,286873.47969,319435.755,319435.755,319435.755,319435.755,1069723.00336,1069723.00336 +5151600.0,486905.772,429134.79299999995,1253073.5955599998,785860.9683100001,785860.9683100001,785860.9683100001,774932.4205,1051322.0209599999,889619.4656,889448.6779499999,1355350.3664,369472.458,369472.458,369472.458,880386.5035,486905.772,486905.772,723659.68519,624619.28115,928446.4376599999,1619383.3215,459596.40934,584520.26557,326495.037,326495.037,326495.037,326495.037,1463963.35448,1463963.35448 +5155200.0,469995.63899999997,854328.1440000001,2494638.18048,518607.5074400001,518607.5074400001,518607.5074400001,633464.881,1407464.83168,1327181.64416,780269.16513,1188981.58496,533116.3620000001,533116.3620000001,533116.3620000001,1027593.6055000001,469995.63899999997,469995.63899999997,932576.5710299999,675612.4828499999,1004243.7399399999,1751587.9185,497117.33306,632239.82963,547709.9850000001,547709.9850000001,547709.9850000001,547709.9850000001,1413120.2212599998,1413120.2212599998 +5158800.0,749267.52,946122.543,2762677.82556,864798.1950300001,864798.1950300001,864798.1950300001,922557.1530000002,1993078.8616799999,2816981.1104,1321771.27467,2014127.65664,799602.6059999999,799602.6059999999,799602.6059999999,1152030.4845,749267.52,749267.52,901815.5916899999,1016864.71335,1511487.7961399998,2636315.9235,748211.56686,951584.50953,859428.177,859428.177,859428.177,859428.177,2252797.6768,2252797.6768 +5162400.0,2061841.9530000002,1760807.3429999999,5141557.441559999,3155285.8475599997,3155285.8475599997,3155285.8475599997,2825965.3205,3334132.4222399998,6269648.37248,3576963.2913,5450610.7296,2226960.462,2226960.462,2226960.462,2798113.3565,2061841.9530000002,2061841.9530000002,2589387.9012299995,2699875.12365,4013147.7146599996,6999676.246499999,1986574.78234,2526549.80707,2355013.119,2355013.119,2355013.119,2355013.119,6199271.47202,6199271.47202 +5166000.0,1430821.713,867519.4679999999,2533156.8465599995,1482640.9919200002,1482640.9919200002,1482640.9919200002,1495654.4155,2384714.86808,3743425.1763200006,1992702.5947500002,3036499.1920000003,1317904.821,1317904.821,1317904.821,1563428.804,1430821.713,1430821.713,1109379.54959,1487038.24485,2210363.0207399996,3855284.3384999996,1094166.41226,1391574.0612299999,1428276.0150000001,1428276.0150000001,1428276.0150000001,1428276.0150000001,4302003.95042,4302003.95042 +5169600.0,1094188.002,838312.146,2447871.4663199997,1140729.73025,1140729.73025,1140729.73025,1090432.2275,1856385.93536,3400548.6131200003,1587091.1731500002,2418424.6448000004,984024.6869999999,984024.6869999999,984024.6869999999,1319741.0135,1094188.002,1094188.002,1161314.9522,1278789.45615,1900817.90766,3315380.0715,940936.43934,1196694.33057,1111671.2850000001,1111671.2850000001,1111671.2850000001,1111671.2850000001,3289858.5926800002,3289858.5926800002 +5173200.0,982029.7559999999,847994.565,2476144.1297999998,1122440.19624,1122440.19624,1122440.19624,1115272.3785,1822069.1084,3423462.8288000003,1586735.23596,2417882.26432,976258.6109999998,976258.6109999998,976258.6109999998,1306323.7915,982029.7559999999,982029.7559999999,1166364.30261,1276432.21035,1897314.0509400002,3309268.6935000005,939201.9720600002,1194488.4141300002,1106544.621,1106544.621,1106544.621,1106544.621,2952636.1330399998,2952636.1330399998 +5176800.0,700216.134,611517.078,1785629.86776,738985.7689499999,738985.7689499999,738985.7689499999,620408.635,951035.4736,2137533.42272,914953.1645099999,1394214.34592,540866.895,540866.895,540866.895,666399.4995,700216.134,700216.134,842228.7152499999,605798.6112,900471.02208,1570588.992,445748.11392000003,566907.8361600001,711208.209,711208.209,711208.209,711208.209,2105316.5095599997,2105316.5095599997 +5180400.0,119894.93999999999,107915.226,315112.45992,121907.74948,121907.74948,121907.74948,63623.08750000001,199436.16935999997,759686.98048,210976.35615,321487.7808,179091.63,179091.63,179091.63,116187.246,119894.93999999999,119894.93999999999,223599.45412999997,87302.13614999999,129767.61965999998,226338.87149999998,64237.12734,81697.55457,139463.604,139463.604,139463.604,139463.604,360484.1195999999,360484.1195999999 +5184000.0,121970.08799999999,111869.03699999998,326657.58803999994,103085.40770000001,103085.40770000001,103085.40770000001,44349.1335,219342.4576,803246.0505600001,237175.23249,361409.87808,186346.929,186346.929,186346.929,116700.98999999999,121970.08799999999,121970.08799999999,236595.14579999997,85339.79775,126850.76109999999,221251.3275,62793.2339,79861.19345,151518.66900000002,151518.66900000002,151518.66900000002,151518.66900000002,366723.39791999996,366723.39791999996 +5187600.0,129114.30300000001,122950.33200000001,359014.96944,95037.59727000001,95037.59727000001,95037.59727000001,44465.8235,222513.12207999997,770932.1568000001,247842.44688000003,377664.6809600001,178484.23500000002,178484.23500000002,178484.23500000002,112215.03999999998,129114.30300000001,129114.30300000001,241244.52065999998,85310.57699999999,126807.3268,221175.57,62771.7332,79833.8486,153170.96399999998,153170.96399999998,153170.96399999998,153170.96399999998,388203.67102,388203.67102 +5191200.0,138553.359,133949.385,391132.2042,91381.06857,91381.06857,91381.06857,46677.361500000006,237807.86015999998,775216.6464000001,276877.74555,421908.94560000004,178548.41700000002,178548.41700000002,178548.41700000002,111410.60350000001,138553.359,138553.359,260583.42387999996,98407.12275,146274.2911,255129.5775,72408.20390000001,92089.62845,161855.943,161855.943,161855.943,161855.943,416583.76606,416583.76606 +5194800.0,160123.78499999997,145006.434,423418.78728,98872.02567,98872.02567,98872.02567,66710.13650000001,279765.5212,776314.112,308910.39732,470720.60544,216953.316,216953.316,216953.316,141336.5415,160123.78499999997,160123.78499999997,263198.00519999996,114766.25129999999,170590.82291999998,297542.133,84445.29108,107398.54134,222917.66400000002,222917.66400000002,222917.66400000002,222917.66400000002,481438.84689999995,481438.84689999995 +5198400.0,205531.61699999997,154748.32799999998,451865.11776,108859.02423000001,108859.02423000001,108859.02423000001,71728.111,376430.05968,772392.5030400001,345685.00784999994,526758.1072,283702.434,283702.434,283702.434,204519.546,205531.61699999997,205531.61699999997,281472.48428,129983.25554999999,193209.67861999996,336993.62549999997,95642.00038,121638.65148999999,262337.814,262337.814,262337.814,262337.814,617965.0617799999,617965.0617799999 +5202000.0,244045.842,173230.035,505831.7022,140532.44799000002,140532.44799000002,140532.44799000002,80187.7055,466465.06519999995,784517.1641599999,397190.90586,605243.28512,342746.859,342746.859,342746.859,222424.8075,244045.842,244045.842,308087.57550999994,150751.99169999998,224080.73828,390838.497,110923.68772,141074.08606,317920.635,317920.635,317920.635,317920.635,733764.4982799999,733764.4982799999 +5205600.0,319823.69700000004,195412.257,570603.79044,233350.78415000002,233350.78415000002,233350.78415000002,158810.90750000003,571546.21168,869604.4761600001,502982.11572,766448.93824,383133.94499999995,383133.94499999995,383133.94499999995,257502.73849999998,319823.69700000004,319823.69700000004,330487.7888,188323.45695,279927.70638,488245.9995,138568.86462,176233.55601,390526.866,390526.866,390526.866,390526.866,961603.24898,961603.24898 +5209200.0,1070610.657,1104562.149,3225321.47508,1053977.72502,1053977.72502,1053977.72502,1067221.3090000001,1621895.52224,1599437.29152,1394337.9867899998,2124705.5036799996,666307.53,666307.53,666307.53,1622640.0785,1070610.657,1070610.657,2024400.6595799997,608512.47165,904504.9578599998,1577624.9264999998,447744.97913999995,569447.47347,1448102.145,1448102.145,1448102.145,1448102.145,3218969.3753799996,3218969.3753799996 +5212800.0,1747436.1509999998,1603484.2319999998,4682173.957439999,2222111.6850900003,2222111.6850900003,2222111.6850900003,1667347.2025000001,2594525.54048,2612654.3404800002,2585733.09078,3940164.7097600005,981268.371,981268.371,981268.371,1579100.7435,1747436.1509999998,1747436.1509999998,2196212.59455,1365820.7282999998,2030182.9097199999,3541016.7029999997,1004974.26428,1278138.40994,1883883.9270000001,1883883.9270000001,1883883.9270000001,1883883.9270000001,5253958.02734,5253958.02734 +5216400.0,1893907.845,1758905.691,5136004.6177199995,1982686.50327,1982686.50327,1982686.50327,1900910.116,3197411.3588000005,7561997.58784,2350447.96287,3581634.99104,2016733.17,2016733.17,2016733.17,1902354.5834999997,1893907.845,1893907.845,1435592.3114,2800470.1293,4162674.1181199998,7260478.113,2060592.8358800001,2620686.86174,1437105.135,1437105.135,1437105.135,1437105.135,5694349.5873,5694349.5873 +5220000.0,1377838.095,1094297.766,3195349.47672,1283152.0054100002,1283152.0054100002,1283152.0054100002,2084458.1344999997,2744692.77176,4763795.34656,2737572.67539,4171539.3148800004,1891561.9889999998,1891561.9889999998,1891561.9889999998,2092786.3389999997,1377838.095,1377838.095,1449887.65545,2480269.1265,3686721.0226,6430327.365,1824988.1474,2321041.9727,1545264.576,1545264.576,1545264.576,1545264.576,4142699.8723,4142699.8723 +5223600.0,1001045.073,758338.593,2214348.6915599997,1146816.99319,1146816.99319,1146816.99319,1657125.8725,2750511.01192,4873538.90368,1949778.32679,2971090.7836800003,856896.7410000002,856896.7410000002,856896.7410000002,1710755.1755000001,1001045.073,1001045.073,698627.5360999999,1575327.24855,2341597.5398199996,4084181.7555,1159129.67918,1474195.12889,1100311.872,1100311.872,1100311.872,1100311.872,3009808.8528199997,3009808.8528199997 +5227200.0,721615.89,584435.694,1706552.2264800002,622221.0586900001,622221.0586900001,622221.0586900001,951773.242,1827110.14384,1848496.9094400003,1327983.97809,2023594.6332800002,664943.3910000001,664943.3910000001,664943.3910000001,916225.4605,721615.89,721615.89,522000.87771,878280.10425,1305492.8957,2277022.4925,646240.6693,821896.69015,715135.9349999999,715135.9349999999,715135.9349999999,715135.9349999999,2169658.4425999997,2169658.4425999997 +5230800.0,396264.15,283567.94999999995,828018.4139999999,186343.30164999998,186343.30164999998,186343.30164999998,363521.095,796861.2197599999,916513.4873600001,599265.25806,913166.1075200001,330153.195,330153.195,330153.195,434885.19550000003,396264.15,396264.15,249445.13294999997,352500.2955,523963.40219999995,913889.655,259370.5878,329870.6469,381195.11699999997,381195.11699999997,381195.11699999997,381195.11699999997,1191434.2110000001,1191434.2110000001 +5234400.0,399066.129,301756.41599999997,881128.73472,181211.63400999998,181211.63400999998,181211.63400999998,376187.679,768174.1703199999,994517.7888,586458.2136,893650.6112,348092.106,348092.106,348092.106,410882.626,399066.129,399066.129,265871.67736999993,376211.89934999996,559208.7985399999,975364.1834999999,276817.64446,352060.02433,368923.05299999996,368923.05299999996,368923.05299999996,368923.05299999996,1199858.82786,1199858.82786 +5238000.0,365971.275,269253.468,786220.12656,125816.6833,125816.6833,125816.6833,325818.101,701917.7526400001,867122.3891200001,520657.99338,793383.6089600001,316713.54000000004,316713.54000000004,316713.54000000004,354515.98350000003,365971.275,365971.275,225572.06879999995,321285.19995,477564.66758,832961.6295,236402.44342,300659.48341000004,327169.89,327169.89,327169.89,327169.89,1100353.6335,1100353.6335 +5241600.0,472999.06500000006,374363.91599999997,1093142.63472,243578.98719,243578.98719,243578.98719,463395.52349999995,906203.5164000001,1295957.2300800001,706131.39408,1076009.74336,429396.774,429396.774,429396.774,520230.2664999999,472999.06500000006,472999.06500000006,348061.12860999996,488559.88349999994,726205.0613999999,1266636.7349999999,359483.5686,457195.5453,456355.7729999999,456355.7729999999,456355.7729999999,456355.7729999999,1422150.5221,1422150.5221 +5245200.0,895690.899,772733.292,2256381.21264,880097.7157500001,880097.7157500001,880097.7157500001,986853.2660000001,1659953.85616,2905707.59744,1431333.8258099998,2181080.1155199995,844972.416,844972.416,844972.416,1132205.8475000001,895690.899,895690.899,844688.6502599999,1107942.0529499997,1646866.9527799997,2872442.3594999993,815226.4982199998,1036814.9088099998,949110.684,949110.684,949110.684,949110.684,2693043.9696599995,2693043.9696599995 +5248800.0,913099.0020000001,788542.122,2302542.9962400002,1053420.77401,1053420.77401,1053420.77401,1043174.909,1698564.22192,2961644.15808,1466437.03899,2234570.72608,860911.602,860911.602,860911.602,1152253.3435,913099.0020000001,913099.0020000001,975744.7433499999,1138761.65385,1692677.81634,2952345.0285,837903.63666,1065655.96743,988058.655,988058.655,988058.655,988058.655,2745384.33268,2745384.33268 +5252400.0,906852.372,799737.06,2335232.2152,1062763.41424,1062763.41424,1062763.41424,1036690.7775,1737404.85304,3040730.30144,1459258.69782,2223632.30144,859856.118,859856.118,859856.118,1142274.4935,906852.372,906852.372,1062673.41063,1141397.32095,1696595.52398,2959178.2395,839842.96702,1068122.43121,989268.654,989268.654,989268.654,989268.654,2726602.79848,2726602.79848 +5256000.0,898901.955,794139.243,2318886.5895599998,1046259.5927299999,1046259.5927299999,1046259.5927299999,1016735.7969999999,1727886.6633600001,3027570.8326400006,1453438.1179499999,2214762.8464,858507.8400000001,858507.8400000001,858507.8400000001,1130223.7449999999,898901.955,898901.955,1084113.3747599998,1129646.6064,1679129.0297599998,2928713.4239999996,831196.76224,1057126.0835199999,985240.662,985240.662,985240.662,985240.662,2702698.5447,2702698.5447 +5259600.0,844339.302,717633.267,2095489.1396399997,838275.88944,838275.88944,838275.88944,771583.7324999999,1417781.85744,2168560.37568,1216236.1659,1853312.2528,670827.999,670827.999,670827.999,884737.658,844339.302,844339.302,1060248.5934300001,891107.001,1324559.0484,2310277.41,655678.7316,833900.1318000001,851454.978,851454.978,851454.978,851454.978,2538646.83468,2538646.83468 +5263200.0,376907.055,261721.32,764226.2544,414678.2178,414678.2178,414678.2178,321307.728,675738.01376,859214.8704000001,564843.46611,860713.8531200001,290085.255,290085.255,290085.255,386353.177,376907.055,376907.055,606146.04609,196628.0994,292271.89096,509776.554,144679.44104,184005.06092000002,458735.049,458735.049,458735.049,458735.049,1133233.8787,1133233.8787 +5266800.0,128503.31400000001,93083.745,271804.5354,115051.59842000001,115051.59842000001,115051.59842000001,59220.679,246928.92400000003,626168.0012800001,241560.14315999998,368091.64672,167792.80800000002,167792.80800000002,167792.80800000002,101601.0975,128503.31400000001,128503.31400000001,193977.29038999995,77329.33515,114943.85126,200483.4615,56899.11574,72364.98277,132447.807,132447.807,132447.807,132447.807,386366.63076,386366.63076 +5270400.0,121634.19600000001,91542.255,267303.3846,105755.44166,105755.44166,105755.44166,37861.1555,243752.11584,606979.84832,226692.16185,345435.6752,160583.20200000002,160583.20200000002,160583.20200000002,94481.569,121634.19600000001,121634.19600000001,188004.44883999997,68595.8949,101962.29316,177841.20900000003,50473.028840000006,64192.20782,125480.106,125480.106,125480.106,125480.106,365713.48264,365713.48264 +5274000.0,125452.78199999999,103293.70799999998,301617.62736,99179.59557,99179.59557,99179.59557,40469.2575,249149.74168,592744.7392,225593.95992,343762.22464000003,156154.41,156154.41,156154.41,91099.358,125452.78199999999,125452.78199999999,184136.58834999998,73534.16924999999,109302.6417,190644.1425,54106.6233,68813.45715,128482.40400000001,128482.40400000001,128482.40400000001,128482.40400000001,377194.69787999993,377194.69787999993 +5277600.0,130450.104,106549.749,311125.26707999996,94978.20783000001,94978.20783000001,94978.20783000001,38284.3195,249813.06056,605642.4352000001,231884.04477000004,353347.11584000004,157902.68399999998,157902.68399999998,157902.68399999998,90291.7785,130450.104,130450.104,202474.29968999999,76544.92305,113777.88561999999,198449.8005,56321.94338,71630.92799,131809.80899999998,131809.80899999998,131809.80899999998,131809.80899999998,392219.97936,392219.97936 +5281200.0,131947.12199999997,109087.806,318536.39352,99082.52200000001,99082.52200000001,99082.52200000001,48503.357,245582.31343999997,603090.9664000002,249026.55518999998,379469.03648,156334.101,156334.101,156334.101,92108.73000000001,131947.12199999997,131947.12199999997,207286.14192,81652.76685,121370.28553999998,211692.3585,60080.307459999996,76410.86083,149805.375,149805.375,149805.375,149805.375,396721.01347999997,396721.01347999997 +5284800.0,147535.929,134020.761,391340.62212,107573.64497000002,107573.64497000002,107573.64497000002,55675.655,255978.7048,629360.48704,270139.0503,411640.45759999997,210432.57299999997,210432.57299999997,210432.57299999997,104608.476,147535.929,147535.929,211406.56588999997,94061.31075,139814.5903,243862.65750000003,69210.54470000001,88022.80685000001,178892.022,178892.022,178892.022,178892.022,443591.35986,443591.35986 +5288400.0,172116.054,145193.856,423966.05951999995,121427.17202,121427.17202,121427.17202,67284.896,283534.75648,652662.8032000001,287146.86168,437557.12256,243817.20599999995,243817.20599999995,243817.20599999995,157305.729,172116.054,172116.054,229982.10287,108770.5665,161678.7186,281997.765,80033.6514,101787.7647,209951.88900000002,209951.88900000002,209951.88900000002,209951.88900000002,517495.60235999996,517495.60235999996 +5292000.0,231187.02900000004,163179.294,476483.53848,212858.81034000003,212858.81034000003,212858.81034000003,145665.3275,395554.56464,673789.40224,367623.81936,560188.67712,281093.667,281093.667,281093.667,204062.096,231187.02900000004,231187.02900000004,249899.08631999997,145225.18754999997,215865.58741999997,376509.74549999996,106857.05157999998,135902.08909,262689.59699999995,262689.59699999995,262689.59699999995,262689.59699999995,695102.33386,695102.33386 +5295600.0,958512.423,933803.3640000001,2726705.82288,977337.90341,977337.90341,977337.90341,1034838.441,1461996.89456,1282692.83456,1202979.0958500002,1833111.0032000002,564920.25,564920.25,564920.25,1517124.5635000002,958512.423,958512.423,1748280.0747099996,514663.48620000004,765005.97208,1334312.742,378690.66392,481623.36116000003,1270149.867,1270149.867,1270149.867,1270149.867,2881927.35182,2881927.35182 +5299200.0,1519897.644,1477932.5459999999,4315563.03432,2006598.1602700003,2006598.1602700003,2006598.1602700003,1457358.112,2255989.30776,2371378.96,2276815.0041,3469432.3872,875361.6420000001,875361.6420000001,875361.6420000001,1154810.4645,1519897.644,1519897.644,1856187.0952299999,1214182.1835,1804784.3813999998,3147879.735,893398.2486,1136234.6853,1640368.2149999999,1640368.2149999999,1640368.2149999999,1640368.2149999999,4569825.58296,4569825.58296 +5302800.0,1675375.713,1517590.593,4431364.53156,1630317.66964,1630317.66964,1630317.66964,1564570.2765000002,2727768.00792,6414760.88384,2063869.1671499999,3144943.4928,1778428.008,1778428.008,1778428.008,1564092.327,1675375.713,1675375.713,1209669.8581499998,2403131.67225,3572062.3869,6230341.3725,1768230.2181,2248856.55255,1200250.224,1200250.224,1200250.224,1200250.224,5037296.31042,5037296.31042 +5306400.0,1192849.857,924923.2050000001,2700775.7586000003,1032917.5100200002,1032917.5100200002,1032917.5100200002,1879653.2930000003,2406156.796,4169334.0588800004,2369954.70033,3611359.54336,1533162.693,1533162.693,1533162.693,1796578.9905,1192849.857,1192849.857,1303428.3983499997,2128298.18625,3163544.4645,5517810.1125,1566007.0605,1991666.6977499998,1354665.918,1354665.918,1354665.918,1354665.918,3586501.90338,3586501.90338 +5310000.0,867776.541,607971.2609999999,1775276.08212,1003756.3141100002,1003756.3141100002,1003756.3141100002,1317970.647,2365813.95336,3944038.6022400004,1656881.23419,2524771.40448,729679.5360000001,729679.5360000001,729679.5360000001,1430530.3425,867776.541,867776.541,515237.94074999995,1263271.0185,1877750.9954,3275147.085,929517.9346,1182172.1383,902596.9619999999,902596.9619999999,902596.9619999999,902596.9619999999,2609114.79994,2609114.79994 +5313600.0,722454.978,601127.1359999999,1755291.23712,596824.4092799999,596824.4092799999,596824.4092799999,898436.7279999999,1741170.3448799998,1952218.4953600003,1307571.55284,1992489.9852800001,661479.8099999999,661479.8099999999,661479.8099999999,877405.4345,722454.978,722454.978,538599.66823,871897.6161,1296005.83924,2260475.301,641544.41876,815923.94198,729793.179,729793.179,729793.179,729793.179,2172181.30052,2172181.30052 +5317200.0,454592.63399999996,350514.474,1023502.26408,279608.84534,279608.84534,279608.84534,444623.1335,870058.88624,1207699.99744,705681.78387,1075324.62304,396222.204,396222.204,396222.204,507858.31600000005,454592.63399999996,454592.63399999996,325124.96588000003,457682.2299,680307.90716,1186583.559,336763.71484,428300.16082,449189.562,449189.562,449189.562,449189.562,1366808.51956,1366808.51956 +5320800.0,334346.33999999997,242227.74299999996,707305.0095599999,130118.10350000001,130118.10350000001,130118.10350000001,302343.0585,642143.5364,769530.07296,479668.84559999994,730923.9552,280442.65499999997,280442.65499999997,280442.65499999997,304597.9965,334346.33999999997,334346.33999999997,200636.3554,286318.9701,425590.17283999996,742308.441,210674.20516,267937.99918,293385.996,293385.996,293385.996,293385.996,1005267.9955999999,1005267.9955999999 +5324400.0,280284.939,189647.72400000002,553771.35408,81166.12966,81166.12966,81166.12966,227969.54599999997,532494.58136,565924.89728,380639.74683,580022.47136,225292.87800000003,225292.87800000003,225292.87800000003,219656.857,280284.939,280284.939,141685.98145,200759.55704999997,298412.97121999995,520487.74049999996,147719.37777999998,187871.28919,224885.451,224885.451,224885.451,224885.451,842723.3832599999,842723.3832599999 +5328000.0,376276.04699999996,286378.836,836226.2011199999,145445.91886,145445.91886,145445.91886,349966.5435,716916.42024,937271.3632,541589.92377,825279.88384,324295.374,324295.374,324295.374,370815.4485,376276.04699999996,376276.04699999996,249871.56830999994,353349.75059999997,525226.04904,916091.946,259995.61896,330665.56908,343411.374,343411.374,343411.374,343411.374,1131336.64798,1131336.64798 +5331600.0,779240.124,672703.044,1964292.88848,698644.2749000001,698644.2749000001,698644.2749000001,855986.0924999999,1446050.0036799998,2496346.8358400003,1246490.8318800002,1899414.6009600002,725063.622,725063.622,725063.622,965438.495,779240.124,779240.124,699725.3416399999,960698.4709499999,1428001.1839799997,2490699.7394999997,706884.30702,899024.0012099999,818498.3940000001,818498.3940000001,818498.3940000001,818498.3940000001,2342915.3061599997,2342915.3061599997 +5335200.0,816396.5939999999,696122.922,2032678.93224,932201.3022300001,932201.3022300001,932201.3022300001,933626.4805000001,1508372.2761600001,2611807.41952,1308711.1575300002,1994226.5257600003,755912.019,755912.019,755912.019,1005654.559,816396.5939999999,816396.5939999999,832197.6959399999,1000403.9136,1487020.13824,2593639.776,736099.66976,936180.45248,865298.004,865298.004,865298.004,865298.004,2454632.4259599997,2454632.4259599997 +5338800.0,818678.952,718677.3929999999,2098537.98756,952878.1964900001,952878.1964900001,952878.1964900001,937180.6290000001,1528218.43576,2623122.75008,1315146.51429,2004032.7836800003,764073.585,764073.585,764073.585,1010334.906,818678.952,818678.952,929617.6418099998,1006871.3747999999,1496633.5003199999,2610407.2679999997,740858.4436799999,942232.71864,876433.977,876433.977,876433.977,876433.977,2461494.71568,2461494.71568 +5342400.0,814878.5430000001,717221.502,2094286.78584,945824.20273,945824.20273,945824.20273,922077.9085,1556448.98408,2646957.47904,1307658.45903,1992622.41376,764318.586,764318.586,764318.586,1005236.372,814878.5430000001,814878.5430000001,947498.4079599999,1013137.5388499999,1505947.6503399997,2626652.8784999996,745469.10266,948096.61043,882504.108,882504.108,882504.108,882504.108,2450068.1526200003,2450068.1526200003 +5346000.0,750150.183,633506.295,1849838.3814,743360.89685,743360.89685,743360.89685,683451.426,1241200.03168,1873672.7616000003,1047880.29003,1596769.96576,578695.068,578695.068,578695.068,762194.3175000001,750150.183,750150.183,932258.44725,778268.3958,1156833.51672,2017732.8780000003,572651.8072800001,728305.4864400001,746830.779,746830.779,746830.779,746830.779,2255451.5502199996,2255451.5502199996 +5349600.0,327340.05,222887.691,650832.0577199999,364940.92118,364940.92118,364940.92118,282786.1225,576377.1180799999,710539.82272,487290.87057,742538.46944,240193.533,240193.533,240193.533,326467.701,327340.05,327340.05,521829.8244899999,167982.82604999997,249692.99081999995,435511.03049999994,123602.17817999999,157198.74339,391197.375,391197.375,391197.375,391197.375,984202.4169999999,984202.4169999999 +5353200.0,110679.552,80054.481,233759.08452,97458.22977,97458.22977,97458.22977,54953.521,206396.32224,513350.03904000006,206982.69963000002,315402.20896,130787.57100000001,130787.57100000001,130787.57100000001,86478.6195,110679.552,110679.552,165271.52784999998,65139.77475,96825.04789999999,168880.8975,47930.0071,60957.96205,113144.19600000001,113144.19600000001,113144.19600000001,113144.19600000001,332776.51967999997,332776.51967999997 +5356800.0,103784.484,77237.091,225532.30572,76139.3622,76139.3622,76139.3622,33642.5075,191593.28879999998,496220.45824,192068.80917,292676.28064,132064.2,132064.2,132064.2,79511.551,103784.484,103784.484,159770.3549,56589.56865,84115.85265999999,146713.6965,41638.74434,52956.65807,106773.438,106773.438,106773.438,106773.438,312045.34856,312045.34856 +5360400.0,103136.09999999999,81126.39899999999,236889.08508,78162.20918,78162.20918,78162.20918,28615.013,208572.68584000002,489871.66272,188632.40424,287439.85408,129977.47200000001,129977.47200000001,129977.47200000001,77496.0095,103136.09999999999,103136.09999999999,157843.98356999998,54684.9387,81284.77308,141775.767,40237.31292,51174.30066,104956.875,104956.875,104956.875,104956.875,310095.87399999995,310095.87399999995 +5364000.0,109003.056,89806.383,262234.63836,78639.78705,78639.78705,78639.78705,31742.073999999997,207420.40712,492148.37888000003,193658.20278000002,295098.21376,130502.96699999998,130502.96699999998,130502.96699999998,76230.455,109003.056,109003.056,160383.30281999998,62560.354049999994,92990.94601999999,162193.5105,46032.06298,58544.13379,108988.92300000001,108988.92300000001,108988.92300000001,108988.92300000001,327735.85504,327735.85504 +5367600.0,112047.543,91592.16,267449.1072,79414.16967000002,79414.16967000002,79414.16967000002,32416.713,209538.75032000002,498248.12032,198490.81581,302462.19552,131994.606,131994.606,131994.606,76708.6985,112047.543,112047.543,175118.13176,63001.06694999999,93646.03038,163336.09949999998,46356.340619999995,58956.55401,111830.703,111830.703,111830.703,111830.703,336889.61262,336889.61262 +5371200.0,115503.78899999999,95609.86799999999,279180.81455999997,85286.72790000001,85286.72790000001,85286.72790000001,41099.16649999999,214149.66391999996,512023.86496000004,216931.34526,330562.04992,135659.115,135659.115,135659.115,81235.6825,115503.78899999999,115503.78899999999,181092.37783,69469.7229,103261.16836,180106.689,51115.99364,65009.938220000004,124783.76400000001,124783.76400000001,124783.76400000001,124783.76400000001,347281.39226,347281.39226 +5374800.0,127006.80300000001,106125.948,309887.76816,102650.58111,102650.58111,102650.58111,55130.565,229388.3088,540546.2528,240660.57980999997,366720.88352,167727.501,167727.501,167727.501,92023.5435,127006.80300000001,127006.80300000001,187710.03355,81688.32990000001,121423.14716000001,211784.55900000004,60106.47484000001,76444.14082000002,143937.915,143937.915,143937.915,143937.915,381867.12102,381867.12102 +5378400.0,240399.603,170135.289,496795.04387999995,222964.14822000003,222964.14822000003,222964.14822000003,144274.69700000001,699203.20968,690596.05376,449603.15819999995,685109.5743999999,257248.97100000002,257248.97100000002,257248.97100000002,231562.46399999998,240399.603,240399.603,422348.17793999997,147581.02395,219367.34918000002,382617.46950000006,108590.48182000002,138106.68661000003,274241.535,274241.535,274241.535,274241.535,722801.4730199999,722801.4730199999 +5382000.0,922172.577,409676.154,1196254.36968,1361467.71057,1361467.71057,1361467.71057,1056888.21,2820993.29448,2548473.94944,2194749.4401000002,3344380.0992000005,790416.3659999999,790416.3659999999,790416.3659999999,981934.5725,922172.577,922172.577,2150982.2405499998,1059835.9139999999,1575361.0375999997,2747722.7399999998,779829.8823999999,991797.0652,1117352.7780000002,1117352.7780000002,1117352.7780000002,1117352.7780000002,2772665.54818,2772665.54818 +5385600.0,618034.797,903617.4840000002,2638563.05328,1200576.7237200004,1200576.7237200004,1200576.7237200004,1380294.244,3058244.82456,1830636.4755200003,2106489.7198799998,3209889.0969599998,822806.499,822806.499,822806.499,978786.5255,618034.797,618034.797,1666681.54159,1401048.00495,2082545.4295799998,3632346.6794999996,1030894.58142,1311104.18241,937254.831,937254.831,937254.831,937254.831,1858224.6229799998,1858224.6229799998 +5389200.0,1564392.051,1404187.299,4100226.91308,625360.8683300001,625360.8683300001,625360.8683300001,852688.7915,2854457.41136,4483352.43392,2188155.1377,3334331.6384,1302411.5969999998,1302411.5969999998,1302411.5969999998,758739.3695,1564392.051,1564392.051,1432977.1721199998,932120.7637499999,1385522.7155,2416609.3874999997,685856.7594999999,872280.9122499999,1723884.5609999998,1723884.5609999998,1723884.5609999998,1723884.5609999998,4703605.43334,4703605.43334 +5392800.0,932971.797,767808.4559999999,2242000.69152,349343.04504000006,349343.04504000006,349343.04504000006,332706.2865,1179004.0141599998,5098286.19328,548345.17143,835573.59456,937779.912,937779.912,937779.912,904522.2655,932971.797,932971.797,988429.42523,1502230.3699499997,2232944.89558,3894671.3294999995,1105344.8154199999,1405790.8894099998,464646.09300000005,464646.09300000005,464646.09300000005,464646.09300000005,2805135.2029799996,2805135.2029799996 +5396400.0,497303.62200000003,439173.963,1282387.97196,161455.18245999998,161455.18245999998,161455.18245999998,302657.859,883314.2729600001,1579571.4233600004,533605.41696,813113.0163199999,349146.753,349146.753,349146.753,285168.9435,497303.62200000003,497303.62200000003,445426.7792,349285.79429999995,519185.30411999987,905555.7629999999,257005.34987999997,326862.50873999996,355522.35,355522.35,355522.35,355522.35,1495226.22348,1495226.22348 +5400000.0,593169.747,1028891.6430000002,3004363.5975600006,323674.44637,323674.44637,323674.44637,712532.7335,1362041.07808,2042207.3343999998,988881.5937,1506867.1904,523004.30700000003,523004.30700000003,523004.30700000003,816445.8890000001,593169.747,593169.747,565184.13419,585350.3596499999,870076.3370599998,1517575.0064999997,430702.23993999994,547772.31187,564829.3500000001,564829.3500000001,564829.3500000001,564829.3500000001,1783463.7059799999,1783463.7059799999 +5403600.0,373325.001,313470.978,915335.25576,208312.08717,208312.08717,208312.08717,440526.429,773272.5896,1006659.5315200002,485941.96266,740482.99072,315733.695,315733.695,315733.695,243454.0185,373325.001,373325.001,352537.78118,307292.53095000004,456765.68798,796684.3395000001,226106.60302,287565.10921,304942.386,304942.386,304942.386,304942.386,1122463.83634,1122463.83634 +5407200.0,275369.559,221159.262,645785.04504,79721.23896,79721.23896,79721.23896,185467.5865,613708.36616,756283.3248,349950.22628999996,533257.4876799999,246984.99600000004,246984.99600000004,246984.99600000004,171068.6495,275369.559,275369.559,293728.62402,207377.3583,308249.80172,537645.003,152588.77228,194064.24394000001,233858.538,233858.538,233858.538,233858.538,827944.47406,827944.47406 +5410800.0,333520.851,218069.95500000002,636764.2686,603747.2269400001,603747.2269400001,603747.2269400001,539327.1065,695889.82728,310180.97728000005,619481.34864,943971.57888,207876.39600000004,207876.39600000004,207876.39600000004,624473.0660000001,333520.851,333520.851,567695.2187399999,385830.6129,573506.24436,1000301.589,283895.11764,361061.24022,158788.251,158788.251,158788.251,158788.251,1002786.0253399999,1002786.0253399999 +5414400.0,344515.35,732390.723,2138580.91116,369120.0378800001,369120.0378800001,369120.0378800001,499561.29299999995,1192097.40512,909926.6156800002,528585.02319,805462.89248,392976.05399999995,392976.05399999995,392976.05399999995,824421.115,344515.35,344515.35,829779.82438,492805.75364999997,732516.20666,1277644.5465,362607.69034000003,461168.84107,412217.16000000003,412217.16000000003,412217.16000000003,412217.16000000003,1035842.8189999999,1035842.8189999999 +5418000.0,652921.6740000001,699553.6529999999,2042696.6667599997,598485.42919,598485.42919,598485.42919,778668.548,1609019.26832,2403696.2265600003,1117058.72817,1702184.72864,686716.0140000001,686716.0140000001,686716.0140000001,925609.2720000001,652921.6740000001,652921.6740000001,757649.75702,836947.0921499999,1244054.69006,2169862.8315,615827.73694,783217.15537,696823.6499999999,696823.6499999999,696823.6499999999,696823.6499999999,1963117.8331600002,1963117.8331600002 +5421600.0,1928642.844,1635303.8339999998,4775087.19528,2739105.2543800003,2739105.2543800003,2739105.2543800003,2722009.4650000003,3185675.81456,5523426.926080001,3364271.3916,5126508.7872,2097664.008,2097664.008,2097664.008,2454793.656,1928642.844,1928642.844,1860652.9734,2420682.18525,3598149.8161,6275842.702500001,1781143.9289000002,2265280.36595,2105583.039,2105583.039,2105583.039,2105583.039,5798786.150959999,5798786.150959999 +5425200.0,1213670.643,770488.5630000001,2249826.60396,1133936.6967500001,1133936.6967500001,1133936.6967500001,1182552.952,2008633.29288,3069897.74272,1687298.4827999999,2571121.4976,1038771.4949999999,1038771.4949999999,1038771.4949999999,1275553.7515,1213670.643,1213670.643,910463.5965100001,1229875.7269499998,1828111.5743799997,3188566.6994999996,904945.5966199999,1150920.74201,1124292.195,1124292.195,1124292.195,1124292.195,3649103.0666199997,3649103.0666199997 +5428800.0,920349.3660000002,757762.224,2212665.6940800003,1026601.6514600001,1026601.6514600001,1026601.6514600001,981289.3755,1673952.8676,3070278.7712000003,1417979.4505799997,2160730.59136,879447.795,879447.795,879447.795,1167360.229,920349.3660000002,920349.3660000002,998828.16423,1147704.5681999999,1705970.7408799997,2975530.3619999997,844483.85512,1074024.76876,993347.0969999998,993347.0969999998,993347.0969999998,993347.0969999998,2767183.7604400003,2767183.7604400003 +5432400.0,873663.213,753314.8559999999,2199679.37952,998397.0480000001,998397.0480000001,998397.0480000001,985065.3295000001,1631402.8787199997,3042796.50048,1393814.1684599998,2123907.3043199996,867624.2609999999,867624.2609999999,867624.2609999999,1148120.176,873663.213,873663.213,1032314.4799499998,1133273.8512,1684520.6380799997,2938117.3919999995,833865.69792,1060520.46816,979821.216,979821.216,979821.216,979821.216,2626814.06042,2626814.06042 +5436000.0,615202.572,527281.1129999999,1539660.8499599998,644847.17363,644847.17363,644847.17363,542419.7170000001,821973.9263999999,1849105.71072,793033.53654,1208432.05568,455427.129,455427.129,455427.129,568556.3169999999,615202.572,615202.572,710521.4395499999,523495.8234,778134.53256,1357211.394,385189.51944,489888.68412,612741.1740000001,612741.1740000001,612741.1740000001,612741.1740000001,1849709.06648,1849709.06648 +5439600.0,105959.214,95374.086,278492.33112,110010.59003,110010.59003,110010.59003,59278.184,167825.0144,652974.4064,183860.12757,280167.81344000006,145142.93099999998,145142.93099999998,145142.93099999998,102380.88,105959.214,105959.214,187865.35325999997,76165.1829,113213.43235999999,197465.28900000002,56042.52964,71275.56622000001,122087.26499999998,122087.26499999998,122087.26499999998,122087.26499999998,318584.03676000005,318584.03676000005 +5443200.0,102703.80900000001,95029.155,277485.1326,87437.85314,87437.85314,87437.85314,38750.04,178907.26704,658529.4841600001,182786.30265,278531.5088,155053.29,155053.29,155053.29,97050.079,102703.80900000001,102703.80900000001,199694.53335,69917.6286,103926.94424,181267.926,51445.563760000005,65429.08948,121017.21900000001,121017.21900000001,121017.21900000001,121017.21900000001,308796.11906,308796.11906 +5446800.0,105972.78600000001,98869.84500000002,288699.94740000006,82060.63426,82060.63426,82060.63426,33956.279,191117.96536,657888.72832,210431.94753,320658.20576,154428.687,154428.687,154428.687,97447.27649999999,105972.78600000001,105972.78600000001,201133.76230999996,69089.95844999999,102696.67898,179122.1145,50836.56202,64654.55371,124760.26500000001,124760.26500000001,124760.26500000001,124760.26500000001,318624.84324,318624.84324 +5450400.0,117205.37700000001,115112.73000000001,336129.1716,77830.96002,77830.96002,77830.96002,38201.779,194460.39591999998,661965.8451200001,222715.41516,339375.87072,154426.146,154426.146,154426.146,96190.10450000002,117205.37700000001,117205.37700000001,222255.79986999996,78168.74625,116191.5685,202659.7125,57516.756499999996,73150.50575,134108.376,134108.376,134108.376,134108.376,352397.50018000003,352397.50018000003 +5454000.0,122926.14300000001,118286.10600000001,345395.42952,80108.07618,80108.07618,80108.07618,42544.642,214675.76616,675065.47392,250470.45471000002,381669.26432,157509.15899999999,157509.15899999999,157509.15899999999,99020.6805,122926.14300000001,122926.14300000001,230006.64349,86821.88309999999,129053.76203999999,225093.771,63883.75596,81248.13258,144633.93,144633.93,144633.93,144633.93,369597.93662,369597.93662 +5457600.0,142940.643,132686.901,387445.75092,90921.79756,90921.79756,90921.79756,61394.942,274445.47976,692772.0864000001,282198.48803999997,430016.74367999996,203960.58299999998,203960.58299999998,203960.58299999998,130020.0475,142940.643,142940.643,237255.85702,102069.68354999999,151718.39382,264625.1055,75103.12518,95517.06189,197381.18699999998,197381.18699999998,197381.18699999998,197381.18699999998,429774.86662,429774.86662 +5461200.0,187959.0,142495.38299999997,416086.5183599999,104158.4225,104158.4225,104158.4225,72312.1175,351172.78968,708324.57856,318020.87856000004,484603.2435200001,272147.562,272147.562,272147.562,188503.37099999998,187959.0,187959.0,257576.19744999998,120231.62909999999,178714.66843999998,311711.631,88466.72956,112513.05538,235102.554,235102.554,235102.554,235102.554,565130.0599999999,565130.0599999999 +5464800.0,329677.719,190824.636,557207.93712,230257.97894000003,230257.97894000003,230257.97894000003,153469.31600000002,871279.82,797505.1859200001,559320.0519900001,852297.2220800001,355038.225,355038.225,355038.225,318696.1785,329677.719,329677.719,491500.89859,184804.0839,274696.44075999997,479121.69899999996,135979.30124,172940.11802,372721.95900000003,372721.95900000003,372721.95900000003,372721.95900000003,991231.0084599998,991231.0084599998 +5468400.0,1057711.2510000002,472900.608,1380869.7753599999,1473257.61506,1473257.61506,1473257.61506,1234274.3244999999,3121862.5141600003,3108784.63616,2492508.53145,3798108.2384,943054.665,943054.665,943054.665,1281700.5074999998,1057711.2510000002,1057711.2510000002,2297147.6547499998,1262373.37245,1876416.71658,3272819.8545000004,928857.4444200001,1181332.11891,1306296.3539999998,1306296.3539999998,1306296.3539999998,1306296.3539999998,3180185.16134,3180185.16134 +5472000.0,587011.827,877130.4870000001,2561221.02204,1167028.52365,1167028.52365,1167028.52365,1405082.462,3124586.5996799995,1691969.4176000003,2106581.3401499996,3210028.7087999997,776874.6780000001,776874.6780000001,776874.6780000001,995707.4575000001,587011.827,587011.827,1522563.5760399997,1462758.77025,2174273.5301,3792337.5525,1076301.5149,1368853.26895,908770.455,908770.455,908770.455,908770.455,1764948.89318,1764948.89318 +5475600.0,1527709.02,1397023.6709999999,4079309.1193199996,602848.79886,602848.79886,602848.79886,889051.0789999999,2810261.18488,4386509.107840001,2148971.5405200003,3274623.2998400005,1278940.935,1278940.935,1278940.935,765129.7325,1527709.02,1527709.02,926194.7399899999,893066.5408499999,1327471.7471399999,2315357.6985,657120.56586,835733.87403,1674682.5869999998,1674682.5869999998,1674682.5869999998,1674682.5869999998,4593311.7868,4593311.7868 +5479200.0,957006.96,714227.58,2085544.5335999997,341700.46823000006,341700.46823000006,341700.46823000006,348623.87,1209375.07432,5177930.970240001,585348.63702,891959.82784,943428.963,943428.963,943428.963,878946.691,957006.96,957006.96,936350.24691,1585875.03615,2357275.97966,4111527.8715000004,1166890.76734,1484065.7745700001,485256.801,485256.801,485256.801,485256.801,2877400.9263999998,2877400.9263999998 +5482800.0,478660.356,390845.76599999995,1141269.6367199998,151321.64762000003,151321.64762000003,151321.64762000003,273848.7465,822814.8688800001,1591419.03616,487389.75516,742689.15072,324536.03099999996,324536.03099999996,324536.03099999996,258209.33949999997,478660.356,478660.356,409759.21025,322629.95385,479563.53634,836448.0285,237391.91666000002,301917.90743,337167.08400000003,337167.08400000003,337167.08400000003,337167.08400000003,1439172.1370400002,1439172.1370400002 +5486400.0,529048.248,962650.9980000001,2810940.91416,254840.26612000004,254840.26612000004,254840.26612000004,638692.964,1215737.1002399998,1756157.3376,860029.0175399999,1310520.40768,449305.614,449305.614,449305.614,783321.728,529048.248,529048.248,482683.7260699999,486065.05919999996,722496.70528,1260168.672,357647.87072,454860.88256,489074.1329999999,489074.1329999999,489074.1329999999,489074.1329999999,1590671.73232,1590671.73232 +5490000.0,363895.89300000004,303867.753,887293.83876,209866.55041,209866.55041,209866.55041,442470.994,741529.74264,955457.4464,471855.0165,719017.1680000001,298603.722,298603.722,298603.722,241351.8905,363895.89300000004,363895.89300000004,336464.41101000004,292662.12464999995,435018.76305999997,758753.6564999999,215341.51393999998,273873.93887,295352.877,295352.877,295352.877,295352.877,1094113.6516200001,1094113.6516200001 +5493600.0,198098.58000000002,131872.452,385067.55983999994,73218.70578,73218.70578,73218.70578,106390.844,417586.70632,407735.38752,211611.54945000002,322455.69440000004,152654.193,152654.193,152654.193,95647.4785,198098.58000000002,198098.58000000002,191828.30263999998,101606.70375,151030.2115,263424.78750000003,74762.4635,95083.80425,140189.81699999998,140189.81699999998,140189.81699999998,140189.81699999998,595616.3972,595616.3972 +5497200.0,284731.407,166404.94199999998,485902.43064,556097.92579,556097.92579,556097.92579,481342.4560000001,569576.52568,174080.07616,546816.82902,833244.69184,159595.53900000002,159595.53900000002,159595.53900000002,561779.6414999999,284731.407,284731.407,511873.08600999997,337915.19655000005,502283.82302,876076.4355000001,248638.83598000003,316221.87529000005,114379.194,114379.194,114379.194,114379.194,856092.4303799999,856092.4303799999 +5500800.0,165830.20799999998,522101.36699999997,1524535.99164,301272.9872900001,301272.9872900001,301272.9872900001,317766.841,778451.81696,249477.67104000002,215720.48358,328716.92736,198919.19999999998,198919.19999999998,198919.19999999998,588892.8045,165830.20799999998,165830.20799999998,598983.0999099999,244532.60909999997,363478.10043999995,633973.431,179927.69756,228834.21938,218267.93099999998,218267.93099999998,218267.93099999998,218267.93099999998,498596.15871999995,498596.15871999995 +5504400.0,609434.334,639019.29,1865936.3268,438793.55795000005,438793.55795000005,438793.55795000005,640909.024,1482949.0742400002,1977650.6585600001,964860.20211,1470263.16512,586121.2860000001,586121.2860000001,586121.2860000001,809845.883,609434.334,609434.334,720269.1258099999,688363.02495,1023196.39758,1784644.8795,506499.21342,644171.8184100001,620943.141,620943.141,620943.141,620943.141,1832365.8975599997,1832365.8975599997 +5508000.0,1877974.3620000002,1587372.807,4635128.5964399995,2318395.7524200003,2318395.7524200003,2318395.7524200003,2697521.4945,3160573.63744,5304800.45248,3285862.84278,5007029.093760001,2069182.3710000003,2069182.3710000003,2069182.3710000003,2332854.5975,1877974.3620000002,1877974.3620000002,1646479.7868999997,2341239.6086999997,3480064.801079999,6069880.466999999,1722689.8849199999,2190937.80666,2040482.433,2040482.433,2040482.433,2040482.433,5646442.91508,5646442.91508 +5511600.0,1221053.604,787085.8949999999,2298290.8134,1086806.07233,1086806.07233,1086806.07233,1181238.3275,2000618.03304,3053394.38208,1693303.77153,2580272.41376,1046888.5499999999,1046888.5499999999,1046888.5499999999,1292503.0860000001,1221053.604,1221053.604,812703.5499699999,1223001.6862499998,1817893.8644999997,3170745.1125,899887.6604999999,1144487.9977499999,1108939.53,1108939.53,1108939.53,1108939.53,3671301.16936,3671301.16936 +5515200.0,966709.404,801075.855,2339141.4965999997,1060290.05896,1060290.05896,1060290.05896,1034500.5825000001,1768666.5832800001,3143530.2969600004,1490107.11087,2270639.40704,931350.7559999999,931350.7559999999,931350.7559999999,1242603.0085,966709.404,966709.404,979473.7920499999,1206471.38445,1793322.8973799997,3127888.7745,887724.62362,1129018.90051,1042827.9450000001,1042827.9450000001,1042827.9450000001,1042827.9450000001,2906572.9413599996,2906572.9413599996 +5518800.0,908519.529,786245.601,2295837.15492,1029716.0073200001,1029716.0073200001,1029716.0073200001,1027274.3005000001,1699219.25968,3183197.63456,1441993.5440400003,2197323.49568,907709.0549999999,907709.0549999999,907709.0549999999,1204595.3675,908519.529,908519.529,1025255.6317899999,1182661.3736999999,1757931.2270799999,3066159.1169999996,870205.15892,1106737.4336599999,1022842.4249999999,1022842.4249999999,1022842.4249999999,1022842.4249999999,2731615.38386,2731615.38386 +5522400.0,641974.713,560601.186,1636955.46312,676624.8911400001,676624.8911400001,676624.8911400001,571204.739,873373.4892,1970626.2694400002,801984.0433499999,1222070.9232,484128.426,484128.426,484128.426,605372.488,641974.713,641974.713,758360.8770399999,556172.973,826706.4931999999,1441929.93,409233.44680000003,520468.04140000005,648904.7880000001,648904.7880000001,648904.7880000001,648904.7880000001,1930203.97042,1930203.97042 +5526000.0,109512.315,98678.301,288140.63892,112781.83268,112781.83268,112781.83268,60357.941,176891.6728,680702.86976,178195.81269,271536.47648,144420.52500000002,144420.52500000002,144420.52500000002,105963.389,109512.315,109512.315,198166.73304999998,78992.37045,117415.81977999999,204795.0345,58122.781220000004,73921.25531000001,120751.989,120751.989,120751.989,120751.989,329267.0271,329267.0271 +5529600.0,104872.695,96717.102,282413.93783999997,88815.21033,88815.21033,88815.21033,39364.059,183849.04,671893.59488,189852.36081,289298.83552,140524.785,140524.785,140524.785,99137.8255,104872.695,104872.695,203342.22571,71370.96704999999,106087.21521999998,185035.8405,52514.93378,66789.12719,119556.05100000002,119556.05100000002,119556.05100000002,119556.05100000002,315317.2363,315317.2363 +5533200.0,109547.829,102226.038,298500.03095999995,83515.51274,83515.51274,83515.51274,34562.923500000004,194796.04408,671044.57408,215582.64987,328506.89504000003,150819.771,150819.771,150819.771,99284.4685,109547.829,109547.829,205929.54394999996,70722.96299999999,105124.00919999999,183355.83,52038.1308,66182.7234,127468.33800000002,127468.33800000002,127468.33800000002,127468.33800000002,329373.80585999996,329373.80585999996 +5536800.0,119854.902,116916.081,341394.95652,78869.71356,78869.71356,78869.71356,40340.2195,197190.50832,670040.98112,226976.63919000002,345869.16448000004,155683.641,155683.641,155683.641,97273.6905,119854.902,119854.902,226173.73245999997,81015.39405,120422.88202,210039.91050000003,59611.32698000001,75814.40579000002,131025.84300000001,131025.84300000001,131025.84300000001,131025.84300000001,360363.73867999995,360363.73867999995 +5540400.0,124636.641,119102.58299999998,347779.54235999996,79764.10827000001,79764.10827000001,79764.10827000001,43693.692,212673.66231999997,671150.0774400001,253206.26331,385838.11552,156321.267,156321.267,156321.267,99069.978,124636.641,124636.641,229027.99607999998,87381.5526,129885.66583999999,226544.766,64295.562159999994,81771.87268,145334.742,145334.742,145334.742,145334.742,374740.83394,374740.83394 +5544000.0,142364.451,129398.352,377843.18783999997,88686.00818,88686.00818,88686.00818,60396.12949999999,250936.97439999998,661548.0422400001,272485.42566,415215.88672,200392.215,200392.215,200392.215,132197.744,142364.451,142364.451,229306.53837,100075.66604999999,148754.44681999998,259455.43049999996,73635.92218,93651.05539,194934.24600000004,194934.24600000004,194934.24600000004,194934.24600000004,428042.44934,428042.44934 +5547600.0,179771.196,136158.74099999998,397583.52371999994,99526.00955,99526.00955,99526.00955,69238.2565,324256.35232,664478.6790400001,301532.57232,459478.20544,244101.80400000003,244101.80400000003,244101.80400000003,177572.53149999998,179771.196,179771.196,244003.54147,113884.48935,169280.15454,295256.0835,83796.48846000001,106573.38633000001,223105.185,223105.185,223105.185,223105.185,540512.06264,540512.06264 +5551200.0,307007.92799999996,177591.861,518568.23412000004,207145.67401000002,207145.67401000002,207145.67401000002,147979.7235,812382.76008,718960.3660800001,521181.92763,794181.98496,307900.68,307900.68,307900.68,296939.0725,307007.92799999996,307007.92799999996,464700.2327499999,171140.09264999998,254386.01425999994,443696.53649999993,125925.30273999998,160153.32127,339923.352,339923.352,339923.352,339923.352,923070.5035199999,923070.5035199999 +5554800.0,1022139.7320000001,445115.5140000001,1299737.3008800002,1444492.1208300001,1444492.1208300001,1444492.1208300001,1205574.426,3038409.3521600002,2916823.5520000006,2425331.92545,3695743.8864,878409.6659999999,878409.6659999999,878409.6659999999,1220593.675,1022139.7320000001,1022139.7320000001,2250474.41619,1213622.77725,1803952.8689,3146429.4225,892986.6361,1135711.19155,1253682.636,1253682.636,1253682.636,1253682.636,3073233.4608799997,3073233.4608799997 +5558400.0,634069.197,907650.318,2650338.9285599994,1185557.14574,1185557.14574,1185557.14574,1443075.508,3199976.98176,1820222.38976,2209264.71066,3366498.60672,830457.4980000001,830457.4980000001,830457.4980000001,1028672.085,634069.197,634069.197,1559757.459,1505277.1809,2237473.73556,3902570.4690000005,1107586.66644,1408642.10262,969056.9369999999,969056.9369999999,969056.9369999999,969056.9369999999,1906434.71898,1906434.71898 +5562000.0,1557554.0790000001,1428445.98,4171062.2616,647787.99283,647787.99283,647787.99283,933231.943,2853347.02296,4583649.70304,2214801.6198,3374935.8016000004,1312460.781,1312460.781,1312460.781,788189.6785,1557554.0790000001,1557554.0790000001,1020050.9135699999,932939.4186,1386739.58024,2418731.8260000004,686459.1277600001,873047.0114800001,1718760.507,1718760.507,1718760.507,1718760.507,4683045.93086,4683045.93086 +5565600.0,932200.2779999999,681321.4770000001,1989458.7128400002,353559.7970300001,353559.7970300001,353559.7970300001,315850.19550000003,1087605.9059199998,5035807.118720001,514288.8462600001,783678.2419200002,884195.1359999999,884195.1359999999,884195.1359999999,873372.367,932200.2779999999,932200.2779999999,960603.23372,1566010.8999,2327749.53516,4060028.259,1152274.68684,1465476.86682,449911.53599999996,449911.53599999996,449911.53599999996,449911.53599999996,2802815.5025199996,2802815.5025199996 +5569200.0,466051.401,387846.89099999995,1132512.92172,149095.71578,149095.71578,149095.71578,260525.881,776893.50056,1490710.27456,469140.66759,714881.01728,299853.363,299853.363,299853.363,249087.64299999995,466051.401,466051.401,393656.6241399999,314423.50365,467365.30666,815172.0465,231353.59034000002,294238.29107000004,322374.024,322374.024,322374.024,322374.024,1401261.21234,1401261.21234 +5572800.0,541097.9099999999,976991.4719999998,2852815.0982399997,276297.4445,276297.4445,276297.4445,659616.7235,1220571.9077599999,1806236.5196800004,895242.76527,1364179.45184,452324.934,452324.934,452324.934,794636.9865,541097.9099999999,541097.9099999999,492914.7932799999,511187.34285,759838.96394,1325300.5185,376132.90906000003,478370.37763000006,505281.80700000003,505281.80700000003,505281.80700000003,505281.80700000003,1626901.0493999997,1626901.0493999997 +5576400.0,361132.092,300103.98,876303.6216,219403.76106000005,219403.76106000005,219403.76106000005,446379.7765,723857.21352,947969.7542400002,470736.20012999995,717312.30496,290260.623,290260.623,290260.623,233252.992,361132.092,361132.092,330481.84844999993,295247.99700000003,438862.4548,765457.77,217244.20520000003,276293.80460000003,294786.08999999997,294786.08999999997,294786.08999999997,294786.08999999997,1085803.82328,1085803.82328 +5580000.0,235254.93600000002,173703.282,507213.58343999996,76292.40234,76292.40234,76292.40234,145308.3275,492339.64072,561909.6224,278418.20643,424256.31456,186703.71600000001,186703.71600000001,186703.71600000001,130950.2775,235254.93600000002,235254.93600000002,235982.64521,154265.0103,229302.55852000002,399946.32300000003,113508.57548000001,144361.57754000003,186947.652,186947.652,186947.652,186947.652,707333.17424,707333.17424 +5583600.0,348936.849,235044.72000000003,686330.5824000001,649324.87774,649324.87774,649324.87774,558608.869,703213.6428,356396.51904000004,648680.41812,988465.39904,209672.517,209672.517,209672.517,648402.1425000001,348936.849,348936.849,581687.2153299999,415383.61275,617434.4071,1076920.4775,305640.2879,388717.01045,177518.238,177518.238,177518.238,177518.238,1049136.7926599998,1049136.7926599998 +5587200.0,281059.43700000003,673706.472,1967222.8982399998,336538.51165,336538.51165,336538.51165,425652.577,1002074.358,615490.4998400001,409465.64085,623947.6432,306969.801,306969.801,306969.801,736797.74,281059.43700000003,281059.43700000003,748162.9411099999,399971.44710000005,594525.45964,1036963.0110000002,294299.97836,374294.26778000005,345020.673,345020.673,345020.673,345020.673,845052.04058,845052.04058 +5590800.0,596254.728,633345.408,1849368.59136,524072.56506000005,524072.56506000005,524072.56506000005,698627.5449999999,1452583.9592,2136738.6169600002,996998.4956400001,1519235.8028800003,593099.8859999999,593099.8859999999,593099.8859999999,840400.6309999999,596254.728,596254.728,683794.3330399999,745131.19455,1107577.7262199998,1931821.6155,548269.37278,697295.61169,626111.571,626111.571,626111.571,626111.571,1792739.2155199999,1792739.2155199999 +5594400.0,1869290.5950000002,1573312.449,4594072.35108,2622585.63545,2622585.63545,2622585.63545,2646054.8345,3040458.0416800003,5160572.496,3243596.72511,4942623.58112,2020179.756,2020179.756,2020179.756,2290537.1125000003,1869290.5950000002,1869290.5950000002,1885815.1175499998,2318389.8084,3446100.40656,6010640.244000001,1705876.9454400002,2169554.90712,2039832.534,2039832.534,2039832.534,2039832.534,5620333.7223000005,5620333.7223000005 +5598000.0,1146411.849,701162.181,2047393.5685199997,1046078.4695899999,1046078.4695899999,1046078.4695899999,1099892.864,1804580.5276000001,2682828.01216,1537879.9888199999,2343436.17344,949632.8489999999,949632.8489999999,949632.8489999999,1140505.723,1146411.849,1146411.849,833311.3071399999,1090431.5175,1620838.9470000002,2827044.6750000003,802342.2030000001,1020428.5065000001,1024073.406,1024073.406,1024073.406,1024073.406,3446878.29266,3446878.29266 +5601600.0,836905.0829999999,686741.139,2005284.12588,929996.93732,929996.93732,929996.93732,890126.0129999999,1499792.0780800001,2609499.6953600002,1279233.6820200002,1949308.4678400003,782311.968,782311.968,782311.968,1035438.2324999999,836905.0829999999,836905.0829999999,900278.6235299999,1023541.5798000001,1521412.4223200001,2653626.3180000004,753124.42168,957832.7376400001,889520.301,889520.301,889520.301,889520.301,2516294.6162199997,2516294.6162199997 +5605200.0,794568.186,681084.7590000001,1988767.49628,905939.9039900001,905939.9039900001,905939.9039900001,874554.387,1459806.7836,2676351.60512,1252344.88365,1908335.0607999999,771557.499,771557.499,771557.499,1018143.1960000001,794568.186,794568.186,944356.09268,1012304.68875,1504709.6855,2624493.6374999997,744856.2895,947317.22725,880150.98,880150.98,880150.98,880150.98,2389001.6792399995,2389001.6792399995 +5608800.0,569240.709,475019.691,1387057.4977199999,596617.3276800001,596617.3276800001,596617.3276800001,500668.31149999995,746331.5074400001,1646638.6700800003,714342.7659900001,1088522.3100800002,408348.186,408348.186,408348.186,515126.6645000001,569240.709,569240.709,632574.9710799999,473591.97045,703956.45978,1227831.0345,348470.14122,443188.53531,560829.7679999999,560829.7679999999,560829.7679999999,560829.7679999999,1711517.06506,1711517.06506 +5612400.0,96155.76,82694.091,241466.74572,101524.75399,101524.75399,101524.75399,56504.4585,132275.04223999998,571095.4105600001,155944.39875,237629.56,121488.75900000002,121488.75900000002,121488.75900000002,91278.1205,96155.76,96155.76,162637.69691,68098.2552,101222.59168,176551.032,50106.86432000001,63726.515360000005,108670.58699999998,108670.58699999998,108670.58699999998,108670.58699999998,289108.3184,289108.3184 +5616000.0,90864.828,82835.997,241881.11124000003,76519.80952000001,76519.80952000001,76519.80952000001,35156.0265,141014.61392,552192.3244800001,156066.83442,237816.12864000004,127782.831,127782.831,127782.831,83380.045,90864.828,90864.828,163946.26703000002,59474.0394,88403.38695999999,154191.954,43761.14504,55655.95292,104148.687,104148.687,104148.687,104148.687,273200.24951999995,273200.24951999995 +5619600.0,90779.493,84108.171,245595.85932,71480.03434000001,71480.03434000001,71480.03434000001,30464.542500000003,163294.21391999998,555530.3520000001,157744.05675,240371.896,131814.786,131814.786,131814.786,84412.9825,90779.493,90779.493,172751.94365,58208.02965,86521.56506,150909.7065,42829.611939999995,54471.21787,105234.045,105234.045,105234.045,105234.045,272943.67562,272943.67562 +5623200.0,99054.42899999999,93480.61200000001,272963.38704,66367.43872,66367.43872,66367.43872,27743.036999999997,165918.56975999998,553219.3856,179156.11329000004,272999.79168,130830.282,130830.282,130830.282,82733.35350000001,99054.42899999999,99054.42899999999,179332.27376999997,60967.282499999994,90622.973,158063.32499999998,44859.877,57053.3335,107361.21299999999,107361.21299999999,107361.21299999999,107361.21299999999,297823.64985999995,297823.64985999995 +5626800.0,105563.4,101266.75799999999,295698.93335999997,67646.06585000001,67646.06585000001,67646.06585000001,34991.4635,167140.42039999997,560649.84896,198574.49555999998,302589.70752,132144.126,132144.126,132144.126,83383.3805,105563.4,105563.4,195704.53734,69817.44374999999,103778.0275,181008.1875,51371.847499999996,65335.33625,116623.158,116623.158,116623.158,116623.158,317393.95599999995,317393.95599999995 +5630400.0,110260.02600000001,107145.76800000001,312865.64256,71125.36232999999,71125.36232999999,71125.36232999999,40409.6525,171306.16248,574891.75808,220370.80758,335803.13536,135727.449,135727.449,135727.449,88086.78550000001,110260.02600000001,110260.02600000001,199204.92826,75235.47705,111831.49922,195054.9405,55358.44978,70405.54519,128694.291,128694.291,128694.291,128694.291,331515.14484,331515.14484 +5634000.0,125845.46100000001,116060.409,338896.39428,87987.52699000001,87987.52699000001,87987.52699000001,61636.575000000004,185725.77656000003,589160.9542400001,239701.60746000003,365259.59232000005,163719.609,163719.609,163719.609,108389.491,125845.46100000001,125845.46100000001,204403.81194999994,88224.5034,131138.64456,228730.19400000002,64915.807440000004,82560.70812000001,163408.359,163408.359,163408.359,163408.359,378375.35274,378375.35274 +5637600.0,239339.811,153897.651,449381.14092000003,195010.37479000003,195010.37479000003,195010.37479000003,142645.538,639594.80856,654502.67648,441361.83546000003,672551.36832,235990.11899999998,235990.11899999998,235990.11899999998,259620.6655,239339.811,239339.811,417396.889,146701.3032,218059.71487999998,380336.712,107943.18112000001,137283.44176000002,274053.936,274053.936,274053.936,274053.936,719615.0317399999,719615.0317399999 +5641200.0,924707.145,400142.88,1168417.2096,1359461.62385,1359461.62385,1359461.62385,1080724.5435,2853313.0633599996,2589331.2761600004,2217716.10942,3379376.92864,779282.601,779282.601,779282.601,1055156.7565,924707.145,924707.145,2145167.12371,1068556.3902,1588323.32568,2770331.382,786246.43032,999957.7083600002,1145263.875,1145263.875,1145263.875,1145263.875,2780286.1493,2780286.1493 +5644800.0,595621.923,880109.955,2569921.0686,1039591.08088,1039591.08088,1039591.08088,1341794.3035000002,3007156.7556800004,1696066.3142400002,2060321.05398,3139536.84416,802218.459,802218.459,802218.459,960341.4135,595621.923,595621.923,1350832.4394499997,1359086.0319,2020172.32396,3523556.379,1000018.8580400001,1271836.06442,915530.226,915530.226,915530.226,915530.226,1790836.58182,1790836.58182 +5648400.0,1474034.901,1200841.092,3506455.98864,537415.33967,537415.33967,537415.33967,715705.5044999999,2494799.09584,3900869.68896,1933803.9567,2946748.8864,1191864.543,1191864.543,1191864.543,661998.26,1474034.901,1474034.901,855572.1266300001,803274.7725,1194003.489,2082564.225,591051.561,751706.5155000001,1610319.6209999998,1610319.6209999998,1610319.6209999998,1610319.6209999998,4431931.60234,4431931.60234 +5652000.0,858678.684,642997.635,1877553.0942000002,320086.67625,320086.67625,320086.67625,285014.69850000006,981451.08128,4802317.07456,458381.21469,698485.6604800001,800580.054,800580.054,800580.054,808135.496,858678.684,858678.684,844233.8358999998,1413970.3237499997,2101753.4195,3665848.9875,1040402.8555,1323196.92025,392519.277,392519.277,392519.277,392519.277,2581760.57656,2581760.57656 +5655600.0,410254.88700000005,321994.06200000003,940222.66104,137482.91909,137482.91909,137482.91909,217768.9185,676929.584,1074486.9856,392248.23645,597711.5984,252047.56200000003,252047.56200000003,252047.56200000003,202657.03499999997,410254.88700000005,410254.88700000005,340320.6842099999,242824.8456,360939.64703999995,629545.896,178671.12096,227236.09008,271829.628,271829.628,271829.628,271829.628,1233499.6935800002,1233499.6935800002 +5659200.0,520449.05999999994,964255.3859999999,2815625.72712,236606.39343,236606.39343,236606.39343,630479.997,1200682.1525599998,1766538.3916800001,854556.65169,1302181.56448,443284.99199999997,443284.99199999997,443284.99199999997,747719.0665,520449.05999999994,520449.05999999994,476195.34872,491823.5031,731056.17004,1275097.971,361884.94796,460249.64858000004,490351.13700000005,490351.13700000005,490351.13700000005,490351.13700000005,1564816.8403999999,1564816.8403999999 +5662800.0,357048.708,274357.81500000006,801124.8198,199213.20738,199213.20738,199213.20738,419460.50299999997,732434.40984,954367.8361600001,463621.45074,706470.78208,301837.092,301837.092,301837.092,233876.07950000002,357048.708,357048.708,326065.38341,289268.74305,429974.77361999993,749956.0005,212844.65537999998,270698.40398999996,294482.604,294482.604,294482.604,294482.604,1073526.44872,1073526.44872 +5666400.0,78950.87700000001,26092.380000000005,76189.74960000001,64643.264619999994,64643.264619999994,64643.264619999994,51894.41249999999,142262.20144,87818.75776000001,49805.96985,75894.81120000001,49701.405,49701.405,49701.405,21202.433,78950.87700000001,78950.87700000001,63953.278999999995,22648.5882,33665.30888,58718.562,16664.88712,21194.60476,31742.024999999998,31742.024999999998,31742.024999999998,31742.024999999998,237378.97018,237378.97018 +5670000.0,302662.26900000003,174626.96099999998,509910.72611999995,501950.66614000004,501950.66614000004,501950.66614000004,427442.848,614929.4284,225963.54304,556406.51871,847857.55232,176519.952,176519.952,176519.952,533637.566,302662.26900000003,302662.26900000003,521595.9719099999,325542.20355,483892.36181999993,843998.3055,239534.75718,304643.19789,133539.843,133539.843,133539.843,133539.843,910004.5554600001,910004.5554600001 +5673600.0,232561.863,569180.154,1662006.04968,302628.15891000006,302628.15891000006,302628.15891000006,355120.353,926881.80008,416924.92928,307772.77776,468987.08992,256009.82999999996,256009.82999999996,256009.82999999996,646724.2215000001,232561.863,232561.863,667725.5371799999,286332.25814999995,425609.9244599999,742342.8914999999,210683.98253999997,267950.43416999996,276337.578,276337.578,276337.578,276337.578,699236.00142,699236.00142 +5677200.0,585485.859,615009.264,1795827.0508799998,454859.99691000005,454859.99691000005,454859.99691000005,634131.1795,1393780.58456,1923249.77728,928005.79032,1414104.06144,563593.7729999999,563593.7729999999,563593.7729999999,760614.8865,585485.859,585485.859,689546.8092499999,673376.4899999999,1000920.1159999998,1745790.9,495472.084,630147.382,598084.581,598084.581,598084.581,598084.581,1760360.81606,1760360.81606 +5680800.0,1835415.5729999999,1522551.4619999998,4445850.26904,2223239.6774500003,2223239.6774500003,2223239.6774500003,2629832.9715,3073264.51616,5112341.00992,3196092.5593800005,4870236.280960001,2021216.9789999998,2021216.9789999998,2021216.9789999998,2241970.0625,1835415.5729999999,1835415.5729999999,1594604.66321,2258535.4456499997,3357131.69946,5855462.2665,1661835.9575399999,2113543.04667,1964744.7510000002,1964744.7510000002,1964744.7510000002,1964744.7510000002,5518482.822819999,5518482.822819999 +5684400.0,1129129.401,726265.4789999999,2120695.19868,988952.8531300001,988952.8531300001,988952.8531300001,1077117.027,1816770.10264,2747581.40928,1556855.34417,2372351.00064,956865.6930000001,956865.6930000001,956865.6930000001,1180170.7995,1129129.401,1129129.401,746133.9580499999,1121304.76065,1666729.54546,2907086.4165000003,825058.81154,1049319.76367,1014927.7679999999,1014927.7679999999,1014927.7679999999,1014927.7679999999,3394915.73234,3394915.73234 +5688000.0,872618.139,730318.5959999999,2132530.30032,971479.8099600001,971479.8099600001,971479.8099600001,944208.4085,1602416.5526399997,2807788.4025600003,1354053.28002,2063319.2838400002,839435.655,839435.655,839435.655,1118545.54,872618.139,872618.139,868494.79769,1082796.72885,1609490.44634,2807250.7785,796724.50666,1013283.85243,941725.281,941725.281,941725.281,941725.281,2623671.87126,2623671.87126 +5691600.0,865499.3879999999,746456.601,2179653.2749199998,975247.00603,975247.00603,975247.00603,964879.8250000001,1613956.52112,2946976.4166400004,1370115.5609400002,2087795.1404800003,864328.5240000001,864328.5240000001,864328.5240000001,1142099.5705,865499.3879999999,865499.3879999999,965104.87424,1119321.0868499998,1663780.97354,2901943.5585,823599.2194599999,1047463.43683,970334.217,970334.217,970334.217,970334.217,2602268.1599199995,2602268.1599199995 +5695200.0,607262.847,523054.581,1527319.37652,638988.09524,638988.09524,638988.09524,541145.024,817776.2103200001,1835692.55296,754679.08614,1149987.17888,454877.496,454877.496,454877.496,569431.513,607262.847,607262.847,687117.62457,521204.32529999997,774728.4045199999,1351270.473,383503.42948,487744.29454,611749.131,611749.131,611749.131,611749.131,1825836.9599799998,1825836.9599799998 +5698800.0,104133.61799999999,94112.23199999999,274807.71744,108600.94553000001,108600.94553000001,108600.94553000001,58882.358499999995,155229.88056,648586.3936000001,157981.80384,240734.17728,137749.935,137749.935,137749.935,100969.946,104133.61799999999,104133.61799999999,181083.28692999997,75287.84759999998,111909.34383999997,195190.71599999996,55396.98415999999,70454.55367999998,115340.331,115340.331,115340.331,115340.331,313095.07811999996,313095.07811999996 +5702400.0,101846.715,94598.364,276227.22288,86337.36991,86337.36991,86337.36991,38456.7015,176775.18232,657188.21952,174910.29213000002,266529.96896,138093.186,138093.186,138093.186,96814.9245,101846.715,101846.715,198437.83907999998,69339.19545,103067.14977999999,179768.2845,51019.95122,64887.790310000004,113644.58699999998,113644.58699999998,113644.58699999998,113644.58699999998,306219.12309999997,306219.12309999997 +5706000.0,103482.24,97712.61300000001,285320.82996,80711.54321999999,80711.54321999999,80711.54321999999,33579.497,188604.73304,653878.1862400001,193805.47431000002,295322.62752000004,143725.005,143725.005,143725.005,96969.0995,103482.24,103482.24,198952.90830999997,67672.35315,100589.52245999998,175446.84149999998,49793.48454,63327.955169999994,120642.426,120642.426,120642.426,120642.426,311136.6016,311136.6016 +5709600.0,115408.644,113043.465,330086.9178,75861.71901,75861.71901,75861.71901,36688.176,189390.93136,652028.86912,213512.18343,325351.89856,151723.218,151723.218,151723.218,95004.7035,115408.644,115408.644,217901.74457999997,76950.6237,114380.92707999998,199501.617,56620.45892,72010.58365999999,124054.79099999998,124054.79099999998,124054.79099999998,124054.79099999998,346995.32296,346995.32296 +5713200.0,119153.106,115634.63399999999,337653.13128,77546.10886000001,77546.10886000001,77546.10886000001,39976.062,191676.14088,659259.4668800001,237916.90797,362540.05024,153395.769,153395.769,153395.769,97084.95999999999,119153.106,119153.106,224432.51245999997,84049.16805000001,124932.34362,217905.25050000002,61843.585380000004,78653.41899,132649.62,132649.62,132649.62,132649.62,358253.67204,358253.67204 +5716800.0,133488.381,126906.81600000002,370567.90272,85979.75936000001,85979.75936000001,85979.75936000001,58615.8055,209723.46368,668412.04928,261150.94677,397944.29984,185747.772,185747.772,185747.772,120325.8175,133488.381,133488.381,227448.9789,94564.16685,140562.04554,245166.3585,69580.54746,88493.38083,180758.63400000002,180758.63400000002,180758.63400000002,180758.63400000002,401355.06554,401355.06554 +5720400.0,163853.751,133494.342,389803.47864,98048.18034,98048.18034,98048.18034,68456.7135,265876.11488,666287.20704,286831.07145,437075.9184,239043.261,239043.261,239043.261,175338.76150000002,163853.751,163853.751,238748.67899999995,111034.8729,165044.42836,287868.189,81699.73364,103906.70822,214429.36499999996,214429.36499999996,214429.36499999996,214429.36499999996,492653.61134,492653.61134 +5724000.0,297861.684,176511.81299999997,515414.49395999993,205444.45064000002,205444.45064000002,205444.45064000002,148183.43399999998,803343.69568,732029.0303999999,509743.39122,776751.83424,296260.614,296260.614,296260.614,297003.6615,297861.684,297861.684,464412.19071,170127.60885,252881.03834,441071.5785,125180.31466,159205.83643000002,331116.576,331116.576,331116.576,331116.576,895570.7965599999,895570.7965599999 +5727600.0,1009555.6079999999,447007.1399999999,1305260.8487999998,1426983.1395599998,1426983.1395599998,1426983.1395599998,1184266.6395,3028537.5972,2906527.9712,2397865.5605099997,3653890.37792,864452.1720000001,864452.1720000001,864452.1720000001,1220276.925,1009555.6079999999,1009555.6079999999,2233460.09939,1204582.3065,1790514.9345999998,3122991.165,886334.6353999999,1127251.0966999999,1249075.5869999998,1249075.5869999998,1249075.5869999998,1249075.5869999998,3035397.1947199996,3035397.1947199996 +5731200.0,633019.158,908886.786,2653949.41512,1123620.74044,1123620.74044,1123620.74044,1428622.9545,3192635.15568,1825271.09056,2194710.67452,3344321.0278399996,841960.728,841960.728,841960.728,1024811.193,633019.158,633019.158,1469870.1414799998,1486718.9549999998,2209888.422,3854456.55,1093931.478,1391275.2689999999,965796.6779999998,965796.6779999998,965796.6779999998,965796.6779999998,1903277.60172,1903277.60172 +5734800.0,1445004.117,1215970.491,3550633.8337199995,525418.6117400001,525418.6117400001,525418.6117400001,758365.524,2443999.73904,3909223.9187200004,1898570.2659,2893059.4528,1195941.81,1195941.81,1195941.81,682928.9355,1445004.117,1445004.117,730850.8324,807341.0615999999,1200047.7014399997,2093106.4559999998,594043.5465599999,755511.75888,1580844.111,1580844.111,1580844.111,1580844.111,4344645.71178,4344645.71178 +5738400.0,818155.5720000002,583914.399,1705030.04508,306352.20891000004,306352.20891000004,306352.20891000004,244659.39400000003,911087.4850399999,4606439.28832,366660.16673999996,558720.25408,747422.103,747422.103,747422.103,736906.282,818155.5720000002,818155.5720000002,697546.3154399999,1370594.2284,2037278.3345599996,3553392.4439999997,1008486.61744,1282605.46312,326840.079,326840.079,326840.079,326840.079,2459921.08648,2459921.08648 +5742000.0,409565.526,305684.622,892599.09624,136452.84279000002,136452.84279000002,136452.84279000002,186749.402,669449.44336,1137578.15808,383682.99459,584659.80128,254904.97499999998,254904.97499999998,254904.97499999998,191123.478,409565.526,409565.526,308848.9456,214897.45905,319427.82802,557141.5605,158122.08098,201101.57279,259891.79700000002,259891.79700000002,259891.79700000002,259891.79700000002,1231427.01484,1231427.01484 +5745600.0,554200.461,1001860.0499999999,2925431.346,234018.11763,234018.11763,234018.11763,656925.2270000001,1294903.4569599999,1969695.4745599998,898318.15185,1368865.7552,487696.74900000007,487696.74900000007,487696.74900000007,801717.4025000001,554200.461,554200.461,524026.65249999997,523362.5298,777936.40232,1356865.818,385091.44168,489763.94764,529473.6300000001,529473.6300000001,529473.6300000001,529473.6300000001,1666296.05274,1666296.05274 +5749200.0,282937.542,198817.689,580547.65188,180608.75305,180608.75305,180608.75305,339552.416,558068.6888799999,605832.9113600001,324821.0259,494965.3728,212334.375,212334.375,212334.375,155723.68699999998,282937.542,282937.542,232908.04991999996,176742.80999999997,262714.00399999996,458222.1,130047.79599999999,165396.35799999998,203640.945,203640.945,203640.945,203640.945,850698.87628,850698.87628 +5752800.0,225381.22499999998,160754.301,469402.55892,75273.19294000001,75273.19294000001,75273.19294000001,131504.6705,478775.21871999995,532800.36736,260539.75374000001,397012.95808,185311.29,185311.29,185311.29,122602.5745,225381.22499999998,225381.22499999998,217635.17918999997,136231.7292,202497.53327999997,353193.372,100239.64272,127485.98856,177104.283,177104.283,177104.283,177104.283,677646.2165,677646.2165 +5756400.0,377074.077,264331.509,771848.0062800001,547353.53893,547353.53893,547353.53893,541489.6025,777168.16744,484185.06752,685232.76654,1044164.2156800001,245935.35900000003,245935.35900000003,245935.35900000003,650070.4,377074.077,377074.077,610322.85769,427863.5298,635984.80232,1109275.818,314823.04168,400395.74764,212059.73100000003,212059.73100000003,212059.73100000003,212059.73100000003,1133736.05818,1133736.05818 +5760000.0,303921.44999999995,678063.522,1979945.48424,321371.68514,321371.68514,321371.68514,460604.27699999994,1085558.77568,754739.58336,457296.20832000003,696832.31744,352488.594,352488.594,352488.594,767657.0335,303921.44999999995,303921.44999999995,761935.8614399999,423407.39174999995,629361.1106999998,1097722.8675,311544.2043,396225.68265,377534.295,377534.295,377534.295,377534.295,913790.4929999999,913790.4929999999 +5763600.0,636885.4199999999,672423.558,1963476.7893599998,516497.70898000005,516497.70898000005,516497.70898000005,747212.6585,1553361.00816,2303719.6889600004,1067628.5613000002,1626862.5696000003,660463.215,660463.215,660463.215,892885.9940000001,636885.4199999999,636885.4199999999,728053.17286,805744.5313500001,1197674.58734,2088967.3035000002,592868.8156600001,754017.7219300001,675113.841,675113.841,675113.841,675113.841,1914902.1627999998,1914902.1627999998 +5767200.0,1881094.809,1605255.2759999998,4687345.40592,2431693.1035100003,2431693.1035100003,2431693.1035100003,2693118.9845000003,3143103.7095999997,5341922.729600001,3295577.1464700005,5021831.842240001,2073887.6130000001,2073887.6130000001,2073887.6130000001,2391995.417,1881094.809,1881094.809,1730790.6886399998,2378955.7845,3536126.8697999995,6167663.145,1750441.5402,2226232.6971,2067652.197,2067652.197,2067652.197,2067652.197,5655825.05906,5655825.05906 +5770800.0,1206503.3399999999,759919.5899999999,2218965.2027999996,1068608.6180000002,1068608.6180000002,1068608.6180000002,1162794.213,1961186.4056000002,2942778.0966399997,1649310.6487200002,2513235.27424,1039128.6000000001,1039128.6000000001,1039128.6000000001,1246454.902,1206503.3399999999,1206503.3399999999,803503.21766,1179125.0554499999,1752674.77378,3056990.8845,867603.12722,1103428.13831,1089709.077,1089709.077,1089709.077,1089709.077,3627553.3755999994,3627553.3755999994 +5774400.0,906183.648,743767.734,2171801.78328,988532.6215600001,988532.6215600001,988532.6215600001,960655.1500000001,1632706.1564799997,2881547.3932800004,1380978.15849,2104347.67008,861081.6600000001,861081.6600000001,861081.6600000001,1141551.6805,906183.648,906183.648,963991.8113800001,1114217.73045,1656195.24378,2888712.6345,819844.15722,1042687.70331,966306.159,966306.159,966306.159,966306.159,2724592.16832,2724592.16832 +5778000.0,881486.4299999999,760587.3269999999,2220914.99484,996157.84796,996157.84796,996157.84796,985236.7350000001,1641873.1343999999,3060866.9836800005,1395027.0780600002,2125755.54752,880117.89,880117.89,880117.89,1164938.0329999998,881486.4299999999,881486.4299999999,1013248.8953599998,1141808.5133999998,1697206.7285599997,2960244.2939999998,840145.52344,1068507.22612,990413.0430000001,990413.0430000001,990413.0430000001,990413.0430000001,2650335.8662,2650335.8662 +5781600.0,627180.936,541360.005,1580771.2145999998,657473.0991400001,657473.0991400001,657473.0991400001,556563.497,842910.09864,1901112.3936,777984.92772,1185500.8422400001,469623.375,469623.375,469623.375,589085.5599999999,627180.936,627180.936,724216.7120499999,538978.79115,801148.7216599999,1397352.4215,396581.92533999996,504377.68357,631277.337,631277.337,631277.337,631277.337,1885724.01424,1885724.01424 +5785200.0,107795.709,97731.132,285374.90544,111247.12929000001,111247.12929000001,111247.12929000001,59897.4985,166736.0588,674642.70976,170744.02107,260181.36544,143009.304,143009.304,143009.304,105237.279,107795.709,107795.709,190568.1596,77974.2126,115902.40984,202155.366,57373.61816,72968.46068,119209.33499999999,119209.33499999999,119209.33499999999,119209.33499999999,324105.76505999995,324105.76505999995 +5788800.0,103660.818,96120.14700000001,280670.82924,87591.20667000001,87591.20667000001,87591.20667000001,39006.8805,180976.32064,668906.0774400001,179100.79047,272915.49024,140222.103,140222.103,140222.103,98589.5715,103660.818,103660.818,201805.07958,70653.68775,105021.03709999999,183176.2275,51987.1579,66117.89545,116469.58499999999,116469.58499999999,116469.58499999999,116469.58499999999,311673.52612,311673.52612 +5792400.0,106073.319,99792.74099999998,291394.80371999997,81411.72567000001,81411.72567000001,81411.72567000001,33934.782,190637.67792,659649.1014400001,200687.54328,305809.58976,146417.898,146417.898,146417.898,97832.0735,106073.319,106073.319,201801.30372999999,68611.85595,101986.01797999999,177882.5895,50484.77302,64207.144210000006,122518.39499999999,122518.39499999999,122518.39499999999,122518.39499999999,318927.11246,318927.11246 +5796000.0,115968.76499999998,113006.001,329977.52292,75538.1011,75538.1011,75538.1011,37710.28799999999,188121.42632,646611.95648,214696.90515,327157.1888,150208.866,150208.866,150208.866,94378.564,115968.76499999998,115968.76499999998,217757.81494999997,77471.54280000001,115155.23152,200852.14800000002,57003.75248,72498.06104,124444.62,124444.62,124444.62,124444.62,348679.4201,348679.4201 +5799600.0,116167.185,111222.216,324768.87072,74487.04801999999,74487.04801999999,74487.04801999999,38952.403,184773.26088,627053.0784,230637.18026999998,351447.13184,146185.40399999998,146185.40399999998,146185.40399999998,93308.369,116167.185,116167.185,215270.39078999998,80771.23574999999,120059.96029999999,209406.9075,59431.674699999996,75585.92185,130008.06600000002,130008.06600000002,130008.06600000002,130008.06600000002,349276.00289999996,349276.00289999996 +5803200.0,129191.90699999999,122295.09899999999,357101.68908,82050.04819,82050.04819,82050.04819,56093.243500000004,198660.36039999998,629001.7081600002,249476.2137,380154.2304,172742.805,172742.805,172742.805,112473.774,129191.90699999999,129191.90699999999,216146.11381999997,89777.28555,133446.73062,232755.9255,66058.34838,84013.80549,173057.796,173057.796,173057.796,173057.796,388437.00038,388437.00038 +5806800.0,158144.754,128989.533,376649.43636,94983.72675000002,94983.72675000002,94983.72675000002,66489.8465,240021.27272,637485.1270399999,275478.43659,419776.66528,225851.304,225851.304,225851.304,167593.71649999998,158144.754,158144.754,228664.67753999998,106564.96485,158400.26874,276279.5385,78410.76426000001,99723.75723000002,205084.00499999998,205084.00499999998,205084.00499999998,205084.00499999998,475488.56035999994,475488.56035999994 +5810400.0,204910.908,145822.479,425801.63868000003,187829.75519000003,187829.75519000003,187829.75519000003,145212.4275,386204.67208000005,659953.7632,344029.28868000006,524235.10656000004,266226.78,266226.78,266226.78,204030.946,204910.908,204910.908,258303.24818999998,142394.33475,211657.7519,369170.4975,104774.10310000001,133252.97005,249157.827,249157.827,249157.827,249157.827,616098.79672,616098.79672 +5814000.0,943611.1140000001,947043.5190000001,2765367.07548,956530.41099,956530.41099,956530.41099,1037731.2399999999,1447599.33232,1218054.75456,1194482.63802,1820164.01984,548345.0669999999,548345.0669999999,548345.0669999999,1563498.6184999999,943611.1140000001,943611.1140000001,1751309.4944799999,519902.59859999997,772793.4922399999,1347895.626,382545.61576,486526.13548,1262894.22,1262894.22,1262894.22,1262894.22,2837124.0827599997,2837124.0827599997 +5817600.0,1488430.5269999998,1446477.465,4223714.1978,1921208.99047,1921208.99047,1921208.99047,1438627.2285000002,2253943.07688,2331086.42496,2210829.65481,3368883.28352,855086.757,855086.757,855086.757,1120875.6825,1488430.5269999998,1488430.5269999998,1658209.1354399996,1174123.27305,1745240.02562,3044023.3005000004,863922.80338,1098747.45799,1628799.054,1628799.054,1628799.054,1628799.054,4475214.45118,4475214.45118 +5821200.0,1610171.37,1385453.682,4045524.7514400003,1516419.9040100002,1516419.9040100002,1516419.9040100002,1468854.4325,2640888.9384,6066906.87296,1996683.1136699999,3042564.7446399997,1749579.558,1749579.558,1749579.558,1565816.4585,1610171.37,1610171.37,1113181.52751,2309357.9196,3432675.22864,5987224.2360000005,1699231.2593600003,2161102.84328,1161367.368,1161367.368,1161367.368,1161367.368,4841248.5858000005,4841248.5858000005 +5824800.0,1133640.129,803672.841,2346724.6957199997,912071.50551,912071.50551,912071.50551,1816320.9364999998,2345762.3133599996,3942325.8944,2280348.3616199996,3474816.55104,1505941.251,1505941.251,1505941.251,1727038.019,1133640.129,1133640.129,1223334.06286,2027579.9350499997,3013834.8664199994,5256688.7205,1491898.32258,1897414.3095899997,1304185.857,1304185.857,1304185.857,1304185.857,3408477.9878599998,3408477.9878599998 +5828400.0,807537.3839999998,562281.15,1641860.958,827373.6944000002,827373.6944000002,827373.6944000002,1185782.6575000002,2229027.70384,3471612.8454400003,1517154.1545300002,2311853.94976,690041.91,690041.91,690041.91,1330210.6125,807537.3839999998,807537.3839999998,473382.65312,1167070.3722,1734756.45448,3025738.0020000003,858733.2615200001,1092147.33596,838496.5380000001,838496.5380000001,838496.5380000001,838496.5380000001,2427995.73456,2427995.73456 +5832000.0,699817.845,577301.8319999999,1685721.3494399998,515214.0554,515214.0554,515214.0554,826757.5854999999,1663502.1700799998,1912193.33632,1237290.3774,1885394.8608000001,651718.296,651718.296,651718.296,842240.1925,699817.845,699817.845,531671.5558699999,824530.4928,1225598.41152,2137671.648,606691.5724800001,771597.67104,715244.682,715244.682,715244.682,715244.682,2104118.9872999997,2104118.9872999997 +5835600.0,430126.746,330185.088,964140.45696,237423.82444,237423.82444,237423.82444,412578.9325,820643.6795199999,1131025.42784,646582.89885,985269.1792,383640.561,383640.561,383640.561,472963.1095,430126.746,430126.746,303137.36401,425240.1908999999,632085.41956,1102474.569,312892.78244,397940.82061999995,419747.196,419747.196,419747.196,419747.196,1293247.7496399998,1293247.7496399998 +5839200.0,339177.55199999997,245511.024,716892.19008,120914.35202000002,120914.35202000002,120914.35202000002,300549.123,658644.83016,799416.9216,485769.16458000004,740219.6793600001,300271.374,300271.374,300271.374,324336.6805,339177.55199999997,339177.55199999997,203781.63844999997,289722.1203,430648.68252,751131.423,213178.25148,271122.67554,301929.669,301929.669,301929.669,301929.669,1019793.8396799999,1019793.8396799999 +5842800.0,299668.81200000003,205925.619,601302.8074800001,80552.65041999999,80552.65041999999,80552.65041999999,240340.982,582753.8374399999,660634.86208,407334.56756999996,620700.29344,262071.72000000003,262071.72000000003,262071.72000000003,262592.51550000004,299668.81200000003,299668.81200000003,157243.88796999998,221137.11179999998,328702.57112,573318.438,162713.23288,206940.65524,250268.421,250268.421,250268.421,250268.421,901004.22808,901004.22808 +5846400.0,82361.199,17562.027000000002,51281.118839999996,60484.371750000006,60484.371750000006,60484.371750000006,47907.849500000004,124794.86072,67657.54112,68892.2703,104978.6976,32215.125,32215.125,32215.125,22164.5795,82361.199,82361.199,13030.32848,18335.5326,27254.297839999996,47536.56599999999,13491.330159999998,17158.43668,38504.505,38504.505,38504.505,38504.505,247632.67166,247632.67166 +5850000.0,711936.0449999999,587638.1760000001,1715903.4739200003,269889.41672,269889.41672,269889.41672,707757.9774999999,1421817.63616,1996211.7536000002,1086872.04444,1656185.9724800002,693757.986,693757.986,693757.986,817319.6884999999,711936.0449999999,711936.0449999999,525823.24041,752019.9893999998,1117817.3669599998,1949681.4539999997,553338.1650399999,703742.1629199999,708530.34,708530.34,708530.34,708530.34,2140554.3753,2140554.3753 +5853600.0,883535.6160000002,763790.0280000002,2230266.8817600003,831959.73377,831959.73377,831959.73377,1020283.9500000001,1681273.91496,2893855.73056,1435142.2180199998,2186883.37984,855553.2690000001,855553.2690000001,855553.2690000001,1144185.0315,883535.6160000002,883535.6160000002,798787.10405,1114738.98165,1656970.04186,2890064.0265,820227.6951400001,1043175.4914700001,948992.274,948992.274,948992.274,948992.274,2656497.08544,2656497.08544 +5857200.0,901800.1020000002,772409.7180000001,2255436.3765600002,995995.53636,995995.53636,995995.53636,1029858.9349999999,1693623.2548800001,2961319.71648,1453609.66023,2215024.2441600002,864038.0190000001,864038.0190000001,864038.0190000001,1151832.101,901800.1020000002,901800.1020000002,857515.65042,1120736.1689999998,1665884.3795999999,2905612.29,824640.4404,1048787.6742,965312.2710000002,965312.2710000002,965312.2710000002,965312.2710000002,2711412.3066800004,2711412.3066800004 +5860800.0,880776.0389999999,773241.585,2257865.4282,990172.1722200001,990172.1722200001,990172.1722200001,993121.7309999999,1655391.51384,2885617.1008,1414016.7591900004,2154692.2044800003,844353.927,844353.927,844353.927,1116871.4725000001,880776.0389999999,880776.0389999999,939668.0021299998,1098471.55725,1632789.8209000002,2847889.2225000006,808258.0841000001,1027952.3955500001,957825.6299999999,957825.6299999999,957825.6299999999,957825.6299999999,2648199.9572599996,2648199.9572599996 +5864400.0,812232.411,697792.458,2037553.97736,795672.03298,795672.03298,795672.03298,746797.0195,1381252.17272,2121221.6153599997,1137478.09896,1733299.96032,646035.324,646035.324,646035.324,864383.8910000001,812232.411,812232.411,960630.69882,864608.7906,1285171.58504,2241578.346,636181.28296,809103.04108,824858.145,824858.145,824858.145,824858.145,2442112.11574,2442112.11574 +5868000.0,364079.961,256136.25,747917.85,395203.36141,395203.36141,395203.36141,309358.224,658619.59552,845059.6640000001,505539.82289999997,770346.3968,272565.59400000004,272565.59400000004,272565.59400000004,374382.967,364079.961,364079.961,582097.79212,190083.9717,282544.57028,492810.29699999996,139864.25572,177881.05006,437882.83200000005,437882.83200000005,437882.83200000005,437882.83200000005,1094667.08274,1094667.08274 +5871600.0,126828.723,94043.106,274605.86951999995,108176.07416,108176.07416,108176.07416,58741.291,250567.7112,638555.5232,222231.86454000004,338639.0316800001,155141.28900000002,155141.28900000002,155141.28900000002,102540.06,126828.723,126828.723,196552.98285999996,77300.09415,114900.38686000001,200407.65150000004,56877.60014000001,72337.61897000001,125289.61499999999,125289.61499999999,125289.61499999999,125289.61499999999,381331.69382,381331.69382 +5875200.0,122256.50699999998,94244.18400000001,275193.01728000003,84993.90768,84993.90768,84993.90768,37915.6435,252819.05456,635115.4848000001,228163.45713000002,347677.64896,152583.153,152583.153,152583.153,97623.7535,122256.50699999998,122256.50699999998,194582.69142,70255.73475,104429.5119,182144.4975,51694.343100000006,65745.49005000001,121323.255,121323.255,121323.255,121323.255,367584.56437999994,367584.56437999994 +5878800.0,131518.962,111041.64300000001,324241.59756,82304.96857,82304.96857,82304.96857,40996.3365,275529.62903999997,654153.73312,237696.51506999996,362204.21343999996,164422.947,164422.947,164422.947,98543.84049999999,131518.962,131518.962,200539.73692999996,79797.36465,118612.37905999999,206882.0565,58715.09794,74674.57087,128552.751,128552.751,128552.751,128552.751,395433.67908000003,395433.67908000003 +5882400.0,136399.197,114786.47399999999,335176.5040799999,77327.24461000001,77327.24461000001,77327.24461000001,39923.9155,274510.94616,663991.4508800001,244170.48768000002,372069.31456,174557.118,174557.118,174557.118,97283.84749999999,136399.197,136399.197,221127.49893,82378.7415,122449.38859999999,213574.515,60614.4814,77090.2297,132632.95799999998,132632.95799999998,132632.95799999998,132632.95799999998,410106.91897999996,410106.91897999996 +5886000.0,142606.935,127312.48499999999,371752.45619999996,90056.05158000001,90056.05158000001,90056.05158000001,52757.1275,279443.76055999997,686615.4752000001,274475.15382,418247.85344,199925.92500000002,199925.92500000002,199925.92500000002,102011.18549999999,142606.935,142606.935,229670.74195,90814.72545,134988.80177999998,235445.5845,66821.69922,84984.64431,161847.52500000002,161847.52500000002,161847.52500000002,161847.52500000002,428771.51790000004,428771.51790000004 +5889600.0,165099.67200000002,151999.94100000002,443839.82772,117113.76567,117113.76567,117113.76567,61363.3825,301074.15112,725620.56896,295762.79922,450686.17024,255896.91599999997,255896.91599999997,255896.91599999997,133608.9685,165099.67200000002,165099.67200000002,239613.14181999996,107352.0459,159570.20156,278320.119,78989.90044,100460.30962,205493.592,205493.592,205493.592,205493.592,496399.68048,496399.68048 +5893200.0,198677.17500000002,169151.193,493921.48355999996,131281.28508,131281.28508,131281.28508,72199.925,361348.98968,746856.7296000001,327569.42147999996,499153.40416,300694.17,300694.17,300694.17,196970.5535,198677.17500000002,198677.17500000002,262110.57001999996,124783.28639999998,185480.34175999998,323512.224,91815.85024,116772.50752,250028.07299999997,250028.07299999997,250028.07299999997,250028.07299999997,597356.0395000001,597356.0395000001 +5896800.0,266280.252,193172.376,564063.33792,227204.60389,227204.60389,227204.60389,152214.307,501391.82759999996,800914.9996800002,426349.34055,649675.1856000001,345023.577,345023.577,345023.577,233942.8525,266280.252,266280.252,299019.14783,166222.1979,247075.95836000002,430946.439,122306.70364,155551.14322000003,324432.519,324432.519,324432.519,324432.519,800615.95768,800615.95768 +5900400.0,1012015.8929999999,1027056.111,2999003.84412,1006106.4135100001,1006106.4135100001,1006106.4135100001,1060119.2455,1564960.61472,1460728.0083200003,1277761.85061,1947065.6771200001,634881.8010000001,634881.8010000001,634881.8010000001,1599052.1679999998,1012015.8929999999,1012015.8929999999,1809050.00432,547411.5877500001,813683.3971000001,1419215.2275,402786.7979,512269.11545000004,1336805.2200000002,1336805.2200000002,1336805.2200000002,1336805.2200000002,3042794.45162,3042794.45162 +5904000.0,1567843.746,1500026.814,4380078.29688,2001633.2975100002,2001633.2975100002,2001633.2975100002,1489729.1885000002,2350568.68008,2439115.34848,2366452.2886200002,3606022.5350400005,908350.293,908350.293,908350.293,1262681.3045,1567843.746,1567843.746,1795771.77806,1256188.7835,1867223.8214,3256785.735,924306.8086,1175544.5653000001,1705413.264,1705413.264,1705413.264,1705413.264,4713983.529639999,4713983.529639999 +5907600.0,1739721.396,1594588.0919999997,4656197.228639999,1667977.2819600003,1667977.2819600003,1667977.2819600003,1655684.604,2930340.76536,6944654.387200001,2163648.85758,3296988.7353600003,1883818.545,1883818.545,1883818.545,1717113.412,1739721.396,1739721.396,1199230.79211,2554961.0773499995,3797744.6137399995,6623973.1635,1879946.6692599999,2390938.8847299996,1277030.994,1277030.994,1277030.994,1277030.994,5230762.330639999,5230762.330639999 +5911200.0,1299639.114,983459.1479999998,2871700.7121599996,1083115.0992200002,1083115.0992200002,1083115.0992200002,1966269.1615,2599358.54344,4505912.288,2536825.3077300005,3865638.5641600005,1709302.926,1709302.926,1709302.926,1933281.0909999998,1299639.114,1299639.114,1374408.73622,2275360.0488,3382140.12192,5899081.608,1674215.5420799998,2129287.55184,1468950.393,1468950.393,1468950.393,1468950.393,3907581.6027599997,3907581.6027599997 +5914800.0,966975.798,697936.2779999999,2037973.9317599998,1059409.32724,1059409.32724,1059409.32724,1478427.6815000002,2634785.7529599997,4610683.783040001,1844754.6957000003,2811054.7744000005,854784.048,854784.048,854784.048,1623496.9764999999,966975.798,966975.798,628522.74329,1436755.3686,2135621.56024,3724921.3260000004,1057168.14776,1344519.22148,1044198.36,1044198.36,1044198.36,1044198.36,2907373.89932,2907373.89932 +5918400.0,746991.9180000001,625643.796,1826879.88432,618269.47534,618269.47534,618269.47534,944942.0819999999,1855015.59104,2059072.9337600002,1364302.4675699999,2078937.09344,701723.9820000001,701723.9820000001,701723.9820000001,949338.2465,746991.9180000001,746991.9180000001,551471.97859,919758.1104,1367146.62336,2384558.0640000002,676760.28864,860711.91072,754035.327,754035.327,754035.327,754035.327,2245955.70012,2245955.70012 +5922000.0,481375.062,369846.729,1079952.44868,282356.70584000007,282356.70584000007,282356.70584000007,464926.48999999993,952210.0552800001,1324210.6643200002,755305.54197,1150941.7782400001,434828.8169999999,434828.8169999999,434828.8169999999,560664.426,481375.062,481375.062,348957.90501,490297.80735,728788.34574,1271142.4635,360762.33726,458821.89873,486693.6269999999,486693.6269999999,486693.6269999999,486693.6269999999,1447334.3530799998,1447334.3530799998 +5925600.0,426678.792,321954.579,940107.3706799999,173305.49621,173305.49621,173305.49621,398644.3265,850418.4289599999,1150321.8476800001,635027.48127,967660.92384,397820.481,397820.481,397820.481,461181.42350000003,426678.792,426678.792,285190.05151,412248.70214999997,612774.6140599999,1068792.9315,303333.61294,385783.35337,404618.217,404618.217,404618.217,404618.217,1282880.9012799999,1282880.9012799999 +5929200.0,413103.012,305414.442,891810.1706399999,124396.81496000002,124396.81496000002,124396.81496000002,366968.301,828469.7992800002,1099274.36736,600386.8226999999,914875.1584,389981.37,389981.37,389981.37,438655.30449999997,413103.012,413103.012,259376.31109,380791.9431,566016.66604,987238.371,280187.65196,356346.04058000003,383516.46599999996,383516.46599999996,383516.46599999996,383516.46599999996,1242063.0560799998,1242063.0560799998 +5932800.0,472212.048,363821.889,1062359.91588,196586.76719,196586.76719,196586.76719,447840.61699999997,938813.1069599999,1329822.5030400003,702945.37152,1071154.8518400001,449724.05999999994,449724.05999999994,449724.05999999994,529289.1625,472212.048,472212.048,330871.61237,476090.01855,707669.6078199999,1234307.4555,350308.21118,445526.21489,456513.08400000003,456513.08400000003,456513.08400000003,456513.08400000003,1419784.22432,1419784.22432 +5936400.0,957526.5210000002,845018.0849999998,2467452.8081999994,915947.8752600001,915947.8752600001,915947.8752600001,1056463.2015,1885276.3803199998,3250865.38112,1549863.9867899998,2361697.50368,960908.6160000002,960908.6160000002,960908.6160000002,1246510.79,957526.5210000002,957526.5210000002,868498.28494,1201489.60905,1785917.88802,3114973.0605,884059.02098,1124356.94279,1035080.1600000001,1035080.1600000001,1035080.1600000001,1035080.1600000001,2878963.0731400005,2878963.0731400005 +5940000.0,1024362.3570000001,916485.7109999999,2676138.2761199996,1148590.95153,1148590.95153,1148590.95153,1163107.8235,2050720.80048,3565099.18016,1666572.5953799998,2539539.1929599997,1033879.923,1033879.923,1033879.923,1332388.2285,1024362.3570000001,1024362.3570000001,1049843.33207,1311531.8958,1949486.91672,3400267.878,965028.40728,1227334.7864400002,1126034.9130000002,1126034.9130000002,1126034.9130000002,1126034.9130000002,3079916.15338,3079916.15338 +5943600.0,1027135.395,918320.934,2681497.12728,1177423.27516,1177423.27516,1177423.27516,1166500.076,2055860.65456,3625485.2256,1689667.0181999998,2574730.6944,1039256.5319999999,1039256.5319999999,1039256.5319999999,1336023.3424999998,1027135.395,1027135.395,1171287.4145699998,1315985.73345,1956107.1889799999,3411814.8645,968305.5520200001,1231502.6987100001,1139507.0489999999,1139507.0489999999,1139507.0489999999,1139507.0489999999,3088253.7543,3088253.7543 +5947200.0,1011490.122,904897.899,2642301.86508,1151468.527,1151468.527,1151468.527,1137437.4585,2016219.1784,3563518.4032000005,1661102.62521,2531204.00032,1021502.1659999999,1021502.1659999999,1021502.1659999999,1309739.6375,1011490.122,1011490.122,1189616.41019,1292099.0724,1920601.58416,3349886.484,950729.68784,1209149.50232,1121284.563,1121284.563,1121284.563,1121284.563,3041213.63348,3041213.63348 +5950800.0,914053.9140000001,778051.7069999999,2271910.98444,891909.42148,891909.42148,891909.42148,828552.3995,1590404.96912,2441419.76512,1324845.95607,2018812.88544,754785.8430000001,754785.8430000001,754785.8430000001,980269.2969999999,914053.9140000001,914053.9140000001,1136241.7545699999,975083.56875,1449383.4774999998,2527994.4375,717468.8975,912485.61125,932836.2,932836.2,932836.2,932836.2,2748255.43476,2748255.43476 +5954400.0,407331.80700000003,289681.377,845869.62084,464812.51850000006,464812.51850000006,464812.51850000006,339158.8025,763971.75888,979818.21248,619028.67621,943281.7923199999,331756.96200000006,331756.96200000006,331756.96200000006,421264.89999999997,407331.80700000003,407331.80700000003,649561.6063299999,214839.39015,319341.51326,556991.0115,158079.35374,201047.23176999998,493382.217,493382.217,493382.217,493382.217,1224710.9663799999,1224710.9663799999 +5958000.0,143947.575,105461.817,307948.50564,147851.10164,147851.10164,147851.10164,62344.334500000004,302628.11671999993,734752.5120000001,274257.12279,417915.61568,198952.479,198952.479,198952.479,115844.81300000001,143947.575,143947.575,222362.23074,88230.23009999999,131147.15683999998,228745.04099999997,64920.02116,82566.06718,148558.608,148558.608,148558.608,148558.608,432802.37549999997,432802.37549999997 +5961600.0,143996.478,115032.42899999999,335894.69268,127924.89038999999,127924.89038999999,127924.89038999999,45155.9045,324185.95696,751242.97984,270722.67852,412529.79584000004,206582.343,206582.343,206582.343,112566.559,143996.478,143996.478,224941.58842999997,84505.49775,125610.6411,219088.3275,62179.3539,79080.45345,147131.98500000002,147131.98500000002,147131.98500000002,147131.98500000002,432949.41052,432949.41052 +5965200.0,155091.468,147007.95299999998,429263.22276,125360.37932000001,125360.37932000001,125360.37932000001,50249.167499999996,335982.4124,778528.8339200001,281973.16371000005,429673.39232000004,209797.566,209797.566,209797.566,112515.40999999999,155091.468,155091.468,237571.14289999998,97101.09495,144332.98558,251743.57950000002,71447.22542,90867.44441000001,152082.81,152082.81,152082.81,152082.81,466308.34712,466308.34712 +5968800.0,161469.363,161149.881,470557.65252,126294.79027000001,126294.79027000001,126294.79027000001,56724.01,335237.88831999997,810380.46912,302962.77879,461657.56768000004,230115.84,230115.84,230115.84,112207.1265,161469.363,161469.363,260871.49958999996,102131.9928,151811.01152,264786.64800000004,75148.97248000001,95575.37104000001,188326.824,188326.824,188326.824,188326.824,485484.55142,485484.55142 +5972400.0,182556.996,171646.815,501208.6998,135028.29395000002,135028.29395000002,135028.29395000002,65094.20749999999,350085.22984,828050.98176,333082.24824,507553.90207999997,292198.971,292198.971,292198.971,135969.883,182556.996,182556.996,267858.47192,118403.2161,175996.87923999998,306971.30100000004,87121.37876,110802.02198,237139.827,237139.827,237139.827,237139.827,548888.03464,548888.03464 +5976000.0,223686.46200000003,197584.173,576945.78516,145639.39445000002,145639.39445000002,145639.39445000002,73419.108,430158.7896799999,862935.40608,373089.38456999994,568517.15744,352776.183,352776.183,352776.183,223821.05200000003,223686.46200000003,223686.46200000003,298781.39915,141921.40814999997,210954.78445999997,367944.39149999997,104426.12254,132810.40417,292049.232,292049.232,292049.232,292049.232,672550.6290800001,672550.6290800001 +5979600.0,274742.634,213051.40499999997,622110.1026,158454.78253000003,158454.78253000003,158454.78253000003,81081.497,536362.3199199999,898095.9321600002,434051.37930000003,661411.6256,381697.149,381697.149,381697.149,231507.8605,274742.634,274742.634,319756.84715,156277.8522,232294.48648,405164.802,114989.62952000002,146245.19996000003,352078.644,352078.644,352078.644,352078.644,826059.51956,826059.51956 +5983200.0,439521.033,251068.719,733120.65948,262166.8603400001,262166.8603400001,262166.8603400001,159340.139,1000458.3599199998,1078004.7942400002,673706.8023000001,1026600.8416000003,421212.789,421212.789,421212.789,355215.4445,439521.033,439521.033,536412.97489,227151.6696,337642.72864,588911.736,167138.75936,212569.09328,469662.591,469662.591,469662.591,469662.591,1321493.2392199999,1321493.2392199999 +5986800.0,1147043.0520000001,561987.408,1641003.2313599999,1574007.8846800001,1574007.8846800001,1574007.8846800001,1358511.2485,3259788.3812799994,3846199.22304,2734919.72544,4167496.7244800003,1096526.124,1096526.124,1096526.124,1527403.9095,1147043.0520000001,1147043.0520000001,2451224.25392,1494749.7850499998,2221825.6064199996,3875277.2204999994,1099840.58258,1398790.5395899997,1419024.441,1419024.441,1419024.441,1419024.441,3448776.1096799998,3448776.1096799998 +5990400.0,728953.263,943578.3329999999,2755248.73236,1446152.4854700002,1446152.4854700002,1446152.4854700002,1645567.9065,3515180.43472,2010412.4384000003,2452630.74252,3737342.08384,912236.298,912236.298,912236.298,1243911.4415000002,728953.263,728953.263,1780714.2462199996,1720722.3417,2557715.67828,4461131.997,1266111.74772,1610256.2160600002,1061490.783,1061490.783,1061490.783,1061490.783,2191719.47742,2191719.47742 +5994000.0,1686001.017,1760327.9220000003,5140157.532240001,836106.27826,836106.27826,836106.27826,1404285.855,3432067.54616,5525087.290240001,2710373.36115,4130092.7407999993,1489836.687,1489836.687,1489836.687,1034187.1470000001,1686001.017,1686001.017,1905913.7121699997,1240344.2479499998,1843672.1907799998,3215707.3095,912648.3602199999,1160717.20981,1866948.345,1866948.345,1866948.345,1866948.345,5069243.05778,5069243.05778 +5997600.0,1127931.099,850728.435,2484127.0302,418918.92988,418918.92988,418918.92988,445040.81999999995,1611371.29328,5806069.480960001,757791.70719,1154730.2204800001,1114399.32,1114399.32,1114399.32,1060119.4135,1127931.099,1127931.099,1224414.77366,1797338.26935,2671599.10654,4659765.8835,1322485.93646,1681953.59033,650315.9130000001,650315.9130000001,650315.9130000001,650315.9130000001,3391312.8376599997,3391312.8376599997 +6001200.0,575587.998,511583.40599999996,1493823.54552,184896.33932000003,184896.33932000003,184896.33932000003,356436.745,1037499.04464,2390068.28672,627964.44669,956898.2044800001,427837.845,427837.845,427837.845,342147.52249999996,575587.998,575587.998,509199.02904,505768.32945,751784.03538,1311251.2245,372145.58562,473299.25151000003,423563.355,423563.355,423563.355,423563.355,1730601.2473199998,1730601.2473199998 +6004800.0,650296.08,1070906.0219999999,3127045.5842399998,393237.87294000003,393237.87294000003,393237.87294000003,783297.9979999999,1465984.9488,2218460.65792,1081444.81977,1647915.9158400001,579044.232,579044.232,579044.232,905616.397,650296.08,650296.08,634429.1876000001,647493.7702499998,962447.5300999997,1678687.5524999998,476427.51489999995,605926.2689499999,619952.049,619952.049,619952.049,619952.049,1955223.5471999997,1955223.5471999997 +6008400.0,467233.52100000007,461269.6769999999,1346907.4568399999,287144.42592000007,287144.42592000007,287144.42592000007,596068.2104999999,986959.4393600001,1378974.2630399999,657252.47994,1001527.5884799999,420878.364,420878.364,420878.364,400118.3095,467233.52100000007,467233.52100000007,459616.2984399999,430495.4547,639896.94748,1116099.327,316759.61852,402858.70946,410287.88399999996,410287.88399999996,410287.88399999996,410287.88399999996,1404815.45314,1404815.45314 +6012000.0,294583.74600000004,223564.206,652807.48152,82418.88787,82418.88787,82418.88787,187318.6665,644093.7168,784051.88096,365913.15411,557581.94912,258525.60900000003,258525.60900000003,258525.60900000003,175774.1825,294583.74600000004,294583.74600000004,305199.55049999995,210934.21409999998,313536.78244,546866.4809999999,155205.91556,197392.75837999998,246664.67699999997,246664.67699999997,246664.67699999997,246664.67699999997,885715.12964,885715.12964 +6015600.0,450837.042,368861.46300000005,1077075.47196,730636.5831600002,730636.5831600002,730636.5831600002,704103.827,963248.7356799999,743903.8649599999,824552.5419600001,1256461.0163200002,326390.799,326390.799,326390.799,800148.6605000001,450837.042,450837.042,701477.68236,559190.04075,831191.1223,1449751.9575000003,411453.41270000004,523291.42085000005,286879.521,286879.521,286879.521,286879.521,1355516.7062799998,1355516.7062799998 +6019200.0,395102.052,779194.608,2275248.25536,414164.93382000003,414164.93382000003,414164.93382000003,532610.8445,1266308.69704,1031521.9417600002,628179.41067,957225.76864,449643.78899999993,449643.78899999993,449643.78899999993,906904.3829999999,395102.052,395102.052,883855.2681399998,556215.0686999998,826769.0650799997,1442039.0669999998,409264.42091999995,520507.4346599999,470648.42400000006,470648.42400000006,470648.42400000006,470648.42400000006,1187940.16968,1187940.16968 +6022800.0,712816.392,857134.3559999999,2502832.31952,694527.10767,694527.10767,694527.10767,855445.059,1843986.05608,2645129.42144,1243469.18871,1894810.19232,755181.222,755181.222,755181.222,1066733.948,712816.392,712816.392,832134.34343,929697.72975,1381921.0699,2410327.4475000002,684073.8851000001,870013.4310500001,778305.0689999999,778305.0689999999,778305.0689999999,778305.0689999999,2143201.2852799995,2143201.2852799995 +6026400.0,2023382.508,1738528.548,5076503.36016,3003222.33662,3003222.33662,3003222.33662,2801350.524,3310244.1650399994,6019685.17056,3520696.01793,5364870.12256,2195681.904,2195681.904,2195681.904,2694683.5755,2023382.508,2023382.508,2243394.61086,2636521.57305,3918977.7456199997,6835426.3005,1939959.08338,2467263.39799,2304047.913,2304047.913,2304047.913,2304047.913,6083636.74072,6083636.74072 +6030000.0,1392114.537,856544.661,2501110.4101199997,1338311.38859,1338311.38859,1338311.38859,1406596.8595,2345332.92736,3690955.99552,1936616.7989700001,2951035.12224,1219127.781,1219127.781,1219127.781,1465345.1155,1392114.537,1392114.537,1072590.5772399998,1420775.0729999999,2111868.1331999996,3683490.9299999997,1045409.8067999999,1329564.8214,1334658.6,1334658.6,1334658.6,1334658.6,4185624.37458,4185624.37458 +6033600.0,1094471.742,851829.4139999999,2487341.8888799995,1147171.08726,1147171.08726,1147171.08726,1100967.098,1897721.8875199999,3526289.3824,1603075.35297,2442781.49024,1002919.5899999999,1002919.5899999999,1002919.5899999999,1340818.1745,1094471.742,1094471.742,1169972.4134799999,1308615.34095,1945151.6919800001,3392706.4395000003,962882.3990200001,1224605.4672100001,1139226.54,1139226.54,1139226.54,1139226.54,3290711.70428,3290711.70428 +6037200.0,1005057.4110000001,868361.6880000001,2535616.12896,1136866.77522,1136866.77522,1136866.77522,1140607.0969999998,1878854.44184,3570650.8307200004,1621839.33786,2471374.2291200003,1004910.633,1004910.633,1004910.633,1342053.2965,1005057.4110000001,1005057.4110000001,1205033.50396,1315779.0659999999,1955799.9943999997,3411279.0599999996,968153.4855999999,1231309.2988,1138778.673,1138778.673,1138778.673,1138778.673,3021872.6157400003,3021872.6157400003 +6040800.0,723607.131,638330.826,1863926.01192,753201.5870500001,753201.5870500001,753201.5870500001,635562.0915,1003942.43384,2270662.3212800003,957305.18856,1458750.76352,551066.379,551066.379,551066.379,689650.0660000001,723607.131,723607.131,876229.3546499999,633226.8676499999,941240.9242599999,1641699.2865,465929.89274,592575.26627,734923.71,734923.71,734923.71,734923.71,2175645.44054,2175645.44054 +6044400.0,129685.332,118338.30299999999,345547.84475999995,130541.06604,130541.06604,130541.06604,66471.3,220333.7684,848746.41728,236166.34209000002,359872.52128000004,197753.13300000003,197753.13300000003,197753.13300000003,126731.255,129685.332,129685.332,250716.02633999995,96133.25834999999,142894.37414,249234.3735,70735.08886,89961.74053,154208.001,154208.001,154208.001,154208.001,389920.56487999996,389920.56487999996 +6048000.0,125609.916,114943.74299999999,335635.72955999995,104813.28143,104813.28143,104813.28143,44899.29149999999,227013.86407999997,821254.5939200001,259633.18206,395631.51552,189750.84600000002,189750.84600000002,189750.84600000002,119037.54099999998,125609.916,125609.916,242774.8895,88092.10889999999,130941.85075999999,228386.949,64818.39124,82436.81302,153096.081,153096.081,153096.081,153096.081,377667.14744,377667.14744 +6051600.0,136919.83800000002,132115.395,385776.95339999994,98878.79408,98878.79408,98878.79408,48275.604999999996,255290.96303999997,810011.9417600002,265789.45659,405012.50528000004,186214.251,186214.251,186214.251,116624.05299999999,136919.83800000002,136919.83800000002,259131.22715999995,91367.79749999999,135810.89899999998,236879.47499999998,67228.651,85502.21049999999,160255.113,160255.113,160255.113,160255.113,411672.31292,411672.31292 +6055200.0,146289.285,138479.97,404361.51239999995,94342.08311,94342.08311,94342.08311,50230.603500000005,320566.74544,802875.2601600001,305552.6103,465603.97760000004,188291.049,188291.049,188291.049,114746.37299999999,146289.285,146289.285,270339.57574,105521.63220000001,156849.43848,273574.602,77643.07752,98747.40396000001,183626.397,183626.397,183626.397,183626.397,439843.11689999996,439843.11689999996 +6058800.0,186253.149,153341.388,447756.85296,107594.85374,107594.85374,107594.85374,70006.4365,355897.05768,800139.7670400001,333402.2937,508041.59040000004,273922.857,273922.857,273922.857,167320.8285,186253.149,186253.149,275131.59114999993,123829.9812,184063.33007999999,321040.692,91114.40592,115880.40216,251114.373,251114.373,251114.373,251114.373,560001.13466,560001.13466 +6062400.0,222240.765,163393.521,477109.08132000006,130470.19106,130470.19106,130470.19106,73140.08099999999,431649.6424,802161.6192000001,369710.36487,563368.17504,331098.525,331098.525,331098.525,212757.9125,222240.765,222240.765,296344.41264999995,136597.82085000002,203041.69914,354142.49850000005,100509.01386,127828.57803000002,280016.24100000004,280016.24100000004,280016.24100000004,280016.24100000004,668203.9001,668203.9001 +6066000.0,258527.84100000001,201971.00700000004,589755.34044,145268.00288000001,145268.00288000001,145268.00288000001,80447.2235,492087.83744,822336.0224000001,416198.73813,634207.6009600001,359182.81200000003,359182.81200000003,359182.81200000003,226638.461,258527.84100000001,258527.84100000001,316467.85091999994,154184.05890000003,229182.23076000003,399736.4490000001,113449.01124000002,144285.82302,341280.627,341280.627,341280.627,341280.627,777307.0419399999,777307.0419399999 +6069600.0,441287.57999999996,250708.749,732069.5470799999,259341.2954,259341.2954,259341.2954,159719.231,996484.1406399999,992296.00576,678649.54416,1034132.63872,412907.904,412907.904,412907.904,354738.49950000003,441287.57999999996,441287.57999999996,529658.8209899999,215618.5494,320499.67095999996,559011.054,158652.66104,201776.37092000002,473501.16300000006,473501.16300000006,473501.16300000006,473501.16300000006,1326804.6571999998,1326804.6571999998 +6073200.0,1152149.325,537242.472,1568748.01824,1565533.6929100002,1565533.6929100002,1565533.6929100002,1382310.888,3255032.0984,3762087.9776,2745593.90952,4183762.14784,1065286.308,1065286.308,1065286.308,1542104.165,1152149.325,1152149.325,2459842.76863,1450830.0825,2156542.493,3761411.325,1067524.357,1357690.3735,1423433.061,1423433.061,1423433.061,1423433.061,3464128.9704999994,3464128.9704999994 +6076800.0,721468.47,943723.3049999999,2755672.0505999997,1388913.14914,1388913.14914,1388913.14914,1625363.341,3507115.0501599996,1985991.41888,2445962.5459499997,3727181.0224,899837.2080000001,899837.2080000001,899837.2080000001,1218428.1549999998,721468.47,721468.47,1773857.7259,1710930.13425,2543160.3477,4435744.7925,1258906.6173,1601092.64415,1058593.314,1058593.314,1058593.314,1058593.314,2169215.1997999996,2169215.1997999996 +6080400.0,1646602.7970000003,1697105.088,4955546.85696,792257.9297600001,792257.9297600001,792257.9297600001,1266755.364,3285789.4979199995,5266964.50176,2565927.51639,3909984.78688,1428951.687,1428951.687,1428951.687,959674.758,1646602.7970000003,1646602.7970000003,1291465.90911,1143629.2597499997,1699913.1218999997,2964964.7474999996,841485.2331,1070211.0850499999,1818764.4450000003,1818764.4450000003,1818764.4450000003,1818764.4450000003,4950785.742980001,4950785.742980001 +6084000.0,1086941.4989999998,773149.674,2257597.0480799996,405368.9108700001,405368.9108700001,405368.9108700001,440121.465,1457091.46976,5608160.05056,713517.4397400001,1087264.67008,1056450.3599999999,1056450.3599999999,1056450.3599999999,1033723.971,1086941.4989999998,1086941.4989999998,1154361.55367,1775460.3110999998,2639079.2772399997,4603045.251,1306388.08076,1661480.14298,602712.8369999999,602712.8369999999,602712.8369999999,602712.8369999999,3268070.7736599995,3268070.7736599995 +6087600.0,558260.8979999999,465470.754,1359174.60168,182296.95649,182296.95649,182296.95649,341453.22750000004,983173.96888,2181554.06592,603549.70956,919694.7955199999,398025.204,398025.204,398025.204,322954.8525,558260.8979999999,558260.8979999999,486065.1368299999,489705.11415,727907.35486,1269605.8514999999,360326.23214,458267.25496999995,407532.96599999996,407532.96599999996,407532.96599999996,407532.96599999996,1678504.4333199998,1678504.4333199998 +6091200.0,640423.677,1061799.252,3100453.8158400003,374334.78643000004,374334.78643000004,374334.78643000004,782185.7995,1437997.4788,2183046.11648,1071729.79641,1633112.07072,562133.976,562133.976,562133.976,892712.4184999999,640423.677,640423.677,627312.66273,640424.07405,951938.99402,1660358.7105,471225.61498,599310.4297900001,611681.8200000001,611681.8200000001,611681.8200000001,611681.8200000001,1925540.52218,1925540.52218 +6094800.0,447443.46900000004,421180.4339999999,1229846.8672799997,280111.94617999997,280111.94617999997,280111.94617999997,579687.9655,925728.8731200001,1276200.9561600003,622018.5717900001,947837.8236800001,386614.914,386614.914,386614.914,376811.86549999996,447443.46900000004,447443.46900000004,428996.58399,402300.5616,597987.50144,1043001.4560000001,296013.74656,376473.85888,386334.216,386334.216,386334.216,386334.216,1345313.36346,1345313.36346 +6098400.0,310583.244,240108.56399999998,701117.0068799999,85263.31319000002,85263.31319000002,85263.31319000002,209040.1425,663498.74616,844344.1952000002,396957.75693,604888.01056,266891.556,266891.556,266891.556,192833.0775,310583.244,310583.244,318387.38243,237063.81780000002,352376.34152,614609.898,174432.14248,221844.90604000003,265027.524,265027.524,265027.524,265027.524,933820.28696,933820.28696 +6102000.0,425984.99100000004,339749.59500000003,992068.8174,742625.80194,742625.80194,742625.80194,676920.867,889972.83072,622905.76384,780271.62843,1188985.33856,286950.60000000003,286950.60000000003,286950.60000000003,767094.013,425984.99100000004,425984.99100000004,666371.77711,523924.56044999993,778771.81578,1358322.9345,385504.98522,490289.89731,256879.818,256879.818,256879.818,256879.818,1280794.87294,1280794.87294 +6105600.0,359027.559,738646.1129999999,2156846.6499599996,397450.44911,397450.44911,397450.44911,491177.01149999996,1161573.96184,850107.04832,559608.37884,852736.5772800001,392965.32300000003,392965.32300000003,392965.32300000003,853811.203,359027.559,359027.559,839230.3247899999,503683.85925,748685.6377,1305847.0425,370611.8273,471348.59914999997,427151.373,427151.373,427151.373,427151.373,1079476.19406,1079476.19406 +6109200.0,686415.399,823899.3840000001,2405786.20128,660386.97494,660386.97494,660386.97494,820055.145,1760233.1385599999,2513842.02816,1187038.6178700002,1808820.7510400002,710344.032,710344.032,710344.032,1020091.8034999999,686415.399,686415.399,794430.5716099999,886233.92355,1317315.60982,2297643.5055,652093.10918,829339.89389,745126.6950000001,745126.6950000001,745126.6950000001,745126.6950000001,2063822.29966,2063822.29966 +6112800.0,2005182.435,1717265.7029999997,5014415.852759999,2974913.6551200002,2974913.6551200002,2974913.6551200002,2778270.6875,3264140.8690400003,5819174.343040001,3485707.5945300004,5311554.429760001,2169595.944,2169595.944,2169595.944,2628896.2455,2005182.435,2005182.435,2300131.0909199994,2588638.9941,3847804.1344399997,6711286.2809999995,1904726.9635599998,2422454.7623799997,2281566.984,2281566.984,2281566.984,2281566.984,6028915.1879,6028915.1879 +6116400.0,1372081.059,834057.897,2435449.05924,1309820.7984399998,1309820.7984399998,1309820.7984399998,1386295.197,2262512.70456,3554768.02176,1884270.4761299998,2871269.29696,1192375.74,1192375.74,1192375.74,1425925.473,1372081.059,1372081.059,1048006.2391499999,1385759.52225,2059820.3268999998,3592709.8724999996,1019645.2780999999,1296797.1825499998,1305665.895,1305665.895,1305665.895,1305665.895,4125390.3840599996,4125390.3840599996 +6120000.0,1113536.31,872820.189,2548634.95188,1177260.0071100001,1177260.0071100001,1177260.0071100001,1129429.6230000001,1939696.41448,3610682.03904,1639969.90689,2499001.7628800003,1028393.7119999999,1028393.7119999999,1028393.7119999999,1377194.42,1113536.31,1113536.31,1207152.87173,1341402.55335,1993887.2521399998,3477710.3235,987007.31086,1255287.8215299998,1165617.849,1165617.849,1165617.849,1165617.849,3348032.5054,3348032.5054 +6123600.0,1009927.584,872505.8700000001,2547717.1404000004,1147543.6184299998,1147543.6184299998,1147543.6184299998,1146421.6014999999,1885151.0656,3574801.3984000003,1630877.82795,2485147.1664,1008730.0560000001,1008730.0560000001,1008730.0560000001,1349705.0280000002,1009927.584,1009927.584,1212893.3421799997,1322279.60355,1965462.52182,3428132.3055000002,972936.59718,1237392.51789,1144388.316,1144388.316,1144388.316,1144388.316,3036515.6025599996,3036515.6025599996 +6127200.0,711135.1799999999,622850.568,1818723.65856,743021.00708,743021.00708,743021.00708,625183.9755000001,973985.9728000001,2199803.1008,935564.1655500002,1425621.5856,536038.7819999999,536038.7819999999,536038.7819999999,674341.4404999999,711135.1799999999,711135.1799999999,861266.9453699999,618180.1335,918875.1614,1602689.235,454858.4686,578494.4953000001,720485.6070000001,720485.6070000001,720485.6070000001,720485.6070000001,2138146.4412,2138146.4412 +6130800.0,121778.646,109522.16700000002,319804.72764,123498.85493,123498.85493,123498.85493,64127.007,203890.46,771254.54208,217029.33146999998,330711.36224,181094.649,181094.649,181094.649,117272.106,121778.646,121778.646,230176.89825,88912.42020000001,132161.17768,230513.682,65421.97832,83204.46236,143145.465,143145.465,143145.465,143145.465,366147.79563999997,366147.79563999997 +6134400.0,118750.66199999998,107559.58499999999,314073.98819999996,99541.14588000001,99541.14588000001,99541.14588000001,43138.095,210947.25904,762371.6204799999,238479.60297,363397.49024,176979.51299999998,176979.51299999998,176979.51299999998,111402.4765,118750.66199999998,118750.66199999998,227358.72405999998,82092.0015,122023.17259999999,212831.11500000002,60403.4974,76821.8977,143103.98100000003,143103.98100000003,143103.98100000003,143103.98100000003,357043.65708,357043.65708 +6138000.0,127367.187,120211.85100000002,351018.60492,93612.82458,93612.82458,93612.82458,43801.34150000001,221668.004,751911.9257600001,246415.5876,375490.4192,173810.451,173810.451,173810.451,109478.0435,127367.187,127367.187,235849.42263999998,83103.95880000001,123527.36592000001,215454.70800000004,61148.09808000001,77768.88984000002,150980.35499999998,150980.35499999998,150980.35499999998,150980.35499999998,382950.67558,382950.67558 +6141600.0,140053.473,134857.983,393785.31036,92129.9038,92129.9038,92129.9038,46951.856,252533.85816,778203.8374400001,284812.15077,433999.46784,179087.658,179087.658,179087.658,111266.02549999999,140053.473,140053.473,262567.57774,99447.79860000001,147821.17224,257827.62600000002,73173.93576000001,93063.49548000001,165237.07499999998,165237.07499999998,165237.07499999998,165237.07499999998,421094.10882,421094.10882 +6145200.0,164633.277,146145.59100000001,426745.12572,98772.11124,98772.11124,98772.11124,65355.47549999999,317394.34648,772805.27936,311790.95619,475110.02848000004,213874.57799999998,213874.57799999998,213874.57799999998,135849.553,164633.277,164633.277,263080.32374,114676.92855,170458.05182,297310.5555,84379.56718,107314.95289,224924.49600000004,224924.49600000004,224924.49600000004,224924.49600000004,494997.38618,494997.38618 +6148800.0,205293.82499999998,153324.096,447706.36032,110690.06839000001,110690.06839000001,110690.06839000001,71049.51000000001,376039.80168,762690.0672,345082.8227700001,525840.4918400001,291058.773,291058.773,291058.773,200762.513,205293.82499999998,205293.82499999998,278546.06104,128812.31145000001,191469.16418,333957.8445,94780.41682,120542.87911000001,261527.022,261527.022,261527.022,261527.022,617250.1005,617250.1005 +6152400.0,238490.92799999999,169566.714,495134.80488,140088.90753000003,140088.90753000003,140088.90753000003,78744.2845,454438.74152,773243.3407999999,387465.4497,590423.5424,337306.25399999996,337306.25399999996,337306.25399999996,216600.1495,238490.92799999999,238490.92799999999,299989.31521,145774.72394999999,216682.42917999998,377934.4695,107261.40182,136416.34661,308608.80000000005,308608.80000000005,308608.80000000005,308608.80000000005,717062.7235199999,717062.7235199999 +6156000.0,407633.319,230478.294,672996.61848,243990.09789,243990.09789,243990.09789,157043.5685,942662.9751200001,890619.5878400002,642085.1690400001,978415.49568,380373.83400000003,380373.83400000003,380373.83400000003,338921.95399999997,407633.319,407633.319,511295.2510899999,202779.4338,301415.35592,525724.458,149205.60808,189761.49484,442053.441,442053.441,442053.441,442053.441,1225617.51246,1225617.51246 +6159600.0,1123777.299,518595.37200000003,1514298.48624,1543887.16999,1543887.16999,1543887.16999,1346549.799,3200006.6256,3535182.1504000006,2673506.22231,4073914.2435200005,1009777.4010000001,1009777.4010000001,1009777.4010000001,1463926.0999999999,1123777.299,1123777.299,2417278.27055,1392966.4122000001,2070532.79048,3611394.4020000002,1024948.1255200001,1303541.40796,1380701.808,1380701.808,1380701.808,1380701.808,3378823.74566,3378823.74566 +6163200.0,702440.046,935079.015,2730430.7238,1341809.8018600002,1341809.8018600002,1341809.8018600002,1575399.6055,3440430.59552,1944426.82688,2393265.65688,3646881.0009600003,884224.8870000001,884224.8870000001,884224.8870000001,1176178.822,702440.046,702440.046,1756285.9301,1674135.3172499998,2488467.8049,4340350.8225,1231832.9001,1566659.96355,1038191.742,1038191.742,1038191.742,1038191.742,2112003.0716399997,2112003.0716399997 +6166800.0,1632811.176,1638249.057,4783687.24644,757837.89092,757837.89092,757837.89092,1201806.1405,3194407.146,5142314.408960001,2496561.1381200003,3804283.6390400003,1413591.276,1413591.276,1413591.276,916367.494,1632811.176,1632811.176,1179618.29128,1082049.77115,1608380.1536599998,2805314.2215,796174.89334,1012584.84757,1800765.8070000003,1800765.8070000003,1800765.8070000003,1800765.8070000003,4909318.9358399995,4909318.9358399995 +6170400.0,1083660.135,779364.348,2275743.89616,398917.89574999997,398917.89574999997,398917.89574999997,440847.0115,1446240.70304,5584120.723200001,729272.35395,1111272.1584,1060231.149,1060231.149,1060231.149,1034071.6505,1083660.135,1083660.135,1153301.36714,1770592.5269999998,2631843.7068,4590425.069999999,1302806.3531999998,1656924.8586,609899.574,609899.574,609899.574,609899.574,3258204.8058999996,3258204.8058999996 +6174000.0,591371.751,494318.649,1443410.45508,190722.60944,190722.60944,190722.60944,390263.3175,1068110.52008,2265772.10944,670741.9985699999,1022083.04544,446279.45999999996,446279.45999999996,446279.45999999996,357993.42949999997,591371.751,591371.751,520697.34846999997,522086.0103,776038.9585200001,1353556.323,384152.17548000003,488569.3775400001,448599.05399999995,448599.05399999995,448599.05399999995,448599.05399999995,1778057.7313400002,1778057.7313400002 +6177600.0,673474.032,1090273.23,3183597.8315999997,404393.52316000004,404393.52316000004,404393.52316000004,822496.745,1513174.4380799998,2315070.69504,1131835.94895,1724702.3984,604413.102,604413.102,604413.102,937318.382,673474.032,673474.032,676327.847,684093.0816,1016849.4694399999,1773574.656,503357.37856,640175.99488,648549.252,648549.252,648549.252,648549.252,2024911.92288,2024911.92288 +6181200.0,475140.735,445315.551,1300321.4089199998,297306.27575,297306.27575,297306.27575,614273.7964999999,988075.6385599999,1381870.5952,669203.2378499999,1019738.2672,421252.43700000003,421252.43700000003,421252.43700000003,408939.426,475140.735,475140.735,456957.52283999993,437570.16479999997,650412.93632,1134441.168,321965.20768,409479.24064000003,415943.04299999995,415943.04299999995,415943.04299999995,415943.04299999995,1428589.8099,1428589.8099 +6184800.0,326759.667,254826.957,744094.71444,88383.96127,88383.96127,88383.96127,228460.0745,700679.2696799999,906956.1907200001,425191.70547,647911.17024,287668.26300000004,287668.26300000004,287668.26300000004,208671.57499999998,326759.667,326759.667,331219.04829,256878.4833,381829.25172,665981.253,189011.82228,240387.51894,282930.507,282930.507,282930.507,282930.507,982457.39878,982457.39878 +6188400.0,427784.08199999994,348070.482,1016365.80744,749207.03671,749207.03671,749207.03671,685382.019,893415.53992,616323.47264,783325.89342,1193639.45664,286665.675,286665.675,286665.675,786278.6085,427784.08199999994,427784.08199999994,661752.6090499999,530229.25215,788143.2340599999,1374668.4315,390143.99294,496189.84337,256892.08199999997,256892.08199999997,256892.08199999997,256892.08199999997,1286204.13988,1286204.13988 +6192000.0,356171.61,730578.207,2133288.36444,403489.96688,403489.96688,403489.96688,487210.16399999993,1144982.52768,819596.3296,556575.1002,848114.4384000001,385471.989,385471.989,385471.989,856199.5329999999,356171.61,356171.61,828809.4934599999,499516.8385499999,742491.6958199999,1295043.6554999999,367545.72318,467449.09089,421036.23600000003,421036.23600000003,421036.23600000003,421036.23600000003,1070889.3073999998,1070889.3073999998 +6195600.0,692549.208,835676.9310000001,2440176.63852,671494.91255,671494.91255,671494.91255,829400.138,1783076.6956800001,2526843.6064000004,1197506.20836,1824771.3651200002,715792.902,715792.902,715792.902,1032842.412,692549.208,692549.208,797335.8741399999,896620.04325,1332753.7433,2324570.4825,659735.2417,839059.25035,753392.1510000001,753392.1510000001,753392.1510000001,753392.1510000001,2082264.61872,2082264.61872 +6199200.0,2015210.5050000004,1726010.8739999998,5039951.75208,3013858.14609,3013858.14609,3013858.14609,2788540.4924999997,3275423.8541599996,5910616.01024,3505304.1555,5341415.856,2179071.324,2179071.324,2179071.324,2670561.9359999998,2015210.5050000004,2015210.5050000004,2348481.3023099997,2616186.1018499997,3888750.6995399995,6782704.7085,1924996.19346,2448233.41383,2296662.7290000003,2296662.7290000003,2296662.7290000003,2296662.7290000003,6059066.251700001,6059066.251700001 +6202800.0,1376985.2850000001,830086.4430000001,2423852.4135600002,1324909.08209,1324909.08209,1324909.08209,1398118.8445000001,2270031.8564,3540059.5020800005,1891236.45669,2881884.12448,1206525.6630000002,1206525.6630000002,1206525.6630000002,1439448.64,1376985.2850000001,1376985.2850000001,1043153.9111499999,1390807.8837,2067324.31108,3605798.2169999997,1023359.87492,1301521.45166,1321193.595,1321193.595,1321193.595,1321193.595,4140135.7569,4140135.7569 +6206400.0,1061703.207,818638.971,2390425.79532,1114710.0818699999,1114710.0818699999,1114710.0818699999,1063823.978,1812128.44728,3328939.2492800006,1539406.4282100003,2345762.1763200006,954107.124,954107.124,954107.124,1279702.5885,1061703.207,1061703.207,1146421.6049,1250718.7158,1859093.0047199999,3242604.0779999997,920281.9192799999,1170425.6624399999,1089519.534,1089519.534,1089519.534,1089519.534,3192187.64238,3192187.64238 +6210000.0,951365.6160000002,816733.452,2384861.67984,1084846.72956,1084846.72956,1084846.72956,1072730.2774999999,1757138.8262399998,3297093.45664,1528367.58396,2328941.08032,934927.8809999999,934927.8809999999,934927.8809999999,1251257.973,951365.6160000002,951365.6160000002,1141659.9309699999,1232088.3431999998,1831400.4508799997,3194303.1119999997,906573.64512,1152991.31376,1068634.23,1068634.23,1068634.23,1068634.23,2860439.2854400002,2860439.2854400002 +6213600.0,671563.7729999999,578251.71,1688494.9932,703605.81654,703605.81654,703605.81654,589645.5355000001,899302.36504,2021046.6809600003,870506.46123,1326486.0361600001,491560.48199999996,491560.48199999996,491560.48199999996,626321.3775,671563.7729999999,671563.7729999999,807864.8150299999,574439.31135,853857.9393399999,1489287.1035,422673.86366,537561.72593,673659.4739999999,673659.4739999999,673659.4739999999,673659.4739999999,2019168.4108199999,2019168.4108199999 +6217200.0,115060.938,102324.14100000002,298786.49172000005,117621.41677,117621.41677,117621.41677,62129.707500000004,184766.26456,709056.30208,202535.82006,308626.01152,167389.848,167389.848,167389.848,109606.95899999999,115060.938,115060.938,207745.50653999997,82965.38805000001,123321.39162000001,215095.45050000004,61046.13738000001,77639.21499000001,133478.29499999998,133478.29499999998,133478.29499999998,133478.29499999998,345949.88691999996,345949.88691999996 +6220800.0,111108.58800000002,100879.17899999999,294567.20268,94089.59252,94089.59252,94089.59252,41277.719,194264.30624,704898.6841600001,210731.96781,321115.37952,164461.611,164461.611,164461.611,103756.9575,111108.58800000002,111108.58800000002,212175.51653999998,75822.1884,112703.59856,196576.04400000002,55790.15344000001,70954.59112000001,132758.17200000002,132758.17200000002,132758.17200000002,132758.17200000002,334066.48792000004,334066.48792000004 +6224400.0,118933.50899999999,110503.374,322669.85208,89279.93921,89279.93921,89279.93921,39234.044499999996,205352.67919999998,706773.0688000001,230630.72739000001,351437.29888,164219.29499999998,164219.29499999998,164219.29499999998,103902.08850000001,118933.50899999999,118933.50899999999,217503.85657,76251.36690000001,113341.53796000002,197688.72900000002,56105.94404000001,71356.21742000002,140108.511,140108.511,140108.511,140108.511,357593.41705999995,357593.41705999995 +6228000.0,129280.39499999999,124772.676,364336.21392,85753.1499,85753.1499,85753.1499,44005.0765,212531.30648,714805.97952,250068.16884,381056.25728,164834.94,164834.94,164834.94,102862.35399999999,129280.39499999999,129280.39499999999,242600.66168,89858.5731,133567.55803999997,232966.671,66118.15996,84089.87458,148225.632,148225.632,148225.632,148225.632,388703.05429999996,388703.05429999996 +6231600.0,140205.186,132451.50300000003,386758.38876,88904.07064,88904.07064,88904.07064,54895.1585,229014.42032,715026.8761600002,281807.45123999997,429420.87808,166666.509,166666.509,166666.509,107884.182,140205.186,140205.186,242404.68785,98660.83904999998,146651.42001999996,255787.36049999998,72594.88897999999,92327.05678999999,183675.447,183675.447,183675.447,183675.447,421550.25924,421550.25924 +6235200.0,175388.71500000003,140939.40600000002,411543.06552,98525.51808000001,98525.51808000001,98525.51808000001,67324.1555,298918.8232,715352.8844800001,307514.66256,468593.77152000007,240174.594,240174.594,240174.594,167857.74599999998,175388.71500000003,175388.71500000003,250903.24597,116507.3544,173178.83296,302056.104,85726.39904,109027.86992,230396.229,230396.229,230396.229,230396.229,527335.4031,527335.4031 +6238800.0,218541.906,161475.21600000001,471507.63072,122579.55182000001,122579.55182000001,122579.55182000001,77917.413,407675.50216,749772.1344,357189.43995,544288.6704000001,294796.353,294796.353,294796.353,209000.20750000002,218541.906,218541.906,286016.05357,136970.30745000002,203595.37058000002,355108.20450000005,100783.09042000001,128177.15191000002,274426.986,274426.986,274426.986,274426.986,657082.66404,657082.66404 +6242400.0,379850.52,204219.40800000005,596320.6713600002,240807.15439,240807.15439,240807.15439,156446.8115,908846.4084000001,830409.53728,615750.3765,938286.2880000001,361861.716,361861.716,361861.716,331651.089,379850.52,379850.52,503688.7074699999,197866.31399999998,294112.39759999997,512986.74,145590.5224,185163.78519999998,419375.142,419375.142,419375.142,419375.142,1142083.8968,1142083.8968 +6246000.0,1103600.883,496634.7570000001,1450173.49044,1513651.4371000002,1513651.4371000002,1513651.4371000002,1304401.917,3169377.0987199997,3356650.3808000004,2614329.57912,3983740.31104,980308.5689999999,980308.5689999999,980308.5689999999,1393243.425,1103600.883,1103600.883,2383941.7238,1342209.8560499998,1995087.2428199996,3479803.3304999997,987601.3261799999,1256043.29739,1355376.342,1355376.342,1355376.342,1355376.342,3318159.9882199997,3318159.9882199997 +6249600.0,682810.53,926529.015,2705464.7238,1297280.42026,1297280.42026,1297280.42026,1528477.0095,3377673.2663999996,1907605.9366400002,2338606.2180600003,3563590.4275200004,869949.777,869949.777,869949.777,1131379.228,682810.53,682810.53,1671936.61089,1620164.2518,2408244.14712,4200425.8379999995,1192120.8568799999,1516153.70724,1018431.4439999999,1018431.4439999999,1018431.4439999999,1018431.4439999999,2052983.6602,2052983.6602 +6253200.0,1621014.9809999997,1584705.3900000001,4627339.7387999995,720369.7924500001,720369.7924500001,720369.7924500001,1138448.2165,3115687.3156799995,5013187.42464,2429308.09737,3701802.81504,1398758.724,1398758.724,1398758.724,875979.384,1621014.9809999997,1621014.9809999997,1127798.3815799998,1038499.4772,1543646.1364799999,2692406.052,764130.47952,971830.37496,1787112.0750000002,1787112.0750000002,1787112.0750000002,1787112.0750000002,4873851.709539999,4873851.709539999 +6256800.0,1045298.2620000001,748182.657,2184693.35844,383513.92662000004,383513.92662000004,383513.92662000004,397053.21249999997,1337319.5872,5406399.3504,673455.0047400001,1026217.1500800002,1012219.7880000001,1012219.7880000001,1012219.7880000001,998630.1465000001,1045298.2620000001,1045298.2620000001,1095293.9600199999,1712678.3369999998,2545758.9107999997,4440277.17,1260192.9492,1602728.6165999998,568670.1,568670.1,568670.1,568670.1,3142863.44108,3142863.44108 +6260400.0,539979.741,436025.868,1273195.53456,175346.29596,175346.29596,175346.29596,333920.71650000004,932418.35368,1940425.68512,583235.69073,888740.10016,377310.171,377310.171,377310.171,308519.176,539979.741,539979.741,460789.5151599999,435166.20629999996,646839.6449199999,1128208.683,320196.36908,407229.61034,392477.91900000005,392477.91900000005,392477.91900000005,392477.91900000005,1623539.08794,1623539.08794 +6264000.0,597767.076,1019064.1440000001,2975667.30048,338660.58523,338660.58523,338660.58523,737769.8615,1327936.16136,1990437.0086400001,995284.60395,1516624.1584,505282.70699999994,505282.70699999994,505282.70699999994,850898.258,597767.076,597767.076,561569.5442499999,583250.82345,866955.5449799999,1512131.7645,429157.39602,545807.56071,562786.884,562786.884,562786.884,562786.884,1797286.34184,1797286.34184 +6267600.0,409358.04,365553.414,1067415.9688799998,253562.09076,253562.09076,253562.09076,527509.2165,827957.42104,1108897.09632,554497.89108,844949.1673600001,337629.069,337629.069,337629.069,317478.861,409358.04,409358.04,374291.16971999995,351577.87155000004,522592.29302000004,911498.1855000001,258691.86598000003,329007.44029000006,343967.376,343967.376,343967.376,343967.376,1230803.1735999999,1230803.1735999999 +6271200.0,277490.70300000004,204962.619,598490.84748,81423.17051000001,81423.17051000001,81423.17051000001,179897.8265,578340.21072,694136.7648,340130.73485999997,518294.45311999996,224522.45100000003,224522.45100000003,224522.45100000003,163279.263,277490.70300000004,277490.70300000004,273917.38360999996,195622.22925,290776.7457,507168.74250000005,143939.3193,183063.76515000002,227969.454,227969.454,227969.454,227969.454,834322.04702,834322.04702 +6274800.0,386594.16,272093.673,794513.52516,717823.6859200001,717823.6859200001,717823.6859200001,626438.246,785044.64552,461445.95456,714743.7091199999,1089133.27104,239289.723,239289.723,239289.723,716670.9305,386594.16,386594.16,614408.82763,468858.7719,696920.93996,1215559.779,344987.44204,438759.19642,212457.906,212457.906,212457.906,212457.906,1162359.7743999998,1162359.7743999998 +6278400.0,350832.855,730077.3960000001,2131825.99632,365639.34132000007,365639.34132000007,365639.34132000007,486155.999,1144478.61744,806586.0038400001,530752.41324,808765.58208,382543.75800000003,382543.75800000003,382543.75800000003,828374.785,350832.855,350832.855,827176.50327,481464.33209999994,715658.0936399999,1248240.861,354262.64436,450555.51078,417697.701,417697.701,417697.701,417697.701,1054837.4507,1054837.4507 +6282000.0,688460.7930000001,804632.457,2349526.7744400003,620166.60002,620166.60002,620166.60002,823339.4330000001,1745504.4424799997,2512744.52992,1185378.97674,1806291.7740800001,714706.149,714706.149,714706.149,1018441.9770000001,688460.7930000001,688460.7930000001,778187.17756,884939.5030499999,1315391.5576199999,2294287.6005,651140.67138,828128.5719900001,740947.845,740947.845,740947.845,740947.845,2069972.11762,2069972.11762 +6285600.0,1986260.868,1706961.6149999998,4984327.9158,2914435.8157200003,2914435.8157200003,2914435.8157200003,2768534.9545000005,3245268.83312,5714466.855040001,3460207.14102,5272696.59584,2152437.591,2152437.591,2152437.591,2597587.3315,1986260.868,1986260.868,2225653.0412999997,2554187.661,3796594.9924,6621968.01,1879377.5876,2390215.1198,2249461.9050000003,2249461.9050000003,2249461.9050000003,2249461.9050000003,5972024.343119999,5972024.343119999 +6289200.0,1343129.886,815740.3500000001,2381961.822,1271323.4051100002,1271323.4051100002,1271323.4051100002,1352846.369,2193907.60824,3395117.4912,1831985.06925,2791596.296,1170185.3909999998,1170185.3909999998,1170185.3909999998,1390854.2375,1343129.886,1343129.886,1013861.40557,1348470.8158500001,2004393.65714,3496035.4485000004,992208.1558600002,1261902.3190300001,1264825.965,1264825.965,1264825.965,1264825.965,4038343.85724,4038343.85724 +6292800.0,1016855.004,791891.493,2312323.15956,1080705.54526,1080705.54526,1080705.54526,1029778.8445,1747358.0175999997,3193108.65088,1487419.09512,2266543.3830399998,918630.1529999999,918630.1529999999,918630.1529999999,1229110.3054999998,1016855.004,1016855.004,1089522.31115,1204512.6383999998,1790411.3785599999,3122810.5439999998,886283.37344,1127185.90112,1048274.3430000001,1048274.3430000001,1048274.3430000001,1048274.3430000001,3057344.04536,3057344.04536 +6296400.0,914151.7320000001,784159.9710000001,2289747.1153200003,1046521.00883,1046521.00883,1046521.00883,1028862.4184999999,1685200.07104,3139952.4198400006,1453644.4024200002,2215077.18464,895270.2479999999,895270.2479999999,895270.2479999999,1196481.258,914151.7320000001,914151.7320000001,1098102.8942,1179775.6029,1753641.76036,3058677.489,868081.8016400001,1104036.92222,1023914.214,1023914.214,1023914.214,1023914.214,2748549.5408799998,2748549.5408799998 +6300000.0,649209.672,554745.243,1619856.10956,682446.78194,682446.78194,682446.78194,571566.2679999999,861726.3099999999,1931403.1187200001,835407.7447800001,1273002.27776,471799.55999999994,471799.55999999994,471799.55999999994,602216.2615,649209.672,649209.672,770923.92845,552143.8790999999,820717.5684399998,1431484.1309999998,406268.8295599999,516697.60537999996,647078.7239999999,647078.7239999999,647078.7239999999,647078.7239999999,1951957.08048,1951957.08048 +6303600.0,111431.65200000002,98817.62699999998,288547.47083999997,114561.18784000001,114561.18784000001,114561.18784000001,61047.78749999999,174299.83408,680098.7577600001,196002.11484,298669.88928,152752.104,152752.104,152752.104,105996.2365,111431.65200000002,111431.65200000002,196126.55711999998,79957.2546,118850.04263999999,207296.58599999998,58832.74536,74824.19628,128647.527,128647.527,128647.527,128647.527,335037.83368000004,335037.83368000004 +6307200.0,108739.176,98980.59899999999,289023.34907999996,92416.76961,92416.76961,92416.76961,40657.973999999995,188899.62384000001,690229.5283199999,195537.83109000002,297962.40928,161276.556,161276.556,161276.556,101630.2105,108739.176,108739.176,207779.03223999997,74130.75855,110189.42382,192190.8555,54545.59518,69371.74689,128430.444,128430.444,128430.444,128430.444,326942.45584,326942.45584 +6310800.0,114063.90000000001,105953.862,309385.27703999996,86940.38518000001,86940.38518000001,86940.38518000001,36848.825999999994,199535.33255999998,685738.0140800001,221731.84845000002,337877.10240000003,159810.759,159810.759,159810.759,101274.7505,114063.90000000001,114063.90000000001,210319.89068999997,72891.36135,108347.15934,188977.60350000003,53633.64366000001,68211.91593,131934.67500000002,131934.67500000002,131934.67500000002,131934.67500000002,342952.126,342952.126 +6314400.0,125781.13199999998,121420.24799999999,354547.12415999995,83559.44839,83559.44839,83559.44839,42967.2565,202134.14424,696602.1619200001,240420.38874,366354.87808,160985.70599999998,160985.70599999998,160985.70599999998,100600.57,125781.13199999998,125781.13199999998,234950.61160999996,86745.60539999999,128940.38135999998,224896.01399999997,63827.630639999996,81176.75171999999,143176.845,143176.845,143176.845,143176.845,378181.93687999994,378181.93687999994 +6318000.0,135768.684,129046.11600000001,376814.65872,86867.53218000001,86867.53218000001,86867.53218000001,51848.65350000001,219943.35271999997,711945.27936,271273.07633999997,413368.49728,164982.603,164982.603,164982.603,105557.431,135768.684,135768.684,240703.60249000002,95385.86325,141783.4313,247296.6825,70185.1537,89262.32635,171049.995,171049.995,171049.995,171049.995,408211.17656,408211.17656 +6321600.0,159397.143,136765.503,399355.26875999995,95457.56836,95457.56836,95457.56836,65441.13799999999,241878.60296000002,695138.23616,291704.14539,444501.55488,218008.21500000003,218008.21500000003,218008.21500000003,151063.5595,159397.143,159397.143,242029.03165999998,110324.90789999999,163989.12235999998,286027.539,81177.33964,103242.32122,214887.615,214887.615,214887.615,214887.615,479254.07662,479254.07662 +6325200.0,195899.43300000002,146722.176,428428.75392,107466.10336000001,107466.10336000001,107466.10336000001,73056.2595,349359.16015999997,691722.01408,323379.9954,492769.51680000004,262836.378,262836.378,262836.378,190280.741,195899.43300000002,195899.43300000002,257194.08623999998,123501.30345,183574.77698,320188.56450000004,90872.56402,115572.82471,242213.454,242213.454,242213.454,242213.454,589004.29522,589004.29522 +6328800.0,357068.913,197360.43899999998,576292.48188,222870.5952,222870.5952,222870.5952,154938.161,880260.0464000001,794164.85184,586747.85904,894091.97568,331157.364,331157.364,331157.364,324808.67299999995,357068.913,357068.913,496238.10886,192216.12255,285713.84142,498338.0955,141433.09758,179876.32209,395485.353,395485.353,395485.353,395485.353,1073587.19842,1073587.19842 +6332400.0,1078092.3360000001,479399.62200000003,1399846.8962400001,1490776.78761,1490776.78761,1490776.78761,1272283.586,3127120.2778399996,3196356.8204800007,2556161.27088,3895102.88896,946318.9500000001,946318.9500000001,946318.9500000001,1339538.2945,1078092.3360000001,1078092.3360000001,2343594.9531799997,1300768.0083,1933487.26172,3372361.503,957108.3122800001,1217261.91394,1323899.6339999998,1323899.6339999998,1323899.6339999998,1323899.6339999998,3241464.29024,3241464.29024 +6336000.0,643085.0759999999,904961.3099999998,2642487.0251999996,1237537.57402,1237537.57402,1237537.57402,1474788.483,3265763.9860799992,1810656.6176000002,2248171.40877,3425785.00384,827464.1639999999,827464.1639999999,827464.1639999999,1065323.014,643085.0759999999,643085.0759999999,1563932.5678599996,1546465.3326,2298696.61784,4009354.566,1137893.01016,1447186.0766800002,976318.3500000001,976318.3500000001,976318.3500000001,976318.3500000001,1933542.4618399998,1933542.4618399998 +6339600.0,1550992.983,1440380.559,4205911.23228,665087.46271,665087.46271,665087.46271,977319.623,2828955.87752,4572391.98208,2219976.9020100003,3382821.9459200003,1301102.193,1301102.193,1301102.193,796112.912,1550992.983,1550992.983,989267.54849,934866.0400500001,1389603.34842,2423726.7705,687876.74058,874849.94859,1696337.544,1696337.544,1696337.544,1696337.544,4663318.90222,4663318.90222 +6343200.0,917937.6300000001,637859.46,1862549.6231999998,353251.54337,353251.54337,353251.54337,290336.984,1032370.7888,4898707.24864,470146.00311000005,716412.95712,826951.0170000001,826951.0170000001,826951.0170000001,838845.0385,917937.6300000001,917937.6300000001,924411.1246499999,1548750.8690999998,2302093.8844399997,4015280.0309999995,1139574.7135599998,1449324.88738,416095.74,416095.74,416095.74,416095.74,2759932.4742,2759932.4742 +6346800.0,450032.586,342122.75700000004,998998.45044,146698.27414000002,146698.27414000002,146698.27414000002,239991.08349999998,708988.1764,1394477.81696,432786.1125,659483.6,265674.34199999995,265674.34199999995,265674.34199999995,224778.372,450032.586,450032.586,363160.2332799999,285825.79349999997,424857.1053999999,741029.8349999998,210311.32459999996,267476.48329999996,300692.532,300692.532,300692.532,300692.532,1353097.9752399998,1353097.9752399998 +6350400.0,528635.832,960188.0190000001,2803749.01548,263205.33305,263205.33305,263205.33305,643877.7975,1180837.82672,1734476.66368,868016.0552699999,1322691.13184,424054.78500000003,424054.78500000003,424054.78500000003,784791.4095,528635.832,528635.832,473267.17945,492219.5121,731644.8056399999,1276124.661,362176.33236,460620.23478,488212.32,488212.32,488212.32,488212.32,1589431.7348800001,1589431.7348800001 +6354000.0,362154.77999999997,296612.871,866109.58332,222207.32358000003,222207.32358000003,222207.32358000003,456906.4325,718116.59864,928664.4998400001,473634.45129,721728.6876800001,283738.02599999995,283738.02599999995,283738.02599999995,233492.44449999998,362154.77999999997,362154.77999999997,324676.78450999997,292454.18955,434709.68422,758214.5655,215188.51478000003,273679.35269,294696.162,294696.162,294696.162,294696.162,1088878.7052,1088878.7052 +6357600.0,233287.34999999998,161460.843,471465.6615599999,76998.87701000001,76998.87701000001,76998.87701000001,140831.33049999998,474802.0156,518045.95584000007,269560.57086,410758.96512,175051.611,175051.611,175051.611,124829.64549999998,233287.34999999998,233287.34999999998,223182.9899,144322.06994999998,214523.17557999998,374168.3295,106192.53542,135056.94941,179893.437,179893.437,179893.437,179893.437,701417.2989999999,701417.2989999999 +6361200.0,345623.673,222038.52899999998,648352.5046799999,651802.4088400002,651802.4088400002,651802.4088400002,562353.9425,686998.9996,320903.89184000005,641568.73578,977628.54976,200594.11799999996,200594.11799999996,200594.11799999996,630986.5625,345623.673,345623.673,567450.0145599999,400227.39089999994,594905.8995599999,1037626.5689999999,294488.30244,374533.78062,171315.096,171315.096,171315.096,171315.096,1039175.1768199999,1039175.1768199999 +6364800.0,269730.90599999996,660133.233,1927589.04036,320168.27975000005,320168.27975000005,320168.27975000005,405519.15599999996,969594.88264,541923.79136,382856.90037,583400.99104,290606.72400000005,290606.72400000005,290606.72400000005,714434.6545000001,269730.90599999996,269730.90599999996,718157.1077199999,366958.3662,545454.16408,951373.542,270008.87192,343400.54516,329501.544,329501.544,329501.544,329501.544,810990.92404,810990.92404 +6368400.0,627752.6070000001,658178.274,1921880.56008,512590.5049100001,512590.5049100001,512590.5049100001,735369.1029999999,1540795.67584,2211073.64928,1049372.8035,1599044.2719999999,625726.965,625726.965,625726.965,885503.0555,627752.6070000001,627752.6070000001,714002.6818599999,780659.8235999999,1160388.1822399998,2023932.876,574411.42576,730543.39048,659731.071,659731.071,659731.071,659731.071,1887442.8383799999,1887442.8383799999 +6372000.0,1911079.404,1636105.023,4777426.66716,2621874.11805,2621874.11805,2621874.11805,2702162.8655000003,3132944.69672,5345791.135360001,3321202.65834,5060880.241280001,2071785.039,2071785.039,2071785.039,2388219.5050000004,1911079.404,1911079.404,1963765.09732,2408343.27705,3579809.01922,6243852.9405000005,1772064.9297800001,2253733.5851900005,2107629.969,2107629.969,2107629.969,2107629.969,5745978.741359999,5745978.741359999 +6375600.0,1250345.5829999999,770600.091,2250152.26572,1146103.77453,1146103.77453,1146103.77453,1227702.0070000002,1995659.3416,3006022.1222400004,1692142.7796,2578503.2832,1066692.435,1066692.435,1066692.435,1270960.46,1250345.5829999999,1250345.5829999999,906303.38903,1211802.9947999998,1801247.9083199997,3141711.468,891647.63568,1134008.23464,1141625.304,1141625.304,1141625.304,1141625.304,3759372.3862199998,3759372.3862199998 +6379200.0,950480.1149999999,765686.298,2235803.99016,1034972.2128900001,1034972.2128900001,1034972.2128900001,995359.0009999999,1684375.6966400002,2984359.770240001,1430742.78354,2180179.47968,886023.198,886023.198,886023.198,1178637.558,950480.1149999999,950480.1149999999,1007887.7318899998,1156754.11905,1719422.1720200002,2998992.1605,851142.5369800001,1082493.36079,1002251.793,1002251.793,1002251.793,1002251.793,2857776.8790999996,2857776.8790999996 +6382800.0,894781.5689999999,768284.0160000001,2243389.3267200002,1023551.7237000001,1023551.7237000001,1023551.7237000001,1004049.242,1656690.7561599999,3077712.4768000003,1416067.0314000002,2157816.4288000003,882632.5530000001,882632.5530000001,882632.5530000001,1175339.6445,894781.5689999999,894781.5689999999,1069663.44212,1156719.8884500002,1719371.29098,2998903.4145000004,851117.3500200001,1082461.32771,1002923.142,1002923.142,1002923.142,1002923.142,2690309.9174599997,2690309.9174599997 +6386400.0,624348.42,530950.485,1550375.4161999999,658420.18,658420.18,658420.18,552600.3770000001,826938.1307999999,1846539.3472000002,785332.9323,1196697.8016000001,454298.784,454298.784,454298.784,577699.801,624348.42,624348.42,726859.3789599999,529759.5007499999,787444.9862999999,1373450.5574999999,389798.3487,495750.24885,622286.706,622286.706,622286.706,622286.706,1877207.5828,1877207.5828 +6390000.0,105250.98300000001,93444.435,272857.75019999995,109357.19630000001,109357.19630000001,109357.19630000001,59258.926999999996,157465.1756,634615.9404800001,181161.38922,276055.45024000003,134051.343,134051.343,134051.343,100391.41700000002,105250.98300000001,105250.98300000001,179884.74555999998,75091.63724999999,111617.69289999998,194682.02249999996,55252.61209999999,70270.93955,117297.88200000001,117297.88200000001,117297.88200000001,117297.88200000001,316454.62221999996,316454.62221999996 +6393600.0,101117.853,91971.85800000001,268557.82536,85786.47506,85786.47506,85786.47506,38391.181500000006,172381.13712,630280.9132800001,174673.62696,266169.33632,143074.04700000002,143074.04700000002,143074.04700000002,93762.081,101117.853,101117.853,192068.91808,67871.2122,100885.11048,175962.402,49939.80552,63514.04796,117470.082,117470.082,117470.082,117470.082,304027.67802,304027.67802 +6397200.0,105658.131,97112.601,283568.79491999996,82008.39174,82008.39174,82008.39174,34098.4105,188090.12975999998,645556.05248,199986.02441999997,304740.60864,151215.219,151215.219,151215.219,96172.37700000001,105658.131,105658.131,196705.39252,67942.09935,100990.47854,176146.1835,49991.96446,63580.38433000001,122121.426,122121.426,122121.426,122121.426,317678.78054,317678.78054 +6400800.0,117518.65499999998,113076.59400000001,330183.65448,77750.90312,77750.90312,77750.90312,38483.980500000005,189919.60903999998,649104.1728000001,217800.70179000002,331886.78368000005,150997.245,150997.245,150997.245,94775.28550000001,117518.65499999998,117518.65499999998,216853.77545,77418.37844999999,115076.20697999997,200714.31449999998,56964.63401999999,72448.30970999999,126514.137,126514.137,126514.137,126514.137,353339.42269999994,353339.42269999994 +6404400.0,122933.40000000001,118600.299,346312.87308,80362.37792000001,80362.37792000001,80362.37792000001,42754.8345,194661.01160000003,667073.51552,245608.21446000002,374260.13632000005,155045.127,155045.127,155045.127,98541.16649999999,122933.40000000001,122933.40000000001,227031.89417999997,86535.0459,128627.40155999998,224350.119,63672.70044,80979.70962,143655.96,143655.96,143655.96,143655.96,369619.756,369619.756 +6408000.0,138603.807,129854.84700000001,379176.15324,89161.05451,89161.05451,89161.05451,61474.34999999999,211234.95495999997,668901.3011200001,268616.33001000003,409320.12192000006,179597.415,179597.415,179597.415,118377.4375,138603.807,138603.807,229203.38311,97954.4097,145601.36948,253955.877,72075.09652,91665.97846,188921.928,188921.928,188921.928,188921.928,416735.44638,416735.44638 +6411600.0,177051.73500000002,138685.935,404962.93019999994,102803.95499,102803.95499,102803.95499,71617.8995,269325.83791999996,683269.5814400001,301669.71051,459687.17792000005,245035.55400000003,245035.55400000003,245035.55400000003,182228.6585,177051.73500000002,177051.73500000002,245980.68234999996,117304.16355,174363.22582,304121.9055,86312.69318,109773.52589,224851.38299999997,224851.38299999997,224851.38299999997,224851.38299999997,532335.5499,532335.5499 +6415200.0,236159.478,162674.862,475010.59703999996,200511.67983,200511.67983,200511.67983,151958.5095,444622.6184,726287.0342400001,391544.80974,596639.71008,299964.771,299964.771,299964.771,225976.0755,236159.478,236159.478,287214.98455,160508.30805000002,238582.71962000002,416132.65050000005,118102.40938000001,150204.07099,289446.66,289446.66,289446.66,289446.66,710052.83052,710052.83052 +6418800.0,955633.602,968825.2319999998,2828969.6774399993,979194.9426600001,979194.9426600001,979194.9426600001,1048430.6734999999,1448408.13728,1222873.11488,1211660.5523400002,1846339.8892800002,546798.966,546798.966,546798.966,1562716.7149999999,955633.602,955633.602,1798962.9004099998,526849.56765,783119.60426,1365906.2865000002,387657.21274000005,493027.12627000007,1282467.369,1282467.369,1282467.369,1282467.369,2873271.6966799996,2873271.6966799996 +6422400.0,1496836.047,1434240.678,4187982.7797600003,1948086.2244800003,1948086.2244800003,1948086.2244800003,1455316.4885,2270750.36328,2292655.42528,2218146.70392,3380033.0726400004,840960.162,840960.162,840960.162,1144968.3665,1496836.047,1496836.047,1669353.2705199998,1180679.4819,1754985.30396,3061020.879,868746.87804,1104882.7744200001,1634545.128,1634545.128,1634545.128,1634545.128,4500487.047979999,4500487.047979999 +6426000.0,1602628.1940000001,1372865.8530000001,4008768.29076,1534984.5333900002,1534984.5333900002,1534984.5333900002,1483603.9785000002,2623683.10704,6032606.726400001,1983690.02727,3022765.75584,1739655.9809999997,1739655.9809999997,1739655.9809999997,1550673.1344999997,1602628.1940000001,1602628.1940000001,1094805.3025,2309681.8224,3433156.6841599997,5988063.983999999,1699469.58784,2161405.9523199997,1138264.287,1138264.287,1138264.287,1138264.287,4818568.76996,4818568.76996 +6429600.0,1131129.5699999998,783796.8450000001,2288686.7874000003,925505.37486,925505.37486,925505.37486,1820572.264,2341632.9953599996,3909990.8934400002,2275675.08546,3467695.36832,1488955.9379999998,1488955.9379999998,1488955.9379999998,1707840.3824999998,1131129.5699999998,1131129.5699999998,1211338.6587899998,2016636.6892499998,2997568.6097,5228317.3425,1483846.2552999998,1887173.5931499999,1284894.453,1284894.453,1284894.453,1284894.453,3400929.5737999994,3400929.5737999994 +6433200.0,823024.0109999999,574092.7590000001,1676350.8562800002,850760.6795600001,850760.6795600001,850760.6795600001,1216918.99,2260452.7905599996,3492916.4512,1547313.4859699998,2357811.02624,698771.802,698771.802,698771.802,1349310.522,823024.0109999999,823024.0109999999,484582.3821799999,1184253.3314999999,1760297.5445999997,3070286.415,871376.5253999999,1108227.1916999999,849204.852,849204.852,849204.852,849204.852,2474558.8597399998,2474558.8597399998 +6436800.0,694399.809,566274.8999999999,1653522.7079999999,500126.88286,500126.88286,500126.88286,825133.9739999999,1648732.8275999997,1844704.35904,1223720.2992,1864716.6464000002,632881.425,632881.425,632881.425,824729.808,694399.809,694399.809,520693.35136,809757.48195,1203639.51638,2099371.2495,595821.5546200001,757773.05101,701055.2339999999,701055.2339999999,701055.2339999999,701055.2339999999,2087828.7590599998,2087828.7590599998 +6440400.0,426520.386,321659.799,939246.61308,233631.26413,233631.26413,233631.26413,409404.49199999997,809164.0791199999,1087121.2224,640699.5869400001,976304.1324800001,372152.211,372152.211,372152.211,462712.2885,426520.386,426520.386,295127.07860999997,414325.5219,615861.63996,1074177.279,304861.74204,387726.84642,411935.35199999996,411935.35199999996,411935.35199999996,411935.35199999996,1282404.6272399998,1282404.6272399998 +6444000.0,303799.023,207016.03799999997,604486.8309599999,105114.42073,105114.42073,105114.42073,260391.7785,580318.5282399999,632826.7027200001,425352.84393,648156.71456,252977.55299999999,252977.55299999999,252977.55299999999,260349.77150000003,303799.023,303799.023,165205.17389999997,232120.58625000002,345028.62450000003,601794.1125,170794.90050000002,217219.01775000003,254834.96099999998,254834.96099999998,254834.96099999998,254834.96099999998,913422.39582,913422.39582 +6447600.0,232252.851,137010.63900000002,400071.06588,68243.69244,68243.69244,68243.69244,166354.4435,434834.65576,381054.05888,292177.45641,445222.79072,178319.193,178319.193,178319.193,145007.8665,232252.851,232252.851,94417.34184999998,121261.40639999999,180245.34975999998,314381.424,89224.44224,113476.72352,171239.445,171239.445,171239.445,171239.445,698306.9053399999,698306.9053399999 +6451200.0,278779.179,184442.05800000002,538570.80936,81971.50126,81971.50126,81971.50126,224041.5275,529443.07624,540649.8956800001,373122.13196999993,568567.0582399999,227454.40199999997,227454.40199999997,227454.40199999997,220261.69550000003,278779.179,278779.179,130724.95344999999,190689.72209999998,283444.96963999997,494380.761,140309.96836,178447.91277999998,220952.952,220952.952,220952.952,220952.952,838196.0648599999,838196.0648599999 +6454800.0,752373.036,653173.2239999999,1907265.81408,486425.74475,486425.74475,486425.74475,829283.056,1432576.30024,2377127.50592,1193488.87518,1818649.71456,716451.027,716451.027,716451.027,959408.324,752373.036,752373.036,671630.13164,939233.3332499999,1396094.9792999998,2435049.3825,691090.2056999999,878936.87235,797055.4380000001,797055.4380000001,797055.4380000001,797055.4380000001,2262134.92824,2262134.92824 +6458400.0,837433.2660000001,713976.078,2084810.1477599998,873603.75399,873603.75399,873603.75399,960923.4284999999,1555151.52296,2655492.6540800002,1345462.4826300002,2050228.5449600003,782204.0490000001,782204.0490000001,782204.0490000001,1048691.9730000002,837433.2660000001,837433.2660000001,747695.13013,1033463.80845,1536161.01898,2679350.6145,760425.22202,967117.9837100001,882339.987,882339.987,882339.987,882339.987,2517882.68644,2517882.68644 +6462000.0,843012.558,716589.072,2092440.09024,959550.94928,959550.94928,959550.94928,965095.432,1563350.2172,2705451.9168000002,1352992.6748100002,2061703.1235200004,791296.8359999999,791296.8359999999,791296.8359999999,1053220.3255,843012.558,843012.558,870731.2216199999,1036816.5321000001,1541144.57364,2688042.861,762892.16436,970255.4707800001,897747.2850000001,897747.2850000001,897747.2850000001,897747.2850000001,2534657.7577199996,2534657.7577199996 +6465600.0,833701.23,721655.598,2107234.34616,952820.25597,952820.25597,952820.25597,942437.1880000001,1539441.68352,2675143.81632,1335726.8834699998,2035393.3462399999,785127.219,785127.219,785127.219,1037940.379,833701.23,833701.23,951276.13867,1027451.7859499999,1527224.62998,2663763.8895,756001.56102,961491.91821,896729.49,896729.49,896729.49,896729.49,2506661.6981999995,2506661.6981999995 +6469200.0,776189.1329999999,660020.55,1927260.006,767007.5765000001,767007.5765000001,767007.5765000001,713732.628,1256997.72808,1932805.8662400001,1077737.8575600001,1642267.2115200001,602544.297,602544.297,602544.297,808239.3235,776189.1329999999,776189.1329999999,918803.7468999999,815729.1786,1212515.96424,2114853.426,600215.54376,763361.37948,779691.531,779691.531,779691.531,779691.531,2333741.9932199996,2333741.9932199996 +6472800.0,345099.49199999997,238218.63900000002,695598.42588,380234.87414,380234.87414,380234.87414,296653.84,607406.43384,770549.1916800002,467658.45168,712622.40256,246246.489,246246.489,246246.489,350037.968,345099.49199999997,345099.49199999997,552350.01042,178565.24115,265422.90166,462946.9215,131388.74534,167101.79356999998,414401.92500000005,414401.92500000005,414401.92500000005,414401.92500000005,1037599.1392799999,1037599.1392799999 +6476400.0,117812.41799999999,86261.739,251884.27788,102572.09116000001,102572.09116000001,102572.09116000001,56823.3505,220700.22839999996,569471.8752,213395.30226,325173.79392,125162.562,125162.562,125162.562,93504.2815,117812.41799999999,117812.41799999999,178790.94675,70607.2545,104952.01779999999,183055.845,51952.9922,66074.4431,115702.203,115702.203,115702.203,115702.203,354222.67011999997,354222.67011999997 +6480000.0,111118.128,84084.126,245525.64792000002,78042.49420000002,78042.49420000002,78042.49420000002,35554.4665,211465.16775999998,553189.5744,205259.65026,312776.60992,120451.97999999998,120451.97999999998,120451.97999999998,87148.25,111118.128,111118.128,173546.26224,62305.050149999995,92611.45726,161531.6115,45844.20974,58305.219769999996,112359.53099999999,112359.53099999999,112359.53099999999,112359.53099999999,334095.17152,334095.17152 +6483600.0,115670.694,94725.09300000001,276597.27156,74368.57846,74368.57846,74368.57846,34394.444,234091.2024,564967.34848,209325.88236,318972.77311999997,144783.114,144783.114,144783.114,87140.5745,115670.694,115670.694,176226.03348999997,66392.73539999999,98687.47335999999,172129.314,48851.93864,62130.485720000004,115386.96300000002,115386.96300000002,115386.96300000002,115386.96300000002,347783.21996,347783.21996 +6487200.0,130956.444,108494.60699999999,316804.25243999995,75055.26479000002,75055.26479000002,75055.26479000002,38645.509000000005,259566.67231999998,623451.2761600001,232628.02416,354480.79872,164797.155,164797.155,164797.155,93090.58499999999,130956.444,130956.444,202485.13181,78312.3552,116405.03168,203032.032,57622.424320000006,73284.89536000001,124874.364,124874.364,124874.364,124874.364,393742.37496,393742.37496 +6490800.0,134268.33899999998,112198.671,327620.11932,81604.70065,81604.70065,81604.70065,45428.866,261499.36775999996,636833.8176000001,249951.73203,380878.82976,166970.274,166970.274,166970.274,94897.376,134268.33899999998,134268.33899999998,217350.73022,82877.2398,123190.36631999999,214866.918,60981.27768,77556.72564,139855.02000000002,139855.02000000002,139855.02000000002,139855.02000000002,403700.13925999997,403700.13925999997 +6494400.0,145289.51100000003,125350.69200000001,366024.02064000006,109473.84250000001,109473.84250000001,109473.84250000001,56032.85799999999,267667.51151999994,657412.4563200001,275920.59894,420450.43648,210663.711,210663.711,210663.711,104205.605,145289.51100000003,145289.51100000003,220306.9466,94058.5446,139810.47864,243855.48599999998,69208.50936,88020.21828,172265.7,172265.7,172265.7,172265.7,436837.12974000006,436837.12974000006 +6498000.0,182276.62199999997,160714.97400000002,469287.72408,132057.67828,132057.67828,132057.67828,72768.1185,325980.79336,742882.27648,311937.78336,475333.76512,279502.833,279502.833,279502.833,173570.7855,182276.62199999997,182276.62199999997,252328.65099,119592.68895,177764.93518,310055.11950000003,87996.59582,111915.13361,226708.89299999998,226708.89299999998,226708.89299999998,226708.89299999998,548045.04348,548045.04348 +6501600.0,251216.87100000004,187874.71499999997,548594.1677999999,227507.24909000003,227507.24909000003,227507.24909000003,152555.487,461465.12,784547.01888,407390.58590999997,620785.65472,334557.624,334557.624,334557.624,231776.4295,251216.87100000004,251216.87100000004,285018.99828999996,161852.16689999998,240580.25796,419616.729,119091.22404,151461.65742,299193.69299999997,299193.69299999997,299193.69299999997,299193.69299999997,755325.39214,755325.39214 +6505200.0,964529.283,958051.2690000001,2797509.70548,968366.8786,968366.8786,968366.8786,1039048.4720000001,1495541.43408,1293150.57088,1211451.02211,1846020.60512,582938.958,582938.958,582938.958,1553069.2029999997,964529.283,964529.283,1736895.36267,519524.1828,772231.00752,1346914.548,382267.17648,486172.01304,1272773.481,1272773.481,1272773.481,1272773.481,2900018.04422,2900018.04422 +6508800.0,1490960.916,1456851.207,4254005.52444,1928640.1674100002,1928640.1674100002,1928640.1674100002,1435989.8595000003,2250439.2287199995,2342696.21184,2240629.88541,3414293.15872,859870.677,859870.677,859870.677,1134251.9965000001,1490960.916,1490960.916,1647020.97924,1195377.57585,1776832.84114,3099127.0485,879561.77186,1118637.28703,1617751.8120000002,1617751.8120000002,1617751.8120000002,1617751.8120000002,4482822.48744,4482822.48744 +6512400.0,1640905.5599999996,1458926.52,4260065.4384,1548669.99386,1548669.99386,1548669.99386,1527026.3715000001,2720668.2031199997,6346341.96032,2031982.36689,3096354.08288,1774898.5380000002,1774898.5380000002,1774898.5380000002,1572106.9349999998,1640905.5599999996,1640905.5599999996,1082292.91963,2360880.93015,3509260.0492599998,6120802.411499999,1737142.0177399998,2209318.20377,1179051.549,1179051.549,1179051.549,1179051.549,4933656.050399999,4933656.050399999 +6516000.0,1136082.108,812793.1440000001,2373355.98048,930346.0375000001,930346.0375000001,930346.0375000001,1817563.1774999998,2336578.7206399995,3974750.06784,2251841.78856,3431377.96352,1489734.723,1489734.723,1489734.723,1716101.0895,1136082.108,1136082.108,1201997.7061299998,2013402.38355,2992761.0738199996,5219932.1055,1481466.44518,1884146.92189,1280301.159,1280301.159,1280301.159,1280301.159,3415820.20472,3415820.20472 +6519600.0,835952.2109999999,566109.9750000001,1653041.127,892294.8382700002,892294.8382700002,892294.8382700002,1239030.0440000002,2314961.72704,3759097.7836800003,1580978.6970600002,2409110.3955200003,719824.446,719824.446,719824.446,1397241.4959999998,835952.2109999999,835952.2109999999,472738.18526999996,1201652.7916499998,1786160.4458599999,3115396.1265,884179.0911399999,1124509.6494699998,860745.7080000001,860745.7080000001,860745.7080000001,860745.7080000001,2513429.6477399995,2513429.6477399995 +6523200.0,681245.4509999999,557212.7609999999,1627061.2621199999,445566.2495900001,445566.2495900001,445566.2495900001,833739.7215,1708694.8816,1836994.6931200002,1239543.7366199999,1888828.55104,645101.922,645101.922,645101.922,827318.2889999999,681245.4509999999,681245.4509999999,499202.55515,810345.3354,1204513.31336,2100895.3140000002,596254.09864,758323.16572,694354.653,694354.653,694354.653,694354.653,2048277.9893399996,2048277.9893399996 +6526800.0,426561.792,317736.939,927791.86188,212204.68808000002,212204.68808000002,212204.68808000002,405634.91849999997,835166.87184,1112110.81984,652126.67625,993716.8400000001,381946.40699999995,381946.40699999995,381946.40699999995,471922.87450000003,426561.792,426561.792,287183.54157999996,411243.92955,611281.10022,1066187.9655000002,302594.29878,384843.08469000005,415739.45699999994,415739.45699999994,415739.45699999994,415739.45699999994,1282529.1212799998,1282529.1212799998 +6530400.0,214757.697,112207.227,327645.10284,81756.97970000001,81756.97970000001,81756.97970000001,145944.7255,420637.69168000005,348728.04480000003,272244.14784,414848.22528,163136.919,163136.919,163136.919,120875.61849999998,214757.697,214757.697,84904.09018,90860.06924999999,135056.20169999998,235563.1425,66855.0633,85027.07715,154387.91999999998,154387.91999999998,154387.91999999998,154387.91999999998,645704.8089799999,645704.8089799999 +6534000.0,143286.3,49507.83899999999,144562.88987999997,60666.96009,60666.96009,60666.96009,69139.03499999999,266263.9376,185938.90624000004,156861.84276000003,239027.56992000004,89636.895,89636.895,89636.895,50072.491,143286.3,143286.3,44471.82661999999,37750.430700000004,56112.98588,97871.48700000001,27776.86012,35326.946260000004,80423.01,80423.01,80423.01,80423.01,430814.142,430814.142 +6537600.0,139458.144,47681.433000000005,139229.78436000002,65754.84674000001,65754.84674000001,65754.84674000001,71696.9225,257075.60864000002,175324.50879999998,151786.22759999998,231293.29919999998,84384.738,84384.738,84384.738,48125.728,139458.144,139458.144,42454.20958999999,37047.1158,55067.564719999995,96048.078,27259.35928,34668.78244,77500.674,77500.674,77500.674,77500.674,419304.15296,419304.15296 +6541200.0,731422.0290000001,614138.6610000001,1793284.89012,182332.83354000002,182332.83354000002,182332.83354000002,745865.1725,1468127.91344,2027456.6112000004,1122856.08057,1711018.7894400002,716519.952,716519.952,716519.952,857634.2949999999,731422.0290000001,731422.0290000001,485243.69946,765052.29,1137188.8360000001,1983468.9000000001,562927.3640000001,715937.822,719689.953,719689.953,719689.953,719689.953,2199142.23386,2199142.23386 +6544800.0,898089.1410000001,775557.4920000001,2264627.87664,699462.53619,699462.53619,699462.53619,1047045.0760000001,1744324.6398399998,2939500.6272000005,1460730.56787,2225875.15104,878358.855,878358.855,878358.855,1180931.0135,898089.1410000001,898089.1410000001,813358.6671599998,1154580.13575,1716190.7203,2993355.9075,849542.9147000001,1080458.94185,973755.159,973755.159,973755.159,973755.159,2700254.68394,2700254.68394 +6548400.0,954435.6869999999,823543.2270000002,2404746.2228400004,977717.1215900001,977717.1215900001,977717.1215900001,1088802.4559999998,1817957.65496,3156195.55264,1540887.93411,2348019.7091200002,912055.47,912055.47,912055.47,1222585.469,954435.6869999999,954435.6869999999,848261.2681400001,1188134.0414999998,1766065.9085999997,3080347.515,874231.9614,1111858.7697,1015048.479,1015048.479,1015048.479,1015048.479,2869669.9655799996,2869669.9655799996 +6552000.0,978023.4990000001,872224.095,2546894.3573999996,1080544.54013,1080544.54013,1080544.54013,1104584.159,1921794.8172,3269049.75616,1582551.1905,2411506.576,972534.717,972534.717,972534.717,1260345.6320000002,978023.4990000001,978023.4990000001,972425.3238700001,1227390.9507,1824418.1538799999,3182124.687,903117.29212,1148595.48226,1057029.2280000001,1057029.2280000001,1057029.2280000001,1057029.2280000001,2940590.6536600003,2940590.6536600003 +6555600.0,893360.3099999998,771643.542,2253199.1426399997,867657.8787800001,867657.8787800001,867657.8787800001,826324.73,1580371.5104,2401821.5264000003,1277108.12943,1946069.5305599999,747644.745,747644.745,747644.745,974476.181,893360.3099999998,893360.3099999998,994806.19615,967090.46445,1437502.3693799998,2507271.5745,711587.55162,905005.64451,917325.0900000001,917325.0900000001,917325.0900000001,917325.0900000001,2686036.6653999994,2686036.6653999994 +6559200.0,409410.24899999995,291788.847,852023.43324,436035.98236,436035.98236,436035.98236,342618.19550000003,771421.1344,987945.0067200001,585914.33145,892821.8384,335835.348,335835.348,335835.348,426350.61000000004,409410.24899999995,409410.24899999995,650397.1802899999,216645.17174999998,322025.6626999999,561672.6675,159408.05229999998,202737.08664999998,489537.21900000004,489537.21900000004,489537.21900000004,489537.21900000004,1230960.1486599997,1230960.1486599997 +6562800.0,144476.23200000002,106172.84999999999,310024.72199999995,119921.63425,119921.63425,119921.63425,62596.1875,305781.75176,741371.9148800002,238456.85367,363362.82464,188601.441,188601.441,188601.441,116854.626,144476.23200000002,144476.23200000002,223719.98791999999,88753.4172,131924.83247999998,230101.452,65304.983519999994,83055.66696,141939.051,141939.051,141939.051,141939.051,434391.87088000006,434391.87088000006 +6566400.0,142226.367,113622.489,331777.66788,100284.58022,100284.58022,100284.58022,44963.975,320399.44112,741041.3587200001,261171.63366000002,397975.82272000005,186289.24200000003,186289.24200000003,186289.24200000003,111444.158,142226.367,142226.367,222132.95727999997,83087.07435,123502.26854,215410.9335,61135.67446,77753.08933,138561.759,138561.759,138561.759,138561.759,427627.27677999996,427627.27677999996 +6570000.0,152760.753,143555.388,419181.73296,121931.56305000001,121931.56305000001,121931.56305000001,49742.196,330394.11055999994,765221.8649599999,276790.67031,421776.25952,188484.48900000003,188484.48900000003,188484.48900000003,111063.9495,152760.753,152760.753,233155.23101,95309.09144999999,141669.31618,247097.6445,70128.66482,89190.48311,143748.47999999998,143748.47999999998,143748.47999999998,143748.47999999998,459300.66401999997,459300.66401999997 +6573600.0,157112.073,156445.767,456821.63964,122780.95984000001,122780.95984000001,122780.95984000001,55337.5515,325686.60336,786968.0473600001,293524.83321,447275.93632,216993.105,216993.105,216993.105,109481.19350000001,157112.073,157112.073,254285.67164,98822.88360000002,146892.28624000002,256207.47600000002,72714.12176000001,92478.69848,174555.918,174555.918,174555.918,174555.918,472383.63281999994,472383.63281999994 +6577200.0,177297.885,165731.31900000002,483935.45148,132009.29005,132009.29005,132009.29005,63625.3275,340224.52999999997,808194.0678400001,324811.63638000004,494951.06496000005,283891.206,283891.206,283891.206,127672.853,177297.885,177297.885,261182.11977,114643.97774999999,170409.07309999998,297225.1275,84355.3219,107284.11744999999,221337.84,221337.84,221337.84,221337.84,533075.6409,533075.6409 +6580800.0,205410.969,181451.193,529837.48356,135473.4095,135473.4095,135473.4095,69190.1455,389217.03168,801399.4643199999,344347.57602000004,524720.1158400001,321190.47,321190.47,321190.47,207716.6035,205410.969,205410.969,279140.33653999993,131368.36364999998,195268.53065999996,340584.6465,96661.16634,122934.83906999999,258212.337,258212.337,258212.337,258212.337,617602.31346,617602.31346 +6584400.0,253883.82,200331.477,584967.91284,150377.02911000003,150377.02911000003,150377.02911000003,78155.25899999999,495455.526,840231.2832000001,406717.43847000005,619759.90624,358381.34699999995,358381.34699999995,358381.34699999995,219325.2775,253883.82,253883.82,301186.23079999996,147046.39154999997,218572.66101999997,381231.3855,108197.09797999999,137606.37629,323511.43200000003,323511.43200000003,323511.43200000003,323511.43200000003,763344.0188,763344.0188 +6588000.0,426293.31000000006,247389.006,722375.8975199999,260544.62346,260544.62346,260544.62346,158897.025,990868.5718400001,1024229.7196800001,659233.9005,1004546.8960000001,415498.05299999996,415498.05299999996,415498.05299999996,351562.44550000003,426293.31000000006,426293.31000000006,533611.74633,214697.71305,319130.92162,556623.7005,157975.10738,200914.64999,457654.17000000004,457654.17000000004,457654.17000000004,457654.17000000004,1281721.8854,1281721.8854 +6591600.0,1106452.7519999999,524247.07499999995,1530801.4589999998,1539261.3463700002,1539261.3463700002,1539261.3463700002,1328621.3955,3185455.51224,3635756.0435200003,2641396.59,4024985.2800000003,1028981.5109999999,1028981.5109999999,1028981.5109999999,1459681.9265,1106452.7519999999,1106452.7519999999,2384132.6327,1441489.7497499997,2142658.8378999997,3737195.6474999995,1060651.7170999998,1348949.6670499998,1352172.0269999998,1352172.0269999998,1352172.0269999998,1352172.0269999998,3326734.6076799994,3326734.6076799994 +6595200.0,602422.7550000001,871243.3049999999,2544030.4506,1310928.9861800002,1310928.9861800002,1310928.9861800002,1519965.6955,3210421.37792,1667127.0592,2170604.00445,3307587.0544,773834.1510000001,773834.1510000001,773834.1510000001,1089555.2045,602422.7550000001,602422.7550000001,1634458.7310999997,1581780.2431499998,2351189.39846,4100911.7415,1163877.8085399999,1480233.85717,918169.047,918169.047,918169.047,918169.047,1811284.4167000002,1811284.4167000002 +6598800.0,1554395.538,1508512.854,4404857.53368,664744.36985,664744.36985,664744.36985,1097959.7125,3008653.46008,4661776.20864,2329545.86256,3549784.17152,1299619.3769999999,1299619.3769999999,1299619.3769999999,858390.204,1554395.538,1554395.538,1419192.21236,995239.6532999999,1479343.8797199999,2580250.9529999997,732299.7942799999,931347.72494,1691163.105,1691163.105,1691163.105,1691163.105,4673549.25092,4673549.25092 +6602400.0,1003648.9619999999,761861.355,2224635.1566,351757.26729,351757.26729,351757.26729,346081.4245,1379513.5288,5349147.887360001,614385.1431900001,936205.9324800001,977034.5279999999,977034.5279999999,977034.5279999999,881891.9585000001,1003648.9619999999,1003648.9619999999,966139.44271,1625208.7779,2415742.43036,4213504.239,1195832.63164,1520874.3872200001,513537.54300000006,513537.54300000006,513537.54300000006,513537.54300000006,3017637.87908,3017637.87908 +6606000.0,480398.03099999996,377227.73699999996,1101504.99204,151466.57218000002,151466.57218000002,151466.57218000002,255692.91999999998,803013.1691999999,1779273.6601600002,469125.89262,714858.50304,312862.527,312862.527,312862.527,244699.86450000003,480398.03099999996,480398.03099999996,400715.76089999994,320067.95220000006,475755.32648000005,829805.8020000001,235506.78952000002,299520.37996000005,326028.606,326028.606,326028.606,326028.606,1444396.74654,1444396.74654 +6609600.0,608664.507,1042220.3250000001,3043283.349,298864.4956,298864.4956,298864.4956,734242.0785000001,1408050.8932,2114693.5827200003,995882.84775,1517535.768,542328.522,542328.522,542328.522,860742.5819999999,608664.507,608664.507,580183.4073099999,593471.88945,882148.3393799999,1538630.8245,436678.08162,555372.45951,581179.5989999999,581179.5989999999,581179.5989999999,581179.5989999999,1830051.2843799999,1830051.2843799999 +6613200.0,464374.81799999997,433161.123,1264830.4791599999,248165.49868000002,248165.49868000002,248165.49868000002,569551.9794999999,997052.7639199999,1389326.47424,652344.5575499999,994048.8496,429668.064,429668.064,429668.064,353818.9935,464374.81799999997,464374.81799999997,452200.7695399999,425285.57519999996,632152.8796799999,1102592.232,312926.17631999997,397983.29136,409988.292,409988.292,409988.292,409988.292,1396220.2861199998,1396220.2861199998 +6616800.0,143367.93300000002,64576.99799999999,188564.83415999997,70582.31037,70582.31037,70582.31037,67207.34999999999,294378.06551999995,210003.27936,121424.52399000002,185027.84608000002,101313.41399999999,101313.41399999999,101313.41399999999,47918.5,143367.93300000002,143367.93300000002,131230.92697,43514.406899999994,64680.673959999986,112815.12899999999,32018.008039999997,40720.88942,77589.18299999999,77589.18299999999,77589.18299999999,77589.18299999999,431059.58522,431059.58522 +6620400.0,355359.456,227563.947,664486.7252399999,572225.08101,572225.08101,572225.08101,533370.6595,733497.9264,349819.7984,648374.2299300001,987998.8265600002,221680.16700000002,221680.16700000002,221680.16700000002,615592.355,355359.456,355359.456,579547.3184799999,380529.85140000004,565627.08776,986558.8740000001,279994.80424,356100.77452000004,176671.41,176671.41,176671.41,176671.41,1068447.43104,1068447.43104 +6624000.0,263451.684,642493.9770000001,1876082.4128400001,323356.31889,323356.31889,323356.31889,379025.248,999925.4657599999,542061.06432,369956.56446,563743.3363200001,296409.162,296409.162,296409.162,708170.1059999999,263451.684,263451.684,713976.22686,342005.87475,508364.2879,886681.8975000001,251648.7671,320049.94205,319524.01800000004,319524.01800000004,319524.01800000004,319524.01800000004,792111.39656,792111.39656 +6627600.0,662595.591,693346.434,2024571.5872799999,472140.11394,472140.11394,472140.11394,756666.7535000001,1660664.9170400002,2310290.24064,1098367.23192,1673702.44864,674710.152,674710.152,674710.152,936405.6799999999,662595.591,662595.591,781424.2257899999,815102.9027999999,1211585.05552,2113229.748,599754.7284799999,762775.30904,700657.827,700657.827,700657.827,700657.827,1992204.07694,1992204.07694 +6631200.0,1953194.5769999998,1700599.8060000003,4965751.43352,2526545.5971800005,2526545.5971800005,2526545.5971800005,2783602.521,3300673.9234399996,5670075.36704,3435844.2925800006,5235572.255360001,2150875.128,2150875.128,2150875.128,2522333.401,1953194.5769999998,1953194.5769999998,1757785.1157099998,2500629.5943,3716985.2241200004,6483113.763000001,1839969.4298800002,2340095.3487400003,2161986.09,2161986.09,2161986.09,2161986.09,5872605.028179999,5872605.028179999 +6634800.0,1332060.5729999999,854428.1160000002,2494930.09872,1211415.6139800001,1211415.6139800001,1211415.6139800001,1315886.747,2235075.47352,3416775.1648,1866543.94143,2844257.43456,1159790.82,1159790.82,1159790.82,1426755.694,1332060.5729999999,1332060.5729999999,907231.6180199999,1348751.3836500002,2004810.6986600002,3496762.8465000005,992414.5983400001,1262164.8750700003,1229284.065,1229284.065,1229284.065,1229284.065,4005062.1228199997,4005062.1228199997 +6638400.0,1059152.832,849925.374,2481782.09208,1127664.25695,1127664.25695,1127664.25695,1100581.0585,1893724.13304,3495425.55328,1594726.9249800001,2430060.07616,998553.1259999999,998553.1259999999,998553.1259999999,1330499.037,1059152.832,1059152.832,1091851.3468199999,1303245.4337999998,1937169.7559199997,3378784.4579999996,958931.2080799999,1219580.2948399999,1123870.2719999999,1123870.2719999999,1123870.2719999999,1123870.2719999999,3184519.5148799997,3184519.5148799997 +6642000.0,1040824.902,903969.714,2639591.56488,1176461.1963500003,1176461.1963500003,1176461.1963500003,1190973.511,1966636.2585600002,3746205.69088,1659603.23865,2528919.2208,1056696.4109999998,1056696.4109999998,1056696.4109999998,1410190.1345,1040824.902,1040824.902,1196664.79179,1375354.66725,2044354.3449,3565734.3225,1011989.3600999999,1287060.29355,1186671.507,1186671.507,1186671.507,1186671.507,3129413.53868,3129413.53868 +6645600.0,756936.522,681471.747,1989897.5012400001,794454.20758,794454.20758,794454.20758,674934.0499999999,1080026.15824,2441767.38112,978126.83073,1490478.98016,594568.155,594568.155,594568.155,739937.492,756936.522,756936.522,921554.47046,677486.15055,1007028.79662,1756445.5755000003,498495.98238000006,633993.2124900001,778564.101,778564.101,778564.101,778564.101,2275855.80948,2275855.80948 +6649200.0,137482.746,126813.16500000001,370294.4418,137450.72132,137450.72132,137450.72132,68926.046,238793.51200000002,922062.8640000001,248146.38912,378127.83104,193325.87099999998,193325.87099999998,193325.87099999998,136005.17,137482.746,137482.746,269562.82808,103413.66795,153716.11878,268109.50950000004,76092.03222000001,96774.76581000001,157979.136,157979.136,157979.136,157979.136,413364.78964,413364.78964 +6652800.0,140637.804,130085.622,379850.01624,116450.33939000001,116450.33939000001,116450.33939000001,48938.47,264950.80192,942412.4678400002,290685.16995,442948.83040000004,195017.59199999998,195017.59199999998,195017.59199999998,134958.292,140637.804,140637.804,274254.50207999995,99930.03614999999,148537.97965999998,259077.87149999998,73528.76733999999,93514.77457,167465.29499999998,167465.29499999998,167465.29499999998,167465.29499999998,422850.99736000004,422850.99736000004 +6656400.0,160017.486,159030.85499999998,464370.09659999993,114018.43299,114018.43299,114018.43299,59275.363,361003.95664,961497.4784000001,324169.86945,493973.1344,221600.73299999998,221600.73299999998,221600.73299999998,135745.57499999998,160017.486,160017.486,312002.65095999994,114029.20395,169495.26118,295631.2695,83902.96982,106708.81061,181321.632,181321.632,181321.632,181321.632,481119.24124,481119.24124 +6660000.0,197603.05800000002,170639.532,498267.43344,117826.85816,117826.85816,117826.85816,72313.6295,432146.71400000004,978894.0326400002,383011.52316000004,583636.60672,310814.00399999996,310814.00399999996,310814.00399999996,168636.6115,197603.05800000002,197603.05800000002,325452.47397,140573.7828,208951.64752,364450.548,103434.53648,131549.29304000002,266013.966,266013.966,266013.966,266013.966,594126.52772,594126.52772 +6663600.0,260085.47099999996,206926.608,604225.69536,139067.27241,139067.27241,139067.27241,86654.26699999999,543028.13096,1000567.10144,438192.56817000004,667722.00864,411610.338,411610.338,411610.338,258309.31350000002,260085.47099999996,260085.47099999996,357957.97777999996,163399.31144999998,242879.96417999998,423627.8445,120229.61682,152909.47911,338668.70699999994,338668.70699999994,338668.70699999994,338668.70699999994,781990.3161399999,781990.3161399999 +6667200.0,316527.003,259604.136,758044.07712,172782.09420999998,172782.09420999998,172782.09420999998,89827.92,653080.2796,1073354.87808,513262.64031,782114.4995200001,475831.11600000004,475831.11600000004,475831.11600000004,286130.88,316527.003,316527.003,392596.91861,192409.66799999998,286001.53119999997,498839.88,141575.50879999998,180057.4424,425134.983,425134.983,425134.983,425134.983,951691.1890199999,951691.1890199999 +6670800.0,409679.63399999996,287255.52,838786.1184,200910.80438000002,200910.80438000002,200910.80438000002,98455.2975,744829.2433599998,1228315.81312,619624.53882,944189.77344,515191.218,515191.218,515191.218,307192.732,409679.63399999996,409679.63399999996,413975.4975199999,247166.1378,367392.62951999996,640801.098,181865.45448,231298.68204,520179.51,520179.51,520179.51,520179.51,1231770.09956,1231770.09956 +6674400.0,621045.699,395726.598,1155521.66616,308685.70678,308685.70678,308685.70678,187188.2915,1283610.0124000001,1643309.0528000002,928117.40196,1414274.13632,568292.5319999999,568292.5319999999,568292.5319999999,472618.92649999994,621045.699,621045.699,620908.27279,342934.95284999994,509745.2879399999,889090.6184999999,252332.38505999997,320919.37562999997,656597.484,656597.484,656597.484,656597.484,1867277.40166,1867277.40166 +6678000.0,1274890.8599999999,712492.053,2080476.79476,1689165.3885700002,1689165.3885700002,1689165.3885700002,1510231.569,3532356.80912,4440392.77568,3058731.30066,4660923.886720001,1332262.482,1332262.482,1332262.482,2041364.7869999998,1274890.8599999999,1274890.8599999999,2667347.30379,1697017.2866999998,2522480.0162799996,4399674.447,1248669.50972,1588072.96706,1587526.2689999999,1587526.2689999999,1587526.2689999999,1587526.2689999999,3833171.8523999997,3833171.8523999997 +6681600.0,812664.7890000001,985777.071,2878469.04732,1623184.0504000003,1623184.0504000003,1623184.0504000003,1819316.0684999998,3829395.0647199997,2303645.65056,2691211.85277,4100894.2518400005,983977.503,983977.503,983977.503,1461704.7795000002,812664.7890000001,812664.7890000001,1844862.99881,1862097.3967499998,2767858.3526999997,4827659.9175,1370135.8623,1742555.34165,1155346.131,1155346.131,1155346.131,1155346.131,2443412.1322600003,2443412.1322600003 +6685200.0,1704747.684,1815459.6119999997,5301142.067039999,939028.7516500001,939028.7516500001,939028.7516500001,1694026.334,3622160.49224,5707266.09024,2831670.1316400003,4314925.91488,1499561.274,1499561.274,1499561.274,1073932.3769999999,1704747.684,1704747.684,1563012.80447,1389727.41255,2065718.27742,3602996.9955,1022564.86158,1300510.34409,1895985.66,1895985.66,1895985.66,1895985.66,5125608.03656,5125608.03656 +6688800.0,1190179.0499999998,827444.802,2416138.82184,450968.69840000005,450968.69840000005,450968.69840000005,586537.1575000001,1655445.6448000001,6086149.545600001,856134.93147,1304586.56224,1167737.6099999999,1167737.6099999999,1167737.6099999999,1130558.513,1190179.0499999998,1190179.0499999998,1249885.0560299999,1920308.71095,2854384.7999799997,4978578.1395,1412967.89102,1797029.63321,672344.154,672344.154,672344.154,672344.154,3578471.6769999997,3578471.6769999997 +6692400.0,545317.875,442900.02,1293268.0584,183335.57165000003,183335.57165000003,183335.57165000003,301505.32649999997,960233.7130400001,2412699.024,552874.92897,842476.0822400001,371737.32,371737.32,371737.32,301545.0725,545317.875,545317.875,459553.4990799999,556594.2620999999,827332.70564,1443022.161,409543.43236,520862.28478,371336.382,371336.382,371336.382,371336.382,1639589.0775,1639589.0775 +6696000.0,582954.354,993727.2779999999,2901683.65176,326961.5371,326961.5371,326961.5371,703643.7239999999,1290094.69584,1887931.1756799999,949990.6752,1447604.8384,481113.003,481113.003,481113.003,818531.7035000001,582954.354,582954.354,522865.9754499999,545858.16975,811374.3659,1415187.8475000001,401643.78910000005,510815.42305000004,539271.129,539271.129,539271.129,539271.129,1752749.42436,1752749.42436 +6699600.0,246650.34600000002,230288.577,672442.64484,211718.33529,211718.33529,211718.33529,382896.8325,460246.42880000005,382132.11456,256162.38753000004,390342.6857600001,150705.549,150705.549,150705.549,241112.24550000002,246650.34600000002,246650.34600000002,182872.96768,120424.99229999998,179002.08732,312212.94299999997,88609.00667999999,112694.00514,146572.098,146572.098,146572.098,146572.098,741595.37364,741595.37364 +6703200.0,218231.96999999997,132580.60499999998,387135.36659999995,77053.79352,77053.79352,77053.79352,110761.67199999999,434049.66632,420795.93536000006,226404.35181,344997.10751999996,151861.623,151861.623,151861.623,98624.876,218231.96999999997,218231.96999999997,201549.06733,105585.95835,156945.05414,273741.3735,77690.40886,98807.60053,149189.67299999998,149189.67299999998,149189.67299999998,149189.67299999998,656150.7897999999,656150.7897999999 +6706800.0,392873.337,308331.183,900327.05436,705695.97725,705695.97725,705695.97725,589766.8385000001,809750.7947199999,499722.91520000005,720603.9819299999,1098063.21056,246816.237,246816.237,246816.237,674539.0225,392873.337,392873.337,632827.55861,456354.83025,678334.8341,1183142.1525,335787.0109,427057.97695,222234.885,222234.885,222234.885,222234.885,1181239.16658,1181239.16658 +6710400.0,284394.111,675462.273,1972349.83716,345730.17523000005,345730.17523000005,345730.17523000005,413600.495,1009827.0748,597264.672,431580.66524999996,657646.7279999999,314679.21300000005,314679.21300000005,314679.21300000005,727363.6335,284394.111,284394.111,740476.4600999999,390452.64704999997,580376.5272199999,1012284.6405,287296.02178,365386.55119,356353.842,356353.842,356353.842,356353.842,855078.2937399999,855078.2937399999 +6714000.0,622184.7390000001,717588.7799999999,2095359.2375999999,473021.71664000006,473021.71664000006,473021.71664000006,716912.105,1605510.5787999996,2134288.6912000002,1030760.3163899999,1570682.38688,603398.94,603398.94,603398.94,880478.6795,622184.7390000001,622184.7390000001,717417.33934,761168.3723999999,1131415.70416,1973399.484,560069.5678399999,712303.24232,665172.429,665172.429,665172.429,665172.429,1870702.1152599999,1870702.1152599999 +6717600.0,1970254.779,1710990.096,4996091.08032,2676975.24732,2676975.24732,2676975.24732,2772684.4075,3269077.04144,5633410.73536,3446494.20591,5251800.69472,2149198.743,2149198.743,2149198.743,2521250.6655,1970254.779,1970254.779,2059888.92135,2540973.34125,3776952.9665,6587708.662500001,1869654.4585000002,2377849.1267500003,2231781.282,2231781.282,2231781.282,2231781.282,5923899.36886,5923899.36886 +6721200.0,1388596.185,852533.919,2489399.04348,1271571.0727499998,1271571.0727499998,1271571.0727499998,1414823.375,2308705.63288,3477999.623040001,1894719.91065,2887192.2448,1205868.519,1205868.519,1205868.519,1451194.9375,1388596.185,1388596.185,953009.5231799999,1382529.5014499999,2055019.16018,3584335.7445,1017268.6208200001,1293774.52111,1298146.695,1298146.695,1298146.695,1298146.695,4175045.8629,4175045.8629 +6724800.0,1093444.8,845775.492,2469664.43664,1133138.2238,1133138.2238,1133138.2238,1098892.0845,1876769.8421599998,3448022.2636800003,1587828.1587,2419547.6704,986813.457,986813.457,986813.457,1317577.6845,1093444.8,1093444.8,1104597.6544199998,1294783.01145,1924591.04418,3356844.8445,952704.53682,1211661.13911,1123919.6940000001,1123919.6940000001,1123919.6940000001,1123919.6940000001,3287624.032,3287624.032 +6728400.0,1044816.936,902088.0720000002,2634097.1702400004,1182864.97912,1182864.97912,1182864.97912,1188192.551,1952327.4175999996,3707469.1699200002,1657670.3402700003,2525973.8518400006,1044747.1409999998,1044747.1409999998,1044747.1409999998,1400326.6725,1044816.936,1044816.936,1210303.8017199999,1370770.43985,2037540.25874,3553849.2885,1008616.27426,1282770.36223,1184564.868,1184564.868,1184564.868,1184564.868,3141416.2542399997,3141416.2542399997 +6732000.0,751236.198,668764.068,1952791.07856,790063.41425,790063.41425,790063.41425,668036.068,1050509.4433600002,2377085.0739200003,966206.66121,1472314.9123200001,576626.952,576626.952,576626.952,727299.993,751236.198,751236.198,916896.4039299999,665282.4597,988888.98948,1724806.377,489516.47652,622572.96846,767923.476,767923.476,767923.476,767923.476,2258716.8353199996,2258716.8353199996 +6735600.0,132541.542,120260.54999999999,351160.806,132669.63941,132669.63941,132669.63941,67485.26049999999,224590.43928,861195.38944,239687.80815,365238.5648,180078.891,180078.891,180078.891,128730.08400000002,132541.542,132541.542,254561.78006999998,97865.9172,145469.83247999998,253726.452,72009.98352,91583.16696,150068.487,150068.487,150068.487,150068.487,398508.23627999995,398508.23627999995 +6739200.0,131777.163,119941.02600000001,350227.79592,109161.79153000002,109161.79153000002,109161.79153000002,46650.625,238063.09152000002,856471.7939200001,269662.42107,410914.16544,185013.90899999999,185013.90899999999,185013.90899999999,124190.43,131777.163,131777.163,252339.90639,92043.135,136814.734,238630.35,67725.566,86134.193,157194.954,157194.954,157194.954,157194.954,396210.00341999996,396210.00341999996 +6742800.0,131924.28,125335.758,365980.41336,93760.31324,93760.31324,93760.31324,48101.6165,234519.02912000002,748011.4457600001,251091.61685999998,382615.79712,172355.28900000002,172355.28900000002,172355.28900000002,109238.1815,131924.28,131924.28,243977.99074999997,85939.20585,127741.73314,222805.34850000002,63234.27986,80422.12103000001,147769.713,147769.713,147769.713,147769.713,396652.3352,396652.3352 +6746400.0,140098.998,130673.65499999998,381567.07259999996,89218.51070000001,89218.51070000001,89218.51070000001,47933.137,266980.90272,741509.65568,286444.58451,436486.98592,172917.885,172917.885,172917.885,107729.475,140098.998,140098.998,252954.86007999995,99017.2188,147181.14992,256711.308,72857.11408,92660.55784,167757.108,167757.108,167757.108,167757.108,421230.98731999996,421230.98731999996 +6750000.0,173087.25900000002,144763.704,422710.01568,97918.0136,97918.0136,97918.0136,66334.219,314622.53063999995,736867.1488,308063.77077,469430.50784000003,221553.114,221553.114,221553.114,148186.44400000002,173087.25900000002,173087.25900000002,256706.75627999997,115297.4979,171380.47835999998,298919.439,84836.18364,107895.68322,228442.25699999998,228442.25699999998,228442.25699999998,228442.25699999998,520415.69206000003,520415.69206000003 +6753600.0,206943.273,152583.744,445544.53248,103726.26176000001,103726.26176000001,103726.26176000001,69803.83200000001,376047.72656000004,737677.6979200001,342660.94002000004,522150.0038400001,290471.763,290471.763,290471.763,196783.8775,206943.273,206943.273,275311.48514999996,127161.8919,189015.94796000002,329678.97900000005,93566.03404000001,118998.41242000001,256564.57799999998,256564.57799999998,256564.57799999998,256564.57799999998,622209.44082,622209.44082 +6757200.0,241348.407,168784.44,492850.5648,127733.20560000002,127733.20560000002,127733.20560000002,77629.96849999999,445047.17472,752115.80608,384609.2195400001,586071.1916800002,326494.893,326494.893,326494.893,212340.12449999998,241348.407,241348.407,296292.42617,144054.13815,214124.91646,373473.6915,105995.39054000001,134806.21817,309044.706,309044.706,309044.706,309044.706,725654.21038,725654.21038 +6760800.0,408764.66099999996,231390.58499999996,675660.5081999999,242156.60359,242156.60359,242156.60359,156067.68800000002,933240.6198399999,887358.68864,639252.5672399999,974099.1500799999,370557.582,370557.582,370557.582,335425.125,408764.66099999996,408764.66099999996,505294.1556,201643.93125,299727.52249999996,522780.5625,148370.1025,188698.88875,435984.471,435984.471,435984.471,435984.471,1229019.08074,1229019.08074 +6764400.0,1115747.691,508333.05000000005,1484332.506,1540586.1232300003,1540586.1232300003,1540586.1232300003,1355930.6005000002,3182150.17152,3486800.71616,2665715.2439400004,4062042.2764800005,988539.648,988539.648,988539.648,1454939.0939999998,1115747.691,1115747.691,2407167.92953,1384394.13765,2057790.7922599998,3589169.9864999996,1018640.62474,1295519.45227,1363406.868,1363406.868,1363406.868,1363406.868,3354681.39094,3354681.39094 +6768000.0,661684.197,910767.015,2659439.6837999998,1310753.82559,1310753.82559,1310753.82559,1547185.0835,3357802.63136,1827391.3305600004,2319621.58911,3534661.4691200005,830416.635,830416.635,830416.635,1129695.5075,661684.197,661684.197,1714602.8597099998,1635415.18695,2430913.43838,4239965.299500001,1203342.5326200002,1530425.5700100001,996287.8110000001,996287.8110000001,996287.8110000001,996287.8110000001,1989463.81898,1989463.81898 +6771600.0,1596627.42,1567062.471,4575822.41532,724891.6479200001,724891.6479200001,724891.6479200001,1142195.1834999998,3057512.82144,4882738.868480001,2393858.87265,3647784.9488,1351030.3499999999,1351030.3499999999,1351030.3499999999,877637.9745,1596627.42,1596627.42,1088027.39201,1022337.5755500001,1519622.76662,2650504.8255000003,752238.5123800001,956706.0274900001,1746851.6189999997,1746851.6189999997,1746851.6189999997,1746851.6189999997,4800526.4428,4800526.4428 +6775200.0,1007235.1530000002,711701.211,2078167.5361199998,375569.6692,375569.6692,375569.6692,363579.8005,1266549.5328,5270080.22912,602206.11465,917647.4128000002,945196.074,945196.074,945196.074,927918.628,1007235.1530000002,1007235.1530000002,1035892.09061,1675407.4101,2490358.66884,4343648.841,1232768.90916,1567850.39118,513314.454,513314.454,513314.454,513314.454,3028420.36002,3028420.36002 +6778800.0,520971.72,411675.024,1202091.07008,166417.89218999998,166417.89218999998,166417.89218999998,305870.901,880484.3024,1879368.0390400004,545202.26628,830784.4057600001,347759.799,347759.799,347759.799,287209.4155,520971.72,520971.72,439933.69185999996,409861.1016,609225.63744,1062602.856,301576.81056,383549.03088,370824.363,370824.363,370824.363,370824.363,1566388.3047999998,1566388.3047999998 +6782400.0,604044.9450000001,1028179.9980000001,3002285.5941600003,311148.50041000004,311148.50041000004,311148.50041000004,742036.057,1359432.46688,2035312.0038400004,1003895.97231,1529746.24352,518111.96400000004,518111.96400000004,518111.96400000004,851310.3165,604044.9450000001,604044.9450000001,564419.98392,586649.2675499999,872007.0594199998,1520942.5454999998,431657.9795799999,548987.8330899999,570663.219,570663.219,570663.219,570663.219,1816161.8013,1816161.8013 +6786000.0,402839.724,355883.196,1039178.93232,244285.54733000003,244285.54733000003,244285.54733000003,518882.55649999995,813672.08608,1079415.4841600002,542149.2570900001,826132.2012800002,326639.088,326639.088,326639.088,304059.714,402839.724,402839.724,369924.15628999996,341292.85605,507304.44281999994,884833.3305,251124.12618,319382.69739,335570.39099999995,335570.39099999995,335570.39099999995,335570.39099999995,1211204.7701599998,1211204.7701599998 +6789600.0,261362.16,185445.195,541499.9694000001,80192.58973,80192.58973,80192.58973,162932.952,537047.9768,615741.8387200001,309941.19177,472291.33984,200629.72499999998,200629.72499999998,200629.72499999998,145238.0195,261362.16,261362.16,256311.55706,172127.29635,255853.41334,446255.9535,126651.68966,161077.14893000002,206726.40300000002,206726.40300000002,206726.40300000002,206726.40300000002,785828.8944,785828.8944 +6793200.0,356176.671,228143.625,666179.385,694582.36199,694582.36199,694582.36199,584055.29,710524.29496,341883.71968000004,662612.4951599999,1009695.2307199999,206260.66199999995,206260.66199999995,206260.66199999995,659413.468,356176.671,356176.671,580494.7441799999,421736.12684999994,626876.9095399999,1093389.9585,310314.48345999996,394661.70882999996,177437.31900000002,177437.31900000002,177437.31900000002,177437.31900000002,1070904.5241399999,1070904.5241399999 +6796800.0,257361.25499999998,640545.741,1870393.56372,327523.63259000005,327523.63259000005,327523.63259000005,381860.3495,923979.4018400001,455151.59168,362381.60784,552200.5452800001,269851.416,269851.416,269851.416,697477.669,257361.25499999998,257361.25499999998,709151.6140799999,351487.2609,522457.60756,911263.2690000001,258625.19444000002,328922.64662,313486.77,313486.77,313486.77,313486.77,773799.5066999999,773799.5066999999 +6800400.0,625753.773,691289.622,2018565.69624,501634.52482000005,501634.52482000005,501634.52482000005,726611.375,1557841.4620000003,2177373.73056,1043726.01669,1590439.64448,607019.3130000001,607019.3130000001,607019.3130000001,896776.9824999999,625753.773,625753.773,714091.6860999999,771903.2133,1147372.1837199999,2001230.553,567968.29028,722348.93294,657127.341,657127.341,657127.341,657127.341,1881433.01082,1881433.01082 +6804000.0,1921148.664,1651805.0039999997,4823270.611679999,2689696.1300000004,2689696.1300000004,2689696.1300000004,2708844.782,3138367.3469599998,5379006.32832,3348296.27769,5102165.75648,2074794.465,2074794.465,2074794.465,2424614.2165,1921148.664,1921148.664,2018817.2067699998,2431756.1772,3614610.4164799997,6304553.051999999,1789292.1995199998,2275643.4349599998,2131342.569,2131342.569,2131342.569,2131342.569,5776253.64976,5776253.64976 +6807600.0,1267982.682,766595.778,2238459.67176,1158424.2384000001,1158424.2384000001,1158424.2384000001,1252555.7974999999,2024793.62408,3017499.2057600003,1706431.9143900003,2600277.2028800007,1063109.7869999998,1063109.7869999998,1063109.7869999998,1262676.555,1267982.682,1267982.682,900210.32153,1221833.57715,1816157.56406,3167716.6815,899028.1629400001,1143394.87837,1149731.304,1149731.304,1149731.304,1149731.304,3812401.26388,3812401.26388 +6811200.0,964189.2390000001,760638.993,2221065.85956,1030829.40873,1030829.40873,1030829.40873,990343.942,1673012.3472799999,2974543.5948800007,1427196.88251,2174776.20192,872259.6359999999,872259.6359999999,872259.6359999999,1163553.2405,964189.2390000001,964189.2390000001,1010369.2734199999,1151473.2633,1711572.6037199998,2985301.053,847256.87028,1077551.52294,998731.611,998731.611,998731.611,998731.611,2898995.6452599997,2898995.6452599997 +6814800.0,895812.1499999999,766672.122,2238682.59624,1022809.0016100002,1022809.0016100002,1022809.0016100002,1003883.4435,1651199.5443199999,3064656.17216,1416693.3858,2158770.8736,872906.7989999999,872906.7989999999,872906.7989999999,1165466.659,895812.1499999999,895812.1499999999,1065430.67098,1155024.6678,1716851.48152,2994508.398,849870.00248,1080874.93604,1001023.494,1001023.494,1001023.494,1001023.494,2693408.531,2693408.531 +6818400.0,664243.2180000001,571824.927,1669728.78684,699851.96193,699851.96193,699851.96193,589227.429,889769.8264799998,2008695.34592,832625.0079000001,1268761.9168,490673.706,490673.706,490673.706,623010.696,664243.2180000001,664243.2180000001,779175.43054,571770.14265,849890.4342600001,1482367.0365000002,420709.8827400001,535063.91127,667454.652,667454.652,667454.652,667454.652,1997157.94212,1997157.94212 +6822000.0,118614.027,106693.647,311545.44924,120804.95449000002,120804.95449000002,120804.95449000002,63392.1155,184901.51896,745060.2239999999,205988.95610999997,313887.93312,156568.91999999998,156568.91999999998,156568.91999999998,114324.07,118614.027,118614.027,210747.15818,86264.1657,128224.75988,223647.83700000003,63473.38612,80726.21926000001,131154.744,131154.744,131154.744,131154.744,356632.84118,356632.84118 +6825600.0,115439.72099999999,106026.90599999999,309598.56551999995,97968.21298,97968.21298,97968.21298,42774.2455,206048.87728000002,747733.168,209243.61297,318847.41024,163796.061,163796.061,163796.061,109538.13150000002,115439.72099999999,115439.72099999999,223568.50178,79746.4116,118536.64144,206749.956,58677.60656000001,74626.88888000001,136570.971,136570.971,136570.971,136570.971,347088.76113999996,347088.76113999996 +6829200.0,128359.074,123220.617,359804.20164,96184.00638,96184.00638,96184.00638,43874.8975,224935.98040000003,780199.33824,247733.39031000002,377498.49952,179864.688,179864.688,179864.688,113369.68999999999,128359.074,128359.074,242707.89101,85521.57795,127120.96278,221722.60950000002,62926.98822000001,80031.30381000001,145927.566,145927.566,145927.566,145927.566,385932.94915999996,385932.94915999996 +6832800.0,138336.846,135513.438,395699.23896,92319.24427,92319.24427,92319.24427,47308.94,230134.77176,781904.2886400002,273652.44543,416994.20256000006,179134.119,179134.119,179134.119,111930.693,138336.846,138336.846,263660.89554999996,98835.93269999999,146911.68267999997,256241.30699999997,72723.72331999999,92490.90985999999,155149.041,155149.041,155149.041,155149.041,415932.78364,415932.78364 +6836400.0,150985.647,140662.91100000002,410735.70012,95241.77696,95241.77696,95241.77696,64207.5035,243055.71336,748048.7424000002,296637.9759,452019.77280000004,195949.119,195949.119,195949.119,125491.26450000002,150985.647,150985.647,254746.28685999996,108553.17465,161355.58306,281434.1565,79873.69394,101584.32887,210372.039,210372.039,210372.039,210372.039,453963.51197999995,453963.51197999995 +6840000.0,205667.60100000002,157892.313,461045.55396,107991.24325000001,107991.24325000001,107991.24325000001,73783.192,380388.68616,792907.1347200001,350481.00464999996,534066.2927999999,288124.54799999995,288124.54799999995,288124.54799999995,209587.112,205667.60100000002,205667.60100000002,287303.97435999993,133227.0909,198031.37956,345403.569,98028.82244,124674.24062000001,266401.18200000003,266401.18200000003,266401.18200000003,266401.18200000003,618373.9203400001,618373.9203400001 +6843600.0,251635.89899999998,179067.74699999997,522877.82123999996,126399.09623000001,126399.09623000001,126399.09623000001,82947.8405,488506.59176000004,812629.90912,408172.46631,621977.09152,350168.169,350168.169,350168.169,230706.24499999997,251635.89899999998,251635.89899999998,318327.69995,156267.93374999997,232279.74349999995,405139.08749999997,114982.33149999999,146235.91825,328216.67699999997,328216.67699999997,328216.67699999997,328216.67699999997,756585.2696599999,756585.2696599999 +6847200.0,395271.48300000007,203914.917,595431.5576399999,228911.94854,228911.94854,228911.94854,154055.6185,914237.90808,835212.8940800001,625014.4131,952402.9151999999,358412.958,358412.958,358412.958,327679.88399999996,395271.48300000007,395271.48300000007,496421.50935,195185.3355,290127.33819999994,506036.05499999993,143617.85179999997,182654.9189,423353.253,423353.253,423353.253,423353.253,1188449.5922200002,1188449.5922200002 +6850800.0,1091717.28,489027.408,1427960.03136,1519030.634,1519030.634,1519030.634,1331097.11,3140903.3085600007,3388334.28992,2611626.3681900003,3979621.1324800006,962083.779,962083.779,962083.779,1436041.166,1091717.28,1091717.28,2367281.91362,1367507.86515,2032690.70326,3545390.7615000005,1006215.6637400001,1279717.23677,1332838.644,1332838.644,1332838.644,1332838.644,3282429.9551999997,3282429.9551999997 +6854400.0,634610.196,896120.592,2616672.12864,1263692.3016300001,1263692.3016300001,1263692.3016300001,1507851.2540000002,3285313.90584,1752950.0659200004,2251722.84981,3431196.72352,804990.369,804990.369,804990.369,1099137.375,634610.196,634610.196,1597488.5275699997,1586820.3385499998,2358681.09582,4113978.6555,1167586.3231799998,1484950.39089,966331.9049999998,966331.9049999998,966331.9049999998,966331.9049999998,1908061.3226400001,1908061.3226400001 +6858000.0,1565286.537,1507821.969,4402840.149479999,691203.44799,691203.44799,691203.44799,1081711.4175,2936565.44032,4700871.58464,2298309.1078500003,3502185.3072,1317153.5729999999,1317153.5729999999,1317153.5729999999,836637.9979999999,1565286.537,1565286.537,1007133.58161,975363.0876,1449798.95984,2528719.116,717674.56816,912747.18568,1706927.6220000002,1706927.6220000002,1706927.6220000002,1706927.6220000002,4706294.85458,4706294.85458 +6861600.0,963830.265,674101.209,1968375.5302799998,361555.40564000007,361555.40564000007,361555.40564000007,323671.88350000005,1162820.60328,5097847.12,542942.31894,827340.67648,891652.335,891652.335,891652.335,869359.645,963830.265,963830.265,959500.69033,1615465.00845,2401259.09898,4188242.6145,1188663.14202,1511756.14371,463037.40300000005,463037.40300000005,463037.40300000005,463037.40300000005,2897916.3301,2897916.3301 +6865200.0,485726.2649999999,369370.089,1078560.65988,153546.37474000003,153546.37474000003,153546.37474000003,274429.00800000003,794706.4466399999,1670306.77184,487073.50125000003,742207.24,308436.471,308436.471,308436.471,255657.31800000003,485726.2649999999,485726.2649999999,398933.94931,350879.00354999996,521553.4818199999,909686.3055,258177.63718,328353.43789,337003.42500000005,337003.42500000005,337003.42500000005,337003.42500000005,1460416.9700999998,1460416.9700999998 +6868800.0,573317.4990000001,1002093.801,2926113.89892,289410.91124,289410.91124,289410.91124,704164.1005000001,1297004.05824,1929043.2358400002,948146.56188,1444794.76096,486087.351,486087.351,486087.351,826877.7195,573317.4990000001,573317.4990000001,523978.13402999996,548838.585,815804.5139999999,1422914.8499999999,403836.78599999996,513604.5029999999,539084.517,539084.517,539084.517,539084.517,1723774.61366,1723774.61366 +6872400.0,372090.099,318673.18200000003,930525.69144,229718.29287,229718.29287,229718.29287,478293.54300000006,740833.9592,957508.5766400001,488125.21443,743809.85056,291918.963,291918.963,291918.963,269164.364,372090.099,372090.099,333993.74007999996,301807.00035,448611.88694,782462.5935000001,222070.33606,282431.73613000003,302377.5,302377.5,302377.5,302377.5,1118750.89766,1118750.89766 +6876000.0,236767.76700000002,161289.41100000002,470965.08012,77552.49062000001,77552.49062000001,77552.49062000001,141576.3965,480921.5764,523052.15936,271303.7565,413415.248,175836.49200000003,175836.49200000003,175836.49200000003,125170.49649999998,236767.76700000002,236767.76700000002,225776.44088999997,145295.31735,215969.82974,376691.56350000005,106908.65326,135967.71673000001,180326.709,180326.709,180326.709,180326.709,711881.75278,711881.75278 +6879600.0,340550.556,213104.18099999998,622264.20852,663977.1829900001,663977.1829900001,663977.1829900001,561021.664,675759.72104,296145.75552,636691.5370199999,970196.62784,194496.79200000002,194496.79200000002,194496.79200000002,628680.7204999999,340550.556,340550.556,559696.74189,396350.41095,589143.0799799999,1027575.1395,291635.61102,370905.69321,163942.65600000002,163942.65600000002,163942.65600000002,163942.65600000002,1023922.00504,1023922.00504 +6883200.0,236166.75,624971.736,1824917.46912,313527.0002700001,313527.0002700001,313527.0002700001,365220.7755,886169.0168000001,404769.98912,323859.76896,493500.60032,253132.62000000002,253132.62000000002,253132.62000000002,669859.8865,236166.75,236166.75,675879.22792,323572.2795,480964.22779999994,838891.095,238085.2822,302799.7381,293321.33400000003,293321.33400000003,293321.33400000003,293321.33400000003,710074.695,710074.695 +6886800.0,619687.65,650185.14,1898540.6088,484771.74966000003,484771.74966000003,484771.74966000003,715113.5075000001,1531875.6481599999,2135441.85152,1024571.95617,1561252.50464,601681.5869999999,601681.5869999999,601681.5869999999,873416.2885,619687.65,619687.65,708640.5708199999,757705.55355,1126268.50182,1964421.8055,557521.61718,709062.72789,645259.737,645259.737,645259.737,645259.737,1863194.2010000001,1863194.2010000001 +6890400.0,1914433.0380000002,1653050.304,4826906.887680001,2596241.84006,2596241.84006,2596241.84006,2712879.813,3153256.3451999994,5368511.52384,3338069.50617,5086582.1046400005,2080539.1080000002,2080539.1080000002,2080539.1080000002,2406909.2739999997,1914433.0380000002,1914433.0380000002,1931564.7735799998,2422984.7641499997,3601572.41486,6281812.3515,1782838.17214,2267435.12497,2119083.7199999997,2119083.7199999997,2119083.7199999997,2119083.7199999997,5756062.00092,5756062.00092 +6894000.0,1263570.801,775191.051,2263557.86892,1148897.45916,1148897.45916,1148897.45916,1248516.773,2024708.5936800002,3036766.2822400006,1709281.47432,2604619.38944,1072607.697,1072607.697,1072607.697,1277805.8824999998,1263570.801,1263570.801,883341.8872199999,1223145.7082999998,1818107.9417199995,3171118.5029999996,899993.6322799999,1144622.77394,1147106.2859999998,1147106.2859999998,1147106.2859999998,1147106.2859999998,3799136.20834,3799136.20834 +6897600.0,981273.327,784238.379,2289976.0666799997,1053988.0709600002,1053988.0709600002,1053988.0709600002,1020484.4650000002,1729284.4732,3047069.664,1466754.34584,2235054.24128,908373.351,908373.351,908373.351,1210091.106,981273.327,981273.327,1029208.75434,1184971.9311,1761365.68524,3072149.4510000004,871905.2727600001,1108899.65898,1025419.773,1025419.773,1025419.773,1025419.773,2950361.80318,2950361.80318 +6901200.0,961820.79,829049.751,2420825.27292,1095985.90442,1095985.90442,1095985.90442,1087305.576,1795956.3309599997,3368542.2208,1527849.7596600002,2328152.0147200003,960564.42,960564.42,960564.42,1282311.4605,961820.79,961820.79,1123946.9760999999,1256394.1670999997,1867529.1076399996,3257318.2109999997,924457.9303599999,1175736.76378,1085895.9,1085895.9,1085895.9,1085895.9,2891874.5086,2891874.5086 +6904800.0,698954.208,613128.351,1790334.78492,738991.10879,738991.10879,738991.10879,624732.5,956270.7124000001,2168714.2732800003,882015.24999,1344023.23808,530771.166,530771.166,530771.166,670355.994,698954.208,698954.208,828793.97159,612857.15775,910962.9850999999,1588888.9275,450941.8099,573513.24145,710734.416,710734.416,710734.416,710734.416,2101522.31872,2101522.31872 +6908400.0,123569.976,112100.61300000001,327333.78996,125318.5967,125318.5967,125318.5967,64862.66150000001,201539.31104,794752.6329600001,216259.61301000003,329538.45792,167351.84999999998,167351.84999999998,167351.84999999998,120402.8315,123569.976,123569.976,227737.91559999998,90786.90195,134947.44438,235373.4495,66801.22662,84958.60701,137084.124,137084.124,137084.124,137084.124,371533.72783999995,371533.72783999995 +6912000.0,120806.67,111597.90599999999,325865.88551999995,102636.67392,102636.67392,102636.67392,44302.4785,220063.04351999998,798659.9891200002,228582.51276,348316.20992,171678.372,171678.372,171678.372,116190.3015,120806.67,120806.67,235907.07048999998,84731.427,125946.4668,219674.07,62345.5932,79291.8786,143373.033,143373.033,143373.033,143373.033,363225.38779999997,363225.38779999997 +6915600.0,125454.46800000001,119423.52900000001,348716.70468,91748.05233,91748.05233,91748.05233,43693.0305,214970.4,737530.7526400002,237869.99901,362468.56992000004,170603.778,170603.778,170603.778,107925.48199999999,125454.46800000001,125454.46800000001,233287.65030999997,82078.64055,122003.31261999998,212796.47549999997,60393.666379999995,76809.39448999999,140540.376,140540.376,140540.376,140540.376,377199.76712000003,377199.76712000003 +6919200.0,130316.20799999998,126332.51699999999,368890.94964,85912.10782,85912.10782,85912.10782,44226.360499999995,217498.80463999996,720485.38304,257421.04206,392260.63552,166076.421,166076.421,166076.421,104362.35949999999,130316.20799999998,130316.20799999998,244993.05466999995,91902.06135,136605.03934,238264.60350000003,67621.76366000001,86002.17593000001,145336.41900000002,145336.41900000002,145336.41900000002,145336.41900000002,391817.39871999994,391817.39871999994 +6922800.0,147599.907,137029.764,400126.91088,92886.59413000001,92886.59413000001,92886.59413000001,61654.106499999994,238537.61488,729450.8947200001,289175.53413000004,440648.43296000006,192857.49,192857.49,192857.49,123714.332,147599.907,147599.907,248686.33620999998,106088.15024999999,157691.52209999997,275043.3525,78059.9229,99277.55295,202945.87800000003,202945.87800000003,202945.87800000003,202945.87800000003,443783.72038,443783.72038 +6926400.0,191799.82799999998,147716.862,431333.23704,101135.43814,101135.43814,101135.43814,69266.1935,347074.88504,739360.77952,325934.14287,496661.55104,265110.75,265110.75,265110.75,193987.34949999998,191799.82799999998,191799.82799999998,268530.9965,123533.93430000001,183623.28012,320273.163,90896.57388000001,115603.36074,246851.17500000002,246851.17500000002,246851.17500000002,246851.17500000002,576678.14952,576678.14952 +6930000.0,223264.23600000003,162440.775,474327.06299999997,115110.70703,115110.70703,115110.70703,76753.558,424612.85704,734332.8377600001,363328.53417,553643.48064,304563.21,304563.21,304563.21,208197.787,223264.23600000003,223264.23600000003,288554.75233,139383.33795,207182.14677999995,361364.20949999994,102558.60421999998,130435.27180999999,284007.711,284007.711,284007.711,284007.711,671281.13624,671281.13624 +6933600.0,386924.92799999996,205985.07,601476.4044,220852.03393,220852.03393,220852.03393,155525.776,917951.6925599999,835278.06528,623025.57849,949372.31008,366035.949,366035.949,366035.949,331355.248,386924.92799999996,386924.92799999996,502166.76093999995,197585.26829999997,293694.64572,512258.10299999994,145383.72827999998,184900.78194,422850.615,422850.615,422850.615,422850.615,1163354.2835199998,1163354.2835199998 +6937200.0,1100832.342,490368.87,1431877.1004,1517037.5997700002,1517037.5997700002,1517037.5997700002,1327458.5100000002,3160240.6231199997,3388624.2201600005,2616153.20841,3986519.17472,981307.581,981307.581,981307.581,1435770.6125000003,1100832.342,1100832.342,2371907.76277,1360313.30745,2021996.57058,3526738.2045000005,1000921.8904200001,1272984.5519100002,1348342.05,1348342.05,1348342.05,1348342.05,3309835.9082799996,3309835.9082799996 +6940800.0,675519.8759999999,920606.1270000001,2688169.89084,1282193.5082,1282193.5082,1282193.5082,1542565.8255,3377210.0259199995,1879751.3958400004,2334501.2590199998,3557335.25184,859450.9319999999,859450.9319999999,859450.9319999999,1141266.5635,675519.8759999999,675519.8759999999,1635516.6761699999,1628264.2599,2420284.15916,4221425.859,1198080.86284,1523733.71482,1011046.767,1011046.767,1011046.767,1011046.767,2031063.0938399998,2031063.0938399998 +6944400.0,1625638.242,1602637.8900000001,4679702.6388,731508.5684500001,731508.5684500001,731508.5684500001,1181755.5505000001,3148077.3981600003,5061940.66112,2461680.38025,3751132.008,1413138.669,1413138.669,1413138.669,894468.862,1625638.242,1625638.242,1113659.91087,1061708.6623499996,1578144.7277399995,2752578.0134999994,781207.8552599999,993549.5877299998,1793428.395,1793428.395,1793428.395,1793428.395,4887752.31428,4887752.31428 +6948000.0,1017882.852,708689.01,2069371.9092,377963.19143,377963.19143,377963.19143,369573.20050000004,1265923.1869599998,5280826.11136,608783.2947,927669.7824,970455.4439999999,970455.4439999999,970455.4439999999,961741.7669999999,1017882.852,1017882.852,1030255.47287,1681823.53755,2499895.72742,4360283.2455,1237489.91158,1573854.61909,528723.501,528723.501,528723.501,528723.501,3060434.4416799997,3060434.4416799997 +6951600.0,443651.916,322033.72199999995,940338.46824,147404.83428,147404.83428,147404.83428,219300.543,699568.3732,1515722.0128000001,398058.65883,606565.57536,257533.73400000003,257533.73400000003,257533.73400000003,204968.28799999997,443651.916,443651.916,342097.64731999993,298705.66425,444001.9997,774422.0925,219788.3653,279529.49815,278204.811,278204.811,278204.811,278204.811,1333913.42744,1333913.42744 +6955200.0,545796.441,970332.423,2833370.67516,275033.95777000004,275033.95777000004,275033.95777000004,670396.3805,1214119.97504,1783940.95168,895757.87511,1364964.38112,445001.796,445001.796,445001.796,796673.9689999999,545796.441,545796.441,484628.8323499999,510868.55114999996,759365.10566,1324474.0215,375898.34134,478072.05157,504665.334,504665.334,504665.334,504665.334,1641027.9659399998,1641027.9659399998 +6958800.0,246991.044,187676.943,548016.67356,201374.16167000003,201374.16167000003,201374.16167000003,351916.62799999997,442588.20184,409142.13888,267460.40475000005,407558.71200000006,146850.34500000003,146850.34500000003,146850.34500000003,158456.2385,246991.044,246991.044,188450.88898999998,142447.23990000002,211736.39116,369307.65900000004,104813.03084,133302.47882000002,156965.775,156965.775,156965.775,156965.775,742619.73896,742619.73896 +6962400.0,30256.515,8872.353,25907.27076,58419.563070000004,58419.563070000004,58419.563070000004,49914.4835,56421.33208,16658.139520000004,28202.051219999998,42974.55424,21919.739999999998,21919.739999999998,21919.739999999998,17829.9695,30256.515,30256.515,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12635.526000000002,12635.526000000002,12635.526000000002,12635.526000000002,90971.2551,90971.2551 +6966000.0,144135.3,84609.606,247060.04952,378635.57171000005,378635.57171000005,378635.57171000005,275598.51550000004,282029.07016,12337.789440000002,364598.51505,555578.6896,84558.177,84558.177,84558.177,350227.164,144135.3,144135.3,294069.98490999994,212567.85045,315965.05178,551101.8345,156407.94922,198921.51931,54812.628,54812.628,54812.628,54812.628,433366.80199999997,433366.80199999997 +6969600.0,22640.238,344526.342,1006016.9186399999,261412.23757,261412.23757,261412.23757,219531.65499999997,426403.44775999995,43886.231680000004,39247.65747,59805.95424,25234.932,25234.932,25234.932,438129.1845,22640.238,22640.238,310936.4904099999,130316.99579999999,193705.75671999998,337858.878,95887.56728,121950.96644,107450.90400000001,107450.90400000001,107450.90400000001,107450.90400000001,68071.64891999999,68071.64891999999 +6973200.0,129404.343,95527.49399999999,278940.28247999994,312498.21823000006,312498.21823000006,312498.21823000006,127237.6735,186127.59192,86538.70400000001,95536.72863000001,145579.77696000002,48428.406,48428.406,48428.406,109301.44750000001,129404.343,129404.343,182885.92582,55393.1136,82337.41824,143611.776,40758.38976,51837.01248,49975.086,49975.086,49975.086,49975.086,389075.72461999994,389075.72461999994 +6976800.0,1394204.1120000002,973145.328,2841584.35776,1270302.8200500002,1270302.8200500002,1270302.8200500002,1995554.7255000002,2285782.4824,2413041.02592,2234180.02899,3404464.80608,1449012.441,1449012.441,1449012.441,1240277.6645,1394204.1120000002,1394204.1120000002,908106.9610599999,1263437.12115,1877997.8936599998,3275577.7215,929640.15334,1182327.57757,1318815.8250000002,1318815.8250000002,1318815.8250000002,1318815.8250000002,4191907.03008,4191907.03008 +6980400.0,1037773.485,655110.246,1912921.91832,703633.31753,703633.31753,703633.31753,869718.4195000001,1614504.40656,2058464.2304,1302079.85733,1984121.68736,765126.3870000001,765126.3870000001,765126.3870000001,1035977.4985,1037773.485,1037773.485,656802.68134,904295.3156999999,1344162.41988,2344469.337,665382.72612,846241.78926,836763.132,836763.132,836763.132,836763.132,3120238.9449,3120238.9449 +6984000.0,937252.023,782256.3119999999,2284188.4310399997,788724.25808,788724.25808,788724.25808,998718.5424999999,1739679.84256,3038998.5209600003,1458268.7313599999,2222123.78112,881590.0560000001,881590.0560000001,881590.0560000001,1222090.5375,937252.023,937252.023,818900.56638,1170078.0966,1739227.19544,3033535.8060000003,860946.35256,1094961.97188,991997.25,991997.25,991997.25,991997.25,2818004.41582,2818004.41582 +6987600.0,924876.4470000002,797920.332,2329927.36944,884816.88889,884816.88889,884816.88889,1025966.5115000001,1731653.5918400001,3079495.9808000005,1469101.02066,2238630.12672,913268.2949999999,913268.2949999999,913268.2949999999,1225310.779,924876.4470000002,924876.4470000002,821160.0638799999,1184525.1999,1760701.6551599998,3070991.259,871576.56684,1108481.60682,998999.979,998999.979,998999.979,998999.979,2780795.18398,2780795.18398 +6991200.0,628997.835,557735.745,1628588.3754,638422.78038,638422.78038,638422.78038,577302.1765,869604.27144,1815033.44576,804366.78861,1225701.77312,474413.04300000006,474413.04300000006,474413.04300000006,607457.1055000001,628997.835,628997.835,675441.9411999999,534151.3734,793973.15256,1384836.894,393029.89944,499860.17412000004,618531.402,618531.402,618531.402,618531.402,1891186.8239,1891186.8239 +6994800.0,106161.06899999999,96851.06999999998,282805.1244,94656.96273,94656.96273,94656.96273,60210.15349999999,166940.9844,535084.1337600001,146737.63629,223600.20768000002,138705.552,138705.552,138705.552,101631.5055,106161.06899999999,106161.06899999999,188850.7491,60527.82105,89969.74882,156923.9805,44536.52018,56642.084389999996,107319.26699999999,107319.26699999999,107319.26699999999,107319.26699999999,319190.94745999994,319190.94745999994 +6998400.0,101240.17499999999,93851.64,274046.7888,75128.40269,75128.40269,75128.40269,38906.92049999999,178246.75136,587278.10496,141866.02101,216176.79392,134508.98100000003,134508.98100000003,134508.98100000003,93613.933,101240.17499999999,101240.17499999999,196268.95716999998,67113.71235,99759.14774,173998.5135,49382.43526,62805.17773,109674.405,109674.405,109674.405,109674.405,304395.4595,304395.4595 +7002000.0,105524.76,97399.97400000002,284407.92408,78002.09131000002,78002.09131000002,78002.09131000002,33977.664000000004,188078.9228,636320.0096,160472.70729,244529.83968,133342.605,133342.605,133342.605,95101.139,105524.76,105524.76,196604.50276999996,66576.54060000001,98960.68504000001,172605.84600000002,48987.182960000006,62302.49108000001,114379.545,114379.545,114379.545,114379.545,317277.77839999995,317277.77839999995 +7005600.0,117664.31399999998,113467.5,331325.1,76616.32549999999,76616.32549999999,76616.32549999999,39386.7635,190164.59704000002,643295.09056,184514.03712000002,281164.24704000005,133712.649,133712.649,133712.649,94440.95850000001,117664.31399999998,117664.31399999998,217694.91457999998,77379.3486,115018.19223999999,200613.126,56935.915759999996,72411.78547999999,119854.18500000001,119854.18500000001,119854.18500000001,119854.18500000001,353777.37075999996,353777.37075999996 +7009200.0,129569.277,125076.40499999998,365223.1025999999,83551.17408,83551.17408,83551.17408,46153.4395,204659.40696,705051.02592,257681.67852,392657.79584000004,146570.397,146570.397,146570.397,104037.55249999999,129569.277,129569.277,239959.97168,91970.32815,136706.51246,238441.5915,67671.99454,86066.06017000001,143000.49,143000.49,143000.49,143000.49,389571.62617999996,389571.62617999996 +7012800.0,154714.158,142436.679,415915.10268,97545.3644,97545.3644,97545.3644,68163.84049999999,222957.95487999998,736935.02912,286551.51587999996,436649.92896,202389.774,202389.774,202389.774,150770.0775,154714.158,154714.158,253856.94672,111336.70725,165493.0809,288650.72250000003,81921.8241,104189.16555,206700.12,206700.12,206700.12,206700.12,465173.90171999997,465173.90171999997 +7016400.0,182605.42799999999,138385.026,404084.27592000004,100493.36715,100493.36715,100493.36715,70231.1085,282467.67167999997,659683.42784,288497.20410000003,439614.7872,241008.741,241008.741,241008.741,179922.722,182605.42799999999,182605.42799999999,245702.19297,114411.89654999999,170064.10301999998,296623.43549999996,84184.55597999999,107066.93529,219594.522,219594.522,219594.522,219594.522,549033.6535199999,549033.6535199999 +7020000.0,229187.59199999995,156317.92799999999,456448.34975999995,194528.27922000003,194528.27922000003,194528.27922000003,148485.66250000003,425572.14712,676373.72864,372831.19208999997,568123.72128,283038.99600000004,283038.99600000004,283038.99600000004,214739.9135,229187.59199999995,229187.59199999995,275894.26475,153993.51855,228899.00782,399242.4555,113308.81118,144107.51489,276023.841,276023.841,276023.841,276023.841,689090.6932799999,689090.6932799999 +7023600.0,954875.169,977215.416,2853469.01472,977207.4273500001,977207.4273500001,977207.4273500001,1051238.2405,1446381.92592,1210792.7680000002,1204940.82933,1836100.3113600002,542187.42,542187.42,542187.42,1559881.6625,954875.169,954875.169,1793867.1671699996,525765.03435,781507.5325399998,1363094.5335,386859.21046,492012.21732999996,1273504.122,1273504.122,1273504.122,1273504.122,2870991.34146,2870991.34146 +7027200.0,1484188.452,1417620.075,4139450.6189999995,1926002.3352900003,1926002.3352900003,1926002.3352900003,1450737.6660000002,2264136.51656,2255483.5136,2200415.83188,3353014.60096,828055.1939999999,828055.1939999999,828055.1939999999,1141486.2515,1484188.452,1484188.452,1478167.8099499997,1169750.23695,1738739.85838,3032685.7995000007,860705.1126200001,1094655.1600100002,1620977.1360000002,1620977.1360000002,1620977.1360000002,1620977.1360000002,4462459.94568,4462459.94568 +7030800.0,1575037.8599999999,1344205.7310000001,3925080.7345200004,1496977.6198300002,1496977.6198300002,1496977.6198300002,1467772.7435,2590122.7236,5915896.6726400005,1952188.13454,2974762.8716800003,1720474.029,1720474.029,1720474.029,1526037.6705,1575037.8599999999,1575037.8599999999,941978.5192999999,2279401.57215,3388147.5220599994,5909559.6315,1677189.30494,2133069.61937,1111403.7480000001,1111403.7480000001,1111403.7480000001,1111403.7480000001,4735613.8324,4735613.8324 +7034400.0,1101414.438,745829.565,2177822.3298,876129.2174800001,876129.2174800001,876129.2174800001,1794806.2965,2300466.3389600003,3793212.6982400003,2217089.0595,3378421.424,1445320.932,1445320.932,1445320.932,1656520.4005,1101414.438,1101414.438,1150352.2166499998,1968795.1043999998,2926455.9329599994,5104283.603999999,1448644.29904,1842403.31992,1243162.605,1243162.605,1243162.605,1243162.605,3311586.07692,3311586.07692 +7038000.0,794220.207,543499.7609999999,1587019.30212,785770.9643300001,785770.9643300001,785770.9643300001,1179685.682,2206675.0571199995,3355965.63712,1495924.63818,2279504.21056,671420.754,671420.754,671420.754,1299971.6415,794220.207,794220.207,449331.7584599999,1139826.09105,1694260.0168199998,2955104.6805,838686.8521799999,1066652.0703899998,805650.7050000001,805650.7050000001,805650.7050000001,805650.7050000001,2387955.42238,2387955.42238 +7041600.0,678711.33,554487.609,1619103.81828,451605.25861,451605.25861,451605.25861,806739.0275,1622568.20264,1803493.4431999999,1197857.03541,1825305.95872,616847.61,616847.61,616847.61,809967.1684999999,678711.33,678711.33,509386.49397999997,790784.4105,1175437.5681999999,2050181.805,581861.1218,740018.0039,688197.402,688197.402,688197.402,688197.402,2040658.7321999997,2040658.7321999997 +7045200.0,425346.99600000004,319411.18799999997,932680.6689599999,223973.40240000002,223973.40240000002,223973.40240000002,408739.75800000003,813952.3710400001,1082348.4275200001,637120.4651700001,970850.2326400002,373698.387,373698.387,373698.387,461889.533,425346.99600000004,425346.99600000004,289755.42934,411525.76094999997,611700.01998,1066918.6395,302801.67102,385106.82321,409344.9630000001,409344.9630000001,409344.9630000001,409344.9630000001,1278876.63464,1278876.63464 +7048800.0,277052.27100000007,181018.83899999998,528575.0098799999,94373.24710000002,94373.24710000002,94373.24710000002,229731.9255,528073.58456,531625.69728,380195.11152000003,579344.9318400001,224021.832,224021.832,224021.832,216810.132,277052.27100000007,277052.27100000007,135254.49197,190958.27354999998,283844.14982,495077.00549999997,140507.56918,178699.22389,221764.506,221764.506,221764.506,221764.506,833003.8281400001,833003.8281400001 +7052400.0,212950.49700000003,115675.17299999998,337771.50515999994,65403.25165,65403.25165,65403.25165,144270.63350000003,400345.07576,325984.8192,259593.26211,395570.68512000004,158595.981,158595.981,158595.981,117970.1635,212950.49700000003,212950.49700000003,81425.41159999999,93504.03075,138986.2383,242417.8575,68800.4967,87501.30285000001,150698.41199999998,150698.41199999998,150698.41199999998,150698.41199999998,640271.16098,640271.16098 +7056000.0,238662.50399999996,141268.33800000002,412503.54696,73204.87592,73204.87592,73204.87592,176733.298,450883.87512000004,399651.0144000001,302426.04504,460839.68768,185047.239,185047.239,185047.239,152213.4215,238662.50399999996,238662.50399999996,97992.02322,127263.99644999999,189167.71817999997,329943.6945,93641.16282,119093.96211,177306.993,177306.993,177306.993,177306.993,717578.5953599999,717578.5953599999 +7059600.0,754896.864,657733.077,1920580.58484,396075.79033,396075.79033,396075.79033,828436.938,1462226.66936,2347555.9596800003,1194619.7279100001,1820372.9187200002,728126.379,728126.379,728126.379,976187.5655,754896.864,754896.864,643282.46398,940451.80005,1397906.13242,2438208.3705,691986.7565799999,880077.11659,793723.047,793723.047,793723.047,793723.047,2269723.2377599995,2269723.2377599995 +7063200.0,907636.5869999999,778075.9380000001,2271981.73896,879621.42807,879621.42807,879621.42807,1046635.4325,1709840.6604,2941647.4579200004,1465647.91842,2233368.25664,867276.831,867276.831,867276.831,1164359.0385,907636.5869999999,907636.5869999999,811098.7223299999,1135261.87065,1687475.6694599998,2943271.5165,835328.4875399999,1062380.86167,964873.092,964873.092,964873.092,964873.092,2728960.67158,2728960.67158 +7066800.0,934243.3559999999,798219.081,2330799.71652,1034897.6789800001,1034897.6789800001,1034897.6789800001,1071762.825,1757536.26744,3069903.58528,1508276.2426200002,2298325.70304,894912.051,894912.051,894912.051,1197878.577,934243.3559999999,934243.3559999999,902509.7805100001,1163787.3895499997,1729876.5642199996,3017226.5654999996,856317.6347799998,1089075.1126899999,996065.2920000001,996065.2920000001,996065.2920000001,996065.2920000001,2808958.3570399997,2808958.3570399997 +7070400.0,956791.2000000001,837277.4069999999,2444850.0284399996,1075962.18818,1075962.18818,1075962.18818,1084079.5665000002,1805311.5729599998,3165442.6060800003,1541462.4239700001,2348895.12224,924978.1560000001,924978.1560000001,924978.1560000001,1231099.7089999998,956791.2000000001,956791.2000000001,1029926.51216,1196896.2327,1779090.2026799999,3103064.307,880679.20332,1120058.44986,1040615.802,1040615.802,1040615.802,1040615.802,2876752.208,2876752.208 +7074000.0,898307.133,774761.6670000001,2262304.06764,879984.03251,879984.03251,879984.03251,832724.627,1561730.2712800002,2368479.39648,1271796.77163,1937976.0329600002,728309.1059999999,728309.1059999999,728309.1059999999,980478.0404999999,898307.133,898307.133,1061139.1408799998,970976.8930500001,1443279.23362,2517347.5005,714447.19538,908642.5739900001,920564.73,920564.73,920564.73,920564.73,2700910.11322,2700910.11322 +7077600.0,413541.03899999993,295086.549,861652.72308,442649.4800200001,442649.4800200001,442649.4800200001,348059.145,770653.1043199999,992387.3651200002,584168.3782200001,890161.3382400001,332372.613,332372.613,332372.613,434263.26649999997,413541.03899999993,413541.03899999993,658079.5920399999,218576.24819999997,324896.05288,566679.162,160828.94311999998,204544.19275999998,498292.647,498292.647,498292.647,498292.647,1243380.0572599997,1243380.0572599997 +7081200.0,148196.745,109348.497,319297.61124,121768.79561,121768.79561,121768.79561,63642.655999999995,309394.98896,767236.0467200001,252568.82889,384866.78687999997,192892.35600000003,192892.35600000003,192892.35600000003,120447.215,148196.745,148196.745,230384.11786,91237.01084999999,135616.49513999998,236540.39849999998,67132.41786,85379.82003,145164.051,145164.051,145164.051,145164.051,445578.2133,445578.2133 +7084800.0,157787.862,127999.299,373757.95307999995,106511.08600000001,106511.08600000001,106511.08600000001,50431.9795,361016.44256,839799.7932800001,293338.66569,446992.25248,211637.799,211637.799,211637.799,124422.80200000001,157787.862,157787.862,247119.10833999998,95656.22099999999,142185.2964,247997.61,70384.0836,89515.3278,151949.574,151949.574,151949.574,151949.574,474415.50508,474415.50508 +7088400.0,172268.133,164161.509,479351.60627999995,104466.49301000002,104466.49301000002,104466.49301000002,56601.709500000004,377567.89608,889542.9574400001,313194.35615999997,477248.54271999997,224768.19900000002,224768.19900000002,224768.19900000002,126159.63500000001,172268.133,172268.133,273183.66621,110017.00259999999,163531.44583999997,285229.266,80950.78216,102954.18268,168665.865,168665.865,168665.865,168665.865,517952.85322,517952.85322 +7092000.0,191399.223,186703.461,545174.10612,128645.26004000001,128645.26004000001,128645.26004000001,71077.10399999999,393183.78744,956711.2576000001,360036.67665000004,548627.3168,306410.211,306410.211,306410.211,132576.58749999997,191399.223,191399.223,299962.34554,123442.04789999999,183486.69835999998,320034.939,90828.96364,115517.37322,231387.33599999998,231387.33599999998,231387.33599999998,231387.33599999998,575473.6638199999,575473.6638199999 +7095600.0,223298.463,204697.296,597716.10432,153941.14846,153941.14846,153941.14846,78834.23800000001,446258.70608,958437.6633600001,387771.78761999996,590890.34304,368449.707,368449.707,368449.707,218847.93349999998,223298.463,223298.463,320397.52472,150119.9406,223141.24504,389199.846,110458.62296000001,140482.61108,289476.87,289476.87,289476.87,289476.87,671384.04542,671384.04542 +7099200.0,287467.755,240586.173,702511.62516,167775.66454,167775.66454,167775.66454,84343.6335,600867.89392,1028582.2636800001,473084.73933,720891.03136,442480.13700000005,442480.13700000005,442480.13700000005,266832.9615,287467.755,287467.755,354831.29981,175449.4587,260791.54107999997,454868.967,129096.14491999999,164186.03666,380504.53500000003,380504.53500000003,380504.53500000003,380504.53500000003,864319.7167,864319.7167 +7102800.0,367114.863,260040.54899999997,759318.4030799998,183241.87618000002,183241.87618000002,183241.87618000002,92510.06450000001,665991.3632799999,1142092.9881600002,549078.88707,836691.6374400001,472059.25800000003,472059.25800000003,472059.25800000003,281642.739,367114.863,367114.863,391700.75308,219088.8081,325657.93204,568008.021,161206.08596,205023.84758,453177.243,453177.243,453177.243,453177.243,1103792.02142,1103792.02142 +7106400.0,451426.017,299394.06,874230.6552,276661.32692,276661.32692,276661.32692,176759.1105,794002.0725599999,1396146.21056,671890.11372,1023832.5542400001,508672.25099999993,508672.25099999993,508672.25099999993,334784.177,451426.017,451426.017,402946.49940999993,296288.1828,440408.60751999996,768154.548,218009.57648,277267.21304,532632.3300000001,532632.3300000001,532632.3300000001,532632.3300000001,1357287.55778,1357287.55778 +7110000.0,1092437.787,1137572.994,3321713.14248,1053633.81409,1053633.81409,1053633.81409,1070583.1570000001,1704936.45616,1755884.0864000001,1428580.52778,2176884.61376,686284.1880000001,686284.1880000001,686284.1880000001,1668540.4295,1092437.787,1092437.787,2044852.46212,649277.45505,965098.83442,1683311.9205,477739.95458,607595.44559,1462600.656,1462600.656,1462600.656,1462600.656,3284596.27958,3284596.27958 +7113600.0,1660147.7519999999,1580601.0990000002,4615355.20908,2150536.1400599997,2150536.1400599997,2150536.1400599997,1652928.2595,2504384.62656,2419875.5264000003,2462618.76714,3752561.9308800003,877064.883,877064.883,877064.883,1540022.358,1660147.7519999999,1660147.7519999999,1827354.0312299998,1349995.86765,2006660.5242599996,3499989.2864999995,993330.29274,1263329.46627,1770949.017,1770949.017,1770949.017,1770949.017,4991510.907679999,4991510.907679999 +7117200.0,1789073.583,1695732.0270000002,4951537.518840001,1918320.25506,1918320.25506,1918320.25506,1904144.0180000002,3059565.55224,7463398.0992,2256436.49028,3438379.41376,1978951.479,1978951.479,1978951.479,1856583.1130000004,1789073.583,1789073.583,1165995.3227,2746717.1158499997,4082774.5771399997,7121118.4485,2021041.23586,2570384.6590299997,1297436.295,1297436.295,1297436.295,1297436.295,5379147.90622,5379147.90622 +7120800.0,1324632.834,955151.5530000001,2789042.53476,1198060.71891,1198060.71891,1198060.71891,2068179.3265000002,2688919.16576,4530093.980160001,2616306.71547,3986753.0902400003,1802970.1380000003,1802970.1380000003,1802970.1380000003,2017373.792,1324632.834,1324632.834,1359474.08545,2405875.6484999997,3576141.0873999996,6237455.385,1770249.2426,2251424.3723,1450447.887,1450447.887,1450447.887,1450447.887,3982729.3875599997,3982729.3875599997 +7124400.0,884565.111,628031.01,1833850.5492,990701.39839,990701.39839,990701.39839,1571382.7850000001,2591752.76688,4672681.591680001,1793864.28459,2733507.48128,742411.0290000001,742411.0290000001,742411.0290000001,1587489.5470000003,884565.111,884565.111,561650.0107399999,1415402.58195,2103882.35638,3669562.2495,1041456.71462,1324537.23101,951414.2370000001,951414.2370000001,951414.2370000001,951414.2370000001,2659592.43374,2659592.43374 +7128000.0,809658.2550000001,672783.138,1964526.76296,640718.78134,640718.78134,640718.78134,1078593.5405000001,2024453.91128,2182199.83744,1505089.7612100001,2293470.1123200003,768911.688,768911.688,768911.688,1038442.6395,809658.2550000001,809658.2550000001,604348.94351,1010304.1345500001,1501736.02222,2619307.0155,743384.2767800001,945445.10369,825573.993,825573.993,825573.993,825573.993,2434372.4867000002,2434372.4867000002 +7131600.0,406538.77800000005,282886.36199999996,826028.17704,173808.30808000005,173808.30808000005,173808.30808000005,366564.4675,866625.02464,964409.4016000001,621858.21579,947593.4716800001,343065.348,343065.348,343065.348,443252.817,406538.77800000005,406538.77800000005,250828.22439999998,359189.42939999996,533906.26296,931231.8539999999,264292.46904,336130.35491999995,391356.92699999997,391356.92699999997,391356.92699999997,391356.92699999997,1222326.59252,1222326.59252 +7135200.0,79177.32900000001,14312.478,41792.43576,77080.81425000001,77080.81425000001,77080.81425000001,53520.2115,127183.42655999999,59826.8352,78697.04955,119919.31360000001,23788.577999999998,23788.577999999998,23788.577999999998,27608.903000000002,79177.32900000001,79177.32900000001,12767.00022,19409.973299999998,28851.367719999995,50322.15299999999,14281.906279999997,18163.900939999996,40388.886,40388.886,40388.886,40388.886,238059.83586000002,238059.83586000002 +7138800.0,41767.69499999999,4694.85,13708.962,50470.51119,50470.51119,50470.51119,39254.5755,48211.93895999999,16050.078080000001,32205.174540000004,49074.551680000004,7080.963,7080.963,7080.963,13803.846000000001,41767.69499999999,41767.69499999999,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,17273.268,17273.268,17273.268,17273.268,125581.53629999998,125581.53629999998 +7142400.0,43638.561,5144.892,15023.08464,55454.06746000001,55454.06746000001,55454.06746000001,44095.583,51864.35088,18037.17952,32122.658819999997,48948.81344,7945.608,7945.608,7945.608,15529.3285,43638.561,43638.561,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,18111.639,18111.639,18111.639,18111.639,131206.60674,131206.60674 +7146000.0,404874.291,170398.242,497562.86663999996,125997.29769,125997.29769,125997.29769,189700.50749999998,820108.2157599999,610116.71552,503292.99867000006,766922.6646400001,291961.986,291961.986,291961.986,151020.7055,404874.291,404874.291,150076.20393999998,119681.22194999999,177896.53238,310284.6495,88061.73861999999,111997.98301,253842.30599999998,253842.30599999998,253842.30599999998,253842.30599999998,1217322.03494,1217322.03494 +7149600.0,812929.626,669332.1359999999,1954449.83712,224746.02271000002,224746.02271000002,224746.02271000002,843094.6825,1643027.3578400002,2131998.0160000003,1238653.6207500002,1887472.1840000004,779418.186,779418.186,779418.186,913653.4890000001,812929.626,812929.626,499777.4992599999,795101.3743499999,1181854.38854,2061373.9334999998,585037.55446,744057.82933,786684.4049999998,786684.4049999998,786684.4049999998,786684.4049999998,2444208.40884,2444208.40884 +7153200.0,939140.955,812277.3929999999,2371849.98756,575641.2029500001,575641.2029500001,575641.2029500001,1093724.6705,1837712.4827999999,3038903.11424,1528367.04783,2328940.26336,919050.735,919050.735,919050.735,1247660.8934999998,939140.955,939140.955,855323.1898899999,1219814.316,1813156.0944,3162481.5600000005,897542.3856,1141505.2488000002,1019551.3949999999,1019551.3949999999,1019551.3949999999,1019551.3949999999,2823683.8046999997,2823683.8046999997 +7156800.0,983779.7189999999,840003.4170000001,2452809.97764,920896.0469500001,920896.0469500001,920896.0469500001,1117317.2955,1857835.0496,3259662.62272,1588090.96383,2419948.1353599997,938881.089,938881.089,938881.089,1264926.936,983779.7189999999,983779.7189999999,880668.21505,1230979.4208,1829752.12672,3191428.128,905757.6972800001,1151953.58144,1047477.6510000001,1047477.6510000001,1047477.6510000001,1047477.6510000001,2957897.68846,2957897.68846 +7160400.0,906089.7449999999,789360.7559999999,2304933.40752,830386.0804800001,830386.0804800001,830386.0804800001,846893.4670000001,1579141.0866399999,2313411.81056,1299292.1697,1979873.7824,737091.5730000001,737091.5730000001,737091.5730000001,993324.8884999999,906089.7449999999,906089.7449999999,878946.6823799999,964545.3431999999,1433719.2508799997,2500673.1119999997,709714.84512,902623.9137599999,905390.7390000001,905390.7390000001,905390.7390000001,905390.7390000001,2724309.8332999996,2724309.8332999996 +7164000.0,419721.25800000003,298524.97199999995,871692.9182399999,421784.65758,421784.65758,421784.65758,350917.8435,784370.09048,904857.10144,582828.96126,888120.32192,334786.926,334786.926,334786.926,434014.952,419721.25800000003,419721.25800000003,667676.0278499998,214509.5703,318851.26252,556135.923,157836.67148,200738.58554,490499.75099999993,490499.75099999993,490499.75099999993,490499.75099999993,1261961.91572,1261961.91572 +7167600.0,147802.002,108019.905,315418.1226,112107.12843000001,112107.12843000001,112107.12843000001,63539.34649999999,310470.57096,747770.8998400001,237738.97076999999,362268.90784,189897.47999999998,189897.47999999998,189897.47999999998,118602.155,147802.002,147802.002,227714.29849999998,89548.72785000001,133106.99794,232163.3685,65890.17506000001,83799.92063000001,142695.294,142695.294,142695.294,142695.294,444391.35268,444391.35268 +7171200.0,143271.68399999998,114193.695,333445.5894,94594.54521000001,94594.54521000001,94594.54521000001,46488.984500000006,318179.01472,727721.0617600002,229959.87902999998,350415.05376,181740.099,181740.099,181740.099,110346.68399999998,143271.68399999998,143271.68399999998,220856.33998999998,82919.60280000001,123253.33552000001,214976.74800000002,61012.44848000001,77596.36904,137431.101,137431.101,137431.101,137431.101,430770.19655999995,430770.19655999995 +7174800.0,144229.94400000002,128409.693,374956.30356,86493.35673000001,86493.35673000001,86493.35673000001,47305.3595,298518.22255999997,690204.17792,223158.98304000002,340051.78368000005,167032.12800000003,167032.12800000003,167032.12800000003,102403.2975,144229.94400000002,144229.94400000002,214878.15453,87457.3119,129998.27596,226741.179,64351.30604,81842.76842000001,132086.061,132086.061,132086.061,132086.061,433651.36496,433651.36496 +7178400.0,158567.55599999998,155481.459,454005.86027999996,94097.54530000001,94097.54530000001,94097.54530000001,56028.864499999996,322849.65984,774790.87936,278421.08028,424260.69376000005,193967.18699999998,193967.18699999998,193967.18699999998,108968.937,158567.55599999998,158567.55599999998,253582.19471,98741.81474999999,146771.78389999998,255997.2975,72654.4711,92402.83405,168143.712,168143.712,168143.712,168143.712,476759.78504,476759.78504 +7182000.0,175861.43700000003,163035.018,476062.25256,118320.61428000001,118320.61428000001,118320.61428000001,63003.97600000001,328821.70808,780000.3104,317721.18672,484146.57024000003,254577.96000000002,254577.96000000002,254577.96000000002,120388.0685,175861.43700000003,175861.43700000003,255566.29565999997,111977.6643,166445.81212,290312.463,82393.44188,104788.97474,211103.538,211103.538,211103.538,211103.538,528756.7205800001,528756.7205800001 +7185600.0,203688.138,177873.12,519389.51039999997,131794.28823,131794.28823,131794.28823,68769.435,371490.37744,775245.30432,335999.40402,511999.09184,294298.596,294298.596,294298.596,201257.6335,203688.138,203688.138,273418.16332999995,128373.08085,190816.28313999998,332819.0985,94457.22986,120131.84603,251646.40499999997,251646.40499999997,251646.40499999997,251646.40499999997,612422.3349199999,612422.3349199999 +7189200.0,252950.079,194274.02400000003,567280.15008,145532.42264,145532.42264,145532.42264,77160.84950000001,471123.59816,805322.8902400001,393662.06439,599866.00288,340512.576,340512.576,340512.576,212798.3235,252950.079,252950.079,292222.16569,143198.5797,212853.19747999997,371255.577,105365.86852,134005.58445999998,307006.308,307006.308,307006.308,307006.308,760536.57086,760536.57086 +7192800.0,409242.423,234042.92700000003,683405.34684,250703.89663000003,250703.89663000003,250703.89663000003,155959.61849999998,951240.5218399998,963135.1033600001,633081.9621,964696.3232,384186.363,384186.363,384186.363,337246.25899999996,409242.423,409242.423,515983.64466999995,202906.64025,301604.43809999997,526054.2525,149299.2069,189880.53495,428068.72200000007,428068.72200000007,428068.72200000007,428068.72200000007,1230455.55182,1230455.55182 +7196400.0,1108541.1570000001,519662.99399999995,1517415.94248,1531050.8417600002,1531050.8417600002,1531050.8417600002,1326260.4775,3173544.1781599997,3579817.5353600006,2644121.07225,4029136.872000001,1009288.953,1009288.953,1009288.953,1428053.9980000001,1108541.1570000001,1108541.1570000001,2384852.1605999996,1427672.6685,2122120.8554,3701373.585,1050485.0746,1336019.6083000002,1344313.908,1344313.908,1344313.908,1344313.908,3333013.74538,3333013.74538 +7200000.0,597892.119,869230.4370000002,2538152.8760400005,1300131.93145,1300131.93145,1300131.93145,1515221.0045,3187597.5132799996,1647771.7459200004,2162480.30187,3295208.07904,766787.841,766787.841,766787.841,1081829.273,597892.119,597892.119,1631776.6414299998,1576382.8931999998,2343166.6708799996,4086918.6119999997,1159906.42512,1475183.00376,912008.376,912008.376,912008.376,912008.376,1797662.3044599998,1797662.3044599998 +7203600.0,1491365.172,1397062.518,4079422.5525599997,615130.9721700001,615130.9721700001,615130.9721700001,985787.5650000001,2776727.36176,4262315.333120001,2145039.0511200004,3268630.9350400004,1219542.261,1219542.261,1219542.261,804939.7685,1491365.172,1491365.172,1230765.84475,919802.64015,1367212.81326,2384673.5115,676793.05374,860753.58177,1610707.332,1610707.332,1610707.332,1610707.332,4484037.95048,4484037.95048 +7207200.0,886724.4540000001,654691.755,1911699.9245999998,316557.42866000003,316557.42866000003,316557.42866000003,260073.0475,1118230.8191999998,4861323.56864,438809.10318,668661.4905600001,798516.39,798516.39,798516.39,732730.9079999999,886724.4540000001,886724.4540000001,672905.2963099999,1469993.2204500001,2185026.95978,3811093.5345000005,1081624.64122,1375623.2853100002,372367.122,372367.122,372367.122,372367.122,2666084.85836,2666084.85836 +7210800.0,483464.4330000001,379652.703,1108585.89276,149360.84372,149360.84372,149360.84372,251124.4715,808091.69744,1696152.75584,487001.6308500001,742097.7232000001,312500.151,312500.151,312500.151,247847.75749999995,483464.4330000001,483464.4330000001,402309.36681,295081.16939999996,438614.4789599999,765025.254,217121.45304,276137.68692,325028.79000000004,325028.79000000004,325028.79000000004,325028.79000000004,1453616.39522,1453616.39522 +7214400.0,584318.403,1020388.1699999999,2979533.4563999996,265967.63798000006,265967.63798000006,265967.63798000006,691509.35,1352300.0048,2042926.02368,933780.46587,1422903.5670399999,501573.46800000005,501573.46800000005,501573.46800000005,831105.03,584318.403,584318.403,561750.6503699999,553618.8364500001,822909.97418,1435308.0945000001,407354.10682000004,518077.8741100001,552115.653,552115.653,552115.653,552115.653,1756850.66502,1756850.66502 +7218000.0,410219.517,361163.781,1054598.24052,218907.06640000004,218907.06640000004,218907.06640000004,491408.99150000006,855215.86048,1147149.9251200003,547792.10745,834730.8304,348809.142,348809.142,348809.142,275454.51499999996,410219.517,410219.517,392969.92449,348087.5208,517404.16672,902449.128,256123.65728,325741.16144000005,346101.97199999995,346101.97199999995,346101.97199999995,346101.97199999995,1233393.34778,1233393.34778 +7221600.0,271273.569,199496.13,582528.6996,80359.66323000002,80359.66323000002,80359.66323000002,171961.0445,586669.26544,684538.5376,330601.97562,503774.43904,225960.57299999997,225960.57299999997,225960.57299999997,156134.5765,271273.569,271273.569,279194.53562,184981.21469999998,274959.73147999996,479580.92699999997,136109.63452,173105.87746,220343.84699999998,220343.84699999998,220343.84699999998,220343.84699999998,815629.1974599999,815629.1974599999 +7225200.0,375215.61600000004,249203.376,727673.85792,573664.0050900001,573664.0050900001,573664.0050900001,591836.007,776720.3211999999,436689.6352,683482.84305,1041497.6656,235679.46600000001,235679.46600000001,235679.46600000001,637431.018,375215.61600000004,375215.61600000004,611179.8072899999,416348.2377,618868.24468,1079421.357,306350.06132,389619.70886,197094.73200000002,197094.73200000002,197094.73200000002,197094.73200000002,1128148.28544,1128148.28544 +7228800.0,251885.05799999996,630142.458,1840015.97736,320880.81465,320880.81465,320880.81465,384799.33449999994,968648.5632000001,517360.37440000003,360392.58969,549169.66048,284259.411,284259.411,284259.411,702802.968,251885.05799999996,251885.05799999996,697570.6684699999,344140.164,511536.7376,892215.24,253219.18240000002,322047.21520000004,309210.15,309210.15,309210.15,309210.15,757334.4077199999,757334.4077199999 +7232400.0,648951.21,679133.6460000001,1983070.2463200002,493837.38976000005,493837.38976000005,493837.38976000005,758188.8300000001,1602868.9715999998,2293563.2307200003,1092109.00092,1664166.0966400001,658655.8319999999,658655.8319999999,658655.8319999999,910712.3585,648951.21,648951.21,753866.7016400001,808736.44455,1202121.82622,2096724.1155,595070.27278,756817.56169,684260.1749999999,684260.1749999999,684260.1749999999,684260.1749999999,1951179.9714,1951179.9714 +7236000.0,1929741.336,1671342.645,4880320.523399999,2478425.33191,2478425.33191,2478425.33191,2755677.6799999997,3247759.5697599994,5516825.453440001,3389194.5248700003,5164486.895040001,2114747.949,2114747.949,2114747.949,2428697.7890000003,1929741.336,1929741.336,1725075.34563,2438094.82815,3624032.3124599997,6320986.5915,1793956.19454,2281575.16017,2114349.522,2114349.522,2114349.522,2114349.522,5802088.950239999,5802088.950239999 +7239600.0,1278778.8329999999,809559.2160000001,2363912.9107200005,1147643.6875200002,1147643.6875200002,1147643.6875200002,1245421.2155000002,2114288.6106399996,3185968.4659200003,1776289.5133200001,2706726.87744,1082075.1239999998,1082075.1239999998,1082075.1239999998,1339441.922,1278778.8329999999,1278778.8329999999,857259.4553899999,1270702.48095,1888797.26798,3294413.8395000002,934986.0230200001,1189126.51921,1154984.727,1154984.727,1154984.727,1154984.727,3844861.6912199995,3844861.6912199995 +7243200.0,996270.783,799179.135,2333603.0741999997,1062600.22352,1062600.22352,1062600.22352,1039292.1979999999,1772546.6267199998,3143313.04512,1501798.60887,2288455.0230400003,924486.771,924486.771,924486.771,1234937.5675,996270.783,996270.783,1043642.6552499998,1211521.08645,1800828.87418,3140980.5945,891440.2068200001,1133744.42411,1040070.5129999999,1040070.5129999999,1040070.5129999999,1040070.5129999999,2995454.15422,2995454.15422 +7246800.0,935787.0,805067.277,2350796.44884,1052881.73507,1052881.73507,1052881.73507,1062760.6675,1745056.2808800002,3266179.971200001,1485412.18665,2263485.2368,924301.119,924301.119,924301.119,1232896.7245,935787.0,935787.0,1044949.69098,1216918.21365,1808851.2706600002,3154973.1465000003,895411.4263400001,1138795.0690700002,1047645.4199999999,1047645.4199999999,1047645.4199999999,1047645.4199999999,2813599.58,2813599.58 +7250400.0,659869.248,573683.229,1675155.0286800002,688102.66965,688102.66965,688102.66965,584147.1125,895869.92256,2007345.2684799999,826413.33327,1259296.5078399999,490929.7860000001,490929.7860000001,490929.7860000001,617220.2715,659869.248,659869.248,776537.62654,568115.55225,844458.1788999999,1472892.1725,418020.8261,531643.93655,661478.406,661478.406,661478.406,661478.406,1984006.8723199998,1984006.8723199998 +7254000.0,114617.85,102808.54200000002,300200.94264,115870.16903000002,115870.16903000002,115870.16903000002,62072.419499999996,186533.70552000002,704201.2326400001,164421.35787,250546.83104,149887.84500000003,149887.84500000003,149887.84500000003,109631.97,114617.85,114617.85,209349.13167999996,82091.77469999998,122022.83547999998,212830.52699999997,60403.33051999999,76821.68546,125825.385,125825.385,125825.385,125825.385,344617.669,344617.669 +7257600.0,111285.65099999998,101760.74699999999,297141.38123999996,92711.71844000001,92711.71844000001,92711.71844000001,41340.376000000004,196551.45464,703673.52,205186.20528000002,312664.69376000005,147419.415,147419.415,147419.415,104247.82549999999,111285.65099999998,111285.65099999998,214508.98222,75484.46699999999,112201.6028,195700.47,55541.6572,70638.5506,125888.199,125888.199,125888.199,125888.199,334598.85733999993,334598.85733999993 +7261200.0,119208.65399999998,111945.14700000003,326879.82924000005,88149.65137,88149.65137,88149.65137,39305.6055,208611.21816000002,709017.2320000001,230833.86753,351746.84576,147804.66,147804.66,147804.66,104839.5425,119208.65399999998,119208.65399999998,221015.32973,75978.7047,112936.24748,196981.82700000002,55905.31852000001,71101.05946,132586.266,132586.266,132586.266,132586.266,358420.68635999993,358420.68635999993 +7264800.0,129634.758,126130.587,368301.31404,84505.08033000001,84505.08033000001,84505.08033000001,44144.989,223338.64112,714997.2281599999,249252.4881,379813.3152,157655.81699999998,157655.81699999998,157655.81699999998,103533.7275,129634.758,129634.758,246053.99637,89532.75059999998,133083.24904,232121.946,65878.41896,83784.96908,140980.053,140980.053,140980.053,140980.053,389768.50572,389768.50572 +7268400.0,146860.60499999998,137892.99,402647.53079999995,91490.48238,91490.48238,91490.48238,57632.064,278856.30912,748155.56224,293263.22109,446877.28928,178868.496,178868.496,178868.496,113134.99050000001,146860.60499999998,146860.60499999998,255085.65640999997,103801.32585,154292.34113999997,269114.5485,76377.27186,97137.53702999999,187392.261,187392.261,187392.261,187392.261,441560.8856999999,441560.8856999999 +7272000.0,211488.075,163514.91,477463.5372,111433.42947,111433.42947,111433.42947,77076.42599999999,403803.60552,837182.50048,361338.56451000005,550611.14592,310773.297,310773.297,310773.297,211131.6025,211488.075,211488.075,299564.35652,137987.76870000002,205107.74508000002,357746.06700000004,101531.74092000001,129129.29466000001,267405.42600000004,267405.42600000004,267405.42600000004,267405.42600000004,635874.1455000001,635874.1455000001 +7275600.0,245393.13299999997,175434.288,512268.12096,123191.07746000001,123191.07746000001,123191.07746000001,82026.71049999999,479346.84375999996,808405.6512000001,397791.55983000004,606158.5673600001,357513.003,357513.003,357513.003,227326.715,245393.13299999997,245393.13299999997,313355.82901999995,150440.8788,223618.29392,390031.908,110694.77008,140782.94584,307562.84400000004,307562.84400000004,307562.84400000004,307562.84400000004,737815.3532199999,737815.3532199999 +7279200.0,416022.16799999995,239042.478,698004.03576,238413.78682,238413.78682,238413.78682,160276.529,981450.56736,924857.2940800001,658861.29981,1003979.12352,405698.448,405698.448,405698.448,351024.4255,416022.16799999995,416022.16799999995,528937.49896,209607.07364999998,311564.09465999994,543425.7465,154229.40234,196150.81707,457638.537,457638.537,457638.537,457638.537,1250839.9851199999,1250839.9851199999 +7282800.0,1108278.726,509409.45300000004,1487475.6027600002,1522812.7710400003,1522812.7710400003,1522812.7710400003,1333990.2975,3187228.96256,3471863.596800001,2631851.05134,4010439.69728,991200.633,991200.633,991200.633,1437769.0635000002,1108278.726,1108278.726,2374929.19794,1375791.2410499998,2045003.2768199996,3566866.1805,1012310.5921799999,1287468.8403899998,1356777.1199999999,1356777.1199999999,1356777.1199999999,1356777.1199999999,3332224.70284,3332224.70284 +7286400.0,641788.686,899393.244,2626228.27248,1263097.5850900002,1263097.5850900002,1263097.5850900002,1515568.257,3314930.3504000003,1783476.0710400003,2263421.71839,3449023.5708800005,812154.021,812154.021,812154.021,1097848.7275,641788.686,641788.686,1687914.29573,1602841.9846499998,2382495.9870599997,4155516.2564999997,1179375.0899399999,1499943.48687,972427.185,972427.185,972427.185,972427.185,1929644.6492399997,1929644.6492399997 +7290000.0,1578402.06,1535101.3499999999,4482495.942,682495.2882000001,682495.2882000001,682495.2882000001,1095642.023,3019205.96048,4783910.00768,2341960.62891,3568701.91072,1332805.0860000001,1332805.0860000001,1332805.0860000001,856289.6124999999,1578402.06,1578402.06,999175.4173699999,993285.5930999999,1476439.3260399997,2575184.871,730861.99196,929519.11058,1723675.815,1723675.815,1723675.815,1723675.815,4745728.8604,4745728.8604 +7293600.0,985927.8570000001,695181.309,2029929.42228,358015.57198,358015.57198,358015.57198,337397.7145,1248308.77168,5193836.0832,576285.33039,878149.0748800001,942244.341,942244.341,942244.341,898176.02,985927.8570000001,985927.8570000001,932495.2195,1633602.5446499998,2428219.09106,4235265.8565,1202008.7859399999,1528729.2948699999,491156.796,491156.796,491156.796,491156.796,2964356.42338,2964356.42338 +7297200.0,510467.562,391565.385,1143370.9242,156724.77205000003,156724.77205000003,156724.77205000003,295359.85150000005,868775.8616000001,1839209.6217600002,527681.19012,804085.62304,344322.351,344322.351,344322.351,278097.14449999994,510467.562,510467.562,433359.02791999996,384470.1531,571484.03004,996774.471,282894.08796,359788.11858,362729.63399999996,362729.63399999996,362729.63399999996,362729.63399999996,1534805.8030799998,1534805.8030799998 +7300800.0,600693.075,1027808.1089999999,3001199.6782799996,295764.51498000004,295764.51498000004,295764.51498000004,735259.056,1371628.81632,2046064.1312,994774.36275,1515846.648,525077.466,525077.466,525077.466,851487.161,600693.075,600693.075,560222.94627,583118.5261499999,866758.8956599999,1511788.7715,429060.05134,545683.75657,569374.782,569374.782,569374.782,569374.782,1806083.8454999998,1806083.8454999998 +7304400.0,404416.968,356220.165,1040162.8817999999,234533.56685000003,234533.56685000003,234533.56685000003,510978.3735,831526.1808,1099750.87872,543432.26448,828087.2601600001,338043.97199999995,338043.97199999995,338043.97199999995,303909.2175,404416.968,404416.968,376587.52625,341466.23655,507562.15901999996,885282.8354999999,251251.69998,319544.94729,337973.205,337973.205,337973.205,337973.205,1215947.0171199997,1215947.0171199997 +7308000.0,259101.79499999998,184100.427,537573.24684,79334.51977000001,79334.51977000001,79334.51977000001,159651.0265,546076.3539999999,619705.08544,307500.66522,468572.44224000006,207018.945,207018.945,207018.945,143529.792,259101.79499999998,259101.79499999998,257977.94788999998,168395.9787,250307.10908,436582.167,123906.17692,157585.37266,204930.309,204930.309,204930.309,204930.309,779032.7302999999,779032.7302999999 +7311600.0,360003.864,231437.202,675796.62984,646074.4332900002,646074.4332900002,646074.4332900002,579324.011,732899.89872,366471.584,667615.17732,1017318.36544,217132.785,217132.785,217132.785,653917.866,360003.864,360003.864,587133.58314,417042.62235,619900.39174,1081221.6135,306860.99126000004,390269.51573000004,181071.183,181071.183,181071.183,181071.183,1082411.61776,1082411.61776 +7315200.0,255961.68,642883.215,1877218.9878,320448.8859,320448.8859,320448.8859,380081.772,948813.4704,480822.21184000006,358281.19383000006,545952.2953600001,279993.87,279993.87,279993.87,699214.201,255961.68,255961.68,709273.0232899999,344692.71765,512358.06426,893647.7865,253625.75274000003,322564.29627000005,313589.757,313589.757,313589.757,313589.757,769591.4511999999,769591.4511999999 +7318800.0,641599.458,675458.358,1972338.40536,486004.9678,486004.9678,486004.9678,745734.22,1606957.9352000002,2249120.21504,1071827.91786,1633261.58912,645600.966,645600.966,645600.966,920165.5365,641599.458,641599.458,740857.57083,794797.1828999999,1181402.2323599998,2060585.2889999999,584813.72964,743773.16622,674576.346,674576.346,674576.346,674576.346,1929075.7037199999,1929075.7037199999 +7322400.0,1944586.068,1690337.034,4935784.13928,2618508.00013,2618508.00013,2618508.00013,2756591.6805000002,3237928.2801599996,5565845.2064000005,3407710.1753100003,5192701.219520001,2122042.992,2122042.992,2122042.992,2494135.2835,1944586.068,1944586.068,1876252.97704,2482792.17525,3690471.3320999998,6436868.6025,1826844.6128999998,2323403.04795,2157130.29,2157130.29,2157130.29,2157130.29,5846722.11112,5846722.11112 +7326000.0,1309128.201,816560.889,2384357.7958799996,1187516.1547700001,1187516.1547700001,1187516.1547700001,1300586.966,2149200.3817600003,3241156.3520000004,1801526.3647500002,2745183.032,1119635.097,1119635.097,1119635.097,1356276.4005,1309128.201,1309128.201,888701.8770499999,1289375.77545,1916553.62178,3342826.0845000003,948725.8792200001,1206601.03431,1193895.513,1193895.513,1193895.513,1193895.513,3936112.1243399996,3936112.1243399996 +7329600.0,1009170.279,802587.0929999999,2343554.3115599994,1072653.3188800002,1072653.3188800002,1072653.3188800002,1043415.737,1777930.1898400001,3203175.8604800007,1506488.1090000002,2295600.9280000003,932046.396,932046.396,932046.396,1241754.6435,1009170.279,1009170.279,1050505.26503,1222337.69685,1816906.8975399998,3169023.6585,899399.09546,1143866.63483,1056268.6860000002,1056268.6860000002,1056268.6860000002,1056268.6860000002,3034238.63886,3034238.63886 +7333200.0,939586.2930000001,808324.0860000001,2360306.33112,1064162.04532,1064162.04532,1064162.04532,1065612.9190000002,1748580.72088,3270032.3072,1490910.8277,2271864.1184,928477.089,928477.089,928477.089,1239385.868,939586.2930000001,939586.2930000001,1060914.5619799998,1220933.1852,1814819.2036799998,3165382.332,898365.65232,1142552.28936,1055332.575,1055332.575,1055332.575,1055332.575,2825022.78762,2825022.78762 +7336800.0,664782.7649999999,577645.236,1686724.0891200001,695725.93431,695725.93431,695725.93431,589180.8825,900824.1522400001,2019503.4400000002,831518.14095,1267075.2624000001,494203.49100000004,494203.49100000004,494203.49100000004,623643.6185,664782.7649999999,664782.7649999999,787006.6829299999,572747.7599999999,851343.5839999998,1484901.5999999999,421429.21599999996,535978.7679999999,667175.868,667175.868,667175.868,667175.868,1998780.1800999998,1998780.1800999998 +7340400.0,115576.959,103495.96800000001,302208.22656000004,116862.55713,116862.55713,116862.55713,62333.558,187086.63088,712927.0144,181587.60774000004,276704.92608000006,151312.548,151312.548,151312.548,110625.956,115576.959,115576.959,210205.70609999998,82951.58565,123300.87546,215059.6665,61035.98154,77626.29867,126752.967,126752.967,126752.967,126752.967,347501.39005999995,347501.39005999995 +7344000.0,111716.52600000001,102135.927,298236.90684,93429.99611,93429.99611,93429.99611,41511.4105,197482.35064,709572.24256,209530.59225,319284.712,148287.13799999998,148287.13799999998,148287.13799999998,104921.1485,111716.52600000001,111716.52600000001,215129.50108,75996.7353,112963.04852,197028.573,55918.58548,71117.93254,126355.647,126355.647,126355.647,126355.647,335894.35484000004,335894.35484000004 +7347600.0,119798.48700000002,112295.103,327901.70076,88624.49827,88624.49827,88624.49827,39671.0265,208751.384,712139.3024,230353.11831,351014.27552,153694.041,153694.041,153694.041,105133.595,119798.48700000002,119798.48700000002,221173.10735,76679.5977,113978.06868,198798.957,56421.03732,71756.95686,136289.709,136289.709,136289.709,136289.709,360194.11758,360194.11758 +7351200.0,129691.12800000001,126282.12,368743.7904,84967.57478000001,84967.57478000001,84967.57478000001,44260.7375,218160.43576,718080.7942400001,249457.05792,380125.04064,164909.74200000003,164909.74200000003,164909.74200000003,103823.15299999999,129691.12800000001,129691.12800000001,246202.45220999996,90072.6885,133885.8234,233521.78500000003,66275.7066,84290.2443,141364.035,141364.035,141364.035,141364.035,389937.99152000004,389937.99152000004 +7354800.0,142063.461,133719.039,390459.59388,88864.18057000001,88864.18057000001,88864.18057000001,56174.118,242494.44848,721991.1315199999,283278.98319,431663.21248000005,168978.744,168978.744,168978.744,109820.68299999999,142063.461,142063.461,246443.02917,100145.01015,148857.52125999998,259635.2115,73686.94574,93715.94777,180928.701,180928.701,180928.701,180928.701,427137.47274,427137.47274 +7358400.0,182018.109,143806.101,419913.81492,98641.83868000002,98641.83868000002,98641.83868000002,68317.2175,328336.77784,725998.6924800002,313138.37163,477163.23296,254191.32300000003,254191.32300000003,254191.32300000003,178489.5245,182018.109,182018.109,259548.55238,119064.25709999999,176979.46363999997,308685.111,87607.77436,111420.62578,229752.228,229752.228,229752.228,229752.228,547267.78106,547267.78106 +7362000.0,216069.63300000003,158517.618,462871.44456,112694.18930000001,112694.18930000001,112694.18930000001,76239.079,406168.21567999996,727516.5504000001,350062.85706,533429.1155200001,298459.50899999996,298459.50899999996,298459.50899999996,204201.19999999998,216069.63300000003,216069.63300000003,281708.57350999996,133622.8002,198619.56968,346429.482,98319.98632,125044.54636,267136.239,267136.239,267136.239,267136.239,649649.36322,649649.36322 +7365600.0,378178.317,203278.182,593572.29144,220237.62673000002,220237.62673000002,220237.62673000002,155958.796,915570.4325599999,828160.9785600002,613238.11479,934458.0796800001,365610.861,365610.861,365610.861,331070.103,378178.317,378178.317,504319.20227,196589.85525,292215.0441,509677.4025,144651.3009,183969.27195,416149.098,416149.098,416149.098,416149.098,1137056.1397799999,1137056.1397799999 +7369200.0,772303.8509999999,271371.924,792406.0180800001,1262013.70746,1262013.70746,1262013.70746,1082440.2820000001,2610543.29976,2171192.3891200004,1956314.9106900003,2981051.2924800003,542165.121,542165.121,542165.121,1006107.851,772303.8509999999,772303.8509999999,1860811.66011,997804.1133,1483155.74372,2586899.553,734186.73028,933747.55294,916639.17,916639.17,916639.17,916639.17,2322060.2453399994,2322060.2453399994 +7372800.0,499058.304,821792.934,2399635.36728,862382.7843400001,862382.7843400001,862382.7843400001,1272128.6795,2751227.4455999997,1428955.38368,1842055.6240800002,2806941.9033600003,686733.7320000001,686733.7320000001,686733.7320000001,874177.9410000001,499058.304,499058.304,1268982.79066,1229509.25055,1827566.83662,3187616.5755000003,904675.94238,1150577.7924900001,763524.585,763524.585,763524.585,763524.585,1500501.9673600001,1500501.9673600001 +7376400.0,1376305.221,1067120.304,3115991.2876799996,427331.0622900001,427331.0622900001,427331.0622900001,641691.3125,2302382.0108,3318960.4832000006,1754606.8029,2673686.5568000004,1062024.462,1062024.462,1062024.462,602411.691,1376305.221,1376305.221,648172.12239,717639.2721000001,1066713.18964,1860546.2610000002,528040.7483600001,671568.6027800001,1476895.041,1476895.041,1476895.041,1476895.041,4138091.03114,4138091.03114 +7380000.0,744079.821,528563.517,1543405.46964,262258.84641,262258.84641,262258.84641,215313.889,788616.3778399999,4275474.73664,305170.42689,465021.60288,634578.306,634578.306,634578.306,566741.462,744079.821,744079.821,432877.64793,1198362.8065499999,1781270.1470199998,3106866.5354999998,881758.3119799999,1121430.87329,260963.715,260963.715,260963.715,260963.715,2237199.9951400002,2237199.9951400002 +7383600.0,378949.665,211674.921,618090.76932,134060.43167,134060.43167,134060.43167,186195.4325,570035.00072,767775.30304,341080.74273,519742.08415999997,199622.44199999998,199622.44199999998,199622.44199999998,150976.2555,378949.665,378949.665,266120.08982,201212.73585,299086.58514,521662.6485,148052.82786,188295.37503,230343.82799999998,230343.82799999998,230343.82799999998,230343.82799999998,1139375.3261,1139375.3261 +7387200.0,474870.768,919587.462,2685195.3890400003,178774.61569000004,178774.61569000004,178774.61569000004,558134.101,1098586.1921599999,1564702.2060800001,758027.27112,1155089.1750400001,370692.153,370692.153,370692.153,666807.1025,474870.768,474870.768,432403.57433,402433.78634999995,598185.5293399999,1043346.8535,296111.77366,376598.53093,425172.95699999994,425172.95699999994,425172.95699999994,425172.95699999994,1427778.10912,1427778.10912 +7390800.0,341250.321,238638.07800000004,696823.1877600001,160947.86917,160947.86917,160947.86917,382032.4935,672776.09424,857251.9987200001,426601.73219999997,650059.7824,260432.19900000002,260432.19900000002,260432.19900000002,210931.4515,341250.321,341250.321,310211.96972999995,257025.38085,382047.60313999996,666362.0985,189119.90986,240524.98603,271083.864,271083.864,271083.864,271083.864,1026025.96514,1026025.96514 +7394400.0,205218.56700000004,133662.087,390293.29404,74960.96696,74960.96696,74960.96696,115818.27600000001,419858.94519999996,415555.71392000007,225881.00199000002,344199.62208000006,148956.55500000002,148956.55500000002,148956.55500000002,100630.6385,205218.56700000004,205218.56700000004,196959.79342,110848.26104999999,164767.04481999998,287384.38049999997,81562.42418,103732.07639,148574.66999999998,148574.66999999998,148574.66999999998,148574.66999999998,617023.8247800001,617023.8247800001 +7398000.0,300612.75299999997,186033.96300000002,543219.1719600001,408414.12964000006,408414.12964000006,408414.12964000006,411058.2945,606956.20488,216337.50656000004,554843.4824099999,845475.78272,164335.86599999998,164335.86599999998,164335.86599999998,513122.82349999994,300612.75299999997,300612.75299999997,531244.5240699999,311875.75395,463578.28117999993,808566.7694999999,229478.94981999998,291854.10060999996,133838.11800000002,133838.11800000002,133838.11800000002,133838.11800000002,903842.3440199998,903842.3440199998 +7401600.0,180052.902,493782.91799999995,1441846.1205599997,291860.24945,291860.24945,291860.24945,331207.5235,797743.2174399999,281323.70304,234694.34646,357629.48032000003,204591.59699999998,204591.59699999998,204591.59699999998,583535.26,180052.902,180052.902,583586.7853400001,243973.76175,362647.4187,632524.5675,179516.49630000003,228311.24865000002,219699.636,219699.636,219699.636,219699.636,541359.0586799999,541359.0586799999 +7405200.0,303114.699,272466.066,795600.9127199999,326287.41486,326287.41486,326287.41486,281241.69850000006,689826.6692,752736.16192,419576.84979,639355.1996800001,239181.498,239181.498,239181.498,330843.5865,303114.699,303114.699,357652.15797999996,249564.6045,370957.75779999996,647019.345,183630.2522,233543.1731,259461.50700000004,259461.50700000004,259461.50700000004,259461.50700000004,911364.86166,911364.86166 +7408800.0,1753811.7030000002,1436054.19,4193278.2347999997,1710086.1857200002,1710086.1857200002,1710086.1857200002,2559455.15,3036694.3252,4622759.462400001,3036799.9031999996,4627504.614399999,1925137.8390000002,1925137.8390000002,1925137.8390000002,2022801.4310000003,1753811.7030000002,1753811.7030000002,1228291.2199999997,2080961.8146,3093182.74664,5395086.186,1531176.84136,1947369.2042800002,1832060.6009999998,1832060.6009999998,1832060.6009999998,1832060.6009999998,5273127.18702,5273127.18702 +7412400.0,1123316.907,741744.9450000001,2165895.2394,853321.87358,853321.87358,853321.87358,1049336.085,1801392.3431199999,2821559.2729600007,1558536.08274,2374912.12608,928038.96,928038.96,928038.96,1174992.9239999999,1123316.907,1123316.907,733316.14499,1131469.11855,1681838.04782,2933438.4555,832537.77118,1058831.59489,1006118.493,1006118.493,1006118.493,1006118.493,3377439.5003799996,3377439.5003799996 +7416000.0,893022.834,745284.717,2176231.37364,895150.87123,895150.87123,895150.87123,971827.5804999999,1640978.09016,2857447.4969599997,1393212.01719,2122989.74048,843416.8049999999,843416.8049999999,843416.8049999999,1138278.4525,893022.834,893022.834,773892.16502,1107281.24685,1645884.7175399999,2870729.1585,814740.27546,1036196.52483,935887.3469999998,935887.3469999998,935887.3469999998,935887.3469999998,2685021.98756,2685021.98756 +7419600.0,881499.1799999999,755643.873,2206480.10916,961134.8264100001,961134.8264100001,961134.8264100001,989061.815,1635632.9133600001,2905262.2464,1395306.5563500002,2126181.4192000004,857069.787,857069.787,857069.787,1149256.3285,881499.1799999999,881499.1799999999,920951.4888599999,1117148.4197999998,1660551.4783199998,2896310.718,822000.5656799999,1045430.2496399999,949086.1709999999,949086.1709999999,949086.1709999999,949086.1709999999,2650374.2012,2650374.2012 +7423200.0,619665.534,539026.425,1573957.161,638104.09531,638104.09531,638104.09531,558544.959,842037.3398399999,1759614.47936,780044.06781,1188638.5795200001,463200.23699999996,463200.23699999996,463200.23699999996,584118.3565,619665.534,619665.534,665062.95687,518135.1462,770166.31608,1343313.3420000002,381245.11992,484872.14916000003,611508.237,611508.237,611508.237,611508.237,1863127.7055600001,1863127.7055600001 +7426800.0,106960.71300000002,97013.439,283279.24188,96119.99749000001,96119.99749000001,96119.99749000001,60261.3655,162844.13096,588813.5449600001,151291.51485,230539.4512,139784.99699999997,139784.99699999997,139784.99699999997,102070.71,106960.71300000002,106960.71300000002,187648.26352999997,75380.25645,112046.70218,195430.2945,55464.97882,70541.03010999999,115005.44699999999,115005.44699999999,115005.44699999999,115005.44699999999,321595.21042,321595.21042 +7430400.0,103275.141,95008.581,277425.05652,83613.25786,83613.25786,83613.25786,39232.76700000001,179920.79903999998,646713.43424,145788.68136,222154.18112,136549.188,136549.188,136549.188,96729.71,103275.141,103275.141,199060.24826999998,69042.11984999999,102625.57073999998,178998.08849999998,50801.362259999994,64609.78622999999,113708.09399999998,113708.09399999998,113708.09399999998,113708.09399999998,310513.92393999995,310513.92393999995 +7434000.0,106989.79799999998,99611.931,290866.83852,80252.33326,80252.33326,80252.33326,34397.328,191193.16120000003,645303.14688,170464.59108,259755.56736000004,135695.121,135695.121,135695.121,96880.5985,106989.79799999998,106989.79799999998,200678.90466,67932.3186,100975.94024,176120.826,49984.76776,63571.23148,116681.541,116681.541,116681.541,116681.541,321682.65932,321682.65932 +7437600.0,118988.226,115193.505,336365.03459999996,76743.29321999999,76743.29321999999,76743.29321999999,39872.9555,192471.92263999995,649607.08992,198440.65143,302385.75456000003,135476.06100000002,135476.06100000002,135476.06100000002,95510.191,118988.226,118988.226,221556.7289,78407.39655,116546.30302,203278.43550000002,57692.35598000001,73373.83529,121443.885,121443.885,121443.885,121443.885,357757.93283999996,357757.93283999996 +7441200.0,123473.706,118582.25400000002,346260.18168000004,78130.57307000001,78130.57307000001,78130.57307000001,43882.14600000001,197519.03752,656234.0652800001,243383.08176000003,370869.45792,137095.407,137095.407,137095.407,97991.04699999999,123473.706,123473.706,226883.95300999997,85862.7459,127628.08155999999,222607.119,63178.02044,80350.56962,134666.673,134666.673,134666.673,134666.673,371244.27604,371244.27604 +7444800.0,145676.244,134910.21,393937.8132,90950.09627000002,90950.09627000002,90950.09627000002,63649.813500000004,222968.1632,686913.5545600001,277267.02423,422502.13216,181058.73,181058.73,181058.73,132748.882,145676.244,145676.244,239265.91754,103355.09685,153629.05754,267957.6585,76048.93546000001,96719.95483,192419.18399999998,192419.18399999998,192419.18399999998,192419.18399999998,437999.90696,437999.90696 +7448400.0,186526.77000000002,141855.762,414218.82504,102620.24740000001,102620.24740000001,102620.24740000001,72298.695,317521.98552,684406.51968,306353.61267,466824.55264000007,248792.865,248792.865,248792.865,186088.168,186526.77000000002,186526.77000000002,253403.03182999996,119032.98705,176932.98322,308604.0405,87584.76578,111391.36319,225526.116,225526.116,225526.116,225526.116,560823.8218,560823.8218 +7452000.0,316774.02,181653.885,530429.3441999999,207759.93062,207759.93062,207759.93062,149740.76249999998,824418.9124799999,724555.2646400001,527368.19163,803608.67296,299572.98,299572.98,299572.98,303810.955,316774.02,316774.02,471489.69685999997,175355.55944999997,260651.96737999996,454625.52449999994,129027.05361999998,164098.16551,343406.38800000004,343406.38800000004,343406.38800000004,343406.38800000004,952433.8868000001,952433.8868000001 +7455600.0,824642.946,318090.438,928824.0789600001,1272402.6795700002,1272402.6795700002,1272402.6795700002,1085837.571,2708933.2604,2297850.63616,2050011.0325799999,3123826.33536,611211.198,611211.198,611211.198,1008550.9384999999,824642.946,824642.946,1960277.6982099998,1015468.5203999999,1509412.46736,2632696.164,747184.2446399999,950277.94872,971091.78,971091.78,971091.78,971091.78,2479426.45764,2479426.45764 +7459200.0,548924.2320000001,849212.235,2479699.7262,944957.82997,944957.82997,944957.82997,1319875.9,2917971.33584,1542080.9888,1966171.72353,2996071.1977600004,738791.517,738791.517,738791.517,934015.845,548924.2320000001,548924.2320000001,1313064.95918,1310567.24655,1948053.04302,3397766.9355,964318.6159800001,1226432.06529,853220.298,853220.298,853220.298,853220.298,1650432.19088,1650432.19088 +7462800.0,1446689.3129999998,1164891.282,3401482.5434399997,479658.9831,479658.9831,479658.9831,708841.0,2457832.328,3701957.67744,1900405.4871900002,2895855.9804800004,1159040.142,1159040.142,1159040.142,643768.5415,1446689.3129999998,1446689.3129999998,685064.0335499999,778440.26565,1157088.98746,2018178.4665,572778.26954,728466.32267,1582483.155,1582483.155,1582483.155,1582483.155,4349712.534419999,4349712.534419999 +7466400.0,832742.1569999999,593304.027,1732447.7588399998,294366.42114000005,294366.42114000005,294366.42114000005,264083.92499999993,928158.6284800002,4595489.69984,413031.78923999995,629381.77408,755981.4330000001,755981.4330000001,755981.4330000001,705492.046,832742.1569999999,832742.1569999999,646847.6504099999,1340233.1523,1992149.0313199998,3474678.543,986146.86268,1254193.49314,347205.294,347205.294,347205.294,347205.294,2503778.0853799996,2503778.0853799996 +7470000.0,427080.717,291944.913,852479.14596,140056.78302,140056.78302,140056.78302,222145.0875,699202.0007999999,1111912.16192,418860.95202,638264.30784,263581.34699999995,263581.34699999995,263581.34699999995,211789.6725,427080.717,427080.717,351282.79926999996,252675.52695,375581.89437999995,655084.6995,185919.27662,236454.38201,287745.498,287745.498,287745.498,287745.498,1284089.3557799999,1284089.3557799999 +7473600.0,539534.376,980344.6379999999,2862606.3429599996,222674.67354,222674.67354,222674.67354,645043.007,1245378.6276,1841360.1408000002,877254.12096,1336768.18432,455913.333,455913.333,455913.333,764306.4975,539534.376,539534.376,500659.6243999999,508740.2721,756201.58964,1318956.2610000002,374332.34836000006,476080.40278000006,509403.537,509403.537,509403.537,509403.537,1622200.0238400002,1622200.0238400002 +7477200.0,368307.051,277266.396,809617.8763199999,193836.6397,193836.6397,193836.6397,429851.9015,746333.17184,968162.5011199999,479960.6065800001,731368.5433600001,302263.113,302263.113,302263.113,239655.34600000002,368307.051,368307.051,334469.68957999995,296209.69785,440291.94593999995,767951.0685,217951.82706,277193.76663,301575.321,301575.321,301575.321,301575.321,1107376.5333399998,1107376.5333399998 +7480800.0,217296.77999999997,146196.04499999998,426892.45139999996,75388.67105,75388.67105,75388.67105,125328.861,453668.76087999996,474112.18944,245417.3232,373969.25440000003,167178.675,167178.675,167178.675,112172.669,217296.77999999997,217296.77999999997,207213.08283,124011.2916,184332.83344,321510.756,91247.81456,116050.07288,163342.035,163342.035,163342.035,163342.035,653338.9851999999,653338.9851999999 +7484400.0,310646.37,187268.754,546824.76168,494235.09795,494235.09795,494235.09795,474360.91150000005,621281.02992,226393.02016000001,577002.2955900001,879241.5932800001,174907.008,174907.008,174907.008,562531.1124999999,310646.37,310646.37,531226.87137,343878.93090000004,511148.43556,891537.9690000002,253026.96644000002,321802.75262000004,138853.143,138853.143,138853.143,138853.143,934010.0858,934010.0858 +7488000.0,173624.307,508302.849,1484244.3190799998,294449.68927000003,294449.68927000003,294449.68927000003,326810.20399999997,780390.04872,258179.2992,227005.56123,345913.23616000003,198777.012,198777.012,198777.012,592887.6904999999,173624.307,173624.307,601101.42872,250307.11935000002,372061.44654000003,648944.3835000001,184176.59646000003,234238.02033000003,219183.45,219183.45,219183.45,219183.45,522030.41637999995,522030.41637999995 +7491600.0,287785.014,254434.81199999998,742949.6510399999,322810.58887000004,322810.58887000004,322810.58887000004,260498.7175,675608.5935199999,691593.7824,391299.02553,596265.1817600001,226048.413,226048.413,226048.413,336658.3885,287785.014,287785.014,336816.17111999996,226056.92219999997,336015.47448,586073.502,166333.24151999998,211544.62596,241959.987,241959.987,241959.987,241959.987,865273.60876,865273.60876 +7495200.0,1773204.6870000002,1452399.84,4241007.5328,1820139.81193,1820139.81193,1820139.81193,2572072.8425,3042579.2406400004,4697687.2697600005,3077975.95266,4690249.07072,1955895.0150000001,1955895.0150000001,1955895.0150000001,2088731.8235000002,1773204.6870000002,1773204.6870000002,1299108.03711,2121725.61945,3153774.87138,5500770.1245,1561170.94962,1985516.07351,1865295.1290000002,1865295.1290000002,1865295.1290000002,1865295.1290000002,5331435.4255800005,5331435.4255800005 +7498800.0,1164739.305,766981.041,2239584.63972,894655.1655799999,894655.1655799999,894655.1655799999,1114100.9355000001,1878438.8090399997,2936476.83584,1621563.79602,2470954.3558400003,977419.926,977419.926,977419.926,1237613.8775000002,1164739.305,1164739.305,784478.3256699999,1180911.0041999999,1755329.4432799998,3061621.122,868917.23272,1105099.43356,1051445.484,1051445.484,1051445.484,1051445.484,3501982.8436999996,3501982.8436999996 +7502400.0,901753.5119999999,751034.196,2193019.85232,955584.8156800001,955584.8156800001,955584.8156800001,977852.862,1654460.1448000001,2887379.14944,1401273.7895099998,2135274.3459199998,854653.662,854653.662,854653.662,1151236.786,901753.5119999999,901753.5119999999,779527.32052,1115280.1953,1657774.5125199999,2891467.173,820625.92148,1043681.96054,946268.514,946268.514,946268.514,946268.514,2711272.2260799995,2711272.2260799995 +7506000.0,891611.355,765866.298,2236329.59016,986439.9333800001,986439.9333800001,986439.9333800001,1001724.6190000002,1659643.5243999998,2954664.74688,1411857.0295199999,2151401.18784,877408.125,877408.125,877408.125,1171950.3075,891611.355,891611.355,929526.9781199999,1132523.1553499997,1683404.7889399996,2936171.1434999993,833313.3340599998,1059817.96513,975293.6939999999,975293.6939999999,975293.6939999999,975293.6939999999,2680778.1407,2680778.1407 +7509600.0,659245.722,580882.6140000001,1696177.23288,680310.58953,680310.58953,680310.58953,595027.2999999999,906241.5464799999,1949555.46304,835459.62381,1273081.3315200002,505629.77100000007,505629.77100000007,505629.77100000007,633262.3745,659245.722,659245.722,709372.39308,575821.3859999999,855912.2823999999,1492870.26,423690.7976,538855.0748,665452.6919999999,665452.6919999999,665452.6919999999,665452.6919999999,1982132.1374799998,1982132.1374799998 +7513200.0,118406.79299999999,109253.751,319020.95292,117457.32658000001,117457.32658000001,117457.32658000001,63664.13899999999,192006.89511999997,766188.8358400001,170229.39422999998,259397.17216,162892.488,162892.488,162892.488,115606.3265,118406.79299999999,118406.79299999999,217725.15024,87007.40955,129329.53222,225574.7655,64020.266780000005,81421.74869000001,131344.932,131344.932,131344.932,131344.932,356009.75761999993,356009.75761999993 +7516800.0,118295.83800000002,111061.578,324299.80776,99913.84392,99913.84392,99913.84392,43777.3455,216925.24072,790717.9916800001,176984.05745999998,269689.99231999996,165989.607,165989.607,165989.607,115247.7025,118295.83800000002,118295.83800000002,234899.07245999997,82900.7946,123225.37863999998,214927.98599999998,60998.609359999995,77578.76827999999,133935.405,133935.405,133935.405,133935.405,355676.15292,355676.15292 +7520400.0,131501.51400000002,128769.513,376006.97796,96633.33031000002,96633.33031000002,96633.33031000002,45150.293999999994,232350.33344000002,807765.9180800001,224319.83490000005,341820.70080000005,168546.912,168546.912,168546.912,117120.50349999999,131501.51400000002,131501.51400000002,253935.21503999998,88859.3733,132082.32772,230376.15300000002,65382.94628000001,83154.82094,141926.064,141926.064,141926.064,141926.064,395381.21876,395381.21876 +7524000.0,144279.015,143212.926,418181.74392,95339.69709000002,95339.69709000002,95339.69709000002,50084.1005,247322.96048,834502.29952,285802.00614,435507.81888000004,173045.64299999998,173045.64299999998,173045.64299999998,119140.75949999999,144279.015,144279.015,279821.80290999997,105248.6784,156443.71456,272866.944,77442.23744,98491.97312000001,158585.82,158585.82,158585.82,158585.82,433798.90510000003,433798.90510000003 +7527600.0,174896.66700000002,158842.506,463820.11751999997,107429.92106000001,107429.92106000001,107429.92106000001,74329.70999999999,321263.8896,863961.47712,337244.23026,513895.96992,243354.65400000004,243354.65400000004,243354.65400000004,175150.7345,174896.66700000002,174896.66700000002,292915.57048,128491.79039999998,190992.73536,333126.864,94544.57664,120242.93471999999,246453.59699999998,246453.59699999998,246453.59699999998,246453.59699999998,525855.97878,525855.97878 +7531200.0,233160.67500000002,176076.225,514142.57700000005,115451.8992,115451.8992,115451.8992,79184.7455,477814.58543999994,871208.9171200001,387248.89665,590093.5568,345728.613,345728.613,345728.613,235881.1735,233160.67500000002,233160.67500000002,322050.87082999997,149472.2079,222178.44236,387520.539,109982.01964,139876.46122,295954.19700000004,295954.19700000004,295954.19700000004,295954.19700000004,701036.4295,701036.4295 +7534800.0,286768.5,200279.89200000002,584817.2846400001,133776.48812,133776.48812,133776.48812,87918.026,572958.26528,905889.0803200001,470500.01796,716952.40832,413258.439,413258.439,413258.439,253774.50700000004,286768.5,286768.5,354566.74981,174387.7917,259213.45828,452116.497,128314.96772,163192.52606,380173.851,380173.851,380173.851,380173.851,862217.2899999999,862217.2899999999 +7538400.0,478260.80999999994,253296.27,739625.1083999999,234042.96905,234042.96905,234042.96905,164427.97699999998,1060418.28816,1050031.52,722046.4855800001,1100261.3113600002,452920.89,452920.89,452920.89,378917.1995,478260.80999999994,478260.80999999994,557717.4798,236897.47215,352129.08206,614178.6315,174309.74494,221689.23937,510338.8890000001,510338.8890000001,510338.8890000001,510338.8890000001,1437970.8353999997,1437970.8353999997 +7542000.0,805962.9089999999,305960.01300000004,893403.2379599999,1318318.1444400002,1318318.1444400002,1318318.1444400002,1188507.2815,2682130.16576,2543821.9334400003,2075667.0459000003,3162921.2128000003,610664.034,610664.034,610664.034,1212116.661,805962.9089999999,805962.9089999999,1925268.3585199998,1132410.2616,1683236.98144,2935878.4560000002,833230.26656,1059712.3188800002,964829.175,964829.175,964829.175,964829.175,2423261.8130599996,2423261.8130599996 +7545600.0,495534.174,808559.967,2360995.10364,837254.52294,837254.52294,837254.52294,1309765.5795,2815959.4948,1452710.17728,1871630.5303500001,2852008.4272000003,681688.086,681688.086,681688.086,909974.9574999999,495534.174,495534.174,1249374.70541,1273572.6713999999,1893063.5757599997,3301855.0739999996,937097.9162399999,1191812.45052,754531.437,754531.437,754531.437,754531.437,1489906.08316,1489906.08316 +7549200.0,1216090.866,883220.4450000001,2579003.6994,331947.25046999997,331947.25046999997,331947.25046999997,562445.8489999999,1947287.8071199998,2666755.9020800004,1455635.15454,2218110.71168,897926.868,897926.868,897926.868,521522.13399999996,1216090.866,1216090.866,478050.7869799999,611671.65795,909200.83478,1585815.4095000003,450069.51622000005,572403.8478100001,1260400.875,1260400.875,1260400.875,1260400.875,3656379.8704399997,3656379.8704399997 +7552800.0,531283.197,415883.10599999997,1214378.66952,186391.30730000001,186391.30730000001,186391.30730000001,162879.577,426897.01536,3463204.7814400005,113882.43069000001,173535.13248,425340.603,425340.603,425340.603,343655.277,531283.197,531283.197,190246.04352,906371.83575,1347249.0003,2349852.9075,666910.6347,848185.0018500001,125286.921,125286.921,125286.921,125286.921,1597391.47898,1597391.47898 +7556400.0,158128.005,34435.746,100552.37831999999,112689.31751,112689.31751,112689.31751,85337.66500000001,73385.0312,101297.70688000001,52513.387709999995,80020.40032,23086.296000000002,23086.296000000002,23086.296000000002,30483.495,158128.005,158128.005,31087.765929999998,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,28079.367000000002,28079.367000000002,28079.367000000002,28079.367000000002,475438.20170000003,475438.20170000003 +7560000.0,206650.533,494305.149,1443371.03508,116696.76975000002,116696.76975000002,116696.76975000002,302373.0675,374745.8796,410063.38112,208958.68161,318413.22912000003,99354.44699999999,99354.44699999999,99354.44699999999,359285.871,206650.533,206650.533,139174.34375,100049.97284999999,148716.25594,259388.8185,73617.01706,93627.01163000001,96824.77200000001,96824.77200000001,96824.77200000001,96824.77200000001,621329.2692199999,621329.2692199999 +7563600.0,73422.093,14181.984,41411.393280000004,84362.03203999999,84362.03203999999,84362.03203999999,168413.91350000002,109691.24248,34929.28256000001,57375.08217,87428.69664,34051.437,34051.437,34051.437,32742.493,73422.093,73422.093,35399.07956,30139.14825,44799.425299999995,78138.5325,22176.4597,28204.289350000003,26166.500999999997,26166.500999999997,26166.500999999997,26166.500999999997,220755.75961999997,220755.75961999997 +7567200.0,20782.005,8177.028,23876.921759999997,57502.76708000001,57502.76708000001,57502.76708000001,49914.4835,52157.19768,15936.305920000003,28071.74748,42775.99616,19438.518,19438.518,19438.518,17829.9695,20782.005,20782.005,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12398.616000000002,12398.616000000002,12398.616000000002,12398.616000000002,62484.5617,62484.5617 +7570800.0,84806.802,36163.005,105595.97459999999,47889.01601000001,47889.01601000001,47889.01601000001,53635.428,160503.03264,12337.789440000002,175737.43446000002,267790.37632000004,41343.174,41343.174,41343.174,33435.115,84806.802,84806.802,143193.75772,27547.2333,40946.75172,71418.753,20269.32228,25778.76894,28063.041000000005,28063.041000000005,28063.041000000005,28063.041000000005,254985.78467999995,254985.78467999995 +7574400.0,16734.740999999998,127728.73199999999,372967.89744,259573.0819,259573.0819,259573.0819,165487.1785,192262.10895999998,43886.231680000004,28217.231910000002,42997.686720000005,12192.645,12192.645,12192.645,237904.8105,16734.740999999998,16734.740999999998,115790.52875,69856.21035,103835.65093999999,181108.6935,51400.37206,65371.61413,40657.308,40657.308,40657.308,40657.308,50315.787939999995,50315.787939999995 +7578000.0,27273.699,11340.186,33113.34312,265434.46798,265434.46798,265434.46798,72208.178,49299.08416,52625.493760000005,40073.89659,61064.98528,12527.268,12527.268,12527.268,25307.054500000002,27273.699,27273.699,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17501.736,17501.736,17501.736,17501.736,82002.92165999999,82002.92165999999 +7581600.0,746749.7760000001,330953.47199999995,966384.1382399999,228941.12637,228941.12637,228941.12637,876174.5615000001,928286.2908799999,532872.7520000001,856934.6249100001,1305805.1427200004,597870.681,597870.681,597870.681,208795.44,746749.7760000001,746749.7760000001,73433.03382999999,221410.1385,329108.4034,574026.285,162914.12660000002,207196.15430000002,458994.459,458994.459,458994.459,458994.459,2245227.65984,2245227.65984 +7585200.0,568476.5819999999,357853.248,1044931.48416,269811.03666000004,269811.03666000004,269811.03666000004,572716.039,1044072.39096,853680.432,724461.05088,1103940.64896,436512.615,436512.615,436512.615,365623.23,568476.5819999999,568476.5819999999,207905.43904,381905.2314,567671.47976,990124.674,281006.81224,357387.85852,406650.80999999994,406650.80999999994,406650.80999999994,406650.80999999994,1709219.5898799999,1709219.5898799999 +7588800.0,658238.538,523873.833,1529711.59236,340009.35474000004,340009.35474000004,340009.35474000004,653938.5965,1334622.2138399999,1224223.0726400001,981970.16316,1496335.48672,605765.007,605765.007,605765.007,697725.2729999999,658238.538,658238.538,499029.03921,583075.87965,866695.50506,1511678.2065,429028.67194000003,545643.84787,597950.8829999999,597950.8829999999,597950.8829999999,597950.8829999999,1979103.87092,1979103.87092 +7592400.0,757839.8910000001,638960.1900000001,1865763.7548,423504.97332000005,423504.97332000005,423504.97332000005,754734.5715000001,1505684.63224,2009108.2201600003,1184234.49375,1804547.8,715361.8859999999,715361.8859999999,715361.8859999999,941516.401,757839.8910000001,757839.8910000001,602960.0944899999,846268.75845,1257910.59898,2194030.1145,622686.64202,791940.3937100001,751138.3200000001,751138.3200000001,751138.3200000001,751138.3200000001,2278571.9389400003,2278571.9389400003 +7596000.0,561907.008,509770.725,1488530.5169999998,429994.34005000006,429994.34005000006,429994.34005000006,519869.8400000001,837893.87152,1549398.04992,772185.1796400001,1176663.13088,410962.581,410962.581,410962.581,549474.366,561907.008,561907.008,484198.41912,440509.53735,654782.07774,1142061.7635000001,324128.00526,412229.91273000004,576441.375,576441.375,576441.375,576441.375,1689467.07072,1689467.07072 +7599600.0,99077.805,95436.234,278673.80328,40479.45891,40479.45891,40479.45891,48968.1745,123924.63648,561852.19776,139385.22675,212396.53600000002,129581.82599999999,129581.82599999999,129581.82599999999,104076.154,99077.805,99077.805,184189.43100999994,55336.80645,82253.72218,143465.7945,40716.95882,51784.32011,85680.51299999999,85680.51299999999,85680.51299999999,85680.51299999999,297893.93369999994,297893.93369999994 +7603200.0,102030.93000000002,101108.454,295236.68568,16742.90552,16742.90552,16742.90552,40818.645,191415.00528,560353.6736000001,136231.84532999998,207591.38336,143834.853,143834.853,143834.853,99533.09800000001,102030.93000000002,102030.93000000002,206972.94358,50294.694149999996,74759.02685999998,130393.65149999999,37006.960139999996,47065.898969999995,81462.87,81462.87,81462.87,81462.87,306772.99620000005,306772.99620000005 +7606800.0,115711.416,112809.99600000001,329405.18832,12913.873940000001,12913.873940000001,12913.873940000001,38994.851,216058.37448,584158.5043200001,160259.53524,244205.00608,152124.612,152124.612,152124.612,103921.1285,115711.416,115711.416,228358.11218999999,52391.60595,77875.91798,135830.0895,38549.87302,49028.19421,84403.34999999999,84403.34999999999,84403.34999999999,84403.34999999999,347905.65744,347905.65744 +7610400.0,124653.33300000001,123945.74699999999,361921.58123999997,22336.8519,22336.8519,22336.8519,43076.6525,207123.05183999997,562222.8684800001,189925.99416,289411.03872,145289.529,145289.529,145289.529,98648.4975,124653.33300000001,124653.33300000001,240750.44226999997,63144.4977,93859.22868,163707.957,46461.87732,59090.776860000005,89976.936,89976.936,89976.936,89976.936,374791.02122,374791.02122 +7614000.0,129870.76499999998,123239.08200000001,359858.11944000004,40957.11411,40957.11411,40957.11411,49301.700000000004,202714.03872,559055.9833600001,225914.43525,344250.568,146834.397,146834.397,146834.397,102984.79449999999,129870.76499999998,129870.76499999998,237938.51145999998,70704.40185,105096.41953999999,183307.7085,52024.47346,66165.35383000001,115410.897,115410.897,115410.897,115410.897,390478.1001,390478.1001 +7617600.0,159891.429,131146.35,382947.342,68848.80783,68848.80783,68848.80783,67311.21599999999,224445.05247999998,601854.87872,255691.30313999997,389624.84288,234293.23199999996,234293.23199999996,234293.23199999996,180344.43000000002,159891.429,159891.429,253995.31118,100353.18824999999,149166.9613,260174.9325,73840.1237,93910.76135,200476.608,200476.608,200476.608,200476.608,480740.22985999996,480740.22985999996 +7621200.0,201643.215,150543.153,439586.00675999996,86919.33107,86919.33107,86919.33107,74248.0655,302113.29735999997,705790.97472,284343.64077,433285.54784,264224.82300000003,264224.82300000003,264224.82300000003,198929.206,201643.215,201643.215,277442.50755,122608.1124,182247.12016,317872.884,90215.35184,114736.97432000001,238817.62800000003,238817.62800000003,238817.62800000003,238817.62800000003,606273.9330999999,606273.9330999999 +7624800.0,246886.12200000003,165746.385,483979.4442,189256.46927,189256.46927,189256.46927,149638.9475,443749.40991999995,691242.69568,365535.86832,557007.0374400001,285109.983,285109.983,285109.983,222836.66999999998,246886.12200000003,246886.12200000003,289470.44646,158259.78045,235240.46378,410303.13450000004,116447.93722,148099.89331,299852.049,299852.049,299852.049,299852.049,742304.2734800001,742304.2734800001 +7628400.0,728612.412,754680.1379999999,2203666.0029599997,771687.45379,771687.45379,771687.45379,956591.2090000001,1114801.81648,588045.78688,857846.57721,1307194.78432,284956.005,284956.005,284956.005,1342076.7744999998,728612.412,728612.412,1298464.6274599999,390072.8987999999,579812.0619199999,1011300.1079999999,287016.60208,365031.18184,917105.346,917105.346,917105.346,917105.346,2190694.65208,2190694.65208 +7632000.0,1253013.381,1222779.447,3570515.98524,1313949.67913,1313949.67913,1313949.67913,1267702.695,2001865.57384,1961954.77888,1848058.55094,2816089.22048,721836.663,721836.663,721836.663,849861.9779999999,1253013.381,1253013.381,411918.90506,980477.0874,1457400.5101599998,2541977.634,721437.46184,917532.8793200001,1349018.787,1349018.787,1349018.787,1349018.787,3767393.5655399994,3767393.5655399994 +7635600.0,1101217.401,907448.841,2649750.6157199997,702793.1392900001,702793.1392900001,702793.1392900001,865342.632,1839874.25808,3689933.80864,1495696.8312300001,2279157.07616,1290335.865,1290335.865,1290335.865,1053003.4655000002,1101217.401,1101217.401,482007.41601999995,1505863.7829,2238345.6723599997,3904091.289,1108018.28964,1409191.04622,738384.6269999999,738384.6269999999,738384.6269999999,738384.6269999999,3310993.65234,3310993.65234 +7639200.0,702799.767,393757.71900000004,1149772.53948,337846.11718,337846.11718,337846.11718,1217122.3155,1679945.0171200002,2482674.0051200003,1326982.8253499998,2022069.0671999997,865981.9260000002,865981.9260000002,865981.9260000002,1157525.817,702799.767,702799.767,595992.67962,1247577.714,1854424.1575999998,3234460.74,917970.7624,1167486.3052,733735.722,733735.722,733735.722,733735.722,2113084.63278,2113084.63278 +7642800.0,393886.956,232414.149,678649.31508,336014.13692,336014.13692,336014.13692,690098.1605000001,1238274.71144,1348760.6009600002,798308.7997500001,1216470.5520000001,285403.65,285403.65,285403.65,498446.90349999996,393886.956,393886.956,138565.10434,537903.9494999999,799551.0557999999,1394565.7949999997,395791.05419999996,503371.84409999993,332176.926,332176.926,332176.926,332176.926,1184286.78104,1184286.78104 +7646400.0,327425.898,179535.23100000003,524242.87452,147750.5645,147750.5645,147750.5645,290938.648,770148.3414400001,501627.9488000001,500699.96004000003,762971.36768,247902.456,247902.456,247902.456,232888.03650000005,327425.898,327425.898,133655.91732999997,228417.23789999998,339523.89436,592192.839,168069.96764,213753.41522,247119.735,247119.735,247119.735,247119.735,984460.5333199999,984460.5333199999 +7650000.0,68312.208,15555.122999999998,45420.95915999999,80201.7513,80201.7513,80201.7513,62439.660500000005,103822.37535999999,34786.352,77464.506,118041.152,15284.889,15284.889,15284.889,21621.635,68312.208,68312.208,10662.423200000001,21568.9311,32060.485239999998,55919.451,15870.47276,20184.258980000002,35686.992,35686.992,35686.992,35686.992,205392.03872,205392.03872 +7653600.0,56650.326,10124.541,29563.659719999996,64110.33068000001,64110.33068000001,64110.33068000001,52514.567,74877.42567999999,28034.245759999998,52429.39884,79892.41728000001,11516.769,11516.769,11516.769,18290.6955,56650.326,56650.326,7299.805109999998,18060.1569,26844.973960000003,46822.62900000001,13288.708040000001,16900.73942,26369.316,26369.316,26369.316,26369.316,170328.64683999997,170328.64683999997 +7657200.0,73066.842,19324.86,56428.591199999995,53786.10413000001,53786.10413000001,53786.10413000001,45131.261,104789.80640000002,38671.697920000006,65883.132,100393.344,15317.034,15317.034,15317.034,15194.616499999998,73066.842,73066.842,11092.403529999998,15546.9375,23109.274999999998,40306.875,11439.475,14548.8625,33570.009000000005,33570.009000000005,33570.009000000005,33570.009000000005,219687.63828,219687.63828 +7660800.0,63622.704,13518.987,39475.442039999994,57743.7355,57743.7355,57743.7355,47170.515,87691.7172,31297.081600000005,55786.59177,85008.13984,13389.642,13389.642,13389.642,16355.7205,63622.704,63622.704,8809.211969999998,16468.887600000002,24479.67984,42697.116,12117.848160000001,15411.625680000001,29169.519,29169.519,29169.519,29169.519,191292.26335999998,191292.26335999998 +7664400.0,64423.41900000001,12045.615,35173.1958,87925.78102,87925.78102,87925.78102,73448.56049999999,93436.78799999999,36633.25376,63374.50245,96570.6704,15989.636999999999,15989.636999999999,15989.636999999999,25786.719,64423.41900000001,64423.41900000001,10625.506449999999,25729.0425,38244.157,66704.925,18931.493000000002,24077.3015,32448.624000000003,32448.624000000003,32448.624000000003,32448.624000000003,193699.74646,193699.74646 +7668000.0,427891.68,239803.554,700226.3776799999,180071.61887000003,180071.61887000003,180071.61887000003,295003.6215,835785.7541599999,631337.7856000001,552592.08417,842045.0806400001,323420.68799999997,323420.68799999997,323420.68799999997,157698.3065,427891.68,427891.68,182533.01130999997,168064.26750000002,249814.04700000002,435722.17500000005,123662.10300000002,157274.95650000003,278354.637,278354.637,278354.637,278354.637,1286527.6512,1286527.6512 +7671600.0,602532.0299999999,415605.19200000004,1213567.1606400001,198279.48426,198279.48426,198279.48426,608353.9979999999,1187020.45952,1060470.7168,855920.39736,1304259.65312,533765.622,533765.622,533765.622,485907.2435,602532.0299999999,602532.0299999999,292754.71446,480544.7877,714291.2646799999,1245856.857,353586.04132,449694.99886,521239.0739999999,521239.0739999999,521239.0739999999,521239.0739999999,1811612.9701999996,1811612.9701999996 +7675200.0,713285.184,599633.664,1750930.29888,272025.0841,272025.0841,272025.0841,744929.059,1384404.37112,1960662.5068800002,1081990.7788200001,1648747.8534400002,657555.201,657555.201,657555.201,799219.7955,713285.184,713285.184,454747.01999999996,819216.6579,1217699.8223599999,2123895.039,602781.63964,766624.97122,694451.9879999999,694451.9879999999,694451.9879999999,694451.9879999999,2144610.78656,2144610.78656 +7678800.0,669272.469,605027.385,1766679.9641999998,340084.27937,340084.27937,340084.27937,608622.6545000001,1142732.14208,1682246.7776,950239.3091100001,1447983.7091200002,510935.0519999999,510935.0519999999,510935.0519999999,729366.89,669272.469,669272.469,603667.11158,703113.48135,1045121.76734,1822886.8035000002,517352.6356600001,657975.3319300001,665948.223,665948.223,665948.223,665948.223,2012279.22346,2012279.22346 +7682400.0,317144.76,239093.613,698153.34996,188769.93740000002,188769.93740000002,188769.93740000002,284701.65150000004,523704.75064000004,645596.30848,433212.75123000005,660133.7161600001,213652.476,213652.476,213652.476,333542.79699999996,317144.76,317144.76,465091.19917,154050.72074999998,228984.03429999997,399390.75749999995,113350.90069999998,144161.04484999998,364806.417,364806.417,364806.417,364806.417,953548.5783999999,953548.5783999999 +7686000.0,105808.60800000001,87598.63500000001,255788.0142,40293.72446000001,40293.72446000001,40293.72446000001,56767.476500000004,161179.70760000002,475366.39232000004,156885.69813,239063.92096,121166.688,121166.688,121166.688,89716.613,105808.60800000001,105808.60800000001,182930.36059999996,50179.7349,74588.14916,130095.60900000001,36922.37284,46958.319820000004,79640.976,79640.976,79640.976,79640.976,318131.21472,318131.21472 +7689600.0,108750.88200000001,87968.595,256868.2974,17440.650040000004,17440.650040000004,17440.650040000004,36233.606499999994,164633.08648,477145.97952,162076.35423,246973.49216,122616.084,122616.084,122616.084,86979.5185,108750.88200000001,108750.88200000001,183246.6181,44430.415649999995,66042.24746,115189.9665,32692.00954,41578.09267,80326.94699999999,80326.94699999999,80326.94699999999,80326.94699999999,326977.65188,326977.65188 +7693200.0,119653.782,103767.126,303000.00792,22709.370860000003,22709.370860000003,22709.370860000003,36670.466,192667.22976,506274.93824000005,178018.59999000002,271266.43808000005,130577.68500000001,130577.68500000001,130577.68500000001,91764.505,119653.782,119653.782,193759.34447999997,51741.661949999994,76909.82837999999,134145.0495,38071.64262,48419.975009999995,85156.35,85156.35,85156.35,85156.35,359759.03788,359759.03788 +7696800.0,124886.955,108805.09199999998,317710.86863999994,34775.75684,34775.75684,34775.75684,37958.018000000004,189483.45448,502888.9625600001,180596.55453,275194.74976000004,127894.29299999999,127894.29299999999,127894.29299999999,88844.52500000001,124886.955,124886.955,206390.02448999998,55347.96015,82270.30126,143494.7115,40725.165740000004,51794.757770000004,90540.159,90540.159,90540.159,90540.159,375493.4447,375493.4447 +7700400.0,131083.446,110803.74600000001,323546.93832,50289.70551,50289.70551,50289.70551,45132.045,188420.65624,505833.28640000004,198998.77725,303236.232,129756.72299999998,129756.72299999998,129756.72299999998,91178.696,131083.446,131083.446,214955.22515999997,60070.58415,89290.10286,155738.5515,44200.08414,56214.200970000005,117403.98000000001,117403.98000000001,117403.98000000001,117403.98000000001,394124.22763999994,394124.22763999994 +7704000.0,144455.28600000002,116580.045,340413.7314,62187.27603000001,62187.27603000001,62187.27603000001,54423.348,232297.55151999998,515889.8880000001,221627.46732000003,337718.0454400001,192395.616,192395.616,192395.616,102274.935,144455.28600000002,144455.28600000002,218257.76635000002,75445.52625,112143.7205,195599.5125,55513.0045,70602.10975,147039.243,147039.243,147039.243,147039.243,434328.89324,434328.89324 +7707600.0,168055.491,129046.66500000001,376816.2618,78654.32509,78654.32509,78654.32509,66453.541,288997.70856,540486.1625600001,233703.63134999998,356119.81919999997,219891.46200000003,219891.46200000003,219891.46200000003,168351.253,168055.491,168055.491,233311.06539,103572.3429,153951.97636,268520.889,76208.78564,96923.25422,188748.24599999998,188748.24599999998,188748.24599999998,188748.24599999998,505286.84294,505286.84294 +7711200.0,887715.999,862642.059,2518914.81228,776958.60033,776958.60033,776958.60033,940676.2294999999,1382730.03144,1145856.28224,1066913.58606,1625773.08352,526607.061,526607.061,526607.061,1436821.862,887715.999,887715.999,1549741.0765200001,469473.84945,697835.20338,1217154.4245,345440.01762,439334.78751,1126160.6400000001,1126160.6400000001,1126160.6400000001,1126160.6400000001,2669066.1036599996,2669066.1036599996 +7714800.0,1422155.49,1427925.4500000002,4169542.3140000002,1684519.8865,1684519.8865,1684519.8865,1387185.5025000002,2163983.63512,2300577.75168,2141624.96562,3263428.51904,831432.3450000002,831432.3450000002,831432.3450000002,1065744.5749999997,1422155.49,1422155.49,917092.6855999999,1137139.3494,1690266.3909599998,2948139.054,836709.94104,1064137.8109199998,1537847.505,1537847.505,1537847.505,1537847.505,4275947.5066,4275947.5066 +7718400.0,1485429.237,1274036.871,3720187.66332,1205503.9430500001,1205503.9430500001,1205503.9430500001,1306953.3679999998,2448548.32232,5543315.076480001,1826651.72529,2783469.29568,1602249.7769999998,1602249.7769999998,1602249.7769999998,1375734.1885000002,1485429.237,1485429.237,567503.42961,2099957.72805,3121418.64762,5444334.8505,1545154.08138,1965145.62699,1055441.787,1055441.787,1055441.787,1055441.787,4466190.572579999,4466190.572579999 +7722000.0,989802.882,586718.9040000001,1713219.19968,760117.13976,760117.13976,760117.13976,1695501.6435,2129187.4376,3493799.27616,1972611.33552,3005883.93984,1304090.6609999998,1304090.6609999998,1304090.6609999998,1540521.458,989802.882,989802.882,1014899.7017899998,1753034.77665,2605745.51986,4544904.9765,1289887.31714,1640494.27247,1111907.019,1111907.019,1111907.019,1111907.019,2976007.33188,2976007.33188 +7725600.0,632260.911,386167.005,1127607.6546,638129.1827900001,638129.1827900001,638129.1827900001,923169.8210000001,1847166.2456,2639689.1385600003,1186272.40116,1807653.1827200002,514019.073,514019.073,514019.073,990594.5420000001,632260.911,632260.911,267184.71117,868420.1241,1290836.82644,2251459.5810000002,638985.67156,812669.6963800001,609693.414,609693.414,609693.414,609693.414,1900997.8057399997,1900997.8057399997 +7729200.0,377398.578,263581.284,769657.34928,161972.13351,161972.13351,161972.13351,398827.99950000003,1045624.32424,682677.5027200001,677633.57781,1032584.4995200001,316324.542,316324.542,316324.542,358956.101,377398.578,377398.578,161352.99881999998,318258.80504999997,473066.17442,825115.4205,234175.61458,297827.37559,338725.953,338725.953,338725.953,338725.953,1134711.72452,1134711.72452 +7732800.0,368907.59400000004,268227.264,783223.61088,154169.10509000003,154169.10509000003,154169.10509000003,352822.715,721851.23776,879698.34176,544245.34185,829326.2352,318660.666,318660.666,318660.666,365668.653,368907.59400000004,368907.59400000004,194755.55800999998,330118.81289999996,490695.12435999996,855863.589,242902.23764,308926.00022,333186.705,333186.705,333186.705,333186.705,1109182.16596,1109182.16596 +7736400.0,251448.13500000004,157261.794,459204.43847999995,92838.44196000001,92838.44196000001,92838.44196000001,204514.02300000002,479493.59712,456996.85056000005,338253.13998000004,515433.3561600001,198393.273,198393.273,198393.273,172449.2315,251448.13500000004,251448.13500000004,110232.88159,157655.54474999997,234342.3159,408736.5975,116003.3391,147534.44805,193591.10700000002,193591.10700000002,193591.10700000002,193591.10700000002,756020.7259000001,756020.7259000001 +7740000.0,31437.222,4580.772,13375.854239999999,59006.13554,59006.13554,59006.13554,49914.4835,46344.2252,16421.1296,32660.04945,49767.6944,8792.835,8792.835,8792.835,17829.9695,31437.222,31437.222,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,16840.596,16840.596,16840.596,16840.596,94521.24748,94521.24748 +7743600.0,17289.711,3203.478,9354.15576,44388.262489999994,44388.262489999994,44388.262489999994,38643.472,31885.65832,12337.789440000002,23705.891160000003,36123.262720000006,6807.357,6807.357,6807.357,13803.846000000001,17289.711,17289.711,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,10946.298,10946.298,10946.298,10946.298,51984.39774,51984.39774 +7747200.0,16200.710999999998,3603.9120000000003,10523.42304,49677.10946,49677.10946,49677.10946,43473.906,32682.75408,13880.007679999999,26163.23577,39867.78784,7658.277,7658.277,7658.277,15529.3285,16200.710999999998,16200.710999999998,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11427.264000000001,11427.264000000001,11427.264000000001,11427.264000000001,48710.13773999999,48710.13773999999 +7750800.0,54045.156,6834.813,19957.65396,85331.89269000002,85331.89269000002,85331.89269000002,70846.3665,71994.31696,23224.676480000002,47528.60553,72424.54176,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,54045.156,54045.156,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,26615.286,26615.286,26615.286,26615.286,162495.76903999998,162495.76903999998 +7754400.0,254938.854,63081.344999999994,184197.5274,178752.99585,178752.99585,178752.99585,141034.887,422061.59463999997,258070.67328000002,233516.93253,355835.32576000004,109725.864,109725.864,109725.864,63272.96149999999,254938.854,254938.854,44457.007009999994,55320.49305,82229.47361999999,143423.5005,40704.95538,51769.05399,126316.69499999998,126316.69499999998,126316.69499999998,126316.69499999998,766516.1543599999,766516.1543599999 +7758000.0,563877.1950000001,327108.387,955156.49004,190550.52170000004,190550.52170000004,190550.52170000004,373011.92949999997,1184121.8572799999,968452.76864,762036.93426,1161199.1379200001,484276.65599999996,484276.65599999996,484276.65599999996,308303.99250000005,563877.1950000001,563877.1950000001,267444.78786999994,240578.3349,357600.38915999996,623721.6089999999,177018.13283999998,225133.79982,423928.93200000003,423928.93200000003,423928.93200000003,423928.93200000003,1695390.7663,1695390.7663 +7761600.0,683878.887,601782.735,1757205.5862,182075.36534000002,182075.36534000002,182075.36534000002,585622.0160000001,1242002.66376,1342191.4201600002,933604.43652,1422635.3318399999,559706.433,559706.433,559706.433,649751.627,683878.887,683878.887,435995.03779,578990.50695,860622.92638,1501086.4995000002,426022.64462000004,541820.74601,652001.148,652001.148,652001.148,652001.148,2056195.8535799999,2056195.8535799999 +7765200.0,355501.839,272453.529,795564.30468,205865.44329999998,205865.44329999998,205865.44329999998,331003.5575,607231.8645599999,751663.5244800001,498824.78982000006,760113.96544,260053.41599999997,260053.41599999997,260053.41599999997,375052.5905,355501.839,355501.839,518213.01714,174402.80099999998,259235.76839999997,452155.41,128326.0116,163206.5718,392802.549,392802.549,392802.549,392802.549,1068875.52926,1068875.52926 +7768800.0,130209.84900000002,104631.648,305524.41216,78948.42329,78948.42329,78948.42329,94620.155,214160.976,573009.3331200001,207834.13203,316699.62976000004,153022.46099999998,153022.46099999998,153022.46099999998,117271.77350000001,130209.84900000002,130209.84900000002,219984.39761999997,69594.55604999998,103446.72281999997,180430.33049999995,51207.84617999999,65126.75738999999,102930.42300000001,102930.42300000001,102930.42300000001,102930.42300000001,391497.61266,391497.61266 +7772400.0,137978.415,106392.01800000001,310664.69256,41922.432640000006,41922.432640000006,41922.432640000006,61586.14699999999,224601.83896000002,577935.2096000001,210112.8246,320171.92319999996,153424.329,153424.329,153424.329,111926.06950000001,137978.415,137978.415,221308.42707999996,60012.58005,89203.88442,155588.1705,44157.40458,56159.92059,100237.22399999999,100237.22399999999,100237.22399999999,100237.22399999999,414855.10109999997,414855.10109999997 +7776000.0,147915.984,122575.239,357919.69788,32831.61552,32831.61552,32831.61552,48790.5285,250691.46079999997,583514.6912,211701.9912,322593.5104,153588.174,153588.174,153588.174,107094.83750000001,147915.984,147915.984,228699.94445999997,66488.26275,98829.4671,172376.9775,48922.2279,62219.88045,99250.26000000001,99250.26000000001,99250.26000000001,99250.26000000001,444734.05856,444734.05856 +7779600.0,155037.081,131485.572,383937.87023999996,46721.23126,46721.23126,46721.23126,53703.114499999996,300370.81072,601774.8454400001,233075.29665,355162.3568,187991.84399999998,187991.84399999998,187991.84399999998,107900.618,155037.081,155037.081,257829.2756,70328.54565,104537.73946,182333.2665,51747.91754,65813.62667,111013.29000000001,111013.29000000001,111013.29000000001,111013.29000000001,466144.82354,466144.82354 +7783200.0,173048.391,135401.06999999998,395371.1244,68383.1225,68383.1225,68383.1225,61724.9535,341399.56136,621230.50496,270796.14765,412641.74880000006,272971.689,272971.689,272971.689,124610.72399999999,173048.391,173048.391,265835.60237,91424.85795,135895.71477999998,237027.4095,67270.63622,85555.60781,174659.193,174659.193,174659.193,174659.193,520298.82894,520298.82894 +7786800.0,208300.12200000003,149304.537,435969.24804000003,72744.53043000001,72744.53043000001,72744.53043000001,69258.9345,403733.14008,746921.83552,305837.61894,466038.27648000006,319422.44100000005,319422.44100000005,319422.44100000005,216018.14500000002,208300.12200000003,208300.12200000003,291300.07907,128756.1096,191385.62464,333812.136,94739.06336,120490.28528000001,249250.662,249250.662,249250.662,249250.662,626289.0334800001,626289.0334800001 +7790400.0,258854.088,171600.555,501073.62059999997,101187.38355,101187.38355,101187.38355,72314.165,523697.56743999996,851114.29696,378585.64926000003,576892.41792,363946.707,363946.707,363946.707,229022.48599999998,258854.088,258854.088,317994.97301,146418.58889999997,217639.48275999998,379603.74899999995,107735.15924,137018.87701999999,321185.964,321185.964,321185.964,321185.964,778287.95792,778287.95792 +7794000.0,419426.916,233466.63900000002,681722.58588,133558.21809,133558.21809,133558.21809,83129.0285,983770.1394399999,996892.5011200001,603876.7971600001,920193.21472,417041.0669999999,417041.0669999999,417041.0669999999,336565.2885,419426.916,419426.916,545337.87217,192867.9498,286682.73032,500028.018,141912.71368,180486.30364,449400.95699999994,449400.95699999994,449400.95699999994,449400.95699999994,1261076.92744,1261076.92744 +7797600.0,1140127.974,575104.116,1679304.01872,1284321.6664300002,1284321.6664300002,1284321.6664300002,1259600.2125000001,3270427.52392,3824043.4195200005,2629291.36386,4006539.22112,1087674.096,1087674.096,1087674.096,1534402.2925,1140127.974,1140127.974,2213104.29964,1472288.85765,2188439.24026,3817045.1865000003,1083313.7767400001,1377771.5482700001,1412350.4880000001,1412350.4880000001,1412350.4880000001,1412350.4880000001,3427984.7751599997,3427984.7751599997 +7801200.0,610210.11,874766.457,2554318.05444,1005068.4780400001,1005068.4780400001,1005068.4780400001,1557508.008,3275440.5332,1663589.8732800002,2183502.61122,3327242.07424,777507.6779999998,777507.6779999998,777507.6779999998,1121481.4835,610210.11,610210.11,1606896.68074,1596002.44995,2372329.56758,4137784.1295,1174342.54342,1493543.03341,917069.4870000001,917069.4870000001,917069.4870000001,917069.4870000001,1834698.3974,1834698.3974 +7804800.0,1407030.525,1250438.694,3651280.98648,368474.27133,368474.27133,368474.27133,867561.422,2584827.95768,3826170.04608,1966033.1798100001,2995860.08352,1141905.5010000002,1141905.5010000002,1141905.5010000002,723721.509,1407030.525,1407030.525,840897.6247099999,843975.6565499998,1254502.0870199997,2188085.0354999998,620999.3719799999,789794.5032899999,1510010.0069999998,1510010.0069999998,1510010.0069999998,1510010.0069999998,4230471.7785,4230471.7785 +7808400.0,634803.4920000001,476328.423,1390878.99516,249562.23721000002,249562.23721000002,249562.23721000002,224147.42349999998,623691.5775199999,4148970.81152,170632.82964,260011.93088,555495.681,555495.681,555495.681,483648.02150000003,634803.4920000001,634803.4920000001,226442.23627999998,1147071.4317,1705029.63428,2973888.8970000003,844017.99172,1073432.2780600002,168134.439,168134.439,168134.439,168134.439,1908642.49928,1908642.49928 +7812000.0,162987.03300000002,56182.53,164052.9876,125852.80455,125852.80455,125852.80455,98218.8235,73555.87456000001,279961.24416,56545.833959999996,86165.08032,19073.304,19073.304,19073.304,35084.777,162987.03300000002,162987.03300000002,20657.579149999998,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,30573.347999999998,30573.347999999998,30573.347999999998,30573.347999999998,490047.67922000005,490047.67922000005 +7815600.0,126258.03,405325.88399999996,1183551.58128,118926.71054000001,118926.71054000001,118926.71054000001,299941.8835,196457.8336,194035.39968000003,117491.6337,179034.8704,46298.028,46298.028,46298.028,351737.10949999996,126258.03,126258.03,59998.27574,48514.468049999996,72112.86361999999,125778.2505,35697.06538,45399.95899,48598.371,48598.371,48598.371,48598.371,379615.8102,379615.8102 +7819200.0,186837.96899999998,106338.762,310509.18504,109956.27181,109956.27181,109956.27181,211379.3395,345308.90992,303312.93376,133114.68891,202841.43072,124413.405,124413.405,124413.405,71006.439,186837.96899999998,186837.96899999998,154868.66187,67126.54680000001,99778.22512,174031.78800000003,49391.878880000004,62817.18824000001,80344.065,80344.065,80344.065,80344.065,561759.4934599999,561759.4934599999 +7822800.0,60983.064,16790.589,49028.51987999999,72203.1024,72203.1024,72203.1024,57965.20799999999,91244.34104,50885.5424,39545.22411,60259.38912000001,31645.733999999997,31645.733999999997,31645.733999999997,20705.7725,60983.064,60983.064,48982.33196999999,22032.58725,32749.6729,57121.52250000001,16211.6321,20618.149550000002,22087.5,22087.5,22087.5,22087.5,183355.74575999996,183355.74575999996 +7826400.0,115786.362,63245.952000000005,184678.17984,120168.29660000002,120168.29660000002,120168.29660000002,97225.121,231118.04088000002,15993.763200000003,248166.55437,378158.55904,57283.27500000001,57283.27500000001,57283.27500000001,104085.98199999999,115786.362,115786.362,224563.97937999998,66991.97744999999,99578.19857999998,173682.9045,49292.86242,62691.25791,39446.859,39446.859,39446.859,39446.859,348130.99507999996,348130.99507999996 +7830000.0,17094.312,183918.972,537043.39824,254080.57213000004,254080.57213000004,254080.57213000004,174484.135,250246.95503999997,42344.01344,32833.83285,50032.5072,19270.95,19270.95,19270.95,293437.68649999995,17094.312,17094.312,153607.09026,78945.94124999999,117346.80649999998,204674.66249999998,58088.61849999999,73877.80674999999,57035.354999999996,57035.354999999996,57035.354999999996,57035.354999999996,51396.89808,51396.89808 +7833600.0,12955.443,6569.540999999999,19183.059719999997,256188.06697000004,256188.06697000004,256188.06697000004,43473.906,28964.18664,43886.231680000004,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,12955.443,12955.443,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,38952.698619999996,38952.698619999996 +7837200.0,545517.966,124205.37299999999,362679.68915999995,119172.90077000001,119172.90077000001,119172.90077000001,438543.2905,513662.78304,139316.44160000002,467752.89267000003,712766.3126400001,311157.804,311157.804,311157.804,52966.291,545517.966,545517.966,9502.102089999998,68449.57245,101744.79658,177461.85450000002,50365.364420000005,64055.27891,249466.713,249466.713,249466.713,249466.713,1640190.6844399997,1640190.6844399997 +7840800.0,339211.58700000006,165306.846,482695.99032,193358.27225000004,193358.27225000004,193358.27225000004,444783.339,507667.07112000004,395945.30816,448832.11149000004,683934.6460800001,259284.90000000002,259284.90000000002,259284.90000000002,116587.6985,339211.58700000006,339211.58700000006,33929.80252999999,135450.74339999998,201336.66055999996,351168.594,99664.99143999998,126755.14012,223053.57299999997,223053.57299999997,223053.57299999997,223053.57299999997,1019896.1715800001,1019896.1715800001 +7844400.0,542023.56,386559.36299999995,1128753.3399599998,243546.65918,243546.65918,243546.65918,599324.915,1170967.18136,1038486.0665600001,765723.44625,1166816.68,489575.22899999993,489575.22899999993,489575.22899999993,380204.68499999994,542023.56,542023.56,252937.54888999998,359237.38544999994,533977.5457799999,931356.1845,264327.75522,336175.23231,444107.50800000003,444107.50800000003,444107.50800000003,444107.50800000003,1629684.1704000002,1629684.1704000002 +7848000.0,697923.906,572995.1039999999,1673145.7036799998,280200.50937999994,280200.50937999994,280200.50937999994,676972.4115,1455648.324,1392387.0182400001,1047830.17878,1596693.60576,658747.206,658747.206,658747.206,755604.3915,697923.906,697923.906,425942.17626999994,588830.6704500001,875249.5397800001,1526598.0345000003,433263.06122000003,551029.1953100001,624297.237,624297.237,624297.237,624297.237,2098424.54404,2098424.54404 +7851600.0,535907.436,460428.36899999995,1344450.83748,323371.67906999995,323371.67906999995,323371.67906999995,449060.451,832343.37784,1147852.1747200002,698326.71783,1064116.90336,387079.461,387079.461,387079.461,498666.8785,535907.436,535907.436,462031.77942999994,370647.8554499999,550938.2937799998,960938.8844999998,272723.60721999995,346853.17830999993,536546.328,536546.328,536546.328,536546.328,1611295.02424,1611295.02424 +7855200.0,101903.53800000002,85994.538,251104.05096,78953.06716,78953.06716,78953.06716,76530.4435,148079.66488,583715.45984,141834.32172,216128.49024,125226.73499999999,125226.73499999999,125226.73499999999,111421.11400000002,101903.53800000002,101903.53800000002,150275.79489,52391.41155,77875.62902,135829.5855,38549.72998,49028.01229,81620.766,81620.766,81620.766,81620.766,306389.97092000005,306389.97092000005 +7858800.0,104125.32,101905.299,297563.47307999997,40665.270690000005,40665.270690000005,40665.270690000005,52787.2275,160888.13392,598641.4924800001,146843.49057,223761.50944000002,144620.706,144620.706,144620.706,110563.26049999999,104125.32,104125.32,199921.26232,57681.205649999996,85738.48345999999,149543.8665,42441.97354,53978.21467,89963.06099999999,89963.06099999999,89963.06099999999,89963.06099999999,313070.1288,313070.1288 +7862400.0,107851.677,112270.19700000001,327828.97524000006,16910.447070000002,16910.447070000002,16910.447070000002,42080.4965,223736.40936000002,596292.3699200001,155939.80542,237622.56064,154541.859,154541.859,154541.859,106351.3115,107851.677,107851.677,233049.66593999995,54743.5179,81371.84636,141927.639,40280.41564,51229.11922,86253.696,86253.696,86253.696,86253.696,324274.04218,324274.04218 +7866000.0,132552.717,127541.36399999997,372420.78287999996,13816.770880000002,13816.770880000002,13816.770880000002,44723.356999999996,227756.65368000002,613460.75968,204245.68836,311231.52512,159819.26400000002,159819.26400000002,159819.26400000002,108108.76299999999,132552.717,132552.717,252710.30524999998,69657.60644999999,103540.44217999998,180593.7945,51254.23882,65185.76011,94601.19,94601.19,94601.19,94601.19,398541.83577999996,398541.83577999996 +7869600.0,140146.779,132520.605,386960.1666,18199.20443,18199.20443,18199.20443,48056.631,219347.15295999998,597167.25248,242053.61943,368843.61056,187436.199,187436.199,187436.199,125345.72050000001,140146.779,140146.779,257888.10189999998,75896.26694999999,112813.71037999999,196768.09949999998,55844.660619999995,71023.91401,113239.13699999999,113239.13699999999,113239.13699999999,113239.13699999999,421374.64886,421374.64886 +7873200.0,155052.86700000003,124475.02799999999,363467.08176,39108.14160000001,39108.14160000001,39108.14160000001,56303.544499999996,220741.85008,543576.57216,243390.44751,370880.68192,219551.07,219551.07,219551.07,175120.869,155052.86700000003,155052.86700000003,240929.93222999998,77313.5685,114920.4154,200442.585,56887.5146,72350.2283,147557.04,147557.04,147557.04,147557.04,466192.28678,466192.28678 +7876800.0,189992.73,136610.691,398903.21771999996,57595.39621,57595.39621,57595.39621,61781.9825,302729.72104,547142.33984,270549.6486,412266.13120000006,252014.41500000004,252014.41500000004,252014.41500000004,183680.2065,189992.73,189992.73,264420.28873,95146.2288,141427.23392,246675.408,70008.83008,89038.07584,204442.863,204442.863,204442.863,204442.863,571244.8082,571244.8082 +7880400.0,318185.22000000003,172116.27000000002,502579.50840000005,92343.62764,92343.62764,92343.62764,69091.197,791941.72056,604176.4857600001,468578.93859000003,714025.04928,279538.68299999996,279538.68299999996,279538.68299999996,276394.321,318185.22000000003,318185.22000000003,466136.92684,139141.0953,206822.07252,360736.173,102380.36148,130208.58054000001,335147.499,335147.499,335147.499,335147.499,956676.8948,956676.8948 +7884000.0,1031217.051,467853.333,1366131.73236,848373.23384,848373.23384,848373.23384,1080120.2405,3070858.494559999,3043466.3168,2341917.04299,3568635.49408,855218.3640000001,855218.3640000001,855218.3640000001,1286727.7465000001,1031217.051,1031217.051,1944101.4517599999,1222467.8436,1817100.3502399998,3169361.0760000004,899494.85776,1143988.4264800001,1246537.02,1246537.02,1246537.02,1246537.02,3100525.93334,3100525.93334 +7887600.0,581691.819,835241.082,2438903.95944,792638.4747600001,792638.4747600001,792638.4747600001,1433813.7170000002,3148057.9509599996,1563840.46656,2087340.1899,3180708.8608000004,760966.92,760966.92,760966.92,990858.351,581691.819,581691.819,1340249.35239,1451645.0802,2157753.92168,3763524.282,1068124.03432,1358453.05036,890184.117,890184.117,890184.117,890184.117,1748953.40246,1748953.40246 +7891200.0,1476812.5350000001,1259987.448,3679163.3481600005,367610.97956,367610.97956,367610.97956,825513.416,2672611.2928,4066695.7292800006,2063836.64193,3144893.9305600002,1214909.007,1214909.007,1214909.007,730659.7024999999,1476812.5350000001,1476812.5350000001,680293.46112,852588.7713,1267304.79092,2210415.333,627336.9230800001,797854.67734,1620571.6469999999,1620571.6469999999,1620571.6469999999,1620571.6469999999,4440283.0219,4440283.0219 +7894800.0,803760.573,533018.412,1556413.76304,287462.16675,287462.16675,287462.16675,253594.26050000003,830324.91032,4462157.6934400005,313636.55715000007,477922.37280000007,713644.5299999999,713644.5299999999,713644.5299999999,682407.4844999999,803760.573,803760.573,382214.43740999995,1393994.0308499997,2072060.2631399997,3614058.5985,1025704.2498599999,1304503.0560299999,288865.536,288865.536,288865.536,288865.536,2416640.1228199997,2416640.1228199997 +7898400.0,277958.556,148480.68899999998,433563.6118799999,138776.11682,138776.11682,138776.11682,106672.216,323484.50288,613530.8704,160518.46671,244599.56832000002,91821.51299999999,91821.51299999999,91821.51299999999,69242.3025,277958.556,277958.556,151527.22702,71043.21269999999,105600.03468,184186.107,52273.77132,66482.41386,110138.43,110138.43,110138.43,110138.43,835728.7250399999,835728.7250399999 +7902000.0,284031.714,667555.1429999999,1949261.0175599998,156336.62022,156336.62022,156336.62022,395143.448,627506.5691999999,621449.9654399999,404273.10588,616035.2089600001,153183.207,153183.207,153183.207,479457.50999999995,284031.714,284031.714,189572.30682,156310.6491,232343.23643999998,405249.831,115013.76156,146275.89138000002,198483.88799999998,198483.88799999998,198483.88799999998,198483.88799999998,853988.68676,853988.68676 +7905600.0,396063.8549999999,308318.65499999997,900290.4726,176895.50076,176895.50076,176895.50076,427797.61150000006,807716.1737599999,1056376.00704,530883.97278,808966.05376,301988.403,301988.403,301988.403,260741.68049999996,396063.8549999999,396063.8549999999,376761.64825,324710.07435,482655.46854,841840.9335,238922.47446000003,303864.48933,331072.512,331072.512,331072.512,331072.512,1190831.9906999997,1190831.9906999997 +7909200.0,253050.738,184714.713,539366.96196,86159.95047000001,86159.95047000001,86159.95047000001,162741.4215,530650.1458399999,612110.73664,307254.7506,468197.71520000004,199869.59100000001,199869.59100000001,199869.59100000001,147554.1235,253050.738,253050.738,251489.41662,171224.361,254511.2724,443915.01,125987.3076,160232.1798,205875.987,205875.987,205875.987,205875.987,760839.21892,760839.21892 +7912800.0,323865.492,207001.344,604443.92448,423014.78659000003,423014.78659000003,423014.78659000003,452962.6185,647966.87488,285373.38048,590642.85315,900027.2048,187570.548,187570.548,187570.548,529859.834,323865.492,323865.492,553750.98545,332978.4369,494945.72595999995,863277.429,245006.35604,311602.04342,158657.04,158657.04,158657.04,158657.04,973755.57928,973755.57928 +7916400.0,48239.78999999999,394812.39,1152852.1788,267022.525,267022.525,267022.525,281458.324,488517.41328,49609.318400000004,66940.17267,102004.07264,95059.71900000001,95059.71900000001,95059.71900000001,507193.28099999996,48239.78999999999,48239.78999999999,388685.49876,169857.95984999998,252480.22673999998,440372.48850000004,124981.90626,158953.49823,122256.999,122256.999,122256.999,122256.999,145040.9686,145040.9686 +7920000.0,80012.739,28489.050000000003,83188.026,268766.69908000005,268766.69908000005,268766.69908000005,75336.667,124769.25816000001,110765.60256000001,49909.10001,76051.96192000002,29431.854,29431.854,29431.854,51535.253,80012.739,80012.739,85267.3991,22839.914249999998,33949.6997,59214.5925,16805.6653,21373.648149999997,30605.493000000002,30605.493000000002,30605.493000000002,30605.493000000002,240571.63525999998,240571.63525999998 +7923600.0,1149423.981,800070.423,2336205.63516,764717.1717900002,764717.1717900002,764717.1717900002,1673764.855,1901285.50808,1918559.27872,1923316.2734100001,2930767.6547200005,1254228.4859999998,1254228.4859999998,1254228.4859999998,872614.2529999999,1149423.981,1149423.981,573684.2844199999,950100.7751999999,1412248.5596799997,2463224.232,699086.4963199999,889106.6513599999,1053912.321,1053912.321,1053912.321,1053912.321,3455934.76954,3455934.76954 +7927200.0,947591.7480000001,625694.817,1827028.86564,502308.97673000005,502308.97673000005,502308.97673000005,798249.767,1566699.62656,2019194.5024000003,1234766.2194,1881548.5248000002,736445.8559999999,736445.8559999999,736445.8559999999,955066.511,947591.7480000001,947591.7480000001,589246.74601,834850.9134,1240938.8885599999,2164428.2939999998,614285.36344,781255.54612,793287.3060000001,793287.3060000001,793287.3060000001,793287.3060000001,2849092.52232,2849092.52232 +7930800.0,855460.2150000001,710380.0950000001,2074309.8774,623732.1153800001,623732.1153800001,623732.1153800001,914034.443,1602094.30144,2748541.15584,1322144.38251,2014696.2019200001,801670.896,801670.896,801670.896,1101750.7725,855460.2150000001,855460.2150000001,664369.29715,1055926.09665,1569549.40786,2737586.1765,776953.02914,988138.24847,904404.807,904404.807,904404.807,904404.807,2572083.7131000003,2572083.7131000003 +7934400.0,841353.846,717274.662,2094442.0130399999,692773.2185,692773.2185,692773.2185,903043.3999999999,1574087.5944799997,2746361.77216,1312199.55258,1999542.17536,810460.5989999999,810460.5989999999,810460.5989999999,1084517.9064999998,841353.846,841353.846,655674.45736,1058839.63425,1573880.1476999999,2745139.7925,779096.8172999999,990864.7441499999,891337.0319999999,891337.0319999999,891337.0319999999,891337.0319999999,2529670.56364,2529670.56364 +7938000.0,582694.719,507502.74900000007,1481908.0270800001,496137.38746,496137.38746,496137.38746,556181.7625000001,824244.0044799999,1663573.99936,756993.78153,1153514.33376,441682.233,441682.233,441682.233,560154.5179999999,582694.719,582694.719,473574.7067999999,494502.7846499999,735038.7070599999,1282044.2565,363856.36994,462756.92686999997,563850.654,563850.654,563850.654,563850.654,1751968.78846,1751968.78846 +7941600.0,109087.13999999998,89293.266,260736.33672,91767.23831,91767.23831,91767.23831,92043.3815,159131.71888,516414.06464,151081.37604000003,230219.23968000003,136693.746,136693.746,136693.746,107697.87,109087.13999999998,109087.13999999998,172393.15131999998,65241.5148,96976.27631999999,169144.668,48004.867679999996,61053.17064,88127.277,88127.277,88127.277,88127.277,327988.6676,327988.6676 +7945200.0,103092.47099999999,94908.066,277131.55272,70119.92581,70119.92581,70119.92581,58733.633,180056.20528,521134.5376000001,150053.44578,228652.86976,134669.49599999998,134669.49599999998,134669.49599999998,98051.492,103092.47099999999,103092.47099999999,189672.05179,54042.0336,80329.14624,140108.97600000002,39764.26176,50572.66848000001,82916.26800000001,82916.26800000001,82916.26800000001,82916.26800000001,309964.69613999996,309964.69613999996 +7948800.0,100360.878,96072.96,280533.0432,60489.54879000001,60489.54879000001,60489.54879000001,37846.224500000004,189728.93888,517135.83296,144723.04329,220530.35168000002,133018.362,133018.362,133018.362,94849.32800000001,100360.878,100360.878,196737.74457999997,46671.62894999999,69373.63117999998,121000.51949999998,34341.099819999996,43675.42561,90969.28199999999,90969.28199999999,90969.28199999999,90969.28199999999,301751.70651999995,301751.70651999995 +7952400.0,115025.43,112699.413,329082.28595999995,59838.90638000001,59838.90638000001,59838.90638000001,40342.900499999996,193273.4276,524104.58176000003,178066.2576,271339.0592,134214.76499999998,134214.76499999998,134214.76499999998,95716.38650000001,115025.43,115025.43,217306.44936,61928.4204,92051.62736,160555.16400000002,45567.08464,57952.76872,103078.62299999999,103078.62299999999,103078.62299999999,103078.62299999999,345843.12619999994,345843.12619999994 +7956000.0,125099.74799999999,123269.334,359946.45528,62186.388770000005,62186.388770000005,62186.388770000005,42363.317500000005,203765.3964,609427.8265600001,218000.46093,332191.17856000003,145769.29499999998,145769.29499999998,145769.29499999998,102559.82800000001,125099.74799999999,125099.74799999999,240359.97608999995,84865.35239999999,126145.53615999999,220021.28399999999,62444.135839999995,79417.20632,126981.456,126981.456,126981.456,126981.456,376133.24231999996,376133.24231999996 +7959600.0,142665.59999999998,132842.001,387898.64292,77925.88056,77925.88056,77925.88056,59609.7985,208022.90239999996,686559.45408,238985.57928,364168.50176,193708.596,193708.596,193708.596,138111.848,142665.59999999998,142665.59999999998,243812.09866,98174.0331,145927.82204,254525.271,72236.69596,91871.50258,179952.54599999997,179952.54599999997,179952.54599999997,179952.54599999997,428947.904,428947.904 +7963200.0,182066.856,146112.615,426648.8358,86302.33535,86302.33535,86302.33535,65156.1365,294939.48808,698506.9561600001,264920.66517,403688.63264,249304.728,249304.728,249304.728,192024.119,182066.856,182066.856,265038.92688,114656.72309999999,170428.01804,297258.171,84364.69996,107296.04458,222383.21399999998,222383.21399999998,222383.21399999998,222383.21399999998,547414.3470399999,547414.3470399999 +7966800.0,311092.56,184981.506,540145.99752,116354.75137000001,116354.75137000001,116354.75137000001,73729.376,811632.30256,734589.56224,461366.01462000003,703033.9270400001,299206.695,299206.695,299206.695,291891.642,311092.56,311092.56,483581.59914999997,152414.93385,226552.56834,395149.8285,112147.28466,142630.27143000002,340980.09599999996,340980.09599999996,340980.09599999996,340980.09599999996,935351.6304,935351.6304 +7970400.0,1045994.271,476017.437,1389970.9160399998,1202048.3990900002,1202048.3990900002,1202048.3990900002,1151003.336,3098703.9649600005,3065921.4835200002,2409330.6474300004,3671360.98656,897798.045,897798.045,897798.045,1263362.219,1045994.271,1045994.271,2131406.3438199996,1231498.5336,1830523.7462399998,3192773.976,906139.66176,1152439.36848,1286638.899,1286638.899,1286638.899,1286638.899,3144956.1081399997,3144956.1081399997 +7974000.0,670825.0349999999,923228.832,2695828.18944,1041976.2799600001,1041976.2799600001,1041976.2799600001,1505095.508,3334896.94832,1872168.9824000003,2283716.28681,3479948.62752,871675.4940000001,871675.4940000001,871675.4940000001,1078715.5925,670825.0349999999,670825.0349999999,1515013.13145,1561916.2729500001,2321663.20078,4049412.5595000004,1149261.8502200001,1461645.1048100002,999264.0899999999,999264.0899999999,999264.0899999999,999264.0899999999,2016947.2718999996,2016947.2718999996 +7977600.0,1546367.2110000001,1398106.755,4082471.7245999994,524901.0664700001,524901.0664700001,524901.0664700001,931300.6185,2872664.13112,4554412.08576,2211830.9331300003,3370409.0409600004,1297948.365,1297948.365,1297948.365,788578.3570000001,1546367.2110000001,1546367.2110000001,740754.0019099999,920467.6218,1368201.2551199999,2386397.538,677282.3488800001,861375.87324,1701703.983,1701703.983,1701703.983,1701703.983,4649410.74774,4649410.74774 +7981200.0,886453.0319999999,579363.714,1691742.0448800002,341704.53416,341704.53416,341704.53416,275038.393,980759.79464,4715248.47104,399037.61772,608057.32224,827594.853,827594.853,827594.853,809423.9615,886453.0319999999,886453.0319999999,431683.9309899999,1486248.1101,2209188.54884,3853235.841,1093585.02916,1390834.65118,377127.411,377127.411,377127.411,377127.411,2665268.78288,2665268.78288 +7984800.0,363705.42,212339.62200000003,620031.6962400001,146897.75705000001,146897.75705000001,146897.75705000001,155286.978,535046.20584,1033848.53184,280391.82171,427263.72832,180760.221,180760.221,180760.221,132849.0345,363705.42,363705.42,245585.73324999996,155360.50694999998,230930.92638,402786.4995,114314.64461999999,145386.74601,196097.92500000002,196097.92500000002,196097.92500000002,196097.92500000002,1093540.9627999999,1093540.9627999999 +7988400.0,398095.191,807143.4870000001,2356858.98204,190604.23349,190604.23349,190604.23349,486842.86699999997,911074.88232,1127476.16512,607167.04146,925206.9203199999,288098.541,288098.541,288098.541,636095.6175,398095.191,398095.191,322068.72555,285810.30224999995,424834.0788999999,740989.6724999999,210299.92609999998,267461.98655,332498.796,332498.796,332498.796,332498.796,1196939.54094,1196939.54094 +7992000.0,495128.73600000003,434975.853,1270129.49076,231482.92277,231482.92277,231482.92277,581784.8609999999,1061463.1575999998,1569135.2947200001,714490.5495,1088747.504,456109.245,456109.245,456109.245,376612.369,495128.73600000003,495128.73600000003,494423.7912899999,478192.32899999997,710794.5236,1239757.89,351855.0964,447493.5622,465655.446,465655.446,465655.446,465655.446,1488687.06624,1488687.06624 +7995600.0,383810.355,321843.57,939783.2244,106354.04912000001,106354.04912000001,106354.04912000001,301220.9795,865481.0504,1214081.69408,537945.8433300001,819726.99936,381463.81799999997,381463.81799999997,381463.81799999997,277279.16299999994,383810.355,383810.355,397860.45832000003,343739.41245,510941.05257999996,891176.2545,252924.30842000002,321672.19091,360471.192,360471.192,360471.192,360471.192,1153989.8007,1153989.8007 +7999200.0,430162.18499999994,302204.97899999993,882438.5386799999,556078.7438800001,556078.7438800001,556078.7438800001,651691.3305,903613.8501599998,655924.21376,779268.34083,1187456.51936,302489.031,302489.031,302489.031,725064.9105,430162.18499999994,430162.18499999994,659144.7328700001,500179.0014,743475.94776,1296760.374,368032.94424000004,468068.74452000007,263442.126,263442.126,263442.126,263442.126,1293354.3028999998,1293354.3028999998 +8002800.0,210317.208,577116.612,1685180.50704,291506.95310000004,291506.95310000004,291506.95310000004,334819.45,851785.4503199998,342375.43040000007,280585.99254,427559.60768,242194.476,242194.476,242194.476,681680.3245,210317.208,210317.208,656769.01615,283773.53699999995,421806.59079999995,735709.1699999999,208801.26919999998,265555.9766,264941.376,264941.376,264941.376,264941.376,632353.73872,632353.73872 +8006400.0,175955.58899999998,117956.84999999999,344434.002,275977.11108,275977.11108,275977.11108,132115.50449999998,463916.73448000004,337689.33824,194227.24923,295965.33216,123852.777,123852.777,123852.777,244382.13799999998,175955.58899999998,175955.58899999998,200335.81697999997,79739.65215,118526.59405999999,206732.4315,58672.632939999996,74620.56337,124196.05799999999,124196.05799999999,124196.05799999999,124196.05799999999,529039.80426,529039.80426 +8010000.0,1417871.8739999998,1111765.5750000002,3246355.4790000003,1297960.0939800001,1297960.0939800001,1297960.0939800001,2112771.3109999998,2425216.37184,3250183.5424000006,2490970.58217,3795764.69664,1629962.7719999999,1629962.7719999999,1629962.7719999999,1589271.2395,1417871.8739999998,1417871.8739999998,910287.2570999999,1529334.3266999999,2273232.7522799997,3964940.847,1125287.97372,1431154.83906,1457509.938,1457509.938,1457509.938,1457509.938,4263068.10116,4263068.10116 +8013600.0,1154955.102,752490.7110000001,2197272.87612,699021.79996,699021.79996,699021.79996,1051430.394,1867630.76776,2885583.5795200006,1538858.21838,2344926.80896,954720.0179999999,954720.0179999999,954720.0179999999,1213621.9165,1154955.102,1154955.102,707639.5713399999,1165058.4942,1731765.95928,3020522.0220000003,857252.9167200001,1090264.61556,1035618.714,1035618.714,1035618.714,1035618.714,3472565.0066799996,3472565.0066799996 +8017200.0,958494.7919999999,796645.4610000001,2326204.7461200003,828970.94148,828970.94148,828970.94148,1043773.7975000001,1776676.2425599997,3100083.9872000003,1489109.6675700003,2269119.4934400003,920945.9759999999,920945.9759999999,920945.9759999999,1239890.134,958494.7919999999,958494.7919999999,731950.69181,1191971.2261499998,1771769.5756599996,3090295.7715,877055.37134,1115449.6165699998,1006152.294,1006152.294,1006152.294,1006152.294,2881874.3412799994,2881874.3412799994 +8020800.0,932656.4879999999,799978.3049999999,2335936.6506,897132.7373800002,897132.7373800002,897132.7373800002,1041808.0785000001,1756855.91912,3109729.7817600006,1482953.15154,2259738.13568,921379.9380000001,921379.9380000001,921379.9380000001,1236238.3565,932656.4879999999,932656.4879999999,732278.23357,1190232.4518000002,1769185.0271200002,3085787.8380000005,875775.9768800001,1113822.4672400001,1009942.3500000001,1009942.3500000001,1009942.3500000001,1009942.3500000001,2804187.1739199995,2804187.1739199995 +8024400.0,644546.2200000001,565030.128,1649887.9737600002,640274.76469,640274.76469,640274.76469,605596.9325,904692.4456,1863804.4275200001,831349.0474800001,1266817.5961600002,492153.87599999993,492153.87599999993,492153.87599999993,625012.8394999999,644546.2200000001,644546.2200000001,539623.47673,548443.00935,815216.5225399999,1421889.2835,403545.72046,513234.32233,629506.821,629506.821,629506.821,629506.821,1937935.6348,1937935.6348 +8028000.0,122293.09199999998,108616.677,317160.69684,134455.09957,134455.09957,134455.09957,96132.351,198792.7824,603081.72928,179348.83511999997,273293.46304,161195.979,161195.979,161195.979,123335.46400000002,122293.09199999998,122293.09199999998,212043.91974999997,85910.51564999999,127699.08745999998,222730.96649999998,63213.169539999995,80395.27266999999,116149.00199999998,116149.00199999998,116149.00199999998,116149.00199999998,367694.56327999994,367694.56327999994 +8031600.0,121816.647,112611.46500000003,328825.47780000005,105783.97236,105783.97236,105783.97236,64199.121,228803.9,775434.27904,179835.21612,274034.61504,167987.001,167987.001,167987.001,121402.505,121816.647,121816.647,237735.43806999997,86729.2272,128916.03648,224853.552,63815.57952,81161.42496,130566.954,130566.954,130566.954,130566.954,366262.05198,366262.05198 +8035200.0,130473.63,128868.636,376296.41712,93720.52085,93720.52085,93720.52085,48458.9945,236458.17192,798507.44064,211670.68314,322545.80288000003,169714.53,169714.53,169714.53,119443.83850000001,130473.63,130473.63,255396.28139999998,87689.49435,130343.39653999999,227343.1335,64522.146459999996,82060.04533,138240.006,138240.006,138240.006,138240.006,392290.7142,392290.7142 +8038800.0,144359.952,143676.003,419533.92876,94858.26493,94858.26493,94858.26493,53503.110499999995,241322.9036,820177.61536,250591.54281,381853.77952000004,172997.39399999997,172997.39399999997,172997.39399999997,120467.977,144359.952,144359.952,281181.56104999996,103781.46059999999,154262.81303999998,269063.046,76362.65496,97118.94708,153867.411,153867.411,153867.411,153867.411,434042.25567999994,434042.25567999994 +8042400.0,170310.879,155360.436,453652.47312,98830.16572000002,98830.16572000002,98830.16572000002,71231.15999999999,292519.02999999997,839792.19904,281583.81741,429080.10272,238465.93499999997,238465.93499999997,238465.93499999997,171998.6905,170310.879,170310.879,289911.48498,121730.96744999998,180943.31457999998,315598.80449999997,89569.94642,113916.13991,232745.577,232745.577,232745.577,232745.577,512068.0428599999,512068.0428599999 +8046000.0,224356.52999999997,171265.377,500094.90084,105395.46237000001,105395.46237000001,105395.46237000001,74992.22150000001,453933.05592,835160.1478400001,331618.66647,505323.68224,312783.999,312783.999,312783.999,228542.99649999998,224356.52999999997,224356.52999999997,314624.83207999996,140533.21395,208891.34518,364345.36950000003,103404.68582,131511.32861,277317.933,277317.933,277317.933,277317.933,674565.3001999999,674565.3001999999 +8049600.0,268353.135,189221.343,552526.32156,113506.29268000001,113506.29268000001,113506.29268000001,75670.9065,528919.0004799999,832642.8857600002,396441.54102000006,604101.3958400001,369620.772,369620.772,369620.772,239356.08200000002,268353.135,268353.135,337430.67747999995,158906.41965000003,236201.64106000002,411979.60650000005,116923.73594000001,148705.01987000002,347989.62,347989.62,347989.62,347989.62,806848.4259,806848.4259 +8053200.0,445861.55700000003,228718.509,667858.04628,137729.59772000002,137729.59772000002,137729.59772000002,83893.6245,989439.5004799999,968478.65216,622769.13447,948981.5382400001,412093.827,412093.827,412093.827,342339.4135,445861.55700000003,445861.55700000003,541806.17777,194670.9531,289362.75004,504702.471,143239.36796,182173.55858,473209.698,473209.698,473209.698,473209.698,1340557.0813799999,1340557.0813799999 +8056800.0,1178821.044,570095.988,1664680.28496,1450914.54013,1450914.54013,1450914.54013,1337540.148,3305358.4035199997,3929398.59392,2728419.40518,4157591.47456,1111343.262,1111343.262,1111343.262,1614222.1585,1178821.044,1178821.044,2389369.63564,1478638.1763,2197876.99292,3833506.3830000004,1087985.62108,1383713.25634,1451313.717,1451313.717,1451313.717,1451313.717,3544321.93896,3544321.93896 +8060400.0,764596.35,966941.0190000001,2823467.77548,1231974.03461,1231974.03461,1231974.03461,1691589.865,3625771.4109599995,2070573.8553600002,2529396.06738,3854317.81696,954003.54,954003.54,954003.54,1305993.0554999998,764596.35,764596.35,1756804.93872,1760031.8766,2616146.14744,4563045.606000001,1295035.8005600001,1647042.1758800002,1099557.3150000002,1099557.3150000002,1099557.3150000002,1099557.3150000002,2298886.3589999997,2298886.3589999997 +8064000.0,1624828.989,1694346.87,4947492.860400001,682675.03975,682675.03975,682675.03975,1276534.042,3285535.02576,5231908.935040001,2544825.65211,3877829.56512,1398790.2510000002,1398790.2510000002,1398790.2510000002,949025.0245000002,1624828.989,1624828.989,876219.4556699999,1139743.2847499999,1694136.9318999997,2954889.9974999996,838625.9230999999,1066574.58005,1793915.2740000002,1793915.2740000002,1793915.2740000002,1793915.2740000002,4885319.16026,4885319.16026 +8067600.0,1039588.14,673448.6639999999,1966470.0988799997,400877.31585,400877.31585,400877.31585,404923.9985,1319627.85032,5323598.4704,589519.4724300001,898315.3865600001,996987.423,996987.423,996987.423,970923.9715,1039588.14,1039588.14,531681.8348399999,1695839.34825,2520729.1053,4396620.5325,1247802.7797,1586970.64935,521194.827,521194.827,521194.827,521194.827,3125695.0075999997,3125695.0075999997 +8071200.0,453022.6619999999,303220.96499999997,885405.2178,161653.6845,161653.6845,161653.6845,221820.312,740919.1881599999,1706536.6496,402623.10060000006,613520.9152,277455.546,277455.546,277455.546,206645.936,453022.6619999999,453022.6619999999,342534.45303999993,321126.86924999993,477329.3216999999,832551.1425,236285.94329999998,300511.31714999996,285441.936,285441.936,285441.936,285441.936,1362088.1370799998,1362088.1370799998 +8074800.0,463360.743,865811.6129999999,2528169.90996,233317.62993000002,233317.62993000002,233317.62993000002,555068.024,1055489.5617600002,1370918.8524800001,723371.9679899999,1102281.09408,359243.62200000003,359243.62200000003,359243.62200000003,705428.0765,463360.743,463360.743,385186.84424999997,371992.96979999996,552937.69832,964426.218,273713.34567999997,348111.93964,407158.55700000003,407158.55700000003,407158.55700000003,407158.55700000003,1393171.3006199999,1393171.3006199999 +8078400.0,540588.27,524685.315,1532081.1197999998,287019.06992000004,287019.06992000004,287019.06992000004,695840.3445,1157729.19784,1745994.6233599999,802856.4138,1223400.2496,510340.596,510340.596,510340.596,491429.72549999994,540588.27,540588.27,531675.8896799999,548302.7740499999,815008.0740199998,1421525.7104999998,403442.53497999994,513103.08978999994,509818.005,509818.005,509818.005,509818.005,1625368.7318,1625368.7318 +8082000.0,348836.27999999997,276898.42500000005,808543.4010000001,103346.27028000001,103346.27028000001,103346.27028000001,261821.49700000003,742971.6328,1010683.8912000002,467958.97427999997,713080.34176,311689.383,311689.383,311689.383,235376.813,348836.27999999997,348836.27999999997,349037.00065,294162.26085,437248.59514,762642.8985000001,216445.31786,275277.77003,311510.45999999996,311510.45999999996,311510.45999999996,311510.45999999996,1048834.4152,1048834.4152 +8085600.0,405433.03500000003,296482.434,865728.70728,670330.8477800001,670330.8477800001,670330.8477800001,658945.147,826425.2970400001,525733.6768,742959.8494500001,1132129.2944,257861.47199999998,257861.47199999998,257861.47199999998,726738.2150000001,405433.03500000003,405433.03500000003,627648.2900999999,488704.73579999997,726420.3727199999,1267012.278,359590.15128,457331.09844,233088.56100000002,233088.56100000002,233088.56100000002,233088.56100000002,1219001.9919,1219001.9919 +8089200.0,223779.86699999997,596335.6950000001,1741300.2294,300483.42357,300483.42357,300483.42357,337572.9245,846771.6175999999,331458.88448000007,310328.03130000003,472880.80960000004,246499.362,246499.362,246499.362,688744.8295,223779.86699999997,223779.86699999997,671987.4713499999,302906.89125000004,450246.78650000005,785314.1625000001,222879.63850000003,283461.01675000007,279335.421,279335.421,279335.421,279335.421,672831.4667799999,672831.4667799999 +8092800.0,196102.94400000002,173355.279,506197.41468,278720.83239,278720.83239,278720.83239,147509.908,562931.15464,390230.86016000004,225181.77737999998,343134.13696,138750.837,138750.837,138750.837,288955.282,196102.94400000002,196102.94400000002,221742.83742,100563.7761,149479.98324,260720.901,73995.07476,94107.82998000001,153509.037,153509.037,153509.037,153509.037,589616.18496,589616.18496 +8096400.0,1439185.6619999998,1136486.409,3318540.31428,1492175.21112,1492175.21112,1492175.21112,2141084.3965000003,2398277.4621599996,3305564.38528,2527366.6172999996,3851225.3216,1641150.8789999997,1641150.8789999997,1641150.8789999997,1647207.8945,1439185.6619999998,1439185.6619999998,1038028.0769299999,1601673.9970500001,2380759.86722,4152488.1405000007,1178515.6817800002,1498850.4811900002,1533845.193,1533845.193,1533845.193,1533845.193,4327151.55708,4327151.55708 +8100000.0,1200636.504,749073.696,2187295.19232,736289.46721,736289.46721,736289.46721,1099275.8279999997,1898525.79272,2879926.8608,1556101.1445,2371201.744,965928.2040000001,965928.2040000001,965928.2040000001,1210527.7765000002,1200636.504,1200636.504,706967.9077499999,1163122.5820499999,1728888.3812199999,3015502.9905,855828.46778,1088452.98419,1054841.322,1054841.322,1054841.322,1054841.322,3609913.75536,3609913.75536 +8103600.0,993250.4759999999,808131.294,2359743.37848,869304.0554000001,869304.0554000001,869304.0554000001,1057991.0565000002,1791350.6967200001,3130920.88832,1511954.1282300001,2303930.1001600004,927416.493,927416.493,927416.493,1253275.7719999999,993250.4759999999,993250.4759999999,750457.9412199999,1208525.9859,1796376.89756,3133215.519,889236.40444,1130941.60162,1022095.7849999999,1022095.7849999999,1022095.7849999999,1022095.7849999999,2986373.0978399995,2986373.0978399995 +8107200.0,952119.2550000001,815622.3060000001,2381617.13352,966707.5029700001,966707.5029700001,966707.5029700001,1061219.7015,1783478.58696,3166860.0416,1512397.44012,2304605.62304,935301.765,935301.765,935301.765,1260728.714,952119.2550000001,952119.2550000001,831268.7791199998,1215161.2791,1806239.7284399997,3150418.131,894118.66956,1137150.92538,1032096.5969999998,1032096.5969999998,1032096.5969999998,1032096.5969999998,2862705.2267,2862705.2267 +8110800.0,673506.75,589968.27,1722707.3484,692480.9843600001,692480.9843600001,692480.9843600001,630739.746,941114.8144800001,1947905.8374400004,866938.0524,1321048.4608,512092.10399999993,512092.10399999993,512092.10399999993,655457.4075000001,673506.75,673506.75,657799.35182,581152.4495999999,863836.48064,1506691.536,427613.40736,543843.89728,663752.031,663752.031,663752.031,663752.031,2025010.295,2025010.295 +8114400.0,126897.16500000001,112495.61999999998,328487.2103999999,139354.15857000003,139354.15857000003,139354.15857000003,97677.895,204933.93368000002,727963.4355200002,186294.39443999997,283877.17248,167177.78100000002,167177.78100000002,167177.78100000002,127517.41099999998,126897.16500000001,126897.16500000001,219830.19382999995,97203.6936,144485.49023999998,252009.576,71522.71776,90963.45648000001,135307.32,135307.32,135307.32,135307.32,381537.47609999997,381537.47609999997 +8118000.0,121944.273,111214.16399999999,324745.35887999996,114254.85115,114254.85115,114254.85115,64223.4215,227620.93792,768476.6604800001,179447.11596,273443.22432000004,164727.864,164727.864,164727.864,120471.12,121944.273,121944.273,234371.81949999995,87310.29284999998,129779.74393999997,226360.01849999998,64243.12905999999,81705.18762999999,132616.797,132616.797,132616.797,132616.797,366645.78082,366645.78082 +8121600.0,130765.845,127424.61900000002,372079.88748000003,95756.05809,95756.05809,95756.05809,49406.469,231957.75696,783044.9151999999,209660.64483000003,319482.88736000005,164859.222,164859.222,164859.222,117132.84800000003,130765.845,130765.845,250721.30290999997,87159.23190000001,129555.20396,225968.37900000002,64131.97804000001,81563.82442,138224.277,138224.277,138224.277,138224.277,393169.3073,393169.3073 +8125200.0,142851.726,140466.72,410162.82239999995,94883.03495,94883.03495,94883.03495,53044.130999999994,234309.92792000002,800185.77856,246992.39586,376369.36512000003,167384.754,167384.754,167384.754,117861.828,142851.726,142851.726,274031.34213,102581.93969999999,152479.82147999998,265953.177,75480.04452,95996.43246,154632.399,154632.399,154632.399,154632.399,429507.52284,429507.52284 +8128800.0,170949.027,156147.171,455949.73932,100126.36304000001,100126.36304000001,100126.36304000001,71757.53199999999,271695.6048,829620.0409600001,278721.68982,424718.76544,228204.249,228204.249,228204.249,167183.88749999998,170949.027,170949.027,286192.82587999996,121930.23555,181239.51062,316115.4255,89716.56838,114102.61549,233467.38299999997,233467.38299999997,233467.38299999997,233467.38299999997,513986.74117999995,513986.74117999995 +8132400.0,234570.369,178495.242,521206.10663999995,112231.53205000001,112231.53205000001,112231.53205000001,78422.645,463893.38031999994,870377.65248,345201.14811,526020.79712,320270.25,320270.25,320270.25,238393.512,234570.369,234570.369,324926.13972,148315.56435,220459.18454,384521.8335,109130.95846,138794.07133,291826.18799999997,291826.18799999997,291826.18799999997,291826.18799999997,705274.90946,705274.90946 +8136000.0,288424.26300000004,202257.477,590591.8328399999,122813.51170000002,122813.51170000002,122813.51170000002,80450.3735,568682.9706400001,894474.3392000002,427583.48283,651555.78336,386738.79300000006,386738.79300000006,386738.79300000006,253803.23849999998,288424.26300000004,288424.26300000004,356825.36227000004,171228.07484999998,254516.79273999998,443924.63849999994,125990.04026,160235.65522999997,377773.476,377773.476,377773.476,377773.476,867195.61742,867195.61742 +8139600.0,491242.842,244879.44899999996,715047.99108,149221.85322,149221.85322,149221.85322,90286.651,1053871.92848,1106623.90528,678601.22001,1034059.0019200001,450652.71,450652.71,450652.71,367922.3345,491242.842,491242.842,569974.25446,220223.4804,327344.53136,570949.7640000001,162040.98064000002,206085.67672000002,520038.519,520038.519,520038.519,520038.519,1477003.47828,1477003.47828 +8143200.0,1209010.512,619355.8859999999,1808519.18712,1488212.9603,1488212.9603,1488212.9603,1367959.873,3356831.92408,4099503.02016,2818504.16505,4294863.4896,1160512.194,1160512.194,1160512.194,1688692.39,1209010.512,1209010.512,2474430.2528399997,1529527.2929999998,2273519.5812,3965441.13,1125429.9588,1431335.4174,1488388.284,1488388.284,1488388.284,1488388.284,3635091.60608,3635091.60608 +8146800.0,731239.176,944525.7209999999,2758015.1053199996,1255797.80403,1255797.80403,1255797.80403,1687951.2475,3579412.10688,1968682.17664,2485803.26463,3787890.6889600004,901522.5689999999,901522.5689999999,901522.5689999999,1282410.2795,731239.176,731239.176,1725881.2466999998,1740252.9766499999,2586746.39986,4511766.9765,1280482.43714,1628533.03247,1059757.077,1059757.077,1059757.077,1059757.077,2198592.45584,2198592.45584 +8150400.0,1607228.583,1652024.178,4823910.59976,698549.93637,698549.93637,698549.93637,1276284.317,3204017.25144,5096559.1238400005,2499234.80394,3808357.79648,1364556.2850000001,1364556.2850000001,1364556.2850000001,939342.8030000002,1607228.583,1607228.583,851892.89991,1123160.9688,1669488.6499199998,2911898.808,826424.61408,1051056.80784,1763387.697,1763387.697,1763387.697,1763387.697,4832400.60622,4832400.60622 +8154000.0,989030.8200000001,630168.7799999999,1840092.8375999997,399052.30343,399052.30343,399052.30343,370677.377,1183288.90976,5120611.006720001,503067.55842,766579.13664,909736.3470000001,909736.3470000001,909736.3470000001,909019.8319999999,989030.8200000001,989030.8200000001,471939.0182,1653663.60405,2458038.24602,4287276.0105,1216769.7629799999,1547502.48379,452707.704,452707.704,452707.704,452707.704,2973685.9987999997,2973685.9987999997 +8157600.0,357811.407,206257.557,602272.06644,153340.14784000002,153340.14784000002,153340.14784000002,135775.90600000002,491299.44912,1228223.89888,239920.9764,365593.86880000005,153555.852,153555.852,153555.852,111504.56799999998,357811.407,357811.407,220915.22882,199018.01249999998,295824.305,515972.625,146437.945,186241.54750000002,171392.517,171392.517,171392.517,171392.517,1075819.63038,1075819.63038 +8161200.0,237872.44800000003,631983.2729999999,1845391.15716,186153.30184,186153.30184,186153.30184,365091.02349999995,505093.71016,448222.78336000006,320413.59777,488249.29184,103197.438,103197.438,103197.438,496672.75,237872.44800000003,237872.44800000003,121899.30570999999,94837.7889,140968.76275999998,245875.749,69781.87924000001,88749.43702000001,138931.404,138931.404,138931.404,138931.404,715203.16032,715203.16032 +8164800.0,468128.169,412889.0070000001,1205635.9004400002,227857.04931000003,227857.04931000003,227857.04931000003,540346.744,977682.38328,1292902.9529600001,658174.54626,1002932.64192,380053.12799999997,380053.12799999997,380053.12799999997,350757.10949999996,468128.169,468128.169,455133.67185,399545.66655,593892.57102,1035859.1355000001,293986.68798,373895.82129,425708.33999999997,425708.33999999997,425708.33999999997,425708.33999999997,1407505.3614599998,1407505.3614599998 +8168400.0,304009.21499999997,230189.202,672152.4698399999,93765.49842,93765.49842,93765.49842,216063.0675,626835.71672,813209.18208,388134.0279599999,591442.32832,246490.794,246490.794,246490.794,192531.416,304009.21499999997,304009.21499999997,300805.39904999995,230152.8168,342103.69311999995,596692.488,169347.01088,215377.57424,262220.409,262220.409,262220.409,262220.409,914054.3731,914054.3731 +8172000.0,336594.417,204830.241,598104.30372,581454.9334,581454.9334,581454.9334,524349.882,661062.9230399999,280688.62656,626521.04466,954698.7347200001,187580.793,187580.793,187580.793,592250.512,336594.417,336594.417,550361.9075499999,377107.0911,560539.42924,977685.0510000001,277476.32876,352897.74698000005,162720.21,162720.21,162720.21,162720.21,1012027.2137799999,1012027.2137799999 +8175600.0,162911.607,550296.6390000001,1606866.18588,286752.15932000004,286752.15932000004,286752.15932000004,313527.5255,732799.04192,216767.64736,212027.73605999997,323089.88352,189693.30599999998,189693.30599999998,189693.30599999998,606015.5954999999,162911.607,162911.607,568826.15075,235737.30509999997,350404.58683999995,611170.791,173456.09115999998,220603.55218,230804.16,230804.16,230804.16,230804.16,489820.89837999997,489820.89837999997 +8179200.0,119527.122,56967.642,166345.51464,273461.47664,273461.47664,273461.47664,103529.04100000001,320324.39712,181824.11200000002,110819.23986,168867.41312,61793.448000000004,61793.448000000004,61793.448000000004,141882.44,119527.122,119527.122,127575.74543999998,40948.4727,60866.61868,106162.70700000001,30129.98732,38319.681860000004,66975.633,66975.633,66975.633,66975.633,359378.21348000003,359378.21348000003 +8182800.0,1339109.598,1024630.527,2991921.13884,1198693.5794900001,1198693.5794900001,1198693.5794900001,1976196.3375000001,2215054.6862399997,2657319.9936,2281983.9396900004,3477308.8604800003,1518298.128,1518298.128,1518298.128,1306910.6505,1339109.598,1339109.598,874476.4222999999,1322906.2317000001,1966393.95428,3429756.8970000003,973397.6717200001,1237978.91806,1369399.893,1369399.893,1369399.893,1369399.893,4026256.1913199998,4026256.1913199998 +8186400.0,1108537.908,701021.4060000001,2046982.5055200001,610320.20775,610320.20775,610320.20775,973149.6214999999,1721073.73688,2561161.3568,1421156.46036,2165571.74912,839133.2519999999,839133.2519999999,839133.2519999999,1110559.1315,1108537.908,1108537.908,669970.33051,1051072.61715,1562335.1000599999,2725003.0815,773381.82694,983596.35037,950578.9110000001,950578.9110000001,950578.9110000001,950578.9110000001,3333003.9767199997,3333003.9767199997 +8190000.0,924215.742,757375.686,2211537.00312,760207.1437400001,760207.1437400001,760207.1437400001,977125.6530000002,1681410.23808,2918717.83616,1410027.65253,2148613.56576,859246.0889999999,859246.0889999999,859246.0889999999,1168832.6475,924215.742,924215.742,705527.08668,1136992.5450000002,1690048.178,2947758.45,836601.922,1064000.431,954090.129,954090.129,954090.129,954090.129,2778808.6642799997,2778808.6642799997 +8193600.0,897885.8640000001,767010.3060000001,2239670.09352,835418.1145200001,835418.1145200001,835418.1145200001,994519.5469999999,1668634.4963999998,2936801.277440001,1422793.1445,2168065.744,868092.927,868092.927,868092.927,1169613.977,897885.8640000001,897885.8640000001,746944.77013,1138586.1714,1692416.97576,2951890.0740000005,837774.5162400001,1065491.7505200002,960807.0120000001,960807.0120000001,960807.0120000001,960807.0120000001,2699643.4977599997,2699643.4977599997 +8197200.0,625877.277,541642.125,1581595.005,595944.9921700001,595944.9921700001,595944.9921700001,591617.096,869401.31976,1775548.4569600003,804550.89855,1225982.3216000001,465135.08999999997,465135.08999999997,465135.08999999997,601547.31,625877.277,625877.277,587104.38644,530311.1026499999,788264.8982599999,1374880.6365,390204.21874,496266.43927,604928.835,604928.835,604928.835,604928.835,1881804.3461799999,1881804.3461799999 +8200800.0,115312.16100000001,96997.57500000001,283232.919,119119.88088000003,119119.88088000003,119119.88088000003,94210.893,170827.3,547185.23968,162299.93976,247314.19392000002,144282.342,144282.342,144282.342,114369.93050000002,115312.16100000001,115312.16100000001,190812.51721999998,68009.96925,101091.3617,176322.1425,50041.9033,63643.89715,102245.90400000001,102245.90400000001,102245.90400000001,102245.90400000001,346705.23074,346705.23074 +8204400.0,108840.705,98230.245,286832.31539999996,92947.05398,92947.05398,92947.05398,60567.57,191674.19032000002,540144.42176,157685.76348,240283.06815999997,141200.76299999998,141200.76299999998,141200.76299999998,104021.2005,108840.705,108840.705,198794.47172,68744.7,102183.48,178227.0,50582.52,64331.46,110232.29999999999,110232.29999999999,110232.29999999999,110232.29999999999,327247.7197,327247.7197 +8208000.0,108518.58899999999,102894.42,300451.70639999997,72178.32831000001,72178.32831000001,72178.32831000001,39716.400499999996,197839.87543999997,638594.8544000001,158432.13372,241420.39424000002,138303.90899999999,138303.90899999999,138303.90899999999,100786.9905,108518.58899999999,108518.58899999999,206148.92805,68601.65805,101970.85962,177856.15050000002,50477.26938,64197.60099,113686.416,113686.416,113686.416,113686.416,326279.22426,326279.22426 +8211600.0,122368.06499999999,118121.91,344915.9772,78150.32478000001,78150.32478000001,78150.32478000001,45728.1335,198830.35695999998,656987.984,192996.19332,294089.43744,138369.471,138369.471,138369.471,99382.822,122368.06499999999,122368.06499999999,227304.01992999998,81517.82084999999,121169.69914,211342.4985,59981.01386,76284.57803,120796.194,120796.194,120796.194,120796.194,367919.98209999996,367919.98209999996 +8215200.0,126874.659,122070.264,356445.17087999993,75050.3523,75050.3523,75050.3523,45544.040499999996,196409.01703999998,662246.7558400001,217592.42253000004,331569.40576000005,139212.426,139212.426,139212.426,100415.9835,126874.659,126874.659,231378.37853000002,87006.56309999998,129328.27403999999,225572.571,64019.643959999994,81420.95658,140551.983,140551.983,140551.983,140551.983,381469.80805999995,381469.80805999995 +8218800.0,145567.038,133541.946,389942.48232,84646.4355,84646.4355,84646.4355,61711.86,203437.24096,665456.91072,234380.56551000001,357151.33792,183788.64899999998,183788.64899999998,183788.64899999998,138974.934,145567.038,145567.038,236356.27638999998,101234.42369999998,150476.84707999998,262459.61699999997,74488.53891999999,94735.42366,188740.62,188740.62,188740.62,188740.62,437671.56091999996,437671.56091999996 +8222400.0,182101.24200000003,142599.606,416390.84952,91019.38802,91019.38802,91019.38802,63905.926,269624.48384,669083.21472,258022.36257000003,393176.93344000005,233259.50699999998,233259.50699999998,233259.50699999998,183953.79799999998,182101.24200000003,182101.24200000003,252167.77092,114103.3311,169605.44524,295823.451,83957.51276,106778.17898,218994.462,218994.462,218994.462,218994.462,547517.73428,547517.73428 +8226000.0,225697.608,158718.48,463457.96160000004,106644.99714,106644.99714,106644.99714,72454.84749999999,384939.08567999996,677726.72192,314277.27597,478898.7062400001,268600.848,268600.848,268600.848,198375.90149999998,225697.608,225697.608,280033.45252999995,131583.13515,195587.77125999998,341141.4615,96819.19574,123135.82277,271566.837,271566.837,271566.837,271566.837,678597.47472,678597.47472 +8229600.0,979745.3430000001,1014992.565,2963778.2898,911972.7591700001,911972.7591700001,911972.7591700001,999316.346,1473795.41152,1292947.3216000001,1198828.3146,1826786.0032000002,560997.4739999999,560997.4739999999,560997.4739999999,1564954.7865,979745.3430000001,979745.3430000001,1852884.8474499998,524604.1869,779782.02596,1360084.929,386005.05604,490925.89342000004,1276789.8900000001,1276789.8900000001,1276789.8900000001,1276789.8900000001,2945767.66462,2945767.66462 +8233200.0,1567529.454,1483880.835,4332932.0382,1969853.40662,1969853.40662,1969853.40662,1539951.287,2374016.92832,2391576.9075200004,2333451.54063,3555735.68096,872479.692,872479.692,872479.692,1260675.836,1567529.454,1567529.454,1336335.4313400001,1233540.02115,1833558.25366,3198066.7215,907641.79334,1154349.79757,1713333.7320000003,1713333.7320000003,1713333.7320000003,1713333.7320000003,4713038.558359999,4713038.558359999 +8236800.0,1632941.7659999998,1409748.33,4116465.1235999996,1483023.82833,1483023.82833,1483023.82833,1501468.556,2712307.92776,6256961.74848,2006634.29022,3057728.4422400002,1761531.921,1761531.921,1761531.921,1577211.5625,1632941.7659999998,1632941.7659999998,634821.04868,2376735.0722999997,3532825.9593199994,6161905.743,1748807.5346799998,2224154.54914,1158246.399,1158246.399,1158246.399,1158246.399,4909711.576439999,4909711.576439999 +8240400.0,1094069.607,702870.7050000001,2052382.4586,866828.5511600001,866828.5511600001,866828.5511600001,1816581.8335,2296877.65312,3720992.32448,2214533.04282,3374526.5414400003,1454281.0890000002,1454281.0890000002,1454281.0890000002,1640343.8835,1094069.607,1094069.607,1137187.5400599998,1977815.1509999998,2939863.5083999997,5127668.91,1455281.2715999999,1850844.3018,1229211.267,1229211.267,1229211.267,1229211.267,3289502.61838,3289502.61838 +8244000.0,704118.066,445273.45499999996,1300198.4885999998,665402.44815,665402.44815,665402.44815,1094531.7704999999,2073217.7886399997,3025132.6899200003,1346388.6592799998,2051639.8617599998,569535.372,569535.372,569535.372,1164288.2615,704118.066,704118.066,318371.37956,985328.0396999998,1464611.0614799997,2554554.1769999997,725006.8045199999,922072.4124599999,695183.139,695183.139,695183.139,695183.139,2117048.31844,2117048.31844 +8247600.0,474733.395,342239.853,999340.37076,208384.39072,208384.39072,208384.39072,548389.093,1256454.82416,943948.15808,848268.43605,1292599.5216,404206.38899999997,404206.38899999997,404206.38899999997,498165.6225,474733.395,474733.395,256808.18475,460490.0058,684481.44072,1193862.9780000001,338829.68328,430927.68444000004,436899.59099999996,436899.59099999996,436899.59099999996,436899.59099999996,1427365.0743,1427365.0743 +8251200.0,546432.2069999999,444299.901,1297355.71092,309234.2288200001,309234.2288200001,309234.2288200001,570862.572,1037419.04248,1562252.97664,859106.94639,1309115.34688,489605.238,489605.238,489605.238,644474.082,546432.2069999999,546432.2069999999,445420.08368,615773.6518499999,915298.1195399998,1596450.2084999997,453087.77345999994,576242.50383,561413.0759999999,561413.0759999999,561413.0759999999,561413.0759999999,1642939.5023799997,1642939.5023799997 +8254800.0,304260.906,206359.875,602570.835,115417.06814,115417.06814,115417.06814,266233.41150000005,570146.68488,613414.5088000001,426212.52597,649466.7062400001,242621.532,242621.532,242621.532,250003.12399999998,304260.906,304260.906,168121.68853999997,233947.5615,347744.2766,606530.715,172139.19340000002,218928.70570000002,254645.859,254645.859,254645.859,254645.859,914811.12404,914811.12404 +8258400.0,197605.05599999998,104080.12199999999,303913.95623999997,77416.06829,77416.06829,77416.06829,140595.77000000002,355510.93439999997,262134.81024,239953.09107,365642.80544,132354.366,132354.366,132354.366,93805.131,197605.05599999998,197605.05599999998,72756.09847999999,86781.16034999999,128993.23094,224988.1935,63853.79206,81210.02413,135521.643,135521.643,135521.643,135521.643,594132.53504,594132.53504 +8262000.0,134312.499,52075.14,152059.4088,60017.11540000001,60017.11540000001,60017.11540000001,72781.59349999999,230317.06736,150679.98144000003,144616.87023,220368.56416,72655.989,72655.989,72655.989,38920.976500000004,134312.499,134312.499,39265.2325,37142.01134999999,55208.61933999998,96294.10349999998,27329.183659999995,34757.585929999994,74267.832,74267.832,74267.832,74267.832,403832.91366,403832.91366 +8265600.0,92414.826,24735.852,72228.68784,62077.22323,62077.22323,62077.22323,53887.344,142857.40256,75700.34176000001,86845.72806,132336.34752,34447.416,34447.416,34447.416,23362.6365,92414.826,92414.826,16750.97411,19756.560149999998,29366.541259999995,51220.7115,14536.925739999999,18488.23777,44264.985,44264.985,44264.985,44264.985,277860.57684,277860.57684 +8269200.0,223080.01199999996,112759.5,329257.74,102351.81869000001,102351.81869000001,102351.81869000001,160474.867,416480.40008,301574.52736000007,277725.10143,423200.15456,151974.348,151974.348,151974.348,92831.837,223080.01199999996,223080.01199999996,88552.81188,90065.12715,133874.58406,233502.1815,66270.14294,84283.16837,147995.349,147995.349,147995.349,147995.349,670727.2360799998,670727.2360799998 +8272800.0,666259.218,544031.031,1588570.6105199999,241022.62019000002,241022.62019000002,241022.62019000002,705795.0935000001,1280815.53152,1566267.4681600002,1008105.21105,1536160.3216000001,603479.91,603479.91,603479.91,700017.619,666259.218,666259.218,447030.34180999995,667631.1235499999,992380.0898199999,1730895.5055,491244.62918,624770.85389,625456.407,625456.407,625456.407,625456.407,2003219.3821199997,2003219.3821199997 +8276400.0,782051.6579999999,678579.951,1981453.45692,487418.61718,487418.61718,487418.61718,896288.2075,1488753.92912,2484951.10208,1248458.49177,1902412.9398400001,723862.5989999999,723862.5989999999,723862.5989999999,997850.0454999999,782051.6579999999,782051.6579999999,700532.4933099999,982549.9341,1460481.6304399997,2547351.681,722962.66756,919472.65438,835885.632,835885.632,835885.632,835885.632,2351368.6517199995,2351368.6517199995 +8280000.0,755920.491,663410.592,1937158.92864,563658.2845300001,563658.2845300001,563658.2845300001,720084.589,1261596.06232,1852578.2694400002,1078470.20631,1643383.17152,594040.0109999999,594040.0109999999,594040.0109999999,814143.6625,755920.491,755920.491,691364.15712,807321.30975,1200018.3418999999,2093055.2475,594029.0131,755493.27505,747334.0380000001,747334.0380000001,747334.0380000001,747334.0380000001,2272800.94294,2272800.94294 +8283600.0,353758.80299999996,246144.71999999997,718742.5824,318525.55449,318525.55449,318525.55449,328174.31149999995,582896.91744,687291.18848,491472.73287,748910.8310400001,248450.343,248450.343,248450.343,365700.4715,353758.80299999996,353758.80299999996,485768.10970999993,172303.2891,256115.01243999996,446712.23099999997,126781.18556,161241.84337999998,392338.25100000005,392338.25100000005,392338.25100000005,392338.25100000005,1063634.80102,1063634.80102 +8287200.0,124813.701,91596.81899999999,267462.71148,106183.76439000001,106183.76439000001,106183.76439000001,91302.3895,192776.68888,491601.59359999996,197681.80047,301229.41024,130677.45000000001,130677.45000000001,130677.45000000001,105697.75649999999,124813.701,124813.701,189357.61247,64669.61835,96126.19814,167661.97350000002,47584.06486,60517.98853,96418.39199999999,96418.39199999999,96418.39199999999,96418.39199999999,375273.19434,375273.19434 +8290800.0,121327.42799999999,91149.39300000001,266156.22756,79954.91801000002,79954.91801000002,79954.91801000002,57828.459500000004,184365.7924,492465.55264,181452.00066000002,276498.28672000003,127655.51699999999,127655.51699999999,127655.51699999999,98302.2985,121327.42799999999,121327.42799999999,187552.24631000002,53246.176199999994,79146.16807999999,138045.642,39178.66792,49827.90316,105827.058,105827.058,105827.058,105827.058,364791.1335199999,364791.1335199999 +8294400.0,117663.834,97331.55900000001,284208.15228000004,62141.65133,62141.65133,62141.65133,40150.6175,181302.47879999998,467083.70944000006,167516.03063999998,255262.52287999997,119504.091,119504.091,119504.091,87978.7335,117663.834,117663.834,178103.08307999998,52436.61765,77942.82426,135946.7865,38582.99274,49070.31627,99642.06,99642.06,99642.06,99642.06,353775.92756,353775.92756 +8298000.0,120017.742,98980.26000000001,289022.35920000006,56896.149860000005,56896.149860000005,56896.149860000005,39953.2175,206195.46128000002,455331.88416,167623.08759,255425.65728000004,116332.284,116332.284,116332.284,84308.05249999999,120017.742,120017.742,184754.38956,67336.99695,100091.04238,174577.39950000003,49546.72862,63014.12801000001,104576.883,104576.883,104576.883,104576.883,360853.34427999996,360853.34427999996 +8301600.0,120146.994,100367.955,293074.4286,59595.24769000001,59595.24769000001,59595.24769000001,39429.445999999996,218187.20632000003,522537.33952000004,176291.2809,268634.33280000003,116635.215,116635.215,116635.215,83178.032,120146.994,120146.994,193301.52868,69245.19089999999,102927.41955999998,179524.569,50950.782439999995,64799.82061999999,114498.18599999999,114498.18599999999,114498.18599999999,114498.18599999999,361241.96196,361241.96196 +8305200.0,126658.10699999999,106270.28100000002,310309.22052000003,67879.46,67879.46,67879.46,46710.163499999995,222854.65695999996,541799.77024,204355.05888,311398.18496000004,142461.35100000002,142461.35100000002,142461.35100000002,90376.37,126658.10699999999,126658.10699999999,195516.76455999998,77048.40689999999,114526.27395999999,199755.129,56692.408039999995,72102.08941999999,133324.932,133324.932,133324.932,133324.932,380818.70837999997,380818.70837999997 +8308800.0,148315.251,116732.31299999998,340858.3539599999,75993.03349000002,75993.03349000002,75993.03349000002,54368.573,246403.31232,571668.57984,224404.65936000002,341949.95712000004,183636.981,183636.981,183636.981,120450.757,148315.251,148315.251,207980.43655999997,92388.9807,137328.80588,239526.98700000002,67980.04012,86457.83626000001,165051.408,165051.408,165051.408,165051.408,445934.52134,445934.52134 +8312400.0,184985.457,134288.478,392122.35576,91776.56268000002,91776.56268000002,91776.56268000002,64942.3705,294235.25415999995,609908.1024000001,255443.727,389247.58400000003,235169.727,235169.727,235169.727,171374.11549999999,184985.457,184985.457,229648.70734,106279.00245,157975.20857999998,275538.1545,78200.35242,99456.15291,203230.41,203230.41,203230.41,203230.41,556189.6073800001,556189.6073800001 +8316000.0,912209.2590000001,874812.3960000002,2554452.19632,824843.24109,824843.24109,824843.24109,952287.2694999999,1381102.27744,1143122.41024,1089299.63625,1659885.1600000001,519920.85599999997,519920.85599999997,519920.85599999997,1443316.1645,912209.2590000001,912209.2590000001,1647438.1072500001,474060.6647999999,704653.1363199999,1229046.1679999998,348815.00768,443627.14063999994,1156281.846,1156281.846,1156281.846,1156281.846,2742709.1720600002,2742709.1720600002 +8319600.0,1409917.944,1387152.42,4050485.0664,1796397.89021,1796397.89021,1796397.89021,1384655.664,2136548.8743999996,2205761.6415999997,2113407.08649,3220429.84608,792088.7399999999,792088.7399999999,792088.7399999999,1021578.5404999999,1409917.944,1409917.944,1012314.88475,1130661.1313999998,1680637.0397599998,2931343.6739999996,831943.25224,1058075.47852,1510961.4449999998,1510961.4449999998,1510961.4449999998,1510961.4449999998,4239153.28496,4239153.28496 +8323200.0,1429868.298,1240133.52,3621189.8784,1238488.46847,1238488.46847,1238488.46847,1289227.1804999998,2296307.8092799997,5312749.30432,1761651.1212300002,2684420.7561600003,1549898.535,1549898.535,1549898.535,1287344.7615,1429868.298,1429868.298,544865.37625,2036332.24425,3026844.4717,5279379.8925,1498338.2933,1905604.74215,980874.1950000001,980874.1950000001,980874.1950000001,980874.1950000001,4299137.34932,4299137.34932 +8326800.0,870302.301,525340.122,1533993.1562399997,745166.8209700001,745166.8209700001,745166.8209700001,1573251.1305,1929886.11968,3310289.3625600003,1817378.53584,2769338.72128,1131657.78,1131657.78,1131657.78,1428960.3965,870302.301,870302.301,934630.8210199999,1639465.8754499997,2436934.4617799995,4250467.0845,1206323.03922,1534216.21431,981238.2300000001,981238.2300000001,981238.2300000001,981238.2300000001,2616708.91834,2616708.91834 +8330400.0,449480.21699999995,252440.24700000003,737125.52124,580650.4246400001,580650.4246400001,580650.4246400001,796960.9130000001,1438478.4144799998,1881975.75744,932678.2164000002,1421223.9488000001,321675.327,321675.327,321675.327,732972.415,449480.21699999995,449480.21699999995,162856.19116,694263.1702499999,1031966.4900999998,1799941.5524999998,510840.55489999993,649693.1889499999,415354.0140000001,415354.0140000001,415354.0140000001,415354.0140000001,1351437.1857799997,1351437.1857799997 +8334000.0,93825.74999999999,43398.093,126722.43156,127902.65191000002,127902.65191000002,127902.65191000002,115982.37700000001,403978.89312,29409.456000000006,237872.59272000002,362472.52224,38971.995,38971.995,38971.995,83366.514,93825.74999999999,93825.74999999999,18899.38466,58448.9601,86879.68884,151534.34100000001,43006.88916,54696.68118,93899.181,93899.181,93899.181,93899.181,282102.75499999995,282102.75499999995 +8337600.0,132471.59999999998,52469.436,153210.75312,104101.83729000001,104101.83729000001,104101.83729000001,113616.384,226601.70024,124203.70816,159503.29731000002,243052.64352,48903.411,48903.411,48903.411,40136.558000000005,132471.59999999998,132471.59999999998,27564.53713,44168.522399999994,65652.96415999999,114510.984,32499.307839999998,41333.012319999994,69912.162,69912.162,69912.162,69912.162,398297.94399999996,398297.94399999996 +8341200.0,79707.177,26079.398999999998,76151.84508,75030.45814,75030.45814,75030.45814,67239.7845,125518.68784,65887.12576,87174.03765000001,132836.6288,25585.913999999997,25585.913999999997,25585.913999999997,25088.6335,79707.177,79707.177,15597.430289999998,25014.962699999996,37182.734679999994,64853.606999999996,18406.07132,23409.06386,40112.85,40112.85,40112.85,40112.85,239652.91217999996,239652.91217999996 +8344800.0,60804.126000000004,17872.233,52186.92036,63867.36796,63867.36796,63867.36796,55059.018000000004,88343.58383999999,35216.75392,61294.38567,93400.96864,13447.467,13447.467,13447.467,18945.038,60804.126000000004,60804.126000000004,9536.29638,19026.3006,28281.06904,49327.445999999996,13999.59896,17804.85908,29970.426,29970.426,29970.426,29970.426,182817.73884,182817.73884 +8348400.0,35411.058000000005,6294.294,18379.33848,47560.57922,47560.57922,47560.57922,38834.0855,48443.16792,15705.367040000001,32101.75458,48916.95936,7530.897,7530.897,7530.897,13803.846000000001,35411.058000000005,35411.058000000005,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,17604.573,17604.573,17604.573,17604.573,106469.24772000001,106469.24772000001 +8352000.0,36616.899,6703.152,19573.20384,52914.52177,52914.52177,52914.52177,43638.9065,51764.60368,17335.702400000002,34817.99685,53055.995200000005,8388.375,8388.375,8388.375,15529.3285,36616.899,36616.899,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,18763.578,18763.578,18763.578,18763.578,110094.80966,110094.80966 +8355600.0,66035.14199999999,18713.055,54642.120599999995,87860.54706000001,87860.54706000001,87860.54706000001,74812.40199999999,93533.63272,36672.00832,69121.34754,105327.76768,15164.045999999998,15164.045999999998,15164.045999999998,25902.414999999997,66035.14199999999,66035.14199999999,9563.078459999999,25757.68005,38286.72442,66779.17050000001,18952.564580000002,24104.100590000002,34311.306,34311.306,34311.306,34311.306,198545.66027999998,198545.66027999998 +8359200.0,319785.504,169799.274,495813.88008,171568.0824,171568.0824,171568.0824,227785.56149999998,577382.61424,396674.61632000003,389890.55406,594118.93952,188779.563,188779.563,188779.563,95657.457,319785.504,319785.504,119226.79755999999,117556.88355,174738.87381999998,304777.1055,86498.64517999999,110010.02189,181429.28699999998,181429.28699999998,181429.28699999998,181429.28699999998,961488.41536,961488.41536 +8362800.0,472892.088,316535.868,924284.73456,182579.51217000003,182579.51217000003,182579.51217000003,404323.115,894781.1713599999,705891.4624,636736.2918000001,970264.8256000002,378821.943,378821.943,378821.943,261174.494,472892.088,472892.088,235205.59933,267144.81614999997,397089.3316599999,692597.6714999999,196565.81533999997,249994.77856999997,375553.29600000003,375553.29600000003,375553.29600000003,375553.29600000003,1421828.8779199999,1421828.8779199999 +8366400.0,487345.761,372376.968,1087340.7465599999,179868.44040000002,179868.44040000002,179868.44040000002,429273.4285,808522.26896,517410.9664000001,612676.85913,933602.83296,345930.348,345930.348,345930.348,301394.7755,487345.761,487345.761,305529.16055999993,384288.41744999995,571213.89458,996303.3045,282760.36642,359618.04991,427300.779,427300.779,427300.779,427300.779,1465286.25474,1465286.25474 +8370000.0,250578.204,170868.774,498936.82008,170164.31905000002,170164.31905000002,170164.31905000002,200747.883,405739.41952,441177.67872,318541.41249,485396.43808000005,143177.95799999998,143177.95799999998,143177.95799999998,216484.471,250578.204,250578.204,316300.27051999996,93418.0695,138858.46379999997,242194.995,68737.2462,87420.86009999999,243992.844,243992.844,243992.844,243992.844,753405.13336,753405.13336 +8373600.0,84520.34700000001,66435.06,193990.3752,77552.25863000001,77552.25863000001,77552.25863000001,73067.01499999998,105968.4936,370551.48608,115296.67884000001,175690.17728,64525.10399999999,64525.10399999999,64525.10399999999,81264.414,84520.34700000001,84520.34700000001,126622.04268999999,48896.23725,72680.3329,126768.0225,35977.9721,45757.21955,67528.962,67528.962,67528.962,67528.962,254124.50998,254124.50998 +8377200.0,85685.589,72324.282,211186.90344,39252.85045,39252.85045,39252.85045,45423.3185,111836.09928,387005.04896,118725.57795,180915.16640000002,68709.378,68709.378,68709.378,75350.2645,85685.589,85685.589,148098.53396,42118.537950000005,62605.82678,109196.20950000001,30990.924220000004,39414.631810000006,63822.33,63822.33,63822.33,63822.33,257628.00426,257628.00426 +8380800.0,81379.998,72259.614,210998.07288,16514.66399,16514.66399,16514.66399,31102.672999999995,137993.98488,385942.1491200001,122026.61730000001,185945.32160000002,94574.13,94574.13,94574.13,70329.89600000001,81379.998,81379.998,148104.95049999998,36194.65155,53800.44502,93837.98550000001,26632.113980000002,33871.044290000005,63462.864,63462.864,63462.864,63462.864,244682.52732,244682.52732 +8384400.0,91370.35800000001,77097.879,225125.80668,11178.46257,11178.46257,11178.46257,27177.122,151893.54111999998,404177.70368000004,137089.91898,208898.92416,101611.42799999999,101611.42799999999,101611.42799999999,72771.559,91370.35800000001,91370.35800000001,154601.44713,41048.50364999999,61015.30665999999,106422.0465,30203.59034,38413.29107,67830.85800000001,67830.85800000001,67830.85800000001,67830.85800000001,274720.20972,274720.20972 +8388000.0,103503.65100000001,82820.01,241834.42919999998,21811.31315,21811.31315,21811.31315,26722.601499999997,155721.41584,422736.20928000007,149965.89237000002,228519.45504,106544.397,106544.397,106544.397,75365.52100000001,103503.65100000001,103503.65100000001,167701.58795,46317.49695,68847.24238,120082.3995,34080.52862,43344.02801,79910.388,79910.388,79910.388,79910.388,311200.97734000004,311200.97734000004 +8391600.0,106042.095,94082.25899999999,274720.19628,30178.472060000004,30178.472060000004,30178.472060000004,31581.151000000005,159690.32072,430068.44800000003,158808.86888999998,241994.46688,107992.55399999999,107992.55399999999,107992.55399999999,76146.2765,106042.095,106042.095,176818.76979,48118.39425,71524.13169999998,124751.39249999999,35405.633299999994,45029.31215,85660.11000000002,85660.11000000002,85660.11000000002,85660.11000000002,318833.2323,318833.2323 +8395200.0,112246.71300000002,96125.03099999999,280685.09051999997,44509.58105,44509.58105,44509.58105,33858.737499999996,162948.44504,439435.64928,181295.51831999997,276259.83744,117438.783,117438.783,117438.783,82046.23700000001,112246.71300000002,112246.71300000002,184297.25196999998,53521.114499999996,79554.8418,138758.445,39380.9682,50085.191100000004,96415.35299999999,96415.35299999999,96415.35299999999,96415.35299999999,337488.45042,337488.45042 +8398800.0,188187.82799999998,129640.875,378551.355,77868.12726000001,77868.12726000001,77868.12726000001,51997.858499999995,545498.88312,499968.82496000006,322655.7948600001,491665.9731200001,184964.748,184964.748,184964.748,163388.78850000002,188187.82799999998,188187.82799999998,392975.10485999996,85596.20324999999,127231.88729999997,221916.0825,62981.897699999994,80101.13835,177821.40000000002,177821.40000000002,177821.40000000002,177821.40000000002,565818.0695199999,565818.0695199999 +8402400.0,798923.3550000001,340953.339,995583.7498799999,842065.16119,842065.16119,842065.16119,797459.9955000001,2567185.16584,2036184.40576,1884722.8684200002,2871958.65664,617274.567,617274.567,617274.567,800559.249,798923.3550000001,798923.3550000001,1820569.4781299997,854475.58935,1270109.39454,2215307.0835,628725.24846,799620.36633,949481.2440000001,949481.2440000001,949481.2440000001,949481.2440000001,2402096.2207000004,2402096.2207000004 +8406000.0,470244.645,741104.3099999999,2164024.5851999996,647802.08317,647802.08317,647802.08317,1125293.1375,2560652.4600799996,1262368.18944,1670022.93969,2544796.86048,673836.48,673836.48,673836.48,765557.8105,470244.645,470244.645,1279187.75881,1095251.6007,1628003.6138799998,2839541.187,805888.83212,1024939.15226,713081.967,713081.967,713081.967,713081.967,1413868.8993,1413868.8993 +8409600.0,1050273.447,595046.508,1737535.80336,230230.90937,230230.90937,230230.90937,393869.0945,1349074.0472,2025873.6582400005,1057411.88931,1611294.30752,675266.8049999999,675266.8049999999,675266.8049999999,360926.391,1050273.447,1050273.447,407557.35579,425614.86854999996,632642.3478199999,1103445.9555,313168.47118,398291.44489,1063677.747,1063677.747,1063677.747,1063677.747,3157822.1639799997,3157822.1639799997 +8413200.0,430898.67000000004,381922.581,1115213.93652,188588.01247000002,188588.01247000002,188588.01247000002,167949.635,311016.40072,2418545.5334400004,89811.71514,136855.94688,334229.361,334229.361,334229.361,290102.0675,430898.67000000004,430898.67000000004,155068.95989,587880.71055,873837.50062,1524135.1755,432564.07838,550140.22049,109462.39499999999,109462.39499999999,109462.39499999999,109462.39499999999,1295568.6678000002,1295568.6678000002 +8416800.0,92963.32199999999,11116.965,32461.537800000002,112736.65975,112736.65975,112736.65975,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,92963.32199999999,92963.32199999999,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,279509.72147999995,279509.72147999995 +8420400.0,45668.754,146296.935,427187.0502,99788.42687000001,99788.42687000001,99788.42687000001,174765.899,99784.61688000002,34036.839680000005,56198.81295,85636.2864,19502.931,19502.931,19502.931,125469.60650000001,45668.754,45668.754,11445.71246,35682.1686,53038.680239999994,92509.326,26255.02776,33391.46148,24322.494,24322.494,24322.494,24322.494,137310.72035999998,137310.72035999998 +8424000.0,54278.066999999995,17804.532,51989.233439999996,87285.53746,87285.53746,87285.53746,114014.19750000001,92527.83288,29328.36736,43911.77595,66913.1824,34686.777,34686.777,34686.777,30635.9725,54278.066999999995,54278.066999999995,9718.056659999998,28343.0988,42129.74192,73482.10800000001,20854.92208,26523.54184,23919.612,23919.612,23919.612,23919.612,163196.05477999998,163196.05477999998 +8427600.0,30077.882999999998,11081.343,32357.521559999997,66680.10019000001,66680.10019000001,66680.10019000001,57965.20799999999,48556.17192,21068.47808,32672.0037,49785.91040000001,14349.156000000003,14349.156000000003,14349.156000000003,20705.7725,30077.882999999998,30077.882999999998,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14899.917000000001,14899.917000000001,14899.917000000001,14899.917000000001,90434.16821999999,90434.16821999999 +8431200.0,60945.90000000001,21180.663,61847.53596,56990.549439999995,56990.549439999995,56990.549439999995,63153.153000000006,126494.62192,15936.305920000003,90545.1603,137973.57760000002,24457.425,24457.425,24457.425,17829.9695,60945.90000000001,60945.90000000001,88078.96916,18017.0811,26780.94524,46710.951,13257.012760000001,16860.42898,17037.285,17037.285,17037.285,17037.285,183244.00600000002,183244.00600000002 +8434800.0,19271.67,58484.76299999999,170775.50796,253248.14317000002,253248.14317000002,253248.14317000002,126985.1135,89657.12247999999,42344.01344,23503.14708,35814.31936,8924.304,8924.304,8924.304,131716.2735,19271.67,19271.67,66202.42538,45240.86925,67246.9217,117291.14250000002,33288.3433,42336.51715000001,12721.886999999999,12721.886999999999,12721.886999999999,12721.886999999999,57943.487799999995,57943.487799999995 +8438400.0,16142.793000000001,6902.447999999999,20155.148159999997,234815.98415000003,234815.98415000003,234815.98415000003,43473.906,30119.09336,43886.231680000004,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,16142.793000000001,16142.793000000001,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11031.024,11031.024,11031.024,11031.024,48535.99762,48535.99762 +8442000.0,377507.727,63393.441000000006,185108.84772,110193.44292000002,110193.44292000002,110193.44292000002,203352.233,322572.26568,54174.773120000005,288383.24991,439441.14272,141787.87800000003,141787.87800000003,141787.87800000003,51468.004,377507.727,377507.727,9502.102089999998,38601.89055,57378.61262,100078.9755,28403.36638,36123.74449,173903.445,173903.445,173903.445,173903.445,1135039.89918,1135039.89918 +8445600.0,215489.706,122440.035,357524.9022,163345.75851,163345.75851,163345.75851,257328.7815,314938.69656,206427.19744000002,282475.06833,430438.19936,162245.13299999997,162245.13299999997,162245.13299999997,95329.556,215489.706,215489.706,40425.52475,68058.84464999998,101164.01105999999,176448.8565,50077.865939999996,63689.634869999994,104749.01999999999,104749.01999999999,104749.01999999999,104749.01999999999,647905.71604,647905.71604 +8449200.0,302080.65300000005,237691.99800000002,694060.6341600001,172614.76837,172614.76837,172614.76837,398796.8075,489779.8344,548717.69856,410350.1346,625295.4432,272836.41599999997,272836.41599999997,272836.41599999997,135132.56749999998,302080.65300000005,302080.65300000005,99500.97313,172313.52345,256130.22498000003,446738.76450000005,126788.71602000002,161251.42071000003,177099.039,177099.039,177099.039,177099.039,908255.83002,908255.83002 +8452800.0,430566.30600000004,334517.109,976789.9582799999,194761.54313000003,194761.54313000003,194761.54313000003,465583.39450000005,857258.3596,754781.8630400001,575083.89687,876318.3190400001,384994.605,384994.605,384994.605,274967.014,430566.30600000004,430566.30600000004,190685.88916000002,321034.67100000003,477192.27640000003,832312.1100000001,236218.10360000003,300425.03780000005,346518.036,346518.036,346518.036,346518.036,1294569.3600400002,1294569.3600400002 +8456400.0,366100.17,309958.101,905077.65492,218760.14347,218760.14347,218760.14347,352027.361,532659.70736,469244.7712000001,416064.48345,634003.0224,206029.116,206029.116,206029.116,227223.11499999996,366100.17,366100.17,238560.58875999998,206566.67385,307044.78433999995,535543.2285,151992.26866,193305.60343,334238.385,334238.385,334238.385,334238.385,1100741.1778,1100741.1778 +8460000.0,42227.024999999994,26563.371,77565.04332,77335.73463,77335.73463,77335.73463,66015.9325,102481.56392,95595.28128000001,69984.65208,106643.27936000002,27155.919,27155.919,27155.919,24397.66,42227.024999999994,42227.024999999994,55581.29603,23931.34065,35572.017459999995,62044.2165,17608.73954,22395.00767,20774.628,20774.628,20774.628,20774.628,126962.58849999998,126962.58849999998 +8463600.0,54301.418999999994,52493.511,153281.05211999998,39039.236500000006,39039.236500000006,39039.236500000006,37554.321,83264.60591999999,319636.80704000004,69974.27724,106627.47008,52335.702000000005,52335.702000000005,52335.702000000005,39627.2905,54301.418999999994,54301.418999999994,100009.24582999999,13508.661599999998,20079.541439999997,35022.456,9939.706559999999,12641.43888,27650.267999999996,27650.267999999996,27650.267999999996,27650.267999999996,163266.26645999998,163266.26645999998 +8467200.0,65660.54699999999,62610.75899999999,182823.41627999998,15366.74084,15366.74084,15366.74084,18676.497000000003,86158.06312,397886.69184000004,80046.94278,121976.29375999999,62194.172999999995,62194.172999999995,62194.172999999995,64424.01,65660.54699999999,65660.54699999999,103942.11828,25868.5002,38451.44968,67066.48199999999,19034.10632,24207.80636,50375.526,50375.526,50375.526,50375.526,197419.37798,197419.37798 +8470800.0,71632.194,72176.583,210755.62236,9956.93347,9956.93347,9956.93347,14069.415500000003,104033.52639999999,411485.16864000005,93675.41085000001,142743.48320000002,77559.64199999999,77559.64199999999,77559.64199999999,69346.94900000001,71632.194,71632.194,142379.49686999997,33993.93015,50529.24926,88132.4115,25012.81774,31811.60377,58102.785,58102.785,58102.785,58102.785,215374.12996,215374.12996 +8474400.0,83879.505,75964.698,221816.91815999997,4519.787910000001,4519.787910000001,4519.787910000001,13734.5285,141238.82903999998,419265.66336,95624.45592000001,145713.45664000002,99950.46300000002,99950.46300000002,99950.46300000002,72165.324,83879.505,83879.505,153745.21903,39056.51115,58054.36966,101257.62150000001,28737.877340000003,36549.17957,58336.070999999996,58336.070999999996,58336.070999999996,58336.070999999996,252197.71169999999,252197.71169999999 +8478000.0,94148.637,82701.558,241488.54936,5445.63558,5445.63558,5445.63558,23007.662999999997,157932.80776,438735.70624,110996.23038,169137.11296,109946.883,109946.883,109946.883,75711.09000000001,94148.637,94148.637,167876.56131999998,47061.068849999996,69952.50233999999,122010.1785,34627.65066,44039.86443,61831.47600000001,61831.47600000001,61831.47600000001,61831.47600000001,283073.56858,283073.56858 +8481600.0,102519.22799999997,88998.435,259875.4302,8620.540830000002,8620.540830000002,8620.540830000002,25759.489,169003.45048,464393.61856000003,151031.27445,230142.89440000002,118628.43599999999,118628.43599999999,118628.43599999999,82898.179,102519.22799999997,102519.22799999997,183192.44307,52801.31205,78484.91322,136892.2905,38851.33578,49411.598190000004,73271.94,73271.94,73271.94,73271.94,308241.1455199999,308241.1455199999 +8485200.0,169751.097,130131.38400000002,379983.64128000004,51370.221320000004,51370.221320000004,51370.221320000004,42527.64600000001,544691.6140800001,505473.36512000003,305632.67721,465725.98432,183717.15000000002,183717.15000000002,183717.15000000002,164315.858,169751.097,169751.097,390812.11519999994,69872.08635000001,103859.24934000001,181149.85350000003,51412.053660000005,65386.47093000001,148600.743,148600.743,148600.743,148600.743,510384.96498,510384.96498 +8488800.0,761266.467,342532.113,1000193.76996,425706.94100000005,425706.94100000005,425706.94100000005,629074.264,2493633.7997600003,1892446.6694400003,1768858.0463400001,2695402.7372800005,600407.76,600407.76,600407.76,739071.2315,761266.467,761266.467,1608480.6714599996,734524.55235,1091811.80374,1904322.9135,540464.97926,687369.88973,855010.9439999999,855010.9439999999,855010.9439999999,855010.9439999999,2288874.51078,2288874.51078 +8492400.0,470565.90900000004,655593.633,1914333.40836,490537.69017,490537.69017,490537.69017,1048113.8745,2548007.59864,1156433.8182400002,1662952.93542,2534023.5206400002,678830.5140000001,678830.5140000001,678830.5140000001,747567.7545,470565.90900000004,470565.90900000004,896917.82843,1037874.1612499999,1542716.6544999997,2690784.8625,763670.3705,971245.2027499999,707559.186,707559.186,707559.186,707559.186,1414834.83306,1414834.83306 +8496000.0,1178859.3990000002,759584.2860000001,2217986.11512,231767.23262000002,231767.23262000002,231767.23262000002,431458.552,1614606.5014399998,2357161.22624,1293524.73432,1971085.3094400002,828030.345,828030.345,828030.345,428556.191,1178859.3990000002,1178859.3990000002,443337.58455999993,509442.5987999999,757245.5419199999,1320777.1079999998,374849.12207999994,476737.64183999994,1269516.7079999999,1269516.7079999999,1269516.7079999999,1269516.7079999999,3544437.25966,3544437.25966 +8499600.0,602433.846,445959.621,1302202.09332,225962.48466000002,225962.48466000002,225962.48466000002,192213.32200000001,548938.06496,3513514.2387200003,167269.60886999997,254887.02303999997,540141.1799999999,540141.1799999999,540141.1799999999,477442.5145,602433.846,602433.846,286850.59338,941953.1390999999,1400137.75244,2442100.731,693091.44556,881482.07338,177232.314,177232.314,177232.314,177232.314,1811317.76364,1811317.76364 +8503200.0,194816.055,69979.85399999999,204341.17367999998,123081.86308000001,123081.86308000001,123081.86308000001,99775.76000000001,232002.48552000002,198779.36256,110217.95316,167951.16672,73439.83499999999,73439.83499999999,73439.83499999999,47868.729999999996,194816.055,194816.055,110341.32784999999,57048.52275,84798.0511,147903.5775,41976.4439,53386.14845,70041.174,70041.174,70041.174,70041.174,585746.9386999999,585746.9386999999 +8506800.0,220169.853,548752.488,1602357.26496,118063.63855,118063.63855,118063.63855,305152.7045,523695.69864,464751.3312,303649.75934999995,462704.39519999997,126260.073,126260.073,126260.073,356567.708,220169.853,220169.853,150151.15816999998,105019.57395,156103.16918,272272.9695,77273.66182000001,98277.57661,144480.18,144480.18,144480.18,144480.18,661977.3580199999,661977.3580199999 +8510400.0,267729.486,180060.237,525775.89204,109111.31132000001,109111.31132000001,109111.31132000001,263477.4135,572382.07336,570391.31136,319400.69847,486705.8262400001,206494.12800000003,206494.12800000003,206494.12800000003,161777.6965,267729.486,267729.486,226106.18082,167281.71029999998,248650.83851999996,433693.323,123086.29547999999,156542.63754,201347.88299999997,201347.88299999997,201347.88299999997,201347.88299999997,804973.32124,804973.32124 +8514000.0,138821.739,76554.73800000001,223539.83496,74821.93983,74821.93983,74821.93983,82347.1075,274874.5212,223728.24704000005,131554.6134,200464.1728,98685.65399999998,98685.65399999998,98685.65399999998,62005.6465,138821.739,138821.739,125651.72138999999,61821.93779999999,91893.34951999999,160279.098,45488.73448,57853.12204,88204.11,88204.11,88204.11,88204.11,417390.69526,417390.69526 +8517600.0,182723.016,119006.55899999998,347499.15228,206169.84267,206169.84267,206169.84267,147878.8115,372285.24816,84184.75072,361445.11914,550773.51488,89895.51,89895.51,89895.51,260703.1105,182723.016,182723.016,394110.7506699999,162187.68915,241078.98486,420486.6015,119338.10214,151775.63997000002,57544.30799999999,57544.30799999999,57544.30799999999,57544.30799999999,549387.20144,549387.20144 +8521200.0,48209.76000000001,270960.72899999993,791205.3286799999,258834.81646000003,258834.81646000003,258834.81646000003,251164.81950000004,359985.92783999996,55861.52128000001,46376.5008,70668.95360000001,77978.17199999999,77978.17199999999,77978.17199999999,390016.9595,48209.76000000001,48209.76000000001,315801.16086999996,131911.9344,196076.50495999996,341993.904,97061.12703999999,123443.51392,86786.364,86786.364,86786.364,86786.364,144950.6784,144950.6784 +8524800.0,29707.562999999995,9580.413,27974.805959999998,234948.61324,234948.61324,234948.61324,52492.398,36177.678719999996,50630.896,25429.940339999997,38750.38528,8388.147,8388.147,8388.147,15529.3285,29707.562999999995,29707.562999999995,16482.412569999997,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11885.604000000001,11885.604000000001,11885.604000000001,11885.604000000001,89320.73941999998,89320.73941999998 +8528400.0,796337.772,447849.468,1307720.4465599998,252631.83121000003,252631.83121000003,252631.83121000003,1125089.567,1178198.70736,996466.9843199999,1219438.48005,1858191.9696,824771.55,824771.55,824771.55,336010.3985,796337.772,796337.772,47190.49152999999,457191.7668,679578.87312,1185311.988,336402.83088,427841.18424000003,590018.898,590018.898,590018.898,590018.898,2394322.23448,2394322.23448 +8532000.0,538812.045,333929.91299999994,975075.34596,311341.91902,311341.91902,311341.91902,500431.862,1007121.14,912606.5772800001,707051.11302,1077411.2198400002,439409.10000000003,439409.10000000003,439409.10000000003,416405.9935,538812.045,538812.045,358494.37935999996,374490.5562,556650.16008,970901.442,275551.07592000003,350449.18716000003,413215.8089999999,413215.8089999999,413215.8089999999,413215.8089999999,1620028.2153,1620028.2153 +8535600.0,606730.272,520598.5800000001,1520147.8536,357533.65549000003,357533.65549000003,357533.65549000003,617010.2925,1195242.37944,1568565.4329600001,938922.33897,1430738.80224,583270.41,583270.41,583270.41,722573.726,606730.272,606730.272,477118.62822,634183.03215,942662.1860599999,1644178.2315,466633.44093999994,593470.0473699999,585882.801,585882.801,585882.801,585882.801,1824235.6844799998,1824235.6844799998 +8539200.0,664426.149,564279.735,1647696.8262,389946.15054999996,389946.15054999996,389946.15054999996,706168.883,1284469.4151199998,2003083.57248,1054908.89154,1607480.21568,639130.317,639130.317,639130.317,836007.1895,664426.149,664426.149,529184.56461,797104.4436,1184831.79024,2066567.0760000001,586511.41776,745932.30648,673346.5109999999,673346.5109999999,673346.5109999999,673346.5109999999,1997707.9546599998,1997707.9546599998 +8542800.0,488581.998,426559.59300000005,1245554.01156,380503.27436,380503.27436,380503.27436,450520.27999999997,697226.8836000001,1378623.6332800002,646580.01051,985264.77792,360311.736,360311.736,360311.736,459494.098,488581.998,488581.998,398879.75503999996,386274.2013,574165.60292,1001451.633,284221.51108,361476.35134,483901.20000000007,483901.20000000007,483901.20000000007,483901.20000000007,1469003.2073199998,1469003.2073199998 +8546400.0,93867.462,68335.023,199538.26716,77892.5147,77892.5147,77892.5147,83150.9385,138619.13351999997,469364.16832000006,133767.81117,203836.66464,117290.394,117290.394,117290.394,98371.0,93867.462,93867.462,122250.98886,58337.240849999995,86713.62714,151244.6985,42924.68586,54592.13403,77865.429,77865.429,77865.429,77865.429,282228.16907999996,282228.16907999996 +8550000.0,91681.272,76864.887,224445.47004000001,40569.300090000004,40569.300090000004,40569.300090000004,54865.6535,130295.86624,478147.6140800001,118479.24795,180539.80640000003,123126.23100000001,123126.23100000001,123126.23100000001,89619.2605,91681.272,91681.272,141397.10246999998,49568.9463,73680.26092,128512.08300000001,36472.95308,46386.742340000004,72209.77799999999,72209.77799999999,72209.77799999999,72209.77799999999,275655.02447999996,275655.02447999996 +8553600.0,90194.35800000001,88711.62299999999,259037.93915999998,17573.64543,17573.64543,17573.64543,35092.5505,158949.10208,495322.78208000003,116932.63364999999,178183.0608,126217.872,126217.872,126217.872,87759.67550000001,90194.35800000001,90194.35800000001,174142.52907999998,43985.5272,65380.95647999999,114036.552,32364.659519999997,41161.76496,71084.526,71084.526,71084.526,71084.526,271184.36971999996,271184.36971999996 +8557200.0,98186.289,101170.512,295417.89504,35990.26519,35990.26519,35990.26519,31069.878,185980.9904,510216.05504000006,133259.40054,203061.94368000003,131171.07,131171.07,131171.07,89702.2525,98186.289,98186.289,200027.23142999999,48544.50285,72157.50794,125856.11850000001,35719.16506,45428.065630000005,73330.23300000001,73330.23300000001,73330.23300000001,73330.23300000001,295213.44226,295213.44226 +8560800.0,111730.15499999998,114999.41700000002,335798.29764,34785.40681000001,34785.40681000001,34785.40681000001,36812.740999999995,190793.37816,538382.37312,168176.88573,256269.54016,137707.16700000002,137707.16700000002,137707.16700000002,92625.3825,111730.15499999998,111730.15499999998,225060.21745999999,57262.763699999996,85116.50308,148459.017,42134.08292,53586.63566,88328.652,88328.652,88328.652,88328.652,335935.3326999999,335935.3326999999 +8564400.0,120375.65699999999,119419.749,348705.66708,54076.04686000001,54076.04686000001,54076.04686000001,41583.171,196830.12192,559675.07712,215926.00008,329030.09536000004,162600.603,162600.603,162600.603,100140.2745,120375.65699999999,120375.65699999999,232570.78233999995,65224.54529999999,96951.05251999998,169100.67299999998,47992.38148,61037.290539999995,117380.81400000001,117380.81400000001,117380.81400000001,117380.81400000001,361929.47537999996,361929.47537999996 +8568000.0,145196.36099999998,125423.55899999998,366236.79227999994,61928.1839,61928.1839,61928.1839,59724.2065,217732.57984000002,576893.48224,238540.2243,363489.8656,234776.553,234776.553,234776.553,179429.50550000003,145196.36099999998,145196.36099999998,242782.6817,79864.01144999999,118711.44417999998,207054.84449999998,58764.13681999999,74736.93910999999,168369.138,168369.138,168369.138,168369.138,436557.05873999995,436557.05873999995 +8571600.0,258219.56699999998,170750.628,498591.83375999995,92607.38399,92607.38399,92607.38399,69507.9385,677351.5824,607280.48448,408403.04085,622328.4432,278677.971,278677.971,278677.971,272741.357,258219.56699999998,258219.56699999998,464098.66047999996,127651.93379999998,189744.35591999997,330949.458,93926.60807999999,119456.99484,283743.54000000004,283743.54000000004,283743.54000000004,283743.54000000004,776380.16478,776380.16478 +8575200.0,954891.1079999999,431866.143,1261049.13756,908851.5046600001,908851.5046600001,908851.5046600001,983684.737,2956418.8064800003,2709509.9500800003,2164715.679,3298614.3680000002,791879.967,791879.967,791879.967,1131168.5839999998,954891.1079999999,954891.1079999999,1872032.5531699997,1100169.44685,1635313.59754,2852291.1585,809507.39546,1029541.28483,1171793.1239999998,1171793.1239999998,1171793.1239999998,1171793.1239999998,2871039.2647199994,2871039.2647199994 +8578800.0,506563.608,751623.534,2194740.71928,728532.4501400001,728532.4501400001,728532.4501400001,1268755.0435,2790708.23416,1407162.3737600003,1841259.46137,2805728.70304,708980.9639999999,708980.9639999999,708980.9639999999,887354.7374999999,506563.608,506563.608,1054639.0078899998,1249843.05315,1857791.4024599998,3240333.8415,919637.60454,1169606.21517,781669.563,781669.563,781669.563,781669.563,1523067.9147199998,1523067.9147199998 +8582400.0,1211394.081,832002.942,2429448.59064,269716.46614000003,269716.46614000003,269716.46614000003,508830.371,1846588.12648,2621993.89568,1379221.3957200001,2101670.6982400003,930263.7629999999,930263.7629999999,930263.7629999999,484205.3685,1211394.081,1211394.081,445996.96141,572567.5836,851075.7662399999,1484434.476,421296.64175999997,535810.15848,1305860.418,1305860.418,1305860.418,1305860.418,3642258.2035399997,3642258.2035399997 +8586000.0,516532.551,394495.03799999994,1151925.5109599999,216639.93802,216639.93802,216639.93802,176591.25749999998,424223.51008,3285625.6211200007,119287.96383000002,181772.13536000004,440202.147,440202.147,440202.147,367397.9085,516532.551,516532.551,193294.91012,840199.8779999999,1248889.6951999997,2178295.98,618221.1447999999,786261.1203999999,133246.197,133246.197,133246.197,133246.197,1553041.2033399998,1553041.2033399998 +8589600.0,114835.31099999999,19489.626,56909.70792,115937.82463999999,115937.82463999999,115937.82463999999,98218.8235,67030.18263999998,53723.633920000015,55702.97481,84880.72352,17302.032,17302.032,17302.032,35084.777,114835.31099999999,114835.31099999999,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24698.976000000002,24698.976000000002,24698.976000000002,24698.976000000002,345271.50174,345271.50174 +8593200.0,96566.703,319537.548,933049.64016,107240.64571000001,107240.64571000001,107240.64571000001,240181.1545,166238.79448,111315.58656,93310.6734,142187.6928,29670.839999999997,29670.839999999997,29670.839999999997,293511.33,96566.703,96566.703,11445.71246,42297.458849999995,62871.77833999999,109660.07849999999,31122.57466,39582.06643,36967.422,36967.422,36967.422,36967.422,290343.88701999997,290343.88701999997 +8596800.0,134519.925,80332.926,234572.14392,98002.9545,98002.9545,98002.9545,168762.99649999998,191465.23512000003,258343.8592,84521.44512,128794.58304,103290.135,103290.135,103290.135,66701.222,134519.925,134519.925,87356.86791,48737.60685,72444.54153999999,126356.7585,35861.25146,45608.772829999994,47290.901999999995,47290.901999999995,47290.901999999995,47290.901999999995,404456.5745,404456.5745 +8600400.0,52917.447,14441.960999999998,42170.526119999995,69988.94507,69988.94507,69988.94507,57965.20799999999,73297.79912,47727.317760000005,36466.34061000001,55567.75712000001,30941.562000000005,30941.562000000005,30941.562000000005,20705.7725,52917.447,52917.447,31954.609699999997,21659.4486,32195.032239999997,56154.126,15937.07576,20268.96548,19049.529,19049.529,19049.529,19049.529,159105.12398,159105.12398 +8604000.0,94589.64000000001,47584.182,138945.81144,57664.78157000001,57664.78157000001,57664.78157000001,64906.442999999985,201328.01984000002,16193.11744,185693.95299000002,282962.21408,45091.83,45091.83,45091.83,42355.8275,94589.64000000001,94589.64000000001,183559.76833999995,39077.42535,58085.45693999999,101311.84349999999,28753.266059999998,36568.75113,29905.635000000002,29905.635000000002,29905.635000000002,29905.635000000002,284399.5176,284399.5176 +8607600.0,15464.907,108224.655,316015.9926,254080.57213000004,254080.57213000004,254080.57213000004,157961.86349999998,183562.03904,42344.01344,26053.16973,39700.06816,17386.073999999997,17386.073999999997,17386.073999999997,250377.73250000004,15464.907,15464.907,130701.92317,73724.3046,109585.26264000002,191137.08600000004,54246.52536000001,68991.38628,37473.36,37473.36,37473.36,37473.36,46497.82038,46497.82038 +8611200.0,12024.006,5769.2880000000005,16846.32096,85169.82122,85169.82122,85169.82122,43473.906,28903.76016,29872.759040000004,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,12024.006,12024.006,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,36152.17804,36152.17804 +8614800.0,449489.88300000003,81220.128,237162.77375999998,111948.4839,111948.4839,111948.4839,213888.3705,420318.26703999995,114229.94688,336881.35235999996,513343.01312,255938.274,255938.274,255938.274,42752.048500000004,449489.88300000003,449489.88300000003,9502.102089999998,39558.7881,58800.96404,102559.82100000001,29107.453960000003,37019.21158,204115.31700000004,204115.31700000004,204115.31700000004,204115.31700000004,1351466.24822,1351466.24822 +8618400.0,292945.545,125669.57100000001,366955.14732000005,173140.96239000003,173140.96239000003,173140.96239000003,352671.935,425888.27800000005,318768.80064000003,392541.06486,598157.81312,253217.12999999998,253217.12999999998,253217.12999999998,102168.03099999999,292945.545,292945.545,22738.861339999996,106000.86464999999,157561.77906,274817.0565,77995.69794,99195.87087,159325.785,159325.785,159325.785,159325.785,880789.6052999999,880789.6052999999 +8622000.0,481466.445,313176.81299999997,914476.2939599999,190688.99938000002,190688.99938000002,190688.99938000002,536083.863,1070459.9988,968093.0540800001,642999.35763,979808.54496,465532.42500000005,465532.42500000005,465532.42500000005,320675.02249999996,481466.445,481466.445,221041.09209,263423.38455,391557.72222000005,682949.5155000001,193827.57678000003,246512.25369000004,400844.328,400844.328,400844.328,400844.328,1447609.1113,1447609.1113 +8625600.0,633789.867,538814.0580000001,1573337.04936,209137.80877000003,209137.80877000003,209137.80877000003,641011.4445,1363965.70848,1266413.6345600002,932508.0555,1420964.6560000002,625405.473,625405.473,625405.473,633461.297,633789.867,633789.867,307665.56054,497154.03209999995,738979.57364,1288917.861,365807.16436,465237.97078,564407.892,564407.892,564407.892,564407.892,1905594.8667799998,1905594.8667799998 +8629200.0,493494.32100000005,437128.167,1276414.24764,254664.12059,254664.12059,254664.12059,429741.32950000005,793839.53368,994266.3846400002,619866.23685,944558.0752000001,371577.921,371577.921,371577.921,459093.0645,493494.32100000005,493494.32100000005,317065.41164999997,320724.1899,476730.77115999995,831507.159,235989.65084,300134.48881999997,465783.873,465783.873,465783.873,465783.873,1483772.9251400002,1483772.9251400002 +8632800.0,88129.176,80057.52900000001,233767.98468,78622.42443,78622.42443,78622.42443,75484.46500000001,143267.29464,544868.7136,120388.90436999999,183449.75904,117729.88799999998,117729.88799999998,117729.88799999998,98519.589,88129.176,88129.176,144600.45184,33109.56405,49214.71002,85839.6105,24362.09898,30984.01179,59694.87299999999,59694.87299999999,59694.87299999999,59694.87299999999,264975.05584,264975.05584 +8636400.0,93481.506,91607.136,267492.83712,40280.59871,40280.59871,40280.59871,42204.785,137140.94192,565611.47712,130566.81561,198958.95712,129125.43,129125.43,129125.43,100519.88799999999,93481.506,93481.506,174275.94404999996,53545.1553,79590.57651999999,138820.773,39398.65748,50107.68854,81915.76800000001,81915.76800000001,81915.76800000001,81915.76800000001,281067.72804,281067.72804 +8640000.0,96838.701,105262.326,307365.99192,16579.604910000002,16579.604910000002,16579.604910000002,30435.573000000004,196686.09,573280.4844800001,131264.38353000002,200021.91776000004,144654.63900000002,144654.63900000002,144654.63900000002,100327.164,96838.701,96838.701,214426.21654999998,48030.93045000001,71394.12378000001,124524.63450000001,35341.27722,44947.46331000001,81018.654,81018.654,81018.654,81018.654,291161.69434,291161.69434 +8643600.0,112856.40000000001,112454.058,328365.84936,11399.88685,11399.88685,11399.88685,35247.9645,214132.62864,584601.7664000001,160919.77692,245211.08864000003,150451.92,150451.92,150451.92,102910.556,112856.40000000001,112856.40000000001,233199.34352,63513.60659999999,94407.87943999999,164664.906,46733.46856,59436.18988,83096.313,83096.313,83096.313,83096.313,339321.576,339321.576 +8647200.0,130598.745,125260.113,365759.52995999996,8344.33028,8344.33028,8344.33028,37002.1155,216262.69856,601922.42176,218232.40719,332544.62048,174931.029,174931.029,174931.029,108799.054,130598.745,130598.745,247962.00311999998,68223.84569999999,101409.27188,176876.637,50199.27412,63844.04326,97954.51199999999,97954.51199999999,97954.51199999999,97954.51199999999,392666.8933,392666.8933 +8650800.0,155498.37900000002,136002.26400000002,397126.61088,18191.328980000002,18191.328980000002,18191.328980000002,48546.9495,236514.7148,613887.5168000001,255989.62808999998,390079.43328,248325.201,248325.201,248325.201,190342.86250000002,155498.37900000002,155498.37900000002,263724.11337999994,80416.6056,119532.83104,208487.496,59170.73696,75254.05808,130563.264,130563.264,130563.264,130563.264,467531.79286000005,467531.79286000005 +8654400.0,195484.506,152333.43300000002,444813.62436,45344.789820000005,45344.789820000005,45344.789820000005,59567.35399999999,317043.25736,630018.46592,291488.78052000003,444173.37984,295817.94,295817.94,295817.94,213625.04799999998,195484.506,195484.506,294235.42967,95383.90710000001,141780.52364,247291.61100000003,70183.71436000001,89260.49578000001,198011.58000000002,198011.58000000002,198011.58000000002,198011.58000000002,587756.7480399999,587756.7480399999 +8658000.0,363652.329,200660.97300000003,585930.04116,87358.79339,87358.79339,87358.79339,77464.443,863105.11064,677976.50496,530972.27484,809100.60928,354205.42500000005,354205.42500000005,354205.42500000005,314052.50800000003,363652.329,363652.329,522774.40747999994,142466.0805,211764.39620000002,369356.50500000006,104826.89380000002,133320.1099,376664.08199999994,376664.08199999994,376664.08199999994,376664.08199999994,1093381.33586,1093381.33586 +8661600.0,1055617.128,491982.939,1436590.1818799998,651224.6112900001,651224.6112900001,651224.6112900001,1043894.9500000001,3139197.6431199997,3121331.4304000004,2359112.4081,3594837.9552,935505.3059999999,935505.3059999999,935505.3059999999,1375077.7179999999,1055617.128,1055617.128,1866943.4721600001,1242452.5402499998,1846805.9980999997,3221173.2524999995,914199.6468999999,1162690.1549499999,1288658.583,1288658.583,1288658.583,1288658.583,3173888.8315199995,3173888.8315199995 +8665200.0,543773.058,769480.773,2246883.85716,606541.18426,606541.18426,606541.18426,1377458.74,3033593.4253599998,1473042.112,1986537.03213,3027104.04896,726549.267,726549.267,726549.267,929378.1105,543773.058,543773.058,1167528.93829,1346279.6321999999,2001136.6384799997,3490354.602,990595.87752,1259851.80396,828156.0989999999,828156.0989999999,828156.0989999999,828156.0989999999,1634944.3277199997,1634944.3277199997 +8668800.0,1295599.902,945021.0840000001,2759461.56528,254353.75867000004,254353.75867000004,254353.75867000004,568785.8295,2174589.3204,2996511.85984,1640696.3678700002,2500108.75104,1044889.953,1044889.953,1044889.953,530861.996,1295599.902,1295599.902,503109.5065099999,676259.7012,1005205.77808,1753265.892,497593.55792,632845.49816,1403163.2040000001,1403163.2040000001,1403163.2040000001,1403163.2040000001,3895437.0386799998,3895437.0386799998 +8672400.0,558688.9739999999,421544.51399999997,1230909.98088,220379.33192000003,220379.33192000003,220379.33192000003,203351.1095,492000.90904,3732517.9328,141527.66019,215661.19647999998,476401.11299999995,476401.11299999995,476401.11299999995,400554.0105,558688.9739999999,558688.9739999999,205788.50513,996297.6429,1480916.49636,2582993.889,733078.26564,932337.79422,142990.533,142990.533,142990.533,142990.533,1679791.51516,1679791.51516 +8676000.0,143163.99599999998,21858.341999999997,63826.35863999999,122535.0423,122535.0423,122535.0423,98218.8235,70144.7364,86508.59904,56166.12351,85586.47392,17476.128,17476.128,17476.128,35084.777,143163.99599999998,143163.99599999998,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,27963.752999999997,27963.752999999997,27963.752999999997,27963.752999999997,430446.4146399999,430446.4146399999 +8679600.0,124761.91500000001,389177.62799999997,1136398.67376,113345.80444,113345.80444,113345.80444,281552.3165,205078.21087999997,191515.3088,112948.6323,172112.2016,49306.518,49306.518,49306.518,351374.5165,124761.91500000001,124761.91500000001,24797.54615,46895.306399999994,69706.10975999999,121580.424,34505.68224,43884.743519999996,46640.361000000004,46640.361000000004,46640.361000000004,46640.361000000004,375117.4911,375117.4911 +8683200.0,200990.25,113481.12899999999,331364.89667999995,103527.0027,103527.0027,103527.0027,191749.992,360642.93368,346232.46656000003,138086.75853,210417.91776,137445.963,137445.963,137445.963,100515.78950000001,200990.25,200990.25,154767.79617,83520.18944999999,124146.05937999999,216533.8245,61454.36162,78158.39951,92045.229,92045.229,92045.229,92045.229,604310.6849999999,604310.6849999999 +8686800.0,134923.94400000002,60842.109000000004,177658.95828000002,78104.06109000002,78104.06109000002,78104.06109000002,76183.78600000001,266156.82616,203539.56928000003,101107.49607,154068.56544,86933.34599999999,86933.34599999999,86933.34599999999,54719.567,134923.94400000002,134923.94400000002,119319.64498999999,49194.884249999996,73124.24769999999,127542.2925,36197.717300000004,46036.69415,71998.041,71998.041,71998.041,71998.041,405671.32496,405671.32496 +8690400.0,155054.982,76795.881,224243.97252,130491.59926,130491.59926,130491.59926,117958.5925,268754.756,36409.65888,283898.0298,432606.5216,69974.679,69974.679,69974.679,158715.354,155054.982,155054.982,275778.73816999997,88218.65114999999,131129.94565999997,228715.02149999997,64911.501339999995,82555.23156999999,46806.132,46806.132,46806.132,46806.132,466198.64587999997,466198.64587999997 +8694000.0,49981.575,244436.65499999997,713755.0325999999,260571.50174000004,260571.50174000004,260571.50174000004,217873.8345,343418.68296,54228.096000000005,43762.04595,66685.0224,37848.207,37848.207,37848.207,386287.5975,49981.575,49981.575,242033.17788,110469.69134999998,164204.33133999998,286402.90349999996,81283.87165999999,103377.80992999999,82718.736,82718.736,82718.736,82718.736,150277.93549999996,150277.93549999996 +8697600.0,77505.951,23961.624000000003,69967.94208000001,166912.43789000003,166912.43789000003,166912.43789000003,52010.833,127778.51088,119343.4816,48744.031559999996,74276.61952,37187.784,37187.784,37187.784,28873.859000000004,77505.951,77505.951,73292.76942,21988.25595,32683.777979999995,57006.589499999995,16179.013019999999,20576.66421,31102.152000000002,31102.152000000002,31102.152000000002,31102.152000000002,233034.55933999998,233034.55933999998 +8701200.0,700261.689,333610.506,974142.6775199999,144009.08268999998,144009.08268999998,144009.08268999998,844949.2520000001,978181.2302400001,695479.0848,932862.30219,1421504.4604800001,681758.1479999999,681758.1479999999,681758.1479999999,173644.3975,700261.689,700261.689,9591.57771,231580.27575,344225.4963,600393.3075,170397.3387,216713.39385000002,501920.967,501920.967,501920.967,501920.967,2105453.47826,2105453.47826 +8704800.0,621700.0650000001,370780.35,1082678.622,247255.50773,247255.50773,247255.50773,573655.4915,1132823.344,988859.16608,775962.38937,1182418.87904,491750.50800000003,491750.50800000003,491750.50800000003,456394.51200000005,621700.0650000001,621700.0650000001,236292.53907999996,390567.46859999996,580547.2002399999,1012582.326,287380.50776,365494.00148,453786.348,453786.348,453786.348,453786.348,1869244.8621,1869244.8621 +8708400.0,696113.4299999999,586231.125,1711794.885,300248.22234000004,300248.22234000004,300248.22234000004,669012.0885000001,1464334.4246399999,1541516.0121600004,1055519.80443,1608411.13056,673460.3609999999,673460.3609999999,673460.3609999999,773749.221,696113.4299999999,696113.4299999999,474302.50308999995,627416.0288999999,932603.57876,1626634.149,461654.26324,587137.46902,640164.294,640164.294,640164.294,640164.294,2092981.0462,2092981.0462 +8712000.0,782570.043,665815.53,1944181.3476,402607.54204000003,402607.54204000003,402607.54204000003,773738.301,1557663.96688,2261271.4560000002,1229108.99013,1872927.98496,769665.1320000001,769665.1320000001,769665.1320000001,1034592.6640000001,782570.043,782570.043,641299.82046,870594.3949500001,1294068.70558,2257096.5795000005,640585.5054200001,814704.38441,795488.5260000001,795488.5260000001,795488.5260000001,795488.5260000001,2352927.2626199997,2352927.2626199997 +8715600.0,550680.5519999999,479218.53,1399318.1076,327786.94531000004,327786.94531000004,327786.94531000004,524190.569,841095.97272,1489099.42528,768962.4490800002,1171752.3033600003,434304.00899999996,434304.00899999996,434304.00899999996,538947.7904999999,550680.5519999999,550680.5519999999,475157.54312000005,442959.43095,658423.64798,1148413.3395,325930.64302,414522.52921,576773.679,576773.679,576773.679,576773.679,1655712.8596799998,1655712.8596799998 +8719200.0,103084.74,87942.68400000001,256792.63728000002,78754.04416,78754.04416,78754.04416,80704.981,147173.39031999998,548746.672,153272.66493,233558.34656,133706.382,133706.382,133706.382,112259.2625,103084.74,103084.74,161444.73032999996,64621.13175,96054.1267,167536.26750000002,47548.388300000006,60472.61465,89985.03600000001,89985.03600000001,89985.03600000001,89985.03600000001,309941.45160000003,309941.45160000003 +8722800.0,98694.96899999998,99612.20999999999,290867.6532,40389.845649999996,40389.845649999996,40389.845649999996,59639.34900000001,176824.64711999998,549150.9184000001,143733.55017,219022.55264,141781.155,141781.155,141781.155,103681.47649999999,98694.96899999998,98694.96899999998,195280.38191999999,55139.45805,81960.37961999999,142954.15050000002,40571.74938,51599.64099,83224.05300000001,83224.05300000001,83224.05300000001,83224.05300000001,296742.87346,296742.87346 +8726400.0,102887.25,103729.296,302889.54432,17302.799140000003,17302.799140000003,17302.799140000003,38997.5215,202742.88247999997,547784.96704,148095.3831,225669.1552,141153.94800000003,141153.94800000003,141153.94800000003,99085.2835,102887.25,102887.25,213213.70212999996,48931.5411,72732.80924,126859.551,36003.94876,45790.256980000006,79429.66799999999,79429.66799999999,79429.66799999999,79429.66799999999,309347.665,309347.665 +8730000.0,120031.89899999998,119666.001,349424.72292000003,12927.11772,12927.11772,12927.11772,43263.1115,205146.2352,554581.49632,177744.01932,270848.02944,142668.843,142668.843,142668.843,98322.406,120031.89899999998,120031.89899999998,235131.43394,60666.65909999999,90176.12043999998,157283.93099999998,44638.67756,56772.009379999996,84941.66399999999,84941.66399999999,84941.66399999999,84941.66399999999,360895.90965999995,360895.90965999995 +8733600.0,126972.33,123406.35600000001,360346.55952,25323.336500000005,25323.336500000005,25323.336500000005,41080.676,203976.5124,562624.06848,219319.73196,334201.49632,144777.738,144777.738,144777.738,101307.8815,126972.33,126972.33,241637.86321999997,67356.17775,100119.5531,174627.12750000003,49560.84190000001,63032.07745000001,102287.295,102287.295,102287.295,102287.295,381763.47219999996,381763.47219999996 +8737200.0,147907.36200000002,127375.65599999999,371936.91552,39378.40995,39378.40995,39378.40995,57238.77949999999,211307.44103999998,571566.12288,242170.39917,369021.56064,223776.90000000002,223776.90000000002,223776.90000000002,166805.6985,147907.36200000002,147907.36200000002,243786.70185999997,80087.78205,119044.06121999999,207634.99049999999,58928.78778,74946.34418999999,148409.778,148409.778,148409.778,148409.778,444708.13508000004,444708.13508000004 +8740800.0,182445.573,140821.842,411199.77864,59121.988090000006,59121.988090000006,59121.988090000006,63970.2455,280969.81096,582574.9094400001,269978.85852,411396.35584000003,258643.443,258643.443,258643.443,194625.6445,182445.573,182445.573,271649.59848,96344.93565,143209.01546,249783.1665,70890.84154,90159.82867,206601.369,206601.369,206601.369,206601.369,548553.02282,548553.02282 +8744400.0,323894.625,185133.543,540589.9455599999,99757.76756000001,99757.76756000001,99757.76756000001,72583.68950000001,793889.0977599999,629440.9881600001,473989.66881,722269.97152,302690.658,302690.658,302690.658,296110.122,323894.625,323894.625,489636.61954999994,148581.29295,220854.16878,385210.75950000004,109326.48222,139042.74081000002,347543.589,347543.589,347543.589,347543.589,973843.1725,973843.1725 +8748000.0,1037860.47,483600.52499999997,1412113.5329999998,764993.5247899999,764993.5247899999,764993.5247899999,1062599.1495,3089105.9074399993,3055353.8156800005,2336356.48617,3560162.26464,862348.6740000001,862348.6740000001,862348.6740000001,1284176.8694999998,1037860.47,1037860.47,1886185.7424799998,1219193.8276499999,1812233.7882599998,3160872.8864999996,897085.8287399999,1140924.59427,1261138.473,1261138.473,1261138.473,1261138.473,3120500.4798,3120500.4798 +8751600.0,593775.465,823245.4139999999,2403876.6088799997,779279.5218999999,779279.5218999999,779279.5218999999,1427529.9255,3173630.35904,1606133.7683200003,2096388.4704,3194496.7168,777517.7490000001,777517.7490000001,777517.7490000001,994423.7589999998,593775.465,593775.465,1301274.63427,1458002.3328,2167203.46752,3780006.048,1072801.71648,1364402.18304,901793.166,901793.166,901793.166,901793.166,1785284.8980999999,1785284.8980999999 +8755200.0,1371025.551,1091208.3029999998,3186328.2447599997,310272.09510000004,310272.09510000004,310272.09510000004,649911.465,2279349.73992,3459275.5564800003,1757735.61894,2678454.27648,1118345.001,1118345.001,1118345.001,605496.3845,1371025.551,1371025.551,531903.6431799999,738207.70335,1097286.51214,1913871.8235000002,543175.0508600001,690816.5915300001,1491402.15,1491402.15,1491402.15,1491402.15,4122216.8233399997,4122216.8233399997 +8758800.0,657000.579,466109.475,1361039.667,258514.43420000002,258514.43420000002,258514.43420000002,227678.9375,585029.11312,4101713.248640001,181355.90298,276351.85216000007,571492.458,571492.458,571492.458,522408.97799999994,657000.579,657000.579,260323.71274000002,1171377.5350499998,1741158.7064199995,3036904.7204999994,861902.4825799998,1096177.98959,183842.97,183842.97,183842.97,183842.97,1975381.7408599998,1975381.7408599998 +8762400.0,296641.284,90639.315,264666.7998,138990.88665,138990.88665,138990.88665,104470.28899999999,354342.39712,495044.5152,157290.29757000002,239680.45344000004,126546.22200000001,126546.22200000001,126546.22200000001,90299.818,296641.284,296641.284,161490.13191999996,102869.16165,152906.75386,266697.8265,75691.38314,96265.21547000001,124625.92499999999,124625.92499999999,124625.92499999999,124625.92499999999,891901.4605599999,891901.4605599999 +8766000.0,250536.726,617672.649,1803604.13508,141508.38922,141508.38922,141508.38922,358177.6835,582363.36336,531101.03104,328256.16053999995,500199.86368,141720.039,141720.039,141720.039,465533.2535,250536.726,250536.726,157514.58995999998,114604.43355,170350.29382000002,297122.60550000006,84326.22518000001,107247.11189000001,161219.16,161219.16,161219.16,161219.16,753280.4228399999,753280.4228399999 +8769600.0,434097.99900000007,307289.98199999996,897286.74744,151043.17414999998,151043.17414999998,151043.17414999998,374282.8145,953405.6317599999,1165336.1497600002,565484.43609,861690.56928,359659.66500000004,359659.66500000004,359659.66500000004,295795.4965,434097.99900000007,434097.99900000007,369132.69484,296825.0264999999,441206.5825999999,769546.3649999999,218404.58739999996,277769.5927,359429.214,359429.214,359429.214,359429.214,1305187.9836600001,1305187.9836600001 +8773200.0,312933.83700000006,247239.04200000002,721938.0026400001,92742.73184000001,92742.73184000001,92742.73184000001,189351.2635,682594.4891199999,855304.99008,398565.5093699999,607337.91904,278417.199,278417.199,278417.199,193657.21899999998,312933.83700000006,312933.83700000006,293307.00347,215459.27099999998,320262.9164,558598.11,158535.4636,201627.3178,264291.83400000003,264291.83400000003,264291.83400000003,264291.83400000003,940887.73658,940887.73658 +8776800.0,401830.21499999997,278502.951,813228.61692,369533.32603,369533.32603,369533.32603,487498.1405000001,825970.19168,565939.69408,702614.83047,1070651.1702400001,273940.84500000003,273940.84500000003,273940.84500000003,583756.1414999999,401830.21499999997,401830.21499999997,629113.41129,391577.9517,582049.20228,1015202.0970000001,288124.02372,366439.61406,237044.92500000002,237044.92500000002,237044.92500000002,237044.92500000002,1208169.5130999999,1208169.5130999999 +8780400.0,198516.13199999998,513164.70300000004,1498440.93276,281004.76173,281004.76173,281004.76173,323698.746,855398.6174399998,366611.55520000006,254551.68879,387888.28768,234942.978,234942.978,234942.978,650616.428,198516.13199999998,198516.13199999998,587129.62451,242584.14599999998,360581.8664,628921.86,178494.0136,227010.8428,246208.33800000005,246208.33800000005,246208.33800000005,246208.33800000005,596871.83688,596871.83688 +8784000.0,72691.66500000001,22501.638,65704.78296,243261.66557,243261.66557,243261.66557,85530.4695,138748.0924,106607.27744,47509.618800000004,72395.60960000001,33316.965000000004,33316.965000000004,33316.965000000004,102941.79699999999,72691.66500000001,72691.66500000001,59030.8693,20510.572949999998,30487.32078,53175.5595,15091.73022,19193.84481,31121.387999999995,31121.387999999995,31121.387999999995,31121.387999999995,218559.6061,218559.6061 +8787600.0,964933.389,653934.066,1909487.47272,441677.4622700001,441677.4622700001,441677.4622700001,1497429.766,1569513.45536,1610090.13888,1662590.1830999998,2533470.7551999995,1144783.4640000002,1144783.4640000002,1144783.4640000002,754568.9375,964933.389,964933.389,265406.29543999996,781355.43945,1161422.1593799999,2025736.3245,574923.26162,731194.34951,888182.874,888182.874,888182.874,888182.874,2901233.05626,2901233.05626 +8791200.0,914845.683,569990.0819999999,1664371.03944,434277.7301500001,434277.7301500001,434277.7301500001,743615.061,1585881.44528,1834736.38592,1161659.1123900001,1770147.21888,733669.623,733669.623,733669.623,856736.314,914845.683,914845.683,559918.75225,695649.9186,1034027.78024,1803536.8260000001,511860.92776000005,650990.91148,735512.241,735512.241,735512.241,735512.241,2750636.02022,2750636.02022 +8794800.0,923759.379,774070.8300000001,2260286.8236000002,586296.29201,586296.29201,586296.29201,992794.0749999998,1814209.74152,2942965.4502400006,1468825.13589,2238209.73088,922323.246,922323.246,922323.246,1251912.9349999998,923759.379,923759.379,749315.27762,1173489.39945,1744297.8233799997,3042379.9244999997,863456.39762,1098154.27751,1008061.4789999998,1008061.4789999998,1008061.4789999998,1008061.4789999998,2777436.5328599997,2777436.5328599997 +8798400.0,968310.1140000001,819988.503,2394366.42876,683471.4044400001,683471.4044400001,683471.4044400001,1041216.827,1855502.0571999997,3244545.45024,1506398.5125,2295464.4,968388.0,968388.0,968388.0,1300549.6840000001,968310.1140000001,968310.1140000001,770738.78674,1245123.7542,1850776.54328,3228098.6220000004,916165.1327200001,1165189.8835600002,1050916.878,1050916.878,1050916.878,1050916.878,2911385.74276,2911385.74276 +8802000.0,673175.682,610337.697,1782186.07524,537032.4462800001,537032.4462800001,537032.4462800001,647517.8955000001,985741.82856,2026616.5881600003,900596.61741,1372337.70272,540052.0739999999,540052.0739999999,540052.0739999999,681758.504,673175.682,673175.682,563991.5379799999,593419.041,882069.7843999999,1538493.81,436639.1956,555323.0038000001,673761.657,673761.657,673761.657,673761.657,2024014.8838799999,2024014.8838799999 +8805600.0,128362.797,113152.305,330404.73059999995,80921.4087,80921.4087,80921.4087,98049.441,201306.38848000002,643419.0464,184312.94006999998,280857.81344,172133.44199999998,172133.44199999998,172133.44199999998,129752.59150000001,128362.797,128362.797,225546.79705999998,74923.9956,111368.50704,194247.396,55129.26096,70114.06008,104019.53099999999,104019.53099999999,104019.53099999999,104019.53099999999,385944.14298,385944.14298 +8809200.0,124746.93,117653.64300000001,343548.63756,71551.33667,71551.33667,71551.33667,65237.879,241968.2236,654758.9548800001,184076.56953,280497.62976000004,174460.39500000002,174460.39500000002,174460.39500000002,124068.203,124746.93,124746.93,249119.89036999998,64488.3282,95856.72488000001,167191.96200000003,47450.671120000006,60348.336760000006,99889.374,99889.374,99889.374,99889.374,375072.43619999994,375072.43619999994 +8812800.0,134782.167,135037.731,394310.17451999994,64008.63766000001,64008.63766000001,64008.63766000001,51119.523,242847.14943999998,662020.5171200001,209544.73931999996,319306.26943999995,173029.68300000002,173029.68300000002,173029.68300000002,122314.51399999998,134782.167,134782.167,266865.3416,69828.81615,103794.93166,181037.6715,51380.21534,65345.97857000001,108298.503,108298.503,108298.503,108298.503,405245.04877999995,405245.04877999995 +8816400.0,149269.998,146777.082,428589.07943999994,75098.56959000001,75098.56959000001,75098.56959000001,54804.547000000006,244412.90016,772099.8745599999,261419.65899,398353.76608000003,176457.744,176457.744,176457.744,123639.73649999998,149269.998,149269.998,287762.44432,104332.08239999998,155081.26815999998,270490.584,76767.80384,97634.22032,149437.08000000002,149437.08000000002,149437.08000000002,149437.08000000002,448805.12731999997,448805.12731999997 +8820000.0,182626.275,160267.869,467982.17748,80783.71246,80783.71246,80783.71246,73178.6685,291559.60559999995,842900.2233600001,293521.57295999996,447270.96832,273157.611,273157.611,273157.611,204013.124,182626.275,182626.275,300717.47705999995,125408.92634999998,186410.30533999996,325134.2535,92276.19765999999,117357.98293,248478.50700000004,248478.50700000004,248478.50700000004,248478.50700000004,549096.3335,549096.3335 +8823600.0,243926.22000000003,184800.345,539617.0074,99661.04401,99661.04401,99661.04401,77519.6835,494794.14599999995,864920.7667200001,341666.08076999994,520634.02783999994,339434.733,339434.733,339434.733,246147.28600000002,243926.22000000003,243926.22000000003,339126.15437999996,148834.64474999998,221230.75589999996,385867.5975,109512.8991,139279.82804999998,303777.375,303777.375,303777.375,303777.375,733404.8348000001,733404.8348000001 +8827200.0,309207.123,212976.321,621890.8573200001,116654.72665,116654.72665,116654.72665,80806.24300000002,604427.99296,923964.4051200001,444575.14269,677447.83648,417892.12200000003,417892.12200000003,417892.12200000003,262776.808,309207.123,309207.123,370229.09105,174002.9202,258641.37767999998,451118.68200000003,128031.77832,162832.36236,402299.61600000004,402299.61600000004,402299.61600000004,402299.61600000004,929682.7498199999,929682.7498199999 +8830800.0,402269.01599999995,233529.99,681907.5708,130551.25325000001,130551.25325000001,130551.25325000001,90392.8935,690588.87096,1080444.9715200001,541241.37165,824748.7568,452987.1390000001,452987.1390000001,452987.1390000001,282093.11549999996,402269.01599999995,402269.01599999995,389450.34648,204558.9471,304060.45963999996,530338.0109999999,150514.97835999998,191426.76778,473563.533,473563.533,473563.533,473563.533,1209488.8414399999,1209488.8414399999 +8834400.0,1101925.98,1122795.363,3278562.4599599997,947390.0009200001,947390.0009200001,947390.0009200001,1011395.756,1679889.9400799999,1701048.89728,1395139.90686,2125927.47712,692907.2069999999,692907.2069999999,692907.2069999999,1627804.9935,1101925.98,1101925.98,2056959.0781999999,628604.145,934369.618,1629714.4500000002,462528.4820000001,588249.3110000001,1432310.988,1432310.988,1432310.988,1432310.988,3313124.1132,3313124.1132 +8838000.0,1577898.546,1525394.898,4454153.10216,1733129.7320700001,1733129.7320700001,1733129.7320700001,1614953.6235,2448645.05608,2271202.14336,2355174.54291,3588837.39872,816486.885,816486.885,816486.885,1469941.543,1577898.546,1577898.546,551562.58456,1268027.2817999998,1884820.7991199996,3287478.1379999993,933017.6048799999,1186623.06124,1716538.1699999997,1716538.1699999997,1716538.1699999997,1716538.1699999997,4744214.96164,4744214.96164 +8841600.0,1438496.334,1261136.1030000001,3682517.42076,1118029.4477000001,1118029.4477000001,1118029.4477000001,1433980.142,2500405.29144,5820438.6208,1840307.36211,2804277.88512,1711869.318,1711869.318,1711869.318,1558096.386,1438496.334,1438496.334,553236.3106399999,2253981.6337499996,3350362.8234999995,5843656.087499999,1658485.2514999998,2109281.57825,974243.001,974243.001,974243.001,974243.001,4325078.97756,4325078.97756 +8845200.0,885579.8489999999,511122.444,1492477.53648,591617.2675600001,591617.2675600001,591617.2675600001,1686698.433,2065745.24,3332603.6768,1845154.185,2811663.52,1205038.7370000002,1205038.7370000002,1205038.7370000002,1388952.8695,885579.8489999999,885579.8489999999,869119.8331399999,1783358.694,2650819.5895999996,4623522.54,1312199.7304,1668871.4692,980872.971,980872.971,980872.971,980872.971,2662643.41266,2662643.41266 +8848800.0,498445.36199999996,261236.766,762811.35672,457081.82619000005,457081.82619000005,457081.82619000005,852516.805,1694169.67448,2288979.59552,1001130.76833,1525532.59936,387396.1919999999,387396.1919999999,387396.1919999999,879896.2445,498445.36199999996,498445.36199999996,179462.61033999998,717611.3270999999,1066671.6516399998,1860473.811,528020.1863599999,671542.45178,445808.16299999994,445808.16299999994,445808.16299999994,445808.16299999994,1498659.0550799998,1498659.0550799998 +8852400.0,423063.41399999993,225854.61000000004,659495.4612,166687.30991000004,166687.30991000004,166687.30991000004,400554.62649999995,1218250.87568,690426.9894400002,694071.0434699999,1057632.06624,341056.02,341056.02,341056.02,348378.19450000004,423063.41399999993,423063.41399999993,177367.66775,265938.92864999996,395296.8766599999,689471.2964999999,195678.52033999996,248866.30606999996,340844.349,340844.349,340844.349,340844.349,1272010.6647599998,1272010.6647599998 +8856000.0,598717.242,449402.1989999999,1312254.4210799998,194480.06600000002,194480.06600000002,194480.06600000002,576668.4805,1243689.7521600001,1559812.5926400002,874758.73044,1332965.68448,566568.579,566568.579,566568.579,633879.2005,598717.242,598717.242,286779.01096,561447.6606,834546.8930399999,1455605.0459999999,413114.57496,525404.10708,580716.507,580716.507,580716.507,580716.507,1800143.17428,1800143.17428 +8859600.0,491464.599,375844.86600000004,1097467.00872,157923.78184000004,157923.78184000004,157923.78184000004,455213.12200000003,990582.02056,1328721.0444800002,712769.3934899999,1086124.79008,457573.608,457573.608,457573.608,554228.591,491464.599,491464.599,259425.27207999997,475546.0428,706861.03152,1232897.148,349907.95248,445017.16104,466527.408,466527.408,466527.408,466527.408,1477670.2276599999,1477670.2276599999 +8863200.0,407098.614,289062.819,844063.43148,107172.90056000002,107172.90056000002,107172.90056000002,346939.306,820084.82656,1031877.98976,579113.70111,882458.9731200001,374677.66500000004,374677.66500000004,374677.66500000004,411881.01149999996,407098.614,407098.614,220002.44955,337965.56234999996,502358.68773999996,876207.0135,248675.89526,316269.00773,363329.184,363329.184,363329.184,363329.184,1224009.83276,1224009.83276 +8866800.0,335834.838,220971.384,645236.4412799999,78137.19903000002,78137.19903000002,78137.19903000002,251693.70799999998,664914.2453600001,751976.4659200002,452963.47614000004,690230.05888,292048.521,292048.521,292048.521,292452.3805,335834.838,335834.838,165807.04919999998,227282.52104999998,337837.22881999996,589250.9805,167235.04017999998,212691.54439,279764.103,279764.103,279764.103,279764.103,1009743.4129199999,1009743.4129199999 +8870400.0,309904.776,195353.094,570431.03448,80177.92959,80177.92959,80177.92959,224321.678,608028.26536,643413.7696,408879.80049,623054.93408,260064.98999999996,260064.98999999996,260064.98999999996,247467.101,309904.776,309904.776,145829.15672,187874.2107,279259.93788,487081.287,138238.30812,175813.15026000002,249113.83500000002,249113.83500000002,249113.83500000002,249113.83500000002,931780.35984,931780.35984 +8874000.0,364387.128,243670.554,711518.0176799999,118630.1215,118630.1215,118630.1215,311865.5855,717951.45512,824991.36256,506647.56891000003,772034.39072,313920.381,313920.381,313920.381,333357.63300000003,364387.128,364387.128,185304.45154,274656.88169999997,408255.41427999997,712073.397,202093.21172,257024.58805999998,310052.964,310052.964,310052.964,310052.964,1095590.63152,1095590.63152 +8877600.0,941997.648,792023.9430000001,2312709.9135600002,441498.07702,441498.07702,441498.07702,1072221.57,1866209.33512,3003755.23072,1511451.92415,2303164.8368,933294.993,933294.993,933294.993,1261428.8855,941997.648,941997.648,750835.58875,1219685.8499999999,1812965.14,3162148.5,897447.86,1141385.03,1002142.548,1002142.548,1002142.548,1002142.548,2832272.92832,2832272.92832 +8881200.0,1052899.569,908001.096,2651363.20032,694712.39849,694712.39849,694712.39849,1226037.841,2073515.01544,3569815.98656,1736264.8779,2645736.9568000003,1052722.041,1052722.041,1052722.041,1420055.231,1052899.569,1052899.569,975675.7054199999,1367008.4799,2031948.4071599997,3544096.059,1005848.2148399999,1279249.9108199999,1158108.936,1158108.936,1158108.936,1158108.936,3165718.03746,3165718.03746 +8884800.0,981125.2080000001,877090.1369999999,2561103.2000399996,690282.3825699999,690282.3825699999,690282.3825699999,946726.3854999999,1729395.38648,2547621.87136,1449900.8577899998,2209372.73568,812169.7590000001,812169.7590000001,812169.7590000001,1125650.3720000002,981125.2080000001,981125.2080000001,916141.22431,1078084.6996499998,1602486.3930599997,2795034.4064999996,793257.3839399999,1008874.3238699998,1004332.2149999999,1004332.2149999999,1004332.2149999999,1004332.2149999999,2949916.45872,2949916.45872 +8888400.0,476181.73799999995,343098.57300000003,1001847.83316,372698.79295000003,372698.79295000003,372698.79295000003,412586.48899999994,870740.3208,969010.8473600001,665969.60598,1014810.8281599999,380686.413,380686.413,380686.413,501266.63300000003,476181.73799999995,476181.73799999995,650574.78954,224987.31314999997,334425.58645999996,583300.4415,165546.22053999998,210543.68316999997,524649.465,524649.465,524649.465,524649.465,1431719.7589199997,1431719.7589199997 +8892000.0,176034.07799999998,128204.832,374358.10944,118471.89618000001,118471.89618000001,118471.89618000001,101767.5015,379007.28672,702564.3475200001,275434.39182,419709.54944000003,227502.86700000003,227502.86700000003,227502.86700000003,147439.06800000003,176034.07799999998,176034.07799999998,269431.7171,87263.56799999998,129710.29119999998,226238.87999999998,64208.748799999994,81661.46239999999,129894.51,129894.51,129894.51,129894.51,529275.79452,529275.79452 +8895600.0,180617.91,146652.00900000002,428223.86628,105179.30467,105179.30467,105179.30467,80518.23849999999,410216.35183999996,856030.3052800002,275907.63522,420430.68224000005,229121.66100000002,229121.66100000002,229121.66100000002,140174.47849999997,180617.91,180617.91,270064.26576999994,109887.67799999999,163339.21519999998,284893.98,80855.62479999999,102833.1604,143648.763,143648.763,143648.763,143648.763,543057.8494,543057.8494 +8899200.0,191644.767,161927.36099999998,472827.89411999995,89914.87549,89914.87549,89914.87549,71738.33799999999,405202.88119999995,946677.90656,305409.58917000005,465386.0406400001,254092.82399999996,254092.82399999996,254092.82399999996,135575.2895,191644.767,191644.767,303110.44724999997,118666.71719999998,176388.55247999998,307654.452,87315.26352,111048.60696,189580.902,189580.902,189580.902,189580.902,576211.9327799999,576211.9327799999 +8902800.0,217800.261,200086.458,584252.45736,110940.97982000001,110940.97982000001,110940.97982000001,81104.6215,428197.0344,977915.8553600002,351259.4316,535252.4672000001,335996.679,335996.679,335996.679,167884.199,217800.261,217800.261,323616.25646999996,140340.66885,208605.14234,363846.1785,103263.01066,131331.14443000001,266920.65599999996,266920.65599999996,266920.65599999996,266920.65599999996,654852.7847399999,654852.7847399999 +8906400.0,267533.28599999996,229403.40300000002,669857.9367600001,114972.35552000001,114972.35552000001,114972.35552000001,83227.158,533714.3412799999,987826.5996800001,394609.12596000003,601309.1443200001,396552.588,396552.588,396552.588,264952.1525,267533.28599999996,267533.28599999996,349427.7169499999,164708.96804999997,244826.66361999995,427023.25049999997,121193.26537999998,154135.05899,336401.166,336401.166,336401.166,336401.166,804383.4132399999,804383.4132399999 +8910000.0,335965.167,253581.309,740457.42228,125209.98061000001,125209.98061000001,125209.98061000001,84146.181,649712.21144,1087638.8057600001,476739.38781,726460.0195200001,442648.14,442648.14,442648.14,278627.35599999997,335965.167,335965.167,384347.48963,185461.5447,275673.70347999997,480826.227,136463.06252,173555.37146,415755.9269999999,415755.9269999999,415755.9269999999,415755.9269999999,1010135.2687799999,1010135.2687799999 +8913600.0,416938.746,288293.157,841816.0184399999,133405.90241,133405.90241,133405.90241,87829.8855,714865.8560799999,1241588.7276800002,555939.46737,847145.8550399999,465424.833,465424.833,465424.833,293433.7665,416938.746,416938.746,400663.64936,246628.34639999998,366593.24575999996,639406.824,181469.74624,230795.41552,483091.28099999996,483091.28099999996,483091.28099999996,483091.28099999996,1253595.82964,1253595.82964 +8917200.0,481684.58700000006,353137.34699999995,1031161.0532399999,150053.2891,150053.2891,150053.2891,107227.652,820715.5816000002,1506597.5551999998,649959.2910300001,990414.1577600001,499241.8140000001,499241.8140000001,499241.8140000001,366810.5735,481684.58700000006,481684.58700000006,415201.31639999995,290507.9013,431816.68292,753168.633,213756.43108,271858.01134,532121.139,532121.139,532121.139,532121.139,1448264.99158,1448264.99158 +8920800.0,1179075.426,1197974.5829999999,3498085.7823599996,982687.15732,982687.15732,982687.15732,1033178.7270000001,1901442.4405600003,2065485.99744,1522300.7851800001,2319696.43456,766171.98,766171.98,766171.98,1734510.6485000001,1179075.426,1179075.426,2216199.15465,684792.6381,1017889.30404,1775388.3210000002,503872.11396000005,640830.64158,1522211.316,1522211.316,1522211.316,1522211.316,3545086.7808399997,3545086.7808399997 +8924400.0,1837612.4640000002,1712624.3429999999,5000863.08156,2074547.4899600002,2074547.4899600002,2074547.4899600002,1796769.1665,2742784.1137599996,2688633.89568,2683296.54537,4088832.83104,976655.9820000001,976655.9820000001,976655.9820000001,1751082.669,1837612.4640000002,1837612.4640000002,1260785.9061199997,1452971.3134499998,2159725.26098,3766962.6645,1069099.88002,1359694.14271,1920436.809,1920436.809,1920436.809,1920436.809,5525088.14176,5525088.14176 +8928000.0,1865084.625,1788506.904,5222440.15968,1857891.49986,1857891.49986,1857891.49986,2008498.5165000001,3229656.99472,7866160.119040001,2363604.93117,3601683.70464,2027651.88,2027651.88,2027651.88,1935602.1474999997,1865084.625,1865084.625,651150.4792,2880493.45155,4281622.365019999,7467945.9855,2119474.19398,2695572.88429,1375842.8699999999,1375842.8699999999,1375842.8699999999,1375842.8699999999,5607687.7725,5607687.7725 +8931600.0,1096609.5359999998,672155.88,1962695.1696,970550.2138200001,970550.2138200001,970550.2138200001,1943482.772,2387213.10912,3898788.8672,2278028.99079,3471282.2716800002,1571346.471,1571346.471,1571346.471,1786703.7020000003,1096609.5359999998,1096609.5359999998,1152653.88823,2240197.02945,3329873.11538,5807918.2245000005,1648342.50562,2096381.91151,1206164.2920000001,1206164.2920000001,1206164.2920000001,1206164.2920000001,3297139.33824,3297139.33824 +8935200.0,574383.786,343591.728,1003287.8457599999,693169.7016200001,693169.7016200001,693169.7016200001,1249974.04,2030402.5236000002,3584819.3542400007,1305055.1711400002,1988655.4988800003,431142.43200000003,431142.43200000003,431142.43200000003,1205943.669,574383.786,574383.786,286534.47056,1004397.1326,1492955.73784,2603992.566,739037.8901600001,939917.31668,606774.2220000001,606774.2220000001,606774.2220000001,606774.2220000001,1726980.5832399998,1726980.5832399998 +8938800.0,398631.89099999995,218753.571,638760.42732,172996.57507000002,172996.57507000002,172996.57507000002,501817.8095000001,1258585.13936,489926.85696000006,768227.5452599999,1170632.44992,315216.546,315216.546,315216.546,310370.5955,398631.89099999995,398631.89099999995,142099.7136,307763.3475,457465.519,797904.975,226453.031,288005.7005,307707.144,307707.144,307707.144,307707.144,1198553.2189399998,1198553.2189399998 +8942400.0,525110.4029999999,369146.127,1077906.69084,180480.35269000003,180480.35269000003,180480.35269000003,484797.33400000003,1079933.65848,1173880.2137600002,759034.9443600001,1156624.6771200001,458822.8829999999,458822.8829999999,458822.8829999999,518370.874,525110.4029999999,525110.4029999999,245262.90529,426455.6445,633892.0937999999,1105625.745,313787.1162,399078.2451,485417.6610000001,485417.6610000001,485417.6610000001,485417.6610000001,1578831.9450199998,1578831.9450199998 +8946000.0,230664.71399999998,113772.945,332216.99940000003,99375.37071,99375.37071,99375.37071,154784.10849999997,443303.26311999996,349573.73632,295276.45686000003,449945.07712000003,156575.436,156575.436,156575.436,120175.363,230664.71399999998,230664.71399999998,86738.65303999998,94799.43135,140911.74734,245776.3035,69753.65566,88713.54193,163444.71600000001,163444.71600000001,163444.71600000001,163444.71600000001,693531.9067599999,693531.9067599999 +8949600.0,78405.90299999999,12888.084,37633.20528,71640.26210000002,71640.26210000002,71640.26210000002,53282.123999999996,113317.99927999999,50661.403520000014,64811.19561,98759.91712000001,19520.121,19520.121,19520.121,18463.774,78405.90299999999,78405.90299999999,12282.02235,18951.93855,28170.535819999997,49134.6555,13944.88318,17735.27089,35560.473,35560.473,35560.473,35560.473,235740.41502,235740.41502 +8953200.0,49163.38799999999,5396.607,15758.09244,53699.649190000004,53699.649190000004,53699.649190000004,39770.84999999999,54324.70784,19549.81504,31416.90405,47873.3776,7481.985000000001,7481.985000000001,7481.985000000001,13803.846000000001,49163.38799999999,49163.38799999999,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,18923.259,18923.259,18923.259,18923.259,147817.91992,147817.91992 +8956800.0,49038.10800000001,5582.286,16300.275119999998,58787.503280000004,58787.503280000004,58787.503280000004,44547.17049999999,55846.0804,20479.23904,33456.81591,50981.81472,8193.249,8193.249,8193.249,15529.3285,49038.10800000001,49038.10800000001,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,19607.244000000002,19607.244000000002,19607.244000000002,19607.244000000002,147441.24472000002,147441.24472000002 +8960400.0,101910.195,17042.196,49763.21232,99163.60047,99163.60047,99163.60047,73637.90000000001,145330.1228,64879.60512,83007.07106999999,126486.96544,19896.855,19896.855,19896.855,25646.2255,101910.195,101910.195,14673.996869999999,25947.1674,38568.382159999994,67270.434,19091.98984,24281.423319999998,44967.624,44967.624,44967.624,44967.624,306409.9863,306409.9863 +8964000.0,526474.0109999999,241137.07800000004,704120.2677600001,195278.88083000004,195278.88083000004,195278.88083000004,297288.35850000003,1109605.8283199999,844894.6905600001,712248.52629,1085331.0876799999,399303.9419999999,399303.9419999999,399303.9419999999,225622.887,526474.0109999999,526474.0109999999,217787.25695999997,182700.04004999998,271568.94842,473666.7705,134431.14058,170971.14859,365363.37,365363.37,365363.37,365363.37,1582931.85974,1582931.85974 +8967600.0,856824.987,707327.8800000001,2065397.4096000001,211874.61108,211874.61108,211874.61108,842637.1765,1708975.1373599998,2144556.4736,1283097.3584099999,1955195.9747199998,798066.36,798066.36,798066.36,922307.029,856824.987,856824.987,498079.44419999997,782118.3946499999,1162556.23106,2027714.3565,575484.64594,731908.32487,818741.3999999999,818741.3999999999,818741.3999999999,818741.3999999999,2576187.1275799996,2576187.1275799996 +8971200.0,848435.3220000002,741713.559,2165803.59228,256543.22331,256543.22331,256543.22331,804849.2235,1523989.3764,2005304.34368,1250285.03838,1905196.24896,697620.6479999999,697620.6479999999,697620.6479999999,983339.385,848435.3220000002,848435.3220000002,725325.9221,935264.6126999999,1390195.7946799998,2424760.107,688170.0113199999,875222.93386,858395.2200000002,858395.2200000002,858395.2200000002,858395.2200000002,2550962.2014800003,2550962.2014800003 +8974800.0,423829.149,311925.876,910823.5579199999,227879.80468000003,227879.80468000003,227879.80468000003,385708.351,716307.14472,845208.1977600001,594886.92585,906494.3632,309851.601,309851.601,309851.601,446632.74950000003,423829.149,423829.149,600567.6245399999,206736.12180000002,307296.65512,535982.5380000001,152116.94888,193464.17324000003,472851.573,472851.573,472851.573,472851.573,1274312.97466,1274312.97466 +8978400.0,159623.049,116218.68599999999,339358.56311999995,80450.1027,80450.1027,80450.1027,99047.08799999999,244854.04792,625645.97888,250462.99719,381657.90048,169270.74,169270.74,169270.74,132082.468,159623.049,159623.049,245418.98016999997,76442.61195,113625.80838,198184.54950000002,56246.66262,71535.18501,117474.342,117474.342,117474.342,117474.342,479933.30065999995,479933.30065999995 +8982000.0,158808.9,124469.74200000001,363451.64664000005,42720.181130000004,42720.181130000004,42720.181130000004,71780.8875,314421.89744000003,605159.02592,232713.47652,354611.01184,175576.407,175576.407,175576.407,119710.5315,158808.9,158808.9,237431.83086999998,67947.2226,100998.09384,176159.46600000001,49995.73416,63585.178680000005,109233.807,109233.807,109233.807,109233.807,477485.4259999999,477485.4259999999 +8985600.0,165612.267,134795.103,393601.70076,42906.758069999996,42906.758069999996,42906.758069999996,58449.65349999999,330783.77288,610064.94848,240456.31428,366409.62176,190155.699,190155.699,190155.699,114864.547,165612.267,165612.267,252764.6823,73878.8526,109814.98584,191537.766,54360.242159999994,69136.01268,117120.41700000002,117120.41700000002,117120.41700000002,117120.41700000002,497940.88278,497940.88278 +8989200.0,179937.699,141581.463,413417.87195999996,61012.07981,61012.07981,61012.07981,69758.1815,353871.25512,648369.83808,277647.89388,423082.50496,244683.48299999998,244683.48299999998,244683.48299999998,121287.0925,179937.699,179937.699,276476.27475,94622.98095,140649.46798,245318.8395,69623.82302,88548.41921000001,170395.52399999998,170395.52399999998,170395.52399999998,170395.52399999998,541012.68166,541012.68166 +8992800.0,204631.962,149039.664,435195.81888,75692.65121000001,75692.65121000001,75692.65121000001,70358.7955,374323.54832,801755.6537600001,303373.62825,462283.624,291771.615,291771.615,291771.615,175440.71649999998,204631.962,204631.962,287380.60247,126553.57785,188111.73794,328101.86850000004,93118.43506,118429.15063,236137.06199999998,236137.06199999998,236137.06199999998,236137.06199999998,615260.09908,615260.09908 +8996400.0,256797.024,190793.133,557115.94836,90740.99595,90740.99595,90740.99595,75072.445,488765.36215999996,868848.8928,372580.7421,567742.0832,351099.411,351099.411,351099.411,235706.53749999998,256797.024,256797.024,313092.76531,148317.44355,220461.97782,384526.7055,109132.34118,138795.82989,309604.77,309604.77,309604.77,309604.77,772103.05216,772103.05216 +9000000.0,297814.50899999996,219438.99299999996,640761.8595599999,105132.45490000001,105132.45490000001,105132.45490000001,74812.871,548723.17048,916846.85056,422490.94818,643795.73056,368129.277,368129.277,368129.277,236018.71299999996,297814.50899999996,297814.50899999996,340872.66538,159815.02905,237552.21602,414335.26050000003,117592.29298000001,149555.29879000003,360178.608,360178.608,360178.608,360178.608,895428.9570599999,895428.9570599999 +9003600.0,469870.287,265954.08,776585.9136,135948.70410000003,135948.70410000003,135948.70410000003,86011.6495,1012082.9616799998,1130969.26528,655447.10322,998776.53824,412773.525,412773.525,412773.525,348976.04,469870.287,469870.287,544151.08644,224869.95629999996,334251.14491999993,582996.183,165459.86907999997,210433.86033999998,477526.55700000003,477526.55700000003,477526.55700000003,477526.55700000003,1412743.32958,1412743.32958 +9007200.0,1168985.2079999999,578202.303,1688350.72476,1292309.31412,1292309.31412,1292309.31412,1321916.6239999998,3301548.28824,3907663.65056,2711610.0198600003,4131977.1731200004,1075633.8390000002,1075633.8390000002,1075633.8390000002,1602254.7765,1168985.2079999999,1168985.2079999999,2228774.42827,1525227.1002,2267127.68968,3954292.482,1122265.86632,1427311.28636,1415776.626,1415776.626,1415776.626,1415776.626,3514748.8587199994,3514748.8587199994 +9010800.0,652676.784,894788.682,2612782.95144,1095244.0940100001,1095244.0940100001,1095244.0940100001,1634726.142,3383476.0772800003,1735169.53472,2321824.0353,3538017.5776,802996.0199999999,802996.0199999999,802996.0199999999,1204749.805,652676.784,652676.784,1671960.70418,1676366.2192499998,2491783.8617,4346134.6425,1233474.4033,1568747.6471499999,963849.771,963849.771,963849.771,963849.771,1962381.53056,1962381.53056 +9014400.0,1501182.804,1452211.824,4240458.52608,465473.33591,465473.33591,465473.33591,1131209.926,2857642.8101600003,4397202.494080001,2235527.6328,3406518.2976,1214461.692,1214461.692,1214461.692,850031.763,1501182.804,1501182.804,1220742.12702,993594.0573,1476897.83332,2575984.593,731088.96068,929807.77214,1620725.0100000002,1620725.0100000002,1620725.0100000002,1620725.0100000002,4513556.297359999,4513556.297359999 +9018000.0,767214.594,536872.92,1567668.9264,280034.29058,280034.29058,280034.29058,259864.13600000003,829627.6610399999,4545674.172800001,255201.67155,388878.7376,670393.125,670393.125,670393.125,606583.7085,767214.594,767214.594,347610.42679999996,1395964.8783,2074989.7697199997,3619168.2029999997,1027154.4042799999,1306347.37994,247269.825,247269.825,247269.825,247269.825,2306758.5459600003,2306758.5459600003 +9021600.0,193293.468,100575.495,293680.4454,134786.69061000002,134786.69061000002,134786.69061000002,98218.8235,94292.89112,592510.1446400001,59789.005079999995,91107.05536,24547.134000000002,24547.134000000002,24547.134000000002,36781.4405,193293.468,193293.468,43160.90922,35156.4138,52257.187920000004,91146.25800000002,25868.176080000005,32899.45884000001,37402.065,37402.065,37402.065,37402.065,581169.02712,581169.02712 +9025200.0,254343.32399999996,565739.418,1651959.1005599997,152599.42819000004,152599.42819000004,152599.42819000004,360039.5575,545869.72312,465676.8492800001,279822.52410000004,426396.2272,120909.273,120909.273,120909.273,409307.24450000003,254343.32399999996,254343.32399999996,186531.06887999998,93976.69005,139688.80842000002,243643.27050000004,69148.28058,87943.61859000001,132437.343,132437.343,132437.343,132437.343,764725.5941599999,764725.5941599999 +9028800.0,330154.137,215820.44999999998,630195.7139999999,146075.01469,146075.01469,146075.01469,284654.7235,679783.75552,612193.63136,383000.42381999997,583619.69344,215557.40400000004,215557.40400000004,215557.40400000004,171904.0015,330154.137,330154.137,274380.51446,173592.18135,258030.84733999998,450053.8035,127729.55566,162447.99193,224647.215,224647.215,224647.215,224647.215,992663.43858,992663.43858 +9032400.0,133062.234,52265.09999999999,152614.09199999998,79941.30386,79941.30386,79941.30386,74553.822,243829.47248000003,170732.41984000002,115686.98631000001,176284.93152,74014.85399999999,74014.85399999999,74014.85399999999,36320.2,133062.234,133062.234,121766.2563,44762.9247,66536.49548,116052.027,32936.67052,41889.25546,71331.063,71331.063,71331.063,71331.063,400073.78356,400073.78356 +9036000.0,227273.487,126962.64300000001,370730.91756000003,278477.93072000006,278477.93072000006,278477.93072000006,297449.75049999997,416029.43528,101586.47296000001,435162.51114,663104.77888,106108.227,106108.227,106108.227,312954.852,227273.487,227273.487,424621.20596999995,197753.33114999998,293944.45765999996,512693.8215,145507.38934,185058.05557,81721.011,81721.011,81721.011,81721.011,683335.61758,683335.61758 +9039600.0,21446.574,313632.762,915807.66504,257251.92427000005,257251.92427000005,257251.92427000005,242635.46300000002,377110.77008000005,42344.01344,45974.48058,70056.35136,36177.477,36177.477,36177.477,397223.967,21446.574,21446.574,254702.72749999998,118595.74905,176283.06402,307470.46050000004,87263.04498,110982.19479000001,93846.32400000001,93846.32400000001,93846.32400000001,93846.32400000001,64482.69916,64482.69916 +9043200.0,13296.03,6713.352000000001,19602.98784,257472.31477000006,257472.31477000006,257472.31477000006,50207.461500000005,28903.76016,43886.231680000004,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,13296.03,13296.03,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10647.594,10647.594,10647.594,10647.594,39976.7302,39976.7302 +9046800.0,642029.1690000001,247933.815,723966.7398,155523.49120000002,155523.49120000002,155523.49120000002,611261.4865,716971.45056,328830.36352,715539.55305,1090345.9856,454469.3730000001,454469.3730000001,454469.3730000001,71657.005,642029.1690000001,642029.1690000001,9502.102089999998,147300.18885,218949.91034,381889.3785,108383.84266000001,137843.88043000002,387683.54400000005,387683.54400000005,387683.54400000005,387683.54400000005,1930367.7014600001,1930367.7014600001 +9050400.0,365241.59699999995,177499.641,518298.95171999995,231736.58145000003,231736.58145000003,231736.58145000003,474130.97550000006,486987.98152000003,427543.77664000005,469048.09580999997,714739.95552,248460.54300000003,248460.54300000003,248460.54300000003,182266.8015,365241.59699999995,365241.59699999995,17574.09498,189825.8409,282160.87956,492141.069,139674.32244,177639.49062,222760.899,222760.899,222760.899,222760.899,1098159.73498,1098159.73498 +9054000.0,524246.21699999995,348927.21900000004,1018867.47948,282484.5771,282484.5771,282484.5771,600833.4395000001,1082932.26488,934803.2352,763797.6528,1163882.1376,447210.82200000004,447210.82200000004,447210.82200000004,378965.73749999993,524246.21699999995,524246.21699999995,348725.59163,394201.41209999996,585948.76564,1022003.661,290054.37236,368894.65478,412155.26399999997,412155.26399999997,412155.26399999997,412155.26399999997,1576233.6257799997,1576233.6257799997 +9057600.0,701785.2509999999,530962.338,1550410.02696,321050.04932000005,321050.04932000005,321050.04932000005,685619.0355000001,1364588.86568,1422157.3203200002,1041759.44838,1587442.96896,618418.611,618418.611,618418.611,705731.0819999999,701785.2509999999,701785.2509999999,529566.5218999999,629651.08215,935925.8060600001,1632428.7315000002,463298.82094000006,589229.03737,661399.203,661399.203,661399.203,661399.203,2110034.32134,2110034.32134 +9061200.0,514723.36199999996,445569.28500000003,1301062.3122,310265.85986,310265.85986,310265.85986,450809.4639999999,765255.57192,1155016.83968,687848.8249499999,1048150.5904,353892.276,353892.276,353892.276,469482.06200000003,514723.36199999996,514723.36199999996,449624.03329999995,371346.86115,551977.30966,962751.1215000001,273237.93734000006,347507.30957000004,515811.51599999995,515811.51599999995,515811.51599999995,515811.51599999995,1547601.5750799999,1547601.5750799999 +9064800.0,98732.83800000002,73495.896,214608.01631999997,78760.75966000001,78760.75966000001,78760.75966000001,76882.48049999999,135510.75264,498612.70912,142556.80761,217229.42111999998,97128.621,97128.621,97128.621,104285.909,98732.83800000002,98732.83800000002,132134.12472,54896.33655,81598.99901999999,142323.8355,40392.85998,51372.12729,83168.895,83168.895,83168.895,83168.895,296856.73292000004,296856.73292000004 +9068400.0,93929.29199999999,78439.25700000001,229042.63044,40353.12204000001,40353.12204000001,40353.12204000001,58821.759499999986,131304.78464,493136.06528000004,129996.19458,198089.43936,115101.03600000001,115101.03600000001,115101.03600000001,94450.9895,93929.29199999999,93929.29199999999,134194.01202999998,51640.84935,76759.97854,133883.68349999998,37997.464459999996,48325.63433,78256.659,78256.659,78256.659,78256.659,282414.07128,282414.07128 +9072000.0,98925.84900000002,93114.159,271893.34428,17091.79813,17091.79813,17091.79813,38596.7295,154024.70312,501918.4012800001,127668.90738,194543.09696000002,127564.374,127564.374,127564.374,90250.139,98925.84900000002,98925.84900000002,180075.90938999996,46865.8548,69662.33232,121504.06800000001,34484.01168,43857.182640000006,75377.514,75377.514,75377.514,75377.514,297437.05266,297437.05266 +9075600.0,113098.272,106558.563,311151.00396,12958.342760000001,12958.342760000001,12958.342760000001,41982.601500000004,195789.61495999998,515059.73312000005,151275.57585000002,230515.16320000004,131165.40899999999,131165.40899999999,131165.40899999999,92544.9525,113098.272,113098.272,206876.40688,54953.8425,81684.477,142472.92500000002,40435.173,51425.9415,77301.393,77301.393,77301.393,77301.393,340048.80448,340048.80448 +9079200.0,121801.008,117687.68999999999,343648.0548,11199.08119,11199.08119,11199.08119,41016.619,195363.7972,525484.02432,193906.48893,295476.55456,134070.75300000003,134070.75300000003,134070.75300000003,94453.1805,121801.008,121801.008,228316.62112999996,62439.80985,92811.76674,161880.9885,45943.36626,58431.32823000001,86443.04400000001,86443.04400000001,86443.04400000001,86443.04400000001,366215.03072,366215.03072 +9082800.0,139713.993,125302.137,365882.24004,40205.55605,40205.55605,40205.55605,57047.97350000001,203798.80704,549475.34912,237208.32765000002,361460.30880000006,169829.592,169829.592,169829.592,123328.3905,139713.993,139713.993,237887.53508,76711.75064999999,114025.86145999999,198882.3165,56444.69553999999,71787.04566999999,122234.17500000002,122234.17500000002,122234.17500000002,122234.17500000002,420073.40562,420073.40562 +9086400.0,174254.68799999997,134587.443,392995.33356,54921.60971,54921.60971,54921.60971,65864.3895,233306.24799999996,565633.16096,263572.89714,401634.89088,234624.903,234624.903,234624.903,189161.08749999997,174254.68799999997,174254.68799999997,258202.06983999995,91133.2296,135462.23264,236271.33600000004,67056.05536000001,85282.70128000001,193008.666,193008.666,193008.666,193008.666,523925.7619199999,523925.7619199999 +9090000.0,309012.327,181712.613,530600.82996,94830.82499,94830.82499,94830.82499,74044.60699999999,710052.9485599999,583533.7529600001,459181.93209,699705.80128,284139.966,284139.966,284139.966,287927.17799999996,309012.327,309012.327,478535.94281999994,136939.28850000002,203549.26340000003,355027.78500000003,100760.26660000002,128148.12430000002,324846.91199999995,324846.91199999995,324846.91199999995,324846.91199999995,929097.0631799999,929097.0631799999 +9093600.0,1014084.243,447874.623,1307793.89916,789077.1108,789077.1108,789077.1108,1043473.4450000001,3024273.44528,2791470.1542400005,2304841.76979,3512139.83968,793196.9940000001,793196.9940000001,793196.9940000001,1174429.0145,1014084.243,1014084.243,1910358.359,1162296.6209999998,1727660.6563999995,3013361.6099999994,855220.7235999998,1087680.0477999998,1204932.096,1204932.096,1204932.096,1204932.096,3049013.29062,3049013.29062 +9097200.0,521286.30600000004,766800.129,2239056.37668,687867.41958,687867.41958,687867.41958,1318100.6755000001,2868743.96104,1436248.96576,1906301.6130899999,2904840.5532799996,707202.879,707202.879,707202.879,936396.8564999999,521286.30600000004,521286.30600000004,1202332.86212,1305987.44985,1941245.54274,3385893.3885000004,960948.79026,1222146.2802300001,794462.043,794462.043,794462.043,794462.043,1567334.16004,1567334.16004 +9100800.0,1389564.747,1077475.929,3146229.71268,314331.5985700001,314331.5985700001,314331.5985700001,656436.382,2309353.12536,3444207.2787200003,1780435.09266,2713043.95072,1059602.304,1059602.304,1059602.304,605925.145,1389564.747,1389564.747,622142.69195,736364.7387,1094547.09308,1909093.767,541818.99292,689091.94066,1499298.993,1499298.993,1499298.993,1499298.993,4177958.00598,4177958.00598 +9104400.0,712068.0689999999,501161.226,1463390.77992,268935.86456,268935.86456,268935.86456,236336.2435,708089.51136,4230506.12992,251267.53029,382883.85568000004,594725.7990000001,594725.7990000001,594725.7990000001,554593.802,712068.0689999999,712068.0689999999,351726.98834,1214931.4416,1805898.0934400002,3149822.2560000005,893949.5545600001,1136935.8428800001,220273.42200000002,220273.42200000002,220273.42200000002,220273.42200000002,2140951.32746,2140951.32746 +9108000.0,271611.249,110779.437,323475.95603999996,138592.49877,138592.49877,138592.49877,102653.4775,311314.32832,369429.0182400001,166828.40286,254214.70912,91168.395,91168.395,91168.395,68916.092,271611.249,271611.249,146499.05022999996,73703.9169,109554.95795999999,191084.229,54231.52404,68972.30742,111772.80900000001,111772.80900000001,111772.80900000001,111772.80900000001,816644.4886599999,816644.4886599999 +9111600.0,216648.59999999998,575594.0700000001,1680734.6844,139103.99195,139103.99195,139103.99195,361527.754,482574.96216000005,423261.38688000006,305512.05762,465542.18304,97842.12300000002,97842.12300000002,97842.12300000002,382509.30199999997,216648.59999999998,216648.59999999998,135921.06177,99880.05914999999,148463.69285999998,258948.30149999997,73491.99414,93468.00597,131292.987,131292.987,131292.987,131292.987,651390.124,651390.124 +9115200.0,216091.734,113789.253,332264.61876,122018.50232,122018.50232,122018.50232,263945.5455,404259.16056,328208.68032000004,234924.22548,357979.77216,127924.725,127924.725,127924.725,111250.6885,216091.734,216091.734,172641.15491999997,117631.9827,174850.50268,304971.80700000003,86553.90332,110080.29986,138311.93700000003,138311.93700000003,138311.93700000003,138311.93700000003,649715.8135599999,649715.8135599999 +9118800.0,140913.093,67862.202,198157.62984,78633.97509000002,78633.97509000002,78633.97509000002,83086.21650000001,257522.91176000002,190775.3056,132650.24577,202133.70784000002,79488.369,79488.369,79488.369,49898.2435,140913.093,140913.093,130783.52481999998,58951.54889999999,87626.74675999998,152837.349,43376.695239999994,55167.00502,84692.799,84692.799,84692.799,84692.799,423678.69962,423678.69962 +9122400.0,216912.09900000005,127681.113,372828.84995999996,261251.17546,261251.17546,261251.17546,256623.017,399044.38512000005,98592.74304000002,415706.24235,633457.1312000001,97220.06700000001,97220.06700000001,97220.06700000001,317702.11549999996,216912.09900000005,216912.09900000005,407425.51369,196659.1062,292317.98008,509856.94200000004,144702.25592,184034.07716000002,76977.429,76977.429,76977.429,76977.429,652182.3776600001,652182.3776600001 +9126000.0,59259.450000000004,333686.91000000003,974365.7772,265111.43208000006,265111.43208000006,265111.43208000006,264175.625,425644.18351999996,58811.86176000001,62202.662339999995,94785.00928,76172.88,76172.88,76172.88,426400.93649999995,59259.450000000004,59259.450000000004,345834.02645999996,143613.8424,213470.45216,372332.184,105671.41984,134394.18832,104403.435,104403.435,104403.435,104403.435,178173.413,178173.413 +9129600.0,46131.078,13855.601999999999,40458.35784,242731.68238,242731.68238,242731.68238,66702.4295,55366.63392,54611.202560000005,31391.52723,47834.70816,9556.947,9556.947,9556.947,15529.3285,46131.078,46131.078,38971.86579,16329.490650000002,24272.477460000002,42335.7165,12015.279540000001,15281.177670000001,16478.442000000003,16478.442000000003,16478.442000000003,16478.442000000003,138700.77452,138700.77452 +9133200.0,868931.7750000001,523801.21199999994,1529499.5390399997,365557.44071000005,365557.44071000005,365557.44071000005,1271869.067,1274388.5356,1047678.0889600001,1336908.8858999999,2037194.4928,846713.619,846713.619,846713.619,369017.089,868931.7750000001,868931.7750000001,217131.16333999994,532343.2630500001,791285.54162,1380149.2005000003,391699.48738000006,498168.13999000005,664822.9349999999,664822.9349999999,664822.9349999999,664822.9349999999,2612588.2035000003,2612588.2035000003 +9136800.0,613051.8690000001,344488.74,1005907.1208,326993.44997,326993.44997,326993.44997,520142.2975,1021603.2654399999,871860.3136000001,769018.3708200001,1171837.51744,421846.245,421846.245,421846.245,409960.4705,613051.8690000001,613051.8690000001,375928.55144,396348.1632,589139.73888,1027569.312,291633.95712000004,370903.58976,459579.99899999995,459579.99899999995,459579.99899999995,459579.99899999995,1843242.6194600002,1843242.6194600002 +9140400.0,633836.2559999999,510238.377,1489896.06084,407432.17702000006,407432.17702000006,407432.17702000006,657234.4975,1194766.24424,1442957.3017600002,970493.92377,1478847.88384,546404.583,546404.583,546404.583,690880.4034999999,633836.2559999999,633836.2559999999,471929.91767999995,680469.4332,1011463.20688,1764180.012,500691.08912,636784.9757600001,591151.35,591151.35,591151.35,591151.35,1905734.3430399997,1905734.3430399997 +9144000.0,703384.554,579925.569,1693382.66148,474001.08481,474001.08481,474001.08481,731190.635,1275356.1944,2030089.4080000003,1081230.1214400001,1647588.7564800002,615371.388,615371.388,615371.388,853660.843,703384.554,703384.554,542926.24399,820090.3400999999,1218998.4808399999,2126160.141,603424.4971599999,767442.5651799999,691388.379,691388.379,691388.379,691388.379,2114842.89236,2114842.89236 +9147600.0,497370.59400000004,421040.556,1229438.4235199997,391888.08593,391888.08593,391888.08593,464339.295,682078.15136,1294801.2192000002,644865.6358200001,982652.3974400001,323315.367,323315.367,323315.367,454250.94749999995,497370.59400000004,497370.59400000004,399645.66095999995,380138.1678,565044.8815199999,985543.3979999999,279706.60248,355734.23604,477794.076,477794.076,477794.076,477794.076,1495427.58596,1495427.58596 +9151200.0,94317.399,65787.189,192098.59188,78117.60605000002,78117.60605000002,78117.60605000002,87971.36600000001,125237.45679999999,427168.07936,131631.17373,200580.83616000004,92194.134,92194.134,92194.134,92883.504,94317.399,94317.399,114549.04850999998,57184.469099999995,85000.12443999999,148256.031,42076.47356,53513.367379999996,75273.393,75273.393,75273.393,75273.393,283580.97966,283580.97966 +9154800.0,92311.032,73765.344,215394.80448,40840.276620000004,40840.276620000004,40840.276620000004,55595.386,127610.51160000001,447705.4176,119015.70639,181357.26688,113815.374,113815.374,113815.374,86048.8055,92311.032,92311.032,132381.41644,48782.14065,72510.73745999999,126472.2165,35894.01954,45650.44767,71051.853,71051.853,71051.853,71051.853,277548.50288,277548.50288 +9158400.0,95338.41900000001,90056.778,262965.79176,17587.300280000003,17587.300280000003,17587.300280000003,37082.129,151783.76664000002,492956.89344,126673.42506,193026.17152,125252.619,125252.619,125252.619,89361.79,95338.41900000001,95338.41900000001,172776.79210999998,45287.08379999999,67315.61592,117410.95799999998,33322.348079999996,42379.764839999996,72952.809,72952.809,72952.809,72952.809,286650.84646000003,286650.84646000003 +9162000.0,100290.30299999999,99785.739,291374.35788,24298.96634,24298.96634,24298.96634,33646.984000000004,182207.80727999998,486183.9302400001,135482.80893,206449.99456000002,124238.40000000001,124238.40000000001,124238.40000000001,87189.34000000001,100290.30299999999,100290.30299999999,192685.60817999998,47790.98415,71037.46286,123902.5515,35164.72414,44722.92097,72579.072,72579.072,72579.072,72579.072,301539.5110199999,301539.5110199999 +9165600.0,111380.568,110302.84199999998,322084.29863999994,35221.633480000004,35221.633480000004,35221.633480000004,37698.227,182788.76464,500919.37792,167839.66479,255755.67968,126107.74799999999,126107.74799999999,126107.74799999999,88524.34150000001,111380.568,111380.568,213564.17315999998,55474.6725,82458.649,143823.225,40818.401000000005,51913.3355,81721.89600000001,81721.89600000001,81721.89600000001,81721.89600000001,334884.24111999996,334884.24111999996 +9169200.0,113932.92899999999,108212.96100000001,315981.84612,43680.94126,43680.94126,43680.94126,41664.6685,177422.10832,490417.71904,196887.55044000002,300019.12448,123984.65699999999,123984.65699999999,123984.65699999999,92508.325,113932.92899999999,113932.92899999999,207091.2792,59055.496199999994,87781.25607999999,153106.842,43453.179919999995,55264.27916,106595.772,106595.772,106595.772,106595.772,342558.33985999995,342558.33985999995 +9172800.0,128034.672,113731.31099999999,332095.42812,54063.18159,54063.18159,54063.18159,54291.7935,178643.28736,485063.46432,209442.64760999999,319150.70112,167332.992,167332.992,167332.992,122068.0195,128034.672,128034.672,207305.81000999996,69966.89684999999,104000.17753999998,181395.6585,51481.81546,65475.19482999999,139499.757,139499.757,139499.757,139499.757,384957.58048,384957.58048 +9176400.0,226153.57499999998,148679.124,434143.04208,81935.85213,81935.85213,81935.85213,63144.6165,585049.8217600001,507497.71968000004,365770.6980900001,557364.87328,210779.24699999997,210779.24699999997,210779.24699999997,236196.97849999997,226153.57499999998,226153.57499999998,411727.07263999997,105583.6458,156941.61672,273735.378,77688.70728,98805.43644,232032.35700000002,232032.35700000002,232032.35700000002,232032.35700000002,679968.4154999999,679968.4154999999 +9180000.0,880855.4130000001,375614.65499999997,1096794.7925999998,785844.2731700001,785844.2731700001,785844.2731700001,924495.6594999998,2765715.35264,2333868.6585600004,2049082.8225,3122411.92,669983.613,669983.613,669983.613,981822.6285,880855.4130000001,880855.4130000001,1795037.0746099998,994896.02295,1478833.10078,2579360.0595,732046.95022,931026.15481,1053161.1030000001,1053161.1030000001,1053161.1030000001,1053161.1030000001,2648438.60842,2648438.60842 +9183600.0,530327.946,758435.1569999999,2214630.65844,785507.21612,785507.21612,785507.21612,1293551.3955,2818174.4491199995,1408316.7744000002,1881621.73794,2867233.12448,723491.9400000001,723491.9400000001,723491.9400000001,910217.882,530327.946,530327.946,1142363.54739,1273178.9142,1892478.2872799998,3300834.222,936808.18872,1191443.97156,822232.3620000001,822232.3620000001,822232.3620000001,822232.3620000001,1594519.3576399998,1594519.3576399998 +9187200.0,1349227.0829999999,1008666.777,2945306.9888400002,341871.46928,341871.46928,341871.46928,578921.2660000001,2019442.8175199998,3220309.184,1618747.51962,2466662.88704,969955.698,969955.698,969955.698,579708.409,1349227.0829999999,1349227.0829999999,553246.7627699999,688871.59155,1023952.34102,1785963.3855,506873.41798,644647.73629,1458491.8260000001,1458491.8260000001,1458491.8260000001,1458491.8260000001,4056676.0962199997,4056676.0962199997 +9190800.0,623842.53,475875.882,1389557.5754399998,263464.14842,263464.14842,263464.14842,217339.15350000001,520578.68624,3876242.34112,167269.05825,254886.184,536937.213,536937.213,536937.213,515212.705,623842.53,623842.53,270975.75596,1084222.989,1611610.4675999999,2810948.49,797773.9524,1014618.5502,166264.164,166264.164,166264.164,166264.164,1875686.5402,1875686.5402 +9194400.0,195635.83499999996,82840.26,241893.5592,130162.95490000001,130162.95490000001,130162.95490000001,99109.28649999999,188903.30304,167272.06848000002,88844.91819,135382.73248,45942.363,45942.363,45942.363,42647.926999999996,195635.83499999996,195635.83499999996,95302.79550999998,51378.328349999996,76369.76213999999,133203.0735,37804.300859999996,48079.96653,55486.308000000005,55486.308000000005,55486.308000000005,55486.308000000005,588211.7438999999,588211.7438999999 +9198000.0,221345.184,529064.4,1544868.0480000002,139659.42484999998,139659.42484999998,139659.42484999998,332258.549,492310.16624,423544.97408,299390.53494000004,456214.14848000003,105052.12800000001,105052.12800000001,105052.12800000001,353343.844,221345.184,221345.184,151294.22580999997,108611.3853,161442.10851999998,281585.073,79916.52548,101638.80254,135141.378,135141.378,135141.378,135141.378,665511.18656,665511.18656 +9201600.0,283774.137,178075.09500000003,519979.2774,136602.92811,136602.92811,136602.92811,279697.4145,565323.46392,544881.2256000001,332842.4484,507188.4928,194344.119,194344.119,194344.119,162686.335,283774.137,283774.137,236553.76056,176784.03089999998,262775.27556,458328.969,130078.12644,165434.93261999998,206520.06,206520.06,206520.06,206520.06,853214.23858,853214.23858 +9205200.0,156864.039,86839.068,253570.07856,77994.83857,77994.83857,77994.83857,92677.8545,302275.02447999996,248135.15520000004,155645.51352,237174.11584,102305.58599999998,102305.58599999998,102305.58599999998,70168.7035,156864.039,156864.039,139946.71430999998,73805.82704999999,109706.43921999999,191348.4405,54306.50978,69067.67519,102198.183,102198.183,102198.183,102198.183,471637.87726,471637.87726 +9208800.0,222420.741,134051.271,391429.71131999994,285858.79025,285858.79025,285858.79025,242052.28949999996,427813.7844,119089.69472000001,424924.70790000004,647504.3168,107095.86000000002,107095.86000000002,107095.86000000002,330226.3125,222420.741,222420.741,422147.28829,207340.18334999998,308194.54413999995,537548.6235,152561.41885999998,194029.45552999998,81278.991,81278.991,81278.991,81278.991,668745.0279399999,668745.0279399999 +9212400.0,74288.31599999999,330899.883,966227.6583599999,264801.11086,264801.11086,264801.11086,267935.53500000003,453224.9676,93605.81888,71580.04938,109074.36096,94563.201,94563.201,94563.201,423967.57899999997,74288.31599999999,74288.31599999999,380272.98672999995,146522.39445,217793.78137999997,379872.8745,107811.53962,137116.01851,110524.365,110524.365,110524.365,110524.365,223360.20343999995,223360.20343999995 +9216000.0,48400.62300000001,13708.755000000001,40029.5646,225204.17040000003,225204.17040000003,225204.17040000003,64957.431,60839.51399999999,66913.8496,32500.002569999997,49523.81344,12934.323,12934.323,12934.323,17629.678499999998,48400.62300000001,48400.62300000001,37987.638779999994,16890.326549999998,25106.115019999997,43789.7355,12427.94398,15806.00929,17081.540999999997,17081.540999999997,17081.540999999997,17081.540999999997,145524.53982,145524.53982 +9219600.0,876972.6900000002,533377.851,1557463.32492,392619.2329400001,392619.2329400001,392619.2329400001,1292138.1935,1308704.06024,1133605.16288,1403986.26921,2139407.64832,896625.8520000002,896625.8520000002,896625.8520000002,422919.42000000004,876972.6900000002,876972.6900000002,223835.65399,574172.40825,853461.2092999999,1488595.1325,422477.4757,537311.95735,684484.7250000001,684484.7250000001,684484.7250000001,684484.7250000001,2636764.5546000004,2636764.5546000004 +9223200.0,598639.9920000001,356106.168,1039830.01056,323860.11977,323860.11977,323860.11977,518871.6925,1036053.23,913249.9552000002,770523.41814,1174130.92288,442653.132,442653.132,442653.132,440116.85550000006,598639.9920000001,598639.9920000001,372636.25554999994,400887.43155000004,595886.99702,1039337.7855000001,294973.96198,375151.44829000003,467318.454,467318.454,467318.454,467318.454,1799910.90928,1799910.90928 +9226800.0,642957.1109999999,528243.591,1542471.2857199998,437235.14681,437235.14681,437235.14681,662360.5029999999,1215616.9948,1626311.68576,986269.90644,1502887.4764800002,577476.885,577476.885,577476.885,754686.7545,642957.1109999999,642957.1109999999,495846.69029999996,703563.0313500001,1045789.9873400001,1824052.3035000002,517683.41566000006,658396.02193,606948.111,606948.111,606948.111,606948.111,1933157.7137399998,1933157.7137399998 +9230400.0,698221.668,572737.692,1672394.06064,484100.79388,484100.79388,484100.79388,730378.0434999999,1284544.66352,2063113.9072000002,1075645.7817,1639079.2864,627715.1699999999,627715.1699999999,627715.1699999999,855632.8375,698221.668,698221.668,538688.49931,821159.5887,1220587.83308,2128932.267,604211.25292,768443.17066,699895.7729999999,699895.7729999999,699895.7729999999,699895.7729999999,2099319.81512,2099319.81512 +9234000.0,466792.07999999996,396801.654,1158660.82968,376314.57281000004,376314.57281000004,376314.57281000004,441369.495,641477.51944,1264904.05632,604301.0064,920839.6288,312463.96499999997,312463.96499999997,312463.96499999997,424985.666,466792.07999999996,466792.07999999996,378899.74135,362594.2644,538967.2769599999,940059.204,266797.75504,339316.60792000004,448458.80700000003,448458.80700000003,448458.80700000003,448458.80700000003,1403488.1871999998,1403488.1871999998 +9237600.0,88335.183,59387.079,173410.27068,77827.32958,77827.32958,77827.32958,85452.4965,122762.21952,392462.544,122681.21271000002,186942.80032000004,92608.176,92608.176,92608.176,86509.598,88335.183,88335.183,105801.32276999998,54093.954600000005,80406.32264,140243.586,39802.46536,50621.25628,69779.283,69779.283,69779.283,69779.283,265594.45022,265594.45022 +9241200.0,80387.223,62427.558000000005,182288.46936000002,40294.03785000001,40294.03785000001,40294.03785000001,51575.377,109074.19391999999,380968.2048,103447.6359,157634.4928,95295.93900000001,95295.93900000001,95295.93900000001,74293.6425,80387.223,80387.223,101076.74836999999,43039.273049999996,63974.425619999995,111583.3005,31668.40338,40276.25799,61410.780000000006,61410.780000000006,61410.780000000006,61410.780000000006,241697.58382,241697.58382 +9244800.0,75065.652,65696.52,191833.8384,16492.482490000002,16492.482490000002,16492.482490000002,30580.1825,108359.29032000001,373597.2659200001,93494.0202,142467.0784,91467.957,91467.957,91467.957,67421.228,75065.652,75065.652,130388.28712,35533.5012,52817.698079999995,92123.89199999999,26145.637919999997,33252.33816,56629.106999999996,56629.106999999996,56629.106999999996,56629.106999999996,225697.39368,225697.39368 +9248400.0,75567.91500000001,71486.103,208739.42076,16086.373820000003,16086.373820000003,16086.373820000003,25875.479,124872.53856,375393.68448,99913.14816000001,152248.60672,91779.741,91779.741,91779.741,67467.71500000001,75567.91500000001,75567.91500000001,132616.50999999998,34054.68015,50619.54926,88289.9115,25057.51774,31868.45377,56227.941000000006,56227.941000000006,56227.941000000006,56227.941000000006,227207.5311,227207.5311 +9252000.0,84261.15299999999,80505.984,235077.47327999998,25294.6023,25294.6023,25294.6023,22304.222499999996,143769.24264,392037.66912,108658.80017999999,165575.31456,96779.583,96779.583,96779.583,68733.2835,84261.15299999999,84261.15299999999,153916.79653999998,39422.7405,58598.7402,102207.105,29007.3498,36891.8979,58626.996,58626.996,58626.996,58626.996,253345.20002,253345.20002 +9255600.0,92717.754,89357.49900000001,260923.89708000002,28463.817690000003,28463.817690000003,28463.817690000003,30203.222,148578.84472,411149.99936,125556.13497000001,191323.63424,101217.456,101217.456,101217.456,72122.12700000001,92717.754,92717.754,171480.73760999998,45001.45755,66891.05541999999,116670.4455,33112.18358,42112.47509,72148.884,72148.884,72148.884,72148.884,278771.38036,278771.38036 +9259200.0,96376.098,91472.508,267099.72336,39412.6183,39412.6183,39412.6183,32374.506499999996,151037.31536,418218.36544,159136.29941999997,242493.40863999998,103446.12899999999,103446.12899999999,103446.12899999999,76557.8415,96376.098,96376.098,174285.07823999997,48386.81205,71923.11322,125447.2905,35603.135780000004,45280.498190000006,82734.405,82734.405,82734.405,82734.405,289770.80132,289770.80132 +9262800.0,158753.43000000002,118976.51400000001,347411.42088000005,67773.04171000002,67773.04171000002,67773.04171000002,47243.150499999996,515312.74656000006,433970.0377600001,285848.81367,435579.14464,112543.647,112543.647,112543.647,140654.472,158753.43000000002,158753.43000000002,364691.87677000003,68921.20709999999,102445.84363999998,178684.61099999998,50712.39436,64496.63578,155749.04700000002,155749.04700000002,155749.04700000002,155749.04700000002,477318.6462,477318.6462 +9266400.0,715606.851,310383.03,906318.4476000001,595297.1987599999,595297.1987599999,595297.1987599999,719264.7559999999,2377815.8016,1844879.0156800002,1693858.83513,2581118.2249600003,527367.7079999999,527367.7079999999,527367.7079999999,712406.8665,715606.851,715606.851,1618471.8399199997,777799.87965,1156137.10506,2016518.2065,572307.07194,727867.04787,861351.4290000001,861351.4290000001,861351.4290000001,861351.4290000001,2151591.26534,2151591.26534 +9270000.0,423872.922,611136.708,1784519.18736,504914.33025,504914.33025,504914.33025,929474.5599999999,2254780.35184,1030191.9052800001,1507360.94796,2296930.96832,609941.031,609941.031,609941.031,662677.218,423872.922,423872.922,757789.0594299999,956019.3885,1421046.1034,2478568.785,703441.4266,894645.3043000001,650743.245,650743.245,650743.245,650743.245,1274444.5854800001,1274444.5854800001 +9273600.0,882905.4510000001,371346.91199999995,1084332.9830399998,199874.30562000003,199874.30562000003,199874.30562000003,322157.9725,934092.48312,1314458.0716800003,798233.07501,1216355.16192,461308.578,461308.578,461308.578,282877.7875,882905.4510000001,882905.4510000001,290028.05052,321396.49395,477730.09718,833250.1695,236484.33382,300763.63261000003,855605.916,855605.916,855605.916,855605.916,2654602.38934,2654602.38934 +9277200.0,373789.911,318976.746,931412.09832,180245.20844000002,180245.20844000002,180245.20844000002,163729.601,261061.53127999997,1758479.44512,85902.54981000001,130899.12352000002,289968.36600000004,289968.36600000004,289968.36600000004,239802.29,373789.911,373789.911,132874.53764,462934.05525,688114.3241,1200199.4025,340628.0209,433214.83195,97510.884,97510.884,97510.884,97510.884,1123861.66574,1123861.66574 +9280800.0,49368.270000000004,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,49368.270000000004,49368.270000000004,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,148433.9318,148433.9318 +9284400.0,35330.148,89892.486,262486.05912,98192.18915,98192.18915,98192.18915,136761.2085,84350.58312,29181.38944,53366.312580000005,81320.09536,18087.996,18087.996,18087.996,74682.8775,35330.148,35330.148,11445.71246,32435.23905,48212.38002,84091.3605,23865.92898,30352.97679,21076.734,21076.734,21076.734,21076.734,106225.97832,106225.97832 +9288000.0,40383.717,14292.933,41735.36436000001,85150.57826000001,85150.57826000001,85150.57826000001,82298.4295,85547.26336,23133.34976,42296.60463,64451.96896,33791.07,33791.07,33791.07,28050.1305,40383.717,40383.717,9718.056659999998,27190.837349999998,40416.99773999999,70494.76349999999,20007.085259999996,25445.252729999997,21270.549,21270.549,21270.549,21270.549,121420.37577999999,121420.37577999999 +9291600.0,16573.953,6779.5650000000005,19796.3298,65894.00818,65894.00818,65894.00818,57965.20799999999,39247.50976,18506.68416,32585.957250000003,49654.79200000001,10590.915,10590.915,10590.915,20705.7725,16573.953,16573.953,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,49832.35202,49832.35202 +9295200.0,33205.11,6003.027000000001,17528.83884,56724.84356000001,56724.84356000001,56724.84356000001,58650.7985,82116.0064,15936.305920000003,39628.189020000005,60385.81184000001,11182.749,11182.749,11182.749,17829.9695,33205.11,33205.11,18615.93136,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,14072.310000000001,14072.310000000001,14072.310000000001,14072.310000000001,99836.69739999999,99836.69739999999 +9298800.0,11495.997,3203.478,9354.15576,195258.58374000003,195258.58374000003,195258.58374000003,86511.58600000001,38211.89088,42344.01344,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,11495.997,11495.997,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,34564.630979999994,34564.630979999994 +9302400.0,11380.547999999999,5374.923000000001,15694.775160000001,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29442.40672,15254.619520000004,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,11380.547999999999,11380.547999999999,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,34217.514319999995,34217.514319999995 +9306000.0,195770.94,5873.043000000001,17149.28556,87523.58362,87523.58362,87523.58362,70846.3665,93491.44455999999,22619.26976,95948.37987,146207.05504,20927.147999999997,20927.147999999997,20927.147999999997,26788.4575,195770.94,195770.94,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,84365.199,84365.199,84365.199,84365.199,588617.9596,588617.9596 +9309600.0,103247.40600000002,12604.575,36805.359000000004,151965.92048,151965.92048,151965.92048,129946.14850000001,158443.50992,40097.804800000005,105076.05108,160115.88736000002,39439.461,39439.461,39439.461,51779.672,103247.40600000002,103247.40600000002,16844.63443,45410.05799999999,67498.40719999999,117729.77999999998,33412.8328,42494.844399999994,64206.306,64206.306,64206.306,64206.306,310430.53404,310430.53404 +9313200.0,157574.925,49982.634000000005,145949.29128,159758.89193,159758.89193,159758.89193,189232.1515,234477.27895999997,75216.41024000001,168604.66917000004,256921.40064000007,69863.184,69863.184,69863.184,80326.253,157574.925,157574.925,17060.589,51959.851650000004,77234.14986,134710.72650000002,38232.18714,48624.157470000006,81705.486,81705.486,81705.486,81705.486,473775.27449999994,473775.27449999994 +9316800.0,207809.682,100951.899,294779.54508,146006.67939,146006.67939,146006.67939,207646.579,268509.42928,133580.88640000002,251677.8726,383509.13920000003,120602.04900000001,120602.04900000001,120602.04900000001,107654.47,207809.682,207809.682,48095.17557,65907.6345,97966.40980000001,170871.64500000002,48495.0002,61676.52710000001,92937.744,92937.744,92937.744,92937.744,624814.4438799999,624814.4438799999 +9320400.0,167366.937,80254.65,234343.57799999998,121489.92328,121489.92328,121489.92328,180357.849,168118.94744,199667.57312000002,169959.64839,258986.13088,102559.17,102559.17,102559.17,36376.508,167366.937,167366.937,17170.175229999997,39992.36895,59445.447179999996,103683.91949999999,29426.483819999998,37424.95761,61397.676,61397.676,61397.676,61397.676,503216.59057999996,503216.59057999996 +9324000.0,20886.684,11312.934000000001,33033.76728,75964.94642000001,75964.94642000001,75964.94642000001,66015.9325,50453.34847999999,23725.678720000004,37111.78317,56551.288640000006,11831.793000000001,11831.793000000001,11831.793000000001,23581.572,20886.684,20886.684,9368.778509999998,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,62799.296559999995,62799.296559999995 +9327600.0,19167.113999999998,15498.494999999999,45255.6054,37834.21125,37834.21125,37834.21125,32202.8945,54578.12295999999,33225.25696,23671.37598,36070.66816,6638.5650000000005,6638.5650000000005,6638.5650000000005,11503.205,19167.113999999998,19167.113999999998,30967.525549999995,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,57629.12275999999,57629.12275999999 +9331200.0,20212.674,19718.208,57577.16736,14819.342120000001,14819.342120000001,14819.342120000001,11271.011499999999,54297.48759999999,40627.56288,25774.1841,39274.947199999995,5262.465,5262.465,5262.465,4026.1234999999997,20212.674,20212.674,34578.301159999995,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,4895.847,4895.847,4895.847,4895.847,60772.77316,60772.77316 +9334800.0,24586.179,19703.055,57532.920600000005,9372.06226,9372.06226,9372.06226,6440.577499999999,57158.398479999996,49887.40032,32788.81725,49963.912000000004,14469.51,14469.51,14469.51,2850.5085,24586.179,24586.179,39215.88671,2567.9592000000002,3817.0652800000003,6657.6720000000005,1889.5107200000002,2403.1025600000003,4753.2119999999995,4753.2119999999995,4753.2119999999995,4753.2119999999995,73922.44486,73922.44486 +9338400.0,39626.634000000005,39701.523,115928.44716,4017.3179200000004,4017.3179200000004,4017.3179200000004,4708.0915,69886.83032000001,226802.88064000005,44041.86717,67111.41664,34177.338,34177.338,34177.338,7712.18,39626.634000000005,39626.634000000005,85290.22735999999,2229.8206499999997,3314.44946,5781.0165,1640.7075399999999,2086.6716699999997,15379.320000000002,15379.320000000002,15379.320000000002,15379.320000000002,119144.07956,119144.07956 +9342000.0,53062.125,50539.383,147574.99836,3977.273190000001,3977.273190000001,3977.273190000001,7836.1325,76193.04920000001,311776.2464,56931.060269999994,86752.09184,47830.632,47830.632,47830.632,45113.8695,53062.125,53062.125,83614.90436,7039.1268,10463.09712,18249.588,5179.4068800000005,6587.23224,30801.777000000002,30801.777000000002,30801.777000000002,30801.777000000002,159540.1225,159540.1225 +9345600.0,63684.047999999995,54922.53,160373.78759999998,5825.6352,5825.6352,5825.6352,9503.0285,79995.28632,322574.49408000003,70682.95416000001,107707.35872,50312.91299999999,50312.91299999999,50312.91299999999,52017.0875,63684.047999999995,63684.047999999995,104902.73780999999,24455.13525,36350.5961,63402.2025,17994.1489,22885.17595,44683.485,44683.485,44683.485,44683.485,191476.70432,191476.70432 +9349200.0,108569.409,75953.844,221785.22448,27655.24707,27655.24707,27655.24707,17877.464500000002,424052.28128000005,350479.01759999996,124491.92658000001,189701.98336,59218.029,59218.029,59218.029,65262.78850000001,108569.409,108569.409,239419.42387999996,35036.9064,52079.549759999994,90836.424,25780.24224,32787.62352,100252.323,100252.323,100252.323,100252.323,326432.02306,326432.02306 +9352800.0,430584.62399999995,200063.376,584185.05792,130061.72993,130061.72993,130061.72993,191536.534,1519108.70152,674654.97152,894102.1028100001,1362441.2995200001,257225.913,257225.913,257225.913,187674.6025,430584.62399999995,430584.62399999995,1351828.68184,225078.68115,334561.39765999996,583537.3215,165613.44934,210629.18557,449587.14599999995,449587.14599999995,449587.14599999995,449587.14599999995,1294624.4361599998,1294624.4361599998 +9356400.0,293175.201,401126.592,1171289.64864,201941.25919,201941.25919,201941.25919,504336.94499999995,1684296.6697599997,566534.1446400001,1145613.82341,1745697.25472,432900.7739999999,432900.7739999999,432900.7739999999,391304.48,293175.201,293175.201,293006.0562,534027.73905,793789.3800199999,1384516.3605,392938.92898,499744.47679,386983.188,386983.188,386983.188,386983.188,881480.10434,881480.10434 +9360000.0,832292.286,249694.002,729106.48584,167551.03717,167551.03717,167551.03717,177020.109,763572.4897599999,830611.1436800001,669526.52424,1020230.8940800001,379724.93700000003,379724.93700000003,379724.93700000003,175981.337,832292.286,832292.286,254937.93649999995,209980.593,312119.3012,544394.13,154504.2388,196500.35739999998,769998.3119999999,769998.3119999999,769998.3119999999,769998.3119999999,2502425.4732399997,2502425.4732399997 +9363600.0,362609.49,326045.007,952051.4204399999,170847.24063000001,170847.24063000001,170847.24063000001,156224.29200000002,244484.10144,1431498.3334400002,89264.91567000002,136022.72864000002,292989.339,292989.339,292989.339,201488.9275,362609.49,362609.49,125840.50426999999,354538.8711,526993.58124,919174.851,260870.57676,331778.35098,92533.413,92533.413,92533.413,92533.413,1090245.8666,1090245.8666 +9367200.0,35522.97,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,35522.97,35522.97,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,106805.72979999999,106805.72979999999 +9370800.0,30166.311,86439.546,252403.47432,97160.79824,97160.79824,97160.79824,124996.0495,79062.45728,27341.744640000004,53062.848509999996,80857.67392,17909.523,17909.523,17909.523,60120.784499999994,30166.311,30166.311,11445.71246,31846.466249999994,47337.21649999999,82564.91249999999,23432.708499999997,29802.001749999996,20891.298,20891.298,20891.298,20891.298,90700.04174,90700.04174 +9374400.0,26915.501999999997,7559.901,22074.910920000002,83436.22507,83436.22507,83436.22507,87018.057,84553.31288,23133.34976,41791.599149999995,63682.436799999996,33090.191999999995,33090.191999999995,33090.191999999995,29085.003499999995,26915.501999999997,26915.501999999997,9718.056659999998,26936.4933,40038.935719999994,69835.353,19819.93828,25207.23694,20759.340000000004,20759.340000000004,20759.340000000004,20759.340000000004,80925.94268,80925.94268 +9378000.0,14591.982,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14591.982,14591.982,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43873.22588,43873.22588 +9381600.0,20971.458,4620.795,13492.7214,56724.84356000001,56724.84356000001,56724.84356000001,51315.628,66711.488,15936.305920000003,29061.92163,44284.83296000001,9249.288,9249.288,9249.288,17829.9695,20971.458,20971.458,11900.555679999998,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13295.613000000001,13295.613000000001,13295.613000000001,13295.613000000001,63054.18371999999,63054.18371999999 +9385200.0,10261.158,3203.478,9354.15576,136590.77508999998,136590.77508999998,136590.77508999998,54309.19899999999,25692.233199999995,33638.19648,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,10261.158,10261.158,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,30851.881719999998,30851.881719999998 +9388800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +9392400.0,59887.716,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,72093.01296,22619.26976,55421.10084,84451.20128000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,59887.716,59887.716,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,39403.229999999996,39403.229999999996,39403.229999999996,39403.229999999996,180062.39943999998,180062.39943999998 +9396000.0,57597.19500000001,10411.305,30401.010599999998,143533.36888000002,143533.36888000002,143533.36888000002,125591.28399999999,88910.79968,40097.804800000005,84702.58944,129070.61248000001,22373.664,22373.664,22373.664,44862.503,57597.19500000001,57597.19500000001,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,45838.08900000001,45838.08900000001,45838.08900000001,45838.08900000001,173175.5663,173175.5663 +9399600.0,77732.74799999999,10544.784,30790.769279999997,145640.15147,145640.15147,145640.15147,127201.42749999999,91918.48144,40611.8848,91733.51901,139784.40992,23735.493,23735.493,23735.493,45437.66499999999,77732.74799999999,77732.74799999999,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,52963.30500000001,52963.30500000001,52963.30500000001,52963.30500000001,233716.46231999996,233716.46231999996 +9403200.0,93151.83,9350.985,27304.8762,129824.92105000002,129824.92105000002,129824.92105000002,120606.8395,113480.42136000001,35985.208320000005,93714.92025000001,142803.68800000002,25774.929,25774.929,25774.929,41894.3385,93151.83,93151.83,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,58663.191000000006,58663.191000000006,58663.191000000006,58663.191000000006,280076.5022,280076.5022 +9406800.0,86071.515,18026.900999999998,52638.550919999994,111362.38762000001,111362.38762000001,111362.38762000001,93388.3895,94166.85224,32002.203520000003,56832.040440000004,86601.20448000001,28435.302000000003,28435.302000000003,28435.302000000003,33359.297999999995,86071.515,86071.515,12525.494929999999,33983.78489999999,50514.16915999999,88106.109,25005.352839999996,31802.109819999998,29949.885000000002,29949.885000000002,29949.885000000002,29949.885000000002,258788.3551,258788.3551 +9410400.0,17277.864,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17277.864,17277.864,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51948.777760000004,51948.777760000004 +9414000.0,9261.369,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,9261.369,9261.369,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,27845.849459999998,27845.849459999998 +9417600.0,6141.644999999999,6344.184,18525.01728,12808.83538,12808.83538,12808.83538,11271.011499999999,9780.68016,3598.5164800000002,6336.15822,9655.098240000001,2179.653,2179.653,2179.653,4026.1234999999997,6141.644999999999,6141.644999999999,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,18465.879299999997,18465.879299999997 +9421200.0,6745.176000000001,12098.759999999998,35328.379199999996,7764.265740000001,7764.265740000001,7764.265740000001,6440.577499999999,32556.27136,17120.659200000002,3620.65977,5517.19584,2095.089,2095.089,2095.089,2300.6409999999996,6745.176000000001,6745.176000000001,24418.989529999995,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,20280.495840000003,20280.495840000003 +9424800.0,13799.73,18613.757999999998,54352.17335999999,2803.46077,2803.46077,2803.46077,1610.1435,46729.83456,38235.61664,14937.968009999999,22762.61792,3054.405,3054.405,3054.405,575.162,13799.73,13799.73,33215.743599999994,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,1973.16,1973.16,1973.16,1973.16,41491.1882,41491.1882 +9428400.0,18411.486,18916.923,55237.41516,3134.36805,3134.36805,3134.36805,1610.1435,49956.27104000001,40078.78656,25913.27844,39486.90048,12461.613000000001,12461.613000000001,12461.613000000001,575.162,18411.486,18411.486,33825.223509999996,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2851.995,2851.995,2851.995,2851.995,55357.20124,55357.20124 +9432000.0,32795.499,33938.643000000004,99100.83756000001,5583.27891,5583.27891,5583.27891,3220.2905,56955.14312,175723.34784,37824.82158,57637.82336000001,29501.283000000003,29501.283000000003,29501.283000000003,3834.9185,32795.499,32795.499,75323.84002,2462.4566999999997,3660.24428,6384.147,1811.88172,2304.37306,9905.193000000001,9905.193000000001,9905.193000000001,9905.193000000001,98605.13366,98605.13366 +9435600.0,51911.043000000005,49531.557,144632.14644,14828.137390000002,14828.137390000002,14828.137390000002,15451.408,84170.30232,318455.39136,54108.08466,82450.41472,51432.69899999999,51432.69899999999,51432.69899999999,33737.087999999996,51911.043000000005,51911.043000000005,87961.34542,5912.8785,8789.0194,15329.685,4350.7106,5533.2863,24358.035,24358.035,24358.035,24358.035,156079.20262,156079.20262 +9439200.0,501959.652,319302.31200000003,932362.75104,141288.83307000002,141288.83307000002,141288.83307000002,331397.1045,702624.88904,382046.2713600001,465578.09823,709452.34016,188046.99599999998,188046.99599999998,188046.99599999998,515476.7205,501959.652,501959.652,525098.1329099999,115929.83655,172320.39902,300558.83550000004,85301.45998,108487.42729,382434.498,382434.498,382434.498,382434.498,1509225.35368,1509225.35368 +9442800.0,583834.872,459867.19200000004,1342812.2006400002,242658.12934,242658.12934,242658.12934,530277.7585,780481.2636800001,769725.0969600001,543727.96191,828537.8467199999,325922.127,325922.127,325922.127,128307.242,583834.872,583834.872,95218.01445,235603.29465,350205.39106,610823.3565,173357.48593999998,220478.14487,461845.03800000006,461845.03800000006,461845.03800000006,461845.03800000006,1755396.84848,1755396.84848 +9446400.0,349660.43700000003,289450.137,845194.40004,146030.70053000003,146030.70053000003,146030.70053000003,220105.27700000003,434134.42808,420208.23040000006,512226.45558000007,780535.5513600002,324672.186,324672.186,324672.186,67567.451,349660.43700000003,349660.43700000003,131405.22212999998,76605.8634,113868.46856000001,198607.79400000002,56366.78344000001,71687.95612,212351.364,212351.364,212351.364,212351.364,1051312.38058,1051312.38058 +9450000.0,191440.95,43149.042,125995.20263999999,166539.95556,166539.95556,166539.95556,226050.02000000002,255940.49951999998,341868.94464,169750.79436000003,258667.87712000005,165739.79700000002,165739.79700000002,165739.79700000002,151885.4645,191440.95,191440.95,72446.48839999999,60234.196050000006,89533.29882,156162.7305,44320.470180000004,56367.30939000001,129701.71500000003,129701.71500000003,129701.71500000003,129701.71500000003,575599.123,575599.123 +9453600.0,53233.27500000001,49934.529,145808.82468,116562.25218000001,116562.25218000001,116562.25218000001,98218.8235,352353.89463999995,31358.54272,162601.83408,247774.22336000003,20780.900999999998,20780.900999999998,20780.900999999998,35943.9675,53233.27500000001,53233.27500000001,13173.368259999997,42700.3488,63470.641919999995,110704.60800000001,31419.02208,39959.09184,48602.343,48602.343,48602.343,48602.343,160054.7135,160054.7135 +9457200.0,21487.191,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,59948.20736000001,27245.94624,57235.543470000004,87216.06624,15032.913,15032.913,15032.913,30483.495,21487.191,21487.191,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64604.82094,64604.82094 +9460800.0,19767.168,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,50608.49392,23133.34976,42846.37455,65289.7136,12763.794,12763.794,12763.794,25882.213000000003,19767.168,19767.168,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17780.91,17780.91,17780.91,17780.91,59433.28512,59433.28512 +9464400.0,14548.568999999998,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32834.54286,50033.58912,10211.037,10211.037,10211.037,20705.7725,14548.568999999998,14548.568999999998,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43742.69745999999,43742.69745999999 +9468000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +9471600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +9475200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +9478800.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +9482400.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +9486000.0,34005.356999999996,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,74581.16022,113647.48224000001,22407.549,22407.549,22407.549,45437.66499999999,34005.356999999996,34005.356999999996,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,102242.77337999998,102242.77337999998 +9489600.0,33983.994000000006,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,33983.994000000006,33983.994000000006,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,28180.461000000003,28180.461000000003,28180.461000000003,28180.461000000003,102178.54196,102178.54196 +9493200.0,23598.729,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23598.729,23598.729,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70953.51186,70953.51186 +9496800.0,16877.643,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16877.643,16877.643,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,50745.44662,50745.44662 +9500400.0,8793.471000000001,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8793.471000000001,8793.471000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26439.03614,26439.03614 +9504000.0,3583.017,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3583.017,3583.017,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10772.937779999998,10772.937779999998 +9507600.0,2768.721,1506.897,4400.1392399999995,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2768.721,2768.721,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,8324.62114,8324.62114 +9511200.0,4108.086,7961.093999999999,23246.39448,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,11896.827519999999,4402.0044800000005,905.16615,1379.3008,773.7150000000001,773.7150000000001,773.7150000000001,575.162,4108.086,4108.086,5607.820269999999,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,12351.64524,12351.64524 +9514800.0,6160.14,17583.555,51343.980599999995,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,40492.118879999995,29228.597760000004,905.16615,1379.3008,1381.4370000000001,1381.4370000000001,1381.4370000000001,575.162,6160.14,6160.14,36975.667689999995,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,845.583,845.583,845.583,845.583,18521.4876,18521.4876 +9518400.0,14101.125,20227.674,59064.808079999995,4654.77353,4654.77353,4654.77353,3220.2905,51920.07616,43777.312000000005,20229.84159,30826.42528,9171.972,9171.972,9171.972,1150.3204999999998,14101.125,14101.125,36745.86513,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,3468.951,3468.951,3468.951,3468.951,42397.3825,42397.3825 +9522000.0,25854.569999999996,25939.419,75743.10347999999,13873.42528,13873.42528,13873.42528,11271.011499999999,62557.77632,109941.1488,36225.1932,55200.2944,24782.345999999998,24782.345999999998,24782.345999999998,4026.1234999999997,25854.569999999996,25854.569999999996,61965.62827,4228.9776,6286.03584,10964.016,3111.69216,3957.48768,7152.537,7152.537,7152.537,7152.537,77736.07379999998,77736.07379999998 +9525600.0,343019.361,137549.856,401645.57951999997,108789.62666000001,108789.62666000001,108789.62666000001,146044.8815,454728.28288,253631.04576,263101.20417,400916.12064000004,126151.40400000001,126151.40400000001,126151.40400000001,179715.01450000002,343019.361,343019.361,140980.83544999998,47024.9226,69898.77384,121916.466,34601.05416,44006.038680000005,205488.237,205488.237,205488.237,205488.237,1031344.87874,1031344.87874 +9529200.0,444186.53099999996,265933.07700000005,776524.58484,203174.95352,203174.95352,203174.95352,274975.2145,518567.61215999996,403480.66559999995,279026.10057,425182.62944000005,208105.776,208105.776,208105.776,63568.9005,444186.53099999996,444186.53099999996,56894.54628,78239.2041,116296.29844,202842.381,57568.59956,73216.44038,261887.95500000002,261887.95500000002,261887.95500000002,261887.95500000002,1335520.8365399998,1335520.8365399998 +9532800.0,286344.86100000003,165610.527,483582.73883999995,140399.05781,140399.05781,140399.05781,150970.39299999998,298154.12192,341659.9072,321985.83522,490645.08224,164240.12699999998,164240.12699999998,164240.12699999998,52510.3145,286344.86100000003,286344.86100000003,88198.57462,42525.34019999999,63210.50567999999,110250.88199999998,31290.250319999996,39795.31836,166093.46099999998,166093.46099999998,166093.46099999998,166093.46099999998,860943.5487400001,860943.5487400001 +9536400.0,164039.61,28434.279000000002,83028.09468000001,161884.75061000002,161884.75061000002,161884.75061000002,158841.4695,191965.10992,242607.58208000005,129338.67219,197087.50048000002,126579.47400000002,126579.47400000002,126579.47400000002,81615.5935,164039.61,164039.61,25927.732609999995,49689.263699999996,73859.10307999999,128824.01699999999,36561.48292,46499.33566,116210.16300000002,116210.16300000002,116210.16300000002,116210.16300000002,493212.4273999999,493212.4273999999 +9540000.0,48558.642,47819.687999999995,139633.48896,114156.98800000001,114156.98800000001,114156.98800000001,98218.8235,359309.70256,31358.54272,156192.99885,238008.3792,21008.877,21008.877,21008.877,35084.777,48558.642,48558.642,13173.368259999997,43867.02825,65204.8173,113729.33250000002,32277.467700000005,41050.87335000001,44886.084,44886.084,44886.084,44886.084,145999.65028,145999.65028 +9543600.0,21450.525,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,60635.85567999999,27245.94624,59090.22,90042.24,15032.913,15032.913,15032.913,30483.495,21450.525,21450.525,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64494.578499999996,64494.578499999996 +9547200.0,19416.288,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,49709.268240000005,23133.34976,42620.369190000005,64945.32448000001,12763.794,12763.794,12763.794,25882.213000000003,19416.288,19416.288,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,58378.30592,58378.30592 +9550800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32684.56653,49805.05376,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +9554400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +9558000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +9561600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +9565200.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +9568800.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +9572400.0,32710.221000000005,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,73514.37744,112021.90848000001,22407.549,22407.549,22407.549,45437.66499999999,32710.221000000005,32710.221000000005,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,98348.73114,98348.73114 +9576000.0,33693.695999999996,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,33693.695999999996,33693.695999999996,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,101305.71264,101305.71264 +9579600.0,23495.31,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23495.31,23495.31,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70642.5654,70642.5654 +9583200.0,17102.934,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17102.934,17102.934,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51422.82156,51422.82156 +9586800.0,8914.842,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8914.842,8914.842,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26803.95828,26803.95828 +9590400.0,3689.5769999999998,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3689.5769999999998,3689.5769999999998,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,11093.328179999999,11093.328179999999 +9594000.0,3510.129,4927.539,14388.413879999998,7319.33334,7319.33334,7319.33334,6440.577499999999,5713.34208,2101.2761600000003,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,3510.129,3510.129,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,10553.787859999999,10553.787859999999 +9597600.0,4717.977,10449.273,30511.87716,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,21494.3536,17990.08,905.16615,1379.3008,1134.1889999999999,1134.1889999999999,1134.1889999999999,575.162,4717.977,4717.977,21735.764700000003,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,14185.38418,14185.38418 +9601200.0,7239.8730000000005,19032.285,55574.2722,2030.4416000000003,2030.4416000000003,2030.4416000000003,1610.1435,48213.4924,39184.79872,3631.76877,5534.12384,3053.664,3053.664,3053.664,575.162,7239.8730000000005,7239.8730000000005,37088.91432999999,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2054.646,2054.646,2054.646,2054.646,21767.88482,21767.88482 +9604800.0,17254.923,21381.557999999997,62434.149359999996,4744.948450000001,4744.948450000001,4744.948450000001,3220.2905,54957.99744,57061.99872000001,26190.568740000002,39909.43808,14313.864000000001,14313.864000000001,14313.864000000001,1150.3204999999998,17254.923,17254.923,39144.2129,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,3668.6669999999995,3668.6669999999995,3668.6669999999995,3668.6669999999995,51879.80181999999,51879.80181999999 +9608400.0,52806.795,35852.945999999996,104690.60231999999,16250.520990000003,16250.520990000003,16250.520990000003,11271.011499999999,217436.81888,176053.37088,45723.639359999994,69674.11712,37630.065,37630.065,37630.065,4026.1234999999997,52806.795,52806.795,119893.26154,4622.435100000001,6870.87884,11984.091,3401.19916,4325.686180000001,33892.187999999995,33892.187999999995,33892.187999999995,33892.187999999995,158772.43029999998,158772.43029999998 +9612000.0,202747.026,86052.01800000001,251271.89256,111831.10917000001,111831.10917000001,111831.10917000001,90168.099,695606.2544,205896.28608000002,244822.39277999997,373062.69376,77349.729,77349.729,77349.729,32974.333,202747.026,202747.026,886458.04091,34722.711449999995,51612.52417999999,90021.8445,25549.05682,32493.59911,167638.701,167638.701,167638.701,167638.701,609592.72484,609592.72484 +9615600.0,148694.904,209400.25799999997,611448.75336,176267.43871,176267.43871,176267.43871,149743.45400000003,948248.63728,134160.28992,621041.5400700001,946349.0134400001,147384.303,147384.303,147384.303,53489.9085,148694.904,148694.904,117014.7459,121511.64779999999,180617.31352,315030.198,89408.57048,113710.90004000001,202160.373,202160.373,202160.373,202160.373,447076.01136,447076.01136 +9619200.0,361542.42,36863.556000000004,107641.58352,144852.21982000003,144852.21982000003,144852.21982000003,115930.41599999998,252903.84552,122604.54400000002,167809.39035000003,255709.54720000003,85356.897,85356.897,85356.897,41411.5415,361542.42,361542.42,61754.26244,43724.330550000006,64992.708620000005,113359.37550000001,32172.470380000002,40917.33649,170740.086,170740.086,170740.086,170740.086,1087037.5428,1087037.5428 +9622800.0,234282.34500000003,139307.043,406776.56555999996,163211.49328,163211.49328,163211.49328,136862.2955,149824.8204,765252.23104,77156.52105,117571.8416,174933.903,174933.903,174933.903,48888.6265,234282.34500000003,234282.34500000003,59161.13852999999,110050.488,163581.2192,285316.08,80975.42079999999,102985.5184,52954.41900000001,52954.41900000001,52954.41900000001,52954.41900000001,704408.9173,704408.9173 +9626400.0,27613.319999999996,8661.812999999998,25292.493959999996,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,27613.319999999996,27613.319999999996,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,83024.04879999999,83024.04879999999 +9630000.0,23004.798,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,57050.668000000005,27245.94624,47973.77214,73102.89088,16148.151000000002,16148.151000000002,16148.151000000002,30483.495,23004.798,23004.798,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,69167.75932,69167.75932 +9633600.0,20427.96,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,68455.59232,23133.34976,40732.447770000006,62068.49184000001,25784.361,25784.361,25784.361,25882.213000000003,20427.96,20427.96,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,61420.066399999996,61420.066399999996 +9637200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +9640800.0,14173.746,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,52845.97896000001,15936.305920000003,28384.040790000003,43251.871680000004,8792.835,8792.835,8792.835,17829.9695,14173.746,14173.746,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13285.635,13285.635,13285.635,13285.635,42615.72963999999,42615.72963999999 +9644400.0,9690.834,3203.478,9354.15576,72193.90013000001,72193.90013000001,72193.90013000001,38643.472,25692.233199999995,26320.341120000005,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +9648000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +9651600.0,55982.883,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,74597.13488,22619.26976,61041.15843,93015.09856000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,55982.883,55982.883,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,53685.801,53685.801,53685.801,53685.801,168321.86821999997,168321.86821999997 +9655200.0,45043.013999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,88054.36368,40097.804800000005,83883.35381999999,127822.25344,22123.911,22123.911,22123.911,44862.503,45043.013999999996,45043.013999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,44100.335999999996,44100.335999999996,44100.335999999996,44100.335999999996,135429.32876,135429.32876 +9658800.0,56236.914,10544.784,30790.769279999997,144821.90239000003,144821.90239000003,144821.90239000003,127201.42749999999,103092.42208,40611.8848,87323.76765000001,133064.7888,22523.648999999998,22523.648999999998,22523.648999999998,45437.66499999999,56236.914,56236.914,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,50220.267,50220.267,50220.267,50220.267,169085.65475999998,169085.65475999998 +9662400.0,69886.071,12058.454999999998,35210.688599999994,128818.68681000003,128818.68681000003,128818.68681000003,112710.12550000001,119993.97192,35985.208320000005,95373.52293,145331.08256,21550.977000000003,21550.977000000003,21550.977000000003,40261.221,69886.071,69886.071,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,51656.472,51656.472,51656.472,51656.472,210124.12013999998,210124.12013999998 +9666000.0,60250.29,7741.74,22605.8808,107094.43910000002,107094.43910000002,107094.43910000002,93388.3895,72024.14768,29867.297280000003,55609.789619999996,84738.72704,17362.920000000002,17362.920000000002,17362.920000000002,33359.297999999995,60250.29,60250.29,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,28078.86,28078.86,28078.86,28078.86,181152.5386,181152.5386 +9669600.0,17114.148,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17114.148,17114.148,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51456.53832,51456.53832 +9673200.0,8671.335000000001,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8671.335000000001,8671.335000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26071.8139,26071.8139 +9676800.0,4295.601000000001,1151.559,3362.55228,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,4295.601000000001,4295.601000000001,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,12915.440340000001,12915.440340000001 +9680400.0,4352.421,5701.128,16647.29376,7319.33334,7319.33334,7319.33334,6440.577499999999,5675.84344,2056.2982400000005,3620.65977,5517.19584,1512.033,1512.033,1512.033,2300.6409999999996,4352.421,4352.421,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,13086.279139999999,13086.279139999999 +9684000.0,4152.915,9475.695,27669.0294,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,14129.944239999999,513.5360000000001,905.16615,1379.3008,1064.5980000000002,1064.5980000000002,1064.5980000000002,575.162,4152.915,4152.915,14271.35177,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,12486.4311,12486.4311 +9687600.0,5254.455,15214.014,44424.92088,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,36251.87592,15113.90848,945.2793,1440.4256,1330.959,1330.959,1330.959,575.162,5254.455,5254.455,26768.352259999996,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,15798.3947,15798.3947 +9691200.0,8724.096000000001,16276.983,47528.79036,3800.8224100000007,3800.8224100000007,3800.8224100000007,3220.2905,41122.14976,33029.81952,15777.47514,24041.86688,6607.040999999999,6607.040999999999,6607.040999999999,1150.3204999999998,8724.096000000001,8724.096000000001,29038.667449999994,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2653.4730000000004,2653.4730000000004,2653.4730000000004,2653.4730000000004,26230.44864,26230.44864 +9694800.0,31920.603000000003,17197.902000000002,50217.87384,14368.634390000001,14368.634390000001,14368.634390000001,11271.011499999999,154860.90936000002,36307.822080000005,25274.283929999998,38513.194559999996,14972.859,14972.859,14972.859,4026.1234999999997,31920.603000000003,31920.603000000003,60266.12058999999,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,21899.232000000004,21899.232000000004,21899.232000000004,21899.232000000004,95974.61302,95974.61302 +9698400.0,135074.877,58972.842000000004,172200.69864000002,106923.05954000002,106923.05954000002,106923.05954000002,90168.099,471899.41296,65720.75968,155224.54038000002,236532.63296000005,43582.284,43582.284,43582.284,32949.0315,135074.877,135074.877,639721.1111199999,32674.525199999996,48568.05967999999,84711.73199999999,24041.99632,30576.90136,116763.456,116763.456,116763.456,116763.456,406125.13018,406125.13018 +9702000.0,137186.274,199689.83400000003,583094.31528,175297.56585,175297.56585,175297.56585,149743.45400000003,827717.5663999999,96572.69696000002,584139.57693,890117.45056,110281.88399999999,110281.88399999999,110281.88399999999,53489.9085,137186.274,137186.274,97444.80394999999,119434.2975,177529.49899999998,309644.47500000003,87880.051,111766.9105,190447.992,190447.992,190447.992,190447.992,412473.39716,412473.39716 +9705600.0,388229.84699999995,31215.839999999997,91150.25279999999,143699.83188,143699.83188,143699.83188,116281.95599999999,231178.15784000003,143885.552,184146.72045,280604.5264,95572.68000000001,95572.68000000001,95572.68000000001,41411.5415,388229.84699999995,388229.84699999995,73345.61208,46945.39275,69780.5591,121710.2775,34542.5359,43931.61445,197258.724,197258.724,197258.724,197258.724,1167277.7399799998,1167277.7399799998 +9709200.0,227273.08500000002,221946.22499999998,648082.977,161349.15082,161349.15082,161349.15082,136862.2955,154500.48792,745018.4992,79356.7551,120924.5792,161930.553,161930.553,161930.553,48888.6265,227273.08500000002,227273.08500000002,70994.75825,122694.9849,182376.24916,318098.109,90279.27284,114818.26982,55844.916000000005,55844.916000000005,55844.916000000005,55844.916000000005,683334.4089,683334.4089 +9712800.0,26804.666999999998,9295.562999999998,27143.043959999995,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,26804.666999999998,26804.666999999998,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,80592.69877999999,80592.69877999999 +9716400.0,30111.182999999997,51586.455,150632.4486,96981.18507,96981.18507,96981.18507,94222.954,59525.30376,27321.192320000002,47973.77214,73102.89088,16665.345,16665.345,16665.345,30483.495,30111.182999999997,30111.182999999997,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,21005.913,21005.913,21005.913,21005.913,90534.29022,90534.29022 +9720000.0,37551.678,17187.288,50186.88096,82355.96974,82355.96974,82355.96974,73050.908,83110.57591999999,32520.613760000004,40732.447770000006,62068.49184000001,31562.823000000004,31562.823000000004,31562.823000000004,27836.829999999998,37551.678,37551.678,9718.056659999998,26025.36075,38684.6103,67473.1575,19149.5247,24354.59685,20169.837,20169.837,20169.837,20169.837,112905.37851999998,112905.37851999998 +9723600.0,18486.978,6447.407999999999,18826.43136,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38788.79528,18703.34016,32585.957250000003,49654.79200000001,10345.191,10345.191,10345.191,20705.7725,18486.978,18486.978,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14437.698,14437.698,14437.698,14437.698,55584.180519999994,55584.180519999994 +9727200.0,30046.670999999995,8320.827,24296.81484,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,83216.20399999998,15936.305920000003,37378.20597,56957.266240000004,10901.664,10901.664,10901.664,17829.9695,30046.670999999995,30046.670999999995,15833.572429999998,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,15181.851,15181.851,15181.851,15181.851,90340.32413999998,90340.32413999998 +9730800.0,10132.062,3203.478,9354.15576,136400.49852,136400.49852,136400.49852,62529.8765,26958.187519999996,33476.8896,21723.97311,33103.19712,9271.065,9271.065,9271.065,13803.846000000001,10132.062,10132.062,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,30463.733079999998,30463.733079999998 +9734400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +9738000.0,128555.37899999999,6092.9220000000005,17791.33224,81479.60106000002,81479.60106000002,81479.60106000002,70846.3665,107421.00088,22619.26976,114174.75195,173980.5744,17463.506999999998,17463.506999999998,17463.506999999998,25307.054500000002,128555.37899999999,128555.37899999999,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,100683.951,100683.951,100683.951,100683.951,386523.17285999993,386523.17285999993 +9741600.0,67548.384,15782.460000000003,46084.783200000005,143321.48875000002,143321.48875000002,143321.48875000002,125591.28399999999,140635.0548,41572.784640000005,109088.96480999999,166230.80352,30132.521999999997,30132.521999999997,30132.521999999997,45028.34,67548.384,67548.384,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,52056.951,52056.951,52056.951,52056.951,203095.47456,203095.47456 +9745200.0,94257.807,25591.295999999995,74726.58432,146909.74727,146909.74727,146909.74727,129226.6815,174460.62096,74807.0176,123885.84369,188778.42848,38157.972,38157.972,38157.972,50053.811499999996,94257.807,94257.807,17060.589,45318.54015,67362.37326,117492.51150000001,33345.493740000005,42409.20177000001,59513.637,59513.637,59513.637,59513.637,283401.80637999997,283401.80637999997 +9748800.0,115490.769,69580.944,203176.35648000002,132395.53305,132395.53305,132395.53305,126160.90550000002,182769.72624,106361.83552000001,140013.3924,213353.74080000003,52071.132,52071.132,52071.132,45568.9885,115490.769,115490.769,15116.978629999998,40835.664000000004,60698.937600000005,105870.24,30046.982400000004,38214.11520000001,63787.74900000001,63787.74900000001,63787.74900000001,63787.74900000001,347242.24546,347242.24546 +9752400.0,91131.387,32499.477,94898.47283999999,110425.7748,110425.7748,110425.7748,93388.3895,89582.27704,93328.24832000001,65768.60787,100218.83104,44334.515999999996,44334.515999999996,44334.515999999996,33359.297999999995,91131.387,91131.387,12525.494929999999,33982.6509,50512.48356,88103.16900000001,25004.51844,31801.04862,29982.006,29982.006,29982.006,29982.006,274001.70358,274001.70358 +9756000.0,18797.997000000003,9425.619,27522.80748,75023.18098,75023.18098,75023.18098,66015.9325,44789.734000000004,21077.05152,37111.78317,56551.288640000006,11808.033,11808.033,11808.033,23581.572,18797.997000000003,18797.997000000003,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,56519.31098,56519.31098 +9759600.0,11049.819,8606.871,25132.063319999997,36596.67484,36596.67484,36596.67484,32202.8945,31538.890799999997,10596.86976,18103.308510000003,27585.993920000004,6359.013000000001,6359.013000000001,6359.013000000001,11503.205,11049.819,11049.819,11512.91778,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,33223.12246,33223.12246 +9763200.0,6710.969999999999,13406.202000000001,39146.109840000005,12808.83538,12808.83538,12808.83538,11271.011499999999,31936.19184,14088.272640000001,6336.15822,9655.098240000001,2741.463,2741.463,2741.463,4026.1234999999997,6710.969999999999,6710.969999999999,24794.751539999997,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,20177.649799999996,20177.649799999996 +9766800.0,7238.679,14449.767,42193.31964,7319.33334,7319.33334,7319.33334,6440.577499999999,37445.76464,26155.61792,9227.41554,14060.82368,4849.893,4849.893,4849.893,2300.6409999999996,7238.679,7238.679,25332.360429999997,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,2500.689,2500.689,2500.689,2500.689,21764.294859999998,21764.294859999998 +9770400.0,8124.474,13720.767,40064.63964,1913.6977200000001,1913.6977200000001,1913.6977200000001,1610.1435,33320.68648,25703.782400000004,14027.49369,21375.22848,6959.169,6959.169,6959.169,575.162,8124.474,8124.474,24004.89182,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2001.897,2001.897,2001.897,2001.897,24427.58516,24427.58516 +9774000.0,11397.015,13218.03,38596.647600000004,2324.31595,2324.31595,2324.31595,1610.1435,31937.7628,24196.956800000004,15800.316209999999,24076.672319999998,11972.954999999998,11972.954999999998,11972.954999999998,575.162,11397.015,11397.015,22973.31036,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,1915.269,1915.269,1915.269,1915.269,34267.02509999999,34267.02509999999 +9777600.0,16934.556,17259.384,50397.40128,4168.46551,4168.46551,4168.46551,3220.2905,36249.84944,46911.05664,21624.368850000003,32951.419200000004,14880.696,14880.696,14880.696,2435.7200000000003,16934.556,16934.556,37715.71986,1956.0203999999999,2907.46736,5071.164,1439.2446400000001,1830.44872,3388.1939999999995,3388.1939999999995,3388.1939999999995,3388.1939999999995,50916.565039999994,50916.565039999994 +9781200.0,41890.716,29925.618000000002,87382.80456,15380.379410000001,15380.379410000001,15380.379410000001,11271.011499999999,194446.77704000002,111542.97856000002,34750.39134,52952.97728000001,18771.912,18771.912,18771.912,6429.094,41890.716,41890.716,93820.56996000001,4933.22805,7332.847619999999,12789.850499999999,3629.88138,4616.526989999999,33020.019,33020.019,33020.019,33020.019,125951.41944,125951.41944 +9784800.0,144891.94199999998,70921.992,207092.21663999997,107230.97132000001,107230.97132000001,107230.97132000001,90168.099,523414.68952,125689.52448000001,196839.36636000004,299945.70112000004,58232.174999999996,58232.174999999996,58232.174999999996,33515.349,144891.94199999998,144891.94199999998,681580.87686,32633.267849999997,48506.73394,84604.76849999999,24011.639059999998,30538.29263,138751.56600000002,138751.56600000002,138751.56600000002,138751.56600000002,435641.77228,435641.77228 +9788400.0,138947.952,193913.109,566226.27828,175216.14957000004,175216.14957000004,175216.14957000004,149743.45400000003,816825.25976,106810.23296000001,602619.85728,918277.87776,119452.938,119452.938,119452.938,56311.741500000004,138947.952,138947.952,101421.93320999999,129098.31434999999,191894.28453999996,334699.33349999995,94990.85845999999,120810.52132999999,192679.398,192679.398,192679.398,192679.398,417770.1756799999,417770.1756799999 +9792000.0,375806.26800000004,42848.751,125118.35291999999,141024.97904,141024.97904,141024.97904,116615.3345,226293.61688,103745.65248,178589.55912,272136.47104,98803.365,98803.365,98803.365,41411.5415,375806.26800000004,375806.26800000004,75978.60127,48049.5645,71421.82179999999,124572.945,35354.9882,44964.9011,199047.73200000002,199047.73200000002,199047.73200000002,199047.73200000002,1129924.17912,1129924.17912 +9795600.0,172330.824,178559.157,521392.73844,159771.96477,159771.96477,159771.96477,136862.2955,125175.8448,521247.1673600001,76939.06479,117240.47968,112924.74600000001,112924.74600000001,112924.74600000001,48888.6265,172330.824,172330.824,55816.41363999999,77226.1209,114790.43156,200215.869,56823.17044,72268.39462,44549.43,44549.43,44549.43,44549.43,518141.34416,518141.34416 +9799200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +9802800.0,21522.9,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15453.678,15453.678,15453.678,30483.495,21522.9,21522.9,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64712.186,64712.186 +9806400.0,19120.947,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,60704.73264,23133.34976,40732.447770000006,62068.49184000001,20453.670000000002,20453.670000000002,20453.670000000002,25882.213000000003,19120.947,19120.947,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,57490.31398,57490.31398 +9810000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +9813600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,41369.427039999995,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +9817200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,15152.01024,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +9820800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +9824400.0,36364.908,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,62731.37615999999,22619.26976,42537.89694,64819.652480000004,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,36364.908,36364.908,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,33219.104999999996,33219.104999999996,33219.104999999996,33219.104999999996,109337.15672,109337.15672 +9828000.0,39247.89,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,88406.31128,40097.804800000005,80442.33624,122578.79808,22123.911,22123.911,22123.911,44862.503,39247.89,39247.89,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,44524.47,44524.47,44524.47,44524.47,118005.32259999998,118005.32259999998 +9831600.0,46925.838,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,91319.82304,40611.8848,89816.32296000002,136862.96832,22407.549,22407.549,22407.549,45437.66499999999,46925.838,46925.838,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,50739.792,50739.792,50739.792,50739.792,141090.35292,141090.35292 +9835200.0,58709.11200000001,10266.458999999999,29978.060279999998,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,116601.39912000002,35985.208320000005,89627.43615000001,136575.14080000002,20508.966,20508.966,20508.966,40261.221,58709.11200000001,58709.11200000001,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,56159.526,56159.526,56159.526,56159.526,176518.73008,176518.73008 +9838800.0,59901.231,7741.74,22605.8808,106632.20513000002,106632.20513000002,106632.20513000002,93388.3895,69605.66352,39674.38784,55270.05708,84221.03936,17392.488,17392.488,17392.488,33359.297999999995,59901.231,59901.231,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,28719.747,28719.747,28719.747,28719.747,180103.03454,180103.03454 +9842400.0,17261.091,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17261.091,17261.091,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51898.346939999996,51898.346939999996 +9846000.0,8785.761,2760.8759999999997,8061.757919999999,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8785.761,8785.761,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26415.85474,26415.85474 +9849600.0,4946.139,6027.407999999999,17600.03136,12808.83538,12808.83538,12808.83538,11271.011499999999,11073.68536,3598.5164800000002,6336.15822,9655.098240000001,2049.837,2049.837,2049.837,4026.1234999999997,4946.139,4946.139,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,14871.391259999999,14871.391259999999 +9853200.0,4695.753,10144.044,29620.60848,7319.33334,7319.33334,7319.33334,6440.577499999999,20928.38168,14030.83712,3620.65977,5517.19584,1979.9759999999999,1979.9759999999999,1979.9759999999999,2300.6409999999996,4695.753,4695.753,22280.11721,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,14118.56402,14118.56402 +9856800.0,4941.399,15997.635,46713.0942,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,33918.70247999999,27851.396480000003,905.16615,1379.3008,1486.9650000000001,1486.9650000000001,1486.9650000000001,575.162,4941.399,4941.399,28679.370069999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,1183.407,1183.407,1183.407,1183.407,14857.139659999999,14857.139659999999 +9860400.0,7928.619000000001,17128.989,50016.647880000004,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,42448.7408,35885.721600000004,9744.85344,14849.30048,9198.822,9198.822,9198.822,575.162,7928.619000000001,7928.619000000001,31006.342249999994,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2599.839,2599.839,2599.839,2599.839,23838.71446,23838.71446 +9864000.0,11893.931999999999,17418.516000000003,50862.06672,4007.27316,4007.27316,4007.27316,3220.2905,43903.134399999995,63172.41344,22070.139210000005,33630.68832000001,16333.743,16333.743,16333.743,1150.3204999999998,11893.931999999999,11893.931999999999,44176.93995,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,3019.4939999999997,3019.4939999999997,3019.4939999999997,3019.4939999999997,35761.088879999996,35761.088879999996 +9867600.0,39684.46799999999,36390.693,106260.82355999999,14527.91791,14527.91791,14527.91791,11271.011499999999,168706.504,159886.97472000003,30427.753859999997,46366.10112,31864.466999999997,31864.466999999997,31864.466999999997,4026.1234999999997,39684.46799999999,39684.46799999999,100036.57143999999,4725.661499999999,7024.316599999999,12251.715,3477.1533999999997,4422.285699999999,27302.271,27302.271,27302.271,27302.271,119317.96711999999,119317.96711999999 +9871200.0,159918.963,82895.997,242056.31123999998,107170.39751,107170.39751,107170.39751,90168.099,542301.3196,212615.05599999998,184358.15853,280926.71775999997,73799.076,73799.076,73799.076,33994.7335,159918.963,159918.963,676165.2112799999,33005.68965,49060.30906,85570.3065,24285.667940000003,30886.805870000004,137453.57700000002,137453.57700000002,137453.57700000002,137453.57700000002,480823.01541999995,480823.01541999995 +9874800.0,141326.76,207869.124,606977.84208,175033.8095,175033.8095,175033.8095,149743.45400000003,914571.99112,133641.9776,626205.76641,954218.3107200001,137073.6,137073.6,137073.6,68540.276,141326.76,141326.76,97963.24018,122675.30595,182346.99798,318047.0895,90264.79302,114799.85421,199227.024,199227.024,199227.024,199227.024,424922.45839999994,424922.45839999994 +9878400.0,459180.46499999997,46657.896,136241.05632,145060.03809000002,145060.03809000002,145060.03809000002,118016.11850000001,304133.36504,217668.80512000003,214974.13749000002,327579.63808000006,133598.421,133598.421,133598.421,41709.724,459180.46499999997,459180.46499999997,86361.46246000001,52377.43904999999,77854.86002,135793.36049999998,38539.448979999994,49014.93679,300661.73699999996,300661.73699999996,300661.73699999996,300661.73699999996,1380602.5980999998,1380602.5980999998 +9882000.0,266766.273,191602.81199999998,559480.21104,161614.51889,161614.51889,161614.51889,136862.2955,188808.36800000002,1045071.07776,82795.78272,126165.00224,238100.865,238100.865,238100.865,110729.90599999999,266766.273,266766.273,86161.15963000001,175659.66989999998,261104.00315999993,455413.9589999999,129250.81883999998,164382.75282,69205.959,69205.959,69205.959,69205.959,802077.26082,802077.26082 +9885600.0,30585.045,9961.308,29087.019360000002,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,32007.904640000004,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,30585.045,30585.045,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24242.178,24242.178,24242.178,24242.178,91959.03529999999,91959.03529999999 +9889200.0,31815.765,80479.26000000001,234999.43920000002,96981.18507,96981.18507,96981.18507,103143.075,64578.328720000005,29421.717760000003,47973.77214,73102.89088,17443.134000000002,17443.134000000002,17443.134000000002,30483.495,31815.765,31815.765,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,21202.122000000003,21202.122000000003,21202.122000000003,21202.122000000003,95659.40009999998,95659.40009999998 +9892800.0,41672.709,15147.402,44230.41384,82516.51089,82516.51089,82516.51089,73219.32449999999,88357.34288,38444.34944,40732.447770000006,62068.49184000001,33119.712,33119.712,33119.712,28553.041999999994,41672.709,41672.709,9718.056659999998,26390.2941,39227.05444,68419.281,19418.043560000002,24696.10238,20665.176,20665.176,20665.176,20665.176,125295.94506,125295.94506 +9896400.0,21341.508,7459.200000000001,21780.864,65880.60160000001,65880.60160000001,65880.60160000001,57965.20799999999,41155.648,23056.44992,32585.957250000003,49654.79200000001,11613.056999999999,11613.056999999999,11613.056999999999,20705.7725,21341.508,21341.508,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14590.782,14590.782,14590.782,14590.782,64166.80072,64166.80072 +9900000.0,49160.903999999995,18332.013,53529.47796,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,103305.26088,18855.59488,51460.86792,78416.56064,14998.437000000002,14998.437000000002,14998.437000000002,17829.9695,49160.903999999995,49160.903999999995,58356.300469999995,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,15897.324,15897.324,15897.324,15897.324,147810.45135999998,147810.45135999998 +9903600.0,11637.897,4506.546,13159.11432,136529.27739,136529.27739,136529.27739,76692.756,45298.228639999994,34035.78432,21972.8775,33482.48,16529.904,16529.904,16529.904,29967.164500000003,11637.897,11637.897,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9463.956,9463.956,9463.956,9463.956,34991.276979999995,34991.276979999995 +9907200.0,11421.429,4499.286,13137.91512,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29086.06744,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,11421.429,11421.429,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,34340.42986,34340.42986 +9910800.0,214410.102,37553.297999999995,109655.63016,85605.55135000001,85605.55135000001,85605.55135000001,70846.3665,215334.91527999996,60754.96448000001,188784.02276999998,287670.89184,52914.07800000001,52914.07800000001,52914.07800000001,30237.395999999997,214410.102,214410.102,9502.102089999998,26416.1331,39265.46204,68486.27100000001,19437.05596,24720.282580000003,142068.834,142068.834,142068.834,142068.834,644659.70668,644659.70668 +9914400.0,127669.176,53381.435999999994,155873.79312,148478.5247,148478.5247,148478.5247,126210.238,216524.89119999998,114925.14624,147184.86047999997,224281.69215999998,78238.584,78238.584,78238.584,50569.379,127669.176,127669.176,16844.63443,46181.7936,68645.53024,119730.576,33980.67776,43217.03648,71805.246,71805.246,71805.246,71805.246,383858.65583999996,383858.65583999996 +9918000.0,182679.30899999998,78917.94,230440.3848,152873.68514000002,152873.68514000002,152873.68514000002,143428.9535,247668.04607999997,220008.88640000005,199234.25424,303595.05408000003,138657.62099999998,138657.62099999998,138657.62099999998,87905.66750000001,182679.30899999998,182679.30899999998,17060.589,61359.51285,91205.99194,159080.21850000002,45148.481060000006,57420.383630000004,88406.043,88406.043,88406.043,88406.043,549255.78906,549255.78906 +9921600.0,228105.87900000002,141681.28499999997,413709.35219999996,138241.16009000002,138241.16009000002,138241.16009000002,142287.4775,311568.1172,401326.24064,256223.31798000002,390435.53216000006,188153.568,188153.568,188153.568,96049.98199999999,228105.87900000002,228105.87900000002,71597.13859999999,86793.03899999999,129010.88759999997,225018.98999999996,63862.53239999999,81221.1402,106225.93500000001,106225.93500000001,106225.93500000001,106225.93500000001,685838.34286,685838.34286 +9925200.0,181535.001,88266.387,257737.85004,114290.3619,114290.3619,114290.3619,113221.437,197303.71672,193670.08192000003,135358.92426,206261.21792,110544.348,110544.348,110544.348,35398.0935,181535.001,181535.001,56084.66253,34800.106949999994,51727.56637999999,90222.49949999999,25606.004619999996,32566.026009999994,97927.42499999999,97927.42499999999,97927.42499999999,97927.42499999999,545815.23634,545815.23634 +9928800.0,22855.284,21369.135000000002,62397.8742,75023.18098,75023.18098,75023.18098,66015.9325,82952.0316,53767.33888,41690.879160000004,63528.95872,16720.938,16720.938,16720.938,23581.572,22855.284,22855.284,37946.63352999999,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,18068.19,18068.19,18068.19,18068.19,68718.22056,68718.22056 +9932400.0,19959.258,19343.634,56483.41127999999,37257.93995,37257.93995,37257.93995,32202.8945,61603.018079999994,55164.309120000005,36171.09237,55117.85504,17125.826999999997,17125.826999999997,17125.826999999997,11503.205,19959.258,19959.258,34260.8604,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,10022.349,10022.349,10022.349,10022.349,60010.83572,60010.83572 +9936000.0,21556.107,26410.452,77118.51984000001,13575.863510000001,13575.863510000001,13575.863510000001,11271.011499999999,50803.11776,118300.22016000001,28933.612680000002,44089.314560000006,23910.504,23910.504,23910.504,4026.1234999999997,21556.107,21556.107,58402.885319999994,4402.3742999999995,6543.776119999999,11413.562999999998,3239.2778799999996,4119.75274,7029.450000000001,7029.450000000001,7029.450000000001,7029.450000000001,64812.028379999996,64812.028379999996 +9939600.0,31036.032,41746.95,121901.094,8147.330070000001,8147.330070000001,8147.330070000001,6440.577499999999,52596.45328,234402.38656,36098.26563,55006.88096,40537.824,40537.824,40537.824,4168.8675,31036.032,31036.032,75143.96045,3593.5447499999996,5341.515899999999,9316.5975,2644.1391,3362.84805,12427.431,12427.431,12427.431,12427.431,93315.00287999999,93315.00287999999 +9943200.0,34418.562,40501.461,118264.26612,3108.4462200000007,3108.4462200000007,3108.4462200000007,1610.1435,51057.12856,267973.55136,35731.19046,54447.52832,41020.839,41020.839,41020.839,3777.634,34418.562,34418.562,72983.16415,1850.1817499999997,2750.1467,4796.7675,1361.3682999999999,1731.40465,15493.11,15493.11,15493.11,15493.11,103485.14308,103485.14308 +9946800.0,39800.364,42853.32,125131.69440000001,3342.12934,3342.12934,3342.12934,1610.1435,64909.643599999996,282875.49568000005,42225.19791,64343.15872000001,43152.954,43152.954,43152.954,30249.764999999996,39800.364,39800.364,76371.12612999999,1908.85005,2837.35242,4948.8705,1404.53658,1786.3065900000001,23155.92,23155.92,23155.92,23155.92,119666.42775999999,119666.42775999999 +9950400.0,47209.281,46115.208,134656.40736,5167.3127,5167.3127,5167.3127,6242.684,65836.81368,280366.36096,48189.81321,73432.09632,43291.776,43291.776,43291.776,33861.2645,47209.281,47209.281,75960.98224,4997.392199999999,7428.222479999999,12956.202,3677.09352,4676.57196,30527.784,30527.784,30527.784,30527.784,141942.57154,141942.57154 +9954000.0,79454.58600000001,52735.29299999999,153987.05555999998,21480.389590000002,21480.389590000002,21480.389590000002,15472.484999999997,335723.47264,283857.77472000004,81337.74579,123943.23168000001,46320.051,46320.051,46320.051,40231.799999999996,79454.58600000001,79454.58600000001,170225.38532999996,21232.635299999998,31560.608519999998,55047.573000000004,15623.02548,19869.55254,78273.93000000001,78273.93000000001,78273.93000000001,78273.93000000001,238893.45524,238893.45524 +9957600.0,299752.008,144298.42200000002,421351.39224,117527.75386,117527.75386,117527.75386,108639.503,1109573.25864,418792.67711999995,514173.44307000004,783502.38944,183113.442,183113.442,183113.442,50421.8995,299752.008,299752.008,1046900.58369,82045.6047,121954.20747999998,212710.827,60369.358519999994,76778.47946,287184.951,287184.951,287184.951,287184.951,901254.3707199999,901254.3707199999 +9961200.0,226592.352,259498.077,757734.38484,180918.97659,180918.97659,180918.97659,171243.506,1391911.51592,408336.9644800001,984977.92008,1500918.7353599998,321060.264,321060.264,321060.264,245524.727,226592.352,226592.352,181848.13465,256076.02844999998,380636.46697999997,663900.8145,188421.37402,239636.57971,285738.99,285738.99,285738.99,285738.99,681287.6716799999,681287.6716799999 +9964800.0,711306.537,135794.511,396519.97212,153572.54077000002,153572.54077000002,153572.54077000002,126748.51349999999,582774.00296,340440.60736,435730.93935000006,663970.9552000001,322772.83800000005,322772.83800000005,322772.83800000005,94421.53,711306.537,711306.537,178384.12657,112643.34255,167435.28942,292038.2955,82883.24958,105411.91809,651058.8570000001,651058.8570000001,651058.8570000001,651058.8570000001,2138661.65458,2138661.65458 +9968400.0,365409.441,271680.9,793308.228,167429.93839000002,167429.93839000002,167429.93839000002,140182.168,261094.55648,1486843.03296,91261.16916,139064.63872000002,344914.02900000004,344914.02900000004,344914.02900000004,245609.07,365409.441,365409.441,129708.90348,318647.01780000003,473643.22152,826121.8980000002,234461.26248000003,298190.66604000004,97766.98800000001,97766.98800000001,97766.98800000001,97766.98800000001,1098664.38594,1098664.38594 +9972000.0,42037.308,12234.249,35724.007079999996,111763.98266000001,111763.98266000001,111763.98266000001,98218.8235,65301.09296000001,39140.68032000001,55224.82413,84152.11296,17302.032,17302.032,17302.032,35084.777,42037.308,42037.308,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24629.871,24629.871,24629.871,24629.871,126392.17271999999,126392.17271999999 +9975600.0,50051.523,130172.193,380102.80356,100105.39033000001,100105.39033000001,100105.39033000001,122347.57499999998,118492.05824,61163.93280000001,59247.006629999996,90281.15295999999,28221.423000000003,28221.423000000003,28221.423000000003,122110.60399999999,50051.523,50051.523,11445.71246,31669.606799999994,47074.32911999999,82106.38799999999,23302.574879999996,29636.496239999997,23537.199,23537.199,23537.199,23537.199,150488.24581999998,150488.24581999998 +9979200.0,76350.198,30601.034999999996,89355.02219999999,86818.79800000001,86818.79800000001,86818.79800000001,146751.451,112044.06168,144411.49120000002,53486.07243,81502.58656,60745.041000000005,60745.041000000005,60745.041000000005,37090.347,76350.198,76350.198,29727.113129999998,33752.485349999995,50170.36094,87506.4435,24835.16206,31585.65913,28895.933999999997,28895.933999999997,28895.933999999997,28895.933999999997,229559.59532,229559.59532 +9982800.0,25218.272999999994,8599.977,25111.93284,66004.19122000001,66004.19122000001,66004.19122000001,57965.20799999999,46774.23024,25337.898879999997,32596.882709999998,49671.44032,14667.516,14667.516,14667.516,20705.7725,25218.272999999994,25218.272999999994,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14696.301,14696.301,14696.301,14696.301,75822.94081999999,75822.94081999999 +9986400.0,61579.701,43689.99,127574.7708,56724.84356000001,56724.84356000001,56724.84356000001,54639.388999999996,154359.76728,15936.305920000003,102668.07873,156446.59616,28174.694999999996,28174.694999999996,28174.694999999996,17829.9695,61579.701,61579.701,157149.39070999998,17993.5182,26745.920879999998,46649.862,13239.67512,16838.37876,17154.312,17154.312,17154.312,17154.312,185149.63434,185149.63434 +9990000.0,11529.774,22643.505,66119.0346,157383.42829000004,157383.42829000004,157383.42829000004,98186.5675,60308.786479999995,35761.42848,23010.2649,35063.2608,19075.089,19075.089,19075.089,97654.8895,11529.774,11529.774,47816.93149999999,33416.73225,49671.2909,86635.9725,24588.1141,31271.46055,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,34666.187159999994,34666.187159999994 +9993600.0,11052.882,4233.995999999999,12363.26832,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,11052.882,11052.882,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,33232.33188,33232.33188 +9997200.0,244692.30599999998,52630.236000000004,153680.28912,88576.30947,88576.30947,88576.30947,70846.3665,242185.4132,61669.46112000001,216925.04211,330552.44512,88019.79000000001,88019.79000000001,88019.79000000001,37018.555,244692.30599999998,244692.30599999998,9502.102089999998,28490.259599999998,42348.484639999995,73863.636,20963.20336,26661.255279999998,155300.16,155300.16,155300.16,155300.16,735708.2000399999,735708.2000399999 +10000800.0,119770.215,49784.931,145371.99852,148742.76131000003,148742.76131000003,148742.76131000003,129936.74750000001,208701.52208,96411.55328000002,158401.6854,241373.9968,76075.002,76075.002,76075.002,53550.7175,119770.215,119770.215,16844.63443,47948.64255,71271.80941999999,124311.29550000001,35280.72958,44870.45809,71692.63799999999,71692.63799999999,71692.63799999999,71692.63799999999,360109.11309999996,360109.11309999996 +10004400.0,178837.194,80297.44499999999,234468.53939999998,154557.83893,154557.83893,154557.83893,164956.26,259371.89664000002,176489.77856,208997.80461,318472.84512,125490.513,125490.513,125490.513,81644.745,178837.194,178837.194,28096.330729999998,60801.07455,90375.91821999999,157632.4155,44737.580780000004,56897.795690000006,92544.855,92544.855,92544.855,92544.855,537703.8299599999,537703.8299599999 +10008000.0,251726.193,139903.94400000002,408519.51648,141831.25011,141831.25011,141831.25011,201723.87550000002,335177.74799999996,471759.28064000007,280360.66338,427216.24896000006,204499.09199999995,204499.09199999995,204499.09199999995,100749.95700000001,251726.193,251726.193,78805.42383999999,96147.61155,142915.70902,249271.58550000002,70745.64998,89975.17229,128258.886,128258.886,128258.886,128258.886,756856.75362,756856.75362 +10011600.0,183101.418,85940.15400000001,250945.24968,115308.54566,115308.54566,115308.54566,145957.112,212883.00879999998,195787.22112,155332.93524,236697.80608,109248.144,109248.144,109248.144,35343.777,183101.418,183101.418,56523.93097,39904.812000000005,59315.300800000005,103456.92000000001,29362.059200000003,37343.0216,110370.045,110370.045,110370.045,110370.045,550524.93012,550524.93012 +10015200.0,23739.18,21508.884,62805.94128,75529.50526000002,75529.50526000002,75529.50526000002,66015.9325,82136.09599999999,52642.782080000004,43794.34899,66734.24608000001,16395.645,16395.645,16395.645,23581.572,23739.18,23739.18,37339.467229999995,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,18182.568,18182.568,18182.568,18182.568,71375.80119999999,71375.80119999999 +10018800.0,20932.188000000002,19248.606,56205.92952,37361.17143,37361.17143,37361.17143,32202.8945,61114.852479999994,55907.53280000001,36364.52904,55412.61568,16905.411,16905.411,16905.411,11503.205,20932.188000000002,20932.188000000002,33900.89442999999,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,9999.24,9999.24,9999.24,9999.24,62936.11192,62936.11192 +10022400.0,24080.61,29940.381,87425.91252,13649.15607,13649.15607,13649.15607,11271.011499999999,53143.35176,152559.29472,31195.13943,47535.450560000005,27632.721000000005,27632.721000000005,27632.721000000005,4026.1234999999997,24080.61,24080.61,70264.57619999998,4547.538449999999,6759.550979999999,11789.914499999999,3346.0900199999996,4255.59771,7967.241,7967.241,7967.241,7967.241,72402.3674,72402.3674 +10026000.0,33015.954,41735.769,121868.44547999998,8804.9973,8804.9973,8804.9973,6440.577499999999,52360.83263999999,245315.12448,37647.3867,57367.44640000001,40781.390999999996,40781.390999999996,40781.390999999996,5037.347000000001,33015.954,33015.954,75572.77194999998,3589.6486499999996,5335.72466,9306.4965,2641.27234,3359.20207,14195.901000000002,14195.901000000002,14195.901000000002,14195.901000000002,99267.96835999998,99267.96835999998 +10029600.0,37307.004,41604.051,121483.82892,3364.60795,3364.60795,3364.60795,1610.1435,53934.8528,277771.41568000003,39565.258949999996,60289.9184,42183.825,42183.825,42183.825,25166.743,37307.004,37307.004,75451.65133999998,1882.3144499999999,2797.90938,4880.0745,1385.01162,1761.47451,19285.307999999997,19285.307999999997,19285.307999999997,19285.307999999997,112169.72536,112169.72536 +10033200.0,42594.231,42560.418000000005,124276.42056,3382.0112700000004,3382.0112700000004,3382.0112700000004,4878.1565,64123.10656,279970.92736000003,46724.34291,71198.99872,42518.322,42518.322,42518.322,34195.178499999995,42594.231,42594.231,75969.93845999999,4034.1726000000003,5996.473840000001,10458.966,2968.3541600000003,3775.18868,29804.292,29804.292,29804.292,29804.292,128066.65453999999,128066.65453999999 +10036800.0,49391.538,46974.576,137165.76192000002,5249.0871400000005,5249.0871400000005,5249.0871400000005,7577.997000000001,67638.60552000001,286666.49024,54430.308450000004,82941.42240000001,45291.909,45291.909,45291.909,39578.014,49391.538,49391.538,77596.93538999998,19308.747600000002,28700.903840000003,50059.71600000001,14207.424160000002,18069.173680000004,36282.081,36282.081,36282.081,36282.081,148503.89092,148503.89092 +10040400.0,55371.654,49041.82800000001,143202.13776,14430.41699,14430.41699,14430.41699,15687.77,78694.71832,294388.03712,64847.980890000006,98815.97088000001,48879.369,48879.369,48879.369,43325.0405,55371.654,55371.654,93273.80764,22680.028349999997,33712.04214,58800.0735,16688.02086,21224.02653,39414.306000000004,39414.306000000004,39414.306000000004,39414.306000000004,166484.10636,166484.10636 +10044000.0,437043.483,257213.85600000003,751064.45952,109235.59691000001,109235.59691000001,109235.59691000001,219621.8465,634095.96384,192941.93792000003,384773.36226,586321.3139200001,175275.867,175275.867,175275.867,340020.8665,437043.483,437043.483,360704.77157000004,70611.36929999999,104958.13411999999,183066.51299999998,51956.01988,66078.29374,346957.26900000003,346957.26900000003,346957.26900000003,346957.26900000003,1314044.07222,1314044.07222 +10047600.0,672836.592,547907.2379999999,1599889.13496,222471.36076,222471.36076,222471.36076,503396.6875,965262.6012800001,889489.0688000001,665553.40005,1014176.6096000002,414810.204,414810.204,414810.204,159094.31650000002,672836.592,672836.592,138498.33191999997,256936.03379999998,381914.79591999995,666130.458,189054.16808,240441.37484,618963.741,618963.741,618963.741,618963.741,2022995.35328,2022995.35328 +10051200.0,572534.406,437522.142,1277564.65464,158698.71798000002,158698.71798000002,158698.71798000002,239102.2725,780080.61632,706328.7078399999,774763.14384,1180591.45728,535097.928,535097.928,535097.928,102375.5425,572534.406,572534.406,260880.33555999998,154299.48794999998,229353.80677999996,400035.70949999994,113533.94421999999,144393.84180999998,392709.29099999997,392709.29099999997,392709.29099999997,392709.29099999997,1721420.11404,1721420.11404 +10054800.0,375369.501,187251.55800000002,546774.54936,178473.61070000002,178473.61070000002,178473.61070000002,283012.7545,844280.9393599998,1345505.56608,518812.88508000004,790572.0153600001,561098.9610000001,561098.9610000001,561098.9610000001,520183.55549999996,375369.501,375369.501,278881.49601,375441.5529,558063.7403599999,973366.9890000001,276250.82164,351339.13222,321951.096,321951.096,321951.096,321951.096,1128610.96634,1128610.96634 +10058400.0,148904.96699999998,125528.805,366544.11059999996,126102.38102000002,126102.38102000002,126102.38102000002,268744.7735,711034.3372,112184.21312,393858.22517999995,600164.91456,109457.45700000001,109457.45700000001,109457.45700000001,63661.507,148904.96699999998,148904.96699999998,26215.26479,176120.9892,261789.71728,456609.97200000007,129590.25872000001,164814.45656000002,127778.94600000001,127778.94600000001,127778.94600000001,127778.94600000001,447707.6007799999,447707.6007799999 +10062000.0,81248.89199999999,26401.77,77093.1684,101702.33623000002,101702.33623000002,101702.33623000002,87369.9645,134771.21592,124230.54912000001,107492.40348000001,163797.94816000003,50198.15700000001,50198.15700000001,50198.15700000001,38548.5485,81248.89199999999,81248.89199999999,11982.546939999998,36334.388699999996,54008.15308,94200.26699999999,26734.93292,34001.81066,45830.709,45830.709,45830.709,45830.709,244288.33528,244288.33528 +10065600.0,172974.762,83576.739,244044.07788,93144.68911,93144.68911,93144.68911,108622.2725,307515.08128,294415.53088000003,192029.96148,292617.08416,135822.93899999998,135822.93899999998,135822.93899999998,88635.834,172974.762,172974.762,65929.24624,82145.3076,122102.40784,212969.31600000002,60442.720160000004,76871.78168,99263.21100000001,99263.21100000001,99263.21100000001,99263.21100000001,520077.45107999997,520077.45107999997 +10069200.0,93029.45400000001,37025.538,108114.57096,71196.72978000001,71196.72978000001,71196.72978000001,62220.28050000001,153535.06584,131288.86208000002,93692.69742,142769.82464,59794.81500000001,59794.81500000001,59794.81500000001,34672.099,93029.45400000001,93029.45400000001,24861.1584,33384.834449999995,49623.87738,86553.2745,24564.64362,31241.61051,52507.134000000005,52507.134000000005,52507.134000000005,52507.134000000005,279708.55836,279708.55836 +10072800.0,52211.796,14555.687999999998,42502.60896,59237.32375,59237.32375,59237.32375,49979.33500000001,76834.94696,55149.610239999995,50319.76593,76677.73856000001,23589.341999999997,23589.341999999997,23589.341999999997,17923.136,52211.796,52211.796,7044.6153699999995,18821.09115,27976.04166,48795.4215,13848.60534,17612.82357,27620.748000000003,27620.748000000003,27620.748000000003,27620.748000000003,156983.46664,156983.46664 +10076400.0,27691.326,5126.736,14970.06912,44559.57286000001,44559.57286000001,44559.57286000001,38643.472,46567.4592,19002.61632,29288.38584,44629.92128,7133.055,7133.055,7133.055,13803.846000000001,27691.326,27691.326,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,16414.944,16414.944,16414.944,16414.944,83258.58684,83258.58684 +10080000.0,19547.931,3977.3729999999996,11613.92916,49464.867099999996,49464.867099999996,49464.867099999996,43473.906,40292.78216,15198.174079999999,28162.54665,42914.3568,7658.277,7658.277,7658.277,15529.3285,19547.931,19547.931,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,14579.547,14579.547,14579.547,14579.547,58774.112539999995,58774.112539999995 +10083600.0,51092.00099999999,10256.214,29948.144880000003,82058.84753000001,82058.84753000001,82058.84753000001,70846.3665,81986.738,40169.27552,53026.06323,80801.62016,13630.071,13630.071,13630.071,25307.054500000002,51092.00099999999,51092.00099999999,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,28531.791000000005,28531.791000000005,28531.791000000005,28531.791000000005,153616.61633999998,153616.61633999998 +10087200.0,117806.091,38525.082,112493.23944,149754.16852,149754.16852,149754.16852,125591.28399999999,177461.80864,146919.40736,121544.49635999999,185210.66112,70744.506,70744.506,70744.506,44903.358499999995,117806.091,117806.091,18186.67734,47855.54115,71133.42165999999,124069.9215,35212.22534,44783.333569999995,63883.265999999996,63883.265999999996,63883.265999999996,63883.265999999996,354203.64694,354203.64694 +10090800.0,315730.602,159218.616,464918.35872,165827.32298000003,165827.32298000003,165827.32298000003,158334.2565,597860.4340799999,541434.10432,341536.83963,520437.08896,248591.349,248591.349,248591.349,149361.3135,315730.602,315730.602,131113.09639999998,121324.43655,180339.03902,314544.83550000004,89270.81998,113535.70729,203733.06,203733.06,203733.06,203733.06,949296.6766799999,949296.6766799999 +10094400.0,359111.24399999995,194798.874,568812.71208,145111.83291,145111.83291,145111.83291,189889.2415,597115.46032,398579.0406400001,353818.62159,539152.18528,241789.671,241789.671,241789.671,155465.387,359111.24399999995,359111.24399999995,194772.25832999998,117017.45189999999,173937.05195999995,303378.57899999997,86101.73004,109505.22041999998,281401.74,281401.74,281401.74,281401.74,1079727.80696,1079727.80696 +10098000.0,190103.748,58057.83900000001,169528.88988,118244.24073000002,118244.24073000002,118244.24073000002,100764.14600000001,310048.00023999996,298895.24032,202957.74471,309268.94432,131384.856,131384.856,131384.856,87932.06450000001,190103.748,190103.748,128160.76168999998,43355.51729999999,64444.49731999999,112403.19299999998,31901.096679999995,40572.20013999999,151206.714,151206.714,151206.714,151206.714,571578.60232,571578.60232 +10101600.0,56924.397,56903.304000000004,166157.64768,77114.54234000001,77114.54234000001,77114.54234000001,66015.9325,102514.64168,347954.71616000007,81129.37476,123625.71392000002,61171.979999999996,61171.979999999996,61171.979999999996,46103.3475,56924.397,56924.397,102898.82447,25097.420699999995,37305.30187999999,65067.386999999995,18466.74412,23486.228259999996,34093.215,34093.215,34093.215,34093.215,171152.68697999997,171152.68697999997 +10105200.0,60870.735,61983.35399999999,180991.39367999998,38780.79557000001,38780.79557000001,38780.79557000001,34835.563,86281.38639999999,384593.71456,74084.43336,112890.56512,63709.93499999999,63709.93499999999,63709.93499999999,59488.7615,60870.735,60870.735,108012.52786999999,13785.21585,20490.61714,35739.4485,10143.19586,12900.23903,39103.884,39103.884,39103.884,39103.884,183018.00989999998,183018.00989999998 +10108800.0,63400.62299999999,65865.258,192326.55336,15078.279590000002,15078.279590000002,15078.279590000002,17356.129,97484.14744000002,392543.9264,75588.06066,115181.80672000001,64575.975000000006,64575.975000000006,64575.975000000006,57695.08499999999,63400.62299999999,63400.62299999999,135555.57392,27376.011449999998,40692.244179999994,70974.8445,20143.33682,25618.53911,49923.58200000001,49923.58200000001,49923.58200000001,49923.58200000001,190624.53981999998,190624.53981999998 +10112400.0,65251.974,68436.50700000001,199834.60044,9575.85937,9575.85937,9575.85937,12468.256500000001,107411.88464,385705.91168,81560.19626999999,124282.20383999999,71794.83,71794.83,71794.83,57951.0645,65251.974,65251.974,143576.83093,28233.931049999996,41967.472819999995,73199.0805,20774.596179999997,26421.38239,52486.083,52486.083,52486.083,52486.083,196190.93516,196190.93516 +10116000.0,72712.794,69405.822,202665.00024,4111.554700000001,4111.554700000001,4111.554700000001,7694.5960000000005,110001.84872000001,386730.28544000007,80111.29287,122074.35104000002,78198.576,78198.576,78198.576,60044.3095,72712.794,72712.794,144066.94106999997,26768.25225,39788.8589,69399.1725,19696.1461,25049.796550000003,52030.748999999996,52030.748999999996,52030.748999999996,52030.748999999996,218623.13395999998,218623.13395999998 +10119600.0,74703.20999999999,71795.217,209642.03364,4116.328810000001,4116.328810000001,4116.328810000001,7691.705,116604.4476,385241.1942400001,80764.84983,123070.24736000001,78853.33499999999,78853.33499999999,78853.33499999999,59906.098,74703.20999999999,74703.20999999999,144816.29578,34162.195499999994,50779.36219999999,88568.65499999998,25136.627799999995,31969.066899999994,52238.969999999994,52238.969999999994,52238.969999999994,52238.969999999994,224607.65139999997,224607.65139999997 +10123200.0,77080.74299999999,73120.04999999999,213510.54599999997,5989.92075,5989.92075,5989.92075,9414.741,124688.92896,392195.46176000003,104434.49667,159138.28064,90952.32,90952.32,90952.32,63137.9315,77080.74299999999,77080.74299999999,152721.91077,36056.724749999994,53595.42789999999,93480.39749999999,26530.627099999994,33741.97205,58126.773,58126.773,58126.773,58126.773,231756.10061999998,231756.10061999998 +10126800.0,82388.595,73454.39700000001,214486.83924000003,15368.65781,15368.65781,15368.65781,17336.27,132211.81840000002,387006.50688000006,125634.97988999999,191443.77888,128799.555,128799.555,128799.555,66017.42,82388.595,82388.595,150802.639,40309.488000000005,59916.8192,104506.08000000002,29659.8208,37721.718400000005,63368.774999999994,63368.774999999994,63368.774999999994,63368.774999999994,247715.04229999997,247715.04229999997 +10130400.0,563480.574,486733.12799999997,1421260.73376,119656.66097,119656.66097,119656.66097,359087.3545,883193.05208,392426.19392000005,571745.5506000001,871231.3152000001,248640.924,248640.924,248640.924,683125.3485,563480.574,563480.574,669887.36282,147009.65804999997,218518.05961999996,381136.1505,108170.06937999999,137572.00099,545962.1849999999,545962.1849999999,545962.1849999999,545962.1849999999,1694198.25916,1694198.25916 +10134000.0,904402.6499999999,822791.622,2402551.53624,241371.10987000001,241371.10987000001,241371.10987000001,700851.3855,1412787.50112,1353782.0691200001,1132731.5855100001,1726067.1779200002,572020.788,572020.788,572020.788,297010.8855,904402.6499999999,904402.6499999999,231069.07148,470914.155,699976.102,1220888.55,346499.798,440682.629,933380.8620000001,933380.8620000001,933380.8620000001,933380.8620000001,2719237.301,2719237.301 +10137600.0,810955.98,590524.557,1724331.7064399999,190946.86644,190946.86644,190946.86644,403012.0255,1280530.39936,1143182.55488,1147036.8476699998,1747865.67264,863175.4380000001,863175.4380000001,863175.4380000001,274575.9135,810955.98,810955.98,375192.64068,481995.91889999993,716448.2547599999,1249619.0489999999,354653.78724,451052.97101999994,571366.746,571366.746,571366.746,571366.746,2438274.3131999997,2438274.3131999997 +10141200.0,535366.215,269746.362,787659.37704,192280.78452000002,192280.78452000002,192280.78452000002,539677.558,1301171.92024,1948722.55552,865542.74268,1318922.27456,805640.0159999998,805640.0159999998,805640.0159999998,853408.1185,535366.215,535366.215,417372.43496,725114.51505,1077824.53842,1879926.5205,533541.05058,678563.95359,492653.64,492653.64,492653.64,492653.64,1609667.7530999999,1609667.7530999999 +10144800.0,254959.38,179894.793,525292.79556,145323.7049,145323.7049,145323.7049,417440.6215,896095.2063999999,324794.57984,550328.2390200001,838595.4118400001,195116.15399999998,195116.15399999998,195116.15399999998,276596.6735,254959.38,254959.38,63617.237969999995,290884.75379999995,432376.84391999996,754145.6579999999,214033.72007999997,272210.67084,195804.702,195804.702,195804.702,195804.702,766577.8692000001,766577.8692000001 +10148400.0,135420.38400000002,55698.402,162639.33384,112809.42321000001,112809.42321000001,112809.42321000001,100564.8035,342772.54536,197868.72832000002,181586.58378,276703.36576,92006.877,92006.877,92006.877,62742.469999999994,135420.38400000002,135420.38400000002,44375.70358,58963.945949999994,87645.17397999999,152869.4895,43385.81702,55178.60621,91103.796,91103.796,91103.796,91103.796,407163.95456000004,407163.95456000004 +10152000.0,243942.93899999998,130497.738,381053.39496,100368.90655,100368.90655,100368.90655,137937.20500000002,469561.12367999996,402931.85664,282384.27399,430299.84608,191031.243,191031.243,191031.243,140679.6895,243942.93899999998,243942.93899999998,118773.54164,99331.7256,147648.63904,257526.69600000003,73088.52896000001,92954.87408000001,173642.31900000002,173642.31900000002,173642.31900000002,173642.31900000002,733455.1032599999,733455.1032599999 +10155600.0,127753.062,56808.531,165880.91052,75257.83276000002,75257.83276000002,75257.83276000002,74565.2285,224415.22176000001,190967.64224000004,136353.36330000003,207776.5536,86027.016,86027.016,86027.016,52720.9865,127753.062,127753.062,44598.29114,45658.8738,67868.25192,118374.85800000001,33595.91208,42727.68684,81846.93599999999,81846.93599999999,81846.93599999999,81846.93599999999,384110.87308,384110.87308 +10159200.0,54146.70599999999,14834.226,43315.93992,60516.34567000001,60516.34567000001,60516.34567000001,50412.5265,77661.87344,56048.98368,52033.02972,79288.42624,22051.581,22051.581,22051.581,18050.6445,54146.70599999999,54146.70599999999,7015.360949999999,18966.1338,28191.635919999997,49171.458,13955.32808,17748.55484,28045.026,28045.026,28045.026,28045.026,162801.09603999997,162801.09603999997 +10162800.0,28254.267,5153.889000000001,15049.355880000001,45165.844130000005,45165.844130000005,45165.844130000005,38643.472,46638.899919999996,18217.700480000003,29488.00974,44934.11008,7039.4400000000005,7039.4400000000005,7039.4400000000005,13803.846000000001,28254.267,28254.267,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,16222.046999999999,16222.046999999999,16222.046999999999,16222.046999999999,84951.16278,84951.16278 +10166400.0,32719.83,5923.182,17295.69144,50998.50822,50998.50822,50998.50822,43473.906,52414.02336000001,21495.452800000003,33142.2042,50502.4064,8104.697999999999,8104.697999999999,8104.697999999999,15529.3285,32719.83,32719.83,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,18049.656,18049.656,18049.656,18049.656,98377.6222,98377.6222 +10170000.0,52032.978,11325.474,33070.384079999996,83651.27573000002,83651.27573000002,83651.27573000002,70846.3665,82609.81344,41134.016,54454.73376,82978.64192000001,14852.604,14852.604,14852.604,25307.054500000002,52032.978,52032.978,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,28984.058999999997,28984.058999999997,28984.058999999997,28984.058999999997,156445.82052,156445.82052 +10173600.0,123136.773,41838.447,122168.26524,152053.8569,152053.8569,152053.8569,127209.4845,183784.48463999998,171775.1808,130885.54247999999,199444.63616,75379.449,75379.449,75379.449,45606.533,123136.773,123136.773,20001.29794,49411.3041,73445.93844,128103.381,36356.95956,46239.22038,68118.07500000001,68118.07500000001,68118.07500000001,68118.07500000001,370231.23082,370231.23082 +10177200.0,369083.463,185834.22,542635.9223999999,171966.02665,171966.02665,171966.02665,178947.69199999998,716485.48664,631386.8,420081.06315000006,640123.5248000001,285869.403,285869.403,285869.403,177556.52599999998,369083.463,369083.463,164868.93084999998,143297.19315,212999.77846,371511.2415,105438.42854000001,134097.86717,256776.84600000002,256776.84600000002,256776.84600000002,256776.84600000002,1109710.94542,1109710.94542 +10180800.0,455307.67799999996,258751.521,755554.44132,153393.49740000002,153393.49740000002,153393.49740000002,242918.60599999997,764466.8390400001,580060.00832,499561.16195999994,761236.05632,349053.777,349053.777,349053.777,190024.268,455307.67799999996,455307.67799999996,257812.87349999996,169175.76165,251466.19386,438603.8265000001,124479.94314000002,158315.09547000003,378242.685,378242.685,378242.685,378242.685,1368958.4185199998,1368958.4185199998 +10184400.0,233069.37,152367.954,444914.42568,120042.66384000001,120042.66384000001,120042.66384000001,117142.53250000002,373509.44064000004,477876.46272,267031.66014,406905.38688,157795.863,157795.863,157795.863,135076.49049999999,233069.37,233069.37,165620.19032,56701.1988,84281.78192,147003.108,41720.88208,53061.12184,207888.57299999997,207888.57299999997,207888.57299999997,207888.57299999997,700761.9058,700761.9058 +10188000.0,79199.295,75913.809,221668.32228,77656.31225000002,77656.31225000002,77656.31225000002,71321.76449999999,128906.03384,454632.8768,105014.81151,160022.56992,78961.959,78961.959,78961.959,80884.02699999999,79199.295,79199.295,142890.54013,30292.1694,45026.878959999995,78535.254,22289.05304,28347.48692,57970.599,57970.599,57970.599,57970.599,238125.8803,238125.8803 +10191600.0,79975.506,80968.78199999999,236428.84343999997,39336.22847,39336.22847,39336.22847,39470.392499999994,118894.67951999999,462388.09728000005,104446.39296,159156.40832,89563.374,89563.374,89563.374,78085.3885,79975.506,79975.506,172980.62548000002,42892.47675,63756.2247,111202.7175,31560.390300000003,40138.885650000004,67833.957,67833.957,67833.957,67833.957,240459.68803999998,240459.68803999998 +10195200.0,76774.542,80512.479,235096.43868000002,15537.31047,15537.31047,15537.31047,18483.5245,134068.6464,450376.10944000003,104064.34479,158574.23968,94648.821,94648.821,94648.821,74238.5245,76774.542,76774.542,169488.527,35203.005,52326.441999999995,91267.05,25902.458000000002,32943.059,64806.018000000004,64806.018000000004,64806.018000000004,64806.018000000004,230835.45627999998,230835.45627999998 +10198800.0,90168.97200000001,88336.203,257941.71275999997,10205.33371,10205.33371,10205.33371,14095.679499999998,153851.48288,477471.74847999995,132373.94561999998,201712.67904,111050.457,111050.457,111050.457,79435.0655,90168.97200000001,90168.97200000001,182138.03334999995,43838.74709999999,65162.77963999999,113656.011,32256.658359999998,41024.40778,69865.611,69865.611,69865.611,69865.611,271108.04248,271108.04248 +10202400.0,93833.889,87979.239,256899.37788,4707.724230000001,4707.724230000001,4707.724230000001,9215.598,157536.12576,470806.0294400001,137773.48473,209940.54816,114731.43900000001,114731.43900000001,114731.43900000001,77471.65650000001,93833.889,93833.889,186058.31322,44240.40585,65759.81314,114697.34850000001,32552.19986,41400.281030000006,72352.36799999999,72352.36799999999,72352.36799999999,72352.36799999999,282127.22625999997,282127.22625999997 +10206000.0,104787.78300000002,98262.12,286925.3904,5435.6885,5435.6885,5435.6885,9869.8985,172333.07392,514022.3904,176167.82127000001,268446.20384000003,167127.147,167127.147,167127.147,84981.204,104787.78300000002,104787.78300000002,203045.83350999994,50220.178199999995,74648.26487999999,130200.462,36952.13112,46996.16676,85615.464,85615.464,85615.464,85615.464,315061.93422000005,315061.93422000005 +10209600.0,113740.113,109779.909,320557.33428,8788.8394,8788.8394,8788.8394,11617.8475,176398.75344,525212.29632,201891.67677,307644.45984,194829.009,194829.009,194829.009,109768.19000000002,113740.113,113740.113,209902.04117999997,55152.4059,81979.62556,142987.719,40581.27644,51611.757620000004,90414.20999999999,90414.20999999999,90414.20999999999,90414.20999999999,341978.60641999997,341978.60641999997 +10213200.0,183641.268,131411.712,383722.1990399999,32092.792490000003,32092.792490000003,32092.792490000003,25515.8785,551558.58976,516223.16416,303616.22466,462653.29472,204267.273,204267.273,204267.273,176677.151,183641.268,183641.268,400780.44096999994,67812.00525,100797.1041,175808.90250000003,49896.240900000004,63458.641950000005,149599.641,149599.641,149599.641,149599.641,552148.07912,552148.07912 +10216800.0,645161.817,253749.684,740949.07728,138253.58173,138253.58173,138253.58173,313783.10599999997,2288795.90488,1115822.2272,1321789.8266999999,2014155.9264,418160.99400000006,418160.99400000006,418160.99400000006,354335.618,645161.817,645161.817,1402286.15904,426136.5855,633417.8382,1104798.555,313552.3518,398779.6689,721308.888,721308.888,721308.888,721308.888,1939786.52978,1939786.52978 +10220400.0,448443.027,558731.6699999999,1631496.4763999998,214467.00165,214467.00165,214467.00165,868761.4355,2416171.29808,1063173.83104,1571713.7572499998,2394992.392,650931.606,650931.606,650931.606,683235.1925,448443.027,448443.027,916173.24929,906375.7278,1347254.78552,2349862.998,666913.49848,848188.64404,647672.535,647672.535,647672.535,647672.535,1348318.7011799999,1348318.7011799999 +10224000.0,1080696.942,479684.274,1400678.08008,176203.61297000002,176203.61297000002,176203.61297000002,228118.05099999998,1427466.25936,1513536.55808,1051573.67994,1602397.98848,704384.3999999999,704384.3999999999,704384.3999999999,288884.46650000004,1080696.942,1080696.942,370222.22237,338245.08524999995,502774.1760999999,876931.7024999999,248881.56889999998,316530.58595,1187741.049,1187741.049,1187741.049,1187741.049,3249295.47228,3249295.47228 +10227600.0,506059.03799999994,327185.53500000003,955381.7622,185889.08151000002,185889.08151000002,185889.08151000002,169110.87900000002,391102.86111999996,2628139.8444800004,110246.76894000001,167995.07648000002,446213.68500000006,446213.68500000006,446213.68500000006,388167.53150000004,506059.03799999994,506059.03799999994,181338.53919999997,644193.0,957541.2,1670130.0,473998.8,602837.4,133689.141,133689.141,133689.141,133689.141,1521550.8409199999,1521550.8409199999 +10231200.0,123422.049,19925.712,58183.07904,115992.04518000002,115992.04518000002,115992.04518000002,98218.8235,72490.77536,82005.16032000001,55657.55349,84811.51008000001,28141.005000000005,28141.005000000005,28141.005000000005,35084.777,123422.049,123422.049,16322.831199999999,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,26641.593,26641.593,26641.593,26641.593,371088.96066,371088.96066 +10234800.0,84001.908,329574.399,962357.24508,105949.16145000001,105949.16145000001,105949.16145000001,200576.18699999998,180330.24143999998,158870.09728,104047.93728,158549.23776000002,33454.503,33454.503,33454.503,233016.52150000003,84001.908,84001.908,30554.918939999996,40110.8679,59621.586359999994,103991.139,29513.675639999998,37535.84922,32701.332000000002,32701.332000000002,32701.332000000002,32701.332000000002,252565.73672,252565.73672 +10238400.0,132595.668,65049.807,189945.43644,94839.20105,94839.20105,94839.20105,170317.97300000003,188748.65983999998,229242.15488000002,96351.96501,146822.04192000002,83306.21100000001,83306.21100000001,83306.21100000001,65432.47200000001,132595.668,132595.668,99408.04874,69195.13694999999,102853.01837999998,179394.79949999996,50913.95261999999,64752.98000999999,57082.251000000004,57082.251000000004,57082.251000000004,57082.251000000004,398670.97511999996,398670.97511999996 +10242000.0,78960.68400000001,28711.368000000002,83837.19456,71240.88114,71240.88114,71240.88114,60884.4915,110682.40144,111662.51712,54637.539600000004,83257.2032,45574.872,45574.872,45574.872,26676.2825,78960.68400000001,78960.68400000001,63125.21344999999,34845.7869,51795.46596,90340.929,25639.616040000004,32608.773420000005,36689.958,36689.958,36689.958,36689.958,237408.45656000002,237408.45656000002 +10245600.0,109108.773,72832.056,212669.60351999998,58537.9146,58537.9146,58537.9146,64906.442999999985,227605.00056000001,24494.503040000003,197892.40779,301550.33568,48437.873999999996,48437.873999999996,48437.873999999996,27886.152,109108.773,109108.773,249306.00850999999,24551.0271,36493.13164,63650.811,18064.70636,22974.91178,27858.828,27858.828,27858.828,27858.828,328053.71082,328053.71082 +10249200.0,26138.376000000004,151540.962,442499.60903999995,254687.26668000003,254687.26668000003,254687.26668000003,159413.8315,192441.12247999996,48206.62528000001,27958.52745,42603.470400000006,30849.785999999996,30849.785999999996,30849.785999999996,260514.55150000003,26138.376000000004,26138.376000000004,170060.87852,85839.22350000001,127593.1174,222546.13500000004,63160.712600000006,80328.55730000001,41462.646,41462.646,41462.646,41462.646,78589.38384000001,78589.38384000001 +10252800.0,14511.135,7153.857,20889.262440000002,56194.87258000001,56194.87258000001,56194.87258000001,43473.906,29416.84504,24082.54272,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,14511.135,14511.135,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10934.438999999998,10934.438999999998,10934.438999999998,10934.438999999998,43630.145899999996,43630.145899999996 +10256400.0,515037.495,179364.057,523743.04644,118539.62912000001,118539.62912000001,118539.62912000001,291453.0675,584190.45992,337428.54464,556860.76572,848549.7382400001,359671.88399999996,359671.88399999996,359671.88399999996,68468.45599999999,515037.495,515037.495,9502.102089999998,61021.59705,90703.70722,158204.1405,44899.841779999995,57104.16119,279525.411,279525.411,279525.411,279525.411,1548546.0683,1548546.0683 +10260000.0,154262.43,55963.461,163413.30612,155288.26962,155288.26962,155288.26962,161788.893,235151.54200000002,172913.55520000003,187617.60675000004,285893.49600000004,102797.87100000001,102797.87100000001,102797.87100000001,53544.9565,154262.43,154262.43,16844.63443,54334.97415,80764.57886000001,140868.45150000002,39979.80814,50846.802970000004,83128.569,83128.569,83128.569,83128.569,463815.70619999996,463815.70619999996 +10263600.0,382912.377,227891.81999999995,665444.1143999998,173907.47770000002,173907.47770000002,173907.47770000002,333184.11,714759.9301599999,701888.61248,481585.76151,733844.9699200001,334939.476,334939.476,334939.476,183736.98349999997,382912.377,382912.377,152904.07989999998,187244.81234999996,278324.38774,485449.51349999994,137775.19525999998,175224.15772999998,270480.918,270480.918,270480.918,270480.918,1151289.8801799999,1151289.8801799999 +10267200.0,468036.2579999999,326194.41000000003,952487.6772,163052.14464,163052.14464,163052.14464,399781.97000000003,938170.9639199999,841434.4044800001,607862.61459,926266.84128,422486.895,422486.895,422486.895,288573.7295,468036.2579999999,468036.2579999999,223493.95159,286950.17475,426528.4079,743944.8975000001,211138.6471,268528.68205,418705.74899999995,418705.74899999995,418705.74899999995,418705.74899999995,1407229.0157199998,1407229.0157199998 +10270800.0,347990.886,285632.292,834046.2926400001,132484.81664,132484.81664,132484.81664,280008.7605,504029.10736,574262.3283200001,388248.54243000003,591616.8265600001,242555.18099999998,242555.18099999998,242555.18099999998,157944.941,347990.886,347990.886,162176.69207999998,145247.4747,215898.71547999998,376567.527,106873.45052,135922.94546000002,316185.255,316185.255,316185.255,316185.255,1046292.5972399999,1046292.5972399999 +10274400.0,59905.011,57657.549,168360.04308,77395.68573000001,77395.68573000001,77395.68573000001,66015.9325,103595.93519999999,345094.81024,85598.11974,130435.23008000001,60910.338,60910.338,60910.338,51807.084,59905.011,59905.011,104401.14138999999,25157.76165,37394.99386,65223.8265,18511.14314,23542.695470000002,36505.998,36505.998,36505.998,36505.998,180114.39974,180114.39974 +10278000.0,60834.242999999995,54701.04,159727.0368,38963.904870000006,38963.904870000006,38963.904870000006,38247.86,82806.0024,370090.17407999997,79554.43251,121225.80192000001,60217.070999999996,60217.070999999996,60217.070999999996,59238.29100000001,60834.242999999995,60834.242999999995,99577.93312999999,17972.25165,26714.309859999998,46594.7265,13224.02714,16818.477469999998,45484.806,45484.806,45484.806,45484.806,182908.29061999999,182908.29061999999 +10281600.0,60613.922999999995,56696.652,165554.22384000002,15200.4325,15200.4325,15200.4325,17456.0155,81612.18376,368158.35391999997,78911.09582999999,120245.47936,60399.267,60399.267,60399.267,58242.71949999999,60613.922999999995,60613.922999999995,97822.75450999998,29953.957949999996,44524.15478,77658.4095,22040.196219999998,28030.98781,50744.981999999996,50744.981999999996,50744.981999999996,50744.981999999996,182245.86182,182245.86182 +10285200.0,61110.747,60279.312,176015.59104,9726.03016,9726.03016,9726.03016,12673.318000000001,90248.5276,369411.58848000003,81795.87129,124641.32768,73461.507,73461.507,73461.507,58828.69999999999,61110.747,61110.747,118298.68882,28468.709549999996,42316.45221999999,73807.7655,20947.34678,26641.08869,51190.338,51190.338,51190.338,51190.338,183739.64598,183739.64598 +10288800.0,66238.218,69599.598,203230.82615999997,4251.9737700000005,4251.9737700000005,4251.9737700000005,7891.156,93505.75256,370684.4832,80232.97023,122259.76416000002,78137.616,78137.616,78137.616,58724.2285,66238.218,66238.218,130528.72468999999,28696.17375,42654.559499999996,74397.4875,21114.715500000002,26853.95025,50397.009000000005,50397.009000000005,50397.009000000005,50397.009000000005,199156.24211999998,199156.24211999998 +10292400.0,76342.242,71456.54999999999,208653.126,4277.797920000001,4277.797920000001,4277.797920000001,7969.450999999999,118780.59512,375526.97536000004,85197.98805,129825.5056,86301.12899999999,86301.12899999999,86301.12899999999,61819.957500000004,76342.242,76342.242,142942.46407999998,35952.0849,53439.88916,93209.10900000001,26453.632840000002,33644.04982,51543.084,51543.084,51543.084,51543.084,229535.67428,229535.67428 +10296000.0,80585.922,73141.962,213574.52904000002,6315.73646,6315.73646,6315.73646,9718.155999999999,130467.06,384950.42624,92154.26997000001,140425.55424000003,90678.56999999999,90678.56999999999,90678.56999999999,63992.470499999996,80585.922,80585.922,152808.62063999998,37848.6999,56259.055159999996,98126.259,27849.16684,35418.906820000004,54051.972,54051.972,54051.972,54051.972,242295.00548,242295.00548 +10299600.0,128563.845,97567.362,284896.69704,28788.33914,28788.33914,28788.33914,17652.5125,479832.32296,390935.6992,188909.39990999998,287861.94272,92542.47899999999,92542.47899999999,92542.47899999999,88427.0135,128563.845,128563.845,323697.43002999993,46065.17385,68472.18433999999,119428.2285,33894.86866,43107.90343,111566.33699999998,111566.33699999998,111566.33699999998,111566.33699999998,386548.62729999993,386548.62729999993 +10303200.0,456647.022,192076.26,560862.6792,129692.26754,129692.26754,129692.26754,203535.3145,1729184.24128,549643.93472,914091.3138,1392901.0496,272984.316,272984.316,272984.316,210561.5995,456647.022,456647.022,1283019.0152,241376.16059999997,358786.29303999996,625790.046,177605.17495999997,225880.40707999998,514302.129,514302.129,514302.129,514302.129,1372985.37948,1372985.37948 +10306800.0,356200.839,443584.902,1295267.9138399998,201591.06011000002,201591.06011000002,201591.06011000002,553827.9704999999,1945435.33576,780685.34784,1341527.64102,2044232.59584,551720.4299999999,551720.4299999999,551720.4299999999,527065.8925000001,356200.839,356200.839,469048.32364,675612.11835,1004243.1981399999,1751586.9735,497117.06486,632239.48853,505156.776,505156.776,505156.776,505156.776,1070977.18926,1070977.18926 +10310400.0,926285.0790000001,268804.63800000004,784909.54296,169596.23659000001,169596.23659000001,169596.23659000001,166601.0815,981198.6998399999,1137551.30624,820779.4956899999,1250711.61248,489991.72199999995,489991.72199999995,489991.72199999995,223916.79099999997,926285.0790000001,926285.0790000001,304851.60953,259061.4252,385074.01967999997,671640.732,190618.03631999998,242430.32136,966183.6630000001,966183.6630000001,966183.6630000001,966183.6630000001,2785030.4708600002,2785030.4708600002 +10314000.0,482337.669,300425.133,877241.38836,181291.41822,181291.41822,181291.41822,161558.29200000002,341576.65936,2267030.04416,116378.68095000001,177338.9424,459629.496,459629.496,459629.496,390964.02099999995,482337.669,482337.669,177633.12683999998,606675.3228000001,901774.1835200001,1572861.948,446393.20048000006,567728.2650400001,130981.398,130981.398,130981.398,130981.398,1450228.59146,1450228.59146 +10317600.0,114676.18500000001,23303.283,68045.58636,116567.54318000002,116567.54318000002,116567.54318000002,98218.8235,102522.41471999999,116318.38464,69300.48741,105600.74272000001,39703.182,39703.182,39703.182,39091.7555,114676.18500000001,114676.18500000001,54887.37656999999,44667.42165,66394.53786,115804.4265,32866.39914,41799.88347,38623.146,38623.146,38623.146,38623.146,344793.0629,344793.0629 +10321200.0,158465.349,414685.539,1210881.77388,113187.1884,113187.1884,113187.1884,215755.176,365958.198,342420.21248000005,179804.38623,273987.63616,73422.52200000001,73422.52200000001,73422.52200000001,245606.8755,158465.349,158465.349,110145.73882,68001.89355,101079.35781999999,176301.2055,50035.96118,63636.33989,83754.459,83754.459,83754.459,83754.459,476452.4826599999,476452.4826599999 +10324800.0,222700.965,130506.50700000001,381079.00044000003,99062.24526,99062.24526,99062.24526,217565.411,456370.60183999996,372644.05824000004,223335.9639,340321.46880000003,164653.30800000002,164653.30800000002,164653.30800000002,109763.55949999999,222700.965,222700.965,189624.78392,101309.17859999998,150587.96423999997,262653.426,74543.54375999999,94805.37947999999,165986.47499999998,165986.47499999998,165986.47499999998,165986.47499999998,669587.5680999999,669587.5680999999 +10328400.0,125850.021,56117.672999999995,163863.60516,74295.31846000001,74295.31846000001,74295.31846000001,69459.726,234569.77871999997,212000.77120000005,109691.58459,167149.08127999998,87681.93599999999,87681.93599999999,87681.93599999999,51896.333999999995,125850.021,125850.021,106981.95650999999,49710.78135,73891.08734,128879.8035,36577.31566,46519.47193,82492.638,82492.638,82492.638,82492.638,378389.06314,378389.06314 +10332000.0,159307.02,107652.58499999999,314345.54819999996,64661.954060000004,64661.954060000004,64661.954060000004,65305.28200000001,324898.01648,87575.17632000001,281843.60379,429475.96768000006,75098.60699999999,75098.60699999999,75098.60699999999,59181.6225,159307.02,159307.02,359690.81876,55152.36944999999,81979.57138,142987.62449999998,40581.249619999995,51611.723509999996,46433.694,46433.694,46433.694,46433.694,478983.10679999995,478983.10679999995 +10335600.0,40434.135,191084.451,557966.59692,253945.88362,253945.88362,253945.88362,188699.0245,250213.76048,57062.85824,31719.537360000002,48334.53312,68998.302,68998.302,68998.302,293133.204,40434.135,40434.135,221382.45297999997,102336.61905,152115.17202,265317.1605,75299.53698,95766.86079,57503.520000000004,57503.520000000004,57503.520000000004,57503.520000000004,121571.9659,121571.9659 +10339200.0,29333.661,10441.908,30490.371359999997,52930.36628000001,52930.36628000001,52930.36628000001,43589.966,36913.05736,29363.13984,25016.4054,38120.236800000006,10832.22,10832.22,10832.22,15529.3285,29333.661,29333.661,12601.084079999999,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,12136.479,12136.479,12136.479,12136.479,88196.54074,88196.54074 +10342800.0,639860.754,294660.108,860407.51536,126807.47596,126807.47596,126807.47596,516499.9490000001,862677.9672,637481.0688000001,875879.7637800002,1334673.9257600002,556318.572,556318.572,556318.572,109483.96900000001,639860.754,639860.754,9502.102089999998,148233.18735000002,220336.73774,384308.26350000006,109070.34526000002,138716.98273000002,398463.07500000007,398463.07500000007,398463.07500000007,398463.07500000007,1923848.00036,1923848.00036 +10346400.0,201578.631,78366.198,228829.29815999998,160401.41062,160401.41062,160401.41062,183496.46,355077.05744,313424.78400000004,233159.38212,355290.48704,138271.941,138271.941,138271.941,84061.691,201578.631,201578.631,46352.118149999995,80899.82325,120251.09529999999,209740.2825,59526.2897,75706.25435,127097.74800000002,127097.74800000002,127097.74800000002,127097.74800000002,606079.7505399999,606079.7505399999 +10350000.0,477364.107,313539.672,915535.84224,181481.22267000002,181481.22267000002,181481.22267000002,443416.113,980952.3803199999,890293.4815999999,634039.7897399999,966155.8700799999,442454.01600000006,442454.01600000006,442454.01600000006,305374.9895,477364.107,477364.107,227117.31496999998,298673.71379999997,443954.5079199999,774339.2579999999,219764.85607999997,279499.59884,413217.801,413217.801,413217.801,413217.801,1435274.74838,1435274.74838 +10353600.0,559125.726,461803.71,1348466.8332,167207.17101000002,167207.17101000002,167207.17101000002,464545.68299999996,1102262.7992,1173429.02016,796711.2724199999,1214036.22464,552790.5630000001,552790.5630000001,552790.5630000001,474924.3169999999,559125.726,559125.726,352747.3336399999,396988.07535,590090.91694,1029228.3435000001,292104.80606000003,371502.42113000003,504839.706,504839.706,504839.706,504839.706,1681104.68284,1681104.68284 +10357200.0,395371.68,341028.66000000003,995803.6872,134105.69414000004,134105.69414000004,134105.69414000004,300765.4895,598125.94968,827177.70944,482636.94339000003,735446.77088,295137.05700000003,295137.05700000003,295137.05700000003,297838.919,395371.68,395371.68,345288.01449999993,208671.50744999998,310173.45057999995,541000.2045,153541.01042,195275.31191,369571.446,369571.446,369571.446,369571.446,1188750.8512,1188750.8512 +10360800.0,75483.384,60424.788,176440.38096,77528.43285000001,77528.43285000001,77528.43285000001,72587.9105,115759.17183999998,405700.1856000001,107862.00474,164361.15008,75817.17300000001,75817.17300000001,75817.17300000001,79050.02,75483.384,75483.384,109408.59188999998,46204.1334,68678.73655999999,119788.494,33997.11544,43237.94212,63173.469,63173.469,63173.469,63173.469,226953.37456,226953.37456 +10364400.0,71903.031,60081.174,175437.02808,39188.50375,39188.50375,39188.50375,39029.9525,95961.64192,411760.50880000007,102505.56371999999,156198.95424,87438.486,87438.486,87438.486,73949.03950000001,71903.031,71903.031,108655.15349,40313.930850000004,59923.42314,104517.59850000001,29663.089860000004,37725.87603,62022.678,62022.678,62022.678,62022.678,216188.44653999998,216188.44653999998 +10368000.0,76689.861,73409.094,214354.55448,15721.384360000002,15721.384360000002,15721.384360000002,19037.273500000003,105100.61704,468359.78112,102938.18199,156858.18208,106063.35600000001,106063.35600000001,106063.35600000001,78346.702,76689.861,76689.861,137610.22795,37949.002199999995,56408.146479999996,98386.302,27922.96952,35512.76996,64855.10399999999,64855.10399999999,64855.10399999999,64855.10399999999,230580.84874,230580.84874 +10371600.0,86130.228,90445.128,264099.77376,10384.65791,10384.65791,10384.65791,14638.337000000001,141279.90175999998,494926.54336,106243.31718,161894.57856,121836.297,121836.297,121836.297,82662.062,86130.228,86130.228,172967.82606999998,38809.6353,57687.40852,100617.573,28556.22548,36318.15254,67459.284,67459.284,67459.284,67459.284,258964.88551999998,258964.88551999998 +10375200.0,99300.94499999998,95605.96500000001,279169.4178,4982.7585500000005,4982.7585500000005,4982.7585500000005,10453.768499999998,171471.2476,507820.09408000007,116602.8171,177680.4832,125786.82900000003,125786.82900000003,125786.82900000003,85245.26499999998,99300.94499999998,99300.94499999998,200004.98998999997,50034.509999999995,74372.28399999999,129719.09999999999,36815.515999999996,46822.418,69073.26299999999,69073.26299999999,69073.26299999999,69073.26299999999,298564.8412999999,298564.8412999999 +10378800.0,100677.50399999999,100212.771,292621.29131999996,5634.963840000001,5634.963840000001,5634.963840000001,21663.096,167139.84224,495565.22112,144199.17666,219732.07872,123499.89000000001,123499.89000000001,123499.89000000001,83423.284,100677.50399999999,100677.50399999999,195428.8089,51784.563599999994,76973.59823999999,134256.276,38103.20976,48460.12248,71573.418,71573.418,71573.418,71573.418,302703.69535999995,302703.69535999995 +10382400.0,103663.422,101961.318,297727.04855999997,7674.71353,7674.71353,7674.71353,22254.182999999997,161578.84824,475033.87776000006,170067.51195000001,259150.49440000003,158076.09,158076.09,158076.09,91622.258,103663.422,103663.422,196126.5475,51812.945999999996,77015.7864,134329.86,38124.0936,48486.6828,80844.58499999999,80844.58499999999,80844.58499999999,80844.58499999999,311681.35548,311681.35548 +10386000.0,167126.127,120270.084,351188.64528,31775.434240000002,31775.434240000002,31775.434240000002,34309.0125,524019.47407999996,461446.12864000007,288372.48867,439424.74464000005,174240.978,174240.978,174240.978,167868.435,167126.127,167126.127,377814.12915999995,63942.452999999994,95045.32519999998,165776.72999999998,47049.0148,59837.505399999995,137305.59,137305.59,137305.59,137305.59,502492.55518,502492.55518 +10389600.0,606539.175,237180.58500000002,692567.3082000001,137249.0284,137249.0284,137249.0284,346374.6405,2192000.42192,1202252.8928,1273090.7479500002,1939947.8064000004,389559.27900000004,389559.27900000004,389559.27900000004,412576.58400000003,606539.175,606539.175,1384949.95704,482366.36025,716998.8861,1250579.4525000001,354926.3589,451399.63095,700513.8060000001,700513.8060000001,700513.8060000001,700513.8060000001,1823661.1195,1823661.1195 +10393200.0,429614.24399999995,549043.953,1603208.3427600001,214493.79039000004,214493.79039000004,214493.79039000004,833689.129,2289033.3476,992702.6022400002,1530781.09149,2332618.80608,625583.577,625583.577,625583.577,667064.986,429614.24399999995,429614.24399999995,677468.40382,925314.00975,1375405.0218999998,2398962.2475,680848.3331,865911.13505,643072.422,643072.422,643072.422,643072.422,1291706.82696,1291706.82696 +10396800.0,1083248.358,518019.07499999995,1512615.699,183672.66533000002,183672.66533000002,183672.66533000002,316234.4045,1368407.3379999998,1910038.4870400003,1122960.39408,1711177.74336,683992.89,683992.89,683992.89,329048.3245,1083248.358,1083248.358,379112.58384999994,393046.17795,584231.60278,1019008.6095,289204.34822,367813.58381,1189927.29,1189927.29,1189927.29,1189927.29,3256966.7297199997,3256966.7297199997 +10400400.0,542517.459,336851.27999999997,983605.7375999999,191217.73308,191217.73308,191217.73308,170909.4415,433827.9624,2943756.90496,132308.12238000002,201612.37696000002,497098.34400000004,497098.34400000004,497098.34400000004,445256.581,542517.459,542517.459,219228.0155,794567.0214,1181060.11576,2059988.574,584644.37624,743557.78052,150813.405,150813.405,150813.405,150813.405,1631169.16006,1631169.16006 +10404000.0,144323.418,29928.546000000002,87391.35432,119765.83058000002,119765.83058000002,119765.83058000002,98218.8235,138136.25896,132823.96480000002,75677.63301,115318.29792,42443.58,42443.58,42443.58,40941.6245,144323.418,144323.418,70006.24071999999,46915.264800000004,69735.77632,121632.16800000002,34520.36768,43903.420640000004,47860.869,47860.869,47860.869,47860.869,433932.41012,433932.41012 +10407600.0,185054.80199999997,468783.31799999997,1368847.28856,115176.74685000001,115176.74685000001,115176.74685000001,253142.4595,418694.30903999996,371230.62656,216497.76099,329901.35008,92734.188,92734.188,92734.188,309225.21699999995,185054.80199999997,185054.80199999997,120051.38547999998,77995.19159999999,115933.59344,202209.756,57389.05456,72988.09288,111015.13200000001,111015.13200000001,111015.13200000001,111015.13200000001,556398.1046799999,556398.1046799999 +10411200.0,150725.814,65392.011,190944.67212,94913.29133000001,94913.29133000001,94913.29133000001,199601.53499999997,298087.55176,224928.15872,147820.03929000002,225249.58368,106159.47899999999,106159.47899999999,106159.47899999999,73551.4955,150725.814,150725.814,118535.0907,68062.72049999998,101169.77219999998,176458.90499999997,50080.71779999999,63693.26189999999,99642.79200000002,99642.79200000002,99642.79200000002,99642.79200000002,453182.28076,453182.28076 +10414800.0,33318.291,10799.394,31534.23048,67165.15058,67165.15058,67165.15058,57965.20799999999,61222.9684,26630.181760000003,32807.20989,49991.93888,22446.549,22446.549,22446.549,20705.7725,33318.291,33318.291,11797.987239999997,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,15141.392999999998,15141.392999999998,15141.392999999998,15141.392999999998,100176.99493999999,100176.99493999999 +10418400.0,122154.56100000002,82570.824,241106.80608,61143.36580000001,61143.36580000001,61143.36580000001,64906.442999999985,250902.74032,26228.82944,237010.84827000002,361159.38784000004,55763.409,55763.409,55763.409,42330.928499999995,122154.56100000002,122154.56100000002,281610.83911999996,41182.0848,61213.86431999999,106768.36799999999,30301.87968,38538.29664,31779.510000000002,31779.510000000002,31779.510000000002,31779.510000000002,367278.04674,367278.04674 +10422000.0,40392.462,183965.20200000002,537178.3898400001,240611.66415000003,240611.66415000003,240611.66415000003,189093.25400000002,243287.28688,53483.58848000001,30518.553029999995,46504.46176,44242.89,44242.89,44242.89,288322.293,40392.462,40392.462,214840.61729,97576.9578,145040.31751999998,252977.298,71797.36648,91312.75804,56256.98700000001,56256.98700000001,56256.98700000001,56256.98700000001,121446.66907999999,121446.66907999999 +10425600.0,31660.905,10796.103,31524.620759999998,53288.73385,53288.73385,53288.73385,43769.404,37897.61712,28098.067840000003,25394.768280000004,38696.78976000001,11582.678999999998,11582.678999999998,11582.678999999998,15529.3285,31660.905,31660.905,13939.288609999998,15462.288449999998,22983.450979999998,40087.4145,11377.190019999998,14469.64771,12543.432,12543.432,12543.432,12543.432,95193.7877,95193.7877 +10429200.0,634604.6039999999,264268.806,771664.91352,126496.36923000001,126496.36923000001,126496.36923000001,512646.04999999993,804875.6795199999,568030.0140800001,797901.8867400001,1215850.49408,544013.439,544013.439,544013.439,104968.402,634604.6039999999,634604.6039999999,9502.102089999998,141723.76004999998,210660.99641999998,367431.9705,104280.69258,132625.44459,383516.00099999993,383516.00099999993,383516.00099999993,383516.00099999993,1908044.5093599998,1908044.5093599998 +10432800.0,206162.49299999996,76328.86200000001,222880.27704000002,162458.42932000002,162458.42932000002,162458.42932000002,190729.10849999997,339747.87504,320390.23616000003,240554.70138,366559.54496,141815.619,141815.619,141815.619,87836.6615,206162.49299999996,206162.49299999996,39312.00493999999,81709.45469999999,121454.54747999998,211839.327,60122.01852,76463.90946,124325.00399999999,124325.00399999999,124325.00399999999,124325.00399999999,619861.8956199999,619861.8956199999 +10436400.0,483022.32,328215.14400000003,958388.22048,184720.22635,184720.22635,184720.22635,465584.14,1002861.7944,896251.39136,645548.6074799999,983693.1161599999,451472.304,451472.304,451472.304,301360.696,483022.32,483022.32,233676.64462999997,312768.25244999997,464904.90857999993,810880.6545,230135.65241999997,292689.30290999997,414591.081,414591.081,414591.081,414591.081,1452287.1088,1452287.1088 +10440000.0,600468.897,477509.409,1394327.4742799997,172200.17375000002,172200.17375000002,172200.17375000002,504222.649,1210690.82048,1260550.3046400002,863433.45753,1315708.12576,597532.689,597532.689,597532.689,553008.7990000001,600468.897,600468.897,377224.75986,432489.24135,642860.55134,1121268.4035,318226.65166000003,404724.49993,542752.4639999999,542752.4639999999,542752.4639999999,542752.4639999999,1805409.81698,1805409.81698 +10443600.0,443395.32,393364.191,1148623.43772,138122.48296000002,138122.48296000002,138122.48296000002,353081.26,681310.1388,961567.46944,544269.48219,829363.0204800001,337122.642,337122.642,337122.642,393819.223,443395.32,443395.32,393538.14903,263259.99944999994,391314.86337999994,682525.9244999998,193707.35761999997,246359.35750999997,420334.743,420334.743,420334.743,420334.743,1333141.9287999999,1333141.9287999999 +10447200.0,86992.431,70909.83299999998,207056.71235999998,78039.30332,78039.30332,78039.30332,74017.84599999999,129711.37568,491023.63712,123338.09271,187943.76032,100404.012,100404.012,100404.012,93018.1805,86992.431,86992.431,128703.91651,51355.39725,76335.6769,133143.6225,37787.428100000005,48058.50755,73582.974,73582.974,73582.974,73582.974,261557.24253999998,261557.24253999998 +10450800.0,87147.3,78483.54299999999,229171.94555999996,39812.12543,39812.12543,39812.12543,40776.490999999995,116257.91952,518045.6512000001,123935.77140000001,188854.5088,115734.312,115734.312,115734.312,92298.815,87147.3,87147.3,139142.50635999997,48446.19315,72011.37846,125601.2415,35646.82854,45336.06717,76043.904,76043.904,76043.904,76043.904,262022.882,262022.882 +10454400.0,86631.67499999999,92269.038,269425.59096,16130.455990000004,16130.455990000004,16130.455990000004,20134.499,140536.54568,529647.3107200001,115965.17499,176708.83808000002,130846.95599999998,130846.95599999998,130846.95599999998,90030.045,86631.67499999999,86631.67499999999,182336.84027,43117.6527,64090.93068,111786.50700000001,31726.075320000004,40349.60586,73323.64199999999,73323.64199999999,73323.64199999999,73323.64199999999,260472.56949999998,260472.56949999998 +10458000.0,102315.23700000002,101128.42500000002,295295.00100000005,10719.973000000002,10719.973000000002,10719.973000000002,19039.5765,186518.87191999998,540586.03008,120657.57311999999,183859.15904,135860.844,135860.844,135860.844,92417.836,102315.23700000002,102315.23700000002,210714.44056,50490.30915,75049.79286,130900.8015,37150.894140000004,47248.95597,74696.307,74696.307,74696.307,74696.307,307627.81258,307627.81258 +10461600.0,110729.307,110719.89600000001,323302.09632,5915.4397500000005,5915.4397500000005,5915.4397500000005,25248.188000000002,189314.67848,553646.29504,156978.47759999998,239205.29919999998,139974.852,139974.852,139974.852,93536.611,110729.307,110729.307,218570.54140999998,57978.16785,86179.89394,150313.7685,42660.47906,54256.112629999996,77902.008,77902.008,77902.008,77902.008,332926.11637999996,332926.11637999996 +10465200.0,121086.39000000001,120687.30300000001,352406.92476,6661.30795,6661.30795,6661.30795,27421.0265,194984.5476,564205.80288,202704.70101000002,308883.35392,188206.83899999998,188206.83899999998,188206.83899999998,116706.19100000002,121086.39000000001,121086.39000000001,235340.50058999998,62027.434799999995,92198.80432,160811.868,45639.939679999996,58045.42664,95500.545,95500.545,95500.545,95500.545,364066.41260000004,364066.41260000004 +10468800.0,143522.586,124077.10500000001,362305.14660000004,11151.1895,11151.1895,11151.1895,36793.851500000004,218026.78152000002,568006.2848000001,227999.00045999998,347427.04832,229543.98,229543.98,229543.98,169929.095,143522.586,143522.586,238309.93003999998,71395.5789,106123.79875999999,185099.649,52533.04324,66812.15902,121745.32199999999,121745.32199999999,121745.32199999999,121745.32199999999,431524.57524,431524.57524 +10472400.0,232606.305,147344.871,430247.02332000004,34506.85194000001,34506.85194000001,34506.85194000001,41860.587999999996,620110.60048,537325.9904,359911.66659,548436.82528,242432.91,242432.91,242432.91,228607.2495,232606.305,232606.305,424590.39310999995,88356.53745,131334.90258,229072.5045,65012.95842,82684.26591,205640.604,205640.604,205640.604,205640.604,699369.6237,699369.6237 +10476000.0,710749.5930000001,279530.967,816230.4236399999,165712.94784,165712.94784,165712.94784,498379.66150000005,2479382.3543200004,1647024.4531200002,1570687.38708,2393428.39936,470727.98099999997,470727.98099999997,470727.98099999997,672627.0425,710749.5930000001,710749.5930000001,1454654.5001299998,680436.6646499999,1011414.4990599998,1764095.0565,500666.97793999995,636754.3108699999,815395.464,815395.464,815395.464,815395.464,2136987.1096200002,2136987.1096200002 +10479600.0,469406.13300000003,607473.738,1773823.31496,235726.66293000002,235726.66293000002,235726.66293000002,999892.81,2532039.87648,1138729.2076800002,1664435.21412,2536282.23104,670361.9879999999,670361.9879999999,670361.9879999999,764606.0974999999,469406.13300000003,469406.13300000003,818516.2762399999,1051656.57855,1563203.1118199998,2726517.0555,773811.50718,984142.82289,707275.869,707275.869,707275.869,707275.869,1411347.77322,1411347.77322 +10483200.0,1167845.922,631226.274,1843180.7200799999,190728.57606,190728.57606,190728.57606,384711.9115,1618213.2737599998,2311195.23904,1284365.12232,1957127.80544,810601.6950000001,810601.6950000001,810601.6950000001,403755.072,1167845.922,1167845.922,415078.01205,481506.11999999994,715720.2079999999,1248349.2,354293.392,450594.616,1307703.9870000002,1307703.9870000002,1307703.9870000002,1307703.9870000002,3511323.4054799997,3511323.4054799997 +10486800.0,564140.574,345750.69,1009592.0147999999,198054.07137999998,198054.07137999998,198054.07137999998,181578.1135,465638.51832000003,3283270.5580800003,138141.78189,210501.76288,496773.60599999997,496773.60599999997,496773.60599999997,439933.0425,564140.574,564140.574,235648.36945,892460.6000999999,1326571.06484,2313786.741,656674.7131599999,835166.83318,153089.07,153089.07,153089.07,153089.07,1696182.65916,1696182.65916 +10490400.0,164089.75799999997,33310.346999999994,97266.21323999998,123575.73723000001,123575.73723000001,123575.73723000001,98282.8875,134622.6288,160665.78688000003,79599.21144000001,121294.03648000001,45098.990999999995,45098.990999999995,45098.990999999995,43108.915499999996,164089.75799999997,164089.75799999997,70677.9957,50414.238,74936.71919999999,130703.57999999999,37094.9208,47177.76839999999,50957.844,50957.844,50957.844,50957.844,493363.2057199999,493363.2057199999 +10494000.0,198401.88300000003,498550.392,1455767.14464,116513.44474000002,116513.44474000002,116513.44474000002,278716.57800000004,436532.92192,389319.66016,238392.54705000002,363264.8336,100598.661,100598.661,100598.661,345754.465,198401.88300000003,198401.88300000003,129928.92730999998,88510.44555,131563.67462,229471.52550000002,65126.20438,82828.29349,128290.977,128290.977,128290.977,128290.977,596528.32822,596528.32822 +10497600.0,269779.599,164826.78,481294.1976,102152.97884,102152.97884,102152.97884,232658.468,553822.50664,501844.34112,298248.32204999996,454473.6336,200261.68499999997,200261.68499999997,200261.68499999997,142682.82,269779.599,269779.599,220865.97922999997,144494.3772,214779.29647999996,374615.05199999997,106319.31951999999,135218.19496,207731.84999999998,207731.84999999998,207731.84999999998,207731.84999999998,811137.32766,811137.32766 +10501200.0,165622.521,86806.593,253475.25155999998,77524.05353,77524.05353,77524.05353,79851.4535,325150.36871999997,296603.31392000004,158926.6581,242173.9552,123804.783,123804.783,123804.783,81999.06049999999,165622.521,165622.521,141275.44795,70067.3895,104149.55179999999,181656.195,51555.7582,65569.2361,117338.988,117338.988,117338.988,117338.988,497971.71314,497971.71314 +10504800.0,212610.37800000003,126989.967,370810.70364,120336.50970000001,120336.50970000001,120336.50970000001,119324.83499999999,408165.84024000005,129829.50592000001,375050.21967,571505.09664,107037.282,107037.282,107037.282,212915.0905,212610.37800000003,212610.37800000003,407198.73662,145571.97285,216381.05594,377408.8185,107112.21706,136226.61163,78364.68900000001,78364.68900000001,78364.68900000001,78364.68900000001,639248.53652,639248.53652 +10508400.0,55785.606,278258.886,812515.94712,261135.77061,261135.77061,261135.77061,246830.23049999998,368767.64096,77668.86016000001,47029.74864,71664.37888,88151.87400000001,88151.87400000001,88151.87400000001,393809.27249999996,55785.606,55785.606,319437.71808,135666.0171,201656.64763999998,351726.711,99823.39035999999,126956.59378,91004.073,91004.073,91004.073,91004.073,167728.72204,167728.72204 +10512000.0,35661.558,11287.275,32958.84299999999,82019.93833,82019.93833,82019.93833,55681.2235,39190.926,35279.46624,26655.895770000003,40618.507840000006,12191.880000000001,12191.880000000001,12191.880000000001,15529.3285,35661.558,35661.558,16810.060149999998,15709.37085,23350.719139999997,40727.9985,11558.99386,14700.86803,13110.669,13110.669,13110.669,13110.669,107222.41772,107222.41772 +10515600.0,790650.5280000002,449097.06299999997,1311363.4239599998,139616.62066000002,139616.62066000002,139616.62066000002,911927.639,1148481.2191199998,975311.67296,1170196.14222,1783156.02624,804459.4439999999,804459.4439999999,804459.4439999999,255260.23950000003,790650.5280000002,790650.5280000002,16031.51836,361848.7282499999,537859.0972999999,938126.3324999999,266249.18769999995,338618.93334999995,577402.419,577402.419,577402.419,577402.419,2377222.58752,2377222.58752 +10519200.0,272300.47199999995,98730.13799999998,288292.00295999995,168394.74410000004,168394.74410000004,168394.74410000004,201088.9125,434183.67096,330955.28192000004,274166.75349000003,417777.91008,157092.807,157092.807,157092.807,118059.8195,272300.47199999995,272300.47199999995,76619.79832,104440.82895,155242.91118,270772.5195,76847.81982,97735.98561,158711.148,158711.148,158711.148,158711.148,818716.7524799999,818716.7524799999 +10522800.0,567615.1830000001,416460.768,1216065.4425599999,195867.69587000003,195867.69587000003,195867.69587000003,525334.166,1161389.3536,1145819.77984,813451.84956,1239545.67552,547985.373,547985.373,547985.373,507635.8594999999,567615.1830000001,567615.1830000001,427979.8125199999,420593.7717,625178.8902799999,1090428.297,309473.93572,393592.69006,509730.06899999996,509730.06899999996,509730.06899999996,509730.06899999996,1706629.65022,1706629.65022 +10526400.0,656772.483,552683.619,1613836.1674799998,218352.83008000004,218352.83008000004,218352.83008000004,584700.2174999999,1296386.88704,1763445.01184,994155.75567,1514904.00864,648947.448,648947.448,648947.448,736156.4,656772.483,656772.483,543946.57967,653892.9686999999,971959.4250799997,1695278.0669999998,481136.0609199999,611914.6546599999,635768.949,635768.949,635768.949,635768.949,1974695.9322199998,1974695.9322199998 +10530000.0,459900.0299999999,390344.454,1139805.80568,217549.86792,217549.86792,217549.86792,365489.9955,691472.7082400001,1136251.13536,612428.50053,933224.38176,345674.40300000005,345674.40300000005,345674.40300000005,412574.169,459900.0299999999,459900.0299999999,393636.72516999993,331899.57765,493342.08826,860480.3865,244212.52874,310592.44427000004,474637.296,474637.296,474637.296,474637.296,1382766.0901999997,1382766.0901999997 +10533600.0,86913.525,67037.853,195750.53076,77957.32945,77957.32945,77957.32945,73717.2205,124754.55304000001,457899.15072,130811.54205000002,199331.87360000002,102147.43500000001,102147.43500000001,102147.43500000001,93410.1525,86913.525,86913.525,121450.91269999999,55946.72835,83160.32213999999,145047.0735,41165.74086,52355.08653,76123.824,76123.824,76123.824,76123.824,261319.9985,261319.9985 +10537200.0,81983.664,71382.02399999999,208435.51007999998,39597.51433,39597.51433,39597.51433,40098.933,110776.31447999999,459828.5881600001,114354.67428,174254.74176,111343.701,111343.701,111343.701,85244.2395,81983.664,81983.664,121399.34469,45513.32085,67651.89914,117997.4985,33488.81386,42591.47803,69478.083,69478.083,69478.083,69478.083,246497.54976000002,246497.54976000002 +10540800.0,83760.159,79068.378,230879.66376,15848.65733,15848.65733,15848.65733,22831.350499999997,123878.00408,460027.14816000004,103939.57622999999,158384.11616,113869.848,113869.848,113869.848,78970.68549999999,83760.159,83760.159,160206.81429999997,38870.90775,57778.48509999999,100776.42749999999,28601.309899999997,36375.491449999994,65516.259000000005,65516.259000000005,65516.259000000005,65516.259000000005,251838.87806,251838.87806 +10544400.0,88212.762,86724.447,253235.38524,10369.14307,10369.14307,10369.14307,26376.805,153398.67848,459424.68992000003,104077.39545,158594.12639999998,113339.40600000002,113339.40600000002,113339.40600000002,79381.806,88212.762,88212.762,170939.64146999997,41434.32285,61588.795939999996,107422.3185,30487.47706,38774.34163,64624.221,64624.221,64624.221,64624.221,265226.37108,265226.37108 +10548000.0,96129.873,96747.37499999999,282502.33499999996,4953.4423400000005,4953.4423400000005,4953.4423400000005,22021.489,163555.18016,467183.92512,123195.73329,187726.83168,115976.505,115976.505,115976.505,79506.126,96129.873,96129.873,186415.88861999998,48425.34375,71980.3875,125547.1875,35631.4875,45316.55625,65782.20000000001,65782.20000000001,65782.20000000001,65782.20000000001,289030.48482,289030.48482 +10551600.0,103468.704,103991.274,303654.52008,6714.28714,6714.28714,6714.28714,27851.8205,169024.63215999998,485233.94304000004,158490.92448,241509.98016,121160.013,121160.013,121160.013,83408.6295,103468.704,103468.704,204074.85605,52971.5052,78737.89168,137333.532,38976.56432,49570.86536,74531.898,74531.898,74531.898,74531.898,311095.90336,311095.90336 +10555200.0,113295.53099999999,108476.244,316750.63248,9508.94857,9508.94857,9508.94857,32976.2965,174194.5856,497218.73088,191486.8956,291789.5552,167955.954,167955.954,167955.954,108454.95850000001,113295.53099999999,113295.53099999999,208521.54231999998,58119.52905,86390.01602,150680.2605,42764.49298,54388.39879,91573.068,91573.068,91573.068,91573.068,340641.8965399999,340641.8965399999 +10558800.0,193394.09999999998,131169.16199999998,383013.95303999993,33928.964850000004,33928.964850000004,33928.964850000004,40122.7085,550663.3236,498765.82336000004,322966.71162,492139.75104,198923.637,198923.637,198923.637,199864.91700000002,193394.09999999998,193394.09999999998,395017.84452,78142.08105,116151.93281999999,202590.5805,57497.13618,73125.55239,166049.142,166049.142,166049.142,166049.142,581471.5939999999,581471.5939999999 +10562400.0,664490.67,261344.991,763127.37372,179128.27427,179128.27427,179128.27427,468218.779,2340009.4344800003,1549068.3097599999,1475085.8350199999,2247749.84384,444413.655,444413.655,444413.655,605820.887,664490.67,664490.67,1452437.04684,641027.4470999999,952835.8596399998,1661923.011,471669.5783599999,599875.0677799999,778805.895,778805.895,778805.895,778805.895,1997901.9478,1997901.9478 +10566000.0,469840.827,607752.855,1774638.3366,268492.27526,268492.27526,268492.27526,979356.6684999999,2468201.6743199998,1107279.2294400001,1633856.0880599997,2489685.46752,662498.34,662498.34,662498.34,736252.44,469840.827,469840.827,788229.6350499998,1041934.2133500001,1548751.59614,2701310.9235,766657.7668600001,975044.6095300001,708835.59,708835.59,708835.59,708835.59,1412654.75318,1412654.75318 +10569600.0,1185935.07,652789.008,1906143.90336,198611.77941000002,198611.77941000002,198611.77941000002,427788.51499999996,1603963.1189599999,2424008.76224,1302696.24744,1985060.9484800003,804231.6449999999,804231.6449999999,804231.6449999999,427880.4215,1185935.07,1185935.07,450015.52881999995,497342.87955,739260.28022,1289407.4655000002,365946.11878,465414.69469000003,1309852.389,1309852.389,1309852.389,1309852.389,3565711.4438,3565711.4438 +10573200.0,584099.703,360869.187,1053738.02604,199949.69016000003,199949.69016000003,199949.69016000003,184440.5255,485729.63672,3341086.5734400004,149707.67091000002,228125.97472000003,531800.8080000001,531800.8080000001,531800.8080000001,480352.9535,584099.703,584099.703,246337.06968,910473.372,1353345.6047999999,2360486.52,669928.5552,852023.2296,165046.83299999998,165046.83299999998,165046.83299999998,165046.83299999998,1756193.10702,1756193.10702 +10576800.0,188748.99300000002,42713.418000000005,124723.18056000001,126427.69205000001,126427.69205000001,126427.69205000001,98947.59349999999,224880.9676,204834.34368,105555.08082,160845.83744,67536.534,67536.534,67536.534,49610.025499999996,188748.99300000002,188748.99300000002,101183.69872,57856.3803,85998.86652,149998.023,42570.86748,54142.14354,72452.05500000001,72452.05500000001,72452.05500000001,72452.05500000001,567505.30562,567505.30562 +10580400.0,233892.009,537375.1410000001,1569135.4117200002,118294.40755,118294.40755,118294.40755,288788.8675,545237.87016,492400.01152,314134.40457,478680.99744000006,137025.357,137025.357,137025.357,364481.7785,233892.009,233892.009,153538.97103999997,104320.01745,155063.33458,270459.3045,76758.92642,97622.92991,160605.186,160605.186,160605.186,160605.186,703235.3070599999,703235.3070599999 +10584000.0,316405.65599999996,205109.61,598920.0612,103765.30527000001,103765.30527000001,103765.30527000001,258013.41649999996,657364.1940799999,739099.13728,372698.16423,567921.01216,255316.86000000004,255316.86000000004,255316.86000000004,191304.91449999998,316405.65599999996,316405.65599999996,277289.28018999996,187241.03370000003,278318.77108000003,485439.71700000006,137772.41492,175220.62166000003,256670.055,256670.055,256670.055,256670.055,951326.3390399999,951326.3390399999 +10587600.0,200305.989,121490.919,354753.48348,79893.55462,79893.55462,79893.55462,94392.053,407635.64999999997,450795.41376,209783.63112,319670.29504,160784.565,160784.565,160784.565,107306.388,200305.989,200305.989,180719.72788999998,102516.0786,152381.92424,265782.42600000004,75431.58376000001,95934.79948,154803.213,154803.213,154803.213,154803.213,602253.34026,602253.34026 +10591200.0,252846.24299999996,159544.45799999998,465869.81736,155628.27742000003,155628.27742000003,155628.27742000003,147810.13450000001,519670.53119999997,203619.72224000003,453378.30552,690862.17984,142220.478,142220.478,142220.478,299042.0195,252846.24299999996,252846.24299999996,479965.09482999996,188129.42955,279639.30022,487742.96550000005,138426.09878,176051.98469,108507.58499999999,108507.58499999999,108507.58499999999,108507.58499999999,760224.3706199998,760224.3706199998 +10594800.0,98679.984,323854.314,945654.59688,266811.43445,266811.43445,266811.43445,268277.6145,502551.08511999995,150422.19072,89666.79582,136635.11744,135616.50900000002,135616.50900000002,135616.50900000002,455001.24950000003,98679.984,98679.984,400111.58641999995,161175.63465,239574.64706,417862.7565,118593.42994,150828.55687,126867.444,126867.444,126867.444,126867.444,296697.81856,296697.81856 +10598400.0,74319.94200000001,28362.669,82818.99348,103093.61282000001,103093.61282000001,103093.61282000001,66896.78099999999,122404.17495999999,109181.0176,51530.67108,78522.92736,37809.54,37809.54,37809.54,35399.8925,74319.94200000001,74319.94200000001,67323.20829,25095.11625,37301.8765,65061.4125,18465.0485,23484.07175,34053.885,34053.885,34053.885,34053.885,223455.29228,223455.29228 +10602000.0,918053.496,572178.51,1670761.2492,176815.61073,176815.61073,176815.61073,1207190.2429999998,1487580.87168,1400782.98368,1491796.5869100003,2273213.8467200003,1016065.2270000002,1016065.2270000002,1016065.2270000002,523235.94749999995,918053.496,918053.496,158802.61656999998,577533.47895,858457.17118,1497309.0195,424950.55981999997,540457.25561,724215.72,724215.72,724215.72,724215.72,2760280.84464,2760280.84464 +10605600.0,426717.921,210011.613,613233.90996,181276.85169,181276.85169,181276.85169,291741.142,719234.64328,636865.0105600001,470733.51464999997,717308.2128,303134.292,303134.292,303134.292,259413.266,426717.921,426717.921,178163.21288999997,194946.41384999998,289772.20034,505416.6285,143442.05266000002,182431.33543,297738.81299999997,297738.81299999997,297738.81299999997,297738.81299999997,1282998.54914,1282998.54914 +10609200.0,711068.241,583413.336,1703566.9411199999,244774.37468,244774.37468,244774.37468,653792.398,1417612.53248,1905858.53248,1079497.7067,1644948.8864,709733.0249999999,709733.0249999999,709733.0249999999,855169.686,711068.241,711068.241,575173.60953,703714.2381000001,1046014.74404,1824444.3210000002,517794.67396000004,658537.5215800001,705015.597,705015.597,705015.597,705015.597,2137945.17794,2137945.17794 +10612800.0,779745.702,644191.512,1881039.21504,273252.4902800001,273252.4902800001,273252.4902800001,760909.7685,1528140.7053600003,2317114.89472,1237962.92592,1886419.6966400002,789645.1409999998,789645.1409999998,789645.1409999998,997812.1545000002,779745.702,779745.702,631710.77281,941094.7335,1398861.8014,2439875.235,692459.8286,880678.7753,845930.808,845930.808,845930.808,845930.808,2344435.4106799997,2344435.4106799997 +10616400.0,538577.9789999999,465244.68,1358514.4656,242366.42837000004,242366.42837000004,242366.42837000004,474351.6294999999,800354.57928,1617128.0083200003,734408.46969,1119098.62048,432988.485,432988.485,432988.485,520729.4715,538577.9789999999,538577.9789999999,467585.54492,439321.13369999995,653015.61108,1138980.717,323253.57492,411117.80166,554288.955,554288.955,554288.955,554288.955,1619324.4568599998,1619324.4568599998 +10620000.0,102703.40399999998,82217.679,240075.62268,78475.72942,78475.72942,78475.72942,84144.928,155570.7088,543142.48192,148111.04196,225693.01632,142315.785,142315.785,142315.785,110326.832,102703.40399999998,102703.40399999998,140755.25126,63874.1538,94943.80391999999,165599.658,46998.76008,59773.590840000004,87770.475,87770.475,87770.475,87770.475,308794.9013599999,308794.9013599999 +10623600.0,100276.42800000001,91594.01699999999,267454.52963999996,40067.38362000001,40067.38362000001,40067.38362000001,56082.761,148447.9236,533844.0204800001,129524.68998,197370.95616,137043.228,137043.228,137043.228,98556.84300000001,100276.42800000001,100276.42800000001,184075.50616,53381.56365,79347.41066,138396.6465,39278.28634,49954.59907,79927.01699999999,79927.01699999999,79927.01699999999,79927.01699999999,301497.79352,301497.79352 +10627200.0,99468.84599999999,99325.01999999999,290029.0584,16691.021160000004,16691.021160000004,16691.021160000004,35950.764500000005,190842.98312,542691.0054400001,132989.51946,202650.69632000002,138306.729,138306.729,138306.729,96316.983,99468.84599999999,99468.84599999999,201031.60752999998,47182.80374999999,70133.4515,122325.78749999999,34717.2235,44153.78425,76838.814,76838.814,76838.814,76838.814,299069.66364,299069.66364 +10630800.0,110172.42300000001,114291.70200000002,333731.76984,12007.765770000002,12007.765770000002,12007.765770000002,33291.943999999996,194402.06016,543791.98528,148713.50235000002,226611.05120000002,138844.029,138844.029,138844.029,94949.3545,110172.42300000001,110172.42300000001,223253.38906,56250.7821,83612.27364,145835.361,41389.46436,52639.620780000005,78536.352,78536.352,78536.352,78536.352,331251.75182,331251.75182 +10634400.0,117847.10999999999,119540.226,349057.45992,7746.4269300000005,7746.4269300000005,7746.4269300000005,36731.037000000004,194828.07064000002,555562.05632,195536.82645000002,297960.87840000005,141469.38900000002,141469.38900000002,141469.38900000002,96708.3425,117847.10999999999,117847.10999999999,235190.03897999995,61201.20645,90970.68217999999,158669.7945,45031.99882,57272.24011,88891.46699999999,88891.46699999999,88891.46699999999,88891.46699999999,354326.9773999999,354326.9773999999 +10638000.0,135770.352,126042.006,368042.65752,8992.22137,8992.22137,8992.22137,38216.171,205394.14319999996,577856.0467200001,232264.06917,353926.20064,209285.81399999998,209285.81399999998,209285.81399999998,144711.8015,135770.352,135770.352,244011.56454999998,72236.205,107373.322,187279.05000000002,53151.57800000001,67598.819,135949.836,135949.836,135949.836,135949.836,408216.19168,408216.19168 +10641600.0,166854.56999999998,135567.387,395856.77004,12589.120499999999,12589.120499999999,12589.120499999999,51382.3345,248158.99152,582498.9561600001,248953.16334000003,379357.20128000004,249201.0,249201.0,249201.0,186323.79499999998,166854.56999999998,166854.56999999998,258445.34520999997,85815.08954999999,127557.24422,222483.5655,63142.95478,80305.97269,182941.029,182941.029,182941.029,182941.029,501676.07379999995,501676.07379999995 +10645200.0,191416.902,145129.272,423777.47424,30902.236090000002,30902.236090000002,30902.236090000002,62377.931,323520.7576,572814.1024000001,274575.90279,418401.37568000006,273182.328,273182.328,273182.328,190432.4345,191416.902,191416.902,278443.90625999996,93841.59825,139488.0053,243293.0325,69048.8797,87817.19935,222471.45299999998,222471.45299999998,222471.45299999998,222471.45299999998,575526.8186799999,575526.8186799999 +10648800.0,692868.792,714852.4890000001,2087369.26788,245240.84959,245240.84959,245240.84959,817656.749,1057051.76176,477384.52352000005,781409.48949,1190719.22208,268653.75899999996,268653.75899999996,268653.75899999996,1228031.5355,692868.792,692868.792,1168537.0613799999,337412.25945,501536.24738,874772.5245,248268.77362000002,315751.22551,839636.811,839636.811,839636.811,839636.811,2083225.50128,2083225.50128 +10652400.0,1110002.6519999998,1032340.149,3014433.2350799995,600650.6244200001,600650.6244200001,600650.6244200001,1104066.1904999998,1826541.05336,1725908.09792,1641177.19437,2500841.43904,673645.293,673645.293,673645.293,703912.825,1110002.6519999998,1110002.6519999998,289694.48663999996,843124.1764499999,1253236.4301799997,2185877.4944999996,620372.8508199999,788997.6861099999,1202527.3469999998,1202527.3469999998,1202527.3469999998,1202527.3469999998,3337407.9736799994,3337407.9736799994 +10656000.0,935736.9209999999,641035.569,1871823.8614800002,286714.73160000006,286714.73160000006,286714.73160000006,596625.5295000001,1623356.73112,2735603.29088,1323104.9825700002,2016159.9734400003,1115911.6709999999,1115911.6709999999,1115911.6709999999,802607.477,935736.9209999999,935736.9209999999,429979.95001,1120680.2141999998,1665801.2072799997,2905467.222,824599.2687199999,1048735.31156,658967.283,658967.283,658967.283,658967.283,2813449.0091399997,2813449.0091399997 +10659600.0,721646.169,369429.97199999995,1078735.51824,220534.09367000003,220534.09367000003,220534.09367000003,1057439.978,1715947.77616,2408439.9283200004,1245094.788,1897287.296,921174.6300000001,921174.6300000001,921174.6300000001,1110437.9895000001,721646.169,721646.169,553588.30163,1158303.7057500002,1721725.5083,3003009.6075000004,852282.7267000001,1083943.4678500001,719949.213,719949.213,719949.213,719949.213,2169749.48146,2169749.48146 +10663200.0,352949.74199999997,206608.79700000002,603297.68724,172787.76779,172787.76779,172787.76779,567713.1005000001,1114802.3946399998,1108519.0707200002,675229.35354,1028920.91968,254139.594,254139.594,254139.594,437284.386,352949.74199999997,352949.74199999997,108401.88293999998,448086.7431,666044.98604,1161706.371,329703.33196000004,419320.68058000004,301092.83400000003,301092.83400000003,301092.83400000003,301092.83400000003,1061202.22428,1061202.22428 +10666800.0,183922.179,69723.615,203592.9558,129952.73533000001,129952.73533000001,129952.73533000001,115211.92899999999,491275.14303999994,229361.92192,262357.6788,399783.12960000004,121214.91,121214.91,121214.91,86051.92749999999,183922.179,183922.179,57818.06147,64239.334200000005,95486.61528000001,166546.42200000002,47267.46072,60115.327560000005,130925.043,130925.043,130925.043,130925.043,552992.68486,552992.68486 +10670400.0,333747.945,180222.35100000002,526249.26492,115062.97,115062.97,115062.97,214638.067,680437.47344,630851.2646400001,437383.15194,666488.61248,294476.961,294476.961,294476.961,237274.4605,333747.945,333747.945,156967.56789999997,189770.80544999999,282079.07378,491998.38450000004,139633.82722,177587.98831000002,265286.505,265286.505,265286.505,265286.505,1003468.8213,1003468.8213 +10674000.0,317171.16,171611.346,501105.13032,93936.88205000001,93936.88205000001,93936.88205000001,223614.1145,636499.3807999999,648651.1948800001,406444.55313,619344.08096,280535.637,280535.637,280535.637,234289.12150000004,317171.16,317171.16,134976.68561,203978.54565000001,303197.73946,528833.2665,150087.91754000002,190883.62667000003,259477.32,259477.32,259477.32,259477.32,953627.9543999998,953627.9543999998 +10677600.0,195763.995,96928.11300000001,283030.08996,76026.20806,76026.20806,76026.20806,105847.77350000001,374291.41664,312699.0336,226362.91524,344933.96608,150262.59,150262.59,150262.59,96636.8515,195763.995,195763.995,73156.7811,71787.4893,106706.34212,186115.71300000002,52821.41188,67178.90974,137592.324,137592.324,137592.324,137592.324,588597.0782999999,588597.0782999999 +10681200.0,29457.384000000002,3691.7309999999998,10779.854519999999,46525.435770000004,46525.435770000004,46525.435770000004,38649.69149999999,39248.91136,14138.15744,26352.818100000004,40156.675200000005,6807.357,6807.357,6807.357,13803.846000000001,29457.384000000002,29457.384000000002,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,14646.341999999999,14646.341999999999,14646.341999999999,14646.341999999999,88568.53456,88568.53456 +10684800.0,103927.85699999999,24201.425999999996,70668.16391999999,65392.94234,65392.94234,65392.94234,46933.243,143851.21871999998,94471.22496,74135.14836,112967.84512,43265.319,43265.319,43265.319,18398.1105,103927.85699999999,103927.85699999999,10595.37661,17610.165449999997,26176.097779999993,45655.98449999999,12957.603219999997,16479.636309999998,46054.323000000004,46054.323000000004,46054.323000000004,46054.323000000004,312476.42338,312476.42338 +10688400.0,48361.254,7757.946,22653.20232,85367.5581,85367.5581,85367.5581,71248.82800000001,70622.7112,30650.689920000004,47996.74845,73137.9024,12885.621,12885.621,12885.621,25307.054500000002,48361.254,48361.254,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,25339.56,25339.56,25339.56,25339.56,145406.17036000002,145406.17036000002 +10692000.0,198233.001,67222.557,196289.86643999998,165585.72371000002,165585.72371000002,165585.72371000002,137792.662,376448.95207999996,267836.19136,217666.25391,331681.91072,122822.823,122822.823,122822.823,78944.8835,198233.001,198233.001,56705.23911,58973.65785,87659.60994,152894.6685,43392.96306,55187.694630000005,119021.205,119021.205,119021.205,119021.205,596020.55634,596020.55634 +10695600.0,615936.726,398298.948,1163032.92816,191830.63845,191830.63845,191830.63845,393902.33400000003,1283959.3612,1222306.73472,832717.9467600001,1268903.53792,576077.196,576077.196,576077.196,400973.49250000005,615936.726,615936.726,317768.06126,308654.18955,458789.68422,800214.5655,227108.51478000003,288839.35269,519376.407,519376.407,519376.407,519376.407,1851916.42284,1851916.42284 +10699200.0,685760.88,588960.2220000001,1719763.8482400002,169087.84882,169087.84882,169087.84882,527983.2494999999,1256292.19768,1402627.4048,908632.7714099999,1384583.27072,571073.565,571073.565,571073.565,651335.3489999999,685760.88,685760.88,422440.98208000005,569551.9455,846593.2622,1476616.1550000003,419077.72780000005,532988.1169,659195.2949999999,659195.2949999999,659195.2949999999,659195.2949999999,2061854.3791999999,2061854.3791999999 +10702800.0,340425.015,268104.102,782863.97784,126532.92597,126532.92597,126532.92597,242596.648,586268.69984,747537.0233600001,449849.01003000006,685484.20576,253727.943,253727.943,253727.943,356291.2255,340425.015,340425.015,378981.5498299999,142709.53815,212126.27646,369987.6915,105006.03054,133547.93817,351571.092,351571.092,351571.092,351571.092,1023544.5451,1023544.5451 +10706400.0,109557.852,104093.661,303953.49012,78801.08115,78801.08115,78801.08115,75870.30850000001,183581.85416,572664.5024000001,184154.61267000003,280616.55264,139139.835,139139.835,139139.835,114773.981,109557.852,109557.852,219039.26147999996,65478.20085,97328.09113999999,169758.2985,48179.02186,61274.66203,96968.121,96968.121,96968.121,96968.121,329403.94168,329403.94168 +10710000.0,107782.85699999999,100884.20999999999,294581.8932,40310.70857,40310.70857,40310.70857,49324.2015,195354.34223999997,547160.11776,178434.44850000003,271900.112,140931.40800000002,140931.40800000002,140931.40800000002,103977.7375,107782.85699999999,107782.85699999999,209360.23315999997,53105.268599999996,78936.72024,137680.326,39074.98776,49696.04148,90516.9,90516.9,90516.9,90516.9,324067.12337999995,324067.12337999995 +10713600.0,127221.315,109866.91799999999,320811.40056,16606.043630000004,16606.043630000004,16606.043630000004,39749.1185,204367.01567999998,555612.72448,186605.90046,284351.84832000005,143191.005,143191.005,143191.005,99161.118,127221.315,127221.315,216631.06283,61949.38725,92082.7929,160609.5225,45582.5121,57972.38955,91922.829,91922.829,91922.829,91922.829,382512.0871,382512.0871 +10717200.0,139554.846,125035.86000000002,365104.7112,11586.95626,11586.95626,11586.95626,44540.10049999999,209229.23031999997,576269.2857600001,208631.52156,317914.69952,148405.15800000002,148405.15800000002,148405.15800000002,102391.919,139554.846,139554.846,243644.66255999997,64876.05495,96433.04957999999,168197.1795,47735.96142,60711.17241,100661.74499999998,100661.74499999998,100661.74499999998,100661.74499999998,419594.90364,419594.90364 +10720800.0,157125.804,131648.63999999998,384414.0288,10388.105200000002,10388.105200000002,10388.105200000002,41581.239,239374.16567999998,604763.62496,250296.5892,381404.3264,228961.914,228961.914,228961.914,110622.575,157125.804,157125.804,258997.01373,72978.7725,108477.08899999999,189204.225,53697.961,68293.7155,135854.916,135854.916,135854.916,135854.916,472424.91736,472424.91736 +10724400.0,172557.03,129213.987,377304.84203999996,11858.56364,11858.56364,11858.56364,47313.763000000006,288858.68736,568748.4204800001,243468.57759,370999.73728,238631.649,238631.649,238631.649,177055.956,172557.03,172557.03,252897.64512999996,85662.55845,127330.51898,222088.1145,63030.72202,80163.23371,176613.615,176613.615,176613.615,176613.615,518821.4702,518821.4702 +10728000.0,211334.76299999998,148774.60499999998,434421.84659999993,17297.320920000002,17297.320920000002,17297.320920000002,51348.398499999996,375145.8028,574667.5321600001,279091.00128,425281.52576,280672.272,280672.272,280672.272,191255.2005,211334.76299999998,211334.76299999998,271294.39440999995,94938.05069999999,141117.79387999998,246135.68699999998,69855.65212,88843.26226,227861.241,227861.241,227861.241,227861.241,635413.1874199999,635413.1874199999 +10731600.0,228583.37099999998,149985.75,437958.39,29923.95054,29923.95054,29923.95054,60416.762,409501.10952,574008.7155200001,306903.45504,467662.40768,289981.071,289981.071,289981.071,187786.3225,228583.37099999998,228583.37099999998,281339.38195999997,96472.74554999999,143398.99461999998,250114.52550000002,70984.88438,90279.43349,251148.963,251148.963,251148.963,251148.963,687274.0021399999,687274.0021399999 +10735200.0,775825.575,827654.658,2416751.6013599997,284224.5265200001,284224.5265200001,284224.5265200001,886632.194,1153018.89328,732284.1337600001,898416.0994200001,1369015.0086400001,355584.918,355584.918,355584.918,1334375.091,775825.575,775825.575,1400934.5394199998,375225.46514999995,557742.54326,972806.7614999999,276091.82373999996,351136.91676999995,930806.655,930806.655,930806.655,930806.655,2332648.8954999996,2332648.8954999996 +10738800.0,1230638.685,1167217.638,3408275.50296,673570.2421800001,673570.2421800001,673570.2421800001,1238102.978,2006031.3801600002,1944365.05024,1884491.47761,2871606.0611199997,737811.24,737811.24,737811.24,852350.4255,1230638.685,1230638.685,345394.64739,996903.4419000001,1481816.96796,2584564.4790000003,733524.01404,932904.7024200001,1361706.648,1361706.648,1361706.648,1361706.648,3700120.3129,3700120.3129 +10742400.0,1221863.535,871663.293,2545256.8155599996,412094.77716000006,412094.77716000006,412094.77716000006,889522.711,2092249.3207999999,4201893.644800001,1601522.9571600002,2440415.9347200003,1386778.0860000001,1386778.0860000001,1386778.0860000001,1133029.233,1221863.535,1221863.535,518574.8542,1685143.0917,2504829.97828,4368889.497,1239932.44772,1576961.06606,842968.0079999999,842968.0079999999,842968.0079999999,842968.0079999999,3673736.3618999994,3673736.3618999994 +10746000.0,803619.177,410520.38700000005,1198719.53004,260508.71792000002,260508.71792000002,260508.71792000002,1345338.9775,1845176.0670399999,2980417.02144,1512577.5315,2304880.048,1030382.7660000001,1030382.7660000001,1030382.7660000001,1292303.9465,803619.177,803619.177,659164.78576,1440729.8644499998,2141529.3293799995,3735225.5744999996,1060092.5916199998,1348238.56451,848724.7319999998,848724.7319999998,848724.7319999998,848724.7319999998,2416214.99218,2416214.99218 +10749600.0,525967.26,294428.07300000003,859729.97316,233879.11899000002,233879.11899000002,233879.11899000002,796995.108,1544057.0822399997,1843037.26016,921156.7344,1403667.4048,410776.377,410776.377,410776.377,714245.7664999999,525967.26,525967.26,214595.20627999998,663489.2979,986223.59836,1720157.439,488197.06364,620894.92322,464624.679,464624.679,464624.679,464624.679,1581408.2284000001,1581408.2284000001 +10753200.0,387929.052,212671.76400000002,621001.55088,149759.03217,149759.03217,149759.03217,296935.10349999997,1044481.9735199999,656610.8940800001,618561.5331,942569.9552,312711.83400000003,312711.83400000003,312711.83400000003,309886.50700000004,387929.052,387929.052,156654.31183999998,258451.53165000002,384167.46186000004,670059.5265,190169.27514,241859.58147000003,346971.309,346971.309,346971.309,346971.309,1166373.34968,1166373.34968 +10756800.0,500533.45499999996,360306.789,1052095.82388,142497.59458000003,142497.59458000003,142497.59458000003,440958.91,1003805.17632,1308085.66656,726465.7133999999,1106995.3728,461771.93999999994,461771.93999999994,461771.93999999994,468823.53700000007,500533.45499999996,500533.45499999996,258881.59777999998,484276.725,719838.49,1255532.25,356332.01,453187.355,477786.948,477786.948,477786.948,477786.948,1504937.2546999997,1504937.2546999997 +10760400.0,155227.07700000002,60748.155000000006,177384.61260000002,84552.01964,84552.01964,84552.01964,90314.3885,282876.10959999997,213023.13216000004,181653.02526,276804.60992,98354.81099999999,98354.81099999999,98354.81099999999,59980.634000000005,155227.07700000002,155227.07700000002,51999.38522999999,50697.2034,75357.32456,131437.194,37303.12744,47442.568119999996,99034.31399999998,99034.31399999998,99034.31399999998,99034.31399999998,466716.07818,466716.07818 +10764000.0,232609.605,123647.454,361050.56568,79363.15222,79363.15222,79363.15222,128375.88749999998,450130.4976,398597.28640000004,277894.66341,423458.53472,182438.523,182438.523,182438.523,121997.64150000001,232609.605,232609.605,96099.52390999999,90576.42345,134634.58498,234827.76450000002,66646.35602,84761.64071,169775.307,169775.307,169775.307,169775.307,699379.5457,699379.5457 +10767600.0,178581.29700000002,79524.708,232212.14736,63264.63759,63264.63759,63264.63759,82645.0485,337350.7828,278920.30016000004,200456.00274,305456.76608000003,127497.01499999998,127497.01499999998,127497.01499999998,76633.431,178581.29700000002,178581.29700000002,64825.00010999999,55213.006049999996,82069.70281999999,143144.8305,40625.86618,51668.467390000005,117365.15099999998,117365.15099999998,117365.15099999998,117365.15099999998,536934.43298,536934.43298 +10771200.0,158008.518,60465.795,176560.1214,67348.21511000002,67348.21511000002,67348.21511000002,74260.4905,295887.01056,230859.20576,173733.06657,264736.10144,105843.93600000002,105843.93600000002,105843.93600000002,60370.0895,158008.518,158008.518,52753.21804999999,45219.307049999996,67214.87121999999,117235.24049999999,33272.477779999994,42316.33918999999,98138.35800000001,98138.35800000001,98138.35800000001,98138.35800000001,475078.94412,475078.94412 +10774800.0,218615.316,110372.946,322289.00231999997,101957.51302000001,101957.51302000001,101957.51302000001,134035.99649999998,423150.88311999995,360232.35008,262099.49115,399389.7008,165076.59000000003,165076.59000000003,165076.59000000003,113508.2445,218615.316,218615.316,88616.21248999998,83209.4451,123684.16284,215728.19100000002,61225.71516000001,77867.60418000001,155600.26499999998,155600.26499999998,155600.26499999998,155600.26499999998,657303.3834399999,657303.3834399999 +10778400.0,249726.83400000003,130907.043,382248.56556,165202.12214,165202.12214,165202.12214,208297.0435,494748.36624,420882.6816,320505.92322,488389.97824,193039.05299999999,193039.05299999999,193039.05299999999,148655.0555,249726.83400000003,249726.83400000003,108205.97163999999,118859.1894,176674.64695999998,308153.454,87456.88504,111228.72292,189237.14399999997,189237.14399999997,189237.14399999997,189237.14399999997,750845.34756,750845.34756 +10782000.0,772323.3660000002,631329.1499999999,1843481.1179999998,201508.43911,201508.43911,201508.43911,751020.165,1561320.58944,2154578.5856,1181989.96377,1801127.56384,761553.978,761553.978,761553.978,896427.8435,772323.3660000002,772323.3660000002,472821.01346999995,771447.3007499999,1146694.5063,2000048.5575,567632.8287,721922.28885,764404.878,764404.878,764404.878,764404.878,2322118.92044,2322118.92044 +10785600.0,766400.574,678924.4680000001,1982459.44656,207386.02379000004,207386.02379000004,207386.02379000004,675457.6955,1402904.51,1895585.72352,1128480.62523,1719589.52416,650425.296,650425.296,650425.296,890382.073,766400.574,766400.574,661087.75642,853589.7045,1268792.5978,2213010.345,628073.4122,798791.3531000001,783808.788,783808.788,783808.788,783808.788,2304311.05916,2304311.05916 +10789200.0,378143.508,287505.294,839515.4584799999,197337.35659,197337.35659,197337.35659,332368.88999999996,649999.83728,792770.75392,535999.6721099999,816761.40512,289124.364,289124.364,289124.364,389500.5625,378143.508,378143.508,546930.2851999999,179126.25119999997,266256.79808,464401.392,131801.53792,167626.78816,427775.12400000007,427775.12400000007,427775.12400000007,427775.12400000007,1136951.4807199999,1136951.4807199999 +10792800.0,139105.668,109712.14199999999,320359.45464,79051.82571,79051.82571,79051.82571,94517.605,220817.84016,602335.20896,223239.17070000002,340173.9744,161648.715,161648.715,161648.715,122767.52250000002,139105.668,139105.668,231848.97449999995,72220.06575,107349.33229999998,187237.2075,53139.702699999994,67583.71585,109869.81599999999,109869.81599999999,109869.81599999999,109869.81599999999,418244.3751199999,418244.3751199999 +10796400.0,146886.372,118336.125,345541.485,41151.485100000005,41151.485100000005,41151.485100000005,61779.92100000001,242064.16312,613019.2928,219107.96544,333878.80448,161879.592,161879.592,161879.592,118380.44750000001,146886.372,146886.372,235240.23132999998,63875.05695,94945.14637999999,165601.9995,46999.42462,59774.436010000005,105465.69600000001,105465.69600000001,105465.69600000001,105465.69600000001,441638.35848,441638.35848 +10800000.0,151392.804,128258.74200000001,374515.52664000005,18267.242620000005,18267.242620000005,18267.242620000005,52236.051,287430.32263999997,598705.66272,215543.29020000002,328446.9184,159587.721,159587.721,159587.721,109505.69700000001,151392.804,151392.804,239490.44833999997,68319.32445,101551.19338,177124.17450000002,50269.52762,63933.392510000005,101797.59,101797.59,101797.59,101797.59,455187.69735999993,455187.69735999993 +10803600.0,168076.39500000002,141668.967,413673.38364,14567.1812,14567.1812,14567.1812,55408.948000000004,331355.21103999997,645771.7484800001,257389.64706,392212.79552,236596.67700000003,236596.67700000003,236596.67700000003,116300.5585,168076.39500000002,168076.39500000002,279808.48882999993,76708.42559999999,114020.91903999998,198873.696,56442.24896,71783.93407999999,141105.426,141105.426,141105.426,141105.426,505349.69430000003,505349.69430000003 +10807200.0,190459.52399999998,146650.869,428220.53748,21363.84921,21363.84921,21363.84921,59943.799999999996,368664.45984,660140.7468800001,285830.37273,435551.04416000005,295979.409,295979.409,295979.409,161247.3905,190459.52399999998,190459.52399999998,286846.57703,92665.58355,137739.95382,240244.1055,68183.56518,86716.68188999999,197447.54099999997,197447.54099999997,197447.54099999997,197447.54099999997,572648.30216,572648.30216 +10810800.0,231279.69899999996,162641.232,474912.39744,42601.74413000001,42601.74413000001,42601.74413000001,66127.6735,448280.05272,671704.5766400001,318387.11814000004,485161.3228800001,346563.348,346563.348,346563.348,224686.20299999998,231279.69899999996,231279.69899999996,308218.44117999997,110962.49535,164936.84493999998,287680.5435,81646.47806000001,103838.97713,252490.91100000002,252490.91100000002,252490.91100000002,252490.91100000002,695380.9616599999,695380.9616599999 +10814400.0,277433.718,182958.82799999998,534239.77776,50453.25846,50453.25846,50453.25846,70284.9245,547395.22456,750188.1420800001,386306.70372,588657.83424,378293.772,378293.772,378293.772,235805.21300000002,277433.718,277433.718,336941.69768999994,124754.58,185437.672,323437.80000000005,91794.728,116745.64400000001,318358.36199999996,318358.36199999996,318358.36199999996,318358.36199999996,834150.71212,834150.71212 +10818000.0,415877.982,217951.305,636417.8106,72067.81967,72067.81967,72067.81967,75087.6525,944263.70744,822524.2137600001,580147.3597500001,884034.0720000002,389452.851,389452.851,389452.851,322872.4485,415877.982,415877.982,528492.7904099999,161106.47685,239471.84954,417683.4585,118542.54346,150763.83883,400110.945,400110.945,400110.945,400110.945,1250406.46588,1250406.46588 +10821600.0,833762.283,356334.75600000005,1040497.4875200001,336011.22687,336011.22687,336011.22687,979438.005,2723706.37552,2660860.6393600004,2075393.85144,3162504.91648,640012.272,640012.272,640012.272,1140016.7275,833762.283,833762.283,1641893.0959599996,1154776.7268,1716482.9371200001,2993865.5880000005,849687.5668800002,1080642.9122400002,940072.473,940072.473,940072.473,940072.473,2506845.26422,2506845.26422 +10825200.0,590168.709,877377.0720000002,2561941.0502400002,539109.37135,539109.37135,539109.37135,1459058.3105000001,3144500.47992,1614781.67104,2099493.32481,3199227.9235200007,757242.096,757242.096,757242.096,1004312.2880000001,590168.709,590168.709,1591275.20045,1491850.43865,2217515.96066,3867760.3965,1097707.2363399998,1396077.3240699999,887182.578,887182.578,887182.578,887182.578,1774440.5850599997,1774440.5850599997 +10828800.0,1467933.5219999999,1192828.7040000001,3483059.81568,272744.56242000003,272744.56242000003,272744.56242000003,811227.879,2760653.18224,4173695.2416,2086419.4904699998,3179305.89024,1223395.317,1223395.317,1223395.317,742050.1165,1467933.5219999999,1467933.5219999999,868791.05521,861686.4604499999,1280827.7757799998,2234001.9345,634031.02522,806368.31731,1619428.923,1619428.923,1619428.923,1619428.923,4413586.78948,4413586.78948 +10832400.0,829756.284,510553.968,1490817.58656,244692.35197000005,244692.35197000005,244692.35197000005,242225.34350000002,905243.1225599999,4527411.01568,327688.42785000004,499334.74720000004,752816.319,752816.319,752816.319,664213.1475000001,829756.284,829756.284,393306.3455099999,1347259.3434000001,2002592.90056,3492894.5940000005,991316.75144,1260768.62012,317899.275,317899.275,317899.275,317899.275,2494800.56056,2494800.56056 +10836000.0,332640.951,116036.271,338825.91131999996,142651.51384,142651.51384,142651.51384,117333.04800000001,450695.26064,931095.1571200001,227120.77122,346088.79424,145959.612,145959.612,145959.612,103629.0745,332640.951,332640.951,203000.62432,104739.2694,155686.51896000002,271546.254,77067.41304000001,98015.26692000001,163580.43300000002,163580.43300000002,163580.43300000002,163580.43300000002,1000140.4593400001,1000140.4593400001 +10839600.0,359226.59699999995,750080.661,2190235.53012,131812.99802,131812.99802,131812.99802,422017.79549999995,819888.2229599999,938998.5958400001,522164.32548,795678.97216,236349.549,236349.549,236349.549,560107.2889999999,359226.59699999995,359226.59699999995,270568.28161999997,221966.13059999997,329934.84103999997,575467.7459999999,163323.22696,207716.45308,280266.732,280266.732,280266.732,280266.732,1080074.6349799999,1080074.6349799999 +10843200.0,438700.0530000001,345579.114,1009091.0128799999,116643.94522000001,116643.94522000001,116643.94522000001,443289.931,914912.4864800001,1270543.32352,597305.63046,910180.00832,379146.68700000003,379146.68700000003,379146.68700000003,294809.4275,438700.0530000001,438700.0530000001,437367.06623999996,371392.39125,552044.9865,962869.1625,273271.4385,347549.91675,396993.74100000004,396993.74100000004,396993.74100000004,396993.74100000004,1319024.8260200003,1319024.8260200003 +10846800.0,297572.103,216242.86800000002,631429.1745600001,90521.82645000001,90521.82645000001,90521.82645000001,180955.08550000002,643844.3196,831172.4864,377865.01808999997,575794.31328,263651.814,263651.814,263651.814,183040.3155,297572.103,297572.103,305722.18104999996,216975.97979999997,322517.38232,562530.318,159651.46168,203046.65764,263571.837,263571.837,263571.837,263571.837,894700.1230199999,894700.1230199999 +10850400.0,301888.317,173675.94,507133.74480000004,268941.01311,268941.01311,268941.01311,428861.657,603630.5467999999,219192.67968,555203.02278,846023.65376,169154.118,169154.118,169154.118,516932.8605,301888.317,301888.317,526367.3235599999,311398.75304999994,462869.25761999993,807330.1005,229127.97137999997,291407.72199,132486.07799999998,132486.07799999998,132486.07799999998,132486.07799999998,907677.53978,907677.53978 +10854000.0,149753.646,464769.309,1357126.38228,276083.40320000006,276083.40320000006,276083.40320000006,303884.581,732032.51272,232520.84288000004,182257.61568,277725.89056,185428.68899999998,185428.68899999998,185428.68899999998,579911.0835000001,149753.646,149753.646,543311.22677,214752.38805,319212.19162,556765.4505,158015.33738,200965.81499,195502.407,195502.407,195502.407,195502.407,450259.29563999997,450259.29563999997 +10857600.0,112060.33200000001,48704.94,142218.42479999998,268738.5509600001,268738.5509600001,268738.5509600001,92310.806,232232.37128000002,184928.2848,100927.03761,153793.58112,64921.59000000001,64921.59000000001,64921.59000000001,113529.178,112060.33200000001,112060.33200000001,124345.62842,37357.73865,55529.28066,96853.3965,27487.91634,34959.46407,61804.494,61804.494,61804.494,61804.494,336928.06488,336928.06488 +10861200.0,1115012.592,798541.7069999999,2331741.7844399996,377268.19823,377268.19823,377268.19823,1619842.6475,1882853.0489599998,1984617.8841600001,1903554.86454,2900655.03168,1249911.6030000001,1249911.6030000001,1249911.6030000001,924223.1705000001,1115012.592,1115012.592,455154.64826,940527.28395,1398018.3331799998,2438404.0695,692042.29782,880147.7546100001,1021528.4310000001,1021528.4310000001,1021528.4310000001,1021528.4310000001,3352471.19328,3352471.19328 +10864800.0,600930.6359999999,279659.841,816606.73572,196272.59982000003,196272.59982000003,196272.59982000003,387765.15400000004,901462.55768,853284.7264,646688.05761,985429.4211200001,380592.51300000004,380592.51300000004,380592.51300000004,386052.394,600930.6359999999,600930.6359999999,239356.45135999998,306656.54325000005,455820.3433,795035.4825,225638.64170000004,286969.95035000006,387749.45999999996,387749.45999999996,387749.45999999996,387749.45999999996,1806798.11224,1806798.11224 +10868400.0,819192.0540000001,651469.3859999999,1902290.60712,381889.67509000003,381889.67509000003,381889.67509000003,830131.071,1590766.3716799999,2474795.2096,1277087.16723,1946037.5881600003,794545.6020000002,794545.6020000002,794545.6020000002,1056559.728,819192.0540000001,819192.0540000001,656203.6679899999,993369.7601999999,1476564.4336799998,2575403.082,730923.92232,929597.87436,870446.592,870446.592,870446.592,870446.592,2463037.44236,2463037.44236 +10872000.0,891359.544,717573.057,2095313.32644,423157.60696,423157.60696,423157.60696,933243.871,1691777.8090399997,2919617.2748800004,1376169.47811,2097020.15712,872856.2009999999,872856.2009999999,872856.2009999999,1163681.358,891359.544,891359.544,709473.86003,1134366.52095,1686144.8039799999,2940950.2395,834669.6870200001,1061542.9912100001,958335.513,958335.513,958335.513,958335.513,2680021.02896,2680021.02896 +10875600.0,640034.472,554090.538,1617944.37096,333579.17802000005,333579.17802000005,333579.17802000005,603179.052,932097.46904,1897815.49248,848463.85302,1292897.29984,507978.816,507978.816,507978.816,632709.287,640034.472,640034.472,534426.32945,558171.3726,829676.95384,1447110.966,410703.87416,522338.14868000004,634660.7609999999,634660.7609999999,634660.7609999999,634660.7609999999,1924370.3124799998,1924370.3124799998 +10879200.0,125154.438,104383.65299999999,304800.26675999997,80412.78487,80412.78487,80412.78487,96399.8805,180977.50032,624965.92448,172230.26520000002,262446.11840000004,166737.38999999998,166737.38999999998,166737.38999999998,125901.20550000001,125154.438,125154.438,197853.15953,73404.10755,109109.31542,190306.9455,54010.92358,68691.74509000001,101007.813,101007.813,101007.813,101007.813,376297.67692,376297.67692 +10882800.0,117124.27799999999,110094.88200000001,321477.05544,42214.28420000001,42214.28420000001,42214.28420000001,62431.78199999999,217163.49519999998,609510.8953600001,169082.95026,257650.20992000002,160385.961,160385.961,160385.961,114763.73650000001,117124.27799999999,117124.27799999999,224647.58199,61088.912099999994,90803.76563999998,158378.661,44949.372359999994,57167.15478,92783.69399999999,92783.69399999999,92783.69399999999,92783.69399999999,352153.66251999995,352153.66251999995 +10886400.0,121163.27700000002,123147.135,359589.6342,20326.678900000003,20326.678900000003,20326.678900000003,44649.895500000006,224765.41151999997,607555.81376,178984.09767000002,272737.67264000006,158441.661,158441.661,158441.661,110062.974,121163.27700000002,121163.27700000002,245045.86847,57727.8333,85807.79172,149664.753,42476.28228,54021.84894,93154.626,93154.626,93154.626,93154.626,364297.58618000004,364297.58618000004 +10890000.0,139462.614,140534.06100000002,410359.45812,41798.94477,41798.94477,41798.94477,51061.4685,233121.25431999995,638198.08256,242106.58038000003,368924.31296,167000.985,167000.985,167000.985,116252.15000000001,139462.614,139462.614,276621.96002999996,74284.22924999999,110417.54569999999,192588.7425,54658.5193,69515.36515,112429.953,112429.953,112429.953,112429.953,419317.59275999997,419317.59275999997 +10893600.0,159361.932,143765.397,419794.95924,38110.259000000005,38110.259000000005,38110.259000000005,56499.03,237761.85847999997,636196.65216,263682.50432999997,401801.91136,221371.434,221371.434,221371.434,157374.08749999997,159361.932,159361.932,276289.92572999996,87691.43430000001,130346.28012,227348.16300000003,64523.57388,82061.86074,182092.41,182092.41,182092.41,182092.41,479148.20888,479148.20888 +10897200.0,202523.865,163503.19199999998,477429.32064,44081.33972,44081.33972,44081.33972,69477.54800000001,384381.83872,649730.12096,302231.01447,460542.49824000004,289553.466,289553.466,289553.466,217854.4375,202523.865,202523.865,304671.8935,106935.795,158951.478,277240.95,78683.622,100070.781,228023.00400000002,228023.00400000002,228023.00400000002,228023.00400000002,608921.7541,608921.7541 +10900800.0,258237.195,184969.62300000002,540111.29916,54855.280920000005,54855.280920000005,54855.280920000005,72344.1635,505739.47984,664863.3523200001,350514.93057,534117.98944,345783.042,345783.042,345783.042,235930.99599999998,258237.195,258237.195,334187.23195,125050.63094999999,185877.72798,324205.3395,92012.56302,117022.68921,303458.088,303458.088,303458.088,303458.088,776433.1663,776433.1663 +10904400.0,393937.35599999997,209625.30599999998,612105.8935199999,75033.02224,75033.02224,75033.02224,74173.7955,909517.9792000001,691309.23776,554991.80688,845701.80096,365501.11199999996,365501.11199999996,365501.11199999996,311298.7325,393937.35599999997,393937.35599999997,510758.37812999997,149457.22694999998,222156.17437999998,387481.6995,109970.99662,139862.44201,384405.33,384405.33,384405.33,384405.33,1184438.3170399999,1184438.3170399999 +10908000.0,870099.027,365659.92600000004,1067726.98392,398585.29128,398585.29128,398585.29128,1027681.4905,2787741.6192799998,2660608.02752,2142625.29726,3264952.83392,656090.9010000001,656090.9010000001,656090.9010000001,1173949.7315000002,870099.027,870099.027,1693963.7702000001,1135530.43425,1687874.8676999998,2943967.7925,835526.0973,1062632.18415,989082.9839999999,989082.9839999999,989082.9839999999,989082.9839999999,2616097.74118,2616097.74118 +10911600.0,593149.026,863686.6409999998,2521964.99172,667364.3468800001,667364.3468800001,667364.3468800001,1434584.69,3157451.93552,1620006.13824,2112713.6820300003,3219373.2297600005,767085.6029999999,767085.6029999999,767085.6029999999,997896.9734999998,593149.026,593149.026,1388792.1321299996,1474512.5141999999,2191744.5272799996,3822810.222,1084949.94872,1379852.45156,904989.3660000002,904989.3660000002,904989.3660000002,904989.3660000002,1783401.4048399997,1783401.4048399997 +10915200.0,1475069.0729999999,1208513.574,3528859.63608,313031.0178600001,313031.0178600001,313031.0178600001,771266.482,2672208.92848,4099568.5395200006,2041019.65431,3110125.1875199997,1219134.5010000002,1219134.5010000002,1219134.5010000002,724168.6410000001,1475069.0729999999,1475069.0729999999,665579.6374499999,833106.2098500001,1238345.5267400001,2159904.9885000004,613001.60626,779622.8482300001,1623163.98,1623163.98,1623163.98,1623163.98,4435041.01282,4435041.01282 +10918800.0,803196.3629999999,498860.82599999994,1456673.6119199998,272096.86669,272096.86669,272096.86669,248919.40849999996,833511.44792,4458593.710080001,307031.02983,467856.80736,721306.7609999999,721306.7609999999,721306.7609999999,660375.7720000001,803196.3629999999,803196.3629999999,378619.1019,1367507.1968999999,2032689.70996,3545389.029,1006215.17204,1279716.61142,295850.082,295850.082,295850.082,295850.082,2414943.7314199996,2414943.7314199996 +10922400.0,326500.023,89589.44399999999,261601.17647999997,143107.39047,143107.39047,143107.39047,114296.21350000001,440838.47943999997,801969.95712,224109.24206999998,341499.79744,140670.351,140670.351,140670.351,101643.2025,326500.023,326500.023,197890.41778999995,102521.5785,152390.0994,265796.685,75435.6306,95939.94630000001,161473.23,161473.23,161473.23,161473.23,981676.73582,981676.73582 +10926000.0,346788.336,732953.6429999999,2140224.6375599997,136775.46762,136775.46762,136775.46762,416302.362,779911.78776,878027.6416000001,501526.98645,764231.5984,218113.842,218113.842,218113.842,553506.485,346788.336,346788.336,250794.17440999998,211090.60484999997,313769.24473999994,547271.9384999999,155320.98825999998,197539.10922999997,265421.49,265421.49,265421.49,265421.49,1042676.9302399999,1042676.9302399999 +10929600.0,437464.2209999999,328909.641,960416.1517200001,126922.76685000001,126922.76685000001,126922.76685000001,452802.35349999997,904467.71656,1259921.1360000002,598118.29728,911418.35776,365416.20599999995,365416.20599999995,365416.20599999995,293852.132,437464.2209999999,437464.2209999999,430921.85863999993,369891.07649999997,549813.4025999999,958976.8649999999,272166.76739999995,346144.9827,393281.967,393281.967,393281.967,393281.967,1315309.0911399997,1315309.0911399997 +10933200.0,279010.374,196254.96,573064.4832,89504.07004,89504.07004,89504.07004,172057.0075,589516.9779200001,738985.1910400001,347769.40401,529934.32992,234553.91999999998,234553.91999999998,234553.91999999998,166917.3835,279010.374,279010.374,280190.36435,197929.60335000002,294206.47214,513150.82350000006,145637.09086000003,185223.01153000002,240738.61800000002,240738.61800000002,240738.61800000002,240738.61800000002,838891.1911599999,838891.1911599999 +10936800.0,337076.37,203759.88,594978.8496000001,292995.64107,292995.64107,292995.64107,446482.8235,669160.4568,307415.67296,607825.29801,926209.9779200001,194023.44,194023.44,194023.44,553466.2105,337076.37,337076.37,559644.1301099999,345902.8455,514156.8222,896785.155,254516.1678,323696.7369,166152.62099999998,166152.62099999998,166152.62099999998,166152.62099999998,1013476.2857999998,1013476.2857999998 +10940400.0,126316.85399999999,457199.085,1335021.3282,274781.73987,274781.73987,274781.73987,300332.5045,672570.4619999999,173521.43168,153951.68082,234593.03744000001,159787.926,159787.926,159787.926,562079.9765,126316.85399999999,126316.85399999999,517566.55794999993,207534.27555,308483.04662,538051.8255,152704.23238,194211.08749,177592.83000000002,177592.83000000002,177592.83000000002,177592.83000000002,379792.67435999995,379792.67435999995 +10944000.0,90705.213,35416.587,103416.43404000001,211779.8045,211779.8045,211779.8045,88852.83750000001,174718.64384,138741.00928,72431.78124000001,110372.23808000001,41388.58500000001,41388.58500000001,41388.58500000001,93105.894,90705.213,90705.213,92191.06220999997,29048.126849999997,43177.709539999996,75309.9585,21373.683459999997,27183.308829999998,42957.708,42957.708,42957.708,42957.708,272720.34041999996,272720.34041999996 +10947600.0,1027759.983,710315.64,2074121.6688,408861.65056000004,408861.65056000004,408861.65056000004,1542691.4475,1648090.2757599999,1698136.0819200003,1752725.5034100001,2670819.8147200006,1153767.459,1153767.459,1153767.459,792007.09,1027759.983,1027759.983,420336.25594999996,860835.8470499999,1279563.40722,2231796.6404999997,633405.14178,805572.3111899999,939909.39,939909.39,939909.39,939909.39,3090131.68222,3090131.68222 +10951200.0,481461.426,161573.14500000002,471793.5834,181388.29236000002,181388.29236000002,181388.29236000002,285888.75,683322.4567999999,480217.8496,458989.83333,699413.0793600001,251100.90899999999,251100.90899999999,251100.90899999999,221897.80549999996,481461.426,481461.426,138747.28308999998,172879.70535,256971.80894,448206.6435,127205.31406,161781.25513,257254.119,257254.119,257254.119,257254.119,1447594.02084,1447594.02084 +10954800.0,758018.613,597651.546,1745142.51432,346453.98403,346453.98403,346453.98403,746014.9339999999,1461352.8360000001,1995386.2988800001,1151036.50305,1753960.3856,708953.0430000001,708953.0430000001,708953.0430000001,908136.2255,758018.613,758018.613,598703.1434799999,813161.4704999999,1208699.2721999998,2108196.405,598326.2178,760958.5118999999,761197.02,761197.02,761197.02,761197.02,2279109.29642,2279109.29642 +10958400.0,869288.658,695593.3559999999,2031132.59952,419531.00497,419531.00497,419531.00497,902635.1529999999,1630051.17568,2777546.4416000005,1338148.7517300001,2039083.8121600004,830658.8430000001,830658.8430000001,830658.8430000001,1120128.303,869288.658,869288.658,691163.8350499999,1086902.70795,1615593.6547799997,2817895.9095,799745.6962199999,1017126.23781,930930.408,930930.408,930930.408,930930.408,2613661.23172,2613661.23172 +10962000.0,627260.787,542744.5800000001,1584814.1736,349847.37502000004,349847.37502000004,349847.37502000004,595554.0115,910277.02736,1845422.3302400003,830602.55166,1265680.07872,492217.239,492217.239,492217.239,618817.108,627260.787,627260.787,524853.67428,547000.1766,813071.86744,1418148.606,402484.08056,511884.11588,621224.595,621224.595,621224.595,621224.595,1885964.09958,1885964.09958 +10965600.0,119167.818,90247.431,263522.49851999996,79941.96727000001,79941.96727000001,79941.96727000001,94747.26800000001,172145.31792,581267.82976,163822.16256000003,249633.77152000004,154615.05,154615.05,154615.05,118827.2855,119167.818,119167.818,160345.03926999998,70352.70389999998,104573.64875999997,182395.89899999998,51765.69323999999,65836.23401999999,95659.236,95659.236,95659.236,95659.236,358297.90612,358297.90612 +10969200.0,110405.604,101736.927,297071.82684,41939.40454,41939.40454,41939.40454,60814.221999999994,178646.89064,567113.50464,150636.01623,229540.59616,147730.995,147730.995,147730.995,107360.841,110405.604,110405.604,199494.00444999998,58115.3859,86383.85756,150669.519,42761.44444,54384.52162000001,87366.09,87366.09,87366.09,87366.09,331952.84936,331952.84936 +10972800.0,106132.581,104487.68700000002,305104.04604000004,17948.4965,17948.4965,17948.4965,38532.753,197394.07319999998,531089.0739200001,145729.59597,222064.14624,137116.98,137116.98,137116.98,96517.064,106132.581,106132.581,208636.42436,48672.337049999995,72347.52321999999,126187.54049999999,35813.22577999999,45547.69319,80073.432,80073.432,80073.432,80073.432,319105.29354,319105.29354 +10976400.0,116987.98499999999,117134.44499999998,342032.57939999993,33571.871190000005,33571.871190000005,33571.871190000005,44006.207,195774.93904,529119.93536,177464.14497,270421.55424,135545.613,135545.613,135545.613,95807.6735,116987.98499999999,116987.98499999999,227612.19182,60318.934199999996,89659.25528,156382.422,44382.82072,56446.607560000004,84232.398,84232.398,84232.398,84232.398,351743.87489999994,351743.87489999994 +10980000.0,124126.815,118080.261,344794.36212,31926.659160000007,31926.659160000007,31926.659160000007,40863.7565,192670.10304000002,531861.9782400001,212561.50419,323903.24448,136594.40999999997,136594.40999999997,136594.40999999997,98141.97050000001,124126.815,124126.815,229415.73979999998,65006.533800000005,96626.99592,168535.458,47831.968080000006,60833.274840000005,109315.251,109315.251,109315.251,109315.251,373207.9571,373207.9571 +10983600.0,142517.727,125292.06899999999,365852.84147999994,35300.54264000001,35300.54264000001,35300.54264000001,53326.752499999995,195891.51712,530387.69472,226881.40608,345724.04735999997,194685.71399999998,194685.71399999998,194685.71399999998,145685.932,142517.727,142517.727,231557.66165999998,77706.66149999999,115504.71659999999,201461.71499999997,57176.753399999994,72718.0857,156717.492,156717.492,156717.492,156717.492,428503.29918,428503.29918 +10987200.0,168566.964,138128.856,403336.25951999996,40328.551450000006,40328.551450000006,40328.551450000006,58844.03349999999,252513.76271999997,533595.1296,247997.98737000002,377901.69504,227883.222,227883.222,227883.222,176007.6815,168566.964,168566.964,247300.60887999999,89546.63399999999,133103.88559999998,232157.94,65888.6344,83797.96119999999,181931.649,181931.649,181931.649,181931.649,506824.67176,506824.67176 +10990800.0,279544.392,167166.225,488125.37700000004,65215.63686000001,65215.63686000001,65215.63686000001,64067.96199999999,697247.1192,531399.55648,415434.31335,633042.7632,252089.14500000002,252089.14500000002,252089.14500000002,260649.52549999996,279544.392,279544.392,448564.30372,113821.7751,169186.93483999997,295093.491,83750.34316,106514.69818,281301.897,281301.897,281301.897,281301.897,840496.80528,840496.80528 +10994400.0,782664.876,301225.161,879577.47012,354488.96988999995,354488.96988999995,354488.96988999995,873540.1465,2622700.346,2152924.8800000004,1908397.4998200003,2908034.2854400007,535974.228,535974.228,535974.228,930186.7294999999,782664.876,782664.876,1564465.1406799997,940261.32855,1397623.01182,2437714.5555,691846.6071799999,879898.87289,894959.094,894959.094,894959.094,894959.094,2353212.39384,2353212.39384 +10998000.0,532711.455,756889.26,2210116.6392,572312.1912200002,572312.1912200002,572312.1912200002,1290635.3915,2860232.06176,1430087.2736000002,1900683.9028800002,2896280.23296,717690.2189999999,717690.2189999999,717690.2189999999,908492.7145,532711.455,532711.455,1138077.78929,1277278.82235,1898572.47174,3311463.6135000004,939824.9112600001,1195280.67573,815596.986,815596.986,815596.986,815596.986,1601685.7746999997,1601685.7746999997 +11001600.0,1369067.8739999998,977937.909,2855578.69428,277583.91859,277583.91859,277583.91859,571608.7754999999,2173464.06336,3293396.1715200003,1682011.09146,2563064.52032,1029568.7220000001,1029568.7220000001,1029568.7220000001,577033.8875,1369067.8739999998,1369067.8739999998,574693.42242,692046.4635000001,1028671.5334,1794194.5350000001,509209.4966,647618.7893000001,1498088.946,1498088.946,1498088.946,1498088.946,4116330.7411599997,4116330.7411599997 +11005200.0,689418.798,457561.64400000003,1336080.0004800002,252962.61639,252962.61639,252962.61639,225313.8125,635897.9951200001,4116144.1107199998,224193.9168,341628.8256,594729.291,594729.291,594729.291,558682.775,689418.798,689418.798,323532.66348,1152687.39255,1713377.30942,2988448.7955000005,848150.22958,1078687.70809,209419.293,209419.293,209419.293,209419.293,2072852.51932,2072852.51932 +11008800.0,280274.253,68105.34599999999,198867.61031999998,138402.49082,138402.49082,138402.49082,101879.13049999998,361021.24304,333026.10496,179882.78196,274107.09632,109514.973,109514.973,109514.973,72067.317,280274.253,280274.253,160545.91449,80522.43209999999,119690.13363999999,208761.86099999998,59248.60436,75353.09078,125130.58799999999,125130.58799999999,125130.58799999999,125130.58799999999,842691.25402,842691.25402 +11012400.0,314648.61600000004,649272.483,1895875.6503599999,128484.89797,128484.89797,128484.89797,379044.4945,728805.282,760750.4243200001,452830.95060000004,690028.1152000001,197083.785,197083.785,197083.785,468268.3075,314648.61600000004,314648.61600000004,223981.19496999998,178193.28105,264870.01282,461982.5805,131115.05618,166753.71239,239800.20900000003,239800.20900000003,239800.20900000003,239800.20900000003,946043.50544,946043.50544 +11016000.0,410046.471,311070.468,908325.76656,121889.41413000002,121889.41413000002,121889.41413000002,407682.716,849739.51144,1130232.9612800002,551818.68042,840866.56064,328953.585,328953.585,328953.585,269853.17799999996,410046.471,410046.471,379910.2790599999,331814.556,493215.7104,860259.9600000001,244149.9696,310512.88080000004,354268.902,354268.902,354268.902,354268.902,1232873.05614,1232873.05614 +11019600.0,279659.56799999997,196620.68700000003,574132.40604,88637.38796000001,88637.38796000001,88637.38796000001,174063.69400000002,595557.26656,735746.66112,347561.59809,529617.67328,239322.612,239322.612,239322.612,168031.472,279659.56799999997,279659.56799999997,276298.53563,194902.9533,289707.59972,505303.95300000004,143410.07428,182390.66494000002,239687.88299999997,239687.88299999997,239687.88299999997,239687.88299999997,840843.10112,840843.10112 +11023200.0,333724.887,211339.167,617110.36764,268630.14244,268630.14244,268630.14244,366570.456,678400.84352,338305.42912000004,595896.18816,908032.28672,196827.44400000002,196827.44400000002,196827.44400000002,511130.30499999993,333724.887,333724.887,565233.0374599999,324942.48765,483000.93226,842443.4865,239093.48474,304081.98227000004,168721.608,168721.608,168721.608,168721.608,1003399.49358,1003399.49358 +11026800.0,111956.37299999999,411483.21599999996,1201530.99072,272540.70019,272540.70019,272540.70019,294701.568,613235.18016,151174.40128000002,131843.95938,200905.08096,147351.381,147351.381,147351.381,547129.072,111956.37299999999,111956.37299999999,486411.31253,195492.9573,290584.59332,506833.593,143844.20068,182942.79214,155061.702,155061.702,155061.702,155061.702,336615.49481999996,336615.49481999996 +11030400.0,89099.583,34285.863,100114.71995999999,185769.45200000002,185769.45200000002,185769.45200000002,84287.3885,159484.27384,130722.10112000002,70261.55598,107065.22816000001,40858.044,40858.044,40858.044,53667.0155,89099.583,89099.583,88416.34255999999,28365.628950000002,42163.23118,73540.51950000001,20871.49982,26544.625610000003,41550.966,41550.966,41550.966,41550.966,267892.74622,267892.74622 +11034000.0,999956.658,672090.309,1962503.70228,383615.47718999995,383615.47718999995,383615.47718999995,1496055.1095000003,1610087.10648,1627568.6848,1714816.56255,2613053.8096,1124433.471,1124433.471,1124433.471,741640.1229999999,999956.658,999956.658,369626.95600999997,814336.3106999999,1210445.5778799998,2111242.287,599190.6681199999,762057.9302599999,876462.4140000001,876462.4140000001,876462.4140000001,876462.4140000001,3006536.3517199997,3006536.3517199997 +11037600.0,428964.333,140452.815,410122.21979999996,179232.27905,179232.27905,179232.27905,268212.20650000003,613555.5391999999,406790.5356800001,412608.81165000005,628737.2368000001,222566.691,222566.691,222566.691,189178.4475,428964.333,428964.333,127445.38000999998,156054.83085,231962.98314,404586.5985,114825.52986,146036.49603,232483.16999999998,232483.16999999998,232483.16999999998,232483.16999999998,1289752.76122,1289752.76122 +11041200.0,703739.619,559115.193,1632616.36356,337701.6159000001,337701.6159000001,337701.6159000001,702139.963,1362285.8850399998,1789848.7155199999,1069940.85618,1630386.06656,654606.48,654606.48,654606.48,829453.135,703739.619,703739.619,555067.4199199999,742290.0101999999,1103354.5336799999,1924455.582,546178.82232,694636.82436,697452.63,697452.63,697452.63,697452.63,2115910.4544599997,2115910.4544599997 +11044800.0,849491.2050000001,680962.719,1988411.13948,419112.3891900001,419112.3891900001,419112.3891900001,881801.5849999998,1597493.5143999998,2700845.9667200004,1309208.3963700002,1994984.2230400003,809790.396,809790.396,809790.396,1096037.2219999998,849491.2050000001,849491.2050000001,673897.05097,1053809.4613499998,1566403.1993399998,2732098.6034999997,775395.6036599999,986157.4959299999,908784.459,908784.459,908784.459,908784.459,2554136.8897,2554136.8897 +11048400.0,540079.9199999999,457945.461,1337200.74612,325163.91171,325163.91171,325163.91171,514679.8685,763487.5352800001,1526128.05824,706035.19014,1075863.14688,403384.64099999995,403384.64099999995,403384.64099999995,513927.1584999999,540079.9199999999,540079.9199999999,450488.93383,458264.09745,681172.80658,1188092.1045,337191.85442,428844.67391,526894.578,526894.578,526894.578,526894.578,1623840.2927999997,1623840.2927999997 +11052000.0,102263.20200000002,71779.446,209595.98231999998,78727.86999000002,78727.86999000002,78727.86999000002,89406.41149999999,148440.22648,470365.21536,139976.21589000002,213297.09088000003,123462.774,123462.774,123462.774,100053.6495,102263.20200000002,102263.20200000002,124582.90090999998,61770.79034999999,91817.32293999998,160146.49349999998,45451.10006,57805.258129999995,81165.444,81165.444,81165.444,81165.444,307471.36068000004,307471.36068000004 +11055600.0,95658.20399999998,79176.15299999999,231194.36675999998,41156.69877,41156.69877,41156.69877,56208.974500000004,134552.44952,472916.91264,125340.31125,190994.76,121329.91500000001,121329.91500000001,121329.91500000001,90206.4625,95658.20399999998,95658.20399999998,149180.00955,50764.69665,75457.64786,131612.1765,37352.78914,47505.72847,74533.047,74533.047,74533.047,74533.047,287612.33335999993,287612.33335999993 +11059200.0,92421.024,88368.777,258036.82883999997,17419.4372,17419.4372,17419.4372,35627.9875,154653.80544,473790.9574400001,123310.59552,187901.85984000002,119993.34300000001,119993.34300000001,119993.34300000001,86036.664,92421.024,92421.024,167626.99927999996,43900.793099999995,65255.00603999999,113816.871,32302.31196,41082.47058,71098.191,71098.191,71098.191,71098.191,277879.21216,277879.21216 +11062800.0,102475.57200000001,102166.38,298325.8296,18333.56327,18333.56327,18333.56327,33953.171,181284.29304,488556.39040000003,135619.8795,206658.86400000003,124785.75,124785.75,124785.75,87412.7205,102475.57200000001,102475.57200000001,198296.28078,49727.0583,73915.28172,128922.003,36589.29228,46534.70394,73340.67,73340.67,73340.67,73340.67,308109.88648000004,308109.88648000004 +11066400.0,110178.378,109354.87800000001,319316.24376000004,29955.086040000006,29955.086040000006,29955.086040000006,36707.174,179527.12464,494352.97152,167752.08723,255622.22816000003,125388.831,125388.831,125388.831,88215.05,110178.378,110178.378,212511.53352,55855.6236,83024.90224,144810.87600000002,41098.705760000004,52269.830480000004,78180.966,78180.966,78180.966,78180.966,331269.65651999996,331269.65651999996 +11070000.0,125223.62100000001,118695.522,346590.92423999996,33681.78561,33681.78561,33681.78561,43954.561,192409.37039999999,535185.7964800001,215572.73388,328491.78496,138780.012,138780.012,138780.012,102662.8575,125223.62100000001,125223.62100000001,228096.01047999997,66395.88629999998,98692.15691999998,172137.48299999998,48854.257079999996,62133.43433999999,111570.47099999999,111570.47099999999,111570.47099999999,111570.47099999999,376505.68714,376505.68714 +11073600.0,144035.562,127102.455,371139.1686,38337.2022,38337.2022,38337.2022,56959.58799999999,198019.83503999995,530050.98048,228349.15614,347960.61888,206337.34500000003,206337.34500000003,206337.34500000003,153793.16400000002,144035.562,144035.562,229174.82613999996,79018.6347,117454.85948,204863.127,58142.10652,73945.83346000001,156665.20500000002,156665.20500000002,156665.20500000002,156665.20500000002,433066.92308,433066.92308 +11077200.0,235173.174,152428.24800000002,445090.48416000005,59979.581860000006,59979.581860000006,59979.581860000006,61515.21950000001,612711.7468,512844.24960000004,371234.82396,565691.16032,222298.98,222298.98,222298.98,239304.94700000001,235173.174,235173.174,418292.4388499999,101811.8322,151335.11848,263956.602,74913.39752,95275.76396000001,235823.67599999998,235823.67599999998,235823.67599999998,235823.67599999998,707087.34316,707087.34316 +11080800.0,659930.835,230286.53999999998,672436.6967999999,306067.61416,306067.61416,306067.61416,706878.9875,2371135.6592,1687961.4867200002,1619895.0117,2468411.4464000002,427706.7359999999,427706.7359999999,427706.7359999999,740499.9839999999,659930.835,659930.835,1445479.94942,772822.8387,1148739.1330799998,2003614.767,568644.95292,723209.52066,777539.3520000001,777539.3520000001,777539.3520000001,777539.3520000001,1984192.0439,1984192.0439 +11084400.0,436345.32,620849.7119999999,1812881.1590399998,374085.86116000003,374085.86116000003,374085.86116000003,956765.173,2367998.6739999996,1077934.29184,1542117.8501400002,2349893.86688,617393.9489999999,617393.9489999999,617393.9489999999,685416.8055,436345.32,436345.32,794894.45282,984581.2602,1463501.03368,2552618.0820000004,724457.32232,921373.5743600001,634632.75,634632.75,634632.75,634632.75,1311944.9287999999,1311944.9287999999 +11088000.0,1059930.453,533943.4739999999,1559114.9440799998,207026.66721,207026.66721,207026.66721,399803.6875,1333003.65784,1905311.8995200002,1078397.29263,1643272.0649600003,634231.509,634231.509,634231.509,383782.3955,1059930.453,1059930.453,372028.18496999994,420959.20319999993,625722.07488,1091375.7119999998,309742.82112,393934.66176,1098816.501,1098816.501,1098816.501,1098816.501,3186857.56202,3186857.56202 +11091600.0,522741.47400000005,332877.60299999994,972002.6007599998,208247.7771,208247.7771,208247.7771,174555.0765,419282.508,2922333.3472,127972.79649000001,195006.16608000002,426520.41000000003,426520.41000000003,426520.41000000003,371211.70099999994,522741.47400000005,522741.47400000005,220901.74639,776642.0494499999,1154416.0833799997,2013516.4244999997,571455.1376199999,726783.54751,137609.055,137609.055,137609.055,137609.055,1571709.36516,1571709.36516 +11095200.0,125023.68899999998,18786.528000000002,54856.66176,121477.62374000001,121477.62374000001,121477.62374000001,98218.8235,73107.14648000001,44284.983680000005,58294.574100000005,88829.82720000001,18622.962,18622.962,18622.962,35084.777,125023.68899999998,125023.68899999998,31981.771769999996,35385.34005,52597.468420000005,91739.77050000001,26036.620580000003,33113.688590000005,27224.453999999998,27224.453999999998,27224.453999999998,27224.453999999998,375904.55825999996,375904.55825999996 +11098800.0,161309.481,413374.596,1207053.82032,116636.72911000001,116636.72911000001,116636.72911000001,262839.2305,328357.9128,312102.52672,185537.12289,282723.23488,66593.577,66593.577,66593.577,252355.37249999997,161309.481,161309.481,97687.18946999998,63571.2219,94493.51995999999,164814.279,46775.86204,59490.106420000004,80220.20999999999,80220.20999999999,80220.20999999999,80220.20999999999,485003.83953999996,485003.83953999996 +11102400.0,198849.126,97124.841,283604.53572,99980.16457000001,99980.16457000001,99980.16457000001,213999.74049999999,386702.07655999996,282519.83936000004,189409.13103000002,288623.43776000006,119899.845,119899.845,119899.845,90857.6865,198849.126,198849.126,159623.15446999998,87222.21749999998,129648.82699999998,226131.675,64178.323,81622.7665,126463.65,126463.65,126463.65,126463.65,597873.0388399999,597873.0388399999 +11106000.0,138471.72000000003,61845.042,180587.52263999998,77166.89068,77166.89068,77166.89068,79122.869,249877.68016,194123.10336,124097.98212,189101.68704000002,81264.64799999999,81264.64799999999,81264.64799999999,51184.1645,138471.72000000003,138471.72000000003,118641.23297,57981.4443,86184.76411999999,150322.263,42662.88988,54259.17874,85074.441,85074.441,85074.441,85074.441,416338.30480000004,416338.30480000004 +11109600.0,140619.318,80899.00200000001,236225.08584,105732.58454000001,105732.58454000001,105732.58454000001,70095.942,250474.59823999996,26178.748799999998,270310.14339,411901.17088,56078.183999999994,56078.183999999994,56078.183999999994,126016.69499999999,140619.318,140619.318,278457.25401,78783.95745,117106.03058,204254.70450000002,57969.430420000004,73726.22191000001,38329.547999999995,38329.547999999995,38329.547999999995,38329.547999999995,422795.41611999995,422795.41611999995 +11113200.0,22056.642,196165.50300000003,572803.26876,255378.90213,255378.90213,255378.90213,221896.094,251918.10607999997,42344.01344,30569.016870000003,46581.35904,34742.793,34742.793,34742.793,288047.71099999995,22056.642,22056.642,206956.69058999998,97678.24829999999,145190.87772,253239.903,71871.89628,91407.54594,59686.424999999996,59686.424999999996,59686.424999999996,59686.424999999996,66316.97028,66316.97028 +11116800.0,26138.982000000004,8502.582,24827.53944,66262.52226,66262.52226,66262.52226,43905.015,30448.01384,24651.229440000006,25156.832820000003,38334.22144000001,7698.4439999999995,7698.4439999999995,7698.4439999999995,15529.3285,26138.982000000004,26138.982000000004,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11449.734,11449.734,11449.734,11449.734,78591.20588000001,78591.20588000001 +11120400.0,643890.861,268575.65400000004,784240.90968,131085.08259,131085.08259,131085.08259,681781.7755,805082.9703200001,497934.0908800001,818968.74801,1247952.37792,539700.987,539700.987,539700.987,117485.29449999999,643890.861,643890.861,9502.102089999998,194411.94345,288977.75298,504030.9645,143048.78802,181931.17671,391750.455,391750.455,391750.455,391750.455,1935965.18874,1935965.18874 +11124000.0,186318.51,59583.549,173983.96308000002,165656.58648,165656.58648,165656.58648,194953.787,257605.27912000002,147693.46496,208844.67429000002,318239.50368,92158.69200000001,92158.69200000001,92158.69200000001,78126.96500000001,186318.51,186318.51,19955.94926,71594.44605,106419.39881999999,185615.2305,52679.37018,66998.25938999999,95503.659,95503.659,95503.659,95503.659,560197.6534000001,560197.6534000001 +11127600.0,447210.59099999996,299007.483,873101.85036,204629.94596,204629.94596,204629.94596,498308.31049999996,918639.03136,786891.0496,624290.4009300001,951299.6585600001,396653.739,396653.739,396653.739,275921.569,447210.59099999996,447210.59099999996,199456.27962,303391.8747,450967.6754799999,786571.5269999999,223236.49052,283914.86546,356778.69299999997,356778.69299999997,356778.69299999997,356778.69299999997,1344613.17694,1344613.17694 +11131200.0,579319.602,438525.10800000007,1280493.3153600001,225560.31167999998,225560.31167999998,225560.31167999998,559895.098,1147638.9100799998,1054938.13888,866126.47233,1319811.76736,534472.5179999999,534472.5179999999,534472.5179999999,560377.762,579319.602,579319.602,425679.00674,494096.0229,734434.0883599999,1280989.689,363557.07363999996,462376.27822,521093.349,521093.349,521093.349,521093.349,1741820.9366799998,1741820.9366799998 +11134800.0,456573.68100000004,377502.71699999995,1102307.93364,232925.1639,232925.1639,232925.1639,388946.1275,689589.5068,932601.0470400001,587800.04073,895695.30016,313222.731,313222.731,313222.731,377760.13450000004,456573.68100000004,456573.68100000004,386564.90443999995,304549.8669,452688.93796,789573.729,224088.54404,284998.51742000005,444180.60599999997,444180.60599999997,444180.60599999997,444180.60599999997,1372764.86754,1372764.86754 +11138400.0,81224.766,65582.949,191502.21108,78039.23006,78039.23006,78039.23006,74145.22850000001,116200.51231999998,428883.23520000005,112937.99181,172095.98752,74227.19399999999,74227.19399999999,74227.19399999999,87056.6935,81224.766,81224.766,117450.77239999997,37396.79685,55587.33753999999,96954.6585,27516.65546,34996.01483,58682.379,58682.379,58682.379,58682.379,244215.79644,244215.79644 +11142000.0,77935.299,62875.793999999994,183597.31848,39568.478950000004,39568.478950000004,39568.478950000004,40208.010500000004,101966.90808,423554.73344000004,108994.30647000001,166086.56224,83797.34700000001,83797.34700000001,83797.34700000001,79327.255,77935.299,77935.299,111069.93221999999,44031.14639999999,65448.76575999999,114154.824,32398.226239999996,41204.455519999996,66655.548,66655.548,66655.548,66655.548,234325.46565999996,234325.46565999996 +11145600.0,76834.155,68250.111,199290.32412,15805.06356,15805.06356,15805.06356,24035.6305,108197.13104,422618.10688000004,100734.20469,153499.74048,96250.23,96250.23,96250.23,74288.3995,76834.155,76834.155,123221.57952,37578.921299999995,55858.050919999994,97426.83299999998,27650.66308,35166.44734,62299.17,62299.17,62299.17,62299.17,231014.6927,231014.6927 +11149200.0,87913.977,84078.114,245508.09288,10421.62572,10421.62572,10421.62572,28703.801,134423.09352,442985.97824,102971.25783,156908.58336,110486.247,110486.247,110486.247,77320.95700000001,87913.977,87913.977,157705.72011999995,40223.49434999999,59788.99653999999,104283.1335,29596.546459999998,37641.24533,64190.240999999995,64190.240999999995,64190.240999999995,64190.240999999995,264328.02418,264328.02418 +11152800.0,95908.16100000001,87202.494,254631.28248,5727.149340000001,5727.149340000001,5727.149340000001,25121.6175,162250.41904,446536.3616,122089.39764,186040.98687999998,111519.98999999999,111519.98999999999,111519.98999999999,77512.421,95908.16100000001,95908.16100000001,175204.6348,48390.1533,71928.07972,125455.953,35605.59428,45283.62494,64610.46000000001,64610.46000000001,64610.46000000001,64610.46000000001,288363.87074,288363.87074 +11156400.0,102006.82199999999,98072.328,286371.19775999995,7119.88299,7119.88299,7119.88299,32915.879499999995,163802.50415999998,453491.32544000004,147810.66426,225235.29792,114100.887,114100.887,114100.887,80114.64649999999,102006.82199999999,102006.82199999999,183319.40783,52209.2385,77604.8434,135357.285,38415.6866,48857.5343,68514.102,68514.102,68514.102,68514.102,306700.51148,306700.51148 +11160000.0,108679.773,102191.109,298398.03828,9749.33498,9749.33498,9749.33498,34707.5295,166646.02352000002,458063.92832,180182.4738,274563.7696,127218.78899999999,127218.78899999999,127218.78899999999,88539.5735,108679.773,108679.773,193572.73090999995,57405.833999999995,85329.1656,148829.94,42239.3544,53720.521199999996,81157.014,81157.014,81157.014,81157.014,326763.85082,326763.85082 +11163600.0,179296.29,121761.62700000001,355543.95084,42018.31777,42018.31777,42018.31777,42721.532,531411.5241599999,451565.4892800001,313301.61597,477411.98624,171810.204,171810.204,171810.204,185237.829,179296.29,179296.29,376214.88592999993,76663.49085,113954.12714,198757.19850000003,56409.185860000005,71741.88403,149510.022,149510.022,149510.022,149510.022,539084.1786,539084.1786 +11167200.0,636594.426,245312.796,716313.3643199999,220792.95788,220792.95788,220792.95788,539778.1165,2260361.52304,1534258.704,1475429.19489,2248273.05888,413772.08999999997,413772.08999999997,413772.08999999997,630236.4145,636594.426,636594.426,1434977.1893600002,665543.39715,989276.85206,1725482.8815000001,489708.47494000004,622817.15437,741365.3430000001,741365.3430000001,741365.3430000001,741365.3430000001,1914027.2408399999,1914027.2408399999 +11170800.0,466277.202,607123.2690000001,1772799.94548,341945.30315,341945.30315,341945.30315,1015723.1770000001,2408060.7819999997,1094708.8800000001,1624173.91836,2474931.68512,648350.706,648350.706,648350.706,727944.924,466277.202,466277.202,786256.7173499999,1043039.3611499999,1550394.3096599998,2704176.1215,767470.93734,976078.8095699999,702302.319,702302.319,702302.319,702302.319,1401940.12068,1401940.12068 +11174400.0,1162277.3850000002,657689.6429999999,1920453.7575599998,214252.7772,214252.7772,214252.7772,453506.14400000003,1518875.11904,2346518.39936,1274458.8357899997,1942032.5116799998,730917.333,730917.333,730917.333,443972.8895,1162277.3850000002,1162277.3850000002,439265.49628,508347.18315,755617.29446,1317937.1415000001,374043.11254,475712.54917,1240078.824,1240078.824,1240078.824,1240078.824,3494580.6709000003,3494580.6709000003 +11178000.0,596503.8389999999,395932.995,1156124.3454,210992.78046000004,210992.78046000004,210992.78046000004,193274.249,528950.05176,3320226.3712,168365.79186,256557.39711999998,527981.361,527981.361,527981.361,473509.694,596503.8389999999,596503.8389999999,270378.06055,915407.5396499999,1360679.84906,2373278.8065,673559.1279399999,856640.63587,174005.604,174005.604,174005.604,174005.604,1793488.2092599997,1793488.2092599997 +11181600.0,197435.658,43546.18199999999,127154.85143999998,127313.66186,127313.66186,127313.66186,99774.9515,238980.53216,201465.39519999997,126401.33667,192611.56064,73301.1,73301.1,73301.1,50200.969,197435.658,197435.658,110980.65380999997,59509.2906,88455.78503999999,154283.346,43787.08296,55688.941080000004,78736.86,78736.86,78736.86,78736.86,593623.2117199999,593623.2117199999 +11185200.0,230392.37099999998,537523.281,1569567.98052,117863.84632000001,117863.84632000001,117863.84632000001,303396.989,536262.4617600001,471373.18208000006,321891.64538999996,490501.55487999995,127741.22999999998,127741.22999999998,127741.22999999998,339260.1765,230392.37099999998,230392.37099999998,150858.75727,107986.57964999999,160513.38505999997,279965.2065,79456.79194,101054.10786999999,153655.785,153655.785,153655.785,153655.785,692713.0621399999,692713.0621399999 +11188800.0,298359.27900000004,179467.158,524044.10136,103336.04644,103336.04644,103336.04644,278566.78500000003,611322.10712,657860.9625600001,362116.58574000007,551796.7020800001,224112.738,224112.738,224112.738,187388.369,298359.27900000004,298359.27900000004,246483.04836999997,193693.00364999997,287909.10666,502167.0465,142519.79033999998,181258.39106999998,234499.785,234499.785,234499.785,234499.785,897066.8988600001,897066.8988600001 +11192400.0,168381.11099999998,89796.03600000001,262204.42512,78053.29191,78053.29191,78053.29191,93062.249,332496.896,311013.09056000004,170034.85632000002,259100.73344000004,120178.02900000001,120178.02900000001,120178.02900000001,81784.0625,168381.11099999998,168381.11099999998,147176.71188999998,83643.00165,124328.60986,216852.22650000002,61544.72714,78273.32747,117454.011,117454.011,117454.011,117454.011,506265.87373999995,506265.87373999995 +11196000.0,224542.28399999999,136408.188,398311.90896,193241.34929,193241.34929,193241.34929,163613.331,454845.1004,134536.44416,423412.97585999995,645200.72512,112192.737,112192.737,112192.737,304959.3995,224542.28399999999,224542.28399999999,439223.90901999996,187078.0698,278076.53832,485017.218,137652.50568,175068.11964000002,84494.22899999999,84494.22899999999,84494.22899999999,84494.22899999999,675123.80056,675123.80056 +11199600.0,51602.484000000004,284270.84699999995,830070.8732399999,261715.06185,261715.06185,261715.06185,265264.2685,372905.70728000003,53163.346560000005,50553.59106,77034.04352,87090.426,87090.426,87090.426,399256.886,51602.484000000004,51602.484000000004,315862.24305999995,137624.88869999998,204568.35307999997,356805.267,101264.73292,128789.71066,91169.96699999999,91169.96699999999,91169.96699999999,91169.96699999999,155151.46856,155151.46856 +11203200.0,30686.852999999996,9316.728,27204.84576,109138.59253000001,109138.59253000001,109138.59253000001,56090.961500000005,34729.317839999996,35097.868160000005,25485.031320000002,38834.33344,8357.124,8357.124,8357.124,15529.3285,30686.852999999996,30686.852999999996,10076.95962,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11932.323,11932.323,11932.323,11932.323,92265.13801999998,92265.13801999998 +11206800.0,797365.353,448108.755,1308477.5646,211479.08034000001,211479.08034000001,211479.08034000001,1102152.6705,1162888.9780000001,947813.7024000001,1239587.19696,1888894.7763200002,827186.415,827186.415,827186.415,360068.4605,797365.353,797365.353,42010.81417,457708.6683,680347.20572,1186652.1030000001,336783.16828,428324.90194,591670.2209999999,591670.2209999999,591670.2209999999,591670.2209999999,2397411.82802,2397411.82802 +11210400.0,139317.261,13015.374,38004.89208,155667.41861000002,155667.41861000002,155667.41861000002,125923.72099999999,149121.74864,47894.83712,102267.76833,155836.59936000002,25577.838,25577.838,25577.838,55739.330500000004,139317.261,139317.261,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,56335.221,56335.221,56335.221,56335.221,418880.56474,418880.56474 +11214000.0,431469.37200000003,246679.14,720303.0888,196204.85060000003,196204.85060000003,196204.85060000003,402589.7995,897012.2908,776155.3075200001,589064.22078,897621.6697600001,372833.979,372833.979,372833.979,279971.17400000006,431469.37200000003,431469.37200000003,218975.83200999998,251990.5545,374563.73779999994,653308.845,185415.2722,235813.3831,321056.214,321056.214,321056.214,321056.214,1297284.5784800001,1297284.5784800001 +11217600.0,661783.326,515495.91299999994,1505248.0659599998,251304.42513000002,251304.42513000002,251304.42513000002,633699.0485,1299039.3566400001,1510614.8211199997,976601.5698599999,1488154.77312,635115.297,635115.297,635115.297,705627.58,661783.326,661783.326,516393.11996999994,594480.4650000001,883647.506,1541245.6500000001,437420.1940000001,556316.2870000001,617927.493,617927.493,617927.493,617927.493,1989761.86684,1989761.86684 +11221200.0,503173.1010000001,432113.97,1261772.7924,281410.55701,281410.55701,281410.55701,456859.053,764101.5703999999,1239201.60128,685039.11252,1043869.12384,375519.612,375519.612,375519.612,475353.78099999996,503173.1010000001,503173.1010000001,433343.53491,384637.15485,571732.26474,997207.4385,283016.96826,359944.39923000004,512944.6320000001,512944.6320000001,512944.6320000001,512944.6320000001,1512873.79034,1512873.79034 +11224800.0,94791.588,72780.28499999999,212518.43219999998,78263.96325,78263.96325,78263.96325,74934.8915,133260.01080000002,503715.98400000005,140479.27005,214063.6496,114288.47099999999,114288.47099999999,114288.47099999999,103147.912,94791.588,94791.588,130832.02885999998,60962.139,90615.3276,158049.99000000002,44856.0924,57048.520200000006,83106.369,83106.369,83106.369,83106.369,285006.70791999996,285006.70791999996 +11228400.0,89554.737,72673.281,212205.98051999998,39849.10952,39849.10952,39849.10952,53446.5855,131385.45839999997,493959.40928,123567.51771,188293.36032,122946.41100000001,122946.41100000001,122946.41100000001,92441.132,89554.737,89554.737,126577.25677999998,49680.041849999994,73845.39554,128800.1085,36554.697459999996,46490.70583,75176.553,75176.553,75176.553,75176.553,269261.24257999996,269261.24257999996 +11232000.0,92584.80900000001,84121.137,245633.72004000001,16432.97095,16432.97095,16432.97095,35795.105500000005,143736.0948,498339.34911999997,114265.72017,174119.19264,126693.426,126693.426,126693.426,86858.6215,92584.80900000001,92584.80900000001,160123.3608,44777.7477,66558.52868,116090.45700000001,32947.577320000004,41903.126860000004,71654.313,71654.313,71654.313,71654.313,278371.65906000003,278371.65906000003 +11235600.0,102436.17,100982.03100000002,294867.53052000003,11927.904230000002,11927.904230000002,11927.904230000002,34370.630000000005,176998.69663999998,510011.34784,130126.02980999999,198287.28352,129709.149,129709.149,129709.149,89414.19900000001,102436.17,102436.17,193885.67912999997,51365.5344,76350.74496,133169.904,37794.88704,48067.99392,72900.126,72900.126,72900.126,72900.126,307991.4178,307991.4178 +11239200.0,110448.687,114597.033,334623.33635999996,7297.6565200000005,7297.6565200000005,7297.6565200000005,37794.263499999994,189315.50192,528936.0416,157756.03514999998,240390.1488,135477.981,135477.981,135477.981,91811.993,110448.687,110448.687,223818.89595,58737.81014999999,87309.04125999998,152283.21149999998,43219.42574,54966.98776999999,76871.856,76871.856,76871.856,76871.856,332082.38558,332082.38558 +11242800.0,120539.751,116072.331,338931.20652,23978.95445,23978.95445,23978.95445,38518.165,189612.17392,531807.6870400001,199287.78996000002,303676.63232000003,157327.671,157327.671,157327.671,102028.6645,120539.751,120539.751,223944.68707,65373.139800000004,97171.92632,169485.918,48101.71768,61176.34564000001,92858.355,92858.355,92858.355,92858.355,362422.85134,362422.85134 +11246400.0,143874.531,119911.46100000001,350141.46612,36223.549450000006,36223.549450000006,36223.549450000006,55354.69800000001,204934.944,537974.36224,227893.56155999997,347266.37951999996,217053.23100000003,217053.23100000003,217053.23100000003,169531.894,143874.531,143874.531,228764.65338999996,76947.72794999999,114376.62277999998,199494.1095,56618.328219999996,72007.87380999999,138714.771,138714.771,138714.771,138714.771,432582.7565399999,432582.7565399999 +11250000.0,158047.476,123514.398,360662.04216,43709.915590000004,43709.915590000004,43709.915590000004,61368.055,243476.08239999998,510018.94208000007,233082.47886,355173.30112,226574.87100000004,226574.87100000004,226574.87100000004,166582.2725,158047.476,158047.476,238537.6162,83701.60919999999,124415.72527999998,217004.172,61587.850719999995,78328.17255999999,168555.138,168555.138,168555.138,168555.138,475196.07784,475196.07784 +11253600.0,723851.9130000001,740578.446,2162489.06232,464137.73285000003,464137.73285000003,464137.73285000003,867849.7030000001,1101425.6352,644289.1635200001,832659.3781800001,1268814.29056,309258.705,309258.705,309258.705,1267811.041,723851.9130000001,723851.9130000001,1283945.7482800002,361073.6028,536706.9355199999,936116.7479999999,265678.84848,337893.56904,888580.6379999999,888580.6379999999,888580.6379999999,888580.6379999999,2176381.41842,2176381.41842 +11257200.0,1265816.04,1215750.2729999998,3549990.7971599996,1015593.14395,1015593.14395,1015593.14395,1273137.005,2024736.3979199997,1949130.33792,1887643.3569,2876408.9248,737571.5819999999,737571.5819999999,737571.5819999999,871832.4615,1265816.04,1265816.04,377816.71212999994,1006645.80195,1496298.20438,2609822.4495,740692.46662,942021.62701,1379043.9749999999,1379043.9749999999,1379043.9749999999,1379043.9749999999,3805886.8935999996,3805886.8935999996 +11260800.0,1225550.034,959340.408,2801273.99136,611744.50425,611744.50425,611744.50425,870001.7585,2067670.37264,4159114.6163200005,1609295.35935,2452259.5952000003,1383748.308,1383748.308,1383748.308,1155117.964,1225550.034,1225550.034,524220.31753,1681803.18225,2499865.4709,4360230.4725,1237474.9341000002,1573835.57055,852441.0090000001,852441.0090000001,852441.0090000001,852441.0090000001,3684820.43556,3684820.43556 +11264400.0,810250.179,424130.33400000003,1238460.5752800002,314591.83030000003,314591.83030000003,314591.83030000003,1310521.2645,1859007.56976,2816346.78464,1528768.55607,2329552.08544,1076645.781,1076645.781,1076645.781,1333615.1500000001,810250.179,810250.179,683370.46141,1429511.1903,2124853.6705199997,3706140.1229999997,1051837.8634799998,1337740.10154,878873.0759999999,878873.0759999999,878873.0759999999,878873.0759999999,2436152.20486,2436152.20486 +11268000.0,368279.56200000003,212250.64200000002,619771.87464,320702.43469,320702.43469,320702.43469,702286.1965,1197320.3974399997,1352178.2156800001,713936.7706800001,1087903.6505600002,253920.162,253920.162,253920.162,540688.9635,368279.56200000003,368279.56200000003,125536.03126999999,551569.6093499999,819863.96254,1429995.2835,405846.28046,516160.20233,344395.584,344395.584,344395.584,344395.584,1107293.88308,1107293.88308 +11271600.0,211413.612,84188.85,245831.442,133261.02669,133261.02669,133261.02669,137138.288,574964.62064,255591.31712,318883.98507,485918.45344,135828.63299999997,135828.63299999997,135828.63299999997,115637.22099999999,211413.612,211413.612,68832.40350999999,74585.88945,110865.93938,193370.8245,54880.48162,69797.65951,150734.87699999998,150734.87699999998,150734.87699999998,150734.87699999998,635650.2600799999,635650.2600799999 +11275200.0,226380.876,109365.681,319347.78852,105890.72439,105890.72439,105890.72439,159079.91749999998,440061.18711999996,358615.79968,292811.90589,446189.57088,171477.45,171477.45,171477.45,124627.9335,226380.876,226380.876,96809.83104,102161.61045,151855.03577999998,264863.4345,75170.76522,95603.08731,160380.55800000002,160380.55800000002,160380.55800000002,160380.55800000002,680651.83384,680651.83384 +11278800.0,42000.144,6644.621999999999,19402.296239999996,69366.38973000001,69366.38973000001,69366.38973000001,58144.432499999995,60597.5044,22960.97792,43040.44394999999,65585.4384,10685.07,10685.07,10685.07,20705.7725,42000.144,42000.144,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,22010.1,22010.1,22010.1,22010.1,126280.43295999999,126280.43295999999 +11282400.0,24699.975,4397.535,12840.802199999998,57828.09439,57828.09439,57828.09439,49914.4835,43108.76008,15936.305920000003,31318.35273,47723.20416,8792.835,8792.835,8792.835,17829.9695,24699.975,24699.975,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,15896.751,15896.751,15896.751,15896.751,74264.59149999998,74264.59149999998 +11286000.0,11459.58,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,26330.802159999996,12337.789440000002,22997.51853,35043.83776,6807.357,6807.357,6807.357,13803.846000000001,11459.58,11459.58,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9476.937000000002,9476.937000000002,9476.937000000002,9476.937000000002,34455.1372,34455.1372 +11289600.0,20369.178,3603.9120000000003,10523.42304,49947.731900000006,49947.731900000006,49947.731900000006,43473.906,37749.12344,13880.007679999999,26748.75252,40760.00384,7658.277,7658.277,7658.277,15529.3285,20369.178,20369.178,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,13436.499,13436.499,13436.499,13436.499,61243.32852,61243.32852 +11293200.0,48554.787,6799.068000000001,19853.278560000002,83875.64262,83875.64262,83875.64262,70846.3665,69499.82519999999,23023.86432,47536.44944999999,72436.4944,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,48554.787,48554.787,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,26506.884000000002,26506.884000000002,26506.884000000002,26506.884000000002,145988.05958,145988.05958 +11296800.0,70657.57199999999,12217.104,35673.94368,147425.34301,147425.34301,147425.34301,125591.28399999999,109061.48024,45949.656319999995,82636.45551,125922.21792,22128.701999999997,22128.701999999997,22128.701999999997,44862.503,70657.57199999999,70657.57199999999,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,40973.64,40973.64,40973.64,40973.64,212443.76647999996,212443.76647999996 +11300400.0,226872.168,61332.507000000005,179090.92044000002,175413.23932000002,175413.23932000002,175413.23932000002,140093.7685,329731.95384,208617.66783999998,198202.73046000002,302023.20832000003,95688.225,95688.225,95688.225,52020.997,226872.168,226872.168,26127.73241,51265.029599999994,76201.35263999998,132909.33599999998,37720.935359999996,47973.94128,106812.70199999999,106812.70199999999,106812.70199999999,106812.70199999999,682128.98512,682128.98512 +11304000.0,412836.7649999999,178744.51499999998,521933.9838,157706.88747000002,157706.88747000002,157706.88747000002,214248.73400000003,711920.2068,351085.904,428646.42576,653175.50592,244009.353,244009.353,244009.353,122442.978,412836.7649999999,412836.7649999999,186607.41319999998,107724.94559999999,160124.48703999998,279286.896,79264.28096,100809.27008,267352.392,267352.392,267352.392,267352.392,1241262.5400999996,1241262.5400999996 +11307600.0,256285.94400000002,123158.97600000002,359624.20992000005,124238.42277,124238.42277,124238.42277,160584.942,449030.45768,368142.2624,289203.0603,440690.3776,150741.528,150741.528,150741.528,138066.6175,256285.94400000002,256285.94400000002,131989.78624,57784.0149,85891.30116,149810.409,42517.62084,54074.42382,230382.84600000002,230382.84600000002,230382.84600000002,230382.84600000002,770566.40496,770566.40496 +11311200.0,79575.636,74056.521,216245.04132,78209.09558,78209.09558,78209.09558,74100.85900000001,125806.55311999998,441065.64736,106634.74521,162491.04032,75928.071,75928.071,75928.071,73230.5945,79575.636,79575.636,127278.74718,27227.21445,40471.06938,70589.0745,20033.85162,25479.29451,46772.154,46772.154,46772.154,46772.154,239257.41223999998,239257.41223999998 +11314800.0,85929.831,82066.098,239633.00616,39810.64802000001,39810.64802000001,39810.64802000001,40961.319,134358.5148,480451.16032,111516.52281000001,169929.93952,102548.90100000001,102548.90100000001,102548.90100000001,85191.6835,85929.831,85929.831,173683.47710999998,41665.79249999999,61932.85699999999,108022.42499999999,30657.792999999994,38990.951499999996,68627.667,68627.667,68627.667,68627.667,258362.35854000002,258362.35854000002 +11318400.0,89906.265,88491.75,258395.91,16111.82353,16111.82353,16111.82353,20282.689,157204.40208,490686.54208000004,133765.53624,203833.19808,111995.772,111995.772,111995.772,85200.731,89906.265,89906.265,185905.18206,41944.0923,62346.52731999999,108743.94299999998,30862.566679999996,39251.38514,73616.72400000002,73616.72400000002,73616.72400000002,73616.72400000002,270318.1701,270318.1701 +11322000.0,102428.41500000001,93913.43399999998,274227.22727999993,10664.348310000001,10664.348310000001,10664.348310000001,30481.5665,179778.1512,496264.0870400001,149559.79080000002,227900.63360000003,125697.41100000001,125697.41100000001,125697.41100000001,87298.722,102428.41500000001,102428.41500000001,195761.43482999998,50380.55010000001,74886.64484000001,130616.24100000002,37070.133160000005,47146.243180000005,77391.258,77391.258,77391.258,77391.258,307968.10109999997,307968.10109999997 +11325600.0,116381.29800000001,97789.203,285544.47276,6040.19339,6040.19339,6040.19339,26525.1665,182051.47632,504638.61887999997,175717.9116,267760.6272,132741.804,132741.804,132741.804,87045.9905,116381.29800000001,116381.29800000001,200676.06195,56161.6902,83479.84568,145604.382,41323.91032,52556.248360000005,86962.97099999999,86962.97099999999,86962.97099999999,86962.97099999999,349919.76932,349919.76932 +11329200.0,131229.771,113990.658,332852.72135999997,9597.3449,9597.3449,9597.3449,36377.656,189922.14943999998,529368.36928,220328.62719,335738.86048000003,195912.225,195912.225,195912.225,98988.06049999999,131229.771,131229.771,218080.51784999997,60959.8467,90611.92027999999,158044.047,44854.40572,57046.37506,94580.844,94580.844,94580.844,94580.844,394564.17814,394564.17814 +11332800.0,157842.747,125937.65699999999,367737.95843999996,12989.470120000002,12989.470120000002,12989.470120000002,41558.433,220243.09072,562330.0255999999,240381.77772,366296.04224000004,224298.495,224298.495,224298.495,168329.18199999997,157842.747,157842.747,238424.52347999995,71929.0935,106916.8254,186482.835,52925.6046,67311.42330000001,116742.04199999999,116742.04199999999,116742.04199999999,116742.04199999999,474580.52598000003,474580.52598000003 +11336400.0,163685.55599999998,119523.09599999999,349007.44032,35507.082930000004,35507.082930000004,35507.082930000004,46897.7425,238245.34623999996,487199.18656,222743.96529,339419.37568,207507.47999999998,207507.47999999998,207507.47999999998,154768.201,163685.55599999998,163685.55599999998,219315.90863,74918.88045,111360.90378,194234.13450000001,55125.497220000005,70109.27331,145854.56699999998,145854.56699999998,145854.56699999998,145854.56699999998,492147.90504,492147.90504 +11340000.0,639537.204,624030.2880000001,1822168.44096,237838.81792000003,237838.81792000003,237838.81792000003,734366.2025,996446.1047199998,403691.30240000004,722742.78804,1101322.34368,252033.94199999998,252033.94199999998,252033.94199999998,1068517.1,639537.204,639537.204,930607.25602,290306.34495,431517.08557999996,752646.0795,213608.12542,271669.39441,728145.1109999999,728145.1109999999,728145.1109999999,728145.1109999999,1922875.19336,1922875.19336 +11343600.0,1007922.051,906237.0719999999,2646212.2502399995,484453.1215700001,484453.1215700001,484453.1215700001,1024474.1745,1640519.8895999999,1562444.6496,1440708.07335,2195364.6832,610591.152,610591.152,610591.152,576979.802,1007922.051,1007922.051,247977.66929,715759.0515,1063918.3926,1855671.615,526657.2774,669809.0877,1063177.509,1063177.509,1063177.509,1063177.509,3030485.6333399997,3030485.6333399997 +11347200.0,852773.1300000001,563989.896,1646850.49632,239445.23064000002,239445.23064000002,239445.23064000002,548577.988,1430855.0712,1959337.4208000002,1222613.58198,1863030.22016,967032.9509999999,967032.9509999999,967032.9509999999,608865.915,852773.1300000001,852773.1300000001,403491.02989,831858.6559499999,1236491.1379799999,2156670.5895,612083.65302,778455.3842099999,598108.464,598108.464,598108.464,598108.464,2564004.5442,2564004.5442 +11350800.0,547153.0650000001,266519.49900000007,778236.9370800001,201958.86194,201958.86194,201958.86194,816370.919,1368403.13904,1894528.88384,927094.4949,1412715.4208,692218.956,692218.956,692218.956,842417.9890000001,547153.0650000001,547153.0650000001,430969.59307999996,813019.49775,1208488.2411,2107828.3275,598221.7539,760825.65345,526355.73,526355.73,526355.73,526355.73,1645106.8821,1645106.8821 +11354400.0,319613.904,188706.027,551021.59884,165760.63603000002,165760.63603000002,165760.63603000002,499358.46449999994,1048240.51576,800316.9260800002,645497.9021399999,983615.8508799999,232102.65600000002,232102.65600000002,232102.65600000002,356218.562,319613.904,319613.904,102792.25411000001,379070.2962,563457.57608,982774.8420000001,278920.85992,354734.91916000005,255330.513,255330.513,255330.513,255330.513,960972.4713599999,960972.4713599999 +11358000.0,190369.88999999998,71947.656,210087.15552,129164.91764000001,129164.91764000001,129164.91764000001,145167.3615,490618.65696000005,285331.84064,289609.1667,441309.2064,140563.356,140563.356,140563.356,108394.0235,190369.88999999998,190369.88999999998,71379.16864,91645.29944999999,136223.38337999998,237598.92449999996,67432.83761999999,85761.89751,132836.046,132836.046,132836.046,132836.046,572378.8025999999,572378.8025999999 +11361600.0,242729.907,131259.996,383279.18832,108396.32628,108396.32628,108396.32628,194545.24599999998,509559.88519999996,420531.52960000007,337030.73943,513570.65056000004,203811.84,203811.84,203811.84,153487.124,242729.907,242729.907,102095.70839,163383.1317,242855.91428,423585.89700000006,120217.71172,152894.33806,176838.915,176838.915,176838.915,176838.915,729807.9203799999,729807.9203799999 +11365200.0,93187.668,27681.102,80828.81783999999,76355.89434000001,76355.89434000001,76355.89434000001,66684.6285,157489.85544,96473.15584,95627.83692000002,145718.60864000002,43649.520000000004,43649.520000000004,43649.520000000004,28652.197,93187.668,93187.668,20640.647950000002,27874.38825,41433.0413,72266.93250000001,20510.043700000002,26084.92135,49227.36600000001,49227.36600000001,49227.36600000001,49227.36600000001,280184.25512,280184.25512 +11368800.0,38821.092,6051.147,17669.34924,60233.19984,60233.19984,60233.19984,50065.344,55472.7584,20247.27744,36294.15111,55305.373120000004,9238.356,9238.356,9238.356,17829.9695,38821.092,38821.092,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,19600.920000000002,19600.920000000002,19600.920000000002,19600.920000000002,116722.08327999999,116722.08327999999 +11372400.0,10310.733,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.928159999996,12337.789440000002,22612.813860000002,34457.62112,6807.357,6807.357,6807.357,13803.846000000001,10310.733,10310.733,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,31000.93722,31000.93722 +11376000.0,11746.365,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29026.038079999995,13880.007679999999,25451.65602,38783.47584,7658.277,7658.277,7658.277,15529.3285,11746.365,11746.365,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,35317.4041,35317.4041 +11379600.0,19254.918,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47604.54976,22619.26976,41110.74786000001,62644.94912000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,19254.918,19254.918,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,57893.12012,57893.12012 +11383200.0,42696.783,10411.305,30401.010599999998,143209.92191000003,143209.92191000003,143209.92191000003,125591.28399999999,94876.33632,40097.804800000005,73612.75005,112171.80960000001,22123.911,22123.911,22123.911,44862.503,42696.783,42696.783,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,33063.45,33063.45,33063.45,33063.45,128374.99422,128374.99422 +11386800.0,158854.29,22469.376,65610.57792,163335.46548,163335.46548,163335.46548,128558.32499999998,195127.91376,75665.9936,111786.68402999999,170341.61376,26659.317000000003,26659.317000000003,26659.317000000003,45437.66499999999,158854.29,158854.29,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,67102.497,67102.497,67102.497,67102.497,477621.89859999996,477621.89859999996 +11390400.0,285176.049,92111.481,268965.52452,155410.00332000002,155410.00332000002,155410.00332000002,145827.80800000002,413955.00304000004,208853.10016000003,235361.87178,358646.66176,111027.681,111027.681,111027.681,43852.501000000004,285176.049,285176.049,76645.01714999999,51309.48239999999,76267.42816,133024.584,37753.64384,48015.54032,147860.43,147860.43,147860.43,147860.43,857429.32066,857429.32066 +11394000.0,200130.174,33913.962,99028.76904,123594.47144000002,123594.47144000002,123594.47144000002,106282.1445,356477.54784,118351.80223999999,204581.47479,311743.19968,77441.19,77441.19,77441.19,86116.891,200130.174,200130.174,102828.20404999999,41132.39535,61140.00494,106639.54350000001,30265.31806,38491.797130000006,141290.29799999998,141290.29799999998,141290.29799999998,141290.29799999998,601724.72316,601724.72316 +11397600.0,55431.87300000001,35998.212,105114.77904000001,78321.11826,78321.11826,78321.11826,66015.9325,120855.30184,249874.35584,84020.54513999999,128031.30687999999,48213.15899999999,48213.15899999999,48213.15899999999,23581.572,55431.87300000001,55431.87300000001,83443.14887999998,23955.01695,35607.21038,62105.599500000004,17626.160620000002,22417.16401,26481.510000000002,26481.510000000002,26481.510000000002,26481.510000000002,166665.16482,166665.16482 +11401200.0,73747.599,76745.391,224096.54171999998,40008.08779,40008.08779,40008.08779,38734.741500000004,123034.12991999998,456949.51168000005,90311.01639,137616.78688,73940.016,73940.016,73940.016,58170.39549999999,73747.599,73747.599,132370.24761999998,14344.816499999999,21322.418599999997,37190.265,10554.9514,13423.9147,39678.372,39678.372,39678.372,39678.372,221734.44765999998,221734.44765999998 +11404800.0,92718.849,94309.026,275382.35592,16488.29446,16488.29446,16488.29446,21284.6515,161905.38015999997,558020.09856,114996.80829,175233.23168000003,117654.024,117654.024,117654.024,88288.4485,92718.849,92718.849,206247.54748,34664.006700000005,51525.26428,89869.64700000001,25505.861720000004,32438.663060000003,71465.952,71465.952,71465.952,71465.952,278774.67266,278774.67266 +11408400.0,112111.48800000001,106702.23599999999,311570.52911999996,11126.407270000002,11126.407270000002,11126.407270000002,16801.337,187276.34912,580024.83328,165053.84636999998,251510.62303999998,136402.698,136402.698,136402.698,99834.8505,112111.48800000001,112111.48800000001,225854.26669000002,50794.452,75501.8768,131689.32,37374.6832,47533.5736,88085.523,88085.523,88085.523,88085.523,337081.87392000004,337081.87392000004 +11412000.0,130862.163,114452.17500000002,334200.351,7452.605490000001,7452.605490000001,7452.605490000001,29660.627500000002,212758.76280000003,599859.51936,208155.09036,317188.70912,191987.05199999997,191987.05199999997,191987.05199999997,102595.75200000001,130862.163,130862.163,238038.40073,63803.542050000004,94838.84522,165416.59050000002,46946.80378,59707.51219,104305.61700000001,104305.61700000001,104305.61700000001,104305.61700000001,393458.90342,393458.90342 +11415600.0,161149.152,133773.522,390618.68424,10067.022900000002,10067.022900000002,10067.022900000002,44079.2275,232646.62583999996,620951.97696,259869.38355000003,395991.4416000001,241128.68399999995,241128.68399999995,241128.68399999995,163644.1695,161149.152,161149.152,257563.29221999997,72042.33959999999,107085.15663999999,186776.436,53008.93136,67417.39928,112810.938,112810.938,112810.938,112810.938,484521.78367999993,484521.78367999993 +11419200.0,209390.08500000002,150328.167,438958.24763999996,17018.4608,17018.4608,17018.4608,46895.31,322355.8236,632787.6000000001,286837.761,437086.112,278407.55700000003,278407.55700000003,278407.55700000003,200405.191,209390.08500000002,209390.08500000002,282208.58262999996,86296.46445,128272.76938,223731.5745,63497.15162,80756.44451,177402.075,177402.075,177402.075,177402.075,629566.1889000001,629566.1889000001 +11422800.0,314830.44299999997,170254.05299999999,497141.83475999994,41112.48636,41112.48636,41112.48636,59206.7245,774544.5766400001,574002.49216,454753.8219,692958.2048,286670.10599999997,286670.10599999997,286670.10599999997,253187.58150000003,314830.44299999997,314830.44299999997,474823.2384999999,108830.96415,161768.49486,282154.3515,80078.09214000001,101844.28497000001,292167.639,292167.639,292167.639,292167.639,946590.1986199999,946590.1986199999 +11426400.0,686812.365,254216.54700000002,742312.31724,208667.44294,208667.44294,208667.44294,622186.1415,2456649.4943999997,1670423.23136,1586187.25314,2417047.2428800003,437241.159,437241.159,437241.159,710436.2265,686812.365,686812.365,1412040.9256199996,710681.9755500001,1056371.72662,1842508.8255000003,522921.55238000007,665057.94749,792913.2180000001,792913.2180000001,792913.2180000001,792913.2180000001,2065015.8441,2065015.8441 +11430000.0,443008.584,614735.433,1795027.4643599999,270924.53575000004,270924.53575000004,270924.53575000004,960115.3275000001,2573518.2312,1099764.1305600002,1587763.77963,2419449.56896,629641.233,629641.233,629641.233,679212.5585,443008.584,443008.584,1024994.7325799998,957531.4883999999,1423293.71856,2482489.0439999998,704554.0334399999,896060.33112,635203.638,635203.638,635203.638,635203.638,1331979.1425599998,1331979.1425599998 +11433600.0,992688.828,364584.201,1064585.8669200002,181315.95218000002,181315.95218000002,181315.95218000002,283764.663,1412989.12128,1310271.6217600002,935343.4828499999,1425285.3072,655556.7749999999,655556.7749999999,655556.7749999999,268971.6295,992688.828,992688.828,341338.08097999997,323813.94299999997,481323.44119999994,839517.63,238263.09879999998,303025.8874,1022234.3099999998,1022234.3099999998,1022234.3099999998,1022234.3099999998,2984684.4095199998,2984684.4095199998 +11437200.0,432903.02100000007,226244.679,660634.46268,186846.80949,186846.80949,186846.80949,164824.135,314599.30496,2248720.67968,92562.13931999999,141047.06944,316042.83,316042.83,316042.83,242228.6545,432903.02100000007,432903.02100000007,147602.54119,491697.6777,730869.14068,1274771.757,361792.36532,460131.90086,103560.54000000001,103560.54000000001,103560.54000000001,103560.54000000001,1301595.08314,1301595.08314 +11440800.0,96494.10299999999,13316.877,38885.28084,114656.42177,114656.42177,114656.42177,98218.8235,65301.09296000001,31412.855680000004,55250.2734,84190.8928,17302.032,17302.032,17302.032,35084.777,96494.10299999999,96494.10299999999,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24071.778000000002,24071.778000000002,24071.778000000002,24071.778000000002,290125.60302,290125.60302 +11444400.0,63651.77100000001,214324.533,625827.63636,104186.31828,104186.31828,104186.31828,178206.189,123554.46224000001,64412.526719999994,64295.20671,97973.64832,20579.94,20579.94,20579.94,184847.0225,63651.77100000001,63651.77100000001,11445.71246,35269.157699999996,52424.772679999995,91438.55699999999,25951.133319999997,33004.96486,27780.816000000003,27780.816000000003,27780.816000000003,27780.816000000003,191379.65814,191379.65814 +11448000.0,94797.03600000001,48969.863999999994,142992.00288,95065.3913,95065.3913,95065.3913,128178.17599999998,126682.22608,112813.81696,53503.6971,81529.4432,52904.880000000005,52904.880000000005,52904.880000000005,44015.95450000001,94797.03600000001,94797.03600000001,11727.60732,28767.2391,42760.19244,74581.731,21167.00556,26920.45338,29776.176,29776.176,29776.176,29776.176,285023.08824,285023.08824 +11451600.0,57911.240999999995,17105.661,49948.530119999996,71229.90028,71229.90028,71229.90028,58073.23200000001,65283.91751999999,64905.57568000001,35101.44057,53487.90944,27609.246,27609.246,27609.246,20705.7725,57911.240999999995,57911.240999999995,32264.48914,20637.3582,30675.776879999998,53504.262,15185.01912,19312.49076,18422.697,18422.697,18422.697,18422.697,174119.79794,174119.79794 +11455200.0,118967.313,44379.537,129588.24803999999,62974.454730000005,62974.454730000005,62974.454730000005,65072.36400000001,179749.82136,62811.45856000001,146685.81039,223521.23488,45539.03999999999,45539.03999999999,45539.03999999999,20649.517,118967.313,118967.313,172124.43585999997,23015.206349999997,34210.25734,59669.053499999995,16934.64566,21537.68693,29485.917,29485.917,29485.917,29485.917,357695.05442,357695.05442 +11458800.0,36225.336,101824.44,297327.36480000004,245880.98733,245880.98733,245880.98733,158792.5045,157899.76504,50446.17536,27431.77248,41800.796160000005,19362.612,19362.612,19362.612,219462.488,36225.336,36225.336,128486.14856999999,68838.255,102322.542,178469.55000000002,50651.35800000001,64419.009000000005,31178.619,31178.619,31178.619,31178.619,108917.51024,108917.51024 +11462400.0,11847.915,6037.781999999999,17630.323439999996,50145.704840000006,50145.704840000006,50145.704840000006,43473.906,28920.0888,18038.202240000002,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,11847.915,11847.915,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,35622.731100000005,35622.731100000005 +11466000.0,411419.24700000003,82850.634,241923.85128,114931.48865000001,114931.48865000001,114931.48865000001,178516.702,386735.84344,82773.09248,321551.08692000003,489982.60864000005,188553.396,188553.396,188553.396,45278.159499999994,411419.24700000003,411419.24700000003,9502.102089999998,36741.28005,54612.96442,95255.17050000001,27034.32458,34382.58059,188806.28399999999,188806.28399999999,188806.28399999999,188806.28399999999,1237000.53598,1237000.53598 +11469600.0,102693.435,25415.724,74213.91407999999,151876.23803,151876.23803,151876.23803,129590.4155,165268.04632,59405.37664,126249.55392,192380.27264,37604.577000000005,37604.577000000005,37604.577000000005,46984.1855,102693.435,102693.435,16844.63443,45293.21955,67324.73621999999,117426.8655,33326.86278,42385.50669,53045.364,53045.364,53045.364,53045.364,308764.92789999995,308764.92789999995 +11473200.0,286270.419,112006.842,327059.97864,175774.87103,175774.87103,175774.87103,273663.488,435476.56519999995,432977.98848000006,390291.99468,594730.65856,261823.707,261823.707,261823.707,85295.462,286270.419,286270.419,27511.42511,79867.89134999999,118717.21133999998,207064.90349999996,58766.99165999999,74740.56992999998,147489.627,147489.627,147489.627,147489.627,860719.7264599999,860719.7264599999 +11476800.0,459574.13099999994,286653.621,837028.57332,167117.92405,167117.92405,167117.92405,447922.32800000004,938558.53552,795990.7987200002,581925.60153,886743.77376,398912.409,398912.409,398912.409,237943.98950000003,459574.13099999994,459574.13099999994,201521.09718,235430.92260000002,349949.17384,610376.466,173230.65416,220316.83868000002,333110.673,333110.673,333110.673,333110.673,1381786.2205399997,1381786.2205399997 +11480400.0,373378.71,298350.95999999996,871184.8032,139492.94557,139492.94557,139492.94557,347184.614,579089.79808,498998.59008000005,403151.14518,614325.55456,228293.21999999997,228293.21999999997,228293.21999999997,172010.6885,373378.71,373378.71,132732.9601,138300.5583,205572.68172,358557.003,101761.89228,129422.00394,344874.168,344874.168,344874.168,344874.168,1122625.3214,1122625.3214 +11484000.0,48404.585999999996,31286.268000000004,91355.90256,78177.28853,78177.28853,78177.28853,66015.9325,116410.60632,168064.51328,79956.14361,121837.93312,35398.047,35398.047,35398.047,23581.572,48404.585999999996,48404.585999999996,67563.05412999999,23603.5377,35084.76468,61194.357,17367.54132,22088.248860000003,24311.556,24311.556,24311.556,24311.556,145536.45523999998,145536.45523999998 +11487600.0,63664.029,62590.062,182762.98103999998,39856.26458,39856.26458,39856.26458,36818.2815,101320.32664,387525.33056000003,81939.90189,124860.80288,65715.16500000001,65715.16500000001,65715.16500000001,33713.6765,63664.029,63664.029,122345.64485,13680.0657,20334.31988,35466.837,10065.82612,12801.839259999999,31517.930999999997,31517.930999999997,31517.930999999997,31517.930999999997,191416.51386,191416.51386 +11491200.0,75017.985,74596.554,217821.93768,16167.961040000002,16167.961040000002,16167.961040000002,20222.7445,119242.43400000001,483304.00512000005,92898.52466999998,141559.65664,85984.602,85984.602,85984.602,73692.26550000001,75017.985,75017.985,130432.44773,20466.650700000002,30422.033880000003,53061.687000000005,15059.41212,19152.742260000003,53935.512,53935.512,53935.512,53935.512,225554.07489999998,225554.07489999998 +11494800.0,89789.754,88134.462,257352.62903999997,10771.572460000001,10771.572460000001,10771.572460000001,15655.451,134097.56024,499224.16512,111876.57516000001,170478.59072000004,106931.34899999999,106931.34899999999,106931.34899999999,82991.405,89789.754,89789.754,174507.12707999998,43611.84585,64825.509139999995,113067.7485,32089.70386,40812.07303,71218.269,71218.269,71218.269,71218.269,269967.86036,269967.86036 +11498400.0,97804.51200000002,95397.924,278561.93808,6062.13069,6062.13069,6062.13069,16313.668,171931.644,504199.51296,129182.78877000001,196849.96384,122151.91500000001,122151.91500000001,122151.91500000001,85953.9205,97804.51200000002,97804.51200000002,198376.92523999998,52307.82765,77751.38825999999,135612.88650000002,38488.22874,48949.794270000006,71986.353,71986.353,71986.353,71986.353,294065.56608,294065.56608 +11502000.0,115818.078,104846.409,306151.51428,7028.002740000001,7028.002740000001,7028.002740000001,28040.253500000003,194483.09016000002,539872.90048,179012.23242000001,272780.54464000004,155825.319,155825.319,155825.319,96567.59349999999,115818.078,115818.078,214654.28751,60080.8185,89305.31539999999,155765.085,44207.6146,56223.778300000005,83974.344,83974.344,83974.344,83974.344,348226.35452,348226.35452 +11505600.0,144250.257,125012.84999999999,365037.52199999994,11923.459789999999,11923.459789999999,11923.459789999999,40564.943999999996,211919.18688,575158.5683200001,233953.82052,356501.05984,227760.89099999997,227760.89099999997,227760.89099999997,172792.1055,144250.257,144250.257,233660.46859999996,68896.94355,102409.77781999999,178621.7055,50694.54118,64473.92989,109345.203,109345.203,109345.203,109345.203,433712.43938,433712.43938 +11509200.0,234663.45299999998,151135.59900000002,441315.94908,35979.82971,35979.82971,35979.82971,46982.719,622947.6783200001,540883.23904,378627.87312,576956.75904,234199.32,234199.32,234199.32,224714.05250000002,234663.45299999998,234663.45299999998,426753.21923,90933.8562,135165.88008,235754.442,66909.35592,85096.12716,183499.03499999997,183499.03499999997,183499.03499999997,183499.03499999997,705554.7820199999,705554.7820199999 +11512800.0,697255.422,268093.311,782832.46812,188549.54690000002,188549.54690000002,188549.54690000002,544758.144,2444853.5178400003,1587762.5619200002,1559266.4705100001,2376025.0979200006,454528.563,454528.563,454528.563,660240.6545,697255.422,697255.422,1438090.1973099997,656575.6968,975947.08512,1702233.2880000002,483110.01888,614425.15824,782756.9099999999,782756.9099999999,782756.9099999999,782756.9099999999,2096414.63548,2096414.63548 +11516400.0,487934.93999999994,620170.698,1810898.43816,297682.90541,297682.90541,297682.90541,1069868.912,2652938.14904,1161583.888,1734983.6817599998,2643784.65792,678466.908,678466.908,678466.908,746129.7479999999,487934.93999999994,487934.93999999994,897250.87283,1029944.41515,1530929.7232599999,2670226.2615,757835.64374,963824.52677,727127.409,727127.409,727127.409,727127.409,1467057.7195999997,1467057.7195999997 +11520000.0,1206193.755,659316.315,1925203.6397999998,200155.38389,200155.38389,200155.38389,419079.4195,1732393.82936,2240492.56,1348323.52347,2054588.2262399998,858954.978,858954.978,858954.978,431969.419,1206193.755,1206193.755,439277.44431999995,499957.4421,743146.61764,1296185.9610000001,367869.92036,467861.40878000006,1340194.977,1340194.977,1340194.977,1340194.977,3626622.5566999996,3626622.5566999996 +11523600.0,529124.346,322835.88,942680.7696,197542.29737000001,197542.29737000001,197542.29737000001,177848.7725,434435.49760000006,2922654.45952,126295.75770000002,192450.67840000003,453142.50600000005,453142.50600000005,453142.50600000005,391053.593,529124.346,529124.346,204379.52144999997,767367.6425999999,1140630.42184,1989471.666,564631.00616,718104.53468,138258.429,138258.429,138258.429,138258.429,1590900.53364,1590900.53364 +11527200.0,98580.17699999998,15985.199999999999,46676.78399999999,116213.36364,116213.36364,116213.36364,98218.8235,65301.09296000001,39113.882880000005,55620.077520000006,84754.40384000001,17302.032,17302.032,17302.032,35084.777,98580.17699999998,98580.17699999998,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,296397.73217999993,296397.73217999993 +11530800.0,70452.969,226765.227,662154.4628399999,104403.04578000001,104403.04578000001,104403.04578000001,217979.0235,128094.6184,56086.70464,77042.90013000001,117398.70496000002,22583.76,22583.76,22583.76,232180.837,70452.969,70452.969,11445.71246,40619.746349999994,60377.99333999999,105310.45349999999,29888.10966,38012.05893,32699.889,32699.889,32699.889,32699.889,211828.59346,211828.59346 +11534400.0,99961.524,54605.12100000001,159446.95332,95261.47169,95261.47169,95261.47169,154024.0415,126220.76096,88543.22432000001,66374.99988,101142.85695999999,46445.562,46445.562,46445.562,48828.241,99961.524,99961.524,30868.280819999996,32360.366700000002,48101.08828,83897.247,23810.837720000003,30282.911060000002,29926.926,29926.926,29926.926,29926.926,300550.98216,300550.98216 +11538000.0,37950.702000000005,11292.906,32975.28552,68447.67270000001,68447.67270000001,68447.67270000001,57965.20799999999,57950.46599999999,25815.59616,32979.84375,50255.0,19655.526,19655.526,19655.526,20705.7725,37950.702000000005,37950.702000000005,17872.69497,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,15405.470999999998,15405.470999999998,15405.470999999998,15405.470999999998,114105.11068,114105.11068 +11541600.0,110662.76999999999,53667.486000000004,156709.05912,60995.95854,60995.95854,60995.95854,64906.442999999985,194723.31855999999,25656.040960000002,179771.22828,273937.10976,41526.363000000005,41526.363000000005,41526.363000000005,26999.972999999998,110662.76999999999,110662.76999999999,195871.11245000002,26104.61925,38802.4217,67678.6425,19207.8433,24428.76715,28886.73,28886.73,28886.73,28886.73,332726.06179999997,332726.06179999997 +11545200.0,29792.057999999997,135541.19700000001,395780.29524,220383.44262000002,220383.44262000002,220383.44262000002,170336.313,187563.43184,46912.242560000006,27185.91099,41426.15008,20122.602000000003,20122.602000000003,20122.602000000003,231427.41649999996,29792.057999999997,29792.057999999997,151199.85841999998,74062.52010000001,110087.99284,192013.94100000002,54495.385160000005,69307.88918,40285.218,40285.218,40285.218,40285.218,89574.78772,89574.78772 +11548800.0,29626.902000000002,9529.971,27827.515319999995,52720.99327,52720.99327,52720.99327,43827.755999999994,33536.54456,22848.51136,24878.16114,37909.57888,8291.220000000001,8291.220000000001,8291.220000000001,15529.3285,29626.902000000002,29626.902000000002,14193.982919999999,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11844.485999999999,11844.485999999999,11844.485999999999,11844.485999999999,89078.21867999999,89078.21867999999 +11552400.0,543594.96,149878.554,437645.37768000003,124332.57408000002,124332.57408000002,124332.57408000002,384601.595,570826.3324,233957.37280000004,567696.3684,865061.1328,353639.967,353639.967,353639.967,65370.592000000004,543594.96,543594.96,9502.102089999998,73370.43585,109059.26513999999,190219.64849999998,53986.14786,68660.23503,267861.066,267861.066,267861.066,267861.066,1634408.8464,1634408.8464 +11556000.0,110146.479,21513.264,62818.730879999996,154857.58222,154857.58222,154857.58222,129493.62299999999,160801.07704,63962.61696000001,115395.62622,175840.95424000002,31536.254999999997,31536.254999999997,31536.254999999997,46558.5015,110146.479,110146.479,17271.36801,44768.189699999995,66544.32148,116065.677,32940.544519999996,41894.182459999996,54956.38799999999,54956.38799999999,54956.38799999999,54956.38799999999,331173.74686,331173.74686 +11559600.0,329425.839,186834.864,545557.80288,177801.32403000005,177801.32403000005,177801.32403000005,376664.24950000003,609776.77304,577764.0019200001,431388.86595,657354.4624,287634.885,287634.885,287634.885,135398.63050000003,329425.839,329425.839,93968.12151999999,146762.72145,218151.00818,380495.94450000004,107988.37282,137340.91711,204591.537,204591.537,204591.537,204591.537,990473.6892599999,990473.6892599999 +11563200.0,472867.86,326703.579,953974.45068,169455.03201,169455.03201,169455.03201,477696.8595,974188.69088,830246.0543999999,632786.5689600001,964246.2003200001,405634.1699999999,405634.1699999999,405634.1699999999,292115.096,472867.86,472867.86,228967.04376,306210.75164999993,455157.70985999994,793879.7264999999,225310.62713999997,286552.77747,383856.372,383856.372,383856.372,383856.372,1421756.0324,1421756.0324 +11566800.0,379405.071,316204.27800000005,923316.49176,142466.69107000003,142466.69107000003,142466.69107000003,356243.83199999994,570659.7872799999,486108.99968,450052.42065,685794.1648,232590.354,232590.354,232590.354,246657.4985,379405.071,379405.071,126216.11235999998,203665.0068,302731.68912,528020.388,149857.21488,190590.21624,343727.24700000003,343727.24700000003,343727.24700000003,343727.24700000003,1140744.58014,1140744.58014 +11570400.0,59649.77100000001,42185.676,123182.17392,77999.66152000001,77999.66152000001,77999.66152000001,68113.96549999999,113173.58776,261549.36832,85838.40741,130801.38272000001,48681.789,48681.789,48681.789,25841.956000000002,59649.77100000001,59649.77100000001,92933.23078,24983.73315,37136.31446,64772.641500000005,18383.09254,23379.839170000003,30599.241,30599.241,30599.241,30599.241,179346.97814,179346.97814 +11574000.0,69661.31999999999,63721.383,186066.43836,39636.49272,39636.49272,39636.49272,40310.364499999996,94921.47952,405551.00992000004,89252.19345,136003.3424,67125.645,67125.645,67125.645,56433.1635,69661.31999999999,69661.31999999999,114749.98144999998,18375.984,27314.425600000002,47641.44000000001,13521.094400000002,17196.291200000003,42304.431,42304.431,42304.431,42304.431,209448.36879999997,209448.36879999997 +11577600.0,76352.844,71390.84399999998,208461.26447999995,15954.60757,15954.60757,15954.60757,19687.43,113490.98591999999,452200.36992,99580.47708000001,151741.67936,83817.855,83817.855,83817.855,75352.249,76352.844,76352.844,123267.70261,32849.910449999996,48828.75578,85166.4345,24171.04522,30741.02731,62428.865999999995,62428.865999999995,62428.865999999995,62428.865999999995,229567.55096,229567.55096 +11581200.0,84250.077,84507.693,246762.46356,10565.097290000002,10565.097290000002,10565.097290000002,15143.8455,123585.40839999999,469917.75360000005,107704.59987,164121.29504,103329.051,103329.051,103329.051,79584.708,84250.077,84250.077,164345.32867999998,40813.32015,60665.72526,105812.31150000001,30030.541740000004,38193.20577000001,66696.069,66696.069,66696.069,66696.069,253311.89818,253311.89818 +11584800.0,101729.484,97176.144,283754.34047999996,5722.700830000001,5722.700830000001,5722.700830000001,25891.6105,183276.62072,515606.5728,128888.41959,196401.40128000002,128572.25700000001,128572.25700000001,128572.25700000001,87873.807,101729.484,101729.484,200665.23944999996,53771.2587,79926.66107999999,139406.967,39565.024919999996,50319.276659999996,72915.71100000001,72915.71100000001,72915.71100000001,72915.71100000001,305866.64856,305866.64856 +11588400.0,114827.196,101403.99900000001,296099.67708000005,6817.091270000001,6817.091270000001,6817.091270000001,26966.275,188696.95831999998,521623.75680000003,168932.24459999998,257420.56319999998,133428.522,133428.522,133428.522,90714.3685,114827.196,114827.196,207114.94439999998,58481.4735,86928.0174,151618.635,43030.812600000005,54727.1073,78277.851,78277.851,78277.851,78277.851,345247.10263999994,345247.10263999994 +11592000.0,128746.113,116744.63399999999,340894.33128,11651.30296,11651.30296,11651.30296,37505.909,195382.91736,533344.96576,212642.85105000003,324027.20160000003,205180.85700000002,205180.85700000002,205180.85700000002,142432.388,128746.113,128746.113,219001.00755,61804.583549999996,91867.55381999999,160234.1055,45475.96518,57836.88189,97272.762,97272.762,97272.762,97272.762,387096.64641999995,387096.64641999995 +11595600.0,198485.727,128257.578,374512.12775999994,33705.67651,33705.67651,33705.67651,41013.623,554660.29552,460861.6006400001,326121.41646,496946.92032000003,186329.694,186329.694,186329.694,192829.13999999998,198485.727,198485.727,381193.21187999996,76239.144,113323.36959999999,197657.04,56096.9504,71344.7792,147180.189,147180.189,147180.189,147180.189,596780.41918,596780.41918 +11599200.0,558202.4789999999,194300.886,567358.58712,165269.22830000002,165269.22830000002,165269.22830000002,403584.3945,2051093.1472,1069239.4310400002,1201362.54315,1830647.6848000002,342003.816,342003.816,342003.816,432074.71650000004,558202.4789999999,558202.4789999999,1317972.16928,461423.00025000004,685868.2621,1196281.8525,339516.1829,431800.78295,631503.465,631503.465,631503.465,631503.465,1678328.7868599999,1678328.7868599999 +11602800.0,368913.933,452037.82800000004,1319950.4577600001,208346.54379000003,208346.54379000003,208346.54379000003,671610.296,2036364.4219199999,803775.47136,1325018.7348300002,2019076.1673600005,545976.117,545976.117,545976.117,508432.70800000004,368913.933,368913.933,526574.35558,691893.15075,1028443.6462999999,1793797.0575,509096.6887,647475.31885,509409.91799999995,509409.91799999995,509409.91799999995,509409.91799999995,1109201.22522,1109201.22522 +11606400.0,779371.5419999999,179948.136,525448.55712,170476.23164,170476.23164,170476.23164,176063.24049999999,846737.3484799999,614868.04416,613869.0673499999,935419.5312,374529.084,374529.084,374529.084,179822.09,779371.5419999999,779371.5419999999,228199.04549,207087.09884999998,307818.35433999996,536892.4785,152375.19866,193792.61843,741362.0580000001,741362.0580000001,741362.0580000001,741362.0580000001,2343310.4362799996,2343310.4362799996 +11610000.0,351936.942,193983.786,566432.6551199999,176106.02658,176106.02658,176106.02658,159660.865,248468.88528,1403650.58176,85932.64554,130944.98367999999,252515.241,252515.241,252515.241,185130.37900000002,351936.942,351936.942,121902.96130999998,314207.05950000003,467043.5798,814610.895,231194.33020000003,294035.74210000003,86290.26000000001,86290.26000000001,86290.26000000001,86290.26000000001,1058157.07228,1058157.07228 +11613600.0,60473.024999999994,12794.736,37360.62912,112430.60389000001,112430.60389000001,112430.60389000001,98218.8235,65301.09296000001,33598.33216,55371.4098,84375.4816,17302.032,17302.032,17302.032,35084.777,60473.024999999994,60473.024999999994,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,181822.2285,181822.2285 +11617200.0,53172.246,120516.297,351907.58724,102421.3465,102421.3465,102421.3465,150306.14549999998,114364.66744,56439.00992,59865.797249999996,91224.072,20223.63,20223.63,20223.63,124110.01750000002,53172.246,53172.246,11445.71246,33189.4422,49333.44247999999,86046.70199999999,24420.873519999997,31058.761959999996,24310.713000000003,24310.713000000003,24310.713000000003,24310.713000000003,159871.21963999997,159871.21963999997 +11620800.0,67154.709,23168.718,67652.65656,90397.4676,90397.4676,90397.4676,104605.046,97543.16064,49559.66208,45475.2711,69295.65120000001,40836.471,40836.471,40836.471,31968.394500000002,67154.709,67154.709,9718.056659999998,27864.6561,41418.57524,72241.701,20502.88276,26075.813980000003,25990.703999999998,25990.703999999998,25990.703999999998,25990.703999999998,201911.82506,201911.82506 +11624400.0,20895.57,8131.263000000001,23743.28796,66120.10482,66120.10482,66120.10482,57965.20799999999,42686.03752,18506.68416,32585.957250000003,49654.79200000001,12548.274,12548.274,12548.274,20705.7725,20895.57,20895.57,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14412.491999999998,14412.491999999998,14412.491999999998,14412.491999999998,62826.01379999999,62826.01379999999 +11628000.0,60158.844,14515.908000000001,42386.45136,57496.1167,57496.1167,57496.1167,64091.342000000004,111182.17112,16920.65216,82030.47888,124998.82496000001,16480.326,16480.326,16480.326,17829.9695,60158.844,60158.844,48207.35919999999,18069.447600000003,26858.78384,46846.71600000001,13295.544160000001,16909.433680000002,15813.99,15813.99,15813.99,15813.99,180877.59096,180877.59096 +11631600.0,20915.805,27351.498,79866.37415999999,145972.84955,145972.84955,145972.84955,113357.475,67186.61872,34286.73152,22647.20829,34510.03168,10069.908,10069.908,10069.908,101130.701,20915.805,20915.805,25423.817769999998,34107.889050000005,50698.64002,88427.86050000001,25096.668980000002,31918.246790000005,10545.633,10545.633,10545.633,10545.633,62886.8537,62886.8537 +11635200.0,13260.866999999998,6194.457,18087.81444,49483.072210000006,49483.072210000006,49483.072210000006,43473.906,29168.650879999997,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,13260.866999999998,13260.866999999998,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10651.839,10651.839,10651.839,10651.839,39871.006779999996,39871.006779999996 +11638800.0,342445.611,51590.019,150642.85548,111832.4075,111832.4075,111832.4075,113825.2605,281928.2776,64027.059199999996,227364.33363000004,346459.93696,106845.834,106845.834,106845.834,43069.719,342445.611,342445.611,9502.102089999998,29854.979999999996,44377.03199999999,77401.79999999999,21967.368,27938.363999999998,163832.988,163832.988,163832.988,163832.988,1029619.8037399999,1029619.8037399999 +11642400.0,105563.61600000001,29791.782,86992.00343999999,152192.22062,152192.22062,152192.22062,134976.55849999998,174294.05831999998,73615.79904000001,124586.31444,189845.81248000002,45148.557,45148.557,45148.557,48356.640499999994,105563.61600000001,105563.61600000001,16844.63443,46044.2232,68441.04288000001,119373.91200000001,33879.453120000006,43088.29776000001,55651.36200000001,55651.36200000001,55651.36200000001,55651.36200000001,317394.60544,317394.60544 +11646000.0,248347.74,99815.067,291459.99564,169474.09589,169474.09589,169474.09589,230024.78100000002,333956.52808,304457.73824000004,312201.31299,475735.33408000006,188819.199,188819.199,188819.199,102371.31450000001,248347.74,248347.74,40588.3192,69233.49854999999,102910.03981999999,179494.2555,50942.17918,64788.87889,114262.48199999999,114262.48199999999,114262.48199999999,114262.48199999999,746698.8716,746698.8716 +11649600.0,365235.48600000003,226277.62800000003,660730.67376,158330.21204000004,158330.21204000004,158330.21204000004,332422.902,643957.7616,635726.3097600001,451567.04103,688102.1577600001,327994.18799999997,327994.18799999997,327994.18799999997,165560.122,365235.48600000003,365235.48600000003,137779.10223999998,170968.26735,254130.60973999999,443251.06350000005,125798.87326000001,159992.52673,226302.804,226302.804,226302.804,226302.804,1098141.36124,1098141.36124 +11653200.0,296542.527,195292.437,570253.9160399999,131429.89706000002,131429.89706000002,131429.89706000002,297757.02249999996,448622.2884,352749.16224000003,297287.17137,453009.02304,167979.26400000002,167979.26400000002,167979.26400000002,112970.26650000001,296542.527,296542.527,100670.86133,76562.46764999999,113803.96425999998,198495.2865,56334.852739999995,71647.34627,245547.31500000003,245547.31500000003,245547.31500000003,245547.31500000003,891604.53118,891604.53118 +11656800.0,37237.701,26276.421000000002,76727.14932000001,77640.00376,77640.00376,77640.00376,66015.9325,100029.40048,66853.75936000001,60099.55476,91580.27392,15505.743,15505.743,15505.743,23581.572,37237.701,37237.701,48898.2195,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,19167.951,19167.951,19167.951,19167.951,111961.35433999999,111961.35433999999 +11660400.0,36825.822,26103.654000000002,76222.66968,39342.63872000001,39342.63872000001,39342.63872000001,32202.8945,86872.57543999999,113094.71680000001,55421.337510000005,84451.56192000001,22084.466999999997,22084.466999999997,22084.466999999997,11503.205,36825.822,36825.822,55405.014339999994,11634.7914,17294.18376,30164.274,8560.90824,10887.86652,14161.161000000002,14161.161000000002,14161.161000000002,14161.161000000002,110722.97148,110722.97148 +11664000.0,51847.47899999999,53226.039000000004,155420.03388000003,15669.292430000001,15669.292430000001,15669.292430000001,14502.7505,89923.22207999999,318277.07904000004,62183.31336,94755.52512,54268.602,54268.602,54268.602,8032.965499999999,51847.47899999999,51847.47899999999,106944.55395,6012.59355,8937.237819999998,15588.205499999998,4424.081179999999,5626.5998899999995,22832.994,22832.994,22832.994,22832.994,155888.08685999998,155888.08685999998 +11667600.0,66446.81999999999,68865.65400000001,201087.70968,10258.64664,10258.64664,10258.64664,14347.2665,103463.64752,418563.89248,79436.53221,121046.14432,64985.117999999995,64985.117999999995,64985.117999999995,61134.08,66446.81999999999,66446.81999999999,127499.28567999999,11087.43795,16480.586779999998,28745.2095,8158.164220000001,10375.651810000001,43977.96,43977.96,43977.96,43977.96,199783.43879999997,199783.43879999997 +11671200.0,82616.088,78519.003,229275.48876,4860.82949,4860.82949,4860.82949,9778.09,117090.11368,440161.95456,95414.89188,145394.12096,84589.68299999999,84589.68299999999,84589.68299999999,70656.09599999999,82616.088,82616.088,154104.98297999997,34037.58104999999,50594.132819999984,88245.58049999998,25044.936179999997,31852.452389999995,60897.456000000006,60897.456000000006,60897.456000000006,60897.456000000006,248399.03791999997,248399.03791999997 +11674800.0,95052.59099999999,89340.231,260873.47451999996,5851.239570000001,5851.239570000001,5851.239570000001,10369.499,155188.16543999998,481410.90687999997,115779.94449000001,176426.58208000002,108555.516,108555.516,108555.516,81884.0295,95052.59099999999,95052.59099999999,182387.01818999997,48356.262899999994,71877.70435999999,125368.08899999999,35580.65764,45251.91022,68248.05,68248.05,68248.05,68248.05,285791.45693999995,285791.45693999995 +11678400.0,104042.32800000001,91440.633,267006.64836,8328.306690000001,8328.306690000001,8328.306690000001,21719.1135,169461.45247999998,476046.8057600001,150005.14095,228579.2624,137869.071,137869.071,137869.071,86401.2555,104042.32800000001,104042.32800000001,188276.53611,51984.4554,77270.72136,134774.514,38250.29064,48647.18172,74657.895,74657.895,74657.895,74657.895,312820.59952000005,312820.59952000005 +11682000.0,162841.86000000002,110499.69600000001,322659.11232,30971.03537,30971.03537,30971.03537,31768.754500000003,531838.76104,452521.73248000006,275620.80084,419993.60128,170989.932,170989.932,170989.932,153066.7845,162841.86000000002,162841.86000000002,352607.93983999995,59207.18895,88006.73518,153500.1195,43564.79582000001,55406.23361,129860.37,129860.37,129860.37,129860.37,489611.1924,489611.1924 +11685600.0,550934.286,215614.071,629593.08732,144878.28003000002,144878.28003000002,144878.28003000002,337373.5785,1995476.5320800003,932725.1552000002,1180900.33026,1799467.16992,325500.51900000003,325500.51900000003,325500.51900000003,329133.76300000004,550934.286,550934.286,1314685.3616000002,373743.99135,555540.45134,968965.9035,275001.75166,349750.54993000004,591795.42,591795.42,591795.42,591795.42,1656475.7532399998,1656475.7532399998 +11689200.0,404801.382,481540.857,1406099.30244,221190.80038,221190.80038,221190.80038,784435.7745,2158946.55336,858481.7651200001,1453956.96621,2215553.47232,588497.796,588497.796,588497.796,552318.7705000001,404801.382,404801.382,592935.32337,769547.1703499999,1143870.11494,1995122.2935,566234.70806,720144.14213,571470.105,571470.105,571470.105,571470.105,1217102.82188,1217102.82188 +11692800.0,1063693.65,482558.63399999996,1409071.21128,184367.22711000004,184367.22711000004,184367.22711000004,309017.233,1321313.4612,1517417.0406400003,1062878.16936,1619623.87712,628659.501,628659.501,628659.501,311895.178,1063693.65,1063693.65,366227.95508,360719.5274999999,536180.6309999999,935198.7749999999,265418.31899999996,337562.22449999995,1135832.067,1135832.067,1135832.067,1135832.067,3198172.241,3198172.241 +11696400.0,546879.906,341525.88,997255.5696,192926.08709000002,192926.08709000002,192926.08709000002,173306.532,448098.3528,2766060.5996800005,135677.14398,206746.12416,481015.44299999997,481015.44299999997,481015.44299999997,429089.7485,546879.906,546879.906,226814.26572999998,746260.7598,1109256.7343199998,1934750.118,549100.50968,698352.66164,149546.802,149546.802,149546.802,149546.802,1644285.5840399999,1644285.5840399999 +11700000.0,127525.48199999999,23435.121,68430.55332,119305.69266000002,119305.69266000002,119305.69266000002,98218.8235,105091.2672,88734.09216000001,65423.881109999995,99693.53312,30216.42,30216.42,30216.42,35084.777,127525.48199999999,127525.48199999999,47824.362949999995,37460.2968,55681.725119999996,97119.288,27563.37888,35055.43824,35708.34299999999,35708.34299999999,35708.34299999999,35708.34299999999,383426.61588,383426.61588 +11703600.0,83339.89199999999,354099.50399999996,1033970.5516799999,106655.59135,106655.59135,106655.59135,245371.69999999998,201346.12384000001,150255.1936,125552.12607,191317.52544,28685.79,28685.79,28685.79,249236.7255,83339.89199999999,83339.89199999999,13542.56943,45046.193849999996,66957.55234,116786.4285,33145.10066,42154.33943,36967.488000000005,36967.488000000005,36967.488000000005,36967.488000000005,250575.27528,250575.27528 +11707200.0,163127.769,87149.841,254477.53571999999,97674.83517,97674.83517,97674.83517,201603.948,300605.28672,233424.88384000005,135045.19644,205783.15648000003,86833.95,86833.95,86833.95,67373.999,163127.769,163127.769,139308.36959,66555.97065,98930.10945999999,172552.5165,48972.04754,62283.24167,83009.478,83009.478,83009.478,83009.478,490470.82546,490470.82546 +11710800.0,22865.337,8232.357,24038.48244,66251.24022,66251.24022,66251.24022,57965.20799999999,57239.79056,19076.752640000002,32594.84445,49668.3344,20828.385000000002,20828.385000000002,20828.385000000002,20705.7725,22865.337,22865.337,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14515.970999999998,14515.970999999998,14515.970999999998,14515.970999999998,68748.44658,68748.44658 +11714400.0,83401.776,53589.458999999995,156481.22027999998,57385.343510000006,57385.343510000006,57385.343510000006,64906.442999999985,195916.60576,15936.305920000003,185054.68800000002,281988.0960000001,41138.604,41138.604,41138.604,30475.892999999996,83401.776,83401.776,193939.21442999996,26576.26605,39503.48682,68901.4305,19554.88218,24870.13539,25431.069000000003,25431.069000000003,25431.069000000003,25431.069000000003,250761.33984,250761.33984 +11718000.0,20796.411,123526.26299999998,360696.68795999995,212291.23663,212291.23663,212291.23663,166620.19150000002,171267.88128,42344.01344,27289.727010000002,41584.34592000001,22866.759,22866.759,22866.759,212224.894,20796.411,20796.411,142368.4002,69428.49794999999,103199.89077999999,179999.8095,51085.66022,64971.35981,35289.159,35289.159,35289.159,35289.159,62527.875739999996,62527.875739999996 +11721600.0,20122.164,7410.0,21637.2,50646.534620000006,50646.534620000006,50646.534620000006,43473.906,30078.213359999998,14571.409920000002,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,20122.164,20122.164,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11235.768,11235.768,11235.768,11235.768,60500.63976,60500.63976 +11725200.0,483575.448,124091.88,362348.28959999996,115485.20401000002,115485.20401000002,115485.20401000002,320056.6285,504241.82936,205747.4912,495936.44982000004,755712.68544,308807.145,308807.145,308807.145,66760.96350000001,483575.448,483575.448,9502.102089999998,57032.15265,84773.71826,147861.13650000002,41964.398740000004,53370.82927,247186.398,247186.398,247186.398,247186.398,1453950.1803199998,1453950.1803199998 +11728800.0,121762.63500000001,33092.022000000004,96628.70424,152546.76239000002,152546.76239000002,152546.76239000002,150042.53949999998,197800.48463999998,97118.29632000001,152925.32997,233029.07424,59237.409,59237.409,59237.409,49333.7145,121762.63500000001,121762.63500000001,16844.63443,48132.12375,71544.5395,124786.9875,35415.7355,45042.16025,63719.307,63719.307,63719.307,63719.307,366099.6559,366099.6559 +11732400.0,300967.06200000003,169091.736,493747.86912000005,174375.85737,174375.85737,174375.85737,398154.1445,488154.0952,439709.80351999996,413916.76599,630730.3100800001,263116.329,263116.329,263116.329,140158.1755,300967.06200000003,300967.06200000003,65205.7549,135177.95969999998,200931.18947999997,350461.377,99464.27652,126499.86846,176177.32200000001,176177.32200000001,176177.32200000001,176177.32200000001,904907.63308,904907.63308 +11736000.0,453512.33999999997,305738.559,892756.59228,166513.59417,166513.59417,166513.59417,454945.97750000004,934843.11,783624.7212799999,601778.36019,916995.5964800001,390019.365,390019.365,390019.365,253796.1615,453512.33999999997,453512.33999999997,223023.61536,292997.32695,435517.01437999995,759622.6995,215588.15662,274187.62201,373053.816,373053.816,373053.816,373053.816,1363560.4356,1363560.4356 +11739600.0,348437.13,256808.43600000002,749880.63312,135492.11115,135492.11115,135492.11115,316096.0985,517114.69023999997,425241.07904000004,399429.8185500001,608654.9616000002,217848.66,217848.66,217848.66,204990.576,348437.13,348437.13,116557.64678999997,168895.24649999998,251049.23059999998,437876.565,124273.5394,158052.5887,317582.85,317582.85,317582.85,317582.85,1047634.3042,1047634.3042 +11743200.0,51009.303,32365.515000000003,94507.30380000001,77534.02502999999,77534.02502999999,77534.02502999999,66099.5895,104843.43512,186307.90144000002,76443.41502000001,116485.20384000002,37473.99,37473.99,37473.99,25088.556500000002,51009.303,51009.303,71436.43169,24638.588099999997,36623.28404,63877.820999999996,18129.13396,23056.85158,26519.388,26519.388,26519.388,26519.388,153367.97101999997,153367.97101999997 +11746800.0,56265.219,54302.90700000001,158564.48844000002,39107.05491,39107.05491,39107.05491,38966.60249999999,82373.4628,317775.38048000005,73102.13694,111393.73248,54662.456999999995,54662.456999999995,54662.456999999995,26431.426,56265.219,56265.219,97323.86130999998,14244.291449999999,21172.99618,36929.6445,10480.98482,13329.84311,29407.836000000003,29407.836000000003,29407.836000000003,29407.836000000003,169170.75845999998,169170.75845999998 +11750400.0,61150.202999999994,53788.188,157061.50896,15328.804370000002,15328.804370000002,15328.804370000002,18067.735,83200.29,358527.7913600001,73869.45006,112562.97152,57951.66,57951.66,57951.66,56790.670999999995,61150.202999999994,61150.202999999994,95078.02902,18333.932849999997,27251.919939999996,47532.4185,13490.15306,17156.93963,43522.011,43522.011,43522.011,43522.011,183858.27701999998,183858.27701999998 +11754000.0,63089.33099999999,59193.731999999996,172845.69744,9859.351150000002,9859.351150000002,9859.351150000002,13300.521499999999,95118.42768,361562.36480000004,83224.91856,126818.92352000003,65299.865999999995,65299.865999999995,65299.865999999995,58552.294499999996,63089.33099999999,63089.33099999999,102514.66419999998,29472.7734,43808.91256,76410.894,21686.13944,27580.69412,51743.217000000004,51743.217000000004,51743.217000000004,51743.217000000004,189688.58853999997,189688.58853999997 +11757600.0,69778.26,66057.783,192888.72635999997,4400.7689,4400.7689,4400.7689,8564.2585,95423.75455999999,366659.90592,84250.11987,128381.13504000001,76276.80900000001,76276.80900000001,76276.80900000001,59565.39399999999,69778.26,69778.26,129338.06691,31840.873199999998,47328.902879999994,82550.412,23428.593119999998,29796.76776,51397.827000000005,51397.827000000005,51397.827000000005,51397.827000000005,209799.96839999998,209799.96839999998 +11761200.0,79889.649,73820.34599999999,215555.41032,4483.12128,4483.12128,4483.12128,14783.961500000001,126465.27591999999,383425.616,94134.78249000001,143443.47808000003,89330.226,89330.226,89330.226,64009.463,79889.649,79889.649,140122.18791999997,38758.06665,57610.75586,100483.8765,28518.28114,36269.89447,54475.182,54475.182,54475.182,54475.182,240201.54466,240201.54466 +11764800.0,89885.958,76974.76199999999,224766.30503999998,7098.568400000001,7098.568400000001,7098.568400000001,22133.2195,145463.14632,402127.41120000003,113102.40500999999,172346.52192,98264.256,98264.256,98264.256,69653.89199999999,89885.958,89885.958,159885.86705,44895.91859999999,66734.18023999999,116396.82599999999,33034.52776,42013.71148,58383.198,58383.198,58383.198,58383.198,270257.11372,270257.11372 +11768400.0,135494.022,95493.39899999999,278840.72508,29973.246380000004,29973.246380000004,29973.246380000004,27713.500500000002,490389.91,372234.75264,213213.4431,324896.6752,93353.562,93353.562,93353.562,97602.1935,135494.022,135494.022,320264.0520299999,49054.77449999999,72915.9858,127179.04499999998,36094.6242,45905.579099999995,110967.261,110967.261,110967.261,110967.261,407385.35948,407385.35948 +11772000.0,474095.33999999997,187548.669,547642.1134799999,146242.57659,146242.57659,146242.57659,298836.545,1761531.38808,701507.94304,995256.90873,1516581.95616,279941.763,279941.763,279941.763,277313.575,474095.33999999997,474095.33999999997,1278392.38683,327646.98855,487020.95582000003,849455.1555000001,241083.46318000002,306612.86089,520809.76800000004,520809.76800000004,520809.76800000004,520809.76800000004,1425446.6556,1425446.6556 +11775600.0,371471.61,446828.283,1304738.5863599998,221476.4574,221476.4574,221476.4574,686186.536,1983939.41352,783147.41568,1363682.72061,2077992.7171200002,557881.443,557881.443,557881.443,521962.3499999999,371471.61,371471.61,470689.80347999994,708296.99535,1052826.6449399998,1836325.5435,521166.67806,662826.07713,522017.39999999997,522017.39999999997,522017.39999999997,522017.39999999997,1116891.3073999998,1116891.3073999998 +11779200.0,930351.8879999999,312686.058,913043.2893599999,176579.59957,176579.59957,176579.59957,256071.12649999995,1006519.1236,1156507.04064,865082.04762,1318220.26304,490133.937,490133.937,490133.937,252564.711,930351.8879999999,930351.8879999999,299601.30694,292631.68889999995,434973.52275999996,758674.749,215319.11924,273845.45702,948494.013,948494.013,948494.013,948494.013,2797258.0099199996,2797258.0099199996 +11782800.0,485003.346,320333.601,935374.11492,184000.76024000003,184000.76024000003,184000.76024000003,167221.628,348278.3572,2289911.7504000003,116797.20528,177976.69376,438530.33700000006,438530.33700000006,438530.33700000006,379926.0395,485003.346,485003.346,178767.17573,620125.9236000001,921767.42224,1607733.8760000002,456290.18576,580315.37048,129452.37299999999,129452.37299999999,129452.37299999999,129452.37299999999,1458243.39364,1458243.39364 +11786400.0,111641.784,20552.421000000002,60013.06932,116671.26713000001,116671.26713000001,116671.26713000001,98218.8235,93072.75744,100953.25696,63018.80193000001,96028.65056000001,34350.126000000004,34350.126000000004,34350.126000000004,35903.696500000005,111641.784,111641.784,47909.88955999999,41431.8807,61585.16588,107415.98700000001,30485.68012,38772.056260000005,33985.89,33985.89,33985.89,33985.89,335669.63055999996,335669.63055999996 +11790000.0,155253.03600000002,410365.95000000007,1198268.5740000003,112783.98571000001,112783.98571000001,112783.98571000001,241797.36000000002,348088.74408,314201.49632000003,174692.47845,266198.0624,67297.73700000001,67297.73700000001,67297.73700000001,243771.234,155253.03600000002,155253.03600000002,94555.3648,67716.42525,100655.0321,175561.1025,49825.912899999996,63369.19795,77114.268,77114.268,77114.268,77114.268,466794.12824,466794.12824 +11793600.0,169024.668,88638.94200000001,258825.71064,95992.25240000001,95992.25240000001,95992.25240000001,205488.8115,319054.79864,236813.38368,156196.90149000002,238014.32608000003,102662.262,102662.262,102662.262,80938.305,169024.668,169024.668,142168.63127999997,79197.21134999998,117720.29933999998,205326.10349999997,58273.503659999995,74112.94593,107398.92899999999,107398.92899999999,107398.92899999999,107398.92899999999,508200.83512,508200.83512 +11797200.0,108303.984,42420.864,123868.92288,73292.35650000001,73292.35650000001,73292.35650000001,69011.65250000001,186026.8928,146082.48512000003,85020.60147000001,129555.20224000001,63095.331000000006,63095.331000000006,63095.331000000006,39846.7265,108303.984,108303.984,90244.70533,42516.36945,63197.17138,110227.6245,31283.64962,39786.92351,61495.062,61495.062,61495.062,61495.062,325633.97856,325633.97856 +11800800.0,147697.377,90511.29000000001,264292.9668,63590.41667,63590.41667,63590.41667,65307.9945,290106.02376,66295.44128,269019.95862,409935.17504,66192.873,66192.873,66192.873,68240.5815,147697.377,147697.377,306276.05254999996,65036.71035,96671.85093999999,168613.6935,47854.17206,60861.51413,42084.177,42084.177,42084.177,42084.177,444076.78018,444076.78018 +11804400.0,39060.3,184657.92299999998,539201.13516,246939.26873,246939.26873,246939.26873,209037.2375,246926.43032,51424.84224,31385.330339999997,47825.26528,49266.0,49266.0,49266.0,279824.02,39060.3,39060.3,212371.23543999996,96044.0571,142761.78364,249003.11100000003,70669.45436,89878.26578000002,56654.759999999995,56654.759999999995,56654.759999999995,56654.759999999995,117441.302,117441.302 +11808000.0,28268.061,8914.218,26029.51656,52502.336590000006,52502.336590000006,52502.336590000006,43548.228500000005,33790.8532,25721.647360000006,24927.832860000002,37985.269120000004,8432.279999999999,8432.279999999999,8432.279999999999,15529.3285,28268.061,28268.061,8122.49789,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11634.357,11634.357,11634.357,11634.357,84992.63674,84992.63674 +11811600.0,620253.6359999999,265836.45900000003,776242.46028,128176.93328000001,128176.93328000001,128176.93328000001,648100.9955,813604.37712,524146.16512,848027.28864,1292232.0588800001,529299.054,529299.054,529299.054,127976.96449999997,620253.6359999999,620253.6359999999,9502.102089999998,179720.16749999998,267139.60699999996,465941.175,132238.543,168182.5765,382574.505,382574.505,382574.505,382574.505,1864895.93224,1864895.93224 +11815200.0,155675.487,43258.992,126316.25664,156267.45464000004,156267.45464000004,156267.45464000004,156643.7145,242960.20016000004,165072.97024,174601.64064000003,266059.64288000006,90991.31099999999,90991.31099999999,90991.31099999999,63837.105500000005,155675.487,155675.487,22752.266809999997,55331.91405,82246.45002,143453.1105,40713.358980000005,51779.74179000001,83107.86,83107.86,83107.86,83107.86,468064.29757999995,468064.29757999995 +11818800.0,419168.451,268219.401,783200.65092,179384.28134000002,179384.28134000002,179384.28134000002,436827.3105,866307.6148,740537.8867200001,565101.65376,861107.28192,373491.6,373491.6,373491.6,248893.659,419168.451,419168.451,193171.75006999998,265592.92905,394782.57602,688574.2605000001,195423.93298,248542.51879000003,337201.671,337201.671,337201.671,337201.671,1260299.80934,1260299.80934 +11822400.0,528909.981,422068.55700000003,1232440.18644,193009.67268000002,193009.67268000002,193009.67268000002,510421.779,1061418.19544,945039.75936,775235.68206,1181311.5155200001,505182.19200000004,505182.19200000004,505182.19200000004,469609.448,528909.981,528909.981,245927.48374999998,399804.11325,594276.7313,1036529.1825,294176.8537,374137.67635,474587.07,474587.07,474587.07,474587.07,1590256.00954,1590256.00954 +11826000.0,381066.267,317624.11199999996,927462.40704,192767.74781,192767.74781,192767.74781,337293.55449999997,580310.93624,653372.86464,470365.88402999996,716748.01376,271103.61000000004,271103.61000000004,271103.61000000004,302394.9985,381066.267,381066.267,290055.09234,238393.53405,354352.85802,618057.3105,175410.55098,223089.25779,350243.928,350243.928,350243.928,350243.928,1145739.24278,1145739.24278 +11829600.0,66836.478,56788.341,165821.95572,77446.84563000001,77446.84563000001,77446.84563000001,72647.20749999999,104040.61615999999,347886.97728,94694.67609000001,144296.64928,62817.88500000001,62817.88500000001,62817.88500000001,55789.503000000004,66836.478,66836.478,101481.93315,28708.28325,42672.5593,74428.8825,21123.6257,26865.28235,41859.699,41859.699,41859.699,41859.699,200955.01052,200955.01052 +11833200.0,66446.946,54283.836,158508.80112000002,39031.116850000006,39031.116850000006,39031.116850000006,38868.774,89857.306,364844.61056000006,87228.47658000002,132919.58336000002,62819.70599999999,62819.70599999999,62819.70599999999,65583.448,66446.946,66446.946,97513.84187999999,31725.695249999997,47157.700099999995,82251.80249999999,23343.844899999996,29688.983949999998,52105.21200000001,52105.21200000001,52105.21200000001,52105.21200000001,199783.81764,199783.81764 +11836800.0,63956.390999999996,55872.414,163147.44887999998,15284.579750000003,15284.579750000003,15284.579750000003,18060.6685,87213.70152,366759.92575999995,86697.78999000002,132110.91808000003,74847.054,74847.054,74847.054,61331.28400000001,63956.390999999996,63956.390999999996,96631.74078999998,31473.4086,46782.69624,81597.72600000001,23158.211760000002,29452.893480000002,52904.505000000005,52904.505000000005,52904.505000000005,52904.505000000005,192295.54893999998,192295.54893999998 +11840400.0,66672.183,62988.672000000006,183926.92224,9878.18711,9878.18711,9878.18711,13474.9265,99672.79256,381966.5427200001,87543.76449,133400.02208000002,82504.551,82504.551,82504.551,63539.17500000001,66672.183,66672.183,116986.88637999998,31349.05335,46597.852139999995,81275.3235,23066.71086,29336.521529999998,53897.441999999995,53897.441999999995,53897.441999999995,53897.441999999995,200461.03022000002,200461.03022000002 +11844000.0,78549.003,74893.185,218688.1002,4465.04234,4465.04234,4465.04234,18436.393500000002,115061.29768,395409.18528,88999.55064,135618.36288,95369.82,95369.82,95369.82,65579.84300000001,78549.003,78549.003,139138.80266,35262.7587,52415.26107999999,91421.96699999999,25946.424919999998,32998.97666,54806.181,54806.181,54806.181,54806.181,236170.66902,236170.66902 +11847600.0,82747.989,74428.185,217330.3002,4679.05515,4679.05515,4679.05515,19676.951,140122.29111999998,390522.49856000004,101494.92486,154658.93312,94772.94900000001,94772.94900000001,94772.94900000001,65537.521,82747.989,82747.989,153012.90615,40637.943,60405.04119999999,105357.62999999999,29901.498799999998,38029.0874,54987.384000000005,54987.384000000005,54987.384000000005,54987.384000000005,248795.62026,248795.62026 +11851200.0,85429.692,75298.17,219870.65639999998,7636.48809,7636.48809,7636.48809,20883.5655,138297.67656,382715.98976,113941.48227,173625.11583999998,93667.40999999999,93667.40999999999,93667.40999999999,66233.66399999999,85429.692,85429.692,151397.9246,42788.9061,63602.275239999995,110934.201,31484.18276,40041.96398,55592.50199999999,55592.50199999999,55592.50199999999,55592.50199999999,256858.60727999997,256858.60727999997 +11854800.0,83676.75,76892.184,224525.17727999997,16810.98034,16810.98034,16810.98034,31773.1925,133558.31216,358270.4032,126307.00677,192467.81984,88436.226,88436.226,88436.226,65285.5665,83676.75,83676.75,140569.24855999998,41922.777149999994,62314.844059999996,108688.6815,30846.88294,39231.43837,57750.99900000001,57750.99900000001,57750.99900000001,57750.99900000001,251588.095,251588.095 +11858400.0,573042.4980000001,521145.135,1521743.7942000001,203327.77795000005,203327.77795000005,203327.77795000005,634905.25,914507.69856,353979.712,643265.71281,980214.41952,239635.614,239635.614,239635.614,890479.3485,573042.4980000001,573042.4980000001,903250.3040599998,251466.78825,373785.2013,651950.9325,185029.8837,235323.24135,633724.4310000001,633724.4310000001,633724.4310000001,633724.4310000001,1722947.77732,1722947.77732 +11862000.0,870258.639,790447.5120000001,2308106.73504,477550.84927000006,477550.84927000006,477550.84927000006,825798.407,1364013.98776,1263063.75872,1213359.6014399999,1848928.91648,519236.2949999999,519236.2949999999,519236.2949999999,488751.6094999999,870258.639,870258.639,236270.34092999998,601782.2343,894501.00012,1560176.1630000002,442792.85388,563149.30074,879408.855,879408.855,879408.855,879408.855,2616577.64126,2616577.64126 +11865600.0,600495.066,447395.46599999996,1306394.76072,193821.40569000004,193821.40569000004,193821.40569000004,372558.991,883388.0963999999,944405.7164800001,884431.75212,1347705.52704,632907.1529999999,632907.1529999999,632907.1529999999,282711.4815,600495.066,600495.066,278610.93351,454751.77139999997,675952.0157599999,1178986.074,334607.47624,425557.83051999996,410503.00800000003,410503.00800000003,410503.00800000003,410503.00800000003,1805488.49844,1805488.49844 +11869200.0,342372.162,153116.733,447100.86036,183488.92518,183488.92518,183488.92518,382027.268,814815.76248,1074098.98304,511604.48199,779587.78208,461953.5,461953.5,461953.5,455907.73899999994,342372.162,342372.162,250767.57991999996,345137.85719999997,513019.72848,894801.8520000001,253953.28752,322980.85896,297320.274,297320.274,297320.274,297320.274,1029398.96708,1029398.96708 +11872800.0,120023.829,104507.367,305161.51164,130763.28804000001,130763.28804000001,130763.28804000001,270908.68,636096.6836,83801.7856,354826.3866,540687.8272,86802.27,86802.27,86802.27,72491.81450000001,120023.829,120023.829,33930.129609999996,157315.13009999998,233836.31683999998,407854.04099999997,115752.86116,147215.88718,110882.226,110882.226,110882.226,110882.226,360871.64586,360871.64586 +11876400.0,28396.428,7373.364,21530.22288,98923.78386000001,98923.78386000001,98923.78386000001,85337.66500000001,73315.89144,27245.94624,66473.44494,101292.86848,15032.913,15032.913,15032.913,30483.495,28396.428,28396.428,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,24670.757999999998,24670.757999999998,24670.757999999998,24670.757999999998,85378.59352,85378.59352 +11880000.0,55121.511,14317.863000000001,41808.15996,86888.63513000001,86888.63513000001,86888.63513000001,73545.01000000001,97742.92951999999,25595.123840000007,69222.34767,105481.67264,15543.675000000001,15543.675000000001,15543.675000000001,26349.8865,55121.511,55121.511,9718.056659999998,26992.942199999998,40122.84248,69981.702,19861.47352,25260.06196,35532.579,35532.579,35532.579,35532.579,165732.00973999998,165732.00973999998 +11883600.0,23482.389,5334.867,15577.81164,66306.75095,66306.75095,66306.75095,57965.20799999999,48953.18096,18506.68416,37218.08181,56713.26752,10211.037,10211.037,10211.037,20705.7725,23482.389,23482.389,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,18338.406,18338.406,18338.406,18338.406,70603.71626,70603.71626 +11887200.0,20333.16,4564.062,13327.06104,57037.71667000001,57037.71667000001,57037.71667000001,49914.4835,42579.837120000004,15936.305920000003,32246.81397,49138.00224,8792.835,8792.835,8792.835,17829.9695,20333.16,20333.16,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,15993.891,15993.891,15993.891,15993.891,61135.0344,61135.0344 +11890800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +11894400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +11898000.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,40313.80269,61430.55648,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +11901600.0,33387.603,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83704.55064,40097.804800000005,72798.5328,110931.09760000001,22123.911,22123.911,22123.911,44862.503,33387.603,33387.603,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,100385.39302,100385.39302 +11905200.0,53173.69500000001,11596.56,33861.9552,144902.48839000004,144902.48839000004,144902.48839000004,127201.42749999999,115881.56072,40611.8848,80702.26268999999,122974.87647999999,22407.549,22407.549,22407.549,45437.66499999999,53173.69500000001,53173.69500000001,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,42890.157,42890.157,42890.157,42890.157,159875.57630000002,159875.57630000002 +11908800.0,107684.859,11152.136999999999,32564.240039999997,133648.97502,133648.97502,133648.97502,112710.12550000001,84748.49736,65446.32256000001,79897.97591999998,121749.29663999999,23441.688000000002,23441.688000000002,23441.688000000002,40261.221,107684.859,107684.859,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,56652.04200000001,56652.04200000001,56652.04200000001,56652.04200000001,323772.47606,323772.47606 +11912400.0,51074.211,7741.74,22605.8808,111003.53165000002,111003.53165000002,111003.53165000002,93388.3895,75100.15744,29816.313600000005,55169.50131,84067.81152,16961.163,16961.163,16961.163,33359.297999999995,51074.211,51074.211,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,24628.743000000002,24628.743000000002,24628.743000000002,24628.743000000002,153563.12774,153563.12774 +11916000.0,19223.972999999998,8767.695,25601.669399999995,75023.18098,75023.18098,75023.18098,66015.9325,44371.33304,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,19223.972999999998,19223.972999999998,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,57800.078819999995,57800.078819999995 +11919600.0,12666.828,11675.199,34091.58108,37471.12655,37471.12655,37471.12655,32202.8945,42057.472480000004,18492.99712,18103.308510000003,27585.993920000004,6359.648999999999,6359.648999999999,6359.648999999999,11503.205,12666.828,12666.828,20282.63965,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,38084.92952,38084.92952 +11923200.0,13329.411,17843.664,52103.49888,13823.396840000001,13823.396840000001,13823.396840000001,11271.011499999999,49198.17479999999,31072.333440000002,14132.21292,21534.80064,3033.843,3033.843,3033.843,4026.1234999999997,13329.411,13329.411,33851.26966,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,3974.8979999999997,3974.8979999999997,3974.8979999999997,3974.8979999999997,40077.09574,40077.09574 +11926800.0,18586.803,19288.176,56321.47392,9195.277740000001,9195.277740000001,9195.277740000001,6440.577499999999,50922.277120000006,39108.96512,25970.427000000003,39573.984000000004,9309.783,9309.783,9309.783,2300.6409999999996,18586.803,18586.803,34210.63919,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,4017.8010000000004,4017.8010000000004,4017.8010000000004,4017.8010000000004,55884.32102,55884.32102 +11930400.0,25608.996,19224.704999999998,56136.1386,3751.34749,3751.34749,3751.34749,1610.1435,58772.697120000004,99233.25952,30147.20331,45938.59552,16882.374000000003,16882.374000000003,16882.374000000003,808.9200000000001,25608.996,25608.996,56207.29347999999,1052.7084,1564.7665599999998,2729.244,774.58544,985.12712,5448.543,5448.543,5448.543,5448.543,76997.71464,76997.71464 +11934000.0,38758.692,43784.178,127849.79976000001,3762.3894000000005,3762.3894000000005,3762.3894000000005,2134.4085,71025.02296,235448.40064000004,39937.46358,60857.087360000005,39498.558,39498.558,39498.558,4413.2865,38758.692,38758.692,78339.3156,2052.8883,3051.45372,5322.303,1510.52028,1921.09794,14623.32,14623.32,14623.32,14623.32,116534.46728,116534.46728 +11937600.0,52222.490999999995,48530.409,141708.79428,5633.78354,5633.78354,5633.78354,8812.916000000001,73548.6972,297739.04448,51215.175480000005,78042.17216,45655.527,45655.527,45655.527,28563.8115,52222.490999999995,52222.490999999995,80531.41057,4095.3154499999996,6087.357779999999,10617.4845,3013.3432199999997,3832.40631,26301.477,26301.477,26301.477,26301.477,157015.62294,157015.62294 +11941200.0,53621.688,44820.027,130874.47884,14533.571140000002,14533.571140000002,14533.571140000002,15994.6885,69992.85552,254423.05536000003,57373.34819999999,87426.0544,40371.852,40371.852,40371.852,38679.248999999996,53621.688,53621.688,80645.57110999999,16909.430399999997,25134.511359999997,43839.263999999996,12442.000639999998,15823.886719999999,33906.138,33906.138,33906.138,33906.138,161222.54192,161222.54192 +11944800.0,396461.283,203974.281,595604.9005199999,108698.99183000001,108698.99183000001,108698.99183000001,220190.026,574276.9781599999,131727.29344,339733.96485,517689.85120000003,135914.718,135914.718,135914.718,326456.6655,396461.283,396461.283,267262.96025,68210.09999999999,101388.84,176841.0,50189.159999999996,63831.18,284413.503,284413.503,284413.503,284413.503,1192026.92422,1192026.92422 +11948400.0,638111.46,454244.649,1326394.37508,225300.25903000004,225300.25903000004,225300.25903000004,464820.8914999999,881878.3396,756544.3251199999,589260.20286,897920.30912,350344.533,350344.533,350344.533,145785.08000000002,638111.46,638111.46,128293.94578,234536.38695,348619.51837999996,608057.2995,172572.45262,219479.73001,533513.949,533513.949,533513.949,533513.949,1918588.4563999998,1918588.4563999998 +11952000.0,553782.3300000001,352932.555,1030563.0606,162670.50074000002,162670.50074000002,162670.50074000002,276648.7395,719161.99952,642245.27936,736457.30739,1122220.65888,493882.836,493882.836,493882.836,110527.3085,553782.3300000001,553782.3300000001,241289.1286,190346.76405,282935.19002,493491.6105,140057.61898,178126.97179,361136.19299999997,361136.19299999997,361136.19299999997,361136.19299999997,1665038.8722,1665038.8722 +11955600.0,347700.096,151897.104,443539.54367999994,181599.62711000003,181599.62711000003,181599.62711000003,300812.3929999999,757224.7951999999,1127222.2041600002,468855.69276,714446.76992,464605.767,464605.767,464605.767,410378.6925,347700.096,347700.096,234213.91200999997,320515.80525,476421.0241,830966.9025,235836.3209,299939.48195,291469.43700000003,291469.43700000003,291469.43700000003,291469.43700000003,1045418.28864,1045418.28864 +11959200.0,125753.103,117472.797,343020.56724,128366.81506000002,128366.81506000002,128366.81506000002,239843.85950000002,677800.6492,67800.21056,379364.53989,578079.29888,87632.031,87632.031,87632.031,55303.388,125753.103,125753.103,25527.583899999998,156333.47895000002,232377.17118,405309.01950000005,115030.55982000001,146297.25561000002,117501.48599999999,117501.48599999999,117501.48599999999,117501.48599999999,378097.66302,378097.66302 +11962800.0,57308.943,13730.247,40092.32124,100979.99263000001,100979.99263000001,100979.99263000001,85953.434,105641.52952,37122.33152,85029.39207,129568.59744000001,18051.755999999998,18051.755999999998,18051.755999999998,30899.459499999997,57308.943,57308.943,11533.745079999999,31990.221,47550.8964,82937.61,23538.483600000003,29936.527800000003,35735.729999999996,35735.729999999996,35735.729999999996,35735.729999999996,172308.88861999998,172308.88861999998 +11966400.0,89830.935,24142.646999999997,70496.52923999999,88609.09332,88609.09332,88609.09332,85343.34899999999,134567.97808,125674.80384000001,107174.87445,163314.0944,47327.58900000001,47327.58900000001,47327.58900000001,32838.694,89830.935,89830.935,12902.247799999997,39766.84875,59110.2295,103099.2375,29260.5455,37213.91525,49486.058999999994,49486.058999999994,49486.058999999994,49486.058999999994,270091.6779,270091.6779 +11970000.0,38529.702000000005,9433.508999999998,27545.846279999998,67458.06441,67458.06441,67458.06441,58399.59299999999,65937.11568,25920.784000000003,48768.51,74313.92,11385.687,11385.687,11385.687,20705.7725,38529.702000000005,38529.702000000005,7774.446289999999,20852.9883,30996.29372,54063.30300000001,15343.68028,19514.277940000004,24244.286999999997,24244.286999999997,24244.286999999997,24244.286999999997,115845.97068,115845.97068 +11973600.0,17861.561999999998,4587.6449999999995,13395.9234,56728.93798,56728.93798,56728.93798,49914.4835,42018.5372,15936.305920000003,31675.212450000003,48266.9904,8792.835,8792.835,8792.835,17829.9695,17861.561999999998,17861.561999999998,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,15270.033000000001,15270.033000000001,15270.033000000001,15270.033000000001,53703.76307999999,53703.76307999999 +11977200.0,11118.507,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,27961.53456,12337.789440000002,23113.332270000003,35220.31584,6807.357,6807.357,6807.357,13803.846000000001,11118.507,11118.507,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9943.940999999999,9943.940999999999,9943.940999999999,9943.940999999999,33429.64438,33429.64438 +11980800.0,12459.621000000001,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,31424.69544,13880.007679999999,25862.452349999996,39409.451199999996,7658.277,7658.277,7658.277,15529.3285,12459.621000000001,12459.621000000001,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11235.761999999999,11235.761999999999,11235.761999999999,11235.761999999999,37461.92714,37461.92714 +11984400.0,22856.415,6061.149000000001,17698.555080000002,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,57233.722799999996,22619.26976,42193.70148,64295.164160000015,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,22856.415,22856.415,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,20291.643,20291.643,20291.643,20291.643,68721.6211,68721.6211 +11988000.0,51074.346,12308.058,35939.52936000001,142972.77522,142972.77522,142972.77522,125591.28399999999,109485.56936,40097.804800000005,81564.96831,124289.47551999999,22123.911,22123.911,22123.911,44862.503,51074.346,51074.346,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,40393.167,40393.167,40393.167,40393.167,153563.53363999998,153563.53363999998 +11991600.0,138893.77800000002,31993.914000000004,93422.22888000001,152689.00482000003,152689.00482000003,152689.00482000003,127569.05000000002,191248.45432,91355.80224000002,135999.1794,207236.84480000002,30104.561999999998,30104.561999999998,30104.561999999998,45437.66499999999,138893.77800000002,138893.77800000002,17060.589,47179.0413,70127.85892,122316.03300000001,34714.45508,44150.263340000005,69845.37899999999,69845.37899999999,69845.37899999999,69845.37899999999,417607.29252,417607.29252 +11995200.0,200412.28799999997,64320.306,187815.29351999998,138324.57474000004,138324.57474000004,138324.57474000004,137089.659,209514.84719999996,144022.10688,149014.69149,227070.00608,80504.256,80504.256,80504.256,43899.8735,200412.28799999997,200412.28799999997,32564.791869999997,61178.1417,90936.39828,158609.997,45015.02772,57250.65606,85432.11,85432.11,85432.11,85432.11,602572.9459199999,602572.9459199999 +11998800.0,109696.98599999999,18973.416,55402.37472000001,114113.46749,114113.46749,114113.46749,96942.678,178015.2596,42725.60768000001,86300.91855,131506.16160000002,26411.163000000004,26411.163000000004,26411.163000000004,33359.297999999995,109696.98599999999,109696.98599999999,56586.08097999999,33995.9268,50532.21712,88137.588,25014.28688,31813.472240000003,60571.575000000004,60571.575000000004,60571.575000000004,60571.575000000004,329822.27124,329822.27124 +12002400.0,28527.462,22381.449,65353.83108,75934.2749,75934.2749,75934.2749,66015.9325,86705.80256,50522.44416000001,50382.16953,76772.82976000001,14831.388,14831.388,14831.388,23581.572,28527.462,28527.462,40052.15811999999,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,17821.194,17821.194,17821.194,17821.194,85772.56908,85772.56908 +12006000.0,24307.203,20497.425000000003,59852.481,37821.4925,37821.4925,37821.4925,32202.8945,67017.06599999999,50047.8912,40847.69157,62244.10144,16241.324999999999,16241.324999999999,16241.324999999999,11503.205,24307.203,24307.203,36056.95288,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,10185.891,10185.891,10185.891,10185.891,73083.65702,73083.65702 +12009600.0,30765.57,25543.926,74588.26392,14519.037170000001,14519.037170000001,14519.037170000001,11271.011499999999,56910.98103999999,133383.52320000003,35082.06261,53458.381120000005,22824.021,22824.021,22824.021,5466.4715,30765.57,30765.57,58043.46287999999,4976.86275,7397.7071,12902.9775,3661.9879,4657.36045,9266.786999999998,9266.786999999998,9266.786999999998,9266.786999999998,92501.8138,92501.8138 +12013200.0,38091.513,41368.977,120797.41283999999,9004.43951,9004.43951,9004.43951,8275.715,62765.31824,234413.48416000002,40535.267850000004,61768.027200000004,39862.788,39862.788,39862.788,5898.2035,38091.513,38091.513,73846.58800999999,3655.1331,5433.06204,9476.271,2689.4559600000002,3420.4825800000003,15335.255999999998,15335.255999999998,15335.255999999998,15335.255999999998,114528.48242,114528.48242 +12016800.0,43659.407999999996,43003.187999999995,125569.30895999998,3498.5597900000002,3498.5597900000002,3498.5597900000002,6497.218,65435.34872,267795.32607999997,44746.994040000005,68185.89568000002,40768.347,40768.347,40768.347,26374.6105,43659.407999999996,43659.407999999996,72521.67831999999,4678.1388,6953.677919999999,12128.508,3442.18608,4377.81384,22817.304,22817.304,22817.304,22817.304,131269.28671999997,131269.28671999997 +12020400.0,49528.287,46272.615,135116.03579999998,3491.33961,3491.33961,3491.33961,6477.1314999999995,65161.114,266696.6528,53077.72491,80880.34272,41717.850000000006,41717.850000000006,41717.850000000006,37883.1565,49528.287,49528.287,80807.22077999999,16304.6601,24235.56884,42271.341,11997.00916,15257.94118,34677.204000000005,34677.204000000005,34677.204000000005,34677.204000000005,148915.04958,148915.04958 +12024000.0,55421.655,47382.723,138357.55116,5333.5762700000005,5333.5762700000005,5333.5762700000005,8125.302500000002,77865.96392,270082.16064,60190.856250000004,91719.40000000001,44204.976,44204.976,44204.976,42078.4735,55421.655,55421.655,94465.90361,20518.786349999995,30499.529339999994,53196.85349999999,15097.773659999997,19201.530929999997,38024.835,38024.835,38024.835,38024.835,166634.44269999999,166634.44269999999 +12027600.0,83011.023,58125.41099999999,169726.20012,24998.534220000005,24998.534220000005,24998.534220000005,15615.775000000001,365990.46984,244767.79520000002,91558.43151,139517.60992000002,41391.687,41391.687,41391.687,40455.583000000006,83011.023,83011.023,192284.11747999996,21828.56445,32446.409379999997,56592.5745,16061.511620000001,20427.22451,80091.90299999999,80091.90299999999,80091.90299999999,80091.90299999999,249586.47582,249586.47582 +12031200.0,270291.105,97103.769,283543.00548,115263.93032000001,115263.93032000001,115263.93032000001,132835.8885,1061488.81856,202442.51712000003,483856.33485,737304.8912000001,141053.511,141053.511,141053.511,61218.213,270291.105,270291.105,1142427.7320299998,94127.0625,139912.32499999998,244033.125,69258.925,88084.3375,276845.70900000003,276845.70900000003,276845.70900000003,276845.70900000003,812675.2557,812675.2557 +12034800.0,259522.749,284476.998,830672.83416,187037.55818000002,187037.55818000002,187037.55818000002,286968.63300000003,1460386.8941600001,458312.2860800001,1038361.55304,1582265.22368,340352.019,340352.019,340352.019,315375.74950000003,259522.749,259522.749,242387.12653999997,367840.0309499999,546764.6879799999,953659.3394999999,270657.60302,344225.60920999997,312394.581,312394.581,312394.581,312394.581,780298.39866,780298.39866 +12038400.0,669127.176,137535.912,401604.86304,153936.39063,153936.39063,153936.39063,124840.149,547032.3094400001,289027.6896,437051.03631,665982.53152,275897.463,275897.463,275897.463,105547.351,669127.176,669127.176,175947.87118999995,114451.99154999999,170123.70101999998,296727.3855,84214.05798,107104.45629,563962.143,563962.143,563962.143,563962.143,2011842.3758399999,2011842.3758399999 +12042000.0,361097.871,235774.929,688462.79268,168985.71624,168985.71624,168985.71624,153445.0015,242987.03496,1407266.3321600002,96813.58743000001,147525.46656000003,320647.32,320647.32,320647.32,227911.5755,361097.871,361097.871,120277.97015000001,325506.2436,483838.91023999994,843905.076,239508.29776,304609.54648,89987.073,89987.073,89987.073,89987.073,1085700.93214,1085700.93214 +12045600.0,59526.939000000006,13880.286000000002,40530.43512,112186.57076,112186.57076,112186.57076,98218.8235,66788.17888,40605.29152,55444.270350000006,84486.50720000001,19166.010000000002,19166.010000000002,19166.010000000002,35084.777,59526.939000000006,59526.939000000006,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,25255.92,25255.92,25255.92,25255.92,178977.66326,178977.66326 +12049200.0,71911.755,131354.757,383555.89044,101962.35632,101962.35632,101962.35632,137232.21749999997,123686.53968,120564.93568000002,64547.149170000004,98357.56064000001,38010.465000000004,38010.465000000004,38010.465000000004,99188.2045,71911.755,71911.755,34012.563389999996,32667.6564,48557.84976,84693.92400000001,24036.94224,30570.473520000003,26826.117000000002,26826.117000000002,26826.117000000002,26826.117000000002,216214.67669999998,216214.67669999998 +12052800.0,116497.92300000001,43188.093,126109.23156,90185.81539000002,90185.81539000002,90185.81539000002,176935.47549999997,158501.60624,193542.24192,79676.97444,121412.53248000001,74937.87,74937.87,74937.87,59242.456000000006,116497.92300000001,116497.92300000001,84528.54462,60465.357899999995,89876.90236,156762.039,44490.55964,56583.631219999996,45818.445,45818.445,45818.445,45818.445,350270.42182,350270.42182 +12056400.0,56772.19499999999,17861.427,52155.36684,67593.41226000001,67593.41226000001,67593.41226000001,58415.2345,67971.00080000001,74618.67392,42162.243689999996,64247.22847999999,28357.902000000002,28357.902000000002,28357.902000000002,20778.4255,56772.19499999999,56772.19499999999,38034.76235,25950.743549999996,38573.697819999994,67279.7055,19094.62118,24284.76989,22236.579,22236.579,22236.579,22236.579,170695.06629999998,170695.06629999998 +12060000.0,75040.344,56152.041,163963.95971999998,56972.804240000005,56972.804240000005,56972.804240000005,58092.20899999999,194642.25936,21428.562560000002,133749.11907000002,203808.18144000001,30260.511,30260.511,30260.511,17829.9695,75040.344,75040.344,198159.78740999996,18726.730199999998,27835.781679999996,48550.782,13779.17432,17524.52036,19296.174,19296.174,19296.174,19296.174,225621.30096,225621.30096 +12063600.0,16871.958,51166.763999999996,149406.95088,207706.70316,207706.70316,207706.70316,119486.84650000001,88120.44327999999,42587.899520000006,27040.329959999995,41204.31232,28214.28,28214.28,28214.28,139817.7165,16871.958,16871.958,85459.07278999999,46806.35625,69573.8925,121349.8125,34440.2325,43801.50375,11067.579,11067.579,11067.579,11067.579,50728.35372,50728.35372 +12067200.0,14874.059999999998,6109.371,17839.36332,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29529.446079999994,15259.31968,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,14874.059999999998,14874.059999999998,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11032.635,11032.635,11032.635,11032.635,44721.340399999994,44721.340399999994 +12070800.0,341422.74,100861.43400000001,294515.38728,102003.4796,102003.4796,102003.4796,143269.2345,417661.89048,140405.38816000003,357016.26996,544024.79232,174667.16100000002,174667.16100000002,174667.16100000002,52869.0295,341422.74,341422.74,9502.102089999998,38057.76495,56569.813579999995,98668.27949999999,28002.99742,35614.550409999996,198559.515,198559.515,198559.515,198559.515,1026544.3716,1026544.3716 +12074400.0,76459.299,20844.444,60865.77648,145233.51777,145233.51777,145233.51777,125591.28399999999,145160.78032,61724.81856000001,99967.00749000002,152330.67808000004,30572.265,30572.265,30572.265,45525.4065,76459.299,76459.299,16844.63443,44761.458600000005,66534.31624,116048.22600000001,32935.59176,41887.883480000004,48202.977000000006,48202.977000000006,48202.977000000006,48202.977000000006,229887.62566,229887.62566 +12078000.0,222802.98599999998,95619.03899999999,279207.59388,159845.11488,159845.11488,159845.11488,241183.9535,323718.10872,336305.56544,286446.531,436489.95200000005,174758.673,174758.673,174758.673,82979.386,222802.98599999998,222802.98599999998,22682.79117,71123.54444999999,105719.44137999999,184394.37449999998,52332.87961999999,66557.58851,115910.466,115910.466,115910.466,115910.466,669894.31124,669894.31124 +12081600.0,336899.64,196774.179,574580.60268,148682.74508999998,148682.74508999998,148682.74508999998,282168.7435,673217.42304,573850.30272,421064.30142,641621.79264,303688.62,303688.62,303688.62,149672.6525,336899.64,336899.64,173609.84082,152397.69705,226526.94722,395105.14050000004,112134.60178,142614.14119,229337.397,229337.397,229337.397,229337.397,1012944.9176,1012944.9176 +12085200.0,261753.40499999997,133619.28900000002,390168.32388000004,123375.37927,123375.37927,123375.37927,187050.77999999997,372846.66488,264475.7184,248744.58945,379039.37440000003,159133.12199999997,159133.12199999997,159133.12199999997,90209.245,261753.40499999997,261753.40499999997,98670.75751,56205.981,83545.6804,145719.21,41356.4996,52597.6958,204953.766,204953.766,204953.766,204953.766,787005.2376999999,787005.2376999999 +12088800.0,34060.539000000004,24277.623,70890.65916,76322.93955,76322.93955,76322.93955,66015.9325,92655.33176,98582.26560000001,62154.39132,94711.45344000001,25092.927000000003,25092.927000000003,25092.927000000003,23581.572,34060.539000000004,34060.539000000004,42656.17186999999,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,19315.302,19315.302,19315.302,19315.302,102408.68726,102408.68726 +12092400.0,36357.237,36415.704000000005,106333.85568000001,38358.18305000001,38358.18305000001,38358.18305000001,32202.8945,72422.66928,209686.83456000005,48845.316660000004,74430.95872000001,38687.513999999996,38687.513999999996,38687.513999999996,12468.644999999999,36357.237,36357.237,75307.63513,12599.8902,18728.72568,32666.382,9271.030320000002,11791.008360000002,16588.779,16588.779,16588.779,16588.779,109314.09258,109314.09258 +12096000.0,38719.99800000001,44121.36,128834.37120000001,14567.942290000003,14567.942290000003,14567.942290000003,13460.559,58364.107359999995,268636.27392,46957.28415000001,71553.95680000001,43767.765,43767.765,43767.765,18463.9875,38719.99800000001,38719.99800000001,79195.16371,5432.33385,8074.72834,14083.8285,3997.12466,5083.59143,18342.06,18342.06,18342.06,18342.06,116418.12732,116418.12732 +12099600.0,45840.735,43855.428,128057.84976,9085.55461,9085.55461,9085.55461,11590.537,64373.216239999994,293967.2096,51298.541280000005,78169.20576000001,46065.104999999996,46065.104999999996,46065.104999999996,40319.7445,45840.735,45840.735,78822.3358,8585.8947,12762.24348,22259.727000000003,6317.52252,8034.701460000001,28410.792,28410.792,28410.792,28410.792,137827.8099,137827.8099 +12103200.0,47474.16,44337.168000000005,129464.53056,3593.03263,3593.03263,3593.03263,6747.9615,73832.21168000001,291574.06656,57775.50366,88038.86272,47302.950000000004,47302.950000000004,47302.950000000004,41859.9265,47474.16,47474.16,77994.52037,21318.078149999998,31687.612459999997,55269.0915,15685.89454,19949.51017,37982.706,37982.706,37982.706,37982.706,142738.9744,142738.9744 +12106800.0,53174.26199999999,49949.240999999995,145851.78371999998,3669.81318,3669.81318,3669.81318,6970.788999999999,78393.58455999999,306737.40288,66592.3692,101474.0864,52651.437,52651.437,52651.437,46306.7885,53174.26199999999,53174.26199999999,85062.92118999998,22399.0677,33294.416679999995,58071.657,16481.28932,20961.10286,40939.74,40939.74,40939.74,40939.74,159877.28107999996,159877.28107999996 +12110400.0,59699.904,54474.429000000004,159065.33268,5529.050230000001,5529.050230000001,5529.050230000001,8661.400999999998,80540.53792,312580.49600000004,68769.21639,104791.18688,63341.708999999995,63341.708999999995,63341.708999999995,48595.029,59699.904,59699.904,107989.75732999998,28367.868599999994,42166.56023999999,73546.32599999999,20873.147759999996,26546.721479999997,42109.284,42109.284,42109.284,42109.284,179497.71136,179497.71136 +12114000.0,93386.712,69090.261,201743.56212,26636.115,26636.115,26636.115,16150.7325,390754.984,287506.35008,112847.12019000002,171957.51648000002,59119.329,59119.329,59119.329,52810.947,93386.712,93386.712,228628.31394,31162.433399999998,46320.45656,80791.494,22929.39544,29161.88212,86892.26699999999,86892.26699999999,86892.26699999999,86892.26699999999,280782.71407999995,280782.71407999995 +12117600.0,306184.19999999995,115426.47,337045.2924,118096.38984,118096.38984,118096.38984,143215.5515,1237004.6749599997,237077.07136,576617.75514,878655.6268800001,171981.396,171981.396,171981.396,98487.921,306184.19999999995,306184.19999999995,1088281.2301399999,127277.75430000002,189188.16812000002,329979.363,93651.28588000001,119106.83674000001,330820.833,330820.833,330820.833,330820.833,920593.8279999999,920593.8279999999 +12121200.0,265751.841,315525.453,921334.32276,187852.43323,187852.43323,187852.43323,353455.00049999997,1541701.1386400003,529786.92288,1066468.4387700001,1625094.7638400001,396684.35400000005,396684.35400000005,396684.35400000005,361244.2855,265751.841,265751.841,233412.01286,443368.9143,659032.31212,1149474.9630000002,326231.94188000006,414905.72474000003,344542.044,344542.044,344542.044,344542.044,799027.2019399999,799027.2019399999 +12124800.0,715972.851,165783.528,484087.90176,155964.29662,155964.29662,155964.29662,127455.37350000002,627151.92936,442784.94847999996,534059.01675,813804.216,340620.35699999996,340620.35699999996,340620.35699999996,139126.4315,715972.851,715972.851,202224.31436999998,163291.94595,242720.37398,423349.4895,120150.61702,152809.00621000002,662007.891,662007.891,662007.891,662007.891,2152691.70534,2152691.70534 +12128400.0,383962.43399999995,256403.38199999998,748697.87544,169833.85540000003,169833.85540000003,169833.85540000003,154042.39549999998,266505.17632,1576131.0368000004,102829.58427,156692.69984000002,348218.694,348218.694,348218.694,283252.606,383962.43399999995,383962.43399999995,131915.63528,396427.95225,589258.3388999999,1027776.1724999999,291692.6661,370978.25655,100765.94699999999,100765.94699999999,100765.94699999999,100765.94699999999,1154447.0515599998,1154447.0515599998 +12132000.0,65216.064,16381.832999999999,47834.952359999996,112784.79157000002,112784.79157000002,112784.79157000002,98218.8235,69085.49471999999,69608.52096,56642.74791,86312.75872,26793.899999999998,26793.899999999998,26793.899999999998,35084.777,65216.064,65216.064,23733.112389999995,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,26761.476000000002,26761.476000000002,26761.476000000002,26761.476000000002,196082.96575999996,196082.96575999996 +12135600.0,89366.418,211215.55800000002,616749.42936,104875.74372000001,104875.74372000001,104875.74372000001,174447.7875,180577.36688,210383.20896000002,94736.36865000002,144360.18080000003,47578.701,47578.701,47578.701,153243.7795,89366.418,89366.418,50366.78465,44757.20205,66527.98921999999,116037.1905,32932.45978,41883.90019,34400.406,34400.406,34400.406,34400.406,268695.03012,268695.03012 +12139200.0,147773.742,75245.871,219717.94332,92316.84297000001,92316.84297000001,92316.84297000001,189884.632,251236.00576,234420.46912000002,113510.49171,172968.36832,91565.322,91565.322,91565.322,81921.413,147773.742,147773.742,122177.20345999998,70865.27189999999,105335.53995999998,183724.77899999998,52142.842039999996,66315.89641999999,81823.758,81823.758,81823.758,81823.758,444306.38427999994,444306.38427999994 +12142800.0,77715.87899999999,28434.834000000003,83029.71528,69508.89264000002,69508.89264000002,69508.89264000002,61751.91750000001,124027.60152,111667.69600000001,54591.76569,83187.45248,42697.449,42697.449,42697.449,29651.825000000004,77715.87899999999,77715.87899999999,64811.76298999999,33626.60325,49983.247299999995,87180.0825,24742.5377,31467.85835,39260.574,39260.574,39260.574,39260.574,233665.74285999997,233665.74285999997 +12146400.0,106505.091,72747.46800000001,212422.60656000001,58451.081150000005,58451.081150000005,58451.081150000005,61257.27650000001,235843.03888,50135.12704,179295.07722,273211.54624,47901.098999999995,47901.098999999995,47901.098999999995,26783.249499999998,106505.091,106505.091,254587.047,24488.30475,36399.8999,63488.1975,18018.555099999998,22916.21605,25639.131,25639.131,25639.131,25639.131,320225.30694,320225.30694 +12150000.0,25902.791999999998,100117.59900000002,292343.38908,197126.06660999998,197126.06660999998,197126.06660999998,144352.922,151769.9492,47124.06528000001,28919.146829999998,44067.27136,38808.099,38808.099,38808.099,196595.8575,25902.791999999998,25902.791999999998,131708.29060999997,66422.11815,98731.14846,172205.4915,48873.558540000005,62157.98217,29431.11,29431.11,29431.11,29431.11,77881.06128,77881.06128 +12153600.0,19067.007,7161.8730000000005,20912.66916,49536.185710000005,49536.185710000005,49536.185710000005,43473.906,30033.00008,17419.500160000003,24514.636019999998,37355.63584,7762.869000000001,7762.869000000001,7762.869000000001,15529.3285,19067.007,19067.007,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11245.806,11245.806,11245.806,11245.806,57328.13438,57328.13438 +12157200.0,441373.842,156105.003,455826.60876,110511.73320000002,110511.73320000002,110511.73320000002,275043.643,581429.58824,297875.80608,545908.98222,831861.3062400001,303403.194,303403.194,303403.194,64118.1485,441373.842,441373.842,9502.102089999998,57322.8333,85205.79172,148614.753,42178.28228,53642.84894,264453.504,264453.504,264453.504,264453.504,1327064.01828,1327064.01828 +12160800.0,101452.071,30887.82,90192.4344,148350.16504000002,148350.16504000002,148350.16504000002,127455.78300000001,171222.42856,83501.64992,122547.78396000002,186739.48032000003,51204.458999999995,51204.458999999995,51204.458999999995,46540.0915,101452.071,101452.071,16844.63443,46224.2619,68708.65595999999,119840.67899999999,34011.92604,43256.778419999995,58932.585,58932.585,58932.585,58932.585,305032.56013999996,305032.56013999996 +12164400.0,309001.21200000006,155798.643,454932.03756,165919.34161000003,165919.34161000003,165919.34161000003,289888.9175,583635.4321600001,568351.53984,398896.59138,607842.42496,290967.828,290967.828,290967.828,133163.863,309001.21200000006,309001.21200000006,110033.13672,130615.58205,194149.58122,338632.9905,96107.26778000001,122230.38419000001,194868.47400000002,194868.47400000002,194868.47400000002,194868.47400000002,929063.64408,929063.64408 +12168000.0,420932.364,265511.424,775293.35808,156808.19077000002,156808.19077000002,156808.19077000002,386417.619,845033.5167999999,706216.16512,541422.88788,825025.3529600002,391829.034,391829.034,391829.034,251941.47299999997,420932.364,420932.364,208312.31212999995,240688.20734999998,357763.70573999995,624006.4635,177098.97725999999,225236.61873,343985.778,343985.778,343985.778,343985.778,1265603.30776,1265603.30776 +12171600.0,309200.694,233238.15000000002,681055.398,129035.49571000002,129035.49571000002,129035.49571000002,269482.00299999997,461329.41591999994,457395.77664000005,339662.97834,517581.68128,214808.772,214808.772,214808.772,137587.513,309200.694,309200.694,108900.06425999998,129142.269,191959.6196,334813.29000000004,95023.20040000002,120851.65420000002,283941.192,283941.192,283941.192,283941.192,929663.41996,929663.41996 +12175200.0,48766.152,48526.074,141696.13608,76944.02562000001,76944.02562000001,76944.02562000001,66015.9325,97477.85192,278741.10656000004,71815.35732000001,109432.92544,52196.74800000001,52196.74800000001,52196.74800000001,24659.313000000002,48766.152,48766.152,92050.44185999999,24893.835299999995,37002.688519999996,64539.57299999999,18316.94548,23295.712539999997,26664.932999999997,26664.932999999997,26664.932999999997,26664.932999999997,146623.56368000002,146623.56368000002 +12178800.0,48322.239,48775.69499999999,142425.0294,38524.62163,38524.62163,38524.62163,35849.6985,75096.60672,312451.76384,65071.0641,99155.9072,51732.971999999994,51732.971999999994,51732.971999999994,47222.567,48322.239,48322.239,87765.24652999999,13138.26075,19528.970299999997,34062.1575,9667.1647,12294.81685,27769.472999999998,27769.472999999998,27769.472999999998,27769.472999999998,145288.86526,145288.86526 +12182400.0,51227.01000000001,47407.803,138430.78475999998,14753.831400000001,14753.831400000001,14753.831400000001,16808.4105,67325.36544000001,321433.57376,60828.79299,92691.49408,52719.279,52719.279,52719.279,47430.936,51227.01000000001,51227.01000000001,85654.20487,18409.24665,27363.867860000002,47727.6765,13545.569140000001,17227.41847,36674.388,36674.388,36674.388,36674.388,154022.54340000002,154022.54340000002 +12186000.0,53439.93299999999,48387.675,141292.011,9291.73267,9291.73267,9291.73267,12055.2075,79138.13784,324977.85344000004,68628.09828,104576.14976,60256.53599999999,60256.53599999999,60256.53599999999,49616.3045,53439.93299999999,53439.93299999999,86157.92249999999,25359.37065,37694.66946,65746.5165,18659.487540000002,23731.361670000002,44474.01,44474.01,44474.01,44474.01,160676.06521999996,160676.06521999996 +12189600.0,54291.345,53235.21000000001,155446.81320000003,3840.4072300000003,3840.4072300000003,3840.4072300000003,7332.7905,83005.98736,330577.23456,71154.33318,108425.65056000001,67237.641,67237.641,67237.641,50649.5395,54291.345,54291.345,92817.16066999998,24270.27705,36075.81922,62922.9405,17858.12978,22712.18519,44224.434,44224.434,44224.434,44224.434,163235.9773,163235.9773 +12193200.0,61775.051999999996,57859.8,168950.616,3849.60136,3849.60136,3849.60136,7354.368,83254.38591999999,331773.0336,72205.30254,110027.12768,68620.089,68620.089,68620.089,52325.0175,61775.051999999996,61775.051999999996,114556.78779999999,28458.51975,42301.3059,73781.3475,20939.8491,26631.553050000002,44568.378,44568.378,44568.378,44568.378,185736.98967999997,185736.98967999997 +12196800.0,67740.28199999999,62138.574,181444.63608,5678.464000000001,5678.464000000001,5678.464000000001,8956.339,103141.15104,331456.4256000001,77615.99895000001,118271.99840000001,75756.087,75756.087,75756.087,54354.8915,67740.28199999999,67740.28199999999,116805.39065,32238.789749999996,47920.37389999999,83582.0475,23721.3811,30169.139049999998,44963.541,44963.541,44963.541,44963.541,203672.44787999996,203672.44787999996 +12200400.0,99940.97400000002,76899.606,224546.84952000002,27838.94652,27838.94652,27838.94652,16342.567500000001,429325.02455999993,304362.83200000005,124989.06399000001,190459.52608,69396.261,69396.261,69396.261,66540.2675,99940.97400000002,99940.97400000002,269099.69723,33960.5055,50479.566199999994,88045.75499999999,24988.2238,31780.3249,91542.651,91542.651,91542.651,91542.651,300489.19516,300489.19516 +12204000.0,342954.075,134282.577,392105.12483999995,119737.17371000002,119737.17371000002,119737.17371000002,166164.2745,1370435.4999199999,354979.08352000004,661596.77997,1008147.4742400001,199459.803,199459.803,199459.803,145513.54650000003,342954.075,342954.075,1147794.85509,172519.48619999998,256436.37207999994,447272.74199999997,126940.26391999998,161444.16116,384456.336,384456.336,384456.336,384456.336,1031148.5855,1031148.5855 +12207600.0,249144.024,287511.723,839534.2311600001,185815.62615000003,185815.62615000003,185815.62615000003,297214.47,1456532.73944,488402.36224,992634.51336,1512585.92512,361682.283,361682.283,361682.283,335359.70999999996,249144.024,249144.024,208961.68136999998,396575.7084,589477.96656,1028159.244,291801.38544,371116.52712,321033.00899999996,321033.00899999996,321033.00899999996,321033.00899999996,749093.03216,749093.03216 +12211200.0,585829.2420000001,106335.0,310498.2,152711.49156999998,152711.49156999998,152711.49156999998,124009.20000000001,476671.67991999997,230351.05536000003,400308.06228,609993.23776,257520.93600000002,257520.93600000002,257520.93600000002,104539.372,585829.2420000001,585829.2420000001,154527.31059999997,116557.66754999998,173253.61941999997,302186.5455,85763.41958,109074.95309,495134.787,495134.787,495134.787,495134.787,1761393.25428,1761393.25428 +12214800.0,314708.592,197425.24199999997,576481.7066399999,166800.71639000002,166800.71639000002,166800.71639000002,148867.52300000002,223382.75648,1194084.87424,86663.66121,132058.91232,276545.80500000005,276545.80500000005,276545.80500000005,205349.8405,314708.592,314708.592,105185.1281,280071.34289999993,416303.5763599999,726110.8889999999,206077.18563999998,262091.45421999996,81566.15400000001,81566.15400000001,81566.15400000001,81566.15400000001,946223.83328,946223.83328 +12218400.0,43163.418,12941.328,37788.67776,112140.71407,112140.71407,112140.71407,98218.8235,65301.09296000001,38650.93888,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,43163.418,43163.418,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24862.551,24862.551,24862.551,24862.551,129778.01011999998,129778.01011999998 +12222000.0,49544.21400000001,95706.80399999999,279463.86767999997,99881.38974000001,99881.38974000001,99881.38974000001,124656.84,101209.04543999999,52420.862720000005,54183.96879,82566.04768,24377.865,24377.865,24377.865,91129.619,49544.21400000001,49544.21400000001,11445.71246,31797.084600000002,47263.81464,82436.886,23396.37336,29755.79028,23808.824999999997,23808.824999999997,23808.824999999997,23808.824999999997,148962.93676,148962.93676 +12225600.0,56677.353,18232.017,53237.48964,86156.54795000001,86156.54795000001,86156.54795000001,132072.03100000002,92946.73024,86222.03072,44589.56985,67946.01120000001,46124.520000000004,46124.520000000004,46124.520000000004,31403.634499999996,56677.353,56677.353,9718.056659999998,27542.7378,40940.06952,71407.098,20266.01448,25774.56204,24630.351000000002,24630.351000000002,24630.351000000002,24630.351000000002,170409.90802,170409.90802 +12229200.0,24692.352,8318.048999999999,24288.70308,66081.00433000001,66081.00433000001,66081.00433000001,57965.20799999999,40330.0764,22931.319040000002,32588.744160000002,49659.038720000004,11207.387999999999,11207.387999999999,11207.387999999999,20705.7725,24692.352,24692.352,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14725.371,14725.371,14725.371,14725.371,74241.67168,74241.67168 +12232800.0,40898.586,18725.613,54678.78996,56724.84356000001,56724.84356000001,56724.84356000001,54528.0155,122339.31008,15936.305920000003,73439.0391,111907.1072,14011.451999999997,14011.451999999997,14011.451999999997,17829.9695,40898.586,40898.586,87669.69106999999,17856.138150000002,26541.716460000003,46293.69150000001,13138.590540000001,16709.818170000002,15515.457000000002,15515.457000000002,15515.457000000002,15515.457000000002,122968.41524,122968.41524 +12236400.0,10546.212,3203.478,9354.15576,89910.06475,89910.06475,89910.06475,67407.6025,35281.851919999994,25569.621120000007,21723.97311,33103.19712,8561.538,8561.538,8561.538,13803.846000000001,10546.212,10546.212,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,31708.944079999997,31708.944079999997 +12240000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +12243600.0,159964.218,5873.043000000001,17149.28556,83952.61446000001,83952.61446000001,83952.61446000001,70846.3665,105968.1724,22619.26976,107300.82635999999,163506.02112,16668.951,16668.951,16668.951,25307.054500000002,159964.218,159964.218,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,100884.273,100884.273,100884.273,100884.273,480959.08212,480959.08212 +12247200.0,46063.962,10803.923999999999,31547.45808,143609.31915000002,143609.31915000002,143609.31915000002,125591.28399999999,110604.94552000001,40097.804800000005,80176.08249,122173.07807999999,22525.695,22525.695,22525.695,44862.503,46063.962,46063.962,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,39682.767,39682.767,39682.767,39682.767,138498.97908,138498.97908 +12250800.0,101694.71399999999,29616.372,86479.80623999999,151179.46624,151179.46624,151179.46624,127201.42749999999,184302.37,68335.58272,135501.2064,206478.0288,40747.95,40747.95,40747.95,50864.173500000004,101694.71399999999,101694.71399999999,17060.589,45830.82465,68123.84306,118820.65650000001,33722.43394,42888.59887,67947.216,67947.216,67947.216,67947.216,305762.10675999994,305762.10675999994 +12254400.0,165972.489,68818.155,200949.0126,141291.71870000003,141291.71870000003,141291.71870000003,139411.36649999997,258152.41704000003,135666.64768000002,191559.0558,291899.5136,99167.63399999999,99167.63399999999,99167.63399999999,76431.432,165972.489,165972.489,15116.978629999998,48309.8742,71808.75128,125247.822,35546.52472,45208.49956,84424.656,84424.656,84424.656,84424.656,499023.95025999995,499023.95025999995 +12258000.0,169552.137,65233.143000000004,190480.77756000002,119184.98460000001,119184.98460000001,119184.98460000001,108487.687,139989.95672,169580.91328,125886.73881000001,191827.41152000002,97468.45499999999,97468.45499999999,97468.45499999999,35605.8255,169552.137,169552.137,13704.3153,34948.66499999999,51948.38599999999,90607.65,25715.314,32705.047,59639.600999999995,59639.600999999995,59639.600999999995,59639.600999999995,509786.75857999997,509786.75857999997 +12261600.0,21542.367,17739.501,51799.34292,75406.29008,75406.29008,75406.29008,66015.9325,70563.33592,42303.35488,37111.78317,56551.288640000006,12459.381000000001,12459.381000000001,12459.381000000001,23581.572,21542.367,21542.367,37603.74305999999,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,64770.716779999995,64770.716779999995 +12265200.0,21765.729,23985.939,70038.94188,37825.965430000004,37825.965430000004,37825.965430000004,32202.8945,77939.83992,59729.39392,30794.84352,46925.47584,11679.920999999998,11679.920999999998,11679.920999999998,11503.205,21765.729,21765.729,46049.41522999999,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,11008.17,11008.17,11008.17,11008.17,65442.29185999999,65442.29185999999 +12268800.0,27526.332,27855.702,81338.64984,14919.240270000002,14919.240270000002,14919.240270000002,11271.011499999999,69097.274,180039.66144,39339.543390000006,59945.97088000001,32535.333,32535.333,32535.333,4026.1234999999997,27526.332,27526.332,72362.58756999999,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,9067.749,9067.749,9067.749,9067.749,82762.50488,82762.50488 +12272400.0,43494.263999999996,57424.676999999996,167680.05683999998,9693.413180000001,9693.413180000001,9693.413180000001,6440.577499999999,71927.29128,354886.28800000006,49812.74151,75905.12992,55083.405000000006,55083.405000000006,55083.405000000006,19867.6135,43494.263999999996,43494.263999999996,104145.67747999998,4000.9463999999994,5947.085759999999,10372.823999999999,2943.90624,3744.09552,18310.446,18310.446,18310.446,18310.446,130772.75375999999,130772.75375999999 +12276000.0,58782.549,59934.93299999999,175010.00435999996,4241.41212,4241.41212,4241.41212,5973.0265,92736.7472,408292.76992000005,62776.03647000001,95658.72224,62617.458,62617.458,62617.458,54245.2155,58782.549,58782.549,104637.06708000001,4886.02125,7262.678499999999,12667.4625,3595.1465,4572.35075,35291.292,35291.292,35291.292,35291.292,176739.53066,176739.53066 +12279600.0,73856.40299999999,68357.403,199603.61676000003,4329.14504,4329.14504,4329.14504,8678.586,102755.03360000001,423038.55360000004,80859.53715,123214.5328,82670.27100000001,82670.27100000001,82670.27100000001,61525.8595,73856.40299999999,73856.40299999999,133813.56988999998,30242.74725,44953.4169,78407.1225,22252.6881,28301.23755,53730.372,53730.372,53730.372,53730.372,222061.58502,222061.58502 +12283200.0,72734.976,70395.666,205555.34472000002,6027.96304,6027.96304,6027.96304,9876.6885,110877.25888000001,394271.69216000004,85709.07933000001,130604.31136000002,82703.28899999999,82703.28899999999,82703.28899999999,61489.61000000001,72734.976,72734.976,138085.33569999997,36242.66834999999,53871.81813999999,93962.4735,26667.444859999996,33915.97852999999,54010.443000000014,54010.443000000014,54010.443000000014,54010.443000000014,218689.82783999998,218689.82783999998 +12286800.0,94539.504,70945.521,207160.92131999996,26648.890730000003,26648.890730000003,26648.890730000003,16188.073999999999,446474.52327999996,299094.85568000004,121229.86533,184731.22336,73979.748,73979.748,73979.748,51216.067,94539.504,94539.504,247111.21031999995,31446.836549999996,46743.19901999999,81528.8355,23138.65998,29428.027289999998,96612.77399999999,96612.77399999999,96612.77399999999,96612.77399999999,284248.77536,284248.77536 +12290400.0,276040.34699999995,95219.04599999999,278039.61432,117100.44049000001,117100.44049000001,117100.44049000001,113266.94750000001,1084192.01128,208184.82880000005,485880.82935,740389.8352000001,139788.951,139788.951,139788.951,49431.668999999994,276040.34699999995,276040.34699999995,952478.0229899999,71665.4871,106524.99564,185799.41100000002,52731.642360000005,67064.73978,276192.681,276192.681,276192.681,276192.681,829961.3099799999,829961.3099799999 +12294000.0,223518.141,243776.142,711826.3346399999,184439.85219,184439.85219,184439.85219,196807.597,1353433.04656,379996.09856,917319.6375000001,1397820.4000000001,309569.499,309569.499,309569.499,227736.8485,223518.141,223518.141,172375.09457999998,264413.97809999995,393030.16003999993,685517.7209999999,194556.45795999997,247439.25358,281546.001,281546.001,281546.001,281546.001,672044.54394,672044.54394 +12297600.0,635181.747,102879.67499999999,300408.65099999995,156399.71743000002,156399.71743000002,156399.71743000002,124624.14300000001,542458.72512,286144.75072,395580.26025,602788.968,275726.127,275726.127,275726.127,81399.8465,635181.747,635181.747,155157.89679,98826.01425,146896.9397,256215.5925,72716.4253,92481.62815,541648.0109999999,541648.0109999999,541648.0109999999,541648.0109999999,1909779.78598,1909779.78598 +12301200.0,330041.17500000005,158570.83800000002,463026.84696,168390.62526000003,168390.62526000003,168390.62526000003,143811.465,233462.39208,1319039.26976,87023.70390000001,132607.54880000002,307277.643,307277.643,307277.643,207500.7165,330041.17500000005,330041.17500000005,109534.88325,266045.50440000003,395455.29296,689747.604,195756.93904000003,248966.03992000004,85211.47200000001,85211.47200000001,85211.47200000001,85211.47200000001,992323.7995,992323.7995 +12304800.0,34454.199,10542.599999999999,30784.391999999996,111673.21352,111673.21352,111673.21352,98218.8235,65301.09296000001,31685.182080000002,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,34454.199,34454.199,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24233.856,24233.856,24233.856,24233.856,103592.29166,103592.29166 +12308400.0,38491.626,100416.006,293214.73752,99456.40034000001,99456.40034000001,99456.40034000001,116487.01750000002,102798.47152000002,43546.35136000001,53347.26789,81291.07488,20413.053,20413.053,20413.053,89731.07849999999,38491.626,38491.626,11445.71246,31484.493449999998,46799.172979999996,81626.4645,23166.368019999998,29463.26671,22752.306,22752.306,22752.306,22752.306,115731.48883999999,115731.48883999999 +12312000.0,54269.774999999994,20590.461,60124.14612,86128.2004,86128.2004,86128.2004,127547.609,92042.51135999999,41090.245760000005,45061.60575,68665.304,34315.971,34315.971,34315.971,31099.8485,54269.774999999994,54269.774999999994,9718.056659999998,27464.97375,40824.4795,71205.4875,20208.7955,25701.790250000002,23407.293,23407.293,23407.293,23407.293,163171.1235,163171.1235 +12315600.0,24456.729,8288.922,24203.65224,66083.32423,66083.32423,66083.32423,57965.20799999999,42032.62912,23231.47648,32585.957250000003,49654.79200000001,12139.019999999999,12139.019999999999,12139.019999999999,20705.7725,24456.729,24456.729,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14676.426000000003,14676.426000000003,14676.426000000003,14676.426000000003,73533.23186,73533.23186 +12319200.0,51620.952000000005,22443.033000000003,65533.65636,56724.84356000001,56724.84356000001,56724.84356000001,55899.473,121668.14808,15936.305920000003,90112.01556,137313.54752,20396.583,20396.583,20396.583,17829.9695,51620.952000000005,51620.952000000005,88697.65059999998,18062.279099999996,26848.128439999993,46828.130999999994,13290.269559999997,16902.725379999996,15736.433999999997,15736.433999999997,15736.433999999997,15736.433999999997,155206.99568,155206.99568 +12322800.0,11715.579,16803.054,49064.91768,129423.34229,129423.34229,129423.34229,96769.6835,52092.210159999995,31005.203840000002,22192.111199999996,33816.5504,12916.470000000001,12916.470000000001,12916.470000000001,68232.108,11715.579,11715.579,26318.90586,26422.293149999998,39274.61846,68502.2415,19441.58854,24726.04717,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,35224.84086,35224.84086 +12326400.0,11005.302,3609.1589999999997,10538.744279999999,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,11005.302,11005.302,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,33089.274679999995,33089.274679999995 +12330000.0,209225.06699999998,22678.389,66220.89588,88805.19406,88805.19406,88805.19406,70846.3665,167121.80248,36672.911360000006,177771.41991000003,270889.78272,44353.839,44353.839,44353.839,34609.183,209225.06699999998,209225.06699999998,9502.102089999998,26470.3464,39346.04575999999,68626.824,19476.94624,24771.01552,132594.79499999998,132594.79499999998,132594.79499999998,132594.79499999998,629070.03478,629070.03478 +12333600.0,38079.126,10988.67,32086.9164,142801.54218,142801.54218,142801.54218,125591.28399999999,103697.10152,40097.804800000005,76048.82817,115883.92864,22123.911,22123.911,22123.911,44862.503,38079.126,38079.126,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,35646.726,35646.726,35646.726,35646.726,114491.23883999999,114491.23883999999 +12337200.0,102939.59700000001,40661.661,118732.05012,150360.66364,150360.66364,150360.66364,133232.2495,187060.56696,69720.55232,140529.47307,214140.14944,47941.563,47941.563,47941.563,50819.307,102939.59700000001,102939.59700000001,17060.589,47240.0748,70218.58032,122474.26800000001,34759.36368,44207.37864,65445.09299999999,65445.09299999999,65445.09299999999,65445.09299999999,309505.05498,309505.05498 +12340800.0,178719.99,77362.776,225899.30592,140484.12895,140484.12895,140484.12895,155724.618,246959.70079999996,152286.89216000002,199734.34761,304357.10112,109594.07100000001,109594.07100000001,109594.07100000001,68234.0015,178719.99,178719.99,19603.097279999998,50502.87224999999,75068.46689999998,130933.3725,37160.1381,47260.71255,86395.713,86395.713,86395.713,86395.713,537351.4366,537351.4366 +12344400.0,165808.965,69558.97200000001,203112.19824,117261.82820000002,117261.82820000002,117261.82820000002,136123.89,137130.34816,181856.71936000002,126996.36369000001,193518.26848000003,98912.21100000001,98912.21100000001,98912.21100000001,35798.434,165808.965,165808.965,13600.39044,36238.837049999995,53866.12321999999,93952.54049999999,26664.62578,33912.393189999995,62758.956000000006,62758.956000000006,62758.956000000006,62758.956000000006,498532.28809999995,498532.28809999995 +12348000.0,20734.5,15214.196999999998,44425.455239999996,75023.18098,75023.18098,75023.18098,66015.9325,60499.45664,26511.121920000005,37111.78317,56551.288640000006,12390.348,12390.348,12390.348,23581.572,20734.5,20734.5,25285.708239999996,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,62341.729999999996,62341.729999999996 +12351600.0,14956.755000000001,21115.281,61656.62052,37470.54861,37470.54861,37470.54861,32202.8945,67159.92992,40007.5008,22027.09425,33565.096,6961.689,6961.689,6961.689,11503.205,14956.755000000001,14956.755000000001,39406.56473,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,9235.53,9235.53,9235.53,9235.53,44969.9767,44969.9767 +12355200.0,18708.222,20585.805,60110.5506,13817.837220000001,13817.837220000001,13817.837220000001,11271.011499999999,55742.840879999996,47133.05216000001,28233.948539999998,43023.15968,12582.905999999999,12582.905999999999,12582.905999999999,4026.1234999999997,18708.222,18708.222,37093.589649999994,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,5391.504000000001,5391.504000000001,5391.504000000001,5391.504000000001,56249.387480000005,56249.387480000005 +12358800.0,28632.741,32293.301999999996,94296.44183999998,9118.54196,9118.54196,9118.54196,6440.577499999999,59137.323359999995,185636.22464,35484.21324,54071.18208,31390.479,31390.479,31390.479,2776.7005,28632.741,28632.741,78267.48787,2983.0356,4434.04304,7733.796,2194.92496,2791.53208,8274.066,8274.066,8274.066,8274.066,86089.10794,86089.10794 +12362400.0,39413.724,47531.793,138792.83555999998,3732.0394100000008,3732.0394100000008,3732.0394100000008,1610.1435,64324.87271999999,298362.56640000007,43266.61353000001,65930.07776000001,47059.24800000001,47059.24800000001,47059.24800000001,12608.6835,39413.724,39413.724,85805.71987,2119.03695,3149.77838,5493.799500000001,1559.19262,1983.0000100000002,17401.122,17401.122,17401.122,17401.122,118503.93015999999,118503.93015999999 +12366000.0,52473.204,49479.65700000001,144480.59844,3729.2962300000004,3729.2962300000004,3729.2962300000004,6703.8859999999995,73844.22455999999,324078.16448,53012.54889,80781.02687999999,48795.566999999995,48795.566999999995,48795.566999999995,42207.924499999994,52473.204,52473.204,85401.18443999998,6381.52425,9485.6237,16544.6925,4695.541300000001,5971.84615,32596.92,32596.92,32596.92,32596.92,157769.43336,157769.43336 +12369600.0,63079.68299999999,56102.33099999999,163818.80651999998,5685.8225600000005,5685.8225600000005,5685.8225600000005,9047.3285,85109.7364,348605.07904000004,69101.68461,105297.80512,56077.89600000001,56077.89600000001,56077.89600000001,51098.4495,63079.68299999999,63079.68299999999,102788.06941,25578.4797,38020.35748,66314.577,18820.70852,23936.40446,45325.350000000006,45325.350000000006,45325.350000000006,45325.350000000006,189659.58021999997,189659.58021999997 +12373200.0,83113.22099999999,58337.727,170346.16284,24630.956240000003,24630.956240000003,24630.956240000003,15748.494999999999,363917.94727999996,270715.19168000005,89819.21130000001,136867.3696,47734.202999999994,47734.202999999994,47734.202999999994,42341.0855,83113.22099999999,83113.22099999999,189978.12171,25381.5687,37727.66508,65804.067,18675.820920000002,23752.13466,81470.907,81470.907,81470.907,81470.907,249893.75113999998,249893.75113999998 +12376800.0,241429.76400000002,89226.924,260542.61807999996,114805.08259000002,114805.08259000002,114805.08259000002,106886.6295,924422.09136,179201.65120000002,413351.24544,629868.5644800001,119017.83,119017.83,119017.83,47412.3265,241429.76400000002,241429.76400000002,893467.5769499999,66199.97159999999,98400.94543999998,171629.55599999998,48710.10256,61950.09688,233883.59100000001,233883.59100000001,233883.59100000001,233883.59100000001,725898.8237599999,725898.8237599999 +12380400.0,208363.56,237457.359,693375.4882799999,181649.13866,181649.13866,181649.13866,200275.124,1253236.9024,339084.00192,884461.26825,1347750.504,268233.93299999996,268233.93299999996,268233.93299999996,222373.2525,208363.56,208363.56,158838.55208,260858.60865,387745.38866,676300.0965,191940.40834,244112.13007,265855.098,265855.098,265855.098,265855.098,626479.7704,626479.7704 +12384000.0,583751.754,84242.157,245987.09844,151730.56459000002,151730.56459000002,151730.56459000002,123592.30799999999,434711.45512000006,232859.98336,342636.5775,522112.88,232464.04499999998,232464.04499999998,232464.04499999998,76476.95649999999,583751.754,583751.754,151551.93598999997,89341.6554,132799.20136,231626.51400000002,65737.81064000001,83606.14172,481320.924,481320.924,481320.924,481320.924,1755146.94036,1755146.94036 +12387600.0,295540.704,180084.15899999999,525845.74428,165527.34363000002,165527.34363000002,165527.34363000002,141026.949,216899.87176,1193765.30688,83442.27822,127150.13824,272192.019,272192.019,272192.019,172578.16449999998,295540.704,295540.704,103696.51968,248589.38880000002,369508.17792,644491.008,182912.68608,232630.56384000002,78952.77,78952.77,78952.77,78952.77,888592.38336,888592.38336 +12391200.0,27608.292,9099.597,26570.82324,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,27608.292,27608.292,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,83008.93128,83008.93128 +12394800.0,29941.382999999998,79675.66500000001,232652.9418,97438.20944,97438.20944,97438.20944,110154.37299999999,82281.52952,32638.661760000006,50995.87416,77707.99872,18749.424,18749.424,18749.424,52197.614,29941.382999999998,29941.382999999998,11445.71246,30700.3284,45633.574559999994,79593.44399999999,22589.37744,28729.44312,21329.862,21329.862,21329.862,21329.862,90023.75821999999,90023.75821999999 +12398400.0,29361.066,8426.721,24606.025319999997,82932.09045,82932.09045,82932.09045,95632.9465,83327.54359999999,24117.152000000002,41086.10036999999,62607.391039999995,31294.188000000002,31294.188000000002,31294.188000000002,29942.983000000004,29361.066,29361.066,9718.056659999998,26688.38625,39670.1445,69192.1125,19637.3805,24975.05775,20225.184,20225.184,20225.184,20225.184,88278.93843999998,88278.93843999998 +12402000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +12405600.0,26956.518000000004,7226.763000000001,21102.147960000002,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,83092.834,15936.305920000003,39063.368819999996,59525.13344,10391.175,10391.175,10391.175,17829.9695,26956.518000000004,26956.518000000004,19243.15055,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,14499.792000000001,14499.792000000001,14499.792000000001,14499.792000000001,81049.26412,81049.26412 +12409200.0,9956.934000000001,3203.478,9354.15576,49706.80418000001,49706.80418000001,49706.80418000001,45300.7135,25692.233199999995,19462.07872,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9956.934000000001,9956.934000000001,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29937.18156,29937.18156 +12412800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +12416400.0,58941.431999999986,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,70528.90912,22619.26976,60745.96815,92565.28480000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,58941.431999999986,58941.431999999986,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,53181.132000000005,53181.132000000005,53181.132000000005,53181.132000000005,177217.23887999996,177217.23887999996 +12420000.0,31928.748000000003,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,71212.5057,108514.2944,22123.911,22123.911,22123.911,44862.503,31928.748000000003,31928.748000000003,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,95999.10232,95999.10232 +12423600.0,53557.341,10544.784,30790.769279999997,144898.36955000003,144898.36955000003,144898.36955000003,127201.42749999999,90599.65176,40611.8848,87499.59897,133332.72224,22407.549,22407.549,22407.549,45437.66499999999,53557.341,53557.341,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,48358.509000000005,48358.509000000005,48358.509000000005,48358.509000000005,161029.07194,161029.07194 +12427200.0,80959.53600000001,9343.479,27282.95868,129310.93703,129310.93703,129310.93703,112710.12550000001,111652.75832,35985.208320000005,90584.09009999999,138032.89919999999,21316.092,21316.092,21316.092,40261.221,80959.53600000001,80959.53600000001,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,58463.478,58463.478,58463.478,58463.478,243418.33824,243418.33824 +12430800.0,72997.59599999999,12082.611,35281.22412,108883.78204,108883.78204,108883.78204,93388.3895,74440.59952,51033.35808,52499.598060000004,79999.38752,19362.789,19362.789,19362.789,33359.297999999995,72997.59599999999,72997.59599999999,12525.494929999999,33199.74945,49348.763380000004,86073.42450000001,24428.45762,31068.407510000005,29087.612999999998,29087.612999999998,29087.612999999998,29087.612999999998,219479.43863999998,219479.43863999998 +12434400.0,17401.296000000002,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17401.296000000002,17401.296000000002,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,52319.896640000006,52319.896640000006 +12438000.0,9655.547999999999,5747.28,16782.0576,36596.67484,36596.67484,36596.67484,32202.8945,21846.93192,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,9655.547999999999,9655.547999999999,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,29031.014319999995,29031.014319999995 +12441600.0,6630.738,10603.670999999998,30962.719319999997,12808.83538,12808.83538,12808.83538,11271.011499999999,27693.583679999996,19539.09824,6336.15822,9655.098240000001,2545.3500000000004,2545.3500000000004,2545.3500000000004,4026.1234999999997,6630.738,6630.738,20588.079459999997,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,19936.41892,19936.41892 +12445200.0,7540.671,17802.822,51984.24023999999,7704.94956,7704.94956,7704.94956,6440.577499999999,44977.682720000004,36239.865600000005,3620.65977,5517.19584,2834.313,2834.313,2834.313,2300.6409999999996,7540.671,7540.671,36495.413239999994,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,3170.367,3170.367,3170.367,3170.367,22672.28414,22672.28414 +12448800.0,14039.493,20575.613999999998,60080.79287999999,2875.8782800000004,2875.8782800000004,2875.8782800000004,1610.1435,51496.60024,55349.84576000001,20326.514040000005,30973.73568000001,10708.839,10708.839,10708.839,575.162,14039.493,14039.493,37470.568589999995,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,3163.617,3163.617,3163.617,3163.617,42212.075619999996,42212.075619999996 +12452400.0,24816.453,33209.024999999994,96970.35299999999,3263.54578,3263.54578,3263.54578,1610.1435,56778.66416,203307.72736000002,31154.0796,47472.883200000004,36518.53200000001,36518.53200000001,36518.53200000001,575.162,24816.453,24816.453,81962.95796,695.11365,1033.23066,1802.1465,511.46634,650.4890700000001,6841.851000000001,6841.851000000001,6841.851000000001,6841.851000000001,74614.80201999999,74614.80201999999 +12456000.0,44106.144,52770.56999999999,154090.06439999997,5762.428100000001,5762.428100000001,5762.428100000001,3220.2905,65754.85512,332701.17376,45846.79953,69861.78975999999,51671.997,51671.997,51671.997,16619.1235,44106.144,44106.144,95347.41307000001,2853.0953999999997,4240.897359999999,7396.914,2099.31464,2669.93372,17565.654,17565.654,17565.654,17565.654,132612.47296,132612.47296 +12459600.0,43772.94,42475.908,124029.65136,14427.06738,14427.06738,14427.06738,11477.074,70513.88279999999,270960.3616,46950.37241999999,71543.42464,42673.932,42673.932,42673.932,36551.51149999999,43772.94,43772.94,73678.35826,5293.3904999999995,7868.200199999999,13723.605,3894.8898,4953.5679,23754.195,23754.195,23754.195,23754.195,131610.6396,131610.6396 +12463200.0,396692.4,199750.34100000001,583270.99572,107474.60559,107474.60559,107474.60559,190887.1055,520721.8188,116754.18304000002,311182.36653,474182.65376,134161.602,134161.602,134161.602,279197.814,396692.4,396692.4,99137.06777000001,55841.57414999999,83004.01886,144774.4515,41088.36814,52256.68297,269989.356,269989.356,269989.356,269989.356,1192721.816,1192721.816 +12466800.0,595801.4909999999,442921.35900000005,1293330.36828,217130.25906,217130.25906,217130.25906,428339.751,806622.4118399998,749897.8745600001,491689.50327000004,749241.1478400001,357535.38,357535.38,357535.38,107902.186,595801.4909999999,595801.4909999999,86945.32911999998,173099.26799999998,257298.17119999995,448775.88,127366.8688,161986.7224,476217.31799999997,476217.31799999997,476217.31799999997,476217.31799999997,1791376.4829399998,1791376.4829399998 +12470400.0,485961.798,226357.467,660963.8036399999,152927.56787,152927.56787,152927.56787,196688.55849999998,624034.222,626653.82592,656383.72716,1000203.7747200001,461862.846,461862.846,461862.846,69866.66399999999,485961.798,485961.798,185238.00619999997,96042.50594999998,142759.47797999997,248999.08949999997,70668.31301999999,89876.81420999998,315512.67,315512.67,315512.67,315512.67,1461125.13932,1461125.13932 +12474000.0,321708.83700000006,127962.51,373650.5292,174973.23162,174973.23162,174973.23162,265559.735,594942.8168,1087794.7488,369734.32167,563404.68064,457517.1,457517.1,457517.1,412946.128,321708.83700000006,321708.83700000006,205742.16559,246632.37209999998,366599.22964,639417.2609999999,181472.70836,230799.18278,252498.06299999997,252498.06299999997,252498.06299999997,252498.06299999997,967271.23658,967271.23658 +12477600.0,120831.639,110417.949,322420.41108,123934.08038000001,123934.08038000001,123934.08038000001,209801.37149999998,648471.3632799999,42060.32832,332551.20423,506744.69216,68433.939,68433.939,68433.939,46850.163499999995,120831.639,120831.639,18537.735189999996,138277.88235,205538.97573999997,358498.21349999995,101745.20726,129400.78373,110607.41400000002,110607.41400000002,110607.41400000002,110607.41400000002,363300.46125999995,363300.46125999995 +12481200.0,31188.72,7854.4529999999995,22935.00276,97401.57130000001,97401.57130000001,97401.57130000001,85337.66500000001,78485.24336,28267.94816,69550.92774,105982.36608,15032.913,15032.913,15032.913,30483.495,31188.72,31188.72,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,25655.346000000005,25655.346000000005,25655.346000000005,25655.346000000005,93774.0848,93774.0848 +12484800.0,41745.474,9406.671,27467.479320000002,83475.80989000002,83475.80989000002,83475.80989000002,72456.51000000001,76072.79776,32013.27936,54092.60934,82426.83328,13531.647,13531.647,13531.647,25882.213000000003,41745.474,41745.474,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,28241.853000000003,28241.853000000003,28241.853000000003,28241.853000000003,125514.72516,125514.72516 +12488400.0,20482.631999999998,5295.647999999999,15463.292159999999,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,48713.56576,18602.99392,36723.24831,55959.23552,10211.037,10211.037,10211.037,20705.7725,20482.631999999998,20482.631999999998,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,18006.066,18006.066,18006.066,18006.066,61584.446879999996,61584.446879999996 +12492000.0,19847.001,4873.907999999999,14231.81136,56765.03074000001,56765.03074000001,56765.03074000001,49914.4835,45104.90712,16425.93856,33064.85658,50384.54336,8792.835,8792.835,8792.835,17829.9695,19847.001,19847.001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,16637.295000000002,16637.295000000002,16637.295000000002,16637.295000000002,59673.31634,59673.31634 +12495600.0,11224.605,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,28428.635280000002,12337.789440000002,23085.65154,35178.13568,6807.357,6807.357,6807.357,13803.846000000001,11224.605,11224.605,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,10282.071,10282.071,10282.071,10282.071,33748.645699999994,33748.645699999994 +12499200.0,11996.679,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29830.334559999996,13880.007679999999,25578.612569999998,38976.93344,7658.277,7658.277,7658.277,15529.3285,11996.679,11996.679,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10807.239,10807.239,10807.239,10807.239,36070.014859999996,36070.014859999996 +12502800.0,19686.347999999998,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,51476.4756,22619.26976,41378.107679999994,63052.35455999999,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,19686.347999999998,19686.347999999998,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,18657.968999999997,18657.968999999997,18657.968999999997,18657.968999999997,59190.28632,59190.28632 +12506400.0,36644.448000000004,10698.69,31240.1748,142727.02862,142727.02862,142727.02862,125591.28399999999,95808.55216,40097.804800000005,73418.55024,111875.88608000001,22123.911,22123.911,22123.911,44862.503,36644.448000000004,36644.448000000004,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,34856.637,34856.637,34856.637,34856.637,110177.64032,110177.64032 +12510000.0,87332.064,18513.225,54058.617,146611.13544,146611.13544,146611.13544,127201.42749999999,150484.70536,60781.065600000016,100929.41397000001,153797.20224,23606.745000000003,23606.745000000003,23606.745000000003,45437.66499999999,87332.064,87332.064,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,57197.990999999995,57197.990999999995,57197.990999999995,57197.990999999995,262578.40576,262578.40576 +12513600.0,135649.809,26899.986,78547.95912,133865.65774999998,133865.65774999998,133865.65774999998,113125.84850000001,104040.68624000001,110931.13088000001,110522.30595000001,168414.9424,31295.673,31295.673,31295.673,40261.221,135649.809,135649.809,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,62757.894,62757.894,62757.894,62757.894,407853.75906,407853.75906 +12517200.0,66739.836,13254.711,38703.75612,110375.22133000001,110375.22133000001,110375.22133000001,93388.3895,89166.62088,32758.755200000003,63310.519440000004,96473.17248000001,17998.905,17998.905,17998.905,33359.297999999995,66739.836,66739.836,12595.71612,33559.085699999996,49882.887879999995,87005.037,24692.858119999997,31404.67526,31208.591999999997,31208.591999999997,31208.591999999997,31208.591999999997,200664.44023999997,200664.44023999997 +12520800.0,20966.346,16591.815000000002,48448.0998,75023.18098,75023.18098,75023.18098,66015.9325,66730.27528,34959.22432000001,37111.78317,56551.288640000006,12544.005000000001,12544.005000000001,12544.005000000001,23581.572,20966.346,20966.346,37071.62238,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,63038.81364,63038.81364 +12524400.0,14857.329000000002,19425.762,56723.22504,37408.46890000001,37408.46890000001,37408.46890000001,32202.8945,63580.07416,42086.29888,24457.14936,37268.03712,8898.414,8898.414,8898.414,11503.205,14857.329000000002,14857.329000000002,35441.373889999995,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,9773.423999999999,9773.423999999999,9773.423999999999,9773.423999999999,44671.035859999996,44671.035859999996 +12528000.0,19407.783,20530.86,59950.1112,13797.92271,13797.92271,13797.92271,11271.011499999999,55566.22176000001,59352.260480000004,29065.350929999997,44290.05856,14466.282,14466.282,14466.282,4026.1234999999997,19407.783,19407.783,37070.78543999999,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,5383.581,5383.581,5383.581,5383.581,58352.73421999999,58352.73421999999 +12531600.0,29624.31,35537.28599999999,103768.87511999998,9008.538,9008.538,9008.538,6440.577499999999,60155.23536,206580.77952000004,35969.90355,54811.2816,35378.346,35378.346,35378.346,2300.6409999999996,29624.31,29624.31,80468.61121,3095.7713999999996,4601.615759999999,8026.073999999999,2277.8762399999996,2897.03052,9287.697,9287.697,9287.697,9287.697,89070.4254,89070.4254 +12535200.0,37523.574,45838.706999999995,133849.02443999998,3638.07939,3638.07939,3638.07939,1610.1435,64664.20591999999,284362.59584,41219.85756,62811.21152,44979.003,44979.003,44979.003,10087.668500000002,37523.574,37523.574,82724.68879999999,2053.0179,3051.6463599999993,5322.638999999999,1510.6156399999998,1921.2192199999997,16502.337,16502.337,16502.337,16502.337,112820.87916,112820.87916 +12538800.0,45511.770000000004,46124.931,134684.79851999998,3516.1544,3516.1544,3516.1544,4938.3425,67172.91223999999,285619.71456,45032.70303,68621.26176,43369.85399999999,43369.85399999999,43369.85399999999,35852.1765,45511.770000000004,45511.770000000004,76962.93891,2381.2623,3539.55532,6173.643,1752.13868,2228.39114,25285.878,25285.878,25285.878,25285.878,136838.7218,136838.7218 +12542400.0,49444.134000000005,45470.076,132772.62191999998,5228.028960000001,5228.028960000001,5228.028960000001,7639.1245,66056.4736,261794.48384,50445.7758,76869.75360000001,41847.936,41847.936,41847.936,34826.365,49444.134000000005,49444.134000000005,84381.12774,15139.9773,22504.36132,39251.793,11140.03268,14168.02814,31676.601000000002,31676.601000000002,31676.601000000002,31676.601000000002,148662.02956,148662.02956 +12546000.0,45839.448000000004,39501.969,115345.74948,14167.5479,14167.5479,14167.5479,14911.4735,69085.93272,222815.36064,49152.987660000006,74899.79072,37526.754,37526.754,37526.754,32767.966,45839.448000000004,45839.448000000004,78459.07978999999,18315.881999999998,27225.088799999994,47485.619999999995,13476.8712,17140.047599999998,30623.411999999997,30623.411999999997,30623.411999999997,30623.411999999997,137823.94032,137823.94032 +12549600.0,400475.64,204387.79499999998,596812.3613999999,108461.87770000001,108461.87770000001,108461.87770000001,201376.532,554813.2568,131279.76640000002,331069.56309,504486.95327999996,145299.10499999998,145299.10499999998,145299.10499999998,293130.0085,400475.64,400475.64,214819.17911999996,62801.037449999996,93348.70258,162817.5045,46209.15842,58769.36591,293728.956,293728.956,293728.956,293728.956,1204096.7576,1204096.7576 +12553200.0,608854.602,451441.07100000005,1318207.92732,218892.39405000003,218892.39405000003,218892.39405000003,427369.201,845431.06312,726894.2143999999,532876.4637,812002.2304,358207.302,358207.302,358207.302,123995.249,608854.602,608854.602,114559.28418999998,194170.84695,288619.38237999997,503405.8995,142871.38862,181705.55801,508944.621,508944.621,508944.621,508944.621,1830622.8366799997,1830622.8366799997 +12556800.0,493826.4689999999,275640.762,804871.02504,150887.06116,150887.06116,150887.06116,199354.7955,627068.94296,595222.20224,632437.64976,963714.51392,421421.93100000004,421421.93100000004,421421.93100000004,74672.892,493826.4689999999,493826.4689999999,216030.05332999997,93513.48345,139000.28897999998,242442.3645,68807.45202,87510.14871,329221.917,329221.917,329221.917,329221.917,1484771.5834599996,1484771.5834599996 +12560400.0,304806.27,125725.137,367117.40004,174772.35270000002,174772.35270000002,174772.35270000002,250239.3775,627220.72456,1070449.3196800002,385553.25753000006,587509.7257600001,440099.18100000004,440099.18100000004,440099.18100000004,363006.79799999995,304806.27,304806.27,196216.10008,264170.93354999996,392668.89381999994,684887.6055,194377.62517999997,247211.81188999998,248232.387,248232.387,248232.387,248232.387,916450.8518000001,916450.8518000001 +12564000.0,99237.41700000002,108049.506,315504.55752,122488.41231000001,122488.41231000001,122488.41231000001,189451.423,618564.72328,41130.392960000005,338058.9981300001,515137.5209600001,73072.04999999999,73072.04999999999,73072.04999999999,43320.5395,99237.41700000002,99237.41700000002,19439.489939999996,132680.35304999998,197218.69761999996,343986.1005,97626.53138,124162.60199,103603.29599999997,103603.29599999997,103603.29599999997,103603.29599999997,298373.83378,298373.83378 +12567600.0,32951.088,9010.082999999999,26309.442359999997,97209.95163000001,97209.95163000001,97209.95163000001,85337.66500000001,84140.29056,28360.983040000003,72313.88577000001,110192.58784000001,15367.022999999997,15367.022999999997,15367.022999999997,30483.495,32951.088,32951.088,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,27453.588,27453.588,27453.588,27453.588,99072.93792,99072.93792 +12571200.0,47590.401,14801.463,43220.27196,84194.16896,84194.16896,84194.16896,72456.51000000001,89973.01392,36605.248640000005,67817.2089,103340.50880000001,14924.28,14924.28,14924.28,26232.094,47590.401,47590.401,9718.056659999998,27742.9455,41237.6622,71926.155,20413.327800000003,25961.916900000004,34682.742,34682.742,34682.742,34682.742,143088.47233999998,143088.47233999998 +12574800.0,24776.681999999993,6491.192999999999,18954.283559999996,66126.75927,66126.75927,66126.75927,57965.20799999999,55638.6144,21557.816960000004,40626.42444,61906.93248,10446.939,10446.939,10446.939,20705.7725,24776.681999999993,24776.681999999993,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,20572.029,20572.029,20572.029,20572.029,74495.22387999998,74495.22387999998 +12578400.0,14517.137999999999,4302.963,12564.65196,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,38465.5104,15936.305920000003,29727.1527,45298.5184,8792.835,8792.835,8792.835,17829.9695,14517.137999999999,14517.137999999999,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13641.768,13641.768,13641.768,13641.768,43648.194919999994,43648.194919999994 +12582000.0,10500.561,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,26051.527519999996,12337.789440000002,22678.8303,34558.2176,6807.357,6807.357,6807.357,13803.846000000001,10500.561,10500.561,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,31571.686739999997,31571.686739999997 +12585600.0,11453.328000000001,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28975.89,13880.007679999999,25193.333130000003,38389.84096,7658.277,7658.277,7658.277,15529.3285,11453.328000000001,11453.328000000001,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,34436.33952,34436.33952 +12589200.0,18652.148999999998,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47542.441360000004,22619.26976,40848.232529999994,62244.92575999999,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,18652.148999999998,18652.148999999998,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,56080.79465999999,56080.79465999999 +12592800.0,33525.867,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,88601.8228,40097.804800000005,72535.74216000001,110530.65472,22123.911,22123.911,22123.911,44862.503,33525.867,33525.867,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,31275.855,31275.855,31275.855,31275.855,100801.10677999999,100801.10677999999 +12596400.0,53586.165,14332.737,41851.592039999996,144556.86399,144556.86399,144556.86399,127201.42749999999,132093.93799999997,41701.82144,88818.16965,135341.9728,22407.549,22407.549,22407.549,45437.66499999999,53586.165,53586.165,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,48332.952,48332.952,48332.952,48332.952,161115.7361,161115.7361 +12600000.0,94308.306,14443.250999999998,42174.29291999999,130605.08307,130605.08307,130605.08307,112710.12550000001,85784.18632,76466.55488,90380.01294,137721.92448000002,23364.087,23364.087,23364.087,40261.221,94308.306,94308.306,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,55156.935,55156.935,55156.935,55156.935,283553.64003999997,283553.64003999997 +12603600.0,49789.34999999999,8893.26,25968.3192,108642.10544000001,108642.10544000001,108642.10544000001,93388.3895,73515.71288,29816.313600000005,57191.12679,87148.38368,17016.84,17016.84,17016.84,33359.297999999995,49789.34999999999,49789.34999999999,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,25066.134000000002,25066.134000000002,25066.134000000002,25066.134000000002,149699.97899999996,149699.97899999996 +12607200.0,19472.694,11292.891,32975.24172,75023.18098,75023.18098,75023.18098,66015.9325,51971.45648,21077.05152,37111.78317,56551.288640000006,11989.59,11989.59,11989.59,23581.572,19472.694,19472.694,10741.355299999997,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,58547.899959999995,58547.899959999995 +12610800.0,11960.796,13952.369999999999,40740.920399999995,36596.67484,36596.67484,36596.67484,32202.8945,41217.09648,18381.77088,18103.308510000003,27585.993920000004,6477.108,6477.108,6477.108,11503.205,11960.796,11960.796,29268.123689999997,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,35962.12664,35962.12664 +12614400.0,8283.081,16637.864999999998,48582.5658,13062.437080000002,13062.437080000002,13062.437080000002,11271.011499999999,45090.72176,27557.320960000005,8696.400510000001,13251.657920000001,3687.2999999999997,3687.2999999999997,3687.2999999999997,4026.1234999999997,8283.081,8283.081,29335.48774,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,4033.653,4033.653,4033.653,4033.653,24904.46354,24904.46354 +12618000.0,10757.817,16357.136999999999,47762.840039999995,8034.656190000001,8034.656190000001,8034.656190000001,6440.577499999999,42191.94432,32278.392320000003,19146.327690000002,29175.356480000006,9186.213,9186.213,9186.213,2300.6409999999996,10757.817,10757.817,28925.92586,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,3561.468,3561.468,3561.468,3561.468,32345.169779999997,32345.169779999997 +12621600.0,15970.605,16487.718,48144.13656,2578.44675,2578.44675,2578.44675,1610.1435,40780.74919999999,61042.000640000006,21464.66973,32708.068160000003,14852.862,14852.862,14852.862,575.162,15970.605,15970.605,42653.877499999995,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2611.773,2611.773,2611.773,2611.773,48018.28569999999,48018.28569999999 +12625200.0,26199.557999999997,35401.764,103373.15088000002,2776.01676,2776.01676,2776.01676,1610.1435,46017.74,184030.26048,29199.306150000004,44494.18080000001,29064.686999999998,29064.686999999998,29064.686999999998,2471.2905,26199.557999999997,26199.557999999997,68248.44545999999,1719.49635,2555.89334,4457.9535,1265.20966,1609.10893,7955.358,7955.358,7955.358,7955.358,78773.33772,78773.33772 +12628800.0,35937.783,39562.371,115522.12332,5092.04212,5092.04212,5092.04212,3220.2905,58228.14632,247466.62272,35610.05406,54262.93952,39795.495,39795.495,39795.495,4373.04,35937.783,35937.783,71113.95967,2400.6213,3568.3309199999994,6223.833,1766.3830799999998,2246.50734,14931.357000000002,14931.357000000002,14931.357000000002,14931.357000000002,108052.93422,108052.93422 +12632400.0,61610.46,37399.323000000004,109206.02316,19306.08977,19306.08977,19306.08977,13181.3325,262511.84856,216189.27744,53579.58606,81645.08352,34384.224,34384.224,34384.224,28092.042999999998,61610.46,61610.46,118909.18844999999,5118.738300000001,7608.593720000001,13270.803000000002,3766.3802800000008,4790.127940000001,53204.691000000006,53204.691000000006,53204.691000000006,53204.691000000006,185242.1164,185242.1164 +12636000.0,168459.939,59970.654,175114.30968,109376.59392000001,109376.59392000001,109376.59392000001,90168.099,579558.63328,87217.6704,214376.32839,326668.69088,57274.074,57274.074,57274.074,32208.977499999994,168459.939,168459.939,835480.0399399999,34844.41395,51793.425180000006,90337.36950000002,25638.605820000004,32607.488610000004,152873.574,152873.574,152873.574,152873.574,506502.88326,506502.88326 +12639600.0,165533.55,214306.65300000002,625775.4267600001,177236.66851000002,177236.66851000002,177236.66851000002,149743.45400000003,1002881.5044,189594.24896,718935.8883000001,1095521.3536,160423.242,160423.242,160423.242,126652.99850000002,165533.55,165533.55,128583.19993999998,143481.94605,213274.39882,371990.23050000006,105574.37018000001,134270.75939000002,221187.408,221187.408,221187.408,221187.408,497704.20699999994,497704.20699999994 +12643200.0,458214.858,54165.827999999994,158164.21775999997,146502.02688,146502.02688,146502.02688,119472.241,288961.68744,161253.37216,227109.49800000002,346071.61600000004,130213.91399999999,130213.91399999999,130213.91399999999,44344.888000000006,458214.858,458214.858,88434.09146,53685.9657,79799.87988,139185.837,39502.26612,50239.45926,300111.23400000005,300111.23400000005,300111.23400000005,300111.23400000005,1377699.3397199998,1377699.3397199998 +12646800.0,265208.757,113467.79999999999,331325.97599999997,163088.34729,163088.34729,163088.34729,136862.2955,181294.32616,980990.64128,81857.85468000002,124735.77856000002,225495.543,225495.543,225495.543,116224.91649999999,265208.757,265208.757,79667.75102,173761.20809999996,258282.09203999993,450492.02099999995,127853.92595999998,162606.16757999998,64059.816000000006,64059.816000000006,64059.816000000006,64059.816000000006,797394.3293799999,797394.3293799999 +12650400.0,27311.481,9937.716,29018.13072,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,27311.481,27311.481,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24240.357000000004,24240.357000000004,24240.357000000004,24240.357000000004,82116.51954,82116.51954 +12654000.0,37186.704,59518.265999999996,173793.33672,97049.84597,97049.84597,97049.84597,98929.628,67209.20784,33402.51392,47973.77214,73102.89088,16811.583,16811.583,16811.583,30483.495,37186.704,37186.704,11445.71246,30333.528,45088.3552,78642.48,22319.484800000002,28386.1904,21721.517999999996,21721.517999999996,21721.517999999996,21721.517999999996,111808.02335999999,111808.02335999999 +12657600.0,53717.064,21585.402000000002,63029.37384,83026.00977,83026.00977,83026.00977,97207.45999999999,84858.4412,54851.31328,40766.62485,62120.571200000006,38459.406,38459.406,38459.406,30751.829500000003,53717.064,53717.064,9718.056659999998,26375.912549999997,39205.67742,68381.9955,19407.46158,24682.64409,21362.766,21362.766,21362.766,21362.766,161509.30576,161509.30576 +12661200.0,28523.345999999998,9195.876,26851.957919999997,66048.09024,66048.09024,66048.09024,57965.20799999999,39577.388000000006,26850.295039999997,32655.465780000002,49760.709760000005,10904.076000000001,10904.076000000001,10904.076000000001,20705.7725,28523.345999999998,28523.345999999998,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,15049.812000000002,15049.812000000002,15049.812000000002,15049.812000000002,85760.19363999998,85760.19363999998 +12664800.0,42914.676,26469.405,77290.6626,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,115499.18087999999,16726.37888,52182.310529999995,79515.90176,13390.493999999999,13390.493999999999,13390.493999999999,17829.9695,42914.676,42914.676,99007.00056,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,16001.832000000002,16001.832000000002,16001.832000000002,16001.832000000002,129030.12584,129030.12584 +12668400.0,10827.240000000002,4378.7880000000005,12786.060959999999,119577.89426,119577.89426,119577.89426,72196.166,42641.82872,31880.54336,22428.85848,34177.30816,16466.703,16466.703,16466.703,21907.024999999998,10827.240000000002,10827.240000000002,5182.962589999999,14233.4172,21156.832479999997,36901.452,10472.98352,13319.66696,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,32553.9016,32553.9016 +12672000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +12675600.0,140291.74800000002,7523.178,21967.67976,82324.22374000002,82324.22374000002,82324.22374000002,70846.3665,130773.97536,24423.424,111874.27125,170475.08000000002,16634.358,16634.358,16634.358,25307.054500000002,140291.74800000002,140291.74800000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,100380.15299999999,100380.15299999999,100380.15299999999,100380.15299999999,421810.52232000005,421810.52232000005 +12679200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,86128.7288,40097.804800000005,70795.25649,107878.48608,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +12682800.0,58456.416000000005,15030.849000000002,43890.07908,145760.97756000003,145760.97756000003,145760.97756000003,127201.42749999999,135844.3568,48272.17728,97334.02959,148318.52128000002,23716.307999999997,23716.307999999997,23716.307999999997,45437.66499999999,58456.416000000005,58456.416000000005,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,50367.243,50367.243,50367.243,50367.243,175758.95744,175758.95744 +12686400.0,113323.38,42440.667,123926.74763999999,134172.12468,134172.12468,134172.12468,112710.12550000001,188488.93751999998,94134.08640000001,134510.36571,204968.17632000003,40800.756,40800.756,40800.756,43430.03,113323.38,113323.38,15116.978629999998,40483.59345,60175.61298,104957.4645,29787.928020000003,37884.64671,64442.969999999994,64442.969999999994,64442.969999999994,64442.969999999994,340725.62919999997,340725.62919999997 +12690000.0,97793.613,41868.744,122256.73247999999,112997.31883,112997.31883,112997.31883,93388.3895,91564.61248,108278.19520000002,63269.19879,96410.20768,60881.49900000001,60881.49900000001,60881.49900000001,33359.297999999995,97793.613,97793.613,12525.494929999999,34341.092099999994,51045.27763999999,89032.461,25268.260359999997,32136.478779999998,33338.01299999999,33338.01299999999,33338.01299999999,33338.01299999999,294032.79641999997,294032.79641999997 +12693600.0,19428.927,11703.105000000001,34173.0666,75023.18098,75023.18098,75023.18098,66015.9325,55710.48144,29411.9584,37111.78317,56551.288640000006,11827.848000000002,11827.848000000002,11827.848000000002,23581.572,19428.927,19428.927,12667.038799999998,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,58416.307179999996,58416.307179999996 +12697200.0,12257.568,14696.048999999999,42912.46308,36596.67484,36596.67484,36596.67484,32202.8945,43761.08808,25526.188160000005,18103.308510000003,27585.993920000004,6598.836,6598.836,6598.836,11503.205,12257.568,12257.568,34410.39368,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,36854.42112,36854.42112 +12700800.0,9298.038,18244.425000000003,53273.721000000005,13111.000320000001,13111.000320000001,13111.000320000001,11271.011499999999,51136.208000000006,40146.72128,10263.57612,15639.73504,6548.364,6548.364,6548.364,4026.1234999999997,9298.038,9298.038,33941.77943,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,5060.556,5060.556,5060.556,5060.556,27956.100919999997,27956.100919999997 +12704400.0,14662.266,18907.278,55209.25175999999,8191.477360000001,8191.477360000001,8191.477360000001,6440.577499999999,49023.0332,65272.78656000001,24395.66829,37174.35168000001,13451.358,13451.358,13451.358,2300.6409999999996,14662.266,14662.266,34116.25255999999,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,4003.08,4003.08,4003.08,4003.08,44084.54643999999,44084.54643999999 +12708000.0,21086.133,30208.134000000002,88207.75128,2696.2447600000005,2696.2447600000005,2696.2447600000005,1610.1435,47480.940319999994,172834.06592,25405.35081,38712.91552,30543.198000000004,30543.198000000004,30543.198000000004,575.162,21086.133,21086.133,71493.6755,891.05265,1324.4782599999999,2310.1365,655.63874,833.84927,5777.97,5777.97,5777.97,5777.97,63398.97322,63398.97322 +12711600.0,31437.351000000002,42340.497,123634.25124,3240.11072,3240.11072,3240.11072,1610.1435,50441.16624,251247.67296,34925.78796,53220.248320000006,40278.63,40278.63,40278.63,2324.3289999999997,31437.351000000002,31437.351000000002,76421.26076,1917.4603499999998,2850.15094,4971.1935,1410.87206,1794.36413,12513.351,12513.351,12513.351,12513.351,94521.63534,94521.63534 +12715200.0,40713.846000000005,42979.68,125500.6656,5251.05702,5251.05702,5251.05702,3220.2905,64471.877199999995,289125.91424,42589.90155,64898.897600000004,44018.07,44018.07,44018.07,34974.5025,40713.846000000005,40713.846000000005,77607.12778,2506.0671,3725.0676399999998,6497.211,1843.97036,2345.1837800000003,20501.058,20501.058,20501.058,20501.058,122412.96364,122412.96364 +12718800.0,68929.14899999999,40856.801999999996,119301.86184,20173.55329,20173.55329,20173.55329,14514.2795,282246.90216,243765.39904000002,60147.90789,91653.95488,38611.869,38611.869,38611.869,32444.608000000004,68929.14899999999,68929.14899999999,132904.81658999997,8263.55925,12283.117699999999,21424.0425,6080.3473,7733.05915,61755.153,61755.153,61755.153,61755.153,207246.97465999998,207246.97465999998 +12722400.0,181095.504,67921.41,198330.5172,110375.35564000001,110375.35564000001,110375.35564000001,90168.099,671952.6250400001,110410.21824,255290.70294000002,389014.40448,72013.923,72013.923,72013.923,32208.977499999994,181095.504,181095.504,755134.0981599999,35569.590749999996,52871.3423,92217.4575,26172.1927,33286.11085,166595.31900000002,166595.31900000002,166595.31900000002,166595.31900000002,544493.81536,544493.81536 +12726000.0,173923.515,221424.34499999997,646559.0874,177912.99262000003,177912.99262000003,177912.99262000003,149743.45400000003,1106254.15304,236503.5104,766702.15398,1168308.04416,213399.86700000003,213399.86700000003,213399.86700000003,146219.77300000002,173923.515,173923.515,131876.16922999997,156167.7246,232130.79064,404879.286,114908.59736,146142.14228,231040.962,231040.962,231040.962,231040.962,522930.03510000004,522930.03510000004 +12729600.0,563397.591,76869.03,224457.5676,150344.96565,150344.96565,150344.96565,121914.772,426103.87328,255427.29024000003,310201.77027000004,472688.4118400001,218879.886,218879.886,218879.886,61107.501000000004,563397.591,563397.591,116448.10866,73086.19875,108636.76949999998,189482.7375,53777.00549999999,68394.24524999999,446655.43499999994,446655.43499999994,446655.43499999994,446655.43499999994,1693948.75694,1693948.75694 +12733200.0,319426.539,123500.949,360622.77108,165995.29188000003,165995.29188000003,165995.29188000003,136862.2955,223479.47856,1316683.3472000002,90054.19562999999,137225.44096,311304.75600000005,311304.75600000005,311304.75600000005,191134.909,319426.539,319426.539,101888.30118999998,238690.5894,354794.40696,618827.454,175629.12504,223367.24292000002,81515.35800000001,81515.35800000001,81515.35800000001,81515.35800000001,960409.1272599999,960409.1272599999 +12736800.0,51682.929000000004,15672.186,45762.78312,112265.91134000002,112265.91134000002,112265.91134000002,98218.8235,67950.16368,65488.10176000001,56066.181150000004,85434.1808,26822.900999999998,26822.900999999998,26822.900999999998,35084.777,51682.929000000004,51682.929000000004,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,26140.707,26140.707,26140.707,26140.707,155393.33986,155393.33986 +12740400.0,72869.676,121851.843,355807.38155999995,101836.53227,101836.53227,101836.53227,117182.26450000002,127633.63215999998,128557.13344000002,57605.386230000004,87779.63616000001,42331.458,42331.458,42331.458,108870.65,72869.676,72869.676,31149.093429999997,35400.292649999996,52619.69426,91778.5365,26047.62274,33127.68127,29080.545,29080.545,29080.545,29080.545,219094.82583999998,219094.82583999998 +12744000.0,118112.421,42806.019,124993.57548,89186.98855000001,89186.98855000001,89186.98855000001,135187.619,167014.948,189456.67136000004,77214.795,117660.64,78341.181,78341.181,78341.181,62301.90400000001,118112.421,118112.421,84522.80629,58625.78715,87142.52806,151992.7815,43136.998940000005,54862.156370000004,54230.109000000004,54230.109000000004,54230.109000000004,54230.109000000004,355124.67913999996,355124.67913999996 +12747600.0,52094.975999999995,17174.688,50150.088959999994,67182.95683,67182.95683,67182.95683,58058.455,62316.08792,73537.56096000002,40216.87425,61282.85600000001,28875.429,28875.429,28875.429,20705.7725,52094.975999999995,52094.975999999995,31854.561700000002,24207.344099999995,35982.274439999994,62759.780999999995,17811.823559999997,22653.29238,21500.952,21500.952,21500.952,21500.952,156632.22783999998,156632.22783999998 +12751200.0,72604.962,52876.157999999996,154398.38135999997,56843.46371,56843.46371,56843.46371,55967.9995,172689.47744000002,21401.406080000004,111609.44717999999,170071.53856,29110.776,29110.776,29110.776,17829.9695,72604.962,72604.962,181446.69685999997,17983.907549999996,26731.635419999995,46624.945499999994,13232.603579999999,16829.38509,18148.572,18148.572,18148.572,18148.572,218298.91907999996,218298.91907999996 +12754800.0,11282.286,14004.123,40892.03916,106371.17975000001,106371.17975000001,106371.17975000001,91837.046,62433.641279999996,27994.000640000002,24590.53947,37471.298240000004,23279.949,23279.949,23279.949,93789.8745,11282.286,11282.286,24230.57221,31668.995249999996,47073.42009999999,82104.80249999999,23302.1249,29635.923949999997,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,33922.07324,33922.07324 +12758400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +12762000.0,163155.924,6065.292,17710.65264,82618.16321,82618.16321,82618.16321,70846.3665,129624.87944,22619.26976,113781.52233,173381.36736,20936.082,20936.082,20936.082,25307.054500000002,163155.924,163155.924,9502.102089999998,25395.516900000002,37748.39796,65840.229,18686.08404,23765.187420000002,102135.546,102135.546,102135.546,102135.546,490555.47815999994,490555.47815999994 +12765600.0,32043.957,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,87404.45344,40097.804800000005,71391.17223,108786.54815999999,22123.911,22123.911,22123.911,44862.503,32043.957,32043.957,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,96345.49737999999,96345.49737999999 +12769200.0,74536.27200000001,18236.334000000003,53250.09528,146497.48883000002,146497.48883000002,146497.48883000002,127201.42749999999,156592.7672,56802.358400000005,107592.15747,163949.95424000002,28423.344,28423.344,28423.344,45844.8445,74536.27200000001,74536.27200000001,17060.589,45519.0354,67660.39336,118012.314,33493.01864,42596.82572,58290.384000000005,58290.384000000005,58290.384000000005,58290.384000000005,224105.72448,224105.72448 +12772800.0,121406.418,61977.654,180974.74968,136060.43374,136060.43374,136060.43374,112710.12550000001,220885.57248,92689.76640000001,154651.85210999998,235659.96511999998,78395.997,78395.997,78395.997,47771.0135,121406.418,121406.418,15116.978629999998,41294.954249999995,61381.63569999999,107060.9925,30384.9293,38643.92015,79222.662,79222.662,79222.662,79222.662,365028.63012000005,365028.63012000005 +12776400.0,109476.717,49571.841,144749.77572,115999.71713000002,115999.71713000002,115999.71713000002,93388.3895,107156.39048,139474.34304,81726.02466000001,124534.89472000001,76459.923,76459.923,76459.923,33359.297999999995,109476.717,109476.717,12525.494929999999,34589.600099999996,51414.66484,89676.741,25451.11316,32369.03318,37159.136999999995,37159.136999999995,37159.136999999995,37159.136999999995,329159.99578,329159.99578 +12780000.0,20678.718,16314.851999999999,47639.36784,75023.18098,75023.18098,75023.18098,66015.9325,65264.31848,40262.8,37111.78317,56551.288640000006,12257.508,12257.508,12257.508,23581.572,20678.718,20678.718,34469.840469999996,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,62174.01212,62174.01212 +12783600.0,17819.505,22321.224000000002,65177.97408,37597.491910000004,37597.491910000004,37597.491910000004,32202.8945,75707.65759999999,61173.22432,24623.06952,37520.867840000006,11677.785,11677.785,11677.785,11503.205,17819.505,17819.505,46730.97779999999,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,10989.455999999998,10989.455999999998,10989.455999999998,10989.455999999998,53577.3117,53577.3117 +12787200.0,24694.199999999997,24791.409,72390.91428,14247.97924,14247.97924,14247.97924,11271.011499999999,67240.69712000001,167748.4384,36807.48351,56087.59392,32329.091999999997,32329.091999999997,32329.091999999997,4026.1234999999997,24694.199999999997,24694.199999999997,61939.668699999995,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,8806.014000000001,8806.014000000001,8806.014000000001,8806.014000000001,74247.22799999999,74247.22799999999 +12790800.0,40728.149999999994,60074.133,175416.46836,9780.649560000002,9780.649560000002,9780.649560000002,6440.577499999999,72963.40655999999,362380.47552000004,46801.60842,71316.73664,57611.558999999994,57611.558999999994,57611.558999999994,10414.39,40728.149999999994,40728.149999999994,111577.94517999998,3557.96955,5288.636219999999,9224.3655,2617.96278,3329.55669,15184.854000000001,15184.854000000001,15184.854000000001,15184.854000000001,122455.97099999999,122455.97099999999 +12794400.0,58889.505000000005,63536.364,185526.18288,4422.160820000001,4422.160820000001,4422.160820000001,2110.8045,97206.216,456750.81024,64111.55562,97693.79904,68676.02399999999,68676.02399999999,68676.02399999999,59556.3535,58889.505000000005,58889.505000000005,115965.91097000001,2613.1409999999996,3884.224399999999,6774.8099999999995,1922.7555999999997,2445.3837999999996,32363.811,32363.811,32363.811,32363.811,177061.1117,177061.1117 +12798000.0,76674.558,67583.838,197344.80696,4476.04762,4476.04762,4476.04762,8943.228,110170.25096,462844.4371200001,79916.84673,121778.05216,83859.051,83859.051,83859.051,63495.960499999994,76674.558,76674.558,117459.40634999999,25319.0934,37634.80056,65642.09400000001,18629.851440000002,23693.670120000002,53130.042,53130.042,53130.042,53130.042,230534.83772,230534.83772 +12801600.0,82020.069,76353.369,222951.83748,6329.4605,6329.4605,6329.4605,10583.23,118225.45056,463396.80383999995,94553.98785,144082.2672,97077.48599999999,97077.48599999999,97077.48599999999,68664.1305,82020.069,82020.069,155955.16390999997,33246.328499999996,49417.99939999999,86194.185,24462.7306,31111.9963,62909.74800000001,62909.74800000001,62909.74800000001,62909.74800000001,246607.00746,246607.00746 +12805200.0,99609.285,78250.161,228490.47011999998,26278.337580000003,26278.337580000003,26278.337580000003,16593.0695,452142.19655999995,346991.79264000006,128422.70616,195691.74272,93863.61000000002,93863.61000000002,93863.61000000002,52817.0195,99609.285,99609.285,248018.70339999997,33619.21605,49972.266820000004,87160.93050000002,24737.10218,31460.945390000004,102365.124,102365.124,102365.124,102365.124,299491.9169,299491.9169 +12808800.0,273940.836,94675.63200000001,276452.84544,116588.3653,116588.3653,116588.3653,99368.262,1069656.77688,205233.97696000003,457997.97834,697901.68128,137907.912,137907.912,137907.912,38455.3715,273940.836,273940.836,917938.12968,58888.65239999999,87533.25615999999,152674.28399999999,43330.41584,55108.14632,266368.863,266368.863,266368.863,266368.863,823648.78024,823648.78024 +12812400.0,192013.72499999998,225067.30199999997,657196.52184,178946.58133000004,178946.58133000004,178946.58133000004,149743.45400000003,1221795.52792,285744.16000000003,795822.9146699999,1212682.5366399998,265939.05299999996,265939.05299999996,265939.05299999996,143078.446,192013.72499999998,192013.72499999998,149126.41653,159764.724,237477.4416,414204.84,117555.27840000001,149508.2232,245215.52999999997,245215.52999999997,245215.52999999997,245215.52999999997,577321.2664999999,577321.2664999999 +12816000.0,456959.4929999999,53253.28199999999,155499.58343999996,151576.96686000002,151576.96686000002,151576.96686000002,119747.81699999998,368793.58807999996,198151.92384,246621.53397,375804.24224,168098.799,168098.799,168098.799,41579.761999999995,456959.4929999999,456959.4929999999,95692.89613,55325.4705,82236.8722,143436.405,40708.6178,51773.7119,310405.86899999995,310405.86899999995,310405.86899999995,310405.86899999995,1373924.8756199998,1373924.8756199998 +12819600.0,208463.673,60439.719,176483.97948,163420.21508999998,163420.21508999998,163420.21508999998,136862.2955,148986.85632,790082.6105600001,77154.55041,117568.83871999999,197366.29499999998,197366.29499999998,197366.29499999998,78034.838,208463.673,208463.673,51702.4495,92976.2631,138201.75403999997,241049.571,68412.16395999999,87007.41657999999,50145.537,50145.537,50145.537,50145.537,626780.77682,626780.77682 +12823200.0,25179.504,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,25179.504,25179.504,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,75706.37535999999,75706.37535999999 +12826800.0,23370.891,13503.015,39428.8038,96981.18507,96981.18507,96981.18507,85337.66500000001,60568.73656,27245.94624,47973.77214,73102.89088,16121.369999999999,16121.369999999999,16121.369999999999,30483.495,23370.891,23370.891,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,70268.47893999999,70268.47893999999 +12830400.0,23231.415,9896.781,28898.60052,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,67001.87031999999,23133.34976,40732.447770000006,62068.49184000001,25345.053,25345.053,25345.053,25882.213000000003,23231.415,23231.415,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,69849.1211,69849.1211 +12834000.0,14725.503,5831.679,17028.50268,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14725.503,14725.503,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,44274.67902,44274.67902 +12837600.0,15075.159,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,54081.477679999996,15936.305920000003,29455.23336,44884.16512,8792.835,8792.835,8792.835,17829.9695,15075.159,15075.159,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13402.74,13402.74,13402.74,13402.74,45325.978059999994,45325.978059999994 +12841200.0,9810.213,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9810.213,9810.213,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29496.040419999998,29496.040419999998 +12844800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +12848400.0,76881.64199999999,5873.043000000001,17149.28556,81441.4326,81441.4326,81441.4326,70846.3665,71334.04656,22619.26976,65622.94956,99996.87552,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,76881.64199999999,76881.64199999999,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,60379.46400000001,60379.46400000001,60379.46400000001,60379.46400000001,231157.47027999998,231157.47027999998 +12852000.0,31827.243000000002,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,71183.75754,108470.48768,22123.911,22123.911,22123.911,44862.503,31827.243000000002,31827.243000000002,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,95693.91062,95693.91062 +12855600.0,57955.274999999994,10544.784,30790.769279999997,145221.06357000003,145221.06357000003,145221.06357000003,127201.42749999999,93635.49984,40611.8848,86446.48509,131727.97728000002,22407.549,22407.549,22407.549,45437.66499999999,57955.274999999994,57955.274999999994,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,47181.386999999995,47181.386999999995,47181.386999999995,47181.386999999995,174252.1935,174252.1935 +12859200.0,89934.58499999999,9881.664,28854.45888,131787.46691000002,131787.46691000002,131787.46691000002,112710.12550000001,126997.59192,35985.208320000005,85495.87347,130279.42624000002,21366.300000000003,21366.300000000003,21366.300000000003,40261.221,89934.58499999999,89934.58499999999,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,56119.481999999996,56119.481999999996,56119.481999999996,56119.481999999996,270403.3189,270403.3189 +12862800.0,73276.467,13271.544,38752.90848,111920.97070000002,111920.97070000002,111920.97070000002,93388.3895,72834.67544,64001.14304000001,54731.879160000004,83400.95872000001,18905.358,18905.358,18905.358,33359.297999999995,73276.467,73276.467,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,29244.432,29244.432,29244.432,29244.432,220317.91078,220317.91078 +12866400.0,17304.147,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17304.147,17304.147,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,52027.80198,52027.80198 +12870000.0,8836.125,2976.7889999999998,8692.22388,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8836.125,8836.125,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26567.282499999998,26567.282499999998 +12873600.0,5458.941,5894.298000000001,17211.35016,12808.83538,12808.83538,12808.83538,11271.011499999999,13154.518240000001,6331.86624,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,5458.941,5458.941,3464.5275599999995,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,16413.21594,16413.21594 +12877200.0,4803.1230000000005,9110.97,26604.032399999996,7344.705720000001,7344.705720000001,7344.705720000001,6440.577499999999,19690.41848,13483.812480000002,3620.65977,5517.19584,1624.3980000000001,1624.3980000000001,1624.3980000000001,2300.6409999999996,4803.1230000000005,4803.1230000000005,19481.322509999998,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,14441.38982,14441.38982 +12880800.0,4919.039999999999,14894.235,43491.1662,2682.8463200000006,2682.8463200000006,2682.8463200000006,1610.1435,32130.75144,25654.757120000002,905.16615,1379.3008,1156.752,1156.752,1156.752,575.162,4919.039999999999,4919.039999999999,28654.372499999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,1445.241,1445.241,1445.241,1445.241,14789.913599999998,14789.913599999998 +12884400.0,8738.349,17008.245,49664.0754,2693.8923000000004,2693.8923000000004,2693.8923000000004,1610.1435,41617.77888,33098.61376,8853.520410000001,13491.078720000001,4677.222,4677.222,4677.222,575.162,8738.349,8738.349,30120.45569,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2535.036,2535.036,2535.036,2535.036,26273.302659999998,26273.302659999998 +12888000.0,14593.689,16743.21,48890.1732,4709.01849,4709.01849,4709.01849,3220.2905,41605.9704,41061.07648,20536.759110000003,31294.109120000005,9655.244999999999,9655.244999999999,9655.244999999999,1150.3204999999998,14593.689,14593.689,29526.81511,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2861.277,2861.277,2861.277,2861.277,43878.35826,43878.35826 +12891600.0,36226.932,15543.954000000002,45388.34568,18012.444340000002,18012.444340000002,18012.444340000002,11271.011499999999,162417.9044,89570.44864000002,24485.868540000003,37311.799680000004,15756.18,15756.18,15756.18,4026.1234999999997,36226.932,36226.932,88750.68084999999,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,25676.685,25676.685,25676.685,25676.685,108922.30888,108922.30888 +12895200.0,117790.55399999999,34574.943,100958.83356,108799.32547000001,108799.32547000001,108799.32547000001,90168.099,349840.82583999995,44162.877440000004,97999.96583999999,149333.28128,21345.699,21345.699,21345.699,32208.977499999994,117790.55399999999,117790.55399999999,521667.54470999993,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,88235.196,88235.196,88235.196,88235.196,354156.93236,354156.93236 +12898800.0,124137.27900000001,178491.55800000002,521195.34936,175812.83192000003,175812.83192000003,175812.83192000003,149743.45400000003,717858.79768,81236.72768000001,504788.23143,769201.11456,80770.761,80770.761,80770.761,53489.9085,124137.27900000001,124137.27900000001,74269.93053999999,100302.84675,149092.1327,260044.4175,73803.08230000001,93863.65165000001,171070.347,171070.347,171070.347,171070.347,373239.41886,373239.41886 +12902400.0,371431.851,38070.075000000004,111164.619,148041.66311000002,148041.66311000002,148041.66311000002,117699.49450000002,239020.62960000001,151466.75776,182373.96071999997,277903.17824,89369.229,89369.229,89369.229,41411.5415,371431.851,371431.851,62640.04798999999,44745.2667,66510.24828,116006.247,32923.67772,41872.73106,217378.566,217378.566,217378.566,217378.566,1116771.76534,1116771.76534 +12906000.0,240954.68700000003,81054.606,236679.44952,163461.18371,163461.18371,163461.18371,136862.2955,164022.95248,840049.98976,79249.11855000001,120760.56160000002,202680.59999999998,202680.59999999998,202680.59999999998,81797.88399999999,240954.68700000003,240954.68700000003,64433.28332999999,135669.21659999999,201661.40344,351735.006,99825.74456,126959.58788,58525.75800000001,58525.75800000001,58525.75800000001,58525.75800000001,724470.42558,724470.42558 +12909600.0,35082.588,11760.489,34340.62788,111774.87398000002,111774.87398000002,111774.87398000002,98218.8235,65301.09296000001,36993.7952,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,35082.588,35082.588,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24538.301999999996,24538.301999999996,24538.301999999996,24538.301999999996,105481.64791999999,105481.64791999999 +12913200.0,45657.681000000004,66807.984,195079.31328,99053.75931000002,99053.75931000002,99053.75931000002,98953.0535,72362.62240000001,40047.16928,48072.5553,73253.4176,17322.378,17322.378,17322.378,30483.495,45657.681000000004,45657.681000000004,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,21947.127,21947.127,21947.127,21947.127,137277.42754,137277.42754 +12916800.0,66246.801,25136.004,73397.13167999999,85803.84175,85803.84175,85803.84175,74908.6835,92505.75768,104203.47200000001,42705.68148,65075.32416,54244.901999999995,54244.901999999995,54244.901999999995,28189.951999999997,66246.801,66246.801,10628.180809999998,26426.76435,39281.26454,68513.83350000001,19444.87846,24730.231330000002,23586.176999999996,23586.176999999996,23586.176999999996,23586.176999999996,199182.04833999998,199182.04833999998 +12920400.0,25840.788,8718.609,25458.33828,66065.7459,66065.7459,66065.7459,57965.20799999999,39403.78816,25097.200640000003,32589.69084,49660.48128,10739.034000000001,10739.034000000001,10739.034000000001,20705.7725,25840.788,25840.788,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14711.391,14711.391,14711.391,14711.391,77694.63591999999,77694.63591999999 +12924000.0,43263.278999999995,16765.053,48953.95475999999,56724.84356000001,56724.84356000001,56724.84356000001,52109.2215,101993.58519999999,15936.305920000003,54890.95521000001,83643.36032,13500.336,13500.336,13500.336,17829.9695,43263.278999999995,43263.278999999995,55637.58746,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,15808.932,15808.932,15808.932,15808.932,130078.25885999999,130078.25885999999 +12927600.0,10506.494999999999,3203.478,9354.15576,48226.15853,48226.15853,48226.15853,66494.96,38544.91104,21067.662080000002,21962.710349999998,33466.987199999996,13582.883999999998,13582.883999999998,13582.883999999998,13803.846000000001,10506.494999999999,10506.494999999999,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,31589.528299999998,31589.528299999998 +12931200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +12934800.0,156401.082,8229.216,24029.31072,84269.01626,84269.01626,84269.01626,70846.3665,128191.70839999999,26749.230720000003,129952.98057,198023.58944,17685.753,17685.753,17685.753,25307.054500000002,156401.082,156401.082,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,108759.924,108759.924,108759.924,108759.924,470245.91988,470245.91988 +12938400.0,34809.666,10783.548,31487.96016,142727.02862,142727.02862,142727.02862,125591.28399999999,95096.62112000001,40097.804800000005,73712.34948,112323.58016,22123.911,22123.911,22123.911,44862.503,34809.666,34809.666,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,33984.072,33984.072,33984.072,33984.072,104661.06244,104661.06244 +12942000.0,74840.538,22480.299,65642.47308,148139.08670000004,148139.08670000004,148139.08670000004,127201.42749999999,153710.76223999998,60685.94176000001,117630.54933000001,179246.55136,29855.25,29855.25,29855.25,46509.554,74840.538,74840.538,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,57298.59,57298.59,57298.59,57298.59,225020.55092,225020.55092 +12945600.0,100819.59300000001,46933.16099999999,137044.83012,134011.39224,134011.39224,134011.39224,112710.12550000001,172733.43512,85063.70240000001,129252.23934,196955.79328,41784.528000000006,41784.528000000006,41784.528000000006,45940.9825,100819.59300000001,100819.59300000001,15116.978629999998,40712.750550000004,60516.23662,105551.5755,29956.542380000003,38099.09249,63319.56899999999,63319.56899999999,63319.56899999999,63319.56899999999,303130.90962,303130.90962 +12949200.0,78883.842,31491.858,91956.22536,111518.88726000002,111518.88726000002,111518.88726000002,93388.3895,88570.12911999998,89184.30656000003,60691.94943000001,92482.97056000002,43980.411,43980.411,43980.411,33359.297999999995,78883.842,78883.842,12525.494929999999,33942.900149999994,50453.39726,88000.1115,24975.26974,31763.84977,30626.79,30626.79,30626.79,30626.79,237177.41828,237177.41828 +12952800.0,18635.457000000002,8489.661,24789.810120000002,75023.18098,75023.18098,75023.18098,66015.9325,44207.147280000005,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,18635.457000000002,18635.457000000002,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,56030.60738,56030.60738 +12956400.0,10525.461,7277.439,21250.12188,36596.67484,36596.67484,36596.67484,32202.8945,28951.18096,10281.4912,18103.308510000003,27585.993920000004,6100.503,6100.503,6100.503,11503.205,10525.461,10525.461,6189.5176200000005,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,31646.552739999996,31646.552739999996 +12960000.0,6024.807,9589.431,28001.138519999997,12808.83538,12808.83538,12808.83538,11271.011499999999,19593.678880000003,5305.816960000001,6336.15822,9655.098240000001,2624.799,2624.799,2624.799,4026.1234999999997,6024.807,6024.807,19597.205029999997,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,18114.58638,18114.58638 +12963600.0,5186.013,12830.844000000001,37466.06448,7399.972250000001,7399.972250000001,7399.972250000001,6440.577499999999,32008.62536,9759.54496,3620.65977,5517.19584,1811.2379999999998,1811.2379999999998,1811.2379999999998,2300.6409999999996,5186.013,5186.013,21665.596419999998,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,15592.61242,15592.61242 +12967200.0,6122.886,12811.332000000002,37409.08944,2356.86781,2356.86781,2356.86781,1610.1435,30473.394479999995,21667.31328,6831.94806,10410.587520000001,2740.314,2740.314,2740.314,575.162,6122.886,6122.886,21935.240209999996,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,1831.6679999999997,1831.6679999999997,1831.6679999999997,1831.6679999999997,18409.47724,18409.47724 +12970800.0,7844.741999999999,13201.635,38548.7742,2378.03588,2378.03588,2378.03588,1610.1435,31532.828879999997,22959.313280000006,13387.620120000001,20400.183040000004,6144.731999999999,6144.731999999999,6144.731999999999,575.162,7844.741999999999,7844.741999999999,22741.016219999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,1904.1750000000002,1904.1750000000002,1904.1750000000002,1904.1750000000002,23586.524279999998,23586.524279999998 +12974400.0,11925.282,13692.420000000002,39981.8664,4227.8753,4227.8753,4227.8753,3220.2905,33583.790160000004,24593.92448,16479.08094,25110.980480000002,9857.619,9857.619,9857.619,1150.3204999999998,11925.282,11925.282,23705.28654,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2363.418,2363.418,2363.418,2363.418,35855.34788,35855.34788 +12978000.0,31499.04,12640.788,36911.10096,14795.61402,14795.61402,14795.61402,11271.011499999999,157095.38096,38242.69952,21809.299890000002,33233.21888000001,13116.468,13116.468,13116.468,4026.1234999999997,31499.04,31499.04,67807.07505,4171.7916,6201.033439999999,10815.756,3069.6145599999995,3903.97288,23195.331,23195.331,23195.331,23195.331,94707.1136,94707.1136 +12981600.0,89480.538,31311.543,91429.70556,105782.35657,105782.35657,105782.35657,90168.099,300061.32576,32706.487680000006,88117.03236,134273.57312,18653.913,18653.913,18653.913,32208.977499999994,89480.538,89480.538,477380.70107,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,79466.886,79466.886,79466.886,79466.886,269038.15092,269038.15092 +12985200.0,100619.41199999998,146380.002,427429.60584000003,172557.80872,172557.80872,172557.80872,149743.45400000003,538510.96104,47808.917760000004,404326.15377,616116.0438399999,60982.356,60982.356,60982.356,53489.9085,100619.41199999998,100619.41199999998,58030.47107,93350.10644999999,138757.44217999998,242018.7945,68687.23882,87357.26011,135028.674,135028.674,135028.674,135028.674,302529.03208,302529.03208 +12988800.0,246286.137,14013.047999999999,40918.100159999995,138772.89745,138772.89745,138772.89745,115930.41599999998,151317.72879999998,85035.09888,132063.18342000002,201239.13664,56662.404,56662.404,56662.404,41411.5415,246286.137,246286.137,36366.38499,42460.04205,63113.445219999994,110081.59049999999,31242.203779999996,39734.21219,93701.931,93701.931,93701.931,93701.931,740500.31858,740500.31858 +12992400.0,153830.328,50698.779,148040.43468,158936.57692000002,158936.57692000002,158936.57692000002,136862.2955,112192.43272,409196.4736,76939.06479,117240.47968,96101.78700000001,96101.78700000001,96101.78700000001,48888.6265,153830.328,153830.328,40639.08394,59925.424049999994,89074.33402,155362.2105,44093.27498,56078.35979,41178.87,41178.87,41178.87,41178.87,462516.51952000003,462516.51952000003 +12996000.0,24670.322999999997,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24670.322999999997,24670.322999999997,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74175.43781999999,74175.43781999999 +12999600.0,23258.493000000002,7933.167,23164.84764,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15748.665,15748.665,15748.665,30483.495,23258.493000000002,23258.493000000002,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,69930.53562,69930.53562 +13003200.0,25236.108,9405.897,27465.21924,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,65823.93648,25222.36416,40732.447770000006,62068.49184000001,23997.693000000003,23997.693000000003,23997.693000000003,25882.213000000003,25236.108,25236.108,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,75876.56472,75876.56472 +13006800.0,18358.847999999998,6630.189,19360.15188,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38830.5396,19850.6144,32585.957250000003,49654.79200000001,10367.556,10367.556,10367.556,20705.7725,18358.847999999998,18358.847999999998,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,55198.93632,55198.93632 +13010400.0,19874.289,4785.965999999999,13975.020719999999,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,57345.09744,15936.305920000003,34391.07798,52405.45216,9044.157,9044.157,9044.157,17829.9695,19874.289,19874.289,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,14990.715000000002,14990.715000000002,14990.715000000002,14990.715000000002,59755.362259999994,59755.362259999994 +13014000.0,9712.850999999999,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,16770.25792,21723.97311,33103.19712,8658.923999999999,8658.923999999999,8658.923999999999,13803.846000000001,9712.850999999999,9712.850999999999,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29203.305339999995,29203.305339999995 +13017600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +13021200.0,74810.42099999999,5873.043000000001,17149.28556,80557.19254000002,80557.19254000002,80557.19254000002,70846.3665,80498.24464,22619.26976,80295.54771,122355.12032,12493.593,12493.593,12493.593,25307.054500000002,74810.42099999999,74810.42099999999,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,77039.817,77039.817,77039.817,77039.817,224929.99913999997,224929.99913999997 +13024800.0,33230.90700000001,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,87515.22072,40097.804800000005,72467.81787,110427.15104000001,22123.911,22123.911,22123.911,44862.503,33230.90700000001,33230.90700000001,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,32684.334000000003,32684.334000000003,32684.334000000003,32684.334000000003,99914.26038,99914.26038 +13028400.0,60981.552,12953.61,37824.5412,145039.87531,145039.87531,145039.87531,127201.42749999999,127195.67304,40611.8848,98722.29717,150433.97664,22997.106,22997.106,22997.106,45437.66499999999,60981.552,60981.552,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,52458.19499999999,52458.19499999999,52458.19499999999,52458.19499999999,183351.19968,183351.19968 +13032000.0,91551.516,21239.568,62019.53855999999,130544.30169,130544.30169,130544.30169,112710.12550000001,159289.358,72480.5472,117723.50751000001,179388.20192000002,25996.053,25996.053,25996.053,40261.221,91551.516,91551.516,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,56580.13799999999,56580.13799999999,56580.13799999999,56580.13799999999,275264.89144,275264.89144 +13035600.0,74784.486,26663.076,77856.18192,109050.82298,109050.82298,109050.82298,93388.3895,78446.45408,78389.19232,55827.54051,85070.53792,25291.044,25291.044,25291.044,33359.297999999995,74784.486,74784.486,12525.494929999999,33228.860850000005,49392.03514,86148.89850000001,24449.877860000004,31095.650030000004,28648.970999999998,28648.970999999998,28648.970999999998,28648.970999999998,224852.02124,224852.02124 +13039200.0,17262.444,6438.6720000000005,18800.92224,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17262.444,17262.444,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51902.41496,51902.41496 +13042800.0,10775.097,8123.406000000001,23720.34552,36596.67484,36596.67484,36596.67484,32202.8945,28229.683999999997,10281.4912,18103.308510000003,27585.993920000004,5877.8460000000005,5877.8460000000005,5877.8460000000005,11503.205,10775.097,10775.097,5034.011319999999,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,32397.12498,32397.12498 +13046400.0,6015.9929999999995,10818.822,31590.960239999997,12808.83538,12808.83538,12808.83538,11271.011499999999,23880.77032,12668.117120000003,6336.15822,9655.098240000001,2781.855,2781.855,2781.855,4026.1234999999997,6015.9929999999995,6015.9929999999995,24598.614169999997,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,18088.085619999998,18088.085619999998 +13050000.0,5820.849,15323.838,44745.60696,7319.33334,7319.33334,7319.33334,6440.577499999999,36242.088079999994,22043.021440000004,3620.65977,5517.19584,1996.308,1996.308,1996.308,2300.6409999999996,5820.849,5820.849,27113.864179999997,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,2379.0029999999997,2379.0029999999997,2379.0029999999997,2379.0029999999997,17501.352659999997,17501.352659999997 +13053600.0,7810.221,16500.423,48181.23516,1925.24431,1925.24431,1925.24431,1610.1435,40555.37776,33237.551360000005,10162.43592,15485.61664,7882.289999999999,7882.289999999999,7882.289999999999,575.162,7810.221,7810.221,29661.461439999995,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2490.996,2490.996,2490.996,2490.996,23482.731139999996,23482.731139999996 +13057200.0,11459.394,17168.175,50131.070999999996,2575.4186700000005,2575.4186700000005,2575.4186700000005,1610.1435,42340.02336,54819.50016,20475.55335,31200.8432,13884.681000000002,13884.681000000002,13884.681000000002,575.162,11459.394,11459.394,36637.49583,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2606.118,2606.118,2606.118,2606.118,34454.57796,34454.57796 +13060800.0,21855.726000000002,31560.021,92155.26131999999,4422.156750000001,4422.156750000001,4422.156750000001,3220.2905,45569.274719999994,148733.17952,25496.10651,38851.20992,26155.821,26155.821,26155.821,1150.3204999999998,21855.726000000002,21855.726000000002,70177.73645999999,1737.34875,2582.4294999999997,4504.2375,1278.3455000000001,1625.81525,5568.363,5568.363,5568.363,5568.363,65712.88284,65712.88284 +13064400.0,22210.965000000004,28478.979,83158.61868,13353.572320000001,13353.572320000001,13353.572320000001,11271.011499999999,42217.05048,147005.68576,28166.434800000003,42920.2816,25978.662,25978.662,25978.662,5545.473499999999,22210.965000000004,22210.965000000004,50911.55563,4840.7868,7195.44112,12550.188,3561.86288,4530.020240000001,9018.024000000001,9018.024000000001,9018.024000000001,9018.024000000001,66780.9681,66780.9681 +13068000.0,279772.776,11952.057,34900.006440000005,106901.7246,106901.7246,106901.7246,105812.25200000001,270708.94264,44583.23712,179964.35583000001,274231.39936000004,74734.37100000001,74734.37100000001,74734.37100000001,122257.84549999998,279772.776,279772.776,70311.72863,40105.129049999996,59613.056019999996,103976.2605,29509.452980000002,37530.47879,146483.358,146483.358,146483.358,146483.358,841183.47984,841183.47984 +13071600.0,397363.218,267567.654,781297.5496799999,195742.10381,195742.10381,195742.10381,213280.63050000003,425890.54392,364679.18016000005,221738.38827000002,337887.06784000003,187336.905,187336.905,187336.905,59919.688500000004,397363.218,397363.218,45569.86785,65138.97285,96823.85594,168878.8185,47929.41706,60957.21163,238418.34000000003,238418.34000000003,238418.34000000003,238418.34000000003,1194738.7421199998,1194738.7421199998 +13075200.0,288620.208,111767.98199999999,326362.50743999996,138408.897,138408.897,138408.897,149476.84149999998,290218.81752000004,375086.66176000005,339866.34066000005,517891.56672000006,184151.337,184151.337,184151.337,54304.327000000005,288620.208,288620.208,94129.30942999998,41505.509699999995,61694.60947999999,107606.877,30539.856519999998,38840.95846,176899.929,176899.929,176899.929,176899.929,867784.75872,867784.75872 +13078800.0,187636.63199999998,43979.823,128421.08315999998,161399.98105,161399.98105,161399.98105,168391.39800000002,234872.23816,489520.97856,168865.494,257318.84800000003,218235.054,218235.054,218235.054,106487.507,187636.63199999998,187636.63199999998,30656.381079999996,94016.5704,139748.08736,243746.66400000002,69177.62464000001,87980.93872,121644.24,121644.24,121644.24,121644.24,564160.8068799999,564160.8068799999 +13082400.0,54721.433999999994,65983.989,192673.24788,114476.05158000001,114476.05158000001,114476.05158000001,98218.8235,399796.0865600001,31358.54272,197391.54162000003,300787.11104000005,30124.592999999997,30124.592999999997,30124.592999999997,35716.947,54721.433999999994,54721.433999999994,13173.368259999997,56157.27569999999,83473.28387999999,145592.93699999998,41320.66211999999,52552.11726,59834.361000000004,59834.361000000004,59834.361000000004,59834.361000000004,164529.11156,164529.11156 +13086000.0,23117.73,7353.054,21470.91768,96981.18507,96981.18507,96981.18507,85337.66500000001,65034.590399999994,27245.94624,57379.694820000004,87435.72544000001,15032.913,15032.913,15032.913,30483.495,23117.73,23117.73,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,22575.183,22575.183,22575.183,22575.183,69507.3082,69507.3082 +13089600.0,22096.917,7920.231,23127.07452,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,65905.98263999999,23133.34976,47038.98842999999,71678.45855999998,12763.794,12763.794,12763.794,25882.213000000003,22096.917,22096.917,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,23738.331,23738.331,23738.331,23738.331,66438.06378,66438.06378 +13093200.0,15325.437000000002,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38899.40488,18506.68416,33427.58475,50937.272000000004,10211.037,10211.037,10211.037,20705.7725,15325.437000000002,15325.437000000002,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,46078.48058,46078.48058 +13096800.0,12841.608,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28477.57857,43394.40544,8792.835,8792.835,8792.835,17829.9695,12841.608,12841.608,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,38610.43472,38610.43472 +13100400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21743.7423,33133.3216,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +13104000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +13107600.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +13111200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70803.2598,107890.6816,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +13114800.0,34413.183,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84712.26599999999,40611.8848,74094.24792000001,112905.52064000002,22407.549,22407.549,22407.549,45437.66499999999,34413.183,34413.183,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,103468.97021999999,103468.97021999999 +13118400.0,32876.634000000005,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,32876.634000000005,32876.634000000005,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,30313.401,30313.401,30313.401,30313.401,98849.07956,98849.07956 +13122000.0,24146.940000000002,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,24146.940000000002,24146.940000000002,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,72601.7996,72601.7996 +13125600.0,17056.344,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17056.344,17056.344,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51282.74096,51282.74096 +13129200.0,8597.511,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8597.511,8597.511,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25849.849739999998,25849.849739999998 +13132800.0,3350.973,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3350.973,3350.973,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10075.25882,10075.25882 +13136400.0,2593.923,1163.259,3396.7162799999996,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2593.923,2593.923,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,7799.061819999999,7799.061819999999 +13140000.0,2567.457,5158.713000000001,15063.44196,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,3533.9708799999994,513.5360000000001,905.16615,1379.3008,588.723,588.723,588.723,575.162,2567.457,2567.457,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,7719.48738,7719.48738 +13143600.0,2998.086,9531.282,27831.34344,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,15033.78352,513.5360000000001,905.16615,1379.3008,993.144,993.144,993.144,575.162,2998.086,2998.086,17536.673179999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,9014.245239999998,9014.245239999998 +13147200.0,4057.959,13003.485,37970.1762,3659.66667,3659.66667,3659.66667,3220.2905,25678.421599999998,5832.3110400000005,1810.3323,2758.6016,1255.125,1255.125,1255.125,1150.3204999999998,4057.959,4057.959,21551.830299999998,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,12200.930059999999,12200.930059999999 +13150800.0,4965.4439999999995,8090.439,23624.08188,12808.83538,12808.83538,12808.83538,11271.011499999999,19888.44704,8326.735999999999,6336.15822,9655.098240000001,2524.308,2524.308,2524.308,4026.1234999999997,4965.4439999999995,4965.4439999999995,12615.037890000001,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2894.634,2894.634,2894.634,2894.634,14929.434959999999,14929.434959999999 +13154400.0,94357.56,7474.782,21826.36344,102758.34250000001,102758.34250000001,102758.34250000001,90168.099,83167.31736,28788.164480000003,63802.6095,97223.024,18405.834000000003,18405.834000000003,18405.834000000003,32208.977499999994,94357.56,94357.56,14130.13017,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,27471.891000000003,27471.891000000003,27471.891000000003,27471.891000000003,283701.73039999994,283701.73039999994 +13158000.0,158870.22000000003,52754.631,154043.52252,174550.67201000004,174550.67201000004,174550.67201000004,149743.45400000003,123270.84264,97876.12096000001,101287.30248,154342.55616,52541.16,52541.16,52541.16,53489.9085,158870.22000000003,158870.22000000003,20083.98665,53608.0032,79683.99488,138983.712,39444.90112,50166.50176,47040.345,47040.345,47040.345,47040.345,477669.79480000003,477669.79480000003 +13161600.0,101080.36499999999,29568.288,86339.40096,132329.71708000003,132329.71708000003,132329.71708000003,115930.41599999998,81457.73912,139399.96736,156096.53408999997,237861.38528,25105.611,25105.611,25105.611,41411.5415,101080.36499999999,101080.36499999999,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,83839.38,83839.38,83839.38,83839.38,303914.9640999999,303914.9640999999 +13165200.0,72218.37,15083.744999999999,44044.5354,155535.86807,155535.86807,155535.86807,136862.2955,117662.86584,43696.332160000005,87269.15483999999,132981.56928,30912.279000000002,30912.279000000002,30912.279000000002,48888.6265,72218.37,72218.37,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,67823.80799999999,67823.80799999999,67823.80799999999,67823.80799999999,217136.5658,217136.5658 +13168800.0,28104.924000000003,27414.096000000005,80049.16032000001,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,220885.29799999998,31358.54272,108526.92669000001,165374.36448000002,17302.032,17302.032,17302.032,35084.777,28104.924000000003,28104.924000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,31614.972,31614.972,31614.972,31614.972,84502.13816,84502.13816 +13172400.0,21431.787,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,51354.39057,78254.30944000001,15032.913,15032.913,15032.913,30483.495,21431.787,21431.787,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64438.23958,64438.23958 +13176000.0,18420.402000000002,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,41256.382020000005,62866.86784000001,12763.794,12763.794,12763.794,25882.213000000003,18420.402000000002,18420.402000000002,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,55384.00868,55384.00868 +13179600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32778.05118,49947.50656000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +13183200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +13186800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +13190400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +13194000.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +13197600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +13201200.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +13204800.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +13208400.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +13212000.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +13215600.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +13219200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +13222800.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +13226400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +13230000.0,716.391,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,716.391,716.391,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2153.9489399999998,2153.9489399999998 +13233600.0,1208.232,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1208.232,1208.232,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3632.75088,3632.75088 +13237200.0,3173.973,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3173.973,3173.973,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9543.078819999999,9543.078819999999 +13240800.0,24173.64,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,24173.64,24173.64,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,72682.0776,72682.0776 +13244400.0,48167.841,35252.1,102936.13199999998,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,216784.07039999997,47808.917760000004,124106.40080999999,189114.51552000002,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,48167.841,48167.841,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,45673.979999999996,45673.979999999996,45673.979999999996,45673.979999999996,144824.64194,144824.64194 +13248000.0,31767.290999999997,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,66052.6167,100651.6064,20422.071,20422.071,20422.071,41411.5415,31767.290999999997,31767.290999999997,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,95513.65494,95513.65494 +13251600.0,34507.989,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34507.989,34507.989,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103754.02026,103754.02026 +13255200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +13258800.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +13262400.0,18200.466,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18200.466,18200.466,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54722.73444,54722.73444 +13266000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +13269600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,37653.732879999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +13273200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +13276800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +13280400.0,30846.729,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,54795.49943999999,22619.26976,43168.26024,65780.20608,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,30846.729,30846.729,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,18662.976000000002,18662.976000000002,18662.976000000002,18662.976000000002,92745.83186,92745.83186 +13284000.0,32164.203,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83653.56744,40097.804800000005,71348.51367,108721.54464,22123.911,22123.911,22123.911,44862.503,32164.203,32164.203,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,96707.03701999999,96707.03701999999 +13287600.0,35210.346,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88351.25760000001,40611.8848,74850.77565,114058.32479999999,22407.549,22407.549,22407.549,45437.66499999999,35210.346,35210.346,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,35045.934,35045.934,35045.934,35045.934,105865.77363999998,105865.77363999998 +13291200.0,33961.623,9526.025999999998,27815.995919999998,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,100946.80024,35985.208320000005,69966.34155,106615.3776,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,33961.623,33961.623,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,38383.602,38383.602,38383.602,38383.602,102111.27981999998,102111.27981999998 +13294800.0,25633.721999999994,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,25633.721999999994,25633.721999999994,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,26277.192000000003,26277.192000000003,26277.192000000003,26277.192000000003,77072.05747999999,77072.05747999999 +13298400.0,17018.907,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17018.907,17018.907,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51170.18038,51170.18038 +13302000.0,8563.362000000001,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8563.362000000001,8563.362000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25747.17508,25747.17508 +13305600.0,3354.0150000000003,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3354.0150000000003,3354.0150000000003,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10084.4051,10084.4051 +13309200.0,2171.013,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2171.013,2171.013,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6527.512419999999,6527.512419999999 +13312800.0,1013.241,2452.491,7161.27372,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1013.241,1013.241,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,3046.4779399999998,3046.4779399999998 +13316400.0,1966.3140000000003,5483.049,16010.50308,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,7161.60368,513.5360000000001,905.16615,1379.3008,627.276,627.276,627.276,575.162,1966.3140000000003,1966.3140000000003,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,5912.050760000001,5912.050760000001 +13320000.0,3185.016,8779.719,25636.779479999997,3659.66667,3659.66667,3659.66667,3220.2905,16570.865680000003,1559.3216,1810.3323,2758.6016,1296.9,1296.9,1296.9,1150.3204999999998,3185.016,3185.016,20781.508799999996,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,9576.28144,9576.28144 +13323600.0,7489.305,9940.998,29027.714159999996,12808.83538,12808.83538,12808.83538,11271.011499999999,23309.06352,11345.196160000001,6336.15822,9655.098240000001,2538.126,2538.126,2538.126,4026.1234999999997,7489.305,7489.305,18106.29743,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,22517.843699999998,22517.843699999998 +13327200.0,35164.635,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,63539.84823999999,28788.164480000003,51972.69336,79196.48512,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,35164.635,35164.635,145076.31475999998,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,23407.149,23407.149,23407.149,23407.149,105728.33589999999,105728.33589999999 +13330800.0,52426.740000000005,74458.533,217418.91635999997,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,331606.50624,47808.917760000004,187410.81996000002,285578.39232000004,28376.577,28376.577,28376.577,53489.9085,52426.740000000005,52426.740000000005,20083.98665,56338.5456,83742.72704,146062.896,41454.04096,52721.750080000005,68396.952,68396.952,68396.952,68396.952,157629.7316,157629.7316 +13334400.0,65515.281,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,56848.45696000001,67642.60923,103074.45216000002,20422.071,20422.071,20422.071,41411.5415,65515.281,65515.281,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,196982.61153999998,196982.61153999998 +13338000.0,39863.493,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,47712.5536,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,39863.493,39863.493,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,119856.23561999999,119856.23561999999 +13341600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +13345200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +13348800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +13352400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +13356000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,36957.272,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +13359600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +13363200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +13366800.0,28799.589,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,53029.19728,22619.26976,39965.835,60900.32,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,28799.589,28799.589,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,86590.76426,86590.76426 +13370400.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70698.58404,107731.17568,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +13374000.0,34329.315,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,86403.822,40611.8848,73139.55495,111450.75040000002,22407.549,22407.549,22407.549,45437.66499999999,34329.315,34329.315,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31754.126999999997,31754.126999999997,31754.126999999997,31754.126999999997,103216.80709999999,103216.80709999999 +13377600.0,31075.695,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,77981.96384,35985.208320000005,65558.85063,99899.20096,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31075.695,31075.695,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,30564.261,30564.261,30564.261,30564.261,93434.2563,93434.2563 +13381200.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,24637.512000000002,24637.512000000002,24637.512000000002,24637.512000000002,70414.6751,70414.6751 +13384800.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +13388400.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +13392000.0,3049.0739999999996,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3049.0739999999996,3049.0739999999996,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9167.549159999999,9167.549159999999 +13395600.0,2049.705,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2049.705,2049.705,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6162.7797,6162.7797 +13399200.0,852.6210000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,852.6210000000001,852.6210000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2563.54714,2563.54714 +13402800.0,864.072,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,864.072,864.072,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2597.97648,2597.97648 +13406400.0,1283.9520000000002,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1283.9520000000002,1283.9520000000002,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3860.41568,3860.41568 +13410000.0,3559.563,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3559.563,3559.563,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10702.419419999998,10702.419419999998 +13413600.0,25682.112,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,25682.112,25682.112,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,77217.55008,77217.55008 +13417200.0,46892.913,54044.001000000004,157808.48292,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,278560.28536000004,47808.917760000004,155426.48750999998,236840.36192,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,46892.913,46892.913,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,53295.594,53295.594,53295.594,53295.594,140991.35841999998,140991.35841999998 +13420800.0,49516.659,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,47560.66880000001,67495.18314000001,102849.80288000002,20422.071,20422.071,20422.071,41411.5415,49516.659,49516.659,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,148880.08805999998,148880.08805999998 +13424400.0,38970.873,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,54354.47808,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,38970.873,38970.873,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,117172.42481999999,117172.42481999999 +13428000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +13431600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +13435200.0,18484.536,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,50679.204639999996,23133.34976,40732.447770000006,62068.49184000001,14106.342,14106.342,14106.342,25882.213000000003,18484.536,18484.536,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,55576.83824,55576.83824 +13438800.0,14638.926,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14638.926,14638.926,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,44014.370839999996,44014.370839999996 +13442400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,38193.24376,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +13446000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +13449600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +13453200.0,34831.185,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,59605.0256,22619.26976,46157.90949,70335.86207999999,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,34831.185,34831.185,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,30944.532000000003,30944.532000000003,30944.532000000003,30944.532000000003,104725.7629,104725.7629 +13456800.0,31499.379,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70662.66816,107676.44671999999,22123.911,22123.911,22123.911,44862.503,31499.379,31499.379,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94708.13286,94708.13286 +13460400.0,35995.542,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88691.1164,40611.8848,77194.78431,117630.14752,22407.549,22407.549,22407.549,45437.66499999999,35995.542,35995.542,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,37520.277,37520.277,37520.277,37520.277,108226.59627999998,108226.59627999998 +13464000.0,34515.312000000005,9652.637999999999,28185.70296,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,104267.1556,35985.208320000005,73512.24258,112018.65536,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,34515.312000000005,34515.312000000005,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,42046.569,42046.569,42046.569,42046.569,103776.03808000001,103776.03808000001 +13467600.0,26442.804,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62301.137520000004,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,26442.804,26442.804,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,26259.534,26259.534,26259.534,26259.534,79504.69735999999,79504.69735999999 +13471200.0,17045.907,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17045.907,17045.907,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51251.36038,51251.36038 +13474800.0,8664.399000000001,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8664.399000000001,8664.399000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26050.95966,26050.95966 +13478400.0,3429.0090000000005,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3429.0090000000005,3429.0090000000005,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10309.887060000001,10309.887060000001 +13482000.0,2243.9700000000003,3157.5029999999997,9219.90876,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2243.9700000000003,2243.9700000000003,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6746.8697999999995,6746.8697999999995 +13485600.0,1747.518,5027.465999999999,14680.200719999999,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,6428.71288,513.5360000000001,905.16615,1379.3008,458.073,458.073,458.073,575.162,1747.518,1747.518,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,5254.204119999999,5254.204119999999 +13489200.0,2414.076,6487.868999999999,18944.577479999996,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,12818.35616,513.5360000000001,905.16615,1379.3008,925.917,925.917,925.917,575.162,2414.076,2414.076,13899.46662,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,7258.32184,7258.32184 +13492800.0,3109.2480000000005,9409.932,27477.00144,3659.66667,3659.66667,3659.66667,3220.2905,16108.69976,7601.21408,1810.3323,2758.6016,1198.326,1198.326,1198.326,1150.3204999999998,3109.2480000000005,3109.2480000000005,19729.816729999995,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,9348.47232,9348.47232 +13496400.0,7846.758000000001,10983.039,32070.473879999998,12808.83538,12808.83538,12808.83538,11271.011499999999,25894.7936,11139.73824,6336.15822,9655.098240000001,2536.551,2536.551,2536.551,4026.1234999999997,7846.758000000001,7846.758000000001,18231.088069999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,23592.585720000003,23592.585720000003 +13500000.0,37324.386,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,63773.33144,28788.164480000003,54361.461630000005,82836.51296000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,37324.386,37324.386,180537.82812,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,24386.922000000002,24386.922000000002,24386.922000000002,24386.922000000002,112221.98723999999,112221.98723999999 +13503600.0,59728.455,102254.979,298584.53868,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,396420.82936,47808.917760000004,230540.37741,351299.62272,35489.943,35489.943,35489.943,53489.9085,59728.455,59728.455,20083.98665,71638.23465,106484.48706,185728.75650000002,52711.589940000005,67039.23687000001,88563.231,88563.231,88563.231,88563.231,179583.5547,179583.5547 +13507200.0,103422.468,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,78783.39648000001,73988.56269,112744.47648,23389.161,23389.161,23389.161,41411.5415,103422.468,103422.468,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28652.715000000004,28652.715000000004,28652.715000000004,28652.715000000004,310956.88711999997,310956.88711999997 +13510800.0,70042.29000000001,23844.063,69624.66395999999,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,109179.85343999999,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,70042.29000000001,70042.29000000001,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,210593.8186,210593.8186 +13514400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +13518000.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +13521600.0,18322.863,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,57412.543600000005,23133.34976,40732.447770000006,62068.49184000001,17713.227000000003,17713.227000000003,17713.227000000003,25882.213000000003,18322.863,18322.863,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,55090.74142,55090.74142 +13525200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +13528800.0,13551.183,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,44078.813279999995,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,13551.183,13551.183,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13128.678000000002,13128.678000000002,13128.678000000002,13128.678000000002,40743.89022,40743.89022 +13532400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +13536000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +13539600.0,37488.479999999996,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,61664.07528,22619.26976,48164.475029999994,73393.48576,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,37488.479999999996,37488.479999999996,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,37620.357,37620.357,37620.357,37620.357,112715.36319999999,112715.36319999999 +13543200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +13546800.0,35821.521,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,87338.88192,40611.8848,76698.24582,116873.51744000001,22407.549,22407.549,22407.549,45437.66499999999,35821.521,35821.521,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,37250.358,37250.358,37250.358,37250.358,107703.37314,107703.37314 +13550400.0,37697.30699999999,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,97859.67111999998,35985.208320000005,79090.73319000001,120519.21248000002,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,37697.30699999999,37697.30699999999,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,44821.137,44821.137,44821.137,44821.137,113343.23637999999,113343.23637999999 +13554000.0,28875.333000000002,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62997.26551999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,28875.333000000002,28875.333000000002,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,27187.617,27187.617,27187.617,27187.617,86818.50122,86818.50122 +13557600.0,17160.21,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17160.21,17160.21,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51595.03139999999,51595.03139999999 +13561200.0,8754.96,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8754.96,8754.96,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26323.246399999996,26323.246399999996 +13564800.0,3495.222,2306.826,6735.93192,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3495.222,3495.222,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10508.96748,10508.96748 +13568400.0,2839.104,5326.5779999999995,15553.607759999999,7319.33334,7319.33334,7319.33334,6440.577499999999,10475.93216,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2839.104,2839.104,1033.18319,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,8536.23936,8536.23936 +13572000.0,3068.277,8369.142,24437.89464,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,15942.24808,8801.7024,905.16615,1379.3008,1019.9309999999999,1019.9309999999999,1019.9309999999999,575.162,3068.277,3068.277,20575.32815,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,9225.28618,9225.28618 +13575600.0,3352.8329999999996,13814.073,40337.09316,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,26001.00568,13480.646400000001,905.16615,1379.3008,1091.22,1091.22,1091.22,575.162,3352.8329999999996,3352.8329999999996,26431.031769999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,10080.851219999999,10080.851219999999 +13579200.0,4643.286,14984.16,43753.7472,3659.66667,3659.66667,3659.66667,3220.2905,29756.277519999996,25168.094719999997,1810.3323,2758.6016,2097.7200000000003,2097.7200000000003,2097.7200000000003,1150.3204999999998,4643.286,4643.286,25457.44448,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,1922.103,1922.103,1922.103,1922.103,13960.81324,13960.81324 +13582800.0,11692.842,11689.518,34133.39256,12808.83538,12808.83538,12808.83538,11271.011499999999,27125.112240000002,21735.1392,6398.06916,9749.43872,6254.985,6254.985,6254.985,4026.1234999999997,11692.842,11692.842,19347.86425,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,3885.5850000000005,3885.5850000000005,3885.5850000000005,3885.5850000000005,35156.478279999996,35156.478279999996 +13586400.0,43845.162,14250.954000000002,41612.78568,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,75142.25216,28788.164480000003,62143.518990000004,94694.88608000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,43845.162,43845.162,256412.05719999998,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,26636.196,26636.196,26636.196,26636.196,131827.78707999998,131827.78707999998 +13590000.0,65541.84,118420.59,345788.12279999995,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,439221.66375999997,47808.917760000004,272265.01344,414880.02048,40851.78,40851.78,40851.78,53489.9085,65541.84,65541.84,20083.98665,77839.41645,115702.04617999999,201805.8945,57274.43482,72842.31811000001,95620.356,95620.356,95620.356,95620.356,197062.46559999997,197062.46559999997 +13593600.0,145192.329,9610.437,28062.476039999998,133208.74754,133208.74754,133208.74754,115930.41599999998,81019.99608,88553.23392,84136.61004,128208.16768,30220.568999999996,30220.568999999996,30220.568999999996,41411.5415,145192.329,145192.329,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,32230.625999999997,32230.625999999997,32230.625999999997,32230.625999999997,436544.93585999997,436544.93585999997 +13597200.0,103581.27600000001,35199.234,102781.76328,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,128020.60800000001,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,103581.27600000001,103581.27600000001,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,36123.600000000006,36123.600000000006,36123.600000000006,36123.600000000006,311434.36984,311434.36984 +13600800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +13604400.0,22136.061,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,22136.061,22136.061,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,66555.75674,66555.75674 +13608000.0,18965.811,6104.975999999999,17826.529919999997,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,61195.00064,23133.34976,40732.447770000006,62068.49184000001,19739.394,19739.394,19739.394,25882.213000000003,18965.811,18965.811,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,57023.871739999995,57023.871739999995 +13611600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +13615200.0,14265.923999999999,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,47550.868480000005,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,14265.923999999999,14265.923999999999,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13750.782,13750.782,13750.782,13750.782,42892.87816,42892.87816 +13618800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +13622400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +13626000.0,45735.153000000006,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,66446.59144,22619.26976,61468.850099999996,93666.8192,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,45735.153000000006,45735.153000000006,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,54317.549999999996,54317.549999999996,54317.549999999996,54317.549999999996,137510.36002,137510.36002 +13629600.0,33457.365,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,84758.40784,40097.804800000005,72979.56120000001,111206.95040000002,22123.911,22123.911,22123.911,44862.503,33457.365,33457.365,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,33466.677,33466.677,33466.677,33466.677,100595.14409999999,100595.14409999999 +13633200.0,43641.984,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,110676.1468,40611.8848,87020.42916000001,132602.55872000003,22407.549,22407.549,22407.549,45437.66499999999,43641.984,43641.984,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,48783.882,48783.882,48783.882,48783.882,131216.89856,131216.89856 +13636800.0,50054.74800000001,12845.349000000002,37508.41908,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,124249.69671999998,39445.71200000001,86420.70255,131688.6896,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,50054.74800000001,50054.74800000001,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,53294.418000000005,53294.418000000005,53294.418000000005,53294.418000000005,150497.94232,150497.94232 +13640400.0,44912.892,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,65631.03544,42800.91904,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,44912.892,44912.892,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,27670.911,27670.911,27670.911,27670.911,135038.09527999998,135038.09527999998 +13644000.0,17140.155,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17140.155,17140.155,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51534.73269999999,51534.73269999999 +13647600.0,8646.876,3148.386,9193.287119999999,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8646.876,8646.876,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25998.273839999998,25998.273839999998 +13651200.0,3904.572,4435.449,12951.511079999998,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3904.572,3904.572,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,11739.74648,11739.74648 +13654800.0,3604.146,5417.61,15819.421199999999,7319.33334,7319.33334,7319.33334,6440.577499999999,14283.88664,2056.2982400000005,3620.65977,5517.19584,1514.6280000000002,1514.6280000000002,1514.6280000000002,2300.6409999999996,3604.146,3604.146,6165.85242,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,10836.46564,10836.46564 +13658400.0,2603.469,8092.8150000000005,23631.0198,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,11877.3628,2516.3481600000005,905.16615,1379.3008,862.866,862.866,862.866,575.162,2603.469,2603.469,17498.50102,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,7827.763459999999,7827.763459999999 +13662000.0,2678.034,10972.212,32038.85904,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,20438.569199999998,7854.141439999999,905.16615,1379.3008,881.424,881.424,881.424,575.162,2678.034,2678.034,18359.981639999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,8051.955559999999,8051.955559999999 +13665600.0,3868.6050000000005,11437.533000000001,33397.59636,3659.66667,3659.66667,3659.66667,3220.2905,22283.74056,11338.091520000002,1810.3323,2758.6016,1164.807,1164.807,1164.807,1150.3204999999998,3868.6050000000005,3868.6050000000005,18657.629249999998,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,1009.2780000000001,1009.2780000000001,1009.2780000000001,1009.2780000000001,11631.6057,11631.6057 +13669200.0,5789.727000000001,11703.603,34174.52076,12808.83538,12808.83538,12808.83538,11271.011499999999,27188.01488,21954.16448,6418.31652,9780.291840000002,4806.654,4806.654,4806.654,4026.1234999999997,5789.727000000001,5789.727000000001,19403.900749999997,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,3903.6059999999998,3903.6059999999998,3903.6059999999998,3903.6059999999998,17407.77918,17407.77918 +13672800.0,108757.76699999999,7474.782,21826.36344,102960.40172000001,102960.40172000001,102960.40172000001,90168.099,83338.03808,28788.164480000003,69176.00382,105411.05344,19785.366,19785.366,19785.366,32208.977499999994,108757.76699999999,108757.76699999999,14600.360579999997,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,30242.514,30242.514,30242.514,30242.514,326998.35277999996,326998.35277999996 +13676400.0,209940.30000000002,89616.258,261679.47335999997,177683.98593000002,177683.98593000002,177683.98593000002,149743.45400000003,144286.64328,128620.41152000001,116447.24763,177443.42496,71017.077,71017.077,71017.077,53489.9085,209940.30000000002,209940.30000000002,20083.98665,53846.333549999996,80038.25382,139601.6055,39620.26518,50389.53189,60761.469,60761.469,60761.469,60761.469,631220.502,631220.502 +13680000.0,163631.289,48739.272,142318.67424,133729.63835,133729.63835,133729.63835,115930.41599999998,96712.52576,243229.90720000005,199585.50149999998,304130.288,37919.601,37919.601,37919.601,41899.935,163631.289,163631.289,20630.758589999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,107685.831,107685.831,107685.831,107685.831,491984.74225999997,491984.74225999997 +13683600.0,121169.796,27525.438000000002,80374.27896000001,157298.89846,157298.89846,157298.89846,136862.2955,138435.80424,43696.332160000005,104619.16689,159419.68288,86721.828,86721.828,86721.828,48888.6265,121169.796,121169.796,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,88604.679,88604.679,88604.679,88604.679,364317.18663999997,364317.18663999997 +13687200.0,43615.758,55567.03499999999,162255.74219999998,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,367864.45576,31358.54272,166175.41101,253219.67392000003,21381.126,21381.126,21381.126,35084.777,43615.758,43615.758,13173.368259999997,42396.74055,63019.35262,109917.4755,31195.62638,39674.97449,51079.614,51079.614,51079.614,51079.614,131138.04572,131138.04572 +13690800.0,25337.049000000003,7925.637000000001,23142.860040000003,96981.18507,96981.18507,96981.18507,85337.66500000001,69813.27552,27340.99392,57322.38687000001,87348.39904000002,15032.913,15032.913,15032.913,30483.495,25337.049000000003,25337.049000000003,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,25020.099,25020.099,25020.099,25020.099,76180.06066,76180.06066 +13694400.0,37977.615,12425.928000000002,36283.709760000005,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,89476.00072,37749.7376,61949.92293,94399.88256,14344.002,14344.002,14344.002,25882.213000000003,37977.615,37977.615,9718.056659999998,25893.2376,38488.219840000005,67130.61600000001,19052.30816,24230.955680000003,32144.607000000004,32144.607000000004,32144.607000000004,32144.607000000004,114186.0291,114186.0291 +13698000.0,26332.611,7491.665999999999,21875.664719999997,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,61543.12304,26070.64512,42278.78193,64424.81056,10767.75,10767.75,10767.75,20705.7725,26332.611,26332.611,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,22156.2,22156.2,22156.2,22156.2,79173.38374,79173.38374 +13701600.0,13228.574999999999,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33533.20992,15936.305920000003,28935.1293,44091.6256,8792.835,8792.835,8792.835,17829.9695,13228.574999999999,13228.574999999999,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12234.173999999999,12234.173999999999,12234.173999999999,12234.173999999999,39773.915499999996,39773.915499999996 +13705200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +13708800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +13712400.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +13716000.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +13719600.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71736.29505,109312.4496,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +13723200.0,32027.057999999997,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,32027.057999999997,32027.057999999997,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27959.022000000004,27959.022000000004,27959.022000000004,27959.022000000004,96294.68771999999,96294.68771999999 +13726800.0,24473.13,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,24473.13,24473.13,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,73582.5442,73582.5442 +13730400.0,17216.07,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17216.07,17216.07,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51762.9838,51762.9838 +13734000.0,8745.069,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8745.069,8745.069,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26293.50746,26293.50746 +13737600.0,3513.7200000000003,4426.880999999999,12926.49252,12808.83538,12808.83538,12808.83538,11271.011499999999,9035.064,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3513.7200000000003,3513.7200000000003,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10564.584799999999,10564.584799999999 +13741200.0,3877.17,6951.279,20297.73468,7319.33334,7319.33334,7319.33334,6440.577499999999,17785.9536,9663.126400000001,3620.65977,5517.19584,1381.218,1381.218,1381.218,2300.6409999999996,3877.17,3877.17,10702.014309999999,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,11657.3578,11657.3578 +13744800.0,3313.8509999999997,10952.207999999999,31980.44736,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,18768.4168,12488.80384,905.16615,1379.3008,1063.2269999999999,1063.2269999999999,1063.2269999999999,575.162,3313.8509999999997,3313.8509999999997,25457.074109999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,9963.64534,9963.64534 +13748400.0,4092.5190000000002,15040.880999999998,43919.37252,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,30216.89584,24359.775999999998,905.16615,1379.3008,1169.472,1169.472,1169.472,575.162,4092.5190000000002,4092.5190000000002,26601.122989999996,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,1366.4250000000002,1366.4250000000002,1366.4250000000002,1366.4250000000002,12304.84046,12304.84046 +13752000.0,5628.675,15688.557,45810.58644,3659.66667,3659.66667,3659.66667,3220.2905,32244.713200000002,31161.560320000004,2009.6663999999998,3062.3488,6583.299,6583.299,6583.299,1150.3204999999998,5628.675,5628.675,26849.208359999997,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2687.1059999999998,2687.1059999999998,2687.1059999999998,2687.1059999999998,16923.5495,16923.5495 +13755600.0,8890.254,14229.554999999998,41550.300599999995,12808.83538,12808.83538,12808.83538,11271.011499999999,38349.82,28911.02144,9855.682620000001,15018.183040000002,8871.726,8871.726,8871.726,4026.1234999999997,8890.254,8890.254,25237.598619999997,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,4336.83,4336.83,4336.83,4336.83,26730.03036,26730.03036 +13759200.0,135712.31399999998,7556.082,22063.759439999998,104368.21879,104368.21879,104368.21879,90168.099,99485.69647999998,28788.164480000003,77552.29125000001,118174.92000000001,26164.395,26164.395,26164.395,32208.977499999994,135712.31399999998,135712.31399999998,25653.90412,32340.339449999996,48071.31937999999,83845.32449999999,23796.101619999998,30264.169509999996,45216.432,45216.432,45216.432,45216.432,408041.6907599999,408041.6907599999 +13762800.0,257712.12000000002,122187.62700000001,356787.87084,182813.55752000003,182813.55752000003,182813.55752000003,149743.45400000003,164908.7812,143108.05632,124545.32222999999,189783.34816,85155.159,85155.159,85155.159,53489.9085,257712.12000000002,257712.12000000002,20083.98665,54694.273949999995,81298.64918,141799.9695,40244.18182,51183.03661,86866.752,86866.752,86866.752,86866.752,774854.4408,774854.4408 +13766400.0,194946.372,53598.87599999999,156508.71791999997,135505.71716,135505.71716,135505.71716,115930.41599999998,120506.37935999999,285722.14976000006,202587.08568,308704.13056,54363.666,54363.666,54363.666,43638.3395,194946.372,194946.372,28461.486689999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,121705.53899999999,121705.53899999999,121705.53899999999,121705.53899999999,586138.75848,586138.75848 +13770000.0,131711.085,27529.074,80384.89608,158061.48622000002,158061.48622000002,158061.48622000002,136862.2955,140270.49279999998,134091.3216,109029.07764,166139.54688,112666.02900000001,112666.02900000001,112666.02900000001,49378.854,131711.085,131711.085,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,94931.124,94931.124,94931.124,94931.124,396011.32889999996,396011.32889999996 +13773600.0,43301.781,56331.41700000001,164487.73764,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,388270.11656,31358.54272,170921.4801,260451.77919999996,22176.492,22176.492,22176.492,35084.777,43301.781,43301.781,13173.368259999997,46860.25364999999,69654.00665999998,121489.5465,34479.89034,43851.94106999999,51543.549,51543.549,51543.549,51543.549,130194.02153999999,130194.02153999999 +13777200.0,23971.176000000003,7995.540000000001,23346.9768,96981.18507,96981.18507,96981.18507,85337.66500000001,70777.61136,27245.94624,60065.69646,91528.68032,15032.913,15032.913,15032.913,30483.495,23971.176000000003,23971.176000000003,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,23503.653000000002,23503.653000000002,23503.653000000002,23503.653000000002,72073.33584,72073.33584 +13780800.0,24678.321,8573.418,25034.38056,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,71028.32256,23133.34976,50559.599579999995,77043.19936,12857.061,12857.061,12857.061,25882.213000000003,24678.321,24678.321,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,25420.344,25420.344,25420.344,25420.344,74199.48513999999,74199.48513999999 +13784400.0,17341.521,5426.007,15843.940439999998,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,48490.99168,18506.68416,35853.32667,54633.640640000005,10211.037,10211.037,10211.037,20705.7725,17341.521,17341.521,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,17138.037,17138.037,17138.037,17138.037,52140.17313999999,52140.17313999999 +13788000.0,13415.157,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,34339.97672,15936.305920000003,29089.69896,44327.16032,8792.835,8792.835,8792.835,17829.9695,13415.157,13415.157,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12293.97,12293.97,12293.97,12293.97,40334.90538,40334.90538 +13791600.0,9969.222,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,22214.83635,33851.179200000006,6807.357,6807.357,6807.357,13803.846000000001,9969.222,9969.222,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29974.12748,29974.12748 +13795200.0,11042.400000000001,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24803.19954,37795.35168000001,7658.277,7658.277,7658.277,15529.3285,11042.400000000001,11042.400000000001,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,33200.816,33200.816 +13798800.0,18184.356,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,40471.83546,61671.36832000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,18184.356,18184.356,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,54674.29704,54674.29704 +13802400.0,32725.875,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,72047.44365,109786.5808,22123.911,22123.911,22123.911,44862.503,32725.875,32725.875,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,98395.7975,98395.7975 +13806000.0,38229.843,11689.998,34134.79416,144556.86399,144556.86399,144556.86399,127201.42749999999,114924.25624,40611.8848,76389.57018,116403.15456,22407.549,22407.549,22407.549,45437.66499999999,38229.843,38229.843,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,38247.381,38247.381,38247.381,38247.381,114944.39462,114944.39462 +13809600.0,49742.997,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,75901.77335999999,49467.43232000001,72623.4936,110664.37120000001,20372.304,20372.304,20372.304,40261.221,49742.997,49742.997,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,45069.075000000004,45069.075000000004,45069.075000000004,45069.075000000004,149560.61098,149560.61098 +13813200.0,29118.197999999997,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,65074.950639999995,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,29118.197999999997,29118.197999999997,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,23512.809,23512.809,23512.809,23512.809,87548.71531999999,87548.71531999999 +13816800.0,17170.599000000002,5887.548000000001,17191.64016,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17170.599000000002,17170.599000000002,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51626.26766,51626.26766 +13820400.0,9516.096000000001,6638.997000000001,19385.87124,36596.67484,36596.67484,36596.67484,32202.8945,22969.99896,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,9516.096000000001,9516.096000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,28611.72864,28611.72864 +13824000.0,5058.543,6902.405999999999,20155.025519999996,12808.83538,12808.83538,12808.83538,11271.011499999999,19310.619919999997,3598.5164800000002,6336.15822,9655.098240000001,2446.863,2446.863,2446.863,4026.1234999999997,5058.543,5058.543,11737.24656,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,15209.352619999998,15209.352619999998 +13827600.0,4104.936,10711.818000000001,31278.508560000002,7319.33334,7319.33334,7319.33334,6440.577499999999,20132.4656,10186.672,3620.65977,5517.19584,1788.9989999999998,1788.9989999999998,1788.9989999999998,2300.6409999999996,4104.936,4104.936,21255.226459999994,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,12342.174239999998,12342.174239999998 +13831200.0,3585.4440000000004,12764.706,37272.94152,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,24093.2412,12594.78592,905.16615,1379.3008,948.2909999999999,948.2909999999999,948.2909999999999,575.162,3585.4440000000004,3585.4440000000004,21017.405629999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,586.767,586.767,586.767,586.767,10780.234960000002,10780.234960000002 +13834800.0,4144.449,12820.059000000001,37434.57228,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,24520.41384,22534.7104,963.52704,1468.23168,2762.124,2762.124,2762.124,575.162,4144.449,4144.449,21180.887909999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,1823.2350000000001,1823.2350000000001,1823.2350000000001,1823.2350000000001,12460.976659999998,12460.976659999998 +13838400.0,6192.731999999999,12755.792999999998,37246.915559999994,3659.66667,3659.66667,3659.66667,3220.2905,30449.00664,22709.628160000004,4136.98677,6303.97984,6502.974,6502.974,6502.974,1150.3204999999998,6192.731999999999,6192.731999999999,22128.13564,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2192.4269999999997,2192.4269999999997,2192.4269999999997,2192.4269999999997,18619.480879999996,18619.480879999996 +13842000.0,18147.033000000003,11294.61,32980.2612,12808.83538,12808.83538,12808.83538,11271.011499999999,75380.5884,21408.543360000003,10055.25339,15322.29088,6861.674999999999,6861.674999999999,6861.674999999999,4026.1234999999997,18147.033000000003,18147.033000000003,31985.826599999997,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,11052.666000000001,11052.666000000001,11052.666000000001,11052.666000000001,54562.07922,54562.07922 +13845600.0,59305.122,20127.402000000002,58772.01384,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,127369.71087999998,28788.164480000003,73082.56577999999,111363.90976,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,59305.122,59305.122,388820.77039,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,38950.028999999995,38950.028999999995,38950.028999999995,38950.028999999995,178310.73348,178310.73348 +13849200.0,79238.955,135114.93,394535.59559999994,170531.38421000002,170531.38421000002,170531.38421000002,149743.45400000003,439543.68136,47808.917760000004,311241.43743000005,474272.66656000004,44284.488000000005,44284.488000000005,44284.488000000005,53489.9085,79238.955,79238.955,20083.98665,84598.68825,125749.1613,219329.93250000002,62247.92370000001,79167.66135000001,105925.251,105925.251,105925.251,105925.251,238245.1247,238245.1247 +13852800.0,111170.688,9610.437,28062.476039999998,133383.72498,133383.72498,133383.72498,115930.41599999998,77076.69376,75805.8016,76054.18947,115892.09824,23168.913,23168.913,23168.913,41411.5415,111170.688,111170.688,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,29288.523,29288.523,29288.523,29288.523,334253.20191999996,334253.20191999996 +13856400.0,63780.537,17090.067,49902.995639999994,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,81367.18976000001,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,63780.537,63780.537,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,191766.81458,191766.81458 +13860000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +13863600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +13867200.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,52130.684080000006,23133.34976,40732.447770000006,62068.49184000001,14883.864000000001,14883.864000000001,14883.864000000001,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +13870800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +13874400.0,12798.465,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,41643.33472,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12798.465,12798.465,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12386.001,12386.001,12386.001,12386.001,38480.7181,38480.7181 +13878000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +13881600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +13885200.0,33525.183,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,60127.9684,22619.26976,42858.09213,65307.568960000004,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,33525.183,33525.183,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,28348.002,28348.002,28348.002,28348.002,100799.05021999999,100799.05021999999 +13888800.0,32364.069000000003,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83942.18608,40097.804800000005,71635.25145,109158.47839999999,22123.911,22123.911,22123.911,44862.503,32364.069000000003,32364.069000000003,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30869.682,30869.682,30869.682,30869.682,97307.96746,97307.96746 +13892400.0,37699.115999999995,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88830.59311999999,40611.8848,79737.0693,121504.1056,22407.549,22407.549,22407.549,45437.66499999999,37699.115999999995,37699.115999999995,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,42736.5,42736.5,42736.5,42736.5,113348.67543999999,113348.67543999999 +13896000.0,36642.393,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,90814.26008000001,35985.208320000005,75943.13811,115722.87712,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,36642.393,36642.393,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,41890.554000000004,41890.554000000004,41890.554000000004,41890.554000000004,110171.46161999999,110171.46161999999 +13899600.0,28935.06,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,64776.462400000004,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,28935.06,28935.06,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,27380.787,27380.787,27380.787,27380.787,86998.0804,86998.0804 +13903200.0,17134.878,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17134.878,17134.878,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51518.866519999996,51518.866519999996 +13906800.0,8659.716,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8659.716,8659.716,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26036.87944,26036.87944 +13910400.0,3396.369,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3396.369,3396.369,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10211.749459999999,10211.749459999999 +13914000.0,2407.947,2071.839,6049.769879999999,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2407.947,2407.947,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,7239.89398,7239.89398 +13917600.0,2165.697,4471.125,13055.685,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,5423.0532,513.5360000000001,905.16615,1379.3008,328.197,328.197,328.197,575.162,2165.697,2165.697,2607.5346699999996,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,6511.52898,6511.52898 +13921200.0,2627.556,7683.357,22435.40244,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,12531.331839999999,513.5360000000001,905.16615,1379.3008,901.539,901.539,901.539,575.162,2627.556,2627.556,13929.832149999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,7900.185039999999,7900.185039999999 +13924800.0,3179.9219999999996,11489.880000000001,33550.4496,3659.66667,3659.66667,3659.66667,3220.2905,21018.64472,7007.013760000001,1810.3323,2758.6016,1198.4969999999998,1198.4969999999998,1198.4969999999998,1150.3204999999998,3179.9219999999996,3179.9219999999996,20007.142089999998,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,9560.965479999999,9560.965479999999 +13928400.0,9200.361,12239.658,35739.80136,12808.83538,12808.83538,12808.83538,11271.011499999999,28385.41928,16203.072640000002,6336.15822,9655.098240000001,2586.774,2586.774,2586.774,4026.1234999999997,9200.361,9200.361,20451.36483,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,3004.464,3004.464,3004.464,3004.464,27662.41874,27662.41874 +13932000.0,38834.379,10272.783,29996.52636,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,64450.263360000004,28788.164480000003,58020.17214,88411.69088000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,38834.379,38834.379,211877.69577,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,25643.697,25643.697,25643.697,25643.697,116762.03285999999,116762.03285999999 +13935600.0,62827.416000000005,112048.34700000001,327181.17324,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,414784.69184,47808.917760000004,259038.33375,394725.08,36947.553,36947.553,36947.553,53489.9085,62827.416000000005,62827.416000000005,20083.98665,73932.7743,109895.13612,191677.56300000002,54399.91788,69186.47274000001,91039.011,91039.011,91039.011,91039.011,188901.09744,188901.09744 +13939200.0,144074.112,10072.713000000002,29412.32196,133614.95389,133614.95389,133614.95389,115930.41599999998,84703.63448000001,87527.14112,85657.4418,130525.6256,29653.680000000004,29653.680000000004,29653.680000000004,41411.5415,144074.112,144074.112,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,35970.659999999996,35970.659999999996,35970.659999999996,35970.659999999996,433182.83008,433182.83008 +13942800.0,115631.862,38887.905,113552.6826,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,131695.24096000002,76939.06479,117240.47968,45963.386999999995,45963.386999999995,45963.386999999995,48888.6265,115631.862,115631.862,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,36366.15,36366.15,36366.15,36366.15,347666.46507999994,347666.46507999994 +13946400.0,24690.012000000002,8274.09,24160.3428,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24690.012000000002,24690.012000000002,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74234.63608,74234.63608 +13950000.0,22518.846,7835.877,22880.760840000003,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15058.377000000002,15058.377000000002,15058.377000000002,30483.495,22518.846,22518.846,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,67706.66364,67706.66364 +13953600.0,21532.194,9246.332999999999,26999.29236,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,63265.362400000005,24305.35424,40732.447770000006,62068.49184000001,21039.918,21039.918,21039.918,25882.213000000003,21532.194,21532.194,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,64740.12996,64740.12996 +13957200.0,15113.73,5901.03,17231.0076,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,15113.73,15113.73,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,45441.9482,45441.9482 +13960800.0,15065.211,4219.92,12322.1664,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,51818.080559999995,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,15065.211,15065.211,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,14240.795999999998,14240.795999999998,14240.795999999998,14240.795999999998,45296.06774,45296.06774 +13964400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +13968000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +13971600.0,44643.831,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,65532.67232,22619.26976,58466.391690000004,89091.64448,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,44643.831,44643.831,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,50279.835,50279.835,50279.835,50279.835,134229.11854,134229.11854 +13975200.0,32476.905,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,84092.34999999999,40097.804800000005,71731.45056,109305.06752000001,22123.911,22123.911,22123.911,44862.503,32476.905,32476.905,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,31092.237,31092.237,31092.237,31092.237,97647.2277,97647.2277 +13978800.0,41072.202000000005,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,105529.13288,40611.8848,84573.72504,128874.24768,22407.549,22407.549,22407.549,45437.66499999999,41072.202000000005,41072.202000000005,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,45242.268000000004,45242.268000000004,45242.268000000004,45242.268000000004,123490.42068,123490.42068 +13982400.0,45854.208,12156.141,35495.93171999999,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,119088.75439999999,35985.208320000005,82408.30563000002,125574.56096000002,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,45854.208,45854.208,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,51249.375,51249.375,51249.375,51249.375,137868.31872,137868.31872 +13986000.0,46120.691999999995,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,65001.57687999999,41113.57248,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,46120.691999999995,46120.691999999995,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,27796.563000000002,27796.563000000002,27796.563000000002,27796.563000000002,138669.54727999997,138669.54727999997 +13989600.0,17206.593,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17206.593,17206.593,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51734.48962,51734.48962 +13993200.0,8708.073,4343.657999999999,12683.48136,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8708.073,8708.073,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26182.272820000002,26182.272820000002 +13996800.0,4562.061,5851.3679999999995,17085.99456,12808.83538,12808.83538,12808.83538,11271.011499999999,15098.71848,3598.5164800000002,6336.15822,9655.098240000001,2052.711,2052.711,2052.711,4026.1234999999997,4562.061,4562.061,3894.8878799999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,13716.596739999999,13716.596739999999 +14000400.0,4105.467000000001,8259.725999999999,24118.399919999996,7319.33334,7319.33334,7319.33334,6440.577499999999,16944.21688,9111.28192,3620.65977,5517.19584,1798.362,1798.362,1798.362,2300.6409999999996,4105.467000000001,4105.467000000001,18745.1953,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,12343.770779999999,12343.770779999999 +14004000.0,2946.3720000000003,11626.791000000001,33950.22972,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,21820.28984,9846.17152,905.16615,1379.3008,954.558,954.558,954.558,575.162,2946.3720000000003,2946.3720000000003,21286.65019,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,8858.75848,8858.75848 +14007600.0,3887.4750000000004,12990.693000000003,37932.823560000004,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,24721.666080000003,21072.78656,905.16615,1379.3008,1103.805,1103.805,1103.805,575.162,3887.4750000000004,3887.4750000000004,21576.84711,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,1452.5639999999999,1452.5639999999999,1452.5639999999999,1452.5639999999999,11688.3415,11688.3415 +14011200.0,4708.281,13001.412,37964.12304,3659.66667,3659.66667,3659.66667,3220.2905,25889.55512,23944.606080000005,2029.3389899999997,3092.32608,5629.785,5629.785,5629.785,1150.3204999999998,4708.281,4708.281,21685.73589,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2255.256,2255.256,2255.256,2255.256,14156.231539999999,14156.231539999999 +14014800.0,16255.973999999998,12131.268,35423.30256,12808.83538,12808.83538,12808.83538,11271.011499999999,53043.26584,23478.46336,8912.14695,13580.4144,7503.552000000001,7503.552000000001,7503.552000000001,4026.1234999999997,16255.973999999998,16255.973999999998,26708.462949999997,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,7469.457,7469.457,7469.457,7469.457,48876.295159999994,48876.295159999994 +14018400.0,53740.58700000001,18657.006,54478.45752,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,91883.59912,28788.164480000003,67615.95246,103033.83232,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,53740.58700000001,53740.58700000001,300157.08800999995,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,30850.122,30850.122,30850.122,30850.122,161580.03158,161580.03158 +14022000.0,72498.07500000001,129120.927,377033.10684,170744.77431000004,170744.77431000004,170744.77431000004,149743.45400000003,439941.78831999993,47808.917760000004,304649.65146,464228.04032000003,43297.788,43297.788,43297.788,53489.9085,72498.07500000001,72498.07500000001,20083.98665,82176.039,122148.0876,213048.99000000002,60465.3324,76900.5402,101431.83,101431.83,101431.83,101431.83,217977.5455,217977.5455 +14025600.0,165906.201,9610.437,28062.476039999998,134143.03639,134143.03639,134143.03639,115930.41599999998,92517.44352,87926.87232000001,97268.48649,148218.64608,35212.979999999996,35212.979999999996,35212.979999999996,41411.5415,165906.201,165906.201,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,43455.354,43455.354,43455.354,43455.354,498824.64434,498824.64434 +14029200.0,121826.69099999999,41028.047999999995,119801.90015999999,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,172542.46016,76939.06479,117240.47968,60824.80500000001,60824.80500000001,60824.80500000001,48888.6265,121826.69099999999,121826.69099999999,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,37109.871,37109.871,37109.871,37109.871,366292.25093999994,366292.25093999994 +14032800.0,24730.017,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24730.017,24730.017,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74354.91777999999,74354.91777999999 +14036400.0,24093.555,9475.209,27667.61028,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,28714.19136,47973.77214,73102.89088,15381.105,15381.105,15381.105,30483.495,24093.555,24093.555,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,72441.28869999999,72441.28869999999 +14040000.0,35003.178,12681.186,37029.06312,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,66062.38952,40461.07712,40732.447770000006,62068.49184000001,23352.213,23352.213,23352.213,25882.213000000003,35003.178,35003.178,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,18072.606,18072.606,18072.606,18072.606,105242.88852,105242.88852 +14043600.0,22177.863,8190.474,23916.18408,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,39278.59024,26094.298240000004,32585.957250000003,49654.79200000001,10607.565,10607.565,10607.565,20705.7725,22177.863,22177.863,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14661.357,14661.357,14661.357,14661.357,66681.44142,66681.44142 +14047200.0,19548.678,5955.903,17391.23676,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,56631.192480000005,17508.552960000005,31476.13917,47963.640640000005,8792.835,8792.835,8792.835,17829.9695,19548.678,19548.678,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,15101.957999999999,15101.957999999999,15101.957999999999,15101.957999999999,58776.358519999994,58776.358519999994 +14050800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,9709.931999999999,9709.931999999999,9709.931999999999,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +14054400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +14058000.0,68356.78499999999,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,97632.78712,22619.26976,79698.97509,121446.05728000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,68356.78499999999,68356.78499999999,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,76155.285,76155.285,76155.285,76155.285,205526.06689999998,205526.06689999998 +14061600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +14065200.0,38747.238000000005,11716.773,34212.977159999995,144556.86399,144556.86399,144556.86399,127201.42749999999,109186.78327999999,40611.8848,79325.12826,120876.38592,22407.549,22407.549,22407.549,45437.66499999999,38747.238000000005,38747.238000000005,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,40059.543000000005,40059.543000000005,40059.543000000005,40059.543000000005,116500.02892,116500.02892 +14068800.0,66808.332,17929.593,52354.41156,128206.67277,128206.67277,128206.67277,112710.12550000001,143459.61751999997,47448.53952000001,100740.79764,153509.78688,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,66808.332,66808.332,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,55771.40699999999,55771.40699999999,55771.40699999999,55771.40699999999,200870.38488,200870.38488 +14072400.0,67446.582,7741.74,22605.8808,108721.14891,108721.14891,108721.14891,93388.3895,66673.22432,75026.09728,52499.598060000004,79999.38752,17209.284,17209.284,17209.284,33359.297999999995,67446.582,67446.582,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,28512.524999999998,28512.524999999998,28512.524999999998,28512.524999999998,202789.38987999997,202789.38987999997 +14076000.0,17316.342,7809.782999999999,22804.56636,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17316.342,17316.342,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,52064.46828,52064.46828 +14079600.0,10337.64,9580.719,27975.69948,36596.67484,36596.67484,36596.67484,32202.8945,36636.84872,21892.69248,18103.308510000003,27585.993920000004,5870.352000000001,5870.352000000001,5870.352000000001,11503.205,10337.64,10337.64,13997.47518,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,31081.8376,31081.8376 +14083200.0,5859.537,12032.880000000001,35136.0096,12808.83538,12808.83538,12808.83538,11271.011499999999,26867.778479999997,16511.45536,6336.15822,9655.098240000001,2800.4759999999997,2800.4759999999997,2800.4759999999997,4026.1234999999997,5859.537,5859.537,28186.878979999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,17617.67458,17617.67458 +14086800.0,5522.625,15328.101,44758.05492,7319.33334,7319.33334,7319.33334,6440.577499999999,33483.59912,30914.725760000005,3620.65977,5517.19584,2859.447,2859.447,2859.447,2300.6409999999996,5522.625,5522.625,27258.3662,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,3104.1810000000005,3104.1810000000005,3104.1810000000005,3104.1810000000005,16604.6925,16604.6925 +14090400.0,6324.129000000001,15729.978,45931.53576,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,35115.172479999994,31105.98528,2712.0353400000004,4132.62528,7763.109,7763.109,7763.109,575.162,6324.129000000001,6324.129000000001,27596.427429999996,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2340.4889999999996,2340.4889999999996,2340.4889999999996,2340.4889999999996,19014.54786,19014.54786 +14094000.0,7644.693000000001,15749.741999999998,45989.24664,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,37806.27952,31109.292800000003,9887.49783,15066.66336,8808.957,8808.957,8808.957,575.162,7644.693000000001,7644.693000000001,28147.321539999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2343.66,2343.66,2343.66,2343.66,22985.04362,22985.04362 +14097600.0,7753.343999999999,15278.483999999999,44613.173279999995,4158.6527399999995,4158.6527399999995,4158.6527399999995,3220.2905,37309.21376,30082.85184,17470.11483,26621.12736,12718.728,12718.728,12718.728,1150.3204999999998,7753.343999999999,7753.343999999999,30826.828239999995,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2642.013,2642.013,2642.013,2642.013,23311.72096,23311.72096 +14101200.0,24083.013,13928.963999999998,40672.57487999999,14152.6924,14152.6924,14152.6924,11271.011499999999,133055.24288,47695.18912,19421.0919,29594.0448,13283.325,13283.325,13283.325,4026.1234999999997,24083.013,24083.013,72160.3415,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,19898.337,19898.337,19898.337,19898.337,72409.59242,72409.59242 +14104800.0,91552.437,31402.743000000002,91696.00956,103368.08955,103368.08955,103368.08955,90168.099,263137.51112,31780.371200000005,88217.40942,134426.52864,16521.351000000002,16521.351000000002,16521.351000000002,32208.977499999994,91552.437,91552.437,455027.69311999995,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,68897.397,68897.397,68897.397,68897.397,275267.66057999997,275267.66057999997 +14108400.0,97835.136,163997.238,478871.93496,172640.61694,172640.61694,172640.61694,149743.45400000003,579552.03992,47808.917760000004,408160.58450999996,621958.98592,65386.115999999995,65386.115999999995,65386.115999999995,53489.9085,97835.136,97835.136,47510.88562999999,96312.969,143161.49959999998,249700.29,70867.3204,90129.9142,134893.35,134893.35,134893.35,134893.35,294157.64223999996,294157.64223999996 +14112000.0,270320.874,14217.726,41515.759920000004,139882.73354,139882.73354,139882.73354,115930.41599999998,140171.17192,103326.63104000002,135848.02455,207006.5136,63614.319,63614.319,63614.319,41411.5415,270320.874,270320.874,25530.628629999996,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,105862.58699999998,105862.58699999998,105862.58699999998,105862.58699999998,812764.76116,812764.76116 +14115600.0,174667.899,58809.899999999994,171724.908,157295.91515000002,157295.91515000002,157295.91515000002,136862.2955,118496.84119999998,559294.57088,76939.06479,117240.47968,150415.464,150415.464,150415.464,48888.6265,174667.899,174667.899,39398.267479999995,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,44700.303,44700.303,44700.303,44700.303,525168.14966,525168.14966 +14119200.0,25429.122,9756.992999999999,28490.419559999995,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31562.401280000005,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,25429.122,25429.122,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,76456.89348,76456.89348 +14122800.0,25611.438000000002,9342.921,27281.32932,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,28989.303040000003,47973.77214,73102.89088,15913.605,15913.605,15913.605,30483.495,25611.438000000002,25611.438000000002,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,77005.05692,77005.05692 +14126400.0,30655.647000000004,10406.064,30385.70688,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,70145.7876,34699.77984,40732.447770000006,62068.49184000001,26329.464000000004,26329.464000000004,26329.464000000004,25882.213000000003,30655.647000000004,30655.647000000004,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,18063.156,18063.156,18063.156,18063.156,92171.31198,92171.31198 +14130000.0,20519.937,7773.219000000001,22697.79948,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,39089.15816,24353.704960000006,32585.957250000003,49654.79200000001,10506.09,10506.09,10506.09,20705.7725,20519.937,20519.937,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14539.203,14539.203,14539.203,14539.203,61696.61058,61696.61058 +14133600.0,25609.029000000002,5814.414000000001,16978.08888,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,58622.731759999995,16331.793920000002,34723.88913,52912.59296,10278.054,10278.054,10278.054,17829.9695,25609.029000000002,25609.029000000002,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,15218.721000000001,15218.721000000001,15218.721000000001,15218.721000000001,76997.81386000001,76997.81386000001 +14137200.0,9727.734,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,10050.24,10050.24,10050.24,13803.846000000001,9727.734,9727.734,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29248.053559999997,29248.053559999997 +14140800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +14144400.0,76846.896,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,83118.67016,22619.26976,81267.73977,123836.55584,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,76846.896,76846.896,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,80880.036,80880.036,80880.036,80880.036,231053.00063999995,231053.00063999995 +14148000.0,32798.538,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,88076.72503999999,40097.804800000005,72022.76718,109748.97856,22123.911,22123.911,22123.911,44862.503,32798.538,32798.538,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,31980.227999999996,31980.227999999996,31980.227999999996,31980.227999999996,98614.27092,98614.27092 +14151600.0,64723.545,14266.250999999998,41657.452919999996,145186.25693,145186.25693,145186.25693,127201.42749999999,141278.5644,43508.61952,102008.66298000001,155441.77216000002,22422.012,22422.012,22422.012,45437.66499999999,64723.545,64723.545,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,56683.239,56683.239,56683.239,56683.239,194602.12529999999,194602.12529999999 +14155200.0,100810.41,24904.254,72720.42168,131361.51292,131361.51292,131361.51292,112710.12550000001,169117.39471999998,95904.96960000001,121706.27721,185457.18432000003,24351.03,24351.03,24351.03,40261.221,100810.41,100810.41,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,59627.888999999996,59627.888999999996,59627.888999999996,59627.888999999996,303103.2994,303103.2994 +14158800.0,77446.104,29740.631999999998,86842.64544,109654.47317000001,109654.47317000001,109654.47317000001,93388.3895,77663.19912,81532.45696000001,54220.2759,82621.3728,23297.526,23297.526,23297.526,33359.297999999995,77446.104,77446.104,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,29161.626000000004,29161.626000000004,29161.626000000004,29161.626000000004,232854.61936,232854.61936 +14162400.0,17890.578,10122.141,29556.651719999998,75023.18098,75023.18098,75023.18098,66015.9325,50113.52472,23391.53216,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17890.578,17890.578,9027.80242,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,53791.004519999995,53791.004519999995 +14166000.0,10956.354000000001,10402.389000000001,30374.97588,36596.67484,36596.67484,36596.67484,32202.8945,35843.44384,21577.08544,18103.308510000003,27585.993920000004,6190.011,6190.011,6190.011,11503.205,10956.354000000001,10956.354000000001,23229.05806,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,32942.104360000005,32942.104360000005 +14169600.0,6049.014,13523.820000000002,39489.5544,12808.83538,12808.83538,12808.83538,11271.011499999999,31060.8576,20168.702080000003,6336.15822,9655.098240000001,2767.464,2767.464,2767.464,4026.1234999999997,6049.014,6049.014,26848.6504,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,3038.1270000000004,3038.1270000000004,3038.1270000000004,3038.1270000000004,18187.368759999998,18187.368759999998 +14173200.0,6197.160000000001,16426.097999999998,47964.20616,7319.33334,7319.33334,7319.33334,6440.577499999999,35825.392400000004,33270.99648,3620.65977,5517.19584,4604.232,4604.232,4604.232,2300.6409999999996,6197.160000000001,6197.160000000001,28098.793449999997,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,3572.562,3572.562,3572.562,3572.562,18632.794400000002,18632.794400000002 +14176800.0,8198.256000000001,16852.335000000003,49208.8182,2057.46233,2057.46233,2057.46233,1610.1435,40772.79512,34108.68032,8364.44427,12745.81984,9519.161999999998,9519.161999999998,9519.161999999998,575.162,8198.256000000001,8198.256000000001,30303.346319999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2533.2059999999997,2533.2059999999997,2533.2059999999997,2533.2059999999997,24649.42304,24649.42304 +14180400.0,8379.429,17037.735,49750.1862,2543.5465,2543.5465,2543.5465,1610.1435,41257.12384,42210.42880000001,19233.41742,29308.064640000004,13557.953999999998,13557.953999999998,13557.953999999998,575.162,8379.429,8379.429,39555.97776,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2564.7780000000002,2564.7780000000002,2564.7780000000002,2564.7780000000002,25194.149859999998,25194.149859999998 +14184000.0,12277.98,17805.500999999997,51992.06292,4332.63303,4332.63303,4332.63303,3220.2905,40300.870559999996,65102.471040000004,19743.14181,30084.78752,16784.540999999997,16784.540999999997,16784.540999999997,1150.3204999999998,12277.98,12277.98,62234.68523999999,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,3111.96,3111.96,3111.96,3111.96,36915.7932,36915.7932 +14187600.0,33874.409999999996,28000.788,81762.30096,15303.46455,15303.46455,15303.46455,11271.011499999999,161624.94336,92837.04896,22625.55057,34477.02944,19234.023,19234.023,19234.023,4026.1234999999997,33874.409999999996,33874.409999999996,85207.76471999999,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,25152.606000000003,25152.606000000003,25152.606000000003,25152.606000000003,101849.05939999998,101849.05939999998 +14191200.0,103509.999,37531.809,109592.88228,105560.67588000001,105560.67588000001,105560.67588000001,90168.099,318102.5224,38552.32256000001,96781.82535,147477.06720000002,19976.574,19976.574,19976.574,32208.977499999994,103509.999,103509.999,511138.2430699999,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,85248.417,85248.417,85248.417,85248.417,311220.06366,311220.06366 +14194800.0,111027.285,173835.729,507600.32868000004,173195.45562,173195.45562,173195.45562,149743.45400000003,640398.7721599999,47808.917760000004,478538.44688999996,729201.44288,78812.328,78812.328,78812.328,53489.9085,111027.285,111027.285,62567.017759999995,102230.41995,151957.31558,265041.8295,75221.39542,95667.47941,157670.54099999997,157670.54099999997,157670.54099999997,157670.54099999997,333822.0369,333822.0369 +14198400.0,328626.678,23560.458,68796.53736,142123.41913,142123.41913,142123.41913,115930.41599999998,179899.66408,118525.75168000002,161180.25882000002,245608.01344000004,82150.566,82150.566,82150.566,41411.5415,328626.678,328626.678,44057.12765999999,41865.57495,62229.817579999995,108540.3795,30804.79342,39177.908410000004,164683.45799999998,164683.45799999998,164683.45799999998,164683.45799999998,988070.87852,988070.87852 +14202000.0,194528.427,65841.39300000001,192256.86756,158699.99189,158699.99189,158699.99189,136862.2955,138016.35207999998,674818.0844800001,76939.06479,117240.47968,174861.756,174861.756,174861.756,48888.6265,194528.427,194528.427,50717.91946,57662.53514999999,85710.73125999999,149495.46149999998,42428.23574,53960.74277,47007.822,47007.822,47007.822,47007.822,584882.13718,584882.13718 +14205600.0,24702.888,8371.17,24443.8164,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24702.888,24702.888,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74273.34992,74273.34992 +14209200.0,22808.208,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15739.788,15739.788,15739.788,30483.495,22808.208,22808.208,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,68576.67872,68576.67872 +14212800.0,20289.693,6181.434,18049.78728,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,65271.86376,23133.34976,40732.447770000006,62068.49184000001,23164.59,23164.59,23164.59,25882.213000000003,20289.693,20289.693,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,61004.34361999999,61004.34361999999 +14216400.0,14638.838999999998,5099.112,14889.40704,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14638.838999999998,14638.838999999998,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,44014.10925999999,44014.10925999999 +14220000.0,14073.494999999999,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,46116.12648,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,14073.494999999999,14073.494999999999,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13337.052,13337.052,13337.052,13337.052,42314.3083,42314.3083 +14223600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +14227200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +14230800.0,36674.169,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,61058.73008,22619.26976,42948.71742,65445.66464000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,36674.169,36674.169,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,33665.826,33665.826,33665.826,33665.826,110267.00146,110267.00146 +14234400.0,31968.357000000004,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,71094.03063000001,108333.76096000001,22123.911,22123.911,22123.911,44862.503,31968.357000000004,31968.357000000004,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,96118.19338,96118.19338 +14238000.0,37452.762,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88840.8248,40611.8848,78695.07408,119916.30336,22407.549,22407.549,22407.549,45437.66499999999,37452.762,37452.762,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,42195.414,42195.414,42195.414,42195.414,112607.97108,112607.97108 +14241600.0,38429.340000000004,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,80015.57448,35985.208320000005,78791.34081000001,120062.99552000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,38429.340000000004,38429.340000000004,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,43911.492,43911.492,43911.492,43911.492,115544.2156,115544.2156 +14245200.0,28056.947999999997,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,28056.947999999997,28056.947999999997,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,26831.997,26831.997,26831.997,26831.997,84357.89031999999,84357.89031999999 +14248800.0,17126.148,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17126.148,17126.148,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51492.61832,51492.61832 +14252400.0,8652.294,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8652.294,8652.294,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26014.56396,26014.56396 +14256000.0,3402.7019999999998,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3402.7019999999998,3402.7019999999998,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10230.790679999998,10230.790679999998 +14259600.0,2203.308,791.223,2310.3711599999997,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2203.308,2203.308,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6624.61272,6624.61272 +14263200.0,2270.964,4393.397999999999,12828.72216,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,2489.154,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,2270.964,2270.964,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,6828.031759999999,6828.031759999999 +14266800.0,2715.087,6467.991000000001,18886.533720000003,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,12430.93056,513.5360000000001,905.16615,1379.3008,746.436,746.436,746.436,575.162,2715.087,2715.087,11166.01096,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,8163.36158,8163.36158 +14270400.0,3188.607,10769.595,31447.217399999998,3659.66667,3659.66667,3659.66667,3220.2905,18295.35344,5224.032,1810.3323,2758.6016,1190.88,1190.88,1190.88,1150.3204999999998,3188.607,3188.607,19616.80578,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,9587.078379999999,9587.078379999999 +14274000.0,5362.566,11595.444,33858.69648,12808.83538,12808.83538,12808.83538,11271.011499999999,26913.867759999997,13145.45536,6336.15822,9655.098240000001,2553.6,2553.6,2553.6,4026.1234999999997,5362.566,5362.566,19062.501379999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2772.906,2772.906,2772.906,2772.906,16123.448439999998,16123.448439999998 +14277600.0,99960.933,7474.782,21826.36344,103554.48741000002,103554.48741000002,103554.48741000002,90168.099,84048.52664000001,28788.164480000003,62960.31062999999,95939.52096,17390.979,17390.979,17390.979,32208.977499999994,99960.933,99960.933,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,28890.363000000005,28890.363000000005,28890.363000000005,28890.363000000005,300549.20522,300549.20522 +14281200.0,193700.00699999998,84638.976,247145.80991999997,180333.32394000003,180333.32394000003,180333.32394000003,149743.45400000003,134127.64208,123649.40480000002,109759.20459,167252.12128,64923.09300000001,64923.09300000001,64923.09300000001,53489.9085,193700.00699999998,193700.00699999998,20083.98665,53522.58869999999,79557.03308,138762.267,39382.05292,50086.57066,54267.70499999999,54267.70499999999,54267.70499999999,54267.70499999999,582391.3543799999,582391.3543799999 +14284800.0,142148.073,38234.616,111645.07872,133632.54035999998,133632.54035999998,133632.54035999998,115930.41599999998,90382.14095999999,213559.44,196355.30375999998,299208.08191999997,29507.864999999998,29507.864999999998,29507.864999999998,42093.436,142148.073,142148.073,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,103030.839,103030.839,103030.839,103030.839,427391.87282,427391.87282 +14288400.0,110482.806,24096.012000000002,70360.35504000001,157396.19181000002,157396.19181000002,157396.19181000002,136862.2955,132118.32584,43696.332160000005,101540.17713,154727.88895999998,50691.651,50691.651,50691.651,48888.6265,110482.806,110482.806,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,86534.313,86534.313,86534.313,86534.313,332184.97004,332184.97004 +14292000.0,40769.58,43689.096,127572.16032,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,331997.14384,31358.54272,141822.81183000002,216110.95136000004,18469.731,18469.731,18469.731,35084.777,40769.58,40769.58,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,40476.867,40476.867,40476.867,40476.867,122580.5372,122580.5372 +14295600.0,25110.267,8214.96,23987.683199999996,96981.18507,96981.18507,96981.18507,85337.66500000001,71084.95304,27245.94624,57626.54646,87811.88032,15032.913,15032.913,15032.913,30483.495,25110.267,25110.267,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,25386.887999999995,25386.887999999995,25386.887999999995,25386.887999999995,75498.20277999999,75498.20277999999 +14299200.0,31049.240999999998,10779.897,31477.29924,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,81753.35991999999,27355.290240000002,57978.51339,88348.21088000001,13476.948,13476.948,13476.948,25882.213000000003,31049.240999999998,31049.240999999998,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,29269.455,29269.455,29269.455,29269.455,93354.71793999999,93354.71793999999 +14302800.0,19865.760000000002,5788.662,16902.89304,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,51501.59344,20019.26528,37844.07396,57667.16032,10262.807999999999,10262.807999999999,10262.807999999999,20705.7725,19865.760000000002,19865.760000000002,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,18867.309,18867.309,18867.309,18867.309,59729.7184,59729.7184 +14306400.0,13852.854000000001,4140.426,12090.04392,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,36888.81552,15936.305920000003,29351.098560000002,44725.48352,8792.835,8792.835,8792.835,17829.9695,13852.854000000001,13852.854000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13059.915,13059.915,13059.915,13059.915,41650.91436,41650.91436 +14310000.0,10158.855000000001,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,22352.602440000002,34061.10848,6807.357,6807.357,6807.357,13803.846000000001,10158.855000000001,10158.855000000001,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,30544.2907,30544.2907 +14313600.0,11064.065999999999,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24760.618260000003,37730.46592,7658.277,7658.277,7658.277,15529.3285,11064.065999999999,11064.065999999999,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,33265.958439999995,33265.958439999995 +14317200.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +14320800.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70844.25684,107953.15328000001,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +14324400.0,35823.156,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,91412.68488,40611.8848,75272.11587,114700.36704,22407.549,22407.549,22407.549,45437.66499999999,35823.156,35823.156,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,32414.625,32414.625,32414.625,32414.625,107708.28904,107708.28904 +14328000.0,42155.076,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,37893.31008,69545.50365,105974.10080000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,42155.076,42155.076,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,43374.621,43374.621,43374.621,43374.621,126746.26183999999,126746.26183999999 +14331600.0,30686.933999999997,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,65094.68399999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,30686.933999999997,30686.933999999997,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,23517.111,23517.111,23517.111,23517.111,92265.38156,92265.38156 +14335200.0,17259.932999999997,6088.677,17778.93684,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17259.932999999997,17259.932999999997,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51894.86521999999,51894.86521999999 +14338800.0,9519.27,7361.397,21495.27924,36596.67484,36596.67484,36596.67484,32202.8945,26706.65872,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,9519.27,9519.27,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,28621.2718,28621.2718 +14342400.0,5433.389999999999,8395.443,24514.693559999996,12808.83538,12808.83538,12808.83538,11271.011499999999,21472.733920000002,12472.146560000001,6336.15822,9655.098240000001,2601.741,2601.741,2601.741,4026.1234999999997,5433.389999999999,5433.389999999999,19392.116249999995,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,16336.392599999997,16336.392599999997 +14346000.0,4835.637000000001,13841.055,40415.880600000004,7319.33334,7319.33334,7319.33334,6440.577499999999,28741.127839999997,16568.792960000002,3620.65977,5517.19584,1924.209,1924.209,1924.209,2300.6409999999996,4835.637000000001,4835.637000000001,26446.18327,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1645.188,1645.188,1645.188,1645.188,14539.148580000001,14539.148580000001 +14349600.0,4522.701,15437.835,45078.4782,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,29783.28752,30521.631360000003,905.16615,1379.3008,2638.164,2638.164,2638.164,575.162,4522.701,4522.701,26131.04169,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2302.9080000000004,2302.9080000000004,2302.9080000000004,2302.9080000000004,13598.25434,13598.25434 +14353200.0,6438.273000000001,14474.709,42266.15028,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,33591.779279999995,27636.3424,3363.56853,5125.43776,7576.722,7576.722,7576.722,575.162,6438.273000000001,6438.273000000001,25437.583989999996,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2135.538,2135.538,2135.538,2135.538,19357.740820000003,19357.740820000003 +14356800.0,6680.655000000001,13085.147999999997,38208.632159999994,3659.66667,3659.66667,3659.66667,3220.2905,31603.02568,24086.862080000003,8278.88565,12615.4448,7150.38,7150.38,7150.38,1150.3204999999998,6680.655000000001,6680.655000000001,22861.280649999997,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2280.1349999999998,2280.1349999999998,2280.1349999999998,2280.1349999999998,20086.5027,20086.5027 +14360400.0,6907.287,10104.777,29505.94884,12885.14381,12885.14381,12885.14381,11271.011499999999,27922.856239999997,18760.2752,13281.87693,20239.050560000003,6581.9580000000005,6581.9580000000005,6581.9580000000005,4026.1234999999997,6907.287,6907.287,17354.64835,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,3710.1719999999996,3710.1719999999996,3710.1719999999996,3710.1719999999996,20767.90958,20767.90958 +14364000.0,117477.909,7474.782,21826.36344,104024.49508000001,104024.49508000001,104024.49508000001,90168.099,88771.03095999999,28788.164480000003,71946.85407,109633.30144,22418.457000000002,22418.457000000002,22418.457000000002,32208.977499999994,117477.909,117477.909,20317.141779999998,32133.611249999998,47764.034499999994,83309.36249999999,23643.9905,30070.71275,36991.452,36991.452,36991.452,36991.452,353216.91306,353216.91306 +14367600.0,195493.04099999997,70899.84900000002,207027.55908000004,178808.72228999998,178808.72228999998,178808.72228999998,149743.45400000003,137294.5748,111220.51712,109704.81879,167169.24768,59375.886,59375.886,59375.886,53489.9085,195493.04099999997,195493.04099999997,20083.98665,53673.98174999999,79782.0667,139154.7675,39493.4483,50228.24465,55290.725999999995,55290.725999999995,55290.725999999995,55290.725999999995,587782.4099399999,587782.4099399999 +14371200.0,123070.977,30910.884000000002,90259.78128000001,133355.52395,133355.52395,133355.52395,115930.41599999998,83038.8432,171955.42976000003,150713.94828,229659.34976,24029.562,24029.562,24029.562,41411.5415,123070.977,123070.977,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,84578.75700000001,84578.75700000001,84578.75700000001,84578.75700000001,370033.40417999995,370033.40417999995 +14374800.0,88467.906,18758.574,54775.03608,156612.40342000005,156612.40342000005,156612.40342000005,136862.2955,121854.56087999999,43696.332160000005,87730.82073,133685.06016,34269.915,34269.915,34269.915,48888.6265,88467.906,88467.906,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,70337.667,70337.667,70337.667,70337.667,265993.50403999997,265993.50403999997 +14378400.0,34181.391,33946.236000000004,99123.00912,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,283911.08608000004,31358.54272,125199.1062,190779.59040000002,17383.941,17383.941,17383.941,35084.777,34181.391,34181.391,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,34693.281,34693.281,34693.281,34693.281,102772.04894,102772.04894 +14382000.0,22407.690000000002,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,59420.72688,27245.94624,53027.343179999996,80803.57056,15032.913,15032.913,15032.913,30483.495,22407.690000000002,22407.690000000002,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,21244.953,21244.953,21244.953,21244.953,67372.4546,67372.4546 +14385600.0,21528.954,8063.951999999999,23546.73984,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,70268.52104,23133.34976,46196.23554,70394.26368,12763.794,12763.794,12763.794,25882.213000000003,21528.954,21528.954,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,22503.783000000003,22503.783000000003,22503.783000000003,22503.783000000003,64730.38836,64730.38836 +14389200.0,16501.602,5173.9619999999995,15107.96904,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,46178.018800000005,18506.68416,34809.17727,53042.55584000001,10211.037,10211.037,10211.037,20705.7725,16501.602,16501.602,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,16353.039,16353.039,16353.039,16353.039,49614.816679999996,49614.816679999996 +14392800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +14396400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21725.29653,33105.21376,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +14400000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +14403600.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +14407200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +14410800.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71820.00378,109440.00576000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +14414400.0,30713.628,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,30713.628,30713.628,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,92345.64152,92345.64152 +14418000.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +14421600.0,16994.781000000003,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16994.781000000003,16994.781000000003,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51097.641540000004,51097.641540000004 +14425200.0,8729.433,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8729.433,8729.433,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26246.49522,26246.49522 +14428800.0,3507.5730000000003,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3507.5730000000003,3507.5730000000003,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10546.10282,10546.10282 +14432400.0,2317.938,613.8720000000001,1792.5062400000002,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2317.938,2317.938,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6969.266919999999,6969.266919999999 +14436000.0,1940.7240000000002,4916.397,14355.87924,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,5456.44632,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1940.7240000000002,1940.7240000000002,1296.3767699999999,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,5835.11016,5835.11016 +14439600.0,2934.762,8453.991,24685.65372,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,15566.852879999999,7279.927680000001,905.16615,1379.3008,829.029,829.029,829.029,575.162,2934.762,2934.762,17908.94794,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,8823.85108,8823.85108 +14443200.0,3584.9700000000003,13000.673999999999,37961.96808,3659.66667,3659.66667,3659.66667,3220.2905,25250.40216,13787.146880000002,1810.3323,2758.6016,1313.445,1313.445,1313.445,1150.3204999999998,3584.9700000000003,3584.9700000000003,24419.34547,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,10778.809799999999,10778.809799999999 +14446800.0,11015.139000000001,10450.935,30516.730199999998,12808.83538,12808.83538,12808.83538,11271.011499999999,24893.42048,19910.9984,6336.15822,9655.098240000001,2498.613,2498.613,2498.613,4026.1234999999997,11015.139000000001,11015.139000000001,17281.089019999996,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,3634.443,3634.443,3634.443,3634.443,33118.85126,33118.85126 +14450400.0,39811.398,8606.412,25130.72304,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,64528.77632,28788.164480000003,56397.89589000001,85939.65088,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,39811.398,39811.398,217258.55137999996,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,25138.274999999998,25138.274999999998,25138.274999999998,25138.274999999998,119699.60332,119699.60332 +14454000.0,63043.668000000005,104230.39500000002,304352.75340000005,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,381500.57544,47808.917760000004,219662.88414,334724.39488000004,31851.524999999998,31851.524999999998,31851.524999999998,53489.9085,63043.668000000005,63043.668000000005,20083.98665,69800.7537,103753.21908,180964.91700000002,51359.566920000005,65319.71766,84837.09599999999,84837.09599999999,84837.09599999999,84837.09599999999,189551.29512,189551.29512 +14457600.0,71308.908,9610.437,28062.476039999998,131773.14865,131773.14865,131773.14865,115930.41599999998,77076.69376,61351.75424000001,70404.39357,107282.88544,20422.071,20422.071,20422.071,41411.5415,71308.908,71308.908,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,214402.11672,214402.11672 +14461200.0,41411.943,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,48975.86304,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,41411.943,41411.943,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,124511.90861999999,124511.90861999999 +14464800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +14468400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +14472000.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +14475600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +14479200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33781.8888,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +14482800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +14486400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +14490000.0,18399.288,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,18399.288,18399.288,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,55320.52592,55320.52592 +14493600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +14497200.0,33617.88,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,33617.88,33617.88,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,101077.75919999999,101077.75919999999 +14500800.0,31630.188000000002,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31630.188000000002,31630.188000000002,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,95101.43192,95101.43192 +14504400.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +14508000.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +14511600.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +14515200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +14518800.0,1896.0120000000002,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1896.0120000000002,1896.0120000000002,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,5700.67608,5700.67608 +14522400.0,975.9300000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,975.9300000000001,975.9300000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2934.2961999999998,2934.2961999999998 +14526000.0,1000.4250000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1000.4250000000001,1000.4250000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,3007.9445,3007.9445 +14529600.0,1361.379,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1361.379,1361.379,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,4093.2128599999996,4093.2128599999996 +14533200.0,3630.2039999999997,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3630.2039999999997,3630.2039999999997,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10914.81336,10914.81336 +14536800.0,25259.442000000003,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,25259.442000000003,25259.442000000003,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,75946.72228,75946.72228 +14540400.0,43146.573000000004,47633.4,139089.52800000002,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,252312.94264,47808.917760000004,132950.95191,202591.92672000002,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,43146.573000000004,43146.573000000004,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,46460.409,46460.409,46460.409,46460.409,129727.36282,129727.36282 +14544000.0,43414.143,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,43574.2912,68630.18001000001,104579.32192000002,20422.071,20422.071,20422.071,41411.5415,43414.143,43414.143,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,130531.85661999999,130531.85661999999 +14547600.0,36635.391,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,44993.467520000006,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,36635.391,36635.391,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,110150.40894,110150.40894 +14551200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +14554800.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +14558400.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +14562000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +14565600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +14569200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +14572800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +14576400.0,24264.693,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,24264.693,24264.693,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,72955.84362,72955.84362 +14580000.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +14583600.0,34508.586,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,85621.554,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,34508.586,34508.586,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,103755.81524000001,103755.81524000001 +14587200.0,31474.788000000004,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,78565.89376,35985.208320000005,64956.52064999999,98981.3648,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31474.788000000004,31474.788000000004,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,94634.19592000001,94634.19592000001 +14590800.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +14594400.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +14598000.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +14601600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +14605200.0,1798.377,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1798.377,1798.377,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,5407.120179999999,5407.120179999999 +14608800.0,872.565,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,872.565,872.565,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2623.5121,2623.5121 +14612400.0,881.5889999999999,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,881.5889999999999,881.5889999999999,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2650.64426,2650.64426 +14616000.0,1273.1490000000001,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1273.1490000000001,1273.1490000000001,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3827.9346600000003,3827.9346600000003 +14619600.0,3168.4980000000005,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3168.4980000000005,3168.4980000000005,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9526.617320000001,9526.617320000001 +14623200.0,24280.368000000002,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,24280.368000000002,24280.368000000002,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,73002.97312000001,73002.97312000001 +14626800.0,42321.072,33419.793000000005,97585.79556,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,213640.18232,47808.917760000004,121292.96444999998,184827.3744,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,42321.072,42321.072,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,41604.447,41604.447,41604.447,41604.447,127245.35647999999,127245.35647999999 +14630400.0,34570.851,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,66536.46195,101388.8944,20422.071,20422.071,20422.071,41411.5415,34570.851,34570.851,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,103943.02534,103943.02534 +14634000.0,34823.964,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34823.964,34823.964,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,104704.05175999999,104704.05175999999 +14637600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +14641200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +14644800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +14648400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +14652000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33383.8636,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +14655600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +14659200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +14662800.0,25444.275,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,48043.31479999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,25444.275,25444.275,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,76502.4535,76502.4535 +14666400.0,32221.134000000002,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83693.68824,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,32221.134000000002,32221.134000000002,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,96878.20956,96878.20956 +14670000.0,35191.167,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88307.8956,40611.8848,72936.60801,111141.49792,22407.549,22407.549,22407.549,45437.66499999999,35191.167,35191.167,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,105808.10878000001,105808.10878000001 +14673600.0,31792.739999999998,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,78998.91807999999,35985.208320000005,66558.93594,101423.14048,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31792.739999999998,31792.739999999998,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,30441.054,30441.054,30441.054,30441.054,95590.1716,95590.1716 +14677200.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,23130.633,23130.633,23130.633,23130.633,70414.6751,70414.6751 +14680800.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +14684400.0,8206.673999999999,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8206.673999999999,8206.673999999999,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24674.73316,24674.73316 +14688000.0,3256.557,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3256.557,3256.557,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9791.381379999999,9791.381379999999 +14691600.0,2050.635,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2050.635,2050.635,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6165.575900000001,6165.575900000001 +14695200.0,841.671,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,841.671,841.671,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2530.62414,2530.62414 +14698800.0,844.023,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,844.023,844.023,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2537.69582,2537.69582 +14702400.0,1237.614,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1237.614,1237.614,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3721.09276,3721.09276 +14706000.0,3463.065,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3463.065,3463.065,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10412.2821,10412.2821 +14709600.0,25523.547,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,25523.547,25523.547,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,76740.79798,76740.79798 +14713200.0,44543.286,42425.757,123883.21044,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,250541.46039999998,47808.917760000004,132465.87018,201852.75456,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,44543.286,44543.286,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,46623.066,46623.066,46623.066,46623.066,133926.81324,133926.81324 +14716800.0,42358.511999999995,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,40786.378240000005,66649.43082,101561.03744,20422.071,20422.071,20422.071,41411.5415,42358.511999999995,42358.511999999995,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,127357.92607999999,127357.92607999999 +14720400.0,35840.079,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,35840.079,35840.079,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,107759.17085999998,107759.17085999998 +14724000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +14727600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +14731200.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +14734800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +14738400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33900.50504,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +14742000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +14745600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +14749200.0,26654.001000000004,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,49661.806560000005,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,26654.001000000004,26654.001000000004,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,80139.69634000001,80139.69634000001 +14752800.0,31751.409,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31751.409,31751.409,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,95465.90306,95465.90306 +14756400.0,34898.283,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,87467.88168,40611.8848,72913.98912,111107.03103999999,22407.549,22407.549,22407.549,45437.66499999999,34898.283,34898.283,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31456.164000000004,31456.164000000004,31456.164000000004,31456.164000000004,104927.50422,104927.50422 +14760000.0,31854.413999999997,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,79080.76568,35985.208320000005,66988.53063000001,102077.76096000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31854.413999999997,31854.413999999997,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,31948.116,31948.116,31948.116,31948.116,95775.60475999999,95775.60475999999 +14763600.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,24584.766000000003,24584.766000000003,24584.766000000003,24584.766000000003,70414.6751,70414.6751 +14767200.0,16639.827,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16639.827,16639.827,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,50030.41318,50030.41318 +14770800.0,8644.527,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8644.527,8644.527,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25991.21118,25991.21118 +14774400.0,3384.8549999999996,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3384.8549999999996,3384.8549999999996,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10177.130699999998,10177.130699999998 +14778000.0,2159.505,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2159.505,2159.505,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6492.9117,6492.9117 +14781600.0,958.335,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,958.335,958.335,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2881.3938999999996,2881.3938999999996 +14785200.0,974.781,1886.547,5508.71724,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,974.781,974.781,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2930.8415399999994,2930.8415399999994 +14788800.0,1703.103,4233.201,12360.94692,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1703.103,1703.103,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,5120.66302,5120.66302 +14792400.0,5198.316,3811.4040000000005,11129.29968,12808.83538,12808.83538,12808.83538,11271.011499999999,12729.37208,3598.5164800000002,6336.15822,9655.098240000001,2124.459,2124.459,2124.459,4026.1234999999997,5198.316,5198.316,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,15629.603439999999,15629.603439999999 +14796000.0,27352.965000000004,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,27352.965000000004,27352.965000000004,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,82241.2481,82241.2481 +14799600.0,47799.504,64617.231,188682.31452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,310783.85776,47808.917760000004,165314.39588999999,251907.65088,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,47799.504,47799.504,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,55498.37699999999,55498.37699999999,55498.37699999999,55498.37699999999,143717.17536,143717.17536 +14803200.0,61946.081999999995,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,58262.22592000001,68745.873,104755.61600000001,20422.071,20422.071,20422.071,41411.5415,61946.081999999995,61946.081999999995,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,186251.21988,186251.21988 +14806800.0,41564.688,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,65419.81888,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,41564.688,41564.688,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,124971.16192,124971.16192 +14810400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +14814000.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +14817600.0,18216.741,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,49316.750159999996,23133.34976,40732.447770000006,62068.49184000001,13376.508000000002,13376.508000000002,13376.508000000002,25882.213000000003,18216.741,18216.741,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54771.66794,54771.66794 +14821200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +14824800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,36404.94232,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +14828400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +14832000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +14835600.0,27764.169,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,51173.502239999994,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,27764.169,27764.169,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,83477.60145999999,83477.60145999999 +14839200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +14842800.0,33477.249,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,85181.4224,40611.8848,71622.83835,109139.5632,22407.549,22407.549,22407.549,45437.66499999999,33477.249,33477.249,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,100654.92866,100654.92866 +14846400.0,32102.958,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,79427.2704,35985.208320000005,66401.23644,101182.83648,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,32102.958,32102.958,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,31701.575999999997,31701.575999999997,31701.575999999997,31701.575999999997,96522.89372,96522.89372 +14850000.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,24924.180000000004,24924.180000000004,24924.180000000004,24924.180000000004,70414.6751,70414.6751 +14853600.0,16731.264,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16731.264,16731.264,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,50305.333759999994,50305.333759999994 +14857200.0,8764.713,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8764.713,8764.713,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26352.570419999996,26352.570419999996 +14860800.0,3531.192,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3531.192,3531.192,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10617.11728,10617.11728 +14864400.0,2335.647,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2335.647,2335.647,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,7022.511979999999,7022.511979999999 +14868000.0,1149.489,2856.2039999999997,8340.115679999999,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1149.489,1149.489,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,3456.13026,3456.13026 +14871600.0,2201.943,6308.9400000000005,18422.1048,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,13671.86632,513.5360000000001,905.16615,1379.3008,408.876,408.876,408.876,575.162,2201.943,2201.943,5651.851009999999,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,6620.50862,6620.50862 +14875200.0,2932.86,7859.576999999999,22949.96484,3659.66667,3659.66667,3659.66667,3220.2905,14175.104959999997,9487.000960000001,1810.3323,2758.6016,1241.829,1241.829,1241.829,1150.3204999999998,2932.86,2932.86,17868.02446,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,8818.1324,8818.1324 +14878800.0,4890.215999999999,8882.646,25937.32632,12808.83538,12808.83538,12808.83538,11271.011499999999,17634.31216,10619.500160000001,6336.15822,9655.098240000001,2518.497,2518.497,2518.497,4026.1234999999997,4890.215999999999,4890.215999999999,17556.24507,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,14703.249439999998,14703.249439999998 +14882400.0,41543.841,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,67656.26568,28788.164480000003,52303.51937999999,79700.60096,15938.951999999997,15938.951999999997,15938.951999999997,32208.977499999994,41543.841,41543.841,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,23663.022000000004,23663.022000000004,23663.022000000004,23663.022000000004,124908.48194,124908.48194 +14886000.0,81276.63,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,103816.99672000001,47808.917760000004,84180.38915999999,128274.87872,26427.048,26427.048,26427.048,53489.9085,81276.63,81276.63,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,40021.743,40021.743,40021.743,40021.743,244371.73419999998,244371.73419999998 +14889600.0,55120.272,9741.159000000001,28444.18428,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,66833.02208000001,91236.768,139027.456,20422.071,20422.071,20422.071,41411.5415,55120.272,55120.272,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,51543.114,51543.114,51543.114,51543.114,165728.28447999997,165728.28447999997 +14893200.0,47069.74800000001,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,99735.70103999999,43696.332160000005,77541.73287,118158.83104,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,47069.74800000001,47069.74800000001,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,55640.85599999999,55640.85599999999,55640.85599999999,55640.85599999999,141523.04232,141523.04232 +14896800.0,24630.870000000003,8268.42,24143.786399999997,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,114133.67791999999,31358.54272,72282.08505000001,110144.12960000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +14900400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,48383.01321,73726.49632,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +14904000.0,18481.815000000002,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,49967.37288,23133.34976,42333.6942,64508.4864,12763.794,12763.794,12763.794,25882.213000000003,18481.815000000002,18481.815000000002,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,55568.657100000004,55568.657100000004 +14907600.0,14700.429,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32968.40148,50237.564159999994,10211.037,10211.037,10211.037,20705.7725,14700.429,14700.429,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,44199.28986,44199.28986 +14911200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +14914800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +14918400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +14922000.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +14925600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +14929200.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +14932800.0,28798.058999999997,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28798.058999999997,28798.058999999997,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,86586.16406,86586.16406 +14936400.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +14940000.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +14943600.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +14947200.0,3100.491,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3100.491,3100.491,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9322.14294,9322.14294 +14950800.0,2149.65,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2149.65,2149.65,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6463.281,6463.281 +14954400.0,953.1300000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,953.1300000000001,953.1300000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2865.7442,2865.7442 +14958000.0,980.568,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,980.568,980.568,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2948.2411199999997,2948.2411199999997 +14961600.0,1379.6519999999998,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1379.6519999999998,1379.6519999999998,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,4148.153679999999,4148.153679999999 +14965200.0,3296.538,1037.544,3029.62848,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3296.538,3296.538,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9911.590919999999,9911.590919999999 +14968800.0,24056.061,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,60671.000799999994,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,24056.061,24056.061,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22231.275,22231.275,22231.275,22231.275,72328.55674,72328.55674 +14972400.0,43404.566999999995,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,43404.566999999995,43404.566999999995,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,37461.132,37461.132,37461.132,37461.132,130503.06477999999,130503.06477999999 +14976000.0,38441.442,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,67505.80431,102865.98752000001,20422.071,20422.071,20422.071,41411.5415,38441.442,38441.442,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,31882.538999999997,31882.538999999997,31882.538999999997,31882.538999999997,115580.60227999999,115580.60227999999 +14979600.0,40615.893000000004,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,94736.76616,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,40615.893000000004,40615.893000000004,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,36387.96000000001,36387.96000000001,36387.96000000001,36387.96000000001,122118.45162,122118.45162 +14983200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,74790.17023999999,31358.54272,68127.75858000001,103813.72736,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +14986800.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,48037.43154,73199.89568,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +14990400.0,18214.803,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,41415.31317,63109.04864,12763.794,12763.794,12763.794,25882.213000000003,18214.803,18214.803,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54765.84102,54765.84102 +14994000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +14997600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +15001200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +15004800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +15008400.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +15012000.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +15015600.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +15019200.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +15022800.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +15026400.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +15030000.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +15033600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15037200.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +15040800.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15044400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15048000.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +15051600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15055200.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +15058800.0,37551.981,14411.139000000003,42080.52588,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,128470.60343999999,47808.917760000004,98611.10091000001,150264.53472,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +15062400.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +15066000.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +15069600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +15073200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +15076800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +15080400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +15084000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +15087600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +15091200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +15094800.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +15098400.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +15102000.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +15105600.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +15109200.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +15112800.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +15116400.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +15120000.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15123600.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +15127200.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15130800.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15134400.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +15138000.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15141600.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +15145200.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,89887.00518000001,136970.67456,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +15148800.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +15152400.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +15156000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +15159600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +15163200.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +15166800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +15170400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +15174000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +15177600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +15181200.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +15184800.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +15188400.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +15192000.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +15195600.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +15199200.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +15202800.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +15206400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15210000.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +15213600.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15217200.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15220800.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +15224400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15228000.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +15231600.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,86062.68846,131143.14432000002,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +15235200.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +15238800.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +15242400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +15246000.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +15249600.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +15253200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +15256800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +15260400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +15264000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +15267600.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +15271200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +15274800.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +15278400.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +15282000.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +15285600.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +15289200.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +15292800.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15296400.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +15300000.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15303600.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15307200.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +15310800.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15314400.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +15318000.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,90790.88172,138348.01024,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +15321600.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +15325200.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +15328800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +15332400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +15336000.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +15339600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +15343200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +15346800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +15350400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +15354000.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +15357600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +15361200.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +15364800.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +15368400.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +15372000.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +15375600.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +15379200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15382800.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +15386400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15390000.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15393600.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +15397200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15400800.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +15404400.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,113870.91296,47808.917760000004,96858.62718,147594.09855999998,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +15408000.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +15411600.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +15415200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +15418800.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +15422400.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +15426000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +15429600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +15433200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +15436800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +15440400.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +15444000.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +15447600.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +15451200.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +15454800.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +15458400.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +15462000.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +15465600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15469200.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +15472800.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15476400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15480000.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +15483600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15487200.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +15490800.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +15494400.0,29424.603000000003,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29424.603000000003,29424.603000000003,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,88469.97302,88469.97302 +15498000.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +15501600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +15505200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +15508800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +15512400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +15516000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +15519600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +15523200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +15526800.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +15530400.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +15534000.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +15537600.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +15541200.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +15544800.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +15548400.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +15552000.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15555600.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +15559200.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15562800.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15566400.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +15570000.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15573600.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +15577200.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +15580800.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +15584400.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +15588000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +15591600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +15595200.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +15598800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +15602400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +15606000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +15609600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +15613200.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +15616800.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +15620400.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +15624000.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +15627600.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +15631200.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +15634800.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +15638400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15642000.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +15645600.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15649200.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15652800.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +15656400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15660000.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +15663600.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,88311.90836999999,134570.52704,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +15667200.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +15670800.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +15674400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +15678000.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +15681600.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +15685200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +15688800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +15692400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +15696000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +15699600.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +15703200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +15706800.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +15710400.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +15714000.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +15717600.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +15721200.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +15724800.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15728400.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +15732000.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15735600.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15739200.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +15742800.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15746400.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +15750000.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,101418.23424,47808.917760000004,98617.95468,150274.97856,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +15753600.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +15757200.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +15760800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +15764400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +15768000.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +15771600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +15775200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +15778800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +15782400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +15786000.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +15789600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +15793200.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +15796800.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +15800400.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +15804000.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +15807600.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +15811200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +15814800.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +15818400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +15822000.0,572.1990000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,572.1990000000001,572.1990000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1720.41166,1720.41166 +15825600.0,1333.0980000000002,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1333.0980000000002,1333.0980000000002,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,4008.18132,4008.18132 +15829200.0,3156.9030000000002,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3156.9030000000002,3156.9030000000002,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9491.75502,9491.75502 +15832800.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +15836400.0,37551.981,15581.376,45497.617920000004,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,124128.23056,47808.917760000004,100867.21323,153702.42016,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +15840000.0,29827.683000000005,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29827.683000000005,29827.683000000005,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,89681.90022000001,89681.90022000001 +15843600.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +15847200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +15850800.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +15854400.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +15858000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +15861600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +15865200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +15868800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +15872400.0,20563.827,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,20563.827,20563.827,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,61828.57318,61828.57318 +15876000.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +15879600.0,32963.945999999996,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,32963.945999999996,32963.945999999996,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,99111.59763999999,99111.59763999999 +15883200.0,31621.905,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,65051.80689,99126.56288,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31621.905,31621.905,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,95076.52769999999,95076.52769999999 +15886800.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +15890400.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +15894000.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +15897600.0,3239.9039999999995,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3239.9039999999995,3239.9039999999995,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9741.311359999998,9741.311359999998 +15901200.0,2240.943,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2240.943,2240.943,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6737.76862,6737.76862 +15904800.0,1053.6779999999999,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1053.6779999999999,1053.6779999999999,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,3168.05852,3168.05852 +15908400.0,1078.011,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1078.011,1078.011,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,3241.2197399999995,3241.2197399999995 +15912000.0,1483.9379999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1483.9379999999999,1483.9379999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,4461.70692,4461.70692 +15915600.0,3364.8629999999994,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3364.8629999999994,3364.8629999999994,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10117.02142,10117.02142 +15919200.0,24610.802999999996,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,24610.802999999996,24610.802999999996,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,73996.48101999999,73996.48101999999 +15922800.0,39400.371,45341.34299999999,132396.72155999998,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,229819.75048,47808.917760000004,118299.34977,180265.67584,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,39400.371,39400.371,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,39927.573,39927.573,39927.573,39927.573,118463.78213999998,118463.78213999998 +15926400.0,32786.448,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,67790.33478,103299.55776,20422.071,20422.071,20422.071,41411.5415,32786.448,32786.448,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,98577.92031999999,98577.92031999999 +15930000.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +15933600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +15937200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +15940800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +15944400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +15948000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +15951600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +15955200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +15958800.0,26734.215000000004,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,40359.5283,61500.23360000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,26734.215000000004,26734.215000000004,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,80380.8731,80380.8731 +15962400.0,31549.29,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70899.71973000001,108037.66816000002,22123.911,22123.911,22123.911,44862.503,31549.29,31549.29,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94858.1986,94858.1986 +15966000.0,34772.856,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,73448.27889,111921.18688000001,22407.549,22407.549,22407.549,45437.66499999999,34772.856,34772.856,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,104550.38703999999,104550.38703999999 +15969600.0,31563.186,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,76891.47232,35985.208320000005,65536.47323999999,99865.10208,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31563.186,31563.186,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,94899.97924,94899.97924 +15973200.0,23577.218999999997,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23577.218999999997,23577.218999999997,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70888.83845999998,70888.83845999998 +15976800.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +15980400.0,8136.963000000002,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8136.963000000002,8136.963000000002,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24465.135420000002,24465.135420000002 +15984000.0,3251.571,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3251.571,3251.571,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9776.39014,9776.39014 +15987600.0,2018.067,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2018.067,2018.067,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6067.65478,6067.65478 +15991200.0,805.5360000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,805.5360000000001,805.5360000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2421.97824,2421.97824 +15994800.0,801.174,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,801.174,801.174,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2408.86316,2408.86316 +15998400.0,1199.19,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1199.19,1199.19,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3605.5646,3605.5646 +16002000.0,3172.143,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3172.143,3172.143,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9537.57662,9537.57662 +16005600.0,23557.248,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,23557.248,23557.248,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,70828.79232,70828.79232 +16009200.0,40463.816999999995,38367.261,112032.40212,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,201380.45136000004,47808.917760000004,115289.33724000001,175678.99008000002,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,40463.816999999995,40463.816999999995,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,39181.881,39181.881,39181.881,39181.881,121661.20977999998,121661.20977999998 +16012800.0,33217.989,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,67324.14318,102589.17056000001,20422.071,20422.071,20422.071,41411.5415,33217.989,33217.989,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,99875.42026,99875.42026 +16016400.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +16020000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +16023600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +16027200.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +16030800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +16034400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +16038000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +16041600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +16045200.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +16048800.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +16052400.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +16056000.0,29733.839999999997,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,29733.839999999997,29733.839999999997,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,89399.74559999998,89399.74559999998 +16059600.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +16063200.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +16066800.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +16070400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +16074000.0,1661.703,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1661.703,1661.703,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4996.187019999999,4996.187019999999 +16077600.0,944.9669999999999,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,944.9669999999999,944.9669999999999,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2841.2007799999997,2841.2007799999997 +16081200.0,941.1959999999999,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,941.1959999999999,941.1959999999999,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2829.86264,2829.86264 +16084800.0,1306.671,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1306.671,1306.671,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3928.72414,3928.72414 +16088400.0,3181.3080000000004,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3181.3080000000004,3181.3080000000004,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9565.132720000001,9565.132720000001 +16092000.0,22870.887,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22870.887,22870.887,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,68765.13358,68765.13358 +16095600.0,39822.039,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,39822.039,39822.039,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36702.087,36702.087,36702.087,36702.087,119731.59725999998,119731.59725999998 +16099200.0,37451.898,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,37451.898,37451.898,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,112605.37332,112605.37332 +16102800.0,41888.223,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,93740.24608,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,41888.223,41888.223,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33568.845,33568.845,33568.845,33568.845,125943.92382,125943.92382 +16106400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,67119.30688,31358.54272,67201.71717,102402.61664000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +16110000.0,21439.029000000002,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,48410.23992,73767.98464000001,15032.913,15032.913,15032.913,30483.495,21439.029000000002,21439.029000000002,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64460.01386000001,64460.01386000001 +16113600.0,18829.761000000002,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,41946.453779999996,63918.405759999994,12763.794,12763.794,12763.794,25882.213000000003,18829.761000000002,18829.761000000002,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,56614.81474,56614.81474 +16117200.0,15101.775000000001,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,33245.28123,50659.476160000006,10211.037,10211.037,10211.037,20705.7725,15101.775000000001,15101.775000000001,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,45406.0035,45406.0035 +16120800.0,12667.301999999998,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28351.21128,43201.845760000004,8792.835,8792.835,8792.835,17829.9695,12667.301999999998,12667.301999999998,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,38086.35467999999,38086.35467999999 +16124400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21801.11304,33220.74368,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +16128000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +16131600.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39881.92824,60772.462080000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +16135200.0,31634.933999999997,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,71202.65733,108499.28736,22123.911,22123.911,22123.911,44862.503,31634.933999999997,31634.933999999997,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,95115.70155999999,95115.70155999999 +16138800.0,35253.531,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,74955.40311,114217.75712,22407.549,22407.549,22407.549,45437.66499999999,35253.531,35253.531,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,105995.61653999999,105995.61653999999 +16142400.0,31964.205,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31964.205,31964.205,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,28062.716999999997,28062.716999999997,28062.716999999997,28062.716999999997,96105.7097,96105.7097 +16146000.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +16149600.0,16898.976000000002,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16898.976000000002,16898.976000000002,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,50809.58784,50809.58784 +16153200.0,8651.460000000001,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8651.460000000001,8651.460000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26012.0564,26012.0564 +16156800.0,3395.49,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3395.49,3395.49,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10209.1066,10209.1066 +16160400.0,2238.717,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2238.717,2238.717,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6731.07578,6731.07578 +16164000.0,1018.239,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1018.239,1018.239,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,3061.50526,3061.50526 +16167600.0,1011.7379999999999,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1011.7379999999999,1011.7379999999999,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,3041.9589199999996,3041.9589199999996 +16171200.0,1432.2450000000001,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1432.2450000000001,1432.2450000000001,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,4306.2833,4306.2833 +16174800.0,3920.3009999999995,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3920.3009999999995,3920.3009999999995,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,11787.038339999997,11787.038339999997 +16178400.0,24606.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,24606.945,24606.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,73984.88130000001,73984.88130000001 +16182000.0,57336.609000000004,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,57336.609000000004,57336.609000000004,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,38170.005000000005,38170.005000000005,38170.005000000005,38170.005000000005,172392.07106000002,172392.07106000002 +16185600.0,48617.586,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,76498.6026,116569.2992,20422.071,20422.071,20422.071,41411.5415,48617.586,48617.586,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,44304.507,44304.507,44304.507,44304.507,146176.87524,146176.87524 +16189200.0,48277.958999999995,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,102112.86136000001,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,48277.958999999995,48277.958999999995,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,55711.272,55711.272,55711.272,55711.272,145155.73005999997,145155.73005999997 +16192800.0,25314.932999999997,15998.085,46714.4082,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,197655.43655999997,31358.54272,88572.69456,134967.91552,17302.032,17302.032,17302.032,35084.777,25314.932999999997,25314.932999999997,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,26950.325999999997,26950.325999999997,26950.325999999997,26950.325999999997,76113.56521999999,76113.56521999999 +16196400.0,22397.844,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,58504.55352,27245.94624,52141.468049999996,79453.6656,15032.913,15032.913,15032.913,30483.495,22397.844,22397.844,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,67342.85096,67342.85096 +16200000.0,20611.77,6815.805,19902.1506,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,62270.72864,23133.34976,43633.99782,66489.90144,12763.794,12763.794,12763.794,25882.213000000003,20611.77,20611.77,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,19032.837,19032.837,19032.837,19032.837,61972.7218,61972.7218 +16203600.0,15761.076000000001,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,41053.7984,18506.68416,33875.53827,51619.86784,10211.037,10211.037,10211.037,20705.7725,15761.076000000001,15761.076000000001,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14335.002000000002,14335.002000000002,14335.002000000002,14335.002000000002,47388.30184,47388.30184 +16207200.0,13029.753,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28765.7412,43833.51040000001,8792.835,8792.835,8792.835,17829.9695,13029.753,13029.753,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,39176.12402,39176.12402 +16210800.0,9697.107,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21932.300669999997,33420.64864,6807.357,6807.357,6807.357,13803.846000000001,9697.107,9697.107,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29155.96838,29155.96838 +16214400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24572.51874,37443.83808,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +16218000.0,17807.979,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,40117.45353,61131.35776,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17807.979,17807.979,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53542.656859999996,53542.656859999996 +16221600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70624.38075,107618.104,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +16225200.0,35182.041000000005,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84905.424,40611.8848,75087.71130000001,114419.3696,22407.549,22407.549,22407.549,45437.66499999999,35182.041000000005,35182.041000000005,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,105780.66994,105780.66994 +16228800.0,33431.883,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,33431.883,33431.883,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,29946.045000000006,29946.045000000006,29946.045000000006,29946.045000000006,100518.52822000001,100518.52822000001 +16232400.0,24166.161,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,24166.161,24166.161,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,72659.59074,72659.59074 +16236000.0,17257.32,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17257.32,17257.32,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51887.0088,51887.0088 +16239600.0,8799.621000000001,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8799.621000000001,8799.621000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26457.527140000002,26457.527140000002 +16243200.0,3581.736,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3581.736,3581.736,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10769.08624,10769.08624 +16246800.0,2629.758,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2629.758,2629.758,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,7906.805719999999,7906.805719999999 +16250400.0,2559.684,4982.691,14549.457719999999,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,2559.684,2559.684,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,7696.11656,7696.11656 +16254000.0,2403.315,4719.888,13782.07296,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,2403.315,2403.315,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,7225.9671,7225.9671 +16257600.0,2626.215,4431.6630000000005,12940.45596,3659.66667,3659.66667,3659.66667,3220.2905,6217.14136,1028.16,1810.3323,2758.6016,956.9759999999999,956.9759999999999,956.9759999999999,1150.3204999999998,2626.215,2626.215,7480.204159999999,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,7896.1530999999995,7896.1530999999995 +16261200.0,8126.031000000001,7137.860999999999,20842.554119999997,12808.83538,12808.83538,12808.83538,11271.011499999999,14296.390079999997,3598.5164800000002,6336.15822,9655.098240000001,2430.945,2430.945,2430.945,4026.1234999999997,8126.031000000001,8126.031000000001,7874.109489999999,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,24432.26654,24432.26654 +16264800.0,35972.058,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,35972.058,35972.058,158200.29393999997,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,108155.98771999999,108155.98771999999 +16268400.0,58027.563,112681.42800000001,329029.76976,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,422923.08808,47808.917760000004,213933.04548,325993.21216,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,58027.563,58027.563,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,68426.886,68426.886,68426.886,68426.886,174469.53942,174469.53942 +16272000.0,97253.541,9610.437,28062.476039999998,133081.60887999999,133081.60887999999,133081.60887999999,115930.41599999998,77076.69376,75188.26368,76609.16613,116737.77696000002,20422.071,20422.071,20422.071,41411.5415,97253.541,97253.541,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,292408.97994,292408.97994 +16275600.0,56020.244999999995,15306.696,44695.552319999995,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,90172.81984000003,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,56020.244999999995,56020.244999999995,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,168434.20329999996,168434.20329999996 +16279200.0,24784.193999999996,9054.056999999999,26437.846439999998,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24784.193999999996,24784.193999999996,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74517.80995999998,74517.80995999998 +16282800.0,21968.634,9289.893,27126.487559999998,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21968.634,21968.634,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,66052.35956,66052.35956 +16286400.0,20862.021,10032.795,29295.7614,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,54228.931840000005,23523.61536,40732.447770000006,62068.49184000001,16007.844000000001,16007.844000000001,16007.844000000001,25882.213000000003,20862.021,20862.021,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,62725.14313999999,62725.14313999999 +16290000.0,15490.977000000003,6828.42,19938.986399999998,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,15490.977000000003,15490.977000000003,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,46576.20418,46576.20418 +16293600.0,12720.726,5055.015,14760.6438,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,35478.94608,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12720.726,12720.726,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,38246.98284,38246.98284 +16297200.0,9709.563,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9709.563,9709.563,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29193.419420000002,29193.419420000002 +16300800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +16304400.0,48426.114,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,82594.41336,22619.26976,58937.53404,89809.57568,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,48426.114,48426.114,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,55541.39700000001,55541.39700000001,55541.39700000001,55541.39700000001,145601.18276,145601.18276 +16308000.0,32998.374,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,87926.08808,40097.804800000005,72144.49767,109934.47264,22123.911,22123.911,22123.911,44862.503,32998.374,32998.374,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,31467.246,31467.246,31467.246,31467.246,99215.11116,99215.11116 +16311600.0,41446.395000000004,12612.057,36827.20644,144556.86399,144556.86399,144556.86399,127201.42749999999,123023.00471999998,40611.8848,82353.15186,125490.51712,22407.549,22407.549,22407.549,45437.66499999999,41446.395000000004,41446.395000000004,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,45263.808,45263.808,45263.808,45263.808,124615.49429999999,124615.49429999999 +16315200.0,50130.636,13691.274,39978.520079999995,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,129132.33384,39532.32768,88496.97948,134852.54016,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,50130.636,50130.636,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,47454.636000000006,47454.636000000006,47454.636000000006,47454.636000000006,150726.11224,150726.11224 +16318800.0,41697.018,7741.74,22605.8808,106930.98790000001,106930.98790000001,106930.98790000001,93388.3895,62089.56015999999,40992.43456,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,41697.018,41697.018,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,26859.027000000002,26859.027000000002,26859.027000000002,26859.027000000002,125369.03411999998,125369.03411999998 +16322400.0,17216.181,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17216.181,17216.181,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51763.31754,51763.31754 +16326000.0,9177.912,2995.0020000000004,8745.40584,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,9177.912,9177.912,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,27594.92208,27594.92208 +16329600.0,4872.717000000001,5541.762,16181.945039999999,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,4872.717000000001,4872.717000000001,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,14650.635779999999,14650.635779999999 +16333200.0,3852.75,5612.343,16388.041559999998,7319.33334,7319.33334,7319.33334,6440.577499999999,8347.52664,2056.2982400000005,3620.65977,5517.19584,1426.635,1426.635,1426.635,2300.6409999999996,3852.75,3852.75,6119.176179999999,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,11583.935,11583.935 +16336800.0,3296.8680000000004,10836.75,31643.309999999998,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,13393.543599999999,513.5360000000001,905.16615,1379.3008,998.979,998.979,998.979,575.162,3296.8680000000004,3296.8680000000004,11713.25428,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,9912.583120000001,9912.583120000001 +16340400.0,4178.541,15801.942000000001,46141.670640000004,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,18854.77872,513.5360000000001,905.16615,1379.3008,1087.305,1087.305,1087.305,575.162,4178.541,4178.541,22595.749409999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,12563.47994,12563.47994 +16344000.0,5514.8550000000005,15872.000999999998,46346.24292,3659.66667,3659.66667,3659.66667,3220.2905,28856.502879999996,2414.3481600000005,1810.3323,2758.6016,1366.326,1366.326,1366.326,1150.3204999999998,5514.8550000000005,5514.8550000000005,25790.84001,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,16581.3307,16581.3307 +16347600.0,14077.212,11661.483,34051.53036,12808.83538,12808.83538,12808.83538,11271.011499999999,25240.520880000004,8969.058560000001,6336.15822,9655.098240000001,2542.035,2542.035,2542.035,4026.1234999999997,14077.212,14077.212,17953.61841,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,3808.4609999999993,3808.4609999999993,3808.4609999999993,3808.4609999999993,42325.484079999995,42325.484079999995 +16351200.0,46246.047,11904.869999999999,34762.2204,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,60264.58352,28788.164480000003,55469.06274,84524.28608,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,46246.047,46246.047,321346.60506000003,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,25258.155,25258.155,25258.155,25258.155,139046.44798,139046.44798 +16354800.0,68923.908,128327.019,374714.89548,171771.22017000002,171771.22017000002,171771.22017000002,149743.45400000003,439295.23607999994,47808.917760000004,255063.43211999998,388668.08704,29756.216999999997,29756.216999999997,29756.216999999997,53489.9085,68923.908,68923.908,20083.98665,55086.34635,81881.43334,142816.4535,40532.66966,51549.938930000004,90213.927,90213.927,90213.927,90213.927,207231.21671999997,207231.21671999997 +16358400.0,142461.597,11529.243,33665.38956,136792.06915000002,136792.06915000002,136792.06915000002,115930.41599999998,77076.69376,87615.11680000002,83672.34078,127500.70976000001,22491.657,22491.657,22491.657,41411.5415,142461.597,142461.597,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,29590.752,29590.752,29590.752,29590.752,428334.53498,428334.53498 +16362000.0,102441.045,35883.009,104778.38627999999,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,125317.76576000001,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,102441.045,102441.045,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,308006.07529999997,308006.07529999997 +16365600.0,24696.906,8441.595000000001,24649.457400000003,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24696.906,24696.906,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74255.36404,74255.36404 +16369200.0,21997.794,7287.744000000001,21280.21248,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21997.794,21997.794,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,66140.03396,66140.03396 +16372800.0,18474.558,7996.125,23348.684999999998,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,57279.14048,23133.34976,40732.447770000006,62068.49184000001,17641.767,17641.767,17641.767,25882.213000000003,18474.558,18474.558,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,55546.83772,55546.83772 +16376400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +16380000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,34654.373120000004,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +16383600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +16387200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +16390800.0,32832.087,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,57061.361039999996,22619.26976,40360.85172,61502.25024,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,32832.087,32832.087,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,20380.800000000003,20380.800000000003,20380.800000000003,20380.800000000003,98715.14157999998,98715.14157999998 +16394400.0,31722.888,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70969.61466,108144.17472000001,22123.911,22123.911,22123.911,44862.503,31722.888,31722.888,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,95380.14992,95380.14992 +16398000.0,35787.804000000004,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88274.93463999999,40611.8848,74332.74849,113268.95008000001,22407.549,22407.549,22407.549,45437.66499999999,35787.804000000004,35787.804000000004,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,36829.581,36829.581,36829.581,36829.581,107601.99736,107601.99736 +16401600.0,35358.003,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,81541.64824,35985.208320000005,71405.41107,108808.24544000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,35358.003,35358.003,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,42231.066,42231.066,42231.066,42231.066,106309.72902,106309.72902 +16405200.0,25622.394,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,25622.394,25622.394,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,26960.031,26960.031,26960.031,26960.031,77037.99796000001,77037.99796000001 +16408800.0,17311.086,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17311.086,17311.086,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,52048.665239999995,52048.665239999995 +16412400.0,8870.169,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8870.169,8870.169,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26669.64146,26669.64146 +16416000.0,3626.3219999999997,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3626.3219999999997,3626.3219999999997,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10903.141479999998,10903.141479999998 +16419600.0,3218.133,2519.955,7358.2686,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,3218.133,3218.133,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,9675.853219999999,9675.853219999999 +16423200.0,2821.047,6011.897999999999,17554.742159999998,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,4872.44632,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,2821.047,2821.047,5789.2149899999995,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,8481.94798,8481.94798 +16426800.0,3077.7,8912.778,26025.31176,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,12945.895919999999,513.5360000000001,905.16615,1379.3008,862.296,862.296,862.296,575.162,3077.7,3077.7,11360.806340000001,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,9253.617999999999,9253.617999999999 +16430400.0,3525.12,12308.292000000001,35940.21264,3659.66667,3659.66667,3659.66667,3220.2905,14665.9336,1028.16,1810.3323,2758.6016,1231.818,1231.818,1231.818,1150.3204999999998,3525.12,3525.12,17088.29941,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,10598.860799999999,10598.860799999999 +16434000.0,10893.93,12038.607,35152.73244,12808.83538,12808.83538,12808.83538,11271.011499999999,25637.728479999998,5311.9097600000005,6336.15822,9655.098240000001,2561.628,2561.628,2561.628,4026.1234999999997,10893.93,10893.93,18769.61086,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,3380.6100000000006,3380.6100000000006,3380.6100000000006,3380.6100000000006,32754.4162,32754.4162 +16437600.0,41255.037,9877.617,28842.64164,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59960.70496,28788.164480000003,53501.24346,81525.70432,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,41255.037,41255.037,241575.31879,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,24298.959000000003,24298.959000000003,24298.959000000003,24298.959000000003,124040.14458,124040.14458 +16441200.0,61941.918000000005,118859.64000000001,347070.1488,171349.23443,171349.23443,171349.23443,149743.45400000003,437709.60599999997,47808.917760000004,232829.73945,354788.1744,28794.498,28794.498,28794.498,53489.9085,61941.918000000005,61941.918000000005,20083.98665,53300.92004999999,79227.54041999999,138187.5705,39218.94858,49879.13259,81734.742,81734.742,81734.742,81734.742,186238.70012,186238.70012 +16444800.0,129022.01999999999,9874.644,28833.96048,135998.43136,135998.43136,135998.43136,115930.41599999998,77076.69376,86647.43872,82197.76109999999,125253.7312,21728.985,21728.985,21728.985,41411.5415,129022.01999999999,129022.01999999999,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,29305.430999999997,29305.430999999997,29305.430999999997,29305.430999999997,387926.2067999999,387926.2067999999 +16448400.0,95279.469,29770.377,86929.50084000001,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,118221.65568000003,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,95279.469,95279.469,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,286473.60346,286473.60346 +16452000.0,24794.412,9087.423,26535.27516,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24794.412,24794.412,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74548.53208,74548.53208 +16455600.0,22663.647,8912.1,26023.332000000002,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,22663.647,22663.647,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,68142.03198,68142.03198 +16459200.0,22269.693,10145.766,29625.63672,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,59750.79200000001,24761.98784,40732.447770000006,62068.49184000001,18965.766,18965.766,18965.766,25882.213000000003,22269.693,22269.693,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,66957.54362,66957.54362 +16462800.0,16983.504,7314.237000000001,21357.572040000003,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,19330.865920000004,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,16983.504,16983.504,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,51063.735360000006,51063.735360000006 +16466400.0,14315.034,5625.378,16426.103759999998,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,43602.12328,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,14315.034,14315.034,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13266.786,13266.786,13266.786,13266.786,43040.53556,43040.53556 +16470000.0,9831.087,3881.4570000000003,11333.854440000001,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9831.087,9831.087,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29558.80158,29558.80158 +16473600.0,10978.944,3939.1290000000004,11502.25668,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10978.944,10978.944,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,33010.02496,33010.02496 +16477200.0,66148.90800000001,6269.823,18307.88316,80779.91108,80779.91108,80779.91108,70846.3665,101425.22471999998,22619.26976,79593.82599,121285.83008,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,66148.90800000001,66148.90800000001,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,78212.241,78212.241,78212.241,78212.241,198887.71672,198887.71672 +16480800.0,34175.676,10830.327,31624.554839999997,142727.02862,142727.02862,142727.02862,125591.28399999999,92864.31032,40097.804800000005,72956.51727000001,111171.83584000001,22123.911,22123.911,22123.911,44862.503,34175.676,34175.676,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,33488.534999999996,33488.534999999996,33488.534999999996,33488.534999999996,102754.86584,102754.86584 +16484400.0,56653.641,13656.848999999998,39877.999079999994,145982.65011000002,145982.65011000002,145982.65011000002,127201.42749999999,130749.99048,41883.430400000005,92736.49749,141312.75808,22407.549,22407.549,22407.549,45437.66499999999,56653.641,56653.641,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,53593.296,53593.296,53593.296,53593.296,170338.61394,170338.61394 +16488000.0,74305.26,18563.721,54206.06532,131076.62106,131076.62106,131076.62106,112710.12550000001,135560.55031999998,63184.54464000001,106382.67717000001,162106.93664000003,21011.304,21011.304,21011.304,40261.221,74305.26,74305.26,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,54212.435999999994,54212.435999999994,54212.435999999994,54212.435999999994,223411.14839999998,223411.14839999998 +16491600.0,55434.513000000006,7741.74,22605.8808,109128.75127000001,109128.75127000001,109128.75127000001,93388.3895,65268.248799999994,41256.48128000001,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,55434.513000000006,55434.513000000006,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,28037.697,28037.697,28037.697,28037.697,166673.10242,166673.10242 +16495200.0,17523.156000000003,5884.641,17183.151719999998,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17523.156000000003,17523.156000000003,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,52686.28904,52686.28904 +16498800.0,10013.964,6871.887000000001,20065.910040000002,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,10013.964,10013.964,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,30108.65176,30108.65176 +16502400.0,5024.576999999999,5314.647,15518.76924,12808.83538,12808.83538,12808.83538,11271.011499999999,12938.21632,3598.5164800000002,6336.15822,9655.098240000001,2245.833,2245.833,2245.833,4026.1234999999997,5024.576999999999,5024.576999999999,7285.860919999999,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,15107.228179999998,15107.228179999998 +16506000.0,3975.744,8878.434000000001,25925.02728,7319.33334,7319.33334,7319.33334,6440.577499999999,13341.999759999999,2056.2982400000005,3620.65977,5517.19584,1702.995,1702.995,1702.995,2300.6409999999996,3975.744,3975.744,9568.85527,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,11953.73696,11953.73696 +16509600.0,3143.6129999999994,10987.251,32082.77292,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,13574.38504,513.5360000000001,905.16615,1379.3008,850.116,850.116,850.116,575.162,3143.6129999999994,3143.6129999999994,16183.225759999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,9451.796419999999,9451.796419999999 +16513200.0,3525.381,10950.525,31975.532999999996,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,19092.88136,513.5360000000001,905.16615,1379.3008,848.049,848.049,848.049,575.162,3525.381,3525.381,16659.338799999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,10599.64554,10599.64554 +16516800.0,4796.805,10873.815,31751.5398,3659.66667,3659.66667,3659.66667,3220.2905,19784.77536,3183.3248,1810.3323,2758.6016,1120.902,1120.902,1120.902,1150.3204999999998,4796.805,4796.805,16536.00078,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,14422.393699999999,14422.393699999999 +16520400.0,13485.798000000003,9635.31,28135.105199999998,13099.376400000001,13099.376400000001,13099.376400000001,11271.011499999999,21546.19528,10158.003200000001,6336.15822,9655.098240000001,2443.308,2443.308,2443.308,4026.1234999999997,13485.798000000003,13485.798000000003,14421.01492,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,3463.2479999999996,3463.2479999999996,3463.2479999999996,3463.2479999999996,40547.299320000006,40547.299320000006 +16524000.0,45492.06,13363.578000000001,39021.64776000001,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,62386.097839999995,28788.164480000003,56717.327939999996,86426.40448,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,45492.06,45492.06,290529.93072999996,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,25358.673000000003,25358.673000000003,25358.673000000003,25358.673000000003,136779.4604,136779.4604 +16527600.0,65945.748,115754.64000000001,338003.54880000005,171134.90416,171134.90416,171134.90416,149743.45400000003,388145.81799999997,47808.917760000004,244302.31769999999,372270.1984,29271.54,29271.54,29271.54,53489.9085,65945.748,65945.748,20083.98665,61630.40925,91608.6577,159782.5425,45347.8073,57673.88915,85402.344,85402.344,85402.344,85402.344,198276.88232,198276.88232 +16531200.0,124343.76899999999,9610.437,28062.476039999998,134952.30298,134952.30298,134952.30298,115930.41599999998,77076.69376,75462.85312,78944.26344000001,120296.02048,22500.306,22500.306,22500.306,41411.5415,124343.76899999999,124343.76899999999,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,30008.727000000006,30008.727000000006,30008.727000000006,30008.727000000006,373860.26545999997,373860.26545999997 +16534800.0,84625.13699999999,31479.492,91920.11664,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,105105.79392,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,84625.13699999999,84625.13699999999,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,254439.57857999997,254439.57857999997 +16538400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +16542000.0,21633.684,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21633.684,21633.684,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,65045.27656,65045.27656 +16545600.0,18483.444,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,56270.041040000004,23133.34976,40732.447770000006,62068.49184000001,17101.215000000004,17101.215000000004,17101.215000000004,25882.213000000003,18483.444,18483.444,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,55573.55496,55573.55496 +16549200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +16552800.0,12700.827000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,36799.913199999995,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12700.827000000001,12700.827000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12382.007999999998,12382.007999999998,12382.007999999998,12382.007999999998,38187.15318,38187.15318 +16556400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +16560000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +16563600.0,35869.691999999995,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,60254.97087999999,22619.26976,42786.352139999995,65198.25087999999,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,35869.691999999995,35869.691999999995,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,28976.625,28976.625,28976.625,28976.625,107848.20727999999,107848.20727999999 +16567200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +16570800.0,33799.032,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,85549.40079999999,40611.8848,73190.27961,111528.04512000001,22407.549,22407.549,22407.549,45437.66499999999,33799.032,33799.032,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31469.118000000002,31469.118000000002,31469.118000000002,31469.118000000002,101622.42287999998,101622.42287999998 +16574400.0,33824.079000000005,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,79308.44392,35985.208320000005,71074.38219,108303.82048,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,33824.079000000005,33824.079000000005,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,39303.06,39303.06,39303.06,39303.06,101697.73086000001,101697.73086000001 +16578000.0,24420.852,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,24420.852,24420.852,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,26451.069000000003,26451.069000000003,26451.069000000003,26451.069000000003,73425.36167999999,73425.36167999999 +16581600.0,17142.372,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17142.372,17142.372,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51541.398479999996,51541.398479999996 +16585200.0,8667.579,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8667.579,8667.579,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26060.520859999997,26060.520859999997 +16588800.0,3441.63,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3441.63,3441.63,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10347.8342,10347.8342 +16592400.0,2241.678,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2241.678,2241.678,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6739.97852,6739.97852 +16596000.0,1843.035,1239.1709999999998,3618.3793199999996,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1843.035,1843.035,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,5541.3919,5541.3919 +16599600.0,2234.127,4473.195,13061.7294,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,2234.127,2234.127,887.17083,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,6717.27518,6717.27518 +16603200.0,2783.637,6239.919,18220.56348,3659.66667,3659.66667,3659.66667,3220.2905,9173.7056,1028.16,1810.3323,2758.6016,1047.006,1047.006,1047.006,1150.3204999999998,2783.637,2783.637,8724.623309999999,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,8369.46858,8369.46858 +16606800.0,7296.831,7612.32,22227.9744,12808.83538,12808.83538,12808.83538,11271.011499999999,13459.1268,3598.5164800000002,6336.15822,9655.098240000001,2381.094,2381.094,2381.094,4026.1234999999997,7296.831,7296.831,7087.49652,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,21939.13854,21939.13854 +16610400.0,33145.905,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,33145.905,33145.905,117294.6398,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,99658.6877,99658.6877 +16614000.0,52180.941000000006,86506.401,252598.69092,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,352988.80192,47808.917760000004,192313.11539999998,293048.5568,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,52180.941000000006,52180.941000000006,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,63838.310999999994,63838.310999999994,63838.310999999994,63838.310999999994,156890.69594,156890.69594 +16617600.0,68387.80500000001,9610.437,28062.476039999998,131773.08353,131773.08353,131773.08353,115930.41599999998,77076.69376,58862.34496,69947.14713000001,106586.12896000002,20422.071,20422.071,20422.071,41411.5415,68387.80500000001,68387.80500000001,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,205619.3337,205619.3337 +16621200.0,43743.774,12247.506,35762.71752,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,66547.60704,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,43743.774,43743.774,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,131522.94715999998,131522.94715999998 +16624800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +16628400.0,21477.84,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21477.84,21477.84,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64576.705599999994,64576.705599999994 +16632000.0,19822.731,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,52046.84503999999,24732.470400000002,40732.447770000006,62068.49184000001,14838.954000000002,14838.954000000002,14838.954000000002,25882.213000000003,19822.731,19822.731,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,59600.34454,59600.34454 +16635600.0,15850.332000000002,6152.045999999999,17963.974319999998,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,19460.903680000003,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,15850.332000000002,15850.332000000002,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,47656.664880000004,47656.664880000004 +16639200.0,12926.703000000001,4325.838,12631.44696,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,37436.46152,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12926.703000000001,12926.703000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12494.928,12494.928,12494.928,12494.928,38866.28702,38866.28702 +16642800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +16646400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +16650000.0,43673.994000000006,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,65054.72672,22619.26976,56160.293699999995,85577.5904,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,43673.994000000006,43673.994000000006,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,48774.357,48774.357,48774.357,48774.357,131313.14196,131313.14196 +16653600.0,32636.385000000002,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,85202.75008,40097.804800000005,71848.4718,109483.38560000001,22123.911,22123.911,22123.911,44862.503,32636.385000000002,32636.385000000002,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,31371.129,31371.129,31371.129,31371.129,98126.7309,98126.7309 +16657200.0,39993.72,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,108167.91935999999,40611.8848,83910.73991999999,127863.98463999998,22407.549,22407.549,22407.549,45437.66499999999,39993.72,39993.72,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,44950.689,44950.689,44950.689,44950.689,120247.7848,120247.7848 +16660800.0,43865.163,12160.968,35510.02656,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,114974.58536,38113.695360000005,80021.47419,121937.48447999998,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,43865.163,43865.163,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,46649.808,46649.808,46649.808,46649.808,131887.92342,131887.92342 +16664400.0,37434.165,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,64352.45503999999,38468.122240000004,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,37434.165,37434.165,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,26962.539000000004,26962.539000000004,26962.539000000004,26962.539000000004,112552.0561,112552.0561 +16668000.0,17084.37,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17084.37,17084.37,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51367.0058,51367.0058 +16671600.0,8611.244999999999,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8611.244999999999,8611.244999999999,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25891.1433,25891.1433 +16675200.0,3359.2860000000005,1052.154,3072.28968,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3359.2860000000005,3359.2860000000005,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10100.253240000002,10100.253240000002 +16678800.0,3151.71,3878.7300000000005,11325.8916,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,3151.71,3151.71,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,9476.141399999999,9476.141399999999 +16682400.0,2031.1499999999999,3916.416,11435.93472,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,4110.59496,513.5360000000001,905.16615,1379.3008,471.86699999999996,471.86699999999996,471.86699999999996,575.162,2031.1499999999999,2031.1499999999999,3036.76464,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,6106.990999999999,6106.990999999999 +16686000.0,2395.4399999999996,6548.795999999999,19122.484319999996,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,9036.307920000001,513.5360000000001,905.16615,1379.3008,789.732,789.732,789.732,575.162,2395.4399999999996,2395.4399999999996,7633.960619999999,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,7202.289599999999,7202.289599999999 +16689600.0,2795.9759999999997,9160.092,26747.46864,3659.66667,3659.66667,3659.66667,3220.2905,10831.78672,1028.16,1810.3323,2758.6016,1064.835,1064.835,1064.835,1150.3204999999998,2795.9759999999997,2795.9759999999997,13442.57434,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,8406.56784,8406.56784 +16693200.0,4579.7880000000005,8807.391,25717.58172,12808.83538,12808.83538,12808.83538,11271.011499999999,20534.77736,3598.5164800000002,6336.15822,9655.098240000001,2411.3160000000003,2411.3160000000003,2411.3160000000003,4026.1234999999997,4579.7880000000005,4579.7880000000005,13449.47188,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,13769.895919999999,13769.895919999999 +16696800.0,60957.12300000001,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,73956.30583999999,28788.164480000003,55985.3028,85310.9376,16516.296,16516.296,16516.296,32208.977499999994,60957.12300000001,60957.12300000001,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,23921.507999999998,23921.507999999998,23921.507999999998,23921.507999999998,183277.74982,183277.74982 +16700400.0,137840.727,23559.663,68794.21596,175650.59358000002,175650.59358000002,175650.59358000002,149743.45400000003,108890.23976,71055.51744,87994.62083999999,134087.04128,31853.864999999998,31853.864999999998,31853.864999999998,53489.9085,137840.727,137840.727,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,43418.076,43418.076,43418.076,43418.076,414441.11918,414441.11918 +16704000.0,96517.839,31092.555,90790.2606,132754.69427,132754.69427,132754.69427,115930.41599999998,77076.69376,147919.21408,155417.47956,236826.63552000004,20422.071,20422.071,20422.071,41411.5415,96517.839,96517.839,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,81086.409,81086.409,81086.409,81086.409,290196.96926,290196.96926 +16707600.0,72338.04000000001,15626.331,45628.88652,155944.04023,155944.04023,155944.04023,136862.2955,115551.74672000001,43696.332160000005,87893.31159,133932.66528000002,30431.024999999998,30431.024999999998,30431.024999999998,48888.6265,72338.04000000001,72338.04000000001,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,69598.98300000001,69598.98300000001,69598.98300000001,69598.98300000001,217496.3736,217496.3736 +16711200.0,29764.173,29182.305,85212.33059999999,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,246170.08023999998,31358.54272,115242.48624,175607.59808,17302.032,17302.032,17302.032,35084.777,29764.173,29764.173,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,33163.149,33163.149,33163.149,33163.149,89490.94682,89490.94682 +16714800.0,22731.636,7304.967000000001,21330.50364,96981.18507,96981.18507,96981.18507,85337.66500000001,62532.2088,27245.94624,52339.411109999994,79755.29312,15032.913,15032.913,15032.913,30483.495,22731.636,22731.636,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,21596.579999999998,21596.579999999998,21596.579999999998,21596.579999999998,68346.45224,68346.45224 +16718400.0,21631.572,8284.071,24189.48732,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,70880.00408,23133.34976,46745.79294000001,71231.68448000001,12763.794,12763.794,12763.794,25882.213000000003,21631.572,21631.572,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,22715.712,22715.712,22715.712,22715.712,65038.92648,65038.92648 +16722000.0,16729.806,5228.814,15268.13688,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,47506.10488,18506.68416,35243.659920000006,53704.62464000001,10211.037,10211.037,10211.037,20705.7725,16729.806,16729.806,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,16876.371,16876.371,16876.371,16876.371,50300.950039999996,50300.950039999996 +16725600.0,13431.743999999999,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,34304.25928,15936.305920000003,29059.405199999997,44280.9984,8792.835,8792.835,8792.835,17829.9695,13431.743999999999,13431.743999999999,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12363.609,12363.609,12363.609,12363.609,40384.776959999996,40384.776959999996 +16729200.0,10020.627,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,22198.882859999998,33826.869119999996,6807.357,6807.357,6807.357,13803.846000000001,10020.627,10020.627,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,30128.685179999997,30128.685179999997 +16732800.0,10946.379,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24623.78919,37521.96448,7658.277,7658.277,7658.277,15529.3285,10946.379,10946.379,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32912.11286,32912.11286 +16736400.0,18053.202,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,40263.276060000004,61353.56352,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,18053.202,18053.202,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,54279.960680000004,54279.960680000004 +16740000.0,32338.400999999998,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,71594.99823000001,109097.14016000001,22123.911,22123.911,22123.911,44862.503,32338.400999999998,32338.400999999998,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,97230.79233999999,97230.79233999999 +16743600.0,36493.206,10768.581,31444.25652,144556.86399,144556.86399,144556.86399,127201.42749999999,104004.23296,40611.8848,75459.70824,114986.22208,22407.549,22407.549,22407.549,45437.66499999999,36493.206,36493.206,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,34486.224,34486.224,34486.224,34486.224,109722.90604,109722.90604 +16747200.0,39411.492,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,36208.912000000004,69080.87214,105266.09088,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,39411.492,39411.492,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,43104.636,43104.636,43104.636,43104.636,118497.21928,118497.21928 +16750800.0,26786.936999999998,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,26786.936999999998,26786.936999999998,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,80539.39057999999,80539.39057999999 +16754400.0,17119.215000000004,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17119.215000000004,17119.215000000004,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51471.773100000006,51471.773100000006 +16758000.0,8656.389000000001,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8656.389000000001,8656.389000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26026.87626,26026.87626 +16761600.0,3815.9759999999997,3505.3979999999997,10235.762159999998,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3815.9759999999997,3815.9759999999997,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,11473.367839999999,11473.367839999999 +16765200.0,3380.6279999999997,4815.606,14061.56952,7319.33334,7319.33334,7319.33334,6440.577499999999,8814.831760000001,2056.2982400000005,3620.65977,5517.19584,1250.259,1250.259,1250.259,2300.6409999999996,3380.6279999999997,3380.6279999999997,3658.0242399999993,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,10164.42152,10164.42152 +16768800.0,2427.342,6956.643,20313.397559999998,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,10365.5912,513.5360000000001,905.16615,1379.3008,845.508,845.508,845.508,575.162,2427.342,2427.342,9997.373359999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,7298.20828,7298.20828 +16772400.0,2608.206,10134.078000000001,29591.50776,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,14527.414639999999,513.5360000000001,905.16615,1379.3008,852.3389999999999,852.3389999999999,852.3389999999999,575.162,2608.206,2608.206,17273.8163,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,7842.00604,7842.00604 +16776000.0,3498.057,11616.849,33921.19908,3659.66667,3659.66667,3659.66667,3220.2905,22257.12184,2582.68352,1810.3323,2758.6016,1165.7549999999999,1165.7549999999999,1165.7549999999999,1150.3204999999998,3498.057,3498.057,18705.55609,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,10517.49138,10517.49138 +16779600.0,5532.981,10659.789,31126.58388,12808.83538,12808.83538,12808.83538,11271.011499999999,24632.83384,9446.026880000001,6336.15822,9655.098240000001,2501.451,2501.451,2501.451,4026.1234999999997,5532.981,5532.981,17159.01603,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,16635.82954,16635.82954 +16783200.0,71206.39199999999,7474.782,21826.36344,102954.37405,102954.37405,102954.37405,90168.099,76570.56431999999,28788.164480000003,61134.8073,93157.8016,16780.65,16780.65,16780.65,32208.977499999994,71206.39199999999,71206.39199999999,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,24256.017000000003,24256.017000000003,24256.017000000003,24256.017000000003,214093.88528,214093.88528 +16786800.0,172252.863,45621.350999999995,133214.34491999997,176457.12920000002,176457.12920000002,176457.12920000002,149743.45400000003,117346.61816000001,90153.64928000001,97284.72978,148243.39776,41477.223,41477.223,41477.223,53489.9085,172252.863,172252.863,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,50342.297999999995,50342.297999999995,50342.297999999995,50342.297999999995,517906.94142,517906.94142 +16790400.0,114420.70200000002,33772.755000000005,98616.4446,132988.62566000002,132988.62566000002,132988.62566000002,115930.41599999998,78737.216,172172.24640000003,156977.64200999998,239204.02592000001,21201.057,21201.057,21201.057,41411.5415,114420.70200000002,114420.70200000002,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,84283.872,84283.872,84283.872,84283.872,344024.91068000003,344024.91068000003 +16794000.0,81552.084,17943.405,52394.7426,156205.14294000002,156205.14294000002,156205.14294000002,136862.2955,118276.98856,43696.332160000005,88666.84575,135111.384,31424.205,31424.205,31424.205,48888.6265,81552.084,81552.084,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,71432.06999999999,71432.06999999999,71432.06999999999,71432.06999999999,245199.93256,245199.93256 +16797600.0,32901.93,39969.176999999996,116709.99683999999,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,289777.6172,31358.54272,138636.23382000002,211255.21344000002,17302.032,17302.032,17302.032,35084.777,32901.93,32901.93,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,38500.629,38500.629,38500.629,38500.629,98925.1362,98925.1362 +16801200.0,23593.407000000003,8129.138999999999,23737.08588,96981.18507,96981.18507,96981.18507,85337.66500000001,70595.68952,27245.94624,55703.327399999995,84881.26079999999,15032.913,15032.913,15032.913,30483.495,23593.407000000003,23593.407000000003,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,23591.688000000002,23591.688000000002,23591.688000000002,23591.688000000002,70937.51038,70937.51038 +16804800.0,26004.663,9857.859,28784.94828,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,77643.53584,23294.26496,54187.8666,82571.9872,13123.875,13123.875,13123.875,25882.213000000003,26004.663,26004.663,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,26981.151,26981.151,26981.151,26981.151,78187.35342,78187.35342 +16808400.0,16651.386,5207.088,15204.69696,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,46975.35984,18506.68416,35087.85378,53467.205760000004,10211.037,10211.037,10211.037,20705.7725,16651.386,16651.386,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,16408.386,16408.386,16408.386,16408.386,50065.167239999995,50065.167239999995 +16812000.0,13556.028000000002,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,35620.20984,15936.305920000003,29193.16239,44484.81888,8792.835,8792.835,8792.835,17829.9695,13556.028000000002,13556.028000000002,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12496.241999999998,12496.241999999998,12496.241999999998,12496.241999999998,40758.45752,40758.45752 +16815600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21836.004960000002,33273.91232,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +16819200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +16822800.0,17802.174,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,40210.11708,61272.55936000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17802.174,17802.174,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53525.20316,53525.20316 +16826400.0,32370.216,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,71778.23877,109376.36384,22123.911,22123.911,22123.911,44862.503,32370.216,32370.216,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,97326.44944,97326.44944 +16830000.0,36532.824,10778.217,31472.39364,144556.86399,144556.86399,144556.86399,127201.42749999999,103732.00136000001,40611.8848,75578.80155,115167.69760000001,22407.549,22407.549,22407.549,45437.66499999999,36532.824,36532.824,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,33664.965000000004,33664.965000000004,33664.965000000004,33664.965000000004,109842.02416,109842.02416 +16833600.0,40696.149,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,42044.617600000005,69529.19757,105949.25344000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,40696.149,40696.149,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,43106.945999999996,43106.945999999996,43106.945999999996,43106.945999999996,122359.75465999999,122359.75465999999 +16837200.0,27045.351000000002,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,27045.351000000002,27045.351000000002,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,81316.35534,81316.35534 +16840800.0,17148.681,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17148.681,17148.681,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51560.36754,51560.36754 +16844400.0,8676.761999999999,3456.267,10092.29964,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8676.761999999999,8676.761999999999,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26088.13108,26088.13108 +16848000.0,4269.447,5030.904,14690.23968,12808.83538,12808.83538,12808.83538,11271.011499999999,9433.32864,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,4269.447,4269.447,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,12836.80398,12836.80398 +16851600.0,3576.813,6085.107,17768.51244,7319.33334,7319.33334,7319.33334,6440.577499999999,14514.0936,2056.2982400000005,3620.65977,5517.19584,1539.6149999999998,1539.6149999999998,1539.6149999999998,2300.6409999999996,3576.813,3576.813,9660.12021,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,10754.28442,10754.28442 +16855200.0,2748.2969999999996,9596.598,28022.06616,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,13094.32536,822.528,905.16615,1379.3008,893.865,893.865,893.865,575.162,2748.2969999999996,2748.2969999999996,18297.769099999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,8263.212979999998,8263.212979999998 +16858800.0,3083.88,12292.5,35894.1,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,22922.88184,8454.18432,905.16615,1379.3008,920.9970000000001,920.9970000000001,920.9970000000001,575.162,3083.88,3083.88,20038.156969999996,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,9272.1992,9272.1992 +16862400.0,4091.2740000000003,12343.527,36043.09884,3659.66667,3659.66667,3659.66667,3220.2905,23834.77448,14887.713280000002,1810.3323,2758.6016,1199.979,1199.979,1199.979,1150.3204999999998,4091.2740000000003,4091.2740000000003,20112.062619999997,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,1065.021,1065.021,1065.021,1065.021,12301.09716,12301.09716 +16866000.0,12091.734,11381.007,33232.54044,12808.83538,12808.83538,12808.83538,11271.011499999999,26154.2648,19779.81824,6336.15822,9655.098240000001,2549.4269999999997,2549.4269999999997,2549.4269999999997,4026.1234999999997,12091.734,12091.734,18506.41247,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,3918.3300000000004,3918.3300000000004,3918.3300000000004,3918.3300000000004,36355.813559999995,36355.813559999995 +16869600.0,44485.893,13947.669,40727.19348,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,64221.12512,28788.164480000003,60483.81024,92165.80608000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,44485.893,44485.893,304678.1897899999,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,26711.487,26711.487,26711.487,26711.487,133754.25162,133754.25162 +16873200.0,72095.694,127585.20000000001,372548.784,170349.21101000003,170349.21101000003,170349.21101000003,149743.45400000003,432354.18,47808.917760000004,271487.21439,413694.80288,34372.212,34372.212,34372.212,53489.9085,72095.694,72095.694,20083.98665,73611.07875,109416.96149999999,190843.5375,54163.213500000005,68885.42925,99817.995,99817.995,99817.995,99817.995,216767.71996,216767.71996 +16876800.0,145604.83800000002,9610.437,28062.476039999998,134047.80653,134047.80653,134047.80653,115930.41599999998,79295.1696,90068.49152,86257.14909,131439.46528,25316.679,25316.679,25316.679,41411.5415,145604.83800000002,145604.83800000002,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,33751.713,33751.713,33751.713,33751.713,437785.21292,437785.21292 +16880400.0,114801.22799999997,38470.96799999999,112335.22656,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,129706.67072000001,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,114801.22799999997,114801.22799999997,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,34792.716,34792.716,34792.716,34792.716,345169.0255199999,345169.0255199999 +16884000.0,24826.242000000002,9059.565,26453.929799999998,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24826.242000000002,24826.242000000002,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74644.23428,74644.23428 +16887600.0,23535.441,9191.625,26839.545,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27736.003200000006,47973.77214,73102.89088,15117.795000000002,15117.795000000002,15117.795000000002,30483.495,23535.441,23535.441,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,70763.22593999999,70763.22593999999 +16891200.0,25655.876999999997,9737.151,28432.48092,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,63871.63031999999,32891.12128000001,40732.447770000006,62068.49184000001,21476.184,21476.184,21476.184,25882.213000000003,25655.876999999997,25655.876999999997,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,77138.67017999999,77138.67017999999 +16894800.0,16388.478,6498.9,18976.787999999997,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,19630.44672,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,16388.478,16388.478,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,49274.69052,49274.69052 +16898400.0,14901.444,4871.802,14225.661839999999,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,50600.90191999999,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,14901.444,14901.444,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13968.0,13968.0,13968.0,13968.0,44803.67496,44803.67496 +16902000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +16905600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +16909200.0,53784.63,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,84598.05312,22619.26976,70585.83252,107559.36384,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,53784.63,53784.63,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,63752.19,63752.19,63752.19,63752.19,161712.45419999998,161712.45419999998 +16912800.0,32517.486,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,86874.94064,40097.804800000005,71811.28563,109426.72096,22123.911,22123.911,22123.911,44862.503,32517.486,32517.486,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,31197.759000000002,31197.759000000002,31197.759000000002,31197.759000000002,97769.24124,97769.24124 +16916400.0,44740.545000000006,12908.712,37693.43904,144556.86399,144556.86399,144556.86399,127201.42749999999,124917.3956,40611.8848,86409.31824000001,131671.34208,22407.549,22407.549,22407.549,45437.66499999999,44740.545000000006,44740.545000000006,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,50973.84000000001,50973.84000000001,50973.84000000001,50973.84000000001,134519.9053,134519.9053 +16920000.0,61669.850999999995,18067.097999999998,52755.926159999995,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,131651.03824,51386.58816000001,101989.57482,155412.68544,20072.157,20072.157,20072.157,40261.221,61669.850999999995,61669.850999999995,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,53404.469999999994,53404.469999999994,53404.469999999994,53404.469999999994,185420.68533999997,185420.68533999997 +16923600.0,51752.526,7741.74,22605.8808,107609.59528000001,107609.59528000001,107609.59528000001,93388.3895,65468.77103999999,47476.99072000001,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,51752.526,51752.526,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,27597.135000000002,27597.135000000002,27597.135000000002,27597.135000000002,155602.59484,155602.59484 +16927200.0,17157.654,5855.232,17097.27744,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17157.654,17157.654,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51587.346359999996,51587.346359999996 +16930800.0,9274.593,6393.498,18669.01416,36596.67484,36596.67484,36596.67484,32202.8945,22311.46888,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,9274.593,9274.593,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,27885.60962,27885.60962 +16934400.0,4956.945,6382.032,18635.53344,12808.83538,12808.83538,12808.83538,11271.011499999999,18150.70248,3598.5164800000002,6336.15822,9655.098240000001,2322.621,2322.621,2322.621,4026.1234999999997,4956.945,4956.945,9184.99322,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,14903.881299999997,14903.881299999997 +16938000.0,4051.635,9864.905999999999,28805.525519999996,7319.33334,7319.33334,7319.33334,6440.577499999999,17103.9292,5407.24032,3620.65977,5517.19584,1771.7069999999999,1771.7069999999999,1771.7069999999999,2300.6409999999996,4051.635,4051.635,20004.751519999998,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,12181.9159,12181.9159 +16941600.0,3164.202,12349.998,36061.99416,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,23126.18392,8581.219200000001,905.16615,1379.3008,923.559,923.559,923.559,575.162,3164.202,3164.202,20198.767679999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,9513.700680000002,9513.700680000002 +16945200.0,3678.2250000000004,12186.350999999999,35584.14492,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,22738.89848,17315.20448,905.16615,1379.3008,914.2169999999999,914.2169999999999,914.2169999999999,575.162,3678.2250000000004,3678.2250000000004,19844.968129999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,1076.475,1076.475,1076.475,1076.475,11059.1965,11059.1965 +16948800.0,5122.764,12158.427,35502.60684,3659.66667,3659.66667,3659.66667,3220.2905,23481.68224,20158.235520000002,1810.3323,2758.6016,2312.268,2312.268,2312.268,1150.3204999999998,5122.764,5122.764,19764.0014,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2034.3810000000003,2034.3810000000003,2034.3810000000003,2034.3810000000003,15402.443759999998,15402.443759999998 +16952400.0,14345.103,11252.253,32856.578760000004,12808.83538,12808.83538,12808.83538,11271.011499999999,33812.89336,19635.788800000002,7117.65222,10845.946240000001,5465.106,5465.106,5465.106,4026.1234999999997,14345.103,14345.103,20203.59692,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,5076.363,5076.363,5076.363,5076.363,43130.94302,43130.94302 +16956000.0,50601.36,17847.744,52115.41247999999,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,65616.68072,28788.164480000003,65363.22114,99601.09888,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,50601.36,50601.36,301618.9865,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,28291.011,28291.011,28291.011,28291.011,152141.42239999998,152141.42239999998 +16959600.0,69998.598,125711.52900000001,367077.66468,171013.72398,171013.72398,171013.72398,149743.45400000003,419987.3668,47808.917760000004,286836.68874,437084.47808000003,38086.569,38086.569,38086.569,53489.9085,69998.598,69998.598,20083.98665,76934.8125,114357.42499999999,199460.625,56608.825,71995.7875,98916.126,98916.126,98916.126,98916.126,210462.45132,210462.45132 +16963200.0,159534.483,9610.437,28062.476039999998,134579.71076000002,134579.71076000002,134579.71076000002,115930.41599999998,89353.75784,86221.44320000001,96320.74872,146774.47424,28162.638,28162.638,28162.638,41411.5415,159534.483,159534.483,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,41532.149999999994,41532.149999999994,41532.149999999994,41532.149999999994,479667.01222,479667.01222 +16966800.0,123765.297,43277.973,126371.68116,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,132879.84448,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,123765.297,123765.297,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,36105.456,36105.456,36105.456,36105.456,372120.99298,372120.99298 +16970400.0,24877.085999999996,9145.710000000001,26705.4732,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24877.085999999996,24877.085999999996,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74797.10523999999,74797.10523999999 +16974000.0,23556.735,8973.738000000001,26203.31496,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27694.006400000006,47973.77214,73102.89088,15321.273000000001,15321.273000000001,15321.273000000001,30483.495,23556.735,23556.735,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,70827.24990000001,70827.24990000001 +16977600.0,25488.165,9640.851,28151.284920000002,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,64639.69544,32488.94208,40732.447770000006,62068.49184000001,22238.187,22238.187,22238.187,25882.213000000003,25488.165,25488.165,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,76634.4161,76634.4161 +16981200.0,16550.748,6496.152,18968.76384,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,19838.18944,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,16550.748,16550.748,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,49762.58232,49762.58232 +16984800.0,15446.229,4628.343,13514.761559999999,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,50616.74,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,15446.229,15446.229,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,14201.526000000002,14201.526000000002,14201.526000000002,14201.526000000002,46441.66185999999,46441.66185999999 +16988400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6940.497000000001,6940.497000000001,6940.497000000001,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +16992000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +16995600.0,55915.188,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,84102.17288,22619.26976,72901.14132,111087.45344,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,55915.188,55915.188,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,67301.091,67301.091,67301.091,67301.091,168118.33192,168118.33192 +16999200.0,32327.273999999998,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,84457.76464,40097.804800000005,71580.23775,109074.648,22123.911,22123.911,22123.911,44862.503,32327.273999999998,32327.273999999998,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30852.392999999996,30852.392999999996,30852.392999999996,30852.392999999996,97197.33716,97197.33716 +17002800.0,41871.174,12414.011999999999,36248.91504,144556.86399,144556.86399,144556.86399,127201.42749999999,118507.1488,40611.8848,83003.97504,126482.24768,22407.549,22407.549,22407.549,45437.66499999999,41871.174,41871.174,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,46890.488999999994,46890.488999999994,46890.488999999994,46890.488999999994,125892.66315999998,125892.66315999998 +17006400.0,61837.917,17960.646,52445.086319999995,128095.23617,128095.23617,128095.23617,112710.12550000001,132174.43072,47184.579840000006,106519.17297,162314.93024000002,19906.539,19906.539,19906.539,40261.221,61837.917,61837.917,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,53937.663,53937.663,53937.663,53937.663,185926.00377999997,185926.00377999997 +17010000.0,54863.505,7741.74,22605.8808,108057.24644,108057.24644,108057.24644,93388.3895,65566.70783999999,53425.44576000001,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,54863.505,54863.505,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,27677.352000000006,27677.352000000006,27677.352000000006,27677.352000000006,164956.27169999998,164956.27169999998 +17013600.0,17178.939,5695.896,16632.01632,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17178.939,17178.939,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51651.34326,51651.34326 +17017200.0,9576.002999999999,7328.613,21399.54996,36596.67484,36596.67484,36596.67484,32202.8945,24873.88568,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,9576.002999999999,9576.002999999999,4377.523279999999,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,28791.849019999998,28791.849019999998 +17020800.0,5561.775,9415.203,27492.39276,12808.83538,12808.83538,12808.83538,11271.011499999999,22068.74096,6173.747200000001,6336.15822,9655.098240000001,2592.342,2592.342,2592.342,4026.1234999999997,5561.775,5561.775,19126.580199999997,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,16722.4035,16722.4035 +17024400.0,4800.411,15216.855,44433.2166,7319.33334,7319.33334,7319.33334,6440.577499999999,30547.550799999997,15058.224640000002,3620.65977,5517.19584,1957.1399999999999,1957.1399999999999,1957.1399999999999,2300.6409999999996,4800.411,4800.411,27995.45541,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,14433.235739999998,14433.235739999998 +17028000.0,4762.209,16469.295,48090.34139999999,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,31787.680639999995,32533.84384,905.16615,1379.3008,1359.351,1359.351,1359.351,575.162,4762.209,4762.209,28049.447659999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2088.525,2088.525,2088.525,2088.525,14318.37506,14318.37506 +17031600.0,7516.823999999999,16936.068,49453.31856,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,38350.60256,34109.637760000005,4033.11762,6145.70304,7742.487000000001,7742.487000000001,7742.487000000001,575.162,7516.823999999999,7516.823999999999,30036.165249999995,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2506.3559999999998,2506.3559999999998,2506.3559999999998,2506.3559999999998,22600.584159999995,22600.584159999995 +17035200.0,8739.519,17507.07,51120.644400000005,3883.6591200000003,3883.6591200000003,3883.6591200000003,3220.2905,42885.25744,35865.99616,10389.75987,15832.01504,9890.646,9890.646,9890.646,1150.3204999999998,8739.519,8739.519,31581.589389999994,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2977.02,2977.02,2977.02,2977.02,26276.820459999995,26276.820459999995 +17038800.0,21417.534000000003,13547.081999999999,39557.479439999996,13864.267780000002,13864.267780000002,13864.267780000002,11271.011499999999,107337.89184000001,27362.906240000008,16406.22522,24999.962240000004,8700.642,8700.642,8700.642,4026.1234999999997,21417.534000000003,21417.534000000003,43326.94561,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,16033.625999999998,16033.625999999998,16033.625999999998,16033.625999999998,64395.38556,64395.38556 +17042400.0,65759.802,21278.222999999998,62132.411159999996,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,115661.50368,28788.164480000003,70599.64632,107580.41344,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,65759.802,65759.802,340762.93966,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,36860.448000000004,36860.448000000004,36860.448000000004,36860.448000000004,197717.80467999997,197717.80467999997 +17046000.0,64026.288,109981.959,321147.32028,170701.68522,170701.68522,170701.68522,149743.45400000003,397013.65943999996,47808.917760000004,243920.87328,371688.94976000005,34848.600000000006,34848.600000000006,34848.600000000006,53489.9085,64026.288,64026.288,20083.98665,71640.5715,106487.9606,185734.81500000003,52713.309400000006,67041.42370000001,88932.25200000001,88932.25200000001,88932.25200000001,88932.25200000001,192505.70592,192505.70592 +17049600.0,91466.274,9610.437,28062.476039999998,133018.87797,133018.87797,133018.87797,115930.41599999998,77076.69376,68314.27968,71836.18910999999,109464.66912,22208.745,22208.745,22208.745,41411.5415,91466.274,91466.274,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28503.771000000004,28503.771000000004,28503.771000000004,28503.771000000004,275008.59716,275008.59716 +17053200.0,50480.702999999994,14221.380000000001,41526.429599999996,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,73696.19136000001,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,50480.702999999994,50480.702999999994,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,151778.64701999997,151778.64701999997 +17056800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +17060400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +17064000.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +17067600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +17071200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +17074800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +17078400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +17082000.0,26871.567000000003,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,50331.00632,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,26871.567000000003,26871.567000000003,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,80793.84478,80793.84478 +17085600.0,32000.010000000002,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,32000.010000000002,32000.010000000002,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,96213.3634,96213.3634 +17089200.0,35182.242,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88230.428,40611.8848,73411.5081,111865.15520000001,22407.549,22407.549,22407.549,45437.66499999999,35182.242,35182.242,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,32006.559,32006.559,32006.559,32006.559,105781.27428,105781.27428 +17092800.0,32509.968,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,79541.37816,35985.208320000005,66266.21379,100977.08768,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,32509.968,32509.968,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,34464.498,34464.498,34464.498,34464.498,97746.63712,97746.63712 +17096400.0,23820.648,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23820.648,23820.648,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,26526.521999999997,26526.521999999997,26526.521999999997,26526.521999999997,71620.74832,71620.74832 +17100000.0,16556.679,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16556.679,16556.679,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49780.41486,49780.41486 +17103600.0,8646.047999999999,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8646.047999999999,8646.047999999999,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25995.784319999995,25995.784319999995 +17107200.0,3388.9530000000004,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3388.9530000000004,3388.9530000000004,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10189.45202,10189.45202 +17110800.0,2175.639,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2175.639,2175.639,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6541.42126,6541.42126 +17114400.0,928.284,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,928.284,928.284,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2791.04056,2791.04056 +17118000.0,943.848,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,943.848,943.848,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2837.83632,2837.83632 +17121600.0,2368.5600000000004,3768.918,11005.24056,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,2368.5600000000004,2368.5600000000004,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,7121.4704,7121.4704 +17125200.0,5980.695,4329.012,12640.71504,12808.83538,12808.83538,12808.83538,11271.011499999999,13134.07824,3598.5164800000002,6336.15822,9655.098240000001,2094.984,2094.984,2094.984,4026.1234999999997,5980.695,5980.695,7121.921689999999,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,17981.956299999998,17981.956299999998 +17128800.0,29679.279000000002,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,29679.279000000002,29679.279000000002,53799.816329999994,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,89235.69886,89235.69886 +17132400.0,49093.326,76176.804,222436.26768,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,324401.54056,47808.917760000004,181043.61933,275875.99136,26439.261000000006,26439.261000000006,26439.261000000006,53489.9085,49093.326,49093.326,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,61927.78200000001,61927.78200000001,61927.78200000001,61927.78200000001,147607.26684,147607.26684 +17136000.0,68952.381,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,63146.8672,70092.46251,106807.56192,20422.071,20422.071,20422.071,41411.5415,68952.381,68952.381,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,207316.82554,207316.82554 +17139600.0,46666.146,16086.534000000003,46972.679280000004,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,80709.27616000001,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,46666.146,46666.146,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,140309.54564,140309.54564 +17143200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +17146800.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +17150400.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,52296.38823999999,23133.34976,40732.447770000006,62068.49184000001,14972.628,14972.628,14972.628,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +17154000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +17157600.0,12662.502,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,37200.589759999995,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12662.502,12662.502,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12354.599999999999,12354.599999999999,12354.599999999999,12354.599999999999,38071.922679999996,38071.922679999996 +17161200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +17164800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +17168400.0,35170.152,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,59752.35128,22619.26976,44239.06641000001,67411.91072000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,35170.152,35170.152,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,30243.740999999998,30243.740999999998,30243.740999999998,30243.740999999998,105744.92367999999,105744.92367999999 +17172000.0,32466.543,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,84048.71936,40097.804800000005,71658.59001,109194.04192,22123.911,22123.911,22123.911,44862.503,32466.543,32466.543,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,31097.733,31097.733,31097.733,31097.733,97616.07262,97616.07262 +17175600.0,37169.52,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88663.42312,40611.8848,79474.53465,121104.0528,22407.549,22407.549,22407.549,45437.66499999999,37169.52,37169.52,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,43187.211,43187.211,43187.211,43187.211,111756.35679999998,111756.35679999998 +17179200.0,35868.945,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,93097.29711999999,35985.208320000005,75636.92576999999,115256.26783999999,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,35868.945,35868.945,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,41432.61,41432.61,41432.61,41432.61,107845.9613,107845.9613 +17182800.0,25283.559,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,63357.184720000005,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,25283.559,25283.559,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,26307.594,26307.594,26307.594,26307.594,76019.23406,76019.23406 +17186400.0,17000.583,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17000.583,17000.583,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51115.08622,51115.08622 +17190000.0,8527.017,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8527.017,8527.017,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25637.89778,25637.89778 +17193600.0,3299.31,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3299.31,3299.31,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9919.9254,9919.9254 +17197200.0,2119.2329999999997,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2119.2329999999997,2119.2329999999997,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6371.827219999999,6371.827219999999 +17200800.0,1172.5529999999999,1473.225,4301.817,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1172.5529999999999,1172.5529999999999,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,3525.4760199999996,3525.4760199999996 +17204400.0,2086.053,4377.642,12782.714639999998,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,2557.3243199999997,513.5360000000001,905.16615,1379.3008,443.92499999999995,443.92499999999995,443.92499999999995,575.162,2086.053,2086.053,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,6272.066019999999,6272.066019999999 +17208000.0,2490.972,5788.155,16901.4126,3659.66667,3659.66667,3659.66667,3220.2905,10759.45248,1028.16,1810.3323,2758.6016,1077.717,1077.717,1077.717,1150.3204999999998,2490.972,2490.972,7563.30653,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,7489.5224800000005,7489.5224800000005 +17211600.0,6419.895,6981.015,20384.5638,12808.83538,12808.83538,12808.83538,11271.011499999999,14512.329919999998,3598.5164800000002,6336.15822,9655.098240000001,2378.382,2378.382,2378.382,4026.1234999999997,6419.895,6419.895,12256.29847,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,19302.4843,19302.4843 +17215200.0,31823.858999999997,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,60848.99816,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,31823.858999999997,31823.858999999997,95122.58885999997,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,95683.73606,95683.73606 +17218800.0,49982.558999999994,73046.253,213295.05875999996,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,316453.45823999995,47808.917760000004,179709.1338,273842.48960000003,26683.614,26683.614,26683.614,53489.9085,49982.558999999994,49982.558999999994,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,62141.586,62141.586,62141.586,62141.586,150280.89406,150280.89406 +17222400.0,64287.303,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,58622.13632,68111.96448,103789.66016,20422.071,20422.071,20422.071,41411.5415,64287.303,64287.303,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,193290.49102,193290.49102 +17226000.0,43063.788,13795.587,40283.11403999999,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,71676.63488000001,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,43063.788,43063.788,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,129478.45592000001,129478.45592000001 +17229600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +17233200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +17236800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,50238.29047999999,23133.34976,40732.447770000006,62068.49184000001,13870.155,13870.155,13870.155,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +17240400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +17244000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,34894.478879999995,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +17247600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +17251200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +17254800.0,29391.543,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,53562.76888,22619.26976,40482.91548,61688.252160000004,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,29391.543,29391.543,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,18079.949999999997,18079.949999999997,18079.949999999997,18079.949999999997,88370.57262,88370.57262 +17258400.0,31831.362,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70934.43777,108090.57184000002,22123.911,22123.911,22123.911,44862.503,31831.362,31831.362,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,95706.29508,95706.29508 +17262000.0,34852.835999999996,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,87525.50496,40611.8848,73374.19152000001,111808.29184,22407.549,22407.549,22407.549,45437.66499999999,34852.835999999996,34852.835999999996,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,33771.231,33771.231,33771.231,33771.231,104790.86024,104790.86024 +17265600.0,32990.151,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,78820.3192,35985.208320000005,68564.58378,104479.36576,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,32990.151,32990.151,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,36122.801999999996,36122.801999999996,36122.801999999996,36122.801999999996,99190.38733999999,99190.38733999999 +17269200.0,23474.763,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23474.763,23474.763,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,25598.439,25598.439,25598.439,25598.439,70580.78742,70580.78742 +17272800.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +17276400.0,8456.697,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8456.697,8456.697,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25426.46898,25426.46898 +17280000.0,3283.041,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3283.041,3283.041,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9871.00994,9871.00994 +17283600.0,1986.75,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1986.75,1986.75,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,5973.495,5973.495 +17287200.0,793.3050000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,793.3050000000001,793.3050000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2385.2037,2385.2037 +17290800.0,802.4100000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,802.4100000000001,802.4100000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2412.5794,2412.5794 +17294400.0,1215.5220000000002,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1215.5220000000002,1215.5220000000002,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3654.66948,3654.66948 +17298000.0,3253.6590000000006,1621.1100000000001,4733.6412,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3253.6590000000006,3253.6590000000006,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9782.66806,9782.66806 +17301600.0,27398.547,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,66006.3664,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,27398.547,27398.547,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,23394.063,23394.063,23394.063,23394.063,82378.29798,82378.29798 +17305200.0,58431.49800000001,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,104119.9876,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,58431.49800000001,58431.49800000001,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,39403.557,39403.557,39403.557,39403.557,175684.03732,175684.03732 +17308800.0,49283.715,10746.033,31378.41636,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,63241.21856000001,100624.71824999999,153332.90399999998,20422.071,20422.071,20422.071,41411.5415,49283.715,49283.715,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,58513.98899999999,58513.98899999999,58513.98899999999,58513.98899999999,148179.70309999998,148179.70309999998 +17312400.0,48240.77100000001,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,103024.98176,43696.332160000005,79463.73477000001,121087.59584000002,25580.712,25580.712,25580.712,48888.6265,48240.77100000001,48240.77100000001,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,58202.949,58202.949,58202.949,58202.949,145043.91814,145043.91814 +17316000.0,25271.202,15923.718,46497.25656,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,161301.34896,31358.54272,84346.15959,128527.48127999999,17302.032,17302.032,17302.032,35084.777,25271.202,25271.202,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,26630.295,26630.295,26630.295,26630.295,75982.08068,75982.08068 +17319600.0,22585.044,7195.505999999999,21010.87752,96981.18507,96981.18507,96981.18507,85337.66500000001,61509.30944,27245.94624,49232.726129999995,75021.29695999999,15032.913,15032.913,15032.913,30483.495,22585.044,22585.044,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,21615.636,21615.636,21615.636,21615.636,67905.69896,67905.69896 +17323200.0,20186.4,7169.61,20935.261199999997,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,61902.1896,23133.34976,44276.363670000006,67468.74464,12763.794,12763.794,12763.794,25882.213000000003,20186.4,20186.4,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,20791.662,20791.662,20791.662,20791.662,60693.776,60693.776 +17326800.0,15254.25,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38732.7196,18506.68416,33345.378150000004,50812.0048,10211.037,10211.037,10211.037,20705.7725,15254.25,15254.25,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,45864.445,45864.445 +17330400.0,12572.445,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28223.119680000003,43006.65856,8792.835,8792.835,8792.835,17829.9695,12572.445,12572.445,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37801.1513,37801.1513 +17334000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +17337600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +17341200.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +17344800.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +17348400.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +17352000.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +17355600.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +17359200.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +17362800.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +17366400.0,3122.5619999999994,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3122.5619999999994,3122.5619999999994,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9388.503079999999,9388.503079999999 +17370000.0,2022.8999999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2022.8999999999999,2022.8999999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6082.186,6082.186 +17373600.0,831.309,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,831.309,831.309,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2499.46906,2499.46906 +17377200.0,845.322,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,845.322,845.322,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2541.60148,2541.60148 +17380800.0,1263.396,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1263.396,1263.396,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3798.61064,3798.61064 +17384400.0,3216.996,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3216.996,3216.996,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9672.434640000001,9672.434640000001 +17388000.0,24872.871,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,62823.18679999999,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,24872.871,24872.871,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22700.322,22700.322,22700.322,22700.322,74784.43214,74784.43214 +17391600.0,46545.333,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,100514.49423999999,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,46545.333,46545.333,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,37925.613000000005,37925.613000000005,37925.613000000005,37925.613000000005,139946.30122,139946.30122 +17395200.0,41789.994000000006,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,77480.10207000001,118064.91744,20422.071,20422.071,20422.071,41411.5415,41789.994000000006,41789.994000000006,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,39248.058,39248.058,39248.058,39248.058,125648.58196000001,125648.58196000001 +17398800.0,43448.199,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,97352.67736000002,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,43448.199,43448.199,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,47035.14600000001,47035.14600000001,47035.14600000001,47035.14600000001,130634.25166,130634.25166 +17402400.0,24630.870000000003,10092.42,29469.8664,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,111242.802,31358.54272,70698.87867,107731.62464000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +17406000.0,21433.143,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,48298.52685,73597.7552,15032.913,15032.913,15032.913,30483.495,21433.143,21433.143,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64442.31662,64442.31662 +17409600.0,19036.044,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,49043.61336,23133.34976,42052.96977,64080.715840000004,12763.794,12763.794,12763.794,25882.213000000003,19036.044,19036.044,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,57235.03896,57235.03896 +17413200.0,14683.814999999999,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32815.27599,50004.23008000001,10211.037,10211.037,10211.037,20705.7725,14683.814999999999,14683.814999999999,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,44149.3371,44149.3371 +17416800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +17420400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +17424000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +17427600.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +17431200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +17434800.0,32625.135000000002,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,72616.87650000001,110654.28800000002,22407.549,22407.549,22407.549,45437.66499999999,32625.135000000002,32625.135000000002,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,98092.9059,98092.9059 +17438400.0,31784.876999999997,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31784.876999999997,31784.876999999997,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,95566.53017999999,95566.53017999999 +17442000.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +17445600.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +17449200.0,8520.309000000001,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8520.309000000001,8520.309000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25617.729059999998,25617.729059999998 +17452800.0,3324.7350000000006,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3324.7350000000006,3324.7350000000006,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9996.3699,9996.3699 +17456400.0,2110.941,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2110.941,2110.941,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6346.895939999999,6346.895939999999 +17460000.0,893.8589999999999,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,893.8589999999999,893.8589999999999,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2687.5360599999995,2687.5360599999995 +17463600.0,894.03,235.2,686.7839999999999,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,894.03,894.03,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2688.0501999999997,2688.0501999999997 +17467200.0,1291.692,2831.676,8268.493919999999,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1291.692,1291.692,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3883.6872799999996,3883.6872799999996 +17470800.0,4010.2019999999998,3331.205999999999,9727.121519999999,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,4010.2019999999998,4010.2019999999998,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,12057.34068,12057.34068 +17474400.0,27133.535999999996,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,27133.535999999996,27133.535999999996,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,81581.49823999999,81581.49823999999 +17478000.0,47873.136,61129.743,178498.84956,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,308224.9508,47808.917760000004,163909.66767000002,249767.11264000004,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,47873.136,47873.136,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,54448.818,54448.818,54448.818,54448.818,143938.56224,143938.56224 +17481600.0,46541.79,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,50006.666880000004,68300.11713,104076.36896,20422.071,20422.071,20422.071,41411.5415,46541.79,46541.79,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,139935.6486,139935.6486 +17485200.0,36265.29,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,47906.95744,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,36265.29,36265.29,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,109037.63859999999,109037.63859999999 +17488800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +17492400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +17496000.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +17499600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +17503200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +17506800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +17510400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +17514000.0,20951.139,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,20951.139,20951.139,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,62993.091259999994,62993.091259999994 +17517600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +17521200.0,32505.966,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,32505.966,32505.966,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,97734.60444,97734.60444 +17524800.0,30922.017,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,30922.017,30922.017,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,92972.19778,92972.19778 +17528400.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +17532000.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +17535600.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +17539200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +17542800.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +17546400.0,744.96,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,744.96,744.96,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2239.8464,2239.8464 +17550000.0,883.6890000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,883.6890000000001,883.6890000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2656.9582600000003,2656.9582600000003 +17553600.0,1295.157,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1295.157,1295.157,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3894.10538,3894.10538 +17557200.0,3181.2299999999996,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3181.2299999999996,3181.2299999999996,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9564.898199999998,9564.898199999998 +17560800.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +17564400.0,37551.981,15605.966999999999,45569.42363999999,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,152845.98672000002,47808.917760000004,101211.84339,154227.57087999998,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,37473.603,37473.603,37473.603,37473.603,112906.28953999998,112906.28953999998 +17568000.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +17571600.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +17575200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +17578800.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +17582400.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +17586000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +17589600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +17593200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +17596800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +17600400.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +17604000.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +17607600.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +17611200.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +17614800.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +17618400.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +17622000.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +17625600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +17629200.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +17632800.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +17636400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +17640000.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +17643600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +17647200.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +17650800.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +17654400.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +17658000.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +17661600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +17665200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +17668800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +17672400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +17676000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +17679600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +17683200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +17686800.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +17690400.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +17694000.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +17697600.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +17701200.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +17704800.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +17708400.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +17712000.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +17715600.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +17719200.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +17722800.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +17726400.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +17730000.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +17733600.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +17737200.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +17740800.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +17744400.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +17748000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +17751600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +17755200.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +17758800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +17762400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +17766000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +17769600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +17773200.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +17776800.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +17780400.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +17784000.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +17787600.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +17791200.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +17794800.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +17798400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +17802000.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +17805600.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +17809200.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +17812800.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +17816400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +17820000.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +17823600.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +17827200.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +17830800.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +17834400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +17838000.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +17841600.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +17845200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +17848800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +17852400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +17856000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +17859600.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +17863200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +17866800.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +17870400.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +17874000.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +17877600.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +17881200.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +17884800.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +17888400.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +17892000.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +17895600.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +17899200.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +17902800.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +17906400.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +17910000.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +17913600.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +17917200.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +17920800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +17924400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +17928000.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +17931600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +17935200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +17938800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +17942400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +17946000.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +17949600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +17953200.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +17956800.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +17960400.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +17964000.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +17967600.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +17971200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +17974800.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +17978400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +17982000.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +17985600.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +17989200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +17992800.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +17996400.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +18000000.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +18003600.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +18007200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +18010800.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +18014400.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +18018000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +18021600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +18025200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +18028800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +18032400.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +18036000.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +18039600.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +18043200.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +18046800.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +18050400.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +18054000.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +18057600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18061200.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +18064800.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18068400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18072000.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +18075600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18079200.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +18082800.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +18086400.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +18090000.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +18093600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +18097200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +18100800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +18104400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +18108000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +18111600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +18115200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +18118800.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +18122400.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +18126000.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +18129600.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +18133200.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +18136800.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +18140400.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +18144000.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18147600.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +18151200.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18154800.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18158400.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +18162000.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18165600.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +18169200.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +18172800.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +18176400.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +18180000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +18183600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +18187200.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +18190800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +18194400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +18198000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +18201600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +18205200.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +18208800.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +18212400.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +18216000.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +18219600.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +18223200.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +18226800.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +18230400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18234000.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +18237600.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18241200.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18244800.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +18248400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18252000.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +18255600.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84801.73968,129221.69855999999,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +18259200.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +18262800.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +18266400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +18270000.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +18273600.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +18277200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +18280800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +18284400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +18288000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +18291600.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +18295200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +18298800.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +18302400.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +18306000.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +18309600.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +18313200.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +18316800.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18320400.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +18324000.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18327600.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18331200.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +18334800.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18338400.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +18342000.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,92774.34054,141370.42368,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +18345600.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +18349200.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +18352800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +18356400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +18360000.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +18363600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +18367200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +18370800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +18374400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +18378000.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +18381600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +18385200.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +18388800.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +18392400.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +18396000.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +18399600.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +18403200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18406800.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +18410400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18414000.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18417600.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +18421200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18424800.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +18428400.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,93691.20495,142767.5504,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +18432000.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +18435600.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +18439200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +18442800.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +18446400.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +18450000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +18453600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +18457200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +18460800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +18464400.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +18468000.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +18471600.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +18475200.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +18478800.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +18482400.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +18486000.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +18489600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18493200.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +18496800.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18500400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18504000.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +18507600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18511200.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +18514800.0,37742.112,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37742.112,37742.112,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,113477.95008,113477.95008 +18518400.0,34778.801999999996,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,34778.801999999996,34778.801999999996,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,104568.26468,104568.26468 +18522000.0,39379.665,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,39379.665,39379.665,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,118401.5261,118401.5261 +18525600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,63430.74297,96656.37024,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +18529200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,48113.982209999995,73316.54432,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +18532800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,41469.017940000005,63190.88448000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +18536400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32749.264380000004,49903.640960000004,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +18540000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +18543600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +18547200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +18550800.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +18554400.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +18558000.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71810.76882,109425.93344,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +18561600.0,28712.118000000002,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28712.118000000002,28712.118000000002,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,86327.76812,86327.76812 +18565200.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +18568800.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +18572400.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +18576000.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18579600.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +18583200.0,793.017,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,793.017,793.017,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2384.33778,2384.33778 +18586800.0,845.517,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,845.517,845.517,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2542.1877799999997,2542.1877799999997 +18590400.0,1260.165,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1260.165,1260.165,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3788.8961,3788.8961 +18594000.0,3211.089,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3211.089,3211.089,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9654.67426,9654.67426 +18597600.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +18601200.0,40402.749,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,40402.749,40402.749,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,121477.59866,121477.59866 +18604800.0,38089.512,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,38089.512,38089.512,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,114522.46608,114522.46608 +18608400.0,42555.111,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,93703.4424,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,42555.111,42555.111,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,34592.643,34592.643,34592.643,34592.643,127949.03373999998,127949.03373999998 +18612000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,75277.29048,31358.54272,71086.44752999999,108322.20576,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +18615600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +18619200.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40735.41339,62073.01088000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +18622800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32677.96392,49794.992640000004,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +18626400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +18630000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +18633600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +18637200.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +18640800.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +18644400.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +18648000.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +18651600.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +18655200.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +18658800.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +18662400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18666000.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +18669600.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18673200.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18676800.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +18680400.0,3053.76,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3053.76,3053.76,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9181.6384,9181.6384 +18684000.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +18687600.0,37551.981,14495.283000000001,42326.22636,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,125002.43767999999,47808.917760000004,99717.01152,151949.73184000002,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +18691200.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +18694800.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +18698400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +18702000.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +18705600.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +18709200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +18712800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +18716400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +18720000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +18723600.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +18727200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +18730800.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +18734400.0,28280.256,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28280.256,28280.256,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,85029.30304,85029.30304 +18738000.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +18741600.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +18745200.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +18748800.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18752400.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +18756000.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18759600.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18763200.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +18766800.0,3015.654,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3015.654,3015.654,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9067.066359999999,9067.066359999999 +18770400.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +18774000.0,37551.981,12836.343,37482.12156,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,121152.88488,47808.917760000004,98480.48322,150065.49824,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +18777600.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +18781200.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +18784800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +18788400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +18792000.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +18795600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +18799200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +18802800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +18806400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +18810000.0,17893.23,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17893.23,17893.23,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53798.9782,53798.9782 +18813600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +18817200.0,33414.729,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,33414.729,33414.729,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,100466.95186,100466.95186 +18820800.0,31083.893999999997,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63777.79779,97185.21568,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31083.893999999997,31083.893999999997,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,93458.90795999998,93458.90795999998 +18824400.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +18828000.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +18831600.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +18835200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18838800.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +18842400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18846000.0,615.483,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,615.483,615.483,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1850.55222,1850.55222 +18849600.0,1108.293,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1108.293,1108.293,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3332.2676199999996,3332.2676199999996 +18853200.0,3117.0,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3117.0,3117.0,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9371.779999999999,9371.779999999999 +18856800.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +18860400.0,37551.981,13164.260999999999,38439.64212,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,123585.61863999999,47808.917760000004,98805.78371999999,150561.19423999998,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +18864000.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +18867600.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +18871200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +18874800.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +18878400.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +18882000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +18885600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +18889200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +18892800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +18896400.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +18900000.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +18903600.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +18907200.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +18910800.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +18914400.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +18918000.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +18921600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +18925200.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +18928800.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18932400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +18936000.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +18939600.0,3122.477999999999,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3122.477999999999,3122.477999999999,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9388.250519999998,9388.250519999998 +18943200.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +18946800.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,119228.27784,47808.917760000004,97637.05413,148780.27296,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +18950400.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +18954000.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +18957600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +18961200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +18964800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +18968400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +18972000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +18975600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +18979200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +18982800.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +18986400.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +18990000.0,32863.719,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,32863.719,32863.719,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,98810.24846,98810.24846 +18993600.0,31361.997,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63423.29511,96645.02112,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31361.997,31361.997,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,94295.07097999999,94295.07097999999 +18997200.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +19000800.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +19004400.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +19008000.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +19011600.0,1748.076,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1748.076,1748.076,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,5255.88184,5255.88184 +19015200.0,765.396,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,765.396,765.396,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2301.2906399999997,2301.2906399999997 +19018800.0,741.3240000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,741.3240000000001,741.3240000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2228.91416,2228.91416 +19022400.0,1135.752,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1135.752,1135.752,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3414.82768,3414.82768 +19026000.0,3133.773,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3133.773,3133.773,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9422.21082,9422.21082 +19029600.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +19033200.0,37551.981,23901.528,69792.46175999999,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,161652.94616,47808.917760000004,102632.06625,156391.72,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36964.689,36964.689,36964.689,36964.689,112906.28953999998,112906.28953999998 +19036800.0,30200.466,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65710.61889,100130.46687999999,20422.071,20422.071,20422.071,41411.5415,30200.466,30200.466,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,90802.73444,90802.73444 +19040400.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +19044000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +19047600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +19051200.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +19054800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +19058400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +19062000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +19065600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +19069200.0,23853.78,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,23853.78,23853.78,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,71720.3652,71720.3652 +19072800.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +19076400.0,33719.513999999996,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,72163.79352,109963.87584000001,22407.549,22407.549,22407.549,45437.66499999999,33719.513999999996,33719.513999999996,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,101383.33876,101383.33876 +19080000.0,30540.594,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,64890.24339,98880.37088,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,30540.594,30540.594,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,91825.38596,91825.38596 +19083600.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +19087200.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +19090800.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +19094400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +19098000.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +19101600.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +19105200.0,585.942,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,585.942,585.942,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1761.7322800000002,1761.7322800000002 +19108800.0,1065.2939999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1065.2939999999999,1065.2939999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3202.9839599999996,3202.9839599999996 +19112400.0,3043.7010000000005,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3043.7010000000005,3043.7010000000005,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9151.39434,9151.39434 +19116000.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +19119600.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +19123200.0,34120.839,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,34120.839,34120.839,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,102589.98925999999,102589.98925999999 +19126800.0,38828.391,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,38828.391,38828.391,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,116744.02894,116744.02894 +19130400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,61144.24512,93172.18304,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +19134000.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +19137600.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,41405.82705,63094.59360000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +19141200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +19144800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +19148400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +19152000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +19155600.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +19159200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +19162800.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +19166400.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +19170000.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +19173600.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +19177200.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +19180800.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +19184400.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +19188000.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +19191600.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +19195200.0,1144.935,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1144.935,1144.935,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3442.4379,3442.4379 +19198800.0,3152.3729999999996,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3152.3729999999996,3152.3729999999996,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9478.13482,9478.13482 +19202400.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +19206000.0,38052.216,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,38052.216,38052.216,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,114410.32944,114410.32944 +19209600.0,35698.026,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,35698.026,35698.026,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,107332.06484,107332.06484 +19213200.0,40358.826,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,92211.89472,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,40358.826,40358.826,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33577.929000000004,33577.929000000004,33577.929000000004,33577.929000000004,121345.53684,121345.53684 +19216800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,67371.408,31358.54272,66469.17521999999,101286.36223999999,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +19220400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,48200.24601,73447.99392000001,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +19224000.0,18567.252,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,41625.9543,63430.02559999999,12763.794,12763.794,12763.794,25882.213000000003,18567.252,18567.252,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,55825.537679999994,55825.537679999994 +19227600.0,14591.283000000001,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32797.03308,49976.43136,10211.037,10211.037,10211.037,20705.7725,14591.283000000001,14591.283000000001,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43871.124220000005,43871.124220000005 +19231200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +19234800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +19238400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +19242000.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +19245600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +19249200.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,72189.98178,110003.78176000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +19252800.0,30857.604,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,30857.604,30857.604,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,92778.52936,92778.52936 +19256400.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +19260000.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +19263600.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +19267200.0,3089.616,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3089.616,3089.616,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9289.44544,9289.44544 +19270800.0,2011.377,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2011.377,2011.377,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6047.540179999999,6047.540179999999 +19274400.0,810.348,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,810.348,810.348,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2436.4463199999996,2436.4463199999996 +19278000.0,820.761,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,820.761,820.761,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2467.75474,2467.75474 +19281600.0,1244.3039999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1244.3039999999999,1244.3039999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3741.2073599999994,3741.2073599999994 +19285200.0,3237.8489999999997,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3237.8489999999997,3237.8489999999997,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9735.13266,9735.13266 +19288800.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +19292400.0,37551.981,27778.635000000002,81113.6142,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,204435.55976,47808.917760000004,112087.82004,170800.48768,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,39200.493,39200.493,39200.493,39200.493,112906.28953999998,112906.28953999998 +19296000.0,30044.550000000003,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,30044.550000000003,30044.550000000003,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,90333.947,90333.947 +19299600.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +19303200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +19306800.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +19310400.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +19314000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +19317600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +19321200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +19324800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +19328400.0,23013.924,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,23013.924,23013.924,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,69195.19816,69195.19816 +19332000.0,32535.528,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,32535.528,32535.528,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,97823.48752,97823.48752 +19335600.0,35199.369,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,73359.30545999999,111785.60832,22407.549,22407.549,22407.549,45437.66499999999,35199.369,35199.369,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,105832.76946,105832.76946 +19339200.0,31840.926,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,77666.99511999999,35985.208320000005,66844.86711,101858.84512000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31840.926,31840.926,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,28034.787,28034.787,28034.787,28034.787,95735.05084,95735.05084 +19342800.0,23453.454000000005,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23453.454000000005,23453.454000000005,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70516.71836000001,70516.71836000001 +19346400.0,16709.604,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16709.604,16709.604,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,50240.20936,50240.20936 +19350000.0,8560.664999999999,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8560.664999999999,8560.664999999999,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25739.066099999996,25739.066099999996 +19353600.0,3325.245,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3325.245,3325.245,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9997.9033,9997.9033 +19357200.0,2118.567,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2118.567,2118.567,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6369.824779999999,6369.824779999999 +19360800.0,917.9970000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,917.9970000000001,917.9970000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2760.11098,2760.11098 +19364400.0,959.724,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,959.724,959.724,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2885.57016,2885.57016 +19368000.0,1409.142,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1409.142,1409.142,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,4236.82028,4236.82028 +19371600.0,3400.6020000000003,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3400.6020000000003,3400.6020000000003,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10224.47668,10224.47668 +19375200.0,26609.25,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,26609.25,26609.25,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,80005.14499999999,80005.14499999999 +19378800.0,43829.277,58546.29899999999,170955.19307999997,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,298602.80912,47808.917760000004,137334.30249,209271.31808,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,43829.277,43829.277,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,44906.286,44906.286,44906.286,44906.286,131780.02618,131780.02618 +19382400.0,34769.664,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,66870.59652,101898.05184000001,20422.071,20422.071,20422.071,41411.5415,34769.664,34769.664,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,104540.78975999999,104540.78975999999 +19386000.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +19389600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +19393200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +19396800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +19400400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +19404000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +19407600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +19411200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +19414800.0,26323.142999999996,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47123.27536000001,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,26323.142999999996,26323.142999999996,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,79144.91661999999,79144.91661999999 +19418400.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +19422000.0,35271.129,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,87307.74304,40611.8848,73525.85352,112039.39584000001,22407.549,22407.549,22407.549,45437.66499999999,35271.129,35271.129,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,106048.52785999999,106048.52785999999 +19425600.0,32368.476000000002,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,79632.03248,35985.208320000005,67377.33114,102670.21888,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,32368.476000000002,32368.476000000002,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,29642.748,29642.748,29642.748,29642.748,97321.21784,97321.21784 +19429200.0,24026.763,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,24026.763,24026.763,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,72240.46742,72240.46742 +19432800.0,17080.998,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17080.998,17080.998,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51356.86732,51356.86732 +19436400.0,8625.630000000001,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8625.630000000001,8625.630000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25934.3942,25934.3942 +19440000.0,3392.3489999999997,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3392.3489999999997,3392.3489999999997,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10199.662659999998,10199.662659999998 +19443600.0,2184.8100000000004,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2184.8100000000004,2184.8100000000004,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6568.995400000001,6568.995400000001 +19447200.0,971.0429999999999,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,971.0429999999999,971.0429999999999,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2919.6026199999997,2919.6026199999997 +19450800.0,943.7370000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,943.7370000000001,943.7370000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2837.50258,2837.50258 +19454400.0,1399.6680000000001,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1399.6680000000001,1399.6680000000001,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,4208.33512,4208.33512 +19458000.0,5013.303,2201.5440000000003,6428.50848,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,5013.303,5013.303,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,15073.331019999998,15073.331019999998 +19461600.0,26944.584000000003,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,26944.584000000003,26944.584000000003,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,81013.38256,81013.38256 +19465200.0,45804.963,68049.624,198704.90207999997,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,319709.07719999994,47808.917760000004,152787.83919,232819.56448000003,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,45804.963,45804.963,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,50928.566999999995,50928.566999999995,50928.566999999995,50928.566999999995,137720.25542,137720.25542 +19468800.0,54776.772,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,50935.808000000005,69966.51543,106615.64256000001,20422.071,20422.071,20422.071,41411.5415,54776.772,54776.772,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,164695.49448,164695.49448 +19472400.0,36645.147000000004,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,46064.832,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,36645.147000000004,36645.147000000004,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,110179.74198,110179.74198 +19476000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +19479600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +19483200.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +19486800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +19490400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +19494000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +19497600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +19501200.0,31645.665,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,54870.572640000006,22619.26976,41426.011620000005,63125.35104,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,31645.665,31645.665,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,19028.691,19028.691,19028.691,19028.691,95147.9661,95147.9661 +19504800.0,32964.653999999995,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,84587.29,40097.804800000005,71661.97101,109199.19392,22123.911,22123.911,22123.911,44862.503,32964.653999999995,32964.653999999995,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,31535.535000000003,31535.535000000003,31535.535000000003,31535.535000000003,99113.72635999999,99113.72635999999 +19508400.0,35818.839,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88638.34031999999,40611.8848,75242.04429,114654.54368,22407.549,22407.549,22407.549,45437.66499999999,35818.839,35818.839,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,35624.04,35624.04,35624.04,35624.04,107695.30926,107695.30926 +19512000.0,34365.308999999994,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,93211.73192,35985.208320000005,68358.25584,104164.96128,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,34365.308999999994,34365.308999999994,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,37785.417,37785.417,37785.417,37785.417,103325.02905999999,103325.02905999999 +19515600.0,25120.694999999996,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,25120.694999999996,25120.694999999996,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,25978.785000000003,25978.785000000003,25978.785000000003,25978.785000000003,75529.55629999998,75529.55629999998 +19519200.0,17068.578,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17068.578,17068.578,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51319.524520000006,51319.524520000006 +19522800.0,8584.767,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8584.767,8584.767,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25811.532779999998,25811.532779999998 +19526400.0,3318.717,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3318.717,3318.717,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9978.27578,9978.27578 +19530000.0,2114.736,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2114.736,2114.736,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6358.30624,6358.30624 +19533600.0,895.4520000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,895.4520000000001,895.4520000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2692.3256800000004,2692.3256800000004 +19537200.0,1158.645,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1158.645,1158.645,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,3483.6593,3483.6593 +19540800.0,2128.2,1079.343,3151.68156,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,2128.2,2128.2,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,6398.788,6398.788 +19544400.0,4819.752,2885.3579999999997,8425.245359999999,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,4819.752,4819.752,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,14491.38768,14491.38768 +19548000.0,28096.109999999997,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,28096.109999999997,28096.109999999997,14370.601309999998,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,84475.63739999999,84475.63739999999 +19551600.0,48566.793000000005,77649.645,226736.9634,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,326912.05727999995,47808.917760000004,172537.83477,262914.79584,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,48566.793000000005,48566.793000000005,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,55709.664,55709.664,55709.664,55709.664,146024.15761999998,146024.15761999998 +19555200.0,58493.073000000004,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,53805.71264000001,69500.98554,105906.26367999999,20422.071,20422.071,20422.071,41411.5415,58493.073000000004,58493.073000000004,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,175869.17282,175869.17282 +19558800.0,39807.156,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,53592.82368000001,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,39807.156,39807.156,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,119686.84903999999,119686.84903999999 +19562400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +19566000.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +19569600.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +19573200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +19576800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +19580400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +19584000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +19587600.0,31434.773999999998,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,54908.94727999999,22619.26976,41420.55855,63117.0416,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,31434.773999999998,31434.773999999998,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,19238.247,19238.247,19238.247,19238.247,94513.88716,94513.88716 +19591200.0,32912.64,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,84541.69128,40097.804800000005,71720.81973,109288.86816000001,22123.911,22123.911,22123.911,44862.503,32912.64,32912.64,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,31597.152000000002,31597.152000000002,31597.152000000002,31597.152000000002,98957.3376,98957.3376 +19594800.0,36416.133,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88741.62656,40611.8848,75279.52992,114711.66464,22407.549,22407.549,22407.549,45437.66499999999,36416.133,36416.133,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,37010.028,37010.028,37010.028,37010.028,109491.17321999998,109491.17321999998 +19598400.0,34289.88,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,92523.48792,35985.208320000005,71004.49209,108197.32128,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,34289.88,34289.88,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,40255.494,40255.494,40255.494,40255.494,103098.23919999998,103098.23919999998 +19602000.0,25025.019,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,25025.019,25025.019,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,25931.163,25931.163,25931.163,25931.163,75241.89046000001,75241.89046000001 +19605600.0,17077.767,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17077.767,17077.767,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51347.15278,51347.15278 +19609200.0,8652.822,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8652.822,8652.822,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26016.151479999997,26016.151479999997 +19612800.0,3440.8650000000007,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3440.8650000000007,3440.8650000000007,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10345.5341,10345.5341 +19616400.0,2245.914,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2245.914,2245.914,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6752.71476,6752.71476 +19620000.0,1839.3629999999998,1662.5010000000002,4854.50292,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1839.3629999999998,1839.3629999999998,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,5530.35142,5530.35142 +19623600.0,2400.768,4967.985,14506.516199999998,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,2400.768,2400.768,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,7218.309119999999,7218.309119999999 +19627200.0,2705.07,5376.522,15699.444239999999,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,930.78,930.78,930.78,1150.3204999999998,2705.07,2705.07,7865.956539999999,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,8133.2438,8133.2438 +19630800.0,6944.436,8721.345000000001,25466.327400000002,12808.83538,12808.83538,12808.83538,11271.011499999999,15409.418160000001,3598.5164800000002,6336.15822,9655.098240000001,2500.629,2500.629,2500.629,4026.1234999999997,6944.436,6944.436,9323.77134,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,20879.604239999997,20879.604239999997 +19634400.0,32940.102,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,32940.102,32940.102,150439.64273,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,99039.90667999999,99039.90667999999 +19638000.0,53153.066999999995,100304.78100000002,292889.96052,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,391166.26599999995,47808.917760000004,211830.27117,322788.98464000004,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,53153.066999999995,53153.066999999995,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,69702.795,69702.795,69702.795,69702.795,159813.55477999998,159813.55477999998 +19641600.0,80600.66399999999,9610.437,28062.476039999998,131952.46878000002,131952.46878000002,131952.46878000002,115930.41599999998,77076.69376,71478.47744,71512.55496,108971.51232,20422.071,20422.071,20422.071,41411.5415,80600.66399999999,80600.66399999999,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,242339.32976,242339.32976 +19645200.0,46900.848,15082.107000000002,44039.752440000004,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,83783.33312000001,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,46900.848,46900.848,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,141015.21632,141015.21632 +19648800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +19652400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +19656000.0,18202.713,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,50662.77088,23133.34976,40732.447770000006,62068.49184000001,14097.537,14097.537,14097.537,25882.213000000003,18202.713,18202.713,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54729.490419999995,54729.490419999995 +19659600.0,14566.056,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14566.056,14566.056,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43795.27503999999,43795.27503999999 +19663200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +19666800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +19670400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +19674000.0,36853.656,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,60570.13816,22619.26976,44477.14194,67774.69248,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,36853.656,36853.656,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,31033.085999999996,31033.085999999996,31033.085999999996,31033.085999999996,110806.65904000001,110806.65904000001 +19677600.0,32712.258,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,84237.5908,40097.804800000005,71845.26468,109478.49855999999,22123.911,22123.911,22123.911,44862.503,32712.258,32712.258,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,31287.657,31287.657,31287.657,31287.657,98354.85572,98354.85572 +19681200.0,36655.524,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,89117.94448,40611.8848,78811.65579,120093.95168000001,22407.549,22407.549,22407.549,45437.66499999999,36655.524,36655.524,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,42188.403,42188.403,42188.403,42188.403,110210.94215999999,110210.94215999999 +19684800.0,34452.117,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,93259.74839999998,35985.208320000005,71085.21105,108320.3216,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,34452.117,34452.117,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,39430.16099999999,39430.16099999999,39430.16099999999,39430.16099999999,103586.03177999999,103586.03177999999 +19688400.0,24842.507999999998,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,24842.507999999998,24842.507999999998,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,25563.303,25563.303,25563.303,25563.303,74693.14072,74693.14072 +19692000.0,16999.449,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16999.449,16999.449,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51111.67666,51111.67666 +19695600.0,8535.399000000001,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8535.399000000001,8535.399000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25663.09966,25663.09966 +19699200.0,3277.3019999999997,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3277.3019999999997,3277.3019999999997,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9853.75468,9853.75468 +19702800.0,2063.001,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2063.001,2063.001,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6202.75634,6202.75634 +19706400.0,854.796,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,854.796,854.796,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2570.08664,2570.08664 +19710000.0,1359.3600000000001,196.5,573.78,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1359.3600000000001,1359.3600000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,4087.1423999999997,4087.1423999999997 +19713600.0,2047.122,1824.7109999999998,5328.15612,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,2047.122,2047.122,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,6155.01348,6155.01348 +19717200.0,4164.512999999999,3855.984,11259.47328,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,4164.512999999999,4164.512999999999,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,12521.302419999998,12521.302419999998 +19720800.0,28825.052999999996,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,63425.495200000005,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,28825.052999999996,28825.052999999996,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22831.59,22831.59,22831.59,22831.59,86667.32601999998,86667.32601999998 +19724400.0,71775.075,12413.481,36247.36452,170200.25715,170200.25715,170200.25715,149743.45400000003,101748.56216,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,71775.075,71775.075,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,39143.088,39143.088,39143.088,39143.088,215803.72549999997,215803.72549999997 +19728000.0,58611.648,14044.203,41009.072759999995,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,92780.61439999999,120080.12730000001,182979.2416,20422.071,20422.071,20422.071,41411.5415,58611.648,58611.648,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,66957.762,66957.762,66957.762,66957.762,176225.68832,176225.68832 +19731600.0,54253.70700000001,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,106831.1492,43696.332160000005,80967.1254,123378.47680000002,26780.108999999997,26780.108999999997,26780.108999999997,48888.6265,54253.70700000001,54253.70700000001,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,63355.659000000014,63355.659000000014,63355.659000000014,63355.659000000014,163122.81238000002,163122.81238000002 +19735200.0,25825.02,23162.604,67634.80368,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,213133.08344000002,31358.54272,96513.6879,147068.4768,17302.032,17302.032,17302.032,35084.777,25825.02,25825.02,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,29387.234999999997,29387.234999999997,29387.234999999997,29387.234999999997,77647.2268,77647.2268 +19738800.0,22578.546,7208.838,21049.806959999998,96981.18507,96981.18507,96981.18507,85337.66500000001,61048.27064000001,27245.94624,50837.16036,77466.14912,15032.913,15032.913,15032.913,30483.495,22578.546,22578.546,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,21156.045000000002,21156.045000000002,21156.045000000002,21156.045000000002,67886.16163999999,67886.16163999999 +19742400.0,20296.674,7330.103999999999,21403.90368,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,64330.49663999999,23133.34976,44634.17973,68013.98816000001,12763.794,12763.794,12763.794,25882.213000000003,20296.674,20296.674,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,20682.264,20682.264,20682.264,20682.264,61025.333159999995,61025.333159999995 +19746000.0,15650.139000000003,4819.776,14073.745920000001,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,41129.92864,18506.68416,33733.85505,51403.9696,10211.037,10211.037,10211.037,20705.7725,15650.139000000003,15650.139000000003,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14560.032,14560.032,14560.032,14560.032,47054.751260000005,47054.751260000005 +19749600.0,13042.587000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28697.092409999997,43728.90272,8792.835,8792.835,8792.835,17829.9695,13042.587000000001,13042.587000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,39214.71158,39214.71158 +19753200.0,9759.309,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21921.1965,33403.727999999996,6807.357,6807.357,6807.357,13803.846000000001,9759.309,9759.309,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29342.989059999996,29342.989059999996 +19756800.0,10929.219000000001,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24588.25005,37467.8096,7658.277,7658.277,7658.277,15529.3285,10929.219000000001,10929.219000000001,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32860.51846,32860.51846 +19760400.0,18093.315000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,40297.45314,61405.64288,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,18093.315000000002,18093.315000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,54400.5671,54400.5671 +19764000.0,32942.421,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,72163.68726,109963.71392000001,22123.911,22123.911,22123.911,44862.503,32942.421,32942.421,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,99046.87914,99046.87914 +19767600.0,36026.085,11023.077,32187.38484,144556.86399,144556.86399,144556.86399,127201.42749999999,104836.24608,40611.8848,75198.90273,114588.80416,22407.549,22407.549,22407.549,45437.66499999999,36026.085,36026.085,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,34230.09299999999,34230.09299999999,34230.09299999999,34230.09299999999,108318.4289,108318.4289 +19771200.0,35280.144,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,66043.84059,100638.23328000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,35280.144,35280.144,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,38502.942,38502.942,38502.942,38502.942,106075.63296,106075.63296 +19774800.0,25070.864999999998,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,25070.864999999998,25070.864999999998,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,75379.7341,75379.7341 +19778400.0,17048.670000000002,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17048.670000000002,17048.670000000002,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51259.6678,51259.6678 +19782000.0,8573.457,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8573.457,8573.457,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25777.52738,25777.52738 +19785600.0,3328.580999999999,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3328.580999999999,3328.580999999999,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10007.933539999998,10007.933539999998 +19789200.0,2365.299,1251.9569999999999,3655.7144399999997,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2365.299,2365.299,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,7111.66566,7111.66566 +19792800.0,1854.5100000000002,3445.317,10060.325640000001,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1854.5100000000002,1854.5100000000002,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,5575.893400000001,5575.893400000001 +19796400.0,1851.5279999999998,3435.0240000000003,10030.27008,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,473.154,473.154,473.154,575.162,1851.5279999999998,1851.5279999999998,1528.82483,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,5566.927519999999,5566.927519999999 +19800000.0,2292.813,4888.809,14275.32228,3659.66667,3659.66667,3659.66667,3220.2905,4724.86368,1028.16,1810.3323,2758.6016,1006.3560000000002,1006.3560000000002,1006.3560000000002,1150.3204999999998,2292.813,2292.813,6767.193809999999,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,6893.72442,6893.72442 +19803600.0,4279.098,8198.142,23938.57464,12808.83538,12808.83538,12808.83538,11271.011499999999,13781.261199999999,3598.5164800000002,6336.15822,9655.098240000001,2411.772,2411.772,2411.772,4026.1234999999997,4279.098,4279.098,7668.59743,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,12865.82132,12865.82132 +19807200.0,42358.962,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,64936.77624,28788.164480000003,52142.6514,79455.4688,16045.11,16045.11,16045.11,32208.977499999994,42358.962,42358.962,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,23160.957,23160.957,23160.957,23160.957,127359.27908,127359.27908 +19810800.0,99745.302,12413.481,36247.36452,172101.67161000002,172101.67161000002,172101.67161000002,149743.45400000003,103633.01920000001,47808.917760000004,84453.7092,128691.36639999998,26476.142999999996,26476.142999999996,26476.142999999996,53489.9085,99745.302,99745.302,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,40045.413,40045.413,40045.413,40045.413,299900.87468,299900.87468 +19814400.0,72063.56099999999,24913.503,72747.42876,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,133611.42656000002,141172.82424000002,215120.49408000003,20422.071,20422.071,20422.071,41411.5415,72063.56099999999,72063.56099999999,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,76957.755,76957.755,76957.755,76957.755,216671.10673999996,216671.10673999996 +19818000.0,62862.609000000004,12408.888,36233.95296,155535.86807,155535.86807,155535.86807,136862.2955,114278.38144,43696.332160000005,85887.36911999999,130875.99104,29520.087,29520.087,29520.087,48888.6265,62862.609000000004,62862.609000000004,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,68740.584,68740.584,68740.584,68740.584,189006.91106,189006.91106 +19821600.0,28525.377,35070.543,102405.98555999999,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,274905.80024,31358.54272,127733.68733999999,194641.80928,17302.032,17302.032,17302.032,35084.777,28525.377,28525.377,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,36542.973,36542.973,36542.973,36542.973,85766.30018,85766.30018 +19825200.0,22796.328,7480.253999999999,21842.341679999998,96981.18507,96981.18507,96981.18507,85337.66500000001,65242.16735999999,27245.94624,53443.17237,81437.21504000001,15032.913,15032.913,15032.913,30483.495,22796.328,22796.328,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,22288.419,22288.419,22288.419,22288.419,68540.95951999999,68540.95951999999 +19828800.0,21697.977,8395.935000000001,24516.130200000003,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,70519.55344,23133.34976,46812.1185,71332.752,12763.794,12763.794,12763.794,25882.213000000003,21697.977,21697.977,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,22638.603,22638.603,22638.603,22638.603,65238.58417999999,65238.58417999999 +19832400.0,16074.408000000001,5082.522,14840.96424,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,44815.73368,18506.68416,34053.064920000004,51890.384640000004,10211.037,10211.037,10211.037,20705.7725,16074.408000000001,16074.408000000001,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,15310.889999999998,15310.889999999998,15310.889999999998,15310.889999999998,48330.38672,48330.38672 +19836000.0,13126.130999999998,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33277.86176,15936.305920000003,28827.454110000002,43927.54912,8792.835,8792.835,8792.835,17829.9695,13126.130999999998,13126.130999999998,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,39465.900539999995,39465.900539999995 +19839600.0,9736.224,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21934.18437,33423.51904,6807.357,6807.357,6807.357,13803.846000000001,9736.224,9736.224,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29273.580159999998,29273.580159999998 +19843200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24475.450230000002,37295.92416,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +19846800.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +19850400.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +19854000.0,33959.850000000006,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,74093.04041999999,112903.68063999999,22407.549,22407.549,22407.549,45437.66499999999,33959.850000000006,33959.850000000006,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,102105.94900000001,102105.94900000001 +19857600.0,32618.961000000003,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,32618.961000000003,32618.961000000003,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,30544.5,30544.5,30544.5,30544.5,98074.34274000001,98074.34274000001 +19861200.0,23982.834000000003,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23982.834000000003,23982.834000000003,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,72108.38756,72108.38756 +19864800.0,17073.147,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17073.147,17073.147,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51333.261979999996,51333.261979999996 +19868400.0,8616.693,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8616.693,8616.693,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25907.523619999996,25907.523619999996 +19872000.0,3375.5789999999997,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3375.5789999999997,3375.5789999999997,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10149.24086,10149.24086 +19875600.0,2194.308,1428.0629999999999,4169.94396,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2194.308,2194.308,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6597.55272,6597.55272 +19879200.0,2095.833,4238.805,12377.310599999999,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,2095.833,2095.833,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,6301.471219999999,6301.471219999999 +19882800.0,2138.364,4744.71,13854.553199999998,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,6490.41248,513.5360000000001,905.16615,1379.3008,672.096,672.096,672.096,575.162,2138.364,2138.364,7651.810529999999,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,6429.34776,6429.34776 +19886400.0,2638.746,9223.311000000002,26932.068120000004,3659.66667,3659.66667,3659.66667,3220.2905,11120.895919999999,1028.16,1810.3323,2758.6016,1113.9180000000001,1113.9180000000001,1113.9180000000001,1150.3204999999998,2638.746,2638.746,8922.91075,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,7933.82964,7933.82964 +19890000.0,7334.165999999999,11020.284,32179.22928,12808.83538,12808.83538,12808.83538,11271.011499999999,17711.843999999997,3598.5164800000002,6336.15822,9655.098240000001,2516.4539999999997,2516.4539999999997,2516.4539999999997,4026.1234999999997,7334.165999999999,7334.165999999999,14497.445819999999,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,22051.392439999996,22051.392439999996 +19893600.0,33467.76299999999,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,33467.76299999999,33467.76299999999,144276.79174999997,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22109.46,22109.46,22109.46,22109.46,100626.40741999997,100626.40741999997 +19897200.0,54091.344,87033.081,254136.59652000002,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,346463.36695999996,47808.917760000004,192209.79687000002,292891.11904,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,54091.344,54091.344,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,65074.215,65074.215,65074.215,65074.215,162634.64096,162634.64096 +19900800.0,61180.373999999996,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,59350.91136000001,69007.99710000001,105155.04320000001,20422.071,20422.071,20422.071,41411.5415,61180.373999999996,61180.373999999996,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,183948.99115999998,183948.99115999998 +19904400.0,40480.284,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,58195.68384,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,40480.284,40480.284,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,121710.72055999999,121710.72055999999 +19908000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +19911600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +19915200.0,18413.16,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48525.5236,23133.34976,40732.447770000006,62068.49184000001,12952.668000000001,12952.668000000001,12952.668000000001,25882.213000000003,18413.16,18413.16,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,55362.2344,55362.2344 +19918800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +19922400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33780.58648,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +19926000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +19929600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +19933200.0,29751.321,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,54766.73160000001,22619.26976,41086.09554,62607.383680000006,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,29751.321,29751.321,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,19249.737,19249.737,19249.737,19249.737,89452.30514,89452.30514 +19936800.0,31724.307,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70903.26495,108043.0704,22123.911,22123.911,22123.911,44862.503,31724.307,31724.307,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,95384.41638,95384.41638 +19940400.0,35748.063,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88506.18112,40611.8848,75149.9217,114514.1664,22407.549,22407.549,22407.549,45437.66499999999,35748.063,35748.063,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,35726.615999999995,35726.615999999995,35726.615999999995,35726.615999999995,107482.50942,107482.50942 +19944000.0,34041.303,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,88055.3156,35985.208320000005,70563.87051000001,107525.89792000002,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,34041.303,34041.303,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,40578.966,40578.966,40578.966,40578.966,102350.85102,102350.85102 +19947600.0,24864.414000000004,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,24864.414000000004,24864.414000000004,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,26227.785000000003,26227.785000000003,26227.785000000003,26227.785000000003,74759.00476000001,74759.00476000001 +19951200.0,17093.517,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17093.517,17093.517,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51394.50778,51394.50778 +19954800.0,8634.153,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8634.153,8634.153,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25960.02002,25960.02002 +19958400.0,3393.1440000000002,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3393.1440000000002,3393.1440000000002,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10202.052959999999,10202.052959999999 +19962000.0,2196.273,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2196.273,2196.273,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6603.460819999999,6603.460819999999 +19965600.0,1140.6329999999998,1959.9179999999997,5722.9605599999995,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1140.6329999999998,1140.6329999999998,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,3429.5032199999996,3429.5032199999996 +19969200.0,2248.6020000000003,4706.628,13743.35376,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,3339.4871999999996,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,2248.6020000000003,2248.6020000000003,4116.691409999999,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,6760.79668,6760.79668 +19972800.0,2686.992,7387.944,21572.79648,3659.66667,3659.66667,3659.66667,3220.2905,12331.1892,1028.16,1810.3323,2758.6016,1083.6360000000002,1083.6360000000002,1083.6360000000002,1150.3204999999998,2686.992,2686.992,9893.90545,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,8078.889279999999,8078.889279999999 +19976400.0,7095.540000000001,10935.440999999999,31931.487719999997,12808.83538,12808.83538,12808.83538,11271.011499999999,17269.4056,3598.5164800000002,6336.15822,9655.098240000001,2559.9809999999998,2559.9809999999998,2559.9809999999998,4026.1234999999997,7095.540000000001,7095.540000000001,14889.47525,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,21333.923600000002,21333.923600000002 +19980000.0,32208.759,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,32208.759,32208.759,110665.69981999998,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22261.863,22261.863,22261.863,22261.863,96841.00205999998,96841.00205999998 +19983600.0,49045.722,79185.85800000001,231222.70536,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,341032.1728,47808.917760000004,182164.66233,277584.24736,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,49045.722,49045.722,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,61013.74199999999,61013.74199999999,61013.74199999999,61013.74199999999,147464.13748,147464.13748 +19987200.0,56436.171,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,54699.841920000006,67532.29685999999,102906.35712,20422.071,20422.071,20422.071,41411.5415,56436.171,56436.171,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,169684.75414,169684.75414 +19990800.0,38898.113999999994,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,51429.23776,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,38898.113999999994,38898.113999999994,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,116953.66275999998,116953.66275999998 +19994400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +19998000.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +20001600.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +20005200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +20008800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +20012400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +20016000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +20019600.0,26974.845,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,50071.2256,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,26974.845,26974.845,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,81104.3673,81104.3673 +20023200.0,31606.455,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70715.27169000001,107756.60448000001,22123.911,22123.911,22123.911,44862.503,31606.455,31606.455,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,95030.0747,95030.0747 +20026800.0,35791.893000000004,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88513.00808,40611.8848,73948.49784,112683.42528,22407.549,22407.549,22407.549,45437.66499999999,35791.893000000004,35791.893000000004,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,33202.317,33202.317,33202.317,33202.317,107614.29162,107614.29162 +20030400.0,33393.225000000006,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,80160.54664,35985.208320000005,68338.56392999999,104134.95456,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,33393.225000000006,33393.225000000006,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,36424.881,36424.881,36424.881,36424.881,100402.2965,100402.2965 +20034000.0,24850.881,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,24850.881,24850.881,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,27122.535000000003,27122.535000000003,27122.535000000003,27122.535000000003,74718.31554,74718.31554 +20037600.0,17253.059999999998,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17253.059999999998,17253.059999999998,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51874.200399999994,51874.200399999994 +20041200.0,8794.113000000001,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8794.113000000001,8794.113000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26440.96642,26440.96642 +20044800.0,3565.7400000000007,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3565.7400000000007,3565.7400000000007,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10720.991600000001,10720.991600000001 +20048400.0,2369.3309999999997,2318.322,6769.500239999999,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2369.3309999999997,2369.3309999999997,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,7123.788539999999,7123.788539999999 +20052000.0,2487.189,6288.2789999999995,18361.77468,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,11179.87992,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,2487.189,2487.189,9004.497969999999,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,7478.14826,7478.14826 +20055600.0,3004.8959999999997,11345.07,33127.6044,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,15615.032879999999,513.5360000000001,905.16615,1379.3008,1016.1089999999999,1016.1089999999999,1016.1089999999999,575.162,3004.8959999999997,3004.8959999999997,18030.22247,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,9034.72064,9034.72064 +20059200.0,3884.7509999999997,15489.309000000001,45228.78228,3659.66667,3659.66667,3659.66667,3220.2905,27441.6928,1496.9247999999998,1810.3323,2758.6016,1388.685,1388.685,1388.685,1150.3204999999998,3884.7509999999997,3884.7509999999997,27180.703939999996,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,11680.151339999999,11680.151339999999 +20062800.0,9993.246,15548.645999999999,45402.046319999994,12808.83538,12808.83538,12808.83538,11271.011499999999,33982.165759999996,16746.0608,6336.15822,9655.098240000001,2740.176,2740.176,2740.176,4026.1234999999997,9993.246,9993.246,25760.075249999994,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2839.3050000000003,2839.3050000000003,2839.3050000000003,2839.3050000000003,30046.35964,30046.35964 +20066400.0,51837.83700000001,25882.713,75577.52196,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,79812.02712,28788.164480000003,63255.69894,96389.63648,16408.353,16408.353,16408.353,32208.977499999994,51837.83700000001,51837.83700000001,330685.4798,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,29177.174999999996,29177.174999999996,29177.174999999996,29177.174999999996,155859.09658,155859.09658 +20070000.0,62461.395000000004,120745.272,352576.19424,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,452337.52119999996,47808.917760000004,252339.48117,384517.30464000005,31347.824999999997,31347.824999999997,31347.824999999997,53489.9085,62461.395000000004,62461.395000000004,20083.98665,61669.46745,91666.71458,159883.8045,45376.54642,57710.43991,93836.31600000002,93836.31600000002,93836.31600000002,93836.31600000002,187800.5943,187800.5943 +20073600.0,106015.824,9610.437,28062.476039999998,132970.03797,132970.03797,132970.03797,115930.41599999998,77076.69376,85167.70432,75502.91742,115052.06464,21512.367000000002,21512.367000000002,21512.367000000002,41411.5415,106015.824,106015.824,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,318754.24416,318754.24416 +20077200.0,57342.801,17409.792,50836.59264,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,98728.44928000002,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,57342.801,57342.801,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,172410.68834,172410.68834 +20080800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +20084400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +20088000.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,49236.05887999999,23133.34976,40732.447770000006,62068.49184000001,13333.284,13333.284,13333.284,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +20091600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +20095200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,35068.68024,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +20098800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +20102400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +20106000.0,34244.685,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,59047.5684,22619.26976,41790.22260000001,63680.33920000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,34244.685,34244.685,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,28350.039000000004,28350.039000000004,28350.039000000004,28350.039000000004,102962.3529,102962.3529 +20109600.0,35938.677,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,86937.98344000001,40097.804800000005,76554.76101,116654.87392,22123.911,22123.911,22123.911,44862.503,35938.677,35938.677,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,40314.186,40314.186,40314.186,40314.186,108055.62218,108055.62218 +20113200.0,40115.831999999995,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,89441.27023999998,40611.8848,82279.82763,125378.78496,22407.549,22407.549,22407.549,45437.66499999999,40115.831999999995,40115.831999999995,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,47100.747,47100.747,47100.747,47100.747,120614.93487999999,120614.93487999999 +20116800.0,39438.858,9797.814,28609.61688,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,104400.12071999999,35985.208320000005,80846.94534,123195.34528000001,19867.617,19867.617,19867.617,40261.221,39438.858,39438.858,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,46171.659,46171.659,46171.659,46171.659,118579.49971999999,118579.49971999999 +20120400.0,31714.98,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62963.60376,35083.00608000001,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,31714.98,31714.98,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,27354.252,27354.252,27354.252,27354.252,95356.37319999999,95356.37319999999 +20124000.0,17248.497,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17248.497,17248.497,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51860.48097999999,51860.48097999999 +20127600.0,8794.956,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8794.956,8794.956,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26443.50104,26443.50104 +20131200.0,3946.9230000000002,3192.8609999999994,9323.154119999997,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3946.9230000000002,3946.9230000000002,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,11867.08182,11867.08182 +20134800.0,4059.4049999999997,7216.941,21073.46772,7319.33334,7319.33334,7319.33334,6440.577499999999,14388.860639999999,2056.2982400000005,3620.65977,5517.19584,1325.853,1325.853,1325.853,2300.6409999999996,4059.4049999999997,4059.4049999999997,10448.79186,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,12205.277699999999,12205.277699999999 +20138400.0,3408.033,13231.206,38635.12152,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,17708.63784,513.5360000000001,905.16615,1379.3008,1082.8619999999999,1082.8619999999999,1082.8619999999999,575.162,3408.033,3408.033,21143.69218,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,10246.81922,10246.81922 +20142000.0,3750.312,16078.560000000001,46949.395200000006,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,30290.46816,8531.552,905.16615,1379.3008,1106.2379999999998,1106.2379999999998,1106.2379999999998,575.162,3750.312,3750.312,26977.163979999998,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,11275.93808,11275.93808 +20145600.0,5518.2119999999995,16547.247000000003,48317.961240000004,3659.66667,3659.66667,3659.66667,3220.2905,32260.487040000004,30791.19424,1810.3323,2758.6016,1405.434,1405.434,1405.434,1150.3204999999998,5518.2119999999995,5518.2119999999995,27806.10014,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2184.465,2184.465,2184.465,2184.465,16591.42408,16591.42408 +20149200.0,16154.507999999998,16984.260000000002,49594.0392,12808.83538,12808.83538,12808.83538,11271.011499999999,37140.24504,32789.71968,7184.055060000001,10947.13152,6744.303,6744.303,6744.303,4026.1234999999997,16154.507999999998,16154.507999999998,28459.779140000002,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,5470.38,5470.38,5470.38,5470.38,48571.22071999999,48571.22071999999 +20152800.0,79478.955,37765.035,110273.90220000001,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,116646.95695999998,28788.164480000003,81534.07080000002,124242.39360000002,19950.357000000004,19950.357000000004,19950.357000000004,32208.977499999994,79478.955,79478.955,424107.10355,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,42563.631,42563.631,42563.631,42563.631,238966.7247,238966.7247 +20156400.0,82512.13500000001,163477.176,477353.35391999997,172307.00311000002,172307.00311000002,172307.00311000002,149743.45400000003,528089.10728,47808.917760000004,371115.48432,565509.30944,44939.592000000004,44939.592000000004,44939.592000000004,53489.9085,82512.13500000001,82512.13500000001,20083.98665,84287.43764999999,125286.51225999999,218522.9865,62018.90474,78876.39227,122945.124,122945.124,122945.124,122945.124,248086.4859,248086.4859 +20160000.0,221928.51299999998,12128.400000000001,35414.928,138556.82522,138556.82522,138556.82522,115930.41599999998,99984.10543999998,108225.22048,120541.11699000001,183681.70208000002,35234.426999999996,35234.426999999996,35234.426999999996,41411.5415,221928.51299999998,221928.51299999998,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,57251.301,57251.301,57251.301,57251.301,667265.0624199999,667265.0624199999 +20163600.0,130167.26699999999,49207.05900000001,143684.61228000003,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,154418.14272,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,130167.26699999999,130167.26699999999,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,35070.567,35070.567,35070.567,35070.567,391369.58278,391369.58278 +20167200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +20170800.0,21481.725,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21481.725,21481.725,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64588.38649999999,64588.38649999999 +20174400.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,62463.60632,23133.34976,40732.447770000006,62068.49184000001,20418.957,20418.957,20418.957,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +20178000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +20181600.0,13323.18,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,42099.95848,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,13323.18,13323.18,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12925.917000000001,12925.917000000001,12925.917000000001,12925.917000000001,40058.3612,40058.3612 +20185200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +20188800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +20192400.0,36353.931000000004,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,60869.724319999994,22619.26976,43048.96407,65598.42144,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,36353.931000000004,36353.931000000004,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,32780.343,32780.343,32780.343,32780.343,109304.15254,109304.15254 +20196000.0,36069.912,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,86888.78727999999,40097.804800000005,76597.43406,116719.89951999999,22123.911,22123.911,22123.911,44862.503,36069.912,36069.912,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,40796.814,40796.814,40796.814,40796.814,108450.20208,108450.20208 +20199600.0,39457.842,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,89456.97399999999,40611.8848,85200.0891,129828.7072,22407.549,22407.549,22407.549,45437.66499999999,39457.842,39457.842,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,47231.892,47231.892,47231.892,47231.892,118636.57827999999,118636.57827999999 +20203200.0,39515.181,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,94560.69016,35985.208320000005,80895.25017,123268.95264,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,39515.181,39515.181,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,50134.062000000005,50134.062000000005,50134.062000000005,50134.062000000005,118808.97753999998,118808.97753999998 +20206800.0,31382.298,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,64610.413680000005,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,31382.298,31382.298,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,27723.192000000003,27723.192000000003,27723.192000000003,27723.192000000003,94356.10931999999,94356.10931999999 +20210400.0,17232.813,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17232.813,17232.813,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51813.32442,51813.32442 +20214000.0,8772.732,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8772.732,8772.732,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26376.680879999996,26376.680879999996 +20217600.0,3969.5249999999996,2634.648,7693.17216,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3969.5249999999996,3969.5249999999996,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,11935.038499999999,11935.038499999999 +20221200.0,4108.9619999999995,6793.253999999999,19836.301679999997,7319.33334,7319.33334,7319.33334,6440.577499999999,11979.60368,2056.2982400000005,3620.65977,5517.19584,1359.918,1359.918,1359.918,2300.6409999999996,4108.9619999999995,4108.9619999999995,8208.96726,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,12354.27908,12354.27908 +20224800.0,3337.935,13050.477000000003,38107.39284,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,17719.89736,513.5360000000001,905.16615,1379.3008,1065.954,1065.954,1065.954,575.162,3337.935,3337.935,20438.690479999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,10036.0579,10036.0579 +20228400.0,3781.1010000000006,15693.249000000002,45824.28708,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,29845.203199999996,9111.66272,905.16615,1379.3008,1088.757,1088.757,1088.757,575.162,3781.1010000000006,3781.1010000000006,26323.31182,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,11368.51034,11368.51034 +20232000.0,5768.055,16149.632999999998,47156.92835999999,3659.66667,3659.66667,3659.66667,3220.2905,31569.03688,30465.370880000006,1810.3323,2758.6016,1516.554,1516.554,1516.554,1150.3204999999998,5768.055,5768.055,27130.766519999997,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2239.281,2239.281,2239.281,2239.281,17342.6187,17342.6187 +20235600.0,15834.128999999999,15779.133000000002,46075.06836,12808.83538,12808.83538,12808.83538,11271.011499999999,41815.3344,29983.713280000004,8648.35167,13178.44064,7824.6720000000005,7824.6720000000005,7824.6720000000005,4026.1234999999997,15834.128999999999,15834.128999999999,27979.44292,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,5927.651999999999,5927.651999999999,5927.651999999999,5927.651999999999,47607.94785999999,47607.94785999999 +20239200.0,77512.356,38208.528,111568.90176,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,167609.0512,28788.164480000003,81972.29669999999,124910.16639999999,20068.581,20068.581,20068.581,32208.977499999994,77512.356,77512.356,423701.70232,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,51242.268,51242.268,51242.268,51242.268,233053.81704,233053.81704 +20242800.0,84401.463,162975.771,475889.25132000004,172162.90069000004,172162.90069000004,172162.90069000004,149743.45400000003,526293.82704,47808.917760000004,377844.08487,575762.4150400001,48223.42199999999,48223.42199999999,48223.42199999999,53489.9085,84401.463,84401.463,20083.98665,84756.2454,125983.35736,219738.41400000002,62363.854640000005,79315.10372,123960.795,123960.795,123960.795,123960.795,253767.06542,253767.06542 +20246400.0,236097.39,12146.811,35468.68812,138644.61512,138644.61512,138644.61512,115930.41599999998,105800.64615999999,108029.2608,125368.96764,191038.42688,40072.743,40072.743,40072.743,41411.5415,236097.39,236097.39,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,68688.954,68688.954,68688.954,68688.954,709866.1526,709866.1526 +20250000.0,151800.504,56696.86499999999,165554.84579999998,155535.86807,155535.86807,155535.86807,136862.2955,98099.07024,162835.99872,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,151800.504,151800.504,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,38926.455,38926.455,38926.455,38926.455,456413.51535999996,456413.51535999996 +20253600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +20257200.0,22087.23,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15327.003,15327.003,15327.003,30483.495,22087.23,22087.23,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,66408.93819999999,66408.93819999999 +20260800.0,18856.107,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,66759.27088,23133.34976,40732.447770000006,62068.49184000001,23090.936999999998,23090.936999999998,23090.936999999998,25882.213000000003,18856.107,18856.107,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,56694.028379999996,56694.028379999996 +20264400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +20268000.0,14294.871000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,47035.99072,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,14294.871000000001,14294.871000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13677.453,13677.453,13677.453,13677.453,42979.91214,42979.91214 +20271600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +20275200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +20278800.0,44063.796,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,66546.11088,22619.26976,57993.44775,88370.968,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,44063.796,44063.796,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,53005.490999999995,53005.490999999995,53005.490999999995,53005.490999999995,132485.14664,132485.14664 +20282400.0,36139.295999999995,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,86618.16168,40097.804800000005,79208.77838999999,120699.09087999999,22123.911,22123.911,22123.911,44862.503,36139.295999999995,36139.295999999995,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,41680.818,41680.818,41680.818,41680.818,108658.81663999999,108658.81663999999 +20286000.0,39133.092,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,92545.06672,40611.8848,87024.22071000001,132608.33632000003,22407.549,22407.549,22407.549,45437.66499999999,39133.092,39133.092,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,48372.06,48372.06,48372.06,48372.06,117660.16328,117660.16328 +20289600.0,41227.034999999996,11150.817,32560.385639999997,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,104275.17392,35985.208320000005,95137.55328000001,144971.50976000002,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,41227.034999999996,41227.034999999996,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,49293.03,49293.03,49293.03,49293.03,123955.95189999999,123955.95189999999 +20293200.0,35586.009,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,65304.73128000001,31116.897920000003,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,35586.009,35586.009,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,27389.142,27389.142,27389.142,27389.142,106995.26705999998,106995.26705999998 +20296800.0,17153.556,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17153.556,17153.556,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51575.02503999999,51575.02503999999 +20300400.0,8692.254,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8692.254,8692.254,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,26134.71036,26134.71036 +20304000.0,4172.919,2482.767,7249.679639999999,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,4172.919,4172.919,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,12546.576459999998,12546.576459999998 +20307600.0,3714.261,5347.607999999999,15615.015359999998,7319.33334,7319.33334,7319.33334,6440.577499999999,6905.35032,2056.2982400000005,3620.65977,5517.19584,1433.4750000000001,1433.4750000000001,1433.4750000000001,2300.6409999999996,3714.261,3714.261,4311.25591,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,11167.54474,11167.54474 +20311200.0,2941.857,11633.985,33971.2362,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,14506.682639999997,513.5360000000001,905.16615,1379.3008,961.608,961.608,961.608,575.162,2941.857,2941.857,15459.46025,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,8845.18338,8845.18338 +20314800.0,3100.107,13485.696,39378.232319999996,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,25477.15768,513.5360000000001,905.16615,1379.3008,982.848,982.848,982.848,575.162,3100.107,3100.107,22331.01182,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,9320.988379999999,9320.988379999999 +20318400.0,4650.87,14236.565999999999,41570.77272,3659.66667,3659.66667,3659.66667,3220.2905,27829.509679999996,15642.154240000002,1810.3323,2758.6016,1297.191,1297.191,1297.191,1150.3204999999998,4650.87,4650.87,23711.428910000002,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,1149.951,1149.951,1149.951,1149.951,13983.6158,13983.6158 +20322000.0,8373.36,15284.232,44629.95744,12808.83538,12808.83538,12808.83538,11271.011499999999,33961.445439999996,29531.246720000006,6999.080549999999,10665.265599999999,6416.991000000001,6416.991000000001,6416.991000000001,4026.1234999999997,8373.36,8373.36,25498.45454,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,4411.569,4411.569,4411.569,4411.569,25175.9024,25175.9024 +20325600.0,171935.331,15736.389,45950.25588,104668.51153000002,104668.51153000002,104668.51153000002,90168.099,114940.64327999999,39852.286720000004,91692.15489,139721.37888,27300.258,27300.258,27300.258,32208.977499999994,171935.331,171935.331,33721.58244,32553.766349999998,48388.56133999999,84398.6535,23953.141659999998,30463.89493,47239.458,47239.458,47239.458,47239.458,516952.22854,516952.22854 +20329200.0,217400.46000000002,83979.306,245219.57351999998,180155.32249000002,180155.32249000002,180155.32249000002,149743.45400000003,137527.7368,129102.78720000002,112091.19138,170805.62496000002,64248.615000000005,64248.615000000005,64248.615000000005,53489.9085,217400.46000000002,217400.46000000002,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,61231.776,61231.776,61231.776,61231.776,653650.7164,653650.7164 +20332800.0,108247.33799999999,33073.920000000006,96575.84640000001,132491.86588000003,132491.86588000003,132491.86588000003,115930.41599999998,80098.32728,171603.3856,169238.29755000002,257886.9296,21770.763,21770.763,21770.763,41411.5415,108247.33799999999,108247.33799999999,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,85036.131,85036.131,85036.131,85036.131,325463.66292,325463.66292 +20336400.0,63628.755,12683.655,37036.272600000004,155535.86807,155535.86807,155535.86807,136862.2955,110326.73959999999,43696.332160000005,83262.18200999999,126875.70592,28519.826999999997,28519.826999999997,28519.826999999997,48888.6265,63628.755,63628.755,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,64789.857,64789.857,64789.857,64789.857,191310.45669999998,191310.45669999998 +20340000.0,25364.349000000002,15120.060000000001,44150.5752,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,159264.55552,31358.54272,85377.20520000001,130098.59840000002,17302.032,17302.032,17302.032,35084.777,25364.349000000002,25364.349000000002,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,26688.033000000003,26688.033000000003,26688.033000000003,26688.033000000003,76262.14266000001,76262.14266000001 +20343600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +20347200.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +20350800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +20354400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +20358000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +20361600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +20365200.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +20368800.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +20372400.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +20376000.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +20379600.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +20383200.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +20386800.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +20390400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +20394000.0,2176.947,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2176.947,2176.947,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6545.35398,6545.35398 +20397600.0,981.966,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,981.966,981.966,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2952.4444399999998,2952.4444399999998 +20401200.0,1001.748,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,1001.748,1001.748,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,3011.9223199999997,3011.9223199999997 +20404800.0,1416.3629999999998,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1416.3629999999998,1416.3629999999998,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,4258.531419999999,4258.531419999999 +20408400.0,4131.177,3970.104,11592.703679999999,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,4131.177,4131.177,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,12421.07218,12421.07218 +20412000.0,41138.04,10623.615,31020.9558,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,68779.39696,28788.164480000003,52254.55767000001,79625.99264000001,15999.825,15999.825,15999.825,32208.977499999994,41138.04,41138.04,16627.054079999998,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,23189.283,23189.283,23189.283,23189.283,123688.37359999999,123688.37359999999 +20415600.0,87205.85100000001,22072.221,64450.88532,170591.06669,170591.06669,170591.06669,149743.45400000003,104157.11832,61748.1344,84305.45234999999,128465.4512,28850.966999999997,28850.966999999997,28850.966999999997,53489.9085,87205.85100000001,87205.85100000001,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,40145.553,40145.553,40145.553,40145.553,262198.92534,262198.92534 +20419200.0,67353.72899999999,21032.096999999998,61413.72323999999,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,124861.58912000003,137351.57940000002,209297.6448,20422.071,20422.071,20422.071,41411.5415,67353.72899999999,67353.72899999999,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,73934.02500000001,73934.02500000001,73934.02500000001,73934.02500000001,202510.21185999998,202510.21185999998 +20422800.0,58938.576,12206.369999999999,35642.600399999996,155535.86807,155535.86807,155535.86807,136862.2955,111342.32728,43696.332160000005,84199.37105999999,128303.80352,28470.147000000004,28470.147000000004,28470.147000000004,48888.6265,58938.576,58938.576,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,67743.51000000001,67743.51000000001,67743.51000000001,67743.51000000001,177208.65183999998,177208.65183999998 +20426400.0,25973.436000000005,24946.373999999996,72843.41207999998,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,220582.64583999998,31358.54272,99940.01745,152289.5504,17302.032,17302.032,17302.032,35084.777,25973.436000000005,25973.436000000005,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,30141.057,30141.057,30141.057,30141.057,78093.46424000002,78093.46424000002 +20430000.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,51366.28686,78272.43712,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +20433600.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,41236.15881,62836.05152,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +20437200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +20440800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +20444400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +20448000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +20451600.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +20455200.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +20458800.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +20462400.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +20466000.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +20469600.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +20473200.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +20476800.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +20480400.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +20484000.0,671.412,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,671.412,671.412,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2018.71208,2018.71208 +20487600.0,877.254,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,877.254,877.254,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2637.61036,2637.61036 +20491200.0,1282.167,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1282.167,1282.167,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3855.04878,3855.04878 +20494800.0,3305.169,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3305.169,3305.169,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9937.541459999999,9937.541459999999 +20498400.0,26215.362,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,26215.362,26215.362,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,78820.85508,78820.85508 +20502000.0,45885.834,49712.823,145161.44316,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,263977.68272,47808.917760000004,144890.56701,220785.62592,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,45885.834,45885.834,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,49316.409,49316.409,49316.409,49316.409,137963.40756,137963.40756 +20505600.0,30045.282000000003,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65342.2686,99569.17120000001,20422.071,20422.071,20422.071,41411.5415,30045.282000000003,30045.282000000003,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,90336.14788,90336.14788 +20509200.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +20512800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +20516400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +20520000.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +20523600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +20527200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +20530800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +20534400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +20538000.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +20541600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +20545200.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +20548800.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +20552400.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +20556000.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +20559600.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +20563200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +20566800.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +20570400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +20574000.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +20577600.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +20581200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +20584800.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +20588400.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,92285.76672000001,140625.93024000002,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +20592000.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +20595600.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +20599200.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +20602800.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +20606400.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +20610000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +20613600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +20617200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +20620800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +20624400.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +20628000.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +20631600.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +20635200.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +20638800.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +20642400.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +20646000.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +20649600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +20653200.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +20656800.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +20660400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +20664000.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +20667600.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +20671200.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +20674800.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,89192.12273999999,135911.80607999998,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +20678400.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +20682000.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +20685600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +20689200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +20692800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +20696400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +20700000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +20703600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +20707200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +20710800.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +20714400.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +20718000.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +20721600.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +20725200.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +20728800.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +20732400.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +20736000.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +20739600.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +20743200.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +20746800.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +20750400.0,807.5699999999999,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,807.5699999999999,807.5699999999999,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,2428.0937999999996,2428.0937999999996 +20754000.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +20757600.0,22611.945,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22611.945,22611.945,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,67986.5813,67986.5813 +20761200.0,37551.981,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,105869.08512,47808.917760000004,94748.18766,144378.19071999998,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,37551.981,37551.981,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36658.314,36658.314,36658.314,36658.314,112906.28953999998,112906.28953999998 +20764800.0,29072.502,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,65171.914500000006,99309.58400000002,20422.071,20422.071,20422.071,41411.5415,29072.502,29072.502,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,87411.32268,87411.32268 +20768400.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +20772000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +20775600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +20779200.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +20782800.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +20786400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +20790000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +20793600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +20797200.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +20800800.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +20804400.0,32518.767,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,32518.767,32518.767,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,97773.09277999999,97773.09277999999 +20808000.0,31169.352000000006,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31169.352000000006,31169.352000000006,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,93715.85168,93715.85168 +20811600.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +20815200.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +20818800.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +20822400.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +20826000.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +20829600.0,464.84700000000004,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,464.84700000000004,464.84700000000004,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1397.6399800000002,1397.6399800000002 +20833200.0,818.127,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,818.127,818.127,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2459.83518,2459.83518 +20836800.0,1221.066,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1221.066,1221.066,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3671.3384399999995,3671.3384399999995 +20840400.0,3251.1479999999997,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3251.1479999999997,3251.1479999999997,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9775.118319999998,9775.118319999998 +20844000.0,23849.489999999998,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,23849.489999999998,23849.489999999998,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,71707.4666,71707.4666 +20847600.0,40557.222,36531.825,106672.92899999999,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,255392.1352,47808.917760000004,127556.08341,194371.17472,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,40557.222,40557.222,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,42687.447,42687.447,42687.447,42687.447,121942.04748,121942.04748 +20851200.0,30269.514,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,66907.51703999999,101954.31168,20422.071,20422.071,20422.071,41411.5415,30269.514,30269.514,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,91010.33876,91010.33876 +20854800.0,34321.704,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,34321.704,34321.704,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,103193.92335999999,103193.92335999999 +20858400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +20862000.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +20865600.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +20869200.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +20872800.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +20876400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +20880000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +20883600.0,25446.791999999998,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,25446.791999999998,25446.791999999998,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,76510.02127999999,76510.02127999999 +20887200.0,33652.824,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,33652.824,33652.824,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,101182.82416,101182.82416 +20890800.0,34916.898,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,85732.18695999999,40611.8848,72941.31243,111148.66656,22407.549,22407.549,22407.549,45437.66499999999,34916.898,34916.898,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,104983.47332,104983.47332 +20894400.0,31515.249000000003,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,78411.1688,35985.208320000005,65585.4108,99939.67360000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,31515.249000000003,31515.249000000003,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,28056.705,28056.705,28056.705,28056.705,94755.84866,94755.84866 +20898000.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +20901600.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +20905200.0,8084.244000000001,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8084.244000000001,8084.244000000001,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24306.626959999998,24306.626959999998 +20908800.0,3274.707,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3274.707,3274.707,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9845.952379999999,9845.952379999999 +20912400.0,2085.87,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2085.87,2085.87,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6271.515799999999,6271.515799999999 +20916000.0,897.3000000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,897.3000000000001,897.3000000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2697.882,2697.882 +20919600.0,914.175,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,914.175,914.175,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2748.6195,2748.6195 +20923200.0,1347.288,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1347.288,1347.288,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,4050.8459199999998,4050.8459199999998 +20926800.0,3386.688,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3386.688,3386.688,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10182.64192,10182.64192 +20930400.0,25591.532999999996,8180.996999999999,23888.511239999996,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,62052.94335999999,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,25591.532999999996,25591.532999999996,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22532.457000000002,22532.457000000002,22532.457000000002,22532.457000000002,76945.20921999999,76945.20921999999 +20934000.0,59781.147,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,100646.88704,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,59781.147,59781.147,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,38730.156,38730.156,38730.156,38730.156,179741.98197999998,179741.98197999998 +20937600.0,50876.256,11445.599999999999,33421.151999999995,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,76704.54400000001,103215.79106999999,157281.20544,20422.071,20422.071,20422.071,41411.5415,50876.256,50876.256,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,58680.462,58680.462,58680.462,58680.462,152967.94303999998,152967.94303999998 +20941200.0,49346.009999999995,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,103729.19815999999,43696.332160000005,77599.85709,118247.40128000002,25034.868000000002,25034.868000000002,25034.868000000002,48888.6265,49346.009999999995,49346.009999999995,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,62732.123999999996,62732.123999999996,62732.123999999996,62732.123999999996,148367.0034,148367.0034 +20944800.0,24630.870000000003,18276.912,53368.58304,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,180942.44864000002,31358.54272,88687.56162000001,135142.95104,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,27326.565000000002,27326.565000000002,27326.565000000002,27326.565000000002,74056.81580000001,74056.81580000001 +20948400.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,48071.758350000004,73252.2032,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +20952000.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,41007.149190000004,62487.084480000005,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +20955600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +20959200.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +20962800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +20966400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +20970000.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +20973600.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +20977200.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +20980800.0,28264.932,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,28264.932,28264.932,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,84983.22888,84983.22888 +20984400.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +20988000.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +20991600.0,8075.6939999999995,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8075.6939999999995,8075.6939999999995,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,24280.919959999996,24280.919959999996 +20995200.0,2826.492,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,2826.492,2826.492,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,8498.31928,8498.31928 +20998800.0,1615.1399999999999,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,1615.1399999999999,1615.1399999999999,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,4856.187599999999,4856.187599999999 +21002400.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +21006000.0,403.78499999999997,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,403.78499999999997,403.78499999999997,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,1214.0468999999998,1214.0468999999998 +21009600.0,1073.712,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1073.712,1073.712,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3228.2940799999997,3228.2940799999997 +21013200.0,3187.881,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3187.881,3187.881,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9584.89554,9584.89554 +21016800.0,22914.918,7474.782,21826.36344,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,22914.918,22914.918,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,68897.52012,68897.52012 +21020400.0,39000.699,12413.481,36247.36452,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,99557.4,47808.917760000004,84180.38915999999,128274.87872,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,39000.699,39000.699,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,36841.371,36841.371,36841.371,36841.371,117262.10166,117262.10166 +21024000.0,38982.201,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,37013.35744000001,68545.34589,104450.05088000001,20422.071,20422.071,20422.071,41411.5415,38982.201,38982.201,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,29869.869,29869.869,29869.869,29869.869,117206.48433999998,117206.48433999998 +21027600.0,43064.172,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,96004.17464,43696.332160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,43064.172,43064.172,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,42935.729999999996,42935.729999999996,42935.729999999996,42935.729999999996,129479.61047999999,129479.61047999999 +21031200.0,24660.975000000002,10800.491999999998,31537.436639999996,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,111610.20808,31358.54272,70947.75408,108110.86335999999,17302.032,17302.032,17302.032,35084.777,24660.975000000002,24660.975000000002,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74147.3315,74147.3315 +21034800.0,21721.86,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,48561.950220000006,73999.16224,15032.913,15032.913,15032.913,30483.495,21721.86,21721.86,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,65310.3924,65310.3924 +21038400.0,19713.699,6116.8769999999995,17861.28084,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,52703.74576,23133.34976,42328.038270000005,64499.86784000001,12763.794,12763.794,12763.794,25882.213000000003,19713.699,19713.699,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,59272.52166,59272.52166 +21042000.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +21045600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +21049200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +21052800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +21056400.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +21060000.0,31495.211999999996,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,83499.75352,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,31495.211999999996,31495.211999999996,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,94695.60407999999,94695.60407999999 +21063600.0,31898.997,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,84570.2664,40611.8848,71508.07272,108964.68224000001,22407.549,22407.549,22407.549,45437.66499999999,31898.997,31898.997,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31139.859000000004,31139.859000000004,31139.859000000004,31139.859000000004,95909.65097999999,95909.65097999999 +21067200.0,29797.100999999995,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,74935.67968,35985.208320000005,63361.58703,96550.98976000001,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,29797.100999999995,29797.100999999995,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,27592.278,27592.278,27592.278,27592.278,89589.95033999998,89589.95033999998 +21070800.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +21074400.0,16555.176,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16555.176,16555.176,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,49775.89584,49775.89584 +21078000.0,8434.203,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8434.203,8434.203,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25358.83702,25358.83702 +21081600.0,3328.1760000000004,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3328.1760000000004,3328.1760000000004,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10006.71584,10006.71584 +21085200.0,2110.422,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2110.422,2110.422,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6345.33548,6345.33548 +21088800.0,892.2869999999999,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,892.2869999999999,892.2869999999999,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2682.8095799999996,2682.8095799999996 +21092400.0,928.3380000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,928.3380000000001,928.3380000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2791.20292,2791.20292 +21096000.0,1375.008,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1375.008,1375.008,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,4134.19072,4134.19072 +21099600.0,3357.375,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3357.375,3357.375,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10094.5075,10094.5075 +21103200.0,28053.978000000003,9613.743,28072.12956,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,28053.978000000003,28053.978000000003,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,84348.96052000001,84348.96052000001 +21106800.0,49318.049999999996,81916.15800000001,239195.18136000002,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,360026.10704,47808.917760000004,188416.87032,287111.42144,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,49318.049999999996,49318.049999999996,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,61187.219999999994,61187.219999999994,61187.219999999994,61187.219999999994,148282.93699999998,148282.93699999998 +21110400.0,52043.892,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,59056.814080000004,71004.09603,108196.71776,20422.071,20422.071,20422.071,41411.5415,52043.892,52043.892,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,156478.63528,156478.63528 +21114000.0,36120.705,11345.652,33129.30384,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,50961.724160000005,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,36120.705,36120.705,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,108602.9197,108602.9197 +21117600.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +21121200.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +21124800.0,18170.313,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,48172.933600000004,23133.34976,40732.447770000006,62068.49184000001,12763.794,12763.794,12763.794,25882.213000000003,18170.313,18170.313,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,54632.07442,54632.07442 +21128400.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +21132000.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +21135600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +21139200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +21142800.0,24768.54,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,24768.54,24768.54,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,74470.7436,74470.7436 +21146400.0,34614.78,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,84492.78128,40097.804800000005,70602.90657,107585.38144,22123.911,22123.911,22123.911,44862.503,34614.78,34614.78,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30745.682999999997,30745.682999999997,30745.682999999997,30745.682999999997,104075.10519999999,104075.10519999999 +21150000.0,35435.235,10544.784,30790.769279999997,144556.86399,144556.86399,144556.86399,127201.42749999999,88522.83679999999,40611.8848,72823.61016000001,110969.31072000001,22407.549,22407.549,22407.549,45437.66499999999,35435.235,35435.235,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,31892.994,31892.994,31892.994,31892.994,106541.9399,106541.9399 +21153600.0,32029.539000000004,9343.479,27282.95868,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,79207.11408,35985.208320000005,66836.26005,101845.7296,19854.791999999998,19854.791999999998,19854.791999999998,40261.221,32029.539000000004,32029.539000000004,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,32296.152000000002,32296.152000000002,32296.152000000002,32296.152000000002,96302.14726,96302.14726 +21157200.0,23419.515,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,23419.515,23419.515,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,22862.175000000003,22862.175000000003,22862.175000000003,22862.175000000003,70414.6751,70414.6751 +21160800.0,16799.859,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,16799.859,16799.859,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,50511.57606,50511.57606 +21164400.0,8559.75,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8559.75,8559.75,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25736.315,25736.315 +21168000.0,3292.527,934.347,2728.29324,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3292.527,3292.527,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,9899.53118,9899.53118 +21171600.0,2068.7520000000004,533.913,1559.02596,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2068.7520000000004,2068.7520000000004,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,6220.047680000001,6220.047680000001 +21175200.0,853.8240000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,853.8240000000001,853.8240000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2567.16416,2567.16416 +21178800.0,865.4970000000001,133.5,389.82,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,283.5,283.5,283.5,575.162,865.4970000000001,865.4970000000001,215.96899999999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,2602.26098,2602.26098 +21182400.0,1278.054,267.0,779.64,3659.66667,3659.66667,3659.66667,3220.2905,2141.0199199999997,1028.16,1810.3323,2758.6016,567.279,567.279,567.279,1150.3204999999998,1278.054,1278.054,431.93799999999993,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,3842.6823600000002,3842.6823600000002 +21186000.0,3676.656,2426.052,7084.0718400000005,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3676.656,3676.656,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,11054.479039999998,11054.479039999998 +21189600.0,28731.369,9677.169,28257.333479999998,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,59948.54024,28788.164480000003,50689.26576,77240.78592000001,15883.832999999999,15883.832999999999,15883.832999999999,32208.977499999994,28731.369,28731.369,12093.58098,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,22073.823,22073.823,22073.823,22073.823,86385.64945999999,86385.64945999999 +21193200.0,47851.128,77129.09999999999,225216.97199999998,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,335015.28504,47808.917760000004,179740.54329,273890.35168,26378.507999999998,26378.507999999998,26378.507999999998,53489.9085,47851.128,47851.128,20083.98665,53203.971150000005,79083.43366,137936.2215,39147.61334,49788.40757,59329.728,59329.728,59329.728,59329.728,143872.39151999998,143872.39151999998 +21196800.0,55055.87700000001,9610.437,28062.476039999998,131748.02861,131748.02861,131748.02861,115930.41599999998,77076.69376,57812.283520000005,69781.77276,106334.12992,20422.071,20422.071,20422.071,41411.5415,55055.87700000001,55055.87700000001,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28380.630000000005,28380.630000000005,28380.630000000005,28380.630000000005,165534.67018000002,165534.67018000002 +21200400.0,39157.806000000004,12544.698000000002,36630.51816000001,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,66486.55936,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,39157.806000000004,39157.806000000004,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,117734.47004,117734.47004 +21204000.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +21207600.0,21400.593,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21400.593,21400.593,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64344.44962,64344.44962 +21211200.0,18337.713,6006.521999999999,17539.044239999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,50265.680080000006,23133.34976,40732.447770000006,62068.49184000001,13884.828,13884.828,13884.828,25882.213000000003,18337.713,18337.713,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,55135.390419999996,55135.390419999996 +21214800.0,14574.368999999999,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14574.368999999999,14574.368999999999,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43820.269459999996,43820.269459999996 +21218400.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,35104.13488,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +21222000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +21225600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +21229200.0,37156.362,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,60561.64096,22619.26976,46813.553009999996,71334.93792,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,37156.362,37156.362,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,32530.356,32530.356,32530.356,32530.356,111716.79508,111716.79508 +21232800.0,35864.868,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,92814.43672,40097.804800000005,77527.47954,118137.11168,22123.911,22123.911,22123.911,44862.503,35864.868,35864.868,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,41101.89600000001,41101.89600000001,41101.89600000001,41101.89600000001,107833.70311999999,107833.70311999999 +21236400.0,38601.372,11876.411999999998,34679.12304,144556.86399,144556.86399,144556.86399,127201.42749999999,115516.93448,40611.8848,81403.58352,124043.55584,22407.549,22407.549,22407.549,45437.66499999999,38601.372,38601.372,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,45023.235,45023.235,45023.235,45023.235,116061.45847999999,116061.45847999999 +21240000.0,39768.603,13738.533,40116.516359999994,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,126584.19584,39347.041280000005,85750.89747,130668.03424,20165.198999999997,20165.198999999997,20165.198999999997,40261.221,39768.603,39768.603,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,48832.329,48832.329,48832.329,48832.329,119570.93302,119570.93302 +21243600.0,32481.681000000004,7741.74,22605.8808,106130.35785000001,106130.35785000001,106130.35785000001,93388.3895,62089.56015999999,40547.34464,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,32481.681000000004,32481.681000000004,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,26607.251999999997,26607.251999999997,26607.251999999997,26607.251999999997,97661.58754000001,97661.58754000001 +21247200.0,17136.204,5472.609,15980.01828,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17136.204,17136.204,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,51522.85336,51522.85336 +21250800.0,8577.819,2669.565,7795.1298,36596.67484,36596.67484,36596.67484,32202.8945,21410.19336,10281.4912,18103.308510000003,27585.993920000004,5672.799,5672.799,5672.799,11503.205,8577.819,8577.819,4319.13469,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,25790.642459999995,25790.642459999995 +21254400.0,3571.968,3040.5899999999997,8878.522799999999,12808.83538,12808.83538,12808.83538,11271.011499999999,7493.5668,3598.5164800000002,6336.15822,9655.098240000001,1985.478,1985.478,1985.478,4026.1234999999997,3571.968,3571.968,1511.6964199999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,10739.71712,10739.71712 +21258000.0,2947.509,3544.0860000000002,10348.73112,7319.33334,7319.33334,7319.33334,6440.577499999999,4282.0398399999995,2056.2982400000005,3620.65977,5517.19584,1134.558,1134.558,1134.558,2300.6409999999996,2947.509,2947.509,863.8279,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,8862.17706,8862.17706 +21261600.0,1754.8590000000004,3201.831,9349.346520000001,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,1070.50704,513.5360000000001,905.16615,1379.3008,560.6189999999999,560.6189999999999,560.6189999999999,575.162,1754.8590000000004,1754.8590000000004,1149.02242,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,5276.27606,5276.27606 +21265200.0,1845.3029999999999,4459.617,13022.08164,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,7337.3176,513.5360000000001,905.16615,1379.3008,714.969,714.969,714.969,575.162,1845.3029999999999,1845.3029999999999,6294.06297,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,5548.21102,5548.21102 +21268800.0,2280.489,7399.071,21605.28732,3659.66667,3659.66667,3659.66667,3220.2905,8901.95872,1028.16,1810.3323,2758.6016,1010.721,1010.721,1010.721,1150.3204999999998,2280.489,2280.489,6768.112519999999,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,6856.67026,6856.67026 +21272400.0,6511.5599999999995,9860.208,28791.807360000003,12808.83538,12808.83538,12808.83538,11271.011499999999,15080.00128,3598.5164800000002,6336.15822,9655.098240000001,2465.295,2465.295,2465.295,4026.1234999999997,6511.5599999999995,6511.5599999999995,13561.448680000001,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,19578.090399999997,19578.090399999997 +21276000.0,37586.373,16783.266,49007.136719999995,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,71020.10568000001,28788.164480000003,53093.30166,80904.07872,16294.32,16294.32,16294.32,32208.977499999994,37586.373,37586.373,226220.67805999998,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,24263.994000000002,24263.994000000002,24263.994000000002,24263.994000000002,113009.69481999999,113009.69481999999 +21279600.0,58891.287,111371.079,325203.55068,170174.53475000002,170174.53475000002,170174.53475000002,149743.45400000003,395634.63688,47808.917760000004,237185.97924000002,361426.25408000004,29320.464000000004,29320.464000000004,29320.464000000004,53489.9085,58891.287,58891.287,20083.98665,58621.64805,87136.37562,151982.0505,43133.953380000006,54858.28299000001,87609.531,87609.531,87609.531,87609.531,177066.46958,177066.46958 +21283200.0,104404.46100000001,9610.437,28062.476039999998,132058.04051000002,132058.04051000002,132058.04051000002,115930.41599999998,77076.69376,78846.33728,73231.66788,111591.11296,21783.693,21783.693,21783.693,41411.5415,104404.46100000001,104404.46100000001,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,28441.44,28441.44,28441.44,28441.44,313909.41274,313909.41274 +21286800.0,62274.978,31330.599,91485.34908,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,114104.52223999999,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,62274.978,62274.978,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,187240.10052,187240.10052 +21290400.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +21294000.0,21414.051,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21414.051,21414.051,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,64384.91333999999,64384.91333999999 +21297600.0,18968.142,7912.725,23105.157000000003,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,60331.323039999996,23133.34976,40732.447770000006,62068.49184000001,19276.746,19276.746,19276.746,25882.213000000003,18968.142,18968.142,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,57030.88028,57030.88028 +21301200.0,15012.54,6177.005999999999,18036.857519999998,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18623.44832,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,15012.54,15012.54,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,45137.7036,45137.7036 +21304800.0,13424.733,4309.494000000001,12583.72248,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,42696.181599999996,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,13424.733,13424.733,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12969.527999999998,12969.527999999998,12969.527999999998,12969.527999999998,40363.69722,40363.69722 +21308400.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +21312000.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +21315600.0,45932.628,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,74918.44584,22619.26976,63825.358799999995,97257.6896,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,45932.628,45932.628,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,56079.675,56079.675,56079.675,56079.675,138104.10152,138104.10152 +21319200.0,39953.823000000004,11966.364,34941.78288,142727.02862,142727.02862,142727.02862,125591.28399999999,118823.11615999999,40097.804800000005,84168.52185,128256.79520000001,22123.911,22123.911,22123.911,44862.503,39953.823000000004,39953.823000000004,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,48844.23299999999,48844.23299999999,48844.23299999999,48844.23299999999,120127.82782,120127.82782 +21322800.0,50659.626000000004,15745.632,45977.24544,144556.86399,144556.86399,144556.86399,127201.42749999999,140464.24063999997,55383.69344000001,108549.07707,165408.11744,22997.331,22997.331,22997.331,45437.66499999999,50659.626000000004,50659.626000000004,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,56933.00399999999,56933.00399999999,56933.00399999999,56933.00399999999,152316.60884,152316.60884 +21326400.0,64137.782999999996,23364.213,68223.50196,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,143715.81248,72206.5344,116303.78214000001,177224.81088000003,22415.157,22415.157,22415.157,40261.221,64137.782999999996,64137.782999999996,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,56312.71500000001,56312.71500000001,56312.71500000001,56312.71500000001,192840.93421999997,192840.93421999997 +21330000.0,44134.917,7741.74,22605.8808,106328.48952000002,106328.48952000002,106328.48952000002,93388.3895,65045.587120000004,44219.35552,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,44134.917,44134.917,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,27163.217999999997,27163.217999999997,27163.217999999997,27163.217999999997,132698.98378,132698.98378 +21333600.0,17462.391,8731.161,25494.990120000002,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17462.391,17462.391,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,52503.588939999994,52503.588939999994 +21337200.0,9895.146,7142.754000000001,20856.84168,36596.67484,36596.67484,36596.67484,32202.8945,27679.795439999998,10281.4912,18103.308510000003,27585.993920000004,5890.0470000000005,5890.0470000000005,5890.0470000000005,11503.205,9895.146,9895.146,9084.281439999999,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,29751.40564,29751.40564 +21340800.0,4838.1810000000005,8910.591,26018.92572,12808.83538,12808.83538,12808.83538,11271.011499999999,17372.948800000002,3598.5164800000002,6336.15822,9655.098240000001,2567.607,2567.607,2567.607,4026.1234999999997,4838.1810000000005,4838.1810000000005,13227.9329,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,14546.79754,14546.79754 +21344400.0,3823.17,11016.714,32168.804879999996,7319.33334,7319.33334,7319.33334,6440.577499999999,18091.817759999998,2056.2982400000005,3620.65977,5517.19584,1705.62,1705.62,1705.62,2300.6409999999996,3823.17,3823.17,18182.17518,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,11494.997800000001,11494.997800000001 +21348000.0,2549.028,10652.604,31105.60368,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,19099.08344,513.5360000000001,905.16615,1379.3008,835.1999999999999,835.1999999999999,835.1999999999999,575.162,2549.028,2549.028,16790.767239999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,7664.077519999999,7664.077519999999 +21351600.0,2840.9249999999997,10665.396,31142.95632,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,19127.30232,513.5360000000001,905.16615,1379.3008,835.287,835.287,835.287,575.162,2840.9249999999997,2840.9249999999997,16812.224649999996,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,394.176,394.176,394.176,394.176,8541.714499999998,8541.714499999998 +21355200.0,3682.884,11054.538,32279.250959999998,3659.66667,3659.66667,3659.66667,3220.2905,20738.02104,4340.58688,1810.3323,2758.6016,1130.961,1130.961,1130.961,1150.3204999999998,3682.884,3682.884,17515.259059999997,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,788.352,788.352,788.352,788.352,11073.204559999998,11073.204559999998 +21358800.0,10975.968,12143.874,35460.11208,12808.83538,12808.83538,12808.83538,11271.011499999999,26979.78384,17952.576640000003,6336.15822,9655.098240000001,3213.8819999999996,3213.8819999999996,3213.8819999999996,4026.1234999999997,10975.968,10975.968,19399.437069999996,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,3513.6510000000003,3513.6510000000003,3513.6510000000003,3513.6510000000003,33001.077119999994,33001.077119999994 +21362400.0,50571.72900000001,31250.966999999997,91252.82363999999,102470.68711000001,102470.68711000001,102470.68711000001,90168.099,80994.6388,28788.164480000003,71657.65782,109192.62144,18581.469,18581.469,18581.469,32208.977499999994,50571.72900000001,50571.72900000001,374544.3825499999,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,35277.531,35277.531,35277.531,35277.531,152052.33186,152052.33186 +21366000.0,69848.241,132036.489,385546.54787999997,170326.84636,170326.84636,170326.84636,149743.45400000003,422251.41799999995,47808.917760000004,299457.41595,456316.0624,39638.97,39638.97,39638.97,53489.9085,69848.241,69848.241,20083.98665,77018.98365,114482.53865999999,199678.84649999999,56670.75834,72074.55507,103948.797,103948.797,103948.797,103948.797,210010.37793999998,210010.37793999998 +21369600.0,136772.292,9610.437,28062.476039999998,133674.95382999998,133674.95382999998,133674.95382999998,115930.41599999998,77076.69376,82099.97952000001,82681.01709,125990.12127999999,26067.909,26067.909,26067.909,41411.5415,136772.292,136772.292,15548.892579999998,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,35097.777,35097.777,35097.777,35097.777,411228.6912799999,411228.6912799999 +21373200.0,90723.945,36333.636,106094.21711999999,155535.86807,155535.86807,155535.86807,136862.2955,90993.32032,117111.26464000001,76939.06479,117240.47968,24109.389000000003,24109.389000000003,24109.389000000003,48888.6265,90723.945,90723.945,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,33504.909,33504.909,33504.909,33504.909,272776.66130000004,272776.66130000004 +21376800.0,24630.870000000003,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24630.870000000003,24630.870000000003,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74056.81580000001,74056.81580000001 +21380400.0,21740.463,7074.348,20657.09616,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,27245.94624,47973.77214,73102.89088,15032.913,15032.913,15032.913,30483.495,21740.463,21740.463,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,65366.325419999994,65366.325419999994 +21384000.0,19507.467,7824.375,22847.175,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,60547.88191999999,25319.511680000003,40732.447770000006,62068.49184000001,19392.75,19392.75,19392.75,25882.213000000003,19507.467,19507.467,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17737.892999999996,17737.892999999996,17737.892999999996,17737.892999999996,58652.45078,58652.45078 +21387600.0,14536.251,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,14536.251,14536.251,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,43705.66134,43705.66134 +21391200.0,13209.954000000002,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,42095.753679999994,15936.305920000003,28060.131329999997,42758.29536,8792.835,8792.835,8792.835,17829.9695,13209.954000000002,13209.954000000002,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12831.54,12831.54,12831.54,12831.54,39717.92836,39717.92836 +21394800.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +21398400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +21402000.0,37435.763999999996,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,61030.43528,22619.26976,47162.81514,71867.14688,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,37435.763999999996,37435.763999999996,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,36893.088,36893.088,36893.088,36893.088,112556.86376,112556.86376 +21405600.0,39843.066000000006,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,91054.36584,40097.804800000005,83503.65786,127243.66912000002,22123.911,22123.911,22123.911,44862.503,39843.066000000006,39843.066000000006,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,47192.78400000001,47192.78400000001,47192.78400000001,47192.78400000001,119794.81844,119794.81844 +21409200.0,45084.597,11590.032,33842.89344,144556.86399,144556.86399,144556.86399,127201.42749999999,126912.6608,40611.8848,89834.7639,136891.0688,22407.549,22407.549,22407.549,45437.66499999999,45084.597,45084.597,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,53123.472,53123.472,53123.472,53123.472,135554.35498,135554.35498 +21412800.0,60153.825000000004,16086.126,46971.48792,128088.36194000002,128088.36194000002,128088.36194000002,112710.12550000001,140127.47704,64086.877440000004,103641.28992000001,157929.58464000002,20660.406,20660.406,20660.406,40261.221,60153.825000000004,60153.825000000004,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,58299.407999999996,58299.407999999996,58299.407999999996,58299.407999999996,180862.5005,180862.5005 +21416400.0,57347.631,7741.74,22605.8808,107854.23891000001,107854.23891000001,107854.23891000001,93388.3895,66159.35688,55232.05888,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,57347.631,57347.631,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,28587.858,28587.858,28587.858,28587.858,172425.21054,172425.21054 +21420000.0,17377.934999999998,8084.606999999999,23607.052439999996,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17377.934999999998,17377.934999999998,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,52249.65789999999,52249.65789999999 +21423600.0,10556.748,10661.055,31130.2806,36596.67484,36596.67484,36596.67484,32202.8945,37388.36328,10281.4912,18103.308510000003,27585.993920000004,5868.21,5868.21,5868.21,11503.205,10556.748,10556.748,16848.766219999998,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,31740.62232,31740.62232 +21427200.0,6207.657,15321.165,44737.8018,12808.83538,12808.83538,12808.83538,11271.011499999999,29610.516960000004,17225.24864,6336.15822,9655.098240000001,2892.279,2892.279,2892.279,4026.1234999999997,6207.657,6207.657,31104.99535,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,18664.35538,18664.35538 +21430800.0,5418.335999999999,17830.389000000003,52064.73588000001,7319.33334,7319.33334,7319.33334,6440.577499999999,36462.7408,30246.06272,3620.65977,5517.19584,2014.1910000000003,2014.1910000000003,2014.1910000000003,2300.6409999999996,5418.335999999999,5418.335999999999,30215.761029999998,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,2511.393,2511.393,2511.393,2511.393,16291.130239999999,16291.130239999999 +21434400.0,5324.13,15809.976,46165.12992,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,29807.10304,28607.904640000004,905.16615,1379.3008,4240.188,4240.188,4240.188,575.162,5324.13,5324.13,26429.71864,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2190.837,2190.837,2190.837,2190.837,16007.8842,16007.8842 +21438000.0,7327.137000000001,16854.36,49214.731199999995,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,33162.09544,31643.381120000002,5216.88783,7949.54336,8687.106,8687.106,8687.106,575.162,7327.137000000001,7327.137000000001,28641.654860000002,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2373.639,2373.639,2373.639,2373.639,22030.25858,22030.25858 +21441600.0,7376.487000000001,15097.371,44084.323319999996,3923.2602200000006,3923.2602200000006,3923.2602200000006,3220.2905,35152.36744,26556.970240000002,6263.3508,9544.1536,8367.576000000001,8367.576000000001,8367.576000000001,1150.3204999999998,7376.487000000001,7376.487000000001,26193.76409,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2441.2439999999997,2441.2439999999997,2441.2439999999997,2441.2439999999997,22178.637580000002,22178.637580000002 +21445200.0,21500.094,15959.541,46601.85971999999,14160.514940000001,14160.514940000001,14160.514940000001,11271.011499999999,93151.86024000001,29689.953279999998,14106.31446,21495.33632,10526.655,10526.655,10526.655,4026.1234999999997,21500.094,21500.094,42994.20423999999,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,13727.211,13727.211,13727.211,13727.211,64643.61596,64643.61596 +21448800.0,112072.728,55860.438,163112.47896,105865.81599,105865.81599,105865.81599,90168.099,297705.20696,36612.78848,113861.86937999999,173503.80096,27461.328,27461.328,27461.328,32208.977499999994,112072.728,112072.728,596271.0920399999,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,85336.515,85336.515,85336.515,85336.515,336965.33551999996,336965.33551999996 +21452400.0,116073.65699999999,196758.522,574534.8842399999,173955.35718,173955.35718,173955.35718,149743.45400000003,642933.922,47808.917760000004,535063.8402900001,815335.37568,82476.033,82476.033,82476.033,53489.9085,116073.65699999999,116073.65699999999,48312.40478999999,104131.78155,154783.53702,269971.2855,76620.42198,97446.77829,173031.825,173031.825,173031.825,173031.825,348994.79537999997,348994.79537999997 +21456000.0,393787.7640000001,38372.406,112047.42551999999,144376.74207,144376.74207,144376.74207,115930.41599999998,194237.86856,166230.47168000002,180873.93177,275617.41984,86757.28499999999,86757.28499999999,86757.28499999999,41411.5415,393787.7640000001,393787.7640000001,32386.27834,41667.582599999994,61935.51783999999,108027.06599999999,30659.110159999997,38992.62668,196967.13300000003,196967.13300000003,196967.13300000003,196967.13300000003,1183988.54376,1183988.54376 +21459600.0,237227.17200000002,87883.524,256619.89008,157898.79611000002,157898.79611000002,157898.79611000002,136862.2955,147041.70416,203139.8272,77877.61107,118670.64544000001,154863.45900000003,154863.45900000003,154863.45900000003,48888.6265,237227.17200000002,237227.17200000002,55818.30878,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,55334.166000000005,55334.166000000005,55334.166000000005,55334.166000000005,713263.03048,713263.03048 +21463200.0,26179.011000000006,10242.141,29907.05172,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31950.120960000004,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,26179.011000000006,26179.011000000006,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,78711.55974000001,78711.55974000001 +21466800.0,26752.716,9997.383000000002,29192.358360000002,96981.18507,96981.18507,96981.18507,85337.66500000001,56737.01328,31837.382400000002,47973.77214,73102.89088,16112.484,16112.484,16112.484,30483.495,26752.716,26752.716,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,80436.49944,80436.49944 +21470400.0,34171.388999999996,12095.843999999997,35319.86448,82514.77707000001,82514.77707000001,82514.77707000001,72456.51000000001,77233.9124,38494.62592,40732.447770000006,62068.49184000001,30498.852,30498.852,30498.852,25882.213000000003,34171.388999999996,34171.388999999996,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,18308.502,18308.502,18308.502,18308.502,102741.97626,102741.97626 +21474000.0,17864.721,7361.115,21494.4558,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38812.97872,22254.474240000003,32585.957250000003,49654.79200000001,10358.148000000001,10358.148000000001,10358.148000000001,20705.7725,17864.721,17864.721,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14313.309000000001,14313.309000000001,14313.309000000001,14313.309000000001,53713.26114,53713.26114 +21477600.0,35931.828,6594.765,19256.7138,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,58946.86928,15936.305920000003,31312.624350000002,47714.47520000001,11789.499,11789.499,11789.499,17829.9695,35931.828,35931.828,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,15030.729000000001,15030.729000000001,15030.729000000001,15030.729000000001,108035.02952,108035.02952 +21481200.0,9761.708999999999,3608.8229999999994,10537.763159999999,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,9254.454000000002,9254.454000000002,9254.454000000002,13803.846000000001,9761.708999999999,9761.708999999999,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29350.205059999997,29350.205059999997 +21484800.0,10988.313,4128.918,12056.440560000001,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10988.313,10988.313,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,33038.19442,33038.19442 +21488400.0,130461.38399999999,10882.935,31778.1702,83042.86364000001,83042.86364000001,83042.86364000001,70846.3665,133690.03336,27494.782720000003,157859.88981,240548.40352,13358.048999999999,13358.048999999999,13358.048999999999,25307.054500000002,130461.38399999999,130461.38399999999,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,122851.005,122851.005,122851.005,122851.005,392253.8945599999,392253.8945599999 +21492000.0,85019.814,35925.114,104901.33288,145487.37180999998,145487.37180999998,145487.37180999998,125591.28399999999,162590.49392,80041.99488,121164.84387,184632.14304,26872.539000000004,26872.539000000004,26872.539000000004,44862.503,85019.814,85019.814,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,57593.34000000001,57593.34000000001,57593.34000000001,57593.34000000001,255626.24076,255626.24076 +21495600.0,103297.62,50188.02299999999,146549.02715999997,148253.60429000002,148253.60429000002,148253.60429000002,127201.42749999999,172676.34912,100283.81056000001,139227.05874,212155.51808000004,33356.121,33356.121,33356.121,45437.66499999999,103297.62,103297.62,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,64031.409,64031.409,64031.409,64031.409,310581.5108,310581.5108 +21499200.0,139952.832,69930.282,204196.42344,134462.14067000002,134462.14067000002,134462.14067000002,112710.12550000001,173207.3044,115323.4848,148940.35779,226956.73568,45466.332,45466.332,45466.332,43242.3075,139952.832,139952.832,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,70752.663,70752.663,70752.663,70752.663,420791.51488000003,420791.51488000003 +21502800.0,99877.731,41039.472,119835.25824,111593.86887,111593.86887,111593.86887,93388.3895,86840.43208,89139.79648,64533.85218,98337.29856000001,34674.456,34674.456,34674.456,33359.297999999995,99877.731,99877.731,21685.596399999995,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,36541.71,36541.71,36541.71,36541.71,300299.04454,300299.04454 +21506400.0,19195.395,17329.197,50601.25523999999,75023.18098,75023.18098,75023.18098,66015.9325,60695.62808000001,23090.7328,37111.78317,56551.288640000006,12309.036,12309.036,12309.036,23581.572,19195.395,19195.395,29833.90956,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,57714.1543,57714.1543 +21510000.0,11301.849000000002,15826.613999999998,46213.71287999999,36596.67484,36596.67484,36596.67484,32202.8945,44917.425599999995,23501.844480000003,18103.308510000003,27585.993920000004,6347.304,6347.304,6347.304,11503.205,11301.849000000002,11301.849000000002,25708.64192,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,33980.892660000005,33980.892660000005 +21513600.0,7262.8769999999995,14311.988999999998,41791.00788,12808.83538,12808.83538,12808.83538,11271.011499999999,31467.269040000003,25523.32672,6336.15822,9655.098240000001,3197.0040000000004,3197.0040000000004,3197.0040000000004,4026.1234999999997,7262.8769999999995,7262.8769999999995,23321.50145,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,4047.24,4047.24,4047.24,4047.24,21837.05018,21837.05018 +21517200.0,6851.486999999999,14052.891,41034.441719999995,7417.501740000001,7417.501740000001,7417.501740000001,6440.577499999999,31837.641839999997,24413.87136,6027.6468,9184.9856,6454.2210000000005,6454.2210000000005,6454.2210000000005,2300.6409999999996,6851.486999999999,6851.486999999999,23598.13898,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,3044.889,3044.889,3044.889,3044.889,20600.137579999995,20600.137579999995 +21520800.0,7418.861999999999,15681.039,45788.63388,2427.52301,2427.52301,2427.52301,1610.1435,36325.19712,28844.784000000003,7874.11716,11998.65472,8441.229,8441.229,8441.229,575.162,7418.861999999999,7418.861999999999,27517.317359999997,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2216.724,2216.724,2216.724,2216.724,22306.045079999996,22306.045079999996 +21524400.0,7812.6990000000005,15947.442000000001,46566.530640000004,2447.89743,2447.89743,2447.89743,1610.1435,37046.51304,29605.045759999997,15692.500950000001,23912.382400000002,11967.603000000001,11967.603000000001,11967.603000000001,575.162,7812.6990000000005,7812.6990000000005,36537.837439999996,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2264.4269999999997,2264.4269999999997,2264.4269999999997,2264.4269999999997,23490.181660000002,23490.181660000002 +21528000.0,10593.234,15037.203,43908.63276,4218.062530000001,4218.062530000001,4218.062530000001,3220.2905,35288.06568,27028.814080000004,18565.457400000003,28290.220800000003,14735.499,14735.499,14735.499,1150.3204999999998,10593.234,10593.234,51605.05181,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,2479.041,2479.041,2479.041,2479.041,31850.323559999997,31850.323559999997 +21531600.0,15565.746,15864.483,46324.29036,13379.80347,13379.80347,13379.80347,11271.011499999999,41078.78192,30065.48736,24526.314960000003,37373.43232000001,16427.862,16427.862,16427.862,4026.1234999999997,15565.746,15565.746,53737.64227,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,4772.244,4772.244,4772.244,4772.244,46801.00963999999,46801.00963999999 +21535200.0,313006.02,34015.254,99324.54168,107982.68811,107982.68811,107982.68811,98330.61000000002,267199.45304,59479.066880000006,189803.88693,289224.97056,85130.853,85130.853,85130.853,32208.977499999994,313006.02,313006.02,114208.63518999999,34790.289749999996,51712.9739,90197.0475,25598.7811,32556.83905,166496.754,166496.754,166496.754,166496.754,941104.7667999999,941104.7667999999 +21538800.0,438252.672,274181.739,800610.67788,200220.34923000002,200220.34923000002,200220.34923000002,149743.45400000003,376704.12504,318689.18080000003,214912.99935,327486.4752,182924.427,182924.427,182924.427,56984.4415,438252.672,438252.672,45807.43375,57844.542149999994,85981.27006,149967.3315,42562.15694,54131.06537,283238.874,283238.874,283238.874,283238.874,1317679.70048,1317679.70048 +21542400.0,326164.674,136993.45500000002,400020.8886,140388.00776,140388.00776,140388.00776,115930.41599999998,267852.89064,417533.9264,303758.37639,462869.90688,136773.918,136773.918,136773.918,53987.577000000005,326164.674,326164.674,105999.30237,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,203513.27699999997,203513.27699999997,203513.27699999997,203513.27699999997,980668.4531599999,980668.4531599999 +21546000.0,198691.98599999998,49709.85599999999,145152.77951999998,161369.76129999998,161369.76129999998,161369.76129999998,136862.2955,200434.61664,91766.20672,172730.48898,263208.36416,201955.146,201955.146,201955.146,57892.191,198691.98599999998,198691.98599999998,18356.33085,48860.69849999999,72627.50739999999,126675.885,35951.8226,45723.9623,127329.88200000001,127329.88200000001,127329.88200000001,127329.88200000001,597400.57124,597400.57124 +21549600.0,59535.759000000005,76881.714,224494.60488,114713.22269000002,114713.22269000002,114713.22269000002,98218.8235,440993.40296000004,31358.54272,226025.81021999998,344420.28224,35004.422999999995,35004.422999999995,35004.422999999995,35084.777,59535.759000000005,59535.759000000005,13173.368259999997,61026.8094,90711.45495999999,158217.654,44903.67704,57109.03892,70342.27200000001,70342.27200000001,70342.27200000001,70342.27200000001,179004.18206,179004.18206 +21553200.0,32077.797,11729.115000000002,34249.0158,97149.29642,97149.29642,97149.29642,85337.66500000001,92417.41016,29556.72768,71650.84752,109182.24384000001,16045.689,16045.689,16045.689,30483.495,32077.797,32077.797,11445.71246,30720.5946,45663.69864,79645.986,22604.289360000002,28748.408280000003,31533.597,31533.597,31533.597,31533.597,96447.24298,96447.24298 +21556800.0,43758.273,15598.668000000001,45548.11056,83022.91657,83022.91657,83022.91657,72456.51000000001,91634.39464,40060.16,67727.71383,103204.13536,15904.341,15904.341,15904.341,25882.213000000003,43758.273,43758.273,9718.056659999998,28043.516249999997,41684.436499999996,72705.41249999999,20634.4885,26243.191749999998,36149.412,36149.412,36149.412,36149.412,131566.54082,131566.54082 +21560400.0,30583.050000000003,9656.636999999999,28197.38004,66313.26295,66313.26295,66313.26295,57965.20799999999,65170.3412,28461.82976,48073.11558,73254.27136,10979.481,10979.481,10979.481,20705.7725,30583.050000000003,30583.050000000003,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,24563.337,24563.337,24563.337,24563.337,91953.037,91953.037 +21564000.0,14200.206,4272.555,12475.8606,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,38746.97504,15936.305920000003,29508.50343,44965.338560000004,8792.835,8792.835,8792.835,17829.9695,14200.206,14200.206,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,13489.353,13489.353,13489.353,13489.353,42695.28604,42695.28604 +21567600.0,10572.779999999999,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,26565.570160000003,12337.789440000002,22727.767860000004,34632.78912,6807.357,6807.357,6807.357,13803.846000000001,10572.779999999999,10572.779999999999,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9616.329000000002,9616.329000000002,9616.329000000002,9616.329000000002,31788.825199999996,31788.825199999996 +21571200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +21574800.0,18101.61,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,40621.47369,61899.38848000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,18101.61,18101.61,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,54425.507399999995,54425.507399999995 +21578400.0,42072.486000000004,12027.887999999999,35121.43296,142727.02862,142727.02862,142727.02862,125591.28399999999,120332.98392,41823.48160000001,79889.8905,121736.976,22123.911,22123.911,22123.911,44862.503,42072.486000000004,42072.486000000004,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,42128.883,42128.883,42128.883,42128.883,126497.94124,126497.94124 +21582000.0,82484.064,23517.123,68669.99916,146259.07637,146259.07637,146259.07637,127201.42749999999,157694.65256000002,79708.66432,117391.89903000002,178882.89376000004,24292.623,24292.623,24292.623,45437.66499999999,82484.064,82484.064,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,60402.83099999999,60402.83099999999,60402.83099999999,60402.83099999999,248002.08576,248002.08576 +21585600.0,113093.946,29146.176,85106.83391999999,131684.64243,131684.64243,131684.64243,112710.12550000001,86103.51168,99331.61472000001,103450.38900000001,157638.68800000002,24052.125,24052.125,24052.125,40261.221,113093.946,113093.946,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,59486.74799999999,59486.74799999999,59486.74799999999,59486.74799999999,340035.79763999995,340035.79763999995 +21589200.0,55227.990000000005,14221.641000000001,41527.19172,108438.36938000002,108438.36938000002,108438.36938000002,93388.3895,81741.31783999999,29816.313600000005,59032.13925,89953.736,17090.535,17090.535,17090.535,33359.297999999995,55227.990000000005,55227.990000000005,21504.990519999996,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,28182.957,28182.957,28182.957,28182.957,166052.15660000002,166052.15660000002 +21592800.0,19461.704999999998,16974.506999999998,49565.56044,75023.18098,75023.18098,75023.18098,66015.9325,61805.222239999996,30968.16832,37111.78317,56551.288640000006,12386.531999999997,12386.531999999997,12386.531999999997,23581.572,19461.704999999998,19461.704999999998,32531.583629999997,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,58514.85969999999,58514.85969999999 +21596400.0,11725.820999999998,17738.222999999998,51795.61116,36596.67484,36596.67484,36596.67484,32202.8945,48968.42335999999,32775.2384,18103.308510000003,27585.993920000004,6441.102000000001,6441.102000000001,6441.102000000001,11503.205,11725.820999999998,11725.820999999998,29316.497859999996,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,8721.651,8721.651,8721.651,8721.651,35255.63513999999,35255.63513999999 +21600000.0,8186.948999999999,16152.627,47165.67084,12913.035520000001,12913.035520000001,12913.035520000001,11271.011499999999,36778.36944,31158.503040000003,7183.190490000001,10945.814080000002,6076.181999999999,6076.181999999999,6076.181999999999,4026.1234999999997,8186.948999999999,8186.948999999999,27070.112419999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,4552.38,4552.38,4552.38,4552.38,24615.426659999997,24615.426659999997 +21603600.0,8749.185,16230.678,47393.57975999999,7958.050650000001,7958.050650000001,7958.050650000001,6440.577499999999,40173.42424,31014.54976,9366.73206,14273.115520000001,9277.082999999999,9277.082999999999,9277.082999999999,2300.6409999999996,8749.185,8749.185,28450.741149999998,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,3454.41,3454.41,3454.41,3454.41,26305.882899999997,26305.882899999997 +21607200.0,7788.906000000001,16152.666,47165.784719999996,2491.16153,2491.16153,2491.16153,1610.1435,37836.93952,30404.399360000003,16559.87235,25234.091200000003,11420.436000000002,11420.436000000002,11420.436000000002,575.162,7788.906000000001,7788.906000000001,43749.41272,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2329.125,2329.125,2329.125,2329.125,23418.64404,23418.64404 +21610800.0,12881.715,17135.463,50035.55196,2554.4500300000004,2554.4500300000004,2554.4500300000004,1610.1435,40500.108,33271.159680000004,20899.7481,31847.2352,18047.961,18047.961,18047.961,575.162,12881.715,12881.715,65312.48879999999,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,2500.6949999999997,2500.6949999999997,2500.6949999999997,2500.6949999999997,38731.0231,38731.0231 +21614400.0,22779.39,33409.863,97556.79995999999,4429.307740000001,4429.307740000001,4429.307740000001,3220.2905,41613.095199999996,36025.44256,25017.492150000002,38121.89280000001,18719.553,18719.553,18719.553,1150.3204999999998,22779.39,22779.39,65742.17090999999,1353.3965999999998,2011.7154399999997,3508.8059999999996,995.83256,1266.5118799999998,6079.073999999999,6079.073999999999,6079.073999999999,6079.073999999999,68490.03259999999,68490.03259999999 +21618000.0,29588.183999999997,37237.161,108732.51012,14067.04332,14067.04332,14067.04332,11271.011499999999,47488.76592,61159.406720000006,32188.617299999998,49049.321599999996,21647.028,21647.028,21647.028,4026.1234999999997,29588.183999999997,29588.183999999997,67466.92146999999,4978.422,7400.024799999999,12907.02,3663.1352,4658.8196,10313.844000000001,10313.844000000001,10313.844000000001,10313.844000000001,88961.80655999998,88961.80655999998 +21621600.0,362749.11899999995,58399.062000000005,170525.26104,108559.65538000001,108559.65538000001,108559.65538000001,100835.5005,339143.44088,124425.76896,232309.10409,353994.82528,118237.75200000001,118237.75200000001,118237.75200000001,33745.047000000006,362749.11899999995,362749.11899999995,137595.28809,38637.777599999994,57431.95583999999,100172.01599999999,28429.772159999997,36157.327679999995,219880.278,219880.278,219880.278,219880.278,1090665.68446,1090665.68446 +21625200.0,478611.723,298079.643,870392.5575599999,205116.18072000003,205116.18072000003,205116.18072000003,154811.916,425510.94976000005,370010.01024000003,240944.67557999998,367153.79136,199025.00700000004,199025.00700000004,199025.00700000004,57712.5745,478611.723,478611.723,53205.84386,59501.53889999999,88444.26275999998,154263.24899999998,43781.379239999995,55681.68702,323425.791,323425.791,323425.791,323425.791,1439025.91382,1439025.91382 +21628800.0,312663.207,116341.93500000001,339718.4502,140562.10608,140562.10608,140562.10608,117961.7845,275960.0896,400809.08160000003,289928.20752,441795.36384,127357.239,127357.239,127357.239,51302.9055,312663.207,312663.207,95371.58331999999,41190.1686,61225.88024,106789.326,30307.82776,38545.86148,191820.73500000004,191820.73500000004,191820.73500000004,191820.73500000004,940074.04238,940074.04238 +21632400.0,168759.52500000002,38113.719,111292.05948,161324.94246000002,161324.94246000002,161324.94246000002,136862.2955,174048.65568000003,100277.22816,147274.70331,224418.59552,178446.762,178446.762,178446.762,55012.0935,168759.52500000002,168759.52500000002,18356.33085,48627.28485,72280.55673999999,126070.73849999999,35780.076259999994,45505.53323,108594.38099999998,108594.38099999998,108594.38099999998,108594.38099999998,507403.6385,507403.6385 +21636000.0,51743.448,70073.496,204614.60831999997,114325.26622,114325.26622,114325.26622,98218.8235,425329.25568,31358.54272,207361.71456,315979.75552,31461.906,31461.906,31461.906,35084.777,51743.448,51743.448,13173.368259999997,57560.0661,85558.41923999999,149229.80099999998,42352.83876,53864.85198,63161.898,63161.898,63161.898,63161.898,155575.30031999998,155575.30031999998 +21639600.0,22827.704999999998,7259.603999999999,21198.04368,96981.18507,96981.18507,96981.18507,85337.66500000001,65758.43504,27245.94624,58922.4741,89786.6272,15032.913,15032.913,15032.913,30483.495,22827.704999999998,22827.704999999998,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,22173.825,22173.825,22173.825,22173.825,68635.29969999999,68635.29969999999 +21643200.0,22870.674,8288.952,24203.73984,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,72257.46152,23133.34976,47271.325919999996,72032.49664,12763.794,12763.794,12763.794,25882.213000000003,22870.674,22870.674,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,24509.613,24509.613,24509.613,24509.613,68764.49316,68764.49316 +21646800.0,16875.93,5312.649,15512.93508,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,48530.376639999995,18506.68416,35009.0475,53347.12,10211.037,10211.037,10211.037,20705.7725,16875.93,16875.93,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,16639.476000000002,16639.476000000002,16639.476000000002,16639.476000000002,50740.29619999999,50740.29619999999 +21650400.0,12801.942000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28605.53493,43589.386560000006,8792.835,8792.835,8792.835,17829.9695,12801.942000000001,12801.942000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,38491.17228,38491.17228 +21654000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21779.271780000003,33187.461760000006,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +21657600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +21661200.0,17766.528000000002,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,39827.28162,60689.191040000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,17766.528000000002,17766.528000000002,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,53418.02752,53418.02752 +21664800.0,34543.482,10411.305,30401.010599999998,142727.02862,142727.02862,142727.02862,125591.28399999999,85943.96287999999,40097.804800000005,74274.53733,113180.24736000001,22123.911,22123.911,22123.911,44862.503,34543.482,34543.482,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,30873.222,30873.222,30873.222,30873.222,103860.73588000001,103860.73588000001 +21668400.0,46663.386,14385.216,42004.83072,144556.86399,144556.86399,144556.86399,127201.42749999999,145924.1384,43904.56448000001,85968.13155,130999.0576,22407.549,22407.549,22407.549,45437.66499999999,46663.386,46663.386,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,49170.342000000004,49170.342000000004,49170.342000000004,49170.342000000004,140301.24724,140301.24724 +21672000.0,78453.891,10623.522,31020.68424,129012.51649000001,129012.51649000001,129012.51649000001,112710.12550000001,79417.06208,78963.03616,79160.91791999999,120626.16064,22255.362,22255.362,22255.362,40261.221,78453.891,78453.891,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,54487.371,54487.371,54487.371,54487.371,235884.69893999997,235884.69893999997 +21675600.0,40196.352,8333.832,24334.78944,108338.81311,108338.81311,108338.81311,93388.3895,65019.30712,29816.313600000005,52499.598060000004,79999.38752,16451.112,16451.112,16451.112,33359.297999999995,40196.352,40196.352,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,23839.593,23839.593,23839.593,23839.593,120857.03167999999,120857.03167999999 +21679200.0,18688.173,11896.953,34739.102759999994,75023.18098,75023.18098,75023.18098,66015.9325,56587.094639999996,27476.33024,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,18688.173,18688.173,17714.37382,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,56189.10681999999,56189.10681999999 +21682800.0,11636.814,16955.193,49509.16355999999,36596.67484,36596.67484,36596.67484,32202.8945,44981.17504,31391.34592,18103.308510000003,27585.993920000004,6493.68,6493.68,6493.68,11503.205,11636.814,11636.814,34664.66471,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,34988.02076,34988.02076 +21686400.0,7903.887,20804.319,60748.61148,13037.62636,13037.62636,13037.62636,11271.011499999999,46034.65264,46096.340480000006,6345.19032,9668.86144,4475.073,4475.073,4475.073,4026.1234999999997,7903.887,7903.887,36410.68509,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,5366.424,5366.424,5366.424,5366.424,23764.35358,23764.35358 +21690000.0,11342.148,21511.125,62812.485,8337.3543,8337.3543,8337.3543,6440.577499999999,53146.34184,46363.390080000005,11936.577030000002,18189.069760000002,12948.402,12948.402,12948.402,2300.6409999999996,11342.148,11342.148,39271.11513,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,4380.609,4380.609,4380.609,4380.609,34102.05832,34102.05832 +21693600.0,14341.152,21520.512,62839.895039999996,2880.48145,2880.48145,2880.48145,1610.1435,52549.33615999999,45924.46912,26180.029679999996,39893.37856,19666.947,19666.947,19666.947,575.162,14341.152,14341.152,89784.48452999999,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,3936.3689999999997,3936.3689999999997,3936.3689999999997,3936.3689999999997,43119.06368,43119.06368 +21697200.0,30874.845,49282.61399999999,143905.23287999997,3690.8876400000004,3690.8876400000004,3690.8876400000004,1610.1435,53680.81864,109560.90368,33187.52409,50571.46528,36991.185,36991.185,36991.185,575.162,30874.845,30874.845,92105.90116,785.6433,1167.7957199999998,2036.8529999999998,578.07828,735.2069399999999,8087.217000000001,8087.217000000001,8087.217000000001,8087.217000000001,92830.3673,92830.3673 +21700800.0,49257.03599999999,55665.452999999994,162543.12275999997,5708.5413,5708.5413,5708.5413,3220.2905,72136.36327999999,210539.89184000003,44201.35377,67354.44384,49639.758,49639.758,49639.758,1150.3204999999998,49257.03599999999,49257.03599999999,96005.22867,2677.0783500000002,3979.2621400000003,6940.5735,1969.8008600000003,2505.21653,19302.897,19302.897,19302.897,19302.897,148099.48823999998,148099.48823999998 +21704400.0,81285.333,59643.825000000004,174159.969,21751.195180000002,21751.195180000002,21751.195180000002,11271.011499999999,286686.2424,279691.20256,59118.80877,90085.80384000001,51364.206000000006,51364.206000000006,51364.206000000006,6555.213,81285.333,81285.333,154683.50572999998,5494.23405,8166.73802,14244.310500000001,4042.6709800000003,5141.517790000001,63205.869000000006,63205.869000000006,63205.869000000006,63205.869000000006,244397.90122,244397.90122 +21708000.0,270401.12400000007,147795.99,431564.2908,117811.29448000001,117811.29448000001,117811.29448000001,90168.099,871379.5087999998,340274.9158400001,381187.97598000005,580857.8681600001,116197.692,116197.692,116197.692,35037.359000000004,270401.12400000007,270401.12400000007,1136426.8385599998,33270.264,49453.577600000004,86256.24,24480.3424,31134.395200000003,274457.244,274457.244,274457.244,274457.244,813006.04616,813006.04616 +21711600.0,194716.749,259002.153,756286.2867599999,177820.51001,177820.51001,177820.51001,149743.45400000003,1080764.9941599998,201417.86048000003,880899.5006700001,1342323.0486400002,180264.612,180264.612,180264.612,58521.134000000005,194716.749,194716.749,129748.81685999999,145414.9503,216147.65451999998,377001.723,106996.67947999999,136079.66954,265519.284,265519.284,265519.284,265519.284,585448.35866,585448.35866 +21715200.0,542688.327,83117.72400000002,242703.75408,152882.11818000002,152882.11818000002,152882.11818000002,115930.41599999998,384689.7352,249938.28672000003,239697.2025,365252.88,142461.093,142461.093,142461.093,41411.5415,542688.327,542688.327,88734.37495,44414.831249999996,66019.08249999999,115149.5625,32680.5425,41563.50875,409328.10900000005,409328.10900000005,409328.10900000005,409328.10900000005,1631682.90318,1631682.90318 +21718800.0,275157.624,90445.755,264101.60459999996,164087.75614,164087.75614,164087.75614,136862.2955,184766.06016,797593.6076800001,76939.06479,117240.47968,255831.67799999999,255831.67799999999,255831.67799999999,48888.6265,275157.624,275157.624,68077.21908,88530.6834,131593.75655999998,229523.994,65141.09544,82847.23212,66166.023,66166.023,66166.023,66166.023,827307.25616,827307.25616 +21722400.0,26613.801,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,26613.801,26613.801,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,80018.82834,80018.82834 +21726000.0,26462.811,22486.329,65660.08068,97000.25709000001,97000.25709000001,97000.25709000001,85337.66500000001,56868.05704,27358.597760000004,47973.77214,73102.89088,16421.403000000002,16421.403000000002,16421.403000000002,30483.495,26462.811,26462.811,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,79564.85174,79564.85174 +21729600.0,37846.098,16651.497000000003,48622.37124000001,83511.64624000002,83511.64624000002,83511.64624000002,72456.51000000001,76754.40168,35358.24832,40732.447770000006,62068.49184000001,31010.052000000003,31010.052000000003,31010.052000000003,25882.213000000003,37846.098,37846.098,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,17994.909,17994.909,17994.909,17994.909,113790.60132,113790.60132 +21733200.0,25012.665,9803.751,28626.95292,66091.60261,66091.60261,66091.60261,57965.20799999999,39457.45776,27545.287680000005,32585.957250000003,49654.79200000001,10712.202,10712.202,10712.202,20705.7725,25012.665,25012.665,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14798.568,14798.568,14798.568,14798.568,75204.7461,75204.7461 +21736800.0,36732.519,12110.975999999999,35364.04992,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,74818.03872,16408.6176,34482.05586,52544.08512,12225.024,12225.024,12225.024,17829.9695,36732.519,36732.519,17982.714099999997,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,14868.606,14868.606,14868.606,14868.606,110442.44046,110442.44046 +21740400.0,10669.053,5354.862,15636.19704,43916.00818,43916.00818,43916.00818,38643.472,34047.38104,12337.789440000002,21723.97311,33103.19712,8914.263,8914.263,8914.263,13803.846000000001,10669.053,10669.053,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,32078.28602,32078.28602 +21744000.0,11090.439,4840.122,14133.15624,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,11090.439,11090.439,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,33345.25326,33345.25326 +21747600.0,185943.71399999998,22240.911,64943.460119999996,89827.11001000002,89827.11001000002,89827.11001000002,70846.3665,165251.63008,40320.844800000006,157961.86560000002,240703.79520000002,19032.102000000003,19032.102000000003,19032.102000000003,25429.025999999998,185943.71399999998,185943.71399999998,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,123096.90000000001,123096.90000000001,123096.90000000001,123096.90000000001,559070.7667599999,559070.7667599999 +21751200.0,123737.37299999999,55504.416000000005,162072.89472,150313.37431,150313.37431,150313.37431,125591.28399999999,196484.32384,112989.86624,139382.00997,212391.63424,41349.348,41349.348,41349.348,49250.1345,123737.37299999999,123737.37299999999,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,66312.822,66312.822,66312.822,66312.822,372037.03481999994,372037.03481999994 +21754800.0,194515.72199999998,85650.837,250100.44404,157566.83877,157566.83877,157566.83877,127631.74549999999,237575.36976,160871.46240000002,182921.81313,278738.00096,119950.65299999999,119950.65299999999,119950.65299999999,52940.9825,194515.72199999998,194515.72199999998,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,93608.412,93608.412,93608.412,93608.412,584843.93748,584843.93748 +21758400.0,274724.78099999996,146393.103,427467.86076,145056.92454000004,145056.92454000004,145056.92454000004,117101.26049999999,335614.9304,420235.47391999996,237415.85826000004,361776.54592000006,205989.55200000003,205989.55200000003,205989.55200000003,48256.775,274724.78099999996,274724.78099999996,39823.798559999996,69575.74785,103418.76594,180381.5685,51194.00706,65109.15663,132324.81900000002,132324.81900000002,132324.81900000002,132324.81900000002,826005.8415399999,826005.8415399999 +21762000.0,218780.32799999998,106913.18400000001,312186.49728,120126.94540000001,120126.94540000001,120126.94540000001,96480.8425,186224.75784,192498.1536,145491.94548,221702.01216,115716.693,115716.693,115716.693,33524.939,218780.32799999998,218780.32799999998,54746.20788,34463.750400000004,51227.59936,89350.464,25358.512640000004,32251.262720000006,126581.706,126581.706,126581.706,126581.706,657799.51952,657799.51952 +21765600.0,24776.987999999998,26331.983999999997,76889.39327999999,76077.16446,76077.16446,76077.16446,66015.9325,90618.8712,64993.98656,40002.2532,60955.814399999996,17866.527000000002,17866.527000000002,17866.527000000002,23581.572,24776.987999999998,24776.987999999998,45998.89579999999,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,18948.084,18948.084,18948.084,18948.084,74496.14391999999,74496.14391999999 +21769200.0,23070.300000000003,24235.752,70768.39584,37895.26939,37895.26939,37895.26939,32202.8945,73489.43288000001,56189.488000000005,42240.53799,64366.53408,20839.182,20839.182,20839.182,11503.205,23070.300000000003,23070.300000000003,67566.59429,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,10791.891,10791.891,10791.891,10791.891,69364.702,69364.702 +21772800.0,32297.775,41259.206999999995,120476.88444,14885.178440000002,14885.178440000002,14885.178440000002,11271.011499999999,61646.26912,100476.19072,38561.68638,58760.66496,33021.882000000005,33021.882000000005,33021.882000000005,4026.1234999999997,32297.775,32297.775,95598.71152,4205.14335,6250.608139999999,10902.2235,3094.15486,3935.1835300000002,9784.416000000001,9784.416000000001,9784.416000000001,9784.416000000001,97108.6435,97108.6435 +21776400.0,43238.109000000004,56206.314,164122.43688,9468.49684,9468.49684,9468.49684,6440.577499999999,64570.0476,225078.66176000002,47422.9203,72263.4976,51059.276999999995,51059.276999999995,51059.276999999995,2719.542,43238.109000000004,43238.109000000004,97618.99328999998,3872.6545499999997,5756.390219999999,10040.2155,2849.50878,3624.03969,20380.224000000002,20380.224000000002,20380.224000000002,20380.224000000002,130002.58106000001,130002.58106000001 +21780000.0,49758.348000000005,58448.904,170670.79968,4012.87348,4012.87348,4012.87348,1610.1435,77202.07272,327917.52064,54554.574689999994,83130.78048,53169.78300000001,53169.78300000001,53169.78300000001,4414.6795,49758.348000000005,49758.348000000005,104089.06858999998,2173.716,3231.0544,5635.56,1599.4256,2034.1688000000001,33768.198000000004,33768.198000000004,33768.198000000004,33768.198000000004,149606.76632,149606.76632 +21783600.0,64457.247,62607.13799999999,182812.84295999998,4106.52011,4106.52011,4106.52011,1610.1435,83495.79984,350867.0419200001,66351.21696,101106.61632,55449.51299999999,55449.51299999999,55449.51299999999,4566.191,64457.247,64457.247,132628.04919,2238.1434,3326.82056,5802.594,1646.8314400000002,2094.46012,43036.242,43036.242,43036.242,43036.242,193801.45598,193801.45598 +21787200.0,64507.149000000005,63580.640999999996,185655.47171999997,5871.41049,5871.41049,5871.41049,3220.2905,81796.33648,335572.55808,67639.14129,103069.16768,53385.3,53385.3,53385.3,5022.157,64507.149000000005,64507.149000000005,127830.19443999999,4284.8676,6369.11184,11108.916,3152.81616,4009.78968,42884.178,42884.178,42884.178,42884.178,193951.49466,193951.49466 +21790800.0,102873.837,77318.511,225770.05211999998,25049.173160000002,25049.173160000002,25049.173160000002,11271.011499999999,408502.96591999993,340022.08640000003,106869.04368,162848.06656,55636.713,55636.713,55636.713,10206.958999999999,102873.837,102873.837,241840.27282999997,12740.109299999998,18937.15012,33029.91299999999,9374.20388,11922.225739999998,98366.103,98366.103,98366.103,98366.103,309307.33658,309307.33658 +21794400.0,400801.017,191674.803,559690.4247600001,123721.28043000001,123721.28043000001,123721.28043000001,92513.6625,1297255.14904,497488.8377600001,696446.33121,1061251.55232,238001.16,238001.16,238001.16,50393.0735,400801.017,400801.017,1241134.9349099998,58101.575399999994,86363.32935999999,150633.71399999998,42751.28264,54371.59772,398564.733,398564.733,398564.733,398564.733,1205075.05778,1205075.05778 +21798000.0,291240.89099999995,307689.723,898453.99116,189348.27219,189348.27219,189348.27219,149743.45400000003,1611943.1227199999,543646.0192000001,1195431.2307,1821609.4944000002,320893.017,320893.017,320893.017,163123.912,291240.89099999995,291240.89099999995,283139.69281,224756.37,334082.30799999996,582701.7000000001,165376.29200000002,210327.56600000002,366160.86,366160.86,366160.86,366160.86,875664.2789399999,875664.2789399999 +21801600.0,916948.6799999999,230546.12100000004,673194.6733200001,166945.79154,166945.79154,166945.79154,124897.535,823769.0606399999,549405.93472,619135.21635,943444.1392000001,429811.72200000007,429811.72200000007,429811.72200000007,100075.98999999999,916948.6799999999,916948.6799999999,235680.9572,118294.3845,175835.1098,306689.145,87041.3002,110700.1771,964638.0419999999,964638.0419999999,964638.0419999999,964638.0419999999,2756959.0311999996,2756959.0311999996 +21805200.0,464404.122,181878.012,531083.79504,177331.28787,177331.28787,177331.28787,136862.2955,324468.18663999997,1812077.96992,96325.38069,146781.53248,445217.3670000001,445217.3670000001,445217.3670000001,262647.81200000003,464404.122,464404.122,161728.52994999997,351916.28955,523095.32422,912375.5655,258940.87478,329324.13269000006,127819.70099999999,127819.70099999999,127819.70099999999,127819.70099999999,1396308.3934799999,1396308.3934799999 +21808800.0,55829.361000000004,11516.265,33627.4938,111737.62127,111737.62127,111737.62127,98218.8235,65301.09296000001,34811.14752,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,55829.361000000004,55829.361000000004,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24338.415,24338.415,24338.415,24338.415,167860.27874,167860.27874 +21812400.0,29532.195,130678.31999999998,381580.6943999999,100948.00243000001,100948.00243000001,100948.00243000001,111444.3785,99060.46856,58184.107520000005,50619.3177,77134.19840000001,21284.706,21284.706,21284.706,30483.495,29532.195,29532.195,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,22114.161,22114.161,22114.161,22114.161,88793.4663,88793.4663 +21816000.0,50639.384999999995,18381.513,53674.017960000005,85474.10256000001,85474.10256000001,85474.10256000001,72684.33200000001,91454.73872000001,42851.315200000005,43725.1206,66628.7552,34669.209,34669.209,34669.209,30593.003,50639.384999999995,50639.384999999995,9718.056659999998,26928.0045,40026.3178,69813.345,19813.6922,25199.293100000003,23338.419,23338.419,23338.419,23338.419,152255.75089999998,152255.75089999998 +21819600.0,29861.412,10622.934000000001,31018.96728,66329.23770000001,66329.23770000001,66329.23770000001,57965.20799999999,50171.78455999999,28656.7776,32585.957250000003,49654.79200000001,16526.745,16526.745,16526.745,20705.7725,29861.412,29861.412,8620.332889999998,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14841.894,14841.894,14841.894,14841.894,89783.31208,89783.31208 +21823200.0,77556.984,47867.87699999999,139774.20083999998,56861.831620000004,56861.831620000004,56861.831620000004,59917.0075,132570.70976,20602.11776,105680.94579000001,161037.63168000002,31991.577,31991.577,31991.577,17829.9695,77556.984,77556.984,150885.31328,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,18888.84,18888.84,18888.84,18888.84,233187.99856,233187.99856 +21826800.0,10983.876,27954.519,81627.19548000001,46806.595440000005,46806.595440000005,46806.595440000005,74346.734,59287.5924,12337.789440000002,21723.97311,33103.19712,13643.417999999998,13643.417999999998,13643.417999999998,21300.531,10983.876,10983.876,7705.648859999999,30827.6037,45822.759079999996,79923.417,22683.02692,28848.54766,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,33024.853839999996,33024.853839999996 +21830400.0,11067.324,4786.215,13975.7478,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,11067.324,11067.324,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,33275.75416,33275.75416 +21834000.0,272657.511,63241.029,184663.80468,95349.50579000001,95349.50579000001,95349.50579000001,70846.3665,223990.0172,53399.48608,227423.23548000003,346549.69216000004,73336.518,73336.518,73336.518,39495.141,272657.511,272657.511,9502.102089999998,26105.4252,38803.61968,67680.732,19208.43632,24429.521360000002,157178.517,157178.517,157178.517,157178.517,819790.24974,819790.24974 +21837600.0,135725.142,56087.924999999996,163776.74099999998,151903.48668000003,151903.48668000003,151903.48668000003,125591.28399999999,222820.58056,107738.52544000001,170980.04867999998,260541.02656,77020.611,77020.611,77020.611,52368.389500000005,135725.142,135725.142,16844.63443,46968.93945,69815.55937999999,121771.3245,34559.86162,43953.64951,75464.709,75464.709,75464.709,75464.709,408080.26028,408080.26028 +21841200.0,220721.136,117211.938,342258.85896,158812.5803,158812.5803,158812.5803,139270.8625,277312.68616,183432.1216,219114.78057,333889.18944000005,156559.02599999998,156559.02599999998,156559.02599999998,75587.9985,220721.136,220721.136,34700.67237,65852.50184999999,97884.45953999998,170728.70849999998,48454.43345999999,61624.933829999994,109591.5,109591.5,109591.5,109591.5,663634.88224,663634.88224 +21844800.0,301982.034,186213.096,543742.24032,147076.24283,147076.24283,147076.24283,133092.42099999997,365576.0576,510855.4944000001,329697.25866,502395.82272,230823.462,230823.462,230823.462,102758.131,301982.034,301982.034,96677.74843999998,88274.58165,131213.08185999998,228860.02649999998,64952.655139999995,82607.57147,164383.626,164383.626,164383.626,164383.626,907959.3155599999,907959.3155599999 +21848400.0,242275.56299999997,118991.97600000002,347456.56992000004,122172.57624000002,122172.57624000002,122172.57624000002,102495.46299999999,269006.99144,248689.48032000003,179911.40454000002,274150.71168000007,132769.422,132769.422,132769.422,35629.755000000005,242275.56299999997,242275.56299999997,76624.46883,36684.106199999995,54527.98007999999,95106.94199999998,26992.255919999996,34329.07715999999,176719.34999999998,176719.34999999998,176719.34999999998,176719.34999999998,728441.8594199999,728441.8594199999 +21852000.0,29729.756999999998,25868.825999999997,75536.97192,76292.78899,76292.78899,76292.78899,66015.9325,92926.13256000001,63625.72864000001,58335.89958,88892.79936,23425.968,23425.968,23425.968,23581.572,29729.756999999998,29729.756999999998,48046.224200000004,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,18875.646,18875.646,18875.646,18875.646,89387.46938,89387.46938 +21855600.0,32866.578,30237.783000000003,88294.32636,38493.221580000005,38493.221580000005,38493.221580000005,32202.8945,70811.82792,75502.9024,45832.44960000001,69839.9232,27222.588,27222.588,27222.588,11503.205,32866.578,32866.578,89455.76912999999,11497.5855,17090.238199999996,29808.555,8459.951799999999,10759.4689,12557.499,12557.499,12557.499,12557.499,98818.84452,98818.84452 +21859200.0,38690.7,47117.886,137584.22712,14724.458210000003,14724.458210000003,14724.458210000003,11271.011499999999,61401.053360000005,169182.4224,45212.15202,68894.70784,41920.917,41920.917,41920.917,5186.485500000001,38690.7,38690.7,87198.23410999999,5418.806849999999,8054.621539999998,14048.758499999998,3987.1714599999996,5070.93283,16838.853,16838.853,16838.853,16838.853,116330.03799999999,116330.03799999999 +21862800.0,40200.816,44455.233,129809.28036,9143.3364,9143.3364,9143.3364,6440.577499999999,60100.67223999999,260402.79040000003,43806.70413,66753.07296,43996.347,43996.347,43996.347,5637.5830000000005,40200.816,40200.816,82135.54556999999,3626.4793499999996,5390.470539999999,9401.983499999998,2668.3724599999996,3393.6683299999995,24944.898,24944.898,24944.898,24944.898,120870.45343999998,120870.45343999998 +21866400.0,47565.03600000001,51424.017,150158.12964,3758.1647400000006,3758.1647400000006,3758.1647400000006,1610.1435,69456.58584,292003.28256,56398.494810000004,85940.56352000001,46145.247,46145.247,46145.247,4090.8665,47565.03600000001,47565.03600000001,85980.0006,2052.4468500000003,3050.79754,5321.1585000000005,1510.1954600000001,1920.6848300000001,35985.62699999999,35985.62699999999,35985.62699999999,35985.62699999999,143012.20824,143012.20824 +21870000.0,50191.547999999995,48205.134000000005,140758.99128,3645.18154,3645.18154,3645.18154,1610.1435,67226.80376,268504.07104,53565.64668,81623.84256,42700.878,42700.878,42700.878,3898.2965,50191.547999999995,50191.547999999995,89159.31920999999,4054.4833499999995,6026.664139999999,10511.6235,2983.29886,3794.19553,34220.475000000006,34220.475000000006,34220.475000000006,34220.475000000006,150909.25431999998,150909.25431999998 +21873600.0,48015.126000000004,44167.236000000004,128968.32912,5276.075310000001,5276.075310000001,5276.075310000001,3220.2905,61235.03384,229000.96704000005,52072.11407999999,79347.98336,37152.951,37152.951,37152.951,6256.5195,48015.126000000004,48015.126000000004,90541.61700999999,7159.6548,10642.25232,18562.068,5268.09168,6700.02264,32456.424,32456.424,32456.424,32456.424,144365.47884,144365.47884 +21877200.0,80284.79400000001,54750.345,159871.0074,23493.09413,23493.09413,23493.09413,11271.011499999999,341785.99416,226996.52288000003,82771.41054000001,126127.86368000002,38236.686,38236.686,38236.686,26075.966,80284.79400000001,80284.79400000001,187288.79779999997,10960.17075,16291.4143,28415.2575,8064.5207,10256.55485,77226.543,77226.543,77226.543,77226.543,241389.61396000002,241389.61396000002 +21880800.0,326205.81299999997,157666.233,460385.40035999997,120337.83652000001,120337.83652000001,120337.83652000001,93312.3765,1100424.8928,384369.60832,553689.30561,843717.0371200001,171773.385,171773.385,171773.385,57769.8765,326205.81299999997,326205.81299999997,1147399.5356199997,65363.176799999994,97157.11711999998,169460.088,48094.38688,61167.02224,327344.48699999996,327344.48699999996,327344.48699999996,327344.48699999996,980792.1444199999,980792.1444199999 +21884400.0,247224.96600000001,281615.58,822317.4935999999,184149.89725,184149.89725,184149.89725,149743.45400000003,1373631.3055999998,439221.71584,1071343.63308,1632523.6313600002,254156.943,254156.943,254156.943,161644.588,247224.96600000001,247224.96600000001,198903.3605,207621.89729999998,308613.28932,538278.993,152768.70468,194293.08414,324336.174,324336.174,324336.174,324336.174,743323.06444,743323.06444 +21888000.0,785480.463,159480.15000000002,465682.038,160263.50681,160263.50681,160263.50681,124008.35649999998,630000.9792,398673.42464,485680.80939,740085.04288,336442.35599999997,336442.35599999997,336442.35599999997,93424.26800000001,785480.463,785480.463,211937.71013999998,107858.8224,160323.48416,279633.984,79362.78784,100934.55232,776441.553,776441.553,776441.553,776441.553,2361677.9254199998,2361677.9254199998 +21891600.0,407499.15599999996,160035.33299999998,467303.17235999997,171632.06687,171632.06687,171632.06687,136862.2955,283979.01112,1550504.9484799998,94185.93702,143521.42784,380964.67500000005,380964.67500000005,380964.67500000005,220083.9935,407499.15599999996,407499.15599999996,140782.63458999997,311351.16149999993,462798.5165999999,807206.7149999999,229092.95339999997,291363.1857,111975.23999999999,111975.23999999999,111975.23999999999,111975.23999999999,1225214.1290399998,1225214.1290399998 +21895200.0,51344.895000000004,13674.170999999998,39928.57932,112038.91523,112038.91523,112038.91523,98218.8235,65301.09296000001,42020.48576,55215.09651,84137.28992000001,19374.921,19374.921,19374.921,35084.777,51344.895000000004,51344.895000000004,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24874.166999999998,24874.166999999998,24874.166999999998,24874.166999999998,154376.98429999998,154376.98429999998 +21898800.0,59383.497,132925.506,388142.47752,103645.02456,103645.02456,103645.02456,116927.769,106022.09312,127352.58688000002,53908.58151,82146.40992,36383.729999999996,36383.729999999996,36383.729999999996,64580.998999999996,59383.497,59383.497,20748.387139999995,30467.87055,45288.04462,78990.7755,22418.33438,28511.90849,25494.054,25494.054,25494.054,25494.054,178546.38098,178546.38098 +21902400.0,99198.48300000001,36286.266,105955.89672,89754.79425,89754.79425,89754.79425,74931.5735,130880.49696,164396.82176000002,63849.735810000006,97294.83552000001,68581.23300000001,68581.23300000001,68581.23300000001,34551.44,99198.48300000001,99198.48300000001,68016.286,44270.7444,65804.90896,114776.004,32574.52304,41428.67192,42187.926,42187.926,42187.926,42187.926,298256.77222,298256.77222 +21906000.0,52455.46800000001,17029.209000000003,49725.29028,67594.41348,67594.41348,67594.41348,57965.20799999999,61390.96768,64049.11296,40553.65566,61796.04672,30284.966999999997,30284.966999999997,30284.966999999997,20705.7725,52455.46800000001,52455.46800000001,32208.904779999997,23191.38945,34472.13938,60125.8245,17064.28162,21702.559510000003,21885.06,21885.06,21885.06,21885.06,157716.10712000003,157716.10712000003 +21909600.0,91423.566,65874.97200000001,192354.91824,57090.9075,57090.9075,57090.9075,60386.333000000006,172381.75616,25552.07168,130646.15802,199079.85984000002,37931.01,37931.01,37931.01,19345.231499999998,91423.566,91423.566,201680.92866999996,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,22074.557999999997,22074.557999999997,22074.557999999997,22074.557999999997,274880.18844,274880.18844 +21913200.0,17050.464,90163.28100000002,263276.78052000003,47781.759300000005,47781.759300000005,47781.759300000005,98976.36349999999,82962.84144,24902.82944,24928.842330000003,37986.807360000006,28600.590000000004,28600.590000000004,28600.590000000004,109504.1325,17050.464,17050.464,85348.99593999998,51556.22055,76634.18462,133664.27550000002,37935.19438,48246.43849,9796.340999999999,9796.340999999999,9796.340999999999,9796.340999999999,51265.06176,51265.06176 +21916800.0,15366.126,6600.6900000000005,19274.0148,49480.32496,49480.32496,49480.32496,43473.906,29464.99584,16744.35264,24439.466730000004,37241.09216000001,7685.223,7685.223,7685.223,15529.3285,15366.126,15366.126,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10933.548,10933.548,10933.548,10933.548,46200.81884,46200.81884 +21920400.0,405583.58700000006,154241.688,450385.72896,107635.26477000001,107635.26477000001,107635.26477000001,70846.3665,447355.75591999997,213973.52192000003,415493.25384,633132.5772800001,208319.57099999997,208319.57099999997,208319.57099999997,56129.25149999999,405583.58700000006,405583.58700000006,9502.102089999998,35121.049199999994,52204.62127999999,91054.572,25842.15472,32866.36456,239122.38900000002,239122.38900000002,239122.38900000002,239122.38900000002,1219454.65158,1219454.65158 +21924000.0,219352.695,96622.11,282136.5612,156018.96486,156018.96486,156018.96486,131973.69150000002,292472.68376,291266.61952,248424.37011,378551.42112,155630.163,155630.163,155630.163,64133.60799999999,219352.695,219352.695,27712.781329999998,62862.67844999999,93440.32697999998,162977.3145,46254.514019999995,58827.04971,118076.91,118076.91,118076.91,118076.91,659520.4363,659520.4363 +21927600.0,282181.623,171221.967,499968.14364,160776.85591,160776.85591,160776.85591,143686.3225,415093.68039999995,454780.91008000006,323692.28388000006,493245.38496000005,205188.74700000003,205188.74700000003,205188.74700000003,93373.056,282181.623,282181.623,108256.47663999998,114817.64175,170667.2107,297675.3675,84483.1043,107446.63265,178311.015,178311.015,178311.015,178311.015,848426.07982,848426.07982 +21931200.0,297130.914,189775.335,554143.9782,144096.75863,144096.75863,144096.75863,139881.97650000002,517026.9325599999,448816.09152,351395.73903,535460.17376,210961.20900000003,210961.20900000003,210961.20900000003,98903.1015,297130.914,297130.914,139158.64390999998,118633.44239999999,176339.09215999997,307568.184,87290.77984,111017.46832,242658.087,242658.087,242658.087,242658.087,893373.61476,893373.61476 +21934800.0,203127.34500000003,100048.977,292143.01284,117714.67675000001,117714.67675000001,117714.67675000001,109033.694,241988.59352,199055.60576,181416.93969,276444.86048000003,110268.83099999998,110268.83099999998,110268.83099999998,42005.8905,203127.34500000003,203127.34500000003,69706.73164,40518.13995,60226.96357999999,105047.02949999999,29813.34742,37916.97541,164925.498,164925.498,164925.498,164925.498,610736.2173,610736.2173 +21938400.0,27754.218,19019.750999999997,55537.67292,75838.86189,75838.86189,75838.86189,66015.9325,74601.14112,43964.72,51570.547560000006,78583.69152000001,20697.809999999998,20697.809999999998,20697.809999999998,23581.572,27754.218,27754.218,41732.69516,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,17714.22,17714.22,17714.22,17714.22,83447.68212,83447.68212 +21942000.0,23462.343,17852.637,52129.700039999996,37602.59569,37602.59569,37602.59569,32202.8945,52087.30456,39061.669760000004,35403.57639,53948.306880000004,18908.337,18908.337,18908.337,11503.205,23462.343,23462.343,52876.931249999994,11552.0742,17171.23128,29949.822,8500.04472,10810.45956,10267.098,10267.098,10267.098,10267.098,70543.44462000001,70543.44462000001 +21945600.0,21822.036,27626.07,80668.1244,13820.18561,13820.18561,13820.18561,11271.011499999999,40669.63736,66137.53984,27759.203009999997,42299.73792,16055.550000000001,16055.550000000001,16055.550000000001,5205.8685000000005,21822.036,21822.036,50790.99779,4791.761549999999,7122.569019999998,12423.085499999997,3525.7899799999996,4484.14229,8208.399,8208.399,8208.399,8208.399,65611.58824,65611.58824 +21949200.0,25181.082,28370.517,82841.90964,8367.26066,8367.26066,8367.26066,6440.577499999999,38574.59576,99277.37792000001,26918.08749,41018.038080000006,22818.516,22818.516,22818.516,4530.7465,25181.082,25181.082,52236.3114,3111.99975,4625.737899999999,8068.1475,2289.8170999999998,2912.2170499999997,10226.754,10226.754,10226.754,10226.754,75711.11988,75711.11988 +21952800.0,24907.701,28407.243000000002,82949.14956,2886.4847000000004,2886.4847000000004,2886.4847000000004,1610.1435,35753.98672,144871.42144,24873.89625,37903.08,25502.28,25502.28,25502.28,2833.831,24907.701,24907.701,52375.6571,1409.4486,2095.03224,3654.126,1037.07576,1318.96548,12796.953,12796.953,12796.953,12796.953,74889.15434000001,74889.15434000001 +21956400.0,27571.268999999997,28854.078,84253.90776,2896.19979,2896.19979,2896.19979,1610.1435,36156.64304,157877.30816000002,30530.58939,46522.80288,26083.35,26083.35,26083.35,2863.4095,27571.268999999997,27571.268999999997,53181.899679999995,1423.51425,2115.9397,3690.5925,1047.4253,1332.12815,19527.012,19527.012,19527.012,19527.012,82897.61545999999,82897.61545999999 +21960000.0,30825.804,32068.476000000002,93639.94992,4786.91829,4786.91829,4786.91829,3220.2905,42817.66528,172725.6576,36321.75939,55347.442879999995,28409.136,28409.136,28409.136,3554.4425,30825.804,30825.804,56475.50389,2168.9046,3223.90264,5623.086,1595.8853600000002,2029.6662800000001,22105.739999999998,22105.739999999998,22105.739999999998,22105.739999999998,92682.91735999999,92682.91735999999 +21963600.0,56206.64400000001,38381.769,112074.76548,18802.68775,18802.68775,18802.68775,11271.011499999999,242192.04744,177800.8512,55996.39248,85327.83616,30158.487,30158.487,30158.487,6447.1224999999995,56206.64400000001,56206.64400000001,116223.69810999997,6641.8623,9872.59532,17219.643,4887.09868,6215.471140000001,54125.574,54125.574,54125.574,54125.574,168994.64296000003,168994.64296000003 +21967200.0,214360.266,115106.256,336110.26752,114050.40284000001,114050.40284000001,114050.40284000001,90168.099,741770.33896,282047.60384,328731.61125,500924.36000000004,109175.59500000002,109175.59500000002,109175.59500000002,40658.7125,214360.266,214360.266,909477.24348,44999.614799999996,66888.31632,116665.66799999999,33110.82768,42110.75064,218712.849,218712.849,218712.849,218712.849,644509.86644,644509.86644 +21970800.0,182502.813,229593.588,670413.2769599999,176975.63499000002,176975.63499000002,176975.63499000002,149743.45400000003,1022366.6059999999,265834.39104,824241.07941,1255986.40672,168201.768,168201.768,168201.768,99226.855,182502.813,182502.813,133329.99172999998,151443.37125,225108.4185,392630.9625,111432.40650000001,141721.08075000002,248858.316,248858.316,248858.316,248858.316,548725.12442,548725.12442 +21974400.0,559293.6359999999,88839.492,259411.31664,149216.05347,149216.05347,149216.05347,121480.611,353705.55679999996,197518.21824000002,312022.40978999995,475462.71968,202304.577,202304.577,202304.577,73589.481,559293.6359999999,559293.6359999999,154121.53418999998,81145.9134,120616.88856,210378.29400000002,59707.36344000001,75936.54612000001,495321.099,495321.099,495321.099,495321.099,1681609.5322399999,1681609.5322399999 +21978000.0,280559.151,107846.11499999999,314910.65579999995,162763.97643,162763.97643,162763.97643,136862.2955,203438.5024,972879.5033600001,84969.38415000001,129477.15680000001,229304.55299999999,229304.55299999999,229304.55299999999,121177.64749999999,280559.151,280559.151,95146.93707999999,204586.641,304101.6244,530409.81,150535.3556,191452.6838,76879.40400000001,76879.40400000001,76879.40400000001,76879.40400000001,843547.84734,843547.84734 +21981600.0,25869.722999999998,10042.794,29324.958479999998,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31581.25632,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,25869.722999999998,25869.722999999998,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,77781.63382,77781.63382 +21985200.0,25022.858999999997,47399.556,138406.70351999998,96981.18507,96981.18507,96981.18507,91963.62,58498.14704,27245.94624,47973.77214,73102.89088,16271.202000000001,16271.202000000001,16271.202000000001,30483.495,25022.858999999997,25022.858999999997,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,75235.39606,75235.39606 +21988800.0,27692.595,10190.442000000001,29756.090640000002,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,75817.60728,26471.5296,40732.447770000006,62068.49184000001,29262.714,29262.714,29262.714,29399.083000000006,27692.595,27692.595,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,18759.588,18759.588,18759.588,18759.588,83262.40229999999,83262.40229999999 +21992400.0,15863.868,6376.842000000001,18620.37864,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38538.34688,18506.68416,32585.957250000003,49654.79200000001,10211.037,10211.037,10211.037,20705.7725,15863.868,15863.868,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14198.091,14198.091,14198.091,14198.091,47697.36312,47697.36312 +21996000.0,30249.795,12488.307,36465.85644,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,72495.08528,15936.305920000003,34319.04336,52295.68512000001,10845.633000000002,10845.633000000002,10845.633000000002,17829.9695,30249.795,30249.795,32869.635239999996,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,14593.994999999999,14593.994999999999,14593.994999999999,14593.994999999999,90951.05029999999,90951.05029999999 +21999600.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +22003200.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +22006800.0,80635.269,5873.043000000001,17149.28556,81294.39571000001,81294.39571000001,81294.39571000001,70846.3665,74371.98535999999,22619.26976,88758.85242000001,135251.58464000002,12490.064999999999,12490.064999999999,12490.064999999999,25307.054500000002,80635.269,80635.269,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,82694.39700000001,82694.39700000001,82694.39700000001,82694.39700000001,242443.37545999998,242443.37545999998 +22010400.0,66592.089,10804.241999999998,31548.386639999997,143484.42713,143484.42713,143484.42713,125591.28399999999,111936.0392,40097.804800000005,108100.0368,164723.8656,23246.493000000002,23246.493000000002,23246.493000000002,44862.503,66592.089,66592.089,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,53215.308000000005,53215.308000000005,53215.308000000005,53215.308000000005,200220.21426,200220.21426 +22014000.0,81158.784,21747.771,63503.49132,146698.59974,146698.59974,146698.59974,127201.42749999999,150657.5752,52478.102399999996,119032.09458,181382.23936,26551.517999999996,26551.517999999996,26551.517999999996,45437.66499999999,81158.784,81158.784,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,57011.736000000004,57011.736000000004,57011.736000000004,57011.736000000004,244017.41056,244017.41056 +22017600.0,95391.192,44184.479999999996,129018.6816,132765.19487,132765.19487,132765.19487,112710.12550000001,161305.29095999998,91128.95423999999,120726.59865000001,183964.34080000003,37909.758,37909.758,37909.758,44677.178,95391.192,95391.192,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,56988.83099999999,56988.83099999999,56988.83099999999,56988.83099999999,286809.51728,286809.51728 +22021200.0,72927.48300000001,30094.431000000004,87875.73852,110263.93532,110263.93532,110263.93532,93388.3895,75323.70679999999,78394.00128000001,55353.99765,84348.9488,30191.210999999996,30191.210999999996,30191.210999999996,33359.297999999995,72927.48300000001,72927.48300000001,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,28255.163999999997,28255.163999999997,28255.163999999997,28255.163999999997,219268.63222,219268.63222 +22024800.0,17987.127,7192.1849999999995,21001.1802,75023.18098,75023.18098,75023.18098,66015.9325,43890.899600000004,21077.05152,37111.78317,56551.288640000006,11629.236,11629.236,11629.236,23581.572,17987.127,17987.127,8854.22876,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,54081.295179999994,54081.295179999994 +22028400.0,10286.784,7152.762000000001,20886.06504,36596.67484,36596.67484,36596.67484,32202.8945,26282.446959999997,10281.4912,18103.308510000003,27585.993920000004,5954.198999999999,5954.198999999999,5954.198999999999,11503.205,10286.784,10286.784,7385.721329999999,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7883.508000000001,7883.508000000001,7883.508000000001,7883.508000000001,30928.930559999997,30928.930559999997 +22032000.0,5094.171,10126.365,29568.9858,12808.83538,12808.83538,12808.83538,11271.011499999999,19661.3528,3598.5164800000002,6336.15822,9655.098240000001,2572.854,2572.854,2572.854,4026.1234999999997,5094.171,5094.171,16245.44792,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,2759.229,2759.229,2759.229,2759.229,15316.47414,15316.47414 +22035600.0,4439.58,11525.016,33653.04672,7319.33334,7319.33334,7319.33334,6440.577499999999,23669.44408,10186.704640000002,3620.65977,5517.19584,1719.9630000000002,1719.9630000000002,1719.9630000000002,2300.6409999999996,4439.58,4439.58,18194.73409,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,1576.701,1576.701,1576.701,1576.701,13348.337199999998,13348.337199999998 +22039200.0,3933.807,11084.463,32366.63196,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,21705.0024,17473.41056,905.16615,1379.3008,1024.119,1024.119,1024.119,575.162,3933.807,3933.807,17751.882199999996,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,1170.462,1170.462,1170.462,1170.462,11827.64638,11827.64638 +22042800.0,4743.24,10962.909,32011.69428,1829.8353700000002,1829.8353700000002,1829.8353700000002,1610.1435,24979.37944,17167.454080000003,2886.6301799999997,4398.6745599999995,4036.6889999999994,4036.6889999999994,4036.6889999999994,575.162,4743.24,4743.24,18240.770599999996,572.0867999999999,850.3611199999999,1483.188,420.94288,535.36024,1528.6409999999998,1528.6409999999998,1528.6409999999998,1528.6409999999998,14261.341599999998,14261.341599999998 +22046400.0,5749.911,11137.641,32521.91172,3902.8247500000007,3902.8247500000007,3902.8247500000007,3220.2905,26174.582159999998,17854.591360000002,9457.90314,14412.04288,5497.485,5497.485,5497.485,1150.3204999999998,5749.911,5749.911,18558.74527,1144.1695499999998,1700.7162199999998,2966.3655,841.8827799999999,1070.71669,1932.5970000000002,1932.5970000000002,1932.5970000000002,1932.5970000000002,17288.06574,17288.06574 +22050000.0,19624.368000000002,12094.710000000001,35316.5532,13671.121860000001,13671.121860000001,13671.121860000001,11271.011499999999,98168.90496000001,21325.344000000005,17020.040940000003,25935.30048,10306.194,10306.194,10306.194,4026.1234999999997,19624.368000000002,19624.368000000002,46202.27221999999,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,14381.478,14381.478,14381.478,14381.478,59003.93312,59003.93312 +22053600.0,90693.177,49561.881,144720.69252,105348.18931999999,105348.18931999999,105348.18931999999,90168.099,312350.78232,33310.07744,109631.02604999999,167056.80159999998,29185.344,29185.344,29185.344,32208.977499999994,90693.177,90693.177,530267.08878,32036.800049999998,47620.132419999994,83058.3705,23572.75658,29980.11659,92167.26299999999,92167.26299999999,92167.26299999999,92167.26299999999,272684.15218,272684.15218 +22057200.0,112035.47099999999,168931.91700000002,493281.19764,172407.3978,172407.3978,172407.3978,149743.45400000003,577495.11016,47808.917760000004,505223.39028,769864.21376,74999.05500000001,74999.05500000001,74999.05500000001,53489.9085,112035.47099999999,112035.47099999999,59690.87825999999,100041.41519999999,148703.53567999997,259366.63199999998,73610.72032,93619.00336,163829.901,163829.901,163829.901,163829.901,336853.31613999995,336853.31613999995 +22060800.0,339469.88999999996,25554.963,74620.49196,140104.71541000003,140104.71541000003,140104.71541000003,115930.41599999998,172757.37912,96805.49632,162686.15138999998,247902.70687999998,79695.393,79695.393,79695.393,41411.5415,339469.88999999996,339469.88999999996,51162.11334,44748.693,66515.3412,116015.12999999999,32926.1988,41875.937399999995,203143.689,203143.689,203143.689,203143.689,1020672.8025999998,1020672.8025999998 +22064400.0,198861.07200000001,75861.207,221514.72444,158471.87653,158471.87653,158471.87653,136862.2955,149720.85088,630447.22496,78115.17945,119032.6544,151744.05,151744.05,151744.05,48888.6265,198861.07200000001,198861.07200000001,60460.99773999999,120515.25869999999,179136.26108,312446.967,88675.42491999999,112778.47666,54742.583999999995,54742.583999999995,54742.583999999995,54742.583999999995,597908.95648,597908.95648 +22068000.0,24758.646,8142.174,23775.14808,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,24758.646,24758.646,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,74440.99564,74440.99564 +22071600.0,24304.02,25957.815000000002,75796.81980000001,96981.18507,96981.18507,96981.18507,85337.66500000001,56887.439999999995,27245.94624,47973.77214,73102.89088,15934.689,15934.689,15934.689,30483.495,24304.02,24304.02,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,20891.298,20891.298,20891.298,20891.298,73074.0868,73074.0868 +22075200.0,26727.117000000002,9536.613000000001,27846.90996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,70605.51824,29701.181440000008,40732.447770000006,62068.49184000001,26667.084000000003,26667.084000000003,26667.084000000003,25996.4075,26727.117000000002,26727.117000000002,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,18034.623,18034.623,18034.623,18034.623,80359.53178,80359.53178 +22078800.0,16981.302,6228.398999999999,18186.925079999997,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38759.2624,19428.764160000002,32585.957250000003,49654.79200000001,10329.372000000001,10329.372000000001,10329.372000000001,20705.7725,16981.302,16981.302,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14335.017,14335.017,14335.017,14335.017,51057.11468,51057.11468 +22082400.0,27250.430999999997,6185.826,18062.61192,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,59324.49536,15936.305920000003,35115.51519,53509.35648,10463.223,10463.223,10463.223,17829.9695,27250.430999999997,27250.430999999997,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,14917.521,14917.521,14917.521,14917.521,81932.96254,81932.96254 +22086000.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,8797.848,8797.848,8797.848,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +22089600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +22093200.0,73144.761,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,80443.10336000001,22619.26976,94611.09777000001,144169.29184000002,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,73144.761,73144.761,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,85205.697,85205.697,85205.697,85205.697,219921.91473999998,219921.91473999998 +22096800.0,67155.333,14389.266,42016.65671999999,143272.75050000002,143272.75050000002,143272.75050000002,125591.28399999999,132626.67448000002,46010.13824000001,111368.10173999998,169703.77408,23255.832000000002,23255.832000000002,23255.832000000002,44862.503,67155.333,67155.333,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,54404.199,54404.199,54404.199,54404.199,201913.70122,201913.70122 +22100400.0,106553.571,43436.847,126835.59324,147157.95622,147157.95622,147157.95622,127201.42749999999,187064.44472,100922.31423999999,135185.51760000002,205996.97920000003,40563.516,40563.516,40563.516,46320.7465,106553.571,106553.571,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,64964.475000000006,64964.475000000006,64964.475000000006,64964.475000000006,320371.07013999997,320371.07013999997 +22104000.0,153408.957,73110.89700000001,213483.81924,132685.89906,132685.89906,132685.89906,118676.1835,209317.95159999997,143762.21632,159877.43877,243622.76384000003,85777.287,85777.287,85777.287,46912.635,153408.957,153408.957,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,74584.275,74584.275,74584.275,74584.275,461249.59738,461249.59738 +22107600.0,132682.215,65625.393,191626.14755999998,112270.50637,112270.50637,112270.50637,93388.3895,99698.63456,120543.82848000001,69655.2654,106141.3568,76663.776,76663.776,76663.776,33359.297999999995,132682.215,132682.215,14799.1675,34199.2125,50834.384999999995,88664.625,25163.865,32003.7075,41994.285,41994.285,41994.285,41994.285,398931.1931,398931.1931 +22111200.0,19863.192000000003,18216.213,53191.34196,75023.18098,75023.18098,75023.18098,66015.9325,67395.61480000001,39459.81248,37111.78317,56551.288640000006,12522.807,12522.807,12522.807,23581.572,19863.192000000003,19863.192000000003,37444.98901,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,59721.99728,59721.99728 +22114800.0,12839.64,19517.295000000002,56990.5014,36596.67484,36596.67484,36596.67484,32202.8945,55493.578,45084.11968000001,18240.3018,27794.745600000002,9630.945,9630.945,9630.945,11503.205,12839.64,12839.64,33509.283469999995,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,9749.418,9749.418,9749.418,9749.418,38604.5176,38604.5176 +22118400.0,11135.022,18630.642,54401.47464,12808.83538,12808.83538,12808.83538,11271.011499999999,50105.16768,40814.64448,19681.50618,29990.866560000002,14022.609,14022.609,14022.609,4026.1234999999997,11135.022,11135.022,39441.03799999999,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,5097.3060000000005,5097.3060000000005,5097.3060000000005,5097.3060000000005,33479.29948,33479.29948 +22122000.0,16444.731,33058.218,96529.99656,8071.97402,8071.97402,8071.97402,6440.577499999999,48983.50224000001,111657.82784000003,26515.14474,40404.030080000004,25647.783000000003,25647.783000000003,25647.783000000003,2300.6409999999996,16444.731,16444.731,79113.03296,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,4858.368,4858.368,4858.368,4858.368,49443.824539999994,49443.824539999994 +22125600.0,29135.811,44803.776,130827.02592,2661.8288400000006,2661.8288400000006,2661.8288400000006,1610.1435,48325.188239999996,231372.33920000002,31835.95002,48511.92384,43749.744,43749.744,43749.744,1033.1299999999999,29135.811,29135.811,81938.37885999998,1799.24085,2674.42714,4664.6985,1323.88586,1683.73403,10023.09,10023.09,10023.09,10023.09,87601.67173999999,87601.67173999999 +22129200.0,36791.556000000004,44979.267,131339.45964,2672.7852800000005,2672.7852800000005,2672.7852800000005,1610.1435,52095.58567999999,299839.92896,37438.75002,57049.52384,46140.588,46140.588,46140.588,3884.0164999999993,36791.556000000004,36791.556000000004,82297.26739,1933.18245,2873.52058,5011.9545,1422.44042,1809.07691,18677.748,18677.748,18677.748,18677.748,110619.94504,110619.94504 +22132800.0,48106.176,50472.78599999999,147380.53512,5076.567980000001,5076.567980000001,5076.567980000001,3220.2905,64042.00648,317775.40224,47485.12587,72358.28704000001,48911.448,48911.448,48911.448,4619.950999999999,48106.176,48106.176,86454.81013,2575.0305,3827.5761999999995,6676.004999999999,1894.7137999999998,2409.7198999999996,32375.409000000007,32375.409000000007,32375.409000000007,32375.409000000007,144639.23583999998,144639.23583999998 +22136400.0,57300.96,53872.893000000004,157308.84756,14446.9534,14446.9534,14446.9534,11271.011499999999,77712.2376,327897.96928,62005.86882,94485.13344,51389.64899999999,51389.64899999999,51389.64899999999,35456.26700000001,57300.96,57300.96,99139.18897999999,5772.226049999999,8579.95082,14965.0305,4247.21818,5401.66339,39463.842,39463.842,39463.842,39463.842,172284.8864,172284.8864 +22140000.0,514200.243,268807.941,784919.1877199999,108854.45769000002,108854.45769000002,108854.45769000002,118093.59099999999,641082.35584,435329.744,413488.95357,630078.4054400001,219234.74399999998,219234.74399999998,219234.74399999998,297035.207,514200.243,514200.243,532478.6642499999,68489.82135,101804.62333999999,177566.2035,50394.97966,64092.943929999994,401190.31499999994,401190.31499999994,401190.31499999994,401190.31499999994,1546028.73062,1546028.73062 +22143600.0,656614.068,508868.283,1485895.38636,213364.71541,213364.71541,213364.71541,265558.59400000004,846678.4988000001,839643.04512,526407.68334,802145.04128,400370.895,400370.895,400370.895,117318.20100000002,656614.068,656614.068,122356.60684,144147.9564,214264.36976,373716.92400000006,106064.42224000001,134894.01352,562684.338,562684.338,562684.338,562684.338,1974219.6311199998,1974219.6311199998 +22147200.0,469635.621,231345.36599999998,675528.4687199999,143251.41963000002,143251.41963000002,143251.41963000002,160224.351,557333.97016,596045.21984,549334.1477399999,837080.6060799999,335906.796,335906.796,335906.796,56434.861,469635.621,469635.621,200652.61800999998,43829.492849999995,65149.02393999999,113632.01849999999,32249.84906,41015.74763,323550.909,323550.909,323550.909,323550.909,1412037.76714,1412037.76714 +22150800.0,280385.295,125804.115,367348.0158,167773.22661,167773.22661,167773.22661,180948.992,512353.91055999993,1074327.39776,339103.04127,516728.44383999996,439527.15599999996,439527.15599999996,439527.15599999996,315635.2185,280385.295,280385.295,175109.05529,231217.71975,343686.58589999995,599453.3475,170130.5691,216374.11304999999,223499.18700000003,223499.18700000003,223499.18700000003,223499.18700000003,843025.1203,843025.1203 +22154400.0,81103.83600000001,96936.594,283054.85448,118028.59585,118028.59585,118028.59585,98218.8235,543343.77712,31358.54272,293531.77875,447286.52,60883.437,60883.437,60883.437,39822.950999999994,81103.83600000001,81103.83600000001,16552.44617,120152.15594999999,178596.53797999996,311505.58949999994,88408.25301999999,112438.68420999999,87716.09700000001,87716.09700000001,87716.09700000001,87716.09700000001,243852.20024,243852.20024 +22158000.0,25407.834000000003,8503.125,24829.125,96985.75975000001,96985.75975000001,96985.75975000001,85337.66500000001,78290.03551999999,27245.94624,65943.47802,100485.29984,15257.76,15257.76,15257.76,30483.495,25407.834000000003,25407.834000000003,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,25861.161,25861.161,25861.161,25861.161,76392.88756,76392.88756 +22161600.0,34255.070999999996,12561.632999999998,36679.96835999999,82666.36421999999,82666.36421999999,82666.36421999999,72456.51000000001,86955.92976,28808.95616,62849.867849999995,95771.2272,14367.855,14367.855,14367.855,25882.213000000003,34255.070999999996,34255.070999999996,9718.056659999998,27064.72035,40229.53494,70167.7935,19914.28806,25327.23213,32477.301,32477.301,32477.301,32477.301,102993.58013999999,102993.58013999999 +22165200.0,15218.432999999999,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38734.384,18506.68416,33380.6613,50865.7696,10211.037,10211.037,10211.037,20705.7725,15218.432999999999,15218.432999999999,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,45756.75521999999,45756.75521999999 +22168800.0,14020.05,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,36485.668639999996,15936.305920000003,29501.953950000003,44955.358400000005,8792.835,8792.835,8792.835,17829.9695,14020.05,14020.05,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12913.244999999999,12913.244999999999,12913.244999999999,12913.244999999999,42153.61699999999,42153.61699999999 +22172400.0,10159.365,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,22332.14256,34029.93152,6807.357,6807.357,6807.357,13803.846000000001,10159.365,10159.365,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,30545.824099999998,30545.824099999998 +22176000.0,11833.503,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29341.20536,13880.007679999999,25451.21649,38782.806079999995,7658.277,7658.277,7658.277,15529.3285,11833.503,11833.503,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,35579.39902,35579.39902 +22179600.0,20113.454999999998,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,55587.187359999996,22619.26976,41932.93461,63897.805120000005,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,20113.454999999998,20113.454999999998,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,19497.627,19497.627,19497.627,19497.627,60474.454699999995,60474.454699999995 +22183200.0,56900.733,16287.681,47560.02852,142727.02862,142727.02862,142727.02862,125591.28399999999,143624.288,52873.710080000004,95111.87216999999,144932.37664,22733.244,22733.244,22733.244,44862.503,56900.733,56900.733,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,54971.799,54971.799,54971.799,54971.799,171081.53722,171081.53722 +22186800.0,115178.95199999999,38176.26,111474.6792,147923.57206,147923.57206,147923.57206,127201.42749999999,183628.7844,93340.58624,150956.8683,230029.5136,37765.158,37765.158,37765.158,45437.66499999999,115178.95199999999,115178.95199999999,17060.589,48513.9861,72112.14724,125777.001,35696.71076,45399.50798,74259.801,74259.801,74259.801,74259.801,346304.71567999996,346304.71567999996 +22190400.0,162363.6,54628.869,159516.29747999998,132793.17205,132793.17205,132793.17205,113891.03950000001,125683.10720000001,137614.30912000002,118595.37081,180716.75552,56448.55799999999,56448.55799999999,56448.55799999999,42086.2645,162363.6,162363.6,15116.978629999998,54247.2309,80634.15556,140640.969,39915.24644,50764.69262,74411.088,74411.088,74411.088,74411.088,488173.224,488173.224 +22194000.0,79108.40999999999,17595.483,51378.810359999996,110083.01161000002,110083.01161000002,110083.01161000002,93388.3895,102302.2876,41322.087680000004,66979.20873,102063.55616000001,20425.719,20425.719,20425.719,33359.297999999995,79108.40999999999,79108.40999999999,32837.35533,33400.106999999996,49646.57879999999,86592.86999999998,24575.881199999996,31255.902599999994,41938.18199999999,41938.18199999999,41938.18199999999,41938.18199999999,237852.61939999997,237852.61939999997 +22197600.0,21098.630999999998,23020.574999999997,67220.079,75023.18098,75023.18098,75023.18098,66015.9325,79233.4408,55252.04544,37111.78317,56551.288640000006,13445.553000000002,13445.553000000002,13445.553000000002,23581.572,21098.630999999998,21098.630999999998,40946.85178999999,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,17677.539,17677.539,17677.539,17677.539,63436.55053999999,63436.55053999999 +22201200.0,16786.097999999998,21989.328,64208.837759999995,36955.90118000001,36955.90118000001,36955.90118000001,32202.8945,68320.34376,52086.61824000001,30277.531199999998,46137.1904,17453.199,17453.199,17453.199,11503.205,16786.097999999998,16786.097999999998,43552.06804,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,10491.576000000001,10491.576000000001,10491.576000000001,10491.576000000001,50470.20132,50470.20132 +22204800.0,20480.925,35868.306,104735.45352,13710.470620000002,13710.470620000002,13710.470620000002,11271.011499999999,55413.47072,160890.58944,30842.63637,46998.303040000006,34432.026,34432.026,34432.026,4026.1234999999997,20480.925,20480.925,86265.76269999998,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,7240.329,7240.329,7240.329,7240.329,61579.31449999999,61579.31449999999 +22208400.0,35472.306,48740.586,142322.51112,8278.83584,8278.83584,8278.83584,6440.577499999999,57129.6248,297265.89504000003,40431.562920000004,61610.000640000006,48662.17199999999,48662.17199999999,48662.17199999999,3168.1055,35472.306,35472.306,89098.01095000001,3704.2353,5506.048519999999,9603.573,2725.5854799999997,3466.43254,15574.772999999997,15574.772999999997,15574.772999999997,15574.772999999997,106653.40003999998,106653.40003999998 +22212000.0,42627.015,50763.876000000004,148230.51792,3545.0025600000004,3545.0025600000004,3545.0025600000004,1610.1435,65332.04496,330001.28,45745.461299999995,69707.36959999999,50252.68499999999,50252.68499999999,50252.68499999999,9173.668,42627.015,42627.015,88815.82748999998,2060.3808,3062.5907199999997,5341.728,1516.0332799999999,1928.10944,27149.976000000002,27149.976000000002,27149.976000000002,27149.976000000002,128165.2251,128165.2251 +22215600.0,58195.926,56132.861999999994,163907.95703999998,3597.1758900000004,3597.1758900000004,3597.1758900000004,1610.1435,73733.77264,337356.89984,57304.73805000001,87321.5056,51288.261,51288.261,51288.261,39674.6945,58195.926,58195.926,106337.05575999999,2583.4139999999998,3840.0375999999997,6697.74,1900.8824,2417.5652,38829.648,38829.648,38829.648,38829.648,174975.75084,174975.75084 +22219200.0,62656.68000000001,59564.742,173929.04664000002,5479.571240000001,5479.571240000001,5479.571240000001,3220.2905,82716.65624,345238.63296,65010.66012000001,99063.86304000001,53632.62300000001,53632.62300000001,53632.62300000001,44093.77,62656.68000000001,62656.68000000001,119925.63284,20803.8294,30923.222959999996,53935.85399999999,15307.509039999999,19468.27492,44440.29,44440.29,44440.29,44440.29,188387.7512,188387.7512 +22222800.0,66137.784,62765.46,183275.1432,14641.52789,14641.52789,14641.52789,11907.035,98498.52623999999,347156.5267200001,75510.15276,115063.08992,57489.912,57489.912,57489.912,49437.661,66137.784,66137.784,120994.34749999999,25562.9115,37997.2166,66274.215,18809.2534,23921.8357,47033.592,47033.592,47033.592,47033.592,198854.27055999998,198854.27055999998 +22226400.0,561286.497,362315.841,1057962.25572,109118.72279,109118.72279,109118.72279,132673.65649999998,762562.9931999999,514560.1344,471921.12954,719117.91168,267113.454,267113.454,267113.454,392629.104,561286.497,561286.497,649020.03881,88563.97844999998,131643.24697999997,229610.31449999998,65165.59401999999,82878.38970999999,473870.30999999994,473870.30999999994,473870.30999999994,473870.30999999994,1687601.40098,1687601.40098 +22230000.0,813326.0610000001,690393.075,2015947.7789999999,224201.15553000002,224201.15553000002,224201.15553000002,386787.702,1154949.5856,1133718.8480000002,774545.6634300001,1180260.05856,513378.51599999995,513378.51599999995,513378.51599999995,170509.2445,813326.0610000001,813326.0610000001,196042.97374999998,229568.55569999997,341235.23587999993,595177.737,168917.11012,214830.82126,757987.878,757987.878,757987.878,757987.878,2445400.35674,2445400.35674 +22233600.0,704740.6919999999,400766.76300000004,1170238.94796,163536.41359,163536.41359,163536.41359,198529.1525,942351.9600799999,869046.48448,886951.7659800001,1351545.5481600002,560540.46,560540.46,560540.46,98269.95499999999,704740.6919999999,704740.6919999999,317512.7127899999,98706.83489999999,146719.78916,255906.60899999997,72628.73284,92370.09981999999,488175.603,488175.603,488175.603,488175.603,2118920.34728,2118920.34728 +22237200.0,405430.113,227140.70999999996,663250.8731999999,181025.14661000003,181025.14661000003,181025.14661000003,265289.8885,971828.3322399999,1673634.39808,619535.0147700001,944053.3558400002,686012.52,686012.52,686012.52,590409.5364999999,405430.113,405430.113,324385.36585,408600.33254999993,607351.6054199999,1059334.1955,300649.13357999997,382369.20008999994,378843.59400000004,378843.59400000004,378843.59400000004,378843.59400000004,1218993.2064200002,1218993.2064200002 +22240800.0,131080.47,141718.968,413819.38655999996,125022.17046000001,125022.17046000001,125022.17046000001,120823.017,746118.0612799999,93294.23744,437094.44352000003,666048.67584,119279.31,119279.31,119279.31,60125.96800000001,131080.47,131080.47,24250.37979,197531.51669999998,293614.74828,512118.747,145344.17772,184850.48106,129159.59700000001,129159.59700000001,129159.59700000001,129159.59700000001,394115.27979999996,394115.27979999996 +22244400.0,24621.881999999998,7074.348,20657.09616,97308.14852000002,97308.14852000002,97308.14852000002,85337.66500000001,95838.94352000002,27245.94624,68328.88944,104120.21248,15240.846000000001,15240.846000000001,15240.846000000001,30483.495,24621.881999999998,24621.881999999998,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,24437.126999999997,24437.126999999997,24437.126999999997,24437.126999999997,74029.79187999999,74029.79187999999 +22248000.0,22109.844,6950.654999999999,20295.912599999996,82342.51839000001,82342.51839000001,82342.51839000001,72456.51000000001,64142.734800000006,23133.34976,47844.2895,72905.584,12763.794,12763.794,12763.794,25882.213000000003,22109.844,22109.844,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,22438.115999999998,22438.115999999998,22438.115999999998,22438.115999999998,66476.93096,66476.93096 +22251600.0,19276.878,6042.564,17644.28688,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,51825.9704,18506.68416,38097.80835,58053.8032,10211.037,10211.037,10211.037,20705.7725,19276.878,19276.878,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,18522.705,18522.705,18522.705,18522.705,57959.14652,57959.14652 +22255200.0,13052.733,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33232.99888,15936.305920000003,28770.803040000003,43841.22368,8792.835,8792.835,8792.835,17829.9695,13052.733,13052.733,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,39245.21722,39245.21722 +22258800.0,10160.235,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,22392.478919999998,34121.87264,6807.357,6807.357,6807.357,13803.846000000001,10160.235,10160.235,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,30548.439899999998,30548.439899999998 +22262400.0,12040.599,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29573.911839999997,13880.007679999999,25652.555040000003,39089.60768000001,7658.277,7658.277,7658.277,15529.3285,12040.599,12040.599,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,36202.06766,36202.06766 +22266000.0,20252.499000000003,5900.411999999999,17229.203039999997,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,58125.52584,22619.26976,42065.952809999995,64100.49952,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,20252.499000000003,20252.499000000003,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,19013.471999999998,19013.471999999998,19013.471999999998,19013.471999999998,60892.513660000004,60892.513660000004 +22269600.0,54696.384000000005,16310.103,47625.50076,142727.02862,142727.02862,142727.02862,125591.28399999999,139259.89832,48254.4864,94111.90278,143408.61376,22611.027000000002,22611.027000000002,22611.027000000002,44862.503,54696.384000000005,54696.384000000005,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,52245.28199999999,52245.28199999999,52245.28199999999,52245.28199999999,164453.79456,164453.79456 +22273200.0,91286.20499999999,30996.267,90509.09964,146944.06551000001,146944.06551000001,146944.06551000001,127201.42749999999,165925.64784,80897.45664,136451.9919,207926.84480000002,26222.601000000002,26222.601000000002,26222.601000000002,45437.66499999999,91286.20499999999,91286.20499999999,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,67445.97899999999,67445.97899999999,67445.97899999999,67445.97899999999,274467.1897,274467.1897 +22276800.0,132246.48,38953.743,113744.92956,131560.33649000002,131560.33649000002,131560.33649000002,112710.12550000001,97614.06408,105999.94496000001,108873.7545,165902.864,32756.808000000005,32756.808000000005,32756.808000000005,40583.1755,132246.48,132246.48,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,61571.145000000004,61571.145000000004,61571.145000000004,61571.145000000004,397621.0832,397621.0832 +22280400.0,61245.159,14349.408000000001,41900.271360000006,109033.96911,109033.96911,109033.96911,93388.3895,87060.54752,29816.313600000005,62852.78034,95775.66528,18734.409,18734.409,18734.409,33359.297999999995,61245.159,61245.159,20385.135939999996,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,31084.676999999996,31084.676999999996,31084.676999999996,31084.676999999996,184143.77805999998,184143.77805999998 +22284000.0,19913.07,19031.184,55571.05728,75023.18098,75023.18098,75023.18098,66015.9325,67005.07648,29117.23008,37111.78317,56551.288640000006,12390.642,12390.642,12390.642,23581.572,19913.07,19913.07,33083.58885,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,59871.96379999999,59871.96379999999 +22287600.0,12853.212000000001,17134.091999999997,50031.54863999999,36596.67484,36596.67484,36596.67484,32202.8945,52483.10471999999,37245.873920000005,18602.17506,28346.17152,8307.663,8307.663,8307.663,11503.205,12853.212000000001,12853.212000000001,29170.798149999995,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,9472.68,9472.68,9472.68,9472.68,38645.324080000006,38645.324080000006 +22291200.0,9522.855000000001,15263.582999999999,44569.662359999995,13170.035670000001,13170.035670000001,13170.035670000001,11271.011499999999,40896.92431999999,30158.45696,17588.416019999997,26801.395839999997,9723.294,9723.294,9723.294,4026.1234999999997,9522.855000000001,9522.855000000001,26625.8512,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,4504.347,4504.347,4504.347,4504.347,28632.0507,28632.0507 +22294800.0,9916.614,14686.185000000001,42883.660200000006,7872.527740000001,7872.527740000001,7872.527740000001,6440.577499999999,37083.04807999999,44199.95648,19718.75031,30047.61952,15174.909,15174.909,15174.909,2300.6409999999996,9916.614,9916.614,50867.36134999999,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,3284.2200000000003,3284.2200000000003,3284.2200000000003,3284.2200000000003,29815.95276,29815.95276 +22298400.0,17300.061,29954.595000000005,87467.4174,2379.2609500000003,2379.2609500000003,2379.2609500000003,1610.1435,33699.38128,104110.98112000003,19962.897149999997,30419.6528,18195.672,18195.672,18195.672,995.9179999999998,17300.061,17300.061,54309.936069999996,1079.93655,1605.23902,2799.8355,794.61998,1010.60729,3902.9220000000005,3902.9220000000005,3902.9220000000005,3902.9220000000005,52015.51674000001,52015.51674000001 +22302000.0,23075.565000000002,30288.045,88441.09139999999,2385.3049,2385.3049,2385.3049,1610.1435,36217.88128,162375.07840000003,24177.71454,36842.231680000004,28573.536,28573.536,28573.536,2931.8835,23075.565000000002,23075.565000000002,54935.06771999999,1469.91915,2184.91686,3810.9015,1081.57014,1375.55397,8684.582999999999,8684.582999999999,8684.582999999999,8684.582999999999,69380.5321,69380.5321 +22305600.0,29305.503,33161.13,96830.4996,4374.38716,4374.38716,4374.38716,3220.2905,40427.703680000006,204612.34816,28286.24778,43102.85376,32102.427000000003,32102.427000000003,32102.427000000003,3685.5840000000003,29305.503,29305.503,59836.77517999999,2123.7228,3156.7435199999995,5505.947999999999,1562.64048,1987.38504,14532.399,14532.399,14532.399,14532.399,88111.87902,88111.87902 +22309200.0,58143.24600000001,38604.49800000001,112725.13416,16352.958820000002,16352.958820000002,16352.958820000002,11271.011499999999,223712.83911999996,210516.22784000004,46916.93433,71492.47136,33982.293000000005,33982.293000000005,33982.293000000005,6591.0355,58143.24600000001,58143.24600000001,110027.31662,4996.513349999999,7426.916139999998,12953.923499999999,3676.4468599999996,4675.749529999999,52297.92,52297.92,52297.92,52297.92,174817.35964,174817.35964 +22312800.0,215381.265,114782.511,335164.93212,111521.48799000001,111521.48799000001,111521.48799000001,90168.099,744298.19464,304215.20128,291119.09232,443610.04544,112077.828,112077.828,112077.828,37115.393,215381.265,215381.265,1015550.9565499999,37528.21935,55782.68654,97295.38350000001,27613.356460000003,35119.00033,208852.398,208852.398,208852.398,208852.398,647579.6701,647579.6701 +22316400.0,194631.51299999998,255941.625,747349.5449999999,176690.63731,176690.63731,176690.63731,149743.45400000003,1168370.96264,314965.25056,903801.0954,1377220.7168,187750.506,187750.506,187750.506,178839.234,194631.51299999998,194631.51299999998,172135.66720999999,182554.6329,271352.81236,473289.789,134324.14964,170835.07622000002,264855.07200000004,264855.07200000004,264855.07200000004,264855.07200000004,585192.0824199999,585192.0824199999 +22320000.0,622589.562,103468.58699999998,302128.27403999993,149030.01377000002,149030.01377000002,149030.01377000002,122082.219,412467.5258399999,267439.24544,328117.78586999996,499989.00703999994,231819.96600000001,231819.96600000001,231819.96600000001,66687.726,622589.562,622589.562,156678.25121,76077.23715,113082.70805999999,197237.2815,55977.818940000005,71193.26637,541944.294,541944.294,541944.294,541944.294,1871919.2830800002,1871919.2830800002 +22323600.0,339041.22000000003,126520.16399999999,369438.87888,164290.26306,164290.26306,164290.26306,136862.2955,239942.67799999999,1407456.0684800001,92716.95531,141282.97952000002,320849.49,320849.49,320849.49,199987.256,339041.22000000003,339041.22000000003,113313.43646999999,277478.06715,412448.88006,719387.5815000001,204169.04694,259664.66037000003,89438.667,89438.667,89438.667,89438.667,1019383.9348,1019383.9348 +22327200.0,42107.112,12713.508000000002,37123.443360000005,111749.49346000001,111749.49346000001,111749.49346000001,98218.8235,65301.09296000001,40695.552,55215.09651,84137.28992000001,20293.923,20293.923,20293.923,35084.777,42107.112,42107.112,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,25103.925000000003,25103.925000000003,25103.925000000003,25103.925000000003,126602.05007999999,126602.05007999999 +22330800.0,53898.30600000001,108447.828,316667.65776,98520.03172000001,98520.03172000001,98520.03172000001,110608.729,92761.93512,98680.39232,48694.398479999996,74200.98816,33735.789000000004,33735.789000000004,33735.789000000004,40085.262,53898.30600000001,53898.30600000001,19142.385860000002,30863.9889,45876.84276,80017.749,22709.79924,28882.59702,23947.296,23947.296,23947.296,23947.296,162054.24004,162054.24004 +22334400.0,94041.93000000002,37277.352,108849.86783999999,85873.68702,85873.68702,85873.68702,76964.713,131127.97280000002,181134.00448000003,57050.40474000001,86933.95008000001,71128.716,71128.716,71128.716,42901.0015,94041.93000000002,94041.93000000002,69784.26402999999,54015.603299999995,80289.85972,140040.453,39744.81428,50547.93494,38131.308,38131.308,38131.308,38131.308,282752.73620000004,282752.73620000004 +22338000.0,46211.46,15738.999,45957.87708,66592.3632,66592.3632,66592.3632,57965.20799999999,55743.71104,75246.11264,40286.64843,61389.17856000001,27736.134000000002,27736.134000000002,27736.134000000002,20705.7725,46211.46,46211.46,30008.791540000002,25538.81805,37961.40362,66211.75050000001,18791.52538,23899.28899,20221.161,20221.161,20221.161,20221.161,138942.4564,138942.4564 +22341600.0,70302.97799999999,61028.697,178203.79524,56778.39662000001,56778.39662000001,56778.39662000001,52188.2725,171941.60704,22017.67104,86969.8494,132525.4848,29955.267,29955.267,29955.267,17829.9695,70302.97799999999,70302.97799999999,204070.58957999997,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,18253.032,18253.032,18253.032,18253.032,211377.62051999997,211377.62051999997 +22345200.0,12091.670999999998,32607.740999999998,95214.60372,69696.54813000001,69696.54813000001,69696.54813000001,88733.3545,62755.174159999995,31859.142400000004,24833.169690000002,37841.02048000001,29511.359999999997,29511.359999999997,29511.359999999997,93243.423,12091.670999999998,12091.670999999998,62859.72549999999,43763.939549999996,65051.58422,113462.0655,32201.61478,40954.40269,9655.212,9655.212,9655.212,9655.212,36355.62414,36355.62414 +22348800.0,13244.193,5757.933,16813.16436,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29436.65432,14605.05088,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,13244.193,13244.193,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10936.794,10936.794,10936.794,10936.794,39820.87362,39820.87362 +22352400.0,315272.871,122554.38,357858.78959999996,96179.02063,96179.02063,96179.02063,70846.3665,390541.05312000006,177236.85376,333123.04725000006,507616.0720000001,171085.164,171085.164,171085.164,46934.226500000004,315272.871,315272.871,9502.102089999998,32126.5359,47753.51756,83291.019,23638.78444,30064.09162,198861.318,198861.318,198861.318,198861.318,947920.4321399999,947920.4321399999 +22356000.0,196854.468,93350.052,272582.15183999995,152013.95462,152013.95462,152013.95462,134538.8555,289572.91935999994,338867.35936,234580.12179,357455.42368,161417.06399999998,161417.06399999998,161417.06399999998,77336.189,196854.468,196854.468,33490.59662,66052.26405,98181.39001999999,171246.61049999998,48601.418979999995,61811.87179,107052.16500000001,107052.16500000001,107052.16500000001,107052.16500000001,591875.76712,591875.76712 +22359600.0,279052.092,174103.182,508381.29144,157108.99633,157108.99633,157108.99633,149993.01099999997,417433.32456000004,499427.26207999996,313482.07443,477686.97056,220267.602,220267.602,220267.602,118173.21600000001,279052.092,279052.092,114045.72529999999,130035.18465,193286.86706,337128.2565,95680.20994,121687.24687,169506.153,169506.153,169506.153,169506.153,839016.6232799999,839016.6232799999 +22363200.0,319161.34500000003,194202.98699999996,567072.7220399999,142046.32519000003,142046.32519000003,142046.32519000003,162518.5555,589429.8626400001,528475.2083200001,365069.5414800001,556296.4441600001,263079.59400000004,263079.59400000004,263079.59400000004,158742.647,319161.34500000003,319161.34500000003,161075.99573,133761.72329999998,198826.06771999996,346789.65299999993,98422.20627999998,125174.55093999999,261585.054,261585.054,261585.054,261585.054,959611.7773,959611.7773 +22366800.0,248095.65000000002,125584.70999999999,366707.3532,118349.05951,118349.05951,118349.05951,117922.1785,325269.49888,300421.31264,212798.97597000003,324265.10624000005,166110.801,166110.801,166110.801,70518.9765,248095.65000000002,248095.65000000002,103944.01341999999,47959.8975,71288.539,124340.475,35289.011,44880.9905,210946.137,210946.137,210946.137,210946.137,745940.921,745940.921 +22370400.0,39669.177,45279.864,132217.20288,75824.80818,75824.80818,75824.80818,66015.9325,88641.99032,224971.33056,62311.79136,94951.30112,47803.10100000001,47803.10100000001,47803.10100000001,23581.572,39669.177,39669.177,84855.16285999998,24151.9401,35899.92084,62616.141,17771.05716,22601.44518,22885.017,22885.017,22885.017,22885.017,119271.99218,119271.99218 +22374000.0,42607.979999999996,47457.981,138577.30452,37833.36062,37833.36062,37833.36062,32202.8945,72043.35544,307610.50112000003,55554.684149999994,84654.7568,51035.841,51035.841,51035.841,16643.8475,42607.979999999996,42607.979999999996,86215.57035,12815.313749999998,19048.935499999996,33224.8875,9429.539499999999,11992.602249999998,24414.876,24414.876,24414.876,24414.876,128107.9932,128107.9932 +22377600.0,47079.585,48464.274000000005,141515.68008000002,14475.74865,14475.74865,14475.74865,11271.011499999999,60943.57696,331122.6816,54776.52767999999,83468.99455999999,51191.895000000004,51191.895000000004,51191.895000000004,43744.5855,47079.585,47079.585,88498.25205,5574.444299999999,8285.964119999999,14452.262999999999,4101.68988,5216.57874,35255.316000000006,35255.316000000006,35255.316000000006,35255.316000000006,141552.6189,141552.6189 +22381200.0,51550.206000000006,50278.452000000005,146813.07984,9083.73939,9083.73939,9083.73939,6440.577499999999,63537.77504000001,346378.33472,62854.84275,95778.80800000002,52915.614,52915.614,52915.614,46675.0935,51550.206000000006,51550.206000000006,91665.80059,20692.1061,30757.15524,53646.201,15225.30276,19363.723980000002,43793.61,43793.61,43793.61,43793.61,154994.28604,154994.28604 +22384800.0,53289.65700000001,56003.106,163529.06952000002,3654.11112,3654.11112,3654.11112,5312.895,79406.40408,353782.4249600001,69520.44078,105935.90976000001,56312.733,56312.733,56312.733,48832.864499999996,53289.65700000001,53289.65700000001,95753.46846,23397.174000000003,34778.0216,60659.34000000001,17215.6984,21895.133200000004,45053.606999999996,45053.606999999996,45053.606999999996,45053.606999999996,160224.23538,160224.23538 +22388400.0,60605.354999999996,61716.450000000004,180212.034,3744.9372400000007,3744.9372400000007,3744.9372400000007,6586.7970000000005,86315.53287999998,368803.03744,73445.03796,111916.24832,59532.07800000001,59532.07800000001,59532.07800000001,51878.1235,60605.354999999996,60605.354999999996,126158.93589,24526.265399999997,36456.325359999995,63586.613999999994,18046.48664,22951.739719999998,47055.647999999994,47055.647999999994,47055.647999999994,47055.647999999994,182220.10069999998,182220.10069999998 +22392000.0,65282.742,64973.01299999999,189721.19796,5557.24312,5557.24312,5557.24312,8124.434500000001,91488.16687999999,362394.77184000006,73606.75119000001,112162.66848000001,60184.11,60184.11,60184.11,53389.196,65282.742,65282.742,124367.61011999998,30703.3983,45638.13772,79601.403,22591.63628,28732.31594,46720.461,46720.461,46720.461,46720.461,196283.44428,196283.44428 +22395600.0,97198.554,78442.20300000001,229051.23276,23843.13041,23843.13041,23843.13041,15685.085499999997,398366.87503999996,329723.50272000005,107579.63811,163930.87712000002,56311.950000000004,56311.950000000004,56311.950000000004,51511.4635,97198.554,97198.554,243927.16829,31684.46625,47096.4165,82144.9125,23313.508500000004,29650.401750000005,90955.728,90955.728,90955.728,90955.728,292243.65236,292243.65236 +22399200.0,427927.725,209666.772,612226.97424,123507.57694000001,123507.57694000001,123507.57694000001,117382.32100000001,1587184.32008,556207.4905600001,773461.89354,1178608.59968,275155.314,275155.314,275155.314,91137.48000000001,427927.725,427927.725,1333717.8822499998,141593.14755,210466.85142,367093.3455,104184.58758,132503.21709,468650.17500000005,468650.17500000005,468650.17500000005,468650.17500000005,1286636.0264999997,1286636.0264999997 +22402800.0,307069.266,391264.722,1142492.98824,187791.56638,187791.56638,187791.56638,183109.96899999998,1797008.52376,688784.7948800001,1250577.4610700002,1905641.8454400003,468271.41300000006,468271.41300000006,468271.41300000006,433699.7105,307069.266,307069.266,331310.97219999996,484985.6775,720892.291,1257370.2750000001,356853.659,453850.7945,436914.096,436914.096,436914.096,436914.096,923254.92644,923254.92644 +22406400.0,880312.662,201739.533,589079.4363599999,159909.07086,159909.07086,159909.07086,140146.972,823116.44064,701237.4336,613498.8140400001,934855.3356800001,469274.14199999993,469274.14199999993,469274.14199999993,165504.381,880312.662,880312.662,272482.56542,170213.51745,253008.73458,441294.3045,125243.52642000001,159286.22991000002,917521.7849999999,917521.7849999999,917521.7849999999,917521.7849999999,2646806.73708,2646806.73708 +22410000.0,419608.221,165297.477,482668.63284,170106.1791,170106.1791,170106.1791,138054.595,305265.11616,1821491.1827200002,97807.73184,149040.35328,425999.268,425999.268,425999.268,339704.27749999997,419608.221,419608.221,151989.87206,418860.00719999993,622601.7884799999,1085933.352,308198.22751999996,391970.22896,117657.30899999998,117657.30899999998,117657.30899999998,117657.30899999998,1261622.05114,1261622.05114 +22413600.0,45390.087,11258.148000000001,32873.792160000005,111675.37875999999,111675.37875999999,111675.37875999999,98218.8235,65301.09296000001,35181.74208,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,45390.087,45390.087,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24500.298000000003,24500.298000000003,24500.298000000003,24500.298000000003,136472.86158,136472.86158 +22417200.0,42001.905,182310.60600000003,532346.96952,100433.94515000001,100433.94515000001,100433.94515000001,118913.858,136752.46512,100228.23552000002,77545.34088,118164.32896,23330.931,23330.931,23330.931,143391.2235,42001.905,42001.905,11445.71246,31818.209400000003,47295.214960000005,82491.65400000001,23411.917040000004,29775.558920000003,22958.904,22958.904,22958.904,22958.904,126285.7277,126285.7277 +22420800.0,67698.30600000001,28121.181000000004,82113.84852,86235.46118000001,86235.46118000001,86235.46118000001,131551.10150000002,105048.28479999998,134850.43008000002,50633.92362,77156.45504,60870.909,60870.909,60870.909,36160.197499999995,67698.30600000001,67698.30600000001,31788.414579999997,35087.11425,52154.1797,90966.5925,25817.1853,32834.60815,28074.999000000003,28074.999000000003,28074.999000000003,28074.999000000003,203546.24004,203546.24004 +22424400.0,41420.90700000001,14297.76,41749.4592,66573.12024,66573.12024,66573.12024,57965.20799999999,54173.80224,69450.7936,34771.43082,52985.03744,27561.624000000003,27561.624000000003,27561.624000000003,20705.7725,41420.90700000001,41420.90700000001,26005.163989999994,25310.377800000002,37621.84552,65619.498,18623.43848,23685.514040000002,17067.393,17067.393,17067.393,17067.393,124538.86038,124538.86038 +22428000.0,77285.295,58066.872,169555.26624,56761.72183000001,56761.72183000001,56761.72183000001,57341.014500000005,191090.93784,19723.29664,133368.34119,203227.94848,37227.339,37227.339,37227.339,17829.9695,77285.295,77285.295,199394.93287999998,18636.305849999997,27701.373139999996,48316.3485,13712.63986,17439.90103,21402.789,21402.789,21402.789,21402.789,232371.12029999998,232371.12029999998 +22431600.0,13329.966,78214.641,228386.75171999997,110457.69581,110457.69581,110457.69581,109031.31049999999,102214.24960000001,33228.99968,24065.50881,36671.25152,23883.675000000003,23883.675000000003,23883.675000000003,147487.368,13329.966,13329.966,107405.42890999999,54604.9269,81165.84195999999,141568.329,40178.44004,51099.42542,15870.285,15870.285,15870.285,15870.285,40078.76444,40078.76444 +22435200.0,13830.258000000002,6073.835999999999,17735.60112,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29426.235760000003,15000.560640000002,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,13830.258000000002,13830.258000000002,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10942.899,10942.899,10942.899,10942.899,41582.97572,41582.97572 +22438800.0,345184.11899999995,114511.23300000001,334372.80036,98168.68083000001,98168.68083000001,98168.68083000001,75538.46299999999,365847.56504,157912.71168,333722.56616999995,508529.62464,195548.424,195548.424,195548.424,53161.892,345184.11899999995,345184.11899999995,9502.102089999998,33817.4433,50266.915720000005,87674.853,24882.958280000003,31646.44694,208274.097,208274.097,208274.097,208274.097,1037853.5844599999,1037853.5844599999 +22442400.0,216223.614,97536.80399999999,284807.46767999994,154959.66596,154959.66596,154959.66596,160337.52000000002,310442.58567999996,346322.22656000004,244123.91199000002,371998.34208000003,171781.125,171781.125,171781.125,81600.869,216223.614,216223.614,27182.882869999998,66358.50074999999,98636.58629999998,172040.5575,48826.7487,62098.44884999999,116880.285,116880.285,116880.285,116880.285,650112.33276,650112.33276 +22446000.0,312129.68700000003,201598.866,588668.68872,160184.23949,160184.23949,160184.23949,214059.7725,484252.96352000005,589786.53248,385758.3345,587822.2239999999,252792.849,252792.849,252792.849,132433.64399999997,312129.68700000003,312129.68700000003,115835.25212999998,149576.28480000002,222333.14432000002,387790.3680000001,110058.59968000001,139973.85664,201561.27900000004,201561.27900000004,201561.27900000004,201561.27900000004,938469.92558,938469.92558 +22449600.0,405021.585,269268.231,786263.23452,150597.10622000002,150597.10622000002,150597.10622000002,273493.07999999996,775418.03624,701020.0729599999,505313.74509000004,770001.89728,339371.286,339371.286,339371.286,243350.90149999998,405021.585,405021.585,200998.11549999999,182806.4376,271727.09984,473942.616,134509.42816,171070.71568,343457.331,343457.331,343457.331,343457.331,1217764.8989,1217764.8989 +22453200.0,310552.38,250007.15400000004,730020.88968,124832.18693000001,124832.18693000001,124832.18693000001,166279.20750000002,449672.39048,521205.89952000004,314770.69428,479650.58176000003,229103.706,229103.706,229103.706,111251.26950000001,310552.38,310552.38,151695.28842,68525.352,101857.4368,177658.32,50421.1232,64126.1936,265084.18799999997,265084.18799999997,265084.18799999997,265084.18799999997,933727.4892000001,933727.4892000001 +22456800.0,54511.856999999996,58466.322,170721.66024,76878.76724,76878.76724,76878.76724,66015.9325,102848.77144,363110.06656,78733.7334,119975.21280000001,64063.311,64063.311,64063.311,39544.1235,54511.856999999996,54511.856999999996,106002.6357,25031.02095,37206.60397999999,64895.239499999996,18417.88702,23424.09121,32139.75,32139.75,32139.75,32139.75,163898.98338,163898.98338 +22460400.0,57155.50199999999,56267.664,164301.57888,38622.879570000005,38622.879570000005,38622.879570000005,32202.8945,81209.73184,387674.95232000004,72990.44802,111223.53984000001,61854.975000000006,61854.975000000006,61854.975000000006,59607.0195,57155.50199999999,57155.50199999999,102607.37694999998,13375.238399999998,19881.218559999998,34676.543999999994,9841.53344,12516.581119999999,43221.906,43221.906,43221.906,43221.906,171847.54267999998,171847.54267999998 +22464000.0,57301.383,55002.519,160607.35548,14834.40112,14834.40112,14834.40112,13732.4215,74414.22024,377756.5593600001,73541.15013,112062.70496,60577.539,60577.539,60577.539,54565.714,57301.383,57301.383,99135.23035,27037.783799999997,40189.49592,70097.958,19894.46808,25302.024840000002,49135.331999999995,49135.331999999995,49135.331999999995,49135.331999999995,172286.15821999998,172286.15821999998 +22467600.0,58449.458999999995,60076.659,175423.84428,9382.762290000002,9382.762290000002,9382.762290000002,11819.958499999999,87411.74175999999,380872.30848,78869.81382,120182.57344,61919.54699999999,61919.54699999999,61919.54699999999,56092.183000000005,58449.458999999995,58449.458999999995,111600.91293,27587.065049999997,41005.958419999995,71522.0205,20298.63058,25816.04359,50241.738,50241.738,50241.738,50241.738,175738.04005999997,175738.04005999997 +22471200.0,61452.114,65323.455,190744.4886,3890.99733,3890.99733,3890.99733,6965.6125,88383.21991999999,375946.94336000003,76157.64807,116049.74944,64622.015999999996,64622.015999999996,64622.015999999996,55989.227,61452.114,61452.114,129159.87084,25709.6025,38215.261,66654.52500000001,18917.189000000002,24059.109500000002,48755.835,48755.835,48755.835,48755.835,184766.02276,184766.02276 +22474800.0,77293.446,75359.91900000001,220050.96348,4097.92834,4097.92834,4097.92834,7557.973499999999,114990.1256,414595.46688,84961.32771,129464.88032,92270.21399999999,92270.21399999999,92270.21399999999,63348.208000000006,77293.446,77293.446,145433.12055999998,36536.28525,54308.2561,94723.7025,26883.4889,34190.745950000004,53694.29400000001,53694.29400000001,53694.29400000001,53694.29400000001,232395.62764,232395.62764 +22478400.0,81129.672,78274.938,228562.81896,6001.2679100000005,6001.2679100000005,6001.2679100000005,9360.47,133122.65984,426180.29504000006,94356.35390999999,143781.11072,99225.93900000001,99225.93900000001,99225.93900000001,68255.8205,81129.672,81129.672,164498.94084,39006.14534999999,57979.50493999999,101127.04349999999,28700.818059999998,36502.04713,56065.395000000004,56065.395000000004,56065.395000000004,56065.395000000004,243929.88048,243929.88048 +22482000.0,126337.26299999998,102721.659,299947.24428,27036.680330000003,27036.680330000003,27036.680330000003,17517.2025,489244.81447999994,437572.50368,168425.57277000003,256648.49184000003,130564.872,130564.872,130564.872,84508.1825,126337.26299999998,126337.26299999998,332295.38198999997,47362.482,70400.5288,122791.62000000001,34849.4312,44321.9276,116138.84399999998,116138.84399999998,116138.84399999998,116138.84399999998,379854.03741999995,379854.03741999995 +22485600.0,569819.409,275868.438,805535.8389600001,131955.75734,131955.75734,131955.75734,156807.56,1994861.218,718465.38048,1122910.0413300002,1711101.01536,424826.98199999996,424826.98199999996,424826.98199999996,230312.75749999995,569819.409,569819.409,1431156.1926999998,248390.5581,369212.63204,643975.521,182766.38596,232444.49758,628051.605,628051.605,628051.605,628051.605,1713257.0230599998,1713257.0230599998 +22489200.0,387830.34,492607.55399999995,1438414.0576799999,199499.21442000003,199499.21442000003,199499.21442000003,427692.4645,2138032.19936,919327.40352,1445996.08293,2203422.60256,611339.499,611339.499,611339.499,572299.091,387830.34,387830.34,556416.8654199999,690862.3204499999,1026911.3997799999,1791124.5344999998,508338.20122,646510.66531,567919.854,567919.854,567919.854,567919.854,1166076.5556,1166076.5556 +22492800.0,1023912.7259999999,390816.15,1141183.158,168110.97149,168110.97149,168110.97149,156040.9165,1156998.5087199998,1253959.8643200002,859321.27281,1309441.93952,596112.624,596112.624,596112.624,239107.08500000005,1023912.7259999999,1023912.7259999999,335911.53036999993,238657.34699999998,354744.9948,618741.27,175604.6652,223336.1346,1129773.1979999999,1129773.1979999999,1129773.1979999999,1129773.1979999999,3078564.2628399995,3078564.2628399995 +22496400.0,443679.213,171581.082,501016.75944,173750.70537,173750.70537,173750.70537,146659.8665,327730.1712,1964323.4854400002,99804.88371000001,152083.63232,418002.375,418002.375,418002.375,372425.84049999993,443679.213,443679.213,161743.1764,491930.60534999997,731215.36894,1275375.6435,361963.75406,460349.87513,125358.435,125358.435,125358.435,125358.435,1333995.50042,1333995.50042 +22500000.0,45248.106,8187.9090000000015,23908.694280000003,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,31358.54272,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,45248.106,45248.106,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24044.7,24044.7,24044.7,24044.7,136045.97204,136045.97204 +22503600.0,42285.084,164426.43,480125.17559999996,99159.60373,99159.60373,99159.60373,110326.44000000002,109673.2144,41728.890880000006,57978.60516000001,88348.35072000002,20156.682,20156.682,20156.682,164300.1745,42285.084,42285.084,11445.71246,32715.920249999996,48629.590099999994,84819.05249999999,24072.454899999997,30615.638949999997,23501.496,23501.496,23501.496,23501.496,127137.15256,127137.15256 +22507200.0,52071.600000000006,21573.789,62995.463879999996,85635.76703,85635.76703,85635.76703,106918.553,94134.2008,42516.71168,44363.25054,67601.14368000001,38573.922,38573.922,38573.922,34537.5345,52071.600000000006,52071.600000000006,9718.056659999998,28029.106350000002,41663.01734,72668.05350000001,20623.885660000004,26229.706930000004,24034.149,24034.149,24034.149,24034.149,156561.944,156561.944 +22510800.0,42452.595,17005.137,49655.00004,67253.63645,67253.63645,67253.63645,58537.3985,51641.35632,85023.20704000001,32898.41961,50130.92512,32881.386000000006,32881.386000000006,32881.386000000006,20856.772999999997,42452.595,42452.595,7774.446289999999,20601.76275,30622.8671,53411.97750000001,15158.827900000002,19279.180450000003,16267.59,16267.59,16267.59,16267.59,127640.8023,127640.8023 +22514400.0,93737.87400000001,56423.217000000004,164755.79364000002,57303.349290000006,57303.349290000006,57303.349290000006,60532.416,185366.61656000002,44983.89312,138018.16287,210313.39104000002,46541.37300000001,46541.37300000001,46541.37300000001,17829.9695,93737.87400000001,93737.87400000001,186127.44254,18063.927449999996,26850.578579999994,46832.40449999999,13291.482419999998,16904.26791,23334.582000000002,23334.582000000002,23334.582000000002,23334.582000000002,281838.54116,281838.54116 +22518000.0,21483.213,103669.50900000002,302714.96628000005,128921.34442000001,128921.34442000001,128921.34442000001,121954.994,136706.22984,40927.92704,23950.33263,36495.74496,22014.513,22014.513,22014.513,186368.4865,21483.213,21483.213,131860.97924999997,64715.363099999995,96194.19403999999,167780.571,47617.723959999996,60560.796579999995,26257.821,26257.821,26257.821,26257.821,64592.86042,64592.86042 +22521600.0,16876.386000000002,6941.088,20267.97696,49508.05387,49508.05387,49508.05387,43473.906,29928.52832,17877.46112,24439.466730000004,37241.09216000001,7766.25,7766.25,7766.25,15529.3285,16876.386000000002,16876.386000000002,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11105.079,11105.079,11105.079,11105.079,50741.66724,50741.66724 +22525200.0,446724.423,140008.134,408823.75127999997,109123.94867,109123.94867,109123.94867,119346.864,454755.35712,264324.91072,420868.29036,641323.10912,280655.748,280655.748,280655.748,61848.41600000001,446724.423,446724.423,9502.102089999998,39207.142799999994,58278.271519999995,101648.148,28848.71248,36690.14104,248672.01899999997,248672.01899999997,248672.01899999997,248672.01899999997,1343151.43182,1343151.43182 +22528800.0,279388.614,171452.745,500642.0153999999,160776.35530000002,160776.35530000002,160776.35530000002,220370.00999999998,424315.63024,566373.1206400001,345658.85339999996,526718.2528,232811.05800000002,232811.05800000002,232811.05800000002,113401.39650000002,279388.614,279388.614,66105.49425999999,129087.41579999999,191878.08471999998,334671.078,94982.83928,120800.32243999999,165338.706,165338.706,165338.706,165338.706,840028.43276,840028.43276 +22532400.0,388591.542,270527.61600000004,789940.63872,168293.87729,168293.87729,168293.87729,295487.6295,699493.3817599999,729606.1740799999,492795.76164000004,750926.8748800001,349947.05700000003,349947.05700000003,349947.05700000003,256124.91100000002,388591.542,388591.542,169326.17025999996,194316.40394999998,288835.74117999995,503783.26949999994,142978.48982,181841.77060999998,288941.493,288941.493,288941.493,288941.493,1168365.23628,1168365.23628 +22536000.0,473452.28099999996,405296.853,1183466.81076,157608.40161000003,157608.40161000003,157608.40161000003,301590.29600000003,956919.64152,925903.79776,617739.45261,941317.2611200002,448296.426,448296.426,448296.426,285824.21699999995,473452.28099999996,473452.28099999996,253403.63308,262859.56785,390719.65393999993,681487.7684999999,193412.71905999997,245984.63262999998,421126.074,421126.074,421126.074,421126.074,1423513.1915399998,1423513.1915399998 +22539600.0,357122.33999999997,314494.935,918325.2102,128843.25333000002,128843.25333000002,128843.25333000002,204709.7885,522436.62384,676503.0374400001,391617.63165000005,596750.6768,273904.788,273904.788,273904.788,164935.274,357122.33999999997,357122.33999999997,319735.07709,122486.4585,182066.2914,317557.485,90125.8386,114623.1303,328888.392,328888.392,328888.392,328888.392,1073747.8355999999,1073747.8355999999 +22543200.0,65739.36000000002,61954.24799999999,180906.40415999998,77290.59833000001,77290.59833000001,77290.59833000001,66015.9325,106908.57591999999,421276.98368000006,92815.43418,141433.04256,70020.08099999999,70020.08099999999,70020.08099999999,75966.4955,65739.36000000002,65739.36000000002,112427.60281999999,25243.297649999997,37522.13625999999,65445.5865,18574.080739999998,23622.74027,47476.827000000005,47476.827000000005,47476.827000000005,47476.827000000005,197656.34240000002,197656.34240000002 +22546800.0,64941.34199999999,58800.345,171697.0074,38830.56353,38830.56353,38830.56353,35434.861,89617.6324,400932.63488,87233.22447000002,132926.81824000002,66567.927,66567.927,66567.927,64832.106499999994,64941.34199999999,64941.34199999999,105807.86918,31896.9009,47412.18356,82695.66900000001,23469.81844,29849.198620000003,55790.634000000005,55790.634000000005,55790.634000000005,55790.634000000005,195256.96827999997,195256.96827999997 +22550400.0,59934.134999999995,59968.26000000001,175107.3192,14966.17958,14966.17958,14966.17958,16850.015,80674.46079999999,376439.28512,81689.57747999999,124479.35616,61708.10400000001,61708.10400000001,61708.10400000001,58352.28700000001,59934.134999999995,59934.134999999995,109598.98611999999,29558.710349999994,43936.65093999999,76633.6935,21749.372059999998,27661.114129999998,51566.71200000001,51566.71200000001,51566.71200000001,51566.71200000001,180201.96589999998,180201.96589999998 +22554000.0,59658.69,64867.662,189413.57304,9465.9246,9465.9246,9465.9246,11978.8375,87235.83512,370789.31200000003,78689.95911,119908.50912,72333.42,72333.42,72333.42,57909.977999999996,59658.69,59658.69,128500.19377,27614.860199999996,41047.27367999999,71594.082,20319.082319999998,25842.05436,49958.174999999996,49958.174999999996,49958.174999999996,49958.174999999996,179373.7946,179373.7946 +22557600.0,66473.31899999999,67613.92199999999,197432.65223999997,3964.1555800000006,3964.1555800000006,3964.1555800000006,7104.8144999999995,100920.17567999999,365014.24064,75886.71888000001,115636.90496000001,81152.41500000001,81152.41500000001,81152.41500000001,57016.389500000005,66473.31899999999,66473.31899999999,127574.15813999998,27580.47165,40996.15786,71504.9265,20293.779140000002,25809.873470000002,48327.981,48327.981,48327.981,48327.981,199863.11245999997,199863.11245999997 +22561200.0,72057.792,68941.51199999999,201309.21503999998,3990.5495300000002,3990.5495300000002,3990.5495300000002,7176.385999999999,117317.07359999997,368690.2227200001,79284.13604999999,120813.92159999999,83937.255,83937.255,83937.255,59235.5085,72057.792,72057.792,142741.68987,33991.5123,50525.65532,88126.14300000001,25011.03868,31809.34114,48861.885,48861.885,48861.885,48861.885,216653.76127999998,216653.76127999998 +22564800.0,72622.503,67715.538,197729.37096,5786.730070000001,5786.730070000001,5786.730070000001,8681.4035,117613.658,360838.33344,82476.76122,125678.87424000002,82199.58,82199.58,82199.58,58460.6365,72622.503,72622.503,140572.39429999999,33887.5164,50371.07376,87856.524,24934.51824,31712.021520000002,48901.851,48901.851,48901.851,48901.851,218351.65902,218351.65902 +22568400.0,117902.12099999998,91459.044,267060.40848,27199.89547,27199.89547,27199.89547,16740.6785,464971.15232000005,368609.64544000005,152142.98106,231836.92352,86145.195,86145.195,86145.195,78345.6275,117902.12099999998,117902.12099999998,309992.86461,41722.265699999996,62016.79987999999,108168.837,30699.34612,39043.79926,106102.88399999999,106102.88399999999,106102.88399999999,106102.88399999999,354492.37713999994,354492.37713999994 +22572000.0,560451.561,273087.882,797416.61544,131539.51030000002,131539.51030000002,131539.51030000002,165406.89549999998,1949589.2167999998,692951.9110400002,1101883.91145,1679061.1984,414340.70999999996,414340.70999999996,414340.70999999996,245445.4765,560451.561,560451.561,1432383.66141,279239.37165,415066.91786,723953.9265000001,205465.01914000002,261312.89347,622479.6510000001,622479.6510000001,622479.6510000001,622479.6510000001,1685091.02674,1685091.02674 +22575600.0,388479.72000000003,496717.32599999994,1450414.5919199998,201647.99534000002,201647.99534000002,201647.99534000002,493386.46699999995,2104331.6092,905051.9948800001,1445844.5513400002,2203191.6972800004,596556.282,596556.282,596556.282,584571.1725,388479.72000000003,388479.72000000003,571822.64126,725512.7150999999,1078416.4308399998,1880958.8909999998,533834.04716,678936.5901799999,570534.741,570534.741,570534.741,570534.741,1168029.0248,1168029.0248 +22579200.0,1028538.2609999999,397305.99899999995,1160133.51708,169052.24446000002,169052.24446000002,169052.24446000002,156549.25650000002,1159598.0387199998,1514323.7260800002,920012.85516,1401924.3507200002,587108.859,587108.859,587108.859,261696.3825,1028538.2609999999,1028538.2609999999,355327.46573999996,277469.02349999995,412435.43739999994,719364.135,204162.3926,259656.19729999997,1124872.008,1124872.008,1124872.008,1124872.008,3092471.70474,3092471.70474 +22582800.0,496341.573,194544.657,568070.39844,179821.30166000003,179821.30166000003,179821.30166000003,155630.1285,371027.90199999994,2352562.57664,116734.70508,177881.45536,483272.36100000003,483272.36100000003,483272.36100000003,444164.105,496341.573,496341.573,180824.1097,641104.30395,952950.1011799999,1662122.2695,471726.12982,599946.99061,140817.402,140817.402,140817.402,140817.402,1492333.66282,1492333.66282 +22586400.0,85315.476,17811.438,52009.39896,113318.49881,113318.49881,113318.49881,98218.8235,70602.73256,82391.07392000001,56315.58786,85814.22912,29150.805,29150.805,29150.805,35084.777,85315.476,85315.476,26966.081739999998,37524.627,55777.3468,97286.07,27610.713200000002,35115.6386,26845.923,26845.923,26845.923,26845.923,256515.19783999998,256515.19783999998 +22590000.0,108279.54000000001,366398.913,1069884.82596,106804.36613000001,106804.36613000001,106804.36613000001,195911.898,233833.92703999998,251433.25312,135894.9963,207078.08959999998,50410.788,50410.788,50410.788,237655.86949999997,108279.54000000001,108279.54000000001,50427.75621,57159.241649999996,84962.62586,148190.6265,42057.91114,53489.75947,43656.654,43656.654,43656.654,43656.654,325560.4836,325560.4836 +22593600.0,146391.219,76814.859,224299.38828,92970.78615,92970.78615,92970.78615,177869.8775,252077.21688,232654.28608,122223.98559,186246.07328,90259.593,90259.593,90259.593,80877.055,146391.219,146391.219,121105.65090000001,75819.56805,112699.70362,196569.25050000002,55788.22538,70952.13899,87304.065,87304.065,87304.065,87304.065,440149.59846,440149.59846 +22597200.0,53750.925,18488.514000000003,53986.460880000006,67971.33618000001,67971.33618000001,67971.33618000001,58097.90349999999,76517.01736,79780.14592,42667.09461,65016.52512,35827.101,35827.101,35827.101,20752.098499999996,53750.925,53750.925,34963.332039999994,28165.27545,41865.42178,73021.0845,20724.07922,26357.13431,23396.754,23396.754,23396.754,23396.754,161611.11450000003,161611.11450000003 +22600800.0,105672.051,79702.776,232732.10592,57301.75792,57301.75792,57301.75792,64906.442999999985,239206.96064000003,22465.42656,218777.17323000001,333374.74016,52624.78200000001,52624.78200000001,52624.78200000001,33992.056,105672.051,105672.051,264883.66969999997,36929.580749999994,54892.85829999999,95743.35749999998,27172.876699999997,34558.79285,27519.243000000002,27519.243000000002,27519.243000000002,27519.243000000002,317720.63334,317720.63334 +22604400.0,22316.271,168912.53399999999,493224.59927999997,185018.29687,185018.29687,185018.29687,152355.5635,204689.97352,46443.76064,27416.78016,41777.95072,38407.206,38407.206,38407.206,249296.77150000003,22316.271,22316.271,196353.30532999997,85612.71914999999,127256.43685999999,221958.90149999998,62994.05014,80116.59397,46755.708,46755.708,46755.708,46755.708,67097.58813999999,67097.58813999999 +22608000.0,19892.016,7608.566999999999,22217.015639999998,49825.64818,49825.64818,49825.64818,43473.906,30827.25176,20036.29248,24439.466730000004,37241.09216000001,8063.093999999999,8063.093999999999,8063.093999999999,15529.3285,19892.016,19892.016,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11284.506,11284.506,11284.506,11284.506,59808.661439999996,59808.661439999996 +22611600.0,586016.118,251661.777,734852.38884,118416.27963,118416.27963,118416.27963,312858.1575,689655.25352,514027.30816000013,700725.65325,1067772.424,447440.61900000006,447440.61900000006,447440.61900000006,97884.3075,586016.118,586016.118,9502.102089999998,91495.75725000001,136001.1009,237211.22250000003,67322.80410000001,85621.95555000001,357089.301,357089.301,357089.301,357089.301,1761955.12812,1761955.12812 +22615200.0,351773.457,236065.44900000002,689311.1110800001,165522.22764,165522.22764,165522.22764,281656.94550000003,619075.88096,662073.37216,438070.93911000004,667536.6691200001,308101.167,308101.167,308101.167,169392.32100000003,351773.457,351773.457,132104.59131999998,190860.59159999999,283698.95343999995,494823.756,140435.69456,178607.81288,248798.244,248798.244,248798.244,248798.244,1057665.5273799999,1057665.5273799999 +22618800.0,466984.329,334080.35699999996,975514.6424399999,174444.39617000002,174444.39617000002,174444.39617000002,329748.2755,936032.50776,853695.14176,616679.67816,939702.36672,438487.005,438487.005,438487.005,305745.9055,466984.329,466984.329,347052.76501999993,294281.3106,437425.55304,762951.5460000001,216532.91496000002,275389.17708000005,432627.41399999993,432627.41399999993,432627.41399999993,432627.41399999993,1404066.2158599999,1404066.2158599999 +22622400.0,545133.165,459864.4770000001,1342804.27284,162350.80224,162350.80224,162350.80224,375267.7915,1082835.63624,1208190.04352,777788.0279399999,1185200.80448,557340.5519999999,557340.5519999999,557340.5519999999,452856.54750000004,545133.165,545133.165,457621.91851999995,382197.75075,568106.2862999999,990883.0575,281222.0487,357661.59885,499432.338,499432.338,499432.338,499432.338,1639033.7161,1639033.7161 +22626000.0,404065.848,349747.662,1021263.17304,130164.0538,130164.0538,130164.0538,280247.436,598099.03312,841188.9734400001,472077.94032,719356.86144,307741.686,307741.686,307741.686,267548.24950000003,404065.848,404065.848,348729.04039999994,168403.941,250318.94439999998,436602.81,123912.0356,157592.8238,390069.76800000004,390069.76800000004,390069.76800000004,390069.76800000004,1214891.31632,1214891.31632 +22629600.0,78117.006,63437.952000000005,185238.81984,77399.70282,77399.70282,77399.70282,72341.52799999999,117136.54752000001,434164.35456,115759.82754,176395.92768,76979.574,76979.574,76979.574,83985.356,78117.006,78117.006,115087.93204999999,52146.9819,77512.30396,135195.87900000002,38369.87804,48799.27442,69054.246,69054.246,69054.246,69054.246,234871.79804,234871.79804 +22633200.0,73106.808,65084.67000000001,190047.23640000002,39038.007359999996,39038.007359999996,39038.007359999996,38701.8695,97902.41408,433638.23040000006,103738.55163,158077.79296,83344.878,83344.878,83344.878,76893.1905,73106.808,73106.808,112915.28872,40974.6843,60905.58012,106230.663,30149.27388,38344.21074,63363.74700000001,63363.74700000001,63363.74700000001,63363.74700000001,219807.80272,219807.80272 +22636800.0,75964.878,72246.864,210960.84288,15346.423400000003,15346.423400000003,15346.423400000003,18034.205,97837.41488,443341.42784,95188.80441000001,145049.60672,103978.05299999999,103978.05299999999,103978.05299999999,73268.405,75964.878,75964.878,143495.97001999998,35059.728149999995,52113.47246,90895.5915,25797.03454,32808.98017,60400.21200000001,60400.21200000001,60400.21200000001,60400.21200000001,228401.06652,228401.06652 +22640400.0,78204.231,81931.11,239238.8412,9925.61075,9925.61075,9925.61075,13384.112000000001,133674.69752,452348.16384000005,94998.12567000001,144759.04864000002,109172.796,109172.796,109172.796,74786.138,78204.231,78204.231,156296.14481,34475.71005,51245.37642,89381.47050000001,25367.31258,32262.45459,60659.823000000004,60659.823000000004,60659.823000000004,60659.823000000004,235134.05453999995,235134.05453999995 +22644000.0,87515.06999999999,84737.13,247432.4196,4496.03132,4496.03132,4496.03132,8706.803,150928.33512,459435.30880000006,96699.5946,147351.7632,110843.18999999999,110843.18999999999,110843.18999999999,75945.38,87515.06999999999,87515.06999999999,178965.35734999998,42768.53055,63571.988620000004,110881.37550000001,31469.190380000004,40022.89649000001,60778.095,60778.095,60778.095,60778.095,263128.64379999996,263128.64379999996 +22647600.0,92021.76299999999,92296.97400000002,269507.16408,4566.8289700000005,4566.8289700000005,4566.8289700000005,8890.91,154823.63264,470127.88992000005,112740.77808,171795.47136000003,114453.03,114453.03,114453.03,77895.167,92021.76299999999,92021.76299999999,183450.60057999997,45549.3618,67705.47111999999,118090.938,33515.332879999994,42625.205239999996,64067.154,64067.154,64067.154,64067.154,276678.76742,276678.76742 +22651200.0,98963.21100000001,100153.521,292448.28131999995,7151.48247,7151.48247,7151.48247,10657.9025,159145.2268,479980.45888,156676.76682000002,238745.54944,151138.119,151138.119,151138.119,82290.84850000001,98963.21100000001,98963.21100000001,190494.49925999998,50753.2716,75440.66544,131582.556,37344.38256,47495.03688,77050.437,77050.437,77050.437,77050.437,297549.38774,297549.38774 +22654800.0,162175.989,127549.98300000001,372445.95036,29766.014190000005,29766.014190000005,29766.014190000005,18837.426999999996,524596.81064,501382.60480000003,274979.37684,419016.19328,189122.88600000003,189122.88600000003,189122.88600000003,168839.25449999998,162175.989,162175.989,392724.54714999994,62428.81814999999,92795.42846,161852.4915,45935.27854,58421.04217,139395.186,139395.186,139395.186,139395.186,487609.14025999996,487609.14025999996 +22658400.0,763114.6140000001,345840.939,1009855.5418799999,140953.15168,140953.15168,140953.15168,282650.676,2479122.5969599998,1326403.9961600003,1598061.3154799999,2435141.05216,600782.952,600782.952,600782.952,465943.681,763114.6140000001,763114.6140000001,1581722.7569,557718.3233999999,829003.5325599997,1445936.3939999996,410370.51943999995,521914.18411999993,850029.1199999999,850029.1199999999,850029.1199999999,850029.1199999999,2294431.27276,2294431.27276 +22662000.0,650296.473,762183.2130000001,2225574.98196,226718.75578,226718.75578,226718.75578,997205.2615,2984444.00288,1672985.76512,2036803.9965,3103701.328,901666.47,901666.47,901666.47,929907.9895000001,650296.473,650296.473,1094033.11472,1201183.6517999999,1785463.1071199998,3114179.838,883833.8968799999,1124070.62724,924577.4730000001,924577.4730000001,924577.4730000001,924577.4730000001,1955224.72882,1955224.72882 +22665600.0,1296413.922,759033.057,2216376.52644,180584.10106000004,180584.10106000004,180584.10106000004,265857.1125,1831543.1068,2947075.58784,1461416.63556,2226920.58752,955972.5419999999,955972.5419999999,955972.5419999999,438732.67199999996,1296413.922,1296413.922,492121.42226,533805.2766000001,793458.7074400001,1383939.6060000004,392775.24056000006,499536.2958800001,1490735.2410000002,1490735.2410000002,1490735.2410000002,1490735.2410000002,3897884.52548,3897884.52548 +22669200.0,599637.366,242697.843,708677.70156,192231.83056000003,192231.83056000003,192231.83056000003,184423.71850000002,479826.23183999996,3597140.9651200003,147725.42925,225105.416,553433.328,553433.328,553433.328,564125.422,599637.366,599637.366,245463.54001,999123.4737,1485116.86708,2590320.117,735157.5189200001,934982.21366,174027.675,174027.675,174027.675,174027.675,1802909.68044,1802909.68044 +22672800.0,126928.71900000001,27445.613999999994,80141.19287999999,117945.39284,117945.39284,117945.39284,98218.8235,110685.35063999999,127611.85728,62582.223060000004,95363.38752,29497.625999999997,29497.625999999997,29497.625999999997,35084.777,126928.71900000001,126928.71900000001,43847.67139999999,40226.39414999999,59793.30685999999,104290.65149999999,29598.680139999997,37643.95897,32407.614,32407.614,32407.614,32407.614,381632.34846,381632.34846 +22676400.0,138385.032,446200.647,1302905.88924,109253.3706,109253.3706,109253.3706,259191.70200000005,280092.33344,273321.83296,180311.64732,274760.60544,58028.016,58028.016,58028.016,335244.1995,138385.032,138385.032,64337.660529999994,71546.4414,106348.04376,185490.774,52644.048240000004,66953.33652,76944.846,76944.846,76944.846,76944.846,416077.66288,416077.66288 +22680000.0,152749.002,77439.183,226122.41436,93694.1269,93694.1269,93694.1269,190380.05699999997,278831.34312,226673.11488,138218.00412,210617.91104000004,89505.198,89505.198,89505.198,78922.445,152749.002,152749.002,129209.78420999998,79762.89914999998,118561.14885999997,206792.70149999997,58689.738139999994,74642.31796999999,105487.20000000001,105487.20000000001,105487.20000000001,105487.20000000001,459265.33268,459265.33268 +22683600.0,66260.316,24700.974,72126.84408,69314.49723000001,69314.49723000001,69314.49723000001,58994.971000000005,101879.99135999999,95473.75168,50276.45532,76611.74144,41835.954,41835.954,41835.954,23592.534,66260.316,66260.316,48940.67737,33302.30759999999,49501.207839999995,86339.31599999999,24503.920159999998,31164.38168,33242.22,33242.22,33242.22,33242.22,199222.68344,199222.68344 +22687200.0,107354.11799999999,75699.24,221041.7808,57590.65873,57590.65873,57590.65873,64906.442999999985,237665.4576,15936.305920000003,248249.65452,378285.18784,62319.30900000001,62319.30900000001,62319.30900000001,46355.029,107354.11799999999,107354.11799999999,259592.25123,46058.859899999996,68462.79916,119411.859,33890.222839999995,43101.99482,32852.736000000004,32852.736000000004,32852.736000000004,32852.736000000004,322778.04812,322778.04812 +22690800.0,14794.619999999999,168496.074,492008.53608,198122.50436000002,198122.50436000002,198122.50436000002,150105.95949999997,208351.8988,42344.01344,25201.974000000002,38403.008,22309.059,22309.059,22309.059,254390.73450000002,14794.619999999999,14794.619999999999,200252.39234,84735.96704999999,125953.21521999998,219685.8405,62348.93378,79296.12719,47969.487,47969.487,47969.487,47969.487,44482.4908,44482.4908 +22694400.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +22698000.0,516014.079,167236.50300000003,488330.58876,106600.45913,106600.45913,106600.45913,270023.90449999995,504925.962,253321.39008,491995.12635000004,749706.8592000001,337774.146,337774.146,337774.146,72584.9075,516014.079,516014.079,9502.102089999998,69918.74234999999,103928.59973999999,181270.8135,51446.383259999995,65430.131729999994,289597.614,289597.614,289597.614,289597.614,1551482.3308599999,1551482.3308599999 +22701600.0,221217.762,159323.301,465224.03891999996,159082.51491,159082.51491,159082.51491,268293.9105,389916.57024000003,322854.208,329594.40864000004,502239.09888,184628.889,184628.889,184628.889,122657.81500000002,221217.762,221217.762,49005.83844,120296.01599999999,178810.37439999997,311878.56,88514.1056,112573.3088,157602.072,157602.072,157602.072,157602.072,665128.07108,665128.07108 +22705200.0,339186.01800000004,248539.065,725734.0697999999,168434.98012000002,168434.98012000002,168434.98012000002,317670.402,572963.3052,679497.58336,452087.9613600001,688895.9411200001,327395.604,327395.604,327395.604,173816.40499999997,339186.01800000004,339186.01800000004,196591.83323,215104.21155,319735.14902,557677.5855,158274.20998,201295.05229000002,255162.816,255162.816,255162.816,255162.816,1019819.29412,1019819.29412 +22708800.0,461939.11199999996,320539.73699999996,935976.03204,159169.81234,159169.81234,159169.81234,387561.99299999996,919050.79224,827348.5145599999,619505.0253,944007.6576,443653.029,443653.029,443653.029,298760.69649999996,461939.11199999996,461939.11199999996,362014.96747000003,301309.96004999994,447873.07641999994,781173.9704999999,221704.61258,281966.60459,428883.912,428883.912,428883.912,428883.912,1388896.9300799998,1388896.9300799998 +22712400.0,329441.385,277204.36199999996,809436.7370399999,127354.60199,127354.60199,127354.60199,243320.57399999996,469097.80728,571028.3136000001,374310.07047,570377.25024,234967.044,234967.044,234967.044,200518.766,329441.385,329441.385,300373.09067999996,141099.19335,209732.62814,365812.7235,103821.13486,132040.97353000002,308806.149,308806.149,308806.149,308806.149,990520.4309,990520.4309 +22716000.0,60870.119999999995,56065.083,163710.04236,77147.30991,77147.30991,77147.30991,66015.9325,100957.71519999999,359981.56608,85980.70887,131018.22304,62317.974,62317.974,62317.974,70617.77799999999,60870.119999999995,60870.119999999995,101286.00261,25081.402949999996,37281.49277999999,65025.85949999999,18454.958219999997,23471.23881,41836.511999999995,41836.511999999995,41836.511999999995,41836.511999999995,183016.16079999995,183016.16079999995 +22719600.0,61217.81700000001,53383.761,155880.58212,38729.54206000001,38729.54206000001,38729.54206000001,37732.733499999995,80366.93224,363711.55648,81951.09783,124877.86336,58737.003,58737.003,58737.003,61609.8595,61217.81700000001,61217.81700000001,96978.08002999998,30011.407199999998,44609.54848,77807.352,22082.467520000002,28084.74896,51588.636,51588.636,51588.636,51588.636,184061.56978000002,184061.56978000002 +22723200.0,59249.466,53594.19,156495.0348,14980.44086,14980.44086,14980.44086,17034.8115,75275.27568,364012.13824,80763.19314,123067.72288,59557.197,59557.197,59557.197,59282.10400000001,59249.466,59249.466,95745.78689,29575.5948,43961.74832,76677.468,21761.79568,27676.91464,50791.59,50791.59,50791.59,50791.59,178143.39444,178143.39444 +22726800.0,66355.599,60162.378,175674.14376,9580.999780000002,9580.999780000002,9580.999780000002,12466.944,88660.01256,379574.11776000005,81620.06412000001,124373.43104000002,75693.54299999999,75693.54299999999,75693.54299999999,61308.744,66355.599,66355.599,108533.83566999999,29147.898599999997,43326.01224,75568.626,21447.09576,27276.675479999998,51794.736000000004,51794.736000000004,51794.736000000004,51794.736000000004,199509.16765999998,199509.16765999998 +22730400.0,74873.217,74027.505,216160.31459999998,4275.10765,4275.10765,4275.10765,8170.2285,102813.10656,413446.64768,86196.67266,131347.31072,97644.10800000001,97644.10800000001,97644.10800000001,66941.091,74873.217,74873.217,141808.7567,33575.629949999995,49907.479579999985,87047.92949999998,24705.031419999996,31420.157409999996,55096.926,55096.926,55096.926,55096.926,225118.80578,225118.80578 +22734000.0,78305.50200000001,73907.967,215811.26364000002,4204.58676,4204.58676,4204.58676,7949.634,124811.78503999999,397174.76992000005,87999.1707,134093.9744,94044.30600000001,94044.30600000001,94044.30600000001,65333.2575,78305.50200000001,78305.50200000001,146168.54069999998,38150.84204999999,56708.165219999995,98909.59049999999,28071.48378,35701.65219,53261.024999999994,53261.024999999994,53261.024999999994,53261.024999999994,235438.54268,235438.54268 +22737600.0,82058.994,76424.991,223160.97371999998,6110.470080000001,6110.470080000001,6110.470080000001,9774.212,136429.15104000003,411222.6560000001,96171.90744,146547.66848,98462.769,98462.769,98462.769,68999.7175,82058.994,82058.994,160149.2867,40438.719450000004,60108.91138,104841.1245,29754.909620000002,37842.653510000004,56330.538,56330.538,56330.538,56330.538,246724.04195999997,246724.04195999997 +22741200.0,90250.023,84470.832,246654.82944,15865.999600000003,15865.999600000003,15865.999600000003,17984.473499999996,145258.99744,423478.8563200001,121188.04719,184667.50048000002,113414.89199999999,113414.89199999999,113414.89199999999,75573.4175,90250.023,90250.023,165222.18205999996,47656.7631,70837.95403999998,123554.571,35065.963959999994,44597.31658,65885.031,65885.031,65885.031,65885.031,271351.73582,271351.73582 +22744800.0,707943.39,678195.1499999999,1980329.8379999998,114384.68822,114384.68822,114384.68822,486460.4604999999,1084876.20816,764753.2307200001,804956.70066,1226600.6867199999,400625.313,400625.313,400625.313,1021667.6084999999,707943.39,707943.39,1251603.3275199998,283153.9599,420885.63916,734102.859,208345.38284,264976.17482,808079.115,808079.115,808079.115,808079.115,2128549.7926,2128549.7926 +22748400.0,1257212.808,1176226.5089999998,3434581.4062799998,235902.83695,235902.83695,235902.83695,964518.8630000001,1948349.71184,2078428.0294400002,1764411.29235,2688626.7312,803392.9590000001,803392.9590000001,803392.9590000001,780946.201,1257212.808,1257212.808,587613.93379,886210.57125,1317280.8985000001,2297582.9625000004,652075.9265000001,829318.04075,1373799.762,1373799.762,1373799.762,1373799.762,3780019.8427199996,3780019.8427199996 +22752000.0,976336.176,570894.615,1667012.2758,198899.3127,198899.3127,198899.3127,475596.093,1520570.7747199999,2209918.47616,1292399.9432400002,1969371.3420800003,1063648.1849999998,1063648.1849999998,1063648.1849999998,471038.89,976336.176,976336.176,433197.70533,920557.9611,1368335.5372399997,2386631.7509999997,677348.8207599999,861460.4129799999,666182.955,666182.955,666182.955,666182.955,2935517.43584,2935517.43584 +22755600.0,493149.16800000006,276988.221,808805.6053200001,190995.72272,190995.72272,190995.72272,505132.22900000005,1270915.30072,1816534.5920000002,831107.39292,1266449.36064,738099.639,738099.639,738099.639,850466.029,493149.16800000006,493149.16800000006,426759.90512999997,792364.12515,1177785.6872599998,2054277.3614999999,583023.47974,741496.3047699999,512159.289,512159.289,512159.289,512159.289,1482735.16512,1482735.16512 +22759200.0,154852.473,139441.992,407170.61663999996,134179.80477000002,134179.80477000002,134179.80477000002,329247.7475,773586.8108,172355.8464,443006.55672,675057.6102400001,126175.125,126175.125,126175.125,203510.60450000002,154852.473,154852.473,44398.825249999994,230750.26875,342991.75749999995,598241.4375,169786.6175,215936.67125,144999.90000000002,144999.90000000002,144999.90000000002,144999.90000000002,465589.76882,465589.76882 +22762800.0,25129.647000000004,7074.348,20657.09616,99204.46734,99204.46734,99204.46734,85337.66500000001,78071.6896,27245.94624,66417.41694,101207.49248,15032.913,15032.913,15032.913,30483.495,25129.647000000004,25129.647000000004,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,22874.217,22874.217,22874.217,22874.217,75556.47198,75556.47198 +22766400.0,25368.614999999998,7705.451999999999,22499.91984,82833.53947000002,82833.53947000002,82833.53947000002,72456.51000000001,70855.23663999999,23133.34976,49683.051179999995,75707.50656,12812.054999999998,12812.054999999998,12812.054999999998,25882.213000000003,25368.614999999998,25368.614999999998,9718.056659999998,25743.8574,38266.17816,66743.334,18942.39384,24091.165320000004,25072.947,25072.947,25072.947,25072.947,76274.9691,76274.9691 +22770000.0,15337.737,4805.217000000001,14031.23364,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,38894.388320000005,18506.68416,33479.90331,51016.995520000004,10211.037,10211.037,10211.037,20705.7725,15337.737,15337.737,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14190.315000000002,14190.315000000002,14190.315000000002,14190.315000000002,46115.46257999999,46115.46257999999 +22773600.0,12517.326000000001,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28091.99001,42806.84192,8792.835,8792.835,8792.835,17829.9695,12517.326000000001,12517.326000000001,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,37635.42684,37635.42684 +22777200.0,9690.834,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,21723.97311,33103.19712,6807.357,6807.357,6807.357,13803.846000000001,9690.834,9690.834,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,29137.10756,29137.10756 +22780800.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +22784400.0,19265.379,5873.043000000001,17149.28556,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,47102.42655999999,22619.26976,41933.470740000004,63898.62208000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,19265.379,19265.379,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,17343.716999999997,17343.716999999997,17343.716999999997,17343.716999999997,57924.57286,57924.57286 +22788000.0,41004.018,11366.697,33190.75524,142727.02862,142727.02862,142727.02862,125591.28399999999,110591.01128,40097.804800000005,77593.26897,118237.36224,22123.911,22123.911,22123.911,44862.503,41004.018,41004.018,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,40823.973,40823.973,40823.973,40823.973,123285.41411999999,123285.41411999999 +22791600.0,75570.384,17900.843999999997,52270.464479999995,147051.30187000002,147051.30187000002,147051.30187000002,127201.42749999999,152595.42152,48394.240000000005,107468.75097000001,163761.90624,23737.161,23737.161,23737.161,45437.66499999999,75570.384,75570.384,17060.589,45194.768099999994,67178.39603999999,117171.621,33254.42196,42293.37558,59338.959,59338.959,59338.959,59338.959,227214.95455999998,227214.95455999998 +22795200.0,107584.51500000001,15568.565999999999,45460.212719999996,132789.24857,132789.24857,132789.24857,112710.12550000001,88850.17464,80268.84288000001,101799.58194,155123.17248,24397.344,24397.344,24397.344,40261.221,107584.51500000001,107584.51500000001,15116.978629999998,40045.99905,59525.16402,103822.9605,29465.94498,37475.14479,59283.591,59283.591,59283.591,59283.591,323470.7751,323470.7751 +22798800.0,56334.96,8362.593,24418.771560000005,110737.08096,110737.08096,110737.08096,93388.3895,73638.38792,29816.313600000005,56460.15459,86034.52128,16965.588,16965.588,16965.588,33359.297999999995,56334.96,56334.96,12525.494929999999,33180.9696,49320.84864,86024.736,24414.63936,31050.833280000003,25678.415999999997,25678.415999999997,25678.415999999997,25678.415999999997,169380.4464,169380.4464 +22802400.0,19579.11,12423.906000000003,36277.80552,75023.18098,75023.18098,75023.18098,66015.9325,52722.79,21077.05152,37111.78317,56551.288640000006,11907.987,11907.987,11907.987,23581.572,19579.11,19579.11,15603.341779999999,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,58867.85739999999,58867.85739999999 +22806000.0,11853.735,16443.849000000002,48016.03908,37091.737429999994,37091.737429999994,37091.737429999994,32202.8945,45356.80384,27554.22016,18103.308510000003,27585.993920000004,6461.039999999999,6461.039999999999,6461.039999999999,11503.205,11853.735,11853.735,28641.06323,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,7978.950000000001,7978.950000000001,7978.950000000001,7978.950000000001,35640.2299,35640.2299 +22809600.0,9064.329,16215.114000000001,47348.132880000005,13556.74265,13556.74265,13556.74265,11271.011499999999,43505.541359999996,31955.386880000002,11300.75583,17220.199360000002,4127.427,4127.427,4127.427,4026.1234999999997,9064.329,9064.329,28000.29427,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,4637.25,4637.25,4637.25,4637.25,27253.415859999997,27253.415859999997 +22813200.0,12823.172999999999,16108.976999999999,47038.21283999999,8082.56823,8082.56823,8082.56823,6440.577499999999,41099.963599999995,31305.98144,20925.830099999996,31886.979199999998,10134.189,10134.189,10134.189,2300.6409999999996,12823.172999999999,12823.172999999999,36108.61709,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,3507.429,3507.429,3507.429,3507.429,38555.006819999995,38555.006819999995 +22816800.0,21111.102000000003,26201.247000000003,76507.64124000001,3229.0728799999997,3229.0728799999997,3229.0728799999997,1610.1435,41078.38479999999,132264.15616,24633.34776,37536.52992,20287.902000000002,20287.902000000002,20287.902000000002,1138.025,21111.102000000003,21111.102000000003,66002.00710999999,914.5305,1359.3762,2371.005,672.9138,855.8199,4432.503,4432.503,4432.503,4432.503,63474.04668,63474.04668 +22820400.0,33755.07,40565.055,118449.96059999999,3405.88996,3405.88996,3405.88996,1610.1435,47921.96543999999,252002.66880000004,35395.906350000005,53936.6192,39465.621,39465.621,39465.621,11908.932,33755.07,33755.07,73230.91763,1869.4071,2778.7236399999997,4846.611,1375.51436,1749.39578,15383.589,15383.589,15383.589,15383.589,101490.2438,101490.2438 +22824000.0,46259.615999999995,47171.897999999994,137741.94215999998,5349.139950000001,5349.139950000001,5349.139950000001,3743.8624999999997,61893.3128,294095.28896000003,48813.90717,74383.09664,44374.416,44374.416,44374.416,39074.6545,46259.615999999995,46259.615999999995,78560.78242999999,4538.2153499999995,6745.69294,11765.7435,3339.23006,4246.87313,32447.571,32447.571,32447.571,32447.571,139087.24544,139087.24544 +22827600.0,53762.046,46793.688,136637.56896,14385.35802,14385.35802,14385.35802,15634.773000000001,68554.38176,273645.33888,57155.09982,87093.48544000002,42455.184,42455.184,42455.184,41734.402500000004,53762.046,53762.046,87859.08962999999,22211.334000000003,33015.365600000005,57584.94000000001,16343.154400000001,20785.421200000004,37421.97899999999,37421.97899999999,37421.97899999999,37421.97899999999,161644.55164,161644.55164 +22831200.0,478025.2050000001,294915.639,861153.66588,110026.6299,110026.6299,110026.6299,186141.8405,638405.4049600001,416101.72672000004,407216.1891,620519.9072,194150.08500000002,194150.08500000002,194150.08500000002,379507.667,478025.2050000001,478025.2050000001,620048.74984,87232.2453,129663.73251999999,226157.673,64185.70148,81632.15054,397364.397,397364.397,397364.397,397364.397,1437262.4497,1437262.4497 +22834800.0,880260.7590000001,716828.382,2093138.8754399999,226811.69830000002,226811.69830000002,226811.69830000002,529677.8935,1223460.56448,1302986.4064,891329.89533,1358216.98336,517290.519,517290.519,517290.519,289474.0555,880260.7590000001,880260.7590000001,362588.95438999997,367365.44385000004,546059.25234,952428.9285,270308.40066000004,343781.48943,835427.6970000002,835427.6970000002,835427.6970000002,835427.6970000002,2646650.68206,2646650.68206 +22838400.0,701902.362,399381.135,1166192.9142,167621.04117,167621.04117,167621.04117,261266.13799999998,939554.9329599999,1133929.9852800001,910039.65864,1386727.0988800002,678036.831,678036.831,678036.831,166024.58599999998,701902.362,701902.362,297605.70047,341015.21235,506891.74773999996,884113.5135,250919.83526,319122.87773,471409.377,471409.377,471409.377,471409.377,2110386.4350799997,2110386.4350799997 +22842000.0,421797.012,235578.45299999998,687889.08276,184289.66512,184289.66512,184289.66512,319503.9155,986506.0275999999,1585747.44448,639737.88564,974838.68288,650682.5519999999,650682.5519999999,650682.5519999999,640333.351,421797.012,421797.012,339958.11121999996,577754.7183,858786.0257199999,1497882.6030000001,425113.34828000003,540664.29194,396233.29500000004,396233.29500000004,396233.29500000004,396233.29500000004,1268203.0160799997,1268203.0160799997 +22845600.0,124241.136,136582.668,398821.39055999997,126610.14201000001,126610.14201000001,126610.14201000001,248968.75499999998,712635.6593599999,100080.51776,419299.64160000003,638932.7872,105579.78600000001,105579.78600000001,105579.78600000001,138598.53,124241.136,124241.136,27205.812139999998,193718.3931,287946.84604,502232.871,142538.47196,181282.15058,121593.79800000001,121593.79800000001,121593.79800000001,121593.79800000001,373551.68224,373551.68224 +22849200.0,26852.22,8409.083999999999,24554.525279999998,97801.79882000001,97801.79882000001,97801.79882000001,85337.66500000001,88099.97992,27245.94624,69378.69959999999,105719.92319999999,15280.145999999999,15280.145999999999,15280.145999999999,30483.495,26852.22,26852.22,11445.71246,30320.53965,45069.04906,78608.8065,22309.927939999998,28374.03587,26899.790999999997,26899.790999999997,26899.790999999997,26899.790999999997,80735.6748,80735.6748 +22852800.0,33915.447,12138.323999999999,35443.90607999999,82889.07869,82889.07869,82889.07869,72456.51000000001,83258.14688,23965.13664,64322.37546,98015.04832,14178.015,14178.015,14178.015,25913.8285,33915.447,33915.447,9718.056659999998,26846.081099999996,39904.54523999999,69600.95099999999,19753.41276,25122.628979999998,31891.890000000003,31891.890000000003,31891.890000000003,31891.890000000003,101972.44398000001,101972.44398000001 +22856400.0,15887.835,4864.617,14204.681639999999,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,41240.75432,18506.68416,33877.16115,51622.3408,10211.037,10211.037,10211.037,20705.7725,15887.835,15887.835,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14769.837000000001,14769.837000000001,14769.837000000001,14769.837000000001,47769.423899999994,47769.423899999994 +22860000.0,12653.304,4137.828,12082.457760000001,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,33185.799999999996,15936.305920000003,28442.029770000005,43340.23584000001,8792.835,8792.835,8792.835,17829.9695,12653.304,12653.304,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,12219.437999999998,12219.437999999998,12219.437999999998,12219.437999999998,38044.26736,38044.26736 +22863600.0,10268.778000000002,3203.478,9354.15576,43916.00818,43916.00818,43916.00818,38643.472,25692.233199999995,12337.789440000002,22372.02387,34090.70304,6807.357,6807.357,6807.357,13803.846000000001,10268.778000000002,10268.778000000002,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,30874.792520000003,30874.792520000003 +22867200.0,11635.86,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29100.46304,13880.007679999999,25325.423970000003,38591.122240000004,7658.277,7658.277,7658.277,15529.3285,11635.86,11635.86,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,34985.1524,34985.1524 +22870800.0,22949.1,6890.49,20120.230799999998,80512.68302000001,80512.68302000001,80512.68302000001,70846.3665,64791.798240000004,22619.26976,44728.229490000005,68157.30208000001,12480.155999999999,12480.155999999999,12480.155999999999,25307.054500000002,22949.1,22949.1,9502.102089999998,25171.7706,37415.81704,65260.14600000001,18521.450960000002,23555.805080000002,23101.775999999998,23101.775999999998,23101.775999999998,23101.775999999998,69000.294,69000.294 +22874400.0,57946.314000000006,18025.434,52634.26728,142770.26015999998,142770.26015999998,142770.26015999998,125591.28399999999,141503.1124,46920.9248,105916.3455,161396.336,23286.290999999997,23286.290999999997,23286.290999999997,44862.503,57946.314000000006,57946.314000000006,16844.63443,44622.68535,66328.04093999999,115688.4435,32833.48206,41758.01913,55163.850000000006,55163.850000000006,55163.850000000006,55163.850000000006,174225.25076,174225.25076 +22878000.0,91671.651,33687.342,98367.03864,147596.62488999998,147596.62488999998,147596.62488999998,127201.42749999999,158488.57719999997,72446.07936,142010.09025,216396.328,26101.778999999995,26101.778999999995,26101.778999999995,45437.66499999999,91671.651,91671.651,17060.589,48421.61775,71974.84909999999,125537.5275,35628.7459,45313.06945,64533.62100000001,64533.62100000001,64533.62100000001,64533.62100000001,275626.09734,275626.09734 +22881600.0,136424.823,38046.108,111094.63536,131392.07862000001,131392.07862000001,131392.07862000001,120543.388,102446.55311999998,98937.97632000002,107239.83794999999,163413.0864,35683.293000000005,35683.293000000005,35683.293000000005,42238.5355,136424.823,136424.823,15116.978629999998,54059.00715,80354.37606,140152.9815,39776.75094,50588.552370000005,58865.826,58865.826,58865.826,58865.826,410183.96781999996,410183.96781999996 +22885200.0,63188.607,12900.189,37668.55188,109078.10826000001,109078.10826000001,109078.10826000001,93388.3895,78394.18024,29816.313600000005,62539.337490000005,95298.03808000001,19213.949999999997,19213.949999999997,19213.949999999997,33359.297999999995,63188.607,63188.607,12549.044689999999,33207.78465,49360.70706000001,86094.25650000002,24434.369940000004,31075.926870000007,31168.974,31168.974,31168.974,31168.974,189987.07838000002,189987.07838000002 +22888800.0,19825.326,18066.732000000004,52754.85744000001,75023.18098,75023.18098,75023.18098,66015.9325,62714.58032,21077.05152,37111.78317,56551.288640000006,12323.307,12323.307,12323.307,23581.572,19825.326,19825.326,28173.901599999997,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,16161.192,16161.192,16161.192,16161.192,59608.146839999994,59608.146839999994 +22892400.0,12741.557999999999,15737.426999999998,45953.28683999999,36596.67484,36596.67484,36596.67484,32202.8945,51105.72319999999,21148.88128,18336.698940000002,27941.63648,7392.636,7392.636,7392.636,11503.205,12741.557999999999,12741.557999999999,26683.893469999995,11441.71575,17007.1923,29663.707499999997,8418.8427,10707.18585,8399.274,8399.274,8399.274,8399.274,38309.617719999995,38309.617719999995 +22896000.0,8783.528999999999,13991.613000000001,40855.50996,13091.122440000001,13091.122440000001,13091.122440000001,11271.011499999999,37853.69448,26684.200960000002,18341.630370000003,27949.151040000004,7341.846,7341.846,7341.846,4026.1234999999997,8783.528999999999,8783.528999999999,24002.44834,4004.5995000000003,5952.5158,10382.295,2946.5942,3747.5141000000003,4292.931,4292.931,4292.931,4292.931,26409.143859999996,26409.143859999996 +22899600.0,10717.971,13744.760999999999,40134.702119999994,7828.35603,7828.35603,7828.35603,6440.577499999999,35058.763920000005,26450.672639999997,20173.48032,30740.54144,14182.836,14182.836,14182.836,3155.2185,10717.971,10717.971,35212.99028,2288.34315,3401.43846,5932.7415,1683.76854,2141.43717,3138.4469999999997,3138.4469999999997,3138.4469999999997,3138.4469999999997,32225.366139999995,32225.366139999995 +22903200.0,18477.765,25666.668,74946.67056,2347.15679,2347.15679,2347.15679,1610.1435,33380.231120000004,102497.95584000001,20889.721020000005,31831.955840000006,16586.579999999998,16586.579999999998,16586.579999999998,2996.6055,18477.765,18477.765,51130.76656999999,1463.11515,2174.80326,3793.2615000000005,1076.56374,1369.1867700000003,4239.0779999999995,4239.0779999999995,4239.0779999999995,4239.0779999999995,55556.4801,55556.4801 +22906800.0,25153.419,28567.851000000002,83418.12492,2340.83608,2340.83608,2340.83608,1610.1435,34857.7336,168569.05152,23457.551880000003,35744.84096,23616.117000000002,23616.117000000002,23616.117000000002,2979.151,25153.419,25153.419,50747.85689999999,1456.04385,2164.29234,3774.9285,1071.36066,1362.56943,8722.572,8722.572,8722.572,8722.572,75627.94645999999,75627.94645999999 +22910400.0,30105.506999999998,29210.094,85293.47448,4179.21845,4179.21845,4179.21845,3220.2905,36412.692,181231.03232000006,26058.588989999997,39708.32608,28123.908000000003,28123.908000000003,28123.908000000003,12424.300000000001,30105.506999999998,30105.506999999998,51922.752309999996,2043.7352999999998,3037.8485199999996,5298.572999999999,1503.78548,1912.53254,16836.522,16836.522,16836.522,16836.522,90517.22438,90517.22438 +22914000.0,58231.062000000005,33760.182,98579.73144,16868.02139,16868.02139,16868.02139,13590.787,220070.61216,188248.76288,49274.12406,75084.37952,30176.291999999998,30176.291999999998,30176.291999999998,27393.9365,58231.062000000005,58231.062000000005,102303.60620999998,12984.51465,19300.439059999997,33663.5565,9554.03794,12150.94087,51758.138999999996,51758.138999999996,51758.138999999996,51758.138999999996,175081.39308,175081.39308 +22917600.0,216715.968,107849.79299999999,314921.39556,110980.97978000001,110980.97978000001,110980.97978000001,100513.56,756684.4725599999,298663.73568000004,300252.71409,457527.94528000004,117582.54000000001,117582.54000000001,117582.54000000001,50350.69899999999,216715.968,216715.968,1067909.5189099999,67900.69214999999,100928.93005999998,176038.8315,49961.49694,63541.635369999996,210368.78399999999,210368.78399999999,210368.78399999999,210368.78399999999,651592.67712,651592.67712 +22921200.0,279346.218,350351.235,1023025.6061999999,183764.45197,183764.45197,183764.45197,205145.857,1511211.14688,592126.95104,1089768.2042099999,1660599.16832,332269.94700000004,332269.94700000004,332269.94700000004,340968.6595,279346.218,279346.218,392519.79507,396653.52915,589593.64086,1028361.0015000001,291858.64614,371189.35197,360797.586,360797.586,360797.586,360797.586,839900.96212,839900.96212 +22924800.0,680147.5889999999,121015.938,353366.53896,149165.97619000004,149165.97619000004,149165.97619000004,124715.24450000002,471528.54376,468077.41248000006,394591.33707,601282.0374400001,271058.667,271058.667,271058.667,104501.76800000001,680147.5889999999,680147.5889999999,203934.35595,106129.74375,157753.34749999997,275151.1875,78090.5275,99316.47625,604105.353,604105.353,604105.353,604105.353,2044977.0842599997,2044977.0842599997 +22928400.0,344141.202,131400.59399999998,383689.73448,164946.56683999998,164946.56683999998,164946.56683999998,143399.1755,246214.25400000002,1434637.3766400001,97817.67198,149055.50016,301015.86600000004,301015.86600000004,301015.86600000004,227912.81449999998,344141.202,344141.202,122237.93452,366774.156,545180.3504,950895.9600000001,269873.3296,343228.1608,92208.078,92208.078,92208.078,92208.078,1034717.88068,1034717.88068 +22932000.0,35345.709,10352.517,30229.34964,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,33324.493440000006,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,35345.709,35345.709,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24525.408,24525.408,24525.408,24525.408,106272.76505999999,106272.76505999999 +22935600.0,37594.476,101013.39300000001,294959.10756,97207.85151000001,97207.85151000001,97207.85151000001,116582.86499999999,85032.53744,41547.76064,52022.56311,79272.47712000001,19534.38,19534.38,19534.38,50828.393000000004,37594.476,37594.476,11445.71246,30783.90825,45757.8093,79810.1325,22650.8757,28807.65735,21633.3,21633.3,21633.3,21633.3,113034.05784,113034.05784 +22939200.0,51789.98700000001,19651.497000000003,57382.37124000001,83164.73572,83164.73572,83164.73572,147625.037,92766.13991999999,75183.31328,41467.77663000001,63188.99296000001,40459.731,40459.731,40459.731,32188.803499999998,51789.98700000001,51789.98700000001,17905.552079999998,28208.983049999995,41930.389619999994,73134.40049999999,20756.23938,26398.03599,23262.809999999998,23262.809999999998,23262.809999999998,23262.809999999998,155715.22758,155715.22758 +22942800.0,27315.174,9255.765,27026.833799999997,65964.37034000001,65964.37034000001,65964.37034000001,57965.20799999999,43179.640159999995,29651.818880000003,32641.83069,49739.93248,12770.112,12770.112,12770.112,20705.7725,27315.174,27315.174,14800.514299999999,20835.0144,30969.57696,54016.704000000005,15330.45504,19497.45792,15416.412,15416.412,15416.412,15416.412,82127.62315999999,82127.62315999999 +22946400.0,58210.929000000004,52484.64,153255.1488,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,167377.62952,17311.712,75378.2358,114862.0736,26623.095,26623.095,26623.095,17829.9695,58210.929000000004,58210.929000000004,182127.42249,17885.4318,26585.25912,46369.638,13160.14488,16737.23124,16735.311,16735.311,16735.311,16735.311,175020.85986,175020.85986 +22950000.0,10401.630000000001,14011.983,40914.990359999996,174119.13398,174119.13398,174119.13398,84551.94299999998,44960.10432,42234.02752,22575.89817,34401.36864,16130.571,16130.571,16130.571,57451.7475,10401.630000000001,10401.630000000001,41358.91968,30796.3782,45776.34488,79842.462,22660.05112,28819.32676,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,31274.2342,31274.2342 +22953600.0,10902.189,3603.9120000000003,10523.42304,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,28903.76016,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,10902.189,10902.189,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,32779.24826,32779.24826 +22957200.0,208752.321,51711.186,150996.66312,85985.48992,85985.48992,85985.48992,70846.3665,228569.46487999998,57561.69536,208861.9512,318265.83040000004,73557.717,73557.717,73557.717,39084.57,208752.321,208752.321,9502.102089999998,28106.724599999998,41778.39064,72869.286,20680.997359999998,26302.34228,141959.271,141959.271,141959.271,141959.271,627648.64514,627648.64514 +22960800.0,135235.842,62636.493,182898.55956000002,148242.63157,148242.63157,148242.63157,136025.46649999998,232350.89408,124944.36416000001,172173.32916000002,262359.35872,98845.023,98845.023,98845.023,69726.1425,135235.842,135235.842,24821.668299999994,53972.36145,80225.58417999999,139928.3445,39712.99682,50507.46911,78920.949,78920.949,78920.949,78920.949,406609.09828,406609.09828 +22964400.0,213859.512,121633.76999999999,355170.60839999997,153077.5026,153077.5026,153077.5026,181270.873,290942.45192,406677.39456,238387.38861000002,363256.97312000004,182571.37199999997,182571.37199999997,182571.37199999997,105971.82400000001,213859.512,213859.512,63934.20253999999,91502.22915,136010.72086,237228.0015,67327.56614,85628.01197,108939.762,108939.762,108939.762,108939.762,643004.26608,643004.26608 +22968000.0,286954.725,184238.01,537974.9892000001,139966.34762000002,139966.34762000002,139966.34762000002,227498.39699999997,430934.00879999995,527837.73824,331961.51436000003,505846.11712000007,241437.90300000002,241437.90300000002,241437.90300000002,127611.6765,286954.725,286954.725,105879.42755,140781.29265,209260.09425999998,364988.53650000005,103587.22274000001,131743.48127000002,170344.16999999998,170344.16999999998,170344.16999999998,170344.16999999998,862777.2065,862777.2065 +22971600.0,209995.65899999999,107036.74799999999,312547.30415999994,114921.43168000002,114921.43168000002,114921.43168000002,150442.5475,270844.65255999996,223446.64,170091.60399,259187.20608,126112.494,126112.494,126112.494,71446.94549999999,209995.65899999999,209995.65899999999,78099.17154,46476.36225,69083.3829,120494.2725,34197.4221,43492.69455,165126.978,165126.978,165126.978,165126.978,631386.94806,631386.94806 +22975200.0,23994.849000000002,20451.881999999998,59719.49544,75046.25788,75046.25788,75046.25788,66015.9325,79475.69567999999,61061.69344,52015.25532,79261.34144,21850.808999999997,21850.808999999997,21850.808999999997,23581.572,23994.849000000002,23994.849000000002,35418.36285,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,18042.483,18042.483,18042.483,18042.483,72144.51266,72144.51266 +22978800.0,22678.62,27574.065,80516.2698,37169.136620000005,37169.136620000005,37169.136620000005,32202.8945,56215.968479999996,141058.01408,35980.42812,54827.31904,25725.375,25725.375,25725.375,11503.205,22678.62,22678.62,59773.89886,11716.0101,17414.90884,30374.841,8620.66916,10963.87118,10573.377,10573.377,10573.377,10573.377,68187.0508,68187.0508 +22982400.0,24626.082000000002,33386.361000000004,97488.17412,13374.74039,13374.74039,13374.74039,11271.011499999999,44755.716,195480.93824000002,30227.86431,46061.50752,32887.578,32887.578,32887.578,13855.303000000002,24626.082000000002,24626.082000000002,59611.76819,5005.7271,7440.611639999999,12977.811,3683.22636,4684.3717799999995,10526.463,10526.463,10526.463,10526.463,74042.41988,74042.41988 +22986000.0,28195.212,33101.214,96655.54487999999,7888.254220000001,7888.254220000001,7888.254220000001,6440.577499999999,42034.6264,213750.93888,30953.09847,47166.626240000005,33166.143,33166.143,33166.143,28354.0075,28195.212,28195.212,59201.172159999995,3292.87275,4894.5911,8537.077500000001,2422.9039000000002,3081.47845,14596.278000000002,14596.278000000002,14596.278000000002,14596.278000000002,84773.60408,84773.60408 +22989600.0,30219.948000000004,32326.929,94394.63268,2460.4371000000006,2460.4371000000006,2460.4371000000006,2633.785,38411.215919999995,209205.96032000004,31861.51521,48550.880320000004,31871.316000000003,31871.316000000003,31871.316000000003,26235.912500000002,30219.948000000004,30219.948000000004,57885.66601999999,7917.340949999999,11768.491979999999,20526.4395,5825.59902,7409.067209999999,21664.932,21664.932,21664.932,21664.932,90861.31032,90861.31032 +22993200.0,32882.685,32673.597,95406.90324,2776.4481800000003,2776.4481800000003,2776.4481800000003,4738.474999999999,43045.37856,212147.86880000003,37768.35405,57551.77760000001,32448.78,32448.78,32448.78,29214.3495,32882.685,32882.685,58548.609079999995,14525.005049999998,21590.254419999997,37657.4205,10687.53458,13592.53559,26574.696,26574.696,26574.696,26574.696,98867.2729,98867.2729 +22996800.0,36051.273,32608.068,95215.55855999999,4591.75772,4591.75772,4591.75772,6305.7294999999995,47872.55904,209597.24864000003,41897.66112,63844.05504,32690.540999999997,32690.540999999997,32690.540999999997,29702.151500000007,36051.273,36051.273,58081.09151,15017.881949999999,22322.876379999998,38935.2495,11050.19462,14053.77101,26789.724,26789.724,26789.724,26789.724,108394.16082,108394.16082 +23000400.0,61742.754,40944.51,119557.96919999999,18392.33,18392.33,18392.33,14282.366,264739.83776,207016.54528,64773.159360000005,98701.95712,34171.86,34171.86,34171.86,31805.756500000003,61742.754,61742.754,126181.2591,17536.726799999997,26066.937119999995,45465.587999999996,12903.566879999998,16410.912239999998,60359.29500000001,60359.29500000001,60359.29500000001,60359.29500000001,185639.88036,185639.88036 +23004000.0,255533.74800000002,121155.237,353773.29204,112527.52687000002,112527.52687000002,112527.52687000002,108280.45199999999,984952.6518399998,351139.09632,423694.63248000003,645629.91616,159302.256,159302.256,159302.256,55597.1395,255533.74800000002,255533.74800000002,999977.8841,86075.73539999999,127944.67335999999,223159.314,63334.73864,80549.88572,271306.983,271306.983,271306.983,271306.983,768304.80232,768304.80232 +23007600.0,298365.63,379306.716,1107575.61072,185126.26176000002,185126.26176000002,185126.26176000002,256331.992,1648507.48536,678356.3801600001,1141348.58082,1739197.8374400001,410706.186,410706.186,410706.186,388121.25800000003,298365.63,298365.63,412748.37993999996,472929.02595,702971.0459799999,1226112.2895,347982.34502,442568.15021,405868.95900000003,405868.95900000003,405868.95900000003,405868.95900000003,897085.9942,897085.9942 +23011200.0,726254.943,135817.584,396587.34527999995,150571.31463,150571.31463,150571.31463,128017.3195,573257.9332,685524.13504,477339.22068,727374.05056,347466.294,347466.294,347466.294,134836.618,726254.943,726254.943,229585.59533,150877.82924999998,224267.78569999995,391164.74249999993,111016.2793,141191.84514999998,700817.4299999999,700817.4299999999,700817.4299999999,700817.4299999999,2183606.52862,2183606.52862 +23014800.0,358497.93,143734.05299999999,419703.43476,165122.43968,165122.43968,165122.43968,145310.2315,266127.05383999995,1605326.8422400001,101726.07900000001,155011.16800000003,334286.301,334286.301,334286.301,285819.667,358497.93,358497.93,133250.04471999998,431326.65644999995,641132.4621799999,1118254.2945,317371.21882,403636.55011,100660.329,100660.329,100660.329,100660.329,1077883.7762,1077883.7762 +23018400.0,35682.165,11051.973,32271.76116,111622.68447000001,111622.68447000001,111622.68447000001,98218.8235,65301.09296000001,36488.0384,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,35682.165,35682.165,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24620.754,24620.754,24620.754,24620.754,107284.3761,107284.3761 +23022000.0,42834.246,123677.547,361138.43724,97992.76729,97992.76729,97992.76729,123463.72149999999,115264.09168,93608.78912000003,61873.86009,94283.97728,23573.057999999997,23573.057999999997,23573.057999999997,113915.753,42834.246,42834.246,11445.71246,31555.83825,46905.2213,81811.43250000001,23218.8637,29530.03135,23010.600000000002,23010.600000000002,23010.600000000002,23010.600000000002,128788.29963999998,128788.29963999998 +23025600.0,68807.64600000001,28233.947999999997,82443.12816,84125.52841000001,84125.52841000001,84125.52841000001,158488.3405,108843.03504,149444.56832000002,47757.84216,72773.85472,59469.49800000001,59469.49800000001,59469.49800000001,40168.9855,68807.64600000001,68807.64600000001,41846.09572,42808.4271,63631.291639999996,110984.811,31498.54636,40060.23178,27358.299,27358.299,27358.299,27358.299,206881.65564,206881.65564 +23029200.0,29971.497,10112.973,29529.88116,65997.17047000001,65997.17047000001,65997.17047000001,57965.20799999999,46557.2684,40522.070400000004,33426.37725,50935.432,17257.698,17257.698,17257.698,20705.7725,29971.497,29971.497,16148.00694,21475.27485,31921.27274,55676.6385,15801.56026,20096.61523,15639.098999999998,15639.098999999998,15639.098999999998,15639.098999999998,90114.30098,90114.30098 +23032800.0,68529.237,60588.189000000006,176917.51188,56724.84356000001,56724.84356000001,56724.84356000001,52390.960999999996,190002.60127999997,19960.30656,107642.29287,164026.35104,33244.593,33244.593,33244.593,17829.9695,68529.237,68529.237,205215.57640999998,20697.067349999998,30764.529739999994,53659.0635,15228.953259999998,19368.366729999998,19906.115999999998,19906.115999999998,19906.115999999998,19906.115999999998,206044.57257999998,206044.57257999998 +23036400.0,13589.684999999998,64757.301,189091.31892,185741.03933000003,185741.03933000003,185741.03933000003,106120.70700000001,93732.16936,41583.000960000005,24754.967160000004,37721.85472,26596.734000000004,26596.734000000004,26596.734000000004,133120.8655,13589.684999999998,13589.684999999998,105981.25043999997,49127.326199999996,73023.82807999999,127367.14199999999,36148.00792,45973.47316,15923.003999999999,15923.003999999999,15923.003999999999,15923.003999999999,40859.652899999994,40859.652899999994 +23040000.0,15291.636000000002,5876.064,17158.10688,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,30047.681839999997,16839.38944,24439.466730000004,37241.09216000001,7768.293,7768.293,7768.293,15529.3285,15291.636000000002,15291.636000000002,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11153.604,11153.604,11153.604,11153.604,45976.85224,45976.85224 +23043600.0,448875.333,189132.006,552265.4575199999,100611.8245,100611.8245,100611.8245,231605.6645,545917.8213600001,447561.74720000004,494736.68748,753884.4761600001,324627.912,324627.912,324627.912,96910.1805,448875.333,448875.333,29386.10337,68563.2438,101913.75992,177756.558,50449.00408,64161.65284,265325.44499999995,265325.44499999995,265325.44499999995,265325.44499999995,1349618.50122,1349618.50122 +23047200.0,265703.454,166587.252,486434.77584,153670.87197,153670.87197,153670.87197,242177.12050000002,414564.9852,476396.12992000004,324481.27404,494447.65567999997,239958.375,239958.375,239958.375,122452.45599999999,265703.454,265703.454,93518.52601,145914.10470000003,216889.60748000004,378295.82700000005,107363.95852000001,136546.77946000002,169147.56,169147.56,169147.56,169147.56,798881.7183599999,798881.7183599999 +23050800.0,297741.18,195875.997,571957.91124,156348.08541,156348.08541,156348.08541,251759.69,556341.176,497509.52064000006,385085.28849,586796.63008,270588.74700000003,270588.74700000003,270588.74700000003,182889.8365,297741.18,297741.18,144123.28541,179994.90735000002,267547.98574000003,466653.46350000007,132440.69726000002,168439.67873,236197.48200000002,236197.48200000002,236197.48200000002,236197.48200000002,895208.4811999999,895208.4811999999 +23054400.0,324652.389,227202.48599999998,663431.25912,142566.14152,142566.14152,142566.14152,246894.77049999998,632839.83824,573897.2064,429228.46491000004,654062.4227200001,301697.181,301697.181,301697.181,204593.18600000002,324652.389,324652.389,172751.86187999998,213990.68025,318079.9741,554790.6525,157454.8709,200253.00695,278755.941,278755.941,278755.941,278755.941,976121.51626,976121.51626 +23058000.0,227337.717,184933.131,540004.74252,117129.79333,117129.79333,117129.79333,163563.7955,325805.13784,379669.4048,239579.70792,365073.84064,166656.75,166656.75,166656.75,96895.68,227337.717,227337.717,201070.21258999998,93888.1692,139557.22928,243413.77200000003,69083.14672,87860.78056000001,208490.78399999999,208490.78399999999,208490.78399999999,208490.78399999999,683528.73578,683528.73578 +23061600.0,38625.699,38785.899,113254.82508,75599.05342,75599.05342,75599.05342,66015.9325,81700.9576,221206.92672000002,61216.30389,93281.98688000001,43508.115,43508.115,43508.115,42057.8445,38625.699,38625.699,68792.92302999999,24475.42575,36380.756299999994,63454.807499999995,18009.0787,22904.163849999997,24058.305,24058.305,24058.305,24058.305,116134.60166,116134.60166 +23065200.0,34860.852,35606.01,103969.5492,37165.66491,37165.66491,37165.66491,32202.8945,59266.743599999994,226389.71263999998,46070.89221,70203.26432,38216.361000000004,38216.361000000004,38216.361000000004,38644.452,34860.852,34860.852,63580.042239999995,12449.28285,18504.85994,32275.9185,9160.21306,11650.06963,21733.212,21733.212,21733.212,21733.212,104814.96168,104814.96168 +23068800.0,33412.676999999996,33727.083,98483.08235999999,13506.29093,13506.29093,13506.29093,13215.9965,45178.958320000005,218580.82112000004,38521.02261,58698.701120000005,34358.585999999996,34358.585999999996,34358.585999999996,31324.684999999998,33412.676999999996,33412.676999999996,60524.49454999999,14514.345449999999,21574.409779999998,37629.784499999994,10679.691219999999,13582.560309999999,25488.0,25488.0,25488.0,25488.0,100460.78218,100460.78218 +23072400.0,34915.614,33176.985,96876.79620000001,8255.4252,8255.4252,8255.4252,9569.377999999999,41790.058880000004,215867.19680000003,41134.752960000005,62681.528320000005,33710.967,33710.967,33710.967,32042.482500000002,34915.614,34915.614,59616.61186,16505.872199999998,24534.654479999994,42793.00199999999,12145.061519999997,15446.235959999998,28093.083,28093.083,28093.083,28093.083,104979.61276,104979.61276 +23076000.0,35999.268,32621.024999999998,95253.393,2760.4775000000004,2760.4775000000004,2760.4775000000004,4723.320000000001,41035.06368,213108.80127999999,42117.421290000006,64178.927680000015,33831.963,33831.963,33831.963,30157.826999999997,35999.268,35999.268,58697.026439999994,14723.2323,21884.903319999998,38171.343,10833.39068,13778.03714,26781.036,26781.036,26781.036,26781.036,108237.79912,108237.79912 +23079600.0,37157.955,34823.556000000004,101684.78352,2794.7062,2794.7062,2794.7062,4824.736000000001,46264.772,219880.55680000002,43803.902729999994,66748.80416,35290.962,35290.962,35290.962,31458.917,37157.955,37157.955,60215.93785999999,15213.22965,22613.245059999997,39441.7065,11193.93194,14236.577870000001,27647.015999999996,27647.015999999996,27647.015999999996,27647.015999999996,111721.5847,111721.5847 +23083200.0,40397.646,38685.897000000004,112962.81924000001,4710.154020000001,4710.154020000001,4710.154020000001,6685.8715,56084.5568,237290.29760000002,47855.021759999996,72921.93792,39104.318999999996,39104.318999999996,39104.318999999996,35763.161,40397.646,40397.646,64226.66016,16983.3834,25244.43656,44030.994,12496.415439999999,15893.09212,30176.061,30176.061,30176.061,30176.061,121462.25563999999,121462.25563999999 +23086800.0,69811.038,51616.71899999999,150720.81947999998,20113.085300000002,20113.085300000002,20113.085300000002,14816.501,276050.74976,244950.11136,77053.63722,117415.06624,41828.78999999999,41828.78999999999,41828.78999999999,39510.6565,69811.038,69811.038,161125.03368,20223.456299999998,30060.544919999997,52431.183,14880.469079999999,18925.16034,65650.31400000001,65650.31400000001,65650.31400000001,65650.31400000001,209898.52092,209898.52092 +23090400.0,297310.104,151399.20299999998,442085.67276,115266.80374000002,115266.80374000002,115266.80374000002,125363.707,1128015.21944,406195.63904,508199.00355,774398.4816,192525.375,192525.375,192525.375,78934.29250000001,297310.104,297310.104,1106061.0921099999,116066.77514999999,172523.94726,300913.8615,85402.21974,108615.57477,329097.672,329097.672,329097.672,329097.672,893912.37936,893912.37936 +23094000.0,327323.463,425218.89600000007,1241639.17632,187578.02569,187578.02569,187578.02569,326960.7425,1757623.9725600001,777040.4607999999,1222022.23542,1862129.12064,459391.94999999995,459391.94999999995,459391.94999999995,463607.032,327323.463,327323.463,456064.75797999994,582863.06835,866379.17814,1511126.4735,428872.08486,545444.69853,458618.154,458618.154,458618.154,458618.154,984152.5454199999,984152.5454199999 +23097600.0,769604.1390000001,153220.41,447403.5972,151726.42133000004,151726.42133000004,151726.42133000004,131536.45400000003,632642.9076,1022871.18848,576215.1698100001,878042.1635200001,382690.371,382690.371,382690.371,160835.332,769604.1390000001,769604.1390000001,244902.70844,193510.57545,287637.94178,501694.08450000006,142385.55922,181087.67431,754798.4010000001,754798.4010000001,754798.4010000001,754798.4010000001,2313943.11126,2313943.11126 +23101200.0,373162.695,149032.371,435174.52332000004,165651.85307,165651.85307,165651.85307,149728.796,275557.96472,1887471.8982400005,105854.45388,161302.02496,351829.34400000004,351829.34400000004,351829.34400000004,311360.81200000003,373162.695,373162.695,137719.7757,504929.52989999996,750537.2271599999,1309076.559,371528.39484,472514.30082,104593.176,104593.176,104593.176,104593.176,1121975.8363,1121975.8363 +23104800.0,38553.633,11564.493,33768.31956,111668.20742,111668.20742,111668.20742,98218.8235,65301.09296000001,37971.439360000004,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,38553.633,38553.633,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24658.875,24658.875,24658.875,24658.875,115917.92321999998,115917.92321999998 +23108400.0,49702.40700000001,206695.95299999998,603552.18276,98910.38542,98910.38542,98910.38542,152434.19449999998,142454.84551999997,159886.41984000002,78460.72731,119559.20352000001,33691.287,33691.287,33691.287,139712.6115,49702.40700000001,49702.40700000001,13663.16575,33632.888849999996,49992.590339999995,87196.37849999999,24747.162659999998,31473.740429999998,24963.683999999997,24963.683999999997,24963.683999999997,24963.683999999997,149438.57038,149438.57038 +23112000.0,79725.351,32516.22,94947.3624,84987.38754,84987.38754,84987.38754,165670.3125,123209.96064,159833.66272,57581.250720000004,87742.85824000002,63211.209,63211.209,63211.209,45555.3245,79725.351,79725.351,57400.60638,54008.19585,80278.84913999999,140021.2485,39739.36386,50541.00303,31727.259000000002,31727.259000000002,31727.259000000002,31727.259000000002,239707.55533999996,239707.55533999996 +23115600.0,34010.655,11289.114,32964.21288,66067.34134000001,66067.34134000001,66067.34134000001,57965.20799999999,49626.41032,51919.82784,34778.33772,52995.56224000001,20934.275999999998,20934.275999999998,20934.275999999998,20705.7725,34010.655,34010.655,18698.538299999997,22004.85285,32708.447940000002,57049.618500000004,16191.22506,20592.195630000002,16174.301999999998,16174.301999999998,16174.301999999998,16174.301999999998,102258.7027,102258.7027 +23119200.0,73614.288,65806.866,192156.04872,56724.84356000001,56724.84356000001,56724.84356000001,53676.293999999994,212194.15744,19978.7264,129678.85875,197605.88,36961.56,36961.56,36961.56,19730.578,73614.288,73614.288,224875.43649999998,25438.2525,37811.920999999995,65951.02500000001,18717.529,23805.179500000002,21439.107,21439.107,21439.107,21439.107,221333.62591999996,221333.62591999996 +23122800.0,13423.497,78437.904,229038.67967999997,199481.4855,199481.4855,199481.4855,110951.274,110836.56576000001,42357.7984,25134.20427,38299.739839999995,29178.062999999995,29178.062999999995,29178.062999999995,151526.10549999998,13423.497,13423.497,120844.06867,54028.61594999999,80309.20198,140074.1895,39754.389019999995,50560.11221,20958.537,20958.537,20958.537,20958.537,40359.98097999999,40359.98097999999 +23126400.0,13651.536,5459.706,15942.34152,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29524.896720000004,14699.44576,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,13651.536,13651.536,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10941.792,10941.792,10941.792,10941.792,41045.618239999996,41045.618239999996 +23130000.0,452704.90200000006,191165.736,558203.94912,101115.58468,101115.58468,101115.58468,257884.9035,552078.61256,437050.01344,513187.61592,782000.1766400001,342778.22099999996,342778.22099999996,342778.22099999996,93714.488,452704.90200000006,452704.90200000006,25006.987979999994,69967.49625,104001.0685,181397.2125,51482.256499999996,65475.75575,276629.505,276629.505,276629.505,276629.505,1361132.7386800002,1361132.7386800002 +23133600.0,254988.51899999997,162020.562,473100.04104,152939.08597000001,152939.08597000001,152939.08597000001,236090.939,391926.61647999997,454622.85632,312778.44003,476614.76576000004,228130.31699999998,228130.31699999998,228130.31699999998,116451.2965,254988.51899999997,254988.51899999997,89217.92425,150951.9078,224377.89752,391356.798,111070.78648,141261.16804000002,164072.43300000002,164072.43300000002,164072.43300000002,164072.43300000002,766665.4804599999,766665.4804599999 +23137200.0,286518.171,191457.054,559054.59768,155996.02227000004,155996.02227000004,155996.02227000004,250590.935,531534.1466399999,483952.86656000005,374539.48098,570726.82816,258748.80599999998,258748.80599999998,258748.80599999998,174534.86750000002,286518.171,286518.171,136423.14880999998,191252.32784999997,284281.23793999996,495839.3685,140723.93506,178974.40063,227441.337,227441.337,227441.337,227441.337,861464.63414,861464.63414 +23140800.0,301655.86799999996,208198.52699999997,607939.6988399999,141090.8235,141090.8235,141090.8235,240629.48699999996,584923.54928,523003.98272,399550.71828000003,608839.18976,284846.034,284846.034,284846.034,192150.61250000002,301655.86799999996,301655.86799999996,215216.45145000002,206289.89685,306633.37754,534825.6585,151788.61546,193046.59483000002,269024.958,269024.958,269024.958,269024.958,906978.6431199999,906978.6431199999 +23144400.0,207518.898,162958.587,475839.0740399999,115871.02780000001,115871.02780000001,115871.02780000001,172606.413,293715.6168,326080.944,215317.83062999998,328103.36096,147233.823,147233.823,147233.823,101637.95249999998,207518.898,207518.898,184300.44580999998,94431.45645,140364.78217999998,244822.2945,69482.89882,88369.19011,190454.061,190454.061,190454.061,190454.061,623940.1533199999,623940.1533199999 +23148000.0,33969.492,34663.041,101216.07972,75505.51668,75505.51668,75505.51668,66015.9325,76198.28768,183250.84992,55980.06707999999,85302.95936,38266.968,38266.968,38266.968,37392.159,33969.492,33969.492,61353.92613999999,24316.167599999997,36144.031839999996,63041.91599999999,17891.896159999997,22755.12968,21402.987,21402.987,21402.987,21402.987,102134.93928,102134.93928 +23151600.0,29981.409,31634.388,92372.41296,37073.17009,37073.17009,37073.17009,32202.8945,54905.06368,195097.77728,41051.3775,62554.48,33579.833999999995,33579.833999999995,33579.833999999995,34567.7185,29981.409,29981.409,56409.371199999994,12313.13805,18302.491619999997,31922.9505,9060.03738,11522.66499,17399.766,17399.766,17399.766,17399.766,90144.10306,90144.10306 +23155200.0,28250.946,30399.963,88767.89196,13294.357890000001,13294.357890000001,13294.357890000001,11470.473,41475.72087999999,192664.93312,32310.99501,49235.80192,30502.584000000003,30502.584000000003,30502.584000000003,27722.894500000002,28250.946,28250.946,54534.76508999999,9331.13115,13869.977659999997,24191.8215,6865.869339999999,8732.09557,19169.436,19169.436,19169.436,19169.436,84941.17764,84941.17764 +23158800.0,30603.27,30021.630000000005,87663.1596,7892.11258,7892.11258,7892.11258,9169.6325,38259.87816,191416.86656,34327.56348,52308.66816,29689.494,29689.494,29689.494,27319.0855,30603.27,30603.27,53935.36693999999,13076.627849999999,19437.357939999998,33902.3685,9621.81506,12237.14063,23743.569,23743.569,23743.569,23743.569,92013.8318,92013.8318 +23162400.0,31692.447,29642.964,86557.45487999999,2606.70883,2606.70883,2606.70883,4342.324,35044.07631999999,190164.26304,34892.76042,53169.920640000004,29168.699999999997,29168.699999999997,29168.699999999997,26901.826,31692.447,31692.447,53335.15589999999,13086.4167,19451.90828,33927.747,9629.01772,12246.30106,23700.513,23700.513,23700.513,23700.513,95288.62397999999,95288.62397999999 +23166000.0,32891.994000000006,30151.839,88043.36988,2625.8093400000002,2625.8093400000002,2625.8093400000002,4404.3895,36608.90432,194465.39904000002,37784.84850000001,57576.91200000001,30273.017999999996,30273.017999999996,30273.017999999996,27598.0425,32891.994000000006,32891.994000000006,54283.09627,13396.0149,19912.101160000002,34730.40900000001,9856.82084,12536.023820000002,24239.790000000005,24239.790000000005,24239.790000000005,24239.790000000005,98895.26196,98895.26196 +23169600.0,34076.232,31492.407000000003,91957.82844000001,4475.595850000001,4475.595850000001,4475.595850000001,6078.079,43044.6544,199339.84576,40133.46015,61155.7488,32071.902000000002,32071.902000000002,32071.902000000002,29012.13,34076.232,34076.232,55463.47027,14283.05805,21230.619619999998,37030.1505,10509.50938,13366.12099,25183.965000000004,25183.965000000004,25183.965000000004,25183.965000000004,102455.87088,102455.87088 +23173200.0,58855.458,41566.197,121373.29523999999,18443.404430000002,18443.404430000002,18443.404430000002,14164.311,240043.39463999998,204320.93824000002,64138.47804,97734.82368,34208.58,34208.58,34208.58,33142.458999999995,58855.458,58855.458,121624.01497999999,17323.6482,25750.21288,44913.162000000004,12746.783120000002,16211.512760000001,56248.488,56248.488,56248.488,56248.488,176958.74372,176958.74372 +23176800.0,246026.55,122990.466,359132.16072,112072.02875000001,112072.02875000001,112072.02875000001,112721.50749999999,944533.25848,342889.23840000003,406414.23039,619297.87488,160181.538,160181.538,160181.538,59595.35399999999,246026.55,246026.55,975996.9797499999,89421.90209999999,132918.48163999998,231834.561,65796.85636,83681.23678,269254.707,269254.707,269254.707,269254.707,739719.8269999999,739719.8269999999 +23180400.0,288383.28300000005,373656.042,1091075.64264,184810.69838000002,184810.69838000002,184810.69838000002,256128.94650000002,1567943.9612,670068.3987199999,1093205.78283,1665837.38336,386464.821,386464.821,386464.821,400086.6975,288383.28300000005,288383.28300000005,406731.25272,500880.5424,744518.7321599999,1298579.184,368549.13984,468725.24832,397789.032,397789.032,397789.032,397789.032,867072.40422,867072.40422 +23184000.0,692035.797,129952.887,379462.43004,148740.42513000002,148740.42513000002,148740.42513000002,126365.61349999998,530239.7748799999,869875.94304,494483.4699,753498.6208,332876.709,332876.709,332876.709,141267.2485,692035.797,692035.797,222811.22499999998,166976.5023,248197.17132,432902.04300000006,122861.72268,156257.02314,666205.704,666205.704,666205.704,666205.704,2080720.96298,2080720.96298 +23187600.0,339059.799,136074.378,397337.18376,163683.16151000003,163683.16151000003,163683.16151000003,146591.78799999997,254419.1912,1659866.48704,102896.04023999999,156793.96607999998,309500.27999999997,309500.27999999997,309500.27999999997,273206.808,339059.799,339059.799,125498.80668000001,452202.88769999996,672163.30468,1172377.857,332732.00132,423172.57886,95831.44499999999,95831.44499999999,95831.44499999999,95831.44499999999,1019439.79566,1019439.79566 +23191200.0,33756.072,10980.321,32062.53732,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,36687.7408,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,33756.072,33756.072,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24552.048000000003,24552.048000000003,24552.048000000003,24552.048000000003,101493.25648,101493.25648 +23194800.0,44386.002,152569.56600000002,445503.13272000005,97424.01328,97424.01328,97424.01328,138587.6555,117263.24632,113996.25536000001,66631.41492,101533.58464,26735.159999999996,26735.159999999996,26735.159999999996,115078.257,44386.002,44386.002,11445.71246,32054.8671,47646.98764,83105.211,23586.05036,29997.02378,22975.881,22975.881,22975.881,22975.881,133453.91268,133453.91268 +23198400.0,71351.87400000001,30695.901,89632.03092,83767.1527,83767.1527,83767.1527,161772.618,111256.30408,155443.45216000002,46534.91514,70910.34688,60429.513000000006,60429.513000000006,60429.513000000006,42913.24800000001,71351.87400000001,71351.87400000001,41142.926629999994,47102.281650000004,70013.76186,122117.0265,34657.97514,44078.43147,27914.559,27914.559,27914.559,27914.559,214531.30116,214531.30116 +23202000.0,29319.737999999998,10015.02,29243.8584,65986.73905999999,65986.73905999999,65986.73905999999,57965.20799999999,44806.81015999999,41300.61056000001,33258.4623,50679.56160000001,16725.327,16725.327,16725.327,20705.7725,29319.737999999998,29319.737999999998,14525.901779999997,21377.81565,31776.40746,55423.9665,15729.84954,20005.41267,15533.277,15533.277,15533.277,15533.277,88154.67891999999,88154.67891999999 +23205600.0,64145.74800000001,60376.41900000001,176299.14348,56724.84356000001,56724.84356000001,56724.84356000001,51480.996,187547.65216,16949.71264,102152.20091999999,155660.49664,32500.392,32500.392,32500.392,17829.9695,64145.74800000001,64145.74800000001,205389.25588999997,23399.78625,34781.9045,60666.1125,17217.6205,21897.57775,19749.48,19749.48,19749.48,19749.48,192864.88232,192864.88232 +23209200.0,11364.795,54595.04699999999,159417.53723999998,187481.37540000002,187481.37540000002,187481.37540000002,99836.21900000001,83915.95864,40685.194240000004,24262.93506,36972.09152,25726.821,25726.821,25726.821,120563.26800000001,11364.795,11364.795,97226.55019999998,45205.38315,67194.17446,117199.1415,33262.23254,42303.30917,13912.068,13912.068,13912.068,13912.068,34170.150299999994,34170.150299999994 +23212800.0,11922.651000000002,4852.17,14168.3364,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29369.809680000002,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,11922.651000000002,11922.651000000002,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10757.763,10757.763,10757.763,10757.763,35847.437340000004,35847.437340000004 +23216400.0,370804.833,149964.807,437897.23644,95403.07513000001,95403.07513000001,95403.07513000001,188019.363,449796.94600000005,284108.11264,415096.55628,632528.08576,243173.26499999996,243173.26499999996,243173.26499999996,74165.966,370804.833,370804.833,18834.56991,50058.40905,74407.80802,129781.0605,36833.10098,46844.782790000005,232476.327,232476.327,232476.327,232476.327,1114886.53122,1114886.53122 +23220000.0,198388.479,114875.076,335435.22192000004,149128.69499000002,149128.69499000002,149128.69499000002,213858.50149999998,303495.26327999996,376078.23231999995,234053.28954,356652.63168,179624.043,179624.043,179624.043,91846.64300000001,198388.479,198388.479,60178.775799999996,104882.6232,155899.60288000002,271917.912,77172.89312000001,98149.41776000001,118654.422,118654.422,118654.422,118654.422,596488.02686,596488.02686 +23223600.0,278923.668,185112.22499999998,540527.6969999999,155361.54997000002,155361.54997000002,155361.54997000002,249389.61250000002,432911.95256,489785.38432000007,341540.00810999994,520441.91711999994,259209.46799999996,259209.46799999996,259209.46799999996,149215.374,278923.668,278923.668,109871.86223,179106.3819,266227.26396,464349.879,131786.91804000002,167608.19442,196320.414,196320.414,196320.414,196320.414,838630.49512,838630.49512 +23227200.0,311830.323,208469.75699999998,608731.6904399999,140404.34474,140404.34474,140404.34474,247530.115,597591.2568,530720.33984,412086.07041000004,627940.6787200001,293184.576,293184.576,293184.576,190835.351,311830.323,311830.323,195360.77145,210793.07565,313326.99146,546500.5665000001,155102.06554,197260.68067,266689.314,266689.314,266689.314,266689.314,937569.8378199999,937569.8378199999 +23230800.0,213586.41299999997,165985.347,484677.21324,115757.55213000001,115757.55213000001,115757.55213000001,159741.0185,310067.65184,321976.8448,219382.34324999998,334296.904,151849.77000000002,151849.77000000002,151849.77000000002,90643.2065,213586.41299999997,213586.41299999997,187693.21779,89439.9489,132945.30676,231881.34900000002,65810.13524,83698.12502,201642.108,201642.108,201642.108,201642.108,642183.1484199999,642183.1484199999 +23234400.0,32490.888,36625.809,106947.36228,75503.96194,75503.96194,75503.96194,66015.9325,76520.87176,192167.30368000004,54769.91541,83458.91872,39071.172,39071.172,39071.172,35188.12150000001,32490.888,32490.888,65028.03982999999,24040.970099999995,35734.972839999995,62328.44099999999,17689.40516,22497.599179999997,20119.454999999998,20119.454999999998,20119.454999999998,20119.454999999998,97689.26991999999,97689.26991999999 +23238000.0,30450.108,33892.542,98966.22263999999,37095.09925,37095.09925,37095.09925,32202.8945,56804.00976,215271.44064000002,41837.305440000004,63752.084480000005,36433.68000000001,36433.68000000001,36433.68000000001,37687.1005,30450.108,30450.108,60633.28232,12377.0916,18397.55344,32088.756,9107.09456,11582.51288,17533.392,17533.392,17533.392,17533.392,91553.32471999999,91553.32471999999 +23241600.0,29554.097999999998,32713.494,95523.40247999999,13319.03023,13319.03023,13319.03023,11271.011499999999,43604.4476,213218.30848000004,33805.96695,51513.854400000004,33411.072,33411.072,33411.072,30895.7425,29554.097999999998,29554.097999999998,58864.982019999996,10468.115999999998,15560.014399999998,27139.559999999998,7702.4655999999995,9796.0888,19825.242,19825.242,19825.242,19825.242,88859.32132,88859.32132 +23245200.0,32087.07,31902.290999999997,93154.68972,7821.60797,7821.60797,7821.60797,8985.574499999999,39951.15968,208328.08576000002,35820.23151,54583.20992,32070.975000000002,32070.975000000002,32070.975000000002,29724.040500000003,32087.07,32087.07,57469.12964,13440.97395,19978.92918,34846.9695,9889.90182,12578.09661,25459.731000000003,25459.731000000003,25459.731000000003,25459.731000000003,96475.1238,96475.1238 +23248800.0,34515.926999999996,32543.301,95026.43892,2552.1871100000003,2552.1871100000003,2552.1871100000003,4656.883,37792.90008,215411.87968000004,38710.353780000005,58987.205760000004,32945.547,32945.547,32945.547,31037.006,34515.926999999996,34515.926999999996,58756.76183,14770.799550000002,21955.608220000002,38294.6655,10868.390780000002,13822.550690000002,26577.642,26577.642,26577.642,26577.642,103777.88717999999,103777.88717999999 +23252400.0,36588.714,33601.638,98116.78296,2731.0880300000003,2731.0880300000003,2731.0880300000003,4788.5915,42963.79375999999,224156.01600000003,42579.79236,64883.49312,35770.791,35770.791,35770.791,32435.7425,36588.714,36588.714,60724.61940999999,15399.86985,22890.670739999998,39925.5885,11331.26226,14411.23623,27697.179,27697.179,27697.179,27697.179,110010.06675999999,110010.06675999999 +23256000.0,37706.397000000004,35785.907999999996,104494.85135999999,4577.6918000000005,4577.6918000000005,4577.6918000000005,6444.826499999999,50905.46959999999,227506.54464000004,44788.75422,68249.53024000001,36877.172999999995,36877.172999999995,36877.172999999995,33686.736999999994,37706.397000000004,37706.397000000004,61588.65895,16191.393749999997,24067.207499999997,41977.68749999999,11913.667499999998,15151.946249999999,28479.564,28479.564,28479.564,28479.564,113370.56698,113370.56698 +23259600.0,63732.819,46865.181000000004,136846.32852,18902.61439,18902.61439,18902.61439,14571.69,259423.68576,234940.3808,70042.23051000001,106731.01792000001,39896.481,39896.481,39896.481,38289.4435,63732.819,63732.819,137127.48673,19413.1161,28856.03924,50330.301,14284.21876,18166.84198,61831.367999999995,61831.367999999995,61831.367999999995,61831.367999999995,191623.34246,191623.34246 +23263200.0,271947.315,139968.054,408706.71768,113679.14151000002,113679.14151000002,113679.14151000002,118724.36450000001,1052749.83088,395733.0937600001,459839.58006,700707.93152,183707.277,183707.277,183707.277,67273.90599999999,271947.315,271947.315,1026510.6473699999,103534.69004999999,153896.00842,268423.2705,76181.08058,96888.01858999999,302789.022,302789.022,302789.022,302789.022,817654.9271,817654.9271 +23266800.0,303377.4,397996.43100000004,1162149.57852,185743.38365,185743.38365,185743.38365,294133.1225,1659622.52376,720292.2304000001,1149805.27326,1752084.22592,431085.81000000006,431085.81000000006,431085.81000000006,431279.56200000003,303377.4,303377.4,424357.81036999996,546268.2160499999,811983.8668199999,1416250.9305,401945.50218,511199.14539,423204.879,423204.879,423204.879,423204.879,912154.716,912154.716 +23270400.0,723480.285,138429.957,404215.47444,149732.84986000002,149732.84986000002,149732.84986000002,128033.7975,573315.9535999999,968461.712,529684.22493,807137.8665600001,360669.81600000005,360669.81600000005,360669.81600000005,147267.3755,723480.285,723480.285,231412.61610999997,180349.05555,268074.39862,467571.6255,132701.28038,168771.09149000002,707373.804,707373.804,707373.804,707373.804,2175264.0568999997,2175264.0568999997 +23274000.0,347852.466,140308.71600000001,409701.45071999996,164108.08986,164108.08986,164108.08986,147064.64150000003,263162.6932,1787267.0329600002,102661.48578,156436.54976000002,328761.52499999997,328761.52499999997,328761.52499999997,292468.5645,347852.466,347852.466,130007.92674999998,485004.19409999996,720919.81444,1257418.281,356867.28356,453868.12238,99132.567,99132.567,99132.567,99132.567,1045876.41444,1045876.41444 +23277600.0,30643.605,10039.881,29316.45252,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,33419.38880000001,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,30643.605,30643.605,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24342.939,24342.939,24342.939,24342.939,92135.1057,92135.1057 +23281200.0,35559.24,157025.505,458514.4746,97102.82109,97102.82109,97102.82109,137753.959,119919.45351999998,94666.55360000001,66285.10875,101005.88,22022.16,22022.16,22022.16,120872.0975,35559.24,35559.24,11445.71246,31772.55375,47227.3515,82373.28749999999,23378.3235,29732.83425,22092.290999999997,22092.290999999997,22092.290999999997,22092.290999999997,106914.78159999999,106914.78159999999 +23284800.0,60767.97600000001,28822.179,84160.76268,83341.33709,83341.33709,83341.33709,153466.3305,100071.64704,118866.19776,43819.803089999994,66773.03327999999,51787.242,51787.242,51787.242,42204.7255,60767.97600000001,60767.97600000001,10782.51928,31739.376149999993,47178.03565999999,82287.27149999999,23353.911339999995,29701.786569999997,25343.64,25343.64,25343.64,25343.64,182709.04784,182709.04784 +23288400.0,23679.828,8179.251,23883.41292,65912.25399000001,65912.25399000001,65912.25399000001,57965.20799999999,43519.27704,25431.140480000005,32585.957250000003,49654.79200000001,12909.671999999999,12909.671999999999,12909.671999999999,20705.7725,23679.828,23679.828,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14887.554,14887.554,14887.554,14887.554,71197.34951999999,71197.34951999999 +23292000.0,54686.037,48176.469,140675.28948,56724.84356000001,56724.84356000001,56724.84356000001,50174.1065,169878.14232,15936.305920000003,80617.52034,122845.74528,27983.879999999997,27983.879999999997,27983.879999999997,17829.9695,54686.037,54686.037,173406.13251,18308.9403,27214.770519999995,47467.623,13471.76348,17133.55154,17696.442,17696.442,17696.442,17696.442,164422.68458,164422.68458 +23295600.0,10609.662,26613.48,77711.3616,169888.82889,169888.82889,169888.82889,89961.73550000001,58767.715599999996,37808.620160000006,22489.648859999998,34269.941119999996,18297.881999999998,18297.881999999998,18297.881999999998,98985.145,10609.662,10609.662,71550.78463,37360.670849999995,55533.63914,96860.9985,27490.07386,34962.20803,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,31899.71708,31899.71708 +23299200.0,11599.86,5538.465,16172.317799999999,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29549.94448,13880.007679999999,24439.466730000004,37241.09216000001,7658.277,7658.277,7658.277,15529.3285,11599.86,11599.86,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,10642.737,10642.737,10642.737,10642.737,34876.912399999994,34876.912399999994 +23302800.0,343072.11600000004,134611.614,393065.91288,93212.10459,93212.10459,93212.10459,145113.864,402781.75736000005,239152.64896000002,358579.61055,546407.0255999999,219808.23600000003,219808.23600000003,219808.23600000003,79968.084,343072.11600000004,343072.11600000004,27453.38284,46077.59925,68490.6537,119460.44249999999,33904.0113,43119.531149999995,214863.162,214863.162,214863.162,214863.162,1031503.49544,1031503.49544 +23306400.0,205087.923,122819.91,358634.1372,149635.49546,149635.49546,149635.49546,228140.12550000002,319817.16391999996,387098.75840000005,241053.96882,367320.33344,196512.36000000002,196512.36000000002,196512.36000000002,97688.577,205087.923,205087.923,58274.184149999994,98237.69505,146022.45042,254690.3205,72283.53858000001,91931.07759,120270.552,120270.552,120270.552,120270.552,616631.02182,616631.02182 +23310000.0,249344.664,163804.278,478308.49176,154231.61215000003,154231.61215000003,154231.61215000003,240937.8825,382986.73864,459081.17568000004,312500.32863,476190.97696,232889.26799999998,232889.26799999998,232889.26799999998,134056.4995,249344.664,249344.664,95729.80325999999,167635.27529999998,249176.38452,434609.973,123346.44948,156873.50454,168539.715,168539.715,168539.715,168539.715,749696.2897599998,749696.2897599998 +23313600.0,274626.615,182897.43000000002,534060.4956,138208.73033000002,138208.73033000002,138208.73033000002,230263.9395,483401.47400000005,466008.50432,356735.98023,543597.68416,255226.53600000002,255226.53600000002,255226.53600000002,166718.24049999999,274626.615,274626.615,124252.99744,184460.63175,274185.92669999995,478231.2675,135726.5883,172618.71465,220193.283,220193.283,220193.283,220193.283,825710.6891,825710.6891 +23317200.0,192475.449,136027.383,397199.95836,113922.01876000002,113922.01876000002,113922.01876000002,145829.60349999997,272842.32967999997,251847.72672000004,188267.56536,286883.90912,127926.738,127926.738,127926.738,73674.272,192475.449,192475.449,146552.84527,75825.072,112707.8848,196583.52000000002,55792.275200000004,70957.2896,175019.601,175019.601,175019.601,175019.601,578709.51666,578709.51666 +23320800.0,24486.915,25461.405,74347.3026,75105.17113,75105.17113,75105.17113,66015.9325,74493.11864,136255.95200000002,51605.26077,78636.58784,28265.154000000002,28265.154000000002,28265.154000000002,23581.572,24486.915,24486.915,57623.126599999996,23455.514249999997,34864.7397,60810.5925,17258.6253,21949.72815,17882.940000000002,17882.940000000002,17882.940000000002,17882.940000000002,73623.9911,73623.9911 +23324400.0,25206.761999999995,33169.644,96855.36047999999,37075.12369,37075.12369,37075.12369,32202.8945,53400.95416,189056.89664000002,36291.398010000004,55301.17792,34015.539,34015.539,34015.539,33473.454000000005,25206.761999999995,25206.761999999995,59340.95557,12178.61325,18102.5313,31574.1825,8961.0537,11396.77635,12876.326999999997,12876.326999999997,12876.326999999997,12876.326999999997,75788.33107999999,75788.33107999999 +23328000.0,25191.144,31489.625999999997,91949.70791999999,13288.456390000001,13288.456390000001,13288.456390000001,11271.011499999999,42240.2236,203678.08256,29916.817140000003,45587.530880000006,31987.815,31987.815,31987.815,29705.1265,25191.144,25191.144,56644.61867999999,4914.059399999999,7304.35496,12740.153999999999,3615.77704,4598.58892,12962.232,12962.232,12962.232,12962.232,75741.37296000001,75741.37296000001 +23331600.0,28343.324999999997,32118.432,93785.82144,7820.191610000001,7820.191610000001,7820.191610000001,6440.577499999999,40068.730559999996,210668.98304,31531.84839,48048.53088,32367.011999999995,32367.011999999995,32367.011999999995,29223.414500000003,28343.324999999997,28343.324999999997,57908.196059999995,10570.973849999998,15712.904339999997,27406.228499999997,7778.148659999999,9892.343429999999,20422.875,20422.875,20422.875,20422.875,85218.93049999999,85218.93049999999 +23335200.0,31838.58,32033.163,93536.83596,2337.6818300000004,2337.6818300000004,2337.6818300000004,4262.8985,37164.18904,211755.45984,34213.69623,52135.156160000006,31892.031,31892.031,31892.031,29027.8695,31838.58,31838.58,57852.900299999994,12124.12455,18021.538220000002,31432.915500000003,8920.960780000001,11345.78569,25061.183999999997,25061.183999999997,25061.183999999997,25061.183999999997,95727.9972,95727.9972 +23338800.0,35262.021,33326.598,97313.66616,2563.24123,2563.24123,2563.24123,4738.443499999999,39599.37559999999,222438.37952000005,40097.24964,61100.57088000001,34361.373,34361.373,34361.373,32314.4885,35262.021,35262.021,60253.95128999999,15238.1088,22650.22592,39506.208,11212.238080000001,14259.859840000001,27362.940000000002,27362.940000000002,27362.940000000002,27362.940000000002,106021.14313999999,106021.14313999999 +23342400.0,37234.857,35180.994000000006,102728.50248000001,4563.943340000001,4563.943340000001,4563.943340000001,6423.662,48591.57984,227760.57088,43744.38747000001,66658.11424000001,36565.263,36565.263,36565.263,33667.0565,37234.857,37234.857,61560.092359999995,16167.045149999998,24031.015259999996,41914.561499999996,11895.75174,15129.160769999999,28391.595,28391.595,28391.595,28391.595,111952.80338,111952.80338 +23346000.0,39653.748,37322.096999999994,108980.52323999998,13710.320030000003,13710.320030000003,13710.320030000003,14462.307999999999,58421.199199999995,229166.48448000004,48894.804840000004,74506.36928000001,38258.124,38258.124,38258.124,36489.1625,39653.748,39653.748,62392.66488,18968.80275,28195.603099999997,49178.377499999995,13957.291899999998,17751.05245,30254.112,30254.112,30254.112,30254.112,119225.60231999999,119225.60231999999 +23349600.0,428732.35800000007,342965.664,1001459.73888,110703.82906,110703.82906,110703.82906,258013.41999999998,632314.2908,404501.9712,416492.71125,634655.56,202038.90899999999,202038.90899999999,202038.90899999999,485163.1925,428732.35800000007,428732.35800000007,725392.8291999999,118735.39305,176490.63362,307832.5005,87365.79538,111112.87399000001,417027.0510000001,417027.0510000001,417027.0510000001,417027.0510000001,1289055.2897200002,1289055.2897200002 +23353200.0,802997.2110000001,687763.5,2008269.42,217798.74435000002,217798.74435000002,217798.74435000002,582401.379,1159434.5420799998,1277623.8752000001,963574.2725699999,1468303.65344,504620.01300000004,504620.01300000004,504620.01300000004,354728.72750000004,802997.2110000001,802997.2110000001,340908.57203,477901.86704999994,710362.77522,1239004.8405,351641.37377999997,447221.74718999997,814536.753,814536.753,814536.753,814536.753,2414344.94774,2414344.94774 +23356800.0,605614.203,353214.09900000005,1031385.16908,158581.41651,158581.41651,158581.41651,327239.0275,835994.28888,1221751.2563200002,811923.5844299999,1237216.89056,658114.98,658114.98,658114.98,183683.70649999997,605614.203,605614.203,261818.45872,478144.56734999997,710723.5297399999,1239634.0635,351819.95326,447448.86673,411964.88100000005,411964.88100000005,411964.88100000005,411964.88100000005,1820880.03702,1820880.03702 +23360400.0,346958.12400000007,196824.60600000003,574727.84952,170954.79852,170954.79852,170954.79852,328039.52300000004,851992.1980000001,1355559.75232,539747.32707,822472.1174400001,557688.75,557688.75,557688.75,560682.1675,346958.12400000007,346958.12400000007,291326.8082399999,518061.58199999994,770056.9687999999,1343122.6199999999,381190.9912,484803.30759999994,327360.06,327360.06,327360.06,327360.06,1043187.42616,1043187.42616 +23364000.0,108213.09,115124.08200000001,336162.31944,120658.71125000001,120658.71125000001,120658.71125000001,279314.57749999996,627980.09392,120745.27168,362374.26624,552189.35808,95544.477,95544.477,95544.477,153524.343,108213.09,108213.09,22819.52504,174189.1473,258918.18932,451601.4930000001,128168.80468000002,163006.63414,107382.48599999999,107382.48599999999,107382.48599999999,107382.48599999999,325360.6906,325360.6906 +23367600.0,38929.254,12092.238000000001,35309.33496,97159.42665000001,97159.42665000001,97159.42665000001,85337.66500000001,93259.35712,36731.946240000005,77343.23436,117856.35712,16509.894,16509.894,16509.894,30528.057,38929.254,38929.254,11445.71246,31403.076299999997,46678.15291999999,81415.383,23106.461079999997,29387.07634,33075.495,33075.495,33075.495,33075.495,117047.29035999998,117047.29035999998 +23371200.0,85750.359,30630.975,89442.44699999999,85247.46054,85247.46054,85247.46054,80278.77900000001,129604.62048,171979.19168000002,106224.31596,161865.62432,61322.15999999999,61322.15999999999,61322.15999999999,38914.0535,85750.359,85750.359,11800.166169999999,50960.95155,75749.36502,132120.9855,37497.193980000004,47689.38429,50198.079,50198.079,50198.079,50198.079,257822.74606,257822.74606 +23374800.0,49909.850999999995,18445.446,53860.70232,66897.2062,66897.2062,66897.2062,58749.141500000005,82100.98008000001,76584.58112,62003.72913,94481.87296,29796.987,29796.987,29796.987,24111.829,49909.850999999995,49909.850999999995,7774.446289999999,26486.761049999997,39370.44482,68669.3805,19489.02418,24786.37639,31000.802999999996,31000.802999999996,31000.802999999996,31000.802999999996,150062.28533999997,150062.28533999997 +23378400.0,16127.142,4665.507,13623.280439999999,56724.84356000001,56724.84356000001,56724.84356000001,49914.4835,42849.86704,16065.473280000002,31765.60107,48404.72544,8792.835,8792.835,8792.835,17829.9695,16127.142,16127.142,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,15690.440999999999,15690.440999999999,15690.440999999999,15690.440999999999,48488.940279999995,48488.940279999995 +23382000.0,12399.557999999999,3516.6810000000005,10268.70852,43916.00818,43916.00818,43916.00818,38643.472,33484.410879999996,12337.789440000002,24439.97388,37241.86496,6807.357,6807.357,6807.357,13803.846000000001,12399.557999999999,12399.557999999999,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,12237.920999999998,12237.920999999998,12237.920999999998,12237.920999999998,37281.337719999996,37281.337719999996 +23385600.0,15620.502,4390.218,12819.43656,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,40720.4804,14245.815040000001,29267.06622,44597.43424,7658.277,7658.277,7658.277,15529.3285,15620.502,15620.502,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,14862.207000000002,14862.207000000002,14862.207000000002,14862.207000000002,46965.64268,46965.64268 +23389200.0,81279.567,29141.139,85092.12587999999,82007.10969,82007.10969,82007.10969,70846.3665,121174.37024,95757.02336,94107.05346000001,143401.22432,29324.607000000004,29324.607000000004,29324.607000000004,25307.054500000002,81279.567,81279.567,9502.102089999998,27190.55385,40416.57634,70494.0285,20006.87666,25444.98743,48947.058,48947.058,48947.058,48947.058,244380.56478,244380.56478 +23392800.0,175487.394,81483.246,237931.07831999997,147822.87212,147822.87212,147822.87212,136979.5,255928.19463999997,326458.55616000004,186583.44579,284317.63168,141564.02399999998,141564.02399999998,141564.02399999998,83626.1265,175487.394,175487.394,52430.34199,100577.1735,149499.89740000002,260755.63500000004,74004.9326,94120.36730000001,94049.781,94049.781,94049.781,94049.781,527632.09796,527632.09796 +23396400.0,233826.141,138167.247,403448.36124,152481.95578000002,152481.95578000002,152481.95578000002,171604.99649999998,371287.2213599999,394745.79903999995,245576.52966,374211.85472,186502.062,186502.062,186502.062,134145.046,233826.141,233826.141,107331.95135,117374.6457,174467.99188,304304.637,86364.55412,109839.48326000001,154466.742,154466.742,154466.742,154466.742,703037.26394,703037.26394 +23400000.0,235787.886,136829.84399999998,399543.14447999996,133658.31974,133658.31974,133658.31974,153993.182,356741.6268,225423.57952000003,214109.3115,326261.808,156770.802,156770.802,156770.802,101295.369,235787.886,235787.886,127470.90186999999,107233.6644,159394.23695999998,278013.204,78902.79504,100349.52792000001,191501.211,191501.211,191501.211,191501.211,708935.57724,708935.57724 +23403600.0,114583.845,25222.850999999995,73650.72491999998,109361.38840000003,109361.38840000003,109361.38840000003,95980.8185,188110.44712,104641.45728000002,112271.92998000002,171081.03616000002,65304.17999999999,65304.17999999999,65304.17999999999,60257.281,114583.845,114583.845,77365.91109,36253.38465,53887.747059999994,93990.25649999999,26675.32994,33926.00687,98110.644,98110.644,98110.644,98110.644,344515.4273,344515.4273 +23407200.0,28039.032,35035.274999999994,102303.003,75332.08584000001,75332.08584000001,75332.08584000001,66015.9325,76001.4096,185114.19136000003,53427.532830000004,81413.38336,37047.528,37047.528,37047.528,23658.2815,28039.032,28039.032,64403.72587999999,23781.4542,35349.22328,61655.622,17498.45272,22254.74356,19172.502,19172.502,19172.502,19172.502,84304.02287999999,84304.02287999999 +23410800.0,28729.373999999996,33493.668000000005,97801.51056,37076.499350000006,37076.499350000006,37076.499350000006,32202.8945,55112.13839999999,209720.18176,39789.30816,60631.32672,35907.051,35907.051,35907.051,35781.7005,28729.373999999996,28729.373999999996,59987.01071999999,12356.18145,18366.47218,32034.5445,9091.70882,11562.94511,16199.037,16199.037,16199.037,16199.037,86379.65115999998,86379.65115999998 +23414400.0,27471.711000000003,31816.914000000004,92905.38888,13290.09253,13290.09253,13290.09253,11271.011499999999,42463.364160000005,206661.26976,31853.497410000004,48538.66272000001,32416.896000000004,32416.896000000004,32416.896000000004,29959.4015,27471.711000000003,27471.711000000003,57296.03217,9131.3568,13573.02912,23673.888,6718.874879999999,8545.14624,17048.97,17048.97,17048.97,17048.97,82598.27774,82598.27774 +23418000.0,30454.521000000004,31961.507999999998,93327.60336,7812.04347,7812.04347,7812.04347,7916.597499999999,39795.18496,209652.9216,33747.81375,51425.240000000005,32217.575999999997,32217.575999999997,32217.575999999997,28904.645000000004,30454.521000000004,30454.521000000004,57663.809579999994,11956.19535,17771.924939999997,30997.5435,8797.39806,11188.63713,24147.912,24147.912,24147.912,24147.912,91566.59314000001,91566.59314000001 +23421600.0,36004.575000000004,36215.742,105749.96663999998,2402.06109,2402.06109,2402.06109,4783.8035,38893.79848,226756.20544000005,38956.49058,59362.27136,34450.035,34450.035,34450.035,32791.402,36004.575000000004,36004.575000000004,61200.74206999999,15411.4245,22907.8458,39955.545,11339.7642,14422.0491,27830.781000000003,27830.781000000003,27830.781000000003,27830.781000000003,108253.75550000001,108253.75550000001 +23425200.0,38711.142,38658.237,112882.05204,2753.93294,2753.93294,2753.93294,4890.046,44124.77408,233631.32096,43598.434530000006,66435.70976000001,37260.498,37260.498,37260.498,33899.215,38711.142,38711.142,71262.18462999999,16026.024150000001,23821.39886,41548.9515,11791.988140000001,14997.192970000002,28727.73,28727.73,28727.73,28727.73,116391.50028,116391.50028 +23428800.0,40913.37,41051.922,119871.61224,4632.555399999999,4632.555399999999,4632.555399999999,6637.981,55055.79407999999,243110.8256,46970.87094,71574.66047999999,39453.39,39453.39,39453.39,35911.3475,40913.37,40913.37,80477.97627999999,17248.277700000002,25638.18068,44717.757000000005,12691.325320000002,16140.980860000003,30284.388,30284.388,30284.388,30284.388,123012.8658,123012.8658 +23432400.0,44705.46,42507.636000000006,124122.29712,13761.78518,13761.78518,13761.78518,14622.842499999999,61599.65423999999,240703.52768000003,50902.89183,77566.31136,44065.233,44065.233,44065.233,39587.5305,44705.46,44705.46,80059.65058,19788.6483,29414.23772,51303.903000000006,14560.53628,18518.26594,31687.083,31687.083,31687.083,31687.083,134414.4164,134414.4164 +23436000.0,436335.357,341300.667,996597.9476399999,111029.7628,111029.7628,111029.7628,236833.12800000003,640681.9771199999,419131.83936,415112.26344,632552.0204800001,212887.866,212887.866,212887.866,475089.92650000006,436335.357,436335.357,700335.0764799999,121106.80574999998,180015.54829999997,313980.6075,89110.68669999999,113332.04784999999,419323.86299999995,419323.86299999995,419323.86299999995,419323.86299999995,1311914.97338,1311914.97338 +23439600.0,844662.2010000001,738503.058,2156428.92936,240324.81462,240324.81462,240324.81462,604130.646,1229277.54904,1358225.11296,1003812.0945300001,1529618.4297600002,542435.5109999999,542435.5109999999,542435.5109999999,386097.1135,844662.2010000001,844662.2010000001,381214.08246999996,487410.84990000003,724497.11516,1263657.759,358638.10684,456120.27682,856337.133,856337.133,856337.133,856337.133,2539617.68434,2539617.68434 +23443200.0,688899.693,396355.158,1157357.06136,162217.82313,162217.82313,162217.82313,338182.23250000004,978684.3812800001,1552021.0547200001,903222.1233000001,1376338.4736000001,740952.666,740952.666,740952.666,196610.505,688899.693,688899.693,299608.50750999997,563558.42745,837684.3785799999,1461077.4045,414667.68241999997,527379.36791,473665.989,473665.989,473665.989,473665.989,2071291.7436199998,2071291.7436199998 +23446800.0,406998.68100000004,226767.86700000003,662162.1716400001,175831.01261,175831.01261,175831.01261,433903.974,1005290.8606400001,1652467.0752000003,661015.83723,1007262.2281599999,668404.569,668404.569,668404.569,695656.5945,406998.68100000004,406998.68100000004,340187.3510099999,688823.2062,1023880.42008,1785837.942,506837.81592,644602.45716,389771.68200000003,389771.68200000003,389771.68200000003,389771.68200000003,1223709.36754,1223709.36754 +23450400.0,155010.18300000002,144467.787,421845.93804000004,126091.856,126091.856,126091.856,346101.3815,741220.9935199999,462404.83071999997,436845.56328,665669.4297600001,131113.737,131113.737,131113.737,250586.74550000002,155010.18300000002,155010.18300000002,37147.3414,238547.57175,354581.82269999996,618456.6675,175523.8923,223233.40665000002,133191.102,133191.102,133191.102,133191.102,466063.95022,466063.95022 +23454000.0,59973.956999999995,21559.170000000002,62952.7764,98211.94086,98211.94086,98211.94086,85753.15349999999,116798.00271999999,97775.77471999999,96581.60252999999,147171.96576,37780.922999999995,37780.922999999995,37780.922999999995,33185.026,59973.956999999995,59973.956999999995,11445.71246,35665.06545,53013.25778,92464.9845,26242.44322,33375.45631,42481.521,42481.521,42481.521,42481.521,180321.69738,180321.69738 +23457600.0,116889.42,55148.50199999999,161033.62584,86649.49007,86649.49007,86649.49007,88222.7605,188694.01496,210507.8176,127788.24702,194724.94784,92223.639,92223.639,92223.639,69924.477,116889.42,116889.42,38832.01022999999,65647.27620000001,97579.40808000001,170196.64200000002,48303.42792,61432.883160000005,66539.466,66539.466,66539.466,66539.466,351447.5228,351447.5228 +23461200.0,48875.48700000001,18217.641000000003,53195.51172,66832.15539000001,66832.15539000001,66832.15539000001,58836.8865,82315.69936,73303.93472,60806.574989999994,92657.63808,28192.568999999996,28192.568999999996,28192.568999999996,22507.352000000003,48875.48700000001,48875.48700000001,9367.446139999998,25521.77565,37936.07146,66167.5665,18778.985539999998,23883.340669999998,30622.107000000004,30622.107000000004,30622.107000000004,30622.107000000004,146952.29758,146952.29758 +23464800.0,26236.851000000002,7161.708,20912.18736,56888.53082,56888.53082,56888.53082,49914.4835,55732.509920000004,23208.46528,38815.51737,59147.45504,9418.971000000001,9418.971000000001,9418.971000000001,17829.9695,26236.851000000002,26236.851000000002,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,20119.490999999998,20119.490999999998,20119.490999999998,20119.490999999998,78885.46534,78885.46534 +23468400.0,14723.223,4049.625,11824.904999999999,43916.00818,43916.00818,43916.00818,38643.472,38077.60008,13559.29792,26279.50836,40044.96512,6807.357,6807.357,6807.357,13803.846000000001,14723.223,14723.223,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,13399.671000000002,13399.671000000002,13399.671000000002,13399.671000000002,44267.82382,44267.82382 +23472000.0,17440.071,4799.1900000000005,14013.6348,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,43630.76848,16360.484480000001,30185.81433,45997.43136,7743.177000000001,7743.177000000001,7743.177000000001,15529.3285,17440.071,17440.071,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,15553.728,15553.728,15553.728,15553.728,52436.48014,52436.48014 +23475600.0,110486.25,45016.212,131447.33904,83351.29230999999,83351.29230999999,83351.29230999999,72785.895,149365.11896,189573.75104000003,115819.99002000001,176487.60384000003,67754.907,67754.907,67754.907,28622.0165,110486.25,110486.25,13066.533349999998,38670.63525,57480.7961,100257.2025,28453.9489,36188.07595,58057.91700000001,58057.91700000001,58057.91700000001,58057.91700000001,332195.325,332195.325 +23479200.0,221711.12999999998,121217.181,353954.16852,150651.89656,150651.89656,150651.89656,145458.026,345382.12016,377167.09184,224248.37021999998,341711.80224,172030.725,172030.725,172030.725,115304.17500000002,221711.12999999998,221711.12999999998,94729.13566999999,115328.0511,171425.89324,298998.651,84858.66476,107924.27498,139217.481,139217.481,139217.481,139217.481,666611.4641999999,666611.4641999999 +23482800.0,261714.75600000002,157882.188,461015.98896,152950.91339000003,152950.91339000003,152950.91339000003,200058.42500000002,492105.04208000004,447665.31392000004,305604.61008,465683.21536000003,234609.30299999999,234609.30299999999,234609.30299999999,174409.3295,261714.75600000002,261714.75600000002,135962.93763,129595.01445000002,192632.58938000002,335987.07450000005,95356.33162000001,121275.33451000002,214112.619,214112.619,214112.619,214112.619,786889.03304,786889.03304 +23486400.0,259619.12400000004,145525.428,424934.24976000004,135127.91534,135127.91534,135127.91534,182966.1225,416678.3410399999,300703.63776,253765.66425,386690.536,190654.848,190654.848,190654.848,114041.18600000002,259619.12400000004,259619.12400000004,153918.11928999997,141735.5415,210678.5086,367462.515,104289.3614,132636.46970000002,224645.403,224645.403,224645.403,224645.403,780588.1661600001,780588.1661600001 +23490000.0,122148.984,53933.880000000005,157486.92960000003,110968.03311,110968.03311,110968.03311,97171.72499999999,197054.39544,207387.62944000002,129479.67438,197302.36096,85585.962,85585.962,85585.962,67575.54299999999,122148.984,122148.984,96876.54574,42924.7269,63804.16196,111286.329,31584.12004,40169.06542,106584.006,106584.006,106584.006,106584.006,367261.27856,367261.27856 +23493600.0,35088.420000000006,33131.415,96743.7318,75444.56436,75444.56436,75444.56436,66015.9325,74826.2264,195907.20576000004,56911.50843,86722.29856000001,38092.929000000004,38092.929000000004,38092.929000000004,45399.9035,35088.420000000006,35088.420000000006,58763.53431,24266.530799999997,36070.25072,62913.227999999996,17855.37328,22708.67944,23633.205,23633.205,23633.205,23633.205,105499.18280000001,105499.18280000001 +23497200.0,32804.471999999994,33229.026,97028.75591999998,37076.09642,37076.09642,37076.09642,32202.8945,55936.15072,210822.88064000002,43402.78089,66137.57088000001,35712.117,35712.117,35712.117,37042.5685,32804.471999999994,32804.471999999994,59589.97407999999,16569.38835,24629.06614,42957.673500000004,12191.79686,15505.674530000002,21760.233,21760.233,21760.233,21760.233,98632.11247999998,98632.11247999998 +23500800.0,34795.293,34212.068999999996,99899.24148,13338.78194,13338.78194,13338.78194,13397.4855,44542.853839999996,224525.25056000001,38475.14727,58628.795840000006,34969.932,34969.932,34969.932,32916.9015,34795.293,34795.293,61347.21619,14893.40115,22137.84566,38612.5215,10958.601340000001,13937.281570000001,26978.391000000003,26978.391000000003,26978.391000000003,26978.391000000003,104617.84761999999,104617.84761999999 +23504400.0,38888.562,38399.259000000005,112125.83628,8063.34562,8063.34562,8063.34562,9706.431,43725.195439999996,233641.93984,43071.723029999994,65633.10175999999,36578.03999999999,36578.03999999999,36578.03999999999,35338.632,38888.562,38888.562,63662.3702,17685.9045,26288.6778,45852.345,13013.3322,16550.5131,29780.880000000005,29780.880000000005,29780.880000000005,29780.880000000005,116924.94307999998,116924.94307999998 +23508000.0,38938.706999999995,38664.612,112900.66704,2759.02451,2759.02451,2759.02451,4892.6605,43963.1112,232868.20864,43581.7179,66410.23680000001,37169.706,37169.706,37169.706,33758.725,38938.706999999995,38938.706999999995,77619.08544,16045.7274,23850.686159999997,41600.034,11806.48584,15015.63132,28731.932999999997,28731.932999999997,28731.932999999997,28731.932999999997,117075.71238,117075.71238 +23511600.0,41476.215000000004,42858.453,125146.68276,2826.16323,2826.16323,2826.16323,5086.0705,49019.062,245672.81536000004,46917.388349999994,71493.1632,39925.959,39925.959,39925.959,35954.695,41476.215000000004,41476.215000000004,81821.39485,16961.2056,25211.47104,43973.496,12480.09696,15872.338080000001,30432.200999999997,30432.200999999997,30432.200999999997,30432.200999999997,124705.1531,124705.1531 +23515200.0,41606.892,42493.119,124079.90748,4635.18055,4635.18055,4635.18055,6628.5415,60761.386479999994,241098.77632,46958.887709999995,71556.40032,46696.734,46696.734,46696.734,37355.297,41606.892,41606.892,84251.36837,17204.375699999997,25572.923879999995,44603.937,12659.02212,16099.89726,30635.298000000003,30635.298000000003,30635.298000000003,30635.298000000003,125098.05528,125098.05528 +23518800.0,71276.046,55416.077999999994,161814.94775999998,19708.09181,19708.09181,19708.09181,14786.022999999997,278851.86487999995,250519.07200000004,74954.33085,114216.12320000002,54433.32000000001,54433.32000000001,54433.32000000001,42212.681000000004,71276.046,71276.046,175447.23195999998,21726.557099999998,32294.783639999994,56328.111,15986.454359999998,20331.765779999998,65180.174999999996,65180.174999999996,65180.174999999996,65180.174999999996,214303.31164,214303.31164 +23522400.0,304679.586,158206.584,461963.22527999996,114153.94771000001,114153.94771000001,114153.94771000001,141711.444,1181154.59416,434405.50976000004,540768.71268,824028.51456,211998.19199999998,211998.19199999998,211998.19199999998,87897.425,304679.586,304679.586,1279033.5069199998,129618.44774999998,192667.42109999998,336047.82749999996,95373.57389999999,121297.26344999998,344812.332,344812.332,344812.332,344812.332,916069.9552399999,916069.9552399999 +23526000.0,350749.29000000004,474715.02,1386167.8584,188743.69404,188743.69404,188743.69404,417407.732,1902698.7004799999,869883.0150400001,1329820.5469499999,2026393.2144,517830.7920000001,517830.7920000001,517830.7920000001,503819.7605,350749.29000000004,350749.29000000004,544751.4610199999,677288.5510499999,1006735.0808199998,1755933.2804999999,498350.58817999996,633808.2983899999,498040.42500000005,498040.42500000005,498040.42500000005,498040.42500000005,1054586.1986,1054586.1986 +23529600.0,813156.7230000001,179449.797,523993.4072399999,151583.38118000003,151583.38118000003,151583.38118000003,136507.707,681795.25008,1298306.39616,628681.02549,957990.13408,406089.00600000005,406089.00600000005,406089.00600000005,167153.0735,813156.7230000001,813156.7230000001,261787.53042,216871.0038,322361.34391999996,562258.158,159574.22008,202948.42084,809052.264,809052.264,809052.264,809052.264,2444891.21382,2444891.21382 +23533200.0,389070.5519999999,150980.364,440862.66288,166145.53592999998,166145.53592999998,166145.53592999998,154355.222,280661.25456,2226334.6988800005,108808.44324000001,165803.34208,378369.441,378369.441,378369.441,330130.10799999995,389070.5519999999,389070.5519999999,138320.87658999997,562265.25435,835762.18054,1457724.7334999999,413716.16245999996,526169.2133299999,106243.59899999999,106243.59899999999,106243.59899999999,106243.59899999999,1169805.4596799999,1169805.4596799999 +23536800.0,46130.850000000006,11407.389,33309.57588,111622.49725,111622.49725,111622.49725,98218.8235,65879.90704,36706.17152,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,46130.850000000006,46130.850000000006,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24901.926,24901.926,24901.926,24901.926,138700.089,138700.089 +23540400.0,46068.03,237647.22600000002,693929.8999200001,98739.44135000001,98739.44135000001,98739.44135000001,149971.108,155882.02168,148762.19648,79827.42894,121641.79647999999,30886.836000000003,30886.836000000003,30886.836000000003,148819.895,46068.03,46068.03,22566.33626,33382.23435,49620.012539999996,86546.5335,24562.73046,31239.177330000002,25183.586999999996,25183.586999999996,25183.586999999996,25183.586999999996,138511.2102,138511.2102 +23544000.0,71807.508,28426.428,83005.16976,84285.90676,84285.90676,84285.90676,170442.86349999998,117146.40543999999,144484.10432,58938.67875,89811.32,59866.758,59866.758,59866.758,41606.3795,71807.508,71807.508,53449.87921,45646.06365,67849.21066,118341.6465,33586.486339999996,42715.69907,30208.047,30208.047,30208.047,30208.047,215901.24071999997,215901.24071999997 +23547600.0,15943.616999999998,6570.027,19184.47884,65874.01226999999,65874.01226999999,65874.01226999999,57965.20799999999,43688.5144,18506.68416,32585.957250000003,49654.79200000001,12969.855,12969.855,12969.855,20705.7725,15943.616999999998,15943.616999999998,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,14463.548999999999,14463.548999999999,14463.548999999999,14463.548999999999,47937.14178,47937.14178 +23551200.0,52794.36,50398.728,147164.28576,56724.84356000001,56724.84356000001,56724.84356000001,50598.48850000001,192020.30375999998,15936.305920000003,83047.27599,126548.23008000001,26910.972,26910.972,26910.972,17829.9695,52794.36,52794.36,192835.45410999996,17980.9389,26727.22276,46617.249,13230.419240000001,16826.60702,17056.034999999996,17056.034999999996,17056.034999999996,17056.034999999996,158735.04239999998,158735.04239999998 +23554800.0,10762.629,27489.494999999995,80269.32539999999,237723.20957,237723.20957,237723.20957,87913.14,58942.77543999999,42344.01344,23114.91168,35222.72256,19198.161,19198.161,19198.161,109942.3465,10762.629,10762.629,67967.07489,40157.463149999996,59690.846459999986,104111.94149999999,29547.960539999996,37579.45316999999,9460.208999999999,9460.208999999999,9460.208999999999,9460.208999999999,32359.63786,32359.63786 +23558400.0,12142.665,6478.332,18916.72944,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,29927.87424,21366.220160000004,24439.466730000004,37241.09216000001,7785.746999999999,7785.746999999999,7785.746999999999,15529.3285,12142.665,12142.665,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11121.273,11121.273,11121.273,11121.273,36508.9461,36508.9461 +23562000.0,367498.242,156096.717,455802.41364,95171.74447,95171.74447,95171.74447,183019.24550000002,452434.03887999995,278149.4304,388271.66847,591652.06624,253172.05800000002,253172.05800000002,253172.05800000002,91291.7145,367498.242,367498.242,34468.09443999999,52554.594150000004,78118.18686,136252.6515,38669.80014000001,49180.71897,225557.829,225557.829,225557.829,225557.829,1104944.71428,1104944.71428 +23565600.0,237705.84,145548.55199999997,425001.77183999994,152647.84084000002,152647.84084000002,152647.84084000002,247281.40149999998,385120.87903999997,483343.23840000003,300597.5616,458053.42720000003,241726.77900000004,241726.77900000004,241726.77900000004,108607.8315,237705.84,237705.84,76921.36607999999,129014.54819999998,191769.77287999997,334482.16199999995,94929.22311999998,120732.13275999998,148459.254,148459.254,148459.254,148459.254,714702.2256,714702.2256 +23569200.0,292128.83999999997,197651.325,577141.8690000001,156327.26736000003,156327.26736000003,156327.26736000003,258942.14500000002,493226.32208,521504.70784,376779.83301,574140.6979200001,278010.546,278010.546,278010.546,176118.49850000002,292128.83999999997,292128.83999999997,122353.43224,205940.2644,306113.67695999995,533919.2039999999,151531.35504,192719.40792,215774.22000000003,215774.22000000003,215774.22000000003,215774.22000000003,878334.0456,878334.0456 +23572800.0,321021.12,226475.526,661308.53592,142018.59221,142018.59221,142018.59221,261071.05149999997,647372.9585599999,608673.30944,432396.54402,658889.97184,322730.898,322730.898,322730.898,214958.22950000002,321021.12,321021.12,170486.00074999998,218343.66885,324550.34234,566076.1785,160657.81066,204326.54443,294728.892,294728.892,294728.892,294728.892,965203.5007999999,965203.5007999999 +23576400.0,230178.86100000003,198543.37800000003,579746.66376,118796.53159000003,118796.53159000003,118796.53159000003,195277.72950000002,339012.61903999996,441488.9555200001,234562.98012000002,357429.30304,180084.003,180084.003,180084.003,112231.98700000001,230178.86100000003,230178.86100000003,221451.44280999998,96304.06305,143148.26161999998,249677.20049999998,70860.76737999999,90121.57999,217017.44100000005,217017.44100000005,217017.44100000005,217017.44100000005,692071.10874,692071.10874 +23580000.0,38394.609,39790.301999999996,116187.68183999999,75600.89713,75600.89713,75600.89713,66015.9325,80747.70024,241786.46848,60223.49256,91769.13152,44544.206999999995,44544.206999999995,44544.206999999995,52331.275499999996,38394.609,38394.609,71122.61766999999,24485.348249999995,36395.5053,63480.532499999994,18016.379699999998,22913.44935,24375.159,24375.159,24375.159,24375.159,115439.79105999999,115439.79105999999 +23583600.0,34828.842000000004,37302.363,108922.89996,37181.70885,37181.70885,37181.70885,32202.8945,60198.36376,243842.25535999998,48231.85353,73496.15776,40437.276,40437.276,40437.276,42106.057,34828.842000000004,34828.842000000004,67175.56052999999,17323.303949999998,25749.701179999996,44912.269499999995,12746.529819999998,16211.190609999998,24151.721999999998,24151.721999999998,24151.721999999998,24151.721999999998,104718.71828,104718.71828 +23587200.0,34952.07,36129.378,105497.78376,13516.23394,13516.23394,13516.23394,13311.025,46850.0568,241787.53472,41188.88760000001,62764.01920000001,37765.512,37765.512,37765.512,35370.4925,34952.07,34952.07,65413.109189999996,15613.0254,23207.50936,40478.214,11488.102640000001,14610.70772,28939.802999999996,28939.802999999996,28939.802999999996,28939.802999999996,105089.22379999999,105089.22379999999 +23590800.0,38173.125,36299.007,105993.10044,8347.94037,8347.94037,8347.94037,9931.7435,48990.44016,244927.74208,45725.32502999999,69676.68576,39562.371,39562.371,39562.371,37464.1855,38173.125,38173.125,65825.16265,18515.4822,27521.778479999997,48003.102,13623.73752,17326.83396,31495.449,31495.449,31495.449,31495.449,114773.86249999999,114773.86249999999 +23594400.0,38141.570999999996,36297.25199999999,105987.97583999998,2824.92188,2824.92188,2824.92188,4999.519,44640.066479999994,236073.32608000003,45088.21905,68705.8576,39581.19899999999,39581.19899999999,39581.19899999999,34607.146,38141.570999999996,38141.570999999996,63548.705089999996,16408.3239,24389.656759999998,42540.099,12073.285240000001,15354.95002,29437.244999999995,29437.244999999995,29437.244999999995,29437.244999999995,114678.99014,114678.99014 +23598000.0,37555.146,37061.130000000005,108218.49960000001,2789.65126,2789.65126,2789.65126,4894.512,47078.76872,228622.68031999998,44280.589920000006,67475.18464,43254.918000000005,43254.918000000005,43254.918000000005,33451.6385,37555.146,37555.146,61882.81930999999,15908.363549999998,23646.505819999995,41243.90549999999,11705.413179999998,14887.085889999998,28633.461000000003,28633.461000000003,28633.461000000003,28633.461000000003,112915.80563999999,112915.80563999999 +23601600.0,36402.573000000004,35646.123,104086.67915999999,4552.36826,4552.36826,4552.36826,6307.994,49853.925039999995,215525.81504000002,42684.05274,65042.36608000001,41780.256,41780.256,41780.256,32961.1415,36402.573000000004,36402.573000000004,71139.55849,15547.8528,23110.63552,40309.248,11440.14848,14549.71904,27381.105,27381.105,27381.105,27381.105,109450.40282,109450.40282 +23605200.0,61720.922999999995,47690.558999999994,139256.43227999998,19641.042630000004,19641.042630000004,19641.042630000004,14186.136999999999,259097.00783999998,206263.57312000004,66706.99476,101648.75392,42254.907,42254.907,42254.907,33916.603,61720.922999999995,61720.922999999995,155259.58980999998,17594.85645,26153.342179999996,45616.294499999996,12946.338819999999,16465.31011,59377.901999999995,59377.901999999995,59377.901999999995,59377.901999999995,185574.24182,185574.24182 +23608800.0,274328.148,141905.097,414362.88324,113742.36896000002,113742.36896000002,113742.36896000002,124310.7005,1086142.2851200001,367778.3808,489461.75271000003,745846.48032,186473.232,186473.232,186473.232,74554.52549999999,274328.148,274328.148,1064722.4177199998,109928.43315,163399.79446,284999.6415,80885.61254,102871.29917,314292.63,314292.63,314292.63,314292.63,824813.29832,824813.29832 +23612400.0,309538.77,420203.3520000001,1226993.7878400001,186618.77146000005,186618.77146000005,186618.77146000005,330675.401,1709407.31488,751936.93888,1186089.62913,1807374.67296,453749.88,453749.88,453749.88,455627.0285,309538.77,309538.77,446745.69082,596751.05295,887022.55278,1547132.3595000003,439090.89822000003,558441.10881,442924.61999999994,442924.61999999994,442924.61999999994,442924.61999999994,930679.9017999999,930679.9017999999 +23616000.0,746831.385,149783.01,437366.3892,150717.87940000003,150717.87940000003,150717.87940000003,129731.65100000001,597039.17824,1143125.7068800002,571317.20688,870578.6009600001,370845.126,370845.126,370845.126,155572.62350000002,746831.385,746831.385,242269.96936999998,198629.36234999998,295246.60773999995,514965.01349999994,146151.97525999998,185877.84772999998,737271.7860000001,737271.7860000001,737271.7860000001,737271.7860000001,2245473.0308999997,2245473.0308999997 +23619600.0,361202.814,144507.684,421962.43728,164593.0385,164593.0385,164593.0385,149202.03900000002,268655.74464,1968863.2307200003,105508.62104999999,160775.0416,337127.03099999996,337127.03099999996,337127.03099999996,304210.452,361202.814,361202.814,132941.10322999998,530147.5272,788021.7564799999,1374456.552,390083.85952,496113.36496,101624.103,101624.103,101624.103,101624.103,1086016.46076,1086016.46076 +23623200.0,34123.10399999999,10892.514,31806.140879999995,111619.85582000001,111619.85582000001,111619.85582000001,98218.8235,65301.09296000001,35734.52224,55215.09651,84137.28992000001,17302.032,17302.032,17302.032,35084.777,34123.10399999999,34123.10399999999,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24579.608999999997,24579.608999999997,24579.608999999997,24579.608999999997,102596.79935999998,102596.79935999998 +23626800.0,42150.009000000005,193183.94999999998,564097.134,97993.99643,97993.99643,97993.99643,150449.166,133256.1856,125287.25824000002,74223.32001,113102.20191999999,25000.515,25000.515,25000.515,128309.32800000001,42150.009000000005,42150.009000000005,11445.71246,33204.415049999996,49355.69841999999,86085.52049999998,24431.890579999996,31072.773589999997,23975.522999999997,23975.522999999997,23975.522999999997,23975.522999999997,126731.02706,126731.02706 +23630400.0,66534.23700000001,28074.189,81976.63188,83753.24958,83753.24958,83753.24958,165772.663,107924.0468,145514.29888000002,48938.564640000004,74573.05088000001,57992.043000000005,57992.043000000005,57992.043000000005,41193.033,66534.23700000001,66534.23700000001,48913.31808999999,45210.465899999996,67201.72955999999,117212.31899999999,33265.97244,42308.06562,27452.762999999995,27452.762999999995,27452.762999999995,27452.762999999995,200046.27258000002,200046.27258000002 +23634000.0,29107.341,10278.591,30013.48572,65988.50544000001,65988.50544000001,65988.50544000001,57965.20799999999,45600.5888,42417.4752,33950.32116,51733.82272,17058.579,17058.579,17058.579,20705.7725,29107.341,29107.341,16573.677509999998,21399.96915,31809.33686,55481.4015,15746.15014,20026.14397,15688.275000000001,15688.275000000001,15688.275000000001,15688.275000000001,87516.07194,87516.07194 +23637600.0,67457.109,65540.442,191378.09063999998,56724.84356000001,56724.84356000001,56724.84356000001,52273.935,214739.03671999997,18517.82528,113950.45158000001,173638.78336000003,34296.555,34296.555,34296.555,17829.9695,67457.109,67457.109,226115.10817999998,26231.590799999998,38991.15472,68007.828,19301.26928,24547.58744,20586.783,20586.783,20586.783,20586.783,202821.04105999996,202821.04105999996 +23641200.0,12417.717,68906.26800000001,201206.30256,225426.29472000003,225426.29472000003,225426.29472000003,102519.3995,97384.22504,42344.01344,24556.51695,37419.4544,27141.267,27141.267,27141.267,133085.8235,12417.717,12417.717,108601.28149,48908.20095,72698.11598,126799.0395,35986.77502,45768.41521,18800.718,18800.718,18800.718,18800.718,37335.93578,37335.93578 +23644800.0,15350.571,6064.848,17709.35616,49405.510220000004,49405.510220000004,49405.510220000004,43473.906,30159.354319999995,20748.73664,24439.466730000004,37241.09216000001,7797.933000000001,7797.933000000001,7797.933000000001,15529.3285,15350.571,15350.571,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,11220.512999999999,11220.512999999999,11220.512999999999,11220.512999999999,46154.05014,46154.05014 +23648400.0,433469.86199999996,193190.25,564115.53,99315.71265000002,99315.71265000002,99315.71265000002,263154.759,535378.1748,462748.43200000003,489716.75256,746235.05152,342446.17500000005,342446.17500000005,342446.17500000005,98260.631,433469.86199999996,433469.86199999996,30661.354619999995,85669.12349999999,127340.27739999999,222105.13499999998,63035.552599999995,80169.3773,269292.72899999993,269292.72899999993,269292.72899999993,269292.72899999993,1303299.38508,1303299.38508 +23652000.0,247163.43300000002,160080.97499999998,467436.447,152057.12918,152057.12918,152057.12918,235422.33400000003,381260.76752,445323.74208000005,300575.55129000003,458019.88768000004,228012.648,228012.648,228012.648,118139.4445,247163.43300000002,247163.43300000002,89308.26566999998,172090.20645,255798.28217999998,446159.7945,126624.39882,161042.44011,161431.04700000002,161431.04700000002,161431.04700000002,161431.04700000002,743138.05522,743138.05522 +23655600.0,279380.913,189201.03000000003,552467.0076,156304.5649,156304.5649,156304.5649,255286.5315,502477.65296,481859.17376000003,374411.43768000003,570531.7145600001,264674.19899999996,264674.19899999996,264674.19899999996,176670.9525,279380.913,279380.913,153185.62362999996,197801.5383,294016.11371999996,512818.80299999996,145542.86028,185103.16793999998,229323.67799999999,229323.67799999999,229323.67799999999,229323.67799999999,840005.27842,840005.27842 +23659200.0,356916.9,278909.325,814415.229,145437.68931999998,145437.68931999998,145437.68931999998,324575.083,711206.77488,695762.6393600001,475221.01935,724146.3152000001,360375.642,360375.642,360375.642,271404.924,356916.9,356916.9,292435.48919,270119.00655,401510.22702,700308.5355000001,198754.23198,252778.03329000002,334978.056,334978.056,334978.056,334978.056,1073130.146,1073130.146 +23662800.0,278585.55,245673.77999999997,717367.4376,121254.48192000002,121254.48192000002,121254.48192000002,234715.94650000002,406717.08223999996,561804.02112,296213.54931,451373.02752,220868.03399999999,220868.03399999999,220868.03399999999,169339.17,278585.55,278585.55,253078.91478999998,138271.7223,205529.81931999998,358482.24299999996,101740.67468,129395.01913999999,257330.658,257330.658,257330.658,257330.658,837613.8869999999,837613.8869999999 +23666400.0,49486.035,47803.347,139585.77324,75754.80418,75754.80418,75754.80418,66015.9325,90533.22176,318594.56832,73264.87896,111641.72032000001,55625.904,55625.904,55625.904,63515.053,49486.035,49486.035,85886.67697999999,30109.4982,44755.35288,78061.66200000001,22154.64312,28176.54276,35760.396,35760.396,35760.396,35760.396,148788.0119,148788.0119 +23670000.0,49257.005999999994,45715.125,133488.165,37511.75329,37511.75329,37511.75329,35539.1785,70681.12872,313513.30368,63617.86683,96941.51136,51664.41900000001,51664.41900000001,51664.41900000001,53704.3395,49257.005999999994,49257.005999999994,82692.29826,28122.738299999997,41802.193719999996,72910.803,20692.78028,26317.32794,42833.295,42833.295,42833.295,42833.295,148099.39803999997,148099.39803999997 +23673600.0,49705.662,44212.881,129101.61252,14139.159650000003,14139.159650000003,14139.159650000003,15675.268,62077.52976,308566.03712000005,61750.57917,94096.12064,54655.662,54655.662,54655.662,49096.7435,49705.662,49705.662,80334.72966999999,24687.03015,36695.28926,64003.4115,18164.77774,23102.18377,40452.320999999996,40452.320999999996,40452.320999999996,40452.320999999996,149448.35708,149448.35708 +23677200.0,50243.024999999994,45418.605,132622.3266,8679.360470000001,8679.360470000001,8679.360470000001,10913.9555,59490.853599999995,310740.66624,61930.43871,94370.19232,64715.043000000005,64715.043000000005,64715.043000000005,48273.3755,50243.024999999994,50243.024999999994,80580.06853,23273.118449999998,34593.62297999999,60337.714499999995,17124.418019999997,21779.041709999998,39971.397000000004,39971.397000000004,39971.397000000004,39971.397000000004,151064.0285,151064.0285 +23680800.0,51319.302,49654.557,144991.30644,3259.8624300000006,3259.8624300000006,3259.8624300000006,6270.8904999999995,72599.76144,320952.69952,61531.12812,93761.71904,73719.543,73719.543,73719.543,49987.8365,51319.302,51319.302,91297.01788999999,22491.7155,33432.1302,58311.855,16549.4598,21047.802900000002,40352.904,40352.904,40352.904,40352.904,154300.03468,154300.03468 +23684400.0,53981.064000000006,56298.12300000001,164390.51916,3331.67351,3331.67351,3331.67351,6461.5599999999995,83502.60344,332839.58912,63961.00452000001,97464.38784000001,77997.519,77997.519,77997.519,53016.4075,53981.064000000006,53981.064000000006,110270.50059999998,24442.87185,36332.36754,63370.4085,17985.12546,22873.69983,41940.795000000006,41940.795000000006,41940.795000000006,41940.795000000006,162303.06576,162303.06576 +23688000.0,60799.596,59026.649999999994,172357.818,5215.021240000001,5215.021240000001,5215.021240000001,8206.653,100925.2448,341355.14752,68792.40039,104826.51488,80585.05799999999,80585.05799999999,80585.05799999999,55824.321,60799.596,60799.596,114662.04021999998,31711.597199999997,47136.744479999994,82215.252,23333.47152,29675.79096,43442.88,43442.88,43442.88,43442.88,182804.11863999997,182804.11863999997 +23691600.0,98370.228,84899.742,247907.24664,24515.62872,24515.62872,24515.62872,16570.981,390401.57056,364039.904,113135.54847,172397.02624,87741.24600000001,87741.24600000001,87741.24600000001,72405.79149999999,98370.228,98370.228,280143.30330999993,38118.17475,56659.607899999995,98824.8975,28047.4471,35671.082050000005,90133.01699999999,90133.01699999999,90133.01699999999,90133.01699999999,295766.48552,295766.48552 +23695200.0,439409.658,235217.18699999998,686834.18604,122689.09587,122689.09587,122689.09587,188687.7965,1703912.4355199998,855081.8630400001,878302.9554600001,1338366.4083200002,327799.26,327799.26,327799.26,205392.9675,439409.658,439409.658,1386009.3787799997,283801.9437,421848.81508,735782.817,208822.17092,265582.55966,513785.835,513785.835,513785.835,513785.835,1321158.37172,1321158.37172 +23698800.0,448007.5739999999,578106.633,1688071.36836,199721.69283,199721.69283,199721.69283,653495.3425,2289136.0673599998,1192512.6816,1585880.9538599998,2416580.5011199997,691833.888,691833.888,691833.888,660853.7880000001,448007.5739999999,448007.5739999999,628124.46086,912993.2131499999,1357091.1464599997,2367019.4414999997,671782.66054,854381.30317,642429.9180000001,642429.9180000001,642429.9180000001,642429.9180000001,1347009.4391599998,1347009.4391599998 +23702400.0,915247.9349999998,263880.44700000004,770530.90524,159412.46981000004,159412.46981000004,159412.46981000004,159203.212,898593.37152,1703040.5248000002,803102.9128500001,1223775.8672000002,504472.086,504472.086,504472.086,214018.609,915247.9349999998,915247.9349999998,287397.78859999997,287511.8733,427363.32771999994,745401.1529999999,211551.94627999997,269054.32094,948064.284,948064.284,948064.284,948064.284,2751845.4578999993,2751845.4578999993 +23706000.0,388167.92100000003,151964.172,443735.38223999995,166582.32019000003,166582.32019000003,166582.32019000003,152871.747,290334.47288,2252495.2019200004,96426.00891000002,146934.87072000004,401000.85000000003,401000.85000000003,401000.85000000003,346077.60250000004,388167.92100000003,388167.92100000003,143401.32846,579798.1822500001,861823.4709000001,1503180.4725000001,426616.9341,542576.5705500001,110177.43599999999,110177.43599999999,110177.43599999999,110177.43599999999,1167091.54914,1167091.54914 +23709600.0,47924.769,13533.978,39519.21576,111910.755,111910.755,111910.755,98218.8235,65563.81704,64164.02752,55215.09651,84137.28992000001,26055.249000000003,26055.249000000003,26055.249000000003,35084.777,47924.769,47924.769,13173.368259999997,34897.22595,51871.92598,90474.2895,25677.46502,32656.910210000002,24832.065,24832.065,24832.065,24832.065,144093.80545999997,144093.80545999997 +23713200.0,61603.869,278229.53699999995,812430.2480399999,100478.36106,100478.36106,100478.36106,166830.552,171443.96312,192409.77536000003,89424.90942,136266.52864,41843.061,41843.061,41843.061,199976.1155,61603.869,61603.869,12410.11265,42142.303349999995,62641.15213999999,109257.8235,31008.41086,39436.87153,29097.701999999997,29097.701999999997,29097.701999999997,29097.701999999997,185222.29945999998,185222.29945999998 +23716800.0,111550.04999999999,84333.24,246253.0608,89137.21245,89137.21245,89137.21245,167699.4935,166890.3516,272677.3888,75014.10693,114307.21055999999,87816.61799999999,87816.61799999999,87816.61799999999,97472.851,111550.04999999999,111550.04999999999,47926.68608,72533.34134999999,107814.99133999998,188049.40349999996,53370.21165999999,67876.87993,46698.576,46698.576,46698.576,46698.576,335393.817,335393.817 +23720400.0,26184.933000000005,9329.582999999999,27242.38236,66001.01255,66001.01255,66001.01255,57965.20799999999,50421.596399999995,26396.152960000003,32633.74527,49727.611840000005,17709.609,17709.609,17709.609,20705.7725,26184.933000000005,26184.933000000005,8122.21891,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,15174.177,15174.177,15174.177,15174.177,78729.36522,78729.36522 +23724000.0,119743.71300000002,79198.299,231259.03308,57884.91159,57884.91159,57884.91159,58234.231999999996,256185.96639999998,106472.3328,180578.81876999998,275167.72384,68824.359,68824.359,68824.359,24775.8455,119743.71300000002,119743.71300000002,275726.95852,33348.2913,49569.55891999999,86458.53299999998,24537.755079999995,31207.413339999996,32658.372,32658.372,32658.372,32658.372,360029.43042,360029.43042 +23727600.0,34371.075,127183.40999999997,371375.5571999999,235937.34648000004,235937.34648000004,235937.34648000004,131593.9485,188922.98383999997,80187.47136000001,28661.67885,43674.9392,45001.251,45001.251,45001.251,236955.41799999998,34371.075,34371.075,184037.27147,78947.80425,117349.57569999999,204679.4925,58089.9893,73879.55015,42024.365999999995,42024.365999999995,42024.365999999995,42024.365999999995,103342.36549999999,103342.36549999999 +23731200.0,32035.68,11703.783,34175.04636,50312.19226,50312.19226,50312.19226,43473.906,45330.15592,56761.68896000001,26988.09834,41124.72128,19703.589,19703.589,19703.589,17677.7615,32035.68,32035.68,21405.76503,16687.3527,24804.410679999997,43263.507,12278.595319999999,15616.065859999999,13859.085,13859.085,13859.085,13859.085,96320.61119999998,96320.61119999998 +23734800.0,728103.783,401710.07999999996,1172993.4335999999,122821.32203000001,122821.32203000001,122821.32203000001,532335.174,1048847.30928,1037479.9712000001,908080.62996,1383741.9123200001,730175.706,730175.706,730175.706,241929.73349999997,728103.783,728103.783,113325.75007,309330.10215,459794.37405999994,801966.9315,227605.85294,289471.87337,521126.064,521126.064,521126.064,521126.064,2189165.37422,2189165.37422 +23738400.0,425431.944,345956.637,1010193.38004,169892.2192,169892.2192,169892.2192,402751.629,891525.7626399999,870983.9404800001,576407.96409,878335.9452800001,436366.27499999997,436366.27499999997,436366.27499999997,342510.2205,425431.944,425431.944,244638.39893999998,319270.81904999993,474570.4520199999,827739.1604999999,234920.25697999998,298774.42078999995,394112.28,394112.28,394112.28,394112.28,1279132.04496,1279132.04496 +23742000.0,462839.532,395441.292,1154688.57264,172006.95864,172006.95864,172006.95864,422325.24950000003,945164.7844,1252792.1139200001,657227.9145600001,1001490.1555200001,489291.0510000001,489291.0510000001,489291.0510000001,491212.43150000006,462839.532,462839.532,387673.64791999996,422703.9351,628315.47884,1095899.091,311026.59916,395567.38618000003,426118.8300000001,426118.8300000001,426118.8300000001,426118.8300000001,1391604.19288,1391604.19288 +23745600.0,483860.748,398706.24900000007,1164222.2470800001,157111.01098000002,157111.01098000002,157111.01098000002,403304.97900000005,970101.87056,1465155.8963200003,717426.74997,1093221.7142400001,497931.846,497931.846,497931.846,544326.461,483860.748,483860.748,402941.53067999997,490106.8863,728504.55692,1270647.483,360621.85708,458643.23434,454168.42199999996,454168.42199999996,454168.42199999996,454168.42199999996,1454807.98232,1454807.98232 +23749200.0,344944.06799999997,290015.628,846845.63376,142263.28468,142263.28468,142263.28468,260979.79949999996,513060.3812,898444.56,431401.7620500001,657374.1136,271693.19100000005,271693.19100000005,271693.19100000005,296213.673,344944.06799999997,344944.06799999997,295476.3279,228011.10795,338920.21478,591139.9095000001,167771.13622000001,213373.35781000002,352137.31799999997,352137.31799999997,352137.31799999997,352137.31799999997,1037131.83112,1037131.83112 +23752800.0,65358.882000000005,53245.455,155476.7286,76736.0649,76736.0649,76736.0649,71171.22249999999,104684.18415999999,359450.67648,101283.86835000002,154337.3232,80157.981,80157.981,80157.981,74627.58799999999,65358.882000000005,65358.882000000005,96201.41413999998,47046.6549,69931.07716,121972.80900000001,34617.04484,44026.37582,59357.922000000006,59357.922000000006,59357.922000000006,59357.922000000006,196512.37188,196512.37188 +23756400.0,65253.531,56947.29,166286.0868,38486.2456,38486.2456,38486.2456,37863.9905,92238.87552,382164.15616,90537.67379999999,137962.1696,91382.98500000002,91382.98500000002,91382.98500000002,69019.0095,65253.531,65253.531,99229.21774999998,37500.3837,55741.31107999999,97223.21699999999,27592.87492,35092.95166,55433.16900000001,55433.16900000001,55433.16900000001,55433.16900000001,196195.61654,196195.61654 +23760000.0,61595.178,57560.814000000006,168077.57688,14650.62434,14650.62434,14650.62434,16771.299999999996,81821.55944,363294.17792,76676.44320000001,116840.29440000001,87481.515,87481.515,87481.515,61606.387500000004,61595.178,61595.178,112639.24281999998,29622.352049999994,44031.24921999999,76798.6905,21796.19978,27720.670189999997,49014.492,49014.492,49014.492,49014.492,185196.16851999998,185196.16851999998 +23763600.0,58493.994,60788.997,177503.87124,9100.080440000002,9100.080440000002,9100.080440000002,11744.7295,86770.62071999999,347305.24544,71426.28633,108840.05536,82589.136,82589.136,82589.136,57894.382,58493.994,58493.994,117289.57486999998,27035.24445,40185.721379999995,70091.37449999999,19892.599619999997,25299.64851,46111.65,46111.65,46111.65,46111.65,175871.94196,175871.94196 +23767200.0,60496.143000000004,64040.637,186998.66004000002,3696.5368000000003,3696.5368000000003,3696.5368000000003,7153.996499999999,111347.54824,361156.66047999996,71844.41459999999,109477.2032,86141.949,86141.949,86141.949,60261.0855,60496.143000000004,60496.143000000004,126012.44733999998,26635.3515,39591.3126,69054.615,19598.3574,24925.4277,46935.465000000004,46935.465000000004,46935.465000000004,46935.465000000004,181891.73662,181891.73662 +23770800.0,64930.875,64169.778,187375.75175999998,3664.71347,3664.71347,3664.71347,7044.6984999999995,111902.93224000001,352656.44288,72513.28266000001,110496.43072,83765.448,83765.448,83765.448,58855.2545,64930.875,64930.875,131005.82858999999,33265.12049999999,49445.93219999999,86242.90499999998,24476.557799999995,31129.581899999997,45956.922,45956.922,45956.922,45956.922,195225.4975,195225.4975 +23774400.0,65163.92099999999,61877.046,180680.97432,5430.27947,5430.27947,5430.27947,8452.832499999999,108162.41807999999,338463.3632,73493.83062,111990.59904,79913.502,79913.502,79913.502,56939.592500000006,65163.92099999999,65163.92099999999,128031.67091,32500.09575,48308.7843,84259.5075,23913.650700000002,30413.669850000002,44584.953,44584.953,44584.953,44584.953,195926.18913999997,195926.18913999997 +23778000.0,107616.00300000001,92158.479,269102.75868,27807.054,27807.054,27807.054,16707.9675,420700.71696000005,356551.00416,131155.48635000002,199855.97920000003,85341.738,85341.738,85341.738,79568.055,107616.00300000001,107616.00300000001,313620.91774,40950.805499999995,60870.08619999999,106168.75499999999,30131.7038,38321.8649,96112.33499999999,96112.33499999999,96112.33499999999,96112.33499999999,323565.44902,323565.44902 +23781600.0,521356.9469999999,265596.246,775541.0383199999,125988.64487,125988.64487,125988.64487,247998.212,1920656.3267199998,1201795.47584,1102964.30034,1680707.50528,384917.736,384917.736,384917.736,286605.6375,521356.9469999999,521356.9469999999,1450513.7731499998,425514.19365,632492.70266,1103184.9464999998,313094.39434,398197.23306999996,619201.533,619201.533,619201.533,619201.533,1567546.5539799996,1567546.5539799996 +23785200.0,506304.00899999996,643616.277,1879359.5288399998,211375.75118000002,211375.75118000002,211375.75118000002,821386.5065,2465494.01088,1342678.39808,1740408.6411599999,2652051.26272,742719.912,742719.912,742719.912,729801.051,506304.00899999996,506304.00899999996,777056.7986999999,1043641.28025,1551289.0140999998,2705736.6525,767913.8309,976642.0869499999,730649.595,730649.595,730649.595,730649.595,1522287.3870599999,1522287.3870599999 +23788800.0,1099987.908,481223.559,1405172.79228,176255.56245,176255.56245,176255.56245,321212.92,1277867.4119199999,2402793.40416,1138748.4082799999,1735235.66976,681468.21,681468.21,681468.21,319965.6005,1099987.908,1099987.908,404293.2368799999,431570.5677,641495.01668,1118886.6570000001,317550.68932,403864.80286,1187095.431,1187095.431,1187095.431,1187095.431,3307296.9767199997,3307296.9767199997 +23792400.0,467525.38800000004,192927.14699999997,563347.2692399999,175830.28001000005,175830.28001000005,175830.28001000005,165538.9085,348293.41855999996,2919426.3091200003,112224.17094,171008.26048,472046.71800000005,472046.71800000005,472046.71800000005,444578.099,467525.38800000004,467525.38800000004,172274.37318,780603.57315,1160304.5704599998,2023787.0414999998,574370.03654,730490.75117,133959.663,133959.663,133959.663,133959.663,1405692.9999199999,1405692.9999199999 +23796000.0,69717.24900000001,14827.809000000001,43297.20228,112255.4433,112255.4433,112255.4433,98218.8235,66150.69616,71337.51616,55215.09651,84137.28992000001,27149.154000000002,27149.154000000002,27149.154000000002,35084.777,69717.24900000001,69717.24900000001,13173.368259999997,34897.91445,51872.94938,90476.0745,25677.97162,32657.55451,25365.021,25365.021,25365.021,25365.021,209616.52866,209616.52866 +23799600.0,74164.791,311538.90599999996,909693.60552,102743.19396000002,102743.19396000002,102743.19396000002,203159.5125,179229.68176,169188.79808,104925.76563000001,159886.88096,36419.181,36419.181,36419.181,236366.14399999997,74164.791,74164.791,11445.71246,43891.76565,65241.587459999995,113793.4665,32295.66954,41074.02267,37629.82800000001,37629.82800000001,37629.82800000001,37629.82800000001,222988.80494,222988.80494 +23803200.0,133753.41,95224.48500000002,278055.4962,92097.61649,92097.61649,92097.61649,191855.5625,200923.92104000002,286161.89759999997,103535.40666,157768.23872,94950.07199999999,94950.07199999999,94950.07199999999,99665.53099999999,133753.41,133753.41,100946.71964,84606.3792,125760.59327999999,219349.872,62253.58272,79174.85856,56240.988,56240.988,56240.988,56240.988,402151.9194,402151.9194 +23806800.0,86819.187,37526.631,109577.76252,69728.50577000002,69728.50577000002,69728.50577000002,64871.086,134220.43968,143051.14304000002,61572.90279000001,93825.37568000001,54331.293000000005,54331.293000000005,54331.293000000005,44001.6045,86819.187,86819.187,73455.87170999999,43766.1306,65054.84103999999,113467.746,32203.226959999996,40956.45308,46788.333,46788.333,46788.333,46788.333,261036.35557999997,261036.35557999997 +23810400.0,127751.397,92036.73,268747.2516,66464.58962,66464.58962,66464.58962,63895.016500000005,275187.67368,67968.76352000001,245211.00491999998,373654.86464,68665.47,68665.47,68665.47,74332.78300000001,127751.397,127751.397,310808.34719999996,77312.05785,114918.16993999999,200438.6685,56886.403060000004,72348.81463000001,34128.921,34128.921,34128.921,34128.921,384105.86698,384105.86698 +23814000.0,37575.078,188263.491,549729.39372,254901.40973000004,254901.40973000004,254901.40973000004,164304.69999999998,246474.6888,75818.13952,30774.19044,46894.00448,63357.825000000004,63357.825000000004,63357.825000000004,286353.8615,37575.078,37575.078,237923.96120999998,99559.99575,147987.9443,258118.5075,73256.4907,93168.48985,59111.472,59111.472,59111.472,59111.472,112975.73452,112975.73452 +23817600.0,47157.522,18664.269,54499.66548,74818.18729000002,74818.18729000002,74818.18729000002,45805.221,59240.843199999996,89886.86080000001,34946.18022,53251.32224000001,27685.956,27685.956,27685.956,23236.3355,47157.522,47157.522,42646.17668999999,22460.41305,33385.601619999994,58230.7005,16526.42738,21018.50999,19442.648999999998,19442.648999999998,19442.648999999998,19442.648999999998,141786.94947999998,141786.94947999998 +23821200.0,907542.0510000002,572039.748,1670356.0641599998,145052.41905000003,145052.41905000003,145052.41905000003,874720.2065000001,1459515.56616,1358847.3619200003,1261289.84562,1921965.4790400001,937874.622,937874.622,937874.622,424756.4615,907542.0510000002,907542.0510000002,312811.50536999997,507336.70814999996,754115.3044599999,1315317.3915,373299.60254,474766.94417,716344.713,716344.713,716344.713,716344.713,2728676.4333400005,2728676.4333400005 +23824800.0,501721.485,399741.708,1167245.78736,184080.06826000003,184080.06826000003,184080.06826000003,435347.95849999995,986805.35096,1223545.98848,688172.84067,1048644.32864,496665.225,496665.225,496665.225,546952.7245,501721.485,501721.485,392664.66746,431260.0015499999,641033.3850199999,1118081.4855,317322.17397999996,403574.17428999994,461875.77300000004,461875.77300000004,461875.77300000004,461875.77300000004,1508509.2648999998,1508509.2648999998 +23828400.0,548599.809,445415.658,1300613.7213599999,207776.38563000003,207776.38563000003,207776.38563000003,460519.5,1087600.43968,1603589.99168,799470.9508800001,1218241.4489600002,553392.9720000001,553392.9720000001,553392.9720000001,625147.9395,548599.809,548599.809,450248.05384,559854.7794,832179.2029599999,1451475.3539999998,411942.52904,523913.48491999996,535768.8360000001,535768.8360000001,535768.8360000001,535768.8360000001,1649456.7590599998,1649456.7590599998 +23832000.0,568794.3929999999,444712.296,1298559.90432,200976.11567000003,200976.11567000003,200976.11567000003,498308.56600000005,1077546.0504,1746187.3408000001,848565.24438,1293051.8009600001,564783.5759999999,564783.5759999999,564783.5759999999,669362.19,568794.3929999999,568794.3929999999,446057.37500999996,644026.3181999999,957293.4408799998,1669697.8619999997,473876.15511999995,602681.4187599999,572986.584,572986.584,572986.584,572986.584,1710175.14162,1710175.14162 +23835600.0,386551.81500000006,316722.651,924830.14092,185324.65391000002,185324.65391000002,185324.65391000002,295466.17100000003,551085.74832,1013494.3366400001,488680.59198,744656.1401600001,296771.721,296771.721,296771.721,331136.827,386551.81500000006,386551.81500000006,323697.9591299999,275407.5492,409371.22128,714019.572,202645.55472000001,257727.06456,385986.97799999994,385986.97799999994,385986.97799999994,385986.97799999994,1162232.4571,1162232.4571 +23839200.0,74598.177,54571.59299999999,159349.05156,76915.34026,76915.34026,76915.34026,71507.1105,114252.43432,368222.8288000001,106569.30837,162391.32704,92419.176,92419.176,92419.176,79345.7105,74598.177,74598.177,98656.91432999999,48496.05269999999,72085.49067999999,125730.50699999998,35683.51532,45382.72586,61639.368,61639.368,61639.368,61639.368,224291.85218,224291.85218 +23842800.0,67228.809,57380.628,167551.43375999999,38519.73356,38519.73356,38519.73356,37777.41099999999,94924.88423999998,362374.5024,88568.62286999999,134961.71104,89230.002,89230.002,89230.002,68855.906,67228.809,67228.809,96177.6816,37088.583750000005,55129.2035,96155.58750000001,27289.871500000005,34707.58825000001,54039.789000000004,54039.789000000004,54039.789000000004,54039.789000000004,202134.61906,202134.61906 +23846400.0,63649.689000000006,61497.573,179572.91316,14793.5953,14793.5953,14793.5953,17018.5645,83252.92008,366712.03200000006,78940.23039,120289.87487999999,88706.03100000002,88706.03100000002,88706.03100000002,63254.618,63649.689000000006,63649.689000000006,124653.1221,30477.185550000002,45301.89062,79014.92550000001,22425.188380000003,28520.625490000002,50357.64,50357.64,50357.64,50357.64,191373.39826000002,191373.39826000002 +23850000.0,63565.353,65471.71200000001,191177.39904000002,9347.638190000001,9347.638190000001,9347.638190000001,12305.657,104465.23672,372318.31104000006,77658.89901,118337.36992,89917.833,89917.833,89917.833,63483.041999999994,63565.353,63565.353,126440.78264999998,29311.9884,43569.91856,75994.04400000001,21567.833440000002,27430.23112,50139.384000000005,50139.384000000005,50139.384000000005,50139.384000000005,191119.82802,191119.82802 +23853600.0,65147.31,67300.152,196516.44384000002,3872.62942,3872.62942,3872.62942,7506.191000000001,119303.09992000001,371978.69184000004,75596.81262,115195.14304,89441.583,89441.583,89441.583,62844.8275,65147.31,65147.31,134991.25991,30344.3253,45104.40452,78670.473,22327.429480000003,28396.294540000003,49179.834,49179.834,49179.834,49179.834,195876.24539999999,195876.24539999999 +23857200.0,71875.806,70425.67499999999,205642.971,3896.9598800000003,3896.9598800000003,3896.9598800000003,10514.465499999998,121060.28584,375170.69888000004,79603.89654,121301.17568,90380.07,90380.07,90380.07,63430.0275,71875.806,71875.806,142943.28178,37083.270150000004,55121.30526,96141.81150000001,27285.961740000002,34702.615770000004,49736.48700000001,49736.48700000001,49736.48700000001,49736.48700000001,216106.59003999998,216106.59003999998 +23860800.0,74228.289,77042.463,224963.99195999998,5751.341420000001,5751.341420000001,5751.341420000001,15982.372,123394.46959999998,378890.32064,90367.01541,137702.11872000003,92266.863,92266.863,92266.863,64593.14749999999,74228.289,74228.289,148392.90595999997,38055.03525,56565.7561,98661.2025,28000.9889,35611.995950000004,52231.731,52231.731,52231.731,52231.731,223179.72226,223179.72226 +23864400.0,120604.725,102382.761,298957.66212,28849.564150000002,28849.564150000002,28849.564150000002,24352.265,456420.88424,391270.59648,170111.17514999997,259217.02879999997,96020.904,96020.904,96020.904,94511.3855,120604.725,120604.725,342801.44171000004,47747.507399999995,70972.83816,123789.834,35132.73384,44682.23532,108455.44800000002,108455.44800000002,108455.44800000002,108455.44800000002,362618.20650000003,362618.20650000003 +23868000.0,588296.442,290194.995,847369.3853999999,129969.35314000002,129969.35314000002,129969.35314000002,326659.6655,2088521.71304,1505656.2067200001,1314234.25287,2002642.6710400002,455197.8329999999,455197.8329999999,455197.8329999999,403015.83349999995,588296.442,588296.442,1512294.7647599997,553680.4086,823001.4962399999,1435467.726,407399.41176,518135.49348,700793.664,700793.664,700793.664,700793.664,1768811.30228,1768811.30228 +23871600.0,578103.375,719590.344,2101203.80448,228496.98762000003,228496.98762000003,228496.98762000003,989569.8295000001,2709395.07592,1577389.92896,1900375.63296,2895810.48832,832136.2769999999,832136.2769999999,832136.2769999999,861361.046,578103.375,578103.375,931780.4438799999,1175790.3218999999,1747717.95996,3048345.279,865149.42204,1100307.48642,835043.706,835043.706,835043.706,835043.706,1738164.1475,1738164.1475 +23875200.0,1211591.334,620444.487,1811697.9020399998,192718.50488,192718.50488,192718.50488,412200.4425,1567546.54336,2855801.97312,1343885.676,2047825.7920000001,831565.9380000001,831565.9380000001,831565.9380000001,418032.9755,1211591.334,1211591.334,487175.8476,521141.18174999993,774634.5467,1351106.7674999998,383456.96829999995,487685.20464999997,1329784.0380000002,1329784.0380000002,1329784.0380000002,1329784.0380000002,3642851.27756,3642851.27756 +23878800.0,591303.8369999999,261405.93600000002,763305.3331200001,192156.91814000002,192156.91814000002,192156.91814000002,176892.884,504094.56208,3727017.10272,163671.15744,249403.66848000002,578975.73,578975.73,578975.73,616031.3635,591303.8369999999,591303.8369999999,267088.1408,1013242.06935,1506103.02654,2626923.8835,745546.0164600001,948194.43033,190886.115,190886.115,190886.115,190886.115,1777853.5365799998,1777853.5365799998 +23882400.0,165329.046,41750.835,121912.43819999999,118632.48617000002,118632.48617000002,118632.48617000002,98765.2015,224292.33063999997,232344.36928,107854.20429000001,164349.26368000003,80322.40800000001,80322.40800000001,80322.40800000001,54487.825000000004,165329.046,165329.046,95242.19432,59354.02575,88224.9963,153880.8075,43672.8387,55543.64385,78185.952,78185.952,78185.952,78185.952,497089.33164,497089.33164 +23886000.0,201487.452,544414.0650000001,1589689.0698,113152.78469,113152.78469,113152.78469,279213.13,488098.95975999994,506364.83968000003,285484.67031,435024.25952,127893.456,127893.456,127893.456,382578.8155,201487.452,201487.452,135268.84501,98697.32549999999,146705.6542,255881.955,72621.7358,92361.2009,145010.028,145010.028,145010.028,145010.028,605805.6056799999,605805.6056799999 +23889600.0,230573.75399999996,143387.118,418690.38456,96157.42928,96157.42928,96157.42928,243349.31600000002,470259.79208000004,585144.39552,267056.41388999997,406943.10688,189034.593,189034.593,189034.593,147664.7935,230573.75399999996,230573.75399999996,207614.59758,157384.40535,233939.28894,408033.6435,115803.83406000001,147280.71513,188762.403,188762.403,188762.403,188762.403,693258.4203599999,693258.4203599999 +23893200.0,116830.12800000001,60494.358,176643.52536,72090.85587000001,72090.85587000001,72090.85587000001,70285.2745,221417.24608,227958.63040000002,103612.16501999999,157885.20384,91259.06999999999,91259.06999999999,91259.06999999999,61132.9915,116830.12800000001,116830.12800000001,105088.63468999998,56319.35265,83714.19826,146013.13650000002,41439.91874,52703.78927,82279.029,82279.029,82279.029,82279.029,351269.25152,351269.25152 +23896800.0,177767.247,125699.427,367042.32684,160543.2257,160543.2257,160543.2257,104875.001,368663.78239999997,95799.58592000001,358004.47347,545530.62624,94676.595,94676.595,94676.595,260761.39600000004,177767.247,177767.247,410935.62080999993,166268.6919,247145.06796,431066.979,122340.91404,155594.65242,56234.361000000004,56234.361000000004,56234.361000000004,56234.361000000004,534486.85598,534486.85598 +23900400.0,47665.197,273492.00299999997,798596.6487599999,257306.18144,257306.18144,257306.18144,236533.92699999997,350858.878,82260.5248,39756.86988,60581.89696,101703.30900000001,101703.30900000001,101703.30900000001,384649.2685,47665.197,47665.197,327408.3065499999,135582.13754999998,201531.96741999997,351509.24549999996,99761.67158,126878.09908999999,88496.562,88496.562,88496.562,88496.562,143313.35898,143313.35898 +23904000.0,58251.93299999999,25886.997,75590.03124,123281.27273000001,123281.27273000001,123281.27273000001,48402.025,80310.804,107015.03808000001,41835.88059,63749.91328000001,31745.499000000003,31745.499000000003,31745.499000000003,27700.561,58251.93299999999,58251.93299999999,59996.1401,28477.18215,42329.04606,73829.73150000001,20953.58094,26649.01737,25244.057999999997,25244.057999999997,25244.057999999997,25244.057999999997,175144.14521999998,175144.14521999998 +23907600.0,1145572.989,791425.317,2310961.92564,201471.68701,201471.68701,201471.68701,1318442.7234999998,1897166.6144799998,2055885.85536,1746992.9068200001,2662084.42944,1250158.074,1250158.074,1250158.074,823619.7445,1145572.989,1145572.989,606867.72406,854787.5649,1270573.1211599999,2216115.909,628954.80084,799912.31382,991187.985,991187.985,991187.985,991187.985,3444356.1202599998,3444356.1202599998 +23911200.0,626754.3600000001,451117.527,1317263.17884,237437.59732000003,237437.59732000003,237437.59732000003,512996.813,1118534.1196,1661586.38656,869158.8622499999,1324432.552,563681.913,563681.913,563681.913,690389.8609999999,626754.3600000001,626754.3600000001,457659.1767799999,629345.9227499999,935472.2110999998,1631637.5775,463074.2839,588943.4684499999,592452.924,592452.924,592452.924,592452.924,1884441.4424,1884441.4424 +23914800.0,597781.5210000001,461067.489,1346317.06788,245468.20793000003,245468.20793000003,245468.20793000003,537785.472,1143326.98696,1842544.92928,899452.29864,1370593.97888,588212.808,588212.808,588212.808,718347.2345,597781.5210000001,597781.5210000001,472662.4614399999,687829.09725,1022402.7568999999,1783260.6225,506106.3481,643672.16755,623689.173,623689.173,623689.173,623689.173,1797329.77314,1797329.77314 +23918400.0,617860.659,486851.349,1421605.93908,234712.65499000004,234712.65499000004,234712.65499000004,583205.588,1162636.29288,1984456.9036800002,925906.64334,1410905.36128,612445.455,612445.455,612445.455,753143.7374999999,617860.659,617860.659,493721.4783799999,729168.0547499999,1083849.7999,1890435.6975,536523.6551,682357.26605,652510.803,652510.803,652510.803,652510.803,1857701.04806,1857701.04806 +23922000.0,434871.801,349726.311,1021200.8281200001,200592.08675,200592.08675,200592.08675,358231.7095,607855.74008,1219006.7110400002,543602.22735,828346.2512,335365.014,335365.014,335365.014,387172.29949999996,434871.801,434871.801,358806.05293,336364.36245,499978.63258,872055.7545,247497.72842,314770.60091000004,419646.5669999999,419646.5669999999,419646.5669999999,419646.5669999999,1307514.54834,1307514.54834 +23925600.0,82278.948,61886.811,180709.48812000002,77237.86334000001,77237.86334000001,77237.86334000001,72314.46250000001,125156.82976,408791.04128,115738.67214,176363.69088,105548.29799999998,105548.29799999998,105548.29799999998,87409.7035,82278.948,82278.948,108068.32387000001,52199.59544999999,77590.50978,135332.28449999998,38408.591219999995,48848.51031,67702.125,67702.125,67702.125,67702.125,247385.37032,247385.37032 +23929200.0,74329.5,64713.94500000001,188964.7194,38833.87244000001,38833.87244000001,38833.87244000001,41157.032,103329.55528,400999.3728,97393.70907000001,148409.46144,100475.15099999998,100475.15099999998,100475.15099999998,75860.379,74329.5,74329.5,122266.54439999998,41473.6686,61647.28024,107524.326,30516.427760000002,38811.16148,59865.315,59865.315,59865.315,59865.315,223484.03,223484.03 +23932800.0,69902.562,70112.81400000001,204729.41688,15078.83718,15078.83718,15078.83718,25765.243000000002,101244.26647999999,399344.73152000003,86667.24024000001,132064.36608,98244.53400000001,98244.53400000001,98244.53400000001,69253.00200000001,69902.562,69902.562,136178.78157,34552.1862,51359.05207999999,89579.74199999998,25423.583919999997,32334.021159999997,55436.570999999996,55436.570999999996,55436.570999999996,55436.570999999996,210173.70307999998,210173.70307999998 +23936400.0,71288.094,72536.133,211805.50835999998,9642.871920000001,9642.871920000001,9642.871920000001,21428.638,130067.17184000001,406894.85312000004,85798.73862,130740.93504000001,100001.862,100001.862,100001.862,70686.238,71288.094,71288.094,145007.08443,33569.9154,49898.98536,87033.114,24700.82664,31414.80972,55461.606,55461.606,55461.606,55461.606,214339.53595999998,214339.53595999998 +23940000.0,80637.48,81700.158,238564.46136,4870.00734,4870.00734,4870.00734,18041.877,145268.13704,434635.88288,94741.47396,144367.96032,108074.51400000001,108074.51400000001,108074.51400000001,74203.885,80637.48,80637.48,165400.15206,41053.10445,61022.145379999994,106433.9745,30206.975619999997,38417.596509999996,58444.977,58444.977,58444.977,58444.977,242450.0232,242450.0232 +23943600.0,84330.67199999999,88858.42499999999,259466.601,4963.01905,4963.01905,4963.01905,17918.025999999998,143961.53048,430210.6604800001,111324.59793,169637.48256,107165.019,107165.019,107165.019,73488.64249999999,84330.67199999999,84330.67199999999,172675.93602999998,43491.62565,64646.81146,112756.0665,32001.245540000004,40699.57067,60294.054000000004,60294.054000000004,60294.054000000004,60294.054000000004,253554.22047999996,253554.22047999996 +23947200.0,91009.01699999999,93163.79699999999,272038.28724,6957.82373,6957.82373,6957.82373,21978.631500000003,150712.68728,446259.30240000004,140118.7347,213514.2624,112272.18000000002,112272.18000000002,112272.18000000002,77347.59199999999,91009.01699999999,91009.01699999999,183456.07435999997,47290.51755,70293.55941999999,122605.04550000001,34796.47958,44254.58309,68091.006,68091.006,68091.006,68091.006,273633.77778,273633.77778 +23950800.0,95397.44699999999,94669.17300000001,276433.98516000004,16809.64945,16809.64945,16809.64945,34360.081000000006,155496.78608,446869.80096,164052.64532999997,249984.98335999998,141940.509,141940.509,141940.509,86674.4515,95397.44699999999,95397.44699999999,183866.9638,51256.180349999995,76188.19893999999,132886.3935,37714.42406,47965.66013,77072.193,77072.193,77072.193,77072.193,286828.32398,286828.32398 +23954400.0,739326.0510000001,733414.7819999999,2141571.16344,226463.90866000002,226463.90866000002,226463.90866000002,740842.6515,1141327.57536,865145.2755200001,885885.1619100001,1349920.2467200002,435594.042,435594.042,435594.042,1232648.8825,739326.0510000001,739326.0510000001,1345768.4473999997,361814.7649499999,537808.6135799999,938038.2795,266224.19742,338587.15041,882262.926,882262.926,882262.926,882262.926,2222906.99334,2222906.99334 +23958000.0,1432685.652,1318793.9309999999,3850878.2785199997,780643.3789,780643.3789,780643.3789,1299143.9649999999,2166844.58104,2426112.4646400004,2100572.80566,3200872.8467200003,932121.372,932121.372,932121.372,1123535.049,1432685.652,1432685.652,731066.2963499998,1103584.3218,1640389.53512,2861144.538,812020.06888,1032736.93324,1589948.9789999998,1589948.9789999998,1589948.9789999998,1589948.9789999998,4307608.19368,4307608.19368 +23961600.0,1322783.8469999998,832797.138,2431767.6429600003,470642.79757000005,470642.79757000005,470642.79757000005,808075.6214999999,2176283.18904,4708908.4774400005,1625361.6539999999,2476741.568,1474579.8239999998,1474579.8239999998,1474579.8239999998,1176531.426,1322783.8469999998,1322783.8469999998,548318.8840999999,1831032.7384499998,2721683.2309799995,4747121.9145,1347278.41002,1713484.95771,958992.0750000001,958992.0750000001,958992.0750000001,958992.0750000001,3977170.0999799995,3977170.0999799995 +23965200.0,826591.9679999999,458783.00399999996,1339646.3716799999,247691.39252,247691.39252,247691.39252,1294407.9679999999,1872548.9412800001,3123327.1488000005,1627963.8986100003,2480706.8931200006,1187385.369,1187385.369,1187385.369,1411164.1915,826591.9679999999,826591.9679999999,801067.16911,1543140.8496,2293755.04064,4000735.5360000003,1135446.84736,1444075.01728,960751.098,960751.098,960751.098,960751.098,2485286.5171199995,2485286.5171199995 +23968800.0,440794.206,271129.284,791697.50928,242362.44384,242362.44384,242362.44384,714327.978,1349568.42072,1848134.96448,778109.33403,1185690.4137600001,353005.362,353005.362,353005.362,674462.663,440794.206,440794.206,164236.57939,639123.3152999999,950005.5205199999,1656986.373,470268.51347999997,598093.17654,439107.213,439107.213,439107.213,439107.213,1325321.2460399999,1325321.2460399999 +23972400.0,246412.79700000002,161269.707,470907.54443999997,126068.66514000003,126068.66514000003,126068.66514000003,158824.5435,668374.94176,459412.3955200001,391476.06918,596534.96256,215940.273,215940.273,215940.273,174692.9345,246412.79700000002,246412.79700000002,109110.89136999998,143682.90299999996,213573.10519999996,372511.2299999999,105722.23479999998,134458.8154,226844.397,226844.397,226844.397,226844.397,740881.14298,740881.14298 +23976000.0,359791.11,274336.52999999997,801062.6675999999,108714.87297000001,108714.87297000001,108714.87297000001,301544.6595,695100.39944,939319.58848,509689.82652,776670.21184,347457.894,347457.894,347457.894,335425.713,359791.11,359791.11,207803.97208999997,324946.7361,483007.24724,842454.501,239096.61076,304085.95798,335480.958,335480.958,335480.958,335480.958,1081771.9374,1081771.9374 +23979600.0,193280.1,119478.942,348878.51064,79621.8984,79621.8984,79621.8984,129969.11549999999,356087.40664,384874.01600000006,236803.88277,360844.01184,166718.97000000003,166718.97000000003,166718.97000000003,120285.21749999998,193280.1,193280.1,93608.29984999998,113099.2227,168112.91868,293220.207,83218.68732,105838.53186,153116.775,153116.775,153116.775,153116.775,581128.834,581128.834 +23983200.0,118515.258,52274.037,152640.18804,65753.82923999999,65753.82923999999,65753.82923999999,69629.03499999999,206430.00736,184913.31392000004,124739.84082,190079.75744000002,85667.592,85667.592,85667.592,52428.789000000004,118515.258,118515.258,40090.955579999994,44007.429599999996,65413.51263999999,114093.336,32380.775359999996,41182.26128,78180.27900000001,78180.27900000001,78180.27900000001,78180.27900000001,356335.87572,356335.87572 +23986800.0,77297.00399999999,27962.661,81650.97012,50212.216779999995,50212.216779999995,50212.216779999995,42460.5825,120153.83024,104126.31104,72164.42142,109964.83264000001,44925.638999999996,44925.638999999996,44925.638999999996,25810.9915,77297.00399999999,77297.00399999999,16116.01563,24385.6089,36247.250759999995,63221.949,17942.99124,22820.11302,42458.073000000004,42458.073000000004,42458.073000000004,42458.073000000004,232406.32535999996,232406.32535999996 +23990400.0,121991.54999999999,52868.721,154376.66532,58962.95691,58962.95691,58962.95691,59374.95549999999,212351.2476,191358.13632000005,123443.94699000001,188105.06208,87998.649,87998.649,87998.649,54205.700500000006,121991.54999999999,121991.54999999999,42525.52746,41327.082899999994,61429.39235999999,107144.28899999999,30408.569639999998,38673.98622,77687.19,77687.19,77687.19,77687.19,366787.92699999997,366787.92699999997 +23994000.0,503281.88399999996,394222.584,1151129.9452799999,114640.36562000001,114640.36562000001,114640.36562000001,366725.415,993252.76936,1291471.9283200002,700355.3999400001,1067208.2284800003,508075.635,508075.635,508075.635,436732.75100000005,503281.88399999996,503281.88399999996,320696.70191,409100.22000000003,608094.648,1060630.2000000002,301016.95200000005,382836.99600000004,465500.36100000003,465500.36100000003,465500.36100000003,465500.36100000003,1513200.86456,1513200.86456 +23997600.0,649817.8890000001,526213.263,1536542.72796,194999.43056000004,194999.43056000004,194999.43056000004,612156.0865,1282284.43752,2043891.73248,999647.72166,1523272.71872,654107.7390000001,654107.7390000001,654107.7390000001,796413.989,649817.8890000001,649817.8890000001,566256.03788,764784.08685,1136790.1735399999,1982773.5584999998,562730.01946,715686.8368299999,680494.296,680494.296,680494.296,680494.296,1953785.78626,1953785.78626 +24001200.0,658270.002,531327.3360000001,1551475.8211200002,247648.95463000002,247648.95463000002,247648.95463000002,673002.939,1284391.93,2162616.8384000002,1023634.9554900001,1559824.69408,656248.575,656248.575,656248.575,828883.314,658270.002,658270.002,582567.31065,805047.94755,1196639.17142,2087161.3455,592356.26758,753365.8570900001,707306.811,707306.811,707306.811,707306.811,1979198.47268,1979198.47268 +24004800.0,610240.395,497302.599,1452123.5890799998,235041.40517,235041.40517,235041.40517,507408.223,1041787.6895199999,1509922.67904,857679.17907,1306939.70144,502323.57,502323.57,502323.57,639570.421,610240.395,610240.395,569195.72229,639109.2334499999,949984.5889799998,1656949.8645,470258.1520199999,598079.99871,614503.887,614503.887,614503.887,614503.887,1834789.4542999999,1834789.4542999999 +24008400.0,275498.53799999994,203864.76,595285.0991999999,170398.85687,170398.85687,170398.85687,244921.915,472598.1748,572190.5152,380698.02078,580111.26976,211296.93,211296.93,211296.93,287709.926,275498.53799999994,275498.53799999994,396328.58394999994,135784.2447,201832.38348,352033.227,99910.38252,127067.23146000001,314610.23400000005,314610.23400000005,314610.23400000005,314610.23400000005,828332.2709199999,828332.2709199999 +24012000.0,91350.09,77779.98300000001,227117.55036,77469.05969000001,77469.05969000001,77469.05969000001,82115.705,157638.60608,428035.52,155829.02453999998,237453.75168,112397.304,112397.304,112397.304,91037.555,91350.09,91350.09,160918.84341,55536.4998,82550.55032,143983.518,40863.89368,51971.193640000005,78387.801,78387.801,78387.801,78387.801,274659.2706,274659.2706 +24015600.0,83227.92,75146.139,219426.72587999998,39374.79579,39374.79579,39374.79579,48393.471,138094.70152,418001.3856,137316.9483,209244.8736,106687.10399999999,106687.10399999999,106687.10399999999,80497.26299999999,83227.92,83227.92,156778.45312999998,44143.5825,65615.893,114446.325,32480.957,41309.6735,70312.65299999999,70312.65299999999,70312.65299999999,70312.65299999999,250238.61279999997,250238.61279999997 +24019200.0,78479.436,74559.147,217712.70924,15971.677150000001,15971.677150000001,15971.677150000001,27551.307,135768.51272000003,412068.08640000003,126271.31790000001,192413.43680000002,103242.29099999998,103242.29099999998,103242.29099999998,74784.5665,78479.436,78479.436,154359.61476,36809.749350000006,54714.738540000006,95432.68350000001,27084.704460000004,34446.654330000005,65512.068,65512.068,65512.068,65512.068,235961.50424,235961.50424 +24022800.0,83031.65999999999,81320.72099999999,237456.50532,10526.42415,10526.42415,10526.42415,22997.792999999998,144282.9524,415279.93856000004,127577.4465,194403.728,103781.46900000001,103781.46900000001,103781.46900000001,73930.55249999999,83031.65999999999,83031.65999999999,155545.55874,42962.33115,63860.05766,111383.8215,31611.78934,40204.25557,65392.683000000005,65392.683000000005,65392.683000000005,65392.683000000005,249648.52439999997,249648.52439999997 +24026400.0,87059.06099999999,85885.77900000001,250786.47468,5067.71573,5067.71573,5067.71573,18353.9895,142491.81855999999,416536.0454400001,129835.94484000001,197845.24928000002,103758.975,103758.975,103758.975,72732.8875,87059.06099999999,87059.06099999999,163603.51604999995,43382.53889999999,64484.66275999999,112473.249,31920.979239999997,40597.48702,68757.795,68757.795,68757.795,68757.795,261757.57673999996,261757.57673999996 +24030000.0,92257.494,89343.456,260882.89152,5113.132860000001,5113.132860000001,5113.132860000001,23557.285499999998,144833.46584,421362.00000000006,137221.34328,209099.18976,105204.9,105204.9,105204.9,73619.126,92257.494,92257.494,175351.08967999998,43950.0816,65328.26943999999,113944.65599999999,32338.578559999998,41128.59488,75093.672,75093.672,75093.672,75093.672,277387.53196,277387.53196 +24033600.0,96030.888,90315.81599999999,263722.18272,7685.971150000001,7685.971150000001,7685.971150000001,26510.914500000003,147268.61736,424745.16864000005,156826.98465,238974.4528,129375.91200000001,129375.91200000001,129375.91200000001,75637.9995,96030.888,96030.888,177528.93261999998,47325.9024,70346.15616,122696.784,34822.51584,44287.696319999995,81699.903,81699.903,81699.903,81699.903,288732.86992,288732.86992 +24037200.0,102888.828,92408.151,269831.80092,17959.404100000003,17959.404100000003,17959.404100000003,34580.6335,155453.72776,427915.69856,168548.76675000004,256836.21600000004,154053.96,154053.96,154053.96,84968.53050000001,102888.828,102888.828,178336.23821,52204.39875,77597.6495,135344.73750000002,38412.1255,48853.00525,90530.724,90530.724,90530.724,90530.724,309352.40952,309352.40952 +24040800.0,740692.215,722035.629,2108344.03668,241621.73233000003,241621.73233000003,241621.73233000003,748879.565,1153674.7077600001,838295.33952,879000.15147,1339428.80224,424443.375,424443.375,424443.375,1208427.9970000002,740692.215,740692.215,1340086.8513499997,364105.54215,541213.67006,943977.3315000001,267909.75694,340730.86537,897166.9829999999,897166.9829999999,897166.9829999999,897166.9829999999,2227014.5930999997,2227014.5930999997 +24044400.0,1455907.9500000002,1339046.511,3910015.81212,870645.19366,870645.19366,870645.19366,1319178.0665,2174354.64,2418241.6768000005,2137530.9755100003,3257190.0579200005,928535.544,928535.544,928535.544,1140191.185,1455907.9500000002,1455907.9500000002,726552.4624799999,1131892.06005,1682466.71642,2934534.9705000003,832848.9725800001,1059227.3845900001,1601005.1940000001,1601005.1940000001,1601005.1940000001,1601005.1940000001,4377429.903,4377429.903 +24048000.0,1398713.514,908638.416,2653224.17472,549178.38448,549178.38448,549178.38448,928153.1665,2274869.87592,5089012.298880001,1686845.84418,2570431.76256,1502876.1300000001,1502876.1300000001,1502876.1300000001,1220450.525,1398713.514,1398713.514,563488.2195799999,1919680.06185,2853450.36354,4976948.3085,1412505.32946,1796441.34183,1009684.446,1009684.446,1009684.446,1009684.446,4205465.29876,4205465.29876 +24051600.0,896008.1339999998,499581.76800000004,1458778.7625600002,306979.2209000001,306979.2209000001,306979.2209000001,1416517.7319999998,1970146.6942399999,3292112.1683200006,1768150.3402500004,2694324.3280000007,1256666.187,1256666.187,1256666.187,1467793.929,896008.1339999998,896008.1339999998,915450.39287,1637673.40215,2434270.09406,4245819.9315,1205004.13294,1532538.81337,1028284.2479999999,1028284.2479999999,1028284.2479999999,1028284.2479999999,2693997.7895599995,2693997.7895599995 +24055200.0,534366.291,341667.78,997669.9176,335707.15716999996,335707.15716999996,335707.15716999996,801201.7999999999,1566925.3192,2362982.864,908978.15022,1385109.56224,448850.33999999997,448850.33999999997,448850.33999999997,833755.9685,534366.291,534366.291,224646.23038,753911.14905,1120628.42402,1954584.4605,554729.68498,705511.9147900001,535595.1869999999,535595.1869999999,535595.1869999999,535595.1869999999,1606661.31494,1606661.31494 +24058800.0,349832.75399999996,258365.715,754427.8878,138563.25582,138563.25582,138563.25582,281397.158,948893.4199999999,808608.5088,602481.3666899999,918066.84448,331106.889,331106.889,331106.889,340130.7945,349832.75399999996,349832.75399999996,175946.79855999997,292508.62559999997,434790.59903999994,758355.696,215228.56896,273730.29408,342237.591,342237.591,342237.591,342237.591,1051830.48036,1051830.48036 +24062400.0,483100.25100000005,380648.517,1111493.66964,130018.57979,130018.57979,130018.57979,429971.493,964407.6895199999,1489626.2348800001,735894.5834100001,1121363.17472,482196.735,482196.735,482196.735,568288.6719999999,483100.25100000005,483100.25100000005,380051.48142,536172.1614,796976.8917599999,1390075.974,394516.80023999995,501751.23251999996,493571.01600000006,493571.01600000006,493571.01600000006,493571.01600000006,1452521.4213400001,1452521.4213400001 +24066000.0,315337.56299999997,226630.40400000004,661760.77968,93570.30936,93570.30936,93570.30936,247320.78699999998,619105.9628,844676.1440000001,439883.98104,670299.39968,301616.964,301616.964,301616.964,303952.89749999996,315337.56299999997,315337.56299999997,204946.19236,275953.30694999994,410182.4463799999,715434.4994999999,203047.12462,258237.78600999998,291623.364,291623.364,291623.364,291623.364,948114.93942,948114.93942 +24069600.0,217121.001,134951.835,394059.3582,73593.96792000001,73593.96792000001,73593.96792000001,135109.856,421446.96384,475066.61568000005,267369.84225,407420.712,195143.53500000003,195143.53500000003,195143.53500000003,150525.3855,217121.001,217121.001,102130.48469,122354.86589999999,181870.68955999997,317216.31899999996,90029.01243999999,114499.98561999999,174271.30500000002,174271.30500000002,174271.30500000002,174271.30500000002,652810.4763399999,652810.4763399999 +24073200.0,164628.999,86909.526,253775.81592,57779.27881,57779.27881,57779.27881,78204.07349999998,313515.55864,304668.58176000003,182668.668,278352.256,137127.369,137127.369,137127.369,86547.6255,164628.999,164628.999,67762.04383,63577.106550000004,94502.26702,164829.53550000003,46780.19198,59495.61329000001,118491.663,118491.663,118491.663,118491.663,494984.52365999995,494984.52365999995 +24076800.0,215882.06999999995,132974.217,388284.71364000003,66299.04644,66299.04644,66299.04644,125946.3205,418369.70432,459610.01984,261749.68323,398856.66016,192749.256,192749.256,192749.256,142565.0485,215882.06999999995,215882.06999999995,100000.32809,111879.22499999999,166299.49,290057.25,82321.01,104696.855,172203.168,172203.168,172203.168,172203.168,649085.4237999999,649085.4237999999 +24080400.0,632047.833,523739.8890000001,1529320.47588,145106.17154,145106.17154,145106.17154,594949.355,1258580.65424,2027367.0361600004,980292.62205,1493779.2336000002,645752.7359999999,645752.7359999999,645752.7359999999,785979.8065000001,632047.833,632047.833,522495.49000999995,755971.3638,1123690.76792,1959925.7580000001,556245.59608,707439.8688400001,665299.635,665299.635,665299.635,665299.635,1900357.1512199999,1900357.1512199999 +24084000.0,699227.598,566702.4839999999,1654771.2532799998,282974.53184,282974.53184,282974.53184,734124.6639999999,1380176.6316,2332686.43776,1136980.31916,1732541.43872,707446.359,707446.359,707446.359,894763.2960000001,699227.598,699227.598,645375.10739,887199.5731500001,1318750.97046,2300147.0415000003,652803.6365400001,830243.5511700001,763355.406,763355.406,763355.406,763355.406,2102344.31132,2102344.31132 +24087600.0,722175.0510000001,578220.924,1688405.09808,339081.3784600001,339081.3784600001,339081.3784600001,766447.983,1387969.8488,2354821.49312,1155218.7276,1760333.2992,713585.181,713585.181,713585.181,914399.976,722175.0510000001,722175.0510000001,656464.6970699999,900878.841,1339084.1043999998,2335611.81,662868.8756,843044.6438,771184.2570000001,771184.2570000001,771184.2570000001,771184.2570000001,2171339.65334,2171339.65334 +24091200.0,665902.404,530972.007,1550438.2604399999,313982.09546000004,313982.09546000004,313982.09546000004,585061.134,1119386.5435199998,1636511.81632,939729.1614900001,1431968.2460800002,537024.111,537024.111,537024.111,709524.2735000001,665902.404,665902.404,611519.04697,699430.6138500001,1039647.48034,1813338.6285,514642.77266,654528.89543,661508.13,661508.13,661508.13,661508.13,2002146.56136,2002146.56136 +24094800.0,306129.516,222010.032,648269.2934399999,189596.59917000003,189596.59917000003,189596.59917000003,273879.074,517360.14543999993,621248.9792000001,423463.50249000004,645277.71808,229981.31399999998,229981.31399999998,229981.31399999998,319862.3015,306129.516,306129.516,431260.26619,149089.40189999997,221609.43195999996,386528.07899999997,109700.35003999999,139518.23041999998,342008.823,342008.823,342008.823,342008.823,920429.41144,920429.41144 +24098400.0,108075.46199999998,85331.763,249168.74796,78682.68485,78682.68485,78682.68485,85223.103,184457.85416000002,468272.6323200001,174871.64729999998,266471.0816,124466.694,124466.694,124466.694,99738.0545,108075.46199999998,108075.46199999998,178138.17683999997,60104.571749999996,89340.62269999999,155826.6675,44225.092300000004,56246.00665,86864.55,86864.55,86864.55,86864.55,324946.88907999994,324946.88907999994 +24102000.0,99534.717,82064.802,239629.22184,40244.623980000004,40244.623980000004,40244.623980000004,51314.7355,187057.25568,454292.22400000005,155998.88115,237712.58080000003,118443.09599999999,118443.09599999999,118443.09599999999,88346.82849999999,99534.717,99534.717,172565.26754999996,47876.2974,71164.27416,124123.73400000001,35227.49784,44802.757320000004,82978.071,82978.071,82978.071,82978.071,299267.71577999997,299267.71577999997 +24105600.0,95918.682,83844.6,244826.232,18774.14484,18774.14484,18774.14484,30375.635500000004,201973.40991999998,446355.91679999995,144693.46437,220485.27904000002,114485.13,114485.13,114485.13,81563.2755,95918.682,95918.682,169409.86907,42000.35085,62430.151139999994,108889.7985,30903.96186,39304.03203,81668.47200000001,81668.47200000001,81668.47200000001,81668.47200000001,288395.50388,288395.50388 +24109200.0,103161.228,93327.351,272515.86491999996,24398.40051,24398.40051,24398.40051,25628.624,202888.43279999998,445524.86976000003,147334.2717,224509.36640000003,114143.00700000001,114143.00700000001,114143.00700000001,79994.72249999999,103161.228,103161.228,173435.41098,48843.971999999994,72602.6448,126632.52,35939.5152,45708.3096,81096.648,81096.648,81096.648,81096.648,310171.42552,310171.42552 +24112800.0,107032.737,97009.875,283268.835,19992.98367,19992.98367,19992.98367,27879.778500000004,212382.7544,454722.82176,152535.57795,232435.1664,117430.31100000002,117430.31100000002,117430.31100000002,80195.892,107032.737,107032.737,189228.37258,48302.851500000004,71798.3126,125229.615,35541.3574,45201.92770000001,83023.131,83023.131,83023.131,83023.131,321811.76258,321811.76258 +24116400.0,110695.76699999999,100572.216,293670.87072,21482.314700000003,21482.314700000003,21482.314700000003,29402.499,221650.78183999998,466648.1177600001,174924.80628,266552.08576,148782.027,148782.027,148782.027,82209.8655,110695.76699999999,110695.76699999999,198267.33419999998,51874.6518,77107.50712,134489.83800000002,38169.49688,48544.427240000005,94178.70300000001,94178.70300000001,94178.70300000001,94178.70300000001,332825.27278,332825.27278 +24120000.0,118955.763,103021.245,300822.0354,25240.4713,25240.4713,25240.4713,31452.179500000006,228828.90688,474631.1545600001,196043.55623999998,298733.03807999997,188975.325,188975.325,188975.325,89743.84650000001,118955.763,118955.763,200838.2311,56741.41124999999,84341.55449999998,147107.3625,41750.470499999996,53098.75274999999,110853.396,110853.396,110853.396,110853.396,357660.32742,357660.32742 +24123600.0,191068.85700000002,133984.983,391236.15035999997,49518.757970000006,49518.757970000006,49518.757970000006,45628.040499999996,607504.47576,492771.36768,317087.8578,483181.49760000006,208996.794,208996.794,208996.794,199524.51049999997,191068.85700000002,191068.85700000002,393538.38472,82992.42585,123361.58114000001,215165.54850000003,61066.03186,77664.51703,196916.445,196916.445,196916.445,196916.445,574480.36338,574480.36338 +24127200.0,844524.6569999999,379201.647,1107268.8092399999,322986.72626,322986.72626,322986.72626,727158.4775,2707517.9772799998,2311782.24768,1957666.1853,2983110.3776,704981.829,704981.829,704981.829,884963.5515,844524.6569999999,844524.6569999999,1712809.4463999998,938810.33505,1395466.22642,2433952.7205000003,690778.96258,878541.02959,989653.6140000001,989653.6140000001,989653.6140000001,989653.6140000001,2539204.13538,2539204.13538 +24130800.0,762709.596,1014188.5079999999,2961430.4433599995,672307.32932,672307.32932,672307.32932,1476918.6075,3321596.28992,2215702.6105600004,2326838.4447,3545658.5823999997,1004836.3319999999,1004836.3319999999,1004836.3319999999,1136147.3515,762709.596,762709.596,1813632.87612,1586743.41285,2358566.75194,4113779.2185000004,1167529.7210600001,1484878.40363,1113991.992,1113991.992,1113991.992,1113991.992,2293213.51864,2293213.51864 +24134400.0,1513929.102,1138690.305,3324975.6906,315316.55892000004,315316.55892000004,315316.55892000004,674840.047,2746872.2305599996,4568328.258560001,2068113.42339,3151410.93088,1271766.588,1271766.588,1271766.588,711769.8665,1513929.102,1513929.102,859731.9156399999,860076.8405999999,1278435.2050399997,2229828.846,632846.6629599999,804862.0310799999,1688772.831,1688772.831,1688772.831,1688772.831,4551880.16668,4551880.16668 +24138000.0,792130.827,369940.40099999995,1080225.97092,253997.82903000002,253997.82903000002,253997.82903000002,221548.68399999998,797163.42808,4642302.401280001,289706.12895000004,441456.95840000006,780649.047,780649.047,780649.047,791111.0515,792130.827,792130.827,385173.71295,1350836.1373499997,2007909.5177399996,3502167.7634999994,993948.5652599998,1264115.7927299999,312915.67500000005,312915.67500000005,312915.67500000005,312915.67500000005,2381673.3531799996,2381673.3531799996 +24141600.0,296926.962,104971.84500000002,306517.78740000003,134071.34334000002,134071.34334000002,134071.34334000002,115259.89649999999,433286.12136,818034.62528,196838.76743999997,299944.78848,144149.022,144149.022,144149.022,107165.4535,296926.962,296926.962,203939.40645,105554.69639999999,156898.58576,273660.32399999996,77667.40624,98778.34552,146887.074,146887.074,146887.074,146887.074,892760.3990799999,892760.3990799999 +24145200.0,326418.95999999996,730223.061,2132251.33812,121811.98645,121811.98645,121811.98645,390177.24199999997,754549.3452,916371.28576,482323.32183,734968.87136,229572.64500000002,229572.64500000002,229572.64500000002,523594.79199999996,326418.95999999996,326418.95999999996,261908.95887,219142.00079999998,325736.99872,568145.928,161245.22527999998,205073.62544,266549.154,266549.154,266549.154,266549.154,981433.0063999998,981433.0063999998 +24148800.0,400956.4859999999,308846.82,901832.7144,109266.75683,109266.75683,109266.75683,408129.043,869665.9652,1306192.4268800002,562145.49573,856602.6601600001,374720.07,374720.07,374720.07,281728.643,400956.4859999999,400956.4859999999,420779.90149,371839.6773,552709.84132,964028.7930000001,273600.55268,347968.48814000003,382260.27300000004,382260.27300000004,382260.27300000004,382260.27300000004,1205542.50124,1205542.50124 +24152400.0,244118.142,178826.862,522174.43704,82005.06655,82005.06655,82005.06655,142325.42799999999,535361.0343999999,716642.2950400001,298755.53484000004,455246.52928,224981.112,224981.112,224981.112,150767.1445,244118.142,244118.142,259057.69188,183018.11895,272041.74718,474491.4195,134665.18382,171268.80761,215976.723,215976.723,215976.723,215976.723,733981.8802799999,733981.8802799999 +24156000.0,317773.239,215066.00699999998,627992.74044,293665.0299,293665.0299,293665.0299,378535.206,668961.8559199999,375133.27168,584016.90459,889930.52128,208432.28699999995,208432.28699999995,208432.28699999995,569350.313,317773.239,317773.239,567591.23135,357514.0416,531415.9334399999,926888.256,263059.71456,334562.52288,162119.625,162119.625,162119.625,162119.625,955438.20526,955438.20526 +24159600.0,132399.516,447098.073,1305526.37316,271344.41323,271344.41323,271344.41323,299377.96699999995,687210.91568,231999.69088,157862.8506,240552.91520000005,188710.584,188710.584,188710.584,587158.11,132399.516,132399.516,548683.84766,214991.54054999998,319567.67261999997,557385.4755,158191.30638,201189.61449,185856.237,185856.237,185856.237,185856.237,398081.21144,398081.21144 +24163200.0,158755.809,116737.14000000001,340872.4488,271128.63811000006,271128.63811000006,271128.63811000006,103031.9535,350370.11088,357901.50591999997,169537.2504,258342.4768,126166.431,126166.431,126166.431,152182.2505,158755.809,158755.809,200163.41695999997,79232.5152,117772.77567999999,205417.63199999998,58299.480319999995,74145.98336,117743.20799999998,117743.20799999998,117743.20799999998,117743.20799999998,477325.79906,477325.79906 +24166800.0,1553602.5389999999,1185738.276,3462355.76592,680250.6506400001,680250.6506400001,680250.6506400001,2043488.2615,2578203.82088,3740490.65536,2562952.3957799994,3905451.2697599996,1691301.1380000003,1691301.1380000003,1691301.1380000003,1626709.6055,1553602.5389999999,1553602.5389999999,1071409.6308499998,1687566.56715,2508432.28006,4375172.5815,1241715.64694,1579228.96037,1546062.3539999998,1546062.3539999998,1546062.3539999998,1546062.3539999998,4671164.967259999,4671164.967259999 +24170400.0,873484.1940000001,542733.969,1584783.18948,367843.2910900001,367843.2910900001,367843.2910900001,741191.9130000001,1431081.6223199998,2264506.06912,1174980.74505,1790446.8496,732191.01,732191.01,732191.01,906357.165,873484.1940000001,873484.1940000001,554596.2611799999,883823.63895,1313732.91518,2291394.6195,650319.6158200001,827084.34361,796340.052,796340.052,796340.052,796340.052,2626275.80996,2626275.80996 +24174000.0,706017.762,545881.41,1593973.7172,377549.02823,377549.02823,377549.02823,731440.57,1327704.00384,2275176.2048,1095608.9879700001,1669499.41024,686539.956,686539.956,686539.956,896657.6675,706017.762,706017.762,555985.47576,879055.91415,1306646.0748599998,2279033.8515,646811.51214,822622.69497,743975.334,743975.334,743975.334,743975.334,2122760.0710799997,2122760.0710799997 +24177600.0,698549.079,542033.3670000001,1582737.43164,398313.05712000007,398313.05712000007,398313.05712000007,716580.8755,1298656.49792,2264831.0656000003,1078636.0685100001,1643635.9139200002,680204.943,680204.943,680204.943,881263.9814999999,698549.079,698549.079,551646.2304599999,869584.3856999999,1292567.4078799998,2254478.037,639842.33812,813759.21526,737656.6830000001,737656.6830000001,737656.6830000001,737656.6830000001,2100304.23086,2100304.23086 +24181200.0,483631.689,383646.366,1120247.38872,315558.10528,315558.10528,315558.10528,428098.4015,654432.45568,1327414.5958400003,594146.22603,905365.6777600001,354036.024,354036.024,354036.024,435435.399,483631.689,483631.689,390019.85529,387632.84670000005,576185.12028,1004974.0470000001,285221.20572,362747.7750600001,453263.79900000006,453263.79900000006,453263.79900000006,453263.79900000006,1454119.2782599998,1454119.2782599998 +24184800.0,87922.887,68701.113,200607.24996,78433.63341000001,78433.63341000001,78433.63341000001,83437.347,131729.89575999998,412374.5542400001,123268.03356000001,187837.00352000003,107529.342,107529.342,107529.342,89343.464,87922.887,87922.887,124566.45552,55582.4916,82618.91343999999,144102.756,40897.73456,52014.23288,78355.56,78355.56,78355.56,78355.56,264354.81358,264354.81358 +24188400.0,79022.469,72251.691,210974.93772000002,42446.50619000001,42446.50619000001,42446.50619000001,49432.0225,114966.8824,397183.87648000004,103410.57531,157578.01952,100354.21199999998,100354.21199999998,100354.21199999998,76517.504,79022.469,79022.469,140292.37533999997,43238.881349999996,64271.12733999999,112100.8035,31815.27566,40463.05193,71778.97499999999,71778.97499999999,71778.97499999999,71778.97499999999,237594.22345999998,237594.22345999998 +24192000.0,73646.26499999998,70221.258,205046.07335999998,28516.170100000003,28516.170100000003,28516.170100000003,28208.845,123349.78776,384040.0096,93742.16627999999,142845.20576,95251.80900000001,95251.80900000001,95251.80900000001,68450.1335,73646.26499999998,73646.26499999998,140349.96065999998,35313.2946,52490.378639999995,91552.986,25983.609360000002,33046.268280000004,65781.843,65781.843,65781.843,65781.843,221429.77009999997,221429.77009999997 +24195600.0,72727.095,71421.177,208549.83683999997,22970.57125,22970.57125,22970.57125,23268.133,133166.26712,379964.15488000005,98761.06275000001,150493.04800000004,94219.101,94219.101,94219.101,67619.0795,72727.095,72727.095,144930.98061,33404.541750000004,49653.17070000001,86604.36750000002,24579.144300000004,31260.052650000005,65663.283,65663.283,65663.283,65663.283,218666.13229999997,218666.13229999997 +24199200.0,77855.39700000001,76728.414,224046.96888000003,17536.82414,17536.82414,17536.82414,18419.299499999997,132647.07944,377872.6163200001,109506.85158,166867.58336,93240.98700000001,93240.98700000001,93240.98700000001,66955.049,77855.39700000001,77855.39700000001,149816.30521,37677.3849,56004.40915999999,97682.109,27723.112839999998,35258.589819999994,66335.655,66335.655,66335.655,66335.655,234085.22698,234085.22698 +24202800.0,82768.266,81027.069,236599.04148,17735.18373,17735.18373,17735.18373,19046.6535,131801.66352,375323.80224,122480.54553,186637.02176,92540.1,92540.1,92540.1,66532.613,82768.266,82768.266,157085.73516999997,40042.37025,59519.7701,103813.5525,29463.274900000004,37471.74895,68372.01,68372.01,68372.01,68372.01,248856.58643999998,248856.58643999998 +24206400.0,83469.92099999999,81369.492,237598.91664,20208.86461,20208.86461,20208.86461,25548.2605,132014.88776,373815.99744000006,133962.85623,204133.87615999999,92442.201,92442.201,92442.201,67528.3175,83469.92099999999,83469.92099999999,158202.66526999997,41939.26065,62339.34545999999,108731.41649999999,30859.01154,39246.86367,70952.697,70952.697,70952.697,70952.697,250966.22913999995,250966.22913999995 +24210000.0,135356.16,107596.43999999999,314181.6048,43343.92491000001,43343.92491000001,43343.92491000001,33440.9075,482906.74423999997,386804.8460800001,227577.25452000002,346784.38784000004,95367.729,95367.729,95367.729,112984.319,135356.16,135356.16,348297.51125,55805.56155,82950.48902,144681.0855,41061.869979999996,52222.98229,133784.097,133784.097,133784.097,133784.097,406970.8544,406970.8544 +24213600.0,664705.953,309799.899,904615.70508,303762.00393000006,303762.00393000006,303762.00393000006,568931.0865,2262554.63576,1750044.5075200002,1592465.55762,2426614.1830400005,501404.0070000001,501404.0070000001,501404.0070000001,583493.302,664705.953,664705.953,1600387.5001399997,713002.338,1059820.7592,1848524.5799999998,524628.8807999999,667229.3484,806177.874,806177.874,806177.874,806177.874,1998549.23202,1998549.23202 +24217200.0,633073.122,850247.28,2482722.0576,577921.21288,577921.21288,577921.21288,1181626.1485000001,2895946.13208,1744788.3360000004,2032037.92155,3096438.7376000006,854502.876,854502.876,854502.876,940098.7505,633073.122,633073.122,1209141.9366,1285961.78745,1911479.0025799999,3333975.0045,946213.8584200001,1203406.21591,935326.743,935326.743,935326.743,935326.743,1903439.8534799998,1903439.8534799998 +24220800.0,1295619.006,800403.882,2337179.33544,288024.93786000006,288024.93786000006,288024.93786000006,499032.89449999994,1845753.0824,3247654.2035200004,1518541.8521699999,2313968.53664,920576.058,920576.058,920576.058,526605.0335,1295619.006,1295619.006,564766.90517,625859.8893,930290.50212,1622599.7130000002,460509.25188000005,585681.2297400001,1412515.134,1412515.134,1412515.134,1412515.134,3895494.4780399995,3895494.4780399995 +24224400.0,624422.274,324938.973,948821.8011599999,236592.49438000002,236592.49438000002,236592.49438000002,194898.1965,539807.89072,3926743.5257600006,180395.02761,274887.66112,581869.992,581869.992,581869.992,629921.215,624422.274,624422.274,293836.50269999995,1096558.7098499998,1629946.5267399997,2842929.9884999995,806850.6062599999,1026162.3482299999,197391.849,197391.849,197391.849,197391.849,1877429.63716,1877429.63716 +24228000.0,191449.87800000003,42524.774999999994,124172.343,123138.69249,123138.69249,123138.69249,102099.221,226317.86456,191612.11904000002,110652.17016000001,168612.83072000003,65381.481,65381.481,65381.481,47852.1645,191449.87800000003,191449.87800000003,102085.09271999999,57285.249299999996,85149.92611999999,148517.313,42150.62788,53607.67774,71968.60800000001,71968.60800000001,71968.60800000001,71968.60800000001,575625.96652,575625.96652 +24231600.0,222692.93099999998,541590.153,1581443.24676,115351.12193000001,115351.12193000001,115351.12193000001,305357.7835,517515.56536,509196.10944000003,319072.6158900001,486205.89088000014,127999.908,127999.908,127999.908,356121.752,222692.93099999998,222692.93099999998,152362.9068,115700.02739999999,171978.80615999998,299963.034,85132.36584,108272.37132,157985.04,157985.04,157985.04,157985.04,669563.4125399999,669563.4125399999 +24235200.0,282514.05000000005,197734.38,577384.3896,100383.64809,100383.64809,100383.64809,284924.206,591942.09632,764925.9616000002,347103.24075,528919.2239999999,228769.548,228769.548,228769.548,183129.36949999997,282514.05000000005,282514.05000000005,283895.56025999994,219546.6768,326338.51712,569195.088,161542.98687999998,205452.32223999998,231802.20899999997,231802.20899999997,231802.20899999997,231802.20899999997,849425.577,849425.577 +24238800.0,157497.675,92623.185,270459.7002,75568.11328,75568.11328,75568.11328,87705.499,315798.60735999997,348078.85696,159971.87493,243766.66655999998,122117.06399999998,122117.06399999998,122117.06399999998,81998.049,157497.675,157497.675,156160.93089999998,91712.36745,136323.07458000001,237772.80450000003,67482.18642000001,85824.65991000002,115606.12199999999,115606.12199999999,115606.12199999999,115606.12199999999,473543.0095,473543.0095 +24242400.0,218466.41099999996,146071.743,426529.48955999996,228616.27932000003,228616.27932000003,228616.27932000003,161253.79200000002,457871.47016,138566.64640000003,422765.92974,644214.75008,118761.67199999999,118761.67199999999,118761.67199999999,352165.82100000005,218466.41099999996,218466.41099999996,468216.6073,214939.29555,319490.01462000003,557250.0255,158152.86438,201140.72349,83832.465,83832.465,83832.465,83832.465,656855.6757399999,656855.6757399999 +24246000.0,75774.027,331580.979,968216.45868,262938.62595,262938.62595,262938.62595,267024.8245,445992.98607999994,117918.38656,69473.15025,105863.84800000001,127065.70799999998,127065.70799999998,127065.70799999998,415717.372,75774.027,75774.027,399779.48477999994,156160.72619999998,232120.38807999998,404861.142,114903.44791999999,146135.59316,114241.22099999999,114241.22099999999,114241.22099999999,114241.22099999999,227827.24118,227827.24118 +24249600.0,97815.471,53682.276,156752.24592,243141.68604000003,243141.68604000003,243141.68604000003,74839.387,189540.85,175687.11744000003,85750.54970999999,130667.50432,59945.253,59945.253,59945.253,51969.5295,97815.471,97815.471,122448.67504999999,41490.7758,61672.708719999995,107568.678,30529.01528,38827.17044,59083.172999999995,59083.172999999995,59083.172999999995,59083.172999999995,294098.51614,294098.51614 +24253200.0,1305240.582,916214.5950000002,2675346.6174000003,474914.42537,474914.42537,474914.42537,1643275.0635000002,2084935.3924000002,2547653.3472,2061231.8084399998,3140924.66048,1361805.2519999999,1361805.2519999999,1361805.2519999999,1096642.4525000001,1305240.582,1305240.582,809030.3261299998,1161930.0635999998,1727115.7982399997,3012411.2759999996,854951.0097599999,1087337.0224799998,1157939.301,1157939.301,1157939.301,1157939.301,3924423.3498799996,3924423.3498799996 +24256800.0,696285.0630000001,457689.10800000007,1336452.1953600002,340713.0496,340713.0496,340713.0496,590480.9434999999,1187475.3604799998,1858684.97408,945746.7280799999,1441137.87136,573980.85,573980.85,573980.85,742322.7315,696285.0630000001,696285.0630000001,478624.80276,712578.2058,1059190.32072,1847424.9780000001,524316.80328,666832.44444,668610.726,668610.726,668610.726,668610.726,2093497.0894199999,2093497.0894199999 +24260400.0,634937.3999999999,487498.608,1423495.93536,342391.7495900001,342391.7495900001,342391.7495900001,638599.9515,1178431.9394399999,2004123.12384,976465.04508,1487946.7353599998,596602.9110000001,596602.9110000001,596602.9110000001,777374.7309999999,634937.3999999999,634937.3999999999,499778.93263999996,765379.27485,1137674.87274,1984316.6385000001,563167.9602600001,716243.8152300001,660254.448,660254.448,660254.448,660254.448,1909045.1159999997,1909045.1159999997 +24264000.0,624055.041,479346.555,1399691.9405999999,330472.12781000003,330472.12781000003,330472.12781000003,627185.0795,1147131.15128,1971193.6070400001,958004.2199700001,1459815.95424,596622.0630000001,596622.0630000001,596622.0630000001,759914.491,624055.041,624055.041,491246.22351999994,763360.9047,1134674.72748,1979083.827,561682.83852,714355.01946,649167.222,649167.222,649167.222,649167.222,1876325.4899399998,1876325.4899399998 +24267600.0,450164.478,351448.422,1026229.39224,268632.9833,268632.9833,268632.9833,404516.54949999996,610967.41472,1233416.9990400001,556391.36217,847834.4566400001,331350.14099999995,331350.14099999995,331350.14099999995,405237.8855,450164.478,450164.478,364802.34803999995,362474.04419999995,538788.57928,939747.522,266709.29672,339204.10556,424007.454,424007.454,424007.454,424007.454,1353494.53052,1353494.53052 +24271200.0,85842.849,63086.138999999996,184211.52588,78268.82283,78268.82283,78268.82283,82983.76800000001,130081.02432,406827.32096,119334.63612,181843.25504000002,106158.56400000001,106158.56400000001,106158.56400000001,88068.316,85842.849,85842.849,107873.15331000001,54849.133799999996,81528.83591999998,142201.45799999998,40358.128079999995,51327.95484,71171.64,71171.64,71171.64,71171.64,258100.83266,258100.83266 +24274800.0,75368.676,63679.233,185943.36036,39745.593140000004,39745.593140000004,39745.593140000004,48534.71000000001,104679.29024,382059.88223999995,97756.78017,148962.71264,96260.76,96260.76,96260.76,73642.492,75368.676,75368.676,120601.49075,41784.429149999996,62109.20086,108330.0015,30745.08614,39101.97197,68862.594,68862.594,68862.594,68862.594,226608.48583999998,226608.48583999998 +24278400.0,70250.562,67442.706,196932.70152,15943.150520000003,15943.150520000003,15943.150520000003,27514.1825,104240.98071999999,373228.92352,86287.55877,131485.80384,91988.022,91988.022,91988.022,65900.807,70250.562,70250.562,129685.99826000001,34189.24545,50819.56978,88638.78450000001,25156.53122,31994.380310000004,63496.69200000001,63496.69200000001,63496.69200000001,63496.69200000001,211220.02307999998,211220.02307999998 +24282000.0,70040.946,68598.468,200307.52656,22388.984529999998,22388.984529999998,22388.984529999998,22780.8595,125686.29583999999,373525.04448,87970.05546000002,134049.60832000003,92105.049,92105.049,92105.049,66141.1345,70040.946,70040.946,135887.23304,32616.96255,48482.49742,84562.4955,23999.641580000003,30523.034090000005,62608.602,62608.602,62608.602,62608.602,210589.77764,210589.77764 +24285600.0,74293.647,73823.541,215564.73971999998,18530.05066,18530.05066,18530.05066,18238.2445,131250.75295999998,377871.61536000005,94792.28073,144445.38016,93398.14199999999,93398.14199999999,93398.14199999999,65427.803,74293.647,74293.647,145574.52013,35977.591799999995,53477.80312,93275.238,26472.400879999997,33667.91924,63500.085,63500.085,63500.085,63500.085,223376.23197999998,223376.23197999998 +24289200.0,80485.905,80346.792,234612.63264,18893.19641,18893.19641,18893.19641,18345.089000000004,132019.44296,379841.99423999997,111695.03961,170201.96512,93986.47799999999,93986.47799999999,93986.47799999999,66391.997,80485.905,80485.905,154728.00785,40066.698599999996,59555.93223999999,103876.62599999999,29481.175759999995,37494.515479999995,66052.923,66052.923,66052.923,66052.923,241994.2877,241994.2877 +24292800.0,83466.35699999999,82495.125,240885.76499999998,21439.0099,21439.0099,21439.0099,25097.5935,134575.51752,384366.85568000004,128600.11206,195962.07552,95713.425,95713.425,95713.425,68786.0425,83466.35699999999,83466.35699999999,160414.77946,42142.10085,62640.85114,109257.2985,31008.261860000002,39436.68203,69255.363,69255.363,69255.363,69255.363,250955.51338,250955.51338 +24296400.0,135643.38299999997,107618.26499999998,314245.33379999996,45311.98969,45311.98969,45311.98969,34391.41649999999,487584.77695999993,402750.43264,228660.37235999998,348434.85312,100409.30399999999,100409.30399999999,100409.30399999999,115080.84349999999,135643.38299999997,135643.38299999997,353456.56814,56530.900349999996,84028.64693999999,146561.5935,41595.57606,52901.75613,135413.682,135413.682,135413.682,135413.682,407834.43821999995,407834.43821999995 +24300000.0,662657.835,313476.765,915352.1538,307057.09628,307057.09628,307057.09628,559042.7359999999,2271028.06696,1802321.8956799998,1590544.6328099999,2423687.05952,512874.027,512874.027,512874.027,599395.153,662657.835,662657.835,1596348.73073,716840.6161499999,1065526.0516599999,1858475.6715,527453.09534,670821.21857,804076.0859999999,804076.0859999999,804076.0859999999,804076.0859999999,1992391.2238999999,1992391.2238999999 +24303600.0,638459.967,836085.885,2441370.7841999996,602464.30189,602464.30189,602464.30189,1189716.1149999998,2911135.89032,1776037.9481600001,2042390.10402,3112213.49184,872269.6140000001,872269.6140000001,872269.6140000001,958551.8775,638459.967,638459.967,1154117.04213,1293233.5827,1922287.9426799999,3352827.807,951564.46332,1210211.17986,945907.203,945907.203,945907.203,945907.203,1919636.30078,1919636.30078 +24307200.0,1303795.437,827538.309,2416411.86228,302906.31899000006,302906.31899000006,302906.31899000006,514688.13200000004,1853650.0063199997,3286126.84096,1541245.75017,2348564.95264,944531.3069999999,944531.3069999999,944531.3069999999,534703.7745,1303795.437,1303795.437,568074.68445,639655.9874999999,950797.2949999999,1658367.375,470660.455,598591.6525,1428529.674,1428529.674,1428529.674,1428529.674,3920078.2805799996,3920078.2805799996 +24310800.0,633690.303,349446.80700000003,1020384.67644,241474.8094,241474.8094,241474.8094,197388.55849999998,557568.37024,3964824.6681600004,190066.67274000004,289625.40608000004,596211.921,596211.921,596211.921,649189.114,633690.303,633690.303,298925.64142999996,1108526.87295,1647736.24078,2873958.5595000004,815656.8102200001,1037362.1848100001,205446.675,205446.675,205446.675,205446.675,1905295.5110199999,1905295.5110199999 +24314400.0,204148.95,48655.854,142075.09368,123097.89481,123097.89481,123097.89481,102771.0075,270574.05032,245438.75392000002,130216.10931,198424.54752000002,85224.19499999999,85224.19499999999,85224.19499999999,60278.064,204148.95,204148.95,118642.08433999999,65205.7938,96923.17992,169052.058,47978.58408,61019.74284,88090.416,88090.416,88090.416,88090.416,613807.843,613807.843 +24318000.0,243502.02000000002,585089.544,1708461.46848,122554.55388,122554.55388,122554.55388,315811.328,577852.15024,615862.4761600001,352157.715,536621.28,154685.157,154685.157,154685.157,398235.3725,243502.02000000002,243502.02000000002,174153.81334,139622.05305,207536.97761999996,361983.1005,102734.25138,130658.66199,180705.00300000003,180705.00300000003,180705.00300000003,180705.00300000003,732129.4068000001,732129.4068000001 +24321600.0,317043.252,231366.351,675589.74492,110344.12246000001,110344.12246000001,110344.12246000001,319277.98,673658.62336,930364.48896,413108.90502000006,629499.28384,269643.966,269643.966,269643.966,211344.52499999997,317043.252,317043.252,313990.15257999994,265720.69844999997,394972.49497999996,688905.5145,195517.94602,248662.08570999998,278438.433,278438.433,278438.433,278438.433,953243.3776799998,953243.3776799998 +24325200.0,178311.528,113750.172,332150.50224,76380.9574,76380.9574,76380.9574,100164.17250000002,369384.28656000004,435496.14272000006,193457.0043,294791.6256,147680.574,147680.574,147680.574,99437.4675,178311.528,178311.528,175871.81066,113389.19055,168543.93262,293971.9755,83432.04638,106109.88449000001,140120.01299999998,140120.01299999998,140120.01299999998,140120.01299999998,536123.3275199999,536123.3275199999 +24328800.0,235071.33900000004,154196.142,450252.73464,249108.6235,249108.6235,249108.6235,206166.5725,496445.75056,165139.86048,454578.42527999997,692690.93376,133884.33000000002,133884.33000000002,133884.33000000002,403778.4555,235071.33900000004,235071.33900000004,487284.09183999995,242431.82549999998,360355.4542,628526.955,178381.9358,226868.3009,96060.138,96060.138,96060.138,96060.138,706781.1592600001,706781.1592600001 +24332400.0,90250.239,353170.671,1031258.3593199999,264680.44756999996,264680.44756999996,264680.44756999996,277076.247,507495.57368,142450.59968,89513.907,136402.14400000003,143351.49599999998,143351.49599999998,143351.49599999998,472229.0895,90250.239,90250.239,436596.0569099999,170361.3546,253228.48263999997,441677.586,125352.30536,159424.57628,131290.473,131290.473,131290.473,131290.473,271352.38526,271352.38526 +24336000.0,131954.919,79126.542,231049.50264,228689.53932,228689.53932,228689.53932,87754.8735,277491.00471999997,257005.02080000003,131554.48299000002,200463.97408,99361.92299999998,99361.92299999998,99361.92299999998,87611.61150000001,131954.919,131954.919,161879.81407,56997.6426,84722.42184,147771.666,41939.00616,53338.534680000004,90546.297,90546.297,90546.297,90546.297,396744.45645999996,396744.45645999996 +24339600.0,1407928.404,1033139.973,3016768.7211599997,615209.0022100002,615209.0022100002,615209.0022100002,1833442.7649999997,2314310.95248,3090897.19808,2292217.71954,3492903.19168,1530590.6849999998,1530590.6849999998,1530590.6849999998,1348300.6915000002,1407928.404,1407928.404,908773.67516,1398563.6620500002,2078852.65322,3625905.7905,1029066.5957800001,1308779.32819,1320684.5520000001,1320684.5520000001,1320684.5520000001,1320684.5520000001,4233171.40136,4233171.40136 +24343200.0,776982.2220000001,511636.404,1493978.29968,370056.25998,370056.25998,370056.25998,683253.823,1323177.89288,2155295.5776000004,1055791.4388000001,1608825.0496000003,660716.226,660716.226,660716.226,854559.678,776982.2220000001,776982.2220000001,528717.10957,816086.0564999998,1213046.4345999998,2115778.665,600478.1353999999,763695.3467,749780.8049999999,749780.8049999999,749780.8049999999,749780.8049999999,2336126.54748,2336126.54748 +24346800.0,668506.7490000001,517094.202,1509915.06984,423094.20450000005,423094.20450000005,423094.20450000005,688726.3425,1258395.1758400002,2141249.31264,1038118.2176399999,1581894.42688,651094.1939999999,651094.1939999999,651094.1939999999,842735.7645,668506.7490000001,668506.7490000001,526773.0566799999,828642.798,1231711.0232,2148333.18,609717.4168,775445.9764,702020.007,702020.007,702020.007,702020.007,2009976.95866,2009976.95866 +24350400.0,671383.722,524403.075,1531256.9789999998,460219.29558000003,460219.29558000003,460219.29558000003,698719.8995,1249658.7052,2168881.5206400002,1037287.7377800001,1580628.9337600002,659479.5989999999,659479.5989999999,659479.5989999999,850288.3339999999,671383.722,671383.722,529965.4825399999,836713.0791,1243706.84844,2169256.131,615655.5495600001,782998.16538,707656.596,707656.596,707656.596,707656.596,2018627.05748,2018627.05748 +24354000.0,463908.49199999997,370403.244,1081577.47248,334572.6975800001,334572.6975800001,334572.6975800001,421694.98699999996,633334.57968,1280205.9276800002,574238.97531,875030.81952,344522.454,344522.454,344522.454,423953.124,463908.49199999997,463908.49199999997,374850.75068999996,376503.61275,559642.4071,976120.4774999999,277032.2879,352333.01045,437875.86900000006,437875.86900000006,437875.86900000006,437875.86900000006,1394818.1992799998,1394818.1992799998 +24357600.0,87145.512,66046.647,192856.20924,78343.32825000002,78343.32825000002,78343.32825000002,83600.58,132218.34752,416917.92256,121646.05677000001,185365.41984000002,109107.828,109107.828,109107.828,89774.02350000001,87145.512,87145.512,109907.57647999999,55614.8835,82667.0614,144186.73500000002,40921.568600000006,52044.545300000005,79839.171,79839.171,79839.171,79839.171,262017.50608,262017.50608 +24361200.0,78746.964,70079.958,204633.47736,52989.6906,52989.6906,52989.6906,49824.634999999995,110721.00383999998,406427.78560000006,103829.48121,158216.35232,103255.83600000001,103255.83600000001,103255.83600000001,77751.856,78746.964,78746.964,139079.38473,43639.6086,64866.77623999999,113139.726,32110.13176,40838.053479999995,72604.113,72604.113,72604.113,72604.113,236765.87176,236765.87176 +24364800.0,74547.76800000001,72010.005,210269.21459999998,31710.534020000003,31710.534020000003,31710.534020000003,29023.543499999996,122704.99336000001,402053.51424,92553.75444,141034.29248,100289.27700000002,100289.27700000002,100289.27700000002,71041.0365,74547.76800000001,74547.76800000001,140049.56653999997,36393.077249999995,54095.38889999999,94352.4225,26778.1161,34056.73155,68013.40800000001,68013.40800000001,68013.40800000001,68013.40800000001,224140.28912,224140.28912 +24368400.0,74688.891,73875.48300000001,215716.41036,26430.970720000005,26430.970720000005,26430.970720000005,24325.916999999998,139665.44543999998,402847.16672000004,100769.08212,153552.88704,101005.16399999999,101005.16399999999,101005.16399999999,71220.72300000001,74688.891,74688.891,150266.84347999998,34870.090950000005,51831.591980000005,90403.93950000001,25657.499020000003,32631.517210000005,67360.95,67360.95,67360.95,67360.95,224564.59894,224564.59894 +24372000.0,81413.007,82235.907,240128.84844,21498.82262,21498.82262,21498.82262,19912.7075,142236.69816,410796.0512,107256.94098000001,163439.14816000004,102577.20599999998,102577.20599999998,102577.20599999998,71436.46299999999,81413.007,81413.007,159867.18501,41146.86194999999,61161.50837999999,106677.0495,30275.96262,38505.335009999995,69388.08,69388.08,69388.08,69388.08,244781.77437999996,244781.77437999996 +24375600.0,86468.127,86712.486,253200.45911999998,21951.6671,21951.6671,21951.6671,22099.5495,141118.65352000002,408335.77856000006,127783.23348000001,194717.30816000002,101639.29200000002,101639.29200000002,101639.29200000002,71666.819,86468.127,86468.127,169206.32910999996,42785.60535,63597.36893999999,110925.64349999999,31481.75406,40038.87513,71430.94499999999,71430.94499999999,71430.94499999999,71430.94499999999,259980.83517999997,259980.83517999997 +24379200.0,88995.042,87993.54,256941.13679999998,25600.112780000003,25600.112780000003,25600.112780000003,28123.4695,143855.406,413615.34208000003,146909.84994,223862.62847999998,103521.036,103521.036,103521.036,75156.823,88995.042,88995.042,171485.37445,46446.5907,69039.12988,120417.087,34175.51612,43464.83426,77604.95400000001,77604.95400000001,77604.95400000001,77604.95400000001,267578.42627999996,267578.42627999996 +24382800.0,144485.47499999998,114364.317,333943.80564,49121.31433,49121.31433,49121.31433,36121.4245,499451.92559999996,430673.93088000006,252079.15383,384120.61536,117396.978,117396.978,117396.978,125550.00150000001,144485.47499999998,144485.47499999998,362178.76239999995,61750.6821,91787.43363999999,160094.361,45436.30436,57786.440780000004,143699.862,143699.862,143699.862,143699.862,434419.66149999993,434419.66149999993 +24386400.0,704791.5210000001,325095.855,949279.8966,353232.17017,353232.17017,353232.17017,641205.8310000001,2380592.1668000002,1953635.1257600002,1687923.5041199997,2572073.9110399997,564168.444,564168.444,564168.444,713046.8555000001,704791.5210000001,704791.5210000001,1620943.2082999998,775081.7788499999,1152096.8663399997,2009471.2784999998,570307.0866599999,725323.4424299999,865136.8260000001,865136.8260000001,865136.8260000001,865136.8260000001,2119073.17314,2119073.17314 +24390000.0,661443.279,862974.885,2519886.6642,703238.36066,703238.36066,703238.36066,1268119.0654999998,2978878.56464,1853110.13824,2094090.38538,3190994.8729600003,902885.0460000001,902885.0460000001,902885.0460000001,1001932.6869999999,661443.279,661443.279,1202735.67076,1342574.676,1995629.5183999997,3480749.1599999997,987869.7616,1256384.6968,980600.3369999999,980600.3369999999,980600.3369999999,980600.3369999999,1988739.45886,1988739.45886 +24393600.0,1263499.53,803220.5009999999,2345403.8629199998,310021.1389,310021.1389,310021.1389,509547.5420000001,1743258.5536800001,3122995.7766400003,1455073.28547,2217254.5302399998,919103.544,919103.544,919103.544,514990.64400000003,1263499.53,1263499.53,487970.3201099999,619322.193,920572.7411999999,1605650.13,455698.7988,579563.2374,1386273.297,1386273.297,1386273.297,1386273.297,3798921.9202,3798921.9202 +24397200.0,611965.308,338148.843,987394.62156,247358.65374000004,247358.65374000004,247358.65374000004,196546.9205,531123.65888,3862792.5395200006,167842.60143,255760.15456000002,563740.9439999999,563740.9439999999,563740.9439999999,596709.0885000001,611965.308,611965.308,285142.07175999996,1074639.1823999998,1597364.9081599996,2786101.584,790722.1638399999,1005650.0003199999,188943.73200000002,188943.73200000002,188943.73200000002,188943.73200000002,1839975.6927199997,1839975.6927199997 +24400800.0,171113.36099999998,36369.46799999999,106198.84655999999,120807.8157,120807.8157,120807.8157,99502.52900000001,197630.09096,167241.28896000003,92073.94707,140303.15744,54915.663,54915.663,54915.663,44002.4095,171113.36099999998,171113.36099999998,85444.39747999999,51476.35859999999,76515.47623999999,133457.226,37876.43176,48171.70348,58833.263999999996,58833.263999999996,58833.263999999996,58833.263999999996,514480.8387399999,514480.8387399999 +24404400.0,115016.61600000001,447828.393,1307658.90756,111600.44192000001,111600.44192000001,111600.44192000001,284627.371,261493.20655999996,238084.87488000002,182969.10366,278810.06272,42746.22,42746.22,42746.22,307379.1735,115016.61600000001,115016.61600000001,37692.31921,57634.071749999996,85668.4227,149421.6675,42407.2923,53934.10665,62555.520000000004,62555.520000000004,62555.520000000004,62555.520000000004,345816.62544000003,345816.62544000003 +24408000.0,230053.07399999996,138977.23500000002,405813.5262,105380.3586,105380.3586,105380.3586,237475.90999999997,486214.46184,421619.5840000001,249973.16274,380911.48608,168767.93399999998,168767.93399999998,168767.93399999998,121834.9615,230053.07399999996,230053.07399999996,199461.82074,119763.12915,178018.28086,310497.0015,88122.00614,112074.63197,170989.227,170989.227,170989.227,170989.227,691692.9091599999,691692.9091599999 +24411600.0,164400.951,90472.197,264178.81524,75911.14509,75911.14509,75911.14509,85299.942,336431.87632,345343.16800000006,163523.67822,249178.93824000002,129703.53899999999,129703.53899999999,129703.53899999999,89710.698,164400.951,164400.951,152446.41801999998,85178.8629,126611.54435999999,220834.08899999998,62674.81764,79710.59022,119914.22099999999,119914.22099999999,119914.22099999999,119914.22099999999,494298.85934,494298.85934 +24415200.0,212864.226,134911.035,393940.2222,217316.50226,217316.50226,217316.50226,147319.599,433554.56279999996,139880.36288,395012.52756,601923.85152,116682.52799999999,116682.52799999999,116682.52799999999,321582.12450000003,212864.226,212864.226,429501.70132999995,197367.11505,293370.37841999996,511692.5205,145223.21057999998,184696.63359,84009.636,84009.636,84009.636,84009.636,640011.77284,640011.77284 +24418800.0,60591.996,301025.364,878994.06288,259718.69022,259718.69022,259718.69022,251033.2055,394285.31072,92390.66432,52483.953689999995,79975.54848,99727.59,99727.59,99727.59,399923.3175,60591.996,60591.996,361568.2291,142689.84300000002,212097.00120000003,369936.63000000006,104991.53880000001,133529.50740000003,99726.85800000001,99726.85800000001,99726.85800000001,99726.85800000001,182179.93464,182179.93464 +24422400.0,81050.946,40177.257,117317.59044,194036.45228000003,194036.45228000003,194036.45228000003,63825.156500000005,147084.342,143259.26656000002,60855.82167,92732.68063999999,45130.065,45130.065,45130.065,40919.606,81050.946,81050.946,97309.70067,35167.879349999996,52274.23054,91175.9835,25876.61246,32910.18833,41395.932,41395.932,41395.932,41395.932,243693.17763999998,243693.17763999998 +24426000.0,1245699.792,880865.4839999999,2572127.21328,473385.51359000005,473385.51359000005,473385.51359000005,1571165.855,2039679.3227199998,2369732.31552,1955441.6032200002,2979720.53824,1341385.5150000001,1341385.5150000001,1341385.5150000001,1016741.7575000001,1245699.792,1245699.792,726954.46304,1061118.9054,1577268.10136,2751049.014,780773.91064,992997.69172,1116110.436,1116110.436,1116110.436,1116110.436,3745404.0412799995,3745404.0412799995 +24429600.0,692214.36,464771.50800000003,1357132.80336,351728.0650400001,351728.0650400001,351728.0650400001,577321.612,1185590.1967999998,1794248.9139200002,942725.31675,1436533.816,578950.2749999999,578950.2749999999,578950.2749999999,749437.6645000001,692214.36,692214.36,479535.4704399999,701712.6106499999,1043039.4854599999,1819254.9164999998,516321.87153999996,656664.39367,633054.618,633054.618,633054.618,633054.618,2081257.8424,2081257.8424 +24433200.0,609871.4789999999,461538.033,1347691.05636,351053.39742000005,351053.39742000005,351053.39742000005,624976.996,1141861.46816,1899146.82368,921563.78265,1404287.6687999999,571959.5190000001,571959.5190000001,571959.5190000001,738178.6614999999,609871.4789999999,609871.4789999999,480284.82995999994,723119.7928499999,1074859.5439399998,1874755.0184999998,532073.3290599999,676697.2876299999,634176.588,634176.588,634176.588,634176.588,1833680.2468599998,1833680.2468599998 +24436800.0,610905.222,469187.463,1370027.39196,399500.95174000005,399500.95174000005,399500.95174000005,611515.3835,1117531.8004,1920929.9654400004,935124.0801,1424950.9792000002,578438.622,578438.622,578438.622,741825.8119999999,610905.222,610905.222,481254.61734999996,740035.926,1100004.0184,1918611.6600000001,544520.2616000001,692527.4468,633256.9439999999,633256.9439999999,633256.9439999999,633256.9439999999,1836788.3674799998,1836788.3674799998 +24440400.0,419452.21800000005,325955.73,951790.7316,311792.73664,311792.73664,311792.73664,379671.58599999995,568172.74152,1135501.5142400002,519476.30007,791582.93344,305413.275,305413.275,305413.275,374723.594,419452.21800000005,419452.21800000005,341968.07553999993,335708.61075,499003.9103,870355.6575,247015.2247,314156.94685,395936.952,395936.952,395936.952,395936.952,1261153.00212,1261153.00212 +24444000.0,77052.543,54003.56700000001,157690.41564000002,77634.88777,77634.88777,77634.88777,80444.10149999999,116656.46448,349848.92416000005,108227.70336000001,164918.40512000004,90005.964,90005.964,90005.964,78399.7095,77052.543,77052.543,94645.74469999998,50380.96725,74887.2649,130617.32250000001,37070.4401,47146.633550000006,61977.00899999999,61977.00899999999,61977.00899999999,61977.00899999999,231671.31261999998,231671.31261999998 +24447600.0,68224.94699999999,55486.164000000004,162019.59888,39392.73635000001,39392.73635000001,39392.73635000001,46500.6955,94923.22567999999,336438.66048,88689.27144000001,135145.55648000003,83338.296,83338.296,83338.296,65864.155,68224.94699999999,68224.94699999999,93149.67597,38160.630900000004,56722.71556,98934.96900000001,28078.68644,35710.812620000004,58984.704,58984.704,58984.704,58984.704,205129.67397999996,205129.67397999996 +24451200.0,62360.50199999999,56915.628,166193.63376,15567.167990000002,15567.167990000002,15567.167990000002,25342.2785,80015.45184,325110.5568,76013.19243,115829.62656,78363.699,78363.699,78363.699,57588.16350000001,62360.50199999999,62360.50199999999,112790.78667999999,30361.918499999996,45130.5554,78716.08499999999,22340.3746,28412.758299999998,56693.975999999995,56693.975999999995,56693.975999999995,56693.975999999995,187497.24268,187497.24268 +24454800.0,62098.914,59419.857,173505.98244000002,19521.706159999998,19521.706159999998,19521.706159999998,20657.4235,99372.47055999999,326901.25248,74468.30244,113475.50848,78488.586,78488.586,78488.586,57282.49799999999,62098.914,62098.914,113201.51257999998,28888.763399999996,42940.828559999994,74896.794,21256.42344,27034.176119999996,56003.466,56003.466,56003.466,56003.466,186710.73476,186710.73476 +24458400.0,65919.213,64781.225999999995,189161.17992,18471.93513,18471.93513,18471.93513,16919.4165,117504.00031999999,348846.14720000006,80971.8105,123385.61600000002,84757.662,84757.662,84757.662,60243.903999999995,65919.213,65919.213,126878.28581999999,28948.743899999998,43029.98475999999,75052.299,21300.55724,27090.30602,58190.28600000001,58190.28600000001,58190.28600000001,58190.28600000001,198197.10042,198197.10042 +24462000.0,67981.014,64576.83,188564.3436,17239.56355,17239.56355,17239.56355,15876.5145,112299.18792000001,326540.66752,83468.22498000001,127189.67616000002,78725.313,78725.313,78725.313,56395.31799999999,67981.014,67981.014,124965.95487999999,34230.761999999995,50881.28079999999,88746.41999999998,25187.079199999996,32033.231599999996,55713.54,55713.54,55713.54,55713.54,204396.24876,204396.24876 +24465600.0,69864.44099999999,66640.599,194590.54908,18986.692450000002,18986.692450000002,18986.692450000002,17075.807,110386.02144,318458.49216,88996.15515,135613.18880000003,76573.896,76573.896,76573.896,55584.767,69864.44099999999,69864.44099999999,126521.96101999999,34147.36845,50757.32298,88530.2145,25125.71802,31955.191710000003,55958.034,55958.034,55958.034,55958.034,210059.08593999996,210059.08593999996 +24469200.0,114324.669,92699.745,270683.2554,42811.12935,42811.12935,42811.12935,28214.3575,438152.2488,337428.60992,164976.71127,251393.08384000004,80561.38799999999,80561.38799999999,80561.38799999999,93312.01249999998,114324.669,114324.669,319510.95514,46278.6777,68789.54068,119981.75700000001,34051.96532,43307.700860000004,114087.135,114087.135,114087.135,114087.135,343736.17146,343736.17146 +24472800.0,561307.794,273798.246,799490.8783199999,284011.82018000004,284011.82018000004,284011.82018000004,462601.80400000006,1989818.7517600001,1459048.8,1334371.5902999998,2033328.1375999998,411155.61299999995,411155.61299999995,411155.61299999995,439241.159,561307.794,561307.794,1521125.91995,591654.9987,879447.67708,1533920.367,435341.20892,553672.20866,691344.222,691344.222,691344.222,691344.222,1687665.4339599998,1687665.4339599998 +24476400.0,559622.586,753759.09,2200976.5428,555334.6095,555334.6095,555334.6095,1024873.0695,2635744.47656,1546836.1689600002,1870224.7829999998,2849866.336,759074.886,759074.886,759074.886,809055.3695,559622.586,559622.586,946743.36302,1143964.5268499998,1700411.4695399997,2965833.9584999997,841731.92346,1070524.82883,836535.6120000001,836535.6120000001,836535.6120000001,836535.6120000001,1682598.57524,1682598.57524 +24480000.0,1178551.3080000002,645925.0260000001,1886101.07592,297325.65709,297325.65709,297325.65709,450804.49749999994,1440428.82848,2716919.2736000004,1295088.0845699997,1973467.5574399997,742498.9920000001,742498.9920000001,742498.9920000001,448957.25700000004,1178551.3080000002,1178551.3080000002,481408.60469,532221.9250500001,791105.1824200001,1379834.6205000002,391610.20658000006,498054.5915900001,1246599.729,1246599.729,1246599.729,1246599.729,3543510.9327200004,3543510.9327200004 +24483600.0,563899.392,321784.65,939611.178,232654.85485,232654.85485,232654.85485,181917.65550000002,464167.45152,3462158.8108800002,152663.49567,232630.08864,535445.6129999999,535445.6129999999,535445.6129999999,553216.7655,563899.392,563899.392,249452.20845999997,969195.0266999999,1440630.6322799998,2512727.847,713136.09372,906975.0990599999,169538.682,169538.682,169538.682,169538.682,1695457.50528,1695457.50528 +24487200.0,149184.76499999998,32545.233,95032.08035999999,117754.0133,117754.0133,117754.0133,100865.072,165413.12944,144521.06368000002,91642.84542,139646.24064,51714.849,51714.849,51714.849,44151.989,149184.76499999998,149184.76499999998,80918.10570999999,52291.41299999999,77726.9892,135570.33,38476.150799999996,48934.433399999994,58185.552,58185.552,58185.552,58185.552,448548.86009999993,448548.86009999993 +24490800.0,190231.614,496531.593,1449872.2515599998,121403.41950000002,121403.41950000002,121403.41950000002,283498.9745,451927.44808,420582.5568,276658.01436,421574.11712,106394.187,106394.187,106394.187,309488.87200000003,190231.614,190231.614,120415.13691999999,95721.23160000001,142281.92944,248166.15600000002,70431.91856,89576.16488000001,130986.522,130986.522,130986.522,130986.522,571963.05276,571963.05276 +24494400.0,250908.348,165597.102,483543.53784,111514.90273,111514.90273,111514.90273,264305.44700000004,524233.48672,632776.5132800001,300133.63527,457346.49184000003,203306.96399999998,203306.96399999998,203306.96399999998,164594.15,250908.348,250908.348,240497.21981999997,176871.94425,262905.9517,458556.8925,130142.8133,165517.20215,200148.642,200148.642,200148.642,200148.642,754397.7663199999,754397.7663199999 +24498000.0,139698.96899999998,77743.13399999999,227009.95127999998,73695.49,73695.49,73695.49,82971.5915,275083.24864,289750.18688000005,137373.58487999998,209331.17695999998,107950.158,107950.158,107950.158,73333.946,139698.96899999998,139698.96899999998,131888.51168999998,77651.35065000001,115422.50146000001,201318.31650000002,57136.05554000001,72666.32567,99662.049,99662.049,99662.049,99662.049,420028.23345999996,420028.23345999996 +24501600.0,200375.62199999997,136067.95200000002,397318.41984000005,221164.01164000004,221164.01164000004,221164.01164000004,131861.1875,422481.2804,124310.0384,388400.37348,591848.18816,107962.62599999999,107962.62599999999,107962.62599999999,312124.9915,200375.62199999997,200375.62199999997,434892.03745,188556.83414999998,280274.6028599999,488851.05149999994,138740.58414,176451.95096999998,73783.65,73783.65,73783.65,73783.65,602462.7034799999,602462.7034799999 +24505200.0,69684.651,297893.517,869849.0696399999,260556.923,260556.923,260556.923,254023.9205,402540.04559999995,109036.12864,58555.19607,89226.96544,118093.341,118093.341,118093.341,386252.167,69684.651,69684.651,367021.30685999995,143932.63815,213944.31646,373158.6915,105905.99054000001,134692.51817000002,101791.61099999999,101791.61099999999,101791.61099999999,101791.61099999999,209518.51734,209518.51734 +24508800.0,86765.83499999999,46615.797,136118.12724,189794.44594,189794.44594,189794.44594,71268.3195,160233.89623999997,151477.02848,70768.26645000001,107837.35840000001,49869.79500000001,49869.79500000001,49869.79500000001,48341.776,86765.83499999999,86765.83499999999,104908.01438,38519.88615,57256.71966,99866.37150000001,28343.02734,36047.004570000005,48995.19,48995.19,48995.19,48995.19,260875.94389999998,260875.94389999998 +24512400.0,1227378.114,840126.705,2453169.9786,532953.99696,532953.99696,532953.99696,1564463.922,1950921.54272,2321825.46688,1929687.8983200002,2940476.7974400003,1300635.432,1300635.432,1300635.432,1007055.7139999999,1227378.114,1227378.114,719392.5225499999,1060256.21085,1575985.77514,2748812.3985,780139.13786,992190.38003,1072210.29,1072210.29,1072210.29,1072210.29,3690316.86276,3690316.86276 +24516000.0,583166.463,386846.94899999996,1129593.09108,322175.11128,322175.11128,322175.11128,503685.36400000006,995090.9444,1512404.6464000002,799227.9197699999,1217871.1158399999,483635.52,483635.52,483635.52,613709.0155,583166.463,583166.463,407281.27622,593197.93125,881741.1224999999,1537920.5625,436476.5025,555116.08875,542522.424,542522.424,542522.424,542522.424,1753387.16542,1753387.16542 +24519600.0,519575.454,385489.578,1125629.56776,345359.41451000003,345359.41451000003,345359.41451000003,535917.7355,952325.33688,1535701.4246400003,778201.7271000001,1185831.2032000003,468582.546,468582.546,468582.546,600280.7509999999,519575.454,519575.454,404559.6675899999,597375.2835,887950.4214,1548750.735,439550.2086,559025.2653000001,526825.107,526825.107,526825.107,526825.107,1562190.1983599998,1562190.1983599998 +24523200.0,514899.63000000006,387603.009,1131800.7862800001,353222.58532,353222.58532,353222.58532,518971.565,922313.4250400001,1565347.19424,787371.0474,1199803.5008,469192.002,469192.002,469192.002,593782.364,514899.63000000006,514899.63000000006,403194.80603999994,601958.10555,894762.4186199999,1560632.1254999998,442922.26038,563313.8814899999,521967.042,521967.042,521967.042,521967.042,1548131.5542000001,1548131.5542000001 +24526800.0,352504.521,265104.282,774104.50344,272799.45044000004,272799.45044000004,272799.45044000004,312748.5305,460467.52536,893268.3782400001,422287.33953,643485.46976,240114.138,240114.138,240114.138,291358.151,352504.521,352504.521,282727.06214999995,267081.7536,396995.59424,692434.1760000001,196519.41376000002,249935.76448000004,322611.534,322611.534,322611.534,322611.534,1059863.59314,1059863.59314 +24530400.0,64017.417,42884.787,125223.57804,76951.29464000001,76951.29464000001,76951.29464000001,75306.4935,98887.68048,270344.18368,91823.49707999999,139921.51935999998,67606.03199999999,67606.03199999999,67606.03199999999,64614.83349999999,64017.417,64017.417,76005.71524,43256.74185,64297.67554,112147.1085,31828.41746,40479.76583,51081.678,51081.678,51081.678,51081.678,192479.03378,192479.03378 +24534000.0,54947.088,39653.919,115789.44348,38656.237290000005,38656.237290000005,38656.237290000005,42223.496,75699.31808000001,256214.05568000002,72078.94491,109834.58272,60742.152,60742.152,60742.152,51939.86350000001,54947.088,54947.088,70669.97262,31598.869499999997,46969.18379999999,81922.995,23250.5262,29570.3001,49590.654,49590.654,49590.654,49590.654,165207.57791999998,165207.57791999998 +24537600.0,50040.951,40973.622,119642.97623999999,14875.499980000002,14875.499980000002,14875.499980000002,21381.787,63582.708000000006,252209.19296000004,60688.84857000001,92478.24544000001,57852.46799999999,57852.46799999999,57852.46799999999,44876.286,50040.951,50040.951,68410.43183,24336.05715,36173.596059999996,63093.4815,17906.53094,22773.74237,45146.721000000005,45146.721000000005,45146.721000000005,45146.721000000005,150456.45933999997,150456.45933999997 +24541200.0,48261.6,41679.876,121705.23792,9351.51283,9351.51283,9351.51283,16365.195000000002,59814.97359999999,247405.43360000002,57255.87777,87247.05184,56113.056,56113.056,56113.056,42568.2635,48261.6,48261.6,67190.6495,22344.542550000002,33213.36942,57930.2955,16441.16958,20910.078090000003,43458.255,43458.255,43458.255,43458.255,145106.544,145106.544 +24544800.0,47957.613,43234.17,126243.77639999999,12255.94216,12255.94216,12255.94216,11723.8135,65363.8788,250621.20256000003,55308.12231,84279.04352,56647.971,56647.971,56647.971,41978.14950000001,47957.613,47957.613,86255.14222,20961.8361,31158.08724,54345.501000000004,15423.770760000001,19616.137980000003,42949.119,42949.119,42949.119,42949.119,144192.55641999998,144192.55641999998 +24548400.0,58700.31,57141.459,166853.06028,16800.284380000005,16800.284380000005,16800.284380000005,14933.908499999998,92028.19168,319750.20928,68172.069,103881.24799999999,76289.853,76289.853,76289.853,54637.7405,58700.31,58700.31,108475.75491999998,26189.49105,38928.576819999995,67898.6805,19270.29218,24508.19039,52569.57000000001,52569.57000000001,52569.57000000001,52569.57000000001,176492.2654,176492.2654 +24552000.0,64280.334,59906.37,174926.6004,18785.58154,18785.58154,18785.58154,16640.3475,101821.26432,322253.13152,72224.76744,110056.78848,77158.449,77158.449,77158.449,55553.68000000001,64280.334,64280.334,111002.94815999999,31782.7314,47242.47976,82399.67400000001,23385.812240000003,29742.35852,53274.67199999999,53274.67199999999,53274.67199999999,53274.67199999999,193269.53756,193269.53756 +24555600.0,69466.60800000001,65137.983,190202.91036,28486.170130000002,28486.170130000002,28486.170130000002,24978.078999999998,116952.0444,331097.38560000004,84648.96195000001,128988.89440000002,80920.00200000001,80920.00200000001,80920.00200000001,59468.531500000005,69466.60800000001,69466.60800000001,124430.49605999999,37228.7097,55337.48947999999,96518.877,27392.976519999997,34838.71846,56125.74600000001,56125.74600000001,56125.74600000001,56125.74600000001,208862.93472,208862.93472 +24559200.0,584710.9739999999,517286.64,1510476.9888,405152.32989000005,405152.32989000005,405152.32989000005,598163.1145,933690.6210399999,660669.69984,658976.9879699999,1004155.4102399999,298632.0,298632.0,298632.0,890525.5555,584710.9739999999,584710.9739999999,1089466.55363,282096.87749999994,419314.3709999999,731362.2749999999,207567.57899999997,263986.95449999993,682120.38,682120.38,682120.38,682120.38,1758030.99516,1758030.99516 +24562800.0,1185188.334,1095393.144,3198547.98048,1106498.9708300002,1106498.9708300002,1106498.9708300002,1103294.4335,1729182.2848799997,1963205.6307200002,1664358.16596,2536164.8243199997,705333.0210000001,705333.0210000001,705333.0210000001,867767.9325,1185188.334,1185188.334,625310.5146599999,914993.5891499999,1360064.5448599998,2372205.6015,673254.54214,856253.25997,1234028.268,1234028.268,1234028.268,1234028.268,3563466.25756,3563466.25756 +24566400.0,1081408.029,815752.3169999998,2381996.7656399994,625151.69475,625151.69475,625151.69475,686190.6205000001,1638307.6684,3712572.7929600007,1377670.15428,2099306.90176,1176319.467,1176319.467,1176319.467,852629.9180000001,1081408.029,1081408.029,464085.74081999995,1380357.4823999999,2051790.6281599996,3578704.584,1015670.44384,1291741.9403199998,768605.6190000001,768605.6190000001,768605.6190000001,768605.6190000001,3251433.47386,3251433.47386 +24570000.0,656953.086,361777.02900000004,1056388.92468,364365.98891,364365.98891,364365.98891,1059260.3315,1558156.54752,2346505.57184,1242949.03152,1894017.57184,937541.673,937541.673,937541.673,1157043.279,656953.086,656953.086,624333.1707599999,1206367.9596000002,1793169.16464,3127620.6360000004,887648.5233600001,1128922.1152800003,751496.031,751496.031,751496.031,751496.031,1975238.9452399998,1975238.9452399998 +24573600.0,345293.292,235832.934,688632.16728,336090.31104,336090.31104,336090.31104,569611.385,1034675.73752,1367246.9830400003,698684.7270900001,1064662.4412800001,273345.98099999997,273345.98099999997,273345.98099999997,487718.931,345293.292,345293.292,112297.35763999999,500248.90845,743579.8589799999,1296941.6145,368084.38201999996,468134.16371,335543.832,335543.832,335543.832,335543.832,1038181.83128,1038181.83128 +24577200.0,225309.26400000002,126260.763,368681.42796,116990.50165000002,116990.50165000002,116990.50165000002,176800.624,514651.96223999996,421862.44736000005,314754.81807000004,479626.38944,200533.54499999998,200533.54499999998,200533.54499999998,143477.6665,225309.26400000002,225309.26400000002,98484.51912,134540.25075,199983.2863,348808.0575,98995.0487,125903.09885000001,193078.07400000002,193078.07400000002,193078.07400000002,193078.07400000002,677429.85376,677429.85376 +24580800.0,367662.42600000004,280493.016,819039.60672,118902.88883000001,118902.88883000001,118902.88883000001,336519.8515,714046.32888,964182.90176,533078.32389,812309.82688,361828.377,361828.377,361828.377,367119.809,367662.42600000004,367662.42600000004,215607.47559,348815.21264999994,518485.82225999987,904335.7364999999,256659.09473999997,326422.13726999995,342687.006,342687.006,342687.006,342687.006,1105438.36084,1105438.36084 +24584400.0,226947.384,149034.396,435180.43632,82980.66183,82980.66183,82980.66183,176872.0975,433623.0835199999,505844.06848,298507.01201999997,454867.82784,208739.66700000002,208739.66700000002,208739.66700000002,183920.82100000003,226947.384,226947.384,121949.33451999999,166969.00574999998,248186.02829999998,432882.6075,122856.2067,156250.00785,187629.243,187629.243,187629.243,187629.243,682355.1345599999,682355.1345599999 +24588000.0,140385.138,68842.809,201021.00228,66035.37963000001,66035.37963000001,66035.37963000001,88182.41949999999,259494.74688,232134.35264000003,158470.50324,241478.86208,114910.86300000001,114910.86300000001,114910.86300000001,69712.07599999999,140385.138,140385.138,54770.44547,58707.90495,87264.58958,152205.6795,43197.42142,54939.00241,97719.588,97719.588,97719.588,97719.588,422091.31492,422091.31492 +24591600.0,99956.79900000001,40734.327000000005,118944.23484,50784.57681,50784.57681,50784.57681,54475.386,172403.02544,145337.85792,100444.0038,153057.5296,69987.23999999999,69987.23999999999,69987.23999999999,40592.4295,99956.79900000001,99956.79900000001,31280.223649999996,31953.775049999997,47496.72242,82843.1205,23511.66658,29902.42159,58843.91100000001,58843.91100000001,58843.91100000001,58843.91100000001,300536.77566000004,300536.77566000004 +24595200.0,160066.719,80466.531,234962.27052,60158.22637000001,60158.22637000001,60158.22637000001,92639.4875,299557.25784,272407.95648,184068.05907,280484.66144,136551.12300000002,136551.12300000002,136551.12300000002,79273.63500000001,160066.719,160066.719,65399.54979999999,66489.24285,98830.92393999998,172379.51849999998,48922.94905999999,62220.797629999994,115404.876,115404.876,115404.876,115404.876,481267.26846,481267.26846 +24598800.0,515185.002,415523.01599999995,1213327.20672,137167.63654000004,137167.63654000004,137167.63654000004,464387.1715,1010144.946,1421528.6195200002,762014.27673,1161164.61216,520345.392,520345.392,520345.392,566794.0215,515185.002,515185.002,359014.07580999995,528454.37205,785505.0172199999,1370066.8905,388838.03178,494528.90619,491799.90900000004,491799.90900000004,491799.90900000004,491799.90900000004,1548989.57268,1548989.57268 +24602400.0,580781.1510000001,459241.38899999997,1340984.85588,294441.29286,294441.29286,294441.29286,624731.198,1128280.27952,1900170.7296000002,900202.2624,1371736.7808,571630.185,571630.185,571630.185,726166.5495,580781.1510000001,580781.1510000001,502427.91988999996,706908.79305,1050763.1936199998,1832726.5004999998,520145.23537999997,661526.99399,617725.443,617725.443,617725.443,617725.443,1746215.3273399998,1746215.3273399998 +24606000.0,599080.14,472991.319,1381134.65148,364965.63422,364965.63422,364965.63422,642278.5075000001,1148892.47192,1926961.3151999998,935865.2870700001,1426080.43744,585124.932,585124.932,585124.932,741498.093,599080.14,599080.14,532619.5251,740386.7693999999,1100525.5189599998,1919521.2539999997,544778.4130399999,692855.76692,632124.657,632124.657,632124.657,632124.657,1801234.2876,1801234.2876 +24609600.0,555837.654,443673.08999999997,1295525.4228,315985.49191000004,315985.49191000004,315985.49191000004,507323.27099999995,928042.8446400001,1352910.048,769284.44103,1172242.9577600001,449418.135,449418.135,449418.135,580706.5145,555837.654,555837.654,507228.84342,583915.02345,867942.8249799999,1513853.7645,429646.11602,546429.12071,548647.1370000001,548647.1370000001,548647.1370000001,548647.1370000001,1671218.5463599998,1671218.5463599998 +24613200.0,250924.224,178773.729,522019.28868,212117.18715,212117.18715,212117.18715,243470.00300000003,427170.38576,502619.13856000005,340770.45386999997,519269.26304,186679.533,186679.533,186679.533,263554.802,250924.224,250924.224,352307.72368999996,126911.89755,188644.35142,329030.8455,93382.08758,118764.46709,284156.442,284156.442,284156.442,284156.442,754445.5001599999,754445.5001599999 +24616800.0,82098.27,67662.357,197574.08244000003,81799.1449,81799.1449,81799.1449,80855.481,143687.00960000002,370329.27296000003,137457.3081,209458.7552,97029.56400000001,97029.56400000001,97029.56400000001,81519.9735,82098.27,82098.27,137645.27842,51457.951349999996,76488.11533999999,133409.5035,37862.88766,48154.47793,76607.54699999999,76607.54699999999,76607.54699999999,76607.54699999999,246842.1318,246842.1318 +24620400.0,74015.787,65264.28300000001,190571.70636,53905.20047,53905.20047,53905.20047,47167.176,121978.77183999999,361875.70879999996,120373.17306,183425.78752,91760.766,91760.766,91760.766,70558.257,74015.787,74015.787,134048.67787999997,39633.79815,58912.46046,102754.29150000002,29162.646540000005,37089.40617000001,70883.694,70883.694,70883.694,70883.694,222540.79958,222540.79958 +24624000.0,69789.801,64584.49800000001,188586.73416,30532.45217,30532.45217,30532.45217,26550.4015,111688.41152,361577.39008000004,111516.88989,169930.49888000003,89919.429,89919.429,89919.429,65321.207,69789.801,69789.801,133642.32426999998,33149.88585,49274.64514,85944.1485,24391.76786,31021.745030000002,66902.022,66902.022,66902.022,66902.022,209834.66833999997,209834.66833999997 +24627600.0,69350.556,65459.826,191142.69191999998,25119.462059999998,25119.462059999998,25119.462059999998,21759.629500000003,125756.21816,362126.04672000004,109615.11603000002,167032.55776000003,89212.14300000001,89212.14300000001,89212.14300000001,64193.143000000004,69350.556,69350.556,133259.28472999998,32188.330800000003,47845.37072,83451.228,23684.25328,30121.91944,65941.113,65941.113,65941.113,65941.113,208514.00504,208514.00504 +24631200.0,72945.378,70804.248,206748.40416,19921.36388,19921.36388,19921.36388,16780.0955,121388.59896,357503.18912,109334.97603,166605.67776,87351.405,87351.405,87351.405,61854.04750000001,72945.378,72945.378,131444.39958,37071.998999999996,55104.5516,96112.59,27277.6684,34692.0682,64879.770000000004,64879.770000000004,64879.770000000004,64879.770000000004,219322.43652,219322.43652 +24634800.0,73572.264,70791.912,206712.38304,20362.70654,20362.70654,20362.70654,16343.187,118089.62384,347761.78112000006,107760.31875,164206.2,84594.963,84594.963,84594.963,60162.63749999999,73572.264,73572.264,133545.56631,36113.355899999995,53679.60555999999,93627.21899999998,26572.296439999995,33794.967619999996,63405.285,63405.285,63405.285,63405.285,221207.27375999998,221207.27375999998 +24638400.0,71566.056,69616.701,203280.76692,21416.519080000002,21416.519080000002,21416.519080000002,21640.5595,114639.2876,334650.49984,106447.84353,162206.23776000002,80943.693,80943.693,80943.693,58303.4935,71566.056,71566.056,135018.78272999998,35288.0145,52452.801799999994,91487.445,25965.0082,33022.6111,61805.384999999995,61805.384999999995,61805.384999999995,61805.384999999995,215175.27503999998,215175.27503999998 +24642000.0,72079.584,68513.259,200058.71628,29975.232540000005,29975.232540000005,29975.232540000005,29191.316,116688.67208,327259.42208,115005.71481,175246.80352000002,79789.551,79789.551,79789.551,60298.448000000004,72079.584,72079.584,132281.85906,38066.512950000004,56582.81678,98690.95950000001,28009.434220000003,35622.73681,65367.039,65367.039,65367.039,65367.039,216719.28255999996,216719.28255999996 +24645600.0,628614.402,580347.2309999999,1694613.9145199999,457322.16376,457322.16376,457322.16376,669836.426,999568.5016000001,699594.4448000002,747379.83075,1138864.504,317577.195,317577.195,317577.195,996674.1225,628614.402,628614.402,1152297.3036899997,312287.94269999996,464190.9666799999,809635.4069999999,229782.23931999996,292239.82785999996,755979.996,755979.996,755979.996,755979.996,1890033.96868,1890033.96868 +24649200.0,1263032.6940000001,1199769.768,3503327.7225599997,1252264.2544500001,1252264.2544500001,1252264.2544500001,1210502.8705,1842580.2863199997,2102710.91648,1835111.26743,2796360.02656,765615.9809999999,765615.9809999999,765615.9809999999,921462.1605,1263032.6940000001,1263032.6940000001,613101.1040699999,999171.32445,1485187.9933799999,2590444.1745,735192.72762,935026.99251,1334331.477,1334331.477,1334331.477,1334331.477,3797518.2999600004,3797518.2999600004 +24652800.0,1168364.619,868493.8259999999,2536001.97192,713053.1860100001,713053.1860100001,713053.1860100001,800246.5939999999,1791134.9379200002,4206707.83808,1449476.15589,2208725.57088,1256003.601,1256003.601,1256003.601,963580.3765,1168364.619,1168364.619,493640.3240599999,1555509.9465,2312140.7106,4032803.5650000004,1144548.0594000001,1455650.0487000002,815704.8809999999,815704.8809999999,815704.8809999999,815704.8809999999,3512882.9544599997,3512882.9544599997 +24656400.0,668208.366,359847.708,1050755.30736,455678.76695,455678.76695,455678.76695,1174321.995,1602014.8132000002,2542515.76768,1336263.31776,2036210.7699199999,984939.939,984939.939,984939.939,1234082.7065,668208.366,668208.366,684749.7096699999,1301124.4649999999,1934017.1059999997,3373285.65,957370.5939999999,1217595.487,796782.1199999999,796782.1199999999,796782.1199999999,796782.1199999999,2009079.82044,2009079.82044 +24660000.0,293544.711,204225.76799999998,596339.2425599999,386358.93395000004,386358.93395000004,386358.93395000004,586299.6335,974243.18976,1342109.76576,667883.2809600001,1017726.9043200002,220787.325,220787.325,220787.325,487779.1624999999,293544.711,293544.711,86704.59823999999,518896.044,771297.3296,1345286.04,381804.9904,485584.19920000003,307174.425,307174.425,307174.425,307174.425,882591.09774,882591.09774 +24663600.0,98658.069,40772.166,119054.72472,109766.80110000001,109766.80110000001,109766.80110000001,95077.605,271425.59823999996,108403.8592,165412.80714,252057.61088,54024.966,54024.966,54024.966,51014.5055,98658.069,98658.069,24352.986709999997,48353.31045,71873.31577999999,125360.4345,35578.48522,45249.14731,77043.282,77043.282,77043.282,77043.282,296631.92746,296631.92746 +24667200.0,133144.968,69403.191,202657.31772,89950.67928000001,89950.67928000001,89950.67928000001,109743.87200000002,229430.08232000002,181375.17056,160127.26086,244003.44512000002,85547.412,85547.412,85547.412,62416.8125,133144.968,133144.968,55861.56029999999,65677.69979999999,97624.63031999998,170275.51799999998,48325.81367999999,61461.353639999994,84166.02,84166.02,84166.02,84166.02,400322.53711999994,400322.53711999994 +24670800.0,42613.104,12720.354000000001,37143.43368,67705.21515999999,67705.21515999999,67705.21515999999,59395.2555,70049.3984,34013.83936,55688.89536000001,84859.26912000001,12659.454000000002,12659.454000000002,12659.454000000002,21115.146500000003,42613.104,42613.104,7774.446289999999,21476.595149999997,31923.235259999994,55680.061499999996,15802.531739999999,20097.850769999997,26862.594,26862.594,26862.594,26862.594,128123.39936,128123.39936 +24674400.0,27617.552999999996,7075.164,20659.47888,57404.28936,57404.28936,57404.28936,49914.4835,53877.89528,19838.13504,40461.24327,61655.22784,9287.607,9287.607,9287.607,17829.9695,27617.552999999996,27617.552999999996,6694.66382,17734.6584,26361.146559999997,45978.744,13049.20544,16596.13712,20365.014,20365.014,20365.014,20365.014,83036.77601999999,83036.77601999999 +24678000.0,16992.42,4300.551,12557.60892,44062.53632,44062.53632,44062.53632,38643.472,39036.17768,12526.883840000002,27355.033440000003,41683.86048,6881.694,6881.694,6881.694,13803.846000000001,16992.42,16992.42,5182.962589999999,13730.05485,20408.62474,35596.438500000004,10102.60826,12848.61923,14183.892,14183.892,14183.892,14183.892,51090.542799999996,51090.542799999996 +24681600.0,29854.790999999997,7328.277,21398.56884,50292.70103,50292.70103,50292.70103,43473.906,53322.80328,19958.36992,40367.72481,61512.72352000001,8316.201000000001,8316.201000000001,8316.201000000001,15529.3285,29854.790999999997,29854.790999999997,5830.8359199999995,15446.315249999998,22959.708099999996,40046.002499999995,11365.436899999999,14454.699949999998,20633.232,20633.232,20633.232,20633.232,89763.40494,89763.40494 +24685200.0,178331.769,79015.854,230726.29368,90360.76434000001,90360.76434000001,90360.76434000001,92251.78199999999,230709.76648,248041.61984,168792.27603,257207.27776000003,98943.045,98943.045,98943.045,44906.6765,178331.769,178331.769,35933.441699999996,65191.331249999996,96901.6825,169014.5625,47967.9425,61006.20875,83294.538,83294.538,83294.538,83294.538,536184.18546,536184.18546 +24688800.0,319217.385,184874.259,539832.8362799999,159533.65813,159533.65813,159533.65813,253526.36400000003,572551.9297600001,481781.24032,368090.92866000003,560900.4627200001,262089.987,262089.987,262089.987,161259.0455,319217.385,319217.385,174554.48633999997,171815.31269999998,255389.67467999997,445447.107,126422.13132,160785.19386,250873.512,250873.512,250873.512,250873.512,959780.2708999999,959780.2708999999 +24692400.0,378742.767,229499.93699999998,670139.81604,168331.17884,168331.17884,168331.17884,320120.759,709458.09784,745993.93472,521562.17904,794761.4156800001,350511.83999999997,350511.83999999997,350511.83999999997,270284.1855,378742.767,378742.767,235900.66838,307976.48685,457782.33354,798457.5585,226609.85946,288205.15683,325282.047,325282.047,325282.047,325282.047,1138753.25278,1138753.25278 +24696000.0,373602.075,277797.921,811169.92932,163459.38477,163459.38477,163459.38477,324363.214,602061.28624,760709.77664,463426.27527,706173.37184,284325.663,284325.663,284325.663,224675.5805,373602.075,373602.075,327720.46593,316787.86125,470879.7345,821301.8625,233093.2905,296450.86275000003,329248.752,329248.752,329248.752,329248.752,1123296.9055,1123296.9055 +24699600.0,185170.56600000002,120089.013,350659.91796,152293.44966,152293.44966,152293.44966,146529.7015,295194.67272,361666.4864,226506.10059,345152.15327999997,115844.073,115844.073,115844.073,173570.761,185170.56600000002,185170.56600000002,229451.80999,75973.2291,112928.10844,196967.631,55901.28956,71095.93538,189723.432,189723.432,189723.432,189723.432,556746.16844,556746.16844 +24703200.0,63030.06,47696.172,139272.82224,76376.71646000001,76376.71646000001,76376.71646000001,70438.5045,86501.17480000001,274042.45888,87980.69112,134065.81504000002,49676.223,49676.223,49676.223,62203.15499999999,63030.06,63030.06,80288.61619999997,42397.69634999999,63020.77333999999,109919.95349999999,31196.329659999996,39675.86893,50241.513000000006,50241.513000000006,50241.513000000006,50241.513000000006,189510.3804,189510.3804 +24706800.0,57578.397,48684.354,142158.31368,37994.264,37994.264,37994.264,36761.2595,70316.50248000001,272908.87168000004,72915.83901,111109.84992000001,47454.71399999999,47454.71399999999,47454.71399999999,52919.468,57578.397,57578.397,94076.77460999998,31154.471099999995,46308.62123999999,80770.851,22923.53676,29154.430979999997,43443.129,43443.129,43443.129,43443.129,173119.04697999998,173119.04697999998 +24710400.0,54348.18000000001,50381.667,147114.46764,14262.684150000001,14262.684150000001,14262.684150000001,15998.584,72839.56352,278060.85632,63306.81966,96467.53472000001,55384.734,55384.734,55384.734,48192.203499999996,54348.18000000001,54348.18000000001,101232.69338,24880.632299999997,36983.063319999994,64505.343,18307.23068,23283.35714,44169.246,44169.246,44169.246,44169.246,163406.8612,163406.8612 +24714000.0,55255.134000000005,51917.34900000001,151598.65908,9256.77137,9256.77137,9256.77137,11341.988000000001,82680.54752000001,288547.84896000003,62803.02168,95699.84256,67942.023,67942.023,67942.023,48972.8295,55255.134000000005,55255.134000000005,105733.53543999998,24051.36645,35750.42618,62355.3945,17697.05482,22507.328110000002,48559.989,48559.989,48559.989,48559.989,166133.76956,166133.76956 +24717600.0,55922.217000000004,53492.01299999999,156196.67795999997,4040.7082100000002,4040.7082100000002,4040.7082100000002,9561.628999999999,96704.84031999999,299226.09024000005,72506.43854999999,110486.0016,71162.55,71162.55,71162.55,50150.765,55922.217000000004,55922.217000000004,109557.63454999999,23220.517049999995,34515.43521999999,60201.34049999999,17085.71378,21729.817189999998,52825.958999999995,52825.958999999995,52825.958999999995,52825.958999999995,168139.46578,168139.46578 +24721200.0,60736.01400000001,57364.545,167504.47139999998,6476.72124,6476.72124,6476.72124,14055.919499999998,103775.12392,315650.84288,88684.51872,135138.31423999998,75890.04000000001,75890.04000000001,75890.04000000001,52992.9925,60736.01400000001,60736.01400000001,115567.0321,28627.43715,42552.38806,74219.28150000001,21064.13894,26789.62637,55836.495,55836.495,55836.495,55836.495,182612.94876000003,182612.94876000003 +24724800.0,64712.064000000006,57896.981999999996,169059.18743999998,18308.26822,18308.26822,18308.26822,15522.766,105270.18728,312758.73216,93665.22438000001,142727.96096000003,75213.26699999999,75213.26699999999,75213.26699999999,53121.70850000001,64712.064000000006,64712.064000000006,114650.56356,31838.50395,47325.38118,82544.26950000001,23426.84982,29794.550610000002,55770.561,55770.561,55770.561,55770.561,194567.60576,194567.60576 +24728400.0,100752.18,82235.949,240128.97108,39588.1981,39588.1981,39588.1981,23895.448500000002,389290.24192,322766.15616,142628.22882,217338.25344,78528.71100000001,78528.71100000001,78528.71100000001,75637.926,100752.18,100752.18,289690.35965999996,40869.0441,60748.55443999999,105956.78099999999,30071.54356,38245.35238,105509.84999999999,105509.84999999999,105509.84999999999,105509.84999999999,302928.22119999997,302928.22119999997 +24732000.0,483756.099,248680.51800000004,726147.11256,252530.68764000002,252530.68764000002,252530.68764000002,333037.754,1825251.59304,1203401.1027200003,1104232.7694299999,1682640.41056,353976.51300000004,353976.51300000004,353976.51300000004,305306.519,483756.099,483756.099,1487086.2474,449286.19109999994,667827.8692399999,1164816.051,330585.88876,420443.12698,593536.491,593536.491,593536.491,593536.491,1454493.33766,1454493.33766 +24735600.0,526638.3030000001,740289.78,2161646.1576,525384.1714,525384.1714,525384.1714,933360.176,2591133.54,1482599.1584,1779920.0118000002,2712259.0656000003,736348.806,736348.806,736348.806,743014.8775,526638.3030000001,526638.3030000001,1096473.8434,1074106.0647,1596572.47148,2784719.427,790329.89452,1005151.1074600001,759391.881,759391.881,759391.881,759391.881,1583425.8310200002,1583425.8310200002 +24739200.0,1112898.669,537057.648,1568208.33216,257699.35972,257699.35972,257699.35972,382094.0655,1331876.33928,2445153.6179200006,1163451.11001,1772877.88192,700552.743,700552.743,700552.743,362683.7795,1112898.669,1112898.669,464205.36071,460963.59255,685185.38942,1195090.7955,339178.14958,431370.86809,1139997.9989999998,1139997.9989999998,1139997.9989999998,1139997.9989999998,3346115.33146,3346115.33146 +24742800.0,503770.224,273891.303,799762.60476,211244.94952,211244.94952,211244.94952,181838.1705,365042.65536,3200622.06336,127223.27708999999,193864.04128,494392.3890000001,494392.3890000001,494392.3890000001,485348.4859999999,503770.224,503770.224,199360.57985999997,837521.9046,1244909.10264,2171353.086,616250.68536,783755.06628,138348.858,138348.858,138348.858,138348.858,1514669.14016,1514669.14016 +24746400.0,124151.84700000001,20732.853,60539.930759999996,113667.78621,113667.78621,113667.78621,99288.504,92093.75151999999,101802.21248,67648.84475999999,103083.95392,37176.828,37176.828,37176.828,36800.22149999999,124151.84700000001,124151.84700000001,52280.356569999996,43381.0242,64482.41127999999,112469.322,31919.864719999998,40596.069559999996,32188.413000000004,32188.413000000004,32188.413000000004,32188.413000000004,373283.21998,373283.21998 +24750000.0,135284.637,425658.42899999995,1242922.6126799998,107174.80532000001,107174.80532000001,107174.80532000001,242045.90199999997,348756.76415999996,315349.83680000005,193925.98764000004,295506.26688000007,73025.598,73025.598,73025.598,248115.41650000002,135284.637,135284.637,94324.01822999999,70122.27915,104231.14086,181798.5015,51596.14614,65620.60197,78792.438,78792.438,78792.438,78792.438,406755.80858,406755.80858 +24753600.0,184043.31,104965.86599999998,306500.32871999993,92973.68806,92973.68806,92973.68806,236707.569,397589.25568,355104.49728,197263.16504999998,300591.4896,141579.423,141579.423,141579.423,112175.97300000001,184043.31,184043.31,164195.68957999998,106046.62964999999,157629.80505999998,274935.7065,78029.37194,99238.69787,136984.437,136984.437,136984.437,136984.437,553356.8854,553356.8854 +24757200.0,74713.05600000001,30143.693999999996,88019.58648,68268.17349000002,68268.17349000002,68268.17349000002,64835.119999999995,133771.23272,114614.25024000002,61628.64099,93910.31008000001,51679.59,51679.59,51679.59,29704.202499999996,74713.05600000001,74713.05600000001,69161.34498,35601.755849999994,52919.15313999999,92300.8485,26195.859859999997,33316.21103,40511.831999999995,40511.831999999995,40511.831999999995,40511.831999999995,224637.25504000002,224637.25504000002 +24760800.0,131709.936,103114.17,301093.3764,163513.67043000003,163513.67043000003,163513.67043000003,63767.5255,299271.27304,57920.88768,283467.32904,431950.21568,67545.94200000001,67545.94200000001,67545.94200000001,164337.7855,131709.936,131709.936,354495.13852999994,111901.14765,166332.07626,290114.0865,82337.14074,104717.37027,33692.508,33692.508,33692.508,33692.508,396007.87424,396007.87424 +24764400.0,32576.532,203518.476,594273.9499199999,255368.25094000003,255368.25094000003,255368.25094000003,188185.5885,254647.07968000002,52103.21024000001,31949.51298,48684.97216,74704.173,74704.173,74704.173,297341.15249999997,32576.532,32576.532,251127.33906,106288.68599999999,157989.60239999997,275563.26,78207.4776,99465.2148,61053.09299999999,61053.09299999999,61053.09299999999,61053.09299999999,97946.77287999999,97946.77287999999 +24768000.0,44050.62,17285.036999999997,50472.30803999999,254919.50495,254919.50495,254919.50495,46733.949499999995,50766.89224000001,100587.81952,35020.90032,53365.18144,22336.656000000003,22336.656000000003,22336.656000000003,21389.585000000003,44050.62,44050.62,49720.81608,19640.86785,29194.573939999995,50920.7685,14451.79906,18379.97263,15843.675,15843.675,15843.675,15843.675,132445.5308,132445.5308 +24771600.0,918096.6179999998,564880.233,1649450.28036,309505.25012,309505.25012,309505.25012,1110281.7075,1429339.39264,1387340.01472,1346465.84751,2051757.4819200002,917642.9580000001,917642.9580000001,917642.9580000001,474984.3595,918096.6179999998,918096.6179999998,382941.79117999994,606975.0227999999,902219.6635199998,1573638.9479999999,446613.72047999996,568008.7250399999,717753.153,717753.153,717753.153,717753.153,2760410.498119999,2760410.498119999 +24775200.0,424243.75800000003,290080.74,847035.7608,278087.11711000005,278087.11711000005,278087.11711000005,391283.78450000007,780836.5108799998,950160.2137600001,589862.82264,898838.5868800001,386013.975,386013.975,386013.975,429798.04699999996,424243.75800000003,424243.75800000003,325491.257,388663.53525,577717.1561,1007646.2025000001,285979.58890000003,363712.29595000006,388751.205,388751.205,388751.205,388751.205,1275559.56572,1275559.56572 +24778800.0,402065.24100000004,296631.864,866165.04288,272794.87983000005,272794.87983000005,272794.87983000005,398751.79750000004,740769.7192,1152594.30976,584538.23547,890724.93024,371189.289,371189.289,371189.289,435130.2025,402065.24100000004,402065.24100000004,312151.65994999994,436986.95265,649546.03826,1132929.1365,321536.07874,408933.46927,362729.664,362729.664,362729.664,362729.664,1208876.15794,1208876.15794 +24782400.0,404522.82599999994,294278.295,859292.6214,256791.35900000003,256791.35900000003,256791.35900000003,381919.72699999996,727842.10248,1185328.10624,590983.95741,900546.9827200001,365671.569,365671.569,365671.569,430170.35949999996,404522.82599999994,404522.82599999994,310161.80624,446443.22475,663602.0279,1157445.3975,328494.0271,417782.67205,380102.454,380102.454,380102.454,380102.454,1216265.2968399997,1216265.2968399997 +24786000.0,280131.087,195852.04499999998,571887.9714,196770.86143,196770.86143,196770.86143,232200.45800000004,361471.90416,651424.7136,326757.19902,497915.73184,178280.046,178280.046,178280.046,207070.70649999997,280131.087,280131.087,218983.27307999998,184845.44249999998,274757.91699999996,479228.925,136009.733,172978.8215,255775.28999999998,255775.28999999998,255775.28999999998,255775.28999999998,842260.80158,842260.80158 +24789600.0,55229.685,38069.247,111162.20124,76108.49125,76108.49125,76108.49125,69741.07,85231.87415999999,235212.10880000005,81872.97741,124758.82272,46052.445,46052.445,46052.445,56623.13650000001,55229.685,55229.685,67158.18199999999,39384.427500000005,58541.791000000005,102107.77500000001,28979.159000000003,36856.0445,44798.244,44798.244,44798.244,44798.244,166057.2529,166057.2529 +24793200.0,46788.270000000004,34909.452000000005,101935.59984,37660.62982,37660.62982,37660.62982,35877.4885,62268.497760000006,221624.75136,62262.18726,94875.71392000001,42127.920000000006,42127.920000000006,42127.920000000006,44706.97,46788.270000000004,46788.270000000004,61963.00200999999,27406.9413,40738.21891999999,71055.033,20166.09508,25647.48334,36129.678,36129.678,36129.678,36129.678,140676.7318,140676.7318 +24796800.0,42205.704,33789.537,98665.44804,13891.337350000002,13891.337350000002,13891.337350000002,15012.528999999999,53329.28567999999,220162.26176000002,51376.38156,78287.81952,47000.49,47000.49,47000.49,38296.6045,42205.704,42205.704,60292.32066,20412.12555,30340.986619999996,52920.3255,15019.292379999999,19101.71749,33859.701,33859.701,33859.701,33859.701,126898.48335999998,126898.48335999998 +24800400.0,41973.573000000004,34264.848,100053.35616,8785.506070000001,8785.506070000001,8785.506070000001,10281.0295,52599.7996,225956.42752000003,49944.00159,76105.14528,50010.615000000005,50010.615000000005,50010.615000000005,37787.049999999996,41973.573000000004,41973.573000000004,61261.03060999999,19206.6228,28549.10352,49794.948000000004,14132.280480000001,17973.605040000002,37782.108,37782.108,37782.108,37782.108,126200.54282,126200.54282 +24804000.0,39755.583,36025.602,105194.75783999999,3347.5872100000006,3347.5872100000006,3347.5872100000006,5346.348,48048.12696,217832.65792,45943.09524,70008.52608000001,47324.859000000004,47324.859000000004,47324.859000000004,34942.0295,39755.583,39755.583,59113.43775999999,17005.48425,25277.2877,44088.2925,12512.677300000001,15913.774150000001,35845.638,35845.638,35845.638,35845.638,119531.78622,119531.78622 +24807600.0,40458.068999999996,37178.7,108561.80399999999,3379.0279600000003,3379.0279600000003,3379.0279600000003,6935.050499999999,54365.570320000006,223212.24128000005,46867.65384,71417.37728,48883.167,48883.167,48883.167,35830.291000000005,40458.068999999996,40458.068999999996,62486.051029999995,17376.767999999996,25829.171199999993,45050.88,12785.868799999998,16261.222399999999,36646.341,36646.341,36646.341,36646.341,121643.92745999999,121643.92745999999 +24811200.0,43008.501,40632.693,118647.46355999999,8011.782790000001,8011.782790000001,8011.782790000001,11403.315,63499.955200000004,237243.32864,50215.578,76518.97600000001,53031.479999999996,53031.479999999996,53031.479999999996,39284.294,43008.501,43008.501,80142.90206000001,19279.530899999998,28657.475559999995,49983.969,14185.92644,18041.832619999997,38911.617,38911.617,38911.617,38911.617,129312.22634,129312.22634 +24814800.0,76275.51000000001,63629.58899999999,185798.39987999998,32189.060200000004,32189.060200000004,32189.060200000004,20181.364,296041.72384,255569.84000000003,87673.87019999999,133598.2784,58946.29800000001,58946.29800000001,58946.29800000001,52286.024,76275.51000000001,76275.51000000001,217270.31664,26815.7385,39859.4434,69522.285,19731.0866,25094.2343,80563.49100000001,80563.49100000001,80563.49100000001,80563.49100000001,229335.03340000001,229335.03340000001 +24818400.0,356503.023,197943.723,577995.6711599999,198798.42961000002,198798.42961000002,198798.42961000002,227202.3005,1356880.44528,846834.2464000001,781139.26065,1190307.4448,253392.351,253392.351,253392.351,207660.46,356503.023,356503.023,1301396.9189,315570.8646,469070.76664,818146.686,232197.82136,295311.99428000004,450566.77800000005,450566.77800000005,450566.77800000005,450566.77800000005,1071885.7558199998,1071885.7558199998 +24822000.0,392626.824,589624.4940000001,1721703.52248,401426.40362000006,401426.40362000006,401426.40362000006,628900.5974999999,2098043.8271999997,1062968.7321600001,1430474.27901,2179770.32992,604085.562,604085.562,604085.562,578228.3255,392626.824,392626.824,614583.34405,822610.8454499999,1222745.00978,2132694.7845,605279.09122,769801.2603099999,608639.334,608639.334,608639.334,608639.334,1180497.98416,1180497.98416 +24825600.0,892875.8190000001,278345.37,812768.4804,223178.97096,223178.97096,223178.97096,300636.301,785004.53056,1726616.57088,820357.6724700001,1250068.8342400002,447389.454,447389.454,447389.454,247989.19249999998,892875.8190000001,892875.8190000001,331161.76119,319402.9503,474766.85452,828081.7230000001,235017.47948,298898.06954000005,868200.3570000001,868200.3570000001,868200.3570000001,868200.3570000001,2684579.96246,2684579.96246 +24829200.0,427323.35400000005,244576.53599999996,714163.4851199999,192196.9181,192196.9181,192196.9181,170106.8285,302585.61319999996,2521559.56032,120996.98688000001,184376.36096000002,381028.22699999996,381028.22699999996,381028.22699999996,376477.9235,427323.35400000005,427323.35400000005,170000.48896999998,692554.6736999999,1029426.9470799998,1795512.1169999999,509583.4389199999,648094.3736599999,117653.07,117653.07,117653.07,117653.07,1284818.88436,1284818.88436 +24832800.0,66117.591,15984.753,46675.47876,112453.30228,112453.30228,112453.30228,98218.8235,71090.46015999999,67935.92768000001,59686.744320000005,90951.22944000001,24436.797,24436.797,24436.797,35084.777,66117.591,66117.591,33418.350419999995,36442.280699999996,54168.525879999994,94479.987,26814.320119999997,34102.77626,26843.955,26843.955,26843.955,26843.955,198793.55693999998,198793.55693999998 +24836400.0,94006.92599999999,340798.167,995130.64764,103150.96726,103150.96726,103150.96726,206631.5475,244081.11223999996,255580.21952000004,148161.80526,225770.36992,47808.702000000005,47808.702000000005,47808.702000000005,177904.0025,94006.92599999999,94006.92599999999,58647.50267999999,55864.66724999999,83038.34489999998,144834.32249999998,41105.3601,52278.293549999995,45468.294,45468.294,45468.294,45468.294,282647.4908399999,282647.4908399999 +24840000.0,143839.69800000003,80473.053,234981.31475999998,89374.57485,89374.57485,89374.57485,218216.1625,304149.05712,233878.09024000002,135125.29233,205905.20736,103082.77799999999,103082.77799999999,103082.77799999999,82068.567,143839.69800000003,143839.69800000003,133843.31011999998,80685.99135,119933.25133999999,209185.90350000001,59368.95166,75506.14993,96288.96900000001,96288.96900000001,96288.96900000001,96288.96900000001,432478.02532,432478.02532 +24843600.0,65073.51900000001,26001.684,75924.91728000001,67169.61537,67169.61537,67169.61537,63047.78200000001,102670.66896000001,99400.18048000001,53895.98004,82127.20768,39730.886999999995,39730.886999999995,39730.886999999995,25999.414,65073.51900000001,65073.51900000001,57335.64732999999,33643.77525,50008.772099999995,87224.6025,24755.172899999998,31483.927949999998,33750.912,33750.912,33750.912,33750.912,195654.38046000001,195654.38046000001 +24847200.0,109423.383,92984.232,271513.95744,128084.28787000001,128084.28787000001,128084.28787000001,58843.547,276035.36136000004,47422.242560000006,222807.64883999998,339516.41728,55946.297999999995,55946.297999999995,55946.297999999995,90260.527,109423.383,109423.383,320382.63777,72325.25235000001,107505.68374000001,187509.91350000002,53217.09926000001,67682.14973000002,27818.517,27818.517,27818.517,27818.517,328999.63822,328999.63822 +24850800.0,29038.395,158415.894,462574.41048,253746.40885,253746.40885,253746.40885,159451.761,201439.54631999996,53749.00608000001,30930.141480000002,47131.64416,67213.374,67213.374,67213.374,234703.89249999996,29038.395,29038.395,205721.34309999997,85576.29344999998,127202.29297999997,221864.46449999997,62967.24801999999,80082.50670999999,46263.033,46263.033,46263.033,46263.033,87308.77429999999,87308.77429999999 +24854400.0,52136.061,22643.487,66118.98204,150182.06797,150182.06797,150182.06797,47647.369,61792.911519999994,116022.61184,38857.79436,59211.877120000005,29898.932999999997,29898.932999999997,29898.932999999997,25898.215,52136.061,52136.061,61908.119909999994,24270.017849999997,36075.433939999995,62922.2685,17857.93906,22711.942629999998,18374.907,18374.907,18374.907,18374.907,156755.75674,156755.75674 +24858000.0,832468.8330000001,504294.294,1472539.33848,214858.69845000003,214858.69845000003,214858.69845000003,901471.3645,1333907.0766399999,1214762.04224,1193166.78663,1818158.91296,827197.5210000002,827197.5210000002,827197.5210000002,373086.38849999994,832468.8330000001,832468.8330000001,317209.51443999994,499688.38844999997,742746.69098,1295488.4145,367671.95002,467609.62771000003,646405.155,646405.155,646405.155,646405.155,2502956.29122,2502956.29122 +24861600.0,415747.41300000006,302643.54000000004,883719.1368000001,278678.25205,278678.25205,278678.25205,393352.1655,795071.7211199999,951011.2582400001,576336.2724,878226.7008,397381.05600000004,397381.05600000004,397381.05600000004,433286.7245,415747.41300000006,415747.41300000006,321871.64061,377222.07464999997,560710.34306,977983.1564999999,277560.93394,353005.34887,382756.16099999996,382756.16099999996,382756.16099999996,382756.16099999996,1250013.8884200002,1250013.8884200002 +24865200.0,437251.63800000004,335928.858,980912.26536,287310.44529,287310.44529,287310.44529,425849.347,826900.8716,1293546.0480000002,647912.98425,987295.9760000001,424094.346,424094.346,424094.346,495897.3495,437251.63800000004,437251.63800000004,346130.5341,469652.03325,698100.0593,1217616.3825,345571.1257,439501.53235,401943.573,401943.573,401943.573,401943.573,1314669.92492,1314669.92492 +24868800.0,461496.309,347081.19299999997,1013477.0835599999,279548.37735,279548.37735,279548.37735,428302.924,857731.3119999999,1424132.71488,683972.92866,1042244.4627200001,438572.24700000003,438572.24700000003,438572.24700000003,530668.5020000001,461496.309,461496.309,356435.59835,524356.3147499999,779413.5838999999,1359442.2974999999,385822.6711,490693.93405,446800.3979999999,446800.3979999999,446800.3979999999,446800.3979999999,1387565.56906,1387565.56906 +24872400.0,332375.72099999996,250909.26899999997,732655.06548,218167.29913,218167.29913,218167.29913,280916.986,452771.41568,846991.70176,404026.94976000005,615660.1139200001,231204.636,231204.636,231204.636,270196.3425,332375.72099999996,332375.72099999996,263103.65223999997,231823.5309,344587.07556,601023.969,170576.32644,216941.03262,316712.88,316712.88,316712.88,316712.88,999343.0011399998,999343.0011399998 +24876000.0,63193.155000000006,45357.255000000005,132443.1846,76336.16705,76336.16705,76336.16705,70508.375,95806.3096,297046.72832,92167.62492,140445.90464000002,68046.99299999999,68046.99299999999,68046.99299999999,66804.57,63193.155000000006,63193.155000000006,80736.22036999998,43538.241149999994,64716.10165999999,112876.9215,32035.545339999997,40743.193569999996,51948.111000000004,51948.111000000004,51948.111000000004,51948.111000000004,190000.7527,190000.7527 +24879600.0,56306.117999999995,43590.801,127285.13892,37954.76058,37954.76058,37954.76058,36821.8935,81315.82127999999,294743.78048,74761.81671,113922.76832,71283.59700000001,71283.59700000001,71283.59700000001,57019.921,56306.117999999995,56306.117999999995,78130.34033999998,32432.233949999998,48207.913179999996,84083.5695,23863.717819999998,30350.16461,44834.805,44834.805,44834.805,44834.805,169293.72811999999,169293.72811999999 +24883200.0,51752.558999999994,43126.731,125930.05452,14602.972780000002,14602.972780000002,14602.972780000002,15960.510999999999,68330.92,292657.61664,63886.158840000004,97350.33728,69231.432,69231.432,69231.432,50328.9955,51752.558999999994,51752.558999999994,76383.50706999999,25338.4524,37663.57616,65692.284,18644.095839999998,23711.78632,45159.19499999999,45159.19499999999,45159.19499999999,45159.19499999999,155602.69405999998,155602.69405999998 +24886800.0,50961.611999999994,46384.398,135442.44216,9309.37612,9309.37612,9309.37612,12946.199,65663.75112,293758.85760000005,61705.35105,94027.2016,69150.282,69150.282,69150.282,49062.7935,50961.611999999994,50961.611999999994,76931.64024,23826.6684,35416.43055999999,61772.844,17531.721439999998,22297.055119999997,47048.793000000005,47048.793000000005,47048.793000000005,47048.793000000005,153224.58007999999,153224.58007999999 +24890400.0,50176.167,49339.005,144069.8946,10158.752560000003,10158.752560000003,10158.752560000003,12244.358,71855.17895999999,294882.09792000003,59531.097570000005,90714.05344,69074.712,69074.712,69074.712,47940.879,50176.167,50176.167,98144.37996999998,22959.506699999998,34127.46428,59524.647000000004,16893.66172,21485.56306,46321.460999999996,46321.460999999996,46321.460999999996,46321.460999999996,150863.00877999997,150863.00877999997 +24894000.0,52737.951,53810.118,157125.54456,15761.111630000001,15761.111630000001,15761.111630000001,12861.6005,87249.05688,307609.21728,62078.49752999999,94595.80576,72703.239,72703.239,72703.239,51234.186499999996,52737.951,52737.951,102353.61097,24060.94065,35764.657459999995,62380.2165,17704.09954,22516.28767,48187.26,48187.26,48187.26,48187.26,158565.43933999998,158565.43933999998 +24897600.0,60696.87899999999,59107.284,172593.26928,18727.46601,18727.46601,18727.46601,15385.530999999999,105771.16,327054.85632,68749.50998999999,104761.15808,78372.705,78372.705,78372.705,55095.764500000005,60696.87899999999,60696.87899999999,114690.07771,31510.3932,46837.67088,81693.612,23185.42512,29487.50376,51618.668999999994,51618.668999999994,51618.668999999994,51618.668999999994,182495.28285999998,182495.28285999998 +24901200.0,99115.78800000002,87082.47,254280.81239999997,39648.66202,39648.66202,39648.66202,23994.789,388138.45376,343487.73632,119249.71505999999,181713.85152,83350.97099999999,83350.97099999999,83350.97099999999,78432.914,99115.78800000002,99115.78800000002,298207.95094999997,41558.77125,61773.77849999999,107744.9625,30579.046499999997,38890.800749999995,102352.36499999999,102352.36499999999,102352.36499999999,102352.36499999999,298008.13592000003,298008.13592000003 +24904800.0,472564.21499999997,253011.18300000002,738792.65436,249718.79790000003,249718.79790000003,249718.79790000003,324881.3085,1790556.22312,1279776.87488,1044173.77218,1591121.9385600002,362869.206,362869.206,362869.206,299787.98149999994,472564.21499999997,472564.21499999997,1461497.90839,463595.1732,689097.02288,1201913.412,341114.47312,433833.50776,598005.042,598005.042,598005.042,598005.042,1420843.0731,1420843.0731 +24908400.0,491528.37599999993,684240.318,1997981.72856,502515.18735,502515.18735,502515.18735,860847.6135,2484501.80344,1422757.05856,1714740.50454,2612937.9116800004,724887.9029999999,724887.9029999999,724887.9029999999,731757.6385,491528.37599999993,491528.37599999993,763134.5663499999,1036947.36735,1541339.04974,2688382.0634999997,762988.43326,970377.9067299999,752580.3180000001,752580.3180000001,752580.3180000001,752580.3180000001,1477861.98384,1477861.98384 +24912000.0,987151.878,393575.064,1149239.18688,236273.52848,236273.52848,236273.52848,357837.9315,1005783.3711999999,2017061.7939199999,965606.8621500001,1471400.9328,585713.466,585713.466,585713.466,303364.11699999997,987151.878,987151.878,320859.2318099999,384799.60034999996,571973.7269399998,997628.5934999998,283136.49606,360096.41612999997,1010131.257,1010131.257,1010131.257,1010131.257,2968036.64652,2968036.64652 +24915600.0,461223.82800000004,249895.197,729693.9752399999,202591.84055000002,202591.84055000002,202591.84055000002,172747.8025,334497.4464,2851851.2275200007,116318.02098,177246.50816,451278.627,451278.627,451278.627,438181.65299999993,461223.82800000004,461223.82800000004,176848.7409,767779.3008,1141242.3187199999,1990538.928,564933.90528,718489.76544,129950.043,129950.043,129950.043,129950.043,1386746.3095200001,1386746.3095200001 +24919200.0,79660.776,16924.914,49420.74888,112398.83754000002,112398.83754000002,112398.83754000002,98218.8235,73892.34032,82687.96736,59496.60171,90661.48832,28644.311999999998,28644.311999999998,28644.311999999998,35084.777,79660.776,79660.776,35853.74962,38720.61225,57555.0829,100386.7725,28490.722100000003,36234.84455,27519.021,27519.021,27519.021,27519.021,239513.39984,239513.39984 +24922800.0,122893.13400000002,398291.58600000007,1163011.43112,105497.13097,105497.13097,105497.13097,224867.81100000002,280759.68776,302529.95456,170365.82724,259605.07008,67233.6,67233.6,67233.6,246799.91699999996,122893.13400000002,122893.13400000002,75088.91962,66267.5823,98501.44331999999,171804.843,48759.85068,62013.36714,63792.827999999994,63792.827999999994,63792.827999999994,63792.827999999994,369498.68956,369498.68956 +24926400.0,180204.24,108102.762,315660.06504,92922.29617000002,92922.29617000002,92922.29617000002,220369.00199999998,380859.6004,333212.55552,168412.85055,256629.1056,139027.125,139027.125,139027.125,99768.3015,180204.24,180204.24,161556.39448,102426.88545,152249.34578,265551.1845,75365.95522,95851.33231,130150.78800000002,130150.78800000002,130150.78800000002,130150.78800000002,541814.0816,541814.0816 +24930000.0,107558.913,52302.363,152722.89995999998,70029.58809,70029.58809,70029.58809,72019.5665,205655.39560000002,199976.59776000003,91793.46897,139875.76224,82250.04299999999,82250.04299999999,82250.04299999999,51990.4035,107558.913,107558.913,96042.88616,52485.7239,78015.81676,136074.099,38619.12524,49116.27002,73332.54599999999,73332.54599999999,73332.54599999999,73332.54599999999,323393.79841999995,323393.79841999995 +24933600.0,149125.887,108398.79299999999,316524.47556,155252.06697,155252.06697,155252.06697,65323.2265,331019.52784,91550.92416000001,287094.42720000003,437477.2224,81303.13799999999,81303.13799999999,81303.13799999999,169307.81699999998,149125.887,149125.887,362399.74823,113689.19834999999,168989.87013999998,294749.7735,83652.79286,106390.63253,44505.009,44505.009,44505.009,44505.009,448371.83358,448371.83358 +24937200.0,45746.064,206295.87900000002,602383.9666800001,255786.31320000003,255786.31320000003,255786.31320000003,184583.028,273933.68552,86797.41952000001,36966.22146,56329.48032,86265.072,86265.072,86265.072,305565.855,45746.064,45746.064,270792.07167999994,108665.69175,161522.8307,281725.8675,79956.4843,101689.62265,66171.38399999999,66171.38399999999,66171.38399999999,66171.38399999999,137543.16576,137543.16576 +24940800.0,73492.461,39659.187,115804.82603999999,156304.42245,156304.42245,156304.42245,54493.102999999996,132530.44296,141165.12768,56397.05547,85938.37024,47246.754,47246.754,47246.754,41414.5025,73492.461,73492.461,94929.83773,36890.9964,54835.50576,95643.32400000001,27144.486240000002,34522.68552000001,38494.422,38494.422,38494.422,38494.422,220967.33273999995,220967.33273999995 +24944400.0,978132.6510000001,650541.942,1899582.47064,341165.37312,341165.37312,341165.37312,1150663.8255,1615991.0428,1745155.0899200002,1491156.16272,2272237.9622400003,1061560.395,1061560.395,1061560.395,675172.029,978132.6510000001,978132.6510000001,433282.56816,699979.40505,1040463.21442,1814761.4205,515046.57458,655042.45559,828473.1359999999,828473.1359999999,828473.1359999999,828473.1359999999,2940918.83734,2940918.83734 +24948000.0,459740.24399999995,343350.204,1002582.59568,291147.17731,291147.17731,291147.17731,414654.41500000004,860769.9574399999,1223357.47072,659142.5168999999,1004407.6448,428596.269,428596.269,428596.269,517898.8115,459740.24399999995,459740.24399999995,356250.6298,458302.6251,681230.07484,1188191.9910000002,337220.20316000003,428880.72818000003,429444.68999999994,429444.68999999994,429444.68999999994,429444.68999999994,1382285.6669599998,1382285.6669599998 +24951600.0,464153.39099999995,351382.569,1026037.10148,298922.06982,298922.06982,298922.06982,445475.2295,874331.72224,1425628.3232,692521.0481700001,1055270.1686400003,443145.456,443145.456,443145.456,535961.713,464153.39099999995,464153.39099999995,362451.12384,524916.51075,780246.2703,1360894.6575,386234.8647,491218.16685,444781.152,444781.152,444781.152,444781.152,1395554.5289399999,1395554.5289399999 +24955200.0,473191.58400000003,356246.928,1040241.0297600001,298281.21983,298281.21983,298281.21983,455733.5265,873527.1687999999,1443207.77024,707467.9323599999,1078046.37312,447310.26300000004,447310.26300000004,447310.26300000004,540978.0075,473191.58400000003,473191.58400000003,366433.32765,534765.2238,794885.5919199999,1386428.358,393481.57208,500434.61684000003,472656.507,472656.507,472656.507,472656.507,1422729.36256,1422729.36256 +24958800.0,329185.87799999997,250398.79499999998,731164.4813999999,266292.24490000005,266292.24490000005,266292.24490000005,293134.583,443132.33215999993,887983.7337600001,399410.48889000004,608625.5068800001,232671.49200000003,232671.49200000003,232671.49200000003,270364.1815,329185.87799999997,329185.87799999997,267063.47031,239315.73930000002,355723.64212,620448.213,176089.11188,223952.25974,312091.809,312091.809,312091.809,312091.809,989752.2065199999,989752.2065199999 +24962400.0,62775.267,44427.402,129728.01384,76357.73805,76357.73805,76357.73805,70419.069,99010.61832,288515.44832,91088.25033,138801.14336,70923.98999999999,70923.98999999999,70923.98999999999,66284.344,62775.267,62775.267,79235.74567999999,43215.60599999999,64236.53039999999,112040.45999999999,31798.149599999997,40441.2708,51220.736999999994,51220.736999999994,51220.736999999994,51220.736999999994,188744.30278,188744.30278 +24966000.0,54323.55,41627.193,121551.40355999999,37930.890029999995,37930.890029999995,37930.890029999995,36605.702,78008.08615999999,277746.42432000005,72083.46096,109841.46432,66624.978,66624.978,66624.978,54490.92600000001,54323.55,54323.55,74709.15087999999,31291.62435,46512.48854,81126.4335,23024.45446,29282.77933,43049.25,43049.25,43049.25,43049.25,163332.807,163332.807 +24969600.0,49652.049,41252.67,120457.79639999999,14654.52747,14654.52747,14654.52747,15732.4825,64899.628000000004,275105.57632,61064.59842000001,93050.81664000002,64112.691000000006,64112.691000000006,64112.691000000006,47691.542499999996,49652.049,49652.049,72811.1345,24148.898549999998,35895.39982,62608.2555,17768.81918,22598.59889,43608.624,43608.624,43608.624,43608.624,149287.16066,149287.16066 +24973200.0,48744.72899999999,44070.774,128686.66008,9237.556900000001,9237.556900000001,9237.556900000001,14863.1035,62110.60168,275660.72832,58742.517960000005,89512.40832,63884.007,63884.007,63884.007,46318.5415,48744.72899999999,48744.72899999999,72639.26358,22706.0253,33750.68452,58867.473000000005,16707.14948,21248.35454,44997.011999999995,44997.011999999995,44997.011999999995,44997.011999999995,146559.15185999998,146559.15185999998 +24976800.0,47556.28200000001,45357.582,132444.13944,10636.183910000002,10636.183910000002,10636.183910000002,11357.9865,65239.954,274238.33152,56056.564620000005,85419.52704000002,63093.609,63093.609,63093.609,44614.01,47556.28200000001,47556.28200000001,89526.85131,21566.0313,32056.174919999998,55911.933,15868.33908,20181.54534,43870.986000000004,43870.986000000004,43870.986000000004,43870.986000000004,142985.88788,142985.88788 +24980400.0,49916.16900000001,50482.388999999996,147408.57588,14716.15134,14716.15134,14716.15134,11935.6405,77481.27728,286404.28224000003,58319.70459,88868.12128,66570.411,66570.411,66570.411,47826.450000000004,49916.16900000001,49916.16900000001,95854.86806999998,22497.69735,33441.02174,58327.3635,16553.86126,21053.40073,45614.34,45614.34,45614.34,45614.34,150081.28146,150081.28146 +24984000.0,56405.352,55048.791,160742.46971999996,17637.42233,17637.42233,17637.42233,14420.4585,93475.15679999998,305297.44576000003,63791.82894,97206.59648000001,72090.46500000001,72090.46500000001,72090.46500000001,51602.008499999996,56405.352,56405.352,103128.25184999999,28026.9963,41659.880919999996,72662.583,20622.33308,26227.732340000002,49048.167,49048.167,49048.167,49048.167,169592.09167999998,169592.09167999998 +24987600.0,93317.886,78631.152,229602.96383999998,37865.1636,37865.1636,37865.1636,22802.787,365220.4132799999,317169.13600000006,111110.09763,169310.62496000002,75506.92499999999,75506.92499999999,75506.92499999999,71430.70550000001,93317.886,93317.886,277863.58456999995,38861.09864999999,57763.904659999986,100750.99649999998,28594.092339999996,36366.31206999999,96762.042,96762.042,96762.042,96762.042,280575.77723999997,280575.77723999997 +24991200.0,442934.78400000004,242298.498,707511.61416,240441.16778000002,240441.16778000002,240441.16778000002,301697.1195,1672332.62384,1151452.19264,975027.3521100001,1485755.9651200003,335194.99199999997,335194.99199999997,335194.99199999997,279540.40449999995,442934.78400000004,442934.78400000004,1432276.6773899999,430119.71595,639338.44198,1115125.1895,316483.14902,402507.09221000003,562589.436,562589.436,562589.436,562589.436,1331757.25056,1331757.25056 +24994800.0,468581.12399999995,658663.47,1923297.3324,484802.31943000003,484802.31943000003,484802.31943000003,804055.336,2392249.20976,1336123.296,1649591.66295,2513663.4864,697987.494,697987.494,697987.494,679119.224,468581.12399999995,468581.12399999995,705135.44205,983630.51055,1462087.82062,2550153.1755,723757.75838,920483.86049,724652.598,724652.598,724652.598,724652.598,1408867.2461599999,1408867.2461599999 +24998400.0,1236202.0229999998,687695.622,2008071.21624,366884.67992,366884.67992,366884.67992,541640.9249999999,1627547.0245599996,3016254.5120000006,1466469.19713,2234619.72896,816212.853,816212.853,816212.853,501885.5905,1236202.0229999998,1236202.0229999998,654209.79312,644832.7217999999,958492.09512,1671788.5380000002,474469.50888000004,603436.05324,1324333.584,1324333.584,1324333.584,1324333.584,3716847.4158199993,3716847.4158199993 +25002000.0,523754.99399999995,322391.622,941383.5362399999,232107.51718000002,232107.51718000002,232107.51718000002,177842.9135,399631.54456000007,3341450.5312,139883.48472,213155.78624,511141.5149999999,511141.5149999999,511141.5149999999,561452.0345,523754.99399999995,523754.99399999995,219218.48689,922551.9705,1371299.4722,2391801.4050000003,678816.0178,863326.4119000001,153225.30899999998,153225.30899999998,153225.30899999998,153225.30899999998,1574756.68196,1574756.68196 +25005600.0,87268.416,16813.755,49096.1646,113190.19206000002,113190.19206000002,113190.19206000002,98218.8235,73886.78648000001,76703.11872,60953.223450000005,92881.1024,27564.138,27564.138,27564.138,35084.777,87268.416,87268.416,33314.3486,37862.33625,56279.324499999995,98161.6125,27859.200500000003,35431.66775,28467.449999999997,28467.449999999997,28467.449999999997,28467.449999999997,262387.03744,262387.03744 +25009200.0,87334.95599999999,385233.597,1124882.10324,114002.20183,114002.20183,114002.20183,239144.01700000002,231397.68344000002,217334.9632,157026.97079999998,239279.1936,38808.33,38808.33,38808.33,247944.375,87334.95599999999,87334.95599999999,30121.27339,48787.676999999996,72518.9668,126486.57,35898.0932,45655.628600000004,48423.55799999999,48423.55799999999,48423.55799999999,48423.55799999999,262587.10104,262587.10104 +25012800.0,143298.03900000002,81797.92800000001,238849.94976000002,103055.11061999999,103055.11061999999,103055.11061999999,218106.54249999998,296838.03119999997,245119.14304,135950.99049,207163.41408,101573.307,101573.307,101573.307,81274.01800000001,143298.03900000002,143298.03900000002,129884.01152999999,77832.12240000001,115691.20416,201786.984,57269.06784,72835.49232,92467.155,92467.155,92467.155,92467.155,430849.43726000004,430849.43726000004 +25016400.0,43113.498,14365.434000000001,41947.06728,66652.51373,66652.51373,66652.51373,57965.20799999999,65199.34264,61931.87584000001,38660.049329999994,58910.55136,30074.694000000003,30074.694000000003,30074.694000000003,20711.747,43113.498,43113.498,28319.125119999997,24120.33795,35852.94678,62534.209500000004,17747.80422,22571.87181,18527.22,18527.22,18527.22,18527.22,129627.91732,129627.91732 +25020000.0,132253.28399999999,99252.174,289816.34807999997,163684.05284000002,163684.05284000002,163684.05284000002,62913.662,291040.53472,66934.15168000001,274739.94408,418651.34336000006,70742.868,70742.868,70742.868,157520.40499999997,132253.28399999999,132253.28399999999,334134.56726000004,107922.61395,160418.30518,279799.36950000003,79409.72582,100994.24861000001,35253.797999999995,35253.797999999995,35253.797999999995,35253.797999999995,397641.54056,397641.54056 +25023600.0,40006.398,205682.40000000002,600592.608,255479.82185000004,255479.82185000004,255479.82185000004,184784.3445,261928.16392000002,75695.48928,33217.19478,50616.67776,75649.293,75649.293,75649.293,293285.125,40006.398,40006.398,261835.38029999996,104885.27595000001,155903.54598,271924.7895,77174.84502000001,98151.90021,63111.479999999996,63111.479999999996,63111.479999999996,63111.479999999996,120285.90332,120285.90332 +25027200.0,196780.49699999997,140566.779,410454.99468,182253.39121,182253.39121,182253.39121,100657.60949999999,423970.01904,349728.6348800001,176700.26115,269257.5408,153918.16199999998,153918.16199999998,153918.16199999998,142234.897,196780.49699999997,196780.49699999997,280351.92743999994,108669.2598,161528.13431999998,281735.118,79959.10968000001,101692.96164000001,149845.13400000002,149845.13400000002,149845.13400000002,149845.13400000002,591653.3609799999,591653.3609799999 +25030800.0,1110224.208,763481.853,2229367.01076,519077.9343200001,519077.9343200001,519077.9343200001,1337857.7695,1779748.8943200002,2150454.3692799998,1710957.3007800002,2607173.0297600003,1185604.3020000001,1185604.3020000001,1185604.3020000001,896488.0190000001,1110224.208,1110224.208,621986.1072099998,901749.9069,1340378.87396,2337870.129,663509.80804,843859.78942,959573.661,959573.661,959573.661,959573.661,3338074.11872,3338074.11872 +25034400.0,561736.197,414589.5719999999,1210601.5502399998,368615.60615,368615.60615,368615.60615,501553.33550000004,1041842.6497600001,1633674.7584,815923.27845,1243311.6624,524860.134,524860.134,524860.134,657555.1710000001,561736.197,561736.197,419942.7739,602745.24735,895932.4417399999,1562672.8635,443501.44126,564050.49073,540483.879,540483.879,540483.879,540483.879,1688953.49898,1688953.49898 +25038000.0,547917.054,417548.9700000001,1219242.9924,399994.10143,399994.10143,399994.10143,531106.8525,1042059.92112,1749751.9660800002,832461.68145,1268513.0384,534611.169,534611.169,534611.169,661137.68,547917.054,547917.054,428531.66381999996,637508.1266999999,947604.6722799998,1652798.8469999998,469080.05371999997,596581.67906,565892.991,565892.991,565892.991,565892.991,1647403.9423599998,1647403.9423599998 +25041600.0,573544.338,448155.02099999995,1308612.6613199997,411641.79023000004,411641.79023000004,411641.79023000004,573449.7544999999,1073639.9664,1888385.3939200002,881844.5239799999,1343763.08416,566612.412,566612.412,566612.412,710647.182,573544.338,573544.338,451672.98266999994,692849.2423500001,1029864.79974,1796275.8135000002,509800.18326,648370.03173,602182.353,602182.353,602182.353,602182.353,1724456.6429199998,1724456.6429199998 +25045200.0,382299.351,300727.86600000004,878125.36872,306467.48352,306467.48352,306467.48352,333083.0825,526089.26352,1066103.19488,471727.96818,718823.57056,290374.17600000004,290374.17600000004,290374.17600000004,335898.773,382299.351,382299.351,309587.60767999996,303578.60805,451245.23961999995,787055.6505,223373.88937999998,284089.61099,364052.076,364052.076,364052.076,364052.076,1149446.71534,1149446.71534 +25048800.0,71337.9,51456.768000000004,150253.76256,77347.19168,77347.19168,77347.19168,75522.902,112034.23296000001,346100.8512,102044.47743000001,155496.34656,88869.78300000001,88869.78300000001,88869.78300000001,76316.7825,71337.9,71337.9,92341.30255999998,47653.8957,70833.69188,123547.137,35063.85412,44594.63326,64998.270000000004,64998.270000000004,64998.270000000004,64998.270000000004,214489.286,214489.286 +25052400.0,62786.376000000004,50455.83900000001,147331.04988,48092.83754000001,48092.83754000001,48092.83754000001,44417.474500000004,90055.80175999999,334068.19136,82877.82027000001,126290.01184,82582.08600000001,82582.08600000001,82582.08600000001,64048.152,62786.376000000004,62786.376000000004,87566.18949,36323.55495,53992.04958,94172.1795,26726.96142,33991.67241,58857.29400000001,58857.29400000001,58857.29400000001,58857.29400000001,188777.70384,188777.70384 +25056000.0,55751.93400000001,50240.667,146702.74764,27395.29617,27395.29617,27395.29617,22888.715500000002,74687.09423999999,314056.3680000001,68706.82728,104696.11776000001,75133.989,75133.989,75133.989,54347.873999999996,55751.93400000001,55751.93400000001,91299.87984000001,27897.75675,41467.776699999995,72327.5175,20527.2383,26106.78965,52199.71799999999,52199.71799999999,52199.71799999999,52199.71799999999,167627.48156000001,167627.48156000001 +25059600.0,54654.897,54031.176,157771.03392,21975.826620000003,21975.826620000003,21975.826620000003,18102.448,77228.89,313915.22176000004,66129.75180000001,100769.14560000002,74445.00899999999,74445.00899999999,74445.00899999999,52716.195,54654.897,54654.897,104999.13983,26237.3904,38999.77536,68022.864,19305.536640000002,24553.014720000003,51558.08099999999,51558.08099999999,51558.08099999999,51558.08099999999,164329.05698,164329.05698 +25063200.0,54338.75399999999,55117.914,160944.30888,16670.776980000002,16670.776980000002,16670.776980000002,13409.7915,91996.06,315804.86016000004,63923.13732000001,97406.68544000002,74323.08600000001,74323.08600000001,74323.08600000001,52687.575500000006,54338.75399999999,54338.75399999999,105250.53928999999,24728.84235,36757.439739999994,64111.8135,18195.54326,23141.311729999998,50804.535,50804.535,50804.535,50804.535,163378.52035999997,163378.52035999997 +25066800.0,56309.66700000001,55967.861999999994,163426.15704,16972.233740000003,16972.233740000003,16972.233740000003,13172.936,99946.22136000001,310250.48960000003,63787.46745,97199.9504,72975.609,72975.609,72975.609,51804.854499999994,56309.66700000001,56309.66700000001,110603.03513999999,26977.151250000003,40099.3705,69940.76250000001,19849.8545,25245.284750000003,50138.816999999995,50138.816999999995,50138.816999999995,50138.816999999995,169304.39878000002,169304.39878000002 +25070400.0,60615.44399999999,57182.95799999999,166974.23735999997,19023.509670000003,19023.509670000003,19023.509670000003,14726.589500000002,100565.57087999998,309157.23456000007,70090.92174,106805.21408000002,73407.291,73407.291,73407.291,52116.841,60615.44399999999,60615.44399999999,113354.29742,31028.9859,46122.097559999995,80445.519,22831.20444,29037.00162,51055.67999999999,51055.67999999999,51055.67999999999,51055.67999999999,182250.43495999996,182250.43495999996 +25074000.0,98100.71699999999,85217.58600000001,248835.35112,40659.01917000001,40659.01917000001,40659.01917000001,23000.337499999998,386893.72784,320806.63552,125773.35456000002,191654.63552000004,76114.13999999998,76114.13999999998,76114.13999999998,78612.41850000001,98100.71699999999,98100.71699999999,293892.96248,40476.1536,60164.55423999999,104938.17599999999,29782.453759999997,37877.684479999996,103932.98100000001,103932.98100000001,103932.98100000001,103932.98100000001,294956.15578,294956.15578 +25077600.0,484854.69299999997,251559.25499999998,734553.0245999999,304433.72079999995,304433.72079999995,304433.72079999995,369228.0655,1812334.16128,1292048.6662400002,1095239.1645300002,1668935.8697600001,367025.361,367025.361,367025.361,329729.5505,484854.69299999997,484854.69299999997,1461908.2350599999,491767.0663499999,730972.2813399999,1274951.6534999998,361843.42166,460196.83492999995,621946.9770000001,621946.9770000001,621946.9770000001,621946.9770000001,1457796.44362,1457796.44362 +25081200.0,494784.246,690911.625,2017461.945,584985.1537200001,584985.1537200001,584985.1537200001,880859.623,2470954.34664,1413166.29504,1725451.73472,2629259.7862400003,722065.101,722065.101,722065.101,735223.3245,494784.246,494784.246,772793.33976,1038722.8387499999,1543978.1454999999,2692985.1374999997,764294.8295,972039.39725,763924.2180000001,763924.2180000001,763924.2180000001,763924.2180000001,1487651.2996399999,1487651.2996399999 +25084800.0,1275450.843,760719.126,2221299.84792,405809.06102,405809.06102,405809.06102,563902.521,1716729.06888,3171110.2048000004,1541215.2149099999,2348518.4227199997,868520.4029999999,868520.4029999999,868520.4029999999,539753.3015000001,1275450.843,1275450.843,667514.5128599999,674823.16215,1003070.4780599999,1749541.5315,496536.54894,631501.18137,1384640.952,1384640.952,1384640.952,1384640.952,3834855.53462,3834855.53462 +25088400.0,542988.8489999999,339305.79000000004,990772.9068,243473.26894000004,243473.26894000004,243473.26894000004,180736.6365,423043.6724,3496470.2835199996,145418.30730000001,221589.8016,537518.865,537518.865,537518.865,586293.407,542988.8489999999,542988.8489999999,230317.29252999998,969965.8186499999,1441776.3526599999,2514726.1964999996,713703.24434,907696.4080699999,160962.576,160962.576,160962.576,160962.576,1632586.47266,1632586.47266 +25092000.0,120259.13999999998,26460.582,77264.89944,114502.95428000002,114502.95428000002,114502.95428000002,98326.9315,129228.08064,123964.57664000001,76097.39382,115957.93344000001,44831.067,44831.067,44831.067,42155.407,120259.13999999998,120259.13999999998,62995.05004,48671.292149999994,72345.97005999999,126184.83149999999,35812.45694,45546.71537,46655.477999999996,46655.477999999996,46655.477999999996,46655.477999999996,361579.14759999997,361579.14759999997 +25095600.0,163036.956,477669.00899999996,1394793.5062799999,127157.82156000001,127157.82156000001,127157.82156000001,267095.17100000003,407616.71087999997,389090.08128,239492.65683,364941.19136,92980.449,92980.449,92980.449,303138.262,163036.956,163036.956,103357.43391999998,83596.9734,124260.19256000001,216732.89400000003,61510.85944000001,78230.25412000001,112112.15400000001,112112.15400000001,112112.15400000001,112112.15400000001,490197.78104,490197.78104 +25099200.0,224651.226,147006.465,429258.87779999996,121505.73523000002,121505.73523000002,121505.73523000002,248110.19799999997,478899.78591999994,575105.47392,258530.54136,393951.30112,195736.668,195736.668,195736.668,154041.307,224651.226,224651.226,210243.59927999997,151822.0341,225671.27043999996,393612.681,111711.02756,142075.43438,181020.918,181020.918,181020.918,181020.918,675451.35284,675451.35284 +25102800.0,91383.507,38528.195999999996,112502.33232,69477.60655,69477.60655,69477.60655,66838.0405,171621.78527999998,156812.17792000002,75959.99481,115748.56352000001,69771.945,69771.945,69771.945,45386.9185,91383.507,91383.507,79178.98286999999,43609.8492,64822.54127999999,113062.572,32088.234719999997,40810.20456,58363.311,58363.311,58363.311,58363.311,274759.74438,274759.74438 +25106400.0,175387.446,125943.09000000003,367753.8228,241024.26040000003,241024.26040000003,241024.26040000003,102896.2655,381522.92511999997,106915.95392,350694.61623000004,534391.79616,97967.223,97967.223,97967.223,275572.472,175387.446,175387.446,408626.5995499999,168711.81795,250776.57877999998,437401.00950000004,124138.57222,157880.93581,59396.844,59396.844,59396.844,59396.844,527331.58764,527331.58764 +25110000.0,64753.125,272882.652,796817.34384,260047.13108000002,260047.13108000002,260047.13108000002,232876.70700000002,371945.92663999996,114564.21312,52158.37788,79479.43296,117567.606,117567.606,117567.606,370738.9175,64753.125,64753.125,348913.44617999997,137338.0839,204142.04075999997,356061.69899999996,101053.70124,128521.31801999999,93940.776,93940.776,93940.776,93940.776,194691.0625,194691.0625 +25113600.0,276442.92,246424.95899999997,719560.8802799999,223896.69918,223896.69918,223896.69918,144588.087,633564.8683999999,758109.1628800001,334304.14647,509415.84224,258503.52599999995,258503.52599999995,258503.52599999995,282024.6625,276442.92,276442.92,373619.31853999995,200671.4412,298281.99408,520259.292,147654.54192,187788.83016,240738.417,240738.417,240738.417,240738.417,831171.7128,831171.7128 +25117200.0,1311638.9279999998,924468.78,2699448.8376,830610.1380500002,830610.1380500002,830610.1380500002,1681827.4585,2108994.8667200003,2999751.3254400003,2128170.54177,3242926.5398399998,1422022.2480000001,1422022.2480000001,1422022.2480000001,1234042.4704999998,1311638.9279999998,1311638.9279999998,820193.4847599998,1295828.4096,1926144.9446399997,3359555.136,953473.74336,1212639.4252799999,1196792.4780000001,1196792.4780000001,1196792.4780000001,1196792.4780000001,3943661.0435199994,3943661.0435199994 +25120800.0,609662.754,426070.8389999999,1244126.8498799999,414924.09057000006,414924.09057000006,414924.09057000006,558565.819,1089199.3324,1805174.8601600002,880659.37239,1341957.13888,550923.399,550923.399,550923.399,694391.117,609662.754,609662.754,438750.403,658265.6929499999,978459.1287799999,1706614.7595,484353.52222,616006.66081,622860.186,622860.186,622860.186,622860.186,1833052.6803599999,1833052.6803599999 +25124400.0,561790.7069999999,434601.07500000007,1269035.1390000002,434884.50610000006,434884.50610000006,434884.50610000006,572187.3045,1060464.6869599998,1825545.8432000002,870468.4877699999,1326428.17184,552175.2180000001,552175.2180000001,552175.2180000001,694381.38,561790.7069999999,561790.7069999999,441989.63977999997,682371.6574499999,1014290.71058,1769111.7045,502090.75042,638565.08191,587836.572,587836.572,587836.572,587836.572,1689117.3923799999,1689117.3923799999 +25128000.0,549865.347,441532.386,1289274.56712,460095.38443000003,460095.38443000003,460095.38443000003,560110.341,1020173.81448,1790061.93088,849241.31397,1294082.00224,543863.0190000001,543863.0190000001,543863.0190000001,673453.7565,549865.347,549865.347,433212.15937999997,669752.7727499999,995533.7510999999,1736396.0775,492805.7439,626756.29845,577994.4720000001,577994.4720000001,577994.4720000001,577994.4720000001,1653261.80998,1653261.80998 +25131600.0,400069.092,323169.822,943655.8802399999,343231.89934,343231.89934,343231.89934,365271.305,545259.06936,1116039.96864,489678.11739,746176.17888,302509.986,302509.986,302509.986,360489.0905,400069.092,400069.092,322161.72209,319998.1545,475651.57779999997,829624.845,235455.4322,299455.0631,387534.642,387534.642,387534.642,387534.642,1202874.40328,1202874.40328 +25135200.0,75311.214,54288.636,158522.81712,92155.36979000001,92155.36979000001,92155.36979000001,79589.66750000001,119118.80704,368735.07008000003,106857.09426,162829.85792,95350.776,95350.776,95350.776,80364.109,75311.214,75311.214,97651.15295,50349.182850000005,74840.01994,130534.91850000001,37047.053060000006,47116.889630000005,71623.497,71623.497,71623.497,71623.497,226435.71676,226435.71676 +25138800.0,67035.705,54669.345,159634.4874,53829.486260000005,53829.486260000005,53829.486260000005,45851.127,96868.96184,360483.9936,88094.24442000002,134238.84864,89655.04200000002,89655.04200000002,89655.04200000002,68449.98300000001,67035.705,67035.705,93352.49923999999,38429.61975,57122.5459,99632.3475,28276.6091,35962.53305,63975.93299999999,63975.93299999999,63975.93299999999,63975.93299999999,201554.0197,201554.0197 +25142400.0,62308.547999999995,57212.523,167060.56716,30761.04372,30761.04372,30761.04372,25086.9885,83603.32592,357250.90368000005,77745.44778,118469.25376,87027.55500000001,87027.55500000001,87027.55500000001,61472.0785,62308.547999999995,62308.547999999995,110156.97497999998,31238.04285,46432.84394,80987.5185,22985.02906,29232.63763,59663.312999999995,59663.312999999995,59663.312999999995,59663.312999999995,187341.03431999998,187341.03431999998 +25146000.0,61638.365999999995,61897.013999999996,180739.28088,25974.22311,25974.22311,25974.22311,20331.731,96720.9704,356592.68544000003,75706.84968,115362.81856000001,86509.491,86509.491,86509.491,60470.697,61638.365999999995,61638.365999999995,118898.29860999998,29616.669899999997,44022.803159999996,76783.959,21792.01884,27715.35282,60047.244,60047.244,60047.244,60047.244,185326.02044,185326.02044 +25149600.0,61685.262,62835.099,183478.48908,23712.31247,23712.31247,23712.31247,15481.427500000002,111913.12303999999,354439.12000000005,73110.12093,111405.89856,85346.73,85346.73,85346.73,59508.6905,61685.262,61685.262,122923.95595999999,27984.84795,41597.23078,72553.3095,20591.32022,26188.28981,59628.846,59628.846,59628.846,59628.846,185467.02108,185467.02108 +25153200.0,66510.993,65301.66,190680.84720000002,26423.56332,26423.56332,26423.56332,15269.926000000001,113839.85584,349259.46752,77445.07974,118011.55008,84504.03,84504.03,84504.03,58633.9145,66510.993,66510.993,129101.96806,34783.424999999996,51702.77,90179.25,25593.73,32550.415,58943.297999999995,58943.297999999995,58943.297999999995,58943.297999999995,199976.38562000002,199976.38562000002 +25156800.0,67632.07800000001,69072.504,201691.71168,28027.387520000004,28027.387520000004,28027.387520000004,16660.343,113190.04488,344397.18464,84379.92612,128578.93504000001,83324.463,83324.463,83324.463,58312.7965,67632.07800000001,67632.07800000001,132130.5557,34874.363699999994,51837.94308,90415.01699999999,25660.64292,32635.51566,59527.04699999999,59527.04699999999,59527.04699999999,59527.04699999999,203347.11452,203347.11452 +25160400.0,70867.44,69665.301,203422.67892,36967.94838,36967.94838,36967.94838,24483.214,116775.54208000001,341648.0915200001,93332.50983,142220.96736,83370.228,83370.228,83370.228,60839.05450000001,70867.44,70867.44,134677.97979999997,37238.82255,55352.52141999999,96545.09549999998,27400.417579999998,34848.182089999995,61746.756,61746.756,61746.756,61746.756,213074.7696,213074.7696 +25164000.0,623423.7390000001,583972.842,1705200.69864,495091.32827000006,495091.32827000006,495091.32827000006,649321.4315,999871.1187199999,730640.9817600001,728616.5607,1110272.8544,322730.85000000003,322730.85000000003,322730.85000000003,1004994.4484999998,623423.7390000001,623423.7390000001,1141207.9977999998,308528.06039999996,458602.2033599999,799887.564,227015.70864,288721.32072,751296.7860000001,751296.7860000001,751296.7860000001,751296.7860000001,1874427.37526,1874427.37526 +25167600.0,1250194.608,1196603.1479999998,3494081.1921599996,1379061.73449,1379061.73449,1379061.73449,1177542.4394999999,1857521.34232,2147399.5481600002,1806243.7677900002,2752371.4556800006,773175.726,773175.726,773175.726,932530.0284999998,1250194.608,1250194.608,645128.6189399998,978667.7498999999,1454711.07516,2537286.759,720106.1468400001,915839.6968200001,1349202.108,1349202.108,1349202.108,1349202.108,3758918.45472,3758918.45472 +25171200.0,1426134.519,1171255.476,3420065.98992,1088479.48539,1088479.48539,1088479.48539,1019303.8205,2227619.1425599996,5185719.385600001,1818182.6922000002,2770564.1024,1550159.457,1550159.457,1550159.457,1329371.9880000001,1426134.519,1426134.519,776576.6067799999,1871142.4885500001,2781303.15582,4851110.1555,1376791.26318,1751019.7608900003,1138452.78,1138452.78,1138452.78,1138452.78,4287911.12046,4287911.12046 +25174800.0,776686.5150000001,437421.789,1277271.62388,575203.71865,575203.71865,575203.71865,1262942.415,1788069.4985600002,2914719.3273600005,1545835.16787,2355558.35104,1153496.07,1153496.07,1153496.07,1409194.6575000002,776686.5150000001,776686.5150000001,784777.8010799999,1469791.6924500002,2184727.40458,3810571.0545000006,1081476.35642,1375434.69491,943047.3570000001,943047.3570000001,943047.3570000001,943047.3570000001,2335237.4551000004,2335237.4551000004 +25178400.0,379171.07700000005,245920.97100000002,718089.2353200001,467775.95876000007,467775.95876000007,467775.95876000007,661022.0155,1176267.03392,1699944.35968,774865.65576,1180747.66592,307042.992,307042.992,307042.992,588489.643,379171.07700000005,379171.07700000005,132202.72012999997,600502.7299500001,892599.1195799999,1556858.9295,441851.39142,561951.93741,392998.755,392998.755,392998.755,392998.755,1140041.0381800001,1140041.0381800001 +25182000.0,191350.836,111935.466,326851.56072,116209.14712,116209.14712,116209.14712,139659.107,498857.764,330606.83904,296798.93565,452265.04480000003,165629.604,165629.604,165629.604,126469.29750000002,191350.836,191350.836,80818.47136999998,108310.23945,160994.47938,280804.3245,79694.94162,101356.98951,172761.99599999998,172761.99599999998,172761.99599999998,172761.99599999998,575328.18024,575328.18024 +25185600.0,308451.225,232493.29499999998,678880.4214,110463.71127000001,110463.71127000001,110463.71127000001,265920.844,595141.28336,787801.8905600001,436283.91639,664813.5868800001,302109.44700000004,302109.44700000004,302109.44700000004,277954.852,308451.225,308451.225,188006.61814999997,277959.76200000005,413164.88080000004,720636.42,204523.47920000003,260115.43160000004,279947.661,279947.661,279947.661,279947.661,927410.0164999999,927410.0164999999 +25189200.0,170632.689,103210.908,301375.85136,76252.52855,76252.52855,76252.52855,124638.45800000001,314778.61048,334671.9008,208790.37543,318156.76256,150599.415,150599.415,150599.415,106290.2365,170632.689,170632.689,81345.81571999998,102928.00815,152994.22446,266850.3915,75734.68254,96320.28417,133804.815,133804.815,133804.815,133804.815,513035.61826,513035.61826 +25192800.0,104066.307,46790.553,136628.41476,62773.030430000006,62773.030430000006,62773.030430000006,68331.249,179026.57823999997,160251.45472,109836.29139000001,167369.58688000002,76139.475,76139.475,76139.475,46354.7,104066.307,104066.307,35342.98534,40644.33795,60414.546780000004,105374.20950000001,29906.204220000003,38035.07181,67250.25,67250.25,67250.25,67250.25,312892.69638,312892.69638 +25196400.0,75668.64,30048.023999999998,87740.23008,48387.647990000005,48387.647990000005,48387.647990000005,44175.817,118975.19559999999,106448.82112000002,73865.7213,112557.2896,47655.393,47655.393,47655.393,26828.322500000002,75668.64,75668.64,18711.679219999998,26032.75605,38695.60282,67492.33050000001,19154.96618,24361.51739,42472.773,42472.773,42472.773,42472.773,227510.3776,227510.3776 +25200000.0,384738.24900000007,288776.604,843227.68368,79656.44863000001,79656.44863000001,79656.44863000001,277981.564,740890.21592,965251.49184,523828.2798,798214.5216,386745.669,386745.669,386745.669,329268.583,384738.24900000007,384738.24900000007,252935.1487,321537.24765,477939.31626,833615.0865,236587.90074,300895.35027,346350.36000000004,346350.36000000004,346350.36000000004,346350.36000000004,1156779.66866,1156779.66866 +25203600.0,512208.2189999999,406981.55700000003,1188386.14644,207870.64683,207870.64683,207870.64683,476923.762,980083.0554399999,1643319.8784,772149.2058000001,1176608.3136000002,506449.401,506449.401,506449.401,614966.198,512208.2189999999,512208.2189999999,423816.4112,591653.47185,879445.4075399999,1533916.4085,435340.08546000003,553670.77983,525231.7860000001,525231.7860000001,525231.7860000001,525231.7860000001,1540039.3784599998,1540039.3784599998 +25207200.0,566610.9269999999,447371.04000000004,1306323.4368000003,354265.33967,354265.33967,354265.33967,596899.828,1076514.46112,1851944.8140800002,879244.4915100001,1339801.1299200002,551907.9809999999,551907.9809999999,551907.9809999999,695922.192,566610.9269999999,566610.9269999999,496277.25745,686441.3202,1020339.93768,1779662.682,505085.21832000004,642373.48236,599824.638,599824.638,599824.638,599824.638,1703610.1871799997,1703610.1871799997 +25210800.0,581242.851,461826.123,1348532.27916,441039.05835,441039.05835,441039.05835,613388.4434999999,1101028.69624,1883697.9852800001,899492.7595500001,1370655.6336,568953.4920000001,568953.4920000001,568953.4920000001,709621.1745,581242.851,581242.851,516023.10591,708089.0238,1052517.51192,1835786.358,521013.65208,662631.45684,610246.158,610246.158,610246.158,610246.158,1747603.50534,1747603.50534 +25214400.0,545841.7620000001,448524.372,1309691.1662399997,414394.27018000005,414394.27018000005,414394.27018000005,493519.7960000001,907863.6532000001,1357296.9510400002,751522.85502,1145177.68384,443093.39999999997,443093.39999999997,443093.39999999997,573380.7975000001,545841.7620000001,545841.7620000001,495551.51022,570729.0415500001,848342.92102,1479667.8855,419943.83798000007,534089.6462900001,549817.71,549817.71,549817.71,549817.71,1641164.23108,1641164.23108 +25218000.0,246557.877,178021.239,519822.01788,250707.62068000002,250707.62068000002,250707.62068000002,237989.00650000005,422701.10967999994,514977.60000000003,339215.32428,516899.54176,187482.924,187482.924,187482.924,261485.0805,246557.877,246557.877,348532.48936999997,124751.52629999998,185433.13291999997,323429.883,91792.48108,116742.78633999999,291465.957,291465.957,291465.957,291465.957,741317.35018,741317.35018 +25221600.0,82183.76100000001,69207.13799999999,202084.84295999998,93618.99063,93618.99063,93618.99063,80693.12299999999,146006.08528,385617.92512,138654.95973,211283.74816000002,100693.22700000001,100693.22700000001,100693.22700000001,83795.082,82183.76100000001,82183.76100000001,141632.44615,51997.84065,77290.61746,134809.2165,38260.13954,48659.70767,81145.878,81145.878,81145.878,81145.878,247099.17474000002,247099.17474000002 +25225200.0,73751.22,66264.981,193493.74452,56100.15961,56100.15961,56100.15961,46857.950999999994,123271.90551999999,374121.24672000005,120808.81008,184089.61536,94677.015,94677.015,94677.015,71734.495,73751.22,73751.22,136806.90984999997,40217.224949999996,59779.677579999996,104266.8795,29591.93342,37635.37841,74002.464,74002.464,74002.464,74002.464,221745.33479999998,221745.33479999998 +25228800.0,68474.256,64384.350000000006,188002.302,35184.869170000005,35184.869170000005,35184.869170000005,25900.615999999998,109085.53519999998,366600.24000000005,108900.24704999999,165943.2336,90650.631,90650.631,90650.631,65017.554,68474.256,68474.256,133687.61041999998,32711.404499999997,48622.877799999995,84807.345,24069.132199999996,30611.413099999998,70356.98700000001,70356.98700000001,70356.98700000001,70356.98700000001,205879.26304,205879.26304 +25232400.0,68315.688,65829.699,192222.72108,34695.553420000004,34695.553420000004,34695.553420000004,21229.729499999998,124475.20831999999,368155.32928,107678.36331000002,164081.31552000003,90604.68900000001,90604.68900000001,90604.68900000001,64430.387,68315.688,68315.688,134158.00437,32279.330249999995,47980.63409999999,83687.1525,23751.2109,30207.076949999995,69802.023,69802.023,69802.023,69802.023,205402.50192,205402.50192 +25236000.0,74104.827,73319.094,214091.75448,30141.951950000002,30141.951950000002,30141.951950000002,16842.938000000002,124858.05536,376024.45248,111336.43626,169655.52192,92298.906,92298.906,92298.906,64284.3285,74104.827,74104.827,137583.77294999998,38146.91355,56702.32582,98899.4055,28068.59318,35697.97589,70324.14600000001,70324.14600000001,70324.14600000001,70324.14600000001,222808.51317999998,222808.51317999998 +25239600.0,79229.17800000001,78656.961,229678.32611999998,32085.169380000007,32085.169380000007,32085.169380000007,17578.036,130911.96872,391324.21312000003,118037.32710000001,179866.40320000003,96610.626,96610.626,96610.626,66950.87700000001,79229.17800000001,79229.17800000001,150083.88069999998,39753.589049999995,59090.52001999999,103064.8605,29250.788979999998,37201.50679,73159.062,73159.062,73159.062,73159.062,238215.72852,238215.72852 +25243200.0,82118.352,83700.309,244404.90227999998,35348.81284,35348.81284,35348.81284,24334.933,136815.94592,405183.73376000003,127431.73989000001,194181.69888,100750.75200000001,100750.75200000001,100750.75200000001,69881.4515,82118.352,82118.352,163796.79146999997,41753.5317,62063.274280000005,108249.89700000001,30722.351720000002,39073.05806,77627.937,77627.937,77627.937,77627.937,246902.51168,246902.51168 +25246800.0,90805.026,91106.337,266030.50403999997,47652.83798,47652.83798,47652.83798,35694.5785,153498.72352,439626.6259200001,159964.93905,243756.09759999998,126363.204,126363.204,126363.204,79690.219,90805.026,90805.026,178572.04846000002,49981.77495,74293.89757999999,129582.3795,36776.71342,46773.06841,90529.998,90529.998,90529.998,90529.998,273020.44484,273020.44484 +25250400.0,698723.5260000001,680600.733,1987354.1403599998,573718.86055,573718.86055,573718.86055,729441.3665,1108058.08232,903720.06528,855473.42916,1303578.55872,427968.123,427968.123,427968.123,1144181.4545,698723.5260000001,698723.5260000001,1271834.7695300002,354380.5242,526758.2112799999,918764.322,260754.06472,331630.16956,856252.905,856252.905,856252.905,856252.905,2100828.73484,2100828.73484 +25254000.0,1407966.8250000002,1390757.301,4061011.31892,1607694.30195,1607694.30195,1607694.30195,1335396.0165,2112784.7055200003,2476368.5664000004,2084577.83562,3176499.55904,922678.851,922678.851,922678.851,1130508.4035,1407966.8250000002,1407966.8250000002,820341.3152999999,1114584.9074999997,1656741.0229999996,2889664.5749999997,820114.3269999999,1043031.3084999999,1561961.964,1561961.964,1561961.964,1561961.964,4233286.9205,4233286.9205 +25257600.0,1630435.4460000002,1325569.35,3870662.502,1325259.3259400001,1325259.3259400001,1325259.3259400001,1265525.9155,2596871.4801600003,6125725.741440001,2023883.68371,3084013.2323200004,1748361.2880000002,1748361.2880000002,1748361.2880000002,1580997.579,1630435.4460000002,1630435.4460000002,860928.3502299999,2195039.84535,3262750.58494,5690844.0435,1615115.73806,2054123.70713,1320483.744,1320483.744,1320483.744,1320483.744,4902175.907640001,4902175.907640001 +25261200.0,911976.936,521775.345,1523584.0073999998,700813.4790800001,700813.4790800001,700813.4790800001,1492834.2519999999,1992402.0348800002,3414792.43712,1845067.09044,2811530.80448,1308443.733,1308443.733,1308443.733,1523352.5684999998,911976.936,911976.936,981707.63782,1725032.3355,2564122.1382,4472306.055000001,1269283.0518,1614289.5189,1100868.699,1100868.699,1100868.699,1100868.699,2742010.6542399996,2742010.6542399996 +25264800.0,505706.40299999993,320601.756,936157.1275199999,572432.3498300001,572432.3498300001,572432.3498300001,795806.8825000001,1530114.52024,2430345.04576,955750.91388,1456382.34496,434687.43000000005,434687.43000000005,434687.43000000005,851429.9605,505706.40299999993,505706.40299999993,208596.85249000002,770026.84425,1144583.1116999998,1996365.8924999998,566587.6533,720593.02215,528565.365,528565.365,528565.365,528565.365,1520490.5850199996,1520490.5850199996 +25268400.0,282660.21900000004,204579.55800000002,597372.30936,131604.76461,131604.76461,131604.76461,247307.5325,810417.44824,608372.20544,509324.50464,776113.53088,264816.897,264816.897,264816.897,265714.7535,282660.21900000004,282660.21900000004,132898.05854,234580.9653,348685.78052,608172.873,172605.25348,219521.44654,273842.877,273842.877,273842.877,273842.877,849865.05846,849865.05846 +25272000.0,386782.887,294229.146,859149.1063199999,155890.20227,155890.20227,155890.20227,355307.49100000004,756844.3075199999,1151018.0480000002,580107.35769,883973.11648,377773.41900000005,377773.41900000005,377773.41900000005,430305.37549999997,386782.887,386782.887,294933.69737,415930.01849999995,618246.5953999999,1078337.085,306042.33459999994,389228.33829999994,383611.56599999993,383611.56599999993,383611.56599999993,383611.56599999993,1162927.2135799997,1162927.2135799997 +25275600.0,218563.27500000002,142722.114,416748.57288,84342.80536000001,84342.80536000001,84342.80536000001,165014.1535,412683.1036,502235.04192000005,287329.29078,437835.10976,196769.72100000002,196769.72100000002,196769.72100000002,169574.356,218563.27500000002,218563.27500000002,120965.12674999998,162139.25519999999,241006.99167999998,420361.032,119302.46432,151730.31536,182477.826,182477.826,182477.826,182477.826,657146.9135,657146.9135 +25279200.0,131403.70200000002,62329.67999999999,182002.66559999998,65634.89163,65634.89163,65634.89163,80639.125,237219.65536,216597.88672,146453.3763,223167.04960000003,102391.149,102391.149,102391.149,64086.77450000001,131403.70200000002,131403.70200000002,50174.10567,55343.12039999999,82263.10736,143482.164,40721.60464,51790.22872,91565.81099999999,91565.81099999999,91565.81099999999,91565.81099999999,395087.13068,395087.13068 +25282800.0,102923.97,44665.947,130424.56524,51186.391630000006,51186.391630000006,51186.391630000006,55617.597,177536.82344,158074.46464,105873.59034,161331.18528,71662.89899999999,71662.89899999999,71662.89899999999,41603.1385,102923.97,102923.97,33702.67914,35548.9479,52840.658359999994,92163.939,26157.00364,33266.79322,64925.046,64925.046,64925.046,64925.046,309458.06979999994,309458.06979999994 +25286400.0,452920.092,355226.286,1037260.75512,107770.1812,107770.1812,107770.1812,366161.831,874120.86904,1308708.688,650463.08901,991181.84992,449884.87799999997,449884.87799999997,449884.87799999997,457130.8805000001,452920.092,452920.092,328808.83906,449428.99815,668040.14046,1165186.2915,330690.96654,420576.76617,433729.13100000005,433729.13100000005,433729.13100000005,433729.13100000005,1361779.74328,1361779.74328 +25290000.0,564484.8570000001,454907.745,1328330.6154,287623.01722000004,287623.01722000004,287623.01722000004,560258.5625,1081015.99736,1894008.71104,874651.77009,1332802.6972800002,557244.6869999999,557244.6869999999,557244.6869999999,699987.5715,564484.8570000001,564484.8570000001,514490.41864999995,696458.4525,1035229.601,1805633.0250000001,512455.84900000005,651747.5395000001,606969.522,606969.522,606969.522,606969.522,1697217.80338,1697217.80338 +25293600.0,607867.9469999999,483521.085,1411881.5682,460781.69225,460781.69225,460781.69225,653822.6065,1152672.61048,1984786.0780800001,962535.18018,1466720.27456,593485.449,593485.449,593485.449,747038.1835,607867.9469999999,607867.9469999999,544643.83246,746997.6978000001,1110352.13352,1936660.698,549642.75048,699042.2900400001,643931.865,643931.865,643931.865,643931.865,1827656.2939799996,1827656.2939799996 +25297200.0,609466.191,495734.14199999993,1447543.69464,539731.58481,539731.58481,539731.58481,663520.8335,1156000.2891999998,1990198.94336,971562.63855,1480476.4016,594815.277,594815.277,594815.277,756581.0945,609466.191,609466.191,545026.47758,750945.4839,1116220.20076,1946895.699,552547.54124,702736.6380200001,653599.314,653599.314,653599.314,653599.314,1832461.6809399999,1832461.6809399999 +25300800.0,567562.911,474205.395,1384679.7534,462724.14045,462724.14045,462724.14045,510600.629,939765.68104,1414652.17664,790820.32428,1205059.54176,452716.01399999997,452716.01399999997,452716.01399999997,592938.185,567562.911,567562.911,514757.62377,591576.9308999999,879331.63556,1533717.969,435283.76644,553599.15262,573461.5319999999,573461.5319999999,573461.5319999999,573461.5319999999,1706472.48574,1706472.48574 +25304400.0,253942.71600000001,183525.483,535894.41036,263265.45916,263265.45916,263265.45916,244221.53700000004,435036.93584,533457.01888,356275.21755,542895.5696,192754.299,192754.299,192754.299,268398.45900000003,253942.71600000001,253942.71600000001,361466.44950000005,128690.48745,191288.08258,333642.0045,94690.77842,120428.87591,302277.46499999997,302277.46499999997,302277.46499999997,302277.46499999997,763521.09944,763521.09944 +25308000.0,84088.76699999999,69909.024,204134.35008,98459.48640000001,98459.48640000001,98459.48640000001,81235.53550000001,148100.25671999998,384787.67232000007,144176.16171,219697.00832,100711.11000000002,100711.11000000002,100711.11000000002,84119.7245,84088.76699999999,84088.76699999999,143484.09412999998,52712.29304999999,78352.59361999999,136661.5005,38785.83538,49328.29399,86142.84,86142.84,86142.84,86142.84,252826.89278,252826.89278 +25311600.0,77206.428,66748.416,194905.37471999996,64864.90868,64864.90868,64864.90868,47271.0035,125224.63799999998,370767.54112000007,124169.62551,189210.85792,93713.181,93713.181,93713.181,71422.568,77206.428,77206.428,137697.16869999998,40426.28595,60090.42997999999,104808.88949999999,29745.761019999998,37831.018209999995,77302.16700000002,77302.16700000002,77302.16700000002,77302.16700000002,232133.99352,232133.99352 +25315200.0,73261.25399999999,65083.743,190044.52956000002,41173.6666,41173.6666,41173.6666,26370.5575,113437.69008000001,364871.79968,112635.61931999998,171635.22944,90121.464,90121.464,90121.464,65252.859,73261.25399999999,73261.25399999999,135056.68072,33027.38145,49092.55218,85626.5445,24301.62882,30907.105110000004,72309.85800000001,72309.85800000001,72309.85800000001,72309.85800000001,220272.17035999996,220272.17035999996 +25318800.0,74339.208,67271.27399999999,196432.12007999996,36354.729620000006,36354.729620000006,36354.729620000006,21853.608000000004,129512.8332,369735.3881600001,112531.27200000001,171476.22400000002,91099.45499999999,91099.45499999999,91099.45499999999,65029.195,74339.208,74339.208,136750.01716999998,33167.3049,49300.53716,85989.30900000001,24404.584840000003,31038.045820000003,72329.58600000001,72329.58600000001,72329.58600000001,72329.58600000001,223513.21872,223513.21872 +25322400.0,80387.463,76095.30300000001,222198.28476,32746.49147,32746.49147,32746.49147,17437.798,136340.76848,376730.99968,116215.81818000002,177090.77056000003,92764.467,92764.467,92764.467,64803.263000000006,80387.463,80387.463,140821.29256,38766.17475,57622.8079,100504.8975,28524.2471,36277.48205,72731.289,72731.289,72731.289,72731.289,241698.30542,241698.30542 +25326000.0,83245.566,77650.236,226738.68912,33904.13785,33904.13785,33904.13785,18352.729499999998,153347.35656,379276.9632,118931.43738,181228.85696,93979.062,93979.062,93979.062,65564.81049999999,83245.566,83245.566,148691.63100999998,39073.88970000001,58080.20148,101302.67700000001,28750.664520000006,36565.442460000006,73449.912,73449.912,73449.912,73449.912,250291.66844,250291.66844 +25329600.0,83894.47499999999,79814.75700000001,233059.09044,35879.60596000001,35879.60596000001,35879.60596000001,24575.0925,159081.18536,380323.05344000005,123773.91327,188607.86784,95167.51499999998,95167.51499999998,95167.51499999998,66504.3645,83894.47499999999,83894.47499999999,155872.30685,39748.9761,59083.663239999994,103052.901,29247.39476,37197.18998,75111.477,75111.477,75111.477,75111.477,252242.72149999996,252242.72149999996 +25333200.0,129400.296,103376.19,301858.4748,59436.05778,59436.05778,59436.05778,32710.9825,503524.08751999994,395972.73664,206302.39896,314365.56032,102470.72099999999,102470.72099999999,102470.72099999999,106888.3095,129400.296,129400.296,346585.42542,54693.690749999994,81297.78229999999,141798.4575,40243.7527,51182.49085,143103.0,143103.0,143103.0,143103.0,389063.55663999997,389063.55663999997 +25336800.0,633235.266,296064.24,864507.5808,752427.1922200001,752427.1922200001,752427.1922200001,618386.0199999999,2223285.90344,1796182.1376000002,1505079.8790300002,2293455.0537600005,527442.96,527442.96,527442.96,548959.145,633235.266,633235.266,1717892.7554099998,696717.55935,1035614.7425399999,1806304.7835,512646.50046,651990.01233,798665.6939999999,798665.6939999999,798665.6939999999,798665.6939999999,1903927.3664399998,1903927.3664399998 +25340400.0,639762.108,933806.25,2726714.25,905658.28441,905658.28441,905658.28441,1206086.9449999998,2942776.1168,1898450.5689600003,2060924.8764300002,3140456.95456,884382.4199999999,884382.4199999999,884382.4199999999,944401.4755000001,639762.108,639762.108,1565529.43976,1307188.4692499998,1943030.7616999997,3389007.1424999996,961832.5032999999,1223270.19715,958570.212,958570.212,958570.212,958570.212,1923551.40472,1923551.40472 +25344000.0,1543582.4970000002,1162428.1260000002,3394290.12792,598764.7980600002,598764.7980600002,598764.7980600002,744661.1725,2684254.94464,4427253.98976,2098161.8580300002,3197199.0217600004,1297519.365,1297519.365,1297519.365,765067.9785,1543582.4970000002,1543582.4970000002,935144.1442199998,927334.251,1378407.9483999999,2404199.91,682334.8316,867801.6818,1737067.266,1737067.266,1737067.266,1737067.266,4641038.04098,4641038.04098 +25347600.0,700644.807,449329.18200000003,1312041.21144,285764.86279000004,285764.86279000004,285764.86279000004,198715.97900000002,651469.64264,4428718.318080001,238916.60205000002,364063.3936,705605.109,705605.109,705605.109,762976.5954999999,700644.807,700644.807,344049.37215999997,1211657.6646,1801031.88664,3141334.686,891540.7013600001,1133872.23428,250221.042,250221.042,250221.042,250221.042,2106605.38638,2106605.38638 +25351200.0,232388.499,66709.713,194792.36195999998,123099.34373,123099.34373,123099.34373,106468.18350000001,308804.15616,359724.99392000004,140173.19295,213597.24640000003,99355.57500000001,99355.57500000001,99355.57500000001,69886.376,232388.499,232388.499,143746.36419,75741.67034999999,112583.91493999997,196367.29349999997,55730.908059999994,70879.24212999998,96605.73300000001,96605.73300000001,96605.73300000001,96605.73300000001,698714.7536599999,698714.7536599999 +25354800.0,229585.88100000002,597886.017,1745827.1696399997,148073.77133999998,148073.77133999998,148073.77133999998,321606.4005,528562.07136,589159.1155200001,334929.00357000006,510368.0054400001,135563.223,135563.223,135563.223,392918.036,229585.88100000002,229585.88100000002,160744.15863999998,133410.19544999997,198303.54977999997,345878.28449999995,98163.55122,124845.59030999999,164253.56699999998,164253.56699999998,164253.56699999998,164253.56699999998,690288.21554,690288.21554 +25358400.0,279156.333,197917.695,577919.6694,144157.10452000002,144157.10452000002,144157.10452000002,302174.873,597248.95104,840458.1747200001,361646.86341,551080.93472,240757.149,240757.149,240757.149,187480.5275,279156.333,279156.333,285408.64196,241108.28955,358388.12422,625095.5655,177408.07478,225629.73269,243877.515,243877.515,243877.515,243877.515,839330.04122,839330.04122 +25362000.0,155289.612,98543.427,287746.80684,74187.29252,74187.29252,74187.29252,89548.57800000001,325818.37128,382228.77248000004,162483.76473000002,247594.30816000004,131612.571,131612.571,131612.571,86414.517,155289.612,155289.612,160818.83388999998,98561.95019999999,146504.42968,255530.982,72522.12632,92234.51636,117639.76800000001,117639.76800000001,117639.76800000001,117639.76800000001,466904.10007999995,466904.10007999995 +25365600.0,232988.337,161714.84100000001,472207.33572,388592.30575000006,388592.30575000006,388592.30575000006,230180.35950000002,514423.23864,186459.77536000003,455252.29722,693717.78624,143425.473,143425.473,143425.473,430154.42049999995,232988.337,232988.337,498322.9841199999,258085.2699,383623.04316,669109.9590000001,189899.77884,241516.83282000004,99840.378,99840.378,99840.378,99840.378,700518.2665799999,700518.2665799999 +25369200.0,101227.53,364163.481,1063357.36452,272781.51802,272781.51802,272781.51802,276856.993,538968.50168,177942.54144000003,106186.55501999999,161808.08384,163387.092,163387.092,163387.092,489175.8445,101227.53,101227.53,458886.98699999996,179605.5201,266969.19284,465643.941,132154.18516,168075.28918,143451.894,143451.894,143451.894,143451.894,304357.4402,304357.4402 +25372800.0,358529.865,345442.26300000004,1008691.40796,307190.05097000004,307190.05097000004,307190.05097000004,241073.532,831736.08792,1197445.1187200001,510053.56899000006,777224.4860800001,332652.765,332652.765,332652.765,375932.823,358529.865,358529.865,455872.7043,349855.4916,520032.11344,907032.756,257424.53456,327395.63288,344754.93,344754.93,344754.93,344754.93,1077979.7941,1077979.7941 +25376400.0,1495782.327,1093540.548,3193138.4001599997,1257537.14295,1257537.14295,1257537.14295,2025566.5920000002,2377009.71808,3699097.9456,2504550.6874499996,3816458.1903999997,1596750.687,1596750.687,1596750.687,1520871.7510000002,1495782.327,1495782.327,1041136.9627099999,1623020.0444999998,2412489.0538,4207829.745,1194222.1562,1518826.1651,1450982.6099999999,1450982.6099999999,1450982.6099999999,1450982.6099999999,4497318.863179999,4497318.863179999 +25380000.0,708507.888,472743.97199999995,1380412.39824,533118.80347,533118.80347,533118.80347,640719.0194999999,1200426.6350399998,1963180.9331200002,989110.9365899999,1507216.66528,608602.473,608602.473,608602.473,772144.4955,708507.888,708507.888,470922.47760999994,747008.94465,1110368.8510599998,1936689.8565,549651.02594,699052.81487,681286.932,681286.932,681286.932,681286.932,2130247.04992,2130247.04992 +25383600.0,601037.22,486737.67000000004,1421273.9964,571033.3972199999,571033.3972199999,571033.3972199999,637108.99,1131538.59072,1974146.77632,939899.55906,1432227.89952,589342.992,589342.992,589342.992,757385.7305,601037.22,601037.22,472507.18983,745889.7919499999,1108705.32038,1933788.3494999998,548827.55062,698005.5090099999,644374.7609999999,644374.7609999999,644374.7609999999,644374.7609999999,1807118.5747999998,1807118.5747999998 +25387200.0,613086.855,504800.17500000005,1474016.511,589183.4645400001,589183.4645400001,589183.4645400001,639164.8445,1141854.2032,2033622.9491200002,954388.39986,1454306.1331200001,605272.047,605272.047,605272.047,770787.759,613086.855,613086.855,485979.61022,762690.3137999999,1133677.94792,1977345.258,561189.41608,713727.47884,662997.1950000001,662997.1950000001,662997.1950000001,662997.1950000001,1843347.8107,1843347.8107 +25390800.0,431859.99899999995,348295.782,1017023.6834399999,403323.14165,403323.14165,403323.14165,388462.76,580313.94384,1198860.48704,524766.7584599999,799644.58432,318403.80299999996,318403.80299999996,318403.80299999996,384681.7485,431859.99899999995,431859.99899999995,343985.20676,344115.42659999995,511499.9674399999,892151.1059999999,253200.98056,322024.06588,416791.62899999996,416791.62899999996,416791.62899999996,416791.62899999996,1298459.0636599998,1298459.0636599998 +25394400.0,79084.503,57151.865999999995,166883.44872,100421.51130000001,100421.51130000001,100421.51130000001,81086.19750000001,122057.9272,377628.09920000006,112257.97611000002,171059.77312000003,97796.418,97796.418,97796.418,82007.27500000001,79084.503,79084.503,99907.25459,51776.73495,76961.96158,134235.97950000002,38097.449420000004,48452.79641,79016.10299999999,79016.10299999999,79016.10299999999,79016.10299999999,237780.73901999998,237780.73901999998 +25398000.0,70651.554,59463.027,173632.03884000002,65338.001410000004,65338.001410000004,65338.001410000004,47293.8025,99630.73288,367659.7888,93308.66412,142184.63104,91897.14899999999,91897.14899999999,91897.14899999999,69956.166,70651.554,70651.554,107816.96288999998,39784.8267,59136.95228,103145.84700000001,29273.77372,37230.73906,70805.502,70805.502,70805.502,70805.502,212425.67236,212425.67236 +25401600.0,65560.455,63571.224,185627.97407999999,41620.50376000001,41620.50376000001,41620.50376000001,26382.321000000004,91290.81576,361364.75136,81599.88438000002,124342.68096000003,88266.13500000001,88266.13500000001,88266.13500000001,62505.936499999996,65560.455,65560.455,123108.50123,32369.309100000002,48114.38044,83920.43100000001,23817.41756,30291.279380000004,65747.34,65747.34,65747.34,65747.34,197118.43469999998,197118.43469999998 +25405200.0,65385.03,64323.009000000005,187823.18628,37104.02883,37104.02883,37104.02883,21666.1795,114526.64568000002,362013.66719999997,79329.33519,120882.79647999999,88153.70999999999,88153.70999999999,88153.70999999999,62303.178,65385.03,65385.03,126862.57155,30826.939499999997,45821.771799999995,79921.69499999999,22682.5382,28847.926099999997,64938.921,64938.921,64938.921,64938.921,196590.99019999997,196590.99019999997 +25408800.0,66140.073,66605.739,194488.75788,32345.63717,32345.63717,32345.63717,16858.114,121487.67455999998,360654.08064,83454.24696,127168.37632000002,88045.536,88045.536,88045.536,61198.196500000005,66140.073,66140.073,133276.24479,30435.38955,45239.76422,78906.5655,22394.43478,28481.51269,64546.689000000006,64546.689000000006,64546.689000000006,64546.689000000006,198861.15282,198861.15282 +25412400.0,72435.318,73410.393,214358.34755999997,33001.920600000005,33001.920600000005,33001.920600000005,17068.4955,123043.46224,364911.45728000003,95460.08136000001,145462.98112,89266.79400000001,89266.79400000001,89266.79400000001,63313.859,72435.318,72435.318,140752.1921,37275.033599999995,55406.34623999999,96638.976,27427.061759999997,34882.06848,67345.94099999999,67345.94099999999,67345.94099999999,67345.94099999999,217788.85611999998,217788.85611999998 +25416000.0,76004.54699999999,76020.906,221981.04551999999,35027.89334,35027.89334,35027.89334,18776.495499999997,123583.51039999998,363629.0425600001,110826.33513,168878.22496000002,89084.658,89084.658,89084.658,63666.582,76004.54699999999,76004.54699999999,147974.45038999998,37705.192200000005,56045.74248,97754.202,27743.57352,35284.61196,71162.658,71162.658,71162.658,71162.658,228520.33797999998,228520.33797999998 +25419600.0,119130.876,97969.42199999999,286070.71223999996,57640.27203,57640.27203,57640.27203,31189.511499999997,454283.99903999997,370261.088,183647.65104,279844.03968,88803.807,88803.807,88803.807,100846.21399999999,119130.876,119130.876,333008.00272999995,50212.495350000005,74636.84494,130180.54350000001,36946.47806,46988.97713000001,131538.96899999998,131538.96899999998,131538.96899999998,131538.96899999998,358186.83384,358186.83384 +25423200.0,589639.035,283420.581,827588.09652,703149.70385,703149.70385,703149.70385,563132.3740000001,2102741.42392,1641841.14496,1407387.44895,2144590.3984000003,459088.1699999999,459088.1699999999,459088.1699999999,499721.35149999993,589639.035,589639.035,1724392.67195,641783.86155,953960.20902,1663884.0855,472226.14998000005,600582.92229,762391.584,762391.584,762391.584,762391.584,1772848.0318999998,1772848.0318999998 +25426800.0,589664.841,817802.8620000001,2387984.35704,824584.6780600001,824584.6780600001,824584.6780600001,1081295.978,2789501.59088,1692777.57312,1941383.42937,2958298.55904,822381.27,822381.27,822381.27,859149.2595,589664.841,589664.841,1087588.4795099997,1217846.178,1810230.6152,3157378.98,896094.2248,1139663.4604,896628.33,896628.33,896628.33,896628.33,1772925.62194,1772925.62194 +25430400.0,1444736.547,1020096.3929999999,2978681.46756,560145.99256,560145.99256,560145.99256,698429.039,2212304.07544,3904789.557120001,1895609.2247399997,2888547.39008,1141112.298,1141112.298,1141112.298,696417.1095,1444736.547,1444736.547,833273.24561,835606.2303,1242061.60652,2166386.523,614841.12748,781962.3735400001,1625236.2480000001,1625236.2480000001,1625236.2480000001,1625236.2480000001,4343841.217979999,4343841.217979999 +25434000.0,640349.058,405404.73,1183781.8116,283986.87108,283986.87108,283986.87108,194758.9665,570160.56656,4101267.21216,204718.41978,311951.87776,619304.118,619304.118,619304.118,710501.449,640349.058,640349.058,307151.36192,1148749.3143,1707523.6721199998,2978238.963,845252.58188,1075002.44474,219016.47300000003,219016.47300000003,219016.47300000003,219016.47300000003,1925316.1677199998,1925316.1677199998 +25437600.0,187816.875,47809.01099999999,139602.31212,119547.18204,119547.18204,119547.18204,104702.5315,244217.45288,218492.57344,115295.41821,175688.25632000001,75061.623,75061.623,75061.623,55990.3855,187816.875,187816.875,110155.24818999998,61998.44895,92155.71918,160736.7195,45618.61182,58018.30161,77142.01800000001,77142.01800000001,77142.01800000001,77142.01800000001,564702.7374999999,564702.7374999999 +25441200.0,182581.422,530774.214,1549860.70488,140981.47480999999,140981.47480999999,140981.47480999999,301958.72,441451.59768,440429.08032000007,276548.86602,421407.79584000004,102899.66399999999,102899.66399999999,102899.66399999999,347051.873,182581.422,182581.422,115496.15193999998,95418.1701,141831.45283999998,247380.44100000002,70208.92516,89292.55918000001,124992.58800000002,124992.58800000002,124992.58800000002,124992.58800000002,548961.4754799999,548961.4754799999 +25444800.0,258011.08500000002,182943.039,534193.67388,139769.76662,139769.76662,139769.76662,279004.152,549518.41496,722707.0572800001,318738.12873000005,485696.19616000005,217687.43699999998,217687.43699999998,217687.43699999998,171073.847,258011.08500000002,258011.08500000002,263490.29446999996,206040.90284999998,306263.26794,534180.1185,151605.40506,192813.58563,212737.72500000003,212737.72500000003,212737.72500000003,212737.72500000003,775753.3289000001,775753.3289000001 +25448400.0,144651.255,87492.552,255478.25183999998,73545.6733,73545.6733,73545.6733,85573.663,294859.72536000004,333411.86624,146799.96744,223695.18848,118275.79800000001,118275.79800000001,118275.79800000001,79092.8285,144651.255,144651.255,146628.15543999997,88568.5914,131650.10376,229622.274,65168.98824,82882.70652,106778.32500000001,106778.32500000001,106778.32500000001,106778.32500000001,434918.10669999995,434918.10669999995 +25452000.0,191747.625,135155.022,394652.66423999995,352166.72557,352166.72557,352166.72557,159026.26249999998,413899.4588,106357.36384,394149.48867,600608.7446399999,106550.75400000002,106550.75400000002,106550.75400000002,356528.3715,191747.625,191747.625,442192.66507,213972.88859999998,318053.52823999996,554744.526,157441.77976,200236.35748,66180.966,66180.966,66180.966,66180.966,576521.1925,576521.1925 +25455600.0,95822.895,341468.538,997088.13096,270004.56923,270004.56923,270004.56923,267851.598,499393.39712,162383.90208,91231.27146000002,139019.08032000004,151046.565,151046.565,151046.565,438054.274,95822.895,95822.895,434185.2031399999,166092.9948,246883.90832,430611.468,122211.63568,155430.23464,133485.879,133485.879,133485.879,133485.879,288107.5043,288107.5043 +25459200.0,348582.453,325615.158,950796.26136,308683.08570000005,308683.08570000005,308683.08570000005,214074.833,809105.3637599999,1078872.4742400001,479706.87219,730981.9004800001,321016.686,321016.686,321016.686,374843.903,348582.453,348582.453,447559.50914999994,318914.8281,474041.30004,826816.221,234658.31796000001,298441.28358,321234.00600000005,321234.00600000005,321234.00600000005,321234.00600000005,1048071.2420199999,1048071.2420199999 +25462800.0,1485969.87,1076737.014,3144072.08088,1197762.5018700003,1197762.5018700003,1197762.5018700003,1998860.388,2375769.39552,3674911.6294400003,2464927.7486400004,3756080.37888,1589730.549,1589730.549,1589730.549,1496306.8645000001,1485969.87,1485969.87,1032517.7649799999,1583140.99455,2353212.04622,4104439.6155,1164879.05278,1481507.25169,1439059.842,1439059.842,1439059.842,1439059.842,4467816.0758,4467816.0758 +25466400.0,741859.836,509761.956,1488504.91152,561580.1262500001,561580.1262500001,561580.1262500001,675104.8744999999,1286562.26088,2144988.60544,1061141.49939,1616977.52288,659995.6740000001,659995.6740000001,659995.6740000001,844609.416,741859.836,741859.836,508902.2328,809806.09005,1203711.76842,2099497.2705,595857.32058,757818.53859,735971.514,735971.514,735971.514,735971.514,2230525.2402399997,2230525.2402399997 +25470000.0,663851.3999999999,543103.689,1585862.7718800001,627094.23656,627094.23656,627094.23656,707512.757,1264155.50656,2225577.8208000003,1044842.08962,1592140.32704,667493.61,667493.61,667493.61,863355.0275,663851.3999999999,663851.3999999999,524156.31085999997,837152.60535,1244360.16894,2170395.6435000002,615978.95406,783409.47513,719209.4820000001,719209.4820000001,719209.4820000001,719209.4820000001,1995979.8759999997,1995979.8759999997 +25473600.0,693250.416,578200.7790000001,1688346.2746800003,668744.0443200001,668744.0443200001,668744.0443200001,728110.0925,1310521.12368,2356107.23712,1088469.82293,1658620.68256,704202.1799999999,704202.1799999999,704202.1799999999,906347.1515,693250.416,693250.416,554010.71102,879212.6046,1306878.98264,2279440.086,646926.80536,822769.32628,761868.504,761868.504,761868.504,761868.504,2084372.91744,2084372.91744 +25477200.0,500458.8030000001,418959.71100000007,1223362.3561200001,485792.70916,485792.70916,485792.70916,456073.576,694169.41584,1458211.72544,625661.7007200001,953389.2582400001,389534.136,389534.136,389534.136,471505.37700000004,500458.8030000001,500458.8030000001,409185.79091,416297.39804999996,618792.67562,1079289.5505,306312.65338,389572.13299,497609.592,497609.592,497609.592,497609.592,1504712.8010200001,1504712.8010200001 +25480800.0,95385.009,76209.324,222531.22608,114854.17493000001,114854.17493000001,114854.17493000001,86418.29350000001,145526.65632,490652.4441600001,133877.86272,204004.36224000002,129263.613,129263.613,129263.613,100713.921,95385.009,95385.009,135895.41004,60271.8246,89589.23064,156260.28600000002,44348.157360000005,56402.522280000005,96390.987,96390.987,96390.987,96390.987,286790.92706,286790.92706 +25484400.0,87922.89600000001,84057.135,245446.83419999998,78430.62975000001,78430.62975000001,78430.62975000001,52943.9015,135522.42096,486128.95360000007,116187.2922,177047.30240000002,124970.166,124970.166,124970.166,89661.194,87922.89600000001,87922.89600000001,163197.76368999996,48754.835549999996,72470.15062,126401.4255,35873.92838,45624.89549,89437.455,89437.455,89437.455,89437.455,264354.84064,264354.84064 +25488000.0,84482.385,83880.10200000001,244929.89784000002,56142.17422000001,56142.17422000001,56142.17422000001,32259.633,159737.26848,483400.75008,112562.80224,171524.27008000002,123299.853,123299.853,123299.853,85066.5655,84482.385,84482.385,174383.34654,45372.91545,67443.19778,117633.4845,33385.50322,42460.08631,90449.21699999999,90449.21699999999,90449.21699999999,90449.21699999999,254010.37089999998,254010.37089999998 +25491600.0,88396.27799999999,93367.026,272631.71592,51814.11587,51814.11587,51814.11587,27959.851499999997,169171.70088000002,491932.68288000004,122901.58146,187278.60032,126115.122,126115.122,126115.122,87574.872,88396.27799999999,88396.27799999999,185376.45242999998,55778.8437,82910.77507999999,144611.817,41042.21092,52197.97966,93599.886,93599.886,93599.886,93599.886,265778.14252,265778.14252 +25495200.0,97035.27,102400.70099999999,299010.04691999994,46908.675110000004,46908.675110000004,46908.675110000004,25656.995,166798.4008,490371.59872000007,149230.42344,227398.74048,125255.29800000001,125255.29800000001,125255.29800000001,86065.92050000001,97035.27,97035.27,201149.04848999996,61768.5021,91813.92164,160140.561,45449.41636,57803.116780000004,96548.63999999998,96548.63999999998,96548.63999999998,96548.63999999998,291752.7118,291752.7118 +25498800.0,96305.514,98297.214,287027.86488,45203.77246000001,45203.77246000001,45203.77246000001,29635.354000000003,159262.98456,468112.03264,162268.32258,247266.01536000002,119167.32900000003,119167.32900000003,119167.32900000003,82656.16100000001,96305.514,96305.514,192541.81803999995,61303.2867,91122.41627999999,158934.447,45107.10972,57367.76706,97516.52100000001,97516.52100000001,97516.52100000001,97516.52100000001,289558.57876,289558.57876 +25502400.0,98678.625,97637.457,285101.37444,46846.13549,46846.13549,46846.13549,30758.2205,157550.85424,490823.59744,173195.56968,263917.05856,149220.18300000002,149220.18300000002,149220.18300000002,92877.85149999999,98678.625,98678.625,189399.62301,62795.42415,93340.35886,162802.9515,46205.02814,58764.11297,108512.823,108512.823,108512.823,108512.823,296693.7325,296693.7325 +25506000.0,165880.8,124214.364,362705.94288,72372.35335,72372.35335,72372.35335,46614.029,526231.7712,520789.696,286317.82599,436293.83008000004,175565.23500000002,175565.23500000002,175565.23500000002,185345.111,165880.8,165880.8,375398.89829,83176.79805,123635.63561999999,215643.5505,61201.69338,77837.05299,193397.44499999998,193397.44499999998,193397.44499999998,193397.44499999998,498748.27199999994,498748.27199999994 +25509600.0,790207.8719999999,348448.803,1017470.50476,963404.7142500002,963404.7142500002,963404.7142500002,815933.9685000001,2592251.67808,2325924.8224,1857132.37731,2829916.0035200003,657658.0619999999,657658.0619999999,657658.0619999999,893522.868,790207.8719999999,790207.8719999999,1918354.5847699998,895707.52155,1331397.3530199998,2322204.6855,659063.80598,838205.3102899999,999021.939,999021.939,999021.939,999021.939,2375891.6684799995,2375891.6684799995 +25513200.0,718811.433,959587.959,2801996.8402799997,1061928.15256,1061928.15256,1061928.15256,1417205.4015000002,3193041.5904799993,2148185.72608,2242194.61221,3416677.5043200003,990089.466,990089.466,990089.466,1106330.1235,718811.433,718811.433,1397977.89014,1512179.2718999998,2247733.13996,3920464.779,1112665.24204,1415101.09642,1089019.008,1089019.008,1089019.008,1089019.008,2161226.37522,2161226.37522 +25516800.0,1661329.434,1395057.9360000002,4073569.1731200004,720130.32586,720130.32586,720130.32586,910191.4710000001,3055079.3868799997,5098074.84928,2418367.74648,3685131.8041600008,1497633.468,1497633.468,1497633.468,913186.225,1661329.434,1661329.434,1009494.2189799999,1108239.42015,1647308.96526,2873213.3115000003,815445.30174,1037093.1857700001,1921530.846,1921530.846,1921530.846,1921530.846,4995063.83156,4995063.83156 +25520400.0,803340.3570000001,470294.427,1373259.7268400001,340705.59336,340705.59336,340705.59336,238688.01249999998,805466.6407999999,4742212.52736,323822.75667,493444.20064,769061.202,769061.202,769061.202,850249.8445,803340.3570000001,803340.3570000001,392595.50927999994,1452805.8142499998,2159479.2597,3766533.5925,1068978.1053,1359539.26815,350632.25399999996,350632.25399999996,350632.25399999996,350632.25399999996,2415376.67338,2415376.67338 +25524000.0,264180.192,91197.91500000001,266297.9118,130583.1417,130583.1417,130583.1417,111510.21350000001,362064.20279999997,706546.61248,163703.53776,249453.00992,114710.82300000002,114710.82300000002,114710.82300000002,91226.436,264180.192,264180.192,178671.16331999996,95215.8969,141530.78996,246856.029,70060.09204,89103.27142,122624.55600000001,122624.55600000001,122624.55600000001,122624.55600000001,794301.7772799999,794301.7772799999 +25527600.0,266204.11799999996,675730.872,1973134.1462400001,167323.17822,167323.17822,167323.17822,380735.5195,621143.3577599999,735378.37312,408034.22205,621766.4336,170945.721,170945.721,170945.721,503288.8245,266204.11799999996,266204.11799999996,194054.03874999998,178529.61735000001,265369.94974,462854.56350000005,131362.53326,167068.45673,213712.25399999996,213712.25399999996,213712.25399999996,213712.25399999996,800387.0481199999,800387.0481199999 +25531200.0,314448.975,225396.93,658159.0356,182433.91199000002,182433.91199000002,182433.91199000002,353431.7535,650548.0731200001,982978.03648,422302.63614,643508.77888,268200.243,268200.243,268200.243,212348.91650000002,314448.975,314448.975,315596.74068000005,280130.89814999996,416392.1004599999,726265.2914999999,206121.00653999997,262147.18617,287725.806,287725.806,287725.806,287725.806,945443.2514999999,945443.2514999999 +25534800.0,157973.541,96635.313,282175.11396,75311.84166,75311.84166,75311.84166,91247.38,316601.65408,377784.72768,164889.23031,251259.77952,125314.42500000002,125314.42500000002,125314.42500000002,86438.058,157973.541,157973.541,157687.30263,101188.57770000001,150408.70068,262340.75700000004,74454.80532000001,94692.52086,119951.052,119951.052,119951.052,119951.052,474973.77994,474973.77994 +25538400.0,165947.313,113711.69999999998,332038.16399999993,454883.60698000004,454883.60698000004,454883.60698000004,286291.159,348809.28912000003,22938.401920000004,403252.64763,614480.2249600001,88236.741,88236.741,88236.741,439146.24250000005,165947.313,165947.313,382981.21874999994,258910.03619999997,384848.99207999994,671248.242,190506.64391999997,242288.65115999998,52701.159,52701.159,52701.159,52701.159,498948.25441999995,498948.25441999995 +25542000.0,80298.26699999999,384332.871,1122251.9833199999,271326.06567,271326.06567,271326.06567,271113.8395,494404.46616,129893.63264000001,79943.27648999999,121818.32608,122748.11700000001,122748.11700000001,122748.11700000001,490754.922,80298.26699999999,80298.26699999999,470305.36422999995,169900.85745,252543.99058,440483.70450000005,125013.47042000001,158993.64191000003,128328.147,128328.147,128328.147,128328.147,241430.12277999998,241430.12277999998 +25545600.0,275816.583,225053.90400000004,657157.39968,302300.84951000003,302300.84951000003,302300.84951000003,160510.567,631524.6644,614205.7894400001,324411.65442000004,494341.56864,231158.19899999996,231158.19899999996,231158.19899999996,276637.04949999996,275816.583,275816.583,371944.20717999997,188680.33079999997,280458.17071999994,489171.22799999994,138831.45328,176567.51944,225824.031,225824.031,225824.031,225824.031,829288.5262199999,829288.5262199999 +25549200.0,1525911.1349999998,1120033.506,3270497.83752,1376396.7961700002,1376396.7961700002,1376396.7961700002,2056769.687,2389181.6096,3659325.5398400007,2515255.55169,3832770.3644800005,1632369.102,1632369.102,1632369.102,1538646.242,1525911.1349999998,1525911.1349999998,1118063.6582699998,1644110.5369499999,2443838.3783799997,4262508.7995,1209740.59262,1538562.70001,1515282.399,1515282.399,1515282.399,1515282.399,4587906.145899999,4587906.145899999 +25552800.0,751963.5630000001,474290.88000000006,1384929.3696,531290.52284,531290.52284,531290.52284,657098.6414999999,1224730.56008,1964390.3865600002,1016633.69178,1549156.10176,620188.203,620188.203,620188.203,777110.8205,751963.5630000001,751963.5630000001,479899.00542999996,754137.8801999999,1120965.44168,1955172.282,554896.51432,705724.0903599999,688581.9990000001,688581.9990000001,688581.9990000001,688581.9990000001,2260903.77942,2260903.77942 +25556400.0,628644.867,510197.505,1489776.7145999998,594510.52881,594510.52881,594510.52881,670255.215,1178666.12344,2055706.41152,983882.4760799999,1499249.48736,616270.932,616270.932,616270.932,798534.4219999999,628644.867,628644.867,497003.74542,783087.588,1163996.8591999998,2030227.0799999998,576197.7808,732815.2984,672881.808,672881.808,672881.808,672881.808,1890125.5667799998,1890125.5667799998 +25560000.0,622053.789,513187.599,1498507.78908,609278.1819300001,609278.1819300001,609278.1819300001,652463.182,1150657.26736,2040427.51872,967782.8302800001,1474716.6937600002,609755.52,609755.52,609755.52,782418.2065,622053.789,622053.789,492495.89999999997,773725.6322999999,1150081.0633199997,2005955.3429999999,569309.2306799999,724054.35714,672098.904,672098.904,672098.904,672098.904,1870308.3922599999,1870308.3922599999 +25563600.0,440670.717,356269.06799999997,1040305.67856,423444.24485,423444.24485,423444.24485,400256.43700000003,590081.046,1213667.82976,536690.26068,817813.73056,321786.65400000004,321786.65400000004,321786.65400000004,396253.7075,440670.717,440670.717,370054.62753999996,353254.8915,525085.0486,915846.0150000001,259925.82140000002,330576.79970000003,427052.973,427052.973,427052.973,427052.973,1324949.95578,1324949.95578 +25567200.0,79746.321,57275.187000000005,167243.54604000002,101783.95194000001,101783.95194000001,101783.95194000001,81468.4675,122026.83504,374438.79040000006,112874.23581,171998.83552,96674.493,96674.493,96674.493,81851.8575,79746.321,79746.321,99294.05655,51882.57765,77119.28826,134510.38650000002,38175.328740000004,48551.84427,79778.094,79778.094,79778.094,79778.094,239770.60514,239770.60514 +25570800.0,70061.745,58095.03300000001,169637.49636000002,65678.31853000002,65678.31853000002,65678.31853000002,47269.7995,97810.90127999999,356155.87520000007,92267.28231,140597.76352,88382.26199999999,88382.26199999999,88382.26199999999,68374.73999999999,70061.745,70061.745,103492.26302999999,39241.94849999999,58330.00739999999,101738.385,28874.322599999996,36722.7123,70235.451,70235.451,70235.451,70235.451,210652.3133,210652.3133 +25574400.0,66390.063,62923.79699999999,183737.48724,43702.3983,43702.3983,43702.3983,26789.847,90526.56416,359299.84703999996,82351.89123000001,125488.59616000002,87474.45599999999,87474.45599999999,87474.45599999999,62512.016,66390.063,66390.063,122404.42304999998,32538.68415,48366.14286,84359.5515,23942.04414,30449.780970000003,66596.11799999999,66596.11799999999,66596.11799999999,66596.11799999999,199612.78942,199612.78942 +25578000.0,65984.979,64078.424999999996,187109.001,39149.28116,39149.28116,39149.28116,22047.284,111836.07008,359598.01344,79985.59695,121882.81440000002,87170.082,87170.082,87170.082,62272.13999999999,65984.979,65984.979,124011.02558,30962.3634,46023.06856,80272.79400000001,22782.18344,28974.65612,65702.421,65702.421,65702.421,65702.421,198394.83686,198394.83686 +25581600.0,67666.833,66802.491,195063.27372,33887.45085000001,33887.45085000001,33887.45085000001,17307.255,121761.95016000001,359931.82272000005,84612.33606000002,128933.08352000001,87634.014,87634.014,87634.014,61689.243,67666.833,67666.833,132636.58694,31232.482199999995,46424.57847999999,80973.102,22980.937519999996,29227.43396,67759.359,67759.359,67759.359,67759.359,203451.61122,203451.61122 +25585200.0,73543.179,73352.775,214190.103,34437.84102000001,34437.84102000001,34437.84102000001,17400.162500000002,122495.06287999998,361842.94912,93510.54363,142492.25696,88195.61399999999,88195.61399999999,88195.61399999999,62823.58249999999,73543.179,73543.179,139458.60512999998,41138.63235,61149.27574,106655.7135,30269.90726,38497.63373,69803.51699999999,69803.51699999999,69803.51699999999,69803.51699999999,221119.82486,221119.82486 +25588800.0,76385.448,75198.783,219580.44635999997,36064.835730000006,36064.835730000006,36064.835730000006,19892.957,122200.22464,358186.44224000006,105905.88855,161380.4016,87385.27799999999,87385.27799999999,87385.27799999999,63114.97499999999,76385.448,76385.448,145584.64036999998,43309.72395,64376.42917999999,112284.4695,31867.40182,40529.34661,71420.685,71420.685,71420.685,71420.685,229665.58032,229665.58032 +25592400.0,124399.209,100895.25300000001,294614.13876,60560.12666000001,60560.12666000001,60560.12666000001,32684.760500000004,465254.34559999994,383797.96223999996,192967.37754000002,294045.52768000006,92757.771,92757.771,92757.771,105537.8695,124399.209,124399.209,339298.44858,58728.762449999995,87295.59258,152259.7545,43212.76842,54958.52091,136352.66100000002,136352.66100000002,136352.66100000002,136352.66100000002,374026.95505999995,374026.95505999995 +25596000.0,607060.8389999999,292182.165,853171.9217999999,745275.76266,745275.76266,745275.76266,588090.5765,2123253.6472,1680085.9769600003,1459279.9932900001,2223664.75168,473435.892,473435.892,473435.892,531112.6345,607060.8389999999,607060.8389999999,1778351.5357399997,666183.3984,990228.16256,1727142.144,490179.38944,623416.06912,782111.268,782111.268,782111.268,782111.268,1825229.5892599998,1825229.5892599998 +25599600.0,601741.716,810934.9439999999,2367930.03648,861416.05759,861416.05759,861416.05759,1111497.1665,2787099.97848,1719194.51776,1970564.6230199998,3002765.13984,834958.4580000001,834958.4580000001,834958.4580000001,877282.4445,601741.716,601741.716,1081125.57592,1234053.88515,1834322.0712599999,3199398.9615,908019.89574,1154830.67277,916722.8399999999,916722.8399999999,916722.8399999999,916722.8399999999,1809236.75944,1809236.75944 +25603200.0,1470647.5229999998,1059864.957,3094805.67444,592689.37068,592689.37068,592689.37068,726213.5615000001,2241059.97264,4000935.3772799997,1942415.6196899998,2959871.42048,1159417.3260000001,1159417.3260000001,1159417.3260000001,728665.0455,1470647.5229999998,1470647.5229999998,846045.19051,865879.0325999999,1287059.6978399998,2244871.5659999996,637115.93016,810291.73668,1659732.507,1659732.507,1659732.507,1659732.507,4421746.8858199995,4421746.8858199995 +25606800.0,656150.427,416161.467,1215191.48364,311058.24816,311058.24816,311058.24816,202305.978,585545.9940000001,4160620.3865600005,216130.83072000003,329342.21824,625969.941,625969.941,625969.941,726165.951,656150.427,656150.427,313563.89038,1181024.63505,1755498.3464199998,3061915.7205000003,869000.84258,1105205.7695900002,229678.48200000002,229678.48200000002,229678.48200000002,229678.48200000002,1972825.61718,1972825.61718 +25610400.0,196955.892,53331.894,155729.13048,121206.06927,121206.06927,121206.06927,104917.4315,260346.78535999998,242008.40959999998,124323.11325,189444.744,78748.218,78748.218,78748.218,59411.4185,196955.892,196955.892,120941.22104999998,68039.25074999999,101134.88629999998,176398.0575,50063.44869999999,63671.29885,85198.36799999999,85198.36799999999,85198.36799999999,85198.36799999999,592180.7152799999,592180.7152799999 +25614000.0,217978.74300000002,573024.0210000001,1673230.1413200002,147510.89441,147510.89441,147510.89441,321123.2605,511072.39848000003,554627.81248,327403.07628,498899.92575999995,128181.91500000001,128181.91500000001,128181.91500000001,385293.034,217978.74300000002,217978.74300000002,153533.57903,130014.6552,193256.35167999996,337075.032,95665.10432,121668.03536,159968.514,159968.514,159968.514,159968.514,655389.42062,655389.42062 +25617600.0,231622.782,149579.655,436772.59260000003,143670.56858000002,143670.56858000002,143670.56858000002,278080.01550000004,464123.44127999997,641936.85312,287437.34271,437999.76032,180560.13299999997,180560.13299999997,180560.13299999997,152769.9145,231622.782,231622.782,224550.06886,193712.87699999998,287938.64679999993,502218.56999999995,142534.41319999998,181276.98859999998,187862.475,187862.475,187862.475,187862.475,696412.4978799999,696412.4978799999 +25621200.0,94872.462,39505.758,115356.81335999999,70829.93324000001,70829.93324000001,70829.93324000001,69416.38549999999,166013.8552,138385.57056000002,80649.07473000001,122893.82816000002,60274.75199999999,60274.75199999999,60274.75199999999,40357.2505,94872.462,94872.462,89211.79631,48289.96035,71779.15093999999,125196.1935,35531.87206,45189.86413,60530.073,60530.073,60530.073,60530.073,285249.86908000003,285249.86908000003 +25624800.0,162258.834,115733.13,337940.7396,389932.02358000004,389932.02358000004,389932.02358000004,168726.1345,332289.47088,50730.74176000001,368312.98308,561238.83136,83769.591,83769.591,83769.591,346561.698,162258.834,162258.834,386831.67665999994,203270.3181,302145.01604,526997.121,149566.80196,190220.86558,47276.649000000005,47276.649000000005,47276.649000000005,47276.649000000005,487858.22755999997,487858.22755999997 +25628400.0,58057.671,319915.488,934153.22496,266579.0171,266579.0171,266579.0171,258227.47999999998,392808.54991999996,91219.82400000002,52909.93071,80624.65632000001,105915.183,105915.183,105915.183,401576.441,58057.671,58057.671,379751.50577,149728.1922,222558.94247999997,388184.202,110170.37352,140116.01196,101512.896,101512.896,101512.896,101512.896,174560.06414,174560.06414 +25632000.0,232262.60700000002,171073.614,499534.95288,289235.6366900001,289235.6366900001,289235.6366900001,130436.26049999999,488112.87064000004,436293.01568,256572.61391999997,390967.79264,173362.515,173362.515,173362.515,185189.193,232262.60700000002,232262.60700000002,315789.23688,150606.39015,223864.31325999997,390461.01149999996,110816.55374,140937.83177,187796.11800000002,187796.11800000002,187796.11800000002,187796.11800000002,698336.23838,698336.23838 +25635600.0,1362354.003,943803.6569999999,2755906.67844,1141021.7771700001,1141021.7771700001,1141021.7771700001,1806806.33,2034555.6395999999,2998743.33696,2182313.67291,3325430.3587200004,1402078.638,1402078.638,1402078.638,1205615.2534999999,1362354.003,1362354.003,953219.2006999999,1349705.0412,2006228.2340799998,3499235.2920000004,993116.30192,1263057.31016,1238129.64,1238129.64,1238129.64,1238129.64,4096144.3690199996,4096144.3690199996 +25639200.0,585333.387,387213.39600000007,1130663.11632,433907.27468000003,433907.27468000003,433907.27468000003,517124.566,970454.7642399999,1506561.44448,811365.97059,1236367.1932800002,466738.6109999999,466738.6109999999,466738.6109999999,610951.3409999999,585333.387,585333.387,394045.78199999995,583591.72005,867462.2604200001,1513015.5705000001,429408.22858000005,546126.5725900001,555921.672,555921.672,555921.672,555921.672,1759902.38358,1759902.38358 +25642800.0,501431.949,399747.37799999997,1167262.3437599998,467436.64693000005,467436.64693000005,467436.64693000005,518287.371,910382.0831200001,1547609.34528,770730.1035000001,1174445.8720000002,452958.63000000006,452958.63000000006,452958.63000000006,587460.5415,501431.949,501431.949,393929.06735,592029.69255,880004.6294199999,1534891.7955,435616.90958,554022.84809,516596.48099999997,516596.48099999997,516596.48099999997,516596.48099999997,1507638.72666,1507638.72666 +25646400.0,555514.0530000001,455442.2790000001,1329891.4546800002,526555.58252,526555.58252,526555.58252,577046.162,1017802.8504,1783170.64768,859233.98988,1309308.93696,535788.537,535788.537,535788.537,674344.9265,555514.0530000001,555514.0530000001,438459.8597599999,678885.7211999999,1009109.1460799999,1760074.092,499525.78991999995,635302.93416,591083.808,591083.808,591083.808,591083.808,1670245.58602,1670245.58602 +25650000.0,396234.198,316257.38100000005,923471.55252,379735.36711000005,379735.36711000005,379735.36711000005,362892.7435,524484.02856,1063171.2416,476875.55517,726667.51264,284632.40099999995,284632.40099999995,284632.40099999995,349049.50850000005,396234.198,396234.198,316428.42335,312438.06,464414.10399999993,810024.6,229892.696,292380.308,378391.515,378391.515,378391.515,378391.515,1191344.15532,1191344.15532 +25653600.0,72175.701,49998.768000000004,145996.40256000002,91970.70575,91970.70575,91970.70575,79062.249,112756.90959999998,331823.71264000004,102257.16648000001,155820.44416,85116.627,85116.627,85116.627,74599.77350000001,72175.701,72175.701,89322.61870999998,48375.52875,71906.3415,125418.0375,35594.8335,45269.93925,69587.088,69587.088,69587.088,69587.088,217008.27433999997,217008.27433999997 +25657200.0,65580.99,49766.55600000001,145318.34352000002,55428.17005000001,55428.17005000001,55428.17005000001,45794.4305,92747.57456,333867.83616000006,85528.06542,130328.48064,82658.814,82658.814,82658.814,64483.5555,65580.99,65580.99,87417.96453000001,37250.47845,55369.84698,96575.31450000001,27408.994020000002,34859.08971000001,65487.84299999999,65487.84299999999,65487.84299999999,65487.84299999999,197180.1766,197180.1766 +25660800.0,61192.31999999999,53185.077000000005,155300.42484,39712.337170000006,39712.337170000006,39712.337170000006,25140.325,80081.81176,333895.49312,76025.8422,115848.90239999999,80676.402,80676.402,80676.402,57994.055,61192.31999999999,61192.31999999999,89035.87056,30263.961149999996,44984.94965999999,78462.1215,22268.297339999997,28321.08957,61340.513999999996,61340.513999999996,61340.513999999996,61340.513999999996,183984.90879999998,183984.90879999998 +25664400.0,60145.185,56603.744999999995,165282.93539999996,34464.50359,34464.50359,34464.50359,20312.666500000003,84801.88664,333029.53216,73314.16428000001,111716.82176,79840.19699999999,79840.19699999999,79840.19699999999,56641.711,60145.185,60145.185,111927.91115999999,28550.256299999997,42437.664919999996,74019.183,21007.34908,26717.40034,60177.933000000005,60177.933000000005,60177.933000000005,60177.933000000005,180836.52289999998,180836.52289999998 +25668000.0,60725.58,60530.219999999994,176748.2424,30403.062800000003,30403.062800000003,30403.062800000003,15767.3985,100564.40288000001,337594.00768000004,71949.03723,109636.62816000001,80720.22899999999,80720.22899999999,80720.22899999999,57037.1725,60725.58,60725.58,113270.97378999999,27294.2784,40570.75456,70762.944,20083.19744,25542.05312,59941.89,59941.89,59941.89,59941.89,182581.5772,182581.5772 +25671600.0,67428.204,65173.52100000001,190306.68132,32076.27236,32076.27236,32076.27236,16248.19,114308.56255999999,347876.06464,76131.74961,116010.28512,83934.62400000001,83934.62400000001,83934.62400000001,58782.787,67428.204,67428.204,125729.97046999999,33974.822250000005,50500.846900000004,88082.87250000001,24998.758100000003,31793.722550000006,61529.235,61529.235,61529.235,61529.235,202734.13335999998,202734.13335999998 +25675200.0,71252.406,71476.917,208712.59764,34793.51425,34793.51425,34793.51425,18068.8655,118577.24048,352717.39264,89061.27803999999,135712.42368,85864.281,85864.281,85864.281,60097.341499999995,71252.406,71252.406,135908.93576,36521.37315000001,54286.09046000001,94685.04150000002,26872.516540000004,34176.791170000004,63193.986000000004,63193.986000000004,63193.986000000004,63193.986000000004,214232.23403999998,214232.23403999998 +25678800.0,114104.89199999999,96017.334,280370.61527999997,57703.24714000001,57703.24714000001,57703.24714000001,27237.763,434021.53503999993,363825.85088000004,154402.84146000003,235280.52032000004,87092.073,87092.073,87092.073,95458.916,114104.89199999999,114104.89199999999,324200.28667,47387.7054,70438.02136,122857.014,34867.990639999996,44345.53172,123661.08600000001,123661.08600000001,123661.08600000001,123661.08600000001,343075.37528,343075.37528 +25682400.0,559833.645,276502.326,807386.79192,655290.88724,655290.88724,655290.88724,513011.6355,2004328.3660799996,1544470.7372800002,1325085.17631,2019177.4115199998,442422.507,442422.507,442422.507,461163.591,559833.645,559833.645,1727258.79222,604507.5157499999,898551.9122999999,1567241.7075,444798.12269999995,565699.62585,725630.382,725630.382,725630.382,725630.382,1683233.1593,1683233.1593 +25686000.0,565001.988,763377.423,2229062.07516,802894.4392700001,802894.4392700001,802894.4392700001,1029947.114,2661945.73,1627510.46592,1896763.9086900002,2890306.90848,787381.6229999999,787381.6229999999,787381.6229999999,831602.4045000001,565001.988,565001.988,953239.2535899999,1173310.2558000002,1744031.5407200002,3041915.478,863324.5832800001,1097986.6344400002,868310.8290000001,868310.8290000001,868310.8290000001,868310.8290000001,1698772.64392,1698772.64392 +25689600.0,1417962.678,978087.594,2856015.77448,565843.79313,565843.79313,565843.79313,689937.8185,2085181.41408,3774190.59584,1836456.70257,2798410.21344,1082712.348,1082712.348,1082712.348,670910.2645,1417962.678,1417962.678,805786.58719,818930.51325,1217274.4912999999,2123153.1825,602571.0937,766357.19635,1585856.655,1585856.655,1585856.655,1585856.655,4263341.11852,4263341.11852 +25693200.0,638865.936,408821.24700000003,1193758.0412400002,304601.76295999996,304601.76295999996,304601.76295999996,195229.5835,577624.2383999999,4009096.1715200003,212866.92440999998,324368.64672,624130.248,624130.248,624130.248,710262.3605,638865.936,638865.936,309624.96695,1127458.87335,1675877.14014,2923041.5235,829587.02286,1055078.79753,225101.637,225101.637,225101.637,225101.637,1920856.91424,1920856.91424 +25696800.0,179566.43099999998,46942.820999999996,137073.03732,118945.02554,118945.02554,118945.02554,104709.864,241763.66592,230253.2224,119314.40808,181812.43136,78042.981,78042.981,78042.981,58594.95599999999,179566.43099999998,179566.43099999998,108059.89674999999,65939.05034999999,98013.10693999998,170953.0935,48518.11606,61705.92613,82006.434,82006.434,82006.434,82006.434,539896.4025399999,539896.4025399999 +25700400.0,219358.34100000001,575774.583,1681261.78236,145458.73122000002,145458.73122000002,145458.73122000002,314452.1345,528857.3184,589902.13248,331916.67747000005,505777.7942400001,137903.652,137903.652,137903.652,387479.09550000005,219358.34100000001,219358.34100000001,155791.54695,132784.60005,197373.65242,344256.3705,97703.23658000001,124260.15659000001,164415.79499999998,164415.79499999998,164415.79499999998,164415.79499999998,659537.41194,659537.41194 +25704000.0,255902.115,175222.43099999998,511649.49851999996,143620.08023000002,143620.08023000002,143620.08023000002,292119.95749999996,529624.4024,745330.23296,327587.45670000004,499180.8864000001,213469.80599999998,213469.80599999998,213469.80599999998,172975.411,255902.115,255902.115,247396.30864,219835.9116,326768.44143999997,569944.956,161755.80656,205722.98888000002,217404.02999999997,217404.02999999997,217404.02999999997,217404.02999999997,769412.3591,769412.3591 +25707600.0,138601.28399999999,80731.659,235736.44428,72949.75204,72949.75204,72949.75204,84006.27900000001,274959.89616,310078.90112,138345.79626,210812.64192000002,110720.262,110720.262,110720.262,76452.16949999999,138601.28399999999,138601.28399999999,134099.21654999998,84223.1763,125190.99292,218356.383,61971.621080000004,78816.25634,101517.06600000002,101517.06600000002,101517.06600000002,101517.06600000002,416727.86056,416727.86056 +25711200.0,214924.84500000003,145220.61,424044.18119999993,414453.59043000004,414453.59043000004,414453.59043000004,199272.15350000001,453569.86632000003,139152.51264,428103.30675,652347.896,121940.35800000001,121940.35800000001,121940.35800000001,402421.6805,214924.84500000003,214924.84500000003,459669.91550999996,239143.0635,355466.97339999996,620000.535,175962.05659999998,223790.6693,85564.758,85564.758,85564.758,85564.758,646207.3673,646207.3673 +25714800.0,86459.232,345728.76599999995,1009527.9967199999,271212.58186000003,271212.58186000003,271212.58186000003,270540.879,483291.22063999996,138846.84992,82601.60706,125869.11552,140709.15600000002,140709.15600000002,140709.15600000002,453292.252,86459.232,86459.232,433236.39697,168050.76885,249793.98234,435687.1785,123652.17066,157262.32443,128647.68,128647.68,128647.68,128647.68,259954.09088,259954.09088 +25718400.0,311010.918,284813.592,831655.68864,295436.63171,295436.63171,295436.63171,202463.18399999998,692697.22192,946347.7856000002,422807.5112100001,644278.1123200001,276342.954,276342.954,276342.954,326015.0355,311010.918,311010.918,394672.43360999995,285599.88045,424521.30377999996,740444.1345,210145.09722,267265.07331,281102.92500000005,281102.92500000005,281102.92500000005,281102.92500000005,935106.1601199999,935106.1601199999 +25722000.0,1441504.899,1027568.625,3000500.385,1294892.18903,1294892.18903,1294892.18903,1971054.5785,2242779.36792,3437328.0832,2386374.0873000002,3636379.5616,1550415.891,1550415.891,1550415.891,1425075.008,1441504.899,1441504.899,1015260.6874799998,1528872.8291999998,2272546.77328,3963744.372,1124948.40272,1430722.96856,1389880.9619999998,1389880.9619999998,1389880.9619999998,1389880.9619999998,4334124.72966,4334124.72966 +25725600.0,630282.189,425113.23,1241330.6316,495381.20181,495381.20181,495381.20181,565815.4075,1053654.52864,1689516.6739199997,875271.58467,1333747.1766400002,527657.4809999999,527657.4809999999,527657.4809999999,673293.9325,630282.189,630282.189,420904.93262999994,651033.1340999999,967708.5104399999,1687863.6809999999,479031.78755999997,609238.41438,600481.173,600481.173,600481.173,600481.173,1895048.44826,1895048.44826 +25729200.0,528431.013,429863.25599999994,1255200.7075199997,516061.14450000005,516061.14450000005,516061.14450000005,564943.68,977399.65136,1668267.4028800002,818877.84741,1247813.86272,506779.65599999996,506779.65599999996,506779.65599999996,642971.791,528431.013,528431.013,416022.14771,640850.11785,952572.27394,1661463.2685,471539.09906000004,599709.12263,555442.77,555442.77,555442.77,555442.77,1588815.91242,1588815.91242 +25732800.0,516361.326,420954.46499999997,1229187.0378,516930.1302,516930.1302,516930.1302,543560.3635,938928.9083199999,1630937.1654400004,794452.37319,1210594.0924799999,494958.99900000007,494958.99900000007,494958.99900000007,620283.0305,516361.326,516361.326,407095.48516,625449.6566999999,929680.7242799998,1621536.1469999999,460207.40171999997,585297.33306,545173.998,545173.998,545173.998,545173.998,1552526.38684,1552526.38684 +25736400.0,366693.336,285546.168,833794.8105599999,357941.12761,357941.12761,357941.12761,333962.167,475794.85063999996,951702.94336,432400.3259100001,658895.7347200001,255070.86599999998,255070.86599999998,255070.86599999998,312587.0335,366693.336,366693.336,300794.93249,281325.1986,418167.33223999996,729361.626,206999.77576000002,263264.81548,345645.126,345645.126,345645.126,345645.126,1102524.63024,1102524.63024 +25740000.0,66825.951,45716.205,133491.3186,90679.51453,90679.51453,90679.51453,77255.241,105241.54792000001,298523.90592,95295.42183,145212.07136000003,75644.886,75644.886,75644.886,68748.757,66825.951,66825.951,81394.30051999999,45616.27994999999,67804.93957999999,118264.42949999998,33564.57141999999,42687.82741,66167.38200000001,66167.38200000001,66167.38200000001,66167.38200000001,200923.35934,200923.35934 +25743600.0,58215.88799999999,42867.438,125172.91896,56944.277610000005,56944.277610000005,56944.277610000005,43394.036,82601.3396,287333.82592000003,76825.76265,117067.8288,69525.891,69525.891,69525.891,56539.217,58215.88799999999,58215.88799999999,76691.39036,33539.2812,49853.450079999995,86953.692,24678.28592,31386.14216,57873.426,57873.426,57873.426,57873.426,175035.76992,175035.76992 +25747200.0,53110.53600000001,45070.038,131604.51095999999,34882.211760000006,34882.211760000006,34882.211760000006,22508.713499999998,68950.62576,282684.27968,65424.27717,99694.13664,66250.63200000001,66250.63200000001,66250.63200000001,49270.3925,53110.53600000001,53110.53600000001,74169.3342,26192.4192,38932.92928,67906.272,19272.44672,24510.93056,52921.413,52921.413,52921.413,52921.413,159685.67824,159685.67824 +25750800.0,52343.478,46791.246,136630.43832,29717.07244,29717.07244,29717.07244,17822.007,66907.03456,284750.73984,63314.14194,96478.69248,66395.052,66395.052,66395.052,48098.701,52343.478,52343.478,84923.44561999998,24723.054900000003,36748.83716,64096.80900000001,18191.28484,23135.89582,52229.844,52229.844,52229.844,52229.844,157379.39052000002,157379.39052000002 +25754400.0,50235.65699999999,47828.844,139660.22447999998,24090.203830000002,24090.203830000002,24090.203830000002,12575.899,71124.32048,274508.2208,58900.46862,89753.09504,63126.198000000004,63126.198000000004,63126.198000000004,45596.9255,50235.65699999999,50235.65699999999,92239.94623999998,22345.37685,33214.60954,57932.45850000001,16441.783460000002,20910.85883,49701.972,49701.972,49701.972,49701.972,151041.87537999998,151041.87537999998 +25758000.0,50306.259000000005,48397.638,141321.10296,23701.77117,23701.77117,23701.77117,12245.0055,80268.60416,267724.83456,57695.9922,87917.70240000001,61247.55600000001,61247.55600000001,61247.55600000001,44945.1765,50306.259000000005,50306.259000000005,90083.11819,21824.409149999996,32440.232859999993,56581.801499999994,16058.454139999998,20423.335969999996,48636.147,48636.147,48636.147,48636.147,151254.15206,151254.15206 +25761600.0,54597.573,50028.621,146083.57332,25652.74602,25652.74602,25652.74602,13894.034,83907.26288,269523.12448000006,60545.532810000004,92259.85952000001,61917.519,61917.519,61917.519,45717.511,54597.573,54597.573,92409.12355999999,26921.313899999997,40016.37275999999,69795.999,19808.769239999998,25193.03202,49179.03599999999,49179.03599999999,49179.03599999999,49179.03599999999,164156.70281999998,164156.70281999998 +25765200.0,59160.444,52952.781,154622.12052,35574.758890000005,35574.758890000005,35574.758890000005,22175.048,95806.95200000002,277499.4048,67919.00115,103495.62079999999,65200.485,65200.485,65200.485,49490.9345,59160.444,59160.444,100933.70859,31304.961000000003,46532.3124,81161.01000000001,23034.267600000003,29295.259800000003,51926.600999999995,51926.600999999995,51926.600999999995,51926.600999999995,177875.73496,177875.73496 +25768800.0,549612.774,476070.24000000005,1390125.1008000001,487884.6443900001,487884.6443900001,487884.6443900001,568167.8905000001,871098.6982399998,609891.456,611107.2926700001,931211.1126400001,273004.45499999996,273004.45499999996,273004.45499999996,839644.6869999999,549612.774,549612.774,1029073.7616899998,264787.6473,393585.58932,686486.493,194831.40468,247788.93414000003,651419.241,651419.241,651419.241,651419.241,1652502.40716,1652502.40716 +25772400.0,1121512.833,1049398.062,3064242.34104,1354131.57627,1354131.57627,1354131.57627,1042105.8025,1618766.20496,1862799.25696,1551387.4557300003,2364018.9801600003,681063.3119999999,681063.3119999999,681063.3119999999,814546.761,1121512.833,1121512.833,769127.1144699998,867144.13515,1288940.17126,2248151.4615,638046.79574,811475.62277,1167594.924,1167594.924,1167594.924,1167594.924,3372015.25122,3372015.25122 +25776000.0,1274392.761,1066073.6609999998,3112935.09012,1102978.0382500002,1102978.0382500002,1102978.0382500002,906868.655,1893489.622,4425483.91168,1636189.3982699998,2493240.9878399996,1353831.504,1353831.504,1353831.504,1086920.254,1274392.761,1274392.761,709728.98243,1597485.6449999998,2374534.2179999994,4141629.4499999997,1175433.882,1494931.011,1001896.6560000001,1001896.6560000001,1001896.6560000001,1001896.6560000001,3831674.2347399998,3831674.2347399998 +25779600.0,621925.485,349563.24,1020724.6608,521454.96491000004,521454.96491000004,521454.96491000004,1064447.7655,1504661.83216,2347829.73312,1246572.93222,1899539.7062400002,917209.2689999999,917209.2689999999,917209.2689999999,1160239.3775,621925.485,621925.485,650992.9613199999,1228044.72195,1825389.93238,3183819.6495,903598.3386199999,1149207.28301,752938.878,752938.878,752938.878,752938.878,1869922.6249,1869922.6249 +25783200.0,269502.024,197637.744,577102.2124800001,406440.96515000006,406440.96515000006,406440.96515000006,535668.112,886346.19656,1225269.2608,659099.10969,1004341.50048,204032.193,204032.193,204032.193,442415.078,269502.024,269502.024,67676.22381,472335.15825,702088.3093,1224572.6325,347545.3757,442012.40735,279917.043,279917.043,279917.043,279917.043,810302.75216,810302.75216 +25786800.0,69241.659,22160.391,64708.34172,103535.28108000002,103535.28108000002,103535.28108000002,87585.0815,182241.47488,72347.09312,110587.66551000002,168514.53792000003,35530.191000000006,35530.191000000006,35530.191000000006,38237.47549999999,69241.659,69241.659,11817.75153,35432.712900000006,52667.884360000004,91862.589,26071.477640000005,33158.020220000006,54678.56999999999,54678.56999999999,54678.56999999999,54678.56999999999,208186.58805999998,208186.58805999998 +25790400.0,168481.968,91664.745,267661.05539999995,91227.22257000001,91227.22257000001,91227.22257000001,124855.5385,290758.56784,264374.25152,193253.91729,294482.15968000004,134912.562,134912.562,134912.562,83021.1865,168481.968,168481.968,75443.30599,81655.59375,121374.48749999999,211699.6875,60082.3875,76413.50625,109704.177,109704.177,109704.177,109704.177,506569.11712,506569.11712 +25794000.0,33169.533,8218.221000000001,23997.20532,66561.28875,66561.28875,66561.28875,57965.20799999999,61992.055519999994,24442.07232,46773.053459999996,71273.22432,10916.85,10916.85,10916.85,20705.7725,33169.533,33169.533,7774.446289999999,20595.0843,30612.94012,53394.663,15153.91388,19272.93074,23675.988,23675.988,23675.988,23675.988,99729.72922,99729.72922 +25797600.0,46147.914000000004,14893.635,43489.4142,58561.51246000001,58561.51246000001,58561.51246000001,51578.7405,70205.04024,35612.3072,53778.340560000004,81947.94752,13846.118999999999,13846.118999999999,13846.118999999999,18141.3155,46147.914000000004,46147.914000000004,6694.66382,18714.17115,27817.113659999995,48518.22149999999,13769.933339999998,17512.767569999996,27189.437999999995,27189.437999999995,27189.437999999995,27189.437999999995,138751.39476,138751.39476 +25801200.0,46719.090000000004,15393.99,44950.4508,45943.39321,45943.39321,45943.39321,40688.081,64913.3228,49762.14976,48799.37853,74360.95776,19499.922,19499.922,19499.922,14454.1285,46719.090000000004,46719.090000000004,5182.962589999999,15319.084499999999,22770.589799999998,39716.145,11271.8202,14335.6371,25233.339,25233.339,25233.339,25233.339,140468.7306,140468.7306 +25804800.0,222115.2,125173.896,365507.77631999995,60875.673760000005,60875.673760000005,60875.673760000005,113094.64249999999,354522.23991999996,361932.37184000004,222863.62854,339601.71968000004,183538.71,183538.71,183538.71,81735.927,222115.2,222115.2,94201.14196999998,95445.2079,141871.64236,247450.53900000002,70228.81964,89317.86122,140552.06699999998,140552.06699999998,140552.06699999998,140552.06699999998,667826.368,667826.368 +25808400.0,319808.958,195303.429,570286.01268,98915.89213000001,98915.89213000001,98915.89213000001,226851.5445,597361.2776,556166.8864000001,401973.29654999997,612530.7376,302435.871,302435.871,302435.871,210263.8265,319808.958,319808.958,171458.56831999996,222420.36644999997,330610.0261799999,576645.3944999999,163657.45481999998,208141.52810999998,279742.539,279742.539,279742.539,279742.539,961558.9337199999,961558.9337199999 +25812000.0,362320.185,262597.293,766784.0955599999,187497.48853000003,187497.48853000003,187497.48853000003,371031.059,683165.1856,921952.976,519444.40275,791534.3280000001,345115.512,345115.512,345115.512,294861.504,362320.185,362320.185,305949.54013,358490.7072,532867.66848,929420.3520000001,263778.34752,335476.48896,324426.894,324426.894,324426.894,324426.894,1089376.0229,1089376.0229 +25815600.0,390991.983,289631.376,845723.61792,250343.69756,250343.69756,250343.69756,393000.006,705151.05112,1143237.62944,584284.5687000001,890338.3904,364145.88,364145.88,364145.88,387687.951,390991.983,390991.983,307521.24610999995,427373.59725,635256.5569,1108005.6225,314462.5481,399937.26755,352795.263,352795.263,352795.263,352795.263,1175582.56222,1175582.56222 +25819200.0,366313.473,262955.817,767830.98564,236199.19807,236199.19807,236199.19807,307716.7765,557695.8574399999,775583.8790400001,471905.34510000004,719093.8592000001,262647.77100000007,262647.77100000007,262647.77100000007,298213.1635,366313.473,366313.473,297851.09705,329204.69145,489336.35617999994,853493.6444999999,242229.62482,308070.56311,339287.559,339287.559,339287.559,339287.559,1101382.5088199999,1101382.5088199999 +25822800.0,175769.40600000002,110730.59999999999,323333.35199999996,162445.79197,162445.79197,162445.79197,165644.15699999998,269946.97448,317510.5939200001,220168.92807,335495.50944,104077.692,104077.692,104077.692,163765.861,175769.40600000002,175769.40600000002,215611.14561999997,85167.7335,126595.0014,220805.235,62666.6286,79700.1753,190868.70899999997,190868.70899999997,190868.70899999997,190868.70899999997,528480.01404,528480.01404 +25826400.0,60851.667,46306.566000000006,135215.17272,76200.15172,76200.15172,76200.15172,70041.4365,88428.63759999999,256674.29056,85739.41656,130650.53952,50017.763999999996,50017.763999999996,50017.763999999996,60804.8315,60851.667,60851.667,88279.57983,41159.1699,61179.803159999996,106708.959,30285.01884,38516.85282,54656.715,54656.715,54656.715,54656.715,182960.67878,182960.67878 +25830000.0,58761.579,51682.989,150914.32788,38477.61313,38477.61313,38477.61313,36834.161,85992.65096,287559.9232000001,74405.40135,113379.65920000001,65449.99799999999,65449.99799999999,65449.99799999999,56102.5955,58761.579,58761.579,101237.93627999998,32322.9447,48045.46348,83800.227,23783.30252,30247.891460000003,52762.48500000001,52762.48500000001,52762.48500000001,52762.48500000001,176676.48085999998,176676.48085999998 +25833600.0,59804.570999999996,56536.767,165087.35964,20945.6852,20945.6852,20945.6852,17402.6475,93427.34472,321226.08128000004,70126.30631999999,106859.13343999999,77827.701,77827.701,77827.701,55409.529,59804.570999999996,59804.570999999996,115653.73234999998,27784.113749999997,41298.8555,72032.8875,20443.619499999997,26000.44225,54347.924999999996,54347.924999999996,54347.924999999996,54347.924999999996,179812.41014,179812.41014 +25837200.0,62070.51000000001,59542.335,173863.6182,24950.4838,24950.4838,24950.4838,19799.052,96354.00232000001,340941.20704,75116.30489999999,114462.9408,83746.326,83746.326,83746.326,57516.46600000001,62070.51000000001,62070.51000000001,122702.39773999999,28294.7823,42057.923319999994,73356.843,20819.37068,26478.32714,59234.37300000001,59234.37300000001,59234.37300000001,59234.37300000001,186625.3334,186625.3334 +25840800.0,63001.428,61325.187,179069.54604,20582.09175,20582.09175,20582.09175,15523.585,114719.79199999999,352747.59552000003,90536.73195,137960.73440000002,86343.297,86343.297,86343.297,58883.5135,63001.428,63001.428,126262.94732999998,27751.8798,41250.942319999995,71949.318,20419.90168,25970.27764,64195.25099999999,64195.25099999999,64195.25099999999,64195.25099999999,189424.29351999998,189424.29351999998 +25844400.0,67490.856,63322.71,184902.3132,26552.04101,26552.04101,26552.04101,15619.117499999998,116632.37447999998,354035.7113600001,99047.8923,150930.1216,86715.855,86715.855,86715.855,59735.53599999999,67490.856,67490.856,126907.69896999998,34687.5372,51560.24048,89930.652,25523.17552,32460.682960000002,65662.67099999999,65662.67099999999,65662.67099999999,65662.67099999999,202922.50704,202922.50704 +25848000.0,72702.849,70224.696,205056.11232,32584.493260000003,32584.493260000003,32584.493260000003,17606.074500000002,120401.53384,362871.41376,106093.48092,161666.25664,89101.13999999998,89101.13999999998,89101.13999999998,61950.45850000001,72702.849,72702.849,134348.84592999998,36409.742999999995,54120.161199999995,94395.62999999999,26790.3788,34072.3274,67518.99600000001,67518.99600000001,67518.99600000001,67518.99600000001,218593.23265999998,218593.23265999998 +25851600.0,77455.758,76724.09999999999,224034.37199999997,43389.19145,43389.19145,43389.19145,26322.275,130598.03951999999,379582.22336,117150.37005,178514.84960000002,94383.45000000001,94383.45000000001,94383.45000000001,67230.709,77455.758,77455.758,149078.49930999998,40681.549349999994,60469.858539999994,105470.6835,29933.58446,38069.894329999996,72044.973,72044.973,72044.973,72044.973,232883.64571999997,232883.64571999997 +25855200.0,97949.84399999998,84130.512,245661.09504000001,134712.93814,134712.93814,134712.93814,109045.3035,183747.67512,406306.82176,169919.13918,258924.40256,109016.24699999999,109016.24699999999,109016.24699999999,96837.8285,97949.84399999998,97949.84399999998,161618.08753999998,70180.5708,104317.78671999999,181949.628,51639.03728,65675.15144,95476.707,95476.707,95476.707,95476.707,294502.53095999995,294502.53095999995 +25858800.0,673598.6129999999,624356.373,1823120.60916,629756.3502999999,629756.3502999999,629756.3502999999,754574.5269999999,1082653.14208,807532.0089600001,819980.72478,1249494.4377600001,368166.798,368166.798,368166.798,1077652.947,673598.6129999999,673598.6129999999,1201655.4553899998,345343.52024999994,513325.4300999999,895335.0524999999,254104.61489999996,323173.31895,814498.119,814498.119,814498.119,814498.119,2025286.4964199997,2025286.4964199997 +25862400.0,1293887.901,1276716.9209999999,3728013.4093199996,1486750.18195,1486750.18195,1486750.18195,1213143.9985,1921213.86568,2251481.5232,1884843.36726,2872142.27392,846118.5179999999,846118.5179999999,846118.5179999999,963216.4814999999,1293887.901,1293887.901,794076.4882699999,1016095.7357999999,1510344.7727199998,2634322.278,747645.75128,950864.8984399999,1409405.625,1409405.625,1409405.625,1409405.625,3890289.62234,3890289.62234 +25866000.0,1242694.3530000001,950839.506,2776451.35752,928929.68157,928929.68157,928929.68157,852867.7744999999,1979341.42384,4570074.792320001,1536724.40649,2341675.28608,1376947.068,1376947.068,1376947.068,1075748.2925,1242694.3530000001,1242694.3530000001,531612.13313,1657287.6534000002,2463425.10456,4296671.694,1219436.3474400002,1550893.8781200002,900954.342,900954.342,900954.342,900954.342,3736367.68802,3736367.68802 +25869600.0,804957.0569999999,459975.11699999997,1343127.3416399998,524784.40806,524784.40806,524784.40806,1261310.1095,1829234.9694400001,3020337.8412800003,1536917.61132,2341969.69344,1182816.942,1182816.942,1182816.942,1398997.761,804957.0569999999,804957.0569999999,796647.22163,1450905.6312,2156654.7900799997,3761607.192,1067579.94592,1357761.07216,953458.584,953458.584,953458.584,953458.584,2420237.5513799996,2420237.5513799996 +25873200.0,493266.13499999995,347691.801,1015260.0589199999,488713.15801,488713.15801,488713.15801,756984.7215000001,1383642.6716,2090484.70144,951258.07686,1449536.11712,444460.809,444460.809,444460.809,740177.403,493266.13499999995,493266.13499999995,208816.73682999998,743591.80575,1105289.5483,1927830.6075000002,547136.6867000001,695855.0478500001,511276.81200000003,511276.81200000003,511276.81200000003,511276.81200000003,1483086.8458999998,1483086.8458999998 +25876800.0,405470.82,313758.708,916175.42736,207118.93818,207118.93818,207118.93818,365115.7195,970584.6108000001,1193645.8662400001,683308.71189,1041232.32288,398361.456,398361.456,398361.456,465228.8935,405470.82,405470.82,307076.76844,430752.4839,640279.00076,1116765.699,316948.74124,403099.23802000005,426636.69299999997,426636.69299999997,426636.69299999997,426636.69299999997,1219115.5988,1219115.5988 +25880400.0,230783.54700000002,156011.34,455553.1128,91120.52345000001,91120.52345000001,91120.52345000001,185190.6945,451146.15536000003,566808.9625600001,318491.67798,485320.65216,220076.724,220076.724,220076.724,200435.97699999998,230783.54700000002,230783.54700000002,133702.25686999998,185954.19074999998,276405.9823,482103.45749999996,136825.5527,174016.39085,198532.626,198532.626,198532.626,198532.626,693889.1979799999,693889.1979799999 +25884000.0,136731.549,70228.791,205068.06972,64562.003000000004,64562.003000000004,64562.003000000004,88180.071,252453.45304,237927.66976000002,156377.94438,238290.20096,116032.329,116032.329,116032.329,72726.136,136731.549,136731.549,55642.66201,64448.735400000005,95797.87336,167089.314,47421.538640000006,60311.28572000001,98795.262,98795.262,98795.262,98795.262,411106.19065999996,411106.19065999996 +25887600.0,134970.699,69866.583,204010.42236,51924.22565,51924.22565,51924.22565,76035.97750000001,249648.71128000002,240450.53504000002,150011.53104,228588.99968,116151.33299999998,116151.33299999998,116151.33299999998,69663.573,134970.699,134970.699,54817.87206999999,59430.54645,88338.73818,154079.1945,43729.14282,55615.25211,96523.24799999999,96523.24799999999,96523.24799999999,96523.24799999999,405811.90166,405811.90166 +25891200.0,485337.90299999993,392985.633,1147518.04836,155181.16757000002,155181.16757000002,155181.16757000002,438178.90900000004,948994.63888,1529446.0665600002,719345.09073,1096144.90016,496407.20699999994,496407.20699999994,496407.20699999994,561902.901,485337.90299999993,485337.90299999993,376379.14262,538936.2864,801085.5417599999,1397242.224,396550.65024,504337.90752,487978.80299999996,487978.80299999996,487978.80299999996,487978.80299999996,1459249.2950199998,1459249.2950199998 +25894800.0,608399.313,500620.88100000005,1461812.97252,396244.2354200001,396244.2354200001,396244.2354200001,617518.8495,1175853.88896,2078148.0652800004,952607.83002,1451592.88384,618504.573,618504.573,618504.573,772398.7075,608399.313,608399.313,552921.5490499999,763776.14715,1135291.95206,1980160.3815000001,561988.37494,714743.6043700001,658098.831,658098.831,658098.831,658098.831,1829253.9344199998,1829253.9344199998 +25898400.0,647571.99,541096.986,1580003.19912,581011.3441000001,581011.3441000001,581011.3441000001,712916.9915,1248247.48088,2168286.1344000003,1035276.70449,1577564.50208,652694.889,652694.889,652694.889,830025.5495,647571.99,647571.99,580834.63321,811352.0155499999,1206009.6626199998,2103505.2254999997,596994.81638,759265.2194899999,697343.751,697343.751,697343.751,697343.751,1947033.1165999998,1947033.1165999998 +25902000.0,657339.7860000001,555344.4450000001,1621605.7793999999,658370.16784,658370.16784,658370.16784,732448.857,1269431.59032,2209724.736,1059640.00212,1614689.52704,663603.3300000001,663603.3300000001,663603.3300000001,847420.3325,657339.7860000001,657339.7860000001,589866.6251399999,825562.6029,1227132.56036,2140347.489,607451.00164,772563.52222,723249.48,723249.48,723249.48,723249.48,1976401.62324,1976401.62324 +25905600.0,663121.899,562422.447,1642273.54524,690638.3244200001,690638.3244200001,690638.3244200001,739029.9700000001,1278465.53888,2241808.18048,1069212.9558599999,1629276.88512,673807.1129999999,673807.1129999999,673807.1129999999,856529.4885,663121.899,663121.899,610109.0099,832716.36495,1237766.0535799998,2158894.2794999997,612714.7574199999,779258.03041,733493.952,733493.952,733493.952,733493.952,1993786.5096599997,1993786.5096599997 +25909200.0,642153.045,547460.466,1598584.56072,592393.0584,592393.0584,592393.0584,584006.7345,1082833.32944,1662144.53056,902868.0746400001,1375798.9708800002,537900.0090000001,537900.0090000001,537900.0090000001,702011.765,642153.045,642153.045,620465.15635,680884.8093,1012080.63012,1765256.9130000002,500996.72388,637173.68574,663832.149,663832.149,663832.149,663832.149,1930740.1553,1930740.1553 +25912800.0,278462.604,210538.146,614771.3863199999,293079.45865,293079.45865,293079.45865,244364.0395,480889.32207999995,620199.9404800001,391057.42893000005,595897.0345600001,224408.013,224408.013,224408.013,303739.58999999997,278462.604,278462.604,403328.82226,135738.98595,201765.10997999998,351915.8895,99877.08102,127024.87821,342344.412,342344.412,342344.412,342344.412,837244.22936,837244.22936 +25916400.0,96575.33699999998,86591.511,252847.21211999998,80874.40834000001,80874.40834000001,80874.40834000001,53064.28399999999,164270.59768,499052.30464000005,162281.49881999998,247286.09343999997,130061.20799999998,130061.20799999998,130061.20799999998,92984.97249999999,96575.33699999998,96575.33699999998,181833.93071999997,59903.84969999999,89042.26547999999,155306.27699999997,44077.400519999996,56058.170459999994,106483.97399999999,106483.97399999999,106483.97399999999,106483.97399999999,290369.84657999995,290369.84657999995 +25920000.0,99506.85,87355.08299999998,255076.84235999998,58751.63437,58751.63437,58751.63437,32903.101,173736.7004,507278.32448,155627.71980000002,237147.00160000002,130975.24799999999,130975.24799999999,130975.24799999999,90160.3675,99506.85,99506.85,184626.38583999994,57021.4404,84757.79535999999,147833.364,41956.51664,53360.80472,105136.19999999998,105136.19999999998,105136.19999999998,105136.19999999998,299183.929,299183.929 +25923600.0,105421.81499999999,98494.65299999999,287604.38675999996,56186.13022000001,56186.13022000001,56186.13022000001,29420.489000000005,250567.02208,533031.82848,162641.14545000004,247834.12640000004,140714.80800000002,140714.80800000002,140714.80800000002,94479.34999999999,105421.81499999999,105421.81499999999,194000.70547000002,62669.87009999999,93153.73284,162477.441,46112.64516,58646.61918,110292.804,110292.804,110292.804,110292.804,316968.25709999993,316968.25709999993 +25927200.0,117528.50399999999,111116.745,324460.8954,54946.72161,54946.72161,54946.72161,28975.758,266341.21832,627467.13856,178220.03996999998,271573.39424,145141.95299999998,145141.95299999998,145141.95299999998,95601.7755,117528.50399999999,117528.50399999999,213093.17796,71378.05455,106097.75021999999,185054.2155,52520.148779999996,66795.75968999999,112918.08300000001,112918.08300000001,112918.08300000001,112918.08300000001,353369.03536,353369.03536 +25930800.0,122187.87299999999,115287.15000000001,336638.478,62969.643990000004,62969.643990000004,62969.643990000004,34802.8695,270889.87752000004,653695.88096,202224.07737,308150.97504,176190.483,176190.483,176190.483,96665.9925,122187.87299999999,122187.87299999999,227970.36847,73301.7195,108957.1238,190041.49500000002,53935.586200000005,68595.93010000001,119617.005,119617.005,119617.005,119617.005,367378.20482,367378.20482 +25934400.0,130028.046,115952.262,338580.60504,68572.95544,68572.95544,68572.95544,42468.3805,277100.15103999997,658303.7568000001,230518.88391000003,351266.87072000006,232710.51,232710.51,232710.51,104337.0965,130028.046,130028.046,229203.4264,82279.0143,122301.15212,213315.96300000002,60541.10188,76996.90474,142408.719,142408.719,142408.719,142408.719,390950.99163999996,390950.99163999996 +25938000.0,150869.46600000001,123214.812,359787.25104,84847.04580000002,84847.04580000002,84847.04580000002,59735.004,319502.38208,686892.3929600001,247567.22381999998,377245.29344,260053.50300000003,260053.50300000003,260053.50300000003,170782.1535,150869.46600000001,150869.46600000001,236771.54773999998,96013.15964999999,142715.85705999998,248923.0065,70646.71994,89849.35187,186925.72499999998,186925.72499999998,186925.72499999998,186925.72499999998,453614.19444,453614.19444 +25941600.0,258560.41500000004,162441.891,474330.32171999995,186934.40403,186934.40403,186934.40403,138234.3305,757088.32024,714773.50272,421433.81574000005,642184.8620800001,298910.868,298910.868,298910.868,272127.8805,258560.41500000004,258560.41500000004,444041.03263,150154.56,223192.704,389289.60000000003,110484.09600000002,140515.00800000003,292321.73699999996,292321.73699999996,292321.73699999996,292321.73699999996,777404.9811,777404.9811 +25945200.0,940834.008,430115.33999999997,1255936.7928,1288106.02569,1288106.02569,1288106.02569,1036192.2375000002,2940420.2607999993,2909360.89472,2174757.70785,3313916.5072,835796.088,835796.088,835796.088,1121421.4094999998,940834.008,940834.008,2085686.1201799996,1135303.85295,1687538.07278,2943380.3595000003,835359.3782200001,1062420.1488100002,1175801.2319999998,1175801.2319999998,1175801.2319999998,1175801.2319999998,2828774.25072,2828774.25072 +25948800.0,759395.304,1011306.177,2953014.03684,1158392.5412400002,1158392.5412400002,1158392.5412400002,1502618.5089999998,3379837.3543200004,2368802.12992,2354992.86729,3588560.55968,1032055.059,1032055.059,1032055.059,1177394.7149999999,759395.304,759395.304,1871293.9103299999,1692113.0931,2515190.3260399997,4386959.871,1245060.99196,1583483.6105799999,1158271.203,1158271.203,1158271.203,1158271.203,2283248.5473599997,2283248.5473599997 +25952400.0,1450816.242,1262811.9870000002,3687411.00204,502994.47869,502994.47869,502994.47869,744690.0965000001,2599214.96704,4351813.2339200005,1966378.8629100001,2996386.8387200003,1242379.497,1242379.497,1242379.497,732138.176,1450816.242,1450816.242,708044.0153799999,842871.2418,1252860.46312,2185221.738,620186.7408799999,788760.98924,1608664.6799999997,1608664.6799999997,1608664.6799999997,1608664.6799999997,4362120.83428,4362120.83428 +25956000.0,787146.7050000001,479251.143,1399413.33756,285097.83049,285097.83049,285097.83049,200216.205,830750.5120000001,4713774.13312,299564.94140999997,456479.91072,769251.0149999999,769251.0149999999,769251.0149999999,749256.9,787146.7050000001,787146.7050000001,396218.72835999995,1371935.3332500001,2039271.7793,3556869.3825000003,1009473.4057000001,1283860.4723500002,314394.555,314394.555,314394.555,314394.555,2366687.7597000003,2366687.7597000003 +25959600.0,228666.399,60653.088,177107.01696,113507.19622,113507.19622,113507.19622,89984.804,268226.47544,680060.55808,112533.83672999998,171480.13215999998,82776.405,82776.405,82776.405,60094.76199999999,228666.399,228666.399,126165.21294,55388.974500000004,82331.2658,143601.045,40755.3442,51833.1391,82774.092,82774.092,82774.092,82774.092,687523.63966,687523.63966 +25963200.0,323960.67,736403.19,2150297.3148,154557.57031,154557.57031,154557.57031,378488.775,761961.7009599999,994111.1488,473970.14112000004,722240.21504,229760.013,229760.013,229760.013,555274.3595,323960.67,323960.67,268512.24711999996,225390.2679,335024.54636,584345.1390000001,165842.71564,210920.76922000002,261706.134,261706.134,261706.134,261706.134,974041.7477999999,974041.7477999999 +25966800.0,204794.124,127670.16,372796.8672,133060.51814,133060.51814,133060.51814,248822.93450000003,417603.96936,486344.976,226577.56527000002,345261.05184000003,163771.302,163771.302,163771.302,120771.22400000002,204794.124,204794.124,182524.84393,135591.16905,201545.39201999997,351532.6605,99768.31698,126886.55079,149138.157,149138.157,149138.157,149138.157,615747.6661599999,615747.6661599999 +25970400.0,189490.647,132085.758,385690.41336,68226.63914,68226.63914,68226.63914,96610.6085,411711.53199999995,509251.54304,207328.44069,315929.05248,169561.482,169561.482,169561.482,108831.2505,189490.647,189490.647,194904.68725,123958.66185,184254.60353999998,321374.3085,91209.08946,116000.82183,153186.072,153186.072,153186.072,153186.072,569735.21198,569735.21198 +25974000.0,196692.624,128422.977,374995.09284,378627.60672,378627.60672,378627.60672,287377.01649999997,399209.48192,89981.69088000001,406765.90269,619833.7564800001,112355.658,112355.658,112355.658,423665.63399999996,196692.624,196692.624,438385.29994999996,248096.6496,368775.76064,643213.536,182550.12736,232169.45728,63934.047000000006,63934.047000000006,63934.047000000006,63934.047000000006,591389.15616,591389.15616 +25977600.0,460209.414,769843.2509999999,2247942.29292,389649.08125000005,389649.08125000005,389649.08125000005,555788.506,1476265.00152,1520890.51328,693296.4129,1056451.6768,530166.7949999999,530166.7949999999,530166.7949999999,932098.888,460209.414,460209.414,930655.8755,594470.3521499999,883632.4740599998,1541219.4315,437412.75294,556306.82337,548033.355,548033.355,548033.355,548033.355,1383696.30476,1383696.30476 +25981200.0,579664.9890000001,575191.59,1679559.4427999998,473811.7769,473811.7769,473811.7769,596834.4235,1374951.27992,2236287.2332800003,950871.39672,1448946.8902399999,619058.9010000001,619058.9010000001,619058.9010000001,770881.5065,579664.9890000001,579664.9890000001,686570.39568,718162.09875,1067490.3295,1861901.7375,528425.4455,672057.86525,624118.98,624118.98,624118.98,624118.98,1742859.40026,1742859.40026 +25984800.0,1781235.108,1433046.066,4184494.51272,2037065.1871900002,2037065.1871900002,2037065.1871900002,2499379.7675,2990613.5716,4980006.67776,3067445.9489100003,4674203.35072,1987850.7449999996,1987850.7449999996,1987850.7449999996,2144714.9744999995,1781235.108,1781235.108,1371159.8794399998,2161288.6074,3212582.07816,5603340.834000001,1590281.4938400001,2022539.2153200002,1901289.2970000003,1901289.2970000003,1901289.2970000003,1901289.2970000003,5355580.224719999,5355580.224719999 +25988400.0,1025946.4110000001,678239.256,1980458.62752,827618.23628,827618.23628,827618.23628,941528.6089999999,1719705.05696,2770685.65504,1430584.0938900001,2179937.6668800004,929228.2409999999,929228.2409999999,929228.2409999999,1134175.7665,1025946.4110000001,1025946.4110000001,636193.26472,1071188.388,1592235.5792,2777155.08,788183.0608000001,1002420.7384,980688.765,980688.765,980688.765,980688.765,3084678.87574,3084678.87574 +25992000.0,824762.6880000001,689120.61,2012232.1812,876194.7037800001,876194.7037800001,876194.7037800001,886208.47,1575111.5392,2843129.18848,1300548.34161,1981787.9491200002,844133.79,844133.79,844133.79,1106855.8445000001,824762.6880000001,824762.6880000001,735156.7684500001,1055249.4267,1568543.5922799997,2735831.847,776455.1337199999,987505.01906,918252.1379999999,918252.1379999999,918252.1379999999,918252.1379999999,2479786.48192,2479786.48192 +25995600.0,826194.5700000001,698373.759,2039251.37628,869780.88032,869780.88032,869780.88032,891325.1865000001,1570554.3010399998,2883867.0528,1304665.12449,1988061.1420800004,860012.3069999999,860012.3069999999,860012.3069999999,1115554.5274999999,826194.5700000001,826194.5700000001,746739.73426,1077585.6627000002,1601744.61468,2793740.6070000003,792890.1913200001,1008407.3238600001,936040.8330000001,936040.8330000001,936040.8330000001,936040.8330000001,2484091.6738,2484091.6738 +25999200.0,582149.733,505417.2480000001,1475818.36416,565496.68725,565496.68725,565496.68725,505033.403,800954.0260800001,1787249.9187200004,724653.6471299999,1104234.12896,461309.83499999996,461309.83499999996,461309.83499999996,556406.508,582149.733,582149.733,538849.23508,502177.8546,746447.08264,1301942.5860000001,369503.70536,469939.27628000005,590942.256,590942.256,590942.256,590942.256,1750330.1972199997,1750330.1972199997 +26002800.0,101466.693,97383.97799999999,284361.21576,93731.53020000001,93731.53020000001,93731.53020000001,57178.8805,167115.48359999998,667614.67584,135474.24051,206436.93792,146069.244,146069.244,146069.244,104859.503,101466.693,101466.693,192989.21057,72075.27825,107134.1173,186861.83250000002,53033.167700000005,67448.22335,113225.715,113225.715,113225.715,113225.715,305076.52362,305076.52362 +26006400.0,100141.00799999999,98043.801,286287.89892,76741.38846,76741.38846,76741.38846,36902.845,178348.15712,679367.91552,140914.35162,214726.63104,147043.05,147043.05,147043.05,100539.65599999999,100141.00799999999,100141.00799999999,208149.41185999996,67420.6011,100215.31324,174794.151,49608.24476,63092.364980000006,112041.465,112041.465,112041.465,112041.465,301090.63071999996,301090.63071999996 +26010000.0,99294.102,100344.59399999998,293006.21447999997,71250.54332000001,71250.54332000001,71250.54332000001,31796.901500000007,189123.62287999998,667631.6704,161234.65428,245690.90175999998,144197.478,144197.478,144197.478,99802.36349999999,99294.102,99294.102,207983.49572,65478.24135,97328.15134,169758.40350000001,48179.051660000005,61274.69993,114742.185,114742.185,114742.185,114742.185,298544.26668,298544.26668 +26013600.0,112110.558,116482.659,340129.36428,66695.68015,66695.68015,66695.68015,30877.5915,192207.55752000003,669986.2656,179067.16401,272864.24992000003,144003.21899999998,144003.21899999998,144003.21899999998,98545.517,112110.558,112110.558,228327.51578,76061.80260000001,113059.76584000001,197197.26600000003,55966.46216000001,71178.82268000001,119302.85399999999,119302.85399999999,119302.85399999999,119302.85399999999,337079.07772,337079.07772 +26017200.0,116750.49,119424.85800000001,348720.58535999997,68494.83586,68494.83586,68494.83586,37254.9065,204341.21456,679345.4809600001,201835.78884,307559.29728,145682.394,145682.394,145682.394,99684.17199999999,116750.49,116750.49,235161.59745,81467.8155,121095.37019999998,211212.85499999998,59944.21979999999,76237.78289999999,127213.68900000001,127213.68900000001,127213.68900000001,127213.68900000001,351029.8066,351029.8066 +26020800.0,134092.94400000002,128607.04199999999,375532.56263999996,77283.58979,77283.58979,77283.58979,49496.909,258399.13367999997,715994.7718400002,232787.39966999998,354723.65664,219092.691,219092.691,219092.691,147394.22950000002,134092.94400000002,134092.94400000002,245245.69991999996,93494.75624999999,138972.45249999998,242393.8125,68793.6725,87492.62375,182368.977,182368.977,182368.977,182368.977,403172.78496,403172.78496 +26024400.0,169889.025,145826.23500000002,425812.60620000004,95817.69824,95817.69824,95817.69824,68739.153,367400.61376000004,746446.5209600001,273904.42653,417378.17376000003,270740.16000000003,270740.16000000003,270740.16000000003,195586.46099999998,169889.025,169889.025,267002.01294,114387.81524999999,170028.3081,296561.0025,84166.8369,107044.39994999999,229298.487,229298.487,229298.487,229298.487,510799.6684999999,510799.6684999999 +26028000.0,318699.714,195456.37500000003,570732.6150000001,206149.70431,206149.70431,206149.70431,151454.75449999998,899441.3570399999,839765.20576,503025.41667,766514.92064,365698.26599999995,365698.26599999995,365698.26599999995,322515.27,318699.714,318699.714,505248.39807,180287.85194999998,267983.42438,467412.9495,132656.24662,168713.81701,372917.886,372917.886,372917.886,372917.886,958223.80676,958223.80676 +26031600.0,1045363.3200000001,493516.39199999993,1441067.8646399998,1409281.3054100003,1409281.3054100003,1409281.3054100003,1163531.1415,3121008.1279999996,3283888.50944,2411825.64672,3675162.89024,961146.6510000001,961146.6510000001,961146.6510000001,1332713.193,1045363.3200000001,1045363.3200000001,2269327.76915,1274195.2900500002,1893989.0484200001,3303469.2705000006,937556.0405800001,1192395.09859,1325786.562,1325786.562,1325786.562,1325786.562,3143059.0488,3143059.0488 +26035200.0,841917.3929999999,1044486.309,3049900.02228,1256815.65405,1256815.65405,1256815.65405,1603848.0185,3626351.7551200003,2515735.6377600003,2568366.1930500004,3913700.8656000006,1117553.1779999998,1117553.1779999998,1117553.1779999998,1329057.3485,841917.3929999999,841917.3929999999,1817464.04112,1816502.9300999998,2700085.8368399995,4709452.040999999,1336587.3411599998,1699887.9271799999,1271367.1530000002,1271367.1530000002,1271367.1530000002,1271367.1530000002,2531364.9616199997,2531364.9616199997 +26038800.0,1502318.46,1375795.077,4017321.6248399997,574848.58673,574848.58673,574848.58673,897198.2635,2773618.21,4663123.239680001,2128329.99456,3243169.5155200004,1273561.395,1273561.395,1273561.395,811438.243,1502318.46,1502318.46,662338.5391999999,923098.0725,1372111.209,2393217.225,679217.841,863837.4555,1642807.926,1642807.926,1642807.926,1642807.926,4516970.836399999,4516970.836399999 +26042400.0,749401.704,418384.239,1221681.97788,292540.06562000007,292540.06562000007,292540.06562000007,201308.1875,716935.17248,4599177.421440001,216807.31086,330373.04512,734035.932,734035.932,734035.932,713820.5935,749401.704,749401.704,323856.57849999995,1415971.8539999998,2104728.5335999997,3671038.14,1041875.5864,1325069.9572,261038.03399999999,261038.03399999999,261038.03399999999,261038.03399999999,2253201.12336,2253201.12336 +26046000.0,260166.315,63841.155,186416.1726,118822.55110000001,118822.55110000001,118822.55110000001,88959.444,315927.77064,776745.15584,141715.69692,215947.72864,101637.27000000002,101637.27000000002,101637.27000000002,67980.4405,260166.315,260166.315,141224.38499,79096.76729999999,117570.99731999998,205065.693,58199.596679999995,74018.95014,105716.42099999997,105716.42099999997,105716.42099999997,105716.42099999997,782233.3870999999,782233.3870999999 +26049600.0,381931.632,765270.924,2234591.09808,163998.43999,163998.43999,163998.43999,399420.623,901779.16744,1153946.8896,541843.13652,825665.73184,280261.68,280261.68,280261.68,640580.3215,381931.632,381931.632,316768.99539999996,269624.7729,400775.58835999994,699027.189,198390.57364,252315.52821999998,316501.86000000004,316501.86000000004,316501.86000000004,316501.86000000004,1148341.1068799999,1148341.1068799999 +26053200.0,173892.77399999998,92436.807,269915.47644,141156.21619,141156.21619,141156.21619,239282.22500000003,335520.29904,302477.26272,168179.1993,256273.0656,123609.801,123609.801,123609.801,87677.63549999999,173892.77399999998,173892.77399999998,132792.55118999997,82427.61284999999,122522.03193999999,213701.2185,60650.44106,77135.96363,107636.52600000001,107636.52600000001,107636.52600000001,107636.52600000001,522837.6071599999,522837.6071599999 +26056800.0,227442.876,165274.5,482601.54,72249.81786,72249.81786,72249.81786,111144.5125,487040.41304,626863.70112,260858.81871000002,397499.15232000005,193778.94299999997,193778.94299999997,193778.94299999997,131381.2045,227442.876,227442.876,233515.91847999996,154180.017,229176.2228,399725.97,113446.03719999999,144282.0406,189703.632,189703.632,189703.632,189703.632,683844.9138399999,683844.9138399999 +26060400.0,219549.86099999998,132430.407,386696.78844,396780.73060999997,396780.73060999997,396780.73060999997,307554.80350000004,426344.39368000004,103916.56640000001,436461.62658000004,665084.3833600001,122090.57100000001,122090.57100000001,122090.57100000001,436563.3545,219549.86099999998,219549.86099999998,448207.29589999997,257138.55810000002,382215.83204,666655.5210000001,189203.18596000003,240630.89758000002,75920.76299999999,75920.76299999999,75920.76299999999,75920.76299999999,660113.24874,660113.24874 +26064000.0,475981.047,815850.75,2382284.19,391820.59312000003,391820.59312000003,391820.59312000003,575275.1410000001,1500633.5052800002,1510132.9568000003,725048.96331,1104836.5155200001,534434.418,534434.418,534434.418,941987.438,475981.047,475981.047,936985.8354999998,608558.4958500001,904573.3691400001,1577744.2485000002,447778.84386,569490.5430300001,573156.7679999999,573156.7679999999,573156.7679999999,573156.7679999999,1431116.34798,1431116.34798 +26067600.0,619247.76,612391.8870000001,1788184.3100400001,489891.96025,489891.96025,489891.96025,659353.0404999999,1494680.3144,2378621.41696,1021217.37144,1556140.7564800002,652615.134,652615.134,652615.134,832065.906,619247.76,619247.76,728958.99206,768881.14785,1142880.12594,1993395.5684999998,565744.64706,719520.87663,671159.292,671159.292,671159.292,671159.292,1861871.5984,1861871.5984 +26071200.0,1852084.2989999999,1521670.902,4443279.03384,2102018.38231,2102018.38231,2102018.38231,2587090.1805000002,3109785.32992,5257580.3712,3188007.1200600006,4857915.611520001,2062069.3739999998,2062069.3739999998,2062069.3739999998,2290281.273,1852084.2989999999,1852084.2989999999,1503495.3026599998,2297495.9636999997,3415043.383079999,5956471.016999999,1690503.2029199998,2150002.3956599995,2025360.4889999998,2025360.4889999998,2025360.4889999998,2025360.4889999998,5568600.125659999,5568600.125659999 +26074800.0,1140455.46,724374.0689999999,2115172.28148,889800.4126,889800.4126,889800.4126,1051528.9365,1877763.25536,2964330.9305600002,1558450.9878,2374782.4576,1016890.9739999999,1016890.9739999999,1016890.9739999999,1216550.9825,1140455.46,1140455.46,697508.48479,1151470.33515,1711568.2512599998,2985293.4615,847254.71574,1077548.78277,1059827.6339999998,1059827.6339999998,1059827.6339999998,1059827.6339999998,3428969.4163999995,3428969.4163999995 +26078400.0,888514.4430000001,734412.417,2144484.25764,938939.4029400002,938939.4029400002,938939.4029400002,946476.0865,1666842.16536,3005110.5632,1387059.50523,2113614.48416,887474.145,887474.145,887474.145,1176102.7005,888514.4430000001,888514.4430000001,821164.2966799999,1126476.6754499997,1674417.1817799998,2920495.0845,828864.31922,1054159.65431,981167.172,981167.172,981167.172,981167.172,2671466.75862,2671466.75862 +26082000.0,883649.2590000001,748482.813,2185569.81396,943542.4020000001,943542.4020000001,943542.4020000001,965407.1700000002,1668794.2788,3094197.98336,1395963.6488700002,2127182.70304,910051.6410000001,910051.6410000001,910051.6410000001,1192591.4245,883649.2590000001,883649.2590000001,863398.9057199999,1156787.28045,1719471.4637799999,2999078.1345,851166.93722,1082524.39331,1002122.3219999999,1002122.3219999999,1002122.3219999999,1002122.3219999999,2656838.7720600003,2656838.7720600003 +26085600.0,632438.4750000001,555797.9909999999,1622930.1337199998,623543.29587,623543.29587,623543.29587,551759.2885,873605.3430400001,2012877.2697600003,791765.5069800001,1206499.8201600001,497698.41000000003,497698.41000000003,497698.41000000003,610031.254,632438.4750000001,632438.4750000001,667653.8778,551855.41785,820288.79394,1430736.2685,406056.57906,516427.66263000004,645121.26,645121.26,645121.26,645121.26,1901531.6815,1901531.6815 +26089200.0,113504.83800000002,107567.43000000002,314096.89560000005,108842.67504,108842.67504,108842.67504,60875.969000000005,192744.98351999998,753332.58176,158831.28492,242028.62464000002,161728.323,161728.323,161728.323,115980.907,113504.83800000002,113504.83800000002,219246.85626999996,82197.39869999999,122179.83707999998,213104.367,60481.048919999994,76920.52866,126334.047,126334.047,126334.047,126334.047,341271.21292,341271.21292 +26092800.0,110930.35499999998,107262.09899999999,313205.32907999994,87113.64915000001,87113.64915000001,87113.64915000001,40406.7195,201890.11400000003,759035.4534400001,167209.54299000002,254795.49408000003,161336.847,161336.847,161336.847,111104.2135,110930.35499999998,110930.35499999998,228264.34605,76523.9481,113746.70803999998,198395.421,56306.509959999996,71611.29958,127712.33099999998,127712.33099999998,127712.33099999998,127712.33099999998,333530.60069999995,333530.60069999995 +26096400.0,121231.149,123393.41399999999,360308.76888,85198.31529,85198.31529,85198.31529,36943.30500000001,222550.2236,793029.4368,202207.31244,308125.42848,167570.80199999997,167570.80199999997,167570.80199999997,115598.26249999998,121231.149,121231.149,248169.03514,83142.2151,123584.23084,215553.89100000003,61176.247160000006,77804.69018,137614.54499999998,137614.54499999998,137614.54499999998,137614.54499999998,364501.65466,364501.65466 +26100000.0,132024.288,135511.881,395694.69252,82183.71919999999,82183.71919999999,82183.71919999999,43512.0315,232843.10095999998,784752.7161600001,222524.77505999999,339085.37152,164719.57799999998,164719.57799999998,164719.57799999998,112596.91450000001,132024.288,132024.288,266777.61681999994,94182.97275,139995.4311,244178.0775,69300.0639,88136.65845,142776.984,142776.984,142776.984,142776.984,396953.02592,396953.02592 +26103600.0,147773.268,140896.824,411418.72608,87630.88103,87630.88103,87630.88103,53230.173500000004,289389.35063999996,801743.5878400002,258404.36727,393759.03584,216439.137,216439.137,216439.137,143807.4715,147773.268,147773.268,270726.90098999994,104611.4514,155496.52776,271214.874,76973.36424000001,97895.65452000001,200554.91400000002,200554.91400000002,200554.91400000002,200554.91400000002,444304.95912,444304.95912 +26107200.0,183199.185,156932.013,458241.47796,98433.08838,98433.08838,98433.08838,68084.5235,398310.54824000003,812511.1974400001,297921.66915,453975.8768,291741.06,291741.06,291741.06,210147.4865,183199.185,183199.185,289312.55821,125171.9892,186058.11727999998,324519.972,92101.85872,117136.25656000001,252225.75,252225.75,252225.75,252225.75,550818.8829,550818.8829 +26110800.0,235895.565,175950.75300000003,513776.19876,112588.36116000001,112588.36116000001,112588.36116000001,77969.283,497565.09167999995,828057.4880000001,343167.0564,522921.22880000004,357301.11,357301.11,357301.11,229680.9655,235895.565,235895.565,318474.94847999996,144337.17645,214545.63017999998,374207.49450000003,106203.65082000001,135071.08611,310351.977,310351.977,310351.977,310351.977,709259.3320999999,709259.3320999999 +26114400.0,401414.871,225357.51899999997,658043.9554799999,221432.55838,221432.55838,221432.55838,157414.173,983472.42208,948748.05504,599475.33891,913486.23072,406498.22699999996,406498.22699999996,406498.22699999996,354018.903,401414.871,401414.871,537930.9531699999,207321.09165000002,308166.16586,537499.1265,152547.37114,194011.58947,458419.73099999997,458419.73099999997,458419.73099999997,458419.73099999997,1206920.71214,1206920.71214 +26118000.0,1154920.8360000001,572837.9700000001,1672686.8724000002,1510350.5165100002,1510350.5165100002,1510350.5165100002,1309423.5175,3288432.73448,3845701.1040000007,2668794.77466,4066734.89472,1111427.685,1111427.685,1111427.685,1566890.8184999998,1154920.8360000001,1154920.8360000001,2429202.48662,1448455.1706,2153012.37704,3755254.146,1065776.89096,1355467.9250800002,1455522.9780000001,1455522.9780000001,1455522.9780000001,1455522.9780000001,3472461.98024,3472461.98024 +26121600.0,975689.895,1139783.031,3328166.45052,1429018.82739,1429018.82739,1429018.82739,1770946.6284999996,3959080.99552,2920452.01024,2851135.96383,4344588.13536,1226313.354,1226313.354,1226313.354,1558910.2025000001,975689.895,975689.895,2059615.91537,1986443.14545,2952688.32978,5150037.7845,1461629.77122,1858918.40031,1417978.38,1417978.38,1417978.38,1417978.38,2933574.2843,2933574.2843 +26125200.0,1585982.9159999997,1610875.8480000002,4703757.47616,732694.5908700001,732694.5908700001,732694.5908700001,1190559.783,3195795.3782399995,5241978.89728,2454160.7416200005,3739673.5110400007,1359649.08,1359649.08,1359649.08,949468.5340000002,1585982.9159999997,1585982.9159999997,808398.2776999999,1144336.3209,1700964.1115599999,2966797.869,842005.4904400001,1070872.75462,1729813.332,1729813.332,1729813.332,1729813.332,4768521.967439999,4768521.967439999 +26128800.0,917467.2690000001,505892.83200000005,1477207.0694400002,349846.21914,349846.21914,349846.21914,271038.04349999997,1040781.4867199999,5092363.42592,378547.31355,576834.0016,904889.4809999999,904889.4809999999,904889.4809999999,876479.3205,917467.2690000001,917467.2690000001,413959.73033999995,1596555.4086,2373151.49624,4139217.726,1174749.41176,1494060.49348,384234.86100000003,384234.86100000003,384234.86100000003,384234.86100000003,2758518.25546,2758518.25546 +26132400.0,342721.008,113439.729,331244.00868,131524.7362,131524.7362,131524.7362,110867.0605,483614.33031999995,1343314.6822400002,231009.9645,352015.184,171550.305,171550.305,171550.305,116312.36049999998,342721.008,342721.008,214111.96962999995,205054.99919999996,304797.80127999996,531624.0719999999,150879.97471999997,191890.97455999997,177636.36000000002,177636.36000000002,177636.36000000002,177636.36000000002,1030447.83072,1030447.83072 +26136000.0,468823.43999999994,871306.5989999999,2544215.26908,210838.19372,210838.19372,210838.19372,520546.41799999995,1078001.7164,1559889.9168,733464.7698,1117660.6016,380605.806,380605.806,380605.806,713011.0365,468823.43999999994,468823.43999999994,431286.41816,389569.37444999994,579063.61338,1009994.6745,286646.10761999997,364559.98251,435104.19299999997,435104.19299999997,435104.19299999997,435104.19299999997,1409595.8095999998,1409595.8095999998 +26139600.0,225988.479,169911.67200000002,496142.08224,175206.92288000003,175206.92288000003,175206.92288000003,301523.243,431810.86144,431335.58720000007,233883.55851,356393.99392000004,156408.45,156408.45,156408.45,178561.908,225988.479,225988.479,173125.00725000002,117808.55054999999,175112.95661999998,305429.5755,86683.82238,110245.53249,149285.487,149285.487,149285.487,149285.487,679472.02686,679472.02686 +26143200.0,103535.025,36645.153,107003.84675999999,67079.22473999999,67079.22473999999,67079.22473999999,56680.0115,197981.6648,153627.15584000002,78411.21981000001,119483.76352000001,72002.895,72002.895,72002.895,37054.493,103535.025,103535.025,86221.64056999999,33972.582599999994,50497.51783999999,88077.06599999999,24997.110159999997,31791.626679999998,54616.640999999996,54616.640999999996,54616.640999999996,54616.640999999996,311295.3084999999,311295.3084999999 +26146800.0,252517.785,142141.848,415054.19616,469721.40248,469721.40248,469721.40248,363055.53900000005,489435.20432,147397.03936,489181.63203000004,745419.62976,143403.783,143403.783,143403.783,478418.066,252517.785,252517.785,465146.10050999996,288712.32975000003,429147.7099,748513.4475000001,212435.24510000003,270177.71105000004,100185.58200000001,100185.58200000001,100185.58200000001,100185.58200000001,759236.8069,759236.8069 +26150400.0,562998.888,958567.1009999999,2799015.9349199994,418376.09363,418376.09363,418376.09363,654074.9739999999,1703273.6621599998,1752448.2368000003,875946.1279799999,1334775.05216,626390.5380000001,626390.5380000001,626390.5380000001,1044057.469,562998.888,562998.888,1045944.67796,706584.7161000001,1050281.47924,1831886.3010000002,519906.7787600001,661223.7219800001,684269.4569999999,684269.4569999999,684269.4569999999,684269.4569999999,1692749.9899199998,1692749.9899199998 +26154000.0,708704.1900000001,703039.608,2052875.65536,522352.07024000003,522352.07024000003,522352.07024000003,808184.5695,1786074.30928,2707752.1772800004,1187706.06591,1809837.81472,764598.456,764598.456,764598.456,993001.9015000002,708704.1900000001,708704.1900000001,819670.0798000001,913085.0995499999,1357227.72822,2367257.6655,671850.27078,854467.29069,771694.644,771694.644,771694.644,771694.644,2130837.2646,2130837.2646 +26157600.0,1946205.867,1669447.3020000001,4874786.12184,2381152.2057399997,2381152.2057399997,2381152.2057399997,2731170.75,3257328.17616,5673423.8611200005,3375596.7707699994,5143766.507839999,2158293.801,2158293.801,2158293.801,2532717.74,1946205.867,1946205.867,1743071.82114,2512405.2123,3734488.73532,6513643.143,1848633.95868,2351115.0011400003,2200030.887,2200030.887,2200030.887,2200030.887,5851592.306779999,5851592.306779999 +26161200.0,1335087.078,828001.008,2417762.94336,1107667.28468,1107667.28468,1107667.28468,1272013.4805,2222320.21856,3478972.3168,1828410.1206,2786148.7552,1209842.2380000001,1209842.2380000001,1209842.2380000001,1436419.3165,1335087.078,1335087.078,907155.1342099999,1341989.59275,1994759.8391,3479232.2775000003,987439.2559,1255837.17445,1258829.4540000001,1258829.4540000001,1258829.4540000001,1258829.4540000001,4014161.81452,4014161.81452 +26164800.0,1027232.94,819903.0900000001,2394117.0228000004,1065937.52584,1065937.52584,1065937.52584,1058786.5435,1858202.3855999997,3435557.38496,1551261.87573,2363827.62016,994140.045,994140.045,994140.045,1320689.132,1027232.94,1027232.94,962744.8285,1280225.7927,1902952.90668,3319103.907,941993.2993200001,1198038.4578600002,1107762.234,1107762.234,1107762.234,1107762.234,3088547.0396,3088547.0396 +26168400.0,976118.811,832631.625,2431284.3449999997,1057042.98854,1057042.98854,1057042.98854,1088612.3779999998,1840002.9074400002,3531046.7494400004,1545112.87518,2354457.71456,1001149.71,1001149.71,1001149.71,1326274.04,976118.811,976118.811,977761.5090099999,1286934.8364,1912925.3617599998,3336497.7239999995,946929.8302399999,1204316.7975199998,1112049.7589999998,1112049.7589999998,1112049.7589999998,1112049.7589999998,2934863.89174,2934863.89174 +26172000.0,696472.821,618331.716,1805528.6107199998,705305.8474,705305.8474,705305.8474,608645.9994999999,975999.8033599999,2225172.27968,880083.4045499999,1341079.4736,544227.432,544227.432,544227.432,677248.7189999999,696472.821,696472.821,767259.12211,613278.5804999999,911589.3962,1589981.505,451251.89379999996,573907.6099,711452.406,711452.406,711452.406,711452.406,2094061.61514,2094061.61514 +26175600.0,125094.75899999999,116605.46399999999,340487.95488,119219.09934000002,119219.09934000002,119219.09934000002,64414.539,215421.48160000003,829979.9731200001,182368.50765,277894.8688,176250.99300000002,176250.99300000002,176250.99300000002,125404.23,125094.75899999999,125094.75899999999,247560.96936999998,92080.1034,136869.68456,238726.19400000002,67752.76744000001,86168.78812000001,141673.011,141673.011,141673.011,141673.011,376118.24205999996,376118.24205999996 +26179200.0,121960.68899999998,116054.229,338878.34868,98867.78880000001,98867.78880000001,98867.78880000001,43743.2135,224171.32584,829487.5008000002,206635.30670999998,314872.84832,173704.97400000002,173704.97400000002,173704.97400000002,120636.90449999999,121960.68899999998,121960.68899999998,246404.11146,86255.2557,128211.51587999999,223624.73700000002,63466.830120000006,80717.88126000001,143496.258,143496.258,143496.258,143496.258,366695.1382599999,366695.1382599999 +26182800.0,138761.7,138447.81900000002,404267.63148,96682.93547000001,96682.93547000001,96682.93547000001,45743.8905,250275.10967999997,856420.2336,226467.02105999997,345092.60352,178095.945,178095.945,178095.945,123409.4365,138761.7,138761.7,274095.51714999997,94886.64,141041.376,246002.4,69817.824,88795.152,152561.754,152561.754,152561.754,152561.754,417210.178,417210.178 +26186400.0,152705.073,149209.242,435690.98663999996,94790.32849000001,94790.32849000001,94790.32849000001,49929.929000000004,304295.682,875108.4288000001,270104.33709,411587.56128,183405.15899999999,183405.15899999999,183405.15899999999,124402.278,152705.073,152705.073,293444.8244,109749.6216,163134.00544,284536.05600000004,80754.04256,102703.96688,182404.683,182404.683,182404.683,182404.683,459133.25282,459133.25282 +26190000.0,188900.007,164803.26,481225.5192,105608.06289,105608.06289,105608.06289,72405.8825,396600.86488,884131.376,314029.4535,478521.07200000004,293827.971,293827.971,293827.971,204857.247,188900.007,188900.007,301991.10253,132193.1502,196494.50968,342722.982,97268.04632,123706.67636,265188.201,265188.201,265188.201,265188.201,567959.35438,567959.35438 +26193600.0,243350.718,182041.233,531560.40036,112886.47645000002,112886.47645000002,112886.47645000002,76964.16,504866.49912,889305.0988800001,354780.62717999995,540618.09856,366741.417,366741.417,366741.417,239723.701,243350.718,243350.718,330487.96676999994,149151.71519999998,221702.05567999996,386689.6319999999,109746.20031999999,139576.54335999998,308620.503,308620.503,308620.503,308620.503,731674.49212,731674.49212 +26197200.0,298041.012,221582.50799999997,647020.9233599999,132608.92315,132608.92315,132608.92315,86656.745,590281.2295199999,962816.7980800001,433022.4444,659843.7248,408876.67199999996,408876.67199999996,408876.67199999996,260077.7025,298041.012,298041.012,364371.47305,175280.02695,260539.69437999997,454429.6995,128971.47662,164027.48201,399838.88700000005,399838.88700000005,399838.88700000005,399838.88700000005,896109.9760799999,896109.9760799999 +26200800.0,508409.937,289406.25,845066.25,239354.78303000002,239354.78303000002,239354.78303000002,166761.5495,1116269.78808,1212772.9062400002,713086.5312900001,1086608.04768,470580.39300000004,470580.39300000004,470580.39300000004,395868.31200000003,508409.937,508409.937,582293.1647,263256.15599999996,391309.1503999999,682515.96,193704.52959999998,246355.7608,551548.029,551548.029,551548.029,551548.029,1528619.21058,1528619.21058 +26204400.0,1244604.732,687701.7239999999,2008089.03408,1587585.0587300002,1587585.0587300002,1587585.0587300002,1424610.7714999998,3441184.74976,4296891.17888,2894317.4582700003,4410388.50784,1237871.6069999998,1237871.6069999998,1237871.6069999998,1792965.461,1244604.732,1244604.732,2570583.95178,1589071.446,2362027.1864,4119814.86,1169242.6936,1487056.9828,1551115.9260000002,1551115.9260000002,1551115.9260000002,1551115.9260000002,3742111.56088,3742111.56088 +26208000.0,1065102.852,1206099.864,3521811.60288,1635250.39568,1635250.39568,1635250.39568,1868356.0105,4170944.4746399997,3202995.65504,3069994.6384799997,4678087.06816,1293078.057,1293078.057,1293078.057,1734975.9804999998,1065102.852,1065102.852,2155094.80498,2107078.0209,3132002.3915599994,5462794.869,1550393.2104399998,1971808.8146199998,1514522.2650000001,1514522.2650000001,1514522.2650000001,1514522.2650000001,3202409.2416799995,3202409.2416799995 +26211600.0,1652788.479,1727104.755,5043145.8845999995,881540.2336400001,881540.2336400001,881540.2336400001,1493741.109,3457324.1971199997,5624680.68864,2679809.7442199998,4083519.6102400003,1428181.713,1428181.713,1428181.713,1056408.5735,1652788.479,1652788.479,1033043.4017799998,1330316.26155,1977408.3690199999,3448968.0855,978849.9899800001,1244913.24229,1810628.2650000001,1810628.2650000001,1810628.2650000001,1810628.2650000001,4969384.02686,4969384.02686 +26215200.0,1107603.0690000001,665449.368,1943112.15456,417129.99801000004,417129.99801000004,417129.99801000004,459031.02,1459424.68992,5852609.7472,697733.69043,1063213.24256,1108227.342,1108227.342,1108227.342,1067164.9625000001,1107603.0690000001,1107603.0690000001,587476.6323399999,1819853.5923,2705066.3273199997,4718138.943,1339052.76668,1703023.48514,581385.9929999999,581385.9929999999,581385.9929999999,581385.9929999999,3330193.22746,3330193.22746 +26218800.0,556466.859,325036.875,949107.6749999999,174480.2488,174480.2488,174480.2488,316395.73,993585.92384,2550553.6288,583431.96261,889039.1811200001,414976.73400000005,414976.73400000005,414976.73400000005,327393.444,556466.859,556466.859,477889.8491899999,578916.9062999999,860513.5249199999,1500895.683,425968.48907999997,541751.87034,416607.8219999999,416607.8219999999,416607.8219999999,416607.8219999999,1673110.35606,1673110.35606 +26222400.0,551890.554,950838.189,2776447.51188,295761.56016,295761.56016,295761.56016,652180.9525,1239885.0680799999,1843054.38528,896441.54229,1366006.15968,467998.206,467998.206,467998.206,796871.138,551890.554,551890.554,490305.57991999993,512866.75635,762335.27734,1329654.5535000002,377368.62566,479941.97693,518052.36899999995,518052.36899999995,518052.36899999995,518052.36899999995,1659350.9323599997,1659350.9323599997 +26226000.0,287103.207,262288.695,765882.9894,216219.16514,216219.16514,216219.16514,395153.36,555476.1843999999,610451.42784,327191.31942,498577.24864000006,205188.65999999997,205188.65999999997,205188.65999999997,288146.705,287103.207,287103.207,230899.11013,178079.45984999998,264700.82674,461687.48850000004,131031.30626,166647.19823,207771.921,207771.921,207771.921,207771.921,863223.64238,863223.64238 +26229600.0,249414.34500000003,167603.856,489403.25951999996,78397.95579,78397.95579,78397.95579,137451.601,515616.02943999995,622921.19168,287803.67889000004,438557.98688000004,201931.92600000004,201931.92600000004,201931.92600000004,137274.40649999998,249414.34500000003,249414.34500000003,241035.71855999995,159067.62585,236441.26114,412397.54850000003,117042.35186000001,148855.87703,203371.83599999998,203371.83599999998,203371.83599999998,203371.83599999998,749905.7973,749905.7973 +26233200.0,443783.739,371051.019,1083468.97548,732844.54188,732844.54188,732844.54188,656583.865,940104.1966400001,768294.38784,807139.9669199999,1229927.56864,318063.348,318063.348,318063.348,760523.5715,443783.739,443783.739,687479.7406099999,546865.6761,812871.9432399999,1417799.901,402385.11476,511758.24998,293428.143,293428.143,293428.143,293428.143,1334309.77526,1334309.77526 +26236800.0,723280.14,1141819.545,3334113.0713999993,585045.09261,585045.09261,585045.09261,947654.5434999999,2032737.84032,2541034.2924800003,1276921.56585,1945785.2432000001,856452.2039999999,856452.2039999999,856452.2039999999,1328861.2119999998,723280.14,723280.14,1206659.4956,1077285.0838499998,1601297.8283399998,2792961.3285,792669.02466,1008126.04143,869287.1969999999,869287.1969999999,869287.1969999999,869287.1969999999,2174662.2876,2174662.2876 +26240400.0,809513.2679999999,1024355.148,2991117.03216,852237.1941600001,852237.1941600001,852237.1941600001,985172.342,2185116.2416000003,3088285.58464,1434127.13556,2185336.58752,885500.8799999999,885500.8799999999,885500.8799999999,1239286.391,809513.2679999999,809513.2679999999,969892.6953299998,1097893.41975,1631930.4658999997,2846390.3474999997,807832.6891,1027411.3730499999,959965.335,959965.335,959965.335,959965.335,2433936.55912,2433936.55912 +26244000.0,2132655.2249999996,1809930.381,5284996.71252,3109766.84139,3109766.84139,3109766.84139,2882382.251,3476872.8320799996,6591191.845120001,3653983.1764800004,5567974.36416,2302416.039,2302416.039,2302416.039,2877373.9995,2132655.2249999996,2132655.2249999996,2555128.21928,2805106.9338,4169566.35592,7272499.458000001,2064004.6080800002,2625025.9948400003,2428033.635,2428033.635,2428033.635,2428033.635,6412183.376499999,6412183.376499999 +26247600.0,1516631.919,906772.104,2647774.54368,1486898.0002800003,1486898.0002800003,1486898.0002800003,1557444.4479999999,2530102.1236,4142992.0992,2122703.20878,3234595.36576,1441183.614,1441183.614,1441183.614,1721883.814,1516631.919,1516631.919,1048001.4483899999,1621981.19115,2410944.88166,4205136.4215,1193457.7653400002,1517854.0035700002,1563050.742,1563050.742,1563050.742,1563050.742,4560006.63646,4560006.63646 +26251200.0,1201536.348,902778.5549999999,2636113.3806,1203984.44111,1203984.44111,1203984.44111,1183489.0584999998,2056738.78616,3868412.1248,1720794.78396,2622163.48032,1107672.111,1107672.111,1107672.111,1474806.1615,1201536.348,1201536.348,1072457.73947,1423683.99765,2116192.01626,3691032.5865,1047550.20074,1332287.00027,1237547.784,1237547.784,1237547.784,1237547.784,3612619.2863199995,3612619.2863199995 +26254800.0,1079834.751,922422.9480000001,2693475.00816,1190523.5958,1190523.5958,1190523.5958,1207790.178,2019828.1173599998,3888331.4572800007,1700804.71323,2591702.42016,1096267.977,1096267.977,1096267.977,1466331.1600000001,1079834.751,1079834.751,1110355.24366,1420616.8071,2111632.88364,3683080.6110000005,1045293.3543600001,1329416.7157800002,1227010.38,1227010.38,1227010.38,1227010.38,3246703.1513399994,3246703.1513399994 +26258400.0,787834.3139999999,697788.717,2037543.05364,801787.2731,801787.2731,801787.2731,684864.3409999999,1119665.97584,2524279.91936,1004161.5740100001,1530150.96992,612542.3940000001,612542.3940000001,612542.3940000001,768055.3615,787834.3139999999,787834.3139999999,884158.21637,696803.0345999999,1035741.7946399999,1806526.386,512709.3933599999,652070.0002799999,801435.084,801435.084,801435.084,801435.084,2368755.1707599997,2368755.1707599997 +26262000.0,140666.69999999998,130300.092,380476.26864,136489.76583000002,136489.76583000002,136489.76583000002,69306.412,243497.63199999995,948843.4291200002,226991.54940000002,345891.8848,198464.34,198464.34,198464.34,139996.514,140666.69999999998,140666.69999999998,277622.59875999996,105527.72339999999,156858.49255999998,273590.394,77647.55944,98753.10412,163723.353,163723.353,163723.353,163723.353,422937.8779999999,422937.8779999999 +26265600.0,142781.439,132071.532,385648.87344,113546.67522,113546.67522,113546.67522,48662.4495,266194.71024,948809.32032,246792.29379000003,376064.44768000004,196012.068,196012.068,196012.068,136510.7905,142781.439,142781.439,278341.95349999995,99823.32675,148379.3647,258801.2175,73450.2503,93414.91565000001,167263.65000000002,167263.65000000002,167263.65000000002,167263.65000000002,429296.19326,429296.19326 +26269200.0,157110.15600000002,154071.777,449889.58884000004,106495.36766,106495.36766,106495.36766,56252.161,319636.62616,918769.7056,266404.14654,405949.17568,190037.913,190037.913,190037.913,130949.7665,157110.15600000002,157110.15600000002,301264.98011999996,109194.6177,162309.03668,283097.157,80345.66932,102184.59286,169612.908,169612.908,169612.908,169612.908,472377.86904,472377.86904 +26272800.0,179384.115,160349.289,468219.92387999996,104798.04742,104798.04742,104798.04742,62975.689,376358.25103999994,902252.6688,303814.29812999995,462955.12096,234232.41299999997,234232.41299999997,234232.41299999997,152370.008,179384.115,179384.115,301902.49752,126172.69154999999,187545.58101999998,327114.3855,92838.17798,118072.71629,239763.67200000002,239763.67200000002,239763.67200000002,239763.67200000002,539348.2390999999,539348.2390999999 +26276400.0,231912.96600000001,175312.27500000002,511911.843,114134.92046000001,114134.92046000001,114134.92046000001,78168.52049999998,456892.44087999995,901307.55584,346654.69797,528235.7302400001,337135.26,337135.26,337135.26,233464.0245,231912.96600000001,231912.96600000001,325276.57707999996,145839.03795,216778.02678000001,378101.20950000006,107308.72422,136476.53181000001,292640.64,292640.64,292640.64,292640.64,697284.9844399999,697284.9844399999 +26280000.0,273998.055,213585.261,623668.9621199999,123931.47558000001,123931.47558000001,123931.47558000001,80513.531,550459.40248,930089.70368,396302.88620999997,603890.11232,386742.681,386742.681,386742.681,253798.335,273998.055,273998.055,349942.43023999996,166491.53100000002,247476.3004,431644.71,122504.87960000001,155803.1858,355701.192,355701.192,355701.192,355701.192,823820.8187,823820.8187 +26283600.0,339661.698,248878.07399999996,726723.9760799999,138341.61176,138341.61176,138341.61176,88457.82400000001,617530.75712,1016530.9446400001,473813.58633,722001.6553600001,416143.158,416143.158,416143.158,266142.07550000004,339661.698,339661.698,367215.78959,186407.6409,277079.99955999997,483279.069,137159.20244,174440.73062000002,427441.989,427441.989,427441.989,427441.989,1021249.5053199999,1021249.5053199999 +26287200.0,523286.46900000004,288162.498,841434.49416,251201.96288000004,251201.96288000004,251201.96288000004,166292.021,1094201.9348,1277068.65792,732587.75289,1116324.19488,438586.77,438586.77,438586.77,385120.666,523286.46900000004,523286.46900000004,561286.85574,275437.75814999995,409416.1244599999,714097.8914999999,202667.78253999996,257755.33416999996,540442.272,540442.272,540442.272,540442.272,1573347.98346,1573347.98346 +26290800.0,1239468.132,675527.7420000001,1972541.00664,1622634.9992600002,1622634.9992600002,1622634.9992600002,1459822.749,3397953.8811199996,4251007.031040001,2918296.91097,4446928.62624,1214759.0129999998,1214759.0129999998,1214759.0129999998,1850478.567,1239468.132,1239468.132,2599134.6014399994,1611877.63995,2395926.7635799996,4178942.0294999997,1186023.54742,1508399.07541,1531786.743,1531786.743,1531786.743,1531786.743,3726667.5168799995,3726667.5168799995 +26294400.0,1077296.784,1207467.633,3525805.48836,1773888.5802,1773888.5802,1773888.5802,1905998.1815000004,4192311.8724800004,3205156.1728000003,3130274.43918,4769942.00256,1282592.0729999999,1282592.0729999999,1282592.0729999999,1769968.8685,1077296.784,1077296.784,2171054.17815,2128142.4759,3163313.01356,5517406.419000001,1565892.4884400002,1991520.9836200003,1528368.771,1528368.771,1528368.771,1528368.771,3239072.3305599997,3239072.3305599997 +26298000.0,1843206.4320000003,1983308.892,5791261.96464,1109677.42919,1109677.42919,1109677.42919,1857019.6225,3942091.5420000004,6455952.727039999,3123211.39977,4759179.27584,1671604.935,1671604.935,1671604.935,1300241.6175,1843206.4320000003,1843206.4320000003,1387690.22366,1603261.0300499997,2383118.8644199995,4156602.6704999995,1179683.4245799999,1500335.63059,2045554.131,2045554.131,2045554.131,2045554.131,5541907.338880001,5541907.338880001 +26301600.0,1360146.0750000002,912837.8879999999,2665486.6329599996,568650.54246,568650.54246,568650.54246,769521.802,1974101.3612000002,6697420.38976,1166244.1686,1777133.9712000003,1365535.53,1365535.53,1365535.53,1347355.6774999998,1360146.0750000002,1360146.0750000002,853243.7018299999,2110447.8882000004,3137011.42888,5471531.562000001,1552872.7671200002,1974962.3447600002,872647.74,872647.74,872647.74,872647.74,4089505.8655,4089505.8655 +26305200.0,691779.645,453867.08999999997,1325291.9028,302907.85745,302907.85745,302907.85745,466714.983,1278918.20312,3437623.8995200004,812918.3567400001,1238732.73408,548642.46,548642.46,548642.46,505133.811,691779.645,691779.645,644560.7792,929524.4909999999,1381663.5643999998,2409878.31,683946.4156,869851.3138,544387.128,544387.128,544387.128,544387.128,2079950.7992999998,2079950.7992999998 +26308800.0,733051.0619999999,1117456.419,3262972.7434799997,558090.83385,558090.83385,558090.83385,873171.1205000001,1606079.5992,2630665.8758400003,1232018.82846,1877362.02432,663771.186,663771.186,663771.186,1019736.7074999999,733051.0619999999,733051.0619999999,744522.6128599999,786658.7078999999,1169305.0423599998,2039485.5389999999,578825.41964,736157.16122,739416.1769999999,739416.1769999999,739416.1769999999,739416.1769999999,2204040.1930799996,2204040.1930799996 +26312400.0,552973.284,568027.158,1658639.30136,394416.46761,394416.46761,394416.46761,756634.403,1130575.16592,1728725.8003200002,802698.75294,1223160.0044800001,499556.64600000007,499556.64600000007,499556.64600000007,620183.34,552973.284,552973.284,550166.7850899999,555620.75145,825885.66018,1440498.2445,408827.12082,519951.27111000003,509670.882,509670.882,509670.882,509670.882,1662606.3405600002,1662606.3405600002 +26316000.0,427730.13,339436.974,991155.96408,143384.34583000003,143384.34583000003,143384.34583000003,340625.495,896762.96952,1347781.4118400002,600592.47927,915188.5398400001,395576.79300000006,395576.79300000006,395576.79300000006,311183.0435,427730.13,427730.13,442866.24785,404407.74825,601119.6653,1048464.5325,297564.2197,378445.76935,396859.53599999996,396859.53599999996,396859.53599999996,396859.53599999996,1286041.9241999998,1286041.9241999998 +26319600.0,582033.321,662756.04,1935247.6368,950006.26611,950006.26611,950006.26611,911143.4955,1350248.8975199999,1298684.128,1060089.10035,1615373.8672,462842.2799999999,462842.2799999999,462842.2799999999,999606.1109999999,582033.321,582033.321,834416.87602,776551.8761999999,1154282.0480799999,2013282.642,571388.78792,726699.16316,517566.024,517566.024,517566.024,517566.024,1749980.1851399997,1749980.1851399997 +26323200.0,776714.817,1181323.2989999999,3449464.0330799995,1160854.53715,1160854.53715,1160854.53715,995782.4485,2061499.07528,2686573.06048,1417724.59563,2160342.24096,874419.1440000001,874419.1440000001,874419.1440000001,1441210.0955,776714.817,776714.817,1263787.62991,1178307.1660499999,1751459.0468199996,3054870.4305,867001.3221799999,1102662.7553899998,954119.676,954119.676,954119.676,954119.676,2335322.54978,2335322.54978 +26326800.0,744787.902,1024680.3629999999,2992066.65996,913419.29822,913419.29822,913419.29822,879448.8605,2041342.52552,2767883.968,1278877.4405399999,1948765.6236799997,742636.8119999999,742636.8119999999,742636.8119999999,1136226.9205,744787.902,744787.902,926335.5527399998,995928.8377499998,1480368.2970999999,2582037.7275,732806.8979,931992.66545,905087.757,905087.757,905087.757,905087.757,2239328.95868,2239328.95868 +26330400.0,2087583.9090000002,1679528.367,4904222.8316399995,3209701.62953,3209701.62953,3209701.62953,2742352.102,3197393.3424,6150845.1263999995,3488828.6052900003,5316310.25568,2171973.159,2171973.159,2171973.159,2787175.5870000003,2087583.9090000002,2087583.9090000002,3057284.8215,2634306.5268,3915685.25712,6829683.588000001,1938329.2468800002,2465190.5522400006,2276855.7539999997,2276855.7539999997,2276855.7539999997,2276855.7539999997,6276668.95306,6276668.95306 +26334000.0,1427834.946,765327.861,2234757.3541200003,1592428.8349200003,1592428.8349200003,1592428.8349200003,1473135.167,2213858.04688,3576856.48896,1948083.14169,2968507.6444800003,1315390.989,1315390.989,1315390.989,1540290.871,1427834.946,1427834.946,900371.1390699999,1511430.00975,2246619.4219,3918522.2475000005,1112113.9331,1414399.9350500002,1460820.723,1460820.723,1460820.723,1460820.723,4293023.73764,4293023.73764 +26337600.0,1009336.8509999999,718711.254,2098636.86168,1002042.0667400002,1002042.0667400002,1002042.0667400002,973030.9435,1616754.96736,2932080.8371200007,1384498.91454,2109712.63168,848592.7079999999,848592.7079999999,848592.7079999999,1140788.0855,1009336.8509999999,1009336.8509999999,882754.9950699998,1119785.4882,1664471.2688799999,2903147.562,823940.92712,1047898.0247600001,983049.537,983049.537,983049.537,983049.537,3034739.4653399996,3034739.4653399996 +26341200.0,854338.854,703047.921,2052899.9293199999,951795.90209,951795.90209,951795.90209,921605.3525,1532632.1033599996,2846500.5196800004,1322797.23429,2015691.0236800003,810500.367,810500.367,810500.367,1081337.1415,854338.854,854338.854,861995.9153,1078439.9453999999,1603014.4373599999,2795955.414,793518.77464,1009206.7637199999,938271.408,938271.408,938271.408,938271.408,2568712.15436,2568712.15436 +26344800.0,606276.366,492851.94000000006,1439127.6648000001,617594.58794,617594.58794,617594.58794,516742.2645000001,770958.44288,1715986.4409600003,721051.51041,1098745.15872,416937.039,416937.039,416937.039,542590.363,606276.366,606276.366,639481.6164099998,494694.27270000003,735323.33868,1282540.7070000002,363997.26732000004,462936.1218600001,586591.197,586591.197,586591.197,586591.197,1822870.94044,1822870.94044 +26348400.0,99066.56400000001,85640.781,250071.08052,100261.17772,100261.17772,100261.17772,56932.337,137812.03384,562380.8896,131260.40844000003,200015.86048000003,118104.97200000001,118104.97200000001,118104.97200000001,92201.564,99066.56400000001,99066.56400000001,164702.27878,68200.4529,101374.50036,176815.98900000003,50182.06164000001,63822.15222000001,108044.076,108044.076,108044.076,108044.076,297860.13576,297860.13576 +26352000.0,93182.709,83123.83200000001,242721.58944,75283.2784,75283.2784,75283.2784,35576.0335,143829.99615999998,543912.4486400001,126323.07134999998,192492.29919999998,113166.012,113166.012,113166.012,83268.5595,93182.709,93182.709,167653.86312999998,59584.1832,88567.10687999999,154477.512,43842.18912,55759.025760000004,101694.26400000001,101694.26400000001,101694.26400000001,101694.26400000001,280169.34506,280169.34506 +26355600.0,91873.875,83193.339,242924.54988,68588.27492,68588.27492,68588.27492,30315.509000000002,158160.88896,530481.53472,131649.66297,200609.01024,109978.887,109978.887,109978.887,82351.66100000001,91873.875,91873.875,168994.24177999998,56675.73645,84243.93418,146937.0945,41702.14682,53037.29411,101184.79800000001,101184.79800000001,101184.79800000001,101184.79800000001,276234.1175,276234.1175 +26359200.0,99203.12700000001,90920.031,265486.49052,62669.07856000001,62669.07856000001,62669.07856000001,27556.0635,157909.50616,518191.3561600001,147284.07351000002,224432.87392,106773.552,106773.552,106773.552,79071.7025,99203.12700000001,99203.12700000001,171930.86221999998,58645.31625,87171.55649999999,152043.4125,43151.368500000004,54880.43175,101092.023,101092.023,101092.023,101092.023,298270.73518,298270.73518 +26362800.0,102905.637,95678.598,279381.50616,62693.824160000004,62693.824160000004,62693.824160000004,33467.633499999996,155630.22423999998,511556.23168,159151.71678000002,242516.90176000004,105158.55900000001,105158.55900000001,105158.55900000001,77957.4985,102905.637,102905.637,183686.86778,64731.33225000001,96217.9309,167821.97250000003,47629.47410000001,60575.74055000001,103017.18,103017.18,103017.18,103017.18,309402.94857999997,309402.94857999997 +26366400.0,105051.59399999998,102804.14100000002,300188.09172,63747.92974,63747.92974,63747.92974,36421.101500000004,154405.60544,504828.8556800001,172517.14788,262883.27296000003,104230.20000000001,104230.20000000001,104230.20000000001,80105.58850000001,105051.59399999998,105051.59399999998,181039.22251999998,67183.25489999999,99862.51715999999,174178.80899999998,49433.60483999999,62870.25582,111178.73700000002,111178.73700000002,111178.73700000002,111178.73700000002,315855.12596,315855.12596 +26370000.0,115543.33200000001,103414.86600000001,301971.40872,75694.44608000001,75694.44608000001,75694.44608000001,53357.465,158267.90696,495041.31648000004,182043.06708,277398.95936000004,105960.615,105960.615,105960.615,91878.941,115543.33200000001,115543.33200000001,178378.24393999996,75486.30164999998,112204.32985999997,195705.22649999996,55543.007139999994,70640.26746999999,133800.228,133800.228,133800.228,133800.228,347400.28488,347400.28488 +26373600.0,151555.86000000002,116724.549,340835.68308,171103.01978000003,171103.01978000003,171103.01978000003,136422.657,220488.47,539807.51168,241122.90740999999,367425.38272,161624.916,161624.916,161624.916,142556.127,151555.86000000002,151555.86000000002,199423.21567999996,113175.02654999998,168225.59501999998,293416.73549999995,83274.46397999999,105909.46929,175461.552,175461.552,175461.552,175461.552,455677.9524,455677.9524 +26377200.0,880551.957,826818.0900000001,2414308.8228,890546.16277,890546.16277,890546.16277,985400.2374999999,1279546.3068,1100910.1209600002,1051113.74319,1601697.1324800001,464107.34699999995,464107.34699999995,464107.34699999995,1421317.3309999998,880551.957,880551.957,1678269.96675,481396.72544999997,715557.6017799999,1248065.5844999999,354212.89921999996,450492.24431,1122151.1460000002,1122151.1460000002,1122151.1460000002,1122151.1460000002,2647526.21738,2647526.21738 +26380800.0,1630224.426,1558838.364,4551808.02288,2118290.47023,2118290.47023,2118290.47023,1491765.1245000002,2373248.12152,2688916.9280000003,2383762.87821,3632400.5763200005,998606.3700000001,998606.3700000001,998606.3700000001,1279894.9974999998,1630224.426,1630224.426,1803966.0892499997,1262731.3721999999,1876948.8544799997,3273748.002,929120.8615199999,1181667.1359599999,1824919.6439999999,1824919.6439999999,1824919.6439999999,1824919.6439999999,4901541.440839999,4901541.440839999 +26384400.0,1682341.566,1381609.281,4034299.1005200003,1616387.9481200003,1616387.9481200003,1616387.9481200003,1474102.9135,2636903.30192,6248406.478080001,2059974.01848,3139008.02816,1765290.099,1765290.099,1765290.099,1563151.401,1682341.566,1682341.566,817662.60706,2370800.71665,3524005.01586,6146520.3765,1744441.02114,2218601.16447,1234383.849,1234383.849,1234383.849,1234383.849,5058240.30844,5058240.30844 +26388000.0,1214726.613,780901.629,2280232.75668,1032910.8230099999,1032910.8230099999,1032910.8230099999,1879159.5235000001,2443926.63976,4222937.3382399995,2438269.6793700005,3715458.5590400007,1588711.491,1588711.491,1588711.491,1855982.9995000004,1214726.613,1214726.613,1376031.0433999998,2164764.74265,3217749.0742599997,5612353.036499999,1592839.24274,2025792.1912699998,1415727.273,1415727.273,1415727.273,1415727.273,3652278.0164199998,3652278.0164199998 +26391600.0,773857.362,520411.524,1519601.65008,820481.40581,820481.40581,820481.40581,1126053.6875,2139868.6457599998,3345421.77472,1452130.4775600003,2212770.2515200004,634165.539,634165.539,634165.539,1267194.978,773857.362,773857.362,428257.94596000004,1129142.8755,1678380.2742,2927407.455,830826.1158,1056654.6909,806939.832,806939.832,806939.832,806939.832,2326731.13508,2326731.13508 +26395200.0,706467.6359999999,569944.203,1664237.07276,575998.2070700001,575998.2070700001,575998.2070700001,819464.7125,1624226.9436799998,1939261.6448000001,1250538.85971,1905583.02432,640865.841,640865.841,640865.841,847126.7175,706467.6359999999,706467.6359999999,561619.67407,839717.6728499999,1248172.9359399998,2177045.8185,617866.3370599999,785809.87163,729005.778,729005.778,729005.778,729005.778,2124112.69224,2124112.69224 +26398800.0,453613.782,336608.331,982896.32652,291846.09806000005,291846.09806000005,291846.09806000005,435252.2825,835717.8992,1213863.4848000002,682824.3256800001,1040494.2105600002,392624.53799999994,392624.53799999994,392624.53799999994,497390.3550000001,453613.782,453613.782,346334.15582999995,465561.8775,692020.3709999999,1207012.2750000001,342561.579,435673.9545,449228.673,449228.673,449228.673,449228.673,1363865.43788,1363865.43788 +26402400.0,278198.652,174218.331,508717.52652,98786.45799000001,98786.45799000001,98786.45799000001,227697.09900000002,512879.37039999996,551390.77312,380495.46507,579802.61344,222684.978,222684.978,222684.978,220145.96099999998,278198.652,278198.652,153673.13156,207771.15600000002,308835.1504,538665.9600000001,152878.5296,194432.76080000002,231007.974,231007.974,231007.974,231007.974,836450.6136800001,836450.6136800001 +26406000.0,345770.32200000004,240431.625,702060.345,125023.14319000002,125023.14319000002,125023.14319000002,301843.58749999997,639503.64616,837595.8752000001,487083.12744,742221.9084800001,292089.14099999995,292089.14099999995,292089.14099999995,327674.0145,345770.32200000004,345770.32200000004,233097.5062,314126.60625,466923.9925,814402.3125,231135.1325,293960.45375,314735.358,314735.358,314735.358,314735.358,1039616.10148,1039616.10148 +26409600.0,717173.895,601144.8960000001,1755343.09632,606190.3706100001,606190.3706100001,606190.3706100001,746904.942,1305557.49744,2272671.7702400004,1123931.4366000001,1712657.4272000003,663774.7860000001,663774.7860000001,663774.7860000001,875289.4919999999,717173.895,717173.895,663266.0178299999,871757.6440499999,1295797.7820199998,2260112.4104999998,641441.4269799999,815792.9557899999,754338.1860000001,754338.1860000001,754338.1860000001,754338.1860000001,2156302.8443,2156302.8443 +26413200.0,769784.2710000001,644898.375,1883103.255,828102.8349000001,828102.8349000001,828102.8349000001,832898.9130000001,1404383.8111999999,2463092.20288,1221116.56212,1860749.04704,721432.1639999999,721432.1639999999,721432.1639999999,948038.0525,769784.2710000001,769784.2710000001,800237.17956,942436.9764,1400856.93776,2443355.1240000003,693447.45424,881934.84952,828990.882,828990.882,828990.882,828990.882,2314484.70814,2314484.70814 +26416800.0,780359.916,646214.379,1886945.98668,894446.08968,894446.08968,894446.08968,883563.7265,1434126.96624,2486410.9913600003,1247560.98117,1901045.30464,729934.95,729934.95,729934.95,962853.0729999999,780359.916,780359.916,817621.91446,963985.4590500001,1432887.02802,2499221.5605,709302.88098,902099.9727900001,843084.534,843084.534,843084.534,843084.534,2346282.1474399995,2346282.1474399995 +26420400.0,785981.583,661849.335,1932600.0582,909199.11522,909199.11522,909199.11522,889309.477,1443541.78792,2541212.3872,1254609.9894299998,1911786.65056,735361.872,735361.872,735361.872,969270.7535,785981.583,785981.583,820856.7741399999,974731.19445,1448859.70138,2527080.8745,717209.61962,912155.85851,851450.58,851450.58,851450.58,851450.58,2363184.62622,2363184.62622 +26424000.0,791451.078,673354.851,1966196.16492,903571.86403,903571.86403,903571.86403,884632.5495,1463938.5544,2615790.7072,1261171.84389,1921785.66688,743780.226,743780.226,743780.226,977766.0445000001,791451.078,791451.078,827222.3377599999,983369.41515,1461699.7232599999,2549476.2615,723565.64374,920239.52677,858718.6769999999,858718.6769999999,858718.6769999999,858718.6769999999,2379629.57452,2379629.57452 +26427600.0,744432.0449999999,606441.99,1770810.6108,723588.3199600001,723588.3199600001,723588.3199600001,667767.2085,1199784.44528,1851990.9670400003,1018743.08319,1552370.4124800002,568018.656,568018.656,568018.656,757320.879,744432.0449999999,744432.0449999999,775689.03672,769864.0504500001,1144341.1317800002,1995943.8345000003,566467.8692200001,720440.6793100002,737357.9069999999,737357.9069999999,737357.9069999999,737357.9069999999,2238259.0152999996,2238259.0152999996 +26431200.0,331344.567,228979.61700000003,668620.48164,364877.26231,364877.26231,364877.26231,284186.76649999997,577250.3440800001,733563.61088,455914.59647999995,694727.00416,235382.706,235382.706,235382.706,338065.4935,331344.567,331344.567,529039.07173,170625.94109999997,253621.76923999994,442363.5509999999,125546.98875999998,159672.17698,395871.762,395871.762,395871.762,395871.762,996242.66478,996242.66478 +26434800.0,111359.79000000001,82450.524,240755.53008,97144.60778000002,97144.60778000002,97144.60778000002,55184.5245,204252.46991999997,536443.0784,174945.44487,266583.53504,117997.77900000001,117997.77900000001,117997.77900000001,89278.78749999999,111359.79000000001,111359.79000000001,170493.31676000002,66406.20975,98707.5019,172164.2475,48861.8531,62143.09505,110326.16100000001,110326.16100000001,110326.16100000001,110326.16100000001,334821.7686,334821.7686 +26438400.0,107951.079,82567.8,241097.97600000002,74623.73490000001,74623.73490000001,74623.73490000001,34652.576,200875.37312,542775.3798400001,166634.13543000002,253918.68256000004,117125.319,117125.319,117125.319,85335.075,107951.079,107951.079,170922.15712,60442.3944,89842.76896,156702.50400000002,44473.66304,56562.14192,107048.46300000002,107048.46300000002,107048.46300000002,107048.46300000002,324572.91086,324572.91086 +26442000.0,109502.69399999999,89866.473,262410.10116,69687.77728000001,69687.77728000001,69687.77728000001,29931.296500000004,221165.13911999998,542995.4169600001,167551.41522,255316.44223999997,116686.23300000001,116686.23300000001,116686.23300000001,84201.95700000001,109502.69399999999,109502.69399999999,170687.65037999998,61902.99854999999,92013.83982,160489.2555,45548.379179999996,57928.97889,106256.10299999997,106256.10299999997,106256.10299999997,106256.10299999997,329238.0999599999,329238.0999599999 +26445600.0,120189.97200000001,100371.47400000002,293084.70408,67323.04623,67323.04623,67323.04623,35212.59,231554.86704,569222.3750400001,180718.0242,275379.84640000004,121781.619,121781.619,121781.619,86032.5585,120189.97200000001,120189.97200000001,183421.33653999996,71065.12724999999,105632.60889999999,184242.9225,52289.8961,66502.92155,109911.27600000001,109911.27600000001,109911.27600000001,109911.27600000001,361371.18247999996,361371.18247999996 +26449200.0,121813.27500000001,103110.82199999999,301083.60024,67796.79423,67796.79423,67796.79423,36284.157,231767.09264,572062.90368,189170.95407,288260.50144,128834.95799999998,128834.95799999998,128834.95799999998,85946.8855,121813.27500000001,121813.27500000001,199993.25359,72383.07014999999,107591.62525999997,187659.81149999998,53259.64173999999,67736.25576999999,115366.731,115366.731,115366.731,115366.731,366251.9135,366251.9135 +26452800.0,128359.16100000001,109169.388,318774.61296,76883.93207000001,76883.93207000001,76883.93207000001,48008.373,238501.43608,591687.00736,215825.46362999998,328876.89696,148901.676,148901.676,148901.676,93196.978,128359.16100000001,128359.16100000001,203520.15722999998,80388.50670000001,119491.06428,208414.64700000003,59150.061720000005,75227.76306000001,138766.083,138766.083,138766.083,138766.083,385933.21074,385933.21074 +26456400.0,143214.516,115925.20199999999,338501.58984,91211.64668,91211.64668,91211.64668,60366.82749999999,249001.09616,596886.5158400001,224926.12548,342744.57216,193386.46800000002,193386.46800000002,193386.46800000002,110336.07199999999,143214.516,143214.516,203684.87567999997,93202.68645000001,138538.31418000002,241636.5945,68578.76682,87219.30411000001,166256.87699999998,166256.87699999998,166256.87699999998,166256.87699999998,430598.31144,430598.31144 +26460000.0,189013.461,142905.837,417285.04404,195747.21166,195747.21166,195747.21166,141255.02300000002,325629.93784,638397.46944,282566.00756999996,430576.77343999996,235625.16599999997,235625.16599999997,235625.16599999997,191565.49649999998,189013.461,189013.461,230241.25605,129923.5464,193120.92576,336838.824,95598.06624,121582.77552000001,213126.77999999997,213126.77999999997,213126.77999999997,213126.77999999997,568300.47274,568300.47274 +26463600.0,928035.402,893353.4369999999,2608592.0360399997,926538.32458,926538.32458,926538.32458,1007452.0190000001,1431288.61528,1225717.5712,1126849.40865,1717103.8608000001,542617.11,542617.11,542617.11,1486037.4024999999,928035.402,928035.402,1672135.0137699998,503813.8237499999,748878.8194999999,1306183.9874999998,370707.4555,471470.22024999995,1186698.963,1186698.963,1186698.963,1186698.963,2790293.10868,2790293.10868 +26467200.0,1688712.3539999998,1634748.0119999999,4773464.19504,2181256.01573,2181256.01573,2181256.01573,1527192.492,2523783.59984,2844590.7424000003,2521144.7175600003,3841744.3315200005,1069757.2410000002,1069757.2410000002,1069757.2410000002,1371795.5825,1688712.3539999998,1688712.3539999998,1829487.0257299999,1330541.2512,1977742.79808,3449551.3920000005,979015.53792,1245123.7881600002,1895324.0609999998,1895324.0609999998,1895324.0609999998,1895324.0609999998,5077395.144359998,5077395.144359998 +26470800.0,1762102.332,1505662.641,4396534.91172,1727059.08694,1727059.08694,1727059.08694,1608172.3315,2855225.3947199997,6883947.566720001,2165309.58546,3299519.36832,1866723.006,1866723.006,1866723.006,1672026.0655,1762102.332,1762102.332,916257.82352,2540128.38975,3775697.0139,6585518.0475,1869032.7411000002,2377058.41905,1308471.585,1308471.585,1308471.585,1308471.585,5298054.34488,5298054.34488 +26474400.0,1184867.166,802511.7959999999,2343334.44432,1053970.29727,1053970.29727,1053970.29727,1862699.846,2384048.3956,4217928.403840001,2377074.3956400002,3622208.60288,1565721.7410000002,1565721.7410000002,1565721.7410000002,1798765.262,1184867.166,1184867.166,1315930.84376,2151984.0766499997,3198751.6398599995,5579217.9765,1583435.19714,2013832.01247,1364119.467,1364119.467,1364119.467,1364119.467,3562500.61244,3562500.61244 +26478000.0,866996.4330000002,604594.563,1765416.1239599998,999625.66297,999625.66297,999625.66297,1300548.2945,2360733.5096,4088588.1606400004,1654464.2200799999,2521088.33536,738367.188,738367.188,738367.188,1447054.553,866996.4330000002,866996.4330000002,538375.01718,1301206.41675,1934138.9207000001,3373498.1175,957430.8943,1217672.1776500002,923254.9470000002,923254.9470000002,923254.9470000002,923254.9470000002,2606769.27522,2606769.27522 +26481600.0,689979.318,563280.39,1644778.7388,603754.90703,603754.90703,603754.90703,855167.278,1679995.0600800002,1905906.43712,1264894.68714,1927458.5708800002,643449.507,643449.507,643449.507,862534.337,689979.318,689979.318,536978.47697,848254.75695,1260862.62638,2199178.9995,624147.94462,793798.89601,710133.0179999999,710133.0179999999,710133.0179999999,710133.0179999999,2074537.8161199999,2074537.8161199999 +26485200.0,446603.025,331656.864,968438.04288,285686.00247,285686.00247,285686.00247,430850.5915,847856.75384,1223765.5904,689045.85834,1049974.64128,395456.71800000005,395456.71800000005,395456.71800000005,503162.10699999996,446603.025,446603.025,334646.2262,460588.10894999997,684627.26318,1194117.3195,338901.86782,431019.48961,448097.46900000004,448097.46900000004,448097.46900000004,448097.46900000004,1342786.4285000002,1342786.4285000002 +26488800.0,364808.502,259623.498,758100.61416,162163.11012000003,162163.11012000003,162163.11012000003,334372.32149999996,696987.2684,938431.16032,535004.67762,815245.22304,321593.53500000003,321593.53500000003,321593.53500000003,363016.696,364808.502,364808.502,248968.40903999997,347043.2445,515851.9338,899741.745,255355.2762,324763.9251,338840.637,338840.637,338840.637,338840.637,1096857.56268,1096857.56268 +26492400.0,373779.171,269371.014,786563.36088,154328.23802000002,154328.23802000002,154328.23802000002,336142.7755,712878.73768,981655.30048,541901.65197,825754.89824,334228.47000000003,334228.47000000003,334228.47000000003,378367.2865,373779.171,373779.171,258191.47821999996,359098.28010000003,533770.7768400001,930995.5410000001,264225.40116,336045.05718000006,348159.66000000003,348159.66000000003,348159.66000000003,348159.66000000003,1123829.3741399997,1123829.3741399997 +26496000.0,745174.398,625103.7449999999,1825302.9353999998,710952.2601500001,710952.2601500001,710952.2601500001,785189.5974999999,1374658.95872,2422952.3142399997,1178600.84454,1795963.1916800002,704962.308,704962.308,704962.308,919944.3644999999,745174.398,745174.398,694500.3107899999,908748.62685,1350781.90954,2356014.9585,668659.48346,850409.20883,793624.404,793624.404,793624.404,793624.404,2240491.02332,2240491.02332 +26499600.0,786336.648,673889.799,1967758.21308,847450.0927200001,847450.0927200001,847450.0927200001,851891.0855,1453403.61488,2579105.3600000003,1251774.9919500002,1907466.6544,748498.0560000001,748498.0560000001,748498.0560000001,977322.5490000001,786336.648,786336.648,823565.15046,970254.3771,1442205.27164,2515474.311,713915.56636,907966.4417800001,849998.5079999999,849998.5079999999,849998.5079999999,849998.5079999999,2364252.18832,2364252.18832 +26503200.0,805875.699,690149.5650000001,2015236.7298,927321.1158200001,927321.1158200001,927321.1158200001,912582.6325,1548496.3290400002,2658669.26592,1292062.44699,1968857.0620800003,767688.153,767688.153,767688.153,1005221.1714999999,805875.699,805875.699,836171.9488199998,1006970.0611499998,1496780.1896599997,2610663.1215,740931.0573399999,942325.0695699999,876750.5460000001,876750.5460000001,876750.5460000001,876750.5460000001,2422999.60166,2422999.60166 +26506800.0,811982.088,695754.978,2031604.5357599999,938257.3116400002,938257.3116400002,938257.3116400002,920352.1529999999,1569308.38376,2733124.2176000006,1313421.6102,2001404.3584,777112.6229999999,777112.6229999999,777112.6229999999,1015322.1609999998,811982.088,811982.088,841906.3394299999,1016697.1121999999,1511238.6704799996,2635881.402,748088.2455199999,951427.6679599999,884295.6510000001,884295.6510000001,884295.6510000001,884295.6510000001,2441359.47792,2441359.47792 +26510400.0,811629.846,697889.319,2037836.8114800001,927295.28353,927295.28353,927295.28353,909508.4355,1568221.43712,2742667.6096000005,1314353.9644200003,2002825.0886400004,788634.8189999999,788634.8189999999,788634.8189999999,1015077.7699999999,811629.846,811629.846,843230.3592699999,1016533.45575,1510995.4083,2635457.1075,747967.8267,951274.5178500001,884680.017,884680.017,884680.017,884680.017,2440300.40364,2440300.40364 +26514000.0,771574.7309999999,631073.4809999999,1842734.5645199998,746211.04866,746211.04866,746211.04866,691813.3845,1290458.08984,1966288.47872,1071145.50165,1632221.7168,611673.216,611673.216,611673.216,796400.4685000001,771574.7309999999,771574.7309999999,807925.9164599999,803316.8155499999,1194065.98262,2082673.2255000002,591082.49638,751745.8594900001,767668.647,767668.647,767668.647,767668.647,2319868.0245399997,2319868.0245399997 +26517600.0,341598.924,238841.712,697417.79904,373675.12897,373675.12897,373675.12897,290531.311,618787.6536,781616.3712000002,480016.62009,731453.8972799999,264271.098,264271.098,264271.098,349912.052,341598.924,341598.924,540614.59647,177484.19895000002,263816.01918,460144.21950000006,130593.31182000002,166090.15161000003,407538.726,407538.726,407538.726,407538.726,1027074.0981599999,1027074.0981599999 +26521200.0,116715.20700000001,86579.397,252811.83923999997,106833.99166000001,106833.99166000001,106833.99166000001,56113.652,231014.99408,575426.3904,188993.92008,287990.73536,141103.794,141103.794,141103.794,93853.02849999999,116715.20700000001,116715.20700000001,180153.23495,70402.446,104647.58639999999,182524.86,51802.2936,65882.7828,116051.15099999998,116051.15099999998,116051.15099999998,116051.15099999998,350923.72238,350923.72238 +26524800.0,113983.94099999999,87450.198,255354.57815999998,92864.47368000001,92864.47368000001,92864.47368000001,35736.44899999999,232530.74855999998,585945.54432,182178.44232,277605.24544,142556.09399999998,142556.09399999998,142556.09399999998,90838.09,113983.94099999999,113983.94099999999,181677.18244,64735.5645,96224.2218,167832.945,47632.5882,60579.7011,114097.959,114097.959,114097.959,114097.959,342711.71593999997,342711.71593999997 +26528400.0,116343.669,97197.192,283815.80064,91315.91601000002,91315.91601000002,91315.91601000002,33132.490999999995,249943.91743999996,584618.6195200001,182213.80275,277659.128,141910.5,141910.5,141910.5,89240.29100000001,116343.669,116343.669,181095.47546999998,67743.00135,100694.53534,175630.00350000002,49845.46766,63394.067930000005,115826.826,115826.826,115826.826,115826.826,349806.63145999995,349806.63145999995 +26532000.0,120116.21699999998,100160.72999999998,292469.3316,84110.92932,84110.92932,84110.92932,34772.0485,240340.2944,570630.0838400001,182579.61729,278216.55968,137092.21500000003,137092.21500000003,137092.21500000003,85676.1115,120116.21699999998,120116.21699999998,187538.68211000002,70714.2555,105111.0662,183333.255,52031.72380000001,66174.5749,113475.20700000001,113475.20700000001,113475.20700000001,113475.20700000001,361149.42577999993,361149.42577999993 +26535600.0,119490.168,101018.23499999999,294973.24619999994,82468.51745,82468.51745,82468.51745,36644.138999999996,233816.95015999998,562405.29344,188683.24965,287517.33280000003,133712.886,133712.886,133712.886,83801.90699999999,119490.168,119490.168,195564.19116,71293.27185,105971.72754,184834.40850000002,52457.76546,66716.41983000001,119208.49800000002,119208.49800000002,119208.49800000002,119208.49800000002,359267.10512,359267.10512 +26539200.0,124150.92,113818.43399999998,332349.82727999997,91115.86330000001,91115.86330000001,91115.86330000001,45754.352,235053.88551999995,573108.2867200001,208938.54051000002,318382.53792000003,159717.77999999997,159717.77999999997,159717.77999999997,89357.67050000001,124150.92,124150.92,195721.05007,77265.37349999999,114848.77739999999,200317.63499999998,56852.052599999995,72305.1273,137364.282,137364.282,137364.282,137364.282,373280.43279999995,373280.43279999995 +26542800.0,138745.923,123834.774,361597.54008,101166.23176000001,101166.23176000001,101166.23176000001,57582.1225,246785.34759999998,579505.61792,217020.75822,330698.29824,188538.549,188538.549,188538.549,109648.1505,138745.923,138745.923,196103.88759,89085.49694999999,132418.44238,230962.39949999997,65549.32862,83366.42800999999,161451.924,161451.924,161451.924,161451.924,417162.74182,417162.74182 +26546400.0,237727.77899999998,159495.813,465727.77396,205700.67749,205700.67749,205700.67749,137368.7035,677855.93648,624727.90272,395973.05034,603387.50528,228414.549,228414.549,228414.549,246202.16599999997,237727.77899999998,237727.77899999998,408210.99630999996,139255.54020000002,206992.18568,361032.88200000004,102464.57032000001,130315.67836,260823.669,260823.669,260823.669,260823.669,714768.1888599999,714768.1888599999 +26550000.0,925297.1070000001,407537.75100000005,1190010.23292,1356129.22588,1356129.22588,1356129.22588,1058637.9019999998,2844495.954,2588914.14784,2172828.27258,3310976.41536,767878.59,767878.59,767878.59,1010888.7215,925297.1070000001,925297.1070000001,2142034.36109,1082377.8576,1608867.82784,2806164.816,796416.30016,1012891.8716800001,1120680.378,1120680.378,1120680.378,1120680.378,2782059.96838,2782059.96838 +26553600.0,795971.5350000001,1018410.264,2973757.97088,1437157.26044,1437157.26044,1437157.26044,1548612.996,3402695.0792799997,2371661.55712,2452597.80192,3737291.88864,1023127.3470000001,1023127.3470000001,1023127.3470000001,1199811.417,795971.5350000001,795971.5350000001,1897948.7081099998,1687978.4359499998,2509044.4899799996,4376240.3895,1242018.70102,1579614.38821,1192262.742,1192262.742,1192262.742,1192262.742,2393221.0819,2393221.0819 +26557200.0,1612783.4249999998,1524536.745,4451647.2954,727541.20164,727541.20164,727541.20164,992785.3984999999,3043960.8736799997,5067155.24928,2372544.15027,3615305.3718400006,1382913.987,1382913.987,1382913.987,852336.9049999999,1612783.4249999998,1612783.4249999998,1308792.02935,1027567.0448999999,1527395.9531599998,2664062.709,756086.3688399999,961599.77782,1790058.5039999997,1790058.5039999997,1790058.5039999997,1790058.5039999997,4849102.1645,4849102.1645 +26560800.0,965506.6560000001,688760.082,2011179.43944,382619.05165000004,382619.05165000004,382619.05165000004,323179.535,1169463.21784,5265381.6576000005,549010.5763800001,836587.5449600001,940712.9759999999,940712.9759999999,940712.9759999999,940720.4695,965506.6560000001,965506.6560000001,804179.15253,1609857.4229999997,2392923.8732,4173704.4299999997,1184537.0668,1506508.5514,484921.767,484921.767,484921.767,484921.767,2902956.6790400003,2902956.6790400003 +26564400.0,474309.5580000001,284398.464,830443.5148799999,160871.18223,160871.18223,160871.18223,268947.266,797706.5422399999,1636922.07936,485161.14969,739293.18048,310349.838,310349.838,310349.838,261648.71249999997,474309.5580000001,474309.5580000001,412349.39524999994,334873.90575,497763.1882999999,868191.6074999999,246401.04669999998,313375.82785,328842.054,328842.054,328842.054,328842.054,1426090.73772,1426090.73772 +26568000.0,550684.692,974494.764,2845524.7108799997,339124.39022,339124.39022,339124.39022,667018.1245,1252636.83656,1892723.39136,919601.4550800001,1401297.45536,472069.96200000006,472069.96200000006,472069.96200000006,792055.0995000001,550684.692,550684.692,526681.3444099999,534928.3375499999,795128.04742,1386851.2455,393601.59158,500587.25909,526886.1510000001,526886.1510000001,526886.1510000001,526886.1510000001,1655725.30728,1655725.30728 +26571600.0,387347.013,328201.953,958349.70276,242479.4482,242479.4482,242479.4482,466705.078,798124.16648,1117660.47936,522565.40385,796290.1392000001,333909.699,333909.699,333909.699,264274.7835,387347.013,387347.013,374589.80337999994,343360.99665,510378.56785999995,890195.1765000001,252645.86914,321318.06847,331216.023,331216.023,331216.023,331216.023,1164623.35242,1164623.35242 +26575200.0,271021.749,204300.20999999996,596556.6131999999,81165.75522,81165.75522,81165.75522,182374.1115,588613.6584,776119.7625600001,348431.27823,530942.9001600001,238301.52900000004,238301.52900000004,238301.52900000004,171922.91550000003,271021.749,271021.749,290386.89095,217331.04735,323045.16174,563450.8635,159912.72126,203378.93073,234454.152,234454.152,234454.152,234454.152,814872.05866,814872.05866 +26578800.0,433375.158,314992.81799999997,919779.02856,737721.57811,737721.57811,737721.57811,677763.5865,907045.1713599999,752857.31072,801429.7428899999,1221226.27488,307637.85,307637.85,307637.85,769982.836,433375.158,433375.158,691329.6742299999,555948.5219999999,826372.8647999999,1441348.02,409068.2952,520257.9996,278742.74100000004,278742.74100000004,278742.74100000004,278742.74100000004,1303014.64172,1303014.64172 +26582400.0,605639.538,1032015.1230000001,3013484.1591600003,716004.09474,716004.09474,716004.09474,841085.9659999999,1743459.68912,2115338.4512000005,1055001.19284,1607620.86528,707877.375,707877.375,707877.375,1193753.2215,605639.538,605639.538,1131958.0647699998,924748.7714999999,1374564.8406,2397496.815,680432.4294,865382.1837,742826.0939999999,742826.0939999999,742826.0939999999,742826.0939999999,1820956.2109199998,1820956.2109199998 +26586000.0,606600.6059999999,701585.835,2048630.6381999997,769679.1692700001,769679.1692700001,769679.1692700001,742115.0345000001,1534468.3512,2260438.6790400003,1062432.63567,1618944.96864,640404.315,640404.315,640404.315,919174.4345,606600.6059999999,606600.6059999999,787355.50894,811673.703,1206487.8252,2104339.23,597231.5148,759566.2554,676647.48,676647.48,676647.48,676647.48,1823845.8220399998,1823845.8220399998 +26589600.0,1925443.764,1583981.6939999997,4625226.546479999,2917329.1013900004,2917329.1013900004,2917329.1013900004,2639898.2260000003,3040394.52,5435761.14112,3294086.12547,5019559.8102400005,2065761.477,2065761.477,2065761.477,2435049.8200000003,1925443.764,1925443.764,2190019.47424,2409019.29495,3580813.86558,6245605.5795,1772562.3454200001,2254366.2044100002,2124668.256,2124668.256,2124668.256,2124668.256,5789167.58376,5789167.58376 +26593200.0,1164053.766,674466.159,1969441.18428,1102275.82894,1102275.82894,1102275.82894,1110527.4880000001,1860794.6973599999,2859359.28704,1557097.6990800002,2372720.3033600003,967212.2399999999,967212.2399999999,967212.2399999999,1143456.7375,1164053.766,1164053.766,792969.18298,1121903.6017500001,1667619.6747,2908638.9675000003,825499.4403000001,1049880.1606500002,1051308.063,1051308.063,1051308.063,1051308.063,3499921.65644,3499921.65644 +26596800.0,827937.264,661992.8130000001,1933019.0139600001,919343.9117500001,919343.9117500001,919343.9117500001,874523.7725,1496816.96016,2723514.1094400003,1267074.3888599998,1930780.02112,785855.106,785855.106,785855.106,1038705.493,827937.264,827937.264,849544.5232299999,1022340.3011999999,1519626.8180799996,2650511.8919999995,752240.5179199999,956708.5781599999,886031.124,886031.124,886031.124,886031.124,2489331.37376,2489331.37376 +26600400.0,789009.6869999999,659558.592,1925911.08864,891153.6062,891153.6062,891153.6062,862940.3265,1462780.81528,2712945.3536,1244368.9694100001,1896181.2867200002,778367.223,778367.223,778367.223,1021079.6470000001,789009.6869999999,789009.6869999999,846245.89257,1013602.1953499999,1506638.32494,2627857.5435,745810.99806,948531.43713,875843.3489999999,875843.3489999999,875843.3489999999,875843.3489999999,2372289.1255799998,2372289.1255799998 +26604000.0,565751.838,464057.69999999995,1355048.484,581091.3277400001,581091.3277400001,581091.3277400001,489145.39449999994,740538.61288,1653071.8291200001,682928.4315,1040652.848,409657.77300000004,409657.77300000004,409657.77300000004,510275.101,565751.838,565751.838,566279.88586,468912.50324999995,697000.8072999999,1215699.0825,345026.9777,438809.47835,553363.875,553363.875,553363.875,553363.875,1701027.1929199998,1701027.1929199998 +26607600.0,94807.029,82996.137,242348.72004000001,99769.26531000002,99769.26531000002,99769.26531000002,55765.25149999999,133192.42448,573400.3059200001,121928.99333999999,185796.56128,122225.43600000002,122225.43600000002,122225.43600000002,92223.6735,94807.029,94807.029,163501.26026,67497.94395,100330.27717999999,174994.6695,49665.15382,63164.74261,108288.477,108288.477,108288.477,108288.477,285053.13385999994,285053.13385999994 +26611200.0,90826.02,84017.208,245330.24736,76003.60328,76003.60328,76003.60328,34834.555,145157.97712,566849.4579200001,124743.75312000001,190085.71904000003,119660.32500000001,119660.32500000001,119660.32500000001,84748.03749999999,90826.02,90826.02,169080.4947,60077.18564999999,89299.91545999999,155755.6665,44204.94154,56220.37867,103218.35999999999,103218.35999999999,103218.35999999999,103218.35999999999,273083.5668,273083.5668 +26614800.0,90902.361,85626.111,250028.24412,71381.97583,71381.97583,71381.97583,30287.719,166037.39624,574083.48288,130779.20037,199282.59104000003,120727.98599999999,120727.98599999999,120727.98599999999,86210.73300000001,90902.361,90902.361,176927.21605,59207.1363,88006.65692,153499.983,43564.75708,55406.18434,106066.29000000001,106066.29000000001,106066.29000000001,106066.29000000001,273313.09874,273313.09874 +26618400.0,100032.64199999999,97139.30700000002,283646.77644000005,67439.88372,67439.88372,67439.88372,27341.027,172044.87576,584349.69856,155827.88949,237452.02208,122263.06499999999,122263.06499999999,122263.06499999999,86189.642,100032.64199999999,100032.64199999999,188421.86064,63667.27169999999,94636.29027999999,165063.297,46846.53571999999,59579.99006,110169.58799999999,110169.58799999999,110169.58799999999,110169.58799999999,300764.81028,300764.81028 +26622000.0,110095.095,108449.51699999999,316672.58964,70878.19936999999,70878.19936999999,70878.19936999999,36386.21,178528.73575999998,612747.79328,179629.1973,273720.6816,127810.431,127810.431,127810.431,89506.90349999999,110095.095,110095.095,210653.08900999997,74937.0528,111387.91552000001,194281.24800000002,55138.868480000005,70126.27904000001,118570.49699999999,118570.49699999999,118570.49699999999,118570.49699999999,331019.2523,331019.2523 +26625600.0,114045.05399999999,111115.908,324458.45136,73249.68255000001,73249.68255000001,73249.68255000001,41205.157,187915.22759999998,614332.8352,197585.45163000003,301082.59296000004,128940.18599999999,128940.18599999999,128940.18599999999,92461.306,114045.05399999999,114045.05399999999,210396.42741,79399.35089999999,118020.76355999998,205850.169,58422.238439999994,74302.10862,131167.68300000002,131167.68300000002,131167.68300000002,131167.68300000002,342895.46235999995,342895.46235999995 +26629200.0,128811.72,118299.09300000001,345433.35156000004,88621.54345,88621.54345,88621.54345,61517.3195,205469.09960000002,606937.1551999999,217162.7892,330914.7264,173752.842,173752.842,173752.842,125521.515,128811.72,128811.72,209790.56462,90000.4203,133778.40252,233334.423,66222.53148,84222.61554,166441.416,166441.416,166441.416,166441.416,387293.90479999996,387293.90479999996 +26632800.0,242279.99699999997,153425.223,448001.65115999995,193031.86639000004,193031.86639000004,193031.86639000004,140996.44999999998,699850.04808,655586.52032,409667.81499000004,624255.71808,227113.935,227113.935,227113.935,258633.914,242279.99699999997,242279.99699999997,419866.16503,146680.21485,218028.36873999998,380282.0385,107927.66426,137263.70723,271044.53099999996,271044.53099999996,271044.53099999996,271044.53099999996,728455.19098,728455.19098 +26636400.0,926846.595,401824.776,1173328.34592,1360354.04461,1360354.04461,1360354.04461,1073893.1735,2891974.07944,2646952.41984,2180773.05747,3323082.75424,775270.6469999999,775270.6469999999,775270.6469999999,1064521.5595,926846.595,926846.595,2147591.43105,1076473.79595,1600091.91398,2790857.9895,792072.0770200001,1007366.8362100001,1147675.773,1147675.773,1147675.773,1147675.773,2786718.7622999996,2786718.7622999996 +26640000.0,799061.625,1021500.603,2982781.76076,1335580.58953,1335580.58953,1335580.58953,1532668.8265,3424351.60968,2349103.2153600003,2465701.98315,3757260.1648,1035151.0020000001,1035151.0020000001,1035151.0020000001,1208770.6365,799061.625,799061.625,1741819.1239799997,1677092.1939,2492862.96476,4348016.799000001,1234008.5772400002,1569427.0160200002,1202071.593,1202071.593,1202071.593,1202071.593,2402511.9524999997,2402511.9524999997 +26643600.0,1619474.7240000002,1469925.687,4292183.006039999,705226.1038900001,705226.1038900001,705226.1038900001,982224.2219999998,3035058.7981600002,4963176.23168,2361309.4495200003,3598185.8278400004,1400450.9730000002,1400450.9730000002,1400450.9730000002,847340.2490000001,1619474.7240000002,1619474.7240000002,1017421.6857999999,1020577.6561499998,1517006.7876599997,2645942.0714999996,750943.5593399999,955059.0905699999,1804740.0179999997,1804740.0179999997,1804740.0179999997,1804740.0179999997,4869220.67016,4869220.67016 +26647200.0,978275.037,668882.3609999999,1953136.4941199997,385181.69866,385181.69866,385181.69866,349643.71050000004,1175962.01656,5313325.65056,592028.33382,902138.4134400001,971648.529,971648.529,971648.529,979502.2825000002,978275.037,978275.037,890245.2425099999,1649094.07815,2451246.01246,4275429.0915,1213407.49454,1543226.31017,512913.246,512913.246,512913.246,512913.246,2941346.94458,2941346.94458 +26650800.0,492679.96200000006,294608.835,860257.7982000001,174294.46143999998,174294.46143999998,174294.46143999998,298243.5785,863819.43608,1734096.1683200002,532149.95925,810895.176,349271.499,349271.499,349271.499,288053.003,492679.96200000006,492679.96200000006,436810.86669999996,386440.70489999995,574413.09716,1001883.309,284344.02483999997,361632.16582,361918.03799999994,361918.03799999994,361918.03799999994,361918.03799999994,1481324.41908,1481324.41908 +26654400.0,565926.693,989591.6340000001,2889607.5712800003,362008.11581000005,362008.11581000005,362008.11581000005,687258.2255,1286970.8681599998,1960064.8576,955326.93648,1455736.28416,496680.74399999995,496680.74399999995,496680.74399999995,826830.9700000001,565926.693,565926.693,552341.61216,563935.9563,838245.5449199999,1462056.183,414945.46908,527732.66034,549360.0959999999,549360.0959999999,549360.0959999999,549360.0959999999,1701552.92362,1701552.92362 +26658000.0,401568.50999999995,339932.502,992602.90584,259924.39208999998,259924.39208999998,259924.39208999998,493142.972,828359.6802399999,1172717.96864,548668.4288400001,836066.1772800001,352621.101,352621.101,352621.101,287567.54600000003,401568.50999999995,401568.50999999995,385279.3646,362286.0918,538509.20312,939260.238,266571.00088,339028.21924,348241.662,348241.662,348241.662,348241.662,1207382.6533999997,1207382.6533999997 +26661600.0,295585.78799999994,229866.51,671210.2091999999,88041.99987,88041.99987,88041.99987,208069.86549999999,646554.58184,885753.35552,391916.34299999994,597205.8559999999,272256.68700000003,272256.68700000003,272256.68700000003,196816.8405,295585.78799999994,295585.78799999994,313095.48296,248790.9897,369807.84148,645013.677,183061.02452,232819.22246000002,264436.32300000003,264436.32300000003,264436.32300000003,264436.32300000003,888727.9359199998,888727.9359199998 +26665200.0,473738.67000000004,355182.12,1037131.7904,773618.2699300001,773618.2699300001,773618.2699300001,736626.2855,1002723.9996,923747.64288,874861.2085500001,1333121.8416000002,361063.545,361063.545,361063.545,837009.747,473738.67000000004,473738.67000000004,729631.23766,621661.69575,924050.2242999999,1611715.5075,457420.2107,581752.54985,325342.551,325342.551,325342.551,325342.551,1424374.2678,1424374.2678 +26668800.0,634918.344,1071538.4730000002,3128892.3411600003,789285.2831600001,789285.2831600001,789285.2831600001,874126.9775,1793091.40216,2208061.8041600003,1117442.38473,1702769.34816,744304.671,744304.671,744304.671,1242281.635,634918.344,634918.344,1154207.87417,968501.58165,1439599.8818599998,2510930.0265,712625.85514,906326.1714700001,773702.382,773702.382,773702.382,773702.382,1908987.82096,1908987.82096 +26672400.0,618942.78,744956.76,2175273.7392,792585.9921100001,792585.9921100001,792585.9921100001,759136.4689999999,1595963.4928,2351945.2672,1089091.23141,1659567.59072,656816.751,656816.751,656816.751,965011.1590000002,618942.78,618942.78,811852.0981999999,843431.5147499999,1253693.2638999997,2186674.2975,620598.9911,789285.2940499999,706442.9400000001,706442.9400000001,706442.9400000001,706442.9400000001,1860954.6252,1860954.6252 +26676000.0,1957874.5380000002,1611942.417,4706871.857639999,3005426.59571,3005426.59571,3005426.59571,2670254.2965,3092254.158,5655091.1046400005,3349403.49723,5103852.94816,2110137.018,2110137.018,2110137.018,2545423.9825,1957874.5380000002,1957874.5380000002,2372384.5107299997,2476447.19415,3681040.0268599996,6420418.6515,1822175.9601399999,2317465.39897,2198724.639,2198724.639,2198724.639,2198724.639,5886676.11092,5886676.11092 +26679600.0,1229618.358,708362.538,2068418.61096,1179840.1795400002,1179840.1795400002,1179840.1795400002,1196445.2955,1980578.6804,3057554.5241600005,1645974.95412,2508152.3110399996,1048380.3030000001,1048380.3030000001,1048380.3030000001,1232109.5359999998,1229618.358,1229618.358,877739.2857999998,1201548.77955,1786005.84022,3115126.4655,884102.5587800001,1124412.3146900001,1131287.7510000002,1131287.7510000002,1131287.7510000002,1131287.7510000002,3697052.5297199995,3697052.5297199995 +26683200.0,861662.082,681609.147,1990298.70924,944645.73423,944645.73423,944645.73423,897758.4000000001,1539557.27464,2806836.88128,1300560.42144,1981806.35648,812850.4169999999,812850.4169999999,812850.4169999999,1077365.135,861662.082,861662.082,884246.38848,1053261.6623999998,1565588.9401599998,2730678.3839999996,774992.53184,985644.8643199999,916332.0630000001,916332.0630000001,916332.0630000001,916332.0630000001,2590730.65988,2590730.65988 +26686800.0,800826.927,671281.314,1960141.43688,907236.48389,907236.48389,907236.48389,879347.546,1483952.5263999999,2757130.92672,1262519.25933,1923838.87136,792858.156,792858.156,792858.156,1042358.989,800826.927,800826.927,898770.65967,1030341.8295,1531520.4478,2671256.595,758128.0622,964196.4281,895926.8219999999,895926.8219999999,895926.8219999999,895926.8219999999,2407819.62718,2407819.62718 +26690400.0,576480.5549999999,475865.559,1389527.43228,594166.51613,594166.51613,594166.51613,499312.71599999996,755242.93864,1691985.9769599999,696644.24046,1061553.12832,418908.909,418908.909,418908.909,524252.08150000003,576480.5549999999,576480.5549999999,620668.27784,480228.18705,713820.66322,1245036.0405000001,353353.08578,449398.72319000005,570560.133,570560.133,570560.133,570560.133,1733284.8687,1733284.8687 +26694000.0,96400.788,85213.66500000001,248823.9018,101332.92675000001,101332.92675000001,101332.92675000001,56189.399000000005,137547.58112,587918.9696000001,125722.7265,191577.488,124672.008,124672.008,124672.008,93924.8905,96400.788,96400.788,166213.91267,68890.6863,102400.47692,178605.483,50689.93708,64468.07434000001,110832.087,110832.087,110832.087,110832.087,289845.03592,289845.03592 +26697600.0,92243.403,85370.508,249281.88335999998,77578.14383000002,77578.14383000002,77578.14383000002,35264.376000000004,150335.74448000002,581428.16832,126737.92970999998,193124.46432,122267.41500000001,122267.41500000001,122267.41500000001,86458.98800000001,92243.403,92243.403,173876.42064,61479.83834999999,91384.84613999998,159392.17349999998,45237.016859999996,57532.984529999994,105771.61799999999,105771.61799999999,105771.61799999999,105771.61799999999,277345.16502,277345.16502 +26701200.0,92205.441,86932.053,253841.59475999998,72685.27936999999,72685.27936999999,72685.27936999999,30628.997,168257.92192,585839.24672,133150.93806000001,202896.66752000002,122630.922,122630.922,122630.922,87683.8375,92205.441,92205.441,179148.51734,60342.86565,89694.82746,156444.4665,44400.42954,56469.00267,108353.994,108353.994,108353.994,108353.994,277231.02594,277231.02594 +26704800.0,102220.098,98919.36600000001,288844.54872,68552.78045,68552.78045,68552.78045,28430.5245,173362.74184,593230.8684800001,157666.49661,240253.70912,123587.082,123587.082,123587.082,87218.61400000002,102220.098,102220.098,191641.46299999996,65583.0351,97483.91883999998,170030.091,48256.159159999996,61372.76618,111923.36700000001,111923.36700000001,111923.36700000001,111923.36700000001,307341.76132,307341.76132 +26708400.0,108961.092,106898.049,312142.30308,70278.37905,70278.37905,70278.37905,35942.879,175628.66767999998,604589.6972800001,177347.21550000002,270243.37600000005,125650.19700000001,125650.19700000001,125650.19700000001,88367.2755,108961.092,108961.092,207341.92349000002,74275.56225,110404.6629,192566.2725,54652.142100000005,69507.25455,117792.687,117792.687,117792.687,117792.687,327609.68328,327609.68328 +26712000.0,113669.96100000001,110530.209,322748.21028,72876.62228000001,72876.62228000001,72876.62228000001,41245.029,181689.0576,608597.6934400001,195691.81149,298197.04608,127369.887,127369.887,127369.887,91878.02750000001,113669.96100000001,113669.96100000001,207841.12452999997,78855.99075,117213.1023,204441.45750000002,58022.432700000005,73793.63085,132179.99099999998,132179.99099999998,132179.99099999998,132179.99099999998,341767.68274,341767.68274 +26715600.0,130193.89199999999,119000.48100000001,347481.40452000004,89604.13506000002,89604.13506000002,89604.13506000002,62376.867,200876.40096,612335.8656,218768.36331,333361.31552,176044.071,176044.071,176044.071,129486.756,130193.89199999999,130193.89199999999,210902.84825999997,91317.16034999999,135735.63094,236748.1935,67191.39206,85454.82413000001,169152.74099999998,169152.74099999998,169152.74099999998,169152.74099999998,391449.63528,391449.63528 +26719200.0,246888.67500000002,155987.766,455484.27671999997,194797.98184,194797.98184,194797.98184,142064.2195,689913.4340799999,670747.61536,427432.15893,651325.19456,232086.43800000002,232086.43800000002,232086.43800000002,263363.3765,246888.67500000002,246888.67500000002,423920.87958999997,149236.93935,221828.73453999998,386910.5835,109808.90846,139656.29633,276556.827,276556.827,276556.827,276556.827,742311.9495,742311.9495 +26722800.0,937190.2109999999,409500.87599999993,1195742.5579199998,1368127.4434300002,1368127.4434300002,1368127.4434300002,1084235.824,2905464.9816799997,2679141.5526400004,2217356.96511,3378829.6611200003,785581.77,785581.77,785581.77,1088385.795,937190.2109999999,937190.2109999999,2157542.2532299994,1092134.10105,1623369.7008199997,2831458.7805,803594.96818,1022021.7883899999,1161321.513,1161321.513,1161321.513,1161321.513,2817818.5677399994,2817818.5677399994 +26726400.0,815480.2080000001,1033281.4140000001,3017181.7288800003,1358768.73077,1358768.73077,1358768.73077,1550692.4579999999,3468132.33768,2414644.7488,2517258.84249,3835822.9980800003,1060570.1099999999,1060570.1099999999,1060570.1099999999,1235143.042,815480.2080000001,815480.2080000001,1752364.5824099998,1707972.76755,2538764.45942,4428077.5455,1256730.5795800001,1598325.1330900001,1228495.2119999998,1228495.2119999998,1228495.2119999998,1228495.2119999998,2451877.15872,2451877.15872 +26730000.0,1641723.7349999999,1501064.991,4383109.77372,730022.98996,730022.98996,730022.98996,1028550.4915,3104363.4272000003,5095763.088640001,2421889.25601,3690497.91392,1438753.395,1438753.395,1438753.395,878276.1714999999,1641723.7349999999,1641723.7349999999,1105852.84316,1054560.05595,1567518.8979800001,2734044.5895000002,775947.8930200001,986859.9042100001,1831723.4160000002,1831723.4160000002,1831723.4160000002,1831723.4160000002,4936116.0298999995,4936116.0298999995 +26733600.0,1009335.747,695283.3389999999,2030227.3498799999,397890.67659000005,397890.67659000005,397890.67659000005,375566.56549999997,1240898.01024,5417406.722560001,638599.33389,973103.74688,1000605.2579999999,1000605.2579999999,1000605.2579999999,1016070.202,1009335.747,1009335.747,994098.25073,1689518.85345,2511334.19698,4380234.0645,1243152.14402,1581055.9147100002,548054.9789999999,548054.9789999999,548054.9789999999,548054.9789999999,3034736.14598,3034736.14598 +26737200.0,459070.36199999996,252952.728,738621.9657599999,155910.37725999998,155910.37725999998,155910.37725999998,254245.26049999997,774873.35696,1592139.09632,459192.50979,699721.91968,303636.549,303636.549,303636.549,247471.44449999998,459070.36199999996,459070.36199999996,389052.10253,339682.9851,504911.49884,880659.591,249939.57916000002,317876.17618,318437.277,318437.277,318437.277,318437.277,1380271.5550799998,1380271.5550799998 +26740800.0,515205.31500000006,932428.632,2722691.60544,307214.95123,307214.95123,307214.95123,627307.45,1164565.79968,1714183.1027199998,851955.8367599999,1298218.41792,433175.42400000006,433175.42400000006,433175.42400000006,772242.072,515205.31500000006,515205.31500000006,468471.38818999997,483536.1825,718737.733,1253612.3250000002,355787.117,452494.3535,482746.416,482746.416,482746.416,482746.416,1549050.6471,1549050.6471 +26744400.0,401558.36100000003,340818.579,995190.2506799999,262150.05531,262150.05531,262150.05531,497575.4385,825433.2562399999,1174838.448,551878.47582,840957.6774400001,352440.61199999996,352440.61199999996,352440.61199999996,292491.934,401558.36100000003,401558.36100000003,384669.1199,364201.6041,541356.45844,944226.381,267980.43955999997,340820.76038,350725.73699999996,350725.73699999996,350725.73699999996,350725.73699999996,1207352.13874,1207352.13874 +26748000.0,298109.23199999996,232165.068,677921.99856,89476.76848,89476.76848,89476.76848,211810.053,646500.4391999999,892839.4668800001,396389.49777,604022.09184,273474.069,273474.069,273474.069,199490.151,298109.23199999996,298109.23199999996,312079.25020999997,251910.59939999998,374444.89095999993,653101.5539999999,185356.44103999998,235738.56092,267863.175,267863.175,267863.175,267863.175,896315.0908799999,896315.0908799999 +26751600.0,487128.74700000003,370437.891,1081678.64172,779103.75895,779103.75895,779103.75895,756448.3184999999,1031522.2718400001,981529.87584,899009.9575799999,1369919.93536,377666.058,377666.058,377666.058,856601.9035,487128.74700000003,487128.74700000003,741351.6396,640423.5110999999,951938.1572399999,1660357.251,471225.20076,599309.90298,341950.248,341950.248,341950.248,341950.248,1464633.7659800001,1464633.7659800001 +26755200.0,677526.042,1125362.307,3286057.9364400003,830074.79467,830074.79467,830074.79467,927312.2669999999,1896143.68592,2385619.29152,1201817.94453,1831341.6297600002,802154.1600000001,802154.1600000001,802154.1600000001,1299163.376,677526.042,677526.042,1199719.4351999997,1030433.50935,1531656.72254,2671494.2835,758195.52046,964282.22233,825718.7309999999,825718.7309999999,825718.7309999999,825718.7309999999,2037094.9662799998,2037094.9662799998 +26758800.0,676019.1989999999,823777.8929999999,2405431.44756,847630.30418,847630.30418,847630.30418,833422.7125,1761397.5586400002,2635609.7043200005,1198160.15172,1825767.85024,734689.2930000001,734689.2930000001,734689.2930000001,1064849.366,676019.1989999999,676019.1989999999,884805.59908,934323.8341499999,1388797.4028599998,2422321.0515,687477.78414,874342.55097,790966.953,790966.953,790966.953,790966.953,2032564.3916599997,2032564.3916599997 +26762400.0,1999843.9230000002,1654144.014,4830100.52088,3060331.15619,3060331.15619,3060331.15619,2715803.9055,3170065.73984,5885422.31488,3422019.71685,5214506.2352,2155496.403,2155496.403,2155496.403,2634927.9215,1999843.9230000002,1999843.9230000002,2516883.52929,2557919.7238499997,3802142.4043399994,6631643.728499999,1882123.64866,2393707.59343,2251251.714,2251251.714,2251251.714,2251251.714,6012864.06182,6012864.06182 +26766000.0,1287316.989,746204.796,2178918.00432,1269312.7518500001,1269312.7518500001,1269312.7518500001,1271820.676,2095234.9682399998,3261972.3705600007,1737209.40855,2647176.2416000003,1131644.307,1131644.307,1131644.307,1334656.5435,1287316.989,1287316.989,936374.09489,1279801.3769999999,1902322.0467999997,3318003.57,941681.0131999999,1197641.2885999999,1220655.909,1220655.909,1220655.909,1220655.909,3870533.0802599997,3870533.0802599997 +26769600.0,931108.2869999998,729776.892,2130948.52464,1005543.1295800002,1005543.1295800002,1005543.1295800002,957931.9155000001,1649141.0435999997,3031235.0208,1388709.73269,2116129.1164800003,877793.448,877793.448,877793.448,1165981.1765,931108.2869999998,931108.2869999998,993628.50132,1131996.29895,1682621.65918,2934805.2195,832925.67182,1059324.93161,987007.9439999999,987007.9439999999,987007.9439999999,987007.9439999999,2799532.2495799996,2799532.2495799996 +26773200.0,863914.53,728993.7119999999,2128661.63904,980034.0545600001,980034.0545600001,980034.0545600001,959644.0,1611329.4963999998,3025262.3795200004,1365773.96571,2081179.3763199998,867796.335,867796.335,867796.335,1146015.5280000002,863914.53,863914.53,993302.7152099998,1122891.02415,1669087.3988599998,2911198.9515,826225.98814,1050804.19297,977954.379,977954.379,977954.379,977954.379,2597503.0202,2597503.0202 +26776800.0,617167.686,519478.4550000001,1516877.0886000001,638022.0319000001,638022.0319000001,638022.0319000001,536534.9990000001,816646.73096,1852976.58624,751963.07571,1145848.4963200002,456687.765,456687.765,456687.765,573241.1195,617167.686,617167.686,692978.66729,522872.82,777208.488,1355596.2000000002,384731.112,489305.67600000004,617916.186,617916.186,617916.186,617916.186,1855617.50924,1855617.50924 +26780400.0,104044.218,94561.91700000002,276120.79764,108289.84693999999,108289.84693999999,108289.84693999999,58484.0585,161898.51816,654855.59104,143044.51686,217972.59712000002,138210.57300000003,138210.57300000003,138210.57300000003,102165.9135,104044.218,104044.218,184326.35727999997,75506.2398,112233.96631999999,195756.918,55557.67768,70658.92564,120704.796,120704.796,120704.796,120704.796,312826.28211999993,312826.28211999993 +26784000.0,100466.016,93613.31999999999,273350.8944,85203.98073000002,85203.98073000002,85203.98073000002,37787.932,173630.47079999998,654902.4294400001,159169.60227,242544.15584,136644.51,136644.51,136644.51,95945.878,100466.016,100466.016,196583.68508999996,68743.31085,102181.41513999998,178223.39849999998,50581.497859999996,64330.16003,117743.81099999999,117743.81099999999,117743.81099999999,117743.81099999999,302067.82143999997,302067.82143999997 +26787600.0,101139.975,95538.201,278971.54692,79017.91040000001,79017.91040000001,79017.91040000001,32726.886499999997,184001.48152,645765.92768,179600.3139,273676.66880000004,134226.56100000002,134226.56100000002,134226.56100000002,95405.2155,101139.975,101139.975,195272.99375999995,66676.80644999999,99109.72218,172865.7945,49060.95882,62396.32011,119187.05399999999,119187.05399999999,119187.05399999999,119187.05399999999,304094.1915,304094.1915 +26791200.0,115047.53099999999,113428.27500000001,331210.563,76132.93567,76132.93567,76132.93567,35621.081999999995,190044.98215999999,663582.4608,200424.5208,305408.79360000003,137050.11000000002,137050.11000000002,137050.11000000002,95966.77649999999,115047.53099999999,115047.53099999999,219181.04103999998,77360.42295,114990.06077999999,200564.0595,56921.99022,72394.07481,125734.08899999999,125734.08899999999,125734.08899999999,125734.08899999999,345909.5765399999,345909.5765399999 +26794800.0,119197.731,116442.375,340011.735,77758.96986,77758.96986,77758.96986,39258.019499999995,195968.1496,670996.26688,223984.32378,341309.44576000003,138518.403,138518.403,138518.403,97761.8075,119197.731,119197.731,226506.70951999997,84394.71,125445.96399999999,218801.1,62097.836,78976.778,132954.549,132954.549,132954.549,132954.549,358387.84453999996,358387.84453999996 +26798400.0,129619.30500000002,122905.22399999999,358883.2540799999,82744.87045000002,82744.87045000002,82744.87045000002,54732.9195,206366.9996,654431.728,241601.84055,368155.1856,163649.346,163649.346,163649.346,114056.68050000002,129619.30500000002,129619.30500000002,221216.92644999997,90576.3222,134634.43448,234827.502,66646.28152,84761.54596,171227.70299999998,171227.70299999998,171227.70299999998,171227.70299999998,389722.04370000004,389722.04370000004 +26802000.0,154910.73599999998,128994.813,376664.85396,95250.69840000001,95250.69840000001,95250.69840000001,65989.41649999999,270024.77496,652035.50592,262912.37049,400628.37408000004,214812.71399999998,214812.71399999998,214812.71399999998,168656.5545,154910.73599999998,154910.73599999998,229620.61693999998,106249.806,157931.8104,275462.46,78178.8696,99428.8308,201155.10900000003,201155.10900000003,201155.10900000003,201155.10900000003,465764.94623999996,465764.94623999996 +26805600.0,282738.61199999996,168498.075,492014.379,200418.45648,200418.45648,200418.45648,144787.202,773080.58208,704405.7984000001,471129.79683,717912.0713600001,262672.998,262672.998,262672.998,283069.6925,282738.61199999996,282738.61199999996,449268.30975,161061.9552,239405.67167999997,417568.032,118509.78431999999,150722.17536,307562.322,307562.322,307562.322,307562.322,850100.7600799999,850100.7600799999 +26809200.0,998156.595,440898.399,1287423.32508,1418245.7693800002,1418245.7693800002,1418245.7693800002,1155473.7355,3000601.8812800003,2866788.73856,2351357.26833,3583020.5993600003,838496.3130000001,838496.3130000001,838496.3130000001,1196829.5010000002,998156.595,998156.595,2230140.75206,1185627.56535,1762340.23294,3073849.2435000003,872387.69006,1109513.20313,1232702.3220000002,1232702.3220000002,1232702.3220000002,1232702.3220000002,3001124.1623,3001124.1623 +26812800.0,846052.689,1047472.4310000001,3058619.49852,1444987.6962400002,1444987.6962400002,1444987.6962400002,1612188.2245,3570297.4319999996,2517123.0227200002,2616626.89134,3987240.9772799998,1090787.4780000001,1090787.4780000001,1090787.4780000001,1319801.5425,846052.689,846052.689,1828589.9270599997,1791658.56555,2663156.6826199996,4645040.7255,1318306.79638,1676638.50949,1274501.01,1274501.01,1274501.01,1274501.01,2543798.41826,2543798.41826 +26816400.0,1674147.4680000003,1606226.604,4690181.68368,791225.8957900001,791225.8957900001,791225.8957900001,1162385.042,3245992.566799999,5387662.434560001,2548669.33713,3883686.60896,1488537.729,1488537.729,1488537.729,938198.4535000001,1674147.4680000003,1674147.4680000003,1206936.8161499999,1119091.58145,1663439.8321799997,2901348.5445,823430.34882,1047248.66511,1863962.2019999998,1863962.2019999998,1863962.2019999998,1863962.2019999998,5033603.38712,5033603.38712 +26820000.0,1056794.529,726707.772,2121986.69424,421413.08693000005,421413.08693000005,421413.08693000005,402331.895,1324777.3696,5575958.68864,690429.6050399999,1052083.20768,1051188.48,1051188.48,1051188.48,1059786.28,1056794.529,1056794.529,1105896.0706299997,1758125.8291500001,2613312.96086,4558104.0015,1293633.32614,1645258.49197,593185.608,593185.608,593185.608,593185.608,3177428.88386,3177428.88386 +26823600.0,531646.665,323908.35900000005,945812.4082800001,203641.60751,203641.60751,203641.60751,337474.55,927082.8362399999,2013669.5840000003,587996.4237,895994.5504000001,386587.947,386587.947,386587.947,319983.47849999997,531646.665,531646.665,474024.057,466261.8552,693060.83168,1208827.0320000001,343076.62432,436328.99536,398782.578,398782.578,398782.578,398782.578,1598484.3061,1598484.3061 +26827200.0,601906.956,1019773.0170000001,2977737.20964,413658.91479,413658.91479,413658.91479,745624.1765,1355283.9703199998,2093434.5414400003,1018213.85043,1551563.9625600001,536276.7449999999,536276.7449999999,536276.7449999999,876534.5295000001,601906.956,601906.956,617916.95303,616401.13455,916230.8222199999,1598077.0154999997,453549.47677999997,576829.70369,595745.016,595745.016,595745.016,595745.016,1809733.5810399998,1809733.5810399998 +26830800.0,452049.88499999995,409123.32,1194640.0944,309522.60053,309522.60053,309522.60053,577188.339,939223.4312,1368500.1088000003,640132.25997,975439.6342400002,411676.78800000006,411676.78800000006,411676.78800000006,378129.43000000005,452049.88499999995,452049.88499999995,442264.52165999997,431281.96875,641066.0375,1118138.4375,317338.3375,403594.73125,406695.576,406695.576,406695.576,406695.576,1359163.3208999997,1359163.3208999997 +26834400.0,347028.336,281019.582,820577.17944,108628.54827000001,108628.54827000001,108628.54827000001,266396.58150000003,759423.10552,1093129.6588800002,482159.09216999996,734718.6166399999,333548.24100000004,333548.24100000004,333548.24100000004,244818.16100000002,347028.336,347028.336,362173.82252999995,316019.27249999996,469737.28899999993,819309.225,232527.761,295731.6155,322468.401,322468.401,322468.401,322468.401,1043398.5302399999,1043398.5302399999 +26838000.0,522766.38300000003,456181.224,1332049.17408,851053.81317,851053.81317,851053.81317,817282.1684999999,1116380.9816799997,1113759.82528,963722.7612600002,1468529.9219200003,417762.31499999994,417762.31499999994,417762.31499999994,929284.2159999998,522766.38300000003,522766.38300000003,775436.7666499999,701778.99015,1043138.1532599999,1819427.0115,516370.71374000004,656726.51177,379973.70599999995,379973.70599999995,379973.70599999995,379973.70599999995,1571784.25822,1571784.25822 +26841600.0,692013.771,1127469.378,3292210.58376,931449.34938,931449.34938,931449.34938,930736.4010000002,1902881.1888,2440736.97984,1239433.10547,1888659.9702400002,805148.6130000001,805148.6130000001,805148.6130000001,1329325.662,692013.771,692013.771,1204181.2296799999,1060047.2470500001,1575675.16722,2748270.6405,779985.38178,991994.83119,856802.2620000001,856802.2620000001,856802.2620000001,856802.2620000001,2080654.7381399998,2080654.7381399998 +26845200.0,665035.794,845650.794,2469300.31848,858777.19983,858777.19983,858777.19983,817837.0795,1777491.40728,2600408.75904,1174241.22858,1789319.9673600001,709001.7390000001,709001.7390000001,709001.7390000001,1066812.7295,665035.794,665035.794,942346.3015199999,917244.8748,1363410.90032,2378042.268,674911.04368,858360.01864,801528.4979999999,801528.4979999999,801528.4979999999,801528.4979999999,1999540.9539599998,1999540.9539599998 +26848800.0,2017242.252,1649082.5850000002,4815321.148200001,3116536.59856,3116536.59856,3116536.59856,2713312.1679999996,3151838.08368,5921159.611520001,3429296.2809,5225594.3328,2150493.324,2150493.324,2150493.324,2668876.6265000002,2017242.252,2017242.252,2732064.88698,2570998.30785,3821582.66994,6665551.1685,1891746.90306,2405946.56463,2252221.413,2252221.413,2252221.413,2252221.413,6065175.03768,6065175.03768 +26852400.0,1331855.61,763160.697,2228429.23524,1382648.85748,1382648.85748,1382648.85748,1339037.4130000002,2150304.20016,3379991.0816,1801190.3657999998,2744671.0335999997,1192281.969,1192281.969,1192281.969,1402629.221,1331855.61,1331855.61,1011757.67992,1344821.10975,1998968.6619,3486573.2475000005,989522.6931,1258486.9150500002,1298924.3220000002,1298924.3220000002,1298924.3220000002,1298924.3220000002,4004445.8674000003,4004445.8674000003 +26856000.0,974736.966,746507.406,2179801.62552,1030695.32258,1030695.32258,1030695.32258,981804.2359999999,1685482.94312,3098550.6470399997,1420956.5659800002,2165267.1481600003,898667.0819999999,898667.0819999999,898667.0819999999,1198672.5695,974736.966,974736.966,1032802.6516599999,1158961.3245,1722703.0058000002,3004714.5450000004,852766.6042000001,1084558.8691000002,1016054.8859999999,1016054.8859999999,1016054.8859999999,1016054.8859999999,2930709.14444,2930709.14444 +26859600.0,894692.4209999999,756463.5149999999,2208873.4637999996,1017104.4936800001,1017104.4936800001,1017104.4936800001,994881.3944999999,1667779.67808,3142361.58912,1438996.76088,2192756.96896,900113.121,900113.121,900113.121,1192698.43,894692.4209999999,894692.4209999999,1043512.1455199999,1165513.27275,1732441.9511,3021701.0775,857587.5438999999,1090690.19845,1015974.3119999999,1015974.3119999999,1015974.3119999999,1015974.3119999999,2690041.8791399994,2690041.8791399994 +26863200.0,647454.03,550469.625,1607371.305,672925.6233699999,672925.6233699999,672925.6233699999,564939.627,862494.28752,1970464.60352,819259.29666,1248395.1187200001,483603.54,483603.54,483603.54,609140.0175000001,647454.03,647454.03,742859.52169,554754.9140999999,824598.6624399999,1438253.481,408190.03556,519141.01838,653750.094,653750.094,653750.094,653750.094,1946678.4502,1946678.4502 +26866800.0,111091.62299999999,101420.199,296146.98108,114803.54413,114803.54413,114803.54413,60659.938500000004,178303.83151999998,715498.90496,181594.45667999997,276715.36256,150089.66999999998,150089.66999999998,150089.66999999998,109657.8805,111091.62299999999,111091.62299999999,201305.29171999998,81617.301,121317.5684,211600.41000000003,60054.2116,76377.67180000001,129852.999,129852.999,129852.999,129852.999,334015.47981999995,334015.47981999995 +26870400.0,107812.39500000002,100876.76999999999,294560.16839999997,92080.02188,92080.02188,92080.02188,40089.234500000006,191176.54056000002,719012.4704000001,180882.46154999998,275630.4176,149057.40899999999,149057.40899999999,149057.40899999999,104388.2735,107812.39500000002,107812.39500000002,212692.88495,75203.11349999999,111783.39339999999,194971.03499999997,55334.6366,70375.25929999999,128098.49100000001,128098.49100000001,128098.49100000001,128098.49100000001,324155.9343,324155.9343 +26874000.0,115671.93299999999,111975.35399999999,326968.03367999993,89280.88752,89280.88752,89280.88752,36644.58,208848.94703999997,742205.15968,215250.93029999998,328001.4176,153198.117,153198.117,153198.117,107610.76550000001,115671.93299999999,115671.93299999999,223680.76717999997,77624.7705,115382.9922,201249.405,57116.497800000005,72641.4519,135789.033,135789.033,135789.033,135789.033,347786.94521999994,347786.94521999994 +26877600.0,129719.51100000003,129289.242,377524.58663999994,86692.46927000002,86692.46927000002,86692.46927000002,43916.285,214907.88864000002,760419.38944,241480.52061000004,367970.31712,155823.696,155823.696,155823.696,107969.1935,129719.51100000003,129719.51100000003,252921.00729999994,92753.87759999999,137871.19583999997,240473.016,68248.53216,86799.30768,143296.143,143296.143,143296.143,143296.143,390023.32974,390023.32974 +26881200.0,142300.608,135961.005,397006.13460000005,91827.51094000001,91827.51094000001,91827.51094000001,54257.39200000001,238738.47,781439.0380800001,277200.35091,422400.53472,170601.378,170601.378,170601.378,113459.01,142300.608,142300.608,258776.30688,102806.47575,152813.57630000002,266535.3075,75645.2587,96206.55385000001,183306.174,183306.174,183306.174,183306.174,427850.49471999996,427850.49471999996 +26884800.0,177939.918,152426.75400000002,445086.12168000004,104332.3743,104332.3743,104332.3743,70796.21500000001,341655.58696,805250.78848,319890.16101,487451.67392,272258.751,272258.751,272258.751,202594.07,177939.918,177939.918,276716.9912,125463.75119999998,186491.79807999998,325276.392,92316.53791999999,117409.28816,246897.47099999996,246897.47099999996,246897.47099999996,246897.47099999996,535006.02012,535006.02012 +26888400.0,227843.17799999999,169612.404,495268.21968,131490.61332,131490.61332,131490.61332,79265.1685,459265.94536,810709.7632,363473.1009000001,553863.7728000002,326336.127,326336.127,326336.127,222676.95450000002,227843.17799999999,227843.17799999999,305083.01862999995,144515.3319,214810.44396,374669.379,106334.73804000001,135237.80442,290968.299,290968.299,290968.299,290968.299,685048.4885199999,685048.4885199999 +26892000.0,394851.88800000004,219246.45899999997,640199.66028,246044.32457,246044.32457,246044.32457,158996.41100000002,965649.4195200001,914041.3337600001,634647.87708,967082.47936,398067.28800000006,398067.28800000006,398067.28800000006,348870.179,394851.88800000004,394851.88800000004,527725.04707,208234.2654,309523.52535999997,539866.6140000001,153219.28664,194866.13972,447889.57500000007,447889.57500000007,447889.57500000007,447889.57500000007,1187188.0099199999,1187188.0099199999 +26895600.0,1150471.953,537896.904,1570658.9596799999,1543857.97995,1543857.97995,1543857.97995,1331195.8904999997,3260127.25312,3684566.1606400004,2689902.0582000003,4098898.3744000006,1087240.371,1087240.371,1087240.371,1538872.1215000001,1150471.953,1150471.953,2441887.6013999996,1429422.2846999997,2124721.51948,3705909.627,1051772.44652,1337656.90346,1435075.92,1435075.92,1435075.92,1435075.92,3459085.67202,3459085.67202 +26899200.0,992966.754,1117156.188,3262096.06896,1646542.36648,1646542.36648,1646542.36648,1797594.9635,3960048.13456,2973606.0870400006,2934408.9698699997,4471480.335039999,1244413.482,1244413.482,1244413.482,1590555.064,992966.754,992966.754,2076628.45728,2004599.5627499998,2979676.3870999995,5197109.9775,1474989.3079,1875909.22045,1440527.757,1440527.757,1440527.757,1440527.757,2985520.04036,2985520.04036 +26902800.0,1633560.933,1729011.846,5048714.5903199995,836691.7518300001,836691.7518300001,836691.7518300001,1287792.2645,3316767.1121599996,5410802.040320001,2570320.0246500005,3916678.1328000007,1417617.3539999998,1417617.3539999998,1417617.3539999998,964337.2060000001,1633560.933,1633560.933,1153907.3597999997,1176454.7284499998,1748705.5469799996,3050067.8145,865638.2940199999,1100929.2397099999,1787357.178,1787357.178,1787357.178,1787357.178,4911573.20522,4911573.20522 +26906400.0,984713.58,608296.5120000001,1776225.81504,392736.10299000004,392736.10299000004,392736.10299000004,331135.14,1166105.4397599997,5224621.77216,480799.09941,732646.24672,955207.9619999999,955207.9619999999,955207.9619999999,953383.529,984713.58,984713.58,898085.1384699999,1657410.57495,2463607.81758,4296990.3795,1219526.79342,1551008.90841,452074.989,452074.989,452074.989,452074.989,2960705.4971999996,2960705.4971999996 +26910000.0,407905.08600000007,165377.235,482901.52619999996,142509.76795,142509.76795,142509.76795,173430.9745,629709.7792799999,1555064.7891199999,336303.52497,512462.5142400001,235159.593,235159.593,235159.593,169397.56399999998,407905.08600000007,407905.08600000007,300785.7165299999,285874.59599999996,424929.6463999999,741156.3599999999,210347.23359999998,267522.1528,243511.212,243511.212,243511.212,243511.212,1226434.6252400002,1226434.6252400002 +26913600.0,538592.0819999999,949696.5750000001,2773113.9990000003,252690.83807000003,252690.83807000003,252690.83807000003,634408.39,1244736.53128,1814107.4272000003,871467.0806100001,1327949.83712,465920.31000000006,465920.31000000006,465920.31000000006,796288.7345,538592.0819999999,538592.0819999999,495618.79731,500614.95959999994,744123.9646399999,1297890.636,368353.72336,468476.71528,513522.522,513522.522,513522.522,513522.522,1619366.85988,1619366.85988 +26917200.0,313983.018,263197.42500000005,768536.481,212910.73133,212910.73133,212910.73133,411596.1395,631183.42152,743061.42656,385260.97491000005,587064.3427200001,245173.035,245173.035,245173.035,259567.61250000002,313983.018,313983.018,269955.06434,222183.90314999997,330258.54245999997,576032.3415,163483.46454,207920.24517,244224.60600000003,244224.60600000003,244224.60600000003,244224.60600000003,944042.27412,944042.27412 +26920800.0,184765.293,102954.61499999999,300627.47579999996,72822.06393,72822.06393,72822.06393,88425.12700000001,375299.12032,354248.61120000004,182466.62910000002,278044.38720000006,136936.62,136936.62,136936.62,84482.489,184765.293,184765.293,161053.83125,80054.36145,118994.38418000001,207548.3445,58904.196820000005,74915.06911000001,125696.352,125696.352,125696.352,125696.352,555527.64762,555527.64762 +26924400.0,437152.28099999996,311338.29000000004,909107.8068,700119.13301,700119.13301,700119.13301,634372.2735,913203.0600799999,726154.2220800001,796370.11503,1213516.36576,309275.1,309275.1,309275.1,729053.339,437152.28099999996,437152.28099999996,681900.82844,523792.4292,778575.41328,1357980.372,385407.76272,490166.24856000004,282186.186,282186.186,282186.186,282186.186,1314371.1915399998,1314371.1915399998 +26928000.0,704133.471,1154650.9019999998,3371580.63384,561230.4237100001,561230.4237100001,561230.4237100001,948712.9820000001,1989316.1204799998,2465953.66464,1231490.31537,1876556.6710400002,836125.719,836125.719,836125.719,1300636.1269999999,704133.471,704133.471,1197739.79793,1042960.7142,1550277.40728,2703972.222,767413.0687200001,976005.2115600001,848932.128,848932.128,848932.128,848932.128,2117094.63614,2117094.63614 +26931600.0,768209.658,942341.8559999999,2751638.21952,805916.8782500001,805916.8782500001,805916.8782500001,947521.3475,2028425.4792,2906450.8537600003,1356655.78062,2067284.9990400001,837742.818,837742.818,837742.818,1168850.522,768209.658,768209.658,893763.26689,1033188.0196499999,1535751.0810599998,2678635.6064999998,760222.29594,966859.89987,866595.8069999999,866595.8069999999,866595.8069999999,866595.8069999999,2309750.37172,2309750.37172 +26935200.0,2072785.2719999999,1772051.5710000002,5174390.587320001,3078953.9743600003,3078953.9743600003,3078953.9743600003,2842089.152,3394537.7205600003,6316996.36992,3584851.01457,5462630.11744,2253846.792,2253846.792,2253846.792,2780995.7419999996,2072785.2719999999,2072785.2719999999,2520970.37946,2730640.2601499995,4058877.6212599995,7079437.711499999,2009211.8457399998,2555339.8977699997,2376412.119,2376412.119,2376412.119,2376412.119,6232174.38448,6232174.38448 +26938800.0,1472744.034,894070.8150000002,2610686.7798,1475612.81824,1475612.81824,1475612.81824,1519984.5955,2458723.1849599998,4013653.71648,2052215.6136300003,3127185.6969600003,1388158.848,1388158.848,1388158.848,1656944.7474999998,1472744.034,1472744.034,1151276.8188999998,1553936.5781999999,2309802.02488,4028724.462,1143390.37112,1454177.68676,1492863.2999999998,1492863.2999999998,1492863.2999999998,1492863.2999999998,4428050.39556,4428050.39556 +26942400.0,1150971.468,880273.851,2570399.6449200003,1198709.5054,1198709.5054,1198709.5054,1156280.8214999998,1996440.7160799997,3730687.96032,1671450.1225800002,2546971.61536,1073942.8469999998,1073942.8469999998,1073942.8469999998,1430641.121,1150971.468,1150971.468,1183252.42425,1378671.69825,2049284.8453,3574334.0325,1014430.0397000001,1290164.37935,1200050.217,1200050.217,1200050.217,1200050.217,3460587.54712,3460587.54712 +26946000.0,1014145.689,865878.7889999999,2528366.06388,1147544.40801,1147544.40801,1147544.40801,1146700.8105000001,1894356.03272,3610393.2620800002,1601013.80271,2439640.08032,1025940.291,1025940.291,1025940.291,1371426.3185,1014145.689,1014145.689,1208841.28274,1329774.1649999998,1976602.586,3447562.65,978451.114,1244405.947,1151817.708,1151817.708,1151817.708,1151817.708,3049198.0382600003,3049198.0382600003 +26949600.0,710769.66,618077.1989999999,1804785.4210799998,738824.15332,738824.15332,738824.15332,620769.618,979505.62544,2199540.19648,905557.2302700001,1379896.7318400003,536044.9890000001,536044.9890000001,536044.9890000001,677372.99,710769.66,710769.66,854033.8645799999,616555.60155,916460.42502,1598477.4855,453663.13398,576974.25429,721192.392,721192.392,721192.392,721192.392,2137047.4444,2137047.4444 +26953200.0,124690.80299999999,113820.54900000001,332356.00308000005,126272.11223000001,126272.11223000001,126272.11223000001,64773.485,211491.14992000003,818880.0774400001,215889.67848,328974.74816,170916.33299999998,170916.33299999998,170916.33299999998,122774.20749999997,124690.80299999999,124690.80299999999,240383.71825,92443.47344999999,137409.80498,239668.2645,68020.13601999999,86508.83071,147770.35499999998,147770.35499999998,147770.35499999998,147770.35499999998,374903.68101999996,374903.68101999996 +26956800.0,122679.51,112878.093,329604.03156,103074.35765,103074.35765,103074.35765,44047.619,220656.8664,817217.8636800001,241212.73575000002,367562.264,168203.34,168203.34,168203.34,117863.074,122679.51,122679.51,238976.74996,86723.9865,128908.2466,224839.96500000003,63811.7234,81156.52070000001,149320.88999999998,149320.88999999998,149320.88999999998,149320.88999999998,368856.39339999994,368856.39339999994 +26960400.0,134135.03399999999,129347.41500000001,377694.4518,97679.46276000001,97679.46276000001,97679.46276000001,45696.42,237090.39280000003,811238.17216,249715.32768000002,380518.59456,165987.072,165987.072,165987.072,116523.6135,134135.03399999999,134135.03399999999,254162.05463999996,90284.14305,134200.13362,234070.00050000002,66431.29538000001,84488.12399000001,153196.038,153196.038,153196.038,153196.038,403299.33556,403299.33556 +26964000.0,141288.204,135990.504,397092.27167999995,92152.94407000001,92152.94407000001,92152.94407000001,46611.166000000005,259409.00984,795824.92224,281506.80306,428962.74752,163175.763,163175.763,163175.763,113335.33050000001,141288.204,141288.204,265299.95596,101388.38039999998,150705.69135999997,262858.76399999997,74601.82063999999,94879.49672,163544.229,163544.229,163544.229,163544.229,424806.53336,424806.53336 +26967600.0,160472.487,142261.869,415404.65748,96014.82462,96014.82462,96014.82462,64489.932499999995,305997.7792,758983.1424,296548.4277,451883.3184,216920.637,216920.637,216920.637,146920.53949999998,160472.487,160472.487,256826.67439,112144.37444999999,166693.61337999997,290744.67449999996,82516.10762,104944.98250999999,218544.21000000002,218544.21000000002,218544.21000000002,218544.21000000002,482487.27757999994,482487.27757999994 +26971200.0,200286.93000000005,150737.184,440152.57728,101697.85109000001,101697.85109000001,101697.85109000001,68571.7375,367463.58064,754550.1299200001,327164.60952,498536.5478400001,278985.576,278985.576,278985.576,197299.8405,200286.93000000005,200286.93000000005,273812.81421,125293.38389999999,186238.56076,324834.69899999996,92191.18123999999,117249.85802,248925.759,248925.759,248925.759,248925.759,602196.0362000001,602196.0362000001 +26974800.0,231076.989,166360.22400000002,485771.85408,127111.46426000001,127111.46426000001,127111.46426000001,76313.559,440449.1558399999,758833.50976,368349.50754,561294.48768,322352.283,322352.283,322352.283,211659.91700000002,231076.989,231076.989,294218.20025,142488.22994999998,211797.31957999995,369413.92949999997,104843.19141999999,133340.83740999998,296889.681,296889.681,296889.681,296889.681,694771.48026,694771.48026 +26978400.0,297684.65099999995,190054.587,554959.39404,225912.91613,225912.91613,225912.91613,154888.15649999998,534855.86856,827585.66592,465864.06320999993,709888.09632,353215.674,353215.674,353215.674,243803.3675,297684.65099999995,297684.65099999995,314998.47768999997,178549.09785,265398.90593999997,462905.0685,131376.86706,167086.68663,363114.996,363114.996,363114.996,363114.996,895038.5173399999,895038.5173399999 +26982000.0,1056526.65,1102042.851,3217965.1249200003,1048136.26566,1048136.26566,1048136.26566,1065247.3195000002,1602426.9069599998,1574567.95072,1359571.76754,2071728.40768,650180.244,650180.244,650180.244,1617696.0625,1056526.65,1056526.65,2010375.4018399997,598478.9328,889590.9075199999,1551612.048,440362.27648,560058.06304,1423458.858,1423458.858,1423458.858,1423458.858,3176623.4609999997,3176623.4609999997 +26985600.0,1947226.83,1761728.6430000002,5144247.637560001,2421573.3944600006,2421573.3944600006,2421573.3944600006,1734015.948,2916761.06008,3258132.86208,2887302.13443,4399698.490560001,1200914.754,1200914.754,1200914.754,1765252.0374999999,1947226.83,1947226.83,2667572.28673,1529413.5203999998,2273350.4673599997,3965146.164,1125346.24464,1431228.94872,2156841.636,2156841.636,2156841.636,2156841.636,5854662.0022,5854662.0022 +26989200.0,2035960.602,1839852.6749999998,5372369.811,2198093.8173700003,2198093.8173700003,2198093.8173700003,2017760.073,3386417.19472,8166447.303040001,2538914.9444399998,3868822.77248,2127344.1629999997,2127344.1629999997,2127344.1629999997,2039763.432,2035960.602,2035960.602,1618602.06105,2982843.3545999997,4433757.28264,7733297.586,2194783.50536,2791352.1762800002,1610277.831,1610277.831,1610277.831,1610277.831,6121454.87668,6121454.87668 +26992800.0,1459482.684,1054548.0779999997,3079280.3877599994,1425023.87005,1425023.87005,1425023.87005,2161333.622,2857729.35896,5103137.58528,2899808.3809800004,4418755.628160001,2022969.0240000002,2022969.0240000002,2022969.0240000002,2248426.229,1459482.684,1459482.684,1557099.46743,2613611.7314999998,3884924.1045999997,6776030.415,1923101.9653999999,2445824.3117,1630927.713,1630927.713,1630927.713,1630927.713,4388177.936559999,4388177.936559999 +26996400.0,1099966.65,854442.585,2494972.3482,1343078.3720200001,1343078.3720200001,1343078.3720200001,1817489.9995,2956175.0332,5531240.5504,2154690.69039,3283338.1948800003,960425.601,960425.601,960425.601,1896346.9700000002,1099966.65,1099966.65,874651.91034,1822183.43175,2708529.4466999997,4724179.2675,1340767.0683000002,1705203.75465,1248035.4989999998,1248035.4989999998,1248035.4989999998,1248035.4989999998,3307233.0609999998,3307233.0609999998 +27000000.0,868777.818,725727.333,2119123.81236,904817.2270500001,904817.2270500001,904817.2270500001,1153126.0650000002,2141714.95008,2526162.5401600003,1601704.0241999999,2440691.8464,832512.8219999999,832512.8219999999,832512.8219999999,1172710.2415,868777.818,868777.818,788007.1100199999,1129255.93935,1678548.3345399997,2927700.5834999997,830909.30846,1056760.49633,911885.199,911885.199,911885.199,911885.199,2612125.3061199994,2612125.3061199994 +27003600.0,573930.453,433277.7359999999,1265170.9891199998,419186.53645,419186.53645,419186.53645,565277.2264999999,1159284.62928,1618836.7667200002,906537.4691100001,1381390.4291200002,518961.657,518961.657,518961.657,711130.5775,573930.453,573930.453,468405.34689,617954.6821499999,918540.0460599998,1602104.7315,454692.58093999996,578283.51737,595310.868,595310.868,595310.868,595310.868,1725617.56202,1725617.56202 +27007200.0,526153.506,406490.478,1186952.19576,342025.56355,342025.56355,342025.56355,519182.48199999996,1004744.32424,1513701.82528,803099.1068099999,1223770.06752,485009.961,485009.961,485009.961,616641.0460000001,526153.506,526153.506,417102.39674999996,565163.4627,840070.13468,1465238.607,415848.67132,528881.36386,528821.1000000001,528821.1000000001,528821.1000000001,528821.1000000001,1581968.20804,1581968.20804 +27010800.0,511963.20300000004,394171.71,1150981.3932,299246.53022,299246.53022,299246.53022,493953.14850000007,972065.1092,1465115.8687999998,773123.3395199999,1178092.70784,472864.761,472864.761,472864.761,579382.5380000001,511963.20300000004,511963.20300000004,395244.32337,543068.9833499999,807228.4641399998,1407956.6235,399591.49886,508205.29552999994,506204.382,506204.382,506204.382,506204.382,1539302.69702,1539302.69702 +27014400.0,895917.309,778214.76,2272387.0991999996,951710.4646500001,951710.4646500001,951710.4646500001,954464.9309999999,1708891.12896,3076654.96256,1427658.57255,2175479.7296,866942.1810000001,866942.1810000001,866942.1810000001,1137921.6345,895917.309,895917.309,986931.2785799999,1126552.5278999999,1674529.9303599996,2920691.7389999996,828920.1316399999,1054230.63722,984522.9720000001,984522.9720000001,984522.9720000001,984522.9720000001,2693724.70906,2693724.70906 +27018000.0,938460.1020000002,823640.007,2405028.82044,1045309.1704000001,1045309.1704000001,1045309.1704000001,1022979.0025,1817993.4016,3261738.0153599996,1520263.00335,2316591.2432,927810.3990000001,927810.3990000001,927810.3990000001,1200186.8235,938460.1020000002,938460.1020000002,1121086.4065699999,1190581.8129,1769704.32436,3086693.589,876033.0376400001,1114149.4002200002,1038861.3629999999,1038861.3629999999,1038861.3629999999,1038861.3629999999,2821636.7066800003,2821636.7066800003 +27021600.0,972613.7009999999,848130.399,2476540.76508,1129929.4398700001,1129929.4398700001,1129929.4398700001,1100956.01,1903279.1847999997,3367479.54944,1602423.43338,2441788.08896,963423.6569999999,963423.6569999999,963423.6569999999,1251424.7305,972613.7009999999,972613.7009999999,1195012.46059,1238631.0574499997,1841125.6705799997,3211265.7044999995,911387.7904199999,1159114.0019099999,1082995.815,1082995.815,1082995.815,1082995.815,2924325.1943399995,2924325.1943399995 +27025200.0,974965.9290000001,850173.573,2482506.83316,1147428.36417,1147428.36417,1147428.36417,1104595.0335,1909319.91728,3374920.12032,1625244.0048600002,2476562.2931200005,965867.229,965867.229,965867.229,1254177.0745,974965.9290000001,974965.9290000001,1197393.76172,1241187.7495499998,1844925.9882199997,3217894.1654999997,913269.0107799999,1161506.56069,1088603.688,1088603.688,1088603.688,1088603.688,2931397.5598600004,2931397.5598600004 +27028800.0,985239.9060000001,862524.1680000001,2518570.5705600004,1150137.12011,1150137.12011,1150137.12011,1105812.6905,1932871.7320799998,3429554.88896,1642194.55659,2502391.70528,980728.8929999999,980728.8929999999,980728.8929999999,1270146.9235,985239.9060000001,985239.9060000001,1211815.5173799999,1255183.73955,1865729.90422,3254180.0655,923567.2947800001,1174604.04269,1101941.094,1101941.094,1101941.094,1101941.094,2962287.98404,2962287.98404 +27032400.0,938338.074,777358.266,2269886.13672,943118.6458100001,943118.6458100001,943118.6458100001,842753.702,1603028.23424,2482187.09248,1352996.1813899998,2061708.4668799997,773346.6449999999,773346.6449999999,773346.6449999999,1002655.1255,938338.074,938338.074,1159673.35692,995583.90735,1479855.58574,2581143.4635,732553.0972600001,931669.87873,957624.3119999999,957624.3119999999,957624.3119999999,957624.3119999999,2821269.8091599997,2821269.8091599997 +27036000.0,421747.11600000004,300491.151,877434.16092,493721.3215,493721.3215,493721.3215,351290.21900000004,784636.2251200001,1023549.3932800001,635129.34114,967816.1388800001,354710.41500000004,354710.41500000004,354710.41500000004,441688.06149999995,421747.11600000004,421747.11600000004,679891.2296799999,223692.9777,332501.66068,579944.757,164593.84532,209332.44086,520328.541,520328.541,520328.541,520328.541,1268052.99544,1268052.99544 +27039600.0,153199.164,112597.353,328784.27076,158069.28027000002,158069.28027000002,158069.28027000002,64587.26749999999,322466.50328,803354.00192,288559.27926000004,439709.37792000006,214968.408,214968.408,214968.408,124431.67800000001,153199.164,153199.164,237915.64952999997,95313.53835,141675.92614,247109.17350000003,70131.93686,89194.64453,159578.124,159578.124,159578.124,159578.124,460618.81976,460618.81976 +27043200.0,162082.506,132090.546,385704.39432,145378.82084,145378.82084,145378.82084,52188.45450000001,370156.28784,865853.70496,299957.68803,457078.38176,231274.45500000002,231274.45500000002,231274.45500000002,126717.58400000002,162082.506,162082.506,251578.05048999994,99735.24734999999,148248.44173999998,258572.86349999998,73385.44125999999,93332.49072999999,165077.46600000001,165077.46600000001,165077.46600000001,165077.46600000001,487328.06804,487328.06804 +27046800.0,174840.06,174162.762,508555.26503999997,142953.72355,142953.72355,142953.72355,57797.64200000001,379802.20415999996,906013.6780800001,316078.66310999996,481643.67712,235283.10600000003,235283.10600000003,235283.10600000003,126857.55249999999,174840.06,174840.06,277011.03612,112122.79604999999,166661.53882,290688.7305,82500.23018,104924.78939,178546.08000000002,178546.08000000002,178546.08000000002,178546.08000000002,525685.7804,525685.7804 +27050400.0,192715.64700000003,186363.816,544182.34272,153271.14913,153271.14913,153271.14913,70800.947,390785.6148,956084.7545600001,360824.85537,549828.35104,304712.559,304712.559,304712.559,132108.984,192715.64700000003,192715.64700000003,297880.04844,124779.09464999998,185474.11105999997,323501.3565,91812.76594,116768.58486999999,241592.35799999998,241592.35799999998,241592.35799999998,241592.35799999998,579431.71198,579431.71198 +27054000.0,232015.40399999998,214576.239,626562.61788,162181.14022000003,162181.14022000003,162181.14022000003,80473.26699999999,459888.59448,987136.9817600001,397937.21331,606380.5155200001,377108.442,377108.442,377108.442,228698.49099999998,232015.40399999998,232015.40399999998,327922.92363999994,155622.56219999996,231320.45047999994,403465.90199999994,114507.46551999998,145631.97796,305250.44700000004,305250.44700000004,305250.44700000004,305250.44700000004,697592.9813599999,697592.9813599999 +27057600.0,294605.68799999997,244135.23599999998,712874.88912,173128.77681,173128.77681,173128.77681,84399.1085,608714.81576,1046436.34368,479054.90913,729988.43296,439461.864,439461.864,439461.864,267395.632,294605.68799999997,294605.68799999997,356297.79666000005,177863.24655,264379.44302,461126.9355,130872.21598000001,166444.86529000002,390306.09900000005,390306.09900000005,390306.09900000005,390306.09900000005,885781.1019199999,885781.1019199999 +27061200.0,366900.777,259480.37999999998,757682.7096,185522.00414,185522.00414,185522.00414,91334.201,656112.3550399999,1171942.7142400001,544225.08,829295.36,459458.02499999997,459458.02499999997,459458.02499999997,277605.95450000005,366900.777,366900.777,385891.8651899999,221856.09614999997,329771.28365999996,575182.4715,163242.26333999998,207613.48257,446374.908,446374.908,446374.908,446374.908,1103148.3361799999,1103148.3361799999 +27064800.0,465001.6830000001,310769.784,907447.76928,286214.3251000001,286214.3251000001,286214.3251000001,179772.58949999997,814511.38168,1459532.45952,686958.3323400001,1046793.6492800001,518631.95699999994,518631.95699999994,518631.95699999994,348945.4395,465001.6830000001,465001.6830000001,411356.68820999993,305482.73175,454075.5666999999,791992.2675,224774.94829999996,285871.49464999995,544515.108,544515.108,544515.108,544515.108,1398105.06022,1398105.06022 +27068400.0,1208141.58,1226010.501,3579950.6629199996,1119683.5404700001,1119683.5404700001,1119683.5404700001,1095269.6125,1931160.5595200001,2212211.1315200003,1612958.58108,2457841.64736,823980.42,823980.42,823980.42,1771222.264,1208141.58,1208141.58,2229569.9156899997,732789.3946499999,1089232.6310599998,1899824.3565,539188.2459399999,685746.1248699999,1619989.6889999998,1619989.6889999998,1619989.6889999998,1619989.6889999998,3632479.0171999997,3632479.0171999997 +27072000.0,2150397.699,1966352.8020000001,5741750.18184,2633538.9130599997,2633538.9130599997,2633538.9130599997,1903789.4505,3291012.8464800003,3758879.0521600004,3129473.16633,4768721.01536,1350985.317,1350985.317,1350985.317,2101587.712,2150397.699,2150397.699,3075998.9345799997,1682670.2103,2501154.2385199997,4362478.323,1238112.89548,1574646.93754,2318398.593,2318398.593,2318398.593,2318398.593,6465529.08166,6465529.08166 +27075600.0,2081153.832,1992830.8620000002,5819066.11704,2370551.2598900003,2370551.2598900003,2370551.2598900003,2206730.911,3538332.28544,8670752.90688,2682063.6009299997,4086954.05856,2208993.4020000002,2208993.4020000002,2208993.4020000002,2140042.6215,2081153.832,2081153.832,1578315.27594,3084672.80025,4585118.582099999,7997299.8525,2269709.8629,2886644.42295,1637536.8509999998,1637536.8509999998,1637536.8509999998,1637536.8509999998,6257335.8548799995,6257335.8548799995 +27079200.0,1420616.472,988640.385,2886829.9242,1454120.2389999998,1454120.2389999998,1454120.2389999998,2251885.6885,2897097.5698399995,5004555.3632000005,2859187.0135500003,4356856.4016,2060616.0359999998,2060616.0359999998,2060616.0359999998,2309736.6670000004,1420616.472,1420616.472,1460771.96395,2710112.823,4028365.2332,7026218.430000001,1994107.7068,2536130.2714,1545042.165,1545042.165,1545042.165,1545042.165,4271320.19248,4271320.19248 +27082800.0,985487.4450000001,732634.533,2139292.83636,1179044.32767,1179044.32767,1179044.32767,1870399.7585000005,2842084.3201599997,5586146.318080001,2066804.4933900002,3149416.3708800003,837982.89,837982.89,837982.89,1845006.016,985487.4450000001,985487.4450000001,701068.4667999999,1816829.271,2700570.9164,4710298.11,1336827.4636,1700193.3178,1125200.3879999998,1125200.3879999998,1125200.3879999998,1125200.3879999998,2963032.2512999997,2963032.2512999997 +27086400.0,853860.426,705226.188,2059260.4689599997,792035.61415,792035.61415,792035.61415,1209113.2304999998,2189383.86832,2392122.4524800004,1628433.46638,2481422.4249600004,829853.517,829853.517,829853.517,1133027.287,853860.426,853860.426,629974.33876,1101543.11775,1637355.4491,2855852.5275000003,810518.1459,1030826.76945,883627.5989999999,883627.5989999999,883627.5989999999,883627.5989999999,2567273.6808399996,2567273.6808399996 +27090000.0,448381.47899999993,299010.312,873110.1110399999,191855.51836,191855.51836,191855.51836,400191.28099999996,1024573.32592,1083044.5081600002,707390.4784799999,1077928.34816,383933.21400000004,383933.21400000004,383933.21400000004,511876.73600000003,448381.47899999993,448381.47899999993,282924.95035999996,416874.1383,619649.95372,1080784.803,306737.02028,390111.84794,436470.504,436470.504,436470.504,436470.504,1348133.6468599997,1348133.6468599997 +27093600.0,291554.082,175233.801,511682.69892,99200.09209,99200.09209,99200.09209,226229.8535,574691.57728,594723.44128,401633.00372999994,612012.1961599999,234261.56100000002,234261.56100000002,234261.56100000002,245963.96300000002,291554.082,291554.082,134098.88946999997,192111.70544999998,285558.6337799999,498067.3844999999,141356.26721999998,179778.60830999998,244306.434,244306.434,244306.434,244306.434,876605.93988,876605.93988 +27097200.0,330971.238,212731.785,621176.8122,85230.37468000001,85230.37468000001,85230.37468000001,265374.4415,641844.73864,750251.20256,458638.0113,698876.9696000001,278701.701,278701.701,278701.701,292900.67100000003,330971.238,330971.238,178273.69858999999,253842.69644999996,377316.7981799999,658110.6945,186778.08281999998,237546.62211,280797.348,280797.348,280797.348,280797.348,995120.18892,995120.18892 +27100800.0,981685.101,830540.205,2425177.3986,716781.53393,716781.53393,716781.53393,1067664.8605,1894161.9870399998,3289235.0720000006,1577966.62212,2404520.56704,962868.7320000001,962868.7320000001,962868.7320000001,1288575.8515,981685.101,981685.101,893604.89764,1248374.53125,1855608.5624999998,3236526.5625,918557.0625,1168231.96875,1060746.6030000001,1060746.6030000001,1060746.6030000001,1060746.6030000001,2951599.87034,2951599.87034 +27104400.0,1115187.7650000001,995524.533,2906931.63636,1170289.00472,1170289.00472,1170289.00472,1225169.092,2218765.57992,3917076.4825600004,1807304.2764,2753987.4688000004,1128939.816,1128939.816,1128939.816,1462284.082,1115187.7650000001,1115187.7650000001,1115270.01027,1428138.7992,2122813.7212799997,3702582.072,1050828.05472,1336455.81456,1223444.8229999999,1223444.8229999999,1223444.8229999999,1223444.8229999999,3352997.8800999997,3352997.8800999997 +27108000.0,1159966.0380000002,1029515.7780000002,3006186.07176,1324257.9309299998,1324257.9309299998,1324257.9309299998,1314358.9619999998,2340134.73752,4169136.06464,1912234.0605900001,2913880.47328,1183488.42,1183488.42,1183488.42,1530307.0195,1159966.0380000002,1159966.0380000002,1262543.93226,1503012.4857,2234107.44788,3896699.037,1105920.29812,1406522.79526,1296360.768,1296360.768,1296360.768,1296360.768,3487631.22092,3487631.22092 +27111600.0,1189648.371,1057398.8760000002,3087604.71792,1369244.9351900003,1369244.9351900003,1369244.9351900003,1348412.8420000002,2407911.6167200003,4290935.075200001,1968433.5400800002,2999517.7753600003,1222720.4849999999,1222720.4849999999,1222720.4849999999,1574549.977,1189648.371,1189648.371,1390878.2772300001,1543521.80475,2294321.2999,4001723.1975,1135727.1551,1444431.51605,1332960.96,1332960.96,1332960.96,1332960.96,3576876.1021399996,3576876.1021399996 +27115200.0,1199181.7349999999,1068282.741,3119385.6037199995,1394846.6678300002,1394846.6678300002,1394846.6678300002,1347961.7200000002,2426818.6225599996,4336902.2047999995,1998258.49545,3044965.3264,1234616.508,1234616.508,1234616.508,1587391.6695,1199181.7349999999,1199181.7349999999,1470037.4044199998,1555392.9257999999,2311966.76872,4032500.178,1144461.9552799999,1455540.54044,1349007.804,1349007.804,1349007.804,1349007.804,3605539.7498999997,3605539.7498999997 +27118800.0,1136526.75,960045.81,2803333.7652000003,1152137.27277,1152137.27277,1152137.27277,1031459.8455,2042657.9388,3170324.9734400003,1689643.9259699997,2574695.50624,977043.552,977043.552,977043.552,1266918.2435,1136526.75,1136526.75,1423992.16908,1241669.46465,1845642.0190599998,3219143.0565,913623.45794,1161957.35087,1185442.014,1185442.014,1185442.014,1185442.014,3417157.0949999997,3417157.0949999997 +27122400.0,514387.33199999994,373915.185,1091832.3402,599676.27456,599676.27456,599676.27456,418646.44499999995,1002786.86136,1312381.6672,791900.8194299999,1206706.0105599998,445206.912,445206.912,445206.912,545931.5015,514387.33199999994,514387.33199999994,824369.1179099999,277424.54235,412369.31974,719248.8135,204129.66326,259614.57173000003,635506.6140000001,635506.6140000001,635506.6140000001,635506.6140000001,1546591.24488,1546591.24488 +27126000.0,177875.076,140239.41,409499.0772,184829.61167000004,184829.61167000004,184829.61167000004,71551.63749999998,398334.94776,942725.7792,339802.92276,517794.92992,259219.62000000002,259219.62000000002,259219.62000000002,143373.4085,177875.076,177875.076,273741.82342,110797.8021,164692.04163999998,287253.561,81525.29636,103684.85678,183936.414,183936.414,183936.414,183936.414,534811.06184,534811.06184 +27129600.0,191023.35900000003,198900.17699999997,580788.5168399999,169200.49014,169200.49014,169200.49014,66560.7355,438451.35608000006,1013940.4492800001,351255.99264,535247.2268800001,268647.867,268647.867,268647.867,141429.21449999997,191023.35900000003,191023.35900000003,283591.27485,121101.26535,180007.31294,313966.24350000004,89106.61006,113326.86313000001,194424.579,194424.579,194424.579,194424.579,574343.5660600001,574343.5660600001 +27133200.0,202590.333,199210.00499999998,581693.2146,167943.49099,167943.49099,167943.49099,74991.8575,420729.3388,1008378.8,366769.55175,558886.936,306338.85900000005,306338.85900000005,306338.85900000005,136509.7685,202590.333,202590.333,308842.89462,129475.29645,192454.63817999998,335676.6945,95268.24282,121163.30211,240365.061,240365.061,240365.061,240365.061,609121.60122,609121.60122 +27136800.0,227346.759,214967.325,627704.589,170515.34027000002,170515.34027000002,170515.34027000002,79026.0415,453571.15695999993,1010552.1888000001,405539.35799999995,617964.7359999999,369845.517,369845.517,369845.517,183015.4305,227346.759,227346.759,329110.47896999994,151320.9114,224926.39176,392313.47400000005,111342.30024000001,141606.48252000002,303402.456,303402.456,303402.456,303402.456,683555.9220599999,683555.9220599999 +27140400.0,275821.617,236276.55599999998,689927.54352,174458.26265999998,174458.26265999998,174458.26265999998,84158.837,564552.3912000001,1029391.616,453024.8751,690323.6192000001,420054.75600000005,420054.75600000005,420054.75600000005,262998.6135,275821.617,275821.617,346853.47709999996,171837.48645,255422.63417999996,445504.5945,126438.44682,160805.94410999998,363648.39,363648.39,363648.39,363648.39,829303.66178,829303.66178 +27144000.0,340965.033,253363.344,739820.96448,180458.32178,180458.32178,180458.32178,84930.2335,641658.1739999999,1133013.0080000001,523640.84682000004,797928.9094400001,451018.05600000004,451018.05600000004,451018.05600000004,272376.38399999996,340965.033,340965.033,376332.46637999994,207146.3625,307906.445,537046.125,152418.805,193848.0775,423075.735,423075.735,423075.735,423075.735,1025168.19922,1025168.19922 +27147600.0,403172.181,280119.05100000004,817947.62892,191949.88945000002,191949.88945000002,191949.88945000002,96307.66249999999,688426.7335999999,1286636.3232,588177.8385,896270.992,463161.864,463161.864,463161.864,301594.853,403172.181,403172.181,382211.72456999996,255795.03135,380218.78734000004,663172.3035,188214.61566,239373.62193000002,474188.907,474188.907,474188.907,474188.907,1212204.3575399998,1212204.3575399998 +27151200.0,577738.443,333049.611,972504.8641199999,295868.31219,295868.31219,295868.31219,182733.75749999998,1217745.51712,1510600.6118400004,867272.0469,1321557.4048,507949.044,507949.044,507949.044,468483.7885,577738.443,577738.443,588564.28878,324493.71119999996,482333.86207999993,841279.992,238763.27391999998,303662.01616,593941.557,593941.557,593941.557,593941.557,1737066.91862,1737066.91862 +27154800.0,1283783.517,716066.2620000001,2090913.4850400002,1716350.0296800002,1716350.0296800002,1716350.0296800002,1518185.7774999999,3516081.3072799994,4452367.06432,3069538.55124,4677392.07808,1336829.3609999998,1336829.3609999998,1336829.3609999998,2011745.7850000001,1283783.517,1283783.517,2721227.9136899994,1737509.5592999998,2582668.53012,4504654.413,1278463.82388,1625965.7357400001,1580372.316,1580372.316,1580372.316,1580372.316,3859909.1077799997,3859909.1077799997 +27158400.0,1156769.154,1245174.156,3635908.53552,2233581.15266,2233581.15266,2233581.15266,2016697.9805000003,4358218.06144,3424873.7363200006,3354393.50547,5111456.77024,1354011.561,1354011.561,1354011.561,1912977.3215,1156769.154,1156769.154,2238771.5948,2216265.3729,3294300.62836,5745873.189,1630733.53364,2073986.6082200003,1607390.5499999998,1607390.5499999998,1607390.5499999998,1607390.5499999998,3478019.2563600005,3478019.2563600005 +27162000.0,1931604.8790000002,2113821.87,6172359.860400001,1387981.70115,1387981.70115,1387981.70115,2310625.1840000004,4240084.38064,6723116.436480001,3374521.78665,5142128.4368,1756861.998,1756861.998,1756861.998,1417616.4765,1931604.8790000002,1931604.8790000002,2648384.5714300005,1845954.1939499998,2743862.7771799997,4785807.1695,1358257.65382,1727448.49261,2149345.632,2149345.632,2149345.632,2149345.632,5807692.00286,5807692.00286 +27165600.0,1467796.455,1101543.9239999999,3216508.2580799996,686932.8417600001,686932.8417600001,686932.8417600001,882915.5229999999,2211432.03496,7162057.937920001,1386976.038,2113487.296,1455422.121,1455422.121,1455422.121,1446576.915,1467796.455,1467796.455,2235269.41937,2233916.9495999995,3320538.280639999,5791636.535999999,1643721.6073599998,2090504.9972799998,971136.294,971136.294,971136.294,971136.294,4413174.674699999,4413174.674699999 +27169200.0,747785.0580000001,601994.598,1757824.22616,386391.18056,386391.18056,386391.18056,541064.9895,1482430.52896,4184639.0745600006,912235.7533800001,1390073.5289600003,610952.388,610952.388,610952.388,579297.9114999999,747785.0580000001,747785.0580000001,782923.7,1089273.44835,1619117.57014,2824042.2735,801490.09286,1019344.7825300001,601265.928,601265.928,601265.928,601265.928,2248340.40772,2248340.40772 +27172800.0,798024.804,1198487.919,3499584.7234799997,640521.2683100001,640521.2683100001,640521.2683100001,930190.912,1711203.5996,2804494.06912,1319301.68118,2010364.4665600003,707908.74,707908.74,707908.74,1065127.3465,798024.804,798024.804,925309.4739199999,846688.10355,1258533.9218199998,2195117.3055,622995.19718,792332.81789,789883.521,789883.521,789883.521,789883.521,2399394.5773599995,2399394.5773599995 +27176400.0,630462.966,682340.646,1992434.6863199999,473039.93396,473039.93396,473039.93396,866747.5215,1299398.68016,2023381.70304,930599.49066,1418056.36672,574227.237,574227.237,574227.237,689226.8635,630462.966,630462.966,685539.04991,656264.9564999999,975485.1945999998,1701427.6649999998,482881.37539999996,614134.3666999999,584112.888,584112.888,584112.888,584112.888,1895591.98444,1895591.98444 +27180000.0,538167.135,455133.22500000003,1328989.017,246353.94575,246353.94575,246353.94575,476978.91500000004,1154392.6423199999,1812560.1824000003,797351.5661999999,1215011.9104,520904.274,520904.274,520904.274,430463.8345,538167.135,538167.135,602061.35561,562264.98705,835761.78322,1457724.0405000001,413715.96578,526168.96319,517014.627,517014.627,517014.627,517014.627,1618089.1858999997,1618089.1858999997 +27183600.0,738486.744,883669.6410000001,2580315.35172,1126395.35305,1126395.35305,1126395.35305,1115356.9000000001,1719558.71824,1947543.3593600001,1323707.9356200001,2017078.7590400001,637263.783,637263.783,637263.783,1171972.0145,738486.744,738486.744,1052488.95713,994192.5582,1477787.45688,2577536.262,731529.33912,930367.8507600001,709070.253,709070.253,709070.253,709070.253,2220383.4769599997,2220383.4769599997 +27187200.0,920516.2890000001,1318136.6460000002,3848959.00632,1478235.9780100002,1478235.9780100002,1478235.9780100002,1161340.4775,2429540.9502399997,3220947.82912,1742601.7992600002,2655393.21792,1017920.808,1017920.808,1017920.808,1609225.2155,920516.2890000001,920516.2890000001,1570794.19159,1355540.8158000002,2014902.6447200002,3514365.0780000007,997410.2792800001,1268518.4424400001,1110037.1670000001,1110037.1670000001,1110037.1670000001,1110037.1670000001,2767685.64226,2767685.64226 +27190800.0,874278.9209999999,1225967.274,3579824.4400799996,1075490.46704,1075490.46704,1075490.46704,1028196.8619999998,2382126.09536,3253291.8496,1573197.8906699999,2397253.92864,883715.082,883715.082,883715.082,1299261.3445000001,874278.9209999999,874278.9209999999,1276535.1592499998,1171175.4198,1740858.27832,3036380.7180000003,861753.7656800001,1095988.8496400001,1072263.294,1072263.294,1072263.294,1072263.294,2628665.2891399995,2628665.2891399995 +27194400.0,2212985.361,1803194.4390000002,5265327.761880001,3459537.7329700007,3459537.7329700007,3459537.7329700007,2882381.2605,3477967.07288,6738764.128640001,3714912.8198700002,5660819.53504,2327581.5840000003,2327581.5840000003,2327581.5840000003,2993033.7185,2212985.361,2212985.361,3647556.16485,2839207.4802,4220254.08168,7360908.282000001,2089095.8743200002,2656937.3703600005,2463664.842,2463664.842,2463664.842,2463664.842,6653709.31874,6653709.31874 +27198000.0,1620138.63,914943.7110000001,2671635.63612,1961828.9539200002,1961828.9539200002,1961828.9539200002,1712171.8075,2611996.83488,4500114.65152,2366151.92058,3605564.83136,1563755.997,1563755.997,1563755.997,1915967.676,1620138.63,1620138.63,1331549.71703,1814093.5284,2696504.4545599995,4703205.444,1334814.4974399998,1697633.20312,1711529.838,1711529.838,1711529.838,1711529.838,4871216.814199999,4871216.814199999 +27201600.0,1203667.662,877341.216,2561836.35072,1229600.5327100002,1229600.5327100002,1229600.5327100002,1240049.9825,1994898.83344,3713936.7315200004,1743975.79902,2657486.93184,1068057.708,1068057.708,1068057.708,1435492.3765,1203667.662,1203667.662,1264510.9625199998,1398699.6448499998,2079054.7807399996,3626258.3384999996,1029166.6522599999,1308906.58123,1221597.4649999999,1221597.4649999999,1221597.4649999999,1221597.4649999999,3619027.43708,3619027.43708 +27205200.0,1063350.21,895307.772,2614298.69424,1200452.14102,1200452.14102,1200452.14102,1191555.5015,1953908.49832,3713471.8726399997,1706020.0844400001,2599649.6524800006,1059752.724,1059752.724,1059752.724,1399882.862,1063350.21,1063350.21,1293612.9103299999,1375894.7954999998,2045157.2021999997,3567134.655,1012386.7877999999,1287565.7469,1196950.035,1196950.035,1196950.035,1196950.035,3197139.6314,3197139.6314 +27208800.0,749987.661,644509.9770000001,1881969.13284,778926.1522900001,778926.1522900001,778926.1522900001,649151.1074999999,1021867.07576,2291079.5008,981333.9314100001,1495365.9907200001,570005.3640000001,570005.3640000001,570005.3640000001,700424.8089999999,749987.661,749987.661,916608.8092199999,644656.3766999999,958229.9722799999,1671331.3469999998,474339.75372,603271.02906,754170.5249999999,754170.5249999999,754170.5249999999,754170.5249999999,2254962.90074,2254962.90074 +27212400.0,130679.13,116480.955,340124.3886,131251.95259,131251.95259,131251.95259,66782.5585,216492.8296,827679.44064,246995.20209000004,376373.64128000004,191436.369,191436.369,191436.369,124421.41600000001,130679.13,130679.13,246113.0776,95627.4741,142142.56644,247923.081,70362.93156,89488.42638,159002.991,159002.991,159002.991,159002.991,392908.5842,392908.5842 +27216000.0,132175.05599999998,117092.715,341910.7278,130027.95707000002,130027.95707000002,130027.95707000002,46243.228500000005,232905.51304,832612.97664,269687.23761,410951.98112,190354.689,190354.689,190354.689,120920.4605,132175.05599999998,132175.05599999998,246276.27128,90663.3081,134763.73204,235053.021,66710.28596,84842.94758000001,164946.798,164946.798,164946.798,164946.798,397406.33504,397406.33504 +27219600.0,145135.698,136401.18600000002,398291.46312000003,127852.13914,127852.13914,127852.13914,51871.6555,270770.30352,829845.82272,283320.84963,431727.00896,188556.843,188556.843,188556.843,119304.51049999999,145135.698,145135.698,266144.68815999996,95514.96105,141975.32481999998,247631.3805,70280.14418,89383.13639,169232.328,169232.328,169232.328,169232.328,436374.66532,436374.66532 +27223200.0,166157.814,148751.736,434355.06912,126830.95986000002,126830.95986000002,126830.95986000002,56292.515999999996,348689.18367999996,842254.24512,328724.81061000004,500913.9971200001,196404.804,196404.804,196404.804,120405.3165,166157.814,166157.814,282470.86230999994,114792.18345,170629.36898,297609.3645,84464.37202,107422.80871,205062.135,205062.135,205062.135,205062.135,499581.16076,499581.16076 +27226800.0,209469.34500000003,162447.12,474345.5904,137532.70333000002,137532.70333000002,137532.70333000002,77062.321,385438.2713600001,841122.60544,360841.47057,549853.6694400001,293045.418,293045.418,293045.418,184610.10749999998,209469.34500000003,209469.34500000003,292691.44852999994,135640.1052,201618.13167999996,351659.532,99804.32432,126932.34535999999,275048.80199999997,275048.80199999997,275048.80199999997,275048.80199999997,629804.4973,629804.4973 +27230400.0,249186.13199999998,195585.38100000002,571109.31252,147584.88701000003,147584.88701000003,147584.88701000003,79160.59899999999,478847.38944,863829.3830400002,408549.50577000005,622551.6278400001,360474.02999999997,360474.02999999997,360474.02999999997,235124.37900000002,249186.13199999998,249186.13199999998,319004.01480999996,153179.73990000002,227689.39116,397132.65900000004,112710.03084,143345.97882000002,314787.22199999995,314787.22199999995,314787.22199999995,314787.22199999995,749219.6368799999,749219.6368799999 +27234000.0,310733.658,231801.888,676861.51296,173035.54125,173035.54125,173035.54125,87997.1995,567309.3967999999,930127.8489600002,487085.80809000006,742225.99328,400422.43799999997,400422.43799999997,400422.43799999997,250454.0745,310733.658,310733.658,347080.83137,175216.00455,260444.53022,454263.71550000005,128924.36878,163967.56969,396889.50600000005,396889.50600000005,396889.50600000005,396889.50600000005,934272.53172,934272.53172 +27237600.0,510264.31799999997,276029.529,806006.2246799999,283214.58451,283214.58451,283214.58451,169114.68349999998,1083848.50832,1232477.67424,769304.6256,1172273.7152000002,459799.515,459799.515,459799.515,386166.6235,510264.31799999997,510264.31799999997,564018.71448,256907.9754,381873.08936,666057.714,189033.52264,240415.11772,538389.963,538389.963,538389.963,538389.963,1534194.71612,1534194.71612 +27241200.0,1252588.458,629992.62,1839578.4504,1644462.98313,1644462.98313,1644462.98313,1454790.4419999998,3428114.3859199993,4224447.482240001,2966827.6400699997,4520880.21344,1210309.8900000001,1210309.8900000001,1210309.8900000001,1737915.5535,1252588.458,1252588.458,2614162.28723,1590451.21215,2364078.09806,4123392.0315000005,1170257.92894,1488348.17137,1550049.7140000002,1550049.7140000002,1550049.7140000002,1550049.7140000002,3766115.9637200003,3766115.9637200003 +27244800.0,1121550.4470000002,1234579.596,3604972.42032,2010860.6834800001,2010860.6834800001,2010860.6834800001,1942299.7825000002,4232465.96048,3294224.1830400005,3260537.97909,4968438.82528,1341921.6749999998,1341921.6749999998,1341921.6749999998,1795210.0914999999,1121550.4470000002,1121550.4470000002,2226183.73341,2166443.7713999995,3220244.815759999,5616706.073999999,1594074.6762399997,2027363.4305199997,1589618.094,1589618.094,1589618.094,1589618.094,3372128.3439800004,3372128.3439800004 +27248400.0,2083997.928,2276052.117,6646072.18164,1635918.37222,1635918.37222,1635918.37222,2204267.275,4468981.54544,7469406.960000001,3681906.45459,5610524.121280001,1977198.369,1977198.369,1977198.369,1668001.958,2083997.928,2083997.928,2458399.8215399995,1939328.7340499999,2882656.5380199994,5027889.3105,1426962.87098,1814828.6177899998,2335742.571,2335742.571,2335742.571,2335742.571,6265887.10352,6265887.10352 +27252000.0,1519176.552,1094118.123,3194824.9191599996,728187.48508,728187.48508,728187.48508,927074.561,2339118.9804800004,7162734.271360001,1445934.4376400001,2203328.6668800004,1516130.079,1516130.079,1516130.079,1531339.1834999998,1519176.552,1519176.552,2030068.196,2267489.8377,3370441.6846799995,5878677.357,1668424.62132,2121922.58886,1070963.3099999998,1070963.3099999998,1070963.3099999998,1070963.3099999998,4567657.499679999,4567657.499679999 +27255600.0,795860.202,625106.571,1825311.1873199998,416912.74141,416912.74141,416912.74141,595036.9214999999,1518872.1055999997,4093329.3600000003,989450.02674,1507733.3740800002,661621.8060000001,661621.8060000001,661621.8060000001,641477.4554999999,795860.202,795860.202,814339.8734899999,1160563.6867499999,1725084.7887,3008868.8175,853945.6263,1086058.36365,646421.613,646421.613,646421.613,646421.613,2392886.34068,2392886.34068 +27259200.0,873800.0970000001,1232468.9489999998,3598809.3310799995,721471.4152800001,721471.4152800001,721471.4152800001,1019343.6680000001,1887541.6696,3148278.89472,1475810.30604,2248853.79968,805674.4500000001,805674.4500000001,805674.4500000001,1159426.5025,873800.0970000001,873800.0970000001,1032215.87495,954037.9826999999,1418100.90268,2473431.807,701983.50332,892791.0998600001,881069.808,881069.808,881069.808,881069.808,2627225.62498,2627225.62498 +27262800.0,622491.7889999999,656932.464,1918242.79488,449574.4792,449574.4792,449574.4792,866555.5885000001,1282556.8793600001,1956889.8995200002,910304.8256399999,1387131.16288,567329.133,567329.133,567329.133,701237.9115,622491.7889999999,622491.7889999999,642584.95145,637013.4759,946869.4135599999,1651516.419,468716.08843999996,596118.78362,568539.672,568539.672,568539.672,568539.672,1871625.3122599998,1871625.3122599998 +27266400.0,510671.985,423586.983,1236873.99036,216833.50722000003,216833.50722000003,216833.50722000003,446414.23050000006,1084911.3124,1660211.8073600002,744106.81989,1133877.0588800001,483703.32,483703.32,483703.32,397241.9745,510671.985,510671.985,554233.85654,516286.85579999996,767418.9807199999,1338521.478,379885.14327999996,483142.51443999994,480979.21499999997,480979.21499999997,480979.21499999997,480979.21499999997,1535420.4349,1535420.4349 +27270000.0,958097.0639999999,1134216.645,3311912.6033999994,1432905.25411,1432905.25411,1432905.25411,1390467.9564999999,2160026.07736,2887206.4838400004,1704867.33249,2597893.0780800004,859727.832,859727.832,859727.832,1413613.397,958097.0639999999,958097.0639999999,1444461.52331,1317256.1901,1957995.62084,3415108.6410000003,969240.3571600001,1232691.5951800002,998912.229,998912.229,998912.229,998912.229,2880678.5057599996,2880678.5057599996 +27273600.0,956345.457,1322920.326,3862927.35192,1594833.0571800002,1594833.0571800002,1594833.0571800002,1181176.8885,2462392.6263200003,3244662.9216000005,1810496.30748,2758851.51616,1041207.882,1041207.882,1041207.882,1650063.5935,956345.457,956345.457,1584890.8201099997,1374027.99255,2042382.34942,3562294.7955000005,1011013.1895800001,1285818.7880900002,1138877.3220000002,1138877.3220000002,1138877.3220000002,1138877.3220000002,2875412.00738,2875412.00738 +27277200.0,911070.2520000001,1284835.371,3751719.28332,1099362.1810599999,1099362.1810599999,1099362.1810599999,1076236.6265,2434083.9504799997,3339697.8175999997,1624288.47147,2475106.24224,924163.503,924163.503,924163.503,1337237.2755,911070.2520000001,911070.2520000001,1352960.47484,1203898.9014,1789499.10776,3121219.3740000003,885831.7842400001,1126611.56452,1120321.3020000001,1120321.3020000001,1120321.3020000001,1120321.3020000001,2739284.55768,2739284.55768 +27280800.0,2241873.825,1832289.0240000002,5350283.95008,3519379.89128,3519379.89128,3519379.89128,2911742.3090000004,3567334.759119999,6858880.41664,3753752.4341100003,5720003.709120001,2357307.735,2357307.735,2357307.735,3024260.5505,2241873.825,2241873.825,3789959.1537599997,2895734.5613999995,4304277.051759999,7507459.973999999,2130688.64024,2709835.55252,2500728.606,2500728.606,2500728.606,2500728.606,6740567.3005,6740567.3005 +27284400.0,1674260.6609999998,950707.221,2776065.08532,2125222.9663500004,2125222.9663500004,2125222.9663500004,1766650.6795,2699092.8604,4750611.38688,2479280.8133099996,3777951.7155199996,1687256.5229999996,1687256.5229999996,1687256.5229999996,2124523.2715,1674260.6609999998,1674260.6609999998,1479168.11679,1938004.42455,2880688.05822,5024455.9155,1425988.44078,1813589.32569,1806615.2100000002,1806615.2100000002,1806615.2100000002,1806615.2100000002,5033943.72074,5033943.72074 +27288000.0,1249160.388,911512.992,2661617.93664,1281146.3012700002,1281146.3012700002,1281146.3012700002,1328274.4405,2075666.2670400003,3913821.7958400007,1818468.6765,2770999.888,1114988.595,1114988.595,1114988.595,1508330.8275,1249160.388,1249160.388,1315235.11093,1465985.7656999999,2179070.1998799997,3800703.837,1078675.94612,1371873.09926,1285042.023,1285042.023,1285042.023,1285042.023,3755808.89992,3755808.89992 +27291600.0,1098986.5559999999,928696.6799999999,2711794.3056,1244969.63415,1244969.63415,1244969.63415,1233091.7445,2022519.24192,3835562.36928,1762353.33561,2685490.7971200002,1102993.23,1102993.23,1102993.23,1462302.9224999999,1098986.5559999999,1098986.5559999999,1347505.9781299997,1423363.0311,2115714.92524,3690200.4510000004,1047314.03276,1331986.63898,1244017.926,1244017.926,1244017.926,1244017.926,3304286.2450399995,3304286.2450399995 +27295200.0,770125.23,663275.247,1936763.72124,805660.28917,805660.28917,805660.28917,669605.0515,1057143.8936,2354087.13664,1014106.0851600001,1545304.5107200001,587543.391,587543.391,587543.391,725322.0135,770125.23,770125.23,949556.2895,664734.4420499998,988074.4052199998,1723385.5904999997,489113.24377999996,622060.1321899999,782534.0819999999,782534.0819999999,782534.0819999999,782534.0819999999,2315509.8582,2315509.8582 +27298800.0,132476.088,117678.93,343622.47559999995,149185.40230000002,149185.40230000002,149185.40230000002,67392.6715,219473.74664,839382.0448000001,255686.79192,389617.96864,195094.386,195094.386,195094.386,126077.1085,132476.088,132476.088,248393.38315999997,97187.36805,144461.22362,251967.25050000002,71510.70538,90948.17899,166078.74,166078.74,166078.74,166078.74,398311.43791999994,398311.43791999994 +27302400.0,133909.566,117089.31599999999,341900.80272,133532.24335,133532.24335,133532.24335,46476.626000000004,234141.36800000002,832796.62016,271632.65535,413916.4272,191497.956,191497.956,191497.956,121282.882,133909.566,133909.566,245670.78848,90857.9835,135053.10139999999,235557.735,66853.5286,85025.1253,167119.15499999997,167119.15499999997,167119.15499999997,167119.15499999997,402621.42843999993,402621.42843999993 +27306000.0,146639.61,137024.679,400112.06268000003,129081.05936000003,129081.05936000003,129081.05936000003,53268.341,269251.20272,833066.4876799999,287420.99799,437974.85408,190194.77999999997,190194.77999999997,190194.77999999997,119886.4485,146639.61,146639.61,266753.86984999996,96788.98169999999,143869.05427999998,250934.397,71217.57171999999,90575.36806,171370.239,171370.239,171370.239,171370.239,440896.4273999999,440896.4273999999 +27309600.0,166962.756,147211.08299999998,429856.36235999997,125877.72923,125877.72923,125877.72923,56715.4525,335498.38152,827831.52128,326277.88430999994,497185.34751999995,194206.347,194206.347,194206.347,119053.09149999998,166962.756,166962.756,277465.46568,114121.39815,169632.30046,295870.2915,83970.80654,106795.08617,205337.59499999997,205337.59499999997,205337.59499999997,205337.59499999997,502001.35303999996,502001.35303999996 +27313200.0,210318.318,161989.188,473008.42896,138160.63514,138160.63514,138160.63514,77541.04400000001,378867.20848000003,837294.1728000001,361266.68928,550501.62176,283164.74399999995,283164.74399999995,283164.74399999995,185425.632,210318.318,210318.318,292031.80513,136199.09024999998,202449.0181,353108.7525,100215.6269,127455.44494999999,275876.889,275876.889,275876.889,275876.889,632357.07612,632357.07612 +27316800.0,247859.75400000002,187272.93300000002,546836.96436,147182.54309000002,147182.54309000002,147182.54309000002,79009.3955,467977.95223999996,851034.62272,406989.93258,620175.1353600001,354523.149,354523.149,354523.149,233596.83900000004,247859.75400000002,247859.75400000002,316158.58716,152774.7075,227087.343,396082.575,112412.007,142966.9485,312543.579,312543.579,312543.579,312543.579,745231.66036,745231.66036 +27320400.0,304859.598,224299.49699999997,654954.5312399999,168304.46743000002,168304.46743000002,168304.46743000002,86660.392,544636.91664,899520.7552000001,478317.46956000006,728864.7155200001,385743.363,385743.363,385743.363,244108.0635,304859.598,304859.598,337396.38218,171439.42005000002,254830.94042,444472.57050000003,126145.54858000002,160433.43259,386019.83999999997,386019.83999999997,386019.83999999997,386019.83999999997,916611.19132,916611.19132 +27324000.0,496919.583,265104.147,774104.10924,277466.41769000003,277466.41769000003,277466.41769000003,167131.59399999998,1050836.46,1173702.9241600002,751381.1621399999,1144961.77088,438467.688,438467.688,438467.688,376612.0995,496919.583,496919.583,550537.38597,243014.69745,361221.84657999995,630038.1045,178810.81442,227413.75391,519238.59300000005,519238.59300000005,519238.59300000005,519238.59300000005,1494071.54622,1494071.54622 +27327600.0,1230731.67,594222.3929999999,1735129.38756,1641455.0821900002,1641455.0821900002,1641455.0821900002,1448404.4959999998,3375795.88744,4094117.30048,2927368.9743899996,4460752.722879999,1167855.2999999998,1167855.2999999998,1167855.2999999998,1706500.6805,1230731.67,1230731.67,2586515.1768300002,1566075.80925,2327846.0176999997,4060196.5425,1152322.4473,1465537.6091500001,1518292.065,1518292.065,1518292.065,1518292.065,3700399.8878,3700399.8878 +27331200.0,1087749.537,1205938.446,3521340.26232,1978505.5103,1978505.5103,1978505.5103,1916371.0894999998,4147328.01104,3165449.04704,3198931.41603,4874562.15776,1300584.645,1300584.645,1300584.645,1746117.8805,1087749.537,1087749.537,2188532.06351,2131200.4446,3167858.4386400003,5525334.4860000005,1568142.54936,1994382.6382800003,1545430.8570000003,1545430.8570000003,1545430.8570000003,1545430.8570000003,3270500.27458,3270500.27458 +27334800.0,2042357.307,2223325.7520000003,6492111.19584,1575770.1254900002,1575770.1254900002,1575770.1254900002,2117030.2649999997,4330693.79688,7269561.96672,3574620.2727900003,5447040.415680001,1914352.449,1914352.449,1914352.449,1586092.7915,2042357.307,2042357.307,2340789.5206799996,1848534.0277500001,2747697.4931,4792495.6275,1360155.9019000002,1729862.70745,2283377.2589999996,2283377.2589999996,2283377.2589999996,2283377.2589999996,6140687.636379999,6140687.636379999 +27338400.0,1453242.717,1043160.456,3046028.5315199997,691578.9258400002,691578.9258400002,691578.9258400002,862846.5335,2163071.8884799997,6887323.54368,1329131.32044,2025342.96448,1422471.78,1422471.78,1422471.78,1452536.099,1453242.717,1453242.717,1957678.19624,2200465.0349999997,3270814.6939999997,5704909.35,1619107.606,2059200.613,995213.3579999999,995213.3579999999,995213.3579999999,995213.3579999999,4369416.43578,4369416.43578 +27342000.0,756088.743,591700.0619999999,1727764.18104,390007.48138,390007.48138,390007.48138,554213.8875,1412602.7760799997,3711168.9030400002,921132.0531,1403629.7952,605131.014,605131.014,605131.014,589822.1945,756088.743,756088.743,758909.54412,1059286.8312,1574544.87008,2746299.192,779425.86592,991283.23216,602103.501,602103.501,602103.501,602103.501,2273306.82062,2273306.82062 +27345600.0,813507.3359999999,1182936.42,3454174.3463999997,678789.17469,678789.17469,678789.17469,963042.5770000002,1753002.8389599998,2880069.01888,1377212.42001,2098609.40192,732023.682,732023.682,732023.682,1093971.3084999998,813507.3359999999,813507.3359999999,956455.1811099999,878221.9381499998,1305406.4364599998,2276871.6914999997,646197.8705399999,821842.2581699999,813108.1680000001,813108.1680000001,813108.1680000001,813108.1680000001,2445945.3902399996,2445945.3902399996 +27349200.0,640545.5430000001,664846.1699999999,1941350.8164,492487.56612000003,492487.56612000003,492487.56612000003,889920.3915,1305889.6474399997,2039130.1984,951536.6374499999,1449960.5903999999,581912.709,581912.709,581912.709,700173.3865,640545.5430000001,640545.5430000001,694222.2158299999,669960.49725,995842.5168999999,1736934.6225,492958.5881,626950.68755,593929.248,593929.248,593929.248,593929.248,1925906.93262,1925906.93262 +27352800.0,536204.916,449995.1610000001,1313985.87012,253848.04082000005,253848.04082000005,253848.04082000005,480753.52150000003,1130967.6664800001,1769729.51744,792362.29212,1207409.20704,510059.526,510059.526,510059.526,429729.7795,536204.916,536204.916,591224.12258,557098.1509499999,828081.6959799998,1444328.5395,409914.19502,521333.82521,511421.676,511421.676,511421.676,511421.676,1612189.4474399998,1612189.4474399998 +27356400.0,963343.668,1132170.972,3305939.2382400003,1457749.2707800001,1457749.2707800001,1457749.2707800001,1396257.758,2158666.90496,2895929.79584,1723466.2907699998,2626234.34784,869267.8770000001,869267.8770000001,869267.8770000001,1419103.9974999998,963343.668,963343.668,1469095.0677,1322820.1692,1966266.0292799997,3429533.772,973334.3467199999,1237898.38056,1007597.04,1007597.04,1007597.04,1007597.04,2896453.29512,2896453.29512 +27360000.0,956611.959,1320224.835,3855056.5182,1605970.53485,1605970.53485,1605970.53485,1183596.162,2435596.30608,3236969.314560001,1806009.94749,2752015.15808,1042561.6499999999,1042561.6499999999,1042561.6499999999,1653054.48,956611.959,956611.959,1583878.1756199999,1372666.0625999998,2040357.94984,3558763.866,1010011.0781599999,1284544.29068,1138747.731,1138747.731,1138747.731,1138747.731,2876213.2900599996,2876213.2900599996 +27363600.0,902652.552,1272674.007,3716208.1004399997,1094896.4183300002,1094896.4183300002,1094896.4183300002,1068835.6630000002,2405300.89144,3291110.8384000002,1607131.9154100001,2448962.91872,911744.6490000001,911744.6490000001,911744.6490000001,1326788.113,902652.552,902652.552,1366456.03614,1194109.4925000002,1774947.9370000002,3095839.4250000003,878628.7130000001,1117450.6115,1111767.507,1111767.507,1111767.507,1111767.507,2713975.3396799997,2713975.3396799997 +27367200.0,2237278.587,1830443.1239999998,5344893.92208,3521685.23696,3521685.23696,3521685.23696,2908960.6,3557290.63656,6828222.63296,3747381.5530200005,5710295.699840001,2353602.642,2353602.642,2353602.642,3019435.6255,2237278.587,2237278.587,3818807.2345799995,2884903.4519999996,4288177.476799999,7479379.319999999,2122719.0831999998,2699699.7736,2500823.787,2500823.787,2500823.787,2500823.787,6726750.951579999,6726750.951579999 +27370800.0,1688736.7110000001,964864.6799999999,2817404.8656,2160544.18459,2160544.18459,2160544.18459,1783081.041,2725563.2502399995,4791633.208320001,2502202.4815200004,3812879.9718400002,1718252.7539999997,1718252.7539999997,1718252.7539999997,2147363.0640000002,1688736.7110000001,1688736.7110000001,1500785.7478899998,1966879.6812,2923608.8100799997,5099317.692,1447234.92592,1840610.86216,1830293.3879999998,1830293.3879999998,1830293.3879999998,1830293.3879999998,5077468.37774,5077468.37774 +27374400.0,1263213.279,924022.4010000001,2698145.41092,1307274.56574,1307274.56574,1307274.56574,1352983.443,2101054.9195199995,3964069.9878400005,1840227.8265000002,2804156.6880000005,1132602.2280000001,1132602.2280000001,1132602.2280000001,1530847.0659999999,1263213.279,1263213.279,1333010.1821400002,1484529.65055,2206634.19662,3848780.5755000003,1092320.58238,1389226.51249,1303438.2480000001,1303438.2480000001,1303438.2480000001,1303438.2480000001,3798061.25886,3798061.25886 +27378000.0,1090388.835,920688.315,2688409.8797999998,1240260.84765,1240260.84765,1240260.84765,1223938.9855,2001968.0366399998,3779638.7775999997,1746014.74005,2660593.8896,1093094.5860000001,1093094.5860000001,1093094.5860000001,1449357.189,1090388.835,1090388.835,1339162.3501099998,1408328.39835,2093367.1501399998,3651221.7735,1036251.51286,1317917.1925300001,1232571.0869999998,1232571.0869999998,1232571.0869999998,1232571.0869999998,3278435.7639,3278435.7639 +27381600.0,762588.852,654724.935,1911796.8102000002,802218.1802800001,802218.1802800001,802218.1802800001,664822.6865000001,1041698.2966400001,2311631.2441600002,1002795.5437500001,1528069.4000000001,578973.8670000001,578973.8670000001,578973.8670000001,717980.5395,762588.852,762588.852,941486.9373,656356.6322999999,975621.4633199999,1701665.3429999999,482948.83067999996,614220.1571399999,774818.628,774818.628,774818.628,774818.628,2292850.4816799997,2292850.4816799997 +27385200.0,133415.49300000002,118622.52599999998,346377.77592,149273.4364,149273.4364,149273.4364,67764.879,221374.94695999997,849648.4672000001,255157.54467,388811.49664,198138.18600000002,198138.18600000002,198138.18600000002,127425.9175,133415.49300000002,133415.49300000002,250231.99122999996,98084.92904999999,145795.37602,254294.2605,72171.13298,91788.11879000001,167516.313,167516.313,167516.313,167516.313,401135.91562000004,401135.91562000004 +27388800.0,133958.712,117458.652,342979.26383999997,134373.58561,134373.58561,134373.58561,46674.0155,233725.08112000002,837617.56992,272456.05443,415171.13056,193348.152,193348.152,193348.152,121942.737,133958.712,133958.712,246159.58068,91289.7216,135694.84544,236677.056,67171.20256,85429.14688000001,167906.01299999998,167906.01299999998,167906.01299999998,167906.01299999998,402769.19408,402769.19408 +27392400.0,149099.049,139838.92200000002,408329.65224,131967.49115000002,131967.49115000002,131967.49115000002,54401.445,268879.46336,852527.88096,291779.32917,444616.12064000004,195128.217,195128.217,195128.217,122415.79350000003,149099.049,149099.049,272167.13524,99287.3376,147582.65983999998,257411.616,73055.86816,92913.33568,174999.483,174999.483,174999.483,174999.483,448291.14066000003,448291.14066000003 +27396000.0,172452.315,152979.6,446700.43200000003,131868.74074,131868.74074,131868.74074,61049.1385,340710.55816,865492.23872,338680.78335,516085.0032,203153.02500000002,203153.02500000002,203153.02500000002,124092.94800000002,172452.315,172452.315,287784.98397999996,119655.48014999999,177858.26925999997,310217.9115,88042.79774,111973.89377,216363.76499999996,216363.76499999996,216363.76499999996,216363.76499999996,518506.6271,518506.6271 +27399600.0,221089.626,168408.79499999998,491753.6814,144611.77236,144611.77236,144611.77236,80793.58,402515.43583999993,875554.3347200002,380374.10649000003,579617.68608,303217.677,303217.677,303217.677,203279.307,221089.626,221089.626,306733.61822999996,143775.9315,213711.3846,372752.41500000004,105790.6854,134545.87170000002,290648.772,290648.772,290648.772,290648.772,664742.80884,664742.80884 +27403200.0,266047.407,198760.713,580381.2819599999,155945.52985000002,155945.52985000002,155945.52985000002,83008.2645,511184.7484,900966.44608,436402.60397999996,664994.44416,383944.935,383944.935,383944.935,249081.581,266047.407,266047.407,336300.91910999996,165101.0121,245409.40563999998,428039.661,121481.73236,154501.93478,340903.34699999995,340903.34699999995,340903.34699999995,340903.34699999995,799915.87038,799915.87038 +27406800.0,337978.26,243788.41800000003,711862.1805600001,180360.75981,180360.75981,180360.75981,91673.56450000001,602948.1077599999,988285.8444800001,525523.16061,800797.19712,424914.177,424914.177,424914.177,265750.4535,337978.26,337978.26,362482.79769000004,187370.9496,278511.88064,485776.536,137868.00736,175342.19728,427285.74,427285.74,427285.74,427285.74,1016187.9683999999,1016187.9683999999 +27410400.0,532507.5630000001,276438.768,807201.2025599999,286491.96015000006,286491.96015000006,286491.96015000006,172628.253,1099348.0259999998,1272912.2694400002,801817.37937,1221816.95904,466420.392,466420.392,466420.392,393407.3535,532507.5630000001,532507.5630000001,566061.37718,271293.4377,403255.92468,703353.357,199618.38132,253877.06886,554789.553,554789.553,554789.553,554789.553,1601072.73942,1601072.73942 +27414000.0,1259125.35,651727.635,1903044.6942,1676494.2250100002,1676494.2250100002,1676494.2250100002,1477290.304,3431351.71984,4258273.4457600005,2987801.10846,4552839.78432,1227032.892,1227032.892,1227032.892,1813198.4989999998,1259125.35,1259125.35,2627933.0622999994,1621196.9005499997,2409779.0966199995,4203103.075499999,1192880.68238,1517120.06249,1556701.866,1556701.866,1556701.866,1556701.866,3785770.219,3785770.219 +27417600.0,1126740.021,1234966.095,3606100.9973999998,2068881.49237,2068881.49237,2068881.49237,1960004.9245,4253358.0816,3296051.783680001,3295615.66089,5021890.53088,1343124.963,1343124.963,1343124.963,1828455.244,1126740.021,1126740.021,2222201.0004999996,2180289.3606,3240825.17304,5652602.046,1604262.29496,2040320.16708,1593746.7659999998,1593746.7659999998,1593746.7659999998,1593746.7659999998,3387731.66314,3387731.66314 +27421200.0,2087767.2179999999,2266119.7470000004,6617069.66124,1679864.4292100002,1679864.4292100002,1679864.4292100002,2261040.9185,4465704.8148799995,7442823.66016,3688893.74994,5621171.42848,1977107.457,1977107.457,1977107.457,1664552.1269999999,2087767.2179999999,2087767.2179999999,2444562.7117599994,1941016.6282499998,2885165.4573,5032265.3325,1428204.8277,1816408.15335,2339172.126,2339172.126,2339172.126,2339172.126,6277220.102119999,6277220.102119999 +27424800.0,1520482.971,1093282.401,3192384.61092,739576.06547,739576.06547,739576.06547,937484.1595000001,2297123.55216,7135711.55008,1441976.91435,2197298.1552,1493525.5890000002,1493525.5890000002,1493525.5890000002,1524795.93,1520482.971,1520482.971,2030782.0288599997,2261364.9903,3361337.59052,5862798.123000001,1663917.9434800001,2116190.94154,1057967.688,1057967.688,1057967.688,1057967.688,4571585.46614,4571585.46614 +27428400.0,785529.1740000001,622687.884,1818248.6212799998,414028.29171,414028.29171,414028.29171,587395.319,1470915.0476,3977121.8860800005,962526.27849,1466706.71008,635433.717,635433.717,635433.717,627173.932,785529.1740000001,785529.1740000001,793069.74084,1155479.4666,1717527.50344,2995687.506,850204.6445599999,1081300.53788,627333.381,627333.381,627333.381,627333.381,2361824.38316,2361824.38316 +27432000.0,823385.517,1180370.445,3446681.6994,684464.10593,684464.10593,684464.10593,963406.0065,1742790.24992,2875097.0982400007,1380554.4564,2103702.0288000004,732012.321,732012.321,732012.321,1093384.0365,823385.517,823385.517,953168.14736,874904.04855,1300474.65982,2268269.7555,643756.55918,818737.3688899999,820359.2609999999,820359.2609999999,820359.2609999999,820359.2609999999,2475645.78778,2475645.78778 +27435600.0,651035.298,684931.947,2000001.2852399999,501585.25747,501585.25747,501585.25747,902305.1309999999,1311827.85872,2050046.51584,961986.34728,1465883.9577600001,584992.779,584992.779,584992.779,736232.7350000001,651035.298,651035.298,700786.3891599999,677317.5045,1006778.1178,1756008.3450000002,498371.89220000006,633835.3931000001,600088.506,600088.506,600088.506,600088.506,1957446.1293199998,1957446.1293199998 +27439200.0,542009.9789999999,451594.002,1318654.48584,259516.61879,259516.61879,259516.61879,495785.91299999994,1129192.0903999999,1768641.4956800002,796334.61936,1213462.27712,509063.56500000006,509063.56500000006,509063.56500000006,432624.3775,542009.9789999999,542009.9789999999,593134.12067,560654.3708999999,833367.7315599999,1453548.369,412530.87043999997,524661.7446199999,513262.89,513262.89,513262.89,513262.89,1629643.33686,1629643.33686 +27442800.0,973000.554,1155625.3530000001,3374426.03076,1470479.1196700002,1470479.1196700002,1470479.1196700002,1401979.5195,2171825.96672,2871724.4614399998,1720474.6612200001,2621675.67424,863379.0240000001,863379.0240000001,863379.0240000001,1415374.0929999999,973000.554,973000.554,1464383.88915,1316334.321,1956625.3364,3412718.61,968562.0436,1231828.9078,1022728.1879999998,1022728.1879999998,1022728.1879999998,1022728.1879999998,2925488.33236,2925488.33236 +27446400.0,954878.7749999999,1311330.309,3829084.50228,1640509.08802,1640509.08802,1640509.08802,1195455.681,2425570.57952,3180632.5331200003,1804656.2288999998,2749952.3488,1027872.69,1027872.69,1027872.69,1641358.159,954878.7749999999,954878.7749999999,1627186.1505899997,1365676.7994,2029968.9709599998,3540643.554,1004868.36104,1278003.72092,1136130.4500000002,1136130.4500000002,1136130.4500000002,1136130.4500000002,2871002.1835,2871002.1835 +27450000.0,890745.486,1275791.868,3725312.25456,1084730.63281,1084730.63281,1084730.63281,1053363.1815,2367492.07736,3234607.0598400007,1585093.34025,2415380.328,903758.9579999999,903758.9579999999,903758.9579999999,1310516.641,890745.486,890745.486,1352107.04135,1186839.78705,1764142.1032199997,3076992.0404999997,873279.6457799999,1110647.60319,1108625.9610000001,1108625.9610000001,1108625.9610000001,1108625.9610000001,2678174.76124,2678174.76124 +27453600.0,2217518.4390000002,1811400.9479999999,5289290.7681599995,3509192.1847400004,3509192.1847400004,3509192.1847400004,2886872.7055,3534050.47336,6716701.740800001,3715165.7717999998,5661204.9856,2329008.996,2329008.996,2329008.996,2991366.3674999997,2217518.4390000002,2217518.4390000002,3839375.9153099996,2854889.2098,4243563.714319999,7401564.618,2100634.5296799997,2671612.37164,2475161.3729999997,2475161.3729999997,2475161.3729999997,2475161.3729999997,6667338.77326,6667338.77326 +27457200.0,1654062.975,925930.0260000001,2703715.67592,2150273.96694,2150273.96694,2150273.96694,1737728.7375,2632834.32864,4605545.507200001,2440374.33738,3718665.65696,1666048.233,1666048.233,1666048.233,2104329.1395,1654062.975,1654062.975,1456620.3038399997,1920423.9699,2854556.1231599995,4978876.959,1413052.69884,1797137.4928199998,1793820.48,1793820.48,1793820.48,1793820.48,4973216.0115,4973216.0115 +27460800.0,1221026.238,889541.865,2597462.2458,1283217.03587,1283217.03587,1283217.03587,1318635.6819999998,2015794.1139999998,3784541.6428800006,1772206.9413299998,2700505.81536,1102196.6400000001,1102196.6400000001,1102196.6400000001,1467256.2135,1221026.238,1221026.238,1293308.2785999998,1424995.7643000002,2118141.85212,3694433.4630000005,1048515.4018800001,1333514.55474,1253153.298,1253153.298,1253153.298,1253153.298,3671218.88892,3671218.88892 +27464400.0,1071491.181,901843.7220000001,2633383.66824,1226583.3236800001,1226583.3236800001,1226583.3236800001,1204557.4834999999,1961704.98008,3689553.8246400002,1715983.4181000001,2614831.8752,1071747.993,1071747.993,1071747.993,1421177.7685,1071491.181,1071491.181,1312155.9076599998,1381599.5607,2053636.87788,3581924.787,1016584.36812,1292904.2802600001,1210396.836,1210396.836,1210396.836,1210396.836,3221616.81754,3221616.81754 +27468000.0,766520.3910000001,658920.999,1924049.3170799997,811384.4511300002,811384.4511300002,811384.4511300002,671447.1294999999,1039329.2363999999,2324743.8963200003,1006890.4419,1534309.2448,582997.347,582997.347,582997.347,725659.053,766520.3910000001,766520.3910000001,946045.73986,661761.94455,983656.0262199999,1715679.1155,486926.07278,619278.46169,781740.6869999999,781740.6869999999,781740.6869999999,781740.6869999999,2304671.30894,2304671.30894 +27471600.0,132931.947,118095.582,344839.09943999996,144184.49969000003,144184.49969000003,144184.49969000003,67713.17,220650.71103999997,846070.8512000002,246576.41694,375735.49248,197936.38500000004,197936.38500000004,197936.38500000004,127073.03699999998,132931.947,132931.947,248862.20904999998,97492.17104999999,144914.28882,252757.4805,71734.98018,91233.41439,165996.26400000002,165996.26400000002,165996.26400000002,165996.26400000002,399682.05397999997,399682.05397999997 +27475200.0,135072.006,119611.476,349265.50992,137245.98811,137245.98811,137245.98811,47372.4755,238269.64063999997,857057.0944,276332.53998,421078.15616,198132.984,198132.984,198132.984,124476.5865,135072.006,135072.006,250590.07648999998,93148.27875,138457.4415,241495.5375,68538.7335,87168.38925000001,170395.875,170395.875,170395.875,170395.875,406116.49804,406116.49804 +27478800.0,151893.62099999998,142950.456,417415.33152,134998.89227,134998.89227,134998.89227,55910.4525,267152.67464,872533.0566400001,295195.93593,449822.37856,200004.60599999997,200004.60599999997,200004.60599999997,124995.88500000001,151893.62099999998,151893.62099999998,278182.14125,101723.51384999999,151203.84033999997,263727.6285,74848.41265999999,95193.11542999999,178638.885,178638.885,178638.885,178638.885,456693.4871399999,456693.4871399999 +27482400.0,176272.764,158537.616,462929.83872,137318.78413000001,137318.78413000001,137318.78413000001,65096.52450000001,331142.7752,897695.97248,349300.15176000004,532266.89792,210115.854,210115.854,210115.854,128894.32499999998,176272.764,176272.764,296773.84464,124905.2157,185661.57988,323828.337,91905.56612,116886.60926000001,228937.33500000002,228937.33500000002,228937.33500000002,228937.33500000002,529993.4437599999,529993.4437599999 +27486000.0,231644.84100000001,174729.171,510209.17932,150257.02516,150257.02516,150257.02516,83608.595,426354.84144,906839.04576,397090.14723,605089.7481600001,318735.027,318735.027,318735.027,220911.32349999997,231644.84100000001,231644.84100000001,320478.0681699999,150833.41695,224201.77038,391049.5995,110983.60062000001,141150.28401,304627.329,304627.329,304627.329,304627.329,696478.8219399999,696478.8219399999 +27489600.0,281046.843,203512.37100000004,594256.12332,162374.81117,162374.81117,162374.81117,85884.589,544972.72248,935968.5920000002,459916.97597999993,700825.86816,406629.312,406629.312,406629.312,260058.47349999996,281046.843,281046.843,351474.16030999995,174500.2197,259380.57348,452407.977,128397.69252000001,163297.73646000001,365828.76599999995,365828.76599999995,365828.76599999995,365828.76599999995,845014.17462,845014.17462 +27493200.0,357810.216,252353.09999999998,736871.0519999999,183854.32978,183854.32978,183854.32978,93695.126,634424.60984,1027570.0102400001,550768.4742,839266.2464000001,442119.0959999999,442119.0959999999,442119.0959999999,275577.512,357810.216,357810.216,372696.80382999993,195724.58085,290928.88314,507434.0985,144014.62986000002,183159.54603,447174.627,447174.627,447174.627,447174.627,1075816.04944,1075816.04944 +27496800.0,563329.314,293424.00600000005,856798.0975200001,295044.18603000004,295044.18603000004,295044.18603000004,178583.3385,1145340.85256,1360054.3238400002,846553.22094,1289985.86048,491423.0310000001,491423.0310000001,491423.0310000001,410674.1275,563329.314,563329.314,580208.1259,294453.4842,437681.47527999996,763397.922,216659.60072,275550.29756,586774.671,586774.671,586774.671,586774.671,1693743.47076,1693743.47076 +27500400.0,1283277.5969999998,695039.316,2029514.80272,1707703.55074,1707703.55074,1707703.55074,1502824.085,3478071.45704,4374097.25824,3049744.19694,4647229.25248,1280582.076,1280582.076,1280582.076,1910898.654,1283277.5969999998,1283277.5969999998,2667954.11415,1667720.2023,2478932.25132,4323719.043,1227112.64268,1560656.68314,1593127.419,1593127.419,1593127.419,1593127.419,3858387.9749799995,3858387.9749799995 +27504000.0,1160101.284,1258578.588,3675049.4769599997,2152862.37705,2152862.37705,2152862.37705,1994043.7754999998,4351447.4808,3422423.20128,3366643.7330400003,5130123.783680001,1376126.97,1376126.97,1376126.97,1892846.221,1160101.284,1160101.284,2251703.53954,2218511.2761,3297638.98324,5751695.901000001,1632386.07476,2076088.3299800002,1631139.096,1631139.096,1631139.096,1631139.096,3488037.8605599995,3488037.8605599995 +27507600.0,2121635.892,2293391.739,6696703.8778800005,1739470.29553,1739470.29553,1739470.29553,2372704.1799999997,4561675.93512,7554391.6192000015,3766473.1519799996,5739387.6601599995,2017866.4020000002,2017866.4020000002,2017866.4020000002,1713421.276,2121635.892,2121635.892,2525854.2273899997,2014539.6923999998,2994451.5921599995,5222880.683999999,1482303.27984,1885211.21832,2381174.931,2381174.931,2381174.931,2381174.931,6379051.915279999,6379051.915279999 +27511200.0,1582789.1220000002,1139950.596,3328655.74032,790313.5198200002,790313.5198200002,790313.5198200002,1006176.6400000001,2406121.7268,7371249.275520001,1549054.1793299997,2360463.51136,1559028.8429999999,1559028.8429999999,1559028.8429999999,1588809.04,1582789.1220000002,1582789.1220000002,2086663.5795199997,2318174.95185,3445781.03954,6010083.2085,1705718.85346,2169353.84383,1117937.142,1117937.142,1117937.142,1117937.142,4758919.29348,4758919.29348 +27514800.0,836580.3690000001,673418.3430000001,1966381.56156,454324.42561,454324.42561,454324.42561,641641.0175,1580975.0977599998,4324495.89312,1048838.4847499998,1598230.072,693666.252,693666.252,693666.252,688977.8525,836580.3690000001,836580.3690000001,857204.7320199999,1269506.3377500002,1887019.2971,3291312.7275000005,934105.8979000001,1188007.1654500002,679529.4569999999,679529.4569999999,679529.4569999999,679529.4569999999,2515318.30946,2515318.30946 +27518400.0,883366.515,1218563.034,3558204.05928,725485.46499,725485.46499,725485.46499,1016261.6205,1842224.0813600002,3075237.2115200004,1465232.6108700002,2232735.4070400004,792088.4010000001,792088.4010000001,792088.4010000001,1145751.3235,883366.515,883366.515,1011448.46907,935624.1312,1390730.1900799999,2425692.192,688434.5459200001,875559.37216,879612.168,879612.168,879612.168,879612.168,2655988.6551,2655988.6551 +27522000.0,715466.802,750902.193,2192634.40356,548372.95183,548372.95183,548372.95183,972820.2365000001,1429022.4792,2271967.7145599998,1056752.45907,1610289.46144,648274.2119999999,648274.2119999999,648274.2119999999,829289.818,715466.802,715466.802,774282.62639,754967.223,1122198.1931999999,1957322.43,555506.7468,706500.1914,662741.22,662741.22,662741.22,662741.22,2151170.18468,2151170.18468 +27525600.0,603830.856,502603.173,1467601.26516,306146.14888,306146.14888,306146.14888,587669.565,1249333.99536,1999387.3862400001,892072.18422,1359348.09024,574447.9260000001,574447.9260000001,574447.9260000001,495951.58550000004,603830.856,603830.856,662131.8198299999,637470.5912999999,947548.8789199998,1652701.5329999998,469052.4350799999,596546.5533399999,577260.0120000001,577260.0120000001,577260.0120000001,577260.0120000001,1815518.1070400001,1815518.1070400001 +27529200.0,1043021.226,1253175.3360000001,3659271.98112,1532007.6255000003,1532007.6255000003,1532007.6255000003,1484972.0725,2339013.02536,3101170.6163199996,1824442.44465,2780102.7728,938060.436,938060.436,938060.436,1475231.716,1043021.226,1043021.226,1602362.7651199999,1402937.0585999999,2085353.3562399999,3637244.226,1032284.55176,1312871.96348,1117971.636,1117971.636,1117971.636,1117971.636,3136017.15284,3136017.15284 +27532800.0,1017383.874,1369779.804,3999757.02768,1753561.3070800002,1753561.3070800002,1753561.3070800002,1261501.486,2586425.3904,3431550.87936,1940261.43969,2956588.86048,1100358.867,1100358.867,1100358.867,1721151.642,1017383.874,1017383.874,1722146.6665,1452418.6059,2158903.70556,3765529.7190000005,1068693.19644,1359176.9176200002,1215298.335,1215298.335,1215298.335,1215298.335,3058934.1811599997,3058934.1811599997 +27536400.0,954790.2240000002,1368598.401,3996307.33092,1151266.30091,1151266.30091,1151266.30091,1119339.6724999999,2498403.44456,3484229.28256,1686195.8276099998,2569441.26112,971537.754,971537.754,971537.754,1392026.405,954790.2240000002,954790.2240000002,1432893.3049599999,1266564.7296,1882646.83264,3283686.336,931941.45536,1185254.40128,1191852.027,1191852.027,1191852.027,1191852.027,2870735.94016,2870735.94016 +27540000.0,2254133.5020000003,1852892.25,5410445.37,3558727.9593800004,3558727.9593800004,3558727.9593800004,2931693.1245000004,3659901.1301600006,6907875.42848,3777264.32349,5755831.35008,2373968.223,2373968.223,2373968.223,3040882.0154999997,2254133.5020000003,2254133.5020000003,3957882.526,2933122.2538499995,4359850.8563399995,7604391.028499999,2158198.59666,2744823.04743,2523713.4450000003,2523713.4450000003,2523713.4450000003,2523713.4450000003,6777428.0626799995,6777428.0626799995 +27543600.0,1706541.105,968607.2309999999,2828333.11452,2285251.8051000005,2285251.8051000005,2285251.8051000005,1785509.2465,2733910.2103999997,4856854.16256,2559524.10042,3900227.20064,1724310.1770000001,1724310.1770000001,1724310.1770000001,2316179.1135,1706541.105,1706541.105,1523635.62884,2025732.1185000003,3011088.2354,5251898.085000001,1490538.6946000003,1895685.1183000002,1890151.341,1890151.341,1890151.341,1890151.341,5131000.2557,5131000.2557 +27547200.0,1274287.065,930483.735,2717012.5061999997,1375704.15136,1375704.15136,1375704.15136,1422538.1800000002,2118454.05488,4005601.9289600006,1861975.3845,2837295.824,1207740.8220000002,1207740.8220000002,1207740.8220000002,1559481.616,1274287.065,1274287.065,1352543.66429,1502002.2456,2232605.80704,3894079.896,1105176.96096,1405577.41008,1318879.686,1318879.686,1318879.686,1318879.686,3831356.4420999996,3831356.4420999996 +27550800.0,1119793.194,947774.8770000001,2767502.64084,1285085.49961,1285085.49961,1285085.49961,1259673.1524999999,2054655.4304,3874619.9808,1795130.4594300003,2735436.89056,1127014.392,1127014.392,1127014.392,1499329.181,1119793.194,1119793.194,1384546.54715,1449403.6198500001,2154422.17074,3757713.0885000005,1066474.76226,1356355.4862300002,1268611.668,1268611.668,1268611.668,1268611.668,3366844.86996,3366844.86996 +27554400.0,797171.0549999999,688296.8489999999,2009826.79908,852465.9444400001,852465.9444400001,852465.9444400001,699606.747,1095335.41456,2434329.23648,1054907.8627499999,1607478.648,610052.892,610052.892,610052.892,760498.564,797171.0549999999,797171.0549999999,993056.84725,692253.7181999999,1028979.6008799998,1794731.8619999997,509361.9951199999,647812.73876,816681.051,816681.051,816681.051,816681.051,2396827.6387,2396827.6387 +27558000.0,140841.018,125585.08499999999,366708.4482,168255.82686000003,168255.82686000003,168255.82686000003,70123.9315,237436.87415999998,911272.48256,274108.24287,417688.75104,212501.421,212501.421,212501.421,135285.108,140841.018,140841.018,265453.50078,104531.67045,155377.93978,271008.0345,76914.66122,97820.99531,179342.775,179342.775,179342.775,179342.775,423461.99412,423461.99412 +27561600.0,147347.457,128872.71899999998,376308.33947999997,148017.99606000003,148017.99606000003,148017.99606000003,50705.333,259753.16687999998,929387.19296,297970.95447,454050.97823999997,214098.89399999997,214098.89399999997,214098.89399999997,134053.5455,147347.457,147347.457,269178.62933,100574.81639999998,149496.39375999998,260749.52399999998,74003.19823999998,94118.16152,185105.69400000002,185105.69400000002,185105.69400000002,185105.69400000002,443024.68737999996,443024.68737999996 +27565200.0,163985.73,156109.098,455838.56616,145213.22475000002,145213.22475000002,145213.22475000002,61605.676999999996,302552.31936,938198.0889600002,330019.78191,502887.28672000003,215435.39099999997,215435.39099999997,215435.39099999997,133258.8495,163985.73,163985.73,303143.56409999996,114447.05864999999,170116.36865999998,296714.5965,84210.42834,107099.84007,193379.298,193379.298,193379.298,193379.298,493050.4282,493050.4282 +27568800.0,204989.64299999998,171012.459,499356.38028,148921.91864000002,148921.91864000002,148921.91864000002,76026.49250000001,394914.03927999997,945878.61824,376608.43563,573879.52096,244297.962,244297.962,244297.962,152992.8995,204989.64299999998,204989.64299999998,314901.06075999996,140239.9251,208455.39484,363584.991,103188.88316,131236.86818,271176.141,271176.141,271176.141,271176.141,616335.5266199999,616335.5266199999 +27572400.0,261065.49900000004,189758.01,554093.3892,161431.67007000002,161431.67007000002,161431.67007000002,88431.329,497970.66215999995,968317.7913600001,441302.18013,672460.46496,383817.621,383817.621,383817.621,255789.79300000003,261065.49900000004,261065.49900000004,346826.32464999997,165043.24289999998,245323.53635999997,427889.88899999997,121439.22563999999,154447.87422,338457.054,338457.054,338457.054,338457.054,784936.9336600001,784936.9336600001 +27576000.0,319425.591,246184.00799999997,718857.3033599999,177554.48667,177554.48667,177554.48667,90981.9785,619239.1673600001,1024773.58912,522848.67369,796721.7884800001,449398.35599999997,449398.35599999997,449398.35599999997,281464.2775,319425.591,319425.591,381645.71744,193305.528,287333.1552,501162.48000000004,142234.68480000002,180895.7904,423131.157,423131.157,423131.157,423131.157,960406.27694,960406.27694 +27579600.0,423122.36699999997,276745.617,808097.20164,205476.70132000002,205476.70132000002,205476.70132000002,101133.7285,716507.6260800001,1232360.38784,632930.35806,964465.3075199999,491983.79099999997,491983.79099999997,491983.79099999997,303241.2705,423122.36699999997,423122.36699999997,404215.50247,237145.6197,352497.93348,614821.9770000001,174492.33252,221921.45646000002,512379.789,512379.789,512379.789,512379.789,1272187.9167799999,1272187.9167799999 +27583200.0,520532.676,356601.993,1041277.81956,307313.06265000004,307313.06265000004,307313.06265000004,192394.52049999998,867129.89264,1501346.24704,775066.1200799999,1181053.13536,537127.341,537127.341,537127.341,358001.7805,520532.676,520532.676,428212.49146,325181.19465,483355.75106,843062.3565000001,239269.12594000003,304305.36487000005,591851.613,591851.613,591851.613,591851.613,1565068.2458399998,1565068.2458399998 +27586800.0,1242042.456,1234875.9389999998,3605837.7418799996,1161893.9174700002,1161893.9174700002,1161893.9174700002,1104662.0795,2015017.7444000002,2307035.8912000004,1709448.74205,2604874.2736,834777.4829999999,834777.4829999999,834777.4829999999,1794829.3055,1242042.456,1242042.456,2469742.0708999997,749960.3618999999,1114755.8959599999,1944341.6789999998,551822.68604,701814.75842,1706412.27,1706412.27,1706412.27,1706412.27,3734407.65104,3734407.65104 +27590400.0,2291522.325,2050127.7449999996,5986373.015399999,2880388.7679600003,2880388.7679600003,2880388.7679600003,2061946.3060000003,3462342.1470399997,4026342.6252800003,3343791.23043,5095300.92256,1430692.8960000002,1430692.8960000002,1430692.8960000002,2340261.7525,2291522.325,2291522.325,3533902.1322799996,1788598.90395,2658608.74118,4637108.2695,1316055.48982,1673775.27061,2448664.2029999997,2448664.2029999997,2448664.2029999997,2448664.2029999997,6889843.7905,6889843.7905 +27594000.0,2628159.5100000002,2524834.1429999997,7372515.697559999,3182988.55083,3182988.55083,3182988.55083,2659607.72,4474665.50648,10188627.26656,3517625.58693,5360191.370560001,2707794.654,2707794.654,2707794.654,2739166.731,2628159.5100000002,2628159.5100000002,2722424.2135999994,3527188.2783,5242882.32972,9144562.203,2595313.84428,3300751.49994,2392298.271,2392298.271,2392298.271,2392298.271,7901999.5934,7901999.5934 +27597600.0,1930992.597,1599013.3530000001,4669118.9907599995,2247344.80597,2247344.80597,2247344.80597,2822197.35,3701922.6749600004,7061677.567360002,3611417.09649,5503111.7660799995,2719161.237,2719161.237,2719161.237,3045773.276,1930992.597,1930992.597,2072289.2552699998,3518648.4280499998,5230188.52762,9122421.8505,2589030.20138,3292759.88699,2053179.4230000002,2053179.4230000002,2053179.4230000002,2053179.4230000002,5805851.07498,5805851.07498 +27601200.0,1438266.945,1222628.547,3570075.35724,2010089.3492900003,2010089.3492900003,2010089.3492900003,2622167.4745,3605017.59272,7418131.173760001,3003454.5830099997,4576692.69792,1314441.048,1314441.048,1314441.048,2449461.511,1438266.945,1438266.945,1433512.2028499998,2733062.9417999997,4062478.7431199993,7085718.737999999,2010994.4608799997,2557607.0492399996,1732637.1630000002,1732637.1630000002,1732637.1630000002,1732637.1630000002,4324389.2813,4324389.2813 +27604800.0,1190627.9220000003,996585.0869999999,2910028.4540399997,1516690.9741500001,1516690.9741500001,1516690.9741500001,1680930.7234999998,3054155.8376,4106263.5475200005,2215847.51766,3376529.55072,1191161.406,1191161.406,1191161.406,1812378.2215,1190627.9220000003,1190627.9220000003,1214006.78503,1693474.42365,2517213.83466,4390489.2465,1246062.66234,1584757.54707,1282448.895,1282448.895,1282448.895,1282448.895,3579821.28548,3579821.28548 +27608400.0,895130.3879999999,734405.6429999999,2144464.47756,827217.6750200001,827217.6750200001,827217.6750200001,1013662.9965,2045981.6054399998,2703579.9801600003,1545722.6047200002,2355386.8262400003,841661.703,841661.703,841661.703,1143988.6745,895130.3879999999,895130.3879999999,867502.33115,1072324.1254500002,1593923.76178,2780099.5845000003,789018.7392200001,1003483.56431,961239.6000000001,961239.6000000001,961239.6000000001,961239.6000000001,2691358.6999199996,2691358.6999199996 +27612000.0,776876.964,636176.9280000001,1857636.6297600002,676679.04249,676679.04249,676679.04249,819361.228,1526223.95312,2437893.4592,1248740.2691400002,1902842.3148800004,736513.257,736513.257,736513.257,1005791.5980000002,776876.964,776876.964,735430.05822,904007.0691,1343733.96444,2343722.031,665170.63356,845972.04738,830046.264,830046.264,830046.264,830046.264,2335810.07176,2335810.07176 +27615600.0,1065255.828,939635.604,2743735.96368,1180719.72282,1180719.72282,1180719.72282,1148799.4035,2083960.5387199998,3706263.7312000007,1774074.1130700002,2703351.02944,1069155.7619999999,1069155.7619999999,1069155.7619999999,1379556.367,1065255.828,1065255.828,1321335.5329199997,1350823.49325,2007890.7233000002,3502134.9825000004,993939.2617000001,1264103.96035,1193264.796,1193264.796,1193264.796,1193264.796,3202869.18952,3202869.18952 +27619200.0,1134684.9,1009605.7409999999,2948048.7637199997,1291210.41819,1291210.41819,1291210.41819,1233907.3495,2223201.5271199998,4002707.5443200003,1900666.00773,2896252.96416,1155267.543,1155267.543,1155267.543,1479633.4315,1134684.9,1134684.9,1442671.75117,1454584.7524499998,2162123.5085799997,3771145.6544999997,1070287.05242,1361204.00291,1283370.9270000001,1283370.9270000001,1283370.9270000001,1283370.9270000001,3411619.266,3411619.266 +27622800.0,1166899.584,1037374.9890000001,3029134.96788,1357677.5271400001,1357677.5271400001,1357677.5271400001,1290651.5825,2296067.5692,4119378.45184,1961090.7036,2988328.6912000002,1190632.821,1190632.821,1190632.821,1520930.0154999997,1166899.584,1166899.584,1487479.1666799998,1501128.7861499998,2231307.4796599997,3891815.3715,1104534.26734,1404760.02457,1321291.167,1321291.167,1321291.167,1321291.167,3508478.0825599995,3508478.0825599995 +27626400.0,1168362.645,1029941.6340000001,3007429.5712800003,1405473.2099100002,1405473.2099100002,1405473.2099100002,1331056.6745,2303728.97176,4080923.37472,1970217.94494,3002236.86848,1183945.101,1183945.101,1183945.101,1519794.8675,1168362.645,1168362.645,1479677.2793399997,1501977.5770499997,2232569.13922,3894015.9404999996,1105158.8097799998,1405554.3251899998,1319206.842,1319206.842,1319206.842,1319206.842,3512877.0192999993,3512877.0192999993 +27630000.0,1139555.793,1001628.867,2924756.29164,1373622.6678900002,1373622.6678900002,1373622.6678900002,1298972.9619999998,2236177.4639999997,3951618.08896,1919306.5909499999,2924657.6624,1146097.614,1146097.614,1146097.614,1472924.6069999998,1139555.793,1139555.793,1444575.7992899998,1459603.8971999998,2169584.0644799997,3784158.252,1073980.1515199998,1365900.93096,1283218.806,1283218.806,1283218.806,1283218.806,3426264.4176199995,3426264.4176199995 +27633600.0,1125030.918,989888.0489999999,2890473.10308,1344315.00896,1344315.00896,1344315.00896,1271833.486,2201541.4226399995,3898041.411200001,1892031.69204,2883095.9116800004,1129398.624,1129398.624,1129398.624,1449658.3150000002,1125030.918,1125030.918,1428822.4047499998,1437956.1571499999,2137406.4360599997,3728034.4814999998,1058051.69094,1345642.92237,1265974.4159999997,1265974.4159999997,1265974.4159999997,1265974.4159999997,3382592.9601200004,3382592.9601200004 +27637200.0,1068526.344,877284.603,2561671.04076,1118061.34836,1118061.34836,1118061.34836,956902.2960000001,1800244.80064,2779632.0288,1540642.9420199997,2347646.38784,877642.581,877642.581,877642.581,1129935.7089999998,1068526.344,1068526.344,1350462.6129800002,1126126.16415,1673896.1748600001,2919586.3515000003,828606.4121400001,1053831.6449700003,1085176.653,1085176.653,1085176.653,1085176.653,3212702.5409600004,3212702.5409600004 +27640800.0,474303.438,332165.55299999996,969923.41476,596079.583,596079.583,596079.583,395853.58749999997,876097.35864,1133416.63424,724821.96297,1104490.6102399998,398332.58999999997,398332.58999999997,398332.58999999997,493857.62299999996,474303.438,474303.438,774331.3564999999,252508.46039999998,375333.56336,654651.564,185796.34863999998,236298.04072,592580.124,592580.124,592580.124,592580.124,1426072.33692,1426072.33692 +27644400.0,169224.25199999998,120130.48199999999,350781.00743999996,177936.54978000003,177936.54978000003,177936.54978000003,68556.36200000001,349202.46712000004,849443.8361600001,324672.47925000003,494739.01600000006,234373.704,234373.704,234373.704,132862.989,169224.25199999998,169224.25199999998,251960.78218999997,103586.66369999999,153973.26307999998,268558.017,76219.32291999999,96936.65565999999,182573.085,182573.085,182573.085,182573.085,508800.91767999995,508800.91767999995 +27648000.0,171719.688,147600.36599999998,430993.06872,154913.10109,154913.10109,154913.10109,61009.1405,371126.80240000004,852779.50272,318297.79695,485025.2144,229914.71399999998,229914.71399999998,229914.71399999998,125511.43500000001,171719.688,171719.688,248354.30190999998,103503.43620000001,153849.55208,268342.242,76158.08392,96858.77116,178762.827,178762.827,178762.827,178762.827,516303.86192,516303.86192 +27651600.0,182732.574,176326.788,514874.22095999995,153854.22547,153854.22547,153854.22547,66529.554,370900.42063999997,889690.1312000002,334061.14917,509045.56064000004,231704.454,231704.454,231704.454,124463.92700000001,182732.574,182732.574,273771.67909,114569.18639999999,170297.90175999998,297031.224,84300.29023999999,107214.12752,204629.67299999995,204629.67299999995,204629.67299999995,204629.67299999995,549415.93916,549415.93916 +27655200.0,203044.494,189439.926,553164.58392,162758.43716,162758.43716,162758.43716,74817.057,379059.77079999994,920630.8819200002,376049.66741999995,573028.06464,299549.68499999994,299549.68499999994,299549.68499999994,134505.91,203044.494,203044.494,292540.62136,132118.7031,196383.85004,342529.971,97213.26796000001,123637.00858000001,265423.458,265423.458,265423.458,265423.458,610487.11196,610487.11196 +27658800.0,241348.28100000002,211973.43300000002,618962.42436,168149.46148000003,168149.46148000003,168149.46148000003,82021.90849999999,438141.90615999995,925336.3296,411148.78959000006,626512.4412800001,359864.391,359864.391,359864.391,222909.3405,241348.28100000002,241348.28100000002,317977.39727,157683.04424999998,234383.19169999997,408807.8925,116023.5733,147560.18215,316091.409,316091.409,316091.409,316091.409,725653.83154,725653.83154 +27662400.0,318477.042,236983.45500000002,691991.6886,178543.29724,178543.29724,178543.29724,84821.856,579643.2139999999,1002875.10848,494983.8579,754261.1168000001,414418.917,414418.917,414418.917,258088.6315,318477.042,318477.042,346840.87009,178987.58729999998,266050.68532,464041.893,131699.50868,167497.02614,394652.65200000006,394652.65200000006,394652.65200000006,394652.65200000006,957554.3062799999,957554.3062799999 +27666000.0,418407.474,281934.495,823248.7254,212062.00202,212062.00202,212062.00202,103689.6175,721935.7951199999,1345635.05984,628979.5871100001,958445.0851200001,497347.782,497347.782,497347.782,306752.89050000004,418407.474,418407.474,411199.0356499999,252323.7885,375059.0634,654172.785,185660.46659999999,236125.2243,500115.489,500115.489,500115.489,500115.489,1258011.80516,1258011.80516 +27669600.0,495923.99700000003,312065.916,911232.47472,303137.62523,303137.62523,303137.62523,191507.1585,851966.6772,1448429.9744,748568.74008,1140676.17536,523593.342,523593.342,523593.342,371864.00299999997,495923.99700000003,495923.99700000003,418997.51269999996,324248.94944999996,481970.04337999993,840645.4245,238583.17762,303432.96751,565768.737,565768.737,565768.737,565768.737,1491078.15098,1491078.15098 +27673200.0,1231363.908,1226363.6519999998,3580981.86384,1157248.36249,1157248.36249,1157248.36249,1103833.3845,1978224.4829600002,2226555.41056,1669343.3780099999,2543761.33792,822009.309,822009.309,822009.309,1784194.7725,1231363.908,1231363.908,2354066.11635,738393.003,1097561.9452,1914352.23,543311.3948,690989.9954,1661787.492,1661787.492,1661787.492,1661787.492,3702300.81672,3702300.81672 +27676800.0,2253654.036,2015900.133,5886428.38836,2812054.68896,2812054.68896,2812054.68896,1989746.1780000003,3415136.1772799995,3965859.53024,3292632.31962,5017344.48704,1420464.615,1420464.615,1420464.615,2190859.8565,2253654.036,2253654.036,3488064.5831199996,1745762.0823000001,2594935.24332,4526049.843,1284536.05068,1633688.46714,2411077.779,2411077.779,2411077.779,2411077.779,6775986.468239999,6775986.468239999 +27680400.0,2623323.978,2553287.637,7455599.900040001,3140973.8838500003,3140973.8838500003,3140973.8838500003,2628327.114,4458909.858080001,10203354.2496,3534230.6391000003,5385494.307200001,2707905.423,2707905.423,2707905.423,2728522.545,2623323.978,2623323.978,2719160.75366,3524503.4199,5238891.50316,9137601.459,2593338.31884,3298239.00282,2347550.064,2347550.064,2347550.064,2347550.064,7887460.76052,7887460.76052 +27684000.0,1935159.891,1618227.1709999996,4725223.339319999,2236164.06827,2236164.06827,2236164.06827,2832672.5385000003,3699966.4559999993,7067381.2768,3613654.87413,5506521.71296,2641154.058,2641154.058,2641154.058,2960747.1355,1935159.891,1935159.891,2070450.7289699998,3472063.5176999997,5160943.79668,9001646.157,2554752.90932,3249165.6128599998,2050520.955,2050520.955,2050520.955,2050520.955,5818380.73894,5818380.73894 +27687600.0,1370950.1490000002,1137178.413,3320560.9659599997,1920982.2263500001,1920982.2263500001,1920982.2263500001,2560449.213,3476194.8956800005,7208211.431040001,2893748.72577,4409521.86784,1227217.317,1227217.317,1227217.317,2364788.0305,1370950.1490000002,1370950.1490000002,1287829.3519,2627531.25345,3905614.35698,6812118.064500001,1933343.9840200003,2458850.2347100005,1627185.27,1627185.27,1627185.27,1627185.27,4121990.11466,4121990.11466 +27691200.0,1148224.8360000001,960039.054,2803314.0376799996,1495008.9852500001,1495008.9852500001,1495008.9852500001,1633465.4455,2940126.08248,3955321.7606400005,2160487.42455,3292171.3136,1132637.937,1132637.937,1132637.937,1719119.3355,1148224.8360000001,1148224.8360000001,1160614.77012,1636248.6972,2432152.38448,4242126.252,1203955.83152,1531205.5709600002,1224980.208,1224980.208,1224980.208,1224980.208,3452329.34024,3452329.34024 +27694800.0,845495.655,696524.169,2033850.57348,780928.0347000001,780928.0347000001,780928.0347000001,978563.901,1959093.97448,2519518.58112,1475515.36209,2248404.3612800003,779691.171,779691.171,779691.171,1062035.8665,845495.655,845495.655,810299.31957,1012046.2825499999,1504325.58542,2623823.6955,744666.1535799999,947075.41009,904168.0499999999,904168.0499999999,904168.0499999999,904168.0499999999,2542123.6027,2542123.6027 +27698400.0,753214.8990000001,615740.5109999999,1797962.2921199999,651415.90943,651415.90943,651415.90943,793208.0800000001,1482321.30344,2350351.8912,1217057.41563,1854563.68096,704013.897,704013.897,704013.897,957772.8195000001,753214.8990000001,753214.8990000001,705584.3978299998,870788.39805,1294357.07562,2257599.5505,640728.25338,814885.93299,798104.19,798104.19,798104.19,798104.19,2264666.12966,2264666.12966 +27702000.0,1040745.9450000001,918006.8489999999,2680579.99908,1152096.9146500002,1152096.9146500002,1152096.9146500002,1122570.911,2040333.9458400002,3614462.7084800005,1738268.68068,2648790.37056,1037848.5989999999,1037848.5989999999,1037848.5989999999,1332276.6975,1040745.9450000001,1040745.9450000001,1287707.34625,1316028.01545,1956170.03778,3411924.4845000003,968336.66322,1231542.26631,1160141.184,1160141.184,1160141.184,1160141.184,3129176.1413,3129176.1413 +27705600.0,1109686.4910000002,987386.1599999999,2883167.5871999995,1262474.0733,1262474.0733,1262474.0733,1207094.3885,2177593.14776,3908404.3392,1862991.1962899999,2838843.72768,1123157.355,1123157.355,1123157.355,1431868.088,1109686.4910000002,1109686.4910000002,1408137.4615099998,1419053.0291999998,2109308.4532799996,3679026.372,1044142.72272,1327953.3285599998,1249878.279,1249878.279,1249878.279,1249878.279,3336457.38294,3336457.38294 +27709200.0,1142358.3329999999,1015555.4820000001,2965422.00744,1328121.3173800001,1328121.3173800001,1328121.3173800001,1264337.529,2252159.646,4027457.9232000005,1924388.0600700001,2932400.85344,1159525.002,1159525.002,1159525.002,1475216.9775,1142358.3329999999,1142358.3329999999,1452260.18795,1466129.82015,2179284.32526,3801077.3115000003,1078781.94174,1372007.90577,1288470.276,1288470.276,1288470.276,1288470.276,3434690.7212199997,3434690.7212199997 +27712800.0,1159979.526,1023885.879,2989746.76668,1394801.0024299999,1394801.0024299999,1394801.0024299999,1323261.5059999998,2298041.35488,4059972.5094400006,1962240.95361,2990081.45312,1173944.4749999999,1173944.4749999999,1173944.4749999999,1500039.7755,1159979.526,1159979.526,1463544.28922,1490189.9751,2215047.8148399997,3863455.491,1096485.46316,1394523.45818,1306423.683,1306423.683,1306423.683,1306423.683,3487671.77484,3487671.77484 +27716400.0,1169165.1390000002,1032563.2889999999,3015084.8038799996,1406754.8,1406754.8,1406754.8,1334633.8215,2320083.24936,4096861.7369600004,1978922.51781,3015500.9795200005,1185288.774,1185288.774,1185288.774,1513611.1655,1169165.1390000002,1169165.1390000002,1473546.8862399997,1502385.5861999998,2233175.61208,3895073.7419999996,1105459.0239199998,1405936.1411599999,1317402.1770000001,1317402.1770000001,1317402.1770000001,1317402.1770000001,3515289.8512600004,3515289.8512600004 +27720000.0,1160290.7519999999,1026229.416,2996589.89472,1383878.36785,1383878.36785,1383878.36785,1313834.2944999998,2298176.07784,4067049.5904000006,1961551.61118,2989031.02656,1175568.906,1175568.906,1175568.906,1499108.2295,1160290.7519999999,1160290.7519999999,1464850.3340899996,1488702.2723999997,2212836.4641599995,3859598.4839999997,1095390.80784,1393131.26232,1307108.706,1307108.706,1307108.706,1307108.706,3488607.52768,3488607.52768 +27723600.0,1096230.309,902235.534,2634527.75928,1148818.70059,1148818.70059,1148818.70059,982191.2170000002,1873655.5920799999,2881214.57408,1591632.93324,2425345.42208,909148.3800000001,909148.3800000001,909148.3800000001,1161689.7635000001,1096230.309,1096230.309,1379443.0505699997,1158320.95875,1721751.1534999998,3003054.3375,852295.4214999999,1083959.61325,1114879.1670000001,1114879.1670000001,1114879.1670000001,1114879.1670000001,3295999.1290599997,3295999.1290599997 +27727200.0,481331.86199999996,337867.956,986574.43152,609335.88232,609335.88232,609335.88232,399267.2915,902876.2056,1156721.2569600001,740515.0242000001,1128403.8464000002,412208.53500000003,412208.53500000003,412208.53500000003,497268.4325,481331.86199999996,481331.86199999996,778046.5475899999,256280.56155,380940.48902,664431.0855,188571.86998000002,239827.98229,598493.097,598493.097,598493.097,598493.097,1447204.46508,1447204.46508 +27730800.0,172489.872,121910.90100000001,355979.83092000004,184046.15702,184046.15702,184046.15702,69101.23150000001,365291.56200000003,862071.5232,332515.30767,506689.99264,242206.75799999997,242206.75799999997,242206.75799999997,134529.2165,172489.872,172489.872,255839.99908999997,105243.52679999999,156436.05711999998,272853.588,77438.44688,98487.15224,185625.126,185625.126,185625.126,185625.126,518619.54848,518619.54848 +27734400.0,179237.949,170592.693,498130.66355999996,164757.67,164757.67,164757.67,63927.65400000001,397138.25,899825.60192,333893.09898000007,508789.4841600001,244721.484,244721.484,244721.484,129969.21700000002,179237.949,179237.949,258082.5221,108397.54935,161124.25854,281030.6835,79759.18446,101438.69433,186035.03100000002,186035.03100000002,186035.03100000002,186035.03100000002,538908.76666,538908.76666 +27738000.0,191141.31900000002,187032.04200000002,546133.56264,165473.10681000003,165473.10681000003,165473.10681000003,70847.7595,395697.46359999996,937199.09824,351932.14917000005,536277.5606400002,246008.262,246008.262,246008.262,128902.90349999999,191141.31900000002,191141.31900000002,286799.82863999996,121091.76,179993.18399999998,313941.60000000003,89099.616,113317.96800000001,220653.738,220653.738,220653.738,220653.738,574698.23246,574698.23246 +27741600.0,213618.41400000002,199807.74,583438.6008,171382.23806000003,171382.23806000003,171382.23806000003,77436.975,402167.75143999996,948137.4803200001,390611.26251,595217.16192,328897.545,328897.545,328897.545,141522.6015,213618.41400000002,213618.41400000002,304698.29078,139402.71314999997,207210.94645999995,361414.44149999996,102572.86053999998,130453.40316999998,280736.40300000005,280736.40300000005,280736.40300000005,280736.40300000005,642279.36476,642279.36476 +27745200.0,253916.271,220983.039,645270.47388,175507.93601,175507.93601,175507.93601,83189.001,472367.23784,947949.3651200002,429212.44863,654038.01696,379175.199,379175.199,379175.199,238199.61549999999,253916.271,253916.271,325281.87769999995,162248.65785,241169.60993999997,420644.66849999997,119382.96306,151832.69462999998,333023.043,333023.043,333023.043,333023.043,763441.5881399999,763441.5881399999 +27748800.0,324460.73699999996,237609.744,693820.4524800001,181864.64109000002,181864.64109000002,181864.64109000002,84170.2435,595583.4764800001,1016522.43648,502371.37671000004,765518.28832,417915.71400000004,417915.71400000004,417915.71400000004,256918.64800000004,324460.73699999996,324460.73699999996,349260.0643999999,179874.90989999997,267369.61915999994,466342.359,132352.40284,168327.38481999998,400315.434,400315.434,400315.434,400315.434,975545.2825799999,975545.2825799999 +27752400.0,383738.781,254424.456,742919.41152,196908.9199,196908.9199,196908.9199,96158.79350000001,644137.81464,1214707.18528,575649.68307,877180.46944,442559.78099999996,442559.78099999996,442559.78099999996,275736.73050000006,383738.781,383738.781,371639.72455999994,233252.69085,346711.40714,604729.1985,171627.90586000003,218278.44403,451075.22699999996,451075.22699999996,451075.22699999996,451075.22699999996,1153774.60154,1153774.60154 +27756000.0,568787.598,306521.898,895043.94216,303381.03972,303381.03972,303381.03972,184915.3005,1192549.5437599998,1380527.5136000002,869066.23251,1324291.40192,497482.314,497482.314,497482.314,446637.2155,568787.598,568787.598,582465.30017,322907.41935,479975.96653999994,837167.3835,237596.07645999998,302177.56033,590849.3130000001,590849.3130000001,590849.3130000001,590849.3130000001,1710154.71132,1710154.71132 +27759600.0,1291336.905,691287.621,2018559.85332,1736940.0457200003,1736940.0457200003,1736940.0457200003,1520821.9145,3518100.6741599995,4389110.08064,3070214.44212,4678422.0070400005,1306689.096,1306689.096,1306689.096,1934645.4505,1291336.905,1291336.905,2716396.77374,1713854.42865,2547507.07666,4443326.2965,1261058.32034,1603829.20607,1585757.673,1585757.673,1585757.673,1585757.673,3882619.6277,3882619.6277 +27763200.0,1180457.892,1257956.421,3673232.74932,2307869.43409,2307869.43409,2307869.43409,2026989.517,4355207.72832,3481134.009600001,3418741.2674100003,5209510.50272,1373184.231,1373184.231,1373184.231,1916544.0559999999,1180457.892,1180457.892,2298866.69103,2232698.0859,3318726.5375599996,5788476.519,1642824.76444,2089364.3816200001,1638143.7240000002,1638143.7240000002,1638143.7240000002,1638143.7240000002,3549243.3952800003,3549243.3952800003 +27766800.0,2132943.828,2307636.735,6738299.2661999995,1829247.32419,1829247.32419,1829247.32419,2592542.54,4652315.5208,7554393.34912,3839084.51745,5850033.5504,2017689.1260000002,2017689.1260000002,2017689.1260000002,1719808.6115,2132943.828,2132943.828,3090646.77467,2109293.3263499998,3135295.26534,5468538.253500001,1552023.23766,1973881.90293,2393803.059,2393803.059,2393803.059,2393803.059,6413051.10952,6413051.10952 +27770400.0,1602349.122,1248378.8760000002,3645266.31792,803687.9101900001,803687.9101900001,803687.9101900001,1008097.0829999999,2450328.33096,7461650.216320001,1599033.31434,2436622.1932800002,1550008.2510000002,1550008.2510000002,1550008.2510000002,1590276.2295,1602349.122,1602349.122,2723926.58343,2348379.19575,3490677.2242999994,6088390.507499999,1727943.2107,2197619.04985,1121732.703,1121732.703,1121732.703,1121732.703,4817729.693479999,4817729.693479999 +27774000.0,813826.6050000001,742134.777,2167033.54884,457770.04284,457770.04284,457770.04284,621970.6884999999,1640086.8010399998,4512315.72288,1023269.77368,1559268.22656,665672.1780000001,665672.1780000001,665672.1780000001,661657.556,813826.6050000001,813826.6050000001,926529.10714,1245415.4676,1851210.15184,3228854.916,916379.7761600001,1165462.86968,656933.592,656933.592,656933.592,656933.592,2446905.3257000004,2446905.3257000004 +27777600.0,852111.942,1240245.003,3621515.40876,710958.44655,710958.44655,710958.44655,988595.5835,1799800.4233599997,2935224.5696,1420912.94142,2165200.67264,753603.507,753603.507,753603.507,1107596.7665,852111.942,852111.942,1009163.7912199999,897294.11715,1333755.70006,2326318.0815,660231.22694,839690.0503700001,837740.1569999999,837740.1569999999,837740.1569999999,837740.1569999999,2562016.57228,2562016.57228 +27781200.0,681880.4579999999,749950.173,2189854.50516,527235.72022,527235.72022,527235.72022,934154.6024999998,1372333.4590399999,2139434.99648,1007838.9283200001,1535754.5574400001,604581.984,604581.984,604581.984,742223.699,681880.4579999999,681880.4579999999,766212.7787599999,710161.0686,1055597.44024,1841158.3260000001,522538.26776,664570.4814800001,621685.422,621685.422,621685.422,621685.422,2050187.2437199997,2050187.2437199997 +27784800.0,575217.069,489864.54300000006,1430404.4655600002,294728.13832,294728.13832,294728.13832,551067.0515000001,1210194.29784,1907312.28544,858154.9485599999,1307664.68352,540561.495,540561.495,540561.495,463606.3705000001,575217.069,575217.069,670940.8682599999,608866.2270000001,905030.7868000001,1578542.0700000003,448005.27320000005,569778.5186000001,548311.611,548311.611,548311.611,548311.611,1729485.98746,1729485.98746 +27788400.0,1002482.832,1207601.826,3526197.33192,1510429.6088200002,1510429.6088200002,1510429.6088200002,1442422.1875,2226915.7028799998,2985525.4534400003,1780101.6342900002,2712535.8236800004,897280.302,897280.302,897280.302,1439698.8969999999,1002482.832,1002482.832,1537958.13496,1355334.9057,2014596.5758800001,3513831.2370000007,997258.7701200001,1268325.7512600003,1052052.858,1052052.858,1052052.858,1052052.858,3014131.71488,3014131.71488 +27792000.0,979002.3209999999,1354370.511,3954761.89212,1710882.9004300004,1710882.9004300004,1710882.9004300004,1232022.0569999998,2539328.42424,3290740.03712,1900902.12228,2896612.75776,1053743.5890000002,1053743.5890000002,1053743.5890000002,1670526.3435,979002.3209999999,979002.3209999999,1661362.1770199998,1398780.7460999999,2079175.3312399997,3626468.601,1029226.32676,1308982.47598,1174072.332,1174072.332,1174072.332,1174072.332,2943533.6451399997,2943533.6451399997 +27795600.0,904806.852,1304162.2710000002,3808153.8313200003,1109354.3688700001,1109354.3688700001,1109354.3688700001,1070943.2895,2407681.98208,3267006.56832,1610872.38816,2454662.68672,902875.0170000001,902875.0170000001,902875.0170000001,1320333.0034999999,904806.852,904806.852,1387762.7969399998,1190130.8818499998,1769034.0515399997,3085524.5084999995,875701.2414599998,1113727.41783,1117080.651,1117080.651,1117080.651,1117080.651,2720452.60168,2720452.60168 +27799200.0,2216273.364,1806896.3850000002,5276137.4442,3519076.8635000004,3519076.8635000004,3519076.8635000004,2888178.1215,3523434.25272,6698065.21472,3716994.6078299996,5663991.78336,2324049.264,2324049.264,2324049.264,2979745.5555000002,2216273.364,2216273.364,3856085.7975899996,2854156.10715,4242474.01606,7399663.981500001,2100095.11094,2670926.3323700004,2470257.597,2470257.597,2470257.597,2470257.597,6663595.247760001,6663595.247760001 +27802800.0,1638316.836,908367.927,2652434.34684,2161918.6968500004,2161918.6968500004,2161918.6968500004,1722735.217,2597100.3847999997,4512935.96992,2414352.69306,3679013.62752,1616223.8909999998,1616223.8909999998,1616223.8909999998,2008963.4109999998,1638316.836,1638316.836,1431255.7596999998,1880381.3606999998,2795035.9978799997,4875062.787,1383589.24812,1759665.52026,1749511.542,1749511.542,1749511.542,1749511.542,4925872.620239999,4925872.620239999 +27806400.0,1189451.1,863516.6129999999,2521468.50996,1260976.26853,1260976.26853,1260976.26853,1285899.4259999997,1959642.4789600002,3640388.8672,1733169.00729,2641019.4396800003,1037795.5830000001,1037795.5830000001,1037795.5830000001,1410785.922,1189451.1,1189451.1,1263356.19215,1382878.1781,2055537.4400399998,3585239.721,1017525.17796,1294100.81358,1208193.969,1208193.969,1208193.969,1208193.969,3576282.974,3576282.974 +27810000.0,1055311.9440000001,887973.888,2592883.75296,1216803.67941,1216803.67941,1216803.67941,1193551.1875,1931064.90032,3620364.8256,1698567.1432799997,2588292.7897599996,1043071.227,1043071.227,1043071.227,1385048.084,1055311.9440000001,1055311.9440000001,1293939.72097,1359120.0235499998,2020222.84982,3523644.5055,1000043.8691799999,1271867.87389,1187911.7040000001,1187911.7040000001,1187911.7040000001,1187911.7040000001,3172971.2449600003,3172971.2449600003 +27813600.0,752852.991,641601.21,1873475.5332,804138.3004599999,804138.3004599999,804138.3004599999,657044.0484999999,1009249.60976,2253284.11072,986915.4117900002,1503871.1036800002,565412.7239999999,565412.7239999999,565412.7239999999,698285.9659999999,752852.991,752852.991,923171.4577799999,642973.89735,955729.1017399998,1666969.3635,473101.78125999996,601696.56073,760694.193,760694.193,760694.193,760694.193,2263577.99294,2263577.99294 +27817200.0,131409.381,115407.73199999999,336990.57743999996,158785.7997,158785.7997,158785.7997,67373.5895,215749.61368,815529.9404800001,247515.27234,377166.12928000005,193229.094,193229.094,193229.094,123385.829,131409.381,131409.381,242893.03272,95393.4408,141794.69472,247316.328,70190.72928,89269.41744,165945.114,165945.114,165945.114,165945.114,395104.20554,395104.20554 +27820800.0,131483.93700000003,114137.019,333280.09548,134583.83774000005,134583.83774000005,134583.83774000005,46327.75,228304.99464000002,805478.89856,270323.75432999997,411921.91136,188833.419,188833.419,188833.419,118069.61949999999,131483.93700000003,131483.93700000003,239272.35331999997,88893.7416,132133.41344,230465.256,65408.23456,83186.98288,166294.695,166294.695,166294.695,166294.695,395328.37058000005,395328.37058000005 +27824400.0,146073.732,135169.479,394694.87868,132286.39193,132286.39193,132286.39193,53619.709500000004,260912.92664,822278.1952,287619.69935999997,438277.63711999997,191016.993,191016.993,191016.993,118837.70850000001,146073.732,146073.732,262478.51578,94920.63165,141091.90185999998,246090.52649999998,69842.83514,88826.96147,174075.165,174075.165,174075.165,174075.165,439195.02087999997,439195.02087999997 +27828000.0,168153.228,148124.031,432522.1705199999,131047.31298999999,131047.31298999999,131047.31298999999,58851.29250000001,326467.44056,831465.7894400001,332603.90919,506825.00447999995,197068.476,197068.476,197068.476,119793.52,168153.228,168153.228,279115.46403,115404.53129999999,171539.57491999998,299196.933,84914.93908,107995.84534,205684.626,205684.626,205684.626,205684.626,505580.70551999996,505580.70551999996 +27831600.0,211269.93899999998,161949.321,472892.01732000004,142447.68824,142447.68824,142447.68824,78881.8135,379479.99383999995,831204.2777600001,366550.94112000003,558553.8150400001,271543.56,271543.56,271543.56,176770.7305,211269.93899999998,211269.93899999998,291242.84487999993,137234.31884999998,203987.80234,355792.6785,100977.35066,128424.21443,275710.161,275710.161,275710.161,275710.161,635218.2832599999,635218.2832599999 +27835200.0,249529.21799999996,186443.25,544414.29,154911.39983,154911.39983,154911.39983,80285.97499999999,466678.13759999996,846332.60224,414924.38127000007,632265.7238400001,354814.239,354814.239,354814.239,234192.78050000005,249529.21799999996,249529.21799999996,315820.13151,154389.62475000002,229487.7879,400269.3975,113600.26710000001,144478.19205,313672.359,313672.359,313672.359,313672.359,750251.1821199999,750251.1821199999 +27838800.0,312326.904,226045.734,660053.54328,180024.30512,180024.30512,180024.30512,88353.3735,554315.16904,905867.69024,491633.25792,749155.44064,392776.479,392776.479,392776.479,247358.664,312326.904,312326.904,340432.59367,174730.32045,259722.59978000002,453004.53450000007,128567.00122,163513.06531,391025.139,391025.139,391025.139,391025.139,939062.8913599999,939062.8913599999 +27842400.0,504200.703,268012.839,782597.48988,284433.21984000003,284433.21984000003,284433.21984000003,169126.28949999998,1063112.1692,1183113.1340800002,771272.35794,1175272.16448,445711.5299999999,445711.5299999999,445711.5299999999,379579.193,504200.703,504200.703,552657.7638399999,246995.38169999997,367138.81427999993,640358.397,181739.81172,231138.88806,524736.402,524736.402,524736.402,524736.402,1515963.4470199998,1515963.4470199998 +27846000.0,1255743.309,605874.444,1769153.37648,1666183.4294600002,1666183.4294600002,1666183.4294600002,1466721.2665,3427170.82296,4169590.8812800003,2970966.46224,4527186.99008,1200020.3760000002,1200020.3760000002,1200020.3760000002,1725973.4170000001,1255743.309,1255743.309,2612923.76514,1591081.27065,2365014.62946,4125025.5165000004,1170721.5275400002,1488937.7816700002,1549093.728,1549093.728,1549093.728,1549093.728,3775601.5490599996,3775601.5490599996 +27849600.0,1131296.4810000001,1236713.9849999999,3611204.8362,2087275.8939999999,2087275.8939999999,2087275.8939999999,1963359.7480000001,4246282.26752,3295571.0835200003,3305542.0788600002,5037016.501120001,1348346.394,1348346.394,1348346.394,1808042.537,1131296.4810000001,1131296.4810000001,2233508.05509,2177947.2699,3237343.84316,5646529.959000001,1602538.97884,2038128.4328200002,1600669.941,1600669.941,1600669.941,1600669.941,3401431.41954,3401431.41954 +27853200.0,2087390.2320000003,2270353.911,6629433.42012,1693351.89232,1693351.89232,1693351.89232,2253083.2835,4473247.5311199995,7439594.30208,3695046.1894500004,5630546.5744,1974317.3850000002,1974317.3850000002,1974317.3850000002,1661523.4615,2087390.2320000003,2087390.2320000003,2586996.23455,1933528.0729500002,2874034.32078,5012850.5595,1422694.73022,1809400.3448100002,2340462.753,2340462.753,2340462.753,2340462.753,6276086.63088,6276086.63088 +27856800.0,1433468.844,1049521.617,3064603.12164,643192.81631,643192.81631,643192.81631,827084.8529999999,2131523.58944,6716085.0624,1263455.80116,1925265.98272,1382134.485,1382134.485,1382134.485,1415405.404,1433468.844,1433468.844,1899996.6858599999,2149188.6087,3194596.40108,5571970.467,1581378.2849200002,2011216.0066600002,939685.8929999999,939685.8929999999,939685.8929999999,939685.8929999999,4309962.99096,4309962.99096 +27860400.0,635277.7679999999,515565.003,1505449.8087600002,248991.54588000002,248991.54588000002,248991.54588000002,412964.496,1162814.0508,3151590.10304,687544.8199200002,1047687.3446400003,463509.94200000004,463509.94200000004,463509.94200000004,437770.8825,635277.7679999999,635277.7679999999,559714.09156,870646.6966499999,1294146.4478599997,2257232.1765,640623.98914,814753.32847,444256.566,444256.566,444256.566,444256.566,1910068.4891199998,1910068.4891199998 +27864000.0,818053.5090000001,1204171.311,3516180.2281199996,666321.40531,666321.40531,666321.40531,989902.7775,1793583.68496,2931043.1136000007,1387456.46361,2114219.37312,744105.456,744105.456,744105.456,1107512.7385,818053.5090000001,818053.5090000001,931601.8341499999,900934.78365,1339167.2586599998,2335756.8465,662910.03834,843096.99507,824301.21,824301.21,824301.21,824301.21,2459614.21706,2459614.21706 +27867600.0,662671.23,693385.3319999999,2024685.1694399999,523126.10691000003,523126.10691000003,523126.10691000003,928045.3035000002,1359431.4507199998,2127470.848,995721.26976,1517289.55392,603018.831,603018.831,603018.831,715819.5484999999,662671.23,662671.23,749740.80389,702551.3048999999,1044286.1371599998,1821429.309,516938.98483999993,657449.24582,617432.7,617432.7,617432.7,617432.7,1992431.4982,1992431.4982 +27871200.0,577897.4010000001,494590.98,1444205.6616,301068.03023000003,301068.03023000003,301068.03023000003,535709.804,1219389.06248,1930750.7430399999,866559.7185,1320471.9519999998,550908.783,550908.783,550908.783,473875.1079999999,577897.4010000001,577897.4010000001,667431.16037,615871.6577999999,915443.7975199999,1596704.298,453159.88648,576334.2180400001,554351.574,554351.574,554351.574,554351.574,1737544.85234,1737544.85234 +27874800.0,1014509.7329999999,1181461.164,3449866.5988800004,1505970.7040400002,1505970.7040400002,1505970.7040400002,1455992.909,2255350.3767199996,3073432.74176,1812352.56342,2761680.09664,920177.286,920177.286,920177.286,1466420.4064999998,1014509.7329999999,1014509.7329999999,1555143.4087799997,1384819.5253499998,2058423.0969399996,3590272.8434999995,1018953.6260599999,1295917.53113,1048626.393,1048626.393,1048626.393,1048626.393,3050292.5972199994,3050292.5972199994 +27878400.0,1009321.059,1377291.945,4021692.4794,1675889.0078699999,1675889.0078699999,1675889.0078699999,1259552.0280000002,2578829.46592,3424102.768640001,1916070.53442,2919726.52864,1098167.52,1098167.52,1098167.52,1714353.0495,1009321.059,1009321.059,1655927.4013099999,1438488.4202999999,2138197.6025199997,3729414.423,1058443.33148,1346141.01554,1202019.957,1202019.957,1202019.957,1202019.957,3034691.9840599997,3034691.9840599997 +27882000.0,942363.7620000001,1326691.434,3873938.98728,1145855.43534,1145855.43534,1145855.43534,1122091.4005,2500893.70232,3432027.0643200004,1683189.9205800002,2564860.83136,954524.751,954524.751,954524.751,1376314.1175000002,942363.7620000001,942363.7620000001,1418685.6327799999,1246618.10295,1852997.77278,3231972.8595000003,917264.67822,1166588.29881,1165321.8599999999,1165321.8599999999,1165321.8599999999,1165321.8599999999,2833373.71108,2833373.71108 +27885600.0,2262018.6119999997,1860327.4649999999,5432156.197799999,3556423.20792,3556423.20792,3556423.20792,2944921.0175,3622787.2702399995,6942146.677760001,3793555.78791,5780656.43872,2380244.1720000003,2380244.1720000003,2380244.1720000003,3049048.177,2262018.6119999997,2262018.6119999997,3880787.8892899994,2928100.4361,4352386.32724,7591371.501,2154503.53076,2740123.61798,2532098.91,2532098.91,2532098.91,2532098.91,6801135.960079999,6801135.960079999 +27889200.0,1752510.6060000001,1027219.287,2999480.31804,2282868.9829,2282868.9829,2282868.9829,1856364.4155,2862939.6084,5070056.945280001,2632751.40198,4011811.6601600004,1791452.433,1791452.433,1791452.433,2265688.894,1752510.6060000001,1752510.6060000001,1583272.72168,2067295.4905499998,3072868.8526199996,5359654.9755,1521121.1263799998,1934580.22449,1916734.641,1916734.641,1916734.641,1916734.641,5269215.22204,5269215.22204 +27892800.0,1324583.736,977457.3180000001,2854175.3685600003,1397385.0942700002,1397385.0942700002,1397385.0942700002,1460771.2769999998,2227551.0831999998,4205498.71104,1949266.1197799998,2970310.2777599995,1205012.088,1205012.088,1205012.088,1620456.369,1324583.736,1324583.736,1402998.0486599999,1572351.4745999998,2337174.29064,4076466.786,1156940.09736,1471410.3922799998,1375874.592,1375874.592,1375874.592,1375874.592,3982581.76624,3982581.76624 +27896400.0,1205216.832,1031883.408,3013099.55136,1378898.2548000002,1378898.2548000002,1378898.2548000002,1366473.7205,2248287.17704,4256860.04672,1951833.31791,2974222.19872,1228111.056,1228111.056,1228111.056,1630671.2519999999,1205216.832,1205216.832,1492801.03245,1575733.49595,2342201.3939799997,4085234.9895,1159428.59702,1474575.29621,1373516.7659999998,1373516.7659999998,1373516.7659999998,1373516.7659999998,3623685.2748799995,3623685.2748799995 +27900000.0,863154.573,757941.111,2213188.04412,938357.1894400001,938357.1894400001,938357.1894400001,761162.3809999999,1220594.57864,2717222.78208,1160821.7835900001,1768871.2892800001,681103.3829999999,681103.3829999999,681103.3829999999,835368.4709999999,863154.573,863154.573,1079601.2292,763403.6079,1134738.20236,1979194.5389999999,561714.25964,714394.98122,893824.0290000001,893824.0290000001,893824.0290000001,893824.0290000001,2595218.0828199997,2595218.0828199997 +27903600.0,154897.77599999998,136494.321,398563.41732,183931.14289000002,183931.14289000002,183931.14289000002,73544.85250000001,263942.72448,1004073.4643200001,321813.81477000006,490382.95584000007,233983.45500000002,233983.45500000002,233983.45500000002,147000.41650000002,154897.77599999998,154897.77599999998,289866.1844,115065.9999,171036.37516,298319.259,84665.84684,107679.04682,198810.684,198810.684,198810.684,198810.684,465725.9798399999,465725.9798399999 +27907200.0,163774.43099999998,144434.78399999999,421749.56928,164569.31040000002,164569.31040000002,164569.31040000002,59099.614,332284.9916,1028316.8569600001,340044.04601999995,518162.35584,237661.84499999997,237661.84499999997,237661.84499999997,146758.11849999998,163774.43099999998,163774.43099999998,298362.82814,111773.52405,166142.37402,289783.21050000004,82243.23498000001,104597.93979,206154.777,206154.777,206154.777,206154.777,492415.12253999995,492415.12253999995 +27910800.0,201496.362,174196.011,508652.35212,163163.48356,163163.48356,163163.48356,68011.59749999999,452175.07576,1042189.7600000001,392570.31534000003,598202.38528,265808.80799999996,265808.80799999996,265808.80799999996,146657.896,201496.362,201496.362,339788.94833,135869.32305,201958.84561999998,352253.8005,99972.98338,127146.84799,236136.23100000003,236136.23100000003,236136.23100000003,236136.23100000003,605832.3950799999,605832.3950799999 +27914400.0,259589.09999999998,209344.67700000003,611286.4568400001,176477.49954999998,176477.49954999998,176477.49954999998,94338.63249999999,507639.32527999993,1082654.80832,452888.10399000003,690115.20608,380388.95699999994,380388.95699999994,380388.95699999994,229498.01,259589.09999999998,259589.09999999998,367799.85826999997,170966.13705,254127.44321999996,443245.54049999994,125797.30578,159990.53319,347935.146,347935.146,347935.146,347935.146,780497.894,780497.894 +27918000.0,321720.0,272572.43700000003,795911.51604,203180.99747,203180.99747,203180.99747,99243.6795,660332.66608,1146837.20128,533898.98436,813560.3571200001,489036.75299999997,489036.75299999997,489036.75299999997,305651.416,321720.0,321720.0,409472.61601999996,202112.22465000002,300423.60306,523994.65650000004,148714.67394,189137.11887,422078.92199999996,422078.92199999996,422078.92199999996,422078.92199999996,967304.7999999999,967304.7999999999 +27921600.0,419800.19700000004,305647.137,892489.64004,220766.37671000004,220766.37671000004,220766.37671000004,101781.5575,786149.64944,1291156.0384,659660.3411999999,1005196.7104,549652.9739999999,549652.9739999999,549652.9739999999,331980.859,419800.19700000004,419800.19700000004,442306.12816,249315.5619,370587.57596,646373.679,183447.00604,233310.11842,541359.9809999999,541359.9809999999,541359.9809999999,541359.9809999999,1262199.25898,1262199.25898 +27925200.0,531004.7309999999,370007.106,1080420.74952,237654.91904,237654.91904,237654.91904,120719.9245,892206.8000800001,1613554.85312,788218.99254,1201095.60768,576090.807,576090.807,576090.807,367520.552,531004.7309999999,531004.7309999999,453704.4813599999,322807.2102,479827.01368,836907.5819999999,237522.34232,302083.78436,622141.926,622141.926,622141.926,622141.926,1596554.2245399999,1596554.2245399999 +27928800.0,715739.97,481290.60899999994,1405368.5782799998,386103.93217,386103.93217,386103.93217,209543.642,1508912.2776,1893867.42336,1102601.50938,1680154.68096,632620.9349999999,632620.9349999999,632620.9349999999,592438.378,715739.97,715739.97,685390.55559,408171.79394999996,606714.61718,1058223.1695,300333.81382,381968.17261,743797.0109999999,743797.0109999999,743797.0109999999,743797.0109999999,2151991.5097999997,2151991.5097999997 +27932400.0,1424274.0269999998,838771.8840000001,2449213.9012800003,1915194.56832,1915194.56832,1915194.56832,1602432.0935000002,3811785.53168,4911725.75616,3397763.84808,5177544.91136,1573291.434,1573291.434,1573291.434,2327908.1875,1424274.0269999998,1424274.0269999998,2986374.76254,1907906.54175,2835949.9707,4946424.367500001,1403842.3443,1785423.65265,1780584.546,1780584.546,1780584.546,1780584.546,4282317.24118,4282317.24118 +27936000.0,1380151.794,1382226.6749999998,4036101.891,2568902.65698,2568902.65698,2568902.65698,2350589.458,4856817.44632,4088494.84288,3738355.67889,5696541.98688,1557244.677,1557244.677,1557244.677,2288853.525,1380151.794,1380151.794,2522881.4213199993,2453541.4026,3646992.40584,6361033.266000001,1805321.8221600002,2296030.10268,1880543.139,1880543.139,1880543.139,1880543.139,4149656.39396,4149656.39396 +27939600.0,2252457.3,2394817.443,6992866.93356,1975942.7086300002,1975942.7086300002,1975942.7086300002,2899559.8415,4972948.43928,7882082.84672,4087775.1702900003,6228990.735680001,2141598.4289999995,2141598.4289999995,2141598.4289999995,1887111.5690000001,2252457.3,2252457.3,3147119.7244499996,2388451.1958000003,3550241.03672,6192280.8780000005,1757428.2872800003,2235118.52644,2511155.259,2511155.259,2511155.259,2511155.259,6772388.282,6772388.282 +27943200.0,1599129.0,1142708.907,3336710.0084399995,724059.25152,724059.25152,724059.25152,1070427.155,2346002.47168,7457797.456,1531492.30899,2333702.5660800003,1545267.5520000001,1545267.5520000001,1545267.5520000001,1553968.9655,1599129.0,1599129.0,1964384.8706299998,2273116.5108,3378805.28272,5893265.028,1672564.74128,2127188.04344,1031955.081,1031955.081,1031955.081,1031955.081,4808047.859999999,4808047.859999999 +27946800.0,763065.933,636385.2119999999,1858244.8190399997,322640.56462,322640.56462,322640.56462,534760.7194999999,1464903.5092799996,4572680.574080001,911370.48303,1388755.0217600001,613581.936,613581.936,613581.936,609186.0950000001,763065.933,763065.933,684089.6477999999,1307972.03895,1944195.4751799998,3391038.6195,962409.05582,1224003.46361,578157.564,578157.564,578157.564,578157.564,2294284.9052199996,2294284.9052199996 +27950400.0,940073.382,1277068.851,3729041.0449200002,742354.0276900001,742354.0276900001,742354.0276900001,1091973.519,1982672.57736,3255911.808,1530498.72003,2332188.52576,829691.973,829691.973,829691.973,1192484.3035,940073.382,940073.382,1043979.8651099999,999206.4014999999,1485240.1326,2590535.115,735218.5374,935059.8177,921884.361,921884.361,921884.361,921884.361,2826487.3018799997,2826487.3018799997 +27954000.0,556353.591,639072.24,1866090.9408,357942.34047,357942.34047,357942.34047,788477.956,1128534.46552,1560070.9056000002,775522.41501,1181748.4419200001,473390.51399999997,473390.51399999997,473390.51399999997,709753.6460000001,556353.591,556353.591,526438.4105499999,513776.81159999996,763688.0014399999,1332013.956,378038.24656,480793.60887999996,472146.22500000003,472146.22500000003,472146.22500000003,472146.22500000003,1672769.79694,1672769.79694 +27957600.0,537125.0430000001,438946.812,1281724.69104,219906.06011000005,219906.06011000005,219906.06011000005,528755.1465,1121569.6347999999,1679701.6300800003,773706.86148,1178981.88416,493559.61600000004,493559.61600000004,493559.61600000004,413123.3785,537125.0430000001,537125.0430000001,566588.00484,532076.0440499999,790888.3420199999,1379456.4104999998,391502.86697999993,497918.0757899999,491905.476,491905.476,491905.476,491905.476,1614955.9626200001,1614955.9626200001 +27961200.0,1106210.208,1350545.988,3943594.28496,1560752.3993600002,1560752.3993600002,1560752.3993600002,1558076.7615,2497475.2291200003,3359874.21184,1903266.47973,2900215.5881600003,982678.977,982678.977,982678.977,1534676.6225,1106210.208,1106210.208,1579998.4584799998,1485716.12235,2208397.79174,3851856.6135000004,1093193.5912600001,1390336.8157300001,1179039.564,1179039.564,1179039.564,1179039.564,3326005.3587200004,3326005.3587200004 +27964800.0,1139734.467,1505240.7060000002,4395302.861520001,1840213.94733,1840213.94733,1840213.94733,1403127.9535,2917497.1511999997,3916952.34176,2170905.36264,3308046.2668800005,1226866.143,1226866.143,1226866.143,1833435.8315,1139734.467,1139734.467,1872321.01849,1608846.7617,2391421.60628,4171084.197,1183793.41972,1505562.77206,1354632.8760000002,1354632.8760000002,1354632.8760000002,1354632.8760000002,3426801.63078,3426801.63078 +27968400.0,1073276.622,1509983.811,4409152.72812,1285052.9803100002,1285052.9803100002,1285052.9803100002,1259307.77,2767009.3447999996,3952838.4659200003,1900671.5042700002,2896261.3398400005,1120722.777,1120722.777,1120722.777,1540246.6135,1073276.622,1073276.622,1615164.7292299997,1424744.7939,2117768.8047599997,3693782.7989999996,1048330.7372399999,1333279.69602,1326635.0219999999,1326635.0219999999,1326635.0219999999,1326635.0219999999,3226985.04348,3226985.04348 +27972000.0,2347251.552,1949606.3609999996,5692850.574119999,3648624.33265,3648624.33265,3648624.33265,3046954.393,3904320.9565599994,7348962.8576,3938309.76735,6001233.9311999995,2475045.984,2475045.984,2475045.984,3162547.969,2347251.552,2347251.552,4097401.68903,3083433.9862499996,4583277.1844999995,7994088.1125,2268798.3405,2885485.1377499998,2656039.152,2656039.152,2656039.152,2656039.152,7057402.999679999,7057402.999679999 +27975600.0,1821352.3110000002,1085460.657,3169545.11844,2457308.1369100004,2457308.1369100004,2457308.1369100004,1908881.3485000003,2979294.0339200003,5336241.008640001,2799935.71788,4266568.71296,1853612.202,1853612.202,1853612.202,2499331.1735,1821352.3110000002,1821352.3110000002,1685000.1957099999,2222599.96575,3303716.4922999996,5762296.2075,1635394.5426999999,2079914.5358499999,2065254.2909999997,2065254.2909999997,2065254.2909999997,2065254.2909999997,5476199.2817400005,5476199.2817400005 +27979200.0,1395693.5520000001,1029810.342,3007046.19864,1547829.0463900003,1547829.0463900003,1547829.0463900003,1610088.683,2349351.88104,4488515.29856,2063857.4061000003,3144925.5712000006,1348227.6269999999,1348227.6269999999,1348227.6269999999,1778700.0034999996,1395693.5520000001,1395693.5520000001,1487358.95997,1664647.28505,2474364.60642,4315752.2205,1224851.58258,1557781.03959,1459227.744,1459227.744,1459227.744,1459227.744,4196385.27968,4196385.27968 +27982800.0,1230229.239,1052173.524,3072346.6900799996,1413459.2865800003,1413459.2865800003,1413459.2865800003,1402396.2435,2281409.30936,4301522.696959999,1991252.78331,3034289.9555200003,1242462.1979999999,1242462.1979999999,1242462.1979999999,1656661.0444999998,1230229.239,1230229.239,1550135.3570299998,1601755.19955,2380880.5682200002,4152698.6655,1178575.43078,1498926.47069,1396415.8260000001,1396415.8260000001,1396415.8260000001,1396415.8260000001,3698889.2452599998,3698889.2452599998 +27986400.0,867676.6140000001,753194.364,2199327.5428799996,949897.4628,949897.4628,949897.4628,760811.6705,1212191.8055999998,2680822.48,1161404.56173,1769759.3321600002,669657.696,669657.696,669657.696,831130.3035,867676.6140000001,867676.6140000001,1095897.0426299998,758746.9462499999,1127816.4485,1967121.7125,558287.8765,710037.26575,893476.284,893476.284,893476.284,893476.284,2608814.3527599997,2608814.3527599997 +27990000.0,157431.93,134684.13,393277.65959999996,182499.38608000003,182499.38608000003,182499.38608000003,73560.9875,260348.25704000003,983262.7443200002,325768.06332,496408.47744000005,229375.04099999997,229375.04099999997,229375.04099999997,144836.46099999998,157431.93,157431.93,285621.87888,114041.24055,169513.15262,295662.4755,83911.82638,106720.07449000001,199557.14099999997,199557.14099999997,199557.14099999997,199557.14099999997,473345.33619999996,473345.33619999996 +27993600.0,162357.06900000002,139776.21,408146.5332,160586.6526,160586.6526,160586.6526,58234.760500000004,315718.37744,988904.1440000001,335104.47264000005,510635.38688000006,228713.99699999997,228713.99699999997,228713.99699999997,142203.894,162357.06900000002,162357.06900000002,288582.03465,108957.2715,161956.2406,282481.815,80171.02940000001,101962.48370000001,203011.752,203011.752,203011.752,203011.752,488153.58746,488153.58746 +27997200.0,200680.43700000003,168893.80800000002,493169.91936,158912.29937000002,158912.29937000002,158912.29937000002,66482.8605,430260.82616,1003656.2924800001,381656.60673,581571.97216,242520.723,242520.723,242520.723,142150.62050000002,200680.43700000003,200680.43700000003,328259.80642,131029.12754999999,194764.28342,339705.1455,96411.55558,122617.38109,228407.94900000002,228407.94900000002,228407.94900000002,228407.94900000002,603379.18058,603379.18058 +28000800.0,246648.462,194833.86299999998,568914.8799599999,169411.21439,169411.21439,169411.21439,90734.9415,459154.15608,1021644.1420800001,428847.26682,653481.5494400001,335811.792,335811.792,335811.792,202932.55500000002,246648.462,246648.462,345579.76985999994,161793.77805,240493.46761999998,419465.3505,119048.26138,151407.01699,327732.765,327732.765,327732.765,327732.765,741589.70908,741589.70908 +28004400.0,296490.564,249332.271,728050.23132,187804.23629,187804.23629,187804.23629,94094.476,578685.56496,1041826.8576000001,494258.73483000003,753156.1673600001,432315.0,432315.0,432315.0,280835.1315,296490.564,296490.564,376396.03533999994,185440.11615000002,275641.85166,480770.67150000005,136447.29534,173535.31857000003,382932.861,382932.861,382932.861,382932.861,891448.2957599999,891448.2957599999 +28008000.0,373198.311,275141.058,803411.88936,204000.30068000001,204000.30068000001,204000.30068000001,95432.92150000001,685006.63104,1136419.6448000001,589200.45093,897829.2585600001,481327.54500000004,481327.54500000004,481327.54500000004,300371.28799999994,373198.311,373198.311,403635.98404999997,213928.96634999997,317988.24133999995,554630.6535,157409.46166,200195.25493,480719.48400000005,480719.48400000005,480719.48400000005,480719.48400000005,1122082.92174,1122082.92174 +28011600.0,474050.055,293220.915,856205.0717999999,219208.55165,219208.55165,219208.55165,111121.34950000001,768098.11016,1390523.5136000002,701416.7972700001,1068825.59584,509498.99400000006,509498.99400000006,509498.99400000006,317074.8455,474050.055,474050.055,414466.95927,276018.43905,410279.26002,715603.3605,203095.04898,258298.73679,552462.591,552462.591,552462.591,552462.591,1425310.4986999999,1425310.4986999999 +28015200.0,665293.449,421831.35000000003,1231747.5420000001,355340.98369,355340.98369,355340.98369,199519.9255,1350398.3314399999,1656626.3795200002,1012012.7679900001,1542114.69408,566857.119,566857.119,566857.119,518271.28500000003,665293.449,665293.449,640787.2379999999,368679.1221,548011.92964,955834.7609999999,271275.00836,345010.83278,686127.744,686127.744,686127.744,686127.744,2000315.63666,2000315.63666 +28018800.0,1368848.685,782092.131,2283709.02252,1854528.9554000003,1854528.9554000003,1854528.9554000003,1578622.5629999998,3682340.7987200003,4703092.41024,3293642.7314699995,5018884.1622399995,1442626.761,1442626.761,1442626.761,2213003.2749999994,1368848.685,1368848.685,2913266.52877,1816117.17975,2699512.4499,4708451.9475,1336303.5051,1699526.94105,1703801.9070000001,1703801.9070000001,1703801.9070000001,1703801.9070000001,4115671.7129,4115671.7129 +28022400.0,1315601.868,1346056.3590000002,3930484.5682800002,2487258.34302,2487258.34302,2487258.34302,2218840.169,4699447.19992,3867803.6390400003,3635506.92435,5539820.0752,1490080.797,1490080.797,1490080.797,2127699.6054999996,1315601.868,1315601.868,2471332.2809499996,2382588.71955,3541526.93622,6177081.8655,1753114.6627800001,2229632.40669,1808062.659,1808062.659,1808062.659,1808062.659,3955576.28312,3955576.28312 +28026000.0,2258233.713,2397356.187,7000280.06604,1981552.22683,1981552.22683,1981552.22683,2845697.7745,4928077.254799999,7925007.22112,4086902.75637,6227661.34304,2159444.091,2159444.091,2159444.091,1888785.3390000002,2258233.713,2258233.713,3140271.8621299993,2328152.6776499995,3460612.128259999,6035951.386499999,1713060.4887399997,2178691.02427,2527193.6160000004,2527193.6160000004,2527193.6160000004,2527193.6160000004,6789756.03042,6789756.03042 +28029600.0,1809656.1060000001,1354250.151,3954410.44092,978442.24093,978442.24093,978442.24093,1284818.857,2773361.3025599997,8191607.3248000005,1936688.87223,2951144.94816,1760867.097,1760867.097,1760867.097,1794777.3375,1809656.1060000001,1809656.1060000001,2372745.43389,2533125.5387999997,3765287.83792,6567362.508,1863880.02608,2370505.1338400003,1313921.097,1313921.097,1313921.097,1313921.097,5441032.69204,5441032.69204 +28033200.0,986734.7699999999,848782.842,2478445.89864,568555.87019,568555.87019,568555.87019,786486.0885,1854454.5480799999,5459502.552320001,1290425.56965,1966362.7728,838268.571,838268.571,838268.571,840851.9245,986734.7699999999,986734.7699999999,1063119.9614099998,1646815.04595,2447858.4139799997,4269520.4895,1211730.57702,1541093.58621,825424.4099999999,825424.4099999999,825424.4099999999,825424.4099999999,2966782.5418,2966782.5418 +28036800.0,1011617.5860000001,1331615.838,3888318.2469599997,813735.3482499999,813735.3482499999,813735.3482499999,1142471.1269999999,2073319.428,3456382.0640000002,1642318.49439,2502580.56288,906618.831,906618.831,906618.831,1247176.2765,1011617.5860000001,1011617.5860000001,1234087.53936,1073565.6408,1595769.1747199998,2783318.3279999997,789932.24928,1004645.37744,991312.3800000001,991312.3800000001,991312.3800000001,991312.3800000001,3041596.87524,3041596.87524 +28040400.0,811713.264,882818.061,2577828.73812,628453.00199,628453.00199,628453.00199,1067080.427,1583704.99408,2569794.11456,1198054.15254,1825606.32768,729379.104,729379.104,729379.104,977149.2465,811713.264,811713.264,924801.2733699998,863303.90895,1283231.98318,2238195.3195,635221.14782,807881.92961,750111.861,750111.861,750111.861,750111.861,2440551.2137599997,2440551.2137599997 +28044000.0,709176.726,598807.632,1748518.28544,401304.03500000003,401304.03500000003,401304.03500000003,769233.101,1439930.20344,2368599.34848,1066948.84506,1625826.8115200002,667878.378,667878.378,667878.378,592863.3025,709176.726,709176.726,828907.84353,772665.7513499999,1148505.6353399998,2003207.5034999999,568529.36766,723062.51793,683085.333,683085.333,683085.333,683085.333,2132258.0228399998,2132258.0228399998 +28047600.0,1157671.662,1482783.168,4329726.85056,1659630.4852600002,1659630.4852600002,1659630.4852600002,1610821.5304999999,2624409.63224,3514273.543040001,2004187.03065,3053999.2848,1064254.629,1064254.629,1064254.629,1568531.5205,1157671.662,1157671.662,1785117.22883,1534126.4770499999,2280355.8992199996,3977364.9404999996,1128814.04978,1435639.3451899998,1304329.0739999998,1304329.0739999998,1304329.0739999998,1304329.0739999998,3480732.79708,3480732.79708 +28051200.0,1157857.035,1500890.55,4382600.406,1967613.79551,1967613.79551,1967613.79551,1394823.7065,2911510.98768,3881373.7516800007,2221458.6639,3385079.8688000003,1240961.625,1240961.625,1240961.625,1867850.7925,1157857.035,1157857.035,1884934.1756699998,1598912.6179499999,2376655.29878,4145329.0095,1176483.85222,1496266.37581,1364295.423,1364295.423,1364295.423,1364295.423,3481290.1518999995,3481290.1518999995 +28054800.0,1075707.813,1505843.163,4397062.03596,1344261.4111300001,1344261.4111300001,1344261.4111300001,1254787.8735,2753409.5908,3916681.91936,1909848.5235900003,2910245.3692800007,1121972.328,1121972.328,1121972.328,1545462.1945,1075707.813,1075707.813,1609733.2676099997,1425782.4039,2119311.1287599998,3696472.899,1049094.21324,1334250.69402,1324068.4619999998,1324068.4619999998,1324068.4619999998,1324068.4619999998,3234294.82442,3234294.82442 +28058400.0,2341082.9220000003,1947859.239,5687748.97788,3674012.7688,3674012.7688,3674012.7688,3040202.9245,3938076.0747999996,7297329.87008,3928870.4886899996,5986850.268479999,2472228.747,2472228.747,2472228.747,3161432.0955000003,2341082.9220000003,2341082.9220000003,4259584.874609999,3076052.0148,4572304.47632,7974949.6680000005,2263366.66768,2878577.07064,2662670.0700000003,2662670.0700000003,2662670.0700000003,2662670.0700000003,7038855.98548,7038855.98548 +28062000.0,1850811.7769999998,1105378.059,3227703.93228,2575819.4591800002,2575819.4591800002,2575819.4591800002,1930372.5490000003,3015102.6363199996,5516336.571520001,2864229.89097,4364540.78624,1881540.849,1881540.849,1881540.849,2622529.9135,1850811.7769999998,1850811.7769999998,1721385.9457599998,2323053.93825,3453033.2613,6022732.432500001,1709308.8237,2173919.6113500004,2116183.3710000003,2116183.3710000003,2116183.3710000003,2116183.3710000003,5564774.07618,5564774.07618 +28065600.0,1405218.273,1035607.4310000001,3023973.69852,1667133.68492,1667133.68492,1667133.68492,1648572.5515,2376336.57632,4531086.910720001,2085768.37749,3178313.71808,1357915.17,1357915.17,1357915.17,1869719.9255,1405218.273,1405218.273,1502842.7059099998,1685777.9170499998,2505773.5952199996,4370535.3405,1240399.55378,1577555.13719,1483234.809,1483234.809,1483234.809,1483234.809,4225022.94082,4225022.94082 +28069200.0,1223486.9789999998,1044611.6280000001,3050265.9537600004,1445778.8187700002,1445778.8187700002,1445778.8187700002,1406952.5785,2257511.22344,4241539.55968,1977676.96224,3013602.9900800004,1227538.638,1227538.638,1227538.638,1648306.457,1223486.9789999998,1223486.9789999998,1548422.5064100001,1590759.60345,2364536.49698,4124191.5645000003,1170484.8440200002,1488636.7647100003,1386714.996,1386714.996,1386714.996,1386714.996,3678617.5168599994,3678617.5168599994 +28072800.0,869043.6060000001,752049.441,2195984.36772,957426.3604400001,957426.3604400001,957426.3604400001,762907.747,1207465.13152,2665564.38976,1160469.04386,1768333.7811200002,666655.545,666655.545,666655.545,831965.2075,869043.6060000001,869043.6060000001,1101144.87769,758201.77575,1127006.0962999999,1965708.3075,557886.7387,709527.0938500001,893998.1190000001,893998.1190000001,893998.1190000001,893998.1190000001,2612924.44204,2612924.44204 +28076400.0,155665.908,132326.112,386392.24704,180298.54172,180298.54172,180298.54172,73152.4675,255049.46151999995,961026.4832,320379.86988,488197.89696000004,224612.36699999997,224612.36699999997,224612.36699999997,142314.53600000002,155665.908,155665.908,280114.89544999995,112091.93505,166615.66642,290608.7205,82477.52258,104895.90959000001,196736.75699999998,196736.75699999998,196736.75699999998,196736.75699999998,468035.49671999994,468035.49671999994 +28080000.0,157723.227,134146.38,391707.4296,155883.45014000003,155883.45014000003,155883.45014000003,56678.3735,292062.80919999996,948485.40096,323359.39545,492738.12640000007,219189.399,219189.399,219189.399,137401.1975,157723.227,157723.227,277409.74182999996,104942.9277,155989.24068000002,272074.25700000004,77217.26532,98205.85086,197306.715,197306.715,197306.715,197306.715,474221.16917999997,474221.16917999997 +28083600.0,189028.731,160472.112,468578.56704,151915.28561000002,151915.28561000002,151915.28561000002,63982.954000000005,384909.29,947292.7244800001,360667.94798999996,549589.25408,223160.511,223160.511,223160.511,135156.71050000002,189028.731,189028.731,310323.69159999996,122622.74505,182268.87042,317910.82050000003,90226.11858000001,114750.66759000001,212260.215,212260.215,212260.215,212260.215,568346.38454,568346.38454 +28087200.0,227337.36000000004,177883.707,519420.42444,157892.14166,157892.14166,157892.14166,83684.45749999999,409789.82743999996,943286.3711999999,395071.22654999996,602013.2975999999,277079.84400000004,277079.84400000004,277079.84400000004,170520.06650000002,227337.36000000004,227337.36000000004,318193.87132,148928.0661,221369.61924,386109.80100000004,109581.63876,139367.25198,297676.75800000003,297676.75800000003,297676.75800000003,297676.75800000003,683527.6624,683527.6624 +28090800.0,269241.765,214630.083,626719.84236,168772.33021000001,168772.33021000001,168772.33021000001,88701.291,498735.05976000003,952072.8416,453296.6109,690737.6928000001,378931.797,378931.797,378931.797,255624.3025,269241.765,269241.765,343556.9580299999,167873.60564999998,249530.64346,435227.8665,123521.81354,157096.53467,342659.478,342659.478,342659.478,342659.478,809520.2401,809520.2401 +28094400.0,325029.579,242788.641,708942.83172,186500.05363000004,186500.05363000004,186500.05363000004,88709.5545,585368.6331999999,982906.7833600001,517592.38755,788712.2096000001,418795.66500000004,418795.66500000004,418795.66500000004,268491.9265,325029.579,325029.579,366075.21352999995,188561.10689999998,280280.95395999996,488862.12899999996,138743.72804,176455.94942,414353.811,414353.811,414353.811,414353.811,977255.6008599999,977255.6008599999 +28098000.0,409016.07,257811.14399999997,752808.54048,199758.02572,199758.02572,199758.02572,99508.388,659324.78136,1186797.76576,612592.1361000001,933473.7312000002,446709.201,446709.201,446709.201,282634.2015,409016.07,409016.07,377329.77177999995,220991.9841,328486.85044,572942.1810000001,162606.44756000003,206804.84438000002,479836.905,479836.905,479836.905,479836.905,1229774.9838,1229774.9838 +28101600.0,604313.139,324641.007,947951.74044,324401.28325,324401.28325,324401.28325,188038.6935,1198324.15912,1399808.24448,908790.13764,1384823.06688,499063.623,499063.623,499063.623,436116.653,604313.139,604313.139,590497.23538,323524.4004,480893.05935999996,838766.964,238050.05264,302754.93272,617533.6199999999,617533.6199999999,617533.6199999999,617533.6199999999,1816968.1712599997,1816968.1712599997 +28105200.0,1306418.4030000002,712479.987,2080441.56204,1776457.04731,1776457.04731,1776457.04731,1544697.9415000002,3523942.06992,4460667.949440001,3158263.4439299996,4812591.9145599995,1308372.903,1308372.903,1308372.903,2029769.5354999998,1306418.4030000002,1306418.4030000002,2790750.9850999997,1719250.7498999997,2555528.2751599997,4457316.759,1265028.9468399999,1608879.0968199999,1618579.3229999999,1618579.3229999999,1618579.3229999999,1618579.3229999999,3927964.66502,3927964.66502 +28108800.0,1214872.8360000001,1280610.2399999998,3739381.9007999995,2345659.46549,2345659.46549,2345659.46549,2090393.5605,4460274.730319999,3508733.77344,3470456.63769,5288314.87648,1394982.084,1394982.084,1394982.084,1963828.279,1214872.8360000001,1214872.8360000001,2366455.92118,2276251.9803,3383465.9065199993,5901394.022999999,1674871.8274799997,2130122.2235399997,1683856.227,1683856.227,1683856.227,1683856.227,3652717.66024,3652717.66024 +28112400.0,2165514.732,2308829.193,6741781.243559999,1853811.83768,1853811.83768,1853811.83768,2581296.5009999997,4657596.08968,7605121.153279999,3877998.67791,5909331.31872,2042144.3639999998,2042144.3639999998,2042144.3639999998,1755320.9904999998,2165514.732,2165514.732,2847184.16099,2109678.1654499997,3135867.2977799997,5469535.9845,1552306.40322,1974242.03631,2427100.164,2427100.164,2427100.164,2427100.164,6510980.960879999,6510980.960879999 +28116000.0,1650537.9510000001,1234639.734,3605148.02328,871330.4270000001,871330.4270000001,871330.4270000001,1082978.5225,2467098.2705599996,7540894.195840001,1656007.04283,2523439.30336,1564141.1609999998,1564141.1609999998,1564141.1609999998,1627351.131,1650537.9510000001,1650537.9510000001,2183066.46532,2371942.03905,3525701.5000199997,6149479.3605,1745280.80898,2219669.21679,1153611.567,1153611.567,1153611.567,1153611.567,4962617.43934,4962617.43934 +28119600.0,682672.317,585421.131,1709429.70252,281359.51514000003,281359.51514000003,281359.51514000003,455722.4665,1238118.2519999999,3678279.3158400008,747805.6628700001,1139513.3910400001,488407.11600000004,488407.11600000004,488407.11600000004,500886.9215,682672.317,682672.317,592157.96965,1093519.521,1625429.0163999998,2835050.61,804614.3636,1023318.2678,475373.21699999995,475373.21699999995,475373.21699999995,475373.21699999995,2052568.09978,2052568.09978 +28123200.0,806156.8620000001,1153983.852,3369632.84784,641228.95991,641228.95991,641228.95991,948466.1514999999,1659519.2024799997,2657708.8992000003,1307233.24032,1991974.4614400002,669370.6950000001,669370.6950000001,669370.6950000001,1046429.006,806156.8620000001,806156.8620000001,870707.5997099999,820442.2688999999,1219521.5947599998,2127072.5489999996,603683.44724,767771.90102,773158.086,773158.086,773158.086,773158.086,2423844.96508,2423844.96508 +28126800.0,675133.833,715045.4369999999,2087932.6760399998,535269.49322,535269.49322,535269.49322,939003.8279999999,1316916.79968,2057395.1072000002,995966.4647100001,1517663.1843200002,575637.75,575637.75,575637.75,757210.1775,675133.833,675133.833,744942.5547199999,695415.96225,1033680.0228999999,1802930.2725,511688.78209999995,650771.9745499999,613430.0700000001,613430.0700000001,613430.0700000001,613430.0700000001,2029902.3912199999,2029902.3912199999 +28130400.0,493176.966,399442.89599999995,1166373.25632,208526.07556000003,208526.07556000003,208526.07556000003,471022.797,1000994.7814399999,1472231.8784,702426.01611,1070363.45312,427294.743,427294.743,427294.743,364608.398,493176.966,493176.966,512967.69771,475543.467,706857.2028,1232890.47,349906.0572,445014.7506,444075.048,444075.048,444075.048,444075.048,1482818.74444,1482818.74444 +28134000.0,1010000.418,1219914.909,3562151.5342799993,1524443.8845900001,1524443.8845900001,1524443.8845900001,1449153.0935000002,2228794.61776,2917155.59872,1761496.31973,2684184.86816,872773.3200000001,872773.3200000001,872773.3200000001,1433609.072,1010000.418,1010000.418,1541140.61855,1354194.1260000002,2012900.8984,3510873.6600000006,996419.3816000001,1267258.2068000003,1070398.134,1070398.134,1070398.134,1070398.134,3036734.59012,3036734.59012 +28137600.0,1011232.068,1365898.884,3988424.74128,1734283.8579000002,1734283.8579000002,1734283.8579000002,1261201.7775,2537755.2742399997,3344941.9340800005,1918558.5833400001,2923517.8412800003,1075372.569,1075372.569,1075372.569,1674897.1155,1011232.068,1011232.068,1734352.47921,1436803.7093999998,2135693.4149599997,3725046.654,1057203.71704,1344564.4589200001,1202854.242,1202854.242,1202854.242,1202854.242,3040437.7511199997,3040437.7511199997 +28141200.0,945139.2119999999,1361773.518,3976378.67256,1158118.8052500002,1158118.8052500002,1158118.8052500002,1117118.1875,2455754.53192,3384974.80704,1672198.23645,2548111.5984,941063.628,941063.628,941063.628,1367662.2435,945139.2119999999,945139.2119999999,1431537.8036699998,1247826.6553499997,1854794.1889399996,3235106.1434999993,918153.9340599999,1167719.2651299997,1174250.5350000001,1174250.5350000001,1174250.5350000001,1174250.5350000001,2841718.5640799995,2841718.5640799995 +28144800.0,2267917.62,1868537.529,5456129.584679999,3580061.1411400004,3580061.1411400004,3580061.1411400004,2954686.4515,3676688.6189599996,6918367.2192,3803764.97823,5796213.30016,2377495.9590000003,2377495.9590000003,2377495.9590000003,3050512.535,2267917.62,2267917.62,4036750.4461699994,2935839.1517999996,4363889.30712,7611434.8379999995,2160197.6968799997,2747365.5272399997,2538275.7029999997,2538275.7029999997,2538275.7029999997,2538275.7029999997,6818872.3108,6818872.3108 +28148400.0,1735135.941,1003129.371,2929137.76332,2335296.94838,2335296.94838,2335296.94838,1824800.313,2786553.96184,4879963.23904,2610186.12498,3977426.47616,1738574.9820000003,1738574.9820000003,1738574.9820000003,2267005.0585000003,1735135.941,1735135.941,1581169.49146,2067832.2451499999,3073666.69526,5361046.5615,1521516.07174,1935082.52077,1919292.4500000002,1919292.4500000002,1919292.4500000002,1919292.4500000002,5216975.39594,5216975.39594 +28152000.0,1311235.92,963363.3060000001,2813020.85352,1449171.35099,1449171.35099,1449171.35099,1485302.0455,2180000.4483199995,4098226.21952,1921629.4055700002,2928197.1894400003,1235820.7889999999,1235820.7889999999,1235820.7889999999,1590831.6095,1311235.92,1311235.92,1404895.40607,1543234.12515,2293893.6872599996,4000977.3614999996,1135515.4797399999,1444162.30477,1358140.44,1358140.44,1358140.44,1358140.44,3942449.3328,3942449.3328 +28155600.0,1151787.342,979987.902,2861564.6738400003,1337971.8366300003,1337971.8366300003,1337971.8366300003,1310111.9535,2111386.5569599997,3957507.998720001,1853162.06901,2823866.00992,1151169.642,1151169.642,1151169.642,1535411.9935,1151787.342,1151787.342,1437807.5376599997,1490511.3385499998,2215525.49582,3864288.6555,1096721.92318,1394824.19089,1302100.9770000002,1302100.9770000002,1302100.9770000002,1302100.9770000002,3463040.60828,3463040.60828 +28159200.0,812100.3870000001,698375.421,2039256.22932,873619.5415200001,873619.5415200001,873619.5415200001,716032.0685,1109633.6384,2447171.06368,1074344.5700400001,1637096.4876800003,613563.633,613563.633,613563.633,771535.0160000001,812100.3870000001,812100.3870000001,1017392.6574499998,702280.71225,1043883.9228999999,1820727.7725,516739.8821,657196.02455,828717.3629999999,828717.3629999999,828717.3629999999,828717.3629999999,2441715.16358,2441715.16358 +28162800.0,138374.682,120186.92699999998,350945.82683999994,164990.81181,164990.81181,164990.81181,69405.5565,228026.35072,857677.7875200001,272145.42747,414697.79424,202224.50400000002,202224.50400000002,202224.50400000002,129209.0695,138374.682,138374.682,252829.22288,100540.32255,149445.12141999998,260660.0955,73977.81758,94085.88209,175874.55299999999,175874.55299999999,175874.55299999999,175874.55299999999,416046.54387999995,416046.54387999995 +28166400.0,140425.356,118969.62299999999,347391.29916,140087.73129999998,140087.73129999998,140087.73129999998,48205.395000000004,238756.5156,842273.3830400001,282273.72012,430131.38304000004,196545.96300000002,196545.96300000002,196545.96300000002,123669.497,140425.356,140425.356,247732.48434999998,93132.46754999999,138433.93941999998,241454.54549999998,68527.09958,87153.59309,175335.82799999998,175335.82799999998,175335.82799999998,175335.82799999998,422212.23704,422212.23704 +28170000.0,154316.81399999998,141604.65000000002,413485.57800000004,137058.30413,137058.30413,137058.30413,58931.9395,271592.12584,851033.06688,305870.50158000004,466088.38336000004,197027.44199999998,197027.44199999998,197027.44199999998,122934.51450000002,154316.81399999998,154316.81399999998,273570.02465,102791.96054999999,152792.00061999998,266497.6755,75634.57837999999,96192.97049,181076.532,181076.532,181076.532,181076.532,463979.22075999994,463979.22075999994 +28173600.0,185911.179,156958.62900000002,458319.19668000005,137851.00989,137851.00989,137851.00989,67361.819,331612.31704,856713.3952,347313.04146,529238.92032,203791.59,203791.59,203791.59,127236.0775,185911.179,185911.179,286690.03076999995,124549.97805,185133.54762,322907.3505,91644.18138000001,116554.17699,231017.15400000004,231017.15400000004,231017.15400000004,231017.15400000004,558972.9448599999,558972.9448599999 +28177200.0,232984.443,171421.236,500550.00912,151069.77567,151069.77567,151069.77567,83627.87299999999,405225.06152,873019.1859200001,395036.98668,601961.12256,292550.997,292550.997,292550.997,209917.064,232984.443,232984.443,311663.84898999997,149089.53555,221609.63061999998,386528.4255,109700.44838,139518.35549,300670.272,300670.272,300670.272,300670.272,700506.5586199999,700506.5586199999 +28180800.0,283472.83199999994,202853.46600000001,592332.12072,165672.29261,165672.29261,165672.29261,86153.71449999999,519725.38632,906577.1424,460316.53773,701434.72416,388254.444,388254.444,388254.444,254808.3825,283472.83199999994,283472.83199999994,343448.71379,172851.96284999998,256930.57193999997,448134.71849999996,127184.90105999999,161755.29362999997,357804.957,357804.957,357804.957,357804.957,852308.3148799998,852308.3148799998 +28184400.0,365604.66000000003,250617.42599999998,731802.8839199999,193843.18426,193843.18426,193843.18426,95507.538,628132.9676,1044262.2259200002,565530.39354,861760.59968,435169.578,435169.578,435169.578,276499.601,365604.66000000003,365604.66000000003,370744.83849,199847.43629999997,297057.17691999994,518122.98299999995,147048.23708,187017.72434,446340.561,446340.561,446340.561,446340.561,1099251.3444,1099251.3444 +28188000.0,466365.003,269316.92699999997,786405.42684,292462.76411,292462.76411,292462.76411,184053.786,746517.4471999999,1306976.4179200002,698815.9195500001,1064862.3536,478391.69999999995,478391.69999999995,478391.69999999995,320279.52949999995,466365.003,466365.003,392673.29659999994,274660.10145,408260.20018000004,712081.7445,202095.58082000003,257027.60111000005,526012.737,526012.737,526012.737,526012.737,1402204.10902,1402204.10902 +28191600.0,1194287.457,1187584.71,3467747.3532,1129768.76441,1129768.76441,1129768.76441,1095584.231,1872146.6470400002,1990775.08288,1617067.92576,2464103.5059200004,772665.348,772665.348,772665.348,1716509.3679999998,1194287.457,1194287.457,2379904.22904,715688.5734,1063813.63256,1855488.894,526605.41944,669743.1341200001,1643252.8229999999,1643252.8229999999,1643252.8229999999,1643252.8229999999,3590824.28738,3590824.28738 +28195200.0,2224109.601,1979926.545,5781385.5114,2839705.007260001,2839705.007260001,2839705.007260001,2008522.6560000002,3345969.1736799995,3846440.4979200005,3254777.30571,4959660.65632,1367597.6160000002,1367597.6160000002,1367597.6160000002,2198941.7869999995,2224109.601,2224109.601,3471533.66651,1735303.12335,2579388.84014,4498934.0235,1276840.32286,1623900.94753,2388378.666,2388378.666,2388378.666,2388378.666,6687156.200339999,6687156.200339999 +28198800.0,2573872.188,2473579.272,7222851.474239999,3138592.0832200004,3138592.0832200004,3138592.0832200004,2598942.682,4346134.0444,10015909.094400002,3413259.97089,5201158.05088,2626382.631,2626382.631,2626382.631,2643467.498,2573872.188,2573872.188,2700174.7601399994,3465019.5875999997,5150473.559839999,8983384.116,2549569.96816,3242573.88568,2312668.9590000003,2312668.9590000003,2312668.9590000003,2312668.9590000003,7738775.711919999,7738775.711919999 +28202400.0,1911554.466,1638344.208,4783965.08736,2215111.39091,2215111.39091,2215111.39091,2750050.023,3633906.3148799995,6801125.448960001,3588367.14348,5467988.02816,2647273.7309999997,2647273.7309999997,2647273.7309999997,2933920.4965,1911554.466,1911554.466,2097690.98071,3412288.3932,5072092.87088,8846673.612,2510770.22512,3193227.90376,2035126.7159999998,2035126.7159999998,2035126.7159999998,2035126.7159999998,5747407.09444,5747407.09444 +28206000.0,1424529.894,1213296.1379999998,3542824.7229599995,2015141.4565700004,2015141.4565700004,2015141.4565700004,2564310.0315,3566172.7276,7178761.4144,2942159.44869,4483290.58848,1267266.108,1267266.108,1267266.108,2423743.14,1424529.894,1424529.894,1411041.94153,2635287.1573499995,3917142.8857399994,6832225.963499999,1939050.7972599997,2466108.2287299996,1697524.9590000003,1697524.9590000003,1697524.9590000003,1697524.9590000003,4283086.54796,4283086.54796 +28209600.0,1168312.4579999999,981392.7239999999,2865666.75408,1510515.3393000003,1510515.3393000003,1510515.3393000003,1661794.2355,2958732.1589599997,3887728.912,2192814.19917,3341431.1606400004,1159727.832,1159727.832,1159727.832,1723895.992,1168312.4579999999,1168312.4579999999,1204490.95039,1635964.91775,2431730.5691,4241390.5275,1203747.0259,1530940.00945,1255275.576,1255275.576,1255275.576,1255275.576,3512726.1237199996,3512726.1237199996 +28213200.0,876058.017,717492.21,2095077.2532,835766.4495400001,835766.4495400001,835766.4495400001,980018.8825000001,1956615.4084,2603205.03872,1506845.3551200002,2296145.30304,809512.9859999998,809512.9859999998,809512.9859999998,1110476.6014999999,876058.017,876058.017,865422.58335,1043675.8632,1551340.41888,2705826.312,767939.27712,976674.44976,931766.9369999999,931766.9369999999,931766.9369999999,931766.9369999999,2634014.43778,2634014.43778 +28216800.0,761232.564,626611.584,1829705.82528,693432.2736000001,693432.2736000001,693432.2736000001,811299.846,1466432.7599999998,2340322.8812800003,1222761.7518900002,1863256.0028800003,703390.323,703390.323,703390.323,971308.8314999999,761232.564,761232.564,743043.01838,883024.87365,1312545.61466,2289323.7465000004,649731.88234,826336.85707,808642.2749999999,808642.2749999999,808642.2749999999,808642.2749999999,2288772.57576,2288772.57576 +28220400.0,1019760.3870000001,899529.2010000001,2626625.2669200003,1150428.0477800001,1150428.0477800001,1150428.0477800001,1106090.9685,1968813.1243999999,3478717.5180800003,1696043.69046,2584447.52832,1006124.832,1006124.832,1006124.832,1302208.404,1019760.3870000001,1019760.3870000001,1276355.0968999998,1284653.18385,1909533.8683399998,3330582.3285,945250.98466,1202181.6214299998,1136512.9019999998,1136512.9019999998,1136512.9019999998,1136512.9019999998,3066079.56358,3066079.56358 +28224000.0,1068003.276,948972.33,2770999.2035999997,1235531.3204300003,1235531.3204300003,1235531.3204300003,1167081.895,2059754.5563199997,3684042.3104000003,1785253.73733,2720386.64736,1063362.5489999999,1063362.5489999999,1063362.5489999999,1368762.6819999998,1068003.276,1068003.276,1371623.37585,1358222.47065,2018888.70946,3521317.5165000004,999383.4475400001,1271027.94167,1198778.898,1198778.898,1198778.898,1198778.898,3211129.84984,3211129.84984 +28227600.0,1074893.034,951774.564,2779181.72688,1267720.7835600001,1267720.7835600001,1267720.7835600001,1194573.9085,2077362.3548799998,3692646.595200001,1799660.62269,2742339.99648,1068010.533,1068010.533,1068010.533,1372683.6269999999,1074893.034,1074893.034,1378347.3229499997,1367948.3431499999,2033345.4384599999,3546532.7415,1006539.76854,1280129.43717,1204853.49,1204853.49,1204853.49,1204853.49,3231845.05556,3231845.05556 +28231200.0,1099998.645,967602.2309999999,2825398.5145199997,1342237.94144,1342237.94144,1342237.94144,1262194.388,2142086.99896,3760151.6531200004,1851062.3955599999,2820666.50752,1092896.625,1092896.625,1092896.625,1410001.6175,1099998.645,1099998.645,1397806.0384599997,1403159.7276,2085684.33584,3637821.5160000003,1032448.3921600002,1313080.33768,1232193.45,1232193.45,1232193.45,1232193.45,3307329.2593,3307329.2593 +28234800.0,1109799.732,977063.8469999998,2853026.4332399997,1354120.9495000003,1354120.9495000003,1354120.9495000003,1274371.6405,2166613.7199999997,3801731.8796800002,1869034.0624199999,2848051.90464,1105720.233,1105720.233,1105720.233,1425073.818,1109799.732,1109799.732,1407927.97639,1416539.8179,2105572.76636,3672510.639,1042293.49564,1325601.45922,1244057.544,1244057.544,1244057.544,1244057.544,3336797.86088,3336797.86088 +28238400.0,1118275.389,987804.54,2884389.2568,1350792.32849,1350792.32849,1350792.32849,1273515.9535,2186679.65048,3849806.46528,1882758.47844,2868965.3004799997,1119099.969,1119099.969,1119099.969,1438597.4364999998,1118275.389,1118275.389,1419221.54855,1428053.5791,2122687.0484399996,3702361.131,1050765.34956,1336376.06538,1255310.55,1255310.55,1255310.55,1255310.55,3362281.33626,3362281.33626 +28242000.0,1084786.941,898150.332,2622598.96944,1145507.00671,1145507.00671,1145507.00671,980585.3785,1838435.13608,2825504.62208,1570448.53392,2393064.4326400002,897028.746,897028.746,897028.746,1154452.236,1084786.941,1084786.941,1370574.7766099996,1148102.82495,1706562.71758,2976562.8795,844776.89342,1074397.45841,1103613.4109999998,1103613.4109999998,1103613.4109999998,1103613.4109999998,3261592.73594,3261592.73594 +28245600.0,484138.19700000004,338528.034,988501.85928,612638.7605800001,612638.7605800001,612638.7605800001,406750.96349999995,898213.94672,1158465.2012800002,741596.4080700001,1130051.66944,408907.88700000005,408907.88700000005,408907.88700000005,506946.08300000004,484138.19700000004,484138.19700000004,787920.1740799998,258773.1057,384645.45587999996,670893.237,190405.89012,242160.51126,604970.583,604970.583,604970.583,604970.583,1455642.17898,1455642.17898 +28249200.0,172226.196,121726.68,355441.9056,182604.8235,182604.8235,182604.8235,69368.691,358540.29423999996,862466.98944,330554.34699,503701.86208,239721.71400000004,239721.71400000004,239721.71400000004,134972.75400000002,172226.196,172226.196,254959.03316,105325.34895,156557.67918,273065.7195,77498.65182,98563.72161000001,185544.687,185544.687,185544.687,185544.687,517826.7626399999,517826.7626399999 +28252800.0,175876.227,155035.89,452704.79880000005,160119.30264000004,160119.30264000004,160119.30264000004,63526.7815,380945.75792,873272.7552,326012.22465,496780.5328,236247.00300000003,236247.00300000003,236247.00300000003,127919.52950000002,175876.227,175876.227,252214.34133999996,106192.59569999999,157846.77188,275314.137,78136.77412,99375.29326,182504.244,182504.244,182504.244,182504.244,528801.18918,528801.18918 +28256400.0,191302.35,185452.155,541520.2926,164711.82959,164711.82959,164711.82959,71881.8275,391848.8452,938990.97984,352132.47825000004,536582.8240000001,245413.24500000002,245413.24500000002,245413.24500000002,130287.78349999999,191302.35,191302.35,286665.91823999997,121838.80679999999,181103.60911999998,315878.388,89649.29488,114017.05623999999,218157.77699999997,218157.77699999997,218157.77699999997,218157.77699999997,575182.399,575182.399 +28260000.0,220517.09699999998,204670.821,597638.79732,175946.01860000004,175946.01860000004,175946.01860000004,81343.22700000001,412241.96751999995,986414.6041600001,403299.11222999997,614551.02816,336651.603,336651.603,336651.603,148940.03949999998,220517.09699999998,220517.09699999998,315226.43321,145837.19114999997,216775.28165999998,378096.4215,107307.36533999999,136474.80357,288453.348,288453.348,288453.348,288453.348,663021.4049799999,663021.4049799999 +28263600.0,278687.508,239918.26199999996,700561.3250399999,189118.41487,189118.41487,189118.41487,90288.68450000002,528837.8128,1038441.5020800001,472634.66543999995,720205.20448,420682.35599999997,420682.35599999997,420682.35599999997,265080.963,278687.508,278687.508,352427.68509,178853.09085,265850.76714,463693.19850000006,131600.54586,167371.16403,365662.03500000003,365662.03500000003,365662.03500000003,365662.03500000003,837920.44072,837920.44072 +28267200.0,356414.19,256602.05100000004,749277.98892,194738.86509,194738.86509,194738.86509,90299.909,653724.2272,1116972.47168,552485.79036,841883.10912,458324.58900000004,458324.58900000004,458324.58900000004,281498.64050000004,356414.19,356414.19,381348.92600999994,200110.24485,297447.82074,518804.33849999995,147241.61226,187263.66123,439576.55700000003,439576.55700000003,439576.55700000003,439576.55700000003,1071618.6646,1071618.6646 +28270800.0,441484.515,291378.42,850824.9863999999,215210.88776,215210.88776,215210.88776,107982.19949999999,747960.30096,1352475.67488,664089.94386,1011946.58112,502725.996,502725.996,502725.996,311081.463,441484.515,441484.515,409127.75826,280555.33005,417022.98442,727365.6705,206433.30458,262544.37059,518248.82999999996,518248.82999999996,518248.82999999996,518248.82999999996,1327396.7751,1327396.7751 +28274400.0,537596.103,356790.996,1041829.70832,319778.14583000005,319778.14583000005,319778.14583000005,201281.997,944049.3210400001,1627153.4387200004,815849.9880300001,1243199.9817600003,560267.2889999999,560267.2889999999,560267.2889999999,424844.868,537596.103,537596.103,445509.32360999996,347331.91229999997,516281.01531999995,900490.143,255567.67868,325034.06114,601813.917,601813.917,601813.917,601813.917,1616372.28302,1616372.28302 +28278000.0,1251576.6239999998,1232839.509,3599891.36628,1189159.62891,1189159.62891,1189159.62891,1106391.699,2045017.07104,2302601.3555199997,1710783.78303,2606908.6217600005,841584.033,841584.033,841584.033,1796809.9764999999,1251576.6239999998,1251576.6239999998,2416920.39693,749794.2552,1114508.99168,1943911.0320000001,551700.46432,701659.3153600001,1686936.531,1686936.531,1686936.531,1686936.531,3763073.71616,3763073.71616 +28281600.0,2268209.535,2024022.516,5910145.74672,2877532.46231,2877532.46231,2877532.46231,2038971.0984999998,3410678.21912,3942197.4560000002,3321251.02113,5060953.93696,1413789.687,1413789.687,1413789.687,2245379.885,2268209.535,2268209.535,3571041.4505999996,1761509.9322,2618343.1584799998,4566877.602,1296123.3575199998,1648425.34396,2417633.304,2417633.304,2417633.304,2417633.304,6819750.0019,6819750.0019 +28285200.0,2619834.147,2579968.7369999997,7533508.712039999,3194873.9276300003,3194873.9276300003,3194873.9276300003,2647740.83,4440708.616239999,10136139.448320001,3528982.69437,5377497.439040001,2693503.356,2693503.356,2693503.356,2722454.2975,2619834.147,2619834.147,2706450.55954,3538661.499,5259936.3516,9174307.59,2603755.8684,3311488.1681999997,2342418.471,2342418.471,2342418.471,2342418.471,7876968.001979999,7876968.001979999 +28288800.0,1941913.941,1691372.082,4938806.47944,2321254.81753,2321254.81753,2321254.81753,2913239.8609999996,3700435.4664000003,7100053.35104,3629535.4311300004,5530720.65696,2663325.186,2663325.186,2663325.186,2985552.801,1941913.941,1941913.941,2092724.72786,3514848.3333,5224539.99172,9112569.753,2586234.08228,3289203.7489400003,2054329.1490000002,2054329.1490000002,2054329.1490000002,2054329.1490000002,5838687.91594,5838687.91594 +28292400.0,1427027.343,1205348.4510000001,3519617.4769200003,2063905.27838,2063905.27838,2063905.27838,2655894.71,3563417.6608800003,7460715.43936,3009592.57116,4586045.82272,1285760.625,1285760.625,1285760.625,2433932.9875000003,1427027.343,1427027.343,1429454.83798,2743184.74635,4077523.99334,7111960.453500001,2018442.10966,2567079.0589300003,1708111.5389999999,1708111.5389999999,1708111.5389999999,1708111.5389999999,4290595.54462,4290595.54462 +28296000.0,1144429.746,956703.8489999999,2793575.2390799997,1545759.79734,1545759.79734,1545759.79734,1666759.703,2952017.9109599995,3960709.71072,2165980.96029,3300542.41568,1124093.9279999998,1124093.9279999998,1124093.9279999998,1736918.9250000003,1144429.746,1144429.746,1155128.8063899998,1641926.5461,2440592.05124,4256846.601,1208133.6067599999,1536518.91598,1218043.6860000002,1218043.6860000002,1218043.6860000002,1218043.6860000002,3440918.7696399996,3440918.7696399996 +28299600.0,824858.976,683398.8960000001,1995524.77632,787767.82436,787767.82436,787767.82436,986091.085,1920444.3639200001,2394437.31392,1455023.0534700002,2217177.9862400005,746284.737,746284.737,746284.737,1024090.7529999998,824858.976,824858.976,795095.43386,985137.8193,1464328.31412,2554061.0130000003,724866.8398800001,921894.4037400001,879113.397,879113.397,879113.397,879113.397,2480075.98784,2480075.98784 +28303200.0,733865.172,602982.915,1760710.1118,661522.27295,661522.27295,661522.27295,781469.703,1430180.2825600002,2248623.0860800003,1192065.57078,1816480.86976,672368.28,672368.28,672368.28,926875.6245,733865.172,733865.172,705426.07187,847114.56045,1259167.81578,2196222.9345,623308.98522,792731.89731,773595.09,773595.09,773595.09,773595.09,2206487.95048,2206487.95048 +28306800.0,1001093.4239999999,884399.5829999999,2582446.7823599996,1125483.40036,1125483.40036,1125483.40036,1085441.2905,1944373.3551199997,3426112.01088,1671509.89866,2547062.70272,985654.959,985654.959,985654.959,1268283.6635,1001093.4239999999,1001093.4239999999,1247034.7558499998,1260155.8232999998,1873120.5077199996,3267070.6529999995,927225.7662799999,1179256.9309399999,1114980.2880000002,1114980.2880000002,1114980.2880000002,1114980.2880000002,3009954.2281599995,3009954.2281599995 +28310400.0,1086736.7489999998,970312.14,2833311.4488,1254071.4199200002,1254071.4199200002,1254071.4199200002,1189309.6879999998,2121747.9492,3795416.2790400004,1825488.66129,2781697.00768,1091682.729,1091682.729,1091682.729,1394844.9655,1086736.7489999998,1086736.7489999998,1386419.0561,1387581.90075,2062529.1463,3597434.5575,1020986.1887,1298502.56885,1220635.0890000002,1220635.0890000002,1220635.0890000002,1220635.0890000002,3267455.1586599997,3267455.1586599997 +28314000.0,1153238.466,1031028.5700000001,3010603.4244,1352908.64302,1352908.64302,1352908.64302,1284875.515,2279844.896,4064035.0905600004,1946197.6932299999,2965634.58016,1173229.284,1173229.284,1173229.284,1493458.1130000001,1153238.466,1153238.466,1463578.0794699998,1482562.87335,2203710.74014,3843681.5235,1090873.42286,1387385.99753,1300369.32,1300369.32,1300369.32,1300369.32,3467403.6544399997,3467403.6544399997 +28317600.0,1180694.205,1048911.681,3062822.1085200002,1430680.7182800001,1430680.7182800001,1430680.7182800001,1354912.3244999999,2348785.20248,4139505.64672,2001516.56229,3049929.9996800004,1200260.3099999998,1200260.3099999998,1200260.3099999998,1533756.9345,1180694.205,1180694.205,1486640.9376,1520675.0014499999,2260361.36018,3942490.7445,1118916.42082,1423051.42111,1330466.007,1330466.007,1330466.007,1330466.007,3549953.9096999997,3549953.9096999997 +28321200.0,1180920.132,1048816.806,3062545.07352,1431721.6533400002,1431721.6533400002,1431721.6533400002,1355866.659,2349374.5927999998,4136858.597120001,2002164.57441,3050917.44672,1199809.746,1199809.746,1199809.746,1532895.189,1180920.132,1180920.132,1486212.35698,1519897.7781,2259206.08004,3940475.721,1118344.53796,1422324.09358,1330359.63,1330359.63,1330359.63,1330359.63,3550633.1968799997,3550633.1968799997 +28324800.0,1162838.7510000002,1033491.429,3017794.9726799997,1398579.4032100001,1398579.4032100001,1398579.4032100001,1324395.9155,2305551.26784,4066637.6192000005,1968338.7513299999,2999373.33536,1178069.544,1178069.544,1178069.544,1503658.723,1162838.7510000002,1162838.7510000002,1466713.2518999998,1492930.4804999998,2219121.3562,3870560.505,1098501.9338,1397088.0299,1308694.599,1308694.599,1308694.599,1308694.599,3496268.51134,3496268.51134 +28328400.0,1122646.296,931278.459,2719333.10028,1186503.24166,1186503.24166,1186503.24166,1012643.065,1931469.0867199998,2962763.7644800004,1635426.2727599998,2492078.12992,938764.089,938764.089,938764.089,1198801.226,1122646.296,1122646.296,1410758.4208900002,1191538.836,1771126.8623999998,3089174.76,876737.2176,1115044.9848,1144056.732,1144056.732,1144056.732,1144056.732,3375423.19664,3375423.19664 +28332000.0,475416.92400000006,331581.696,968218.55232,610349.4954700001,610349.4954700001,610349.4954700001,397612.915,887623.1359199998,1130564.76864,730954.4980499999,1113835.4256,403920.846,403920.846,403920.846,490689.13249999995,475416.92400000006,475416.92400000006,767679.1649799999,253015.26525,376086.8881,655965.5025,186169.2569,236772.30995,590510.403,590510.403,590510.403,590510.403,1429420.2181600002,1429420.2181600002 +28335600.0,169892.166,119175.23700000002,347991.69204000005,182797.45253,182797.45253,182797.45253,68621.3185,355558.19168,838930.69888,326893.6755,498123.69600000005,236269.49099999998,236269.49099999998,236269.49099999998,131831.154,169892.166,169892.166,249867.75397999998,103128.88005,153292.80442,267371.1705,75882.48458,96508.26059,182623.66199999998,182623.66199999998,182623.66199999998,182623.66199999998,510809.11244,510809.11244 +28339200.0,171402.59399999998,158041.13999999998,461480.12879999995,158766.78059000004,158766.78059000004,158766.78059000004,61972.59249999999,374005.71216000005,843996.2745600002,318515.316,485356.672,229976.17799999999,229976.17799999999,229976.17799999999,123480.61950000002,171402.59399999998,171402.59399999998,244792.08325,101594.9142,151012.68727999998,263394.222,74753.78872,95072.77156000001,177916.785,177916.785,177916.785,177916.785,515350.46595999994,515350.46595999994 +28342800.0,182775.18000000002,176564.916,515569.55472,158882.60465,158882.60465,158882.60465,66644.438,374915.37976000004,882109.6217600001,334212.56966999994,509276.29663999996,232621.785,232621.785,232621.785,122786.52399999998,182775.18000000002,182775.18000000002,269408.6772,114124.13190000001,169636.36396000002,295877.379,83972.81804000001,106797.64442000001,205463.124,205463.124,205463.124,205463.124,549544.0412,549544.0412 +28346400.0,201228.435,187086.282,546291.94344,165327.5921,165327.5921,165327.5921,73710.2555,377793.32008,898607.66208,371455.66121999995,566027.67424,296921.65499999997,296921.65499999997,296921.65499999997,131254.87550000002,201228.435,201228.435,287470.53984999994,129509.47439999998,192505.44095999998,335765.30399999995,95293.39103999999,121195.28592,259794.663,259794.663,259794.663,259794.663,605026.8279,605026.8279 +28350000.0,233536.75499999998,205566.27,600253.5083999999,168353.87316000002,168353.87316000002,168353.87316000002,80164.35699999999,423087.37311999995,890976.3430400001,400120.5326999999,609707.4783999999,346584.804,346584.804,346584.804,207515.96600000001,233536.75499999998,233536.75499999998,307316.84035,152124.35445,226120.64538,394396.4745,111933.47562000001,142358.34651,302710.455,302710.455,302710.455,302710.455,702167.1766999998,702167.1766999998 +28353600.0,299956.02,223393.113,652307.88996,174610.19576,174610.19576,174610.19576,81527.1835,540667.5620800001,932276.09408,470286.16005,716626.5296,389632.94100000005,389632.94100000005,389632.94100000005,243163.5745,299956.02,299956.02,326595.13756999996,168868.54485,251009.54074000003,437807.33850000007,124253.89226000002,158027.60123000003,365887.209,365887.209,365887.209,365887.209,901867.7668000001,901867.7668000001 +28357200.0,353697.51300000004,236420.92500000002,690349.101,188726.07908000002,188726.07908000002,188726.07908000002,91012.3585,595663.49032,1116230.0204800002,533774.44281,813370.57952,412517.63100000005,412517.63100000005,412517.63100000005,258349.952,353697.51300000004,353697.51300000004,353734.13881000003,200232.52649999998,297629.58259999997,519121.365,147331.5874,187378.09269999998,414509.86199999996,414509.86199999996,414509.86199999996,414509.86199999996,1063450.52242,1063450.52242 +28360800.0,526689.429,280429.44899999996,818853.99108,292231.73463,292231.73463,292231.73463,177064.4505,1112522.9608800001,1232152.62336,813434.1427799999,1239518.69376,458068.09799999994,458068.09799999994,458068.09799999994,398032.58599999995,526689.429,526689.429,557669.2884099999,297341.59995,441974.42758,770885.6295,218784.68342000002,278253.00341,543570.168,543570.168,543570.168,543570.168,1583579.54986,1583579.54986 +28364400.0,1260057.519,626269.9890000001,1828708.36788,1701942.8971600002,1701942.8971600002,1701942.8971600002,1493929.8185,3463389.3758399994,4230428.14208,2993990.56992,4562271.344640001,1239922.851,1239922.851,1239922.851,1826353.879,1260057.519,1260057.519,2659095.28703,1661086.4724,2469071.74416,4306520.484,1222231.52784,1554448.82232,1543403.1030000001,1543403.1030000001,1543403.1030000001,1543403.1030000001,3788572.9404599997,3788572.9404599997 +28368000.0,1151844.492,1236907.7880000002,3611770.74096,2258229.35349,2258229.35349,2258229.35349,1995678.9790000003,4264858.869519999,3383503.62432,3368048.0507099996,5132263.696319999,1350247.494,1350247.494,1350247.494,1863780.5025,1151844.492,1151844.492,2260592.86687,2199085.7021999997,3268764.4264799994,5701333.301999999,1618092.6895199998,2057909.8299599998,1605955.1730000002,1605955.1730000002,1605955.1730000002,1605955.1730000002,3463212.4392799996,3463212.4392799996 +28371600.0,2120410.392,2298772.074,6712414.45608,1816886.90513,1816886.90513,1816886.90513,2520532.4760000003,4596220.83744,7515900.485760001,3799950.26838,5790400.408960001,2005122.5010000002,2005122.5010000002,2005122.5010000002,1701248.6715,2120410.392,2120410.392,3064748.1810399997,2052494.59545,3050868.5097799995,5321282.2845,1510230.59122,1920729.51031,2380336.521,2380336.521,2380336.521,2380336.521,6375367.24528,6375367.24528 +28375200.0,1601246.8139999998,1287048.426,3758181.40392,826762.7589100001,826762.7589100001,826762.7589100001,1015945.5705,2469932.1597599997,7424948.6144,1614161.84517,2459675.19264,1554866.1209999998,1554866.1209999998,1554866.1209999998,1599560.3225000002,1601246.8139999998,1601246.8139999998,2738592.4754500003,2360008.6857,3507963.52788,6118541.0370000005,1736500.21812,2208501.95526,1136640.03,1136640.03,1136640.03,1136640.03,4814415.420759999,4814415.420759999 +28378800.0,822085.7760000001,801428.2410000002,2340170.4637200003,476654.75737000006,476654.75737000006,476654.75737000006,637270.928,1655425.72456,4434917.7856,1041327.7816199999,1586785.19104,676638.015,676638.015,676638.015,668802.064,822085.7760000001,822085.7760000001,949067.7137499999,1228027.11255,1825363.75742,3183773.9955,903585.3815799999,1149190.80409,666823.497,666823.497,666823.497,666823.497,2471737.89984,2471737.89984 +28382400.0,822766.209,1222131.747,3568624.70124,696802.2010400001,696802.2010400001,696802.2010400001,962825.9585,1731899.29232,2805305.9891200005,1372064.54322,2090765.0182400004,718529.7930000001,718529.7930000001,718529.7930000001,1076855.8569999998,822766.209,822766.209,975941.9293,861032.1303,1279855.16652,2232305.523,633549.5674800001,805755.99354,804896.682,804896.682,804896.682,804896.682,2473783.73506,2473783.73506 +28386000.0,592321.2180000001,660856.005,1929699.5346,447678.12782000005,447678.12782000005,447678.12782000005,841441.244,1182965.60152,1746932.9036800002,848565.19125,1293051.72,498689.2139999999,498689.2139999999,498689.2139999999,626817.779,592321.2180000001,592321.2180000001,630427.5562,585382.0347,870123.4194799999,1517657.127,430725.54652000003,547801.95346,518882.09099999996,518882.09099999996,518882.09099999996,518882.09099999996,1780912.46212,1780912.46212 +28389600.0,340286.256,255040.962,744719.6090399999,97041.71818000001,97041.71818000001,97041.71818000001,259270.71450000003,710157.99848,878480.32576,438431.66283,668086.3433599999,270365.844,270365.844,270365.844,210968.919,340286.256,340286.256,354879.03424999997,265176.5769,394163.70196,687494.8289999999,195117.58004,248152.89542,277547.55899999995,277547.55899999995,277547.55899999995,277547.55899999995,1023127.3430399998,1023127.3430399998 +28393200.0,899587.3800000001,1086405.018,3172302.65256,1343428.8437899998,1343428.8437899998,1343428.8437899998,1344398.9300000002,2025076.4961599999,2599214.4505600003,1613442.62919,2458579.24448,791472.9060000001,791472.9060000001,791472.9060000001,1333094.581,899587.3800000001,899587.3800000001,1310745.4425,1237679.2467,1839710.88028,3208798.0470000003,910687.4457200001,1158223.2950600001,905058.8910000001,905058.8910000001,905058.8910000001,905058.8910000001,2704759.3892,2704759.3892 +28396800.0,934485.339,1331011.662,3886554.05304,1608445.75419,1608445.75419,1608445.75419,1189763.8584999999,2439737.01792,3177734.72128,1807385.8212900003,2754111.7276800005,1019558.6309999999,1019558.6309999999,1019558.6309999999,1596776.419,934485.339,934485.339,1611012.5448299998,1361062.8207,2023110.66188,3528681.387,1001473.3841200001,1273685.9482600002,1120253.841,1120253.841,1120253.841,1120253.841,2809685.91926,2809685.91926 +28400400.0,902118.846,1279804.998,3737030.59416,1118104.66537,1118104.66537,1118104.66537,1084655.5019999999,2425723.1086399998,3288836.4614400007,1619308.36956,2467517.5155200004,912105.1230000001,912105.1230000001,912105.1230000001,1323078.1130000001,902118.846,902118.846,1312228.97637,1196908.18425,1779107.9677,3103095.2925,880687.9973,1120069.63415,1105312.1099999999,1105312.1099999999,1105312.1099999999,1105312.1099999999,2712370.66364,2712370.66364 +28404000.0,2221362.18,1816517.7510000002,5304231.83292,3516292.97536,3516292.97536,3516292.97536,2900253.671,3505321.93072,6699527.25824,3728359.33218,5681309.45856,2329009.083,2329009.083,2329009.083,2990215.011,2221362.18,2221362.18,3806772.4414199996,2846767.8419999997,4231491.9528,7380509.22,2094658.8072,2664012.3756,2477274.897,2477274.897,2477274.897,2477274.897,6678895.6212,6678895.6212 +28407600.0,1637929.71,924332.331,2699050.4065199997,2127248.4384800005,2127248.4384800005,2127248.4384800005,1740608.555,2619964.32936,4476805.872640001,2407193.57046,3668104.48832,1588602.4589999998,1588602.4589999998,1588602.4589999998,1924268.6715,1637929.71,1637929.71,1430999.17506,1851342.4233,2751871.94772,4799776.653,1362222.32628,1732490.81094,1735978.5389999999,1735978.5389999999,1735978.5389999999,1735978.5389999999,4924708.6614,4924708.6614 +28411200.0,1212006.696,889731.51,2598016.0091999997,1279495.4522900002,1279495.4522900002,1279495.4522900002,1305343.3715000001,2010183.60848,3707702.6329600005,1768678.96926,2695129.85792,1067990.907,1067990.907,1067990.907,1444519.7025,1212006.696,1212006.696,1285201.4180199997,1412907.88725,2100174.1929,3663094.5225,1039621.1121,1322202.68955,1233360.6779999998,1233360.6779999998,1233360.6779999998,1233360.6779999998,3644100.13264,3644100.13264 +28414800.0,1064013.318,901243.08,2631629.7936,1231838.1006800001,1231838.1006800001,1231838.1006800001,1209064.7345,1952941.21328,3653321.5750400005,1714017.29898,2611835.88416,1054290.582,1054290.582,1054290.582,1397508.497,1064013.318,1064013.318,1302023.4069700001,1371843.3739499997,2039135.0891799997,3556630.9694999997,1009405.7418199999,1283774.41661,1197382.473,1197382.473,1197382.473,1197382.473,3199133.37612,3199133.37612 +28418400.0,753789.5219999999,645040.056,1883516.9635199998,800834.9704300001,800834.9704300001,800834.9704300001,661293.71,1016132.5578399998,2254625.9193600006,991409.01678,1510718.5017600001,567544.3829999999,567544.3829999999,567544.3829999999,700866.1835,753789.5219999999,753789.5219999999,922963.6080599999,644668.21485,958247.5687399999,1671362.0385,474348.46426,603282.10723,761021.064,761021.064,761021.064,761021.064,2266393.82948,2266393.82948 +28422000.0,128137.53,111896.29799999998,326737.19015999994,153267.09541,153267.09541,153267.09541,66457.104,209447.1908,785142.6444800001,242116.31283,368939.14336000005,187099.134,187099.134,187099.134,119637.38850000002,128137.53,128137.53,234922.88196,92452.3713,137423.03092,239691.33299999998,68026.68308,86517.15733999999,161602.14899999998,161602.14899999998,161602.14899999998,161602.14899999998,385266.8402,385266.8402 +28425600.0,127172.535,109061.706,318460.18152,129862.00689,129862.00689,129862.00689,45114.727,219074.27895999997,766250.18816,260509.03977,396966.15584,180776.505,180776.505,180776.505,113037.75699999998,127172.535,127172.535,229068.11628999998,85130.0604,126539.00335999999,220707.564,62638.90864,79664.92072,160263.96300000002,160263.96300000002,160263.96300000002,160263.96300000002,382365.4219,382365.4219 +28429200.0,138187.713,125717.58600000001,367095.35112,125536.15041,125536.15041,125536.15041,50465.744,244682.62055999995,770399.33056,270950.78010000003,412877.3792,180375.228,180375.228,180375.228,112385.54250000001,138187.713,138187.713,243794.77304,87641.89875,130272.64949999998,227219.7375,64487.125499999995,82015.50525,165462.18,165462.18,165462.18,165462.18,415484.39041999995,415484.39041999995 +28432800.0,153492.081,136408.443,398312.65356,121144.39249,121144.39249,121144.39249,52501.988000000005,288077.29536,766829.1456,306779.07771000004,467472.88032000005,182282.72100000002,182282.72100000002,182282.72100000002,111317.766,153492.081,153492.081,259812.74643999996,104528.14695000001,155372.70238,270998.8995,76912.06862,97817.69801000001,180690.21,180690.21,180690.21,180690.21,461499.52354,461499.52354 +28436400.0,189115.05000000002,150636.234,439857.80328,132073.54314000002,132073.54314000002,132073.54314000002,72548.26950000001,334149.77952,767202.93888,332923.75662,507312.39104,217248.45299999998,217248.45299999998,217248.45299999998,139993.021,189115.05000000002,189115.05000000002,266334.03862,123423.68925,183459.4097,319987.3425,90815.4553,115500.19315,241133.565,241133.565,241133.565,241133.565,568605.917,568605.917 +28440000.0,223166.109,159567.50400000002,465937.11168000003,139837.94726000002,139837.94726000002,139837.94726000002,75226.5955,393222.7928,773350.4979200001,375866.04531,572748.2595200001,307812.711,307812.711,307812.711,209744.87099999998,223166.109,223166.109,285213.42811,137500.7724,204383.86415999997,356483.484,101173.40783999999,128673.56232,274544.811,274544.811,274544.811,274544.811,670986.1010599999,670986.1010599999 +28443600.0,268136.16000000003,193054.80899999998,563720.0422799999,165699.06914,165699.06914,165699.06914,82512.6225,471173.62360000005,786172.76288,426146.19558,649365.63136,342889.017,342889.017,342889.017,221689.986,268136.16000000003,268136.16000000003,307524.62753999996,154482.50339999996,229625.84455999994,400510.19399999996,113668.60743999998,144565.10812,330597.939,330597.939,330597.939,330597.939,806196.0544,806196.0544 +28447200.0,437574.42899999995,240305.77500000002,701692.863,267431.84489999997,267431.84489999997,267431.84489999997,160628.25449999998,969529.5505599998,978070.928,685236.2006699999,1044169.44864,389061.345,389061.345,389061.345,349053.22900000005,437574.42899999995,437574.42899999995,516746.14991999994,215580.61304999999,320443.28161999997,558912.7004999999,158624.74738,201740.86998999998,458614.173,458614.173,458614.173,458614.173,1315640.4498599998,1315640.4498599998 +28450800.0,1172034.8399999999,532093.896,1553714.1763199999,1601570.3642400003,1601570.3642400003,1601570.3642400003,1412347.1530000002,3268862.05936,3675175.40416,2795369.4648599997,4259610.61312,1050054.2489999998,1050054.2489999998,1050054.2489999998,1531382.8285,1172034.8399999999,1172034.8399999999,2494175.77903,1451606.09895,2157695.97918,3763423.2195,1068095.35182,1358416.57161,1431579.51,1431579.51,1431579.51,1431579.51,3523918.0855999994,3523918.0855999994 +28454400.0,1044584.346,1124855.628,3284578.43376,1949571.0947900002,1949571.0947900002,1949571.0947900002,1876803.0505,4026508.8704799996,3034743.8752000006,3123219.7411800004,4759191.98656,1260544.341,1260544.341,1260544.341,1649063.311,1044584.346,1044584.346,2154278.9712599996,2078370.3573,3089330.75332,5388367.593,1529270.04068,1944944.11214,1493398.419,1493398.419,1493398.419,1493398.419,3140716.93364,3140716.93364 +28458000.0,2023559.5409999997,2196364.371,6413383.963319999,1566799.8739800001,1566799.8739800001,1566799.8739800001,2024541.6624999999,4238501.74064,7133453.047040001,3519537.34923,5363104.53216,1888329.7110000001,1888329.7110000001,1888329.7110000001,1528664.1894999999,2023559.5409999997,2023559.5409999997,2363609.33432,1765388.2810499999,2624108.01282,4576932.5805,1298977.05618,1652054.71239,2262669.501,2262669.501,2262669.501,2262669.501,6084169.019939999,6084169.019939999 +28461600.0,1418111.0219999999,1089719.793,3181981.7955600005,710448.9802300001,710448.9802300001,710448.9802300001,844467.463,2101332.57064,6742697.607679999,1288566.57993,1963530.0265600001,1375824.156,1375824.156,1375824.156,1419037.928,1418111.0219999999,1418111.0219999999,1998328.6029199997,2182762.5255000005,3244501.3342000004,5659013.955000001,1606082.0558000002,2042634.5609000004,972363.378,972363.378,972363.378,972363.378,4263787.139479999,4263787.139479999 +28465200.0,716253.924,655144.197,1913021.05524,385775.78028,385775.78028,385775.78028,521103.2925,1310745.1110399999,3299391.4323200006,860779.98594,1311664.7404800002,541947.822,541947.822,541947.822,534108.7045000001,716253.924,716253.924,742824.44236,942856.3781999999,1401480.3448799998,2444442.462,693756.05112,882327.32676,554086.422,554086.422,554086.422,554086.422,2153536.79816,2153536.79816 +28468800.0,730070.841,1122061.797,3276420.4472399997,624127.84555,624127.84555,624127.84555,887188.7464999999,1565961.7484,2501482.85952,1240952.9712299998,1890975.9561599998,633058.176,633058.176,633058.176,996947.686,730070.841,730070.841,868691.9355399999,767789.8672499999,1141258.0248999998,1990566.3225,564941.6801,718499.65355,717748.7429999999,717748.7429999999,717748.7429999999,717748.7429999999,2195079.6619399996,2195079.6619399996 +28472400.0,569198.112,596446.2239999999,1741622.9740799998,460411.9938,460411.9938,460411.9938,818413.939,1150871.0288799999,1732552.04608,844198.34961,1286397.48512,491515.40699999995,491515.40699999995,491515.40699999995,571384.9049999999,569198.112,569198.112,635489.8118399999,580529.6568,862910.74912,1505076.8880000003,427155.15488000005,543261.0862400001,516157.152,516157.152,516157.152,516157.152,1711388.99008,1711388.99008 +28476000.0,484650.228,417414.981,1218851.7445200002,244281.69304,244281.69304,244281.69304,440762.38850000006,1012538.5634399999,1543054.3027200003,713882.62155,1087821.1376,439551.078,439551.078,439551.078,372283.90849999996,484650.228,484650.228,559037.3005099999,495081.29474999994,735898.6159,1283544.0975,364282.0391,463298.29805,454510.755,454510.755,454510.755,454510.755,1457181.6855199998,1457181.6855199998 +28479600.0,871090.122,1016099.1479999998,2967009.5121599995,1411101.5193000003,1411101.5193000003,1411101.5193000003,1312406.1825,1926398.3782399998,2536813.04832,1598109.5671800002,2435214.5785600003,774810.2760000001,774810.2760000001,774810.2760000001,1328664.4315,871090.122,871090.122,1391905.0150199998,1217238.6213,1809327.5309199998,3155803.8329999996,895647.18308,1139094.90734,888792.897,888792.897,888792.897,888792.897,2619077.63348,2619077.63348 +28483200.0,854583.5459999999,1244940.018,3635224.85256,1520464.66187,1520464.66187,1520464.66187,1093947.0115,2200331.91776,2879517.3267200007,1644263.49675,2505544.376,936683.499,936683.499,936683.499,1528060.7264999999,854583.5459999999,854583.5459999999,1512860.6083499996,1262208.4078499998,1876171.5099399998,3272392.1685,928736.06306,1181177.74463,1032511.416,1032511.416,1032511.416,1032511.416,2569447.86164,2569447.86164 +28486800.0,780848.145,1126242.2999999998,3288627.516,1011970.43288,1011970.43288,1011970.43288,940930.6375000001,2134138.75312,2833290.15424,1408656.7584600002,2146524.5843200004,783790.7819999999,783790.7819999999,783790.7819999999,1177452.9795,780848.145,780848.145,1161197.0061899999,1041528.3020999999,1548148.24164,2700258.5609999998,766359.09636,974664.7567799999,960243.3450000002,960243.3450000002,960243.3450000002,960243.3450000002,2347750.0892999996,2347750.0892999996 +28490400.0,2132563.164,1726483.074,5041330.57608,3430020.4893900002,3430020.4893900002,3430020.4893900002,2798457.0880000005,3292264.8665600005,6269578.92544,3583376.97585,5460383.9632,2232807.141,2232807.141,2232807.141,2874519.522,2132563.164,2132563.164,3679021.7177999998,2696435.1427499996,4008034.4590999996,6990757.7775,1984043.6358999999,2523330.66445,2365873.764,2365873.764,2365873.764,2365873.764,6411906.57976,6411906.57976 +28494000.0,1514191.815,826032.7589999998,2412015.6562799998,1936228.1004000003,1936228.1004000003,1936228.1004000003,1608660.6095000003,2368482.68736,3905343.3708800003,2156148.06078,3285558.9497599998,1417166.631,1417166.631,1417166.631,1645616.287,1514191.815,1514191.815,1252491.03226,1646333.262,2447142.2808,4268271.42,1211376.0792,1540642.7316,1560200.793,1560200.793,1560200.793,1560200.793,4552670.0571,4552670.0571 +28497600.0,1072622.559,780812.7869999999,2279973.33804,1126930.7005000003,1126930.7005000003,1126930.7005000003,1119025.8975,1740360.49456,3132320.36096,1538753.5909199999,2344767.37664,923456.691,923456.691,923456.691,1241910.6175,1072622.559,1072622.559,1133826.0859899998,1218459.7206,1811142.5970399997,3158969.6459999997,896545.6709599999,1140237.61508,1066446.381,1066446.381,1066446.381,1066446.381,3225018.49406,3225018.49406 +28501200.0,928067.376,779076.4349999999,2274903.1902,1082631.15587,1082631.15587,1082631.15587,1046913.3675000002,1682059.01536,3092879.4470400005,1489576.4049600002,2269830.7123200004,902087.082,902087.082,902087.082,1189775.0655,928067.376,928067.376,1125821.25513,1179811.35225,1753694.8989,3058770.1725,868108.1061,1104070.37655,1033630.485,1033630.485,1033630.485,1033630.485,2790389.24384,2790389.24384 +28504800.0,663139.1880000001,550548.279,1607600.97468,709258.58256,709258.58256,709258.58256,582133.7445,856184.8391199999,1900976.63296,845465.19582,1288327.91744,482873.39100000006,482873.39100000006,482873.39100000006,602524.8424999999,663139.1880000001,663139.1880000001,786934.0807899999,553136.5745999999,822193.13064,1434057.786,406999.25736,517626.57228,661148.775,661148.775,661148.775,661148.775,1993838.49192,1993838.49192 +28508400.0,110462.93399999998,95296.497,278265.77124000003,114946.70231000001,114946.70231000001,114946.70231000001,61127.237499999996,165620.65968,646065.09504,197952.15005999999,301641.37152,156370.956,156370.956,156370.956,102273.52799999999,110462.93399999998,110462.93399999998,185294.18219,78029.64494999999,115984.80557999999,202299.0795,57414.405419999996,73020.33441,134682.048,134682.048,134682.048,134682.048,332125.2215599999,332125.2215599999 +28512000.0,105808.215,93335.583,272539.90236,93366.06455,93366.06455,93366.06455,40099.857,179825.82312,637521.6185600001,193228.75782000003,294443.82144,152544.693,152544.693,152544.693,95572.48049999999,105808.215,105808.215,194492.92719999995,70373.3103,104604.27851999999,182449.323,51780.85548,65855.51754,131864.802,131864.802,131864.802,131864.802,318130.0331,318130.0331 +28515600.0,110537.17500000002,97324.554,284187.69768000004,103480.74308,103480.74308,103480.74308,36429.28799999999,189280.93496,631321.3241600001,217233.22509,331022.05728,150681.741,150681.741,150681.741,94963.57849999999,110537.17500000002,110537.17500000002,193957.15573,68721.5178,102149.02152000001,178166.89800000002,50565.46248,64309.76604000001,134736.17699999997,134736.17699999997,134736.17699999997,134736.17699999997,332348.43950000004,332348.43950000004 +28519200.0,119648.37899999999,111346.734,325132.46328,98472.08712,98472.08712,98472.08712,41504.3755,188466.44767999998,628741.8720000001,228381.12108,348009.32736000005,148901.01,148901.01,148901.01,92616.286,119648.37899999999,119648.37899999999,212215.64637,77391.62414999999,115036.43885999998,200644.95149999997,56944.94813999999,72423.27296999999,138085.377,138085.377,138085.377,138085.377,359742.79286,359742.79286 +28522800.0,126724.95599999998,118769.022,346805.54423999996,100230.80331,100230.80331,100230.80331,47379.549,197900.04496,639158.3296,254211.00474,387369.15008,151440.675,151440.675,151440.675,95987.829,126724.95599999998,126724.95599999998,219161.33927999996,86169.03929999999,128083.36211999998,223401.21299999996,63403.39187999999,80637.19973999998,150751.119,150751.119,150751.119,150751.119,381019.70103999996,381019.70103999996 +28526400.0,150772.467,129232.29000000001,377358.2868,112663.31021000001,112663.31021000001,112663.31021000001,63904.568,215586.42655999996,649719.9264,282560.67525000003,430568.64800000004,167470.851,167470.851,167470.851,113957.70049999999,150772.467,150772.467,226675.03547,102968.13554999999,153053.87062,266954.4255,75764.20838,96357.83549,194423.44800000003,194423.44800000003,194423.44800000003,194423.44800000003,453322.55078,453322.55078 +28530000.0,186232.989,136633.764,398970.59088,125457.98199000001,125457.98199000001,125457.98199000001,72602.52299999999,290673.70096,653705.30304,311917.95138,475303.54496,236325.33000000002,236325.33000000002,236325.33000000002,174577.76,186232.989,186232.989,239928.54794999998,118258.89435,175782.35654,306597.13350000005,87015.18646000001,110666.96533,225322.12800000003,225322.12800000003,225322.12800000003,225322.12800000003,559940.52026,559940.52026 +28533600.0,326559.59400000004,178685.679,521762.18267999997,232502.07519000003,232502.07519000003,232502.07519000003,151130.5705,801033.7537600001,708974.5171200001,540779.17446,824044.4563200001,288803.58,288803.58,288803.58,301509.131,326559.59400000004,326559.59400000004,462922.89927,175531.47525,260913.45209999997,455081.6025,129156.49289999998,164262.78795,342981.657,342981.657,342981.657,342981.657,981855.84596,981855.84596 +28537200.0,1057562.1300000001,451196.529,1317493.8646799999,1499775.8587900002,1499775.8587900002,1499775.8587900002,1259055.6545,3081823.1062399996,2958239.55584,2513487.44325,3830076.104,888199.8360000001,888199.8360000001,888199.8360000001,1245800.0274999999,1057562.1300000001,1057562.1300000001,2313749.41785,1242179.24625,1846399.7685000002,3220464.7125000004,913998.5565000002,1162434.4057500002,1286493.078,1286493.078,1286493.078,1286493.078,3179736.8042,3179736.8042 +28540800.0,921327.2849999999,1071237.5729999999,3128013.71316,1681246.5198100002,1681246.5198100002,1681246.5198100002,1734521.8345,3737587.7943999995,2741131.10336,2846020.9117199997,4336793.77024,1153374.6749999998,1153374.6749999998,1153374.6749999998,1432044.0785,921327.2849999999,921327.2849999999,2064769.9025199998,1903825.1785499998,2829883.3518199995,4935843.0555,1400839.26718,1781604.30289,1361838.789,1361838.789,1361838.789,1361838.789,2770124.0368999997,2770124.0368999997 +28544400.0,1923006.09,1963274.943,5732762.83356,1340727.78829,1340727.78829,1340727.78829,1641424.4035,3879794.55088,6502540.95232,3228475.28472,4919581.38624,1770766.845,1770766.845,1770766.845,1325668.5925,1923006.09,1923006.09,1936419.2083599998,1517509.1488499998,2255655.57434,3934282.9784999997,1116586.9786599998,1420088.80843,2152139.415,2152139.415,2152139.415,2152139.415,5781838.3106,5781838.3106 +28548000.0,1260956.307,949227.03,2771742.9276,606751.76606,606751.76606,606751.76606,658016.303,1714821.2810399998,6226227.978879999,1010754.63027,1540197.5318399998,1214893.023,1214893.023,1214893.023,1276672.1099999999,1260956.307,1260956.307,1702304.9691699997,2013993.1529999997,2993639.2051999993,5221463.7299999995,1481901.1347999999,1884699.7654,814947.3929999999,814947.3929999999,814947.3929999999,814947.3929999999,3791275.2963799997,3791275.2963799997 +28551600.0,635200.701,568640.997,1660431.7112399999,318621.37450000003,318621.37450000003,318621.37450000003,446313.567,1125902.0972,2541968.7865600004,731653.4763300001,1114900.53536,461688.621,461688.621,461688.621,422041.7215,635200.701,635200.701,631198.90704,684895.3703999999,1018042.0073599999,1775654.6639999999,503947.70463999995,640926.77872,485342.145,485342.145,485342.145,485342.145,1909836.77434,1909836.77434 +28555200.0,666284.106,1074878.835,3138646.1981999995,556819.00769,556819.00769,556819.00769,826438.8265,1446926.6636,2285053.9392,1133908.31841,1727860.2947200001,570172.7819999999,570172.7819999999,570172.7819999999,937071.2225,666284.106,666284.106,779150.30791,695256.6717,1033443.2502799998,1802517.2969999998,511571.57571999996,650622.9100599999,650682.582,650682.582,650682.582,650682.582,2003294.2120400001,2003294.2120400001 +28558800.0,521917.887,520488.11699999997,1519825.30164,426783.88742000004,426783.88742000004,426783.88742000004,731968.3,1064403.9772,1576538.55808,767486.81163,1169503.7129600001,454536.2729999999,454536.2729999999,454536.2729999999,469990.7030000001,521917.887,521917.887,564738.1558,524413.09575,779497.9842999999,1359589.5075,385864.4507,490747.06984999997,471844.152,471844.152,471844.152,471844.152,1569233.11358,1569233.11358 +28562400.0,442717.407,382196.637,1116014.1800399998,211358.6409,211358.6409,211358.6409,396739.658,931719.70864,1395571.7356800002,646324.2765,984875.0880000002,405045.78599999996,405045.78599999996,405045.78599999996,334039.5625,442717.407,442717.407,495871.7167299999,442559.70809999993,657829.4920399999,1147377.021,325636.52596,414148.46758,413270.211,413270.211,413270.211,413270.211,1331103.67038,1331103.67038 +28566000.0,813314.022,904742.817,2641849.02564,1337988.3404800002,1337988.3404800002,1337988.3404800002,1249597.0515,1786427.5183199998,2376207.4496000004,1521400.4297099998,2318324.46432,733904.691,733904.691,733904.691,1287503.6335,813314.022,813314.022,1318412.4285799998,1162355.4999,1727748.1751599999,3013514.259,855264.04684,1087735.1468200001,802254.5549999999,802254.5549999999,802254.5549999999,802254.5549999999,2445364.15948,2445364.15948 +28569600.0,789250.308,1199839.1400000001,3503530.2887999997,1358551.62069,1358551.62069,1358551.62069,1033061.064,2062197.54512,2698277.45984,1527275.21184,2327276.51328,886618.8119999999,886618.8119999999,886618.8119999999,1468570.2675,789250.308,789250.308,1449294.22651,1191145.05045,1770541.53178,3088153.8345000003,876447.4692200001,1114676.47931,969504.735,969504.735,969504.735,969504.735,2373012.5927199996,2373012.5927199996 +28573200.0,716310.246,1009651.029,2948181.00468,954843.61984,954843.61984,954843.61984,881604.3635,1977866.1055199997,2651219.26208,1295719.9983,1974430.4736000001,736591.8089999999,736591.8089999999,736591.8089999999,1109040.478,716310.246,716310.246,1086144.7772499998,967717.29915,1438434.10886,2508896.7015,712048.7781400001,905592.23797,879338.46,879338.46,879338.46,879338.46,2153706.1396399997,2153706.1396399997 +28576800.0,2091341.472,1694334.4619999998,4947456.62904,3357431.21725,3357431.21725,3357431.21725,2761666.9185000006,3198929.3733599996,6120287.264640001,3529470.0220500003,5378240.033600001,2201288.739,2201288.739,2201288.739,2790707.5455,2091341.472,2091341.472,3516231.6352799996,2636778.7116,3919359.96144,6836092.956,1940148.2865600002,2467504.02888,2326653.582,2326653.582,2326653.582,2326653.582,6287966.69248,6287966.69248 +28580400.0,1435021.707,791410.4909999999,2310918.63372,1789587.36385,1789587.36385,1789587.36385,1526934.7695,2249871.90192,3609998.9600000004,2015731.99611,3071591.61312,1323081.642,1323081.642,1323081.642,1526643.132,1435021.707,1435021.707,1086500.3565,1521700.7247,2261886.0154799996,3945150.027,1119671.15052,1424011.29546,1449635.1269999999,1449635.1269999999,1449635.1269999999,1449635.1269999999,4314631.93238,4314631.93238 +28584000.0,1026137.0549999999,752353.8749999999,2196873.3149999995,1079591.8060400002,1079591.8060400002,1079591.8060400002,1035553.8270000002,1673398.3712799998,2995898.304,1469964.5667,2239946.0064,893157.36,893157.36,893157.36,1192835.8994999998,1026137.0549999999,1026137.0549999999,1079611.3253900001,1160343.8892,1724758.07728,3008298.9720000005,853783.8987200002,1085852.6765600003,1017397.2180000001,1017397.2180000001,1017397.2180000001,1017397.2180000001,3085252.0787,3085252.0787 +28587600.0,885728.067,747172.3319999999,2181743.20944,1037427.63575,1037427.63575,1037427.63575,996843.9775,1614078.2676000001,2961704.5529600005,1425758.16558,2172583.87136,870248.3579999999,870248.3579999999,870248.3579999999,1140277.138,885728.067,885728.067,1070478.4869999997,1129364.25255,1678709.33342,2927981.3955000006,830989.0055800001,1056861.8560900001,989975.787,989975.787,989975.787,989975.787,2663089.05478,2663089.05478 +28591200.0,629914.086,520495.3080000001,1519846.29936,675542.78803,675542.78803,675542.78803,554718.6995,813630.6104,1796569.0848,798970.59669,1217479.0044800001,460165.13099999994,460165.13099999994,460165.13099999994,572724.6665,629914.086,629914.086,731157.2294,523817.19899999996,778612.2315999999,1358044.59,385425.98840000003,490189.4282,628039.281,628039.281,628039.281,628039.281,1893941.6852399998,1893941.6852399998 +28594800.0,104094.408,90080.124,263033.96207999997,109595.30351000001,109595.30351000001,109595.30351000001,59100.852999999996,148713.88887999998,610013.50784,183217.99839,279189.33088,147807.102,147807.102,147807.102,97496.1715,104094.408,104094.408,171457.80834,73476.46485,109216.86874,190494.53850000002,54064.16426000001,68759.45723000001,126735.74699999999,126735.74699999999,126735.74699999999,126735.74699999999,312977.18672,312977.18672 +28598400.0,99259.812,88474.557,258345.70644,85619.94287000001,85619.94287000001,85619.94287000001,38097.808,166042.19672,602032.04864,175032.22548,266715.77216,144538.69199999998,144538.69199999998,144538.69199999998,90338.46849999999,99259.812,99259.812,182990.18256999998,65883.95820000001,97931.21688,170810.26200000002,48477.57912000001,61654.370760000005,122078.69099999999,122078.69099999999,122078.69099999999,122078.69099999999,298441.16808,298441.16808 +28602000.0,102743.98199999999,91243.302,266430.44184,80840.04126000001,80840.04126000001,80840.04126000001,33479.4915,180184.73784,607857.79904,195613.8408,298078.23360000004,145296.984,145296.984,145296.984,91595.3885,102743.98199999999,102743.98199999999,184986.4913,64901.61045,96471.03577999999,168263.4345,47754.76522,60735.08731,125326.31099999999,125326.31099999999,125326.31099999999,125326.31099999999,308916.90588,308916.90588 +28605600.0,113509.30500000002,106462.188,310869.58896,87477.47051999999,87477.47051999999,87477.47051999999,38004.557499999995,183195.47392000002,615808.9683200001,214094.06319,326238.57248,146092.45799999998,146092.45799999998,146092.45799999998,90798.20749999999,113509.30500000002,113509.30500000002,202798.53216999996,72441.42659999999,107678.36743999997,187811.10599999997,53302.580559999995,67790.86587999998,130218.057,130218.057,130218.057,130218.057,341284.6437,341284.6437 +28609200.0,117307.33200000001,110711.65499999998,323278.0325999999,94498.52984000002,94498.52984000002,94498.52984000002,40550.7725,183835.79488000003,618198.0204800001,233704.29306000003,356120.82752000005,146542.188,146542.188,146542.188,92381.72300000001,117307.33200000001,117307.33200000001,211340.37548,80552.3535,119734.6094,208839.435,59270.6206,75381.0913,135645.459,135645.459,135645.459,135645.459,352704.04488,352704.04488 +28612800.0,128526.97499999999,119535.17400000001,349042.70808,100707.04215000002,100707.04215000002,100707.04215000002,57409.758,191604.71183999997,613456.0486399999,252012.67371000003,384019.31232,147877.182,147877.182,147877.182,102027.114,128526.97499999999,128526.97499999999,209658.50125999996,88931.2932,132189.23088,230562.61200000002,65435.86512,83222.12376,164189.757,164189.757,164189.757,164189.757,386437.7715,386437.7715 +28616400.0,158839.215,126655.14300000001,369833.01756,115259.91323,115259.91323,115259.91323,68630.96449999999,217628.7972,626644.22976,282198.97104000003,430017.47968000005,208709.88900000002,208709.88900000002,208709.88900000002,146582.5305,158839.215,158839.215,222527.52157999997,106922.6406,158931.92504,277206.846,78673.94296,100058.47108,200557.56900000002,200557.56900000002,200557.56900000002,200557.56900000002,477576.5731,477576.5731 +28620000.0,288871.146,167682.26400000002,489632.21088,223417.39562999998,223417.39562999998,223417.39562999998,148139.362,739033.87264,691162.92352,499726.24653000006,761487.6137600001,268686.70200000005,268686.70200000005,268686.70200000005,286379.73350000003,288871.146,288871.146,445733.45998999994,164511.98415,244533.86286,426512.5515,121048.32414000001,153950.72097000002,310953.54,310953.54,310953.54,310953.54,868539.24564,868539.24564 +28623600.0,1012600.9739999999,430928.718,1258311.8565599998,1454230.69066,1454230.69066,1454230.69066,1197510.2474999998,3004089.01536,2787878.9926400003,2404600.25652,3664152.77184,844497.2160000001,844497.2160000001,844497.2160000001,1186149.608,1012600.9739999999,1012600.9739999999,2244136.3513399996,1181137.6017000002,1755666.2622800001,3062208.5970000005,869083.9637200001,1105311.4840600002,1230800.142,1230800.142,1230800.142,1230800.142,3044553.59516,3044553.59516 +28627200.0,888143.094,1064625.081,3108705.23652,1611796.61368,1611796.61368,1611796.61368,1679411.9649999999,3659915.4732,2628440.8070400003,2762824.4660099996,4210018.23392,1138499.5019999999,1138499.5019999999,1138499.5019999999,1373938.223,888143.094,888143.094,1967984.77083,1836975.4695,2730516.6237999997,4762528.995,1351651.0862,1719046.1801,1328925.429,1328925.429,1328925.429,1328925.429,2670350.23596,2670350.23596 +28630800.0,1903974.4020000002,1886723.229,5509231.82868,1267639.94522,1267639.94522,1267639.94522,1561038.5909999998,3833786.4001599997,6395851.487360001,3156059.36037,4809233.31104,1771491.699,1771491.699,1771491.699,1295679.7874999999,1903974.4020000002,1903974.4020000002,1835942.1611699997,1482090.8012999997,2203009.0429199995,3842457.6329999994,1090526.07108,1386944.23134,2143236.063,2143236.063,2143236.063,2143236.063,5724616.36868,5724616.36868 +28634400.0,1238701.545,933660.279,2726288.01468,588880.2007,588880.2007,588880.2007,631889.685,1661132.1462400001,6161017.904640001,985691.4463200001,1502006.0134400001,1201009.875,1201009.875,1201009.875,1268025.7135,1238701.545,1238701.545,1638405.3842,1987119.3091499999,2953693.39286,5151790.8015,1462127.2941400001,1859551.1559700002,802633.338,802633.338,802633.338,802633.338,3724362.6453,3724362.6453 +28638000.0,633647.628,561530.415,1639668.8117999998,314612.56695,314612.56695,314612.56695,450785.7025,1132827.0816,2516573.5609600004,739186.1897699999,1126378.95584,476198.967,476198.967,476198.967,426906.3575,633647.628,633647.628,624143.65195,663516.44505,986263.9504199999,1720227.8205,488217.03858,620920.32759,492906.0,492906.0,492906.0,492906.0,1905167.20152,1905167.20152 +28641600.0,660040.494,1073413.431,3134367.21852,544949.5445900001,544949.5445900001,544949.5445900001,821379.2405,1446419.04496,2294316.45312,1126735.60419,1716930.44448,576362.259,576362.259,576362.259,939396.1849999999,660040.494,660040.494,765183.2800299998,694004.8005,1031582.4442,1799271.7050000003,510650.44580000004,649451.4059000001,649328.001,649328.001,649328.001,649328.001,1984521.7519599998,1984521.7519599998 +28645200.0,508314.9330000001,505004.445,1474612.9794,414393.6759600001,414393.6759600001,414393.6759600001,705833.338,1040450.9544,1539968.9523200002,743456.55699,1132886.18208,448826.691,448826.691,448826.691,461284.88,508314.9330000001,508314.9330000001,538247.18181,508918.67459999997,756466.77064,1319418.786,374463.61736,476247.35228,460402.485,460402.485,460402.485,460402.485,1528333.56522,1528333.56522 +28648800.0,433637.24100000004,376980.579,1100783.2906799999,204749.66094000003,204749.66094000003,204749.66094000003,387568.7445,920991.6695200001,1385156.6272,634050.1983899999,966171.7308799999,406355.97,406355.97,406355.97,329881.0025,433637.24100000004,433637.24100000004,479679.28462999995,435325.61835,647076.59814,1128621.9735,320313.66486,407378.78853,408473.45099999994,408473.45099999994,408473.45099999994,408473.45099999994,1303802.63794,1303802.63794 +28652400.0,801294.3990000001,881479.941,2573921.42772,1316689.8921,1316689.8921,1316689.8921,1232378.497,1765934.3217599997,2351477.6883199997,1502097.2815800002,2288910.14336,729592.608,729592.608,729592.608,1280880.0375,801294.3990000001,801294.3990000001,1294235.2617999997,1150121.4300000002,1709563.212,2981796.3000000003,846262.1880000001,1076286.4740000002,786062.004,786062.004,786062.004,786062.004,2409225.1596600004,2409225.1596600004 +28656000.0,761407.9920000001,1173875.832,3427717.42944,1311864.5489400004,1311864.5489400004,1311864.5489400004,1000962.4764999999,1999846.4347199998,2603171.44128,1468367.9425799998,2237513.05536,861308.271,861308.271,861308.271,1442336.4094999998,761407.9920000001,761407.9920000001,1410892.3601499998,1153971.7244999998,1715286.3657999998,2991778.545,849095.2442,1079889.5891,935993.7479999999,935993.7479999999,935993.7479999999,935993.7479999999,2289300.02928,2289300.02928 +28659600.0,695878.482,975636.1379999999,2848857.5229599997,927279.74427,927279.74427,927279.74427,859809.7235,1924312.09664,2593871.41312,1260131.18175,1920199.8960000002,724826.208,724826.208,724826.208,1088773.4445,695878.482,695878.482,1056106.60623,943564.2534,1402532.54456,2446277.694,694276.90744,882989.75812,857994.084,857994.084,857994.084,857994.084,2092274.6358799997,2092274.6358799997 +28663200.0,2080408.6049999997,1687292.028,4926892.72176,3331287.31991,3331287.31991,3331287.31991,2750683.9185,3187088.56312,6094871.56288,3514476.16128,5355392.24576,2197664.01,2197664.01,2197664.01,2789055.3109999998,2080408.6049999997,2080408.6049999997,3430798.27194,2625395.2308,3902439.33072,6806580.228,1931772.29328,2456851.3394400002,2317629.075,2317629.075,2317629.075,2317629.075,6255095.205699999,6255095.205699999 +28666800.0,1426572.6269999999,794838.036,2320927.06512,1768193.65305,1768193.65305,1768193.65305,1517177.6130000001,2251299.95712,3631393.5443200003,2004757.6613399999,3054868.81728,1332097.02,1332097.02,1332097.02,1534916.6735,1426572.6269999999,1426572.6269999999,1076075.9898199998,1517592.13335,2255778.92414,3934498.1235,1116648.03886,1420166.4655300002,1448016.6090000002,1448016.6090000002,1448016.6090000002,1448016.6090000002,4289228.36518,4289228.36518 +28670400.0,1032184.8029999998,763457.358,2229295.48536,1085723.2691800003,1085723.2691800003,1085723.2691800003,1038273.4355,1699768.8971199999,3060275.8624,1484813.02032,2262572.22144,915147.1350000001,915147.1350000001,915147.1350000001,1217502.2264999999,1032184.8029999998,1032184.8029999998,1083927.03536,1176306.9561,1748485.89524,3049684.7010000004,865529.56276,1100790.95398,1032359.4299999999,1032359.4299999999,1032359.4299999999,1032359.4299999999,3103435.6410199995,3103435.6410199995 +28674000.0,904898.9879999999,767671.248,2241600.04416,1055954.5036700002,1055954.5036700002,1055954.5036700002,1018551.3835,1662162.33392,3073590.67584,1458890.49243,2223071.2265600003,904899.51,904899.51,904899.51,1183278.1205000002,904898.9879999999,904898.9879999999,1086851.83282,1162267.5339,1727617.4207599997,3013286.1989999996,855199.32124,1087652.82802,1019073.411,1019073.411,1019073.411,1019073.411,2720729.6239199997,2720729.6239199997 +28677600.0,653756.679,550502.007,1607465.86044,701149.8116700001,701149.8116700001,701149.8116700001,578576.25,859229.83264,1924948.01472,837609.5437500001,1276357.4000000001,492767.64,492767.64,492767.64,608753.103,653756.679,653756.679,762986.7117599999,554541.00525,824280.7041000001,1437698.9025,408032.64090000006,518940.8419500001,660926.2050000001,660926.2050000001,660926.2050000001,660926.2050000001,1965628.41486,1965628.41486 +28681200.0,108404.205,95974.31099999999,280244.98812,113669.62585,113669.62585,113669.62585,60328.7755,164636.53791999997,664229.2768000001,192248.98749000003,292950.83808,159413.364,159413.364,159413.364,103935.622,108404.205,108404.205,186209.73683,78033.3021,115990.24164,202308.561,57417.09636,73023.75678,132726.63900000002,132726.63900000002,132726.63900000002,132726.63900000002,325935.3097,325935.3097 +28684800.0,106315.02599999998,96874.677,282874.05684,92140.32300000002,92140.32300000002,92140.32300000002,40150.232500000006,185595.46863999998,680754.54976,189123.78428999998,288188.62367999996,161334.657,161334.657,161334.657,100197.727,106315.02599999998,106315.02599999998,202731.3509,72827.03925,108251.54969999999,188810.8425,53586.3153,68151.72315,132111.597,132111.597,132111.597,132111.597,319653.84484,319653.84484 +28688400.0,115588.068,107332.488,313410.86496,90577.50812000001,90577.50812000001,90577.50812000001,38001.243,206288.54504,717234.3737600001,224825.22678000003,342590.82176,168749.121,168749.121,168749.121,105117.18,115588.068,115588.068,214852.58938,75456.6354,112160.23336,195628.314,55521.17864,70612.50572,140978.625,140978.625,140978.625,140978.625,347534.79112,347534.79112 +28692000.0,136022.079,133564.956,390009.67152000003,113158.92225,113158.92225,113158.92225,47297.2255,224469.45200000002,789698.9056,265899.73032,405180.54144,183400.734,183400.734,183400.734,112251.45050000002,136022.079,136022.079,259506.52740999995,96869.0016,143987.99744,251141.856,71276.45056,90650.25088,158954.838,158954.838,158954.838,158954.838,408973.05085999996,408973.05085999996 +28695600.0,149582.664,141988.98,414607.8216,122459.02691,122459.02691,122459.02691,62013.063,245004.2352,808518.46592,304710.05543999997,464320.08447999996,189268.08000000002,189268.08000000002,189268.08000000002,120415.97399999999,149582.664,149582.664,266423.84132,109386.75779999999,162594.63752,283595.298,80487.04648,102364.39804,197335.224,197335.224,197335.224,197335.224,449745.20976,449745.20976 +28699200.0,191383.87199999997,154964.145,452495.3034,132179.62362,132179.62362,132179.62362,74330.6235,333167.02432,808822.8774400001,345805.98003,526942.4457599999,287417.502,287417.502,287417.502,200391.009,191383.87199999997,191383.87199999997,282361.85809,131761.23389999996,195852.50075999997,341603.19899999996,96950.24123999999,123302.48801999999,259267.374,259267.374,259267.374,259267.374,575427.50848,575427.50848 +28702800.0,230569.017,167301.006,488518.93752,142328.85645000002,142328.85645000002,142328.85645000002,80406.137,445516.86840000004,784815.0476800001,382132.20717,582296.6966400001,318898.659,318898.659,318898.659,219845.675,230569.017,230569.017,300693.85033999995,147116.6874,218677.15016,381413.634,108248.82184,137672.15932,295073.38800000004,295073.38800000004,295073.38800000004,295073.38800000004,693244.1777799999,693244.1777799999 +28706400.0,405922.65300000005,216885.048,633304.34016,252028.73454000003,252028.73454000003,252028.73454000003,160468.9065,966778.1571999999,900699.51616,661697.2391400001,1008300.5548800001,403609.044,403609.044,403609.044,350364.28,405922.65300000005,405922.65300000005,524247.08998999995,209808.5085,311863.51139999996,543947.985,154377.6186,196339.3203,452379.549,452379.549,452379.549,452379.549,1220474.11002,1220474.11002 +28710000.0,1152978.093,518834.10000000003,1514995.5720000002,1566996.39393,1566996.39393,1566996.39393,1363287.114,3249869.334,3617068.1747200005,2711732.1222599996,4132163.23392,1072959.5280000002,1072959.5280000002,1072959.5280000002,1540709.9575,1152978.093,1152978.093,2434542.5726699997,1430040.7602,2125640.8336799997,3707513.082,1052227.52232,1338235.67436,1423914.3450000002,1423914.3450000002,1423914.3450000002,1423914.3450000002,3466620.79962,3466620.79962 +28713600.0,1017315.885,1117381.854,3262755.01368,1816292.8967700002,1816292.8967700002,1816292.8967700002,1829628.5979999998,3989607.11936,3016585.6665600003,3038167.72056,4629588.90752,1269778.758,1269778.758,1269778.758,1628316.4764999999,1017315.885,1017315.885,2124735.6963299997,2037654.45585,3028809.83314,5282807.8485,1499311.17986,1906842.0710300002,1473993.5639999998,1473993.5639999998,1473993.5639999998,1473993.5639999998,3058729.7608999996,3058729.7608999996 +28717200.0,1970935.656,2144016.627,6260528.550839999,1433422.81566,1433422.81566,1433422.81566,1864437.183,4123032.2386399996,6968598.656,3384785.0005200007,5157767.619840001,1858137.3569999998,1858137.3569999998,1858137.3569999998,1463167.1355,1970935.656,1970935.656,1984524.10013,1681451.0833499997,2499342.1041399995,4359317.6235,1237215.8588599998,1573506.0755299998,2210169.105,2210169.105,2210169.105,2210169.105,5925946.53904,5925946.53904 +28720800.0,1372241.859,1021129.2749999999,2981697.483,664820.53176,664820.53176,664820.53176,796679.4079999999,1985331.1264000002,6712392.91264,1205486.19429,1836931.34368,1376296.443,1376296.443,1376296.443,1398398.7675,1372241.859,1372241.859,1791716.80376,2139731.7453,3180539.53252,5547452.673,1574419.90148,2002366.25054,938153.082,938153.082,938153.082,938153.082,4125873.8560599997,4125873.8560599997 +28724400.0,655803.483,578894.6429999999,1690372.35756,311010.94255000004,311010.94255000004,311010.94255000004,447496.42699999997,1194494.04184,2939550.49024,751261.31052,1144779.13984,502006.50299999997,502006.50299999997,502006.50299999997,459151.315,655803.483,655803.483,615390.1061099999,801522.73845,1191399.2309799998,2078021.9145,589762.41002,750066.95771,497444.22299999994,497444.22299999994,497444.22299999994,497444.22299999994,1971782.4722199999,1971782.4722199999 +28728000.0,697761.816,1103910.8939999999,3223419.8104799995,588430.02207,588430.02207,588430.02207,857372.775,1529400.2064800002,2453589.69792,1193436.60975,1818570.0720000002,623886.0630000001,623886.0630000001,623886.0630000001,982819.4530000001,697761.816,697761.816,804026.09833,741101.5619999999,1101588.0007999998,1921374.4199999997,545304.3592,693524.6715999999,694636.467,694636.467,694636.467,694636.467,2097937.19344,2097937.19344 +28731600.0,582853.7189999999,613966.527,1792782.25884,471501.11987,471501.11987,471501.11987,818398.4515,1207038.13408,1870121.3228799999,876762.1468199999,1336018.50944,540928.8929999999,540928.8929999999,540928.8929999999,625904.286,582853.7189999999,582853.7189999999,637437.7415899999,612657.5292,910666.25328,1588371.372,450794.92272000003,573326.42856,546023.598,546023.598,546023.598,546023.598,1752446.8484599998,1752446.8484599998 +28735200.0,341491.398,266848.668,779198.11056,94514.60227000002,94514.60227000002,94514.60227000002,251841.6005,726396.1301600001,955299.5014400001,447053.74413,681224.75296,304849.09500000003,304849.09500000003,304849.09500000003,225068.56749999998,341491.398,341491.398,339060.57483999996,278689.6206,414249.75704,722528.6460000001,205060.51096,260798.43508000002,293174.78099999996,293174.78099999996,293174.78099999996,293174.78099999996,1026750.80332,1026750.80332 +28738800.0,859851.4110000001,998003.328,2914169.71776,1323207.0365800003,1323207.0365800003,1323207.0365800003,1313948.6955,1967693.9467999998,2588324.10368,1583504.0190899998,2412958.5052799997,796983.5910000001,796983.5910000001,796983.5910000001,1338829.6145,859851.4110000001,859851.4110000001,1274055.15211,1227244.08555,1824199.8506200002,3181743.9255000004,903009.2283800001,1148458.0454900002,869530.0109999999,869530.0109999999,869530.0109999999,869530.0109999999,2585286.5757400002,2585286.5757400002 +28742400.0,909569.085,1312923.2909999997,3833736.0097199995,1507541.2600600002,1507541.2600600002,1507541.2600600002,1151528.8015,2350615.82056,3188747.2287999997,1724955.03684,2628502.91328,1039054.977,1039054.977,1039054.977,1610435.1725,909569.085,909569.085,1564058.85441,1344485.63205,1998470.0012199997,3485703.4905,989275.84778,1258172.97419,1100019.06,1100019.06,1100019.06,1100019.06,2734771.0489,2734771.0489 +28746000.0,832270.077,1160521.227,3388721.9828399997,1046221.8719700001,1046221.8719700001,1046221.8719700001,996414.0515,2274181.8421599995,3096508.384,1492458.6060300001,2274222.6377600003,869336.838,869336.838,869336.838,1264769.9155,832270.077,832270.077,1210837.5097,1115409.8479499999,1657967.2307799999,2891803.3095,820721.3202199999,1043803.2898099999,1029939.003,1029939.003,1029939.003,1029939.003,2502358.69818,2502358.69818 +28749600.0,2181551.205,1790774.094,5229060.354479999,3447778.2087100004,3447778.2087100004,3447778.2087100004,2857531.397,3417872.98816,6585181.809280002,3667923.99099,5589217.51008,2309901.837,2309901.837,2309901.837,2966828.536,2181551.205,2181551.205,3664487.7929399996,2792578.5828,4150943.9675199995,7240018.548,2054786.21648,2613301.93304,2441425.938,2441425.938,2441425.938,2441425.938,6559197.2897,6559197.2897 +28753200.0,1641010.854,957546.0120000001,2796034.3550400003,2075551.68513,2075551.68513,2075551.68513,1758541.6065000002,2669790.84144,4647186.890240001,2408131.40673,3669533.57216,1660928.1659999997,1660928.1659999997,1660928.1659999997,2004710.5015,1641010.854,1641010.854,1350950.4624199998,1883404.61685,2799529.82554,4882900.8585,1385813.76746,1762494.6908300002,1771004.0099999998,1771004.0099999998,1771004.0099999998,1771004.0099999998,4933972.63436,4933972.63436 +28756800.0,1264349.2740000002,948268.302,2768943.44184,1317887.0988800002,1317887.0988800002,1317887.0988800002,1342086.893,2139278.8992,3983533.2307200003,1848482.4655499998,2816735.1856,1170032.1900000002,1170032.1900000002,1170032.1900000002,1563604.49,1264349.2740000002,1264349.2740000002,1328131.80318,1496164.3569,2223928.25396,3878944.629,1100881.42804,1400114.29942,1315996.224,1315996.224,1315996.224,1315996.224,3801476.81716,3801476.81716 +28760400.0,1134216.2280000001,974773.317,2846338.08564,1298060.25261,1298060.25261,1298060.25261,1286091.9224999999,2116180.42024,4021079.729920001,1825752.00738,2782098.2969600004,1172486.037,1172486.037,1172486.037,1543066.2345,1134216.2280000001,1134216.2280000001,1373002.8117,1483549.75305,2205177.6576199997,3846240.1005,1091599.57138,1388309.52199,1296459.633,1296459.633,1296459.633,1296459.633,3410210.12552,3410210.12552 +28764000.0,796191.4379999998,703284.792,2053591.59264,848761.9473300001,848761.9473300001,848761.9473300001,706342.0700000001,1122670.43976,2505668.66752,1065047.33685,1622929.2752,633877.14,633877.14,633877.14,775654.2045,796191.4379999998,796191.4379999998,982953.44225,704282.8824,1046859.98816,1825918.584,518213.08384,659069.66032,825749.256,825749.256,825749.256,825749.256,2393882.2569199996,2393882.2569199996 +28767600.0,140755.98,128604.144,375524.10048,150285.63726000002,150285.63726000002,150285.63726000002,70042.73849999999,244047.50304000004,949660.7782400001,273199.62327000004,416304.18784,221722.902,221722.902,221722.902,139238.6905,140755.98,140755.98,272674.89807999996,106845.58935,158817.39453999998,277007.0835,78617.24846,99986.36633,179731.53,179731.53,179731.53,179731.53,423206.31320000003,423206.31320000003 +28771200.0,145008.44100000002,130832.76600000002,382031.67672000005,148695.81386,148695.81386,148695.81386,50179.1395,266425.25008,958433.2134400001,298028.76957,454139.07743999996,221416.005,221416.005,221416.005,136922.9435,145008.44100000002,145008.44100000002,274802.03880999994,101829.879,151361.9436,264003.39,74926.6764,95292.6522,186161.325,186161.325,186161.325,186161.325,435992.04594000004,435992.04594000004 +28774800.0,164906.66999999998,160783.04700000002,469486.49724,147626.3888,147626.3888,147626.3888,61824.56,342058.2024,980761.09504,335657.5173,511478.1216,227255.424,227255.424,227255.424,137929.90399999998,164906.66999999998,164906.66999999998,314069.45986,118307.47814999998,175854.57245999997,306723.0915,87050.93453999999,110712.43016999999,196185.276,196185.276,196185.276,196185.276,495819.38779999997,495819.38779999997 +28778400.0,204645.108,171417.138,500538.04296,151099.53551000002,151099.53551000002,151099.53551000002,76172.58600000001,420483.49231999996,983307.18912,387009.67641,589729.03072,296022.795,296022.795,296022.795,174721.785,204645.108,204645.108,323831.14322,143926.19055,213934.73261999997,373141.9755,105901.24638,134686.48449,281295.0,281295.0,281295.0,281295.0,615299.6247200001,615299.6247200001 +28782000.0,264768.59699999995,192941.376,563388.81792,161204.25475000002,161204.25475000002,161204.25475000002,88351.228,535805.86136,1002374.4435200001,449069.93585999997,684297.04512,412963.377,412963.377,412963.377,262298.372,264768.59699999995,264768.59699999995,358185.3176199999,167428.0368,248868.34112,434072.688,123193.96288,156679.57024,348008.87100000004,348008.87100000004,348008.87100000004,348008.87100000004,796070.9149799999,796070.9149799999 +28785600.0,322092.369,256843.80000000002,749983.8960000001,179723.45072,179723.45072,179723.45072,91170.982,648398.15304,1068231.99744,531554.23671,809987.4083199999,475271.769,475271.769,475271.769,289412.1195,322092.369,322092.369,393970.97688,197246.19015,293190.63326000003,511379.0115000001,145134.23374000003,184583.47177000003,433333.28400000004,433333.28400000004,433333.28400000004,433333.28400000004,968424.38946,968424.38946 +28789200.0,424978.416,285220.86,832844.9112,206202.05672000002,206202.05672000002,206202.05672000002,99985.06,746386.43848,1244029.01376,642114.0282899999,978459.47168,516561.52800000005,516561.52800000005,516561.52800000005,311149.30350000004,424978.416,424978.416,414651.58631,251510.35005,373849.95242,652063.8705000001,185061.93658,235364.00659,529903.608,529903.608,529903.608,529903.608,1277768.43744,1277768.43744 +28792800.0,512091.38700000005,374908.974,1094734.2040799998,301680.23963,301680.23963,301680.23963,189059.444,867421.7232799999,1544871.57824,763853.78223,1163967.66816,541884.771,541884.771,541884.771,365825.25,512091.38700000005,512091.38700000005,426012.67162999994,322293.48795000004,479063.40678,835575.7095000001,237144.34422000003,301603.04181,585062.964,585062.964,585062.964,585062.964,1539688.10358,1539688.10358 +28796400.0,1221872.667,1224658.743,3576003.52956,1154200.4086799999,1154200.4086799999,1154200.4086799999,1099690.466,1999398.6644,2274403.2678400003,1674246.6442800001,2551232.9817600003,828693.1980000001,828693.1980000001,828693.1980000001,1781450.4540000001,1221872.667,1221872.667,2398883.7482999996,739333.23885,1098959.5303399998,1916789.8784999999,544003.22266,691869.87043,1681248.81,1681248.81,1681248.81,1681248.81,3673763.8187799994,3673763.8187799994 +28800000.0,2270894.856,2039863.002,5956399.96584,2851773.5299899997,2851773.5299899997,2851773.5299899997,2052403.5804999997,3454016.38608,4015752.3052800004,3319702.92402,5058594.93184,1437696.8909999998,1437696.8909999998,1437696.8909999998,2344026.1495,2270894.856,2270894.856,3403403.5374299996,1778991.5384999998,2644328.1633999995,4612200.285,1308986.3665999998,1664784.6742999998,2436927.489,2436927.489,2436927.489,2436927.489,6827823.86704,6827823.86704 +28803600.0,2585251.785,2517503.4899999998,7351110.190799999,3133424.2536300006,3133424.2536300006,3133424.2536300006,2637510.0429999996,4420565.3116,10102210.10304,3454074.7073699995,5263351.93504,2691379.8060000003,2691379.8060000003,2691379.8060000003,2708262.6865000003,2585251.785,2585251.785,2637213.79376,3497512.9846499995,5198772.38706,9067626.2565,2573478.68994,3272981.28687,2343316.452,2343316.452,2343316.452,2343316.452,7772990.3669,7772990.3669 +28807200.0,1703751.33,1421440.095,4150605.0774,1948572.5609900001,1948572.5609900001,1948572.5609900001,2619348.368,3363906.7687199996,6264693.2505600015,3291134.44968,5015062.01856,2495497.734,2495497.734,2495497.734,2804351.8755,1703751.33,1703751.33,1736266.7533899997,3264236.172,4852025.124799999,8462834.52,2401833.0352,3054680.2695999998,1794710.685,1794710.685,1794710.685,1794710.685,5122612.3322,5122612.3322 +28810800.0,1175297.6400000001,959620.713,2802092.48196,1585409.57861,1585409.57861,1585409.57861,2300759.3664999995,3166419.5183199993,6394444.844800001,2533797.49665,3861024.7568,1041665.133,1041665.133,1041665.133,2149975.086,1175297.6400000001,1175297.6400000001,971834.2806899999,2312005.7367000002,3436610.99628,5994088.947000001,1701179.5297200002,2163580.67706,1402607.6460000002,1402607.6460000002,1402607.6460000002,1402607.6460000002,3533728.2375999996,3533728.2375999996 +28814400.0,975937.86,810645.963,2367086.21196,1160569.6452900001,1160569.6452900001,1160569.6452900001,1437734.0915,2538071.53944,3064152.19968,1810206.16455,2758409.3936,947810.9310000001,947810.9310000001,947810.9310000001,1415901.1615,975937.86,975937.86,810701.7722699998,1341874.674,1994589.0215999999,3478934.3400000003,987354.6984,1255729.6332,1024573.548,1024573.548,1024573.548,1024573.548,2934319.8323999997,2934319.8323999997 +28818000.0,668336.346,521453.046,1522642.89432,512446.32109000004,512446.32109000004,512446.32109000004,708722.1540000001,1530094.64672,1847641.2409599999,1113798.82593,1697217.25856,599638.248,599638.248,599638.248,835083.3855,668336.346,668336.346,538088.5239599999,745792.0532999999,1108560.0397199998,1933534.9529999997,548755.63428,697914.0449399999,689866.755,689866.755,689866.755,689866.755,2009464.6136399999,2009464.6136399999 +28821600.0,522168.91799999995,401290.78500000003,1171769.0922,306408.61911,306408.61911,306408.61911,521790.33199999994,1016058.0335999998,1429509.8611200002,803941.39119,1225053.5484799999,473700.399,473700.399,473700.399,620303.887,522168.91799999995,522168.91799999995,380125.40630999993,539757.3996,802306.0606399999,1399371.036,397154.82736,505106.30728,525247.719,525247.719,525247.719,525247.719,1569987.8801199999,1569987.8801199999 +28825200.0,988156.9650000001,872872.0229999998,2548786.3071599994,1042977.57729,1042977.57729,1042977.57729,1063703.0844999999,1924731.6364,3409495.6940800003,1594430.85081,2429608.9155200003,974984.4509999999,974984.4509999999,974984.4509999999,1278205.6315,988156.9650000001,988156.9650000001,1094903.8978799998,1245520.9538999998,1851366.9487599998,3229128.399,916457.39324,1165561.58402,1084663.596,1084663.596,1084663.596,1084663.596,2971058.6081000003,2971058.6081000003 +28828800.0,1152522.75,1041332.7000000001,3040691.484,1307274.65935,1307274.65935,1307274.65935,1257961.1275,2286380.9072000002,4137639.8464,1922150.70264,2928991.5468800003,1175650.0529999998,1175650.0529999998,1175650.0529999998,1519371.994,1152522.75,1152522.75,1446186.3412099998,1490134.6764,2214965.61776,3863312.1240000003,1096444.77424,1394471.70952,1297197.741,1297197.741,1297197.741,1297197.741,3465251.735,3465251.735 +28832400.0,1196800.4309999999,1079759.046,3152896.41432,1390326.92876,1390326.92876,1390326.92876,1327495.3335,2392085.38024,4306092.88448,2018827.49481,3076308.5635200003,1251592.341,1251592.341,1251592.341,1586493.2440000002,1196800.4309999999,1196800.4309999999,1510434.1653699998,1552264.7058,2307316.92072,4024389.978,1142160.20328,1452613.1444400002,1358214.567,1358214.567,1358214.567,1358214.567,3598379.9625399993,3598379.9625399993 +28836000.0,1243987.701,1116596.469,3260461.68948,1490053.2270799999,1490053.2270799999,1490053.2270799999,1419869.9409999999,2506390.84176,4465553.01504,2109175.2288599997,3213981.30112,1302995.412,1302995.412,1302995.412,1656925.5920000002,1243987.701,1243987.701,1557793.59372,1618219.64835,2405353.65014,4195384.2735,1190690.01286,1514333.9425300001,1419455.742,1419455.742,1419455.742,1419455.742,3740256.3543399996,3740256.3543399996 +28839600.0,1254808.3110000002,1126521.555,3289442.9406,1503197.7112900002,1503197.7112900002,1503197.7112900002,1432667.2780000002,2530572.3370399997,4506537.235200001,2128545.3207900003,3243497.63168,1314946.284,1314946.284,1314946.284,1671555.6935,1254808.3110000002,1254808.3110000002,1570940.2809099997,1632104.7615,2425992.7566,4231382.715,1200906.7134,1527327.6657,1432112.9100000001,1432112.9100000001,1432112.9100000001,1432112.9100000001,3772790.32174,3772790.32174 +28843200.0,1266484.2449999999,1139864.04,3328402.9968,1503616.9864100001,1503616.9864100001,1503616.9864100001,1434955.7705,2555537.3676,4563696.84928,2147569.38669,3272486.6844800003,1330343.613,1330343.613,1330343.613,1688163.624,1266484.2449999999,1266484.2449999999,1587769.4944799999,1647511.86465,2448894.17906,4271327.0565,1212243.29794,1541745.67087,1446861.0089999998,1446861.0089999998,1446861.0089999998,1446861.0089999998,3807895.9632999995,3807895.9632999995 +28846800.0,1196976.1979999999,1013276.4809999999,2958767.32452,1248363.41586,1248363.41586,1248363.41586,1085409.4929999998,2116775.08992,3290573.4643200003,1766423.9775,2691693.68,1044123.1950000001,1044123.1950000001,1044123.1950000001,1328978.3465000002,1196976.1979999999,1196976.1979999999,1511629.26278,1299366.4815,1931404.0046,3368727.9150000005,956077.0654000001,1215950.3617000002,1248400.851,1248400.851,1248400.851,1248400.851,3598908.4353199997,3598908.4353199997 +28850400.0,547097.5889999999,395886.345,1155988.1273999999,670286.8185200001,670286.8185200001,670286.8185200001,449341.98749999993,1058860.5032,1398848.2368,847246.56261,1291042.38112,494692.404,494692.404,494692.404,586979.8725,547097.5889999999,547097.5889999999,885744.5110799999,296808.5997,441182.16548,769503.7770000001,218392.50052000003,277754.22046000004,689542.371,689542.371,689542.371,689542.371,1644940.0842599997,1644940.0842599997 +28854000.0,201021.65399999998,167751.45299999998,489834.24276,211145.80025000003,211145.80025000003,211145.80025000003,81649.6555,458141.28400000004,1086283.8105600001,388800.82878000004,592458.4057600001,302179.647,302179.647,302179.647,161527.1595,201021.65399999998,201021.65399999998,307298.4180499999,125776.79999999999,186957.12,326088.0,92546.88,117702.24,216832.56,216832.56,216832.56,216832.56,604405.1063599999,604405.1063599999 +28857600.0,211843.623,216096.04200000002,631000.44264,189307.0553,189307.0553,189307.0553,74083.0195,473225.20392,1118910.68928,391243.48053,596180.54176,297664.119,297664.119,297664.119,153501.6,211843.623,211843.623,309449.08449,137738.83544999998,204737.72577999998,357100.6845,101348.57522,128896.34231,234116.42699999997,234116.42699999997,234116.42699999997,234116.42699999997,636943.15982,636943.15982 +28861200.0,234837.219,223124.15400000004,651522.52968,196641.61858,196641.61858,196641.61858,90102.16600000001,472213.21368,1133881.60192,431671.38714,657784.97088,383345.385,383345.385,383345.385,154341.642,234837.219,234837.219,352499.55130000005,151811.36234999998,225655.40773999997,393585.01349999994,111703.17525999999,142065.44772999999,308776.608,308776.608,308776.608,308776.608,706077.23846,706077.23846 +28864800.0,286200.882,261114.09,762453.1427999999,204893.51916,204893.51916,204893.51916,96779.501,593601.38632,1188268.1216000002,497142.73266,757550.83072,471635.0669999999,471635.0669999999,471635.0669999999,278523.595,286200.882,286200.882,392063.23467999994,195717.59055,290918.49262,507415.9755,144009.48638,183153.00449,395466.498,395466.498,395466.498,395466.498,860510.6518799999,860510.6518799999 +28868400.0,362320.011,286324.593,836067.8115600001,208676.19751000003,208676.19751000003,208676.19751000003,97137.334,735266.94416,1264146.97152,588798.07329,897216.11168,524014.65,524014.65,524014.65,314350.673,362320.011,362320.011,414888.29122,229046.56335,340459.33613999997,593824.4235,168533.02686,214342.33953,479802.69299999997,479802.69299999997,479802.69299999997,479802.69299999997,1089375.4997399999,1089375.4997399999 +28872000.0,458337.48,324073.686,946295.16312,217675.97687000004,217675.97687000004,217675.97687000004,103763.17,802524.9043200001,1497363.4489600002,683380.9059,1041342.3328000001,546579.8309999999,546579.8309999999,546579.8309999999,352012.8675,458337.48,458337.48,440966.28342,300584.3499,446794.51515999995,779292.759,221170.70683999997,281287.57681999996,555842.595,555842.595,555842.595,555842.595,1378068.0232,1378068.0232 +28875600.0,547774.797,402303.27,1174725.5484,241703.25443,241703.25443,241703.25443,126783.41199999998,956412.3499200001,1781424.2336000002,816351.18264,1243963.70688,595620.813,595620.813,595620.813,432179.132,547774.797,547774.797,464333.2441799999,344329.7202,511818.4976799999,892706.6819999999,253358.65832,322224.60235999996,632374.005,632374.005,632374.005,632374.005,1646976.2229799998,1646976.2229799998 +28879200.0,596846.583,449879.592,1313648.40864,374659.36893,374659.36893,374659.36893,207770.703,1122516.8535999998,1886991.7529600002,918099.1560300001,1399008.2377600002,624598.044,624598.044,624598.044,474366.3295,596846.583,596846.583,495410.4088699999,377975.34225000005,561830.0149000001,979936.0725000001,278115.1901,353710.25855,652755.447,652755.447,652755.447,652755.447,1794518.72622,1794518.72622 +28882800.0,1314682.62,1275557.973,3724629.28116,1217794.9319799999,1217794.9319799999,1217794.9319799999,1112726.8214999998,2188989.03176,2534816.96,1838504.3858999999,2801530.4928,946789.023,946789.023,946789.023,1848291.6865,1314682.62,1314682.62,2607705.8098,803182.25025,1193865.9621,2082324.3525,590983.4829000001,751619.93295,1778609.151,1778609.151,1778609.151,1778609.151,3952812.4108,3952812.4108 +28886400.0,2397545.874,2117221.668,6182287.27056,2994591.7958000004,2994591.7958000004,2994591.7958000004,2158215.6679999996,3608930.64384,4277436.172160001,3501000.8042100007,5334858.368320001,1554854.043,1554854.043,1554854.043,2477150.4975,2397545.874,2397545.874,3790585.1367799994,1887597.16065,2805761.70546,4893770.4165,1388898.65154,1766418.08367,2552463.537,2552463.537,2552463.537,2552463.537,7208621.261159999,7208621.261159999 +28890000.0,2762223.159,2764212.1229999997,8071499.39916,3352675.2513099997,3352675.2513099997,3352675.2513099997,2748250.4525,4725792.28672,10452097.04192,3791260.51878,5777158.88576,2848524.024,2848524.024,2848524.024,2935622.095,2762223.159,2762223.159,2836512.54588,3720283.9474500003,5529903.54658,9645180.604500001,2737394.11442,3481450.9039100003,2536205.985,2536205.985,2536205.985,2536205.985,8305084.298059999,8305084.298059999 +28893600.0,2087393.493,1881173.079,5493025.390679999,2594091.62243,2594091.62243,2594091.62243,3160629.4055,3973186.8263999997,8022653.328000001,3852107.99421,5869878.84832,2898497.9189999998,2898497.9189999998,2898497.9189999998,3320534.6405,2087393.493,2087393.493,2243851.7676899997,3849605.2547999998,5722129.29232,9980458.068,2832549.05168,3602470.10264,2211401.04,2211401.04,2211401.04,2211401.04,6276096.43562,6276096.43562 +28897200.0,1573008.045,1351847.754,3947395.44168,2269004.54011,2269004.54011,2269004.54011,2839577.356,3906978.6763199996,8117288.340480001,3315484.06875,5052166.2,1493465.385,1493465.385,1493465.385,2632410.1895000003,1573008.045,1573008.045,1714695.3896799998,3147435.7839,4678410.72076,8160018.699,2315891.02124,2945378.17802,1919169.5219999999,1919169.5219999999,1919169.5219999999,1919169.5219999999,4729510.8553,4729510.8553 +28900800.0,1289604.8699999999,1090801.602,3185140.67784,1741850.9850500003,1741850.9850500003,1741850.9850500003,2004658.2465,3371721.1092,5211142.61632,2441634.40227,3720585.75584,1307433.429,1307433.429,1307433.429,2105756.863,1289604.8699999999,1289604.8699999999,1324724.1731099999,1869286.41,2778544.244,4846298.100000001,1375425.556,1749282.838,1415856.309,1415856.309,1415856.309,1415856.309,3877411.9757999997,3877411.9757999997 +28904400.0,1013004.9840000002,872875.926,2548797.7039199998,1033691.8397300001,1033691.8397300001,1033691.8397300001,1270201.7089999998,2397882.54384,3155539.3580800006,1826859.89346,2783786.50432,974224.809,974224.809,974224.809,1290697.2504999998,1013004.9840000002,1013004.9840000002,1016677.5162699999,1249700.6065500001,1857579.66702,3239964.5355,919532.7919800001,1169472.91329,1108608.426,1108608.426,1108608.426,1108608.426,3045768.31856,3045768.31856 +28908000.0,898613.235,764821.1429999999,2233277.73756,853931.177,853931.177,853931.177,957273.492,1852233.6778400003,2976739.67936,1500921.3601199999,2287118.2630399996,881643.5969999998,881643.5969999998,881643.5969999998,1192434.194,898613.235,898613.235,928321.5199699999,1096795.7360999999,1630298.8472399998,2843544.5009999997,807025.01076,1026384.15798,979041.5969999998,979041.5969999998,979041.5969999998,979041.5969999998,2701830.4598999997,2701830.4598999997 +28911600.0,1153202.94,1033696.4279999998,3018393.5697599994,1294492.42549,1294492.42549,1294492.42549,1253867.6885,2290809.99824,4101715.0982399997,1941506.32872,2958485.83424,1177625.559,1177625.559,1177625.559,1514500.2810000002,1153202.94,1153202.94,1442951.74608,1476853.4182499999,2195224.0933,3828879.2325,1086672.3917,1382043.0753499998,1315137.33,1315137.33,1315137.33,1315137.33,3467296.8395999996,3467296.8395999996 +28915200.0,1211582.838,1093834.941,3193998.02772,1391910.4884300001,1391910.4884300001,1391910.4884300001,1321568.8885,2408568.12032,4354319.22432,2047333.39167,3119746.1206400003,1247953.8329999999,1247953.8329999999,1247953.8329999999,1587903.5515,1211582.838,1211582.838,1550029.8737299999,1566109.6146,2327896.26664,4060284.186,1152347.32136,1465569.24428,1379539.701,1379539.701,1379539.701,1379539.701,3642825.73292,3642825.73292 +28918800.0,1278135.141,1154087.2920000001,3369934.89264,1486172.39254,1486172.39254,1486172.39254,1416879.1069999998,2563437.73128,4620941.240320001,2165653.04676,3300042.7379199998,1329249.1230000001,1329249.1230000001,1329249.1230000001,1687986.4330000002,1278135.141,1278135.141,1624012.2095599999,1660265.63055,2467851.6286199996,4304392.3755,1221627.55038,1553680.67649,1457709.762,1457709.762,1457709.762,1457709.762,3842926.32394,3842926.32394 +28922400.0,1317367.128,1183184.484,3454898.69328,1575871.8185100001,1575871.8185100001,1575871.8185100001,1500280.838,2659083.8964,4745381.17504,2241802.08777,3416079.37184,1370573.2289999998,1370573.2289999998,1370573.2289999998,1743131.8905,1317367.128,1317367.128,1661608.04017,1714819.4505,2548941.5042,4445828.205,1261768.3858,1604732.2759,1501562.28,1501562.28,1501562.28,1501562.28,3960883.8315199995,3960883.8315199995 +28926000.0,1291519.5420000001,1157423.115,3379675.4958,1547302.5064200002,1547302.5064200002,1547302.5064200002,1471266.23,2596866.20664,4625807.2768,2195834.84253,3346034.04576,1335365.004,1335365.004,1335365.004,1699922.4340000001,1291519.5420000001,1291519.5420000001,1630900.7259999998,1676104.8281999999,2491395.3248799997,4345456.962,1233282.07112,1568503.03676,1468970.8499999999,1468970.8499999999,1468970.8499999999,1468970.8499999999,3883168.75628,3883168.75628 +28929600.0,1279913.943,1148197.497,3352736.69124,1521323.54583,1521323.54583,1521323.54583,1447158.3595000003,2567490.884,4581811.842560001,2173438.10355,3311905.6816000002,1321266.234,1321266.234,1321266.234,1680263.9910000002,1279913.943,1279913.943,1619475.6388199998,1658063.59695,2464578.48238,4298683.3995,1220007.28862,1551620.00801,1455073.665,1455073.665,1455073.665,1455073.665,3848274.5886199996,3848274.5886199996 +28933200.0,1219127.0129999998,1015794.4439999999,2966119.77648,1281669.55675,1281669.55675,1281669.55675,1089755.4465,2120553.4180799997,3285444.5235200003,1782537.36948,2716247.42016,1034037.3029999998,1034037.3029999998,1034037.3029999998,1317088.36,1219127.0129999998,1219127.0129999998,1536853.2539099997,1301649.3206999998,1934797.2618799997,3374646.3869999996,957756.7841199999,1218086.64826,1251293.871,1251293.871,1251293.871,1251293.871,3665508.5524199996,3665508.5524199996 +28936800.0,562116.4199999999,404104.95300000004,1179986.46276,711518.9099700002,711518.9099700002,711518.9099700002,458211.642,1089387.0708799998,1421376.5388800001,874019.88051,1331839.81792,506351.77800000005,506351.77800000005,506351.77800000005,593404.7035000001,562116.4199999999,562116.4199999999,908272.19418,303582.22469999996,451250.6154799999,787065.0269999999,223376.55052,284092.99546,704395.398,704395.398,704395.398,704395.398,1690096.7027999999,1690096.7027999999 +28940400.0,211458.05099999998,187053.87,546197.3004,224459.09178000002,224459.09178000002,224459.09178000002,85567.741,484408.14983999997,1124518.51328,408685.38333,622758.6793600001,313596.711,313596.711,313596.711,165741.36949999997,211458.05099999998,211458.05099999998,317213.78091,130477.45274999997,193944.26309999995,338274.87749999994,96005.63189999998,122101.12244999998,226514.685,226514.685,226514.685,226514.685,635783.8733399999,635783.8733399999 +28944000.0,228831.171,233144.577,680782.16484,208245.16823,208245.16823,208245.16823,81803.701,509425.68784,1189104.9568,421021.64769,641556.79648,316794.846,316794.846,316794.846,160897.29599999997,228831.171,228831.171,330457.77439999994,148055.99985000002,220073.36274,383848.88850000006,108939.97026000002,138551.17023000002,260107.419,260107.419,260107.419,260107.419,688019.05414,688019.05414 +28947600.0,259729.227,248164.83899999998,724641.32988,219042.09679,219042.09679,219042.09679,97704.761,522237.71928,1211339.5424000002,474492.1482,723035.6544,427606.37400000007,427606.37400000007,427606.37400000007,168453.72249999997,259729.227,259729.227,379485.26746,171591.2424,255056.61215999996,444866.184,126257.25984,160575.50832,351304.341,351304.341,351304.341,351304.341,780919.20918,780919.20918 +28951200.0,323148.36899999995,286781.235,837401.2061999999,224795.49763000003,224795.49763000003,224795.49763000003,104090.7945,678508.70832,1262365.30624,550541.06331,838919.7155200001,513102.114,513102.114,513102.114,316257.564,323148.36899999995,323148.36899999995,417159.47221000004,211873.22280000002,314932.54352,549300.9480000001,155896.84048,198271.48504000003,445471.665,445471.665,445471.665,445471.665,971599.4294599999,971599.4294599999 +28954800.0,413068.28099999996,309155.526,902734.13592,227605.24655,227605.24655,227605.24655,102934.64300000001,788714.8869599999,1387307.4944,650028.6546599999,990519.8547199998,551514.0869999999,551514.0869999999,551514.0869999999,333660.481,413068.28099999996,413068.28099999996,443084.64589999994,268742.47229999996,399464.11931999994,696739.743,197741.37467999998,251489.86914,523219.335,523219.335,523219.335,523219.335,1241958.63154,1241958.63154 +28958400.0,513171.063,352196.256,1028413.0675199999,236802.37614000004,236802.37614000004,236802.37614000004,114924.418,899141.8935199999,1702830.5408,766310.9674499999,1167711.9504,583651.743,583651.743,583651.743,407830.395,513171.063,513171.063,466138.80274,336211.03349999996,499750.7213999999,871658.2349999999,247384.90859999997,314627.11529999995,615091.572,615091.572,615091.572,615091.572,1542934.32942,1542934.32942 +28962000.0,599881.2180000001,457702.0800000001,1336490.0736,271344.64522,271344.64522,271344.64522,138970.4575,1076076.22168,1914730.86784,898296.5762400001,1368832.8780800002,634195.26,634195.26,634195.26,469556.56299999997,599881.2180000001,599881.2180000001,501574.61146,369739.50930000003,549588.11012,958583.9130000001,272055.24388,346003.14574,674225.049,674225.049,674225.049,674225.049,1803642.8621200002,1803642.8621200002 +28965600.0,777891.6059999999,520702.341,1520450.83572,454464.34,454464.34,454464.34,217495.87649999998,1646003.33424,2099888.84032,1217827.80063,1855737.60096,701752.203,701752.203,701752.203,641436.5545,777891.6059999999,777891.6059999999,763946.2730899998,442662.2257499999,657981.8762999999,1147642.8074999999,325711.95869999996,414244.40384999994,787620.885,787620.885,787620.885,787620.885,2338860.76204,2338860.76204 +28969200.0,1460800.785,851282.0279999999,2485743.52176,1980501.7272700001,1980501.7272700001,1980501.7272700001,1674748.7540000002,3834932.98488,4921276.64448,3461088.18615,5274039.1408,1632326.0549999997,1632326.0549999997,1632326.0549999997,2404439.506,1460800.785,1460800.785,3112801.288349999,2044592.4015000002,3039122.5326,5300795.115,1504416.1374000001,1913334.6177000003,1813447.623,1813447.623,1813447.623,1813447.623,4392141.0269,4392141.0269 +28972800.0,1398269.889,1371005.019,4003334.65548,2633944.3868100005,2633944.3868100005,2633944.3868100005,2440571.315,4849136.824320001,4085074.0294400007,3797677.4490900002,5786937.065280001,1540485.1709999999,1540485.1709999999,1540485.1709999999,2373420.9450000003,1398269.889,1398269.889,2547005.1345699998,2466265.1012999997,3665905.16292,6394020.633,1814683.95108,2307936.97134,1884084.336,1884084.336,1884084.336,1884084.336,4204131.46626,4204131.46626 +28976400.0,2274231.105,2421784.218,7071609.91656,2193808.97428,2193808.97428,2193808.97428,3054571.821,5044377.7829599995,7944321.83232,4179115.7349900003,6368176.358080001,2155090.863,2155090.863,2155090.863,1932915.4529999997,2274231.105,2274231.105,3460337.07357,2519164.2411,3744535.48924,6531166.551000001,1853607.2687600001,2357440.1169800004,2547511.35,2547511.35,2547511.35,2547511.35,6837854.8557,6837854.8557 +28980000.0,1712949.597,1335566.511,3899854.21212,866948.68128,866948.68128,866948.68128,1359922.9665,2568949.7101600002,8103868.5459199995,1805250.75843,2750858.29856,1639669.2089999998,1639669.2089999998,1639669.2089999998,1682242.226,1712949.597,1712949.597,2934149.0235199993,2465745.2554499996,3665132.453779999,6392672.8845,1814301.4472199997,2307450.4983099997,1171238.28,1171238.28,1171238.28,1171238.28,5150268.45498,5150268.45498 +28983600.0,766087.686,764491.3679999999,2232314.79456,357759.52421,357759.52421,357759.52421,532671.6745,1557436.0725599998,4935455.047040001,928510.3804200001,1414872.96064,601231.311,601231.311,601231.311,615778.814,766087.686,766087.686,949721.2099699999,1399231.5394499998,2079845.3993799996,3627637.3244999996,1029558.0216199999,1309404.3295099998,581742.294,581742.294,581742.294,581742.294,2303370.30924,2303370.30924 +28987200.0,915856.557,1302334.014,3802815.32088,737823.17345,737823.17345,737823.17345,1047405.401,1960883.24536,3283389.66144,1485467.47566,2263569.48672,786497.3220000002,786497.3220000002,786497.3220000002,1148708.4945,915856.557,915856.557,1076075.10959,955149.3189000001,1419752.81476,2476313.049,702801.22724,893831.09102,881500.2509999999,881500.2509999999,881500.2509999999,881500.2509999999,2753675.38138,2753675.38138 +28990800.0,743190.909,869092.206,2537749.24152,571156.97463,571156.97463,571156.97463,988254.5750000001,1454411.71568,2312255.1795200002,1087709.26698,1657461.74016,646369.4310000001,646369.4310000001,646369.4310000001,874488.888,743190.909,743190.909,842038.2344399999,771239.9893499999,1146386.3545399997,1999511.0834999997,567480.28846,721728.2863299999,673537.2239999999,673537.2239999999,673537.2239999999,673537.2239999999,2234527.33306,2234527.33306 +28994400.0,629214.882,540603.039,1578560.87388,339846.70126000006,339846.70126000006,339846.70126000006,654710.7175,1287360.65312,2075565.2512000003,937364.73642,1428365.31264,573934.77,573934.77,573934.77,506691.108,629214.882,629214.882,752077.9780799999,671583.00015,998254.2372599998,1741141.1114999999,494152.42974,628469.0297699999,596867.7930000001,596867.7930000001,596867.7930000001,596867.7930000001,1891839.4118799998,1891839.4118799998 +28998000.0,1076181.2370000002,1379613.744,4028472.13248,1587619.7717600001,1587619.7717600001,1587619.7717600001,1518013.7489999998,2412574.40704,3215852.9100800003,1883835.24966,2870606.09472,950144.3910000001,950144.3910000001,950144.3910000001,1490798.9145,1076181.2370000002,1076181.2370000002,1688571.2407199997,1434576.6549,2132383.07716,3719272.809,1055565.0448399999,1342480.37582,1176763.305,1176763.305,1176763.305,1176763.305,3235718.25258,3235718.25258 +29001600.0,1061535.8250000002,1442350.383,4211663.11836,1833585.1993800004,1833585.1993800004,1833585.1993800004,1303729.539,2732524.7346400004,3566769.24928,2069447.5563299998,3153443.89536,1123648.872,1123648.872,1123648.872,1743715.3020000001,1061535.8250000002,1061535.8250000002,1815594.11995,1498819.6827,2227875.18268,3885828.807,1102835.22332,1402599.15986,1272005.637,1272005.637,1272005.637,1272005.637,3191684.3805,3191684.3805 +29005200.0,981294.504,1422082.746,4152481.61832,1222345.79434,1222345.79434,1222345.79434,1152159.7605,2559135.82376,3573648.72768,1743072.70977,2656110.7958400003,987140.4720000001,987140.4720000001,987140.4720000001,1418493.9265,981294.504,981294.504,1504969.2550099997,1303661.4619500001,1937788.1483800001,3379863.0495000007,959237.3226200001,1219969.61501,1219702.488,1219702.488,1219702.488,1219702.488,2950425.47536,2950425.47536 +29008800.0,2278595.3189999997,1878767.4899999998,5486001.0708,3592785.7967100004,3592785.7967100004,3592785.7967100004,2961678.895,3727868.1480799997,7007593.38112,3823799.5332599995,5826742.145919999,2391472.806,2391472.806,2391472.806,3060046.3985,2278595.3189999997,2278595.3189999997,4063803.3243599995,2969494.5788999996,4413915.398759999,7698689.648999999,2184961.44324,2778860.35902,2560298.034,2560298.034,2560298.034,2560298.034,6850976.592459999,6850976.592459999 +29012400.0,1743526.4820000003,1006417.8360000001,2938740.08112,2401387.5864000004,2401387.5864000004,2401387.5864000004,1828159.4345,2799845.48648,4982702.698240001,2638298.8694999996,4020264.9439999997,1747856.145,1747856.145,1747856.145,2287880.0455,1743526.4820000003,1743526.4820000003,1580624.6194699998,2082358.6757999999,3095259.06872,5398707.678,1532204.65528,1948676.39044,1931066.1030000001,1931066.1030000001,1931066.1030000001,1931066.1030000001,5242202.95588,5242202.95588 +29016000.0,1293022.599,949706.793,2773143.8355599996,1429954.3046799998,1429954.3046799998,1429954.3046799998,1463126.5809999998,2147942.6501599997,4051391.35552,1901414.87025,2897394.088,1183648.662,1183648.662,1183648.662,1562105.027,1293022.599,1293022.599,1386904.31295,1527153.3368999998,2269990.8859599996,3959286.429,1123683.19604,1429113.86342,1333031.868,1333031.868,1333031.868,1333031.868,3887687.9476599996,3887687.9476599996 +29019600.0,1129183.1760000002,963321.321,2812898.25732,1305065.4307900001,1305065.4307900001,1305065.4307900001,1281427.322,2067016.8708,3899792.68864,1823361.5003099998,2778455.6195199997,1117096.011,1117096.011,1117096.011,1489396.4785000002,1129183.1760000002,1129183.1760000002,1419112.5395199999,1461627.8887499997,2172592.5654999996,3789405.6374999997,1075469.4094999998,1367794.9872499998,1274715.138,1274715.138,1274715.138,1274715.138,3395077.4158400004,3395077.4158400004 +29023200.0,800125.4580000001,685578.7289999999,2001889.8886799999,872494.7237600001,872494.7237600001,872494.7237600001,695540.909,1087446.9703199998,2409564.26752,1054664.72055,1607108.1456,601007.163,601007.163,601007.163,744070.5684999999,800125.4580000001,800125.4580000001,999754.63757,686015.53155,1019707.0370199999,1778558.7855,504771.92198000004,641975.02829,811823.922,811823.922,811823.922,811823.922,2405710.54372,2405710.54372 +29026800.0,138903.03300000002,119999.97899999999,350399.93867999996,165431.01893999998,165431.01893999998,165431.01893999998,69231.5925,226504.82048,849220.30656,281424.26318999997,428836.97248,200922.93,200922.93,200922.93,127852.28749999999,138903.03300000002,138903.03300000002,253179.84782999998,100238.06294999999,148995.83677999998,259876.4595,73755.41421999999,93803.02681,177588.64500000002,177588.64500000002,177588.64500000002,177588.64500000002,417635.11922000005,417635.11922000005 +29030400.0,140634.228,118133.196,344948.93231999996,139595.07408000002,139595.07408000002,139595.07408000002,47768.931,243709.62984,827379.9142400001,284236.55484,433122.36928000004,193807.977,193807.977,193807.977,121492.79449999999,140634.228,140634.228,246366.50687999997,92127.16845,136939.64298,238848.2145,67787.39802000001,86212.83171,176767.356,176767.356,176767.356,176767.356,422840.24552,422840.24552 +29034000.0,152635.896,138555.693,404582.62356,134866.55622,134866.55622,134866.55622,57075.255999999994,283792.80272,823591.2915200001,306161.4318,466531.70560000004,192930.66,192930.66,192930.66,119196.34650000001,152635.896,152635.896,267887.58203999995,99680.47110000001,148167.02124,258430.85100000002,73345.13676000001,93281.23098000001,179302.368,179302.368,179302.368,179302.368,458925.26063999993,458925.26063999993 +29037600.0,187172.424,154936.8,452415.45599999995,135368.31396,135368.31396,135368.31396,63881.1845,359145.91391999996,833860.62976,346356.96228000004,527782.0377600001,199631.208,199631.208,199631.208,122098.91050000003,187172.424,187172.424,281650.18492,120442.67055,179028.36461999998,312258.7755,88622.01438000001,112710.54849,227802.321,227802.321,227802.321,227802.321,562765.0881599999,562765.0881599999 +29041200.0,223528.305,164745.15000000002,481055.838,146959.21405,146959.21405,146959.21405,80301.011,388184.07,838799.39904,381479.18634,581301.61728,289090.809,289090.809,289090.809,191120.405,223528.305,223528.305,298439.22056,142312.4964,211536.10575999998,368958.32399999996,104713.88623999999,133176.38552,290055.633,290055.633,290055.633,290055.633,672075.1037,672075.1037 +29044800.0,276367.446,219936.924,642215.81808,174416.84634,174416.84634,174416.84634,84524.5345,505570.75639999995,894333.01888,447417.45279,681778.97568,377620.086,377620.086,377620.086,247870.36049999995,276367.446,276367.446,334865.69207000005,166227.73020000002,247084.18168,430960.78200000006,122310.77432000001,155556.32036,346655.049,346655.049,346655.049,346655.049,830944.78764,830944.78764 +29048400.0,383444.592,269046.276,785615.12592,208841.19124000001,208841.19124000001,208841.19124000001,100166.913,676482.24,1153322.67136,590798.83317,900264.88864,470076.534,470076.534,470076.534,293252.96699999995,383444.592,383444.592,395520.85507999995,210470.08409999998,312846.89044,545663.181,154864.40756,196958.42438,476393.718,476393.718,476393.718,476393.718,1152890.07328,1152890.07328 +29052000.0,613593.246,324086.865,946333.6457999999,324505.67875,324505.67875,324505.67875,191919.30099999998,1236250.9412,1501677.5865600002,930030.70503,1417189.64576,548929.878,548929.878,548929.878,445334.3545,613593.246,613593.246,618321.3489699999,324598.26195,482489.26838,841551.0495000001,238840.20262000003,303759.85501000006,646791.03,646791.03,646791.03,646791.03,1844870.35964,1844870.35964 +29055600.0,1355895.3630000001,756509.7390000001,2209008.43788,1758386.4304600002,1758386.4304600002,1758386.4304600002,1537961.733,3624774.6280799997,4600532.2752,3206223.87078,4885674.469760001,1373154.0389999999,1373154.0389999999,1373154.0389999999,1993814.1194999996,1355895.3630000001,1355895.3630000001,2794609.95671,1734967.0502999998,2578889.2945199995,4498062.722999999,1276593.03948,1623586.44954,1688594.4809999997,1688594.4809999997,1688594.4809999997,1688594.4809999997,4076725.39142,4076725.39142 +29059200.0,1240875.915,1307887.401,3819031.21092,2338661.38946,2338661.38946,2338661.38946,2083411.2389999998,4534525.86272,3652556.6022400004,3523837.4934,5369657.1328,1442597.736,1442597.736,1442597.736,1982056.6955,1240875.915,1240875.915,2411462.55727,2294341.1595,3410354.0198,5948291.895,1688181.8902,2147050.1221,1722484.6469999999,1722484.6469999999,1722484.6469999999,1722484.6469999999,3730900.2510999995,3730900.2510999995 +29062800.0,2155195.872,2319698.3759999997,6773519.257919999,1831579.49524,1831579.49524,1831579.49524,2541246.6835000003,4681652.1768,7621253.408000001,3868590.65418,5894995.28256,2037464.454,2037464.454,2037464.454,1756621.4294999999,2155195.872,2155195.872,2882101.9230899992,2121281.3223,3153114.45932,5499618.243000001,1560844.03468,1985100.29914,2417819.3310000002,2417819.3310000002,2417819.3310000002,2417819.3310000002,6479955.588479999,6479955.588479999 +29066400.0,1637109.951,1251800.898,3655258.6221600003,842415.33585,842415.33585,842415.33585,1063443.3285,2511115.86896,7540965.416320001,1641917.1938399998,2501969.05728,1584618.822,1584618.822,1584618.822,1636841.3775,1637109.951,1637109.951,2195988.87664,2366716.35645,3517933.94218,6135931.2945,1741435.7388199999,2214779.01011,1149076.5359999998,1149076.5359999998,1149076.5359999998,1149076.5359999998,4922243.919339999,4922243.919339999 +29070000.0,716935.9199999999,662646.879,1934928.88668,310182.70569000003,310182.70569000003,310182.70569000003,497257.0854999999,1345480.36816,3959473.1769600003,817326.68325,1245450.1840000001,543635.9010000001,543635.9010000001,543635.9010000001,543913.0375,716935.9199999999,716935.9199999999,656945.5960599999,1138431.1131,1692186.49404,2951488.071,837660.42396,1065346.6465800002,521652.387,521652.387,521652.387,521652.387,2155587.3328,2155587.3328 +29073600.0,809095.14,1175288.2410000002,3431841.66372,635067.5985500001,635067.5985500001,635067.5985500001,940058.3499999999,1706337.6006399998,2734822.43328,1322226.9465299998,2014822.01376,692292.2640000001,692292.2640000001,692292.2640000001,1058229.5045,809095.14,809095.14,889718.25891,832438.4863499999,1237353.0093399999,2158173.8535,612510.29366,778997.99093,782545.6889999999,782545.6889999999,782545.6889999999,782545.6889999999,2432679.3876,2432679.3876 +29077200.0,607400.079,659627.589,1926112.55988,432623.61296000006,432623.61296000006,432623.61296000006,856230.347,1232845.8124,1818171.07456,877179.7582800001,1336654.8697600001,525956.406,525956.406,525956.406,682640.56,607400.079,607400.079,619580.9629099999,600556.6556999999,892679.2758799999,1556998.7369999997,441891.07011999993,562002.40126,537931.506,537931.506,537931.506,537931.506,1826249.5708599999,1826249.5708599999 +29080800.0,512483.5889999999,425078.87400000007,1241230.31208,203765.33144000004,203765.33144000004,203765.33144000004,475580.77,1076164.9312800001,1588869.97184,736567.8999,1122389.1808,466333.608,466333.608,466333.608,386804.85199999996,512483.5889999999,512483.5889999999,548765.2424799999,501088.9149,744828.46116,1299119.409,368702.46084,468920.24382,467018.895,467018.895,467018.895,467018.895,1540867.3242599997,1540867.3242599997 +29084400.0,1057435.671,1256623.341,3669340.1557199997,1538437.9080400001,1538437.9080400001,1538437.9080400001,1507439.199,2343793.95304,3187178.0825599995,1848479.0942100002,2816730.0483200005,935060.1599999999,935060.1599999999,935060.1599999999,1495408.4565,1057435.671,1057435.671,1574650.8543999998,1427510.3931,2121879.64604,3700952.871,1050365.67196,1335867.75058,1103207.358,1103207.358,1103207.358,1103207.358,3179356.58414,3179356.58414 +29088000.0,1064584.1970000002,1434565.827,4188932.21484,1761023.1107700001,1761023.1107700001,1761023.1107700001,1327034.009,2703001.0292800004,3591141.1020800006,2027116.0935900002,3088938.8092800006,1140325.92,1140325.92,1140325.92,1748265.7325,1064584.1970000002,1064584.1970000002,1788070.64579,1505615.2344,2237976.22496,3903446.904,1107835.40704,1408958.45392,1268001.8820000002,1268001.8820000002,1268001.8820000002,1268001.8820000002,3200849.81898,3200849.81898 +29091600.0,995462.427,1415576.205,4133482.5185999996,1194059.39609,1194059.39609,1194059.39609,1178078.3595000003,2600837.1088,3643231.3433600008,1774420.02318,2703878.13056,1010703.492,1010703.492,1010703.492,1437102.457,995462.427,995462.427,1519541.0778599998,1325160.6520499997,1969744.9692199996,3435601.6904999996,975056.4797799999,1240088.61019,1235407.791,1235407.791,1235407.791,1235407.791,2993023.69718,2993023.69718 +29095200.0,2302028.823,1903534.956,5558322.07152,3604264.3118900005,3604264.3118900005,3604264.3118900005,2993472.0725,3737537.84488,7119768.574720001,3862183.28727,5885231.675840001,2420008.818,2420008.818,2420008.818,3096930.6374999997,2302028.823,2302028.823,4006066.1093699993,2999965.64895,4459208.1991799995,7777688.7195,2207382.13182,2807375.26161,2583849.9809999997,2583849.9809999997,2583849.9809999997,2583849.9809999997,6921433.327819999,6921433.327819999 +29098800.0,1770260.6220000002,1042735.9650000001,3044789.0178,2354391.82957,2354391.82957,2354391.82957,1864202.9385000002,2875064.2543200003,5093545.059200001,2676034.26846,4077766.50432,1791210.792,1791210.792,1791210.792,2325436.1865000003,1770260.6220000002,1770260.6220000002,1618306.3037699999,2101572.7222499996,3123819.2068999996,5448521.8725,1546342.3980999999,1966656.9425499998,1950225.5100000002,1950225.5100000002,1950225.5100000002,1950225.5100000002,5322583.60348,5322583.60348 +29102400.0,1352991.462,1003772.94,2931016.9847999997,1449894.5533600003,1449894.5533600003,1449894.5533600003,1524209.6870000002,2271397.70976,4301241.54688,1996452.9351899999,3042213.9964799997,1251486.501,1251486.501,1251486.501,1653719.858,1352991.462,1352991.462,1445590.0647500001,1608395.9157,2390751.45988,4169915.337,1183461.68612,1505140.86926,1407369.4679999999,1407369.4679999999,1407369.4679999999,1407369.4679999999,4067994.32908,4067994.32908 +29106000.0,1199512.434,1030318.83,3008530.9836,1380059.5886000001,1380059.5886000001,1380059.5886000001,1358469.5284999998,2222036.1084,4195693.39392,1942099.22088,2959389.28896,1207458.594,1207458.594,1207458.594,1608082.6999999997,1199512.434,1199512.434,1504071.11257,1562386.1337,2322361.6110799997,4050630.7169999997,1149607.57492,1462084.8016599999,1361609.3850000002,1361609.3850000002,1361609.3850000002,1361609.3850000002,3606534.05156,3606534.05156 +29109600.0,849571.4580000001,738717.201,2157054.22692,925896.8559500001,925896.8559500001,925896.8559500001,745370.8885,1182371.8895999999,2620173.2691200003,1134097.36944,1728148.37248,655036.611,655036.611,655036.611,809877.4635,849571.4580000001,849571.4580000001,1067581.72703,741803.6052,1102631.53168,1923194.5320000001,545820.9243200001,694181.6453600001,872622.2250000001,872622.2250000001,872622.2250000001,872622.2250000001,2554378.18372,2554378.18372 +29113200.0,156156.111,135405.021,395382.66131999996,183749.65752000004,183749.65752000004,183749.65752000004,73693.8685,260888.01903999998,989182.0083200001,322871.69586,491994.96511999995,231124.42799999999,231124.42799999999,231124.42799999999,145374.299,156156.111,156156.111,287270.77574,114304.4136,169904.33824,296344.776,84105.46976,106966.35248,199378.08599999998,199378.08599999998,199378.08599999998,199378.08599999998,469509.37374,469509.37374 +29116800.0,158294.06699999998,136737.357,399273.08243999997,157892.7196,157892.7196,157892.7196,56733.22549999999,301212.1912,966057.1232,326838.9999,498040.3808,223489.34100000001,223489.34100000001,223489.34100000001,139236.153,158294.06699999998,158294.06699999998,282697.23533999996,106225.46955,157895.63622,275399.36549999996,78160.96278,99406.05669,199067.217,199067.217,199067.217,199067.217,475937.49477999995,475937.49477999995 +29120400.0,203028.33899999998,174778.974,510354.60407999996,164925.37842,164925.37842,164925.37842,68713.2285,443402.95776,1044584.45888,393056.53212000005,598943.2870400001,252097.67399999997,252097.67399999997,252097.67399999997,147086.485,203028.33899999998,203028.33899999998,340157.51457999996,135377.22779999996,201227.38551999995,350977.99799999996,99610.89847999999,126686.34403999998,234985.419,234985.419,234985.419,234985.419,610438.53926,610438.53926 +29124000.0,258130.91400000002,204937.90199999997,598418.67384,177557.29904,177557.29904,177557.29904,94743.705,493453.35208000004,1072624.2752,450862.16049000004,687028.0540800001,362403.65400000004,362403.65400000004,362403.65400000004,217107.8385,258130.91400000002,258130.91400000002,363623.69121,169881.55515,252515.29926,440433.66150000005,124999.26774000001,158975.57877000002,344801.68200000003,344801.68200000003,344801.68200000003,344801.68200000003,776113.61476,776113.61476 +29127600.0,311613.66599999997,262979.00399999996,767898.6916799999,198901.67737000002,198901.67737000002,198901.67737000002,97382.796,621984.1717599999,1094894.9388800003,518487.24648000003,790075.80416,461667.93,461667.93,461667.93,294830.9875,311613.66599999997,311613.66599999997,394337.55179,195532.8417,290643.87828,506936.997,143873.54772,182980.11606,406030.69200000004,406030.69200000004,406030.69200000004,406030.69200000004,936918.4224399999,936918.4224399999 +29131200.0,391350.69899999996,284588.41199999995,830998.1630399999,209721.39386000004,209721.39386000004,209721.39386000004,97226.9515,720519.9980799999,1186189.78048,615613.46049,938077.65408,502342.38899999997,502342.38899999997,502342.38899999997,309504.89849999995,391350.69899999996,391350.69899999996,414888.5798199999,223789.84965,332645.65306,580195.9064999999,164665.12394,209423.09386999998,502797.843,502797.843,502797.843,502797.843,1176661.10166,1176661.10166 +29134800.0,515919.72899999993,336549.86100000003,982725.59412,234311.37741000002,234311.37741000002,234311.37741000002,118965.847,846611.05264,1517714.0428799998,764609.63376,1165119.4419200001,555383.6639999999,555383.6639999999,555383.6639999999,342568.8735,515919.72899999993,515919.72899999993,441326.23496,308389.16160000005,458395.74144,799527.4560000001,226913.50656000004,288591.33888000005,601374.9929999999,601374.9929999999,601374.9929999999,601374.9929999999,1551198.6518599999,1551198.6518599999 +29138400.0,702703.119,463509.89100000006,1353448.8817200002,377210.26992000005,377210.26992000005,377210.26992000005,207452.427,1455439.41552,1838745.8073600002,1081723.98894,1648341.31648,611385.765,611385.765,611385.765,573457.2585,702703.119,702703.119,673324.6321099999,398553.14519999997,592417.2676799999,1033285.9319999999,293256.38831999997,372967.01736,729073.467,729073.467,729073.467,729073.467,2112794.04446,2112794.04446 +29142000.0,1402601.415,814546.932,2378477.0414400003,1894519.8800000001,1894519.8800000001,1894519.8800000001,1594834.0659999999,3758915.46856,4821429.70944,3356907.1823699996,5115287.13504,1514154.5459999999,1514154.5459999999,1514154.5459999999,2289298.7285,1402601.415,1402601.415,2977431.0725899995,1870791.4952999998,2780781.43252,4850200.173,1376533.00148,1750691.30054,1747991.247,1747991.247,1747991.247,1747991.247,4217154.9211,4217154.9211 +29145600.0,1373915.4,1381430.9880000001,4033778.4849600005,2568596.51972,2568596.51972,2568596.51972,2315265.3754999996,4826775.96072,4050769.8137600003,3735126.67899,5691621.606079999,1548767.43,1548767.43,1548767.43,2227893.395,1373915.4,1373915.4,2544487.3881699997,2443863.0568500003,3632606.3215400004,6335941.2585,1798200.4714600001,2286973.08283,1877740.1070000003,1877740.1070000003,1877740.1070000003,1877740.1070000003,4130905.6359999995,4130905.6359999995 +29149200.0,2269484.685,2410593.7589999996,7038933.776279999,2011149.29532,2011149.29532,2011149.29532,2908269.021,4989714.46608,7945452.481920001,4121587.36311,6280514.07712,2162577.3959999997,2162577.3959999997,2162577.3959999997,1908853.366,2269484.685,2269484.685,3226736.59048,2396676.1464,3562466.76576,6213604.824,1763480.22624,2242815.4555200003,2532829.788,2532829.788,2532829.788,2532829.788,6823583.9529,6823583.9529 +29152800.0,1680931.419,1248508.365,3645644.4258,801363.19538,801363.19538,801363.19538,1159474.1164999998,2512545.974,7736198.85632,1683235.59789,2564930.43488,1623875.9730000002,1623875.9730000002,1623875.9730000002,1648198.1320000002,1680931.419,1680931.419,2104815.44689,2367478.1493,3519066.2861200003,6137906.313000001,1741996.2678800002,2215491.8977400004,1130666.28,1130666.28,1130666.28,1130666.28,5054000.46646,5054000.46646 +29156400.0,810849.9450000001,733179.885,2140885.2642,369650.83100000006,369650.83100000006,369650.83100000006,587715.5935000001,1552127.1212799998,4774578.0032,985872.7548600001,1502282.29312,652925.196,652925.196,652925.196,658065.394,810849.9450000001,810849.9450000001,743498.4869,1385518.99275,2059462.7991,3592086.2775000003,1019468.2959,1296572.09445,625434.978,625434.978,625434.978,625434.978,2437955.5013,2437955.5013 +29160000.0,897221.751,1245609.6779999998,3637180.25976,695317.50167,695317.50167,695317.50167,1031779.133,1882318.5955199997,3012891.5584,1438658.58843,2192241.65856,772657.7039999999,772657.7039999999,772657.7039999999,1131262.3665,897221.751,897221.751,966303.4011799998,923235.4525499999,1372315.4134199999,2393573.3954999996,679318.9255799999,863966.0160899999,864108.36,864108.36,864108.36,864108.36,2697646.73134,2697646.73134 +29163600.0,621643.992,703733.814,2054902.7368800002,423345.43746,423345.43746,423345.43746,863466.072,1252381.3132,1823792.05248,884951.9769300001,1348498.25056,535820.4569999999,535820.4569999999,535820.4569999999,771836.8454999999,621643.992,621643.992,606236.1710600001,604499.67495,898540.25758,1567221.3795,444792.35342,565692.28841,541603.8870000001,541603.8870000001,541603.8870000001,541603.8870000001,1869076.26928,1869076.26928 +29167200.0,499700.68499999994,404519.83499999996,1181197.9181999997,177062.92021,177062.92021,177062.92021,490518.9975,1040867.59752,1493382.63104,705214.4475600001,1074612.4915200002,446646.105,446646.105,446646.105,366947.511,499700.68499999994,499700.68499999994,516846.31336,472070.74185,701695.27554,1223887.1084999999,347350.81746,441764.96583,445943.18100000004,445943.18100000004,445943.18100000004,445943.18100000004,1502433.3928999999,1502433.3928999999 +29170800.0,1085102.304,1342268.37,3919423.6404000004,1547973.7023300002,1547973.7023300002,1547973.7023300002,1538233.8369999998,2452658.7245599995,3260204.20736,1872278.31546,2852995.52832,953838.795,953838.795,953838.795,1513793.5435000001,1085102.304,1085102.304,1554499.39788,1455656.3055,2163716.2862,3773923.755,1071075.5038,1362206.7649,1158517.479,1158517.479,1158517.479,1158517.479,3262540.9273599996,3262540.9273599996 +29174400.0,1166443.725,1534316.0850000002,4480202.9682,1876456.0885400001,1876456.0885400001,1876456.0885400001,1431620.4875,2959124.2624000004,4001595.6953600002,2218022.20584,3379843.3612800003,1248168.1889999998,1248168.1889999998,1248168.1889999998,1849098.5555,1166443.725,1166443.725,1927581.60777,1640467.78875,2438423.7255,4253064.6375,1207060.2495000002,1535153.80725,1382556.555,1382556.555,1382556.555,1382556.555,3507107.4665,3507107.4665 +29178000.0,1089350.01,1531023.2280000001,4470587.825759999,1308482.55802,1308482.55802,1308482.55802,1279039.8355,2795315.01304,4001609.9264000007,1929552.26226,2940270.1139200004,1136060.604,1136060.604,1136060.604,1558141.7355,1089350.01,1089350.01,1641973.7981399999,1444840.416,2147639.3344,3745882.5600000005,1063117.1456000002,1352085.2288000002,1344808.614,1344808.614,1344808.614,1344808.614,3275312.3633999997,3275312.3633999997 +29181600.0,2391120.915,2000781.3120000002,5842281.43104,3699564.5910300002,3699564.5910300002,3699564.5910300002,3102253.8049999997,4004319.53352,7555596.5900799995,4013905.9134299997,6116428.05856,2525685.33,2525685.33,2525685.33,3222760.5409999997,2391120.915,2391120.915,4191776.3806099994,3154475.3278499995,4688874.437939999,8178269.368499999,2321070.73506,2951965.8006299995,2715276.282,2715276.282,2715276.282,2715276.282,7189303.5511,7189303.5511 +29185200.0,1907487.7349999999,1177729.287,3438969.51804,2582587.56393,2582587.56393,2582587.56393,2002234.7099999997,3162259.50528,5718583.24864,2961340.60068,4512519.01056,1955495.715,1955495.715,1955495.715,2646963.081,1907487.7349999999,1907487.7349999999,1802003.7583599999,2367502.0078499997,3519101.7499399995,6137968.1685,1742013.82306,2215514.22463,2183290.548,2183290.548,2183290.548,2183290.548,5735179.789899999,5735179.789899999 +29188800.0,1503600.4619999998,1128892.308,3296365.53936,1687946.1264600002,1687946.1264600002,1687946.1264600002,1756782.9054999999,2569711.58488,4949770.57024,2248762.92438,3426686.36096,1481220.003,1481220.003,1481220.003,1964335.5304999999,1503600.4619999998,1503600.4619999998,1615366.5231599996,1819872.1737,2705093.94708,4718187.117,1339066.4389199999,1703040.87366,1591003.281,1591003.281,1591003.281,1591003.281,4520825.389079999,4520825.389079999 +29192400.0,1341382.644,1158539.7719999999,3382936.13424,1566816.7034300002,1566816.7034300002,1566816.7034300002,1535968.8365,2519909.88696,4749670.549760001,2181300.10224,3323885.8700800003,1365805.77,1365805.77,1365805.77,1828669.7484999998,1341382.644,1341382.644,1703264.3188599998,1758075.6537,2613238.37908,4557973.917,1293596.40692,1645211.5376600001,1529413.9770000002,1529413.9770000002,1529413.9770000002,1529413.9770000002,4033090.4829599997,4033090.4829599997 +29196000.0,946777.449,832187.904,2429988.67968,1040857.08287,1040857.08287,1040857.08287,832262.298,1340846.72528,2987804.81344,1301465.31228,1983185.2377600002,746221.068,746221.068,746221.068,920745.3674999999,946777.449,946777.449,1200475.94719,840799.9705499999,1249781.6846199997,2179851.7755,618662.69438,786822.68849,986009.328,986009.328,986009.328,986009.328,2846644.19666,2846644.19666 +29199600.0,177693.063,149464.863,436437.39996000007,201412.70864000003,201412.70864000003,201412.70864000003,78219.855,319366.81816,1110523.9936000002,371553.99519000005,566177.5164800001,257331.447,257331.447,257331.447,161507.1815,177693.063,177693.063,318454.4723099999,127689.2343,189799.80012,331046.163,93954.05388,119491.90074000001,225070.58700000003,225070.58700000003,225070.58700000003,225070.58700000003,534263.80942,534263.80942 +29203200.0,196699.647,160959.48599999998,470001.69911999995,178963.00378000003,178963.00378000003,178963.00378000003,68646.921,459615.14816,1111358.1196800002,388297.65387,591691.66304,270147.98699999996,270147.98699999996,270147.98699999996,157603.3375,196699.647,196699.647,327440.29305,123980.5683,184287.16572,321431.103,91225.20828,116021.32194000001,225360.41999999998,225360.41999999998,225360.41999999998,225360.41999999998,591410.27198,591410.27198 +29206800.0,239904.85799999998,200303.60399999996,584886.5236799999,181089.25725000002,181089.25725000002,181089.25725000002,80234.056,486055.0824,1124177.4035200002,441796.40987999993,673213.57696,307234.122,307234.122,307234.122,158620.89950000003,239904.85799999998,239904.85799999998,365007.35504999995,159954.83909999998,237760.03243999998,414697.73099999997,117695.16556,149686.13337999998,295759.266,295759.266,295759.266,295759.266,721313.9397199999,721313.9397199999 +29210400.0,300597.228,265443.132,775093.9454399999,202014.55582,202014.55582,202014.55582,104076.294,585527.9484,1170708.21504,508727.31377999997,775203.52576,445877.079,445877.079,445877.079,288972.47750000004,300597.228,300597.228,402771.99260999996,190631.71394999998,283358.74517999997,494230.3694999999,140267.28582,178393.62860999999,401595.114,401595.114,401595.114,401595.114,903795.6655199999,903795.6655199999 +29214000.0,365449.983,293082.768,855801.6825599999,223755.71845000001,223755.71845000001,223755.71845000001,104407.35549999999,727353.6740799999,1227795.7164800002,596299.01982,908646.1254400001,525537.78,525537.78,525537.78,327424.27900000004,365449.983,365449.983,436550.07811999996,224625.64815,333888.00045999995,582362.7915,165280.10654,210205.23617,480966.456,480966.456,480966.456,480966.456,1098786.28222,1098786.28222 +29217600.0,492384.74100000004,326276.025,952725.993,234070.03862,234070.03862,234070.03862,110699.631,845914.6676799998,1458505.8771200003,747536.3952,1139103.0784,571949.493,571949.493,571949.493,351564.89200000005,492384.74100000004,492384.74100000004,458480.13795999996,294690.02444999997,438033.07337999996,764011.1745,216833.64762,275771.65251,599342.871,599342.871,599342.871,599342.871,1480436.78794,1480436.78794 +29221200.0,582537.669,432581.967,1263139.34364,257949.81938,257949.81938,257949.81938,132618.80099999998,1001853.4716799998,1787780.9280000003,876236.01009,1335216.77728,601066.182,601066.182,601066.182,427757.91449999996,582537.669,582537.669,485347.41267999995,355791.35789999994,528855.30236,922422.0389999999,261792.15963999997,332950.43121999997,666584.6370000001,666584.6370000001,666584.6370000001,666584.6370000001,1751496.5914599998,1751496.5914599998 +29224800.0,755932.314,505216.1910000001,1475231.2777200001,441676.12731000007,441676.12731000007,441676.12731000007,217450.387,1591921.5061599999,1991438.0121600002,1186663.16265,1808248.6288000003,651197.274,651197.274,651197.274,633331.86,755932.314,755932.314,771602.4655299999,433785.1077,644786.75268,1124628.057,319180.15332000004,405937.17486,771754.9380000001,771754.9380000001,771754.9380000001,771754.9380000001,2272836.49076,2272836.49076 +29228400.0,1459859.748,844885.221,2467064.84532,1966143.89873,1966143.89873,1966143.89873,1638267.0255,3829370.3556800005,4925077.05024,3453813.3705599997,5262953.70752,1608497.9880000001,1608497.9880000001,1608497.9880000001,2365986.6019999995,1459859.748,1459859.748,3102527.50834,1976033.9042999998,2937215.8281199997,5123050.863,1453970.62588,1849177.40674,1815084.597,1815084.597,1815084.597,1815084.597,4389311.64232,4389311.64232 +29232000.0,1477712.3699999999,1438739.649,4201119.77508,2655043.8488200004,2655043.8488200004,2655043.8488200004,2515672.2954999995,4956780.866479999,4269164.64128,3883702.51668,5918022.88256,1614348.8429999999,1614348.8429999999,1614348.8429999999,2432153.5454999995,1477712.3699999999,1477712.3699999999,2713240.50946,2546649.65115,3785390.34566,6602425.021500001,1873831.10134,2383161.03157,1966485.531,1966485.531,1966485.531,1966485.531,4442988.5258,4442988.5258 +29235600.0,2379443.445,2510159.313,7329665.19396,2236904.44197,2236904.44197,2236904.44197,3105326.6125,5220053.59112,8295620.6144,4340748.31848,6614473.62816,2283976.839,2283976.839,2283976.839,2052234.3835000005,2379443.445,2379443.445,3535864.98265,2598924.77505,3863093.12242,6737953.1205,1912295.26658,2432080.22159,2641084.836,2641084.836,2641084.836,2641084.836,7154193.291299999,7154193.291299999 +29239200.0,2003318.1749999998,1551127.143,4529291.25756,1142410.5385,1142410.5385,1142410.5385,1653062.0890000002,3130026.2151199994,9055578.180480001,2308782.30114,3518144.45888,1963811.2859999998,1963811.2859999998,1963811.2859999998,1978137.4585000002,2003318.1749999998,2003318.1749999998,2670007.5175799998,2757291.4107,4098492.4178799996,7148533.2870000005,2028821.82812,2580280.11026,1528049.8380000002,1528049.8380000002,1528049.8380000002,1528049.8380000002,6023309.979499999,6023309.979499999 +29242800.0,1172813.457,1041730.6020000002,3041853.35784,741803.25494,741803.25494,741803.25494,969092.7959999999,2243108.99504,6401755.878400001,1614279.8082599998,2459854.94592,1087653.651,1087653.651,1087653.651,1041953.2725,1172813.457,1172813.457,1331429.54399,2040841.3927499999,3033546.9591,5291070.2775,1501656.1359,1909824.41445,1028807.3400000001,1028807.3400000001,1028807.3400000001,1028807.3400000001,3526259.12738,3526259.12738 +29246400.0,1173965.088,1526674.4759999998,4457889.46992,937323.3361800001,937323.3361800001,937323.3361800001,1294474.314,2453968.4088,4436045.399680001,1911485.3381400001,2912739.56288,1113587.901,1113587.901,1113587.901,1418677.4595,1173965.088,1173965.088,1470127.1397799999,1285633.4255999997,1910990.9190399996,3333123.6959999995,945972.2489599999,1203098.9340799998,1166906.859,1166906.859,1166906.859,1166906.859,3529721.6979199997,3529721.6979199997 +29250000.0,988196.832,1034779.101,3021554.97492,777973.20656,777973.20656,777973.20656,1249194.2995,1920586.3985600001,3210948.1190400003,1472097.3594600002,2243195.9763200004,928896.228,928896.228,928896.228,1175984.208,988196.832,988196.832,1190903.4747999997,1080063.7038,1605428.0239199998,2800165.1580000003,794713.5400800001,1010726.28084,934081.6529999999,934081.6529999999,934081.6529999999,934081.6529999999,2971178.47488,2971178.47488 +29253600.0,834460.8870000001,769849.797,2247961.4072399996,513299.5762400001,513299.5762400001,513299.5762400001,964218.4824999999,1688207.5600800002,2844380.3449600004,1279917.20913,1950350.0329600002,808770.5160000001,808770.5160000001,808770.5160000001,768185.327,834460.8870000001,834460.8870000001,1035277.2283099999,937416.04155,1393393.7210199998,2430337.8855,689753.0379799999,877236.2462899999,820177.668,820177.668,820177.668,820177.668,2508945.7335800002,2508945.7335800002 +29257200.0,1246785.531,1668463.134,4871912.35128,1759852.2124700004,1759852.2124700004,1759852.2124700004,1707553.071,2866323.57304,3816703.912960001,2161755.14016,3294103.07072,1153644.507,1153644.507,1153644.507,1640246.6395,1246785.531,1246785.531,1910894.7894399997,1637035.9119000002,2433322.51596,4244167.1790000005,1204535.0660400002,1531942.24842,1480390.818,1480390.818,1480390.818,1480390.818,3748668.4965399997,3748668.4965399997 +29260800.0,1225731.453,1587111.903,4634366.756759999,2094503.8843300005,2094503.8843300005,2094503.8843300005,1469644.7534999999,3118983.4700800003,4106577.0112,2384533.07484,3633574.20928,1292354.28,1292354.28,1292354.28,1966310.8114999998,1225731.453,1225731.453,1966162.0309499998,1666420.2049500002,2476999.90958,4320348.679500001,1226156.1014200002,1559440.14241,1430619.852,1430619.852,1430619.852,1430619.852,3685365.90202,3685365.90202 +29264400.0,1096861.3139999998,1522947.312,4447006.151039999,1488637.41653,1488637.41653,1488637.41653,1283116.3415,2781541.49568,3954430.5689600008,1947008.7468299998,2966870.47136,1127042.352,1127042.352,1127042.352,1596701.3265,1096861.3139999998,1096861.3139999998,1643769.52025,1468914.6042000002,2183423.68328,3808297.1220000004,1080830.9927200002,1374613.9135600002,1350336.993,1350336.993,1350336.993,1350336.993,3297896.3507599994,3297896.3507599994 +29268000.0,2361763.989,1978262.9670000002,5776527.86364,3706648.36498,3706648.36498,3706648.36498,3066127.0115,4004696.65736,7371169.024640001,3966706.11015,6044504.5488,2493254.9280000003,2493254.9280000003,2493254.9280000003,3198944.238,2361763.989,2361763.989,4330443.649349999,3110305.12065,4623218.969459999,8063754.0165,2288570.18754,2910631.21167,2695870.719,2695870.719,2695870.719,2695870.719,7101037.060260001,7101037.060260001 +29271600.0,1874785.434,1126725.645,3290038.8834,2699174.1343600005,2699174.1343600005,2699174.1343600005,1945839.8994999998,3035310.5138399997,5657720.343680001,2908164.8026199997,4431489.22304,1897324.6950000003,1897324.6950000003,1897324.6950000003,2732193.583,1874785.434,1874785.434,1869480.42489,2398176.92655,3564697.55502,6217495.7355,1764584.50398,2244219.88929,2137093.701,2137093.701,2137093.701,2137093.701,5636854.87156,5636854.87156 +29275200.0,1438591.6530000002,1066933.743,3115446.52956,1892784.65992,1892784.65992,1892784.65992,1690564.372,2446634.35576,4670129.54624,2168471.6319,3304337.7248,1386511.923,1386511.923,1386511.923,1994169.6145,1438591.6530000002,1438591.6530000002,1550941.1137999997,1755778.3398,2609823.60632,4552017.918,1291906.03768,1643061.70564,1570858.98,1570858.98,1570858.98,1570858.98,4325365.57002,4325365.57002 +29278800.0,1277605.224,1097166.597,3203726.46324,1523480.7760700001,1523480.7760700001,1523480.7760700001,1518462.89,2358024.0532799996,4439181.331200001,2070042.4094699998,3154350.33824,1278563.091,1278563.091,1278563.091,1740005.8129999998,1277605.224,1277605.224,1628408.68905,1674689.40585,2489291.41314,4341787.3485,1232240.5998600002,1567178.4810300001,1449432.1530000002,1449432.1530000002,1449432.1530000002,1449432.1530000002,3841333.04016,3841333.04016 +29282400.0,896255.8049999999,775740.129,2265161.1766799996,991494.68209,991494.68209,991494.68209,786312.2225,1243603.64136,2742329.2416000003,1203751.13754,1834287.44768,686230.347,686230.347,686230.347,857826.571,896255.8049999999,896255.8049999999,1143017.1734799999,782978.2420499999,1163834.3252199998,2029943.5904999997,576117.32378,732712.9721899999,922100.559,922100.559,922100.559,922100.559,2694742.4537,2694742.4537 +29286000.0,160225.854,133502.24699999997,389826.56123999995,183243.60593000002,183243.60593000002,183243.60593000002,74035.619,259638.71456,965905.3907200001,329079.43404,501454.37568000006,225988.353,225988.353,225988.353,143522.12,160225.854,160225.854,282493.32501,113569.5897,168812.08148,294439.677,83564.78452,106278.70246,201088.49700000003,201088.49700000003,201088.49700000003,201088.49700000003,481745.73435999994,481745.73435999994 +29289600.0,162764.19,136924.995,399820.9854,159599.58399,159599.58399,159599.58399,59247.28599999999,304000.37072,959063.2416,334260.73925999994,509349.69791999995,222023.73299999998,222023.73299999998,222023.73299999998,139078.3135,162764.19,162764.19,281597.81844999996,107397.25605,159637.40282,278437.3305,79023.16618,100502.61739,202310.592,202310.592,202310.592,202310.592,489377.6646,489377.6646 +29293200.0,201480.51,164523.75,480409.35,156495.51302,156495.51302,156495.51302,65887.423,402139.70192,960154.9952000001,373993.4784600001,569894.8243200001,226879.89,226879.89,226879.89,137519.4695,201480.51,201480.51,316043.58486999996,127120.58595000001,188954.54998,329571.88950000005,93535.64102000001,118959.75821000001,225294.417,225294.417,225294.417,225294.417,605784.7333999999,605784.7333999999 +29296800.0,239726.031,184174.692,537790.1006400001,165447.73850000004,165447.73850000004,165447.73850000004,88851.105,425362.52031999995,968860.75776,411844.69599,627572.87008,290792.547,290792.547,290792.547,183493.8455,239726.031,239726.031,328999.38720999996,156159.14265,232118.03426,404857.03650000005,114902.28274000001,146134.11127000002,314448.18,314448.18,314448.18,314448.18,720776.26654,720776.26654 +29300400.0,284539.794,234353.619,684312.5674800001,182868.64497000002,182868.64497000002,182868.64497000002,92077.7515,527430.82832,979606.3244800001,476088.79647,725468.64224,395808.708,395808.708,395808.708,266771.407,284539.794,284539.794,357378.82973,177531.89985000002,263886.92274,460267.88850000006,130628.41026,166134.79023,361646.238,361646.238,361646.238,361646.238,855516.3139599999,855516.3139599999 +29304000.0,358823.355,259939.035,759021.9822,198446.78568,198446.78568,198446.78568,93401.126,630617.39704,1065507.11232,562549.27407,857217.94144,445286.559,445286.559,445286.559,286013.0455,358823.355,358823.355,384456.31587999995,203629.4316,302678.80944,527928.1560000001,149831.03856000002,190556.92488,451924.539,451924.539,451924.539,451924.539,1078862.2207,1078862.2207 +29307600.0,453107.511,273396.96900000004,798319.14948,214851.86085,214851.86085,214851.86085,109314.6215,713942.78568,1314451.73952,672389.19279,1024593.0556800001,476920.533,476920.533,476920.533,304186.2215,453107.511,453107.511,398843.98788000003,251107.92179999998,373251.77511999995,651020.538,184765.82888,234987.41324,522690.561,522690.561,522690.561,522690.561,1362343.2497399999,1362343.2497399999 +29311200.0,647984.358,373253.649,1089900.65508,350412.59627,350412.59627,350412.59627,197645.75950000001,1299163.78952,1508740.25152,988631.25963,1506485.72896,536355.456,536355.456,536355.456,481845.5145,647984.358,647984.358,634630.1205399999,353131.38269999996,524901.4626799999,915525.8069999999,259834.94332,330461.21985999995,662242.89,662242.89,662242.89,662242.89,1948272.96972,1948272.96972 +29314800.0,1352337.768,757564.995,2212089.7854,1841200.6781300001,1841200.6781300001,1841200.6781300001,1573141.332,3615804.35888,4608250.17728,3259569.5979,4966963.1968,1381879.1369999999,1381879.1369999999,1381879.1369999999,2149671.9370000004,1352337.768,1352337.768,2908210.4780300003,1779761.3058,2645472.36072,4614195.978,1309552.76328,1665505.02444,1675371.2820000001,1675371.2820000001,1675371.2820000001,1675371.2820000001,4066028.88912,4066028.88912 +29318400.0,1289774.682,1323956.139,3865951.92588,2468400.53933,2468400.53933,2468400.53933,2186359.966,4612166.11648,3742583.9891199996,3600224.19456,5486055.91552,1451757.762,1451757.762,1451757.762,2061866.0860000001,1289774.682,1289774.682,2475565.5330899996,2354243.7334499997,3499394.3889799993,6103594.864499999,1732258.3520199999,2203107.09871,1771838.6400000001,1771838.6400000001,1771838.6400000001,1771838.6400000001,3877922.5438800002,3877922.5438800002 +29322000.0,2244783.621,2376686.976,6939925.969919999,1977625.4053600002,1977625.4053600002,1977625.4053600002,2793649.327,4850100.10896,7843826.88448,4051134.74199,6173157.70208,2133843.957,2133843.957,2133843.957,1860996.151,2244783.621,2244783.621,3127564.2894599997,2274643.1542499997,3381074.5156999994,5897222.992499999,1673688.0492999998,2128616.68015,2510208.171,2510208.171,2510208.171,2510208.171,6749316.0871399995,6749316.0871399995 +29325600.0,1817299.9080000003,1398737.6670000001,4084313.98764,1016595.87392,1016595.87392,1016595.87392,1294095.9535,2761415.6234399998,8150039.468800001,1949830.25895,2971169.9184000003,1735957.4819999998,1735957.4819999998,1735957.4819999998,1795075.6075,1817299.9080000003,1817299.9080000003,2429574.1601299997,2544111.4958999995,3781617.5815599994,6595844.619,1871963.5204399999,2380785.8196199997,1324557.9719999998,1324557.9719999998,1324557.9719999998,1324557.9719999998,5464015.056720001,5464015.056720001 +29329200.0,1001637.42,890736.228,2600949.78576,595651.63471,595651.63471,595651.63471,807874.9595,1853703.4948800001,5357114.4192,1313171.94267,2001023.9126400002,836224.497,836224.497,836224.497,847925.5819999999,1001637.42,1001637.42,1106276.90719,1646193.84885,2446935.05434,4267909.9785,1211273.49866,1540512.2684300002,838568.976,838568.976,838568.976,838568.976,3011589.8427999998,3011589.8427999998 +29332800.0,1019581.875,1374323.469,4013024.52948,828506.2817900002,828506.2817900002,828506.2817900002,1150921.394,2060253.21056,3439394.48896,1649196.3467700002,2513061.0998400003,896385.5970000001,896385.5970000001,896385.5970000001,1247304.5795,1019581.875,1019581.875,1253172.7006499998,1077147.9832499998,1601094.0392999996,2792605.8825,792568.1456999999,1007997.7423499998,993254.199,993254.199,993254.199,993254.199,3065542.8375,3065542.8375 +29336400.0,825525.714,891700.344,2603765.00448,654221.3319400001,654221.3319400001,654221.3319400001,1085842.8175,1585152.26288,2586790.52416,1219678.74357,1858558.08544,728728.965,728728.965,728728.965,964685.3230000001,825525.714,825525.714,962836.8245599999,878035.88115,1305129.87766,2276389.3215,646060.9693400001,821668.14557,761192.475,761192.475,761192.475,761192.475,2482080.64676,2482080.64676 +29340000.0,725386.041,617458.818,1802979.74856,434731.90145,434731.90145,434731.90145,797735.015,1443400.5241599998,2398925.7600000002,1096776.44244,1671278.38848,671112.834,671112.834,671112.834,603193.9410000001,725386.041,725386.041,881901.1719699999,793325.40075,1179214.5463,2056769.5575,583730.7887,742395.86885,697420.26,697420.26,697420.26,697420.26,2180994.02994,2180994.02994 +29343600.0,1130171.6849999998,1465076.46,4278023.2632,1664164.3390900001,1664164.3390900001,1664164.3390900001,1581943.104,2538240.18112,3354696.8550400003,1956374.72541,2981142.43872,1017452.166,1017452.166,1017452.166,1537406.5839999998,1130171.6849999998,1130171.6849999998,1754875.7006299999,1491844.6916999999,2217507.41828,3867745.497,1097703.0077199999,1396071.94606,1282969.794,1282969.794,1282969.794,1282969.794,3398049.5328999995,3398049.5328999995 +29347200.0,1105938.456,1452032.1269999999,4239933.8108399995,1952619.2195400002,1952619.2195400002,1952619.2195400002,1340036.2429999998,2759841.28208,3622678.00064,2133229.36785,3250635.2272,1159624.7310000001,1159624.7310000001,1159624.7310000001,1797114.0915,1105938.456,1105938.456,1825135.14937,1527175.9278,2270024.46552,3959344.998,1123699.8184800001,1429135.00404,1298346.009,1298346.009,1298346.009,1298346.009,3325188.29104,3325188.29104 +29350800.0,986955.513,1418901.051,4143191.06892,1281100.39167,1281100.39167,1281100.39167,1157890.1565,2531058.51704,3512679.9059200003,1749144.5897100002,2665363.1843200005,996056.7750000001,996056.7750000001,996056.7750000001,1427156.9024999999,986955.513,986955.513,1489249.9056499999,1302486.9133499998,1936042.2761399997,3376817.9235,958373.0868599999,1218870.46953,1216235.979,1216235.979,1216235.979,1216235.979,2967446.24242,2967446.24242 +29354400.0,2266790.697,1874913.1890000002,5474746.51188,3611132.15199,3611132.15199,3611132.15199,2954279.209,3759559.7432000004,6900310.84736,3803991.58734,5796558.60928,2375633.8109999998,2375633.8109999998,2375633.8109999998,3053021.965,2266790.697,2266790.697,4206301.681139999,2952733.91715,4389002.02006,7655236.0815,2172628.90694,2763175.69037,2559189.957,2559189.957,2559189.957,2559189.957,6815484.028980001,6815484.028980001 +29358000.0,1733828.1239999998,992434.1970000002,2897907.8552400004,2466487.8916700003,2466487.8916700003,2466487.8916700003,1809609.4730000002,2752673.78,4925366.05568,2644128.55392,4029148.2726399996,1722745.845,1722745.845,1722745.845,2378979.792,1733828.1239999998,1733828.1239999998,1605467.8509999998,2130309.4527,3166534.0506799994,5523024.506999999,1567486.9553199997,1993548.8458599998,1965689.2319999998,1965689.2319999998,1965689.2319999998,1965689.2319999998,5213043.226159999,5213043.226159999 +29361600.0,1286437.836,942170.0339999999,2751136.4992799996,1562120.51358,1562120.51358,1562120.51358,1499409.0195,2131067.69568,3989350.3968,1889548.68081,2879312.27552,1202791.854,1202791.854,1202791.854,1659522.8545,1286437.836,1286437.836,1387886.8660799998,1519397.2750499998,2258462.12242,3939178.1205,1117976.26658,1421855.72159,1322912.8560000001,1322912.8560000001,1322912.8560000001,1322912.8560000001,3867889.7602399993,3867889.7602399993 +29365200.0,1088270.919,922825.464,2694650.35488,1294320.82208,1294320.82208,1294320.82208,1256510.899,1965324.0280799998,3642421.9475200004,1744608.45174,2658450.97408,1061617.746,1061617.746,1061617.746,1425691.659,1088270.919,1088270.919,1368476.7748599998,1394252.1413999998,2072443.92376,3614727.774,1025894.16824,1304744.59652,1219265.5890000002,1219265.5890000002,1219265.5890000002,1219265.5890000002,3272067.89646,3272067.89646 +29368800.0,782924.4299999999,663968.3609999999,1938787.6141199998,869652.63869,869652.63869,869652.63869,688200.4990000001,1038882.6224000001,2288087.10912,1025987.4504600001,1563409.4483200002,573283.8899999999,573283.8899999999,573283.8899999999,730840.9184999999,782924.4299999999,782924.4299999999,979626.8270099999,666005.34015,989963.49326,1726680.5115,490048.37374,623249.44177,791502.9509999999,791502.9509999999,791502.9509999999,791502.9509999999,2353992.7862,2353992.7862 +29372400.0,132449.805,113205.55799999999,330560.22935999994,158222.62159,158222.62159,158222.62159,67875.997,212584.22272000002,791396.04416,250303.77623999998,381415.27807999996,188112.912,188112.912,188112.912,121475.49049999999,132449.805,132449.805,236927.48793999996,94442.7924,140381.63216,244851.68400000004,69491.23984000001,88379.79832000002,166712.25,166712.25,166712.25,166712.25,398232.4137,398232.4137 +29376000.0,131841.669,109688.286,320289.79511999997,131322.09497000003,131322.09497000003,131322.09497000003,46165.983499999995,219747.5784,761996.60864,263887.16109,402113.76928,179511.063,179511.063,179511.063,113806.28700000001,131841.669,131841.669,228371.24349,85832.08335,127582.50413999999,222527.6235,63155.45886,80321.87553,163071.93899999998,163071.93899999998,163071.93899999998,163071.93899999998,396403.95145999995,396403.95145999995 +29379600.0,142358.628,126443.84399999998,369216.02447999996,126952.56739000001,126952.56739000001,126952.56739000001,53585.2485,232156.22936,762682.7232,272161.88811,414722.87712,178054.311,178054.311,178054.311,112337.23550000001,142358.628,142358.628,242849.10298999998,89084.44395,132416.87717999998,230959.6695,65548.55382,83365.44261,167895.405,167895.405,167895.405,167895.405,428024.94151999993,428024.94151999993 +29383200.0,160102.48500000002,140162.163,409273.51596,122639.65351000002,122639.65351000002,122639.65351000002,56376.5125,246216.5024,760292.1696,310884.80955,473729.2336,177770.871,177770.871,177770.871,112104.7515,160102.48500000002,160102.48500000002,258072.08920999995,106907.33159999999,158909.16944,277167.156,78662.67856,100044.14487999999,188985.111,188985.111,188985.111,188985.111,481374.8049,481374.8049 +29386800.0,194316.411,152100.627,444133.83084,135283.88995,135283.88995,135283.88995,75778.8885,292119.88936000003,757534.7315200001,336446.34807,512680.14944,202045.704,202045.704,202045.704,139175.23200000002,194316.411,194316.411,265507.79606,127026.35865,188814.48865999997,329327.5965,93466.30834,118871.58007,247218.45299999998,247218.45299999998,247218.45299999998,247218.45299999998,584244.67574,584244.67574 +29390400.0,232211.91599999997,163624.374,477783.17208,143802.77032,143802.77032,143802.77032,77495.61750000001,380367.83736,760692.1401600001,379487.26536,578266.30912,280782.135,280782.135,280782.135,214068.33000000002,232211.91599999997,232211.91599999997,284177.96498,142841.2158,212322.00472,370329.07800000004,105102.91928,133671.16244000001,280082.64300000004,280082.64300000004,280082.64300000004,280082.64300000004,698183.8274399999,698183.8274399999 +29394000.0,288904.14300000004,179981.52599999998,525546.05592,160089.6242,160089.6242,160089.6242,85267.8365,468631.84536000004,801919.9308800001,448532.20713,683477.64896,319780.128,319780.128,319780.128,226557.14200000002,288904.14300000004,288904.14300000004,311913.75253999996,160978.1202,239281.05768,417350.68200000003,118448.09832,150643.72236,344968.299,344968.299,344968.299,344968.299,868638.4566200001,868638.4566200001 +29397600.0,358983.651,215064.684,627988.87728,262420.71845,262420.71845,262420.71845,166743.241,584448.9792,997088.1779200002,557227.01979,849107.8396800001,376251.36899999995,376251.36899999995,376251.36899999995,266704.4135,358983.651,358983.651,335404.56117999996,204918.27525,304594.5721,531269.6025,150779.37290000002,191763.02795000002,412928.25899999996,412928.25899999996,412928.25899999996,412928.25899999996,1079344.17734,1079344.17734 +29401200.0,1112557.218,1115394.1919999998,3256951.0406399993,1093377.39665,1093377.39665,1093377.39665,1078683.5744999999,1640240.06016,1663117.15904,1469864.3925,2239793.36,670051.194,670051.194,670051.194,1638398.783,1112557.218,1112557.218,2214576.08749,630296.65215,936885.3940600001,1634102.4315000002,463773.83294000005,589833.1633700001,1520295.96,1520295.96,1520295.96,1520295.96,3345088.70212,3345088.70212 +29404800.0,2089029.8429999999,1819876.3110000002,5314038.82812,2714175.37699,2714175.37699,2714175.37699,1894200.0525,3094172.6213599993,3438766.2016000003,3067777.2144599995,4674708.13632,1263324.585,1263324.585,1263324.585,1925244.0374999999,2089029.8429999999,2089029.8429999999,3247238.1236099997,1634860.7055,2430089.2462,4238527.755,1202934.5438,1529906.6849,2271412.704,2271412.704,2271412.704,2271412.704,6281016.394619999,6281016.394619999 +29408400.0,2447836.263,2312971.4189999998,6753876.5434799995,2958306.5655000005,2958306.5655000005,2958306.5655000005,2425650.6259999997,4037249.7108799997,9589380.98752,3186327.06252,4855355.52384,2460780.045,2460780.045,2460780.045,2444751.155,2447836.263,2447836.263,2614826.4231699994,3345194.3233499997,4972362.92014,8672726.0235,2461402.24286,3130441.10753,2140674.711,2140674.711,2140674.711,2140674.711,7359827.697419999,7359827.697419999 +29412000.0,1813499.4780000001,1597131.0690000001,4663622.72148,2063336.9191600003,2063336.9191600003,2063336.9191600003,2578514.071,3420111.7171200006,6125324.0192,3447403.49688,5253186.28096,2435531.538,2435531.538,2435531.538,2693688.0004999996,1813499.4780000001,1813499.4780000001,2063725.2619099997,3153509.74305,4687439.17362,8175766.000500001,2320360.25538,2951062.2039900003,1948671.4349999996,1948671.4349999996,1948671.4349999996,1948671.4349999996,5452588.43052,5452588.43052 +29415600.0,1346908.5269999998,1135786.779,3316497.39468,1911907.28223,1911907.28223,1911907.28223,2352399.6965,3417344.9178400002,6630405.73696,2732765.2314899997,4164213.68608,1161198.924,1161198.924,1161198.924,2285617.4529999997,1346908.5269999998,1346908.5269999998,1293052.66558,2386487.2293000002,3547321.75812,6187189.113,1755983.19588,2233280.6417400003,1574234.244,1574234.244,1574234.244,1574234.244,4049704.9711799994,4049704.9711799994 +29419200.0,1100591.307,932444.8049999999,2722738.8306,1422145.2201,1422145.2201,1422145.2201,1586322.122,2712142.2586399997,3427490.07168,2083452.40698,3174784.62016,1070923.824,1070923.824,1070923.824,1554163.275,1100591.307,1100591.307,1152511.74311,1489729.38075,2214363.1783000003,3862261.3575000004,1096146.5567,1394092.4328500002,1173012.162,1173012.162,1173012.162,1173012.162,3309111.19638,3309111.19638 +29422800.0,830865.69,678008.022,1979783.4242399998,809825.01842,809825.01842,809825.01842,879437.1390000001,1767328.43488,2449157.1968000005,1400781.63183,2134524.3913600002,752713.956,752713.956,752713.956,1051551.9105,830865.69,830865.69,842647.1660099999,981632.2202999999,1459117.5225199999,2544972.423,722287.41148,918613.85554,880564.7819999999,880564.7819999999,880564.7819999999,880564.7819999999,2498136.1745999996,2498136.1745999996 +29426400.0,748779.1830000001,623679.2250000001,1821143.337,711509.02801,711509.02801,711509.02801,801857.2870000001,1422614.49248,2286334.64576,1196891.6101799998,1823834.8345599999,682865.2710000001,682865.2710000001,682865.2710000001,940745.9110000001,748779.1830000001,748779.1830000001,759423.6272999999,872057.56275,1296243.5871,2260889.9775,641662.1079000001,816073.62045,794495.388,794495.388,794495.388,794495.388,2251329.41022,2251329.41022 +29430000.0,987676.6379999999,874707.483,2554145.85036,1128947.02734,1128947.02734,1128947.02734,1075061.6065,1889430.02776,3335219.85984,1642871.56803,2503423.3417599997,965357.355,965357.355,965357.355,1253267.617,987676.6379999999,987676.6379999999,1246695.71819,1241086.9450499997,1844776.1504199996,3217632.8204999994,913194.8385799999,1161412.2275899998,1095858.4949999999,1095858.4949999999,1095858.4949999999,1095858.4949999999,2969614.4249199997,2969614.4249199997 +29433600.0,1032139.6950000001,919817.7659999998,2685867.8767199996,1205107.96868,1205107.96868,1205107.96868,1131079.432,1976817.4108799999,3524285.1667200006,1723394.57976,2626125.0739200003,1017689.544,1017689.544,1017689.544,1311376.7975,1032139.6950000001,1032139.6950000001,1330270.4686699999,1308200.2969499999,1944534.7623799997,3391630.3995,962577.00862,1224217.06801,1154514.465,1154514.465,1154514.465,1154514.465,3103300.0163,3103300.0163 +29437200.0,1042536.213,925802.004,2703341.85168,1238271.26071,1238271.26071,1238271.26071,1162366.464,2005163.7605599998,3549462.3353600004,1743802.74978,2657223.23776,1027898.298,1027898.298,1027898.298,1325765.5565000002,1042536.213,1042536.213,1336553.8197700002,1322574.561,1965900.9523999998,3428897.01,973153.6276,1237668.5398,1164703.143,1164703.143,1164703.143,1164703.143,3134558.88042,3134558.88042 +29440800.0,1052889.807,927310.578,2707746.88776,1295914.15789,1295914.15789,1295914.15789,1213097.704,2035280.6814399997,3552997.0188800003,1768943.7402000001,2695533.3184,1033917.4709999999,1033917.4709999999,1033917.4709999999,1339845.1885,1052889.807,1052889.807,1338404.7077699997,1336708.899,1986910.5115999999,3465541.5900000003,983553.7084,1250895.4882,1173886.8480000002,1173886.8480000002,1173886.8480000002,1173886.8480000002,3165688.6863800003,3165688.6863800003 +29444400.0,1049964.417,924457.419,2699415.66348,1293229.29692,1293229.29692,1293229.29692,1210743.226,2030156.8348,3539784.2598400004,1764289.94343,2688441.81856,1030630.8180000001,1030630.8180000001,1030630.8180000001,1335025.7095,1049964.417,1049964.417,1333211.37001,1332112.3595999999,1980078.1246399998,3453624.636,980171.5633599999,1246594.03528,1170124.371,1170124.371,1170124.371,1170124.371,3156893.0137799997,3156893.0137799997 +29448000.0,1045425.1529999999,922628.478,2694075.15576,1275007.01966,1275007.01966,1275007.01966,1195057.71,2020031.78152,3532058.3392,1754896.8057600001,2674128.4659200003,1027638.69,1027638.69,1027638.69,1328308.8875,1045425.1529999999,1045425.1529999999,1328759.6765299998,1325157.2095499998,1969739.8522199998,3435592.7654999997,975053.94678,1240085.38869,1165418.25,1165418.25,1165418.25,1165418.25,3143244.9600199996,3143244.9600199996 +29451600.0,1001536.6799999999,827973.117,2417681.50164,1063789.00947,1063789.00947,1063789.00947,906146.7065,1659926.2621599997,2534646.0243200003,1435801.6869,2187888.2848,805886.757,805886.757,805886.757,1044279.747,1001536.6799999999,1001536.6799999999,1264037.66814,1046721.3295500001,1555867.26022,2713721.9655000004,770180.1387800002,979524.4046900001,1007395.8029999998,1007395.8029999998,1007395.8029999998,1007395.8029999998,3011286.9512,3011286.9512 +29455200.0,434639.39099999995,297338.03699999995,868227.0680399999,558605.19231,558605.19231,558605.19231,371677.01900000003,782213.64128,993747.5827200001,660044.52906,1005782.1395200001,350125.371,350125.371,350125.371,448905.3694999999,434639.39099999995,434639.39099999995,709574.7642099999,229958.43705,341814.76322,596188.5405,169203.98578000002,215195.67319000003,540773.331,540773.331,540773.331,540773.331,1306815.7689399999,1306815.7689399999 +29458800.0,150321.807,104228.07599999999,304345.98191999993,159948.27717000002,159948.27717000002,159948.27717000002,64521.96800000001,289280.25944,716053.5129600001,285339.70752,434803.36384,195784.15800000002,195784.15800000002,195784.15800000002,115497.72499999999,150321.807,150321.807,217419.62866,89984.09879999999,133754.14192,233292.10799999998,66210.52208,84207.34184,161558.7,161558.7,161558.7,161558.7,451967.56638,451967.56638 +29462400.0,146985.915,111117.663,324463.57596,135662.62380000003,135662.62380000003,135662.62380000003,50901.9105,304221.952,703223.8278400002,273537.63633,416819.25536,190006.65300000002,190006.65300000002,190006.65300000002,108072.02,146985.915,146985.915,212639.86432,82910.08935,123239.19454,214952.0835,61005.44846,77587.46633,155709.333,155709.333,155709.333,155709.333,441937.65109999996,441937.65109999996 +29466000.0,155020.05599999998,126457.905,369257.0826,130140.93212999999,130140.93212999999,130140.93212999999,51500.6345,304301.65048,710256.464,280504.82438999997,427435.92287999997,188882.226,188882.226,188882.226,106052.1,155020.05599999998,155020.05599999998,217736.29982,93822.2352,139459.22368,243242.832,69034.63232,87799.07936,158930.574,158930.574,158930.574,158930.574,466093.63503999996,466093.63503999996 +29469600.0,158880.44999999998,146115.273,426656.59716,131940.88149000003,131940.88149000003,131940.88149000003,60923.149000000005,299167.61888,729499.08224,296512.19304,451828.10368,188113.935,188113.935,188113.935,106485.5925,158880.44999999998,158880.44999999998,239581.45354,99587.05784999998,148028.16993999996,258188.66849999997,73276.40306,93193.81463,182578.767,182578.767,182578.767,182578.767,477700.5529999999,477700.5529999999 +29473200.0,179408.421,160900.86000000002,469830.5112,138839.44195,138839.44195,138839.44195,67246.67250000002,307360.08184,746666.0467200001,325243.53015,495609.18880000006,241680.33000000002,241680.33000000002,241680.33000000002,124354.94750000001,179408.421,179408.421,246810.87873,115298.74124999999,171382.3265,298922.66250000003,84837.09850000001,107896.84675,223612.287,223612.287,223612.287,223612.287,539421.31914,539421.31914 +29476800.0,214412.34599999996,173861.499,507675.57708,144394.65821000002,144394.65821000002,144394.65821000002,71433.79950000001,340653.478,746976.0179200001,350458.19256,534031.53152,285389.78099999996,285389.78099999996,285389.78099999996,177871.6975,214412.34599999996,214412.34599999996,263253.00755,130804.47405,194430.35402,339122.71050000004,96246.25498,122407.14979000001,256507.74599999998,256507.74599999998,256507.74599999998,256507.74599999998,644666.4536399998,644666.4536399998 +29480400.0,262116.354,185550.996,541808.90832,155781.4885,155781.4885,155781.4885,78609.7165,424583.98991999996,761247.7164800001,405257.74968,617535.6185600001,315947.74199999997,315947.74199999997,315947.74199999997,205764.80399999997,262116.354,262116.354,281324.73069999996,145879.40835,216838.03414,378205.87350000005,107338.42886000001,136514.31053000002,303992.475,303992.475,303992.475,303992.475,788096.50436,788096.50436 +29484000.0,327635.706,207611.76,606226.3391999999,252140.90781,252140.90781,252140.90781,159133.716,553529.74744,966166.20608,506254.60977,771435.59584,359354.475,359354.475,359354.475,250376.133,327635.706,327635.706,319657.46293,190228.91309999998,282760.01404,493186.071,139970.90396,178016.68658,372529.569,372529.569,372529.569,372529.569,985091.35604,985091.35604 +29487600.0,1069988.253,1081859.028,3159028.3617599998,1076456.33502,1076456.33502,1076456.33502,1072769.922,1596732.13024,1596184.66112,1405563.9210899998,2141811.68928,648286.434,648286.434,648286.434,1616976.7915,1069988.253,1069988.253,2019928.4562599997,611059.70295,908291.2127799998,1584228.8594999998,449619.23821999994,571831.17881,1435727.46,1435727.46,1435727.46,1435727.46,3217098.0140199997,3217098.0140199997 +29491200.0,1986872.8469999996,1745257.785,5096152.7321999995,2571632.66239,2571632.66239,2571632.66239,1785192.1045,2957224.23592,3284758.4851200003,2953339.75881,4500327.25152,1226626.7880000002,1226626.7880000002,1226626.7880000002,1735962.935,1986872.8469999996,1986872.8469999996,3009942.76206,1568563.8903,2331544.35052,4066647.123,1154153.1834800001,1467865.96154,2180135.877,2180135.877,2180135.877,2180135.877,5973864.359979999,5973864.359979999 +29494800.0,2360747.199,2263111.5270000002,6608285.658840001,2798788.62571,2798788.62571,2798788.62571,2336163.291,3877180.1639199997,9344663.196800001,3042744.87006,4636563.61152,2398377.5969999996,2398377.5969999996,2398377.5969999996,2359754.4285,2360747.199,2360747.199,2445306.34257,3283584.8282999997,4880785.349719999,8512997.703,2416069.82428,3072786.78994,2000493.5430000003,2000493.5430000003,2000493.5430000003,2000493.5430000003,7097979.91166,7097979.91166 +29498400.0,1719280.854,1502939.565,4388583.5298,1921312.0265900001,1921312.0265900001,1921312.0265900001,2473692.83,3244555.9559999993,5778567.8656,3288511.5664799996,5011065.244159999,2250114.801,2250114.801,2250114.801,2497806.7415,1719280.854,1719280.854,1935738.3432399998,2960684.26965,4400819.58106,7675848.106500001,2178478.79594,2770615.6498700003,1857177.0750000002,1857177.0750000002,1857177.0750000002,1857177.0750000002,5169304.43436,5169304.43436 +29502000.0,1225197.345,997165.9380000001,2911724.53896,1747979.72943,1747979.72943,1747979.72943,2181778.6234999998,3216666.39944,6218699.50848,2510731.5080399998,3825876.5836799997,1040849.589,1040849.589,1040849.589,2110292.933,1225197.345,1225197.345,1075951.92549,2154952.4715,3203163.9206,5586913.815,1585619.3494000002,2016609.8437,1403888.451,1403888.451,1403888.451,1403888.451,3683760.0173,3683760.0173 +29505600.0,1002881.415,857908.1610000001,2505091.8301200005,1306319.1006800001,1306319.1006800001,1306319.1006800001,1461931.7615,2487497.49568,3057011.3184,1933183.5528600002,2945803.50912,977577.4619999999,977577.4619999999,977577.4619999999,1399834.891,1002881.415,1002881.415,1027742.9645599999,1344163.38165,1997991.00186,3484868.0265,989038.7351400001,1257871.4114700002,1060213.107,1060213.107,1060213.107,1060213.107,3015330.1210999996,3015330.1210999996 +29509200.0,729903.621,589105.8629999999,1720189.1199599998,671487.5214300001,671487.5214300001,671487.5214300001,754693.4115,1563850.42488,2110774.14976,1223571.2405700001,1864489.5094400002,652283.82,652283.82,652283.82,915343.751,729903.621,729903.621,688089.1724199998,845576.8848,1256882.18432,2192236.368,622177.55968,791292.93664,762548.922,762548.922,762548.922,762548.922,2194576.88714,2194576.88714 +29512800.0,593836.719,476855.892,1392419.2046400001,475169.45564,475169.45564,475169.45564,620275.7435,1133408.44776,1691074.1676800002,927855.3744600001,1413874.85632,526516.0560000001,526516.0560000001,526516.0560000001,706828.1675,593836.719,593836.719,497569.59381999995,651443.0305499999,968317.7886199999,1688926.3754999998,479333.39038,609621.9964899999,602107.149,602107.149,602107.149,602107.149,1785469.06846,1785469.06846 +29516400.0,910485.408,805937.8260000001,2353338.4519200004,1015318.73234,1015318.73234,1015318.73234,988175.2159999998,1752857.4871999996,3066123.0464,1504543.0486799998,2292637.0265599997,883896.2549999999,883896.2549999999,883896.2549999999,1142276.954,910485.408,910485.408,1109274.93209,1136355.7877999998,1689101.6895199998,2946107.5979999998,836133.3944799999,1063404.55204,995850.279,995850.279,995850.279,995850.279,2737526.12672,2737526.12672 +29520000.0,963787.665,860392.773,2512346.89716,1117226.37158,1117226.37158,1117226.37158,1054796.4105,1855895.7023999998,3293210.7219200004,1609578.9866099998,2452691.78912,952434.642,952434.642,952434.642,1213606.2575,963787.665,963787.665,1226629.1004499998,1217683.8175499998,1809989.2794199998,3156958.0454999995,895974.75958,1139511.5230899998,1072575.9870000002,1072575.9870000002,1072575.9870000002,1072575.9870000002,2897788.2460999996,2897788.2460999996 +29523600.0,974832.5190000001,866955.9719999998,2531511.4382399996,1152212.34799,1152212.34799,1152212.34799,1086730.022,1885318.60352,3320838.14272,1632532.3782600001,2487668.3859200003,963310.3469999998,963310.3469999998,963310.3469999998,1229963.2974999999,974832.5190000001,974832.5190000001,1234069.84818,1232942.0427,1832669.40668,3196516.407,907201.7993200001,1153790.2078600002,1084286.484,1084286.484,1084286.484,1084286.484,2930996.4404599997,2930996.4404599997 +29527200.0,983446.8629999999,866718.537,2530818.12804,1207914.27845,1207914.27845,1207914.27845,1135377.992,1910878.2278399998,3316371.1193600004,1654441.0554,2521053.0368000004,966908.9580000001,966908.9580000001,966908.9580000001,1241289.0350000001,983446.8629999999,983446.8629999999,1234240.5165999997,1244524.4959499997,1849885.7939799996,3226544.9894999997,915724.1970199998,1164629.0962099999,1091367.699,1091367.699,1091367.699,1091367.699,2956896.9014199995,2956896.9014199995 +29530800.0,988228.2960000001,871324.404,2544267.2596799997,1214030.65817,1214030.65817,1214030.65817,1141758.3415,1923546.2507199997,3336565.1283200006,1663389.80892,2534689.23264,973447.2239999999,973447.2239999999,973447.2239999999,1248724.869,988228.2960000001,988228.2960000001,1238540.50268,1250878.2939000002,1859330.20476,3243017.7990000006,920399.3372400001,1170574.9960200002,1097170.8390000002,1097170.8390000002,1097170.8390000002,1097170.8390000002,2971273.07664,2971273.07664 +29534400.0,991567.809,877106.037,2561149.62804,1205107.48842,1205107.48842,1205107.48842,1134986.3105,1931537.2161599998,3362842.1017600005,1667893.88052,2541552.57984,980434.404,980434.404,980434.404,1254467.4030000002,991567.809,991567.809,1243835.36992,1255217.5894499999,1865780.2193799997,3254267.8244999996,923592.20162,1174635.71951,1102226.9190000002,1102226.9190000002,1102226.9190000002,1102226.9190000002,2981313.8790599997,2981313.8790599997 +29538000.0,958807.071,795837.096,2323844.32032,1014891.7323600001,1014891.7323600001,1014891.7323600001,868906.612,1610551.2229600002,2443396.14976,1381131.81045,2104581.8064,779583.621,779583.621,779583.621,998462.7275,958807.071,958807.071,1196993.39175,1002405.4357500001,1489995.2403,2598828.9075,737572.3947000001,938053.4818500001,965245.044,965245.044,965245.044,965245.044,2882813.26014,2882813.26014 +29541600.0,420649.698,289659.063,845804.4639600001,538690.68231,538690.68231,538690.68231,358526.3325,772213.24864,972263.7062400001,642225.08931,978628.7075199999,348963.876,348963.876,348963.876,432270.272,420649.698,420649.698,676410.31445,222470.99954999998,330685.28822,576776.6655,163694.71078,208188.91069,520760.53799999994,520760.53799999994,520760.53799999994,520760.53799999994,1264753.42532,1264753.42532 +29545200.0,150655.035,105723.204,308711.75568,163132.90565000003,163132.90565000003,163132.90565000003,64283.4395,305462.69504,733227.32096,288428.49735,439510.0912000001,206179.215,206179.215,206179.215,116881.254,150655.035,150655.035,221349.88447000002,90945.3663,135182.98892,235784.283,66917.82508,85106.89834,161658.774,161658.774,161658.774,161658.774,452969.4719,452969.4719 +29548800.0,150408.963,115528.20000000001,337342.344,142632.90579999998,142632.90579999998,142632.90579999998,50398.684,330730.02736,746989.5308800001,284117.87691000005,432941.5267200001,207772.002,207772.002,207772.002,112849.19100000002,150408.963,150408.963,222833.26922999998,86446.28205,128495.46121999998,224119.99049999999,63607.38778,80896.64418999999,159657.35100000002,159657.35100000002,159657.35100000002,159657.35100000002,452229.61541999993,452229.61541999993 +29552400.0,159253.137,147387.528,430371.58176,137811.35994999998,137811.35994999998,137811.35994999998,52595.51149999999,332736.94920000003,765364.3168,292147.34136,445176.90112000005,207157.851,207157.851,207157.851,111110.6325,159253.137,159253.137,232030.21049,98145.58995,145885.54358,254451.5295,72215.76742,91844.88541,163034.16,163034.16,163034.16,163034.16,478821.09858,478821.09858 +29556000.0,163611.675,156434.95799999998,456790.07735999994,139467.48772,139467.48772,139467.48772,62260.898,325701.48368,780589.2992000001,308706.17043,470409.40256,207329.412,207329.412,207329.412,110769.8095,163611.675,163611.675,251004.54456999997,103632.2667,154041.04828,268676.247,76252.87772,96979.33106,190054.61099999998,190054.61099999998,190054.61099999998,190054.61099999998,491925.76949999994,491925.76949999994 +29559600.0,184098.999,167387.835,488772.4782,143672.8722,143672.8722,143672.8722,67816.42,331807.51904,781119.7209600001,333453.30816,508119.32672000007,273973.77,273973.77,273973.77,127874.82400000002,184098.999,184098.999,257218.29497,119444.26454999999,177544.31422,309670.3155,87887.38478,111776.23769,232159.40399999998,232159.40399999998,232159.40399999998,232159.40399999998,553524.32366,553524.32366 +29563200.0,218446.206,185384.031,541321.37052,151038.29015,151038.29015,151038.29015,72707.4565,385829.08999999997,792243.4764800001,368282.82938999997,561192.88288,316614.71400000004,316614.71400000004,316614.71400000004,202705.482,218446.206,218446.206,277281.17052999994,136802.48354999998,203345.91381999996,354673.10549999995,100659.60517999998,128020.10188999999,273204.45900000003,273204.45900000003,273204.45900000003,273204.45900000003,656794.9260399999,656794.9260399999 +29566800.0,283167.26399999997,204225.27900000004,596337.8146800001,167857.31281,167857.31281,167857.31281,82135.1685,502763.31655999995,848168.5369599999,438911.16108000005,668817.00736,361975.695,361975.695,361975.695,224619.73100000003,283167.26399999997,283167.26399999997,309569.80105999997,157262.28165,233757.76185999997,407717.0265,115713.97514,147166.43147,338276.10900000005,338276.10900000005,338276.10900000005,338276.10900000005,851389.5737599998,851389.5737599998 +29570400.0,450386.80799999996,250620.81,731812.7652,276125.84109000006,276125.84109000006,276125.84109000006,162964.8405,1008266.5917600001,1094702.9068800001,703140.52284,1071452.22528,417971.886,417971.886,417971.886,360059.3465,450386.80799999996,450386.80799999996,533950.32704,224996.4135,334439.1134,583324.035,165552.9166,210552.1993,470209.605,470209.605,470209.605,470209.605,1354163.0027199998,1354163.0027199998 +29574000.0,1192676.868,569031.426,1661571.7639199998,1625383.74295,1625383.74295,1625383.74295,1409333.9679999999,3335091.7356799995,3903815.514240001,2820410.95245,4297769.070400001,1129067.7629999998,1129067.7629999998,1129067.7629999998,1569015.6685,1192676.868,1192676.868,2518967.54837,1542129.4430999998,2292251.6660399996,3998113.371,1134702.65196,1443128.54058,1464790.8509999998,1464790.8509999998,1464790.8509999998,1464790.8509999998,3585981.78312,3585981.78312 +29577600.0,1085043.303,1154245.836,3370397.8411199995,2039662.07104,2039662.07104,2039662.07104,1904756.1574999997,4109575.07992,3176986.8192,3214442.6857199995,4898198.3782399995,1314247.1639999999,1314247.1639999999,1314247.1639999999,1733888.2575,1085043.303,1085043.303,2185123.9091499997,2119333.2804,3150218.8513599997,5494567.764,1559410.66064,1983277.31672,1535732.976,1535732.976,1535732.976,1535732.976,3262363.53102,3262363.53102 +29581200.0,2046267.78,2232837.435,6519885.3102,1637577.56063,1637577.56063,1637577.56063,2208038.6999999997,4353514.0232,7288916.725120001,3590036.1161700003,5470531.224640001,1922000.727,1922000.727,1922000.727,1593770.9515,2046267.78,2046267.78,2843060.5143199996,1855769.36085,2758452.23514,4811253.8985,1365479.67786,1736633.55003,2290226.739,2290226.739,2290226.739,2290226.739,6152445.1252,6152445.1252 +29584800.0,1467982.464,1199369.025,3502157.553,728731.08242,728731.08242,728731.08242,879991.6545000002,2246145.176,6932125.59936,1379312.0403299998,2101808.82336,1446801.15,1446801.15,1446801.15,1472412.4695,1467982.464,1467982.464,2333218.34018,2235867.5672999998,3323437.71732,5796693.693,1645156.87668,2092330.39014,1018899.396,1018899.396,1018899.396,1018899.396,4413733.941759999,4413733.941759999 +29588400.0,748148.316,759392.976,2217427.48992,420325.70910000004,420325.70910000004,420325.70910000004,553422.8489999999,1470101.96776,3729022.9395200005,920566.30554,1402767.70368,605687.3609999999,605687.3609999999,605687.3609999999,576150.694,748148.316,748148.316,816552.9400599998,994427.1342,1478136.13528,2578144.4220000003,731701.9407200001,930587.36756,595787.0819999999,595787.0819999999,595787.0819999999,595787.0819999999,2249432.6034399997,2249432.6034399997 +29592000.0,794721.4619999999,1212294.531,3539900.03052,684262.84443,684262.84443,684262.84443,951136.8929999999,1717968.98264,2784358.9753600005,1350745.57044,2058278.96448,718733.448,718733.448,718733.448,1069790.253,794721.4619999999,794721.4619999999,955069.42973,851672.7017999999,1265943.1271199998,2208040.338,626662.87688,796997.41724,788815.89,788815.89,788815.89,788815.89,2389462.52908,2389462.52908 +29595600.0,644513.2559999999,698821.065,2040557.5097999999,522672.59495000006,522672.59495000006,522672.59495000006,901481.5145,1327406.2164,2062964.5248,973013.4594599999,1482687.1763199999,590029.65,590029.65,590029.65,674176.8495000001,644513.2559999999,644513.2559999999,741315.8050999999,683521.7157,1016000.17988,1772093.3369999998,502936.96612,639641.30926,597886.407,597886.407,597886.407,597886.407,1937836.5230399997,1937836.5230399997 +29599200.0,586920.204,523547.3160000001,1528758.1627200001,334621.75736000005,334621.75736000005,334621.75736000005,558297.9500000001,1257085.04192,2015953.4592000004,900597.39504,1372338.88768,574154.565,574154.565,574154.565,492411.20949999994,586920.204,586920.204,714545.4518799998,644038.4925,957311.537,1669729.425,473885.113,602692.8115000001,572697.726,572697.726,572697.726,572697.726,1764673.41336,1764673.41336 +29602800.0,960105.561,1137693.453,3322064.88276,1485675.99499,1485675.99499,1485675.99499,1415954.75,2143546.6836,2909146.3520000004,1743406.6511400002,2656619.6588800005,889854.6930000001,889854.6930000001,889854.6930000001,1422411.361,960105.561,960105.561,1506883.64463,1330777.0138499998,1978093.2403399996,3450162.6284999996,979189.0126599999,1245344.4154299998,994987.353,994987.353,994987.353,994987.353,2886717.3867399995,2886717.3867399995 +29606400.0,915826.7609999999,1312090.686,3831304.80312,1641937.76791,1641937.76791,1641937.76791,1164802.0860000001,2401732.61056,3120107.3651200007,1788982.60359,2726068.72928,1011471.915,1011471.915,1011471.915,1627772.2265,915826.7609999999,915826.7609999999,1574712.71581,1339672.27185,1991315.32754,3473224.4085,985734.16546,1253668.61983,1106201.154,1106201.154,1106201.154,1106201.154,2753585.79474,2753585.79474 +29610000.0,842828.4299999999,1216867.341,3553252.6357199997,1063890.76761,1063890.76761,1063890.76761,1017121.7035000001,2310459.14544,3081743.3100799997,1521523.7444400003,2318512.3724800004,860345.706,860345.706,860345.706,1259152.1739999999,842828.4299999999,842828.4299999999,1235616.1140700001,1124953.5474,1672153.17416,2916546.234,827743.5978400001,1052734.3073200001,1038873.54,1038873.54,1038873.54,1038873.54,2534104.1462,2534104.1462 +29613600.0,2188999.707,1789878.693,5226445.78356,3490977.7992100003,3490977.7992100003,3490977.7992100003,2862249.7505,3439268.9611199996,6581505.076480001,3673345.59837,5597479.0070400005,2303824.6350000002,2303824.6350000002,2303824.6350000002,2954406.623,2188999.707,2188999.707,3752298.3737199996,2803095.88605,4166577.0948199998,7267285.6305,2062524.87418,2623144.05139,2436749.7270000004,2436749.7270000004,2436749.7270000004,2436749.7270000004,6581592.45238,6581592.45238 +29617200.0,1604708.7539999997,902784.2010000001,2636129.8669200004,2110378.92747,2110378.92747,2110378.92747,1703842.2519999999,2567598.23488,4419650.0448,2346658.37868,3575860.3865600005,1560167.58,1560167.58,1560167.58,1929702.705,1604708.7539999997,1604708.7539999997,1346413.88687,1803925.5619499998,2681390.5883799996,4676844.0495,1327332.88262,1688117.99501,1697667.8520000004,1697667.8520000004,1697667.8520000004,1697667.8520000004,4824824.320359999,4824824.320359999 +29620800.0,1188753.774,881210.8049999999,2573135.5505999997,1259051.58995,1259051.58995,1259051.58995,1275261.9075,1982787.02968,3648408.8524800004,1738566.45501,2649244.1219200003,1060289.973,1060289.973,1060289.973,1431385.0705,1188753.774,1188753.774,1250112.4584,1391554.4728499998,2068434.0559399999,3607733.8185,1023909.2170599999,1302220.11163,1211585.4479999999,1211585.4479999999,1211585.4479999999,1211585.4479999999,3574186.3471599994,3574186.3471599994 +29624400.0,1064042.139,908373.1799999999,2652449.6856,1231581.56451,1231581.56451,1231581.56451,1212765.0185,1969766.98912,3695672.06208,1717790.9586599998,2617586.22272,1070810.46,1070810.46,1070810.46,1417610.257,1064042.139,1064042.139,1284844.0350199998,1379297.84445,2050215.5613799999,3575957.3745,1014890.75962,1290750.3285100001,1203506.4479999999,1203506.4479999999,1203506.4479999999,1203506.4479999999,3199220.0312599996,3199220.0312599996 +29628000.0,739445.4839999999,637642.068,1861914.83856,798374.28506,798374.28506,798374.28506,651773.7905,1003890.2768000001,2232022.5888000005,973828.09209,1483928.52128,564325.6740000001,564325.6740000001,564325.6740000001,693965.3699999999,739445.4839999999,739445.4839999999,899771.6206699999,636137.9145,945567.9617999999,1649246.445,468071.8482,595299.4311,750554.0310000001,750554.0310000001,750554.0310000001,750554.0310000001,2223266.0885599996,2223266.0885599996 +29631600.0,128329.557,113829.81599999999,332383.06272,156741.51196,156741.51196,156741.51196,66497.3365,213458.72768,808598.8582400001,238834.04769,363937.59648,192025.89299999998,192025.89299999998,192025.89299999998,122324.54500000001,128329.557,128329.557,239470.71771999996,93785.9634,139405.30855999998,243148.794,69007.94343999999,87765.13612,161602.176,161602.176,161602.176,161602.176,385844.20138,385844.20138 +29635200.0,127342.551,111516.114,325627.05288,131957.24696000002,131957.24696000002,131957.24696000002,45320.380000000005,223860.95319999996,794136.06336,262721.24739,400337.13888,186663.363,186663.363,186663.363,116235.52500000001,127342.551,127342.551,234789.92875,86953.52025,129249.4301,225435.05250000002,63980.6149,81371.31895,161717.595,161717.595,161717.595,161717.595,382876.60334,382876.60334 +29638800.0,141634.668,132448.33800000002,386749.14696000004,130560.51657000002,130560.51657000002,130560.51657000002,51628.563,258407.62504,819589.0944000001,280172.47692,426929.48864000005,190980.888,190980.888,190980.888,118389.77500000001,141634.668,141634.668,258250.70855999997,92733.174,137840.4216,240419.34000000003,68233.2984,86779.93320000001,170488.572,170488.572,170488.572,170488.572,425848.23512,425848.23512 +29642400.0,162568.97400000002,145582.47,425100.8124,131352.81126,131352.81126,131352.81126,56784.805,339573.06048,844439.2211200001,329962.24212,502799.60704000003,200681.80200000003,200681.80200000003,200681.80200000003,121056.488,162568.97400000002,162568.97400000002,281352.49883,114435.55665,170099.27185999998,296684.7765,84201.96514,107089.07647,196806.89400000003,196806.89400000003,196806.89400000003,196806.89400000003,488790.71516,488790.71516 +29646000.0,207078.56699999998,162114.81900000002,473375.27148,141972.93088,141972.93088,141972.93088,78574.05150000002,385993.3049599999,845382.0057600002,366039.20262,557774.02304,289670.859,289670.859,289670.859,177411.2795,207078.56699999998,207078.56699999998,292732.86744,136304.3133,202605.42372000002,353381.5530000001,100293.05028000001,127553.91294000002,271101.858,271101.858,271101.858,271101.858,622616.2247799999,622616.2247799999 +29649600.0,246739.79700000002,185204.139,540796.0858799999,154301.51033000002,154301.51033000002,154301.51033000002,80111.7485,473623.26999999996,859992.5401600001,413033.93859000003,629385.04928,362455.18799999997,362455.18799999997,362455.18799999997,235098.304,246739.79700000002,246739.79700000002,317932.66907999996,153427.66874999998,228057.91749999998,397775.4375,112892.4575,143577.99125,309426.801,309426.801,309426.801,309426.801,741864.3229799999,741864.3229799999 +29653200.0,314203.485,235765.968,688436.62656,186330.45266,186330.45266,186330.45266,90854.09550000001,589181.11368,946963.8438400001,505999.43604,771046.75968,420581.496,420581.496,420581.496,259733.90449999998,314203.485,314203.485,355925.46418,181288.7244,269471.14096,470007.804,133392.69104,169650.43592000002,403546.857,403546.857,403546.857,403546.857,944705.1449,944705.1449 +29656800.0,516137.28899999993,277853.058,811330.92936,289728.39159,289728.39159,289728.39159,170176.685,1097821.46752,1205643.11168,790200.69324,1204115.34208,473856.147,473856.147,473856.147,391689.81950000004,516137.28899999993,516137.28899999993,567433.2949999999,259225.191,385317.4444,672065.31,190738.5356,242583.5738,543682.287,543682.287,543682.287,543682.287,1551852.7822599998,1551852.7822599998 +29660400.0,1259974.224,625029.609,1825086.4582800001,1669031.22474,1669031.22474,1669031.22474,1470097.5380000002,3450230.2731999997,4247421.10272,2968249.935,4523047.5200000005,1228428.264,1228428.264,1228428.264,1769127.521,1259974.224,1259974.224,2601210.91971,1603723.3983,2383806.13772,4157801.403,1180023.63628,1500768.3159400001,1558478.703,1558478.703,1558478.703,1558478.703,3788322.50016,3788322.50016 +29664000.0,1143629.838,1248992.2110000001,3647057.25612,2118352.55401,2118352.55401,2118352.55401,1978094.0270000002,4291376.44072,3364780.1888,3335496.5989800002,5082661.48416,1373781.7889999999,1373781.7889999999,1373781.7889999999,1837180.5165000001,1143629.838,1143629.838,2241080.03886,2194290.2997,3261636.4454799998,5688900.777000001,1614564.22052,2053422.28046,1620303.591,1620303.591,1620303.591,1620303.591,3438513.71292,3438513.71292 +29667600.0,2108851.7909999997,2299056.978,6713246.37576,1748115.07728,1748115.07728,1748115.07728,2311139.5265,4552383.20448,7561234.834560001,3754267.9786499995,5720789.300799999,2018492.6939999997,2018492.6939999997,2018492.6939999997,1708476.826,2108851.7909999997,2108851.7909999997,2584343.2309499998,1978247.5857,2940506.2878799997,5128790.0370000005,1455599.45812,1851248.97526,2372686.233,2372686.233,2372686.233,2372686.233,6340614.384939999,6340614.384939999 +29671200.0,1572586.995,1215864.702,3550324.92984,813811.35143,813811.35143,813811.35143,1010566.8964999999,2463785.1626399998,7319059.36256,1561942.58514,2380102.98688,1574675.2380000001,1574675.2380000001,1574675.2380000001,1598939.1775,1572586.995,1572586.995,2154420.53918,2330953.5726,3464775.43384,6043212.966000001,1715121.3941600001,2181312.10868,1127080.8599999999,1127080.8599999999,1127080.8599999999,1127080.8599999999,4728244.8983000005,4728244.8983000005 +29674800.0,840127.6199999999,796267.0319999999,2325099.7334399996,491587.02571,491587.02571,491587.02571,659265.866,1613126.11984,4315012.352000001,1078868.42049,1643989.9740799998,711694.824,711694.824,711694.824,696179.4525,840127.6199999999,840127.6199999999,910195.47749,1252329.8017499999,1861487.7546999997,3246780.9675,921467.3603,1171933.32065,690640.323,690640.323,690640.323,690640.323,2525983.7107999995,2525983.7107999995 +29678400.0,854647.524,1238628.639,3616795.6258799997,724079.85386,724079.85386,724079.85386,1001275.905,1816207.68728,3007837.31968,1438436.4035999998,2191903.0912,780123.9180000001,780123.9180000001,780123.9180000001,1128262.3135000002,854647.524,854647.524,1014208.6731399999,916372.2415499999,1362113.80102,2375779.8855,674268.95798,857543.40629,856261.9619999999,856261.9619999999,856261.9619999999,856261.9619999999,2569640.2221599994,2569640.2221599994 +29682000.0,709422.6630000001,766222.755,2237370.4446,570309.5843500001,570309.5843500001,570309.5843500001,970779.3339999999,1441882.3928,2295951.64096,1069697.59323,1630015.3801600002,655726.581,655726.581,655726.581,807212.6124999999,709422.6630000001,709422.6630000001,810549.0788199998,761153.4684,1131393.55056,1973360.844,560058.60144,712289.29512,663700.404,663700.404,663700.404,663700.404,2132997.47342,2132997.47342 +29685600.0,627496.0619999999,549246.036,1603798.4251199998,361625.60500000004,361625.60500000004,361625.60500000004,621756.7475,1311570.6475999998,2136300.5881600003,953478.26364,1452919.25888,606856.9380000001,606856.9380000001,606856.9380000001,527102.73,627496.0619999999,627496.0619999999,751672.5431799999,685848.83355,1019459.25382,1778126.6055,504649.26518,641819.03189,609526.743,609526.743,609526.743,609526.743,1886671.49308,1886671.49308 +29689200.0,1019306.646,1227260.313,3583600.1139599998,1532774.11232,1532774.11232,1532774.11232,1476911.0825,2283594.31616,3050937.4822400003,1805473.2282300002,2751197.30016,924267.1740000001,924267.1740000001,924267.1740000001,1460041.051,1019306.646,1019306.646,1544378.02753,1372439.8782,2040021.74488,3558177.462,1009844.6511199999,1284332.62676,1089277.9109999998,1089277.9109999998,1089277.9109999998,1089277.9109999998,3064715.3156399997,3064715.3156399997 +29692800.0,984093.021,1358195.739,3965931.5578799997,1761855.36879,1761855.36879,1761855.36879,1235855.7889999999,2529669.07592,3295831.32224,1900000.9457099999,2895239.53632,1061699.523,1061699.523,1061699.523,1690980.4274999998,984093.021,984093.021,1675854.5579099997,1404368.8469999998,2087481.5947999998,3640956.27,1033338.0652,1314211.8346,1179624.1619999998,1179624.1619999998,1179624.1619999998,1179624.1619999998,2958839.68314,2958839.68314 +29696400.0,900183.048,1313306.733,3834855.6603599996,1113504.1408700002,1113504.1408700002,1113504.1408700002,1068592.2345000003,2405031.62072,3278056.07872,1603434.24129,2443328.36768,918629.6939999999,918629.6939999999,918629.6939999999,1327746.588,900183.048,900183.048,1365712.07344,1199144.82915,1782432.5608599999,3108894.0015,882333.7261399999,1122162.69197,1121731.779,1121731.779,1121731.779,1121731.779,2706550.3643199997,2706550.3643199997 +29700000.0,2222309.589,1829323.4610000001,5341624.506120001,3535192.05699,3535192.05699,3535192.05699,2899277.199,3570561.6803200003,6753947.88672,3727416.71904,5679873.095679999,2342968.0530000003,2342968.0530000003,2342968.0530000003,2998594.2595,2222309.589,2222309.589,3891171.25553,2876559.2572500003,4275774.5009,7457746.2225,2116579.4041,2691891.2555500004,2481186.765,2481186.765,2481186.765,2481186.765,6681744.16426,6681744.16426 +29703600.0,1655407.9499999997,935308.929,2731102.0726799998,2246621.4977800003,2246621.4977800003,2246621.4977800003,1742555.0520000001,2644077.77112,4655745.35936,2460974.28738,3750056.05696,1673588.34,1673588.34,1673588.34,2156917.5985,1655407.9499999997,1655407.9499999997,1441587.0384499999,1928039.14035,2865875.46294,4998619.9935,1418655.96006,1804263.78813,1800853.7519999999,1800853.7519999999,1800853.7519999999,1800853.7519999999,4977259.902999999,4977259.902999999 +29707200.0,1198934.616,882904.6410000001,2578081.5517200003,1295331.90776,1295331.90776,1295331.90776,1325463.5659999999,1987883.8604800003,3697887.4585600006,1750495.87398,2667422.2841600003,1078607.205,1078607.205,1078607.205,1442366.3415,1198934.616,1198934.616,1264378.4277799998,1402787.14785,2085130.52594,3636855.5685000005,1032174.2470600001,1312731.6766300001,1226495.8169999998,1226495.8169999998,1226495.8169999998,1226495.8169999998,3604796.7454399997,3604796.7454399997 +29710800.0,1040203.896,885651.0059999999,2586100.9375199997,1206570.3929400002,1206570.3929400002,1206570.3929400002,1177813.1785,1907048.9807199996,3559599.0137600005,1671252.81708,2546670.95936,1036753.77,1036753.77,1036753.77,1376278.603,1040203.896,1040203.896,1269052.9012199997,1338240.1270499998,1989186.5592199997,3469511.4404999996,984680.3897799999,1252328.4151899999,1171275.957,1171275.957,1171275.957,1171275.957,3127546.3806399996,3127546.3806399996 +29714400.0,729585.528,624005.9040000001,1822097.23968,793871.2736900001,793871.2736900001,793871.2736900001,640305.617,977340.3695199998,2168293.45664,953993.4942300001,1453704.3721600003,547374.0360000001,547374.0360000001,547374.0360000001,679823.7215,729585.528,729585.528,892849.9392799999,621922.0905,924437.2802,1612390.605,457611.80980000005,581996.2279,738302.322,738302.322,738302.322,738302.322,2193620.48752,2193620.48752 +29718000.0,123244.87800000001,107967.987,315266.52203999995,149187.28264000002,149187.28264000002,149187.28264000002,64896.8285,202009.50111999997,756730.94976,225895.13940000001,344221.1648,180465.432,180465.432,180465.432,116124.56450000001,123244.87800000001,123244.87800000001,226327.12335999997,88897.92120000001,132139.62608000002,230476.09200000003,65411.30992000001,83190.89416000001,154350.132,154350.132,154350.132,154350.132,370556.26652,370556.26652 +29721600.0,121254.06,105197.238,307175.93496,124164.78833000002,124164.78833000002,124164.78833000002,43652.98,209042.40872000004,740780.6521600002,246901.0026,376230.0992,174785.27399999998,174785.27399999998,174785.27399999998,109473.378,121254.06,121254.06,221226.99859,81553.18544999999,121222.26577999999,211434.1845,60007.03522,76317.67231,153477.822,153477.822,153477.822,153477.822,364570.54039999994,364570.54039999994 +29725200.0,130042.16100000001,117957.435,344435.7102,118907.17047000001,118907.17047000001,118907.17047000001,46266.769499999995,221742.2012,738117.78304,252433.09139999998,384659.94879999995,173160.951,173160.951,173160.951,108378.767,130042.16100000001,130042.16100000001,229818.89476,82264.8069,122280.03395999999,213279.129,60530.64803999999,76983.60942,157285.602,157285.602,157285.602,157285.602,390993.43074,390993.43074 +29728800.0,143216.85600000003,134293.629,392137.39667999995,119442.26151,119442.26151,119442.26151,49344.547,251619.09808,772086.00256,295587.03069000004,450418.33248000004,180487.62,180487.62,180487.62,111507.66549999999,143216.85600000003,143216.85600000003,259920.27879999997,101314.58129999999,150595.99492,262667.433,74547.51908,94810.43534,170244.04499999998,170244.04499999998,170244.04499999998,170244.04499999998,430605.34704,430605.34704 +29732400.0,178424.889,148815.372,434540.88624,128040.50281,128040.50281,128040.50281,70200.64450000001,321390.40152,773962.0736000001,324088.64817,493849.36864000006,203312.385,203312.385,203312.385,128400.48199999999,178424.889,178424.889,264123.08845,118852.8471,176665.21964,308137.011,87452.21836,111222.78778000001,228911.745,228911.745,228911.745,228911.745,536464.16626,536464.16626 +29736000.0,216221.43,156566.31600000002,457173.64272,136089.75809000002,136089.75809000002,136089.75809000002,74684.491,378831.37424,774655.42336,363776.45388000004,554326.0249600001,291633.648,291633.648,291633.648,206952.0075,216221.43,216221.43,282418.08699,134966.01510000002,200616.15084000002,349911.891,99308.32716,126301.53018000002,270064.194,270064.194,270064.194,270064.194,650105.7662,650105.7662 +29739600.0,258998.79000000004,174912.357,510744.08243999997,157054.60078,157054.60078,157054.60078,82512.5245,463522.51696,791114.4806400001,416409.6111000001,634528.9312000001,345110.11199999996,345110.11199999996,345110.11199999996,224063.72799999997,258998.79000000004,258998.79000000004,307492.36687,153440.0415,228076.3086,397807.515,112901.5614,143589.5697,322009.07700000005,322009.07700000005,322009.07700000005,322009.07700000005,778723.0286000001,778723.0286000001 +29743200.0,430836.72,241293.456,704576.89152,267270.59964000003,267270.59964000003,267270.59964000003,160952.12,969652.58184,950763.3465600001,678352.02582,1033679.2774400001,394331.40300000005,394331.40300000005,394331.40300000005,351863.274,430836.72,430836.72,520235.60770999995,214388.07839999997,318670.67455999996,555820.9439999999,157747.27743999998,200624.89312,459472.083,459472.083,459472.083,459472.083,1295382.4048,1295382.4048 +29746800.0,1178168.688,541417.929,1580940.3526799998,1593798.43062,1593798.43062,1593798.43062,1404220.6605,3280235.4710399997,3708551.5232000006,2790482.4273900003,4252163.69888,1068831.9360000002,1068831.9360000002,1068831.9360000002,1549165.954,1178168.688,1178168.688,2489730.9157499997,1453929.10605,2161148.94282,3769445.8305,1069804.6261800001,1360590.44739,1442611.014,1442611.014,1442611.014,1442611.014,3542360.5219199997,3542360.5219199997 +29750400.0,1058279.496,1136386.308,3318248.01936,1939446.47325,1939446.47325,1939446.47325,1869933.3309999998,4055511.6945599997,3109041.8175999997,3140246.30745,4785137.230400001,1289409.705,1289409.705,1289409.705,1671823.4749999999,1058279.496,1058279.496,2167580.8338599997,2090305.9827,3107072.10268,5419311.807,1538052.30332,1956113.49986,1514678.7029999997,1514678.7029999997,1514678.7029999997,1514678.7029999997,3181893.6846399996,3181893.6846399996 +29754000.0,2047284.537,2233469.193,6521730.04356,1591568.8927600002,1591568.8927600002,1591568.8927600002,2033407.1485000001,4302480.920399999,7281419.523839999,3569780.2360500004,5439665.1216,1933211.8020000001,1933211.8020000001,1933211.8020000001,1571099.7155000002,2047284.537,2047284.537,2307423.33952,1793256.3958499997,2665531.7291399995,4649183.2485,1319482.4838599998,1678133.7630299998,2293305.5250000004,2293305.5250000004,2293305.5250000004,2293305.5250000004,6155502.174579999,6155502.174579999 +29757600.0,1483351.551,1145626.857,3345230.42244,773078.83213,773078.83213,773078.83213,918426.4285000002,2238049.23072,7014182.62464,1421761.58208,2166493.83936,1476137.7,1476137.7,1476137.7,1510489.5365,1483351.551,1483351.551,2071506.4229599996,2258608.4631,3357240.2340399995,5855651.5709999995,1661889.6839599998,2113611.37658,1064231.529,1064231.529,1064231.529,1064231.529,4459943.6633399995,4459943.6633399995 +29761200.0,788334.081,749829.0599999999,2189500.8551999996,451319.45507,451319.45507,451319.45507,598135.7829999999,1478613.32976,3694424.8332800004,992420.8679700001,1512260.37024,642209.907,642209.907,642209.907,625007.6875,788334.081,788334.081,841964.4538499999,1068120.14445,1587674.88138,2769200.3745,785925.43962,999549.46851,639560.358,639560.358,639560.358,639560.358,2370257.8035399998,2370257.8035399998 +29764800.0,806196.648,1202963.904,3512654.59968,695729.98396,695729.98396,695729.98396,965790.6195,1736545.5612799998,2850344.7392000007,1377410.57076,2098911.34592,736247.73,736247.73,736247.73,1088690.4595,806196.648,806196.648,964658.16473,871586.43435,1295543.2925399998,2259668.5335,641315.45046,815632.73733,809169.1709999999,809169.1709999999,809169.1709999999,809169.1709999999,2423964.58832,2423964.58832 +29768400.0,667893.297,705857.847,2061104.91324,543819.0329,543819.0329,543819.0329,933146.5359999998,1360541.9500799999,2152380.45568,1011006.85287,1540581.8710399999,614810.046,614810.046,614810.046,722067.353,667893.297,667893.297,761216.5980899999,714894.0119999999,1062632.5807999999,1853428.9199999997,526020.7792,668999.5815999999,625117.689,625117.689,625117.689,625117.689,2008132.5129799999,2008132.5129799999 +29772000.0,593094.6,521946.189,1524082.87188,339379.03384,339379.03384,339379.03384,558924.226,1242741.29528,2012171.0272000001,902477.4822,1375203.7824000001,571737.708,571737.708,571737.708,496332.02150000003,593094.6,593094.6,708325.0492499999,645537.3327,959539.44268,1673615.307,474987.96332000004,604095.42986,577055.9400000001,577055.9400000001,577055.9400000001,577055.9400000001,1783237.7639999997,1783237.7639999997 +29775600.0,989136.717,1174123.113,3428439.48996,1516374.6211900003,1516374.6211900003,1516374.6211900003,1438772.9510000001,2206480.4216,2989990.71424,1774688.6532899998,2704287.47168,908300.514,908300.514,908300.514,1445480.939,989136.717,989136.717,1519516.4458499998,1353579.1901999998,2011986.8456799998,3509279.3819999998,995966.9103199999,1266682.7483599999,1053640.773,1053640.773,1053640.773,1053640.773,2974004.39578,2974004.39578 +29779200.0,972265.2990000001,1346290.7040000001,3931168.85568,1711103.89329,1711103.89329,1711103.89329,1222405.9785,2470421.56928,3272687.7344000004,1857004.3291800001,2829720.8825600003,1055707.443,1055707.443,1055707.443,1679514.3295,972265.2990000001,972265.2990000001,1630721.96235,1390927.9783500002,2067502.82214,3606109.5735000004,1023448.2408600001,1301633.8365300002,1164442.941,1164442.941,1164442.941,1164442.941,2923277.66566,2923277.66566 +29782800.0,896690.433,1284555.7740000002,3750902.86008,1102324.42881,1102324.42881,1102324.42881,1066857.6765,2392734.79408,3245516.4032000005,1595150.0040000002,2430704.7680000006,911259.327,911259.327,911259.327,1321294.1105,896690.433,896690.433,1359990.4678099998,1188824.60295,1767092.3727799999,3082137.8595000003,874740.07822,1112504.99881,1110728.9640000002,1110728.9640000002,1110728.9640000002,1110728.9640000002,2696049.2352199997,2696049.2352199997 +29786400.0,2221269.576,1829940.771,5343427.05132,3530863.7625800003,3530863.7625800003,3530863.7625800003,2897792.4745,3541839.16456,6746245.858560001,3725180.5353,5676465.5776,2342656.4579999996,2342656.4579999996,2342656.4579999996,2999995.5265,2221269.576,2221269.576,3875401.521419999,2867653.0034999996,4262536.069399999,7434655.935,2110026.1606,2683556.7613,2481135.909,2481135.909,2481135.909,2481135.909,6678617.191839999,6678617.191839999 +29790000.0,1669421.127,953255.8200000001,2783506.9943999997,2230435.98283,2230435.98283,2230435.98283,1760787.693,2677789.59744,4706618.215679999,2471125.0057200002,3765523.8182400004,1694705.031,1694705.031,1694705.031,2151427.4984999998,1669421.127,1669421.127,1465188.9147999997,1942706.28015,2887676.9892599997,5036645.9115,1429448.07774,1817989.3337700001,1810581.441,1810581.441,1810581.441,1810581.441,5019392.85518,5019392.85518 +29793600.0,1230601.662,911481.0899999999,2661524.7827999997,1318246.05253,1318246.05253,1318246.05253,1346576.5809999998,2046383.21056,3832616.18496,1798435.44972,2740473.0662399996,1112038.44,1112038.44,1112038.44,1492711.92,1230601.662,1230601.662,1299563.1112099998,1446214.74705,2149682.1672199997,3749445.6404999997,1064128.38178,1353371.33119,1266713.607,1266713.607,1266713.607,1266713.607,3700008.9970799997,3700008.9970799997 +29797200.0,1066198.7310000001,910518.9209999999,2658715.2493199995,1233469.37703,1233469.37703,1233469.37703,1206253.335,1959679.56296,3669260.8512000004,1711490.1608700003,2607985.0070400005,1070555.6549999998,1070555.6549999998,1070555.6549999998,1420669.6665,1066198.7310000001,1066198.7310000001,1303351.9626399998,1375134.6550500002,2044027.31442,3565163.9205000005,1011827.47458,1286854.40559,1204395.0150000001,1204395.0150000001,1204395.0150000001,1204395.0150000001,3205704.1845400003,3205704.1845400003 +29800800.0,756375.771,653414.451,1907970.19692,820009.14743,820009.14743,820009.14743,666206.569,1029047.2331200001,2285277.2403200003,996634.59378,1518681.28576,576744.951,576744.951,576744.951,715382.8255,756375.771,756375.771,931453.49856,652351.47795,969668.12278,1691281.6095000003,480001.82822,610472.12381,771669.657,771669.657,771669.657,771669.657,2274169.8181399996,2274169.8181399996 +29804400.0,127951.614,113087.523,330215.56716,154703.85424999997,154703.85424999997,154703.85424999997,66294.739,211396.07471999998,804100.44608,238346.26599,363194.31008,190541.619,190541.619,190541.619,121927.5925,127951.614,127951.614,237717.98257999998,93297.57389999999,138679.35675999997,241882.599,68648.58524,87308.10002,161422.713,161422.713,161422.713,161422.713,384707.85276,384707.85276 +29808000.0,129142.34700000001,113144.60699999999,330382.25243999995,132600.99479000003,132600.99479000003,132600.99479000003,45754.0895,226334.87648,809212.2944000001,264925.36959,403695.8012800001,189435.81900000002,189435.81900000002,189435.81900000002,118287.6555,129142.34700000001,129142.34700000001,237960.93086999998,88318.00575,131277.62829999998,228972.6075,64984.606700000004,82648.20785,163944.0,163944.0,163944.0,163944.0,388287.98998,388287.98998 +29811600.0,144704.946,134661.426,393211.36392,131336.71441000002,131336.71441000002,131336.71441000002,52757.582500000004,255859.15415999998,834891.44448,281630.41725,429151.112,193711.257,193711.257,193711.257,120393.4445,144704.946,144704.946,262435.49994999997,94943.30355,141125.60182,246149.30550000002,69859.51718000001,88848.17789,172870.64399999997,172870.64399999997,172870.64399999997,172870.64399999997,435079.53764,435079.53764 +29815200.0,161318.58000000002,145688.06699999998,425409.15563999995,129353.85111000002,129353.85111000002,129353.85111000002,56937.208999999995,304769.98928,839250.4947200001,326264.95923,497165.65216,197630.832,197630.832,197630.832,120716.03599999998,161318.58000000002,161318.58000000002,279052.8715,114127.44075,169641.2823,295885.9575,83975.2527,106800.74085,198871.092,198871.092,198871.092,198871.092,485031.1972,485031.1972 +29818800.0,204911.81399999998,160740.67200000002,469362.76224,139465.75797,139465.75797,139465.75797,77925.66249999999,370511.97304,835495.6761600001,358841.72016,546806.4307200001,264834.59400000004,264834.59400000004,264834.59400000004,178247.4995,204911.81399999998,204911.81399999998,288747.03208,134979.7446,200636.55864,349947.48600000003,99318.42936000001,126314.37828,270136.122,270136.122,270136.122,270136.122,616101.5207599999,616101.5207599999 +29822400.0,245078.09100000001,176076.98100000003,514144.78452000004,148468.84624,148468.84624,148468.84624,79749.621,460774.3648,849972.1036800001,408615.31452,622651.90784,355510.05,355510.05,355510.05,233700.6595,245078.09100000001,245078.09100000001,315751.5793899999,153022.17059999998,227455.17703999998,396724.146,112594.09096,143198.52508,308554.152,308554.152,308554.152,308554.152,736868.12694,736868.12694 +29826000.0,307622.25,220943.35499999998,645154.5965999999,176468.42752,176468.42752,176468.42752,89071.395,562062.96856,910163.8976000001,493426.09112999996,751887.3769599999,402066.963,402066.963,402066.963,252677.41799999998,307622.25,307622.25,345993.67516999994,176629.4424,262545.49215999997,457928.184,129964.37984,165290.26832,393583.728,393583.728,393583.728,393583.728,924917.565,924917.565 +29829600.0,507826.75800000003,270323.601,789344.91492,284288.76740000007,284288.76740000007,284288.76740000007,169203.0375,1072719.74592,1173362.05376,775110.01512,1181120.0230400001,457547.44200000004,457547.44200000004,457547.44200000004,386552.66650000005,507826.75800000003,507826.75800000003,559729.4546999999,248280.633,369049.2372,643690.53,182685.5028,232341.6294,533218.872,533218.872,533218.872,533218.872,1526865.78572,1526865.78572 +29833200.0,1256811.0899999999,619301.577,1808360.60484,1672880.9929700003,1672880.9929700003,1672880.9929700003,1467509.6415,3426348.2005600003,4212465.45792,2962478.2830300005,4514252.6217600005,1217835.906,1217835.906,1217835.906,1770690.0470000003,1256811.0899999999,1256811.0899999999,2600265.1871299995,1600821.07515,2379492.06726,4150276.8614999996,1177888.09974,1498052.31477,1553440.776,1553440.776,1553440.776,1553440.776,3778812.0105999997,3778812.0105999997 +29836800.0,1146627.8250000002,1253607.984,3660535.31328,2107177.90096,2107177.90096,2107177.90096,1966132.4795,4277295.1261599995,3371495.9014400006,3336716.8018799997,5084520.84096,1378057.5869999998,1378057.5869999998,1378057.5869999998,1846436.9524999997,1146627.8250000002,1146627.8250000002,2242075.7617699997,2197524.99015,3266444.55326,5697287.0115,1616944.3137400001,2056449.3117700003,1624618.545,1624618.545,1624618.545,1624618.545,3447527.6605,3447527.6605 +29840400.0,2106891.204,2291741.91,6691886.377200001,1725839.8370400001,1725839.8370400001,1725839.8370400001,2282990.7449999996,4525345.0264800005,7546455.333760001,3734089.41717,5690041.01664,2014573.0890000002,2014573.0890000002,2014573.0890000002,1698370.8035000002,2106891.204,2106891.204,2485632.37728,1957010.4387,2908938.97308,5073730.767,1439973.11292,1831375.20066,2365118.466,2365118.466,2365118.466,2365118.466,6334719.553359999,6334719.553359999 +29844000.0,1458768.444,1083261.432,3163123.38144,651494.44822,651494.44822,651494.44822,856192.5819999999,2185249.58048,6821778.74624,1306520.62212,1990888.56704,1431499.158,1431499.158,1431499.158,1453495.33,1458768.444,1458768.444,1891736.0880599997,2170993.7844,3227008.0449599996,5628502.404,1597422.58704,2031621.34392,972426.882,972426.882,972426.882,972426.882,4386030.45496,4386030.45496 +29847600.0,727262.1390000001,682963.737,1994254.11204,330364.41119,330364.41119,330364.41119,524809.2325,1375511.94328,3618571.3555200007,860861.0816400001,1311788.3148800002,585296.0249999999,585296.0249999999,585296.0249999999,556586.9575,727262.1390000001,727262.1390000001,671638.67901,1027648.62405,1527517.21402,2664274.2105,756146.39498,961676.11979,556033.9890000001,556033.9890000001,556033.9890000001,556033.9890000001,2186634.83126,2186634.83126 +29851200.0,813673.101,1199060.472,3501256.57824,661735.45955,661735.45955,661735.45955,969000.8895,1761797.83808,2873269.73696,1357679.2817699998,2068844.6198399998,736148.0549999999,736148.0549999999,736148.0549999999,1095854.9280000003,813673.101,813673.101,906081.61436,874077.8283,1299246.54972,2266127.703,643148.62428,817964.1899400001,812737.122,812737.122,812737.122,812737.122,2446443.7903400003,2446443.7903400003 +29854800.0,577636.554,624730.659,1824213.5242799998,406736.01573000004,406736.01573000004,406736.01573000004,825147.064,1186181.2281600002,1727390.9331200002,831582.2495400001,1267172.9516800002,516027.789,516027.789,516027.789,654537.4115,577636.554,577636.554,563287.96966,564761.1842999998,839472.1801199998,1464195.6629999997,415552.6738799999,528504.91074,512733.078,512733.078,512733.078,512733.078,1736760.57236,1736760.57236 +29858400.0,489106.929,408752.45699999994,1193557.17444,185724.12441,185724.12441,185724.12441,424818.2155,1034913.8985599999,1512493.19872,697365.62511,1062652.38112,458053.5,458053.5,458053.5,370050.03,489106.929,489106.929,506398.01211999997,471490.9803,700833.5065199999,1222384.023,346924.22748,441222.42354,445667.11199999996,445667.11199999996,445667.11199999996,445667.11199999996,1470581.49986,1470581.49986 +29862000.0,1029583.3049999999,1212545.679,3540633.3826800003,1508559.4031200001,1508559.4031200001,1508559.4031200001,1479798.5860000001,2309613.6010399996,3155364.5273600006,1816435.0050000001,2767900.96,935364.078,935364.078,935364.078,1489612.8485,1029583.3049999999,1029583.3049999999,1523326.9518999998,1412050.04055,2098899.0726199998,3660870.4755,1038989.9063800001,1321399.91449,1071822.027,1071822.027,1071822.027,1071822.027,3095613.8037,3095613.8037 +29865600.0,1015831.5689999999,1386470.508,4048493.88336,1680747.3098900001,1680747.3098900001,1680747.3098900001,1271183.732,2576967.20088,3425049.90528,1911565.17804,2912861.22368,1097059.869,1097059.869,1097059.869,1707242.9325,1015831.5689999999,1015831.5689999999,1650212.0342499998,1441320.1965,2142406.8106,3736756.0650000004,1060526.9594,1348790.9987,1206016.845,1206016.845,1206016.845,1206016.845,3054266.9174599997,3054266.9174599997 +29869200.0,939111.8520000002,1331374.701,3887614.1269199997,1140019.8612000002,1140019.8612000002,1140019.8612000002,1116017.259,2484938.09816,3425037.3388799997,1674849.32685,2552151.3552,961948.452,961948.452,961948.452,1375417.2355,939111.8520000002,939111.8520000002,1408301.2660599998,1251813.7183499997,1860720.6381399997,3245442.9735,921087.6248599999,1171450.3685299999,1168626.057,1168626.057,1168626.057,1168626.057,2823596.30168,2823596.30168 +29872800.0,2253663.804,1863650.1630000002,5441858.47596,3545838.1269300003,3545838.1269300003,3545838.1269300003,2935048.2385,3624563.9442399996,6896476.72448,3778898.1675899997,5758321.01728,2372388.9450000003,2372388.9450000003,2372388.9450000003,3042438.119,2253663.804,2253663.804,3878233.19247,2916342.9702,4334909.79768,7560889.182,2145852.35832,2729120.95236,2523949.5330000003,2523949.5330000003,2523949.5330000003,2523949.5330000003,6776015.83736,6776015.83736 +29876400.0,1698525.0060000003,984773.9820000001,2875540.02744,2239318.6153800003,2239318.6153800003,2239318.6153800003,1794098.9815,2743227.64424,4824740.98304,2544034.45947,3876623.9382400005,1727949.117,1727949.117,1727949.117,2235869.629,1698525.0060000003,1698525.0060000003,1520754.4147899998,2001074.49135,2974436.65134,5187970.9035,1472395.55166,1872610.4499300001,1868371.9379999998,1868371.9379999998,1868371.9379999998,1868371.9379999998,5106898.51804,5106898.51804 +29880000.0,1262312.8229999999,933416.139,2725575.1258799997,1347986.63329,1347986.63329,1347986.63329,1397009.3934999998,2098356.97384,3946992.50048,1841221.2947099998,2805670.54432,1167781.428,1167781.428,1167781.428,1528632.6369999999,1262312.8229999999,1262312.8229999999,1336587.13864,1480328.0387999997,2200388.8379199994,3837887.5079999994,1089229.02608,1385294.6338399998,1303569.699,1303569.699,1303569.699,1303569.699,3795353.88782,3795353.88782 +29883600.0,1102294.614,943914.4500000001,2756230.194,1272223.94145,1272223.94145,1272223.94145,1244413.289,2024646.36848,3802040.3168,1768381.18527,2694676.09184,1108747.335,1108747.335,1108747.335,1469764.8385,1102294.614,1102294.614,1359443.20525,1423416.81915,2115794.87686,3690339.9015,1047353.6101400001,1332036.9739700002,1247453.361,1247453.361,1247453.361,1247453.361,3314232.47276,3314232.47276 +29887200.0,778762.4190000001,673779.447,1967435.98524,831381.33793,831381.33793,831381.33793,685126.3615,1066470.72984,2360608.32576,1029488.901,1568744.9919999999,594224.2559999999,594224.2559999999,594224.2559999999,739194.267,778762.4190000001,778762.4190000001,966554.7332999998,673259.3801999999,1000746.0416799999,1745487.282,495385.91432,630037.79036,795580.1070000001,795580.1070000001,795580.1070000001,795580.1070000001,2341479.0064600003,2341479.0064600003 +29890800.0,134758.45500000002,119529.23399999998,349025.36327999993,159949.91331,159949.91331,159949.91331,68339.70850000001,224794.99112,859651.2998400001,259682.29833000002,395706.35936,202405.56900000002,202405.56900000002,202405.56900000002,128879.891,134758.45500000002,134758.45500000002,252041.2102,99260.72505,147543.10241999998,257342.6205,73036.28658,92888.43159000001,171734.82,171734.82,171734.82,171734.82,405173.7547,405173.7547 +29894400.0,137651.124,119852.682,349969.83144,139533.93047000002,139533.93047000002,139533.93047000002,47632.8615,239909.58856,859376.20992,280046.34630000003,426737.2896,200136.64200000002,200136.64200000002,200136.64200000002,125010.5465,137651.124,137651.124,250947.35848,93551.09985,139056.20273999998,242539.8885,68835.13026,87545.35023,173905.83,173905.83,173905.83,173905.83,413871.04615999997,413871.04615999997 +29898000.0,152195.42099999997,142664.727,416581.00284,136520.88505,136520.88505,136520.88505,56809.5395,273281.59112,869259.81952,300853.73997,458443.79424,200823.387,200823.387,200823.387,124714.46399999999,152195.42099999997,152195.42099999997,277470.82401999994,102518.95005,152386.19241999998,265789.8705,75433.69658,95937.48659,180329.928,180329.928,180329.928,180329.928,457600.89913999994,457600.89913999994 +29901600.0,178064.124,154890.381,452279.91252,136183.44135,136183.44135,136183.44135,64551.910500000005,343218.00888,873889.45536,345377.86815000005,526290.0848000001,207478.479,207478.479,207478.479,126307.42599999998,178064.124,178064.124,289475.28050999995,122597.78895,182231.77518,317846.11950000003,90207.75582,114727.31361000001,225809.16599999997,225809.16599999997,225809.16599999997,225809.16599999997,535379.46616,535379.46616 +29905200.0,226544.83500000002,169932.627,496203.27084,148124.50796000002,148124.50796000002,148124.50796000002,81949.868,409665.69824,881230.0064000002,389721.1659600001,593860.8243200001,312951.192,312951.192,312951.192,212558.90250000003,226544.83500000002,226544.83500000002,311635.8115,146759.47739999997,218146.18615999995,380487.534,107985.98584,137337.88132,296967.98699999996,296967.98699999996,296967.98699999996,296967.98699999996,681144.8039,681144.8039 +29908800.0,269429.82,196985.124,575196.56208,158631.26180000004,158631.26180000004,158631.26180000004,83481.461,514130.15239999996,898562.7276800001,443155.51392,675284.59264,386596.884,386596.884,386596.884,249998.609,269429.82,269429.82,337618.06546,167418.58814999997,248854.29645999995,434048.19149999996,123187.01053999999,156670.72817,346708.353,346708.353,346708.353,346708.353,810085.6588,810085.6588 +29912400.0,346328.847,245038.827,715513.37484,187319.35277000003,187319.35277000003,187319.35277000003,92590.092,612449.8636800001,996230.60544,537951.0066,819734.8672,430534.70700000005,430534.70700000005,430534.70700000005,269687.21849999996,346328.847,346328.847,364459.02948,191014.13115,283927.17766,495221.8215,140548.66934,178751.49557,433393.059,433393.059,433393.059,433393.059,1041295.39998,1041295.39998 +29916000.0,554481.2729999999,285858.519,834706.8754799999,295987.91728000005,295987.91728000005,295987.91728000005,177480.905,1130830.84112,1323307.9398400001,838483.46463,1277689.0889599998,486703.155,486703.155,486703.155,407325.548,554481.2729999999,554481.2729999999,577039.5335899999,284621.99580000003,423067.75672,737908.878,209425.56728000002,266349.96644000005,577474.0380000001,577474.0380000001,577474.0380000001,577474.0380000001,1667140.3608199998,1667140.3608199998 +29919600.0,1285967.73,683265.531,1995135.3505199999,1712388.5847200002,1712388.5847200002,1712388.5847200002,1502703.3315,3485268.89496,4369567.250560001,3046584.20808,4642414.031359999,1277158.533,1277158.533,1277158.533,1888373.6269999999,1285967.73,1285967.73,2662027.65543,1660834.4449500002,2468697.1255799998,4305867.0795,1222046.0854200001,1554212.97441,1595845.08,1595845.08,1595845.08,1595845.08,3866476.3081999994,3866476.3081999994 +29923200.0,1178071.3290000001,1272242.931,3714949.3585200002,2205340.7739000004,2205340.7739000004,2205340.7739000004,2006891.9849999999,4375027.70136,3466383.79776,3410216.55408,5196520.46336,1400243.3699999999,1400243.3699999999,1400243.3699999999,1912014.8215,1178071.3290000001,1178071.3290000001,2290622.88013,2235506.7123,3322901.33532,5795758.143,1644891.35868,2091992.70114,1656832.5,1656832.5,1656832.5,1656832.5,3542067.79586,3542067.79586 +29926800.0,2155058.571,2327511.348,6796333.13616,1814063.3670500002,1814063.3670500002,1814063.3670500002,2430852.5640000002,4641642.6872000005,7692266.12352,3843590.6659500003,5856900.062400001,2064903.438,2064903.438,2064903.438,1766844.0755000003,2155058.571,2155058.571,2629646.9470699998,2056581.3289499998,3056943.1111799995,5331877.5194999995,1513237.61982,1924553.8856099998,2424189.012,2424189.012,2424189.012,2424189.012,6479542.77014,6479542.77014 +29930400.0,1683958.884,1285176.918,3752716.6005599997,915645.03063,915645.03063,915645.03063,1123788.267,2623293.5673599998,7731278.245760001,1753578.86298,2672120.17216,1676109.5250000001,1676109.5250000001,1676109.5250000001,1706919.8825,1683958.884,1683958.884,2270267.49404,2433120.7477499996,3616638.7410999993,6308090.8275,1790296.2539,2276920.4034499996,1245231.63,1245231.63,1245231.63,1245231.63,5063103.04456,5063103.04456 +29934000.0,920599.9739999999,847079.754,2473472.88168,542074.97685,542074.97685,542074.97685,733275.816,1747973.4659999998,4738749.608320001,1192117.04892,1816559.3126400001,786799.284,786799.284,786799.284,780098.3435000001,920599.9739999999,920599.9739999999,991694.8091699999,1413625.23135,2101240.46734,3664954.3035,1040148.93566,1322873.98193,772373.061,772373.061,772373.061,772373.061,2767937.2551599997,2767937.2551599997 +29937600.0,946856.751,1297593.282,3788972.3834399995,780568.05134,780568.05134,780568.05134,1093904.2170000002,1950009.97128,3278038.3225600002,1559372.8657499999,2376187.224,862848.405,862848.405,862848.405,1204963.221,946856.751,946856.751,1155487.47366,1018259.748,1513561.4031999998,2639932.68,749238.0368,952889.9864,944803.902,944803.902,944803.902,944803.902,2846882.63134,2846882.63134 +29941200.0,797909.169,848776.692,2478427.94064,629186.93288,629186.93288,629186.93288,1058372.6964999998,1573129.5307999998,2569880.22976,1189147.8740400001,1812034.85568,734974.014,734974.014,734974.014,924684.551,797909.169,797909.169,917271.7089899998,859514.57505,1277599.44242,2228371.1205,632432.94658,804335.86159,747640.023,747640.023,747640.023,747640.023,2399046.90146,2399046.90146 +29944800.0,706094.9010000001,609522.798,1779806.57016,419471.97776000004,419471.97776000004,419471.97776000004,734190.618,1437124.0776,2404008.00384,1071424.94613,1632647.5369600002,683228.544,683228.544,683228.544,599592.6195,706094.9010000001,706094.9010000001,847590.2057999999,780023.58075,1159442.4583,2022283.3575000002,573943.2767,729947.99285,690020.538,690020.538,690020.538,690020.538,2122992.00234,2122992.00234 +29948400.0,1098669.066,1368788.5499999998,3996862.5659999996,1610314.4662,1610314.4662,1610314.4662,1549660.5635,2476869.99216,3324753.51744,1918161.54768,2922912.8345600003,999662.676,999662.676,999662.676,1523925.186,1098669.066,1098669.066,1704341.80696,1467316.47015,2181048.1852599997,3804153.8115000003,1079655.08174,1373118.37577,1218228.279,1218228.279,1218228.279,1218228.279,3303331.65844,3303331.65844 +29952000.0,1041236.28,1399196.253,4085653.05876,1847882.3157300001,1847882.3157300001,1847882.3157300001,1279620.0935,2634561.47944,3476376.1638399996,2006613.6226499998,3057696.9488,1108846.653,1108846.653,1108846.653,1757672.2064999999,1041236.28,1041236.28,1746241.0147,1468826.91765,2183293.34426,3808069.7865000004,1080766.47274,1374531.85627,1240133.256,1240133.256,1240133.256,1240133.256,3130650.4152,3130650.4152 +29955600.0,929259.6149999999,1363848.099,3982436.4490799997,1176486.0966100001,1176486.0966100001,1176486.0966100001,1090003.0575,2433984.11568,3351967.0412800005,1643327.26887,2504117.74304,956861.4810000001,956861.4810000001,956861.4810000001,1370822.1765,929259.6149999999,929259.6149999999,1398578.9333099998,1231766.1413999998,1830921.5237599998,3193467.774,906336.56824,1152689.79652,1159456.941,1159456.941,1159456.941,1159456.941,2793973.9090999993,2793973.9090999993 +29959200.0,2226741.0029999996,1838690.955,5368977.588599999,3554282.92516,3554282.92516,3554282.92516,2901612.6229999997,3632859.6642400003,6764388.3782399995,3733412.42505,5689009.4096,2344594.965,2344594.965,2344594.965,3001343.0124999997,2226741.0029999996,2226741.0029999996,4020204.0076899994,2890390.8091499996,4296333.992859999,7493605.801499999,2126756.69414,2704834.8559699995,2496724.344,2496724.344,2496724.344,2496724.344,6695067.949019999,6695067.949019999 +29962800.0,1679169.7319999998,947732.124,2767377.80208,2324709.1364200003,2324709.1364200003,2324709.1364200003,1752734.3225000002,2664219.53984,4751351.17248,2523546.7779900003,3845404.6140800007,1686780.636,1686780.636,1686780.636,2306244.3005,1679169.7319999998,1679169.7319999998,1485306.14817,2009843.3893499998,2987470.91454,5210705.0835,1478847.72846,1880816.40633,1869969.6660000002,1869969.6660000002,1869969.6660000002,1869969.6660000002,5048703.660879999,5048703.660879999 +29966400.0,1236874.7370000002,911876.949,2662680.69108,1406351.9961700002,1406351.9961700002,1406351.9961700002,1400766.3635,2049390.2907999998,3850844.79808,1806671.50293,2753023.24256,1169062.1039999998,1169062.1039999998,1169062.1039999998,1539323.7125,1236874.7370000002,1236874.7370000002,1318252.40469,1456428.5149500002,2164864.11358,3775925.7795000006,1071643.69742,1362929.4004100002,1274647.0140000002,1274647.0140000002,1274647.0140000002,1274647.0140000002,3718870.04258,3718870.04258 +29970000.0,1069814.07,911654.49,2662031.1108,1244862.8007200002,1244862.8007200002,1244862.8007200002,1213237.634,1951271.94272,3646641.9187200004,1714686.1332300003,2612855.0601600003,1067179.392,1067179.392,1067179.392,1419716.501,1069814.07,1069814.07,1320830.20875,1376370.09135,2045863.69134,3568366.9035,1012736.51166,1288010.52993,1207063.626,1207063.626,1207063.626,1207063.626,3216574.3038,3216574.3038 +29973600.0,764623.947,656821.7309999999,1917919.45452,841380.9412800001,841380.9412800001,841380.9412800001,672174.3385,1027572.7499200001,2288244.08576,1003156.6876799999,1528619.71456,575236.359,575236.359,575236.359,721548.4079999999,764623.947,764623.947,948520.1337299999,656747.0442000001,976201.7792800001,1702677.5220000003,483236.0967200001,614585.5055600001,780084.9330000001,780084.9330000001,780084.9330000001,780084.9330000001,2298969.33398,2298969.33398 +29977200.0,130787.106,115000.995,335802.9054,157085.24788,157085.24788,157085.24788,67181.26449999999,214658.17607999998,818548.99904,241873.3107,368568.8544,193436.40899999999,193436.40899999999,193436.40899999999,124000.233,130787.106,130787.106,241791.39842,95172.97094999999,141466.98398,246744.7395,70028.50702,89063.10121,164956.69199999998,164956.69199999998,164956.69199999998,164956.69199999998,393233.23204,393233.23204 +29980800.0,131856.483,115067.11800000002,335995.98456,134491.04174000002,134491.04174000002,134491.04174000002,46517.891,229763.6164,820075.08224,268940.51961,409814.12512000004,191559.51,191559.51,191559.51,120065.60300000002,131856.483,131856.483,241115.17494999996,89705.47905,133339.99602,232569.7605,66005.51298,83946.60879,166939.752,166939.752,166939.752,166939.752,396448.49221999996,396448.49221999996 +29984400.0,146694.73500000002,135571.044,395867.44847999996,131510.76389,131510.76389,131510.76389,54038.81,249927.33183999997,831376.83456,282265.07925,430118.216,192553.203,192553.203,192553.203,120170.8515,146694.73500000002,146694.73500000002,263263.35386,95985.26324999999,142674.3913,248850.6825,70626.19369999999,89823.24635,173971.506,173971.506,173971.506,173971.506,441062.1699,441062.1699 +29988000.0,162913.254,147612.29700000002,431027.90724000003,129373.70864,129373.70864,129373.70864,59027.143000000004,275424.38056,834877.8444800001,326864.53611,498079.29312,194937.792,194937.792,194937.792,120662.42300000001,162913.254,162913.254,278083.87775999994,114843.1122,170705.07048,297741.402,84501.84552,107470.46796000001,204571.848,204571.848,204571.848,204571.848,489825.85036,489825.85036 +29991600.0,210024.49200000003,162833.484,475473.77328,141977.08228,141977.08228,141977.08228,79392.77849999999,368407.03264,841188.8211200001,365110.93458,556359.51936,261635.352,261635.352,261635.352,182361.55699999997,210024.49200000003,210024.49200000003,292200.88143999997,137939.274,205035.6616,357620.34,101496.05840000001,129083.91320000001,277132.104,277132.104,277132.104,277132.104,631473.63928,631473.63928 +29995200.0,251624.826,180744.177,527772.99684,151947.95957000004,151947.95957000004,151947.95957000004,81283.02,466848.74736000004,854941.9353600001,415365.67905000004,632938.1776,345901.08,345901.08,345901.08,238323.92850000004,251624.826,251624.826,320673.9409899999,157602.75705,234263.85121999998,408599.74049999996,115964.49777999999,147485.04919,318924.984,318924.984,318924.984,318924.984,756551.9768399999,756551.9768399999 +29998800.0,315901.797,212058.852,619211.84784,171039.68651000003,171039.68651000003,171039.68651000003,89161.4605,554599.4251999999,910154.4972800001,498991.84020000004,760368.5184000001,395196.28799999994,395196.28799999994,395196.28799999994,251981.1315,315901.797,315901.797,343712.21521,177258.89745,263481.12658,459560.1045,130427.53442,165879.31391,397530.483,397530.483,397530.483,397530.483,949811.40298,949811.40298 +30002400.0,405485.238,245483.616,716812.1587200001,272833.71577,272833.71577,272833.71577,170675.393,668222.87984,1130942.66368,614723.43156,936721.41952,435446.169,435446.169,435446.169,292774.62549999997,405485.238,405485.238,367134.9864,229070.02095,340494.20398,593885.2395,168550.28702000002,214364.29121000002,467495.478,467495.478,467495.478,467495.478,1219158.94892,1219158.94892 +30006000.0,1139444.172,1143591.5760000001,3339287.40192,1101894.70193,1101894.70193,1101894.70193,1082974.83,1724617.1802399997,1806886.9152000002,1513496.4776400002,2306280.34688,715893.8489999999,715893.8489999999,715893.8489999999,1659387.4255000001,1139444.172,1139444.172,2248487.91986,674427.8132999999,1002482.8237199999,1748516.553,496245.65028,631131.21294,1565775.39,1565775.39,1565775.39,1565775.39,3425928.8104799995,3425928.8104799995 +30009600.0,2123311.2479999997,1887220.551,5510684.00892,2718946.56473,2718946.56473,2718946.56473,1921975.3735,3182629.27928,3560246.0256000003,3114006.9653700003,4745153.47104,1299045.5369999998,1299045.5369999998,1299045.5369999998,2037437.192,2123311.2479999997,2123311.2479999997,3207258.93319,1672020.5652,2485324.39568,4334868.132,1230276.86032,1564680.9733600002,2306950.272,2306950.272,2306950.272,2306950.272,6384089.152319999,6384089.152319999 +30013200.0,2485571.058,2382627.039,6957270.95388,2994048.8048900003,2994048.8048900003,2994048.8048900003,2470882.0955,4155900.2492,9797598.76096,3259387.6035,4966685.872,2538449.88,2538449.88,2538449.88,2532966.625,2485571.058,2485571.058,2631032.0971999997,3380003.4536999995,5024103.899079999,8762971.917,2487014.88692,3163015.57766,2202486.393,2202486.393,2202486.393,2202486.393,7473283.64772,7473283.64772 +30016800.0,1823508.8760000002,1598832.903,4668592.07676,2072244.5415100001,2072244.5415100001,2072244.5415100001,2604914.6550000003,3470405.79712,6392869.06176,3463089.8685600003,5277089.323520001,2516161.4820000003,2516161.4820000003,2516161.4820000003,2781149.8645,1823508.8760000002,1823508.8760000002,2034983.2175399999,3226750.95555,4796306.35862,8365650.625500001,2374251.32038,3019601.5114900004,1960309.6649999998,1960309.6649999998,1960309.6649999998,1960309.6649999998,5482683.35384,5482683.35384 +30020400.0,1305365.9849999999,1096970.532,3203153.95344,1807539.5192800001,1807539.5192800001,1807539.5192800001,2327543.5365,3372083.00816,6625295.085440001,2681483.96712,4086070.8070400003,1135077.132,1135077.132,1135077.132,2282422.7125,1305365.9849999999,1305365.9849999999,1194733.31705,2377474.02315,3533924.35046,6163821.5415,1749351.25654,2224846.06117,1534057.335,1534057.335,1534057.335,1534057.335,3924800.3948999997,3924800.3948999997 +30024000.0,1110343.122,947934.2130000002,2767967.9019600004,1413803.3603100004,1413803.3603100004,1413803.3603100004,1587914.9825,2768508.69472,3554383.0656000003,2090324.14941,3185255.8467200003,1104775.1670000001,1104775.1670000001,1104775.1670000001,1576229.5885,1110343.122,1110343.122,1157595.47059,1519112.38995,2258038.66358,3938439.5294999997,1117766.64742,1421589.12541,1193149.098,1193149.098,1193149.098,1193149.098,3338431.65348,3338431.65348 +30027600.0,852857.5020000001,706316.112,2062443.0470399999,824213.2010200002,824213.2010200002,824213.2010200002,905820.6920000002,1853453.52536,2594840.6144000003,1444943.7032100002,2201818.9763200004,798665.331,798665.331,798665.331,1095372.243,852857.5020000001,852857.5020000001,868771.0889,1017709.1343,1512742.96012,2638505.163,748832.89388,952374.72074,915702.963,915702.963,915702.963,915702.963,2564258.22268,2564258.22268 +30031200.0,821261.0249999999,700582.3979999999,2045700.6021599998,788514.41295,788514.41295,788514.41295,877521.4315,1603922.7820799998,2651404.29824,1329953.2173900001,2026595.3788800002,791653.9500000001,791653.9500000001,791653.9500000001,1063534.374,821261.0249999999,821261.0249999999,851177.119,981746.9406,1459288.04504,2545269.846,722371.82296,918721.21108,892392.675,892392.675,892392.675,892392.675,2469258.1484999997,2469258.1484999997 +30034800.0,1017755.427,909175.779,2654793.27468,1151207.6725599999,1151207.6725599999,1151207.6725599999,1101329.425,1972872.9464,3511534.29632,1696349.9849099999,2584914.26272,1019114.568,1019114.568,1019114.568,1310284.22,1017755.427,1017755.427,1280444.2943499999,1288109.6442,1914671.61928,3339543.5220000003,947794.2567200001,1205416.1855600001,1140814.821,1140814.821,1140814.821,1140814.821,3060051.31718,3060051.31718 +30038400.0,1091420.73,982328.3910000001,2868398.90172,1258728.8715100002,1258728.8715100002,1258728.8715100002,1190494.2105,2129382.86152,3827023.11424,1828269.43719,2785934.38048,1108972.629,1108972.629,1108972.629,1415290.7265,1091420.73,1091420.73,1396185.4484499998,1396622.1852,2075966.80368,3620872.332,1027638.05232,1306962.48936,1233929.244,1233929.244,1233929.244,1233929.244,3281538.3281999994,3281538.3281999994 +30042000.0,1083097.611,969825.9809999999,2831891.86452,1270702.48591,1270702.48591,1270702.48591,1200172.442,2112243.80472,3767878.5529600005,1815222.39486,2766053.17312,1093924.074,1093924.074,1093924.074,1398202.9985,1083097.611,1083097.611,1381098.35435,1383652.1735999999,2056687.9222399998,3587246.3759999997,1018094.6857599999,1294825.12048,1220753.934,1220753.934,1220753.934,1220753.934,3256513.48374,3256513.48374 +30045600.0,1088428.0559999999,966237.045,2821412.1714,1322762.05941,1322762.05941,1322762.05941,1245034.385,2129508.51496,3747540.5145600005,1831285.76736,2790530.69312,1092624.609,1092624.609,1092624.609,1403592.9005,1088428.0559999999,1088428.0559999999,1377632.7156799997,1390202.72865,2066424.79666,3604229.2965,1022914.60034,1300955.14607,1223546.547,1223546.547,1223546.547,1223546.547,3272540.3550399994,3272540.3550399994 +30049200.0,1101679.446,978950.3729999999,2858535.0891599995,1338603.0447900002,1338603.0447900002,1338603.0447900002,1261094.4255000001,2161711.67072,3803436.80832,1855338.2303400002,2827182.06528,1109524.827,1109524.827,1109524.827,1423796.325,1101679.446,1101679.446,1392187.8478299999,1408565.5623,2093719.67532,3651836.643,1036426.0186800001,1318139.13114,1239586.806,1239586.806,1239586.806,1239586.806,3312382.86764,3312382.86764 +30052800.0,1101757.395,981399.375,2865686.175,1325760.19235,1325760.19235,1325760.19235,1250559.4955,2161442.88472,3813907.12192,1854032.62821,2825192.57632,1111633.512,1111633.512,1111633.512,1423632.7735000001,1101757.395,1101757.395,1393879.5440699998,1407920.2434,2092760.46056,3650163.5940000005,1035951.1914400001,1317535.2401200002,1240380.1770000001,1240380.1770000001,1240380.1770000001,1240380.1770000001,3312617.2342999997,3312617.2342999997 +30056400.0,1063486.9770000002,887977.119,2592893.1874799994,1119641.45667,1119641.45667,1119641.45667,958011.257,1805635.8389599998,2782528.04544,1537966.8322200002,2343568.50624,883843.059,883843.059,883843.059,1134683.1685,1063486.9770000002,1063486.9770000002,1339916.8851899998,1125146.2788,1672439.65392,2917045.9080000003,827885.4100800001,1052914.6658400001,1084298.172,1084298.172,1084298.172,1084298.172,3197550.84418,3197550.84418 +30060000.0,469368.195,329159.037,961144.38804,593853.1790400001,593853.1790400001,593853.1790400001,394109.64599999995,870568.00576,1128217.1366400002,718181.84802,1094372.33984,397769.289,397769.289,397769.289,491938.57649999997,469368.195,469368.195,764708.6869499999,250645.35105,372564.20081999997,649821.2805,184425.46818,234554.53839,587815.752,587815.752,587815.752,587815.752,1411233.7063,1411233.7063 +30063600.0,165968.49,118194.35699999999,345127.52244,176303.69427,176303.69427,176303.69427,67827.23150000001,343071.56504,838481.58336,318981.44964,486066.97088000004,232390.131,232390.131,232390.131,131207.71300000002,165968.49,165968.49,248114.39834999997,101862.65564999999,151410.66345999998,264088.36649999995,74950.79354,95323.32466999999,179742.699,179742.699,179742.699,179742.699,499011.9266,499011.9266 +30067200.0,169576.587,144392.418,421625.86055999994,155073.21082,155073.21082,155073.21082,60055.299499999994,371126.38776,852591.8771200001,315879.7299,481340.5408,231593.12100000004,231593.12100000004,231593.12100000004,125490.0115,169576.587,169576.587,247600.17086999997,102417.9471,152236.05964,265528.011,75359.37836,95842.96778,177514.446,177514.446,177514.446,177514.446,509860.27157999994,509860.27157999994 +30070800.0,175817.09399999998,169221.81,494127.6852,148838.45515,148838.45515,148838.45515,63101.311,357664.49864,858409.5545600001,321139.9863,489356.1696,224745.16199999995,224745.16199999995,224745.16199999995,120841.26950000002,175817.09399999998,175817.09399999998,263477.82213999995,109899.4554,163356.72136,284924.514,80864.29064,102844.18172000001,193897.014,193897.014,193897.014,193897.014,528623.39596,528623.39596 +30074400.0,185291.859,170047.14299999998,496537.65755999996,150110.46039000002,150110.46039000002,150110.46039000002,68168.7335,343503.05928,843655.33888,345964.0128,527183.2576,268099.32300000003,268099.32300000003,268099.32300000003,121686.222,185291.859,185291.859,269546.01712999993,118925.39474999999,176773.05589999998,308325.0975,87505.59909999999,111290.67804999999,238338.56100000002,238338.56100000002,238338.56100000002,238338.56100000002,557110.85606,557110.85606 +30078000.0,208094.727,184055.418,537441.82056,150096.06073,150096.06073,150096.06073,74031.6955,368002.70024,822174.4543999999,359688.10521,548096.16032,307178.97000000003,307178.97000000003,307178.97000000003,182461.6605,208094.727,208094.727,281582.52746,136811.32875,203359.06149999998,354696.0375,100666.11349999999,128028.37924999998,269521.02900000004,269521.02900000004,269521.02900000004,269521.02900000004,625671.47918,625671.47918 +30081600.0,259506.07799999998,199321.023,582017.38716,154852.35227,154852.35227,154852.35227,75126.919,456340.44992,836778.1888,415212.34587,632704.5270400001,344480.547,344480.547,344480.547,220098.73900000003,259506.07799999998,259506.07799999998,292159.48657999997,149862.1176,222758.01183999996,388531.41599999997,110268.91616,140241.33968,318217.548,318217.548,318217.548,318217.548,780248.27452,780248.27452 +30085200.0,298595.598,203662.94400000002,594695.79648,162822.75130000003,162822.75130000003,162822.75130000003,80592.1235,502308.95288,901343.07904,452324.22563999996,689255.96288,351232.842,351232.842,351232.842,223765.346,298595.598,298595.598,315208.79494,160860.9942,239106.95927999995,417047.02199999994,118361.91671999998,150534.11555999998,356448.08700000006,356448.08700000006,356448.08700000006,356448.08700000006,897777.4313199999,897777.4313199999 +30088800.0,359425.71900000004,219095.70899999997,639759.4702799999,256875.50218000004,256875.50218000004,256875.50218000004,163271.7695,586315.998,1058000.5216,549604.2993000001,837492.2656,383814.438,383814.438,383814.438,263488.1515,359425.71900000004,359425.71900000004,328990.76768999995,221419.56285000002,329122.41194,574050.7185000001,162921.06106,207204.97363000002,405441.03,405441.03,405441.03,405441.03,1080673.32846,1080673.32846 +30092400.0,1100463.471,1125035.82,3285104.5944,1085111.14525,1085111.14525,1085111.14525,1076675.6665,1680151.78232,1663898.87616,1456598.85546,2219579.20832,679212.618,679212.618,679212.618,1638028.175,1100463.471,1100463.471,2101470.3756799996,658588.21875,978938.5375,1707450.9375,484590.8375,616308.48125,1490177.28,1490177.28,1490177.28,1490177.28,3308726.83614,3308726.83614 +30096000.0,2063456.5769999998,1814723.025,5298991.232999999,2630209.2542,2630209.2542,2630209.2542,1841937.6114999999,3091851.84624,3500615.0304000005,3035006.95407,4624772.501440001,1280058.162,1280058.162,1280058.162,1893387.2754999998,2063456.5769999998,2063456.5769999998,3129230.40612,1626538.4577,2417718.89268,4216951.557,1196811.01332,1522118.70486,2250073.089,2250073.089,2250073.089,2250073.089,6204126.1081799995,6204126.1081799995 +30099600.0,2426098.713,2356105.038,6879826.71096,2877152.0149900005,2877152.0149900005,2877152.0149900005,2412109.8575,4031920.9678399996,9624740.85696,3161877.92613,4818099.69696,2479438.743,2479438.743,2479438.743,2455498.1745,2426098.713,2426098.713,2502730.9556599995,3333857.8022999996,4955512.09132,8643335.043,2453060.8026799997,3119832.36314,2081504.9069999997,2081504.9069999997,2081504.9069999997,2081504.9069999997,7294470.130419999,7294470.130419999 +30103200.0,1623646.191,1396657.005,4078238.4545999994,1765747.0702300002,1765747.0702300002,1765747.0702300002,2424046.1,3130387.21472,5605543.105920001,3157356.29265,4811209.588800001,2213198.496,2213198.496,2213198.496,2454259.9655,1623646.191,1623646.191,1703085.6129299998,2930125.6953,4355396.71252,7596622.173,2155993.72148,2742018.8605400003,1722738.6209999998,1722738.6209999998,1722738.6209999998,1722738.6209999998,4881762.88094,4881762.88094 +30106800.0,1301317.242,1085743.311,3170370.46812,1817930.0420600001,1817930.0420600001,1817930.0420600001,2293910.64,3354258.9193599997,6640476.87424,2649915.14025,4037965.9280000003,1129387.179,1129387.179,1129387.179,2247738.4754999997,1301317.242,1301317.242,1166702.8688899998,2301954.228,3421670.2352,5968029.48,1693783.6048,2154174.4504,1510625.082,1510625.082,1510625.082,1510625.082,3912627.17428,3912627.17428 +30110400.0,1085132.061,936362.9910000002,2734179.93372,1389572.61124,1389572.61124,1389572.61124,1546074.978,2687807.91888,3499429.03424,2052937.81938,3128286.20096,1077773.4479999999,1077773.4479999999,1077773.4479999999,1523421.7355,1085132.061,1085132.061,1117867.8335499999,1482933.72375,2204261.9795,3844642.9875,1091146.2955,1387733.0402499998,1160830.4910000002,1160830.4910000002,1160830.4910000002,1160830.4910000002,3262630.3967399998,3262630.3967399998 +30114000.0,815291.8949999999,675886.1760000001,1973587.6339200002,776751.2216200001,776751.2216200001,776751.2216200001,866744.5044999999,1785823.1775999996,2475789.60896,1393626.3684000003,2123621.1328000003,758323.29,758323.29,758323.29,1035766.0599999999,815291.8949999999,815291.8949999999,817088.9664599999,970447.5782999999,1442492.44972,2515975.2029999997,714057.72428,908147.23994,870891.7679999999,870891.7679999999,870891.7679999999,870891.7679999999,2451310.9642999996,2451310.9642999996 +30117600.0,740990.283,626346.147,1828930.74924,693186.57177,693186.57177,693186.57177,784881.174,1437798.99472,2336311.80608,1195680.6808799999,1821989.6089599999,695576.679,695576.679,695576.679,930498.4395,740990.283,740990.283,746901.8023999999,870039.2492999999,1293243.5261199998,2255657.313,640177.02788,814184.87774,792795.9660000001,792795.9660000001,792795.9660000001,792795.9660000001,2227910.78422,2227910.78422 +30121200.0,981117.1950000001,876776.3940000001,2560187.07048,1103843.4382800004,1103843.4382800004,1103843.4382800004,1060409.378,1908462.2490399997,3385374.6688000006,1638736.91898,2497122.92416,979215.9389999999,979215.9389999999,979215.9389999999,1250794.0585,981117.1950000001,981117.1950000001,1225940.2411099998,1238336.9869499998,1840688.5583799998,3210503.2994999997,911171.41262,1158838.81001,1092548.754,1092548.754,1092548.754,1092548.754,2949892.3663,2949892.3663 +30124800.0,1023364.3230000001,919309.503,2684383.74876,1175538.3564100002,1175538.3564100002,1175538.3564100002,1113608.1075,1990924.1527999998,3563327.3395200004,1714039.22235,2611869.2912,1028557.041,1028557.041,1028557.041,1305645.1415000001,1023364.3230000001,1023364.3230000001,1304213.8473,1301796.04005,1935015.3484199997,3375026.7704999996,957864.74058,1218223.94859,1148983.224,1148983.224,1148983.224,1148983.224,3076915.3978200005,3076915.3978200005 +30128400.0,1040287.434,931462.5929999999,2719870.77156,1216576.15827,1216576.15827,1216576.15827,1152264.3930000002,2033691.3488,3615382.02496,1746350.25117,2661105.14464,1046553.423,1046553.423,1046553.423,1329926.689,1040287.434,1040287.434,1318890.8071299996,1325242.09755,1969866.03142,3435812.8455000003,975116.40758,1240164.82709,1167307.368,1167307.368,1167307.368,1167307.368,3127797.55156,3127797.55156 +30132000.0,1064399.622,946173.927,2762827.86684,1290034.4568100001,1290034.4568100001,1290034.4568100001,1218630.9415,2095267.3276799999,3677362.38208,1795803.4040100002,2736462.3299200004,1069677.267,1069677.267,1069677.267,1365371.5809999998,1064399.622,1064399.622,1337733.59252,1358839.8080999998,2019806.3320399998,3522918.0209999997,999837.6859599999,1271605.6475799999,1193372.643,1193372.643,1193372.643,1193372.643,3200294.86348,3200294.86348 +30135600.0,1068371.172,949815.78,2773462.0776,1296164.60534,1296164.60534,1296164.60534,1224030.5595000002,2105261.1036,3692304.45184,1803218.2026599997,2747761.0707199997,1074509.673,1074509.673,1074509.673,1370921.545,1068371.172,1068371.172,1341476.61908,1363733.62965,2027080.60506,3535605.7065,1003438.57194,1276185.2978700001,1197993.747,1197993.747,1197993.747,1197993.747,3212235.9904799997,3212235.9904799997 +30139200.0,1063683.705,947611.737,2767026.2720399997,1278015.75902,1278015.75902,1278015.75902,1208028.822,2093568.13296,3681798.0928,1793337.1238999998,2732704.1887999997,1070484.003,1070484.003,1070484.003,1363355.595,1063683.705,1063683.705,1337630.8028199999,1356264.6236999999,2015978.5270799997,3516241.6169999996,997942.8589199999,1269195.78366,1192960.947,1192960.947,1192960.947,1192960.947,3198142.3397,3198142.3397 +30142800.0,1021122.909,849448.7250000001,2480390.2770000002,1072710.5756400002,1072710.5756400002,1072710.5756400002,916799.1874999999,1732742.72264,2652861.83744,1474893.52374,2247456.79808,842079.354,842079.354,842079.354,1074359.1284999999,1021122.909,1021122.909,1277084.7209899998,1072553.4242999998,1594264.59612,2780694.063,789187.45788,1003698.14274,1034357.214,1034357.214,1034357.214,1034357.214,3070176.21306,3070176.21306 +30146400.0,448266.0449999999,313051.11899999995,914109.2674799999,570303.9881000001,570303.9881000001,570303.9881000001,376110.1575,835234.34136,1066126.6739200002,687518.19213,1047646.7689599999,381285.37200000003,381285.37200000003,381285.37200000003,463068.9175,448266.0449999999,448266.0449999999,723157.7520699999,238083.7212,353892.34608,617254.092,175182.58992,222799.33416,557562.201,557562.201,557562.201,557562.201,1347786.5753,1347786.5753 +30150000.0,161141.865,114122.52900000001,333237.78468,173581.86142,173581.86142,173581.86142,66504.45899999999,335450.13727999997,804425.2032000001,310439.33865,473050.4208,226747.64399999997,226747.64399999997,226747.64399999997,126331.68100000001,161141.865,161141.865,240049.97639999999,98323.13789999999,146149.45435999997,254911.83899999998,72346.40763999999,92011.03522,173930.277,173930.277,173930.277,173930.277,484499.8741,484499.8741 +30153600.0,161637.498,137282.571,400865.10732,151323.57680000004,151323.57680000004,151323.57680000004,55798.148,360551.56103999994,811665.3536,303898.86177,463083.9798400001,224120.895,224120.895,224120.895,120114.253,161637.498,161637.498,238054.71143999996,95935.22954999999,142600.02021999998,248720.9655,70589.37878,89776.42469,170118.807,170118.807,170118.807,170118.807,485990.07732,485990.07732 +30157200.0,177970.476,176545.56900000002,515513.06148,154182.15351,154182.15351,154182.15351,61782.514500000005,377661.42952,884956.3846400002,327369.50778000004,498848.77376000007,236233.34699999998,236233.34699999998,236233.34699999998,123617.9805,177970.476,177970.476,267765.09539,111576.1878,165849.04951999997,289271.598,82098.03448,104413.27204,192033.88199999998,192033.88199999998,192033.88199999998,192033.88199999998,535097.89784,535097.89784 +30160800.0,191756.84100000001,181581.996,530219.42832,160572.07386,160572.07386,160572.07386,70494.3435,374619.22168,900283.0515200001,360559.90572000004,549424.6182400001,284271.61799999996,284271.61799999996,284271.61799999996,126665.105,191756.84100000001,191756.84100000001,283573.13152999996,123277.6341,183242.31043999997,319608.681,90707.98756,115363.51438,243758.907,243758.907,243758.907,243758.907,576548.90194,576548.90194 +30164400.0,219261.33000000002,198900.62099999998,580789.81332,162264.83977000005,162264.83977000005,162264.83977000005,77701.83399999999,409760.11935999995,886380.8377599999,382246.2483,582470.4736,336966.93299999996,336966.93299999996,336966.93299999996,194697.566,219261.33000000002,219261.33000000002,300205.78445,145129.1661,215722.85924,376260.80100000004,106786.39876,135812.23198,286833.555,286833.555,286833.555,286833.555,659245.7322,659245.7322 +30168000.0,274970.874,216743.718,632891.65656,168454.2068,168454.2068,168454.2068,79289.05249999999,515522.16896,912656.87552,445463.37969000003,678801.34048,383783.007,383783.007,383783.007,237336.30199999997,274970.874,274970.874,316004.20540000004,160884.92565,239142.53146,417109.0665,118379.52554,150556.51067000002,346783.422,346783.422,346783.422,346783.422,826745.76116,826745.76116 +30171600.0,329616.258,227378.08499999996,663944.0081999999,179774.37863,179774.37863,179774.37863,86064.6605,573615.11344,1018140.9561600001,500342.10051,762426.05792,401166.90299999993,401166.90299999993,401166.90299999993,247031.946,329616.258,329616.258,345340.38097,180963.50534999996,268987.72893999994,469164.64349999995,133153.39406,169346.09512999997,394958.92500000005,394958.92500000005,394958.92500000005,394958.92500000005,991046.2157199999,991046.2157199999 +30175200.0,489938.08200000005,262129.94999999998,765419.4539999999,278907.99948000006,278907.99948000006,278907.99948000006,167920.74599999998,1039484.9249599999,1169445.3952,751349.58843,1144913.6585600001,429816.978,429816.978,429816.978,368806.51149999996,489938.08200000005,489938.08200000005,535463.88012,270596.69594999996,402220.27397999994,701546.9894999999,199105.71701999998,253225.05620999998,505518.114,505518.114,505518.114,505518.114,1473080.49988,1473080.49988 +30178800.0,1214085.5010000002,596197.6140000001,1740897.03288,1646252.1754800002,1646252.1754800002,1646252.1754800002,1448301.82,3390818.0435200003,4072686.61632,2891898.9903299995,4406703.223359999,1178388.261,1178388.261,1178388.261,1725984.981,1214085.5010000002,1214085.5010000002,2586790.91008,1604303.7552,2384668.79168,4159306.032,1180450.66432,1501311.41536,1493711.628,1493711.628,1493711.628,1493711.628,3650350.4063399998,3650350.4063399998 +30182400.0,1090366.1639999999,1178130.438,3440140.87896,2115129.20762,2115129.20762,2115129.20762,1932256.4974999996,4133767.05216,3200804.1510400004,3238114.1776199997,4934269.22304,1298468.856,1298468.856,1298468.856,1768929.2145,1090366.1639999999,1090366.1639999999,2182335.55215,2133658.0575,3171511.483,5531706.075,1569950.867,1996682.4785000002,1536416.988,1536416.988,1536416.988,1536416.988,3278367.5997599997,3278367.5997599997 +30186000.0,2070172.9500000002,2255879.124,6587167.04208,1708150.7460600003,1708150.7460600003,1708150.7460600003,2322850.3235000004,4428944.55528,7348024.97984,3661488.10293,5579410.44256,1946039.6009999998,1946039.6009999998,1946039.6009999998,1623413.4105,2070172.9500000002,2070172.9500000002,2925230.0521599995,1933839.2061,2874496.79524,5013657.201,1422923.66276,1809691.50398,2322249.348,2322249.348,2322249.348,2322249.348,6224320.003,6224320.003 +30189600.0,1528538.7000000002,1249344.807,3648086.8364399998,788950.9408000001,788950.9408000001,788950.9408000001,942316.004,2343914.4731199997,7206924.370560001,1500419.34441,2286353.28672,1499390.892,1499390.892,1499390.892,1526660.45,1528538.7000000002,1528538.7000000002,2543819.0819599996,2299326.44625,3417764.2485,5961216.7125,1691850.0765000002,2151715.3657500003,1083237.7859999998,1083237.7859999998,1083237.7859999998,1083237.7859999998,4595806.358,4595806.358 +30193200.0,783130.9500000001,795459.879,2322742.84668,457042.5059200001,457042.5059200001,457042.5059200001,588279.258,1545118.12264,4076232.4844800006,979942.58229,1493245.83968,641693.7239999999,641693.7239999999,641693.7239999999,620839.387,783130.9500000001,783130.9500000001,890170.2594199999,1108026.6777,1646992.7406799998,2872661.7569999998,815288.7653199999,1036894.1008599999,633763.6950000001,633763.6950000001,633763.6950000001,633763.6950000001,2354613.723,2354613.723 +30196800.0,803901.783,1234157.637,3603740.30004,687338.59634,687338.59634,687338.59634,949008.7039999999,1716085.0336799999,2795256.1222400004,1355021.48733,2064794.64736,720004.233,720004.233,720004.233,1071764.8935,803901.783,803901.783,965195.3022399998,854150.0787000001,1269625.54908,2214463.1670000004,628485.73692,799315.7526600001,799116.7259999999,799116.7259999999,799116.7259999999,799116.7259999999,2417064.69422,2417064.69422 +30200400.0,662061.615,721528.821,2106864.1573199998,533571.7049300001,533571.7049300001,533571.7049300001,920270.743,1349246.43816,2120685.4816,995461.43991,1516893.62272,602057.436,602057.436,602057.436,700530.0329999999,662061.615,662061.615,767047.02997,701743.24485,1043085.02074,1819334.3385,516344.41226,656693.06123,614342.9130000001,614342.9130000001,614342.9130000001,614342.9130000001,1990598.5890999998,1990598.5890999998 +30204000.0,584050.635,518711.775,1514638.3830000001,332437.66105,332437.66105,332437.66105,547144.1675,1233651.16008,1991526.97792,891096.86232,1357861.88544,561656.664,561656.664,561656.664,483176.841,584050.635,584050.635,718413.7933699999,636400.87695,945958.8343799999,1649928.1995,468265.33662,595545.5120100001,568296.792,568296.792,568296.792,568296.792,1756045.5759,1756045.5759 +30207600.0,958286.934,1152720.0720000002,3365942.6102400003,1490397.1013800001,1490397.1013800001,1490397.1013800001,1403500.875,2134238.8565599998,2885909.936,1731319.8128099998,2638201.6195199997,875994.291,875994.291,875994.291,1412095.447,958286.934,958286.934,1503431.57497,1319607.84285,1961491.1639399999,3421205.5185000002,970970.70906,1234892.2776300001,1006134.1499999999,1006134.1499999999,1006134.1499999999,1006134.1499999999,2881249.3815599997,2881249.3815599997 +30211200.0,933462.4890000001,1326890.556,3874520.42352,1669514.36223,1669514.36223,1669514.36223,1179856.517,2435482.5720800003,3175371.7484800005,1820365.4175,2773890.16,1025020.014,1025020.014,1025020.014,1638379.5015,933462.4890000001,933462.4890000001,1591800.30815,1356072.9290999998,2015693.5884399998,3515744.631,997801.80956,1269016.39538,1129110.4349999998,1129110.4349999998,1129110.4349999998,1129110.4349999998,2806610.55026,2806610.55026 +30214800.0,848790.7530000001,1235621.031,3608013.4105199995,1061748.13646,1061748.13646,1061748.13646,1017331.0700000001,2308053.9648,3090296.9920000006,1524606.61269,2323210.0764800003,859215.8759999999,859215.8759999999,859215.8759999999,1261654.0929999999,848790.7530000001,848790.7530000001,1275036.41616,1127359.34865,1675729.20466,2922783.4965000004,829513.7923400002,1054985.66207,1047213.3869999999,1047213.3869999999,1047213.3869999999,1047213.3869999999,2552030.86402,2552030.86402 +30218400.0,2186278.914,1786551.9450000003,5216731.679400001,3488448.7337700003,3488448.7337700003,3488448.7337700003,2853656.1655,3437087.5342399995,6568130.684160002,3667389.0878100004,5588402.419520001,2299299.5760000004,2299299.5760000004,2299299.5760000004,2947719.096,2186278.914,2186278.914,3782764.6155,2800170.58725,4162228.8729,7259701.5225,2060372.4321,2620406.54955,2434189.2690000003,2434189.2690000003,2434189.2690000003,2434189.2690000003,6573411.93476,6573411.93476 +30222000.0,1604119.6439999999,896143.8330000001,2616739.99236,2104427.3664700002,2104427.3664700002,2104427.3664700002,1690428.6524999999,2545847.3300799998,4393906.80064,2338466.82426,3563378.01792,1559206.8660000002,1559206.8660000002,1559206.8660000002,1919702.1024999998,1604119.6439999999,1604119.6439999999,1378853.5754499997,1807080.5078999999,2686080.16236,4685023.539,1329654.2996399999,1691070.4012199999,1695713.7750000001,1695713.7750000001,1695713.7750000001,1695713.7750000001,4823053.06296,4823053.06296 +30225600.0,1163108.9610000001,857932.0980000001,2505161.72616,1227767.7221700002,1227767.7221700002,1227767.7221700002,1238700.428,1923184.14152,3549230.2214400005,1692336.4674300002,2578798.42656,1025621.49,1025621.49,1025621.49,1385263.2045,1163108.9610000001,1163108.9610000001,1227819.9313899998,1352069.4069,2009742.6739599998,3505365.129,994856.00804,1265269.8894200001,1181264.991,1181264.991,1181264.991,1181264.991,3497080.94274,3497080.94274 +30229200.0,1014198.39,862531.842,2518592.97864,1171114.9501699999,1171114.9501699999,1171114.9501699999,1147678.021,1859390.26496,3476752.06784,1631713.59666,2486420.7187200002,1006826.814,1006826.814,1006826.814,1331683.85,1014198.39,1014198.39,1229197.10173,1303934.89365,1938194.5826599998,3380571.9465,959438.51434,1220225.49307,1141364.79,1141364.79,1141364.79,1141364.79,3049356.4926,3049356.4926 +30232800.0,716129.496,611042.766,1784244.8767199998,764934.5016500001,764934.5016500001,764934.5016500001,626061.4745,953276.5677599999,2131429.81888,932709.1139100001,1421271.0307200002,537635.79,537635.79,537635.79,662223.0370000001,716129.496,716129.496,871643.6305199999,608905.07055,905088.5246199998,1578642.7754999998,448033.8543799999,569814.8684899999,722656.722,722656.722,722656.722,722656.722,2153162.68464,2153162.68464 +30236400.0,121829.283,107045.229,312572.06868,147950.49511000002,147950.49511000002,147950.49511000002,64420.359500000006,200003.1224,747709.2864000001,221721.81170999998,337861.80831999995,178665.32700000002,178665.32700000002,178665.32700000002,114732.7825,121829.283,121829.283,223228.32895999998,87917.3838,130682.13591999999,227933.95799999998,64689.82808,82273.30484,152546.355,152546.355,152546.355,152546.355,366300.04422,366300.04422 +30240000.0,122643.59700000001,107849.898,314921.70216,127255.34690000002,127255.34690000002,127255.34690000002,44214.205,213638.00983999996,763506.45888,250504.59315,381721.2848,179871.396,179871.396,179871.396,111977.23249999998,122643.59700000001,122643.59700000001,227396.47775,83488.42934999999,124098.85053999998,216451.4835,61430.99246,78128.67833,156357.51899999997,156357.51899999997,156357.51899999997,156357.51899999997,368748.41498,368748.41498 +30243600.0,134820.825,124818.615,364470.3558,124844.25855000001,124844.25855000001,124844.25855000001,47776.6205,236408.42096,781698.1452799999,264041.52306000004,402348.98752,182753.154,182753.154,182753.154,113579.94549999999,134820.825,134820.825,243912.32463,87198.8409,129614.07956,226071.06900000002,64161.12244000001,81600.89062,163935.759,163935.759,163935.759,163935.759,405361.2805,405361.2805 +30247200.0,150026.631,141120.702,412072.44983999996,125699.81325000002,125699.81325000002,125699.81325000002,52656.9085,287484.3076,817086.0416,312411.33587999997,476055.36896,191776.19999999998,191776.19999999998,191776.19999999998,116940.70499999999,150026.631,150026.631,273692.16498,107385.3126,159619.64984,278406.36600000004,79014.37816000001,100491.44068000001,181957.16700000002,181957.16700000002,181957.16700000002,181957.16700000002,451080.07054,451080.07054 +30250800.0,180618.9,148027.848,432241.31616,127663.33591000002,127663.33591000002,127663.33591000002,69912.3915,328162.54144,764429.16992,324895.52382,495078.89343999996,214609.26899999997,214609.26899999997,214609.26899999997,136552.0555,180618.9,180618.9,262735.41306999995,119044.05975,176949.4419,308632.7475,87592.9131,111401.72505000001,233791.026,233791.026,233791.026,233791.026,543060.8259999999,543060.8259999999 +30254400.0,209440.89,151535.259,442482.95628,130820.71574,130820.71574,130820.71574,71469.461,371482.95480000007,740528.63872,354131.43654,539628.85568,293324.259,293324.259,293324.259,197979.92200000002,209440.89,209440.89,272932.16573999997,129301.3368,192196.06112,335225.688,95140.24288,121000.51024,260952.68699999998,260952.68699999998,260952.68699999998,260952.68699999998,629718.9426000001,629718.9426000001 +30258000.0,245677.266,174216.957,508713.51443999994,152739.57457000003,152739.57457000003,152739.57457000003,78783.3375,441444.20424,749201.17376,394113.80463,600554.36896,326397.237,326397.237,326397.237,211656.984,245677.266,245677.266,292563.59391999996,145238.73885,215885.73033999998,376544.8785,106867.02266,135914.77043,307003.374,307003.374,307003.374,307003.374,738669.64644,738669.64644 +30261600.0,409534.42799999996,228622.13100000002,667576.6225200001,259186.58656000005,259186.58656000005,259186.58656000005,156926.4865,933908.49976,888831.9276800001,648991.6923,988939.7216,369960.573,369960.573,369960.573,335930.41650000005,409534.42799999996,409534.42799999996,502581.4598999999,203196.82679999998,302035.77712,526806.588,149512.72688,190152.09224,435243.01800000004,435243.01800000004,435243.01800000004,435243.01800000004,1231333.5135199998,1231333.5135199998 +30265200.0,1142133.246,518594.82,1514296.8744,1572798.49232,1572798.49232,1572798.49232,1379872.6864999998,3221120.14112,3558385.143040001,2721660.76686,4147292.5971199996,1015861.5750000001,1015861.5750000001,1015861.5750000001,1478411.165,1142133.246,1142133.246,2445992.4746399997,1409780.5055999998,2095525.5910399999,3654986.496,1037319.97696,1319276.07808,1394160.837,1394160.837,1394160.837,1394160.837,3434013.95964,3434013.95964 +30268800.0,990594.996,1091001.6600000001,3185724.8472,1840422.81159,1840422.81159,1840422.81159,1820221.9595,3910127.5576,2874590.28608,3004758.4898099997,4578679.603519999,1205033.268,1205033.268,1205033.268,1559692.1900000002,990594.996,990594.996,2105417.7550899996,2013114.56625,2992333.2564999997,5219185.912500001,1481254.6685,1883877.5817500001,1432476.4349999998,1432476.4349999998,1432476.4349999998,1432476.4349999998,2978388.9546399997,2978388.9546399997 +30272400.0,1970112.699,2123158.344,6199622.36448,1465206.76027,1465206.76027,1465206.76027,1857870.0665,4066049.18616,6877757.064320001,3380648.87832,5151464.95744,1824663.543,1824663.543,1824663.543,1437626.463,1970112.699,1970112.699,2195968.47262,1661796.6075,2470127.303,4308361.575,1222754.047,1555113.3685,2202958.659,2202958.659,2202958.659,2202958.659,5923472.18166,5923472.18166 +30276000.0,1352852.4419999998,1042149.0120000001,3043075.11504,677344.4264400001,677344.4264400001,677344.4264400001,770898.8525,1942735.6205599997,6596538.5491200015,1175033.04429,1790526.5436800001,1307176.1069999998,1307176.1069999998,1307176.1069999998,1352491.679,1352852.4419999998,1352852.4419999998,1900629.37402,2121990.9551999997,3154169.27168,5501458.032,1561366.1843199998,1985764.37536,908281.9019999999,908281.9019999999,908281.9019999999,908281.9019999999,4067576.3422799995,4067576.3422799995 +30279600.0,669807.3629999999,647279.244,1890055.39248,352244.33640000003,352244.33640000003,352244.33640000003,463691.88600000006,1194104.3036,2927610.5606400003,782437.01886,1192284.9811200001,488155.059,488155.059,488155.059,467901.343,669807.3629999999,669807.3629999999,691019.8957999999,818959.7177999999,1217317.9015199998,2123228.898,602592.58248,766384.5260399999,511245.966,511245.966,511245.966,511245.966,2013887.4714199998,2013887.4714199998 +30283200.0,668330.79,1086383.5050000001,3172239.8346,574239.98335,574239.98335,574239.98335,820229.5920000001,1435345.9436,2271294.09024,1136306.77566,1731515.08672,567529.419,567529.419,567529.419,932411.683,668330.79,668330.79,793570.0096999999,690894.5706,1026959.33704,1791208.1460000002,508361.93096,646540.84508,654953.595,654953.595,654953.595,654953.595,2009447.9086000002,2009447.9086000002 +30286800.0,465754.941,486447.83400000003,1420427.67528,371019.63305000006,371019.63305000006,371019.63305000006,675037.3559999999,923923.4196,1309041.89888,659223.5932799999,1004531.18976,374080.083,374080.083,374080.083,431125.779,465754.941,465754.941,480643.77621,436763.9151,649214.5108399999,1132350.891,321371.96716,408724.75018,402290.08199999994,402290.08199999994,402290.08199999994,402290.08199999994,1400369.85594,1400369.85594 +30290400.0,433885.53599999996,378291.615,1104611.5158,216792.10718,216792.10718,216792.10718,381285.24700000003,891292.51304,1348970.04096,628242.16686,957321.39712,378793.59300000005,378793.59300000005,378793.59300000005,318893.435,433885.53599999996,433885.53599999996,508839.1207899999,428708.78099999996,637241.2003999999,1111467.21,315444.97959999996,401186.73579999997,402921.72299999994,402921.72299999994,402921.72299999994,402921.72299999994,1304549.1782399998,1304549.1782399998 +30294000.0,779217.7079999999,892825.3470000001,2607050.0132400002,1322106.5126500002,1322106.5126500002,1322106.5126500002,1203218.0265000002,1697292.4801600003,2186659.2992000002,1457629.03167,2221149.00064,677241.681,677241.681,677241.681,1230906.1695,779217.7079999999,779217.7079999999,1286081.74422,1106613.41805,1644892.04362,2868997.7505,814248.88538,1035571.5689899999,774089.5380000001,774089.5380000001,774089.5380000001,774089.5380000001,2342847.9087199997,2342847.9087199997 +30297600.0,736866.666,1147376.469,3350339.28948,1332976.6523700003,1332976.6523700003,1332976.6523700003,963699.0334999998,1925400.6025599998,2458389.60576,1427310.3054,2174949.0368000004,814047.8700000001,814047.8700000001,814047.8700000001,1384145.581,736866.666,736866.666,1395113.3186899999,1116823.0549499998,1660067.8495799997,2895467.1794999996,821761.1614199999,1045125.77241,906784.6799999999,906784.6799999999,906784.6799999999,906784.6799999999,2215512.44244,2215512.44244 +30301200.0,664603.326,961426.2629999999,2807364.68796,901541.52011,901541.52011,901541.52011,811927.053,1840231.7711999998,2416988.37696,1191439.71387,1815527.18304,664446.2999999999,664446.2999999999,664446.2999999999,1027395.7295000001,664603.326,664603.326,1020568.8495599999,888813.1457999999,1321149.4167199999,2304330.378,653990.9072799999,831753.5364399999,814406.589,814406.589,814406.589,814406.589,1998240.66684,1998240.66684 +30304800.0,2073777.6870000002,1677926.943,4899546.67356,3328273.5825900002,3328273.5825900002,3328273.5825900002,2738908.494,3160416.5355999996,5993594.821760001,3502713.60432,5337468.34944,2177505.213,2177505.213,2177505.213,2704501.772,2073777.6870000002,2073777.6870000002,3532671.1330299997,2602025.27685,3867701.76954,6745991.4585,1914576.62346,2434981.67883,2305720.92,2305720.92,2305720.92,2305720.92,6235158.24558,6235158.24558 +30308400.0,1438347.594,800786.9279999998,2338297.8297599996,1789739.3050900002,1789739.3050900002,1789739.3050900002,1526793.723,2252940.31384,3612894.69376,2007595.9238999998,3059193.7887999997,1308177.738,1308177.738,1308177.738,1513593.109,1438347.594,1438347.594,1098952.4700699998,1520479.9656,2260071.45504,3941985.096,1118772.91296,1422868.90608,1446490.815,1446490.815,1446490.815,1446490.815,4324631.76596,4324631.76596 +30312000.0,1049774.211,780115.4040000001,2277936.9796800003,1105738.8006500003,1105738.8006500003,1105738.8006500003,1058850.366,1727284.61192,3123171.66272,1514444.0173799999,2307724.21696,923756.6639999999,923756.6639999999,923756.6639999999,1229299.981,1049774.211,1049774.211,1113480.85381,1197062.71605,1779337.6668199997,3103495.9305,880801.7021799999,1120214.2453899998,1051065.393,1051065.393,1051065.393,1051065.393,3156321.1277399994,3156321.1277399994 +30315600.0,961745.0549999999,821616.642,2399120.59464,1119362.9506400002,1119362.9506400002,1119362.9506400002,1086137.255,1774032.8074400001,3311427.1494400003,1556884.93275,2372396.088,963345.8640000001,963345.8640000001,963345.8640000001,1264616.0344999998,961745.0549999999,961745.0549999999,1160802.0618999999,1244621.5461,1850030.05124,3226796.601,915795.60676,1164719.91598,1088562.1379999998,1088562.1379999998,1088562.1379999998,1088562.1379999998,2891646.7986999997,2891646.7986999997 +30319200.0,688247.274,585534.771,1709761.5313199998,735579.82608,735579.82608,735579.82608,607458.544,911291.7273599999,2054795.4400000002,888888.59598,1354496.9081599999,521663.88000000006,521663.88000000006,521663.88000000006,642964.8119999999,688247.274,688247.274,816589.6114999999,588263.49225,874406.4748999999,1525127.5725,432845.7301,550498.42855,698329.866,698329.866,698329.866,698329.866,2069330.13716,2069330.13716 +30322800.0,117191.658,103922.571,303453.90731999994,121235.86981,121235.86981,121235.86981,63033.0085,184339.90368000002,727582.0371200001,210016.06521,320024.48032000003,173857.338,173857.338,173857.338,111961.05200000001,117191.658,117191.658,206955.19468,84997.73475,126342.3119,220364.4975,62541.5431,79541.09005,143921.697,143921.697,143921.697,143921.697,352356.25171999994,352356.25171999994 +30326400.0,113066.115,102242.976,298549.48991999996,97478.11579,97478.11579,97478.11579,42111.909,200106.99848,721210.62208,213623.92548000003,325522.17216,170466.255,170466.255,170466.255,106023.6835,113066.115,113066.115,214772.63755999997,77598.567,115344.04279999998,201181.47,57097.2172,72616.93059999999,142693.458,142693.458,142693.458,142693.458,339952.1191,339952.1191 +30330000.0,121921.854,113081.508,330198.00336000003,109291.34777000001,109291.34777000001,109291.34777000001,42115.7835,211655.02032,726663.98272,240045.34407,365783.38144,170946.09000000003,170946.09000000003,170946.09000000003,106495.51150000001,121921.854,121921.854,222029.71063,78737.10705,117036.39122,204133.2405,57934.957780000004,73682.37919,148666.62300000002,148666.62300000002,148666.62300000002,148666.62300000002,366578.37436,366578.37436 +30333600.0,132291.549,127021.506,370902.79752,110936.99122000001,110936.99122000001,110936.99122000001,45426.472,218553.83568,732534.4064000001,261185.17698,397996.46016,171117.44400000002,171117.44400000002,171117.44400000002,105339.3845,132291.549,132291.549,246818.53144,92616.58665,137667.12386,240117.07650000002,68147.51314000001,86670.83047,154576.407,154576.407,154576.407,154576.407,397756.5906599999,397756.5906599999 +30337200.0,145422.282,135729.63299999997,396330.52835999994,116478.55670000002,116478.55670000002,116478.55670000002,60615.53050000001,241663.37559999997,736184.17856,295637.79882,450495.69344000006,175473.45,175473.45,175473.45,113408.6205,145422.282,145422.282,247352.87915,104534.12879999999,155381.59391999998,271014.408,76916.47008,97823.29584,196403.38199999998,196403.38199999998,196403.38199999998,196403.38199999998,437236.32788,437236.32788 +30340800.0,187426.551,144175.94400000002,420993.75648,123851.65881,123851.65881,123851.65881,69524.014,330865.77816,731329.8380800001,326774.55804000003,497942.1836800001,258783.33599999998,258783.33599999998,258783.33599999998,180679.7825,187426.551,187426.551,260941.23497,122241.53879999998,181702.23791999999,316922.508,89945.62607999999,114393.93384,242017.866,242017.866,242017.866,242017.866,563529.16334,563529.16334 +30344400.0,222015.63,160045.257,467332.15044,139549.79126,139549.79126,139549.79126,77871.73100000001,413736.33592000004,738424.9145600001,366974.52246,559199.27232,306288.684,306288.684,306288.684,207576.65600000002,222015.63,222015.63,285003.54376,138854.75625,206396.45249999998,359993.8125,102169.6725,129940.62375,277773.588,277773.588,277773.588,277773.588,667526.9942000001,667526.9942000001 +30348000.0,391626.7949999999,205471.28399999999,599976.14928,250889.88342,250889.88342,250889.88342,157757.39,928677.61176,851561.2256,636102.25287,969298.6710399999,376552.29600000003,376552.29600000003,376552.29600000003,337170.1165,391626.7949999999,391626.7949999999,507143.4178199999,201344.53499999997,299282.49399999995,522004.35,148149.80599999998,188418.713,428321.478,428321.478,428321.478,428321.478,1177491.2302999997,1177491.2302999997 +30351600.0,1132200.474,515749.671,1505989.03932,1560223.41739,1560223.41739,1560223.41739,1346662.947,3213565.6456,3480418.954240001,2674616.19978,4075605.63776,1019369.0310000001,1019369.0310000001,1019369.0310000001,1461292.0665000002,1132200.474,1132200.474,2416073.7407299997,1384803.9652500001,2058399.9681,3590232.5025000004,1018942.1769000001,1295902.96995,1389357.378,1389357.378,1389357.378,1389357.378,3404149.4251599996,3404149.4251599996 +30355200.0,1007931.6900000002,1105182.321,3227132.37732,1802872.83286,1802872.83286,1802872.83286,1823389.743,3948431.79056,2981639.7158400007,3020273.7973800004,4602321.976960001,1253211.207,1253211.207,1253211.207,1591358.2089999998,1007931.6900000002,1007931.6900000002,2127304.64999,2023315.4753999999,3007496.0893599996,5245632.714,1488760.5226399999,1893423.61772,1464508.209,1464508.209,1464508.209,1464508.209,3030514.6146000004,3030514.6146000004 +30358800.0,1992663.336,2153098.1969999997,6287046.735239999,1466908.61449,1466908.61449,1466908.61449,1859671.3695,4151464.89768,7035659.548800001,3427704.75726,5223169.1539199995,1879457.2259999998,1879457.2259999998,1879457.2259999998,1487952.046,1992663.336,1992663.336,2102574.11195,1696618.04175,2521886.5707,4398639.367500001,1248375.7443000001,1587699.3526500002,2232390.1229999997,2232390.1229999997,2232390.1229999997,2232390.1229999997,5991274.43024,5991274.43024 +30362400.0,1419280.392,1089229.212,3180549.2990400004,723350.22089,723350.22089,723350.22089,850320.31,2110801.9203999997,6888335.264000001,1310115.0356700001,1996365.7686400004,1431610.113,1431610.113,1431610.113,1454800.97,1419280.392,1419280.392,1931978.1113099996,2201899.88925,3272947.4897,5708629.3425,1620163.3753,2060543.3531499999,1006617.642,1006617.642,1006617.642,1006617.642,4267303.04528,4267303.04528 +30366000.0,716783.3250000001,686952.933,2005902.5643599997,376530.87296000007,376530.87296000007,376530.87296000007,514860.5804999999,1325495.3683999998,3244746.9260800006,864881.2403699999,1317914.27104,565207.02,565207.02,565207.02,531026.6429999999,716783.3250000001,716783.3250000001,733775.94732,901444.7718,1339925.31512,2337079.038,663285.28888,843574.24324,566429.985,566429.985,566429.985,566429.985,2155128.5305,2155128.5305 +30369600.0,732096.48,1138182.438,3323492.71896,616950.55521,616950.55521,616950.55521,890472.4955000001,1601769.6208,2581600.92736,1252361.94321,1908361.0563200002,665109.291,665109.291,665109.291,1014714.26,732096.48,732096.48,858511.3204199999,782427.48255,1163015.66542,2028515.6955,575712.07358,732197.5700899999,731050.467,731050.467,731050.467,731050.467,2201170.0831999998,2201170.0831999998 +30373200.0,583848.39,617276.31,1802446.8252,469706.0992800001,469706.0992800001,469706.0992800001,819524.0655,1202001.27424,1848030.2336000002,872854.04409,1330063.30528,532143.924,532143.924,532143.924,613678.0265,583848.39,583848.39,643383.8299199998,608901.9722999999,905083.9193199999,1578634.743,448031.57467999996,569811.96914,540894.171,540894.171,540894.171,540894.171,1755437.4926,1755437.4926 +30376800.0,532956.738,475349.184,1388019.61728,293635.12354,293635.12354,293635.12354,497017.4055,1130845.26592,1811796.77632,808651.68447,1232231.13824,516505.467,516505.467,516505.467,440107.171,532956.738,532956.738,635794.02029,575536.9220999999,855489.4496399999,1492132.761,423481.48835999996,538588.87278,520055.80500000005,520055.80500000005,520055.80500000005,520055.80500000005,1602423.25892,1602423.25892 +30380400.0,907244.5560000001,1063009.1400000001,3103986.6888,1441442.43727,1441442.43727,1441442.43727,1359239.1295,2043254.17944,2755992.44352,1669328.59821,2543738.8163199998,847277.4450000001,847277.4450000001,847277.4450000001,1383869.767,907244.5560000001,907244.5560000001,1438283.8431,1278649.69065,1900610.15746,3315017.7165,940833.59954,1196563.53767,944524.4280000001,944524.4280000001,944524.4280000001,944524.4280000001,2727781.96504,2727781.96504 +30384000.0,895389.717,1292184.1379999998,3773177.68296,1565995.33673,1565995.33673,1565995.33673,1130520.3769999999,2308877.58,3086637.68896,1718440.61298,2618576.17216,1003833.5460000001,1003833.5460000001,1003833.5460000001,1603700.077,895389.717,895389.717,1543043.72391,1318642.3998,1960056.11032,3418702.518,970260.33368,1233988.81364,1086637.242,1086637.242,1086637.242,1086637.242,2692138.41578,2692138.41578 +30387600.0,841599.612,1196116.512,3492660.21504,1056670.80332,1056670.80332,1056670.80332,1005443.9885,2297730.09456,3108321.22432,1514279.60901,2307473.68992,870508.3200000001,870508.3200000001,870508.3200000001,1266542.2140000002,841599.612,841599.612,1221898.3548199998,1124431.67655,1671377.45502,2915193.2355,827359.60398,1052245.9392900001,1041549.5819999999,1041549.5819999999,1041549.5819999999,1041549.5819999999,2530409.5000799997,2530409.5000799997 +30391200.0,2184039.264,1791306.141,5230613.93172,3476954.40664,3476954.40664,3476954.40664,2854578.482,3423670.8876,6582607.416320001,3665257.89378,5585154.88576,2307226.524,2307226.524,2307226.524,2959932.2235,2184039.264,2184039.264,3725411.87343,2797909.1441999995,4158867.4192799996,7253838.522,2058708.45672,2618290.2855599998,2437308.906,2437308.906,2437308.906,2437308.906,6566678.05376,6566678.05376 +30394800.0,1579273.2000000002,887964.9419999998,2592857.6306399996,2039370.9276600003,2039370.9276600003,2039370.9276600003,1676034.0659999999,2514924.7578399996,4334020.6368,2291271.6867600004,3491461.6179200006,1562866.857,1562866.857,1562866.857,1906927.2914999998,1579273.2000000002,1579273.2000000002,1329490.6281799998,1778427.1224,2643489.2041599997,4610736.984,1308571.0678400001,1664256.4923200002,1677543.387,1677543.387,1677543.387,1677543.387,4748348.0879999995,4748348.0879999995 +30398400.0,1138901.361,840148.83,2453234.5836,1184184.5056800002,1184184.5056800002,1184184.5056800002,1193872.4734999998,1876746.7624799998,3437498.20288,1642785.9997499997,2503292.9519999996,1010874.192,1010874.192,1010874.192,1357125.2625,1138901.361,1138901.361,1192953.47275,1314858.7278,1954431.98552,3408892.998,967476.2984800001,1230448.04404,1155402.189,1155402.189,1155402.189,1155402.189,3424296.75874,3424296.75874 +30402000.0,991258.101,843588.213,2463277.58196,1143026.2155400002,1143026.2155400002,1143026.2155400002,1119656.125,1817904.26568,3394687.1654400006,1589477.53125,2422061.0,992609.9879999999,992609.9879999999,992609.9879999999,1308190.8,991258.101,991258.101,1189561.7397299998,1273682.9367,1893227.4762799998,3302140.947,937179.04972,1191915.63706,1116739.3020000001,1116739.3020000001,1116739.3020000001,1116739.3020000001,2980382.69034,2980382.69034 +30405600.0,701302.668,600253.206,1752739.36152,747005.6184800001,747005.6184800001,747005.6184800001,616359.786,934587.94288,2093406.6886399998,910251.28509,1387049.57728,531025.698,531025.698,531025.698,656124.3535,701302.668,701302.668,852653.0530699999,598854.7768499999,890149.5695399998,1552586.4584999997,440638.8234599999,560409.77883,711460.29,711460.29,711460.29,711460.29,2108583.35512,2108583.35512 +30409200.0,118765.53,105386.766,307729.35672,126029.32859,126029.32859,126029.32859,63427.83649999999,195070.19704000003,741539.1296,212789.17590000003,324250.17280000006,176841.15000000002,176841.15000000002,176841.15000000002,113720.775,118765.53,118765.53,217659.99397999997,86280.68565,128249.31545999998,223690.6665,63485.54154,80741.67867,147114.384,147114.384,147114.384,147114.384,357088.3602,357088.3602 +30412800.0,116156.73000000001,104033.02799999999,303776.44176,120155.13015000001,120155.13015000001,120155.13015000001,42603.3125,203913.74992000003,738023.11616,229394.49372,349553.51424000005,173859.384,173859.384,173859.384,108241.5145,116156.73000000001,116156.73000000001,218822.91248999996,79699.0914,118466.30376,206627.274,58642.78824,74582.60652,147729.6,147729.6,147729.6,147729.6,349244.56820000004,349244.56820000004 +30416400.0,121288.818,111726.92400000001,326242.61808000004,111743.05472000001,111743.05472000001,111743.05472000001,41934.0565,207820.43544000003,712048.6176,237562.44393,361999.91456,167469.435,167469.435,167469.435,104659.632,121288.818,121288.818,218658.78086,77637.59684999999,115402.05753999998,201282.6585,57125.93545999999,72653.45482999999,148316.394,148316.394,148316.394,148316.394,364675.04611999996,364675.04611999996 +30420000.0,130150.659,123028.755,359243.9646,106491.15114000002,106491.15114000002,106491.15114000002,44072.8785,216229.34047999998,705534.1849600001,255521.50931999998,389366.10944,165025.266,165025.266,165025.266,102006.9365,130150.659,130150.659,238587.02932999996,89493.34814999999,133024.68045999997,232019.7915,65849.42654,83748.09617,150391.437,150391.437,150391.437,150391.437,391319.64806,391319.64806 +30423600.0,142418.157,131007.444,382541.73648,110785.07440000001,110785.07440000001,110785.07440000001,57499.183,234807.53680000003,705378.3616000002,285630.00500999996,435245.72192,168470.36099999998,168470.36099999998,168470.36099999998,108666.593,142418.157,142418.157,237746.54916999995,100051.8966,148719.11544,259393.80599999998,73618.43256,93628.81188,187683.447,187683.447,187683.447,187683.447,428203.92538,428203.92538 +30427200.0,180235.107,139211.256,406496.86751999997,119095.00504,119095.00504,119095.00504,67346.53099999999,307415.0012,705562.7014400001,313068.37527,477056.57184000005,241341.24,241341.24,241341.24,168574.462,180235.107,180235.107,249572.05922999998,117079.48169999999,174029.25428,303539.397,86147.37172,109563.26806,231448.37100000004,231448.37100000004,231448.37100000004,231448.37100000004,541906.88838,541906.88838 +30430800.0,207644.592,150842.325,440459.589,131623.77965,131623.77965,131623.77965,74481.10250000001,371298.86632,696601.3350400002,341695.33125,520678.60000000003,275065.758,275065.758,275065.758,194856.6305,207644.592,207644.592,267154.41297999996,129073.40684999998,191857.26153999998,334634.7585,94972.53146,120787.21283,255027.858,255027.858,255027.858,255027.858,624318.07328,624318.07328 +30434400.0,358812.66299999994,188824.182,551366.61144,234931.98729000002,234931.98729000002,234931.98729000002,151980.78350000002,855973.9684,758243.09568,586497.59742,893710.6246399999,329374.998,329374.998,329374.998,313897.36,358812.66299999994,358812.66299999994,477266.94937999995,185531.65424999996,275777.91569999995,481007.99249999993,136514.6493,173620.98015,385277.66699999996,385277.66699999996,385277.66699999996,385277.66699999996,1078830.0734199998,1078830.0734199998 +30438000.0,1090998.2519999999,478075.875,1395981.555,1530221.47751,1530221.47751,1530221.47751,1306040.5155,3134753.7068,3253505.2608,2591543.5035000006,3949018.6720000007,956452.923,956452.923,956452.923,1381476.3795,1090998.2519999999,1090998.2519999999,2366190.74588,1323336.9370499998,1967034.1632199998,3430873.5404999997,973714.58578,1238381.9731899998,1335392.4719999998,1335392.4719999998,1335392.4719999998,1335392.4719999998,3280268.0776799996,3280268.0776799996 +30441600.0,961080.8399999999,1085037.72,3168310.1424,1731908.83789,1731908.83789,1731908.83789,1780838.724,3835397.9189599995,2843308.95872,2918496.32235,4447232.4912,1197724.146,1197724.146,1197724.146,1513327.634,961080.8399999999,961080.8399999999,2088832.02372,1960388.3007,2913959.89388,5082488.187,1442458.5521200001,1834536.21226,1409717.574,1409717.574,1409717.574,1409717.574,2889649.7255999995,2889649.7255999995 +30445200.0,1947977.4,2061504.909,6019594.334279999,1395487.52596,1395487.52596,1395487.52596,1725307.0659999999,3986816.8257599995,6751669.408,3306547.9215300004,5038549.213760001,1819668.1469999999,1819668.1469999999,1819668.1469999999,1391986.1935,1947977.4,1947977.4,1977606.4014199998,1598370.82515,2375849.96726,4143924.3614999996,1176085.19974,1495759.3647699999,2182767.483,2182767.483,2182767.483,2182767.483,5856918.715999999,5856918.715999999 +30448800.0,1315315.113,995211.084,2906016.36528,647738.3673200002,647738.3673200002,647738.3673200002,719271.9589999999,1830224.9195199998,6500745.2736,1107415.91814,1687490.92288,1284237.783,1284237.783,1284237.783,1338137.1464999998,1315315.113,1315315.113,1782215.4905099997,2082603.03255,3095622.28542,5399341.1955,1532384.45358,1948905.06009,882313.5779999999,882313.5779999999,882313.5779999999,882313.5779999999,3954714.1064199996,3954714.1064199996 +30452400.0,641877.228,614949.78,1795653.3576,327505.54144,327505.54144,327505.54144,440782.2125,1129073.55008,2682311.6582400003,738103.47282,1124729.10144,466035.603,466035.603,466035.603,429679.60000000003,641877.228,641877.228,642986.5960699999,735000.5204999999,1092519.2921999998,1905556.9049999998,540815.1978,687815.3019,489702.26399999997,489702.26399999997,489702.26399999997,489702.26399999997,1929910.86552,1929910.86552 +30456000.0,644162.655,1057713.3360000001,3088522.94112,548626.5616700001,548626.5616700001,548626.5616700001,794456.6105,1383529.24128,2187773.4656,1093084.77684,1665652.99328,546484.593,546484.593,546484.593,910610.19,644162.655,644162.655,747277.3094799999,662751.0760499999,985126.2908199998,1718243.5304999999,487653.87817999994,620204.0933899999,629265.5549999999,629265.5549999999,629265.5549999999,629265.5549999999,1936782.3827,1936782.3827 +30459600.0,497383.047,511709.346,1494191.29032,412932.04535000003,412932.04535000003,412932.04535000003,704256.959,993995.3311999999,1475226.47872,723976.98828,1103203.02976,421702.66500000004,421702.66500000004,421702.66500000004,468637.407,497383.047,497383.047,537716.20591,491813.6292,731041.4932799999,1275072.372,361877.68272000004,460240.40856,446949.489,446949.489,446949.489,446949.489,1495465.02798,1495465.02798 +30463200.0,429017.38499999995,376028.85900000005,1098004.26828,213287.85753,213287.85753,213287.85753,378660.7965,887772.41216,1354424.272,623646.58125,950318.6000000001,386201.69700000004,386201.69700000004,386201.69700000004,320998.335,429017.38499999995,429017.38499999995,491329.99928999995,429084.40634999995,637799.5373399999,1112441.0535,315721.36565999995,401538.24692999996,403366.503,403366.503,403366.503,403366.503,1289912.2709,1289912.2709 +30466800.0,777145.4400000002,884423.1000000001,2582515.452,1318606.2923,1318606.2923,1318606.2923,1199497.8694999998,1705800.6009600002,2216326.90496,1456741.5046800002,2219796.5785600003,689785.719,689785.719,689785.719,1244065.179,777145.4400000002,777145.4400000002,1271017.76217,1109421.8338499998,1649066.5283399997,2876278.8285,816315.3246599999,1038199.6914299999,777496.587,777496.587,777496.587,777496.587,2336617.2896000003,2336617.2896000003 +30470400.0,727292.3189999999,1137800.937,3322378.73604,1312201.18678,1312201.18678,1312201.18678,951778.2714999999,1900319.91664,2436495.90144,1405968.71856,2142428.5235200003,810921.639,810921.639,810921.639,1386024.822,727292.3189999999,727292.3189999999,1369840.77542,1103703.6064499998,1640566.8421799997,2861453.7945,812107.83882,1032848.56011,897902.6639999999,897902.6639999999,897902.6639999999,897902.6639999999,2186725.57246,2186725.57246 +30474000.0,669008.544,959809.0319999999,2802642.3734399998,901341.93952,901341.93952,901341.93952,817564.8424999999,1851414.96824,2458435.31264,1196113.34745,1822648.9104000002,680582.6760000001,680582.6760000001,680582.6760000001,1042236.8180000001,669008.544,669008.544,1015318.6094999998,897711.0403499999,1334375.42294,2327398.9935,660538.00006,840080.2081299999,823652.3219999999,823652.3219999999,823652.3219999999,823652.3219999999,2011485.68896,2011485.68896 +30477600.0,2045554.932,1651882.437,4823496.716039999,3290533.12786,3290533.12786,3290533.12786,2705390.2085,3105485.4196799994,5882268.376959999,3455232.08163,5265115.55296,2150495.4690000005,2150495.4690000005,2150495.4690000005,2688029.778,2045554.932,2045554.932,3496744.8486099998,2562111.2106,3808372.71304,6642510.546,1885207.75496,2397629.99708,2272055.703,2272055.703,2272055.703,2272055.703,6150301.828879999,6150301.828879999 +30481200.0,1377512.4239999999,743603.502,2171322.22584,1714133.5117500003,1714133.5117500003,1714133.5117500003,1451022.3839999998,2103923.79032,3355513.6384,1891314.53847,2882003.10624,1257429.0150000001,1257429.0150000001,1257429.0150000001,1435058.702,1377512.4239999999,1377512.4239999999,1015718.6956799999,1439787.69675,2140128.8726999997,3732782.9175,1059399.3423000001,1347356.88165,1379284.845,1379284.845,1379284.845,1379284.845,4141720.6881599994,4141720.6881599994 +30484800.0,958433.604,703274.4480000001,2053561.38816,1006068.8759000001,1006068.8759000001,1006068.8759000001,954907.5935,1546007.6364000002,2745197.16608,1359912.69792,2072247.9206400001,824837.4839999999,824837.4839999999,824837.4839999999,1093346.0265,958433.604,958433.604,1010410.7308099999,1066146.2432999997,1584740.8357199996,2764082.8529999997,784473.03828,997702.2869399999,942477.8219999999,942477.8219999999,942477.8219999999,942477.8219999999,2881690.36936,2881690.36936 +30488400.0,828206.547,702711.246,2051916.83832,970452.16345,970452.16345,970452.16345,915369.0455,1500079.3593600001,2739585.91488,1329625.4391,2026095.9072000002,809740.371,809740.371,809740.371,1055555.0075,828206.547,828206.547,1007506.5971099999,1049553.9562499998,1560077.7324999997,2721065.8124999995,772264.3925,982175.1837499999,924565.689,924565.689,924565.689,924565.689,2490141.0179799995,2490141.0179799995 +30492000.0,604049.61,496230.66299999994,1448993.5359599998,648004.69591,648004.69591,648004.69591,530595.7545,777151.7979199999,1712783.5756800002,763209.78384,1162986.33728,439697.211,439697.211,439697.211,548012.1745,604049.61,604049.61,688067.6188099999,499934.5636499999,743112.6106599999,1296126.6464999998,367853.08634,467839.99906999996,603429.465,603429.465,603429.465,603429.465,1816175.8273999998,1816175.8273999998 +30495600.0,100436.973,84756.843,247489.98156,106313.27179000001,106313.27179000001,106313.27179000001,57868.01649999999,136690.19904,591343.49312,169487.98440000002,258267.40480000002,142766.80800000002,142766.80800000002,142766.80800000002,94962.5285,100436.973,100436.973,166652.9839,71004.22739999999,105542.08615999999,184085.03399999999,52245.08584,66445.93132,122922.97499999999,122922.97499999999,122922.97499999999,122922.97499999999,301980.49882,301980.49882 +30499200.0,96311.76000000001,86529.56099999999,252666.31811999998,82911.92360000001,82911.92360000001,82911.92360000001,37057.296500000004,151951.26952,589129.45664,169656.12636,258523.62112,141370.41,141370.41,141370.41,88188.77549999999,96311.76000000001,96311.76000000001,172223.22363999998,63969.814799999986,95085.99631999998,165847.66799999998,47069.147679999995,59863.11063999999,118329.207,118329.207,118329.207,118329.207,289577.3584,289577.3584 +30502800.0,96472.71,87818.424,256429.79808,77260.20357,77260.20357,77260.20357,32165.462,172256.89112,586413.62368,173352.45291000002,264156.11872,140278.554,140278.554,140278.554,88606.1295,96472.71,96472.71,178797.10835999998,62116.9479,92331.85836,161043.939,45705.80364,58129.19322,119113.101,119113.101,119113.101,119113.101,290061.28140000004,290061.28140000004 +30506400.0,107168.99100000001,99971.865,291917.8458,72665.80034999999,72665.80034999999,72665.80034999999,33759.04,174542.1532,587509.8272,199119.73494000002,303420.54848000006,139815.741,139815.741,139815.741,87077.7425,107168.99100000001,107168.99100000001,190903.69557999997,67167.04275000001,99838.4191,174136.77750000003,49421.6759,62855.08445000001,121822.737,121822.737,121822.737,121822.737,322221.43294,322221.43294 +30510000.0,111671.649,105614.805,308395.23059999995,78298.50127000002,78298.50127000002,78298.50127000002,37628.8255,174993.34576,592409.66784,217850.84202,331963.18784,140580.114,140580.114,140580.114,88320.84449999999,111671.649,111671.649,202989.99422,75603.63825,112378.74130000001,196009.43250000002,55629.343700000005,70750.07135000001,127939.905,127939.905,127939.905,127939.905,335759.42466,335759.42466 +30513600.0,119495.274,114325.54200000002,333830.58264000004,93575.55559,93575.55559,93575.55559,50646.599500000004,178664.43984,599977.61088,237961.42125,362607.88,143539.842,143539.842,143539.842,95401.9465,119495.274,119495.274,204690.76693,82550.4048,122704.55232,214019.56800000003,60740.79168000001,77250.87264000002,148689.0,148689.0,148689.0,148689.0,359282.45716,359282.45716 +30517200.0,137152.293,119344.041,348484.59972,108657.06676,108657.06676,108657.06676,65258.914000000004,192602.07872,601628.368,259574.71008,395542.41536,182418.99599999998,182418.99599999998,182418.99599999998,125297.837,137152.293,137152.293,210495.57112999997,96825.80025,143923.78209999998,251029.8525,71244.6629,90609.82295,181546.04099999997,181546.04099999997,181546.04099999997,181546.04099999997,412371.22762,412371.22762 +30520800.0,258688.722,156008.535,455544.9222,212702.46943,212702.46943,212702.46943,143620.4175,657830.46552,648541.76384,459407.19362999994,700049.05696,239394.63900000002,239394.63900000002,239394.63900000002,266657.748,258688.722,258688.722,418004.06492,151867.85984999998,225739.38673999996,393731.4884999999,111744.74625999999,142118.31822999998,283606.989,283606.989,283606.989,283606.989,777790.75748,777790.75748 +30524400.0,958553.7690000001,406923.4770000001,1188216.55284,1407446.14648,1407446.14648,1407446.14648,1133840.505,2885881.89072,2632937.35872,2292553.14372,3493414.31424,793577.0700000001,793577.0700000001,793577.0700000001,1122115.9775,958553.7690000001,958553.7690000001,2183750.0480899997,1117340.3411999997,1660836.7540799996,2896808.2919999994,822141.7819199999,1045609.8501599998,1172071.269,1172071.269,1172071.269,1172071.269,2882051.66546,2882051.66546 +30528000.0,836934.591,1038636.501,3032818.58292,1520595.44725,1520595.44725,1520595.44725,1601093.13,3508739.5396,2431716.6656,2634199.9914300004,4014019.0345600005,1086063.048,1086063.048,1086063.048,1277191.1179999998,836934.591,836934.591,1802098.87611,1734008.3586,2577464.27624,4495577.226,1275887.63176,1622689.30348,1259760.648,1259760.648,1259760.648,1259760.648,2516383.33694,2516383.33694 +30531600.0,1856813.7899999998,1768409.3250000002,5163755.229,1163953.8258700003,1163953.8258700003,1163953.8258700003,1424347.9565,3661540.8503199997,6103736.28224,2996577.95262,4566214.02304,1713731.955,1713731.955,1713731.955,1199176.5275,1856813.7899999998,1856813.7899999998,1744500.3189899998,1397927.93355,2077907.69382,3624257.6055,1028598.82518,1308184.41189,2105225.526,2105225.526,2105225.526,2105225.526,5582820.1285999995,5582820.1285999995 +30535200.0,1178357.916,898158.948,2622624.12816,560093.46514,560093.46514,560093.46514,564483.227,1518203.31464,5969546.48576,908577.3181800001,1384498.77056,1116791.625,1116791.625,1116791.625,1210906.5955,1178357.916,1178357.916,1575645.61531,1921702.3847999999,2856456.3843199997,4982191.368,1413993.35968,1798333.8366399999,741144.144,741144.144,741144.144,741144.144,3542929.46744,3542929.46744 +30538800.0,591175.983,563956.422,1646752.75224,291154.45040000003,291154.45040000003,291154.45040000003,411125.23549999995,1030481.51376,2254492.3456,684601.19574,1043201.8220800001,431548.66799999995,431548.66799999995,431548.66799999995,383130.8145,591175.983,591175.983,582987.3390899999,585089.2602,869688.23368,1516898.082,430510.12231999997,547527.97436,456981.44399999996,456981.44399999996,456981.44399999996,456981.44399999996,1777469.1222199998,1777469.1222199998 +30542400.0,625448.919,1047824.295,3059646.9414,507636.15089000005,507636.15089000005,507636.15089000005,779745.2670000001,1364422.07528,2160711.07584,1066642.8066,1625360.4672,540056.415,540056.415,540056.415,903155.806,625448.919,625448.919,718603.66331,648832.4208000001,964437.32672,1682158.1280000003,477412.49728000007,607178.9814400001,614062.584,614062.584,614062.584,614062.584,1880516.41646,1880516.41646 +30546000.0,482220.03899999993,470965.14600000007,1375218.2263200001,396321.15434999997,396321.15434999997,396321.15434999997,658192.36,977954.77256,1453737.4015999998,700524.98124,1067466.6380800002,422405.06700000004,422405.06700000004,422405.06700000004,413458.90599999996,482220.03899999993,482220.03899999993,511361.75895999995,478860.7004999999,711788.0041999999,1241490.7049999998,352346.8858,448119.02589999995,436965.66000000003,436965.66000000003,436965.66000000003,436965.66000000003,1449874.9172599998,1449874.9172599998 +30549600.0,397916.94299999997,351245.967,1025638.22364,190453.96095,190453.96095,190453.96095,347564.028,834535.73136,1265601.0073600002,576310.97286,878188.1491200001,364818.945,364818.945,364818.945,296007.70849999995,397916.94299999997,397916.94299999997,444707.31864,393856.71255000005,585436.39742,1021109.9955000001,289800.74158000003,368572.08409,375316.30199999997,375316.30199999997,375316.30199999997,375316.30199999997,1196403.6086199998,1196403.6086199998 +30553200.0,760996.182,817100.592,2385933.72864,1283835.5008600003,1283835.5008600003,1283835.5008600003,1171844.023,1646938.30072,2184342.4032000005,1433346.33225,2184146.7920000004,685665.528,685665.528,685665.528,1232389.0775,760996.182,760996.182,1243716.24546,1095645.0622499997,1628588.4628999997,2840561.2724999995,806178.3420999999,1025307.3545499998,733536.522,733536.522,733536.522,733536.522,2288061.85388,2288061.85388 +30556800.0,721923.207,1141231.623,3332396.3391599995,1226517.39375,1226517.39375,1226517.39375,950897.8920000001,1904324.3754399999,2463424.7065600003,1375570.36008,2096107.21536,818842.2750000001,818842.2750000001,818842.2750000001,1388134.482,721923.207,721923.207,1362375.20809,1097426.0781,1631235.80004,2845178.721,807488.81796,1026974.03358,889910.919,889910.919,889910.919,889910.919,2170582.44238,2170582.44238 +30560400.0,655750.1639999999,909758.9730000001,2656496.20116,874790.8061200001,874790.8061200001,874790.8061200001,811988.3205,1794712.5044000002,2454805.61408,1181879.30364,1800958.93888,686168.439,686168.439,686168.439,1038201.8919999999,655750.1639999999,655750.1639999999,1001862.5912099999,888928.4898,1321320.86632,2304629.418,654075.77768,831861.4756400001,807149.175,807149.175,807149.175,807149.175,1971622.1597599997,1971622.1597599997 +30564000.0,2033922.8939999999,1647967.6890000002,4812065.651880001,3260333.8947300003,3260333.8947300003,3260333.8947300003,2699854.2795,3103833.8852,5877347.4944,3445956.68004,5250981.60768,2151897.825,2151897.825,2151897.825,2685895.6355,2033922.8939999999,2033922.8939999999,3314144.7329899995,2554554.36825,3797140.0733,6622918.7325,1879647.4117,2390558.28535,2266436.199,2266436.199,2266436.199,2266436.199,6115328.167959999,6115328.167959999 +30567600.0,1360551.567,758856.171,2215860.01932,1661768.08589,1661768.08589,1661768.08589,1424723.223,2128061.92944,3388867.9212800004,1876769.2398,2859838.8416,1254931.1130000001,1254931.1130000001,1254931.1130000001,1437231.8730000001,1360551.567,1360551.567,1016061.4081799999,1421604.4806,2113100.98104,3685641.246,1046020.08696,1330340.98308,1359346.17,1359346.17,1359346.17,1359346.17,4090725.04478,4090725.04478 +30571200.0,976777.5510000002,737017.572,2152091.31024,1039202.3592500001,1039202.3592500001,1039202.3592500001,982567.7225,1627675.4578399998,2924842.9824,1417830.32916,2160503.35872,879183.2399999999,879183.2399999999,879183.2399999999,1160857.4705,976777.5510000002,976777.5510000002,1039112.2749799999,1120019.8131,1664819.5740399999,2903755.071,824113.3439600001,1048117.3065800001,986215.8719999999,986215.8719999999,986215.8719999999,986215.8719999999,2936844.5033400003,2936844.5033400003 +30574800.0,868288.5089999998,744422.2320000001,2173712.91744,1015767.0916800002,1015767.0916800002,1015767.0916800002,970323.3785,1601607.9462400002,2963808.71232,1404395.21565,2140030.8048,875775.765,875775.765,875775.765,1140708.541,868288.5089999998,868288.5089999998,1047182.7767699999,1119625.12035,1664232.8949399998,2902731.7935,823822.92806,1047747.95213,983063.5049999999,983063.5049999999,983063.5049999999,983063.5049999999,2610654.1170599996,2610654.1170599996 +30578400.0,623466.1799999999,521860.752,1523833.39584,668370.9026500001,668370.9026500001,668370.9026500001,550554.7565,816456.96016,1823589.1731200002,795262.0599,1211827.9008,468595.524,468595.524,468595.524,578525.444,623466.1799999999,623466.1799999999,716245.08462,525931.97535,781755.6769399999,1363527.3435,386982.04606,492168.44113,630240.549,630240.549,630240.549,630240.549,1874554.9811999998,1874554.9811999998 +30582000.0,103028.841,90463.79400000001,264154.27848000004,108861.93835,108861.93835,108861.93835,58563.8865,147796.35479999997,630170.65536,177042.79509000003,269779.49728000007,151280.757,151280.757,151280.757,99460.29449999999,103028.841,103028.841,174439.86403999996,74029.98645,110039.63417999998,191929.59449999998,54471.44682,69277.44411,126425.31600000002,126425.31600000002,126425.31600000002,126425.31600000002,309773.38194,309773.38194 +30585600.0,100991.613,92508.855,270125.8566,87331.34124,87331.34124,87331.34124,38385.00749999999,171809.89168,646652.37568,177789.87534,270917.90528,153654.387,153654.387,153654.387,95260.4695,100991.613,100991.613,191121.35769999996,68820.40664999999,102296.01185999998,178423.27649999998,50638.225139999995,64402.306469999996,124701.297,124701.297,124701.297,124701.297,303648.11642,303648.11642 +30589200.0,103771.57499999998,95980.023,280261.66716,82741.52084000001,82741.52084000001,82741.52084000001,33856.529,187979.43256,654268.4627200001,193390.96854,294690.99968,154806.168,154806.168,154806.168,96845.07,103771.57499999998,103771.57499999998,195443.15231999996,68012.85285,101095.64793999998,176329.61849999998,50044.02505999999,63646.595629999996,128406.75899999999,128406.75899999999,128406.75899999999,128406.75899999999,312006.53549999994,312006.53549999994 +30592800.0,119368.01999999999,116223.144,339371.58048,81033.32963000001,81033.32963000001,81033.32963000001,39465.692,196502.80160000004,683840.56384,225107.97014999998,343021.6688,160375.479,160375.479,160375.479,98825.8845,119368.01999999999,119368.01999999999,223668.41509999998,80254.7757,119292.28387999999,208067.93699999998,59051.66211999999,75102.61726,136170.177,136170.177,136170.177,136170.177,358899.84679999994,358899.84679999994 +30596400.0,122324.91,117585.01799999998,343348.25255999994,93144.10710000002,93144.10710000002,93144.10710000002,42725.067,195637.42456,679978.5228800001,248392.39068,378502.69056,159677.976,159677.976,159677.976,99809.3425,122324.91,122324.91,227748.58418,87357.53205,129849.96121999998,226482.49049999999,64277.88778,81749.39418999999,144836.979,144836.979,144836.979,144836.979,367790.2294,367790.2294 +30600000.0,137119.848,128779.773,376036.93716,107428.37039000001,107428.37039000001,107428.37039000001,61768.02799999999,208360.88072,680249.0976,269694.37152,410962.85184,187718.43000000002,187718.43000000002,187718.43000000002,122030.097,137119.848,137119.848,229282.13724,98200.34999999999,145966.94,254593.5,72256.06,91896.13,188992.92600000004,188992.92600000004,188992.92600000004,188992.92600000004,412273.67631999997,412273.67631999997 +30603600.0,176343.726,140286.234,409635.80328,123093.72713000001,123093.72713000001,123093.72713000001,72605.0325,274241.54696,707060.7577600001,309985.39593,472358.69856,255813.327,255813.327,255813.327,187311.3025,176343.726,176343.726,251202.57227,119454.08984999999,177558.91874,309695.7885,87894.61426,111785.43223,231015.375,231015.375,231015.375,231015.375,530206.8028399999,530206.8028399999 +30607200.0,236504.229,163987.086,478842.29112,220202.95033000002,220202.95033000002,220202.95033000002,152826.0405,457064.24783999997,748156.1715200001,400321.7988,610014.1696,311210.29799999995,311210.29799999995,311210.29799999995,230431.61049999995,236504.229,236504.229,292577.88923999993,163512.6993,243048.50611999998,423921.813,120313.04788,153015.58774000002,296529.342,296529.342,296529.342,296529.342,711089.38186,711089.38186 +30610800.0,1005754.4820000001,1024386.96,2991209.9232,1040730.77856,1040730.77856,1040730.77856,1063499.381,1552897.2187199998,1378122.04352,1305078.2295600001,1988690.6355200002,616828.464,616828.464,616828.464,1601872.7234999998,1005754.4820000001,1005754.4820000001,1905992.00935,570056.0166,847342.5234399999,1477923.0059999998,419448.62455999997,533459.82788,1371670.1099999999,1371670.1099999999,1371670.1099999999,1371670.1099999999,3023968.47588,3023968.47588 +30614400.0,1881844.2389999998,1712001.264,4999043.69088,2396871.2946200003,2396871.2946200003,2396871.2946200003,1688734.1099999999,2836518.82936,3126127.8675200003,2822815.2153600003,4301432.709120001,1196532.687,1196532.687,1196532.687,1672952.0955,1881844.2389999998,1881844.2389999998,2646655.9632499996,1476316.84185,2194426.51554,3827488.1085,1086277.57746,1381540.94583,2128766.673,2128766.673,2128766.673,2128766.673,5658078.345259999,5658078.345259999 +30618000.0,2233243.209,2029124.0610000002,5925042.25812,2539962.14054,2539962.14054,2539962.14054,2120987.568,3671755.4307999997,8728250.67136,2841880.9545,4330485.264,2327163.654,2327163.654,2327163.654,2232687.366,2233243.209,2233243.209,2218041.6732499995,3125649.8295,4646027.647799999,8103536.595,2299860.8622,2924990.8281,1905084.2610000002,1905084.2610000002,1905084.2610000002,1905084.2610000002,6714617.915059999,6714617.915059999 +30621600.0,1600979.058,1368082.875,3994801.995,1700627.47316,1700627.47316,1700627.47316,2280639.6374999997,3062838.06048,5575132.85312,3096692.4393300004,4718769.431360001,2178935.061,2178935.061,2178935.061,2412449.333,1600979.058,1600979.058,1791023.7501,2789236.5795,4145976.3477999996,7231354.095,2052327.1622000001,2610174.4781,1793897.3189999997,1793897.3189999997,1793897.3189999997,1793897.3189999997,4813610.3677199995,4813610.3677199995 +30625200.0,1161199.8059999999,938627.751,2740793.03292,1553604.1077700001,1553604.1077700001,1553604.1077700001,1917512.9225000003,3083536.0366399996,5840593.6576,2296210.3521,3498987.2032000003,1036995.0179999999,1036995.0179999999,1036995.0179999999,2001842.276,1161199.8059999999,1161199.8059999999,1010325.38698,1942621.3800000001,2887550.792,5036425.800000001,1429385.608,1817909.884,1329349.053,1329349.053,1329349.053,1329349.053,3491340.7500399994,3491340.7500399994 +30628800.0,918296.172,795417.477,2322619.03284,1075293.74359,1075293.74359,1075293.74359,1244747.1225,2269415.7656,2754776.2336000004,1728922.83837,2634549.08704,917359.1370000001,917359.1370000001,917359.1370000001,1267396.6235,918296.172,918296.172,935863.06606,1213094.30085,1803167.33114,3145059.2985,892597.78186,1135216.64203,980763.267,980763.267,980763.267,980763.267,2761010.4904799997,2761010.4904799997 +30632400.0,681310.53,557793.633,1628757.40836,625947.0053100002,625947.0053100002,625947.0053100002,705583.774,1399741.29152,2077952.8019200002,1107766.0303500001,1688024.4272000003,643164.744,643164.744,643164.744,883157.5304999999,681310.53,681310.53,659350.74998,790553.6172,1175094.5124799998,2049583.452,581691.30352,739802.02696,731175.444,731175.444,731175.444,731175.444,2048473.6602,2048473.6602 +30636000.0,632567.0249999999,530634.5819999999,1549452.97944,557682.9872900001,557682.9872900001,557682.9872900001,659973.2545,1216010.7509599999,1964180.7398400002,993579.27585,1514025.5632,602209.122,602209.122,602209.122,786426.599,632567.0249999999,632567.0249999999,600005.1575699999,733732.2873,1090634.16532,1902268.893,539882.02868,686628.4861399999,667116.015,667116.015,667116.015,667116.015,1901918.1884999997,1901918.1884999997 +30639600.0,862761.615,769736.2860000001,2247629.95512,954133.4577500001,954133.4577500001,954133.4577500001,925224.8705000002,1660947.32776,2963240.7654400007,1427067.31293,2174578.76256,867827.952,867827.952,867827.952,1099077.8505,862761.615,862761.615,1063285.67072,1085103.6493499998,1612919.4985399998,2813231.6835,798421.9444599999,1015442.67433,960645.9450000001,960645.9450000001,960645.9450000001,960645.9450000001,2594036.5891,2594036.5891 +30643200.0,895608.162,802998.45,2344755.4739999995,1018220.3208100001,1018220.3208100001,1018220.3208100001,967476.0025000001,1725695.5712799998,3099812.05248,1484899.21167,2262703.5606400003,906386.6429999999,906386.6429999999,906386.6429999999,1145486.972,895608.162,895608.162,1129891.6310499997,1134778.50315,1686757.1824599998,2942018.3415,834972.82454,1061928.52517,1005688.83,1005688.83,1005688.83,1005688.83,2692795.20708,2692795.20708 +30646800.0,908844.249,811535.625,2369684.025,1056018.78932,1056018.78932,1056018.78932,1001807.8454999998,1759544.8770400002,3135612.93184,1511855.07459,2303779.16128,919330.2150000001,919330.2150000001,919330.2150000001,1164572.402,908844.249,908844.249,1140602.90942,1152900.5724,1713694.18416,2989001.484,848307.08784,1078887.2023200002,1020073.059,1020073.059,1020073.059,1020073.059,2732591.7086599995,2732591.7086599995 +30650400.0,926756.331,820193.6670000001,2394965.50764,1122440.38346,1122440.38346,1122440.38346,1060990.574,1806326.72264,3170434.43712,1550283.25011,2362336.38112,934198.368,934198.368,934198.368,1189910.1655000001,926756.331,926756.331,1152455.43244,1177588.95525,1750391.4841,3053008.4025000003,866472.8609000001,1101990.65195,1038445.191,1038445.191,1038445.191,1038445.191,2786447.3685399997,2786447.3685399997 +30654000.0,924335.28,817610.154,2387421.64968,1120513.18962,1120513.18962,1120513.18962,1059008.7445,1801160.3841599997,3157524.2726400006,1546343.55435,2356333.0352000003,930597.0750000001,930597.0750000001,930597.0750000001,1185117.36,924335.28,924335.28,1148917.16758,1173335.2888500001,1744068.75034,3041980.3785,863343.00266,1098010.06043,1035149.1449999999,1035149.1449999999,1035149.1449999999,1035149.1449999999,2779168.0752,2779168.0752 +30657600.0,934473.543,829860.2609999999,2423191.96212,1119166.9923500002,1119166.9923500002,1119166.9923500002,1059927.8375000001,1824517.60432,3212208.5235200003,1562921.97873,2381595.39616,945659.463,945659.463,945659.463,1200945.0320000001,934473.543,934473.543,1162884.34938,1187195.2191,1764670.42444,3077913.5310000004,873541.1735600001,1110980.21738,1048415.1090000002,1048415.1090000002,1048415.1090000002,1048415.1090000002,2809650.4526199996,2809650.4526199996 +30661200.0,888439.4310000001,743841.786,2172018.0151199996,921784.65005,921784.65005,921784.65005,800203.817,1489323.0371200002,2291728.6668800004,1271671.81953,1937785.6297600002,733637.646,733637.646,733637.646,935590.684,888439.4310000001,888439.4310000001,1103381.7441399998,931723.42635,1384932.10534,2415579.2535,685564.39766,871909.08293,902830.044,902830.044,902830.044,902830.044,2671241.22254,2671241.22254 +30664800.0,393175.87200000003,275781.069,805280.72148,487409.52073,487409.52073,487409.52073,334702.20699999994,718625.3735999999,932697.9008000001,595645.33245,907650.0304,329605.272,329605.272,329605.272,410819.941,393175.87200000003,393175.87200000003,637124.54806,208030.36409999998,309220.44243999996,539337.9809999999,153069.25556,194675.32838,492723.123,492723.123,492723.123,492723.123,1182148.78848,1182148.78848 +30668400.0,134968.629,98830.275,288584.40299999993,143889.46946000002,143889.46946000002,143889.46946000002,60622.082500000004,270778.8124,688382.3110400001,258963.92277,394611.69184,187954.164,187954.164,187954.164,108981.53700000001,134968.629,134968.629,206894.2616,83103.06375,123526.0355,215452.3875,61147.4395,77768.05225000001,148074.864,148074.864,148074.864,148074.864,405805.67785999994,405805.67785999994 +30672000.0,130174.66500000001,101145.249,295344.12708,120015.86696000001,120015.86696000001,120015.86696000001,39938.836,276660.43992000003,679451.52832,247507.81965,377154.7728,183796.12199999997,183796.12199999997,183796.12199999997,103018.88449999999,130174.66500000001,130174.66500000001,203598.24757999997,75481.00425,112196.45569999999,195691.4925,55539.1093,70635.31015,142771.773,142771.773,142771.773,142771.773,391391.8261,391391.8261 +30675600.0,141182.376,117176.397,342155.07924,118708.37946000001,118708.37946000001,118708.37946000001,47113.33900000001,295325.58800000005,701935.30944,259366.39218000002,395224.97856,189442.884,189442.884,189442.884,103972.53300000001,141182.376,141182.376,211643.03029999998,87746.90310000001,130428.73004,227491.97100000002,64564.38796000001,82113.76858,145830.309,145830.309,145830.309,145830.309,424488.3438399999,424488.3438399999 +30679200.0,145315.485,128629.78800000002,375598.98096,114674.33791,114674.33791,114674.33791,47163.087999999996,293060.28119999997,713031.87584,268702.28952,409451.10784000007,189719.154,189719.154,189719.154,102374.132,145315.485,145315.485,234284.29192999998,90199.70865,134074.62866,233851.09649999999,66369.16834,84409.11007,157776.38999999998,157776.38999999998,157776.38999999998,157776.38999999998,436915.2248999999,436915.2248999999 +30682800.0,153601.998,142868.66700000002,417176.50764,123361.79361,123361.79361,123361.79361,56904.9565,291358.95488,729012.8224000001,297105.61167,452732.36064,232545.798,232545.798,232545.798,107529.09999999999,153601.998,153601.998,235648.40311999997,98829.52965000001,146902.16506,256224.70650000003,72719.01194000001,92484.91787,189991.182,189991.182,189991.182,189991.182,461830.00732,461830.00732 +30686400.0,173745.027,154748.15099999998,451864.60091999994,126004.48938000001,126004.48938000001,126004.48938000001,64084.95450000001,311627.07784,731501.4374400001,305137.81473,464971.90816,266739.849,266739.849,266739.849,157719.4255,173745.027,173745.027,245546.74338999996,114525.98505,170233.68641999998,296919.2205,84268.50258,107173.69959,221790.168,221790.168,221790.168,221790.168,522393.38118,522393.38118 +30690000.0,207294.86699999997,168889.881,493158.45252,136945.07266,136945.07266,136945.07266,71565.41700000002,368304.61072,725732.35008,341837.02413000003,520894.5129600001,300037.473,300037.473,300037.473,193059.377,207294.86699999997,207294.86699999997,256433.75991999998,126390.0429,187868.65636,327677.889,92998.10564000001,118276.11422,260534.44200000004,260534.44200000004,260534.44200000004,260534.44200000004,623266.5667799999,623266.5667799999 +30693600.0,270057.378,186542.46,544703.9832,230354.62109,230354.62109,230354.62109,150559.647,492678.36656,779865.55072,428302.85337,652651.96704,333823.875,333823.875,333823.875,225892.24,270057.378,270057.378,294006.79112999997,163930.6917,243669.81827999998,425005.497,120620.60772,153406.74606,323842.845,323842.845,323842.845,323842.845,811972.51652,811972.51652 +30697200.0,1014788.7179999999,1029642.51,3006556.1292,1041388.15275,1041388.15275,1041388.15275,1059977.702,1546334.0748799997,1473587.34144,1293235.1613299998,1970644.0553599999,624139.716,624139.716,624139.716,1596136.9304999998,1014788.7179999999,1014788.7179999999,1863144.6976999997,559645.7832,831868.5468799999,1450933.512,411788.74912,523717.90576,1354301.742,1354301.742,1354301.742,1354301.742,3051131.4121199995,3051131.4121199995 +30700800.0,1867920.846,1715579.808,5009493.03936,2393622.7183000003,2393622.7183000003,2393622.7183000003,1662685.045,2798649.01064,3158094.1235200004,2821833.71106,4299937.083520001,1183267.812,1183267.812,1183267.812,1602559.455,1867920.846,1867920.846,2676788.9826599997,1485731.8201499998,2208421.1252599997,3851897.3114999994,1093205.1417399999,1390351.50577,2102300.0309999995,2102300.0309999995,2102300.0309999995,2102300.0309999995,5616215.34364,5616215.34364 +30704400.0,2239537.506,2113612.5179999997,6171748.55256,2549546.87658,2549546.87658,2549546.87658,2154367.768,3684833.10632,8953712.374400001,2855761.36503,4351636.36576,2335937.0549999997,2335937.0549999997,2335937.0549999997,2238043.36,2239537.506,2239537.506,2217080.82284,3172209.7189499997,4715235.187179999,8224247.4195,2334119.74382,2968561.68761,1878800.9129999997,1878800.9129999997,1878800.9129999997,1878800.9129999997,6733542.7680399995,6733542.7680399995 +30708000.0,1614957.5099999998,1375832.511,4017430.93212,1708430.88009,1708430.88009,1708430.88009,2304995.8225,3069042.41224,5571954.45696,3104085.81693,4730035.530560001,2142873.09,2142873.09,2142873.09,2378690.5625,1614957.5099999998,1614957.5099999998,1805721.97975,2787806.2410000004,4143850.2644,7227645.8100000005,2051274.7156000002,2608835.9638000005,1789708.56,1789708.56,1789708.56,1789708.56,4855638.913399999,4855638.913399999 +30711600.0,1164002.5529999998,934707.879,2729347.00668,1588520.1371600002,1588520.1371600002,1588520.1371600002,1962815.365,3109450.04384,6051201.614720001,2349511.36308,3580207.7913599997,1029332.622,1029332.622,1029332.622,2015780.872,1164002.5529999998,1164002.5529999998,1001396.47335,1991147.7186,2959681.30024,5162234.826,1465091.40776,1863320.95148,1329838.074,1329838.074,1329838.074,1329838.074,3499767.6760199997,3499767.6760199997 +30715200.0,924012.564,805076.6669999999,2350823.86764,1125571.34492,1125571.34492,1125571.34492,1280909.875,2314660.06184,2803895.8323200005,1767043.6423499999,2692637.9312,927986.4870000001,927986.4870000001,927986.4870000001,1297609.474,924012.564,924012.564,939769.142,1224245.7409499998,1819743.0519799998,3173970.4395,900803.0390199999,1145652.18721,986781.534,986781.534,986781.534,986781.534,2778197.77576,2778197.77576 +30718800.0,676527.783,554761.983,1619904.99036,613717.9862,613717.9862,613717.9862,693772.2855,1429517.8864,2061567.1955200003,1114243.59165,1697894.9968,634357.266,634357.266,634357.266,866898.1265,676527.783,676527.783,650146.17525,786147.95835,1168545.85414,2038161.3735,578449.6088599999,735679.2005299999,724051.3589999999,724051.3589999999,724051.3589999999,724051.3589999999,2034093.5342199998,2034093.5342199998 +30722400.0,622470.7710000001,522237.723,1524934.1511600001,540200.3959000001,540200.3959000001,540200.3959000001,644884.45,1204409.3632,1935817.15648,981499.23816,1495617.88672,588299.115,588299.115,588299.115,764748.628,622470.7710000001,622470.7710000001,587044.7232,717913.9471499999,1067121.4720599998,1861258.3814999997,528242.85494,671825.6443699999,655157.418,655157.418,655157.418,655157.418,1871562.11814,1871562.11814 +30726000.0,847253.5199999999,756061.191,2207698.67772,931356.9888700001,931356.9888700001,931356.9888700001,904035.4224999999,1635201.5125599997,2911244.5926400004,1404476.0022300002,2140153.90816,847350.291,847350.291,847350.291,1066645.9335,847253.5199999999,847253.5199999999,1043659.31228,1061595.8415,1577977.0286,2752285.515,781124.8414,993444.0097,940261.422,940261.422,940261.422,940261.422,2547408.9168,2547408.9168 +30729600.0,891324.8910000001,800264.2079999999,2336771.4873599997,1007302.95281,1007302.95281,1007302.95281,959239.176,1726570.9347199998,3097120.28608,1482108.90135,2258451.6592,900517.7009999999,900517.7009999999,900517.7009999999,1130440.955,891324.8910000001,891324.8910000001,1123371.3441599999,1127533.0369499999,1675987.37838,2923233.7994999997,829641.5926199999,1055148.20001,998958.342,998958.342,998958.342,998958.342,2679916.83894,2679916.83894 +30733200.0,911387.1630000001,815434.8330000001,2381069.7123600002,1052944.5473800001,1052944.5473800001,1052944.5473800001,1001456.7535,1776484.1124,3162705.2416000003,1521173.56461,2317978.76512,922378.2390000001,922378.2390000001,922378.2390000001,1160572.0525,911387.1630000001,911387.1630000001,1142112.48944,1155543.6428999999,1717622.89636,2995853.889,850251.86564,1081360.59422,1021806.456,1021806.456,1021806.456,1021806.456,2740237.40342,2740237.40342 +30736800.0,917279.8859999999,812357.3250000001,2372083.389,1105776.9284100002,1105776.9284100002,1105776.9284100002,1046938.7110000001,1794725.95392,3144651.8182400004,1538124.0149100001,2343808.0227200002,921711.75,921711.75,921711.75,1166982.978,917279.8859999999,917279.8859999999,1139709.42306,1163039.067,1728764.2428,3015286.47,855767.0172,1088374.8306,1025355.978,1025355.978,1025355.978,1025355.978,2757954.85724,2757954.85724 +30740400.0,919192.3769999999,813991.665,2376855.6618,1108856.7299700002,1108856.7299700002,1108856.7299700002,1050001.47,1799797.63768,3150727.5257599996,1541863.14492,2349505.74464,923848.029,923848.029,923848.029,1169320.558,919192.3769999999,919192.3769999999,1141210.5326699999,1165139.19045,1731885.90778,3020731.2345000003,857312.29322,1090340.13131,1027454.9730000001,1027454.9730000001,1027454.9730000001,1027454.9730000001,2763705.0801799996,2763705.0801799996 +30744000.0,917138.9369999999,814355.61,2377918.3811999997,1093723.9490099999,1093723.9490099999,1093723.9490099999,1037040.1719999999,1794298.5243199999,3151948.6208000006,1536671.87541,2341595.2387200003,923220.9029999999,923220.9029999999,923220.9029999999,1166009.7575,917138.9369999999,917138.9369999999,1140664.6601999998,1161566.9082,1726575.9968799998,3011469.7619999996,854683.7991199999,1086997.18076,1025699.5680000001,1025699.5680000001,1025699.5680000001,1025699.5680000001,2757531.0705799996,2757531.0705799996 +30747600.0,878859.807,732360.75,2138493.39,910034.1571200001,910034.1571200001,910034.1571200001,786192.1585,1476704.89368,2260484.65792,1258496.8160100002,1917709.4339200004,721451.361,721451.361,721451.361,913749.536,878859.807,878859.807,1088315.8909999998,916011.0463499998,1361576.9133399997,2374843.4535,674003.1896599999,857205.3989299999,888916.9800000001,888916.9800000001,888916.9800000001,888916.9800000001,2642438.48638,2642438.48638 +30751200.0,389555.415,272880.078,796809.82776,486810.68942000007,486810.68942000007,486810.68942000007,329396.57449999993,720013.4248,921189.6134400001,593289.49029,904060.1756800001,330574.302,330574.302,330574.302,401837.394,389555.415,389555.415,626911.62417,205534.6407,305510.74988,532867.587,151232.89612,192339.82426,485546.40900000004,485546.40900000004,485546.40900000004,485546.40900000004,1171263.2810999998,1171263.2810999998 +30754800.0,135494.03100000002,98489.77200000003,287590.13424000004,145532.80929,145532.80929,145532.80929,60468.9225,277987.49231999996,681892.2822400002,261276.80690999998,398136.08672,190407.243,190407.243,190407.243,108149.1705,135494.03100000002,135494.03100000002,206533.71842999998,82988.9874,123356.47016,215156.634,61063.50184,77661.29932,148177.65899999999,148177.65899999999,148177.65899999999,148177.65899999999,407385.38654000004,407385.38654000004 +30758400.0,131767.554,101838.94499999998,297369.71939999994,122915.92104,122915.92104,122915.92104,39741.7825,287219.3176,681325.7932800001,252233.60274,384355.96608,188717.403,188717.403,188717.403,103270.412,131767.554,131767.554,205316.55273999998,76203.61335,113270.55614,197564.92350000003,56070.806860000004,71311.52953000001,144160.359,144160.359,144160.359,144160.359,396181.11236,396181.11236 +30762000.0,136909.821,113122.869,330318.77748,116102.45614,116102.45614,116102.45614,45594.8395,289588.61727999995,671399.9366400001,252988.90365000002,385506.90080000006,183772.605,183772.605,183772.605,99750.77,136909.821,136909.821,204165.14456,83904.26715,124716.96005999998,217529.5815,61736.96694,78517.82037,141676.94400000002,141676.94400000002,141676.94400000002,141676.94400000002,411642.19514,411642.19514 +30765600.0,141853.332,136352.472,398149.21824,112122.66362,112122.66362,112122.66362,44821.244999999995,289540.61248,692447.2966400001,261469.79922000002,398430.17024,185402.79,185402.79,185402.79,98795.228,141853.332,141853.332,226612.92393999995,86569.6329,128678.81236,224439.78900000002,63698.14964,81012.07622,152099.586,152099.586,152099.586,152099.586,426505.68488,426505.68488 +30769200.0,149713.122,141907.539,414370.01388,122272.37671000001,122272.37671000001,122272.37671000001,54830.4155,291383.47704,713562.8633600001,290900.68938,443277.24096,223117.866,223117.866,223117.866,104101.8825,149713.122,149713.122,231045.62754,95602.29119999999,142105.13408,247857.79200000002,70344.40192,89464.86016000001,183750.102,183750.102,183750.102,183750.102,450137.45348,450137.45348 +30772800.0,169395.732,153833.196,449192.93231999996,125203.46454000002,125203.46454000002,125203.46454000002,62108.45899999999,306765.72168,716170.54912,300833.25110999995,458412.57312,258940.01700000002,258940.01700000002,258940.01700000002,143224.9245,169395.732,169395.732,239367.29309999995,110557.3536,164334.63423999998,286630.17600000004,81348.37376,103459.84448,216263.84100000001,216263.84100000001,216263.84100000001,216263.84100000001,509316.50087999995,509316.50087999995 +30776400.0,200979.97500000003,167482.626,489049.26792,136984.13245000003,136984.13245000003,136984.13245000003,70557.095,360364.56424,716060.4435200001,332704.68231,506978.56351999997,294852.69299999997,294852.69299999997,294852.69299999997,189061.1695,200979.97500000003,200979.97500000003,252656.67375,122426.60355,181977.32181999998,317402.3055,90081.79718000001,114567.11789000001,252430.94999999998,252430.94999999998,252430.94999999998,252430.94999999998,604279.7915,604279.7915 +30780000.0,345312.054,206715.80400000003,603610.14768,242479.30575,242479.30575,242479.30575,149520.2205,864476.1031999999,797001.6268800001,565071.94443,861062.0105600001,338504.646,338504.646,338504.646,304491.0715,345312.054,345312.054,476305.93542999995,179505.50939999998,266820.53495999996,465384.654,132080.59704,167981.69892,377532.2729999999,377532.2729999999,377532.2729999999,377532.2729999999,1038238.2423599999,1038238.2423599999 +30783600.0,1071544.488,496622.937,1450138.9760399999,1510787.6996300004,1510787.6996300004,1510787.6996300004,1256360.5145,3109227.8201599997,3293704.06464,2531941.74786,3858196.94912,952172.073,952172.073,952172.073,1300993.4175,1071544.488,1071544.488,2333350.8412499996,1332740.9438999998,1981012.46476,3455254.2989999996,980634.07724,1247182.26602,1305702.7410000002,1305702.7410000002,1305702.7410000002,1305702.7410000002,3221777.09392,3221777.09392 +30787200.0,948018.6809999999,1083055.137,3162521.00004,1738941.1996,1738941.1996,1738941.1996,1772667.624,3818052.8795199995,2878060.4294400006,2876707.03677,4383553.57984,1207557.678,1207557.678,1207557.678,1498764.7885,948018.6809999999,948018.6809999999,2094679.7235,1950180.6766499998,2898787.07986,5056023.9765,1434947.75714,1824983.89247,1399978.98,1399978.98,1399978.98,1399978.98,2850376.1675399994,2850376.1675399994 +30790800.0,1956043.623,2085551.304,6089809.807680001,1373165.97319,1373165.97319,1373165.97319,1760188.3215,4046184.96928,6923249.738880001,3356306.77956,5114372.235520001,1843130.5200000003,1843130.5200000003,1843130.5200000003,1436275.4175,1956043.623,1956043.623,2677821.6896599997,1649707.1752499999,2452157.3320999998,4277018.6025,1213858.6128999998,1543800.04795,2196567.312,2196567.312,2196567.312,2196567.312,5881171.15982,5881171.15982 +30794400.0,1340540.634,1077966.849,3147663.1990799997,645140.0508300001,645140.0508300001,645140.0508300001,703379.3935,1993643.4436799998,6675026.53184,1155166.30278,1760253.4137600001,1356143.352,1356143.352,1356143.352,1354509.4745,1340540.634,1340540.634,1881267.2865999998,2104581.366,3128291.3143999996,5456322.06,1548556.1656,1969472.4388,929123.3699999999,929123.3699999999,929123.3699999999,929123.3699999999,4030558.83956,4030558.83956 +30798000.0,680260.263,681665.1900000001,1990462.3548,360555.5775800001,360555.5775800001,360555.5775800001,480800.145,1274805.29552,3081909.3062400003,811385.0104500001,1236396.2064000003,542027.5140000001,542027.5140000001,542027.5140000001,482764.11399999994,680260.263,680260.263,711743.6845999999,772501.8559499999,1148262.0179799998,2002782.5895,568408.77302,722909.1442099999,543307.2930000001,543307.2930000001,543307.2930000001,543307.2930000001,2045315.85742,2045315.85742 +30801600.0,700697.841,1118757.816,3266772.82272,579605.3096900001,579605.3096900001,579605.3096900001,842613.4990000001,1535675.60768,2476778.8185600005,1184421.63693,1804832.9705600003,632307.7559999999,632307.7559999999,632307.7559999999,974941.9645,700697.841,700697.841,830011.0170299999,738743.6479499999,1098083.1507799998,1915261.3094999997,543569.40022,691318.12981,692839.5,692839.5,692839.5,692839.5,2106764.8419399997,2106764.8419399997 +30805200.0,557639.757,589128.042,1720253.88264,450900.26949000004,450900.26949000004,450900.26949000004,751544.9234999999,1167883.66136,1801012.0089600002,833512.42863,1270114.17696,517989.05700000003,517989.05700000003,517989.05700000003,536154.64,557639.757,557639.757,632527.5059999999,580911.3692999999,863478.1341199998,1506066.5129999998,427436.01988,543618.29374,521527.632,521527.632,521527.632,521527.632,1676636.8693799998,1676636.8693799998 +30808800.0,461373.43200000003,414311.17500000005,1209788.631,222191.84537000002,222191.84537000002,222191.84537000002,408026.37750000006,1003586.5383999998,1557085.20512,683797.1891099999,1041976.66912,451163.01300000004,451163.01300000004,451163.01300000004,361017.923,461373.43200000003,461373.43200000003,537704.42622,479158.82505,712231.1424199999,1242263.6205,352566.24658,448398.01159,446721.83999999997,446721.83999999997,446721.83999999997,446721.83999999997,1387196.11888,1387196.11888 +30812400.0,825963.4980000001,933040.389,2724477.93588,1322282.0517499999,1322282.0517499999,1322282.0517499999,1252958.5355,1837521.5206399998,2495870.08512,1545961.0425,2355750.16,772842.3,772842.3,772842.3,1304185.2635000001,825963.4980000001,825963.4980000001,1343073.5005999997,1182643.92225,1757905.2869,3066113.8725000005,870192.3181,1106721.1025500002,822443.3400000001,822443.3400000001,822443.3400000001,822443.3400000001,2483396.91732,2483396.91732 +30816000.0,794189.8979999998,1213477.5119999999,3543354.3350399993,1357585.5695600002,1357585.5695600002,1357585.5695600002,1028011.068,2116061.40104,2786974.1248000003,1542558.20607,2350564.88544,913394.7150000001,913394.7150000001,913394.7150000001,1494398.8605,794189.8979999998,794189.8979999998,1463627.85816,1201833.4418999997,1786428.9679599996,3115864.479,884312.0140399999,1124678.70242,983455.3439999999,983455.3439999999,983455.3439999999,983455.3439999999,2387864.2933199997,2387864.2933199997 +30819600.0,714204.921,1014555.03,2962500.6876,942073.7180800001,942073.7180800001,942073.7180800001,867586.7795000001,2000312.63608,2707275.55712,1302740.92494,1985129.02848,757449.681,757449.681,757449.681,1111222.0035,714204.921,714204.921,1095098.84237,971057.30985,1443398.7667399999,2517555.9885,714506.3662599999,908717.82823,886134.72,886134.72,886134.72,886134.72,2147376.12914,2147376.12914 +30823200.0,2096041.6859999998,1701659.4989999998,4968845.737079999,3343959.34224,3343959.34224,3343959.34224,2757735.4525,3218809.3874399993,6218684.82048,3538126.64751,5391431.08192,2224536.096,2224536.096,2224536.096,2844380.126,2096041.6859999998,2096041.6859999998,3388074.41375,2659692.9231,3953420.09804,6895500.171,1957008.61996,2488947.20458,2341666.8959999997,2341666.8959999997,2341666.8959999997,2341666.8959999997,6302098.669239999,6302098.669239999 +30826800.0,1446828.585,818386.56,2389688.7552,1749448.78372,1749448.78372,1749448.78372,1515698.667,2324857.3968,3805988.1465600003,2046007.3103399999,3117725.42528,1335503.244,1335503.244,1335503.244,1559610.318,1446828.585,1446828.585,1106220.10109,1538775.1885499998,2287265.8358199997,3989417.1555,1132234.5831799998,1439989.62089,1468905.468,1468905.468,1468905.468,1468905.468,4350131.2789,4350131.2789 +30830400.0,1042132.398,776744.829,2268094.90068,1081219.89151,1081219.89151,1081219.89151,1033486.7409999999,1731092.6423199999,3167920.43904,1507716.97209,2297473.48128,933122.6190000001,933122.6190000001,933122.6190000001,1237560.415,1042132.398,1042132.398,1095955.6139999998,1198782.25695,1781893.6263799998,3107953.9995,882066.94462,1121823.39601,1051482.444,1051482.444,1051482.444,1051482.444,3133344.74332,3133344.74332 +30834000.0,915168.702,781231.737,2281196.6720399996,1050268.0177,1050268.0177,1050268.0177,1024735.7714999999,1688482.41384,3170463.30176,1478420.52498,2252831.2761600004,920019.4950000001,920019.4950000001,920019.4950000001,1199355.311,915168.702,915168.702,1097238.6766899999,1181028.40155,1755503.94502,3061925.4855,869003.61398,1105209.29429,1036825.323,1036825.323,1036825.323,1036825.323,2751607.23068,2751607.23068 +30837600.0,649984.23,551314.179,1609837.40268,683057.3470600001,683057.3470600001,683057.3470600001,565749.037,858587.1931999999,1942237.78176,832007.83533,1267821.46336,493699.70699999994,493699.70699999994,493699.70699999994,599100.0575,649984.23,649984.23,768939.03866,550297.2573,817972.71332,1426696.593,404910.08068,514969.53214,657073.326,657073.326,657073.326,657073.326,1954285.9182,1954285.9182 +30841200.0,111965.883,100390.488,293140.22495999996,116065.37437000002,116065.37437000002,116065.37437000002,61057.95849999999,179248.95375999997,700930.53056,200868.05487,306084.65504000004,167691.684,167691.684,167691.684,108034.0905,111965.883,111965.883,201220.20281999995,81320.5494,120876.47095999999,210831.054,59835.86104,76099.97092,138054.366,138054.366,138054.366,138054.366,336644.08822000003,336644.08822000003 +30844800.0,109079.32499999998,100364.34599999999,293063.89032,97861.83946,97861.83946,97861.83946,40624.111500000006,191977.46735999998,709191.81248,206943.7167,315342.8064,167517.648,167517.648,167517.648,103469.1385,109079.32499999998,109079.32499999998,211553.88656999994,75336.47595,111981.62597999998,195316.78949999998,55432.76501999999,70500.06021,139443.48599999998,139443.48599999998,139443.48599999998,139443.48599999998,327965.17049999995,327965.17049999995 +30848400.0,116117.364,109848.087,320756.41404,110391.61529,110391.61529,110391.61529,37702.574,206540.40087999997,719957.02848,234138.46659,356782.42528,169352.31,169352.31,169352.31,105053.116,116117.364,116117.364,218827.51565999998,76012.68825,112986.76130000001,197069.93250000002,55930.32370000001,71132.86135,145676.33099999998,145676.33099999998,145676.33099999998,145676.33099999998,349126.20775999996,349126.20775999996 +30852000.0,127606.851,124116.88500000001,362421.3042,105988.70964000002,105988.70964000002,105988.70964000002,43283.8525,218572.18495999998,720090.81984,249199.07796000002,379731.92832,168260.049,168260.049,168260.049,103090.5925,127606.851,127606.851,241933.48101,88913.81744999999,132163.25457999998,230517.3045,65423.00642,83205.76991,149853.438,149853.438,149853.438,149853.438,383671.26534,383671.26534 +30855600.0,134005.158,126109.374,368239.37208,106540.86212000002,106540.86212000002,106540.86212000002,50537.1475,249012.58343999996,707476.7980800001,278423.88168000005,424264.9625600001,168184.34399999998,168184.34399999998,168184.34399999998,103601.176,134005.158,134005.158,238297.71745,94863.71294999999,141007.29677999998,245942.9595,69800.95422,88773.69681,174363.603,174363.603,174363.603,174363.603,402908.84171999997,402908.84171999997 +30859200.0,165926.949,137943.099,402793.84907999996,116763.98987,116763.98987,116763.98987,65367.17600000001,310812.17007999995,711662.57344,304799.46357,464456.32544000004,239780.076,239780.076,239780.076,160120.485,165926.949,165926.949,246070.58605999997,111983.7798,166454.90232,290328.318,82397.94168,104794.69764000001,224193.63900000002,224193.63900000002,224193.63900000002,224193.63900000002,498887.02666,498887.02666 +30862800.0,200756.29499999998,148147.533,432590.79636,128488.30049000001,128488.30049000001,128488.30049000001,73078.362,376049.88736000005,709057.0636800001,335322.00618,510966.86656000005,296149.101,296149.101,296149.101,193422.0225,200756.29499999998,200756.29499999998,263745.00321,124898.32259999998,185651.33383999998,323810.46599999996,91900.49415999999,116880.15868,249333.45599999995,249333.45599999995,249333.45599999995,249333.45599999995,603607.2603,603607.2603 +30866400.0,346339.86899999995,189574.35299999997,553557.11076,236813.38142000002,236813.38142000002,236813.38142000002,152080.3585,869700.5496799999,784497.6563200001,575577.65328,877070.70976,346177.80299999996,346177.80299999996,346177.80299999996,317467.85,346339.86899999995,346339.86899999995,487610.99867999996,186085.89675,276601.7527,482444.91750000004,136922.4623,174139.64165,388712.57700000005,388712.57700000005,388712.57700000005,388712.57700000005,1041328.5394599999,1041328.5394599999 +30870000.0,1087214.6609999998,499968.30000000005,1459907.436,1516999.7772600004,1516999.7772600004,1516999.7772600004,1274563.0590000001,3153227.1101599997,3265139.93024,2568326.35521,3913640.1603200007,973304.676,973304.676,973304.676,1354241.1505,1087214.6609999998,1087214.6609999998,2354396.66436,1313631.0675,1952607.1669999997,3405710.175,966572.9829999999,1229299.1964999998,1342573.833,1342573.833,1342573.833,1342573.833,3268892.0807399997,3268892.0807399997 +30873600.0,970408.6710000001,1095898.818,3200024.5485599996,1698694.8336600002,1698694.8336600002,1698694.8336600002,1769807.4555000002,3864398.9560000002,2934834.0755200004,2915303.9048699997,4442367.85504,1227324.459,1227324.459,1227324.459,1516272.387,970408.6710000001,970408.6710000001,2110467.1006899998,1968919.2288,2926640.4339199997,5104605.408,1448735.63008,1842519.47584,1433949.471,1433949.471,1433949.471,1433949.471,2917695.40414,2917695.40414 +30877200.0,1973703.5610000002,2104742.1960000005,6145847.212320001,1384296.93886,1384296.93886,1384296.93886,1728322.8795,4099094.06696,6979058.492160001,3372079.4633400002,5138406.80128,1874155.3919999998,1874155.3919999998,1874155.3919999998,1453254.642,1973703.5610000002,1973703.5610000002,2045984.9189,1652216.1948,2455886.78832,4283523.467999999,1215704.75568,1546147.99464,2218958.214,2218958.214,2218958.214,2218958.214,5934268.70674,5934268.70674 +30880800.0,1363672.761,1035231.192,3022875.08064,668284.41108,668284.41108,668284.41108,756983.297,1990910.51056,6760260.1363200005,1200194.37384,1828867.6172800001,1391321.949,1391321.949,1391321.949,1409785.2405,1363672.761,1363672.761,1823298.3883399998,2140811.7993,3182144.94612,5550252.813000001,1575214.6078800003,2003376.9677400002,958376.8289999999,958376.8289999999,958376.8289999999,958376.8289999999,4100109.43474,4100109.43474 +30884400.0,679886.8080000001,639203.331,1866473.72652,347270.06787,347270.06787,347270.06787,475896.4945,1241344.4665599999,3007298.7814400005,805577.51505,1227546.6896000002,531851.0549999999,531851.0549999999,531851.0549999999,477227.21200000006,679886.8080000001,679886.8080000001,702324.72817,801648.0130500001,1191585.44162,2078346.7005000003,589854.58738,750184.1899900001,538617.948,538617.948,538617.948,538617.948,2044193.00272,2044193.00272 +30888000.0,686435.229,1100764.095,3214231.1574,573662.66199,573662.66199,573662.66199,833646.037,1505464.6160799998,2425728.55296,1171554.2512800002,1785225.5257600003,617557.236,617557.236,617557.236,964577.271,686435.229,686435.229,812442.41507,725671.51965,1078652.4810600001,1881370.6065000002,533950.8959400001,679085.1998700001,684429.474,684429.474,684429.474,684429.474,2063881.9218600001,2063881.9218600001 +30891600.0,535778.382,558792.9299999999,1631675.3556,434356.66373000003,434356.66373000003,434356.66373000003,736112.601,1101640.6114400001,1684984.6208000001,792203.9309099999,1207167.89472,483482.93100000004,483482.93100000004,483482.93100000004,533814.813,535778.382,535778.382,595473.0937999999,547601.51655,813965.7110199999,1419707.6354999999,402926.54798,512446.85128999996,494905.005,494905.005,494905.005,494905.005,1610907.0018799999,1610907.0018799999 +30895200.0,475698.195,427244.187,1247553.02604,244039.53211000003,244039.53211000003,244039.53211000003,427381.29349999997,1021380.19496,1616092.2758400002,712373.4639000001,1085521.4688000001,462681.94200000004,462681.94200000004,462681.94200000004,379562.757,475698.195,475698.195,565681.29579,502472.484,746885.0255999999,1302706.44,369720.49439999997,470214.9912,464620.422,464620.422,464620.422,464620.422,1430265.9063,1430265.9063 +30898800.0,821928.522,939013.629,2741919.79668,1336284.8216300001,1336284.8216300001,1336284.8216300001,1246134.1795,1835492.4593599997,2459264.14016,1537559.01117,2342947.0646400005,761410.908,761410.908,761410.908,1298286.339,821928.522,821928.522,1338868.2811399999,1175437.4292,1747193.4132799997,3047430.372,864889.7627199999,1099977.24856,833753.6429999999,833753.6429999999,833753.6429999999,833753.6429999999,2471265.08948,2471265.08948 +30902400.0,779730.894,1193445.981,3484862.2645199997,1365277.16545,1365277.16545,1365277.16545,1008018.6235,2056018.9010400001,2700575.85984,1512264.94356,2304403.72352,890608.0860000001,890608.0860000001,890608.0860000001,1473045.294,779730.894,779730.894,1437173.2718200001,1180630.4039999999,1754912.3535999998,3060893.64,868710.7664,1104836.8472,965607.147,965607.147,965607.147,965607.147,2344390.8879599995,2344390.8879599995 +30906000.0,703420.845,1009862.2079999999,2948797.64736,926614.5719600001,926614.5719600001,926614.5719600001,850967.551,1972762.26088,2639281.4867200004,1274259.69489,1941729.05888,735955.206,735955.206,735955.206,1095471.9265,703420.845,703420.845,1070832.3298399998,951864.45705,1414870.1312199999,2467796.7405,700384.21778,890757.10919,874842.048,874842.048,874842.048,874842.048,2114952.0072999997,2114952.0072999997 +30909600.0,2069900.3339999998,1672807.608,4884598.21536,3316543.6594400005,3316543.6594400005,3316543.6594400005,2724303.5715,3155116.6772,6065849.500160001,3490764.90882,5319260.81344,2188026.426,2188026.426,2188026.426,2792254.2375000003,2069900.3339999998,2069900.3339999998,3456078.0927399998,2613530.6343,3884803.5601199996,6775820.163,1923042.29388,2445748.42074,2305065.384,2305065.384,2305065.384,2305065.384,6223500.337559999,6223500.337559999 +30913200.0,1413991.5359999998,775820.7660000001,2265396.6367200003,1720825.97555,1720825.97555,1720825.97555,1479705.5070000002,2207911.0464,3613590.90496,1971114.08865,3003602.4208000004,1302238.419,1302238.419,1302238.419,1507342.515,1413991.5359999998,1413991.5359999998,1056264.8889,1490965.7121000001,2216200.88564,3865466.6610000003,1097056.25236,1395249.3947800002,1435071.318,1435071.318,1435071.318,1435071.318,4251401.218239999,4251401.218239999 +30916800.0,1000527.1680000001,738389.3489999999,2156096.89908,1035206.7385000001,1035206.7385000001,1035206.7385000001,988585.0065,1636078.02648,2964823.7945600008,1431081.183,2180695.136,879880.8119999999,879880.8119999999,879880.8119999999,1166660.1870000002,1000527.1680000001,1000527.1680000001,1051482.3251399999,1132837.65,1683872.2599999998,2936986.5,833544.74,1060112.27,998691.69,998691.69,998691.69,998691.69,3008251.68512,3008251.68512 +30920400.0,874898.2679999999,743794.527,2171880.01884,1007997.5430800001,1007997.5430800001,1007997.5430800001,968844.9820000001,1602196.26784,2984137.1328000003,1409078.4464399999,2147167.15648,871613.9130000001,871613.9130000001,871613.9130000001,1134685.391,874898.2679999999,874898.2679999999,1055964.33605,1121035.74345,1666329.67298,2906388.9645000002,824860.86802,1049068.01671,986842.2270000002,986842.2270000002,986842.2270000002,986842.2270000002,2630527.45912,2630527.45912 +30924000.0,627202.287,524256.00599999994,1530827.5375199998,661524.70274,661524.70274,661524.70274,545609.5574999999,817025.12792,1839190.3750399998,797463.93615,1215183.1408,468895.9770000001,468895.9770000001,468895.9770000001,573976.1124999999,627202.287,627202.287,730507.33587,525778.95015,781528.2172600001,1363130.6115,386869.44974000007,492025.23977000004,631630.446,631630.446,631630.446,631630.446,1885788.20958,1885788.20958 +30927600.0,104124.04800000001,92116.869,268981.25748,109141.66131,109141.66131,109141.66131,58737.594999999994,152732.66736,631747.2761600001,181653.17016,276804.83072,151934.535,151934.535,151934.535,99609.8355,104124.04800000001,104124.04800000001,176659.88587,74563.78859999999,110833.08823999998,193313.52599999998,54864.21975999999,69776.97747999999,128331.318,128331.318,128331.318,128331.318,313066.30432,313066.30432 +30931200.0,99848.313,90885.342,265385.19864,85553.58966,85553.58966,85553.58966,37868.9325,169542.64015999998,627263.2038400001,177167.25936,269969.15712,149524.002,149524.002,149524.002,92881.684,99848.313,99848.313,190159.78579000002,67330.45215,100081.31405999999,174560.4315,49541.91294,63008.00337,124696.72200000001,124696.72200000001,124696.72200000001,124696.72200000001,300210.59442,300210.59442 +30934800.0,103498.59,95003.526,277410.29592,81803.03989,81803.03989,81803.03989,33481.1155,184704.58831999998,639509.5904000001,202410.9549,308435.7408,151681.42200000002,151681.42200000002,151681.42200000002,94968.83549999999,103498.59,103498.59,193529.87381000002,67098.16034999999,99736.03094,173958.1935,49370.99206,62790.624130000004,129256.734,129256.734,129256.734,129256.734,311185.7606,311185.7606 +30938400.0,115480.824,111577.299,325805.71307999996,94803.64146000001,94803.64146000001,94803.64146000001,37544.05900000001,188189.70176000003,648178.8288,220094.76825000002,335382.504,152645.06699999998,152645.06699999998,152645.06699999998,94278.1315,115480.824,115480.824,214422.46474999998,76126.05990000001,113155.27915999999,197363.859,56013.74284,71238.95482,135008.439,135008.439,135008.439,135008.439,347212.34416,347212.34416 +30942000.0,120219.369,115182.159,336331.90428,96498.55633,96498.55633,96498.55633,40481.448000000004,193530.39927999998,654307.35872,242205.17034,369074.54528,153955.91100000002,153955.91100000002,153955.91100000002,96112.352,120219.369,120219.369,221999.34509999998,83893.75335,124701.33214,217502.32350000003,61729.23086,78507.98153,142421.29200000002,142421.29200000002,142421.29200000002,142421.29200000002,361459.56945999997,361459.56945999997 +30945600.0,135568.251,127902.12900000002,373474.21668,105979.15328,105979.15328,105979.15328,59170.1845,213576.97599999997,667849.8579200001,270891.77682,412787.46944,175342.038,175342.038,175342.038,109296.04,135568.251,135568.251,226287.46491,95394.32370000001,141796.00708,247318.61700000003,70191.37892,89270.24366000001,186638.262,186638.262,186638.262,186638.262,407608.54134,407608.54134 +30949200.0,170379.04499999998,134134.365,391672.34579999995,118788.11483,118788.11483,118788.11483,69726.09349999999,285304.44,670485.8752,297987.22190999996,454075.76672,240272.37899999996,240272.37899999996,240272.37899999996,176067.1955,170379.04499999998,170379.04499999998,238252.28699999995,113170.11389999998,168218.29275999998,293403.99899999995,83270.84924,105904.87202,220168.82099999997,220168.82099999997,220168.82099999997,220168.82099999997,512272.99529999995,512272.99529999995 +30952800.0,306735.894,178631.51400000002,521604.02088,228667.72819000002,228667.72819000002,228667.72819000002,149817.381,806974.7916000001,742157.47264,522715.27392,796518.51264,298595.589,298595.589,298595.589,299700.723,306735.894,306735.894,466172.22261999996,172552.71645,256485.76618,447358.89450000005,126964.71482000001,161475.25811000002,339930.537,339930.537,339930.537,339930.537,922252.5879599999,922252.5879599999 +30956400.0,1042164.936,455836.26900000003,1331041.90548,1465038.96638,1465038.96638,1465038.96638,1206117.661,3069261.89696,2973194.8447999996,2458284.15609,3745956.80928,906018.036,906018.036,906018.036,1246318.08,1042164.936,1042164.936,2288291.32883,1231877.2086,1831086.61624,3193755.726,906418.29176,1152793.73348,1284747.9899999998,1284747.9899999998,1284747.9899999998,1284747.9899999998,3133442.5742399995,3133442.5742399995 +30960000.0,917780.5800000001,1080938.871,3156341.5033199997,1618750.07844,1618750.07844,1618750.07844,1695679.104,3733303.4711199994,2786192.85376,2804185.1615400002,4273044.05568,1177517.511,1177517.511,1177517.511,1431144.9179999998,917780.5800000001,917780.5800000001,2022898.2656999996,1895662.41975,2817750.0659,4914680.3475,1394833.0891,1773965.57305,1373851.719,1373851.719,1373851.719,1373851.719,2759460.2772000004,2759460.2772000004 +30963600.0,1932594.4439999997,1983588.8430000003,5792079.421560001,1282105.36828,1282105.36828,1282105.36828,1597198.6835,3950458.72608,6682467.4182400005,3243720.66774,4942812.44608,1825949.847,1825949.847,1825949.847,1362414.368,1932594.4439999997,1932594.4439999997,1895869.4076399999,1540598.6767499999,2289976.3046999997,3994144.7175,1133576.3103,1441696.04565,2175956.886,2175956.886,2175956.886,2175956.886,5810667.294959999,5810667.294959999 +30967200.0,1197187.209,871702.8600000001,2545372.3512000004,503706.80195,503706.80195,503706.80195,538895.35,1584203.7884799999,6005168.062720001,864749.7967500001,1317713.976,1185350.0610000002,1185350.0610000002,1185350.0610000002,1211030.3415,1197187.209,1197187.209,1507021.95618,1909597.4167499999,2838463.3206999996,4950808.1175,1405086.4943,1787005.97765,750806.076,750806.076,750806.076,750806.076,3599542.8750599995,3599542.8750599995 +30970800.0,549977.292,491599.842,1435471.53864,207332.85331,207332.85331,207332.85331,335070.148,957329.80808,2221884.8332800004,579517.77408,883074.7033600002,390096.174,390096.174,390096.174,325547.075,549977.292,549977.292,476930.49469,535656.69765,796210.69626,1388739.5865,394137.52074,501268.86027,392871.117,392871.117,392871.117,392871.117,1653598.3912799999,1653598.3912799999 +30974400.0,631792.461,1056332.6400000001,3084491.3087999998,479004.55966,479004.55966,479004.55966,780677.6109999999,1411360.2343199998,2195026.8569600005,1062002.04117,1618288.82464,557199.552,557199.552,557199.552,903671.2055,631792.461,631792.461,674198.47924,653320.95075,971109.1662999999,1693795.0575,480715.1687,611379.35885,621162.3570000001,621162.3570000001,621162.3570000001,621162.3570000001,1899589.3327399998,1899589.3327399998 +30978000.0,527203.722,527839.4010000001,1541291.05092,418573.24036000005,418573.24036000005,418573.24036000005,708009.05,1101632.27776,1683295.7945599998,779263.5446400001,1187449.2108800001,488267.64599999995,488267.64599999995,488267.64599999995,494118.33450000006,527203.722,527203.722,568645.06387,542779.33545,806797.9257799999,1407205.6845,399378.37522000005,507934.24231000006,492878.655,492878.655,492878.655,492878.655,1585125.8574799998,1585125.8574799998 +30981600.0,492731.709,446498.373,1303775.24916,260172.5929,260172.5929,260172.5929,452838.07800000004,1069754.90056,1713368.51712,744567.8772,1134579.6224,491592.83700000006,491592.83700000006,491592.83700000006,404760.76550000004,492731.709,492731.709,581267.3359999999,529906.04595,787662.81398,1373830.4895000001,389906.17702,495887.38621,489209.99100000004,489209.99100000004,489209.99100000004,489209.99100000004,1481480.0050599999,1481480.0050599999 +30985200.0,831888.2249999999,917210.9759999999,2678256.0499199997,1323266.73127,1323266.73127,1323266.73127,1255267.335,1849933.4536799998,2537922.75392,1561201.2381,2378973.3152,772860.516,772860.516,772860.516,1319501.358,831888.2249999999,831888.2249999999,1353253.90889,1200246.1820999999,1784069.63364,3111749.361,883144.10436,1123193.34078,825801.3119999999,825801.3119999999,825801.3119999999,825801.3119999999,2501210.5964999995,2501210.5964999995 +30988800.0,793861.926,1215591.6179999998,3549527.5245599994,1292512.10187,1292512.10187,1292512.10187,1027483.0895,2098195.66136,2787762.0435200003,1524497.8265999998,2323044.3071999997,915015.315,915015.315,915015.315,1500776.1125000003,793861.926,793861.926,1455874.72979,1199933.2062,1783604.4200799998,3110937.942,882913.81592,1122900.45716,977739.3389999999,977739.3389999999,977739.3389999999,977739.3389999999,2386878.19084,2386878.19084 +30992400.0,730457.286,1018506.429,2974038.77268,942659.0003600001,942659.0003600001,942659.0003600001,891352.399,2023598.3512799998,2781440.65472,1326332.72667,2021078.4406400002,779805.5939999999,779805.5939999999,779805.5939999999,1140788.8694999998,730457.286,730457.286,1109135.30741,995955.0858,1480407.31272,2582105.778,732826.21128,932017.2284400001,906833.5529999998,906833.5529999998,906833.5529999998,906833.5529999998,2196241.57324,2196241.57324 +30996000.0,2103448.848,1714860.882,5007393.77544,3322873.1484300005,3322873.1484300005,3322873.1484300005,2768428.5405,3237047.9644,6255079.81312,3551608.46712,5411974.80704,2230254.582,2230254.582,2230254.582,2853838.5785,2103448.848,2103448.848,3407176.5880099996,2670882.32385,3970052.2443399997,6924509.728499999,1965241.8086599999,2499418.27343,2352487.647,2352487.647,2352487.647,2352487.647,6324369.53632,6324369.53632 +30999600.0,1451056.023,822559.5599999998,2401873.9151999997,1748067.22222,1748067.22222,1748067.22222,1524189.8665,2313995.3355199997,3815273.5737600005,2052730.60272,3127970.4422400002,1371722.256,1371722.256,1371722.256,1593687.9175,1451056.023,1451056.023,1113733.82133,1557372.0231,2314908.53804,4037631.171,1145918.17996,1457392.58458,1494657.318,1494657.318,1494657.318,1494657.318,4362841.77582,4362841.77582 +31003200.0,1053996.096,784423.3049999999,2290516.0505999997,1091233.3817,1091233.3817,1091233.3817,1043500.3285000001,1742370.24296,3184049.5168,1517935.21383,2313044.1353599997,944769.3329999999,944769.3329999999,944769.3329999999,1252509.1075,1053996.096,1053996.096,1109412.2720199998,1207951.0681500002,1795522.3284600002,3131724.9915000005,888813.3785400002,1130403.59217,1064733.639,1064733.639,1064733.639,1064733.639,3169014.92864,3169014.92864 +31006800.0,923694.024,788997.7920000001,2303873.5526400004,1061976.6059100002,1061976.6059100002,1061976.6059100002,1031791.187,1700709.6043200002,3190517.1763199996,1488842.27877,2268712.04384,932059.398,932059.398,932059.398,1216962.2010000001,923694.024,923694.024,1110734.39191,1191734.5806,1771417.8210399998,3089682.246,876881.24696,1115228.16308,1047907.041,1047907.041,1047907.041,1047907.041,2777240.0321599995,2777240.0321599995 +31010400.0,661261.5360000001,562414.335,1642249.8581999997,698320.58373,698320.58373,698320.58373,577730.272,874400.1319999999,1980300.7654400005,847235.5985099999,1291025.67392,503792.36699999997,503792.36699999997,503792.36699999997,616766.556,661261.5360000001,661261.5360000001,786428.0351199999,562856.09265,836640.4142599999,1459256.5365,414150.90274,526722.12127,672235.728,672235.728,672235.728,672235.728,1988193.0182400001,1988193.0182400001 +31014000.0,113409.216,101933.49600000001,297645.80832,117467.96556000001,117467.96556000001,117467.96556000001,61521.8835,181589.52064,717613.96608,203449.97484,310019.00928,170846.358,170846.358,170846.358,110242.91249999999,113409.216,113409.216,204202.17674999998,82769.20605,123029.78282,214586.8305,60901.78618,77455.62739000001,140128.45500000002,140128.45500000002,140128.45500000002,140128.45500000002,340983.70944,340983.70944 +31017600.0,107842.86599999998,99017.856,289132.13951999997,92658.11247000001,92658.11247000001,92658.11247000001,40253.129,189422.2104,700154.8409600001,199054.17252000002,303320.64384000003,165146.457,165146.457,165146.457,102518.6225,107842.86599999998,107842.86599999998,208216.91058999998,74323.36845,110475.72297999999,192690.2145,54687.31802,69551.99171,136569.507,136569.507,136569.507,136569.507,324247.55043999996,324247.55043999996 +31021200.0,113551.977,106585.60500000001,311229.96660000004,90224.10595,90224.10595,90224.10595,36874.4565,200418.56248000002,699150.13824,225733.43099999998,343974.752,164432.949,164432.949,164432.949,102565.407,113551.977,113551.977,212112.74603999997,73653.8589,109480.55076000001,190954.44900000002,54194.69124000001,68925.46302000001,140448.02999999997,140448.02999999997,140448.02999999997,140448.02999999997,341412.94418,341412.94418 +31024800.0,126063.12300000002,122550.966,357848.82072,103418.06508000001,103418.06508000001,103418.06508000001,42858.158,205844.04511999997,713211.0368,244804.39137000003,373035.26304000005,166378.755,166378.755,166378.755,102356.023,126063.12300000002,126063.12300000002,238130.97398999997,88055.70749999999,130887.74299999997,228292.57499999998,64791.606999999996,82402.74849999999,147467.472,147467.472,147467.472,147467.472,379029.78982,379029.78982 +31028400.0,135121.116,127624.101,372662.37492,106550.14579000001,106550.14579000001,106550.14579000001,50826.9055,223998.23408,720683.6601600001,275528.52852,419852.99584,168739.137,168739.137,168739.137,105534.7755,135121.116,135121.116,241050.63917999997,95506.82055,141963.22462,247610.27550000002,70274.15438,89375.51849,174559.77000000002,174559.77000000002,174559.77000000002,174559.77000000002,406264.15544,406264.15544 +31032000.0,165038.991,141087.70200000002,411976.08984000003,118521.96125000001,118521.96125000001,118521.96125000001,67005.8585,287605.07296,733874.3110400001,307032.93768000003,467859.71456000005,243101.40300000002,243101.40300000002,243101.40300000002,165535.811,165038.991,165038.991,251509.82544999997,114875.47979999999,170753.18232,297825.31799999997,84525.66167999999,107500.75764,228411.342,228411.342,228411.342,228411.342,496217.23294,496217.23294 +31035600.0,209099.97000000003,155722.134,454708.63128,132889.57,132889.57,132889.57,76130.859,394796.85968,749077.4355200002,347250.2901,529143.2992,291550.491,291550.491,291550.491,205072.028,209099.97000000003,209099.97000000003,277584.05142,131906.20365,196067.98666,341979.0465,97056.91034,123438.15107,263943.294,263943.294,263943.294,263943.294,628693.9098,628693.9098 +31039200.0,371016.441,204576.47100000002,597363.29532,244883.94315000004,244883.94315000004,244883.94315000004,156810.40550000002,915193.33792,844503.1084800002,613117.56765,934274.3888000001,375674.736,375674.736,375674.736,335493.80549999996,371016.441,371016.441,508999.6834,199290.27375,296228.9995,516678.4875,146638.2755,186496.33025,419941.69200000004,419941.69200000004,419941.69200000004,419941.69200000004,1115522.7659399998,1115522.7659399998 +31042800.0,1109353.7640000002,498863.8679999999,1456682.4945599998,1526667.9564400003,1526667.9564400003,1526667.9564400003,1298025.267,3181811.3464,3391412.8294400005,2616050.20866,3986362.2227200004,1005212.412,1005212.412,1005212.412,1427745.165,1109353.7640000002,1109353.7640000002,2386762.62045,1354457.21805,2013291.9636199998,3511555.7505,996612.96538,1267504.40899,1373574.5610000002,1373574.5610000002,1373574.5610000002,1373574.5610000002,3335456.98376,3335456.98376 +31046400.0,995875.098,1106278.8329999999,3230334.1923599998,1718835.74148,1718835.74148,1718835.74148,1794402.0569999998,3915891.8069599997,3001252.19968,2963391.67467,4515644.45664,1262621.307,1262621.307,1262621.307,1571321.115,995875.098,995875.098,2125743.80018,1998979.5357,2971322.66788,5182539.5370000005,1470854.07812,1870649.98526,1462498.635,1462498.635,1462498.635,1462498.635,2994264.46132,2994264.46132 +31050000.0,1989780.3269999998,2141574.861,6253398.59412,1424194.72965,1424194.72965,1424194.72965,1778844.704,4139263.3973599994,7064669.567360001,3411014.05953,5197735.70976,1895528.349,1895528.349,1895528.349,1483018.2534999999,1989780.3269999998,1989780.3269999998,2001225.05986,1686606.6726,2507005.4738399996,4372683.966,1241009.35416,1578330.6886800001,2236663.359,2236663.359,2236663.359,2236663.359,5982606.183179999,5982606.183179999 +31053600.0,1402263.129,1050631.002,3067842.5258400002,692269.5885600002,692269.5885600002,692269.5885600002,807417.9225000001,2057693.56192,6884961.604480001,1270841.75022,1936520.76224,1433831.1030000001,1433831.1030000001,1433831.1030000001,1453418.4490000003,1402263.129,1402263.129,1861052.0590999997,2178444.0429,3238082.2563599995,5647817.8889999995,1602904.5056399999,2038593.3142199998,1001206.677,1001206.677,1001206.677,1001206.677,4216137.80786,4216137.80786 +31057200.0,740082.405,685886.199,2002787.70108,395642.34347,395642.34347,395642.34347,542208.94,1384237.60408,3354241.18976,918429.3010199999,1399511.3158399998,612181.17,612181.17,612181.17,559498.506,740082.405,740082.405,777134.5523499999,921156.8507999999,1369225.7387199998,2388184.428,677789.48528,862020.85544,608822.451,608822.451,608822.451,608822.451,2225181.0977,2225181.0977 +31060800.0,758688.9629999999,1163156.91,3396418.1772,641360.30695,641360.30695,641360.30695,915416.0155,1669875.4847199998,2748472.144,1307712.25074,1992704.3820800004,712821.144,712821.144,712821.144,1054078.1055,758688.9629999999,758688.9629999999,903127.6923499999,827307.7641,1229726.60244,2144871.981,608735.09556,774196.6483800001,772082.223,772082.223,772082.223,772082.223,2281124.8154199994,2281124.8154199994 +31064400.0,622662.996,653761.656,1908984.03552,502922.5455100001,502922.5455100001,502922.5455100001,849335.9525,1292872.03048,2058139.3427200003,945899.20635,1441370.2192000002,593273.103,593273.103,593273.103,674520.3815,622662.996,622662.996,701886.9219699998,669692.95425,995444.8356999999,1736240.9925,492761.7293,626700.32015,593535.06,593535.06,593535.06,593535.06,1872140.0746399998,1872140.0746399998 +31068000.0,554450.9010000001,497472.081,1452618.47652,306526.4334,306526.4334,306526.4334,515986.3485,1190836.51408,1950086.14592,850257.2609999999,1295630.112,558535.476,558535.476,558535.476,472401.2685,554450.9010000001,554450.9010000001,661255.9332599998,611446.8302999999,908866.6465199998,1585232.5229999998,449904.08747999993,572193.4535399999,553280.439,553280.439,553280.439,553280.439,1667049.04234,1667049.04234 +31071600.0,917298.096,1077474.78,3146226.3576,1439009.4156900002,1439009.4156900002,1439009.4156900002,1364052.326,2082168.9435200002,2826391.984,1684072.0476300002,2566205.02496,869661.168,869661.168,869661.168,1398764.563,917298.096,917298.096,1443348.88373,1292537.4444,1921253.18896,3351023.004,951052.24304,1209559.73192,967480.341,967480.341,967480.341,967480.341,2758009.6086399998,2758009.6086399998 +31075200.0,892785.2909999999,1287203.298,3758633.6301599997,1551321.4645500001,1551321.4645500001,1551321.4645500001,1114420.02,2302264.08368,3096875.3446400003,1710239.31645,2606078.9584000004,1008976.578,1008976.578,1008976.578,1617851.4065,892785.2909999999,892785.2909999999,1531141.2586599998,1314396.70785,1953745.2299399998,3407695.1685,967136.34306,1230015.68463,1091061.7200000002,1091061.7200000002,1091061.7200000002,1091061.7200000002,2684307.7749399994,2684307.7749399994 +31078800.0,818593.8209999999,1168915.3290000001,3413232.7606800003,1021750.30914,1021750.30914,1021750.30914,965185.0250000001,2242200.6764799994,3042461.1897599995,1469567.2315800001,2239340.5433600005,850651.2179999999,850651.2179999999,850651.2179999999,1241078.1879999998,818593.8209999999,818593.8209999999,1188308.8694099998,1093055.96205,1624739.97322,2833848.7905,804273.2757800001,1022884.4681900002,1021428.618,1021428.618,1021428.618,1021428.618,2461238.7551399996,2461238.7551399996 +31082400.0,2166290.976,1772095.0620000002,5174517.581040001,3450346.50081,3450346.50081,3450346.50081,2826276.124,3387411.28536,6529243.83424,3633798.5968199996,5537216.90944,2293618.995,2293618.995,2293618.995,2941117.991,2166290.976,2166290.976,3683215.5712299994,2777570.12115,4128635.0936600002,7201107.721500001,2043742.9533400002,2599256.97757,2419687.98,2419687.98,2419687.98,2419687.98,6513314.8678399995,6513314.8678399995 +31086000.0,1577937.429,886966.626,2589942.5479200003,1994542.47432,1994542.47432,1994542.47432,1664259.023,2507708.74872,4392396.134400001,2284181.89881,3480658.1315200003,1578933.759,1578933.759,1578933.759,1948988.321,1577937.429,1577937.429,1335764.1668800001,1784793.2364,2652951.92176,4627241.724,1313255.27024,1670213.9175200001,1685857.434,1685857.434,1685857.434,1685857.434,4744331.86986,4744331.86986 +31089600.0,1142806.074,844783.602,2466768.11784,1175519.26811,1175519.26811,1175519.26811,1179881.71,1888359.9645599998,3494787.5718400003,1647163.81032,2509963.9014399997,1027015.839,1027015.839,1027015.839,1374693.0855,1142806.074,1142806.074,1197545.56051,1323832.4059499998,1967770.6379799997,3432158.0895,974079.1530199999,1238845.6342099998,1169138.268,1169138.268,1169138.268,1169138.268,3436036.92916,3436036.92916 +31093200.0,997341.015,849348.8670000001,2480098.6916400003,1137688.57334,1137688.57334,1137688.57334,1115993.242,1832322.9512,3454512.10752,1597388.1438900002,2434115.2668800005,1009667.4209999999,1009667.4209999999,1009667.4209999999,1326331.3595000003,997341.015,997341.015,1198201.47135,1285242.2441999998,1910409.4592799996,3332109.522,945684.4167199999,1202732.8655599998,1130877.9,1130877.9,1130877.9,1130877.9,2998671.9850999997,2998671.9850999997 +31096800.0,710097.6810000001,612979.2930000001,1789899.53556,750267.2920600001,750267.2920600001,750267.2920600001,621069.6205,954742.22672,2162295.5520000006,923754.20214,1407625.45088,547251.702,547251.702,547251.702,671942.2885,710097.6810000001,710097.6810000001,866680.97074,611923.08195,909574.55638,1586467.2495000002,450254.51462000003,572639.13101,727372.311,727372.311,727372.311,727372.311,2135027.02754,2135027.02754 +31100400.0,120522.771,108448.05600000001,316668.32352000003,124361.30828000001,124361.30828000001,124361.30828000001,63692.090000000004,201906.30831999998,772967.03232,216262.25985,329542.4912,183063.753,183063.753,183063.753,117286.18999999999,120522.771,120522.771,226321.19262999998,88546.9725,131617.96899999998,229566.225,65153.081,82862.4755,150448.443,150448.443,150448.443,150448.443,362371.79813999997,362371.79813999997 +31104000.0,116997.342,106535.514,311083.70087999996,120519.51318000002,120519.51318000002,120519.51318000002,42719.1625,208021.05695999996,764343.2288,233693.52216,356104.41472,178981.72499999998,178981.72499999998,178981.72499999998,111267.9925,116997.342,116997.342,224903.25754,81576.99135,121257.65134,211495.90350000001,60024.551660000005,76339.94993,150551.84100000001,150551.84100000001,150551.84100000001,150551.84100000001,351772.00828,351772.00828 +31107600.0,127144.203,119736.86099999999,349631.63411999994,115847.72298000002,115847.72298000002,115847.72298000002,43590.994999999995,218302.91423999998,765184.9491200001,248061.72888,377998.82496,178347.027,178347.027,178347.027,110962.84850000001,127144.203,127144.203,235621.75090999994,83855.33099999999,124644.22039999999,217402.71,61700.9596,78472.0258,155651.52000000002,155651.52000000002,155651.52000000002,155651.52000000002,382280.23701999994,382280.23701999994 +31111200.0,136421.277,131037.714,382630.12488,111320.88176,111320.88176,111320.88176,45718.19,234041.17695999995,762886.4838400001,274058.38761,417612.78112,176825.106,176825.106,176825.106,109062.345,136421.277,136421.277,254815.51238,96082.07445,142818.29338,249101.67450000002,70697.42762,89913.84251,161319.288,161319.288,161319.288,161319.288,410173.30618,410173.30618 +31114800.0,153869.541,141574.30800000002,413396.97936,117987.80631000001,117987.80631000001,117987.80631000001,62832.5705,274726.2144,766446.53952,304879.24068,464577.89056,204254.001,204254.001,204254.001,127628.19299999998,153869.541,153869.541,256583.20180999997,110541.70844999999,164311.37897999998,286589.6145,81336.86202,103445.20371,216792.816,216792.816,216792.816,216792.816,462634.41994,462634.41994 +31118400.0,202523.316,153007.215,446781.06779999996,127647.66234,127647.66234,127647.66234,71539.73400000001,367094.9189599999,779370.5868800001,345164.18895000004,525964.4784,280551.98099999997,280551.98099999997,280551.98099999997,202908.52049999998,202523.316,202523.316,278178.87525999994,129239.0964,192103.54575999998,335064.32399999996,95094.44623999999,120942.26552,262606.587,262606.587,262606.587,262606.587,608920.10344,608920.10344 +31122000.0,241700.80800000002,173047.76400000002,505299.47088000004,145770.20425,145770.20425,145770.20425,80670.77900000001,463098.89504,799609.16032,396621.57444000005,604375.7324800001,348634.506,348634.506,348634.506,223625.60150000002,241700.80800000002,241700.80800000002,307534.31006999995,150327.2682,223449.42087999996,389737.36199999996,110611.17511999999,140676.62876,315227.208,315227.208,315227.208,315227.208,726713.76272,726713.76272 +31125600.0,431559.873,230713.50300000003,673683.42876,257628.36264000004,257628.36264000004,257628.36264000004,162271.627,992769.7137599998,966351.5142400002,681812.7691200001,1038952.7910400002,420659.841,420659.841,420659.841,361243.0885,431559.873,431559.873,536444.1629299999,216555.58980000002,321892.50632,561440.4180000001,159342.13768,202653.25564000002,477515.73600000003,477515.73600000003,477515.73600000003,477515.73600000003,1297556.6848199998,1297556.6848199998 +31129200.0,1197360.7589999998,570462.174,1665749.5480799999,1586238.32829,1586238.32829,1586238.32829,1389589.488,3322148.25752,3885693.03552,2807237.43174,4277695.13408,1139823.648,1139823.648,1139823.648,1610281.5329999998,1197360.7589999998,1197360.7589999998,2508441.64259,1484091.89415,2205983.50686,3847645.6515,1091998.48014,1388816.8589700002,1488311.334,1488311.334,1488311.334,1488311.334,3600064.6820599996,3600064.6820599996 +31132800.0,1098296.4719999998,1204757.604,3517892.2036800003,1908819.3528800001,1908819.3528800001,1908819.3528800001,1875147.6765,4164340.1295999996,3309261.7465600003,3186881.1939300005,4856199.91456,1362327.939,1362327.939,1362327.939,1749032.0225,1098296.4719999998,1098296.4719999998,2211492.68028,2133808.68105,3171735.3728199997,5532096.5805,1570061.69618,1996823.43239,1579852.281,1579852.281,1579852.281,1579852.281,3302211.3924799995,3302211.3924799995 +31136400.0,2069523.3389999997,2260971.978,6602038.17576,1577883.26135,1577883.26135,1577883.26135,2037713.517,4400025.3892,7506738.3398400005,3627430.9711499996,5527513.8608,1990964.4180000003,1990964.4180000003,1990964.4180000003,1635634.3955,2069523.3389999997,2069523.3389999997,2217490.4905399997,1851876.5616,2752665.9014399997,4801161.456,1362615.34656,1732990.65888,2324875.0439999998,2324875.0439999998,2324875.0439999998,2324875.0439999998,6222366.839259999,6222366.839259999 +31140000.0,1397279.619,1008052.6289999998,2943513.6766799996,598082.4707,598082.4707,598082.4707,776729.8385,2047216.2924,6666927.024640001,1204658.13909,1835669.54528,1411251.516,1411251.516,1411251.516,1412136.4494999999,1397279.619,1397279.619,1770797.5269399998,2120020.614,3151240.5176000004,5496349.74,1559916.4024000003,1983920.5252000003,946292.9249999999,946292.9249999999,946292.9249999999,946292.9249999999,4201154.054459999,4201154.054459999 +31143600.0,656383.2359999999,587690.976,1716057.64992,265142.50653,265142.50653,265142.50653,427003.61199999996,1212923.0670399999,3135932.48832,735547.24845,1120833.9024,514432.011,514432.011,514432.011,463421.16800000006,656383.2359999999,656383.2359999999,582925.80476,843320.73915,1253528.60486,2186387.1015000003,620517.4821400001,789181.6299700001,487755.97500000003,487755.97500000003,487755.97500000003,487755.97500000003,1973525.5962399996,1973525.5962399996 +31147200.0,721085.9369999999,1123090.131,3279423.18252,565656.41847,565656.41847,565656.41847,869345.9425,1596041.5794399998,2561941.24608,1210934.41014,1845233.3868800001,655990.914,655990.914,655990.914,1007270.4180000001,721085.9369999999,721085.9369999999,768001.5167500001,763911.0891,1135492.53244,1980510.231,562087.66556,714869.88338,719969.004,719969.004,719969.004,719969.004,2168065.05058,2168065.05058 +31150800.0,502251.43799999997,533599.986,1558111.95912,340881.30340000003,340881.30340000003,340881.30340000003,704788.6965,1040572.05264,1472927.55648,710724.84,1083009.28,450693.504,450693.504,450693.504,552276.5535,502251.43799999997,502251.43799999997,477534.64992999996,470856.8069999999,699890.8587999999,1220739.8699999999,346457.6012,440628.96259999997,442417.43999999994,442417.43999999994,442417.43999999994,442417.43999999994,1510102.6569199997,1510102.6569199997 +31154400.0,418125.534,344700.96,1006526.8032000001,128972.90318000001,128972.90318000001,128972.90318000001,334714.7125,893545.64344,1274613.4662400002,579973.0402200001,883768.4422400001,393856.8389999999,393856.8389999999,393856.8389999999,301136.3425,418125.534,418125.534,424664.52002,378673.62704999995,562867.95922,981746.4404999999,278628.98978,354363.71518999996,379288.179,379288.179,379288.179,379288.179,1257164.1055599998,1257164.1055599998 +31158000.0,943589.9310000001,1101522.372,3216445.32624,1401917.7840800001,1401917.7840800001,1401917.7840800001,1396030.9825,2165481.09288,2972366.4742400004,1708078.75602,2602786.67584,890198.7449999999,890198.7449999999,890198.7449999999,1435338.604,943589.9310000001,943589.9310000001,1386332.04801,1345346.1598499997,1999749.1067399997,3487934.4884999995,989909.0262599998,1258978.2582299998,978005.1959999999,978005.1959999999,978005.1959999999,978005.1959999999,2837060.39254,2837060.39254 +31161600.0,963953.142,1361009.808,3974148.63936,1527202.85212,1527202.85212,1527202.85212,1196146.4409999999,2476428.2428800003,3377714.6592000006,1809520.25625,2757364.2,1077983.211,1077983.211,1077983.211,1672589.8105000001,963953.142,963953.142,1621260.8655099997,1404437.6645999998,2087583.8866399997,3641134.6859999998,1033388.7013599998,1314276.23428,1161387.003,1161387.003,1161387.003,1161387.003,2898285.7802799996,2898285.7802799996 +31165200.0,915843.279,1262885.091,3687624.46572,1107317.82634,1107317.82634,1107317.82634,1076910.226,2451819.96624,3397127.64736,1628050.032,2480838.144,951027.558,951027.558,951027.558,1357215.5205,915843.279,915843.279,1304639.9940599997,1212099.2685,1801688.2954,3142479.585,891865.6346000001,1134285.4883,1128704.781,1128704.781,1128704.781,1128704.781,2753635.4588599997,2753635.4588599997 +31168800.0,2271572.8770000003,1882874.0040000002,5497992.091680001,3521975.3831900004,3521975.3831900004,3521975.3831900004,2952497.31,3628665.0842399998,7037790.429440001,3811330.04784,5807741.025280001,2409203.7120000003,2409203.7120000003,2409203.7120000003,3083903.0915,2271572.8770000003,2271572.8770000003,3785523.5304900003,2945465.68995,4378198.38358,7636392.5295,2167280.92742,2756374.0654100003,2558446.863,2558446.863,2558446.863,2558446.863,6829862.45018,6829862.45018 +31172400.0,1717607.742,1022491.1490000001,2985674.1550800004,2162691.9358000006,2162691.9358000006,2162691.9358000006,1824620.4689999998,2821228.72824,4997592.957440001,2567894.96859,3912982.8092800006,1781193.0,1781193.0,1781193.0,2237794.4785,1717607.742,1717607.742,1513745.44633,2024615.7764999997,3009428.8825999997,5249003.864999999,1489717.2873999998,1894640.4426999998,1892510.9429999997,1892510.9429999997,1892510.9429999997,1892510.9429999997,5164273.9442799995,5164273.9442799995 +31176000.0,1315262.949,981113.703,2864852.01276,1351283.8664600002,1351283.8664600002,1351283.8664600002,1407572.8345,2209977.55376,4195993.76896,1918721.61033,2923766.26336,1221348.684,1221348.684,1221348.684,1620475.0729999999,1315262.949,1315262.949,1384370.7127899998,1554741.2605499998,2310998.1206199997,4030810.6755,1143982.45838,1454930.71049,1376294.97,1376294.97,1376294.97,1376294.97,3954557.2666599997,3954557.2666599997 +31179600.0,1157605.692,999325.926,2918031.7039199998,1311571.78163,1311571.78163,1311571.78163,1298295.6385,2155389.9349599998,4098725.3504,1860942.03015,2835721.1888,1191011.94,1191011.94,1191011.94,1568966.3185,1157605.692,1157605.692,1429278.42642,1508943.4191,2242923.30444,3912075.5310000004,1110284.2935600001,1412072.97738,1324180.32,1324180.32,1324180.32,1324180.32,3480534.44728,3480534.44728 +31183200.0,822150.927,724918.962,2116763.3690400003,868160.56855,868160.56855,868160.56855,721515.2069999999,1161146.57896,2596677.25632,1098310.7788799999,1673616.42496,652851.4380000001,652851.4380000001,652851.4380000001,799280.209,822150.927,822150.927,1028849.0529199999,726473.9258999999,1079845.1935599998,1883450.919,534541.3084399999,679836.0936199999,854505.654,854505.654,854505.654,854505.654,2471933.78718,2471933.78718 +31186800.0,148672.644,135325.938,395151.73896,166574.22089,166574.22089,166574.22089,72012.934,257622.27352000002,1005745.4592,304015.67532000004,463261.98144000006,233487.009,233487.009,233487.009,146251.8575,148672.644,148672.644,287976.62880999997,113125.43430000001,168151.88012,293288.163,83237.97388,105863.06074000002,193013.75699999998,193013.75699999998,193013.75699999998,193013.75699999998,447009.08296,447009.08296 +31190400.0,149899.05599999998,133369.54200000002,389439.06264,149424.12815,149424.12815,149424.12815,51935.24,281865.1764,963261.9641600001,305924.97432,466171.38944,221888.07,221888.07,221888.07,137859.526,149899.05599999998,149899.05599999998,278535.18082,102604.91129999999,152513.96691999998,266012.733,75496.94708,96017.92933999999,190874.271,190874.271,190874.271,190874.271,450696.49503999995,450696.49503999995 +31194000.0,169797.21899999998,162865.878,475568.36376,148446.78277000002,148446.78277000002,148446.78277000002,62156.619,382573.36007999995,984923.9136000001,351100.36037999997,535010.07296,229839.843,229839.843,229839.843,138431.118,169797.21899999998,169797.21899999998,317894.11212,122169.69989999999,181595.45515999998,316736.259,89892.76684,114326.70682,204861.84,204861.84,204861.84,204861.84,510523.63845999993,510523.63845999993 +31197600.0,226877.98200000002,181722.831,530630.66652,158322.98372000002,158322.98372000002,158322.98372000002,81188.499,447569.05023999995,1022672.0518400002,409296.35901,623689.68992,333646.881,333646.881,333646.881,194367.16599999997,226877.98200000002,226877.98200000002,337998.0266,152970.9786,227379.08424,396591.42600000004,112556.42376,143150.61948,309793.275,309793.275,309793.275,309793.275,682146.46588,682146.46588 +31201200.0,292185.213,232742.913,679609.30596,175040.7285,175040.7285,175040.7285,94213.798,600576.74656,1092517.0822400001,490433.23959,747326.84128,457040.586,457040.586,457040.586,287373.2225,292185.213,292185.213,387805.05711999995,184632.83774999998,274441.89709999994,478677.7275,135853.29789999998,172779.86544999998,385261.56600000005,385261.56600000005,385261.56600000005,385261.56600000005,878503.54042,878503.54042 +31204800.0,360617.56200000003,285273.90599999996,832999.8055199999,199132.07600000003,199132.07600000003,199132.07600000003,96389.02350000001,716044.7944,1181864.8281600003,585498.02892,892187.47264,515406.393,515406.393,515406.393,312038.6535,360617.56200000003,360617.56200000003,422330.49637999997,214594.13025,318976.9541,556355.1525,157898.8909,200817.71695,492804.68999999994,492804.68999999994,492804.68999999994,492804.68999999994,1084256.80308,1084256.80308 +31208400.0,470640.849,316337.16000000003,923704.5072,216006.17797000002,216006.17797000002,216006.17797000002,106215.9595,803181.6824,1398983.3120000002,693520.6118399999,1056793.31328,539253.804,539253.804,539253.804,325445.39999999997,470640.849,470640.849,431824.18578,283133.56409999996,420855.32243999996,734049.9809999999,208330.37556,264957.08838,569088.24,569088.24,569088.24,569088.24,1415060.15266,1415060.15266 +31212000.0,569302.086,443092.407,1293829.82844,325071.11977999995,325071.11977999995,325071.11977999995,198840.054,993832.7514399999,1783552.92736,857321.3581800001,1306394.4505600003,600909.798,600909.798,600909.798,431453.54349999997,569302.086,569302.086,470805.38778,362751.82964999997,539201.48506,940467.7065000001,266913.69194,339464.05787,652305.348,652305.348,652305.348,652305.348,1711701.60524,1711701.60524 +31215600.0,1286755.842,1268680.191,3704546.15772,1197859.33124,1197859.33124,1197859.33124,1113028.9869999997,2159906.52672,2537794.7289600004,1788789.65475,2725774.7120000003,903781.5989999999,903781.5989999999,903781.5989999999,1837595.0250000001,1286755.842,1286755.842,2545639.0512799993,781918.1342999999,1162258.5601199998,2027195.1629999997,575337.2938799999,731720.92074,1766037.168,1766037.168,1766037.168,1766037.168,3868845.89828,3868845.89828 +31219200.0,2375282.5050000004,2125184.7120000003,6205539.3590400005,2946808.18465,2946808.18465,2946808.18465,2129613.5735,3612809.0988000003,4305464.2380800005,3476844.74256,5298049.13152,1553499.432,1553499.432,1553499.432,2499868.665,2375282.5050000004,2375282.5050000004,3664894.1706,1866013.6049999997,2773679.482,4837813.05,1373017.4179999998,1746220.139,2540280.687,2540280.687,2540280.687,2540280.687,7141682.7317,7141682.7317 +31222800.0,2752518.087,2700869.442,7886538.77064,3320380.5420500003,3320380.5420500003,3320380.5420500003,2736780.6900000004,4743579.472560001,10547940.311040001,3742986.53799,5703598.53408,2870704.833,2870704.833,2870704.833,2927400.3219999997,2752518.087,2752518.087,2867013.94876,3666087.84375,5449345.387499999,9504672.1875,2697516.4875,3430734.05625,2581237.728,2581237.728,2581237.728,2581237.728,8275904.38158,8275904.38158 +31226400.0,2114631.969,1870734.435,5462544.5502,2528853.83663,2528853.83663,2528853.83663,3061429.539,4020352.89728,7988822.087680001,3888048.5265300004,5924645.373760001,2943408.633,2943408.633,2943408.633,3370347.4245,2114631.969,2114631.969,2316407.77017,3826433.4025499998,5687686.193419999,9920382.895499999,2815499.14558,3580785.8260899996,2266248.9510000004,2266248.9510000004,2266248.9510000004,2266248.9510000004,6357993.4534599995,6357993.4534599995 +31230000.0,1594308.6450000003,1383450.732,4039676.1374399997,2233131.1327600004,2233131.1327600004,2233131.1327600004,2801389.0555,3939597.1904,8204227.76576,3335243.4393599997,5082275.71712,1564622.472,1564622.472,1564622.472,2659840.2075000005,1594308.6450000003,1594308.6450000003,1720247.2792699998,3093751.58805,4598613.471619999,8020837.450499999,2276390.0573799997,2895140.37499,1950422.5380000002,1950422.5380000002,1950422.5380000002,1950422.5380000002,4793554.6593,4793554.6593 +31233600.0,1302628.218,1110519.834,3242717.91528,1707521.34905,1707521.34905,1707521.34905,1898308.6815,3395695.3428799994,4951463.237120001,2423657.21955,3693191.9536,1341970.893,1341970.893,1341970.893,2111457.201,1302628.218,1302628.218,1358553.82182,1893580.5132,2814655.47888,4909282.812,1393301.21712,1772017.31976,1434756.168,1434756.168,1434756.168,1434756.168,3916568.84212,3916568.84212 +31237200.0,1024077.081,877204.926,2561438.38392,1005654.32198,1005654.32198,1005654.32198,1213632.3045,2399043.10952,3229417.18016,1814323.1792700002,2764682.93984,1002714.258,1002714.258,1002714.258,1322897.3344999999,1024077.081,1024077.081,1048893.3330199998,1261490.3104499998,1875104.1157799996,3270530.4345,928207.68522,1180505.74731,1129443.609,1129443.609,1129443.609,1129443.609,3079058.42354,3079058.42354 +31240800.0,924027.228,793337.274,2316544.8400799995,893577.69006,893577.69006,893577.69006,980457.2329999999,1863809.5681599998,3094821.9404800003,1532193.8858100001,2334771.63552,921481.2450000001,921481.2450000001,921481.2450000001,1238582.6425,924027.228,924027.228,981426.2191499999,1125806.27085,1673420.67914,2918756.9985,828371.0338600001,1053532.2880300002,1019853.1079999999,1019853.1079999999,1019853.1079999999,1019853.1079999999,2778241.86552,2778241.86552 +31244400.0,1153769.757,1037351.7629999999,3029067.1479599997,1293507.87214,1293507.87214,1293507.87214,1247164.7125,2284302.53296,4113970.1344000003,1935831.49893,2949838.47456,1188440.52,1188440.52,1188440.52,1528570.0045,1153769.757,1153769.757,1452200.00523,1480240.8342,2200259.21528,3837661.4220000003,1089164.86072,1385213.02756,1322685.654,1322685.654,1322685.654,1322685.654,3469001.06938,3469001.06938 +31248000.0,1213321.44,1097738.691,3205396.97772,1384612.1033800002,1384612.1033800002,1384612.1033800002,1316651.0455,2407161.2935200003,4370786.865920001,2043787.75146,3114343.2403200003,1260865.872,1260865.872,1260865.872,1604960.448,1213321.44,1213321.44,1552621.8432399998,1569815.1620999998,2333404.26564,4069891.161,1155073.87236,1469036.90478,1387453.4640000002,1387453.4640000002,1387453.4640000002,1387453.4640000002,3648053.1295999996,3648053.1295999996 +31251600.0,1223765.7270000002,1103278.863,3221574.27996,1415279.3661600002,1415279.3661600002,1415279.3661600002,1347741.0975000001,2431708.7932800003,4391311.3657599995,2062240.42353,3142461.5977600003,1269202.842,1269202.842,1269202.842,1615722.311,1223765.7270000002,1223765.7270000002,1560323.2256299998,1583315.7925500001,2353471.86942,4104892.7955000005,1165007.66958,1481670.8280900002,1397238.8969999999,1397238.8969999999,1397238.8969999999,1397238.8969999999,3679455.6191800004,3679455.6191800004 +31255200.0,1248254.6490000002,1118077.953,3264787.62276,1488560.0336200001,1488560.0336200001,1488560.0336200001,1414419.1705,2492986.71608,4452007.42592,2112269.3413500004,3218696.1392000006,1291642.914,1291642.914,1291642.914,1647386.804,1248254.6490000002,1248254.6490000002,1580227.9964899998,1616859.0548999999,2403331.2371599996,4191856.809,1189688.88484,1513060.69582,1422945.618,1422945.618,1422945.618,1422945.618,3753085.64466,3753085.64466 +31258800.0,1252506.0,1121721.006,3275425.3375199996,1494383.93907,1494383.93907,1494383.93907,1420031.382,2502497.1210399996,4465314.384000001,2120093.73849,3230619.0300800004,1295701.944,1295701.944,1295701.944,1652183.512,1252506.0,1252506.0,1584885.4810099995,1621575.2758499999,2410341.52114,4204084.0485,1193159.09186,1517474.14703,1427545.7880000002,1427545.7880000002,1427545.7880000002,1427545.7880000002,3765868.04,3765868.04 +31262400.0,1252760.0999999999,1124065.98,3282272.6616,1481961.2490100001,1481961.2490100001,1481961.2490100001,1409588.4005,2501376.08048,4473655.405440001,2118933.66426,3228851.29792,1296969.5520000001,1296969.5520000001,1296969.5520000001,1651297.3260000001,1252760.0999999999,1252760.0999999999,1587449.0282299998,1620637.35255,2408947.3734199996,4201652.3955,1192468.9655799998,1516596.43609,1428255.5219999999,1428255.5219999999,1428255.5219999999,1428255.5219999999,3766632.0339999995,3766632.0339999995 +31266000.0,1204960.443,1008083.4239999999,2943603.5980799994,1257645.4863500001,1257645.4863500001,1257645.4863500001,1075205.369,2091439.5872799999,3258665.55776,1757842.7773199999,2678617.56544,1028101.0619999999,1028101.0619999999,1028101.0619999999,1312544.835,1204960.443,1204960.443,1521653.0670899998,1289647.7208,1916957.84672,3343531.128,948925.9772800001,1206855.52144,1242928.983,1242928.983,1242928.983,1242928.983,3622914.3986199996,3622914.3986199996 +31269600.0,537029.607,385543.746,1125787.73832,673647.5274100001,673647.5274100001,673647.5274100001,439470.98999999993,1025809.09912,1351905.5411200002,829671.95073,1264262.02016,476307.702,476307.702,476307.702,569671.06,537029.607,537029.607,875327.30649,289537.3674,430374.06216,750652.434,213042.30984,270949.78332,676589.373,676589.373,676589.373,676589.373,1614669.0183799998,1614669.0183799998 +31273200.0,197547.402,158845.71899999998,463829.49947999994,206792.5486,206792.5486,206792.5486,80083.24799999999,440710.3148,1047862.0371200001,381752.24073,581717.70016,290570.853,290570.853,290570.853,157226.87050000002,197547.402,197547.402,299571.92746,122757.07949999999,182468.54779999997,318259.095,90324.9622,114876.3781,213985.395,213985.395,213985.395,213985.395,593959.18868,593959.18868 +31276800.0,209753.99099999998,212703.99,621095.6508,186679.02781000003,186679.02781000003,186679.02781000003,72525.1275,462741.94839999994,1090511.7785600002,386857.28508000006,589496.8153600001,289812.786,289812.786,289812.786,150807.755,209753.99099999998,209753.99099999998,304203.74581999995,134674.22879999998,200182.43391999998,349155.408,99093.63008,126028.47584,230439.44999999998,230439.44999999998,230439.44999999998,230439.44999999998,630660.3329399999,630660.3329399999 +31280400.0,235303.452,224308.185,654979.9002,199816.83722000002,199816.83722000002,199816.83722000002,90507.85450000002,471502.42144,1136071.45216,433192.60047,660103.01024,370541.838,370541.838,370541.838,154590.5655,235303.452,235303.452,351711.32697999995,151708.21694999997,225502.09037999995,393317.59949999995,111627.28061999999,141968.92401,309076.539,309076.539,309076.539,309076.539,707479.04568,707479.04568 +31284000.0,277435.434,254351.292,742705.77264,201543.32308,201543.32308,201543.32308,94398.0625,552736.72216,1143801.4310400002,481387.63490999996,733543.06272,446037.83700000006,446037.83700000006,446037.83700000006,258826.35100000005,277435.434,277435.434,378855.14784,188040.28095,279506.78797999996,487511.8395,138360.50302,175968.55921,381836.799,381836.799,381836.799,381836.799,834155.87156,834155.87156 +31287600.0,366269.424,288341.892,841958.3246399999,212565.42846,212565.42846,212565.42846,98214.0705,731919.8299199999,1259738.6675200001,589936.8279,898951.3568000001,520246.25999999995,520246.25999999995,520246.25999999995,315140.26949999994,366269.424,366269.424,413983.76109999995,223788.63059999997,332643.84103999997,580192.7459999999,164664.22696,209421.95308,483139.623,483139.623,483139.623,483139.623,1101250.0681599998,1101250.0681599998 +31291200.0,468007.629,330067.833,963798.07236,224819.85658000002,224819.85658000002,224819.85658000002,106096.90000000001,816541.9730400001,1536332.704,697782.1836299999,1063287.1369599998,557766.345,557766.345,557766.345,352740.1535,468007.629,468007.629,450755.02783999994,305837.47935,454602.8705399999,792911.9835,225035.97246,286203.46833,569123.253,569123.253,569123.253,569123.253,1407142.93786,1407142.93786 +31294800.0,557955.534,404662.63800000004,1181614.90296,245915.37069,245915.37069,245915.37069,129421.2815,964786.21496,1804601.17952,827968.5401399999,1261666.34688,600613.341,600613.341,600613.341,438580.2715,557955.534,557955.534,470051.31445999997,349859.0069999999,520037.3387999999,907041.8699999999,257427.12119999997,327398.92259999993,644445.7379999999,644445.7379999999,644445.7379999999,644445.7379999999,1677586.30556,1677586.30556 +31298400.0,622815.8640000001,470975.01599999995,1375247.04672,384160.79614000005,384160.79614000005,384160.79614000005,212620.02649999998,1164230.134,1967966.9363200003,965354.0889300001,1471015.75456,645718.362,645718.362,645718.362,494634.37450000003,622815.8640000001,622815.8640000001,512572.10407,393343.95825,584674.2293,1019780.6325000001,289423.45570000005,368092.24735,682188.3450000001,682188.3450000001,682188.3450000001,682188.3450000001,1872599.69776,1872599.69776 +31302000.0,1339721.586,1291837.956,3772166.83152,1230137.9640000002,1230137.9640000002,1230137.9640000002,1116603.628,2229217.1184,2608129.5334400004,1874873.3199000002,2856949.8208000003,965131.662,965131.662,965131.662,1866783.5655,1339721.586,1339721.586,2690047.6610799995,823523.9624999999,1224102.285,2135062.125,605950.965,770655.7575000001,1810675.191,1810675.191,1810675.191,1810675.191,4028096.2352399994,4028096.2352399994 +31305600.0,2425257.4230000004,2139274.1550000003,6246680.5326,3019752.1043800004,3019752.1043800004,3019752.1043800004,2169084.1795,3649011.6617600005,4348876.50432,3538869.44838,5392562.96896,1578636.8790000002,1578636.8790000002,1578636.8790000002,2500077.9299999997,2425257.4230000004,2425257.4230000004,3882866.9396399995,1909179.9994499998,2837842.8633799995,4949725.9245,1404779.35762,1786615.35751,2583800.661,2583800.661,2583800.661,2583800.661,7291940.65182,7291940.65182 +31309200.0,2813306.532,2816595.168,8224457.890559999,3397947.1433600006,3397947.1433600006,3397947.1433600006,2775934.2275,4816448.8668,10578398.207360001,3877101.02241,5907963.46272,2895267.111,2895267.111,2895267.111,2993992.0115,2813306.532,2813306.532,2914169.4715899997,3768741.87345,5601932.364979999,9770812.2645,2773049.57602,3526797.95071,2602363.8449999997,2602363.8449999997,2602363.8449999997,2602363.8449999997,8458674.97288,8458674.97288 +31312800.0,2189925.0779999997,2004032.145,5851773.863399999,2713005.4677,2713005.4677,2713005.4677,3245262.972,4141168.2593600005,8443333.51104,4006374.72627,6104951.96384,3000000.0,3000000.0,3000000.0,3443598.8475,2189925.0779999997,2189925.0779999997,2384565.03246,3980599.3052999997,5916841.436519999,10320072.273,2928934.7974799997,3725054.6585399997,2328870.675,2328870.675,2328870.675,2328870.675,6584374.7345199995,6584374.7345199995 +31316400.0,1666176.528,1443564.5580000002,4215208.5093600005,2383541.95915,2383541.95915,2383541.95915,2919787.857,4093319.7728,8409468.390400002,3479793.0615,5302541.807999999,1618943.5620000002,1618943.5620000002,1618943.5620000002,2749747.7559999996,1666176.528,1666176.528,1884132.7142299998,3313192.1953499997,4924794.32494,8589757.5435,2437854.99806,3100493.43713,2029091.859,2029091.859,2029091.859,2029091.859,5009637.427519999,5009637.427519999 +31320000.0,1377902.349,1169441.07,3414767.9244,1841922.0978400002,1841922.0978400002,1841922.0978400002,2147898.7915000003,3580551.67776,5754907.08608,2608723.8376500006,3975198.2288000006,1403856.7140000002,1403856.7140000002,1403856.7140000002,2265077.6085,1377902.349,1377902.349,1442854.44459,1998393.9704999998,2970452.2721999995,5181021.405,1470423.2178,1870102.0119,1529855.874,1529855.874,1529855.874,1529855.874,4142893.06266,4142893.06266 +31323600.0,1089264.804,943515.621,2755065.61332,1145270.18155,1145270.18155,1145270.18155,1371631.9995,2551812.51632,3429376.04352,1971185.3021699998,3003710.93664,1055838.477,1055838.477,1055838.477,1394094.198,1089264.804,1089264.804,1120207.8841199998,1351289.17035,2008582.9149399998,3503342.2935,994281.9080599999,1264539.74213,1199969.787,1199969.787,1199969.787,1199969.787,3275056.1773599996,3275056.1773599996 +31327200.0,970674.3060000001,832970.3130000001,2432273.31396,951179.0773100001,951179.0773100001,951179.0773100001,1031932.1985,2023212.0060799997,3258408.41984,1628837.30751,2482037.80192,959933.4299999999,959933.4299999999,959933.4299999999,1292455.1430000002,970674.3060000001,970674.3060000001,1044296.3967799998,1202555.39895,1787502.09918,3117736.2195,884843.2318200001,1125354.31161,1067189.67,1067189.67,1067189.67,1067189.67,2918494.08004,2918494.08004 +31330800.0,1189686.621,1067445.9330000002,3116942.1243600002,1341007.3118200002,1341007.3118200002,1341007.3118200002,1290532.7925,2358127.47384,4234451.64224,2008902.49203,3061184.74976,1211465.0010000002,1211465.0010000002,1211465.0010000002,1569046.017,1189686.621,1189686.621,1503581.33913,1523826.99495,2265046.54558,3950662.5795000005,1121235.66542,1426001.06441,1359299.2740000002,1359299.2740000002,1359299.2740000002,1359299.2740000002,3576991.10714,3576991.10714 +31334400.0,1235784.8369999998,1115318.313,3256729.47396,1415576.7244300002,1415576.7244300002,1415576.7244300002,1343999.7655,2451385.3067199998,4435053.23072,2088086.75334,3181846.48128,1267557.936,1267557.936,1267557.936,1615978.7245,1235784.8369999998,1235784.8369999998,1588456.4442499997,1594920.41955,2370721.21622,4134978.8655,1173546.38278,1492530.46669,1410511.221,1410511.221,1410511.221,1410511.221,3715593.0765799996,3715593.0765799996 +31338000.0,1241951.934,1117101.312,3261935.83104,1443475.29238,1443475.29238,1443475.29238,1369402.3069999998,2463118.2755199997,4438960.467200001,2098475.3588400004,3197676.7372800005,1271324.919,1271324.919,1271324.919,1622077.989,1241951.934,1241951.934,1590961.4826299998,1602911.3287499999,2382599.0615,4155696.0375,1179426.1135,1500008.37925,1411832.301,1411832.301,1411832.301,1411832.301,3734135.4815599998,3734135.4815599998 +31341600.0,1264820.571,1130427.474,3300848.22408,1512223.49795,1512223.49795,1512223.49795,1434388.6165,2521113.984,4493339.8060800005,2145642.74799,3269550.8540800004,1292240.166,1292240.166,1292240.166,1649702.922,1264820.571,1264820.571,1608436.1019999997,1634314.81005,2429277.81642,4237112.4705,1202532.87258,1529395.83459,1435104.15,1435104.15,1435104.15,1435104.15,3802893.8501399998,3802893.8501399998 +31345200.0,1260337.497,1125668.973,3286953.40116,1507986.8436600002,1507986.8436600002,1507986.8436600002,1430163.9135,2510530.7126399996,4469186.445440001,2137930.9961099997,3257799.61312,1285564.629,1285564.629,1285564.629,1641259.9070000001,1260337.497,1260337.497,1602239.64836,1626676.992,2417924.8128,4217310.72,1196912.9472,1522248.3456000001,1429045.407,1429045.407,1429045.407,1429045.407,3789414.7409799993,3789414.7409799993 +31348800.0,1244562.936,1112524.5210000002,3248571.6013200004,1477334.5015000002,1477334.5015000002,1477334.5015000002,1401552.9955,2472166.8707999997,4408292.31488,2108252.94519,3212575.91648,1266724.245,1266724.245,1266724.245,1615620.5485,1244562.936,1244562.936,1585256.0385999999,1602944.4456,2382648.28704,4155781.896,1179450.48096,1500039.3700800003,1410103.164,1410103.164,1410103.164,1410103.164,3741985.89424,3741985.89424 +31352400.0,1188106.014,983810.3579999999,2872726.2453599996,1246110.87843,1246110.87843,1246110.87843,1054157.6464999998,2036414.63424,3154230.62464,1725671.2582200002,2629594.2982400004,989118.717,989118.717,989118.717,1263547.8904999997,1188106.014,1188106.014,1501730.8936499998,1256356.1132999999,1867472.54372,3257219.553,924429.93028,1175701.15294,1210834.188,1210834.188,1210834.188,1210834.188,3572238.74876,3572238.74876 +31356000.0,526853.046,373546.056,1090754.48352,673290.34828,673290.34828,673290.34828,430599.08499999996,1000261.77384,1294981.20704,815159.00823,1242147.06016,460238.94000000006,460238.94000000006,460238.94000000006,546765.5095,526853.046,526853.046,855457.7977399998,281847.8592,418944.22527999996,730716.672,207384.35072,263753.92256,658325.037,658325.037,658325.037,658325.037,1584071.49164,1584071.49164 +31359600.0,193844.337,152683.233,445835.04036,206267.86455000003,206267.86455000003,206267.86455000003,78401.141,426473.62119999994,993976.31296,374711.60286,570989.10912,277975.146,277975.146,277975.146,150863.923,193844.337,193844.337,288357.66258,118757.4615,176523.4366,307889.715,87382.0334,111133.52570000001,209356.11899999998,209356.11899999998,209356.11899999998,209356.11899999998,582825.30658,582825.30658 +31363200.0,206947.54799999995,209580.042,611973.7226399999,187372.24649000002,187372.24649000002,187372.24649000002,71402.2715,456097.03288,1052759.6147200002,382744.52559,583229.75328,281759.115,281759.115,281759.115,146405.5355,206947.54799999995,206947.54799999995,295538.5693,129983.4621,193209.98564,336994.161,95642.15236000001,121638.84478,224866.392,224866.392,224866.392,224866.392,622222.2943199999,622222.2943199999 +31366800.0,227252.53799999997,216777.885,632991.4242,196718.28924,196718.28924,196718.28924,88067.084,453832.22248,1080931.60128,417547.76196000003,636263.25632,334006.40099999995,334006.40099999995,334006.40099999995,147479.3705,227252.53799999997,227252.53799999997,334578.24165999994,145122.10289999997,215712.36035999996,376242.48899999994,106781.20163999998,135805.62222,292139.148,292139.148,292139.148,292139.148,683272.6309199999,683272.6309199999 +31370400.0,262943.088,243420.531,710787.95052,197607.71855000002,197607.71855000002,197607.71855000002,90755.09800000001,505386.1364799999,1074654.62464,459141.64989,699644.41888,410664.966,410664.966,410664.966,223525.1165,262943.088,262943.088,358200.04584,175767.6915,261264.56859999997,455694.015,129330.3014,164483.8397,357173.358,357173.358,357173.358,357173.358,790582.21792,790582.21792 +31374000.0,336438.00299999997,263627.424,769792.07808,202126.53780000002,202126.53780000002,202126.53780000002,92765.97750000001,648567.186,1124998.6259200003,540743.75124,823990.47808,462743.02800000005,462743.02800000005,462743.02800000005,287393.83400000003,336438.00299999997,336438.00299999997,375744.93450000003,196630.58205,292275.58122,509782.99049999996,144681.26778,184007.38418999998,434557.06499999994,434557.06499999994,434557.06499999994,434557.06499999994,1011556.9290199998,1011556.9290199998 +31377600.0,410729.301,285588.081,833917.19652,209857.26674,209857.26674,209857.26674,97038.963,707924.29776,1341111.7216000003,620337.67866,945276.4627200001,489238.671,489238.671,489238.671,302512.889,410729.301,410729.301,410668.5167,258834.66975,384736.9659,671052.8475,190451.18910000002,242218.12305000002,498028.13700000005,498028.13700000005,498028.13700000005,498028.13700000005,1234926.0983399998,1234926.0983399998 +31381200.0,485536.449,314534.538,918440.8509600001,225327.54431,225327.54431,225327.54431,116769.42899999999,825595.5031199999,1511493.15264,721249.96062,1099047.55904,521492.86199999996,521492.86199999996,521492.86199999996,370550.964,485536.449,485536.449,421609.74192999996,307296.2245499999,456771.1782199999,796693.9154999999,226109.32077999998,287568.56568999996,564191.154,564191.154,564191.154,564191.154,1459846.25666,1459846.25666 +31384800.0,674396.9069999999,425059.73400000005,1241174.42328,356746.30992,356746.30992,356746.30992,203258.748,1393973.982,1730090.88128,1029854.7010500001,1569302.4016000002,577048.9049999999,577048.9049999999,577048.9049999999,544261.9245,674396.9069999999,674396.9069999999,647707.5485399999,370671.36974999995,550973.2459,960999.8475,272740.9091,346875.18305,682112.076,682112.076,682112.076,682112.076,2027686.7003799998,2027686.7003799998 +31388400.0,1378765.458,794704.182,2320536.21144,1883914.0338700002,1883914.0338700002,1883914.0338700002,1581991.4460000002,3689453.6500800005,4766751.594880001,3312448.3847700004,5047540.39584,1476237.018,1476237.018,1476237.018,2219589.5680000004,1378765.458,1378765.458,2970567.79422,1861852.96305,2767495.02162,4827026.2005,1369956.00738,1742326.59999,1708318.974,1708318.974,1708318.974,1708318.974,4145488.14372,4145488.14372 +31392000.0,1331935.665,1350963.858,3944814.46536,2531874.5051600006,2531874.5051600006,2531874.5051600006,2251083.6565,4709548.828960001,3871489.0431999997,3679412.86566,5606724.36672,1503977.1060000001,1503977.1060000001,1503977.1060000001,2150750.266,1331935.665,1331935.665,2478048.7629299997,2408540.4067499996,3580102.0366999996,6244364.0175,1772209.9782999998,2253918.0596499997,1816212.1139999998,1816212.1139999998,1816212.1139999998,1816212.1139999998,4004686.5661,4004686.5661 +31395600.0,2254551.285,2406266.073,7026296.93316,2080423.5199000004,2080423.5199000004,2080423.5199000004,2920749.321,4981414.617199999,7948148.73088,4133551.64502,6298745.36384,2150353.506,2150353.506,2150353.506,1904633.2865,2254551.285,2254551.285,3382013.8137499997,2400070.87665,3567512.7598599996,6222405.9765,1765978.07714,2245992.25247,2537908.965,2537908.965,2537908.965,2537908.965,6778684.1969,6778684.1969 +31399200.0,1755014.0609999998,1370587.2659999998,4002114.8167199995,895511.6401000001,895511.6401000001,895511.6401000001,1259523.0865,2682679.87328,8118415.889280001,1854860.44191,2826454.00672,1695320.793,1695320.793,1695320.793,1740566.2714999998,1755014.0609999998,1755014.0609999998,3007870.4938099994,2488892.5363499997,3699539.0293399994,6452684.353499999,1831333.27366,2329111.78093,1242994.008,1242994.008,1242994.008,1242994.008,5276742.276739999,5276742.276739999 +31402800.0,820306.122,811668.1410000001,2370070.9717200003,389494.42532000004,389494.42532000004,389494.42532000004,592191.6175,1664345.7989599998,5014707.63264,1004036.95035,1529961.0672000002,666073.314,666073.314,666073.314,662607.624,820306.122,820306.122,977894.4381699999,1391933.1356999998,2068996.9078799996,3608715.5369999995,1024187.8381199999,1302574.46526,644074.008,644074.008,644074.008,644074.008,2466387.07348,2466387.07348 +31406400.0,891130.3200000001,1290278.7719999999,3767614.01424,699812.2305899999,699812.2305899999,699812.2305899999,1016946.6895000001,1908256.84456,3021165.92896,1443496.9250100001,2199614.36192,767451.936,767451.936,767451.936,1126896.8795,891130.3200000001,891130.3200000001,1012905.2833899999,912222.729,1355945.8836,2365021.89,671215.7364,853660.2822000001,856250.7600000001,856250.7600000001,856250.7600000001,856250.7600000001,2679331.8288,2679331.8288 +31410000.0,629545.503,746619.666,2180129.42472,430230.61169,430230.61169,430230.61169,857663.1665,1259207.8936,1848215.1065600002,888304.75041,1353607.23872,533536.0650000001,533536.0650000001,533536.0650000001,725078.5464999999,629545.503,629545.503,635758.8928599999,609656.91255,906206.0774199999,1580591.9955,448587.06158,570518.44409,546339.642,546339.642,546339.642,546339.642,1892833.4790199997,1892833.4790199997 +31413600.0,516548.72699999996,427394.00999999995,1247990.5091999997,199868.03782000003,199868.03782000003,199868.03782000003,491590.568,1081404.6727200001,1592538.0985600003,738299.46939,1125027.76288,463278.99,463278.99,463278.99,382394.817,516548.72699999996,516548.72699999996,562386.01289,501257.78774999996,745079.4770999999,1299557.2275,368826.7179,469078.27545,468947.643,468947.643,468947.643,468947.643,1553089.83918,1553089.83918 +31417200.0,1057104.018,1310009.649,3825228.1750799995,1531773.32781,1531773.32781,1531773.32781,1503413.6635,2358959.55704,3166486.0742400005,1842591.79272,2807758.92224,926935.611,926935.611,926935.611,1485706.327,1057104.018,1057104.018,1576390.4919099996,1419542.58915,2110036.14486,3680295.6015,1044502.9421399999,1328411.45997,1114724.8620000002,1114724.8620000002,1114724.8620000002,1114724.8620000002,3178359.41412,3178359.41412 +31420800.0,1076070.27,1456530.2880000002,4253068.44096,1796059.88892,1796059.88892,1796059.88892,1326446.8,2764908.2062399997,3636889.61984,2073762.9729600002,3160019.7683200003,1144665.9270000001,1144665.9270000001,1144665.9270000001,1749033.496,1076070.27,1076070.27,1833163.2173399997,1516425.4093499999,2254044.68254,3931473.2835,1115789.56046,1419074.64233,1285670.823,1285670.823,1285670.823,1285670.823,3235384.6118,3235384.6118 +31424400.0,1000119.816,1436164.707,4193600.94444,1200913.28016,1200913.28016,1200913.28016,1173260.949,2605909.63936,3650581.7952,1778844.3708000001,2710619.9936,1009038.096,1009038.096,1009038.096,1437804.361,1000119.816,1000119.816,1534890.9807399998,1326879.9378,1972300.5495199997,3440059.0979999998,976321.5344799999,1241697.52204,1242755.868,1242755.868,1242755.868,1242755.868,3007026.91344,3007026.91344 +31428000.0,2294920.245,1893643.5389999999,5529439.133879999,3595402.18807,3595402.18807,3595402.18807,2979127.0705,3729519.8694399996,7078307.669120002,3850101.5156099997,5866821.35712,2407602.108,2407602.108,2407602.108,3079361.5020000003,2294920.245,2294920.245,4012466.6416899995,2992370.12505,4447918.062419999,7757996.6205,2201793.32658,2800267.35159,2574002.229,2574002.229,2574002.229,2574002.229,6900060.2033,6900060.2033 +31431600.0,1766336.844,1032373.2659999998,3014529.9367199996,2366058.3014200004,2366058.3014200004,2366058.3014200004,1853083.2774999999,2853816.55896,5073889.62112,2669377.64457,4067623.07744,1778511.618,1778511.618,1778511.618,2301565.9205,1766336.844,1766336.844,1612798.34872,2094238.0953000002,3112916.87252,5429506.173,1540945.5614800001,1959793.1805400003,1942674.057,1942674.057,1942674.057,1942674.057,5310786.110959999,5310786.110959999 +31435200.0,1339538.352,991174.4130000001,2894229.28596,1434297.82903,1434297.82903,1434297.82903,1501272.983,2239884.12952,4242366.896640001,1976518.55436,3011837.7971200002,1217651.724,1217651.724,1217651.724,1630166.3245,1339538.352,1339538.352,1436935.7780699998,1589473.1574,2362624.29816,4120856.334,1169538.27384,1487432.90532,1388994.4139999999,1388994.4139999999,1388994.4139999999,1388994.4139999999,4027545.31168,4027545.31168 +31438800.0,1187526.189,1018478.3850000001,2973956.8842,1361758.9557,1361758.9557,1361758.9557,1340097.325,2191252.40552,4147499.8246400002,1923283.5888,2930717.8496,1186146.861,1186146.861,1186146.861,1580396.4679999999,1187526.189,1187526.189,1495718.4706099997,1543672.9952999998,2294546.03252,4002115.173,1135838.40148,1444573.00054,1346720.2380000001,1346720.2380000001,1346720.2380000001,1346720.2380000001,3570495.40826,3570495.40826 +31442400.0,842111.5980000001,727942.074,2125590.85608,916871.1751100001,916871.1751100001,916871.1751100001,732405.0404999999,1163482.8008799998,2583834.5696000005,1121078.6019300001,1708310.25056,643830.777,643830.777,643830.777,792748.782,842111.5980000001,842111.5980000001,1057727.63876,730242.2929499999,1085446.5687799999,1893220.7595,537314.08222,683362.54081,861484.959,861484.959,861484.959,861484.959,2531948.8713200004,2531948.8713200004 +31446000.0,151283.229,129913.32,379346.8944,177496.93279999998,177496.93279999998,177496.93279999998,72148.965,248718.36424000002,936114.9280000001,313416.49269,477587.03647999995,219788.04899999997,219788.04899999997,219788.04899999997,138594.59949999998,151283.229,151283.229,275248.38275999995,109397.08124999999,162609.98249999998,283622.0625,80494.6425,102374.05875,193289.037,193289.037,193289.037,193289.037,454858.24185999995,454858.24185999995 +31449600.0,155514.417,132756.615,387649.3158,154884.08199,154884.08199,154884.08199,54720.210999999996,293825.66576,937236.09024,321826.67706,490402.55552000005,217354.23299999998,217354.23299999998,217354.23299999998,135537.185,155514.417,155514.417,275584.68834,103572.26999999999,153951.868,268520.69999999995,76208.73199999999,96923.18599999999,196043.673,196043.673,196043.673,196043.673,467580.0137799999,467580.0137799999 +31453200.0,187885.026,162326.937,473994.65604,154077.62370000003,154077.62370000003,154077.62370000003,64197.791,406232.35056,959230.4345600001,364734.30567,555785.6086399999,226928.34900000005,226928.34900000005,226928.34900000005,135980.77150000003,187885.026,187885.026,314647.69401,122668.74495,182337.24558,318030.0795,90259.96542,114793.71440999999,213269.994,213269.994,213269.994,213269.994,564907.64484,564907.64484 +31456800.0,227997.546,179099.946,522971.84231999994,159102.45384000003,159102.45384000003,159102.45384000003,82401.319,423356.12992,955563.4937600001,400742.88785999996,610655.8291199999,294713.892,294713.892,294713.892,167478.528,227997.546,227997.546,321782.73257,148888.57455,221310.91821999996,386007.41549999994,109552.58077999999,139330.29569,299982.771,299982.771,299982.771,299982.771,685512.62164,685512.62164 +31460400.0,261812.48999999996,222127.89,648613.4388,171695.94145,171695.94145,171695.94145,86096.178,490135.73568,930792.76928,441966.49833000003,673472.75936,369871.164,369871.164,369871.164,246846.69449999998,261812.48999999996,261812.48999999996,335791.74694,161870.157,240606.9988,419663.37,119104.4612,151478.4926,334480.305,334480.305,334480.305,334480.305,787182.8865999999,787182.8865999999 +31464000.0,318368.214,241123.31700000004,704080.0856400001,186669.28423000002,186669.28423000002,186669.28423000002,87439.57599999999,582377.0231199999,977722.37632,506359.82166,771595.9187200001,417709.94999999995,417709.94999999995,417709.94999999995,263476.22,318368.214,318368.214,361759.84507,183944.60909999997,273418.90044,476893.431,135346.89755999998,172135.81938,408942.22500000003,408942.22500000003,408942.22500000003,408942.22500000003,957227.09676,957227.09676 +31467600.0,405696.699,263088.13800000004,768217.36296,202784.87658,202784.87658,202784.87658,98517.2755,671880.47184,1204344.2137600002,609400.0374,928609.5808000001,455126.68200000003,455126.68200000003,455126.68200000003,283411.4535,405696.699,405696.699,381291.28296999994,222970.68044999999,331428.02378,578072.1345,164062.37722,208656.51331,481361.274,481361.274,481361.274,481361.274,1219794.74166,1219794.74166 +31471200.0,601187.46,321942.44999999995,940071.9539999999,318533.92648,318533.92648,318533.92648,188171.424,1206432.18152,1413541.84,906532.0643399999,1381382.19328,508227.189,508227.189,508227.189,437329.78099999996,601187.46,601187.46,593082.25925,324734.47965,482691.74506,841904.2065000001,238940.43194,303887.32787000004,621465.3150000001,621465.3150000001,621465.3150000001,621465.3150000001,1807570.2963999999,1807570.2963999999 +31474800.0,1348903.368,761837.5079999999,2224565.52336,1775790.25921,1775790.25921,1775790.25921,1549852.1534999998,3615500.9825600004,4604382.89216,3226257.51294,4916201.9244800005,1374609.3329999999,1374609.3329999999,1374609.3329999999,2061185.077,1348903.368,1348903.368,2836327.59657,1750455.93105,2601912.27282,4538219.0805,1287989.79618,1638080.98239,1679251.0050000004,1679251.0050000004,1679251.0050000004,1679251.0050000004,4055702.79312,4055702.79312 +31478400.0,1301933.4209999999,1354016.472,3953728.09824,2437190.1309800004,2437190.1309800004,2437190.1309800004,2148189.2425,4667843.56104,3863356.3737600003,3621120.7162200003,5517898.23424,1504850.433,1504850.433,1504850.433,2070337.493,1301933.4209999999,1301933.4209999999,2473238.5993899996,2358391.2048,3505559.2723199995,6114347.568,1735310.07168,2206988.31264,1798511.331,1798511.331,1798511.331,1798511.331,3914479.8191399993,3914479.8191399993 +31482000.0,2263666.551,2426806.566,7086275.17272,1992708.2230000002,1992708.2230000002,1992708.2230000002,2756587.6275,4965295.33536,8054206.75328,4120180.32615,6278370.0208,2181622.341,2181622.341,2181622.341,1924070.8025,2263666.551,2263666.551,3192370.60272,2304483.64335,3425430.00814,5974587.2235,1695644.75486,2156541.4835300003,2547735.945,2547735.945,2547735.945,2547735.945,6806090.76334,6806090.76334 +31485600.0,1812505.2030000002,1384366.779,4042350.99468,1004186.40322,1004186.40322,1004186.40322,1259526.8175,2834249.31776,8179207.116800002,1963611.40815,2992169.7648,1772919.3059999999,1772919.3059999999,1772919.3059999999,1819169.352,1812505.2030000002,1812505.2030000002,2465453.60958,2545787.2563,3784108.4649199997,6600189.183,1873196.54908,2382354.00034,1351885.041,1351885.041,1351885.041,1351885.041,5449598.97702,5449598.97702 +31489200.0,952867.638,871134.264,2543712.05088,561696.86606,561696.86606,561696.86606,756355.9185,1804007.82216,5268724.8096,1235048.1706500002,1881978.1648000001,801458.892,801458.892,801458.892,807360.974,952867.638,952867.638,1060358.7231899998,1574417.13255,2340244.72542,4081822.1955000004,1158460.01358,1473343.4400900002,792295.455,792295.455,792295.455,792295.455,2864955.36492,2864955.36492 +31492800.0,943173.0569999999,1313982.9,3836830.068,772468.5193500001,772468.5193500001,772468.5193500001,1073251.004,1931486.33808,3189752.2252800004,1535655.5129999998,2340046.496,824471.976,824471.976,824471.976,1181505.6609999998,943173.0569999999,943173.0569999999,1165093.1735299998,990806.3815499998,1472754.1770199998,2568757.2854999998,729037.78198,927199.05829,920736.3929999999,920736.3929999999,920736.3929999999,920736.3929999999,2835806.9913799996,2835806.9913799996 +31496400.0,762462.048,830125.5360000001,2423966.5651200004,606223.6387900001,606223.6387900001,606223.6387900001,1016816.178,1488604.3959199998,2398210.2912000003,1130451.37149,1722592.56608,671551.128,671551.128,671551.128,884593.7974999999,762462.048,762462.048,896002.12949,806327.5207499999,1198541.1542999998,2090478.7575,593297.7807,754563.2848499999,703101.189,703101.189,703101.189,703101.189,2292469.2243199996,2292469.2243199996 +31500000.0,677490.228,581715.462,1698609.14904,401436.48501000006,401436.48501000006,401436.48501000006,718917.9585,1368947.48544,2266634.6976,1027174.2973799999,1565217.9769599999,629164.8150000001,629164.8150000001,629164.8150000001,560034.44,677490.228,677490.228,838112.1344699999,739045.782,1098532.2488,1916044.62,543791.7112,691600.8676,654673.356,654673.356,654673.356,654673.356,2036987.28552,2036987.28552 +31503600.0,1093483.488,1386502.7820000001,4048588.12344,1611878.13171,1611878.13171,1611878.13171,1541207.045,2452994.3552,3279159.8982400005,1907611.98243,2906837.3065600004,976067.7119999999,976067.7119999999,976067.7119999999,1513462.307,1093483.488,1093483.488,1713652.65383,1456343.3151,2164737.47084,3775704.8910000003,1071581.00716,1362849.6701800001,1215479.91,1215479.91,1215479.91,1215479.91,3287740.3539199997,3287740.3539199997 +31507200.0,1154999.967,1513023.6360000002,4418029.01712,1951386.0909400003,1951386.0909400003,1951386.0909400003,1399615.4655,2905772.0488799997,3914770.3251200006,2220410.51526,3383482.6899200003,1225283.2410000002,1225283.2410000002,1225283.2410000002,1847992.9685000002,1154999.967,1154999.967,1906671.4507099998,1609819.8471000001,2392868.01964,4173607.0110000004,1184509.41836,1506473.3877800002,1368679.17,1368679.17,1368679.17,1368679.17,3472699.90078,3472699.90078 +31510800.0,1106450.571,1547139.5010000002,4517647.34292,1341691.3689299999,1341691.3689299999,1341691.3689299999,1290349.0635000002,2843088.44392,4074400.14016,1962421.88058,2990357.15136,1145421.183,1145421.183,1145421.183,1585093.6114999999,1106450.571,1106450.571,1660334.0972399998,1469352.6845999998,2184074.8546399996,3809432.886,1081153.33336,1375023.87028,1361654.532,1361654.532,1361654.532,1361654.532,3326728.05014,3326728.05014 +31514400.0,2345515.797,1956150.2820000001,5711958.82344,3674058.3121,3674058.3121,3674058.3121,3044059.634,3907225.7492,7337469.182080001,3936413.3403000003,5998344.137600001,2480710.782,2480710.782,2480710.782,3161337.3785,2345515.797,2345515.797,4224635.03943,3083446.4440499996,4583295.70202,7994120.410499999,2268807.50698,2885496.79579,2657627.13,2657627.13,2657627.13,2657627.13,7052184.162979999,7052184.162979999 +31518000.0,1821650.4810000001,1081434.966,3157790.1007200005,2529802.9809800005,2529802.9809800005,2529802.9809800005,1900165.8165000002,2957421.49944,5376320.981120001,2794316.22057,4258005.66944,1847553.003,1847553.003,1847553.003,2545103.449,1821650.4810000001,1821650.4810000001,1674637.59424,2236799.8611,3324823.4972399995,5799110.751,1645842.86076,2093202.83298,2055573.531,2055573.531,2055573.531,2055573.531,5477095.7795400005,5477095.7795400005 +31521600.0,1367692.77,1009674.591,2948249.8057199996,1555280.4715800001,1555280.4715800001,1555280.4715800001,1576107.47,2302003.99344,4370002.2764800005,2025392.10237,3086311.7750399997,1306409.355,1306409.355,1306409.355,1732589.4529999997,1367692.77,1367692.77,1458234.8140099999,1634903.6071499998,2430153.01606,4238638.9815,1202966.11094,1529946.83237,1422055.437,1422055.437,1422055.437,1422055.437,4112196.2618,4112196.2618 +31525200.0,1197608.1809999999,1027892.6309999999,3001446.4825199996,1410497.65747,1410497.65747,1410497.65747,1366502.9455,2211497.86344,4164017.52512,1938490.05651,2953889.60992,1199676.267,1199676.267,1199676.267,1605028.9745,1197608.1809999999,1197608.1809999999,1512033.8511199998,1555873.97265,2312681.80626,4033747.3365,1144815.91074,1455990.70527,1357325.8020000001,1357325.8020000001,1357325.8020000001,1357325.8020000001,3600808.5975399995,3600808.5975399995 +31528800.0,853500.9750000001,738468.54,2156328.1368,934176.4569500001,934176.4569500001,934176.4569500001,745354.687,1183600.684,2617117.91488,1137901.81554,1733945.6236800002,653453.97,653453.97,653453.97,809487.5179999999,853500.9750000001,853500.9750000001,1075353.2392199999,742054.284,1103004.1456,1923844.44,546005.3744,694416.2312,874799.6309999999,874799.6309999999,874799.6309999999,874799.6309999999,2566192.9315,2566192.9315 +31532400.0,159306.342,136536.843,398687.58156,185692.98891000001,185692.98891000001,185692.98891000001,74188.513,263274.55256,997082.93376,329677.73579999997,502366.0736,232885.782,232885.782,232885.782,146531.224,159306.342,159306.342,289707.58427,115527.55004999999,171722.43242,299515.8705,85005.45658,108110.96659,202416.756,202416.756,202416.756,202416.756,478981.06828,478981.06828 From a15726ac7e9e504744980aa8db3b88c1d3dd0992 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 24 Apr 2024 16:25:25 +0200 Subject: [PATCH 100/376] 40 hydraulic power gas (#44) This commit adds the Hydraulic power variable and logic in the gas network. The code has been slightly refactored for maximum code re-use between HeatPhysicsMixin and GasPhysicsMixin by moving the complete constraint logic of both head loss and hydraulic power to the head_loss_class. --------- Co-authored-by: Rojer --- examples/pipe_diameter_sizing/src/example.py | 2 +- src/mesido/asset_sizing_mixin.py | 313 +++++++------ src/mesido/esdl/esdl_heat_model.py | 42 +- src/mesido/gas_physics_mixin.py | 251 +++------- src/mesido/head_loss_class.py | 428 +++++++++++++++++- src/mesido/heat_physics_mixin.py | 373 +++------------ .../component_library/milp/gas/gas_base.py | 1 + .../component_library/milp/gas/gas_pipe.py | 18 + src/mesido/techno_economic_mixin.py | 4 +- tests/models/emerge/src/example.py | 82 ++-- tests/test_gas_pipe_topology_optimization.py | 4 +- tests/test_hydraulic_power.py | 251 +++++++++- tests/test_pipe_diameter_sizing.py | 3 + tests/test_setpoint_constraints.py | 2 +- 14 files changed, 1039 insertions(+), 735 deletions(-) diff --git a/examples/pipe_diameter_sizing/src/example.py b/examples/pipe_diameter_sizing/src/example.py index 4ba076214..5613bc9b0 100644 --- a/examples/pipe_diameter_sizing/src/example.py +++ b/examples/pipe_diameter_sizing/src/example.py @@ -53,7 +53,7 @@ def function(self, optimization_problem, ensemble_member): length = parameters[f"{p}.length"] var_name = optimization_problem.pipe_diameter_symbol_name(p) - nominal += length * optimization_problem.variable_nominal(var_name) + nominal += length * optimization_problem.variable_nominal(var_name) * 2.0 obj += optimization_problem.extra_variable(var_name, ensemble_member) * length diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 6306728af..1d9d8848a 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -38,52 +38,52 @@ def __init__(self, *args, **kwargs): self._asset_aggregation_count_var_map = {} # Variable for the maximum discharge under pipe class optimization - self.__pipe_topo_max_discharge_var = {} - self._pipe_topo_max_discharge_map = {} - self.__pipe_topo_max_discharge_nominals = {} - self.__pipe_topo_max_discharge_var_bounds = {} + self.__heat_pipe_topo_max_discharge_var = {} + self._heat_pipe_topo_max_discharge_map = {} + self.__heat_pipe_topo_max_discharge_nominals = {} + self.__heat_pipe_topo_max_discharge_var_bounds = {} # Variable for the diameter of a pipe during pipe-class optimization - self.__pipe_topo_diameter_var = {} - self.__pipe_topo_diameter_var_bounds = {} - self._pipe_topo_diameter_map = {} - self.__pipe_topo_diameter_nominals = {} + self.__heat_pipe_topo_diameter_var = {} + self.__heat_pipe_topo_diameter_var_bounds = {} + self._heat_pipe_topo_diameter_map = {} + self.__heat_pipe_topo_diameter_nominals = {} # Variable for the investmentcost in eur/m during pipe-class optimization - self.__pipe_topo_cost_var = {} - self.__pipe_topo_cost_var_bounds = {} - self._pipe_topo_cost_map = {} - self.__pipe_topo_cost_nominals = {} + self.__heat_pipe_topo_cost_var = {} + self.__heat_pipe_topo_cost_var_bounds = {} + self._heat_pipe_topo_cost_map = {} + self.__heat_pipe_topo_cost_nominals = {} # Boolean variables for the various pipe class options per pipe - # The self._pipe_topo_pipe_class_map is already initiated in the HeatPhysicsMixin - self.__pipe_topo_pipe_class_var = {} - self.__pipe_topo_pipe_class_var_bounds = {} - self.__pipe_topo_pipe_class_result = {} + # The self._heat_pipe_topo_pipe_class_map is already initiated in the HeatPhysicsMixin + self.__heat_pipe_topo_pipe_class_var = {} + self.__heat_pipe_topo_pipe_class_var_bounds = {} + self.__heat_pipe_topo_pipe_class_result = {} - self.__pipe_topo_pipe_class_discharge_ordering_var = {} - self.__pipe_topo_pipe_class_discharge_ordering_var_bounds = {} - self.__pipe_topo_pipe_class_discharge_ordering_map = {} + self.__heat_pipe_topo_pipe_class_discharge_ordering_var = {} + self.__heat_pipe_topo_pipe_class_discharge_ordering_var_bounds = {} + self.__heat_pipe_topo_pipe_class_discharge_ordering_map = {} - self.__pipe_topo_pipe_class_cost_ordering_map = {} - self.__pipe_topo_pipe_class_cost_ordering_var = {} - self.__pipe_topo_pipe_class_cost_ordering_var_bounds = {} + self.__heat_pipe_topo_pipe_class_cost_ordering_map = {} + self.__heat_pipe_topo_pipe_class_cost_ordering_var = {} + self.__heat_pipe_topo_pipe_class_cost_ordering_var_bounds = {} - self.__pipe_topo_pipe_class_heat_loss_ordering_map = {} - self.__pipe_topo_pipe_class_heat_loss_ordering_var = {} - self.__pipe_topo_pipe_class_heat_loss_ordering_var_bounds = {} + self.__heat_pipe_topo_pipe_class_heat_loss_ordering_map = {} + self.__heat_pipe_topo_pipe_class_heat_loss_ordering_var = {} + self.__heat_pipe_topo_pipe_class_heat_loss_ordering_var_bounds = {} - self.__pipe_topo_global_pipe_class_count_var = {} - self.__pipe_topo_global_pipe_class_count_map = {} - self.__pipe_topo_global_pipe_class_count_var_bounds = {} + self.__heat_pipe_topo_global_pipe_class_count_var = {} + self.__heat_pipe_topo_global_pipe_class_count_map = {} + self.__heat_pipe_topo_global_pipe_class_count_var_bounds = {} # Dict to specifically update the discharge bounds under pipe-class optimization - self.__pipe_topo_heat_discharge_bounds = {} + self.__heat_pipe_topo_heat_discharge_bounds = {} # list with entry per ensemble member containing dicts of pipe parameter values for # diameter, area and heatloss. - self.__pipe_topo_diameter_area_parameters = [] - self.__pipe_topo_heat_loss_parameters = [] + self.__heat_pipe_topo_diameter_area_parameters = [] + self.__heat_pipe_topo_heat_loss_parameters = [] # Gas # Variable for the maximum discharge under pipe class optimization @@ -105,7 +105,7 @@ def __init__(self, *args, **kwargs): self.__gas_pipe_topo_cost_nominals = {} # Boolean variables for the various pipe class options per pipe - # The self._pipe_topo_pipe_class_map is already initiated in the HeatPhysicsMixin + # The self._gas_pipe_topo_pipe_class_map is already initiated in the GasPhysicsMixin self.__gas_pipe_topo_pipe_class_var = {} self.__gas_pipe_topo_pipe_class_var_bounds = {} self.__gas_pipe_topo_pipe_class_result = {} @@ -142,7 +142,8 @@ def __init__(self, *args, **kwargs): self.__electricity_cable_topo_cost_nominals = {} # Boolean variables for the various pipe class options per pipe - # The self._pipe_topo_pipe_class_map is already initiated in the HeatPhysicsMixin + # The self._electricity_cable_topo_cable_class_map is already initiated in the + # ElectricityPhysicsMixin self.__electricity_cable_topo_cable_class_var = {} self.__electricity_cable_topo_cable_class_var_bounds = {} self.__electricity_cable_topo_cable_class_result = {} @@ -190,17 +191,17 @@ def pre(self): # than a single pipe class for a certain pipe, we set the diameter # and area to NaN to prevent erroneous constraints. for _ in range(self.ensemble_size): - self.__pipe_topo_diameter_area_parameters.append({}) - self.__pipe_topo_heat_loss_parameters.append({}) + self.__heat_pipe_topo_diameter_area_parameters.append({}) + self.__heat_pipe_topo_heat_loss_parameters.append({}) unique_pipe_classes = self.get_unique_pipe_classes() for pc in unique_pipe_classes: pipe_class_count = f"{pc.name}__global_pipe_class_count" - self.__pipe_topo_global_pipe_class_count_var[pipe_class_count] = ca.MX.sym( + self.__heat_pipe_topo_global_pipe_class_count_var[pipe_class_count] = ca.MX.sym( pipe_class_count ) - self.__pipe_topo_global_pipe_class_count_map[f"{pc.name}"] = pipe_class_count - self.__pipe_topo_global_pipe_class_count_var_bounds[pipe_class_count] = ( + self.__heat_pipe_topo_global_pipe_class_count_map[f"{pc.name}"] = pipe_class_count + self.__heat_pipe_topo_global_pipe_class_count_var_bounds[pipe_class_count] = ( 0.0, len(self.energy_system_components.get("heat_pipe", [])), ) @@ -505,34 +506,34 @@ def pre(self): # to the user. Contrary to that, the pipe class booleans are very # much an internal affair. diam_var_name = f"{pipe}__hn_diameter" - self.__pipe_topo_diameter_var[diam_var_name] = ca.MX.sym(diam_var_name) - self._pipe_topo_diameter_map[pipe] = diam_var_name + self.__heat_pipe_topo_diameter_var[diam_var_name] = ca.MX.sym(diam_var_name) + self._heat_pipe_topo_diameter_map[pipe] = diam_var_name cost_var_name = f"{pipe}__hn_cost" - self.__pipe_topo_cost_var[cost_var_name] = ca.MX.sym(cost_var_name) - self._pipe_topo_cost_map[pipe] = cost_var_name + self.__heat_pipe_topo_cost_var[cost_var_name] = ca.MX.sym(cost_var_name) + self._heat_pipe_topo_cost_map[pipe] = cost_var_name max_discharge_var_name = f"{pipe}__hn_max_discharge" max_discharges = [c.maximum_discharge for c in pipe_classes] - self.__pipe_topo_max_discharge_var[max_discharge_var_name] = ca.MX.sym( + self.__heat_pipe_topo_max_discharge_var[max_discharge_var_name] = ca.MX.sym( max_discharge_var_name ) - self._pipe_topo_max_discharge_map[pipe] = max_discharge_var_name + self._heat_pipe_topo_max_discharge_map[pipe] = max_discharge_var_name if len(pipe_classes) > 0: - self.__pipe_topo_max_discharge_nominals[max_discharge_var_name] = np.median( + self.__heat_pipe_topo_max_discharge_nominals[max_discharge_var_name] = np.median( max_discharges ) - self.__pipe_topo_max_discharge_var_bounds[max_discharge_var_name] = ( + self.__heat_pipe_topo_max_discharge_var_bounds[max_discharge_var_name] = ( -max(max_discharges), max(max_discharges), ) else: max_velocity = self.heat_network_settings["maximum_velocity"] - self.__pipe_topo_max_discharge_nominals[max_discharge_var_name] = ( + self.__heat_pipe_topo_max_discharge_nominals[max_discharge_var_name] = ( parameters[f"{pipe}.area"] * max_velocity ) - self.__pipe_topo_max_discharge_var_bounds[max_discharge_var_name] = ( + self.__heat_pipe_topo_max_discharge_var_bounds[max_discharge_var_name] = ( -parameters[f"{pipe}.area"] * max_velocity, parameters[f"{pipe}.area"] * max_velocity, ) @@ -541,47 +542,53 @@ def pre(self): # No pipe class decision to make for this pipe w.r.t. diameter diameter = parameters[f"{pipe}.diameter"] investment_cost = parameters[f"{pipe}.investment_cost_coefficient"] - self.__pipe_topo_diameter_var_bounds[diam_var_name] = (diameter, diameter) - self.__pipe_topo_cost_var_bounds[cost_var_name] = (investment_cost, investment_cost) + self.__heat_pipe_topo_diameter_var_bounds[diam_var_name] = (diameter, diameter) + self.__heat_pipe_topo_cost_var_bounds[cost_var_name] = ( + investment_cost, + investment_cost, + ) if diameter > 0.0: - self.__pipe_topo_diameter_nominals[diam_var_name] = diameter - self.__pipe_topo_cost_nominals[cost_var_name] = max(investment_cost, 1.0) + self.__heat_pipe_topo_diameter_nominals[diam_var_name] = diameter + self.__heat_pipe_topo_cost_nominals[cost_var_name] = max(investment_cost, 1.0) elif len(pipe_classes) == 1: # No pipe class decision to make for this pipe w.r.t. diameter diameter = pipe_classes[0].inner_diameter investment_cost = pipe_classes[0].investment_costs - self.__pipe_topo_diameter_var_bounds[diam_var_name] = (diameter, diameter) - self.__pipe_topo_cost_var_bounds[cost_var_name] = (investment_cost, investment_cost) + self.__heat_pipe_topo_diameter_var_bounds[diam_var_name] = (diameter, diameter) + self.__heat_pipe_topo_cost_var_bounds[cost_var_name] = ( + investment_cost, + investment_cost, + ) if diameter > 0.0: - self.__pipe_topo_diameter_nominals[diam_var_name] = diameter - self.__pipe_topo_cost_nominals[cost_var_name] = max(investment_cost, 1.0) + self.__heat_pipe_topo_diameter_nominals[diam_var_name] = diameter + self.__heat_pipe_topo_cost_nominals[cost_var_name] = max(investment_cost, 1.0) if investment_cost == 0.0: RuntimeWarning(f"{pipe} has an investment cost of 0. €/m") for ensemble_member in range(self.ensemble_size): - d = self.__pipe_topo_diameter_area_parameters[ensemble_member] + d = self.__heat_pipe_topo_diameter_area_parameters[ensemble_member] d[f"{pipe}.diameter"] = diameter d[f"{pipe}.area"] = pipe_classes[0].area else: diameters = [c.inner_diameter for c in pipe_classes] - self.__pipe_topo_diameter_var_bounds[diam_var_name] = ( + self.__heat_pipe_topo_diameter_var_bounds[diam_var_name] = ( min(diameters), max(diameters), ) costs = [c.investment_costs for c in pipe_classes] - self.__pipe_topo_cost_var_bounds[cost_var_name] = ( + self.__heat_pipe_topo_cost_var_bounds[cost_var_name] = ( min(costs), max(costs), ) - self.__pipe_topo_cost_nominals[cost_var_name] = np.median(costs) + self.__heat_pipe_topo_cost_nominals[cost_var_name] = np.median(costs) - self.__pipe_topo_diameter_nominals[diam_var_name] = min( + self.__heat_pipe_topo_diameter_nominals[diam_var_name] = min( x for x in diameters if x > 0.0 ) for ensemble_member in range(self.ensemble_size): - d = self.__pipe_topo_diameter_area_parameters[ensemble_member] + d = self.__heat_pipe_topo_diameter_area_parameters[ensemble_member] d[f"{pipe}.diameter"] = np.nan d[f"{pipe}.area"] = np.nan @@ -616,7 +623,7 @@ def pre(self): ) for ensemble_member in range(self.ensemble_size): - h = self.__pipe_topo_heat_loss_parameters[ensemble_member] + h = self.__heat_pipe_topo_heat_loss_parameters[ensemble_member] h[f"{pipe}.Heat_loss"] = pipe_heat_loss(self, options, parameters, pipe) elif len(pipe_classes) == 1: @@ -637,7 +644,7 @@ def pre(self): ) for ensemble_member in range(self.ensemble_size): - h = self.__pipe_topo_heat_loss_parameters[ensemble_member] + h = self.__heat_pipe_topo_heat_loss_parameters[ensemble_member] h[f"{pipe}.Heat_loss"] = heat_loss else: heat_losses = [ @@ -655,7 +662,7 @@ def pre(self): ) for ensemble_member in range(self.ensemble_size): - h = self.__pipe_topo_heat_loss_parameters[ensemble_member] + h = self.__heat_pipe_topo_heat_loss_parameters[ensemble_member] h[f"{pipe}.Heat_loss"] = max( pipe_heat_loss(self, options, parameters, pipe), 1.0 ) @@ -665,10 +672,10 @@ def pre(self): # No pipe class decision to make for this pipe pass else: - self._pipe_topo_pipe_class_map[pipe] = {} - self.__pipe_topo_pipe_class_discharge_ordering_map[pipe] = {} - self.__pipe_topo_pipe_class_cost_ordering_map[pipe] = {} - self.__pipe_topo_pipe_class_heat_loss_ordering_map[pipe] = {} + self._heat_pipe_topo_pipe_class_map[pipe] = {} + self.__heat_pipe_topo_pipe_class_discharge_ordering_map[pipe] = {} + self.__heat_pipe_topo_pipe_class_cost_ordering_map[pipe] = {} + self.__heat_pipe_topo_pipe_class_heat_loss_ordering_map[pipe] = {} for c in pipe_classes: neighbour = self.has_related_pipe(pipe) @@ -696,39 +703,39 @@ def pre(self): f"{pipe}__hn_pipe_class_{c.name}_heat_loss_ordering" ) - self._pipe_topo_pipe_class_map[pipe][c] = pipe_class_var_name - self.__pipe_topo_pipe_class_var[pipe_class_var_name] = ca.MX.sym( + self._heat_pipe_topo_pipe_class_map[pipe][c] = pipe_class_var_name + self.__heat_pipe_topo_pipe_class_var[pipe_class_var_name] = ca.MX.sym( pipe_class_var_name ) - self.__pipe_topo_pipe_class_var_bounds[pipe_class_var_name] = (0.0, 1.0) + self.__heat_pipe_topo_pipe_class_var_bounds[pipe_class_var_name] = (0.0, 1.0) - self.__pipe_topo_pipe_class_discharge_ordering_map[pipe][ + self.__heat_pipe_topo_pipe_class_discharge_ordering_map[pipe][ c ] = pipe_class_ordering_name - self.__pipe_topo_pipe_class_discharge_ordering_var[pipe_class_ordering_name] = ( - ca.MX.sym(pipe_class_ordering_name) - ) - self.__pipe_topo_pipe_class_discharge_ordering_var_bounds[ + self.__heat_pipe_topo_pipe_class_discharge_ordering_var[ + pipe_class_ordering_name + ] = ca.MX.sym(pipe_class_ordering_name) + self.__heat_pipe_topo_pipe_class_discharge_ordering_var_bounds[ pipe_class_ordering_name ] = (0.0, 1.0) - self.__pipe_topo_pipe_class_cost_ordering_map[pipe][ + self.__heat_pipe_topo_pipe_class_cost_ordering_map[pipe][ c ] = pipe_class_cost_ordering_name - self.__pipe_topo_pipe_class_cost_ordering_var[pipe_class_cost_ordering_name] = ( - ca.MX.sym(pipe_class_cost_ordering_name) - ) - self.__pipe_topo_pipe_class_cost_ordering_var_bounds[ + self.__heat_pipe_topo_pipe_class_cost_ordering_var[ + pipe_class_cost_ordering_name + ] = ca.MX.sym(pipe_class_cost_ordering_name) + self.__heat_pipe_topo_pipe_class_cost_ordering_var_bounds[ pipe_class_cost_ordering_name ] = (0.0, 1.0) - self.__pipe_topo_pipe_class_heat_loss_ordering_map[pipe][ + self.__heat_pipe_topo_pipe_class_heat_loss_ordering_map[pipe][ c ] = pipe_class_heat_loss_ordering_name - self.__pipe_topo_pipe_class_heat_loss_ordering_var[ + self.__heat_pipe_topo_pipe_class_heat_loss_ordering_var[ pipe_class_heat_loss_ordering_name ] = ca.MX.sym(pipe_class_heat_loss_ordering_name) - self.__pipe_topo_pipe_class_heat_loss_ordering_var_bounds[ + self.__heat_pipe_topo_pipe_class_heat_loss_ordering_var_bounds[ pipe_class_heat_loss_ordering_name ] = (0.0, 1.0) @@ -736,11 +743,14 @@ def pre(self): # optimized. Note that the flow direction may have already been fixed # based on the original bounds, if that was desired. We can therefore # naively override the bounds without taking this into account. - for pipe in self._pipe_topo_pipe_class_map: - pipe_classes = self._pipe_topo_pipe_class_map[pipe] + for pipe in self._heat_pipe_topo_pipe_class_map: + pipe_classes = self._heat_pipe_topo_pipe_class_map[pipe] max_discharge = max([c.maximum_discharge for c in pipe_classes]) - self.__pipe_topo_heat_discharge_bounds[f"{pipe}.Q"] = (-max_discharge, max_discharge) + self.__heat_pipe_topo_heat_discharge_bounds[f"{pipe}.Q"] = ( + -max_discharge, + max_discharge, + ) # Heat on cold side is zero, so no change needed cp = parameters[f"{pipe}.cp"] @@ -750,11 +760,17 @@ def pre(self): # TODO: if temperature is variable these bounds should be set differently max_heat = 2.0 * cp * rho * temperature * max_discharge - self.__pipe_topo_heat_discharge_bounds[f"{pipe}.HeatIn.Heat"] = (-max_heat, max_heat) - self.__pipe_topo_heat_discharge_bounds[f"{pipe}.HeatOut.Heat"] = (-max_heat, max_heat) + self.__heat_pipe_topo_heat_discharge_bounds[f"{pipe}.HeatIn.Heat"] = ( + -max_heat, + max_heat, + ) + self.__heat_pipe_topo_heat_discharge_bounds[f"{pipe}.HeatOut.Heat"] = ( + -max_heat, + max_heat, + ) # When optimizing for pipe size, we do not yet support all options - if self._pipe_topo_pipe_class_map: + if self._heat_pipe_topo_pipe_class_map: if np.isfinite(options["maximum_temperature_der"]) and np.isfinite( options["maximum_flow_der"] ): @@ -1006,7 +1022,7 @@ def get_optimized_pipe_class(self, pipe: str) -> PipeClass: Return the optimized pipe class for a specific pipe. If no optimized pipe class is available (yet), a `KeyError` is returned. """ - return self.__pipe_topo_pipe_class_result[pipe] + return self.__heat_pipe_topo_pipe_class_result[pipe] def get_optimized_deman_insulation_class(self, demand_insulation: str) -> DemandInsulationClass: """ @@ -1019,13 +1035,13 @@ def pipe_diameter_symbol_name(self, pipe: str) -> str: """ Return the symbol name for the pipe diameter """ - return self._pipe_topo_diameter_map[pipe] + return self._heat_pipe_topo_diameter_map[pipe] def pipe_cost_symbol_name(self, pipe: str) -> str: """ Return the symbol name for the pipe investment cost per meter """ - return self._pipe_topo_cost_map[pipe] + return self._heat_pipe_topo_cost_map[pipe] @property def extra_variables(self): @@ -1034,21 +1050,21 @@ def extra_variables(self): problem. Note that these are only the normal variables not path variables. """ variables = super().extra_variables.copy() - variables.extend(self.__pipe_topo_diameter_var.values()) - variables.extend(self.__pipe_topo_cost_var.values()) - variables.extend(self.__pipe_topo_pipe_class_var.values()) + variables.extend(self.__heat_pipe_topo_diameter_var.values()) + variables.extend(self.__heat_pipe_topo_cost_var.values()) + variables.extend(self.__heat_pipe_topo_pipe_class_var.values()) variables.extend(self.__gas_pipe_topo_diameter_var.values()) variables.extend(self.__gas_pipe_topo_cost_var.values()) variables.extend(self.__gas_pipe_topo_pipe_class_var.values()) variables.extend(self.__asset_max_size_var.values()) variables.extend(self.__asset_aggregation_count_var.values()) variables.extend(self.__gas_pipe_topo_max_discharge_var.values()) - variables.extend(self.__pipe_topo_max_discharge_var.values()) - variables.extend(self.__pipe_topo_global_pipe_class_count_var.values()) + variables.extend(self.__heat_pipe_topo_max_discharge_var.values()) + variables.extend(self.__heat_pipe_topo_global_pipe_class_count_var.values()) variables.extend(self.__gas_pipe_topo_global_pipe_class_count_var.values()) - variables.extend(self.__pipe_topo_pipe_class_discharge_ordering_var.values()) - variables.extend(self.__pipe_topo_pipe_class_cost_ordering_var.values()) - variables.extend(self.__pipe_topo_pipe_class_heat_loss_ordering_var.values()) + variables.extend(self.__heat_pipe_topo_pipe_class_discharge_ordering_var.values()) + variables.extend(self.__heat_pipe_topo_pipe_class_cost_ordering_var.values()) + variables.extend(self.__heat_pipe_topo_pipe_class_heat_loss_ordering_var.values()) variables.extend(self.__gas_pipe_topo_pipe_class_discharge_ordering_var.values()) variables.extend(self.__gas_pipe_topo_pipe_class_cost_ordering_var.values()) variables.extend(self.__electricity_cable_topo_max_current_var.values()) @@ -1076,11 +1092,11 @@ def variable_is_discrete(self, variable): All variables that only can take integer values should be added to this function. """ if ( - variable in self.__pipe_topo_pipe_class_var + variable in self.__heat_pipe_topo_pipe_class_var or variable in self.__asset_aggregation_count_var - or variable in self.__pipe_topo_pipe_class_discharge_ordering_var - or variable in self.__pipe_topo_pipe_class_cost_ordering_var - or variable in self.__pipe_topo_pipe_class_heat_loss_ordering_var + or variable in self.__heat_pipe_topo_pipe_class_discharge_ordering_var + or variable in self.__heat_pipe_topo_pipe_class_cost_ordering_var + or variable in self.__heat_pipe_topo_pipe_class_heat_loss_ordering_var or variable in self.__gas_pipe_topo_pipe_class_discharge_ordering_var or variable in self.__gas_pipe_topo_pipe_class_cost_ordering_var or variable in self.__gas_pipe_topo_pipe_class_var @@ -1096,16 +1112,16 @@ def variable_nominal(self, variable): """ In this function we add all the nominals for the variables defined/added in the HeatMixin. """ - if variable in self.__pipe_topo_diameter_nominals: - return self.__pipe_topo_diameter_nominals[variable] + if variable in self.__heat_pipe_topo_diameter_nominals: + return self.__heat_pipe_topo_diameter_nominals[variable] elif variable in self._pipe_heat_loss_nominals: return self._pipe_heat_loss_nominals[variable] - elif variable in self.__pipe_topo_cost_nominals: - return self.__pipe_topo_cost_nominals[variable] + elif variable in self.__heat_pipe_topo_cost_nominals: + return self.__heat_pipe_topo_cost_nominals[variable] elif variable in self.__asset_max_size_nominals: return self.__asset_max_size_nominals[variable] - elif variable in self.__pipe_topo_max_discharge_nominals: - return self.__pipe_topo_max_discharge_nominals[variable] + elif variable in self.__heat_pipe_topo_max_discharge_nominals: + return self.__heat_pipe_topo_max_discharge_nominals[variable] elif variable in self.__gas_pipe_topo_diameter_nominals: return self.__gas_pipe_topo_diameter_nominals[variable] elif variable in self.__gas_pipe_topo_cost_nominals: @@ -1127,23 +1143,23 @@ def bounds(self): the HeatMixin. """ bounds = super().bounds() - bounds.update(self.__pipe_topo_pipe_class_var_bounds) - bounds.update(self.__pipe_topo_diameter_var_bounds) - bounds.update(self.__pipe_topo_cost_var_bounds) + bounds.update(self.__heat_pipe_topo_pipe_class_var_bounds) + bounds.update(self.__heat_pipe_topo_diameter_var_bounds) + bounds.update(self.__heat_pipe_topo_cost_var_bounds) bounds.update(self._pipe_heat_loss_var_bounds) - bounds.update(self.__pipe_topo_heat_discharge_bounds) + bounds.update(self.__heat_pipe_topo_heat_discharge_bounds) bounds.update(self.__gas_pipe_topo_pipe_class_var_bounds) bounds.update(self.__gas_pipe_topo_diameter_var_bounds) bounds.update(self.__gas_pipe_topo_cost_var_bounds) bounds.update(self.__asset_max_size_bounds) bounds.update(self.__asset_aggregation_count_var_bounds) - bounds.update(self.__pipe_topo_max_discharge_var_bounds) + bounds.update(self.__heat_pipe_topo_max_discharge_var_bounds) bounds.update(self.__gas_pipe_topo_max_discharge_var_bounds) - bounds.update(self.__pipe_topo_global_pipe_class_count_var_bounds) + bounds.update(self.__heat_pipe_topo_global_pipe_class_count_var_bounds) bounds.update(self.__gas_pipe_topo_global_pipe_class_count_var_bounds) - bounds.update(self.__pipe_topo_pipe_class_discharge_ordering_var_bounds) - bounds.update(self.__pipe_topo_pipe_class_cost_ordering_var_bounds) - bounds.update(self.__pipe_topo_pipe_class_heat_loss_ordering_var_bounds) + bounds.update(self.__heat_pipe_topo_pipe_class_discharge_ordering_var_bounds) + bounds.update(self.__heat_pipe_topo_pipe_class_cost_ordering_var_bounds) + bounds.update(self.__heat_pipe_topo_pipe_class_heat_loss_ordering_var_bounds) bounds.update(self.__gas_pipe_topo_pipe_class_discharge_ordering_var_bounds) bounds.update(self.__gas_pipe_topo_pipe_class_cost_ordering_var_bounds) bounds.update(self.__electricity_cable_topo_max_current_var_bounds) @@ -1166,10 +1182,10 @@ def parameters(self, ensemble_member): # parameters in e.g. constraints when those are variable, we set them # to NaN in that case. In post(), they are set to their resulting # values once again. - if self.__pipe_topo_diameter_area_parameters: - parameters.update(self.__pipe_topo_diameter_area_parameters[ensemble_member]) - if self.__pipe_topo_heat_loss_parameters: - parameters.update(self.__pipe_topo_heat_loss_parameters[ensemble_member]) + if self.__heat_pipe_topo_diameter_area_parameters: + parameters.update(self.__heat_pipe_topo_diameter_area_parameters[ensemble_member]) + if self.__heat_pipe_topo_heat_loss_parameters: + parameters.update(self.__heat_pipe_topo_heat_loss_parameters[ensemble_member]) return parameters @@ -1201,7 +1217,7 @@ def __get_maximum_total_head_loss(self): # TODO: asset sizing is currently hard coded to use only the milp network settings for pipe in components.get("heat_pipe", []): try: - pipe_classes = self._pipe_topo_pipe_class_map[pipe].keys() + pipe_classes = self._heat_pipe_topo_pipe_class_map[pipe].keys() head_loss += max( self._hn_head_loss_class._hn_pipe_head_loss( pipe, @@ -1268,7 +1284,7 @@ def __pipe_topology_constraints(self, ensemble_member): for p in self.energy_system_components.get("heat_pipe", []): try: - pipe_classes = self._pipe_topo_pipe_class_map[p] + pipe_classes = self._heat_pipe_topo_pipe_class_map[p] except KeyError: pass else: @@ -1282,15 +1298,15 @@ def __pipe_topology_constraints(self, ensemble_member): for pc in unique_pipe_classes: var = self.extra_variable( - self.__pipe_topo_global_pipe_class_count_map[pc.name], ensemble_member + self.__heat_pipe_topo_global_pipe_class_count_map[pc.name], ensemble_member ) constraints.append(((pipe_class_count_sum[pc.name] - var), 0.0, 0.0)) # These are the constraints to order the discharge capabilities of the pipe classes - for p, pipe_classes in self.__pipe_topo_pipe_class_discharge_ordering_map.items(): - max_discharge = self.extra_variable(self._pipe_topo_max_discharge_map[p]) + for p, pipe_classes in self.__heat_pipe_topo_pipe_class_discharge_ordering_map.items(): + max_discharge = self.extra_variable(self._heat_pipe_topo_max_discharge_map[p]) max_discharges = { - pc.name: pc.maximum_discharge for pc in self._pipe_topo_pipe_class_map[p] + pc.name: pc.maximum_discharge for pc in self._heat_pipe_topo_pipe_class_map[p] } median_discharge = np.median(list(max_discharges.values())) @@ -1324,10 +1340,10 @@ def __pipe_topology_constraints(self, ensemble_member): ) # These are the constraints to order the costs of the pipe classes - for p, pipe_classes in self.__pipe_topo_pipe_class_cost_ordering_map.items(): - cost_sym_name = self._pipe_topo_cost_map[p] + for p, pipe_classes in self.__heat_pipe_topo_pipe_class_cost_ordering_map.items(): + cost_sym_name = self._heat_pipe_topo_cost_map[p] cost_sym = self.extra_variable(cost_sym_name, ensemble_member) - costs = {pc.name: pc.investment_costs for pc in self._pipe_topo_pipe_class_map[p]} + costs = {pc.name: pc.investment_costs for pc in self._heat_pipe_topo_pipe_class_map[p]} big_m = 2.0 * max(costs.values()) for pc, var_name in pipe_classes.items(): @@ -1353,7 +1369,10 @@ def __pipe_topology_constraints(self, ensemble_member): # These are the constraints to order the milp loss of the pipe classes. if not self.energy_system_options()["neglect_pipe_heat_losses"]: - for pipe, pipe_classes in self.__pipe_topo_pipe_class_heat_loss_ordering_map.items(): + for ( + pipe, + pipe_classes, + ) in self.__heat_pipe_topo_pipe_class_heat_loss_ordering_map.items(): if pipe in self.hot_pipes and self.has_related_pipe(pipe): heat_loss_sym_name = self._pipe_heat_loss_map[pipe] heat_loss_sym = self.extra_variable(heat_loss_sym_name, ensemble_member) @@ -1400,7 +1419,7 @@ def __pipe_topology_constraints(self, ensemble_member): ) ) - for p, pipe_classes in self._pipe_topo_pipe_class_map.items(): + for p, pipe_classes in self._heat_pipe_topo_pipe_class_map.items(): variables = { pc.name: self.extra_variable(var_name, ensemble_member) for pc, var_name in pipe_classes.items() @@ -1410,7 +1429,7 @@ def __pipe_topology_constraints(self, ensemble_member): constraints.append((sum(variables.values()), 1.0, 1.0)) # set the max discharge - max_discharge = self.extra_variable(self._pipe_topo_max_discharge_map[p]) + max_discharge = self.extra_variable(self._heat_pipe_topo_max_discharge_map[p]) max_discharges = {pc.name: pc.maximum_discharge for pc in pipe_classes} max_discharge_expr = sum( variables[pc_name] * max_discharges[pc_name] for pc_name in variables @@ -1419,14 +1438,14 @@ def __pipe_topology_constraints(self, ensemble_member): constraints.append( ( (max_discharge - max_discharge_expr) - / self.variable_nominal(self._pipe_topo_max_discharge_map[p]), + / self.variable_nominal(self._heat_pipe_topo_max_discharge_map[p]), 0.0, 0.0, ) ) # Match the indicators to the diameter symbol - diam_sym_name = self._pipe_topo_diameter_map[p] + diam_sym_name = self._heat_pipe_topo_diameter_map[p] diam_sym = self.extra_variable(diam_sym_name, ensemble_member) diameters = {pc.name: pc.inner_diameter for pc in pipe_classes} @@ -1437,7 +1456,7 @@ def __pipe_topology_constraints(self, ensemble_member): constraints.append(((diam_sym - diam_expr) / constraint_nominal, 0.0, 0.0)) # match the indicators to the cost symbol - cost_sym_name = self._pipe_topo_cost_map[p] + cost_sym_name = self._heat_pipe_topo_cost_map[p] cost_sym = self.extra_variable(cost_sym_name, ensemble_member) investment_costs = {pc.name: pc.investment_costs for pc in pipe_classes} @@ -1746,7 +1765,9 @@ def __pipe_topology_path_constraints(self, ensemble_member): discharge_sym = self.state(f"{p}.Q") nominal = self.variable_nominal(f"{p}.Q") - max_discharge = self.__pipe_topo_max_discharge_var[self._pipe_topo_max_discharge_map[p]] + max_discharge = self.__heat_pipe_topo_max_discharge_var[ + self._heat_pipe_topo_max_discharge_map[p] + ] constraints.append(((max_discharge - discharge_sym) / nominal, 0.0, np.inf)) constraints.append(((-max_discharge - discharge_sym) / nominal, -np.inf, 0.0)) @@ -2172,12 +2193,12 @@ def __pipe_class_to_results(self): else: pipe_class = next( c - for c, s in self._pipe_topo_pipe_class_map[pipe].items() + for c, s in self._heat_pipe_topo_pipe_class_map[pipe].items() if round(results[s][0]) == 1.0 ) for p in [pipe, self.hot_to_cold_pipe(pipe)]: - self.__pipe_topo_pipe_class_result[p] = pipe_class + self.__heat_pipe_topo_pipe_class_result[p] = pipe_class def _pipe_heat_loss_to_parameters(self): """ @@ -2188,7 +2209,7 @@ def _pipe_heat_loss_to_parameters(self): for ensemble_member in range(self.ensemble_size): parameters = self.parameters(ensemble_member) - h = self.__pipe_topo_heat_loss_parameters[ensemble_member] + h = self.__heat_pipe_topo_heat_loss_parameters[ensemble_member] for pipe in self._pipe_heat_losses: pipe_class = self.get_optimized_pipe_class(pipe) @@ -2202,8 +2223,8 @@ def __pipe_diameter_to_parameters(self): optimization """ for ensemble_member in range(self.ensemble_size): - d = self.__pipe_topo_diameter_area_parameters[ensemble_member] - for pipe in self._pipe_topo_pipe_class_map: + d = self.__heat_pipe_topo_diameter_area_parameters[ensemble_member] + for pipe in self._heat_pipe_topo_pipe_class_map: pipe_class = self.get_optimized_pipe_class(pipe) for p in [pipe, self.hot_to_cold_pipe(pipe)]: diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index c076076b0..670989f86 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -557,6 +557,7 @@ def convert_heat_pipe( mass_flow=dict( min=-q_max * density, max=q_max * density, nominal=q_nominal * density ), + Hydraulic_power=dict(nominal=q_nominal * pressure), ) modifiers = dict( length=length, @@ -1441,6 +1442,7 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: # DO not remove due usage in future # hydrogen_specfic_energy = 20.0 / 1.0e6 density = self.get_density(asset.name, asset.in_ports[0].carrier) + pressure = asset.in_ports[0].carrier.pressure * 1.0e5 q_nominal = self._get_connected_q_nominal(asset) modifiers = dict( @@ -1456,6 +1458,7 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: nominal=self._get_connected_q_nominal(asset), ), mass_flow=dict(nominal=density * q_nominal), + Hydraulic_power=dict(min=0.0, max=0.0, nominal=q_nominal * pressure), ), **self._get_cost_figure_modifiers(asset), ) @@ -1481,6 +1484,7 @@ def convert_gas_source(self, asset: Asset) -> Tuple[Type[GasSource], MODIFIERS]: q_nominal = self._get_connected_q_nominal(asset) density_value = self.get_density(asset.name, asset.out_ports[0].carrier) + pressure = asset.out_ports[0].carrier.pressure * 1.0e5 bounds_nominals_mass_flow = dict( min=0.0, @@ -1495,6 +1499,7 @@ def convert_gas_source(self, asset: Asset) -> Tuple[Type[GasSource], MODIFIERS]: GasOut=dict( Q=dict(nominal=q_nominal), mass_flow=bounds_nominals_mass_flow, + Hydraulic_power=dict(nominal=q_nominal * pressure), ), **self._get_cost_figure_modifiers(asset), ) @@ -1587,6 +1592,7 @@ def convert_gas_tank_storage(self, asset: Asset) -> Tuple[Type[GasTankStorage], # hydrogen_specific_energy = 20.0 / 1.0e6 # kg/Wh q_nominal = self._get_connected_q_nominal(asset) density = self.get_density(asset.name, asset.in_ports[0].carrier) + pressure = asset.in_ports[0].carrier.pressure * 1.0e5 modifiers = dict( Q_nominal=q_nominal, @@ -1600,7 +1606,11 @@ def convert_gas_tank_storage(self, asset: Asset) -> Tuple[Type[GasTankStorage], # min=-self._get_connected_q_max(asset), max=self._get_connected_q_max(asset), # nominal=self._get_connected_q_nominal(asset), # ) - GasIn=dict(Q=dict(nominal=q_nominal), mass_flow=dict(nominal=q_nominal * density)), + GasIn=dict( + Q=dict(nominal=q_nominal), + mass_flow=dict(nominal=q_nominal * density), + Hydraulic_power=dict(nominal=q_nominal * pressure), + ), **self._get_cost_figure_modifiers(asset), ) @@ -1624,6 +1634,8 @@ def convert_gas_substation(self, asset: Asset) -> Tuple[Type[GasSubstation], MOD q_nom_in, q_nom_out = self._get_connected_q_nominal(asset) density_in = self.get_density(asset.name, asset.in_ports[0].carrier) density_out = self.get_density(asset.name, asset.out_ports[0].carrier) + pressure_in = asset.in_ports[0].carrier.pressure * 1.0e5 + pressure_out = asset.out_ports[0].carrier.pressure * 1.0e5 assert density_in >= density_out @@ -1632,8 +1644,16 @@ def convert_gas_substation(self, asset: Asset) -> Tuple[Type[GasSubstation], MOD Q_nominal_out=q_nom_out, density_in=density_in, density_out=density_out, - GasIn=dict(Q=dict(nominal=q_nom_in), mass_flow=dict(nominal=q_nom_in * density_in)), - GasOut=dict(Q=dict(nominal=q_nom_out), mass_flow=dict(nominal=q_nom_out * density_out)), + GasIn=dict( + Q=dict(nominal=q_nom_in), + mass_flow=dict(nominal=q_nom_in * density_in), + Hydraulic_power=dict(nominal=q_nom_in * pressure_in), + ), + GasOut=dict( + Q=dict(nominal=q_nom_out), + mass_flow=dict(nominal=q_nom_out * density_out), + Hydraulic_power=dict(nominal=q_nom_out * pressure_out), + ), **self._get_cost_figure_modifiers(asset), ) @@ -1650,13 +1670,15 @@ def convert_compressor(self, asset: Asset) -> Tuple[Type[Compressor], MODIFIERS] Returns ------- - GasTankStorage class with modifiers + Compressor class with modifiers """ assert asset.asset_type in {"Compressor"} q_nom_in, q_nom_out = self._get_connected_q_nominal(asset) density_in = self.get_density(asset.name, asset.in_ports[0].carrier) density_out = self.get_density(asset.name, asset.out_ports[0].carrier) + pressure_in = asset.in_ports[0].carrier.pressure * 1.0e5 + pressure_out = asset.out_ports[0].carrier.pressure * 1.0e5 assert density_out >= density_in @@ -1665,8 +1687,16 @@ def convert_compressor(self, asset: Asset) -> Tuple[Type[Compressor], MODIFIERS] Q_nominal_out=q_nom_out, density_in=density_in, density_out=density_out, - GasIn=dict(Q=dict(nominal=q_nom_in), mass_flow=dict(nominal=q_nom_in * density_in)), - GasOut=dict(Q=dict(nominal=q_nom_out), mass_flow=dict(nominal=q_nom_out * density_out)), + GasIn=dict( + Q=dict(nominal=q_nom_in), + mass_flow=dict(nominal=q_nom_in * density_in), + Hydraulic_power=dict(nominal=q_nom_in * pressure_in), + ), + GasOut=dict( + Q=dict(nominal=q_nom_out), + mass_flow=dict(nominal=q_nom_out * density_out), + Hydraulic_power=dict(nominal=q_nom_out * pressure_out), + ), **self._get_cost_figure_modifiers(asset), ) diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index 4cca7fa9b..bb8c25cae 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -109,7 +109,7 @@ def __init__(self, *args, **kwargs): self.__gas_pipe_head_loss_bounds = {} self.__gas_pipe_head_loss_nominals = {} self.__gas_pipe_head_loss_zero_bounds = {} - self._hn_gas_pipe_to_head_loss_map = {} + self._gn_pipe_to_head_loss_map = {} # Boolean path-variable for the direction of the flow, inport to outport is positive flow. self.__gas_flow_direct_var = {} @@ -132,6 +132,10 @@ def __init__(self, *args, **kwargs): self._gas_pipe_topo_pipe_class_map = {} + # self.__gas_pipe_disconnect_var = {} + # self.__gas_pipe_disconnect_var_bounds = {} + self._gas_pipe_disconnect_map = {} + def gas_carriers(self): """ This function should be overwritten by the problem and should give a dict with the @@ -183,7 +187,7 @@ def _get_min_bound(bound): if initialized_vars[2] != {}: self.__gas_pipe_head_loss_zero_bounds[f"{pipe_name}.dH"] = initialized_vars[2] if initialized_vars[3] != {}: - self._hn_gas_pipe_to_head_loss_map[pipe_name] = initialized_vars[3] + self._gn_pipe_to_head_loss_map[pipe_name] = initialized_vars[3] if initialized_vars[4] != {}: self.__gas_pipe_head_loss_var[head_loss_var] = initialized_vars[4] if initialized_vars[5] != {}: @@ -233,7 +237,7 @@ def _get_min_bound(bound): else: self.__gas_flow_direct_bounds[flow_dir_var] = (0.0, 1.0) - # Still to be added in the future + # # Still to be added in the future # if parameters[f"{pipe_name}.disconnectable"]: # disconnected_var = f"{pipe_name}__is_disconnected" # self._gas_pipe_disconnect_map[pipe_name] = disconnected_var @@ -336,6 +340,18 @@ def path_goals(self): self, self.gas_network_settings ) ) + if ( + self.gas_network_settings["head_loss_option"] + == HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY + or self.gas_network_settings["head_loss_option"] + == HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + ): + g.append( + self._gn_head_loss_class._hpwr_minimization_goal_class( + self, + self.gas_network_settings, + ) + ) return g @@ -375,7 +391,7 @@ def __get_maximum_total_head_loss(self): self.gas_network_settings, parameters, max_discharge, - network_type=self.gas_network_settings["network_type"], + # network_type=self.gas_network_settings["network_type"], pressure=parameters[f"{pipe}.pressure"], ) @@ -424,6 +440,28 @@ def __gas_node_mixing_path_constraints(self, ensemble_member): return constraints + def __gas_node_hydraulic_power_mixing_path_constraints(self, ensemble_member): + """ + This function adds constraints to ensure that the incoming hydraulic power equals the + outgoing hydraulic power. We assume constant density throughout a hydraulically coupled + system and thus these constraints are needed for mass conservation. + """ + constraints = [] + + for node, connected_pipes in self.energy_system_topology.gas_nodes.items(): + q_sum = 0.0 + q_nominals = [] + + for i_conn, (_pipe, orientation) in connected_pipes.items(): + q_conn = f"{node}.GasConn[{i_conn + 1}].Hydraulic_power" + q_sum += orientation * self.state(q_conn) + q_nominals.append(self.variable_nominal(q_conn)) + + q_nominal = np.median(q_nominals) + constraints.append((q_sum / q_nominal, 0.0, 0.0)) + + return constraints + def __state_vector_scaled(self, variable, ensemble_member): """ This functions returns the casadi symbols scaled with their nominal for the entire time @@ -496,194 +534,6 @@ def __flow_direction_path_constraints(self, ensemble_member): return constraints - def _hn_gas_pipe_head_loss_constraints(self, ensemble_member): - """ - This function adds the head loss constraints for pipes. There are two options namely with - and without pipe class optimization. In both cases we assume that disconnected pipes, pipes - without flow have no head loss. - - Under pipe-class optimization the head loss constraints per pipe class are added and - applied with the big_m method (is_topo_disconnected) to only activate the correct - constraints. - - Under constant pipe class constraints for only one diameter are added. - """ - constraints = [] - - options = self.energy_system_options() - parameters = self.parameters(ensemble_member) - components = self.energy_system_components - # Set the head loss according to the direction in the pipes. Note that - # the `.__head_loss` symbol is always positive by definition, but that - # `.dH` is not (positive when flow is negative, and vice versa). - # If the pipe is disconnected, we leave the .__head_loss symbol free - # (and it has no physical meaning). We also do not set any discharge - # relationship in this case (but dH is still equal to Out - In of - # course). - - for pipe in components.get("gas_pipe", []): - if parameters[f"{pipe}.length"] == 0.0: - # If the pipe does not have a control valve, the head loss is - # forced to zero via bounds. If the pipe _does_ have a control - # valve, then there still is no relationship between the - # discharge and the head loss/dH. - continue - - head_loss_sym = self._hn_gas_pipe_to_head_loss_map[pipe] - - dh = self.__state_vector_scaled(f"{pipe}.dH", ensemble_member) - head_loss = self.__state_vector_scaled(head_loss_sym, ensemble_member) - discharge = self.__state_vector_scaled(f"{pipe}.Q", ensemble_member) - - # We need to make sure the dH is decoupled from the discharge when - # the pipe is disconnected. Simply put, this means making the - # below constraints trivial. - - # Still to be implemented - # is_disconnected_var = self._gas_pipe_disconnect_map.get(pipe) - is_disconnected_var = None - - if is_disconnected_var is None: - is_disconnected = 0.0 - else: - is_disconnected = self.__state_vector_scaled(is_disconnected_var, ensemble_member) - - max_discharge = None - max_head_loss = -np.inf - - if pipe in self._gas_pipe_topo_pipe_class_map: - # Multiple diameter options for this pipe - pipe_classes = self._gas_pipe_topo_pipe_class_map[pipe] - max_discharge = max(c.maximum_discharge for c in pipe_classes) - - for pc, pc_var_name in pipe_classes.items(): - if pc.inner_diameter == 0.0: - continue - - head_loss_max_discharge = self._gn_head_loss_class._hn_pipe_head_loss( - pipe, - self, - options, - self.gas_network_settings, - parameters, - max_discharge, - pipe_class=pc, - network_type=self.gas_network_settings["network_type"], - pressure=parameters[f"{pipe}.pressure"], - ) - - big_m = max( - 2.0 * 2.0 * self.__maximum_total_head_loss, 2 * head_loss_max_discharge - ) - - is_topo_disconnected = 1 - self.extra_variable(pc_var_name, ensemble_member) - is_topo_disconnected = ca.repmat(is_topo_disconnected, dh.size1()) - - # Note that we add the two booleans `is_disconnected` and - # `is_topo_disconnected`. This is allowed because of the way the - # resulting expression is used in the Big-M formulation. We only care - # that the expression (i.e. a single boolean or the sum of the two - # booleans) is either 0 when the pipe is connected, or >= 1 when it - # is disconnected. - constraints.extend( - self._gn_head_loss_class._hn_pipe_head_loss( - pipe, - self, - options, - self.gas_network_settings, - parameters, - discharge, - head_loss, - dh, - is_disconnected + is_topo_disconnected, - big_m, - pc, - network_type=self.gas_network_settings["network_type"], - pressure=parameters[f"{pipe}.pressure"], - ) - ) - - # Contrary to the Big-M calculation above, the relation - # between dH and the head loss symbol requires the - # maximum head loss that can be realized effectively. So - # we pass the current pipe class's maximum discharge. - max_head_loss = max( - max_head_loss, - self._gn_head_loss_class._hn_pipe_head_loss( - pipe, - self, - options, - self.gas_network_settings, - parameters, - pc.maximum_discharge, - pipe_class=pc, - network_type=self.gas_network_settings["network_type"], - pressure=parameters[f"{pipe}.pressure"], - ), - ) - else: - # Only a single diameter for this pipe. Note that we rely on - # the diameter parameter being overridden automatically if a - # single pipe class is set by the user. - area = parameters[f"{pipe}.area"] - max_discharge = self.gas_network_settings["maximum_velocity"] * area - - is_topo_disconnected = int(parameters[f"{pipe}.diameter"] == 0.0) - - constraints.extend( - self._gn_head_loss_class._hn_pipe_head_loss( - pipe, - self, - options, - self.gas_network_settings, - parameters, - discharge, - head_loss, - dh, - is_disconnected + is_topo_disconnected, - 2.0 * 2.0 * self.__maximum_total_head_loss, - network_type=self.gas_network_settings["network_type"], - pressure=parameters[f"{pipe}.pressure"], - ) - ) - - max_head_loss = self._gn_head_loss_class._hn_pipe_head_loss( - pipe, - self, - options, - self.gas_network_settings, - parameters, - max_discharge, - network_type=self.gas_network_settings["network_type"], - pressure=parameters[f"{pipe}.pressure"], - ) - - # Relate the head loss symbol to the pipe's dH symbol. - - # FIXME: Ugly hack. Cold pipes should be modelled completely with - # their own integers as well. - flow_dir = self.__state_vector_scaled( - self._gas_pipe_to_flow_direct_map[pipe], ensemble_member - ) - - # Note that the Big-M should _at least_ cover the maximum - # distance between `head_loss` and `dh`. If `head_loss` can be at - # most 1.0 (= `max_head_loss`), that means our Big-M should be at - # least double (i.e. >= 2.0). And because we do not want Big-Ms to - # be overly tight, we include an additional factor of 2. - big_m = 2.0 * 2.0 * max_head_loss - - constraints.append( - ( - (-dh - head_loss + (1 - flow_dir) * big_m) / big_m, - 0.0, - np.inf, - ) - ) - constraints.append(((dh - head_loss + flow_dir * big_m) / big_m, 0.0, np.inf)) - - return constraints - def path_constraints(self, ensemble_member): """ Here we add all the path constraints to the optimization problem. Please note that the @@ -699,8 +549,13 @@ def path_constraints(self, ensemble_member): constraints.extend( self._gn_head_loss_class._pipe_head_loss_path_constraints(self, ensemble_member) ) - + constraints.extend( + self._gn_head_loss_class._pipe_hydraulic_power_path_constraints( + self, self.__maximum_total_head_loss, ensemble_member + ) + ) constraints.extend(self.__flow_direction_path_constraints(ensemble_member)) + constraints.extend(self.__gas_node_hydraulic_power_mixing_path_constraints(ensemble_member)) return constraints @@ -714,7 +569,11 @@ def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) if self.gas_network_settings["head_loss_option"] != HeadLossOption.NO_HEADLOSS: - constraints.extend(self._hn_gas_pipe_head_loss_constraints(ensemble_member)) + constraints.extend( + self._gn_head_loss_class._pipe_head_loss_constraints( + self, self.__maximum_total_head_loss, ensemble_member + ) + ) return constraints @@ -793,7 +652,7 @@ def priority_completed(self, priority): parameters, q, None, - network_type=self.gas_network_settings["network_type"], + # network_type=self.gas_network_settings["network_type"], pressure=parameters[f"{pipe}.pressure"], ) if ( @@ -802,7 +661,7 @@ def priority_completed(self, priority): ): head_loss = np.abs(results[f"{pipe}.dH"][inds]) else: - head_loss = results[self._hn_gas_pipe_to_head_loss_map[pipe]][inds] + head_loss = results[self._gn_pipe_to_head_loss_map[pipe]][inds] if not np.allclose(head_loss, head_loss_target, rtol=rtol, atol=atol): logger.warning( diff --git a/src/mesido/head_loss_class.py b/src/mesido/head_loss_class.py index be9a6ee72..ae2b64365 100644 --- a/src/mesido/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -19,6 +19,19 @@ logger = logging.getLogger("mesido") +def _state_vector_scaled(optimization_problem, variable, ensemble_member): + """ + This functions returns the casadi symbols scaled with their nominal for the entire time + horizon. + """ + canonical, sign = optimization_problem.alias_relation.canonical_signed(variable) + return ( + optimization_problem.state_vector(canonical, ensemble_member) + * optimization_problem.variable_nominal(canonical) + * sign + ) + + class HeadLossOption(IntEnum): r""" Enumeration for the possible options to take head loss in pipes into account. @@ -149,7 +162,7 @@ def function(self, optimization_problem, ensemble_member): elif self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS: for p in optimization_problem.energy_system_components.get("gas_pipe", []): if not parameters[f"{p}.length"] == 0.0: - sym_name = optimization_problem._hn_gas_pipe_to_head_loss_map[p] + sym_name = optimization_problem._gn_pipe_to_head_loss_map[p] sum_ += optimization_problem.state(sym_name) return sum_ @@ -369,7 +382,7 @@ def initialize_variables_nominals_and_bounds( network_settings, parameters, q_nominal, - network_type=self.network_settings["network_type"], + # network_type=self.network_settings["network_type"], pressure=parameters[f"{pipe_name}.pressure"], ) @@ -495,7 +508,7 @@ def _hn_pipe_head_loss( is_disconnected: Union[ca.MX, int] = 0, big_m: Optional[float] = None, pipe_class: Optional[PipeClass] = None, - network_type: NetworkSettings = NetworkSettings.NETWORK_TYPE_HEAT, + # network_type: NetworkSettings = NetworkSettings.NETWORK_TYPE_HEAT, pressure: float = 0.0, ) -> Union[List[Tuple[ca.MX, BT, BT]], float, np.ndarray]: """ @@ -522,6 +535,8 @@ def _hn_pipe_head_loss( itself then also needs to be passed via the `big_m` keyword argument. """ + network_type = network_settings["network_type"] + if head_loss is None and dh is None: symbolic = False else: @@ -573,7 +588,7 @@ def _hn_pipe_head_loss( maximum_velocity = network_settings["maximum_velocity"] try: - # Only milp networks have a temperature attribute in the pipes, otherwise we will use + # Only heat networks have a temperature attribute in the pipes, otherwise we will use # a default temperature for gas networks temperature = parameters[f"{pipe}.temperature"] for _id, attr in optimization_problem.temperature_carriers().items(): @@ -874,7 +889,6 @@ def _hydraulic_power( big_m: Optional[float] = None, pipe_class: Optional[PipeClass] = None, flow_dir: Union[ca.MX, int] = 0, - network_type: NetworkSettings = NetworkSettings.NETWORK_TYPE_HEAT, pressure: float = 0.0, ) -> Union[List[Tuple[ca.MX, BT, BT]], float, np.ndarray]: """ @@ -904,6 +918,8 @@ def _hydraulic_power( itself then also needs to be passed via the `big_m` keyword argument. """ + network_type = network_settings["network_type"] + if hydraulic_power is None: symbolic = False else: @@ -943,16 +959,22 @@ def _hydraulic_power( assert big_m != 0.0 wall_roughness = energy_system_options["wall_roughness"] - temperature = parameters[f"{pipe}.temperature"] - for _id, attr in optimization_problem.temperature_carriers().items(): - if ( - parameters[f"{pipe}.carrier_id"] == attr["id_number_mapping"] - and len(optimization_problem.temperature_regimes(parameters[f"{pipe}.carrier_id"])) - > 0 - ): - temperature = min( - optimization_problem.temperature_regimes(parameters[f"{pipe}.carrier_id"]) - ) + if network_type == NetworkSettings.NETWORK_TYPE_HEAT: + temperature = parameters[f"{pipe}.temperature"] + for _id, attr in optimization_problem.temperature_carriers().items(): + if ( + parameters[f"{pipe}.carrier_id"] == attr["id_number_mapping"] + and len( + optimization_problem.temperature_regimes(parameters[f"{pipe}.carrier_id"]) + ) + > 0 + ): + temperature = min( + optimization_problem.temperature_regimes(parameters[f"{pipe}.carrier_id"]) + ) + else: + # A default temperature of 20 degrees celcius is used for gas networks. + temperature = 20.0 rho = parameters[f"{pipe}.rho"] if pipe_class is not None: @@ -1134,11 +1156,17 @@ def _pipe_head_loss_path_constraints(self, optimization_problem, _ensemble_membe """ constraints = [] - pipe_type = "heat_pipe" - commodity = "Heat" - if len(optimization_problem.energy_system_components.get(pipe_type, [])) == 0: + if self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HEAT: + commodity = "Heat" + pipe_type = "heat_pipe" + elif self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS: + commodity = "Gas" pipe_type = "gas_pipe" - commodity = NetworkSettings.NETWORK_TYPE_GAS + else: + raise Exception( + f"hydraulic power can not be calculated for network type of " + f"{self.network_settings['network_type']}" + ) for pipe in optimization_problem.energy_system_components.get(pipe_type, []): dh = optimization_problem.state(f"{pipe}.dH") @@ -1178,3 +1206,365 @@ def _demand_head_loss_path_constraints(self, optimization_problem, _ensemble_mem ) return constraints + + def _pipe_head_loss_constraints( + self, optimization_problem, _maximum_total_head_loss, ensemble_member + ): + """ + This function adds the head loss constraints for pipes. There are two options namely with + and without pipe class optimization. In both cases we assume that disconnected pipes, pipes + without flow have no head loss. + + Under pipe-class optimization the head loss constraints per pipe class are added and + applied with the big_m method (is_topo_disconnected) to only activate the correct + constraints. + + Under constant pipe class constraints for only one diameter are added. + """ + constraints = [] + + options = optimization_problem.energy_system_options() + parameters = optimization_problem.parameters(ensemble_member) + components = optimization_problem.energy_system_components + # Set the head loss according to the direction in the pipes. Note that + # the `.__head_loss` symbol is always positive by definition, but that + # `.dH` is not (positive when flow is negative, and vice versa). + # If the pipe is disconnected, we leave the .__head_loss symbol free + # (and it has no physical meaning). We also do not set any discharge + # relationship in this case (but dH is still equal to Out - In of + # course). + + if self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HEAT: + commodity = "heat" + n_type = "hn" + elif self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS: + commodity = "gas" + n_type = "gn" + else: + raise Exception( + f"hydraulic power can not be calculated for network type of " + f"{self.network_settings['network_type']}" + ) + pipe_type = f"{commodity}_pipe" + + pipe_head_loss_map = getattr(optimization_problem, f"_{n_type}_pipe_to_head_loss_map") + is_disconnected_map = getattr(optimization_problem, f"_{commodity}_pipe_disconnect_map") + pipe_topo_class_map = getattr( + optimization_problem, f"_{commodity}_pipe_topo_pipe_class_map" + ) + pipe_to_flow_direct_map = getattr( + optimization_problem, f"_{commodity}_pipe_to_flow_direct_map" + ) + + for pipe in components.get(pipe_type, []): + if parameters[f"{pipe}.length"] == 0.0: + # If the pipe does not have a control valve, the head loss is + # forced to zero via bounds. If the pipe _does_ have a control + # valve, then there still is no relationship between the + # discharge and the head loss/dH. + continue + + head_loss_sym = pipe_head_loss_map[pipe] + + dh = _state_vector_scaled(optimization_problem, f"{pipe}.dH", ensemble_member) + head_loss = _state_vector_scaled(optimization_problem, head_loss_sym, ensemble_member) + discharge = _state_vector_scaled(optimization_problem, f"{pipe}.Q", ensemble_member) + + # We need to make sure the dH is decoupled from the discharge when + # the pipe is disconnected. Simply put, this means making the + # below constraints trivial. + is_disconnected_var = is_disconnected_map.get(pipe) + + if is_disconnected_var is None: + is_disconnected = 0.0 + else: + is_disconnected = _state_vector_scaled( + optimization_problem, is_disconnected_var, ensemble_member + ) + + max_discharge = None + max_head_loss = -np.inf + + if pipe in pipe_topo_class_map: + # Multiple diameter options for this pipe + pipe_classes = pipe_topo_class_map[pipe] + max_discharge = max(c.maximum_discharge for c in pipe_classes) + + for pc, pc_var_name in pipe_classes.items(): + if pc.inner_diameter == 0.0: + continue + + head_loss_max_discharge = self._hn_pipe_head_loss( + pipe, + optimization_problem, + options, + self.network_settings, + parameters, + max_discharge, + pipe_class=pc, + pressure=parameters[f"{pipe}.pressure"], + ) + + if self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HEAT: + big_m = max(1.1 * _maximum_total_head_loss, 2 * head_loss_max_discharge) + elif self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS: + big_m = max( + 2.0 * 2.0 * _maximum_total_head_loss, 2 * head_loss_max_discharge + ) + else: + raise RuntimeError( + f"{self.network_settings['network_type']} is not of type Gas or Heat " + f"thus no maximum total headloss is given" + ) + + is_topo_disconnected = 1 - optimization_problem.extra_variable( + pc_var_name, ensemble_member + ) + is_topo_disconnected = ca.repmat(is_topo_disconnected, dh.size1()) + + # Note that we add the two booleans `is_disconnected` and + # `is_topo_disconnected`. This is allowed because of the way the + # resulting expression is used in the Big-M formulation. We only care + # that the expression (i.e. a single boolean or the sum of the two + # booleans) is either 0 when the pipe is connected, or >= 1 when it + # is disconnected. + constraints.extend( + self._hn_pipe_head_loss( + pipe, + optimization_problem, + options, + self.network_settings, + parameters, + discharge, + head_loss, + dh, + is_disconnected + is_topo_disconnected, + big_m, + pc, + pressure=parameters[f"{pipe}.pressure"], + ) + ) + + # Contrary to the Big-M calculation above, the relation + # between dH and the head loss symbol requires the + # maximum head loss that can be realized effectively. So + # we pass the current pipe class's maximum discharge. + max_head_loss = max( + max_head_loss, + self._hn_pipe_head_loss( + pipe, + optimization_problem, + options, + self.network_settings, + parameters, + pc.maximum_discharge, + pipe_class=pc, + pressure=parameters[f"{pipe}.pressure"], + ), + ) + else: + # Only a single diameter for this pipe. Note that we rely on + # the diameter parameter being overridden automatically if a + # single pipe class is set by the user. + area = parameters[f"{pipe}.area"] + max_discharge = self.network_settings["maximum_velocity"] * area + + is_topo_disconnected = int(parameters[f"{pipe}.diameter"] == 0.0) + + if self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HEAT: + big_m = 1.1 * _maximum_total_head_loss + elif self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS: + big_m = 2.0 * 2.0 * _maximum_total_head_loss + else: + raise RuntimeError( + f"{self.network_settings['network_type']} is not of type Gas or Heat thus " + f"no maximum total headloss is given" + ) + + constraints.extend( + self._hn_pipe_head_loss( + pipe, + optimization_problem, + options, + self.network_settings, + parameters, + discharge, + head_loss, + dh, + is_disconnected + is_topo_disconnected, + big_m=big_m, + pressure=parameters[f"{pipe}.pressure"], + ) + ) + + max_head_loss = self._hn_pipe_head_loss( + pipe, + optimization_problem, + options, + self.network_settings, + parameters, + max_discharge, + pressure=parameters[f"{pipe}.pressure"], + ) + + # Relate the head loss symbol to the pipe's dH symbol. + + # FIXME: Ugly hack. Cold pipes should be modelled completely with + # their own integers as well. + flow_dir = _state_vector_scaled( + optimization_problem, pipe_to_flow_direct_map[pipe], ensemble_member + ) + + # Note that the Big-M should _at least_ cover the maximum + # distance between `head_loss` and `dh`. If `head_loss` can be at + # most 1.0 (= `max_head_loss`), that means our Big-M should be at + # least double (i.e. >= 2.0). And because we do not want Big-Ms to + # be overly tight, we include an additional factor of 2. + big_m = 2 * 2 * max_head_loss + + constraints.append( + ( + (-dh - head_loss + (1 - flow_dir) * big_m) / big_m, + 0.0, + np.inf, + ) + ) + constraints.append(((dh - head_loss + flow_dir * big_m) / big_m, 0.0, np.inf)) + + return constraints + + def _pipe_hydraulic_power_path_constraints( + self, optimization_problem, _maximum_total_head_loss, ensemble_member + ): + """ + This function adds constraints to compute the hydraulic power that is needed to realize the + flow, compensating the pressure drop through the pipe. Similar to the head loss constraints + we allow two supported methods. 1) a single linear line between 0 to max velocity. 2) A + multiple line inequality approach where one can use the minimize_head_losses == True option + to drag down the solution to the actual physical solution. + + Note that the linearizations are made separately from the pressure drop constraints, this is + done to avoid "stacked" overestimations. + """ + constraints = [] + options = optimization_problem.energy_system_options() + + if self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HEAT: + commodity = "heat" + elif self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS: + commodity = "gas" + else: + raise Exception( + f"hydraulic power can not be calculated for network type of " + f"{self.network_settings['network_type']}" + ) + pipe_type = f"{commodity}_pipe" + + pipe_topo_class_map = getattr( + optimization_problem, f"_{commodity}_pipe_topo_pipe_class_map" + ) + + if self.network_settings["head_loss_option"] != HeadLossOption.NO_HEADLOSS: + parameters = optimization_problem.parameters(ensemble_member) + components = optimization_problem.energy_system_components + + for pipe in components.get(pipe_type, []): + if parameters[f"{pipe}.length"] == 0.0: + # If the pipe does not have a control valve, the head loss is + # forced to zero via bounds. If the pipe _does_ have a control + # valve, then there still is no relationship between the + # discharge and the hydraulic_power. + continue + + # TODO: I think the upcomming 8 lines can be removed (e.g. head_loss_option) + if pipe_type == "heat_pipe": + head_loss_option = optimization_problem._hn_get_pipe_head_loss_option( + pipe, self.network_settings, parameters + ) + else: + head_loss_option = self.network_settings["head_loss_option"] + assert ( + head_loss_option != HeadLossOption.NO_HEADLOSS + ), "This method should be skipped when NO_HEADLOSS is set." + + discharge = optimization_problem.state(f"{pipe}.Q") + hydraulic_power = optimization_problem.state(f"{pipe}.Hydraulic_power") + rho = parameters[f"{pipe}.rho"] + + # 0: pipe is connected, 1: pipe is disconnected + is_disconnected_var = getattr( + optimization_problem, f"_{commodity}_pipe_disconnect_map" + ).get(pipe) + # optimization_problem._pipe_disconnect_map.get(pipe) + if is_disconnected_var is None: + is_disconnected = 0.0 + else: + is_disconnected = optimization_problem.state(is_disconnected_var) + + flow_dir_var = getattr( + optimization_problem, f"_{commodity}_pipe_to_flow_direct_map" + ).get(pipe) + flow_dir = optimization_problem.state( + flow_dir_var + ) # 0/1: negative/positive flow direction + + if pipe in pipe_topo_class_map: + # Multiple diameter options for this pipe + pipe_classes = pipe_topo_class_map[pipe] + max_discharge = max(c.maximum_discharge for c in pipe_classes) + for pc, pc_var_name in pipe_classes.items(): + if pc.inner_diameter == 0.0: + continue + + # Calc max hydraulic power based on maximum_total_head_loss = + # f(max_sum_dh_pipes, max_dh_network_options) + max_total_hydraulic_power = 2.0 * ( + rho * GRAVITATIONAL_CONSTANT * _maximum_total_head_loss * max_discharge + ) + + # is_topo_disconnected - 0: pipe selected, 1: pipe disconnected/not selected + # self.__pipe_topo_pipe_class_var - value 0: pipe is not selected, 1: pipe + # is selected + is_topo_disconnected = 1 - optimization_problem.variable(pc_var_name) + + constraints.extend( + self._hydraulic_power( + pipe, + optimization_problem, + options, + self.network_settings, + parameters, + discharge, + hydraulic_power, + is_disconnected=is_topo_disconnected + is_disconnected, + big_m=max_total_hydraulic_power, + pipe_class=pc, + flow_dir=flow_dir, + pressure=parameters[f"{pipe}.pressure"], + ) + ) + else: + is_topo_disconnected = int(parameters[f"{pipe}.diameter"] == 0.0) + max_total_hydraulic_power = 2.0 * ( + rho + * GRAVITATIONAL_CONSTANT + * _maximum_total_head_loss + * parameters[f"{pipe}.area"] + * self.network_settings["maximum_velocity"] + ) + constraints.extend( + self._hydraulic_power( + pipe, + optimization_problem, + options, + self.network_settings, + parameters, + discharge, + hydraulic_power, + is_disconnected=is_disconnected + is_topo_disconnected, + big_m=max_total_hydraulic_power, + flow_dir=flow_dir, + pressure=parameters[f"{pipe}.pressure"], + ) + ) + return constraints diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 0b1affcc1..5eee05803 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -6,7 +6,6 @@ from mesido._heat_loss_u_values_pipe import pipe_heat_loss from mesido.base_component_type_mixin import BaseComponentTypeMixin -from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.demand_insulation_class import DemandInsulationClass from mesido.head_loss_class import HeadLossClass, HeadLossOption from mesido.network_common import NetworkSettings @@ -117,14 +116,14 @@ def __init__(self, *args, **kwargs): self._hn_pipe_to_head_loss_map = {} # Boolean path-variable for the direction of the flow, inport to outport is positive flow. - self.__flow_direct_var = {} - self.__flow_direct_bounds = {} - self._pipe_to_flow_direct_map = {} + self.__heat_flow_direct_var = {} + self.__heat_flow_direct_bounds = {} + self._heat_pipe_to_flow_direct_map = {} # Boolean path-variable to determine whether flow is going through a pipe. - self.__pipe_disconnect_var = {} - self.__pipe_disconnect_var_bounds = {} - self._pipe_disconnect_map = {} + self.__heat_pipe_disconnect_var = {} + self.__heat_pipe_disconnect_var_bounds = {} + self._heat_pipe_disconnect_map = {} # Boolean path-variable for the status of the check valve self.__check_valve_status_var = {} @@ -200,7 +199,7 @@ def __init__(self, *args, **kwargs): # these variables do not exist here, we instead only instantiate the maps to allow the # physics mixin to have the logic in place. The creation of the actual variables and filling # of these maps is in the AssetSizingMixin. - self._pipe_topo_pipe_class_map = {} + self._heat_pipe_topo_pipe_class_map = {} super().__init__(*args, **kwargs) @@ -296,8 +295,8 @@ def _get_min_bound(bound): else: flow_dir_var = f"{pipe_name}__flow_direct_var" - self._pipe_to_flow_direct_map[pipe_name] = flow_dir_var - self.__flow_direct_var[flow_dir_var] = ca.MX.sym(flow_dir_var) + self._heat_pipe_to_flow_direct_map[pipe_name] = flow_dir_var + self.__heat_flow_direct_var[flow_dir_var] = ca.MX.sym(flow_dir_var) # Fix the directions that are already implied by the bounds on heat # Nonnegative heat implies that flow direction Boolean is equal to one. @@ -311,13 +310,13 @@ def _get_min_bound(bound): if (heat_in_lb >= 0.0 and heat_in_ub >= 0.0) or ( heat_out_lb >= 0.0 and heat_out_ub >= 0.0 ): - self.__flow_direct_bounds[flow_dir_var] = (1.0, 1.0) + self.__heat_flow_direct_bounds[flow_dir_var] = (1.0, 1.0) elif (heat_in_lb <= 0.0 and heat_in_ub <= 0.0) or ( heat_out_lb <= 0.0 and heat_out_ub <= 0.0 ): - self.__flow_direct_bounds[flow_dir_var] = (0.0, 0.0) + self.__heat_flow_direct_bounds[flow_dir_var] = (0.0, 0.0) else: - self.__flow_direct_bounds[flow_dir_var] = (0.0, 1.0) + self.__heat_flow_direct_bounds[flow_dir_var] = (0.0, 1.0) if parameters[f"{pipe_name}.disconnectable"]: neighbour = self.has_related_pipe(pipe_name) @@ -326,9 +325,9 @@ def _get_min_bound(bound): else: disconnected_var = f"{pipe_name}__is_disconnected" - self._pipe_disconnect_map[pipe_name] = disconnected_var - self.__pipe_disconnect_var[disconnected_var] = ca.MX.sym(disconnected_var) - self.__pipe_disconnect_var_bounds[disconnected_var] = (0.0, 1.0) + self._heat_pipe_disconnect_map[pipe_name] = disconnected_var + self.__heat_pipe_disconnect_var[disconnected_var] = ca.MX.sym(disconnected_var) + self.__heat_pipe_disconnect_var_bounds[disconnected_var] = (0.0, 1.0) if heat_in_ub <= 0.0 and heat_out_lb >= 0.0: raise Exception(f"Heat flow rate in/out of pipe '{pipe_name}' cannot be zero.") @@ -636,8 +635,8 @@ def path_variables(self): """ variables = super().path_variables.copy() variables.extend(self.__pipe_head_loss_var.values()) - variables.extend(self.__flow_direct_var.values()) - variables.extend(self.__pipe_disconnect_var.values()) + variables.extend(self.__heat_flow_direct_var.values()) + variables.extend(self.__heat_pipe_disconnect_var.values()) variables.extend(self.__check_valve_status_var.values()) variables.extend(self.__control_valve_direction_var.values()) variables.extend(self.__demand_insulation_class_var.values()) @@ -658,8 +657,8 @@ def variable_is_discrete(self, variable): All variables that only can take integer values should be added to this function. """ if ( - variable in self.__flow_direct_var - or variable in self.__pipe_disconnect_var + variable in self.__heat_flow_direct_var + or variable in self.__heat_pipe_disconnect_var or variable in self.__check_valve_status_var or variable in self.__control_valve_direction_var or variable in self.__demand_insulation_class_var @@ -694,8 +693,8 @@ def bounds(self): the HeatMixin. """ bounds = super().bounds() - bounds.update(self.__flow_direct_bounds) - bounds.update(self.__pipe_disconnect_var_bounds) + bounds.update(self.__heat_flow_direct_bounds) + bounds.update(self.__heat_pipe_disconnect_var_bounds) bounds.update(self.__check_valve_status_var_bounds) bounds.update(self.__control_valve_direction_var_bounds) bounds.update(self.__buffer_t0_bounds) @@ -991,7 +990,7 @@ def __pipe_rate_heat_change_constraints(self, ensemble_member): if np.isfinite(t_change) and np.isfinite(q_change): assert ( - not self._pipe_topo_pipe_class_map + not self._heat_pipe_topo_pipe_class_map ), "heat rate change constraints not allowed with topology optimization" for p in self.energy_system_components.get("heat_pipe", []): @@ -1136,7 +1135,7 @@ def __heat_loss_path_constraints(self, ensemble_member): ) ) - is_disconnected_var = self._pipe_disconnect_map.get(p) + is_disconnected_var = self._heat_pipe_disconnect_map.get(p) if is_disconnected_var is None: is_disconnected = 0.0 @@ -1225,10 +1224,10 @@ def __flow_direction_path_constraints(self, ensemble_member): # Also ensure that the discharge has the same sign as the heat. for p in self.energy_system_components.get("heat_pipe", []): - flow_dir_var = self._pipe_to_flow_direct_map[p] + flow_dir_var = self._heat_pipe_to_flow_direct_map[p] flow_dir = self.state(flow_dir_var) - is_disconnected_var = self._pipe_disconnect_map.get(p) + is_disconnected_var = self._heat_pipe_disconnect_map.get(p) if is_disconnected_var is None: is_disconnected = 0.0 @@ -1240,9 +1239,9 @@ def __flow_direction_path_constraints(self, ensemble_member): heat_out = self.state(f"{p}.HeatOut.Heat") try: - pipe_classes = self._pipe_topo_pipe_class_map[p].keys() + pipe_classes = self._heat_pipe_topo_pipe_class_map[p].keys() maximum_discharge = max([c.maximum_discharge for c in pipe_classes]) - var_names = self._pipe_topo_pipe_class_map[p].values() + var_names = self._heat_pipe_topo_pipe_class_map[p].values() dn_none = 0.0 for i, pc in enumerate(pipe_classes): if pc.inner_diameter == 0.0: @@ -1352,10 +1351,10 @@ def __flow_direction_path_constraints(self, ensemble_member): len({p for p in pipes if self.is_cold_pipe(p)}) == 0 ), "Pipe series for Heat models should only contain hot pipes" - base_flow_dir_var = self.state(self._pipe_to_flow_direct_map[pipes[0]]) + base_flow_dir_var = self.state(self._heat_pipe_to_flow_direct_map[pipes[0]]) for p in pipes[1:]: - flow_dir_var = self.state(self._pipe_to_flow_direct_map[p]) + flow_dir_var = self.state(self._heat_pipe_to_flow_direct_map[p]) constraints.append((base_flow_dir_var - flow_dir_var, 0.0, 0.0)) return constraints @@ -1560,115 +1559,6 @@ def __cold_demand_heat_to_discharge_path_constraints(self, ensemble_member): return constraints - def __pipe_hydraulic_power_path_constraints(self, ensemble_member): - """ - This function adds constraints to compute the hydraulic power that is needed to realize the - flow, compensating the pressure drop through the pipe. Similar to the head loss constraints - we allow two supported methods. 1) a single linear line between 0 to max velocity. 2) A - multiple line inequality approach where one can use the minimize_head_losses == True option - to drag down the solution to the actual physical solution. - - Note that the linearizations are made separately from the pressure drop constraints, this is - done to avoid "stacked" overestimations. - """ - constraints = [] - options = self.energy_system_options() - - if self.heat_network_settings["head_loss_option"] != HeadLossOption.NO_HEADLOSS: - parameters = self.parameters(ensemble_member) - components = self.energy_system_components - - for pipe in components.get("heat_pipe", []): - if parameters[f"{pipe}.length"] == 0.0: - # If the pipe does not have a control valve, the head loss is - # forced to zero via bounds. If the pipe _does_ have a control - # valve, then there still is no relationship between the - # discharge and the hydraulic_power. - continue - - head_loss_option = self._hn_get_pipe_head_loss_option( - pipe, self.heat_network_settings, parameters - ) - assert ( - head_loss_option != HeadLossOption.NO_HEADLOSS - ), "This method should be skipped when NO_HEADLOSS is set." - - discharge = self.state(f"{pipe}.Q") - hydraulic_power = self.state(f"{pipe}.Hydraulic_power") - rho = parameters[f"{pipe}.rho"] - - # 0: pipe is connected, 1: pipe is disconnected - is_disconnected_var = self._pipe_disconnect_map.get(pipe) - if is_disconnected_var is None: - is_disconnected = 0.0 - else: - is_disconnected = self.state(is_disconnected_var) - - flow_dir_var = self._pipe_to_flow_direct_map[pipe] - flow_dir = self.state(flow_dir_var) # 0/1: negative/positive flow direction - - if pipe in self._pipe_topo_pipe_class_map: - # Multiple diameter options for this pipe - pipe_classes = self._pipe_topo_pipe_class_map[pipe] - max_discharge = max(c.maximum_discharge for c in pipe_classes) - for pc, pc_var_name in pipe_classes.items(): - if pc.inner_diameter == 0.0: - continue - - # Calc max hydraulic power based on maximum_total_head_loss = - # f(max_sum_dh_pipes, max_dh_network_options) - max_total_hydraulic_power = 2.0 * ( - rho - * GRAVITATIONAL_CONSTANT - * self.__maximum_total_head_loss - * max_discharge - ) - - # is_topo_disconnected - 0: pipe selected, 1: pipe disconnected/not selected - # self.__pipe_topo_pipe_class_var - value 0: pipe is not selected, 1: pipe - # is selected - is_topo_disconnected = 1 - self.variable(pc_var_name) - - constraints.extend( - self._hn_head_loss_class._hydraulic_power( - pipe, - self, - options, - self.heat_network_settings, - parameters, - discharge, - hydraulic_power, - is_disconnected=is_topo_disconnected + is_disconnected, - big_m=max_total_hydraulic_power, - pipe_class=pc, - flow_dir=flow_dir, - ) - ) - else: - is_topo_disconnected = int(parameters[f"{pipe}.diameter"] == 0.0) - max_total_hydraulic_power = 2.0 * ( - rho - * GRAVITATIONAL_CONSTANT - * self.__maximum_total_head_loss - * parameters[f"{pipe}.area"] - * self.heat_network_settings["maximum_velocity"] - ) - constraints.extend( - self._hn_head_loss_class._hydraulic_power( - pipe, - self, - options, - self.heat_network_settings, - parameters, - discharge, - hydraulic_power, - is_disconnected=is_disconnected + is_topo_disconnected, - big_m=max_total_hydraulic_power, - flow_dir=flow_dir, - ) - ) - return constraints - def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): """ This function adds constraints linking the flow to the thermal power at the pipe assets. @@ -1705,7 +1595,7 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): # temperature instead, as the line can heat up to at maximum the ground temperature. temp = max(parameters[f"{p}.temperature"], parameters[f"{p}.T_ground"]) - flow_dir_var = self._pipe_to_flow_direct_map[p] + flow_dir_var = self._heat_pipe_to_flow_direct_map[p] flow_dir = self.state(flow_dir_var) scaled_heat_in = self.state(f"{p}.HeatIn.Heat") # * heat_to_discharge_fac scaled_heat_out = self.state(f"{p}.HeatOut.Heat") # * heat_to_discharge_fac @@ -1868,7 +1758,7 @@ def __ates_temperature_path_constraints(self, ensemble_member): if ates_asset in self.energy_system_components.get("low_temperature_ates", []): continue - flow_dir_var = self._pipe_to_flow_direct_map[hot_pipe] + flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) * _hot_pipe_orientation sup_carrier = parameters[f"{ates_asset}.T_supply_id"] @@ -2152,7 +2042,7 @@ def __ates_temperature_changing_path_constraints(self, ensemble_member): f"{ates}.Temperature_change_charging" ) - flow_dir_var = self._pipe_to_flow_direct_map[hot_pipe] + flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) * _hot_pipe_orientation heat_stored_max = bounds[f"{ates}.Stored_heat"][1] heat_ates_max = bounds[f"{ates}.Heat_ates"][1] @@ -2395,7 +2285,7 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): # extracted from the buffer. We accomplish this by disabling one of # the constraints with a boolean. Note that `discharge` and `heat_hot` # are guaranteed to have the same sign. - flow_dir_var = self._pipe_to_flow_direct_map[hot_pipe] + flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) big_m = 2.0 * np.max( @@ -2879,7 +2769,7 @@ def _hn_pipe_nominal_discharge(self, energy_system_options, parameters, pipe: st This functions returns a nominal for the discharge of pipes under topology optimization. """ try: - pipe_classes = self._pipe_topo_pipe_class_map[pipe].keys() + pipe_classes = self._heat_pipe_topo_pipe_class_map[pipe].keys() area = np.median(c.area for c in pipe_classes) except KeyError: area = parameters[f"{pipe}.area"] @@ -2904,174 +2794,6 @@ def _hn_get_pipe_head_loss_option(pipe, heat_network_settings, parameters): return head_loss_option - def _hn_pipe_head_loss_constraints(self, ensemble_member): - """ - This function adds the head loss constraints for pipes. There are two options namely with - and without pipe class optimization. In both cases we assume that disconnected pipes, pipes - without flow have no head loss. - - Under pipe-class optimization the head loss constraints per pipe class are added and - applied with the big_m method (is_topo_disconnected) to only activate the correct - constraints. - - Under constant pipe class constraints for only one diameter are added. - """ - constraints = [] - - options = self.energy_system_options() - parameters = self.parameters(ensemble_member) - components = self.energy_system_components - # Set the head loss according to the direction in the pipes. Note that - # the `.__head_loss` symbol is always positive by definition, but that - # `.dH` is not (positive when flow is negative, and vice versa). - # If the pipe is disconnected, we leave the .__head_loss symbol free - # (and it has no physical meaning). We also do not set any discharge - # relationship in this case (but dH is still equal to Out - In of - # course). - - for pipe in components.get("heat_pipe", []): - if parameters[f"{pipe}.length"] == 0.0: - # If the pipe does not have a control valve, the head loss is - # forced to zero via bounds. If the pipe _does_ have a control - # valve, then there still is no relationship between the - # discharge and the head loss/dH. - continue - - head_loss_sym = self._hn_pipe_to_head_loss_map[pipe] - - dh = self.__state_vector_scaled(f"{pipe}.dH", ensemble_member) - head_loss = self.__state_vector_scaled(head_loss_sym, ensemble_member) - discharge = self.__state_vector_scaled(f"{pipe}.Q", ensemble_member) - - # We need to make sure the dH is decoupled from the discharge when - # the pipe is disconnected. Simply put, this means making the - # below constraints trivial. - is_disconnected_var = self._pipe_disconnect_map.get(pipe) - - if is_disconnected_var is None: - is_disconnected = 0.0 - else: - is_disconnected = self.__state_vector_scaled(is_disconnected_var, ensemble_member) - - max_discharge = None - max_head_loss = -np.inf - - if pipe in self._pipe_topo_pipe_class_map: - # Multiple diameter options for this pipe - pipe_classes = self._pipe_topo_pipe_class_map[pipe] - max_discharge = max(c.maximum_discharge for c in pipe_classes) - - for pc, pc_var_name in pipe_classes.items(): - if pc.inner_diameter == 0.0: - continue - - head_loss_max_discharge = self._hn_head_loss_class._hn_pipe_head_loss( - pipe, - self, - options, - self.heat_network_settings, - parameters, - max_discharge, - pipe_class=pc, - ) - - big_m = max(1.1 * self.__maximum_total_head_loss, 2 * head_loss_max_discharge) - - is_topo_disconnected = 1 - self.extra_variable(pc_var_name, ensemble_member) - is_topo_disconnected = ca.repmat(is_topo_disconnected, dh.size1()) - - # Note that we add the two booleans `is_disconnected` and - # `is_topo_disconnected`. This is allowed because of the way the - # resulting expression is used in the Big-M formulation. We only care - # that the expression (i.e. a single boolean or the sum of the two - # booleans) is either 0 when the pipe is connected, or >= 1 when it - # is disconnected. - constraints.extend( - self._hn_head_loss_class._hn_pipe_head_loss( - pipe, - self, - options, - self.heat_network_settings, - parameters, - discharge, - head_loss, - dh, - is_disconnected + is_topo_disconnected, - big_m, - pc, - ) - ) - - # Contrary to the Big-M calculation above, the relation - # between dH and the head loss symbol requires the - # maximum head loss that can be realized effectively. So - # we pass the current pipe class's maximum discharge. - max_head_loss = max( - max_head_loss, - self._hn_head_loss_class._hn_pipe_head_loss( - pipe, - self, - options, - self.heat_network_settings, - parameters, - pc.maximum_discharge, - pipe_class=pc, - ), - ) - else: - # Only a single diameter for this pipe. Note that we rely on - # the diameter parameter being overridden automatically if a - # single pipe class is set by the user. - area = parameters[f"{pipe}.area"] - max_discharge = self.heat_network_settings["maximum_velocity"] * area - - is_topo_disconnected = int(parameters[f"{pipe}.diameter"] == 0.0) - - constraints.extend( - self._hn_head_loss_class._hn_pipe_head_loss( - pipe, - self, - options, - self.heat_network_settings, - parameters, - discharge, - head_loss, - dh, - is_disconnected + is_topo_disconnected, - 1.1 * self.__maximum_total_head_loss, - ) - ) - - max_head_loss = self._hn_head_loss_class._hn_pipe_head_loss( - pipe, self, options, self.heat_network_settings, parameters, max_discharge - ) - - # Relate the head loss symbol to the pipe's dH symbol. - - # FIXME: Ugly hack. Cold pipes should be modelled completely with - # their own integers as well. - flow_dir = self.__state_vector_scaled( - self._pipe_to_flow_direct_map[pipe], ensemble_member - ) - - # Note that the Big-M should _at least_ cover the maximum - # distance between `head_loss` and `dh`. If `head_loss` can be at - # most 1.0 (= `max_head_loss`), that means our Big-M should be at - # least double (i.e. >= 2.0). And because we do not want Big-Ms to - # be overly tight, we include an additional factor of 2. - big_m = 2 * 2 * max_head_loss - - constraints.append( - ( - (-dh - head_loss + (1 - flow_dir) * big_m) / big_m, - 0.0, - np.inf, - ) - ) - constraints.append(((dh - head_loss + flow_dir * big_m) / big_m, 0.0, np.inf)) - - return constraints - def __check_valve_head_discharge_path_constraints(self, ensemble_member): """ This function adds constraints for the check valve functionality. Meaning that the flow can @@ -3102,7 +2824,7 @@ def __check_valve_head_discharge_path_constraints(self, ensemble_member): for p in connected_pipes: try: - pipe_classes = self._pipe_topo_pipe_class_map[p].keys() + pipe_classes = self._heat_pipe_topo_pipe_class_map[p].keys() max_discharge_pipe = max(c.maximum_discharge for c in pipe_classes) except KeyError: max_discharge_pipe = maximum_velocity * parameters[f"{p}.area"] @@ -3149,7 +2871,7 @@ def __control_valve_head_discharge_path_constraints(self, ensemble_member): for p in connected_pipes: try: - pipe_classes = self._pipe_topo_pipe_class_map[p].keys() + pipe_classes = self._heat_pipe_topo_pipe_class_map[p].keys() max_discharge_pipe = max(c.maximum_discharge for c in pipe_classes) except KeyError: max_discharge_pipe = maximum_velocity * parameters[f"{p}.area"] @@ -3200,7 +2922,7 @@ class and the selected temperature in the network. heat_loss_sym = self.extra_variable(heat_loss_sym_name, ensemble_member) try: heat_losses = self._pipe_heat_losses[p] - pipe_classes = self._pipe_topo_pipe_class_map[p] + pipe_classes = self._heat_pipe_topo_pipe_class_map[p] variables = [ self.extra_variable(var_name, ensemble_member) for pc, var_name in pipe_classes.items() @@ -3506,7 +3228,7 @@ def __storage_hydraulic_power_path_constraints(self, ensemble_member): pump_power = self.state(f"{b}.Pump_power") min_dp = parameters[f"{b}.minimum_pressure_drop"] - flow_dir_var = self._pipe_to_flow_direct_map[hot_pipe] + flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) * hot_pipe_orientation big_m = ( @@ -3581,7 +3303,11 @@ def path_constraints(self, ensemble_member): self._hn_head_loss_class._demand_head_loss_path_constraints(self, ensemble_member) ) - constraints.extend(self.__pipe_hydraulic_power_path_constraints(ensemble_member)) + constraints.extend( + self._hn_head_loss_class._pipe_hydraulic_power_path_constraints( + self, self.__maximum_total_head_loss, ensemble_member + ) + ) constraints.extend(self.__flow_direction_path_constraints(ensemble_member)) constraints.extend(self.__node_heat_mixing_path_constraints(ensemble_member)) constraints.extend(self.__node_hydraulic_power_mixing_path_constraints(ensemble_member)) @@ -3617,7 +3343,12 @@ def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) if self.heat_network_settings["head_loss_option"] != HeadLossOption.NO_HEADLOSS: - constraints.extend(self._hn_pipe_head_loss_constraints(ensemble_member)) + # constraints.extend(self._hn_pipe_head_loss_constraints(ensemble_member)) + constraints.extend( + self._hn_head_loss_class._pipe_head_loss_constraints( + self, self.__maximum_total_head_loss, ensemble_member + ) + ) constraints.extend(self.__heat_loss_variable_constraints(ensemble_member)) constraints.extend(self.__pipe_rate_heat_change_constraints(ensemble_member)) @@ -3793,7 +3524,7 @@ def post(self): q = results[f"{p}.Q"] try: - is_disconnected = np.round(results[self._pipe_disconnect_map[p]]) + is_disconnected = np.round(results[self._heat_pipe_disconnect_map[p]]) except KeyError: is_disconnected = np.zeros_like(q) @@ -3813,9 +3544,9 @@ def post(self): q = results[f"{p}.Q"] v = q / area - flow_dir = np.round(results[self._pipe_to_flow_direct_map[p]]) + flow_dir = np.round(results[self._heat_pipe_to_flow_direct_map[p]]) try: - is_disconnected = np.round(results[self._pipe_disconnect_map[p]]) + is_disconnected = np.round(results[self._heat_pipe_disconnect_map[p]]) except KeyError: is_disconnected = np.zeros_like(q) diff --git a/src/mesido/pycml/component_library/milp/gas/gas_base.py b/src/mesido/pycml/component_library/milp/gas/gas_base.py index 3f7f1ead3..33668fe2b 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_base.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_base.py @@ -18,6 +18,7 @@ def __init__(self, name, **modifiers): self.add_variable(Variable, "Q_shadow") self.add_variable(Variable, "mass_flow") # [g/s] self.add_variable(Variable, "H") # [m] + self.add_variable(Variable, "Hydraulic_power") # [W] class GasTwoPort(GasComponent): diff --git a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py index 52a90ca0b..cca6be2a2 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py @@ -20,6 +20,7 @@ def __init__(self, name, **modifiers): self.v_max = 15.0 self.density = 2.5e3 # [g/m3] + self.rho = self.density self.diameter = nan self.area = 0.25 * pi * self.diameter**2 self.Q_nominal = self.v_max / 2.0 * self.area @@ -44,3 +45,20 @@ def __init__(self, name, **modifiers): ) # # shadow Q for aliases self.add_equation(((self.GasOut.Q_shadow - (self.GasIn.Q_shadow - 1.0e-3)))) + + # Hydraulic power + # TODO replace value + # rho * ff * length * area / 2 / diameter * velocity**3 + ff = 0.02 # Order of magnitude expected with 0.05-2.5m/s in 20mm-1200mm diameter pipe + velo = self.Q_nominal / self.area + self.Hydraulic_power_nominal = ( + self.rho * ff * max(self.length, 1.0) * pi * self.area / self.diameter / 2.0 * velo**3 + ) + self.add_variable( + Variable, "Hydraulic_power", min=0.0, nominal=self.Hydraulic_power_nominal + ) # [W] + + self.add_equation( + (self.Hydraulic_power - (self.GasIn.Hydraulic_power - self.GasOut.Hydraulic_power)) + / (self.pressure * self.Q_nominal * self.Hydraulic_power_nominal) ** 0.5 + ) diff --git a/src/mesido/techno_economic_mixin.py b/src/mesido/techno_economic_mixin.py index 23c007dec..1a29cf093 100644 --- a/src/mesido/techno_economic_mixin.py +++ b/src/mesido/techno_economic_mixin.py @@ -54,7 +54,7 @@ def get_aggregation_count_max(self, asset_name): return self.bounds()[self._asset_aggregation_count_var_map[asset_name]][1] def get_pipe_class_map(self): - return self._pipe_topo_pipe_class_map + return self._heat_pipe_topo_pipe_class_map def get_gas_pipe_class_map(self): return self._gas_pipe_topo_pipe_class_map @@ -63,7 +63,7 @@ def get_electricity_cable_class_map(self): return self._electricity_cable_topo_cable_class_map def get_pipe_investment_cost_coefficient(self, asset_name, ensemble_member): - return self.extra_variable(self._pipe_topo_cost_map[asset_name], ensemble_member) + return self.extra_variable(self._heat_pipe_topo_cost_map[asset_name], ensemble_member) def get_electricity_carriers(self): return self.electricity_carriers() diff --git a/tests/models/emerge/src/example.py b/tests/models/emerge/src/example.py index db2ee38fc..a844ba9b9 100644 --- a/tests/models/emerge/src/example.py +++ b/tests/models/emerge/src/example.py @@ -1,4 +1,4 @@ -import os +import time import casadi as ca @@ -282,47 +282,51 @@ def post(self): super().post() # Optimized ESDL - self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) - - self._save_json = False - - if os.path.exists(self.output_folder) and self._save_json: - self._write_json_output() - - results = self.extract_results() - - for _type, assets in self.energy_system_components.items(): - for asset in assets: - print("----------------------------------") - print(f"{asset} financials:") - try: - print(f"revenue of {asset} in MEUR/day: ", results[f"{asset}__revenue"] / 1e6) - except KeyError: - print(f"{asset} does not have a revenue") - pass - try: - print( - f"fixed operational costs of {asset} in MEUR/yr : ", - results[f"{asset}__fixed_operational_cost"] / 1e6, - ) - print( - f"variable operational costs of {asset} : ", - results[f"{asset}__variable_operational_cost"] / 1e6, - ) # not yet all included in financialmixin - print(f"max size of {asset} : ", results[f"{asset}__max_size"]) - except KeyError: - print(f"{asset} does not have a costs") - pass + # self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) + # + # self._save_json = False + # + # if os.path.exists(self.output_folder) and self._save_json: + # self._write_json_output() + # + # results = self.extract_results() + # + # for _type, assets in self.energy_system_components.items(): + # for asset in assets: + # print("----------------------------------") + # print(f"{asset} financials:") + # try: + # print(f"revenue of {asset} in MEUR/day: ", results[f"{asset}__revenue"] / 1e6) + # except KeyError: + # print(f"{asset} does not have a revenue") + # pass + # try: + # print( + # f"fixed operational costs of {asset} in MEUR/yr : ", + # results[f"{asset}__fixed_operational_cost"] / 1e6, + # ) + # print( + # f"variable operational costs of {asset} : ", + # results[f"{asset}__variable_operational_cost"] / 1e6, + # ) # not yet all included in financialmixin + # print(f"max size of {asset} : ", results[f"{asset}__max_size"]) + # except KeyError: + # print(f"{asset} does not have a costs") + # pass if __name__ == "__main__": - elect = run_optimization_problem( - EmergeTest, - esdl_file_name="emerge_solar_battery.esdl", - esdl_parser=ESDLFileParser, - profile_reader=ProfileReaderFromFile, - input_timeseries_file="timeseries_with_PV.csv", - ) + + tic = time.time() + for _ in range(10): + elect = run_optimization_problem( + EmergeTest, + esdl_file_name="emerge_solar_battery.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_with_PV.csv", + ) + print(time.time() - tic) # elect = run_optimization_problem( # EmergeTest, # esdl_file_name="emerge.esdl", diff --git a/tests/test_gas_pipe_topology_optimization.py b/tests/test_gas_pipe_topology_optimization.py index a4658301c..2f6371eae 100644 --- a/tests/test_gas_pipe_topology_optimization.py +++ b/tests/test_gas_pipe_topology_optimization.py @@ -51,8 +51,8 @@ def energy_system_options(self): target = solution.get_timeseries(f"{demand}.target_gas_demand").values np.testing.assert_allclose(target, results[f"{demand}.Gas_demand_mass_flow"]) - removed_pipes = ["Pipe_a718", "Pipe_9a6f", "Pipe_2927"] - remained_pipes = ["Pipe_51e4", "Pipe_6b39", "Pipe_f9b0"] + removed_pipes = ["Pipe_a718", "Pipe_9a6f", "Pipe_2927", "Pipe_8592"] + remained_pipes = ["Pipe_51e4", "Pipe_6b39", "Pipe_f9b0", "Pipe_96bc"] for pipe in removed_pipes: np.testing.assert_allclose(results[f"{pipe}__gn_diameter"], 0.0, atol=1.0e-6) np.testing.assert_allclose(results[f"{pipe}__investment_cost"], 0.0, atol=1.0e-6) diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index 621ef81cd..0d5a2e957 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -1,10 +1,12 @@ from pathlib import Path from unittest import TestCase +from mesido._darcy_weisbach import head_loss +from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption - +from mesido.network_common import NetworkSettings import numpy as np @@ -14,7 +16,7 @@ class TestHydraulicPower(TestCase): - def test_hydraulic_power(self): + def test_hydraulic_power_heat(self): """ Check the workings for the hydraulic power variable. @@ -238,6 +240,251 @@ def test_hydraulic_power(self): atol=10.0, ) + def test_hydraulic_power_gas(self): + """ + Checks the logic for the hydraulic power of gas pipes. + - checks if value on linearized lines, for multiple lines + - checks if hydraulic power is 0 at end of the pipe + - checks if differences of in/out port is equal to the added hydraulic power of that pipe + - checks absolutae value of the hydraulic power loss over a line + """ + import models.unit_cases_gas.source_sink.src.run_source_sink as run_source_sink + from models.unit_cases_gas.source_sink.src.run_source_sink import ( + GasProblem, + ) + + # Settings + base_folder = Path(run_source_sink.__file__).resolve().parent.parent + + class GasProblemHydraulic(GasProblem): + def read(self): + super().read() + + for d in self.energy_system_components["gas_demand"]: + new_timeseries = self.get_timeseries(f"{d}.target_gas_demand").values * 4e4 + self.set_timeseries(f"{d}.target_gas_demand", new_timeseries) + + def energy_system_options(self): + options = super().energy_system_options() + + self.gas_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_N_LINES_EQUALITY + ) + self.gas_network_settings["n_linearization_lines"] = 3 + self.gas_network_settings["minimum_velocity"] = 0.0 + self.gas_network_settings["minimize_head_losses"] = True + + return options + + solution = run_optimization_problem( + GasProblemHydraulic, + base_folder=base_folder, + esdl_file_name="source_sink.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + + # TODO: add check on values for hydraulic power. + results = solution.extract_results() + parameters = solution.parameters(0) + + pipe = "Pipe_4abc" + pipe_hp_in = results[f"{pipe}.GasIn.Hydraulic_power"] + pipe_hp_out = results[f"{pipe}.GasOut.Hydraulic_power"] + pipe_hp = results[f"{pipe}.Hydraulic_power"] + + pipe_mass = results["Pipe_4abc.GasIn.mass_flow"] + + # due to non linearity, every timestep on new linearized line, a doubled mass flow should + # result in more than doubled hydraulic power + np.testing.assert_array_less( + (pipe_hp[0] + 1e-6) * (pipe_mass[1] / pipe_mass[0]), pipe_hp[1] + ) + np.testing.assert_array_less( + (pipe_hp[1] + 1e-6) * (pipe_mass[2] / pipe_mass[1]), pipe_hp[2] + ) + + np.testing.assert_allclose(pipe_hp, pipe_hp_in - pipe_hp_out) + np.testing.assert_allclose(0, pipe_hp_out) + + # TODO: use mass flow to get calculated hydraulic power + + rho = parameters[f"{pipe}.rho"] + d = parameters[f"{pipe}.diameter"] + area = parameters[f"{pipe}.area"] + length = parameters[f"{pipe}.length"] + pressure = parameters[f"{pipe}.pressure"] + wall_roughness = solution.energy_system_options()["wall_roughness"] + v_max = solution.gas_network_settings["maximum_velocity"] + temperature = 20.0 + + v_inspect = results[f"{pipe}.GasOut.Q"] / solution.parameters(0)[f"{pipe}.area"] + + calc_hp_accurate = [ + rho + * GRAVITATIONAL_CONSTANT + * v + * area + * head_loss( + v, + d, + length, + wall_roughness, + temperature, + network_type=NetworkSettings.NETWORK_TYPE_GAS, + pressure=pressure, + ) + for v in v_inspect + ] + np.testing.assert_array_less(calc_hp_accurate, pipe_hp) + + v_points = [ + i * v_max / solution.gas_network_settings["n_linearization_lines"] + for i in range(solution.gas_network_settings["n_linearization_lines"] + 1) + ] + calc_hp_v_points = [ + rho + * GRAVITATIONAL_CONSTANT + * v + * area + * head_loss( + v, + d, + length, + wall_roughness, + temperature, + network_type=NetworkSettings.NETWORK_TYPE_GAS, + pressure=pressure, + ) + for v in v_points + ] + v_points_volumetric = np.asarray(v_points) * np.pi * d**2 / 4.0 + a = np.diff(calc_hp_v_points) / np.diff(v_points_volumetric) + b = calc_hp_v_points[1:] - a * v_points_volumetric[1:] + + np.testing.assert_allclose(pipe_hp[0], a[0] * results[f"{pipe}.GasOut.Q"][0] + b[0]) + np.testing.assert_allclose(pipe_hp[1], a[1] * results[f"{pipe}.GasOut.Q"][1] + b[1]) + np.testing.assert_allclose(pipe_hp[2], a[2] * results[f"{pipe}.GasOut.Q"][2] + b[2]) + + def test_hydraulic_power_gas_multi_demand(self): + """ + Checks the logic for the hydraulic power of gas pipes. + - checks if value on linearized lines, for multiple lines + - checks if hydraulic power is 0 at end of the pipe if connected to a demand + - checks if hydraulic power at start of line connected to a producers is larger than 0 + - checks if differences of in/out port is equal to the added hydraulic power of that pipe + """ + import models.unit_cases_gas.multi_demand_source_node.src.run_test as run_test + from models.unit_cases_gas.multi_demand_source_node.src.run_test import ( + GasProblem, + ) + + # Settings + base_folder = Path(run_test.__file__).resolve().parent.parent + + class GasProblemHydraulic(GasProblem): + def read(self): + super().read() + + for d in self.energy_system_components["gas_demand"]: + new_timeseries = self.get_timeseries(f"{d}.target_gas_demand").values * 1.5 + self.set_timeseries(f"{d}.target_gas_demand", new_timeseries) + + def energy_system_options(self): + options = super().energy_system_options() + + self.gas_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_N_LINES_EQUALITY + ) + self.gas_network_settings["n_linearization_lines"] = 3 + self.gas_network_settings["minimum_velocity"] = 0.0 + self.gas_network_settings["minimize_head_losses"] = True + + return options + + solution = run_optimization_problem( + GasProblemHydraulic, + base_folder=base_folder, + esdl_file_name="test.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + + # TODO: add check on values for hydraulic power. + results = solution.extract_results() + + pipes = ["Pipe_7c53", "Pipe_f1a4", "Pipe_0e39", "Pipe_c50f"] + for pipe in pipes: + pipe_hp_in = results[f"{pipe}.GasIn.Hydraulic_power"] + pipe_hp_out = results[f"{pipe}.GasOut.Hydraulic_power"] + pipe_hp = results[f"{pipe}.Hydraulic_power"] + + pipe_mass = results[f"{pipe}.GasIn.mass_flow"] + + np.testing.assert_allclose(pipe_hp, pipe_hp_in - pipe_hp_out) + if pipe in ["Pipe_7c53", "Pipe_c50f"]: + # connected to demand, thus hydraulic_power should be 0 + np.testing.assert_allclose(0, pipe_hp_out) + + v_max = solution.gas_network_settings["maximum_velocity"] + + v_inspect = results[f"{pipe}.GasOut.Q"] / solution.parameters(0)[f"{pipe}.area"] + v_points = [ + i * v_max / solution.gas_network_settings["n_linearization_lines"] + for i in range(solution.gas_network_settings["n_linearization_lines"] + 1) + ] + + # due to non linearity, every timestep on new linearized line, a doubled mass flow + # should result in more than doubled hydraulic power + v_inspect_line_ind = [] + for k in range(len(v_inspect)): + for i in range(len(v_points)): + if v_points[i] + 1e-6 < v_inspect[k] <= v_points[i + 1] + 1e-6: + v_inspect_line_ind.append(i) + ind_check = 0 + for k in range(len(v_inspect) - 1): + if v_inspect_line_ind[k] == v_inspect_line_ind[k + 1]: + np.testing.assert_allclose( + pipe_hp[k] * pipe_mass[k + 1] / pipe_mass[k], pipe_hp[k + 1] + ) + elif v_inspect_line_ind[k] < v_inspect_line_ind[k + 1]: + np.testing.assert_array_less( + (pipe_hp[k] + 1e-6) * pipe_mass[k + 1] / pipe_mass[k], pipe_hp[k + 1] + ) + ind_check += 1 + else: + raise RuntimeError( + "For this test to succeed the flow should increase over time" + ) + np.testing.assert_array_less( + 0.5, ind_check, f"{pipe} is not checked between multiple lines" + ) + + # balance of hydraulic power + pipes_demand = ["Pipe_7c53", "Pipe_c50f"] + pipes_source = ["Pipe_0e39", "Pipe_f1a4"] + balance = np.zeros(3) + for p in pipes_demand: + balance += results[f"{p}.GasIn.Hydraulic_power"] + for p in pipes_source: + balance -= results[f"{p}.GasOut.Hydraulic_power"] + np.testing.assert_allclose(balance, 0.0, atol=1e-6) + + for node, connected_pipes in solution.energy_system_topology.gas_nodes.items(): + hydraulic_sum = 0.0 + + for i_conn, (_pipe, orientation) in connected_pipes.items(): + hydraulic_sum += results[f"{node}.GasConn[{i_conn+1}].Q"] * orientation + + np.testing.assert_allclose(hydraulic_sum, 0.0, atol=1.0e-3) + + for d in solution.energy_system_components.get("gas_demand"): + np.testing.assert_allclose(results[f"{d}.GasIn.Hydraulic_power"], 0.0) + for d in solution.energy_system_components.get("gas_source"): + np.testing.assert_array_less(0.0, results[f"{d}.GasOut.Hydraulic_power"]) + if __name__ == "__main__": import time diff --git a/tests/test_pipe_diameter_sizing.py b/tests/test_pipe_diameter_sizing.py index 6a9bd68a5..9e3dc6150 100644 --- a/tests/test_pipe_diameter_sizing.py +++ b/tests/test_pipe_diameter_sizing.py @@ -58,6 +58,9 @@ def test_half_network_gone(self): input_timeseries_file="timeseries_import.xml", ) + feasibility = problem.solver_stats["return_status"] + self.assertTrue((feasibility == "Optimal")) + parameters = problem.parameters(0) diameters = {p: parameters[f"{p}.diameter"] for p in problem.hot_pipes} results = problem.extract_results() diff --git a/tests/test_setpoint_constraints.py b/tests/test_setpoint_constraints.py index 2afe8aa4d..98160c946 100644 --- a/tests/test_setpoint_constraints.py +++ b/tests/test_setpoint_constraints.py @@ -163,7 +163,7 @@ def test_run_small_ates_timed_setpoints_0_changes(self): check = abs( results["HeatProducer_1.Heat_source"][2:] - results["HeatProducer_1.Heat_source"][1:-1] ) - np.testing.assert_array_less(check, 1.0e-6) + np.testing.assert_array_less(check, 1.0e-5) @pytest.mark.fourth def test_run_small_ates_timed_setpoints_multiple_constraints(self): From 1d1988ffae0a299c839fe1ffc65820f010cd8a4d Mon Sep 17 00:00:00 2001 From: JimRojer-TNO <137045207+jimrojerTNO@users.noreply.github.com> Date: Thu, 25 Apr 2024 16:48:35 +0200 Subject: [PATCH 101/376] Checking feasibility in tests (#49) * made new function for running optimization to check on feasibility and use that in tests * changes to make tests feasible and passing again --------- Co-authored-by: Femke Janssen --- src/mesido/financial_mixin.py | 10 +--- src/mesido/util.py | 57 +++++++++++++++++++ .../src/run_ates.py | 17 +++++- .../unit_cases/case_3a_setpoint/model/3a.esdl | 2 +- .../unit_cases/case_3a_setpoint/src/run_3a.py | 38 ++++++------- tests/test_absolute_heat.py | 5 +- tests/test_asset_is_realized.py | 5 +- tests/test_ates.py | 5 +- tests/test_cable_topology_optimization.py | 5 +- tests/test_cold_demand.py | 7 +-- tests/test_elec_boiler.py | 7 +-- tests/test_electric_bus.py | 6 +- tests/test_electric_source_sink.py | 9 ++- tests/test_electrolyzer.py | 5 +- tests/test_gas_boiler.py | 5 +- tests/test_gas_multi_demand_source_node.py | 6 +- tests/test_gas_pipe_topology_optimization.py | 5 +- tests/test_gas_source_sink.py | 6 +- tests/test_head_loss.py | 15 +++-- tests/test_heat.py | 23 ++++---- tests/test_hydraulic_power.py | 14 ++--- tests/test_insulation.py | 7 +-- tests/test_max_size_and_optional_assets.py | 7 +-- tests/test_multicommodity.py | 10 ++-- tests/test_multiple_carriers.py | 5 +- ...est_multiple_in_and_out_port_components.py | 7 +-- tests/test_pipe_diameter_sizing.py | 5 +- tests/test_producer_profiles.py | 5 +- tests/test_setpoint_constraints.py | 15 +++-- tests/test_temperature_ates_hp.py | 11 +--- tests/test_topo_constraints.py | 6 +- tests/test_varying_temperature.py | 17 +++--- tests/test_warmingup_unit_cases.py | 9 ++- 33 files changed, 193 insertions(+), 163 deletions(-) create mode 100644 src/mesido/util.py diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 9cff93123..5e01a9dc7 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -1066,7 +1066,7 @@ def __cumulative_investments_made_in_eur_path_constraints(self, ensemble_member) options = self.energy_system_options() if options["include_asset_is_realized"]: for asset in [ - *self.energy_system_components.get("heat_demand", []), + # *self.energy_system_components.get("heat_demand", []), *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("ates", []), *self.energy_system_components.get("low_temperature_ates", []), @@ -1079,12 +1079,8 @@ def __cumulative_investments_made_in_eur_path_constraints(self, ensemble_member) nominal = self.variable_nominal(var_name) var_name = self.__asset_is_realized_map[asset] asset_is_realized = self.state(var_name) - installation_cost_sym = self.__asset_installation_cost_var[ - self._asset_installation_cost_map[asset] - ] - investment_cost_sym = self.__asset_investment_cost_var[ - self._asset_investment_cost_map[asset] - ] + installation_cost_sym = self.variable(self._asset_installation_cost_map[asset]) + investment_cost_sym = self.variable(self._asset_investment_cost_map[asset]) # TODO: add insulation class cost to the investments made. # if asset in self.heat_network_components.get("demand", []): # for insulation_class in self.__get_insulation_classes(asset): diff --git a/src/mesido/util.py b/src/mesido/util.py new file mode 100644 index 000000000..8e7715eaa --- /dev/null +++ b/src/mesido/util.py @@ -0,0 +1,57 @@ +from mesido.esdl.esdl_parser import BaseESDLParser +from mesido.esdl.profile_parser import BaseProfileReader, InfluxDBProfileReader + +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.util import run_optimization_problem + + +def run_esdl_mesido_optimization( + problem: CollocatedIntegratedOptimizationProblem, + esdl_parser: BaseESDLParser, + esdl_file_name: str = "", + base_folder: str = "", + esdl_string: str = "", + profile_reader: BaseProfileReader = InfluxDBProfileReader, + input_timeseries_file: str = "", + *args, + **kwargs, +): + """ + This function is used to execute an optimization on a mesido defined problem. Compared to the + standard rtc-tools run_optimization_problem() method extra checks can be included here. + + params: + Problem: The problem defined in the mesido + esdl_parser: How the ESDL will be provided to the problem, e.g. file or base64 string. + base_folder: The base folder from where the input, model, output folder are defined + esdl_file_name: The string of the esdl file in case the ESDLFileParser is used and placed in + the model folder. + esdl_string: the base64 string in case the ESDLStringParser is selected + profile_reader: The way the time-series profiles are read + input_timeseries_file: The file from which to read the time-series profiles in case the + FromFileReader is selected. + + Returns: + The solved full problem object with the solution in it. + + """ + + solution = run_optimization_problem( + problem, + *args, + base_folder=base_folder, + esdl_file_name=esdl_file_name, + esdl_string=esdl_string, + esdl_parser=esdl_parser, + profile_reader=profile_reader, + input_timeseries_file=input_timeseries_file, + **kwargs, + ) + + feasibility = solution.solver_stats["return_status"] + + assert feasibility.lower() == "optimal" + + return solution diff --git a/tests/models/test_case_small_network_with_ates/src/run_ates.py b/tests/models/test_case_small_network_with_ates/src/run_ates.py index 1236ed154..0235197c7 100644 --- a/tests/models/test_case_small_network_with_ates/src/run_ates.py +++ b/tests/models/test_case_small_network_with_ates/src/run_ates.py @@ -210,6 +210,7 @@ def energy_system_options(self): """ options = super().energy_system_options() options["include_asset_is_realized"] = True + options["neglect_pipe_heat_losses"] = True return options @@ -253,10 +254,12 @@ def constraints(self, ensemble_member): # Constraints for investment speed, please note that we need to enforce index 0 to be 0. for s in self.energy_system_components.get("heat_source", []): - inv_made = self.state_vector(f"{s}__cumulative_investments_made_in_eur") + inv_made = self.__state_vector_scaled( + f"{s}__cumulative_investments_made_in_eur", ensemble_member + ) nominal = self.variable_nominal(f"{s}__cumulative_investments_made_in_eur") inv_cap = 2.5e5 - constraints.append((inv_made[0], 0.0, 0.0)) + constraints.append((inv_made[0] / nominal, 0.0, 200000.0)) for i in range(1, len(self.times())): constraints.append( (((inv_made[i] - inv_made[i - 1]) * nominal - inv_cap) / nominal, -np.inf, 0.0) @@ -269,6 +272,16 @@ def constraints(self, ensemble_member): return constraints + def __state_vector_scaled(self, variable, ensemble_member): + """ + This functions returns the casadi symbols scaled with their nominal for the entire time + horizon. + """ + canonical, sign = self.alias_relation.canonical_signed(variable) + return ( + self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign + ) + def times(self, variable=None): """ For the purposes of this test we take only 25 timesteps to speed up the test. diff --git a/tests/models/unit_cases/case_3a_setpoint/model/3a.esdl b/tests/models/unit_cases/case_3a_setpoint/model/3a.esdl index d896c5451..97c014a23 100644 --- a/tests/models/unit_cases/case_3a_setpoint/model/3a.esdl +++ b/tests/models/unit_cases/case_3a_setpoint/model/3a.esdl @@ -20,7 +20,7 @@ - + diff --git a/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py b/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py index 30600e796..4c0146eab 100644 --- a/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py +++ b/tests/models/unit_cases/case_3a_setpoint/src/run_3a.py @@ -1,5 +1,7 @@ from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.techno_economic_mixin import TechnoEconomicMixin import numpy as np @@ -24,7 +26,7 @@ def __init__(self, state, target): self.target_min = target self.target_max = target - self.function_range = (0.0, 2.0 * max(target.values)) + self.function_range = (-1.0, 2.0 * max(target.values)) self.function_nominal = np.median(target.values) def function(self, optimization_problem, ensemble_member): @@ -37,8 +39,8 @@ class MinimizeSourcesHeatGoal(Goal): order = 1 def __init__(self, source): - self.target_max = 0.0 - self.function_range = (0.0, 10e6) + # self.target_max = 0.0 + # self.function_range = (0.0, 10e6) self.source = source self.function_nominal = 1e6 @@ -67,17 +69,17 @@ def solver_options(self): # gurobi_options["MIPgap"] = 0.001 return options - def heat_network_options(self): - options = super().heat_network_options() - options["minimum_velocity"] = 0.0001 - # options["heat_loss_disconnected_pipe"] = False - # options["neglect_pipe_heat_losses"] = False + def energy_system_options(self): + options = super().energy_system_options() + # options["minimum_velocity"] = 0.0001 + options["heat_loss_disconnected_pipe"] = False + options["neglect_pipe_heat_losses"] = True return options class HeatProblem( - _GoalsAndOptions, ESDLAdditionalVarsMixin, + _GoalsAndOptions, TechnoEconomicMixin, LinearizedOrderGoalProgrammingMixin, SinglePassGoalProgrammingMixin, @@ -92,20 +94,18 @@ def path_goals(self): return goals - def solver_options(self): - options = super().solver_options() - options["solver"] = "highs" - # highs_options = options["highs"] = {} - # highs_options["mip_rel_gap"] = 0.0025 - # options["gurobi"] = gurobi_options = {} - # gurobi_options["MIPgap"] = 0.0001 - return options - if __name__ == "__main__": from rtctools.util import run_optimization_problem - sol = run_optimization_problem(HeatProblem) + sol = run_optimization_problem( + HeatProblem, + # base_folder=base_folder, + esdl_file_name="3a.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.xml", + ) results = sol.extract_results() print(results["GeothermalSource_b702.Heat_source"]) diff --git a/tests/test_absolute_heat.py b/tests/test_absolute_heat.py index a8a75de9d..a1557b288 100644 --- a/tests/test_absolute_heat.py +++ b/tests/test_absolute_heat.py @@ -3,8 +3,7 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile - -from rtctools.util import run_optimization_problem +from mesido.util import run_esdl_mesido_optimization from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -27,7 +26,7 @@ def test_absolute_heat(self): base_folder = Path(example.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="absolute_heat.esdl", diff --git a/tests/test_asset_is_realized.py b/tests/test_asset_is_realized.py index 8d16cd3b0..a32e5fc52 100644 --- a/tests/test_asset_is_realized.py +++ b/tests/test_asset_is_realized.py @@ -3,11 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - class TestAssetIsRealized(TestCase): def test_asset_is_realized(self): @@ -36,7 +35,7 @@ def test_asset_is_realized(self): # This is an optimization done over 25 timesteps with a cap on how quickly the cost # for the 2 producers can be realized - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblemPlacingOverTime, base_folder=base_folder, esdl_file_name="test_case_small_network_with_ates.esdl", diff --git a/tests/test_ates.py b/tests/test_ates.py index d9725fffd..150960447 100644 --- a/tests/test_ates.py +++ b/tests/test_ates.py @@ -3,11 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -33,7 +32,7 @@ def test_ates(self): base_folder = Path(run_ates.__file__).resolve().parent.parent # This is an optimization done over a full year with 365 day timesteps - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="test_case_small_network_with_ates.esdl", diff --git a/tests/test_cable_topology_optimization.py b/tests/test_cable_topology_optimization.py index 5a55caa74..6363d9421 100644 --- a/tests/test_cable_topology_optimization.py +++ b/tests/test_cable_topology_optimization.py @@ -3,11 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - class TestElectricityTopo(TestCase): def test_electricity_network_topology(self): @@ -25,7 +24,7 @@ def test_electricity_network_topology(self): base_folder = Path(example.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="enettopology.esdl", diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index ce5e397d9..53cb5b574 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -3,8 +3,7 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile - -from rtctools.util import run_optimization_problem +from mesido.util import run_esdl_mesido_optimization from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -27,7 +26,7 @@ def test_cold_demand(self): base_folder = Path(example.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="LT_wko.esdl", @@ -57,7 +56,7 @@ def test_airco(self): base_folder = Path(example.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="airco.esdl", diff --git a/tests/test_elec_boiler.py b/tests/test_elec_boiler.py index e49c506c4..b1ca9fcb4 100644 --- a/tests/test_elec_boiler.py +++ b/tests/test_elec_boiler.py @@ -3,11 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -28,7 +27,7 @@ def test_elec_boiler(self): base_folder = Path(example.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( SourcePipeSink, base_folder=base_folder, esdl_file_name="sourcesink_witheboiler.esdl", @@ -67,7 +66,7 @@ def test_air_water_hp_elec(self): base_folder = Path(example.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( SourcePipeSink, base_folder=base_folder, esdl_file_name="sourcesink_withHP.esdl", diff --git a/tests/test_electric_bus.py b/tests/test_electric_bus.py index b3bc1224f..71f0d8766 100644 --- a/tests/test_electric_bus.py +++ b/tests/test_electric_bus.py @@ -12,13 +12,11 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - - class TestMILPbus(TestCase): def test_voltages_and_power_network1(self): """ @@ -39,7 +37,7 @@ def test_voltages_and_power_network1(self): base_folder = Path(example.__file__).resolve().parent.parent # Run the problem - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( ElectricityProblem, base_folder=base_folder, esdl_file_name="Electric_bus3.esdl", diff --git a/tests/test_electric_source_sink.py b/tests/test_electric_source_sink.py index 607410560..fae824b65 100644 --- a/tests/test_electric_source_sink.py +++ b/tests/test_electric_source_sink.py @@ -3,11 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - # TODO: still have to make test where elecitricity direction is switched: # e.g. 2 nodes, with at each node a producer and consumer, first one node medium demand, second @@ -36,7 +35,7 @@ def test_source_sink(self): base_folder = Path(example.__file__).resolve().parent.parent tol = 1e-10 - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( ElectricityProblem, base_folder=base_folder, esdl_file_name="case1_elec.esdl", @@ -123,7 +122,7 @@ def test_source_sink_max_curr(self): base_folder = Path(example.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( ElectricityProblemMaxCurr, base_folder=base_folder, esdl_file_name="case1_elec.esdl", @@ -219,7 +218,7 @@ def test_transformer(self): base_folder = Path(example.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( ElectricityProblem, base_folder=base_folder, esdl_file_name="transformer.esdl", diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index 25501a14a..df32c5a9f 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -3,11 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - # from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -38,7 +37,7 @@ def energy_system_options(self): self.gas_network_settings["pipe_minimum_pressure"] = 0.0 return options - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( MILPProblem, base_folder=base_folder, esdl_file_name="h2.esdl", diff --git a/tests/test_gas_boiler.py b/tests/test_gas_boiler.py index c83d39e2b..6c9cb7c7c 100644 --- a/tests/test_gas_boiler.py +++ b/tests/test_gas_boiler.py @@ -3,11 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -29,7 +28,7 @@ def test_gas_boiler(self): base_folder = Path(example.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( SourcePipeSink, base_folder=base_folder, esdl_file_name="sourcesink_withgasboiler.esdl", diff --git a/tests/test_gas_multi_demand_source_node.py b/tests/test_gas_multi_demand_source_node.py index 168c4ce8a..7c9b340f2 100644 --- a/tests/test_gas_multi_demand_source_node.py +++ b/tests/test_gas_multi_demand_source_node.py @@ -3,13 +3,11 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - - class TestMILPGasMultiDemandSourceNode(TestCase): def test_multi_demand_source_node(self): """ @@ -35,7 +33,7 @@ def energy_system_options(self): self.gas_network_settings["pipe_minimum_pressure"] = 0.0 return options - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( GasProblem, base_folder=base_folder, esdl_file_name="test.esdl", diff --git a/tests/test_gas_pipe_topology_optimization.py b/tests/test_gas_pipe_topology_optimization.py index 2f6371eae..17fe1cd4f 100644 --- a/tests/test_gas_pipe_topology_optimization.py +++ b/tests/test_gas_pipe_topology_optimization.py @@ -4,11 +4,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - class TestGasNetwork(TestCase): def test_gas_pipe_top(self): @@ -36,7 +35,7 @@ def energy_system_options(self): self.gas_network_settings["minimize_head_losses"] = True return options - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( GasNetworkProblem, base_folder=base_folder, esdl_file_name="2a_gas.esdl", diff --git a/tests/test_gas_source_sink.py b/tests/test_gas_source_sink.py index 3cea91ff2..a4ab006f4 100644 --- a/tests/test_gas_source_sink.py +++ b/tests/test_gas_source_sink.py @@ -4,13 +4,11 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - - class TestMILPGasSourceSink(TestCase): def test_source_sink(self): """ @@ -40,7 +38,7 @@ def energy_system_options(self): self.heat_network_settings["pipe_minimum_pressure"] = 0.0 return options - soltion = run_optimization_problem( + soltion = run_esdl_mesido_optimization( GasProblem, base_folder=base_folder, esdl_file_name="source_sink.esdl", diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index f5717b2c2..43cdcbe09 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -7,11 +7,10 @@ from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption from mesido.network_common import NetworkSettings +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - from utils_tests import demand_matching_test @@ -88,7 +87,7 @@ def energy_system_options(self): "influxdb_verify_ssl": False, } - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( SourcePipeSinkDW, base_folder=base_folder, esdl_file_name="sourcesink.esdl", @@ -264,7 +263,7 @@ def energy_system_options(self): return options - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( SourcePipeSinkDW, base_folder=base_folder, esdl_file_name="sourcesink.esdl", @@ -441,7 +440,7 @@ def energy_system_options(self): return options - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( TestSourceSink, base_folder=base_folder, esdl_file_name="source_sink.esdl", @@ -593,7 +592,7 @@ def energy_system_options(self): return options - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( TestSourceSink, base_folder=base_folder, esdl_file_name="source_sink.esdl", @@ -729,7 +728,7 @@ def test_gas_substation(self): base_folder = Path(example.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( GasProblem, base_folder=base_folder, esdl_file_name="multiple_carriers.esdl", @@ -778,7 +777,7 @@ def test_compressor(self): base_folder = Path(example.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( GasProblem, base_folder=base_folder, esdl_file_name="compressor.esdl", diff --git a/tests/test_heat.py b/tests/test_heat.py index 544b6226c..342010fcf 100644 --- a/tests/test_heat.py +++ b/tests/test_heat.py @@ -4,11 +4,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -27,7 +26,7 @@ def test_heat_loss(self): base_folder = Path(double_pipe_heat.__file__).resolve().parent.parent - case = run_optimization_problem( + case = run_esdl_mesido_optimization( SourcePipeSink, base_folder=base_folder, esdl_file_name="sourcesink.esdl", @@ -69,7 +68,7 @@ def energy_system_options(self): base_folder = Path(double_pipe_heat.__file__).resolve().parent.parent - case = run_optimization_problem( + case = run_esdl_mesido_optimization( Model, base_folder=base_folder, esdl_file_name="sourcesink.esdl", @@ -160,7 +159,7 @@ def test_min_max_pressure_options(self): - max pressure """ - case_default = run_optimization_problem( + case_default = run_esdl_mesido_optimization( self.SmallerPipes, base_folder=self.base_folder, esdl_file_name=self.esdl_file, @@ -168,7 +167,7 @@ def test_min_max_pressure_options(self): profile_reader=ProfileReaderFromFile, input_timeseries_file=self.input_time_series_file, ) - case_min_pressure = run_optimization_problem( + case_min_pressure = run_esdl_mesido_optimization( self.MinPressure, base_folder=self.base_folder, esdl_file_name=self.esdl_file, @@ -176,7 +175,7 @@ def test_min_max_pressure_options(self): profile_reader=ProfileReaderFromFile, input_timeseries_file=self.input_time_series_file, ) - case_max_pressure = run_optimization_problem( + case_max_pressure = run_esdl_mesido_optimization( self.MaxPressure, base_folder=self.base_folder, esdl_file_name=self.esdl_file, @@ -184,7 +183,7 @@ def test_min_max_pressure_options(self): profile_reader=ProfileReaderFromFile, input_timeseries_file=self.input_time_series_file, ) - case_min_max_pressure = run_optimization_problem( + case_min_max_pressure = run_esdl_mesido_optimization( self.MinMaxPressure, base_folder=self.base_folder, esdl_file_name=self.esdl_file, @@ -293,7 +292,7 @@ def test_disconnected_network_pipe(self): - Check that pipe becomes disconnected when flow is forced to zero """ - case_connected = run_optimization_problem( + case_connected = run_esdl_mesido_optimization( self.ModelConnected, base_folder=self.base_folder, esdl_file_name="sourcesink.esdl", @@ -304,7 +303,7 @@ def test_disconnected_network_pipe(self): results_connected = case_connected.extract_results() q_connected = results_connected["Pipe1.Q"] - case_disconnected = run_optimization_problem( + case_disconnected = run_esdl_mesido_optimization( self.ModelDisconnected, base_folder=self.base_folder, esdl_file_name="sourcesink.esdl", @@ -346,7 +345,7 @@ def test_disconnected_pipe_darcy_weisbach(self): """ - case_linear = run_optimization_problem( + case_linear = run_esdl_mesido_optimization( self.ModelDisconnected, base_folder=self.base_folder, esdl_file_name="sourcesink.esdl", @@ -357,7 +356,7 @@ def test_disconnected_pipe_darcy_weisbach(self): results_linear = case_linear.extract_results() q_linear = results_linear["Pipe1.Q"] - case_dw = run_optimization_problem( + case_dw = run_esdl_mesido_optimization( self.ModelDisconnectedDarcyWeisbach, base_folder=self.base_folder, esdl_file_name="sourcesink.esdl", diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index 0d5a2e957..d134d9508 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -7,13 +7,13 @@ from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption from mesido.network_common import NetworkSettings +from mesido.util import run_esdl_mesido_optimization + import numpy as np import pandas as pd -from rtctools.util import run_optimization_problem - class TestHydraulicPower(TestCase): def test_hydraulic_power_heat(self): @@ -103,7 +103,7 @@ def test_hydraulic_power_heat(self): run_hydraulic_power.manual_set_pipe_length = run_hydraulic_power.comp_vars_vals[ "pipe_length" ][val] - run_optimization_problem( + run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="test_simple.esdl", @@ -146,7 +146,7 @@ def test_hydraulic_power_heat(self): run_hydraulic_power.manual_set_pipe_length = run_hydraulic_power.comp_vars_vals[ "pipe_length" ][val] - run_optimization_problem( + run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="test_simple.esdl", @@ -197,7 +197,7 @@ def test_hydraulic_power_heat(self): run_hydraulic_power.manual_set_pipe_length = run_hydraulic_power.comp_vars_vals[ "pipe_length" ][val] - run_optimization_problem( + run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="test_simple.esdl", @@ -276,7 +276,7 @@ def energy_system_options(self): return options - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( GasProblemHydraulic, base_folder=base_folder, esdl_file_name="source_sink.esdl", @@ -403,7 +403,7 @@ def energy_system_options(self): return options - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( GasProblemHydraulic, base_folder=base_folder, esdl_file_name="test.esdl", diff --git a/tests/test_insulation.py b/tests/test_insulation.py index 9a628e809..f1d09da89 100644 --- a/tests/test_insulation.py +++ b/tests/test_insulation.py @@ -3,11 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - class TestInsulation(TestCase): """ @@ -61,7 +60,7 @@ def test_insulation_heatdemand(self): from models.insulation.src.run_insulation import HeatProblem base_folder = Path(run_insulation.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="Insulation.esdl", @@ -141,7 +140,7 @@ def test_insulation_heatdemand_b(self): from models.insulation.src.run_insulation import HeatProblemB base_folder = Path(run_insulation.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblemB, base_folder=base_folder, esdl_file_name="Insulation.esdl", diff --git a/tests/test_max_size_and_optional_assets.py b/tests/test_max_size_and_optional_assets.py index e6d0b4941..34b08ee3b 100644 --- a/tests/test_max_size_and_optional_assets.py +++ b/tests/test_max_size_and_optional_assets.py @@ -3,11 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -45,7 +44,7 @@ def test_max_size_and_aggr_count(self): base_folder = Path(run_ates.__file__).resolve().parent.parent # This is an optimization done over a few days - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="test_case_small_network_with_ates_with_buffer.esdl", @@ -145,7 +144,7 @@ def test_max_size_and_aggr_count(self): # This is the same problem, but now with the buffer and ates also optional. # Therefore, we expect that the ates and buffer are no longer placed to avoid their heat # losses. This allows us to check if their placement constraints are proper. - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index 97df6a5bc..e90bdad26 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -3,12 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np - -from rtctools.util import run_optimization_problem - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -34,7 +32,7 @@ def test_heat_pump_elec_min_heat(self): base_folder = Path(run_hp_elec.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblem2, base_folder=base_folder, esdl_file_name="heat_pump_elec.esdl", @@ -104,7 +102,7 @@ def test_heat_pump_elec_min_heat_curr_limit(self): base_folder = Path(run_hp_elec.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="heat_pump_elec.esdl", @@ -176,7 +174,7 @@ def test_heat_pump_elec_min_elec(self): base_folder = Path(run_hp_elec.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( ElectricityProblem, base_folder=base_folder, esdl_file_name="heat_pump_elec.esdl", diff --git a/tests/test_multiple_carriers.py b/tests/test_multiple_carriers.py index 07d53b02a..a3a2ce7fd 100644 --- a/tests/test_multiple_carriers.py +++ b/tests/test_multiple_carriers.py @@ -3,8 +3,7 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile - -from rtctools.util import run_optimization_problem +from mesido.util import run_esdl_mesido_optimization from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -26,7 +25,7 @@ def test_multiple_carriers(self): base_folder = Path(run_multiple_carriers.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="MultipleCarrierTest.esdl", diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 3f3adb35e..65c47710a 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -3,11 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -60,7 +59,7 @@ def energy_system_options(self): } # ----------------------------------------------------------------------------------------- - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblemPost, base_folder=base_folder, esdl_file_name="heat_exchanger.esdl", @@ -153,7 +152,7 @@ def energy_system_options(self): } # ----------------------------------------------------------------------------------------- - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblemPost, base_folder=base_folder, esdl_file_name="heat_pump.esdl", diff --git a/tests/test_pipe_diameter_sizing.py b/tests/test_pipe_diameter_sizing.py index 9e3dc6150..ba34f2225 100644 --- a/tests/test_pipe_diameter_sizing.py +++ b/tests/test_pipe_diameter_sizing.py @@ -5,11 +5,10 @@ from mesido._darcy_weisbach import friction_factor from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -49,7 +48,7 @@ def test_half_network_gone(self): del root_folder sys.path.pop(1) - problem = run_optimization_problem( + problem = run_esdl_mesido_optimization( PipeDiameterSizingProblem, base_folder=base_folder, esdl_file_name="2a.esdl", diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index c23ae2f90..ab9431fd4 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -3,8 +3,7 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile - -from rtctools.util import run_optimization_problem +from mesido.util import run_esdl_mesido_optimization from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -28,7 +27,7 @@ def test_max_producer_profile(self): base_folder = Path(run_3a.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblemProdProfile, base_folder=base_folder, esdl_file_name="3a.esdl", diff --git a/tests/test_setpoint_constraints.py b/tests/test_setpoint_constraints.py index 98160c946..fd49167b7 100644 --- a/tests/test_setpoint_constraints.py +++ b/tests/test_setpoint_constraints.py @@ -3,13 +3,12 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np import pytest -from rtctools.util import run_optimization_problem - class TestSetpointConstraints(TestCase): @pytest.mark.first @@ -31,7 +30,7 @@ def test_setpoint_constraints(self): base_folder = Path(run_3a.__file__).resolve().parent.parent - _heat_problem_3 = run_optimization_problem( + _heat_problem_3 = run_esdl_mesido_optimization( HeatProblemSetPointConstraints, base_folder=base_folder, esdl_file_name="3a.esdl", @@ -42,7 +41,7 @@ def test_setpoint_constraints(self): ) results_3 = _heat_problem_3.extract_results() - _heat_problem_4 = run_optimization_problem( + _heat_problem_4 = run_esdl_mesido_optimization( HeatProblemSetPointConstraints, base_folder=base_folder, esdl_file_name="3a.esdl", @@ -60,7 +59,7 @@ def test_setpoint_constraints(self): base_folder = Path(run_3a.__file__).resolve().parent.parent - sol_esdl_setpoints = run_optimization_problem( + sol_esdl_setpoints = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="3a.esdl", @@ -114,7 +113,7 @@ def test_run_small_ates_timed_setpoints_2_changes(self): base_folder = Path(run_ates.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblemSetPoints, base_folder=base_folder, esdl_file_name="test_case_small_network_with_ates.esdl", @@ -150,7 +149,7 @@ def test_run_small_ates_timed_setpoints_0_changes(self): base_folder = Path(run_ates.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblemSetPoints, base_folder=base_folder, esdl_file_name="test_case_small_network_with_ates.esdl", @@ -186,7 +185,7 @@ def test_run_small_ates_timed_setpoints_multiple_constraints(self): base_folder = Path(run_ates.__file__).resolve().parent.parent for ihrs in range(119, 122): - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblemSetPoints, base_folder=base_folder, esdl_file_name="test_case_small_network_with_ates.esdl", diff --git a/tests/test_temperature_ates_hp.py b/tests/test_temperature_ates_hp.py index c290c95c8..ef323f449 100644 --- a/tests/test_temperature_ates_hp.py +++ b/tests/test_temperature_ates_hp.py @@ -3,11 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -42,7 +41,7 @@ def test_ates_temperature(self): basefolder = Path(run_ates_temperature.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblem, base_folder=basefolder, esdl_file_name="HP_ATES with return network.esdl", @@ -96,10 +95,6 @@ def test_ates_temperature(self): ) ) - feasibility = solution.solver_stats["return_status"] - - self.assertTrue((feasibility == "Optimal")) - np.testing.assert_allclose(objective_calc / 1e4, objective) np.testing.assert_array_less(ates_temperature_disc - tol, ates_temperature) @@ -160,7 +155,7 @@ def test_ates_max_flow(self): basefolder = Path(run_ates_temperature.__file__).resolve().parent.parent - solution = run_optimization_problem( + solution = run_esdl_mesido_optimization( HeatProblemMaxFlow, base_folder=basefolder, esdl_file_name="HP_ATES with return network.esdl", diff --git a/tests/test_topo_constraints.py b/tests/test_topo_constraints.py index 691626d1b..03c5c9b9d 100644 --- a/tests/test_topo_constraints.py +++ b/tests/test_topo_constraints.py @@ -8,13 +8,11 @@ from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.pipe_class import PipeClass from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.util import run_esdl_mesido_optimization import numpy as np import numpy.testing -from rtctools.util import run_optimization_problem - - MIP_TOLERANCE = 1e-8 @@ -43,7 +41,7 @@ def setUpClass(cls) -> None: del root_folder sys.path.pop(1) - cls.problem = run_optimization_problem( + cls.problem = run_esdl_mesido_optimization( PipeDiameterSizingProblem, base_folder=base_folder, esdl_file_name="2a.esdl", diff --git a/tests/test_varying_temperature.py b/tests/test_varying_temperature.py index f842cabc0..2db1d2488 100644 --- a/tests/test_varying_temperature.py +++ b/tests/test_varying_temperature.py @@ -4,11 +4,10 @@ from mesido._heat_loss_u_values_pipe import pipe_heat_loss from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -33,7 +32,7 @@ def test_1a_temperature_variation(self): base_folder = Path(run_1a.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblemTvar, base_folder=base_folder, esdl_file_name="1a.esdl", @@ -97,7 +96,7 @@ def test_3a_temperature_variation_supply(self): base_folder = Path(run_3a.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblemTvarsup, base_folder=base_folder, esdl_file_name="3a.esdl", @@ -169,7 +168,7 @@ def test_3a_temperature_variation_return(self): base_folder = Path(run_3a.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblemTvarret, base_folder=base_folder, esdl_file_name="3a.esdl", @@ -233,7 +232,7 @@ def test_hex_temperature_variation(self): base_folder = Path(run_heat_exchanger.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblemTvar, base_folder=base_folder, esdl_file_name="heat_exchanger.esdl", @@ -299,7 +298,7 @@ def test_hex_temperature_variation_disablehex(self): base_folder = Path(run_heat_exchanger.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblemTvarDisableHEX, base_folder=base_folder, esdl_file_name="heat_exchanger.esdl", @@ -341,7 +340,7 @@ def test_hex_temperature_variation_secondary(self): base_folder = Path(run_heat_exchanger.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblemTvarSecondary, base_folder=base_folder, esdl_file_name="heat_exchanger.esdl", @@ -379,7 +378,7 @@ def test_heat_pump_varying_temperature(self): base_folder = Path(run_heat_pump.__file__).resolve().parent.parent - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblemTvar, base_folder=base_folder, esdl_file_name="heat_pump.esdl", diff --git a/tests/test_warmingup_unit_cases.py b/tests/test_warmingup_unit_cases.py index 1ba27c43b..19439580d 100644 --- a/tests/test_warmingup_unit_cases.py +++ b/tests/test_warmingup_unit_cases.py @@ -3,11 +3,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization import numpy as np -from rtctools.util import run_optimization_problem - from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -34,7 +33,7 @@ def test_1a(self): base_folder = Path(run_1a.__file__).resolve().parent.parent # Just a "problem is not infeasible" - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="1a.esdl", @@ -103,7 +102,7 @@ def test_2a(self): base_folder = Path(run_2a.__file__).resolve().parent.parent # Just a "problem is not infeasible" - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="2a.esdl", @@ -139,7 +138,7 @@ def test_3a(self): base_folder = Path(run_3a.__file__).resolve().parent.parent # Just a "problem is not infeasible" - heat_problem = run_optimization_problem( + heat_problem = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, esdl_file_name="3a.esdl", From e482504798d44da45472f2adefe4ac1ce8bd1235 Mon Sep 17 00:00:00 2001 From: JimRojer-TNO <137045207+jimrojerTNO@users.noreply.github.com> Date: Thu, 25 Apr 2024 17:28:59 +0200 Subject: [PATCH 102/376] Emerge workflow (#50) * created the emerge wf and a simple test to check if the problem is solved. --------- Co-authored-by: Femke Janssen --- src/mesido/workflows/emerge.py | 244 +++++++++++++++++++++++++++++++++ tests/test_emerge.py | 30 ++++ 2 files changed, 274 insertions(+) create mode 100644 src/mesido/workflows/emerge.py create mode 100644 tests/test_emerge.py diff --git a/src/mesido/workflows/emerge.py b/src/mesido/workflows/emerge.py new file mode 100644 index 000000000..8020826c7 --- /dev/null +++ b/src/mesido/workflows/emerge.py @@ -0,0 +1,244 @@ +import os +import time + +import casadi as ca + +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.io.write_output import ScenarioOutput + +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.optimization.goal_programming_mixin_base import Goal +from rtctools.optimization.linearized_order_goal_programming_mixin import ( + LinearizedOrderGoalProgrammingMixin, +) +from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin +from rtctools.util import run_optimization_problem + + +class MaxRevenue(Goal): + + priority = 1 + + order = 1 + + def __init__(self, asset_name: str): + """ + The constructor of the goal. + + Parameters + ---------- + source : string of the source name that is going to be minimized + """ + + self.asset_name = asset_name + + def function( + self, optimization_problem: CollocatedIntegratedOptimizationProblem, ensemble_member: int + ) -> ca.MX: + """ + This function returns the state variable to be minimized. + + Parameters + ---------- + optimization_problem : The optimization class containing the variables'. + ensemble_member : the ensemble member. + + Returns + ------- + The negative revenue var of the optimization problem. + """ + return -optimization_problem.extra_variable(f"{self.asset_name}__revenue", ensemble_member) + + +class MinCost(Goal): + + priority = 1 + + order = 1 + + def __init__(self, asset_name: str): + # self.target_max = 0.0 + # self.function_range = (0.0, 1.0e9) + # self.function_nominal = 1.0e7 + + self.asset_name = asset_name + + def function( + self, optimization_problem: CollocatedIntegratedOptimizationProblem, ensemble_member: int + ) -> ca.MX: + + return optimization_problem.extra_variable( + f"{self.asset_name}__fixed_operational_cost", ensemble_member + ) + optimization_problem.extra_variable( + f"{self.asset_name}__variable_operational_cost", ensemble_member + ) + + +class EmergeWorkFlow( + ScenarioOutput, + ESDLAdditionalVarsMixin, + TechnoEconomicMixin, + LinearizedOrderGoalProgrammingMixin, + SinglePassGoalProgrammingMixin, + ESDLMixin, + CollocatedIntegratedOptimizationProblem, +): + """ + This problem class is for the absolute heat tests. Meaning that this problem class + is applied to an esdl where there is no dedicated supply or return line. For this test case + we just match heating demand (_GoalsAndOptions) and minimize the energy production to have a + representative result. + """ + + # TODO: this workflow is still work in progress and this part of code still needs to be + # finalised + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + self.gas_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS + + def goals(self): + + goals = super().goals().copy() + + for asset_name in [ + *self.energy_system_components.get("electricity_demand", []), + *self.energy_system_components.get("gas_demand", []), + ]: + goals.append(MaxRevenue(asset_name)) + goals.append(MinCost(asset_name)) + + for asset_name in [ + *self.energy_system_components.get("electricity_source", []), + *self.energy_system_components.get("gas_tank_storage", []), + *self.energy_system_components.get("electricity_storage", []), + *self.energy_system_components.get("electrolyzer", []), + *self.energy_system_components.get("heat_pump_elec", []), + ]: + goals.append(MinCost(asset_name)) + + return goals + + def constraints(self, ensemble_member): + constraints = super().constraints(ensemble_member) + + for gs in self.energy_system_components.get("gas_tank_storage", []): + canonical, sign = self.alias_relation.canonical_signed(f"{gs}.Stored_gas_mass") + storage_t0 = sign * self.state_vector(canonical, ensemble_member)[0] + constraints.append((storage_t0, 0.0, 0.0)) + canonical, sign = self.alias_relation.canonical_signed(f"{gs}.Gas_tank_flow") + gas_flow_t0 = sign * self.state_vector(canonical, ensemble_member)[0] + constraints.append((gas_flow_t0, 0.0, 0.0)) + + for es in self.energy_system_components.get("electricity_storage", []): + canonical, sign = self.alias_relation.canonical_signed(f"{es}.Stored_electricity") + storage_t0 = sign * self.state_vector(canonical, ensemble_member)[0] + constraints.append((storage_t0, 0.0, 0.0)) + + return constraints + + def solver_options(self): + """ + This function does not add anything at the moment but during debugging we use this. + + Returns + ------- + solver options dict + """ + options = super().solver_options() + options["solver"] = "highs" + return options + + def times(self, variable=None): + return super().times(variable)[:25] + + def energy_system_options(self): + """ + This function does not add anything at the moment but during debugging we use this. + + Returns + ------- + Options dict for the physics modelling + """ + options = super().energy_system_options() + options["minimum_velocity"] = 0.0 + options["heat_loss_disconnected_pipe"] = False + options["neglect_pipe_heat_losses"] = False + options["include_asset_is_switched_on"] = True + options["include_electric_cable_power_loss"] = False + return options + + def post(self): + # In case the solver fails, we do not get in priority_completed(). We + # append this last priority's statistics here in post(). + # TODO: check if we still need this small part of code below + success, _ = self.solver_success(self.solver_stats, False) + # if not success: + # time_taken = time.time() - self.__priority_timer + # self._priorities_output.append( + # ( + # self.__priority, + # time_taken, + # False, + # self.objective_value, + # self.solver_stats, + # ) + # ) + + super().post() + + # Optimized ESDL + self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) + + self._save_json = False + + if os.path.exists(self.output_folder) and self._save_json: + self._write_json_output() + + results = self.extract_results() + + for _type, assets in self.energy_system_components.items(): + for asset in assets: + print("----------------------------------") + print(f"{asset} financials:") + try: + print(f"revenue of {asset} in MEUR/day: ", results[f"{asset}__revenue"] / 1e6) + except KeyError: + print(f"{asset} does not have a revenue") + pass + try: + print( + f"fixed operational costs of {asset} in MEUR/yr : ", + results[f"{asset}__fixed_operational_cost"] / 1e6, + ) + print( + f"variable operational costs of {asset} : ", + results[f"{asset}__variable_operational_cost"] / 1e6, + ) # not yet all included in financialmixin + print(f"max size of {asset} : ", results[f"{asset}__max_size"]) + except KeyError: + print(f"{asset} does not have a costs") + pass + + +if __name__ == "__main__": + + tic = time.time() + elect = run_optimization_problem( + EmergeWorkFlow, + esdl_file_name="emerge_solar_battery.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_with_PV.csv", + ) + print(time.time() - tic) + results = elect.extract_results() + a = 1 diff --git a/tests/test_emerge.py b/tests/test_emerge.py new file mode 100644 index 000000000..2956db7ba --- /dev/null +++ b/tests/test_emerge.py @@ -0,0 +1,30 @@ +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization + + +class TestEmerge(TestCase): + def test_emerge_workflow(self): + """ + This test checks if the emerge workflow is succesfully optimized + + Checks: + 1. check if solver succeeds + + """ + import models.emerge.src.example as example + from mesido.workflows.emerge import EmergeWorkFlow + + base_folder = Path(example.__file__).resolve().parent.parent + + _ = run_esdl_mesido_optimization( + EmergeWorkFlow, + base_folder=base_folder, + esdl_file_name="emerge.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) From 58dd0e59ae727b5c740e0a60fb5a949b03f0f184 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Fri, 26 Apr 2024 10:23:14 +0200 Subject: [PATCH 103/376] bug fix (#51): Writing results to influxDB of deleted assets --- src/mesido/workflows/io/write_output.py | 88 +++++++++++++------------ 1 file changed, 45 insertions(+), 43 deletions(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index d99b1879a..17a824388 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -901,53 +901,55 @@ def _name_to_asset(name): *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), ]: - # Note: when adding new variables to variables_one_hydraulic_system or" - # variables_two_hydraulic_system also add quantity and units to the ESDL for the new - # variables in the code lower down - # These variables exist for all the assets. Variables that only exist for specific - # assets are only added later, like Pump_power - variables_one_hydraulic_system = ["HeatIn.Q", "Heat_flow"] - variables_two_hydraulic_system = [ - "Primary.HeatIn.Q", - "Secondary.HeatIn.Q", - "Heat_flow", - ] - - # Update/overwrite each asset variable list due to: - # - the addition of head loss minimization: head variable and pump power - # - only a specific variable required for a specific asset: pump power - # - addition of post processed variables: pipe velocity - if self.heat_network_settings["minimize_head_losses"]: - variables_one_hydraulic_system.append("HeatIn.H") - variables_two_hydraulic_system.append("Primary.HeatIn.H") - variables_two_hydraulic_system.append("Secondary.HeatIn.H") - if asset_name in [ - *self.energy_system_components.get("heat_source", []), - *self.energy_system_components.get("heat_buffer", []), - *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("heat_exchanger", []), - *self.energy_system_components.get("heat_pump", []), - ]: - variables_one_hydraulic_system.append("Pump_power") - variables_two_hydraulic_system.append("Pump_power") - elif asset_name in [*self.energy_system_components.get("pump", [])]: - variables_one_hydraulic_system = ["Pump_power"] - variables_two_hydraulic_system = ["Pump_power"] - if asset_name in [*self.energy_system_components.get("heat_pipe", [])]: - variables_one_hydraulic_system.append("PostProc.Velocity") - variables_two_hydraulic_system.append("PostProc.Velocity") - # Velocity at the pipe outlet [m/s] - post_processed_velocity = ( - results[f"{asset_name}.HeatOut.Q"] / parameters[f"{asset_name}.area"] - ) - - profiles = ProfileManager() - profiles.profile_type = "DATETIME_LIST" - profiles.profile_header = ["datetime"] try: # If the asset has been placed asset = _name_to_asset(asset_name) + # Note: when adding new variables to variables_one_hydraulic_system or" + # variables_two_hydraulic_system also add quantity and units to the ESDL for + # the new variables in the code lower down + # These variables exist for all the assets. Variables that only exist for + # specific + # assets are only added later, like Pump_power + variables_one_hydraulic_system = ["HeatIn.Q", "Heat_flow"] + variables_two_hydraulic_system = [ + "Primary.HeatIn.Q", + "Secondary.HeatIn.Q", + "Heat_flow", + ] + + # Update/overwrite each asset variable list due to: + # - the addition of head loss minimization: head variable and pump power + # - only a specific variable required for a specific asset: pump power + # - addition of post processed variables: pipe velocity + if self.heat_network_settings["minimize_head_losses"]: + variables_one_hydraulic_system.append("HeatIn.H") + variables_two_hydraulic_system.append("Primary.HeatIn.H") + variables_two_hydraulic_system.append("Secondary.HeatIn.H") + if asset_name in [ + *self.energy_system_components.get("heat_source", []), + *self.energy_system_components.get("heat_buffer", []), + *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("heat_exchanger", []), + *self.energy_system_components.get("heat_pump", []), + ]: + variables_one_hydraulic_system.append("Pump_power") + variables_two_hydraulic_system.append("Pump_power") + elif asset_name in [*self.energy_system_components.get("pump", [])]: + variables_one_hydraulic_system = ["Pump_power"] + variables_two_hydraulic_system = ["Pump_power"] + if asset_name in [*self.energy_system_components.get("heat_pipe", [])]: + variables_one_hydraulic_system.append("PostProc.Velocity") + variables_two_hydraulic_system.append("PostProc.Velocity") + # Velocity at the pipe outlet [m/s] + post_processed_velocity = ( + results[f"{asset_name}.HeatOut.Q"] / parameters[f"{asset_name}.area"] + ) + + profiles = ProfileManager() + profiles.profile_type = "DATETIME_LIST" + profiles.profile_header = ["datetime"] + # Get index of outport which will be used to assign the profile data to index_outport = -1 for ip in range(len(asset.port)): From 1c1b0f053bed9c6d3f08f3e41bd30cf4ef1d6b36 Mon Sep 17 00:00:00 2001 From: Rojer Date: Fri, 26 Apr 2024 14:03:52 +0200 Subject: [PATCH 104/376] adding esdl requirements --- src/mesido/esdl/esdl_heat_model.py | 487 +++++++++++++++++++++++++++++ 1 file changed, 487 insertions(+) diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index a13c7dc51..77d0e3f5a 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -206,6 +206,31 @@ def convert_heat_buffer(self, asset: Asset) -> Tuple[Type[HeatBuffer], MODIFIERS - Setting the relevant temperatures. - Setting the relevant cost figures. + Required ESDL fields: + --------------------- + - volume/capacity + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified + + Optional ESDL fields: + --------------------- + - max(Dis)ChargeRate + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -316,6 +341,30 @@ def convert_heat_demand(self, asset: Asset) -> Tuple[Type[HeatDemand], MODIFIERS - Setting the relevant temperatures. - Setting the relevant cost figures. + Required ESDL fields: + --------------------- + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified + + Optional ESDL fields: + --------------------- + - power + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -351,6 +400,29 @@ def convert_node(self, asset: Asset) -> Tuple[Type[Node], MODIFIERS]: - Setting the amount of connections + Required ESDL fields: + --------------------- + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with (note only one inport and one outport): + - xsi:type + - id + - name + - connectedTo (allowed to have multiple connections) + - carrier with temperature specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -411,6 +483,32 @@ def convert_heat_pipe( - Setting the relevant temperatures. - Setting the relevant cost figures. + Required ESDL fields: + --------------------- + - Diameter/inner_diameter + - length + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with (note only one inport and one outport): + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified + + Optional ESDL fields: + --------------------- + - Material (for insulation) + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -525,6 +623,29 @@ def convert_pump(self, asset: Asset) -> Tuple[Type[Pump], MODIFIERS]: - Setting the relevant temperatures. - Setting the relevant cost figures. + Required ESDL fields: + --------------------- + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with (note only one inport and one outport): + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -569,6 +690,31 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD - Setting the relevant temperatures (also checked for making sense physically). - Setting the relevant cost figures. + Required ESDL fields: + --------------------- + - heatTransferCoefficient/power + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - 2 InPorts and 2 OutPorts with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified + + Optional ESDL fields: + --------------------- + - efficiency + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -699,6 +845,32 @@ def convert_heat_pump(self, asset: Asset) -> Tuple[Type[HeatPump], MODIFIERS]: - Setting the relevant temperatures. - Setting the relevant cost figures. + Required ESDL fields: + --------------------- + - power + - COP + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - 2 InPorts and 2 OutPorts with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified + + Optional ESDL fields: + --------------------- + - efficiency + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -778,6 +950,31 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS - Setting the relevant temperatures. - Setting the relevant cost figures. + Required ESDL fields: + --------------------- + - power + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified + + Optional ESDL fields: + --------------------- + - aggregationCount + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -877,6 +1074,32 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: - Setting the relevant temperatures. - Setting the relevant cost figures. + Required ESDL fields: + --------------------- + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified + + Optional ESDL fields: + --------------------- + - max(Dis)ChargeRate + - aquiferMidTemperature + - aggregationCount + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -969,6 +1192,29 @@ def convert_control_valve(self, asset: Asset) -> Tuple[Type[ControlValve], MODIF - Setting the relevant temperatures. - Setting the relevant cost figures. + Required ESDL fields: + --------------------- + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -1011,6 +1257,29 @@ def convert_check_valve(self, asset: Asset) -> Tuple[Type[CheckValve], MODIFIERS - Setting the relevant temperatures. - Setting the relevant cost figures. + Required ESDL fields: + --------------------- + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -1041,6 +1310,30 @@ def convert_electricity_demand(self, asset: Asset) -> Tuple[Type[ElectricityDema - Setting the electrical power caps + Required ESDL fields: + --------------------- + - power + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with voltage specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -1081,6 +1374,30 @@ def convert_electricity_source(self, asset: Asset) -> Tuple[Type[ElectricitySour - Setting the electrical power caps + Required ESDL fields: + --------------------- + - power + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with voltage specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -1120,6 +1437,29 @@ def convert_electricity_node(self, asset: Asset) -> Tuple[Type[ElectricityNode], - Setting the number of connections + Required ESDL fields: + --------------------- + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo (allowed to have multiple connections) + - carrier with voltage specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -1160,6 +1500,31 @@ def convert_electricity_cable(self, asset: Asset) -> Tuple[Type[ElectricityCable - Setting the length of the cable used for power loss computation. - setting the min and max current. + Required ESDL fields: + --------------------- + - length + - capacity + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with voltage specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -1202,6 +1567,29 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: - ... + Required ESDL fields: + --------------------- + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with pressure specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -1246,6 +1634,29 @@ def convert_gas_source(self, asset: Asset) -> Tuple[Type[GasSource], MODIFIERS]: - ... + Required ESDL fields: + --------------------- + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with pressure specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -1283,6 +1694,35 @@ def convert_electrolyzer(self, asset: Asset) -> Tuple[Type[Electrolyzer], MODIFI This function converts the Electrolyzer object in esdl to a set of modifiers that can be used in a pycml object. + Required ESDL fields: + --------------------- + - power + - minLoad + - maxLoad + - effMinLoad + - effMaxLoad + - efficiency + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with voltage/pressure specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -1350,6 +1790,30 @@ def convert_gas_tank_storage(self, asset: Asset) -> Tuple[Type[GasTankStorage], This function converts the GasTankStorage object in esdl to a set of modifiers that can be used in a pycml object. + Required ESDL fields: + --------------------- + - workingVolume + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with pressure specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -1388,6 +1852,29 @@ def convert_gas_substation(self, asset: Asset) -> Tuple[Type[GasSubstation], MOD This function converts the GasTankStorage object in esdl to a set of modifiers that can be used in a pycml object. + Required ESDL fields: + --------------------- + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with pressure specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. From e2f30cb181d9d262f07957fc387620f7e5de191d Mon Sep 17 00:00:00 2001 From: Rojer Date: Fri, 26 Apr 2024 14:06:10 +0200 Subject: [PATCH 105/376] added esdl requirements --- src/mesido/esdl/esdl_heat_model.py | 96 ++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 761685888..60231a7f8 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -2151,6 +2151,29 @@ def convert_compressor(self, asset: Asset) -> Tuple[Type[Compressor], MODIFIERS] This function converts the Compressor object in esdl to a set of modifiers that can be used in a pycml object. + Required ESDL fields: + --------------------- + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with pressure specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -2194,6 +2217,30 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: This function converts the GasHeater object in esdl to a set of modifiers that can be used in a pycml object. + Required ESDL fields: + --------------------- + - power + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with pressure/temperature specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -2260,6 +2307,30 @@ def convert_elec_boiler(self, asset: Asset) -> Tuple[ElecBoiler, MODIFIERS]: This function converts the ElectricBoiler object in esdl to a set of modifiers that can be used in a pycml object. + Required ESDL fields: + --------------------- + - power + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with voltage/temperature specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. @@ -2333,6 +2404,31 @@ def convert_air_water_heat_pump_elec( This function converts the ElectricBoiler object in esdl to a set of modifiers that can be used in a pycml object. + Required ESDL fields: + --------------------- + - power + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with voltage/temperature specified + + Optional ESDL fields: + --------------------- + - COP + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + Parameters ---------- asset : The asset object with its properties. From 8ad493b59f5ca0418b053d2f04af51852a9ca142 Mon Sep 17 00:00:00 2001 From: Rojer Date: Fri, 26 Apr 2024 17:52:26 +0200 Subject: [PATCH 106/376] starting with copying the paper and getting it in the right rst format --- docs/conf.py | 1 + docs/images/linearlines.png | Bin 0 -> 57299 bytes docs/references.bib | 15 ++ docs/theory/Workflows.rst | 35 ++- docs/theory/electricity_physics.rst | 6 + docs/theory/gas_physics.rst | 6 + docs/theory/heat_physics.rst | 358 ++++++++++++++++++++++++++++ docs/theory/index.rst | 9 +- docs/theory/introduction.rst | 2 + docs/theory/philosophy.rst | 18 ++ docs/theory/physics.rst | 41 ++++ 11 files changed, 482 insertions(+), 9 deletions(-) create mode 100644 docs/images/linearlines.png create mode 100644 docs/theory/electricity_physics.rst create mode 100644 docs/theory/gas_physics.rst create mode 100644 docs/theory/heat_physics.rst create mode 100644 docs/theory/philosophy.rst create mode 100644 docs/theory/physics.rst diff --git a/docs/conf.py b/docs/conf.py index 1ddfcb333..59b44a3be 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -22,6 +22,7 @@ # -- Project information ----------------------------------------------------- project = 'Multi-Energy-Systems Integrated Design and Operations' +html_title = 'MESIDO' author = 'Jim Rojer, Kobus van Rooyen and Femke Janssen' review = 'Kobus van Rooyen and Femke Janssen' diff --git a/docs/images/linearlines.png b/docs/images/linearlines.png new file mode 100644 index 0000000000000000000000000000000000000000..786ddfb639a0d7e27d675908da7e0cfdb5242562 GIT binary patch literal 57299 zcmeFZc{JC3_&)eiN{Y%>v``W$JB6~;lbsSuvQ`M$BTKfHr;sEhJB5-`Ldc%%*%jIM zHTzDM&s^{7`F&^R%sF%Bk2&+tIHye?@8z}J_jO(Ob-%pNot3BEylXRwM50wxkWnX* z)(??L>$Em)#CN7xD-YriaeG-UdkyPr_KsI>7?aLivA40Xwzn|5y3fJ*hMk$Ul`x+$ zp9s%BQ+sX6w&}Cq>GBtek+JvO=UncrWDx7THP{rO@#cXH>SA4*=gdFb!YXr83d`}4`7&4-@*{Q0C7 z#RmJo*FW<7e_eFL|9{c{e@rm~|KBXB&(-xC6n;MR@#!t`-Tf&$+fXQ!NAL0P^{VA{ zh56rq|9v8Ca@N8^#KD}Fu~s-_x2V;V6OLBO!TW!&bj_Zh4R8Ct236D>Z`wS>@;E#D z1ZgL~z6iNhJtj7`Io)#i+{lm8j*gC)G_SJW;k3g6$A*aCw7!`i<>2^tWobr7VrN+= zab@}VG?VHGmTlX%`83k+-RtY)vjso5!^4i=zx12=1rEzv;9jU)K@?s0^ zpLO&9XyibVpwOxIS%bZ(meeTG~^g`w*A8seUq;V*?eH z-RiHKZEbCnQ&R;U9a7EGA*IE|QIfWaWNee)BV7}K&e?DEx}yPK+n`v;qmct-E0S6mxXa| zBDN^7|B5^4Eh8__z{27kA0L0#go#d3jx&&2RaKS!zya^akJIhNFF1soZ%i?+ z5C~PV=**M6@OYu@rE)O-^=P*!U-P`URhyU!Cqpowo>ICSXS|8?`xB1iiT>w^kf*4L z&`6%_Dp(&887Ua5;yP8l^BJG~?+Fyz&YQ|Pz3r{$J9Z(V04#}AqjLJ=_CuG419&*C zJ97T@^fWYy&!8r*oi^73DwauqsXusXb~a8WROqDZIgg3lh1c3?hoz*X#Eu_V$F<}hF`v@X(z?4U zF}!OQSA2GB?q_#@|9vcTS)Uy*J;-Y^va*s5GmI=O<*(IZG5gp1gHvjSdOp3wGKvj7l*EW1~adELWMs~|%R>`nF_nmyY3dvWC zD{Bf8FQp35^d|iD2#A&Un=aXH-8DAm8yLuNQ0eLApWhR_pMB4|HFsDq+uj4-BZozI`| zyZ-%k0haktOWKix%Fp@+s={68n@!HY(+*l)UI-Mm?x0*?k#ZG#@#4koc>C_#SZmYs zt=0^5bf*TZBN=9MZ}e}b-6it;=1Aj5i{=2&ZEWjou$Ol5YRgnStJh@+0Y6wxjh!M(%&ko!c(&$7+l*vH$s<`ZgYKa&39yTjC|*4z~q83rovPrzv*n zmC5z~{{91V9|;7*5h=iNntJnQA<}_EhlY~fz7!Vv26CzH>hA95)>gK#NSwk>J#g&U zFp|m!W#1? zA|W9`^SLSAGCVUE3;O}Wmn~j_ayi$2IG}rcJnH#lOy;iJ{#>f82LuFa+gO>IP5a6N zOUs^e2h#1>@$C7r&sv{suEb;=IB>xC_3PI%W7tno6wEI3qkjmT< z?+G=PPRd`)!h={*Qc;DsvP!vzyzay{qNSpuioKYmKaftfjg^^?k56u@r`Wf)_MF{v z!`q9r7cc&hk$zh`{5>IXY9ga{*U{_D>FMbu{s-hMEpcbLk;ZqlpPRC7zP-Zyz_zc9 zZoR-OmC)%T!>9ZP9f$OD7CjmR>Jx|4!dT-PT@sBXu)a!u&5Z=QM(?B>xpF3{A-;TL zK$gf|zM8mZuIx{{=|fdqguR4mEL1qVil4px+B07Ez&$N$d9BlJVeg$gcLw~GZ@)Sd z9&k{3$1|QwUydZ@OcyO%H>ce9^4f&pLL`k$NsQP>^B<3$X9hxBX$mhlyt(i_L4(S` zz+k*R+oWUQ=TD`y>kUmg&UP_|vp*ZQAY;r};x}UD$ocLno*!#v_#Pr|cP$GuXUaz2 z)Bf1odp|OFQfPy##&_GY1fdKc?k$(c5hvl zL}2!Q|F+GKKiIRBTVcu(q3-Ku-mo2S6Ss2#Fj^W2xBlcf!HQ_^mrE}8*-3Fo`=e=$ zCD|(5Wr2@^g2JLBN4)%7=N%5!1b+P-r-b>K1*OXn|j`bE8sn_nJUa%J^%r&4;x6Kbl1cSuf7 z7Gyht^!W%00keWty7g<&ky2&;Tp29X1l`P(C3gm{vvJ5i-{0$nM~K_0C+SP-yUktD zPP;yLKA4^WfeI~PKQ$aaz=h+y&hoXzY_Ix!~CRvc_H8V zV^wdF-b|nh#j^l=D*AmQ(;hxPJ_p3an73{7ix2yk_a%>B7Gt3RV$ptmeSPnABK{N5 z!JA^WuIL)z>WfqNHd3cYiraA(jNw1J`uk;VYy@a`A9MYATs87|@kmmB)blZfwv+V- z>J^uIeE7?P`Pl%XRVE|ID>F5!H_7a>4?o!UA}ond7in|{p6>o~e`#qj8sSJaz+~IX zH)16(PVOfHIEGF21Mj|lB>B?({Ljv_x{*?DVZr*hxKDM;*9^`$i70vW6nV?Eo{g3| z1C$UGt#N1FhM^xxY>1Et*xBy}8@PueAqqK7UY;?V@Z;pOXihn}-D9H+QVjvAPJ3>3 z8^1*)h@xMnp-0PWu~fCvEm#n&Ujb}>yxwrQ&I8!xSn1=vhMjqCe(kEUa=te9_D0AB zGBPV})SrLrhy&EF!A%y|`{!V8h zfi>yfJ6_H}?gE9IDk?O1Yxg(H8J4X(ZmY%09n6di^QWnJDp~*HG}TPG_b=G4+2Z%H%9EdRy!@_=@?nET47%yt19 z&NE?@pLbj5P!y3z*K$?D5FVF&yySy-tt_{=+}_M|m}EmSS2?jeScoR>rz4?J4$Q&}Cau1vz=N_rx>YTrKt5nU)M|Rb=ulJ9wTe__HI6 zOBa}RGjOVOEp&Rsp9w$q(d^rU>kV(ZvG{?IrWO|BuNFV#(Mjhi5Oj5Q1)h83Je`4Y zzR~}c35a91Nu!1Q4*CAk9`S&S`p)+e(*nD?E^8*~uYRw%c_BglJ}{~<7CC{fbgXk_ z5iW^54^(K3l&2VVe^TP`#rKt;YZ=S53>US&flRovx>{vGpELdS z2m)&@hWFR}m@@L!;_5;t@py<_MMXs+3*p=voCMT)K*RD6u;EZs@_{Q?u2e=#M}N7$ z#crtf#o&8q+#6FFjFAryzO+15%0}!s#NDHQP1ddHzDN-D7(4=LBNb3>-E$fH6fmzr z!uk{TsQ@DxK%P@P<+L zA>);*u%nd`;tVDxgB;7gd&KEM8?V(wRe8}JC<7eELM|4dnMc6sa*v9NS^*w%U70F% zU7h>kN?u)PYHs#Fa*+@7A&UgWFy;X;KiZZVs4Bhsv^B$8BTj)%^PRRaYlHhPzn_<| zG1hOS*@sM;GuNnNKV09Rz@-o_;Vfia@yr-#PbKnr(5FvgHwLTEe0y~!`j^k$_@fS^ zT8A&ZDMGjlIcmNG2-c`7EJ*#OlAuZT9=rUz8@8li%M%H<$eSTKE$!vCsxShr=D983 z0E(hq-YelGU}a@h86tQOfja<<8{>aBKAsDK3tRLEuFdALQqYuaxHOttvx%0LNF9Lc z_Y3Y(g)ay3>O3PB%vftiD)uZkBf$}{Rh4S3!NC@nmxb{h*oP6wI`7zOMuKW|z;&`U> z3}i-?x&RGd-sMJU(*`iqpl%*1!IP!#J`mf&j{=r4r?{6>qflVJY9cjxHM%Zh({$YM_ z4X+0nfbg;q?H0_d^Pt@5>hk;;w|+2@gKt1spqWq;2$gcndZ|q39D_U{ec>b%GS`R^ z^Trtm-F*V}^+8@~DX9=G&155w-`uoq8=<PK}oU)A@>#;D$>M%LCz{D%=P>!}L`m}k3bo>_`-ayUyV=P5kc&HAi*rMCX1 zcTgSoIJ+u$g1J4pIo*C(9SFr6gd2#|82nRl+yqfKXR2g3_-ohDkOD$OsKAwVf`Wq7 zzsB0LgR3J?5c?77%*N3%9{VIwCxfp}icK%cbzxjD%VA6@-J;p%=FNUYpOZc2pV{U- z+C0eiGXrOUfn}p4oNa7u_90Wxjy4AZB5=Iv#g-E>tEaqp@uHAPwFp2!LfgL}hSikYIP^g&8yhY4vTaGisi4!OA?7z;JZlIT} zLD*1EF;H6JTR+;8<^xrsXLM8ruQk+~!H)&+`tujtU`MVC_@yUyTW?p_Nrau@Z}Hmz zJ*j^oP6|MJA;K%f1f%N6J z!uH^bfWuDKwKhtu3^ce{URcaqM{ibBW{C{j;2i?uG~$(eVg=P>s}=! zrb^3;?{!~bQlXR7z0(ohyo09XE$;WyHvc!))~no$vqec>7}Lyy&f2Qy`+IOgk_G~$Hgm>M#D;uyyb8q8#U$Ma)@q zwj)23KN7JFpqJDp8_I8_-6aFi1a{RAiQ?#lHGr9jbw>n|X>Rl>BqWZ zOqp$1=<;IO+t*1|)re$Me ziv^1qNJsEFpp$MPH`bEoJ2W&zxf~^E_<(|$_~{Hu*F^y}TI5DKe|FhNfK^sGI;?%MoEDI5UnsQw-GIO!%lhWluEv%3= z3n26XdoS6oUOM6UWe@Z-AD8XtgT`-hAS(dr0sLo1(0k3;~+EJ)PugRCaR zfL&)kdi^N{bF}*}v%7hAgVhi$P{b0>F#h_q+^Ik4Vw4k&w6yek0jtiu)#$kuoj)0s ziOD$8Aiu-w;lmVrZuYB19$Ukt?4J22oD(k;R5c@h#mXgd%T-6@ZM?kr>z8&`QT*4x zqQYpnbzV34$Xbm%0ieG8OHJJZwrnZ2`b~i5>eZ_sQd5=fwQq(WvovkbN?UROnnfZ} znieCEn^Ws$*$et{tOry)_fGq$!$gOrRcngzmJI98YxQx8n0L-k9@yb5BBtAs(T_zR z9{c(8dI#%{9db@iVh^s=K0md7pe9-s+=!Kxm3m&-sO-t$n|v%xBH;1ouLJ;#QA{0p zEWNgP0QW++@dn`tT^_6m_CtbCcAmM0C@c?65^~scEbs402Ayp+MnZxXO#+Qc24vlv zs~R_?O93vs5T0pRgeb8F?WF%l%9#6SPU_bZ%Y#!23WTypQ2ZEKA4qgjJ6jypZ_SS? zLb#p;@V%6JjkE%tF#_62sOBMspU&^Gl;5oIb!OUmwr4wjdvoC}<$>C*Tem{QJLue4 z_DvfS;H4C!7q}L6OQ-YTUa7^d^^NazNiY4@4 zR>@nJP2#2F+1aN>3k5>N&5wQC>3T}*JkRBrNoBHO;m13BTvOK}J;eZvKI79!d?KY* zCcK4~_RRK1RzfcHZdtc}Jww}q+DX-)%;fn`hMWzeX-tRC?NbZS$Z))Ct^)$PVY0~l zj&*0A<=O%;h!a$_MPT8;oW~~w1O(JhdPIG@E{%sJ;`-uLuk*;ejLI=2%l&+Oj{){l zou+y?CYFb6iB|{oQim2HEPKrqgmaR5;s6l0;I&HTbnDKjAx9C9 zwH5vxvWE+<$1G;E51Z>4)hsTE)HSIR?+RHWKopJ8o~M_zNewJ=_VK$>vj?T#~H zBHf4poXXF5_|Fsh%@X;|Za_uqQq}{iD|NTM_oTIca95HR%07M$SrHOSf= z;vjNVHZ&Y9@apY#a&|u0JU^7Dy6Y5q(5v-;--&DLZW^uMc&=PqA>Wk8DvyOWq&Qz5 zDjc6_4RuHyIt>T{u_}>)u9}-y04ZF`y>*mOBgZFtdZtxwCTXWVgaksoPst;eK%-nh zbC1#HE!EZ4HTF3>{o87$QhzN>3`wuLsDFfJb}s(xUchc<;cGO|XNnsdn4pS$zOz2i z_)DsXorA+GBsbT!rNOp5x7{WtCXMg)lu-$Y<`&Sdm`FL8yY_2DH_M*d!^6X2w5b3~ zksvW?=0C1M`4JNnLkXY?RD(!l2+rLZo$iG-HGWW3dnP7S=YBTut_nZ`SO>lE*X%IQ zrJ22=_YRO4Ld`#3X`q@oC!kz!x88dt5V~0^E-k&l-A|V2m*nHCcD+6ltCmoT_f`}b zKCeA%sxClirVJlfTkB%w#c%X&n#d+6C|G8ImdGqu z@phO#j-S0_V+7Y+8qc0soT-s!uoR`am+d$aHsUsx_M<7^LmCNIxpvT2`NhkBF=$6L z6BXX;W@=^Go87J8x_j?lsI-TB%(7IL>t!qm>K5$yP*ci9Tj_l4<{S9dpp(%QYt`52 z?}qCSX}qGj@aFs#6m59)b3!DXr)z;J2BkWBZK)th%)G1v=$0IWRNE@xnLLl{h(;^L#D#!=A~q5Ht29< zz6~Wd#|*ZN3JrcqEg>_1A3oD^{%hp(n#X%jh}jQqKjAR?;at$wDv0FMWcQ{1ogjGh zY0Ha?lNgD-$u&Jay-UegHz4mn2O75@YY9T~pkrn(16U>oizwD$ea9lMJ>|I+04;m z>wdDigLNH+XA}YsCrSMpI&jRYt;{?rS1#Xum8j$)X$g2PexKy2Nru=3@*M|Kd_F13#mwmWWxCpU(2;2fCkT?+4Jg9@8{3qh(Jg_lW~`Q zD9eJ4j#FMpbX@jZy*NwDC({^rWTyeB3BW8j##)YUIe%D__a>L`PUUYx=H8Op`af;S zOuX76r}E>Tk(Nymly&GwAb!XpJwAfSvTJ^RUJhk7U*!JXsO5>STeq%ql}|6r2%6(??&xJFQCFr(rk&hP$8#M8^UGuVhDK{c)jGw{?m^jYVAfb^#RK0YDh`3 zC|{Kzd(+QK-kN<~_gd{hA%G=Orm9P~)aeB?Do?4@R+1=vaD^Fl#CJqduMn;QOnUHC zhsy*D(9qfG5Nt3(efK3}tn}u|*;x@F21``%dCQF(5umSpPrUTa#?DSyLQ>Kf6`fsJ zTgo>S)8h56@d9=;OE`V#9vLxjYHH%R)C*ok3$d%Pq@?5%$V<%NfNj*QgyU#a9f>|y zQ=`YRS)eC6n-~YY#_ur!bKH$9y1X!Mgu@BUk*M@kOwP?69UUE|K`AH}MKbDV%>+h8 zc)N1`y>4?^gm@|eeo^fHF;xH3X9}1)blGirEJF@OVd95~w_C-S_tS59i-nY&IOXfBR1)%PKWWnbZ+4n{Vi8}yJX(0 zR40z;1@eq5)`$l}6MV~Z$|KBTUxIS+dntRcZb{H-b1D%DTrn9+BLcm zTA~PI3#NPp>bt}y-yZeLjG;eomh9I##hG_0Y}fsd5n(yZ#Ls&qfPcgo7bLc0xOnvL z;_0(?z*;a=7b|YlMS9^c7?DjTcT1R4{A%QXYASxzfAGa$OWHIg#{bc-qYn{i=vWv^ zLvJfc{B$VUuPhZ7TvgsxBFm!}6UXqM)lGF0RNe+9_NzTK)f;8HwciSFy)>=PZO!>A z{qVhVqZE7ZfU|Jj;F_>+a5-TKC8(wD*vTr>doGm$9}Va%4cf5xNVidvvjNAFDWx9k zk#~Ccj<5&pfImfsV+``>!9=4iDhpdK5BdjHzTe6-rW=YsYI2f*D+$Dcsn>X}t~i3M z;4KlhDt`QU%a+!}TIUx$bWZaDIERs}wuzTVzK=yaJ5W4oY0H?_8Mxt#MuaR~)Z)MqU$ z?1enN((29Uia|;2?L|(VItARa9UJTSN>SXjdGpn>C;OoUY`raYPu`ZtWB1Iw+8Lj^ zkM>)YgSc4WKjbJcEL?vZGzku(IYx0rAUI`uM@JLYZvBrv>Bo;BE38M@*&9)3e?mNV z_m>T%QN1?tpw)v{$sRwSY;BmXk9D}SQ>xmN&Akk|sTh_ALa0ags^Tvc|NQ#9yYF~< zQvLBvaW1dL#>OrIWxv*le|&b1G5PAPcbwaFbaW&=*x5CI;tn*sM7)%P`6#-6b{D_v zv8MArL85(VY;2KAUp_56hiv!BeKiYDuSlV{7MPps_R#h9M@%s%=SJvmZl+Ac6(4#j z+}g2y`{(DU?tMZDkfa})OMQ6x*us|x(xLv50xs*|(rV3MXT`4?f4rCeG{cB;;A6H( z9wgTkqdRXRKiP=7XD0;Aq2UQLTBKYvX-H}^Q#_W z3pOc+&Og2y&Do?}4hpFI>)KR!(A(4VPvHYv3XBcaOKsY&_!&BqSW`*TP5nb}vkxji zrBN8XP6+2-3J<;`EWx|AY5s7fXZ}j=jk?)m#tGV=Tki%b%DtrfgzgAEXZ7driC897hkgg$m&)Kn`;%ZON&Jz<_lKhe* zIg8qZ>@~`NOs8mo_)7rc#z7ov})O? z;J>Q3zx@aT6h@42dXQY*+-xf%f~u7lZX6MFSO0V)GdE-=f4Zq9&Q&Z)FZ)=$YV<3u zS0%1!q+(y|K(Y`+bdC3t0;@z*=aLW2ypbx&$q?-xfN?jF4ye)#A+ zt>krJB4NiY!w#1Qew2;>gjh<%BRdr1S5{UkyK_)7Q;A*^WV6UBit<^Ym~^;#+4;v| zr)+WU59z?CrRHCIKRUPzu<6}iBY|=A~6$iie%{inQC9qTf zH+xyO1C=a~7Y%`mEpPQeaOmxUfwA@ahbzf%`jWNW2(1o42X2*1i5rvk|Ax_k_c^om z$|9z0IcYb4L*-ZVWKlbD}MZh?t@2}NlPi*}!4`;8{U^Y@$@4)AW?=MU_ z*nKq0WLG_7aKQK+;t3p!IynzK)(lW?)qe{ohW^_CH5ej1!IbG37(6VULHJoDZ;61$ z-)dJo7M(+T`|UkmpX2BEd3xqv$mIi^A$Qi_y!2}^AY|RGjcHJcP$%Hg+eiYfO}3|I zpJtrZW>VZes~t2u3fa^Z9z7U8*G-K?TujvR2WdY|KsAsxcPglyK z;BMgL(9@N&G6fV#d9{_bv_fS4_`SKGo1DXpmlPHj#vH}7ry5u6fCuQ`+}vDQbGrXA zsn%zM%@T?gS}-W|SWvXz~#@5!>M?G@hCG4PcmdMqVt>2idc~EjQ+;b?jV&Pm73N>x}BuHGgq~yUnF6)`K z2O0x;v0*!6FT9l4kvLxtk?rtkn>Ds zw=4PO^6VwICrzIgN3yaTzN-4QY~axy3%ohe5ed{631qC3#rV4%@OzQJ#n1^#kyq>x zG+@P8xq0H>_Z9O13REX&Qp8!>KZp3SU=$@S7$o~z=S2s8O$}) zad6@AJ$VlD=_;ndF3(0k%-SPbEb9YctS+{)$)9D|^ z%VHj)jJH>$-t!FWvWS*`WH2X8h{)4Zb8|!m37*tMm6oM5gvAjc%o3TkGD@=5H5+^l zyJ-FGp(e3gNyp2&-`*h^**Y4@{y4n&NnAVTyg%cA@M*^avZIjWxb6)8bPp$FKA})A zA7SRTF}3vQ%q_RGWA`4((%kQOZKrb3kpT9;@w6x=Z|#>kh?GfQJ5(b0t?rf^eSuJK zDN*c5m9)O=vPt2Wvq6WV3JcZyAI1?NkN8RsA=Fb8&O@vne}4Bq8+kl5Sb2FRV+&84 zGaYF+L*KZLtJ}3V~gh&iv0Bqo-TeCy{`y#B5+xpOT?mgPc`s;>T$NK=T26INmGbk7R zej*>Rf-BHWMp3+jA+)M(ZSX$nmz%TKC$ho1T=S}x+4mP~|GDrmj`i>QPi6TQM_geh{0G1)^h``aM$yU( z{|x8Y^Y8bc+MnlM$D?9-VdL)I_wCA=|4UV}sBRLv50-NkR3m59`2=YWoQghCKxeO& z;_0%jx6q|HCv-7UPj=Mu+eIV7e*=kWt2B8f6$RHLPxIVc2{(dF(HrIm1&B~f(1$5t ze1>uAL;?56sVjB%S~sdfD7ROhX;g0#SO0hL>i~ef7SGA~-M+ z#5WO&uN@~ADygS%39Q?+KF&K+RqH&B-m|g(%CYUF8^$-T$z~jO%4*VyyGEz1{uk&N z!8eX-T4`q|o7c9%1M-jKU_cp=QWLbz$)4Uvl|;D?!M5zH)rInbZX@piS)Q|hM=jt2 z#B*3Uje(X)pppV8X6+I&y*$pa+eBb!q;O^ahaRada#X7>Z8L$1)$Oh?O;_+Yqv!-| ziUL&~NK}y8e~-bidv^s&pUqh}kC32(<-iz4C}C}o$Vyy2BG~*oC_k5XJUAG6M1wuv z^Ptk%3n=sTAn~Dmp--Vl|34REU^oq_V>??l!Fo~pVVDigTcUZppiA+&x}+$_fhi$^ z-|o$i!&faueEy_Bj@`iHgmo5rIEH&bb_Z5cAhnd0#bn)(reT5c$0X09Q}9=YvUGY8m@Z@tZVFjaV| zs=le|P=pVM?B9ux(w32-BnBT?k_4X=OhZp)x>vrmd)n*f1V8a&CSBh-e`UV4|3hkn zVh+1s>|YwFdQd_lg6@Ev&8+E)ku}V)gwF-=opZ=hQXpd9XMX$kT^mjk+a~9McHEXf@vBc79@mG6MYN!G*D6E&4@F2ndh}u@ zB{w3Ah34c|RW413B&8jW^2$$-1aO*B{s}W{fiPj9a7EZ>vE{j%cF^rr_Um63w?DX@ z#3o9mc{Ax@QgG^q!%T|VV4lBU)SKw%SX)`5w1l%mP0a7HZ|uUGd!u>VNw+-%_Zry0 zRl37tm7r;^O-OXF&PFQ1s>Q4KP;38xp>Q31y)>*6ArNzg3`=O>N_%RQ-z2s^KWXdC z$nXi$r{hg2Ip$0c2PYM(ZhU(RIC2A)cRqtW3nByl_vn?Z5>B_HquI~}un%k%?$0aC zaxw0G`fsSQ#w!1*T!UMYJMxSbF{ku$1g+)ON% ze2hJG*L^ObOeJ58!sdK+Et7pXK<-a7ozN%PG6XJvCfSMAzy?6{AP7ZxWR2~KUb$86 z>T;t(C`X%9{!PQ-fT+Lk$FV-!ZTXnHyL(#>iwCbWoRdT>ZH8ClyJPu#AC*@75?2@9 zRQitzPfs*lXHuN_J3RrX2&)8mlAYMX+?+A=Ld6F&M_rNx)=C2hS_{J&W9_O|5;Wf` z$o<``0jI>p#p|+env;NBilKGFFEy3cH?mF7q%X^GpmlXOW6Z_ey9t`{3UV*tS|U<} z&<8lL7ba!!5o zU`;{w_=K$*Y%pMEUlGfBwfwb?{DBqzG+n645eoqeak_wt%?6z|rSt8M!&2?fCb)z+ zx8A;3(RW#?;&-f(rY#f@VAW%oB!gX@21X^iCzfW+Z%8VJ{e89Lj?f(l>PACD`5e|l zM(%*wn|+>18|#gSrM|@WCIwk(NgPS-IP4kuE~fAsLHfbDiAw&N+9(7Slt7Cs`12D} zxA!I6)Bff*3dbEl2RCkGRUxYzG6f}O53t5kYTxDl&PAm zfr>U^J!!ShhnwLU#3S`sIa&zARc`3xKx&ro|LmBy5{|(HweA5`w2w?DxSBIz}WTLd0*$%)De5(HZXY z<)FjGXdoz$JRu4tSaIw|@z=jlH|{hH@mJxZ{P)3wb>~o@fl23)kB@Rp-r%@I+-i)Z z#3rAO&(%9rcz&LzHleyd!zJ!A&ja~z04}D1V=gW(9q!APs8xiUrn}xorvjQas-$=N zd;G-!;OBrSv!?l?|a;sxWY&>wsT4TsBEmemx+m$ zOH3>TadoQKPnt7?<~_z8y*J@#KGFJcT(M&I4Qzm@)0p5k&_da0`B4IaiM*)1oLem) z_{TJRQg!@anRVxc;;D{goiAuFm%1==#vEdB5vm8383dpwudODWPYBrXHemK-s^ss$ z9w!`h_(D&tpHvL|Jt|=$+~qdz2LvM0eb)MZr-qd58QF|CPFaT{$iaZP-J_$A&;~b= zx6Fq!p_*8*(ThKs-rxQ;oP-dt#mf)oLSU_R=#JLSW!rkPfakqy-Mhn~dVAHgRo+7H zmVB?DtF$!TUuF5%#|s6cdu+_I;3r4!Uu>e-3j=8le2vb~EEzs>F;!3eTjV*TOfmH% zesICo_@>`=BU@F87nkIAFfbH?JY33i6$j8DdfTXHNlsxx>>8+y$u-Je^i7vNWKXu z6rQRaXK4WC4L#w=hn@+~%qkrS3kGZ###A$wnIHlP~_c&!ZJ- z#PL_#Fsp=zZ>j6vHZNb_4N&wpLR;RfqthzmcJE7!S-#V@c&m-;pHvn4<2n6Lq<#@E zioPiT11(Xhu$n<>tlhD*|7Ebg()1R;ol~a&=D{IVo@JoO_7~pQKS61BrrVQ^e&|NvawYR z?-1LO`Y;H~t(VO70w#4<IA^>lor2zpP zuI|N1q9~gu9+Cg+=UX5Ev2u+Mr`cnMKN|6SlBFX|pom>qxX$?XXH?ih9i~EoMNkw1 zpA$3%mcIc@qUMQ>Tkd{5yDU}xWClIt!?Wq4e<^pSjU~RcM2#yCR|D#u&4WqSpF5c(iW&`PCQ}Iu9On5f9lH zaWU3utKa$e-;cvFlmh=g%A}@JGo*bYB2Qs0;^3!MFoQp@?@u8x?8l{@&N3A357GDN z1H+rd!fLktFeGUVSis{^G|EB2vnuayyek2qB}SiUch1O!hyJDVPILv`iHu}_qQ$@J zpzRH_ko0_OZTuW6KHnhG8of~xL1x9p*wx$X0f( zXhXaE_U#dL?bM~11q{TkeZ2o08V8i2{L1j}42rT64%{7aUzR{pxx-tJqEKdP``D`5!eA3SI0EHc-zz{yQUW zeQ@Q2>(UJvnysux>SC#2Pd$@Dj%{vXJF{u9+o<&G_yz93iX%sHGk6jSzY~Ei;GHC- z!WWo!qBZkNgLjS?_UBC)7IukRRl?LkhS|pL1pFNA0S>E^h1;mVEWv3|fsTtHqfYse z2x)Dlu{w*f;nj~0*pzT-Vi!wcJcKh$;4stAy`_fU-z}P40j}6B-;s#L;DWionJEV4 zIoy&Nj6^y3ATdJaiSDbv2(v0Iw_x~e2uwjn`Eg&IA_F z3Qr2M4Ppw1Gxu|y1oQ*=qn~FA0~mnTCgoss{IIig7om5`PkJo`A*c?w=UDz%M&_II zu+&zg4>oyl-UGBe>v~j=f-!MZXnMR_%`+!%%^rdgum=O2PUseR_VXy^!(gQ*MyNcB zCa8-E2?-UHCB?@NVt?Dnh(tac?XL|wNy^dfQ8ibc=-%@gwWmGRZf z0~c>5DV0YI3r9fpgv-i2uN|&J6mb3t6*7ip@hCh1#9;KBg`%ke24Q&7s==*!^oZts zFOKzpBo{Q!4nhhh`fBhjrSn8`TaC#tbiQ_xDsNPcSMR~h^1_6$^RyAVUJ5D4U`PUg zBC7pRl(rKCfzqopY&NE~&nYlQw|c@ei0f++CO(kT-;&Nf6VR9s$%?;v7guW!5g9&t zWU9NZlvgTZXHB>N^`r3*sCPR=c>1Kl1;%%2$>q4$FPxkG1YUA zYmUO=6OZj6V%froj0LBye_!|~2&pKL?|A(?a;+)T6iu`%6;bAJMMU)WQ4)$1*ZAGwJs1u_$<>-T|tc>Ard#+8_Z- z2|W}o06|2LIL2}S%LLd3^-2&A#T4sX%bIGKJC0nWcH`;3as)Ic((c{62}}a#Ou(pz zC`W(;P+U?gDhEG_B>YxQz(?nLP(%-2sMsXhtpwnp3Ut}~qJdiwzK5Q8iv6mT+dz{79THfKKcWx8|prMBB`6RldanBR*C0K zPRH^KeRiIHb>i?P-?mUa^>>Zm3F|Gq3(tKaMuvL4Gv9hxh}cYh;_$W;Mg!q1UnupR`{?pj=Xg_e<0jb<9blYD2#*{(BFQ=e2-}C zat#o#nR!4A?GMN4M&fT`SHavt&_*=$cVW4EjM9t~vwYPV>5mYe&@w4;fh?Ty&tm7@ zc7Rin@Dt{@G*!QKuVBH>j{NY$CJn8j)B^%}a7F8rkpIWi2Zl7i!Wq5-AnhWZoP?4q zCnx7iWdfe~bD$n31O*iP4z5ZnqDc#`CMOGW?~i*!Ab8up#84daFT5Aj{x+bwVSk#^ zSxxv|c(gxyA z;7NJyQXPvDT;i}ypow$W&fwX!^jE|_Axi9*f!TC(Z!wWz6d>v&NlDfLtEv(L$$gJ# z1?5)Knu;ZQhcrdDQnhkq>%2sVI%qw;uBtnn8ZgLK5c+}fxBAx~J_r!zJ{+3>FFFF; zxsx?EtQ%%wq`0&q%Z!2?_P*)&*L3sqW)t7}{2%?3bix1QsicPQ#33$({}ZT>1iO|Y ztWQYcV&!Yn(VwcGTR*1XyPNEvtu~cdX`!)EKKo;8NIhJ(i?iQU0Y0|?W2D)On?)VX z)x3A_-qh5T+Q|&|?C4n%F=&aCo)0w}Km0?x= z`xH;p>;})m-^&l4f>9#c8X0-C1j_S9w(1#9{*d=tCU<|hW^5-Ed*%{~8FFIz=vu&Z z_X7lwpuB7#P7&dX|Cr4fanz~TS5(Y#d=Jh~=__UP_-M*|E9rw2_IeN6McUAKe1F~+ z`;wC3CPp9jCzu6U;Dapb?2Lwe@QJj?8ppC*=ECOK#=X6DnQz`58Mq3$uBk}R|y4;qaSwJEXRqn z2pQ!F5dm(`MzhKm*;K=<9TTI1ZL5^78uoX$3D6MMX7JZfc7u;I+gn@19Xs8E(G0C< z9_AAV57m(rvu~WlxgTu{qBN(i!-#NFK7`l_c6*?p-V6$Dxs4U`MmrD5(o&r@p^Uji zjobc7jH$nBOwkH(6@426b8QqrTc!{Or_I+Vb03T6;|F`sK=O^M}g#yr^gxpjF zwiO~|ycycMvxNbWz{-r7RHto0+p(^fUuZ0}#Ll>u=%ii0aMwovr4kd-Y72JDs}-bB z5_{X~AdrgHFg-3O(?{MwNr|&bO!Sp3kwno_PPse0h#?2fEIH&tTg^4+;91uhH>nT_C!_}6a-G3euD;wuvYYp5#|TD@e%k6kRFXJ{_=V9 z1WL<<*9JXyB!H0u1oU$3nV39(!DO1nX#weIujto5;I5c$G*9MY+Cf+_W@+F9=1e;iGlD{XjRB;iCL? zGDSF^V>3*o`=BL0<5po7xJ-i4_&Jn-XMD1WPyV|)Oq)0XDiW4cf#+8Dvl$W8{qS5!;M>7rO zV0KM~KPr?^4$*stHcLb#^qwhwTVv{N%$cUUXSOog-uyUPI*8ycfVNVc`*htZH8r*H z+c$T!w$%FM05MjouypSu2&0` zh-jAB33Z1Bc4P5~U{n>%zP&n_wRLY-MefC+)L+k`P3a2l_BnAe#Z+t?HT4y|6LDDC zDX}DU03cY$g2ithWFNjQ2c`>2E&=TKZaUD#WwgZLpcuFlsqk$R!W+<$+X@Q+URNt0 z7+wHPT$r=liyDv6k_Tzm?yfsLKh~wruhv{k+8SS}^Ks^>?K+`T@yHzZYaBmR147K8 zYcf7Eq6|8Q69mF!f71IueF1ol_J*lhl~1n*aO}XLi|_Y9-yKND#}Ox@QR>A#NxxVBZ&*IqK%rSINF;6K8`aD+geDHvC(;%@m z!Pt;eE<@=^&XVCU9%6Jn0)Hf7AgRhA&ijCll7NDIOy2QGMGPoMGAi`M+u4aFoll^L z-$seC+VE;GbNamLT^p&MpsSB8wA*^3Q`_3xhoM@K2>9#6pZ6Rwofyie7|Qc#{Afa_ z4t7lJxflPS34JA1gyRh1JG>Q4RteyM8>iR2`N6@Spo~11J5zmP z<=05kd3dGPZP;uxJEWF!t?DZppRbQI(9?f`0A|*h7z*bh)RI7$xc4XRI&UbMvt6jDol45(aIqGN$s@an(L;l94UUosUo z5|apnd=(TYBBjFawjT|-CM5VH&)OG+T{kWjG4y?KKA-q!3?53 zNn;MSAB<0VDt$jZ8u(_eJYUcA&UoY|E6QJLv$ z|Gd&mrTzccf~RCFlKb-GuWQOXc_^(^z!i`&Yn_y zFiS+zkM{hIr`ajWhKGwDLMMCLzYRlXxouSUON|bTo6wMFIaLh*Q>y% zb1)pG;A|j}bdx{WD*hBYX1dTG2Oobh5^Fe@G;!NF+`VuNLEG;da(bY|`hWGE^Cun+Vodq%Z zbaP|})8X?Uho&!Cm4 zGTIX^x+0hd>1i)pz*>ZAepsRNeF=Tn8LPSTw1XtXDG_ou3N%Cm63E<<2%k+j2Jmf~ z!WPSawT|HXdyl+y5|c)W4||i~7t}3hI2nkd z5%g3wv6|=TRp)XiuR0Qc{!Z&4xrg`dyN&kQgQnPcooLo3$^azds7k!J-OumbTh0^m ztoXP%T z7encSrJLAdj=9Bvmau$GI9pk%V2_&>b_5QoPP90Co0^ahRv9Yx#Hj4SyBBbi>gM0t z0;T#ypJR|RLBworZQabOkkv*keh5EO9j&p1LmLJiD1Vj@*Xyv{A}Z?h=3D3AT~Po7 z2qYMy(p5=P)pgqzqXeA0g-d>F#~t(y&_P;eieb?zBnyJr_0Ez7(u4@D*z#RR_!lrT zoq@run~Vo8_A9UdlXvVPIRy_sw*v-@aRi8d1T9KZ0q0<*2o+t583 zUCM9tHk;2T=&kH$t$ECQorZ=++-31*x<%{br@1&Ua!_dz8W>k@g&+Bu-%1Or#M9ui zcLAax0Y5m(mg5j!NRi1;6x-mZ&UO5~px?$g77&OaaAjh2^e9tpUF({Tnz~yOUN+bM z!kHz7QU%1nbY}wlXRKn|6LHfo+dXWU9Yo3M#pdnAT=)ZQZ!bDkbmJb+NN@z%I;UV| zB77LV<_;{M;J0~y`h|&y8>tPm0K!u;GSt5G74*#6p3i$y@a77|+Qjbik*3$()5pH0 zm7oYy~|Ti9n3HSmvgg|#T0NCLBU_03tHYD#4(FrhQr7~woe?k51{ zpoFsZLH@88V8<&a)WSdm^DWb^rxipuZ_OS)0g8_*)^9MyH0R zna<{XAeSs!)2nWB>JpKLZBzLsCtPB3#ME^je)u5jaB>&inlOt6kW4s;I36|QDMa!> zEX%*`#Q|YE3?W#5C1eOObC!eohZmDz5mY6I(FusCKP69V_ihGvJjOTHJt{WmK_6YI zj}4f$(@@>amnU0!!z*d2HBMi_Ggo)-w?@f)+g~gQ=I9_^g8lzvJcE1KgRQdOzem=H zf4o^`Z4l2tu=Iw!M_>eGMZKuA##IjkmKH`_fG;q);?W;4`HH| zbwIcF224@j{P=O3^JvHbPrjJ7JF2)hSBuNIDa(oSNOe?UBG@(|N=)07q?w^zyoeSC zV&<@B41=n~Cy4|4?PlfO=>QmssS(r0vNQ^l{66Gd0WeYquM&ox3e)tObT#C70wznv z;{obbi6&;J2C1{#B4-nWYfR)?qCpaT@pfC)7&R5u z&$iqHBuX(I3Wty2Kd|qD%wr~adDWt?^CWyh<^Yjz!diWNL+y%)h=>`aEs=mJ1kT-G zDYRVL%4pDJlT$^#+W?u-#R z?t^t=Q|qDocZI>FDqAb|l-Be{X?+M`5E`|n@CIIi6-?sr8sHrcc}$7%j?3(Ivv>iy z`I>d>kN^QgCML4jLr1W+c`G2=Jap&~%R8``{Hy!gx${nz2{^%)@gSLY;LjKPXO>)0 zdjei514>haIy zoP@DPm&o4}D-~zJ5lGCjEV>g5bwf`q4wSj>^YXbHaG@d=3f`LysnXcwQFECH9f(Dy z4iQ2?Au|qHI5bkTEpzJ~xQMTmB%7ce{Vy_#zJ3iOV;u7TF#2x$zKFW^8JfoemzB#6e+vI!fp5F9~_-;ePGL=kex%P%IM8kBr zGs+dfBM&zGakH?-%YzykUnb<)nS+dD&2Ru>zt5m#VGz6k0%sGZO+lB%c?vNxqA$6~ zz6yupbNmjrBrVjW?tG{RAlcdg@`}neAYd){;5~I&>p?Z=i!qKt=hr*O;GDHRcYyU~ zlFxTg6*K6`*xdn|QwBmEViwg;1a0@)DxXk_Sfd7hg1f-jln;YB%_v>mTNM5^P zV?&ZN34Q$a>rchiSWPJw5S@_>Tr|?G-b)F4Ahf{zzP4cK$LjZ@&1F8EV>Y8-n;$=F zd@TYWvRu;`>3;zSW?6N4X4N1N41)HL02OMgMR~Q3ft{C) z6OAwRXfx!ux&1thd`tRDSK-UtP&;L$@E#?WBohH{`GluOw_*FJ5hJQL>tEsHQC|}7 z3}+|MRBj4z*NIQc+^2!mQ5pwx3x7_Q`2_eqd6jD}s>Wvb`nT$yG)~VCNC)r*kUMMZ z;0k5nTZ0c&n6VSSi7Ar+0ig7s;v3?^b3jtKyc%>h1h5E28MxtineM4p4%h-~X zG>7+fhfo6uCIRa@SCKcjbH2-x9L}ue*xaBpJYNnRd5R#JZ2!Pa>HYiwnp;pMR7|7d z!BH1BBgc>ywiyH6<+48VYKnE^M#3K8oZy#~{Mz!r(OkzmR4jOquu#Zxcy(!!{}@4- zKPAMHTJR6z7HJUr7>lWk;MgD1ZEhU;`PQ8K?1&fj5A$nPE$KZDuk6#~zE7i#dGr^? z3C*g3oCVQH9}y~rpL&1fw)gX=I8GV<`piuKPCvvoR!)!qBl&iqNFD%t-UAeHyswV2 zV5Dz&Y`Bv8j$-kJ;82K(B%~LE;}wL@rl+gP*Jpbl)%h!r;jQbz0nM;Q`T^*4>amV_6hgtX zZB(FUTu*GX2%ob{414k^S0Z z)#GA-bDREs2A8pVkg`)O^G`VNTtbRjXy0@&`(SZbpPq_1>oPA3{2aX#_8n6JY#nP! zSd)+tohzCafRwHqTsHH*8bU=tCye9G`2W1HJvgC=;wS>vR|+!6fPpH!Jbd|kZEMNU zkC}nG*3CnYn$u+_eJ`J|miIIq#RN^FKM`B8(r=U4j&Ar)zs~>mB7XsviSA)t$8=+aI>_RX777_E3|Xy@SCqycxt1nO3p*3nBaL zA+PIS>qC$UIZzP1Gut1ZJTuc3I6HP|Z~gu)64#RNmH81Lb64-9pLtjz04&^yw4al6 zZrWK$gS>l8;S!o$?%v+}{>n3hOd26B=GbdmeWzyQ?C_84Hco!lQeiD`8BR_et9!?_ ze!Y8se!f%$kyFb#|2c&iEY;XDHJ)v}!OUOJy{Dj_qo8Achu22Ju({}H+w8a^aHZ!~ z%$M^thf|=zfcgWS(?!II<7_0^7|Vm?MrH*Jj$KC@C-(lW9vAnK%{Ye44g!IaSf}}! zF%7h(MDUt-Q@)Ao4)qV?YeoM1d#>n6E4$6DqNPoR-UhL!PYm=XNboyYgJ6Jt8qTOs zjVDo`*gXw{<_N|oQw!K{Y+|Ad2n2<&z%*GsmqsO&*981oQvcGrMf=MumP^(SVIyEL z%YaXlC|WEp;DvhtolV%`D8R%L#81#R=8YRef969(*ny_VbpxE4&7AO6GRqO9a(F#-J%L~VPayLp$qt$jK%j3C&10MZ&*=*fR1S`*CW>&=Cc+q&m+H3`8WTqc;?dgx8)HHGl! ze$}9_z---xK8ey@{>#s))#7G)Us6_`*(Gc7L{068EuCWZ^s84Jz$XB`#J&%CkQ%9C z=s_fnYA!90Q3=qIIGsyX)Ljfs|+^oKvv3&&*OoaUtvj38R`U<1wls3SxvW z{MT#&_zeNVH6$wR$pQpHvyfJvdB%&ic5DRDy)PCBmK??Ya!rNDp~Orl`CECMCQj!s zzuQqIy!42{0=9K@)5SNNTU&{FaN@gJvf;&;_#Hduit)^ z5p+Tf)VwF!wy>hC+_QEkyZ=$JeIQGbl8rp~F@@#D&Gk{Q7b}I6EfJ~?+7r7d4s)2j zz5R2?1w8TFd5!PRU@Yyz2V#f!r8pC45pgU^;KS5Yc9U-&2p*3_QKhHb-I2P~VVfu6 zoqm1A)0b}1F2u(|L;pAI-J+~xzZ@5B#oK0 zDrjjAe1Pzbu+dP*05m9ChSiViu(7jyqZm>`sSlC;Yf_Z+#)^h>y}zkWM5uKbyQ~pA z(I@2z|6Tno1;`9QH1ZZU4goJrsULMK!g*pd7=-s8S3RG*)!ctPL+E$>vF6&P(O`6D;ZWh zU*OBVw0ru7t?hF#GbF|r(~r(;bLJohg=L(8-(3=tH$EkQp6&b(_GBFP9L=4pgljBo;B6+|9k@O z8ReOoo`7@6#as!V#JnXl2x3m$u(0kR)+I{IjtjSD1yHgsLNg+rOQ0F9x=#V?Z}4Vq z*?c#^o&NN6a?otYN*J38Y8#8|_1d;^hwRRto(kmpkmNfNz1X9kXk}yHAx%cZAcX;cN3WMcyU#6;XxXT3%{AlR-ZchiqpA z074`A6rV^uVFu$Fn5r>XLMv*52TUQ`2ZyXWtl7sy$d1zL4s~>xXuwx^j5G26{ zG@$nT%_+N4TKch9NTtUEr)=K5c?LZcNzEmxjgVnca)54v`~ML(&AnyI382bv8|P*A z%}*@h8NtY(Vgar<=TjPY{2v-aTdo)~t;g#A`B2jD;pH^}48sbFAmA}4fu}|NS_~8nI}hv;eE$yh=VZe| z7bbSRYqcxD?vH+R2jE`$BNq z!B;BtS-%d*w6u!oKJ%72nRj!RB)AgH8*WdwL;>7QfM83MooMxzdheGnw`10aP>~D3eeUbbcAFg?<40$ML&(T>_gw4Fy<@>a>l111vRuMZXuOvZP149DV& zusZEM9fPEv8MB7ZWue99B6_Ye->|;WfY5>F!S!B#TMv6a%0RaNUBEgd@QYrH?7AH_ z;tYASy`1O*>)aaJt$OXmcNr=?8r*DI_tjVGBS(wSve6E z|Fm>f2Q744eEnF+>Q_ENWY@Ua2g5efxxHCo6*+_ReaWH!y&*ehP;voR+!;;0i{J=w z@`zbkiCznaIX2e=xFqFGjc3(yJ?|XrJKpNeJ07-1s*0{doS2^{c+P*mqroS42S7Nm zENT(-Nj)Q$`1UD{UQ2?SEmvUg2Vj36T2dD#>=0A{upuUoA-+PrT zd30kabDZ!tB2@F*vbdpJ+Znzrc*}f%$Wb$0{c0(%ysyygcj2zH#|{O~`!`R@KKMOZ z@Tt}ltkFk!N$Jnxei&pXw5qU*>OKOJ0#j!h&Ryc-0~CV)$9>$qLmZEw1+cyOV99H{!IUl`OV+Vr74Cuc40bSJJ&w^QUA+ooKwm2M`}=;H1U+&_gHDRTY|ehM9a z3Yi2k4=W>m(F%vQI0Hjb0a9?0rIO+_ZQ&e_-C@)N6bQ~vYq$LXlpQC39bY`#Zm8C) zq$pLY#t^>ahve*`yZ1|4nQ`{x%mXfvB~Zy0wBa)tErPmX0$fJaPq3Kuz$RCMormNF z2-xtk2yOUKs??rH4!dlKT6RHFg3>Yr#R!^9>K`fx*`Hjn?31Jen`TrrlA`f@%<8(;uBSZ zX_ZfWg(r`w;K2>;$;isiu1Aeh(TrDHN?vC(@A$^yeEpek<<^FLsq*s?RH-KSWu5Gf zKft=sB04~X+^oa(H7(O;Nh(5$KbmqPG9#@8VWdbpJP}N{i^@KqjdK|l-@W+2j`jd& zo70Q!p)PtQ$<4P`8lZtDcg!3(;JkM|b4B^@vjs$6*q5@x8E=aaFhDF{Sd;BIegQv4 z3MquMb|}o46XdfdSbr38tGzX?W1UDxrb)G_`s2yteMAC4Atn)|5|E#cuc{;Shc9vi z=4gV#ftd|&41OCKJ?ItkNp~n$YV7co_5TNxcMUV0By}vbg_)vmTcLmy&YmuflK%Iq(m_rH#S(hk4%%029LH_g~9E zOjvE>3V7jDhd%-3$i#$10O1xs z)qYua45I4)e&iEFcA}Zb?+I%rF`XdfU!8ge%@dsBqjP`6Gu-)VuF4Kk+d7XG#W zu`rIFn3E4v6AO)tc+6;VkB+1sj3yvelLwPDJQKA zYc^#aH&hCLYdq=wL_`#e3J8PMc=s_t1Es|H2H{Y@EDv*vBT7==U(=zW>qr zgWqEgZR?gz^MwUVp_8CAk6bL;?#u35HFLC?h5D{Kpj=@`D7$zaG zn3lLm73vI-Xybu?%I6Pv=Dh3e3tKw-7c6bg5BQFmg=b4IE-(wh@eTCM2A7>tkXS`9 z%^jzn9;{qmFrmu}hF^~!J_D>Ia)A!H6{s2K9a%KEWBJinNx9j{%{Cd4eEUUj2}<5j zJ|LK*{kZp%jo?pCB=2IkWm$GmQDD+Cg7S|*pdQ>Lol*Jk_qAAnO@-XEi0T>E{MNYQ z5a{feplhOMFNo6K**zLxwD~>D6^r->66^Q03n>p*i>~=2XFuu+3@}Vg9sc0UcnpwL zZ7bml#K&Iy_ha$qAQ(oT__f?gHjGAPu&67@V~lh9!O?X~(lBauEl_ILP`dhTeT6~u zt1LrvfRA+ZZf>IBxVj9RJ`$79%rN^Pitw)w_?H$6+zh}l62c1*0$H_!{p;D;N`781 zoBj3mgw1()YA)w$-W_+?EzrMo6s+E+{pRd=RA5Rs;p(M{6lZ*^D9>fB?{f#xkYFiM zIW{50z}!M2Ocmz*P2@(Sk?FZCCx+SH)e`Q!)mN_y^>i*=7O=9J9|=4L0o5}IT>)R@ z&A2lGzffDoFFwBmhq4=I_5_Ow2{^{7(K~d^gJ^6Zq4Y!%+MD4Z-AvM9a?VIA2bX0b zK?7{kb9~mC@8p!=&swI!jy|@LS*ox|%S$S%N6B%;-0R_S(N;tlS=%~t+saYY8#zth{K%lM{%Y+Bk!w#q@;TW*J!g+J>qge?gYE^0xeeF#Q3(2l zR}bLu;sbA)Y#=hgj8ssVmRp;JOTgQL_I6>KB%E>YxB3+bWF$6hd{Kn3?XMsPtI{9I zfp4ZiJKLNGS5y7xf|ReZjmzK|;uAfITwHJlDc7Tb*B~_WKI;4N!m{OYJ=iM(B~)ji z5GLpS5yIars;UyMm_zh~1Z~o;TSdpXluGB97Jjt8UpZ!Wj)pe7xGGN8da_@WBwwsv zO(FY`=#o^!xa3ojWmN9Be0O-z-e(A;CWIh{ef1oBE85%fYSej>MoFDpOgM_~?%OCxT=Ez)=3!3F6I1KYnm zNO3>DCh)xNNVpbMpHJ&RnZ~mx7ZQ@Q+Q#Y3ey;3_m)Fbenb@vcnCb1>I3gi@JNy2^ z`aow4e8hieV8BCxsK*FBFM{s#W~kQ(F(kuU@~<2WkMHs?>*C74l&U6%Fgns&q1`qC z-$}5^oSmrJ02k&`rq|L1UT$IBcJ9W{_gOV%HMfsld-&|MkNJ|rAl3-EmSSBWxupVs zDl=PtQ5s^Wpzgo@pVn4{2|*J02ADPi#aBE+o&f@YOWPJJV%jMA3)e$oZLk)WENp3f zZfqx*bDHj2M%?-M7C>%LTJ5s^c?!1iGL(PxwN81o{Jfj=p@M`BvKN4NC%B>wV)`wg z1$;vOrY!hDX#-kg6n=X|zP6_(5Hbd~i#~Z1RmK2+!_TGa3G)-aSv9Q{chTNFKO)t> zEsE~R1I(nP83ZRB5FbB~ifUT%290Z`{aCb={}U-2PY|U{xXxo(9XShCtlR%_TP_Rd zsu4~=L@wJ-Mu=y8Lx%)iL4Eqw^P9Ikkr~gOyGc2`l$<+v_uA|JCCcJ4M7R7D)w2zJ zKA5YppX!MHqi7kS!@AW^o_f3baxx!bqS2sXWmfRyIjrGHx7uy+ldYJ_^vUr36$=X= z>ghw%KOSm+-ZOD4_m5kI({PQ%ix&&PplSpA?mf`sPoHGC>Mw9nC&njLFT@m~t5WvmV#BijRj*qNh^KZTzE?*t_?}d%jh+=#^jF zXlZGcS5~qtQ$8r>Bp9!CvPIoW+y0*csp3oh#p$)TlV&W<&1f<;omKvzzZwO>@bu-& z)#Rc@>{oGUz5Daoc}>M_r6bu3s}`X~yq6QSngS&wv|Wiak|H7u;6aSo&&D^Lif_m{ z;rTjX1p$1kjUe2_d*;Q={&2#yun|gdOC;)=ujceOhp=~1OviEjFNc%XS zQrBAOaN38Ndy(b#WSPa?$IaWjAMH8izJqaP(QA&FUWz58s^DD?>S|`8FSUovIR3Zb z3g!kzn3ItQlUkX`}9B)BYtnEY!|d!n%{eaUdD<)1xj-|U=Hs0H&}T5 z0s=l)VHJQcIdPoo*fyixyKXc)6t`O^JDis{xhWaD?@QFWhNNHM4D8|MKBc2WM#^`&!>Nf0@J;qpcNn_D|YS%JXrvzvR#=?h>8G)f~pfXF8#0KOcUF7LrglZpWWn2^M-IcO=qV#GPj~iA zDK8mv-Y&?nq*@G{wQVg}dA#(U($Re*`|?A;@8Qh6_xQ0dIA;T(hYWp+Y{O6wel$(% zbnaTYawY4OaQ2fNf1Siq9Qeim^aJp2ITX~tcF`DnFM2K=l^I%^!#4+edp+?&xNxi` ze-#kkQ_?yA^)>43t9JaQ$e$gi_C8ZGasi3Cj#OI_luSW5|Xi~{lO#8e4hMUpI z5j>EcVU_=;J*&X#^J@rchSV+$SqrfZ=D2>5$^F_W^^ukQWP>iJ_QU6xXez>~VHAPm z?Yr!SK=0wePgfLg-prAdm4yHtJO1OqB#bj3pe*0V%HerMX+~4=XM~f-t)B2ns5-D0C1V z+x8thf)WzsAQOiAaJ6aL`ka$xi+{1sXtWPOh#yf;T69f_I&MZq~Mx)Jl$I`OlmAnp>9+okY`62EicD{Iz;p z2?>d$FRB{uxZRF<%a)x<&yyNV0SnOHub`n2K@gWiH*-opzRwagN9Qdbzjr@8nW4&W zTF(9v+u-FHWVjI+>kU@KuHRG=N>y-_X!i`TpP>f%k~@Jf!{Jfq`N- zqI5--0cuF{wxM0Oc9ztPeA&PJvybwMimpRF-;bW7cz=kB2MGZL38~p8pOg8;JA^jo zP4CgY46)&S7E42&foDDUdc<6<5ot?@yIABxp6<)RrpH8b+iOJ&i=<3nM_fJd zPG=`hpyDq0>K{p3MRz;tC2Dm+L8gTBfW34d$67F;&otVW7}$B=-(Efv_#+}CgC0K? zlH-EAKgywZ6WA4vSq_&nW240>dhd!%sXttuZL9s1GnC>EHgUvHf}ksgmZZ20=ZGZv zA9&hC(-FW1Be=4T&i5^IArBw&Zr!>9WROuaIL=W_tTtz9qIF8iV*l-m+VoE3i}Zm5 z7eQW;m_1;q0^d#!S-hn`KHAnM{MAwVn0ab?aEFK7vqy~*G%81G5@Rj)a^ShUcn6|o zJw{OCjtH)!Zah4)vU;1Dn@rQ#;fgc9;ej1|mc16o04|ThMfHMr{b^}vj{bS6@mj}a zt>W@-`+bmj0thWabeG^}HZwQ_LO zJ-+bjTV*93^rfW`TOw^|8}g=}l|FGVXIbOsiqMkdh4y&EI$E?ii%1h_!}6?*H8*jvwYA~`jy2`R5_X}ZDkwGbiMc~%qZMF zkt&(N!gnlkVQXkpn|Hd(i$V-$l0y$UL=>1Rb5BpEL?10kp3c@+Fj&G&^`=cp4goFz5bW#wCjk=p6yJN?iRqoF!=?hl4wiy(E=i7D8 zVLP3`s{3E%-lf3?`CLk7^HsBVb_z^y%$h_ASPxaV(SahVeH#E69qr@InVp|)dS=iPwVaC2*8fpSY!{qB6j1`rh%%-6Dlfh5NOT70M$rl%)J}| znbGgFvkw$WoTe@y@8V0r5oP6zsC$wwi#cCoPi-eRb91%j?z&mHQ7-E!^3w62hEQi#4U>Jr2)SQr?CV%>>`cPK7$u8Uf4sP926P3GyVF| zcUI^Ey#fQ(LXt1;Uh~y<_lo0F7mnzU)w~)TnvWbC_SU-6Ry?-Or2PQi4^;oi6*^)b zj*!hFDQ%Hl{Xk?ZRB&~n`5{3U`t}_wQ=R~%1>kw_$rG`32b==+^;Jrx*K#A>y*cE_ z2@t)i`uled{DxBE1Vz3j0k81P%+ivqc1dldx6?1qBGs^>mV+$HGU?fd@4S{cdO-1g zMZDqHDU@*H@kkrLsW{CGItrQv<|2E<-lz(yXWfFuIJj(g7z3yakF>Nj_R=kzO>bpT zzm;K>pBKl`NvtnFhyy~@ON4yiTE3ry&>396N)Zx5}-46Q927YhS$Hev*j>vOX#xo-~$x)zBKz0_00f>*IgFKJug&*jQXQ zq+*>s4b8+GKzS;45UJo!!BExHViVo>)f!b2jlaQY5)=`k+rcTN$nX<&ZS6rjyZyv7 zghVrL0-+<*p!lM7*5*K&@uMNh0;{R)qE3`%J0$Q%_@`)^sc4NtqzT61xRoHwFg^=`vIMVm){6*|Q$Y;gnFw6&TaMT3o#v z07Kq7j3ca3CioW^#INk-0D_@%7o$ao{L-viV&e%##&yf<)KPHXKGrABQ=15llX61v z{#F^8%>d9}HNLLHa%{>nv%gWt`n;z-qL%ANY+-cA&W{oaz0-U1IkR-{;->bM5E&C@ zuYZ2_)#7@Z6~BJ{>h!k%rmWQ%5VjTc*h3oIFx6FQIsq8G4!_di-Md#KA{K+xDoB^N zZ?@^xsdQGx3UGEsdo-3QNrD?~(^vpP!m zU3bQ@q!=%08V{(HOdXV9)#q;9yztnutz+=9i8%Xc?i;z)T^wK6F@qfmMzAme$s8N-;qRvBNz*nu!u`F}E)_Eag(4$*7rKa{f-JU;Qoxh?KP6_p2mUasJ z{P_$5f>wjKqqe-roP;xXPsDl}g#y^6{DEsc%gmg)>zt;O$o~{Q!w=lH<4R5nN#=&* z%iE7lk%@-5twC)jWg|mmH&;Z$^aDpB#Jmj?t{1W}+y(u=&;Sw2A1B z9Us61+=YRjLcyd@?!b#i{kyJD-;j$h19O#6Os7x?U7hT7guSldeTBGsP4-$@85t%H z4quQiSN1-(KEI~2$J*Zh%R-^2VnYf{449?lar5r|{~qneTT!u6z&hhbNzyl^E1fwL z%>VT45vy0s1B<>TuMeO87{XpM6|2AQ+}@m(?^k6voNH}()-*7NAJYY3o~Ff|8|rGa0j4v>q$+-GXgVUn#;`2K29Y~!NxQ;G4ZSaQWg99tce#D?{VV& zBG+}p*w-uSA;Lr!Xi!*BPfrJ)D-nt@C}d`to`-&R7mmD&{@xpWtEp~f*=`vb%yN4^ z815u};G6cvse@}5n@hOqgeMYCB{mJDz^n#s2OR~`1b&e4#GpoAe&uD_gf5LNrVqxu zTT?FJWW}0=<79g};xO+Ezgqu^+J`i?<*Lxkfw~F6xxZCj{(|}R#6%HB&DXLEWBrpd zIcamd?;bJny{cusDe7lu;1cK4+sFCBIpTBQV=N$^O2pc%q8ON%c#*%254jxgGaPv` z?y!c&17qWx06l}7H=xTqBN~A<43fZ)J|iT+KVIW=BsF`j&rgLC(pwk{#+{5TM0x|S zTsm?e?yOl)GX1x2&|G4UL|;*sZ<;b|>}K5jj_a9){X!7i>Iv(YA6}0HgoLn?^d#t7 z5571Vbfn%@Nl2VXXr-nnzfyE)wB&K)GIrHfW=dn>tP z#}4#V2US$)5YS$uw@#aVdBEF4JmJ!|KV8vSTtu5+b0}_B|mnaSY=~lYM~Vq#h1DoS_Wd+)wD*2cu~@m#fwmadrkmjS(LoDcpvj1Iue_ zjsRDPzqu2Q%t+_;ocs|wKpt%-7Ree0rtM6s!^|}22i~{tPvp%Q=~zd>_SvVt&o(Z>BywR__ zmXgp$qyh3;Npf|7@fWA#-nwUi6&s=)qaxJr1m5!5p7F$??qlgW@pqdZI~>rmzT8?> zS66miESDxx%a26k6O;M$Tp}N49()iqoWVOQI=i~CQwk46#h-aaYDP|u47y8X;p4hw z?ehZbnLq7ZF5IS%{)aThynCl%ehuacOkJ9ZmQiPQeH*-DQihYyJz%#;^4`*t$;`%Z z)$`T~S&@FZ349{yqJXeaC=jphwP^WTt+`JXUqVVsTQ_qEa|RLSY6!8y%4kmo_pR!@exkGj(w`gNk!C+`kXQ$oqaQk7iYuf&2!}ij0&sjF&ND*NiVDrB0>(2k7}WnNzUan7kYu>h z2;9+aBN|#YR=uaL03a8@x6$!&p^c?Gf0_Bb+$!u8qsoL>{PruueR1Q)hrXR%Ez3lT zPIvbm)TEGRn+E{$^#1v0N8ZBJc~Gz3SAlH*Y)s@t+!Otax2Dsc^i-C+&U@;OSwClO zXE>#`dqr;UN`~LN6fWJqmb`Jp1_L-2j-EKNl7fq44KNTx5iDVIX_5e3sBgRX?5VnX zBm;6B*lm(N+YAj2b#!%6r|HxVXf?eei6VuZo zG|7`%z&)n1k?YosVXDjehYufiLQ!4<_AP5%IA~?pv}prCB098L6jzW^21sac(4h>g z9$NQs^T$q&n|Gft1Zn9523~t%WA+N#6vgh5TO;XBxGaV(RRr-#<1hDrM1n+;qeS9c3 zhsm`{dXGygD=P~jD!@5+8~3fy#XSsl9^&WcKbrnypgBW~041NU@cR|4kcfLd?i5n~ zHpJNl)jriF`SINBE1Bh@VoGv1k!gFkjLV4uV=h~B_}+iq@b%70J&Nnucyabx(ARl2 zUjNwe8xbqBB??=BsJ`@wD-run+;{^`*K$&R^z?WDNnr=Nc{!C>T!MRtOdH2?-a}{Pi`@X!xXweCs zd@*EaqhQhH?sc4wtKSM!7@kn4Z$H8hJ4O7UL^w|6h-|?h0|S2O9&z{`j``#*{2CcN z)&cC%t1KWpAXfon{hJM+DW_VVZ(BV+T`5M$%N_8tbRHfaM%k#qpX=-6ZziV!eJIUe z|EB-chPQObi>H+KYuP8=SRE^~fhOd{!rUhWq}{L`ZrMb4WFdaxmU(*~WX^+3BWsfV zwc>X+O+lPc1en>{MT%LL9ePNnEn5Q6I@yFCV*B~w&oLE6MU4|E)R^#vixZ0|IONc)Py7aR`Nw9uGmi52ZSWbQ%VHo{+opwvE9Mu{G}~%Wkj#jB2n3JdKi9lF zWF#auqB+MuD2Voe4h=6}|@i=rFREyPEy6>$ueN>M4yFs4Q^{5UnS3Qr5 zy9m-BPvzcoXAFS$Q{PNFIy^@cXv010%$P> zRZmh%yODtc9x5V21jk(X>nLC=zd}Ppx2^d}0g^#WXm`TYVuYQE_iz(?W@h!BcI6tyR`PyMSD)}a}@(7A943l zDO%He;od%vikV@7vql?GylYbGeTQ>ovRiM7kUr@zYGlThCqVww%F#-jXpTg)X>1n5ug+i zoAl|*kKy6kAS+(px966>!$F{jAHebBA|8j76VFZ=z=U8wm{K)ZhBBan zaECA`mmN(Kyu624J{A=gevDCOJjQdwCf;Rw4lBTYnS$b4Jv%#lF8`J+7RMTe%uNZ1 zLh?nlT2Wb9-`&1#mj*~RN{>=;>v(7|Y-|$H=SX|eX!_twbB@wLO<`eSGDbov&5I6u z441DQja_WI6CBKf)lpDXbl4oA(j$p$QJL&|mmt`}?Q;AitdK-OnZ8p3)b_qn{MLOW z7rl4KMIlDuZaQ;I?Z!u@J?|o*V+Rwb2 zw%IeI?>f?d;1^thi>BdZYi&yVmwVZ?DKIcl8B*&}IBr$`ylyZ>^KP7#Wqp zm=}xd*Yi!I3x4QN<};4XF`u@7i}{W{l zIJvs;ftTBlgtvnW`SAmQ-tlC)aJKjXHqWZ`d)d?1M-mXhHCWo&u{Bq*S;hM=b1pnM zC$Y`=r_-nV8wR2-(BgMHmyx+_ExMOw91Thw+>EWYo7EAbpBoHOYr>>&+DX#MM?Gx2 z*j8Rjr*@sOcn|3Bw9`d&;J+aR%faOjpc=nsT;m1+q6D5Q33>KOg!?<)Y~|=Q!G4pg#&7H}zD=6+mkQ*hkpoRvTvkR+ zA!$A!gOAJTYfA>!Y%ezPihi@;Z>wqN^nz-AHZ6fQEdO!+u$cnkga@n<-to_G05%5P z$r`u>!i8|1AcH=C{w$Pxmq2{BSS!_$2Q~s!#Qm)AyAo*>6&WArFD-JSi#kG#r~ly! zCUs0rg%Eh_fj}yCvY5p=0+?u?eKz2-lI13=vTve^f9}zN?W~W!@G;$Y+Mn}kFhd&d zBsNi9@4~`E8(3LE{{DbhE%?qa@&{lqNE*F~1`qe&06?%E{Ce7274sjAsA)O~JUe}O znWLBt#*_j$*cE8t$+v2DSjOUT_1^LD(6n!xeZDzChTQ|FrNGeLbO|<>@GmijI~TQ- zm}p3y#d;$zg&aZ~*w_jU#G%b!gH3*F`}2G@%*hdQ&KyD^DsO$?E5+={cuK;cTIER# z_xdalAP9<6OdEvoL3-vl?CeTy>SVp3Vbhc}T~yO$lapolkbn0p*se)w|D*9!Oi_az zA9*s4`=N?~2V>f_$!C84W_NEd7`>CanyufyZCYGh{P@fE=&@r8Xf=y%z-RivJ6Tv( z7FS7MhClr&m#~o0j-*{jA;oM@YkBd=D89x;D6xVY3T|^6E}l~4kUOv;Kz;06@WrUR zDl*N&G=Vp!+$&=j7bW2eKdP##_?Pg*u;&BSo?qEjU`*ips3;gvNGHxUF+P6C-d+;L z9)RXfZJ#X#Th3ywDl3ti1A);hj9hp!AnU~290wAu>%U{++W~iCtf;8yjE+^z=u|@l&D(S6UP1C4 z23Chgi8oz-yqpi4MG+!*0rh0R;{h{cwk&c>e5=-IOIM^Fk{uj7G{VGit(m4#YjULR z7s1@I34`Z`$Ym#69YpR|0PeqRRh0$)1z;yN$)%U=Mm=I%*2RdN!ILCyJdrnHRYJ0s zWUne38iRlD?9$cSu|LYY%=4nv(YmJNN%f6&o7Cs-7#!TAR^Ic_f&2QgV{1U-^3VCX zKztf3!40TSh@lVtd}ra+OMaQHDo`)n8pR3lNXEf>D3=`?jQ1wwBs4ya7xl)XRT?s^ z^Sb5eZJq7m8V26G?N>Npfn=a}z4zB_7ult9SN6Gu|10N1pZ0xih-Q-%78O;3=&Bo&Q%Tj&r0_jHN(oh2ZTh@mppyd98#ZK#yiL)=9ErRuQVVnIkwbeR*Bpd!&V9j#o zo_hYAUuN=)dM77i2rkP8^A<|;8^#=xYO8r`nEXjd#hGYU5FsWE4OE=rp4rI<$X;LO z-7b^+#t2n|M%pMG!$6c{{|+Jsq4S`^yH9?}fNx-)mH7DqofOy5PcNvDwiYCQ8VXHb zk6qoV(tpVX(eO-avXc+KmO)HKmfDe4=&z9cAi&p!BG;po6TgSv07w*3OqY~luz!y*d2^SoCLO9}w?9hZ4fl4kZ3zVH=k8+;U_OwBV z;pj%*aQ}l32KNSY$+ak5kT?-kf@m?It{eSc>j#>hx#Y!XkNWSk2fD(%+{P?z)V7=2 z$M0R1R&CYJ*@<%%LjZ|efJR{XM6-sPNAb#)my$>HAn$2!&p$cM-i`)RD_MW1+^tTZ zZ6s;v?>D%!{0$U=Ln5|h4FqO6Q{T;uvZ1ze8p-vN=i4*-yD83c`yoe{EZtQMrX3!5 z#W9CntA;{zP0*A`-kQ(k_wR#@@GJCt(ZI?&yKp8M;-v1}dmXcJ>hO+5NN~C^8gJxQ z!`)AaZZweG#{2dloP|X&43K*P$r$KOzKCha|A&BWporg`u_OiQh=7v0{QWy?mAjb2 zw0NY{E?xAnikugJ<-|1Ksxdu3zl?NkLgPuKgyh@9p1Rik!>M0cAa_4r+1sO3xBxNY z)$i||l3ob{_d+zX{!JMK?pGArVvB1dC($3<;r|lg(K_Ic?{1cIgHwlZ=gt%6$bmY1 zNN3&DP`2-gnjlZcOAYI&z|<{*wu}XtCl@W>#o^gBIV~Tz#8A5q z9<2ft_~QK-U+r>f`Re0^FK?;7eeB-dM>p2lmUKs-Qrd4St@Zc#=wc_C zUf#RLa&+zCTjdn<9j8{DmNIhT6qfQ#`^W8=EY+vaWv@ODa4@XGJ>ZA%;-SYm^~&O; zLm);Uh|h#&o6uqBoW(GBZ1u>em@?-aoe7i~BBmsW8z>-q@QX1youw;#rYm2M>c=ooE46NNlb>PEAm9G|S~+KPpvPGr z6PFrU8^DK^i0kh^vC!DiH1I#leI>>Qg6~tIwXzAtc-KHAeEfofM2Lwp^ItBz;nA?H zV_}J!d;XGaU~qxOl`ro$8q=9QI5Khawy6E<^E|6Ee!ETXtpB=Fp#WwrD=5;J$)OR} zPmnOVaL}1@2c^f{Vvj3UT5BIf~t9rI>@L(%>$;A$USV`iEN7JJa$VHg7iY9TY+@7yM2*NXL(o_hi#rq04s-w_ z+i!CTRsAnJ`ZMXRjrG{z;L5KqKh7HW^%R|p_A=OhTPT4x;(egISIkbXfo`w;LN{{e zzH?DNFI0ggAZX1=b>K3>8;dzV8(HiFt<_P)C|?ZS|B9B?ee`T12hqmV=x)MdYG5Pn zs*o~Jkhr+6udh;PEE}XFr0r-{IWyDTXQuF^Y86&~SbOz=U8(SWr;ZM`s5j}shvVu$ z)Yh)UbQCN;JTk)Q;U;hWx(k{iBgxRJ9-^!zWXuE`)~;fjZ~jhDcZ#n*-T9;@6L3GS zj#pNS&FvEp*Zqn_gRY;et_7Bk+P*6pHCXAHKE)OouOT##sjcOH_A1B&XmKS&A>KV9 z6-i8TuPBkYnr;FD^@$qHDgU-@nA6U*Tx>DkZHTL2y^o0%JXAmSb?O=m?|qfi2@;25 z-!N0ZcMqrK>TlpY%+>FI`9#rEUcdj(wPv2Ey(rk?a1?{|dX&AH$jGV5IllHm zh4CRHqiBAA0MCcw>V2HCtiHWJx1YXwbIP>7nGit|+ zpM=Ep#-OqL6Y+^$ga7@(ax7$-~Tb+^cHq@5*3X`Z%A`h>DrzyVby>Z##Y`Y=_kvtoU> z)pc}yAqnolu0Yo5j>i($EQW(oq#h>dX0f2jJ&ZP`MvqRL2k$uAvD84E2SsRE*XE77 zhsV1MK}#u5bP^v%oYgfw6cj=ire(3+bZ~`P8sp}~gj4ooOyhM!?vZJ%^XiMmcYErJ z%4$x_jJOOGp56&KXMtV*WyQq> z2I3C}Q0D~#w`|$+X{lptrdD*ZW~6NJ-%?ZDz%FGXF((DyDVH^&P{u&Aw)Rc<<@|90~SS)$9D9vkjrH`-OWcv&pf!p8#1_& z>}-p2PO(8@hxgt=$@~88^g7RquTUAgB9)(J{qJ3I2J4;K^R!-AuCesg6?6w8jySfv zaJDoyR>d^`oOBe?&13@YN<~2?G3k0q@al3w;I$!zXgBp=9T3*LH(wVZ?Ni$~K+ceC zTxW?1X%&%vkm?pV_EvsqaB%e6p>_Jr4$SgT@;%M<{>ke5z5midt4s2#QcVV3{IpN+ zoOx9Yzk?3|$_=0%uTPG1+heSMge&F{M?_6Q%e{O_ajLlf}xZ3KZOzer8ve)wKN9(_t z9jz1fNN*z{wv^>iqIS}-ncQ%aVyPs8_ooRogg5V z@keRf7%pX0fDERZ6qg1MjGlZ_Qkx(Y4_TBu$S6wIA;$xV*^z31rg*EQk%(yZ{z;J!&lB*xu_1GTL${zX3vjRH$8=RVUr82p)_2i&tJp@$6&er$<*6xYjov2J$5{LMv<#S`T_ zZnUU~9uE9iI-?dYXrJk^?OkYX%-#d5=!6+l0wIVaF;oBt&S`5mv}|*GO)v?-^N<3{ zz{*W9USJPl*~m-deal43K?4c1>mq|G=0#9*!b3OaeETWl*V<%o%Ti%``vvPjhfBNZ zet*5Ob!B#4-2W@=yW_d+|F%yfBb$sU6%A2FB`PFoNQ02$MHUn*@ z{nv7Ic-%V$e7NUqH8JUL^Kb<*K!dC{TT zlId-}2j*@R5B{#Yg`3~CBfM>&f9uzq>;yMJP9+Vu20iqzK{E2cQJp=4?L+GKmnj#d z!XJArmLS>VO&8MPM`4On%V9VX#$ztuyn5}(!2LdCDfyW*b^WcEwmZAK3xP6)!3!=# z4#FE8Bm~_z>GBIRq()V2p4{iF^OVbJH#Cn1NOq|QwN3YLX^QVw)I-6PddCAtNXtb{obO{G5)HcLR2Pbe_p-!qrLqh|3 zp~Db@Y1%&f+gr0glx7u6aZiRWJ=}qP0k@?dBa$JCmyc$$#i8zx3Q|5_iA*XC^4?|> zQbas|p7z*f@kP#9!>12bVzzp=zVwFnXj{EXS+U58obQj%ZfoB2*(@-zNG{DX`&f3i zIzJZ&MvkfgjbJ6xbARnn$}Xo}yBx5uX#M*23mP^{{gMrKdb^ouy?%!gG8?UR= zxqne{<>s4jTxiW741uh^bbS1{?XNTqUER9!H!j}!=Q=O(cYPW;Jgwl;3A>EM_KXVt zDJtJ15l7RdUYGI-Y5WYnb}RLm5(@*KlVAk3;q58KEL{Msh<+*a-MI^#ot^2? zM4dm+)>Q8kh#Ds@9e6WWNb#wIGqU5tR@+WPmeNlZ*+n4;q1J9`@zfmC^k5>eI?G!jNBrkHz; z@-IL94bw5>D~qJ~jTGF*>cG#Uu_D}hR$QGIQ+4j@Rb^*aY*oe*JR_N%7fj+bS~DsR z;9f1C&zaO#{XSRD>&5pe233|Bq=Q zmXe;maz%h4KNE01Fdq5y)Vs?TsiQ%m&W;}3&i#46I_KR}a-vLArM0rB5z+UD+b5erqq!6o&Y z1IMv~1nO#lnx6n87%aNIeO?u%^oX*N2+o}02U7&I)NOlLLdO70=|ABAm@2km9v>es zR~gX$(Goj8_LN=>p7vXub@YMUE6=5B+&4qHE8BV;PJ-7{qw$R6y$f{^;(w;Yu8{oY%w!G#PWkKx`ztsO|xQMe@C42b3j-UL4+XeJ^@X!t-E`>QuUgj zDmpq?^fW97pGsp0Phl*u_@4=F;SSVyr-5jTK`Sir$hTo~d+r2P?f`VyT0iO?AxA`7 zk`S>Jy?a1Y_WbFN+KY%l#-HwaGdx3?>)gXv9CmH0T~?93c3ou^O3B~A&7^evH3|Is z0cQ%@LW}`tdVg2qB{3P9Fc3)P@qw9dSjpaTdfwGmok8jbi&gmAaT`01fTr` zdu`5OLj_122?+^OCGK;;IBMEo4XesG=PsF_>8Ks&`=B;;{WHbXd+v^Ya}J*Z)IU2wB3N%|xEj15I5o)2=4NF%Xy$rg=1GCaYyW-(o{#RpT_Fg> zg*f6uq&5GhD5wEYI$(5#Wi)C8d49?OBO|Eq^Jm4)TZ9Az)}XP*PK<>PPDLBH<_OMn zyz3!1mk(?>;mgL`o$XlR;>#x$w9oQ(95mHf`%lv9D@7Mz!bVSrX#S0XBb}0DTCQ}r zj;P&GeMM*{BtjoGjC*JgGo+7Ck*1Pop#*mc5)~7>v#)U}E|F3zSVE91HWoINm#^6i z8;f;lBmpQbRMx^#`R9yYY-piK#g?*Nvz8@&7x9t_nKu2mO^tS$!28wjYu?pOeY?%u zN66paeiour5C#blB%a1*DDP5$$qV`h48yNk=ny3KJ~|^W?`KlDvBQqb^08%LrYDQ&M^sSVSCZhYz zOl_bP`C2p}2#(?;Z1E@pI~nfm>OK}YG_QkDj9&Z?(cQg!OP<9pGx5>_PX_Ym&KKva zI(hi{r>rX@jbnOs?`YKJ^Odt_&P`ytME83t&*$!n^78Dol-+QK6&b-1^x)Ry=^WNI zYBl21Ic$VKy9wntW!*d>6TWteq@-ap5B9C8(&{-31g}G&wCi?6UrcVU294h#KYkGi zil;QKpN1>F{E{WF|5Z7q%7X~gJ~)W}X-~E#a`5_JP^}p(`eTjJD9V9VB+w=leWrp! zg~Ov`xIP`jlPC!DqGQ7b4D$2-i4F5FZj0z@KqA38hwP`exn)xC@7T7sJq-yg;xr{) z3k+>--9e)4y)l(eL`ZtRed_yL_?`U{=N8%8+U~lI$0mIVlqs?@!ZKQof5*)(7O0yL zM2_FPcdzhAcxY(U7ek#rH8Wuu&WTPo+oD~2vDBthl?r7yT=VnJMxP9;^YR?Al%3os z`j~BIeX+>9CeeyVMbkbX2pJkZcj3YbK-n~7VBEe$Y6Gjd=l1?xQAlmTGVjk*U{(@@ zDYZR_4pC<@f7dsa9B$;U4FGIAb?Q_SEwj6k0RcEO|%na$VY; z!X$Jy?`bIGP4k~#n|1np`4+Q`P-IX?ydQZ7doR_01b1}z)k9oh%r`AflO_2_KRlSh zV^tgIxPDT$lnjilX=j`EDTHvvnLK*=B|}g@c0j9rzbD_oz@YOThAI}0*>9qOYCF8- z6Jgm>U!k8QPBqb;sUfPD6z$aRpV`R8sqPlMt2ts%U+<|4xUAYTk?`JyyI((;3reIt zu1M3fJ(xf*Rj&{05y5L6a&IT3E<5-|s@bavqdC_#?kDUx_)1z?}m@?^! zzG%GXd>nI%4L`0V{rZH)xeS91-h^5nrW><2956;nsj9I6{zB3b;MB;WK!GHk^aw_e z#(OVyOCTLXjUA;bD=r>_=E*A{AwIq))l8}16BtNMwyU|?Dc2>^5II~9aJf5^r((f^ zRsJ^xc`ZUtRn^Q=zALOY&ev&Xk(qWTTra}N$1nKMd!APNtAaJY%i>O-PiwGC%7rIfl8Fm3q_eJ(Nc%9f(224ke;;lrbR z57mX?G87#=fapfX9uoO;IqBeSm#Rrw1t!(1jT_HsE|Q&~$Zm)AE0a<5J+ywyjja!X z)OlUYgS;H%mmf)333=s>+oJbUY+EW9mS)E~Bz};XH78f9&TCBa@!hbq#&HiuL)_$J z*zPMU(vggN94-tf;HXK{JFk6oTn!9POI5hKo>N&R zY!s(46Y24_miEi%1N`^)MR}p027!fJjF0*b0HWy1(P#Ju-PW+FDEsr zn#y>Hl|W9rj!AE3&i#D%9{}3!9PEAff0c(PEz^{9I z)29t*6O>kMv*%sJw*j|r-P)tFpC-+zsCdxt6CnPB=YiNo{%;2|Lo&kNkL#GWUmHtT zT;iD%5SNtL5{W|75&KG`G(4j>%()7^G!~-0J;O5I2Sg!?)j(()_{z`DP>2y>p;wo{ zX`6xiuw4h_%5AZs_YV)bEZO(Y^vf+2iT_FxH{47<31VNNU0&G^J@|x7n!`2avp|K) z(m35C9bYGvbA9L$s8CW|<7S*Pyt`qYt>^qK?;8sF)g=KdxUD8#(rkFx*dWoo`QV;* zCqDNstFZ$)oeI7JRp4MFsztzkddb$B_n-mr- zDNXBHuj%{i(Tg`ST-)11YlH7jo!gz!72o~SL_twa*W5whI7I|QV5!v1T%S#6D;Y_a zfOKPH+?`_4@Ltw8udEPE39m-vjE@?XK6)r|a4CO__k0L2pg26bIZ3RM9K{_U^TTBQ zt$&DdTEpMTzu<)N0g<@?Lto0Ly#w)~YH=%f1drcnfp#VO!i7s|5#59AMFpKp7LEOu zS!=U7B*4jQ(v;1znFpPZy%#w&Jg4XPKJB8T!&_(ST;JxJoqgevaSHZhsau=A^%!e8 zdH#w(tl4DE#)gs`=hT}_mwLE5aqMOd+1$Ls$An(5QaRBlSe*RP!pcfsL4gO=LI{p1 zd^bd7Wd*@t1blO;P%F#~zAAtt&>~l+&As3TvN-KFAI?MNuArcxYj1yj>Mglc?V%w* zR`)8$CDP?9pZ^(M*O0zu=hUOmw#@xz*Ksr|I+_y=*8Z4P2x%bH$iWT-ezhN!kCz0E zm8f0Zh@2-))#-gNPg`4AIQN|W=bwsEz0(V%9+;p0%pI5^`bOx&V6h?(JNoU~L<6yk zPHW$KQIF73j ziLV6=$MTEefahi0i`Z^#b?)1Gs#|clc!TN6Z+@)gz}BCN?|CIp)8Z+7WiiuM!4>K6 z9|`B3_>u@B;sAYBu+zz-g#rP;29Jh?@nNN5Fs+#dM4_;7p}LRr-|yJ{oE$t)I|gUyaF(_GE+E1zG3M#0Sx&s6FK8<~RB>NAFc!id};EI!j` zi$BqY9s@uu9Pw5m|K0cl8%Q36e`J}Ichw?NQuG%zawHg_&vyR27(5}rRmexS0>5!+ zfyCuHY!AVYCQS{9VIke!-IFs4p;m>@#U%J{1><%=qY8VCV07X%c(ooU&L0NDH2px2 zTs57xB|#wsxZZQHyVm8w=2Vc8O?Lw+>qjbQ7&ISteZJ@eNa+goI=BsQy${hxeXXm$ z@7)wgTUO)tfvjs`e+|`0D+Xd{6v|LAejUkwn{E?E?7AJQI{@Cpc9FI*)?f<&4DTF~ z(%?7Bj^7S2n;#VkvA?jOLk~D@evkIA?u20|2<)Ns!=ti?!u)JiClP~5DTm(3;1`i9 zVfwHZotSLEpz(*UuCOOKr)n@X1<$dKU?VIS>l^Xj+PgzHX*szCGC}Zm1A3 z*wML)zeH#TQvxM{qSpPuKZltTu`OC`A$p$G)pr5Rk+77sacGxUwt^ci1>z8fW2)HQ zMiwQ=ZBxi$lg=Ojs5L0dXsL+j+D~afR97V4xY2g)$k;d=%FhnMo?2= z-FMLG)$p?*F>c2)A@N2qpDfUqXn|KpEok3}`qo~1Tt9FPJ^&g&GwwygX)jTQ&ZzMw zDXcKZEhHf~=D3CtF!&(B~m!i?rIPVOC$_8>6n zz>UH9w=kp5AiJZvMOrTPX4WV5+;Q&xNbZlaM9#zqz&YD+li zIGnwDH3Gxw1k7N64r!tA?tJ&!#hVpj2Q6=@>spZ4(WjpZ4b_8{3nZY-OlZs*GIT+) zX7~cD`W|0cXhl@=B9y)i17#Am7nnr-{Pr|i888Cfr& zPLbphVoymG+hBP8LLj!g@8wfi*G^@~>jJEH2S1S7h_47^y~)*p7)v0u;)A;YxftLq zf)Jyv^Q&7vIy$-)oRKv!MX@R3Or1-S9>V}`hD@7K)o0XSy?F67wrI067-9=zGsE52 z>*y2<*fs1y{Z@sWY?iwO-*OT=2#KbPail%UOORZ6a1&v1qK35?UR?-8v>Oi@yTmo4 zcy7aYu+f~Q7VqMRYNb4&tukwSv-vFbJ=mU7f(fdzkx>u^<__Sw(!YV4#S>gi1ZED> zR^(Tq;es|`FT9A_w>joE$GAC@8X5P_9zr0nipucKq_Ud2cvmY53UTGzS}1_5^E}vS z;*3|-wr`l~V;~c_sMY?*k1aU4G4IvkKl<75%U-xW+eMt<6bRrk(QXB9T7re@Jn+8W zA2adk^-a6}BaJ8JO}twoA{I$Hc9AD@pq zfhTO!IfkT$uqOS;@4pL!um9g%|6jim;~I3mkW(Rr`urY-LrB>e(kT80d})c*^9#>J zbyn^ice~K~BjX0Zxz~pT;JHHoTS(|Z(tw70vvr^MG#&rEU177q>p0$c8__ha2aDu! z*Oj#1LW;FK{e;WvYdQh6ItdH1cyPffuez=xX9daF?e@m}ZXXkbrlIB42xxu|2(w?; zxwyE5zgdfsi4f_#-W1?B?|`TcC6`MHW*N_H^p?pi-K*NT-@P$M0P?8e>LX+Ow{-b@ zdN~Q(P1!s;Hj$Oazp`u*GYf!{&uxyCuiw1+F?RS7BZzdqO`XCpVJV?Im)s1|G$E=0 zX6;>F`EXR}yg;e~U0?Lz`)pT91oRU^Gi>{oLfXYUC&2vy_a8t|xc!<~bIni(9yOYx0bCe!VaPwPqpF3D zp;Q`U!M2YdxlsBLBtM#Mo_IS4R(iS_bsf+@27^GImbQ?zJ#d^nHSR`=HXJr#kb6O6 z#Uz#_J7}d?wny**@DrN`e~_vkZzk~15WK61(IQxQjmH)bkip3(n9vgIdELKdc^i5_4vz=^y3WMhbK$;MJrsMdQc^*w?wkL*@g9 zA%=SX4R^q`Zpyxia2}7i4YI5zs-x5B>TX;AuL`OB2h<7JhBysdj!qO8Q)NS24C#G! zeS7;MgaiF}XX6oov%inbzY7H!xg0}p2=*P0@kwy2us;D(eGZK3Fw4$**){b2J7fxC zWur;l0@9qIvh@4z*`q+!Er>4IcEdLe|2S2T))KF}5mZ;u@rB$E7=1fjzzM7!ZY9DX z#~jBEp9!MCk+G3^;D;Z>lb|%e7L^VCdl;y%f^!*!u_Z)def`?>wrz1iX^$IDG)@qz zg3~Y;h8@tPBF}KIP3XUx^oTTnx_AJob3or^XY3K7%s$V6G=dSv z@`TyFAnUYeUp+E*=z3zJzLo^s>+pCdGr^!17{0(r^)jOid3$ob1ZL-qFlKZM8DY#< zJ?r-OeL&O_W_XCJ@NF1>R$zo_DB}zV{vt-#_rtk$!MN&5v+54E_(7*sB$z1$mIN^p|JDFAe3Wr)rs~L(ywxCP| zgvpWSiCLCU5iQn#d6mC^_bhq&)mjpglJnr)#=`{T8Snz47n{t-SKfhcIx@~kfivG) z8M307!hT*3v{mT4|K7 zC-KNmwn1>8#Tg!0T#Mips?x5;GF$>_qHHNHL&j8nX{y!6`; zNfe9RKvQFM>mdhD3kY0$M#{MD@)RGh3^tpjSG@3AJ7%pc31n~flZY8Bl^J35nX}#3 zH@Pm{`INl?ZXn9mc}9K1NPm-ri_r`Hp5c*4yUtadFxSLvANNs5U_Z#UZ^xm{<`x-_W0J61wQ`pPo^#l1tcsc z7v{ulGEupl6WG%-1Je7!uPrmEZ1?iY8rI@E&V~l(!p74N#QrT-@hMTShJUF4pOvb^ zD3%O@DSm=~Dmyp#$;la3Ic5!TkLa^}RO}x}28O7|87e;f>bmmm(9w{v*nZK)r<!HSKo$D|BO{}bCp#Bi^u2vsg*njkRsd7AQX~)j zca)VL-&$9}E`(S>o$UVJeJdZl!2p*nx~0z*Z{S4RVDQe-!GR&i(DMtD5B5BPvX6~{ zG}k9!%x~m3;E8z9m>Jkn9jxn0=B1>fcfAC!cv*P^bmMnmh=2-DYv9@9?C(X0RN^^U zR?*V$+i-bat_t%Hm^&>;#;0Q*sPc0eCgeYB?+5r%lPjb>NDFCd@9y3LreKX+ZZcZd zs?s&>m`*;-f_Dzg?a7D|Nm~j(7RC(aa6n<2_}f8JRD$D?M>Sh9Q2=;(F)=L1)2P9L zME_-v`3go<3v+#AE1lRG;6W0o!ty(^tA13t@nBM?=JHyBng(L3lXDW3IiiTNWPXal zt83?>&hINC*ERJH_mXi9bbDU6axocyPUSFZ1+b7_fTk9>$t1O;k(e(&809F_o{>|h zx*txM3rbW!dBR=t{9IQk2=p6%U6=~Q8NB(E`1VcH<}c)H#it_aFe+v^w44E45Qir2 zjqMuv50NsSIKi3dPZ1!d)A$5ZNi6J|i~`@_2w)yYt2Ta>RIlL3EyFZ|{mN$ZPlE>;s+ogi{IXk|#|KjjVyYuqELPt8 z1_<3fThycXwH(a#OZUU;4Ht}7YNe6I&VhA~xz*{PZdL`5HBQs?VBpld4wrlDKm;lT z${Uz-N#phHs=k)dsfe)o*IzqK1MmPfuJ8}QXg+5)Cy2%l$a+i=s%GMDc)6iLZ-oM# z@*Z#uIPKkXvd_t4?3PB^y#Lg@lTM6Bt1hf{?6E8f5s}2kwHbB~yaF1tT~DI4kVpRl z9|k=DHu*a6R2YW66ik5+*LB^mtFDGK7UF&;8f$+91!2xrUeH1LR>u4J`2Ar#&^HzS zxT5YV!R!D>mib)QJ%U(cY-(!ShI>U6WlVRUX4|1&!#JM_!k1;*IVg%$C>mz@Znz-| zUWmN4jm;fE#o+w4BMv^o=YYGwejGdpASu2b;Tlh`C}G!;aX+54=j*(USSSxOq4ING zegfSk&uh`*#Bk&-OSL@*$Bcv{<6|V@M5kMWq(-}YNRPbSr;i_NqO|(U#429AxZg9- z+|!kWZ~&ZgIy6_bVGvwYYJa4#uoCzCBp?J3q6#-;6fej`&o7C<^#~PaII3jRyvcv? zI=6oM#LK{EMY4`FS?KA_Tyu$Q3(bDL zEf%5PmM4hNRD}$=X$lKcIx=bqW~{A1v-AO4XX2g^HNJgGPvd*(0(YTSAb#!lzG8}a z9WUEY>khcqwtoIRx%FefCzhv&2mDyLGf{cbfCZdnQd|kjYMnw-B`eBu9Q{=PjPJ#P zfz)-zYWqpRN@EGmH$@7HbI6=mvaT6S@$JZSqaCE?pvxq_ByIo5V) zvpg-wqUW0^Hc7t_{WNr#Y9&AjEakpjC}1(7=7pdLf>pwjpdqEbybdT#JGcF!e8Ae6 z7oa0Un9#zfm6gyLsu0Bv^_21@bDG&RPd7c!SP0|d$EaEQiMt7iR6XzyioI3|??e!GAnakRRg$U3MeiUwY+Q1|L3b}NHdz(qYyXqskblQh>) zC6MZG)4E8LCV&~qZ}%biK%h%*P-vKs3+W6qfCd*$unZ(Z{u}-Md#%)Y@=b^rsYm}` zSTo^25Kl}Z4${O|7W4lAlK)3@Iq^^b^M{Vju+k39e7j?ZG=ndLHJkO*^>!TlKWq+E A3;+NC literal 0 HcmV?d00001 diff --git a/docs/references.bib b/docs/references.bib index 969ef3c9b..ecafe4f16 100644 --- a/docs/references.bib +++ b/docs/references.bib @@ -6,6 +6,21 @@ @Book{Pothof2011 isbn = {978-90-89577-018-5}, } +@article{bohm, +author = {Bøhm, Benny and Kristjansson, Halldor}, +title = {Single, twin and triple buried heating pipes: on potential savings in heat losses and costs}, +journal = {International Journal of Energy Research}, +volume = {29}, +number = {14}, +pages = {1301-1312}, +keywords = {buried heating pipes, twin pipes, triple pipes, heat losses, insulation, costs}, +doi = {https://doi.org/10.1002/er.1118}, +comment = {https://onlinelibrary.wiley.com/doi/abs/10.1002/er.1118}, +eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/er.1118}, +abstract = {Abstract In order to make district heating systems competitive in areas with single family houses or in other areas with low heat demands it is necessary to reduce the heat losses from the pipes. In recent years the twin pipe has become popular in the Nordic countries. In the article we describe how the heat loss and the heat loss coefficients can be calculated. We introduce the triple pipe with three media pipes (two supply pipes and one return pipe). The temperature dependency and the ageing of polyurethane insulation are briefly discussed. A comparison is made for different 80 mm distribution pipes and for different service pipes with respect to heat losses and to resources, i.e. materials needed for the casing and polyurethane insulation and the gravel in the excavations. For the distribution pipe we found that an egg-shaped twin pipe can reduce the heat loss by 37\% and the investments by 12\% compared with a pair of single pipes. For the service pipes we found that the triple pipe reduces the heat loss by 45\% compared with a common pair of single pipes and by 24\% compared with circular twin pipes. The reduction in investment index is 21\%. The article also addresses the question of the heat exchange between the two media pipes in a twin pipe. Copyright © 2005 John Wiley \& Sons, Ltd.}, +year = {2005} +} + @Article{Boehm2000, author = {Boehm, B.}, title = {On transient heat losses from buried district heating pipes}, diff --git a/docs/theory/Workflows.rst b/docs/theory/Workflows.rst index cf7273550..37057e40d 100644 --- a/docs/theory/Workflows.rst +++ b/docs/theory/Workflows.rst @@ -1,9 +1,11 @@ .. _chp_workflows: -Workflows -========= +Design Toolkit Workflows +======================== -This page eleborates on the available workflows within MESIDO. +This page eleborates on the available Design TOolkit workflows within MESIDO. +The Design Toolkit is a subsidy funded project (NieuweWarmteNu) to help different organizatons in the Districht heating value chain with sketch and conceptual design of District Heating Systems (DHS). +For more information see : https://nwn.nu/projecten/innovaties/design-toolkit-warmtenetten/. MESIDO is by no means limited to only these workflows, but it is left to the user itself to define the most logical workflow if the ones below are unsuitable. Currently two main workflows are provided: @@ -56,24 +58,45 @@ In its default configuration the workflow has the following main assumptions: * The whole network is realized instantaneously, as a single year is optimized and extrapolated for the lifetime. * In reality the realization of DHS is done in phases over a period of years. Hence this assumption is not valid, but allows the user to judge the long term feasibilty of the DHS system. For closing business case computation the effects of phased realization should be taken into account. * Pressure drops are not taken into account, a maximum flow velocity of 3 m/s is used to limit the pressure-drop per meter in the pipes. - * This assumtions is ok/valid when the user is still in a phase where the exact location of (booster-)pumps is to be determined and hence limiting the sizing of pipes with pressuredrop calculations would not be representative. - * Note that EndScenarioSizingHeadLoss can be used when the user wants the pressuredrop functionality. + * This assumptions is ok/valid when the user is still in a phase where the exact location of (booster-)pumps is to be determined and hence limiting the sizing of pipes with pressuredrop calculations would not be representative. + * Note that EndScenarioSizingHeadLoss can be used when the user wants the pressure-drop functionality. * Investment costs are not discounted and all assets depreciate to zero over the system lifetime. * This assumption comes out of an initial development phase, by now EndScenarioDiscounted can be used. * It is assumed that the user provides sufficient possibilities to the optimizer to match the heat demands. * The optimization will become a lot slower in case demands cannot be satisfied. If the user cannot garuantee to have sufficient assets to fullfill the demand it is advised to use slack (peak) sources. * It is assumed that the tank storage in the network can only be used for intra day buffering and hence can only be used by the optimizer for the peak day. * If this assumption is not valid an extension of the workflow is required. -* It is assumed that seasonal storage is cyclic over calander year, meaning that at the beginning and end of the year the same amount of thermal energy must be stored in the seasonal storage. +* It is assumed that seasonal storage is cyclic over calendar year, meaning that at the beginning and end of the year the same amount of thermal energy must be stored in the seasonal storage. * This assumption is required to ensure that the results of a single year can be extrapolated over the lifetime. For the assumptions on the physics and cost modelling the reader is referred to the respective modelling pages. +EndScenarioSizingNoHeatLosses +----------------------------- + +The EndScenarioSizingNoHeatLosses workflow provides all the same functionality as the standard EndScenarioSizing, except that heat losses in the network are not modelled. +This means that the required thermal energy of the system is underestimated and hence mainly the OPEX will be underestimated. +This workflow has the advantage that it is much faster than the default EndScenarioSizing (typically > factor 10). +Therefore, it is recommended to use this workflow in the initial phases of analysis with larger networks. +This workflow will allows to make quicker iterations on the input ESDL file and debug posssible errors in a shorter time-frame. + +EndScenarioSizingNoHeatLosses workflow should not be used as a replacement of the EndScenarioSizing workflow as heat losses can be up to 20% of the demand and should not be neglected for design. + EndScenarioSizingDiscounted --------------------------- +The EndScenarioSizingDiscounted provides everything the EndScenarioSizing workflow provides, but also: + +* The ability to account for varying depreciation times of assets in the system. +* The ability to take into account a discount rate for the CAPEX of assets. EndScenarioSizingHeadLoss ------------------------- + +The EndScenarioSizingHeadLoss provides everything the EndScenarioSizing workflow provides, but also: + +* It takes into account the pressure drops in the network. +* It computes the hydraulic power and thereby the pumping power. It is assumed that every source will have a pump. The pumping cost will be computed with the electricity price profile if an electricity carrier is specified in the ESDL file. + diff --git a/docs/theory/electricity_physics.rst b/docs/theory/electricity_physics.rst new file mode 100644 index 000000000..1b84c2ff7 --- /dev/null +++ b/docs/theory/electricity_physics.rst @@ -0,0 +1,6 @@ +.. _chp_electricity_physics: + +Electricity Physics +=================== + +Coming soon... diff --git a/docs/theory/gas_physics.rst b/docs/theory/gas_physics.rst new file mode 100644 index 000000000..62161f48e --- /dev/null +++ b/docs/theory/gas_physics.rst @@ -0,0 +1,6 @@ +.. _chp_gas_physics: + +Gas Physics +=========== + +Coming soon... diff --git a/docs/theory/heat_physics.rst b/docs/theory/heat_physics.rst new file mode 100644 index 000000000..d6d8f6941 --- /dev/null +++ b/docs/theory/heat_physics.rst @@ -0,0 +1,358 @@ +.. _chp_heat_physics: + +Heat Physics +============ + +Mesido models thermal power (:math:`\dot{Q}`), volumetric flow (:math:`\dot{V}`), and head (:math:`H`) for DHS systems. +These variables are modelled over all time-steps :math:`K` and for each asset in the system :math:`A`. +An asset :math:`a \in A` in the system is modelled using a set of in-ports, denoted by :math:`I^a_{in} \neq \emptyset`, and a set of out-ports, denoted by :math:`I^a_{out} \neq \emptyset`, with :math:`I^a` denoting the union of these two sets. +For an asset :math:`a` the three variables :math:`\dot{Q}_i, \dot{V}_i`, and :math:`H_i` denote the thermal power, volumetric flow and head for port :math:`i \in I^a`. For readability, the variables and equations of the model, given below, are defined without indexing the variables and sets for each time-step. +The equations below are assumed to hold for every time-step, unless otherwise specified. + +Modelling specifically these three variables allows to ensure a hydraulically feasible solution whilst linearizing the physics. +Energy changes are modelled with the assumption of a constant temperature throughout the network. +Although this assumption is not realistic, the linearization made will show that the effects of these assumptions are relatively small and conservative to the objective function outcome. + +General Physics +--------------- + +The DHS is modelled as a closed loop system and thus at every time-step and for every asset, mass balance should hold. +The system is modeled with constant temperature and thus constant density and specific heat. The mass balance is provided as a volumetric flow balance in :eq:`eq:flow_balance`. + +.. math:: + :label: eq:flow_balance + + \sum_{i \in I^a} \dot{V}_{i} = 0 \;\; \forall a \in A + + +To garuantee energy balance :eq:`eq:general_energy_balance` is applied. + +.. math:: + :label: eq:general_energy_balance + + \sum_{i \in I} \dot{Q}_i + \dot{Q}^a_{consumed} = 0 \;\; \forall a \in A + +:math:`\dot{Q}^a_{consumed}` is the thermal power consumed by asset :math:`a`. +The power losses for the asset are included in this variable. Furthermore, the convention that positive consumed power is equal to thermal power production of an asset. + +Network Physics +--------------- + +Pipe +~~~~ +The main function of a pipe is to transport thermal power. +It loses part of this thermal power to the surroundings as the ambient temperature is lower, thus :math:`\dot{Q}^a_{consumed}` equals the (negative) losses incurred in the pipe in :eq:`eq:general_energy_balance`. + +The thermal power losses are approximated with :eq:`eq:heat_loss`, utilizing the Bohm model, :cite:`bohm`. + +.. math:: + :label: eq:heat_loss + + \dot{Q}^a_{consumed} = L^a( (U_2 - U_1)T_{amb} + U_1 T_{sup} - U_2 T_{ret})\delta^a_{discon} \forall a \in A_{pipes} + +where + +.. math:: + :label: eq:pipe_heat_loss_U1 + + U_1 = \frac{R_{subsoil} + R_{ins}}{(R_{subsoil} + R_{ins})^2 - R_{neighbour}^2} + +.. math:: + :label: eq:pipe_heat_loss_U2 + + U_2 = \frac{R_{neighbour}}{(R_{subsoil} + R_{ins})^2 - R_{neighbour}^2} + +.. math:: + :label: eq:pipe_heat_loss_Rins + + R_{ins} = \sum_i \frac{ln(\frac{d^a_{outer}}{d^a_{inner}})}{2\pi k} + +.. math:: + :label: eq:pipe_heat_loss_Rneigh + + R_{neighbour} = \frac{ln(1 + (2H/2d^a_{outer})^2)}{4 \pi k_{subsoil}}, + +.. math:: + + R_{subsoil} = \frac{ln(\frac{4H}{d^a_{outer}})}{2 \pi k_{subsoil} }. + +.. math:: + + \delta^a_{discon} \in \{0, 1\} \;\; \forall a \in A_{pipes} + +Here :math:`T_{sup}, T_{ret}`, and :math:`T_{amb}` are the supply, return and ambient temperatures. +:math:`A_{pipes}` is the set of pipes with :math:`L^a` the length of pipe :math:`a`. +:math:`\delta^a_{discon}` is a binary variable used to model if pipe :math:`a` is in use or not. +:math:`d^a_{inner}` and :math:`d^a_{outer}` are the inner and outer diameters of pipe :math:`a` and :math:`k_{subsoil}` is a constant used to model the resistance of the subsoil. +:math:`\delta^a_{discon}` is modelled using: + +.. math:: + + \dot{Q}_{i} + \delta_{discon}M \geq 0 \;\; \forall i \in I^{a} \;\; \forall a \in A_{pipes}, + +.. math:: + + \dot{Q}_{i} - \delta_{discon}M \leq 0 \;\; \forall i \in I^a \;\; \forall a \in A_{pipes}. + +Here :math:`M` is a sufficiently large constant used in a method called the big-M method \cite{vielma2015mixed}. + +The thermal power loss is approximated as a constant as the network supply and return temperature are assumed constant. +The source side supply temperature and demand side return temperature are selected to guarantee an overestimation of the thermal power loss, since in reality the temperature w.r.t. the ambient decreases as the temperature drops with the thermal power loss. + +Typical temperature drops in the primary network are up to 3 degrees, this implies that for medium temperature networks, operating at 75 degrees and with an ambient of 15 degrees, the error for the heat loss estimation is less than :math:`\frac{3}{75-15} = 5\%`. +During periods of larger heating demand, typically in the winter, the relative error in the heat loss estimation will be smaller and thus it will not result in unnecessary large pipe diameters and heat power production. + +Inequality constraints correlate the volumetric flow :math:`\dot{V}` and the heat flow :math:`\dot{Q}` through pipes as a compensation of heat losses is required: + +.. math:: + :label: eq:pipe_heat2discharge1 + + \dot{Q}_{i} - c_p \rho T^a \dot{V} - (1 - \delta^a_{dir})M \leq 0 \;\; \forall i \in I^a \;\; \forall a \in A_{pipes}, + +.. math:: + :label: eq:pipe_heat2discharge2 + + \dot{Q}_{i} - c_p \rho T^{a} \dot{V} + \delta^a_{dir}M \geq 0 \;\; \forall i \in I^a + \;\; \forall a \in A_{pipes}, + +.. math:: + :label: eq:pipe_flow_dir + + \delta^a_{dir} \in \{ 0, 1 \} \;\; \forall a \in A_{pipes}. + +Here :math:`T^a` is the temperature inside pipe :math:`a`, which is assumed to be either :math:`T_{sup}` or :math:`T_{ret}`, :math:`c_p` and :math:`\rho` are the specific heat capacity and density of water and :math:`M` is a sufficiently large constant number. :math:`\delta^a_{dir}` denotes the flow direction is used to model the flow direction through the pipe, where we assume that a value of :math:`1` indicates a positive flow (from in-port to out-port). This is modelled using: + +.. math:: + :label: eq:flowdir1 + + \dot{Q}^a_{i} - \delta^a_{dir}M \leq 0 \;\; \forall i \in I^a \;\; \forall a \in A_{pipes}, + +.. math:: + :label: eq:flowdir2 + + \dot{Q}_{i} + (1 - \delta_{dir})M \geq 0 \;\; \forall i \in I^{a} \;\; \forall a \in A_{pipes}. + +Within a hydraulically coupled system the volume is assumed to be preserved as result of the mass balance and constant temperature, therefore :eq:`eq:flow_balance` is applied to pipes. +Pipes give resistance opposing the flow in the flow of head loss, :math:`dH`. This head loss must be compensated by pumps which are assumed to be located at sources and storage assets: + +.. math:: + :label: eq:pipe_head + + H^a_{in} - dH = H^a_{out} \;\; \forall a \in A_{pipes}. + +In reality the steady-state head losses are closely modelled with a quadratic relation w.r.t. :math:`\dot{V}`. To approximate the quadratic behaviour a set of linear inequalities is used, see :numref:`inequalitydH`. The general form of the inequalities is given below in :eq:`eq:pipe_head_loss1`-:eq:`eq:pipe_hp2` These inequalities force the head loss to be greater or equal to the approximated quadratic curve. Although this will not enforce a physically feasible answer the optimizer will in practice drag the solution to an equality constraint as the objective function will minimize cost that reduces with lower pressure drop. + +.. _inequalitydH: + +.. figure:: ../images/linearlines.png + :figwidth: 6.94792in + :align: center + + Schematic visualization of how the linear constraints are fitted to the head loss curve. + +This method with linear inequalities is only valid when every unique route the flow can take in the network has a control valve to compensate non-physical head loss induced by the optimizer. This was a valid assumption for the use-case in this research, alternatively a (piece-wise) linear equality constraint between min and max flow-rate can be applied for cases where this assumption is invalid. + +Note that the big M method is used in combination with the flow direction integers to allow the inequality constraints to work both for positive and negative flow and to allow for disabling the constraints when no flow is going through the pipe. + +.. math:: + :label: eq:pipe_head_loss1 + + dH - (\alpha_j \dot{V} + \beta_j) + (\delta^a_{discon} + 1-\delta^a_{dir})M\geq 0 \\ \forall (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, + +.. math:: + :label: eq:pipe_head_loss2 + + dH - (\alpha_j\dot{V} + \beta_j) - (\delta^a_{discon} + \delta^a_{dir})M\leq 0 \\ \forall (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}. + +Where :math:`(\alpha_j, \beta_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. + +Similar as with head loss the hydraulic power, :math:`HP^a`, required to overcome the head losses is modelled with a set of linear inequalities: + +.. math:: + :label: eq:pipe_hp1 + + HP^a - (c_j\dot{V} + d_j) + (\delta^a_{discon} + 1-\delta^a_{dir})M \geq 0 \\ + \forall (c_j, d_j) \;\; \forall a \in A_{pipes}, + +.. math:: + :label: eq:pipe_hp2 + + HP^a - (c_j\dot{V} + d_j) - (\delta_{discon}(k) - 1-\delta_{dir})M\geq 0 \\ + \forall (c_j, d_j) \;\; \forall a \in A_{pipes}. + +Here :math:`(c_j, d_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. + +Node +~~~~ + +A node needs to conserve the flow with :eq:`eq:flow_balance` and the energy with :eq:`eq:general_energy_balance` where no energy losses, production and consumption occurs. + +To make the solution hydraulically feasible it is enforced that all heads connected to the node have to be equal: + +.. math:: + :label: eq:node_head + + H_i = H^a \;\; \forall i \in I^a \;\; a \in A_{nodes}, + +where :math:`A_{nodes}` is the set of all nodes and :math:`H^a` is the headloss for node :math:`a`. + +Asset Physics +------------- + +Source +~~~~~~ + +The main function of a source is to add thermal power to the network that can be consumed, or is lost to the ambient. +The energy balance of the addition of thermal power is ensured by :eq:`eq:general_energy_balance` with :math:`\dot{Q}^a_{consumed}` is set to the (negative) value of the produced amount of heat. + +The addition of energy is executed by increasing the temperature of the incoming cold water of the return network to the outgoing supply temperature. +Therefore, the volumetric flow-rate is linked to the outgoing thermal power with the outgoing supply temperature using: +% + +.. math:: + :label: eq:source_heat2discharge + + \sum_{i \in I^a_{out}} \dot{Q}^a_i = c_p \rho \dot{V}^a T_{sup} \;\; \forall a \in A_{prod}, + +with :math:`A_{prod}` the set of all producers. Note that we assume that every producer has only a single in- and a single out-port. + +This equality constraint ensures that the thermal power cannot be larger than what physically can be transported by the flow. Applying only equality constraints on the outgoing heat of assets, except from pipes, allows to consider temperature regimes, their corresponding heat losses and volumetric flows without modelling the temperature. +No constraints are set on the returning flow to the producer as this is already implied by heat flow constraints on pipes. The optimizer will drag the solution to the minimum amount of thermal power to produce for minimizing cost. + +The errors as a result of not modelling the temperature, e.g. linearizing the problem, can be observed in various parts of the costs. +The heat losses will be overestimated resulting in a conservative estimation w.r.t. the cost of the thermal energy produced. +Furthermore, the overestimation in thermal power will result in an overestimation of the flow and thus of the transportation and pipe sizing cost. + +It is assumed that the source acts within the hydraulically coupled network and does not add or subtract mass, which under the assumption of constant temperature ensures the flow balance :eq:`eq:flow_balance`. + +It is assumed that every source has a pump to reach its desired flow-rate and head: + +.. math:: + :label: eq:source_pump_dh + + H^a_{in} + dH_{pump} = H^a_{out} \;\; \forall a \in A_{prod}. + +Since we assume that a producer has only a single in- and a single out-port, :math:`H^a_{in}` and :math:`H^a_{out}` are the head values of the specific pipes connected to these ports, and :math:`dH_{pump}` is the compensation provided by the pump of the asset. + +Demand +~~~~~~ + +Contrary to a source, a demand's function is to extract thermal power from the network, defined by :eq:`eq:general_energy_balance` where :math:`\dot{Q}^a_{consumed}` is the consumed thermal energy by the demand. + +Likewise to a source, no additional constraints are required to link the heat flow and volumetric flow at the in-going supply side of the demand as this is already implied by all other network constraints. +An equality constraint is used to link outgoing thermal power and volumetric flow with the return temperature of the network: + +.. math:: + :label: eq:consumer_heat2discharge + + \sum_{i \in I^a_{out}} \dot{Q}^a_i = c_p \rho \dot{V}^a T_{ret} \;\; \forall a \in A_{demand}, + +where :math:`A_{demand}` is the set of demand assets. + +Important to note, is that this combination of constraints for the producers and demands, results in a smaller achieved temperature difference at the demand than the difference between the given temperatures for the supply and return side. And a larger achieved temperature difference at the producer. +The choice on where a temperature is fixed results in different errors as already explained at the producers. + +Again it is assumed that a demand also acts within the hydraulically coupled system under the same assumptions, see :eq:`eq:flow_balance`. + +Every demand is assumed to have a control valve to regulate its flow. Typically, a minimum head loss should be maintained: + +.. math:: + :label: eq:demand_head + + H^a_{in} - dH_{valve} = H^a_{out} \;\; \forall a \in A_{demand}. + +Storage +~~~~~~~ + +Storage assets in the network can have the function to add time flexibility with the production and consumption of energy in the network. For shorter periods this capability is provided by tanks, storage over seasons is done with \gls{ht-ates}, \cite{drijver2019state}. Both are modelled with equivalent logic and their own specific parameters. + +The amount of thermal power extracted from or provided to the network subtracted by the losses in the storage is defined as :math:`\dot{Q}^{a}_{consumed}` by: + +.. math:: + :label: eq:change_stored_heat + + \dot{Q}^{a}_{consumed} = \sum_{i \in I^a_{in}} \dot{Q}^{a}_{i} - \sum_{i \in I^a_{out}} \dot{Q}^{a}_{i} - \dot{Q}^{a}_{loss} \;\; \forall a \in A_{storage}, + +where :math:`\dot{Q}^{a}_{in}`, :math:`\dot{Q}^{a}_{out}` and :math:`\dot{Q}^{a}_{loss}` define the heat entering, leaving and heat loss of the storage asset respectively. +The consumed heat of the storage assets is equated to the change change in stored heat, :math:`\dot{Q}^{a}_{stored}`: + + +.. math:: + :label: eq:stored_heat + + \dot{Q}^{a}_{consumed} = \dot{Q}^{a}_{stored} \;\; \forall a \in A_{storage} + + +The storage needs an equality constraints for thermal power to volumetric flow on the outgoing flow to the supply network when it is discharging and acting like a source and on the outgoing flow to the return network when it is charging and acting like a demand. +This is achieved by using the big M method to activate the constraints during charging, :eq:`eq:storage_heat2discharge1` and :eq:`eq:storage_heat2discharge2`, and during discharging, :eq:`eq:storage_heat2discharge3` and :eq:`eq:storage_heat2discharge4`. +For this purpose the flow direction integer of the connecting pipe is used, such that :math:`\delta_{dir}` is 1 for charging. + +.. math:: + :label: eq:storage_heat2discharge1 + + \sum_{i \in I^a_{in}} \dot{Q}^{a}_{i} - c_p \rho \dot{V}^{a} T_{sup} \leq 0 \;\; \forall a \in A_{storage} + +.. math:: + :label: eq:storage_heat2discharge2 + + \sum_{i \in I^a_{in}} \dot{Q}^{a}_{i} - c_p \rho \dot{V}^{a} T_{sup} + \delta^{a}_{dir} M \geq 0 \;\; \forall a \in A_{storage} + +.. math:: + :label: eq:storage_heat2discharge3 + + \sum_{i \in I^a_{out}} \dot{Q}^{a}_{i} - c_p \rho \dot{V}^{a} T_{ret} \geq 0 \;\; \forall a \in A_{storage} + +.. math:: + :label: eq:storage_heat2discharge4 + + \sum_{i \in I^a_{out}} \dot{Q}^{a}_{i} - c_p \rho \dot{V}^{a} T_{ret} - (1-\delta^{a}_{dir}) M \leq 0 \;\; \forall a \in A_{storage} + +For simplicity it is assumed that the loss scales linearly with the amount of stored heat: + +.. math:: + :label: eq:storage_loss + + \dot{Q}^{a}_{loss} = \beta^{a} Q^{a}_{stored} \;\; \forall a \in A_{storage}, + +where :math:`Q^{a}_{stored}` is the heat stored in the storage asset and :math:`\beta` is the efficiency factor. + +For tanks it is assumed that they are cylindrical and radiate heat over their their surface area. This is done as this surface area increases linearly with the stored heat, see :eq:`eq:etatank`. A radiation coefficient, :math:`c_r`, of 1 :math:`W/m^2` is used as an approximation. + +.. math:: + :label: eq:etatank + + \beta_{tank} = \frac{2c_r}{r\rho c_p} + +For an \gls{ht-ates} a first approximation for heat loss is based on an efficiency that is reached in a period of time. In this research a value of 70\% over 100 days is used. + +.. math:: + + \beta_{HTATES} = \eta^{\frac{1}{time}} + + +Similarly as for the other assets the storage assets are assumed to act within the hydraulically coupled system, nonetheless the volumetric flow balance requires additional equations. +The storage is modelled as an asset with two variable volumes, one for the cold and one for the warm water. The total in- and outflow of the storage will be equal, however, the volumes inside the storage might vary under the condition that the sum remains constant and is equal to the total volume of storage:%, modelled using :eq:`eq:storage_volume_constant`. + +.. math:: + :label: eq:storage_volume_constant + + \dot{V}^{a}_{warm}-\dot{V}^{a}_{cold}=0 \;\; \forall a \in A_{storage}, + +where :math:`\dot{V}^{a}_{warm}` and :math:`\dot{V}^{a}_{cold}`, respectively denote the change in volume of the warm and cold water. +The warm volume will increase and decrease with the volumetric flow passing the storage: + +.. math:: + :label: eq:storage_volume_change + + \dot{V}^{a}-\dot{V}^{a}_{warm}=0 \;\; \forall a \in A_{storage}. + +The storage assets are assumed to have both a pump and a valve to regulate their flow rate: + +.. math:: + :label: eq:source_pump + + H^{a}_{in} + dH^{a}_{pump} - dH^{a}_{valve} = H^{a}_{out} \;\; \forall a \in A_{storage}, + +where :math:`dH^{a}_{pump}` is a compensation of the pressure increase by the pump of the storage asset and :math:`dH^{a}_{valve}` is a compensation of the pressure decrease by the control valve of the storage asset. + + diff --git a/docs/theory/index.rst b/docs/theory/index.rst index b2e20649d..bee9df268 100644 --- a/docs/theory/index.rst +++ b/docs/theory/index.rst @@ -1,9 +1,12 @@ .. toctree:: :maxdepth: 3 + :numbered: introduction code_structure + philosophy + physics + heat_physics + electricity_physics + gas_physics Workflows - approach - Validation_pipe_diameter_sizing - pipe_classes diff --git a/docs/theory/introduction.rst b/docs/theory/introduction.rst index 1bbc07549..78e5477f0 100644 --- a/docs/theory/introduction.rst +++ b/docs/theory/introduction.rst @@ -1,3 +1,5 @@ +.. _chp_introduction: + Introduction ============ diff --git a/docs/theory/philosophy.rst b/docs/theory/philosophy.rst new file mode 100644 index 000000000..95177ea66 --- /dev/null +++ b/docs/theory/philosophy.rst @@ -0,0 +1,18 @@ +.. _chp_philosophy: + + +Modelling Philosophy +==================== + +Conceptual design with operational strategy for energy systems starts simultaneously with the initial feasibility studies. +This early phase is challenging as it comes with many uncertainties, such as the expected demand profiles, and the many possibilities of choices of the design, e.g. network routing, sizing, and multiple optional locations for assets as sources and storages. + +Nevertheless, in practice it is seen that the decisions made in these early phases are crucial for the eventual system performance, as they set the boundaries for interactions between assets and sub-parts of the overall energy system. +Later design phases can therefore be limited by decisions made during the initial feasibility phases. +Good trade-offs take into account the interaction between assets, but also trade-offs between design and operational strategy are key in reducing the overall system cost. + +Mesido applies a Mixed Integer Linear Problem (MILP) formulation to adress these challenges. The main reasons are: + +* The early phases of designing the energy system decision makers are typically not looking for high accuracy physical insight, but rather for directions in investment choices. Hence MILP approximation methods that are conservative and feasible whilst staying within accuracy bounds of the available input data suffice. This allows the decision makers to make plans in this early phase with lower financial risk as plans will become more detailed over time. +* Part of the decisions for designing an energy system have an integer nature, e.g. placing a source or options for a pipe size. These design choices cannot be modelled with continuous formulation in a representative manner. +* Due to the large number of uncertainties it is key to have the ability to iterate quickly over input data variations. The computational speed of the optimization is therefore of vital importance. Ideally, the user should be able to do many iterations within one day. diff --git a/docs/theory/physics.rst b/docs/theory/physics.rst new file mode 100644 index 000000000..e86ec6b90 --- /dev/null +++ b/docs/theory/physics.rst @@ -0,0 +1,41 @@ +.. _chp_physics: + +Physics +======= + +Within Mesido the physics are approximated utilizing the mixed integer linear constraints. +The goal within Mesido is to approximate the physics in such a way that the approximation errors result in conservative estimates on the financial aspects of the system, e.g. overestimating cost and underestimating revenue. +To cater for different design phases different approximation fidelities can be configuration in Mesido. +Examples include the approximation of head loss which can be ignored or approximated with multiple linear constraints. +Mesido allows for the integral optimization of energy systems having: + +* A heat commodity (closed loop district heating networks where water is used as the medium) +* A gaseous commodity where pipes transport the gas. +* Electricity commodity where cables transport the energy + +There are documentation pages for the three respective commodities and the physics that are modelled for each. This page will focus on the assets, physics and other functionality that generalizes over the commodities. + +Electrolyzer +------------ + + +Water-water Heat Pump Electrical +-------------------------------- + + + +Air-water Heat Pump Electrical +------------------------------ + + +Electrical Boiler +----------------- + + +Gas Boiler +---------- + + +Setpoint Constraints +-------------------- + From 1abc4c651f43dd65459ce5aab15202f1aabf93c6 Mon Sep 17 00:00:00 2001 From: Rojer Date: Mon, 29 Apr 2024 14:25:28 +0200 Subject: [PATCH 107/376] wip --- docs/conf.py | 25 ++++++++++++++++++++++++- docs/index.rst | 2 +- docs/references.bib | 11 +++++++++++ docs/theory/heat_physics.rst | 26 ++++++++++++++------------ docs/theory/physics.rst | 3 ++- 5 files changed, 52 insertions(+), 15 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 59b44a3be..5a95414ee 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -80,8 +80,31 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # + + html_theme = 'sphinx_rtd_theme' -html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] +# html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] +html_theme_options = { + 'analytics_id': 'G-XXXXXXXXXX', # Provided by Google in your dashboard + 'analytics_anonymize_ip': False, + 'logo_only': False, + 'display_version': True, + 'prev_next_buttons_location': 'bottom', + 'style_external_links': False, + 'vcs_pageview_mode': '', + # 'style_nav_header_background': 'ba', + # Toc options + 'collapse_navigation': False, + 'sticky_navigation': False, + 'navigation_depth': 3, + 'includehidden': False, + 'titles_only': False +} + +# html_theme_options = { +# 'navigation_depth': -1, +# +# } # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, diff --git a/docs/index.rst b/docs/index.rst index 90c090234..b59ba0cfc 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,7 +6,7 @@ This is the documentation for MESIDO. .. toctree:: - :maxdepth: 2 + :maxdepth: 4 :caption: Mesido theory/index diff --git a/docs/references.bib b/docs/references.bib index ecafe4f16..c627143c0 100644 --- a/docs/references.bib +++ b/docs/references.bib @@ -6,6 +6,17 @@ @Book{Pothof2011 isbn = {978-90-89577-018-5}, } +@article{vielma2015mixed, + title={Mixed integer linear programming formulation techniques}, + author={Vielma, Juan Pablo}, + journal={Siam Review}, + volume={57}, + number={1}, + pages={3--57}, + year={2015}, + publisher={SIAM} +} + @article{bohm, author = {Bøhm, Benny and Kristjansson, Halldor}, title = {Single, twin and triple buried heating pipes: on potential savings in heat losses and costs}, diff --git a/docs/theory/heat_physics.rst b/docs/theory/heat_physics.rst index d6d8f6941..7869849ea 100644 --- a/docs/theory/heat_physics.rst +++ b/docs/theory/heat_physics.rst @@ -17,7 +17,8 @@ General Physics --------------- The DHS is modelled as a closed loop system and thus at every time-step and for every asset, mass balance should hold. -The system is modeled with constant temperature and thus constant density and specific heat. The mass balance is provided as a volumetric flow balance in :eq:`eq:flow_balance`. +The system is modeled with constant temperature and thus constant density and specific heat. +The mass balance is provided as a volumetric flow balance in :eq:`eq:flow_balance`. .. math:: :label: eq:flow_balance @@ -80,11 +81,11 @@ where \delta^a_{discon} \in \{0, 1\} \;\; \forall a \in A_{pipes} -Here :math:`T_{sup}, T_{ret}`, and :math:`T_{amb}` are the supply, return and ambient temperatures. -:math:`A_{pipes}` is the set of pipes with :math:`L^a` the length of pipe :math:`a`. -:math:`\delta^a_{discon}` is a binary variable used to model if pipe :math:`a` is in use or not. +:math:`T_{sup}, T_{ret}`, and :math:`T_{amb}` represent the supply, return and ambient temperatures. +:math:`A_{pipes}` define the set of pipes with :math:`L^a` being the length of pipe :math:`a`. +:math:`\delta^a_{discon}` is a boolean variable to model if pipe :math:`a` is in use for a specific time-step. :math:`d^a_{inner}` and :math:`d^a_{outer}` are the inner and outer diameters of pipe :math:`a` and :math:`k_{subsoil}` is a constant used to model the resistance of the subsoil. -:math:`\delta^a_{discon}` is modelled using: +:math:`\delta^a_{discon}` is modelled by: .. math:: @@ -94,15 +95,15 @@ Here :math:`T_{sup}, T_{ret}`, and :math:`T_{amb}` are the supply, return and am \dot{Q}_{i} - \delta_{discon}M \leq 0 \;\; \forall i \in I^a \;\; \forall a \in A_{pipes}. -Here :math:`M` is a sufficiently large constant used in a method called the big-M method \cite{vielma2015mixed}. +Here :math:`M` is a sufficiently large constant used in a method called the big-M method :cite:`vielma2015mixed`. -The thermal power loss is approximated as a constant as the network supply and return temperature are assumed constant. -The source side supply temperature and demand side return temperature are selected to guarantee an overestimation of the thermal power loss, since in reality the temperature w.r.t. the ambient decreases as the temperature drops with the thermal power loss. +The thermal power loss is assumed to be constant as the pipe temperature is assumed to be constant. +The outgoing temperatures at the assets (e.g. supply at the source and return at the demand) are used to ensure an overestimation of the thermal loss. In reality the temperature w.r.t. the ambient decreases as the temperature drops over the pipe with the energy loss. -Typical temperature drops in the primary network are up to 3 degrees, this implies that for medium temperature networks, operating at 75 degrees and with an ambient of 15 degrees, the error for the heat loss estimation is less than :math:`\frac{3}{75-15} = 5\%`. -During periods of larger heating demand, typically in the winter, the relative error in the heat loss estimation will be smaller and thus it will not result in unnecessary large pipe diameters and heat power production. +Typical temperature drops in the primary network are up to 3 degrees, this implies that for medium temperature networks, operating at 75 degrees and with an ambient of 15 degrees, the error for the heat loss estimation is less than :math:`\frac{3}{75-15} \approx 5\%`. -Inequality constraints correlate the volumetric flow :math:`\dot{V}` and the heat flow :math:`\dot{Q}` through pipes as a compensation of heat losses is required: +Inequality constraints are used to relate the volumetric flow :math:`\dot{V}` and the heat flow :math:`\dot{Q}` through pipes as a compensation of heat losses is required. +Please note that the :math:`\dot{V}` and the heat flow :math:`\dot{Q}` will be related by equality constraints for the outgoing flow at the assets, ensuring that the thermal power propagates correctly through the network. .. math:: :label: eq:pipe_heat2discharge1 @@ -120,7 +121,8 @@ Inequality constraints correlate the volumetric flow :math:`\dot{V}` and the hea \delta^a_{dir} \in \{ 0, 1 \} \;\; \forall a \in A_{pipes}. -Here :math:`T^a` is the temperature inside pipe :math:`a`, which is assumed to be either :math:`T_{sup}` or :math:`T_{ret}`, :math:`c_p` and :math:`\rho` are the specific heat capacity and density of water and :math:`M` is a sufficiently large constant number. :math:`\delta^a_{dir}` denotes the flow direction is used to model the flow direction through the pipe, where we assume that a value of :math:`1` indicates a positive flow (from in-port to out-port). This is modelled using: +Here :math:`T^a` is the temperature inside pipe :math:`a`, :math:`c_p` and :math:`\rho` are the specific heat capacity and density of water and :math:`M` is a sufficiently large constant number. +:math:`\delta^a_{dir}` is the variable for flow direction in the pipe, where a value of :math:`1` indicates a positive flow (from in-port to out-port). This is modelled using: .. math:: :label: eq:flowdir1 diff --git a/docs/theory/physics.rst b/docs/theory/physics.rst index e86ec6b90..8b84ba57f 100644 --- a/docs/theory/physics.rst +++ b/docs/theory/physics.rst @@ -13,7 +13,8 @@ Mesido allows for the integral optimization of energy systems having: * A gaseous commodity where pipes transport the gas. * Electricity commodity where cables transport the energy -There are documentation pages for the three respective commodities and the physics that are modelled for each. This page will focus on the assets, physics and other functionality that generalizes over the commodities. +There are documentation pages for the three respective commodities and the physics that are modelled for each. +This page will focus on the assets, physics and other functionality that involves multiple commodities. Electrolyzer ------------ From 37344e7c547958e1e0daf7bfbbb9b105466d722f Mon Sep 17 00:00:00 2001 From: Rojer Date: Mon, 29 Apr 2024 16:42:02 +0200 Subject: [PATCH 108/376] a lot of documentation --- docs/references.bib | 7 ++ docs/theory/Workflows.rst | 8 +- docs/theory/asset_sizing.rst | 155 +++++++++++++++++++++++++++++++++++ docs/theory/financial.rst | 58 +++++++++++++ docs/theory/heat_physics.rst | 104 ++++++++++++----------- docs/theory/index.rst | 5 +- docs/theory/physics.rst | 15 ++-- 7 files changed, 295 insertions(+), 57 deletions(-) create mode 100644 docs/theory/asset_sizing.rst create mode 100644 docs/theory/financial.rst diff --git a/docs/references.bib b/docs/references.bib index c627143c0..f8e928417 100644 --- a/docs/references.bib +++ b/docs/references.bib @@ -32,6 +32,13 @@ @article{bohm year = {2005} } +@inproceedings{drijver2019state, + title={State of the art of HT-ATES in The Netherlands}, + author={Drijver, Benno and Bakema, Guido and Oerlemans, Peter}, + booktitle={European Geothermal Congress: Proceedings, Den Haag, Netherlands}, + year={2019} +} + @Article{Boehm2000, author = {Boehm, B.}, title = {On transient heat losses from buried district heating pipes}, diff --git a/docs/theory/Workflows.rst b/docs/theory/Workflows.rst index 37057e40d..4301a50f0 100644 --- a/docs/theory/Workflows.rst +++ b/docs/theory/Workflows.rst @@ -28,7 +28,7 @@ This workflow comes in a few variants that give the user the possibility to trad * EndScenarioSizingHeadLossDiscounted EndScenarioSizing ------------------ +~~~~~~~~~~~~~~~~~ The EndScenarioSizing workflow in short: @@ -72,7 +72,7 @@ In its default configuration the workflow has the following main assumptions: For the assumptions on the physics and cost modelling the reader is referred to the respective modelling pages. EndScenarioSizingNoHeatLosses ------------------------------ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The EndScenarioSizingNoHeatLosses workflow provides all the same functionality as the standard EndScenarioSizing, except that heat losses in the network are not modelled. This means that the required thermal energy of the system is underestimated and hence mainly the OPEX will be underestimated. @@ -84,7 +84,7 @@ EndScenarioSizingNoHeatLosses workflow should not be used as a replacement of th EndScenarioSizingDiscounted ---------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~ The EndScenarioSizingDiscounted provides everything the EndScenarioSizing workflow provides, but also: @@ -93,7 +93,7 @@ The EndScenarioSizingDiscounted provides everything the EndScenarioSizing workfl EndScenarioSizingHeadLoss -------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~ The EndScenarioSizingHeadLoss provides everything the EndScenarioSizing workflow provides, but also: diff --git a/docs/theory/asset_sizing.rst b/docs/theory/asset_sizing.rst new file mode 100644 index 000000000..0decf3643 --- /dev/null +++ b/docs/theory/asset_sizing.rst @@ -0,0 +1,155 @@ +.. _chp_asset_sizing: + +Asset Sizing +============ + +Mesido supports both the placing and sizing decision. +Where placement is the integer decision if an optional location is selected or not. +The integer for whether or not an asset is placed is govorned based on whether or not power is exchanged between the asset and other assets over the time horizon, see: + +.. math:: + :label: eq:max_placed_power + + \dot{Q}^{a}_{max}-q^{a}_{max}\delta^{a}_{placed} \leq 0 \;\; + +.. math:: + :label: eq:min_placed_power + + -\dot{Q}^{a}_{max}-q^{a}_{min}\delta^{a}_{placed} \leq 0 \;\; + +.. math:: + :label: eq:placement_variable + + \delta^{a}_{placed} \in \{0,1\} \;\; + +Where :math:`(q^{a}_{min}, q^{a}_{max})` the lower and upperbound of the power. + +For the sizing Mesido supports three general methods. +Depending on the physics can be applied to different assets. + +Continious Sizing +----------------- + +If an asset is continuously sized the max size var, :math:`x^{a}_{max}` must if given to be larger than the state, :math:`x^{a}`, (e.g. power) with which the size scales. + +.. math:: + :label: eq:limit_power_ates + + -x^{a}_{max}\leq x^{a} \leq x^{a}_{max} + +Sizing with aggregation +----------------------- + +If an asset is sized based on its aggregation count then the max size variable, :math:`x^{a}_{max}`, +will be bounded based on the amount of aggregations that exist for that asset. +Examples include the sizing of geothermal sources by their amount of wells, with the power per well. + +.. math:: + :label: eq:aggregationcount + + x^{a} \leq \delta^{a}_{aggr,count} X^{a}_{single,max} + +Sizing with integer modelling +----------------------------- + +The integer method can be used if the size of the asset is determined by a number of predefined sizes, :math:`\delta_{j,a}`. +Of all the availabe options a single option should be selected. + +.. math:: + :label: eq:pipe_size_selection + + \sum_{j\in S^{a}} \delta_{j,a} = 1 \;\; + +where: + +.. math:: + :label: eq:pipe_size_variable + + \delta_{j,a} \in \{0,1\} \;\; \forall j \in S^{a} + +The sizing integer can then be used to limit the max size variable, e.g. max flow for a pipe. + +.. math:: + :label: eq:flow_restric_pipe + + x^{a}_{max} - \sum_{j\in S^{a}} \bar{e_j}\delta_{j,a} \leq 0 \;\; + +where :math:`\bar{e_j}` denotes the max value for the state at that sizing option. + +Asset sizing method table +------------------------- + +.. list-table:: Asset Sizing Model + :widths: 25 25 25 25 50 + :header-rows: 1 + + * - Asset + - Sizing Constraints type + - Max Size variable + - Unit + - Notes + * - Heat source + - Continuous + - Max thermal power produced + - Watt + - ~ + * - Heat demand + - Continuous + - Max thermal power consumed + - Watt + - ~ + * - Heat storage: Tank + - Continuous + - tank size + - m3 + - ~ + * - Heat Storage: HT-ATES + - Aggregation Count + - Max thermal power produced + - [-] + - ~ + * - Geothermal (extension source) + - Aggregation Count + - Max thermal power produced + - [-] + - ~ + * - Heat Exchanger + - Continuous + - Max thermal Secondary Power + - Watt + - ~ + * - Heat Pump + - Continuous + - Max thermal Secondary Power + - Watt + - ~ + * - Heat Exchanger + - Continuous + - Max thermal Secondary Power + - Watt + - ~ + * - Heat/Gas Pipe + - Integer + - Diameter + - [-] + - Constraints on max flow and insulation materials. + * - Electricity source + - Continuous + - Max electrical power produced + - Watt + - ~ + * - Electricity demand + - Continuous + - Max electrical power consumed + - Watt + - ~ + * - Gas source + - Continuous + - Max max flow produced + - Watt + - ~ + * - Gas demand + - Continuous + - Max mass flow consumed + - Watt + - ~ diff --git a/docs/theory/financial.rst b/docs/theory/financial.rst new file mode 100644 index 000000000..b8f87ba09 --- /dev/null +++ b/docs/theory/financial.rst @@ -0,0 +1,58 @@ +.. _chp_financial: + +Financial +========= + +Mesido offers the posibility to model the cost and revenues based on the design and operation of the energy system. +The asset cost modelling includes both the CAPEX and OPEX over the time-horizon of the optimization. + +Asset Cost Modelling +-------------------- + +The asset cost modelling breaks down in four categories in which both the CAPEX and OPEX aspects are captured. +The four categories help the optimizer in making both continuous and integer sizing decisions. + +Installation Cost +~~~~~~~~~~~~~~~~~ + +Installation cost is part of the CAPEX and is the fixed amount of cost required to place a(n) (aggregation count) of the asset. +This cost component helps the optimization to make decision in placing assets when multiple equivalent asset options are available. + +.. math:: + :label: eq:installation + + Cost_{installation} = C^{a}_{install} \delta^{a}_{aggr,count} + +Investment Cost +~~~~~~~~~~~~~~~ + +The investment cost is the CAPEX required that scales with the asset size. +The investment cost is the cost component that helps to find the minimum asset sizes. + +.. math:: + :label: eq:invest + + Cost_{investment} = C^{a}_{invest} x^{a}_{max} + + +Variable Operational Cost +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The variable operational cost is the cost component that depends on the useage of the asset over the time horizon. +Typically this is a power consumption or production, which is represented by :math:`x^{a}_{use}`. + +.. math:: + :label: eq:varopex + + Cost_{variable_{OPEX}} = \sum_{K} C^{a}_{variable_{OPEX}} x^{a}_{use} \Delta T_K + + +Fixed Operational Cost +~~~~~~~~~~~~~~~~~~~~~~ + +The fixed operational cost is the cost component that return every X time (typically every calendar year) based on the size of the asset. + +.. math:: + :label: eq:fixedopex + + Cost_{fixed_{OPEX}} = C^{a}_{fixed_{OPEX}} x^{a}_{max} diff --git a/docs/theory/heat_physics.rst b/docs/theory/heat_physics.rst index 7869849ea..d9e7801de 100644 --- a/docs/theory/heat_physics.rst +++ b/docs/theory/heat_physics.rst @@ -134,15 +134,17 @@ Here :math:`T^a` is the temperature inside pipe :math:`a`, :math:`c_p` and :math \dot{Q}_{i} + (1 - \delta_{dir})M \geq 0 \;\; \forall i \in I^{a} \;\; \forall a \in A_{pipes}. -Within a hydraulically coupled system the volume is assumed to be preserved as result of the mass balance and constant temperature, therefore :eq:`eq:flow_balance` is applied to pipes. -Pipes give resistance opposing the flow in the flow of head loss, :math:`dH`. This head loss must be compensated by pumps which are assumed to be located at sources and storage assets: +The head loss, :math:`dH` must be compensated by pumps which are assumed to be located at sources and storage assets: .. math:: :label: eq:pipe_head H^a_{in} - dH = H^a_{out} \;\; \forall a \in A_{pipes}. -In reality the steady-state head losses are closely modelled with a quadratic relation w.r.t. :math:`\dot{V}`. To approximate the quadratic behaviour a set of linear inequalities is used, see :numref:`inequalitydH`. The general form of the inequalities is given below in :eq:`eq:pipe_head_loss1`-:eq:`eq:pipe_hp2` These inequalities force the head loss to be greater or equal to the approximated quadratic curve. Although this will not enforce a physically feasible answer the optimizer will in practice drag the solution to an equality constraint as the objective function will minimize cost that reduces with lower pressure drop. +Steady-state head losses can be closely modelled with a quadratic relation w.r.t. :math:`\dot{V}`. +A set of linear inequalities is used, see :numref:`inequalitydH`, to approximate the quadratic curve. +The general form of the inequalities is given below in :eq:`eq:pipe_head_loss1`-:eq:`eq:pipe_hp2` These inequalities force the head loss to be greater or equal to the approximated quadratic curve. +Although the constraints by themselves will not guarantee a physically feasible answer, the optimization will in drag the solution to an equality constraint as the objective function will minimize cost which reduces with lower pressure drop. .. _inequalitydH: @@ -152,9 +154,12 @@ In reality the steady-state head losses are closely modelled with a quadratic re Schematic visualization of how the linear constraints are fitted to the head loss curve. -This method with linear inequalities is only valid when every unique route the flow can take in the network has a control valve to compensate non-physical head loss induced by the optimizer. This was a valid assumption for the use-case in this research, alternatively a (piece-wise) linear equality constraint between min and max flow-rate can be applied for cases where this assumption is invalid. +This method with linear inequalities is only valid when every unique route the flow can take in the network has a control valve to compensate non-physical head loss induced by the optimizer. +Alternatively a (piece-wise) linear equality constraint between min and max flow-rate can be configured for cases where this assumption is invalid. -Note that the big M method is used in combination with the flow direction integers to allow the inequality constraints to work both for positive and negative flow and to allow for disabling the constraints when no flow is going through the pipe. +KOBUS CAN YOU WRITE OUT THE EQUATIONS FOR THIS. + +Note that the big M method is used with the flow direction and disconnected integers to allow for modelling of bi-directional flow and the ability to disconnect pipes. .. math:: :label: eq:pipe_head_loss1 @@ -187,9 +192,9 @@ Here :math:`(c_j, d_j)` are the coefficients and constants of the linear equatio Node ~~~~ -A node needs to conserve the flow with :eq:`eq:flow_balance` and the energy with :eq:`eq:general_energy_balance` where no energy losses, production and consumption occurs. +The node conserves the flow with :eq:`eq:flow_balance` and the energy with :eq:`eq:general_energy_balance`. -To make the solution hydraulically feasible it is enforced that all heads connected to the node have to be equal: +All heads connected to the node must be equal to ensure hydraulically feasible solution: .. math:: :label: eq:node_head @@ -204,45 +209,43 @@ Asset Physics Source ~~~~~~ -The main function of a source is to add thermal power to the network that can be consumed, or is lost to the ambient. -The energy balance of the addition of thermal power is ensured by :eq:`eq:general_energy_balance` with :math:`\dot{Q}^a_{consumed}` is set to the (negative) value of the produced amount of heat. +The source adds thermal power to the network. +The energy balance is given by :eq:`eq:general_energy_balance` where :math:`\dot{Q}^a_{consumed}` is equal to the (negative) value of the produced heat. + +The addition of energy is executed by increasing the temperature of the incoming water (the return network) to the outgoing supply temperature. +Therefore, the volumetric flow-rate is linked to the outgoing thermal power with the outgoing supply temperature with equality constraints: -The addition of energy is executed by increasing the temperature of the incoming cold water of the return network to the outgoing supply temperature. -Therefore, the volumetric flow-rate is linked to the outgoing thermal power with the outgoing supply temperature using: -% .. math:: :label: eq:source_heat2discharge \sum_{i \in I^a_{out}} \dot{Q}^a_i = c_p \rho \dot{V}^a T_{sup} \;\; \forall a \in A_{prod}, -with :math:`A_{prod}` the set of all producers. Note that we assume that every producer has only a single in- and a single out-port. +where :math:`A_{prod}` is the set of all producers. -This equality constraint ensures that the thermal power cannot be larger than what physically can be transported by the flow. Applying only equality constraints on the outgoing heat of assets, except from pipes, allows to consider temperature regimes, their corresponding heat losses and volumetric flows without modelling the temperature. -No constraints are set on the returning flow to the producer as this is already implied by heat flow constraints on pipes. The optimizer will drag the solution to the minimum amount of thermal power to produce for minimizing cost. +The equality constraints ensure that the thermal power equals what can be physically transported by the flow. +No constraints are set on the returning flow at the in port, as this is already implied by the constraints on pipes. -The errors as a result of not modelling the temperature, e.g. linearizing the problem, can be observed in various parts of the costs. -The heat losses will be overestimated resulting in a conservative estimation w.r.t. the cost of the thermal energy produced. -Furthermore, the overestimation in thermal power will result in an overestimation of the flow and thus of the transportation and pipe sizing cost. +The modelling errors from not modelling temperature are present in various parts of the costs. +The heat losses will be overestimated giving an overestimate w.r.t. the cost of the thermal energy produced. +The overestimation of the thermal power required will induce an overestimation of the flow and thereby of the transportation and pipe sizing. -It is assumed that the source acts within the hydraulically coupled network and does not add or subtract mass, which under the assumption of constant temperature ensures the flow balance :eq:`eq:flow_balance`. +The source is assumed to act within one hydraulically coupled network, :eq:`eq:flow_balance`. -It is assumed that every source has a pump to reach its desired flow-rate and head: +A source is modelled with a pump to reach its desired flow-rate and head: .. math:: :label: eq:source_pump_dh H^a_{in} + dH_{pump} = H^a_{out} \;\; \forall a \in A_{prod}. -Since we assume that a producer has only a single in- and a single out-port, :math:`H^a_{in}` and :math:`H^a_{out}` are the head values of the specific pipes connected to these ports, and :math:`dH_{pump}` is the compensation provided by the pump of the asset. - Demand ~~~~~~ -Contrary to a source, a demand's function is to extract thermal power from the network, defined by :eq:`eq:general_energy_balance` where :math:`\dot{Q}^a_{consumed}` is the consumed thermal energy by the demand. +A demand extracts thermal power from the network, defined by :eq:`eq:general_energy_balance` where :math:`\dot{Q}^a_{consumed}` is the consumed thermal power. -Likewise to a source, no additional constraints are required to link the heat flow and volumetric flow at the in-going supply side of the demand as this is already implied by all other network constraints. -An equality constraint is used to link outgoing thermal power and volumetric flow with the return temperature of the network: +Similar to the source, no constraints are required at the in-going supply side of the demand, and +an equality constraint relates outgoing thermal power with volumetric flow: .. math:: :label: eq:consumer_heat2discharge @@ -251,12 +254,11 @@ An equality constraint is used to link outgoing thermal power and volumetric flo where :math:`A_{demand}` is the set of demand assets. -Important to note, is that this combination of constraints for the producers and demands, results in a smaller achieved temperature difference at the demand than the difference between the given temperatures for the supply and return side. And a larger achieved temperature difference at the producer. -The choice on where a temperature is fixed results in different errors as already explained at the producers. +The combination of constraints ate the producers and demands, results in a smaller achieved temperature difference at the demand than the difference between the given temperatures for the supply and return side, and a larger achieved temperature difference at the producer. -Again it is assumed that a demand also acts within the hydraulically coupled system under the same assumptions, see :eq:`eq:flow_balance`. +Similar as for the source the demand acts within one hydraulically coupled system under the same assumptions, see :eq:`eq:flow_balance`. -Every demand is assumed to have a control valve to regulate its flow. Typically, a minimum head loss should be maintained: +Every demand is modelled with a control valve to regulate its flow. In reality a minimum head loss is be maintained is ofter maintained: .. math:: :label: eq:demand_head @@ -266,28 +268,27 @@ Every demand is assumed to have a control valve to regulate its flow. Typically, Storage ~~~~~~~ -Storage assets in the network can have the function to add time flexibility with the production and consumption of energy in the network. For shorter periods this capability is provided by tanks, storage over seasons is done with \gls{ht-ates}, \cite{drijver2019state}. Both are modelled with equivalent logic and their own specific parameters. +Storage assets add time flexibility with the production and consumption of thermal power. For shorter intra-day periods this capability is provided by tanks, alternatively storage over seasons is done with underground thermal energy storage like HT-ATES, :cite:`drijver2019state`. -The amount of thermal power extracted from or provided to the network subtracted by the losses in the storage is defined as :math:`\dot{Q}^{a}_{consumed}` by: +:math:`\dot{Q}^{a}_{consumed}` can be defined by the thermal power substracted from or added to the network, where the internal losses of the storage are subtracted: .. math:: :label: eq:change_stored_heat - \dot{Q}^{a}_{consumed} = \sum_{i \in I^a_{in}} \dot{Q}^{a}_{i} - \sum_{i \in I^a_{out}} \dot{Q}^{a}_{i} - \dot{Q}^{a}_{loss} \;\; \forall a \in A_{storage}, + \dot{Q}^{a}_{consumed} = \sum_{i \in I^a_{in}} \dot{Q}^{a}_{i} - \sum_{i \in I^a_{out}} \dot{Q}^{a}_{i} - \dot{Q}^{a}_{loss} \;\; \forall a \in A_{storage}. -where :math:`\dot{Q}^{a}_{in}`, :math:`\dot{Q}^{a}_{out}` and :math:`\dot{Q}^{a}_{loss}` define the heat entering, leaving and heat loss of the storage asset respectively. The consumed heat of the storage assets is equated to the change change in stored heat, :math:`\dot{Q}^{a}_{stored}`: - .. math:: :label: eq:stored_heat \dot{Q}^{a}_{consumed} = \dot{Q}^{a}_{stored} \;\; \forall a \in A_{storage} - -The storage needs an equality constraints for thermal power to volumetric flow on the outgoing flow to the supply network when it is discharging and acting like a source and on the outgoing flow to the return network when it is charging and acting like a demand. -This is achieved by using the big M method to activate the constraints during charging, :eq:`eq:storage_heat2discharge1` and :eq:`eq:storage_heat2discharge2`, and during discharging, :eq:`eq:storage_heat2discharge3` and :eq:`eq:storage_heat2discharge4`. -For this purpose the flow direction integer of the connecting pipe is used, such that :math:`\delta_{dir}` is 1 for charging. +Like the source and demand assets the storage needs equality constraints relating the outgoing flow to the thermal power. +Unlike the demand and source the outgoing flow can be either on the in or out port depending whether the storage is charging or discharging. +The default convention is that charging indicates positive flow, therefore :math:`\delta_{dir}` can be used as an integer for charging/discharging. +Equations :eq:`eq:storage_heat2discharge1` and :eq:`eq:storage_heat2discharge2` are active during charging, and during discharging, +:eq:`eq:storage_heat2discharge3` and :eq:`eq:storage_heat2discharge4` are activated by the big M method. .. math:: :label: eq:storage_heat2discharge1 @@ -309,7 +310,10 @@ For this purpose the flow direction integer of the connecting pipe is used, such \sum_{i \in I^a_{out}} \dot{Q}^{a}_{i} - c_p \rho \dot{V}^{a} T_{ret} - (1-\delta^{a}_{dir}) M \leq 0 \;\; \forall a \in A_{storage} -For simplicity it is assumed that the loss scales linearly with the amount of stored heat: +Tank +^^^^ + +Heat loss in a tank is modelled as linear with the stored heat: .. math:: :label: eq:storage_loss @@ -318,29 +322,38 @@ For simplicity it is assumed that the loss scales linearly with the amount of st where :math:`Q^{a}_{stored}` is the heat stored in the storage asset and :math:`\beta` is the efficiency factor. -For tanks it is assumed that they are cylindrical and radiate heat over their their surface area. This is done as this surface area increases linearly with the stored heat, see :eq:`eq:etatank`. A radiation coefficient, :math:`c_r`, of 1 :math:`W/m^2` is used as an approximation. +The efficiency factor is approximated assuming that tanks are cylindrical and lose heat over their surface area, see :eq:`eq:etatank`. +For cylindrical tanks their surface area approximately increases linearly with the stored heat. +A radiation coefficient, :math:`c_r`, of 1 :math:`W/m^2` is used as an approximation. .. math:: :label: eq:etatank \beta_{tank} = \frac{2c_r}{r\rho c_p} -For an \gls{ht-ates} a first approximation for heat loss is based on an efficiency that is reached in a period of time. In this research a value of 70\% over 100 days is used. +HT-ATES +^^^^^^^ + +Two HT-ATES modelling methods are available. The first approximation for heat loss is based on an efficiency that is reached in a period of time. In this research a value of 70\% over 100 days is used. .. math:: \beta_{HTATES} = \eta^{\frac{1}{time}} +The second method: COMING SOON... + -Similarly as for the other assets the storage assets are assumed to act within the hydraulically coupled system, nonetheless the volumetric flow balance requires additional equations. -The storage is modelled as an asset with two variable volumes, one for the cold and one for the warm water. The total in- and outflow of the storage will be equal, however, the volumes inside the storage might vary under the condition that the sum remains constant and is equal to the total volume of storage:%, modelled using :eq:`eq:storage_volume_constant`. +Similarly as for the other assets the storage assets are assumed to act within the hydraulically coupled system, +nonetheless the volumetric flow balance requires additional equations. +The storage is modelled as an asset with a hot and cold volume. +The total volume will be conserved by the in- and outflow at the storage. .. math:: :label: eq:storage_volume_constant \dot{V}^{a}_{warm}-\dot{V}^{a}_{cold}=0 \;\; \forall a \in A_{storage}, -where :math:`\dot{V}^{a}_{warm}` and :math:`\dot{V}^{a}_{cold}`, respectively denote the change in volume of the warm and cold water. +where :math:`\dot{V}^{a}_{warm}` and :math:`\dot{V}^{a}_{cold}`, respectively denote the change in the hot and cold volume. The warm volume will increase and decrease with the volumetric flow passing the storage: .. math:: @@ -348,13 +361,12 @@ The warm volume will increase and decrease with the volumetric flow passing the \dot{V}^{a}-\dot{V}^{a}_{warm}=0 \;\; \forall a \in A_{storage}. -The storage assets are assumed to have both a pump and a valve to regulate their flow rate: +The storage assets are assumed to have both a pump and a valve, as they fulfill both the source and demand role: .. math:: :label: eq:source_pump H^{a}_{in} + dH^{a}_{pump} - dH^{a}_{valve} = H^{a}_{out} \;\; \forall a \in A_{storage}, -where :math:`dH^{a}_{pump}` is a compensation of the pressure increase by the pump of the storage asset and :math:`dH^{a}_{valve}` is a compensation of the pressure decrease by the control valve of the storage asset. diff --git a/docs/theory/index.rst b/docs/theory/index.rst index bee9df268..7153e8e9f 100644 --- a/docs/theory/index.rst +++ b/docs/theory/index.rst @@ -5,8 +5,11 @@ introduction code_structure philosophy + Workflows + financial + asset_sizing physics heat_physics electricity_physics gas_physics - Workflows + diff --git a/docs/theory/physics.rst b/docs/theory/physics.rst index 8b84ba57f..a2b1def27 100644 --- a/docs/theory/physics.rst +++ b/docs/theory/physics.rst @@ -16,27 +16,30 @@ Mesido allows for the integral optimization of energy systems having: There are documentation pages for the three respective commodities and the physics that are modelled for each. This page will focus on the assets, physics and other functionality that involves multiple commodities. +Multi-Commodity Asset Physics +----------------------------- + Electrolyzer ------------- +~~~~~~~~~~~~ Water-water Heat Pump Electrical --------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Air-water Heat Pump Electrical ------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Electrical Boiler ------------------ +~~~~~~~~~~~~~~~~~ Gas Boiler ----------- +~~~~~~~~~~ Setpoint Constraints --------------------- +~~~~~~~~~~~~~~~~~~~~ From 26a02d84599db0105c996523b9b37203ae0c0c4b Mon Sep 17 00:00:00 2001 From: Rojer Date: Mon, 29 Apr 2024 16:52:48 +0200 Subject: [PATCH 109/376] update the link in the ReadMe.txt --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index 0bea9ca74..4a85c4266 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,7 @@ The main supported method for defining your Energy system is ESDL (Energy System With ESDL you can define assets like demands, sources, pipes, etc. and fill in their attributes. The ESDLMixin class will parse the ESDL file and utilize the attributes to build up the model representation. -This optimization package was originally developed for operational optimization and hosts two -optimization approaches 1) A MILP approach -and 2) Nonlinear Problem (NLP) approach. These two approaches were developed to run sequentially for -operational optimization. the MILP would fix the integer decision for the NLP problem, such that only the continuous variables need to be solved. The NLP -problem would then find the optimized solution with the steady-state non-linear physics included. The existing outdated (still to be updated / update in progress) documentation can be found on: http://warmingup.pages.ci.tno.nl/rtc-tools-heat-network/ +The documentation on the mathematical modelling and workflow application can be found on: `readthedocs `. Installation ============ From a7b1f547aa83f5854cd396aa356e496919c0a3c4 Mon Sep 17 00:00:00 2001 From: Rojer Date: Wed, 1 May 2024 08:46:37 +0200 Subject: [PATCH 110/376] remove HeatMixin from readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4a85c4266..48e928593 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ mesido is an optimization application for optimal planning, design and operation of Energy Systems with the current main focus on District Heating Systems (DHS). The current application focuses on a Mixed Integer Linear Problem (MILP) approach, with multiple linearization strategies to conservatively approximate the steady-state physics and financial models. -All physics are combined in the HeatMixin class. When inherited this class can be combined with objective functions (that typically incorporate the financial aspects) and interface methods to create an +All physics, placement, sizing and financial models are combined in the TechnoEconomicMixin class. When inherited this class can be combined with objective functions (that typically incorporate the financial aspects) and interface methods to create an optimization workflow (see also running an example). The main supported method for defining your Energy system is ESDL (Energy System Description Language), which is a modelling language for energy systems. See also:https://github.com/EnergyTransition/ESDL. @@ -53,7 +53,7 @@ inherits from (Note only the *classes are defined in mesido the others come from - *ESDLMixin: This class does the parsing and setting up of a model based on an ESDL file. - GoalProgrammingMixin: This class allows you to add Goals (objective functions) with different priorities. - LinearizedOrderGoalProgrammingMixin: This class allows you to add higher order goals (e.g. order=2) for MILP problems. -- *HeatMixin: This class adds all the heat network physics for MILP problems. +- *TechnoEconomicMixin: This class adds all the network physics and sizing variables for MILP problems. Within the PipeDiameterSizingProblem class you can see that the path_goals() function is overwritten and that a path_goal with priority one is added to meet the heat demands. The definition path_goal is used From 4e1716d360789686e3d84813c754bc717db14842 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 1 May 2024 14:32:29 +0200 Subject: [PATCH 111/376] Bug fix - empty esdl string & testing thereof added --- .github/workflows/ci.yml | 15 +- src/mesido/esdl/esdl_mixin.py | 7 +- src/mesido/workflows/__init__.py | 2 + tests/test_updated_esdl_post_process.py | 225 +++++++++++++----------- tests/test_updated_esdl_pre_process.py | 19 +- 5 files changed, 153 insertions(+), 115 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 67d7ca3eb..a157f81aa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,6 +84,14 @@ jobs: name: updated_esdl_file path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized.esdl retention-days: 5 + + - name: Upload results + uses: actions/upload-artifact@v4 + with: + name: updated_esdl_string_file + path: examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_esdl_string.esdl + retention-days: 5 + # Post processing testing dependant on pre-processing test_post_processing: @@ -106,7 +114,12 @@ jobs: uses: actions/download-artifact@v4 with: name: updated_esdl_file - path: examples/PoCTutorial/model/ + path: examples/PoCTutorial/model/ + - name: Archive test artifacts + uses: actions/download-artifact@v4 + with: + name: updated_esdl_string_file + path: examples/PoCTutorial/model/ - name: Check test run: tox -vv -etest_env_post diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index f52058192..ebf9144fe 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -363,9 +363,10 @@ def convert_energy_system_to_string(energy_system: esdl.esdl.EnergySystem) -> st ------- An XML string representing the energy system """ - esh = esdl.esdl_handler.EnergySystemHandler(energy_system=energy_system) - esh.resource = XMLResource(uri=esdl.esdl_handler.StringURI("to_string.esdl")) - return esh.to_string() + + uri = esdl.esdl_handler.StringURI('to_string.esdl') + energy_system.eResource.save(uri) + return uri.getvalue() @staticmethod def save_energy_system_to_file(energy_system: esdl.esdl.EnergySystem, file_path: Path) -> None: diff --git a/src/mesido/workflows/__init__.py b/src/mesido/workflows/__init__.py index 587b188db..9790c989f 100644 --- a/src/mesido/workflows/__init__.py +++ b/src/mesido/workflows/__init__.py @@ -1,6 +1,7 @@ from .grow_workflow import ( EndScenarioSizing, EndScenarioSizingDiscountedHIGHS, + EndScenarioSizingDiscountedStagedHIGHS, EndScenarioSizingHIGHS, EndScenarioSizingStaged, EndScenarioSizingStagedHIGHS, @@ -20,6 +21,7 @@ __all__ = [ "EndScenarioSizing", "EndScenarioSizingDiscountedHIGHS", + "EndScenarioSizingDiscountedStagedHIGHS", "EndScenarioSizingHIGHS", "EndScenarioSizingStaged", "EndScenarioSizingStagedHIGHS", diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index b6e45c41b..090892a93 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -4,9 +4,13 @@ from pathlib import Path from unittest import TestCase +import esdl +from esdl.esdl_handler import EnergySystemHandler + from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import EndScenarioSizingStagedHIGHS + import numpy as np @@ -15,7 +19,8 @@ class TestUpdatedESDL(TestCase): def test_updated_esdl(self): """ Check that the updated ESDL resulting from the optmizer, is correct by using the PoCTutorial - and the Grow_workflow + and the Grow_workflow. This is done for the actual esdl file and the esdl string created by + MESIDO. Checks: - That the correct number of KPIs have been added @@ -51,128 +56,138 @@ def test_updated_esdl(self): ) problem.pre() - # test KPIs in optimized ESDL + # Load in optimized esdl in the form of esdl string created by MESIDO + esh = EnergySystemHandler() + file = os.path.join(base_folder, "model", "PoC Tutorial_GrowOptimized_esdl_string.esdl") + optimized_energy_system_esdl_string: esdl.EnergySystem = esh.load_file(file) + + # Load in optimized esdl in the form of the actual optimized esdl file created by MESIDO esdl_path = os.path.join(base_folder, "model", "PoC Tutorial_GrowOptimized.esdl") optimized_energy_system = problem._ESDLMixin__energy_system_handler.load_file(esdl_path) - # High level checks of KPIs - number_of_kpis_top_level_in_esdl = 8 - high_level_kpis_euro = [ - "High level cost breakdown [EUR]", - "Overall cost breakdown [EUR]", - "CAPEX breakdown [EUR]", - "OPEX breakdown [EUR]", - "Area_76a7: Asset cost breakdown [EUR]", - "Area_9d0f: Asset cost breakdown [EUR]", - "Area_a58a: Asset cost breakdown [EUR]", - ] - high_level_kpis_wh = [ - "Energy production [Wh]", - ] - all_high_level_kpis = [] - all_high_level_kpis = high_level_kpis_euro + high_level_kpis_wh - - np.testing.assert_allclose( - len(optimized_energy_system.instance[0].area.KPIs.kpi), number_of_kpis_top_level_in_esdl - ) - for ii in range(len(optimized_energy_system.instance[0].area.KPIs.kpi)): - kpi_name = optimized_energy_system.instance[0].area.KPIs.kpi[ii].name - np.testing.assert_array_equal( - kpi_name in all_high_level_kpis, - True, - err_msg=f"KPI name {kpi_name} was not expected in the ESDL", + optimized_energy_systems = [optimized_energy_system_esdl_string, optimized_energy_system] + + for energy_system in optimized_energy_systems: + # Test KPIs in optimized ESDL + + # High level checks of KPIs + number_of_kpis_top_level_in_esdl = 8 + high_level_kpis_euro = [ + "High level cost breakdown [EUR]", + "Overall cost breakdown [EUR]", + "CAPEX breakdown [EUR]", + "OPEX breakdown [EUR]", + "Area_76a7: Asset cost breakdown [EUR]", + "Area_9d0f: Asset cost breakdown [EUR]", + "Area_a58a: Asset cost breakdown [EUR]", + ] + high_level_kpis_wh = [ + "Energy production [Wh]", + ] + all_high_level_kpis = [] + all_high_level_kpis = high_level_kpis_euro + high_level_kpis_wh + + np.testing.assert_allclose( + len(energy_system.instance[0].area.KPIs.kpi), number_of_kpis_top_level_in_esdl ) - if kpi_name in high_level_kpis_euro: + for ii in range(len(energy_system.instance[0].area.KPIs.kpi)): + kpi_name = energy_system.instance[0].area.KPIs.kpi[ii].name np.testing.assert_array_equal( - optimized_energy_system.instance[0].area.KPIs.kpi[ii].quantityAndUnit.unit.name, - "EURO", + kpi_name in all_high_level_kpis, + True, + err_msg=f"KPI name {kpi_name} was not expected in the ESDL", ) - elif kpi_name in high_level_kpis_wh: - np.testing.assert_array_equal( - optimized_energy_system.instance[0].area.KPIs.kpi[ii].quantityAndUnit.unit.name, - "WATTHOUR", - ) - else: - exit(f"Unexpected KPI name: {kpi_name}") - - # Check the asset quantity - number_of_assets_in_esdl = 15 - np.testing.assert_allclose( - len(optimized_energy_system.instance[0].area.asset), number_of_assets_in_esdl - ) - # Check: - # - that the correct assets were removed - # - asset state - # - pipe diameter sizes - # - asset aggregation count - # - number of ports - # - number of connection to a port - asset_to_be_deleted = ["ResidualHeatSource_76f0", "Pipe_8fa5_ret", "Pipe_8fa5"] - for ii in range(len(optimized_energy_system.instance[0].area.asset)): - asset_name = optimized_energy_system.instance[0].area.asset[ii].name - # Existance of asset and its state - np.testing.assert_array_equal( - asset_name not in asset_to_be_deleted, - True, - err_msg=f"Asset name {asset_name} was not expected in the ESDL", - ) - np.testing.assert_array_equal( - optimized_energy_system.instance[0].area.asset[ii].state.name == "ENABLED", True - ) - - # Check pipe diameter - if ( - len( - fnmatch.filter([optimized_energy_system.instance[0].area.asset[ii].id], "Pipe*") - ) - == 1 - ): - if asset_name not in ["Pipe4", "Pipe4_ret", "Pipe5", "Pipe5_ret"]: + if kpi_name in high_level_kpis_euro: np.testing.assert_array_equal( - optimized_energy_system.instance[0].area.asset[ii].diameter.name, "DN400" + energy_system.instance[0].area.KPIs.kpi[ii].quantityAndUnit.unit.name, + "EURO", ) - else: + elif kpi_name in high_level_kpis_wh: np.testing.assert_array_equal( - optimized_energy_system.instance[0].area.asset[ii].diameter.name, - "DN300", - err_msg=f"Asset name {asset_name} was not expected in the ESDL", + energy_system.instance[0].area.KPIs.kpi[ii].quantityAndUnit.unit.name, + "WATTHOUR", ) - # Check aggregation count + else: + exit(f"Unexpected KPI name: {kpi_name}") + + # Check the asset quantity + number_of_assets_in_esdl = 15 + np.testing.assert_allclose( + len(energy_system.instance[0].area.asset), number_of_assets_in_esdl + ) + # Check: + # - that the correct assets were removed + # - asset state + # - pipe diameter sizes + # - asset aggregation count + # - number of ports + # - number of connection to a port + asset_to_be_deleted = ["ResidualHeatSource_76f0", "Pipe_8fa5_ret", "Pipe_8fa5"] + for ii in range(len(energy_system.instance[0].area.asset)): + asset_name = energy_system.instance[0].area.asset[ii].name + # Existance of asset and its state np.testing.assert_array_equal( - optimized_energy_system.instance[0].area.asset[ii].aggregationCount, - problem.get_aggregation_count_max(asset_name), + asset_name not in asset_to_be_deleted, + True, + err_msg=f"Asset name {asset_name} was not expected in the ESDL", ) - # Check the number of ports of the assets are as expected np.testing.assert_array_equal( - len(optimized_energy_system.instance[0].area.asset[ii].port), - len(problem.esdl_assets[asset_name].in_ports) - + len(problem.esdl_assets[asset_name].out_ports), + energy_system.instance[0].area.asset[ii].state.name == "ENABLED", True ) - # Check the number of connection to a port - optimized_energy_system.instance[0].area.asset[ii].port[1].name - for iport in range(len(optimized_energy_system.instance[0].area.asset[ii].port)): - if optimized_energy_system.instance[0].area.asset[ii].port[iport].name == "In": + + # Check pipe diameter + if ( + len( + fnmatch.filter([energy_system.instance[0].area.asset[ii].id], "Pipe*") + ) + == 1 + ): + if asset_name not in ["Pipe4", "Pipe4_ret", "Pipe5", "Pipe5_ret"]: + np.testing.assert_array_equal( + energy_system.instance[0].area.asset[ii].diameter.name, "DN400" + ) + else: np.testing.assert_array_equal( - len( - optimized_energy_system.instance[0] - .area.asset[ii] - .port[iport] - .connectedTo.items - ), - len(problem.esdl_assets[asset_name].in_ports), + energy_system.instance[0].area.asset[ii].diameter.name, + "DN300", + err_msg=f"Asset name {asset_name} was not expected in the ESDL", ) - if asset_name == "ResidualHeatSource_72d7": - asset_id = optimized_energy_system.instance[0].area.asset[ii].id - np.testing.assert_array_less( - optimized_energy_system.instance[0].area.asset[ii].power, - problem.esdl_assets[asset_id].attributes["power"], + # Check aggregation count + np.testing.assert_array_equal( + energy_system.instance[0].area.asset[ii].aggregationCount, + problem.get_aggregation_count_max(asset_name), + ) + # Check the number of ports of the assets are as expected + np.testing.assert_array_equal( + len(energy_system.instance[0].area.asset[ii].port), + len(problem.esdl_assets[asset_name].in_ports) + + len(problem.esdl_assets[asset_name].out_ports), ) + # Check the number of connection to a port + energy_system.instance[0].area.asset[ii].port[1].name + for iport in range(len(energy_system.instance[0].area.asset[ii].port)): + if energy_system.instance[0].area.asset[ii].port[iport].name == "In": + np.testing.assert_array_equal( + len( + energy_system.instance[0] + .area.asset[ii] + .port[iport] + .connectedTo.items + ), + len(problem.esdl_assets[asset_name].in_ports), + ) + if asset_name == "ResidualHeatSource_72d7": + asset_id = energy_system.instance[0].area.asset[ii].id + np.testing.assert_array_less( + energy_system.instance[0].area.asset[ii].power, + problem.esdl_assets[asset_id].attributes["power"], + ) - # High level check on the polygon areas drawn - number_of_areas_in_esdl = 3 - np.testing.assert_allclose( - len(optimized_energy_system.instance[0].area.area), number_of_areas_in_esdl - ) + # High level check on the polygon areas drawn + number_of_areas_in_esdl = 3 + np.testing.assert_allclose( + len(energy_system.instance[0].area.area), number_of_areas_in_esdl + ) if __name__ == "__main__": diff --git a/tests/test_updated_esdl_pre_process.py b/tests/test_updated_esdl_pre_process.py index 911742d33..749b03816 100644 --- a/tests/test_updated_esdl_pre_process.py +++ b/tests/test_updated_esdl_pre_process.py @@ -4,6 +4,7 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import run_end_scenario_sizing +# from mesido.workflows.io.write_output import ScenarioOutput class TestUpdatedESDL(TestCase): @@ -11,12 +12,10 @@ class TestUpdatedESDL(TestCase): def test_updated_esdl(self): """ Check that the updated ESDL resulting from the optmizer, is correct by using the PoCTutorial - and the Grow_workflow + and the Grow_workflow. This is done for the actual esdl file and the esdl string created by + MESIDO. For this purpose a network is optimized in this function and the optimized esdl file + and esdl string is saved. - Checks: - - That the correct number of KPIs have been added - - That the correct assets have been removed - - Check that all the assets have a state=ENABLED """ root_folder = str(Path(__file__).resolve().parent.parent) @@ -29,13 +28,21 @@ def test_updated_esdl(self): Path(examples.PoCTutorial.src.run_grow_tutorial.__file__).resolve().parent.parent ) - _ = run_end_scenario_sizing( + problem = run_end_scenario_sizing( EndScenarioSizingStagedHighs, base_folder=base_folder, esdl_file_name="PoC Tutorial.esdl", esdl_parser=ESDLFileParser, ) + optimized_esdl_string = problem.optimized_esdl_string + + file = open( + Path.joinpath(base_folder, "model", "PoC Tutorial_GrowOptimized_esdl_string.esdl"), "w" + ) + file.write(optimized_esdl_string) + file.close() + if __name__ == "__main__": import time From 8d651407f94ac8477de1773daf9e4d5e3f487749 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 1 May 2024 14:38:32 +0200 Subject: [PATCH 112/376] formatting --- src/mesido/esdl/esdl_mixin.py | 3 +-- tests/test_updated_esdl_post_process.py | 7 +------ tests/test_updated_esdl_pre_process.py | 1 - 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index ebf9144fe..f5ebb6750 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -7,7 +7,6 @@ from typing import Any, Dict, Optional import esdl.esdl_handler -from esdl.resources.xmlresource import XMLResource from mesido.component_type_mixin import ( ModelicaComponentTypeMixin, @@ -364,7 +363,7 @@ def convert_energy_system_to_string(energy_system: esdl.esdl.EnergySystem) -> st An XML string representing the energy system """ - uri = esdl.esdl_handler.StringURI('to_string.esdl') + uri = esdl.esdl_handler.StringURI("to_string.esdl") energy_system.eResource.save(uri) return uri.getvalue() diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 090892a93..4aa2e1c1a 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -136,12 +136,7 @@ def test_updated_esdl(self): ) # Check pipe diameter - if ( - len( - fnmatch.filter([energy_system.instance[0].area.asset[ii].id], "Pipe*") - ) - == 1 - ): + if len(fnmatch.filter([energy_system.instance[0].area.asset[ii].id], "Pipe*")) == 1: if asset_name not in ["Pipe4", "Pipe4_ret", "Pipe5", "Pipe5_ret"]: np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].diameter.name, "DN400" diff --git a/tests/test_updated_esdl_pre_process.py b/tests/test_updated_esdl_pre_process.py index 749b03816..fcd649414 100644 --- a/tests/test_updated_esdl_pre_process.py +++ b/tests/test_updated_esdl_pre_process.py @@ -4,7 +4,6 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import run_end_scenario_sizing -# from mesido.workflows.io.write_output import ScenarioOutput class TestUpdatedESDL(TestCase): From a200221bd04127597281e60b2fff94e862784a09 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 1 May 2024 14:40:31 +0200 Subject: [PATCH 113/376] formatting --- tests/test_updated_esdl_pre_process.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_updated_esdl_pre_process.py b/tests/test_updated_esdl_pre_process.py index fcd649414..f9f6f3a61 100644 --- a/tests/test_updated_esdl_pre_process.py +++ b/tests/test_updated_esdl_pre_process.py @@ -34,8 +34,8 @@ def test_updated_esdl(self): esdl_parser=ESDLFileParser, ) + # Save optimized esdl string optimized_esdl_string = problem.optimized_esdl_string - file = open( Path.joinpath(base_folder, "model", "PoC Tutorial_GrowOptimized_esdl_string.esdl"), "w" ) From e312daa2b63c7604b5efac04c599f36931f03622 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 1 May 2024 15:30:12 +0200 Subject: [PATCH 114/376] formatting --- tests/test_updated_esdl_post_process.py | 4 +++- tests/test_updated_esdl_pre_process.py | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 4aa2e1c1a..8a36f2d0b 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -20,9 +20,11 @@ def test_updated_esdl(self): """ Check that the updated ESDL resulting from the optmizer, is correct by using the PoCTutorial and the Grow_workflow. This is done for the actual esdl file and the esdl string created by - MESIDO. + MESIDO. Both these resulting optimized energy systems should be identical and it is only + the MESIDO esdl saving method that differs. Checks: + - That the esdl saving method (direct ESDL file and ESDL string) - That the correct number of KPIs have been added - That the correct assets have been removed - That all the assets have a state=ENABLED diff --git a/tests/test_updated_esdl_pre_process.py b/tests/test_updated_esdl_pre_process.py index f9f6f3a61..a3dc3e3a6 100644 --- a/tests/test_updated_esdl_pre_process.py +++ b/tests/test_updated_esdl_pre_process.py @@ -10,10 +10,10 @@ class TestUpdatedESDL(TestCase): def test_updated_esdl(self): """ - Check that the updated ESDL resulting from the optmizer, is correct by using the PoCTutorial - and the Grow_workflow. This is done for the actual esdl file and the esdl string created by - MESIDO. For this purpose a network is optimized in this function and the optimized esdl file - and esdl string is saved. + Check that the updated ESDL resulting from optmizing a network, is correct by using the + PoCTutorial and the Grow_workflow. This is done for the actual esdl file and the esdl + string created by MESIDO. Both these resulting optimized energy systems should be identical + and it is only the MESIDO esdl saving method that differs. """ From 3ab13f39d4cb6f05a36a62d160efd155e81e7b10 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 6 May 2024 08:31:33 +0200 Subject: [PATCH 115/376] 29 database restructuring for animation mode mapeditor (#60) Database restructuring of the results, to allow for the animation mode in mapeditor. The results are now structured according to the carrier. --- src/mesido/workflows/io/write_output.py | 399 +++++++++++++++--------- 1 file changed, 245 insertions(+), 154 deletions(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 17a824388..97fb8e31f 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -861,13 +861,17 @@ def _name_to_asset(name): # Important: This code below must be placed after the "Placement" code. Reason: it relies # on unplaced assets being deleted. # ------------------------------------------------------------------------------------------ - # Write asset result profile data to database. The datbase is setup as follows: - # - The each time step is represented by a row of data, with columns datetime, field + # Write asset result profile data to database. The database is setup as follows: + # - The each time step is represented by a row of data, with columns; datetime, field # values + # - The database contains columns based on the carrier connected for visualisation + # purposes + # - Assets with more than 1 carrier are looped over the time steps as many times as there + # are different carriers connected, to ensure the correct data is written to each carrier. # - Database name: input esdl id - # - Measurment: asset name + # - Measurment: carrier id # - Fields: profile value for the specific variable - # - Tags used as filters: output esdl id + # - Tags used as filters: simulationRun, assetClass, assetName, assetId, capability if self.write_result_db_profiles: logger.info("Writing asset result profile data to influxDB") @@ -892,6 +896,13 @@ def _name_to_asset(name): # verify_ssl=self.influxdb_verify_ssl, # ) + capabilities = [ + esdl.Transport, + esdl.Conversion, + esdl.Consumer, + esdl.Producer, + ] + for asset_name in [ *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_demand", []), @@ -904,6 +915,40 @@ def _name_to_asset(name): try: # If the asset has been placed asset = _name_to_asset(asset_name) + asset_class = asset.__class__.__name__ + asset_id = asset.id + capability = [c for c in capabilities if c in asset.__class__.__mro__][ + 0 + ].__name__ + + # Generate three empty variables, + # For transport and consumer assets, 'port' is filled with the inport + # For producer assets, 'port' is filled with outport as this is linked to the + # same carrier as the inport of consumers (thus all info in one carrier) + # For conversion assets, the primary side is acting like a consumer, the + # secondary side as a producer, thus a similar port structure is assumed, but + # now port_prim and port_sec variable are set, such that data can be saved for + # both carriers. + port, port_prim, port_sec = 3 * [None] + if isinstance(asset, esdl.Transport) or isinstance(asset, esdl.Consumer): + port = [port for port in asset.port if isinstance(port, esdl.InPort)][0] + elif isinstance(asset, esdl.Producer): + port = [port for port in asset.port if isinstance(port, esdl.OutPort)][0] + elif isinstance(asset, esdl.Conversion): + port_prim = [ + port + for port in asset.port + if isinstance(port, esdl.InPort) and "Prim" in port.name + ][0] + port_sec = [ + port + for port in asset.port + if isinstance(port, esdl.OutPort) and "Sec" in port.name + ][0] + else: + NotImplementedError( + f"influxdb not included for assets of type {type(asset)}" + ) # Note: when adding new variables to variables_one_hydraulic_system or" # variables_two_hydraulic_system also add quantity and units to the ESDL for @@ -946,174 +991,220 @@ def _name_to_asset(name): results[f"{asset_name}.HeatOut.Q"] / parameters[f"{asset_name}.area"] ) - profiles = ProfileManager() - profiles.profile_type = "DATETIME_LIST" - profiles.profile_header = ["datetime"] - - # Get index of outport which will be used to assign the profile data to - index_outport = -1 - for ip in range(len(asset.port)): - if isinstance(asset.port[ip], esdl.OutPort): - if index_outport == -1: - index_outport = ip - else: - logger.warning( - f"Asset {asset_name} has more than 1 OutPort, and the " - "profile data has been assigned to the 1st OutPort" - ) - break - - if index_outport == -1: - logger.error( - f"Variable {index_outport} has not been assigned to the asset OutPort" + # Depending on the port set, different carriers are assigned + if port: + carrier_id_dict = {"single_carrier_id": port.carrier.id} + elif port_prim and port_sec: + carrier_id_dict = { + "primary_carrier_id": port_prim.carrier.id, + "secondary_carrier_id": port_sec.carrier.id, + } + else: + NotImplementedError( + "Unsuported types for the different port carrier combinations" ) - sys.exit(1) - for ii in range(len(self.times())): - if not self.io.datetimes[ii].tzinfo: - data_row = [self.io.datetimes[ii].replace(tzinfo=datetime.timezone.utc)] - else: - data_row = [self.io.datetimes[ii]] + # Looping over the carrier_ids relevant for the asset + # If primary or secondary port are set, variables_to_hydraulic_system will be + # used, variable names linking to the secondary port are popped from the list + # when the primary port is selected and vice versa + variables_two_hydraulic_system_org = variables_two_hydraulic_system.copy() + for asset_side, carrier_id in carrier_id_dict.items(): + variables_two_hydraulic_system = variables_two_hydraulic_system_org.copy() + var_pops = [] + if asset_side == "primary_carrier_id": + var_pops = [ + v for v in variables_two_hydraulic_system if "Secondary" in v + ] + elif asset_side == "secondary_carrier_id": + var_pops = [v for v in variables_two_hydraulic_system if "Primary" in v] + for v in var_pops: + variables_two_hydraulic_system.remove(v) + + profiles = ProfileManager() + profiles.profile_type = "DATETIME_LIST" + profiles.profile_header = ["datetime"] # + general_headers + + # Get index of outport which will be used to assign the profile data to + index_outport = -1 + for ip in range(len(asset.port)): + if isinstance(asset.port[ip], esdl.OutPort): + if index_outport == -1: + index_outport = ip + else: + logger.warning( + f"Asset {asset_name} has more than 1 OutPort, and the " + "profile data has been assigned to the 1st OutPort" + ) + break - try: - # For all components dealing with one hydraulic system - if isinstance( - results[f"{asset_name}." + variables_one_hydraulic_system[0]][ii], - numbers.Number, - ): - variables_names = variables_one_hydraulic_system - except KeyError: - # For all components dealing with two hydraulic system - if isinstance( - results[f"{asset_name}." + variables_two_hydraulic_system[0]][ii], - numbers.Number, - ): - variables_names = variables_two_hydraulic_system - except Exception: + if index_outport == -1: logger.error( - f"During the influxDB profile writing for asset: {asset_name}, the " - "following error occured:" + f"Variable {index_outport} has not been assigned to the asset " + f"OutPort" ) - traceback.print_exc() sys.exit(1) - for variable in variables_names: - if ii == 0: - # Set header for each column - profiles.profile_header.append(variable) - # Set profile database attributes for the esdl asset - if not self.io.datetimes[0].tzinfo: - start_date_time = self.io.datetimes[0].replace( - tzinfo=datetime.timezone.utc - ) - logger.warning( - "No timezone specified for the output profile: default UTC" - f"has been used for asset {asset_name} variable {variable}" - ) - else: - start_date_time = self.io.datetimes[0] - if not self.io.datetimes[-1].tzinfo: - end_date_time = self.io.datetimes[-1].replace( - tzinfo=datetime.timezone.utc - ) - else: - end_date_time = self.io.datetimes[-1] - - profile_attributes = esdl.InfluxDBProfile( - database=input_energy_system_id, - measurement=asset_name, - field=profiles.profile_header[-1], - port=self.influxdb_port, - host=self.influxdb_host, - startDate=start_date_time, - endDate=end_date_time, - id=str(uuid.uuid4()), + for ii in range(len(self.times())): + if not self.io.datetimes[ii].tzinfo: + data_row = [ + self.io.datetimes[ii].replace(tzinfo=datetime.timezone.utc) + ] + else: + data_row = [self.io.datetimes[ii]] + + try: + # For all components dealing with one hydraulic system + if isinstance( + results[f"{asset_name}." + variables_one_hydraulic_system[0]][ + ii + ], + numbers.Number, + ): + variables_names = variables_one_hydraulic_system + except KeyError: + # For all components dealing with two hydraulic system + if isinstance( + results[f"{asset_name}." + variables_two_hydraulic_system[0]][ + ii + ], + numbers.Number, + ): + variables_names = variables_two_hydraulic_system + except Exception: + logger.error( + f"During the influxDB profile writing for asset: {asset_name}," + f" the following error occured:" ) - # Assign quantity and units variable - if variable in ["Heat_flow", "Pump_power"]: - profile_attributes.profileQuantityAndUnit = ( - esdl.esdl.QuantityAndUnitType( - physicalQuantity=esdl.PhysicalQuantityEnum.POWER, - unit=esdl.UnitEnum.WATT, - multiplier=esdl.MultiplierEnum.NONE, + traceback.print_exc() + sys.exit(1) + + for variable in variables_names: + if ii == 0: + # Set header for each column + profiles.profile_header.append(variable) + # Set profile database attributes for the esdl asset + if not self.io.datetimes[0].tzinfo: + start_date_time = self.io.datetimes[0].replace( + tzinfo=datetime.timezone.utc ) + logger.warning( + f"No timezone specified for the output profile: " + f"default UTC has been used for asset {asset_name} " + f"variable {variable}" + ) + else: + start_date_time = self.io.datetimes[0] + if not self.io.datetimes[-1].tzinfo: + end_date_time = self.io.datetimes[-1].replace( + tzinfo=datetime.timezone.utc + ) + else: + end_date_time = self.io.datetimes[-1] + + profile_attributes = esdl.InfluxDBProfile( + database=input_energy_system_id, + measurement=asset_name, + field=profiles.profile_header[-1], + port=self.influxdb_port, + host=self.influxdb_host, + startDate=start_date_time, + endDate=end_date_time, + id=str(uuid.uuid4()), ) - elif variable in [ + # Assign quantity and units variable + if variable in ["Heat_flow", "Pump_power"]: + profile_attributes.profileQuantityAndUnit = ( + esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.POWER, + unit=esdl.UnitEnum.WATT, + multiplier=esdl.MultiplierEnum.NONE, + ) + ) + elif variable in [ + "HeatIn.H", + "Primary.HeatIn.H", + "Secondary.HeatIn.H", + ]: + profile_attributes.profileQuantityAndUnit = ( + esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.PRESSURE, + unit=esdl.UnitEnum.PASCAL, + multiplier=esdl.MultiplierEnum.NONE, + ) + ) + elif variable in [ + "HeatIn.Q", + "Primary.HeatIn.Q", + "Secondary.HeatIn.Q", + ]: + profile_attributes.profileQuantityAndUnit = ( + esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.FLOW, + unit=esdl.UnitEnum.CUBIC_METRE, + perTimeUnit=esdl.TimeUnitEnum.SECOND, + multiplier=esdl.MultiplierEnum.NONE, + ) + ) + elif variable in ["PostProc.Velocity"]: + profile_attributes.profileQuantityAndUnit = ( + esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.SPEED, + unit=esdl.UnitEnum.METRE, + perTimeUnit=esdl.TimeUnitEnum.SECOND, + multiplier=esdl.MultiplierEnum.NONE, + ) + ) + else: + logger.warning( + f"No profile units will be written to the ESDL for: " + f"{asset_name}. + {variable}" + ) + + asset.port[index_outport].profile.append(profile_attributes) + + # Add variable values in new column + conversion_factor = 0.0 + if variable in [ "HeatIn.H", "Primary.HeatIn.H", "Secondary.HeatIn.H", ]: - profile_attributes.profileQuantityAndUnit = ( - esdl.esdl.QuantityAndUnitType( - physicalQuantity=esdl.PhysicalQuantityEnum.PRESSURE, - unit=esdl.UnitEnum.PASCAL, - multiplier=esdl.MultiplierEnum.NONE, - ) - ) - elif variable in [ - "HeatIn.Q", - "Primary.HeatIn.Q", - "Secondary.HeatIn.Q", - ]: - profile_attributes.profileQuantityAndUnit = ( - esdl.esdl.QuantityAndUnitType( - physicalQuantity=esdl.PhysicalQuantityEnum.FLOW, - unit=esdl.UnitEnum.CUBIC_METRE, - perTimeUnit=esdl.TimeUnitEnum.SECOND, - multiplier=esdl.MultiplierEnum.NONE, - ) - ) - elif variable in ["PostProc.Velocity"]: - profile_attributes.profileQuantityAndUnit = ( - esdl.esdl.QuantityAndUnitType( - physicalQuantity=esdl.PhysicalQuantityEnum.SPEED, - unit=esdl.UnitEnum.METRE, - perTimeUnit=esdl.TimeUnitEnum.SECOND, - multiplier=esdl.MultiplierEnum.NONE, - ) - ) + conversion_factor = GRAVITATIONAL_CONSTANT * 988.0 else: - logger.warning( - f"No profile units will be written to the ESDL for: " - f"{asset_name}. + {variable}" + conversion_factor = 1.0 + if variable not in ["PostProc.Velocity"]: + data_row.append( + results[f"{asset_name}." + variable][ii] * conversion_factor ) + # The variable evaluation below seems unnecessary, but it would be + # used we expand the list of post process type variables + elif variable in ["PostProc.Velocity"]: + data_row.append(post_processed_velocity[ii]) - asset.port[index_outport].profile.append(profile_attributes) + profiles.profile_data_list.append(data_row) + # end time steps + profiles.num_profile_items = len(profiles.profile_data_list) + profiles.start_datetime = profiles.profile_data_list[0][0] + profiles.end_datetime = profiles.profile_data_list[-1][0] - # Add variable values in new column - conversion_factor = 0.0 - if variable in [ - "HeatIn.H", - "Primary.HeatIn.H", - "Secondary.HeatIn.H", - ]: - conversion_factor = GRAVITATIONAL_CONSTANT * 988.0 - else: - conversion_factor = 1.0 - if variable not in ["PostProc.Velocity"]: - data_row.append( - results[f"{asset_name}." + variable][ii] * conversion_factor - ) - # The variable evaluation below seems unnecessary, but it would be used - # we expand the list of post process type variables - elif variable in ["PostProc.Velocity"]: - data_row.append(post_processed_velocity[ii]) - - profiles.profile_data_list.append(data_row) - # end time steps - profiles.num_profile_items = len(profiles.profile_data_list) - profiles.start_datetime = profiles.profile_data_list[0][0] - profiles.end_datetime = profiles.profile_data_list[-1][0] - - influxdb_profile_manager = InfluxDBProfileManager( - influxdb_conn_settings, profiles - ) - optim_simulation_tag = {"output_esdl_id": energy_system.id} - _ = influxdb_profile_manager.save_influxdb( - measurement=asset_name, - field_names=influxdb_profile_manager.profile_header[1:], - tags=optim_simulation_tag, - ) + influxdb_profile_manager = InfluxDBProfileManager( + influxdb_conn_settings, profiles + ) + + optim_simulation_tag = { + "simulationRun": energy_system.id, + "simulation_type": type(self).__name__, + "assetId": asset_id, + "assetName": asset_name, + "assetClass": asset_class, + "capability": capability, + } + _ = influxdb_profile_manager.save_influxdb( + measurement=carrier_id, + field_names=influxdb_profile_manager.profile_header[1:], + tags=optim_simulation_tag, + ) # -- Test tags -- # do not delete - to be used in test case # prof_loaded_from_influxdb = InfluxDBProfileManager(influxdb_conn_settings) From 0f4a6d33c2cae0a1d0ac9ab24141f12d534ac3bd Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 6 May 2024 09:49:53 +0200 Subject: [PATCH 116/376] formatting --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 48e928593..226fa1594 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Mesido +# MESIDO -mesido is an optimization application for optimal planning, design and +MESIDO is an optimization application for optimal planning, design and operation of Energy Systems with the current main focus on District Heating Systems (DHS). The current application focuses on a Mixed Integer Linear Problem (MILP) approach, with multiple linearization strategies to conservatively approximate the steady-state physics and financial models. All physics, placement, sizing and financial models are combined in the TechnoEconomicMixin class. When inherited this class can be combined with objective functions (that typically incorporate the financial aspects) and interface methods to create an optimization workflow (see also running an example). From b948eecababeba9c1a36761617202a554334dd33 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 6 May 2024 10:40:32 +0200 Subject: [PATCH 117/376] formatting --- docs/theory/philosophy.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/theory/philosophy.rst b/docs/theory/philosophy.rst index 95177ea66..066d76219 100644 --- a/docs/theory/philosophy.rst +++ b/docs/theory/philosophy.rst @@ -4,15 +4,15 @@ Modelling Philosophy ==================== -Conceptual design with operational strategy for energy systems starts simultaneously with the initial feasibility studies. -This early phase is challenging as it comes with many uncertainties, such as the expected demand profiles, and the many possibilities of choices of the design, e.g. network routing, sizing, and multiple optional locations for assets as sources and storages. +The conceptual design including operational strategy for energy systems starts simultaneously with the initial feasibility studies. +This early phase is challenging as it comes with many uncertainties, such as the expected demand profiles and many possible design choices. Examples of the latter being network routing, asset sizing, and multiple optional locations for the placement of assets such as sources and storage options. Nevertheless, in practice it is seen that the decisions made in these early phases are crucial for the eventual system performance, as they set the boundaries for interactions between assets and sub-parts of the overall energy system. Later design phases can therefore be limited by decisions made during the initial feasibility phases. Good trade-offs take into account the interaction between assets, but also trade-offs between design and operational strategy are key in reducing the overall system cost. -Mesido applies a Mixed Integer Linear Problem (MILP) formulation to adress these challenges. The main reasons are: +MESIDO applies a Mixed Integer Linear Problem (MILP) formulation to adress these challenges. The main reasons are: -* The early phases of designing the energy system decision makers are typically not looking for high accuracy physical insight, but rather for directions in investment choices. Hence MILP approximation methods that are conservative and feasible whilst staying within accuracy bounds of the available input data suffice. This allows the decision makers to make plans in this early phase with lower financial risk as plans will become more detailed over time. +* In the early phases of designing an energy system, decision makers are typically not looking for high accuracy physical insight, but rather for directions in investment choices. Hence MILP approximation methods that are conservative and feasible, whilst staying within accuracy bounds of the available input data, will suffice. This allows the decision makers to make plans in this early phase with lower financial risk, as these plans will become more detailed over time. * Part of the decisions for designing an energy system have an integer nature, e.g. placing a source or options for a pipe size. These design choices cannot be modelled with continuous formulation in a representative manner. * Due to the large number of uncertainties it is key to have the ability to iterate quickly over input data variations. The computational speed of the optimization is therefore of vital importance. Ideally, the user should be able to do many iterations within one day. From ee8258e7952ee0fb2fc3834318f706963e564d98 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 6 May 2024 11:56:22 +0200 Subject: [PATCH 118/376] formatting and some restructering --- docs/theory/Workflows.rst | 60 +++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/docs/theory/Workflows.rst b/docs/theory/Workflows.rst index 4301a50f0..de6a861d0 100644 --- a/docs/theory/Workflows.rst +++ b/docs/theory/Workflows.rst @@ -3,8 +3,8 @@ Design Toolkit Workflows ======================== -This page eleborates on the available Design TOolkit workflows within MESIDO. -The Design Toolkit is a subsidy funded project (NieuweWarmteNu) to help different organizatons in the Districht heating value chain with sketch and conceptual design of District Heating Systems (DHS). +This page eleborates on the available Design Toolkit workflows within MESIDO. +The Design Toolkit is a subsidy funded project (NieuweWarmteNu) to help different organizatons in the district heating value chain with sketch and conceptual designing of District Heating Systems (DHS). For more information see : https://nwn.nu/projecten/innovaties/design-toolkit-warmtenetten/. MESIDO is by no means limited to only these workflows, but it is left to the user itself to define the most logical workflow if the ones below are unsuitable. @@ -13,12 +13,12 @@ Currently two main workflows are provided: * EndScenarioSizing * GrowSimulator -These two workflows for now only cover the district heat network commodity. +These two workflows only cover the district heat network commodity for now. EndScenarioSizing ----------------- -The EndScenarioSizing Workflow is designed to optimize a district heating network for both asset (pipes, sources, storages, etc.) sizing and operational strategy for lowest Total Cost of Ownership. +The EndScenarioSizing workflow is designed to optimize a district heating network by taking into account both asset (pipes, sources, storages, etc.) sizing and operational strategy for the lowest Total Cost of Ownership. This workflow comes in a few variants that give the user the possibility to trade-off computational time with model assumptions. * (EndScenarioSizingNoHeatLosses) @@ -32,24 +32,24 @@ EndScenarioSizing The EndScenarioSizing workflow in short: -* The user needs to give a district heating network in ESDL file format in which: - * The user puts all the already present assets and potential assets of the system. - * Specifies the cost coefficients for all assets (e.g. EUR/MW for sizing of source). - * Specifies all the maximum sizes of the assets (e.g XX MW for sources, DN 400 for a pipe). - * Specifies the demand profiles in hourly resolution for a full year at all demands in the system. +* The user needs to provide a district heating network in an ESDL file format which will contain: + * The existing as well as the potential assets of the system. + * User specified cost coefficients for all the assets (e.g. EUR/MW for sizing of source). + * User specified maximum sizes of the assets (e.g XX MW for sources, DN 400 for a pipe). + * User specified demand profiles, in hourly resolution for a full year, at all the demands in the system. * The optimization routine will start by matching all the heat demands. -* After matching the demands it minimizes for system cost where both CAPEX and OPEX over lifetime are minimizes. This allows the optimizer to make trade-offs between investments and potential operational benefits (and vice-versa). -* It uses a representative year and extrapolates the results to approximate cost over the lifetime. -* It creates a smaller mathematical representation of the optimization problem by utilizing a time horizon where by default 5 day timesteps are used except for the peak day where hourly resolution is used. - * The hourly resolution in the peak day is used to ensure that the system is sized to satisfy the demands under maximum load condition. - * The 5 day time-steps are used for the remainder of the year to approximate the OPEX of the system utilizing the average thermal powers. - * This means that also all time-series results will be in this adapted time-line. +* After matching the demands the system cost is minimized, where both CAPEX and OPEX over the lifetime are minimized. This allows the optimizer to make trade-offs between investments and potential operational benefits (and vice-versa). +* A representative year is employed and the results are extrapolated to approximate cost over the lifetime. +* A smaller mathematical representation of the optimization problem is created by utilizing a time horizon with a default 5 day timestep size, except for the peak day which has an hourly resolution. + * The hourly resolution in the peak day is used to ensure that the system is sized to satisfy the demands under a maximum load condition. + * The 5 day timesteps are used for the remainder of the year to approximate the OPEX of the system by utilizing the averaged thermal powers. + * This also means that all time-series results will be in this adapted time-line. A two stage optimization approach is used for faster optimization. In the first stage the system is optimized without heat losses in the network. -This allows for a much easier mathematical representation of the problem an hence much faster optimization. -In a second stage the heat losses in the network are taken into account, however now the problem is bounded with the information of the first stage. -Pipes will only be allowed to be at least as large as the result of the first stage and one DN size larger. +This allows for a much easier mathematical representation of the problem an hence a much faster optimization. +In the second stage the heat losses in the network are taken into account, however now the problem is bounded with the information of the first stage. +Pipes will only be allowed to be at least as large as the result of the first stage or one DN size larger. Furthermore, the flow directions will be utilized if the flow meets a minimum threshold value. Lastly, sources will now have a lower bound with the minimum of the first stage. @@ -57,16 +57,16 @@ In its default configuration the workflow has the following main assumptions: * The whole network is realized instantaneously, as a single year is optimized and extrapolated for the lifetime. * In reality the realization of DHS is done in phases over a period of years. Hence this assumption is not valid, but allows the user to judge the long term feasibilty of the DHS system. For closing business case computation the effects of phased realization should be taken into account. -* Pressure drops are not taken into account, a maximum flow velocity of 3 m/s is used to limit the pressure-drop per meter in the pipes. - * This assumptions is ok/valid when the user is still in a phase where the exact location of (booster-)pumps is to be determined and hence limiting the sizing of pipes with pressuredrop calculations would not be representative. - * Note that EndScenarioSizingHeadLoss can be used when the user wants the pressure-drop functionality. +* Pressure drops are not taken into account, a maximum flow velocity of 3 m/s is used to limit the pressure drop per meter in the pipes. + * This assumptions is sufficient when the user is still in a phase where the exact location of (booster-)pumps is to be determined and hence limiting the sizing of pipes with pressure drop calculations would not be representative. + * Note that EndScenarioSizingHeadLoss can be used when the user wants the pressure drop functionality. * Investment costs are not discounted and all assets depreciate to zero over the system lifetime. * This assumption comes out of an initial development phase, by now EndScenarioDiscounted can be used. * It is assumed that the user provides sufficient possibilities to the optimizer to match the heat demands. - * The optimization will become a lot slower in case demands cannot be satisfied. If the user cannot garuantee to have sufficient assets to fullfill the demand it is advised to use slack (peak) sources. + * The optimization will become significantly slower in scenarios where the demands cannot be satisfied. If the user cannot garuantee to have sufficient assets to fullfill the demand, it is advised to use slack (peak) sources. * It is assumed that the tank storage in the network can only be used for intra day buffering and hence can only be used by the optimizer for the peak day. * If this assumption is not valid an extension of the workflow is required. -* It is assumed that seasonal storage is cyclic over calendar year, meaning that at the beginning and end of the year the same amount of thermal energy must be stored in the seasonal storage. +* It is assumed that the seasonal storage is cyclic over a calendar year. This implies that the stored thermal energy at the beginning and at the end of the year is the same. * This assumption is required to ensure that the results of a single year can be extrapolated over the lifetime. For the assumptions on the physics and cost modelling the reader is referred to the respective modelling pages. @@ -74,11 +74,11 @@ For the assumptions on the physics and cost modelling the reader is referred to EndScenarioSizingNoHeatLosses ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The EndScenarioSizingNoHeatLosses workflow provides all the same functionality as the standard EndScenarioSizing, except that heat losses in the network are not modelled. +The EndScenarioSizingNoHeatLosses workflow provides all the same functionality as the standard EndScenarioSizing, except that heat losses in the network are excluded. This means that the required thermal energy of the system is underestimated and hence mainly the OPEX will be underestimated. -This workflow has the advantage that it is much faster than the default EndScenarioSizing (typically > factor 10). +This workflow has the advantage that it is much faster (typically > factor 10) than the default EndScenarioSizing. Therefore, it is recommended to use this workflow in the initial phases of analysis with larger networks. -This workflow will allows to make quicker iterations on the input ESDL file and debug posssible errors in a shorter time-frame. +This workflow will allow the user to make quicker iterations on the input ESDL file and debug possible errors in a shorter time-frame. EndScenarioSizingNoHeatLosses workflow should not be used as a replacement of the EndScenarioSizing workflow as heat losses can be up to 20% of the demand and should not be neglected for design. @@ -86,7 +86,7 @@ EndScenarioSizingNoHeatLosses workflow should not be used as a replacement of th EndScenarioSizingDiscounted ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The EndScenarioSizingDiscounted provides everything the EndScenarioSizing workflow provides, but also: +The EndScenarioSizingDiscounted provides everything the EndScenarioSizing workflow provides, with the addition of: * The ability to account for varying depreciation times of assets in the system. * The ability to take into account a discount rate for the CAPEX of assets. @@ -95,8 +95,8 @@ The EndScenarioSizingDiscounted provides everything the EndScenarioSizing workfl EndScenarioSizingHeadLoss ~~~~~~~~~~~~~~~~~~~~~~~~~ -The EndScenarioSizingHeadLoss provides everything the EndScenarioSizing workflow provides, but also: +The EndScenarioSizingHeadLoss provides everything the EndScenarioSizing workflow provides, with the addition of: -* It takes into account the pressure drops in the network. -* It computes the hydraulic power and thereby the pumping power. It is assumed that every source will have a pump. The pumping cost will be computed with the electricity price profile if an electricity carrier is specified in the ESDL file. +* Taking into account the pressure drops in the network. +* Computing the hydraulic power and thereby the pumping power. It is assumed that every source will have a pump. The pumping cost will be computed with the electricity price profile if an electricity carrier is specified in the ESDL file. From 0a6391f252e4d92620b7468d0f746700360cce34 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 6 May 2024 12:43:01 +0200 Subject: [PATCH 119/376] formatting changed mesido/Mesido to MESIDO --- README.md | 2 +- docs/index.rst | 2 +- docs/theory/asset_sizing.rst | 4 ++-- docs/theory/financial.rst | 2 +- docs/theory/heat_physics.rst | 2 +- docs/theory/physics.rst | 8 ++++---- src/mesido/util.py | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 226fa1594..acfd5cc62 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ If all is well, you should see something like the following output: ![img.png](img.png) In this example.py file you can see a small workflow being set-up. The PipeDiameterSizingProblem class -inherits from (Note only the *classes are defined in mesido the others come from rtc-tools package): +inherits from (Note only the *classes are defined in MESIDO the others come from rtc-tools package): - CollocatedIntegratedOptimizationProblem: This class does all the discretization of the state variables in your problem. - *ESDLMixin: This class does the parsing and setting up of a model based on an ESDL file. - GoalProgrammingMixin: This class allows you to add Goals (objective functions) with different priorities. diff --git a/docs/index.rst b/docs/index.rst index b59ba0cfc..0b3c4c726 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -7,7 +7,7 @@ This is the documentation for MESIDO. .. toctree:: :maxdepth: 4 - :caption: Mesido + :caption: MESIDO theory/index support diff --git a/docs/theory/asset_sizing.rst b/docs/theory/asset_sizing.rst index 0decf3643..8b835e003 100644 --- a/docs/theory/asset_sizing.rst +++ b/docs/theory/asset_sizing.rst @@ -3,7 +3,7 @@ Asset Sizing ============ -Mesido supports both the placing and sizing decision. +MESIDO supports both the placing and sizing decision. Where placement is the integer decision if an optional location is selected or not. The integer for whether or not an asset is placed is govorned based on whether or not power is exchanged between the asset and other assets over the time horizon, see: @@ -24,7 +24,7 @@ The integer for whether or not an asset is placed is govorned based on whether o Where :math:`(q^{a}_{min}, q^{a}_{max})` the lower and upperbound of the power. -For the sizing Mesido supports three general methods. +For the sizing MESIDO supports three general methods. Depending on the physics can be applied to different assets. Continious Sizing diff --git a/docs/theory/financial.rst b/docs/theory/financial.rst index b8f87ba09..6e7d6634c 100644 --- a/docs/theory/financial.rst +++ b/docs/theory/financial.rst @@ -3,7 +3,7 @@ Financial ========= -Mesido offers the posibility to model the cost and revenues based on the design and operation of the energy system. +MESIDO offers the posibility to model the cost and revenues based on the design and operation of the energy system. The asset cost modelling includes both the CAPEX and OPEX over the time-horizon of the optimization. Asset Cost Modelling diff --git a/docs/theory/heat_physics.rst b/docs/theory/heat_physics.rst index d9e7801de..63f7999ae 100644 --- a/docs/theory/heat_physics.rst +++ b/docs/theory/heat_physics.rst @@ -3,7 +3,7 @@ Heat Physics ============ -Mesido models thermal power (:math:`\dot{Q}`), volumetric flow (:math:`\dot{V}`), and head (:math:`H`) for DHS systems. +MESIDO models thermal power (:math:`\dot{Q}`), volumetric flow (:math:`\dot{V}`), and head (:math:`H`) for DHS systems. These variables are modelled over all time-steps :math:`K` and for each asset in the system :math:`A`. An asset :math:`a \in A` in the system is modelled using a set of in-ports, denoted by :math:`I^a_{in} \neq \emptyset`, and a set of out-ports, denoted by :math:`I^a_{out} \neq \emptyset`, with :math:`I^a` denoting the union of these two sets. For an asset :math:`a` the three variables :math:`\dot{Q}_i, \dot{V}_i`, and :math:`H_i` denote the thermal power, volumetric flow and head for port :math:`i \in I^a`. For readability, the variables and equations of the model, given below, are defined without indexing the variables and sets for each time-step. diff --git a/docs/theory/physics.rst b/docs/theory/physics.rst index a2b1def27..b8bf161a0 100644 --- a/docs/theory/physics.rst +++ b/docs/theory/physics.rst @@ -3,11 +3,11 @@ Physics ======= -Within Mesido the physics are approximated utilizing the mixed integer linear constraints. -The goal within Mesido is to approximate the physics in such a way that the approximation errors result in conservative estimates on the financial aspects of the system, e.g. overestimating cost and underestimating revenue. -To cater for different design phases different approximation fidelities can be configuration in Mesido. +Within MESIDO the physics are approximated utilizing the mixed integer linear constraints. +The goal within MESIDO is to approximate the physics in such a way that the approximation errors result in conservative estimates on the financial aspects of the system, e.g. overestimating cost and underestimating revenue. +To cater for different design phases different approximation fidelities can be configuration in MESIDO. Examples include the approximation of head loss which can be ignored or approximated with multiple linear constraints. -Mesido allows for the integral optimization of energy systems having: +MESIDO allows for the integral optimization of energy systems having: * A heat commodity (closed loop district heating networks where water is used as the medium) * A gaseous commodity where pipes transport the gas. diff --git a/src/mesido/util.py b/src/mesido/util.py index 8e7715eaa..355636926 100644 --- a/src/mesido/util.py +++ b/src/mesido/util.py @@ -19,7 +19,7 @@ def run_esdl_mesido_optimization( **kwargs, ): """ - This function is used to execute an optimization on a mesido defined problem. Compared to the + This function is used to execute an optimization on a MESIDO defined problem. Compared to the standard rtc-tools run_optimization_problem() method extra checks can be included here. params: From 844ff2d9a0907c7902145ea51fc16745975411ed Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 6 May 2024 12:47:00 +0200 Subject: [PATCH 120/376] formatting --- docs/theory/financial.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/theory/financial.rst b/docs/theory/financial.rst index 6e7d6634c..52de8313b 100644 --- a/docs/theory/financial.rst +++ b/docs/theory/financial.rst @@ -38,7 +38,7 @@ The investment cost is the cost component that helps to find the minimum asset s Variable Operational Cost ~~~~~~~~~~~~~~~~~~~~~~~~~ -The variable operational cost is the cost component that depends on the useage of the asset over the time horizon. +The variable operational cost is the cost component that depends on the usage of the asset over the time horizon. Typically this is a power consumption or production, which is represented by :math:`x^{a}_{use}`. .. math:: @@ -50,7 +50,7 @@ Typically this is a power consumption or production, which is represented by :ma Fixed Operational Cost ~~~~~~~~~~~~~~~~~~~~~~ -The fixed operational cost is the cost component that return every X time (typically every calendar year) based on the size of the asset. +The fixed operational cost is the cost component that returns every X time (typically every calendar year) based on the size of the asset. .. math:: :label: eq:fixedopex From 46e7ac5af2d9a6e09874efbe864cd01463d5bc2b Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 6 May 2024 13:13:24 +0200 Subject: [PATCH 121/376] formatting --- docs/theory/asset_sizing.rst | 19 +++++++++---------- docs/theory/heat_physics.rst | 12 ++++++------ docs/theory/physics.rst | 2 +- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/docs/theory/asset_sizing.rst b/docs/theory/asset_sizing.rst index 8b835e003..3f2fca8d3 100644 --- a/docs/theory/asset_sizing.rst +++ b/docs/theory/asset_sizing.rst @@ -3,9 +3,9 @@ Asset Sizing ============ -MESIDO supports both the placing and sizing decision. +MESIDO supports both the placing and sizing decisions. Where placement is the integer decision if an optional location is selected or not. -The integer for whether or not an asset is placed is govorned based on whether or not power is exchanged between the asset and other assets over the time horizon, see: +The integer for whether or not an asset is placed is governed based on whether or not power is exchanged between the asset and other assets over the time horizon, see: .. math:: :label: eq:max_placed_power @@ -22,25 +22,24 @@ The integer for whether or not an asset is placed is govorned based on whether o \delta^{a}_{placed} \in \{0,1\} \;\; -Where :math:`(q^{a}_{min}, q^{a}_{max})` the lower and upperbound of the power. +Where :math:`(q^{a}_{min}, q^{a}_{max})` are the lower and upper bounds of the power. -For the sizing MESIDO supports three general methods. -Depending on the physics can be applied to different assets. +For the sizing MESIDO supports three general methods, which can be applied to different assets depending on the physics. Continious Sizing ----------------- -If an asset is continuously sized the max size var, :math:`x^{a}_{max}` must if given to be larger than the state, :math:`x^{a}`, (e.g. power) with which the size scales. +If an asset is continuously sized, the max size variable :math:`x^{a}_{max}` must if given to be larger than the state, :math:`x^{a}`, (e.g. power) with which the size scales. .. math:: :label: eq:limit_power_ates -x^{a}_{max}\leq x^{a} \leq x^{a}_{max} -Sizing with aggregation +Sizing With Aggregation ----------------------- -If an asset is sized based on its aggregation count then the max size variable, :math:`x^{a}_{max}`, +If an asset is sized based on its aggregation count, then the max size variable, :math:`x^{a}_{max}`, will be bounded based on the amount of aggregations that exist for that asset. Examples include the sizing of geothermal sources by their amount of wells, with the power per well. @@ -49,7 +48,7 @@ Examples include the sizing of geothermal sources by their amount of wells, with x^{a} \leq \delta^{a}_{aggr,count} X^{a}_{single,max} -Sizing with integer modelling +Sizing With Integer Modelling ----------------------------- The integer method can be used if the size of the asset is determined by a number of predefined sizes, :math:`\delta_{j,a}`. @@ -76,7 +75,7 @@ The sizing integer can then be used to limit the max size variable, e.g. max flo where :math:`\bar{e_j}` denotes the max value for the state at that sizing option. -Asset sizing method table +Asset sizing methods employed ------------------------- .. list-table:: Asset Sizing Model diff --git a/docs/theory/heat_physics.rst b/docs/theory/heat_physics.rst index 63f7999ae..4dbb5162f 100644 --- a/docs/theory/heat_physics.rst +++ b/docs/theory/heat_physics.rst @@ -3,11 +3,11 @@ Heat Physics ============ -MESIDO models thermal power (:math:`\dot{Q}`), volumetric flow (:math:`\dot{V}`), and head (:math:`H`) for DHS systems. -These variables are modelled over all time-steps :math:`K` and for each asset in the system :math:`A`. +Mesido models thermal power (:math:`\dot{Q}`), volumetric flow (:math:`\dot{V}`), and head (:math:`H`) for DHS systems. +These variables are modelled over all timesteps :math:`K` and for each asset in the system :math:`A`. An asset :math:`a \in A` in the system is modelled using a set of in-ports, denoted by :math:`I^a_{in} \neq \emptyset`, and a set of out-ports, denoted by :math:`I^a_{out} \neq \emptyset`, with :math:`I^a` denoting the union of these two sets. -For an asset :math:`a` the three variables :math:`\dot{Q}_i, \dot{V}_i`, and :math:`H_i` denote the thermal power, volumetric flow and head for port :math:`i \in I^a`. For readability, the variables and equations of the model, given below, are defined without indexing the variables and sets for each time-step. -The equations below are assumed to hold for every time-step, unless otherwise specified. +For an asset :math:`a` the three variables :math:`\dot{Q}_i, \dot{V}_i`, and :math:`H_i` denote the thermal power, volumetric flow and head for port :math:`i \in I^a`. For readability, the variables and equations of the model, given below, are defined without indexing the variables and sets for each timestep. +The equations below are assumed to hold for every timestep, unless otherwise specified. Modelling specifically these three variables allows to ensure a hydraulically feasible solution whilst linearizing the physics. Energy changes are modelled with the assumption of a constant temperature throughout the network. @@ -16,7 +16,7 @@ Although this assumption is not realistic, the linearization made will show that General Physics --------------- -The DHS is modelled as a closed loop system and thus at every time-step and for every asset, mass balance should hold. +The DHS is modelled as a closed loop system and thus at every timestep and for every asset, mass balance should hold. The system is modeled with constant temperature and thus constant density and specific heat. The mass balance is provided as a volumetric flow balance in :eq:`eq:flow_balance`. @@ -83,7 +83,7 @@ where :math:`T_{sup}, T_{ret}`, and :math:`T_{amb}` represent the supply, return and ambient temperatures. :math:`A_{pipes}` define the set of pipes with :math:`L^a` being the length of pipe :math:`a`. -:math:`\delta^a_{discon}` is a boolean variable to model if pipe :math:`a` is in use for a specific time-step. +:math:`\delta^a_{discon}` is a boolean variable to model if pipe :math:`a` is in use for a specific timestep. :math:`d^a_{inner}` and :math:`d^a_{outer}` are the inner and outer diameters of pipe :math:`a` and :math:`k_{subsoil}` is a constant used to model the resistance of the subsoil. :math:`\delta^a_{discon}` is modelled by: diff --git a/docs/theory/physics.rst b/docs/theory/physics.rst index b8bf161a0..c0ccc67f2 100644 --- a/docs/theory/physics.rst +++ b/docs/theory/physics.rst @@ -4,7 +4,7 @@ Physics ======= Within MESIDO the physics are approximated utilizing the mixed integer linear constraints. -The goal within MESIDO is to approximate the physics in such a way that the approximation errors result in conservative estimates on the financial aspects of the system, e.g. overestimating cost and underestimating revenue. +The goal within MESIDO is to approximate the physics in such a way such that the approximation errors result in conservative estimates of the financial aspects of the system, e.g. overestimating cost and underestimating revenue. To cater for different design phases different approximation fidelities can be configuration in MESIDO. Examples include the approximation of head loss which can be ignored or approximated with multiple linear constraints. MESIDO allows for the integral optimization of energy systems having: From 2c335f7e2f1be9123cf1c30d8d358198c9313528 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 16 May 2024 12:02:25 +0200 Subject: [PATCH 122/376] added cyclic heat constraints to test + formatting --- src/mesido/esdl/esdl_heat_model.py | 4 + src/mesido/heat_physics_mixin.py | 34 ++- .../pycml/component_library/milp/heat/ates.py | 4 +- .../milp/heat/low_temperature_ates.py | 7 +- tests/models/wko/input/timeseries.csv | 9 +- .../models/wko/input/timeseries_original.csv | 9 + .../wko/model/LT_wko_heating_and_cooling.esdl | 222 ++++++++++++++++++ tests/models/wko/src/example.py | 15 +- tests/test_cold_demand.py | 96 +++++++- 9 files changed, 374 insertions(+), 26 deletions(-) create mode 100644 tests/models/wko/input/timeseries_original.csv create mode 100644 tests/models/wko/model/LT_wko_heating_and_cooling.esdl diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 670989f86..d7eeaa48e 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1080,6 +1080,8 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: ) ) ) + logger.warning("ATES in use: WKO (koude-warmteopslag, cold and heat storage) since the" + " maximum temperature has been specified to be <= 30 degrees Celcius") return LowTemperatureATES, modifiers else: modifiers.update( @@ -1097,6 +1099,8 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: ), ) ) + logger.warning("ATES in use: High Temperature ATES since the maximum temperature has" + " been specified to be > 30 degrees Celcius or not specified at all") return ATES, modifiers def convert_control_valve(self, asset: Asset) -> Tuple[Type[ControlValve], MODIFIERS]: diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 5eee05803..72b83ed42 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -1,5 +1,6 @@ import logging import math +import sys from typing import List import casadi as ca @@ -2229,16 +2230,31 @@ def __ates_heat_losses_path_constraints(self, ensemble_member): # -np.inf, # 0.0) # ) - else: - # no temperature states available - coeff_efficiency_ates = parameters[f"{ates}.heat_loss_coeff"] - constraints.append( - ( - (heat_loss - stored_heat * coeff_efficiency_ates) / heat_loss_nominal, - 0.0, - 0.0, + else: # no temperature states available + if ates in [*self.energy_system_components.get("ates", [])]: + + coeff_efficiency_ates = parameters[f"{ates}.heat_loss_coeff"] + constraints.append( + ( + (heat_loss - stored_heat * coeff_efficiency_ates) / heat_loss_nominal, + 0.0, + 0.0, + ) ) - ) + elif ates in [*self.energy_system_components.get("low_temperature_ates", [])]: + + coeff_efficiency_ates = parameters[f"{ates}.heat_loss_coeff"] + constraints.append( + ( + (heat_loss - stored_heat * coeff_efficiency_ates) / heat_loss_nominal, + 0.0, + 0.0, + ) + ) + else: + logger.error("An invalid type of ATES is accessed") + sys.exit(1) + return constraints diff --git a/src/mesido/pycml/component_library/milp/heat/ates.py b/src/mesido/pycml/component_library/milp/heat/ates.py index 59c9e5280..7735c9337 100644 --- a/src/mesido/pycml/component_library/milp/heat/ates.py +++ b/src/mesido/pycml/component_library/milp/heat/ates.py @@ -68,8 +68,8 @@ def __init__(self, name, **modifiers): # Thus Heat_buffer = HeatHot = der(Stored_heat). # We connect an ATES as an demand, meaning that flow and Heat_ates are positive under # charging and negative under discharge - self.add_variable(Variable, "Heat_ates", nominal=self.Heat_nominal) - self.add_variable(Variable, "Heat_flow", nominal=self.Heat_nominal) + self.add_variable(Variable, "Heat_ates", nominal=self.Heat_nominal) # [W] + self.add_variable(Variable, "Heat_flow", nominal=self.Heat_nominal) # [W] # Assume the storage fills in about 3 months at typical rate self._typical_fill_time = 3600.0 * 24.0 * 90.0 self._nominal_stored_heat = self.Heat_nominal * self._typical_fill_time diff --git a/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py b/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py index 1f0348fdd..161211a5e 100644 --- a/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py +++ b/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py @@ -53,8 +53,8 @@ def __init__(self, name, **modifiers): # Thus Heat_buffer = HeatHot = der(Stored_heat). # We connect an ATES as an demand, meaning that flow and Heat_low_temperature_ates are # positive undercharging and negative under discharge - self.add_variable(Variable, "Heat_low_temperature_ates", nominal=self.Heat_nominal) - self.add_variable(Variable, "Heat_flow", nominal=self.Heat_nominal) + self.add_variable(Variable, "Heat_low_temperature_ates", nominal=self.Heat_nominal) # [W] + self.add_variable(Variable, "Heat_flow", nominal=self.Heat_nominal) # [W] # Assume the storage fills in about 3 months at typical rate self._typical_fill_time = 3600.0 * 24.0 * 90.0 self._nominal_stored_heat = self.Heat_nominal * self._typical_fill_time @@ -70,6 +70,7 @@ def __init__(self, name, **modifiers): min=0.0, nominal=self._typical_fill_time * self.Q_nominal, ) + self.add_variable(Variable, "Q", nominal=self.Q_nominal) self.add_variable( Variable, "Pump_power", min=0.0, nominal=self.Q_nominal * self.nominal_pressure @@ -86,7 +87,7 @@ def __init__(self, name, **modifiers): self.add_equation(self.HeatIn.Q - self.HeatOut.Q) self.add_equation(self.Q - self.HeatOut.Q) - # # Heat stored in the ates + # Heat stored in the ates self.add_equation( (self.der(self.Stored_heat) - self.Heat_low_temperature_ates + self.Heat_loss) / self._heat_loss_eq_nominal_ates diff --git a/tests/models/wko/input/timeseries.csv b/tests/models/wko/input/timeseries.csv index 680e238b1..9a34901e8 100644 --- a/tests/models/wko/input/timeseries.csv +++ b/tests/models/wko/input/timeseries.csv @@ -1,9 +1,10 @@ DateTime,HeatingDemand_9b90,CoolingDemand_15e8 -01-01-2019 00:00, 50000., 150000. -01-01-2019 01:00, 100000., 150000. +01-01-2019 00:00, 10000., 10000. +01-01-2019 01:00, 50000., 150000. 01-01-2019 02:00, 100000., 150000. -01-01-2019 03:00, 100000., 0. -01-01-2019 04:00, 150000., 0. +01-01-2019 03:00, 100000., 150000. +01-01-2019 04:00, 100000., 0. 01-01-2019 05:00, 150000., 0. 01-01-2019 06:00, 150000., 0. +01-01-2019 07:00, 150000., 0. diff --git a/tests/models/wko/input/timeseries_original.csv b/tests/models/wko/input/timeseries_original.csv new file mode 100644 index 000000000..680e238b1 --- /dev/null +++ b/tests/models/wko/input/timeseries_original.csv @@ -0,0 +1,9 @@ +DateTime,HeatingDemand_9b90,CoolingDemand_15e8 +01-01-2019 00:00, 50000., 150000. +01-01-2019 01:00, 100000., 150000. +01-01-2019 02:00, 100000., 150000. +01-01-2019 03:00, 100000., 0. +01-01-2019 04:00, 150000., 0. +01-01-2019 05:00, 150000., 0. +01-01-2019 06:00, 150000., 0. + diff --git a/tests/models/wko/model/LT_wko_heating_and_cooling.esdl b/tests/models/wko/model/LT_wko_heating_and_cooling.esdl new file mode 100644 index 000000000..c60f2d135 --- /dev/null +++ b/tests/models/wko/model/LT_wko_heating_and_cooling.esdl @@ -0,0 +1,222 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index c46291cd1..873c183d9 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -1,3 +1,6 @@ +import sys +import traceback + import casadi as ca from mesido.esdl.esdl_mixin import ESDLMixin @@ -167,8 +170,16 @@ def path_goals(self): """ goals = super().path_goals().copy() - for s in self.energy_system_components["heat_source"]: - goals.append(MinimizeSourcesHeatGoal(s)) + try: + self.energy_system_components["heat_source"] + + for s in self.energy_system_components["heat_source"]: + goals.append(MinimizeSourcesHeatGoal(s)) + except KeyError: + ... + except Exception: + traceback.print_exc() + sys.exit(1) return goals diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 53cb5b574..5705b79a3 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -5,6 +5,8 @@ from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.util import run_esdl_mesido_optimization +import numpy as np + from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -34,10 +36,11 @@ def test_cold_demand(self): profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries.csv", ) + results = heat_problem.extract_results() - demand_matching_test(heat_problem, heat_problem.extract_results()) - energy_conservation_test(heat_problem, heat_problem.extract_results()) - heat_to_discharge_test(heat_problem, heat_problem.extract_results()) + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) def test_airco(self): """ @@ -64,11 +67,92 @@ def test_airco(self): profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries.csv", ) + results = heat_problem.extract_results() + + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) - demand_matching_test(heat_problem, heat_problem.extract_results()) - energy_conservation_test(heat_problem, heat_problem.extract_results()) - heat_to_discharge_test(heat_problem, heat_problem.extract_results()) + + def test_wko(self): + """ + to be updated -->> This test is to check the basic physics for a network which includes cold demand. In this + case we have a network with an air-water hp, a low temperature ates and both hot and cold + demand. In this case the demands are matched and the low temperature ates is utilized. + + Checks: + 1. demand is matched + 2. energy conservation in the network + 3. heat to discharge (note cold line is colder than T_ground) + + """ + import models.wko.src.example as example + from models.wko.src.example import HeatProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + class HeatingCoolingProblem(HeatProblem): + def constraints(self, ensemble_member): + constraints = super().constraints(ensemble_member) + + # Add cyclic constraint, this will also ensure that the total power used in the + # lower temp & higher temp well and via versa is the same. + # Note: + # - WKO in cooling mode: Hot well is being charged with heat and the cold well is + # being discharged + # - WKO in heating mode: Cold well is being charged and the hot well is being + # discharged. + for a in self.energy_system_components.get("low_temperature_ates", []): + stored_heat = self.state_vector(f"{a}.Stored_heat") + constraints.append(((stored_heat[-1] - stored_heat[0]), 0.0, 0.0)) + + # TODO: confirm if the yearly balance between warm and cold well is heat / flow + # related? + # This code below might be needed + # Add constriant such that the total volume used of the lower temp & higher temp + # well of the WKO is the same. Yearly volume balance between the 2 wells. This + # ensures volume balance over the timeline. This is done by adding a constriant to + # esnure the total volume change over the period = 0. + # Note: + # - Volume increase: Hot well is being charged and the cold well is being + # discharged. -> WKO in cooling mode + # - Volume decrease: Cold well is being charged and the hot well is being + # discharged. -> WKO in heating mode + # if heat balance over the year is required, then this needs to change ?????? TBC + # for ates_id in self.energy_system_components.get("low_temperature_ates", []): + # stored_volume = self.state_vector(f"{ates_id}.Stored_volume") + # volume_usage = 0.0 + # for itstep in range(len(self.times()) - 1): + # volume_usage = ( + # volume_usage + stored_volume[itstep + 1] - stored_volume[itstep] + # ) + # constraints.append((volume_usage, 0.0, 0.0)) + + return constraints + + heat_problem = run_esdl_mesido_optimization( + HeatingCoolingProblem, + base_folder=base_folder, + esdl_file_name="LT_wko_heating_and_cooling.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + results = heat_problem.extract_results() + + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + + np.testing.assert_allclose( + results["ATES_226d.Stored_heat"][0], results["ATES_226d.Stored_heat"][-1] + ) + np.testing.assert_allclose(results["ATES_226d.Stored_heat"][0], 0.0) if __name__ == "__main__": + test_cold_demand = TestColdDemand() + # test_cold_demand.test_cold_demand() + test_cold_demand.test_wko() + a = 1 From e723b4c56163e62d3b7c8ac9366f2eb703df0979 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 16 May 2024 14:34:49 +0200 Subject: [PATCH 123/376] try to force heatpump on earlier --- tests/models/wko/input/timeseries.csv | 9 ++++----- tests/models/wko/input/timeseries_2.csv | 11 +++++++++++ tests/models/wko/input/timeseries_original.csv | 9 --------- .../models/wko/model/LT_wko_heating_and_cooling.esdl | 2 +- tests/test_cold_demand.py | 7 +++++-- 5 files changed, 21 insertions(+), 17 deletions(-) create mode 100644 tests/models/wko/input/timeseries_2.csv delete mode 100644 tests/models/wko/input/timeseries_original.csv diff --git a/tests/models/wko/input/timeseries.csv b/tests/models/wko/input/timeseries.csv index 9a34901e8..680e238b1 100644 --- a/tests/models/wko/input/timeseries.csv +++ b/tests/models/wko/input/timeseries.csv @@ -1,10 +1,9 @@ DateTime,HeatingDemand_9b90,CoolingDemand_15e8 -01-01-2019 00:00, 10000., 10000. -01-01-2019 01:00, 50000., 150000. +01-01-2019 00:00, 50000., 150000. +01-01-2019 01:00, 100000., 150000. 01-01-2019 02:00, 100000., 150000. -01-01-2019 03:00, 100000., 150000. -01-01-2019 04:00, 100000., 0. +01-01-2019 03:00, 100000., 0. +01-01-2019 04:00, 150000., 0. 01-01-2019 05:00, 150000., 0. 01-01-2019 06:00, 150000., 0. -01-01-2019 07:00, 150000., 0. diff --git a/tests/models/wko/input/timeseries_2.csv b/tests/models/wko/input/timeseries_2.csv new file mode 100644 index 000000000..2f7e72ecf --- /dev/null +++ b/tests/models/wko/input/timeseries_2.csv @@ -0,0 +1,11 @@ +DateTime,HeatingDemand_9b90,CoolingDemand_15e8 +01-01-2019 00:00, 10000., 10000. +01-01-2019 01:00, 50000., 150000. +01-01-2019 02:00, 100000., 150000. +01-01-2019 03:00, 100000., 150000. +01-01-2019 04:00, 100000., 0. +01-01-2019 05:00, 150000., 0. +01-01-2019 06:00, 150000., 0. +01-01-2019 07:00, 150000., 0. +01-01-2019 08:00, 0., 150000. + diff --git a/tests/models/wko/input/timeseries_original.csv b/tests/models/wko/input/timeseries_original.csv deleted file mode 100644 index 680e238b1..000000000 --- a/tests/models/wko/input/timeseries_original.csv +++ /dev/null @@ -1,9 +0,0 @@ -DateTime,HeatingDemand_9b90,CoolingDemand_15e8 -01-01-2019 00:00, 50000., 150000. -01-01-2019 01:00, 100000., 150000. -01-01-2019 02:00, 100000., 150000. -01-01-2019 03:00, 100000., 0. -01-01-2019 04:00, 150000., 0. -01-01-2019 05:00, 150000., 0. -01-01-2019 06:00, 150000., 0. - diff --git a/tests/models/wko/model/LT_wko_heating_and_cooling.esdl b/tests/models/wko/model/LT_wko_heating_and_cooling.esdl index c60f2d135..9660a2e8a 100644 --- a/tests/models/wko/model/LT_wko_heating_and_cooling.esdl +++ b/tests/models/wko/model/LT_wko_heating_and_cooling.esdl @@ -26,7 +26,7 @@ - + diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 5705b79a3..2958d0c2b 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -105,6 +105,8 @@ def constraints(self, ensemble_member): for a in self.energy_system_components.get("low_temperature_ates", []): stored_heat = self.state_vector(f"{a}.Stored_heat") constraints.append(((stored_heat[-1] - stored_heat[0]), 0.0, 0.0)) + # This was added to force the heatpump to start loading the WKO 1st 3 timesteps + constraints.append((stored_heat[0], 0.0, 0.0)) # TODO: confirm if the yearly balance between warm and cold well is heat / flow # related? @@ -136,7 +138,7 @@ def constraints(self, ensemble_member): esdl_file_name="LT_wko_heating_and_cooling.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, - input_timeseries_file="timeseries.csv", + input_timeseries_file="timeseries_2.csv", ) results = heat_problem.extract_results() @@ -149,10 +151,11 @@ def constraints(self, ensemble_member): ) np.testing.assert_allclose(results["ATES_226d.Stored_heat"][0], 0.0) + # Heat pump does not switch on to start loading the WKO. + # Is this intended for some reason Femke? if __name__ == "__main__": test_cold_demand = TestColdDemand() - # test_cold_demand.test_cold_demand() test_cold_demand.test_wko() a = 1 From a02c65c1f6d94c8acb61b982018803050d4dbef6 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 16 May 2024 14:42:01 +0200 Subject: [PATCH 124/376] reverted heat_loss code to original --- src/mesido/heat_physics_mixin.py | 33 +++++++++----------------------- 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 72b83ed42..e48057f48 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -2230,31 +2230,16 @@ def __ates_heat_losses_path_constraints(self, ensemble_member): # -np.inf, # 0.0) # ) - else: # no temperature states available - if ates in [*self.energy_system_components.get("ates", [])]: - - coeff_efficiency_ates = parameters[f"{ates}.heat_loss_coeff"] - constraints.append( - ( - (heat_loss - stored_heat * coeff_efficiency_ates) / heat_loss_nominal, - 0.0, - 0.0, - ) - ) - elif ates in [*self.energy_system_components.get("low_temperature_ates", [])]: - - coeff_efficiency_ates = parameters[f"{ates}.heat_loss_coeff"] - constraints.append( - ( - (heat_loss - stored_heat * coeff_efficiency_ates) / heat_loss_nominal, - 0.0, - 0.0, - ) + else: + # no temperature states available + coeff_efficiency_ates = parameters[f"{ates}.heat_loss_coeff"] + constraints.append( + ( + (heat_loss - stored_heat * coeff_efficiency_ates) / heat_loss_nominal, + 0.0, + 0.0, ) - else: - logger.error("An invalid type of ATES is accessed") - sys.exit(1) - + ) return constraints From 4fdc7bb75d7c38dc97739766d427c1c00b39f191 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 16 May 2024 15:13:11 +0200 Subject: [PATCH 125/376] formatting --- tests/test_cold_demand.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 2958d0c2b..b8e1db080 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -76,14 +76,19 @@ def test_airco(self): def test_wko(self): """ - to be updated -->> This test is to check the basic physics for a network which includes cold demand. In this - case we have a network with an air-water hp, a low temperature ates and both hot and cold - demand. In this case the demands are matched and the low temperature ates is utilized. + This test is to check the basic physics for a network which includes cold demand. In this + case we have a network with an air-water hp, a WKO (warm and cold well) and both hot and + cold demand. + + The demand profiles and the size of the heat pump has been chosen such that the heat is + required is required to switch on to load the warm well of the WKO. Checks: 1. demand is matched 2. energy conservation in the network 3. heat to discharge (note cold line is colder than T_ground) + 4. the cyclic heat_stored contraint, which ensures yearly heat balance between the warm and + cold well """ import models.wko.src.example as example From d3459096ba7a7e4a396565dd7f2e7f745c4ff386 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 16 May 2024 15:14:35 +0200 Subject: [PATCH 126/376] formatting --- tests/test_cold_demand.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index b8e1db080..9fb587a9a 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -80,6 +80,8 @@ def test_wko(self): case we have a network with an air-water hp, a WKO (warm and cold well) and both hot and cold demand. + TODO: resolve issue in test case + The demand profiles and the size of the heat pump has been chosen such that the heat is required is required to switch on to load the warm well of the WKO. From 4e9a06e70d882ae0d95b1a5add06615d65ce019b Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 16 May 2024 15:19:07 +0200 Subject: [PATCH 127/376] formatting --- src/mesido/esdl/esdl_heat_model.py | 12 ++++++++---- src/mesido/heat_physics_mixin.py | 1 - tests/test_cold_demand.py | 6 +++--- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index d7eeaa48e..1f2e9a2e5 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1080,8 +1080,10 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: ) ) ) - logger.warning("ATES in use: WKO (koude-warmteopslag, cold and heat storage) since the" - " maximum temperature has been specified to be <= 30 degrees Celcius") + logger.warning( + "ATES in use: WKO (koude-warmteopslag, cold and heat storage) since the" + " maximum temperature has been specified to be <= 30 degrees Celcius" + ) return LowTemperatureATES, modifiers else: modifiers.update( @@ -1099,8 +1101,10 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: ), ) ) - logger.warning("ATES in use: High Temperature ATES since the maximum temperature has" - " been specified to be > 30 degrees Celcius or not specified at all") + logger.warning( + "ATES in use: High Temperature ATES since the maximum temperature has" + " been specified to be > 30 degrees Celcius or not specified at all" + ) return ATES, modifiers def convert_control_valve(self, asset: Asset) -> Tuple[Type[ControlValve], MODIFIERS]: diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index e48057f48..5eee05803 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -1,6 +1,5 @@ import logging import math -import sys from typing import List import casadi as ca diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 9fb587a9a..858079657 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -73,7 +73,6 @@ def test_airco(self): energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) - def test_wko(self): """ This test is to check the basic physics for a network which includes cold demand. In this @@ -83,7 +82,7 @@ def test_wko(self): TODO: resolve issue in test case The demand profiles and the size of the heat pump has been chosen such that the heat is - required is required to switch on to load the warm well of the WKO. + required is required to switch on to load the warm well of the WKO. Checks: 1. demand is matched @@ -151,7 +150,7 @@ def constraints(self, ensemble_member): demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) - heat_to_discharge_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) np.testing.assert_allclose( results["ATES_226d.Stored_heat"][0], results["ATES_226d.Stored_heat"][-1] @@ -161,6 +160,7 @@ def constraints(self, ensemble_member): # Heat pump does not switch on to start loading the WKO. # Is this intended for some reason Femke? + if __name__ == "__main__": test_cold_demand = TestColdDemand() test_cold_demand.test_wko() From 0931b6b6a31e55193a894882866926368cfe63b8 Mon Sep 17 00:00:00 2001 From: Rojer Date: Tue, 21 May 2024 16:26:12 +0200 Subject: [PATCH 128/376] update from comments kobus --- README.md | 2 +- docs/theory/Workflows.rst | 11 ++++++++--- docs/theory/philosophy.rst | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index acfd5cc62..c32861e1e 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ inherits from (Note only the *classes are defined in MESIDO the others come from - *ESDLMixin: This class does the parsing and setting up of a model based on an ESDL file. - GoalProgrammingMixin: This class allows you to add Goals (objective functions) with different priorities. - LinearizedOrderGoalProgrammingMixin: This class allows you to add higher order goals (e.g. order=2) for MILP problems. -- *TechnoEconomicMixin: This class adds all the network physics and sizing variables for MILP problems. +- *TechnoEconomicMixin: This class combines all the Mixin classes required for a full techno-economic optimization. Within the PipeDiameterSizingProblem class you can see that the path_goals() function is overwritten and that a path_goal with priority one is added to meet the heat demands. The definition path_goal is used diff --git a/docs/theory/Workflows.rst b/docs/theory/Workflows.rst index de6a861d0..0117cb93a 100644 --- a/docs/theory/Workflows.rst +++ b/docs/theory/Workflows.rst @@ -21,8 +21,8 @@ EndScenarioSizing The EndScenarioSizing workflow is designed to optimize a district heating network by taking into account both asset (pipes, sources, storages, etc.) sizing and operational strategy for the lowest Total Cost of Ownership. This workflow comes in a few variants that give the user the possibility to trade-off computational time with model assumptions. -* (EndScenarioSizingNoHeatLosses) * EndScenarioSizing +* EndScenarioSizingNoHeatLosses * EndScenarioSizingDiscounted * EndScenarioSizingHeadLoss * EndScenarioSizingHeadLossDiscounted @@ -51,7 +51,7 @@ This allows for a much easier mathematical representation of the problem an henc In the second stage the heat losses in the network are taken into account, however now the problem is bounded with the information of the first stage. Pipes will only be allowed to be at least as large as the result of the first stage or one DN size larger. Furthermore, the flow directions will be utilized if the flow meets a minimum threshold value. -Lastly, sources will now have a lower bound with the minimum of the first stage. +Lastly, sources placed in the first stage will also be placed in the second stage. In its default configuration the workflow has the following main assumptions: @@ -80,7 +80,7 @@ This workflow has the advantage that it is much faster (typically > factor 10) t Therefore, it is recommended to use this workflow in the initial phases of analysis with larger networks. This workflow will allow the user to make quicker iterations on the input ESDL file and debug possible errors in a shorter time-frame. -EndScenarioSizingNoHeatLosses workflow should not be used as a replacement of the EndScenarioSizing workflow as heat losses can be up to 20% of the demand and should not be neglected for design. +EndScenarioSizingNoHeatLosses workflow should not be used as a replacement of the EndScenarioSizing workflow as heat losses can be up to 30% of the demand and should not be neglected for design. EndScenarioSizingDiscounted @@ -100,3 +100,8 @@ The EndScenarioSizingHeadLoss provides everything the EndScenarioSizing workflow * Taking into account the pressure drops in the network. * Computing the hydraulic power and thereby the pumping power. It is assumed that every source will have a pump. The pumping cost will be computed with the electricity price profile if an electricity carrier is specified in the ESDL file. +EndScenarioSizingHeadLossDiscounted +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The EndScenarioSizingHeadLossDiscounted workflow combines the added functionality of EndScenarioSizingDiscounted and EndScenarioSizingHeadLoss into one workflow. + diff --git a/docs/theory/philosophy.rst b/docs/theory/philosophy.rst index 066d76219..384f77a8a 100644 --- a/docs/theory/philosophy.rst +++ b/docs/theory/philosophy.rst @@ -15,4 +15,4 @@ MESIDO applies a Mixed Integer Linear Problem (MILP) formulation to adress these * In the early phases of designing an energy system, decision makers are typically not looking for high accuracy physical insight, but rather for directions in investment choices. Hence MILP approximation methods that are conservative and feasible, whilst staying within accuracy bounds of the available input data, will suffice. This allows the decision makers to make plans in this early phase with lower financial risk, as these plans will become more detailed over time. * Part of the decisions for designing an energy system have an integer nature, e.g. placing a source or options for a pipe size. These design choices cannot be modelled with continuous formulation in a representative manner. -* Due to the large number of uncertainties it is key to have the ability to iterate quickly over input data variations. The computational speed of the optimization is therefore of vital importance. Ideally, the user should be able to do many iterations within one day. +* Due to the large number of uncertainties it is key to have the ability to iterate quickly over input data variations. The computational speed of the optimization is therefore of vital importance. From 588d9a5b2e6ccde88b2be0651fe534a3c1e89834 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 23 May 2024 13:23:15 +0200 Subject: [PATCH 129/376] Formatting and 3 fixes (open conversations) --- docs/theory/Workflows.rst | 4 ++-- docs/theory/asset_sizing.rst | 2 +- docs/theory/heat_physics.rst | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/theory/Workflows.rst b/docs/theory/Workflows.rst index 0117cb93a..05c7de63c 100644 --- a/docs/theory/Workflows.rst +++ b/docs/theory/Workflows.rst @@ -4,7 +4,7 @@ Design Toolkit Workflows ======================== This page eleborates on the available Design Toolkit workflows within MESIDO. -The Design Toolkit is a subsidy funded project (NieuweWarmteNu) to help different organizatons in the district heating value chain with sketch and conceptual designing of District Heating Systems (DHS). +The Design Toolkit is a subsidy funded project (NieuweWarmteNu) to help different organizatons in the district heating value chain with draft and/or conceptual designing of District Heating Systems (DHS). For more information see : https://nwn.nu/projecten/innovaties/design-toolkit-warmtenetten/. MESIDO is by no means limited to only these workflows, but it is left to the user itself to define the most logical workflow if the ones below are unsuitable. @@ -57,7 +57,7 @@ In its default configuration the workflow has the following main assumptions: * The whole network is realized instantaneously, as a single year is optimized and extrapolated for the lifetime. * In reality the realization of DHS is done in phases over a period of years. Hence this assumption is not valid, but allows the user to judge the long term feasibilty of the DHS system. For closing business case computation the effects of phased realization should be taken into account. -* Pressure drops are not taken into account, a maximum flow velocity of 3 m/s is used to limit the pressure drop per meter in the pipes. +* Pressure drops are not taken into account. However, a maximum flow velocity of 3 m/s is used for each pipe. * This assumptions is sufficient when the user is still in a phase where the exact location of (booster-)pumps is to be determined and hence limiting the sizing of pipes with pressure drop calculations would not be representative. * Note that EndScenarioSizingHeadLoss can be used when the user wants the pressure drop functionality. * Investment costs are not discounted and all assets depreciate to zero over the system lifetime. diff --git a/docs/theory/asset_sizing.rst b/docs/theory/asset_sizing.rst index 3f2fca8d3..ce6af0144 100644 --- a/docs/theory/asset_sizing.rst +++ b/docs/theory/asset_sizing.rst @@ -29,7 +29,7 @@ For the sizing MESIDO supports three general methods, which can be applied to di Continious Sizing ----------------- -If an asset is continuously sized, the max size variable :math:`x^{a}_{max}` must if given to be larger than the state, :math:`x^{a}`, (e.g. power) with which the size scales. +If an asset is continuously sized then the max size variable, :math:`x^{a}_{max}`, must be larger than the state, :math:`x^{a}`, (e.g. power) for every time step. .. math:: :label: eq:limit_power_ates diff --git a/docs/theory/heat_physics.rst b/docs/theory/heat_physics.rst index 4dbb5162f..266295532 100644 --- a/docs/theory/heat_physics.rst +++ b/docs/theory/heat_physics.rst @@ -3,7 +3,7 @@ Heat Physics ============ -Mesido models thermal power (:math:`\dot{Q}`), volumetric flow (:math:`\dot{V}`), and head (:math:`H`) for DHS systems. +MESIDO models thermal power (:math:`\dot{Q}`), volumetric flow (:math:`\dot{V}`), and head (:math:`H`) for DHS systems. These variables are modelled over all timesteps :math:`K` and for each asset in the system :math:`A`. An asset :math:`a \in A` in the system is modelled using a set of in-ports, denoted by :math:`I^a_{in} \neq \emptyset`, and a set of out-ports, denoted by :math:`I^a_{out} \neq \emptyset`, with :math:`I^a` denoting the union of these two sets. For an asset :math:`a` the three variables :math:`\dot{Q}_i, \dot{V}_i`, and :math:`H_i` denote the thermal power, volumetric flow and head for port :math:`i \in I^a`. For readability, the variables and equations of the model, given below, are defined without indexing the variables and sets for each timestep. @@ -155,7 +155,7 @@ Although the constraints by themselves will not guarantee a physically feasible Schematic visualization of how the linear constraints are fitted to the head loss curve. This method with linear inequalities is only valid when every unique route the flow can take in the network has a control valve to compensate non-physical head loss induced by the optimizer. -Alternatively a (piece-wise) linear equality constraint between min and max flow-rate can be configured for cases where this assumption is invalid. +Alternatively a (piece-wise) linear equality constraint between min and max flow rate can be configured for cases where this assumption is invalid. KOBUS CAN YOU WRITE OUT THE EQUATIONS FOR THIS. @@ -213,7 +213,7 @@ The source adds thermal power to the network. The energy balance is given by :eq:`eq:general_energy_balance` where :math:`\dot{Q}^a_{consumed}` is equal to the (negative) value of the produced heat. The addition of energy is executed by increasing the temperature of the incoming water (the return network) to the outgoing supply temperature. -Therefore, the volumetric flow-rate is linked to the outgoing thermal power with the outgoing supply temperature with equality constraints: +Therefore, the volumetric flow rate is linked to the outgoing thermal power with the outgoing supply temperature with equality constraints: .. math:: @@ -232,7 +232,7 @@ The overestimation of the thermal power required will induce an overestimation o The source is assumed to act within one hydraulically coupled network, :eq:`eq:flow_balance`. -A source is modelled with a pump to reach its desired flow-rate and head: +A source is modelled with a pump to reach its desired flow rate and head: .. math:: :label: eq:source_pump_dh From 1dcf925f1b16854d7379c52ee300947c5502ac7b Mon Sep 17 00:00:00 2001 From: Femke Janssen Date: Fri, 24 May 2024 17:39:33 +0200 Subject: [PATCH 130/376] fixed typos in heat_physics --- docs/theory/heat_physics.rst | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/theory/heat_physics.rst b/docs/theory/heat_physics.rst index 266295532..44d952765 100644 --- a/docs/theory/heat_physics.rst +++ b/docs/theory/heat_physics.rst @@ -11,13 +11,13 @@ The equations below are assumed to hold for every timestep, unless otherwise spe Modelling specifically these three variables allows to ensure a hydraulically feasible solution whilst linearizing the physics. Energy changes are modelled with the assumption of a constant temperature throughout the network. -Although this assumption is not realistic, the linearization made will show that the effects of these assumptions are relatively small and conservative to the objective function outcome. +Although this assumption is not realistic, the linearizations made will show that the effects of these assumptions are relatively small and conservative to the objective function outcome. General Physics --------------- The DHS is modelled as a closed loop system and thus at every timestep and for every asset, mass balance should hold. -The system is modeled with constant temperature and thus constant density and specific heat. +The system is modelled with constant temperature and thus constant density and specific heat. The mass balance is provided as a volumetric flow balance in :eq:`eq:flow_balance`. .. math:: @@ -26,7 +26,7 @@ The mass balance is provided as a volumetric flow balance in :eq:`eq:flow_balanc \sum_{i \in I^a} \dot{V}_{i} = 0 \;\; \forall a \in A -To garuantee energy balance :eq:`eq:general_energy_balance` is applied. +The energy balance is guaranteed by :eq:`eq:general_energy_balance`. .. math:: :label: eq:general_energy_balance @@ -34,7 +34,7 @@ To garuantee energy balance :eq:`eq:general_energy_balance` is applied. \sum_{i \in I} \dot{Q}_i + \dot{Q}^a_{consumed} = 0 \;\; \forall a \in A :math:`\dot{Q}^a_{consumed}` is the thermal power consumed by asset :math:`a`. -The power losses for the asset are included in this variable. Furthermore, the convention that positive consumed power is equal to thermal power production of an asset. +The power losses for the asset are included in this variable. Furthermore, the convention is that positive consumed thermal power is equal to thermal power production of an asset. Network Physics --------------- @@ -95,12 +95,12 @@ where \dot{Q}_{i} - \delta_{discon}M \leq 0 \;\; \forall i \in I^a \;\; \forall a \in A_{pipes}. -Here :math:`M` is a sufficiently large constant used in a method called the big-M method :cite:`vielma2015mixed`. +Here :math:`M` is a sufficiently large constant used in a method called the big-M method :cite:`vielma2015mixed` to enable or disable a constraint. The thermal power loss is assumed to be constant as the pipe temperature is assumed to be constant. The outgoing temperatures at the assets (e.g. supply at the source and return at the demand) are used to ensure an overestimation of the thermal loss. In reality the temperature w.r.t. the ambient decreases as the temperature drops over the pipe with the energy loss. -Typical temperature drops in the primary network are up to 3 degrees, this implies that for medium temperature networks, operating at 75 degrees and with an ambient of 15 degrees, the error for the heat loss estimation is less than :math:`\frac{3}{75-15} \approx 5\%`. +Typical temperature drops in the primary network are up to 3 degrees, this implies that for medium temperature networks, operating at 75°C and with an ambient of 15°C, the error for the heat loss estimation is less than :math:`\frac{3}{75-15} \approx 5\%`. Inequality constraints are used to relate the volumetric flow :math:`\dot{V}` and the heat flow :math:`\dot{Q}` through pipes as a compensation of heat losses is required. Please note that the :math:`\dot{V}` and the heat flow :math:`\dot{Q}` will be related by equality constraints for the outgoing flow at the assets, ensuring that the thermal power propagates correctly through the network. @@ -194,7 +194,7 @@ Node The node conserves the flow with :eq:`eq:flow_balance` and the energy with :eq:`eq:general_energy_balance`. -All heads connected to the node must be equal to ensure hydraulically feasible solution: +The head of all pipes connected to the node must be equal to ensure a hydraulically feasible solution: .. math:: :label: eq:node_head @@ -254,11 +254,11 @@ an equality constraint relates outgoing thermal power with volumetric flow: where :math:`A_{demand}` is the set of demand assets. -The combination of constraints ate the producers and demands, results in a smaller achieved temperature difference at the demand than the difference between the given temperatures for the supply and return side, and a larger achieved temperature difference at the producer. +The combination of constraints a the producers and demands, results in a smaller achieved temperature difference at the demand than the difference between the given temperatures for the supply and return side, and a larger achieved temperature difference at the producer. -Similar as for the source the demand acts within one hydraulically coupled system under the same assumptions, see :eq:`eq:flow_balance`. +Similar as for the source, the demand acts within one hydraulically coupled system under the same assumptions, see :eq:`eq:flow_balance`. -Every demand is modelled with a control valve to regulate its flow. In reality a minimum head loss is be maintained is ofter maintained: +Every demand is modelled with a control valve to regulate its flow. In reality a minimum head loss is often maintained: .. math:: :label: eq:demand_head @@ -277,14 +277,14 @@ Storage assets add time flexibility with the production and consumption of therm \dot{Q}^{a}_{consumed} = \sum_{i \in I^a_{in}} \dot{Q}^{a}_{i} - \sum_{i \in I^a_{out}} \dot{Q}^{a}_{i} - \dot{Q}^{a}_{loss} \;\; \forall a \in A_{storage}. -The consumed heat of the storage assets is equated to the change change in stored heat, :math:`\dot{Q}^{a}_{stored}`: +The consumed heat of the storage assets is equated to the change in stored heat, :math:`\dot{Q}^{a}_{stored}`: .. math:: :label: eq:stored_heat \dot{Q}^{a}_{consumed} = \dot{Q}^{a}_{stored} \;\; \forall a \in A_{storage} -Like the source and demand assets the storage needs equality constraints relating the outgoing flow to the thermal power. +Like the source and demand assets, the storage needs equality constraints relating the outgoing flow to the thermal power. Unlike the demand and source the outgoing flow can be either on the in or out port depending whether the storage is charging or discharging. The default convention is that charging indicates positive flow, therefore :math:`\delta_{dir}` can be used as an integer for charging/discharging. Equations :eq:`eq:storage_heat2discharge1` and :eq:`eq:storage_heat2discharge2` are active during charging, and during discharging, @@ -343,8 +343,8 @@ Two HT-ATES modelling methods are available. The first approximation for heat lo The second method: COMING SOON... -Similarly as for the other assets the storage assets are assumed to act within the hydraulically coupled system, -nonetheless the volumetric flow balance requires additional equations. +Similarly as for the other assets, the storage assets are assumed to act within the hydraulically coupled system; +nonetheless, the volumetric flow balance requires additional equations. The storage is modelled as an asset with a hot and cold volume. The total volume will be conserved by the in- and outflow at the storage. From a768df8274b5800b02813959d4fcbe6dc1480a2b Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 27 May 2024 12:00:33 +0200 Subject: [PATCH 131/376] head loss docs update --- docs/theory/heat_physics.rst | 44 ++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/docs/theory/heat_physics.rst b/docs/theory/heat_physics.rst index 44d952765..e3a4b9990 100644 --- a/docs/theory/heat_physics.rst +++ b/docs/theory/heat_physics.rst @@ -143,23 +143,7 @@ The head loss, :math:`dH` must be compensated by pumps which are assumed to be l Steady-state head losses can be closely modelled with a quadratic relation w.r.t. :math:`\dot{V}`. A set of linear inequalities is used, see :numref:`inequalitydH`, to approximate the quadratic curve. -The general form of the inequalities is given below in :eq:`eq:pipe_head_loss1`-:eq:`eq:pipe_hp2` These inequalities force the head loss to be greater or equal to the approximated quadratic curve. -Although the constraints by themselves will not guarantee a physically feasible answer, the optimization will in drag the solution to an equality constraint as the objective function will minimize cost which reduces with lower pressure drop. - -.. _inequalitydH: - -.. figure:: ../images/linearlines.png - :figwidth: 6.94792in - :align: center - - Schematic visualization of how the linear constraints are fitted to the head loss curve. - -This method with linear inequalities is only valid when every unique route the flow can take in the network has a control valve to compensate non-physical head loss induced by the optimizer. -Alternatively a (piece-wise) linear equality constraint between min and max flow rate can be configured for cases where this assumption is invalid. - -KOBUS CAN YOU WRITE OUT THE EQUATIONS FOR THIS. - -Note that the big M method is used with the flow direction and disconnected integers to allow for modelling of bi-directional flow and the ability to disconnect pipes. +The general form of the inequalities is given below in :eq:`eq:pipe_head_loss1`-:eq:`eq:pipe_head_loss2`. Note that the big M method is used with the flow direction and disconnected integers to allow for modelling of bi-directional flow and the ability to disconnect pipes. .. math:: :label: eq:pipe_head_loss1 @@ -173,6 +157,17 @@ Note that the big M method is used with the flow direction and disconnected inte Where :math:`(\alpha_j, \beta_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. +These inequalities force the head loss to be greater or equal to the approximated quadratic curve. +Although the constraints by themselves will not guarantee a physically feasible answer, the optimization will in drag the solution to an equality constraint as the objective function will minimize cost which reduces with lower pressure drop. + +.. _inequalitydH: + +.. figure:: ../images/linearlines.png + :figwidth: 6.94792in + :align: center + + Schematic visualization of how the linear constraints are fitted to the head loss curve. + Similar as with head loss the hydraulic power, :math:`HP^a`, required to overcome the head losses is modelled with a set of linear inequalities: .. math:: @@ -189,6 +184,21 @@ Similar as with head loss the hydraulic power, :math:`HP^a`, required to overcom Here :math:`(c_j, d_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. +The method with linear inequalities, as represented above, is only valid when each possible unique flow path route in the network has a control valve to compensate non-physical head loss induced by the optimizer. Alternatively a (piece-wise) linear equality constraint between min and max flow rate can be configured for cases where this assumption is invalid, with the general form represented by :eq:`eq:pipe_head_loss3`-:eq:`eq:pipe_head_loss4`. + +.. math:: + :label: eq:pipe_head_loss3 + + dH - (\alpha_j \dot{V} + \beta_j) + (\delta^a_{discon} + (1-\delta^a_{dir}) + (1 - \delta^a_{line\_seg}))M\geq 0 \\ \delta^a_{line\_seg} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, + +.. math:: + :label: eq:pipe_head_loss4 + + dH - (\alpha_j\dot{V} + \beta_j) - (\delta^a_{discon} + \delta^a_{dir} + (1 - \delta^a_{line\_seg}))M\leq 0 \\ \delta^a_{line\_seg} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}. + +Where :math:`(\alpha_j, \beta_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. Variable :math:`\delta_{line\_seg}` reperesents an integer value indicating if a linear line segment is active (value = 1) or not (value = 0). + + Node ~~~~ From f0b8f6337a24212331bd17683ac85088665b0f78 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 28 May 2024 09:22:46 +0200 Subject: [PATCH 132/376] Docs: Feedback to comments + update/inlcude head losses --- docs/theory/heat_physics.rst | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/docs/theory/heat_physics.rst b/docs/theory/heat_physics.rst index e3a4b9990..5cb8b0871 100644 --- a/docs/theory/heat_physics.rst +++ b/docs/theory/heat_physics.rst @@ -34,7 +34,7 @@ The energy balance is guaranteed by :eq:`eq:general_energy_balance`. \sum_{i \in I} \dot{Q}_i + \dot{Q}^a_{consumed} = 0 \;\; \forall a \in A :math:`\dot{Q}^a_{consumed}` is the thermal power consumed by asset :math:`a`. -The power losses for the asset are included in this variable. Furthermore, the convention is that positive consumed thermal power is equal to thermal power production of an asset. +The power losses for the asset are included in this variable. Network Physics --------------- @@ -148,12 +148,12 @@ The general form of the inequalities is given below in :eq:`eq:pipe_head_loss1`- .. math:: :label: eq:pipe_head_loss1 - dH - (\alpha_j \dot{V} + \beta_j) + (\delta^a_{discon} + 1-\delta^a_{dir})M\geq 0 \\ \forall (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, + dH - (\alpha_j \dot{V} + \beta_j) + (\delta^a_{discon} + \delta^a_{dir})M\geq 0 \\ \forall (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, .. math:: :label: eq:pipe_head_loss2 - dH - (\alpha_j\dot{V} + \beta_j) - (\delta^a_{discon} + \delta^a_{dir})M\leq 0 \\ \forall (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}. + dH + (\alpha_j\dot{V} + \beta_j) - (\delta^a_{discon} + (1-\delta^a_{dir}))M\leq 0 \\ \forall (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}. Where :math:`(\alpha_j, \beta_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. @@ -184,19 +184,29 @@ Similar as with head loss the hydraulic power, :math:`HP^a`, required to overcom Here :math:`(c_j, d_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. -The method with linear inequalities, as represented above, is only valid when each possible unique flow path route in the network has a control valve to compensate non-physical head loss induced by the optimizer. Alternatively a (piece-wise) linear equality constraint between min and max flow rate can be configured for cases where this assumption is invalid, with the general form represented by :eq:`eq:pipe_head_loss3`-:eq:`eq:pipe_head_loss4`. +The method with linear inequalities, as represented above, is only valid when each possible unique flow path route in the network has a control valve to compensate non-physical head loss induced by the optimizer. Alternatively a (piece-wise) linear equality constraint between min and max flow rate can be configured for cases where this assumption is invalid, with the general form represented by :eq:`eq:pipe_head_loss3`-:eq:`eq:pipe_head_loss6`. .. math:: :label: eq:pipe_head_loss3 - dH - (\alpha_j \dot{V} + \beta_j) + (\delta^a_{discon} + (1-\delta^a_{dir}) + (1 - \delta^a_{line\_seg}))M\geq 0 \\ \delta^a_{line\_seg} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, + dH - (\alpha_j \dot{V} + \beta_j) + (\delta^a_{discon} + \delta^a_{dir} + (1 - \delta^a_{line\_seg_{k}}))M\geq 0 \\ \delta^a_{line\_seg_{k}} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, .. math:: :label: eq:pipe_head_loss4 - dH - (\alpha_j\dot{V} + \beta_j) - (\delta^a_{discon} + \delta^a_{dir} + (1 - \delta^a_{line\_seg}))M\leq 0 \\ \delta^a_{line\_seg} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}. + dH - (\alpha_j\dot{V} + \beta_j) - (\delta^a_{discon} - \delta^a_{dir} + (1 - \delta^a_{line\_seg_{k}}))M\geq 0 \\ \delta^a_{line\_seg_{k}} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, -Where :math:`(\alpha_j, \beta_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. Variable :math:`\delta_{line\_seg}` reperesents an integer value indicating if a linear line segment is active (value = 1) or not (value = 0). +.. math:: + :label: eq:pipe_head_loss5 + + dH + (\alpha_j \dot{V} + \beta_j) - (\delta^a_{discon} + (1 - \delta^a_{dir}) + (1 - \delta^a_{line\_seg_{k}}))M\leq 0 \\ \delta^a_{line\_seg_{k}} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, + +.. math:: + :label: eq:pipe_head_loss6 + + dH + (\alpha_j\dot{V} + \beta_j) + (\delta^a_{discon} - (1-\delta^a_{dir}) + (1 - \delta^a_{line\_seg_{k}}))M\leq 0 \\ \delta^a_{line\_seg_{k}} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}. + +Where :math:`(\alpha_j, \beta_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. Variable :math:`\delta^a_{line\_seg_{k}}` reperesents an integer, for pipe :math:`a`, value indicating if a linear line segment :math:`k` is active (value = 1) or not (value = 0). This would imply that if a quadratic curve is represented by 3 linear lines for instance, then only 1 of the linear lines are appplicable at a specific timestep. Node @@ -264,7 +274,7 @@ an equality constraint relates outgoing thermal power with volumetric flow: where :math:`A_{demand}` is the set of demand assets. -The combination of constraints a the producers and demands, results in a smaller achieved temperature difference at the demand than the difference between the given temperatures for the supply and return side, and a larger achieved temperature difference at the producer. +The combination of constraints at the producers and demands, results in a smaller achieved temperature difference at the demand than the difference between the given temperatures for the supply and return side, and a larger achieved temperature difference at the producer due to pipe heat losses. Similar as for the source, the demand acts within one hydraulically coupled system under the same assumptions, see :eq:`eq:flow_balance`. @@ -336,11 +346,6 @@ The efficiency factor is approximated assuming that tanks are cylindrical and lo For cylindrical tanks their surface area approximately increases linearly with the stored heat. A radiation coefficient, :math:`c_r`, of 1 :math:`W/m^2` is used as an approximation. -.. math:: - :label: eq:etatank - - \beta_{tank} = \frac{2c_r}{r\rho c_p} - HT-ATES ^^^^^^^ From 6e2b299195aaf6b1375299adf0630ba7f4b3796f Mon Sep 17 00:00:00 2001 From: Femke Janssen Date: Tue, 28 May 2024 09:41:29 +0200 Subject: [PATCH 133/376] fixed demand matching and use of HP to allows the wko stored_heat to have any initial value, but keeping cyclic constraint active, thus ensuring initial value is equal to final timestep --- tests/test_cold_demand.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 858079657..3cf0b7b13 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -98,6 +98,11 @@ def test_wko(self): base_folder = Path(example.__file__).resolve().parent.parent class HeatingCoolingProblem(HeatProblem): + # def energy_system_options(self): + # options = super().energy_system_options() + # options["neglect_pipe_heat_losses"] = True + # return options + def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) @@ -112,7 +117,7 @@ def constraints(self, ensemble_member): stored_heat = self.state_vector(f"{a}.Stored_heat") constraints.append(((stored_heat[-1] - stored_heat[0]), 0.0, 0.0)) # This was added to force the heatpump to start loading the WKO 1st 3 timesteps - constraints.append((stored_heat[0], 0.0, 0.0)) + # constraints.append((stored_heat[0], 0.0, 0.0)) # TODO: confirm if the yearly balance between warm and cold well is heat / flow # related? @@ -155,7 +160,7 @@ def constraints(self, ensemble_member): np.testing.assert_allclose( results["ATES_226d.Stored_heat"][0], results["ATES_226d.Stored_heat"][-1] ) - np.testing.assert_allclose(results["ATES_226d.Stored_heat"][0], 0.0) + # np.testing.assert_allclose(results["ATES_226d.Stored_heat"][0], 0.0) # Heat pump does not switch on to start loading the WKO. # Is this intended for some reason Femke? From 2e826ea200c7f66981d5ba8df16810e656b1320c Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 28 May 2024 11:33:05 +0200 Subject: [PATCH 134/376] Bug fix and updated test case: pipe DN update in esdl --- ...oC Tutorial_GrowOptimized_esdl_string.esdl | 442 ++++++++++++++++++ src/mesido/workflows/io/write_output.py | 8 +- tests/test_updated_esdl_post_process.py | 4 + 3 files changed, 450 insertions(+), 4 deletions(-) create mode 100644 examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_esdl_string.esdl diff --git a/examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_esdl_string.esdl b/examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_esdl_string.esdl new file mode 100644 index 000000000..4a82c6e6b --- /dev/null +++ b/examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_esdl_string.esdl @@ -0,0 +1,442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 97fb8e31f..c7b64611c 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -814,12 +814,12 @@ def _name_to_asset(name): # When a pipe has not been optimized, enforce pipe to be shown in the simulator # ESDL. if not pipe_classes: - if optimizer_sim: + if not optimizer_sim: continue else: asset.state = esdl.AssetStateEnum.ENABLED - if optimizer_sim: + if not optimizer_sim: pipe_class = self.get_optimized_pipe_class(pipe) cold_pipe = self.hot_to_cold_pipe(pipe) @@ -831,7 +831,7 @@ def _name_to_asset(name): # print(pipe + " has pipeclass: " + pipe_class.name ) # print(pipe + f" has diameter: " + pipe_class.name) - if optimizer_sim: + if not optimizer_sim: assert isinstance(pipe_class, EDRPipeClass) asset_edr = esh_edr.load_from_string(pipe_class.xml_string) @@ -849,7 +849,7 @@ def _name_to_asset(name): except UnboundLocalError: pass - if optimizer_sim: + if not optimizer_sim: for prop in edr_pipe_properties_to_copy: setattr(asset, prop, getattr(asset_edr, prop)) else: diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 8a36f2d0b..f041ad30c 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -139,6 +139,10 @@ def test_updated_esdl(self): # Check pipe diameter if len(fnmatch.filter([energy_system.instance[0].area.asset[ii].id], "Pipe*")) == 1: + if asset_name in ["Pipe1", "Pipe1_ret"]: # original pipe DN400 being sized + np.testing.assert_array_equal( + energy_system.instance[0].area.asset[ii].diameter.name, "DN150" + ) if asset_name not in ["Pipe4", "Pipe4_ret", "Pipe5", "Pipe5_ret"]: np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].diameter.name, "DN400" From 8e0fdb4312962b60550ed28d7c36529d4f186a0f Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 28 May 2024 11:35:34 +0200 Subject: [PATCH 135/376] Remove optimized result esdl file --- ...oC Tutorial_GrowOptimized_esdl_string.esdl | 442 ------------------ 1 file changed, 442 deletions(-) delete mode 100644 examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_esdl_string.esdl diff --git a/examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_esdl_string.esdl b/examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_esdl_string.esdl deleted file mode 100644 index 4a82c6e6b..000000000 --- a/examples/PoCTutorial/model/PoC Tutorial_GrowOptimized_esdl_string.esdl +++ /dev/null @@ -1,442 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From f81e7c53f450dc0eae11b875bd2ab686d6f378f8 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 28 May 2024 11:38:43 +0200 Subject: [PATCH 136/376] Update: ignore updated esdl file string file & added ignore *_fj_* --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 77c03b191..d01bc1ee7 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,9 @@ src/*.egg-info run_pipe_compare.py *_kvr_* .venv/ +# Femke Janssen +*_fj_* # Ignore ESDL files created by workflows *_GrowOptimized.esdl +*_GrowOptimized_esdl_string.esdl *_Simulation.esdl From 86c4b558fe68cc59367dcadb96c4f7f65490fd2f Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 28 May 2024 11:46:10 +0200 Subject: [PATCH 137/376] Formtting in test case --- tests/test_updated_esdl_post_process.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index f041ad30c..e53c05c6f 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -139,20 +139,20 @@ def test_updated_esdl(self): # Check pipe diameter if len(fnmatch.filter([energy_system.instance[0].area.asset[ii].id], "Pipe*")) == 1: - if asset_name in ["Pipe1", "Pipe1_ret"]: # original pipe DN400 being sized + if asset_name in ["Pipe1", "Pipe1_ret"]: np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].diameter.name, "DN150" - ) - if asset_name not in ["Pipe4", "Pipe4_ret", "Pipe5", "Pipe5_ret"]: + ) # original pipe DN400 being sized + elif asset_name not in ["Pipe4", "Pipe4_ret", "Pipe5", "Pipe5_ret"]: np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].diameter.name, "DN400" - ) + ) # pipe DN was not sized and should be the same as specified in the ESDL else: np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].diameter.name, "DN300", err_msg=f"Asset name {asset_name} was not expected in the ESDL", - ) + ) # pipe DN was not sized and should be the same as specified in the ESDL # Check aggregation count np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].aggregationCount, From 6422ee627a16233b31bcac165124084ec1afeff4 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 28 May 2024 14:06:22 +0200 Subject: [PATCH 138/376] Equation update --- docs/theory/heat_physics.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/theory/heat_physics.rst b/docs/theory/heat_physics.rst index 5cb8b0871..1b2e54741 100644 --- a/docs/theory/heat_physics.rst +++ b/docs/theory/heat_physics.rst @@ -194,7 +194,7 @@ The method with linear inequalities, as represented above, is only valid when ea .. math:: :label: eq:pipe_head_loss4 - dH - (\alpha_j\dot{V} + \beta_j) - (\delta^a_{discon} - \delta^a_{dir} + (1 - \delta^a_{line\_seg_{k}}))M\geq 0 \\ \delta^a_{line\_seg_{k}} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, + dH - (\alpha_j\dot{V} + \beta_j) - (\delta^a_{discon} + \delta^a_{dir} + (1 - \delta^a_{line\_seg_{k}}))M\leq 0 \\ \delta^a_{line\_seg_{k}} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, .. math:: :label: eq:pipe_head_loss5 @@ -204,7 +204,7 @@ The method with linear inequalities, as represented above, is only valid when ea .. math:: :label: eq:pipe_head_loss6 - dH + (\alpha_j\dot{V} + \beta_j) + (\delta^a_{discon} - (1-\delta^a_{dir}) + (1 - \delta^a_{line\_seg_{k}}))M\leq 0 \\ \delta^a_{line\_seg_{k}} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}. + dH + (\alpha_j\dot{V} + \beta_j) + (\delta^a_{discon} + (1-\delta^a_{dir}) + (1 - \delta^a_{line\_seg_{k}}))M\geq 0 \\ \delta^a_{line\_seg_{k}} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}. Where :math:`(\alpha_j, \beta_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. Variable :math:`\delta^a_{line\_seg_{k}}` reperesents an integer, for pipe :math:`a`, value indicating if a linear line segment :math:`k` is active (value = 1) or not (value = 0). This would imply that if a quadratic curve is represented by 3 linear lines for instance, then only 1 of the linear lines are appplicable at a specific timestep. From 94094fd64e8972e35f9777b5356d33bced82c186 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 29 May 2024 09:59:05 +0200 Subject: [PATCH 139/376] spelling fix --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 0b3c4c726..56010bbee 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,5 +1,5 @@ -Multi-Energy-Systems Integrated Desing and Operations Documentation +Multi-Energy-Systems Integrated Design and Operations Documentation =================================================================== This is the documentation for MESIDO. From 1b2890bcbc613e4691ebdf373d555b13214ea2d9 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 29 May 2024 15:33:50 +0200 Subject: [PATCH 140/376] Fix docs spelling mistake --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 0b3c4c726..56010bbee 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,5 +1,5 @@ -Multi-Energy-Systems Integrated Desing and Operations Documentation +Multi-Energy-Systems Integrated Design and Operations Documentation =================================================================== This is the documentation for MESIDO. From 3d075ce8a811d411bb99a16595f05b87916b0346 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 29 May 2024 15:51:26 +0200 Subject: [PATCH 141/376] manual fix bug optimized pipe dn not updated in esdl --- .gitignore | 3 +++ src/mesido/workflows/io/write_output.py | 8 ++++---- tests/test_updated_esdl_post_process.py | 10 +++++++--- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 77c03b191..d01bc1ee7 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,9 @@ src/*.egg-info run_pipe_compare.py *_kvr_* .venv/ +# Femke Janssen +*_fj_* # Ignore ESDL files created by workflows *_GrowOptimized.esdl +*_GrowOptimized_esdl_string.esdl *_Simulation.esdl diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 17a824388..15895c756 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -814,12 +814,12 @@ def _name_to_asset(name): # When a pipe has not been optimized, enforce pipe to be shown in the simulator # ESDL. if not pipe_classes: - if optimizer_sim: + if not optimizer_sim: continue else: asset.state = esdl.AssetStateEnum.ENABLED - if optimizer_sim: + if not optimizer_sim: pipe_class = self.get_optimized_pipe_class(pipe) cold_pipe = self.hot_to_cold_pipe(pipe) @@ -831,7 +831,7 @@ def _name_to_asset(name): # print(pipe + " has pipeclass: " + pipe_class.name ) # print(pipe + f" has diameter: " + pipe_class.name) - if optimizer_sim: + if not optimizer_sim: assert isinstance(pipe_class, EDRPipeClass) asset_edr = esh_edr.load_from_string(pipe_class.xml_string) @@ -849,7 +849,7 @@ def _name_to_asset(name): except UnboundLocalError: pass - if optimizer_sim: + if not optimizer_sim: for prop in edr_pipe_properties_to_copy: setattr(asset, prop, getattr(asset_edr, prop)) else: diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 8a36f2d0b..e53c05c6f 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -139,16 +139,20 @@ def test_updated_esdl(self): # Check pipe diameter if len(fnmatch.filter([energy_system.instance[0].area.asset[ii].id], "Pipe*")) == 1: - if asset_name not in ["Pipe4", "Pipe4_ret", "Pipe5", "Pipe5_ret"]: + if asset_name in ["Pipe1", "Pipe1_ret"]: + np.testing.assert_array_equal( + energy_system.instance[0].area.asset[ii].diameter.name, "DN150" + ) # original pipe DN400 being sized + elif asset_name not in ["Pipe4", "Pipe4_ret", "Pipe5", "Pipe5_ret"]: np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].diameter.name, "DN400" - ) + ) # pipe DN was not sized and should be the same as specified in the ESDL else: np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].diameter.name, "DN300", err_msg=f"Asset name {asset_name} was not expected in the ESDL", - ) + ) # pipe DN was not sized and should be the same as specified in the ESDL # Check aggregation count np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].aggregationCount, From ac6b1d3e93ceee01bf5d3297bef89c02f76f9cb5 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 14 Jun 2024 14:27:42 +0200 Subject: [PATCH 142/376] Decrease computational time heat_physics pre(): - use set data structure instead of a list --- src/mesido/asset_sizing_mixin.py | 10 ++++++---- src/mesido/heat_physics_mixin.py | 8 ++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 1d9d8848a..e5d851262 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -491,6 +491,7 @@ def pre(self): pipe_class_cost_ordering_name ] = (0.0, 1.0) + set_self_hot_pipes = set(self.hot_pipes) for pipe in self.energy_system_components.get("heat_pipe", []): pipe_classes = self.pipe_classes(pipe) # cold_pipe = self.hot_to_cold_pipe(pipe) @@ -679,7 +680,7 @@ def pre(self): for c in pipe_classes: neighbour = self.has_related_pipe(pipe) - if neighbour and pipe not in self.hot_pipes: + if neighbour and pipe not in set_self_hot_pipes: cold_pipe = self.cold_to_hot_pipe(pipe) pipe_class_var_name = f"{cold_pipe}__hn_pipe_class_{c.name}" pipe_class_ordering_name = ( @@ -1282,6 +1283,7 @@ def __pipe_topology_constraints(self, ensemble_member): unique_pipe_classes = self.get_unique_pipe_classes() pipe_class_count_sum = {pc.name: 0 for pc in unique_pipe_classes} + set_self_hot_pipes = set(self.hot_pipes) for p in self.energy_system_components.get("heat_pipe", []): try: pipe_classes = self._heat_pipe_topo_pipe_class_map[p] @@ -1290,7 +1292,7 @@ def __pipe_topology_constraints(self, ensemble_member): else: for pc in pipe_classes: neighbour = self.has_related_pipe(p) - if neighbour and p not in self.hot_pipes: + if neighbour and p not in set_self_hot_pipes: var_name = f"{self.cold_to_hot_pipe(p)}__hn_pipe_class_{pc.name}" else: var_name = f"{p}__hn_pipe_class_{pc.name}" @@ -1373,7 +1375,7 @@ def __pipe_topology_constraints(self, ensemble_member): pipe, pipe_classes, ) in self.__heat_pipe_topo_pipe_class_heat_loss_ordering_map.items(): - if pipe in self.hot_pipes and self.has_related_pipe(pipe): + if pipe in set_self_hot_pipes and self.has_related_pipe(pipe): heat_loss_sym_name = self._pipe_heat_loss_map[pipe] heat_loss_sym = self.extra_variable(heat_loss_sym_name, ensemble_member) cold_name = self._pipe_heat_loss_map[self.hot_to_cold_pipe(pipe)] @@ -1385,7 +1387,7 @@ def __pipe_topology_constraints(self, ensemble_member): self._pipe_heat_losses[self.hot_to_cold_pipe(pipe)], ) ] - elif pipe in self.hot_pipes and not self.has_related_pipe(pipe): + elif pipe in set_self_hot_pipes and not self.has_related_pipe(pipe): heat_loss_sym_name = self._pipe_heat_loss_map[pipe] heat_loss_sym = self.extra_variable(heat_loss_sym_name, ensemble_member) diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 5eee05803..b30e69df1 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -245,6 +245,10 @@ def _get_min_bound(bound): bounds = self.bounds() + # Set structure used instead of list. Purpose: to make lookup faster when there are many + # pipes in the network. + set_self_hot_pipes = set(self.hot_pipes) + for pipe_name in self.energy_system_components.get("heat_pipe", []): head_loss_var = f"{pipe_name}.__head_loss" initialized_vars = self._hn_head_loss_class.initialize_variables_nominals_and_bounds( @@ -290,7 +294,7 @@ def _get_min_bound(bound): ] = initialized_vars[10][pipe_linear_line_segment_var_name] neighbour = self.has_related_pipe(pipe_name) - if neighbour and pipe_name not in self.hot_pipes: + if neighbour and pipe_name not in set_self_hot_pipes: flow_dir_var = f"{self.cold_to_hot_pipe(pipe_name)}__flow_direct_var" else: flow_dir_var = f"{pipe_name}__flow_direct_var" @@ -320,7 +324,7 @@ def _get_min_bound(bound): if parameters[f"{pipe_name}.disconnectable"]: neighbour = self.has_related_pipe(pipe_name) - if neighbour and pipe_name not in self.hot_pipes: + if neighbour and pipe_name not in set_self_hot_pipes: disconnected_var = f"{self.cold_to_hot_pipe(pipe_name)}__is_disconnected" else: disconnected_var = f"{pipe_name}__is_disconnected" From 42c4bf4681c3b5ea3cea822de74e4e0e32a6b658 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 14 Jun 2024 14:28:27 +0200 Subject: [PATCH 143/376] Load unique profiles from database instead of all the profiles --- src/mesido/esdl/profile_parser.py | 58 ++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index c72030497..4bb79e823 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -196,17 +196,48 @@ def _load_profiles_from_source( profiles: Dict[str, np.ndarray] = dict() logger.info("Reading profiles from InfluxDB") self._reference_datetimes = None + + # Get list of unique profiles and associated series based on specific profile attributes + unique_profiles = [] + unique_profiles_attributes = [] # a list containning lists of attributes + unique_series = [] for profile in [ x for x in self._energy_system.eAllContents() if isinstance(x, esdl.InfluxDBProfile) ]: - series = self._load_profile_timeseries_from_database(profile=profile) - self._check_profile_time_series(profile_time_series=series, profile=profile) + if [ + profile.database, + profile.field, + profile.host, + profile.startDate, + profile.endDate, + profile.measurement, + profile.port, + ] not in unique_profiles_attributes: + unique_profiles_attributes.append( + [ + profile.database, + profile.field, + profile.host, + profile.startDate, + profile.endDate, + profile.measurement, + profile.port, + ] + ) + unique_profiles.append(profile) + + unique_series.append( + self._load_profile_timeseries_from_database(profile=unique_profiles[-1]) + ) + self._check_profile_time_series( + profile_time_series=unique_series[-1], profile=unique_profiles[-1] + ) if self._reference_datetimes is None: # TODO: since the previous function ensures it's a date time index, I'm not sure # how to get rid of this type checking warning - self._reference_datetimes = series.index + self._reference_datetimes = unique_series[-1].index else: - if not all(series.index == self._reference_datetimes): + if not all(unique_series[-1].index == self._reference_datetimes): raise RuntimeError( f"Obtained a profile for asset {profile.field} with a " f"timeseries index that doesn't match the timeseries of " @@ -214,6 +245,25 @@ def _load_profiles_from_source( f"specified to be loaded for each asset covers exactly the " f"same timeseries. " ) + # Loop trough all the requried profiles in the energy system and assign the profile data: + # - series: use the unique series data, without reading from the database again + # - other profile info: get it from the specific profile + for profile in [ + x for x in self._energy_system.eAllContents() if isinstance(x, esdl.InfluxDBProfile) + ]: + index_of_unique_profile = unique_profiles_attributes.index( + [ + profile.database, + profile.field, + profile.host, + profile.startDate, + profile.endDate, + profile.measurement, + profile.port, + ] + ) + series = unique_series[index_of_unique_profile] + self._check_profile_time_series(profile_time_series=series, profile=profile) converted_dataframe = self._convert_profile_to_correct_unit( profile_time_series=series, profile=profile ) From 23855b07ed94a571d533834dcdb22527031cdc69 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 17 Jun 2024 10:10:39 +0200 Subject: [PATCH 144/376] bug fix --- src/mesido/esdl/profile_parser.py | 38 +++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 4bb79e823..c06c731d2 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -226,25 +226,25 @@ def _load_profiles_from_source( ) unique_profiles.append(profile) - unique_series.append( - self._load_profile_timeseries_from_database(profile=unique_profiles[-1]) - ) - self._check_profile_time_series( - profile_time_series=unique_series[-1], profile=unique_profiles[-1] - ) - if self._reference_datetimes is None: - # TODO: since the previous function ensures it's a date time index, I'm not sure - # how to get rid of this type checking warning - self._reference_datetimes = unique_series[-1].index - else: - if not all(unique_series[-1].index == self._reference_datetimes): - raise RuntimeError( - f"Obtained a profile for asset {profile.field} with a " - f"timeseries index that doesn't match the timeseries of " - f"other assets. Please ensure that the profile that is " - f"specified to be loaded for each asset covers exactly the " - f"same timeseries. " - ) + unique_series.append( + self._load_profile_timeseries_from_database(profile=unique_profiles[-1]) + ) + self._check_profile_time_series( + profile_time_series=unique_series[-1], profile=unique_profiles[-1] + ) + if self._reference_datetimes is None: + # TODO: since the previous function ensures it's a date time index, I'm not sure + # how to get rid of this type checking warning + self._reference_datetimes = unique_series[-1].index + else: + if not all(unique_series[-1].index == self._reference_datetimes): + raise RuntimeError( + f"Obtained a profile for asset {profile.field} with a " + f"timeseries index that doesn't match the timeseries of " + f"other assets. Please ensure that the profile that is " + f"specified to be loaded for each asset covers exactly the " + f"same timeseries. " + ) # Loop trough all the requried profiles in the energy system and assign the profile data: # - series: use the unique series data, without reading from the database again # - other profile info: get it from the specific profile From 10fb6054f33b8fd1c98a57451884f461c43ad606 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 17 Jun 2024 11:07:48 +0200 Subject: [PATCH 145/376] Reduce demand load in network --- examples/PoCTutorial/model/PoC Tutorial.esdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/PoCTutorial/model/PoC Tutorial.esdl b/examples/PoCTutorial/model/PoC Tutorial.esdl index 04b647e30..c4f21eccf 100644 --- a/examples/PoCTutorial/model/PoC Tutorial.esdl +++ b/examples/PoCTutorial/model/PoC Tutorial.esdl @@ -318,7 +318,7 @@ - + From 614e7afafbe289ac7abe2833812c2e779721d61a Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 17 Jun 2024 11:26:32 +0200 Subject: [PATCH 146/376] update network with unique multiplier values --- examples/PoCTutorial/model/PoC Tutorial.esdl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/PoCTutorial/model/PoC Tutorial.esdl b/examples/PoCTutorial/model/PoC Tutorial.esdl index c4f21eccf..fcf030e42 100644 --- a/examples/PoCTutorial/model/PoC Tutorial.esdl +++ b/examples/PoCTutorial/model/PoC Tutorial.esdl @@ -287,7 +287,7 @@ - + @@ -347,7 +347,7 @@ - + From a4a2b09cf7b2e8d16d3bf0e4c0b2ca5662c7d73c Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 17 Jun 2024 11:32:57 +0200 Subject: [PATCH 147/376] Update test case to include checking that the correct profile is assigned per demand --- tests/test_updated_esdl_pre_process.py | 36 +++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/tests/test_updated_esdl_pre_process.py b/tests/test_updated_esdl_pre_process.py index a3dc3e3a6..5b9868d7d 100644 --- a/tests/test_updated_esdl_pre_process.py +++ b/tests/test_updated_esdl_pre_process.py @@ -5,9 +5,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import run_end_scenario_sizing +import numpy as np -class TestUpdatedESDL(TestCase): +class TestUpdatedESDL(TestCase): def test_updated_esdl(self): """ Check that the updated ESDL resulting from optmizing a network, is correct by using the @@ -15,6 +16,10 @@ def test_updated_esdl(self): string created by MESIDO. Both these resulting optimized energy systems should be identical and it is only the MESIDO esdl saving method that differs. + Additional checks: + - Check that the unique profile identification in profile_parser assigns the correct + profile + """ root_folder = str(Path(__file__).resolve().parent.parent) @@ -42,6 +47,35 @@ def test_updated_esdl(self): file.write(optimized_esdl_string) file.close() + # Check the unique profile identification in profile_parser + # Test that the correct demand profile is assigned to a demand as expected. Note that the + # demand profiles are the adapted profiles (peak-hourly, rest-5daily). Therefore the + # expected max and average hard-coded values are compared to the problem values. + np.testing.assert_allclose( + 1201200.0, # demand4_MW, multiplier 0.75 + max(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values), + ) + np.testing.assert_allclose( + 720720.0, # demand5_MW, multiplier 0.3 + max(problem.get_timeseries("HeatingDemand_8fbe.target_heat_demand").values), + ) + np.testing.assert_allclose( + 916316.712, # demand1_MW, multiplier 0.5 + max(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values), + ) + np.testing.assert_allclose( + 443413.79, # demand4_MW, multiplier 0.75 + np.average(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values), + ) + np.testing.assert_allclose( + 266048.27, # demand5_MW, multiplier 0.3 + np.average(problem.get_timeseries("HeatingDemand_8fbe.target_heat_demand").values), + ) + np.testing.assert_allclose( + 575570.74, # demand1_MW, multiplier 0.5 + np.average(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values), + ) + if __name__ == "__main__": import time From 2897407fcb1e44c6165e746580444cfd049de51f Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 17 Jun 2024 16:28:59 +0200 Subject: [PATCH 148/376] influxdb results update: - database name now output esdl id - simulationRun now unique id of optimization run --- src/mesido/workflows/io/write_output.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index c7b64611c..5bb33e968 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -302,8 +302,14 @@ def _write_updated_esdl(self, energy_system, optimizer_sim: bool = False): results = self.extract_results() parameters = self.parameters(0) - input_energy_system_id = energy_system.id - energy_system.id = str(uuid.uuid4()) + _ = energy_system.id # input energy system id. Kept here as not sure if still needed + energy_system.id = str(uuid.uuid4()) # output energy system id + output_energy_system_id = energy_system.id + # Currently the simulation_id is created here, but in the future this will probably move + # to account for 1 simulation/optimization/run potentialy generating more than 1 output + # energy system (ESDL) + simulation_id = str(uuid.uuid4()) # simulation (optimization/simulator etc) id + if optimizer_sim: energy_system.name = energy_system.name + "_Simulation" else: @@ -882,7 +888,7 @@ def _name_to_asset(name): port=self.influxdb_port, username=self.influxdb_username, password=self.influxdb_password, - database=input_energy_system_id, + database=output_energy_system_id, ssl=self.influxdb_ssl, verify_ssl=self.influxdb_verify_ssl, ) @@ -1103,7 +1109,7 @@ def _name_to_asset(name): end_date_time = self.io.datetimes[-1] profile_attributes = esdl.InfluxDBProfile( - database=input_energy_system_id, + database=output_energy_system_id, measurement=asset_name, field=profiles.profile_header[-1], port=self.influxdb_port, @@ -1193,7 +1199,7 @@ def _name_to_asset(name): ) optim_simulation_tag = { - "simulationRun": energy_system.id, + "simulationRun": simulation_id, "simulation_type": type(self).__name__, "assetId": asset_id, "assetName": asset_name, From ec6c470b46280e077d1e157c6e4951ffcf83dac4 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 17 Jun 2024 16:29:55 +0200 Subject: [PATCH 149/376] only write updated esdl and updated influxdb at the end of optimization (last stage) --- src/mesido/workflows/grow_workflow.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 2842bff27..c4d806232 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -1,6 +1,7 @@ import locale import logging import os +import sys import time from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin @@ -344,7 +345,20 @@ def post(self): parameters = self.parameters(0) # bounds = self.bounds() # Optimized ESDL - self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) + # Assume there are either no stages (write updated ESDL) or a 2 stages (only write final + # results on stage 2) + try: + if self._stage == 2: # When staging does exists + self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) + elif self._stage > 2: + logger.error(f"The code does not cater for a straging value of: {self._stage}") + sys.exit(1) + except AttributeError: + # Staging does not exist + self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) + except Exception: + logger.error("Unkown error occured when evaluating self._stage for _write_updated_esdl") + sys.exit(1) for d in self.energy_system_components.get("heat_demand", []): realized_demand = results[f"{d}.Heat_demand"] From 58133cfae0b6e9965cde040c35e2869989b893ee Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 19 Jun 2024 12:02:59 +0200 Subject: [PATCH 150/376] add network type check, onlu use write_updated_esdl for heat --- src/mesido/workflows/emerge.py | 3 ++- src/mesido/workflows/grow_workflow.py | 6 +++++- src/mesido/workflows/io/write_output.py | 12 +++++++++++- src/mesido/workflows/simulator_workflow.py | 5 ++++- tests/test_head_loss.py | 4 +++- tests/test_multiple_in_and_out_port_components.py | 8 ++++++-- 6 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/mesido/workflows/emerge.py b/src/mesido/workflows/emerge.py index 8020826c7..fb1c479c3 100644 --- a/src/mesido/workflows/emerge.py +++ b/src/mesido/workflows/emerge.py @@ -196,7 +196,8 @@ def post(self): super().post() # Optimized ESDL - self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) + # TODO: this code still has be to updated to cater for other network types + # self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) self._save_json = False diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 2842bff27..037ea0dd8 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -6,6 +6,7 @@ from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin from mesido.esdl.esdl_mixin import ESDLMixin from mesido.head_loss_class import HeadLossOption +from mesido.network_common import NetworkSettings from mesido.techno_economic_mixin import TechnoEconomicMixin from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO from mesido.workflows.io.write_output import ScenarioOutput @@ -344,7 +345,10 @@ def post(self): parameters = self.parameters(0) # bounds = self.bounds() # Optimized ESDL - self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) + self._write_updated_esdl( + self._ESDLMixin__energy_system_handler.energy_system, + NetworkSettings.NETWORK_TYPE_HEAT, + ) for d in self.energy_system_components.get("heat_demand", []): realized_demand = results[f"{d}.Heat_demand"] diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index c7b64611c..238a4a9b2 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -16,6 +16,7 @@ import mesido.esdl.esdl_parser from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.esdl.edr_pipe_class import EDRPipeClass +from mesido.network_common import NetworkSettings from mesido.techno_economic_mixin import TechnoEconomicMixin from mesido.workflows.utils.helpers import _sort_numbered @@ -296,7 +297,16 @@ def _write_html_output(self, template_name="mpc_buffer_sizing_output"): ) ) - def _write_updated_esdl(self, energy_system, optimizer_sim: bool = False): + def _write_updated_esdl( + self, + energy_system, + network_type, + optimizer_sim: bool = False, + ): + if network_type != NetworkSettings.NETWORK_TYPE_HEAT: + logger.error(f"_write_updated_esdl does not support network type: {network_type}") + sys.exit(1) + from esdl.esdl_handler import EnergySystemHandler results = self.extract_results() diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index a534d9446..185aab516 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -5,6 +5,7 @@ from mesido.esdl.esdl_mixin import ESDLMixin from mesido.head_loss_class import HeadLossOption +from mesido.network_common import NetworkSettings from mesido.techno_economic_mixin import TechnoEconomicMixin from mesido.workflows.io.write_output import ScenarioOutput from mesido.workflows.utils.adapt_profiles import ( @@ -313,7 +314,9 @@ class NetworkSimulatorHIGHS(NetworkSimulator): def post(self): super().post() self._write_updated_esdl( - self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True + self._ESDLMixin__energy_system_handler.energy_system, + NetworkSettings.NETWORK_TYPE_HEAT, + optimizer_sim=True, ) def solver_options(self): diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 43cdcbe09..41cd095e3 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -49,7 +49,9 @@ class SourcePipeSinkDW(SourcePipeSink): # def post(self): # super().post() # self._write_updated_esdl( - # self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True + # self._ESDLMixin__energy_system_handler.energy_system, + # NetworkSettings.NETWORK_TYPE_HEAT, + # optimizer_sim=True, # ) def energy_system_options(self): diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 65c47710a..19b0ad483 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -39,7 +39,9 @@ class HeatProblemPost(HeatProblem): # def post(self): # super().post() # self._write_updated_esdl( - # self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True + # self._ESDLMixin__energy_system_handler.energy_system, + # NetworkSettings.NETWORK_TYPE_HEAT, + # optimizer_sim=True, # ) def energy_system_options(self): @@ -132,7 +134,9 @@ class HeatProblemPost(HeatProblem): # def post(self): # super().post() # self._write_updated_esdl( - # self._ESDLMixin__energy_system_handler.energy_system, optimizer_sim=True + # self._ESDLMixin__energy_system_handler.energy_system, + # NetworkSettings.NETWORK_TYPE_HEAT, + # optimizer_sim=True, # ) def energy_system_options(self): From 8f1c4edcda825b2fef207c46b7d1c4fd5c27f783 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 19 Jun 2024 12:03:59 +0200 Subject: [PATCH 151/376] bug fix write_updated_esdl: - can now update pipe info if return pipe is not "_ret" - updated test case --- examples/PoCTutorial/model/PoC Tutorial.esdl | 4 +-- src/mesido/workflows/io/write_output.py | 37 +++++++++----------- tests/test_updated_esdl_post_process.py | 6 +++- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/examples/PoCTutorial/model/PoC Tutorial.esdl b/examples/PoCTutorial/model/PoC Tutorial.esdl index 04b647e30..784f00c2e 100644 --- a/examples/PoCTutorial/model/PoC Tutorial.esdl +++ b/examples/PoCTutorial/model/PoC Tutorial.esdl @@ -33,7 +33,7 @@ - + @@ -180,7 +180,7 @@ - + diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 238a4a9b2..52cb89b9a 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -819,7 +819,8 @@ def _name_to_asset(name): esh_edr = EnergySystemHandler() - for pipe in self.hot_pipes: + for pipe in self.energy_system_components.get("heat_pipe", []): + pipe_classes = self.pipe_classes(pipe) # When a pipe has not been optimized, enforce pipe to be shown in the simulator # ESDL. @@ -831,7 +832,6 @@ def _name_to_asset(name): if not optimizer_sim: pipe_class = self.get_optimized_pipe_class(pipe) - cold_pipe = self.hot_to_cold_pipe(pipe) if parameters[f"{pipe}.diameter"] != 0.0 or any(np.abs(results[f"{pipe}.Q"]) > 1.0e-9): # if not isinstance(pipe_class, EDRPipeClass): @@ -843,29 +843,26 @@ def _name_to_asset(name): if not optimizer_sim: assert isinstance(pipe_class, EDRPipeClass) - asset_edr = esh_edr.load_from_string(pipe_class.xml_string) - for p in [pipe, cold_pipe]: - asset = _name_to_asset(p) - asset.state = esdl.AssetStateEnum.ENABLED + asset = _name_to_asset(pipe) + asset.state = esdl.AssetStateEnum.ENABLED - try: - asset.costInformation.investmentCosts.value = pipe_class.investment_costs - except AttributeError: - pass - # do nothing, in the case that no costs have been specified for the return - # pipe in the mapeditor - except UnboundLocalError: - pass + try: + asset.costInformation.investmentCosts.value = pipe_class.investment_costs + except AttributeError: + pass + # do nothing, in the case that no costs have been specified for the return + # pipe in the mapeditor + except UnboundLocalError: + pass - if not optimizer_sim: - for prop in edr_pipe_properties_to_copy: - setattr(asset, prop, getattr(asset_edr, prop)) + if not optimizer_sim: + for prop in edr_pipe_properties_to_copy: + setattr(asset, prop, getattr(asset_edr, prop)) else: - for p in [pipe, cold_pipe]: - asset = _name_to_asset(p) - asset.delete(recursive=True) + asset = _name_to_asset(pipe) + asset.delete(recursive=True) # ------------------------------------------------------------------------------------------ # Important: This code below must be placed after the "Placement" code. Reason: it relies diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index e53c05c6f..aaef69f58 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -139,7 +139,11 @@ def test_updated_esdl(self): # Check pipe diameter if len(fnmatch.filter([energy_system.instance[0].area.asset[ii].id], "Pipe*")) == 1: - if asset_name in ["Pipe1", "Pipe1_ret"]: + if asset_name in ["Pipe1"]: + np.testing.assert_array_equal( + energy_system.instance[0].area.asset[ii].diameter.name, "DN200" + ) # original pipe DN400 being sized + elif asset_name in ["Pipe1_cold_pipe"]: np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].diameter.name, "DN150" ) # original pipe DN400 being sized From 50a2a1d9453a99cf6115996206c8c4c0a70ffd8d Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 19 Jun 2024 12:59:39 +0200 Subject: [PATCH 152/376] fix test case --- tests/test_updated_esdl_post_process.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index aaef69f58..06b6f5f71 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -141,11 +141,11 @@ def test_updated_esdl(self): if len(fnmatch.filter([energy_system.instance[0].area.asset[ii].id], "Pipe*")) == 1: if asset_name in ["Pipe1"]: np.testing.assert_array_equal( - energy_system.instance[0].area.asset[ii].diameter.name, "DN200" + energy_system.instance[0].area.asset[ii].diameter.name, "DN150" ) # original pipe DN400 being sized elif asset_name in ["Pipe1_cold_pipe"]: np.testing.assert_array_equal( - energy_system.instance[0].area.asset[ii].diameter.name, "DN150" + energy_system.instance[0].area.asset[ii].diameter.name, "DN250" ) # original pipe DN400 being sized elif asset_name not in ["Pipe4", "Pipe4_ret", "Pipe5", "Pipe5_ret"]: np.testing.assert_array_equal( From ce577bb1f641dd8a0ad35496267d9631d538c6e7 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 20 Jun 2024 16:27:36 +0200 Subject: [PATCH 153/376] - Added lifetime OPEX costs to High level kpi dashboard - Updated test case & input ESDL - Updated kpi names for yearly costs --- examples/PoCTutorial/model/PoC Tutorial.esdl | 4 +- src/mesido/workflows/io/write_output.py | 142 ++++++++++++++++--- tests/test_updated_esdl_post_process.py | 92 +++++++++++- 3 files changed, 210 insertions(+), 28 deletions(-) diff --git a/examples/PoCTutorial/model/PoC Tutorial.esdl b/examples/PoCTutorial/model/PoC Tutorial.esdl index 04b647e30..8d5511647 100644 --- a/examples/PoCTutorial/model/PoC Tutorial.esdl +++ b/examples/PoCTutorial/model/PoC Tutorial.esdl @@ -11,7 +11,7 @@ - + @@ -222,7 +222,7 @@ - + diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index c7b64611c..61cfef6ea 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -321,11 +321,16 @@ def _name_to_asset(name): kpis_top_level = esdl.KPIs(id=str(uuid.uuid4())) heat_source_energy_wh = {} asset_capex_breakdown = {} - asset_opex_breakdown = {} + asset_opex_breakdown = {} # yearly cost tot_install_cost_euro = 0.0 tot_invest_cost_euro = 0.0 - tot_variable_opex_cost_euro = 0.0 - tot_fixed_opex_cost_euro = 0.0 + tot_variable_opex_cost_euro = 0.0 # yearly cost + tot_fixed_opex_cost_euro = 0.0 # yearly cost + + # over entire lifetime costs + asset_lifetime_opex_breakdown = {} + tot_lifetime_variable_opex_cost_euro = 0.0 + tot_lifetime_fixed_opex_cost_euro = 0.0 for _key, asset in self.esdl_assets.items(): asset_placement_var = self._asset_aggregation_count_var_map[asset.name] @@ -347,6 +352,10 @@ def _name_to_asset(name): results[f"{asset.name}__variable_operational_cost"][0] + results[f"{asset.name}__fixed_operational_cost"][0] ) + asset_lifetime_opex_breakdown[asset.asset_type] += ( + results[f"{asset.name}__variable_operational_cost"][0] + + results[f"{asset.name}__fixed_operational_cost"][0] + ) * asset.attributes["technicalLifetime"] tot_variable_opex_cost_euro += results[ f"{asset.name}__variable_operational_cost" @@ -354,6 +363,12 @@ def _name_to_asset(name): tot_fixed_opex_cost_euro += results[ f"{asset.name}__fixed_operational_cost" ][0] + tot_lifetime_variable_opex_cost_euro += results[ + f"{asset.name}__variable_operational_cost" + ][0] * asset.attributes["technicalLifetime"] + tot_lifetime_fixed_opex_cost_euro += results[ + f"{asset.name}__fixed_operational_cost" + ][0] * asset.attributes["technicalLifetime"] except KeyError: try: @@ -372,6 +387,10 @@ def _name_to_asset(name): results[f"{asset.name}__variable_operational_cost"][0] + results[f"{asset.name}__fixed_operational_cost"][0] ) + asset_lifetime_opex_breakdown[asset.asset_type] = ( + asset_opex_breakdown[asset.asset_type] + * asset.attributes["technicalLifetime"] + ) tot_variable_opex_cost_euro += results[ f"{asset.name}__variable_operational_cost" @@ -379,6 +398,13 @@ def _name_to_asset(name): tot_fixed_opex_cost_euro += results[ f"{asset.name}__fixed_operational_cost" ][0] + tot_lifetime_variable_opex_cost_euro += results[ + f"{asset.name}__variable_operational_cost" + ][0] * asset.attributes["technicalLifetime"] + tot_lifetime_fixed_opex_cost_euro += results[ + f"{asset.name}__fixed_operational_cost" + ][0] * asset.attributes["technicalLifetime"] + except KeyError: # Do not add any costs. Items like joint pass @@ -412,7 +438,7 @@ def _name_to_asset(name): kpis_top_level.kpi.append( esdl.DistributionKPI( - name="High level cost breakdown [EUR]", + name="High level cost breakdown [EUR] (year 1)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem( @@ -430,10 +456,33 @@ def _name_to_asset(name): ), ) ) + kpis_top_level.kpi.append( + esdl.DistributionKPI( + name="High level cost breakdown [EUR] (lifetime)", + distribution=esdl.StringLabelDistribution( + stringItem=[ + esdl.StringItem( + label="CAPEX", + value=tot_install_cost_euro + tot_invest_cost_euro, + ), + esdl.StringItem( + label="OPEX", + value=( + tot_lifetime_variable_opex_cost_euro + + tot_lifetime_fixed_opex_cost_euro + ), + ), + ] + ), + quantityAndUnit=esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO + ), + ) + ) kpis_top_level.kpi.append( esdl.DistributionKPI( - name="Overall cost breakdown [EUR]", + name="Overall cost breakdown [EUR] (year 1)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem(label="Installation", value=tot_install_cost_euro), @@ -447,6 +496,28 @@ def _name_to_asset(name): ), ) ) + kpis_top_level.kpi.append( + esdl.DistributionKPI( + name="Overall cost breakdown [EUR] (lifetime)", + distribution=esdl.StringLabelDistribution( + stringItem=[ + esdl.StringItem(label="Installation", value=tot_install_cost_euro), + esdl.StringItem(label="Investment", value=tot_invest_cost_euro), + esdl.StringItem( + label="Variable OPEX", + value=tot_lifetime_variable_opex_cost_euro, + ), + esdl.StringItem( + label="Fixed OPEX", + value=tot_lifetime_fixed_opex_cost_euro, + ), + ] + ), + quantityAndUnit=esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO + ), + ) + ) kpis_top_level.kpi.append( esdl.DistributionKPI( @@ -465,7 +536,7 @@ def _name_to_asset(name): kpis_top_level.kpi.append( esdl.DistributionKPI( - name="OPEX breakdown [EUR]", + name="OPEX breakdown [EUR] (year 1)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem(label=key, value=value) @@ -477,10 +548,24 @@ def _name_to_asset(name): ), ) ) + kpis_top_level.kpi.append( + esdl.DistributionKPI( + name="OPEX breakdown [EUR] (lifetime)", + distribution=esdl.StringLabelDistribution( + stringItem=[ + esdl.StringItem(label=key, value=value) + for key, value in asset_lifetime_opex_breakdown.items() + ] + ), + quantityAndUnit=esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO + ), + ) + ) kpis_top_level.kpi.append( esdl.DistributionKPI( - name="Energy production [Wh]", + name="Energy production [Wh] (year 1)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem(label=key, value=value) @@ -606,22 +691,37 @@ def _name_to_asset(name): # Calculate the estimated energy source [%] for an area try: - total_energy_produced_locally_wh_area = total_energy_produced_locally_wh[ - subarea.name - ] + if not np.isnan(total_energy_produced_locally_wh[subarea.name]): + total_energy_produced_locally_wh_area = total_energy_produced_locally_wh[ + subarea.name + ] + else: + total_energy_produced_locally_wh_area = 0.0 except KeyError: total_energy_produced_locally_wh_area = 0.0 try: - estimated_energy_from_local_source_perc[subarea.name] = min( - total_energy_produced_locally_wh_area - / total_energy_consumed_locally_wh[subarea.name] - * 100.0, - 100.0, - ) - estimated_energy_from_regional_source_perc[subarea.name] = min( - (100.0 - estimated_energy_from_local_source_perc[subarea.name]), 100.0 - ) + if ( + not np.isnan(total_energy_consumed_locally_wh[subarea.name]) + and np.isclose(total_energy_consumed_locally_wh[subarea.name], 0.0) + ): + estimated_energy_from_local_source_perc[subarea.name] = min( + total_energy_produced_locally_wh_area + / total_energy_consumed_locally_wh[subarea.name] + * 100.0, + 100.0, + ) + estimated_energy_from_regional_source_perc[subarea.name] = min( + (100.0 - estimated_energy_from_local_source_perc[subarea.name]), 100.0 + ) + else: + estimated_energy_from_local_source_perc[subarea.name] = 0.0 + estimated_energy_from_regional_source_perc[subarea.name] = 0.0 + logger.warning( + f"KPI estimated energy from local & regional source have been set to 0.0" + f" in area {subarea.name}. Reason: area local energy" + f" consumption value is: {total_energy_consumed_locally_wh[subarea.name]}" + ) except KeyError: # Nothing to do, go on to next section of code pass @@ -659,7 +759,7 @@ def _name_to_asset(name): kpis.kpi.append( esdl.DoubleKPI( value=area_variable_opex_cost / 1.0e6, - name="Variable OPEX", + name="Variable OPEX (year 1)", quantityAndUnit=esdl.esdl.QuantityAndUnitType( physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO, @@ -670,7 +770,7 @@ def _name_to_asset(name): kpis.kpi.append( esdl.DoubleKPI( value=area_fixed_opex_cost / 1.0e6, - name="Fixed OPEX", + name="Fixed OPEX (year 1)", quantityAndUnit=esdl.esdl.QuantityAndUnitType( physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO, diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index e53c05c6f..880f7907b 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -73,18 +73,21 @@ def test_updated_esdl(self): # Test KPIs in optimized ESDL # High level checks of KPIs - number_of_kpis_top_level_in_esdl = 8 + number_of_kpis_top_level_in_esdl = 11 high_level_kpis_euro = [ - "High level cost breakdown [EUR]", - "Overall cost breakdown [EUR]", + "High level cost breakdown [EUR] (year 1)", + "High level cost breakdown [EUR] (lifetime)", + "Overall cost breakdown [EUR] (year 1)", + "Overall cost breakdown [EUR] (lifetime)", "CAPEX breakdown [EUR]", - "OPEX breakdown [EUR]", + "OPEX breakdown [EUR] (year 1)", + "OPEX breakdown [EUR] (lifetime)", "Area_76a7: Asset cost breakdown [EUR]", "Area_9d0f: Asset cost breakdown [EUR]", "Area_a58a: Asset cost breakdown [EUR]", ] high_level_kpis_wh = [ - "Energy production [Wh]", + "Energy production [Wh] (year 1)", ] all_high_level_kpis = [] all_high_level_kpis = high_level_kpis_euro + high_level_kpis_wh @@ -92,6 +95,50 @@ def test_updated_esdl(self): np.testing.assert_allclose( len(energy_system.instance[0].area.KPIs.kpi), number_of_kpis_top_level_in_esdl ) + np.testing.assert_allclose( + len(energy_system.instance[0].area.KPIs.kpi), len(all_high_level_kpis) + ) + + # Assign kpi info that has to be used for comapiring lifetime vs yearly values + # kpi_name_list and kpi_label_list should be the same length and the same order + compare_yearly_lifetime_kpis = { + # lists of 2 kpis that have to be compared + "kpi_name_list": [ + [ + "High level cost breakdown [EUR] (year 1)", + "High level cost breakdown [EUR] (lifetime)", + ], + [ + "Overall cost breakdown [EUR] (year 1)", + "Overall cost breakdown [EUR] (lifetime)", + ], + [ + "Overall cost breakdown [EUR] (year 1)", + "Overall cost breakdown [EUR] (lifetime)", + ], + [ + "OPEX breakdown [EUR] (year 1)", + "OPEX breakdown [EUR] (lifetime)", + ], + ], + # lists of which kpi label that has to be compared or kpi_name_list + "kpi_label_list": [ + ["OPEX"], + ["Variable OPEX"], + ["Fixed OPEX"], + ["ResidualHeatSource"], + ], + "index_high_level_cost_list": [], # leave this empty, this list length is set below + } + for _ in range(len(compare_yearly_lifetime_kpis["kpi_name_list"])): + compare_yearly_lifetime_kpis["index_high_level_cost_list"].append([]) + if ( + len(compare_yearly_lifetime_kpis["kpi_name_list"]) + != len(compare_yearly_lifetime_kpis["kpi_label_list"]) + ): + print("List should be the same length") + exit(1) + for ii in range(len(energy_system.instance[0].area.KPIs.kpi)): kpi_name = energy_system.instance[0].area.KPIs.kpi[ii].name np.testing.assert_array_equal( @@ -112,6 +159,41 @@ def test_updated_esdl(self): else: exit(f"Unexpected KPI name: {kpi_name}") + # Check lifetime vs yearly cost when the lifetime value is 30 years + for il in range(len(compare_yearly_lifetime_kpis["kpi_name_list"])): + + if ( + # kpi_name in [ + # "High level cost breakdown [EUR] (year 1)", + # "High level cost breakdown [EUR] (lifetime)", + # ] + kpi_name in compare_yearly_lifetime_kpis["kpi_name_list"][il] + ): + compare_yearly_lifetime_kpis["index_high_level_cost_list"][il].append(ii) + if len(compare_yearly_lifetime_kpis["index_high_level_cost_list"][il]) == 2: + for iitem in range( + len( + energy_system.instance[0].area.KPIs.kpi[ + ii].distribution.stringItem.items + ) + ): + if energy_system.instance[0].area.KPIs.kpi[compare_yearly_lifetime_kpis["index_high_level_cost_list"][il][0]].distribution.stringItem.items[iitem].label in compare_yearly_lifetime_kpis["kpi_label_list"][il]: + + max_value = max( + energy_system.instance[0].area.KPIs.kpi[compare_yearly_lifetime_kpis["index_high_level_cost_list"][il][0]].distribution.stringItem.items[iitem].value, + energy_system.instance[0].area.KPIs.kpi[compare_yearly_lifetime_kpis["index_high_level_cost_list"][il][1]].distribution.stringItem.items[iitem].value + ) + min_value = min( + energy_system.instance[0].area.KPIs.kpi[compare_yearly_lifetime_kpis["index_high_level_cost_list"][il][0]].distribution.stringItem.items[iitem].value, + energy_system.instance[0].area.KPIs.kpi[compare_yearly_lifetime_kpis["index_high_level_cost_list"][il][1]].distribution.stringItem.items[iitem].value + ) + np.testing.assert_allclose(min_value * 30.0, max_value) + # make ssure that all the items in kpi_name_list was checked + for il in range(len(compare_yearly_lifetime_kpis["kpi_name_list"])): + np.testing.assert_equal( + len(compare_yearly_lifetime_kpis["index_high_level_cost_list"][il]), 2 + ) + # Check the asset quantity number_of_assets_in_esdl = 15 np.testing.assert_allclose( From 20e0cd90ffd4582b3ae4926fbc765d7110029ded Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 21 Jun 2024 10:05:33 +0200 Subject: [PATCH 154/376] formatting --- src/mesido/workflows/io/write_output.py | 33 ++++++----- tests/test_updated_esdl_post_process.py | 75 ++++++++++++++++++------- 2 files changed, 72 insertions(+), 36 deletions(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 61cfef6ea..eb527663d 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -363,12 +363,14 @@ def _name_to_asset(name): tot_fixed_opex_cost_euro += results[ f"{asset.name}__fixed_operational_cost" ][0] - tot_lifetime_variable_opex_cost_euro += results[ - f"{asset.name}__variable_operational_cost" - ][0] * asset.attributes["technicalLifetime"] - tot_lifetime_fixed_opex_cost_euro += results[ - f"{asset.name}__fixed_operational_cost" - ][0] * asset.attributes["technicalLifetime"] + tot_lifetime_variable_opex_cost_euro += ( + results[f"{asset.name}__variable_operational_cost"][0] + * asset.attributes["technicalLifetime"] + ) + tot_lifetime_fixed_opex_cost_euro += ( + results[f"{asset.name}__fixed_operational_cost"][0] + * asset.attributes["technicalLifetime"] + ) except KeyError: try: @@ -398,12 +400,14 @@ def _name_to_asset(name): tot_fixed_opex_cost_euro += results[ f"{asset.name}__fixed_operational_cost" ][0] - tot_lifetime_variable_opex_cost_euro += results[ - f"{asset.name}__variable_operational_cost" - ][0] * asset.attributes["technicalLifetime"] - tot_lifetime_fixed_opex_cost_euro += results[ - f"{asset.name}__fixed_operational_cost" - ][0] * asset.attributes["technicalLifetime"] + tot_lifetime_variable_opex_cost_euro += ( + results[f"{asset.name}__variable_operational_cost"][0] + * asset.attributes["technicalLifetime"] + ) + tot_lifetime_fixed_opex_cost_euro += ( + results[f"{asset.name}__fixed_operational_cost"][0] + * asset.attributes["technicalLifetime"] + ) except KeyError: # Do not add any costs. Items like joint @@ -701,9 +705,8 @@ def _name_to_asset(name): total_energy_produced_locally_wh_area = 0.0 try: - if ( - not np.isnan(total_energy_consumed_locally_wh[subarea.name]) - and np.isclose(total_energy_consumed_locally_wh[subarea.name], 0.0) + if not np.isnan(total_energy_consumed_locally_wh[subarea.name]) and np.isclose( + total_energy_consumed_locally_wh[subarea.name], 0.0 ): estimated_energy_from_local_source_perc[subarea.name] = min( total_energy_produced_locally_wh_area diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 880f7907b..a5b272239 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -99,8 +99,9 @@ def test_updated_esdl(self): len(energy_system.instance[0].area.KPIs.kpi), len(all_high_level_kpis) ) - # Assign kpi info that has to be used for comapiring lifetime vs yearly values - # kpi_name_list and kpi_label_list should be the same length and the same order + # Assign kpi info that has to be used for compairing lifetime vs yearly values + # kpi_name_list and kpi_label_list should be the same length and in the same order of + # which the comparison is done compare_yearly_lifetime_kpis = { # lists of 2 kpis that have to be compared "kpi_name_list": [ @@ -121,7 +122,7 @@ def test_updated_esdl(self): "OPEX breakdown [EUR] (lifetime)", ], ], - # lists of which kpi label that has to be compared or kpi_name_list + # lists of which kpi label has to be compared for kpi_name_list "kpi_label_list": [ ["OPEX"], ["Variable OPEX"], @@ -132,9 +133,8 @@ def test_updated_esdl(self): } for _ in range(len(compare_yearly_lifetime_kpis["kpi_name_list"])): compare_yearly_lifetime_kpis["index_high_level_cost_list"].append([]) - if ( - len(compare_yearly_lifetime_kpis["kpi_name_list"]) - != len(compare_yearly_lifetime_kpis["kpi_label_list"]) + if len(compare_yearly_lifetime_kpis["kpi_name_list"]) != len( + compare_yearly_lifetime_kpis["kpi_label_list"] ): print("List should be the same length") exit(1) @@ -162,30 +162,63 @@ def test_updated_esdl(self): # Check lifetime vs yearly cost when the lifetime value is 30 years for il in range(len(compare_yearly_lifetime_kpis["kpi_name_list"])): - if ( - # kpi_name in [ - # "High level cost breakdown [EUR] (year 1)", - # "High level cost breakdown [EUR] (lifetime)", - # ] - kpi_name in compare_yearly_lifetime_kpis["kpi_name_list"][il] - ): + if kpi_name in compare_yearly_lifetime_kpis["kpi_name_list"][il]: compare_yearly_lifetime_kpis["index_high_level_cost_list"][il].append(ii) if len(compare_yearly_lifetime_kpis["index_high_level_cost_list"][il]) == 2: for iitem in range( len( - energy_system.instance[0].area.KPIs.kpi[ - ii].distribution.stringItem.items + energy_system.instance[0] + .area.KPIs.kpi[ii] + .distribution.stringItem.items ) ): - if energy_system.instance[0].area.KPIs.kpi[compare_yearly_lifetime_kpis["index_high_level_cost_list"][il][0]].distribution.stringItem.items[iitem].label in compare_yearly_lifetime_kpis["kpi_label_list"][il]: - + if ( + energy_system.instance[0] + .area.KPIs.kpi[ + compare_yearly_lifetime_kpis["index_high_level_cost_list"][ + il + ][0] + ] + .distribution.stringItem.items[iitem] + .label + in compare_yearly_lifetime_kpis["kpi_label_list"][il] + ): + max_value = max( - energy_system.instance[0].area.KPIs.kpi[compare_yearly_lifetime_kpis["index_high_level_cost_list"][il][0]].distribution.stringItem.items[iitem].value, - energy_system.instance[0].area.KPIs.kpi[compare_yearly_lifetime_kpis["index_high_level_cost_list"][il][1]].distribution.stringItem.items[iitem].value + energy_system.instance[0] + .area.KPIs.kpi[ + compare_yearly_lifetime_kpis[ + "index_high_level_cost_list" + ][il][0] + ] + .distribution.stringItem.items[iitem] + .value, + energy_system.instance[0] + .area.KPIs.kpi[ + compare_yearly_lifetime_kpis[ + "index_high_level_cost_list" + ][il][1] + ] + .distribution.stringItem.items[iitem] + .value, ) min_value = min( - energy_system.instance[0].area.KPIs.kpi[compare_yearly_lifetime_kpis["index_high_level_cost_list"][il][0]].distribution.stringItem.items[iitem].value, - energy_system.instance[0].area.KPIs.kpi[compare_yearly_lifetime_kpis["index_high_level_cost_list"][il][1]].distribution.stringItem.items[iitem].value + energy_system.instance[0] + .area.KPIs.kpi[ + compare_yearly_lifetime_kpis[ + "index_high_level_cost_list" + ][il][0] + ] + .distribution.stringItem.items[iitem] + .value, + energy_system.instance[0] + .area.KPIs.kpi[ + compare_yearly_lifetime_kpis[ + "index_high_level_cost_list" + ][il][1] + ] + .distribution.stringItem.items[iitem] + .value, ) np.testing.assert_allclose(min_value * 30.0, max_value) # make ssure that all the items in kpi_name_list was checked From e70e2638ae41955d00e9a50c928b817bf3aaa68f Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 21 Jun 2024 11:00:48 +0200 Subject: [PATCH 155/376] Remove unnecessary code --- tests/models/wko/src/example.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index 873c183d9..e149e5760 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -169,17 +169,10 @@ def path_goals(self): The appended list of goals """ goals = super().path_goals().copy() + self.energy_system_components["heat_source"] - try: - self.energy_system_components["heat_source"] - - for s in self.energy_system_components["heat_source"]: - goals.append(MinimizeSourcesHeatGoal(s)) - except KeyError: - ... - except Exception: - traceback.print_exc() - sys.exit(1) + for s in self.energy_system_components["heat_source"]: + goals.append(MinimizeSourcesHeatGoal(s)) return goals From 87b40880366bab9a3713a8f03464d24cd47d4e74 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 25 Jun 2024 09:39:17 +0200 Subject: [PATCH 156/376] formatting --- tests/models/wko/src/example.py | 14 +++++++------- tests/test_cold_demand.py | 12 ++++++++---- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index e149e5760..e19a16648 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -221,12 +221,12 @@ def energy_system_options(self): input_timeseries_file="timeseries.csv", ) results = elect.extract_results() - print(results["CoolingDemand_15e8.Cold_demand"]) - print(results["HeatingDemand_9b90.Heat_demand"]) - print(results["HeatPump_b97e.Heat_source"]) - print(results["ATES_226d.Heat_low_temperature_ates"]) - for p in elect.energy_system_components.get("heat_pipe", []): - print(p, results[f"{p}__hn_heat_loss"]) - print(p, elect.bounds()[f"{p}__hn_heat_loss"]) + # print(results["CoolingDemand_15e8.Cold_demand"]) + # print(results["HeatingDemand_9b90.Heat_demand"]) + # print(results["HeatPump_b97e.Heat_source"]) + # print(results["ATES_226d.Heat_low_temperature_ates"]) + # for p in elect.energy_system_components.get("heat_pipe", []): + # print(p, results[f"{p}__hn_heat_loss"]) + # print(p, elect.bounds()[f"{p}__hn_heat_loss"]) a = 1 diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 3cf0b7b13..0e9dd4554 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -135,12 +135,16 @@ def constraints(self, ensemble_member): # for ates_id in self.energy_system_components.get("low_temperature_ates", []): # stored_volume = self.state_vector(f"{ates_id}.Stored_volume") # volume_usage = 0.0 - # for itstep in range(len(self.times()) - 1): - # volume_usage = ( - # volume_usage + stored_volume[itstep + 1] - stored_volume[itstep] - # ) + + # volume_usage = stored_volume[0] - stored_volume[-1] # constraints.append((volume_usage, 0.0, 0.0)) + # for itstep in range(len(self.times()) - 1): + # volume_usage = ( + # volume_usage + stored_volume[itstep + 1] - stored_volume[itstep] + # ) + # constraints.append((volume_usage, 0.0, 0.0)) + return constraints heat_problem = run_esdl_mesido_optimization( From 268f22677fce89ea74f9db89621fc8bf73ea5614 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 26 Jun 2024 09:21:47 +0200 Subject: [PATCH 157/376] Chnaged lifetime to 15yrs --- examples/PoCTutorial/model/PoC Tutorial.esdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/PoCTutorial/model/PoC Tutorial.esdl b/examples/PoCTutorial/model/PoC Tutorial.esdl index 8d5511647..9e4a90a76 100644 --- a/examples/PoCTutorial/model/PoC Tutorial.esdl +++ b/examples/PoCTutorial/model/PoC Tutorial.esdl @@ -11,7 +11,7 @@ - + From 175e82dcb4a6cdad11bc5ff11f411bb505892549 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 26 Jun 2024 09:23:20 +0200 Subject: [PATCH 158/376] Use optim time horizon instead of lifetime in KPIs --- src/mesido/workflows/io/write_output.py | 121 +++++++++++++++--------- tests/test_updated_esdl_post_process.py | 42 ++++---- 2 files changed, 97 insertions(+), 66 deletions(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index eb527663d..f1f1276a6 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -1,6 +1,7 @@ import datetime import json import logging +import math import numbers import os import sys @@ -320,29 +321,45 @@ def _name_to_asset(name): # ------------------------------------------------------------------------------------------ kpis_top_level = esdl.KPIs(id=str(uuid.uuid4())) heat_source_energy_wh = {} - asset_capex_breakdown = {} asset_opex_breakdown = {} # yearly cost - tot_install_cost_euro = 0.0 - tot_invest_cost_euro = 0.0 tot_variable_opex_cost_euro = 0.0 # yearly cost tot_fixed_opex_cost_euro = 0.0 # yearly cost - # over entire lifetime costs - asset_lifetime_opex_breakdown = {} - tot_lifetime_variable_opex_cost_euro = 0.0 - tot_lifetime_fixed_opex_cost_euro = 0.0 + # cost over the total time horizon (number of year) being optimized: + # parameters["number_of_years"] + asset_timehorizon_opex_breakdown = {} + tot_timehorizon_variable_opex_cost_euro = 0.0 + tot_timehorizon_fixed_opex_cost_euro = 0.0 + asset_timehorizon_capex_breakdown = {} + tot_timehorizon_install_cost_euro = 0.0 + tot_timehorizon_invest_cost_euro = 0.0 for _key, asset in self.esdl_assets.items(): asset_placement_var = self._asset_aggregation_count_var_map[asset.name] placed = np.round(results[asset_placement_var][0]) >= 1.0 + + if np.isnan(parameters[f"{asset.name}.technical_life"]) or np.isclose( + parameters[f"{asset.name}.technical_life"], 0.0 + ): + capex_factor = 1.0 + else: + capex_factor = math.ceil( + parameters["number_of_years"] + / parameters[f"{asset.name}.technical_life"] + ) + if placed: try: - asset_capex_breakdown[asset.asset_type] += ( + asset_timehorizon_capex_breakdown[asset.asset_type] += ( results[f"{asset.name}__installation_cost"][0] + results[f"{asset.name}__investment_cost"][0] - ) - tot_install_cost_euro += results[f"{asset.name}__installation_cost"][0] - tot_invest_cost_euro += results[f"{asset.name}__investment_cost"][0] + ) * capex_factor + tot_timehorizon_install_cost_euro += ( + results[f"{asset.name}__installation_cost"][0] + ) * capex_factor + tot_timehorizon_invest_cost_euro += ( + results[f"{asset.name}__investment_cost"][0] + ) * capex_factor if ( results[f"{asset.name}__variable_operational_cost"][0] > 0.0 @@ -352,10 +369,10 @@ def _name_to_asset(name): results[f"{asset.name}__variable_operational_cost"][0] + results[f"{asset.name}__fixed_operational_cost"][0] ) - asset_lifetime_opex_breakdown[asset.asset_type] += ( + asset_timehorizon_opex_breakdown[asset.asset_type] += ( results[f"{asset.name}__variable_operational_cost"][0] + results[f"{asset.name}__fixed_operational_cost"][0] - ) * asset.attributes["technicalLifetime"] + ) * parameters["number_of_years"] tot_variable_opex_cost_euro += results[ f"{asset.name}__variable_operational_cost" @@ -363,23 +380,27 @@ def _name_to_asset(name): tot_fixed_opex_cost_euro += results[ f"{asset.name}__fixed_operational_cost" ][0] - tot_lifetime_variable_opex_cost_euro += ( + tot_timehorizon_variable_opex_cost_euro += ( results[f"{asset.name}__variable_operational_cost"][0] - * asset.attributes["technicalLifetime"] + * parameters["number_of_years"] ) - tot_lifetime_fixed_opex_cost_euro += ( + tot_timehorizon_fixed_opex_cost_euro += ( results[f"{asset.name}__fixed_operational_cost"][0] - * asset.attributes["technicalLifetime"] + * parameters["number_of_years"] ) except KeyError: try: - asset_capex_breakdown[asset.asset_type] = ( + asset_timehorizon_capex_breakdown[asset.asset_type] = ( results[f"{asset.name}__installation_cost"][0] + results[f"{asset.name}__investment_cost"][0] - ) - tot_install_cost_euro += results[f"{asset.name}__installation_cost"][0] - tot_invest_cost_euro += results[f"{asset.name}__investment_cost"][0] + ) * capex_factor + tot_timehorizon_install_cost_euro += ( + results[f"{asset.name}__installation_cost"][0] + ) * capex_factor + tot_timehorizon_invest_cost_euro += ( + results[f"{asset.name}__investment_cost"][0] + ) * capex_factor if ( results[f"{asset.name}__variable_operational_cost"][0] > 0.0 @@ -389,9 +410,9 @@ def _name_to_asset(name): results[f"{asset.name}__variable_operational_cost"][0] + results[f"{asset.name}__fixed_operational_cost"][0] ) - asset_lifetime_opex_breakdown[asset.asset_type] = ( + asset_timehorizon_opex_breakdown[asset.asset_type] = ( asset_opex_breakdown[asset.asset_type] - * asset.attributes["technicalLifetime"] + * parameters["number_of_years"] ) tot_variable_opex_cost_euro += results[ @@ -400,13 +421,13 @@ def _name_to_asset(name): tot_fixed_opex_cost_euro += results[ f"{asset.name}__fixed_operational_cost" ][0] - tot_lifetime_variable_opex_cost_euro += ( + tot_timehorizon_variable_opex_cost_euro += ( results[f"{asset.name}__variable_operational_cost"][0] - * asset.attributes["technicalLifetime"] + * parameters["number_of_years"] ) - tot_lifetime_fixed_opex_cost_euro += ( + tot_timehorizon_fixed_opex_cost_euro += ( results[f"{asset.name}__fixed_operational_cost"][0] - * asset.attributes["technicalLifetime"] + * parameters["number_of_years"] ) except KeyError: @@ -442,12 +463,15 @@ def _name_to_asset(name): kpis_top_level.kpi.append( esdl.DistributionKPI( - name="High level cost breakdown [EUR] (year 1)", + name="High level cost breakdown [EUR] (yearly averaged)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem( label="CAPEX", - value=tot_install_cost_euro + tot_invest_cost_euro, + value=( + tot_timehorizon_install_cost_euro + + tot_timehorizon_invest_cost_euro + ) / parameters["number_of_years"], ), esdl.StringItem( label="OPEX", @@ -460,20 +484,21 @@ def _name_to_asset(name): ), ) ) + optim_time_horizon = parameters["number_of_years"] kpis_top_level.kpi.append( esdl.DistributionKPI( - name="High level cost breakdown [EUR] (lifetime)", + name=f"High level cost breakdown [EUR] ({optim_time_horizon} year period)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem( label="CAPEX", - value=tot_install_cost_euro + tot_invest_cost_euro, + value=tot_timehorizon_install_cost_euro + tot_timehorizon_invest_cost_euro, ), esdl.StringItem( label="OPEX", value=( - tot_lifetime_variable_opex_cost_euro - + tot_lifetime_fixed_opex_cost_euro + tot_timehorizon_variable_opex_cost_euro + + tot_timehorizon_fixed_opex_cost_euro ), ), ] @@ -486,11 +511,13 @@ def _name_to_asset(name): kpis_top_level.kpi.append( esdl.DistributionKPI( - name="Overall cost breakdown [EUR] (year 1)", + name="Overall cost breakdown [EUR] (yearly averaged)", distribution=esdl.StringLabelDistribution( stringItem=[ - esdl.StringItem(label="Installation", value=tot_install_cost_euro), - esdl.StringItem(label="Investment", value=tot_invest_cost_euro), + esdl.StringItem(label="Installation", value=(tot_timehorizon_install_cost_euro + / parameters["number_of_years"])), + esdl.StringItem(label="Investment", value=(tot_timehorizon_invest_cost_euro + / parameters["number_of_years"])), esdl.StringItem(label="Variable OPEX", value=tot_variable_opex_cost_euro), esdl.StringItem(label="Fixed OPEX", value=tot_fixed_opex_cost_euro), ] @@ -502,18 +529,18 @@ def _name_to_asset(name): ) kpis_top_level.kpi.append( esdl.DistributionKPI( - name="Overall cost breakdown [EUR] (lifetime)", + name=f"Overall cost breakdown [EUR] ({optim_time_horizon} year period)", distribution=esdl.StringLabelDistribution( stringItem=[ - esdl.StringItem(label="Installation", value=tot_install_cost_euro), - esdl.StringItem(label="Investment", value=tot_invest_cost_euro), + esdl.StringItem(label="Installation", value=tot_timehorizon_install_cost_euro), + esdl.StringItem(label="Investment", value=tot_timehorizon_invest_cost_euro), esdl.StringItem( label="Variable OPEX", - value=tot_lifetime_variable_opex_cost_euro, + value=tot_timehorizon_variable_opex_cost_euro, ), esdl.StringItem( label="Fixed OPEX", - value=tot_lifetime_fixed_opex_cost_euro, + value=tot_timehorizon_fixed_opex_cost_euro, ), ] ), @@ -525,11 +552,11 @@ def _name_to_asset(name): kpis_top_level.kpi.append( esdl.DistributionKPI( - name="CAPEX breakdown [EUR]", + name=f"CAPEX breakdown [EUR] ({optim_time_horizon} year period)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem(label=key, value=value) - for key, value in asset_capex_breakdown.items() + for key, value in asset_timehorizon_capex_breakdown.items() ] ), quantityAndUnit=esdl.esdl.QuantityAndUnitType( @@ -540,7 +567,7 @@ def _name_to_asset(name): kpis_top_level.kpi.append( esdl.DistributionKPI( - name="OPEX breakdown [EUR] (year 1)", + name="OPEX breakdown [EUR] (yearly averaged)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem(label=key, value=value) @@ -554,11 +581,11 @@ def _name_to_asset(name): ) kpis_top_level.kpi.append( esdl.DistributionKPI( - name="OPEX breakdown [EUR] (lifetime)", + name=f"OPEX breakdown [EUR] ({optim_time_horizon} year period)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem(label=key, value=value) - for key, value in asset_lifetime_opex_breakdown.items() + for key, value in asset_timehorizon_opex_breakdown.items() ] ), quantityAndUnit=esdl.esdl.QuantityAndUnitType( @@ -569,7 +596,7 @@ def _name_to_asset(name): kpis_top_level.kpi.append( esdl.DistributionKPI( - name="Energy production [Wh] (year 1)", + name="Energy production [Wh] (yearly averaged)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem(label=key, value=value) diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index a5b272239..870bcdd3e 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -26,6 +26,8 @@ def test_updated_esdl(self): Checks: - That the esdl saving method (direct ESDL file and ESDL string) - That the correct number of KPIs have been added + - Check that the OPEX costs for an asset with a 15 year lifetime == OPEX over optim time + horizon - That the correct assets have been removed - That all the assets have a state=ENABLED - The diameter of all the pipes are as expected @@ -75,19 +77,19 @@ def test_updated_esdl(self): # High level checks of KPIs number_of_kpis_top_level_in_esdl = 11 high_level_kpis_euro = [ - "High level cost breakdown [EUR] (year 1)", - "High level cost breakdown [EUR] (lifetime)", - "Overall cost breakdown [EUR] (year 1)", - "Overall cost breakdown [EUR] (lifetime)", - "CAPEX breakdown [EUR]", - "OPEX breakdown [EUR] (year 1)", - "OPEX breakdown [EUR] (lifetime)", + "High level cost breakdown [EUR] (yearly averaged)", + "High level cost breakdown [EUR] (30.0 year period)", + "Overall cost breakdown [EUR] (yearly averaged)", + "Overall cost breakdown [EUR] (30.0 year period)", + "CAPEX breakdown [EUR] (30.0 year period)", + "OPEX breakdown [EUR] (yearly averaged)", + "OPEX breakdown [EUR] (30.0 year period)", "Area_76a7: Asset cost breakdown [EUR]", "Area_9d0f: Asset cost breakdown [EUR]", "Area_a58a: Asset cost breakdown [EUR]", ] high_level_kpis_wh = [ - "Energy production [Wh] (year 1)", + "Energy production [Wh] (yearly averaged)", ] all_high_level_kpis = [] all_high_level_kpis = high_level_kpis_euro + high_level_kpis_wh @@ -99,27 +101,27 @@ def test_updated_esdl(self): len(energy_system.instance[0].area.KPIs.kpi), len(all_high_level_kpis) ) - # Assign kpi info that has to be used for compairing lifetime vs yearly values + # Assign kpi info that has to be used for compairing optim time horizon vs yearly values # kpi_name_list and kpi_label_list should be the same length and in the same order of # which the comparison is done compare_yearly_lifetime_kpis = { # lists of 2 kpis that have to be compared "kpi_name_list": [ [ - "High level cost breakdown [EUR] (year 1)", - "High level cost breakdown [EUR] (lifetime)", + "High level cost breakdown [EUR] (yearly averaged)", + "High level cost breakdown [EUR] (30.0 year period)", ], [ - "Overall cost breakdown [EUR] (year 1)", - "Overall cost breakdown [EUR] (lifetime)", + "Overall cost breakdown [EUR] (yearly averaged)", + "Overall cost breakdown [EUR] (30.0 year period)", ], [ - "Overall cost breakdown [EUR] (year 1)", - "Overall cost breakdown [EUR] (lifetime)", + "Overall cost breakdown [EUR] (yearly averaged)", + "Overall cost breakdown [EUR] (30.0 year period)", ], [ - "OPEX breakdown [EUR] (year 1)", - "OPEX breakdown [EUR] (lifetime)", + "OPEX breakdown [EUR] (yearly averaged)", + "OPEX breakdown [EUR] (30.0 year period)", ], ], # lists of which kpi label has to be compared for kpi_name_list @@ -159,7 +161,8 @@ def test_updated_esdl(self): else: exit(f"Unexpected KPI name: {kpi_name}") - # Check lifetime vs yearly cost when the lifetime value is 30 years + # Check optim time horizon vs yearly cost when the lifetime value is + # 15 years for il in range(len(compare_yearly_lifetime_kpis["kpi_name_list"])): if kpi_name in compare_yearly_lifetime_kpis["kpi_name_list"][il]: @@ -220,7 +223,8 @@ def test_updated_esdl(self): .distribution.stringItem.items[iitem] .value, ) - np.testing.assert_allclose(min_value * 30.0, max_value) + # Lifetime of 15 years and the optim time horizon is 30 years + np.testing.assert_allclose(min_value * 15.0 * 2.0, max_value) # make ssure that all the items in kpi_name_list was checked for il in range(len(compare_yearly_lifetime_kpis["kpi_name_list"])): np.testing.assert_equal( From 27fa17084e529c2eb223e66c031e3b52d119be33 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 26 Jun 2024 09:28:36 +0200 Subject: [PATCH 159/376] formatting --- src/mesido/workflows/io/write_output.py | 32 ++++++++++++++++--------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index f1f1276a6..2e53db53a 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -344,8 +344,7 @@ def _name_to_asset(name): capex_factor = 1.0 else: capex_factor = math.ceil( - parameters["number_of_years"] - / parameters[f"{asset.name}.technical_life"] + parameters["number_of_years"] / parameters[f"{asset.name}.technical_life"] ) if placed: @@ -469,9 +468,9 @@ def _name_to_asset(name): esdl.StringItem( label="CAPEX", value=( - tot_timehorizon_install_cost_euro - + tot_timehorizon_invest_cost_euro - ) / parameters["number_of_years"], + tot_timehorizon_install_cost_euro + tot_timehorizon_invest_cost_euro + ) + / parameters["number_of_years"], ), esdl.StringItem( label="OPEX", @@ -492,7 +491,8 @@ def _name_to_asset(name): stringItem=[ esdl.StringItem( label="CAPEX", - value=tot_timehorizon_install_cost_euro + tot_timehorizon_invest_cost_euro, + value=tot_timehorizon_install_cost_euro + + tot_timehorizon_invest_cost_euro, ), esdl.StringItem( label="OPEX", @@ -514,10 +514,18 @@ def _name_to_asset(name): name="Overall cost breakdown [EUR] (yearly averaged)", distribution=esdl.StringLabelDistribution( stringItem=[ - esdl.StringItem(label="Installation", value=(tot_timehorizon_install_cost_euro - / parameters["number_of_years"])), - esdl.StringItem(label="Investment", value=(tot_timehorizon_invest_cost_euro - / parameters["number_of_years"])), + esdl.StringItem( + label="Installation", + value=( + tot_timehorizon_install_cost_euro / parameters["number_of_years"] + ), + ), + esdl.StringItem( + label="Investment", + value=( + tot_timehorizon_invest_cost_euro / parameters["number_of_years"] + ), + ), esdl.StringItem(label="Variable OPEX", value=tot_variable_opex_cost_euro), esdl.StringItem(label="Fixed OPEX", value=tot_fixed_opex_cost_euro), ] @@ -532,7 +540,9 @@ def _name_to_asset(name): name=f"Overall cost breakdown [EUR] ({optim_time_horizon} year period)", distribution=esdl.StringLabelDistribution( stringItem=[ - esdl.StringItem(label="Installation", value=tot_timehorizon_install_cost_euro), + esdl.StringItem( + label="Installation", value=tot_timehorizon_install_cost_euro + ), esdl.StringItem(label="Investment", value=tot_timehorizon_invest_cost_euro), esdl.StringItem( label="Variable OPEX", From 5d4d6c92813430efe5de2ca9e6e2fcb5e7274dce Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 26 Jun 2024 13:19:45 +0200 Subject: [PATCH 160/376] seperate function for add kpis to esdl, exclude for emerge workflow --- src/mesido/workflows/emerge.py | 4 +- src/mesido/workflows/io/write_output.py | 221 +++++++++++++----------- 2 files changed, 127 insertions(+), 98 deletions(-) diff --git a/src/mesido/workflows/emerge.py b/src/mesido/workflows/emerge.py index 8020826c7..fab154070 100644 --- a/src/mesido/workflows/emerge.py +++ b/src/mesido/workflows/emerge.py @@ -196,7 +196,9 @@ def post(self): super().post() # Optimized ESDL - self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) + self._write_updated_esdl( + self._ESDLMixin__energy_system_handler.energy_system, add_kpis=False + ) self._save_json = False diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 2e53db53a..370844e12 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -297,24 +297,11 @@ def _write_html_output(self, template_name="mpc_buffer_sizing_output"): ) ) - def _write_updated_esdl(self, energy_system, optimizer_sim: bool = False): - from esdl.esdl_handler import EnergySystemHandler + def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False): results = self.extract_results() parameters = self.parameters(0) - input_energy_system_id = energy_system.id - energy_system.id = str(uuid.uuid4()) - if optimizer_sim: - energy_system.name = energy_system.name + "_Simulation" - else: - energy_system.name = energy_system.name + "_GrowOptimized" - - def _name_to_asset(name): - return next( - (x for x in energy_system.eAllContents() if hasattr(x, "name") and x.name == name) - ) - # ------------------------------------------------------------------------------------------ # KPIs # General cost breakdowns @@ -326,7 +313,8 @@ def _name_to_asset(name): tot_fixed_opex_cost_euro = 0.0 # yearly cost # cost over the total time horizon (number of year) being optimized: - # parameters["number_of_years"] + # - parameters["number_of_years"] + # - these kpis are not created for the newtwork simualtor->optimizer_sim asset_timehorizon_opex_breakdown = {} tot_timehorizon_variable_opex_cost_euro = 0.0 tot_timehorizon_fixed_opex_cost_euro = 0.0 @@ -334,6 +322,16 @@ def _name_to_asset(name): tot_timehorizon_install_cost_euro = 0.0 tot_timehorizon_invest_cost_euro = 0.0 + # Specify the correct time horizon: + # Optimization=number of year: since it is taken into account in TCO minimization + # Simulator=1: since 30 years of optimization is not applicable for the network simulator + if not optimizer_sim: # optimization mode + optim_time_horizon = parameters["number_of_years"] + elif optimizer_sim: # network simulator mode + optim_time_horizon = 1.0 + else: + logger.error("Variable optimizer_sim has not been set") + for _key, asset in self.esdl_assets.items(): asset_placement_var = self._asset_aggregation_count_var_map[asset.name] placed = np.round(results[asset_placement_var][0]) >= 1.0 @@ -344,7 +342,7 @@ def _name_to_asset(name): capex_factor = 1.0 else: capex_factor = math.ceil( - parameters["number_of_years"] / parameters[f"{asset.name}.technical_life"] + optim_time_horizon / parameters[f"{asset.name}.technical_life"] ) if placed: @@ -371,7 +369,7 @@ def _name_to_asset(name): asset_timehorizon_opex_breakdown[asset.asset_type] += ( results[f"{asset.name}__variable_operational_cost"][0] + results[f"{asset.name}__fixed_operational_cost"][0] - ) * parameters["number_of_years"] + ) * optim_time_horizon tot_variable_opex_cost_euro += results[ f"{asset.name}__variable_operational_cost" @@ -381,11 +379,11 @@ def _name_to_asset(name): ][0] tot_timehorizon_variable_opex_cost_euro += ( results[f"{asset.name}__variable_operational_cost"][0] - * parameters["number_of_years"] + * optim_time_horizon ) tot_timehorizon_fixed_opex_cost_euro += ( results[f"{asset.name}__fixed_operational_cost"][0] - * parameters["number_of_years"] + * optim_time_horizon ) except KeyError: @@ -411,7 +409,7 @@ def _name_to_asset(name): ) asset_timehorizon_opex_breakdown[asset.asset_type] = ( asset_opex_breakdown[asset.asset_type] - * parameters["number_of_years"] + * optim_time_horizon ) tot_variable_opex_cost_euro += results[ @@ -422,11 +420,11 @@ def _name_to_asset(name): ][0] tot_timehorizon_variable_opex_cost_euro += ( results[f"{asset.name}__variable_operational_cost"][0] - * parameters["number_of_years"] + * optim_time_horizon ) tot_timehorizon_fixed_opex_cost_euro += ( results[f"{asset.name}__fixed_operational_cost"][0] - * parameters["number_of_years"] + * optim_time_horizon ) except KeyError: @@ -470,7 +468,7 @@ def _name_to_asset(name): value=( tot_timehorizon_install_cost_euro + tot_timehorizon_invest_cost_euro ) - / parameters["number_of_years"], + / optim_time_horizon, ), esdl.StringItem( label="OPEX", @@ -483,31 +481,32 @@ def _name_to_asset(name): ), ) ) - optim_time_horizon = parameters["number_of_years"] - kpis_top_level.kpi.append( - esdl.DistributionKPI( - name=f"High level cost breakdown [EUR] ({optim_time_horizon} year period)", - distribution=esdl.StringLabelDistribution( - stringItem=[ - esdl.StringItem( - label="CAPEX", - value=tot_timehorizon_install_cost_euro - + tot_timehorizon_invest_cost_euro, - ), - esdl.StringItem( - label="OPEX", - value=( - tot_timehorizon_variable_opex_cost_euro - + tot_timehorizon_fixed_opex_cost_euro + + if not optimizer_sim: + kpis_top_level.kpi.append( + esdl.DistributionKPI( + name=f"High level cost breakdown [EUR] ({optim_time_horizon} year period)", + distribution=esdl.StringLabelDistribution( + stringItem=[ + esdl.StringItem( + label="CAPEX", + value=tot_timehorizon_install_cost_euro + + tot_timehorizon_invest_cost_euro, ), - ), - ] - ), - quantityAndUnit=esdl.esdl.QuantityAndUnitType( - physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO - ), + esdl.StringItem( + label="OPEX", + value=( + tot_timehorizon_variable_opex_cost_euro + + tot_timehorizon_fixed_opex_cost_euro + ), + ), + ] + ), + quantityAndUnit=esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO + ), + ) ) - ) kpis_top_level.kpi.append( esdl.DistributionKPI( @@ -517,13 +516,13 @@ def _name_to_asset(name): esdl.StringItem( label="Installation", value=( - tot_timehorizon_install_cost_euro / parameters["number_of_years"] + tot_timehorizon_install_cost_euro / optim_time_horizon ), ), esdl.StringItem( label="Investment", value=( - tot_timehorizon_invest_cost_euro / parameters["number_of_years"] + tot_timehorizon_invest_cost_euro / optim_time_horizon ), ), esdl.StringItem(label="Variable OPEX", value=tot_variable_opex_cost_euro), @@ -535,45 +534,48 @@ def _name_to_asset(name): ), ) ) - kpis_top_level.kpi.append( - esdl.DistributionKPI( - name=f"Overall cost breakdown [EUR] ({optim_time_horizon} year period)", - distribution=esdl.StringLabelDistribution( - stringItem=[ - esdl.StringItem( - label="Installation", value=tot_timehorizon_install_cost_euro - ), - esdl.StringItem(label="Investment", value=tot_timehorizon_invest_cost_euro), - esdl.StringItem( - label="Variable OPEX", - value=tot_timehorizon_variable_opex_cost_euro, - ), - esdl.StringItem( - label="Fixed OPEX", - value=tot_timehorizon_fixed_opex_cost_euro, - ), - ] - ), - quantityAndUnit=esdl.esdl.QuantityAndUnitType( - physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO - ), + if not optimizer_sim: + kpis_top_level.kpi.append( + esdl.DistributionKPI( + name=f"Overall cost breakdown [EUR] ({optim_time_horizon} year period)", + distribution=esdl.StringLabelDistribution( + stringItem=[ + esdl.StringItem( + label="Installation", value=tot_timehorizon_install_cost_euro + ), + esdl.StringItem( + label="Investment", value=tot_timehorizon_invest_cost_euro + ), + esdl.StringItem( + label="Variable OPEX", + value=tot_timehorizon_variable_opex_cost_euro, + ), + esdl.StringItem( + label="Fixed OPEX", + value=tot_timehorizon_fixed_opex_cost_euro, + ), + ] + ), + quantityAndUnit=esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO + ), + ) ) - ) - kpis_top_level.kpi.append( - esdl.DistributionKPI( - name=f"CAPEX breakdown [EUR] ({optim_time_horizon} year period)", - distribution=esdl.StringLabelDistribution( - stringItem=[ - esdl.StringItem(label=key, value=value) - for key, value in asset_timehorizon_capex_breakdown.items() - ] - ), - quantityAndUnit=esdl.esdl.QuantityAndUnitType( - physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO - ), + kpis_top_level.kpi.append( + esdl.DistributionKPI( + name=f"CAPEX breakdown [EUR] ({optim_time_horizon} year period)", + distribution=esdl.StringLabelDistribution( + stringItem=[ + esdl.StringItem(label=key, value=value) + for key, value in asset_timehorizon_capex_breakdown.items() + ] + ), + quantityAndUnit=esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO + ), + ) ) - ) kpis_top_level.kpi.append( esdl.DistributionKPI( @@ -589,20 +591,21 @@ def _name_to_asset(name): ), ) ) - kpis_top_level.kpi.append( - esdl.DistributionKPI( - name=f"OPEX breakdown [EUR] ({optim_time_horizon} year period)", - distribution=esdl.StringLabelDistribution( - stringItem=[ - esdl.StringItem(label=key, value=value) - for key, value in asset_timehorizon_opex_breakdown.items() - ] - ), - quantityAndUnit=esdl.esdl.QuantityAndUnitType( - physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO - ), + if not optimizer_sim: + kpis_top_level.kpi.append( + esdl.DistributionKPI( + name=f"OPEX breakdown [EUR] ({optim_time_horizon} year period)", + distribution=esdl.StringLabelDistribution( + stringItem=[ + esdl.StringItem(label=key, value=value) + for key, value in asset_timehorizon_opex_breakdown.items() + ] + ), + quantityAndUnit=esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO + ), + ) ) - ) kpis_top_level.kpi.append( esdl.DistributionKPI( @@ -916,6 +919,30 @@ def _name_to_asset(name): # ebd sub-area loop # end KPIs + + def _write_updated_esdl( + self, energy_system, optimizer_sim: bool = False, add_kpis: bool = True + ): + from esdl.esdl_handler import EnergySystemHandler + + results = self.extract_results() + parameters = self.parameters(0) + + input_energy_system_id = energy_system.id + energy_system.id = str(uuid.uuid4()) + if optimizer_sim: # network simulator + energy_system.name = energy_system.name + "_Simulation" + else: # network optimization + energy_system.name = energy_system.name + "_GrowOptimized" + + def _name_to_asset(name): + return next( + (x for x in energy_system.eAllContents() if hasattr(x, "name") and x.name == name) + ) + + if add_kpis: + self._add_kpis_to_energy_system(energy_system, optimizer_sim) + # ------------------------------------------------------------------------------------------ # Placement for _, attributes in self.esdl_assets.items(): From 6fab5ee8d4de49b55f330e1772a5038919b40e9c Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 26 Jun 2024 13:26:21 +0200 Subject: [PATCH 161/376] formatting --- src/mesido/workflows/io/write_output.py | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 370844e12..9f095418c 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -382,8 +382,7 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) * optim_time_horizon ) tot_timehorizon_fixed_opex_cost_euro += ( - results[f"{asset.name}__fixed_operational_cost"][0] - * optim_time_horizon + results[f"{asset.name}__fixed_operational_cost"][0] * optim_time_horizon ) except KeyError: @@ -408,8 +407,7 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) + results[f"{asset.name}__fixed_operational_cost"][0] ) asset_timehorizon_opex_breakdown[asset.asset_type] = ( - asset_opex_breakdown[asset.asset_type] - * optim_time_horizon + asset_opex_breakdown[asset.asset_type] * optim_time_horizon ) tot_variable_opex_cost_euro += results[ @@ -515,15 +513,11 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) stringItem=[ esdl.StringItem( label="Installation", - value=( - tot_timehorizon_install_cost_euro / optim_time_horizon - ), + value=(tot_timehorizon_install_cost_euro / optim_time_horizon), ), esdl.StringItem( label="Investment", - value=( - tot_timehorizon_invest_cost_euro / optim_time_horizon - ), + value=(tot_timehorizon_invest_cost_euro / optim_time_horizon), ), esdl.StringItem(label="Variable OPEX", value=tot_variable_opex_cost_euro), esdl.StringItem(label="Fixed OPEX", value=tot_fixed_opex_cost_euro), @@ -921,7 +915,7 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) # end KPIs def _write_updated_esdl( - self, energy_system, optimizer_sim: bool = False, add_kpis: bool = True + self, energy_system, optimizer_sim: bool = False, add_kpis: bool = True ): from esdl.esdl_handler import EnergySystemHandler From c23f16bbfadba7d293e20e70c914e7a4717737c2 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 26 Jun 2024 15:08:36 +0200 Subject: [PATCH 162/376] Made pipe4 & pipe4_ret optional, updated test case --- examples/PoCTutorial/model/PoC Tutorial.esdl | 4 ++-- tests/test_updated_esdl_post_process.py | 8 ++------ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/examples/PoCTutorial/model/PoC Tutorial.esdl b/examples/PoCTutorial/model/PoC Tutorial.esdl index 784f00c2e..40df7b83b 100644 --- a/examples/PoCTutorial/model/PoC Tutorial.esdl +++ b/examples/PoCTutorial/model/PoC Tutorial.esdl @@ -120,7 +120,7 @@ - + @@ -206,7 +206,7 @@ - + diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 06b6f5f71..6216b55ff 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -139,15 +139,11 @@ def test_updated_esdl(self): # Check pipe diameter if len(fnmatch.filter([energy_system.instance[0].area.asset[ii].id], "Pipe*")) == 1: - if asset_name in ["Pipe1"]: + if asset_name in ["Pipe1", "Pipe1_cold_pipe", "Pipe4", "Pipe4_ret"]: np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].diameter.name, "DN150" ) # original pipe DN400 being sized - elif asset_name in ["Pipe1_cold_pipe"]: - np.testing.assert_array_equal( - energy_system.instance[0].area.asset[ii].diameter.name, "DN250" - ) # original pipe DN400 being sized - elif asset_name not in ["Pipe4", "Pipe4_ret", "Pipe5", "Pipe5_ret"]: + elif asset_name not in ["Pipe5", "Pipe5_ret"]: np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].diameter.name, "DN400" ) # pipe DN was not sized and should be the same as specified in the ESDL From eccbc09e42a9acbe39b7fd02cec6f999d62117d5 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 26 Jun 2024 15:57:10 +0200 Subject: [PATCH 163/376] formatting + add _total_stages --- src/mesido/workflows/grow_workflow.py | 30 +++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index c4d806232..9ed199da8 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -345,14 +345,26 @@ def post(self): parameters = self.parameters(0) # bounds = self.bounds() # Optimized ESDL - # Assume there are either no stages (write updated ESDL) or a 2 stages (only write final - # results on stage 2) + # Assume there are either no stages (write updated ESDL) or a maximum of 2 stages + # (only write final results when the stage number is the final stage) + # TODO: once database testing has been added, check that the results have only been written + # once. try: - if self._stage == 2: # When staging does exists + if self._stage == 0: + logger.error( + f"The stage number is: {self._stage} and it is excpected that the" + " stage numbering starts at 1 instead" + ) + sys.exit(1) + if self._total_stages == self._stage: # When staging does exists self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) - elif self._stage > 2: - logger.error(f"The code does not cater for a straging value of: {self._stage}") + elif self._total_stages < self._stage: + logger.error( + f"The stage number: {self._stage} is higher then the total stages" + " expected: {self._total_stages}. Assuming the stage numbering starts at 1" + ) sys.exit(1) + except AttributeError: # Staging does not exist self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) @@ -452,11 +464,13 @@ class SettingsStaged: sizes and flow directions. """ - _stage = 0 + _stage = 0 # current stage that is being used + _total_stages = 0 # total number of stages to be used def __init__( self, stage=None, + total_stages=None, boolean_bounds: list = None, priorities_output: list = None, *args, @@ -465,6 +479,7 @@ def __init__( super().__init__(*args, **kwargs) self._stage = stage + self._total_stages = total_stages self.__boolean_bounds = boolean_bounds if self._stage == 1: @@ -564,6 +579,7 @@ def run_end_scenario_sizing_no_heat_losses( solution = run_optimization_problem( end_scenario_problem_class, stage=1, + total_stages=1, **kwargs, ) @@ -606,6 +622,7 @@ def run_end_scenario_sizing( solution = run_optimization_problem( end_scenario_problem_class, stage=1, + total_stages=2, **kwargs, ) results = solution.extract_results() @@ -674,6 +691,7 @@ def run_end_scenario_sizing( solution = run_optimization_problem( end_scenario_problem_class, stage=2, + total_stages=2, boolean_bounds=boolean_bounds, priorities_output=priorities_output, **kwargs, From 9bbb0867b21708ab67a495b32a1fb1ff5a768b46 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Wed, 26 Jun 2024 16:28:28 +0200 Subject: [PATCH 164/376] updated test case to check profile mutliplier value --- examples/PoCTutorial/model/PoC Tutorial.esdl | 2 +- tests/test_updated_esdl_pre_process.py | 31 ++++++++++++++++---- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/examples/PoCTutorial/model/PoC Tutorial.esdl b/examples/PoCTutorial/model/PoC Tutorial.esdl index fcf030e42..a7bf64f2d 100644 --- a/examples/PoCTutorial/model/PoC Tutorial.esdl +++ b/examples/PoCTutorial/model/PoC Tutorial.esdl @@ -318,7 +318,7 @@ - + diff --git a/tests/test_updated_esdl_pre_process.py b/tests/test_updated_esdl_pre_process.py index 5b9868d7d..9f3bdc236 100644 --- a/tests/test_updated_esdl_pre_process.py +++ b/tests/test_updated_esdl_pre_process.py @@ -19,6 +19,7 @@ def test_updated_esdl(self): Additional checks: - Check that the unique profile identification in profile_parser assigns the correct profile + - Check that the correct mulitpler value has been used """ @@ -52,30 +53,48 @@ def test_updated_esdl(self): # demand profiles are the adapted profiles (peak-hourly, rest-5daily). Therefore the # expected max and average hard-coded values are compared to the problem values. np.testing.assert_allclose( - 1201200.0, # demand4_MW, multiplier 0.75 + 1207800, max(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values), + # demand4_MW, multiplier 0.75, same demand profile as demand HeatingDemand_08fd, but + # with a different multiplier. So one would expect that this value differs from + # HeatingDemand_08fd ) np.testing.assert_allclose( - 720720.0, # demand5_MW, multiplier 0.3 + 724680.0, # demand5_MW, multiplier 0.3 max(problem.get_timeseries("HeatingDemand_8fbe.target_heat_demand").values), ) np.testing.assert_allclose( - 916316.712, # demand1_MW, multiplier 0.5 + 805200.0, # demand4_MW, multiplier 0.5 max(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values), ) np.testing.assert_allclose( - 443413.79, # demand4_MW, multiplier 0.75 + 469709.62, # demand4_MW, multiplier 0.75 np.average(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values), ) np.testing.assert_allclose( - 266048.27, # demand5_MW, multiplier 0.3 + 281825.77, # demand5_MW, multiplier 0.3 np.average(problem.get_timeseries("HeatingDemand_8fbe.target_heat_demand").values), ) np.testing.assert_allclose( - 575570.74, # demand1_MW, multiplier 0.5 + 313139.75, # demand4_MW, multiplier 0.5 np.average(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values), ) + # Checkk that the correct multiplier value was used + # Compare 2 max values where the same profile was used but with different multiplier values + # HeatingDemand_08fd: multiplier 0.5 + # HeatingDemand_b0ff: multplier 0.75 + np.testing.assert_allclose( + max(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values) / 0.5, + max(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values) / 0.75, + ) + np.testing.assert_allclose( + np.average(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values) + / 0.5, + np.average(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values) + / 0.75, + ) + if __name__ == "__main__": import time From 4356d9d40a20b44714110b1c8dab6ef2f6999c1d Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 27 Jun 2024 13:17:14 +0200 Subject: [PATCH 165/376] 90 electricity storage discharge efficiency (#92) * creating battery test case * fixed discharging efficiency calculation battery * created esdl, timeseries and problem setup to test battery --- src/mesido/electricity_physics_mixin.py | 6 +- .../battery/input/timeseries.csv | 5 + .../battery/model/source_sink_storage.esdl | 53 +++++++++ .../battery/src/example.py | 102 ++++++++++++++++++ tests/test_electricity_storage.py | 100 +++++++++++++++++ tests/utils_tests.py | 14 +++ 6 files changed, 277 insertions(+), 3 deletions(-) create mode 100644 tests/models/unit_cases_electricity/battery/input/timeseries.csv create mode 100644 tests/models/unit_cases_electricity/battery/model/source_sink_storage.esdl create mode 100644 tests/models/unit_cases_electricity/battery/src/example.py create mode 100644 tests/test_electricity_storage.py diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 5e06a63fb..af47bd267 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -450,7 +450,7 @@ def __electricity_storage_path_constraints(self, ensemble_member): current_in = self.state(f"{asset}.ElectricityIn.I") # is_charging is 1 if charging and powerin>0 - big_m = 2 * max(abs(self.bounds()[f"{asset}.ElectricityIn.Power"])) + big_m = 2 * max(np.abs(self.bounds()[f"{asset}.ElectricityIn.Power"])) is_charging = self.state(f"{asset}__is_charging") constraints.append(((power_in + (1 - is_charging) * big_m) / power_nom, 0.0, np.inf)) constraints.append(((power_in - is_charging * big_m) / power_nom, -np.inf, 0.0)) @@ -494,14 +494,14 @@ def __electricity_storage_path_constraints(self, ensemble_member): # discharging constraints.append( ( - (eff_power - discharge_eff * power_in + is_charging * big_m) / power_nom, + (eff_power * discharge_eff - power_in + is_charging * big_m) / power_nom, 0, np.inf, ) ) constraints.append( ( - (eff_power - discharge_eff * power_in - is_charging * big_m) / power_nom, + (eff_power * discharge_eff - power_in - is_charging * big_m) / power_nom, -np.inf, 0, ) diff --git a/tests/models/unit_cases_electricity/battery/input/timeseries.csv b/tests/models/unit_cases_electricity/battery/input/timeseries.csv new file mode 100644 index 000000000..a4f013033 --- /dev/null +++ b/tests/models/unit_cases_electricity/battery/input/timeseries.csv @@ -0,0 +1,5 @@ +DateTime,ElectricityProducer_b95d,ElectricityDemand_2af6 +01-01-2019 00:00, 900.0, 500.0 +01-01-2019 01:00, 900.0, 500.0 +01-01-2019 02:00, 1000.0, 1000.0 +01-01-2019 03:00, 1200.0, 1500.0 diff --git a/tests/models/unit_cases_electricity/battery/model/source_sink_storage.esdl b/tests/models/unit_cases_electricity/battery/model/source_sink_storage.esdl new file mode 100644 index 000000000..b266be55f --- /dev/null +++ b/tests/models/unit_cases_electricity/battery/model/source_sink_storage.esdl @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases_electricity/battery/src/example.py b/tests/models/unit_cases_electricity/battery/src/example.py new file mode 100644 index 000000000..9bd70bd57 --- /dev/null +++ b/tests/models/unit_cases_electricity/battery/src/example.py @@ -0,0 +1,102 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + +import numpy as np + +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.optimization.goal_programming_mixin import GoalProgrammingMixin +from rtctools.optimization.goal_programming_mixin_base import Goal +from rtctools.optimization.linearized_order_goal_programming_mixin import ( + LinearizedOrderGoalProgrammingMixin, +) +from rtctools.optimization.timeseries import Timeseries +from rtctools.util import run_optimization_problem + + +class TargetDemandGoal(Goal): + priority = 1 + + order = 2 + + def __init__(self, state: str, target: Timeseries): + self.state = state + + self.target_min = target + self.target_max = target + self.function_range = (0.0, 2.0 * max(target.values)) + self.function_nominal = np.median(target.values) + + def function( + self, optimization_problem: CollocatedIntegratedOptimizationProblem, ensemble_member: int + ): + return optimization_problem.state(self.state) + + +class _GoalsAndOptions: + def path_goals(self): + """ + Add goal to meet the specified power demands in the electricity network. + + Returns + ------- + Extended goals list. + """ + goals = super().path_goals().copy() + + for demand in self.energy_system_components["electricity_demand"]: + target = self.get_timeseries(f"{demand}.target_electricity_demand") + state = f"{demand}.Electricity_demand" + + goals.append(TargetDemandGoal(state, target)) + + return goals + + def energy_system_options(self): + options = super().energy_system_options() + options["include_electric_cable_power_loss"] = False + + return options + + +class ElectricityProblem( + _GoalsAndOptions, + TechnoEconomicMixin, + LinearizedOrderGoalProgrammingMixin, + GoalProgrammingMixin, + ESDLMixin, + CollocatedIntegratedOptimizationProblem, +): + """ + Problem to check the behaviour of a simple source, cable, demand network and a battery. + """ + + def constraints(self, ensemble_member): + constraints = super().constraints(ensemble_member) + + for bat in self.energy_system_components.get("electricity_storage", []): + stored_elec = self.state_vector(f"{bat}.Stored_electricity") + constraints.append((stored_elec[0], 0.0, 0.0)) + + return constraints + + def solver_options(self): + options = super().solver_options() + options["solver"] = "highs" + return options + + pass + + +if __name__ == "__main__": + elect = run_optimization_problem( + ElectricityProblem, + esdl_file_name="source_sink_storage.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + r = elect.extract_results() diff --git a/tests/test_electricity_storage.py b/tests/test_electricity_storage.py new file mode 100644 index 000000000..66e970a46 --- /dev/null +++ b/tests/test_electricity_storage.py @@ -0,0 +1,100 @@ +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization + +import numpy as np + +from utils_tests import demand_matching_test, feasibility_test + + +class TestMILPElectricSourceSink(TestCase): + def test_source_sink(self): + """ + Tests for an electricity network that consist out of a source, a sink and storage, + connected with electricity cables. + + Checks: + - Check that the efficiency for charging and discharging is used proper to determine the + consumed and stored power + - Check that the battery is used to match demand + - Check that charging and discharging properly connected to the network (direction) + - Check that the is_charging variable is set correctly + + + """ + + import models.unit_cases_electricity.battery.src.example as example + from models.unit_cases_electricity.battery.src.example import ElectricityProblem + + base_folder = Path(example.__file__).resolve().parent.parent + tol = 1e-10 + + solution = run_esdl_mesido_optimization( + ElectricityProblem, + base_folder=base_folder, + esdl_file_name="source_sink_storage.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + results = solution.extract_results() + parameters = solution.parameters(0) + + feasibility_test(solution) + + demand_matching_test(solution, results) + + storage_name = solution.energy_system_components.get("electricity_storage")[0] + charge_eff = parameters[f"{storage_name}.charge_efficiency"] + discharge_eff = parameters[f"{storage_name}.discharge_efficiency"] + is_charging = results[f"{storage_name}__is_charging"] + eff_power_change_bat = results[f"{storage_name}.Effective_power_charging"] + power_bat_network = results[f"{storage_name}.ElectricityIn.Power"] + stored_el = results[f"{storage_name}.Stored_electricity"] + + power_cable_bat = results["ElectricityCable_91c1.ElectricityOut.Power"] + np.testing.assert_allclose(power_cable_bat, power_bat_network, atol=tol) + + # if battery is charging (1), ElectricityIn.Power and effective_power charging should be + # positive, else negative + bigger_then = all(is_charging * eff_power_change_bat >= 0) + smaller_then = all((1 - is_charging) * eff_power_change_bat <= 0) + self.assertTrue(bigger_then) + self.assertTrue(smaller_then) + + bigger_then = all(is_charging * power_bat_network >= 0) + smaller_then = all((1 - is_charging) * power_bat_network <= 0) + self.assertTrue(bigger_then) + self.assertTrue(smaller_then) + + # battery should be charging at atleast one timestep to overcome the difference between max + # production and demand + self.assertTrue(sum(is_charging) >= 1) + + # stored electricity starts at 0 + np.testing.assert_allclose( + stored_el[0], + 0.0, + err_msg="The battery should be empty at the start to check if it operates and " + "predicted", + ) + + # stored electricity change should be equal to the effective power change + stored_change = stored_el[1:] - stored_el[:-1] + np.testing.assert_allclose(eff_power_change_bat[1:] * 3600, stored_change, atol=tol) + + # effective power change while charging should be equal to efficiency * powerIn + np.testing.assert_allclose( + eff_power_change_bat * is_charging, + power_bat_network * is_charging * charge_eff, + atol=tol, + ) + # effective power change while discharging should be equal to powerOut/efficiency + np.testing.assert_allclose( + eff_power_change_bat * (1 - is_charging), + power_bat_network * (1 - is_charging) / discharge_eff, + atol=tol, + ) diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 5ccb11f35..d6dd57499 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -3,6 +3,20 @@ import numpy as np +def feasibility_test(solution): + feasibility = solution.solver_stats["return_status"] + + if solution.solver_options()["solver"] == "highs": + assert feasibility.lower() == "optimal" + elif solution.solver_options()["solver"] == "gurobi": + assert feasibility.lower() == "optimal" + else: + RuntimeError( + f"The solver {solution.solver_options()['solver']} is not used in test to check for " + f"optimality, please use highs or gurobi" + ) + + def demand_matching_test(solution, results): """ "Test function to check whether the milp demand of each consumer is matched""" len_times = 0.0 From 6d2c15c7664498461e561f8364a539bd3d54ea94 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 28 Jun 2024 10:16:45 +0200 Subject: [PATCH 166/376] bug fix --- src/mesido/workflows/io/write_output.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 43febe6a5..69ce51c1f 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -922,8 +922,14 @@ def _write_updated_esdl( results = self.extract_results() parameters = self.parameters(0) - input_energy_system_id = energy_system.id - energy_system.id = str(uuid.uuid4()) + _ = energy_system.id # input energy system id. Kept here as not sure if still needed + energy_system.id = str(uuid.uuid4()) # output energy system id + output_energy_system_id = energy_system.id + # Currently the simulation_id is created here, but in the future this will probably move + # to account for 1 simulation/optimization/run potentialy generating more than 1 output + # energy system (ESDL) + simulation_id = str(uuid.uuid4()) # simulation (optimization/simulator etc) id + if optimizer_sim: # network simulator energy_system.name = energy_system.name + "_Simulation" else: # network optimization From e2672bd43eb794a388abe71ed46375178c0d76b5 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 1 Jul 2024 08:46:51 +0200 Subject: [PATCH 167/376] update esdl: remove network network type check add warnings --- src/mesido/workflows/grow_workflow.py | 11 ++--------- src/mesido/workflows/io/write_output.py | 9 +++++++-- src/mesido/workflows/simulator_workflow.py | 2 -- tests/test_head_loss.py | 1 - tests/test_multiple_in_and_out_port_components.py | 2 -- 5 files changed, 9 insertions(+), 16 deletions(-) diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 71493b1ce..9ed199da8 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -7,7 +7,6 @@ from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin from mesido.esdl.esdl_mixin import ESDLMixin from mesido.head_loss_class import HeadLossOption -from mesido.network_common import NetworkSettings from mesido.techno_economic_mixin import TechnoEconomicMixin from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO from mesido.workflows.io.write_output import ScenarioOutput @@ -358,10 +357,7 @@ def post(self): ) sys.exit(1) if self._total_stages == self._stage: # When staging does exists - self._write_updated_esdl( - self._ESDLMixin__energy_system_handler.energy_system, - NetworkSettings.NETWORK_TYPE_HEAT, - ) + self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) elif self._total_stages < self._stage: logger.error( f"The stage number: {self._stage} is higher then the total stages" @@ -371,10 +367,7 @@ def post(self): except AttributeError: # Staging does not exist - self._write_updated_esdl( - self._ESDLMixin__energy_system_handler.energy_system, - NetworkSettings.NETWORK_TYPE_HEAT, - ) + self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) except Exception: logger.error("Unkown error occured when evaluating self._stage for _write_updated_esdl") sys.exit(1) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index d45061c0e..8151d33dd 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -17,7 +17,6 @@ import mesido.esdl.esdl_parser from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.esdl.edr_pipe_class import EDRPipeClass -from mesido.network_common import NetworkSettings from mesido.techno_economic_mixin import TechnoEconomicMixin from mesido.workflows.utils.helpers import _sort_numbered @@ -916,7 +915,10 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) # end KPIs def _write_updated_esdl( - self, energy_system, optimizer_sim: bool = False, add_kpis: bool = True, + self, + energy_system, + optimizer_sim: bool = False, + add_kpis: bool = True, ): from esdl.esdl_handler import EnergySystemHandler @@ -946,6 +948,7 @@ def _name_to_asset(name): # ------------------------------------------------------------------------------------------ # Placement + heat_pipes = set(self.energy_system_components.get("heat_pipe", [])) for _, attributes in self.esdl_assets.items(): name = attributes.name if name in [ @@ -971,6 +974,8 @@ def _name_to_asset(name): asset.delete(recursive=True) else: asset.state = esdl.AssetStateEnum.ENABLED + elif name not in heat_pipes: # because heat pipes are updated below + logger.warning(f"ESDL update: asset {name} has not updated") # Pipes: edr_pipe_properties_to_copy = ["innerDiameter", "outerDiameter", "diameter", "material"] diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index 185aab516..cce803efe 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -5,7 +5,6 @@ from mesido.esdl.esdl_mixin import ESDLMixin from mesido.head_loss_class import HeadLossOption -from mesido.network_common import NetworkSettings from mesido.techno_economic_mixin import TechnoEconomicMixin from mesido.workflows.io.write_output import ScenarioOutput from mesido.workflows.utils.adapt_profiles import ( @@ -315,7 +314,6 @@ def post(self): super().post() self._write_updated_esdl( self._ESDLMixin__energy_system_handler.energy_system, - NetworkSettings.NETWORK_TYPE_HEAT, optimizer_sim=True, ) diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 41cd095e3..1f9dba4ba 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -50,7 +50,6 @@ class SourcePipeSinkDW(SourcePipeSink): # super().post() # self._write_updated_esdl( # self._ESDLMixin__energy_system_handler.energy_system, - # NetworkSettings.NETWORK_TYPE_HEAT, # optimizer_sim=True, # ) diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 19b0ad483..aec152098 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -40,7 +40,6 @@ class HeatProblemPost(HeatProblem): # super().post() # self._write_updated_esdl( # self._ESDLMixin__energy_system_handler.energy_system, - # NetworkSettings.NETWORK_TYPE_HEAT, # optimizer_sim=True, # ) @@ -135,7 +134,6 @@ class HeatProblemPost(HeatProblem): # super().post() # self._write_updated_esdl( # self._ESDLMixin__energy_system_handler.energy_system, - # NetworkSettings.NETWORK_TYPE_HEAT, # optimizer_sim=True, # ) From 699639b6d5e5e05f79f5ef9d02851be2d1476c49 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 1 Jul 2024 09:44:31 +0200 Subject: [PATCH 168/376] formatting --- tests/models/basic_source_and_demand/src/qth_comparison.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/models/basic_source_and_demand/src/qth_comparison.py b/tests/models/basic_source_and_demand/src/qth_comparison.py index c98705c24..30022503c 100644 --- a/tests/models/basic_source_and_demand/src/qth_comparison.py +++ b/tests/models/basic_source_and_demand/src/qth_comparison.py @@ -97,7 +97,7 @@ class QTHESDL( @property def heat_network_flow_directions(self): pipes = self.energy_system_components["heat_pipe"] - return {p: "__fixed_positive_flow" for p in pipes} + return dict.fromkeys(pipes, "__fixed_positive_flow") def constant_inputs(self, ensemble_member): inputs = super().constant_inputs(ensemble_member) From bccaaf9085000e6b47f8d91c5ffbabd61fef21d2 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Mon, 1 Jul 2024 11:27:50 +0200 Subject: [PATCH 169/376] Update src/mesido/workflows/io/write_output.py Co-authored-by: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> --- src/mesido/workflows/io/write_output.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 8151d33dd..f685ebeda 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -975,7 +975,7 @@ def _name_to_asset(name): else: asset.state = esdl.AssetStateEnum.ENABLED elif name not in heat_pipes: # because heat pipes are updated below - logger.warning(f"ESDL update: asset {name} has not updated") + logger.warning(f"ESDL update: asset {name} has not been updated") # Pipes: edr_pipe_properties_to_copy = ["innerDiameter", "outerDiameter", "diameter", "material"] From deb98a1345c4f6e04a103f60f23c766803dd0db4 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 1 Jul 2024 12:01:00 +0200 Subject: [PATCH 170/376] Electrolyzer modelling options (#98) Created the electrolyzer options to have multiple options on calculations performed on the electrolyzer. How it influences the code, will be developed in the coming weeks --- src/mesido/electricity_physics_mixin.py | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index af47bd267..07e5f7c98 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -1,4 +1,5 @@ import logging +from enum import IntEnum from math import isclose from typing import Tuple @@ -17,6 +18,28 @@ logger = logging.getLogger("mesido") +class ElectrolyzerOption(IntEnum): + """ + Enumeration for the possible options to model the electrolyzer. + For detailed calculations related to these options, see the equations themselves. + + CONSTANT_EFFICIENCY + A constant efficiency is used to determine the H2 produced per energy electricity entering + + LINEARIZED_THREE_LINES_WEAK_INEQUALITY + The efficiency curve is linearized in 3 lines, which are all inequalities and with proper + goals will move towards these lines + + LINEARIZED_THREE_LINES_EQUALITY + The efficiency curve is linearized in 3 lines, which are all equalities using binary + variables and the big-M method to select the relevant lines. + """ + + CONSTANT_EFFICIENCY = 1 + LINEARIZED_THREE_LINES_WEAK_INEQUALITY = 2 + LINEARIZED_THREE_LINES_EQUALITY = 3 + + class ElectricityPhysicsMixin(BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem): """ This class is used to model the physics of an electricity network with its assets. We model @@ -57,6 +80,9 @@ def energy_system_options(self): options["include_asset_is_switched_on"] = False options["include_electric_cable_power_loss"] = False + options["electrolyzer_efficiency"] = ( + ElectrolyzerOption.LINEARIZED_THREE_LINES_WEAK_INEQUALITY + ) return options From f1bd85bbfd0462547fce55d241faf980a0273883 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 1 Jul 2024 13:04:39 +0200 Subject: [PATCH 171/376] bug in test case, pipe length should be shorter --- tests/models/gas_pipe_topology/model/2a_gas.esdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/models/gas_pipe_topology/model/2a_gas.esdl b/tests/models/gas_pipe_topology/model/2a_gas.esdl index 3589e32b5..c9ac4698c 100644 --- a/tests/models/gas_pipe_topology/model/2a_gas.esdl +++ b/tests/models/gas_pipe_topology/model/2a_gas.esdl @@ -40,7 +40,7 @@ - + From 126c849f2ee637afbc4b2c85aa786ad9e02858cc Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 1 Jul 2024 13:05:32 +0200 Subject: [PATCH 172/376] Priceprofile heatpump (#97) Created test case where the for a heatpump with an electricity price profile. To be used when no electricity network is drawn. --- .../heat_pump_elec/input/timeseries_elec.csv | 5 + .../model/heat_pump_elec_priceprofile.esdl | 314 ++++++++++++++++++ .../heat_pump_elec/src/run_hp_elec.py | 45 ++- tests/test_multicommodity.py | 59 ++++ 4 files changed, 420 insertions(+), 3 deletions(-) create mode 100644 tests/models/unit_cases_electricity/heat_pump_elec/input/timeseries_elec.csv create mode 100644 tests/models/unit_cases_electricity/heat_pump_elec/model/heat_pump_elec_priceprofile.esdl diff --git a/tests/models/unit_cases_electricity/heat_pump_elec/input/timeseries_elec.csv b/tests/models/unit_cases_electricity/heat_pump_elec/input/timeseries_elec.csv new file mode 100644 index 000000000..4704c418f --- /dev/null +++ b/tests/models/unit_cases_electricity/heat_pump_elec/input/timeseries_elec.csv @@ -0,0 +1,5 @@ +DateTime,HeatingDemand_3322,HeatingDemand_18aa,Electr +01-01-2019 00:00, 2500000.0, 2500000.0, 0.03 +01-01-2019 01:00, 2500000.0, 2500000.0, 0.03 +01-01-2019 02:00, 2500000.0, 2500000.0, 0.0003 +01-01-2019 03:00, 2500000.0, 2500000.0, 0.03 diff --git a/tests/models/unit_cases_electricity/heat_pump_elec/model/heat_pump_elec_priceprofile.esdl b/tests/models/unit_cases_electricity/heat_pump_elec/model/heat_pump_elec_priceprofile.esdl new file mode 100644 index 000000000..4a7411bb7 --- /dev/null +++ b/tests/models/unit_cases_electricity/heat_pump_elec/model/heat_pump_elec_priceprofile.esdl @@ -0,0 +1,314 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py b/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py index e2def9854..cd8264ae7 100644 --- a/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py +++ b/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py @@ -1,9 +1,14 @@ import esdl +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin from mesido.esdl.esdl_mixin import ESDLMixin from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption from mesido.physics_mixin import PhysicsMixin +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO + import numpy as np @@ -260,16 +265,50 @@ def energy_system_options(self): return options +class ElectricityProblemPriceProfile( + _GoalsAndOptions, + ESDLAdditionalVarsMixin, + TechnoEconomicMixin, + LinearizedOrderGoalProgrammingMixin, + GoalProgrammingMixin, + ESDLMixin, + CollocatedIntegratedOptimizationProblem, +): + def read(self): + super().read() + + for d in self.energy_system_components["heat_demand"]: + new_timeseries = self.get_timeseries(f"{d}.target_heat_demand").values * 0.01 + self.set_timeseries(f"{d}.target_heat_demand", new_timeseries) + + def goals(self): + goals = super().goals().copy() + + goals.append(MinimizeTCO(priority=2)) + + return goals + + def energy_system_options(self): + options = super().energy_system_options() + self.heat_network_settings["minimum_velocity"] = 0.0001 + options["heat_loss_disconnected_pipe"] = False + options["neglect_pipe_heat_losses"] = True + self.heat_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS + + return options + + if __name__ == "__main__": sol = run_optimization_problem( - HeatProblem2, - esdl_file_name="heat_pump_elec.esdl", + ElectricityProblemPriceProfile, + esdl_file_name="heat_pump_elec_priceprofile.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, - input_timeseries_file="timeseries_import.xml", + input_timeseries_file="timeseries_elec.csv", ) results = sol.extract_results() print(results["GenericConversion_3d3f.Power_elec"]) + print(results["GenericConversion_3d3f__variable_operational_cost"]) print(results["ResidualHeatSource_aec9.Heat_source"]) # print(results["Pipe3__hn_diameter"]) # print(sol.bounds()["Pipe3__hn_diameter"]) diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index e90bdad26..f1f431406 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -210,3 +210,62 @@ def test_heat_pump_elec_min_elec(self): # check that prim producer is providing more energy to heatpump and primary demand np.testing.assert_array_less(heatdemand_prim - (heatsource_prim - heatpump_heat_prim), 0) + + def test_heat_pump_elec_price_profile(self): + """ + Verify that minimisation of the electricity power used when price of electricity is high. + + Checks: + - Standard checks for demand matching, heat to discharge and energy conservation + - Check that the producer not connected to the heat pump is only used when electricity + prices of HP are high + - Check calculation of variable operational costs which include the electricity prices + + """ + import models.unit_cases_electricity.heat_pump_elec.src.run_hp_elec as run_hp_elec + from models.unit_cases_electricity.heat_pump_elec.src.run_hp_elec import ( + ElectricityProblemPriceProfile, + ) + + base_folder = Path(run_hp_elec.__file__).resolve().parent.parent + + solution = run_esdl_mesido_optimization( + ElectricityProblemPriceProfile, + base_folder=base_folder, + esdl_file_name="heat_pump_elec_priceprofile.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_elec.csv", + ) + + results = solution.extract_results() + + demand_matching_test(solution, results) + energy_conservation_test(solution, results) + heat_to_discharge_test(solution, results) + + heatpump_power = results["GenericConversion_3d3f.Power_elec"] + heatpump_heat_sec = results["GenericConversion_3d3f.Secondary_heat"] + heatpump_disabled = results["GenericConversion_3d3f__disabled"] + heatdemand_sec = results["HeatingDemand_18aa.Heat_demand"] + var_opex_hp = results["GenericConversion_3d3f__variable_operational_cost"] + # pipe_sec_out_hp_disconnected = results["Pipe_408e__is_disconnected"] + + # check that heatpump is not used when electricity price is high: + price_profile = solution.get_timeseries("Electr.price_profile").values + price_profile_max = price_profile == max(price_profile) + self.assertTrue(all(price_profile_max >= heatpump_disabled)) + self.assertTrue(all(price_profile_max[1:] * heatpump_power[1:] == 0)) + + # check that heatpump is producing all heat for the heatdemand on the secondary side when + # electricity price is low + ind_hp = np.asarray(1 - price_profile_max).nonzero() + np.testing.assert_allclose(heatpump_heat_sec[ind_hp], heatdemand_sec[ind_hp]) + + # check variable_operational_cost for heat pump including the price_profile of electricity + var_opex_hp_non_el = 1e-6 # var_opex in ESDL for HP + timestep = 1.0 # hr + var_opex_hp_calc = sum( + (price_profile[1:] + var_opex_hp_non_el) * heatpump_power[1:] * timestep + ) + np.testing.assert_allclose(var_opex_hp_calc, var_opex_hp) From 3990431b847a5c4284cd196a0f92e31dfa82741e Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 2 Jul 2024 09:26:27 +0200 Subject: [PATCH 173/376] use coolprop, updated test cases, big fix viscosity type --- src/mesido/_darcy_weisbach.py | 20 ++++++++++++++++---- tests/test_electrolyzer.py | 17 +++++++++++++++++ tests/test_head_loss.py | 17 +++++++++++++++-- 3 files changed, 48 insertions(+), 6 deletions(-) diff --git a/src/mesido/_darcy_weisbach.py b/src/mesido/_darcy_weisbach.py index 1a5f60273..ba1564c26 100644 --- a/src/mesido/_darcy_weisbach.py +++ b/src/mesido/_darcy_weisbach.py @@ -2,8 +2,6 @@ import CoolProp as cP -from iapws import IAPWS95 - from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.network_common import NetworkSettings @@ -20,11 +18,18 @@ def _kinematic_viscosity(temperature, network_type=NetworkSettings.NETWORK_TYPE_ which the pressure [Pa] and temperature [K] are provided as inputs. The gas composition is based on Groninger gas. """ + + # Kinematic viscosity [m2/s] = Dynamic viscosity [Pa-s] / density [kg/m3] if network_type == NetworkSettings.NETWORK_TYPE_HEAT: - return IAPWS95(T=273.15 + temperature, P=0.5).nu + return cP.CoolProp.PropsSI( + "V", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER" + ) / cP.CoolProp.PropsSI("D", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER") + elif network_type == NetworkSettings.NETWORK_TYPE_HYDROGEN: pressure = pressure if pressure else 101325 - return cP.CoolProp.PropsSI("V", "T", 273.15 + temperature, "P", pressure, "HYDROGEN") + return cP.CoolProp.PropsSI( + "V", "T", 273.15 + temperature, "P", pressure, "HYDROGEN" + ) / cP.CoolProp.PropsSI("D", "T", 273.15 + temperature, "P", pressure, "HYDROGEN") elif network_type == NetworkSettings.NETWORK_TYPE_GAS: pressure = pressure if pressure else 101325 return cP.CoolProp.PropsSI( @@ -34,6 +39,13 @@ def _kinematic_viscosity(temperature, network_type=NetworkSettings.NETWORK_TYPE_ "P", pressure, NetworkSettings.NETWORK_COMPOSITION_GAS, + ) / cP.CoolProp.PropsSI( + "D", + "T", + 273.15 + temperature, + "P", + pressure, + NetworkSettings.NETWORK_COMPOSITION_GAS, ) else: raise Exception("Unknown network type for computing dynamic viscosity") diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index df32c5a9f..1fd6c6d71 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -1,8 +1,10 @@ from pathlib import Path from unittest import TestCase +import mesido._darcy_weisbach as darcy_weisbach from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.network_common import NetworkSettings from mesido.util import run_esdl_mesido_optimization import numpy as np @@ -23,6 +25,7 @@ def test_electrolyzer(self): - Check the setpoint for the windfarm - Check the max production profile of the windfarm - Check the electrolyzer inequality constraints formulation + - The water kinematic viscosity of hydrogen by comparing head loss to a hard-coded value """ import models.unit_cases_electricity.electrolyzer.src.example as example @@ -48,6 +51,20 @@ def energy_system_options(self): results = solution.extract_results() + # Compare the head loss to hard-coded values. Difference expected if an error + # occours in the calculation of the gas kinematic viscosity. + v_inspect = results["Pipe_6ba6.GasOut.Q"][1] / solution.parameters(0)["Pipe_6ba6.area"] + head_loss_v_inspect = darcy_weisbach.head_loss( + v_inspect, + solution.parameters(0)["Pipe_6ba6.diameter"], + solution.parameters(0)["Pipe_6ba6.length"], + solution.energy_system_options()["wall_roughness"], + 20.0, + network_type=NetworkSettings.NETWORK_TYPE_HYDROGEN, + pressure=solution.parameters(0)["Pipe_6ba6.pressure"], + ) + np.testing.assert_allclose(head_loss_v_inspect, 104.06961666355383) + gas_price_profile = "gas.price_profile" state = "GasDemand_0cf3.Gas_demand_mass_flow" nominal = solution.variable_nominal(state) * np.median( diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 1f9dba4ba..c86a94f7d 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -33,6 +33,7 @@ def test_heat_network_head_loss(self): - That for the dH value approximated by the code is conservative, in other word greater than the theoretical value - That the pump power is conservative + - The water kinematic viscosity of water by comparing head loss to a hard-coded value """ import models.source_pipe_sink.src.double_pipe_heat as example from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink @@ -169,6 +170,12 @@ def energy_system_options(self): v_inspect, pipe_diameter, pipe_length, pipe_wall_roughness, temperature ) + # Compare the head loss to hard-coded values. Difference expected if an error + # occours in the calculation of the gas kinematic viscosity. + if head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY: + if itime == 3: # this index was chosen randomly + np.testing.assert_allclose(dh_milp_head_loss_function, 0.001690727020401069) + np.testing.assert_allclose(dh_theory, dh_milp_head_loss_function) np.testing.assert_array_less(dh_milp_head_loss_function, dh_manual_linear) @@ -399,6 +406,7 @@ def test_gas_network_head_loss(self): - that the approximated head loss matches the manually calculated value - that linearized dH satisfies the specified constraint - that only one linear line segment is active for the head loss linearization + - the kinematic viscosity of natural gas by comparing head loss to a hard-coded value """ import models.unit_cases_gas.source_sink.src.run_source_sink as example @@ -470,7 +478,7 @@ def energy_system_options(self): # Approximate dH [m] vs Q [m3/s] with a linear line between between v_points # dH_manual_linear = a*Q + b # Then use this linear function to calculate the head loss - delta_dh_theory = darcy_weisbach.head_loss( + head_loss_v_point_1 = darcy_weisbach.head_loss( v_points[1], pipe_diameter, pipe_length, @@ -478,7 +486,8 @@ def energy_system_options(self): temperature, network_type=NetworkSettings.NETWORK_TYPE_GAS, pressure=solution.parameters(0)[f"{pipes[0]}.pressure"], - ) - darcy_weisbach.head_loss( + ) + delta_dh_theory = head_loss_v_point_1 - darcy_weisbach.head_loss( v_points[0], pipe_diameter, pipe_length, @@ -487,6 +496,10 @@ def energy_system_options(self): network_type=NetworkSettings.NETWORK_TYPE_GAS, pressure=solution.parameters(0)[f"{pipes[0]}.pressure"], ) + # Compare the hydraulic power to hard-coded values. Difference expected if an error + # occours in the calculation of the gas kinematic viscosity. + if head_loss_option_setting == HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY: + np.testing.assert_allclose(head_loss_v_point_1, 1298.1537098750562) delta_volumetric_flow = (v_points[1] * np.pi * pipe_diameter**2 / 4.0) - ( v_points[0] * np.pi * pipe_diameter**2 / 4.0 From f41027759bd60bcde61ab42a768db55d9789de81 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 2 Jul 2024 10:27:24 +0200 Subject: [PATCH 174/376] check something --- src/mesido/_darcy_weisbach.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mesido/_darcy_weisbach.py b/src/mesido/_darcy_weisbach.py index ba1564c26..662bd7bee 100644 --- a/src/mesido/_darcy_weisbach.py +++ b/src/mesido/_darcy_weisbach.py @@ -2,6 +2,8 @@ import CoolProp as cP +from iapws import IAPWS95 + from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.network_common import NetworkSettings @@ -21,9 +23,10 @@ def _kinematic_viscosity(temperature, network_type=NetworkSettings.NETWORK_TYPE_ # Kinematic viscosity [m2/s] = Dynamic viscosity [Pa-s] / density [kg/m3] if network_type == NetworkSettings.NETWORK_TYPE_HEAT: - return cP.CoolProp.PropsSI( - "V", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER" - ) / cP.CoolProp.PropsSI("D", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER") + return IAPWS95(T=273.15 + temperature, P=0.5).nu + # return cP.CoolProp.PropsSI( + # "V", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER" + # ) / cP.CoolProp.PropsSI("D", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER") elif network_type == NetworkSettings.NETWORK_TYPE_HYDROGEN: pressure = pressure if pressure else 101325 From 79ad0333caaccdf73823979b6a6cfb3971a9a3b5 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 2 Jul 2024 10:37:32 +0200 Subject: [PATCH 175/376] check --- src/mesido/_darcy_weisbach.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/mesido/_darcy_weisbach.py b/src/mesido/_darcy_weisbach.py index 662bd7bee..fefb56828 100644 --- a/src/mesido/_darcy_weisbach.py +++ b/src/mesido/_darcy_weisbach.py @@ -23,10 +23,18 @@ def _kinematic_viscosity(temperature, network_type=NetworkSettings.NETWORK_TYPE_ # Kinematic viscosity [m2/s] = Dynamic viscosity [Pa-s] / density [kg/m3] if network_type == NetworkSettings.NETWORK_TYPE_HEAT: - return IAPWS95(T=273.15 + temperature, P=0.5).nu - # return cP.CoolProp.PropsSI( - # "V", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER" - # ) / cP.CoolProp.PropsSI("D", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER") + old = IAPWS95(T=273.15 + temperature, P=0.5).nu + new = cP.CoolProp.PropsSI( + "V", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER" + ) / cP.CoolProp.PropsSI("D", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER") + + if abs(old - new) / old * 100.0 > 0.001: + exit(1) + + # return IAPWS95(T=273.15 + temperature, P=0.5).nu + return cP.CoolProp.PropsSI( + "V", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER" + ) / cP.CoolProp.PropsSI("D", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER") elif network_type == NetworkSettings.NETWORK_TYPE_HYDROGEN: pressure = pressure if pressure else 101325 From 480bb51c2129af06e948fa93839878e15ba06447 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 2 Jul 2024 10:56:29 +0200 Subject: [PATCH 176/376] check pipe length --- examples/pipe_diameter_sizing/model/2a.esdl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/pipe_diameter_sizing/model/2a.esdl b/examples/pipe_diameter_sizing/model/2a.esdl index 5413b8e74..eb93b345d 100644 --- a/examples/pipe_diameter_sizing/model/2a.esdl +++ b/examples/pipe_diameter_sizing/model/2a.esdl @@ -49,7 +49,7 @@ - + @@ -345,7 +345,7 @@ - + From d3e6dec97763ab9f88026623e0742a2ef73482ab Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 2 Jul 2024 10:57:07 +0200 Subject: [PATCH 177/376] temp tox settings --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index cda45d59d..583bd62e6 100644 --- a/tox.ini +++ b/tox.ini @@ -32,7 +32,7 @@ deps = flake8-comprehensions flake8-import-order pep8-naming -commands = flake8 examples src tests setup.py +commands = flake8 examples src tests/pipe_diameter_sizing.py setup.py [testenv:black] From 757809a7c993bcc2f4d67ced1c417c0b635a4360 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 2 Jul 2024 10:59:00 +0200 Subject: [PATCH 178/376] remove temp --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 583bd62e6..cda45d59d 100644 --- a/tox.ini +++ b/tox.ini @@ -32,7 +32,7 @@ deps = flake8-comprehensions flake8-import-order pep8-naming -commands = flake8 examples src tests/pipe_diameter_sizing.py setup.py +commands = flake8 examples src tests setup.py [testenv:black] From 3a7aefb14ca183952ae9e69f613d2b5c02554f37 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 2 Jul 2024 13:25:58 +0200 Subject: [PATCH 179/376] remove all temp code, use correct code --- src/mesido/_darcy_weisbach.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/mesido/_darcy_weisbach.py b/src/mesido/_darcy_weisbach.py index fefb56828..32aea1d7e 100644 --- a/src/mesido/_darcy_weisbach.py +++ b/src/mesido/_darcy_weisbach.py @@ -2,8 +2,6 @@ import CoolProp as cP -from iapws import IAPWS95 - from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.network_common import NetworkSettings @@ -23,19 +21,9 @@ def _kinematic_viscosity(temperature, network_type=NetworkSettings.NETWORK_TYPE_ # Kinematic viscosity [m2/s] = Dynamic viscosity [Pa-s] / density [kg/m3] if network_type == NetworkSettings.NETWORK_TYPE_HEAT: - old = IAPWS95(T=273.15 + temperature, P=0.5).nu - new = cP.CoolProp.PropsSI( - "V", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER" - ) / cP.CoolProp.PropsSI("D", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER") - - if abs(old - new) / old * 100.0 > 0.001: - exit(1) - - # return IAPWS95(T=273.15 + temperature, P=0.5).nu return cP.CoolProp.PropsSI( "V", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER" ) / cP.CoolProp.PropsSI("D", "T", 273.15 + temperature, "P", 0.5 * 10**6, "WATER") - elif network_type == NetworkSettings.NETWORK_TYPE_HYDROGEN: pressure = pressure if pressure else 101325 return cP.CoolProp.PropsSI( From abae89b83ab05e62ca6fe3005e6b1b05c843caf8 Mon Sep 17 00:00:00 2001 From: AlexMGTNO <123077261+AlexMGTNO@users.noreply.github.com> Date: Tue, 2 Jul 2024 15:26:01 +0200 Subject: [PATCH 180/376] Electrolyzer Constant Efficiency (#100) DEV: added electrolyzer constant efficiency constraint and corresponding test suite --- .gitignore | 2 + src/mesido/electricity_physics_mixin.py | 110 +++++++++++------- src/mesido/esdl/esdl_heat_model.py | 1 + .../milp/multicommodity/electrolyzer.py | 2 + .../timeseries_minimum_electrolyzer_power.csv | 4 + .../electrolyzer/src/example.py | 14 ++- tests/test_electrolyzer.py | 105 +++++++++++++---- tests/test_esdl_parsing.py | 6 +- tests/test_profile_parsing.py | 8 +- 9 files changed, 181 insertions(+), 71 deletions(-) create mode 100644 tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv diff --git a/.gitignore b/.gitignore index d01bc1ee7..7c8d6775c 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,5 @@ run_pipe_compare.py *_GrowOptimized.esdl *_GrowOptimized_esdl_string.esdl *_Simulation.esdl +# Alejandro Martin +*_amg_* \ No newline at end of file diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 07e5f7c98..181fbf691 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -611,52 +611,84 @@ def __electrolyzer_path_constaint(self, ensemble_member): """ constraints = [] parameters = self.parameters(ensemble_member) + options = self.energy_system_options() + # TODO: CHECK UNITS MASSFLOW for asset in self.energy_system_components.get("electrolyzer", []): gas_mass_flow_out = self.state(f"{asset}.Gas_mass_flow_out") power_consumed = self.state(f"{asset}.Power_consumed") - - # Multiple linear lines - curve_fit_number_of_lines = 3 - linear_coef_a, linear_coef_b = self._get_linear_coef_electrolyzer_mass_vs_epower_fit( - parameters[f"{asset}.a_eff_coefficient"], - parameters[f"{asset}.b_eff_coefficient"], - parameters[f"{asset}.c_eff_coefficient"], - n_lines=curve_fit_number_of_lines, - electrical_power_min=max( - parameters[f"{asset}.minimum_load"], - 0.01 * self.bounds()[f"{asset}.ElectricityIn.Power"][1], - ), - electrical_power_max=self.bounds()[f"{asset}.ElectricityIn.Power"][1], - ) - power_consumed_vect = ca.repmat(power_consumed, len(linear_coef_a)) - gas_mass_flow_out_vect = ca.repmat(gas_mass_flow_out, len(linear_coef_a)) - gass_mass_out_linearized_vect = linear_coef_a * power_consumed_vect + linear_coef_b var_name = self.__asset_is_switched_on_map[asset] asset_is_switched_on = self.state(var_name) + if options["electrolyzer_efficiency"] == ElectrolyzerOption.CONSTANT_EFFICIENCY: + nominal = ( + self.variable_nominal(f"{asset}.Gas_mass_flow_out") + * self.variable_nominal(f"{asset}.Power_consumed") + ) ** 0.5 + big_m = ( + self.bounds()[f"{asset}.Power_consumed"][1] / parameters[f"{asset}.efficiency"] + ) * 2 + constraints.extend( + [ + ( + (gas_mass_flow_out * parameters[f"{asset}.efficiency"] - power_consumed) + / nominal, + 0.0, + 0.0, + ), + ] + ) - gass_mass_out_max = ( - linear_coef_a[-1] * self.bounds()[f"{asset}.Power_consumed"][1] + linear_coef_b[-1] - ) - big_m = gass_mass_out_max * 2 - nominal = ( - self.variable_nominal(f"{asset}.Gas_mass_flow_out") - * min(linear_coef_a) - * self.variable_nominal(f"{asset}.Power_consumed") - ) ** 0.5 - constraints.extend( - [ - ( + elif ( + options["electrolyzer_efficiency"] + == ElectrolyzerOption.LINEARIZED_THREE_LINES_WEAK_INEQUALITY + ): + curve_fit_number_of_lines = 3 + linear_coef_a, linear_coef_b = ( + self._get_linear_coef_electrolyzer_mass_vs_epower_fit( + parameters[f"{asset}.a_eff_coefficient"], + parameters[f"{asset}.b_eff_coefficient"], + parameters[f"{asset}.c_eff_coefficient"], + n_lines=curve_fit_number_of_lines, + electrical_power_min=max( + parameters[f"{asset}.minimum_load"], + 0.01 * self.bounds()[f"{asset}.ElectricityIn.Power"][1], + ), + electrical_power_max=self.bounds()[f"{asset}.ElectricityIn.Power"][1], + ) + ) + power_consumed_vect = ca.repmat(power_consumed, len(linear_coef_a)) + gas_mass_flow_out_vect = ca.repmat(gas_mass_flow_out, len(linear_coef_a)) + gass_mass_out_linearized_vect = linear_coef_a * power_consumed_vect + linear_coef_b + + gass_mass_out_max = ( + linear_coef_a[-1] * self.bounds()[f"{asset}.Power_consumed"][1] + + linear_coef_b[-1] + ) + nominal = ( + self.variable_nominal(f"{asset}.Gas_mass_flow_out") + * min(linear_coef_a) + * self.variable_nominal(f"{asset}.Power_consumed") + ) ** 0.5 + big_m = gass_mass_out_max * 2 + constraints.extend( + [ ( - gas_mass_flow_out_vect - - gass_mass_out_linearized_vect - - (1 - asset_is_switched_on) * big_m - ) - / nominal, - -np.inf, - 0.0, - ), - ] - ) + ( + gas_mass_flow_out_vect + - gass_mass_out_linearized_vect + - (1 - asset_is_switched_on) * big_m + ) + / nominal, + -np.inf, + 0.0, + ), + ] + ) + elif ( + options["electrolyzer_efficiency"] + == ElectrolyzerOption.LINEARIZED_THREE_LINES_EQUALITY + ): + raise NotImplementedError + constraints.append( ((gas_mass_flow_out + asset_is_switched_on * big_m) / big_m, 0.0, np.inf) ) diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 60231a7f8..c199800fa 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1995,6 +1995,7 @@ def equations(x): nominal_power_consumed=max_power / 2.0, Q_nominal=q_nominal, density=density, + efficiency=eff_max, GasOut=dict( Q=dict( min=0.0, diff --git a/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py index e4d727d98..6b01327c2 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py @@ -40,6 +40,8 @@ def __init__(self, name, **modifiers): self.Q_nominal = nan self.min_voltage = nan + self.efficiency = nan + self.nominal_gass_mass_out = self.Q_nominal * self.density self.nominal_power_consumed = nan diff --git a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv new file mode 100644 index 000000000..077783356 --- /dev/null +++ b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv @@ -0,0 +1,4 @@ +DateTime,elec,gas,WindPark_7f14 +01-01-2019 00:00, 1.0, 1000000.0, 100000000.0 +01-01-2019 01:00, 1.0, 1000000.0, 100000000.0 +01-01-2019 02:00, 1.0, 1000000.0, 49000000.0 diff --git a/tests/models/unit_cases_electricity/electrolyzer/src/example.py b/tests/models/unit_cases_electricity/electrolyzer/src/example.py index 00e9a78dd..2685c48cf 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/src/example.py +++ b/tests/models/unit_cases_electricity/electrolyzer/src/example.py @@ -1,3 +1,4 @@ +from mesido.electricity_physics_mixin import ElectrolyzerOption from mesido.esdl.esdl_mixin import ESDLMixin from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile @@ -124,7 +125,7 @@ def constraints(self, ensemble_member): return constraints -class MILPProblem( +class MILPProblemInequality( _GoalsAndOptions, TechnoEconomicMixin, LinearizedOrderGoalProgrammingMixin, @@ -156,9 +157,18 @@ def energy_system_options(self): # return super().times(variable)[:5] +class MILPProblemConstantEfficiency(MILPProblemInequality): + + def energy_system_options(self): + options = super().energy_system_options() + options["electrolyzer_efficiency"] = ElectrolyzerOption.CONSTANT_EFFICIENCY + + return options + + if __name__ == "__main__": elect = run_optimization_problem( - MILPProblem, + MILPProblemInequality, esdl_file_name="h2.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index df32c5a9f..06e57d55b 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -8,14 +8,12 @@ import numpy as np -# from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test - - class TestElectrolyzer(TestCase): - def test_electrolyzer(self): + def test_electrolyzer_inequality(self): """ This test is to check the functioning the example with an offshore wind farm in combination - with an electrolyzer and hydrogen storage. + with an electrolyzer and hydrogen storage. The electrolyzer is modelled as the option + LINEARIZED_THREE_LINES_WEAK_INEQUALITY. Checks: - The objective value with the revenue included @@ -26,19 +24,12 @@ def test_electrolyzer(self): """ import models.unit_cases_electricity.electrolyzer.src.example as example - from models.unit_cases_electricity.electrolyzer.src.example import MILPProblem + from models.unit_cases_electricity.electrolyzer.src.example import MILPProblemInequality base_folder = Path(example.__file__).resolve().parent.parent - class MILPProblemSolve(MILPProblem): - def energy_system_options(self): - options = super().energy_system_options() - self.gas_network_settings["pipe_maximum_pressure"] = 100.0 # [bar] - self.gas_network_settings["pipe_minimum_pressure"] = 0.0 - return options - solution = run_esdl_mesido_optimization( - MILPProblem, + MILPProblemInequality, base_folder=base_folder, esdl_file_name="h2.esdl", esdl_parser=ESDLFileParser, @@ -143,9 +134,6 @@ def energy_system_options(self): results["Electrolyzer_fc66.ElectricityIn.Power"] * a[i] + b[i] + 1.0e-3, ) - # print(results["Electrolyzer_fc66.ElectricityIn.Power"]) - # print(results["Electrolyzer_fc66.Gas_mass_flow_out"]) - # ----------------------------------------------------------------------------------------- # Do cost checks @@ -186,12 +174,83 @@ def energy_system_options(self): sum(results["Electrolyzer_fc66__investment_cost"]), ) # ----------------------------------------------------------------------------------------- + # TODO: add check on the electricity power conservation + + def test_electrolyzer_minimum_power(self): + """ + This test is to check that the electrolyzer is switched off when input power is below + the minimum power. The electrolyzer is modelled as the option + LINEARIZED_THREE_LINES_WEAK_INEQUALITY. + + Checks: + - Input power to the electrolyzer is 0 + - Output gas is 0 + - Electrolyzer is switched off + + """ + import models.unit_cases_electricity.electrolyzer.src.example as example + from models.unit_cases_electricity.electrolyzer.src.example import MILPProblemInequality + + base_folder = Path(example.__file__).resolve().parent.parent + solution = run_esdl_mesido_optimization( + MILPProblemInequality, + base_folder=base_folder, + esdl_file_name="h2.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_minimum_electrolyzer_power.csv", + ) -if __name__ == "__main__": - import time + results = solution.extract_results() - start_time = time.time() - test = TestElectrolyzer() - sol = test.test_electrolyzer() - print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) + # Check that the input power is 0 + np.testing.assert_allclose( + results["Electrolyzer_fc66.ElectricityIn.Power"][-1], + 0.0, + ) + # Check that the output gas is 0 + np.testing.assert_allclose( + results["Electrolyzer_fc66.Gas_mass_flow_out"][-1], + 0.0, + ) + # Check that the electrolyzer is switched off + np.testing.assert_allclose( + results["Electrolyzer_fc66__asset_is_switched_on"][-1], + 0, + ) + + def test_electrolyzer_constant_efficiency(self): + """ + This test is to check the functioning the example with an offshore wind farm in combination + with an electrolyzer and hydrogen storage. The electrolyzer is modelled as the option + CONSTANT_EFFICIENCY. + + Checks: + - Check the constant efficiency formulation of the electrolyzer + + """ + import models.unit_cases_electricity.electrolyzer.src.example as example + from models.unit_cases_electricity.electrolyzer.src.example import ( + MILPProblemConstantEfficiency, + ) + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_esdl_mesido_optimization( + MILPProblemConstantEfficiency, + base_folder=base_folder, + esdl_file_name="h2.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + + results = solution.extract_results() + + # Electrolyser + efficiency = solution.parameters(0)["Electrolyzer_fc66.efficiency"] + np.testing.assert_allclose( + results["Electrolyzer_fc66.Gas_mass_flow_out"] * efficiency, + results["Electrolyzer_fc66.ElectricityIn.Power"], + ) diff --git a/tests/test_esdl_parsing.py b/tests/test_esdl_parsing.py index 551b7d873..f67a24e6b 100644 --- a/tests/test_esdl_parsing.py +++ b/tests/test_esdl_parsing.py @@ -17,12 +17,12 @@ def test_from_string_and_from_file_are_equal(self): from using either the file or the string as input are the same. """ import models.unit_cases_electricity.electrolyzer.src.example as example - from models.unit_cases_electricity.electrolyzer.src.example import MILPProblem + from models.unit_cases_electricity.electrolyzer.src.example import MILPProblemInequality base_folder = Path(example.__file__).resolve().parent.parent solution_from_file = run_optimization_problem( - MILPProblem, + MILPProblemInequality, base_folder=base_folder, esdl_file_name="h2.esdl", esdl_parser=ESDLFileParser, @@ -34,7 +34,7 @@ def test_from_string_and_from_file_are_equal(self): esdl_string = solution_from_file.esdl_bytes_string solution_from_string = run_optimization_problem( - MILPProblem, + MILPProblemInequality, base_folder=base_folder, esdl_string=esdl_string, esdl_parser=ESDLStringParser, diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 11e4dd004..ef6ec7479 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -76,12 +76,12 @@ def test_loading_from_csv(self): default UTC timezone has been set. """ import models.unit_cases_electricity.electrolyzer.src.example as example - from models.unit_cases_electricity.electrolyzer.src.example import MILPProblem + from models.unit_cases_electricity.electrolyzer.src.example import MILPProblemInequality base_folder = Path(example.__file__).resolve().parent.parent model_folder = base_folder / "model" input_folder = base_folder / "input" - problem = MILPProblem( + problem = MILPProblemInequality( esdl_parser=ESDLFileParser, base_folder=base_folder, model_folder=model_folder, @@ -145,12 +145,12 @@ def test_loading_from_csv_with_influx_profiles_given(self): if the loaded profiles match those specified in the csv. """ import models.unit_cases_electricity.electrolyzer.src.example as example - from models.unit_cases_electricity.electrolyzer.src.example import MILPProblem + from models.unit_cases_electricity.electrolyzer.src.example import MILPProblemInequality base_folder = Path(example.__file__).resolve().parent.parent model_folder = base_folder / "model" input_folder = base_folder / "input" - problem = MILPProblem( + problem = MILPProblemInequality( esdl_parser=ESDLFileParser, base_folder=base_folder, model_folder=model_folder, From 02ee2a78d5aa937c1b3c97bc74d329d2f4f2af88 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 2 Jul 2024 19:39:41 +0200 Subject: [PATCH 181/376] Gas import and export (#99) Added the parsing of the ESDL import and export assets, which is similar to gas/electricity producer and consumer respectively. --- src/mesido/esdl/asset_to_component_base.py | 2 + src/mesido/esdl/esdl_heat_model.py | 44 +++++++++++++++++++--- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index cfbc58d1b..a082a4e90 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -81,6 +81,7 @@ class _AssetToComponentBase: "ElectricityDemand": "electricity_demand", "ElectricityProducer": "electricity_source", "Electrolyzer": "electrolyzer", + "Export": "export", "Compressor": "compressor", "GenericConsumer": "heat_demand", "CoolingDemand": "cold_demand", @@ -96,6 +97,7 @@ class _AssetToComponentBase: "GeothermalSource": "heat_source", "Losses": "heat_demand", "HeatProducer": "heat_source", + "Import": "import", "ResidualHeatSource": "heat_source", "GenericConversion": "heat_exchanger", "Joint": "node", diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index c199800fa..fae786472 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1481,7 +1481,7 @@ def convert_electricity_demand(self, asset: Asset) -> Tuple[Type[ElectricityDema ------- ElectricityDemand class with modifiers """ - assert asset.asset_type in {"ElectricityDemand"} + assert asset.asset_type in {"ElectricityDemand", "Export"} max_demand = asset.attributes.get("power", math.inf) min_voltage = asset.in_ports[0].carrier.voltage @@ -1506,6 +1506,40 @@ def convert_electricity_demand(self, asset: Asset) -> Tuple[Type[ElectricityDema return ElectricityDemand, modifiers + def convert_import(self, asset: Asset): + """ + The definition of an Import asset, is an asset that imports energy, thus adds energy to + the network, thereby it acts as a producer." + """ + assert asset.asset_type in {"Import"} + + if isinstance(asset.out_ports[0].carrier, esdl.esdl.GasCommodity): + return self.convert_gas_source(asset) + elif isinstance(asset.out_ports[0].carrier, esdl.esdl.ElectricityCommodity): + return self.convert_electricity_source(asset) + else: + raise RuntimeError( + f"Commodity of type {type(asset.out_ports[0].carrier)} for asset Import " + f"{asset.name} cannot be converted" + ) + + def convert_export(self, asset: Asset): + """ + The definition of an Export asset, is an asset that exports energy from the network, thus + extracts energy to the network, thereby it acts as a consumer." + """ + assert asset.asset_type in {"Export"} + + if isinstance(asset.in_ports[0].carrier, esdl.esdl.GasCommodity): + return self.convert_gas_demand(asset) + elif isinstance(asset.in_ports[0].carrier, esdl.esdl.ElectricityCommodity): + return self.convert_electricity_demand(asset) + else: + raise RuntimeError( + f"Commodity of type {type(asset.in_ports[0].carrier)} for asset Export " + f"{asset.name} cannot be converted" + ) + def convert_electricity_source(self, asset: Asset) -> Tuple[Type[ElectricitySource], MODIFIERS]: """ This function converts the ElectricitySource object in esdl to a set of modifiers that can @@ -1545,7 +1579,7 @@ def convert_electricity_source(self, asset: Asset) -> Tuple[Type[ElectricitySour ------- ElectricitySource class with modifiers """ - assert asset.asset_type in {"ElectricityProducer", "WindPark", "PVInstallation"} + assert asset.asset_type in {"ElectricityProducer", "WindPark", "PVInstallation", "Import"} max_supply = asset.attributes.get( "power", math.inf @@ -1564,7 +1598,7 @@ def convert_electricity_source(self, asset: Asset) -> Tuple[Type[ElectricitySour **self._get_cost_figure_modifiers(asset), ) - if asset.asset_type == "ElectricityProducer": + if asset.asset_type in ["ElectricityProducer", "Import"]: return ElectricitySource, modifiers if asset.asset_type == "WindPark": return WindPark, modifiers @@ -1822,7 +1856,7 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: ------- GasDemand class with modifiers """ - assert asset.asset_type in {"GasDemand"} + assert asset.asset_type in {"GasDemand", "Export"} id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ "id_number_mapping" @@ -1891,7 +1925,7 @@ def convert_gas_source(self, asset: Asset) -> Tuple[Type[GasSource], MODIFIERS]: ------- GasDemand class with modifiers """ - assert asset.asset_type in {"GasProducer"} + assert asset.asset_type in {"GasProducer", "Import"} q_nominal = self._get_connected_q_nominal(asset) density_value = self.get_density(asset.name, asset.out_ports[0].carrier) From ee029c7ea6295266bd084f7b990052cb9d1131bf Mon Sep 17 00:00:00 2001 From: Sebastiaan la Fleur Date: Wed, 3 Jul 2024 11:31:29 +0200 Subject: [PATCH 182/376] 105: Clarify the license as LGPLv3. --- COPYING.LESSER => LICENSE | 0 MANIFEST.in | 1 + README.md | 9 +++++++++ COPYING => additional_info_for_license.txt | 7 +++++++ setup.cfg | 2 +- 5 files changed, 18 insertions(+), 1 deletion(-) rename COPYING.LESSER => LICENSE (100%) rename COPYING => additional_info_for_license.txt (99%) diff --git a/COPYING.LESSER b/LICENSE similarity index 100% rename from COPYING.LESSER rename to LICENSE diff --git a/MANIFEST.in b/MANIFEST.in index ce3306345..ec23f3108 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,3 +2,4 @@ recursive-include src/mesido/modelica/WarmingUp * include versioneer.py include src/mesido/_version.py include src/mesido/esdl/_edr_pipes.json +include additional_info_for_license.txt diff --git a/README.md b/README.md index c32861e1e..37d31578d 100644 --- a/README.md +++ b/README.md @@ -86,3 +86,12 @@ In order to release this package: 6. Check [Github](https://github.com/Multi-Energy-Systems-Optimization/mesido/actions) to confirm the release is processed without errors. 7. Once the release has finished, confirm the new version is available on [pypi](https://pypi.org/project/mesido/). + + +License +======= + +This code base is licensed as LGPLv3 as specified in `LICENSE`. However, the LGPLv3 license +references the GPLv3 license. As such, we have added a copy of GPLv3 as a reference in the file +`additional_info_for_license.txt`. This does NOT entail that this code base is licensed as `GPLv3`. +The copy of the `GPLv3` license is only added as a reference. diff --git a/COPYING b/additional_info_for_license.txt similarity index 99% rename from COPYING rename to additional_info_for_license.txt index f288702d2..75d176cb5 100644 --- a/COPYING +++ b/additional_info_for_license.txt @@ -1,3 +1,10 @@ +In accordance with LGPLv3, a combined work should also contain a copy of the GPLv3 license. +A copy may be found below. This is added as a reference and this does NOT license this library +as GPLv3. + + +A copy of GPLv3 as reference (copied from https://www.gnu.org/licenses/gpl-3.0.txt): + GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 diff --git a/setup.cfg b/setup.cfg index cbf1f11d5..cbfe35f91 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [metadata] -license_file = COPYING.LESSER +license_file = LICENSE # See the docstring in versioneer.py for instructions. Note that you must # re-run 'versioneer.py setup' after changing this section, and commit the From 4a49c51761d797ee646b449737a30a742ab55354 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 4 Jul 2024 08:58:26 +0200 Subject: [PATCH 183/376] wip: still testing with no heat losses --- tests/test_cold_demand.py | 43 ++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 0e9dd4554..1f2835a6e 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -98,16 +98,20 @@ def test_wko(self): base_folder = Path(example.__file__).resolve().parent.parent class HeatingCoolingProblem(HeatProblem): - # def energy_system_options(self): - # options = super().energy_system_options() - # options["neglect_pipe_heat_losses"] = True - # return options + + # temp code below + def energy_system_options(self): + options = super().energy_system_options() + options["neglect_pipe_heat_losses"] = True + return options def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) - # Add cyclic constraint, this will also ensure that the total power used in the - # lower temp & higher temp well and via versa is the same. + # TODO: confirm if volume or heat balance is required over year. This will + # determine if cyclic contraint below is for stored_heat or stored_volume + # Add stored_heat cyclic constraint, this will also ensure that the total heat + # change in the wko is 0 over the timeline # Note: # - WKO in cooling mode: Hot well is being charged with heat and the cold well is # being discharged @@ -116,35 +120,21 @@ def constraints(self, ensemble_member): for a in self.energy_system_components.get("low_temperature_ates", []): stored_heat = self.state_vector(f"{a}.Stored_heat") constraints.append(((stored_heat[-1] - stored_heat[0]), 0.0, 0.0)) - # This was added to force the heatpump to start loading the WKO 1st 3 timesteps - # constraints.append((stored_heat[0], 0.0, 0.0)) - - # TODO: confirm if the yearly balance between warm and cold well is heat / flow - # related? # This code below might be needed - # Add constriant such that the total volume used of the lower temp & higher temp - # well of the WKO is the same. Yearly volume balance between the 2 wells. This - # ensures volume balance over the timeline. This is done by adding a constriant to - # esnure the total volume change over the period = 0. + # Add stored_heat cyclic constraint, this will also ensure that the volume + # into the lower temp & out of the higher temp is the same as the volume + # out of the lower temp & into the higher temp over the timeline. # Note: # - Volume increase: Hot well is being charged and the cold well is being # discharged. -> WKO in cooling mode # - Volume decrease: Cold well is being charged and the hot well is being # discharged. -> WKO in heating mode - # if heat balance over the year is required, then this needs to change ?????? TBC # for ates_id in self.energy_system_components.get("low_temperature_ates", []): # stored_volume = self.state_vector(f"{ates_id}.Stored_volume") # volume_usage = 0.0 - # volume_usage = stored_volume[0] - stored_volume[-1] # constraints.append((volume_usage, 0.0, 0.0)) - # for itstep in range(len(self.times()) - 1): - # volume_usage = ( - # volume_usage + stored_volume[itstep + 1] - stored_volume[itstep] - # ) - # constraints.append((volume_usage, 0.0, 0.0)) - return constraints heat_problem = run_esdl_mesido_optimization( @@ -175,3 +165,10 @@ def constraints(self, ensemble_member): test_cold_demand.test_wko() a = 1 + + +# results["Pipe2.HeatIn.Heat"] - results["Pipe2.HeatOut.Heat"] + (results["Pipe5.HeatIn.Heat"] - results["Pipe5.HeatOut.Heat"]) + (results["ATES_226d.Stored_heat"][1] - results["ATES_226d.Stored_heat"][0])/3600 + +# temp = results["Pipe2.HeatIn.Heat"] - results["Pipe2.HeatOut.Heat"] + (results["Pipe5.HeatIn.Heat"] - results["Pipe5.HeatOut.Heat"]) + +# (results["ATES_226d.Stored_heat"][1:] - results["ATES_226d.Stored_heat"][0:-1])/3600 + temp[1:] \ No newline at end of file From f1c069d6b7324dc9252d72e86206e74977fe39d0 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Fri, 5 Jul 2024 10:34:20 +0200 Subject: [PATCH 184/376] Remove last occurance of iawps (#109) --- setup.py | 1 - 1 file changed, 1 deletion(-) diff --git a/setup.py b/setup.py index a43586463..f10e6be60 100644 --- a/setup.py +++ b/setup.py @@ -64,7 +64,6 @@ "casadi == 3.6.3", "StrEnum == 0.4.15", "CoolProp==6.6.0", - "iapws==1.5.3", ], tests_require=["pytest", "pytest-runner", "numpy"], include_package_data=True, From ec1fa2079afb8bf59b5da7a5a9c41d19998493db Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 9 Jul 2024 15:42:59 +0200 Subject: [PATCH 185/376] formatting fix, already exists in main --- tests/models/basic_source_and_demand/src/qth_comparison.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/models/basic_source_and_demand/src/qth_comparison.py b/tests/models/basic_source_and_demand/src/qth_comparison.py index c98705c24..30022503c 100644 --- a/tests/models/basic_source_and_demand/src/qth_comparison.py +++ b/tests/models/basic_source_and_demand/src/qth_comparison.py @@ -97,7 +97,7 @@ class QTHESDL( @property def heat_network_flow_directions(self): pipes = self.energy_system_components["heat_pipe"] - return {p: "__fixed_positive_flow" for p in pipes} + return dict.fromkeys(pipes, "__fixed_positive_flow") def constant_inputs(self, ensemble_member): inputs = super().constant_inputs(ensemble_member) From 9ccff5e9c2ea19481c1b50d73c3446803328790a Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 10 Jul 2024 13:48:39 +0200 Subject: [PATCH 186/376] Utils test update (#102) utils_test is updated with checks on - gas and electricity demand profile matching - generalized electricity power conservation - electric buss power conservation test --- src/mesido/base_component_type_mixin.py | 2 +- tests/test_elec_boiler.py | 11 ++- tests/test_electric_bus.py | 19 ++--- tests/test_electric_source_sink.py | 45 +++--------- tests/test_electricity_storage.py | 3 +- tests/utils_tests.py | 95 ++++++++++++++++++++----- 6 files changed, 108 insertions(+), 67 deletions(-) diff --git a/src/mesido/base_component_type_mixin.py b/src/mesido/base_component_type_mixin.py index c9a04ff59..c5d2f7c30 100644 --- a/src/mesido/base_component_type_mixin.py +++ b/src/mesido/base_component_type_mixin.py @@ -23,7 +23,7 @@ def energy_system_components(self) -> Dict[str, str]: def energy_system_components_get(self, list_types: list) -> list: components = [] for component_type in list_types: - components.extend(self.energy_system_components.get(component_type)) + components.extend(self.energy_system_components.get(component_type, [])) components = list(set(components)) return components diff --git a/tests/test_elec_boiler.py b/tests/test_elec_boiler.py index b1ca9fcb4..9db8d6f2e 100644 --- a/tests/test_elec_boiler.py +++ b/tests/test_elec_boiler.py @@ -7,7 +7,12 @@ import numpy as np -from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test +from utils_tests import ( + demand_matching_test, + electric_power_conservation_test, + energy_conservation_test, + heat_to_discharge_test, +) class TestElecBoiler(TestCase): @@ -20,7 +25,7 @@ def test_elec_boiler(self): 1. demand is matched 2. energy conservation in the network 3. heat to discharge - 4. energy conservation over the commodity + 4. energy conservation over the heat and electricity commodity """ import models.source_pipe_sink.src.double_pipe_heat as example from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink @@ -41,6 +46,7 @@ def test_elec_boiler(self): demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) + electric_power_conservation_test(heat_problem, results) np.testing.assert_array_less(0.0, results["ElectricBoiler_9aab.Heat_source"]) np.testing.assert_array_less(0.0, results["ElectricityProducer_4dde.ElectricityOut.Power"]) @@ -80,6 +86,7 @@ def test_air_water_hp_elec(self): demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) + electric_power_conservation_test(heat_problem, results) np.testing.assert_array_less(0.0, results["HeatPump_d8fd.Heat_source"]) np.testing.assert_array_less(0.0, results["ElectricityProducer_4dde.ElectricityOut.Power"]) diff --git a/tests/test_electric_bus.py b/tests/test_electric_bus.py index 71f0d8766..77a87059b 100644 --- a/tests/test_electric_bus.py +++ b/tests/test_electric_bus.py @@ -16,6 +16,8 @@ import numpy as np +from utils_tests import electric_power_conservation_test + class TestMILPbus(TestCase): def test_voltages_and_power_network1(self): @@ -46,6 +48,10 @@ def test_voltages_and_power_network1(self): input_timeseries_file="timeseries.csv", ) results = solution.extract_results() + + # electric power conservation system and no dissipation of power and current in bus + electric_power_conservation_test(solution, results) + v1 = results["Bus_f262.ElectricityConn[1].V"] v2 = results["Bus_f262.ElectricityConn[2].V"] v_outgoing_cable = results["ElectricityCable_de9a.ElectricityIn.V"] @@ -53,14 +59,6 @@ def test_voltages_and_power_network1(self): v_demand = results["ElectricityDemand_e527.ElectricityIn.V"] p_demand = results["ElectricityDemand_e527.ElectricityIn.Power"] i_demand = results["ElectricityDemand_e527.ElectricityIn.I"] - p1 = results["Bus_f262.ElectricityConn[1].Power"] - p2 = results["Bus_f262.ElectricityConn[2].Power"] - p3 = results["Bus_f262.ElectricityConn[3].Power"] - p4 = results["Bus_f262.ElectricityConn[4].Power"] - i1 = results["Bus_f262.ElectricityConn[1].I"] - i2 = results["Bus_f262.ElectricityConn[2].I"] - i3 = results["Bus_f262.ElectricityConn[3].I"] - i4 = results["Bus_f262.ElectricityConn[4].I"] # Incoming voltage == outgoing voltage of bus self.assertTrue(all(v1 == v2)) @@ -68,10 +66,7 @@ def test_voltages_and_power_network1(self): self.assertTrue(all(v1 == v_incoming_cable)) # Outgoing voltage of bus == voltage of outgoing cable self.assertTrue(all(v1 == v_outgoing_cable)) - # Power in == power out = no dissipation of power - np.testing.assert_allclose(p1 + p2 - p3 - p4, 0.0, rtol=1.0e-6, atol=1.0e-6) - # Current in == current out = no dissipation of power - np.testing.assert_allclose(i1 + i2 - i3 - i4, 0.0, rtol=1.0e-6, atol=1.0e-6) + # check if minimum voltage is reached np.testing.assert_array_less( solution.parameters(0)["ElectricityDemand_e527.min_voltage"] - 1.0e-3, v_demand diff --git a/tests/test_electric_source_sink.py b/tests/test_electric_source_sink.py index fae824b65..7b90cff69 100644 --- a/tests/test_electric_source_sink.py +++ b/tests/test_electric_source_sink.py @@ -7,6 +7,8 @@ import numpy as np +from utils_tests import electric_power_conservation_test + # TODO: still have to make test where elecitricity direction is switched: # e.g. 2 nodes, with at each node a producer and consumer, first one node medium demand, second @@ -46,6 +48,9 @@ def test_source_sink(self): results = solution.extract_results() parameters = solution.parameters(0) + # Test energy conservation + electric_power_conservation_test(solution, results) + max_ = solution.bounds()["ElectricityDemand_2af6__max_size"][0] v_min = solution.parameters(0)["ElectricityCable_238f.min_voltage"] @@ -56,15 +61,7 @@ def test_source_sink(self): biggerthen = all(power_consumed >= np.zeros(len(power_consumed))) self.assertTrue(biggerthen) - # Test energy conservation - power_consumed = results["ElectricityDemand_2af6.ElectricityIn.Power"] - power_delivered = results["ElectricityProducer_b95d.ElectricityOut.Power"] power_loss = results["ElectricityCable_238f.Power_loss"] - total_power_dissipation = power_consumed + power_loss - self.assertIsNone( - np.testing.assert_allclose(total_power_dissipation, power_delivered, rtol=1e-4), - msg="No energy conservation. Total demand is not equal to total delivery.", - ) biggerthen = all(power_loss >= np.zeros(len(power_loss))) self.assertTrue(biggerthen) @@ -133,6 +130,9 @@ def test_source_sink_max_curr(self): results = solution.extract_results() parameters = solution.parameters(0) + # Test energy conservation + electric_power_conservation_test(solution, results) + max_power_transport = ( parameters["ElectricityCable_238f.min_voltage"] * parameters["ElectricityCable_238f.max_current"] @@ -157,15 +157,7 @@ def test_source_sink_max_curr(self): biggerthen = all(power_consumed >= np.zeros(len(power_consumed))) self.assertTrue(biggerthen) - # Test energy conservation - power_consumed = results["ElectricityDemand_2af6.ElectricityIn.Power"] - power_delivered = results["ElectricityProducer_b95d.ElectricityOut.Power"] power_loss = results["ElectricityCable_238f.Power_loss"] - total_power_dissipation = power_consumed + power_loss - self.assertIsNone( - np.testing.assert_allclose(total_power_dissipation, power_delivered, rtol=1e-4), - msg="No energy conservation. Total demand is not equal to total delivery.", - ) biggerthen = all(power_loss >= np.zeros(len(power_loss))) self.assertTrue(biggerthen) @@ -229,12 +221,8 @@ def test_transformer(self): results = solution.extract_results() parameters = solution.parameters(0) - # check power conservation in transformer - np.testing.assert_allclose( - results["Transformer_0185.ElectricityIn.Power"], - results["Transformer_0185.ElectricityOut.Power"], - atol=1.0e-3, - ) + # Check power conservation including power conservation in transformer + electric_power_conservation_test(solution, results) # Check that the cables have two different voltage levels assert ( @@ -253,18 +241,7 @@ def test_transformer(self): atol=1.0e-3, ) - for demand in solution.energy_system_components.get("electricity_demand", []): - np.testing.assert_allclose( - results[f"{demand}.ElectricityIn.V"], - parameters[f"{demand}.min_voltage"], - atol=1.0e-3, - ) - np.testing.assert_allclose( - results[f"{demand}.ElectricityIn.V"] * results[f"{demand}.ElectricityIn.I"], - results[f"{demand}.ElectricityIn.Power"], - atol=1.0e-3, - ) - for demand in solution.energy_system_components.get("transformer", []): + for demand in solution.energy_system_components_get(["electricity_demand", "transformer"]): np.testing.assert_allclose( results[f"{demand}.ElectricityIn.V"], parameters[f"{demand}.min_voltage"], diff --git a/tests/test_electricity_storage.py b/tests/test_electricity_storage.py index 66e970a46..1b032e367 100644 --- a/tests/test_electricity_storage.py +++ b/tests/test_electricity_storage.py @@ -7,7 +7,7 @@ import numpy as np -from utils_tests import demand_matching_test, feasibility_test +from utils_tests import demand_matching_test, electric_power_conservation_test, feasibility_test class TestMILPElectricSourceSink(TestCase): @@ -46,6 +46,7 @@ def test_source_sink(self): feasibility_test(solution) demand_matching_test(solution, results) + electric_power_conservation_test(solution, results) storage_name = solution.energy_system_components.get("electricity_storage")[0] charge_eff = parameters[f"{storage_name}.charge_efficiency"] diff --git a/tests/utils_tests.py b/tests/utils_tests.py index d6dd57499..c499d80e5 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -19,7 +19,6 @@ def feasibility_test(solution): def demand_matching_test(solution, results): """ "Test function to check whether the milp demand of each consumer is matched""" - len_times = 0.0 for d in solution.energy_system_components.get("heat_demand", []): if len(solution.times()) > 0: len_times = len(solution.times()) @@ -35,23 +34,27 @@ def demand_matching_test(solution, results): target = solution.get_timeseries(f"{d}.target_cold_demand").values[0:len_times] np.testing.assert_allclose(target, results[f"{d}.Cold_demand"], atol=1.0e-3, rtol=1.0e-6) for d in solution.energy_system_components.get("gas_demand", []): - if len(solution.times()) > 0: - len_times = len(solution.times()) - else: - len_times = len(solution.get_timeseries(f"{d}.target_gas_demand").values) - target = solution.get_timeseries(f"{d}.target_gas_demand").values[0:len_times] - np.testing.assert_allclose( - target, results[f"{d}.Gas_demand_mass_flow"], atol=1.0e-3, rtol=1.0e-6 - ) + timeseries_name = f"{d}.target_gas_demand" + if timeseries_name in solution.io.get_timeseries_names(): + if len(solution.times()) > 0: + len_times = len(solution.times()) + else: + len_times = len(solution.get_timeseries(timeseries_name).values) + target = solution.get_timeseries(timeseries_name).values[0:len_times] + np.testing.assert_allclose( + target, results[f"{d}.Gas_demand_mass_flow"], atol=1.0e-3, rtol=1.0e-6 + ) for d in solution.energy_system_components.get("electricity_demand", []): - if len(solution.times()) > 0: - len_times = len(solution.times()) - else: - len_times = len(solution.get_timeseries(f"{d}.target_electricity_demand").values) - target = solution.get_timeseries(f"{d}.target_electricity_demand").values[0:len_times] - np.testing.assert_allclose( - target, results[f"{d}.Electricity_demand"], atol=1.0e-3, rtol=1.0e-6 - ) + timeseries_name = f"{d}.target_electricity_demand" + if timeseries_name in solution.io.get_timeseries_names(): + if len(solution.times()) > 0: + len_times = len(solution.times()) + else: + len_times = len(solution.get_timeseries(timeseries_name).values) + target = solution.get_timeseries(timeseries_name).values[0:len_times] + np.testing.assert_allclose( + target, results[f"{d}.Electricity_demand"], atol=1.0e-3, rtol=1.0e-6 + ) def _get_component_temperatures(solution, results, component, side=None): @@ -352,6 +355,64 @@ def heat_to_discharge_test(solution, results): ) +def electric_power_conservation_test(solution, results): + """ + Test to check if the electric power is conserved at every timestep. + High level checks: + - Network power conservation + - Power conservation when including power losses in cables. + - Power and current conservation in busses. + - Power conservation in transformers, upto now no losses in transformer. + """ + tol = 1e-6 + energy_sum = np.zeros(len(solution.times())) + + consumers = solution.energy_system_components_get( + [ + "electricity_demand", + "electrolyzer", + "electricity_storage", + "elec_boiler", + "heat_pump_elec", + "air_water_heat_pump_elec", + ] + ) + producers = solution.energy_system_components_get(["electricity_source"]) + cables = solution.energy_system_components_get(["electricity_cable"]) + transformers = solution.energy_system_components.get("transformer", []) + + for asset in consumers: + energy_sum -= results[f"{asset}.ElectricityIn.Power"] + + for asset in producers: + energy_sum += results[f"{asset}.ElectricityOut.Power"] + + for asset in cables: + energy_sum -= results[f"{asset}.Power_loss"] + np.testing.assert_allclose( + results[f"{asset}.Power_loss"], + results[f"{asset}.ElectricityIn.Power"] - results[f"{asset}.ElectricityOut.Power"], + atol=tol, + ) + + for asset, connected_cables in solution.energy_system_topology.busses.items(): + sum_bus_power = np.zeros(len(solution.times())) + sum_bus_current = np.zeros(len(solution.times())) + for i_conn, (_cable, orientation) in connected_cables.items(): + sum_bus_power += orientation * results[f"{asset}.ElectricityConn[{i_conn + 1}].Power"] + sum_bus_current += orientation * results[f"{asset}.ElectricityConn[{i_conn + 1}].I"] + np.testing.assert_allclose(sum_bus_power, 0.0, atol=tol) + np.testing.assert_allclose(sum_bus_current, 0.0, atol=tol) + + for asset in transformers: + np.testing.assert_allclose( + results[f"{asset}.ElectricityIn.Power"], + results[f"{asset}.ElectricityOut.Power"], + ) + + np.testing.assert_allclose(energy_sum, 0.0, atol=tol) + + def energy_conservation_test(solution, results): """Test to check if the energy is conserved at each timestep""" energy_sum = np.zeros(len(solution.times())) From 7aa343aff863767aeba5dcd61c57ac9bbfa1edf6 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 10 Jul 2024 13:49:52 +0200 Subject: [PATCH 187/376] Add discharging var electricity storages (#110) Creation of discharging variable for electricity storages. It is based on an inequality relation thus only to be used with the correct goals. --- src/mesido/electricity_physics_mixin.py | 57 ++++++++++++++++++- .../battery/src/example.py | 1 + tests/test_electricity_storage.py | 9 +++ 3 files changed, 66 insertions(+), 1 deletion(-) diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 181fbf691..b23e8f670 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -1,7 +1,7 @@ import logging from enum import IntEnum from math import isclose -from typing import Tuple +from typing import List, Tuple import casadi as ca @@ -71,6 +71,11 @@ def __init__(self, *args, **kwargs): self.__set_point_bounds = {} self.__set_point_map = {} + self.__electricity_storage_discharge_var = {} + self.__electricity_storage_discharge_bounds = {} + self.__electricity_storage_discharge_nominals = {} + self.__electricity_storage_discharge_map = {} + def energy_system_options(self): r""" Returns a dictionary of milp network specific options. @@ -83,6 +88,7 @@ def energy_system_options(self): options["electrolyzer_efficiency"] = ( ElectrolyzerOption.LINEARIZED_THREE_LINES_WEAK_INEQUALITY ) + options["electricity_storage_discharge_variables"] = False return options @@ -120,6 +126,16 @@ def pre(self): self.__storage_charging_var[var_name] = ca.MX.sym(var_name) self.__storage_charging_bounds[var_name] = (0.0, 1.0) + if options["electricity_storage_discharge_variables"]: + bound_storage = self.bounds()[f"{asset}.Effective_power_charging"][0] + var_name = f"{asset}__effective_power_discharging" + self.__electricity_storage_discharge_map[asset] = var_name + self.__electricity_storage_discharge_var[var_name] = ca.MX.sym(var_name) + self.__electricity_storage_discharge_bounds[var_name] = (0, -bound_storage) + self.__electricity_storage_discharge_nominals[var_name] = self.variable_nominal( + f"{asset}.Effective_power_charging" + ) + for asset in [*self.energy_system_components.get("electricity_source", [])]: if isinstance(self.bounds()[f"{asset}.Electricity_source"][1], Timeseries): var_name = f"{asset}__set_point" @@ -149,6 +165,7 @@ def path_variables(self): variables.extend(self.__asset_is_switched_on_var.values()) variables.extend(self.__storage_charging_var.values()) variables.extend(self.__set_point_var.values()) + variables.extend(self.__electricity_storage_discharge_var.values()) return variables @@ -168,6 +185,8 @@ def variable_nominal(self, variable): """ In this function we add all the nominals for the variables defined/added in the HeatMixin. """ + if variable in self.__electricity_storage_discharge_nominals: + return self.__electricity_storage_discharge_nominals[variable] return super().variable_nominal(variable) @@ -182,6 +201,7 @@ def bounds(self): bounds.update(self.__storage_charging_bounds) bounds.update(self.__electricity_producer_upper_bounds) bounds.update(self.__set_point_bounds) + bounds.update(self.__electricity_storage_discharge_bounds) return bounds @@ -535,6 +555,38 @@ def __electricity_storage_path_constraints(self, ensemble_member): return constraints + def __electricity_storage_discharge_var_path_constraints( + self, ensemble_member: int + ) -> List[Tuple[ca.MX, float, float]]: + """ + The discharge variables are added such that two separate goals for charging and discharging + can be created. The discharging variable has a lower bound of 0 and should always be larger + or equal to the negative of the inflow variable. This allows for first a minimization of + the discharging and afterwards a maximisation of the charging without conflicting goals or + constraints. + + :param ensemble_member: + :return: list of the additional constraints that are created + """ + + constraints = [] + options = self.energy_system_options() + + if options["electricity_storage_discharge_variables"]: + for storage in self.energy_system_components.get("electricity_storage", []): + storage_eff_power_charge_var = self.state(f"{storage}.Effective_power_charging") + discharge_var_name = self.__electricity_storage_discharge_map[storage] + storage_discharge_var = self.__electricity_storage_discharge_var[discharge_var_name] + nominal = self.variable_nominal(discharge_var_name) + + # P_effective_charge represents both charging and discharing based on the sign. + # P_discharge >= -P_effective_charge + constraints.append( + ((storage_discharge_var + storage_eff_power_charge_var) / nominal, 0.0, np.inf) + ) + + return constraints + def __get_electrolyzer_gas_mass_flow_out( self, coef_a, coef_b, coef_c, electrical_power_input ) -> float: @@ -735,6 +787,9 @@ def path_constraints(self, ensemble_member): constraints.extend(self.__voltage_loss_path_constraints(ensemble_member)) constraints.extend(self.__electrolyzer_path_constaint(ensemble_member)) constraints.extend(self.__electricity_storage_path_constraints(ensemble_member)) + constraints.extend( + self.__electricity_storage_discharge_var_path_constraints(ensemble_member) + ) return constraints diff --git a/tests/models/unit_cases_electricity/battery/src/example.py b/tests/models/unit_cases_electricity/battery/src/example.py index 9bd70bd57..024faa509 100644 --- a/tests/models/unit_cases_electricity/battery/src/example.py +++ b/tests/models/unit_cases_electricity/battery/src/example.py @@ -58,6 +58,7 @@ def path_goals(self): def energy_system_options(self): options = super().energy_system_options() options["include_electric_cable_power_loss"] = False + options["electricity_storage_discharge_variables"] = True return options diff --git a/tests/test_electricity_storage.py b/tests/test_electricity_storage.py index 1b032e367..fa0b592eb 100644 --- a/tests/test_electricity_storage.py +++ b/tests/test_electricity_storage.py @@ -53,6 +53,7 @@ def test_source_sink(self): discharge_eff = parameters[f"{storage_name}.discharge_efficiency"] is_charging = results[f"{storage_name}__is_charging"] eff_power_change_bat = results[f"{storage_name}.Effective_power_charging"] + eff_power_change_discharge_bat = results[f"{storage_name}__effective_power_discharging"] power_bat_network = results[f"{storage_name}.ElectricityIn.Power"] stored_el = results[f"{storage_name}.Stored_electricity"] @@ -99,3 +100,11 @@ def test_source_sink(self): power_bat_network * (1 - is_charging) / discharge_eff, atol=tol, ) + + # effective power discharge variable should always be the bigger or equal to the negative + # of the charge variable and bigger then zero. The zero should only occur if battery is + # charging. When a goal would be set to minimise discharge it should match the charge power, + # however now this goal is not turned on. + # TODO: when the new goal is included create test, this will end up in the mc_simulator + np.testing.assert_array_less(-eff_power_change_bat, eff_power_change_discharge_bat + tol) + self.assertTrue(all(eff_power_change_discharge_bat >= 0.0)) From fcfa26f7a338137218903b25e2e4152cf55da48a Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 10 Jul 2024 13:50:20 +0200 Subject: [PATCH 188/376] Discharging variable gas storages (#108) Creation of discharging variable for gas storages. It is based on an inequality relation thus only to be used with the correct goals. --- src/mesido/gas_physics_mixin.py | 50 +++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index bb8c25cae..5dc0df744 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -136,6 +136,11 @@ def __init__(self, *args, **kwargs): # self.__gas_pipe_disconnect_var_bounds = {} self._gas_pipe_disconnect_map = {} + self.__gas_storage_discharge_var = {} + self.__gas_storage_discharge_bounds = {} + self.__gas_storage_discharge_nominals = {} + self.__gas_storage_discharge_map = {} + def gas_carriers(self): """ This function should be overwritten by the problem and should give a dict with the @@ -151,6 +156,8 @@ def pre(self): """ super().pre() + options = self.energy_system_options() + def _get_max_bound(bound): if isinstance(bound, np.ndarray): return max(bound) @@ -246,15 +253,30 @@ def _get_min_bound(bound): self.__maximum_total_head_loss = self.__get_maximum_total_head_loss() + if options["gas_storage_discharge_variables"]: + for storage in self.energy_system_components.get("gas_storage", []): + bound_storage_q = self.bounds()[f"{storage}.GasIn.Q"][0] + var_name = f"{storage}__Q_discharge" + self.__gas_storage_discharge_map[storage] = var_name + self.__gas_storage_discharge_var[var_name] = ca.MX.sym(var_name) + self.__gas_storage_discharge_bounds[var_name] = (0, -bound_storage_q) + self.__gas_storage_discharge_nominals[var_name] = self.variable_nominal( + f"{storage}.GasIn.Q" + ) + def energy_system_options(self): r""" Returns a dictionary of milp network specific options. + gas_storage_discharge_variables: creates separate variables for the discharge of the + gas_storages, only required when using the multicommodity simulator as this requires + separate variables to create goals with. """ options = self._gn_head_loss_class.head_loss_network_options() options["minimum_pressure_far_point"] = 1.0 + options["gas_storage_discharge_variables"] = False return options @@ -280,6 +302,7 @@ def path_variables(self): variables.extend(self.__gas_flow_direct_var.values()) # variables.extend(self.__gas_pipe_disconnect_var.values()) # still to be implemented variables.extend(self.__gas_pipe_linear_line_segment_var.values()) + variables.extend(self.__gas_storage_discharge_var.values()) return variables @@ -302,6 +325,8 @@ def variable_nominal(self, variable): if variable in self.__gas_pipe_head_loss_nominals: return self.__gas_pipe_head_loss_nominals[variable] + elif variable in self.__gas_storage_discharge_nominals: + return self.__gas_storage_discharge_nominals[variable] else: return super().variable_nominal(variable) @@ -317,6 +342,7 @@ def bounds(self): bounds.update(self.__gas_pipe_head_loss_bounds) bounds.update(self.__gas_pipe_head_loss_zero_bounds) bounds.update(self.__gas_pipe_linear_line_segment_var_bounds) + bounds.update(self.__gas_storage_discharge_bounds) for k, v in self.__gas_pipe_head_bounds.items(): bounds[k] = self.merge_bounds(bounds[k], v) @@ -534,6 +560,30 @@ def __flow_direction_path_constraints(self, ensemble_member): return constraints + def __gas_storage_discharge_path_constraints(self): + """ + The discharge variables are added such that two separate goals for charging and discharging + can be created. The discharging variable has a lower bound of 0 and should always be larger + or equal to the negative of the inflow variable. This allows for first a minimization of + the discharging and afterwards an maximisation of the charging without conflicting goals or + constraints. + """ + # TODO: still add test + constraints = [] + options = self.energy_system_options() + + if options["gas_storage_discharge_variables"]: + for storage in self.energy_system_components.get("gas_storage"): + storage_charge_var = self.state(f"{storage}.GasIn.Q") + storage_discharge_var_name = f"{storage}__Q_discharge" + storage_discharge_var = self.state(storage_discharge_var_name) + nominal = self.variable_nominal(storage_discharge_var_name) + + # Q_discharge >= -Q + constraints.append( + ((storage_discharge_var + storage_charge_var) / nominal, 0.0, np.inf) + ) + def path_constraints(self, ensemble_member): """ Here we add all the path constraints to the optimization problem. Please note that the From dca36a7b30fd4c92fd7a5cb7556951dff89901b0 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Fri, 12 Jul 2024 09:33:00 +0200 Subject: [PATCH 189/376] Multicommodity simulator (#94) Start of the multicommodity simulator workflow The merrit order is applied using the ESDL marginal costs attribute. Deman profiles are always matched first before the maximisation of demand and minimisation of production goals are applied. It already includes the prioritisation of the electrolyzer. Omitting the use of the TechnoEconomicMixin, to prevent the creation of unnecessary variables. --- src/mesido/electricity_physics_mixin.py | 31 +- src/mesido/esdl/esdl_heat_model.py | 39 +- src/mesido/financial_mixin.py | 8 +- src/mesido/head_loss_class.py | 32 +- .../milp/multicommodity/electrolyzer.py | 2 +- src/mesido/workflows/emerge.py | 3 + src/mesido/workflows/io/write_output.py | 3 +- .../multicommodity_simulator_workflow.py | 653 ++++++++++++++++++ .../models/emerge/input/timeseries_short.csv | 28 + tests/models/emerge/model/emerge.esdl | 6 +- .../emerge_priorities_withoutstorage.esdl | 108 +++ ...merge_priorities_withoutstorage_2prod.esdl | 123 ++++ .../bus_networks/input/timeseries_2.csv | 4 + .../bus_networks/input/timeseries_2_prod.csv | 4 + .../model/Electric_bus4_priorities.esdl | 74 ++ .../electrolyzer/input/timeseries.csv | 2 +- .../timeseries_minimum_electrolyzer_power.csv | 2 +- .../electrolyzer/model/h2.esdl | 2 +- .../model/h2_profiles_added_dummy_values.esdl | 2 +- .../electrolyzer/src/example.py | 20 +- .../model/test_priorities.esdl | 82 +++ .../model/source_sink.esdl | 4 +- .../source_sink/model/source_sink.esdl | 6 +- tests/test_electrolyzer.py | 41 +- tests/test_emerge.py | 3 + tests/test_hydraulic_power.py | 20 +- tests/test_multicommodity_simulator.py | 351 ++++++++++ tests/test_profile_parsing.py | 15 +- tests/utils_tests.py | 2 +- 29 files changed, 1588 insertions(+), 82 deletions(-) create mode 100644 src/mesido/workflows/multicommodity_simulator_workflow.py create mode 100644 tests/models/emerge/input/timeseries_short.csv create mode 100644 tests/models/emerge/model/emerge_priorities_withoutstorage.esdl create mode 100644 tests/models/emerge/model/emerge_priorities_withoutstorage_2prod.esdl create mode 100644 tests/models/unit_cases_electricity/bus_networks/input/timeseries_2.csv create mode 100644 tests/models/unit_cases_electricity/bus_networks/input/timeseries_2_prod.csv create mode 100644 tests/models/unit_cases_electricity/bus_networks/model/Electric_bus4_priorities.esdl create mode 100644 tests/models/unit_cases_gas/multi_demand_source_node/model/test_priorities.esdl create mode 100644 tests/test_multicommodity_simulator.py diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index b23e8f670..bb4ca741c 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -235,13 +235,13 @@ def __state_vector_scaled(self, variable, ensemble_member): def __update_electricity_producer_upper_bounds(self): t = self.times() - for asset in [ - *self.energy_system_components.get("wind_park", []), - *self.energy_system_components.get("solar_pv", []), - ]: - lb = Timeseries(t, np.zeros(len(self.times()))) - ub = self.get_timeseries(f"{asset}.maximum_electricity_source") - self.__electricity_producer_upper_bounds[f"{asset}.Electricity_source"] = (lb, ub) + + timeseries_io_names = self.io.get_timeseries_names() + for asset in self.energy_system_components.get("electricity_source", []): + if f"{asset}.maximum_electricity_source" in timeseries_io_names: + lb = Timeseries(t, np.zeros(len(t))) + ub = self.get_timeseries(f"{asset}.maximum_electricity_source") + self.__electricity_producer_upper_bounds[f"{asset}.Electricity_source"] = (lb, ub) def __electricity_producer_set_point_constraints(self, ensemble_member): """ @@ -609,8 +609,10 @@ def __get_electrolyzer_gas_mass_flow_out( """ if not isclose(electrical_power_input, 0.0): - eff = (coef_a / electrical_power_input) + (coef_b * electrical_power_input) + coef_c - gas_mass_flow_out = (1.0 / eff) * electrical_power_input + eff = ( + (coef_a / electrical_power_input) + (coef_b * electrical_power_input) + coef_c + ) # Wh/g + gas_mass_flow_out = (1.0 / (eff * 3600)) * electrical_power_input else: gas_mass_flow_out = 0.0 @@ -674,14 +676,19 @@ def __electrolyzer_path_constaint(self, ensemble_member): nominal = ( self.variable_nominal(f"{asset}.Gas_mass_flow_out") * self.variable_nominal(f"{asset}.Power_consumed") - ) ** 0.5 + ) ** 0.5 * 3600 big_m = ( - self.bounds()[f"{asset}.Power_consumed"][1] / parameters[f"{asset}.efficiency"] + self.bounds()[f"{asset}.Power_consumed"][1] + / parameters[f"{asset}.efficiency"] + / 3600 ) * 2 constraints.extend( [ ( - (gas_mass_flow_out * parameters[f"{asset}.efficiency"] - power_consumed) + ( + gas_mass_flow_out * parameters[f"{asset}.efficiency"] * 3600 + - power_consumed + ) / nominal, 0.0, 0.0, diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index fae786472..ed706abb1 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1863,9 +1863,21 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: ] # DO not remove due usage in future # hydrogen_specfic_energy = 20.0 / 1.0e6 + specific_energy = ( + self.get_internal_energy(asset.name, asset.in_ports[0].carrier) / 10 + ) # J/g + # TODO: the value being used is the internal energy and not the HHV (higher + # heating value) for hydrogen, therefore it does not represent the energy per weight. + # This still needs to be updated density = self.get_density(asset.name, asset.in_ports[0].carrier) pressure = asset.in_ports[0].carrier.pressure * 1.0e5 q_nominal = self._get_connected_q_nominal(asset) + q_max = self._get_connected_q_max(asset) + # [g/s] = [J/s] * [J/kg]^-1 *1000 + max_mass_flow_g_per_s = min( + asset.attributes["power"] / specific_energy * 1000.0, q_max * density + ) + mass_flow_nominal_g_per_s = min(q_nominal * density, max_mass_flow_g_per_s / 2) modifiers = dict( Q_nominal=q_nominal, @@ -1874,12 +1886,8 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: # *hydrogen_specfic_energy), density=density, GasIn=dict( - Q=dict( - min=0.0, - max=self._get_connected_q_max(asset), - nominal=self._get_connected_q_nominal(asset), - ), - mass_flow=dict(nominal=density * q_nominal), + Q=dict(min=0.0, max=q_max, nominal=q_nominal), + mass_flow=dict(nominal=mass_flow_nominal_g_per_s, max=max_mass_flow_g_per_s), Hydraulic_power=dict(min=0.0, max=0.0, nominal=q_nominal * pressure), ), **self._get_cost_figure_modifiers(asset), @@ -1930,20 +1938,25 @@ def convert_gas_source(self, asset: Asset) -> Tuple[Type[GasSource], MODIFIERS]: q_nominal = self._get_connected_q_nominal(asset) density_value = self.get_density(asset.name, asset.out_ports[0].carrier) pressure = asset.out_ports[0].carrier.pressure * 1.0e5 + specific_energy = ( + self.get_internal_energy(asset.name, asset.out_ports[0].carrier) / 10 + ) # J/g #TODO: is not the HHV for hydrogen, so is off + # [g/s] = [J/s] * [J/kg]^-1 *1000 + max_mass_flow_g_per_s = asset.attributes["power"] / specific_energy * 1000.0 - bounds_nominals_mass_flow = dict( + bounds_nominals_mass_flow_g_per_s = dict( min=0.0, - max=self._get_connected_q_max(asset) * density_value, + max=min(self._get_connected_q_max(asset) * density_value, max_mass_flow_g_per_s), nominal=q_nominal * density_value, ) modifiers = dict( Q_nominal=q_nominal, density=density_value, - Gas_source_mass_flow=bounds_nominals_mass_flow, + Gas_source_mass_flow=bounds_nominals_mass_flow_g_per_s, GasOut=dict( Q=dict(nominal=q_nominal), - mass_flow=bounds_nominals_mass_flow, + mass_flow=bounds_nominals_mass_flow_g_per_s, Hydraulic_power=dict(nominal=q_nominal * pressure), ), **self._get_cost_figure_modifiers(asset), @@ -2019,6 +2032,9 @@ def equations(x): q_nominal = self._get_connected_q_nominal(asset) density = self.get_density(asset.name, asset.out_ports[0].carrier) + # [g/s] = [W] * [kWh/kg]^-1 * 1/3600 = [g/h] * 1/3600 + mass_flow_max_g_per_s = max_power / eff_max_load / 3600 + mass_flow_nominal_g_per_s = min(density * q_nominal, mass_flow_max_g_per_s / 2) modifiers = dict( min_voltage=v_min, @@ -2027,6 +2043,7 @@ def equations(x): c_eff_coefficient=c, minimum_load=min_load, nominal_power_consumed=max_power / 2.0, + nominal_gass_mass_out=mass_flow_nominal_g_per_s, Q_nominal=q_nominal, density=density, efficiency=eff_max, @@ -2036,7 +2053,7 @@ def equations(x): max=self._get_connected_q_max(asset), nominal=q_nominal, ), - mass_flow=dict(nominal=q_nominal * density), + mass_flow=dict(nominal=mass_flow_nominal_g_per_s, max=mass_flow_max_g_per_s), ), ElectricityIn=dict( Power=dict(min=0.0, max=max_power, nominal=max_power / 2.0), diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 5e01a9dc7..faf19307d 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -182,6 +182,10 @@ def pre(self): nominal_fixed_operational = bounds[f"{asset_name}.Stored_electricity"][1] nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational + elif asset_name in [*self.energy_system_components.get("gas_demand", [])]: + nominal_fixed_operational = bounds[f"{asset_name}.Gas_demand_mass_flow"][1] + nominal_variable_operational = nominal_fixed_operational + nominal_investment = nominal_fixed_operational else: logger.warning( f"Asset {asset_name} has type for which " @@ -1245,9 +1249,11 @@ def __revenue_constraints(self, ensemble_member): for _id, attr in self.get_electricity_carriers().items(): if attr["id_number_mapping"] == parameters[f"{demand}.id_mapping_carrier"]: carrier_name = attr["name"] + cost_multiplier = 1 / 3600.0 # priceprofile electricity is EUR/Wh for _id, attr in self.get_gas_carriers().items(): if attr["id_number_mapping"] == parameters[f"{demand}.id_mapping_carrier"]: carrier_name = attr["name"] + cost_multiplier = 1.0 # priceprofile gas is in EUR/g if carrier_name is not None: price_profile = self.get_timeseries(f"{carrier_name}.price_profile").values @@ -1266,7 +1272,7 @@ def __revenue_constraints(self, ensemble_member): nominal = self.variable_nominal(variable_revenue_var) sum = 0.0 - timesteps = np.diff(self.times()) / 3600.0 + timesteps = np.diff(self.times()) * cost_multiplier for i in range(1, len(self.times())): sum += price_profile[i] * energy_flow[i] * timesteps[i - 1] diff --git a/src/mesido/head_loss_class.py b/src/mesido/head_loss_class.py index ae2b64365..d9e75b451 100644 --- a/src/mesido/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -159,7 +159,10 @@ def function(self, optimization_problem, ensemble_member): ): sym_name = optimization_problem._hn_pipe_to_head_loss_map[p] sum_ += optimization_problem.state(sym_name) - elif self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS: + elif ( + self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS + or self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HYDROGEN + ): for p in optimization_problem.energy_system_components.get("gas_pipe", []): if not parameters[f"{p}.length"] == 0.0: sym_name = optimization_problem._gn_pipe_to_head_loss_map[p] @@ -1159,7 +1162,10 @@ def _pipe_head_loss_path_constraints(self, optimization_problem, _ensemble_membe if self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HEAT: commodity = "Heat" pipe_type = "heat_pipe" - elif self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS: + elif ( + self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS + or self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HYDROGEN + ): commodity = "Gas" pipe_type = "gas_pipe" else: @@ -1237,7 +1243,10 @@ def _pipe_head_loss_constraints( if self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HEAT: commodity = "heat" n_type = "hn" - elif self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS: + elif ( + self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS + or self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HYDROGEN + ): commodity = "gas" n_type = "gn" else: @@ -1307,7 +1316,11 @@ def _pipe_head_loss_constraints( if self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HEAT: big_m = max(1.1 * _maximum_total_head_loss, 2 * head_loss_max_discharge) - elif self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS: + elif ( + self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS + or self.network_settings["network_type"] + == NetworkSettings.NETWORK_TYPE_HYDROGEN + ): big_m = max( 2.0 * 2.0 * _maximum_total_head_loss, 2 * head_loss_max_discharge ) @@ -1373,7 +1386,11 @@ def _pipe_head_loss_constraints( if self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HEAT: big_m = 1.1 * _maximum_total_head_loss - elif self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS: + elif ( + self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS + or self.network_settings["network_type"] + == NetworkSettings.NETWORK_TYPE_HYDROGEN + ): big_m = 2.0 * 2.0 * _maximum_total_head_loss else: raise RuntimeError( @@ -1451,7 +1468,10 @@ def _pipe_hydraulic_power_path_constraints( if self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HEAT: commodity = "heat" - elif self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS: + elif ( + self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_GAS + or self.network_settings["network_type"] == NetworkSettings.NETWORK_TYPE_HYDROGEN + ): commodity = "gas" else: raise Exception( diff --git a/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py index 6b01327c2..62124ebe5 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py @@ -54,7 +54,7 @@ def __init__(self, name, **modifiers): self.add_variable(GasPort, "GasOut") self.add_variable( Variable, "Gas_mass_flow_out", min=0.0, nominal=self.nominal_gass_mass_out - ) # [kg/hr] + ) # [g/s] self.add_equation( (self.GasOut.mass_flow - self.Gas_mass_flow_out) / self.nominal_gass_mass_out ) diff --git a/src/mesido/workflows/emerge.py b/src/mesido/workflows/emerge.py index fab154070..5eb42762e 100644 --- a/src/mesido/workflows/emerge.py +++ b/src/mesido/workflows/emerge.py @@ -155,6 +155,9 @@ def solver_options(self): """ options = super().solver_options() options["solver"] = "highs" + highs_options = options["highs"] = {} + highs_options["presolve"] = "off" + return options def times(self, variable=None): diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index f685ebeda..8de8efd54 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -17,7 +17,6 @@ import mesido.esdl.esdl_parser from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.esdl.edr_pipe_class import EDRPipeClass -from mesido.techno_economic_mixin import TechnoEconomicMixin from mesido.workflows.utils.helpers import _sort_numbered import numpy as np @@ -31,7 +30,7 @@ logger = logging.getLogger("mesido") -class ScenarioOutput(TechnoEconomicMixin): +class ScenarioOutput: __optimized_energy_system_handler = None def __init__(self, **kwargs): diff --git a/src/mesido/workflows/multicommodity_simulator_workflow.py b/src/mesido/workflows/multicommodity_simulator_workflow.py new file mode 100644 index 000000000..184db3750 --- /dev/null +++ b/src/mesido/workflows/multicommodity_simulator_workflow.py @@ -0,0 +1,653 @@ +import locale +import logging +import time +from pathlib import Path + +import esdl + +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.physics_mixin import PhysicsMixin +from mesido.workflows.io.write_output import ScenarioOutput +from mesido.workflows.utils.helpers import main_decorator + +import numpy as np + +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.optimization.goal_programming_mixin import Goal +from rtctools.optimization.linearized_order_goal_programming_mixin import ( + LinearizedOrderGoalProgrammingMixin, +) +from rtctools.optimization.single_pass_goal_programming_mixin import ( + CachingQPSol, + SinglePassGoalProgrammingMixin, +) +from rtctools.util import run_optimization_problem + +DB_HOST = "172.17.0.2" +DB_PORT = 8086 +DB_NAME = "Warmtenetten" +DB_USER = "admin" +DB_PASSWORD = "admin" + +logger = logging.getLogger("WarmingUP-MPC") +logger.setLevel(logging.INFO) + +locale.setlocale(locale.LC_ALL, "") + +WATT_TO_MEGA_WATT = 1.0e6 +WATT_TO_KILO_WATT = 1.0e3 + + +# ------------------------------------------------------------------------------------------------- +# Step 1: +# Match the target demand specified +class TargetDemandGoal(Goal): + def __init__(self, state, target, priority=1, order=2): + self.state = state + + self.target_min = target + self.target_max = target + self.function_range = (-2.0 * max(target.values), 2.0 * max(target.values)) + self.function_nominal = np.median(target.values) + self.priority = priority + self.order = order + + def function(self, optimization_problem, ensemble_member): + return optimization_problem.state(self.state) + + +# ------------------------------------------------------------------------------------------------- +# Step 2: +# Match the maximum producer profiles +class TargetProducerGoal(Goal): + def __init__(self, state, target, priority=20, order=2): + self.state = state + + self.target_min = target + self.target_max = target + self.function_range = (-2.0 * max(target.values), 2.0 * max(target.values)) + self.function_nominal = np.median(target.values) + self.priority = priority + self.order = order + + def function(self, optimization_problem, ensemble_member): + return optimization_problem.state(self.state) + + +# ------------------------------------------------------------------------------------------------- +# Step 3: +# The merit order of the sources and consumers (something like [3, 1, 2]), determine the priority +# in which the source is available for use and the consumer to consume. +# The priorities are determined based on the marginal costs provided in ESDL. For producer, the +# lower the marginal costs, the more the producer should be used (e.g. cheap to use). For consumers +# the opposite is true, the higher the marginal costs (e.g. more revenue), the more energy should +# be delivered to that consumer. +# Minimize the source use with lowest priority 3 (highest marginal costs), then the source with +# priority 2 etc, while the consumers are maximised starting with the highest marginal costs. +class MinimizeSourcesGoalMerit(Goal): + """ + Apply constraints to enforce esdl specified milp producer merit order usage + """ + + def __init__(self, source_variable, prod_priority, func_range_bound, nominal, order=2): + self.target_max = 0.0 # func_range_bound[0] + self.function_range = func_range_bound + self.source_variable = source_variable + self.function_nominal = nominal + self.priority = prod_priority + self.order = order + + def function(self, optimization_problem, ensemble_member): + return optimization_problem.state(f"{self.source_variable}") + + +class MaximizeDemandGoalMerit(Goal): + """ + Apply constraints to enforce maximisation of consumption, priority is based on the marginal + costs + """ + + def __init__(self, demand_variable, prod_priority, func_range_bound, nominal, order=2): + + self.demand_variable = demand_variable + self.function_nominal = nominal + self.priority = prod_priority + self.order = 1 + + def function(self, optimization_problem, ensemble_member): + return -optimization_problem.state(f"{self.demand_variable}") + + +class MinimizeStorageGoalMerit(Goal): + """ + Apply constraints to enforce minimisation of charging of storage, priority is based on the + marginal costs + """ + + def __init__(self, source_variable, prod_priority, func_range_bound, nominal, order=2): + self.target_min = 0.0 # func_range_bound[0] + self.target_max = func_range_bound[1] * 0.999 + self.function_range = func_range_bound + self.source_variable = source_variable + self.function_nominal = nominal + self.priority = prod_priority + self.order = order + + def function(self, optimization_problem, ensemble_member): + return optimization_problem.state(f"{self.source_variable}") + + +class MaximizeStorageGoalMerit(Goal): + """ + Apply constraints to enforce maximisation of discharging of storage, priority is based on the + marginal costs + """ + + def __init__(self, demand_variable, prod_priority, func_range_bound, nominal, order=2): + self.target_min = func_range_bound[1] + self.function_range = func_range_bound + self.demand_variable = demand_variable + self.function_nominal = nominal + self.priority = prod_priority + 1 + self.order = order + + def function(self, optimization_problem, ensemble_member): + return optimization_problem.state(f"{self.demand_variable}") + + +# ------------------------------------------------------------------------------------------------- +class _GoalsAndOptions: + def path_goals(self): + goals = super().path_goals().copy() + + # Demand and producer matching + map_demand = { + "electricity_demand": { + "target": "target_electricity_demand", + "state": "Electricity_demand", + }, + "gas_demand": {"target": "target_gas_demand", "state": "Gas_demand_mass_flow"}, + } + map_prod = { + "electricity_source": { + "target": "maximum_electricity_source", + "state": "Electricity_source", + }, + "gas_source": {"target": "maximum_gas_source", "state": "Gas_source_mass_flow"}, + } + for type, type_values in [*map_demand.items(), *map_prod.items()]: + for asset in self.energy_system_components.get(type, []): + timeseries_name = f"{asset}.{type_values['target']}" + if timeseries_name in self.io.get_timeseries_names(): + target = self.get_timeseries(timeseries_name) + state = f"{asset}.{type_values['state']}" + if type in map_demand.keys(): + goals.append(TargetDemandGoal(state, target)) + else: + priority = 2 * len(self._esdl_assets) + goals.append(TargetProducerGoal(state, target, priority)) + + return goals + + +# ------------------------------------------------------------------------------------------------- +class MultiCommoditySimulator( + ScenarioOutput, + _GoalsAndOptions, + PhysicsMixin, + LinearizedOrderGoalProgrammingMixin, + SinglePassGoalProgrammingMixin, + ESDLMixin, + CollocatedIntegratedOptimizationProblem, +): + """ + This workflow allows for the simulation of (combined) hydrogen and electricity networks, + containing consumers, producers and conversion assets. + The priority of the consumers, producers and conversion assets is set using the marginal costs + in the ESDL file, allowing for flexible customised operation. Producers with the lowest marginal + costs are maximised in operation before other consumers are used, while consumers with the + highest marginal costs are maximised before other consumers are satisfied. In case both profiles + and marginal costs are provided for producers or consumers, then the marginal costs are ignored + and the profiles will be matched. always are preferred over the + To obtain this workflow the objective functions are setup according to the scheme described + below. + + Goal priorities are: + 1. Match target demand specified + 2. Producers with highest marginal costs are minimised and Consumers with highest marginal + costs are maximised first, working back towards the lower marginal costs. + 3. Producers with a production profile will be matched at end. This goal should be obsolete, as + the bound is set towards the production profile and other producers are first minimised. + + Notes: + - Currently all demand profiles can be used, however the length of the simulation is based on + the length and timestep of these profiles. Too long timehorizons might results in too big + problems for the solver. + - No cyclic constraints are yet applied to storages as this workflow solely functions as a + simulator. + - TODO: When the number of assets become larger, the simulator might be applied in stages with + consecutive parts of the time horizon. + """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._qpsol = None + self._priorities_output = [] + + def pre(self): + self._qpsol = CachingQPSol() + + super().pre() + + @property + def esdl_assets(self): + assets = super().esdl_assets + + for asset in assets.values(): + # Overwrite all assets marked as optional to be used + if asset.attributes["state"].name in ["OPTIONAL"]: + asset.attributes["state"] = esdl.AssetStateEnum.ENABLED + logger.warning( + "The following asset has been specified as OPTIONAL but it has been changed " + f"to be included in the simulation, asset type: {asset.asset_type }, asset " + f"name: {asset.name}" + ) + + return assets + + def __create_asset_list_controls(self, asset_types_to_include, assets_without_control): + """ + This function creates the lists and dictionaries of assets to include in the optimization + based on the marginal costs, e.g. priorities. It excludes the assets who already have + assigned timeseries for demand or production. + Furthermore, it creates a map of the variables that are required for every asset. + :param asset_types_to_include: + :param assets_without_control: + :return: + """ + type_variable_map = { + "electricity_demand": "Electricity_demand", + "electricity_source": "Electricity_source", + "gas_demand": "Gas_demand_mass_flow", + "gas_source": "Gas_source_mass_flow", + "gas_tank_storage": "Gas_tank_flow", + "electrolyzer": "Power_consumed", + } + + assets_to_include = {} + asset_variable_map = {} + available_timeseries = [t.split(".")[0] for t in self.io.get_timeseries_names()] + for group, asset_types in asset_types_to_include.items(): + for asset_type in asset_types: + for asset in self.energy_system_components.get(asset_type, []): + if asset not in available_timeseries: + if group in assets_to_include.keys(): + assets_to_include[group].append(asset) + else: + assets_to_include[group] = [asset] + asset_variable_map[asset] = type_variable_map[asset_type] + + assets_list = [asset for a_type in assets_to_include.values() for asset in a_type] + unused_asset = [ + asset.asset_type + for asset in self.esdl_assets.values() + if asset.asset_type not in assets_without_control + if asset.name not in assets_list + if asset.name not in available_timeseries + ] + assert ( + len(unused_asset) == 0 + ), f"Asset types: {unused_asset} are not included in controls of the simulator" + + asset_info = { + "assets_to_include": assets_to_include, + "assets_to_include_list": assets_list, + "asset_variable_map": asset_variable_map, + } + return asset_info + + def __create_merit_path_goals(self, asset_info, max_value_merit, index_start_of_priority): + """ + This method creates the goals for every asset that is based on the marginal cost and the + relevant variable for that asset. Depending on the type of asset, the goal is a minimisation + or maximisation. + :param asset_info: + :param max_value_merit: + :param index_start_of_priority: + :return: + """ + goals = [] + assets_to_include = asset_info["assets_to_include"] + assets_list = asset_info["assets_to_include_list"] + asset_merit = asset_info["asset_merit"] + asset_variable_map = asset_info["asset_variable_map"] + for asset in assets_list: + index_s = asset_merit["asset_name"].index(f"{asset}") + marginal_priority = ( + index_start_of_priority + max_value_merit - asset_merit["merit_order"][index_s] + ) + assert ( + marginal_priority >= index_start_of_priority + ), "Priorities assigned must be smaller than the total number of producers" + variable_name = f"{asset}.{asset_variable_map[asset]}" + + if asset in [ + *assets_to_include.get("source", []), + ]: + goals.append( + MinimizeSourcesGoalMerit( + variable_name, + marginal_priority, + self.bounds()[variable_name], + self.variable_nominal(variable_name), + ) + ) + elif asset in assets_to_include.get("conversion", []): + goals.append( + MinimizeSourcesGoalMerit( + variable_name, + marginal_priority + 1, + self.bounds()[variable_name], + self.variable_nominal(variable_name), + ) + ) + variable_name = f"{asset}.Gas_mass_flow_out" + goals.append( + MaximizeDemandGoalMerit( + variable_name, + marginal_priority, + self.bounds()[variable_name], + self.variable_nominal(variable_name), + ) + ) + elif asset in assets_to_include.get("demand", []): + goals.append( + MaximizeDemandGoalMerit( + variable_name, + marginal_priority, + self.bounds()[variable_name], + self.variable_nominal(variable_name), + ) + ) + elif asset in assets_to_include.get("storage", []): + # TODO: should use separate variable for charging and discharging + + # charging acts as consumer + # Marginal costs for discharging > marginal cost for charging + goals.append( + MaximizeStorageGoalMerit( + variable_name, + marginal_priority, + self.bounds()[variable_name], + self.variable_nominal(variable_name), + ) + ) + + # discharging acts as producer + # Marginal costs for discharging should be larger than marginal cost for charging + # TODO: add check on the marginal costs for charging/discharging + index_s = asset_merit["asset_name"].index(f"{asset}_discharge") + marginal_priority = ( + index_start_of_priority + max_value_merit - asset_merit["merit_order"][index_s] + ) + assert ( + marginal_priority >= index_start_of_priority + ), "Priorities assigned must be smaller than the total number of producers" + variable_name = f"{asset}.{asset_variable_map[asset]}" + + goals.append( + MinimizeStorageGoalMerit( + variable_name, + marginal_priority, + self.bounds()[variable_name], + self.variable_nominal(variable_name), + ) + ) + else: + raise Exception( + f"No goal was set for {asset}, while a priority was provided. This asset group " + f"still has to be added to the goals." + ) + return goals + + def __merit_path_goals(self): + """ + This method organizes the goals and assigns their priorities + The first two priorities are reserved for matching of demand. Thereby the priorities of the + other goals to maximize specific producers and minimize demand, start at priority 3. + :return: + """ + # TODO: improve the asset_types_to_include and esdl_assets_to_include + asset_types_to_include = { + "source": ["electricity_source", "gas_source"], + "demand": ["electricity_demand", "gas_demand"], + "conversion": ["electrolyzer"], + "storage": ["gas_tank_storage"], + } + + assets_without_control = ["Pipe", "ElectricityCable", "Joint", "Bus"] + + # TODO also include other assets than producers, e.g. storage, conversion and possible + # demand for the ones without a profile + # TODO exclude producers from merit order if they have a profile, even if a marginal cost + # is set + + # Storage: charge priority should be higher than discharge priority + asset_info = self.__create_asset_list_controls( + asset_types_to_include, assets_without_control + ) + + asset_info["asset_merit"] = self.__merit_controls(asset_info["assets_to_include_list"]) + max_value_merit = max(asset_info["asset_merit"]["merit_order"]) + + # Priority 1 & 2 reserved for target demand goal & additional goal like matching + # producer profile (without merit order) + index_start_of_priority = 3 + + goals = self.__create_merit_path_goals(asset_info, max_value_merit, index_start_of_priority) + + return goals + + def path_goals(self): + goals = super().path_goals().copy() + + goals.extend(self.__merit_path_goals()) + + return goals + + def energy_system_options(self): + options = super().energy_system_options() + + self.gas_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + ) + self.gas_network_settings["minimize_head_losses"] = True + options["include_asset_is_switched_on"] = True + + return options + + def path_constraints(self, ensemble_member): + """ + Constraints to limit producer production in case timeseries for the production exist, + relevant when the first goals is not to match profile. + """ + constraints = super().path_constraints(ensemble_member) + + return constraints + + def constraints(self, ensemble_member): + """ + Add equality constraints to enforce a cyclic energy balance [J] between the end and the + start of the time horizon used as well an inequality constraint to enforce no milp supply + [W] to the netwok in the 1st time step + """ + constraints = super().constraints(ensemble_member) + + # TODO: cyclic constraints + + return constraints + + def __merit_controls(self, assets_list): + attributes = { + "asset_name": [], + "merit_order": [], + } + + assets = self.esdl_assets + for a in assets.values(): + if a.name in assets_list: + attributes["asset_name"].append(a.name) + try: + attributes["merit_order"].append( + a.attributes["costInformation"].marginalCosts.value + ) + except AttributeError: + try: + attributes["merit_order"].append( + a.attributes["controlStrategy"].marginalChargeCosts.value + ) + attributes["merit_order"].append( + a.attributes["controlStrategy"].marginalDischargeCosts.value + ) + attributes["asset_name"].append(f"{a.name}_discharge") + except AttributeError: + raise Exception(f"Asset: {a.name} does not have a merit order specified") + + last_merit_order = attributes["merit_order"][-1] + + if attributes["merit_order"][-1] <= 0.0: + raise Exception( + "The specified producer usage merit order must be a " + f"positve integer value, producer name:{a.name}, current " + f"specified merit value: {last_merit_order}" + ) + + # update merit order to be integers and have maximumally one step in priority + set_merit = set(attributes["merit_order"]) + order_prio = list(set_merit) + order_prio.sort() + map_prio = dict(zip(order_prio, list(range(1, len(set_merit) + 1)))) + a = [map_prio[v] for v in attributes["merit_order"]] + attributes["merit_order"] = a + return attributes + + def solver_options(self): + options = super().solver_options() + options["casadi_solver"] = self._qpsol + + return options + + def priority_started(self, priority): + goals_print = set() + for goal in [*self.path_goals(), *self.goals()]: + if goal.priority == priority: + goals_print.update([str(type(goal))]) + logger.info(f"{goals_print}") + self.__priority = priority + self.__priority_timer = time.time() + + super().priority_started(priority) + + def priority_completed(self, priority): + super().priority_completed(priority) + + self._hot_start = True + + time_taken = time.time() - self.__priority_timer + self._priorities_output.append( + ( + priority, + time_taken, + True, + self.objective_value, + self.solver_stats, + ) + ) + logger.info(f"Goal with priority {priority} has been completed") + if priority == 1 and self.objective_value > 1e-6: + raise RuntimeError("The heating demand is not matched") + + def __state_vector_scaled(self, variable, ensemble_member): + canonical, sign = self.alias_relation.canonical_signed(variable) + return ( + self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign + ) + + # TODO: post will be created later + # def post(self): + # super().post() + # self._write_updated_esdl(self.get_energy_system_copy(), optimizer_sim=True) + + +# ------------------------------------------------------------------------------------------------- +class MultiCommoditySimulatorHIGHS(MultiCommoditySimulator): + + def solver_options(self): + options = super().solver_options() + options["solver"] = "highs" + + return options + + +class MultiCommoditySimulatorNoLosses(MultiCommoditySimulator): + def energy_system_options(self): + options = super().energy_system_options() + + self.gas_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS + self.gas_network_settings["minimize_head_losses"] = False + options["include_electric_cable_power_loss"] = False + + return options + + def solver_options(self): + # For some cases the presolve of the HIGHS solver makes this problem infeasible, therefore + # the presolve is turned off. + options = super().solver_options() + options["solver"] = "highs" + highs_options = options["highs"] = {} + highs_options["presolve"] = "off" + + return options + + +# ------------------------------------------------------------------------------------------------- +@main_decorator +def main(runinfo_path, log_level): + logger.info("Run Network Simulator") + + kwargs = { + "write_result_db_profiles": False, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + } + + _ = run_optimization_problem( + MultiCommoditySimulatorHIGHS, + esdl_run_info_path=runinfo_path, + log_level=log_level, + **kwargs, + ) + + +if __name__ == "__main__": + # main() + import tests.models.emerge.src.example as example + + base_folder = Path(example.__file__).resolve().parent.parent + solution = run_optimization_problem( + MultiCommoditySimulatorNoLosses, + base_folder=base_folder, + esdl_file_name="emerge_priorities_withoutstorage.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) diff --git a/tests/models/emerge/input/timeseries_short.csv b/tests/models/emerge/input/timeseries_short.csv new file mode 100644 index 000000000..f80b1da59 --- /dev/null +++ b/tests/models/emerge/input/timeseries_short.csv @@ -0,0 +1,28 @@ +DateTime,WindPark_9074,Elec,Hydrogen +2016-01-01Z 00:00:00,.0,2.239e-05,2.4 +2016-01-01Z 01:00:00,.0,2.0589999999999998e-05,2.4 +2016-01-01Z 02:00:00,.0,1.6809999999999997e-05,2.4 +2016-01-01Z 03:00:00,.0,1.741e-05,2.4 +2016-01-01Z 04:00:00,.0,1.702e-05,2.4 +2016-01-01Z 05:00:00,.0,1.5859999999999997e-05,2.4 +2016-01-01Z 06:00:00,1999997849.6,1.816e-05,2.4 +2016-01-01Z 07:00:00,1999999562.2,1.7729999999999998e-05,2.4 +2016-01-01Z 08:00:00,.0,1.977e-05,2.4 +2016-01-01Z 09:00:00,.0,2.3749999999999998e-05,2.4 +2016-01-01Z 10:00:00,1999995228.8,2.603e-05,2.4 +2016-01-01Z 11:00:00,1999995622.6000001,2.706e-05,2.4 +2016-01-01Z 12:00:00,1997697985.6,2.6589999999999998e-05,2.4 +2016-01-01Z 13:00:00,1658513101.4,2.4999999999999998e-05,2.4 +2016-01-01Z 14:00:00,1317659536.0,2.704e-05,2.4 +2016-01-01Z 15:00:00,618343094.1999999,3.446e-05,2.4 +2016-01-01Z 16:00:00,1199762886.2,4.514e-05,2.4 +2016-01-01Z 17:00:00,771068238.2,3.9999999999999996e-05,2.4 +2016-01-01Z 18:00:00,1001978579.5999999,3.530004e-05,2.4 +2016-01-01Z 19:00:00,1132050786.8,3.307e-05,2.4 +2016-01-01Z 20:00:00,1293624672.0,2.952e-05,2.4 +2016-01-01Z 21:00:00,1720023264.3999999,3.01e-05,2.4 +2016-01-01Z 22:00:00,1814015745.6,2.457e-05,2.4 +2016-01-01Z 23:00:00,1836244191.8,2.2199999999999998e-05,2.4 +2016-01-02Z 00:00:00,1986853387.6000001,1.657e-05,2.4 +2016-01-02Z 01:00:00,1999994376.9999998,1.535e-05,2.4 +2016-01-02Z 02:00:00,1999819409.8,1.277e-05,2.4 \ No newline at end of file diff --git a/tests/models/emerge/model/emerge.esdl b/tests/models/emerge/model/emerge.esdl index db56768a8..bd3302660 100644 --- a/tests/models/emerge/model/emerge.esdl +++ b/tests/models/emerge/model/emerge.esdl @@ -90,7 +90,7 @@ - + @@ -98,7 +98,7 @@ - + @@ -106,7 +106,7 @@ - + diff --git a/tests/models/emerge/model/emerge_priorities_withoutstorage.esdl b/tests/models/emerge/model/emerge_priorities_withoutstorage.esdl new file mode 100644 index 000000000..3b848e437 --- /dev/null +++ b/tests/models/emerge/model/emerge_priorities_withoutstorage.esdl @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/emerge/model/emerge_priorities_withoutstorage_2prod.esdl b/tests/models/emerge/model/emerge_priorities_withoutstorage_2prod.esdl new file mode 100644 index 000000000..a6bbbd861 --- /dev/null +++ b/tests/models/emerge/model/emerge_priorities_withoutstorage_2prod.esdl @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases_electricity/bus_networks/input/timeseries_2.csv b/tests/models/unit_cases_electricity/bus_networks/input/timeseries_2.csv new file mode 100644 index 000000000..8be0b94ba --- /dev/null +++ b/tests/models/unit_cases_electricity/bus_networks/input/timeseries_2.csv @@ -0,0 +1,4 @@ +DateTime,ElectricityDemand_e527 +01-01-2019 00:00, 500. +01-01-2019 01:00, 1000. +01-01-2019 02:00, 1500. diff --git a/tests/models/unit_cases_electricity/bus_networks/input/timeseries_2_prod.csv b/tests/models/unit_cases_electricity/bus_networks/input/timeseries_2_prod.csv new file mode 100644 index 000000000..bafe06b17 --- /dev/null +++ b/tests/models/unit_cases_electricity/bus_networks/input/timeseries_2_prod.csv @@ -0,0 +1,4 @@ +DateTime,ElectricityDemand_e527,ElectricityProducer_17a1 +01-01-2019 00:00, 500., 1200. +01-01-2019 01:00, 1000., 400. +01-01-2019 02:00, 1500., 600. diff --git a/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus4_priorities.esdl b/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus4_priorities.esdl new file mode 100644 index 000000000..8b7738a75 --- /dev/null +++ b/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus4_priorities.esdl @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries.csv b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries.csv index 3565170c7..7ae8dad9a 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries.csv +++ b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries.csv @@ -1,4 +1,4 @@ -DateTime,elec,gas,WindPark_7f14 +DateTime,elec,Hydrogen,WindPark_7f14 01-01-2019 00:00, 1.0, 1000000.0, 100000000.0 01-01-2019 01:00, 1.0, 1000000.0, 100000000.0 01-01-2019 02:00, 1.0, 1000000.0, 100000000.0 diff --git a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv index 077783356..0b899c189 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv +++ b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv @@ -1,4 +1,4 @@ -DateTime,elec,gas,WindPark_7f14 +DateTime,elec,Hydrogen,WindPark_7f14 01-01-2019 00:00, 1.0, 1000000.0, 100000000.0 01-01-2019 01:00, 1.0, 1000000.0, 100000000.0 01-01-2019 02:00, 1.0, 1000000.0, 49000000.0 diff --git a/tests/models/unit_cases_electricity/electrolyzer/model/h2.esdl b/tests/models/unit_cases_electricity/electrolyzer/model/h2.esdl index 562c7bb9c..13425926f 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/model/h2.esdl +++ b/tests/models/unit_cases_electricity/electrolyzer/model/h2.esdl @@ -3,7 +3,7 @@ - + diff --git a/tests/models/unit_cases_electricity/electrolyzer/model/h2_profiles_added_dummy_values.esdl b/tests/models/unit_cases_electricity/electrolyzer/model/h2_profiles_added_dummy_values.esdl index 604f0e275..a9669ea26 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/model/h2_profiles_added_dummy_values.esdl +++ b/tests/models/unit_cases_electricity/electrolyzer/model/h2_profiles_added_dummy_values.esdl @@ -11,7 +11,7 @@ - + diff --git a/tests/models/unit_cases_electricity/electrolyzer/src/example.py b/tests/models/unit_cases_electricity/electrolyzer/src/example.py index 2685c48cf..0469f89d2 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/src/example.py +++ b/tests/models/unit_cases_electricity/electrolyzer/src/example.py @@ -2,6 +2,7 @@ from mesido.esdl.esdl_mixin import ESDLMixin from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.network_common import NetworkSettings from mesido.techno_economic_mixin import TechnoEconomicMixin import numpy as np @@ -33,29 +34,13 @@ def function(self, optimization_problem, ensemble_member): symbols = ( sign * optimization_problem.state_vector(canonical, ensemble_member) - * optimization_problem.variable_nominal(self.state) + # * optimization_problem.variable_nominal(self.state) ) price_profile = optimization_problem.get_timeseries(self.price_profile).values sum = 0.0 for i in range(len(price_profile)): sum += symbols[i] * price_profile[i] - for asset in [ - *optimization_problem.energy_system_components.get("gas_demand", []), - *optimization_problem.energy_system_components.get("gas_source", []), - *optimization_problem.energy_system_components.get("electrolyzer", []), - *optimization_problem.energy_system_components.get("gas_tank_storage", []), - *optimization_problem.energy_system_components.get("wind_park", []), - *optimization_problem.energy_system_components.get("electricity_demand", []), - *optimization_problem.energy_system_components.get("electricity_source", []), - ]: - sum -= optimization_problem.extra_variable( - f"{asset}__variable_operational_cost", ensemble_member - ) - sum -= optimization_problem.extra_variable( - f"{asset}__fixed_operational_cost", ensemble_member - ) - return -sum @@ -150,6 +135,7 @@ def energy_system_options(self): options = super().energy_system_options() options["include_asset_is_switched_on"] = True options["include_electric_cable_power_loss"] = False + self.gas_network_settings["network_type"] = NetworkSettings.NETWORK_TYPE_HYDROGEN return options diff --git a/tests/models/unit_cases_gas/multi_demand_source_node/model/test_priorities.esdl b/tests/models/unit_cases_gas/multi_demand_source_node/model/test_priorities.esdl new file mode 100644 index 000000000..fe20d89ab --- /dev/null +++ b/tests/models/unit_cases_gas/multi_demand_source_node/model/test_priorities.esdl @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases_gas/source_pipe_split_sink/model/source_sink.esdl b/tests/models/unit_cases_gas/source_pipe_split_sink/model/source_sink.esdl index 2f9a13e5f..3a56abd9f 100644 --- a/tests/models/unit_cases_gas/source_pipe_split_sink/model/source_sink.esdl +++ b/tests/models/unit_cases_gas/source_pipe_split_sink/model/source_sink.esdl @@ -10,11 +10,11 @@ - + - + diff --git a/tests/models/unit_cases_gas/source_sink/model/source_sink.esdl b/tests/models/unit_cases_gas/source_sink/model/source_sink.esdl index ed7f406a5..ca79d6f70 100644 --- a/tests/models/unit_cases_gas/source_sink/model/source_sink.esdl +++ b/tests/models/unit_cases_gas/source_sink/model/source_sink.esdl @@ -2,7 +2,7 @@ - + @@ -10,11 +10,11 @@ - + - + diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index f67dfbcd2..cadb1ef07 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -24,7 +24,7 @@ def test_electrolyzer_inequality(self): - Check the max production profile of the windfarm - Check the electrolyzer inequality constraints formulation - The water kinematic viscosity of hydrogen by comparing head loss to a hard-coded value - + - The pipe head loss constraint for a hydrogen network """ import models.unit_cases_electricity.electrolyzer.src.example as example from models.unit_cases_electricity.electrolyzer.src.example import MILPProblemInequality @@ -42,11 +42,16 @@ def test_electrolyzer_inequality(self): results = solution.extract_results() - # Compare the head loss to hard-coded values. Difference expected if an error + # TODO: potential move this code to the head loss test case (does not contain a hydrogen + # network optimization). For now this was not done, because it would imply adding a + # hydrogen network solve purely for the checks below which seems unnecessary + # Check: + # - Compare the head loss to hard-coded values. Difference expected if an error # occours in the calculation of the gas kinematic viscosity. - v_inspect = results["Pipe_6ba6.GasOut.Q"][1] / solution.parameters(0)["Pipe_6ba6.area"] - head_loss_v_inspect = darcy_weisbach.head_loss( - v_inspect, + # - Check head loss contraint + v_inspect = results["Pipe_6ba6.GasOut.Q"] / solution.parameters(0)["Pipe_6ba6.area"] + head_loss_max = darcy_weisbach.head_loss( + solution.gas_network_settings["maximum_velocity"], solution.parameters(0)["Pipe_6ba6.diameter"], solution.parameters(0)["Pipe_6ba6.length"], solution.energy_system_options()["wall_roughness"], @@ -54,9 +59,14 @@ def test_electrolyzer_inequality(self): network_type=NetworkSettings.NETWORK_TYPE_HYDROGEN, pressure=solution.parameters(0)["Pipe_6ba6.pressure"], ) - np.testing.assert_allclose(head_loss_v_inspect, 104.06961666355383) + for iv in range(len(v_inspect)): + np.testing.assert_allclose( + v_inspect[iv] / solution.gas_network_settings["maximum_velocity"] * head_loss_max, + 2.173724632, + ) + np.testing.assert_allclose(-results["Pipe_6ba6.dH"][iv], 2.173724632) - gas_price_profile = "gas.price_profile" + gas_price_profile = "Hydrogen.price_profile" state = "GasDemand_0cf3.Gas_demand_mass_flow" nominal = solution.variable_nominal(state) * np.median( solution.get_timeseries(gas_price_profile).values @@ -101,10 +111,9 @@ def test_electrolyzer_inequality(self): # Checks on the storage timestep = 3600.0 - rho = solution.parameters(0)["GasStorage_e492.density_max_storage"] np.testing.assert_allclose( np.diff(results["GasStorage_e492.Stored_gas_mass"]), - results["GasStorage_e492.Gas_tank_flow"][1:] * rho * timestep, + results["GasStorage_e492.Gas_tank_flow"][1:] * timestep, rtol=1e-6, atol=1e-8, ) @@ -225,6 +234,7 @@ def test_electrolyzer_minimum_power(self): np.testing.assert_allclose( results["Electrolyzer_fc66.ElectricityIn.Power"][-1], 0.0, + atol=5e-5, ) # Check that the output gas is 0 np.testing.assert_allclose( @@ -268,6 +278,17 @@ def test_electrolyzer_constant_efficiency(self): # Electrolyser efficiency = solution.parameters(0)["Electrolyzer_fc66.efficiency"] np.testing.assert_allclose( - results["Electrolyzer_fc66.Gas_mass_flow_out"] * efficiency, + results["Electrolyzer_fc66.Gas_mass_flow_out"] * efficiency * 3600, results["Electrolyzer_fc66.ElectricityIn.Power"], ) + + +if __name__ == "__main__": + import time + + start_time = time.time() + a = TestElectrolyzer() + a.test_electrolyzer_inequality() + a.test_electrolyzer_minimum_power() + a.test_electrolyzer_constant_efficiency() + print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/test_emerge.py b/tests/test_emerge.py index 2956db7ba..1c1e94c42 100644 --- a/tests/test_emerge.py +++ b/tests/test_emerge.py @@ -28,3 +28,6 @@ def test_emerge_workflow(self): profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries.csv", ) + + # TODO: checks on values need to be added, not sure if cost values now make sense, scaling + # is not too bad, but if presolve of HIGHS is on, it becomes infeasible. diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index d134d9508..b2857e4f7 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -9,11 +9,12 @@ from mesido.network_common import NetworkSettings from mesido.util import run_esdl_mesido_optimization - import numpy as np import pandas as pd +from utils_tests import demand_matching_test + class TestHydraulicPower(TestCase): def test_hydraulic_power_heat(self): @@ -247,6 +248,7 @@ def test_hydraulic_power_gas(self): - checks if hydraulic power is 0 at end of the pipe - checks if differences of in/out port is equal to the added hydraulic power of that pipe - checks absolutae value of the hydraulic power loss over a line + - demand matching """ import models.unit_cases_gas.source_sink.src.run_source_sink as run_source_sink from models.unit_cases_gas.source_sink.src.run_source_sink import ( @@ -261,7 +263,7 @@ def read(self): super().read() for d in self.energy_system_components["gas_demand"]: - new_timeseries = self.get_timeseries(f"{d}.target_gas_demand").values * 4e4 + new_timeseries = self.get_timeseries(f"{d}.target_gas_demand").values * 5e3 self.set_timeseries(f"{d}.target_gas_demand", new_timeseries) def energy_system_options(self): @@ -298,11 +300,12 @@ def energy_system_options(self): # due to non linearity, every timestep on new linearized line, a doubled mass flow should # result in more than doubled hydraulic power + tol_hp = 1.0e-6 np.testing.assert_array_less( - (pipe_hp[0] + 1e-6) * (pipe_mass[1] / pipe_mass[0]), pipe_hp[1] + pipe_hp[0] * (pipe_mass[1] / pipe_mass[0]), pipe_hp[1] + tol_hp ) np.testing.assert_array_less( - (pipe_hp[1] + 1e-6) * (pipe_mass[2] / pipe_mass[1]), pipe_hp[2] + pipe_hp[1] * (pipe_mass[2] / pipe_mass[1]), pipe_hp[2] + tol_hp ) np.testing.assert_allclose(pipe_hp, pipe_hp_in - pipe_hp_out) @@ -337,7 +340,7 @@ def energy_system_options(self): ) for v in v_inspect ] - np.testing.assert_array_less(calc_hp_accurate, pipe_hp) + np.testing.assert_array_less(calc_hp_accurate, pipe_hp + tol_hp) v_points = [ i * v_max / solution.gas_network_settings["n_linearization_lines"] @@ -367,6 +370,8 @@ def energy_system_options(self): np.testing.assert_allclose(pipe_hp[1], a[1] * results[f"{pipe}.GasOut.Q"][1] + b[1]) np.testing.assert_allclose(pipe_hp[2], a[2] * results[f"{pipe}.GasOut.Q"][2] + b[2]) + demand_matching_test(solution, results) + def test_hydraulic_power_gas_multi_demand(self): """ Checks the logic for the hydraulic power of gas pipes. @@ -491,5 +496,8 @@ def energy_system_options(self): start_time = time.time() a = TestHydraulicPower() - a.test_hydraulic_power() + a.test_hydraulic_power_heat() + a.test_hydraulic_power_gas() + a.test_hydraulic_power_gas_multi_demand() + print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py new file mode 100644 index 000000000..08592bf83 --- /dev/null +++ b/tests/test_multicommodity_simulator.py @@ -0,0 +1,351 @@ +from pathlib import Path +from unittest import TestCase + +from mesido.electricity_physics_mixin import ElectrolyzerOption +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows.multicommodity_simulator_workflow import ( + MultiCommoditySimulator, + MultiCommoditySimulatorNoLosses, +) + +import numpy as np + +from rtctools.util import run_optimization_problem + +from utils_tests import demand_matching_test, energy_conservation_test + + +def checks_all_mc_simulations(solution, results): + # General checks + demand_matching_test(solution, results) + energy_conservation_test(solution, results) + + for prod in solution.energy_system_components.get("electricity_source", []): + prod_profile_name = f"{prod}.maximum_electricity_source" + energy_prod = results[f"{prod}.Electricity_source"] + if prod_profile_name in solution.io.get_timeseries_names(): + target = solution.get_timeseries(prod_profile_name).values[: len(energy_prod)] + np.testing.assert_allclose(target, energy_prod, atol=1.0e-3, rtol=1.0e-6) + # print(prod, energy_prod) + + for demand in solution.energy_system_components.get("electricity_demand", []): + energy_demand = results[f"{demand}.Electricity_demand"] + if f"{demand}.target_electricity_demand" in solution.io.get_timeseries_names(): + target = solution.get_timeseries(f"{demand}.target_electricity_demand").values + np.testing.assert_allclose(target, energy_demand, atol=1.0e-3, rtol=1.0e-6) + # print(demand, target, energy_demand) + # else: + # print(demand, energy_demand) + + for demand in solution.energy_system_components.get("gas_demand", []): + energy_demand = results[f"{demand}.Gas_demand_mass_flow"] + if f"{demand}.target_gas_demand" in solution.io.get_timeseries_names(): + target = solution.get_timeseries(f"{demand}.target_gas_demand").values + np.testing.assert_allclose(target, energy_demand, atol=1.0e-3, rtol=1.0e-6) + # print(demand, target, energy_demand) + # else: + # print(demand, energy_demand) + + +class TestMultiCommoditySimulator(TestCase): + # TODO: update docstring + """ + In this test case several producers and consumers as well as conversion assets are applied, for + the two commodities Hydrogen and electricity. + The priority of the consumers, producers and conversion assets is set using the marginal costs + in the ESDL file, allowing for flexible customised operation. + + Checks: + - General checks namely demand matching, energy conservation and asset milp variable vs + calculated milp (based on flow rate) + - Check that producer 1 (merit oder = 2) is only used for the supply of milp lossed in the + connected and is does not contribute to the heating demands 1, 2 and 3 + - Check that the ATES is not delivering any milp to the network during the 1st time step + """ + + def test_multi_commodity_simulator_priorities_el(self): + import models.unit_cases_electricity.bus_networks.src.example as example + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_optimization_problem( + MultiCommoditySimulator, + base_folder=base_folder, + esdl_file_name="Electric_bus4_priorities.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_2.csv", + ) + + bounds = solution.bounds() + results = solution.extract_results() + + checks_all_mc_simulations(solution, results) + + prod_1 = results["ElectricityProducer_a215.Electricity_source"] + prod_2 = results["ElectricityProducer_17a1.Electricity_source"] + dem_1 = results["ElectricityDemand_e527.Electricity_demand"] + dem_2 = results["ElectricityDemand_281a.Electricity_demand"] + + # check producer with highest priority (lowest marginal costs is maximizing production) + np.testing.assert_allclose( + prod_1, bounds["ElectricityProducer_a215.Electricity_source"][1], atol=1e-3, rtol=1e-6 + ) + # check producer with second highest priority is only producing to meet profile of demand + prod_2_target = dem_1 - prod_1 + prod_2_target[prod_2_target < 0] = 0 + np.testing.assert_allclose(prod_2, prod_2_target, atol=1e-3, rtol=1e-6) + # check demand with lowest marginal cost is only consuming if electricity left from producer + # with highest priority after the matching of demand profile + demand_2_target = prod_1 - dem_1 + demand_2_target[demand_2_target < 0] = 0 + np.testing.assert_allclose(dem_2, demand_2_target, atol=1e-3, rtol=1e-6) + + def test_multi_commodity_simulator_prod_profile(self): + import models.unit_cases_electricity.bus_networks.src.example as example + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_optimization_problem( + MultiCommoditySimulator, + base_folder=base_folder, + esdl_file_name="Electric_bus4_priorities.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_2_prod.csv", + ) + + bounds = solution.bounds() + results = solution.extract_results() + + checks_all_mc_simulations(solution, results) + + prod_1 = results["ElectricityProducer_a215.Electricity_source"] + prod_2 = results["ElectricityProducer_17a1.Electricity_source"] + dem_1 = results["ElectricityDemand_e527.Electricity_demand"] + dem_2 = results["ElectricityDemand_281a.Electricity_demand"] + + # check producer with highest priority (lowest marginal costs is maximizing production) is + # producing at max capacity, except when demand profile + max demand of other demand is + # lower than prod_2 profile and max capacity prod_1 + np.testing.assert_allclose( + prod_1[1:], + bounds["ElectricityProducer_a215.Electricity_source"][1], + atol=1e-3, + rtol=1e-6, + ) + np.testing.assert_allclose( + prod_1[0], + bounds["ElectricityDemand_281a.Electricity_demand"][1] + dem_1[0] - prod_2[0], + atol=1e-3, + rtol=1e-6, + ) + + # check demand with lowest marginal cost is only consuming if electricity left from producer + # with highest priority and producer with profile, after the matching of demand profile + demand_2_target = prod_1 + prod_2 - dem_1 + demand_2_target[demand_2_target < 0] = 0 + np.testing.assert_allclose(dem_2, demand_2_target, atol=1e-3, rtol=1e-6) + + # Check that producer 1 (merit oder = 2) is not used + # and is does not contribute to the heating demands 1, 2 and 3 + # TODO: these tests need to be updated for elec/gas + + import models.unit_cases_gas.multi_demand_source_node.src.run_test as example + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_optimization_problem( + MultiCommoditySimulator, + base_folder=base_folder, + esdl_file_name="test_priorities.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + + results = solution.extract_results() + bounds = solution.bounds() + + checks_all_mc_simulations(solution, results) + + prod_1 = results["GasProducer_3573.Gas_source_mass_flow"] + prod_2 = results["GasProducer_a977.Gas_source_mass_flow"] + dem_1 = results["GasDemand_47d0.Gas_demand_mass_flow"] + dem_2 = results["GasDemand_7979.Gas_demand_mass_flow"] + prod_1_bound = bounds["GasProducer_3573.Gas_source_mass_flow"][1] + dem_2_bound = bounds["GasDemand_7979.Gas_demand_mass_flow"] + + # check producer with highest marginal cost (prod_2) is only producing to match demand + # profile of dem_1 + the max of dem_2, + # check producer_1 is maxed out + prod_2_target = dem_1 + dem_2 - prod_1 + prod_2_target[prod_2_target < 0] = 0 + np.testing.assert_allclose(prod_2, prod_2_target, atol=1e-3, rtol=1e-6) + np.testing.assert_allclose(prod_1, prod_1_bound) + + # check demand 1 is matching the profile (in check_all_mc_simulations) and that demand 2 + # is maxed out + checks_all_mc_simulations(solution, results) + np.testing.assert_allclose(dem_2, dem_2_bound[1], atol=1e-3, rtol=1e-6) + + def test_multi_commodity_simulator_emerge(self): + import models.emerge.src.example as example + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_optimization_problem( + MultiCommoditySimulatorNoLosses, + base_folder=base_folder, + esdl_file_name="emerge_priorities_withoutstorage.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_short.csv", + ) + + bounds = solution.bounds() + results = solution.extract_results() + + # all_mc_checks cannot be used because max electricity production of windfarm is larger + # than the max electricity take off at electrolyzer (due to mas gas demand) and the max + # electricity demand. + # checks_all_mc_simulations(solution, results) + tol = 1.0e-6 + + esdl_electrolyzer = solution._esdl_assets[ + solution.esdl_asset_name_to_id_map["Electrolyzer_6327"] + ] + demand_gas = results["GasDemand_4146.Gas_demand_mass_flow"] + demand_el = results["ElectricityDemand_f833.Electricity_demand"] + electrolyzer_power = results["Electrolyzer_6327.Power_consumed"] + electrolyzer_gas = results["Electrolyzer_6327.Gas_mass_flow_out"] + windfarm_power = results["WindPark_9074.Electricity_source"] + windfarm_target = solution.get_timeseries( + "WindPark_9074.maximum_electricity_source" + ).values[: len(windfarm_power)] + # cap on el consumption by electricity_demand (due to cap, 1.3GW) and by electrolyzer + # (due to cap of gas demand) + cap_el_consumption = 2.1e9 + windfarm_target = np.minimum( + np.ones(len(windfarm_target)) * cap_el_consumption, windfarm_target + ) + np.testing.assert_allclose(windfarm_target, windfarm_power, atol=1.0e-3, rtol=tol) + + efficiency = electrolyzer_power / electrolyzer_gas # W/(g/s) = Ws/g + efficiency = efficiency / 3600 # Wh/g + provided_efficiencies = ( + esdl_electrolyzer.attributes["effMaxLoad"], + esdl_electrolyzer.attributes["effMinLoad"], + esdl_electrolyzer.attributes["efficiency"], + ) + np.testing.assert_array_less(min(provided_efficiencies), efficiency[electrolyzer_power > 0]) + np.testing.assert_array_less( + efficiency[electrolyzer_power > 0], max(provided_efficiencies) + tol + ) + + # demand gas maximised when sufficient power available to convert electricity to gas + cap_electrolyzer_power = ( + cap_el_consumption - bounds["ElectricityDemand_f833.Electricity_demand"][1] + ) + index_gas_max = windfarm_power >= cap_electrolyzer_power + np.testing.assert_allclose( + demand_gas[index_gas_max], bounds["Electrolyzer_6327.Gas_mass_flow_out"][1] + ) + # due to priority settings, electricity demand only consuming if demand_gas maximised and + # enough windfarm power + demand_el_calc = windfarm_power - electrolyzer_power + demand_el_calc[demand_el_calc < 0] = 0 + np.testing.assert_allclose(demand_el_calc, demand_el) + + def test_multi_commodity_simulator_emerge_lowprod(self): + import models.emerge.src.example as example + + base_folder = Path(example.__file__).resolve().parent.parent + + class MCSimulatorShortSmallProd(MultiCommoditySimulatorNoLosses): + + def read(self, variable=None): + super().read() + + for asset in self.energy_system_components["wind_park"]: + new_timeseries = ( + self.get_timeseries(f"{asset}.maximum_electricity_source").values * 0.5 + ) + self.set_timeseries(f"{asset}.maximum_electricity_source", new_timeseries) + + def energy_system_options(self): + options = super().energy_system_options() + + options["electrolyzer_efficiency"] = ( + ElectrolyzerOption.LINEARIZED_THREE_LINES_WEAK_INEQUALITY + ) + + return options + + # TODO: somehow highs always says it is in feasible + solution = run_optimization_problem( + MCSimulatorShortSmallProd, + base_folder=base_folder, + esdl_file_name="emerge_priorities_withoutstorage_2prod.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_short.csv", + ) + + results = solution.extract_results() + bounds = solution.bounds() + + checks_all_mc_simulations(solution, results) + + esdl_electrolyzer = solution._esdl_assets[ + solution.esdl_asset_name_to_id_map["Electrolyzer_6327"] + ] + demand_gas = results["GasDemand_4146.Gas_demand_mass_flow"] + demand_el = results["ElectricityDemand_f833.Electricity_demand"] + electrolyzer_power = results["Electrolyzer_6327.Power_consumed"] + electrolyzer_gas = results["Electrolyzer_6327.Gas_mass_flow_out"] + windfarm_power = results["WindPark_9074.Electricity_source"] + prod_power = results["ElectricityProducer_4850.Electricity_source"] + prod_power_cap = 3e8 # W + + efficiency = electrolyzer_power / electrolyzer_gas # W/(g/s) = Ws/g + efficiency = efficiency / 3600 # Wh/g + provided_efficiencies = ( + esdl_electrolyzer.attributes["effMaxLoad"], + esdl_electrolyzer.attributes["effMinLoad"], + esdl_electrolyzer.attributes["efficiency"], + ) + np.testing.assert_array_less(min(provided_efficiencies) - 1e-12, efficiency) + np.testing.assert_array_less(efficiency, max(provided_efficiencies) + 1e-12) + + # demand gas maximised when sufficient power available to convert electricity to gas + cap_electrolyzer_power = 444880000.0 + index_gas_max = windfarm_power >= cap_electrolyzer_power + np.testing.assert_allclose( + demand_gas[index_gas_max], bounds["Electrolyzer_6327.Gas_mass_flow_out"][1] + ) + # due to priority settings, electricity demand only consuming if demand_gas maximised and + # enough windfarm power + demand_el_calc = windfarm_power - electrolyzer_power + demand_el_calc[demand_el_calc < 0] = 0 + np.testing.assert_allclose(demand_el_calc, demand_el, atol=1e-5 * max(demand_el)) + # electricity_producer only producing upto its own cap if windfarm_power is insufficient to + # fullfill demand_gas + el_prod_calc = np.maximum( + np.minimum(max(electrolyzer_power) - windfarm_power, prod_power_cap), 0.0 + ) + np.testing.assert_allclose(el_prod_calc, prod_power, atol=1e-5 * max(demand_el)) + + +if __name__ == "__main__": + import time + + start_time = time.time() + a = TestMultiCommoditySimulator() + a.test_multi_commodity_simulator_priorities_el() + a.test_multi_commodity_simulator_prod_profile() + a.test_multi_commodity_simulator_emerge() + a.test_multi_commodity_simulator_emerge_lowprod() + + print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index ef6ec7479..a8980a8a7 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -104,7 +104,9 @@ def test_loading_from_csv(self): np.testing.assert_equal(expected_array, problem.get_timeseries("elec.price_profile").values) expected_array = np.array([1.0e6] * 3) - np.testing.assert_equal(expected_array, problem.get_timeseries("gas.price_profile").values) + np.testing.assert_equal( + expected_array, problem.get_timeseries("Hydrogen.price_profile").values + ) def test_loading_from_xml(self): """ @@ -173,8 +175,15 @@ def test_loading_from_csv_with_influx_profiles_given(self): np.testing.assert_equal(expected_array, problem.get_timeseries("elec.price_profile").values) expected_array = np.array([1.0e6] * 3) - np.testing.assert_equal(expected_array, problem.get_timeseries("gas.price_profile").values) + np.testing.assert_equal( + expected_array, problem.get_timeseries("Hydrogen.price_profile").values + ) if __name__ == "__main__": - unittest.main() + # unittest.main() + a = TestProfileLoading() + a.test_loading_from_influx() + a.test_loading_from_csv() + a.test_loading_from_xml() + a.test_loading_from_csv_with_influx_profiles_given() diff --git a/tests/utils_tests.py b/tests/utils_tests.py index c499d80e5..8b2c81881 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -304,7 +304,7 @@ def heat_to_discharge_test(solution, results): test.assertTrue( expr=all( results[f"{p}.HeatIn.Heat"][indices] - <= results[f"{p}.Q"][indices] * rho * cp * temperature + tol + <= (results[f"{p}.Q"][indices] + 1e-7) * rho * cp * temperature ) ) test.assertTrue( From f62beb69453d19936fccc32f978f5e68782e9c62 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Jul 2024 14:22:23 +0200 Subject: [PATCH 190/376] Inlcude heat losses --- tests/test_cold_demand.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 1f2835a6e..a64aef486 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -102,7 +102,7 @@ class HeatingCoolingProblem(HeatProblem): # temp code below def energy_system_options(self): options = super().energy_system_options() - options["neglect_pipe_heat_losses"] = True + options["neglect_pipe_heat_losses"] = False return options def constraints(self, ensemble_member): From 76c2ce2a922774937eca4c039d3317cfa9f1102e Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Fri, 12 Jul 2024 14:22:31 +0200 Subject: [PATCH 191/376] Formatting --- tests/models/wko/src/example.py | 3 --- tests/test_cold_demand.py | 16 ++-------------- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index e19a16648..bafca1f0c 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -1,6 +1,3 @@ -import sys -import traceback - import casadi as ca from mesido.esdl.esdl_mixin import ESDLMixin diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index a64aef486..0418edfbe 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -99,7 +99,8 @@ def test_wko(self): class HeatingCoolingProblem(HeatProblem): - # temp code below + # TODO: investigate why test fails when heat_losses are neglected. + # An issue has been created for this def energy_system_options(self): options = super().energy_system_options() options["neglect_pipe_heat_losses"] = False @@ -154,21 +155,8 @@ def constraints(self, ensemble_member): np.testing.assert_allclose( results["ATES_226d.Stored_heat"][0], results["ATES_226d.Stored_heat"][-1] ) - # np.testing.assert_allclose(results["ATES_226d.Stored_heat"][0], 0.0) - - # Heat pump does not switch on to start loading the WKO. - # Is this intended for some reason Femke? if __name__ == "__main__": test_cold_demand = TestColdDemand() test_cold_demand.test_wko() - - a = 1 - - -# results["Pipe2.HeatIn.Heat"] - results["Pipe2.HeatOut.Heat"] + (results["Pipe5.HeatIn.Heat"] - results["Pipe5.HeatOut.Heat"]) + (results["ATES_226d.Stored_heat"][1] - results["ATES_226d.Stored_heat"][0])/3600 - -# temp = results["Pipe2.HeatIn.Heat"] - results["Pipe2.HeatOut.Heat"] + (results["Pipe5.HeatIn.Heat"] - results["Pipe5.HeatOut.Heat"]) - -# (results["ATES_226d.Stored_heat"][1:] - results["ATES_226d.Stored_heat"][0:-1])/3600 + temp[1:] \ No newline at end of file From a9b675acf79bdc0f9f90f78161b0f9b4a3200b15 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:12:50 +0200 Subject: [PATCH 192/376] Multicommodity simulator storage (#119) This merge commit includes the storages in the multicommodity simulator workflow. The goals are on the charging and discharging variables, with the discharging to be minimised and the charging to be maximised. Test case on the storage are also implented. Furthermore this commit also includes a testcase for the simulator where the headloss is included. --- src/mesido/esdl/esdl_heat_model.py | 15 + src/mesido/gas_physics_mixin.py | 15 +- .../milp/electricity/electricity_storage.py | 5 +- .../component_library/milp/gas/gas_pipe.py | 1 + .../multicommodity_simulator_workflow.py | 55 +++- .../model/emerge_battery_priorities.esdl | 147 ++++++++++ .../emerge/model/emerge_priorities.esdl | 130 +++++++++ tests/test_multicommodity_simulator.py | 274 ++++++++++++++++-- tests/utils_tests.py | 2 +- 9 files changed, 604 insertions(+), 40 deletions(-) create mode 100644 tests/models/emerge/model/emerge_battery_priorities.esdl create mode 100644 tests/models/emerge/model/emerge_priorities.esdl diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index ed706abb1..4fa3ee3a1 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -643,6 +643,10 @@ def convert_heat_pipe( conductivies_insulation, ) = self._pipe_get_diameter_and_insulation(asset) + id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ + "id_number_mapping" + ] + if isinstance(asset.in_ports[0].carrier, esdl.esdl.GasCommodity): q_nominal = math.pi * diameter**2 / 4.0 * self.v_max_gas / 2.0 self._set_q_nominal(asset, q_nominal) @@ -658,6 +662,7 @@ def convert_heat_pipe( Hydraulic_power=dict(nominal=q_nominal * pressure), ) modifiers = dict( + id_mapping_carrier=id_mapping, length=length, density=density, diameter=diameter, @@ -1643,6 +1648,9 @@ def convert_electricity_storage( I=dict(min=-i_max, max=i_max, nominal=i_nom), Power=dict(min=-max_discharge, max=max_charge, nominal=max_charge / 2.0), ), + Effective_power_charging=dict( + min=-max_discharge, max=max_charge, nominal=max_charge / 2.0 + ), **self._get_cost_figure_modifiers(asset), ) @@ -2013,6 +2021,13 @@ def convert_electrolyzer(self, asset: Asset) -> Tuple[Type[Electrolyzer], MODIFI max_power = asset.attributes.get("power", math.inf) min_load = float(asset.attributes["minLoad"]) max_load = float(asset.attributes["maxLoad"]) + if not max_power == max_load: + max_power = max_load + logger.warning( + f"The maximum load and the power of the electrolyzer did not match for " + f"{asset.name}. The maximum load of {max_load}W is now used as maximum " + f"power." + ) eff_min_load = asset.attributes["effMinLoad"] # Wh/g eff_max_load = asset.attributes["effMaxLoad"] # Wh/g eff_max = asset.attributes["efficiency"] # Wh/g diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index 5dc0df744..b8ec6e508 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -181,7 +181,10 @@ def _get_min_bound(bound): # Note we always use the gas network type for the naming of variables, independent of # the gas mixture used. initialized_vars = self._gn_head_loss_class.initialize_variables_nominals_and_bounds( - self, NetworkSettings.NETWORK_TYPE_GAS, pipe_name, self.gas_network_settings + self, + self.gas_network_settings["network_type"], + pipe_name, + self.gas_network_settings, ) if initialized_vars[0] != {}: self.__gas_pipe_head_bounds[ @@ -254,7 +257,7 @@ def _get_min_bound(bound): self.__maximum_total_head_loss = self.__get_maximum_total_head_loss() if options["gas_storage_discharge_variables"]: - for storage in self.energy_system_components.get("gas_storage", []): + for storage in self.energy_system_components.get("gas_tank_storage", []): bound_storage_q = self.bounds()[f"{storage}.GasIn.Q"][0] var_name = f"{storage}__Q_discharge" self.__gas_storage_discharge_map[storage] = var_name @@ -560,7 +563,7 @@ def __flow_direction_path_constraints(self, ensemble_member): return constraints - def __gas_storage_discharge_path_constraints(self): + def __gas_storage_discharge_path_constraints(self, ensemble_member): """ The discharge variables are added such that two separate goals for charging and discharging can be created. The discharging variable has a lower bound of 0 and should always be larger @@ -568,12 +571,11 @@ def __gas_storage_discharge_path_constraints(self): the discharging and afterwards an maximisation of the charging without conflicting goals or constraints. """ - # TODO: still add test constraints = [] options = self.energy_system_options() if options["gas_storage_discharge_variables"]: - for storage in self.energy_system_components.get("gas_storage"): + for storage in self.energy_system_components.get("gas_tank_storage", []): storage_charge_var = self.state(f"{storage}.GasIn.Q") storage_discharge_var_name = f"{storage}__Q_discharge" storage_discharge_var = self.state(storage_discharge_var_name) @@ -584,6 +586,8 @@ def __gas_storage_discharge_path_constraints(self): ((storage_discharge_var + storage_charge_var) / nominal, 0.0, np.inf) ) + return constraints + def path_constraints(self, ensemble_member): """ Here we add all the path constraints to the optimization problem. Please note that the @@ -606,6 +610,7 @@ def path_constraints(self, ensemble_member): ) constraints.extend(self.__flow_direction_path_constraints(ensemble_member)) constraints.extend(self.__gas_node_hydraulic_power_mixing_path_constraints(ensemble_member)) + constraints.extend(self.__gas_storage_discharge_path_constraints(ensemble_member)) return constraints diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py b/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py index f18c39da8..442a17e83 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py @@ -36,7 +36,10 @@ def __init__(self, name, **modifiers): nominal=self._nominal_stored_electricity, ) self.add_variable( - Variable, "Effective_power_charging", nominal=self.ElectricityIn.Power.nominal + Variable, + "Effective_power_charging", + nominal=self.ElectricityIn.Power.nominal, + max=self.ElectricityIn.Power.max, ) self.add_equation( diff --git a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py index cca6be2a2..460d40b20 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py @@ -25,6 +25,7 @@ def __init__(self, name, **modifiers): self.area = 0.25 * pi * self.diameter**2 self.Q_nominal = self.v_max / 2.0 * self.area self.pressure = 16.0e5 + self.id_mapping_carrier = -1 self.nominal_head = 30.0 self.length = nan diff --git a/src/mesido/workflows/multicommodity_simulator_workflow.py b/src/mesido/workflows/multicommodity_simulator_workflow.py index 184db3750..c24766f51 100644 --- a/src/mesido/workflows/multicommodity_simulator_workflow.py +++ b/src/mesido/workflows/multicommodity_simulator_workflow.py @@ -9,6 +9,7 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption +from mesido.network_common import NetworkSettings from mesido.physics_mixin import PhysicsMixin from mesido.workflows.io.write_output import ScenarioOutput from mesido.workflows.utils.helpers import main_decorator @@ -130,8 +131,7 @@ class MinimizeStorageGoalMerit(Goal): """ def __init__(self, source_variable, prod_priority, func_range_bound, nominal, order=2): - self.target_min = 0.0 # func_range_bound[0] - self.target_max = func_range_bound[1] * 0.999 + self.target_max = 0.0 self.function_range = func_range_bound self.source_variable = source_variable self.function_nominal = nominal @@ -153,7 +153,7 @@ def __init__(self, demand_variable, prod_priority, func_range_bound, nominal, or self.function_range = func_range_bound self.demand_variable = demand_variable self.function_nominal = nominal - self.priority = prod_priority + 1 + self.priority = prod_priority self.order = order def function(self, optimization_problem, ensemble_member): @@ -275,7 +275,11 @@ def __create_asset_list_controls(self, asset_types_to_include, assets_without_co "electricity_source": "Electricity_source", "gas_demand": "Gas_demand_mass_flow", "gas_source": "Gas_source_mass_flow", - "gas_tank_storage": "Gas_tank_flow", + "gas_tank_storage": {"charge": "Gas_tank_flow", "discharge": "__Q_discharge"}, + "electricity_storage": { + "charge": "Effective_power_charging", + "discharge": "__effective_power_discharging", + }, "electrolyzer": "Power_consumed", } @@ -334,11 +338,12 @@ def __create_merit_path_goals(self, asset_info, max_value_merit, index_start_of_ assert ( marginal_priority >= index_start_of_priority ), "Priorities assigned must be smaller than the total number of producers" - variable_name = f"{asset}.{asset_variable_map[asset]}" if asset in [ *assets_to_include.get("source", []), ]: + variable_name = f"{asset}.{asset_variable_map[asset]}" + goals.append( MinimizeSourcesGoalMerit( variable_name, @@ -348,10 +353,15 @@ def __create_merit_path_goals(self, asset_info, max_value_merit, index_start_of_ ) ) elif asset in assets_to_include.get("conversion", []): + variable_name = f"{asset}.{asset_variable_map[asset]}" + index_s = asset_merit["asset_name"].index(f"{asset}_prod") + marginal_priority_source = ( + index_start_of_priority + max_value_merit - asset_merit["merit_order"][index_s] + ) goals.append( MinimizeSourcesGoalMerit( variable_name, - marginal_priority + 1, + marginal_priority_source, self.bounds()[variable_name], self.variable_nominal(variable_name), ) @@ -366,6 +376,8 @@ def __create_merit_path_goals(self, asset_info, max_value_merit, index_start_of_ ) ) elif asset in assets_to_include.get("demand", []): + variable_name = f"{asset}.{asset_variable_map[asset]}" + goals.append( MaximizeDemandGoalMerit( variable_name, @@ -379,6 +391,8 @@ def __create_merit_path_goals(self, asset_info, max_value_merit, index_start_of_ # charging acts as consumer # Marginal costs for discharging > marginal cost for charging + variable_name = f"{asset}.{asset_variable_map[asset]['charge']}" + goals.append( MaximizeStorageGoalMerit( variable_name, @@ -398,7 +412,8 @@ def __create_merit_path_goals(self, asset_info, max_value_merit, index_start_of_ assert ( marginal_priority >= index_start_of_priority ), "Priorities assigned must be smaller than the total number of producers" - variable_name = f"{asset}.{asset_variable_map[asset]}" + + variable_name = f"{asset}{asset_variable_map[asset]['discharge']}" goals.append( MinimizeStorageGoalMerit( @@ -422,12 +437,13 @@ def __merit_path_goals(self): other goals to maximize specific producers and minimize demand, start at priority 3. :return: """ + # TODO: improve the asset_types_to_include and esdl_assets_to_include asset_types_to_include = { "source": ["electricity_source", "gas_source"], "demand": ["electricity_demand", "gas_demand"], "conversion": ["electrolyzer"], - "storage": ["gas_tank_storage"], + "storage": ["gas_tank_storage", "electricity_storage"], } assets_without_control = ["Pipe", "ElectricityCable", "Joint", "Bus"] @@ -463,12 +479,14 @@ def path_goals(self): def energy_system_options(self): options = super().energy_system_options() - self.gas_network_settings["head_loss_option"] = ( - HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY - ) + self.gas_network_settings["head_loss_option"] = HeadLossOption.LINEARIZED_N_LINES_EQUALITY + self.gas_network_settings["network_type"] = NetworkSettings.NETWORK_TYPE_HYDROGEN self.gas_network_settings["minimize_head_losses"] = True options["include_asset_is_switched_on"] = True + options["gas_storage_discharge_variables"] = True + options["electricity_storage_discharge_variables"] = True + return options def path_constraints(self, ensemble_member): @@ -506,6 +524,17 @@ def __merit_controls(self, assets_list): attributes["merit_order"].append( a.attributes["costInformation"].marginalCosts.value ) + if ( + a.asset_type == "Electrolyzer" + ): # electrolyzer would require minimisation of electricity right after + # maximisation gas, therefore a merit_order with a very small adjusted + # value is used (e.g. 1e-6) to ensure these goals are right after each + # other and no other goals are in between. + attributes["asset_name"].append(f"{a.name}_prod") + attributes["merit_order"].append( + a.attributes["costInformation"].marginalCosts.value - 1e-6 + ) + except AttributeError: try: attributes["merit_order"].append( @@ -540,6 +569,10 @@ def solver_options(self): options = super().solver_options() options["casadi_solver"] = self._qpsol + options["solver"] = "highs" + highs_options = options["highs"] = {} + highs_options["presolve"] = "off" + return options def priority_started(self, priority): diff --git a/tests/models/emerge/model/emerge_battery_priorities.esdl b/tests/models/emerge/model/emerge_battery_priorities.esdl new file mode 100644 index 000000000..ca30b865b --- /dev/null +++ b/tests/models/emerge/model/emerge_battery_priorities.esdl @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/emerge/model/emerge_priorities.esdl b/tests/models/emerge/model/emerge_priorities.esdl new file mode 100644 index 000000000..eb4b8641f --- /dev/null +++ b/tests/models/emerge/model/emerge_priorities.esdl @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py index 08592bf83..dac54d14a 100644 --- a/tests/test_multicommodity_simulator.py +++ b/tests/test_multicommodity_simulator.py @@ -1,9 +1,11 @@ from pathlib import Path from unittest import TestCase +import mesido._darcy_weisbach as darcy_weisbach from mesido.electricity_physics_mixin import ElectrolyzerOption from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.network_common import NetworkSettings from mesido.workflows.multicommodity_simulator_workflow import ( MultiCommoditySimulator, MultiCommoditySimulatorNoLosses, @@ -13,7 +15,26 @@ from rtctools.util import run_optimization_problem -from utils_tests import demand_matching_test, energy_conservation_test +from utils_tests import ( + demand_matching_test, + electric_power_conservation_test, + energy_conservation_test, + feasibility_test, +) + + +def check_electrolyzer_efficiency(tol, electrolyzer_gas, electrolyzer_power, esdl_electrolyzer): + efficiency = electrolyzer_power / electrolyzer_gas # W/(g/s) = Ws/g + efficiency = efficiency / 3600 # Wh/g + provided_efficiencies = ( + esdl_electrolyzer.attributes["effMaxLoad"], + esdl_electrolyzer.attributes["effMinLoad"], + esdl_electrolyzer.attributes["efficiency"], + ) + np.testing.assert_array_less(min(provided_efficiencies), efficiency[electrolyzer_power > 0]) + np.testing.assert_array_less( + efficiency[electrolyzer_power > 0], max(provided_efficiencies) + tol + ) def checks_all_mc_simulations(solution, results): @@ -232,17 +253,7 @@ def test_multi_commodity_simulator_emerge(self): ) np.testing.assert_allclose(windfarm_target, windfarm_power, atol=1.0e-3, rtol=tol) - efficiency = electrolyzer_power / electrolyzer_gas # W/(g/s) = Ws/g - efficiency = efficiency / 3600 # Wh/g - provided_efficiencies = ( - esdl_electrolyzer.attributes["effMaxLoad"], - esdl_electrolyzer.attributes["effMinLoad"], - esdl_electrolyzer.attributes["efficiency"], - ) - np.testing.assert_array_less(min(provided_efficiencies), efficiency[electrolyzer_power > 0]) - np.testing.assert_array_less( - efficiency[electrolyzer_power > 0], max(provided_efficiencies) + tol - ) + check_electrolyzer_efficiency(tol, electrolyzer_gas, electrolyzer_power, esdl_electrolyzer) # demand gas maximised when sufficient power available to convert electricity to gas cap_electrolyzer_power = ( @@ -283,7 +294,6 @@ def energy_system_options(self): return options - # TODO: somehow highs always says it is in feasible solution = run_optimization_problem( MCSimulatorShortSmallProd, base_folder=base_folder, @@ -296,6 +306,8 @@ def energy_system_options(self): results = solution.extract_results() bounds = solution.bounds() + tol = 1.0e-6 + checks_all_mc_simulations(solution, results) esdl_electrolyzer = solution._esdl_assets[ @@ -309,15 +321,7 @@ def energy_system_options(self): prod_power = results["ElectricityProducer_4850.Electricity_source"] prod_power_cap = 3e8 # W - efficiency = electrolyzer_power / electrolyzer_gas # W/(g/s) = Ws/g - efficiency = efficiency / 3600 # Wh/g - provided_efficiencies = ( - esdl_electrolyzer.attributes["effMaxLoad"], - esdl_electrolyzer.attributes["effMinLoad"], - esdl_electrolyzer.attributes["efficiency"], - ) - np.testing.assert_array_less(min(provided_efficiencies) - 1e-12, efficiency) - np.testing.assert_array_less(efficiency, max(provided_efficiencies) + 1e-12) + check_electrolyzer_efficiency(tol, electrolyzer_gas, electrolyzer_power, esdl_electrolyzer) # demand gas maximised when sufficient power available to convert electricity to gas cap_electrolyzer_power = 444880000.0 @@ -337,6 +341,232 @@ def energy_system_options(self): ) np.testing.assert_allclose(el_prod_calc, prod_power, atol=1e-5 * max(demand_el)) + def test_multi_commodity_simulator_emerge_storage(self): + """ + Test to run the multicommodity simulator including a gas_storage. + Checks: + - feasibility + - power conservation + - efficiency of electrolyzer + - gas mass balance + - gas storage charges when additional production of hydrogen is possible and discharges + when no production is possible. + """ + + import models.emerge.src.example as example + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_optimization_problem( + MultiCommoditySimulatorNoLosses, + base_folder=base_folder, + esdl_file_name="emerge_priorities.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_short.csv", + ) + + results = solution.extract_results() + + feasibility_test(solution) + electric_power_conservation_test(solution, results) + + # checks_all_mc_simulations(solution, results) + tol = 1.0e-6 + + esdl_electrolyzer = solution._esdl_assets[ + solution.esdl_asset_name_to_id_map["Electrolyzer_6327"] + ] + demand_gas = results["GasDemand_4146.Gas_demand_mass_flow"] + electrolyzer_power = results["Electrolyzer_6327.Power_consumed"] + electrolyzer_gas = results["Electrolyzer_6327.Gas_mass_flow_out"] + storage_gas_mass_flow = results["GasStorage_9172.Gas_tank_flow"] + + check_electrolyzer_efficiency(tol, electrolyzer_gas, electrolyzer_power, esdl_electrolyzer) + + # gas mass balance including storage + np.testing.assert_allclose( + electrolyzer_gas - storage_gas_mass_flow, demand_gas, rtol=tol, atol=tol + ) + # timestep 7 & 8 electrolyzer should be producing more hydrogen then the demand can take. + # gas_demand is limited by pipe size. + # storage is not charging if gas demand is not maximised at bound + # storage is charging if electrolyzer produces more gas than max of demand. + gas_demand_bound = solution.bounds()["GasDemand_4146.Gas_demand_mass_flow"] + storage_not_charging = demand_gas != gas_demand_bound[1] + np.testing.assert_array_less(storage_gas_mass_flow[storage_not_charging], 0.0 + tol) + storage_charging = electrolyzer_gas >= gas_demand_bound[1] + np.testing.assert_array_less(0.0 - tol, storage_gas_mass_flow[storage_charging]) + + def test_multi_commodity_simulator_emerge_battery(self): + """ + Test to run the multicommodity simulator including a battery and gas storage. + Checks: + - matching of profiles consumer and producers (checks_all_mc_simulations) + - feasibility + - power conservation + - efficiency of electrolyzer + - gas mass balance + - battery charges when over production of electricity and discharges when not enough + electrical power is produced for the electrolyzer. + - gas storage is not charged/discharged due to priority level. + """ + import models.emerge.src.example as example + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_optimization_problem( + MultiCommoditySimulatorNoLosses, + base_folder=base_folder, + esdl_file_name="emerge_battery_priorities.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_short.csv", + ) + + results = solution.extract_results() + + feasibility_test(solution) + electric_power_conservation_test(solution, results) + + checks_all_mc_simulations(solution, results) + tol = 1.0e-6 + + esdl_electrolyzer = solution._esdl_assets[ + solution.esdl_asset_name_to_id_map["Electrolyzer_6327"] + ] + demand_gas = results["GasDemand_4146.Gas_demand_mass_flow"] + electrolyzer_power = results["Electrolyzer_6327.Power_consumed"] + electrolyzer_power_bound = solution.bounds()["Electrolyzer_6327.Power_consumed"][1] + electrolyzer_gas = results["Electrolyzer_6327.Gas_mass_flow_out"] + windfarm_power = results["WindPark_9074.Electricity_source"] + storage_gas_mass_flow = results["GasStorage_9172.Gas_tank_flow"] + battery_power = results["Battery_4688.ElectricityIn.Power"] + + check_electrolyzer_efficiency(tol, electrolyzer_gas, electrolyzer_power, esdl_electrolyzer) + + # gas mass balance including storage + np.testing.assert_allclose( + electrolyzer_gas - storage_gas_mass_flow, demand_gas, rtol=tol, atol=tol + ) + + # check battery only discharged if not enough windpower for electrolyzer + discharge_battery = windfarm_power < electrolyzer_power_bound + np.testing.assert_array_less(battery_power[discharge_battery], 0.0 + tol) + charge_battery = windfarm_power > electrolyzer_power_bound + np.testing.assert_array_less(0.0, battery_power[charge_battery]) + + # gas_storage not used due to low priority + np.testing.assert_allclose(storage_gas_mass_flow[1:], 0.0, atol=tol) + + def test_multi_commodity_simulator_emerge_head_losses(self): + """ + Test to run the multicommodity simulator including a battery and gas storage. + Checks: + - feasibility + - power conservation + - efficiency of electrolyzer + - gas mass balance + - battery charges when over production of electricity and discharges when not enough + electrical power is produced for the electrolyzer. + - gas storage is not charged/discharged due to priority level. + """ + import models.emerge.src.example as example + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_optimization_problem( + MultiCommoditySimulator, + base_folder=base_folder, + esdl_file_name="emerge_battery_priorities.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_short.csv", + ) + + results = solution.extract_results() + parameters = solution.parameters(0) + + feasibility_test(solution) + electric_power_conservation_test(solution, results) + + checks_all_mc_simulations(solution, results) + tol = 1.0e-6 + + esdl_electrolyzer = solution._esdl_assets[ + solution.esdl_asset_name_to_id_map["Electrolyzer_6327"] + ] + demand_gas = results["GasDemand_4146.Gas_demand_mass_flow"] + electrolyzer_power = results["Electrolyzer_6327.Power_consumed"] + electrolyzer_power_bound = solution.bounds()["Electrolyzer_6327.Power_consumed"][1] + electrolyzer_gas = results["Electrolyzer_6327.Gas_mass_flow_out"] + windfarm_power = results["WindPark_9074.Electricity_source"] + storage_gas_mass_flow = results["GasStorage_9172.Gas_tank_flow"] + battery_power = results["Battery_4688.ElectricityIn.Power"] + + check_electrolyzer_efficiency(tol, electrolyzer_gas, electrolyzer_power, esdl_electrolyzer) + + # gas mass balance including storage + np.testing.assert_allclose( + electrolyzer_gas - storage_gas_mass_flow, demand_gas, rtol=tol, atol=tol + ) + + # check battery only discharged if not enough windpower for electrolyzer + discharge_battery = windfarm_power < electrolyzer_power_bound + np.testing.assert_array_less(battery_power[discharge_battery], 0.0 + tol) + charge_battery = windfarm_power > electrolyzer_power_bound + np.testing.assert_array_less(0.0, battery_power[charge_battery]) + + # gas_storage not used due to low priority + np.testing.assert_allclose(storage_gas_mass_flow[1:], 0.0, atol=tol) + + # linearized dw_headloss calculations + linear_lines = 5 + velocities = np.linspace(0, 15, linear_lines + 1) + + for pipe in solution.energy_system_components.get("gas_pipe"): + length = parameters[f"{pipe}.length"] + diameter = parameters[f"{pipe}.diameter"] + vol_flow_rate = results[f"{pipe}.GasIn.Q"] + v_pipe = vol_flow_rate / (3.14 * (diameter / 2) ** 2) + wall_roughness = solution.energy_system_options()["wall_roughness"] + head_loss = results[f"{pipe}.dH"] + head_loss_full_var = results[f"{pipe}.__head_loss"] + # If this test fails there is most likely a scaling issue. + np.testing.assert_allclose(np.abs(np.asarray(head_loss)), head_loss_full_var) + for i in range(1, len(v_pipe)): + v = v_pipe[i] + line_num = velocities.searchsorted(abs(v)) + if abs(v) > 1e-8: + dw_headloss_max = darcy_weisbach.head_loss( + velocities[line_num], + diameter, + length, + wall_roughness, + 20, + NetworkSettings.NETWORK_TYPE_HYDROGEN, + 15e5, + ) + dw_headloss_min = darcy_weisbach.head_loss( + velocities[line_num - 1], + diameter, + length, + wall_roughness, + 20, + NetworkSettings.NETWORK_TYPE_HYDROGEN, + 15e5, + ) + a = (dw_headloss_max - dw_headloss_min) / ( + velocities[line_num] - velocities[line_num - 1] + ) + b = dw_headloss_min - a * velocities[line_num - 1] + headloss_calc = a * v + b + np.testing.assert_allclose(abs(head_loss[i]), headloss_calc, 0.1) + # else: + # np.testing.assert_allclose(abs(head_loss[i]), 0.0) + + print("a") + if __name__ == "__main__": import time diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 8b2c81881..c45239a30 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -364,7 +364,7 @@ def electric_power_conservation_test(solution, results): - Power and current conservation in busses. - Power conservation in transformers, upto now no losses in transformer. """ - tol = 1e-6 + tol = 1e-4 energy_sum = np.zeros(len(solution.times())) consumers = solution.energy_system_components_get( From 086ea25d483c5cfc26cef66bd7929c5024327fca Mon Sep 17 00:00:00 2001 From: AlexMGTNO <123077261+AlexMGTNO@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:46:33 +0200 Subject: [PATCH 193/376] Electrolyzer equality constraint (#114) DEV: electrolyzer equality constraints --- src/mesido/electricity_physics_mixin.py | 101 +++++++-- .../component_library/milp/gas/gas_pipe.py | 2 +- .../multicommodity_simulator_workflow.py | 1 + .../models/emerge/input/timeseries_short.csv | 6 +- .../electrolyzer/input/timeseries.csv | 1 + .../input/timeseries_electrolyzer_general.csv | 5 + .../input/timeseries_equality_constraints.csv | 4 + .../timeseries_minimum_electrolyzer_power.csv | 4 +- .../electrolyzer/src/example.py | 16 +- tests/test_electrolyzer.py | 214 ++++++++++++++++-- tests/test_multicommodity_simulator.py | 13 +- tests/utils_tests.py | 2 +- 12 files changed, 320 insertions(+), 49 deletions(-) create mode 100644 tests/models/unit_cases_electricity/electrolyzer/input/timeseries_electrolyzer_general.csv create mode 100644 tests/models/unit_cases_electricity/electrolyzer/input/timeseries_equality_constraints.csv diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index bb4ca741c..fa6c34048 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -71,6 +71,10 @@ def __init__(self, *args, **kwargs): self.__set_point_bounds = {} self.__set_point_map = {} + # Boolean path-variable for the equality constraint of the electrolyzer + self.__electrolyzer_is_active_linear_segment_map = {} + self.__electrolyzer_is_active_linear_segment_var = {} + self.__electrolyzer_is_active_linear_segment_bounds = {} self.__electricity_storage_discharge_var = {} self.__electricity_storage_discharge_bounds = {} self.__electricity_storage_discharge_nominals = {} @@ -120,6 +124,21 @@ def pre(self): self.__asset_is_switched_on_var[var_name] = ca.MX.sym(var_name) self.__asset_is_switched_on_bounds[var_name] = (0.0, 1.0) + if options["electrolyzer_efficiency"] == ElectrolyzerOption.LINEARIZED_THREE_LINES_EQUALITY: + for asset in [ + *self.energy_system_components.get("electrolyzer", []), + ]: + self.__electrolyzer_is_active_linear_segment_map[asset] = {} + n_lines = 3 + for n_line in range(n_lines): + var_name = f"{asset}__line_{n_line}_active" + + self.__electrolyzer_is_active_linear_segment_map[asset][ + f"line_{n_line}" + ] = var_name + self.__electrolyzer_is_active_linear_segment_var[var_name] = ca.MX.sym(var_name) + self.__electrolyzer_is_active_linear_segment_bounds[var_name] = (0.0, 1.0) + for asset in [*self.energy_system_components.get("electricity_storage", [])]: var_name = f"{asset}__is_charging" self.__storage_charging_map[asset] = var_name @@ -165,6 +184,7 @@ def path_variables(self): variables.extend(self.__asset_is_switched_on_var.values()) variables.extend(self.__storage_charging_var.values()) variables.extend(self.__set_point_var.values()) + variables.extend(self.__electrolyzer_is_active_linear_segment_var.values()) variables.extend(self.__electricity_storage_discharge_var.values()) return variables @@ -174,6 +194,8 @@ def variable_is_discrete(self, variable): All variables that only can take integer values should be added to this function. """ + if variable in self.__electrolyzer_is_active_linear_segment_var: + return True if variable in self.__asset_is_switched_on_var: return True if variable in self.__storage_charging_var: @@ -197,6 +219,7 @@ def bounds(self): """ bounds = super().bounds() + bounds.update(self.__electrolyzer_is_active_linear_segment_bounds) bounds.update(self.__asset_is_switched_on_bounds) bounds.update(self.__storage_charging_bounds) bounds.update(self.__electricity_producer_upper_bounds) @@ -591,7 +614,7 @@ def __get_electrolyzer_gas_mass_flow_out( self, coef_a, coef_b, coef_c, electrical_power_input ) -> float: """ - This function returns the gas mass flow rate [kg/s] out of an electrolyzer based on the + This function returns the gas mass flow rate [g/s] out of an electrolyzer based on the theoretical efficiency curve: energy [Ws] / gas mass [kg] = (coef_a / electrical_power_input) + (b * electrical_power_input) + coef_c @@ -605,14 +628,13 @@ def __get_electrolyzer_gas_mass_flow_out( Returns ------- - gas mass flow rate produced by the electrolyzer [kg/s] + gas mass flow rate produced by the electrolyzer [g/s] """ if not isclose(electrical_power_input, 0.0): - eff = ( - (coef_a / electrical_power_input) + (coef_b * electrical_power_input) + coef_c - ) # Wh/g - gas_mass_flow_out = (1.0 / (eff * 3600)) * electrical_power_input + eff = (coef_a / electrical_power_input) + (coef_b * electrical_power_input) + coef_c + gas_mass_flow_out = (1.0 / eff) * electrical_power_input * (1 / (3600)) # g/s + else: gas_mass_flow_out = 0.0 @@ -623,14 +645,14 @@ def _get_linear_coef_electrolyzer_mass_vs_epower_fit( ) -> Tuple[np.array, np.array]: """ This function returns a set of coefficients to approximate a gas mass flow rate curve with - linear functions in the form of: gass mass flow rate [kg/s] = b + (a * electrical_power) + linear functions in the form of: gass mass flow rate [g/s] = b + (a * electrical_power) Parameters ---------- coef_a: electrolyzer efficience curve coefficent coef_b: electrolyzer efficience curve coefficent coef_c: electrolyzer efficience curve coefficent - n_lines: numebr of linear lines used to approximate the non-linear curve + n_lines: number of linear lines used to approximate the non-linear curve electrical_power_min: minimum electrical power consumed [W] electrical_power_max: maximum electrical power consumed [W] @@ -659,7 +681,7 @@ def __electrolyzer_path_constaint(self, ensemble_member): """ This functions add the constraints for the gas mass flow production based as a functions of electrical power input. This production is approximated by an electrolyzer efficience curve - (energy/gas mass vs electrical power input, [Ws/kg] vs [W]) which is then linearized. If + (energy/gas mass vs electrical power input, [KWh/kg] vs [W]) which is then linearized. If the load becomes lower than the minimum load both the gass_mass_flow and the electricity power should be 0. """ @@ -699,8 +721,19 @@ def __electrolyzer_path_constaint(self, ensemble_member): elif ( options["electrolyzer_efficiency"] == ElectrolyzerOption.LINEARIZED_THREE_LINES_WEAK_INEQUALITY + or options["electrolyzer_efficiency"] + == ElectrolyzerOption.LINEARIZED_THREE_LINES_EQUALITY ): - curve_fit_number_of_lines = 3 + if ( + options["electrolyzer_efficiency"] + == ElectrolyzerOption.LINEARIZED_THREE_LINES_WEAK_INEQUALITY + ): + curve_fit_number_of_lines = 3 + else: + curve_fit_number_of_lines = len( + self.__electrolyzer_is_active_linear_segment_map[asset] + ) + linear_coef_a, linear_coef_b = ( self._get_linear_coef_electrolyzer_mass_vs_epower_fit( parameters[f"{asset}.a_eff_coefficient"], @@ -742,11 +775,49 @@ def __electrolyzer_path_constaint(self, ensemble_member): ), ] ) - elif ( - options["electrolyzer_efficiency"] - == ElectrolyzerOption.LINEARIZED_THREE_LINES_EQUALITY - ): - raise NotImplementedError + if ( + options["electrolyzer_efficiency"] + == ElectrolyzerOption.LINEARIZED_THREE_LINES_EQUALITY + ): + is_line_segment_active_sum = 0.0 + for n_line in range(curve_fit_number_of_lines): + var_name = self.__electrolyzer_is_active_linear_segment_map[asset][ + f"line_{n_line}" + ] + is_line_segment_active = self.state(var_name) + # Equality constraint to map the input power to the output massflow + # of the electrolyzer + constraints.append( + ( + ( + gas_mass_flow_out_vect[n_line] + - gass_mass_out_linearized_vect[n_line] + - (1 - is_line_segment_active) * big_m + ) + / nominal, + -np.inf, + 0.0, + ), + ) + # + constraints.append( + ( + ( + gas_mass_flow_out_vect[n_line] + - gass_mass_out_linearized_vect[n_line] + + (1 - is_line_segment_active) * big_m + ) + / nominal, + 0.0, + np.inf, + ), + ) + is_line_segment_active_sum += is_line_segment_active + # Constraint to ensure that only one line is active, if the electrolyzer + # is switched on + constraints.append( + (is_line_segment_active_sum + (1 - asset_is_switched_on), 1.0, 1.0), + ) constraints.append( ((gas_mass_flow_out + asset_is_switched_on * big_m) / big_m, 0.0, np.inf) diff --git a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py index 460d40b20..f6e9ce957 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py @@ -32,7 +32,7 @@ def __init__(self, name, **modifiers): self.r = 1.0e-6 * self.length # TODO: temporary value self.nominal_head_loss = (self.Q_nominal * self.r * self.nominal_head) ** 0.5 - self.add_variable(Variable, "dH", nominal=self.Q_nominal * self.r) + self.add_variable(Variable, "dH") self.add_variable(Variable, "Q", nominal=self.Q_nominal) # Flow should be preserved diff --git a/src/mesido/workflows/multicommodity_simulator_workflow.py b/src/mesido/workflows/multicommodity_simulator_workflow.py index c24766f51..94e893285 100644 --- a/src/mesido/workflows/multicommodity_simulator_workflow.py +++ b/src/mesido/workflows/multicommodity_simulator_workflow.py @@ -483,6 +483,7 @@ def energy_system_options(self): self.gas_network_settings["network_type"] = NetworkSettings.NETWORK_TYPE_HYDROGEN self.gas_network_settings["minimize_head_losses"] = True options["include_asset_is_switched_on"] = True + options["estimated_velocity"] = 7.5 options["gas_storage_discharge_variables"] = True options["electricity_storage_discharge_variables"] = True diff --git a/tests/models/emerge/input/timeseries_short.csv b/tests/models/emerge/input/timeseries_short.csv index f80b1da59..9d6629bf8 100644 --- a/tests/models/emerge/input/timeseries_short.csv +++ b/tests/models/emerge/input/timeseries_short.csv @@ -21,8 +21,4 @@ DateTime,WindPark_9074,Elec,Hydrogen 2016-01-01Z 19:00:00,1132050786.8,3.307e-05,2.4 2016-01-01Z 20:00:00,1293624672.0,2.952e-05,2.4 2016-01-01Z 21:00:00,1720023264.3999999,3.01e-05,2.4 -2016-01-01Z 22:00:00,1814015745.6,2.457e-05,2.4 -2016-01-01Z 23:00:00,1836244191.8,2.2199999999999998e-05,2.4 -2016-01-02Z 00:00:00,1986853387.6000001,1.657e-05,2.4 -2016-01-02Z 01:00:00,1999994376.9999998,1.535e-05,2.4 -2016-01-02Z 02:00:00,1999819409.8,1.277e-05,2.4 \ No newline at end of file +2016-01-01Z 22:00:00,1814015745.6,2.457e-05,2.4 \ No newline at end of file diff --git a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries.csv b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries.csv index 7ae8dad9a..3eb40fd20 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries.csv +++ b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries.csv @@ -2,3 +2,4 @@ DateTime,elec,Hydrogen,WindPark_7f14 01-01-2019 00:00, 1.0, 1000000.0, 100000000.0 01-01-2019 01:00, 1.0, 1000000.0, 100000000.0 01-01-2019 02:00, 1.0, 1000000.0, 100000000.0 + diff --git a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_electrolyzer_general.csv b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_electrolyzer_general.csv new file mode 100644 index 000000000..104c60f5e --- /dev/null +++ b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_electrolyzer_general.csv @@ -0,0 +1,5 @@ +DateTime,elec,Hydrogen,WindPark_7f14 +01-01-2019 00:00, 10.0, 10000000.0, 100000000.0 +01-01-2019 01:00, 10.0, 10000000.0, 100000000.0 +01-01-2019 02:00, 10.0, 10000000.0, 100000000.0 + diff --git a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_equality_constraints.csv b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_equality_constraints.csv new file mode 100644 index 000000000..bf9687fc0 --- /dev/null +++ b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_equality_constraints.csv @@ -0,0 +1,4 @@ +DateTime,elec,Hydrogen,WindPark_7f14 +01-01-2019 00:00, 10.0, 10000000.0, 100000000.0 +01-01-2019 01:00, 10.0, 10000000.0, 300000000.0 +01-01-2019 02:00, 10.0, 10000000.0, 400000000.0 diff --git a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv index 0b899c189..f6ceb3580 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv +++ b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv @@ -1,4 +1,4 @@ DateTime,elec,Hydrogen,WindPark_7f14 01-01-2019 00:00, 1.0, 1000000.0, 100000000.0 -01-01-2019 01:00, 1.0, 1000000.0, 100000000.0 -01-01-2019 02:00, 1.0, 1000000.0, 49000000.0 +01-01-2019 01:00, 10.0, 10000000.0, 100000000.0 +01-01-2019 02:00, 10.0, 10000000.0, 49000000.0 diff --git a/tests/models/unit_cases_electricity/electrolyzer/src/example.py b/tests/models/unit_cases_electricity/electrolyzer/src/example.py index 0469f89d2..449ca54b6 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/src/example.py +++ b/tests/models/unit_cases_electricity/electrolyzer/src/example.py @@ -31,11 +31,8 @@ def __init__(self, state, price_profile, nominal): def function(self, optimization_problem, ensemble_member): canonical, sign = optimization_problem.alias_relation.canonical_signed(self.state) - symbols = ( - sign - * optimization_problem.state_vector(canonical, ensemble_member) - # * optimization_problem.variable_nominal(self.state) - ) + + symbols = sign * optimization_problem.state_vector(canonical, ensemble_member) price_profile = optimization_problem.get_timeseries(self.price_profile).values sum = 0.0 for i in range(len(price_profile)): @@ -152,6 +149,15 @@ def energy_system_options(self): return options +class MILPProblemEquality(MILPProblemInequality): + + def energy_system_options(self): + options = super().energy_system_options() + options["electrolyzer_efficiency"] = ElectrolyzerOption.LINEARIZED_THREE_LINES_EQUALITY + + return options + + if __name__ == "__main__": elect = run_optimization_problem( MILPProblemInequality, diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index cadb1ef07..8762dafc9 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -37,7 +37,7 @@ def test_electrolyzer_inequality(self): esdl_file_name="h2.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, - input_timeseries_file="timeseries.csv", + input_timeseries_file="timeseries_electrolyzer_general.csv", ) results = solution.extract_results() @@ -48,6 +48,7 @@ def test_electrolyzer_inequality(self): # Check: # - Compare the head loss to hard-coded values. Difference expected if an error # occours in the calculation of the gas kinematic viscosity. + # - Check head loss contraint v_inspect = results["Pipe_6ba6.GasOut.Q"] / solution.parameters(0)["Pipe_6ba6.area"] head_loss_max = darcy_weisbach.head_loss( @@ -146,7 +147,10 @@ def test_electrolyzer_inequality(self): coef_b, coef_c, n_lines=3, - electrical_power_min=0.0, + electrical_power_min=max( + solution.parameters(0)["Electrolyzer_fc66.minimum_load"], + 0.01 * solution.bounds()["Electrolyzer_fc66.ElectricityIn.Power"][1], + ), electrical_power_max=solution.bounds()["Electrolyzer_fc66.ElectricityIn.Power"][1], ) # TODO: Add test below once the mass flow is coupled to the volumetric flow rate. Currently @@ -160,6 +164,16 @@ def test_electrolyzer_inequality(self): results["Electrolyzer_fc66.ElectricityIn.Power"] * a[i] + b[i] + 1.0e-3, ) + # Check electrolyzer input power + np.testing.assert_allclose( + results["Electrolyzer_fc66.ElectricityIn.Power"], + [1.00000000e08, 1.00000000e08, 1.00000000e08], + ) + # Check electrolyzer output massflow + np.testing.assert_allclose( + results["Electrolyzer_fc66.Gas_mass_flow_out"], [431.367058, 431.367058, 431.367058] + ) + # ----------------------------------------------------------------------------------------- # Do cost checks @@ -209,9 +223,17 @@ def test_electrolyzer_minimum_power(self): LINEARIZED_THREE_LINES_WEAK_INEQUALITY. Checks: - - Input power to the electrolyzer is 0 - - Output gas is 0 - - Electrolyzer is switched off + - Input power to the electrolyzer is 0 when available wind power is 49MW, as the + threshold for the electrolyzer is 50MW + - Output gas is 0 when available wind power is 49MW, as the threshold for the + electrolyzer is 50MW + - Electrolyzer is switched off when available wind power is 49MW, as the threshold for the + electrolyzer is 50MW + - Input power is greater than 0 when available power is greater than 50MW + - Output gas is greater than 0 when available power is greater than 50MW + - Electrolyzer is switched on when available power is greater than 50MW + - Electrolyzer input power equals hardcoded values + - Electrolyzer output massflow equals harcoded values """ import models.unit_cases_electricity.electrolyzer.src.example as example @@ -246,6 +268,33 @@ def test_electrolyzer_minimum_power(self): results["Electrolyzer_fc66__asset_is_switched_on"][-1], 0, ) + # Check that the input power is greater than 0 + np.testing.assert_array_less( + np.zeros(2), + results["Electrolyzer_fc66.ElectricityIn.Power"][:-1], + ) + # Check that the output gas is 0 + np.testing.assert_array_less( + np.zeros(2), + results["Electrolyzer_fc66.Gas_mass_flow_out"][:-1], + ) + # Check that the electrolyzer is switched off + np.testing.assert_allclose( + results["Electrolyzer_fc66__asset_is_switched_on"][:-1], + np.ones(2), + ) + # Check electrolyzer input power + # np.testing.assert_allclose( + # results["Electrolyzer_fc66.ElectricityIn.Power"], + # [ 1.00000000e+08, 1.00000000e+08, -3.59365315e-05], + # atol=1e-4, + # ) + # Check electrolyzer output massflow + # np.testing.assert_allclose( + # results["Electrolyzer_fc66.Gas_mass_flow_out"], + # [431.367058, 431.367058, 0. ], + # atol=1e-4, + # ) def test_electrolyzer_constant_efficiency(self): """ @@ -255,6 +304,7 @@ def test_electrolyzer_constant_efficiency(self): Checks: - Check the constant efficiency formulation of the electrolyzer + - Check hardcoded values for input power and output massflow os the electrolyzer """ import models.unit_cases_electricity.electrolyzer.src.example as example @@ -270,7 +320,7 @@ def test_electrolyzer_constant_efficiency(self): esdl_file_name="h2.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, - input_timeseries_file="timeseries.csv", + input_timeseries_file="timeseries_electrolyzer_general.csv", ) results = solution.extract_results() @@ -282,13 +332,149 @@ def test_electrolyzer_constant_efficiency(self): results["Electrolyzer_fc66.ElectricityIn.Power"], ) + # Check input power values. Not really needed since the massflow check is equivalent + # np.testing.assert_allclose( + # results["Electrolyzer_fc66.ElectricityIn.Power"], + # [1.00000000e+08, 1.00000000e+08, 1.00000000e+08], + # atol=1e-4, + # ) + # Check output massflow values + np.testing.assert_allclose( + results["Electrolyzer_fc66.Gas_mass_flow_out"], + [440.91710758, 440.91710758, 440.91710758], + atol=1e-4, + ) + + def test_electrolyzer_equality_constraint(self): + """ + This test is to check the functioning the example with an offshore wind farm in combination + with an electrolyzer and hydrogen storage. The electrolyzer is modelled as the option + LINEARIZED_THREE_LINES_EQUALITY. -if __name__ == "__main__": - import time + Checks: + - Check that only one line is activated + - Check that the expected lines are activated, depending on the input power + - Check that the output massflow lies on the line segment + - Check hardcoded values - start_time = time.time() - a = TestElectrolyzer() - a.test_electrolyzer_inequality() - a.test_electrolyzer_minimum_power() - a.test_electrolyzer_constant_efficiency() - print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) + """ + import models.unit_cases_electricity.electrolyzer.src.example as example + from models.unit_cases_electricity.electrolyzer.src.example import ( + MILPProblemEquality, + ) + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_esdl_mesido_optimization( + MILPProblemEquality, + base_folder=base_folder, + esdl_file_name="h2.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_equality_constraints.csv", + ) + + results = solution.extract_results() + + # Check that there is only one activated line per timestep + for timestep in range(len(results["Electrolyzer_fc66__line_0_active"])): + np.testing.assert_allclose( + ( + results["Electrolyzer_fc66__line_0_active"][timestep] + + results["Electrolyzer_fc66__line_1_active"][timestep] + + results["Electrolyzer_fc66__line_2_active"][timestep] + + (1 - results["Electrolyzer_fc66__asset_is_switched_on"][timestep]) + ), + 1.0, + ) + # Check that for the first, second and third timesteps, only the lines + # 0, 1 and 2 are activated (respectively), being the wind power 100, 300 + # and 400 MW. + for idx in range(3): + np.testing.assert_allclose( + ( + results[f"Electrolyzer_fc66__line_{idx}_active"][idx] + + (1 - results["Electrolyzer_fc66__asset_is_switched_on"][idx]) + ), + 1.0, + ) + # Check that the output massflow lies on the line segment + coef_a = solution.parameters(0)["Electrolyzer_fc66.a_eff_coefficient"] + coef_b = solution.parameters(0)["Electrolyzer_fc66.b_eff_coefficient"] + coef_c = solution.parameters(0)["Electrolyzer_fc66.c_eff_coefficient"] + a, b = solution._get_linear_coef_electrolyzer_mass_vs_epower_fit( + coef_a, + coef_b, + coef_c, + n_lines=3, + electrical_power_min=max( + solution.parameters(0)["Electrolyzer_fc66.minimum_load"], + 0.01 * solution.bounds()["Electrolyzer_fc66.ElectricityIn.Power"][1], + ), + electrical_power_max=solution.bounds()["Electrolyzer_fc66.ElectricityIn.Power"][1], + ) + for idx in range(3): + np.testing.assert_allclose( + results["Electrolyzer_fc66.Gas_mass_flow_out"][idx], + results["Electrolyzer_fc66.ElectricityIn.Power"][idx] * a[idx] + b[idx], + ) + # Check hardcoded values + np.testing.assert_allclose( + results["Electrolyzer_fc66.Gas_mass_flow_out"], + [431.367058, 1285.95625642, 1673.61498453], + atol=1e-4, + ) + + def test_electrolyzer_equality_constraint_inactive_line(self): + """ + This test is to check the functioning the example with an offshore wind farm in combination + with an electrolyzer and hydrogen storage. The electrolyzer is modelled as the option + LINEARIZED_THREE_LINES_EQUALITY. + + Checks: + - Check that no line is active when the electrolyzer is switched off + - Check that the input power is 0 when the electrolyzer is switched off + - Check that the output massflow is 0 when the electrolyzer is switched off + + """ + import models.unit_cases_electricity.electrolyzer.src.example as example + from models.unit_cases_electricity.electrolyzer.src.example import ( + MILPProblemEquality, + ) + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_esdl_mesido_optimization( + MILPProblemEquality, + base_folder=base_folder, + esdl_file_name="h2.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_minimum_electrolyzer_power.csv", + ) + + results = solution.extract_results() + + # Input power to the electrolyzer is below the minimum one, + # such that no line should be active + np.testing.assert_allclose( + ( + results["Electrolyzer_fc66__line_0_active"][-1] + + results["Electrolyzer_fc66__line_1_active"][-1] + + results["Electrolyzer_fc66__line_2_active"][-1] + + (1 - results["Electrolyzer_fc66__asset_is_switched_on"][-1]) + ), + 1.0, + ) + # Check that the input power is 0 + np.testing.assert_allclose( + results["Electrolyzer_fc66.ElectricityIn.Power"][-1], + 0.0, + atol=1e-4, + ) + # Check that the output gas is 0 + np.testing.assert_allclose( + results["Electrolyzer_fc66.Gas_mass_flow_out"][-1], + 0.0, + atol=1e-4, + ) diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py index dac54d14a..1e82ac1d7 100644 --- a/tests/test_multicommodity_simulator.py +++ b/tests/test_multicommodity_simulator.py @@ -513,7 +513,7 @@ def test_multi_commodity_simulator_emerge_head_losses(self): # check battery only discharged if not enough windpower for electrolyzer discharge_battery = windfarm_power < electrolyzer_power_bound - np.testing.assert_array_less(battery_power[discharge_battery], 0.0 + tol) + np.testing.assert_array_less(battery_power[discharge_battery], 1.0) charge_battery = windfarm_power > electrolyzer_power_bound np.testing.assert_array_less(0.0, battery_power[charge_battery]) @@ -533,7 +533,12 @@ def test_multi_commodity_simulator_emerge_head_losses(self): head_loss = results[f"{pipe}.dH"] head_loss_full_var = results[f"{pipe}.__head_loss"] # If this test fails there is most likely a scaling issue. - np.testing.assert_allclose(np.abs(np.asarray(head_loss)), head_loss_full_var) + indexes = np.abs(v_pipe) > 0.0 + + indexes[0] = False + np.testing.assert_allclose( + np.abs(np.asarray(head_loss[indexes])), head_loss_full_var[indexes] + ) for i in range(1, len(v_pipe)): v = v_pipe[i] line_num = velocities.searchsorted(abs(v)) @@ -562,10 +567,6 @@ def test_multi_commodity_simulator_emerge_head_losses(self): b = dw_headloss_min - a * velocities[line_num - 1] headloss_calc = a * v + b np.testing.assert_allclose(abs(head_loss[i]), headloss_calc, 0.1) - # else: - # np.testing.assert_allclose(abs(head_loss[i]), 0.0) - - print("a") if __name__ == "__main__": diff --git a/tests/utils_tests.py b/tests/utils_tests.py index c45239a30..ce86f59cc 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -364,7 +364,7 @@ def electric_power_conservation_test(solution, results): - Power and current conservation in busses. - Power conservation in transformers, upto now no losses in transformer. """ - tol = 1e-4 + tol = 1e-2 energy_sum = np.zeros(len(solution.times())) consumers = solution.energy_system_components_get( From 327eb4db709a2a3b4247dd0c598f4f63a45a376b Mon Sep 17 00:00:00 2001 From: Femke Janssen Date: Thu, 18 Jul 2024 09:52:24 +0200 Subject: [PATCH 194/376] resolved issue where heatlosses are turned off for cold delivery, due to a bug in the temperature selection where the ground temperature was used in pipes --- src/mesido/esdl/esdl_heat_model.py | 2 ++ src/mesido/heat_physics_mixin.py | 10 +++++----- tests/test_cold_demand.py | 2 +- tests/utils_tests.py | 12 ------------ 4 files changed, 8 insertions(+), 18 deletions(-) diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 12682bbd8..71d35f9ac 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1002,6 +1002,8 @@ def convert_heat_pump( # In this case we only have the secondary side ports, here we assume a air-water HP if len(asset.in_ports) == 1 and len(asset.out_ports) == 1: + #TODO: the power filled in at the heatpmp should always be the electric power, thus, + # the max heat supply should be power*cop _, modifiers = self.convert_heat_source(asset) return AirWaterHeatPump, modifiers # In this case we only have the secondary side ports, here we assume a air-water HP elec diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index b30e69df1..a5bd5ad8b 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -1594,10 +1594,6 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): for p in self.energy_system_components.get("heat_pipe", []): cp = parameters[f"{p}.cp"] rho = parameters[f"{p}.rho"] - # Note that during cold delivery the line can be colder than the ground temperature. - # In this case we have to bound the heat flowing in the line with the ground - # temperature instead, as the line can heat up to at maximum the ground temperature. - temp = max(parameters[f"{p}.temperature"], parameters[f"{p}.T_ground"]) flow_dir_var = self._heat_pipe_to_flow_direct_map[p] flow_dir = self.state(flow_dir_var) @@ -1619,6 +1615,7 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): for heat in [scaled_heat_in, scaled_heat_out]: if self.energy_system_options()["neglect_pipe_heat_losses"]: + temp = parameters[f"{p}.temperature"] if len(temperatures) == 0: constraints.append( ( @@ -1630,7 +1627,6 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): else: for temperature in temperatures: temperature_is_selected = self.state(f"{carrier}_{temperature}") - temperature = max(temperature, parameters[f"{p}.T_ground"]) constraints.append( ( ( @@ -1656,6 +1652,10 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): ) ) else: + # Note that during cold delivery the line can be colder than the ground temperature. + # In this case we have to bound the heat flowing in the line with the ground + # temperature instead, as the line can heat up to at maximum the ground temperature. + temp = max(parameters[f"{p}.temperature"], parameters[f"{p}.T_ground"]) assert big_m > 0.0 carrier = parameters[f"{p}.carrier_id"] diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 0418edfbe..7a922af6f 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -103,7 +103,7 @@ class HeatingCoolingProblem(HeatProblem): # An issue has been created for this def energy_system_options(self): options = super().energy_system_options() - options["neglect_pipe_heat_losses"] = False + options["neglect_pipe_heat_losses"] = True return options def constraints(self, ensemble_member): diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 8b2c81881..1c9b21526 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -145,18 +145,6 @@ def heat_to_discharge_test(solution, results): for d in solution.energy_system_components.get("cold_demand", []): cp = solution.parameters(0)[f"{d}.cp"] rho = solution.parameters(0)[f"{d}.rho"] - # return_id = solution.parameters(0)[f"{d}.T_return_id"] - # if f"{return_id}_temperature" in results.keys(): - # return_t = results[f"{return_id}_temperature"] - # else: - # return_t = solution.parameters(0)[f"{d}.T_return"] - # supply_id = solution.parameters(0)[f"{d}.T_supply_id"] - # if f"{supply_id}_temperature" in results.keys(): - # supply_t = results[f"{supply_id}_temperature"] - # else: - # supply_t = solution.parameters(0)[f"{d}.T_supply"] - # dt = supply_t - return_t - # dt = solution.parameters(0)[f"{d}.dT"] supply_t, return_t, dt = _get_component_temperatures(solution, results, d) np.testing.assert_allclose( results[f"{d}.Cold_demand"], From f13ffbccdfcfa17352aa34dcee3275c72804ec3f Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 22 Jul 2024 11:12:30 +0200 Subject: [PATCH 195/376] Sequential mc simulator (#125) Implementation of sequential staged class and run function for the multicommodity simulator. A defined windowsize is used to split up the problem in multiple staged optimizations. The sequential staged approach passes on the last timestep of the stage to the next stage as the initial condition, to ensure continuity of the timehorizon of the assets. The test checks also the condition in which the result between the staged and unstaged are the same and also the condition when they might be different. --------- Co-authored-by: Rojer --- src/mesido/electricity_physics_mixin.py | 11 +- src/mesido/gas_physics_mixin.py | 8 +- .../multicommodity_simulator_workflow.py | 176 +++++++++++++++++- ...e_battery_priorities_limited_capacity.esdl | 147 +++++++++++++++ tests/models/emerge/src/example.py | 35 ++-- tests/test_multicommodity_simulator.py | 100 +++++++++- 6 files changed, 458 insertions(+), 19 deletions(-) create mode 100644 tests/models/emerge/model/emerge_battery_priorities_limited_capacity.esdl diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index fa6c34048..9828605ee 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -1,3 +1,4 @@ +import copy import logging from enum import IntEnum from math import isclose @@ -146,11 +147,14 @@ def pre(self): self.__storage_charging_bounds[var_name] = (0.0, 1.0) if options["electricity_storage_discharge_variables"]: - bound_storage = self.bounds()[f"{asset}.Effective_power_charging"][0] + bound_storage = -self.bounds()[f"{asset}.Effective_power_charging"][0] + if isinstance(bound_storage, Timeseries): + bound_storage = copy.deepcopy(bound_storage) + bound_storage.values[bound_storage.values < 0] = 0.0 var_name = f"{asset}__effective_power_discharging" self.__electricity_storage_discharge_map[asset] = var_name self.__electricity_storage_discharge_var[var_name] = ca.MX.sym(var_name) - self.__electricity_storage_discharge_bounds[var_name] = (0, -bound_storage) + self.__electricity_storage_discharge_bounds[var_name] = (0, bound_storage) self.__electricity_storage_discharge_nominals[var_name] = self.variable_nominal( f"{asset}.Effective_power_charging" ) @@ -264,6 +268,9 @@ def __update_electricity_producer_upper_bounds(self): if f"{asset}.maximum_electricity_source" in timeseries_io_names: lb = Timeseries(t, np.zeros(len(t))) ub = self.get_timeseries(f"{asset}.maximum_electricity_source") + start_indx = np.where(ub.times == t[0])[0][0] + end_indx = np.where(ub.times == t[-1])[0][0] + 1 + ub = Timeseries(t, (np.asarray(ub.values)[start_indx:end_indx]).tolist()) self.__electricity_producer_upper_bounds[f"{asset}.Electricity_source"] = (lb, ub) def __electricity_producer_set_point_constraints(self, ensemble_member): diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index b8ec6e508..fc462374a 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -1,3 +1,4 @@ +import copy import logging import casadi as ca @@ -258,11 +259,14 @@ def _get_min_bound(bound): if options["gas_storage_discharge_variables"]: for storage in self.energy_system_components.get("gas_tank_storage", []): - bound_storage_q = self.bounds()[f"{storage}.GasIn.Q"][0] + bound_storage_q = -self.bounds()[f"{storage}.GasIn.Q"][0] + if isinstance(bound_storage_q, Timeseries): + bound_storage_q = copy.deepcopy(bound_storage_q) + bound_storage_q.values[bound_storage_q.values < 0] = 0.0 var_name = f"{storage}__Q_discharge" self.__gas_storage_discharge_map[storage] = var_name self.__gas_storage_discharge_var[var_name] = ca.MX.sym(var_name) - self.__gas_storage_discharge_bounds[var_name] = (0, -bound_storage_q) + self.__gas_storage_discharge_bounds[var_name] = (0, bound_storage_q) self.__gas_storage_discharge_nominals[var_name] = self.variable_nominal( f"{storage}.GasIn.Q" ) diff --git a/src/mesido/workflows/multicommodity_simulator_workflow.py b/src/mesido/workflows/multicommodity_simulator_workflow.py index 94e893285..308bf319f 100644 --- a/src/mesido/workflows/multicommodity_simulator_workflow.py +++ b/src/mesido/workflows/multicommodity_simulator_workflow.py @@ -27,6 +27,7 @@ CachingQPSol, SinglePassGoalProgrammingMixin, ) +from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem DB_HOST = "172.17.0.2" @@ -44,6 +45,29 @@ WATT_TO_KILO_WATT = 1.0e3 +def _extract_values_timeseries(v, type_r=None): + if isinstance(v, Timeseries): + v = v.values + if type_r == "min": + v = min(v) + elif type_r == "max": + v = max(v) + return v + + +class OptimisationOverview: + """ + This class is used to combine the optimisation results, bounds, parameters and aliases + needed for post-processing and visualisation. + """ + + def __init__(self, total_results, bounds, parameters, aliases): + self.results = total_results + self.bounds = bounds + self.parameters = parameters + self.aliases = aliases + + # ------------------------------------------------------------------------------------------------- # Step 1: # Match the target demand specified @@ -393,11 +417,16 @@ def __create_merit_path_goals(self, asset_info, max_value_merit, index_start_of_ # Marginal costs for discharging > marginal cost for charging variable_name = f"{asset}.{asset_variable_map[asset]['charge']}" + func_range = self.bounds()[variable_name] + v1 = _extract_values_timeseries(func_range[0], "min") + v2 = _extract_values_timeseries(func_range[1], "max") + func_range = (v1, v2) + goals.append( MaximizeStorageGoalMerit( variable_name, marginal_priority, - self.bounds()[variable_name], + func_range, self.variable_nominal(variable_name), ) ) @@ -415,11 +444,16 @@ def __create_merit_path_goals(self, asset_info, max_value_merit, index_start_of_ variable_name = f"{asset}{asset_variable_map[asset]['discharge']}" + func_range = self.bounds()[variable_name] + v1 = _extract_values_timeseries(func_range[0], "min") + v2 = _extract_values_timeseries(func_range[1], "max") + func_range = (v1, v2) + goals.append( MinimizeStorageGoalMerit( variable_name, marginal_priority, - self.bounds()[variable_name], + func_range, self.variable_nominal(variable_name), ) ) @@ -649,6 +683,144 @@ def solver_options(self): return options +def run_sequatially_staged_simulation( + multi_commodity_simulator_class, simulation_window_size=2, *args, **kwargs +): + """ + This function is to run the MultiCommoditySimulator class in a staged manner where the stages + are sequantial parts of the time horizon. This is done to make the problem smaller and allow + for quicker run of the optimization/simulation. To ensure a physically sound result the + variables that affect the outcome of the next stage are constrained by setting bounds, e.g. the + amount of stored energy in a storage. + + Parameters + ---------- + multi_commodity_simulator_class : The problem class to run + simulation_window_size : The amount of indices to run in a single stage + + Returns + ------- + The results dict where all the time results are concatenated. + """ + + class MultiCommoditySimulatorTimeSequential(multi_commodity_simulator_class): + """ + This Problem class is used to run the MultiCommoditySimulator class in a sequantial manner + to reduce computational time. This class enables this by allowing to run a part of the + timeseries and setting bounds on the (initial-)state variables. + """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + self.__start_time_index = kwargs.get("start_index", None) + self.__end_time_index = kwargs.get("end_index", None) + self._full_time_series = None + + self.__storage_initial_state_bounds = kwargs.get("storage_initial_state_bounds", {}) + + def times(self, variable=None) -> np.ndarray: + """ + In this function the part of the time-horizon is enforced. Note that the full + time-horizon is also set to an internal member for enabling setting bounds to the next + sequantial optimization. + """ + if self._full_time_series is None: + self._full_time_series = super().times(variable) + + if self.__start_time_index is not None and self.__end_time_index is not None: + return super().times(variable)[self.__start_time_index : self.__end_time_index] + elif self.__start_time_index is not None: + return super().times(variable)[self.__start_time_index :] + elif self.__end_time_index is not None: + return super().times(variable)[: self.__end_time_index] + else: + return super().times(variable) + + def bounds(self): + """ + Here we set bounds on the initial state to ensure that the sequantial simulation is a + physcially valid. + """ + bounds = super().bounds() + bounds.update(self.__storage_initial_state_bounds) + return bounds + + # Note that the window size should be larger than 1 otherwise this function is has no + # benefit and the writing of the results dict will fail. + assert simulation_window_size >= 2 + + total_results = None + # This is an initial value for end_time, will be corrected after the first stage + end_time = 2 * simulation_window_size + end_time_confirmed = False + storage_initial_state_bounds = {} + + # TODO: make this dict complete for all relevant assets and their associated variables. + constrained_assets = { + "electricity_storage": ["Stored_electricity", "Effective_power_charging"], + "gas_tank_storage": ["Stored_gas_mass", "Gas_tank_flow"], + } + + tic = time.time() + for simulated_window in range(0, end_time, simulation_window_size): + + # Note that the end time is not necessarily a multiple of simulation_window_size + sub_end_time = min(end_time, simulated_window + simulation_window_size) + + # max operation for start_index to avoid the overlap function in the first stage + solution = run_optimization_problem( + MultiCommoditySimulatorTimeSequential, + start_index=max(simulated_window - 1, 0), + end_index=sub_end_time, + storage_initial_state_bounds=storage_initial_state_bounds, + **kwargs, + ) + if not end_time_confirmed: + end_time = len(solution._full_time_series) + end_time_confirmed = True + results = solution.extract_results() + + # TODO: check if we now capture all relevant variables. + if total_results is None: + total_results = results + aliases = solution.alias_relation._canonical_variables_map + bounds = solution.bounds() + parameters = solution.parameters(0) + else: + for key, data in results.items(): + if len(total_results[key]) > 1: + total_results[key] = np.concatenate((total_results[key], data[1:])) + + if sub_end_time < end_time: + for asset_type, variables in constrained_assets.items(): + for asset in solution.energy_system_components.get(asset_type, []): + sub_time_series = solution._full_time_series[ + simulated_window + - 1 + + simulation_window_size : min( + end_time, simulated_window + 2 * simulation_window_size + ) + ] + for variable in variables: + lb_value = _extract_values_timeseries( + solution.bounds()[f"{asset}.{variable}"][0], "min" + ) + ub_value = _extract_values_timeseries( + solution.bounds()[f"{asset}.{variable}"][1], "max" + ) + lb_values = [lb_value] * len(sub_time_series) + ub_values = [ub_value] * len(sub_time_series) + lb_values[0] = ub_values[0] = results[f"{asset}.{variable}"][-1] + lb = Timeseries(sub_time_series, lb_values) + ub = Timeseries(sub_time_series, ub_values) + storage_initial_state_bounds[f"{asset}.{variable}"] = (lb, ub) + + print(time.time() - tic) + + return OptimisationOverview(total_results, bounds, parameters, aliases) + + # ------------------------------------------------------------------------------------------------- @main_decorator def main(runinfo_path, log_level): diff --git a/tests/models/emerge/model/emerge_battery_priorities_limited_capacity.esdl b/tests/models/emerge/model/emerge_battery_priorities_limited_capacity.esdl new file mode 100644 index 000000000..002d0ff68 --- /dev/null +++ b/tests/models/emerge/model/emerge_battery_priorities_limited_capacity.esdl @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/emerge/src/example.py b/tests/models/emerge/src/example.py index a844ba9b9..38c7e041d 100644 --- a/tests/models/emerge/src/example.py +++ b/tests/models/emerge/src/example.py @@ -9,6 +9,10 @@ from mesido.head_loss_class import HeadLossOption from mesido.techno_economic_mixin import TechnoEconomicMixin from mesido.workflows.io.write_output import ScenarioOutput +from mesido.workflows.multicommodity_simulator_workflow import ( + MultiCommoditySimulatorNoLosses, + run_sequatially_staged_simulation, +) from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, @@ -18,7 +22,6 @@ LinearizedOrderGoalProgrammingMixin, ) from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin -from rtctools.util import run_optimization_problem class MaxHydrogenProduction(Goal): @@ -318,14 +321,24 @@ def post(self): if __name__ == "__main__": tic = time.time() - for _ in range(10): - elect = run_optimization_problem( - EmergeTest, - esdl_file_name="emerge_solar_battery.esdl", - esdl_parser=ESDLFileParser, - profile_reader=ProfileReaderFromFile, - input_timeseries_file="timeseries_with_PV.csv", - ) + # for _ in range(10): + # elect = run_optimization_problem( + # EmergeTest, + # esdl_file_name="emerge_solar_battery.esdl", + # esdl_parser=ESDLFileParser, + # profile_reader=ProfileReaderFromFile, + # input_timeseries_file="timeseries_with_PV.csv", + # ) + + solution = run_sequatially_staged_simulation( + multi_commodity_simulator_class=MultiCommoditySimulatorNoLosses, + simulation_window_size=20, + esdl_file_name="emerge_battery_priorities.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_short.csv", + ) + print(time.time() - tic) # elect = run_optimization_problem( # EmergeTest, @@ -334,5 +347,5 @@ def post(self): # profile_reader=ProfileReaderFromFile, # input_timeseries_file="timeseries.csv", # ) - results = elect.extract_results() - a = 1 + # results = elect.extract_results() + # a = 1 diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py index 1e82ac1d7..04cdaea0d 100644 --- a/tests/test_multicommodity_simulator.py +++ b/tests/test_multicommodity_simulator.py @@ -9,6 +9,7 @@ from mesido.workflows.multicommodity_simulator_workflow import ( MultiCommoditySimulator, MultiCommoditySimulatorNoLosses, + run_sequatially_staged_simulation, ) import numpy as np @@ -31,7 +32,7 @@ def check_electrolyzer_efficiency(tol, electrolyzer_gas, electrolyzer_power, esd esdl_electrolyzer.attributes["effMinLoad"], esdl_electrolyzer.attributes["efficiency"], ) - np.testing.assert_array_less(min(provided_efficiencies), efficiency[electrolyzer_power > 0]) + np.testing.assert_array_less(min(provided_efficiencies), efficiency[electrolyzer_power > 1]) np.testing.assert_array_less( efficiency[electrolyzer_power > 0], max(provided_efficiencies) + tol ) @@ -534,7 +535,6 @@ def test_multi_commodity_simulator_emerge_head_losses(self): head_loss_full_var = results[f"{pipe}.__head_loss"] # If this test fails there is most likely a scaling issue. indexes = np.abs(v_pipe) > 0.0 - indexes[0] = False np.testing.assert_allclose( np.abs(np.asarray(head_loss[indexes])), head_loss_full_var[indexes] @@ -568,6 +568,102 @@ def test_multi_commodity_simulator_emerge_head_losses(self): headloss_calc = a * v + b np.testing.assert_allclose(abs(head_loss[i]), headloss_calc, 0.1) + def test_multi_commodity_simulator_sequential_staged(self): + """ + Test to run the multicommodity simulator including a battery and gas storage using + the sequential staged optimization approach. The results between the staged and unstaaged + approach should be equal if the assets in the system do not have an internal state that + makes timesteps interdependent (like Stored_energy for a battery) or when the bounds on + those states do not limit the problem. + + Checks: + - that the staged approach results in same values as the unstaged approach. + - Verify that under limited case bounds are set correctly. + """ + import models.emerge.src.example as example + + base_folder = Path(example.__file__).resolve().parent.parent + + solution_staged_unbounded = run_sequatially_staged_simulation( + multi_commodity_simulator_class=MultiCommoditySimulatorNoLosses, + simulation_window_size=20, + base_folder=base_folder, + esdl_file_name="emerge_battery_priorities.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_short.csv", + ) + + results_staged = solution_staged_unbounded.results + + solution_unstaged = run_optimization_problem( + MultiCommoditySimulatorNoLosses, + base_folder=base_folder, + esdl_file_name="emerge_battery_priorities.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_short.csv", + ) + + results_unstaged = solution_unstaged.extract_results() + + # Checking that the results are the same. + for key, value in results_unstaged.items(): + value_staged = results_staged[key] + np.testing.assert_allclose(value, value_staged) + + solution_staged_bounded = run_sequatially_staged_simulation( + multi_commodity_simulator_class=MultiCommoditySimulatorNoLosses, + simulation_window_size=20, + base_folder=base_folder, + esdl_file_name="emerge_battery_priorities_limited_capacity.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_short.csv", + ) + + results_staged_bounded = solution_staged_bounded.results + + solution_unstaged_bounded = run_optimization_problem( + MultiCommoditySimulatorNoLosses, + base_folder=base_folder, + esdl_file_name="emerge_battery_priorities_limited_capacity.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_short.csv", + ) + + results_unstaged_bounded = solution_unstaged_bounded.extract_results() + + check_different = np.sum( + np.abs( + results_staged_bounded["Battery_4688.Stored_electricity"] + - results_unstaged_bounded["Battery_4688.Stored_electricity"] + ) + ) + + assert check_different > 0 + + class MultiCommoditySimulatorNoLossesWin(MultiCommoditySimulatorNoLosses): + def times(self, variable=None) -> np.ndarray: + return super().times(variable)[:20] + + solution_unstaged_bounded_win = run_optimization_problem( + MultiCommoditySimulatorNoLossesWin, + base_folder=base_folder, + esdl_file_name="emerge_battery_priorities_limited_capacity.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_short.csv", + ) + + results_unstaged_bounded_win = solution_unstaged_bounded_win.extract_results() + + np.testing.assert_allclose( + results_staged_bounded["Battery_4688.Stored_electricity"][20], + results_unstaged_bounded_win["Battery_4688.Stored_electricity"][-1], + ) + if __name__ == "__main__": import time From ea47aa864f7d6ed7c15378ed3535d2baa240a134 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 5 Aug 2024 15:21:16 +0200 Subject: [PATCH 196/376] Update on the structure of the profiles provided as output to the database(#126) Profile measurement is set to carrier id and the filters are updated with the asset_id and the quotes using the ampersand symbol. --- examples/PoCTutorial/src/run_grow_tutorial.py | 11 +++++++++++ src/mesido/workflows/io/write_output.py | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/examples/PoCTutorial/src/run_grow_tutorial.py b/examples/PoCTutorial/src/run_grow_tutorial.py index bf62064cf..c74d0c061 100644 --- a/examples/PoCTutorial/src/run_grow_tutorial.py +++ b/examples/PoCTutorial/src/run_grow_tutorial.py @@ -11,6 +11,16 @@ class EndScenarioSizingStagedHighs(EndScenarioSizingStagedHIGHS): if __name__ == "__main__": import time + kwargs = { + "write_result_db_profiles": True, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + } + start_time = time.time() base_folder = Path(__file__).resolve().parent.parent solution = run_end_scenario_sizing( @@ -18,6 +28,7 @@ class EndScenarioSizingStagedHighs(EndScenarioSizingStagedHIGHS): base_folder=base_folder, esdl_file_name="PoC Tutorial.esdl", esdl_parser=ESDLFileParser, + **kwargs, ) print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 8de8efd54..24c624351 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -1264,13 +1264,14 @@ def _name_to_asset(name): profile_attributes = esdl.InfluxDBProfile( database=output_energy_system_id, - measurement=asset_name, + measurement=carrier_id, field=profiles.profile_header[-1], port=self.influxdb_port, host=self.influxdb_host, startDate=start_date_time, endDate=end_date_time, id=str(uuid.uuid4()), + filters='"assetId"=' + f"'{str(asset_id)}'", ) # Assign quantity and units variable if variable in ["Heat_flow", "Pump_power"]: From 45579a5a24e14d0917279efa02868e5a2077567c Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 5 Aug 2024 16:03:34 +0200 Subject: [PATCH 197/376] Removed unfit check in log of postprocessing (#127) Removed warning "Heat direction of pipe might be wrong" --- src/mesido/heat_physics_mixin.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index b30e69df1..768628d2c 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -3509,15 +3509,6 @@ def post(self): parameters = self.parameters(0) options = self.energy_system_options() - # The flow directions are the same as the heat directions if the - # return (i.e. cold) line has zero heat throughout. Here we check that - # this is indeed the case. - for p in self.cold_pipes: - heat_in = results[f"{p}.HeatIn.Heat"] - heat_out = results[f"{p}.HeatOut.Heat"] - if np.any(heat_in > 1.0) or np.any(heat_out > 1.0): - logger.warning(f"Heat directions of pipes might be wrong. Check {p}.") - if self.heat_network_settings["head_loss_option"] != HeadLossOption.NO_HEADLOSS: for p in self.energy_system_components.get("heat_pipe", []): head_diff = results[f"{p}.HeatIn.H"] - results[f"{p}.HeatOut.H"] From dcfec3152260e064bcea7431f29eb9037c61ef16 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 6 Aug 2024 14:25:17 +0200 Subject: [PATCH 198/376] formatting --- tests/models/wko/src/example.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index bafca1f0c..dfeb9ccc6 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -166,7 +166,6 @@ def path_goals(self): The appended list of goals """ goals = super().path_goals().copy() - self.energy_system_components["heat_source"] for s in self.energy_system_components["heat_source"]: goals.append(MinimizeSourcesHeatGoal(s)) From 5b89dcff7b036bed3ddddc98f44c1accdda68a68 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 6 Aug 2024 14:47:23 +0200 Subject: [PATCH 199/376] formatting --- src/mesido/esdl/esdl_heat_model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index e39831e40..76bcb89e7 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1007,7 +1007,7 @@ def convert_heat_pump( # In this case we only have the secondary side ports, here we assume a air-water HP if len(asset.in_ports) == 1 and len(asset.out_ports) == 1: - #TODO: the power filled in at the heatpmp should always be the electric power, thus, + # TODO: the power filled in at the heatpmp should always be the electric power, thus, # the max heat supply should be power*cop _, modifiers = self.convert_heat_source(asset) return AirWaterHeatPump, modifiers From 687e73738060cf4877076332ca02794a64580267 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 6 Aug 2024 14:52:40 +0200 Subject: [PATCH 200/376] formatting --- src/mesido/heat_physics_mixin.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index efdcdb92a..dccb085a7 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -1652,9 +1652,11 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): ) ) else: - # Note that during cold delivery the line can be colder than the ground temperature. + # Note that during cold delivery the line can be colder than the ground + # temperature. # In this case we have to bound the heat flowing in the line with the ground - # temperature instead, as the line can heat up to at maximum the ground temperature. + # temperature instead, as the line can heat up to at maximum the ground + # temperature. temp = max(parameters[f"{p}.temperature"], parameters[f"{p}.T_ground"]) assert big_m > 0.0 From 6d54038df95bfe1dfc3cd255ee32c7d68e75c9b9 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 6 Aug 2024 14:55:53 +0200 Subject: [PATCH 201/376] Removed todo as it has been resolved --- tests/test_cold_demand.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 7a922af6f..fe33ac67f 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -99,8 +99,6 @@ def test_wko(self): class HeatingCoolingProblem(HeatProblem): - # TODO: investigate why test fails when heat_losses are neglected. - # An issue has been created for this def energy_system_options(self): options = super().energy_system_options() options["neglect_pipe_heat_losses"] = True From 88b1e18e501721f19cdc3880cae55599790a02ea Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Tue, 6 Aug 2024 16:18:52 +0200 Subject: [PATCH 202/376] Updated the test case to check heat gain/loss --- tests/test_cold_demand.py | 57 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index fe33ac67f..222e174dc 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -84,24 +84,30 @@ def test_wko(self): The demand profiles and the size of the heat pump has been chosen such that the heat is required is required to switch on to load the warm well of the WKO. - Checks: + Checks for scenario with and without pipe heat losses: 1. demand is matched 2. energy conservation in the network 3. heat to discharge (note cold line is colder than T_ground) 4. the cyclic heat_stored contraint, which ensures yearly heat balance between the warm and cold well - + 5. pipe heat loss and gain + - pipe heat losses included: expect loss and gain values due to the carrier + temperatures (warm and cold) in the pipes being higher and lower than the ground + temperature + - pipe heat losses excluded: excpect no heat losses or gains """ import models.wko.src.example as example from models.wko.src.example import HeatProblem base_folder = Path(example.__file__).resolve().parent.parent + # ------------------------------------------------------------------------------------------ + # Pipe heat losses inlcuded class HeatingCoolingProblem(HeatProblem): def energy_system_options(self): options = super().energy_system_options() - options["neglect_pipe_heat_losses"] = True + options["neglect_pipe_heat_losses"] = False return options def constraints(self, ensemble_member): @@ -150,9 +156,54 @@ def constraints(self, ensemble_member): energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) + # Check cyclic constraint np.testing.assert_allclose( results["ATES_226d.Stored_heat"][0], results["ATES_226d.Stored_heat"][-1] ) + # Check heat loss and gain + tol_value = 1.0e-6 + np.testing.assert_array_less( + 0.0, results["Pipe1.HeatIn.Heat"] - results["Pipe1.HeatOut.Heat"] + tol_value + ) + np.testing.assert_array_less( + results["Pipe1_ret.HeatIn.Heat"] - results["Pipe1_ret.HeatOut.Heat"] - tol_value, 0.0 + ) + + # ------------------------------------------------------------------------------------------ + # Pipe heat losses excluded + class HeatingCoolingProblemNoHeatLoss(HeatingCoolingProblem): + def energy_system_options(self): + options = super().energy_system_options() + options["neglect_pipe_heat_losses"] = True + return options + + heat_problem = run_esdl_mesido_optimization( + HeatingCoolingProblemNoHeatLoss, + base_folder=base_folder, + esdl_file_name="LT_wko_heating_and_cooling.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_2.csv", + ) + results = heat_problem.extract_results() + + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + + # Check cyclic constraint + np.testing.assert_allclose( + results["ATES_226d.Stored_heat"][0], results["ATES_226d.Stored_heat"][-1] + ) + # Check heat loss and gain + tol_value = 1.0e-6 + np.testing.assert_allclose( + 0.0, results["Pipe1.HeatIn.Heat"] - results["Pipe1.HeatOut.Heat"], atol=1e-6 + ) + np.testing.assert_allclose( + 0.0, results["Pipe1_ret.HeatIn.Heat"] - results["Pipe1_ret.HeatOut.Heat"], atol=1e-6 + ) + # ------------------------------------------------------------------------------------------ if __name__ == "__main__": From 139f36dcfe59e9e7096d3155a2a49ea29d515034 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 6 Aug 2024 17:37:36 +0200 Subject: [PATCH 203/376] Scaling problem check (#137) Created a test function to check the scaling in optimization problems. This still needs to be added to all tests, with a strict check to ensure that we are not making the scaling worse when adding or updating constraints and boundaries. --- tests/test_multicommodity_simulator.py | 17 +++- tests/utils_test_scaling.py | 112 +++++++++++++++++++++++++ tox.ini | 5 ++ 3 files changed, 131 insertions(+), 3 deletions(-) create mode 100644 tests/utils_test_scaling.py diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py index 04cdaea0d..6919e11a9 100644 --- a/tests/test_multicommodity_simulator.py +++ b/tests/test_multicommodity_simulator.py @@ -16,6 +16,8 @@ from rtctools.util import run_optimization_problem +from utils_test_scaling import create_problem_with_debug_info, problem_scaling_check + from utils_tests import ( demand_matching_test, electric_power_conservation_test, @@ -91,8 +93,12 @@ def test_multi_commodity_simulator_priorities_el(self): base_folder = Path(example.__file__).resolve().parent.parent + multicommoditysimulatorscaling, logger, logs_list = create_problem_with_debug_info( + MultiCommoditySimulator + ) + solution = run_optimization_problem( - MultiCommoditySimulator, + multicommoditysimulatorscaling, base_folder=base_folder, esdl_file_name="Electric_bus4_priorities.esdl", esdl_parser=ESDLFileParser, @@ -100,6 +106,7 @@ def test_multi_commodity_simulator_priorities_el(self): input_timeseries_file="timeseries_2.csv", ) + problem_scaling_check(logs_list, logger) bounds = solution.bounds() results = solution.extract_results() @@ -416,15 +423,19 @@ def test_multi_commodity_simulator_emerge_battery(self): base_folder = Path(example.__file__).resolve().parent.parent + multicommoditysimulatornolossesscaling, logger, logs_list = create_problem_with_debug_info( + MultiCommoditySimulatorNoLosses + ) + solution = run_optimization_problem( - MultiCommoditySimulatorNoLosses, + multicommoditysimulatornolossesscaling, base_folder=base_folder, esdl_file_name="emerge_battery_priorities.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_short.csv", ) - + problem_scaling_check(logs_list, logger, order_diff=1e7) results = solution.extract_results() feasibility_test(solution) diff --git a/tests/utils_test_scaling.py b/tests/utils_test_scaling.py new file mode 100644 index 000000000..a4c2508da --- /dev/null +++ b/tests/utils_test_scaling.py @@ -0,0 +1,112 @@ +import logging +import math +import re + +from rtctools._internal.debug_check_helpers import DebugLevel + + +def create_log_list_scaling(): + """ + Creation of a list for the logs which will be filled with the logging information of the + problem. + :return: + """ + + class LogRecordsListHandler(logging.Handler): + """ + Handler class to store log entries in a list + """ + + def __init__(self, records_list): + self.records_list = records_list + super().__init__() + + def emit(self, record): + self.records_list.append(record) + + logs_list = [] + + logger = logging.getLogger("rtctools") + logger.setLevel(logging.INFO) + + logger.addHandler(LogRecordsListHandler(logs_list)) + + return logger, logs_list + + +def create_problem_with_debug_info(problem_class): + """ + The problem class that needs to be executed is updated with a debuglevel to + ensure that the information about the scaling is logged. Furthermore, the logging list is + created to allow for backtracking and check scaling information. + :param problem_class: The problem class that should be executed + :return: + The problem class including its debuglevel and the logging list and logger. + """ + # TODO: currently only the default settings can be used to check the scaling. + logger, logs_list = create_log_list_scaling() + + class ProblemClassScaling(problem_class): + _debug_check_level = DebugLevel.VERYHIGH + + return ProblemClassScaling, logger, logs_list + + +def check_order(dict_values, maximum_order_diff): + """ + Checks the difference in order between the lower and upperbound of several problem settings; + objective, matrix and right hand side. + :param dict_values: dictionary with the different problem settings and their respective lower + and upperbound + :param maximum_order_diff: the maximum difference that is allowed. + :return: + """ + msg_order = {} + for key, value in dict_values.items(): + if value[0] != 0.0: + order = value[1] / value[0] + else: + order = value[1] + if order > maximum_order_diff: + order_wrong = math.floor(math.log(order, 10)) + msg_order[key] = ( + f"The scaling of this problem is not great, for the {key}, the values are {value} " + f"which is of the order {order_wrong}, {maximum_order_diff} is the maximum allowed " + f"order difference." + ) + assert len(msg_order) == 0, msg_order + + +def problem_scaling_check(logs_list, logger, order_diff=1e6): + """ + Checks the difference in order between the lower and upperbound of several problem settings; + objective, matrix and rhs. + These settings are first to be extracted from the logging information. + :param logs_list: The list containing all the logs. + :param logger: The logger that logs information, warnings and errors depending on the level set. + :param order_diff: The maximum difference between the lower and upperbound. + :return: + """ + linear_coeff_log = [ + log for log in logs_list if "__debug_check_transcribe_linear_coefficients" in log.funcName + ] + range_data = {} + for log in linear_coeff_log: + if ( + "Statistics of constraints: max & min of abs(jac(g, x0))), " "max & min of abs(g(x0))" + ) == log.msg: + data = linear_coeff_log[linear_coeff_log.index(log) + 1] + data_str = re.findall(r"[-+]?\d*\.\d+|\d+", data.msg) + range_data["matrix"] = [float(data_str[1]), float(data_str[0])] + range_data["rhs"] = [float(data_str[3]), float(data_str[2])] + elif ("Statistics of objective: max & min of abs(jac(f,") in log.msg: + data = linear_coeff_log[linear_coeff_log.index(log) + 1] + data_str = re.findall(r"[-+]?\d*\.\d+|\d+", data.msg) + if len(data_str) > 2: + range_data["objective_matrix"] = [float(data_str[1]), float(data_str[0])] + range_data["objective"] = [float(data_str[3]), float(data_str[2])] + else: + range_data["objective"] = [float(data_str[1]), float(data_str[0])] + for k, v in range_data.items(): + logger.info(f"{k,v}") + check_order(range_data, order_diff) diff --git a/tox.ini b/tox.ini index cda45d59d..5645a9106 100644 --- a/tox.ini +++ b/tox.ini @@ -2,6 +2,11 @@ envlist = py39, test_env_main, test_env_pre, test_env_post, flake8, black +# Allowing logging INFO when using pytest +[pytest] +log_cli = 1 +log_cli_level = INFO + # Basic setup for test environments [testenv] deps = From 65802aff09e0e1eb6181173de199119b4bcc7280 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 8 Aug 2024 09:35:45 +0200 Subject: [PATCH 204/376] Fix the headloss equality constraints (#135) Bugfix in the headloss equality constraints to ensure the proper integer linear_line selection variables are selected. Thereby the headloss equality constraints can now be used when minimize_head_loss is turned off. --- src/mesido/head_loss_class.py | 78 ++++++++----------- .../multicommodity_simulator_workflow.py | 3 +- .../emerge/input/timeseries_short_2.csv | 4 + .../pipe_test/src/run_hydraulic_power.py | 10 ++- tests/test_head_loss.py | 11 ++- tests/test_hydraulic_power.py | 4 +- tests/test_multicommodity_simulator.py | 7 +- 7 files changed, 60 insertions(+), 57 deletions(-) create mode 100644 tests/models/emerge/input/timeseries_short_2.csv diff --git a/src/mesido/head_loss_class.py b/src/mesido/head_loss_class.py index d9e75b451..4377979c9 100644 --- a/src/mesido/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -822,55 +822,43 @@ def _hn_pipe_head_loss( ) # Add equality constraint, value == 0.0 for all linear lines - # Loop twice due to linear lines exsiting for negative and positive discharge - # ii==0: this is the linear lines for the negative discharge possibility - # ii==1: this is the linear lines for the postive discharge possibility - for ii in range(2): - for ii_line in range(n_linear_lines): - ii_line_used = (ii * 2) + ii_line - - ii_start = (ii_line + 2 * ii) * n_timesteps - ii_end = ii_start + n_timesteps - constraints.append( + for ii_line_used in range(len(pipe_linear_line_segment)): + ii_start = ii_line_used * n_timesteps + ii_end = ii_start + n_timesteps + constraints.append( + ( ( - ( - head_loss_vec[ii_start:ii_end] - - ( - a_vec[ii_start:ii_end] * discharge_vec[ii_start:ii_end] - + b_vec[ii_start:ii_end] - ) - + is_disconnected_vec[ii_start:ii_end] * big_m_lin - + big_m_lin - * (1 - is_line_segment_active[ii_line_used][0:n_timesteps]) + head_loss_vec[ii_start:ii_end] + - ( + a_vec[ii_start:ii_end] * discharge_vec[ii_start:ii_end] + + b_vec[ii_start:ii_end] ) - / constraint_nominal[ii_start:ii_end], - 0.0, - np.inf, - ), - ) - for ii in range(2): - for ii_line in range(n_linear_lines): - ii_line_used = (ii * 2) + ii_line - - ii_start = (ii_line + 2 * ii) * n_timesteps - ii_end = ii_start + n_timesteps - constraints.append( + + is_disconnected_vec[ii_start:ii_end] * big_m_lin + + big_m_lin + * (1 - is_line_segment_active[ii_line_used][0:n_timesteps]) + ) + / constraint_nominal[ii_start:ii_end], + 0.0, + np.inf, + ), + ) + constraints.append( + ( ( - ( - head_loss_vec[ii_start:ii_end] - - ( - a_vec[ii_start:ii_end] * discharge_vec[ii_start:ii_end] - + b_vec[ii_start:ii_end] - ) - - is_disconnected_vec[ii_start:ii_end] * big_m_lin - - big_m_lin - * (1 - is_line_segment_active[ii_line_used][0:n_timesteps]) + head_loss_vec[ii_start:ii_end] + - ( + a_vec[ii_start:ii_end] * discharge_vec[ii_start:ii_end] + + b_vec[ii_start:ii_end] ) - / constraint_nominal[ii_start:ii_end], - -np.inf, - 0.0, - ), - ) + - is_disconnected_vec[ii_start:ii_end] * big_m_lin + - big_m_lin + * (1 - is_line_segment_active[ii_line_used][0:n_timesteps]) + ) + / constraint_nominal[ii_start:ii_end], + -np.inf, + 0.0, + ), + ) return constraints else: ret = np.amax(a * np.tile(discharge, (len(a), 1)).transpose() + b, axis=1) diff --git a/src/mesido/workflows/multicommodity_simulator_workflow.py b/src/mesido/workflows/multicommodity_simulator_workflow.py index 308bf319f..b51ba8f5e 100644 --- a/src/mesido/workflows/multicommodity_simulator_workflow.py +++ b/src/mesido/workflows/multicommodity_simulator_workflow.py @@ -515,7 +515,8 @@ def energy_system_options(self): self.gas_network_settings["head_loss_option"] = HeadLossOption.LINEARIZED_N_LINES_EQUALITY self.gas_network_settings["network_type"] = NetworkSettings.NETWORK_TYPE_HYDROGEN - self.gas_network_settings["minimize_head_losses"] = True + self.gas_network_settings["minimize_head_losses"] = False + self.gas_network_settings["maximum_velocity"] = 60.0 options["include_asset_is_switched_on"] = True options["estimated_velocity"] = 7.5 diff --git a/tests/models/emerge/input/timeseries_short_2.csv b/tests/models/emerge/input/timeseries_short_2.csv new file mode 100644 index 000000000..09f28f507 --- /dev/null +++ b/tests/models/emerge/input/timeseries_short_2.csv @@ -0,0 +1,4 @@ +DateTime,WindPark_9074,Elec,Hydrogen +2016-01-01Z 06:00:00,1999997849.6,1.816e-05,2.4 +2016-01-01Z 07:00:00,1999999562.2,1.7729999999999998e-05,2.4 +2016-01-01Z 08:00:00,.0,1.977e-05,2.4 \ No newline at end of file diff --git a/tests/models/pipe_test/src/run_hydraulic_power.py b/tests/models/pipe_test/src/run_hydraulic_power.py index c195807cc..2c22454d9 100644 --- a/tests/models/pipe_test/src/run_hydraulic_power.py +++ b/tests/models/pipe_test/src/run_hydraulic_power.py @@ -77,7 +77,10 @@ def __init__(self, *args, **kwargs): self.heat_network_settings["head_loss_option"] = head_loss_setting if head_loss_setting == HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY: self.heat_network_settings["n_linearization_lines"] = n_linearization_lines_setting - self.heat_network_settings["minimize_head_losses"] = True + if head_loss_setting == HeadLossOption.LINEARIZED_N_LINES_EQUALITY: + self.heat_network_settings["minimize_head_losses"] = False + else: + self.heat_network_settings["minimize_head_losses"] = True def pre(self): super().pre() @@ -104,7 +107,10 @@ def heat_network_options(self): self.heat_network_settings["head_loss_option"] = head_loss_setting if head_loss_setting == HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY: self.heat_network_settings["n_linearization_lines"] = n_linearization_lines_setting - self.heat_network_settings["minimize_head_losses"] = True + if head_loss_setting == HeadLossOption.LINEARIZED_N_LINES_EQUALITY: + self.heat_network_settings["minimize_head_losses"] = False + else: + self.heat_network_settings["minimize_head_losses"] = True return options diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index c86a94f7d..60e71186c 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -73,7 +73,7 @@ def energy_system_options(self): self.heat_network_settings["head_loss_option"] = ( HeadLossOption.LINEARIZED_N_LINES_EQUALITY ) - self.heat_network_settings["minimize_head_losses"] = True + self.heat_network_settings["minimize_head_losses"] = False self.heat_network_settings["minimum_velocity"] = 1.0e-6 return options @@ -267,7 +267,10 @@ def energy_system_options(self): self.heat_network_settings["n_linearization_lines"] = 2 self.heat_network_settings["minimum_velocity"] = 0.0 - self.heat_network_settings["minimize_head_losses"] = True + if head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_EQUALITY: + self.heat_network_settings["minimize_head_losses"] = False + else: + self.heat_network_settings["minimize_head_losses"] = True return options @@ -442,7 +445,7 @@ def energy_system_options(self): ): self.gas_network_settings["n_linearization_lines"] = 2 self.gas_network_settings["minimize_head_losses"] = True - if head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_EQUALITY: + elif head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_EQUALITY: self.gas_network_settings["n_linearization_lines"] = 2 self.gas_network_settings["minimize_head_losses"] = True self.gas_network_settings["minimum_velocity"] = 0.0 @@ -593,7 +596,7 @@ def energy_system_options(self): if head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_EQUALITY: # do not change in value below, see notes above self.gas_network_settings["n_linearization_lines"] = 2 - self.gas_network_settings["minimize_head_losses"] = True + self.gas_network_settings["minimize_head_losses"] = False # if statements below are currently not used, potential use in the future elif head_loss_option_setting == HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY: self.gas_network_settings["minimize_head_losses"] = True diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index b2857e4f7..f51f5c15f 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -274,7 +274,7 @@ def energy_system_options(self): ) self.gas_network_settings["n_linearization_lines"] = 3 self.gas_network_settings["minimum_velocity"] = 0.0 - self.gas_network_settings["minimize_head_losses"] = True + self.gas_network_settings["minimize_head_losses"] = False return options @@ -404,7 +404,7 @@ def energy_system_options(self): ) self.gas_network_settings["n_linearization_lines"] = 3 self.gas_network_settings["minimum_velocity"] = 0.0 - self.gas_network_settings["minimize_head_losses"] = True + self.gas_network_settings["minimize_head_losses"] = False return options diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py index 6919e11a9..a81b87730 100644 --- a/tests/test_multicommodity_simulator.py +++ b/tests/test_multicommodity_simulator.py @@ -493,7 +493,7 @@ def test_multi_commodity_simulator_emerge_head_losses(self): esdl_file_name="emerge_battery_priorities.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, - input_timeseries_file="timeseries_short.csv", + input_timeseries_file="timeseries_short_2.csv", ) results = solution.extract_results() @@ -534,7 +534,8 @@ def test_multi_commodity_simulator_emerge_head_losses(self): # linearized dw_headloss calculations linear_lines = 5 - velocities = np.linspace(0, 15, linear_lines + 1) + v_max = solution.gas_network_settings["maximum_velocity"] + velocities = np.linspace(0, v_max, linear_lines + 1) for pipe in solution.energy_system_components.get("gas_pipe"): length = parameters[f"{pipe}.length"] @@ -545,7 +546,7 @@ def test_multi_commodity_simulator_emerge_head_losses(self): head_loss = results[f"{pipe}.dH"] head_loss_full_var = results[f"{pipe}.__head_loss"] # If this test fails there is most likely a scaling issue. - indexes = np.abs(v_pipe) > 0.0 + indexes = np.abs(v_pipe) > 1e-11 indexes[0] = False np.testing.assert_allclose( np.abs(np.asarray(head_loss[indexes])), head_loss_full_var[indexes] From fe9be9f0d8128a27f0d78c26dcaa8dcf2e209901 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 12 Aug 2024 14:07:23 +0200 Subject: [PATCH 205/376] Update git ignore for Jaime --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 7c8d6775c..7f3e1a703 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,8 @@ run_pipe_compare.py .venv/ # Femke Janssen *_fj_* +# Jaime Santiago Patterson +*_jsp_* # Ignore ESDL files created by workflows *_GrowOptimized.esdl *_GrowOptimized_esdl_string.esdl From e996a1d1e47d8607e888da84f99b8c126c465cfa Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Mon, 12 Aug 2024 14:35:53 +0200 Subject: [PATCH 206/376] Changed abbreviation to more default instead --- .gitignore | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 7f3e1a703..9b3d94b6b 100644 --- a/.gitignore +++ b/.gitignore @@ -27,12 +27,10 @@ src/*.egg-info # Kobus van Rooyen run_pipe_compare.py -*_kvr_* .venv/ -# Femke Janssen -*_fj_* -# Jaime Santiago Patterson -*_jsp_* +# Abbreviation to be added to files/folders name +# Meaning of abbreviation: exclude from version control +*_efvc_* # Ignore ESDL files created by workflows *_GrowOptimized.esdl *_GrowOptimized_esdl_string.esdl From 90be7345cc89e219bae4b20a705116646171728f Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Mon, 12 Aug 2024 15:26:15 +0200 Subject: [PATCH 207/376] Cleanup of gitignore file (#144) * Removed Alex abbreviation as well * Further cleanup of gitignore file --- .gitignore | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 9b3d94b6b..6016fb631 100644 --- a/.gitignore +++ b/.gitignore @@ -25,15 +25,11 @@ src/*.egg-info .ipynb_checkpoints .vscode -# Kobus van Rooyen -run_pipe_compare.py -.venv/ # Abbreviation to be added to files/folders name # Meaning of abbreviation: exclude from version control *_efvc_* + # Ignore ESDL files created by workflows *_GrowOptimized.esdl *_GrowOptimized_esdl_string.esdl -*_Simulation.esdl -# Alejandro Martin -*_amg_* \ No newline at end of file +*_Simulation.esdl \ No newline at end of file From 7972394139a7f82b8e4307535eff449829c8f962 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 14 Aug 2024 09:53:18 +0200 Subject: [PATCH 208/376] Fixes on headloss constraints (#142) A bug is fixed, such that the __head_loss and .dH variable are now set equally. Also some testcases have been updated to check this. --------- Co-authored-by: kobus.vanrooyen@tno.nl --- .../input/timeseries_import.xml | 12 ++-- examples/pipe_diameter_sizing/model/2a.esdl | 6 +- examples/pipe_diameter_sizing/src/example.py | 5 +- src/mesido/head_loss_class.py | 57 +++++++++++-------- .../timeseries_minimum_electrolyzer_power.csv | 2 +- tests/test_electrolyzer.py | 22 ++++++- tests/test_gas_pipe_topology_optimization.py | 2 +- tests/test_hydraulic_power.py | 5 +- tests/test_pipe_diameter_sizing.py | 2 +- 9 files changed, 72 insertions(+), 41 deletions(-) diff --git a/examples/pipe_diameter_sizing/input/timeseries_import.xml b/examples/pipe_diameter_sizing/input/timeseries_import.xml index 513e247b9..329f810f5 100644 --- a/examples/pipe_diameter_sizing/input/timeseries_import.xml +++ b/examples/pipe_diameter_sizing/input/timeseries_import.xml @@ -13,8 +13,8 @@ -999.0 W - - + +
@@ -28,8 +28,8 @@ -999.0 W
- - + +
@@ -43,7 +43,7 @@ -999.0 W
- - + +
diff --git a/examples/pipe_diameter_sizing/model/2a.esdl b/examples/pipe_diameter_sizing/model/2a.esdl index eb93b345d..06f9a58c7 100644 --- a/examples/pipe_diameter_sizing/model/2a.esdl +++ b/examples/pipe_diameter_sizing/model/2a.esdl @@ -182,7 +182,7 @@
- + @@ -191,7 +191,7 @@ - + @@ -200,7 +200,7 @@ - + diff --git a/examples/pipe_diameter_sizing/src/example.py b/examples/pipe_diameter_sizing/src/example.py index 5613bc9b0..95a0ebf81 100644 --- a/examples/pipe_diameter_sizing/src/example.py +++ b/examples/pipe_diameter_sizing/src/example.py @@ -76,9 +76,12 @@ def energy_system_options(self): return options def pipe_classes(self, pipe): + # Do not delete pipeclass DN40, locally it runs with DN40, but in pipeline it seems + # that scaling is a bit too much off resulting in infeasibility probably because of + # machine accuracy. If scaling can be improved DN40 can be included again. return [ PipeClass("None", 0.0, 0.0, (0.0, 0.0), 0.0), - PipeClass("DN40", 0.0431, 1.5, (0.179091, 0.005049), 1.0), + # PipeClass("DN40", 0.0431, 1.5, (0.179091, 0.005049), 1.0), PipeClass("DN50", 0.0545, 1.7, (0.201377, 0.006086), 2.0), PipeClass("DN65", 0.0703, 1.9, (0.227114, 0.007300), 3.0), PipeClass("DN80", 0.0825, 2.2, (0.238244, 0.007611), 4.0), diff --git a/src/mesido/head_loss_class.py b/src/mesido/head_loss_class.py index 4377979c9..a0c7f75d6 100644 --- a/src/mesido/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -409,30 +409,28 @@ def initialize_variables_nominals_and_bounds( # We need to creat linear line segments for the - and + volumetric flow rate # possibilites. Line number 1, 2, N for the - & + side is created discharge_type = ["neg_discharge", "pos_discharge"] - line_number = 0 - for dtype in discharge_type: - for ii_line in range(network_settings["n_linearization_lines"] * 2): - if ii_line < network_settings["n_linearization_lines"]: - dtype = discharge_type[0] - line_number = ii_line + 1 - else: - dtype = discharge_type[1] - line_number = ii_line + 1 - network_settings["n_linearization_lines"] - - # start line segment numbering from 1 up to "n_linearization_lines" - pipe_linear_line_segment_var_name = ( - f"{pipe_name}__pipe_linear_line_segment_num_{line_number}_{dtype}" - ) + for ii_line in range(network_settings["n_linearization_lines"] * 2): + if ii_line < network_settings["n_linearization_lines"]: + dtype = discharge_type[0] + line_number = ii_line + 1 + else: + dtype = discharge_type[1] + line_number = ii_line + 1 - network_settings["n_linearization_lines"] + + # start line segment numbering from 1 up to "n_linearization_lines" + pipe_linear_line_segment_var_name = ( + f"{pipe_name}__pipe_linear_line_segment_num_{line_number}_{dtype}" + ) - self._pipe_linear_line_segment_map[pipe_name][ - ii_line - ] = pipe_linear_line_segment_var_name - self.__pipe_linear_line_segment_var[pipe_name][ - pipe_linear_line_segment_var_name - ] = ca.MX.sym(pipe_linear_line_segment_var_name) - self.__pipe_linear_line_segment_var_bounds[pipe_name][ - pipe_linear_line_segment_var_name - ] = (0.0, 1.0) + self._pipe_linear_line_segment_map[pipe_name][ + ii_line + ] = pipe_linear_line_segment_var_name + self.__pipe_linear_line_segment_var[pipe_name][ + pipe_linear_line_segment_var_name + ] = ca.MX.sym(pipe_linear_line_segment_var_name) + self.__pipe_linear_line_segment_var_bounds[pipe_name][ + pipe_linear_line_segment_var_name + ] = (0.0, 1.0) return ( ( @@ -767,7 +765,9 @@ def _hn_pipe_head_loss( big_m_lin = 0.0 else: big_m_lin = big_m - constraint_nominal = (constraint_nominal * big_m_lin) ** 0.5 + constraint_nominal = np.abs( + head_loss_nominal * (a_vec * q_nominal + b_vec) * big_m + ) ** (1.0 / 3.0) constraints = [] @@ -1436,6 +1436,15 @@ def _pipe_head_loss_constraints( ) constraints.append(((dh - head_loss + flow_dir * big_m) / big_m, 0.0, np.inf)) + constraints.append( + ( + (-dh - head_loss - (1 - flow_dir) * big_m) / big_m, + -np.inf, + 0.0, + ) + ) + constraints.append(((dh - head_loss - flow_dir * big_m) / big_m, -np.inf, 0.0)) + return constraints def _pipe_hydraulic_power_path_constraints( diff --git a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv index f6ceb3580..50a007c54 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv +++ b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_minimum_electrolyzer_power.csv @@ -1,4 +1,4 @@ DateTime,elec,Hydrogen,WindPark_7f14 -01-01-2019 00:00, 1.0, 1000000.0, 100000000.0 +01-01-2019 00:00, 1.0, 10000000.0, 100000000.0 01-01-2019 01:00, 10.0, 10000000.0, 100000000.0 01-01-2019 02:00, 10.0, 10000000.0, 49000000.0 diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index 8762dafc9..4eb173233 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -31,8 +31,17 @@ def test_electrolyzer_inequality(self): base_folder = Path(example.__file__).resolve().parent.parent + class MILPProblemInequalityWithoutPresolve(MILPProblemInequality): + def solver_options(self): + options = super().solver_options() + options["solver"] = "highs" + highs_options = options["highs"] = {} + highs_options["presolve"] = "off" + + return options + solution = run_esdl_mesido_optimization( - MILPProblemInequality, + MILPProblemInequalityWithoutPresolve, base_folder=base_folder, esdl_file_name="h2.esdl", esdl_parser=ESDLFileParser, @@ -241,8 +250,17 @@ def test_electrolyzer_minimum_power(self): base_folder = Path(example.__file__).resolve().parent.parent + class MILPProblemInequalityWithoutPresolve(MILPProblemInequality): + def solver_options(self): + options = super().solver_options() + options["solver"] = "highs" + highs_options = options["highs"] = {} + highs_options["presolve"] = "off" + + return options + solution = run_esdl_mesido_optimization( - MILPProblemInequality, + MILPProblemInequalityWithoutPresolve, base_folder=base_folder, esdl_file_name="h2.esdl", esdl_parser=ESDLFileParser, diff --git a/tests/test_gas_pipe_topology_optimization.py b/tests/test_gas_pipe_topology_optimization.py index 17fe1cd4f..72b7d528b 100644 --- a/tests/test_gas_pipe_topology_optimization.py +++ b/tests/test_gas_pipe_topology_optimization.py @@ -32,7 +32,7 @@ def energy_system_options(self): self.gas_network_settings["head_loss_option"] = ( HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY ) - self.gas_network_settings["minimize_head_losses"] = True + self.gas_network_settings["minimize_head_losses"] = False return options solution = run_esdl_mesido_optimization( diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index f51f5c15f..679ac8654 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -389,11 +389,12 @@ def test_hydraulic_power_gas_multi_demand(self): base_folder = Path(run_test.__file__).resolve().parent.parent class GasProblemHydraulic(GasProblem): + def read(self): super().read() for d in self.energy_system_components["gas_demand"]: - new_timeseries = self.get_timeseries(f"{d}.target_gas_demand").values * 1.5 + new_timeseries = self.get_timeseries(f"{d}.target_gas_demand").values * 3 self.set_timeseries(f"{d}.target_gas_demand", new_timeseries) def energy_system_options(self): @@ -460,7 +461,7 @@ def energy_system_options(self): ) ind_check += 1 else: - raise RuntimeError( + raise RuntimeWarning( "For this test to succeed the flow should increase over time" ) np.testing.assert_array_less( diff --git a/tests/test_pipe_diameter_sizing.py b/tests/test_pipe_diameter_sizing.py index ba34f2225..ed791f706 100644 --- a/tests/test_pipe_diameter_sizing.py +++ b/tests/test_pipe_diameter_sizing.py @@ -101,7 +101,7 @@ def test_half_network_gone(self): ) for pipe in problem.energy_system_components.get("heat_pipe", []): - if results[f"{pipe}__hn_diameter"] == 0.0: + if results[f"{pipe}__hn_diameter"] <= 1e-15: # TODO: At the moment it is so that a pipe which is not placed (diameter == 0.) can # have head loss since there is an equivalent solution where simultaniously the # is_disconnected variable is also true disabling the head_loss constraints. From 16f8ebeef5134d42be27e6e394139560618dba93 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Fri, 16 Aug 2024 16:42:00 +0200 Subject: [PATCH 209/376] Identify insufficient installed capacity, log and exit run (#147) * Identify insufficient installed capacity, log and exit run * Update installed capacity in existing test case * Add potential error to logger * Add cold_demand installed capacity check as well * Uptdate utils, and use in new test cases * Add new tests --- src/mesido/esdl/esdl_mixin.py | 2 +- src/mesido/esdl/profile_parser.py | 24 +- src/mesido/workflows/grow_workflow.py | 21 ++ .../model/1a_with_influx_profiles.esdl | 6 +- .../1a_with_influx_profiles_error_check.esdl | 172 +++++++++++ .../models/wko/model/LT_wko_error_check.esdl | 271 ++++++++++++++++++ tests/models/wko/src/example.py | 31 ++ tests/test_cold_demand.py | 46 +++ tests/test_end_scenario_sizing.py | 5 +- tests/test_profile_parsing.py | 51 ++++ tests/utils_test_scaling.py | 6 +- 11 files changed, 624 insertions(+), 11 deletions(-) create mode 100644 tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check.esdl create mode 100644 tests/models/wko/model/LT_wko_error_check.esdl diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index f5ebb6750..a120096aa 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -535,7 +535,7 @@ def read(self) -> None: energy_system_components = self.energy_system_components esdl_carriers = self.esdl_carriers io = self.io - self.__profile_reader.read_profiles( + self._asset_potential_errors = self.__profile_reader.read_profiles( energy_system_components=energy_system_components, io=io, esdl_asset_id_to_name_map=self.esdl_asset_id_to_name_map, diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index c06c731d2..ac4d55808 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -100,10 +100,19 @@ def read_profiles( zip(esdl_asset_id_to_name_map.values(), esdl_asset_id_to_name_map.keys()) ) + # Define variable containing potential error information + asset_potential_errors = { + "heat_demand.power": {}, # error type, heat demand name, error message + "cold_demand.power": {}, # error type, cold demand name, error message + } + for ensemble_member in range(ensemble_size): for component_type, var_name in self.component_type_to_var_name_map.items(): for component in energy_system_components.get(component_type, []): profile = self._profiles[ensemble_member].get(component + var_name, None) + asset_power = esdl_assets[esdl_asset_names_to_ids[component]].attributes[ + "power" + ] if profile is not None: values = profile else: @@ -114,9 +123,6 @@ def read_profiles( f"No profile provided for {component=} and " f"{ensemble_member=}, using the assets power value instead" ) - asset_power = esdl_assets[esdl_asset_names_to_ids[component]].attributes[ - "power" - ] values = np.array([asset_power] * len(self._reference_datetimes)) io.set_timeseries( @@ -125,6 +131,17 @@ def read_profiles( values=values, ensemble_member=ensemble_member, ) + # Check if that the installed heat/cool demand capacity is sufficient + if component_type in ["heat_demand", "cold_demand"]: + max_profile_value = max(values) + if asset_power < max_profile_value: + asset_potential_errors[f"{component_type}.power"][component] = ( + f"{component}: The installed capacity of" + f" {round(asset_power / 1.0e6, 3)}MW should be larger than the" + " maximum of the heat demand profile " + f"{round(max_profile_value / 1.0e6, 3)}MW" + ) + for properties in carrier_properties.values(): carrier_name = properties["name"] profile = self._profiles[ensemble_member].get( @@ -140,6 +157,7 @@ def read_profiles( values=profile, ensemble_member=ensemble_member, ) + return asset_potential_errors def _load_profiles_from_source( self, diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 9ed199da8..b092a9fe2 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -160,6 +160,8 @@ def __init__(self, *args, **kwargs): self._save_json = False + self._asset_potential_errors = dict() + def parameters(self, ensemble_member): parameters = super().parameters(ensemble_member) parameters["peak_day_index"] = self.__indx_max_peak @@ -179,6 +181,25 @@ def read(self): """ super().read() + # Error checking: + # - installed capacity/power of a heating/cooling demand is sufficient for the specified + # demand profile + is_error = False + for error_type, errors in self._asset_potential_errors.items(): + if error_type in ["heat_demand.power", "cold_demand.power"]: + if len(errors) > 0: + for asset_name in errors: + logger.error(self._asset_potential_errors[error_type][asset_name]) + logger.error( + "Asset insufficient installed capacity: please increase the" + " installed power or reduce the demand profile peak value of the demand(s)" + " listed." + ) + is_error = True + if is_error: + exit(1) + # end error checking + ( self.__indx_max_peak, self.__heat_demand_nominal, diff --git a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles.esdl b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles.esdl index 8745c9228..e24211ed3 100644 --- a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles.esdl +++ b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles.esdl @@ -17,7 +17,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -126,7 +126,7 @@ - + diff --git a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check.esdl b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check.esdl new file mode 100644 index 000000000..afcb33e10 --- /dev/null +++ b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check.esdl @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/wko/model/LT_wko_error_check.esdl b/tests/models/wko/model/LT_wko_error_check.esdl new file mode 100644 index 000000000..2c2f72be7 --- /dev/null +++ b/tests/models/wko/model/LT_wko_error_check.esdl @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index dfeb9ccc6..6965b34fd 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -1,3 +1,5 @@ +import logging + import casadi as ca from mesido.esdl.esdl_mixin import ESDLMixin @@ -19,6 +21,9 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem +logger = logging.getLogger("WarmingUP-MPC") +logger.setLevel(logging.INFO) + class TargetDemandGoal(Goal): """ @@ -157,6 +162,32 @@ def __init__(self, *args, **kwargs): self.heat_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS self.heat_network_settings["minimum_velocity"] = 0.0 + def read(self): + """ + Reads the yearly profile with hourly time steps and adapt to a daily averaged profile + except for the day with the peak demand. + """ + super().read() + + # Error checking: + # - installed capacity/power of a heating/cooling demand is sufficient for the specified + # demand profile + is_error = False + for error_type, errors in self._asset_potential_errors.items(): + if error_type in ["heat_demand.power", "cold_demand.power"]: + if len(errors) > 0: + for asset_name in errors: + logger.error(self._asset_potential_errors[error_type][asset_name]) + logger.error( + "Asset insufficient installed capacity: please increase the" + " installed power or reduce the demand profile peak value of the demand(s)" + " listed." + ) + is_error = True + if is_error: + exit(1) + # end error checking + def path_goals(self): """ This function adds the minimization goal for minimizing the milp production. diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 222e174dc..6fa393883 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -7,10 +7,54 @@ import numpy as np +from utils_test_scaling import create_log_list_scaling + from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test class TestColdDemand(TestCase): + + def test_insufficient_capacity(self): + """ + This test checks that the error checks in the code for sufficient installed cool/heatig + capacity of a cold/heat demand is sufficient (grow_workflow not used) + + Checks: + 1. SystemExit is raised + 2. That the error is due to insufficient heat/cold specified capacities + + """ + import models.wko.src.example as example + from models.wko.src.example import HeatProblem + + logger, logs_list = create_log_list_scaling("WarmingUP-MPC") + + base_folder = Path(example.__file__).resolve().parent.parent + + with self.assertRaises(SystemExit) as cm: + _ = run_esdl_mesido_optimization( + HeatProblem, + base_folder=base_folder, + esdl_file_name="LT_wko_error_check.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + # Is SystemExit is raised + np.testing.assert_array_equal(cm.exception.code, 1) + + # Check that the heat & cold demand had an error + np.testing.assert_equal( + logs_list[0].msg == "HeatingDemand_9b90: The installed capacity of 0.05MW should be" + " larger than the maximum of the heat demand profile 0.15MW", + True, + ) + np.testing.assert_equal( + logs_list[2].msg == "CoolingDemand_15e8: The installed capacity of 0.05MW should be" + " larger than the maximum of the heat demand profile 0.15MW", + True, + ) + def test_cold_demand(self): """ This test is to check the basic physics for a network which includes cold demand. In this @@ -208,4 +252,6 @@ def energy_system_options(self): if __name__ == "__main__": test_cold_demand = TestColdDemand() + test_cold_demand.test_insufficient_capacity() + test_cold_demand.test_cold_demand() test_cold_demand.test_wko() diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 6b5840d67..72facd9dc 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -341,6 +341,9 @@ def test_end_scenario_sizing_head_loss(self): start_time = time.time() a = TestEndScenarioSizing() - # a.test_end_scenario_sizing() + a.setUpClass() + a.test_end_scenario_sizing() + a.test_end_scenario_sizing_staged() + a.test_end_scenario_sizing_discounted() a.test_end_scenario_sizing_head_loss() print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index a8980a8a7..2005c9962 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -13,6 +13,8 @@ import pandas as pd +from utils_test_scaling import create_log_list_scaling + class MockInfluxDBProfileReader(InfluxDBProfileReader): def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): @@ -28,6 +30,54 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) class TestProfileLoading(unittest.TestCase): + def test_insufficient_capacity(self): + """ + This test checks that the error checks in the code for sufficient installed cool/heatig + capacity of a cold/heat demand is sufficient (grow_workflow) + + Checks: + 1. SystemExit is raised + 2. That the error is due to insufficient heat specified capacities + """ + import models.unit_cases.case_1a.src.run_1a as run_1a + + base_folder = Path(run_1a.__file__).resolve().parent.parent + model_folder = base_folder / "model" + input_folder = base_folder / "input" + + logger, logs_list = create_log_list_scaling("WarmingUP-MPC") + + with self.assertRaises(SystemExit) as cm: + problem = EndScenarioSizingStagedHIGHS( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="1a_with_influx_profiles_error_check.esdl", + profile_reader=MockInfluxDBProfileReader, + input_timeseries_file="influx_mock.csv", + ) + problem.pre() + # Is SystemExit is raised + np.testing.assert_array_equal(cm.exception.code, 1) + + # Check that the heat demand had an error + np.testing.assert_equal( + logs_list[0].msg == "HeatingDemand_2ab9: The installed capacity of 6.0MW should be" + " larger than the maximum of the heat demand profile 5175.717MW", + True, + ) + np.testing.assert_equal( + logs_list[1].msg == "HeatingDemand_506c: The installed capacity of 2.0MW should be" + " larger than the maximum of the heat demand profile 1957.931MW", + True, + ) + np.testing.assert_equal( + logs_list[2].msg == "HeatingDemand_6662: The installed capacity of 2.0MW should be" + " larger than the maximum of the heat demand profile 1957.931MW", + True, + ) + def test_loading_from_influx(self): """ This test checks if loading an ESDL with influxDB profiles works. Since @@ -183,6 +233,7 @@ def test_loading_from_csv_with_influx_profiles_given(self): if __name__ == "__main__": # unittest.main() a = TestProfileLoading() + a.test_insufficient_capacity() a.test_loading_from_influx() a.test_loading_from_csv() a.test_loading_from_xml() diff --git a/tests/utils_test_scaling.py b/tests/utils_test_scaling.py index a4c2508da..6362d4ce8 100644 --- a/tests/utils_test_scaling.py +++ b/tests/utils_test_scaling.py @@ -5,7 +5,7 @@ from rtctools._internal.debug_check_helpers import DebugLevel -def create_log_list_scaling(): +def create_log_list_scaling(logger_name): """ Creation of a list for the logs which will be filled with the logging information of the problem. @@ -26,7 +26,7 @@ def emit(self, record): logs_list = [] - logger = logging.getLogger("rtctools") + logger = logging.getLogger(logger_name) logger.setLevel(logging.INFO) logger.addHandler(LogRecordsListHandler(logs_list)) @@ -44,7 +44,7 @@ def create_problem_with_debug_info(problem_class): The problem class including its debuglevel and the logging list and logger. """ # TODO: currently only the default settings can be used to check the scaling. - logger, logs_list = create_log_list_scaling() + logger, logs_list = create_log_list_scaling("rtctools") class ProblemClassScaling(problem_class): _debug_check_level = DebugLevel.VERYHIGH From 464471002fa0285261411adb3dd57c9ed34078da Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 20 Aug 2024 10:49:16 +0200 Subject: [PATCH 210/376] Starting point (#148) * Starting with changelog file to give info of code changes --- CHANGELOG.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..47cc03af3 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,23 @@ +# [Unreleased] - 2024-08-16 + +## Added +- xxxx + +## Changed +- xxxx + +## Fixed +- xxxx + +# [0.1.7] - 2024-08-16 + +## Added +- xxxx + +## Changed +- xxxx + +## Fixed +- xxxx + + From d7972074f600abdcc5b67b4d41fa9f97a82557b9 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 20 Aug 2024 15:25:15 +0200 Subject: [PATCH 211/376] Logical links (#138) Conversion of logical links in ESDL between assets, without a pipe or cable (transport assets) connected in between can now also be used in MESIDO. The connection of assets with logical links, does not have equalities between the ports for head, hydraulic power and voltage as those are linked to transport assets. The retry loop in the esdl_model_base.py has also been replaced, now first all transport assets are added before other assets are created. Tests have been included. --------- Co-authored-by: Rojer --- CHANGELOG.md | 6 +- src/mesido/asset_sizing_mixin.py | 6 + src/mesido/component_type_mixin.py | 231 +++++----- src/mesido/esdl/asset_to_component_base.py | 402 +++++++++++++----- src/mesido/esdl/esdl_heat_model.py | 113 ++--- src/mesido/esdl/esdl_mixin.py | 3 +- src/mesido/esdl/esdl_model_base.py | 202 +++++++-- src/mesido/financial_mixin.py | 65 +++ src/mesido/gas_physics_mixin.py | 11 - src/mesido/heat_physics_mixin.py | 4 + .../milp/electricity/electricity_base.py | 2 +- .../component_library/milp/gas/compressor.py | 7 + .../component_library/milp/gas/gas_base.py | 1 - .../component_library/milp/gas/gas_demand.py | 2 + .../component_library/milp/gas/gas_pipe.py | 2 - .../component_library/milp/gas/gas_source.py | 2 + .../milp/gas/gas_substation.py | 7 + .../milp/gas/gas_tank_storage.py | 2 + src/mesido/pycml/model_base.py | 39 ++ src/mesido/util.py | 2 +- .../model/emerge_with_logical_links.esdl | 87 ++++ tests/models/emerge/src/example.py | 2 +- tests/models/heatpump/src/run_heat_pump.py | 2 +- ...ourcesink_with_node2node_logical_link.esdl | 111 +++++ .../model/Electric_bus4_logical_links.esdl | 33 ++ .../bus_networks/src/example.py | 2 +- .../input/timeseries_electrolyzer_general.csv | 2 +- .../electrolyzer/src/example.py | 2 + .../model/test_logical_links.esdl | 36 ++ .../multi_demand_source_node/src/run_test.py | 14 +- .../model/split_with_logical_link.esdl | 59 +++ tests/test_heat.py | 2 +- tests/test_logical_links.py | 197 +++++++++ tests/test_multicommodity.py | 9 +- tests/test_warmingup_unit_cases.py | 2 +- tests/utils_tests.py | 5 +- 36 files changed, 1311 insertions(+), 363 deletions(-) create mode 100644 tests/models/emerge/model/emerge_with_logical_links.esdl create mode 100644 tests/models/source_pipe_split_sink/model/sourcesink_with_node2node_logical_link.esdl create mode 100644 tests/models/unit_cases_electricity/bus_networks/model/Electric_bus4_logical_links.esdl create mode 100644 tests/models/unit_cases_gas/multi_demand_source_node/model/test_logical_links.esdl create mode 100644 tests/models/unit_cases_gas/source_pipe_split_sink/model/split_with_logical_link.esdl create mode 100644 tests/test_logical_links.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 47cc03af3..91ca42133 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,10 @@ -# [Unreleased] - 2024-08-16 +# [Unreleased] - 2024-08-20 ## Added -- xxxx +- Functionality to connect assets with logical links ## Changed -- xxxx +- Replaced Retry loop to connect all assets and apply the correct modifiers of the linked assets ## Fixed - xxxx diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index e5d851262..8b9a0b60a 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -879,32 +879,38 @@ def _make_max_size_var(name, lb, ub, nominal): for asset_name in self.energy_system_components.get("gas_tank_storage", []): ub = bounds[f"{asset_name}.Stored_gas_mass"][1] + ub = ub if isinstance(ub, float) else max(ub.values) lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("gas_substation", []): ub = bounds[f"{asset_name}.GasIn.Q"][1] + ub = ub if isinstance(ub, float) else max(ub.values) lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("compressor", []): ub = bounds[f"{asset_name}.GasIn.Q"][1] + ub = ub if isinstance(ub, float) else max(ub.values) lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("electrolyzer", []): ub = bounds[f"{asset_name}.ElectricityIn.Power"][1] + ub = ub if isinstance(ub, float) else max(ub.values) lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("electricity_demand", []): v = bounds[f"{asset_name}.Electricity_demand"][1] ub = v if not np.isinf(v) else bounds[f"{asset_name}.ElectricityIn.Power"][1] + ub = ub if isinstance(ub, float) else max(ub.values) lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("transformer", []): ub = bounds[f"{asset_name}.ElectricityIn.Power"][1] + ub = ub if isinstance(ub, float) else max(ub.values) lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) diff --git a/src/mesido/component_type_mixin.py b/src/mesido/component_type_mixin.py index 5b6437085..8c0d2a3ec 100644 --- a/src/mesido/component_type_mixin.py +++ b/src/mesido/component_type_mixin.py @@ -5,6 +5,8 @@ from mesido.heat_network_common import NodeConnectionDirection from mesido.topology import Topology +import numpy as np + from pymoca.backends.casadi.alias_relation import AliasRelation logger = logging.getLogger("mesido") @@ -34,46 +36,62 @@ def pre(self): gas_nodes = components.get("gas_node", []) buffers = components.get("heat_buffer", []) atess = [*components.get("ates", []), *components.get("low_temperature_ates", [])] - try: - pipes = components["heat_pipe"] - cables = components.get("electricity_cable", []) - gas_pipes = components.get("gas_pipe", []) - except KeyError: - try: - cables = components["electricity_cable"] - gas_pipes = components.get("gas_pipe", []) - pipes = [] - except KeyError: - try: - cables = [] - gas_pipes = components["gas_pipe"] - pipes = [] - except KeyError: - logger.error( - "A valid network should have at least one pipe/cable, " - "assets cannot be connected directly" - ) + pipes = components.get("heat_pipe", []) + + # An energy system should have at least one asset. + assert len(components) > 1 # Figure out which pipes are connected to which nodes, which pipes # are connected in series, and which pipes are connected to which buffers. pipes_set = set(pipes) - cables_set = set(cables) - gas_pipes_set = set(gas_pipes) parameters = [self.parameters(e) for e in range(self.ensemble_size)] node_connections = {} bus_connections = {} gas_node_connections = {} - # Figure out if we are dealing with a Heat model, or a QTH model - try: - if len(pipes): - _ = self.variable(f"{pipes[0]}.HeatIn.Heat") - heat_network_model_type = "Heat" - else: - heat_network_model_type = "Heat" - except KeyError: - heat_network_model_type = "QTH" + heat_network_model_type = "Heat" + + # Note that a pipe series can include both hot and cold pipes for + # QTH models. It is only about figuring out which pipes are + # related direction-wise. + # For Heat models, only hot pipes are allowed to be part of pipe + # series, as the cold part is zero milp by construction. + if heat_network_model_type == "QTH": + alias_relation = self.alias_relation + elif heat_network_model_type == "Heat": + # There is no proper AliasRelation yet (because there is milp loss in pipes). + # So we build one, as that is the easiest way to figure out which pipes are + # connected to each other in series. We do this by making a temporary/shadow + # discharge (".Q") variable per pipe, as that way we can share the processing + # logic for determining pipe series with that of QTH models. + alias_relation = AliasRelation() + + # Look for aliases only in the hot pipes. All cold pipes are zero by convention anyway. + hot_pipes = self.hot_pipes.copy() + + pipes_map = {f"{pipe}.HeatIn.Heat": pipe for pipe in hot_pipes} + pipes_map.update({f"{pipe}.HeatOut.Heat": pipe for pipe in hot_pipes}) + + for p in hot_pipes: + for port in ["In", "Out"]: + heat_port = f"{p}.Heat{port}.Heat" + connected = self.alias_relation.aliases(heat_port).intersection( + pipes_map.keys() + ) + connected.remove(heat_port) + + if connected: + other_pipe_port = next(iter(connected)) + if other_pipe_port.endswith(f".Heat{port}.Heat"): + sign_prefix = "-" + else: + sign_prefix = "" + other_pipe = pipes_map[other_pipe_port] + if f"{other_pipe}.Q" not in alias_relation.canonical_variables: + alias_relation.add(f"{p}.Q", f"{sign_prefix}{other_pipe}.Q") + + node_to_node_logical_link_map = {} for n in [*nodes, *busses, *gas_nodes]: n_connections = [ens_params[f"{n}.n"] for ens_params in parameters] @@ -99,91 +117,106 @@ def pre(self): if n in nodes: cur_port = f"{n}.{heat_network_model_type}Conn[{i + 1}]" prop = "T" if heat_network_model_type == "QTH" else "Heat" + prop_h = "H" in_suffix = ".QTHIn.T" if heat_network_model_type == "QTH" else ".HeatIn.Heat" out_suffix = ( ".QTHOut.T" if heat_network_model_type == "QTH" else ".HeatOut.Heat" ) + in_suffix_h = ".HeatIn.H" + out_suffix_h = ".HeatOut.H" + node_suffix = ".HeatConn[1].Heat" elif n in busses: cur_port = f"{n}.ElectricityConn[{i + 1}]" prop = "Power" + prop_h = "V" in_suffix = ".ElectricityIn.Power" out_suffix = ".ElectricityOut.Power" + in_suffix_h = ".ElectricityIn.V" + out_suffix_h = ".ElectricityOut.V" + node_suffix = ".ElectricityConn[1].Power" elif n in gas_nodes: # TODO: Ideally a temporary variable would be created to make the connections # map that is not passed to the problem cur_port = f"{n}.GasConn[{i + 1}]" - prop = "Q_shadow" - in_suffix = ".GasIn.Q_shadow" - out_suffix = ".GasOut.Q_shadow" + prop = "Q" + prop_h = "H" + in_suffix = ".GasIn.Q" + out_suffix = ".GasOut.Q" + in_suffix_h = ".GasIn.H" + out_suffix_h = ".GasOut.H" + node_suffix = ".GasConn[1].Q" aliases = [ x for x in self.alias_relation.aliases(f"{cur_port}.{prop}") if not x.startswith(n) and x.endswith(f".{prop}") ] - if len(aliases) > 1: - raise Exception(f"More than one connection to {cur_port}") - elif len(aliases) == 0: + if len(aliases) == 0: raise Exception(f"Found no connection to {cur_port}") - if aliases[0].endswith(out_suffix): - pipe_w_orientation = ( + # Here we make a count of the amount of in and out port aliases. + in_suffix_count = np.sum([1 if x.endswith(in_suffix) else 0 for x in aliases]) + out_suffix_count = np.sum([1 if x.endswith(out_suffix) else 0 for x in aliases]) + + # Here we gather the aliases for a property that is equal for all node ports. + aliases_h = [ + x + for x in self.alias_relation.aliases(f"{cur_port}.{prop_h}") + if not x.startswith(n) and x.endswith(f".{prop_h}") + ] + pipe_out_port = False + # We can have multiple aliases, specifically when a pipe is connected to a port the + # direction of that pipe matters. To determine if the connected alias is a pipe and + # which direction it has we look for the overlap between the prop and prop_h in the + # aliases. This means that if a pipe is both in the aliases and in the aliases_h, + # then that must be the pipe connected to the port of the node. + for k in range(len(aliases)): + pipe_name = aliases[k].split(".")[0] + if pipe_name + out_suffix_h in aliases_h: + pipe_out_port = True + node_connection_direction = NodeConnectionDirection.IN + elif pipe_name + in_suffix_h in aliases_h: + pipe_out_port = True + node_connection_direction = NodeConnectionDirection.OUT + + if pipe_out_port: + # This is only for when a pipe is connected to a gas node to determine direction + asset_w_orientation = ( + pipe_name, + node_connection_direction, + ) + elif out_suffix_count > in_suffix_count: + # This is for the case of Non pipe asset is logically linked to a node + asset_w_orientation = ( aliases[0][: -len(out_suffix)], NodeConnectionDirection.IN, ) - else: - assert aliases[0].endswith(in_suffix) - pipe_w_orientation = ( + elif out_suffix_count < in_suffix_count: + # This is for the case of Non pipe asset is logically linked to a node + asset_w_orientation = ( aliases[0][: -len(in_suffix)], NodeConnectionDirection.OUT, ) + elif out_suffix_count == in_suffix_count: + # This is for the case of logical links between node to node + # Note that we cannot determine the direction of node to node logical links, we + # therefore, always take the first node with an in port and the second node with + # and out port. + if n not in list(node_to_node_logical_link_map.values()): + node_to_node_logical_link_map[n] = aliases[0][: -len(node_suffix)] + asset_w_orientation = ( + aliases[0][: -len(node_suffix)], + NodeConnectionDirection.IN, + ) + else: + asset_w_orientation = ( + aliases[0][: -len(node_suffix)], + NodeConnectionDirection.OUT, + ) + else: + logger.error("connections are not properly matched") - assert ( - pipe_w_orientation[0] in pipes_set - or pipe_w_orientation[0] in cables_set - or pipe_w_orientation[0] in gas_pipes_set - ) - - connected_pipes[i] = pipe_w_orientation - - # Note that a pipe series can include both hot and cold pipes for - # QTH models. It is only about figuring out which pipes are - # related direction-wise. - # For Heat models, only hot pipes are allowed to be part of pipe - # series, as the cold part is zero milp by construction. - if heat_network_model_type == "QTH": - alias_relation = self.alias_relation - elif heat_network_model_type == "Heat": - # There is no proper AliasRelation yet (because there is milp loss in pipes). - # So we build one, as that is the easiest way to figure out which pipes are - # connected to each other in series. We do this by making a temporary/shadow - # discharge (".Q") variable per pipe, as that way we can share the processing - # logic for determining pipe series with that of QTH models. - alias_relation = AliasRelation() - - # Look for aliases only in the hot pipes. All cold pipes are zero by convention anyway. - hot_pipes = self.hot_pipes.copy() - - pipes_map = {f"{pipe}.HeatIn.Heat": pipe for pipe in hot_pipes} - pipes_map.update({f"{pipe}.HeatOut.Heat": pipe for pipe in hot_pipes}) - - for p in hot_pipes: - for port in ["In", "Out"]: - heat_port = f"{p}.Heat{port}.Heat" - connected = self.alias_relation.aliases(heat_port).intersection( - pipes_map.keys() - ) - connected.remove(heat_port) - - if connected: - other_pipe_port = next(iter(connected)) - if other_pipe_port.endswith(f".Heat{port}.Heat"): - sign_prefix = "-" - else: - sign_prefix = "" - other_pipe = pipes_map[other_pipe_port] - if f"{other_pipe}.Q" not in alias_relation.canonical_variables: - alias_relation.add(f"{p}.Q", f"{sign_prefix}{other_pipe}.Q") + connected_pipes[i] = asset_w_orientation canonical_pipe_qs = {p: alias_relation.canonical_signed(f"{p}.Q") for p in pipes} # Move sign from canonical to alias @@ -225,25 +258,25 @@ def pre(self): out_suffix = ".QTHOut.T" if heat_network_model_type == "QTH" else ".HeatOut.Heat" alias = aliases[0] if alias.endswith(out_suffix): - pipe_w_orientation = ( + asset_w_orientation = ( alias[: -len(out_suffix)], NodeConnectionDirection.IN, ) else: assert alias.endswith(in_suffix) - pipe_w_orientation = ( + asset_w_orientation = ( alias[: -len(in_suffix)], NodeConnectionDirection.OUT, ) - assert pipe_w_orientation[0] in pipes_set + assert asset_w_orientation[0] in pipes_set if k == "In": - assert self.is_hot_pipe(pipe_w_orientation[0]) + assert self.is_hot_pipe(asset_w_orientation[0]) else: - assert self.is_cold_pipe(pipe_w_orientation[0]) + assert self.is_cold_pipe(asset_w_orientation[0]) - buffer_connections[b].append(pipe_w_orientation) + buffer_connections[b].append(asset_w_orientation) buffer_connections[b] = tuple(buffer_connections[b]) @@ -270,25 +303,25 @@ def pre(self): out_suffix = ".QTHOut.T" if heat_network_model_type == "QTH" else ".HeatOut.Heat" if aliases[0].endswith(out_suffix): - pipe_w_orientation = ( + asset_w_orientation = ( aliases[0][: -len(out_suffix)], NodeConnectionDirection.IN, ) else: assert aliases[0].endswith(in_suffix) - pipe_w_orientation = ( + asset_w_orientation = ( aliases[0][: -len(in_suffix)], NodeConnectionDirection.OUT, ) - assert pipe_w_orientation[0] in pipes_set + assert asset_w_orientation[0] in pipes_set if k == "Out": - assert self.is_cold_pipe(pipe_w_orientation[0]) + assert self.is_cold_pipe(asset_w_orientation[0]) else: - assert self.is_hot_pipe(pipe_w_orientation[0]) + assert self.is_hot_pipe(asset_w_orientation[0]) - ates_connections[a].append(pipe_w_orientation) + ates_connections[a].append(asset_w_orientation) ates_connections[a] = tuple(ates_connections[a]) diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index a082a4e90..0225cf55e 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -5,11 +5,14 @@ from pathlib import Path from typing import Any, Dict, Tuple, Type, Union +import CoolProp as cP + import esdl from esdl import TimeUnitEnum, UnitEnum from mesido.esdl._exceptions import _RetryLaterException from mesido.esdl.common import Asset +from mesido.network_common import NetworkSettings from mesido.pycml import Model as _Model @@ -42,6 +45,79 @@ } +def get_internal_energy(asset_name, carrier): + # The default of 20°C is also used in the head_loss_class. Thus, when updating ensure it + # is also updated in the head_loss_class. + temperature = 20.0 + + if NetworkSettings.NETWORK_TYPE_GAS in carrier.name: + internal_energy = cP.CoolProp.PropsSI( + "U", + "T", + 273.15 + temperature, + "P", + carrier.pressure * 1.0e5, + NetworkSettings.NETWORK_COMPOSITION_GAS, + ) + elif NetworkSettings.NETWORK_TYPE_HYDROGEN in carrier.name: + internal_energy = cP.CoolProp.PropsSI( + "U", + "T", + 273.15 + temperature, + "P", + carrier.pressure * 1.0e5, + str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper(), + ) + else: + logger.warning( + f"Neither gas or hydrogen was used in the carrier " f"name of pipe {asset_name}" + ) + internal_energy = 46.0e6 # natural gas at about 8 bar + return internal_energy # we use gram per second and coolprop gives results in kJ per kg + + +def get_density(asset_name, carrier): + # TODO: gas carrier temperature still needs to be resolved. + # The default of 20°C is also used in the head_loss_class. Thus, when updating ensure it + # is also updated in the head_loss_class. + temperature = 20.0 + + if NetworkSettings.NETWORK_TYPE_GAS in carrier.name: + density = cP.CoolProp.PropsSI( + "D", + "T", + 273.15 + temperature, + "P", + carrier.pressure * 1.0e5, + NetworkSettings.NETWORK_COMPOSITION_GAS, + ) + elif NetworkSettings.NETWORK_TYPE_HYDROGEN in carrier.name: + density = cP.CoolProp.PropsSI( + "D", + "T", + 273.15 + temperature, + "P", + carrier.pressure * 1.0e5, + str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper(), + ) + elif NetworkSettings.NETWORK_TYPE_HEAT in carrier.name: + density = cP.CoolProp.PropsSI( + "D", + "T", + 273.15 + temperature, + "P", + 16.0e5, + "INCOMP::Water", + ) + return density # to convert from kg/m3 + else: + logger.warning( + f"Neither water, gas or hydrogen was used in the carrier " f"name of pipe {asset_name}" + ) + density = 6.2 # natural gas at about 8 bar + return density * 1.0e3 # to convert from kg/m3 to g/m3 + + class _AssetToComponentBase: # A map of pipe class name to edr asset in _edr_pipes.json STEEL_S1_PIPE_EDR_ASSETS = { @@ -116,6 +192,8 @@ class _AssetToComponentBase: primary_port_name_convention = "primary" secondary_port_name_convention = "secondary" + __power_keys = ["power", "maxDischargeRate", "maxChargeRate"] + def __init__(self, **kwargs): """ In this init we initialize some dicts and we load the edr pipes. @@ -136,6 +214,25 @@ def convert(self, asset: Asset) -> Tuple[Type[_Model], MODIFIERS]: With more descriptive variable names the return type would be: Tuple[pycml_heat_component_type, Dict[component_attribute, new_attribute_value]] """ + + dispatch_method_name = f"convert_{self.component_map[asset.asset_type]}" + return getattr(self, dispatch_method_name)(asset) + + def port_asset_type_connections(self, asset): + """ + Here we populate a map between ports and asset types that we need before we can convert + the individual assets. This is because for the parsing of some assets we need to know if + they are connected to a certain type of asset, like a is disconnectable depending on which + asset type it is connected. + + Parameters + ---------- + asset : Asset pipe object with it's properties from ESDL + + Returns + ------- + None + """ ports = [] if asset.in_ports is not None: ports.extend(asset.in_ports) @@ -146,9 +243,6 @@ def convert(self, asset: Asset) -> Tuple[Type[_Model], MODIFIERS]: for port in ports: self._port_to_esdl_component_type[port] = asset.asset_type - dispatch_method_name = f"convert_{self.component_map[asset.asset_type]}" - return getattr(self, dispatch_method_name)(asset) - def _pipe_get_diameter_and_insulation(self, asset: Asset) -> Tuple[float, list, list]: """ There are multiple ways to specify pipe properties like inner-diameter and @@ -355,28 +449,55 @@ def _set_electricity_current_nominal_and_max( pass def _get_connected_q_max(self, asset: Asset) -> float: - if asset.in_ports is None or asset.asset_type == "Electrolyzer": - connected_port = asset.out_ports[0].connectedTo[0] - q_max = self._port_to_q_max.get(connected_port, None) - if q_max is not None: - self._set_q_nominal(asset, q_max) - return q_max - else: - raise _RetryLaterException( - f"Could not determine max discharge for {asset.asset_type} '{asset.name}'" + if asset.in_ports is not None and asset.asset_type != "Electrolyzer": + for port in asset.in_ports: + connected_port = port.connectedTo[0] + q_max = ( + self._port_to_q_max.get(connected_port, None) + if self._port_to_q_max.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + / ( + get_density(asset.name, port.carrier) + * get_internal_energy(asset.name, port.carrier) + / 1.0e3 + ) ) - elif asset.out_ports is None: - connected_port = asset.in_ports[0].connectedTo[0] - q_max = self._port_to_q_max.get(connected_port, None) - if q_max is not None: - self._set_q_max(asset, q_max) - return q_max - else: - raise _RetryLaterException( - f"Could not determine max discharge for {asset.asset_type} '{asset.name}'" + if q_max is not None: + self._set_q_max(asset, q_max) + return q_max + else: + logger.error( + f"Tried to get the maximum flow for {asset.name}, however this was never " + f"set" + ) + elif asset.out_ports is not None: + for port in asset.out_ports: + connected_port = port.connectedTo[0] + q_max = ( + self._port_to_q_max.get(connected_port, None) + if self._port_to_q_max.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + / ( + get_density(asset.name, port.carrier) + * get_internal_energy(asset.name, port.carrier) + / 1.0e3 + ) ) + if q_max is not None: + self._set_q_max(asset, q_max) + return q_max + else: + logger.error( + f"Tried to get the maximum flow for {asset.name}, however this was never " + f"set" + ) + else: + logger.error( + f"Tried to get the maximum flow for {asset.name}, however this was never set" + ) def _get_connected_i_nominal_and_max(self, asset: Asset) -> Tuple[float, float]: + if ( asset.in_ports is not None and asset.out_ports is not None @@ -386,32 +507,56 @@ def _get_connected_i_nominal_and_max(self, asset: Asset) -> Tuple[float, float]: and isinstance(asset.out_ports[0].carrier, esdl.ElectricityCommodity) ): # Transformer connected_port = asset.out_ports[0].connectedTo[0] - i_max_out = self._port_to_i_max.get(connected_port, None) - i_nom_out = self._port_to_i_nominal.get(connected_port, None) + i_max_out = ( + self._port_to_i_max.get(connected_port, None) + if self._port_to_i_max.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + ) + i_nom_out = ( + self._port_to_i_nominal.get(connected_port, None) + if self._port_to_i_nominal.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + ) connected_port = asset.in_ports[0].connectedTo[0] - i_max_in = self._port_to_i_max.get(connected_port, None) - i_nom_in = self._port_to_i_nominal.get(connected_port, None) - if i_nom_in is not None and i_nom_out is not None: + i_max_in = ( + self._port_to_i_max.get(connected_port, None) + if self._port_to_i_max.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + ) + i_nom_in = ( + self._port_to_i_nominal.get(connected_port, None) + if self._port_to_i_nominal.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + ) + if i_nom_in > 0.0 and i_nom_out > 0.0: self._port_to_i_nominal[asset.in_ports[0]] = i_nom_in self._port_to_i_max[asset.in_ports[0]] = i_max_in self._port_to_i_nominal[asset.out_ports[0]] = i_nom_out self._port_to_i_max[asset.out_ports[0]] = i_max_out return i_max_in, i_nom_in, i_max_out, i_nom_out else: - raise _RetryLaterException( + raise logger.error( f"Could not determine max and nominal current for {asset.asset_type}" " '{asset.name}'" ) elif asset.in_ports is None: connected_port = asset.out_ports[0].connectedTo[0] - i_max = self._port_to_i_max.get(connected_port, None) - i_nom = self._port_to_i_nominal.get(connected_port, None) - if i_max is not None: + i_max = ( + self._port_to_i_max.get(connected_port, None) + if self._port_to_i_max.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + ) + i_nom = ( + self._port_to_i_nominal.get(connected_port, None) + if self._port_to_i_nominal.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + ) + if i_max > 0.0: self._set_electricity_current_nominal_and_max(asset, i_max, i_nom) return i_max, i_nom else: - raise _RetryLaterException( + raise logger.error( f"Could not determine max and nominal current for {asset.asset_type}" " '{asset.name}'" ) @@ -424,16 +569,24 @@ def _get_connected_i_nominal_and_max(self, asset: Asset) -> Tuple[float, float]: for port in asset.in_ports: if isinstance(port.carrier, esdl.ElectricityCommodity): connected_port = port.connectedTo[0] - i_max = self._port_to_i_max.get(connected_port, None) - i_nom = self._port_to_i_nominal.get(connected_port, None) - if i_max is not None: - self._set_electricity_current_nominal_and_max(asset, i_max, i_nom) - return i_max, i_nom - else: - raise _RetryLaterException( - f"Could not determine max and nominal current for {asset.asset_type}" - f" '{asset.name}'" - ) + i_max = ( + self._port_to_i_max.get(connected_port, None) + if self._port_to_i_max.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + ) + i_nom = ( + self._port_to_i_nominal.get(connected_port, None) + if self._port_to_i_nominal.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + ) + if i_max > 0.0: + self._set_electricity_current_nominal_and_max(asset, i_max, i_nom) + return i_max, i_nom + else: + raise logger.error( + f"Could not determine max and nominal current for {asset.asset_type}" + f" '{asset.name}'" + ) def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: """ @@ -451,70 +604,95 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: Either the connected nominal flow [m3/s] if it is only connected to one hydraulic system, otherwise a dict with the flow nominals of both the primary and secondary side. """ - if asset.in_ports is None: - connected_port = asset.out_ports[0].connectedTo[0] - q_nominal = self._port_to_q_nominal.get(connected_port, None) - if q_nominal is not None: - self._set_q_nominal(asset, q_nominal) - return q_nominal - else: - raise _RetryLaterException( - f"Could not determine nominal discharge for {asset.asset_type} '{asset.name}'" - ) - elif asset.out_ports is None: - connected_port = asset.in_ports[0].connectedTo[0] - q_nominal = self._port_to_q_nominal.get(connected_port, None) - if q_nominal is not None: - self._set_q_nominal(asset, q_nominal) - return q_nominal - else: - raise _RetryLaterException( - f"Could not determine nominal discharge for {asset.asset_type} '{asset.name}'" - ) - elif ( - len(asset.in_ports) == 1 + + if ( + asset.in_ports is not None + and asset.out_ports is not None + and len(asset.in_ports) == 1 and len(asset.out_ports) == 1 and asset.in_ports[0].carrier.id != asset.out_ports[0].carrier.id and isinstance(asset.in_ports[0].carrier, esdl.GasCommodity) and isinstance(asset.out_ports[0].carrier, esdl.GasCommodity) ): # Cater for gas substation - try: - connected_port = asset.in_ports[0].connectedTo[0] - q_nominal_in = self._port_to_q_nominal[connected_port] - except KeyError: - connected_port = asset.out_ports[0].connectedTo[0] - q_nominal_out = self._port_to_q_nominal.get(connected_port, None) - - try: - connected_port = asset.out_ports[0].connectedTo[0] - q_nominal_out = self._port_to_q_nominal[connected_port] - except KeyError: - connected_port = asset.in_ports[0].connectedTo[0] - q_nominal_in = self._port_to_q_nominal.get(connected_port, None) + connected_port = asset.in_ports[0].connectedTo[0] + q_nominal_in = ( + self._port_to_q_nominal.get(connected_port, None) + if self._port_to_q_nominal.get(connected_port, False) + else 0.0 + ) + connected_port = asset.out_ports[0].connectedTo[0] + q_nominal_out = ( + self._port_to_q_nominal.get(connected_port, None) + if self._port_to_q_nominal.get(connected_port, False) + else 0.0 + ) - if q_nominal_in is not None and q_nominal_out is not None: + if q_nominal_in > 0.0 and q_nominal_out > 0.0: self._port_to_q_nominal[asset.in_ports[0]] = q_nominal_in self._port_to_q_nominal[asset.out_ports[0]] = q_nominal_out return q_nominal_in, q_nominal_out - else: - raise _RetryLaterException( - f"Could not determine nominal discharge for {asset.asset_type} '{asset.name}'" - ) - elif len(asset.in_ports) == 1 and len(asset.out_ports) == 1: - try: - connected_port = asset.in_ports[0].connectedTo[0] - q_nominal = self._port_to_q_nominal[connected_port] - except KeyError: - connected_port = asset.out_ports[0].connectedTo[0] - q_nominal = self._port_to_q_nominal.get(connected_port, None) - - if q_nominal is not None: - self._set_q_nominal(asset, q_nominal) - return q_nominal - else: - raise _RetryLaterException( - f"Could not determine nominal discharge for {asset.asset_type} '{asset.name}'" - ) + elif ( + asset.in_ports is not None + and asset.out_ports is not None + and len(asset.in_ports) == 1 + and len(asset.out_ports) == 1 + ): + for port in [*asset.in_ports, *asset.out_ports]: + if isinstance(port.carrier, esdl.GasCommodity) or isinstance( + port.carrier, esdl.HeatCommodity + ): + connected_port = port.connectedTo[0] + q_nominal = ( + self._port_to_q_nominal.get(connected_port, None) + if self._port_to_q_nominal.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + / ( + get_density(asset.name, port.carrier) + * get_internal_energy(asset.name, port.carrier) + / 1.0e3 + ) + ) + if q_nominal is not None: + self._set_q_nominal(asset, q_nominal) + return q_nominal + elif asset.in_ports is not None and asset.out_ports is None and len(asset.in_ports) == 1: + for port in asset.in_ports: + if isinstance(port.carrier, esdl.GasCommodity) or isinstance( + port.carrier, esdl.HeatCommodity + ): + connected_port = port.connectedTo[0] + q_nominal = ( + self._port_to_q_nominal.get(connected_port, None) + if self._port_to_q_nominal.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + / ( + get_density(asset.name, port.carrier) + * get_internal_energy(asset.name, port.carrier) + / 1.0e3 + ) + ) + if q_nominal is not None: + self._set_q_nominal(asset, q_nominal) + return q_nominal + elif asset.out_ports is not None and asset.in_ports is None and len(asset.out_ports) == 1: + for port in asset.out_ports: + if isinstance(port.carrier, esdl.GasCommodity) or isinstance( + port.carrier, esdl.HeatCommodity + ): + connected_port = port.connectedTo[0] + q_nominal = ( + self._port_to_q_nominal.get(connected_port, None) + if self._port_to_q_nominal.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + / ( + get_density(asset.name, port.carrier) + * get_internal_energy(asset.name, port.carrier) + / 1.0e3 + ) + ) + if q_nominal is not None: + self._set_q_nominal(asset, q_nominal) + return q_nominal elif len(asset.in_ports) == 2 and len(asset.out_ports) == 1: # for gas_boiler or e_boiler q_nominals = {} try: @@ -534,17 +712,22 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: except KeyError: if isinstance(asset.out_ports[0].carrier, esdl.GasCommodity): connected_port = asset.out_ports[0].connectedTo[0] - q_nominals["Q_nominal"] = self._port_to_q_nominal.get(connected_port, None) + q_nominals["Q_nominal"] = ( + self._port_to_q_nominal.get(connected_port, None) + if self._port_to_q_max.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + / ( + get_density(asset.name, port.carrier) + * get_internal_energy(asset.name, port.carrier) + / 1.0e3 + ) + ) else: logger.error(f"{asset.name} should have a heat carrier on out port") if q_nominals["Q_nominal"] is not None: self._port_to_q_nominal[asset.out_ports[0]] = q_nominals["Q_nominal"] return q_nominals - else: - raise _RetryLaterException( - f"Could not determine nominal discharge for {asset.asset_type} '{asset.name}'" - ) elif len(asset.in_ports) >= 2 and len(asset.out_ports) == 2: q_nominals = {} for p in asset.in_ports: @@ -560,7 +743,16 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: q_nominal = self._port_to_q_nominal[connected_port] except KeyError: connected_port = out_port.connectedTo[0] - q_nominal = self._port_to_q_nominal.get(connected_port, None) + q_nominal = ( + self._port_to_q_nominal.get(connected_port, None) + if self._port_to_q_max.get(connected_port, False) + else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + / ( + get_density(asset.name, p.carrier) + * get_internal_energy(asset.name, p.carrier) + / 1.0e3 + ) + ) if q_nominal is not None: self._port_to_q_nominal[p] = q_nominal self._port_to_q_nominal[out_port] = q_nominal @@ -568,11 +760,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: q_nominals["Secondary"] = {"Q_nominal": q_nominal} else: q_nominals["Primary"] = {"Q_nominal": q_nominal} - else: - raise _RetryLaterException( - f"Could not determine nominal discharge for {asset.asset_type} " - f"{asset.name}" - ) + return q_nominals def _get_cost_figure_modifiers(self, asset: Asset) -> Dict: diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 76bcb89e7..6306fe60d 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -2,14 +2,16 @@ import math from typing import Dict, Tuple, Type, Union -import CoolProp as cP - import esdl -from mesido.esdl.asset_to_component_base import MODIFIERS, _AssetToComponentBase +from mesido.esdl.asset_to_component_base import ( + MODIFIERS, + _AssetToComponentBase, + get_density, + get_internal_energy, +) from mesido.esdl.common import Asset from mesido.esdl.esdl_model_base import _ESDLModelBase -from mesido.network_common import NetworkSettings from mesido.pycml.component_library.milp import ( ATES, AirWaterHeatPump, @@ -99,67 +101,6 @@ def _rho_cp_modifiers(self) -> Dict: """ return dict(rho=self.rho, cp=self.cp) - def get_internal_energy(self, asset_name, carrier): - # The default of 20°C is also used in the head_loss_class. Thus, when updating ensure it - # is also updated in the head_loss_class. - temperature = 20.0 - - if NetworkSettings.NETWORK_TYPE_GAS in carrier.name: - internal_energy = cP.CoolProp.PropsSI( - "U", - "T", - 273.15 + temperature, - "P", - carrier.pressure * 1.0e5, - NetworkSettings.NETWORK_COMPOSITION_GAS, - ) - elif NetworkSettings.NETWORK_TYPE_HYDROGEN in carrier.name: - internal_energy = cP.CoolProp.PropsSI( - "U", - "T", - 273.15 + temperature, - "P", - carrier.pressure * 1.0e5, - str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper(), - ) - else: - logger.warning( - f"Neither gas or hydrogen was used in the carrier " f"name of pipe {asset_name}" - ) - internal_energy = 46.0e6 # natural gas at about 8 bar - return internal_energy # we use gram per second and coolprop gives results in kJ per kg - - def get_density(self, asset_name, carrier): - # TODO: gas carrier temperature still needs to be resolved. - # The default of 20°C is also used in the head_loss_class. Thus, when updating ensure it - # is also updated in the head_loss_class. - temperature = 20.0 - - if NetworkSettings.NETWORK_TYPE_GAS in carrier.name: - density = cP.CoolProp.PropsSI( - "D", - "T", - 273.15 + temperature, - "P", - carrier.pressure * 1.0e5, - NetworkSettings.NETWORK_COMPOSITION_GAS, - ) - elif NetworkSettings.NETWORK_TYPE_HYDROGEN in carrier.name: - density = cP.CoolProp.PropsSI( - "D", - "T", - 273.15 + temperature, - "P", - carrier.pressure * 1.0e5, - str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper(), - ) - else: - logger.warning( - f"Neither gas or hydrogen was used in the carrier " f"name of pipe {asset_name}" - ) - density = 6.2 # natural gas at about 8 bar - return density * 1.0e3 # to convert from kg/m3 to g/m3 - def get_asset_attribute_value( self, asset: Asset, @@ -653,7 +594,7 @@ def convert_heat_pipe( q_max = math.pi * diameter**2 / 4.0 * self.v_max_gas self._set_q_max(asset, q_max) pressure = asset.in_ports[0].carrier.pressure * 1.0e5 - density = self.get_density(asset.name, asset.in_ports[0].carrier) + density = get_density(asset.name, asset.in_ports[0].carrier) bounds_nominals = dict( Q=dict(min=-q_max, max=q_max, nominal=q_nominal), mass_flow=dict( @@ -1881,13 +1822,11 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: ] # DO not remove due usage in future # hydrogen_specfic_energy = 20.0 / 1.0e6 - specific_energy = ( - self.get_internal_energy(asset.name, asset.in_ports[0].carrier) / 10 - ) # J/g + specific_energy = get_internal_energy(asset.name, asset.in_ports[0].carrier) / 10 # J/g # TODO: the value being used is the internal energy and not the HHV (higher # heating value) for hydrogen, therefore it does not represent the energy per weight. # This still needs to be updated - density = self.get_density(asset.name, asset.in_ports[0].carrier) + density = get_density(asset.name, asset.in_ports[0].carrier) pressure = asset.in_ports[0].carrier.pressure * 1.0e5 q_nominal = self._get_connected_q_nominal(asset) q_max = self._get_connected_q_max(asset) @@ -1904,7 +1843,7 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: # *hydrogen_specfic_energy), density=density, GasIn=dict( - Q=dict(min=0.0, max=q_max, nominal=q_nominal), + Q=dict(min=0.0, nominal=q_nominal), mass_flow=dict(nominal=mass_flow_nominal_g_per_s, max=max_mass_flow_g_per_s), Hydraulic_power=dict(min=0.0, max=0.0, nominal=q_nominal * pressure), ), @@ -1954,10 +1893,10 @@ def convert_gas_source(self, asset: Asset) -> Tuple[Type[GasSource], MODIFIERS]: assert asset.asset_type in {"GasProducer", "Import"} q_nominal = self._get_connected_q_nominal(asset) - density_value = self.get_density(asset.name, asset.out_ports[0].carrier) + density_value = get_density(asset.name, asset.out_ports[0].carrier) pressure = asset.out_ports[0].carrier.pressure * 1.0e5 specific_energy = ( - self.get_internal_energy(asset.name, asset.out_ports[0].carrier) / 10 + get_internal_energy(asset.name, asset.out_ports[0].carrier) / 10 ) # J/g #TODO: is not the HHV for hydrogen, so is off # [g/s] = [J/s] * [J/kg]^-1 *1000 max_mass_flow_g_per_s = asset.attributes["power"] / specific_energy * 1000.0 @@ -2056,7 +1995,7 @@ def equations(x): a, b, c = fsolve(equations, (0, 0, 0)) q_nominal = self._get_connected_q_nominal(asset) - density = self.get_density(asset.name, asset.out_ports[0].carrier) + density = get_density(asset.name, asset.out_ports[0].carrier) # [g/s] = [W] * [kWh/kg]^-1 * 1/3600 = [g/h] * 1/3600 mass_flow_max_g_per_s = max_power / eff_max_load / 3600 mass_flow_nominal_g_per_s = min(density * q_nominal, mass_flow_max_g_per_s / 2) @@ -2132,7 +2071,7 @@ def convert_gas_tank_storage(self, asset: Asset) -> Tuple[Type[GasTankStorage], # DO not remove due usage in future # hydrogen_specific_energy = 20.0 / 1.0e6 # kg/Wh q_nominal = self._get_connected_q_nominal(asset) - density = self.get_density(asset.name, asset.in_ports[0].carrier) + density = get_density(asset.name, asset.in_ports[0].carrier) pressure = asset.in_ports[0].carrier.pressure * 1.0e5 modifiers = dict( @@ -2191,13 +2130,13 @@ def convert_gas_substation(self, asset: Asset) -> Tuple[Type[GasSubstation], MOD Returns ------- - GasTankStorage class with modifiers + GasSubstation class with modifiers """ assert asset.asset_type in {"GasConversion", "PressureReducingValve"} q_nom_in, q_nom_out = self._get_connected_q_nominal(asset) - density_in = self.get_density(asset.name, asset.in_ports[0].carrier) - density_out = self.get_density(asset.name, asset.out_ports[0].carrier) + density_in = get_density(asset.name, asset.in_ports[0].carrier) + density_out = get_density(asset.name, asset.out_ports[0].carrier) pressure_in = asset.in_ports[0].carrier.pressure * 1.0e5 pressure_out = asset.out_ports[0].carrier.pressure * 1.0e5 @@ -2262,8 +2201,8 @@ def convert_compressor(self, asset: Asset) -> Tuple[Type[Compressor], MODIFIERS] assert asset.asset_type in {"Compressor"} q_nom_in, q_nom_out = self._get_connected_q_nominal(asset) - density_in = self.get_density(asset.name, asset.in_ports[0].carrier) - density_out = self.get_density(asset.name, asset.out_ports[0].carrier) + density_in = get_density(asset.name, asset.in_ports[0].carrier) + density_out = get_density(asset.name, asset.out_ports[0].carrier) pressure_in = asset.in_ports[0].carrier.pressure * 1.0e5 pressure_out = asset.out_ports[0].carrier.pressure * 1.0e5 @@ -2344,8 +2283,8 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: for port in asset.in_ports: if isinstance(port.carrier, esdl.GasCommodity): - density = self.get_density(asset.name, port.carrier) - internal_energy = self.get_internal_energy(asset.name, port.carrier) + density = get_density(asset.name, port.carrier) + internal_energy = get_internal_energy(asset.name, port.carrier) # TODO: CO2 coefficient @@ -2576,7 +2515,13 @@ class ESDLHeatModel(_ESDLModelBase): This probably could be standardized in that case this class would become obsolete. """ - def __init__(self, assets: Dict[str, Asset], converter_class=AssetToHeatComponent, **kwargs): + def __init__( + self, + assets: Dict[str, Asset], + name_to_id_map: Dict[str, str], + converter_class=AssetToHeatComponent, + **kwargs, + ): super().__init__(None) converter = converter_class( @@ -2589,4 +2534,4 @@ def __init__(self, assets: Dict[str, Asset], converter_class=AssetToHeatComponen } ) - self._esdl_convert(converter, assets, "Heat") + self._esdl_convert(converter, assets, name_to_id_map, "MILP") diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index a120096aa..f6caf85c0 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -117,9 +117,10 @@ def __init__(self, *args, **kwargs) -> None: # Although we work with the names, the FEWS import data uses the component IDs self.__timeseries_id_map = {a.id: a.name for a in assets.values()} + name_to_id_map = {a.name: a.id for a in assets.values()} if isinstance(self, PhysicsMixin): - self.__model = ESDLHeatModel(assets, **self.esdl_heat_model_options()) + self.__model = ESDLHeatModel(assets, name_to_id_map, **self.esdl_heat_model_options()) else: assert isinstance(self, QTHMixin) diff --git a/src/mesido/esdl/esdl_model_base.py b/src/mesido/esdl/esdl_model_base.py index 14bb611c9..3b6e655bc 100644 --- a/src/mesido/esdl/esdl_model_base.py +++ b/src/mesido/esdl/esdl_model_base.py @@ -7,8 +7,6 @@ from mesido.esdl.asset_to_component_base import _AssetToComponentBase from mesido.pycml import Model as _Model -from ._exceptions import _RetryLaterException, _SkipAssetException - logger = logging.getLogger("mesido") @@ -27,7 +25,9 @@ class _ESDLModelBase(_Model): primary_port_name_convention = "prim" secondary_port_name_convention = "sec" - def _esdl_convert(self, converter: _AssetToComponentBase, assets: Dict, prefix: str) -> None: + def _esdl_convert( + self, converter: _AssetToComponentBase, assets: Dict, name_to_id_map: Dict, prefix: str + ) -> None: """ In this function we convert the esdl parsed assets and instantiate the pycml objects for those assets. We use the converter to create those pycml objects and the same time we look @@ -47,33 +47,37 @@ def _esdl_convert(self, converter: _AssetToComponentBase, assets: Dict, prefix: # Sometimes we need information of one component in order to convert # another. For example, the nominal discharge of a pipe is used to set # the nominal discharge of its connected components. - retry_assets = list(assets.values()) skip_assets = list() - for _ in range(RETRY_LOOP_LIMIT): - current_assets = retry_assets - retry_assets = [] + transport_asset_types = ["Pipe", "ElectricityCable"] + assets_transport = {} + assets_other = {} + + for name, properties in assets.items(): + if properties.asset_type in transport_asset_types: + assets_transport[name] = properties + else: + assets_other[name] = properties - for asset in current_assets: - try: - pycml_type, modifiers = converter.convert(asset) - except _SkipAssetException: - skip_assets.append(asset) - continue - except _RetryLaterException: - retry_assets.append(asset) - continue + # We create an assets sorted to first loop over specific assets (the transport assets), + # before parsing the other assets. This is because the properties of the transport assets + # are used to set nominals for other assets that are then parsed later. + assets_sorted = {} + assets_sorted.update(assets_transport) + assets_sorted.update(assets_other) + # TODO: replace when python 3.8 is no longer supported + # assets_sorted = assets_transport | assets_other - self.add_variable(pycml_type, asset.name, **modifiers) + for asset in list(assets.values()): + converter.port_asset_type_connections(asset) - if not retry_assets: - break - else: - raise Exception("Parsing of assets exceeded maximum iteration limit.") + for asset in list(assets_sorted.values()): + pycml_type, modifiers = converter.convert(asset) + self.add_variable(pycml_type, asset.name, **modifiers) - in_suf = f"{prefix}In" - out_suf = f"{prefix}Out" - node_suf = f"{prefix}Conn" + in_suf = "HeatIn" + out_suf = "HeatOut" + node_suf = "HeatConn" elec_in_suf = "ElectricityIn" elec_out_suf = "ElectricityOut" elec_node_suf = "ElectricityConn" @@ -81,16 +85,9 @@ def _esdl_convert(self, converter: _AssetToComponentBase, assets: Dict, prefix: gas_out_suf = "GasOut" gas_node_suf = "GasConn" + # TODO: check but I think the skip_assets is no longer needed skip_asset_ids = {a.id for a in skip_assets} - # pipe_assets = [ - # a - # for a in assets.values() - # if ( - # a.asset_type == "heat_pipe" - # and a.id not in skip_asset_ids - # and isinstance(a.in_ports[0].carrier, esdl.HeatCommodity) - # ) - # ] + node_assets = [ a for a in assets.values() @@ -139,7 +136,7 @@ def _esdl_convert(self, converter: _AssetToComponentBase, assets: Dict, prefix: or asset.asset_type == "HeatExchange" or asset.asset_type == "HeatPump" ): - if prefix != "Heat": + if prefix != "MILP": raise Exception( "Hydraulically decoulpled systems are not yet supported for nonlinear (QTH)" "optimization" @@ -336,20 +333,128 @@ def _esdl_convert(self, converter: _AssetToComponentBase, assets: Dict, prefix: for port in (asset.in_ports[0], asset.out_ports[0]): for connected_to in port.connectedTo.items: conn = (port.id, connected_to.id) - if conn in connections or tuple(reversed(conn)) in connections: + # Here we skip the adding of the connection if we already had the reverse + # connection. Note that we don't do that for logical links between nodes, as we + # need both connections in order to make the topology object in + # component_type_mixin.py. + if connected_to.id in list(port_map.keys()) and ( + conn in connections or tuple(reversed(conn)) in connections + ): continue if isinstance(port.carrier, esdl.HeatCommodity): - self.connect(getattr(component, node_suf)[i], port_map[connected_to.id]) + # First we check if the connected_to.id is in the port_map and if the + # connected aasset is of type Pipe. In this case we want to fully connect + # the model with head losses and hydraulic power. + if ( + connected_to.id in list(port_map.keys()) + and assets[ + name_to_id_map[port_map[connected_to.id].name.split(".")[0]] + ].asset_type + == "Pipe" + ): + self.connect(getattr(component, node_suf)[i], port_map[connected_to.id]) + elif connected_to.id not in list(port_map.keys()): + # If The asset is not in the + # port map means that there is a direct node to node connection with a + # logical link. Here we need to do some tricks to recover the correct + # port index of the node. + for node in node_assets: + if connected_to.id in [node.in_ports[0].id, node.out_ports[0].id]: + connected_node_asset = node + count = 1 + for ct in [ + *list(node.in_ports[0].connectedTo), + *list(node.out_ports[0].connectedTo), + ]: + if ct.id == port.id: + idx = count + else: + count += 1 + self.connect_logical_links( + getattr(component, node_suf)[i], + getattr(getattr(self, connected_node_asset.name), node_suf)[idx], + ) + else: + # If the Connected asset is not of type pipe, there might be + # logical link like source to node. + self.connect_logical_links( + getattr(component, node_suf)[i], port_map[connected_to.id] + ) connections.add(conn) i += 1 elif isinstance(port.carrier, esdl.ElectricityCommodity): - self.connect( - getattr(component, elec_node_suf)[i], port_map[connected_to.id] - ) + # Same logic as for heat see comments there + if ( + connected_to.id in list(port_map.keys()) + and assets[ + name_to_id_map[port_map[connected_to.id].name.split(".")[0]] + ].asset_type + == "ElectricityCable" + ): + self.connect( + getattr(component, elec_node_suf)[i], port_map[connected_to.id] + ) + elif connected_to.id not in list(port_map.keys()): + for node in bus_assets: + if connected_to.id in [node.in_ports[0].id, node.out_ports[0].id]: + connected_node_asset = node + count = 1 + for ct in [ + *list(node.in_ports[0].connectedTo), + *list(node.out_ports[0].connectedTo), + ]: + if ct.id == port.id: + idx = count + else: + count += 1 + self.connect_logical_links( + getattr(component, elec_node_suf)[i], + getattr(getattr(self, connected_node_asset.name), elec_node_suf)[ + idx + ], + ) + else: + self.connect_logical_links( + getattr(component, elec_node_suf)[i], + port_map[connected_to.id], + ) connections.add(conn) i += 1 elif isinstance(port.carrier, esdl.GasCommodity): - self.connect(getattr(component, gas_node_suf)[i], port_map[connected_to.id]) + # Same logic as for heat see comments there + if ( + connected_to.id in list(port_map.keys()) + and assets[ + name_to_id_map[port_map[connected_to.id].name.split(".")[0]] + ].asset_type + == "Pipe" + ): + self.connect( + getattr(component, gas_node_suf)[i], port_map[connected_to.id] + ) + elif connected_to.id not in list(port_map.keys()): + for node in gas_node_assets: + if connected_to.id in [node.in_ports[0].id, node.out_ports[0].id]: + connected_node_asset = node + count = 1 + for ct in [ + *list(node.in_ports[0].connectedTo), + *list(node.out_ports[0].connectedTo), + ]: + if ct.id == port.id: + idx = count + else: + count += 1 + self.connect_logical_links( + getattr(component, gas_node_suf)[i], + getattr(getattr(self, connected_node_asset.name), gas_node_suf)[ + idx + ], + ) + else: + self.connect_logical_links( + getattr(component, gas_node_suf)[i], port_map[connected_to.id] + ) connections.add(conn) i += 1 else: @@ -388,6 +493,19 @@ def _esdl_convert(self, converter: _AssetToComponentBase, assets: Dict, prefix: conn = (port.id, connected_to.id) if conn in connections or tuple(reversed(conn)) in connections: continue - - self.connect(port_map[port.id], port_map[connected_to.id]) + if ( + asset.asset_type == "Pipe" + or asset.asset_type == "ElectricityCable" + or assets[ + name_to_id_map[port_map[connected_to.id].name.split(".")[0]] + ].asset_type + == "Pipe" + or assets[ + name_to_id_map[port_map[connected_to.id].name.split(".")[0]] + ].asset_type + == "ElectricityCable" + ): + self.connect(port_map[port.id], port_map[connected_to.id]) + else: + self.connect_logical_links(port_map[port.id], port_map[connected_to.id]) connections.add(conn) diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index faf19307d..81a4cc155 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -113,12 +113,22 @@ def pre(self): continue elif asset_name in [*self.energy_system_components.get("ates", [])]: nominal_fixed_operational = self.variable_nominal(f"{asset_name}.Heat_ates") + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("low_temperature_ates", [])]: nominal_fixed_operational = self.variable_nominal( f"{asset_name}.Heat_low_temperature_ates" ) + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("heat_demand", [])]: @@ -127,26 +137,56 @@ def pre(self): if not np.isinf(bounds[f"{asset_name}.Heat_demand"][1]) else bounds[f"{asset_name}.HeatIn.Heat"][1] ) + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("heat_source", [])]: nominal_fixed_operational = self.variable_nominal(f"{asset_name}.Heat_source") + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("heat_pipe", [])]: nominal_fixed_operational = max(parameters[f"{asset_name}.length"], 1.0) + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("electricity_cable", [])]: nominal_fixed_operational = max(parameters[f"{asset_name}.length"], 1.0) + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("gas_pipe", [])]: nominal_fixed_operational = max(parameters[f"{asset_name}.length"], 1.0) + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("heat_buffer", [])]: nominal_fixed_operational = self.variable_nominal(f"{asset_name}.Stored_heat") + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = self.variable_nominal(f"{asset_name}.Heat_buffer") nominal_investment = nominal_fixed_operational elif asset_name in [ @@ -159,14 +199,29 @@ def pre(self): # TODO: set the nominal values below elif asset_name in [*self.energy_system_components.get("gas_tank_storage", [])]: nominal_fixed_operational = bounds[f"{asset_name}.Stored_gas_mass"][1] + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("electricity_demand", [])]: nominal_fixed_operational = bounds[f"{asset_name}.Electricity_demand"][1] + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("electrolyzer", [])]: nominal_fixed_operational = bounds[f"{asset_name}.Power_consumed"][1] + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("electricity_source", [])]: @@ -180,10 +235,20 @@ def pre(self): nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("electricity_storage", [])]: nominal_fixed_operational = bounds[f"{asset_name}.Stored_electricity"][1] + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("gas_demand", [])]: nominal_fixed_operational = bounds[f"{asset_name}.Gas_demand_mass_flow"][1] + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational else: diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index fc462374a..e0c784d86 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -460,17 +460,6 @@ def __gas_node_mixing_path_constraints(self, ensemble_member): q_nominal = np.median(q_nominals) constraints.append((q_sum / q_nominal, 0.0, 0.0)) - q_sum = 0.0 - q_nominals = [] - - for i_conn, (_pipe, orientation) in connected_pipes.items(): - gas_conn = f"{node}.GasConn[{i_conn + 1}].Q_shadow" - q_sum += orientation * self.state(gas_conn) - q_nominals.append(self.variable_nominal(gas_conn)) - - q_nominal = np.median(q_nominals) - constraints.append((q_sum / q_nominal, 0.0, 0.0)) - return constraints def __gas_node_hydraulic_power_mixing_path_constraints(self, ensemble_member): diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index dccb085a7..2fbd3f459 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -2273,6 +2273,10 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): (hot_pipe, _hot_pipe_orientation), (_cold_pipe, _cold_pipe_orientation), ) in {**self.energy_system_topology.buffers, **self.energy_system_topology.ates}.items(): + if hot_pipe not in self.energy_system_components.get("heat_pipe", []): + # We skip the constraints in case their is a logical link to the storage. + continue + heat_nominal = parameters[f"{b}.Heat_nominal"] q_nominal = self.variable_nominal(f"{b}.Q") cp = parameters[f"{b}.cp"] diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_base.py b/src/mesido/pycml/component_library/milp/electricity/electricity_base.py index 993f15328..28c7a6a5f 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_base.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_base.py @@ -13,8 +13,8 @@ def __init__(self, name, **modifiers): super().__init__(name, **modifiers) self.add_variable(Variable, "Power") - self.add_variable(Variable, "V", min=0.0) self.add_variable(Variable, "I") + self.add_variable(Variable, "V", min=0.0) class ElectricityTwoPort(ElectricityComponent): diff --git a/src/mesido/pycml/component_library/milp/gas/compressor.py b/src/mesido/pycml/component_library/milp/gas/compressor.py index b83420781..41d7c62aa 100644 --- a/src/mesido/pycml/component_library/milp/gas/compressor.py +++ b/src/mesido/pycml/component_library/milp/gas/compressor.py @@ -28,3 +28,10 @@ def __init__(self, name, **modifiers): ** 0.5 ) ) + + self.add_equation( + ((self.GasIn.Q - self.GasIn.mass_flow / self.density_in) / self.Q_nominal_in) + ) + self.add_equation( + ((self.GasOut.Q - self.GasOut.mass_flow / self.density_out) / self.Q_nominal_out) + ) diff --git a/src/mesido/pycml/component_library/milp/gas/gas_base.py b/src/mesido/pycml/component_library/milp/gas/gas_base.py index 33668fe2b..3583be82b 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_base.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_base.py @@ -15,7 +15,6 @@ def __init__(self, name, **modifiers): # TODO: think of more elegant approach for Q_shadow, currently required to ensure that # every port has a unique variable to make the correct port mapping self.add_variable(Variable, "Q") # [m3/s] - self.add_variable(Variable, "Q_shadow") self.add_variable(Variable, "mass_flow") # [g/s] self.add_variable(Variable, "H") # [m] self.add_variable(Variable, "Hydraulic_power") # [W] diff --git a/src/mesido/pycml/component_library/milp/gas/gas_demand.py b/src/mesido/pycml/component_library/milp/gas/gas_demand.py index 7b05a5d7d..c697116ae 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_demand.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_demand.py @@ -32,3 +32,5 @@ def __init__(self, name, **modifiers): self.add_equation( ((self.GasIn.mass_flow - self.Gas_demand_mass_flow) / (self.Q_nominal * self.density)) ) + + self.add_equation(((self.GasIn.Q - self.GasIn.mass_flow / self.density) / self.Q_nominal)) diff --git a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py index f6e9ce957..12d2a139a 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py @@ -44,8 +44,6 @@ def __init__(self, name, **modifiers): self.add_equation( ((self.GasIn.mass_flow - self.GasOut.mass_flow) / (self.Q_nominal * self.density)) ) - # # shadow Q for aliases - self.add_equation(((self.GasOut.Q_shadow - (self.GasIn.Q_shadow - 1.0e-3)))) # Hydraulic power # TODO replace value diff --git a/src/mesido/pycml/component_library/milp/gas/gas_source.py b/src/mesido/pycml/component_library/milp/gas/gas_source.py index d369dd519..21d1beb09 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_source.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_source.py @@ -29,3 +29,5 @@ def __init__(self, name, **modifiers): self.add_equation( ((self.GasOut.mass_flow - self.Gas_source_mass_flow) / (self.Q_nominal * self.density)) ) + + self.add_equation(((self.GasOut.Q - self.GasOut.mass_flow / self.density) / self.Q_nominal)) diff --git a/src/mesido/pycml/component_library/milp/gas/gas_substation.py b/src/mesido/pycml/component_library/milp/gas/gas_substation.py index 9f9b0ca77..20722a596 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_substation.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_substation.py @@ -29,3 +29,10 @@ def __init__(self, name, **modifiers): ** 0.5 ) ) + + self.add_equation( + ((self.GasIn.Q - self.GasIn.mass_flow / self.density_in) / self.Q_nominal_in) + ) + self.add_equation( + ((self.GasOut.Q - self.GasOut.mass_flow / self.density_out) / self.Q_nominal_out) + ) diff --git a/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py b/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py index f2b7d9e68..c2bd96295 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py @@ -42,6 +42,8 @@ def __init__(self, name, **modifiers): ((self.GasIn.mass_flow - self.Gas_tank_flow) / (self.Q_nominal * self.density)) ) + self.add_equation(((self.GasIn.Q - self.GasIn.mass_flow / self.density) / self.Q_nominal)) + self.add_equation( ( (self.der(self.Stored_gas_mass) - (self.Gas_tank_flow)) diff --git a/src/mesido/pycml/model_base.py b/src/mesido/pycml/model_base.py index 3eb988cd9..4d011664f 100644 --- a/src/mesido/pycml/model_base.py +++ b/src/mesido/pycml/model_base.py @@ -225,6 +225,16 @@ def add_initial_equation(self, equation, lb=None, ub=None): self._initial_inequalities.append((equation, lb, ub)) def connect(self, a: "Connector", b: "Connector"): + """ + This function sets equality constraints to the variables of the two (connected) ports. + + Params: + a: port 1 + b: port 2 + + Return: + None + """ if not a.variables.keys() == b.variables.keys(): raise Exception( f"Cannot connect port {a} of type {type(a)} to port {b} " @@ -233,6 +243,35 @@ def connect(self, a: "Connector", b: "Connector"): self._equations.extend([a.variables[k] - b.variables[k] for k in a.variables.keys()]) + def connect_logical_links(self, a: "Connector", b: "Connector"): + """ + This function sets equality constraints to the variables of the two (connected) ports. Note + that this function is used for logical links, meaning that we only use this function for + models where the user defined direct connection between assets without the use of + "transport" assets in between. For that purpose we do not make equality constraints for + head, voltage and hydrualic power as these are inherent for the transport modelling. + + Params: + a: port 1 + b: port 2 + + Return: + None + """ + if not a.variables.keys() == b.variables.keys(): + raise Exception( + f"Cannot connect port {a} of type {type(a)} to port {b} " + f"of type {type(b)} as they have different variables." + ) + + self._equations.extend( + [ + a.variables[k] - b.variables[k] + for k in a.variables.keys() + if (k != "H" and k != "Hydraulic_power" and k != "V") + ] + ) + def der(self, var: Variable): return var.der() diff --git a/src/mesido/util.py b/src/mesido/util.py index 355636926..7b52ed47d 100644 --- a/src/mesido/util.py +++ b/src/mesido/util.py @@ -52,6 +52,6 @@ def run_esdl_mesido_optimization( feasibility = solution.solver_stats["return_status"] - assert feasibility.lower() == "optimal" + assert feasibility.lower() == "optimal" or feasibility.lower() == "finished" return solution diff --git a/tests/models/emerge/model/emerge_with_logical_links.esdl b/tests/models/emerge/model/emerge_with_logical_links.esdl new file mode 100644 index 000000000..cc4d3f45e --- /dev/null +++ b/tests/models/emerge/model/emerge_with_logical_links.esdl @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/emerge/src/example.py b/tests/models/emerge/src/example.py index 38c7e041d..a91b0fa7e 100644 --- a/tests/models/emerge/src/example.py +++ b/tests/models/emerge/src/example.py @@ -243,7 +243,7 @@ def solver_options(self): solver options dict """ options = super().solver_options() - options["solver"] = "gurobi" + options["solver"] = "highs" return options def times(self, variable=None): diff --git a/tests/models/heatpump/src/run_heat_pump.py b/tests/models/heatpump/src/run_heat_pump.py index 43d4b20ca..bb5f23e58 100644 --- a/tests/models/heatpump/src/run_heat_pump.py +++ b/tests/models/heatpump/src/run_heat_pump.py @@ -124,7 +124,7 @@ def solver_options(self): options = super().solver_options() options["solver"] = "highs" highs_options = options["highs"] = {} - highs_options["mip_rel_gap"] = 0.01 + highs_options["mip_rel_gap"] = 0.001 return options def temperature_carriers(self): diff --git a/tests/models/source_pipe_split_sink/model/sourcesink_with_node2node_logical_link.esdl b/tests/models/source_pipe_split_sink/model/sourcesink_with_node2node_logical_link.esdl new file mode 100644 index 000000000..81b7dcfa5 --- /dev/null +++ b/tests/models/source_pipe_split_sink/model/sourcesink_with_node2node_logical_link.esdl @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus4_logical_links.esdl b/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus4_logical_links.esdl new file mode 100644 index 000000000..106ca4617 --- /dev/null +++ b/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus4_logical_links.esdl @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases_electricity/bus_networks/src/example.py b/tests/models/unit_cases_electricity/bus_networks/src/example.py index 9c0e7abda..b815765cf 100644 --- a/tests/models/unit_cases_electricity/bus_networks/src/example.py +++ b/tests/models/unit_cases_electricity/bus_networks/src/example.py @@ -74,7 +74,7 @@ class ElectricityProblem( if __name__ == "__main__": elect = run_optimization_problem( ElectricityProblem, - esdl_file_name="Electric_bus3.esdl", + esdl_file_name="Electric_bus4_logical_links.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries.csv", diff --git a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_electrolyzer_general.csv b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_electrolyzer_general.csv index 104c60f5e..36b4fea0a 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_electrolyzer_general.csv +++ b/tests/models/unit_cases_electricity/electrolyzer/input/timeseries_electrolyzer_general.csv @@ -1,5 +1,5 @@ DateTime,elec,Hydrogen,WindPark_7f14 01-01-2019 00:00, 10.0, 10000000.0, 100000000.0 -01-01-2019 01:00, 10.0, 10000000.0, 100000000.0 +01-01-2019 01:00, 10.0, 11000000.0, 100000000.0 01-01-2019 02:00, 10.0, 10000000.0, 100000000.0 diff --git a/tests/models/unit_cases_electricity/electrolyzer/src/example.py b/tests/models/unit_cases_electricity/electrolyzer/src/example.py index 449ca54b6..4d88de903 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/src/example.py +++ b/tests/models/unit_cases_electricity/electrolyzer/src/example.py @@ -125,6 +125,8 @@ def path_goals(self): def solver_options(self): options = super().solver_options() options["solver"] = "highs" + highs_options = options["highs"] = {} + highs_options["presolve"] = "off" return options diff --git a/tests/models/unit_cases_gas/multi_demand_source_node/model/test_logical_links.esdl b/tests/models/unit_cases_gas/multi_demand_source_node/model/test_logical_links.esdl new file mode 100644 index 000000000..79e085966 --- /dev/null +++ b/tests/models/unit_cases_gas/multi_demand_source_node/model/test_logical_links.esdl @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py b/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py index 019fe9937..41562037c 100644 --- a/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py +++ b/tests/models/unit_cases_gas/multi_demand_source_node/src/run_test.py @@ -1,7 +1,8 @@ from mesido.esdl.esdl_mixin import ESDLMixin from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.head_loss_class import HeadLossOption +from mesido.physics_mixin import PhysicsMixin import numpy as np @@ -58,7 +59,7 @@ def path_goals(self): class GasProblem( _GoalsAndOptions, - TechnoEconomicMixin, + PhysicsMixin, LinearizedOrderGoalProgrammingMixin, GoalProgrammingMixin, ESDLMixin, @@ -68,6 +69,11 @@ class GasProblem( This is a problem to check the behaviour of a gas network with a node. """ + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + self.gas_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS + def times(self, variable=None) -> np.ndarray: """ Shorten the horizon here to have a faster test. @@ -86,10 +92,12 @@ def times(self, variable=None) -> np.ndarray: if __name__ == "__main__": elect = run_optimization_problem( GasProblem, - esdl_file_name="test.esdl", + esdl_file_name="test_logical_links.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries.csv", ) r = elect.extract_results() + print(r["GasProducer_3573.GasOut.Q"]) + print(r["GasDemand_47d0.Gas_demand_mass_flow"]) a = 1 diff --git a/tests/models/unit_cases_gas/source_pipe_split_sink/model/split_with_logical_link.esdl b/tests/models/unit_cases_gas/source_pipe_split_sink/model/split_with_logical_link.esdl new file mode 100644 index 000000000..0659f7c02 --- /dev/null +++ b/tests/models/unit_cases_gas/source_pipe_split_sink/model/split_with_logical_link.esdl @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_heat.py b/tests/test_heat.py index 342010fcf..b1acaa7cf 100644 --- a/tests/test_heat.py +++ b/tests/test_heat.py @@ -94,7 +94,7 @@ class TestMinMaxPressureOptions(TestCase): from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink base_folder = Path(double_pipe_heat.__file__).resolve().parent.parent - min_pressure = 4.0 + min_pressure = 5.0 max_pressure = 12.0 esdl_file = "sourcesink.esdl" input_time_series_file = "timeseries_import.csv" diff --git a/tests/test_logical_links.py b/tests/test_logical_links.py new file mode 100644 index 000000000..5df0793b8 --- /dev/null +++ b/tests/test_logical_links.py @@ -0,0 +1,197 @@ +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization + +import numpy as np + +from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test + + +class TestLogicalLinks(TestCase): + def test_logical_links_electricity(self): + """ + This test checks if the logic implemented for logically linked energy system, Meaning an + energy system where assets are directly connected to each other without a network + (transport asset(s)) in between. + + Checks: + 1. Check that energy is conserved + + """ + import models.unit_cases_electricity.bus_networks.src.example as example + from models.unit_cases_electricity.bus_networks.src.example import ElectricityProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + problem = run_esdl_mesido_optimization( + ElectricityProblem, + esdl_file_name="Electric_bus4_logical_links.esdl", + base_folder=base_folder, + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + results = problem.extract_results() + + np.testing.assert_allclose( + results["ElectricityDemand_281a.Electricity_demand"] + + results["ElectricityDemand_e527.Electricity_demand"], + results["ElectricityProducer_17a1.Electricity_source"] + + results["ElectricityProducer_a215.Electricity_source"], + ) + + def test_logical_links_gas(self): + """ + This test checks if the logic implemented for logically linked energy system, Meaning an + energy system where assets are directly connected to each other without a network + (transport asset(s)) in between. + + Checks: + 1. Check that energy is conserved + + """ + import models.unit_cases_gas.multi_demand_source_node.src.run_test as example + from models.unit_cases_gas.multi_demand_source_node.src.run_test import GasProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + problem = run_esdl_mesido_optimization( + GasProblem, + esdl_file_name="test_logical_links.esdl", + base_folder=base_folder, + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + results = problem.extract_results() + + np.testing.assert_allclose( + results["GasDemand_47d0.Gas_demand_mass_flow"] + + results["GasDemand_7978.Gas_demand_mass_flow"], + results["GasProducer_a977.Gas_source_mass_flow"] + + results["GasProducer_3573.Gas_source_mass_flow"], + ) + + def test_logical_links_nodes(self): + """ + This test checks if the logic implemented for a partially logically linked energy system. + Meaning an energy system where assets are directly connected to each other without a network + (transport asset(s)) in between. This specific test covers the logical connection between + two nodes. + """ + + import models.unit_cases_gas.source_pipe_split_sink.src.run_source_sink as example + from models.unit_cases_gas.source_pipe_split_sink.src.run_source_sink import GasProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + problem = run_esdl_mesido_optimization( + GasProblem, + esdl_file_name="split_with_logical_link.esdl", + base_folder=base_folder, + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + results = problem.extract_results() + + demand_matching_test(problem, results) + + # We check that no artificial gas in created + np.testing.assert_allclose( + results["GasProducer_0876.GasOut.Q"], results["GasDemand_a2d8.GasIn.Q"] + ) + + # We test conservaiton of flow at the nodes + for node, connected_pipes in problem.energy_system_topology.gas_nodes.items(): + discharge_sum = 0.0 + + for i_conn, (_pipe, orientation) in connected_pipes.items(): + discharge_sum += results[f"{node}.GasConn[{i_conn+1}].Q"] * orientation + np.testing.assert_allclose( + results[f"{node}.GasConn[{i_conn+1}].H"], results[f"{node}.H"], atol=1.0e-6 + ) + np.testing.assert_allclose(discharge_sum, 0.0, atol=1.0e-12) + + def test_logical_links_nodes_heat(self): + """ + This test checks if the logic implemented for a partially logically linked energy system. + Meaning an energy system where assets are directly connected to each other without a network + (transport asset(s)) in between. This specific test covers the logical connection between + two nodes in a heat network. Please note that due to the closed system constraints we need + to set the minimum velocity to zero to avoid backflow in the solution. + """ + + import models.source_pipe_split_sink.src.double_pipe_heat as example + from models.source_pipe_split_sink.src.double_pipe_heat import SourcePipeSink + + base_folder = Path(example.__file__).resolve().parent.parent + + problem = run_esdl_mesido_optimization( + SourcePipeSink, + esdl_file_name="sourcesink_with_node2node_logical_link.esdl", + base_folder=base_folder, + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.csv", + ) + results = problem.extract_results() + + demand_matching_test(problem, results) + energy_conservation_test(problem, results) + heat_to_discharge_test(problem, results) + + # We test conservaiton of flow at the nodes + for node, connected_pipes in problem.energy_system_topology.nodes.items(): + discharge_sum = 0.0 + + for i_conn, (_pipe, orientation) in connected_pipes.items(): + discharge_sum += results[f"{node}.HeatConn[{i_conn+1}].Q"] * orientation + np.testing.assert_allclose( + results[f"{node}.HeatConn[{i_conn+1}].H"], results[f"{node}.H"], atol=1.0e-6 + ) + np.testing.assert_allclose(discharge_sum, 0.0, atol=1.0e-12) + + def test_logical_links_network_hybrid(self): + """ + This test checks if the logic implemented for logically linked energy system, Meaning an + energy system where assets are directly connected to each other without a network + (transport asset(s)) in between. This test uses the emerge use-case and the logic is both + checked for the gas and heat commodity. + + Checks: + 1. Check that energy is conserved + + """ + import models.emerge.src.example as example + from models.emerge.src.example import EmergeTest + + base_folder = Path(example.__file__).resolve().parent.parent + + problem = run_esdl_mesido_optimization( + EmergeTest, + base_folder=base_folder, + esdl_file_name="emerge_with_logical_links.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_short.csv", + ) + results = problem.extract_results() + + assert all( + results["ElectricityCable_e388.ElectricityIn.V"] + == results["Bus_24cf.ElectricityConn[3].V"] + ) + + assert ( + np.sum( + np.abs( + results["WindPark_9074.ElectricityOut.V"] + - results["Bus_24cf.ElectricityConn[3].V"] + ) + ) + != 0.0 + ) diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index f1f431406..010537eed 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -229,8 +229,15 @@ def test_heat_pump_elec_price_profile(self): base_folder = Path(run_hp_elec.__file__).resolve().parent.parent + class TestProblem(ElectricityProblemPriceProfile): + def solver_options(self): + options = super().solver_options() + # For some reason the test requires cbc, highs fails for strange reasons + options["solver"] = "cbc" + return options + solution = run_esdl_mesido_optimization( - ElectricityProblemPriceProfile, + TestProblem, base_folder=base_folder, esdl_file_name="heat_pump_elec_priceprofile.esdl", esdl_parser=ESDLFileParser, diff --git a/tests/test_warmingup_unit_cases.py b/tests/test_warmingup_unit_cases.py index 19439580d..ad1ac9876 100644 --- a/tests/test_warmingup_unit_cases.py +++ b/tests/test_warmingup_unit_cases.py @@ -183,7 +183,7 @@ def test_3a(self): results[f"{buffer}.Stored_heat"][-1] - results[f"{buffer}.Stored_heat"][0], np.sum(results[f"{buffer}.Heat_buffer"][1:] * 3600.0) - np.sum(results[f"{buffer}.Heat_loss"][1:] * 3600.0), - atol=1.0e-3, + atol=1.0, ) np.testing.assert_allclose(results[f"{buffer}.Heat_buffer"][0], 0.0, atol=1.0e-6) diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 92e5b4958..a77320fcc 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -170,7 +170,10 @@ def heat_to_discharge_test(solution, results): print(d, max(abs(results[f"{d}.HeatOut.Heat"] - results[f"{d}.Q"] * rho * cp * supply_t))) np.testing.assert_allclose( - results[f"{d}.HeatOut.Heat"], results[f"{d}.Q"] * rho * cp * supply_t, atol=tol + results[f"{d}.HeatOut.Heat"], + results[f"{d}.Q"] * rho * cp * supply_t, + atol=5.0, + rtol=1.0e-4, ) for d in [ From 0f434f863c34cd650faf41e79218543230dc07be Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 21 Aug 2024 12:10:42 +0200 Subject: [PATCH 212/376] Updates after use case challanges (#153) - Increase solve time to 600s stage 1, priority 1 - Add error check for generic consumer - Updated test cases - Add error check and exit for when stage 1, priority 1 was not successful --- CHANGELOG.md | 4 ++- src/mesido/esdl/profile_parser.py | 30 +++++++++++++------ src/mesido/workflows/grow_workflow.py | 29 ++++++++++++++++-- .../1a_with_influx_profiles_error_check.esdl | 2 +- tests/test_profile_parsing.py | 25 ++++++++++++++-- 5 files changed, 73 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91ca42133..ef2e27891 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,15 @@ # [Unreleased] - 2024-08-20 ## Added +- User feedback regarding demand type to be used in heat networks - Functionality to connect assets with logical links ## Changed +- Increased time limit for stage 1, priority 1 - Replaced Retry loop to connect all assets and apply the correct modifiers of the linked assets ## Fixed -- xxxx +- Error exit when stage 1, priority 1 was not successful # [0.1.7] - 2024-08-16 diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index ac4d55808..5753786b4 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -38,6 +38,7 @@ class BaseProfileReader: "gas_demand": ".target_gas_demand", "gas_source": ".maximum_gas_source", } + carrier_profile_var_name: str = ".price_profile" def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): @@ -45,6 +46,11 @@ def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): self._energy_system: esdl.EnergySystem = energy_system self._file_path: Optional[Path] = file_path self._reference_datetimes: Optional[pd.DatetimeIndex] = None + self._asset_potential_errors_identified: Dict[str, Dict] = { + "heat_demand.power": {}, # error type, heat demand name, error message + "cold_demand.power": {}, # error type, cold demand name, error message + "heat_demand.type": {}, # error type, heat demand name, error message + } def read_profiles( self, @@ -54,7 +60,7 @@ def read_profiles( esdl_assets: Dict[str, Asset], carrier_properties: Dict[str, Dict], ensemble_size: int, - ) -> None: + ) -> Dict[str, Dict]: """ This function takes a datastore and a dictionary of milp network components and loads a profile for each demand and source in the provided milp network components into the @@ -100,12 +106,6 @@ def read_profiles( zip(esdl_asset_id_to_name_map.values(), esdl_asset_id_to_name_map.keys()) ) - # Define variable containing potential error information - asset_potential_errors = { - "heat_demand.power": {}, # error type, heat demand name, error message - "cold_demand.power": {}, # error type, cold demand name, error message - } - for ensemble_member in range(ensemble_size): for component_type, var_name in self.component_type_to_var_name_map.items(): for component in energy_system_components.get(component_type, []): @@ -135,7 +135,9 @@ def read_profiles( if component_type in ["heat_demand", "cold_demand"]: max_profile_value = max(values) if asset_power < max_profile_value: - asset_potential_errors[f"{component_type}.power"][component] = ( + self._asset_potential_errors_identified[f"{component_type}.power"][ + component + ] = ( f"{component}: The installed capacity of" f" {round(asset_power / 1.0e6, 3)}MW should be larger than the" " maximum of the heat demand profile " @@ -157,7 +159,7 @@ def read_profiles( values=profile, ensemble_member=ensemble_member, ) - return asset_potential_errors + return self._asset_potential_errors_identified def _load_profiles_from_source( self, @@ -193,6 +195,7 @@ def _load_profiles_from_source( class InfluxDBProfileReader(BaseProfileReader): asset_type_to_variable_name_conversion = { esdl.esdl.HeatingDemand: ".target_heat_demand", + esdl.esdl.GenericConsumer: ".target_heat_demand", esdl.esdl.HeatProducer: ".maximum_heat_source", esdl.esdl.ElectricityDemand: ".target_electricity_demand", esdl.esdl.ElectricityProducer: ".maximum_electricity_source", @@ -295,12 +298,21 @@ def _load_profiles_from_source( var_base_name = asset.name try: variable_suffix = self.asset_type_to_variable_name_conversion[type(asset)] + # For multicommidity work profiles need to be assigned to GenericConsumer, but + # not for heat network (this asset_potential_errors is used in grow_workflow) + if type(asset) is esdl.GenericConsumer: + # asset_potential_errors + self._asset_potential_errors_identified["heat_demand.type"][asset.name] = ( + f"Asset {asset.name}: This asset is currently a GenericConsumer please" + " change it to a HeatingDemand" + ) except KeyError: raise RuntimeError( f"The asset {profile.field} is of type {type(asset)} which is " f"currently not supported to have a profile to be loaded " f"from the database." ) + exit(1) else: raise RuntimeError( f"Got a profile for a {container}. Currently only profiles " diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index b092a9fe2..1b874f5cb 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -3,6 +3,7 @@ import os import sys import time +from typing import Dict from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin from mesido.esdl.esdl_mixin import ESDLMixin @@ -160,7 +161,7 @@ def __init__(self, *args, **kwargs): self._save_json = False - self._asset_potential_errors = dict() + self._asset_potential_errors = Dict[str, Dict] def parameters(self, ensemble_member): parameters = super().parameters(ensemble_member) @@ -196,6 +197,13 @@ def read(self): " listed." ) is_error = True + elif error_type in ["heat_demand.type"]: + if len(errors) > 0: + for asset_name in errors: + logger.error(self._asset_potential_errors[error_type][asset_name]) + logger.error("Incorrect asset type: please update.") + is_error = True + if is_error: exit(1) # end error checking @@ -232,13 +240,14 @@ def path_goals(self): bounds = self.bounds() for demand in self.energy_system_components["heat_demand"]: - # target = self.get_timeseries(f"{demand}.target_heat_demand_peak") target = self.get_timeseries(f"{demand}.target_heat_demand") if bounds[f"{demand}.HeatIn.Heat"][1] < max(target.values): logger.warning( f"{demand} has a flow limit, {bounds[f'{demand}.HeatIn.Heat'][1]}, " f"lower that wat is required for the maximum demand {max(target.values)}" ) + # TODO: update this caclulation to bounds[f"{demand}.HeatIn.Heat"][1]/ dT * Tsup & move + # to potential_errors variable state = f"{demand}.Heat_demand" goals.append(TargetHeatGoal(state, target)) @@ -293,7 +302,7 @@ def solver_options(self): if options["solver"] == "highs": highs_options = options["highs"] if self.__priority == 1: - highs_options["time_limit"] = 100 + highs_options["time_limit"] = 600 else: highs_options["time_limit"] = 100000 return options @@ -646,6 +655,20 @@ def run_end_scenario_sizing( total_stages=2, **kwargs, ) + # Error checking + solver_success, _ = solution.solver_success(solution.solver_stats, False) + if not solver_success: + if ( + solution.solver_stats["return_status"] == "Time limit reached" + and solution.objective_value > 1e-6 + and solution._stage == 1 + ): + logger.error("Optimization maximum allowed time limit reached for stage_1, goal_1") + exit(1) + else: + logger.error("Unsuccessful: unexpected error for stage_1, goal_1") + exit(1) + results = solution.extract_results() parameters = solution.parameters(0) bounds = solution.bounds() diff --git a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check.esdl b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check.esdl index afcb33e10..389762d84 100644 --- a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check.esdl +++ b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check.esdl @@ -17,7 +17,7 @@ - + diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 2005c9962..6c13f8e24 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -29,8 +29,8 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) return self._loaded_profiles[profile.id] -class TestProfileLoading(unittest.TestCase): - def test_insufficient_capacity(self): +class TestPotentialErros(unittest.TestCase): + def test_asset_potential_errors(self): """ This test checks that the error checks in the code for sufficient installed cool/heatig capacity of a cold/heat demand is sufficient (grow_workflow) @@ -77,6 +77,24 @@ def test_insufficient_capacity(self): " larger than the maximum of the heat demand profile 1957.931MW", True, ) + np.testing.assert_equal( + logs_list[3].msg == "Asset insufficient installed capacity: please increase the" + " installed power or reduce the demand profile peak value of the demand(s) listed.", + True, + ) + # d + np.testing.assert_equal( + logs_list[4].msg == "Asset HeatingDemand_2ab9: This asset is currently a" + " GenericConsumer please change it to a HeatingDemand", + True, + ) + np.testing.assert_equal( + logs_list[5].msg == "Incorrect asset type: please update.", + True, + ) + + +class TestProfileLoading(unittest.TestCase): def test_loading_from_influx(self): """ @@ -233,7 +251,8 @@ def test_loading_from_csv_with_influx_profiles_given(self): if __name__ == "__main__": # unittest.main() a = TestProfileLoading() - a.test_insufficient_capacity() + b = TestPotentialErros() + b.test_asset_potential_errors() a.test_loading_from_influx() a.test_loading_from_csv() a.test_loading_from_xml() From d533fcbb13dabf63842be4cbb746efe035399583 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Fri, 23 Aug 2024 14:34:00 +0200 Subject: [PATCH 213/376] Update info for version release (#156) Updated changelog for new MESIDO release --- CHANGELOG.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef2e27891..e4a76ec74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,25 +1,26 @@ -# [Unreleased] - 2024-08-20 +# [Unreleased] - 2024-08-23 ## Added -- User feedback regarding demand type to be used in heat networks -- Functionality to connect assets with logical links +- xxx ## Changed -- Increased time limit for stage 1, priority 1 -- Replaced Retry loop to connect all assets and apply the correct modifiers of the linked assets +- xxx ## Fixed -- Error exit when stage 1, priority 1 was not successful +- xxx + -# [0.1.7] - 2024-08-16 +# [0.1.7] - 2024-08-23 ## Added -- xxxx +- User feedback regarding demand type to be used in heat networks +- Functionality to connect assets with logical links ## Changed -- xxxx +- Increased time limit for stage 1, priority 1 +- Replaced Retry loop to connect all assets and apply the correct modifiers of the linked assets ## Fixed -- xxxx +- Error exit when stage 1, priority 1 was not successful From 13e5379ca17a6255f7941ba82dcb1fa033d65e7b Mon Sep 17 00:00:00 2001 From: JimRojer-TNO <137045207+jimrojerTNO@users.noreply.github.com> Date: Wed, 18 Sep 2024 13:50:26 +0200 Subject: [PATCH 214/376] removing some old rtc-tools-heat-network stuff (#160) Updating Readme removing some old wrong naming and fixing links --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 37d31578d..6f4762c58 100644 --- a/README.md +++ b/README.md @@ -5,16 +5,17 @@ operation of Energy Systems with the current main focus on District Heating Syst All physics, placement, sizing and financial models are combined in the TechnoEconomicMixin class. When inherited this class can be combined with objective functions (that typically incorporate the financial aspects) and interface methods to create an optimization workflow (see also running an example). -The main supported method for defining your Energy system is ESDL (Energy System Description Language), which is a modelling language for energy systems. See also:https://github.com/EnergyTransition/ESDL. +The main supported method for defining your Energy system is ESDL (Energy System Description Language), which is a modelling language for energy systems. See also: https://github.com/EnergyTransition/ESDL. With ESDL you can define assets like demands, sources, pipes, etc. and fill in their attributes. The ESDLMixin class will parse the ESDL file and utilize the attributes to build up the model representation. -The documentation on the mathematical modelling and workflow application can be found on: `readthedocs `. +The documentation on the mathematical modelling and workflow application can be found on: +readthedocs: https://mesido.readthedocs.io/en/latest/. Installation ============ -Installation of the RTC-Tools Heat Network library is as simple as:: +Installation of the MESIDO library is as simple as:: # 1a. Use pip to install directly pip install mesido @@ -25,7 +26,7 @@ If you are going to develop and change the source code, you probably want to do git clone https://github.com/Multi-Energy-Systems-Optimization/mesido pip install -e mesido -RTC-Tools Heat Network depends on `RTC-Tools `_, which is automatically installed as one of its dependencies. +MESIDO depends on `RTC-Tools `_, which is automatically installed as one of its dependencies. Running an example ================== @@ -42,7 +43,7 @@ These do not come with the installation, and need to be downloaded separately:: # 3. Run the example python example.py -You will see the progress of RTC-Tools in your shell. +You will see the progress in your shell. If all is well, you should see something like the following output: ![img.png](img.png) From ce52c3864a14d9f41564d2378d1415ae280e1bac Mon Sep 17 00:00:00 2001 From: Jaimepatt Date: Thu, 3 Oct 2024 13:09:17 +0200 Subject: [PATCH 215/376] Create tutorial esdl (#171) Added the 'esdl_generator.py' that generates the tutorial esdl using pyesdl. By default it generates the given esdl, but the inputs can be modified to customize it. --- examples/PoCTutorial/src/esdl_generator.py | 478 +++++++++++++++++++++ 1 file changed, 478 insertions(+) create mode 100644 examples/PoCTutorial/src/esdl_generator.py diff --git a/examples/PoCTutorial/src/esdl_generator.py b/examples/PoCTutorial/src/esdl_generator.py new file mode 100644 index 000000000..afad41434 --- /dev/null +++ b/examples/PoCTutorial/src/esdl_generator.py @@ -0,0 +1,478 @@ +import os +from uuid import uuid4 + +import esdl +from esdl.esdl_handler import EnergySystemHandler + +from pyecore.ecore import EDate + + +def create_in_out_ports(asset, in_carrier, out_carrier, demand_profile=None): + # Adds in an out ports to an assets and assigns them the corresponding carriers. + in_port = esdl.InPort(id=str(uuid4()), name="In_port", carrier=in_carrier) + out_port = esdl.OutPort(id=str(uuid4()), name="Out_port", carrier=out_carrier) + if demand_profile is not None: + in_port.profile.append(demand_profile) + asset.port.append(in_port) + asset.port.append(out_port) + + +def get_in_out_ports(asset): + # Gets the ports of an asset and sorts them as in and out. + for port in asset.port: + if isinstance(port, esdl.InPort): + in_port = port + else: + out_port = port + return in_port, out_port + + +def add_geometry_point(asset, lat_lon_list): + # Adds an esdl point to an asset. + point = esdl.Point(lat=lat_lon_list[0], lon=lat_lon_list[1]) + asset.geometry = point + + +def define_area(area, points): + # Creates a polygon given a series of points and assigns it to the given area. + area.geometry = esdl.Polygon() + area_shape = esdl.SubPolygon() + for point in points: + point_add = esdl.Point(lat=point[0], lon=point[1]) + area_shape.point.append(point_add) + area.geometry.exterior = area_shape + + +def create_cost_value_profile(cost_value, unit, per_unit=None, per_multiplier=None): + # Creates a cost profile with a single constant value that can be used to be assigned + # to any asset. + qua_per = esdl.QuantityAndUnitType(id=str(uuid4())) + qua_per.unit = esdl.UnitEnum.from_string(unit) + if per_unit is not None: + qua_per.perUnit = esdl.UnitEnum.from_string(per_unit) + if per_multiplier is not None: + qua_per.perMultiplier = esdl.MultiplierEnum.from_string(per_multiplier) + qua_per.physicalQuantity = esdl.PhysicalQuantityEnum.from_string("COST") + esdl_cost_profile = esdl.SingleValue( + id=str(uuid4()), value=cost_value, profileQuantityAndUnit=qua_per + ) + + return esdl_cost_profile + + +def import_demand_profile(demand_profile_parameters, profile_quantity): + # Imports the demand profile from InfluxDB and creates the demand object. + # demand_profile_parameters is a dictionary (see below) and the profile quantity + # must be an esdl.QuantityAndUnitType object. + + demand_profile = esdl.InfluxDBProfile( + id=str(uuid4()), + multiplier=demand_profile_parameters["multiplier"], + database=demand_profile_parameters["database"], + measurement=demand_profile_parameters["measurement"], + host=demand_profile_parameters["host"], + field=demand_profile_parameters["field"], + port=demand_profile_parameters["port"], + startDate=demand_profile_parameters["startDate"], + endDate=demand_profile_parameters["endDate"], + ) + + demand_profile.profileQuantityAndUnit = esdl.QuantityAndUnitReference( + reference=profile_quantity + ) + + return demand_profile + + +def create_joint(joint_name, carrier, location, area): + # Creates a joint, assigns it its carrier and ports and appends it to + # the selected area + + joint = esdl.Joint(id=str(uuid4()), name=joint_name) + create_in_out_ports(joint, carrier, carrier) + add_geometry_point(joint, location) + area.asset.append(joint) + + return joint + + +def create_pipe( + name_pipe, from_asset, to_asset, carrier, area, elbow_point=None, state_pipe="ENABLED" +): + # Creates a pipe, connects it to its corresponding assets, assigns it its + # carrier, geometry and state ("ENABLED" or "OPTIONAL") and appends it to + # its corresponding area. + + pipe = esdl.Pipe(id=str(uuid4()), diameter=pipe_d, name=name_pipe, state=state_pipe) + create_in_out_ports(pipe, carrier, carrier) + + _, connect_from = get_in_out_ports(from_asset) + connect_to, _ = get_in_out_ports(to_asset) + pipe_ports = get_in_out_ports(pipe) + # Connect the corresponding ports to each other + for port in pipe_ports: + if isinstance(port, esdl.InPort): + port.connectedTo.append(connect_from) + pipe_start = esdl.Point(lat=from_asset.geometry.lat, lon=from_asset.geometry.lon) + else: + port.connectedTo.append(connect_to) + pipe_end = esdl.Point(lat=to_asset.geometry.lat, lon=to_asset.geometry.lon) + # Configure pipe geometry + pipe.geometry = esdl.Line() + pipe.geometry.point.append(pipe_start) + if elbow_point: + pipe_elbow = esdl.Point(lat=elbow_point[0], lon=elbow_point[1]) + pipe.geometry.point.append(pipe_elbow) + pipe.geometry.point.append(pipe_end) + + area.asset.append(pipe) + + return pipe + + +if __name__ == "__main__": + + # -------------------------------------------------- # + # INPUT # + # -------------------------------------------------- # + + esdl_file_name = "tutorial_generated.esdl" # Name of the output esdl file. + save_folder = "examples/PoCTutorial/model" # Folder to output the esdl to. + + # System parameters + temp_supply = 80.0 # degC + temp_ret = 30.0 # degC + + # Heat demand 1 parameters + demand_1_power = 15e6 # W + demand_1_inv_cost = 1e6 # eur/MW + demand_1_inst_cost = 1e6 # eur + area_1_coord = [ + [52.003232185574326, 4.376142024993897], + [52.002228236493224, 4.372107982635499], + [52.0031132980428, 4.3712711334228525], + [52.00197724570447, 4.366979598999024], + [51.99826505971136, 4.369254112243653], + [51.99945404958839, 4.373760223388673], + [51.995635958872874, 4.3776869773864755], + [51.9963626102222, 4.380712509155274], + ] + demand_1_coord = [52.00107, 4.37353] + demand_1_profile_params = { + "multiplier": 0.75, + "database": "energy_profiles", + "measurement": "WarmingUp default profiles", + "host": "profiles.warmingup.info", + "field": "demand4_MW", + "port": 443, + "startDate": EDate.from_string("2018-12-31T23:00:00.000000+0000"), + "endDate": EDate.from_string("2019-12-31T22:00:00.000000+0000"), + } + + # Demand 2 parameters + demand_2_power = 15e6 # W + demand_2_inv_cost = 1e6 # eur/MW + demand_2_inst_cost = 1e6 # eur + area_2_coord = [ + [51.99817258139733, 4.3692970275878915], + [51.99932194116153, 4.373695850372315], + [51.99534529503086, 4.376678466796876], + [51.99624370444482, 4.38081979751587], + [51.99490929572965, 4.381613731384278], + [51.99272923553559, 4.372708797454835], + ] + demand_2_coord = [51.99653, 4.3731] + demand_2_profile_params = { + "multiplier": 0.5, + "database": "energy_profiles", + "measurement": "WarmingUp default profiles", + "host": "profiles.warmingup.info", + "field": "demand4_MW", + "port": 443, + "startDate": EDate.from_string("2018-12-31T23:00:00.000000+0000"), + "endDate": EDate.from_string("2019-12-31T22:00:00.000000+0000"), + } + + # Demand 3 parameters + demand_3_power = 15e6 # W + demand_3_inv_cost = 1e6 # eur/MW + demand_3_inst_cost = 1e6 # eur + area_3_coord = [ + [51.992279997820766, 4.372987747192384], + [51.994235470276436, 4.382214546203614], + [51.989333415199866, 4.38581943511963], + [51.98688879367896, 4.37633514404297], + ] + demand_3_coord = [51.99074, 4.3791] + demand_3_profile_params = { + "multiplier": 0.3, + "database": "energy_profiles", + "measurement": "WarmingUp default profiles", + "host": "profiles.warmingup.info", + "field": "demand4_MW", + "port": 443, + "startDate": EDate.from_string("2018-12-31T23:00:00.000000+0000"), + "endDate": EDate.from_string("2019-12-31T22:00:00.000000+0000"), + } + + # Source 1 parameters + source_1_power = 50e6 # W + source_1_inv_cost = 1.5e6 # eur/MW + source_1_inst_cost = 10e6 # eur + source_1_varop_cost = 100.0 # eur/MWh + source_1_fixop_cost = 6e5 # eur/MW + prod_1_coord = [52.00483, 4.37272] + + # Source 2 parameters + source_2_power = 50e6 # W + source_2_inv_cost = 2e6 # eur/MW + source_2_inst_cost = 20e6 # eur + source_2_varop_cost = 200.0 # eur/MWh + source_2_fixop_cost = 9e5 # eur/MW + prod_2_coord = [51.99543, 4.36457] + + # Joints + joint_1_coord = [52.00098, 4.36702] + joint_2_coord = [51.99596, 4.36951] + joint_1ret_coord = [52.00033, 4.36646] + joint_2ret_coord = [51.99537, 4.36895] + + # Pipes + pipe_diam = "DN400" # Assumes all pipes have the same diameter. + pipe_1_elbow_coord = [52.00353, 4.36593] + pipe_3_elbow_coord = [51.9898, 4.37191] + pipe_1ret_elbow_coord = [52.00363, 4.36492] + pipe_3ret_elbow_coord = [51.98922, 4.3717] + + # -------------------------------------------------- # + # PROCESSING # + # -------------------------------------------------- # + + esh = EnergySystemHandler() + energy_system = esh.create_empty_energy_system(name="Generated PoC tutorial") + main_area = energy_system.instance[0].area # Logical high level area. + + # Create heat carriers + heat_commodity_primary = esdl.HeatCommodity( + id=str(uuid4()), name="HeatCommodityPrimary", supplyTemperature=temp_supply + ) + heat_commodity_ret = esdl.HeatCommodity( + id=str(uuid4()), name="HeatCommodityRet", returnTemperature=temp_ret + ) + heat_carrs = esdl.Carriers(id=str(uuid4())) + heat_carrs.carrier.append(heat_commodity_primary) + heat_carrs.carrier.append(heat_commodity_ret) + id_primary_carr = heat_commodity_primary.id + id_ret_carr = heat_commodity_ret.id + esi = esh.energy_system.energySystemInformation + if not esi: + esi = esdl.EnergySystemInformation(id=str(uuid4())) + esh.energy_system.energySystemInformation = esi + esh.add_object(esi) + + quantities = esdl.QuantityAndUnits(id=str(uuid4())) + power_quantity = esdl.QuantityAndUnitType( + id=str(uuid4()), + description="Power in MW", + physicalQuantity="POWER", + multiplier="MEGA", + unit="WATT", + ) + quantities.quantityAndUnit.append(power_quantity) + + esi.quantityAndUnits = quantities + esi.carriers = heat_carrs + + # Area 1 (demand 1) + area_1 = esdl.Area(id=str(uuid4()), name="Area_demand_1") + define_area(area_1, area_1_coord) + main_area.area.append(area_1) + + heat_demand_1 = esdl.HeatingDemand(id=str(uuid4()), name="Heat_demand1") + area_1.asset.append(heat_demand_1) + add_geometry_point(heat_demand_1, demand_1_coord) + heat_demand_1.power = demand_1_power + + heat_demand_1.costInformation = esdl.CostInformation(id=str(uuid4())) + cost_info = heat_demand_1.costInformation + cost_info.investmentCosts = create_cost_value_profile( + demand_1_inv_cost, "EURO", per_unit="WATT", per_multiplier="MEGA" + ) + cost_info.installationCosts = create_cost_value_profile(demand_1_inst_cost, "EURO") + + in_carrier = heat_commodity_primary + out_carrier = heat_commodity_ret + + heat_demand_profile = import_demand_profile(demand_1_profile_params, power_quantity) + create_in_out_ports(heat_demand_1, in_carrier, out_carrier, demand_profile=heat_demand_profile) + + # Area 2 (demand 2) + area_2 = esdl.Area(id=str(uuid4()), name="Area_demand_2") + define_area(area_2, area_2_coord) + main_area.area.append(area_2) + + heat_demand_2 = esdl.HeatingDemand(id=str(uuid4()), name="Heat_demand2") + area_2.asset.append(heat_demand_2) + add_geometry_point(heat_demand_2, demand_2_coord) + heat_demand_2.power = demand_2_power + + heat_demand_2.costInformation = esdl.CostInformation(id=str(uuid4())) + cost_info = heat_demand_2.costInformation + cost_info.investmentCosts = create_cost_value_profile( + demand_2_inv_cost, "EURO", per_unit="WATT", per_multiplier="MEGA" + ) + cost_info.installationCosts = create_cost_value_profile(demand_2_inst_cost, "EURO") + + in_carrier = heat_commodity_primary + out_carrier = heat_commodity_ret + + heat_demand_profile = import_demand_profile(demand_2_profile_params, power_quantity) + create_in_out_ports(heat_demand_2, in_carrier, out_carrier, demand_profile=heat_demand_profile) + + # Area 3 (demand 3) + area_3 = esdl.Area(id=str(uuid4()), name="Area_demand_3") + define_area(area_3, area_3_coord) + main_area.area.append(area_3) + + heat_demand_3 = esdl.HeatingDemand(id=str(uuid4()), name="Heat_demand3") + area_3.asset.append(heat_demand_3) + add_geometry_point(heat_demand_3, demand_3_coord) + heat_demand_3.power = demand_3_power + + heat_demand_3.costInformation = esdl.CostInformation(id=str(uuid4())) + cost_info = heat_demand_3.costInformation + cost_info.investmentCosts = create_cost_value_profile( + demand_3_inv_cost, "EURO", per_unit="WATT", per_multiplier="MEGA" + ) + cost_info.installationCosts = create_cost_value_profile(demand_3_inst_cost, "EURO") + + in_carrier = heat_commodity_primary + out_carrier = heat_commodity_ret + + heat_demand_profile = import_demand_profile(demand_3_profile_params, power_quantity) + create_in_out_ports(heat_demand_3, in_carrier, out_carrier, demand_profile=heat_demand_profile) + + # Main area (sources) + heat_source_1 = esdl.ResidualHeatSource(id=str(uuid4()), name="Heat_source1", state="OPTIONAL") + heat_source_2 = esdl.ResidualHeatSource(id=str(uuid4()), name="Heat_source2", state="OPTIONAL") + main_area.asset.append(heat_source_1) + main_area.asset.append(heat_source_2) + add_geometry_point(heat_source_1, prod_1_coord) + add_geometry_point(heat_source_2, prod_2_coord) + + heat_source_1.power = source_1_power + heat_source_2.power = source_2_power + + heat_source_1.costInformation = esdl.CostInformation(id=str(uuid4())) + cost_info = heat_source_1.costInformation + cost_info.investmentCosts = create_cost_value_profile( + source_1_inv_cost, "EURO", per_unit="WATT", per_multiplier="MEGA" + ) + cost_info.installationCosts = create_cost_value_profile(source_1_inst_cost, "EURO") + cost_info.variableOperationalCosts = create_cost_value_profile( + source_1_varop_cost, "EURO", per_unit="WATTHOUR", per_multiplier="MEGA" + ) + cost_info.fixedOperationalCosts = create_cost_value_profile( + source_1_fixop_cost, "EURO", per_unit="WATT", per_multiplier="MEGA" + ) + + heat_source_2.costInformation = esdl.CostInformation(id=str(uuid4())) + cost_info = heat_source_2.costInformation + cost_info.investmentCosts = create_cost_value_profile( + source_2_inv_cost, "EURO", per_unit="WATT", per_multiplier="MEGA" + ) + cost_info.installationCosts = create_cost_value_profile(source_2_inst_cost, "EURO") + cost_info.variableOperationalCosts = create_cost_value_profile( + source_2_varop_cost, "EURO", per_unit="WATTHOUR", per_multiplier="MEGA" + ) + cost_info.fixedOperationalCosts = create_cost_value_profile( + source_2_fixop_cost, "EURO", per_unit="WATT", per_multiplier="MEGA" + ) + + in_carrier = heat_commodity_ret + out_carrier = heat_commodity_primary + create_in_out_ports(heat_source_1, in_carrier, out_carrier) + in_carrier = heat_commodity_ret + out_carrier = heat_commodity_primary + create_in_out_ports(heat_source_2, in_carrier, out_carrier) + + # Main netowrk joints joints + primary_carr = heat_commodity_primary + + joint_1 = create_joint("Joint_1", primary_carr, joint_1_coord, main_area) + joint_2 = create_joint("Joint_2", primary_carr, joint_2_coord, main_area) + + # Primary network pipes + pipe_d = esdl.PipeDiameterEnum.from_string(pipe_diam) # Pipe diameters + + pipe_1 = create_pipe( + "Pipe_1", + heat_source_1, + joint_1, + primary_carr, + main_area, + elbow_point=pipe_1_elbow_coord, + state_pipe="OPTIONAL", + ) + + pipe_2 = create_pipe( + "Pipe_2", + joint_1, + joint_2, + primary_carr, + main_area, + ) + + pipe_3 = create_pipe( + "Pipe_3", joint_2, heat_demand_3, primary_carr, main_area, elbow_point=pipe_3_elbow_coord + ) + + pipe_4 = create_pipe("Pipe_4", joint_1, heat_demand_1, primary_carr, main_area) + + pipe_5 = create_pipe("Pipe_5", joint_2, heat_demand_2, primary_carr, main_area) + + pipe_6 = create_pipe( + "Pipe_6", heat_source_2, joint_2, primary_carr, main_area, state_pipe="OPTIONAL" + ) + + # Return network joints + ret_carr = heat_commodity_ret + + joint_1ret = create_joint("Joint_1ret", ret_carr, joint_1ret_coord, main_area) + joint_2ret = create_joint("Joint_2ret", ret_carr, joint_2ret_coord, main_area) + + # Return network pipes. + + pipe_1ret = create_pipe( + "Pipe_1ret", + joint_1ret, + heat_source_1, + ret_carr, + main_area, + elbow_point=pipe_1ret_elbow_coord, + state_pipe="OPTIONAL", + ) + + pipe_2ret = create_pipe("Pipe_2ret", joint_2ret, joint_1ret, ret_carr, main_area) + + pipe_3ret = create_pipe( + "Pipe_3ret", + heat_demand_3, + joint_2ret, + ret_carr, + main_area, + elbow_point=pipe_3ret_elbow_coord, + ) + + pipe_4ret = create_pipe("Pipe_4ret", heat_demand_1, joint_1ret, ret_carr, main_area) + + pipe_5ret = create_pipe("Pipe_5ret", heat_demand_2, joint_2ret, ret_carr, main_area) + + pipe_6ret = create_pipe( + "Pipe_6ret", joint_2ret, heat_source_2, ret_carr, main_area, state_pipe="OPTIONAL" + ) + + # File export and saving + save_dir = save_folder + os.chdir(save_dir) + esh.save(filename=esdl_file_name) From 87e81d9158ca68ba5dacff64a9f00558189de6b4 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Fri, 4 Oct 2024 13:59:51 +0200 Subject: [PATCH 216/376] 54 mesido validation with pandapipes simple model (#169) Added validation test with pandapipes --- CHANGELOG.md | 4 +- README.md | 3 +- docs/images/dH_MESIDO_10_vs_pandapipes.png | Bin 0 -> 43436 bytes docs/theory/heat_physics.rst | 10 + .../pandapipes/input/timeseries_constant.csv | 11 + examples/pandapipes/model/Test_Tree_S1C1.esdl | 57 +++ .../pandapipes/src/pandapipeesdlparser.py | 346 ++++++++++++++++++ examples/pandapipes/src/run_example.py | 125 +++++++ src/mesido/workflows/io/write_output.py | 3 +- tests/test_validation_pandapipes.py | 327 +++++++++++++++++ tox.ini | 6 +- 11 files changed, 885 insertions(+), 7 deletions(-) create mode 100644 docs/images/dH_MESIDO_10_vs_pandapipes.png create mode 100644 examples/pandapipes/input/timeseries_constant.csv create mode 100644 examples/pandapipes/model/Test_Tree_S1C1.esdl create mode 100644 examples/pandapipes/src/pandapipeesdlparser.py create mode 100644 examples/pandapipes/src/run_example.py create mode 100644 tests/test_validation_pandapipes.py diff --git a/CHANGELOG.md b/CHANGELOG.md index e4a76ec74..4ef200afd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ -# [Unreleased] - 2024-08-23 +# [Unreleased] - 2024-09-20 ## Added -- xxx +- Test case: Head loss validation with pandapipes ## Changed - xxx diff --git a/README.md b/README.md index 6f4762c58..519d31034 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,7 @@ # MESIDO MESIDO is an optimization application for optimal planning, design and -operation of Energy Systems with the current main focus on District Heating Systems (DHS). The current application focuses on a Mixed Integer Linear Problem (MILP) approach, with multiple linearization strategies to conservatively approximate the steady-state physics and financial models. -All physics, placement, sizing and financial models are combined in the TechnoEconomicMixin class. When inherited this class can be combined with objective functions (that typically incorporate the financial aspects) and interface methods to create an +operation of Energy Systems with the current main focus on District Heating Systems (DHS). The current application focuses on a Mixed Integer Linear Problem (MILP) approach, with multiple linearization strategies to conservatively approximate the steady-state physics and financial models. See for example the head loss validation test, using pandapipes, in the test folder. All physics, placement, sizing and financial models are combined in the TechnoEconomicMixin class. When inherited this class can be combined with objective functions (that typically incorporate the financial aspects) and interface methods to create an optimization workflow (see also running an example). The main supported method for defining your Energy system is ESDL (Energy System Description Language), which is a modelling language for energy systems. See also: https://github.com/EnergyTransition/ESDL. diff --git a/docs/images/dH_MESIDO_10_vs_pandapipes.png b/docs/images/dH_MESIDO_10_vs_pandapipes.png new file mode 100644 index 0000000000000000000000000000000000000000..80701035582994f07908bf77d8d515ada3a35843 GIT binary patch literal 43436 zcmeFZcT|ap9KtMp7oRyqGQSp#-4hC}0IjJqENbry(9?3ZB z11LEwIWzUby}y|?Yt5SZWB&WTUYBmKykWn4@2Yz0si*d96(w0x5^53x0s>Oh!+UB3 z1cb8$1gCY*o`JvlL-(Bt{v+aYU&lq=-ps}Qv6Cr*;$s&F8+#WU%O^M7Or4x9?d|xu zg}8Y+Z&;)@Yw#(1>E*d<~(eMQ~vOfza1XxIuj6(Jw|>`Wl3dP5)folq3+$$ z@JLw1yL(*4HZ=Yzo(o}=zN>t;)_ty)q4wb={(sE~InVy{hWfAj(%a97R4)F*`a$jf zsq{Ai&(E^g1{o2e9*%W%?h&I0&Ype7SWQ!hnfduHvC?~s^TJIQKCuClYk@c6-2?=W z)RoFE9RG=c6}}Jt86+YRJ^q7R!1LqZ1kir?K#2U!BjW#Fa_WCyLO}4p+Poa{uqY*T z=jj&nTXf&h%vQV4&CSglt3WMeH$scKLPy6P(YlVQzd$GMVeEO~y6^`{-`%W7U!Jf2 z{;l%*G84bgw!?i{*|8b1zmUB&$Uv!2TqM++q1anu*}J?@dFRd@k_#8=mLz$23eR_y zJ5D?(wH{D<{rWY@`SThtNyuG(kKa*D64z~y=ISl8#YIZ_AMUjw)=5yrb9LSS@3UuB z_BNL^bG5jzdAjPw=3V`0Ci&&L%7eWvZ4VERjL8bWgDS7h#q4k2?nxZ&uX!CEY)#G2 z=VWEEy3Y5Z^vmtA0jCJp@$O@$Z40N6=h_56KjcZ34O80k_>pp7u=Td{w1Q!skM2}k zRBt4k`sCswC#o%8sE~qF=fhYi*LaiTk2Il^d|{Uv&27kzA~|q7y*QPatF3>Jp)>#h}q#sDSFOQVdIy>)4HIFJeIekJ$ zMD)_>=W7|(dTGL?QLQFbnc~Rfo#+~Fxg6}elCx_(R8sQU9img|=KIpCEalr?=Cv_D z2h*ipZig?i8RD&7?~%6}t2>a0`jwWJRx(yyS&4UhTU}kv$aeeoAE_B?DZiSgw^Ysp z1IV=gb`bU5EqQa5?a9Kmi$oIgu?oz!Tch53Wj3*)v|<_chr9BcIU1D3w?3@?NidBm;d>hn#bm{8&;J#O|_XWux`^3Nd!l68|rzkPX55=YP+t_{_tj> zJ*vq&7%sJD*C`t3dTM7h?3XD&Ztvvot}KQ-REA4cM{7J+;)p7Y&5Cu6jErFa@QfMU zkax_xS?%zjpFcme_r4I5e)`hElSdIemDCjU@4smhGuwYAka_pcR!ir-dF;GD_p{FG zF1AH+z~Z49@oO`p1_lPm_Cxjb=j+>xO;2yaP|WYjATXX|Nj2IMzL9k zx1SMgSSHk^OPAyn6&1@@`m)va%Iy*vv%wl-DJhWK9`RjWCoZucla$yRaUL$WH?CSj zp-^61cz1!vU;je&w7g@muVmPRtwVnKa>^M}>Ji=*zAo|9fB*toVF&4kKvH>qN(pv$ zxmxe7=*A~MQo|&3s0FM{euy216cZM^%Ue9~I?YU_L|Bu?MpV^DgCQ75Z`sOdtv+}K z-uRBV+fM_{zQ0fY{8<_dNFI%Nmw*3-w<8uipIbP(s^{qFC<@bS>%6_YYX#;C+o@J^ zdz_HVphD%#moJuUf&cz%(U~9;yHR#*GJ+5898nez6fuEGNzH+p)6w(VX7?_ z2R{y%*~Wt-%aRGYz{bRMe`j?{9am;6;4m&-YKPyg`^0ZQY9Qvm+=rOSdyW z~B_)kwc#NYnGc)%O4)|>C;Qr6itg{vQ9NGmf&CRm+ z-&{?8KT)TXua%yb*3!_xpnk53(bLO|T|`6|z7>tZ&^NQfO-_F;{|eQA-(kkY!lLf; zXu!wUH!3c!?cfspF8rxVw_|Yp%VsPV+k^@bb9StBJQd#fAk&uw|#M{@g6%YBeTPI2R8+A!+C9rGd zv67LIAs$p&Vk45Rp@QVxk zwv#RI-h_n>6n9B-M6{+=I?v=NV0(kAhTqZ^fRx|Sb`>ci_GHU=AUI!Zke4A2; zWjMH;p+ojaAmaqMO!w;%@84T2j@6GnR8aWdWKzcGzHA_azI6S%%{^J!Oxv)~P{HRf zUXV&jNilG9ciuYBuvCBK^7AVZgZ*et6L_&WJMW365K>grzkgrpvBd~Grrd1RDK=9a zE>lf?K!tuw#b=gABWBsdD1%llvH0PFTVZKF$5Rt-x7U*{54U}OM%Y^hAM-Wbq-LXE zzud;z$%z-j{8q`5RxWmSq_X&C>)T<4!yEn^UJNRo8pBP# zefu^jN^;mlqDj5)%^E_t&~Ias7F^e5jsx46=PyuGXlY zH{=|Vu#}|Ng>T^plVyVDm&(WLOh?~Nho@;9`wHMEU{_};#PaIZ`Ba*9#JS>T_SFI7 zY1Vpelr%F(pbBeN-$e5m7nrt3X9Mzi6B^pTHRfN~-L2y3;lT=lg^i8P$;nCW;lo#Q z(VW@z{`;ywfBsxuUylq53i3PH&<59GhEsEb9S~5P@_|8y+gQ2(IjcN^IdebpU5}mEKi= zPY_hqZf(jRR9{~YSk0k*6Rg}49{A?G9_m zno&qdNHJbeu}kWx24*M&Zp+p!Hkth5lk&5fe(z zM{5W84*!tK%9UxKFsZ|euV24LhKJwa;o%VxIXF6Cm5`9=^*icQSI&Og9J+hBw^Hi4 zX2zvorU3K#QPh1ok4Zi{&6^HJ72d1b{q8227gePMuHL_1)NS#-9qt(+F(Y1hp&DXg zBKR)n>F=ubeg{1vG~g}?Yuy0;yKMh{tjihgV*Vo{BEofl+YwMMi!JV8vchdCj@zKZ zpjT_Q+b#?9?75+zuVs_P@S~VuEXvi{Pzi9RXfjgzIpSeXK|>w*Y@al1DPwpZ5Q0KP_y?+ZOrnYPp0iI zv)wmcmq&Jzc)`C5;y>93KDPMv?KRrYC&{qNamNoZLg|x65?g!~7{vL8?y2?|CKRlb z+{1?t%g0(8LeA=IhX5>>}1_rW=iyI&y z8oVJkU7k`iOXUva0oX4uhy|WDokwC9mtIN5ij*>Z^yf>e-OuV3-`~0;b+lhBxjV~X zSmU7zAJY?K?3X=S>n&g9m|BWhAY%5C`@dy$IVrGNsxlCVd(1Juo6y?)H9e9z_2r5A2m}@fQ4}$3fQ}_^LmfI^G^|MDm9ZH(Y1C z@4$|JNHb9H?{7O&p~|6^r=q5YCLw1}1BX<*JD=-bYe{=-CGX$*8?yvo=Mogu^7Hen za+;DG#(z8FVq-%=7OnE}NuymQp{LT-OP7+tt69S2S@op7&Yv);g7snL<>fVO?RwSH z@{pWEOToT&Bl>GY!^)1QR_;cUP|p@yC9w>SXq;l*J^ zy{2Q$HOg#sJv}|yApK-FuB+MIT*?J}l0icQX$P2Q29AP)BHGT+-Q69mPI+TtVBpmy z21s1$j(iFsK*b<8{0HzMX&8K`09adkM#ktKJvDsaqSC#4|H2-3$N8>Jcc|aHcW?8| z-N1@LQG!RxFpiQ(UrrZTkX>{)}!BMEO!ZS4vhvQCS^ z;8&+R6FE>Mq@;>CN&8XpjzlqSaAC!o{3C=UqQA)ut6YA3eR&Qs+l|>D4EQ<(6x!m- z^uSefbpib7xuPuYIIz>u&_GT}nF&V5XXqGXcXjz3CHIJPKfthT>1U_s%HTODfQ7vP z3CS;B`~VIpZArh{E&mJ|U7lPNyCuAn_@r!c*? z$clMyE_!~r4kIW^1Y;Gj9nxcX5R|JQBrEWE_5r(^G;yuQLxVm-i(d=L1-ilsFL=7=-ruiZfD#vzG}?n2i=(E6XRD^VU2deO7N zqE{mF>?FK#q7=)|eEI(ozj{|j23u%c@4|F|!Myw!gPGk}#_PkTv!uFmvtI}=f*&ZBRI1_14Bb>zP=DbQveS(0DH`3{PQyfUos#_-nmS? ztz}%oS8JnzGuSxt8SOYoK-_|Zf$qvhDMt zyo->j{1`Cy_Z@Hq)9n{qsfn<|0k*qJPha@6A;|jMt4qA+Wp3WQsaNTg4iG<9us}A9 zZXW#m@C4-T8%wyYvck2Mk7Vr1N#Y3R`RAX1)`zVNE$4dD!D*=;9UiP~U)R>w2FE^M zw#TlS6S=tuN!vUiKgbCq5NZl`x6qQ)E+ilbvI08Ie|&3vVSxknCL~00%UDXP{`iXk z@RKDV8UK)VS8}Qq-Z~(qGeN~_Uts4dcY6N9fW_7{Js^4EL3$EVUQS4Qv7b<*q zR`H*>L`C&RM@K*DaKhIB6oo&Rf8XlrQW|r~9H_w$62rns`NCume=-f8{vMkOsZKWB z>3)4>ax#sAOK+ri1kw>XF){zuNtEr-r~4S6)z^N9JLU-ESbua_Ju)&v$9mLp*RMEh zY<~s+W~<}ConsZ*qC9&S=+$$R2wkRDoR$rbLnY77}W%_1zYr32B3>3n4HRsGo*ADqX^nS_w=h2>U>N|qiL@>h>71j z^6aOF0d6jRem7w?(QUxXt6`RXfeH=lo zeQ_-L>AT~R8r8C+Rynj#Qk-$=R*mOId87GeHp8BW+BjF!d_8bZZ1R^ZBL)On0%oIG z^vm{3xR=xie`S^9&qyfbVPNvaAWd!UZ{vNXAyN4@Fu$@6)N7 z&f$cqmMMv7hnlQPM>p-3HoYnp9UO{~uy2`%wZc*w`#9o!!K5r>^6G&u1wiozK{1fZ zwzs#-XDVa*fx|#hHbAn`wW%rjXwG+#zp1IKyKc;D9>BaK85RU10joY%KuVnWZ3x4& zFUTajAuas?5Qu}5QvtFpEb#6nCasqbR@-^3hCZ1_8+L-D3iuuo{zUcY)mWrXa;gEh z5js9NxbA3G9m}aG;%;))#U#F{s7P$NIFoN?tHDNap_K(wvs9NP;hjOg&ZeGW(fEcO zu@d0Ib7p5PAZyQtl!qF~X#Yd116=q`8AgY=7#!>t5iv3I#SWO+8~RKcX;$MiVxr2*K}}X<`#ZTq=P1b) zV|DCvXPhWC@1+xfwm3NFJcBLKmrAU5xPzYjiBUGLJBqWq+VOP4q{ZgyF`6q9sp>+1&R;p{wmb)FtuBaOFf7Ir5tPr-nC}yhh2BJ@@pnsPl3HV=G=r+PEVzTT4K0 zNSNvq$$#GUeJ41k4+gD-sa5U7`w*6l7gJfSot+YAIpNp>Xe)h~DYjJ??2$_&gKJX`?l@OX}bu?LuTR z42qaU)b1xzH33RjQ0eqYY~z!6jFlA?gTj9!WsrxZ)YOL^m|eRS(;Xp?yOnYSTHjdc zv*l|^%0dHezPguHyv)tb9l_(tuUtt5u+?h9J0yD9AsDz(*aVpe((she?{xD6jdb^8 zqL(B&P)^RySo7Yd?E5?WFx16+cbaX151j=+BI-Q-7Fh7f`FS~2*}xNmlNGSJl2WYu z$I!>ufI8C#5*6677DssO^-*l@K%d?C*+jOHd!3_|Q@>1lnrm~_JL&I2?McM(*S|mp zX3~neSpYu(_y93G0k=gRfIqusT|>3rP`y zNYF272D?-T>Liq2szAWH-vScBd0crR*p{=g`K2|;i`3HX>Lc$0<;f>*`~b-Hwt)d{ zs9gXFrMs)w;`!aISkQhn??DK4D;6uDKI7)Fw{7)KqL^S52Vo zDN$**PIpu5BaZ*)dY$m-t@GqilH#e`PD%1vMUiuQOz=d2|AT_o2GC0jYh6+U3}NCa zkT{qKcOlh;SFc{}`HIDUh1d6FVMepNloy-Wt;O=4+}OoNZp<%af6I3OuubM3KBCpGW!mE!CtU+Z`89{iI+y>!= zg@rkqxfv`;9(S4KB3r({M?A=l$8o&XtF z%7_qUTO0dG_(u4R;R(nhk+KFgpV?a@NQS<@Itx#_5e$KHhPe}KyhjF8Gg2$y*kdAr zs|$sxNmA)9?uKZW1<8~=`oY_4?~-SB_x7x3yOW^`76VKh8>BBtg-1O@;m7{Ynt<0j z;??mR&P%PWt-#hOd0z*vX0D00ti#N?Y4l?FDWNc)P(BlZPyrLl%4wYk@@4tk9T49kDO`OaU!nskyd?K z$xx%1t(-~fZKn56u#7eGnqyK-6x9TC5QXX>1Q*xlk3a;%Cx7R{QF7}1#$XbW(n7e1 z7RIe7j!($$$n;vE=wz@~JKFt_PO_Sjkul4CWfbt|JDB+V3F(A8U6-{Bjj+fjgO_DN z@QC9zmCNXqGW&k5Bk6!>M?$Z46|Ew!EHLz|=X8!UM+g_AU4N$0hL(%8Ip*MTY^g$ILP8$YCoEylBMCOpxNDdg zjMS@m|5(U!qQ4{A%J?B86H_)mqH8`TvD&nhk;4r4Pl%PF+`&>-LW87gH{a{VC#qp| z5=c=DsiGiXEiEk_U87}Xm2-i%>Lb6*yMOL~niPO%5ttZ2`FJ=;GSjwx3C$={>18oF zTfXkn+XH)9R{BoYUr?a}NCGv5e1u?eUFe63*j?RCFW`YVi`T2X5WZS^N9zIds}7!ZTS8KflJVF(cz1DW9A) zah(^_iT6KH>!PzWWPp_CX`=DW3wM`}Dg z_4_GgQu`|C$+@}gJ1@@Q9hZS-P4m7E8FvJW@+fboRVh-x)GM)g2Squ}Je}JRA!nh? z3e0yjqr~oPDv+1M2X%_bP+}RO5@)zehRraxOL*k$=aR zB9eX9db`IeWDxstA#dF3x^-ScaQ43K;A(Cf&6H0|?oVo|aaEXQhLjIS@)696Cf6QB zha6=V72N{b0{;mQObEk+w-tpVNET*-DfAP|r+rPt7;EC>h~+D+$^M%VH!MnV{ptxC zS#B5*Q?~B=B(ci*=N04wMv6HWtLjUYJ>**=*&}dpvC-pZ+=-=pmDUfaZ(9+5&s6f=bm+#m;$N zhxd~7L-9_boF`S%0RJ7YUOV3nyr`~gYJxlUHhMa2p1~X*aq&Noc)a$r-OGBybVuMq zL_~b%@P_vtp>UC7y5kl(-e& zIMn~=clgN)cw}7*On*#qs$gsYe zu1EI`l_ME7NmsS+)yJ(SCp27e)Ij7sEsik3-s+jwUz;(l306_wayisek~(W=`qa3| zwDp?_?SlDE5KID!zO!$e%pAFjF{(i2{u*)rJD#cQZf}nb?1pUY{*O#*p^Yo)`-Yty zC9~P3y++X(7Wk|a3%t?%p4T^eG>KOtKOx3?)Nn!a+D(5RAsQCK<O_Q+_Yv+$XdL@8+NXI`b((_h4vQ#CFT1$sw6a@%A?f(TDm#=(N6 z&|qM@vOUTMHom;zeBK6qh?)_-JG_E7@c0#b$(@at5d5*uKeS5C+GJ z;+yI}6&6N3z8e~bQ(Nf?4UVeEizpoVipY2&U8uSJSE6!dJgLgVFVbAsHDrnQS!Wz< ze9jzi%7*v#79Rs^MT}lgYs98@wTsP%Q%GvczTB6vr6u)vbh2SC{0uIPo_+aah4o7U zJBnScIK*#z>=t=O0z=S=!m`Lan1ZKwEwveT>{kIjtAp?5R}%(sO|1dnPb~h?K%HKd z!3)_C&AV+OPDWW?=kkwS-o81b()q6ViM50a*n znNb8L-2#9R@Wvq_+JgzS!!=f~e{JTe8_|>H`>aq!u}O=_cFG>F*rO|e8{>fR)N)@7B?AyX6ZYOIkT_&%nh^2Wt*1K>;Qca<6 zie_qrrJOyAyP#e$zrhW~_9=P3;M!M~j>!(M&ulxKXmY&FL`z0_ zyhH&u#rt8-!_g|z*?~7Bii6wA7SnBw6=N_l*2C}P(?_gIhuN7QT{-zGUC=Ld?9Wv& z=ZUa}skuhAC*)CtP+KgYTblYg@6+zlnK1GA-th{Ar*j+DrOeeEXnZScDY5OkFq>O0 zsu5ls(dzbvK&-)V&NQ$N}ZYtudDwK+sKnhXce_1ol{sz1oFag93U1&;vy1jufjetr8J@?3e~IMsljo&5FdAGpwQ zq6xoIS--y;jA&dyX$JXN4v@LjVs3eegix#tirjrb?IGzY2yfU`Q~pJ2kh8P1dr4Oi z2W$h0yxIWEnR#4@e~h!a5O#JmK~Tx}ozsO8hRzR1?Vxkzw;e7yFSXLnQ?D^rhiIg7 zpdiBm*@E}hG8S0SY#=wSAWL6eU2W@5pb@gufYJ~mXMyn`g;ioQx;~KGlmh<=g&V~k zCVJpFHS%Omr9Z_Abx9N*I7w8^UE*3>tp`CE&Cvgmb? z^~^(!Wh>z+@Df!%JD-5`%mh*qgl(E=L|nq9QzQ*yeOz0_b?=>@73)q8?C)uQ}YT~0^T?E0%R?>&Lc7hw4L{ZYNJ{&cKxzEpft4d zbR4_ZK$)U}hQcVbx%rIC9;kt^DfiEzdSECkLWo4(VXW-1%8*d%NO5f6?*Wh;s1=D` z&7Wb|Cn3(`kPXpygS5%z5ZF02pmvV+n4o?d>rDXo2<*RiMki291SV%7wjY*+^|7t% z`qr;=pwRKf5t7S>hQ13g2L-Q>k8i8A5F+X+;P3E;poFekLMl#~G~Pn6dO)SkCGCB1 zMkb!D4PYx)sM%^$dyKsm&Az0YDc;C#H7cK|k?COs5a2o;(ZMOm7ZuTyD=YrZ@}59L zCE6|4cJ6e|jIJa=V(>qSJHpXfO8rIf>1)SC@WgrDkpCpDjYeUmP{JYg^o)!y9AhrV zvbUy59l|^_Y%r`|M0Z2w@xnR{8IF` zytmLJy1UmUYPAqh!2`mIvd{qk!>D}hWeWNYG zLjA(-YZ@<%WJ(_06WZ|{mZV=c*3gKA(HbuneCPuGZtu)_Qqqof5&J67Y)=;#0J;@R zrprP+GWESv^X_qL)6VB8I6cOkK`@k=XnVv0b*<{{=V1w9|HA{24mHw+mV&M>XRDWI z_IGSMn$euc-__GA&5X>BflPa*TAXIHv%i_r&eWYqf|HZ8H^#K3?YU8o1{+GK(*mlg zN+3V2GyM*#jNXvi`0((Hm7p{Q8Xgf1bInpE9y_SB@;RExJhf3;orVYJ=CfnQy1%i^ zw-3EG?F-0zT{qos`6%{uC_+pA7Kehw_tociys>>CAwjqm$nl4`hjY3hNJV;yqB-qg2;Ghb8$5qJp4t9R5zMjz%N~Iu5 zl&+fL`X8F$3zxIx+IK#vZ+AmD;I|npDq*?^WKCbSyFH|xNP3EAP@r+Jyyg$fBqc!TUVsI2-qAcr2Va?QPa_b$JAXTtfz*DzFqazq;H z%oEz3yRxrb&vm2__*m1(UWm&pCp0d))qKI@vrNM>i5I+3Bjw&}h1lGCuP;LtMlLYv zsbD-gIeFCP!nBhanB-hpW=2Maw-IzNAeBxeAW;jsSZ3e8brBJD}tsDKSaa>b5S+*Rvd;Eu8QbX`F@LVZTr1ItLMu}dP_g+x7J&= zkw8i>uHxg#Phv24%F}@e8re$!voVkDh3K&2>7%3b9%Lp(fuMLq&?8kt% zYW{U*pw(X8(@)fa2?i4DEl<0wS{Ee9-!Js1dz~`jI>uMOFCzOc$zzvjDOj9G23?$q z(cAFWT{E`fp?9}B{pj3<4WX4FdcW>C0c#hKvo$t0;{Pa=!*@WaEEYjv%lI`!ez-x) zdzXc$`61e1e|6#YjO<*4pW@`ajXUN!5gqjf)$XTHpJFSW%@06kyydbZV$Fwm^78W4 z>J$8PKwP*G$J~v%Y`4DzpL=B1rYS6i`j;Qt^Y(k&RwH1lR&#CosStUnFA}ugA=w4>Dbn_W)FMESP~?ha-k*QoYh=px z|7QP&YfQIbhNqp+-?1Z+UvG(>5=v(T{?4zS(?Mw;6jLgl000B_9N5|KBs-UJ@Uq`g zDxf2=lhP^P!)oF$pDGJIGfofVi{aAO0(!J86v2zak>Go4Ma^o;DzPdhKiN?1;|s~J z4h1yJ0t!QVPi+eYRotHd`5D4J0YGZ)SB0Ahf?&~zT*+v&x?=Kreym7E2{573S9dJt zoHtl!0ur5GJs*YgJ1MQG21GP0EJapDg|NOXGJT8vi2O8N+23~5R|W7fgNPCNTHJaE zpQ~oeSa1Iyf{|x32EVvbS6Gz#=6W+Xeg*T)H&PmFJbLt@rl!VDtlxxp4um5^35agE zs5Vi|J!h=@lBg569C{MXA#IrCcfUBvl8sE;9Kh#qWB6WUs7r#(tsA5{z5RFUUFLdd zn~V1mT@l>_kXveXz4cI^Nts|m*`500H9hr%dMvjrA#t0Is>mJofNbdXY~Q`jY>+xq z-+uBhD5=|y>6y=CfTZ_%D6RUc)vuCc{y{nM7%2S&m`JG~GqY#*`Ht|tJI2rogy@qj zdzs1EzlkE8!e>PwYr0Y)b8TJ^d@M z#pk^;R)VxsTvLA``0oa6o{b-5+u^D(Iu6a8G_aasQKa+nk#?v-O+lTr8*7~hpQq6q zwbAh&z18JM$JWSCu=V9;v@Q*N1HvyB)*lX^tYtisGTFb=-WdFD?842A0x<Y;D!4D*Os*ALgLg z#P-b0b1;6!HO&!-pAD+`hKE=%V4Wc9ngfLEE@ncJIRbcVicDlfd>X*`A7 znOP{w?V-zIe}$<{B)nk=PqmIH582ch)u%=M4{QEmVBj<5hMR7P?fb01ksO)Hi##1Q zr7xkx1j@}{170~r^_lspr&^x4X?HWRfy@?q(K;hNk(rUbNKT&Kk$G9*SA4z6$I%Kt z?}`2;evb7^JKmK;!n6U4k79^?L41OUEC{=vUOUsS1b2O2K7eu$7|MVvQ`$@M;DK<) zQqCA<`pp91vJj&SHw5q{WYzadjTE5-n^vbd)_dYt=6w`W6k?*=M6?6qG|%@0)#j*l zJ_~w_Ctrth%#bLu6~d>$rdW#2tQY%~k8Nu8Y(d^nJWZ}gkE)26V-JbP;2{1u&kacE zeDcv^v3g~$qm{3>&9h)NM8J7fnAFxt&p?GlJYjM9Jdy>3M*v?wA2l%A9W$1%4ZMs% zC!v*V-~LA#Y>ACzY=@b?>|c)JLPCHM-;!|Ur4oYINn!ATJMQf z%dsp^kf_zD9#HY!aAF~vb}9$Q?RLT}n0(~%lgJj*UX1!_tW!y|rFp=fF0eI3vFbR3 zb0jzlD@3A(G{sPp94 zRFO6|@kQu26!?W5SU+5RDb!Y(Hi8|V@1;ai%L%ZZj+6o$o0>9kkfj%dN$x%b zR00AnM0N{JW-gHZ(=ZXi9&2C+ZLTt@-yP?egDl{(6qwD)ZT2gomFSW;HA#j<=?I9& zFA^POV*Jq1N-$hv8BxXsIpJuqjuLH+j;Ebl;jtLa7{4 znxd~#Q?o-RJ2yQs?AEB5jT)GuxR%l!SeG4pK-1QM9cr>XCHxO85hx)CK+6XuS~)~d zjc9Wb)C*XWO;}hMKL{$STxc5>l!M0yB(U@IYoHNbJm@-n=azF-?=j8F2K zpUYfVDxY^U3vnjcYQ0Ia3o@b-wA{R(1CjpiK;$IgrcUHQSUm$ISz)@I0 z*AgVf)RI0Gffs1w>_&hDVS0^FcL53@N)~xZ>Z6zIHG<(& zuGn=`FNM=_z(nzl`olGrb$s66yS7WKE<&M%0mMI5hz{JIJbhXUGD^TUO0Xi@APKak zMd%0-X-Hv>yeGK046E<|cx{&6WEk-nrFxL`VgtWkKDqES$LXlTG2tGH`1d0KKK>h6 z?YLWypF{hR2-4$Yy9dI5Y>p;JqJ+1gEe`1-c=hTmP1pt>s^JwUxSd@#>%D-!2%Tdfm2st=#-yr(14b&-ie(GlMD5^E^b*8Hg|t!VQ$5X&`^F zKHT3y!Wn4(tW!&1&<-Yub$9tGFKjn1d}<2^jRm>wkan^0VvZLRq21o~&IH1i^A{W= zDnQk&j_AKZX$tLE(5r%!s6l84{cowDWwioc3Va3PMo4=hTzpn#idEnEV}Dz8K~qhO z3PIu-gtFERV#)5DGX&wf*MFVgg*+MLwAn5=Xr5zjxP_#GpgwtshH8BpD9+~r(v-bI zrk28`+y{@DxUQ`5gL&Xf`e3xk0`L(_3P?$Qj#Kf2Wf zQH=N6c44II4j8?w->B9> zNNfn&X-&}ILs}0Q39@|wX!muQ0O>Fr3=K5C!>nvD&_z4~;~p1=_IJu;MnUT4JItW(l%kQmTizn%vhdmbpt0U#U6uU<`qU6~8w^tmQTFi@~ust^in zBCo+Np`DXst^`YQIO@ud-{p)u)WI)^~$fc1yV;l1n z8X1!mE$zsusIozRitil+c##bZvO6s$9i3mh=IJB1@z1BCxb!!ZjGz-~{4qJCPmU|0 z1C;Il-BT4ND75z>+G=FYvV*!$XUA8<1~QH7Ss!p>hI-)$DE!nIyWj0bEQ>Zn4Zr^xvOl zKK~@yg>I5u~Ef|_E>MN2gIDys?-bt@+h5t$JXx!Ry$kQEAlM%|pg6F}&WWJ)Uu#=@h0#AEy zvlXTJSi5P>kwgh>Rcf(EVX8|Ai=<#HBbWj{1Zgz|O`kd(8=#SVmuRXBV@%0o)Cc_m zh+q|A#F0j(mHMNCV*uh72Nul^uJ+lpXTYk5L-ED_}66 zQcX{+Y3qw9jzFc-apj&Oee>~OYJ%$Ni|*faK0bK~QpZwg7Q{t6qd@2rUbiz%1GFBZ z$sJ1g-PwteDg;}WuR3bS34sI;B=FYY#q~a!ynX=rBv8a0U`|&eVEu%-Aq@H-`bg~b zsVoV5=&@yMF|j3B3y2=SvW#Fs%+p616V_rayDNHrt#3(B!R*b2pL zLwMhvshCfC`RwW$Z>{?CVv}d!;EVr{XGaLj{`aJa=B6e&G%&B<&DIWT*~aNc#Os7R z!?D8s;fBKfiv#dM0?YV6yI$A_hOd=D9ZJcbnjwMdS?{hQ`98I*0^)b%%BIDz*6kU5 z|Dpy|(U2w-a62QeHsI7ysv0VKsY1Z7E(ztvMx7=MHH_G19&O z+Z?zJ&?=X@UT?WW;svu_3cVirhSgfI|Eeb{fWyiHX8|g;cR;5``kq>O)RiQWV^H}C zG!04#!pRU8%!WshhL%`fQ$`es^nxIQIN==2#a_^Xw?ZHSC~#tJw47<4pkYOHZ_N@>(AareuL*wTroPS^e0nlq9zubg37CGL9CgZ>#1`)%EsKwRW zD_th!o{4*|&Vu+)6izsxJ%@C^!v3@$TArV8qx3O3_h0rr6he~A5HG3!f<$64Dw45s znk{8M5z~_}qnCB>Ls&?!=>@n{Ae3is0>JfamZWZYW+_O!Yqx&|djXmt2j>lSH&{z~ zgxH1J8-xTn>>w4+lNl8Kl&6&oha#}DE%Zy)?@&U;!=x3_d2S+I%)XwYG2D9MOiXRL zCbSzQG+8K#oc4I8J_6xeK|3Uy&_|gAWv@7XOEf}Hz~K&a&|qb`_u|D10bqei>BI*E z*^b5l~m>eSN3UpfUvl6bcRf6X>}$*d~Lii9lwI#8kV?d41Za*?f1& z8?|zNF2Bg@=14kiK!fvp2p2Me=YIeqg^rt3w30qLpyONp^9KPQn$X6s-z+~fJ+%aq z;YbX|IHOAndcUXwZ$jJ3`7v4`AU?l?YA{mQ(sqs+AlBz;c~a|mF8!bT!E+O%`1OYm z>1bH~3iys7Iiz=Z$nfS-CLCF^W>%h0O*ZUndKRNX7;yB&ov0S1o@72R$Rb)zdd1=kp$RFeIWQ;)iHFfk zhlhvM5?(IM8Q@rp{Gl=(w|;2Sap3i`vyl;n9yu+ek-B!nchg0kyz3?alFv&pa{Iol zOYY- zgO()KE|xv(u2y+DRB7AfuMBZl`rhp?wd*E{DG8rX{Z=WeKF&jef*)Vg^ShxHlpqs{ z_PWDex1&*I>)%1QpOr&AQwEgKe*{~D3I?CW7`P^9LK9z?7xR7TV9}kzFi&l7W#e}uSat-Yke9hss{_c|sThK zdVJ08HUjpS4WY>>n#(wuK{85UWkB5$M{n6}z=z379aYW892$V8 zOoZNtgOIEsJRr6R4%7we^as$_9Dh22T^y^Q!GbpTG9rphaSSz91E43$X z>%B#Nzhu4AE7F;uLe|aw%z<0o?mR~bR2(8$l>4FI`n{bosCYHf9$o?=!f|>62P$0! zw++2sIA&mMKg&!arIGlF(cVM80h2PlDHn^}{r3KW!DWHIT(gS^PCqjUG$U?j?C3BP zz|n|W=h4zjN+T7>>;wQeE&dJc(eH3M(0u@2Doie{ORrbD-)d9ZCgA>9bN294bX~Vb z*uWECXMz^iAmJBvkXc6Y7#}7zogpH!g#JO@1hAd)pRQ0tsNHOe*DE%SDPSJax!aL@ zkE?VE3shou_6TS48G^0Gnc>NJa1L)}nN{W$^GRQ+8R^Wm;fMPFK zmkKvpu|h`q90eur)m*GD1Mz0hT8BJ>*~AHefv$br5D49eSm!Q@%)Y)pTqp|iaj0vM z)6nEXgM_K`T_nF>0Z7sx@P%h?pus%K1Qk`ROh>-7T|-fK@YcvmH_qt-0a?pUC4n#+ zAtj^_AFeI{5N-K6;1tqLe43CDfjG3{9x8|o8fX~?D1O(1RHG~u;BVBq1)nhbko4!mi7?Oz^WFAb#p7%21{FoqU6?|s zp5bo5;fB(kE`p+}UA~p_{z;+H{x2kv(%XT|o`pi@n^gzbV{dXB2mpCCP`)DvBOp1H z)c)@m$V39n2gW1|${^607loXS>Eg>miCmxrQE2Va({VlZ zFTMKCe{#G_(BcWXzdSl7CI${gCShTel6I$jz;Qx>WOnj6z4u) z^{{$?q0Z46?CQUC>V~XS*0CqdbKP9jt=%2A$RGPSv%=JOInrk{fX;TvK;2s_0uz%9 zW-c9iACW5sFj~SiQ*TV;b~#piLYVpz@RQorxkfa<-v{z@v9T=oTp-YGOD5SxfD@>< z)%*{4G7F%U5KijBIf6~Y)@YwbImUH6QAm{)->$ujjp zI-xD?B?3B<3+mk<^xZQHH4)u95h+jGFJf38Ii!WgCId%)3e+uOK+LNkVakjoh; z#Yiq`E8ll=CNv^w;a2)TDEseluKPcH9DcW#b|RvQQYd?bN<>2T9))CNN4A#AC|h=e zY(mIZG9r{2GRg`et8BmX>H6Hi@Ao+F`=8r!bX>>Pb$P#EujhO`&c}J4kL+!hkjDJn zLQ3R-DjEQ!O;sLwT8V-cDB?tou=KBZIRTeG6qJoXO^DTo=0$9#H%{Z@C#>7DjF+L(ZCMkrs4YF+r?aC|Va zWkcmTkw{6Gi|;Q+14MoI?gnHA)^>J8LaZMUK?bqJgopcP$Ib^e9f#tqYx=ZP{Sv2K z#gjfnf6?dh{030=%-j7xxqhLh3@}KkOdN#KxW>VPSpS>rJ!gQ982zO0vFD4z=;SU za`4}Gz#;u(pqwU3)4_5bXg(nlXeGk!l1_dB0b|19Ba&4DDp(XOrn+|7t0mNqRw)-o zMqIAPE%~dpoJkG0&u@1O0dbsw1_byLmJJ+Bz7#l2a>GT9O+Dj6YAT;=n-Fp|@{pL> zOsi`cjrKf;erN1);>zaQ<#yrX;kv3__R6E;RVUv4eKq%7m51jTwO&sQ#XX!13dE|4 z=g;4TAnT+Qk?9a~CuGAq5Z}r}e*hzmBjDsiH#Zn+6qWwpHvoBzN>&lmbLKbJR0&YN?Zfff`Rd|!0;xwH|2IDV)xOIm4m6NoD3N-4dk5O~NLUfQ z7En=>Qi8^18}f!vqn>)B-)N_x^C6YvDq_rH)_<$xLdxsD&@)uo;2e4*hI0rRMjFr` z;f`z^6C@UIOV@vhY7+!*2?$+}xh*a5UIKEa=R}BaLOm6x)uU_jb_5)i{>~E`q1_jp z?|y0TAJxI({Jv3zPtB)SQF4ADsgR9`h){}?WoSxJtXQc(nt}i5L*=F_x|n@YDp*Oq z=M|GwkdWxBG?u6J9HJ+s?R)qk%(X&9o23CRLo6a`fGzEU1lz4CW73@J99q*h*naj? zg4-pJLq_%-(?dd6GAjyC8nFaiTGXyOK1k7v-kaK0`L5-+H`{rcn3yoopWweT z;x-UzPb~C^;SZn)-pe@8e5b*sBSOZ~^jf+s+o!b>ELA*mSNqHbuRJ(8(3E8N$YZ+$ zYln?_uysZ zXoAk;g1H}M5}T8Be?P%lqE}4N1e9$^6~Y3@g{Z~G5DwPLCMjV7M7H?>#IqO3iWNA!m+d^L~o;M&PpWg+cBc z5AXsp)EGZI>YP}X#G5qZH25B8oB1IsjdB^Jj(oSDC9}yFg&%8Wi@3idZG#=DL4jQ@ zrMRIep_PZsccB1cN~(r#SS@Z(oaRSz4Aa#Jj%9WUN3|~xdl|FwXOAs{;c;P~Rm4zE zj{m5CWNL8u9(VrO5yWMccgXPKFy?{J2eIcOtVp;@_-5BZK7?{AjM@@`{_LTpjfe2* z{R$jAS_d2<5Y+;<`JRGu*Bsq+slBsGW`|nNJZQ?gdBSHb;-7!-G|zsriBh>9H!4#C zj_R;84jB;RC(q2>F8lbA7#PAziiFb?-$N*L;X7NFMP?+OXr+?$kOryT;n| zeA>mvm(H&Aace0CEDvGf**h}A233@11=eWg8yr%mFr?8a9HfcN3wy3qN~#NeiLL4{ zA~gr6?fUu#90r0+Q8)=G-Ah*WMSbX#kQW;tsQI$QrMf5FfFuuTFF0lLjDPlIHO1RL z_fcF;F)L%=GKY<|SYlH!+aDh4i|p{=W5Mg8 zpp9>k_qj8?slMBZ#93(X6k+~gTtG5uyZMh`86+Xg&2#$IP*cH!n>RK_qfa$1-$16R zK|9>^!Z7EAb!N2%#)4NbWcjce>hw?M$pM>dZ3qjb)AOsb01Vt=?Fl=#SoNK{m9bwB zGWgibwX0@pt&?$1&S2d1Nx$?yh2mroLdwV`@&G+9k3Dgd6CGKQHo}Wew+&QvIQvFK zUZ!h|N8Ti_!I)Z0ruNMWal-wwUb-5AFI_kXY#54myt*H#B*mP&er=M{^SI72bunea z&)-eat01gCmQ7o>Aa9?m(?x2&FX|tRr3luKop21H0&)Z$)I*TxzAV%=NjQL#OXyDcF&bO}^ogy=JwM5DYpVVhm>Pzh0-xfL z$=1INz~gIEZ<%iuWTupygXXrxG_CM8oD?=hv2b!KtXWTW1;R;Y*@$@9svs^K#My7s zk(cE5dAxXChY(K(P3E4mc3<+KzhKsWZ7g6X{BK69U`%K^KrZ}ndj zM~K;@yH$u6$sdFXNw7Qs*XTl9y$vaALT3tGj*!b4Ef#HMGjBmCDf(SN!ypiR|BjK#&Jkj+IUh9D>4=vLZO z-NB3Co+tvaz6JMY;w%OmOC`IDYbo6?0ziJBG4OhwEEwZZ91(cN>zHcO#lGE2vPbgy z8cWuf^`6Js|D7fO z^P^Oo!zqQ3RF>+Nc_W9QWTx$^EQR%X$#czH{4xW2T)S3N-W&i6_Q;VVHyM5u1;WsC ztY|(JtlBsfl}MC^wfmLcqTmHs<4MrD5CaWHhhD$@T2KXer2LDEml@pD{9r_Dt8c-A z%k9&rYsPzj{`Tg`%7&58#8tv6`=e+k^`eW?0{3D~?Y(pidpqAPXf5*R2(d?+!F zT+5x79oWnoRw3Q2Nu>1>;r^c6`Iu2Le zf)`M&K;r&~O&a$F-YZR?hCWM;&F6-JEDLE=t?TT_mAD@eje6YNIXLTUDZfpY&Ut$$3l z)h9>&S)Ii7Q*wN<4KDR)n4l5uKunX~zWC~qHsZ3zkEh71Sb*$yOl!7qb(~tRTp9tkT zCA7E?OxeYGZvK30_~J*LbeE6>`zj_Q+#r&B*lX3_eERtDR~SR2A$qvv-|0MAV>^!{ zKM|lXj-TORfs5X>hhVt5IMeeK;J-qf+#GzT5&$ho`x9)K6z9q`S5ppFoTgfF8tjof zlTfFc+z@DdU}&g`o=>W3c;xk_2BgI`mADnyQh{q#(v*FW;O&PQvB){ev4a;k0Bf6|BjAKF^7Mm$&RbD+eB7B2i z(=EC!L}Csj3lat*)g+Gw7w+lrHgz2>MrC4RV#*l?Qa%SnbqH9FF@V#Nl`yO$Va8+7 zW(|nE`!5)B;G1)gyc!g=WWMy(O}BPbJ=w#PZ|LPe$0n8PiP@VGFmK-M_<9o*?eM_n zTqr<5^5Ega<$-6gb~i@;`Y)6UYo-No0`Un?X`c(1m0&v7bgK7vA4gYM5ims9{#383aKlB5`|cLVZF#d(eZ3J;kDeDs`zyx z^{f2x5ZQRGfZDLe$(>Cn_UR4ZhN6GPc89+Jk-=ck)3~H70iAQU6-=>e$^J*{x;-6V z8#(#h(3a>Nb#7lnd1J944f@!A;${xxi|N7db+>xYC!cJu`;>O>0LtFfTmCeEtYA&L zF3G4_fvXN)8mlPoV#H{&y!c;K_Nd77%$8jSLA|@2#F=egMw!UVmudtDKTOI@(O*rm ztRrJl@&ZQq$KVMQ?XvU$FQDk`DGs`fa}}R_&})V%*Sev^y%FssJ)5p8H;(_JYE40Jj+m%-1F^^)mBq=iF7eMLQNmWsL&QIY64jqorX)eJNP3Ttm3s?`BGWX#T#YSv_(M~FtVpI~bRuM`8q z;hqj@T*`H~zoCB_g;Sp0-vfA$nT4g#yiHd|<1HpU@fgU+%}9qTtx2K7cLci#hGf%l z!n!fgDJJN`b8h^rJkcBoyYvkOXlhr@o0Kcw>idZ9FC}6tOwEiA9A{I%x0K!*GP(Ox z@#H0+eCE=Klf{n0)4k6Ru`(7ao+#3J&QY|nV5Fl1U-Woo+h~pm?0)r+SF3(g$U&yq z-vI{x0pSlB2fyn^7YJWQa4D7e`b_6&&i4)mpwBBB?+hg*haJEx^zR$2Hzt+gN4X0!I9MJ(*d9&84S^scTJ`u%;V>NCH>OF2igMgwEAT zwl~+Qn7%O52yA{XQP$T}n{yDt4*F%#d)+r&qxB%YGHN0O6or<)rzxuLCK&rshdn8W zmlIQ{+X@mrcu&NZXpQp9ZlSm@60-pJ4c5@;2@6j#MHcKzd$$L5roywwXO)ao*ku^M z{!uX`;?bT!EH+W{KJP4?>dJ3?2x|}=)j9w8cz$nKzOQqlNaE{h)8VFz)rrz6EPMPJ>OQjmy^0C3-!})VOt)?2PP{3=bCUXCz~Eo|>)35M zD@thlAW*3Qn@CI+YdwE8kjm=Nv?-T5EhxMAhTmPf)6X9ZDzW2$0_(5DjTFG#g$T+lC5-?jk|@%( zHA@vGw1s7V<8wj1s##f4X7Vz1d?#X^ix_!jv2|)!&JSZ4D!z>KD2NBS>ICTQ{>J9B zo+nhBc!$2n1nZb9Ym}{VF~fc09RBQZQ=(O_ayYWMFd@y>E5XR9Nxu`^|uB zk%7%#`1?>+Tjt8k*)gUDPbFWArskoB0uLQC`Af6p!6+*R6~1CXWKF(w)7bt#|2DNt zi<9lt1rg=8c>RDjy3RcBOa1zvkQn|ZwkPiUe|0}llhLw~yjZ|`Ok|cNccwo;E{NAe ztvE^|>qOkp`&?3+pe&Fx)qQ_AViS#m+v#-Kqw)JRYi|sWa`6RUKGCIyaz>&;zMsxb zRau$p-v2&-#kXZcu)qIHLbkfr>C7NvqrOS{U*)UwlW!NrSKFAXMK290_>jf=#-2>t zeqV^biMLcMsH(ab8y-r^2)&QuNdoX`v{+?x#6_1*-tEO zxdXnk%lPWLYdnE*8YhICUM5EwYn^wEB7^UKgq+sh2XXGk!E^C~=;EAH9#g~jEkT9p z1{z*rjxWTIQ%_C4wNk*9DM~g0zdO(mviBJTZJ2I;;%+H8SEZcg)5epKz;5$>caLDaR#)*_s|qZk?O7jH&I! zGBD5oUdQWWY_M1CjIel=f5hIQq%9-<`_F-?Pay z?uS^E|MVYbwr8SpTZ*aPt;BPb(RJ&D17_xy{uxn$lbb*;9nf}L12;kki;Hd!jac5A z&2DBmV#PIJe7=tb0IWtkJsozBhY??UG(fa%`P zpBn{$+#uy27iZ)VosS+@fRyAw4y+1bd5YRwERZwmV^
aQ*l8wnBpJ6QAhz%K=} zjL*&VrqA+m%&8{iRp}OGGp6ZY8m-_v@g?Ug8`DC+{%}_vAmqwpn;m&iQHgaqPx`Ew z5AJhaf|YuMunx$mu(0KUgc*fLLx~HN+rQ8zhd7nm zMxEH9M3bzc%}EDdK2hFW-B6>hkSkRCDbxmpkb}TL^iVQxLum^IuqjY)J0~YenX^U5 zNe0H`^0?SZ^$?N@Q_wy&3LUcuivWezM9}^0BaW<~WS@+mLUzm4F;m`X#@qGJY4vD- z|9F{|M{@92{SgFfWT2-;s>T9;`(11nyb9{m(pVw$Z1WH+pM_{vnzpQ5^Cp$7gT=*T zmF7XMpIgTt?jxws|4U6hMOE5-$T|Z&RN}-49b-LcIiMIm+7Q)niVBDkSsRL^D+ZW% zLhJ)*o|g(==I3zzEcsx7vSf`OoYz1a0l$o8o)d{NlTh!d__i zaSp*zBm7I6QniJUH5zCLgv5aHc>=&pp5t`l6V#V0?!s)J-QND6W_EsF-o&~Ct#{#= z&=*}1c9oWN1PgYXk37tw(^U5DD3hkSR@CTkKj|nY)8lfjc|$725$A{ZD(BvHR=n#} z@xP}aq*JkTb*qv65idp}HzsH%R;^6%{sq2)w`wOtMffQE8Nx>Td&YZYM}%*yG#7L1 zvDvaQ*eD^7RWU33{4kB`Ke}@hlRxQqQz&`}Awo|=a*yra1oJ#)^#6g+|3p!+N`5%; zr^Fli#~c>-G?-hUbRSFAEl!0$r?N~~PUD;~&Gak>%k;qD4W@aOz^ij&QDuph`L^0w ziJCGmZh0ljCzQ~ehLHNqzRixzkeI0e(s~O7oA|)Mk5nFEbw+R2>&u~sOHcI<48#Fc zy8g)&lm{X786&0^L0xIhKN>>b_F6wzSX~t}Vt+zSqs+-iWo*6S^o7WmtYIzf|J4Pb z+>Me#Ap^$^2cgjsYBZ45An@PwMJ!;?PKt^6$14;HVsCcA-Bx62MjvchHPYOpJt{CT zhB!QbxWCCi29)Zm8XwKAYi{$ao!m>L{^ZOLX2`ca%`2taqi7)MIX`UFXN({@9ZRbMb8LSokSedveF@GUw#A(*dAh*+SIQk<^QQn zMyJf=m}+R=(3M!n6U=u@Pf_pOwh^+EfhY0)poL$#iKsujx}x zO!ZVsPSKd9D*T!sx_Mwc-AV%o^gQs`qcAx|@3-ndlQ=P{iHyX~&CQKC2*1C#%KhG@ zEV?$!KmH=KC!~aqq%9OS9ew(tuTMQMb*RPlg3B+f5h1GN7S@%o?*!CPb zha#rHD)P%*V0EJWOFAsLet)M;!QBe?_F|ZWiL} z`y9o1d9RR@P0<^k4xPX3pUR?n6l!nr;9ry0HQJIgRcjM1I(G1|*R=Hk@EahhQbr9V z_+-vgW=5UFb>6)OISF-qV%BT@DN~7|FYStIAzg4wz%5VKqwZPNNUBQ-YE-!wLZqQi zmdkNzA7fIq*$H`If>m2C$h1+R*n_Dl!Q_xb?sy%x>Ft?63_BKfx-}`qD7J z&ZLvWPq26Y%a1c%2G({#s*=imtcr3Y^eT#7d504BeIO6m{ezH34HB^oZUD^I$Qd+h z`u#7ssDnP}@2qti=QK#Ja^kE_O#wbtiS{XafY;xwuxjQ>aDL_#v`eJgO140A*U}es zof2mWo38lKhv($Gsnx;Sw`cD6D-*>R?%%Z{%%0IAR$C%D>OVH9M{s_S5{d0hql5M% z8HJ3#a+xmJRT!u#_Kp6Gsa4)G{3%adIsHwv&u(%`a3D87SW21}LUyl_)NKAG*K|B@ zSIFTctDbBNcGuZH<-Dj%%1KFYJYt&`{SK2T|G#G?hy(UzS)yD>YSRKo@Us4hb-?f zt!`IVVA?fd;m&yfsANs0GPV5u7|RvEy&OadBmu#}m}S?n*CFKQbFOvttWAzRoOUeR zv9?66P*(*hs+H~<(#m>M&@sybsI~jtpN>70gEGjci0alQ^Y-JVGqzeZ*Zc$F8P?D@ zz4^D6G&2pKfKX`T>+`D~G^f1MD4Tdg9``IWNv!rjrv+M=>1>sb%gp8+|B1H6I1rlawZ zar-vyN4e>Cvoe4(fJc!g8>&~gUW%6~TWxJ`Ra-lQEwr5)Gt#RkyWG+lS#eRjWB!0! z4O-q5yFhzD)4UIu~BIA+D}oJIRiokibZcooZq$4m%6jALZ6X;AYv@k#-qpKPw3celztYc zQSE+rlXG*p$)7F$6*{_TyI(rQ;^o_SYbjp3lyi?4A6+iItLZV_*BNd1wY3kW>BBM? zR^>ga6i;S77R_a}t;^*f1CBL=10uD$M#VCQ^;fnvtoix$hnpq+`wq8DEv~Ak#uN9L z)9<*b^r)7d23lg{OPjxlUtm{|jSE0o&M!P%`rOr>90fC+K|1$%61iTuq%w2gRdeC?5>x5=f(Z|9#*$X*q6q*o(}%D#smB9{n++>>yDj%Ha&Lv0=NGhq%ctj zom}icR=jY7{(zZa)!$cT`;W8671ZC;)uVl{ym7bGKOEeqQxpY((d)8bog6tzanGk-xFOPR%`OVKPri5%qHuEzi&=9+q|D0Blhl$==ypU z&4a5V{nNj#e(XbaP03_~M65X1v2?aoOHI*QVf0_xo!C z4#}_4)W_M z;pEquRg{!If-)j5A+f$I`q;}cw&jO?LN={`wRcj=emuTyW0RgW=v`<-_hXYW)qyYf zz8atQmK;3$@K4G0(K}?sx!04|k?BT;WN`g@2Jex8>E*UduAu>|A8v_j{}bzS%Jq(D zlo+GGVBr08s$AK+d=jw|T<U6cJZxqZwX@9#Uqol5uZ;nzWieW7i4YUSV8H0!KPuItLWEkTH`R_rP) z8{$>#@-Y3H5qq^gqtWtX&Iz^=E9KuCPOg0`SHc)BF>fxMJI6BUec7i!vAS*N-W#T) z>|_iix4fWeU+CRWtN$&>;y`FZpD{GFzI zhKi)TFZsOIbw0Y}+RWvAmwbj+A{m5;2kj%o)r;&v4%O7Fb??W>Ah4(PRy2Hyd^cHK z+RVExY2A8Th zRqw#lOAb|Ee@m*oK|V zq4gm=eR0d zwdRO|;Fm*Z-Ux)RENYt5SO?Zp{I$TkeR|>CkUz)Bg#FUPeCm6hfm!M(LrwR%RTDx|wuWtV}!@pL+&XJ`T$J{(B zXmtg=qJ7+-jjktvAmS) z(OrA|wn9b5px&xZw~F58cs0vCn2^@1ZbGuVV87dwHZnJ%|*}QWb`H)H`Iot$q zHMTvxhbST}%am*8+O73n2kPQVvkkLs`j-CP!F2tFgi?o#fQ> z%+tGRc0EW)er{?eBoQaU#mN)qI_@_!KX{CLWwV50ek8rFW@&&lzwK<+K^NS`fG{5p zTNDPUA4uz~QN4aeN$0V^w1%4yj<8Kb5mj;=2R^>TYQH>kR$=}N^XP+>*PA7`4O=U*VwB7IsDdRjVb%JmX#clq;Dxr!dhwxhI|Vn-g$prRWFu^? zq7`#>6~SIe)+r22E9$Jwjug=P_r-!=YqYNRRoQPrmGe4(S9uoIrCAl?Y#UelNwepU zuHGs6t1qJM?sxj}BGbiJfGIR0P(U)TT2NOcB3KWD2?~{J^$IHlJf@b@~ z*ZD~@ht>XV%}|i8%t_gKymzCtgM)yfp&?qOZHsFclQloC-bMZAcVPap<4Mmy_odo3 zwkDiZaXUlJRP@j4=3PmdVX+}LRlnxr5pSRT!212!Vc%s~Ti>@ZH-5ZGuVARI&CZ^T z>dxF}$IjCD(ZTD$#lEb#)vpG3-ZsXiCx7m9zf8@0S|}PgcX#~E?sI*|-{)XB*b;Xy z$un&79+EVvGMthgk#HP1RxkJ!uwGFNbj_NbJy=?i`+OwhLW(1@Uuu zg*WK(wuBzt;l(w~C!A<1^l)#K~|n_RL3}{ zE%I#a5|z-?y_u6YHYEkS)#g<1?dG|~A^-2Gce!ZBZr9s`jJwa7R0K#jC<<*moTX2D zQ*5LuH6c0KAct3dWmppUa9Ys3xO;asBz~o%9Rg;xRoB~}U}(-<2yKuFt(N)Y`}muX z-M^r;sS7iAZA{O;v3TrgaCyJ+r%zLI!xB&59a9kU_?jYi%+9U2e<T zO4-kcZU$6jx{MD>T;69w|!ho8%^{LDZ4 z^#oh!9bxuY7q#fgQaE(-&7k1%m3NVmSmk(R20grPgE85P9w=D5Xqf>f(?|4D@oaJ& zwHIhf)2)-{DEtTk(=j$SrqieWHtlBq11rOwwDEc=3H$Ud`S*J>3Wou183!h0gT`i~ zPQ9CSmWSI<&RL3B-76n2j~hO=@WZWEEksw6{*BtkEmQv@Pee7Jj%Z|&s23ItJRAOm zYd3l0T%}`YE%Z1Fr*@&a8#e{KV3>htK%>Fv^!qfZ+O?45*B+OQ7IhQ(*I|Ev@##ZQ zD1ZL^Sy@%}6CGysfhi|zWO<@kQ9e{FUNd5+sG$L6;wE@L1_lQDhIQV%nJ!zdp3Gd{pnvB6-~Hl-jg*M@ zPIr!+on{(}{F&z)9PznC=lGPA=b;ou{&c@{g0+{)rs&-jM=4wds%4Z>l*9U@rYi8x zD$sYF@-6!&Jw~VxZZLgKs=9sPnk1{bY}mG6Z=(0p?K6zmYa>3vf(Kn$en5xl%^(!) zL(j)~Ye;EnVL+7cdX5ISJ{5aNHH}_KVBikAolNJxlnY0f z?+5C*3nV$gHyXr=U(*x7Mh==~VEpaQ)K?y{#5< z`Qvg*N%?xp>uX=-*S4+iVNLtn`E%fD83(1u>T0@L`hrkN_WHF~H*I7-c zKS)VRz0{A}c42Mn#_bt9uMMC7a{q_zjong8k0Ku()XZwRI96QoJvTpeYUaQ@1amI* z9}UaJzh(t@bgUfL7lvL^3h$sd?YfX^aXr0*$l;UxEHYbZ`7IAZJfa8Yq0!ba+ZhBu z!iQ%S?U~z_DTe41d)dy8m!8+`-E&GIYkUN^@h;1WidAt9QkcBl*#|6RbQ>N-7ldo; zeDdpInOQin<=9EV+23}?%D&nvp4IAi+HI^`->qu%S*Bk4G2$HE_id7=j6NhfOD4GC zt{FwTA8r8vFn;^?j{zeY4DnF|G>ECyrtx^_b;wu&({m3IQow8EvVk#Ft@vd z*E9Rad(ri+cX(GXgfCH9rnP9Y@uw+}AcWT;oSYFCVy4OB1J{}I$kQ`1^Rlvza_d|p z&Axr=1EZbO33Y?EKWznF#=JZ|DYwT8?Z@{lySFIc(Um+({UG*=nuaL@<3;&tqfDRo zw}p#x_Igo!vF%6_rgge<>fHMmYu7#8LAUpkbx!sLd+&oMzeGPeOTS9>ZK-3!!I$k9 zFrsVa5AlBZ&HG{X;`l!yP2Z0Gz~#TIWi17dTQw^eS!vsM+@kdM^)*$}i@G{TI)r#u zRbAS@Z3B9LPPf^d>vc9xmQwtx7V!FII|N%`b2`rB;;xWRwMeF&ndr&<&KR;r?!BMju%%1Ry}Q&Fky$mAZQYI0Te25> zIHvPfqT>r;7j<+PaT(NfP@P-lcyANcnOWzz)qNPKrpVvVpFbC@=C*Yq_e1eQABW4> zmMvSPaN0nVI2V0|PT9)pH2gdEi#R{~^XE^$`4g>=+|4lwH~#n73Q9^BoSn}=_95VO z)p*zDFZ7Zw!Qm}N`xXYLsrT-^=ACdW)M;hG6bX&Qp}pjn`y4WdQEu0l3A&`e#J`SLSL32G;_ zLUt!%xm~a@QGGd5u*tqASv~U^kLg~>9Ry%heJ*Pb0gv3JOPkq4ypSzSz$@xnx*9)V zI^1=JC`eom<$QpC?XRTf{|h({Zou9+XPaI1#5(!SHz)?)d>1Mnd-KTfm?LyOnlXen8nP=wn#1Y!s4k*pR49i3Vz zB_uChx&{jy0|SE{yLQz}3X`Y=Dc|cDrqTbV@i3eFC{UP{pSP6FUo>;;MCQHWB>oi* z65ysnp37~nA^MMF;ec`%-YNHo2mOt%B4LOUV`5`bJf>o0Wu<%9SKr3ns1`2bBDmM9 z&pYk+@81$b58fKg{~I$xpnqnj``*-O2R-UaC--iFpnYLoQ<8&>Y|9sYnaQxma#}Hf zaggZjAv1yI0ze|r!hprRX!bg+*c>`FdKbBuLcYHMbUo%<#=p{Eq%)D@os zj2(Rm)73h~Lw*pDK)CC$>Ng@LG z-^9(bF$(O7QnM~AJGu-7cwH2Gnx%+py1%AHVGw9bmep)Ir@%wQc4|I2 zviEBNbIrNQun4cjtsO8@9a7f8zogkPn8wu?G*7*i(mD|s5U}PfOk^XAgCWLFN85W{ zT!=V%gLGGX^Hk{tR} zFjHJRv@KgM&OxTOV%9rL(OAdSG4EdIW|#|7;Bl;M6q;C&m@%Ee!O6MHtIYcS^rx~{ zFDmHHVtyR@Lyf+@vpRzFf`9)uoWuM0%=h>8^?i3+UPK4NnGf_FA>1{l^?}@JpK`3w8 zJ`RJI7Rmgdo+s4uY>%U2&IOwGPZ(@{QG$XXu!?y2m50~H!L>e z;DCus5~G(i$zb~2Aw^(to8t*o)i=76>(RSmaP82)WGS&07MiE8_tWq7dJv-HxXB%i zk_jkWw63^V8)LPz-NEN}U?b&1jhql4-wgn(m!u>Avhe&`T9s--yK78+Sx8 zo>mWYc60$Jh*qEdok;F&?kP2)@M`vaZ`dAD-k{y>mQ*=*ZLHqdF9poXnDTO9!~$3% zILD3Px-einAde;7^598U=GTJecVvZO(QS|&?H{zuH)YGT=qfTX99E2O7zD-U2#r>> z))_j-KEi57Im|}$+Isx_d3aPpMbl8$4O7^1R z5J_YDg+Vf-Gf9s0>CY;Ur4&+c-oD)ktxG5caCYIDfEHU4AqZ$DhTq;?HA<om(b`rN@7|0hh^|<^^&~J0Ao(`(W zCM^rtDcq>N_oF>fntT^j>zB`-bzk)vh^$Y`Fi$zH4IIw`A|lKvT;Lg%j|9Gz+$zwF z*ZmxLT=BAsib~eh#Dw)E>_o_cOqq;co{jctIb_TO)|JSbXOM|Cs!L3Uao^vvkDOoZ z<~i*Pzl}t>+@beNLdS5)!c;7{fy5UT{mkOuK*ti$v8Zfhb1}>Dv zzD~qDmbqGR;<;m*n(MKF@wPjDhu7L7CN?oS`6wFHOXQXQDEVPI)9G|3>VKDx@5;R& zJ5_V&Rx z7jYwmgZ1BKjQ!vl^q}n8RjmG+iCMP6vA9IGxFXoFc7CrBGy?T9@#|BV$Z^|eA`#k0 z9?Vao350aI_Z5R_=$pc0&lS7sa~O{oxF&!#zQshF=Ctnv&lNWgvxrEMlqkI(T4Cc0 z$%Q|eC&J6y+~S(w(OHtR8_@j6;#_)geM3CpaMgg-q%jHmDH3j5 zUidIhw9$ftNqDjh2%CuaxLXGz&C$}HqUAJ_HE?S&C8x6re>O)foEt{Gy0w`Xh@3VV zKFNUFxF?>W&}zdc#(u@j>?A<^nhx*1hOi98YU6UALFR$v;jOjCPcm56QFddUGJr{; zgFJld)SKLJG!ajUAR}$847}l);4M}>+uC*Oc2ZN9!J_LK0Iu?9CWh#DeIJO>>u~c# z`MNr{B^v~TcKMO`6%&VnjGgWNOww>ko5G1(%LyX$1MBnluNM!0HK))c zXhlpDjN1ay6gMJ+8Y4b74Bo4S#3ZajT`N6`m(r z7;ii(;%u8yr<;jwyclkD>?Yxq)TK*@j~zqLSc9dhIMLav{=U9(2tEURea`}z7#tk@ z94YkAdzwS1fHpq2K={a!dyrQ9Av3~9BBndU!xKa{4NlI)b92mx57QiAv%)e`(T6I- zoA&hG(udo3@7Qq`Y;ANUHh{2{6j#i=776 zh(;eD?c|xj-Qw8H3x~pB;!Fe*A8{abghkb>&k$PjyDsn>8yimzHC2b`XlZ@E)uLSi z{@5Fhl#gX)JNND_$EtJq@qlIqucMx2q8wQ_8f^|_MGGW1v?qf;`aGWTQ%#K_NJ=L) zv%R|(N9`AWYVQHq7sf7Dxms8Ue!;;Wr9bqLO(IVW{rK@Cmq^qO28J3e#MzeO zr3Vdz2Cx}x;uXSX)&rk!VIrj10H3)ZU5uMWP&IRU*I{m++qV~~pJJLwO9-e0xL%!c z^~A)*>3d&=GKhr#d-m-4gJV4cP1-HNldErNu*&a%;pjaW)Liwx3O9|cX3gm}HRw*| zVjS%}v5Bw4b~n;C3{E{rh(HEljoLqw)5Xlq9f)Rm1?T2*=+JD!`mTS3*QL@!BRIvh z38XcA?nu+)gGZ+wYtVs?N{^TjAzbLMp2w<_L1+6_pE1qyBY9I(wridt%WV#^TbQw0 z^9&I0nr8!1PN{7?Xit2~T^+W!g>4H6qUcM`z<58aUoL|GE2SS1Qd+QU1%o{T@BISx zzdQ0xmOwAhEAMmD6Dtew>~CZy${DTV`fw z_mw#RZ8d62ZGUI=3MusZQ?TOaiH(gdIulZDNK8&L;aab&q3tGGzA$57=(fD1QT#A} zG_RV{4^%gWrx*dz`cu-uClh#V)IF0&j3f9|fjj1bhPeI!-h{_52i`1;qn#jZ{DPE)^r(0j${3}ECSk*I+X zOvA{j?k|JqqslT;ihRVKnCSj0wPoGdEWz#mAq*ZLt27 z)8F6Yu~388v~()o8)QWRkeQvm7CVWA5W0@qtLBhkZ`DKaA%o!AXAbTMJJ&orkyenQ zF~`%QrBAVeGeb*K8qKcfX=>>oD6es=@=U=0%8asm_ijbgQ_iV36BMYQYo6Sj36PI& zR&;St&gItB@x1xK?ca9!kAa-29*`v^?B4p8+RTzigu9z@CkF?mk7m+rjR(V zvTVPZgPpJPsut8%cn3Z>?Eyp~Dr>89SKYnsB5K3e4WXdor+~5XDmj_T9RXF*!h|#h zt#344~!iM^;l+)4=Q`E0PGI(RXXy zF%QKWI!*Ja{U}K()!kTH=F=CTeR&NKveF2@sM$1u>%Ktge=+IZ#P4vO(6$+EhpZI!V~NrO?O{) zF*^}dFs@Iqe>toLB>=1rhyRgc0UIP?r$dr(Z2ypR96%oYr>P1>jIn zuk0LFRNwZx17Ni#&fBvP_cEg_djI}?x;jPGbv?=hv1l?g&%5DXfc-ayZ5z_Cva%)y z5?OaF;Tb@hXVlLM7+R;eU-wmnbE`)@DF=wlFm+n^g{X~h?;!kEBeKi6& zls&H@&K{T&lhx3m!#PdaFJK*$9)>G8<=KBDFX2u59`U)AVC3azr(U!vj3N%Yi~Q;z z1$(JD!HR_spfiM(MevftY5W;mI&ox=4z;fv0=1^j=p+P#69Lf+_dk3%&ny?^4elA# zI$0t;!g?hX^ZXHB#G?Wlyu{Sdyp-jo z#3^Q(*TmbjnVQR1n^?ccFMVvVFZ=NBdEfVW&iSAJIp=@QcZK7kbfgmVKrnbrKZ9ai z=m|aeIrELI?&yV1x!B*;gN9&Jnpe}h*#M*w)U8ADN?z_E!($P+D5UxAZCO%l;(M2h zuu2-^?}2DPz}t5e$b;kK_n1bLY;1hj)Rlwb-Z`0Hjr!1Mn^QKb1pr2OQ#~sdABB5I zY0AzC8L)b1_a#VP;_67EY_MQ{P0d~$xsHEGP=$mQ;|P4rb3mZozW^y9>}cjwzU}Np zZPqlA@-iKS0k0HUXTVsz!W3oq#7-f?SW4B1pt5Ug_rdiyOci*3#v(VHm37<3@!fMn zT1V`13@;oVyt=?4q;3*l6tkbJQ2ou&1O}_i^u5hWXXakm1A$GI1A?_6xbdR#4Nnbu zmaM!HLhV?)s2$6#-HE}7fm-nTJ$;MiX+gV))96COPq%Y|yTvZ?xS#Fg>g4O~XJc(` zEGZmAgVK8V;~MtgG*)6Glg%_5sw%XqxHu=S6GO48I6FCSUSryXwPV)8ByiQ0UYg`e zebHbnc@EV`{dF{l?;uz69a<_xp?J^6hY5SSl(;&-*kVZ(Muh>NG&IN~A|eFP1GBnl z%s(=$dc~U(bTd~zi|uR)+LADGjdq>P7MG4)h6Q8CgxX!~K~VYzfMMNJR21>Y*_STG<&}4ig6xPPu_*E*GUXK_e3AM9ER@qoAXB#Tj8%=;*;`|Azo`sk9$^Y>Islcp_&;JR7 b + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/pandapipes/src/pandapipeesdlparser.py b/examples/pandapipes/src/pandapipeesdlparser.py new file mode 100644 index 000000000..0cb8de959 --- /dev/null +++ b/examples/pandapipes/src/pandapipeesdlparser.py @@ -0,0 +1,346 @@ +# THIS CODE DOES NOT MEET THE CODE FORMATTING STANDARD +# Reason: this is only used to parse the esdl for the pandapipes validation test case + +""" +PandapipeEsdlParser +==================================== +The module for reading ESDL file to pandapipe format +""" + +from esdl.esdl_handler import EnergySystemHandler +import esdl +import pandapipes as pp +import math +import uuid + + +class PandapipeEsdlParserClass(object): + """ Class of Pandapipe ESDL Parser """ + def __init__(self): + """ + Function initialize class attribute + + Attributes + ------------ + esdlFileName + A string describes the name of esdl file + esh + An object EnergySystemHandler + esdl_asset + A mapping to the ESDL asset + """ + + self.esdlFileName = None + self.esh = EnergySystemHandler() + self.esdl_asset = {'heat':{}} + self.initAsset() + + def initAsset(self): + """ + Function clean esdl_asset attribute + """ + + self.esdl_asset['heat'] = {'consumer': [], 'producer': [], 'buffer': [], 'ates': [], 'heatpump': [], 'pump': [], + 'heatexchanger': [], 'pipe': [], 'joint': []} + + def get_assets_by_commodity_type(self, commodity_type: str): + """ + Function read asset from ESDL based on commodity + + Parameters + ----------- + commodity_type + HeatCommodity, GasCommodity or ElectricityCommodity + + """ + + assets = [] + for item in self.esh.energy_system.eAllContents(): + if isinstance(item, esdl.EnergyAsset): + for port in item.port: + if port.carrier.__class__.__name__ == commodity_type: + assets.append({"type": item.__class__.__name__, "name": item.name, "id": item.id}) + break + return assets + + def loadESDLFile(self, esdlFile): + """ + Function read esdl file and mapping the asset + + Parameters + ----------- + esdlFile + file name of ESDL file + """ + self.esdlFileName = esdlFile + self.esh.load_file(self.esdlFileName) + + assets = self.get_assets_by_commodity_type('HeatCommodity') + for asset in assets: + asset_obj = self.esh.get_by_id(asset["id"]) + self.add_asset_heat(asset_obj) + + def add_asset_heat(self, asset): + """ Function mapping ESDL asset to esdl_asset attribute""" + if isinstance(asset, esdl.Consumer): + self.esdl_asset['heat']['consumer'].append(asset) + + if isinstance(asset, esdl.Producer) or isinstance(asset, esdl.GasHeater): + self.esdl_asset['heat']['producer'].append(asset) + + if isinstance(asset, esdl.HeatStorage): + self.esdl_asset['heat']['buffer'].append(asset) + + if isinstance(asset, esdl.Pipe): + self.esdl_asset['heat']['pipe'].append(asset) + + if isinstance(asset, esdl.HeatExchange): + self.esdl_asset['heat']['heatexchanger'].append(asset) + + if isinstance(asset, esdl.Joint): + self.esdl_asset['heat']['joint'].append(asset) + + def add_additional_joint(self): + """ Function add extra joint when pipe is connected directly to producer/consumer""" + + for asset in self.esdl_asset['heat']['consumer'] + self.esdl_asset['heat']['producer']: + for port in asset.port: + if isinstance(port,esdl.InPort): + if not isinstance(port.connectedTo[0].eContainer(), esdl.Joint): + #add extra joint + coord=esdl.Point(lon=asset.geometry.lon+1e-4,lat=asset.geometry.lat+1e-4) + newjoint = esdl.Joint(id=str(uuid.uuid4()),name='inport joint ' + asset.name,geometry=coord) + newjoint_inport = esdl.InPort(id=str(uuid.uuid4()), name='inport') + newjoint_inport.carrier = port.carrier + newjoint_outport = esdl.OutPort(id=str(uuid.uuid4()), name='outport') + newjoint_outport.carrier = port.carrier + newjoint.port.append(newjoint_inport) + newjoint.port.append(newjoint_outport) + self.esdl_asset['heat']['joint'].append(newjoint) + + #change connection to newjoint + in_asset = port.connectedTo[0].eContainer() + in_asset.port[1].connectedTo[0] = newjoint_inport + port.connectedTo.append(newjoint_outport) + + if isinstance(port, esdl.OutPort): + if not isinstance(port.connectedTo[0].eContainer(), esdl.Joint): + # add extra joint + coord = esdl.Point(lon=asset.geometry.lon -1e-4, lat=asset.geometry.lat -1e-4) + newjoint = esdl.Joint(id=str(uuid.uuid4()), name='outport joint ' + asset.name,geometry=coord) + newjoint_inport = esdl.InPort(id=str(uuid.uuid4()), name='inport') + newjoint_inport.carrier = port.carrier + newjoint_outport = esdl.OutPort(id=str(uuid.uuid4()), name='outport') + newjoint_outport.carrier = port.carrier + newjoint.port.append(newjoint_inport) + newjoint.port.append(newjoint_outport) + self.esdl_asset['heat']['joint'].append(newjoint) + + # change connection to newjoint + out_asset = port.connectedTo[0].eContainer() + out_asset.port[0].connectedTo[0] = newjoint_outport + port.connectedTo.append(newjoint_inport) + + + + def createpandapipenet(self): + """ + Function create pandapipe network from esdl_asset + + return argument + + Parameters + ----------- + net + pandapipe network + net_asset + system component + Tsup + Supply temperature + Tret + Return temperature + """ + + # specify water properties + print("\nNote that the water properties have been hardcoded\n") + + import pandapipes.properties.fluids as fl + water_const = fl.Fluid("water_const", "liquid") + + density_mesido = 988 + density_const = fl.FluidPropertyConstant(density_mesido) + kinematic_viscosity_mesido = 3.6437149167588743e-07 # @ T=80 degrees + viscosity_const = fl.FluidPropertyConstant(kinematic_viscosity_mesido * density_mesido) + heat_capacity_const = fl.FluidPropertyConstant(4200) + + water_const.add_property(property_name="density", prop=density_const) + water_const.add_property(property_name="viscosity", prop=viscosity_const) + water_const.add_property(property_name="heat_capacity", prop=heat_capacity_const) + + net = pp.create_empty_network(fluid="water") + + fl._add_fluid_to_net(net, water_const) # checl fluid used -->> net.fluid + + + net_asset = {'DemandCluster': [], 'ProductionCluster': [], 'Buffer': [], 'ATES': [], 'Heatpump': [], 'Pump': [], + 'HeatExchanger': [], 'Pipe': []} + + + nodeids = [] + for asset in self.esdl_asset['heat']['joint']: + for port in asset.port: + if port.carrier.__class__.__name__ == 'HeatCommodity': + if not port.carrier.supplyTemperature == 0: + Tfluid = port.carrier.supplyTemperature + if not port.carrier.returnTemperature == 0: + Tfluid = port.carrier.returnTemperature + + coord = (asset.geometry.lon, asset.geometry.lat) + + pp.create_junction(net, + pn_bar=100, + tfluid_k=273.15 + Tfluid, + name=asset.name, + geodata=coord) + + nodeids.append(asset.id) + + + dx = 1000 #m + for asset in self.esdl_asset['heat']['pipe']: + for port in asset.port: + if isinstance(port, esdl.InPort): + node_input_id = port.connectedTo[0].eContainer().id + if isinstance(port, esdl.OutPort): + node_output_id = port.connectedTo[0].eContainer().id + + coord = [] + for point in asset.geometry.point: + coord.append((point.lon, point.lat)) + + # temp_inner_diam_m = ( + # asset.innerDiameter if asset.diameter.name=='DN200' + # else float(asset.diameter.name[2:])*1e-3 + # ) + pp.create_pipe_from_parameters(net, + from_junction=nodeids.index(node_input_id), + to_junction=nodeids.index(node_output_id), + length_km=asset.length * 1e-3, + sections=math.ceil(asset.length / dx), + alpha_w_per_m2k=0.5, + k_mm=0.2, + text_k=273.15 + 10.0, + diameter_m=asset.innerDiameter, + name=asset.name, + geodata=coord) + + producer = 0 + for asset in self.esdl_asset['heat']['producer']: + producer = producer + 1 + for port in asset.port: + if isinstance(port, esdl.InPort): + node_input_id = port.connectedTo[0].eContainer().id + if isinstance(port, esdl.OutPort): + node_output_id = port.connectedTo[0].eContainer().id + + for port in asset.port: + if port.carrier.__class__.__name__ == 'HeatCommodity': + if not port.carrier.supplyTemperature == 0: + Tsup = port.carrier.supplyTemperature + if not port.carrier.returnTemperature == 0: + Tret = port.carrier.returnTemperature + + coord = (asset.geometry.lon, asset.geometry.lat) + + node_valve = pp.create_junction(net, + pn_bar=100, + tfluid_k=273.15 + Tsup, + name='valve joint ' + asset.name, + geodata=coord) + + pp.create_flow_control(net, + from_junction=node_valve, + to_junction=nodeids.index(node_output_id), + controlled_mdot_kg_per_s=0, + diameter_m=0.5, + control_active=True, + name='valve ' + asset.name) + + pp.create_circ_pump_const_mass_flow(net, + return_junction=nodeids.index(node_input_id), + flow_junction=node_valve, + p_flow_bar=100, + mdot_flow_kg_per_s=0.0, + t_flow_k=273.15 + Tsup, + name=asset.name, + type='auto') + + + for asset in self.esdl_asset['heat']['consumer']: + for port in asset.port: + if isinstance(port, esdl.InPort): + node_input_id = port.connectedTo[0].eContainer().id + if isinstance(port, esdl.OutPort): + node_output_id = port.connectedTo[0].eContainer().id + + for port in asset.port: + if port.carrier.__class__.__name__ == 'HeatCommodity': + if not port.carrier.supplyTemperature == 0: + Tsup = port.carrier.supplyTemperature + if not port.carrier.returnTemperature == 0: + Tret = port.carrier.returnTemperature + + coord = (asset.geometry.lon, asset.geometry.lat) + + node_valve = pp.create_junction(net, + pn_bar=100, + tfluid_k=273.15 + Tsup, + name='valve joint ' + asset.name, + geodata=coord) + + + pp.create_flow_control(net, + from_junction=nodeids.index(node_input_id), + to_junction=node_valve, + controlled_mdot_kg_per_s=0, + diameter_m=0.5, + control_active=True, + name='valve ' + asset.name) + + pp.create_heat_exchanger(net, + from_junction=node_valve, + to_junction=nodeids.index(node_output_id), + diameter_m=0.5, + qext_w=0.0, + name=asset.name) + + + return net, net_asset, Tsup, Tret + + + def correcting_pressure_return(self, net): + + + # find minimum pressure at inlet consumer + min_inlet_pressure = net.res_flow_control.p_from_bar.min() + idxmin = net.res_flow_control.p_from_bar.idxmin() + + dP_cons = net.res_flow_control.p_from_bar.values - net.res_flow_control.p_to_bar.values + + dP_offset = 0.5 - dP_cons[idxmin] + + # shift junction pressure (return side only) + idx_node_return = net.junction.index[net.junction.tfluid_k==net.junction.tfluid_k.min()] + net.res_junction.p_bar[idx_node_return] = net.res_junction.p_bar[idx_node_return] - dP_offset + + + # update pressure at pipe + net.res_pipe.p_from_bar = net.res_junction.p_bar[net.pipe.from_junction].values + net.res_pipe.p_to_bar = net.res_junction.p_bar[net.pipe.to_junction].values + + # update pressure at producer + net.res_circ_pump_mass.deltap_bar = net.res_junction.p_bar[net.circ_pump_mass.flow_junction].values - net.res_junction.p_bar[net.circ_pump_mass.return_junction].values + + + + return net \ No newline at end of file diff --git a/examples/pandapipes/src/run_example.py b/examples/pandapipes/src/run_example.py new file mode 100644 index 000000000..0e6ddb863 --- /dev/null +++ b/examples/pandapipes/src/run_example.py @@ -0,0 +1,125 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.io.write_output import ScenarioOutput + + +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.optimization.goal_programming_mixin import Goal +from rtctools.optimization.linearized_order_goal_programming_mixin import ( + LinearizedOrderGoalProgrammingMixin, +) +from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin +from rtctools.util import run_optimization_problem + + +class TargetDemandGoal(Goal): + priority = 1 + + order = 2 + + def __init__(self, optimization_problem): + self.target_min = optimization_problem.get_timeseries("demand_1.target_heat_demand") + self.target_max = optimization_problem.get_timeseries("demand_1.target_heat_demand") + self.function_range = (0.0, 60e6) + self.function_nominal = 1e6 + + def function(self, optimization_problem, ensemble_member): + return optimization_problem.state("demand_1.Heat_demand") + + +class MinimizeProduction(Goal): + priority = 2 + + order = 1 + + def __init__(self): + self.function_nominal = 1e6 + + def function(self, optimization_problem, ensemble_member): + sum = 0 + for source in optimization_problem.energy_system_components.get("heat_source", []): + sum = optimization_problem.state(f"{source}.Heat_source") + return sum + + +class SourcePipeSink( + ScenarioOutput, + TechnoEconomicMixin, + LinearizedOrderGoalProgrammingMixin, + SinglePassGoalProgrammingMixin, + ESDLMixin, + CollocatedIntegratedOptimizationProblem, +): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + def path_goals(self): + g = super().path_goals().copy() + g.append(TargetDemandGoal(self)) + g.append(MinimizeProduction()) + return g + + def post(self): + super().post() + + +class HeatProblemHydraulic(SourcePipeSink): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.heat_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + ) + self.heat_network_settings["n_linearization_lines"] = 3 + self.heat_network_settings["minimize_head_losses"] = True + + def energy_system_options(self): + options = super().energy_system_options() + + return options + + def solver_options(self): + options = super().solver_options() + # options["solver"] = "gurobi" + + return options + + +if __name__ == "__main__": + solution = run_optimization_problem( + HeatProblemHydraulic, + esdl_file_name="Test_Tree_S1C1.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_constant.csv", + ) + results = solution.extract_results() + + # mdata_points = 10 + # print("dP, bar") + # print(-results[f"Pipe1.dH"] * 988.0 * 9.81 / 100e3) # pressure in bar + # print(-results[f"Pipe1_ret.dH"] * 988.0 * 9.81 / 100e3) # pressure in bar + + # print("dP, kPa") + # print(-results[f"Pipe1.dH"] * 988.0 * 9.81 / 1e3) # kPa + # print(-results[f"Pipe1_ret.dH"] * 988.0 * 9.81 / 1e3) # kPa + + # print("dH, m") + # print(-results[f"Pipe1.dH"]) # m + # print(-results[f"Pipe1_ret.dH"]) # m + + # print("mass flow, kg/s") + # print(results[f"Pipe1.Q"][0:mdata_points] * 988.0) + + # print("v, m/s") + # print(results[f"Pipe1.Q"][0:mdata_points] / solution.parameters(0)[f"Pipe1.area"]) + # print(results[f"Pipe1_ret.Q"][0:mdata_points] / solution.parameters(0)[f"Pipe1_ret.area"]) + + # print("dHP, W") + # print(results["Pipe1_ret.Hydraulic_power"][0:mdata_points]) + + # a = 1 diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 24c624351..44b907aa2 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -1468,7 +1468,7 @@ def _name_to_asset(name): # test = 0.0 # ------------------------------------------------------------------------------------------ # Save esdl file - + # Edwin_marker_esdl_string - line 1224 if self.esdl_parser_class == mesido.esdl.esdl_parser.ESDLFileParser: extension = "_Simulation.esdl" if optimizer_sim else "_GrowOptimized.esdl" file_path = Path(self.model_folder) / (Path(self.esdl_file_name).stem + extension) @@ -1476,6 +1476,7 @@ def _name_to_asset(name): self.optimized_esdl_string = self.convert_energy_system_to_string( energy_system=energy_system ) + # self.__optimized_energy_system_handler = esh # self.optimized_esdl_string = esh.to_string() # diff --git a/tests/test_validation_pandapipes.py b/tests/test_validation_pandapipes.py new file mode 100644 index 000000000..a91da05a8 --- /dev/null +++ b/tests/test_validation_pandapipes.py @@ -0,0 +1,327 @@ +import os +import sys +from pathlib import Path +from unittest import TestCase + +from mesido.constants import GRAVITATIONAL_CONSTANT +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.util import run_esdl_mesido_optimization + +import numpy as np + +import pandapipes as pp +from pandapipes.timeseries import run_timeseries + +import pandapower.control as control +from pandapower.timeseries import DFData +from pandapower.timeseries import OutputWriter + +import pandas as pd + +from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test + + +class ValidateWithPandaPipes(TestCase): + """ + Test case for a heat network consisting out of a source, pipe(s) and a sink + """ + + def test_heat_network_head_loss(self): + """ + Heat network: compare the piecewise linear inequality constraints of the head loss + approximation to pandapipes + + Checks: + - head losses + - cp value + - check pandapipes values + """ + root_folder = str(Path(__file__).resolve().parent.parent) + sys.path.insert(1, root_folder) + + import examples.pandapipes.src.run_example + from examples.pandapipes.src.run_example import HeatProblemHydraulic + + base_folder = Path(examples.pandapipes.src.run_example.__file__).resolve().parent.parent + + class SourcePipeSinkNetwork(HeatProblemHydraulic): + + def energy_system_options(self): + options = super().energy_system_options() + self.heat_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + ) + self.heat_network_settings["n_linearization_lines"] = 10 + + self.heat_network_settings["minimum_velocity"] = 0.0 + + return options + + def times(self, variable=None) -> np.ndarray: + """ + Shorten the timeseries to speed up the test + + Parameters + ---------- + variable : string with name of the variable + + Returns + ------- + The timeseries + """ + return super().times(variable)[:10] + + demand_time_series_file = "timeseries_constant.csv" + + solution = run_esdl_mesido_optimization( + SourcePipeSinkNetwork, + base_folder=base_folder, + esdl_file_name="Test_Tree_S1C1.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file=demand_time_series_file, + ) + results = solution.extract_results() + + demand_matching_test(solution, results) + energy_conservation_test(solution, results) + heat_to_discharge_test(solution, results) + + # ------------------------------------------------------------------------------ + # ------------------------------------------------------------------------------ + # Setup and run pandapipes + # ------------------------------------------------------------------------------ + # ------------------------------------------------------------------------------ + from examples.pandapipes.src.pandapipeesdlparser import PandapipeEsdlParserClass + + esdl_file = os.path.join(base_folder, "model", "Test_Tree_S1C1.esdl") + esdlparser = PandapipeEsdlParserClass() + esdlparser.loadESDLFile(esdl_file) + # A producer/consumer cannot directly connect to a pipe, but must be connected to a joint, + # therefore additional joints created for the inlet & outlet of these assets + esdlparser.add_additional_joint() + + # ------------------------------------------------------------------------------ + # ------------------------------------------------------------------------------ + # Setup scenario + total_producers = len(esdlparser.esdl_asset["heat"]["producer"]) + total_consumers = len(esdlparser.esdl_asset["heat"]["consumer"]) + + # Create panda_pipes network + net, net_asset, supply_temperature, return_temperature = esdlparser.createpandapipenet() + + # Setup profile data + raw_profile_demand_load_watt = pd.read_csv( + os.path.join(base_folder, "input", demand_time_series_file) + ) + profile_demand_load_watt = pd.DataFrame(columns=["0"]) + profile_demand_load_watt["0"] = raw_profile_demand_load_watt["demand_1"] + + demand_power = profile_demand_load_watt["0"].to_numpy() / total_consumers + profile_demand_load_watt = pd.DataFrame(results["demand_1.Heat_demand"]) + + # Setup supply mass flow for panda_pipes + average_temperature_kelvin = (supply_temperature + return_temperature) / 2.0 + 273.15 + cp_joule_kgkelvin = pp.get_fluid(net).get_heat_capacity(average_temperature_kelvin) + + # Enforce mass flow rate instead of cacluting it from Q = m_dot... + mesido_demand_flow_kg_s = results["Pipe1.Q"] * 988.0 + demand_flow = mesido_demand_flow_kg_s + supply_flow = demand_flow * total_consumers / total_producers + + # Below control is needed when there is more than 1 producer/heat demand + net.flow_control.control_active[0] = False # 1st supplier + net.flow_control.control_active[0 + total_producers] = False # 1st demand + + # Assign profiles to the following assets: + # - producer mass flow rate, supply temperature + # - heat demand power + # Producer + isupply = 0 + supply_flow_kg_s = pd.DataFrame(supply_flow, columns=[f"{isupply}"]) + ds_supply_pump_flow_kg_s = DFData(supply_flow_kg_s) + control.ConstControl( + net, + element="circ_pump_mass", + variable="mdot_flow_kg_per_s", + element_index=net.circ_pump_mass.index.values[isupply], + data_source=ds_supply_pump_flow_kg_s, + profile_name=net.circ_pump_mass.index.values[isupply].astype(str), + ) + supply_temp_kelvin = pd.DataFrame( + [supply_temperature + 273.15] * len(profile_demand_load_watt), + columns=[f"{isupply}"], + ) + df_supply_pump_temperature_kelvin = DFData(supply_temp_kelvin) + control.ConstControl( + net, + element="circ_pump_mass", + variable="t_flow_k", + element_index=net.circ_pump_mass.index.values[isupply], + data_source=df_supply_pump_temperature_kelvin, + profile_name=net.circ_pump_mass.index.values[isupply].astype(str), + ) + + # Demand settings + idemand = 0 + demand_power_watt = pd.DataFrame(demand_power, columns=[f"{idemand}"]) + ds_demand_power_watt = DFData(demand_power_watt) + control.ConstControl( + net, + element="heat_exchanger", + variable="qext_w", + element_index=net.heat_exchanger.index.values[idemand], + data_source=ds_demand_power_watt, + profile_name=net.heat_exchanger.index.values[idemand].astype(str), + ) + + if profile_demand_load_watt.shape[0] != supply_flow_kg_s.shape[0]: + exit("profiles do not match") + # Completed scenario setup + + # ------------------------------------------------------------------------------ + # ------------------------------------------------------------------------------ + # Run panda_pipes simulation + time_steps = range(profile_demand_load_watt.shape[0]) + log_variables = [ + ("res_pipe", "v_mean_m_per_s"), + ("res_pipe", "p_from_bar"), + ("res_pipe", "p_to_bar"), + ("res_pipe", "mdot_from_kg_per_s"), + ("heat_exchanger", "qext_w"), + ] + ow = OutputWriter( + net, + time_steps, + output_path=None, + log_variables=log_variables, + ) + + try: + run_timeseries(net, time_steps, mode="all", friction_model="colebrook") + except Exception as e: + print(e) + exit("Pandapipes runs was not successful") + + # ------------------------------------------------------------------------------ + # Post processing panda_pipes results and tests + net = esdlparser.correcting_pressure_return(net) + ow.np_results["heat_exchanger.qext_w"] + mdata_points = len(mesido_demand_flow_kg_s) + + density = ( + ow.np_results["res_pipe.mdot_from_kg_per_s"][0:mdata_points] + / ow.np_results["res_pipe.v_mean_m_per_s"][0:mdata_points] + / (np.pi * net.pipe.diameter_m[0] * net.pipe.diameter_m[0] / 4.0) + ) + pandapipes_head_loss_m = ( + ( + ow.np_results["res_pipe.p_to_bar"][0:mdata_points] + - ow.np_results["res_pipe.p_from_bar"][0:mdata_points] + ) + * 100.0e3 + / density[0][0] + / GRAVITATIONAL_CONSTANT + ) + + # Compare head losses + # Hard coded value of 9 used below, since the last data entry has value close to 0, and + # a comparison is not of importance + for ii in range(len(results["Pipe1.dH"][:9])): + np.testing.assert_array_less( + pandapipes_head_loss_m[ii][0], 0.0 + ) # check that values are negative + # check that mesido > pandapipes within % + np.testing.assert_array_less( + results["Pipe1.dH"][ii] / pandapipes_head_loss_m[ii][0], 1.08 + ) + np.testing.assert_array_less( + 1.0, results["Pipe1.dH"][ii] / pandapipes_head_loss_m[ii][0] + ) + # Check cp value + np.testing.assert_allclose(4200.0, cp_joule_kgkelvin) + + # Check panpapipes results + # Expected results (during validation) during validation work + expected_dh = { # + "pandapipes": [ + -1.34309074e01, + -1.06285745e01, + -8.15362473e00, + -6.00606036e00, + -4.18588773e00, + -2.69436747e00, + -1.52897525e00, + -6.91030646e-01, + -1.80687567e-01, + -2.05221922e-05, + ], + } + for ii in range(len(pandapipes_head_loss_m)): + np.testing.assert_allclose(expected_dh["pandapipes"][ii], pandapipes_head_loss_m[ii][0]) + + # ------------------------------------------------------------------------------------------ + # Do not delete the code below. + # ------------------------------------------------------------------------------------------ + + # # Plotting code for manual checking values + # import matplotlib.pyplot as plt + + # # Setup data for easy plotting + # velo_m_s = { + # "pandapipes": [], + # "mesido": results["Pipe1.HeatIn.Q"] / solution.parameters(0)["Pipe1.area"], + # } + # head_loss_m = { + # "pandapipes": [], + # "mesido": -results["Pipe1.dH"], + # } + # for ii in range(len(ow.np_results["res_pipe.v_mean_m_per_s"])): + # velo_m_s["pandapipes"].append(ow.np_results["res_pipe.v_mean_m_per_s"][ii][0]) + # head_loss_m["pandapipes"].append(-pandapipes_head_loss_m[ii][0]) + + # # Plot data + # plt.figure().set_size_inches(10, 6) + # plt.plot(velo_m_s["pandapipes"], head_loss_m["pandapipes"], linewidth=2) + # plt.plot( + # velo_m_s["mesido"], + # head_loss_m["mesido"], + # "k--", + # linewidth=2, + # alpha=0.75, + # marker="x" + # ) + + # plt.legend(["pandapipes", "MESIDO"], prop={'size': 13}) + # plt.xlabel("Flow velocity [m/s]", fontsize=16) + # plt.ylabel("Head loss [m]", fontsize=16) + # plt.grid() + # plt.xticks(np.linspace(0, 2.5, 6), fontsize=16) + # plt.yticks( + # np.linspace(0, 15.0, 7), + # labels=["0.0", "2.5", "5.0", "7.5", "10.0", "12.5", "15.0"], + # fontsize=16, + # ) + # plt.xlim([0., 2.5]) + # plt.tick_params(left=False, right=False, labelleft=False) + # plt.ylim([0., 15.]) + # plt.tick_params(left=True, right=False, labelleft=True) + # n_lines = solution.heat_network_settings["n_linearization_lines"] + # plt.savefig(f"dH MESIDO_{n_lines} vs pandapipes") + # plt.show() + # plt.close() + + # end Plotting code for manual checking values + # ------------------------------------------------------------------------------------------ + + +if __name__ == "__main__": + import time + + start_time = time.time() + a = ValidateWithPandaPipes() + a.test_heat_network_head_loss() + + print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tox.ini b/tox.ini index 5645a9106..1cdcd134d 100644 --- a/tox.ini +++ b/tox.ini @@ -14,6 +14,8 @@ deps = pytest-xdist pytest-ordering numpy + pandapipes==0.10.0 + pandapower==2.14.6 extras = all # Main tests (typical normal test) @@ -37,7 +39,7 @@ deps = flake8-comprehensions flake8-import-order pep8-naming -commands = flake8 examples src tests setup.py +commands = flake8 examples src tests setup.py --exclude=pandapipeesdlparser.py [testenv:black] @@ -45,4 +47,4 @@ skip_install = True deps = black >= 24.1.1 commands = - black --line-length 100 --target-version py38 --check --diff examples src tests setup.py + black --line-length 100 --target-version py38 --check --diff examples src tests setup.py --force-exclude=pandapipeesdlparser.py From 07c52e633e3e06f23d0608ae7ad6886113670e36 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 7 Oct 2024 08:30:06 +0200 Subject: [PATCH 217/376] fix on the check of the profile parsing and the scaling of the ATES (#173) Fix on the check of the profile parsing, e.g. if profile added power does not need to filled in and the scaling of the ATES temperature has been improved. --- CHANGELOG.md | 3 ++- src/mesido/esdl/profile_parser.py | 2 +- src/mesido/heat_physics_mixin.py | 11 +++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ef200afd..3a2c4589b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,8 @@ - Test case: Head loss validation with pandapipes ## Changed -- xxx +- Bugfix: No longer required to provide a power at the heating demands when a profile has been added. +- Bugfix: Scaling fix on ATES temperature variable when temperature modelling not used. ## Fixed - xxx diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 5753786b4..038818746 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -134,7 +134,7 @@ def read_profiles( # Check if that the installed heat/cool demand capacity is sufficient if component_type in ["heat_demand", "cold_demand"]: max_profile_value = max(values) - if asset_power < max_profile_value: + if asset_power < max_profile_value and asset_power != 0.0: self._asset_potential_errors_identified[f"{component_type}.power"][ component ] = ( diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 2fbd3f459..72002e22f 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -2038,15 +2038,14 @@ def __ates_temperature_changing_path_constraints(self, ensemble_member): ates_dt_charging = self.state(f"{ates}.Temperature_change_charging") ates_dt_loss = self.state(f"{ates}.Temperature_loss") + ates_temperature_loss_nominal = self.variable_nominal(f"{ates}.Temperature_loss") + ates_dt_charging_nominal = self.variable_nominal(f"{ates}.Temperature_change_charging") + sup_carrier = parameters[f"{ates}.T_supply_id"] supply_temperatures = self.temperature_regimes(sup_carrier) if options["include_ates_temperature_options"] and len(supply_temperatures) != 0: soil_temperature = parameters[f"{ates}.T_amb"] - ates_temperature_loss_nominal = self.variable_nominal(f"{ates}.Temperature_loss") - ates_dt_charging_nominal = self.variable_nominal( - f"{ates}.Temperature_change_charging" - ) flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) * _hot_pipe_orientation @@ -2162,8 +2161,8 @@ def __ates_temperature_changing_path_constraints(self, ensemble_member): ) ) else: - constraints.append((ates_dt_charging, 0.0, 0.0)) - constraints.append((ates_dt_loss, 0.0, 0.0)) + constraints.append((ates_dt_charging / ates_dt_charging_nominal, 0.0, 0.0)) + constraints.append((ates_dt_loss / ates_temperature_loss_nominal, 0.0, 0.0)) return constraints def __ates_heat_losses_path_constraints(self, ensemble_member): From 0b8b4407d2ad6c8a11806278ebbd7571339c86d9 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 7 Oct 2024 08:33:24 +0200 Subject: [PATCH 218/376] Cleanup run grow workflow solvers (#174) A separate function has been created to allow running optimization problem with different solvers. The solver options are now provided with separate classes, to allow for different combinations between different solvers and problem classes. Also included a setup for the CPLEX solver in the EndScenarioSizing class. --- CHANGELOG.md | 2 + examples/PoCTutorial/src/run_grow_tutorial.py | 4 +- examples/municipality/src/run_municipality.py | 4 +- manual_run/testing_bugs/src/run_grow.py | 5 +- src/mesido/workflows/__init__.py | 8 +- src/mesido/workflows/grow_workflow.py | 82 ++++++++----------- src/mesido/workflows/utils/helpers.py | 36 ++++++++ tests/test_end_scenario_sizing.py | 14 ++-- tests/test_profile_parsing.py | 6 +- tests/test_updated_esdl_post_process.py | 4 +- 10 files changed, 91 insertions(+), 74 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a2c4589b..96ae64445 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,10 @@ ## Added - Test case: Head loss validation with pandapipes +- Grow_workflow: Solver class created to allow the use of CPLEX as a solver for EndScenarioSizing classes. ## Changed +- Impact on the way EndScenarioSizing problems in MESIDO are run: The calling of the different optimization problem classes has been split from the solver classes. In EndScenarioSizing classes, the HIGHS solver is the default and the calling functions also cather for other solvers by adding the keyword "solver_class" with the respective solver class. - Bugfix: No longer required to provide a power at the heating demands when a profile has been added. - Bugfix: Scaling fix on ATES temperature variable when temperature modelling not used. diff --git a/examples/PoCTutorial/src/run_grow_tutorial.py b/examples/PoCTutorial/src/run_grow_tutorial.py index c74d0c061..d28d91a05 100644 --- a/examples/PoCTutorial/src/run_grow_tutorial.py +++ b/examples/PoCTutorial/src/run_grow_tutorial.py @@ -1,10 +1,10 @@ from pathlib import Path from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.workflows import EndScenarioSizingStagedHIGHS, run_end_scenario_sizing +from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing -class EndScenarioSizingStagedHighs(EndScenarioSizingStagedHIGHS): +class EndScenarioSizingStagedHighs(EndScenarioSizingStaged): pass diff --git a/examples/municipality/src/run_municipality.py b/examples/municipality/src/run_municipality.py index 09add0e7d..153ab70f1 100644 --- a/examples/municipality/src/run_municipality.py +++ b/examples/municipality/src/run_municipality.py @@ -1,7 +1,7 @@ from pathlib import Path from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.workflows import EndScenarioSizingStagedHIGHS, run_end_scenario_sizing +from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing if __name__ == "__main__": @@ -11,7 +11,7 @@ base_folder = Path(__file__).resolve().parent.parent solution = run_end_scenario_sizing( - EndScenarioSizingStagedHIGHS, + EndScenarioSizingStaged, base_folder=base_folder, esdl_file_name="GROW_withATES_Prod_install.esdl", esdl_parser=ESDLFileParser, diff --git a/manual_run/testing_bugs/src/run_grow.py b/manual_run/testing_bugs/src/run_grow.py index 6dcd75db4..f7ec98bd0 100644 --- a/manual_run/testing_bugs/src/run_grow.py +++ b/manual_run/testing_bugs/src/run_grow.py @@ -1,8 +1,7 @@ from pathlib import Path from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.workflows import EndScenarioSizingStagedHIGHS, run_end_scenario_sizing -from mesido.workflows.grow_workflow import EndScenarioSizingStagedGurobi +from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing if __name__ == "__main__": import time @@ -11,7 +10,7 @@ base_folder = Path(__file__).resolve().parent.parent solution = run_end_scenario_sizing( - EndScenarioSizingStagedHIGHS, + EndScenarioSizingStaged, base_folder=base_folder, esdl_file_name="Base Netwerk Delft.esdl", esdl_parser=ESDLFileParser, diff --git a/src/mesido/workflows/__init__.py b/src/mesido/workflows/__init__.py index 9790c989f..04ae90d66 100644 --- a/src/mesido/workflows/__init__.py +++ b/src/mesido/workflows/__init__.py @@ -1,10 +1,8 @@ from .grow_workflow import ( EndScenarioSizing, - EndScenarioSizingDiscountedHIGHS, - EndScenarioSizingDiscountedStagedHIGHS, + EndScenarioSizingDiscounted, EndScenarioSizingHIGHS, EndScenarioSizingStaged, - EndScenarioSizingStagedHIGHS, SolverGurobi, SolverHIGHS, run_end_scenario_sizing, @@ -20,11 +18,9 @@ __all__ = [ "EndScenarioSizing", - "EndScenarioSizingDiscountedHIGHS", - "EndScenarioSizingDiscountedStagedHIGHS", + "EndScenarioSizingDiscounted", "EndScenarioSizingHIGHS", "EndScenarioSizingStaged", - "EndScenarioSizingStagedHIGHS", "SolverGurobi", "SolverHIGHS", "run_end_scenario_sizing", diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 1b874f5cb..502ed8a10 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -14,7 +14,7 @@ from mesido.workflows.utils.adapt_profiles import ( adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, ) -from mesido.workflows.utils.helpers import main_decorator +from mesido.workflows.utils.helpers import main_decorator, run_optimization_problem_solver import numpy as np @@ -30,7 +30,6 @@ CachingQPSol, SinglePassGoalProgrammingMixin, ) -from rtctools.util import run_optimization_problem DB_HOST = "172.17.0.2" @@ -86,6 +85,7 @@ def solver_options(self): highs_options["mip_rel_gap"] = 0.02 options["gurobi"] = None + options["cplex"] = None return options @@ -110,6 +110,24 @@ def solver_options(self): return options +class SolverCPLEX: + def solver_options(self): + options = super().solver_options() + options["casadi_solver"] = self._qpsol + options["solver"] = "cplex" + cplex_options = options["cplex"] = {} + if hasattr(self, "_stage"): + if self._stage == 1: + cplex_options["CPX_PARAM_EPGAP"] = 0.005 + else: + cplex_options["CPX_PARAM_EPGAP"] = 0.02 + cplex_options["CPX_PARAM_EPGAP"] = 0.02 + + options["highs"] = None + + return options + + class EndScenarioSizing( SolverHIGHS, ScenarioOutput, @@ -425,14 +443,6 @@ class EndScenarioSizingHIGHS(EndScenarioSizing): pass -class EndScenarioSizingGurobi(SolverGurobi, EndScenarioSizing): - """ - Uses Gurobi as the solver for the EndScenarioSizing problem. - """ - - pass - - class EndScenarioSizingDiscounted(EndScenarioSizing): """ The discounted annualized is utilised as the objective function. @@ -453,14 +463,6 @@ def energy_system_options(self): return options -class EndScenarioSizingDiscountedHIGHS(EndScenarioSizingDiscounted): - pass - - -class EndScenarioSizingDiscountedGurobi(SolverGurobi, EndScenarioSizingDiscounted): - pass - - class EndScenarioSizingHeadLoss(EndScenarioSizing): """ EndScenarioSizing optimisation including the linearised inequality DarcyWeisbach Head loss @@ -541,48 +543,23 @@ class EndScenarioSizingStaged(SettingsStaged, EndScenarioSizing): pass -class EndScenarioSizingStagedHIGHS(EndScenarioSizingStaged): - pass - - -class EndScenarioSizingStagedGurobi(SolverGurobi, EndScenarioSizingStaged): - pass - - class EndScenarioSizingDiscountedStaged(SettingsStaged, EndScenarioSizingDiscounted): pass -class EndScenarioSizingDiscountedStagedHIGHS(EndScenarioSizingDiscountedStaged): - pass - - -class EndScenarioSizingDiscountedStagedGurobi(SolverGurobi, EndScenarioSizingDiscountedStaged): - pass - - class EndScenarioSizingHeadLossStaged(SettingsStaged, EndScenarioSizingHeadLoss): pass -class EndScenarioSizingHeadLossStagedGurobi(SolverGurobi, EndScenarioSizingHeadLossStaged): - pass - - class EndScenarioSizingHeadLossDiscountedStaged( SettingsStaged, EndScenarioSizingHeadLossDiscounted ): pass -class EndScenarioSizingHeadLossDiscountedStagedGurobi( - SolverGurobi, EndScenarioSizingHeadLossDiscountedStaged -): - pass - - def run_end_scenario_sizing_no_heat_losses( end_scenario_problem_class, + solver_class=SolverHIGHS, **kwargs, ): """ @@ -593,6 +570,7 @@ def run_end_scenario_sizing_no_heat_losses( Parameters ---------- end_scenario_problem_class : The end scenario problem class. + solver_class: The solver and its settings to be used to solve the problem. staged_pipe_optimization : Boolean to toggle between the staged or non-staged approach Returns @@ -606,8 +584,9 @@ def run_end_scenario_sizing_no_heat_losses( ), "A staged problem class is required as input for the sizing without heat_losses" start_time = time.time() - solution = run_optimization_problem( + solution = run_optimization_problem_solver( end_scenario_problem_class, + solver_class=solver_class, stage=1, total_stages=1, **kwargs, @@ -620,6 +599,7 @@ def run_end_scenario_sizing_no_heat_losses( def run_end_scenario_sizing( end_scenario_problem_class, + solver_class=None, staged_pipe_optimization=True, **kwargs, ): @@ -636,6 +616,7 @@ def run_end_scenario_sizing( Parameters ---------- end_scenario_problem_class : The end scenario problem class. + solver_class: The solver and its settings to be used to solve the problem. staged_pipe_optimization : Boolean to toggle between the staged or non-staged approach Returns @@ -649,8 +630,9 @@ def run_end_scenario_sizing( start_time = time.time() if staged_pipe_optimization and issubclass(end_scenario_problem_class, SettingsStaged): - solution = run_optimization_problem( + solution = run_optimization_problem_solver( end_scenario_problem_class, + solver_class=solver_class, stage=1, total_stages=2, **kwargs, @@ -732,8 +714,9 @@ def run_end_scenario_sizing( pass priorities_output = solution._priorities_output - solution = run_optimization_problem( + solution = run_optimization_problem_solver( end_scenario_problem_class, + solver_class=solver_class, stage=2, total_stages=2, boolean_bounds=boolean_bounds, @@ -765,8 +748,9 @@ def main(runinfo_path, log_level): # user write-user # password nwn_write_test - _ = run_optimization_problem( - EndScenarioSizingHIGHS, + _ = run_optimization_problem_solver( + EndScenarioSizing, + solver_class=SolverHIGHS, esdl_run_info_path=runinfo_path, log_level=log_level, **kwargs, diff --git a/src/mesido/workflows/utils/helpers.py b/src/mesido/workflows/utils/helpers.py index 77ab83839..6f711b9af 100644 --- a/src/mesido/workflows/utils/helpers.py +++ b/src/mesido/workflows/utils/helpers.py @@ -9,6 +9,8 @@ from mesido import __version__ +from rtctools.util import run_optimization_problem + MULTI_ENUM_NAME_TO_FACTOR = { esdl.MultiplierEnum.ATTO: 1e-18, @@ -132,3 +134,37 @@ def get_cost_value_and_unit(cost_info: esdl.SingleValue): cost_value /= MULTI_ENUM_NAME_TO_FACTOR[per_multiplier] return cost_value, unit, per_unit, per_time_uni + + +def run_optimization_problem_solver( + scenario_problem_class, + solver_class=None, + **kwargs, +): + """ + This method runs the optimisation problem based on the scenario_problem_class. An additional + solver_class can be added to substitute the default solver options of the problem definition + class. + :param scenario_problem_class: Class defining the optimization problem + :param solver_class: Class defining the solver settings. + :param kwargs: + :return: + """ + + new_solver = False + if solver_class: + + if not issubclass(scenario_problem_class, solver_class): + # if solver_class is already a subclass of the problem class, then these settings are + # already used and it should not be added to the inheritance structure. + class ProblemSolverClass(solver_class, scenario_problem_class): + pass + + solution = run_optimization_problem(ProblemSolverClass, **kwargs) + + new_solver = True + + if not new_solver: + solution = run_optimization_problem(scenario_problem_class, **kwargs) + + return solution diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 72facd9dc..106f2c883 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -5,9 +5,9 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.workflows import ( - EndScenarioSizingDiscountedHIGHS, - EndScenarioSizingHIGHS, - EndScenarioSizingStagedHIGHS, + EndScenarioSizing, + EndScenarioSizingDiscounted, + EndScenarioSizingStaged, run_end_scenario_sizing, ) from mesido.workflows.grow_workflow import EndScenarioSizingHeadLossStaged @@ -29,7 +29,7 @@ def setUpClass(cls) -> None: # This is an optimization done over a full year with timesteps of 5 days and hour timesteps # for the peak day cls.solution = run_optimization_problem( - EndScenarioSizingHIGHS, + EndScenarioSizing, base_folder=base_folder, esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", esdl_parser=ESDLFileParser, @@ -133,7 +133,7 @@ def test_end_scenario_sizing_staged(self): solution_unstaged = self.solution solution_unstaged_2 = run_end_scenario_sizing( - EndScenarioSizingHIGHS, + EndScenarioSizing, staged_pipe_optimization=False, base_folder=base_folder, esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", @@ -143,7 +143,7 @@ def test_end_scenario_sizing_staged(self): ) solution_staged = run_end_scenario_sizing( - EndScenarioSizingStagedHIGHS, + EndScenarioSizingStaged, base_folder=base_folder, esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", esdl_parser=ESDLFileParser, @@ -240,7 +240,7 @@ def test_end_scenario_sizing_discounted(self): base_folder = Path(run_ates.__file__).resolve().parent.parent - class TestEndScenarioSizingDiscountedHIGHS(EndScenarioSizingDiscountedHIGHS): + class TestEndScenarioSizingDiscountedHIGHS(EndScenarioSizingDiscounted): def solver_options(self): options = super().solver_options() options["solver"] = "highs" diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 6c13f8e24..e4184fef6 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -7,7 +7,7 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import InfluxDBProfileReader, ProfileReaderFromFile -from mesido.workflows import EndScenarioSizingStagedHIGHS +from mesido.workflows import EndScenarioSizingStaged import numpy as np @@ -48,7 +48,7 @@ def test_asset_potential_errors(self): logger, logs_list = create_log_list_scaling("WarmingUP-MPC") with self.assertRaises(SystemExit) as cm: - problem = EndScenarioSizingStagedHIGHS( + problem = EndScenarioSizingStaged( esdl_parser=ESDLFileParser, base_folder=base_folder, model_folder=model_folder, @@ -114,7 +114,7 @@ def test_loading_from_influx(self): base_folder = Path(run_1a.__file__).resolve().parent.parent model_folder = base_folder / "model" input_folder = base_folder / "input" - problem = EndScenarioSizingStagedHIGHS( + problem = EndScenarioSizingStaged( esdl_parser=ESDLFileParser, base_folder=base_folder, model_folder=model_folder, diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 5d92f5b50..80562681a 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -8,7 +8,7 @@ from esdl.esdl_handler import EnergySystemHandler from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.workflows import EndScenarioSizingStagedHIGHS +from mesido.workflows import EndScenarioSizingStaged import numpy as np @@ -51,7 +51,7 @@ def test_updated_esdl(self): model_folder = base_folder / "model" input_folder = base_folder / "input" - problem = EndScenarioSizingStagedHIGHS( + problem = EndScenarioSizingStaged( esdl_file_name="PoC Tutorial.esdl", esdl_parser=ESDLFileParser, base_folder=base_folder, From 48da8fb424369bf323ad89215b4d9fd88b93d505 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 7 Oct 2024 08:53:57 +0200 Subject: [PATCH 219/376] Electrolyzer curve update (#178) A factor has been added in the input data to determine the shape on the specific power curve for the maximum efficiency of the electrolyzer. --- CHANGELOG.md | 4 +++- src/mesido/esdl/esdl_heat_model.py | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 96ae64445..36547a433 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,9 @@ # [Unreleased] - 2024-09-20 ## Added -- Test case: Head loss validation with pandapipes +- Test case: Head loss validation with pandapipes. +- Example on ESDL file creation using pyESDL for the PoC Tutorial. +- Electrolyzer specific power curve valley location specified optionally specified in ESDL. - Grow_workflow: Solver class created to allow the use of CPLEX as a solver for EndScenarioSizing classes. ## Changed diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 6306fe60d..588af47fb 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1948,6 +1948,7 @@ def convert_electrolyzer(self, asset: Asset) -> Tuple[Type[Electrolyzer], MODIFI Optional ESDL fields: --------------------- - technicalLifetime + - powerFactor - CostInformation: discountRate - CostInformation: marginalCost - CostInformation: installationCost @@ -1981,11 +1982,15 @@ def convert_electrolyzer(self, asset: Asset) -> Tuple[Type[Electrolyzer], MODIFI eff_max_load = asset.attributes["effMaxLoad"] # Wh/g eff_max = asset.attributes["efficiency"] # Wh/g + power_factor = ( + asset.attributes["powerFactor"] if asset.attributes["powerFactor"] != 0.0 else 2.5 + ) + def equations(x): a, b, c = x eq1 = a / min_load + b * min_load + c - eff_min_load eq2 = a / max_load + b * max_load + c - eff_max_load - eq3 = a / (min_load * 2.5) + b * (min_load * 2.5) + c - eff_max + eq3 = a / (min_load * power_factor) + b * (min_load * power_factor) + c - eff_max return [eq1, eq2, eq3] # Here we approximate the efficiency curve of the electrolyzer with the function: From 92ef74ba31e4833896a0e1c3d5e847136e23bf86 Mon Sep 17 00:00:00 2001 From: JimRojer-TNO <137045207+jimrojerTNO@users.noreply.github.com> Date: Mon, 7 Oct 2024 09:11:01 +0200 Subject: [PATCH 220/376] Gas physics docs (#161) Added gas physics documentation --- CHANGELOG.md | 3 +- docs/theory/asset_sizing.rst | 2 +- docs/theory/gas_physics.rst | 211 ++++++++++++++++++++++++++++++++++- 3 files changed, 213 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36547a433..c3cfdcc96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ -# [Unreleased] - 2024-09-20 +# [Unreleased] - 2024-10-07 ## Added +- Gas physics documentation - Test case: Head loss validation with pandapipes. - Example on ESDL file creation using pyESDL for the PoC Tutorial. - Electrolyzer specific power curve valley location specified optionally specified in ESDL. diff --git a/docs/theory/asset_sizing.rst b/docs/theory/asset_sizing.rst index ce6af0144..c401f91a2 100644 --- a/docs/theory/asset_sizing.rst +++ b/docs/theory/asset_sizing.rst @@ -76,7 +76,7 @@ The sizing integer can then be used to limit the max size variable, e.g. max flo where :math:`\bar{e_j}` denotes the max value for the state at that sizing option. Asset sizing methods employed -------------------------- +----------------------------- .. list-table:: Asset Sizing Model :widths: 25 25 25 25 50 diff --git a/docs/theory/gas_physics.rst b/docs/theory/gas_physics.rst index 62161f48e..333641946 100644 --- a/docs/theory/gas_physics.rst +++ b/docs/theory/gas_physics.rst @@ -3,4 +3,213 @@ Gas Physics =========== -Coming soon... +MESIDO models the volumetric flow (:math:`\dot{V}`), the mass flow (:math:`\dot{m}`), the head +(:math:`H`) and the hydraulic power (:math:`HP`). +These variables are modelled over all timesteps :math:`K` and for each asset in the system +:math:`A`. +An asset :math:`a \in A` in the system is modelled using a set of in-ports, denoted by +:math:`I^a_{in} \neq \emptyset`, and a set of out-ports, denoted by +:math:`I^a_{out} \neq \emptyset`, with :math:`I^a` denoting the union of these two sets. +For an asset :math:`a` the variables :math:`\dot{V}_i, \dot{m}_i`, +:math:`H_i` and :math:`HP_i` denote the volumetric flow, mass flow, head and hydraulic power for port :math:`i \in I^a`. +For readability, the variables and equations of the model, given below, are defined without +indexing the variables and sets for each timestep. +The equations below are assumed to hold for every timestep, unless otherwise specified. + +By modelling these variables the gaseous system can be closely approximated. The method will show that for the modelling assumptions a feasible conservative solution will be guaranteed. + +Incompressible Flow +------------------- + +Under incompressible flow assumption the volumetric- and mass flow for every asset should equate to zero. + +.. math:: + :label: eq:Q_balance + + \sum_{i \in I} \dot{V}_i + \dot{V}^a_{consumed} = 0 \;\; \forall a \in A. + +.. math:: + :label: eq:m_balance + + \sum_{i \in I} \dot{m}_i + \dot{m}^a_{consumed} = 0 \;\; \forall a \in A. + +:math:`\dot{V}^a_{consumed}` and :math:`\dot{m}^a_{consumed}` are the volumetric- and mass flow consumed by asset :math:`a`. + +Network Physics +--------------- + +Pipe +~~~~ +The main function of a pipe is to transport gas mass. +In reality it loses part of this mass as the pipe is pressurized and has small leaks. +Within MESIDO it is assumed that these leaks are small and are neglected in the optimization. + +Equality constraints are used to relate the volumetric flow to the mass flow. + +.. math:: + :label: eq:vol_to_mass + + \dot{m}^a = \rho \dot{V}^a \;\; \forall a \in A_{pipes}. + +Where :math:`\rho` is the density of the medium which is assumed constant in one hydrualic +coupled system and is set based on the design nominal pressure in the system. + +The head loss, :math:`dH` must be compensated by pumps which are assumed to be located at sources +and storage assets. + +.. math:: + :label: eq:gas_pipe_head + + H^a_{in} - dH = H^a_{out} \;\; \forall a \in A_{pipes}. + +Steady-state head losses can be closely modelled with a quadratic relation w.r.t. :math:`\dot{V}`. +A set of linear inequalities is used, see :numref:`inequalitydH`, to approximate the quadratic curve. +The general form of the inequalities is given below in :eq:`eq:pipe_head_loss1`-:eq:`eq:pipe_head_loss2`. +Note that the big M method is used with the flow direction and disconnected integers to allow for +modelling of bi-directional flow and the ability to disconnect pipes. + +.. math:: + :label: eq:gas_pipe_head_loss1 + + dH - (\alpha_j \dot{V} + \beta_j) + (\delta^a_{discon} + \delta^a_{dir})M\geq 0 \\ \forall (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, + +.. math:: + :label: eq:gas_pipe_head_loss2 + + dH + (\alpha_j\dot{V} + \beta_j) - (\delta^a_{discon} + (1-\delta^a_{dir}))M\leq 0 \\ \forall (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}. + +Where :math:`(\alpha_j, \beta_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. + +These inequalities force the head loss to be greater or equal to the approximated quadratic curve. +Although the constraints by themselves will not guarantee a physically feasible answer, the optimization will in drag the solution to an equality constraint as the objective function will minimize cost which reduces with lower pressure drop. + +.. _inequalitydH: + +.. figure:: ../images/linearlines.png + :figwidth: 6.94792in + :align: center + + Schematic visualization of how the linear constraints are fitted to the gas pipe head loss curve. + +Similar as with head loss the hydraulic power, :math:`HP^a`, required to overcome the head losses is modelled with a set of linear inequalities: + +.. math:: + :label: eq:gas_pipe_hp1 + + HP^a - (c_j\dot{V} + d_j) + (\delta^a_{discon} + 1-\delta^a_{dir})M \geq 0 \\ + \forall (c_j, d_j) \;\; \forall a \in A_{pipes}, + +.. math:: + :label: eq:gas_pipe_hp2 + + HP^a - (c_j\dot{V} + d_j) - (\delta_{discon}(k) - 1-\delta_{dir})M\geq 0 \\ + \forall (c_j, d_j) \;\; \forall a \in A_{pipes}. + +Here :math:`(c_j, d_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. + +The method with linear inequalities, as represented above, is only valid when each possible unique flow path route in the network has a control valve to compensate non-physical head loss induced by the optimizer. Alternatively a (piece-wise) linear equality constraint between min and max flow rate can be configured for cases where this assumption is invalid, with the general form represented by :eq:`eq:pipe_head_loss3`-:eq:`eq:pipe_head_loss6`. + +.. math:: + :label: eq:gas_pipe_head_loss3 + + dH - (\alpha_j \dot{V} + \beta_j) + (\delta^a_{discon} + \delta^a_{dir} + (1 - \delta^a_{line\_seg_{k}}))M\geq 0 \\ \delta^a_{line\_seg_{k}} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, + +.. math:: + :label: eq:gas_pipe_head_loss4 + + dH - (\alpha_j\dot{V} + \beta_j) - (\delta^a_{discon} + \delta^a_{dir} + (1 - \delta^a_{line\_seg_{k}}))M\leq 0 \\ \delta^a_{line\_seg_{k}} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, + +.. math:: + :label: eq:gas_pipe_head_loss5 + + dH + (\alpha_j \dot{V} + \beta_j) - (\delta^a_{discon} + (1 - \delta^a_{dir}) + (1 - \delta^a_{line\_seg_{k}}))M\leq 0 \\ \delta^a_{line\_seg_{k}} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}, + +.. math:: + :label: eq:gas_pipe_head_loss6 + + dH + (\alpha_j\dot{V} + \beta_j) + (\delta^a_{discon} + (1-\delta^a_{dir}) + (1 - \delta^a_{line\_seg_{k}}))M\geq 0 \\ \delta^a_{line\_seg_{k}} \in \{ 0, 1 \}, (\alpha_j, \beta_j) \;\; \forall a \in A_{pipes}. + +Where :math:`(\alpha_j, \beta_j)` are the coefficients and constants of the linear equations used to approximate the quadratic equation. Variable :math:`\delta^a_{line\_seg_{k}}` reperesents an integer, for pipe :math:`a`, value indicating if a linear line segment :math:`k` is active (value = 1) or not (value = 0). This would imply that if a quadratic curve is represented by 3 linear lines for instance, then only 1 of the linear lines are appplicable at a specific timestep. + + +Node +~~~~ + +The node conserves the flow with :eq:`eq:Q_balance` and the energy with :eq:`eq:m_balance`. + +The head of all pipes connected to the node must be equal to ensure a hydraulically feasible solution: + +.. math:: + :label: eq:gas_node_head + + H_i = H^a \;\; \forall i \in I^a \;\; a \in A_{nodes}, + +where :math:`A_{nodes}` is the set of all nodes and :math:`H^a` is the headloss for node :math:`a`. + + +Asset Physics +------------- + +Source +~~~~~~ + +The source adds gas mass to the network. +The volumetric- and mass flow balance is given by :eq:`eq:Q_balance` and :eq:`eq:m_balance` where +:math:`\dot{V}^a_{consumed}` and :math:`\dot{m}^a_{consumed}` is equal to the (negative) value of the supplied gas to the network. + +A source is modelled with a pump to reach its desired flow rate and head: + +.. math:: + :label: eq:gas_source_pump_dh + + H^a_{pump} = H^a_{out} \;\; \forall a \in A_{prod}. + +Demand +~~~~~~ + +A demand extracts gas from the network, defined by :eq:`eq:Q_balance` and :eq:`eq:m_balance` where +:math:`\dot{V}^a_{consumed}` and :math:`\dot{m}^a_{consumed}` are the consumed gas from the network. + +Every demand is modelled with a control valve to regulate its flow. In reality a minimum head loss is often maintained: + +.. math:: + :label: eq:gas_demand_head + + H_{connected} - dH_{valve} = H^a_{out} \;\; \forall a \in A_{demand}. + +Where :math:`H_{connected}` is the head at the port of the connected asset (normally a pipe). + +Storage +~~~~~~~ + +Storage assets add time flexibility with the production and consumption of gas. For shorter +intra-day periods this capability is provided by tanks, alternatively storage over seasons is done +with underground storage like salt caverns. + +:math:`\dot{m}^{a}_{consumed}` can be defined by the gas mass substracted from or added to the +network, where the internal losses of the storage are subtracted: + +.. math:: + :label: eq:change_stored_gas + + \dot{m}^{a}_{consumed} = \sum_{i \in I^a_{in}} \dot{m}^{a}_{i} - \sum_{i \in I^a_{out}} \dot{m}^{a}_{i} - \dot{m}^{a}_{loss} \;\; \forall a \in A_{storage}. + +The consumed mass of the storage assets is equated to the change in stored gas mass, :math:`\dot{m}^{a}_{stored}`: + +.. math:: + :label: eq:stored_gas + + \dot{m}^{a}_{consumed} = \dot{m}^{a}_{stored} \;\; \forall a \in A_{storage} + +Compressor and Sub-station/control-valve +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The compressor and sub-station are used to change the nominal pressure level in the system. +This means that these assets will have a different pressure level and thus density on their in port +w.r.t. their out port. +It is assumed that mass is maintained over the pressure step. + +.. math:: + :label: eq:mass_balance_pressure_level + + \sum_{i \in I^a_{in}} \dot{m}^{a} = \sum_{i \in I^a_{in}} \dot{m}^{a}\;\; \forall a \in A_{Compressor, sub-station} + From e0d609574a1d85af0c568db0013f8fcf6f926718 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Mon, 7 Oct 2024 09:13:56 +0200 Subject: [PATCH 221/376] Update min velocity in grow_workflow (#170) - Updated the min velocity setting to 1e-4 which is should cater for a DN800 connected to a 10kW heat demand - Added tests for checking min velo value --- CHANGELOG.md | 3 +- src/mesido/esdl/asset_to_component_base.py | 6 ++ src/mesido/workflows/grow_workflow.py | 5 +- src/mesido/workflows/utils/adapt_profiles.py | 6 ++ tests/test_end_scenario_sizing.py | 7 +- tests/test_head_loss.py | 73 ++++++++++++++++++-- tests/test_profile_parsing.py | 4 +- tests/test_updated_esdl_pre_process.py | 27 ++++++-- 8 files changed, 115 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c3cfdcc96..2dcf849d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,8 @@ - Bugfix: Scaling fix on ATES temperature variable when temperature modelling not used. ## Fixed -- xxx +- bug fix in grow_workflow (heat networks), changed minimum velocity from 0 to default value +- addition to tests checking the minimum velocity setting in a workflow # [0.1.7] - 2024-08-23 diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 0225cf55e..1efdc28b4 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -339,6 +339,12 @@ def _is_disconnectable_pipe(self, asset: Asset) -> bool: A bool that specifies whether we should have a disconnectable variable for this pipe. """ + # TODO: this functionality combined with heat_loss_disconnected_pipe is not functioning as + # intended anymore. When heat_loss_disconnected_pipe = True, then a pipe should be able to + # be disconnected but still include head losses for a pipe (with v=0m/s in the pipe). + # Currently if heat_loss_disconnected_pipe = True then a pipe cannot be disconnected + # anymore. This was checked with PoC tutorial example while trying to use this + # functionality on a pipe connected to a heating demand. assert asset.asset_type == "Pipe" if len(asset.in_ports) == 1 and len(asset.out_ports) == 1: connected_type_in = self._port_to_esdl_component_type.get( diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 502ed8a10..9079ac8ee 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -151,7 +151,9 @@ class EndScenarioSizing( def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.heat_network_settings["minimum_velocity"] = 0.0 # 0.001 + # default setting to cater for ~ 10kW heat, DN800 pipe at dT = 40 degrees Celcuis + self.heat_network_settings["minimum_velocity"] = 1.0e-4 + self.heat_network_settings["maximum_velocity"] = 3.0 self.heat_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS @@ -250,7 +252,6 @@ def energy_system_options(self): options = super().energy_system_options() options["maximum_temperature_der"] = np.inf options["heat_loss_disconnected_pipe"] = True - # options.update(self._override_hn_options) return options def path_goals(self): diff --git a/src/mesido/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py index 59fba692f..c9055c9a7 100644 --- a/src/mesido/workflows/utils/adapt_profiles.py +++ b/src/mesido/workflows/utils/adapt_profiles.py @@ -47,6 +47,12 @@ def set_data_with_averages_and_peak_day( else: values_for_mean.append(val) + # At this point new_data[0] = 0.0. This value is not utilized. The heat demand value + # new_data[1] at new_date_times[1] is active from new_date_times[0] up to new_date_times[1]. To + # ensure a no 0.0 heat demand values end up in the optimization, new_data[0] is forced to have + # an artificial value below + new_data[0] = new_data[1] + # last datetime is not in input data, so we need to take the mean of the last bit new_data.append(np.mean(values_for_mean)) diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 106f2c883..2a7447eba 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -45,9 +45,10 @@ def test_end_scenario_sizing(self): day. Checks: + - demand matching + - minimum velocity setting - Cyclic behaviour for ATES - That buffer tank is only used on peak day - - demand matching - Check if TCO goal included the desired cost components. @@ -66,6 +67,10 @@ def test_end_scenario_sizing(self): # Check whehter the heat demand is matched demand_matching_test(self.solution, self.results) + # Check the minimum velocity setting==default value. Keep the default value hard-coded to + # prevent future coding bugs + np.testing.assert_equal(1.0e-4, self.solution.heat_network_settings["minimum_velocity"]) + # Check whether cyclic ates constraint is working for a in self.solution.energy_system_components.get("ates", []): stored_heat = self.results[f"{a}.Stored_heat"] diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 60e71186c..032fdaa66 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -244,33 +244,60 @@ def test_heat_network_pipe_split_head_loss(self): - That only one linear line is active for the applicable pipes - That the linearized dH value is constraint is satisfied - Pipe 4 for has a zero flow rate, but its dH should be the same as pipe 2 + - Check that the minimum velocity in the longest parallel pipe (Pipe4): + - LINEARIZED_N_LINES_WEAK_INEQUALITY: pipe velo == 0.0 or == default value + - LINEARIZED_N_LINES_EQUALITY: velo > min velocity """ import models.source_pipe_split_sink.src.double_pipe_heat as example from models.source_pipe_split_sink.src.double_pipe_heat import SourcePipeSink base_folder = Path(example.__file__).resolve().parent.parent + # Keep track of the number of runs + counter_linearized_n_lines_weak_ineq_runs = 0 + counter_total_runs = 0 + # Specify the head loss linearizations to be tested for head_loss_option_setting in [ - HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY, + # Do not change the order of the items below. + HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY, # with min velo = 0.0 + HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY, # with min velo = default value HeadLossOption.LINEARIZED_N_LINES_EQUALITY, ]: + counter_total_runs += 1 + + if head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY: + counter_linearized_n_lines_weak_ineq_runs += 1 + # Added for case where head loss is modelled via DW class SourcePipeSinkDW(SourcePipeSink): def energy_system_options(self): options = super().energy_system_options() - nonlocal head_loss_option_setting + nonlocal head_loss_option_setting, counter_linearized_n_lines_weak_ineq_runs head_loss_option_setting = head_loss_option_setting + counter_linearized_n_lines_weak_ineq_runs = ( + counter_linearized_n_lines_weak_ineq_runs + ) self.heat_network_settings["head_loss_option"] = head_loss_option_setting self.heat_network_settings["n_linearization_lines"] = 2 - self.heat_network_settings["minimum_velocity"] = 0.0 if head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_EQUALITY: self.heat_network_settings["minimize_head_losses"] = False - else: + self.heat_network_settings["minimum_velocity"] = 0.0 + elif ( + head_loss_option_setting + == HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + ): self.heat_network_settings["minimize_head_losses"] = True + if counter_linearized_n_lines_weak_ineq_runs == 1: + self.heat_network_settings["minimum_velocity"] = 0.0 + elif counter_linearized_n_lines_weak_ineq_runs == 2: + ... + # Do not delete. This reminds the dev that different min velo value + # with min velo = default value (>0.0), instead of specifying a value + # here return options @@ -400,6 +427,44 @@ def energy_system_options(self): results["Pipe2.dH"][ii], results[f"{pipe}.dH"][ii] ) + # Check min pipe velocity + if ( + solution.heat_network_settings["head_loss_option"] + == HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + and counter_linearized_n_lines_weak_ineq_runs == 1 + ): + np.testing.assert_allclose( + results["Pipe4.HeatIn.Q"] + / (solution.parameters(0)["Pipe4.diameter"] ** 2 / 4.0 * np.pi), + 0.0, + atol=1e-07, + ) + elif ( + solution.heat_network_settings["head_loss_option"] + == HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY + and counter_linearized_n_lines_weak_ineq_runs == 2 + ): + np.testing.assert_allclose( + results["Pipe4.HeatIn.Q"] + / (solution.parameters(0)["Pipe4.diameter"] ** 2 / 4.0 * np.pi), + 0.005, # Keep this value hard-coded to prevent future errors + ) + else: # LINEARIZED_N_LINES_EQUALITY + np.testing.assert_array_less( + solution.heat_network_settings["minimum_velocity"], + results["Pipe4.HeatIn.Q"] + / (solution.parameters(0)["Pipe4.diameter"] ** 2 / 4.0 * np.pi), + ) + # Checking that all the runs were done + if counter_total_runs not in [ + 1, + 2, + 3, + ] or counter_linearized_n_lines_weak_ineq_runs not in [0, 1, 2]: + exit("Something went wrong with the number of runs") + elif counter_total_runs == 3 and counter_linearized_n_lines_weak_ineq_runs != 2: + exit("Something went wrong with the number of runs") + def test_gas_network_head_loss(self): """ Gas network: Test the head loss approximation diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index e4184fef6..741074ee7 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -130,11 +130,11 @@ def test_loading_from_influx(self): # the three demands in the test ESDL for demand_name in ["HeatingDemand_2ab9", "HeatingDemand_6662", "HeatingDemand_506c"]: profile_values = problem.get_timeseries(f"{demand_name}.target_heat_demand").values - self.assertEqual(profile_values[0], 0.0) + self.assertEqual(profile_values[0], profile_values[1]) self.assertEqual(len(profile_values), 26) heat_price_profile = problem.get_timeseries("Heat.price_profile").values - self.assertEqual(heat_price_profile[0], 0.0) + self.assertEqual(heat_price_profile[0], heat_price_profile[1]) self.assertLess(max(heat_price_profile), 1.0) def test_loading_from_csv(self): diff --git a/tests/test_updated_esdl_pre_process.py b/tests/test_updated_esdl_pre_process.py index 9f3bdc236..60693aa61 100644 --- a/tests/test_updated_esdl_pre_process.py +++ b/tests/test_updated_esdl_pre_process.py @@ -7,6 +7,10 @@ import numpy as np +from utils_test_scaling import create_problem_with_debug_info # , problem_scaling_check + +from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test + class TestUpdatedESDL(TestCase): def test_updated_esdl(self): @@ -33,13 +37,20 @@ def test_updated_esdl(self): Path(examples.PoCTutorial.src.run_grow_tutorial.__file__).resolve().parent.parent ) + optimscaling, logger, logs_list = create_problem_with_debug_info( + EndScenarioSizingStagedHighs + ) + problem = run_end_scenario_sizing( - EndScenarioSizingStagedHighs, + optimscaling, base_folder=base_folder, esdl_file_name="PoC Tutorial.esdl", esdl_parser=ESDLFileParser, ) + # This code below is used to do manual check. Do not delete + # problem_scaling_check(logs_list, logger) + # Save optimized esdl string optimized_esdl_string = problem.optimized_esdl_string file = open( @@ -48,6 +59,10 @@ def test_updated_esdl(self): file.write(optimized_esdl_string) file.close() + demand_matching_test(problem, problem.extract_results()) + energy_conservation_test(problem, problem.extract_results()) + heat_to_discharge_test(problem, problem.extract_results()) + # Check the unique profile identification in profile_parser # Test that the correct demand profile is assigned to a demand as expected. Note that the # demand profiles are the adapted profiles (peak-hourly, rest-5daily). Therefore the @@ -60,7 +75,7 @@ def test_updated_esdl(self): # HeatingDemand_08fd ) np.testing.assert_allclose( - 724680.0, # demand5_MW, multiplier 0.3 + 724680.0, # demand5_MW, multiplier 0.33 max(problem.get_timeseries("HeatingDemand_8fbe.target_heat_demand").values), ) np.testing.assert_allclose( @@ -68,19 +83,19 @@ def test_updated_esdl(self): max(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values), ) np.testing.assert_allclose( - 469709.62, # demand4_MW, multiplier 0.75 + 475130.185, # demand4_MW, multiplier 0.75 np.average(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values), ) np.testing.assert_allclose( - 281825.77, # demand5_MW, multiplier 0.3 + 285078.111, # demand5_MW, multiplier 0.3 np.average(problem.get_timeseries("HeatingDemand_8fbe.target_heat_demand").values), ) np.testing.assert_allclose( - 313139.75, # demand4_MW, multiplier 0.5 + 316753.457, # demand4_MW, multiplier 0.5 np.average(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values), ) - # Checkk that the correct multiplier value was used + # Check that the correct multiplier value was used # Compare 2 max values where the same profile was used but with different multiplier values # HeatingDemand_08fd: multiplier 0.5 # HeatingDemand_b0ff: multplier 0.75 From a043cd912f0c62899137b0ae1739bf3e29b31465 Mon Sep 17 00:00:00 2001 From: JimRojer-TNO <137045207+jimrojerTNO@users.noreply.github.com> Date: Mon, 7 Oct 2024 11:24:56 +0200 Subject: [PATCH 222/376] Fixes scaling NSE (#159) Fix on nominals in electricity cables and gas pipes. Fix on nominals for nodes with logical links. Co-authored-by: Femke Janssen --- CHANGELOG.md | 1 + src/mesido/electricity_physics_mixin.py | 49 ++++++++++++++-- src/mesido/esdl/asset_to_component_base.py | 58 ++++++++++++++++--- src/mesido/gas_physics_mixin.py | 45 ++++++++++++-- src/mesido/heat_physics_mixin.py | 36 ++++++++++++ .../milp/electricity/electricity_cable.py | 11 +++- .../component_library/milp/gas/gas_pipe.py | 9 +-- tests/test_multicommodity_simulator.py | 2 +- 8 files changed, 181 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2dcf849d5..4443c3342 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - Impact on the way EndScenarioSizing problems in MESIDO are run: The calling of the different optimization problem classes has been split from the solver classes. In EndScenarioSizing classes, the HIGHS solver is the default and the calling functions also cather for other solvers by adding the keyword "solver_class" with the respective solver class. - Bugfix: No longer required to provide a power at the heating demands when a profile has been added. - Bugfix: Scaling fix on ATES temperature variable when temperature modelling not used. +- Bugfix: Fix on nominals in electricity cables and gas pipes. Fix on nominals for nodes with logical links. ## Fixed - bug fix in grow_workflow (heat networks), changed minimum velocity from 0 to default value diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 9828605ee..308c8a30f 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -81,6 +81,9 @@ def __init__(self, *args, **kwargs): self.__electricity_storage_discharge_nominals = {} self.__electricity_storage_discharge_map = {} + # Map for setting node nominals in case of logical links. + self.__bus_variable_nominal = {} + def energy_system_options(self): r""" Returns a dictionary of milp network specific options. @@ -166,6 +169,37 @@ def pre(self): self.__set_point_var[var_name] = ca.MX.sym(var_name) self.__set_point_bounds[var_name] = (0.0, 1.0) + # Setting the bus nominals using the connected assets. + for node, connected_assets in self.energy_system_topology.busses.items(): + nominals = {} + for var in ["Power", "I", "V"]: + nominals[var] = [] + for _, (asset, _orientation) in connected_assets.items(): + var_nom = self.variable_nominal(f"{asset}.ElectricityOut.{var}") + if var_nom != 1: + nominals[var].append(var_nom) + elif self.variable_nominal(f"{asset}.ElectricityIn.{var}") != 1: + nominals[var].append(self.variable_nominal(f"{asset}.ElectricityIn.{var}")) + else: + nominals[var].append(1) + + for i in range(len(connected_assets)): + if self.variable_nominal(f"{node}.ElectricityConn[{i + 1}].{var}") == 1: + if nominals[var][i] != 1: + # Here we set a nominal based directly on the connected asset. + self.__bus_variable_nominal[ + f"{node}.ElectricityConn[{i + 1}].{var}" + ] = nominals[var][i] + else: + # Here we set a nominal based on median of all the connected assets to + # the node. This is specifically done when we have a logical link for + # node to node. In this case we cannot set the nominal based on the + # connected node, hence we assume a node has at least one not node + # asset connected to it. + self.__bus_variable_nominal[ + f"{node}.ElectricityConn[{i + 1}].{var}" + ] = np.median([x for x in nominals[var] if x != 1]) + @property def extra_variables(self): """ @@ -213,8 +247,10 @@ def variable_nominal(self, variable): """ if variable in self.__electricity_storage_discharge_nominals: return self.__electricity_storage_discharge_nominals[variable] - - return super().variable_nominal(variable) + elif variable in self.__bus_variable_nominal: + return self.__bus_variable_nominal[variable] + else: + return super().variable_nominal(variable) def bounds(self): """ @@ -290,12 +326,13 @@ def __electricity_producer_set_point_constraints(self, ensemble_member): ) # TODO: [: len(self.times())] should be removed once the emerge test is properly # time-sampled. - max = self.bounds()[f"{asset}.Electricity_source"][1].values[: len(self.times())] + max_ = self.bounds()[f"{asset}.Electricity_source"][1].values[: len(self.times())] + a = [x for x in max_ if abs(x) > 0.0] nominal = ( - self.variable_nominal(f"{asset}.Electricity_source") * np.median(max) - ) ** 0.5 + self.variable_nominal(f"{asset}.Electricity_source") * min(a) * np.median(a) + ) ** (1.0 / 3.0) - constraints.append(((set_point * max - electricity_source) / nominal, 0.0, 0.0)) + constraints.append(((set_point * max_ - electricity_source) / nominal, 0.0, 0.0)) return constraints diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 1efdc28b4..183e9b740 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -192,7 +192,7 @@ class _AssetToComponentBase: primary_port_name_convention = "primary" secondary_port_name_convention = "secondary" - __power_keys = ["power", "maxDischargeRate", "maxChargeRate"] + __power_keys = ["power", "maxDischargeRate", "maxChargeRate", "capacity"] def __init__(self, **kwargs): """ @@ -516,23 +516,43 @@ def _get_connected_i_nominal_and_max(self, asset: Asset) -> Tuple[float, float]: i_max_out = ( self._port_to_i_max.get(connected_port, None) if self._port_to_i_max.get(connected_port, False) - else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + else max( + [ + asset.attributes.get(key, -1) / connected_port.carrier.voltage + for key in self.__power_keys + ] + ) ) i_nom_out = ( self._port_to_i_nominal.get(connected_port, None) if self._port_to_i_nominal.get(connected_port, False) - else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + else max( + [ + asset.attributes.get(key, -1) / connected_port.carrier.voltage / 2.0 + for key in self.__power_keys + ] + ) ) connected_port = asset.in_ports[0].connectedTo[0] i_max_in = ( self._port_to_i_max.get(connected_port, None) if self._port_to_i_max.get(connected_port, False) - else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + else max( + [ + asset.attributes.get(key, -1) / connected_port.carrier.voltage + for key in self.__power_keys + ] + ) ) i_nom_in = ( self._port_to_i_nominal.get(connected_port, None) if self._port_to_i_nominal.get(connected_port, False) - else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + else max( + [ + asset.attributes.get(key, -1) / connected_port.carrier.voltage / 2.0 + for key in self.__power_keys + ] + ) ) if i_nom_in > 0.0 and i_nom_out > 0.0: self._port_to_i_nominal[asset.in_ports[0]] = i_nom_in @@ -551,12 +571,22 @@ def _get_connected_i_nominal_and_max(self, asset: Asset) -> Tuple[float, float]: i_max = ( self._port_to_i_max.get(connected_port, None) if self._port_to_i_max.get(connected_port, False) - else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + else max( + [ + asset.attributes.get(key, -1) / connected_port.carrier.voltage + for key in self.__power_keys + ] + ) ) i_nom = ( self._port_to_i_nominal.get(connected_port, None) if self._port_to_i_nominal.get(connected_port, False) - else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + else max( + [ + asset.attributes.get(key, -1) / connected_port.carrier.voltage / 2.0 + for key in self.__power_keys + ] + ) ) if i_max > 0.0: self._set_electricity_current_nominal_and_max(asset, i_max, i_nom) @@ -578,12 +608,22 @@ def _get_connected_i_nominal_and_max(self, asset: Asset) -> Tuple[float, float]: i_max = ( self._port_to_i_max.get(connected_port, None) if self._port_to_i_max.get(connected_port, False) - else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + else max( + [ + asset.attributes.get(key, -1) / connected_port.carrier.voltage + for key in self.__power_keys + ] + ) ) i_nom = ( self._port_to_i_nominal.get(connected_port, None) if self._port_to_i_nominal.get(connected_port, False) - else max([asset.attributes.get(key, -1) for key in self.__power_keys]) + else max( + [ + asset.attributes.get(key, -1) / connected_port.carrier.voltage / 2.0 + for key in self.__power_keys + ] + ) ) if i_max > 0.0: self._set_electricity_current_nominal_and_max(asset, i_max, i_nom) diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index e0c784d86..0808975cf 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -142,6 +142,10 @@ def __init__(self, *args, **kwargs): self.__gas_storage_discharge_nominals = {} self.__gas_storage_discharge_map = {} + # Map for setting port variable nominals in the case they were not set during the model + # parsing (logical links). + self.__gas_node_variable_nominal = {} + def gas_carriers(self): """ This function should be overwritten by the problem and should give a dict with the @@ -271,6 +275,37 @@ def _get_min_bound(bound): f"{storage}.GasIn.Q" ) + # Setting the node nominals using the connected assets. + for node, connected_assets in self.energy_system_topology.gas_nodes.items(): + nominals = {} + for var in ["Q", "H", "Hydraulic_power"]: + nominals[var] = [] + for _, (asset, _orientation) in connected_assets.items(): + var_nom = self.variable_nominal(f"{asset}.GasOut.{var}") + if var_nom != 1: + nominals[var].append(var_nom) + elif self.variable_nominal(f"{asset}.GasIn.{var}") != 1: + nominals[var].append(self.variable_nominal(f"{asset}.GasIn.{var}")) + else: + nominals[var].append(1) + + for i in range(len(connected_assets)): + if self.variable_nominal(f"{node}.GasConn[{i + 1}].{var}") == 1: + if nominals[var][i] != 1: + # Here we set a nominal based directly on the connected asset. + self.__gas_node_variable_nominal[f"{node}.GasConn[{i + 1}].{var}"] = ( + nominals[var][i] + ) + else: + # Here we set a nominal based on median of all the connected assets to + # the node. This is specifically done when we have a logical link for + # node to node. In this case we cannot set the nominal based on the + # connected node, hence we assume a node has at least one not node + # asset connected to it. + self.__gas_node_variable_nominal[f"{node}.GasConn[{i + 1}].{var}"] = ( + np.median([x for x in nominals[var] if x != 1]) + ) + def energy_system_options(self): r""" Returns a dictionary of milp network specific options. @@ -334,6 +369,8 @@ def variable_nominal(self, variable): return self.__gas_pipe_head_loss_nominals[variable] elif variable in self.__gas_storage_discharge_nominals: return self.__gas_storage_discharge_nominals[variable] + elif variable in self.__gas_node_variable_nominal: + return self.__gas_node_variable_nominal[variable] else: return super().variable_nominal(variable) @@ -596,11 +633,11 @@ def path_constraints(self, ensemble_member): constraints.extend( self._gn_head_loss_class._pipe_head_loss_path_constraints(self, ensemble_member) ) - constraints.extend( - self._gn_head_loss_class._pipe_hydraulic_power_path_constraints( - self, self.__maximum_total_head_loss, ensemble_member + constraints.extend( + self._gn_head_loss_class._pipe_hydraulic_power_path_constraints( + self, self.__maximum_total_head_loss, ensemble_member + ) ) - ) constraints.extend(self.__flow_direction_path_constraints(ensemble_member)) constraints.extend(self.__gas_node_hydraulic_power_mixing_path_constraints(ensemble_member)) constraints.extend(self.__gas_storage_discharge_path_constraints(ensemble_member)) diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 72002e22f..72ae814e3 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -201,6 +201,9 @@ def __init__(self, *args, **kwargs): # of these maps is in the AssetSizingMixin. self._heat_pipe_topo_pipe_class_map = {} + # Map for setting node nominals in case of logical links. + self.__heat_node_variable_nominal = {} + super().__init__(*args, **kwargs) def temperature_carriers(self): @@ -545,6 +548,37 @@ def _get_min_bound(bound): self.__maximum_total_head_loss = self.__get_maximum_total_head_loss() + # Setting the node nominals using the connected assets. + for node, connected_assets in self.energy_system_topology.nodes.items(): + nominals = {} + for var in ["Q", "H", "Heat", "Hydraulic_power"]: + nominals[var] = [] + for _, (asset, _orientation) in connected_assets.items(): + var_nom = self.variable_nominal(f"{asset}.HeatOut.{var}") + if var_nom != 1: + nominals[var].append(var_nom) + elif self.variable_nominal(f"{asset}.HeatIn.{var}") != 1: + nominals[var].append(self.variable_nominal(f"{asset}.HeatIn.{var}")) + else: + nominals[var].append(1) + + for i in range(len(connected_assets)): + if self.variable_nominal(f"{node}.HeatConn[{i + 1}].{var}") == 1: + if nominals[var][i] != 1: + # Here we set a nominal based directly on the connected asset. + self.__heat_node_variable_nominal[f"{node}.HeatConn[{i + 1}].{var}"] = ( + nominals[var][i] + ) + else: + # Here we set a nominal based on median of all the connected assets to + # the node. This is specifically done when we have a logical link for + # node to node. In this case we cannot set the nominal based on the + # connected node, hence we assume a node has at least one not node + # asset connected to it. + self.__heat_node_variable_nominal[f"{node}.HeatConn[{i + 1}].{var}"] = ( + np.median([x for x in nominals[var] if x != 1]) + ) + def energy_system_options(self): r""" Returns a dictionary of heat network physics specific options. @@ -688,6 +722,8 @@ def variable_nominal(self, variable): return self.__pipe_head_loss_nominals[variable] elif variable in self.__ates_max_stored_heat_nominals: return self.__ates_max_stored_heat_nominals[variable] + elif variable in self.__heat_node_variable_nominal: + return self.__heat_node_variable_nominal[variable] else: return super().variable_nominal(variable) diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py b/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py index cb2512bc5..673d16c0a 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py @@ -31,8 +31,13 @@ def __init__(self, name, **modifiers): self.nominal_current = nan self.nominal_voltage = nan self.r = 1.0e-6 * self.length # TODO: temporary value - self.nominal_voltage_loss = (self.nominal_current * self.r * self.nominal_current) ** 0.5 - self.add_variable(Variable, "Power_loss", min=0.0, nominal=self.r * self.max_current**2) + self.nominal_voltage_loss = (self.nominal_current * self.r * self.nominal_voltage) ** 0.5 + self.power_loss_nominal = self.r * self.max_current * self.nominal_current + # We accept lower accuracy in the loss computation to improve scaling in case the nominals + # are very far apart. Typically, when a short cable has a very high max capacity. + if self.power_loss_nominal / self.ElectricityIn.Power.nominal < 1.0e-4: + self.power_loss_nominal = self.ElectricityIn.Power.nominal * 1.0e-4 + self.add_variable(Variable, "Power_loss", min=0.0, nominal=self.power_loss_nominal) self.add_variable(Variable, "I", nominal=self.nominal_current) self.add_variable(Variable, "V_loss", nominal=self.nominal_voltage_loss) @@ -50,6 +55,6 @@ def __init__(self, name, **modifiers): self.add_equation( ( (self.ElectricityOut.Power - (self.ElectricityIn.Power - self.Power_loss)) - / (self.nominal_voltage * self.nominal_current * self.r * self.max_current) ** 0.5 + / (self.ElectricityIn.Power.nominal * self.Power_loss.nominal) ** 0.5 ) ) diff --git a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py index 12d2a139a..e7f2ad984 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py @@ -48,16 +48,11 @@ def __init__(self, name, **modifiers): # Hydraulic power # TODO replace value # rho * ff * length * area / 2 / diameter * velocity**3 - ff = 0.02 # Order of magnitude expected with 0.05-2.5m/s in 20mm-1200mm diameter pipe - velo = self.Q_nominal / self.area - self.Hydraulic_power_nominal = ( - self.rho * ff * max(self.length, 1.0) * pi * self.area / self.diameter / 2.0 * velo**3 - ) self.add_variable( - Variable, "Hydraulic_power", min=0.0, nominal=self.Hydraulic_power_nominal + Variable, "Hydraulic_power", min=0.0, nominal=self.GasIn.Hydraulic_power.nominal ) # [W] self.add_equation( (self.Hydraulic_power - (self.GasIn.Hydraulic_power - self.GasOut.Hydraulic_power)) - / (self.pressure * self.Q_nominal * self.Hydraulic_power_nominal) ** 0.5 + / self.GasIn.Hydraulic_power.nominal ) diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py index a81b87730..18d630c29 100644 --- a/tests/test_multicommodity_simulator.py +++ b/tests/test_multicommodity_simulator.py @@ -275,7 +275,7 @@ def test_multi_commodity_simulator_emerge(self): # enough windfarm power demand_el_calc = windfarm_power - electrolyzer_power demand_el_calc[demand_el_calc < 0] = 0 - np.testing.assert_allclose(demand_el_calc, demand_el) + np.testing.assert_allclose(demand_el_calc, demand_el, atol=1.0e-6) def test_multi_commodity_simulator_emerge_lowprod(self): import models.emerge.src.example as example From 87fb72a30b0625e3d6b451609e8c470bc1f3d372 Mon Sep 17 00:00:00 2001 From: JimRojer-TNO <137045207+jimrojerTNO@users.noreply.github.com> Date: Mon, 7 Oct 2024 13:31:43 +0200 Subject: [PATCH 223/376] first version electricity physics docs (#162) First version electricity physics docs --- CHANGELOG.md | 3 +- docs/theory/electricity_physics.rst | 111 +++++++++++++++++++++++++++- docs/theory/heat_physics.rst | 4 +- 3 files changed, 113 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4443c3342..056ba892a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # [Unreleased] - 2024-10-07 ## Added -- Gas physics documentation +- Gas & electricity 1st version of physics documentation - Test case: Head loss validation with pandapipes. - Example on ESDL file creation using pyESDL for the PoC Tutorial. - Electrolyzer specific power curve valley location specified optionally specified in ESDL. @@ -14,6 +14,7 @@ - Bugfix: Fix on nominals in electricity cables and gas pipes. Fix on nominals for nodes with logical links. ## Fixed +- documentation: heat physics tank storage - bug fix in grow_workflow (heat networks), changed minimum velocity from 0 to default value - addition to tests checking the minimum velocity setting in a workflow diff --git a/docs/theory/electricity_physics.rst b/docs/theory/electricity_physics.rst index 1b84c2ff7..68cf23783 100644 --- a/docs/theory/electricity_physics.rst +++ b/docs/theory/electricity_physics.rst @@ -3,4 +3,113 @@ Electricity Physics =================== -Coming soon... +MESIDO models the electric power (:math:`\dot{P}`), the voltage (:math:`V`) and the current +(:math:`I`). +These variables are modelled over all timesteps :math:`K` and for each asset in the system +:math:`A`. +An asset :math:`a \in A` in the system is modelled using a set of in-ports, denoted by +:math:`I^a_{in} \neq \emptyset`, and a set of out-ports, denoted by +:math:`I^a_{out} \neq \emptyset`, with :math:`I^a` denoting the union of these two sets. +For an asset :math:`a` the variables :math:`\dot{P}_i, V_i` and +:math:`I_i` denote the electrical power, voltage and current for port :math:`i \in I^a`. +For readability, the variables and equations of the model, given below, are defined without +indexing the variables and sets for each timestep. +The equations below are assumed to hold for every timestep, unless otherwise specified. + +By modelling these variables the electrical power system can be approximated. + +General Physics +--------------- + +For all assets energy conservation should be guaranteed. + +.. math:: + :label: eq:Q_balance + + \sum_{i \in I} \dot{P}_i + \dot{P}^a_{consumed} = 0 \;\; \forall a \in A + +Where :math:`\dot{P}^a_{consumed}` is the electrical power consumed by asset :math:`a`. + +Network Physics +--------------- + +Electricity Cable +~~~~~~~~~~~~~~~~~ + +The main function of an electricity cable is to transport electrical power over the network. +Whilst doing so the cable dissepates part of this energy due to the resistance of the cable. +Within MESIDO the user can select whether or not to model this power loss (energy_system_options -> include_electric_cable_power_loss). When power loss is included it is represented with a DC (direct current) approximation as follows. + +.. math:: + :label: eq:V_drop + + V^a_{out} = V^a_{in} - r^a I \;\; \forall a \in A_{cables} + +.. math:: + :label: eq:P_drop + + P^a_{out} = P^a_{in} - r^a I^a_{max} I^a \;\; \forall a \in A_{cables} + +Where :math:`r^a` denotes the resistance of the cable and :math:`I_{max}` denotes the max current +of the cable. The linearization of the power loss is done using the max current to ensure a +conservative approximation of the power throughout the network. + +Bus +~~~ + +A bus is a point in the network where multiple electricity cables come together to ensure an +electrically feasible solution. The voltages of all these ports should be equal (similar with head at a node). + +.. math:: + :label: eq:bus_V + + V_i = V^a \;\; \forall i \in I^a \;\; a \in A_{busses} + + +Asset Physics +------------- + +Electricity Source +~~~~~~~~~~~~~~~~~~ + +The function of an electricity source is to add electrical power to the network. +The power balance is given by :eq:`eq:Q_balance` where :math:`\dot{P}_{consumed}` is equal to the +(negative) produced power of the source. + +Electricity Demand +~~~~~~~~~~~~~~~~~~ + +The function of an electricity demand is to subtract electrical power from the network. +The power balance is given by :eq:`eq:Q_balance` where :math:`\dot{P}_{consumed}` is equal to the +consumed power of the demand. + +Furthermore, demands typically consume their power at a prescribed voltage. + +.. math:: + :label: eq:V_min + + V^a_i = V_min \;\; \forall i \in I^a \;\; a \in A_{electricity demands} + +Electricity storage +~~~~~~~~~~~~~~~~~~~ + +Storage assets add time flexibility with the production and consumption of electrical power. +Batteries are typically used for the storage of electrical energy. + +:math:`\dot{P}^{a}_{consumed}` can be defined by the electical power substracted from or added to the +network, where the internal losses of the storage are subtracted: + +.. math:: + :label: eq:change_stored_gas + + \dot{P}^{a}_{consumed} = \sum_{i \in I^a_{in}} \dot{P}^{a}_{i} - \sum_{i \in I^a_{out}} \dot{P}^{a}_{i} - \dot{P}^{a}_{loss} \;\; \forall a \in A_{storage}. + +The consumed power of the storage assets is equated to the change in stored energy, :math:`\dot{P}^{a}_{stored}`: + +.. math:: + :label: eq:stored_gas + + \dot{P}^{a}_{consumed} = \dot{P}^{a}_{stored} \;\; \forall a \in A_{storage} + +Upcoming: ADD THE ENERGY LOSS MODEL + diff --git a/docs/theory/heat_physics.rst b/docs/theory/heat_physics.rst index 2dd7eeb50..c911d293e 100644 --- a/docs/theory/heat_physics.rst +++ b/docs/theory/heat_physics.rst @@ -352,9 +352,7 @@ Heat loss in a tank is modelled as linear with the stored heat: where :math:`Q^{a}_{stored}` is the heat stored in the storage asset and :math:`\beta` is the efficiency factor. -The efficiency factor is approximated assuming that tanks are cylindrical and lose heat over their surface area, see :eq:`eq:etatank`. -For cylindrical tanks their surface area approximately increases linearly with the stored heat. -A radiation coefficient, :math:`c_r`, of 1 :math:`W/m^2` is used as an approximation. +The efficiency factor is approximated assuming that tanks are cylindrical and lose heat over their surface area. For cylindrical tanks their surface area approximately increases linearly with the stored heat. A radiation coefficient, :math:`c_r`, of 1 :math:`W/m^2` is used as an approximation. HT-ATES ^^^^^^^ From 0aaf4b741a72d8173d4756c02f8f7baa2a0b4f83 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 9 Oct 2024 08:38:45 +0200 Subject: [PATCH 224/376] 157 create use case wko (#167) Added example case using WKO --- CHANGELOG.md | 3 + .../input/timeseries_4.csv | 8761 +++++++++++++++++ ...d cooling network with return network.esdl | 271 + examples/heating_and_cooling/src/run_case.py | 148 + .../model/Demo_areas with return network.esdl | 598 ++ src/mesido/workflows/grow_workflow.py | 1 + src/mesido/workflows/simulator_workflow.py | 2 +- src/mesido/workflows/utils/adapt_profiles.py | 37 +- tests/test_cold_demand.py | 5 + 9 files changed, 9824 insertions(+), 2 deletions(-) create mode 100644 examples/heating_and_cooling/input/timeseries_4.csv create mode 100644 examples/heating_and_cooling/model/Heating and cooling network with return network.esdl create mode 100644 examples/heating_and_cooling/src/run_case.py create mode 100644 manual_run/testing_bugs/model/Demo_areas with return network.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 056ba892a..f19a4e160 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # [Unreleased] - 2024-10-07 ## Added +- Heating and cooling example case added (2 heating demands, 1 cold demand, hot and cold producer, WKO as seasonal storage) +- Gas physics documentation - Gas & electricity 1st version of physics documentation - Test case: Head loss validation with pandapipes. - Example on ESDL file creation using pyESDL for the PoC Tutorial. @@ -8,6 +10,7 @@ - Grow_workflow: Solver class created to allow the use of CPLEX as a solver for EndScenarioSizing classes. ## Changed +- Cooling demand added to adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day (peak cooling day not used yet) - Impact on the way EndScenarioSizing problems in MESIDO are run: The calling of the different optimization problem classes has been split from the solver classes. In EndScenarioSizing classes, the HIGHS solver is the default and the calling functions also cather for other solvers by adding the keyword "solver_class" with the respective solver class. - Bugfix: No longer required to provide a power at the heating demands when a profile has been added. - Bugfix: Scaling fix on ATES temperature variable when temperature modelling not used. diff --git a/examples/heating_and_cooling/input/timeseries_4.csv b/examples/heating_and_cooling/input/timeseries_4.csv new file mode 100644 index 000000000..e6e6492d1 --- /dev/null +++ b/examples/heating_and_cooling/input/timeseries_4.csv @@ -0,0 +1,8761 @@ +DateTime,CoolingDemand_1,HeatingDemand_1,HeatingDemand_2 +31-12-2018 23:00,7153333.333,0.050329049,0.050329049 +01-01-2019 0:00,7153333.762,0.019461529,0.019461529 +01-01-2019 1:00,7153335.048,0.005371142,0.005371142 +01-01-2019 2:00,7153337.192,0.002531358,0.002531358 +01-01-2019 3:00,7153340.193,0.006376971,0.006376971 +01-01-2019 4:00,7153344.051,0.039930779,0.039930779 +01-01-2019 5:00,7153348.767,0.189693727,0.189693727 +01-01-2019 6:00,7153354.34,0.398271631,0.398271631 +01-01-2019 7:00,7153360.771,0.545202955,0.545202955 +01-01-2019 8:00,7153368.059,0.664203859,0.664203859 +01-01-2019 9:00,7153376.205,0.552707393,0.552707393 +01-01-2019 10:00,7153385.208,0.51662341,0.51662341 +01-01-2019 11:00,7153395.068,0.639689954,0.639689954 +01-01-2019 12:00,7153405.786,0.54726439,0.54726439 +01-01-2019 13:00,7153417.361,0.462136528,0.462136528 +01-01-2019 14:00,7153429.794,0.49566353,0.49566353 +01-01-2019 15:00,7153443.084,0.50413802,0.50413802 +01-01-2019 16:00,7153457.231,0.477233502,0.477233502 +01-01-2019 17:00,7153472.236,0.500550865,0.500550865 +01-01-2019 18:00,7153488.098,0.485878609,0.485878609 +01-01-2019 19:00,7153504.817,0.436978888,0.436978888 +01-01-2019 20:00,7153522.394,0.360554953,0.360554953 +01-01-2019 21:00,7153540.828,0.234138179,0.234138179 +01-01-2019 22:00,7153560.119,0.111812117,0.111812117 +01-01-2019 23:00,7153580.268,0.048379859,0.048379859 +02-01-2019 0:00,7153601.274,0.019428271,0.019428271 +02-01-2019 1:00,7153623.137,0.006310747,0.006310747 +02-01-2019 2:00,7153645.858,0.003488399,0.003488399 +02-01-2019 3:00,7153669.436,0.009135712,0.009135712 +02-01-2019 4:00,7153693.871,0.044403937,0.044403937 +02-01-2019 5:00,7153719.163,0.208010815,0.208010815 +02-01-2019 6:00,7153745.313,0.42089549,0.42089549 +02-01-2019 7:00,7153772.32,0.562652669,0.562652669 +02-01-2019 8:00,7153800.184,0.679147921,0.679147921 +02-01-2019 9:00,7153828.905,0.541377445,0.541377445 +02-01-2019 10:00,7153858.484,0.519032215,0.519032215 +02-01-2019 11:00,7153888.919,0.634940763,0.634940763 +02-01-2019 12:00,7153920.212,0.56137586,0.56137586 +02-01-2019 13:00,7153952.362,0.461387204,0.461387204 +02-01-2019 14:00,7153985.369,0.491492373,0.491492373 +02-01-2019 15:00,7154019.233,0.499763615,0.499763615 +02-01-2019 16:00,7154053.954,0.47286208,0.47286208 +02-01-2019 17:00,7154089.532,0.496882406,0.496882406 +02-01-2019 18:00,7154125.967,0.476811477,0.476811477 +02-01-2019 19:00,7154163.26,0.435859797,0.435859797 +02-01-2019 20:00,7154201.409,0.360541095,0.360541095 +02-01-2019 21:00,7154240.415,0.234457849,0.234457849 +02-01-2019 22:00,7154280.279,0.110798835,0.110798835 +02-01-2019 23:00,7154320.999,0.047974401,0.047974401 +03-01-2019 0:00,7154362.576,0.019739858,0.019739858 +03-01-2019 1:00,7154405.01,0.006558014,0.006558014 +03-01-2019 2:00,7154448.301,0.004095333,0.004095333 +03-01-2019 3:00,7154492.449,0.009698575,0.009698575 +03-01-2019 4:00,7154537.453,0.046215446,0.046215446 +03-01-2019 5:00,7154583.315,0.210114138,0.210114138 +03-01-2019 6:00,7154630.033,0.428649595,0.428649595 +03-01-2019 7:00,7154677.608,0.573832993,0.573832993 +03-01-2019 8:00,7154726.039,0.688455907,0.688455907 +03-01-2019 9:00,7154775.328,0.561987952,0.561987952 +03-01-2019 10:00,7154825.473,0.422583027,0.422583027 +03-01-2019 11:00,7154876.475,0.614018054,0.614018054 +03-01-2019 12:00,7154928.333,0.559906046,0.559906046 +03-01-2019 13:00,7154981.048,0.413295178,0.413295178 +03-01-2019 14:00,7155034.62,0.486553554,0.486553554 +03-01-2019 15:00,7155089.048,0.506249886,0.506249886 +03-01-2019 16:00,7155144.333,0.487711428,0.487711428 +03-01-2019 17:00,7155200.474,0.504661317,0.504661317 +03-01-2019 18:00,7155257.472,0.490970828,0.490970828 +03-01-2019 19:00,7155315.326,0.445743687,0.445743687 +03-01-2019 20:00,7155374.036,0.369159712,0.369159712 +03-01-2019 21:00,7155433.603,0.239956244,0.239956244 +03-01-2019 22:00,7155494.027,0.113382063,0.113382063 +03-01-2019 23:00,7155555.306,0.049037055,0.049037055 +04-01-2019 0:00,7155617.442,0.02030774,0.02030774 +04-01-2019 1:00,7155680.434,0.007109878,0.007109878 +04-01-2019 2:00,7155744.283,0.005020789,0.005020789 +04-01-2019 3:00,7155808.987,0.01117393,0.01117393 +04-01-2019 4:00,7155874.548,0.049549104,0.049549104 +04-01-2019 5:00,7155940.965,0.216591901,0.216591901 +04-01-2019 6:00,7156008.238,0.435886536,0.435886536 +04-01-2019 7:00,7156076.367,0.571507133,0.571507133 +04-01-2019 8:00,7156145.352,0.683565181,0.683565181 +04-01-2019 9:00,7156215.193,0.558496764,0.558496764 +04-01-2019 10:00,7156285.89,0.520799155,0.520799155 +04-01-2019 11:00,7156357.443,0.638113454,0.638113454 +04-01-2019 12:00,7156429.851,0.565700035,0.565700035 +04-01-2019 13:00,7156503.116,0.458892894,0.458892894 +04-01-2019 14:00,7156577.236,0.490262044,0.490262044 +04-01-2019 15:00,7156652.212,0.495260083,0.495260083 +04-01-2019 16:00,7156728.044,0.463318659,0.463318659 +04-01-2019 17:00,7156804.732,0.487164971,0.487164971 +04-01-2019 18:00,7156882.275,0.465230564,0.465230564 +04-01-2019 19:00,7156960.674,0.423526252,0.423526252 +04-01-2019 20:00,7157039.928,0.348720126,0.348720126 +04-01-2019 21:00,7157120.038,0.22672459,0.22672459 +04-01-2019 22:00,7157201.004,0.10641711,0.10641711 +04-01-2019 23:00,7157282.824,0.045729951,0.045729951 +05-01-2019 0:00,7157365.501,0.019021529,0.019021529 +05-01-2019 1:00,7157449.032,0.006342652,0.006342652 +05-01-2019 2:00,7157533.419,0.003929531,0.003929531 +05-01-2019 3:00,7157618.661,0.007741717,0.007741717 +05-01-2019 4:00,7157704.759,0.03904124,0.03904124 +05-01-2019 5:00,7157791.711,0.177959059,0.177959059 +05-01-2019 6:00,7157879.519,0.372426717,0.372426717 +05-01-2019 7:00,7157968.182,0.4936847,0.4936847 +05-01-2019 8:00,7158057.7,0.599716805,0.599716805 +05-01-2019 9:00,7158148.073,0.495757386,0.495757386 +05-01-2019 10:00,7158239.301,0.473899887,0.473899887 +05-01-2019 11:00,7158331.383,0.600328524,0.600328524 +05-01-2019 12:00,7158424.321,0.534210447,0.534210447 +05-01-2019 13:00,7158518.114,0.423469638,0.423469638 +05-01-2019 14:00,7158612.761,0.457344488,0.457344488 +05-01-2019 15:00,7158708.263,0.470152128,0.470152128 +05-01-2019 16:00,7158804.619,0.439618076,0.439618076 +05-01-2019 17:00,7158901.83,0.465026649,0.465026649 +05-01-2019 18:00,7158999.896,0.447384175,0.447384175 +05-01-2019 19:00,7159098.816,0.409161519,0.409161519 +05-01-2019 20:00,7159198.591,0.336858569,0.336858569 +05-01-2019 21:00,7159299.22,0.217426284,0.217426284 +05-01-2019 22:00,7159400.704,0.102868237,0.102868237 +05-01-2019 23:00,7159503.042,0.044590477,0.044590477 +06-01-2019 0:00,7159606.234,0.018339846,0.018339846 +06-01-2019 1:00,7159710.28,0.006150537,0.006150537 +06-01-2019 2:00,7159815.181,0.003529487,0.003529487 +06-01-2019 3:00,7159920.935,0.007075878,0.007075878 +06-01-2019 4:00,7160027.544,0.036569713,0.036569713 +06-01-2019 5:00,7160135.006,0.171923542,0.171923542 +06-01-2019 6:00,7160243.323,0.361518493,0.361518493 +06-01-2019 7:00,7160352.493,0.48360434,0.48360434 +06-01-2019 8:00,7160462.518,0.590215083,0.590215083 +06-01-2019 9:00,7160573.396,0.488820498,0.488820498 +06-01-2019 10:00,7160685.127,0.452909283,0.452909283 +06-01-2019 11:00,7160797.713,0.588111095,0.588111095 +06-01-2019 12:00,7160911.152,0.524773969,0.524773969 +06-01-2019 13:00,7161025.444,0.413723647,0.413723647 +06-01-2019 14:00,7161140.59,0.454449225,0.454449225 +06-01-2019 15:00,7161256.589,0.46363899,0.46363899 +06-01-2019 16:00,7161373.442,0.434776402,0.434776402 +06-01-2019 17:00,7161491.148,0.458370174,0.458370174 +06-01-2019 18:00,7161609.707,0.439796801,0.439796801 +06-01-2019 19:00,7161729.12,0.401021343,0.401021343 +06-01-2019 20:00,7161849.385,0.330607429,0.330607429 +06-01-2019 21:00,7161970.504,0.215495228,0.215495228 +06-01-2019 22:00,7162092.476,0.10271267,0.10271267 +06-01-2019 23:00,7162215.3,0.04586981,0.04586981 +07-01-2019 0:00,7162338.978,0.019632177,0.019632177 +07-01-2019 1:00,7162463.508,0.006798462,0.006798462 +07-01-2019 2:00,7162588.891,0.004260438,0.004260438 +07-01-2019 3:00,7162715.126,0.008989145,0.008989145 +07-01-2019 4:00,7162842.214,0.0422622,0.0422622 +07-01-2019 5:00,7162970.155,0.187005394,0.187005394 +07-01-2019 6:00,7163098.948,0.382383436,0.382383436 +07-01-2019 7:00,7163228.594,0.50159386,0.50159386 +07-01-2019 8:00,7163359.092,0.600515151,0.600515151 +07-01-2019 9:00,7163490.442,0.486873308,0.486873308 +07-01-2019 10:00,7163622.645,0.461152611,0.461152611 +07-01-2019 11:00,7163755.699,0.582754635,0.582754635 +07-01-2019 12:00,7163889.606,0.514167394,0.514167394 +07-01-2019 13:00,7164024.365,0.40024011,0.40024011 +07-01-2019 14:00,7164159.975,0.43969489,0.43969489 +07-01-2019 15:00,7164296.438,0.449535339,0.449535339 +07-01-2019 16:00,7164433.752,0.421003933,0.421003933 +07-01-2019 17:00,7164571.918,0.444968636,0.444968636 +07-01-2019 18:00,7164710.936,0.421059934,0.421059934 +07-01-2019 19:00,7164850.805,0.381925104,0.381925104 +07-01-2019 20:00,7164991.525,0.308273439,0.308273439 +07-01-2019 21:00,7165133.098,0.196221668,0.196221668 +07-01-2019 22:00,7165275.521,0.094276231,0.094276231 +07-01-2019 23:00,7165418.796,0.04094332,0.04094332 +08-01-2019 0:00,7165562.922,0.016636476,0.016636476 +08-01-2019 1:00,7165707.899,0.00553427,0.00553427 +08-01-2019 2:00,7165853.727,0.003089608,0.003089608 +08-01-2019 3:00,7166000.407,0.004912056,0.004912056 +08-01-2019 4:00,7166147.937,0.027654966,0.027654966 +08-01-2019 5:00,7166296.318,0.140687363,0.140687363 +08-01-2019 6:00,7166445.549,0.304211653,0.304211653 +08-01-2019 7:00,7166595.632,0.413806726,0.413806726 +08-01-2019 8:00,7166746.565,0.51295431,0.51295431 +08-01-2019 9:00,7166898.348,0.436477765,0.436477765 +08-01-2019 10:00,7167050.982,0.412640076,0.412640076 +08-01-2019 11:00,7167204.467,0.555377657,0.555377657 +08-01-2019 12:00,7167358.802,0.494114076,0.494114076 +08-01-2019 13:00,7167513.986,0.382548114,0.382548114 +08-01-2019 14:00,7167670.021,0.423531907,0.423531907 +08-01-2019 15:00,7167826.907,0.436970644,0.436970644 +08-01-2019 16:00,7167984.642,0.408668739,0.408668739 +08-01-2019 17:00,7168143.227,0.433833089,0.433833089 +08-01-2019 18:00,7168302.661,0.416230639,0.416230639 +08-01-2019 19:00,7168462.946,0.383180971,0.383180971 +08-01-2019 20:00,7168624.08,0.31690591,0.31690591 +08-01-2019 21:00,7168786.064,0.207821852,0.207821852 +08-01-2019 22:00,7168948.897,0.097006367,0.097006367 +08-01-2019 23:00,7169112.58,0.043376897,0.043376897 +09-01-2019 0:00,7169277.112,0.017520636,0.017520636 +09-01-2019 1:00,7169442.493,0.006019236,0.006019236 +09-01-2019 2:00,7169608.723,0.003345468,0.003345468 +09-01-2019 3:00,7169775.803,0.006004303,0.006004303 +09-01-2019 4:00,7169943.731,0.032397864,0.032397864 +09-01-2019 5:00,7170112.508,0.15891724,0.15891724 +09-01-2019 6:00,7170282.134,0.338045376,0.338045376 +09-01-2019 7:00,7170452.609,0.458179773,0.458179773 +09-01-2019 8:00,7170623.932,0.560557402,0.560557402 +09-01-2019 9:00,7170796.104,0.458831181,0.458831181 +09-01-2019 10:00,7170969.125,0.447603856,0.447603856 +09-01-2019 11:00,7171142.993,0.571529125,0.571529125 +09-01-2019 12:00,7171317.71,0.486836139,0.486836139 +09-01-2019 13:00,7171493.276,0.352128571,0.352128571 +09-01-2019 14:00,7171669.689,0.435176558,0.435176558 +09-01-2019 15:00,7171846.95,0.452141063,0.452141063 +09-01-2019 16:00,7172025.059,0.426759042,0.426759042 +09-01-2019 17:00,7172204.016,0.453818924,0.453818924 +09-01-2019 18:00,7172383.821,0.435415103,0.435415103 +09-01-2019 19:00,7172564.473,0.396964519,0.396964519 +09-01-2019 20:00,7172745.973,0.328215286,0.328215286 +09-01-2019 21:00,7172928.321,0.213614226,0.213614226 +09-01-2019 22:00,7173111.515,0.102185371,0.102185371 +09-01-2019 23:00,7173295.557,0.044469016,0.044469016 +10-01-2019 0:00,7173480.446,0.018805298,0.018805298 +10-01-2019 1:00,7173666.183,0.006779596,0.006779596 +10-01-2019 2:00,7173852.766,0.004156134,0.004156134 +10-01-2019 3:00,7174040.196,0.008437588,0.008437588 +10-01-2019 4:00,7174228.473,0.040934357,0.040934357 +10-01-2019 5:00,7174417.596,0.186377163,0.186377163 +10-01-2019 6:00,7174607.566,0.389688306,0.389688306 +10-01-2019 7:00,7174798.383,0.520196472,0.520196472 +10-01-2019 8:00,7174990.046,0.62572418,0.62572418 +10-01-2019 9:00,7175182.555,0.509193668,0.509193668 +10-01-2019 10:00,7175375.91,0.48519654,0.48519654 +10-01-2019 11:00,7175570.112,0.605351904,0.605351904 +10-01-2019 12:00,7175765.159,0.531118278,0.531118278 +10-01-2019 13:00,7175961.053,0.418254502,0.418254502 +10-01-2019 14:00,7176157.792,0.463842663,0.463842663 +10-01-2019 15:00,7176355.377,0.47569793,0.47569793 +10-01-2019 16:00,7176553.807,0.448089109,0.448089109 +10-01-2019 17:00,7176753.083,0.476483155,0.476483155 +10-01-2019 18:00,7176953.205,0.460804063,0.460804063 +10-01-2019 19:00,7177154.171,0.421834017,0.421834017 +10-01-2019 20:00,7177355.983,0.347171672,0.347171672 +10-01-2019 21:00,7177558.64,0.224966951,0.224966951 +10-01-2019 22:00,7177762.142,0.106268805,0.106268805 +10-01-2019 23:00,7177966.489,0.046003631,0.046003631 +11-01-2019 0:00,7178171.68,0.019139769,0.019139769 +11-01-2019 1:00,7178377.716,0.006668968,0.006668968 +11-01-2019 2:00,7178584.597,0.004577772,0.004577772 +11-01-2019 3:00,7178792.322,0.008324014,0.008324014 +11-01-2019 4:00,7179000.892,0.039482612,0.039482612 +11-01-2019 5:00,7179210.305,0.176064608,0.176064608 +11-01-2019 6:00,7179420.563,0.36616921,0.36616921 +11-01-2019 7:00,7179631.665,0.481756708,0.481756708 +11-01-2019 8:00,7179843.611,0.57898573,0.57898573 +11-01-2019 9:00,7180056.4,0.47147639,0.47147639 +11-01-2019 10:00,7180270.034,0.454278709,0.454278709 +11-01-2019 11:00,7180484.51,0.576476417,0.576476417 +11-01-2019 12:00,7180699.831,0.512484741,0.512484741 +11-01-2019 13:00,7180915.994,0.394310868,0.394310868 +11-01-2019 14:00,7181133.001,0.441362266,0.441362266 +11-01-2019 15:00,7181350.851,0.451090025,0.451090025 +11-01-2019 16:00,7181569.544,0.422352688,0.422352688 +11-01-2019 17:00,7181789.08,0.447848017,0.447848017 +11-01-2019 18:00,7182009.459,0.429538466,0.429538466 +11-01-2019 19:00,7182230.68,0.393278622,0.393278622 +11-01-2019 20:00,7182452.744,0.323524531,0.323524531 +11-01-2019 21:00,7182675.651,0.209032722,0.209032722 +11-01-2019 22:00,7182899.399,0.09887287,0.09887287 +11-01-2019 23:00,7183123.99,0.042573266,0.042573266 +12-01-2019 0:00,7183349.423,0.017717186,0.017717186 +12-01-2019 1:00,7183575.698,0.006004519,0.006004519 +12-01-2019 2:00,7183802.815,0.003448414,0.003448414 +12-01-2019 3:00,7184030.774,0.005969447,0.005969447 +12-01-2019 4:00,7184259.574,0.032149347,0.032149347 +12-01-2019 5:00,7184489.216,0.153660386,0.153660386 +12-01-2019 6:00,7184719.699,0.328258783,0.328258783 +12-01-2019 7:00,7184951.024,0.438452631,0.438452631 +12-01-2019 8:00,7185183.19,0.537800938,0.537800938 +12-01-2019 9:00,7185416.197,0.445409229,0.445409229 +12-01-2019 10:00,7185650.044,0.438525482,0.438525482 +12-01-2019 11:00,7185884.733,0.562623772,0.562623772 +12-01-2019 12:00,7186120.262,0.495562455,0.495562455 +12-01-2019 13:00,7186356.632,0.375319856,0.375319856 +12-01-2019 14:00,7186593.842,0.423674581,0.423674581 +12-01-2019 15:00,7186831.892,0.435020618,0.435020618 +12-01-2019 16:00,7187070.783,0.406244961,0.406244961 +12-01-2019 17:00,7187310.514,0.430360633,0.430360633 +12-01-2019 18:00,7187551.085,0.411893155,0.411893155 +12-01-2019 19:00,7187792.495,0.37437433,0.37437433 +12-01-2019 20:00,7188034.746,0.306431394,0.306431394 +12-01-2019 21:00,7188277.835,0.197409241,0.197409241 +12-01-2019 22:00,7188521.765,0.093401925,0.093401925 +12-01-2019 23:00,7188766.533,0.039900248,0.039900248 +13-01-2019 0:00,7189012.141,0.016329827,0.016329827 +13-01-2019 1:00,7189258.588,0.005443725,0.005443725 +13-01-2019 2:00,7189505.874,0.003043262,0.003043262 +13-01-2019 3:00,7189753.999,0.004605259,0.004605259 +13-01-2019 4:00,7190002.962,0.025266751,0.025266751 +13-01-2019 5:00,7190252.764,0.128273352,0.128273352 +13-01-2019 6:00,7190503.405,0.278612126,0.278612126 +13-01-2019 7:00,7190754.883,0.376051775,0.376051775 +13-01-2019 8:00,7191007.2,0.46585309,0.46585309 +13-01-2019 9:00,7191260.355,0.393129138,0.393129138 +13-01-2019 10:00,7191514.348,0.398614913,0.398614913 +13-01-2019 11:00,7191769.179,0.529197807,0.529197807 +13-01-2019 12:00,7192024.847,0.466434926,0.466434926 +13-01-2019 13:00,7192281.353,0.344963537,0.344963537 +13-01-2019 14:00,7192538.696,0.393568393,0.393568393 +13-01-2019 15:00,7192796.877,0.403619737,0.403619737 +13-01-2019 16:00,7193055.894,0.374309541,0.374309541 +13-01-2019 17:00,7193315.749,0.410379335,0.410379335 +13-01-2019 18:00,7193576.44,0.388690548,0.388690548 +13-01-2019 19:00,7193837.969,0.354293236,0.354293236 +13-01-2019 20:00,7194100.334,0.289659382,0.289659382 +13-01-2019 21:00,7194363.535,0.186927802,0.186927802 +13-01-2019 22:00,7194627.572,0.088453529,0.088453529 +13-01-2019 23:00,7194892.446,0.037957367,0.037957367 +14-01-2019 0:00,7195158.156,0.015671919,0.015671919 +14-01-2019 1:00,7195424.702,0.005128269,0.005128269 +14-01-2019 2:00,7195692.083,0.002869633,0.002869633 +14-01-2019 3:00,7195960.301,0.00424043,0.00424043 +14-01-2019 4:00,7196229.353,0.023020482,0.023020482 +14-01-2019 5:00,7196499.241,0.124466761,0.124466761 +14-01-2019 6:00,7196769.965,0.27645431,0.27645431 +14-01-2019 7:00,7197041.523,0.384244682,0.384244682 +14-01-2019 8:00,7197313.916,0.470589075,0.470589075 +14-01-2019 9:00,7197587.144,0.35920487,0.35920487 +14-01-2019 10:00,7197861.207,0.319362427,0.319362427 +14-01-2019 11:00,7198136.105,0.473411042,0.473411042 +14-01-2019 12:00,7198411.836,0.407179204,0.407179204 +14-01-2019 13:00,7198688.402,0.328199207,0.328199207 +14-01-2019 14:00,7198965.802,0.400552197,0.400552197 +14-01-2019 15:00,7199244.036,0.430819347,0.430819347 +14-01-2019 16:00,7199523.104,0.416569763,0.416569763 +14-01-2019 17:00,7199803.006,0.4421836,0.4421836 +14-01-2019 18:00,7200083.741,0.426781341,0.426781341 +14-01-2019 19:00,7200365.309,0.392766587,0.392766587 +14-01-2019 20:00,7200647.711,0.319981829,0.319981829 +14-01-2019 21:00,7200930.945,0.20646585,0.20646585 +14-01-2019 22:00,7201215.013,0.099896948,0.099896948 +14-01-2019 23:00,7201499.914,0.043623103,0.043623103 +15-01-2019 0:00,7201785.647,0.017922751,0.017922751 +15-01-2019 1:00,7202072.212,0.006104353,0.006104353 +15-01-2019 2:00,7202359.61,0.003489052,0.003489052 +15-01-2019 3:00,7202647.84,0.006272777,0.006272777 +15-01-2019 4:00,7202936.903,0.032372232,0.032372232 +15-01-2019 5:00,7203226.797,0.156708373,0.156708373 +15-01-2019 6:00,7203517.523,0.328884703,0.328884703 +15-01-2019 7:00,7203809.08,0.436180116,0.436180116 +15-01-2019 8:00,7204101.469,0.528974999,0.528974999 +15-01-2019 9:00,7204394.69,0.429521622,0.429521622 +15-01-2019 10:00,7204688.741,0.426531102,0.426531102 +15-01-2019 11:00,7204983.624,0.55644789,0.55644789 +15-01-2019 12:00,7205279.337,0.486972506,0.486972506 +15-01-2019 13:00,7205575.881,0.363020483,0.363020483 +15-01-2019 14:00,7205873.256,0.411328909,0.411328909 +15-01-2019 15:00,7206171.461,0.423509333,0.423509333 +15-01-2019 16:00,7206470.496,0.396393328,0.396393328 +15-01-2019 17:00,7206770.362,0.420724866,0.420724866 +15-01-2019 18:00,7207071.057,0.404148918,0.404148918 +15-01-2019 19:00,7207372.582,0.368106945,0.368106945 +15-01-2019 20:00,7207674.937,0.302468713,0.302468713 +15-01-2019 21:00,7207978.121,0.195399093,0.195399093 +15-01-2019 22:00,7208282.135,0.092404811,0.092404811 +15-01-2019 23:00,7208586.977,0.039605299,0.039605299 +16-01-2019 0:00,7208892.649,0.016066295,0.016066295 +16-01-2019 1:00,7209199.15,0.00534173,0.00534173 +16-01-2019 2:00,7209506.479,0.003003519,0.003003519 +16-01-2019 3:00,7209814.637,0.004522689,0.004522689 +16-01-2019 4:00,7210123.623,0.024751561,0.024751561 +16-01-2019 5:00,7210433.437,0.129024965,0.129024965 +16-01-2019 6:00,7210744.08,0.284155439,0.284155439 +16-01-2019 7:00,7211055.55,0.389551608,0.389551608 +16-01-2019 8:00,7211367.848,0.487695492,0.487695492 +16-01-2019 9:00,7211680.974,0.405316565,0.405316565 +16-01-2019 10:00,7211994.927,0.41359592,0.41359592 +16-01-2019 11:00,7212309.707,0.549832712,0.549832712 +16-01-2019 12:00,7212625.315,0.484768396,0.484768396 +16-01-2019 13:00,7212941.749,0.362211387,0.362211387 +16-01-2019 14:00,7213259.01,0.420597873,0.420597873 +16-01-2019 15:00,7213577.098,0.434374843,0.434374843 +16-01-2019 16:00,7213896.012,0.406866688,0.406866688 +16-01-2019 17:00,7214215.752,0.436107574,0.436107574 +16-01-2019 18:00,7214536.319,0.419101578,0.419101578 +16-01-2019 19:00,7214857.711,0.382018275,0.382018275 +16-01-2019 20:00,7215179.93,0.312068881,0.312068881 +16-01-2019 21:00,7215502.974,0.203402515,0.203402515 +16-01-2019 22:00,7215826.843,0.09730631,0.09730631 +16-01-2019 23:00,7216151.538,0.042242528,0.042242528 +17-01-2019 0:00,7216477.057,0.017355847,0.017355847 +17-01-2019 1:00,7216803.402,0.005904945,0.005904945 +17-01-2019 2:00,7217130.571,0.003377814,0.003377814 +17-01-2019 3:00,7217458.566,0.005789542,0.005789542 +17-01-2019 4:00,7217787.384,0.031173104,0.031173104 +17-01-2019 5:00,7218117.027,0.152928141,0.152928141 +17-01-2019 6:00,7218447.494,0.326763631,0.326763631 +17-01-2019 7:00,7218778.785,0.443718995,0.443718995 +17-01-2019 8:00,7219110.899,0.547781086,0.547781086 +17-01-2019 9:00,7219443.837,0.447146644,0.447146644 +17-01-2019 10:00,7219777.599,0.447832268,0.447832268 +17-01-2019 11:00,7220112.184,0.576089493,0.576089493 +17-01-2019 12:00,7220447.592,0.524159958,0.524159958 +17-01-2019 13:00,7220783.823,0.306972858,0.306972858 +17-01-2019 14:00,7221120.876,0.442582984,0.442582984 +17-01-2019 15:00,7221458.752,0.469265611,0.469265611 +17-01-2019 16:00,7221797.451,0.453219387,0.453219387 +17-01-2019 17:00,7222136.972,0.47558262,0.47558262 +17-01-2019 18:00,7222477.314,0.46277128,0.46277128 +17-01-2019 19:00,7222818.479,0.421319344,0.421319344 +17-01-2019 20:00,7223160.465,0.349973249,0.349973249 +17-01-2019 21:00,7223503.273,0.224880192,0.224880192 +17-01-2019 22:00,7223846.902,0.108141335,0.108141335 +17-01-2019 23:00,7224191.353,0.048050154,0.048050154 +18-01-2019 0:00,7224536.624,0.020761933,0.020761933 +18-01-2019 1:00,7224882.716,0.007659666,0.007659666 +18-01-2019 2:00,7225229.629,0.006027165,0.006027165 +18-01-2019 3:00,7225577.362,0.012938599,0.012938599 +18-01-2019 4:00,7225925.915,0.052822818,0.052822818 +18-01-2019 5:00,7226275.289,0.224891422,0.224891422 +18-01-2019 6:00,7226625.482,0.463716358,0.463716358 +18-01-2019 7:00,7226976.496,0.61028002,0.61028002 +18-01-2019 8:00,7227328.328,0.705949769,0.705949769 +18-01-2019 9:00,7227680.98,0.451851375,0.451851375 +18-01-2019 10:00,7228034.452,0.465551678,0.465551678 +18-01-2019 11:00,7228388.742,0.61708622,0.61708622 +18-01-2019 12:00,7228743.851,0.543468774,0.543468774 +18-01-2019 13:00,7229099.779,0.425742147,0.425742147 +18-01-2019 14:00,7229456.525,0.490635136,0.490635136 +18-01-2019 15:00,7229814.089,0.512156183,0.512156183 +18-01-2019 16:00,7230172.472,0.491655429,0.491655429 +18-01-2019 17:00,7230531.672,0.527081401,0.527081401 +18-01-2019 18:00,7230891.69,0.512061662,0.512061662 +18-01-2019 19:00,7231252.526,0.470137436,0.470137436 +18-01-2019 20:00,7231614.179,0.391742984,0.391742984 +18-01-2019 21:00,7231976.649,0.253986111,0.253986111 +18-01-2019 22:00,7232339.936,0.120661418,0.120661418 +18-01-2019 23:00,7232704.04,0.05405307,0.05405307 +19-01-2019 0:00,7233068.961,0.02330414,0.02330414 +19-01-2019 1:00,7233434.698,0.010658742,0.010658742 +19-01-2019 2:00,7233801.251,0.009784187,0.009784187 +19-01-2019 3:00,7234168.62,0.020690288,0.020690288 +19-01-2019 4:00,7234536.805,0.069906801,0.069906801 +19-01-2019 5:00,7234905.806,0.271322634,0.271322634 +19-01-2019 6:00,7235275.622,0.532493001,0.532493001 +19-01-2019 7:00,7235646.254,0.688032045,0.688032045 +19-01-2019 8:00,7236017.7,0.787218617,0.787218617 +19-01-2019 9:00,7236389.962,0.477559189,0.477559189 +19-01-2019 10:00,7236763.038,0.425745936,0.425745936 +19-01-2019 11:00,7237136.929,0.668513665,0.668513665 +19-01-2019 12:00,7237511.634,0.591674015,0.591674015 +19-01-2019 13:00,7237887.153,0.469213941,0.469213941 +19-01-2019 14:00,7238263.486,0.532506365,0.532506365 +19-01-2019 15:00,7238640.633,0.553039333,0.553039333 +19-01-2019 16:00,7239018.593,0.536509629,0.536509629 +19-01-2019 17:00,7239397.367,0.566009684,0.566009684 +19-01-2019 18:00,7239776.953,0.547333232,0.547333232 +19-01-2019 19:00,7240157.353,0.5054696,0.5054696 +19-01-2019 20:00,7240538.566,0.419087211,0.419087211 +19-01-2019 21:00,7240920.591,0.273271104,0.273271104 +19-01-2019 22:00,7241303.429,0.131339489,0.131339489 +19-01-2019 23:00,7241687.078,0.059409449,0.059409449 +20-01-2019 0:00,7242071.54,0.027679123,0.027679123 +20-01-2019 1:00,7242456.813,0.016174918,0.016174918 +20-01-2019 2:00,7242842.898,0.018406377,0.018406377 +20-01-2019 3:00,7243229.795,0.033685953,0.033685953 +20-01-2019 4:00,7243617.502,0.099031177,0.099031177 +20-01-2019 5:00,7244006.021,0.329635173,0.329635173 +20-01-2019 6:00,7244395.35,0.627368616,0.627368616 +20-01-2019 7:00,7244785.49,0.790536982,0.790536982 +20-01-2019 8:00,7245176.441,0.857794046,0.857794046 +20-01-2019 9:00,7245568.201,0.508677724,0.508677724 +20-01-2019 10:00,7245960.772,0.435994807,0.435994807 +20-01-2019 11:00,7246354.152,0.621566085,0.621566085 +20-01-2019 12:00,7246748.342,0.46584543,0.46584543 +20-01-2019 13:00,7247143.341,0.311568125,0.311568125 +20-01-2019 14:00,7247539.149,0.515749146,0.515749146 +20-01-2019 15:00,7247935.767,0.584146464,0.584146464 +20-01-2019 16:00,7248333.193,0.571113579,0.571113579 +20-01-2019 17:00,7248731.428,0.60657623,0.60657623 +20-01-2019 18:00,7249130.471,0.582347553,0.582347553 +20-01-2019 19:00,7249530.322,0.538812688,0.538812688 +20-01-2019 20:00,7249930.981,0.453814097,0.453814097 +20-01-2019 21:00,7250332.448,0.29873983,0.29873983 +20-01-2019 22:00,7250734.722,0.143403471,0.143403471 +20-01-2019 23:00,7251137.804,0.066630738,0.066630738 +21-01-2019 0:00,7251541.693,0.034125531,0.034125531 +21-01-2019 1:00,7251946.389,0.025534618,0.025534618 +21-01-2019 2:00,7252351.891,0.030386866,0.030386866 +21-01-2019 3:00,7252758.2,0.053522826,0.053522826 +21-01-2019 4:00,7253165.315,0.132783565,0.132783565 +21-01-2019 5:00,7253573.237,0.399897184,0.399897184 +21-01-2019 6:00,7253981.964,0.723335399,0.723335399 +21-01-2019 7:00,7254391.497,0.885470408,0.885470408 +21-01-2019 8:00,7254801.835,0.949665085,0.949665085 +21-01-2019 9:00,7255212.979,0.577024785,0.577024785 +21-01-2019 10:00,7255624.927,0.612463793,0.612463793 +21-01-2019 11:00,7256037.68,0.723930485,0.723930485 +21-01-2019 12:00,7256451.238,0.619717519,0.619717519 +21-01-2019 13:00,7256865.601,0.51617871,0.51617871 +21-01-2019 14:00,7257280.767,0.581790432,0.581790432 +21-01-2019 15:00,7257696.738,0.603094275,0.603094275 +21-01-2019 16:00,7258113.512,0.587042631,0.587042631 +21-01-2019 17:00,7258531.09,0.613616901,0.613616901 +21-01-2019 18:00,7258949.471,0.59205358,0.59205358 +21-01-2019 19:00,7259368.655,0.544196209,0.544196209 +21-01-2019 20:00,7259788.642,0.44732415,0.44732415 +21-01-2019 21:00,7260209.431,0.290676612,0.290676612 +21-01-2019 22:00,7260631.023,0.140151145,0.140151145 +21-01-2019 23:00,7261053.418,0.065122501,0.065122501 +22-01-2019 0:00,7261476.614,0.033124958,0.033124958 +22-01-2019 1:00,7261900.612,0.02456983,0.02456983 +22-01-2019 2:00,7262325.412,0.028080459,0.028080459 +22-01-2019 3:00,7262751.013,0.049243162,0.049243162 +22-01-2019 4:00,7263177.415,0.124157713,0.124157713 +22-01-2019 5:00,7263604.619,0.376392676,0.376392676 +22-01-2019 6:00,7264032.623,0.686069647,0.686069647 +22-01-2019 7:00,7264461.427,0.842554187,0.842554187 +22-01-2019 8:00,7264891.031,0.944453314,0.944453314 +22-01-2019 9:00,7265321.436,0.721710894,0.721710894 +22-01-2019 10:00,7265752.641,0.664484694,0.664484694 +22-01-2019 11:00,7266184.645,0.78369847,0.78369847 +22-01-2019 12:00,7266617.448,0.689819028,0.689819028 +22-01-2019 13:00,7267051.051,0.56692782,0.56692782 +22-01-2019 14:00,7267485.452,0.629669761,0.629669761 +22-01-2019 15:00,7267920.653,0.64268757,0.64268757 +22-01-2019 16:00,7268356.651,0.616668722,0.616668722 +22-01-2019 17:00,7268793.448,0.638636203,0.638636203 +22-01-2019 18:00,7269231.043,0.61233964,0.61233964 +22-01-2019 19:00,7269669.436,0.559826173,0.559826173 +22-01-2019 20:00,7270108.627,0.462496004,0.462496004 +22-01-2019 21:00,7270548.614,0.299185019,0.299185019 +22-01-2019 22:00,7270989.399,0.142638125,0.142638125 +22-01-2019 23:00,7271430.981,0.065986541,0.065986541 +23-01-2019 0:00,7271873.359,0.033712001,0.033712001 +23-01-2019 1:00,7272316.534,0.025801935,0.025801935 +23-01-2019 2:00,7272760.506,0.028437321,0.028437321 +23-01-2019 3:00,7273205.273,0.049292501,0.049292501 +23-01-2019 4:00,7273650.836,0.12467793,0.12467793 +23-01-2019 5:00,7274097.194,0.376888367,0.376888367 +23-01-2019 6:00,7274544.348,0.690539619,0.690539619 +23-01-2019 7:00,7274992.297,0.854872741,0.854872741 +23-01-2019 8:00,7275441.04,0.953519314,0.953519314 +23-01-2019 9:00,7275890.579,0.72739612,0.72739612 +23-01-2019 10:00,7276340.911,0.660579767,0.660579767 +23-01-2019 11:00,7276792.038,0.780295095,0.780295095 +23-01-2019 12:00,7277243.959,0.687705552,0.687705552 +23-01-2019 13:00,7277696.673,0.56319625,0.56319625 +23-01-2019 14:00,7278150.181,0.62683893,0.62683893 +23-01-2019 15:00,7278604.482,0.641608862,0.641608862 +23-01-2019 16:00,7279059.576,0.617556412,0.617556412 +23-01-2019 17:00,7279515.463,0.642077077,0.642077077 +23-01-2019 18:00,7279972.142,0.616166408,0.616166408 +23-01-2019 19:00,7280429.614,0.564477777,0.564477777 +23-01-2019 20:00,7280887.878,0.468419479,0.468419479 +23-01-2019 21:00,7281346.933,0.303395539,0.303395539 +23-01-2019 22:00,7281806.78,0.145570545,0.145570545 +23-01-2019 23:00,7282267.419,0.067691673,0.067691673 +24-01-2019 0:00,7282728.848,0.035196324,0.035196324 +24-01-2019 1:00,7283191.068,0.028254339,0.028254339 +24-01-2019 2:00,7283654.079,0.032155949,0.032155949 +24-01-2019 3:00,7284117.881,0.054691727,0.054691727 +24-01-2019 4:00,7284582.472,0.1346774,0.1346774 +24-01-2019 5:00,7285047.854,0.395318316,0.395318316 +24-01-2019 6:00,7285514.025,0.710974644,0.710974644 +24-01-2019 7:00,7285980.985,0.870967096,0.870967096 +24-01-2019 8:00,7286448.735,0.977967404,0.977967404 +24-01-2019 9:00,7286917.274,0.748862618,0.748862618 +24-01-2019 10:00,7287386.601,0.678703484,0.678703484 +24-01-2019 11:00,7287856.717,0.794789407,0.794789407 +24-01-2019 12:00,7288327.621,0.699140721,0.699140721 +24-01-2019 13:00,7288799.313,0.551246024,0.551246024 +24-01-2019 14:00,7289271.793,0.64346169,0.64346169 +24-01-2019 15:00,7289745.06,0.658689005,0.658689005 +24-01-2019 16:00,7290219.115,0.634391013,0.634391013 +24-01-2019 17:00,7290693.957,0.660468617,0.660468617 +24-01-2019 18:00,7291169.585,0.636202107,0.636202107 +24-01-2019 19:00,7291646,0.581361273,0.581361273 +24-01-2019 20:00,7292123.201,0.482209532,0.482209532 +24-01-2019 21:00,7292601.188,0.312827999,0.312827999 +24-01-2019 22:00,7293079.961,0.149473481,0.149473481 +24-01-2019 23:00,7293559.52,0.07014564,0.07014564 +25-01-2019 0:00,7294039.863,0.038051051,0.038051051 +25-01-2019 1:00,7294520.992,0.031967836,0.031967836 +25-01-2019 2:00,7295002.906,0.03788024,0.03788024 +25-01-2019 3:00,7295485.604,0.061311561,0.061311561 +25-01-2019 4:00,7295969.086,0.146459032,0.146459032 +25-01-2019 5:00,7296453.353,0.414950711,0.414950711 +25-01-2019 6:00,7296938.403,0.73611311,0.73611311 +25-01-2019 7:00,7297424.237,0.894710774,0.894710774 +25-01-2019 8:00,7297910.854,1,1 +25-01-2019 9:00,7298398.255,0.778775741,0.778775741 +25-01-2019 10:00,7298886.438,0.680300148,0.680300148 +25-01-2019 11:00,7299375.403,0.791621723,0.791621723 +25-01-2019 12:00,7299865.151,0.691127312,0.691127312 +25-01-2019 13:00,7300355.681,0.562667906,0.562667906 +25-01-2019 14:00,7300846.993,0.629788121,0.629788121 +25-01-2019 15:00,7301339.086,0.640436167,0.640436167 +25-01-2019 16:00,7301831.961,0.613861077,0.613861077 +25-01-2019 17:00,7302325.617,0.633904948,0.633904948 +25-01-2019 18:00,7302820.053,0.600404266,0.600404266 +25-01-2019 19:00,7303315.27,0.540447072,0.540447072 +25-01-2019 20:00,7303811.267,0.440566188,0.440566188 +25-01-2019 21:00,7304308.044,0.282324171,0.282324171 +25-01-2019 22:00,7304805.601,0.132192946,0.132192946 +25-01-2019 23:00,7305303.938,0.058649726,0.058649726 +26-01-2019 0:00,7305803.054,0.027340873,0.027340873 +26-01-2019 1:00,7306302.948,0.018074717,0.018074717 +26-01-2019 2:00,7306803.622,0.018927243,0.018927243 +26-01-2019 3:00,7307305.074,0.032394332,0.032394332 +26-01-2019 4:00,7307807.304,0.093717077,0.093717077 +26-01-2019 5:00,7308310.312,0.302469328,0.302469328 +26-01-2019 6:00,7308814.098,0.573402569,0.573402569 +26-01-2019 7:00,7309318.661,0.717656421,0.717656421 +26-01-2019 8:00,7309824.002,0.814802648,0.814802648 +26-01-2019 9:00,7310330.119,0.610089998,0.610089998 +26-01-2019 10:00,7310837.013,0.564213507,0.564213507 +26-01-2019 11:00,7311344.684,0.696994952,0.696994952 +26-01-2019 12:00,7311853.13,0.59999592,0.59999592 +26-01-2019 13:00,7312362.353,0.471275254,0.471275254 +26-01-2019 14:00,7312872.351,0.539884135,0.539884135 +26-01-2019 15:00,7313383.124,0.554034289,0.554034289 +26-01-2019 16:00,7313894.673,0.531648929,0.531648929 +26-01-2019 17:00,7314406.996,0.552576371,0.552576371 +26-01-2019 18:00,7314920.094,0.530682558,0.530682558 +26-01-2019 19:00,7315433.966,0.48020112,0.48020112 +26-01-2019 20:00,7315948.613,0.3951162,0.3951162 +26-01-2019 21:00,7316464.033,0.254230729,0.254230729 +26-01-2019 22:00,7316980.226,0.120232808,0.120232808 +26-01-2019 23:00,7317497.193,0.052869098,0.052869098 +27-01-2019 0:00,7318014.933,0.022565144,0.022565144 +27-01-2019 1:00,7318533.445,0.010025947,0.010025947 +27-01-2019 2:00,7319052.73,0.010125288,0.010125288 +27-01-2019 3:00,7319572.788,0.018645869,0.018645869 +27-01-2019 4:00,7320093.617,0.065940951,0.065940951 +27-01-2019 5:00,7320615.217,0.246505305,0.246505305 +27-01-2019 6:00,7321137.589,0.489085714,0.489085714 +27-01-2019 7:00,7321660.732,0.627303147,0.627303147 +27-01-2019 8:00,7322184.646,0.73013796,0.73013796 +27-01-2019 9:00,7322709.331,0.551050506,0.551050506 +27-01-2019 10:00,7323234.786,0.522942347,0.522942347 +27-01-2019 11:00,7323761.011,0.658842978,0.658842978 +27-01-2019 12:00,7324288.005,0.575836564,0.575836564 +27-01-2019 13:00,7324815.77,0.439107947,0.439107947 +27-01-2019 14:00,7325344.303,0.514682654,0.514682654 +27-01-2019 15:00,7325873.605,0.538308001,0.538308001 +27-01-2019 16:00,7326403.676,0.511851167,0.511851167 +27-01-2019 17:00,7326934.515,0.534644396,0.534644396 +27-01-2019 18:00,7327466.123,0.51091953,0.51091953 +27-01-2019 19:00,7327998.498,0.46661809,0.46661809 +27-01-2019 20:00,7328531.641,0.386091813,0.386091813 +27-01-2019 21:00,7329065.551,0.251484519,0.251484519 +27-01-2019 22:00,7329600.229,0.11870646,0.11870646 +27-01-2019 23:00,7330135.672,0.05216511,0.05216511 +28-01-2019 0:00,7330671.883,0.021829239,0.021829239 +28-01-2019 1:00,7331208.86,0.009245221,0.009245221 +28-01-2019 2:00,7331746.602,0.008216484,0.008216484 +28-01-2019 3:00,7332285.11,0.016670805,0.016670805 +28-01-2019 4:00,7332824.384,0.060285575,0.060285575 +28-01-2019 5:00,7333364.423,0.238926068,0.238926068 +28-01-2019 6:00,7333905.226,0.478386773,0.478386773 +28-01-2019 7:00,7334446.794,0.615724727,0.615724727 +28-01-2019 8:00,7334989.126,0.721366954,0.721366954 +28-01-2019 9:00,7335532.223,0.542787859,0.542787859 +28-01-2019 10:00,7336076.083,0.514127267,0.514127267 +28-01-2019 11:00,7336620.706,0.64340029,0.64340029 +28-01-2019 12:00,7337166.092,0.552126069,0.552126069 +28-01-2019 13:00,7337712.242,0.374300685,0.374300685 +28-01-2019 14:00,7338259.154,0.506231214,0.506231214 +28-01-2019 15:00,7338806.828,0.521605519,0.521605519 +28-01-2019 16:00,7339355.264,0.512284933,0.512284933 +28-01-2019 17:00,7339904.462,0.535137891,0.535137891 +28-01-2019 18:00,7340454.422,0.520301056,0.520301056 +28-01-2019 19:00,7341005.142,0.469298504,0.469298504 +28-01-2019 20:00,7341556.624,0.391014745,0.391014745 +28-01-2019 21:00,7342108.866,0.255875644,0.255875644 +28-01-2019 22:00,7342661.868,0.121782744,0.121782744 +28-01-2019 23:00,7343215.631,0.054008239,0.054008239 +29-01-2019 0:00,7343770.153,0.022726652,0.022726652 +29-01-2019 1:00,7344325.435,0.010211598,0.010211598 +29-01-2019 2:00,7344881.475,0.009558223,0.009558223 +29-01-2019 3:00,7345438.275,0.019970198,0.019970198 +29-01-2019 4:00,7345995.833,0.069118552,0.069118552 +29-01-2019 5:00,7346554.15,0.264018537,0.264018537 +29-01-2019 6:00,7347113.225,0.519859829,0.519859829 +29-01-2019 7:00,7347673.057,0.664269808,0.664269808 +29-01-2019 8:00,7348233.647,0.76866608,0.76866608 +29-01-2019 9:00,7348794.994,0.572805062,0.572805062 +29-01-2019 10:00,7349357.098,0.539885881,0.539885881 +29-01-2019 11:00,7349919.958,0.666527384,0.666527384 +29-01-2019 12:00,7350483.575,0.573475676,0.573475676 +29-01-2019 13:00,7351047.948,0.441146228,0.441146228 +29-01-2019 14:00,7351613.076,0.52048221,0.52048221 +29-01-2019 15:00,7352178.96,0.541645157,0.541645157 +29-01-2019 16:00,7352745.599,0.528590865,0.528590865 +29-01-2019 17:00,7353312.993,0.55594461,0.55594461 +29-01-2019 18:00,7353881.142,0.532610252,0.532610252 +29-01-2019 19:00,7354450.045,0.487085294,0.487085294 +29-01-2019 20:00,7355019.701,0.40201926,0.40201926 +29-01-2019 21:00,7355590.112,0.262076715,0.262076715 +29-01-2019 22:00,7356161.275,0.124942992,0.124942992 +29-01-2019 23:00,7356733.192,0.055788041,0.055788041 +30-01-2019 0:00,7357305.862,0.024336692,0.024336692 +30-01-2019 1:00,7357879.284,0.011837599,0.011837599 +30-01-2019 2:00,7358453.458,0.011846743,0.011846743 +30-01-2019 3:00,7359028.384,0.023392691,0.023392691 +30-01-2019 4:00,7359604.062,0.077544657,0.077544657 +30-01-2019 5:00,7360180.491,0.28263517,0.28263517 +30-01-2019 6:00,7360757.672,0.549707224,0.549707224 +30-01-2019 7:00,7361335.602,0.700581517,0.700581517 +30-01-2019 8:00,7361914.284,0.803338293,0.803338293 +30-01-2019 9:00,7362493.715,0.59249894,0.59249894 +30-01-2019 10:00,7363073.897,0.552553249,0.552553249 +30-01-2019 11:00,7363654.827,0.686906033,0.686906033 +30-01-2019 12:00,7364236.507,0.593383364,0.593383364 +30-01-2019 13:00,7364818.936,0.45972879,0.45972879 +30-01-2019 14:00,7365402.114,0.543188116,0.543188116 +30-01-2019 15:00,7365986.04,0.562420658,0.562420658 +30-01-2019 16:00,7366570.714,0.548534083,0.548534083 +30-01-2019 17:00,7367156.135,0.573127259,0.573127259 +30-01-2019 18:00,7367742.305,0.549947078,0.549947078 +30-01-2019 19:00,7368329.221,0.503149239,0.503149239 +30-01-2019 20:00,7368916.884,0.415577511,0.415577511 +30-01-2019 21:00,7369505.294,0.268498255,0.268498255 +30-01-2019 22:00,7370094.449,0.127071872,0.127071872 +30-01-2019 23:00,7370684.351,0.057246645,0.057246645 +31-01-2019 0:00,7371274.998,0.025481396,0.025481396 +31-01-2019 1:00,7371866.391,0.013423152,0.013423152 +31-01-2019 2:00,7372458.529,0.014483729,0.014483729 +31-01-2019 3:00,7373051.411,0.026980774,0.026980774 +31-01-2019 4:00,7373645.038,0.085816464,0.085816464 +31-01-2019 5:00,7374239.409,0.30171016,0.30171016 +31-01-2019 6:00,7374834.523,0.585045443,0.585045443 +31-01-2019 7:00,7375430.382,0.737145825,0.737145825 +31-01-2019 8:00,7376026.983,0.842509853,0.842509853 +31-01-2019 9:00,7376624.327,0.651385275,0.651385275 +31-01-2019 10:00,7377222.414,0.616784028,0.616784028 +31-01-2019 11:00,7377821.243,0.738935557,0.738935557 +31-01-2019 12:00,7378420.814,0.630174812,0.630174812 +31-01-2019 13:00,7379021.126,0.496650989,0.496650989 +31-01-2019 14:00,7379622.18,0.581967536,0.581967536 +31-01-2019 15:00,7380223.975,0.59881597,0.59881597 +31-01-2019 16:00,7380826.511,0.582317176,0.582317176 +31-01-2019 17:00,7381429.787,0.607186311,0.607186311 +31-01-2019 18:00,7382033.803,0.579109365,0.579109365 +31-01-2019 19:00,7382638.559,0.53088983,0.53088983 +31-01-2019 20:00,7383244.054,0.438534123,0.438534123 +31-01-2019 21:00,7383850.288,0.282511105,0.282511105 +31-01-2019 22:00,7384457.262,0.134952951,0.134952951 +31-01-2019 23:00,7385064.974,0.060864612,0.060864612 +01-02-2019 0:00,7385673.424,0.028723149,0.028723149 +01-02-2019 1:00,7386282.612,0.017858144,0.017858144 +01-02-2019 2:00,7386892.537,0.019895673,0.019895673 +01-02-2019 3:00,7387503.2,0.035563998,0.035563998 +01-02-2019 4:00,7388114.6,0.100921225,0.100921225 +01-02-2019 5:00,7388726.736,0.32885998,0.32885998 +01-02-2019 6:00,7389339.609,0.620818023,0.620818023 +01-02-2019 7:00,7389953.218,0.769449201,0.769449201 +01-02-2019 8:00,7390567.562,0.87000908,0.87000908 +01-02-2019 9:00,7391182.642,0.645241408,0.645241408 +01-02-2019 10:00,7391798.457,0.597303293,0.597303293 +01-02-2019 11:00,7392415.007,0.726841658,0.726841658 +01-02-2019 12:00,7393032.291,0.626333247,0.626333247 +01-02-2019 13:00,7393650.309,0.492325195,0.492325195 +01-02-2019 14:00,7394269.061,0.569304413,0.569304413 +01-02-2019 15:00,7394888.547,0.58349178,0.58349178 +01-02-2019 16:00,7395508.766,0.569684736,0.569684736 +01-02-2019 17:00,7396129.717,0.592775799,0.592775799 +01-02-2019 18:00,7396751.401,0.56758295,0.56758295 +01-02-2019 19:00,7397373.817,0.518096099,0.518096099 +01-02-2019 20:00,7397996.966,0.425984189,0.425984189 +01-02-2019 21:00,7398620.845,0.276152281,0.276152281 +01-02-2019 22:00,7399245.456,0.13100747,0.13100747 +01-02-2019 23:00,7399870.798,0.058620938,0.058620938 +02-02-2019 0:00,7400496.871,0.027222231,0.027222231 +02-02-2019 1:00,7401123.673,0.016248812,0.016248812 +02-02-2019 2:00,7401751.206,0.017919192,0.017919192 +02-02-2019 3:00,7402379.468,0.031776512,0.031776512 +02-02-2019 4:00,7403008.46,0.093576268,0.093576268 +02-02-2019 5:00,7403638.181,0.310362842,0.310362842 +02-02-2019 6:00,7404268.63,0.59203737,0.59203737 +02-02-2019 7:00,7404899.808,0.738312737,0.738312737 +02-02-2019 8:00,7405531.713,0.657630531,0.657630531 +02-02-2019 9:00,7406164.347,0.60486787,0.60486787 +02-02-2019 10:00,7406797.707,0.575711172,0.575711172 +02-02-2019 11:00,7407431.795,0.712200077,0.712200077 +02-02-2019 12:00,7408066.61,0.612600112,0.612600112 +02-02-2019 13:00,7408702.15,0.479637285,0.479637285 +02-02-2019 14:00,7409338.417,0.355475679,0.355475679 +02-02-2019 15:00,7409975.41,0.574958914,0.574958914 +02-02-2019 16:00,7410613.128,0.559648964,0.559648964 +02-02-2019 17:00,7411251.571,0.58544704,0.58544704 +02-02-2019 18:00,7411890.739,0.563183421,0.563183421 +02-02-2019 19:00,7412530.631,0.514088468,0.514088468 +02-02-2019 20:00,7413171.248,0.429543978,0.429543978 +02-02-2019 21:00,7413812.588,0.27663983,0.27663983 +02-02-2019 22:00,7414454.651,0.130301201,0.130301201 +02-02-2019 23:00,7415097.438,0.05995419,0.05995419 +03-02-2019 0:00,7415740.947,0.028069783,0.028069783 +03-02-2019 1:00,7416385.179,0.01658337,0.01658337 +03-02-2019 2:00,7417030.133,0.018452699,0.018452699 +03-02-2019 3:00,7417675.809,0.033267585,0.033267585 +03-02-2019 4:00,7418322.206,0.098188501,0.098188501 +03-02-2019 5:00,7418969.324,0.323044207,0.323044207 +03-02-2019 6:00,7419617.163,0.6203104,0.6203104 +03-02-2019 7:00,7420265.722,0.761987813,0.761987813 +03-02-2019 8:00,7420915.002,0.535318232,0.535318232 +03-02-2019 9:00,7421565.001,0.4256548,0.4256548 +03-02-2019 10:00,7422215.72,0.367424882,0.367424882 +03-02-2019 11:00,7422867.158,0.53530347,0.53530347 +03-02-2019 12:00,7423519.315,0.426440996,0.426440996 +03-02-2019 13:00,7424172.19,0.251661869,0.251661869 +03-02-2019 14:00,7424825.783,0.236167151,0.236167151 +03-02-2019 15:00,7425480.094,0.506612466,0.506612466 +03-02-2019 16:00,7426135.122,0.55062152,0.55062152 +03-02-2019 17:00,7426790.868,0.587134995,0.587134995 +03-02-2019 18:00,7427447.33,0.571989536,0.571989536 +03-02-2019 19:00,7428104.508,0.521534872,0.521534872 +03-02-2019 20:00,7428762.403,0.429826587,0.429826587 +03-02-2019 21:00,7429421.014,0.274533734,0.274533734 +03-02-2019 22:00,7430080.339,0.130780104,0.130780104 +03-02-2019 23:00,7430740.38,0.058605061,0.058605061 +04-02-2019 0:00,7431401.136,0.027183603,0.027183603 +04-02-2019 1:00,7432062.606,0.015883376,0.015883376 +04-02-2019 2:00,7432724.79,0.017543126,0.017543126 +04-02-2019 3:00,7433387.688,0.031244004,0.031244004 +04-02-2019 4:00,7434051.299,0.093361019,0.093361019 +04-02-2019 5:00,7434715.623,0.311788245,0.311788245 +04-02-2019 6:00,7435380.659,0.594013142,0.594013142 +04-02-2019 7:00,7436046.409,0.736182121,0.736182121 +04-02-2019 8:00,7436712.87,0.644508457,0.644508457 +04-02-2019 9:00,7437380.042,0.58790653,0.58790653 +04-02-2019 10:00,7438047.926,0.557125707,0.557125707 +04-02-2019 11:00,7438716.521,0.689997962,0.689997962 +04-02-2019 12:00,7439385.827,0.602977369,0.602977369 +04-02-2019 13:00,7440055.843,0.464835456,0.464835456 +04-02-2019 14:00,7440726.569,0.337773099,0.337773099 +04-02-2019 15:00,7441398.004,0.565697539,0.565697539 +04-02-2019 16:00,7442070.149,0.554589518,0.554589518 +04-02-2019 17:00,7442743.002,0.577622748,0.577622748 +04-02-2019 18:00,7443416.564,0.552132027,0.552132027 +04-02-2019 19:00,7444090.834,0.502430688,0.502430688 +04-02-2019 20:00,7444765.813,0.413705827,0.413705827 +04-02-2019 21:00,7445441.498,0.267051639,0.267051639 +04-02-2019 22:00,7446117.891,0.126041748,0.126041748 +04-02-2019 23:00,7446794.99,0.056072774,0.056072774 +05-02-2019 0:00,7447472.796,0.025045382,0.025045382 +05-02-2019 1:00,7448151.309,0.012945678,0.012945678 +05-02-2019 2:00,7448830.526,0.013781152,0.013781152 +05-02-2019 3:00,7449510.45,0.024332307,0.024332307 +05-02-2019 4:00,7450191.078,0.079500666,0.079500666 +05-02-2019 5:00,7450872.411,0.280391132,0.280391132 +05-02-2019 6:00,7451554.449,0.543155389,0.543155389 +05-02-2019 7:00,7452237.19,0.68216599,0.68216599 +05-02-2019 8:00,7452920.635,0.588550383,0.588550383 +05-02-2019 9:00,7453604.784,0.550409896,0.550409896 +05-02-2019 10:00,7454289.635,0.532781354,0.532781354 +05-02-2019 11:00,7454975.189,0.669078464,0.669078464 +05-02-2019 12:00,7455661.445,0.573046045,0.573046045 +05-02-2019 13:00,7456348.403,0.431435961,0.431435961 +05-02-2019 14:00,7457036.063,0.302980194,0.302980194 +05-02-2019 15:00,7457724.424,0.532295044,0.532295044 +05-02-2019 16:00,7458413.485,0.522897482,0.522897482 +05-02-2019 17:00,7459103.248,0.54479086,0.54479086 +05-02-2019 18:00,7459793.71,0.521260209,0.521260209 +05-02-2019 19:00,7460484.872,0.480445616,0.480445616 +05-02-2019 20:00,7461176.733,0.397762473,0.397762473 +05-02-2019 21:00,7461869.294,0.257359431,0.257359431 +05-02-2019 22:00,7462562.553,0.12283104,0.12283104 +05-02-2019 23:00,7463256.511,0.054784137,0.054784137 +06-02-2019 0:00,7463951.166,0.023616622,0.023616622 +06-02-2019 1:00,7464646.52,0.011012531,0.011012531 +06-02-2019 2:00,7465342.57,0.01087647,0.01087647 +06-02-2019 3:00,7466039.318,0.021107467,0.021107467 +06-02-2019 4:00,7466736.761,0.071495639,0.071495639 +06-02-2019 5:00,7467434.902,0.264418117,0.264418117 +06-02-2019 6:00,7468133.738,0.518277174,0.518277174 +06-02-2019 7:00,7468833.269,0.656192171,0.656192171 +06-02-2019 8:00,7469533.496,0.560762246,0.560762246 +06-02-2019 9:00,7470234.417,0.525628538,0.525628538 +06-02-2019 10:00,7470936.033,0.508711465,0.508711465 +06-02-2019 11:00,7471638.343,0.646234145,0.646234145 +06-02-2019 12:00,7472341.346,0.550191948,0.550191948 +06-02-2019 13:00,7473045.043,0.404945471,0.404945471 +06-02-2019 14:00,7473749.433,0.274689112,0.274689112 +06-02-2019 15:00,7474454.515,0.505410823,0.505410823 +06-02-2019 16:00,7475160.29,0.498221021,0.498221021 +06-02-2019 17:00,7475866.756,0.520668513,0.520668513 +06-02-2019 18:00,7476573.914,0.496386998,0.496386998 +06-02-2019 19:00,7477281.763,0.450284806,0.450284806 +06-02-2019 20:00,7477990.303,0.369357486,0.369357486 +06-02-2019 21:00,7478699.533,0.237760658,0.237760658 +06-02-2019 22:00,7479409.454,0.112056272,0.112056272 +06-02-2019 23:00,7480120.064,0.04899621,0.04899621 +07-02-2019 0:00,7480831.363,0.020733734,0.020733734 +07-02-2019 1:00,7481543.351,0.007984969,0.007984969 +07-02-2019 2:00,7482256.028,0.006112752,0.006112752 +07-02-2019 3:00,7482969.393,0.01222372,0.01222372 +07-02-2019 4:00,7483683.446,0.049984892,0.049984892 +07-02-2019 5:00,7484398.186,0.204573792,0.204573792 +07-02-2019 6:00,7485113.614,0.419156963,0.419156963 +07-02-2019 7:00,7485829.728,0.533958391,0.533958391 +07-02-2019 8:00,7486546.529,0.44169494,0.44169494 +07-02-2019 9:00,7487264.015,0.432603961,0.432603961 +07-02-2019 10:00,7487982.188,0.431879999,0.431879999 +07-02-2019 11:00,7488701.045,0.581489634,0.581489634 +07-02-2019 12:00,7489420.588,0.467349601,0.467349601 +07-02-2019 13:00,7490140.815,0.291444471,0.291444471 +07-02-2019 14:00,7490861.726,0.109625883,0.109625883 +07-02-2019 15:00,7491583.321,0.370404094,0.370404094 +07-02-2019 16:00,7492305.599,0.449286912,0.449286912 +07-02-2019 17:00,7493028.56,0.481239051,0.481239051 +07-02-2019 18:00,7493752.204,0.461920111,0.461920111 +07-02-2019 19:00,7494476.531,0.421351156,0.421351156 +07-02-2019 20:00,7495201.539,0.348058578,0.348058578 +07-02-2019 21:00,7495927.229,0.225674513,0.225674513 +07-02-2019 22:00,7496653.6,0.106206154,0.106206154 +07-02-2019 23:00,7497380.652,0.046014215,0.046014215 +08-02-2019 0:00,7498108.384,0.019336394,0.019336394 +08-02-2019 1:00,7498836.796,0.006891656,0.006891656 +08-02-2019 2:00,7499565.888,0.004757641,0.004757641 +08-02-2019 3:00,7500295.66,0.009023183,0.009023183 +08-02-2019 4:00,7501026.11,0.042912144,0.042912144 +08-02-2019 5:00,7501757.239,0.186579633,0.186579633 +08-02-2019 6:00,7502489.046,0.388864673,0.388864673 +08-02-2019 7:00,7503221.531,0.497198214,0.497198214 +08-02-2019 8:00,7503954.693,0.403991268,0.403991268 +08-02-2019 9:00,7504688.532,0.40444728,0.40444728 +08-02-2019 10:00,7505423.048,0.403512656,0.403512656 +08-02-2019 11:00,7506158.24,0.55711051,0.55711051 +08-02-2019 12:00,7506894.108,0.467011458,0.467011458 +08-02-2019 13:00,7507630.652,0.318101632,0.318101632 +08-02-2019 14:00,7508367.871,0.191068027,0.191068027 +08-02-2019 15:00,7509105.765,0.408403652,0.408403652 +08-02-2019 16:00,7509844.333,0.421082384,0.421082384 +08-02-2019 17:00,7510583.575,0.442231695,0.442231695 +08-02-2019 18:00,7511323.491,0.425217378,0.425217378 +08-02-2019 19:00,7512064.08,0.388419295,0.388419295 +08-02-2019 20:00,7512805.341,0.318613084,0.318613084 +08-02-2019 21:00,7513547.276,0.204920604,0.204920604 +08-02-2019 22:00,7514289.882,0.096333744,0.096333744 +08-02-2019 23:00,7515033.161,0.041007525,0.041007525 +09-02-2019 0:00,7515777.11,0.016942781,0.016942781 +09-02-2019 1:00,7516521.731,0.00578121,0.00578121 +09-02-2019 2:00,7517267.022,0.003296799,0.003296799 +09-02-2019 3:00,7518012.983,0.005292965,0.005292965 +09-02-2019 4:00,7518759.614,0.029574195,0.029574195 +09-02-2019 5:00,7519506.915,0.145123761,0.145123761 +09-02-2019 6:00,7520254.885,0.315455668,0.315455668 +09-02-2019 7:00,7521003.523,0.405986555,0.405986555 +09-02-2019 8:00,7521752.829,0.320946872,0.320946872 +09-02-2019 9:00,7522502.804,0.332908263,0.332908263 +09-02-2019 10:00,7523253.446,0.3461659,0.3461659 +09-02-2019 11:00,7524004.755,0.47235841,0.47235841 +09-02-2019 12:00,7524756.731,0.390835212,0.390835212 +09-02-2019 13:00,7525509.373,0.23297534,0.23297534 +09-02-2019 14:00,7526262.681,0.147298752,0.147298752 +09-02-2019 15:00,7527016.655,0.366378507,0.366378507 +09-02-2019 16:00,7527771.294,0.395875912,0.395875912 +09-02-2019 17:00,7528526.598,0.424495027,0.424495027 +09-02-2019 18:00,7529282.566,0.403911616,0.403911616 +09-02-2019 19:00,7530039.198,0.368573156,0.368573156 +09-02-2019 20:00,7530796.494,0.301235176,0.301235176 +09-02-2019 21:00,7531554.453,0.193866652,0.193866652 +09-02-2019 22:00,7532313.075,0.091713887,0.091713887 +09-02-2019 23:00,7533072.359,0.039454762,0.039454762 +10-02-2019 0:00,7533832.306,0.016034253,0.016034253 +10-02-2019 1:00,7534592.914,0.00536251,0.00536251 +10-02-2019 2:00,7535354.183,0.00301964,0.00301964 +10-02-2019 3:00,7536116.113,0.004593682,0.004593682 +10-02-2019 4:00,7536878.704,0.025682012,0.025682012 +10-02-2019 5:00,7537641.955,0.133430712,0.133430712 +10-02-2019 6:00,7538405.866,0.289116555,0.289116555 +10-02-2019 7:00,7539170.436,0.372164746,0.372164746 +10-02-2019 8:00,7539935.665,0.301740156,0.301740156 +10-02-2019 9:00,7540701.552,0.326346868,0.326346868 +10-02-2019 10:00,7541468.098,0.342794901,0.342794901 +10-02-2019 11:00,7542235.301,0.485387528,0.485387528 +10-02-2019 12:00,7543003.162,0.430759743,0.430759743 +10-02-2019 13:00,7543771.68,0.277541857,0.277541857 +10-02-2019 14:00,7544540.854,0.164978668,0.164978668 +10-02-2019 15:00,7545310.684,0.386113744,0.386113744 +10-02-2019 16:00,7546081.17,0.413141532,0.413141532 +10-02-2019 17:00,7546852.312,0.444595811,0.444595811 +10-02-2019 18:00,7547624.109,0.430129208,0.430129208 +10-02-2019 19:00,7548396.56,0.391121828,0.391121828 +10-02-2019 20:00,7549169.665,0.319165919,0.319165919 +10-02-2019 21:00,7549943.424,0.206351228,0.206351228 +10-02-2019 22:00,7550717.837,0.097286447,0.097286447 +10-02-2019 23:00,7551492.902,0.0420668,0.0420668 +11-02-2019 0:00,7552268.62,0.017291375,0.017291375 +11-02-2019 1:00,7553044.991,0.005868639,0.005868639 +11-02-2019 2:00,7553822.013,0.003324896,0.003324896 +11-02-2019 3:00,7554599.686,0.005646906,0.005646906 +11-02-2019 4:00,7555378.011,0.030620732,0.030620732 +11-02-2019 5:00,7556156.986,0.152277136,0.152277136 +11-02-2019 6:00,7556936.611,0.325957979,0.325957979 +11-02-2019 7:00,7557716.886,0.408271677,0.408271677 +11-02-2019 8:00,7558497.811,0.309391027,0.309391027 +11-02-2019 9:00,7559279.384,0.330655832,0.330655832 +11-02-2019 10:00,7560061.606,0.331415362,0.331415362 +11-02-2019 11:00,7560844.477,0.435985395,0.435985395 +11-02-2019 12:00,7561627.995,0.358665664,0.358665664 +11-02-2019 13:00,7562412.16,0.186375884,0.186375884 +11-02-2019 14:00,7563196.972,0.0806082,0.0806082 +11-02-2019 15:00,7563982.431,0.146243032,0.146243032 +11-02-2019 16:00,7564768.537,0.378823948,0.378823948 +11-02-2019 17:00,7565555.287,0.434320743,0.434320743 +11-02-2019 18:00,7566342.684,0.436929373,0.436929373 +11-02-2019 19:00,7567130.725,0.402681467,0.402681467 +11-02-2019 20:00,7567919.411,0.331263637,0.331263637 +11-02-2019 21:00,7568708.741,0.215185997,0.215185997 +11-02-2019 22:00,7569498.714,0.104544848,0.104544848 +11-02-2019 23:00,7570289.331,0.044027722,0.044027722 +12-02-2019 0:00,7571080.591,0.018750921,0.018750921 +12-02-2019 1:00,7571872.494,0.006555123,0.006555123 +12-02-2019 2:00,7572665.038,0.00405428,0.00405428 +12-02-2019 3:00,7573458.225,0.008254397,0.008254397 +12-02-2019 4:00,7574252.052,0.039096191,0.039096191 +12-02-2019 5:00,7575046.521,0.179455581,0.179455581 +12-02-2019 6:00,7575841.629,0.371643404,0.371643404 +12-02-2019 7:00,7576637.378,0.473219276,0.473219276 +12-02-2019 8:00,7577433.767,0.378891344,0.378891344 +12-02-2019 9:00,7578230.795,0.380082861,0.380082861 +12-02-2019 10:00,7579028.462,0.375044411,0.375044411 +12-02-2019 11:00,7579826.767,0.51697307,0.51697307 +12-02-2019 12:00,7580625.71,0.437551871,0.437551871 +12-02-2019 13:00,7581425.291,0.255626062,0.255626062 +12-02-2019 14:00,7582225.509,0.152989526,0.152989526 +12-02-2019 15:00,7583026.364,0.37746365,0.37746365 +12-02-2019 16:00,7583827.855,0.411738959,0.411738959 +12-02-2019 17:00,7584629.982,0.441610005,0.441610005 +12-02-2019 18:00,7585432.745,0.423730172,0.423730172 +12-02-2019 19:00,7586236.142,0.386855253,0.386855253 +12-02-2019 20:00,7587040.175,0.321903885,0.321903885 +12-02-2019 21:00,7587844.842,0.208205734,0.208205734 +12-02-2019 22:00,7588650.142,0.098561209,0.098561209 +12-02-2019 23:00,7589456.077,0.042243348,0.042243348 +13-02-2019 0:00,7590262.644,0.017693041,0.017693041 +13-02-2019 1:00,7591069.844,0.006009833,0.006009833 +13-02-2019 2:00,7591877.676,0.003490259,0.003490259 +13-02-2019 3:00,7592686.14,0.006119374,0.006119374 +13-02-2019 4:00,7593495.235,0.032500459,0.032500459 +13-02-2019 5:00,7594304.962,0.156397253,0.156397253 +13-02-2019 6:00,7595115.319,0.332963699,0.332963699 +13-02-2019 7:00,7595926.306,0.426381185,0.426381185 +13-02-2019 8:00,7596737.923,0.339848357,0.339848357 +13-02-2019 9:00,7597550.169,0.354101795,0.354101795 +13-02-2019 10:00,7598363.044,0.363943591,0.363943591 +13-02-2019 11:00,7599176.547,0.51002941,0.51002941 +13-02-2019 12:00,7599990.679,0.441185992,0.441185992 +13-02-2019 13:00,7600805.438,0.279768727,0.279768727 +13-02-2019 14:00,7601620.825,0.149373834,0.149373834 +13-02-2019 15:00,7602436.838,0.37179297,0.37179297 +13-02-2019 16:00,7603253.478,0.408960727,0.408960727 +13-02-2019 17:00,7604070.743,0.441033375,0.441033375 +13-02-2019 18:00,7604888.634,0.425392939,0.425392939 +13-02-2019 19:00,7605707.151,0.391794644,0.391794644 +13-02-2019 20:00,7606526.292,0.32582611,0.32582611 +13-02-2019 21:00,7607346.057,0.212368865,0.212368865 +13-02-2019 22:00,7608166.446,0.101722285,0.101722285 +13-02-2019 23:00,7608987.459,0.045448609,0.045448609 +14-02-2019 0:00,7609809.094,0.018805847,0.018805847 +14-02-2019 1:00,7610631.353,0.006688177,0.006688177 +14-02-2019 2:00,7611454.233,0.004212767,0.004212767 +14-02-2019 3:00,7612277.735,0.008440985,0.008440985 +14-02-2019 4:00,7613101.858,0.040838067,0.040838067 +14-02-2019 5:00,7613926.603,0.185874972,0.185874972 +14-02-2019 6:00,7614751.968,0.390361913,0.390361913 +14-02-2019 7:00,7615577.953,0.480821233,0.480821233 +14-02-2019 8:00,7616404.557,0.363412899,0.363412899 +14-02-2019 9:00,7617231.781,0.363322911,0.363322911 +14-02-2019 10:00,7618059.623,0.358508466,0.358508466 +14-02-2019 11:00,7618888.084,0.485431182,0.485431182 +14-02-2019 12:00,7619717.163,0.419275506,0.419275506 +14-02-2019 13:00,7620546.859,0.258613265,0.258613265 +14-02-2019 14:00,7621377.172,0.128197355,0.128197355 +14-02-2019 15:00,7622208.102,0.339148097,0.339148097 +14-02-2019 16:00,7623039.649,0.409145011,0.409145011 +14-02-2019 17:00,7623871.811,0.459460387,0.459460387 +14-02-2019 18:00,7624704.588,0.450580711,0.450580711 +14-02-2019 19:00,7625537.98,0.419619541,0.419619541 +14-02-2019 20:00,7626371.987,0.346224994,0.346224994 +14-02-2019 21:00,7627206.608,0.227843586,0.227843586 +14-02-2019 22:00,7628041.842,0.107555716,0.107555716 +14-02-2019 23:00,7628877.69,0.046162317,0.046162317 +15-02-2019 0:00,7629714.15,0.019843304,0.019843304 +15-02-2019 1:00,7630551.223,0.006946282,0.006946282 +15-02-2019 2:00,7631388.908,0.004978574,0.004978574 +15-02-2019 3:00,7632227.204,0.009838409,0.009838409 +15-02-2019 4:00,7633066.112,0.043827741,0.043827741 +15-02-2019 5:00,7633905.63,0.195093975,0.195093975 +15-02-2019 6:00,7634745.758,0.405824824,0.405824824 +15-02-2019 7:00,7635586.496,0.489338096,0.489338096 +15-02-2019 8:00,7636427.843,0.324661157,0.324661157 +15-02-2019 9:00,7637269.799,0.265548953,0.265548953 +15-02-2019 10:00,7638112.364,0.230505568,0.230505568 +15-02-2019 11:00,7638955.536,0.28742746,0.28742746 +15-02-2019 12:00,7639799.316,0.22620528,0.22620528 +15-02-2019 13:00,7640643.704,0.106409181,0.106409181 +15-02-2019 14:00,7641488.698,0.04444385,0.04444385 +15-02-2019 15:00,7642334.298,0.06725894,0.06725894 +15-02-2019 16:00,7643180.505,0.209825897,0.209825897 +15-02-2019 17:00,7644027.316,0.378833757,0.378833757 +15-02-2019 18:00,7644874.733,0.400217254,0.400217254 +15-02-2019 19:00,7645722.754,0.380849975,0.380849975 +15-02-2019 20:00,7646571.38,0.334164892,0.334164892 +15-02-2019 21:00,7647420.609,0.219379169,0.219379169 +15-02-2019 22:00,7648270.441,0.102848686,0.102848686 +15-02-2019 23:00,7649120.876,0.043518011,0.043518011 +16-02-2019 0:00,7649971.914,0.019118993,0.019118993 +16-02-2019 1:00,7650823.553,0.00667682,0.00667682 +16-02-2019 2:00,7651675.794,0.004175574,0.004175574 +16-02-2019 3:00,7652528.636,0.007963829,0.007963829 +16-02-2019 4:00,7653382.079,0.039311222,0.039311222 +16-02-2019 5:00,7654236.122,0.183201649,0.183201649 +16-02-2019 6:00,7655090.764,0.383989815,0.383989815 +16-02-2019 7:00,7655946.006,0.481715014,0.481715014 +16-02-2019 8:00,7656801.847,0.346102256,0.346102256 +16-02-2019 9:00,7657658.286,0.341489793,0.341489793 +16-02-2019 10:00,7658515.323,0.332223004,0.332223004 +16-02-2019 11:00,7659372.957,0.450585121,0.450585121 +16-02-2019 12:00,7660231.189,0.388893555,0.388893555 +16-02-2019 13:00,7661090.017,0.234609627,0.234609627 +16-02-2019 14:00,7661949.442,0.114331146,0.114331146 +16-02-2019 15:00,7662809.462,0.321545053,0.321545053 +16-02-2019 16:00,7663670.078,0.384682363,0.384682363 +16-02-2019 17:00,7664531.289,0.438632603,0.438632603 +16-02-2019 18:00,7665393.094,0.43403558,0.43403558 +16-02-2019 19:00,7666255.493,0.39890818,0.39890818 +16-02-2019 20:00,7667118.485,0.330445904,0.330445904 +16-02-2019 21:00,7667982.071,0.217600622,0.217600622 +16-02-2019 22:00,7668846.249,0.104351069,0.104351069 +16-02-2019 23:00,7669711.02,0.046003803,0.046003803 +17-02-2019 0:00,7670576.382,0.01938899,0.01938899 +17-02-2019 1:00,7671442.336,0.006815139,0.006815139 +17-02-2019 2:00,7672308.88,0.004513233,0.004513233 +17-02-2019 3:00,7673176.015,0.008937601,0.008937601 +17-02-2019 4:00,7674043.74,0.042277061,0.042277061 +17-02-2019 5:00,7674912.055,0.190606444,0.190606444 +17-02-2019 6:00,7675780.958,0.395806273,0.395806273 +17-02-2019 7:00,7676650.451,0.49164271,0.49164271 +17-02-2019 8:00,7677520.531,0.381385024,0.381385024 +17-02-2019 9:00,7678391.199,0.3684862,0.3684862 +17-02-2019 10:00,7679262.455,0.352842246,0.352842246 +17-02-2019 11:00,7680134.297,0.466509259,0.466509259 +17-02-2019 12:00,7681006.726,0.393958834,0.393958834 +17-02-2019 13:00,7681879.741,0.236074264,0.236074264 +17-02-2019 14:00,7682753.341,0.108175246,0.108175246 +17-02-2019 15:00,7683627.527,0.285803578,0.285803578 +17-02-2019 16:00,7684502.297,0.37340034,0.37340034 +17-02-2019 17:00,7685377.651,0.409560497,0.409560497 +17-02-2019 18:00,7686253.589,0.395981,0.395981 +17-02-2019 19:00,7687130.11,0.376956102,0.376956102 +17-02-2019 20:00,7688007.214,0.309822592,0.309822592 +17-02-2019 21:00,7688884.9,0.203646493,0.203646493 +17-02-2019 22:00,7689763.169,0.099591203,0.099591203 +17-02-2019 23:00,7690642.018,0.043837047,0.043837047 +18-02-2019 0:00,7691521.449,0.018395053,0.018395053 +18-02-2019 1:00,7692401.46,0.006408458,0.006408458 +18-02-2019 2:00,7693282.052,0.00382953,0.00382953 +18-02-2019 3:00,7694163.223,0.007215159,0.007215159 +18-02-2019 4:00,7695044.973,0.03671833,0.03671833 +18-02-2019 5:00,7695927.302,0.173849035,0.173849035 +18-02-2019 6:00,7696810.209,0.363361948,0.363361948 +18-02-2019 7:00,7697693.694,0.448253349,0.448253349 +18-02-2019 8:00,7698577.757,0.350278124,0.350278124 +18-02-2019 9:00,7699462.396,0.345914412,0.345914412 +18-02-2019 10:00,7700347.612,0.332840381,0.332840381 +18-02-2019 11:00,7701233.404,0.442114913,0.442114913 +18-02-2019 12:00,7702119.772,0.377372591,0.377372591 +18-02-2019 13:00,7703006.714,0.225396339,0.225396339 +18-02-2019 14:00,7703894.231,0.10237257,0.10237257 +18-02-2019 15:00,7704782.323,0.2692044,0.2692044 +18-02-2019 16:00,7705670.988,0.361880007,0.361880007 +18-02-2019 17:00,7706560.226,0.423733814,0.423733814 +18-02-2019 18:00,7707450.038,0.395557191,0.395557191 +18-02-2019 19:00,7708340.421,0.376308948,0.376308948 +18-02-2019 20:00,7709231.377,0.318045025,0.318045025 +18-02-2019 21:00,7710122.904,0.203931935,0.203931935 +18-02-2019 22:00,7711015.002,0.091931071,0.091931071 +18-02-2019 23:00,7711907.67,0.039517892,0.039517892 +19-02-2019 0:00,7712800.909,0.016303302,0.016303302 +19-02-2019 1:00,7713694.717,0.005485094,0.005485094 +19-02-2019 2:00,7714589.094,0.003071976,0.003071976 +19-02-2019 3:00,7715484.04,0.004776967,0.004776967 +19-02-2019 4:00,7716379.554,0.025849039,0.025849039 +19-02-2019 5:00,7717275.636,0.135748215,0.135748215 +19-02-2019 6:00,7718172.286,0.296824333,0.296824333 +19-02-2019 7:00,7719069.502,0.368426227,0.368426227 +19-02-2019 8:00,7719967.284,0.284923134,0.284923134 +19-02-2019 9:00,7720865.633,0.295202456,0.295202456 +19-02-2019 10:00,7721764.547,0.305463954,0.305463954 +19-02-2019 11:00,7722664.026,0.425921342,0.425921342 +19-02-2019 12:00,7723564.069,0.35950442,0.35950442 +19-02-2019 13:00,7724464.676,0.217478201,0.217478201 +19-02-2019 14:00,7725365.848,0.09155322,0.09155322 +19-02-2019 15:00,7726267.582,0.250691009,0.250691009 +19-02-2019 16:00,7727169.879,0.366954941,0.366954941 +19-02-2019 17:00,7728072.738,0.413802067,0.413802067 +19-02-2019 18:00,7728976.159,0.402728633,0.402728633 +19-02-2019 19:00,7729880.141,0.369665757,0.369665757 +19-02-2019 20:00,7730784.684,0.301387841,0.301387841 +19-02-2019 21:00,7731689.788,0.195228884,0.195228884 +19-02-2019 22:00,7732595.451,0.092570717,0.092570717 +19-02-2019 23:00,7733501.674,0.039930869,0.039930869 +20-02-2019 0:00,7734408.455,0.01629267,0.01629267 +20-02-2019 1:00,7735315.795,0.005466185,0.005466185 +20-02-2019 2:00,7736223.694,0.003091774,0.003091774 +20-02-2019 3:00,7737132.149,0.004777727,0.004777727 +20-02-2019 4:00,7738041.162,0.0257928,0.0257928 +20-02-2019 5:00,7738950.732,0.135790338,0.135790338 +20-02-2019 6:00,7739860.857,0.29484913,0.29484913 +20-02-2019 7:00,7740771.539,0.376208704,0.376208704 +20-02-2019 8:00,7741682.775,0.290939661,0.290939661 +20-02-2019 9:00,7742594.566,0.3041226,0.3041226 +20-02-2019 10:00,7743506.912,0.307176879,0.307176879 +20-02-2019 11:00,7744419.811,0.422672053,0.422672053 +20-02-2019 12:00,7745333.264,0.371448737,0.371448737 +20-02-2019 13:00,7746247.27,0.202899423,0.202899423 +20-02-2019 14:00,7747161.828,0.096314516,0.096314516 +20-02-2019 15:00,7748076.938,0.249415845,0.249415845 +20-02-2019 16:00,7748992.599,0.349990651,0.349990651 +20-02-2019 17:00,7749908.811,0.396011698,0.396011698 +20-02-2019 18:00,7750825.574,0.385085056,0.385085056 +20-02-2019 19:00,7751742.887,0.354324288,0.354324288 +20-02-2019 20:00,7752660.75,0.291484943,0.291484943 +20-02-2019 21:00,7753579.161,0.190123166,0.190123166 +20-02-2019 22:00,7754498.122,0.090647104,0.090647104 +20-02-2019 23:00,7755417.63,0.038611403,0.038611403 +21-02-2019 0:00,7756337.686,0.015660807,0.015660807 +21-02-2019 1:00,7757258.289,0.005168477,0.005168477 +21-02-2019 2:00,7758179.439,0.00293699,0.00293699 +21-02-2019 3:00,7759101.136,0.004388597,0.004388597 +21-02-2019 4:00,7760023.378,0.023223205,0.023223205 +21-02-2019 5:00,7760946.165,0.126798687,0.126798687 +21-02-2019 6:00,7761869.497,0.276901028,0.276901028 +21-02-2019 7:00,7762793.374,0.350515901,0.350515901 +21-02-2019 8:00,7763717.795,0.271257465,0.271257465 +21-02-2019 9:00,7764642.758,0.289008652,0.289008652 +21-02-2019 10:00,7765568.265,0.298714789,0.298714789 +21-02-2019 11:00,7766494.315,0.407242608,0.407242608 +21-02-2019 12:00,7767420.906,0.354863109,0.354863109 +21-02-2019 13:00,7768348.039,0.202805578,0.202805578 +21-02-2019 14:00,7769275.713,0.096123907,0.096123907 +21-02-2019 15:00,7770203.927,0.264223308,0.264223308 +21-02-2019 16:00,7771132.682,0.350809178,0.350809178 +21-02-2019 17:00,7772061.976,0.391833745,0.391833745 +21-02-2019 18:00,7772991.809,0.375212106,0.375212106 +21-02-2019 19:00,7773922.181,0.340084689,0.340084689 +21-02-2019 20:00,7774853.091,0.277725704,0.277725704 +21-02-2019 21:00,7775784.538,0.179217524,0.179217524 +21-02-2019 22:00,7776716.523,0.084770986,0.084770986 +21-02-2019 23:00,7777649.045,0.036305847,0.036305847 +22-02-2019 0:00,7778582.103,0.014489445,0.014489445 +22-02-2019 1:00,7779515.697,0.004557457,0.004557457 +22-02-2019 2:00,7780449.826,0.002424533,0.002424533 +22-02-2019 3:00,7781384.489,0.003577114,0.003577114 +22-02-2019 4:00,7782319.687,0.017404066,0.017404066 +22-02-2019 5:00,7783255.419,0.100864666,0.100864666 +22-02-2019 6:00,7784191.685,0.229797522,0.229797522 +22-02-2019 7:00,7785128.483,0.294530789,0.294530789 +22-02-2019 8:00,7786065.813,0.230999918,0.230999918 +22-02-2019 9:00,7787003.676,0.259175371,0.259175371 +22-02-2019 10:00,7787942.07,0.274264104,0.274264104 +22-02-2019 11:00,7788880.995,0.372548704,0.372548704 +22-02-2019 12:00,7789820.45,0.325872793,0.325872793 +22-02-2019 13:00,7790760.435,0.182960298,0.182960298 +22-02-2019 14:00,7791700.95,0.08545439,0.08545439 +22-02-2019 15:00,7792641.994,0.199610994,0.199610994 +22-02-2019 16:00,7793583.566,0.317900826,0.317900826 +22-02-2019 17:00,7794525.667,0.35922077,0.35922077 +22-02-2019 18:00,7795468.295,0.357243013,0.357243013 +22-02-2019 19:00,7796411.45,0.338805238,0.338805238 +22-02-2019 20:00,7797355.131,0.273535918,0.273535918 +22-02-2019 21:00,7798299.339,0.177208021,0.177208021 +22-02-2019 22:00,7799244.073,0.085023493,0.085023493 +22-02-2019 23:00,7800189.331,0.036924807,0.036924807 +23-02-2019 0:00,7801135.114,0.014945346,0.014945346 +23-02-2019 1:00,7802081.422,0.00471076,0.00471076 +23-02-2019 2:00,7803028.253,0.002561678,0.002561678 +23-02-2019 3:00,7803975.607,0.003896888,0.003896888 +23-02-2019 4:00,7804923.484,0.019608959,0.019608959 +23-02-2019 5:00,7805871.883,0.11610052,0.11610052 +23-02-2019 6:00,7806820.804,0.262196704,0.262196704 +23-02-2019 7:00,7807770.246,0.331993383,0.331993383 +23-02-2019 8:00,7808720.209,0.255754323,0.255754323 +23-02-2019 9:00,7809670.692,0.237935548,0.237935548 +23-02-2019 10:00,7810621.695,0.256132154,0.256132154 +23-02-2019 11:00,7811573.217,0.321807918,0.321807918 +23-02-2019 12:00,7812525.258,0.239290566,0.239290566 +23-02-2019 13:00,7813477.818,0.125691332,0.125691332 +23-02-2019 14:00,7814430.895,0.062324783,0.062324783 +23-02-2019 15:00,7815384.489,0.090284999,0.090284999 +23-02-2019 16:00,7816338.6,0.241234349,0.241234349 +23-02-2019 17:00,7817293.228,0.359811646,0.359811646 +23-02-2019 18:00,7818248.371,0.359445155,0.359445155 +23-02-2019 19:00,7819204.03,0.348777597,0.348777597 +23-02-2019 20:00,7820160.204,0.303432119,0.303432119 +23-02-2019 21:00,7821116.892,0.182995135,0.182995135 +23-02-2019 22:00,7822074.094,0.087558639,0.087558639 +23-02-2019 23:00,7823031.809,0.038688555,0.038688555 +24-02-2019 0:00,7823990.038,0.01574694,0.01574694 +24-02-2019 1:00,7824948.778,0.005179793,0.005179793 +24-02-2019 2:00,7825908.031,0.002959391,0.002959391 +24-02-2019 3:00,7826867.795,0.004654476,0.004654476 +24-02-2019 4:00,7827828.07,0.0253274,0.0253274 +24-02-2019 5:00,7828788.855,0.141777402,0.141777402 +24-02-2019 6:00,7829750.15,0.313125005,0.313125005 +24-02-2019 7:00,7830711.955,0.366714233,0.366714233 +24-02-2019 8:00,7831674.269,0.221557465,0.221557465 +24-02-2019 9:00,7832637.091,0.184241502,0.184241502 +24-02-2019 10:00,7833600.421,0.174561748,0.174561748 +24-02-2019 11:00,7834564.259,0.204940324,0.204940324 +24-02-2019 12:00,7835528.603,0.192830235,0.192830235 +24-02-2019 13:00,7836493.454,0.10825493,0.10825493 +24-02-2019 14:00,7837458.811,0.05448834,0.05448834 +24-02-2019 15:00,7838424.674,0.133394507,0.133394507 +24-02-2019 16:00,7839391.041,0.272880493,0.272880493 +24-02-2019 17:00,7840357.913,0.349919076,0.349919076 +24-02-2019 18:00,7841325.289,0.364271654,0.364271654 +24-02-2019 19:00,7842293.168,0.353818742,0.353818742 +24-02-2019 20:00,7843261.551,0.298437179,0.298437179 +24-02-2019 21:00,7844230.435,0.197876682,0.197876682 +24-02-2019 22:00,7845199.822,0.096168627,0.096168627 +24-02-2019 23:00,7846169.711,0.042480456,0.042480456 +25-02-2019 0:00,7847140.1,0.017479339,0.017479339 +25-02-2019 1:00,7848110.99,0.006065317,0.006065317 +25-02-2019 2:00,7849082.38,0.003465083,0.003465083 +25-02-2019 3:00,7850054.269,0.006121753,0.006121753 +25-02-2019 4:00,7851026.657,0.031486699,0.031486699 +25-02-2019 5:00,7851999.544,0.159084474,0.159084474 +25-02-2019 6:00,7852972.929,0.33519536,0.33519536 +25-02-2019 7:00,7853946.811,0.383840449,0.383840449 +25-02-2019 8:00,7854921.191,0.240481913,0.240481913 +25-02-2019 9:00,7855896.067,0.200973253,0.200973253 +25-02-2019 10:00,7856871.438,0.207380978,0.207380978 +25-02-2019 11:00,7857847.306,0.228505258,0.228505258 +25-02-2019 12:00,7858823.668,0.174743448,0.174743448 +25-02-2019 13:00,7859800.525,0.097472937,0.097472937 +25-02-2019 14:00,7860777.876,0.044778102,0.044778102 +25-02-2019 15:00,7861755.72,0.062986387,0.062986387 +25-02-2019 16:00,7862734.057,0.175526647,0.175526647 +25-02-2019 17:00,7863712.887,0.327360078,0.327360078 +25-02-2019 18:00,7864692.209,0.355696862,0.355696862 +25-02-2019 19:00,7865672.022,0.348415978,0.348415978 +25-02-2019 20:00,7866652.326,0.299260959,0.299260959 +25-02-2019 21:00,7867633.12,0.198122648,0.198122648 +25-02-2019 22:00,7868614.405,0.095287642,0.095287642 +25-02-2019 23:00,7869596.179,0.04192905,0.04192905 +26-02-2019 0:00,7870578.442,0.017391692,0.017391692 +26-02-2019 1:00,7871561.193,0.005694747,0.005694747 +26-02-2019 2:00,7872544.432,0.003349807,0.003349807 +26-02-2019 3:00,7873528.159,0.005672633,0.005672633 +26-02-2019 4:00,7874512.373,0.030032729,0.030032729 +26-02-2019 5:00,7875497.073,0.157561611,0.157561611 +26-02-2019 6:00,7876482.259,0.332411641,0.332411641 +26-02-2019 7:00,7877467.93,0.400494602,0.400494602 +26-02-2019 8:00,7878454.086,0.300978283,0.300978283 +26-02-2019 9:00,7879440.727,0.284607793,0.284607793 +26-02-2019 10:00,7880427.852,0.264019046,0.264019046 +26-02-2019 11:00,7881415.46,0.332880931,0.332880931 +26-02-2019 12:00,7882403.55,0.286361201,0.286361201 +26-02-2019 13:00,7883392.123,0.156742279,0.156742279 +26-02-2019 14:00,7884381.178,0.069784059,0.069784059 +26-02-2019 15:00,7885370.715,0.098272299,0.098272299 +26-02-2019 16:00,7886360.732,0.236428728,0.236428728 +26-02-2019 17:00,7887351.229,0.357629346,0.357629346 +26-02-2019 18:00,7888342.207,0.370251659,0.370251659 +26-02-2019 19:00,7889333.663,0.349170548,0.349170548 +26-02-2019 20:00,7890325.599,0.292023328,0.292023328 +26-02-2019 21:00,7891318.012,0.191852868,0.191852868 +26-02-2019 22:00,7892310.904,0.092846792,0.092846792 +26-02-2019 23:00,7893304.272,0.040923993,0.040923993 +27-02-2019 0:00,7894298.118,0.0167016,0.0167016 +27-02-2019 1:00,7895292.439,0.005630015,0.005630015 +27-02-2019 2:00,7896287.237,0.00323548,0.00323548 +27-02-2019 3:00,7897282.509,0.005220626,0.005220626 +27-02-2019 4:00,7898278.257,0.027153381,0.027153381 +27-02-2019 5:00,7899274.478,0.143856546,0.143856546 +27-02-2019 6:00,7900271.173,0.301609075,0.301609075 +27-02-2019 7:00,7901268.342,0.340466749,0.340466749 +27-02-2019 8:00,7902265.983,0.203861947,0.203861947 +27-02-2019 9:00,7903264.096,0.16522505,0.16522505 +27-02-2019 10:00,7904262.68,0.152488506,0.152488506 +27-02-2019 11:00,7905261.736,0.165325029,0.165325029 +27-02-2019 12:00,7906261.263,0.109680634,0.109680634 +27-02-2019 13:00,7907261.259,0.041667621,0.041667621 +27-02-2019 14:00,7908261.725,0.019955639,0.019955639 +27-02-2019 15:00,7909262.66,0.024610444,0.024610444 +27-02-2019 16:00,7910264.064,0.049498482,0.049498482 +27-02-2019 17:00,7911265.936,0.128314611,0.128314611 +27-02-2019 18:00,7912268.275,0.208765116,0.208765116 +27-02-2019 19:00,7913271.081,0.261688123,0.261688123 +27-02-2019 20:00,7914274.354,0.227001879,0.227001879 +27-02-2019 21:00,7915278.092,0.152643913,0.152643913 +27-02-2019 22:00,7916282.297,0.076391876,0.076391876 +27-02-2019 23:00,7917286.966,0.035045556,0.035045556 +28-02-2019 0:00,7918292.099,0.014846948,0.014846948 +28-02-2019 1:00,7919297.696,0.00459434,0.00459434 +28-02-2019 2:00,7920303.757,0.002558344,0.002558344 +28-02-2019 3:00,7921310.281,0.003894311,0.003894311 +28-02-2019 4:00,7922317.266,0.014855758,0.014855758 +28-02-2019 5:00,7923324.714,0.112232345,0.112232345 +28-02-2019 6:00,7924332.623,0.247760209,0.247760209 +28-02-2019 7:00,7925340.993,0.193385152,0.193385152 +28-02-2019 8:00,7926349.823,0.198496534,0.198496534 +28-02-2019 9:00,7927359.113,0.226835165,0.226835165 +28-02-2019 10:00,7928368.862,0.252642284,0.252642284 +28-02-2019 11:00,7929379.07,0.291564365,0.291564365 +28-02-2019 12:00,7930389.735,0.281164177,0.281164177 +28-02-2019 13:00,7931400.859,0.149597536,0.149597536 +28-02-2019 14:00,7932412.44,0.072358961,0.072358961 +28-02-2019 15:00,7933424.477,0.045789866,0.045789866 +28-02-2019 16:00,7934436.971,0.17324095,0.17324095 +28-02-2019 17:00,7935449.92,0.330798559,0.330798559 +28-02-2019 18:00,7936463.324,0.326567789,0.326567789 +28-02-2019 19:00,7937477.183,0.308364365,0.308364365 +28-02-2019 20:00,7938491.495,0.257478576,0.257478576 +28-02-2019 21:00,7939506.261,0.166994259,0.166994259 +28-02-2019 22:00,7940521.481,0.079342952,0.079342952 +28-02-2019 23:00,7941537.152,0.034040098,0.034040098 +01-03-2019 0:00,7942553.276,0.013706875,0.013706875 +01-03-2019 1:00,7943569.851,0.003975152,0.003975152 +01-03-2019 2:00,7944586.877,0.002171822,0.002171822 +01-03-2019 3:00,7945604.353,0.003293882,0.003293882 +01-03-2019 4:00,7946622.279,0.013410455,0.013410455 +01-03-2019 5:00,7947640.654,0.089736765,0.089736765 +01-03-2019 6:00,7948659.479,0.203107774,0.203107774 +01-03-2019 7:00,7949678.751,0.161622196,0.161622196 +01-03-2019 8:00,7950698.471,0.171732018,0.171732018 +01-03-2019 9:00,7951718.639,0.21029493,0.21029493 +01-03-2019 10:00,7952739.253,0.247830834,0.247830834 +01-03-2019 11:00,7953760.313,0.357877257,0.357877257 +01-03-2019 12:00,7954781.819,0.312841485,0.312841485 +01-03-2019 13:00,7955803.77,0.166408317,0.166408317 +01-03-2019 14:00,7956826.166,0.081719369,0.081719369 +01-03-2019 15:00,7957849.005,0.057784273,0.057784273 +01-03-2019 16:00,7958872.289,0.257722452,0.257722452 +01-03-2019 17:00,7959896.015,0.368045134,0.368045134 +01-03-2019 18:00,7960920.184,0.358256053,0.358256053 +01-03-2019 19:00,7961944.794,0.340694761,0.340694761 +01-03-2019 20:00,7962969.847,0.283518105,0.283518105 +01-03-2019 21:00,7963995.34,0.18487264,0.18487264 +01-03-2019 22:00,7965021.273,0.087726022,0.087726022 +01-03-2019 23:00,7966047.646,0.039290702,0.039290702 +02-03-2019 0:00,7967074.459,0.015438746,0.015438746 +02-03-2019 1:00,7968101.711,0.005010916,0.005010916 +02-03-2019 2:00,7969129.4,0.002836128,0.002836128 +02-03-2019 3:00,7970157.528,0.004116118,0.004116118 +02-03-2019 4:00,7971186.092,0.020153665,0.020153665 +02-03-2019 5:00,7972215.094,0.117902781,0.117902781 +02-03-2019 6:00,7973244.531,0.25501239,0.25501239 +02-03-2019 7:00,7974274.404,0.203446517,0.203446517 +02-03-2019 8:00,7975304.712,0.206826096,0.206826096 +02-03-2019 9:00,7976335.455,0.236039219,0.236039219 +02-03-2019 10:00,7977366.632,0.259053054,0.259053054 +02-03-2019 11:00,7978398.242,0.31909154,0.31909154 +02-03-2019 12:00,7979430.285,0.264350025,0.264350025 +02-03-2019 13:00,7980462.761,0.148424413,0.148424413 +02-03-2019 14:00,7981495.669,0.073544062,0.073544062 +02-03-2019 15:00,7982529.008,0.051655078,0.051655078 +02-03-2019 16:00,7983562.777,0.197169631,0.197169631 +02-03-2019 17:00,7984596.978,0.341414583,0.341414583 +02-03-2019 18:00,7985631.608,0.332283029,0.332283029 +02-03-2019 19:00,7986666.667,0.312384616,0.312384616 +02-03-2019 20:00,7987702.155,0.260992199,0.260992199 +02-03-2019 21:00,7988738.071,0.169592827,0.169592827 +02-03-2019 22:00,7989774.414,0.079685162,0.079685162 +02-03-2019 23:00,7990811.185,0.033695284,0.033695284 +03-03-2019 0:00,7991848.383,0.013362914,0.013362914 +03-03-2019 1:00,7992886.006,0.003835449,0.003835449 +03-03-2019 2:00,7993924.055,0.002050837,0.002050837 +03-03-2019 3:00,7994962.529,0.003072953,0.003072953 +03-03-2019 4:00,7996001.427,0.012387462,0.012387462 +03-03-2019 5:00,7997040.75,0.080891778,0.080891778 +03-03-2019 6:00,7998080.495,0.178303235,0.178303235 +03-03-2019 7:00,7999120.664,0.143459085,0.143459085 +03-03-2019 8:00,8000161.255,0.154148445,0.154148445 +03-03-2019 9:00,8001202.267,0.187851591,0.187851591 +03-03-2019 10:00,8002243.701,0.216403337,0.216403337 +03-03-2019 11:00,8003285.556,0.297686229,0.297686229 +03-03-2019 12:00,8004327.831,0.254800561,0.254800561 +03-03-2019 13:00,8005370.525,0.13735338,0.13735338 +03-03-2019 14:00,8006413.639,0.065767409,0.065767409 +03-03-2019 15:00,8007457.171,0.041470434,0.041470434 +03-03-2019 16:00,8008501.121,0.125674835,0.125674835 +03-03-2019 17:00,8009545.488,0.289868116,0.289868116 +03-03-2019 18:00,8010590.273,0.298515461,0.298515461 +03-03-2019 19:00,8011635.474,0.277480077,0.277480077 +03-03-2019 20:00,8012681.09,0.231904586,0.231904586 +03-03-2019 21:00,8013727.122,0.149609186,0.149609186 +03-03-2019 22:00,8014773.569,0.07013029,0.07013029 +03-03-2019 23:00,8015820.43,0.029376841,0.029376841 +04-03-2019 0:00,8016867.705,0.011848637,0.011848637 +04-03-2019 1:00,8017915.393,0.003140753,0.003140753 +04-03-2019 2:00,8018963.494,0.001363372,0.001363372 +04-03-2019 3:00,8020012.007,0.002470907,0.002470907 +04-03-2019 4:00,8021060.931,0.008251566,0.008251566 +04-03-2019 5:00,8022110.266,0.060591636,0.060591636 +04-03-2019 6:00,8023160.012,0.133996006,0.133996006 +04-03-2019 7:00,8024210.168,0.112958794,0.112958794 +04-03-2019 8:00,8025260.733,0.13303153,0.13303153 +04-03-2019 9:00,8026311.707,0.167557212,0.167557212 +04-03-2019 10:00,8027363.09,0.199299837,0.199299837 +04-03-2019 11:00,8028414.88,0.285768733,0.285768733 +04-03-2019 12:00,8029467.077,0.231837829,0.231837829 +04-03-2019 13:00,8030519.681,0.127543938,0.127543938 +04-03-2019 14:00,8031572.692,0.056720763,0.056720763 +04-03-2019 15:00,8032626.107,0.03780661,0.03780661 +04-03-2019 16:00,8033679.928,0.100269979,0.100269979 +04-03-2019 17:00,8034734.154,0.288327829,0.288327829 +04-03-2019 18:00,8035788.783,0.315878645,0.315878645 +04-03-2019 19:00,8036843.816,0.29027728,0.29027728 +04-03-2019 20:00,8037899.252,0.242692633,0.242692633 +04-03-2019 21:00,8038955.09,0.161353623,0.161353623 +04-03-2019 22:00,8040011.33,0.077338017,0.077338017 +04-03-2019 23:00,8041067.971,0.033535529,0.033535529 +05-03-2019 0:00,8042125.013,0.013462277,0.013462277 +05-03-2019 1:00,8043182.456,0.003696056,0.003696056 +05-03-2019 2:00,8044240.297,0.001915715,0.001915715 +05-03-2019 3:00,8045298.538,0.003050116,0.003050116 +05-03-2019 4:00,8046357.178,0.011828124,0.011828124 +05-03-2019 5:00,8047416.215,0.083498832,0.083498832 +05-03-2019 6:00,8048475.65,0.186721584,0.186721584 +05-03-2019 7:00,8049535.482,0.122592875,0.122592875 +05-03-2019 8:00,8050595.71,0.128349102,0.128349102 +05-03-2019 9:00,8051656.334,0.163667686,0.163667686 +05-03-2019 10:00,8052717.354,0.189543293,0.189543293 +05-03-2019 11:00,8053778.768,0.244575706,0.244575706 +05-03-2019 12:00,8054840.576,0.2077146,0.2077146 +05-03-2019 13:00,8055902.778,0.109217693,0.109217693 +05-03-2019 14:00,8056965.373,0.045261527,0.045261527 +05-03-2019 15:00,8058028.36,0.028232118,0.028232118 +05-03-2019 16:00,8059091.74,0.050912883,0.050912883 +05-03-2019 17:00,8060155.511,0.15830426,0.15830426 +05-03-2019 18:00,8061219.673,0.289625189,0.289625189 +05-03-2019 19:00,8062284.225,0.30187335,0.30187335 +05-03-2019 20:00,8063349.167,0.243463122,0.243463122 +05-03-2019 21:00,8064414.498,0.159026706,0.159026706 +05-03-2019 22:00,8065480.219,0.0758606,0.0758606 +05-03-2019 23:00,8066546.327,0.033849615,0.033849615 +06-03-2019 0:00,8067612.823,0.013484429,0.013484429 +06-03-2019 1:00,8068679.706,0.003936233,0.003936233 +06-03-2019 2:00,8069746.975,0.00209965,0.00209965 +06-03-2019 3:00,8070814.63,0.002784433,0.002784433 +06-03-2019 4:00,8071882.671,0.011250018,0.011250018 +06-03-2019 5:00,8072951.097,0.083690206,0.083690206 +06-03-2019 6:00,8074019.907,0.179163332,0.179163332 +06-03-2019 7:00,8075089.101,0.140563189,0.140563189 +06-03-2019 8:00,8076158.678,0.149408021,0.149408021 +06-03-2019 9:00,8077228.638,0.179295698,0.179295698 +06-03-2019 10:00,8078298.98,0.208220539,0.208220539 +06-03-2019 11:00,8079369.703,0.281401428,0.281401428 +06-03-2019 12:00,8080440.808,0.237848049,0.237848049 +06-03-2019 13:00,8081512.293,0.128622131,0.128622131 +06-03-2019 14:00,8082584.157,0.060105044,0.060105044 +06-03-2019 15:00,8083656.402,0.037537021,0.037537021 +06-03-2019 16:00,8084729.025,0.092933208,0.092933208 +06-03-2019 17:00,8085802.026,0.254503568,0.254503568 +06-03-2019 18:00,8086875.405,0.292111009,0.292111009 +06-03-2019 19:00,8087949.161,0.268183877,0.268183877 +06-03-2019 20:00,8089023.294,0.223001968,0.223001968 +06-03-2019 21:00,8090097.803,0.149181628,0.149181628 +06-03-2019 22:00,8091172.687,0.071736691,0.071736691 +06-03-2019 23:00,8092247.947,0.030334967,0.030334967 +07-03-2019 0:00,8093323.58,0.012309352,0.012309352 +07-03-2019 1:00,8094399.588,0.003249349,0.003249349 +07-03-2019 2:00,8095475.969,0.001497055,0.001497055 +07-03-2019 3:00,8096552.723,0.002496081,0.002496081 +07-03-2019 4:00,8097629.848,0.008766408,0.008766408 +07-03-2019 5:00,8098707.346,0.063966628,0.063966628 +07-03-2019 6:00,8099785.214,0.140267536,0.140267536 +07-03-2019 7:00,8100863.453,0.114241159,0.114241159 +07-03-2019 8:00,8101942.062,0.125693817,0.125693817 +07-03-2019 9:00,8103021.041,0.154319523,0.154319523 +07-03-2019 10:00,8104100.388,0.175379828,0.175379828 +07-03-2019 11:00,8105180.103,0.23667714,0.23667714 +07-03-2019 12:00,8106260.187,0.196930845,0.196930845 +07-03-2019 13:00,8107340.637,0.084131576,0.084131576 +07-03-2019 14:00,8108421.454,0.037939264,0.037939264 +07-03-2019 15:00,8109502.638,0.027300664,0.027300664 +07-03-2019 16:00,8110584.186,0.056583203,0.056583203 +07-03-2019 17:00,8111666.1,0.152856755,0.152856755 +07-03-2019 18:00,8112748.378,0.253994911,0.253994911 +07-03-2019 19:00,8113831.02,0.274436301,0.274436301 +07-03-2019 20:00,8114914.025,0.229653246,0.229653246 +07-03-2019 21:00,8115997.393,0.14879235,0.14879235 +07-03-2019 22:00,8117081.124,0.071808392,0.071808392 +07-03-2019 23:00,8118165.215,0.032567249,0.032567249 +08-03-2019 0:00,8119249.668,0.012873639,0.012873639 +08-03-2019 1:00,8120334.482,0.003534594,0.003534594 +08-03-2019 2:00,8121419.655,0.001820542,0.001820542 +08-03-2019 3:00,8122505.188,0.00258666,0.00258666 +08-03-2019 4:00,8123591.079,0.009522372,0.009522372 +08-03-2019 5:00,8124677.329,0.075613298,0.075613298 +08-03-2019 6:00,8125763.937,0.162230526,0.162230526 +08-03-2019 7:00,8126850.901,0.127679456,0.127679456 +08-03-2019 8:00,8127938.223,0.114956994,0.114956994 +08-03-2019 9:00,8129025.9,0.137011947,0.137011947 +08-03-2019 10:00,8130113.933,0.155205059,0.155205059 +08-03-2019 11:00,8131202.32,0.220770099,0.220770099 +08-03-2019 12:00,8132291.062,0.158836254,0.158836254 +08-03-2019 13:00,8133380.158,0.088307787,0.088307787 +08-03-2019 14:00,8134469.607,0.041876677,0.041876677 +08-03-2019 15:00,8135559.409,0.030294839,0.030294839 +08-03-2019 16:00,8136649.563,0.084695393,0.084695393 +08-03-2019 17:00,8137740.069,0.23838136,0.23838136 +08-03-2019 18:00,8138830.925,0.303539417,0.303539417 +08-03-2019 19:00,8139922.132,0.281026012,0.281026012 +08-03-2019 20:00,8141013.689,0.234302357,0.234302357 +08-03-2019 21:00,8142105.595,0.153338712,0.153338712 +08-03-2019 22:00,8143197.85,0.074086754,0.074086754 +08-03-2019 23:00,8144290.453,0.033206889,0.033206889 +09-03-2019 0:00,8145383.403,0.013027115,0.013027115 +09-03-2019 1:00,8146476.701,0.003688338,0.003688338 +09-03-2019 2:00,8147570.345,0.001896652,0.001896652 +09-03-2019 3:00,8148664.335,0.00261953,0.00261953 +09-03-2019 4:00,8149758.671,0.009584653,0.009584653 +09-03-2019 5:00,8150853.351,0.075543322,0.075543322 +09-03-2019 6:00,8151948.376,0.160285132,0.160285132 +09-03-2019 7:00,8153043.744,0.124841997,0.124841997 +09-03-2019 8:00,8154139.456,0.136663226,0.136663226 +09-03-2019 9:00,8155235.51,0.165491326,0.165491326 +09-03-2019 10:00,8156331.905,0.190600809,0.190600809 +09-03-2019 11:00,8157428.643,0.262075167,0.262075167 +09-03-2019 12:00,8158525.721,0.218818978,0.218818978 +09-03-2019 13:00,8159623.14,0.119946464,0.119946464 +09-03-2019 14:00,8160720.898,0.056421992,0.056421992 +09-03-2019 15:00,8161818.995,0.027960817,0.027960817 +09-03-2019 16:00,8162917.431,0.045255195,0.045255195 +09-03-2019 17:00,8164016.206,0.143607008,0.143607008 +09-03-2019 18:00,8165115.317,0.276755276,0.276755276 +09-03-2019 19:00,8166214.766,0.280075736,0.280075736 +09-03-2019 20:00,8167314.55,0.228453356,0.228453356 +09-03-2019 21:00,8168414.671,0.148666414,0.148666414 +09-03-2019 22:00,8169515.127,0.072085244,0.072085244 +09-03-2019 23:00,8170615.917,0.032240236,0.032240236 +10-03-2019 0:00,8171717.042,0.012951641,0.012951641 +10-03-2019 1:00,8172818.5,0.003629955,0.003629955 +10-03-2019 2:00,8173920.291,0.001885366,0.001885366 +10-03-2019 3:00,8175022.415,0.002689858,0.002689858 +10-03-2019 4:00,8176124.87,0.010166781,0.010166781 +10-03-2019 5:00,8177227.656,0.080619523,0.080619523 +10-03-2019 6:00,8178330.773,0.176857749,0.176857749 +10-03-2019 7:00,8179434.221,0.135692818,0.135692818 +10-03-2019 8:00,8180537.998,0.147870109,0.147870109 +10-03-2019 9:00,8181642.103,0.182356251,0.182356251 +10-03-2019 10:00,8182746.538,0.216421579,0.216421579 +10-03-2019 11:00,8183851.3,0.295412926,0.295412926 +10-03-2019 12:00,8184956.389,0.249440637,0.249440637 +10-03-2019 13:00,8186061.805,0.138346021,0.138346021 +10-03-2019 14:00,8187167.547,0.067723585,0.067723585 +10-03-2019 15:00,8188273.615,0.04286788,0.04286788 +10-03-2019 16:00,8189380.008,0.173836434,0.173836434 +10-03-2019 17:00,8190486.725,0.364126679,0.364126679 +10-03-2019 18:00,8191593.766,0.353692626,0.353692626 +10-03-2019 19:00,8192701.13,0.321338786,0.321338786 +10-03-2019 20:00,8193808.817,0.263339302,0.263339302 +10-03-2019 21:00,8194916.826,0.172111178,0.172111178 +10-03-2019 22:00,8196025.157,0.083337589,0.083337589 +10-03-2019 23:00,8197133.809,0.036762712,0.036762712 +11-03-2019 0:00,8198242.781,0.014786389,0.014786389 +11-03-2019 1:00,8199352.073,0.004783809,0.004783809 +11-03-2019 2:00,8200461.684,0.00262209,0.00262209 +11-03-2019 3:00,8201571.614,0.00370149,0.00370149 +11-03-2019 4:00,8202681.863,0.017943838,0.017943838 +11-03-2019 5:00,8203792.429,0.111300823,0.111300823 +11-03-2019 6:00,8204903.311,0.235969817,0.235969817 +11-03-2019 7:00,8206014.511,0.177038343,0.177038343 +11-03-2019 8:00,8207126.026,0.178590769,0.178590769 +11-03-2019 9:00,8208237.856,0.207951087,0.207951087 +11-03-2019 10:00,8209350.001,0.239943182,0.239943182 +11-03-2019 11:00,8210462.461,0.330468543,0.330468543 +11-03-2019 12:00,8211575.234,0.285905893,0.285905893 +11-03-2019 13:00,8212688.32,0.147988508,0.147988508 +11-03-2019 14:00,8213801.718,0.071774159,0.071774159 +11-03-2019 15:00,8214915.428,0.043936887,0.043936887 +11-03-2019 16:00,8216029.45,0.14972285,0.14972285 +11-03-2019 17:00,8217143.782,0.352522812,0.352522812 +11-03-2019 18:00,8218258.425,0.35311038,0.35311038 +11-03-2019 19:00,8219373.376,0.331541461,0.331541461 +11-03-2019 20:00,8220488.637,0.283477285,0.283477285 +11-03-2019 21:00,8221604.207,0.190925272,0.190925272 +11-03-2019 22:00,8222720.084,0.092106909,0.092106909 +11-03-2019 23:00,8223836.269,0.039648119,0.039648119 +12-03-2019 0:00,8224952.76,0.0160015,0.0160015 +12-03-2019 1:00,8226069.557,0.005328745,0.005328745 +12-03-2019 2:00,8227186.66,0.003039507,0.003039507 +12-03-2019 3:00,8228304.068,0.004500911,0.004500911 +12-03-2019 4:00,8229421.78,0.022060884,0.022060884 +12-03-2019 5:00,8230539.796,0.124908153,0.124908153 +12-03-2019 6:00,8231658.116,0.258581187,0.258581187 +12-03-2019 7:00,8232776.738,0.19393956,0.19393956 +12-03-2019 8:00,8233895.662,0.188406677,0.188406677 +12-03-2019 9:00,8235014.888,0.213262076,0.213262076 +12-03-2019 10:00,8236134.414,0.241610849,0.241610849 +12-03-2019 11:00,8237254.241,0.336979109,0.336979109 +12-03-2019 12:00,8238374.368,0.285924749,0.285924749 +12-03-2019 13:00,8239494.794,0.15255092,0.15255092 +12-03-2019 14:00,8240615.519,0.072889146,0.072889146 +12-03-2019 15:00,8241736.541,0.043661825,0.043661825 +12-03-2019 16:00,8242857.862,0.144439729,0.144439729 +12-03-2019 17:00,8243979.479,0.345301682,0.345301682 +12-03-2019 18:00,8245101.392,0.349849247,0.349849247 +12-03-2019 19:00,8246223.602,0.342238856,0.342238856 +12-03-2019 20:00,8247346.106,0.290214033,0.290214033 +12-03-2019 21:00,8248468.905,0.188885977,0.188885977 +12-03-2019 22:00,8249591.998,0.088458844,0.088458844 +12-03-2019 23:00,8250715.385,0.038311257,0.038311257 +13-03-2019 0:00,8251839.064,0.01540176,0.01540176 +13-03-2019 1:00,8252963.036,0.005167191,0.005167191 +13-03-2019 2:00,8254087.299,0.002923753,0.002923753 +13-03-2019 3:00,8255211.854,0.004219782,0.004219782 +13-03-2019 4:00,8256336.699,0.020621098,0.020621098 +13-03-2019 5:00,8257461.834,0.117857721,0.117857721 +13-03-2019 6:00,8258587.259,0.246640842,0.246640842 +13-03-2019 7:00,8259712.972,0.184733895,0.184733895 +13-03-2019 8:00,8260838.973,0.181222742,0.181222742 +13-03-2019 9:00,8261965.263,0.209959447,0.209959447 +13-03-2019 10:00,8263091.839,0.243519732,0.243519732 +13-03-2019 11:00,8264218.702,0.346961331,0.346961331 +13-03-2019 12:00,8265345.851,0.294933836,0.294933836 +13-03-2019 13:00,8266473.285,0.156692029,0.156692029 +13-03-2019 14:00,8267601.004,0.07461202,0.07461202 +13-03-2019 15:00,8268729.007,0.04421396,0.04421396 +13-03-2019 16:00,8269857.293,0.145993972,0.145993972 +13-03-2019 17:00,8270985.863,0.35083972,0.35083972 +13-03-2019 18:00,8272114.715,0.349296466,0.349296466 +13-03-2019 19:00,8273243.849,0.326837532,0.326837532 +13-03-2019 20:00,8274373.264,0.277537939,0.277537939 +13-03-2019 21:00,8275502.96,0.179930985,0.179930985 +13-03-2019 22:00,8276632.936,0.084969641,0.084969641 +13-03-2019 23:00,8277763.192,0.036724301,0.036724301 +14-03-2019 0:00,8278893.727,0.01472875,0.01472875 +14-03-2019 1:00,8280024.54,0.004792133,0.004792133 +14-03-2019 2:00,8281155.631,0.002642651,0.002642651 +14-03-2019 3:00,8282286.999,0.003819753,0.003819753 +14-03-2019 4:00,8283418.643,0.018085962,0.018085962 +14-03-2019 5:00,8284550.564,0.107548191,0.107548191 +14-03-2019 6:00,8285682.76,0.231022174,0.231022174 +14-03-2019 7:00,8286815.231,0.171752637,0.171752637 +14-03-2019 8:00,8287947.976,0.170906965,0.170906965 +14-03-2019 9:00,8289080.995,0.201329805,0.201329805 +14-03-2019 10:00,8290214.288,0.231601157,0.231601157 +14-03-2019 11:00,8291347.852,0.317950522,0.317950522 +14-03-2019 12:00,8292481.689,0.268279637,0.268279637 +14-03-2019 13:00,8293615.797,0.143603254,0.143603254 +14-03-2019 14:00,8294750.176,0.067438254,0.067438254 +14-03-2019 15:00,8295884.825,0.041036496,0.041036496 +14-03-2019 16:00,8297019.744,0.122946193,0.122946193 +14-03-2019 17:00,8298154.932,0.325979624,0.325979624 +14-03-2019 18:00,8299290.388,0.341566608,0.341566608 +14-03-2019 19:00,8300426.112,0.313535323,0.313535323 +14-03-2019 20:00,8301562.104,0.263990075,0.263990075 +14-03-2019 21:00,8302698.362,0.173826563,0.173826563 +14-03-2019 22:00,8303834.886,0.082410956,0.082410956 +14-03-2019 23:00,8304971.676,0.035987286,0.035987286 +15-03-2019 0:00,8306108.731,0.014303567,0.014303567 +15-03-2019 1:00,8307246.05,0.004541456,0.004541456 +15-03-2019 2:00,8308383.633,0.002467059,0.002467059 +15-03-2019 3:00,8309521.479,0.00354165,0.00354165 +15-03-2019 4:00,8310659.588,0.015928682,0.015928682 +15-03-2019 5:00,8311797.959,0.099163019,0.099163019 +15-03-2019 6:00,8312936.591,0.214812696,0.214812696 +15-03-2019 7:00,8314075.484,0.156873641,0.156873641 +15-03-2019 8:00,8315214.638,0.15472238,0.15472238 +15-03-2019 9:00,8316354.051,0.180497304,0.180497304 +15-03-2019 10:00,8317493.723,0.205317146,0.205317146 +15-03-2019 11:00,8318633.654,0.274088362,0.274088362 +15-03-2019 12:00,8319773.843,0.232283877,0.232283877 +15-03-2019 13:00,8320914.289,0.125037088,0.125037088 +15-03-2019 14:00,8322054.991,0.057213782,0.057213782 +15-03-2019 15:00,8323195.95,0.035552789,0.035552789 +15-03-2019 16:00,8324337.165,0.085148679,0.085148679 +15-03-2019 17:00,8325478.635,0.255023189,0.255023189 +15-03-2019 18:00,8326620.359,0.319719154,0.319719154 +15-03-2019 19:00,8327762.336,0.29768171,0.29768171 +15-03-2019 20:00,8328904.567,0.24886347,0.24886347 +15-03-2019 21:00,8330047.051,0.164470343,0.164470343 +15-03-2019 22:00,8331189.787,0.078089753,0.078089753 +15-03-2019 23:00,8332332.774,0.033607186,0.033607186 +16-03-2019 0:00,8333476.012,0.013638841,0.013638841 +16-03-2019 1:00,8334619.5,0.003919034,0.003919034 +16-03-2019 2:00,8335763.239,0.002125696,0.002125696 +16-03-2019 3:00,8336907.226,0.002830366,0.002830366 +16-03-2019 4:00,8338051.462,0.012747541,0.012747541 +16-03-2019 5:00,8339195.945,0.086463633,0.086463633 +16-03-2019 6:00,8340340.676,0.182390866,0.182390866 +16-03-2019 7:00,8341485.654,0.133668763,0.133668763 +16-03-2019 8:00,8342630.878,0.138570707,0.138570707 +16-03-2019 9:00,8343776.348,0.165867391,0.165867391 +16-03-2019 10:00,8344922.062,0.190913999,0.190913999 +16-03-2019 11:00,8346068.021,0.260556114,0.260556114 +16-03-2019 12:00,8347214.224,0.216961467,0.216961467 +16-03-2019 13:00,8348360.67,0.11729732,0.11729732 +16-03-2019 14:00,8349507.359,0.053141462,0.053141462 +16-03-2019 15:00,8350654.289,0.033406447,0.033406447 +16-03-2019 16:00,8351801.462,0.069067373,0.069067373 +16-03-2019 17:00,8352948.875,0.213689405,0.213689405 +16-03-2019 18:00,8354096.528,0.295104126,0.295104126 +16-03-2019 19:00,8355244.421,0.272220927,0.272220927 +16-03-2019 20:00,8356392.553,0.224619601,0.224619601 +16-03-2019 21:00,8357540.924,0.146237411,0.146237411 +16-03-2019 22:00,8358689.532,0.072104664,0.072104664 +16-03-2019 23:00,8359838.378,0.030457562,0.030457562 +17-03-2019 0:00,8360987.461,0.012558077,0.012558077 +17-03-2019 1:00,8362136.78,0.003457018,0.003457018 +17-03-2019 2:00,8363286.334,0.001731756,0.001731756 +17-03-2019 3:00,8364436.123,0.002500653,0.002500653 +17-03-2019 4:00,8365586.147,0.010277346,0.010277346 +17-03-2019 5:00,8366736.404,0.075174102,0.075174102 +17-03-2019 6:00,8367886.895,0.158350488,0.158350488 +17-03-2019 7:00,8369037.618,0.120758978,0.120758978 +17-03-2019 8:00,8370188.573,0.131937152,0.131937152 +17-03-2019 9:00,8371339.76,0.156369271,0.156369271 +17-03-2019 10:00,8372491.177,0.178712125,0.178712125 +17-03-2019 11:00,8373642.825,0.231744847,0.231744847 +17-03-2019 12:00,8374794.702,0.193727177,0.193727177 +17-03-2019 13:00,8375946.808,0.094849226,0.094849226 +17-03-2019 14:00,8377099.143,0.036870357,0.036870357 +17-03-2019 15:00,8378251.706,0.023260241,0.023260241 +17-03-2019 16:00,8379404.496,0.043644202,0.043644202 +17-03-2019 17:00,8380557.512,0.11507907,0.11507907 +17-03-2019 18:00,8381710.755,0.228708388,0.228708388 +17-03-2019 19:00,8382864.223,0.302870335,0.302870335 +17-03-2019 20:00,8384017.916,0.251354654,0.251354654 +17-03-2019 21:00,8385171.833,0.164349507,0.164349507 +17-03-2019 22:00,8386325.974,0.078679435,0.078679435 +17-03-2019 23:00,8387480.338,0.035908242,0.035908242 +18-03-2019 0:00,8388634.925,0.014201929,0.014201929 +18-03-2019 1:00,8389789.733,0.004206634,0.004206634 +18-03-2019 2:00,8390944.763,0.002466874,0.002466874 +18-03-2019 3:00,8392100.014,0.003316256,0.003316256 +18-03-2019 4:00,8393255.485,0.013620148,0.013620148 +18-03-2019 5:00,8394411.175,0.103417867,0.103417867 +18-03-2019 6:00,8395567.084,0.205323515,0.205323515 +18-03-2019 7:00,8396723.212,0.128283259,0.128283259 +18-03-2019 8:00,8397879.557,0.130666573,0.130666573 +18-03-2019 9:00,8399036.119,0.161167669,0.161167669 +18-03-2019 10:00,8400192.898,0.183751128,0.183751128 +18-03-2019 11:00,8401349.894,0.264959971,0.264959971 +18-03-2019 12:00,8402507.104,0.225810814,0.225810814 +18-03-2019 13:00,8403664.529,0.104996379,0.104996379 +18-03-2019 14:00,8404822.169,0.046242448,0.046242448 +18-03-2019 15:00,8405980.022,0.030442814,0.030442814 +18-03-2019 16:00,8407138.087,0.061705673,0.061705673 +18-03-2019 17:00,8408296.366,0.207114571,0.207114571 +18-03-2019 18:00,8409454.856,0.340112453,0.340112453 +18-03-2019 19:00,8410613.557,0.323224294,0.323224294 +18-03-2019 20:00,8411772.469,0.276577025,0.276577025 +18-03-2019 21:00,8412931.591,0.186251607,0.186251607 +18-03-2019 22:00,8414090.923,0.091658408,0.091658408 +18-03-2019 23:00,8415250.463,0.042439292,0.042439292 +19-03-2019 0:00,8416410.212,0.017405789,0.017405789 +19-03-2019 1:00,8417570.168,0.005884741,0.005884741 +19-03-2019 2:00,8418730.331,0.003593151,0.003593151 +19-03-2019 3:00,8419890.701,0.006274113,0.006274113 +19-03-2019 4:00,8421051.276,0.030926953,0.030926953 +19-03-2019 5:00,8422212.057,0.167425203,0.167425203 +19-03-2019 6:00,8423373.042,0.326692427,0.326692427 +19-03-2019 7:00,8424534.231,0.244355239,0.244355239 +19-03-2019 8:00,8425695.624,0.22891922,0.22891922 +19-03-2019 9:00,8426857.22,0.23290336,0.23290336 +19-03-2019 10:00,8428019.018,0.243930617,0.243930617 +19-03-2019 11:00,8429181.017,0.304208831,0.304208831 +19-03-2019 12:00,8430343.218,0.224692046,0.224692046 +19-03-2019 13:00,8431505.619,0.115937862,0.115937862 +19-03-2019 14:00,8432668.22,0.055061432,0.055061432 +19-03-2019 15:00,8433831.02,0.03399994,0.03399994 +19-03-2019 16:00,8434994.019,0.077050968,0.077050968 +19-03-2019 17:00,8436157.216,0.23092697,0.23092697 +19-03-2019 18:00,8437320.611,0.342819967,0.342819967 +19-03-2019 19:00,8438484.202,0.328634225,0.328634225 +19-03-2019 20:00,8439647.99,0.284159097,0.284159097 +19-03-2019 21:00,8440811.973,0.190206847,0.190206847 +19-03-2019 22:00,8441976.151,0.094598689,0.094598689 +19-03-2019 23:00,8443140.524,0.041109885,0.041109885 +20-03-2019 0:00,8444305.091,0.01550744,0.01550744 +20-03-2019 1:00,8445469.851,0.005372541,0.005372541 +20-03-2019 2:00,8446634.804,0.003040595,0.003040595 +20-03-2019 3:00,8447799.948,0.004145923,0.004145923 +20-03-2019 4:00,8448965.285,0.021442557,0.021442557 +20-03-2019 5:00,8450130.812,0.122143681,0.122143681 +20-03-2019 6:00,8451296.529,0.246817295,0.246817295 +20-03-2019 7:00,8452462.436,0.17895921,0.17895921 +20-03-2019 8:00,8453628.532,0.172187107,0.172187107 +20-03-2019 9:00,8454794.817,0.194026081,0.194026081 +20-03-2019 10:00,8455961.29,0.221584609,0.221584609 +20-03-2019 11:00,8457127.949,0.306271265,0.306271265 +20-03-2019 12:00,8458294.796,0.255626285,0.255626285 +20-03-2019 13:00,8459461.828,0.136632578,0.136632578 +20-03-2019 14:00,8460629.047,0.062342245,0.062342245 +20-03-2019 15:00,8461796.449,0.037180747,0.037180747 +20-03-2019 16:00,8462964.037,0.085813477,0.085813477 +20-03-2019 17:00,8464131.808,0.2551518,0.2551518 +20-03-2019 18:00,8465299.762,0.324657098,0.324657098 +20-03-2019 19:00,8466467.898,0.301183883,0.301183883 +20-03-2019 20:00,8467636.216,0.251705746,0.251705746 +20-03-2019 21:00,8468804.716,0.174740627,0.174740627 +20-03-2019 22:00,8469973.396,0.086381553,0.086381553 +20-03-2019 23:00,8471142.257,0.037453741,0.037453741 +21-03-2019 0:00,8472311.297,0.015442088,0.015442088 +21-03-2019 1:00,8473480.515,0.005030544,0.005030544 +21-03-2019 2:00,8474649.912,0.002823105,0.002823105 +21-03-2019 3:00,8475819.487,0.003789758,0.003789758 +21-03-2019 4:00,8476989.239,0.019673717,0.019673717 +21-03-2019 5:00,8478159.167,0.114538674,0.114538674 +21-03-2019 6:00,8479329.271,0.230352445,0.230352445 +21-03-2019 7:00,8480499.55,0.163515944,0.163515944 +21-03-2019 8:00,8481670.004,0.157593695,0.157593695 +21-03-2019 9:00,8482840.632,0.181922929,0.181922929 +21-03-2019 10:00,8484011.434,0.208488225,0.208488225 +21-03-2019 11:00,8485182.408,0.284776736,0.284776736 +21-03-2019 12:00,8486353.555,0.235951419,0.235951419 +21-03-2019 13:00,8487524.873,0.126879869,0.126879869 +21-03-2019 14:00,8488696.362,0.056970106,0.056970106 +21-03-2019 15:00,8489868.022,0.034565544,0.034565544 +21-03-2019 16:00,8491039.852,0.073211298,0.073211298 +21-03-2019 17:00,8492211.85,0.231966209,0.231966209 +21-03-2019 18:00,8493384.018,0.321026068,0.321026068 +21-03-2019 19:00,8494556.353,0.303860441,0.303860441 +21-03-2019 20:00,8495728.856,0.26312366,0.26312366 +21-03-2019 21:00,8496901.526,0.17745762,0.17745762 +21-03-2019 22:00,8498074.362,0.088522679,0.088522679 +21-03-2019 23:00,8499247.363,0.038598898,0.038598898 +22-03-2019 0:00,8500420.53,0.014974436,0.014974436 +22-03-2019 1:00,8501593.861,0.00478203,0.00478203 +22-03-2019 2:00,8502767.356,0.002704493,0.002704493 +22-03-2019 3:00,8503941.014,0.003557053,0.003557053 +22-03-2019 4:00,8505114.834,0.017650238,0.017650238 +22-03-2019 5:00,8506288.817,0.109071617,0.109071617 +22-03-2019 6:00,8507462.961,0.224776092,0.224776092 +22-03-2019 7:00,8508637.266,0.168332799,0.168332799 +22-03-2019 8:00,8509811.731,0.170869785,0.170869785 +22-03-2019 9:00,8510986.355,0.194875116,0.194875116 +22-03-2019 10:00,8512161.139,0.208628105,0.208628105 +22-03-2019 11:00,8513336.081,0.273365873,0.273365873 +22-03-2019 12:00,8514511.18,0.212945145,0.212945145 +22-03-2019 13:00,8515686.437,0.07710616,0.07710616 +22-03-2019 14:00,8516861.85,0.020107928,0.020107928 +22-03-2019 15:00,8518037.42,0.018783729,0.018783729 +22-03-2019 16:00,8519213.144,0.030731036,0.030731036 +22-03-2019 17:00,8520389.024,0.060215846,0.060215846 +22-03-2019 18:00,8521565.057,0.077664745,0.077664745 +22-03-2019 19:00,8522741.244,0.10772876,0.10772876 +22-03-2019 20:00,8523917.584,0.135783568,0.135783568 +22-03-2019 21:00,8525094.077,0.132462385,0.132462385 +22-03-2019 22:00,8526270.721,0.073909986,0.073909986 +22-03-2019 23:00,8527447.516,0.033348993,0.033348993 +23-03-2019 0:00,8528624.462,0.013110363,0.013110363 +23-03-2019 1:00,8529801.557,0.00357972,0.00357972 +23-03-2019 2:00,8530978.802,0.001852489,0.001852489 +23-03-2019 3:00,8532156.196,0.00295811,0.00295811 +23-03-2019 4:00,8533333.737,0.009714374,0.009714374 +23-03-2019 5:00,8534511.426,0.077360234,0.077360234 +23-03-2019 6:00,8535689.262,0.162338841,0.162338841 +23-03-2019 7:00,8536867.245,0.117227737,0.117227737 +23-03-2019 8:00,8538045.373,0.12679541,0.12679541 +23-03-2019 9:00,8539223.645,0.15141052,0.15141052 +23-03-2019 10:00,8540402.063,0.173271582,0.173271582 +23-03-2019 11:00,8541580.624,0.235950177,0.235950177 +23-03-2019 12:00,8542759.329,0.194427727,0.194427727 +23-03-2019 13:00,8543938.176,0.106804075,0.106804075 +23-03-2019 14:00,8545117.165,0.047254627,0.047254627 +23-03-2019 15:00,8546296.295,0.029996496,0.029996496 +23-03-2019 16:00,8547475.567,0.055809133,0.055809133 +23-03-2019 17:00,8548654.978,0.189111006,0.189111006 +23-03-2019 18:00,8549834.53,0.307711537,0.307711537 +23-03-2019 19:00,8551014.22,0.301558809,0.301558809 +23-03-2019 20:00,8552194.048,0.250517329,0.250517329 +23-03-2019 21:00,8553374.015,0.164698468,0.164698468 +23-03-2019 22:00,8554554.118,0.080271486,0.080271486 +23-03-2019 23:00,8555734.358,0.038676259,0.038676259 +24-03-2019 0:00,8556914.734,0.015519708,0.015519708 +24-03-2019 1:00,8558095.246,0.005302702,0.005302702 +24-03-2019 2:00,8559275.892,0.003041837,0.003041837 +24-03-2019 3:00,8560456.672,0.004381874,0.004381874 +24-03-2019 4:00,8561637.586,0.020952025,0.020952025 +24-03-2019 5:00,8562818.632,0.137165802,0.137165802 +24-03-2019 6:00,8563999.811,0.255278593,0.255278593 +24-03-2019 7:00,8565181.122,0.173315953,0.173315953 +24-03-2019 8:00,8566362.564,0.165349079,0.165349079 +24-03-2019 9:00,8567544.136,0.187889241,0.187889241 +24-03-2019 10:00,8568725.838,0.202766781,0.202766781 +24-03-2019 11:00,8569907.669,0.275395326,0.275395326 +24-03-2019 12:00,8571089.629,0.21505736,0.21505736 +24-03-2019 13:00,8572271.718,0.088216036,0.088216036 +24-03-2019 14:00,8573453.933,0.024562607,0.024562607 +24-03-2019 15:00,8574636.276,0.018783729,0.018783729 +24-03-2019 16:00,8575818.744,0.033298772,0.033298772 +24-03-2019 17:00,8577001.338,0.072339739,0.072339739 +24-03-2019 18:00,8578184.058,0.106624646,0.106624646 +24-03-2019 19:00,8579366.901,0.168298827,0.168298827 +24-03-2019 20:00,8580549.869,0.223258954,0.223258954 +24-03-2019 21:00,8581732.96,0.169191512,0.169191512 +24-03-2019 22:00,8582916.173,0.081129402,0.081129402 +24-03-2019 23:00,8584099.508,0.036448853,0.036448853 +25-03-2019 0:00,8585282.965,0.013909407,0.013909407 +25-03-2019 1:00,8586466.542,0.004455737,0.004455737 +25-03-2019 2:00,8587650.239,0.002301666,0.002301666 +25-03-2019 3:00,8588834.056,0.00341373,0.00341373 +25-03-2019 4:00,8590017.992,0.013488188,0.013488188 +25-03-2019 5:00,8591202.046,0.099365245,0.099365245 +25-03-2019 6:00,8592386.218,0.204621233,0.204621233 +25-03-2019 7:00,8593570.507,0.127076361,0.127076361 +25-03-2019 8:00,8594754.913,0.117682596,0.117682596 +25-03-2019 9:00,8595939.434,0.137116954,0.137116954 +25-03-2019 10:00,8597124.071,0.162281923,0.162281923 +25-03-2019 11:00,8598308.822,0.2377329,0.2377329 +25-03-2019 12:00,8599493.688,0.191229513,0.191229513 +25-03-2019 13:00,8600678.667,0.107873366,0.107873366 +25-03-2019 14:00,8601863.758,0.048729514,0.048729514 +25-03-2019 15:00,8603048.962,0.031591814,0.031591814 +25-03-2019 16:00,8604234.278,0.073486634,0.073486634 +25-03-2019 17:00,8605419.704,0.244867718,0.244867718 +25-03-2019 18:00,8606605.241,0.332601556,0.332601556 +25-03-2019 19:00,8607790.888,0.308483576,0.308483576 +25-03-2019 20:00,8608976.644,0.253043052,0.253043052 +25-03-2019 21:00,8610162.508,0.163954027,0.163954027 +25-03-2019 22:00,8611348.48,0.078552232,0.078552232 +25-03-2019 23:00,8612534.56,0.035793265,0.035793265 +26-03-2019 0:00,8613720.747,0.014125667,0.014125667 +26-03-2019 1:00,8614907.039,0.004338265,0.004338265 +26-03-2019 2:00,8616093.437,0.002601805,0.002601805 +26-03-2019 3:00,8617279.94,0.003592047,0.003592047 +26-03-2019 4:00,8618466.548,0.014783016,0.014783016 +26-03-2019 5:00,8619653.259,0.109520553,0.109520553 +26-03-2019 6:00,8620840.073,0.21942945,0.21942945 +26-03-2019 7:00,8622026.989,0.153463837,0.153463837 +26-03-2019 8:00,8623214.007,0.152125817,0.152125817 +26-03-2019 9:00,8624401.127,0.177070613,0.177070613 +26-03-2019 10:00,8625588.347,0.204187961,0.204187961 +26-03-2019 11:00,8626775.667,0.282705006,0.282705006 +26-03-2019 12:00,8627963.087,0.232960913,0.232960913 +26-03-2019 13:00,8629150.605,0.126870198,0.126870198 +26-03-2019 14:00,8630338.222,0.05699342,0.05699342 +26-03-2019 15:00,8631525.936,0.034377121,0.034377121 +26-03-2019 16:00,8632713.747,0.071241902,0.071241902 +26-03-2019 17:00,8633901.655,0.235811974,0.235811974 +26-03-2019 18:00,8635089.658,0.334634505,0.334634505 +26-03-2019 19:00,8636277.756,0.309584008,0.309584008 +26-03-2019 20:00,8637465.949,0.253882135,0.253882135 +26-03-2019 21:00,8638654.236,0.166147956,0.166147956 +26-03-2019 22:00,8639842.616,0.080223641,0.080223641 +26-03-2019 23:00,8641031.089,0.036022022,0.036022022 +27-03-2019 0:00,8642219.654,0.014380399,0.014380399 +27-03-2019 1:00,8643408.31,0.004719891,0.004719891 +27-03-2019 2:00,8644597.057,0.002575447,0.002575447 +27-03-2019 3:00,8645785.895,0.003364102,0.003364102 +27-03-2019 4:00,8646974.822,0.014908643,0.014908643 +27-03-2019 5:00,8648163.838,0.102423319,0.102423319 +27-03-2019 6:00,8649352.942,0.108815927,0.108815927 +27-03-2019 7:00,8650542.134,0.081678009,0.081678009 +27-03-2019 8:00,8651731.414,0.09806351,0.09806351 +27-03-2019 9:00,8652920.78,0.097694767,0.097694767 +27-03-2019 10:00,8654110.232,0.107054819,0.107054819 +27-03-2019 11:00,8655299.769,0.153490337,0.153490337 +27-03-2019 12:00,8656489.391,0.121808513,0.121808513 +27-03-2019 13:00,8657679.097,0.065822253,0.065822253 +27-03-2019 14:00,8658868.887,0.030515104,0.030515104 +27-03-2019 15:00,8660058.759,0.023538171,0.023538171 +27-03-2019 16:00,8661248.714,0.033022666,0.033022666 +27-03-2019 17:00,8662438.75,0.087323809,0.087323809 +27-03-2019 18:00,8663628.868,0.179858535,0.179858535 +27-03-2019 19:00,8664819.066,0.26270375,0.26270375 +27-03-2019 20:00,8666009.344,0.235582802,0.235582802 +27-03-2019 21:00,8667199.701,0.155059901,0.155059901 +27-03-2019 22:00,8668390.136,0.074476446,0.074476446 +27-03-2019 23:00,8669580.65,0.03355591,0.03355591 +28-03-2019 0:00,8670771.241,0.013192388,0.013192388 +28-03-2019 1:00,8671961.909,0.00360852,0.00360852 +28-03-2019 2:00,8673152.653,0.00182501,0.00182501 +28-03-2019 3:00,8674343.472,0.002874869,0.002874869 +28-03-2019 4:00,8675534.367,0.010443192,0.010443192 +28-03-2019 5:00,8676725.335,0.081839613,0.081839613 +28-03-2019 6:00,8677916.378,0.113019343,0.113019343 +28-03-2019 7:00,8679107.493,0.098477577,0.098477577 +28-03-2019 8:00,8680298.682,0.11221326,0.11221326 +28-03-2019 9:00,8681489.941,0.128287985,0.128287985 +28-03-2019 10:00,8682681.273,0.147754167,0.147754167 +28-03-2019 11:00,8683872.674,0.210562991,0.210562991 +28-03-2019 12:00,8685064.146,0.169334296,0.169334296 +28-03-2019 13:00,8686255.688,0.090664806,0.090664806 +28-03-2019 14:00,8687447.298,0.039578789,0.039578789 +28-03-2019 15:00,8688638.976,0.026135177,0.026135177 +28-03-2019 16:00,8689830.722,0.033395493,0.033395493 +28-03-2019 17:00,8691022.535,0.081298574,0.081298574 +28-03-2019 18:00,8692214.414,0.171976176,0.171976176 +28-03-2019 19:00,8693406.359,0.262477858,0.262477858 +28-03-2019 20:00,8694598.369,0.236840772,0.236840772 +28-03-2019 21:00,8695790.443,0.161980453,0.161980453 +28-03-2019 22:00,8696982.582,0.079860983,0.079860983 +28-03-2019 23:00,8698174.784,0.037200353,0.037200353 +29-03-2019 0:00,8699367.048,0.014735244,0.014735244 +29-03-2019 1:00,8700559.374,0.004604816,0.004604816 +29-03-2019 2:00,8701751.762,0.002499711,0.002499711 +29-03-2019 3:00,8702944.211,0.003860542,0.003860542 +29-03-2019 4:00,8704136.72,0.016846679,0.016846679 +29-03-2019 5:00,8705329.289,0.116966576,0.116966576 +29-03-2019 6:00,8706521.916,0.11513045,0.11513045 +29-03-2019 7:00,8707714.602,0.075541139,0.075541139 +29-03-2019 8:00,8708907.346,0.0722342,0.0722342 +29-03-2019 9:00,8710100.147,0.048459118,0.048459118 +29-03-2019 10:00,8711293.004,0.039606989,0.039606989 +29-03-2019 11:00,8712485.918,0.037537403,0.037537403 +29-03-2019 12:00,8713678.886,0.026565329,0.026565329 +29-03-2019 13:00,8714871.91,0.023193057,0.023193057 +29-03-2019 14:00,8716064.987,0.016696648,0.016696648 +29-03-2019 15:00,8717258.118,0.018783729,0.018783729 +29-03-2019 16:00,8718451.302,0.030610522,0.030610522 +29-03-2019 17:00,8719644.538,0.054397703,0.054397703 +29-03-2019 18:00,8720837.825,0.056615981,0.056615981 +29-03-2019 19:00,8722031.164,0.051798454,0.051798454 +29-03-2019 20:00,8723224.553,0.04271486,0.04271486 +29-03-2019 21:00,8724417.992,0.032410483,0.032410483 +29-03-2019 22:00,8725611.48,0.018822079,0.018822079 +29-03-2019 23:00,8726805.016,0.009766712,0.009766712 +30-03-2019 0:00,8727998.601,0.005231921,0.005231921 +30-03-2019 1:00,8729192.233,0.001918394,0.001918394 +30-03-2019 2:00,8730385.911,0.001883963,0.001883963 +30-03-2019 3:00,8731579.636,0.002253515,0.002253515 +30-03-2019 4:00,8732773.406,0.007581048,0.007581048 +30-03-2019 5:00,8733967.221,0.054335067,0.054335067 +30-03-2019 6:00,8735161.081,0.074436878,0.074436878 +30-03-2019 7:00,8736354.984,0.057819107,0.057819107 +30-03-2019 8:00,8737548.929,0.062404305,0.062404305 +30-03-2019 9:00,8738742.918,0.045198749,0.045198749 +30-03-2019 10:00,8739936.948,0.04081804,0.04081804 +30-03-2019 11:00,8741131.019,0.039821197,0.039821197 +30-03-2019 12:00,8742325.131,0.026927869,0.026927869 +30-03-2019 13:00,8743519.283,0.023954161,0.023954161 +30-03-2019 14:00,8744713.475,0.016731818,0.016731818 +30-03-2019 15:00,8745907.705,0.018793231,0.018793231 +30-03-2019 16:00,8747101.973,0.030610522,0.030610522 +30-03-2019 17:00,8748296.278,0.055801544,0.055801544 +30-03-2019 18:00,8749490.621,0.058201513,0.058201513 +30-03-2019 19:00,8750685,0.054175664,0.054175664 +30-03-2019 20:00,8751879.414,0.053907683,0.053907683 +30-03-2019 21:00,8753073.864,0.048169571,0.048169571 +30-03-2019 22:00,8754268.347,0.025518402,0.025518402 +30-03-2019 23:00,8755462.865,0.010980848,0.010980848 +31-03-2019 0:00,8756657.416,0.005389565,0.005389565 +31-03-2019 1:00,8757852,0.000926475,0.000926475 +31-03-2019 2:00,8759046.615,0.000987927,0.000987927 +31-03-2019 3:00,8760241.262,0.002331039,0.002331039 +31-03-2019 4:00,8761435.94,0.011714547,0.011714547 +31-03-2019 5:00,8762630.647,0.071853474,0.071853474 +31-03-2019 6:00,8763825.385,0.098316162,0.098316162 +31-03-2019 7:00,8765020.151,0.08469725,0.08469725 +31-03-2019 8:00,8766214.945,0.100146753,0.100146753 +31-03-2019 9:00,8767409.767,0.083917743,0.083917743 +31-03-2019 10:00,8768604.616,0.073958115,0.073958115 +31-03-2019 11:00,8769799.492,0.060979869,0.060979869 +31-03-2019 12:00,8770994.393,0.038879297,0.038879297 +31-03-2019 13:00,8772189.32,0.022413538,0.022413538 +31-03-2019 14:00,8773384.271,0.016696648,0.016696648 +31-03-2019 15:00,8774579.246,0.018783729,0.018783729 +31-03-2019 16:00,8775774.245,0.030610522,0.030610522 +31-03-2019 17:00,8776969.266,0.054336422,0.054336422 +31-03-2019 18:00,8778164.31,0.056696358,0.056696358 +31-03-2019 19:00,8779359.375,0.050313832,0.050313832 +31-03-2019 20:00,8780554.461,0.042290846,0.042290846 +31-03-2019 21:00,8781749.567,0.030785414,0.030785414 +31-03-2019 22:00,8782944.693,0.018062292,0.018062292 +31-03-2019 23:00,8784139.838,0.007115509,0.007115509 +01-04-2019 0:00,8785335.001,0.003861838,0.003861838 +01-04-2019 1:00,8786530.182,0.00181,0.00181 +01-04-2019 2:00,8787725.381,0.001563754,0.001563754 +01-04-2019 3:00,8788920.596,0.004119869,0.004119869 +01-04-2019 4:00,8790115.827,0.021171027,0.021171027 +01-04-2019 5:00,8791311.073,0.089946396,0.089946396 +01-04-2019 6:00,8792506.334,0.095254861,0.095254861 +01-04-2019 7:00,8793701.61,0.058983141,0.058983141 +01-04-2019 8:00,8794896.898,0.062889486,0.062889486 +01-04-2019 9:00,8796092.2,0.043976802,0.043976802 +01-04-2019 10:00,8797287.514,0.037627085,0.037627085 +01-04-2019 11:00,8798482.84,0.032347729,0.032347729 +01-04-2019 12:00,8799678.177,0.026875072,0.026875072 +01-04-2019 13:00,8800873.524,0.021566504,0.021566504 +01-04-2019 14:00,8802068.881,0.016696648,0.016696648 +01-04-2019 15:00,8803264.247,0.018783729,0.018783729 +01-04-2019 16:00,8804459.622,0.030610522,0.030610522 +01-04-2019 17:00,8805655.005,0.05429011,0.05429011 +01-04-2019 18:00,8806850.395,0.056512829,0.056512829 +01-04-2019 19:00,8808045.793,0.050210406,0.050210406 +01-04-2019 20:00,8809241.196,0.041741948,0.041741948 +01-04-2019 21:00,8810436.605,0.029012108,0.029012108 +01-04-2019 22:00,8811632.018,0.01401183,0.01401183 +01-04-2019 23:00,8812827.436,0.00549035,0.00549035 +02-04-2019 0:00,8814022.858,0.003970728,0.003970728 +02-04-2019 1:00,8815218.283,0.001711879,0.001711879 +02-04-2019 2:00,8816413.71,0.001464307,0.001464307 +02-04-2019 3:00,8817609.139,0.002070798,0.002070798 +02-04-2019 4:00,8818804.569,0.009832588,0.009832588 +02-04-2019 5:00,8820000,0.062920674,0.062920674 +02-04-2019 6:00,8821195.431,0.08082308,0.08082308 +02-04-2019 7:00,8822390.861,0.064409968,0.064409968 +02-04-2019 8:00,8823586.29,0.075740735,0.075740735 +02-04-2019 9:00,8824781.717,0.067541419,0.067541419 +02-04-2019 10:00,8825977.142,0.06010177,0.06010177 +02-04-2019 11:00,8827172.564,0.060254538,0.060254538 +02-04-2019 12:00,8828367.982,0.039711682,0.039711682 +02-04-2019 13:00,8829563.395,0.025865117,0.025865117 +02-04-2019 14:00,8830758.804,0.017136727,0.017136727 +02-04-2019 15:00,8831954.207,0.018836164,0.018836164 +02-04-2019 16:00,8833149.605,0.031537845,0.031537845 +02-04-2019 17:00,8834344.995,0.058118937,0.058118937 +02-04-2019 18:00,8835540.378,0.06481414,0.06481414 +02-04-2019 19:00,8836735.753,0.085268026,0.085268026 +02-04-2019 20:00,8837931.119,0.072063947,0.072063947 +02-04-2019 21:00,8839126.476,0.044540575,0.044540575 +02-04-2019 22:00,8840321.823,0.023411331,0.023411331 +02-04-2019 23:00,8841517.16,0.01213695,0.01213695 +03-04-2019 0:00,8842712.486,0.004935128,0.004935128 +03-04-2019 1:00,8843907.8,0.00154212,0.00154212 +03-04-2019 2:00,8845103.102,0.001827258,0.001827258 +03-04-2019 3:00,8846298.39,0.004360514,0.004360514 +03-04-2019 4:00,8847493.666,0.024605657,0.024605657 +03-04-2019 5:00,8848688.927,0.094119033,0.094119033 +03-04-2019 6:00,8849884.173,0.117274912,0.117274912 +03-04-2019 7:00,8851079.404,0.102862094,0.102862094 +03-04-2019 8:00,8852274.619,0.130191532,0.130191532 +03-04-2019 9:00,8853469.818,0.119309822,0.119309822 +03-04-2019 10:00,8854664.999,0.117480372,0.117480372 +03-04-2019 11:00,8855860.162,0.13902754,0.13902754 +03-04-2019 12:00,8857055.307,0.079229965,0.079229965 +03-04-2019 13:00,8858250.433,0.038959836,0.038959836 +03-04-2019 14:00,8859445.539,0.020941712,0.020941712 +03-04-2019 15:00,8860640.625,0.019594751,0.019594751 +03-04-2019 16:00,8861835.69,0.03227031,0.03227031 +03-04-2019 17:00,8863030.734,0.06619245,0.06619245 +03-04-2019 18:00,8864225.755,0.120947101,0.120947101 +03-04-2019 19:00,8865420.754,0.165305225,0.165305225 +03-04-2019 20:00,8866615.729,0.14842168,0.14842168 +03-04-2019 21:00,8867810.68,0.085450136,0.085450136 +03-04-2019 22:00,8869005.607,0.043574306,0.043574306 +03-04-2019 23:00,8870200.508,0.01599333,0.01599333 +04-04-2019 0:00,8871395.384,0.006497599,0.006497599 +04-04-2019 1:00,8872590.233,0.002447435,0.002447435 +04-04-2019 2:00,8873785.055,0.002742265,0.002742265 +04-04-2019 3:00,8874979.849,0.008058849,0.008058849 +04-04-2019 4:00,8876174.615,0.055769687,0.055769687 +04-04-2019 5:00,8877369.353,0.171297966,0.171297966 +04-04-2019 6:00,8878564.06,0.163006087,0.163006087 +04-04-2019 7:00,8879758.738,0.137690831,0.137690831 +04-04-2019 8:00,8880953.385,0.182030182,0.182030182 +04-04-2019 9:00,8882148,0.179091015,0.179091015 +04-04-2019 10:00,8883342.584,0.187824637,0.187824637 +04-04-2019 11:00,8884537.135,0.224450921,0.224450921 +04-04-2019 12:00,8885731.653,0.117896422,0.117896422 +04-04-2019 13:00,8886926.136,0.055690672,0.055690672 +04-04-2019 14:00,8888120.586,0.02730606,0.02730606 +04-04-2019 15:00,8889315,0.020930226,0.020930226 +04-04-2019 16:00,8890509.379,0.032724108,0.032724108 +04-04-2019 17:00,8891703.722,0.075916272,0.075916272 +04-04-2019 18:00,8892898.027,0.137700001,0.137700001 +04-04-2019 19:00,8894092.295,0.196974377,0.196974377 +04-04-2019 20:00,8895286.525,0.165879,0.165879 +04-04-2019 21:00,8896480.717,0.092461915,0.092461915 +04-04-2019 22:00,8897674.869,0.044713749,0.044713749 +04-04-2019 23:00,8898868.981,0.016510974,0.016510974 +05-04-2019 0:00,8900063.052,0.006722569,0.006722569 +05-04-2019 1:00,8901257.082,0.002628263,0.002628263 +05-04-2019 2:00,8902451.071,0.003066257,0.003066257 +05-04-2019 3:00,8903645.016,0.010535706,0.010535706 +05-04-2019 4:00,8904838.919,0.071974011,0.071974011 +05-04-2019 5:00,8906032.779,0.200472793,0.200472793 +05-04-2019 6:00,8907226.594,0.175537937,0.175537937 +05-04-2019 7:00,8908420.364,0.144081627,0.144081627 +05-04-2019 8:00,8909614.089,0.183555775,0.183555775 +05-04-2019 9:00,8910807.767,0.169999424,0.169999424 +05-04-2019 10:00,8912001.399,0.135061216,0.135061216 +05-04-2019 11:00,8913194.984,0.160611944,0.160611944 +05-04-2019 12:00,8914388.52,0.089420299,0.089420299 +05-04-2019 13:00,8915582.008,0.04079035,0.04079035 +05-04-2019 14:00,8916775.447,0.021669691,0.021669691 +05-04-2019 15:00,8917968.836,0.019363754,0.019363754 +05-04-2019 16:00,8919162.175,0.032124382,0.032124382 +05-04-2019 17:00,8920355.462,0.062672538,0.062672538 +05-04-2019 18:00,8921548.698,0.114691874,0.114691874 +05-04-2019 19:00,8922741.882,0.141922816,0.141922816 +05-04-2019 20:00,8923935.013,0.13929392,0.13929392 +05-04-2019 21:00,8925128.09,0.084036879,0.084036879 +05-04-2019 22:00,8926321.114,0.041769155,0.041769155 +05-04-2019 23:00,8927514.082,0.015085599,0.015085599 +06-04-2019 0:00,8928706.996,0.005918962,0.005918962 +06-04-2019 1:00,8929899.853,0.001977945,0.001977945 +06-04-2019 2:00,8931092.654,0.002282023,0.002282023 +06-04-2019 3:00,8932285.398,0.00578698,0.00578698 +06-04-2019 4:00,8933478.084,0.039100832,0.039100832 +06-04-2019 5:00,8934670.711,0.133931555,0.133931555 +06-04-2019 6:00,8935863.28,0.135577421,0.135577421 +06-04-2019 7:00,8937055.789,0.118966548,0.118966548 +06-04-2019 8:00,8938248.238,0.157055736,0.157055736 +06-04-2019 9:00,8939440.626,0.150758453,0.150758453 +06-04-2019 10:00,8940632.952,0.1554261,0.1554261 +06-04-2019 11:00,8941825.216,0.176083869,0.176083869 +06-04-2019 12:00,8943017.418,0.088313695,0.088313695 +06-04-2019 13:00,8944209.557,0.041886319,0.041886319 +06-04-2019 14:00,8945401.631,0.021922032,0.021922032 +06-04-2019 15:00,8946593.641,0.01900687,0.01900687 +06-04-2019 16:00,8947785.586,0.031530033,0.031530033 +06-04-2019 17:00,8948977.465,0.058327435,0.058327435 +06-04-2019 18:00,8950169.278,0.07661104,0.07661104 +06-04-2019 19:00,8951361.024,0.104726142,0.104726142 +06-04-2019 20:00,8952552.702,0.102530837,0.102530837 +06-04-2019 21:00,8953744.312,0.074213179,0.074213179 +06-04-2019 22:00,8954935.854,0.038189214,0.038189214 +06-04-2019 23:00,8956127.326,0.013783587,0.013783587 +07-04-2019 0:00,8957318.727,0.004888114,0.004888114 +07-04-2019 1:00,8958510.059,0.001365481,0.001365481 +07-04-2019 2:00,8959701.318,0.001636124,0.001636124 +07-04-2019 3:00,8960892.507,0.003893384,0.003893384 +07-04-2019 4:00,8962083.622,0.023079688,0.023079688 +07-04-2019 5:00,8963274.665,0.091063758,0.091063758 +07-04-2019 6:00,8964465.633,0.109643347,0.109643347 +07-04-2019 7:00,8965656.528,0.092552488,0.092552488 +07-04-2019 8:00,8966847.347,0.112482079,0.112482079 +07-04-2019 9:00,8968038.091,0.092211971,0.092211971 +07-04-2019 10:00,8969228.759,0.049549333,0.049549333 +07-04-2019 11:00,8970419.35,0.03911469,0.03911469 +07-04-2019 12:00,8971609.864,0.029437006,0.029437006 +07-04-2019 13:00,8972800.299,0.022248851,0.022248851 +07-04-2019 14:00,8973990.656,0.016696648,0.016696648 +07-04-2019 15:00,8975180.934,0.018783729,0.018783729 +07-04-2019 16:00,8976371.132,0.030610522,0.030610522 +07-04-2019 17:00,8977561.25,0.055138478,0.055138478 +07-04-2019 18:00,8978751.286,0.057266402,0.057266402 +07-04-2019 19:00,8979941.241,0.050780958,0.050780958 +07-04-2019 20:00,8981131.113,0.043590078,0.043590078 +07-04-2019 21:00,8982320.903,0.032073439,0.032073439 +07-04-2019 22:00,8983510.609,0.017100148,0.017100148 +07-04-2019 23:00,8984700.231,0.006662714,0.006662714 +08-04-2019 0:00,8985889.768,0.003381948,0.003381948 +08-04-2019 1:00,8987079.22,0.000894235,0.000894235 +08-04-2019 2:00,8988268.586,0.000695694,0.000695694 +08-04-2019 3:00,8989457.866,0.001588496,0.001588496 +08-04-2019 4:00,8990647.058,0.006679002,0.006679002 +08-04-2019 5:00,8991836.162,0.050485529,0.050485529 +08-04-2019 6:00,8993025.178,0.070497221,0.070497221 +08-04-2019 7:00,8994214.105,0.051395054,0.051395054 +08-04-2019 8:00,8995402.943,0.059592598,0.059592598 +08-04-2019 9:00,8996591.69,0.043295996,0.043295996 +08-04-2019 10:00,8997780.346,0.037356711,0.037356711 +08-04-2019 11:00,8998968.911,0.031308123,0.031308123 +08-04-2019 12:00,9000157.384,0.025044973,0.025044973 +08-04-2019 13:00,9001345.764,0.021566504,0.021566504 +08-04-2019 14:00,9002534.051,0.016696648,0.016696648 +08-04-2019 15:00,9003722.244,0.018783729,0.018783729 +08-04-2019 16:00,9004910.342,0.030610522,0.030610522 +08-04-2019 17:00,9006098.345,0.054264107,0.054264107 +08-04-2019 18:00,9007286.253,0.055170722,0.055170722 +08-04-2019 19:00,9008474.064,0.049398852,0.049398852 +08-04-2019 20:00,9009661.778,0.0412991,0.0412991 +08-04-2019 21:00,9010849.395,0.028806518,0.028806518 +08-04-2019 22:00,9012036.913,0.013913874,0.013913874 +08-04-2019 23:00,9013224.333,0.004869856,0.004869856 +09-04-2019 0:00,9014411.653,0.002782775,0.002782775 +09-04-2019 1:00,9015598.873,0.000695694,0.000695694 +09-04-2019 2:00,9016785.993,0.000695694,0.000695694 +09-04-2019 3:00,9017973.011,0.001391387,0.001391387 +09-04-2019 4:00,9019159.927,0.005146048,0.005146048 +09-04-2019 5:00,9020346.741,0.040829046,0.040829046 +09-04-2019 6:00,9021533.452,0.068734372,0.068734372 +09-04-2019 7:00,9022720.06,0.050754155,0.050754155 +09-04-2019 8:00,9023906.563,0.060830064,0.060830064 +09-04-2019 9:00,9025092.961,0.044186405,0.044186405 +09-04-2019 10:00,9026279.253,0.038406059,0.038406059 +09-04-2019 11:00,9027465.44,0.032688958,0.032688958 +09-04-2019 12:00,9028651.52,0.027930231,0.027930231 +09-04-2019 13:00,9029837.492,0.021572145,0.021572145 +09-04-2019 14:00,9031023.356,0.016696648,0.016696648 +09-04-2019 15:00,9032209.112,0.018783729,0.018783729 +09-04-2019 16:00,9033394.759,0.030610522,0.030610522 +09-04-2019 17:00,9034580.296,0.054964075,0.054964075 +09-04-2019 18:00,9035765.722,0.0571246,0.0571246 +09-04-2019 19:00,9036951.038,0.050485661,0.050485661 +09-04-2019 20:00,9038136.242,0.041643,0.041643 +09-04-2019 21:00,9039321.333,0.028947856,0.028947856 +09-04-2019 22:00,9040506.312,0.014904326,0.014904326 +09-04-2019 23:00,9041691.178,0.005902896,0.005902896 +10-04-2019 0:00,9042875.929,0.003216469,0.003216469 +10-04-2019 1:00,9044060.566,0.000695694,0.000695694 +10-04-2019 2:00,9045245.087,0.000886178,0.000886178 +10-04-2019 3:00,9046429.493,0.001703365,0.001703365 +10-04-2019 4:00,9047613.782,0.006034576,0.006034576 +10-04-2019 5:00,9048797.954,0.051093044,0.051093044 +10-04-2019 6:00,9049982.008,0.070586409,0.070586409 +10-04-2019 7:00,9051165.944,0.051880113,0.051880113 +10-04-2019 8:00,9052349.761,0.060212854,0.060212854 +10-04-2019 9:00,9053533.458,0.043384939,0.043384939 +10-04-2019 10:00,9054717.035,0.03748867,0.03748867 +10-04-2019 11:00,9055900.492,0.031663986,0.031663986 +10-04-2019 12:00,9057083.827,0.025535168,0.025535168 +10-04-2019 13:00,9058267.04,0.021566504,0.021566504 +10-04-2019 14:00,9059450.131,0.016696648,0.016696648 +10-04-2019 15:00,9060633.099,0.018783729,0.018783729 +10-04-2019 16:00,9061815.942,0.030610522,0.030610522 +10-04-2019 17:00,9062998.662,0.054264107,0.054264107 +10-04-2019 18:00,9064181.256,0.055252755,0.055252755 +10-04-2019 19:00,9065363.724,0.049922368,0.049922368 +10-04-2019 20:00,9066546.067,0.041459475,0.041459475 +10-04-2019 21:00,9067728.282,0.02896096,0.02896096 +10-04-2019 22:00,9068910.371,0.013913874,0.013913874 +10-04-2019 23:00,9070092.331,0.004869856,0.004869856 +11-04-2019 0:00,9071274.162,0.002821346,0.002821346 +11-04-2019 1:00,9072455.864,0.001039929,0.001039929 +11-04-2019 2:00,9073637.436,0.001392657,0.001392657 +11-04-2019 3:00,9074818.878,0.002097596,0.002097596 +11-04-2019 4:00,9076000.189,0.006492389,0.006492389 +11-04-2019 5:00,9077181.368,0.042607031,0.042607031 +11-04-2019 6:00,9078362.414,0.070739806,0.070739806 +11-04-2019 7:00,9079543.328,0.050680878,0.050680878 +11-04-2019 8:00,9080724.108,0.060666097,0.060666097 +11-04-2019 9:00,9081904.754,0.04358388,0.04358388 +11-04-2019 10:00,9083085.266,0.03763621,0.03763621 +11-04-2019 11:00,9084265.642,0.032290684,0.032290684 +11-04-2019 12:00,9085445.882,0.027202954,0.027202954 +11-04-2019 13:00,9086625.985,0.021566504,0.021566504 +11-04-2019 14:00,9087805.952,0.016696648,0.016696648 +11-04-2019 15:00,9088985.78,0.018805016,0.018805016 +11-04-2019 16:00,9090165.47,0.030622837,0.030622837 +11-04-2019 17:00,9091345.022,0.055810257,0.055810257 +11-04-2019 18:00,9092524.433,0.057854827,0.057854827 +11-04-2019 19:00,9093703.705,0.050782304,0.050782304 +11-04-2019 20:00,9094882.835,0.042005922,0.042005922 +11-04-2019 21:00,9096061.824,0.028986923,0.028986923 +11-04-2019 22:00,9097240.671,0.013974099,0.013974099 +11-04-2019 23:00,9098419.376,0.0056808,0.0056808 +12-04-2019 0:00,9099597.937,0.003595054,0.003595054 +12-04-2019 1:00,9100776.355,0.001439883,0.001439883 +12-04-2019 2:00,9101954.627,0.001446745,0.001446745 +12-04-2019 3:00,9103132.755,0.002089597,0.002089597 +12-04-2019 4:00,9104310.738,0.009541723,0.009541723 +12-04-2019 5:00,9105488.574,0.059982088,0.059982088 +12-04-2019 6:00,9106666.263,0.076374924,0.076374924 +12-04-2019 7:00,9107843.804,0.055977878,0.055977878 +12-04-2019 8:00,9109021.198,0.063349203,0.063349203 +12-04-2019 9:00,9110198.443,0.047123812,0.047123812 +12-04-2019 10:00,9111375.538,0.040049374,0.040049374 +12-04-2019 11:00,9112552.484,0.039292272,0.039292272 +12-04-2019 12:00,9113729.279,0.031098473,0.031098473 +12-04-2019 13:00,9114905.923,0.023057635,0.023057635 +12-04-2019 14:00,9116082.416,0.017370876,0.017370876 +12-04-2019 15:00,9117258.756,0.01881565,0.01881565 +12-04-2019 16:00,9118434.943,0.030677832,0.030677832 +12-04-2019 17:00,9119610.976,0.056913114,0.056913114 +12-04-2019 18:00,9120786.856,0.059448572,0.059448572 +12-04-2019 19:00,9121962.58,0.063688005,0.063688005 +12-04-2019 20:00,9123138.15,0.068755789,0.068755789 +12-04-2019 21:00,9124313.563,0.042407653,0.042407653 +12-04-2019 22:00,9125488.82,0.020344323,0.020344323 +12-04-2019 23:00,9126663.919,0.008270029,0.008270029 +13-04-2019 0:00,9127838.861,0.004917301,0.004917301 +13-04-2019 1:00,9129013.645,0.002589996,0.002589996 +13-04-2019 2:00,9130188.269,0.002821117,0.002821117 +13-04-2019 3:00,9131362.734,0.006867579,0.006867579 +13-04-2019 4:00,9132537.039,0.034623356,0.034623356 +13-04-2019 5:00,9133711.183,0.108239907,0.108239907 +13-04-2019 6:00,9134885.166,0.100881781,0.100881781 +13-04-2019 7:00,9136058.986,0.057542924,0.057542924 +13-04-2019 8:00,9137232.644,0.064879183,0.064879183 +13-04-2019 9:00,9138406.139,0.048234016,0.048234016 +13-04-2019 10:00,9139579.47,0.045095181,0.045095181 +13-04-2019 11:00,9140752.637,0.044288516,0.044288516 +13-04-2019 12:00,9141925.638,0.035877234,0.035877234 +13-04-2019 13:00,9143098.474,0.024702864,0.024702864 +13-04-2019 14:00,9144271.144,0.018330426,0.018330426 +13-04-2019 15:00,9145443.647,0.019886747,0.019886747 +13-04-2019 16:00,9146615.982,0.032103414,0.032103414 +13-04-2019 17:00,9147788.15,0.06343498,0.06343498 +13-04-2019 18:00,9148960.148,0.104012572,0.104012572 +13-04-2019 19:00,9150131.978,0.105873108,0.105873108 +13-04-2019 20:00,9151303.638,0.083303608,0.083303608 +13-04-2019 21:00,9152475.127,0.050381925,0.050381925 +13-04-2019 22:00,9153646.445,0.032704711,0.032704711 +13-04-2019 23:00,9154817.592,0.01674059,0.01674059 +14-04-2019 0:00,9155988.566,0.007466889,0.007466889 +14-04-2019 1:00,9157159.368,0.003255369,0.003255369 +14-04-2019 2:00,9158329.996,0.00358503,0.00358503 +14-04-2019 3:00,9159500.45,0.009416624,0.009416624 +14-04-2019 4:00,9160670.729,0.051757059,0.051757059 +14-04-2019 5:00,9161840.833,0.166447034,0.166447034 +14-04-2019 6:00,9163010.761,0.15703612,0.15703612 +14-04-2019 7:00,9164180.513,0.128210023,0.128210023 +14-04-2019 8:00,9165350.088,0.109571645,0.109571645 +14-04-2019 9:00,9166519.485,0.060004017,0.060004017 +14-04-2019 10:00,9167688.703,0.04837555,0.04837555 +14-04-2019 11:00,9168857.743,0.052827993,0.052827993 +14-04-2019 12:00,9170026.604,0.033855128,0.033855128 +14-04-2019 13:00,9171195.284,0.022973961,0.022973961 +14-04-2019 14:00,9172363.784,0.016794238,0.016794238 +14-04-2019 15:00,9173532.102,0.018783729,0.018783729 +14-04-2019 16:00,9174700.238,0.030749892,0.030749892 +14-04-2019 17:00,9175868.192,0.056968368,0.056968368 +14-04-2019 18:00,9177035.963,0.059107559,0.059107559 +14-04-2019 19:00,9178203.551,0.053095012,0.053095012 +14-04-2019 20:00,9179370.953,0.063422102,0.063422102 +14-04-2019 21:00,9180538.172,0.04395817,0.04395817 +14-04-2019 22:00,9181705.204,0.02182801,0.02182801 +14-04-2019 23:00,9182872.051,0.009106011,0.009106011 +15-04-2019 0:00,9184038.71,0.005496358,0.005496358 +15-04-2019 1:00,9185205.183,0.002860546,0.002860546 +15-04-2019 2:00,9186371.468,0.003048615,0.003048615 +15-04-2019 3:00,9187537.564,0.007460413,0.007460413 +15-04-2019 4:00,9188703.471,0.03925313,0.03925313 +15-04-2019 5:00,9189869.188,0.118613358,0.118613358 +15-04-2019 6:00,9191034.715,0.119271439,0.119271439 +15-04-2019 7:00,9192200.052,0.075238694,0.075238694 +15-04-2019 8:00,9193365.196,0.072660459,0.072660459 +15-04-2019 9:00,9194530.149,0.053249429,0.053249429 +15-04-2019 10:00,9195694.909,0.048311283,0.048311283 +15-04-2019 11:00,9196859.476,0.045100111,0.045100111 +15-04-2019 12:00,9198023.849,0.031805569,0.031805569 +15-04-2019 13:00,9199188.027,0.023414921,0.023414921 +15-04-2019 14:00,9200352.01,0.016696648,0.016696648 +15-04-2019 15:00,9201515.798,0.018783729,0.018783729 +15-04-2019 16:00,9202679.389,0.030610522,0.030610522 +15-04-2019 17:00,9203842.784,0.054367207,0.054367207 +15-04-2019 18:00,9205005.981,0.057257745,0.057257745 +15-04-2019 19:00,9206168.98,0.050575113,0.050575113 +15-04-2019 20:00,9207331.78,0.042155032,0.042155032 +15-04-2019 21:00,9208494.381,0.030580346,0.030580346 +15-04-2019 22:00,9209656.782,0.017791773,0.017791773 +15-04-2019 23:00,9210818.983,0.006622327,0.006622327 +16-04-2019 0:00,9211980.982,0.003845922,0.003845922 +16-04-2019 1:00,9213142.78,0.001886819,0.001886819 +16-04-2019 2:00,9214304.376,0.001541982,0.001541982 +16-04-2019 3:00,9215465.769,0.003671562,0.003671562 +16-04-2019 4:00,9216626.958,0.01766395,0.01766395 +16-04-2019 5:00,9217787.943,0.074282931,0.074282931 +16-04-2019 6:00,9218948.724,0.076403027,0.076403027 +16-04-2019 7:00,9220109.299,0.058652767,0.058652767 +16-04-2019 8:00,9221269.669,0.070316179,0.070316179 +16-04-2019 9:00,9222429.832,0.060854767,0.060854767 +16-04-2019 10:00,9223589.788,0.051807493,0.051807493 +16-04-2019 11:00,9224749.537,0.040447617,0.040447617 +16-04-2019 12:00,9225909.077,0.031929285,0.031929285 +16-04-2019 13:00,9227068.409,0.023005004,0.023005004 +16-04-2019 14:00,9228227.531,0.016911859,0.016911859 +16-04-2019 15:00,9229386.443,0.018808113,0.018808113 +16-04-2019 16:00,9230545.144,0.030884655,0.030884655 +16-04-2019 17:00,9231703.634,0.05652512,0.05652512 +16-04-2019 18:00,9232861.913,0.058568634,0.058568634 +16-04-2019 19:00,9234019.978,0.054077798,0.054077798 +16-04-2019 20:00,9235177.831,0.055125544,0.055125544 +16-04-2019 21:00,9236335.471,0.038397176,0.038397176 +16-04-2019 22:00,9237492.896,0.019329914,0.019329914 +16-04-2019 23:00,9238650.106,0.00740184,0.00740184 +17-04-2019 0:00,9239807.102,0.003507908,0.003507908 +17-04-2019 1:00,9240963.881,0.001155179,0.001155179 +17-04-2019 2:00,9242120.443,0.00139156,0.00139156 +17-04-2019 3:00,9243276.788,0.002969042,0.002969042 +17-04-2019 4:00,9244432.916,0.01429973,0.01429973 +17-04-2019 5:00,9245588.825,0.066588354,0.066588354 +17-04-2019 6:00,9246744.515,0.082480007,0.082480007 +17-04-2019 7:00,9247899.986,0.06250685,0.06250685 +17-04-2019 8:00,9249055.237,0.070773888,0.070773888 +17-04-2019 9:00,9250210.267,0.05672642,0.05672642 +17-04-2019 10:00,9251365.075,0.049748605,0.049748605 +17-04-2019 11:00,9252519.662,0.044152435,0.044152435 +17-04-2019 12:00,9253674.026,0.032042741,0.032042741 +17-04-2019 13:00,9254828.167,0.022735975,0.022735975 +17-04-2019 14:00,9255982.084,0.016839523,0.016839523 +17-04-2019 15:00,9257135.777,0.018783729,0.018783729 +17-04-2019 16:00,9258289.245,0.030721633,0.030721633 +17-04-2019 17:00,9259442.488,0.056061651,0.056061651 +17-04-2019 18:00,9260595.504,0.058007673,0.058007673 +17-04-2019 19:00,9261748.294,0.0518866,0.0518866 +17-04-2019 20:00,9262900.857,0.051070911,0.051070911 +17-04-2019 21:00,9264053.192,0.036572731,0.036572731 +17-04-2019 22:00,9265205.298,0.017952997,0.017952997 +17-04-2019 23:00,9266357.175,0.006747678,0.006747678 +18-04-2019 0:00,9267508.823,0.003286003,0.003286003 +18-04-2019 1:00,9268660.24,0.000872141,0.000872141 +18-04-2019 2:00,9269811.427,0.000695694,0.000695694 +18-04-2019 3:00,9270962.382,0.001628653,0.001628653 +18-04-2019 4:00,9272113.105,0.006497091,0.006497091 +18-04-2019 5:00,9273263.596,0.046245363,0.046245363 +18-04-2019 6:00,9274413.853,0.069009715,0.069009715 +18-04-2019 7:00,9275563.877,0.050313027,0.050313027 +18-04-2019 8:00,9276713.666,0.059149792,0.059149792 +18-04-2019 9:00,9277863.22,0.043146943,0.043146943 +18-04-2019 10:00,9279012.539,0.037178892,0.037178892 +18-04-2019 11:00,9280161.622,0.031306216,0.031306216 +18-04-2019 12:00,9281310.468,0.025044973,0.025044973 +18-04-2019 13:00,9282459.076,0.021566504,0.021566504 +18-04-2019 14:00,9283607.447,0.016696648,0.016696648 +18-04-2019 15:00,9284755.579,0.018783729,0.018783729 +18-04-2019 16:00,9285903.472,0.030610522,0.030610522 +18-04-2019 17:00,9287051.125,0.054264107,0.054264107 +18-04-2019 18:00,9288198.538,0.054959801,0.054959801 +18-04-2019 19:00,9289345.711,0.048698558,0.048698558 +18-04-2019 20:00,9290492.641,0.040350234,0.040350234 +18-04-2019 21:00,9291639.33,0.028523441,0.028523441 +18-04-2019 22:00,9292785.776,0.013913874,0.013913874 +18-04-2019 23:00,9293931.979,0.004869856,0.004869856 +19-04-2019 0:00,9295077.938,0.002782775,0.002782775 +19-04-2019 1:00,9296223.652,0.000695694,0.000695694 +19-04-2019 2:00,9297369.122,0.000695694,0.000695694 +19-04-2019 3:00,9298514.346,0.001391387,0.001391387 +19-04-2019 4:00,9299659.324,0.004869856,0.004869856 +19-04-2019 5:00,9300804.055,0.039916968,0.039916968 +19-04-2019 6:00,9301948.538,0.065434389,0.065434389 +19-04-2019 7:00,9303092.774,0.050374494,0.050374494 +19-04-2019 8:00,9304236.761,0.059133963,0.059133963 +19-04-2019 9:00,9305380.5,0.042841189,0.042841189 +19-04-2019 10:00,9306523.988,0.036871765,0.036871765 +19-04-2019 11:00,9307667.226,0.031306216,0.031306216 +19-04-2019 12:00,9308810.213,0.025044973,0.025044973 +19-04-2019 13:00,9309952.949,0.021566504,0.021566504 +19-04-2019 14:00,9311095.433,0.016696648,0.016696648 +19-04-2019 15:00,9312237.664,0.018783729,0.018783729 +19-04-2019 16:00,9313379.641,0.030610522,0.030610522 +19-04-2019 17:00,9314521.365,0.054264107,0.054264107 +19-04-2019 18:00,9315662.835,0.054959801,0.054959801 +19-04-2019 19:00,9316804.05,0.048698558,0.048698558 +19-04-2019 20:00,9317945.009,0.040350234,0.040350234 +19-04-2019 21:00,9319085.711,0.028523441,0.028523441 +19-04-2019 22:00,9320226.157,0.013913874,0.013913874 +19-04-2019 23:00,9321366.346,0.004869856,0.004869856 +20-04-2019 0:00,9322506.277,0.002782775,0.002782775 +20-04-2019 1:00,9323645.949,0.000695694,0.000695694 +20-04-2019 2:00,9324785.362,0.000695694,0.000695694 +20-04-2019 3:00,9325924.516,0.001391387,0.001391387 +20-04-2019 4:00,9327063.409,0.004869856,0.004869856 +20-04-2019 5:00,9328202.041,0.038958846,0.038958846 +20-04-2019 6:00,9329340.412,0.064699512,0.064699512 +20-04-2019 7:00,9330478.521,0.050089945,0.050089945 +20-04-2019 8:00,9331616.367,0.059133963,0.059133963 +20-04-2019 9:00,9332753.95,0.042437315,0.042437315 +20-04-2019 10:00,9333891.269,0.036871765,0.036871765 +20-04-2019 11:00,9335028.324,0.031306216,0.031306216 +20-04-2019 12:00,9336165.114,0.025044973,0.025044973 +20-04-2019 13:00,9337301.638,0.021566504,0.021566504 +20-04-2019 14:00,9338437.896,0.016696648,0.016696648 +20-04-2019 15:00,9339573.888,0.018783729,0.018783729 +20-04-2019 16:00,9340709.612,0.030610522,0.030610522 +20-04-2019 17:00,9341845.068,0.054264107,0.054264107 +20-04-2019 18:00,9342980.256,0.054959801,0.054959801 +20-04-2019 19:00,9344115.175,0.048698558,0.048698558 +20-04-2019 20:00,9345249.824,0.040350234,0.040350234 +20-04-2019 21:00,9346384.203,0.028523441,0.028523441 +20-04-2019 22:00,9347518.311,0.013913874,0.013913874 +20-04-2019 23:00,9348652.148,0.004869856,0.004869856 +21-04-2019 0:00,9349785.712,0.002782775,0.002782775 +21-04-2019 1:00,9350919.005,0.000695694,0.000695694 +21-04-2019 2:00,9352052.024,0.000695694,0.000695694 +21-04-2019 3:00,9353184.769,0.001391387,0.001391387 +21-04-2019 4:00,9354317.24,0.004869856,0.004869856 +21-04-2019 5:00,9355449.436,0.038958846,0.038958846 +21-04-2019 6:00,9356581.357,0.064699512,0.064699512 +21-04-2019 7:00,9357713.001,0.050089945,0.050089945 +21-04-2019 8:00,9358844.369,0.059133963,0.059133963 +21-04-2019 9:00,9359975.46,0.042437315,0.042437315 +21-04-2019 10:00,9361106.273,0.036871765,0.036871765 +21-04-2019 11:00,9362236.808,0.031306216,0.031306216 +21-04-2019 12:00,9363367.064,0.025044973,0.025044973 +21-04-2019 13:00,9364497.04,0.021566504,0.021566504 +21-04-2019 14:00,9365626.736,0.016696648,0.016696648 +21-04-2019 15:00,9366756.151,0.018783729,0.018783729 +21-04-2019 16:00,9367885.285,0.030610522,0.030610522 +21-04-2019 17:00,9369014.137,0.054264107,0.054264107 +21-04-2019 18:00,9370142.707,0.054959801,0.054959801 +21-04-2019 19:00,9371270.993,0.048698558,0.048698558 +21-04-2019 20:00,9372398.996,0.040350234,0.040350234 +21-04-2019 21:00,9373526.715,0.028523441,0.028523441 +21-04-2019 22:00,9374654.149,0.013913874,0.013913874 +21-04-2019 23:00,9375781.298,0.004869856,0.004869856 +22-04-2019 0:00,9376908.161,0.002782775,0.002782775 +22-04-2019 1:00,9378034.737,0.000695694,0.000695694 +22-04-2019 2:00,9379161.027,0.000695694,0.000695694 +22-04-2019 3:00,9380287.028,0.001391387,0.001391387 +22-04-2019 4:00,9381412.741,0.004869856,0.004869856 +22-04-2019 5:00,9382538.166,0.038958846,0.038958846 +22-04-2019 6:00,9383663.301,0.064699512,0.064699512 +22-04-2019 7:00,9384788.146,0.050089945,0.050089945 +22-04-2019 8:00,9385912.701,0.059133963,0.059133963 +22-04-2019 9:00,9387036.964,0.042437315,0.042437315 +22-04-2019 10:00,9388160.936,0.036871765,0.036871765 +22-04-2019 11:00,9389284.615,0.031306216,0.031306216 +22-04-2019 12:00,9390408.002,0.025044973,0.025044973 +22-04-2019 13:00,9391531.095,0.021566504,0.021566504 +22-04-2019 14:00,9392653.894,0.016696648,0.016696648 +22-04-2019 15:00,9393776.398,0.018783729,0.018783729 +22-04-2019 16:00,9394898.608,0.030610522,0.030610522 +22-04-2019 17:00,9396020.521,0.054264107,0.054264107 +22-04-2019 18:00,9397142.138,0.054959801,0.054959801 +22-04-2019 19:00,9398263.459,0.048698558,0.048698558 +22-04-2019 20:00,9399384.481,0.040350234,0.040350234 +22-04-2019 21:00,9400505.206,0.028523441,0.028523441 +22-04-2019 22:00,9401625.632,0.013913874,0.013913874 +22-04-2019 23:00,9402745.759,0.004869856,0.004869856 +23-04-2019 0:00,9403865.586,0.002782775,0.002782775 +23-04-2019 1:00,9404985.112,0.000695694,0.000695694 +23-04-2019 2:00,9406104.338,0.000695694,0.000695694 +23-04-2019 3:00,9407223.262,0.001391387,0.001391387 +23-04-2019 4:00,9408341.884,0.004869856,0.004869856 +23-04-2019 5:00,9409460.204,0.038958846,0.038958846 +23-04-2019 6:00,9410578.22,0.064699512,0.064699512 +23-04-2019 7:00,9411695.932,0.050089945,0.050089945 +23-04-2019 8:00,9412813.34,0.059133963,0.059133963 +23-04-2019 9:00,9413930.443,0.042437315,0.042437315 +23-04-2019 10:00,9415047.24,0.036871765,0.036871765 +23-04-2019 11:00,9416163.731,0.031306216,0.031306216 +23-04-2019 12:00,9417279.916,0.025044973,0.025044973 +23-04-2019 13:00,9418395.793,0.021566504,0.021566504 +23-04-2019 14:00,9419511.363,0.016696648,0.016696648 +23-04-2019 15:00,9420626.624,0.018783729,0.018783729 +23-04-2019 16:00,9421741.575,0.030610522,0.030610522 +23-04-2019 17:00,9422856.218,0.054264107,0.054264107 +23-04-2019 18:00,9423970.55,0.054959801,0.054959801 +23-04-2019 19:00,9425084.572,0.048698558,0.048698558 +23-04-2019 20:00,9426198.282,0.040350234,0.040350234 +23-04-2019 21:00,9427311.68,0.028523441,0.028523441 +23-04-2019 22:00,9428424.766,0.013913874,0.013913874 +23-04-2019 23:00,9429537.539,0.004869856,0.004869856 +24-04-2019 0:00,9430649.999,0.002782775,0.002782775 +24-04-2019 1:00,9431762.144,0.000695694,0.000695694 +24-04-2019 2:00,9432873.974,0.000695694,0.000695694 +24-04-2019 3:00,9433985.489,0.001391387,0.001391387 +24-04-2019 4:00,9435096.689,0.004869856,0.004869856 +24-04-2019 5:00,9436207.571,0.038958846,0.038958846 +24-04-2019 6:00,9437318.137,0.064699512,0.064699512 +24-04-2019 7:00,9438428.386,0.050089945,0.050089945 +24-04-2019 8:00,9439538.316,0.059133963,0.059133963 +24-04-2019 9:00,9440647.927,0.042437315,0.042437315 +24-04-2019 10:00,9441757.219,0.036871765,0.036871765 +24-04-2019 11:00,9442866.191,0.031306216,0.031306216 +24-04-2019 12:00,9443974.843,0.025044973,0.025044973 +24-04-2019 13:00,9445083.174,0.021566504,0.021566504 +24-04-2019 14:00,9446191.183,0.016696648,0.016696648 +24-04-2019 15:00,9447298.87,0.018783729,0.018783729 +24-04-2019 16:00,9448406.234,0.030610522,0.030610522 +24-04-2019 17:00,9449513.275,0.054264107,0.054264107 +24-04-2019 18:00,9450619.992,0.054959801,0.054959801 +24-04-2019 19:00,9451726.385,0.048698558,0.048698558 +24-04-2019 20:00,9452832.453,0.040350234,0.040350234 +24-04-2019 21:00,9453938.195,0.028523441,0.028523441 +24-04-2019 22:00,9455043.611,0.013913874,0.013913874 +24-04-2019 23:00,9456148.7,0.004869856,0.004869856 +25-04-2019 0:00,9457253.462,0.002782775,0.002782775 +25-04-2019 1:00,9458357.897,0.000695694,0.000695694 +25-04-2019 2:00,9459462.002,0.000695694,0.000695694 +25-04-2019 3:00,9460565.779,0.001391387,0.001391387 +25-04-2019 4:00,9461669.227,0.004869856,0.004869856 +25-04-2019 5:00,9462772.344,0.038958846,0.038958846 +25-04-2019 6:00,9463875.13,0.064699512,0.064699512 +25-04-2019 7:00,9464977.585,0.050089945,0.050089945 +25-04-2019 8:00,9466079.709,0.059133963,0.059133963 +25-04-2019 9:00,9467181.5,0.042437315,0.042437315 +25-04-2019 10:00,9468282.958,0.036871765,0.036871765 +25-04-2019 11:00,9469384.083,0.031306216,0.031306216 +25-04-2019 12:00,9470484.873,0.025044973,0.025044973 +25-04-2019 13:00,9471585.329,0.021566504,0.021566504 +25-04-2019 14:00,9472685.45,0.016696648,0.016696648 +25-04-2019 15:00,9473785.234,0.018783729,0.018783729 +25-04-2019 16:00,9474884.683,0.030610522,0.030610522 +25-04-2019 17:00,9475983.794,0.054264107,0.054264107 +25-04-2019 18:00,9477082.569,0.054959801,0.054959801 +25-04-2019 19:00,9478181.005,0.048698558,0.048698558 +25-04-2019 20:00,9479279.102,0.040350234,0.040350234 +25-04-2019 21:00,9480376.86,0.028523441,0.028523441 +25-04-2019 22:00,9481474.279,0.013913874,0.013913874 +25-04-2019 23:00,9482571.357,0.004869856,0.004869856 +26-04-2019 0:00,9483668.095,0.002782775,0.002782775 +26-04-2019 1:00,9484764.49,0.000695694,0.000695694 +26-04-2019 2:00,9485860.544,0.000695694,0.000695694 +26-04-2019 3:00,9486956.256,0.001391387,0.001391387 +26-04-2019 4:00,9488051.624,0.004869856,0.004869856 +26-04-2019 5:00,9489146.649,0.038958846,0.038958846 +26-04-2019 6:00,9490241.329,0.064699512,0.064699512 +26-04-2019 7:00,9491335.665,0.050089945,0.050089945 +26-04-2019 8:00,9492429.655,0.059133963,0.059133963 +26-04-2019 9:00,9493523.299,0.042437315,0.042437315 +26-04-2019 10:00,9494616.597,0.036871765,0.036871765 +26-04-2019 11:00,9495709.547,0.031306216,0.031306216 +26-04-2019 12:00,9496802.15,0.025044973,0.025044973 +26-04-2019 13:00,9497894.405,0.021566504,0.021566504 +26-04-2019 14:00,9498986.311,0.016696648,0.016696648 +26-04-2019 15:00,9500077.868,0.018783729,0.018783729 +26-04-2019 16:00,9501169.075,0.030610522,0.030610522 +26-04-2019 17:00,9502259.931,0.054264107,0.054264107 +26-04-2019 18:00,9503350.437,0.054959801,0.054959801 +26-04-2019 19:00,9504440.591,0.048698558,0.048698558 +26-04-2019 20:00,9505530.393,0.040350234,0.040350234 +26-04-2019 21:00,9506619.842,0.028523441,0.028523441 +26-04-2019 22:00,9507708.938,0.013913874,0.013913874 +26-04-2019 23:00,9508797.68,0.004869856,0.004869856 +27-04-2019 0:00,9509886.067,0.002782775,0.002782775 +27-04-2019 1:00,9510974.1,0.000695694,0.000695694 +27-04-2019 2:00,9512061.777,0.000695694,0.000695694 +27-04-2019 3:00,9513149.099,0.001391387,0.001391387 +27-04-2019 4:00,9514236.063,0.004869856,0.004869856 +27-04-2019 5:00,9515322.671,0.038958846,0.038958846 +27-04-2019 6:00,9516408.921,0.064699512,0.064699512 +27-04-2019 7:00,9517494.812,0.050089945,0.050089945 +27-04-2019 8:00,9518580.345,0.059133963,0.059133963 +27-04-2019 9:00,9519665.518,0.042437315,0.042437315 +27-04-2019 10:00,9520750.332,0.036871765,0.036871765 +27-04-2019 11:00,9521834.785,0.031306216,0.031306216 +27-04-2019 12:00,9522918.876,0.025044973,0.025044973 +27-04-2019 13:00,9524002.607,0.021566504,0.021566504 +27-04-2019 14:00,9525085.975,0.016696648,0.016696648 +27-04-2019 15:00,9526168.98,0.018783729,0.018783729 +27-04-2019 16:00,9527251.622,0.030610522,0.030610522 +27-04-2019 17:00,9528333.9,0.054264107,0.054264107 +27-04-2019 18:00,9529415.814,0.054959801,0.054959801 +27-04-2019 19:00,9530497.362,0.048698558,0.048698558 +27-04-2019 20:00,9531578.546,0.040350234,0.040350234 +27-04-2019 21:00,9532659.363,0.028523441,0.028523441 +27-04-2019 22:00,9533739.813,0.013913874,0.013913874 +27-04-2019 23:00,9534819.897,0.004869856,0.004869856 +28-04-2019 0:00,9535899.612,0.002782775,0.002782775 +28-04-2019 1:00,9536978.959,0.000695694,0.000695694 +28-04-2019 2:00,9538057.938,0.000695694,0.000695694 +28-04-2019 3:00,9539136.547,0.001391387,0.001391387 +28-04-2019 4:00,9540214.786,0.004869856,0.004869856 +28-04-2019 5:00,9541292.654,0.039617081,0.039617081 +28-04-2019 6:00,9542370.152,0.064699512,0.064699512 +28-04-2019 7:00,9543447.277,0.050089945,0.050089945 +28-04-2019 8:00,9544524.031,0.059133963,0.059133963 +28-04-2019 9:00,9545600.412,0.043038662,0.043038662 +28-04-2019 10:00,9546676.42,0.036871765,0.036871765 +28-04-2019 11:00,9547752.053,0.031440703,0.031440703 +28-04-2019 12:00,9548827.313,0.025533836,0.025533836 +28-04-2019 13:00,9549902.197,0.021566504,0.021566504 +28-04-2019 14:00,9550976.706,0.016696648,0.016696648 +28-04-2019 15:00,9552050.839,0.018783729,0.018783729 +28-04-2019 16:00,9553124.595,0.030610522,0.030610522 +28-04-2019 17:00,9554197.974,0.054264107,0.054264107 +28-04-2019 18:00,9555270.975,0.054959801,0.054959801 +28-04-2019 19:00,9556343.598,0.048999878,0.048999878 +28-04-2019 20:00,9557415.843,0.04067475,0.04067475 +28-04-2019 21:00,9558487.707,0.028796541,0.028796541 +28-04-2019 22:00,9559559.192,0.013913874,0.013913874 +28-04-2019 23:00,9560630.297,0.004869856,0.004869856 +29-04-2019 0:00,9561701.02,0.002782775,0.002782775 +29-04-2019 1:00,9562771.362,0.000695694,0.000695694 +29-04-2019 2:00,9563841.322,0.000695694,0.000695694 +29-04-2019 3:00,9564910.899,0.001391387,0.001391387 +29-04-2019 4:00,9565980.093,0.004869856,0.004869856 +29-04-2019 5:00,9567048.903,0.040301437,0.040301437 +29-04-2019 6:00,9568117.329,0.066668795,0.066668795 +29-04-2019 7:00,9569185.37,0.050089945,0.050089945 +29-04-2019 8:00,9570253.025,0.059274291,0.059274291 +29-04-2019 9:00,9571320.294,0.043727558,0.043727558 +29-04-2019 10:00,9572387.177,0.037509783,0.037509783 +29-04-2019 11:00,9573453.673,0.031555738,0.031555738 +29-04-2019 12:00,9574519.781,0.025611963,0.025611963 +29-04-2019 13:00,9575585.502,0.021566504,0.021566504 +29-04-2019 14:00,9576650.833,0.016696648,0.016696648 +29-04-2019 15:00,9577715.775,0.018783729,0.018783729 +29-04-2019 16:00,9578780.327,0.030610522,0.030610522 +29-04-2019 17:00,9579844.489,0.054264107,0.054264107 +29-04-2019 18:00,9580908.26,0.055009093,0.055009093 +29-04-2019 19:00,9581971.64,0.049010928,0.049010928 +29-04-2019 20:00,9583034.627,0.040806038,0.040806038 +29-04-2019 21:00,9584097.222,0.02878226,0.02878226 +29-04-2019 22:00,9585159.424,0.013913874,0.013913874 +29-04-2019 23:00,9586221.232,0.004869856,0.004869856 +30-04-2019 0:00,9587282.646,0.002782775,0.002782775 +30-04-2019 1:00,9588343.666,0.000695694,0.000695694 +30-04-2019 2:00,9589404.29,0.000695694,0.000695694 +30-04-2019 3:00,9590464.518,0.001391387,0.001391387 +30-04-2019 4:00,9591524.35,0.004869856,0.004869856 +30-04-2019 5:00,9592583.785,0.039977566,0.039977566 +30-04-2019 6:00,9593642.822,0.065963506,0.065963506 +30-04-2019 7:00,9594701.462,0.050117612,0.050117612 +30-04-2019 8:00,9595759.703,0.059327613,0.059327613 +30-04-2019 9:00,9596817.544,0.043947634,0.043947634 +30-04-2019 10:00,9597874.987,0.037612081,0.037612081 +30-04-2019 11:00,9598932.029,0.032194399,0.032194399 +30-04-2019 12:00,9599988.67,0.026320107,0.026320107 +30-04-2019 13:00,9601044.91,0.021566504,0.021566504 +30-04-2019 14:00,9602100.748,0.016696648,0.016696648 +30-04-2019 15:00,9603156.184,0.018783729,0.018783729 +30-04-2019 16:00,9604211.217,0.030610522,0.030610522 +30-04-2019 17:00,9605265.846,0.054264107,0.054264107 +30-04-2019 18:00,9606320.072,0.055212252,0.055212252 +30-04-2019 19:00,9607373.893,0.04950075,0.04950075 +30-04-2019 20:00,9608427.308,0.040908785,0.040908785 +30-04-2019 21:00,9609480.319,0.028804541,0.028804541 +30-04-2019 22:00,9610532.923,0.013913874,0.013913874 +30-04-2019 23:00,9611585.12,0.004869856,0.004869856 +01-05-2019 0:00,9612636.91,0.002782775,0.002782775 +01-05-2019 1:00,9613688.293,0.000695694,0.000695694 +01-05-2019 2:00,9614739.267,0.000695694,0.000695694 +01-05-2019 3:00,9615789.832,0.001391387,0.001391387 +01-05-2019 4:00,9616839.988,0.004869856,0.004869856 +01-05-2019 5:00,9617889.734,0.040391283,0.040391283 +01-05-2019 6:00,9618939.069,0.067476087,0.067476087 +01-05-2019 7:00,9619987.993,0.050635831,0.050635831 +01-05-2019 8:00,9621036.506,0.060198985,0.060198985 +01-05-2019 9:00,9622084.607,0.044063351,0.044063351 +01-05-2019 10:00,9623132.295,0.037771574,0.037771574 +01-05-2019 11:00,9624179.57,0.031949929,0.031949929 +01-05-2019 12:00,9625226.431,0.026103618,0.026103618 +01-05-2019 13:00,9626272.878,0.021566504,0.021566504 +01-05-2019 14:00,9627318.91,0.016696648,0.016696648 +01-05-2019 15:00,9628364.526,0.018783729,0.018783729 +01-05-2019 16:00,9629409.727,0.030610522,0.030610522 +01-05-2019 17:00,9630454.512,0.054264107,0.054264107 +01-05-2019 18:00,9631498.879,0.055312707,0.055312707 +01-05-2019 19:00,9632542.829,0.049592628,0.049592628 +01-05-2019 20:00,9633586.361,0.041019852,0.041019852 +01-05-2019 21:00,9634629.475,0.028869787,0.028869787 +01-05-2019 22:00,9635672.169,0.013913874,0.013913874 +01-05-2019 23:00,9636714.444,0.004869856,0.004869856 +02-05-2019 0:00,9637756.299,0.002782775,0.002782775 +02-05-2019 1:00,9638797.733,0.000695694,0.000695694 +02-05-2019 2:00,9639838.745,0.000824158,0.000824158 +02-05-2019 3:00,9640879.336,0.001657642,0.001657642 +02-05-2019 4:00,9641919.505,0.005142284,0.005142284 +02-05-2019 5:00,9642959.25,0.040824184,0.040824184 +02-05-2019 6:00,9643998.573,0.068613272,0.068613272 +02-05-2019 7:00,9645037.471,0.050659578,0.050659578 +02-05-2019 8:00,9646075.945,0.060629258,0.060629258 +02-05-2019 9:00,9647113.994,0.044123592,0.044123592 +02-05-2019 10:00,9648151.617,0.038039552,0.038039552 +02-05-2019 11:00,9649188.815,0.032661901,0.032661901 +02-05-2019 12:00,9650225.586,0.02765742,0.02765742 +02-05-2019 13:00,9651261.929,0.021608945,0.021608945 +02-05-2019 14:00,9652297.845,0.016696648,0.016696648 +02-05-2019 15:00,9653333.333,0.018783729,0.018783729 +02-05-2019 16:00,9654368.392,0.030610522,0.030610522 +02-05-2019 17:00,9655403.022,0.054373946,0.054373946 +02-05-2019 18:00,9656437.223,0.056480053,0.056480053 +02-05-2019 19:00,9657470.992,0.049785124,0.049785124 +02-05-2019 20:00,9658504.331,0.041417806,0.041417806 +02-05-2019 21:00,9659537.239,0.028870423,0.028870423 +02-05-2019 22:00,9660569.715,0.013913874,0.013913874 +02-05-2019 23:00,9661601.758,0.004869856,0.004869856 +03-05-2019 0:00,9662633.368,0.002782775,0.002782775 +03-05-2019 1:00,9663664.545,0.000695694,0.000695694 +03-05-2019 2:00,9664695.288,0.000732333,0.000732333 +03-05-2019 3:00,9665725.596,0.001655144,0.001655144 +03-05-2019 4:00,9666755.469,0.005319417,0.005319417 +03-05-2019 5:00,9667784.906,0.040695073,0.040695073 +03-05-2019 6:00,9668813.908,0.068716111,0.068716111 +03-05-2019 7:00,9669842.472,0.050804945,0.050804945 +03-05-2019 8:00,9670870.6,0.060820972,0.060820972 +03-05-2019 9:00,9671898.289,0.04426619,0.04426619 +03-05-2019 10:00,9672925.541,0.03842846,0.03842846 +03-05-2019 11:00,9673952.354,0.033021042,0.033021042 +03-05-2019 12:00,9674978.727,0.028248689,0.028248689 +03-05-2019 13:00,9676004.66,0.021753137,0.021753137 +03-05-2019 14:00,9677030.153,0.016727281,0.016727281 +03-05-2019 15:00,9678055.206,0.018797666,0.018797666 +03-05-2019 16:00,9679079.816,0.030742752,0.030742752 +03-05-2019 17:00,9680103.985,0.055021075,0.055021075 +03-05-2019 18:00,9681127.711,0.057360978,0.057360978 +03-05-2019 19:00,9682150.995,0.050427015,0.050427015 +03-05-2019 20:00,9683173.834,0.041837983,0.041837983 +03-05-2019 21:00,9684196.23,0.028935756,0.028935756 +03-05-2019 22:00,9685218.181,0.013913874,0.013913874 +03-05-2019 23:00,9686239.687,0.004869856,0.004869856 +04-05-2019 0:00,9687260.747,0.002782775,0.002782775 +04-05-2019 1:00,9688281.361,0.000888411,0.000888411 +04-05-2019 2:00,9689301.529,0.001331778,0.001331778 +04-05-2019 3:00,9690321.249,0.001843955,0.001843955 +04-05-2019 4:00,9691340.521,0.005985248,0.005985248 +04-05-2019 5:00,9692359.346,0.040874172,0.040874172 +04-05-2019 6:00,9693377.721,0.068121673,0.068121673 +04-05-2019 7:00,9694395.647,0.050148697,0.050148697 +04-05-2019 8:00,9695413.123,0.060197052,0.060197052 +04-05-2019 9:00,9696430.149,0.044096509,0.044096509 +04-05-2019 10:00,9697446.724,0.038000397,0.038000397 +04-05-2019 11:00,9698462.848,0.032686103,0.032686103 +04-05-2019 12:00,9699478.519,0.027926164,0.027926164 +04-05-2019 13:00,9700493.739,0.021933122,0.021933122 +04-05-2019 14:00,9701508.505,0.016696648,0.016696648 +04-05-2019 15:00,9702522.817,0.018783729,0.018783729 +04-05-2019 16:00,9703536.676,0.030610522,0.030610522 +04-05-2019 17:00,9704550.08,0.054386089,0.054386089 +04-05-2019 18:00,9705563.029,0.057029227,0.057029227 +04-05-2019 19:00,9706575.523,0.050123224,0.050123224 +04-05-2019 20:00,9707587.56,0.04186999,0.04186999 +04-05-2019 21:00,9708599.141,0.028983424,0.028983424 +04-05-2019 22:00,9709610.265,0.013913874,0.013913874 +04-05-2019 23:00,9710620.93,0.004869856,0.004869856 +05-05-2019 0:00,9711631.138,0.002967993,0.002967993 +05-05-2019 1:00,9712640.887,0.001382966,0.001382966 +05-05-2019 2:00,9713650.177,0.001412763,0.001412763 +05-05-2019 3:00,9714659.007,0.002044511,0.002044511 +05-05-2019 4:00,9715667.377,0.006465375,0.006465375 +05-05-2019 5:00,9716675.286,0.041185544,0.041185544 +05-05-2019 6:00,9717682.734,0.069572965,0.069572965 +05-05-2019 7:00,9718689.719,0.050660554,0.050660554 +05-05-2019 8:00,9719696.243,0.061102655,0.061102655 +05-05-2019 9:00,9720702.304,0.044548801,0.044548801 +05-05-2019 10:00,9721707.901,0.039027644,0.039027644 +05-05-2019 11:00,9722713.034,0.034018329,0.034018329 +05-05-2019 12:00,9723717.703,0.028307011,0.028307011 +05-05-2019 13:00,9724721.908,0.022148493,0.022148493 +05-05-2019 14:00,9725725.646,0.017061384,0.017061384 +05-05-2019 15:00,9726728.919,0.019064038,0.019064038 +05-05-2019 16:00,9727731.725,0.031261377,0.031261377 +05-05-2019 17:00,9728734.064,0.054966811,0.054966811 +05-05-2019 18:00,9729735.936,0.057951716,0.057951716 +05-05-2019 19:00,9730737.34,0.051268838,0.051268838 +05-05-2019 20:00,9731738.275,0.042121533,0.042121533 +05-05-2019 21:00,9732738.741,0.029019368,0.029019368 +05-05-2019 22:00,9733738.737,0.013913874,0.013913874 +05-05-2019 23:00,9734738.264,0.004869856,0.004869856 +06-05-2019 0:00,9735737.32,0.003512888,0.003512888 +06-05-2019 1:00,9736735.904,0.00183726,0.00183726 +06-05-2019 2:00,9737734.017,0.001643567,0.001643567 +06-05-2019 3:00,9738731.658,0.002425895,0.002425895 +06-05-2019 4:00,9739728.827,0.00736554,0.00736554 +06-05-2019 5:00,9740725.522,0.041145503,0.041145503 +06-05-2019 6:00,9741721.743,0.07124371,0.07124371 +06-05-2019 7:00,9742717.491,0.05108084,0.05108084 +06-05-2019 8:00,9743712.763,0.062854872,0.062854872 +06-05-2019 9:00,9744707.561,0.04504404,0.04504404 +06-05-2019 10:00,9745701.882,0.039649465,0.039649465 +06-05-2019 11:00,9746695.728,0.034334909,0.034334909 +06-05-2019 12:00,9747689.096,0.029621251,0.029621251 +06-05-2019 13:00,9748681.988,0.022095219,0.022095219 +06-05-2019 14:00,9749674.401,0.017132615,0.017132615 +06-05-2019 15:00,9750666.337,0.019096575,0.019096575 +06-05-2019 16:00,9751657.793,0.031385355,0.031385355 +06-05-2019 17:00,9752648.771,0.055703066,0.055703066 +06-05-2019 18:00,9753639.268,0.058644324,0.058644324 +06-05-2019 19:00,9754629.285,0.051330311,0.051330311 +06-05-2019 20:00,9755618.822,0.042213783,0.042213783 +06-05-2019 21:00,9756607.877,0.029047753,0.029047753 +06-05-2019 22:00,9757596.45,0.013913874,0.013913874 +06-05-2019 23:00,9758584.54,0.005868998,0.005868998 +07-05-2019 0:00,9759572.148,0.004250508,0.004250508 +07-05-2019 1:00,9760559.273,0.001999699,0.001999699 +07-05-2019 2:00,9761545.914,0.001685957,0.001685957 +07-05-2019 3:00,9762532.07,0.002503254,0.002503254 +07-05-2019 4:00,9763517.741,0.00751132,0.00751132 +07-05-2019 5:00,9764502.927,0.041471347,0.041471347 +07-05-2019 6:00,9765487.627,0.072325914,0.072325914 +07-05-2019 7:00,9766471.841,0.055087667,0.055087667 +07-05-2019 8:00,9767455.568,0.064043664,0.064043664 +07-05-2019 9:00,9768438.807,0.045093063,0.045093063 +07-05-2019 10:00,9769421.558,0.039677561,0.039677561 +07-05-2019 11:00,9770403.821,0.034424434,0.034424434 +07-05-2019 12:00,9771385.595,0.029598361,0.029598361 +07-05-2019 13:00,9772366.88,0.022326501,0.022326501 +07-05-2019 14:00,9773347.674,0.017058454,0.017058454 +07-05-2019 15:00,9774327.978,0.019021157,0.019021157 +07-05-2019 16:00,9775307.791,0.031005483,0.031005483 +07-05-2019 17:00,9776287.113,0.055316175,0.055316175 +07-05-2019 18:00,9777265.943,0.058308512,0.058308512 +07-05-2019 19:00,9778244.28,0.05128778,0.05128778 +07-05-2019 20:00,9779222.124,0.042189842,0.042189842 +07-05-2019 21:00,9780199.475,0.029107633,0.029107633 +07-05-2019 22:00,9781176.332,0.017115222,0.017115222 +07-05-2019 23:00,9782152.694,0.006283112,0.006283112 +08-05-2019 0:00,9783128.562,0.003822585,0.003822585 +08-05-2019 1:00,9784103.933,0.001610726,0.001610726 +08-05-2019 2:00,9785078.809,0.001434794,0.001434794 +08-05-2019 3:00,9786053.189,0.002057817,0.002057817 +08-05-2019 4:00,9787027.071,0.006951201,0.006951201 +08-05-2019 5:00,9788000.456,0.041166867,0.041166867 +08-05-2019 6:00,9788973.343,0.071703742,0.071703742 +08-05-2019 7:00,9789945.731,0.054584118,0.054584118 +08-05-2019 8:00,9790917.62,0.063709755,0.063709755 +08-05-2019 9:00,9791889.01,0.044821259,0.044821259 +08-05-2019 10:00,9792859.9,0.039491227,0.039491227 +08-05-2019 11:00,9793830.289,0.034218175,0.034218175 +08-05-2019 12:00,9794800.178,0.02952057,0.02952057 +08-05-2019 13:00,9795769.565,0.022287499,0.022287499 +08-05-2019 14:00,9796738.449,0.016948481,0.016948481 +08-05-2019 15:00,9797706.832,0.018958831,0.018958831 +08-05-2019 16:00,9798674.711,0.031017196,0.031017196 +08-05-2019 17:00,9799642.087,0.055187384,0.055187384 +08-05-2019 18:00,9800608.959,0.058039925,0.058039925 +08-05-2019 19:00,9801575.326,0.051192402,0.051192402 +08-05-2019 20:00,9802541.189,0.04195267,0.04195267 +08-05-2019 21:00,9803506.546,0.029331945,0.029331945 +08-05-2019 22:00,9804471.397,0.016218916,0.016218916 +08-05-2019 23:00,9805435.741,0.006174795,0.006174795 +09-05-2019 0:00,9806399.579,0.003225818,0.003225818 +09-05-2019 1:00,9807362.909,0.001129393,0.001129393 +09-05-2019 2:00,9808325.731,0.001368001,0.001368001 +09-05-2019 3:00,9809288.045,0.00198336,0.00198336 +09-05-2019 4:00,9810249.85,0.006203385,0.006203385 +09-05-2019 5:00,9811211.145,0.040926715,0.040926715 +09-05-2019 6:00,9812171.93,0.068724833,0.068724833 +09-05-2019 7:00,9813132.205,0.050439787,0.050439787 +09-05-2019 8:00,9814091.969,0.060557638,0.060557638 +09-05-2019 9:00,9815051.222,0.044083354,0.044083354 +09-05-2019 10:00,9816009.962,0.038309302,0.038309302 +09-05-2019 11:00,9816968.191,0.032660384,0.032660384 +09-05-2019 12:00,9817925.906,0.027967418,0.027967418 +09-05-2019 13:00,9818883.108,0.02156653,0.02156653 +09-05-2019 14:00,9819839.796,0.016696648,0.016696648 +09-05-2019 15:00,9820795.97,0.018783729,0.018783729 +09-05-2019 16:00,9821751.629,0.030610522,0.030610522 +09-05-2019 17:00,9822706.772,0.054302671,0.054302671 +09-05-2019 18:00,9823661.4,0.056106696,0.056106696 +09-05-2019 19:00,9824615.511,0.049855996,0.049855996 +09-05-2019 20:00,9825569.105,0.041696399,0.041696399 +09-05-2019 21:00,9826522.182,0.028901899,0.028901899 +09-05-2019 22:00,9827474.742,0.013913874,0.013913874 +09-05-2019 23:00,9828426.783,0.004869856,0.004869856 +10-05-2019 0:00,9829378.305,0.002782775,0.002782775 +10-05-2019 1:00,9830329.308,0.000695694,0.000695694 +10-05-2019 2:00,9831279.791,0.001045348,0.001045348 +10-05-2019 3:00,9832229.754,0.001681778,0.001681778 +10-05-2019 4:00,9833179.196,0.005558885,0.005558885 +10-05-2019 5:00,9834128.117,0.040793374,0.040793374 +10-05-2019 6:00,9835076.516,0.069313835,0.069313835 +10-05-2019 7:00,9836024.393,0.050848835,0.050848835 +10-05-2019 8:00,9836971.747,0.061046633,0.061046633 +10-05-2019 9:00,9837918.578,0.044361083,0.044361083 +10-05-2019 10:00,9838864.886,0.038646216,0.038646216 +10-05-2019 11:00,9839810.669,0.033206478,0.033206478 +10-05-2019 12:00,9840755.927,0.028573968,0.028573968 +10-05-2019 13:00,9841700.661,0.021721578,0.021721578 +10-05-2019 14:00,9842644.869,0.016696648,0.016696648 +10-05-2019 15:00,9843588.55,0.018783729,0.018783729 +10-05-2019 16:00,9844531.705,0.030610522,0.030610522 +10-05-2019 17:00,9845474.333,0.054264107,0.054264107 +10-05-2019 18:00,9846416.434,0.055647954,0.055647954 +10-05-2019 19:00,9847358.006,0.049873755,0.049873755 +10-05-2019 20:00,9848299.05,0.041698212,0.041698212 +10-05-2019 21:00,9849239.565,0.028921596,0.028921596 +10-05-2019 22:00,9850179.55,0.013913874,0.013913874 +10-05-2019 23:00,9851119.005,0.004869856,0.004869856 +11-05-2019 0:00,9852057.93,0.002782775,0.002782775 +11-05-2019 1:00,9852996.324,0.000791097,0.000791097 +11-05-2019 2:00,9853934.187,0.00123249,0.00123249 +11-05-2019 3:00,9854871.517,0.001731369,0.001731369 +11-05-2019 4:00,9855808.315,0.00587586,0.00587586 +11-05-2019 5:00,9856744.581,0.041008566,0.041008566 +11-05-2019 6:00,9857680.313,0.069886962,0.069886962 +11-05-2019 7:00,9858615.511,0.050867478,0.050867478 +11-05-2019 8:00,9859550.174,0.061387611,0.061387611 +11-05-2019 9:00,9860484.303,0.044110358,0.044110358 +11-05-2019 10:00,9861417.897,0.03830621,0.03830621 +11-05-2019 11:00,9862350.955,0.032375156,0.032375156 +11-05-2019 12:00,9863283.477,0.027119251,0.027119251 +11-05-2019 13:00,9864215.462,0.021566504,0.021566504 +11-05-2019 14:00,9865146.909,0.016696648,0.016696648 +11-05-2019 15:00,9866077.819,0.018783729,0.018783729 +11-05-2019 16:00,9867008.191,0.030610522,0.030610522 +11-05-2019 17:00,9867938.024,0.054264107,0.054264107 +11-05-2019 18:00,9868867.318,0.054959801,0.054959801 +11-05-2019 19:00,9869796.073,0.049187221,0.049187221 +11-05-2019 20:00,9870724.287,0.041163888,0.041163888 +11-05-2019 21:00,9871651.961,0.028915865,0.028915865 +11-05-2019 22:00,9872579.094,0.013913874,0.013913874 +11-05-2019 23:00,9873505.685,0.004869856,0.004869856 +12-05-2019 0:00,9874431.735,0.002782775,0.002782775 +12-05-2019 1:00,9875357.242,0.000695694,0.000695694 +12-05-2019 2:00,9876282.205,0.000913272,0.000913272 +12-05-2019 3:00,9877206.626,0.001579697,0.001579697 +12-05-2019 4:00,9878130.503,0.005421605,0.005421605 +12-05-2019 5:00,9879053.835,0.040762349,0.040762349 +12-05-2019 6:00,9879976.622,0.067498674,0.067498674 +12-05-2019 7:00,9880898.864,0.050089945,0.050089945 +12-05-2019 8:00,9881820.561,0.059435285,0.059435285 +12-05-2019 9:00,9882741.711,0.044028562,0.044028562 +12-05-2019 10:00,9883662.314,0.03804653,0.03804653 +12-05-2019 11:00,9884582.37,0.03243469,0.03243469 +12-05-2019 12:00,9885501.878,0.026595392,0.026595392 +12-05-2019 13:00,9886420.839,0.021566504,0.021566504 +12-05-2019 14:00,9887339.25,0.016696648,0.016696648 +12-05-2019 15:00,9888257.113,0.018783729,0.018783729 +12-05-2019 16:00,9889174.426,0.030610522,0.030610522 +12-05-2019 17:00,9890091.189,0.054264107,0.054264107 +12-05-2019 18:00,9891007.401,0.054959801,0.054959801 +12-05-2019 19:00,9891923.062,0.048842361,0.048842361 +12-05-2019 20:00,9892838.172,0.040821562,0.040821562 +12-05-2019 21:00,9893752.73,0.028927222,0.028927222 +12-05-2019 22:00,9894666.736,0.013913874,0.013913874 +12-05-2019 23:00,9895580.189,0.004869856,0.004869856 +13-05-2019 0:00,9896493.088,0.002782775,0.002782775 +13-05-2019 1:00,9897405.434,0.000695694,0.000695694 +13-05-2019 2:00,9898317.225,0.000946213,0.000946213 +13-05-2019 3:00,9899228.461,0.001612951,0.001612951 +13-05-2019 4:00,9900139.143,0.005912067,0.005912067 +13-05-2019 5:00,9901049.268,0.040876686,0.040876686 +13-05-2019 6:00,9901958.838,0.068136146,0.068136146 +13-05-2019 7:00,9902867.851,0.050089945,0.050089945 +13-05-2019 8:00,9903776.306,0.05942012,0.05942012 +13-05-2019 9:00,9904684.205,0.042990113,0.042990113 +13-05-2019 10:00,9905591.545,0.037467333,0.037467333 +13-05-2019 11:00,9906498.326,0.031468267,0.031468267 +13-05-2019 12:00,9907404.549,0.025217958,0.025217958 +13-05-2019 13:00,9908310.212,0.021592148,0.021592148 +13-05-2019 14:00,9909215.316,0.016696648,0.016696648 +13-05-2019 15:00,9910119.859,0.018783729,0.018783729 +13-05-2019 16:00,9911023.841,0.030610522,0.030610522 +13-05-2019 17:00,9911927.262,0.054264107,0.054264107 +13-05-2019 18:00,9912830.121,0.055064234,0.055064234 +13-05-2019 19:00,9913732.418,0.049588985,0.049588985 +13-05-2019 20:00,9914634.152,0.041118961,0.041118961 +13-05-2019 21:00,9915535.324,0.028913593,0.028913593 +13-05-2019 22:00,9916435.931,0.013913874,0.013913874 +13-05-2019 23:00,9917335.974,0.004869856,0.004869856 +14-05-2019 0:00,9918235.453,0.002782775,0.002782775 +14-05-2019 1:00,9919134.367,0.000713678,0.000713678 +14-05-2019 2:00,9920032.716,0.001003749,0.001003749 +14-05-2019 3:00,9920930.498,0.001739474,0.001739474 +14-05-2019 4:00,9921827.714,0.005560625,0.005560625 +14-05-2019 5:00,9922724.364,0.04103682,0.04103682 +14-05-2019 6:00,9923620.446,0.069530149,0.069530149 +14-05-2019 7:00,9924515.96,0.050750539,0.050750539 +14-05-2019 8:00,9925410.906,0.060534381,0.060534381 +14-05-2019 9:00,9926305.283,0.043420972,0.043420972 +14-05-2019 10:00,9927199.091,0.037402879,0.037402879 +14-05-2019 11:00,9928092.33,0.031640745,0.031640745 +14-05-2019 12:00,9928984.998,0.025603872,0.025603872 +14-05-2019 13:00,9929877.096,0.021566504,0.021566504 +14-05-2019 14:00,9930768.623,0.016696648,0.016696648 +14-05-2019 15:00,9931659.579,0.018783729,0.018783729 +14-05-2019 16:00,9932549.962,0.030610522,0.030610522 +14-05-2019 17:00,9933439.774,0.054264107,0.054264107 +14-05-2019 18:00,9934329.012,0.055302549,0.055302549 +14-05-2019 19:00,9935217.677,0.049715764,0.049715764 +14-05-2019 20:00,9936105.769,0.041317495,0.041317495 +14-05-2019 21:00,9936993.286,0.028891033,0.028891033 +14-05-2019 22:00,9937880.228,0.013913874,0.013913874 +14-05-2019 23:00,9938766.596,0.004869856,0.004869856 +15-05-2019 0:00,9939652.388,0.002782775,0.002782775 +15-05-2019 1:00,9940537.604,0.000695694,0.000695694 +15-05-2019 2:00,9941422.243,0.000959229,0.000959229 +15-05-2019 3:00,9942306.306,0.001711937,0.001711937 +15-05-2019 4:00,9943189.791,0.005332482,0.005332482 +15-05-2019 5:00,9944072.698,0.040626368,0.040626368 +15-05-2019 6:00,9944955.027,0.06723322,0.06723322 +15-05-2019 7:00,9945836.777,0.050089945,0.050089945 +15-05-2019 8:00,9946717.948,0.059133963,0.059133963 +15-05-2019 9:00,9947598.54,0.042807294,0.042807294 +15-05-2019 10:00,9948478.551,0.037322783,0.037322783 +15-05-2019 11:00,9949357.982,0.031329647,0.031329647 +15-05-2019 12:00,9950236.831,0.025044973,0.025044973 +15-05-2019 13:00,9951115.1,0.021566504,0.021566504 +15-05-2019 14:00,9951992.786,0.016696648,0.016696648 +15-05-2019 15:00,9952869.89,0.018783729,0.018783729 +15-05-2019 16:00,9953746.411,0.030610522,0.030610522 +15-05-2019 17:00,9954622.349,0.054264107,0.054264107 +15-05-2019 18:00,9955497.703,0.054959801,0.054959801 +15-05-2019 19:00,9956372.473,0.049108709,0.049108709 +15-05-2019 20:00,9957246.659,0.040936982,0.040936982 +15-05-2019 21:00,9958120.259,0.028845516,0.028845516 +15-05-2019 22:00,9958993.274,0.013913874,0.013913874 +15-05-2019 23:00,9959865.703,0.004869856,0.004869856 +16-05-2019 0:00,9960737.545,0.002782775,0.002782775 +16-05-2019 1:00,9961608.801,0.000695694,0.000695694 +16-05-2019 2:00,9962479.469,0.000695694,0.000695694 +16-05-2019 3:00,9963349.549,0.001391387,0.001391387 +16-05-2019 4:00,9964219.042,0.004869856,0.004869856 +16-05-2019 5:00,9965087.945,0.040573466,0.040573466 +16-05-2019 6:00,9965956.26,0.067833686,0.067833686 +16-05-2019 7:00,9966823.985,0.050660453,0.050660453 +16-05-2019 8:00,9967691.12,0.060418274,0.060418274 +16-05-2019 9:00,9968557.664,0.044084107,0.044084107 +16-05-2019 10:00,9969423.618,0.037555589,0.037555589 +16-05-2019 11:00,9970288.98,0.032045888,0.032045888 +16-05-2019 12:00,9971153.751,0.026080328,0.026080328 +16-05-2019 13:00,9972017.929,0.021566504,0.021566504 +16-05-2019 14:00,9972881.515,0.016696648,0.016696648 +16-05-2019 15:00,9973744.507,0.018783729,0.018783729 +16-05-2019 16:00,9974606.906,0.030610522,0.030610522 +16-05-2019 17:00,9975468.711,0.054264107,0.054264107 +16-05-2019 18:00,9976329.922,0.054992611,0.054992611 +16-05-2019 19:00,9977190.538,0.049062605,0.049062605 +16-05-2019 20:00,9978050.558,0.040950851,0.040950851 +16-05-2019 21:00,9978909.983,0.0288295,0.0288295 +16-05-2019 22:00,9979768.811,0.013913874,0.013913874 +16-05-2019 23:00,9980627.043,0.004869856,0.004869856 +17-05-2019 0:00,9981484.677,0.002782775,0.002782775 +17-05-2019 1:00,9982341.714,0.000695694,0.000695694 +17-05-2019 2:00,9983198.153,0.000695694,0.000695694 +17-05-2019 3:00,9984053.994,0.001391387,0.001391387 +17-05-2019 4:00,9984909.236,0.004869856,0.004869856 +17-05-2019 5:00,9985763.878,0.04022842,0.04022842 +17-05-2019 6:00,9986617.921,0.066934192,0.066934192 +17-05-2019 7:00,9987471.364,0.050576969,0.050576969 +17-05-2019 8:00,9988324.206,0.059689843,0.059689843 +17-05-2019 9:00,9989176.447,0.044001953,0.044001953 +17-05-2019 10:00,9990028.086,0.037842982,0.037842982 +17-05-2019 11:00,9990879.124,0.032124914,0.032124914 +17-05-2019 12:00,9991729.559,0.026733444,0.026733444 +17-05-2019 13:00,9992579.391,0.021566504,0.021566504 +17-05-2019 14:00,9993428.62,0.016696648,0.016696648 +17-05-2019 15:00,9994277.246,0.018783729,0.018783729 +17-05-2019 16:00,9995125.267,0.030610522,0.030610522 +17-05-2019 17:00,9995972.684,0.054264107,0.054264107 +17-05-2019 18:00,9996819.495,0.055185114,0.055185114 +17-05-2019 19:00,9997665.702,0.04955822,0.04955822 +17-05-2019 20:00,9998511.302,0.041123013,0.041123013 +17-05-2019 21:00,9999356.296,0.028816012,0.028816012 +17-05-2019 22:00,10000200.68,0.013913874,0.013913874 +17-05-2019 23:00,10001044.46,0.004869856,0.004869856 +18-05-2019 0:00,10001887.64,0.002782775,0.002782775 +18-05-2019 1:00,10002730.2,0.000695694,0.000695694 +18-05-2019 2:00,10003572.16,0.000695694,0.000695694 +18-05-2019 3:00,10004413.5,0.001391387,0.001391387 +18-05-2019 4:00,10005254.24,0.005021555,0.005021555 +18-05-2019 5:00,10006094.37,0.04013744,0.04013744 +18-05-2019 6:00,10006933.89,0.066214094,0.066214094 +18-05-2019 7:00,10007772.8,0.050089945,0.050089945 +18-05-2019 8:00,10008611.09,0.059133963,0.059133963 +18-05-2019 9:00,10009448.78,0.042883657,0.042883657 +18-05-2019 10:00,10010285.85,0.036871765,0.036871765 +18-05-2019 11:00,10011122.31,0.031306216,0.031306216 +18-05-2019 12:00,10011958.16,0.025044973,0.025044973 +18-05-2019 13:00,10012793.39,0.021566504,0.021566504 +18-05-2019 14:00,10013628.01,0.016696648,0.016696648 +18-05-2019 15:00,10014462.02,0.018783729,0.018783729 +18-05-2019 16:00,10015295.41,0.030610522,0.030610522 +18-05-2019 17:00,10016128.19,0.054264107,0.054264107 +18-05-2019 18:00,10016960.35,0.054959801,0.054959801 +18-05-2019 19:00,10017791.9,0.048698558,0.048698558 +18-05-2019 20:00,10018622.83,0.040350234,0.040350234 +18-05-2019 21:00,10019453.14,0.028523441,0.028523441 +18-05-2019 22:00,10020282.84,0.013913874,0.013913874 +18-05-2019 23:00,10021111.92,0.004869856,0.004869856 +19-05-2019 0:00,10021940.38,0.002782775,0.002782775 +19-05-2019 1:00,10022768.22,0.000695694,0.000695694 +19-05-2019 2:00,10023595.44,0.000695694,0.000695694 +19-05-2019 3:00,10024422.05,0.001391387,0.001391387 +19-05-2019 4:00,10025248.03,0.004869856,0.004869856 +19-05-2019 5:00,10026073.4,0.039147898,0.039147898 +19-05-2019 6:00,10026898.14,0.064699512,0.064699512 +19-05-2019 7:00,10027722.26,0.050089945,0.050089945 +19-05-2019 8:00,10028545.77,0.059133963,0.059133963 +19-05-2019 9:00,10029368.65,0.042561543,0.042561543 +19-05-2019 10:00,10030190.91,0.036871765,0.036871765 +19-05-2019 11:00,10031012.54,0.031306216,0.031306216 +19-05-2019 12:00,10031833.55,0.025151291,0.025151291 +19-05-2019 13:00,10032653.94,0.021566504,0.021566504 +19-05-2019 14:00,10033473.71,0.016696648,0.016696648 +19-05-2019 15:00,10034292.85,0.018783729,0.018783729 +19-05-2019 16:00,10035111.37,0.030610522,0.030610522 +19-05-2019 17:00,10035929.26,0.054264107,0.054264107 +19-05-2019 18:00,10036746.52,0.054959801,0.054959801 +19-05-2019 19:00,10037563.16,0.048698558,0.048698558 +19-05-2019 20:00,10038379.18,0.040350234,0.040350234 +19-05-2019 21:00,10039194.56,0.028523441,0.028523441 +19-05-2019 22:00,10040009.32,0.013913874,0.013913874 +19-05-2019 23:00,10040823.45,0.004869856,0.004869856 +20-05-2019 0:00,10041636.96,0.002782775,0.002782775 +20-05-2019 1:00,10042449.83,0.000695694,0.000695694 +20-05-2019 2:00,10043262.08,0.000695694,0.000695694 +20-05-2019 3:00,10044073.69,0.001391387,0.001391387 +20-05-2019 4:00,10044884.68,0.004869856,0.004869856 +20-05-2019 5:00,10045695.04,0.039166597,0.039166597 +20-05-2019 6:00,10046504.76,0.064699512,0.064699512 +20-05-2019 7:00,10047313.86,0.050089945,0.050089945 +20-05-2019 8:00,10048122.32,0.059133963,0.059133963 +20-05-2019 9:00,10048930.16,0.042648365,0.042648365 +20-05-2019 10:00,10049737.36,0.036871765,0.036871765 +20-05-2019 11:00,10050543.92,0.031306216,0.031306216 +20-05-2019 12:00,10051349.86,0.025243738,0.025243738 +20-05-2019 13:00,10052155.16,0.021566504,0.021566504 +20-05-2019 14:00,10052959.83,0.016696648,0.016696648 +20-05-2019 15:00,10053763.86,0.018783729,0.018783729 +20-05-2019 16:00,10054567.26,0.030610522,0.030610522 +20-05-2019 17:00,10055370.02,0.054264107,0.054264107 +20-05-2019 18:00,10056172.15,0.054959801,0.054959801 +20-05-2019 19:00,10056973.64,0.048698558,0.048698558 +20-05-2019 20:00,10057774.49,0.040350234,0.040350234 +20-05-2019 21:00,10058574.71,0.028523441,0.028523441 +20-05-2019 22:00,10059374.29,0.013913874,0.013913874 +20-05-2019 23:00,10060173.23,0.004869856,0.004869856 +21-05-2019 0:00,10060971.54,0.002782775,0.002782775 +21-05-2019 1:00,10061769.21,0.000695694,0.000695694 +21-05-2019 2:00,10062566.23,0.000695694,0.000695694 +21-05-2019 3:00,10063362.62,0.001391387,0.001391387 +21-05-2019 4:00,10064158.37,0.004869856,0.004869856 +21-05-2019 5:00,10064953.48,0.039315526,0.039315526 +21-05-2019 6:00,10065747.95,0.064699512,0.064699512 +21-05-2019 7:00,10066541.78,0.050089945,0.050089945 +21-05-2019 8:00,10067334.96,0.059133963,0.059133963 +21-05-2019 9:00,10068127.51,0.04281593,0.04281593 +21-05-2019 10:00,10068919.41,0.036871765,0.036871765 +21-05-2019 11:00,10069710.67,0.031317288,0.031317288 +21-05-2019 12:00,10070501.29,0.025388791,0.025388791 +21-05-2019 13:00,10071291.26,0.021566504,0.021566504 +21-05-2019 14:00,10072080.59,0.016696648,0.016696648 +21-05-2019 15:00,10072869.28,0.018783729,0.018783729 +21-05-2019 16:00,10073657.32,0.030610522,0.030610522 +21-05-2019 17:00,10074444.71,0.054264107,0.054264107 +21-05-2019 18:00,10075231.46,0.054959801,0.054959801 +21-05-2019 19:00,10076017.57,0.048818087,0.048818087 +21-05-2019 20:00,10076803.03,0.040350234,0.040350234 +21-05-2019 21:00,10077587.84,0.02866768,0.02866768 +21-05-2019 22:00,10078372.01,0.013913874,0.013913874 +21-05-2019 23:00,10079155.52,0.004869856,0.004869856 +22-05-2019 0:00,10079938.39,0.002782775,0.002782775 +22-05-2019 1:00,10080720.62,0.000695694,0.000695694 +22-05-2019 2:00,10081502.19,0.000695694,0.000695694 +22-05-2019 3:00,10082283.11,0.001391387,0.001391387 +22-05-2019 4:00,10083063.39,0.004869856,0.004869856 +22-05-2019 5:00,10083843.01,0.039491929,0.039491929 +22-05-2019 6:00,10084621.99,0.064699512,0.064699512 +22-05-2019 7:00,10085400.31,0.050089945,0.050089945 +22-05-2019 8:00,10086177.99,0.059133963,0.059133963 +22-05-2019 9:00,10086955.01,0.042493956,0.042493956 +22-05-2019 10:00,10087731.38,0.036871765,0.036871765 +22-05-2019 11:00,10088507.1,0.031306216,0.031306216 +22-05-2019 12:00,10089282.16,0.025044973,0.025044973 +22-05-2019 13:00,10090056.58,0.021566504,0.021566504 +22-05-2019 14:00,10090830.33,0.016696648,0.016696648 +22-05-2019 15:00,10091603.44,0.018783729,0.018783729 +22-05-2019 16:00,10092375.89,0.030610522,0.030610522 +22-05-2019 17:00,10093147.69,0.054264107,0.054264107 +22-05-2019 18:00,10093918.83,0.054959801,0.054959801 +22-05-2019 19:00,10094689.32,0.048698558,0.048698558 +22-05-2019 20:00,10095459.15,0.040350234,0.040350234 +22-05-2019 21:00,10096228.32,0.028523441,0.028523441 +22-05-2019 22:00,10096996.84,0.013913874,0.013913874 +22-05-2019 23:00,10097764.7,0.004869856,0.004869856 +23-05-2019 0:00,10098531.9,0.002782775,0.002782775 +23-05-2019 1:00,10099298.45,0.000695694,0.000695694 +23-05-2019 2:00,10100064.34,0.000695694,0.000695694 +23-05-2019 3:00,10100829.56,0.001391387,0.001391387 +23-05-2019 4:00,10101594.13,0.004869856,0.004869856 +23-05-2019 5:00,10102358.04,0.039132526,0.039132526 +23-05-2019 6:00,10103121.3,0.064699512,0.064699512 +23-05-2019 7:00,10103883.89,0.050089945,0.050089945 +23-05-2019 8:00,10104645.82,0.059133963,0.059133963 +23-05-2019 9:00,10105407.09,0.042437315,0.042437315 +23-05-2019 10:00,10106167.69,0.036871765,0.036871765 +23-05-2019 11:00,10106927.64,0.031306216,0.031306216 +23-05-2019 12:00,10107686.93,0.025044973,0.025044973 +23-05-2019 13:00,10108445.55,0.021566504,0.021566504 +23-05-2019 14:00,10109203.51,0.016696648,0.016696648 +23-05-2019 15:00,10109960.8,0.018783729,0.018783729 +23-05-2019 16:00,10110717.43,0.030610522,0.030610522 +23-05-2019 17:00,10111473.4,0.054264107,0.054264107 +23-05-2019 18:00,10112228.71,0.054959801,0.054959801 +23-05-2019 19:00,10112983.34,0.048698558,0.048698558 +23-05-2019 20:00,10113737.32,0.040350234,0.040350234 +23-05-2019 21:00,10114490.63,0.028523441,0.028523441 +23-05-2019 22:00,10115243.27,0.013913874,0.013913874 +23-05-2019 23:00,10115995.24,0.004869856,0.004869856 +24-05-2019 0:00,10116746.55,0.002782775,0.002782775 +24-05-2019 1:00,10117497.2,0.000695694,0.000695694 +24-05-2019 2:00,10118247.17,0.000695694,0.000695694 +24-05-2019 3:00,10118996.48,0.001391387,0.001391387 +24-05-2019 4:00,10119745.12,0.004869856,0.004869856 +24-05-2019 5:00,10120493.09,0.038996651,0.038996651 +24-05-2019 6:00,10121240.39,0.064699512,0.064699512 +24-05-2019 7:00,10121987.02,0.050089945,0.050089945 +24-05-2019 8:00,10122732.98,0.059133963,0.059133963 +24-05-2019 9:00,10123478.27,0.042437315,0.042437315 +24-05-2019 10:00,10124222.89,0.036871765,0.036871765 +24-05-2019 11:00,10124966.84,0.031306216,0.031306216 +24-05-2019 12:00,10125710.12,0.025044973,0.025044973 +24-05-2019 13:00,10126452.72,0.021566504,0.021566504 +24-05-2019 14:00,10127194.66,0.016696648,0.016696648 +24-05-2019 15:00,10127935.92,0.018783729,0.018783729 +24-05-2019 16:00,10128676.51,0.030610522,0.030610522 +24-05-2019 17:00,10129416.43,0.054264107,0.054264107 +24-05-2019 18:00,10130155.67,0.054959801,0.054959801 +24-05-2019 19:00,10130894.24,0.048698558,0.048698558 +24-05-2019 20:00,10131632.13,0.040350234,0.040350234 +24-05-2019 21:00,10132369.35,0.028523441,0.028523441 +24-05-2019 22:00,10133105.89,0.013913874,0.013913874 +24-05-2019 23:00,10133841.76,0.004869856,0.004869856 +25-05-2019 0:00,10134576.95,0.002782775,0.002782775 +25-05-2019 1:00,10135311.47,0.000695694,0.000695694 +25-05-2019 2:00,10136045.31,0.000695694,0.000695694 +25-05-2019 3:00,10136778.47,0.001391387,0.001391387 +25-05-2019 4:00,10137510.95,0.004869856,0.004869856 +25-05-2019 5:00,10138242.76,0.038958846,0.038958846 +25-05-2019 6:00,10138973.89,0.064699512,0.064699512 +25-05-2019 7:00,10139704.34,0.050089945,0.050089945 +25-05-2019 8:00,10140434.11,0.059133963,0.059133963 +25-05-2019 9:00,10141163.2,0.042437315,0.042437315 +25-05-2019 10:00,10141891.62,0.036871765,0.036871765 +25-05-2019 11:00,10142619.35,0.031306216,0.031306216 +25-05-2019 12:00,10143346.4,0.025044973,0.025044973 +25-05-2019 13:00,10144072.77,0.021566504,0.021566504 +25-05-2019 14:00,10144798.46,0.016696648,0.016696648 +25-05-2019 15:00,10145523.47,0.018783729,0.018783729 +25-05-2019 16:00,10146247.8,0.030610522,0.030610522 +25-05-2019 17:00,10146971.44,0.054264107,0.054264107 +25-05-2019 18:00,10147694.4,0.054959801,0.054959801 +25-05-2019 19:00,10148416.68,0.048698558,0.048698558 +25-05-2019 20:00,10149138.27,0.040350234,0.040350234 +25-05-2019 21:00,10149859.19,0.028523441,0.028523441 +25-05-2019 22:00,10150579.41,0.013913874,0.013913874 +25-05-2019 23:00,10151298.95,0.004869856,0.004869856 +26-05-2019 0:00,10152017.81,0.002782775,0.002782775 +26-05-2019 1:00,10152735.98,0.000695694,0.000695694 +26-05-2019 2:00,10153453.47,0.000695694,0.000695694 +26-05-2019 3:00,10154170.27,0.001391387,0.001391387 +26-05-2019 4:00,10154886.39,0.004869856,0.004869856 +26-05-2019 5:00,10155601.81,0.038958846,0.038958846 +26-05-2019 6:00,10156316.55,0.064699512,0.064699512 +26-05-2019 7:00,10157030.61,0.050089945,0.050089945 +26-05-2019 8:00,10157743.97,0.059133963,0.059133963 +26-05-2019 9:00,10158456.65,0.042437315,0.042437315 +26-05-2019 10:00,10159168.64,0.036871765,0.036871765 +26-05-2019 11:00,10159879.94,0.031306216,0.031306216 +26-05-2019 12:00,10160590.55,0.025044973,0.025044973 +26-05-2019 13:00,10161300.47,0.021566504,0.021566504 +26-05-2019 14:00,10162009.7,0.016696648,0.016696648 +26-05-2019 15:00,10162718.24,0.018783729,0.018783729 +26-05-2019 16:00,10163426.09,0.030610522,0.030610522 +26-05-2019 17:00,10164133.24,0.054264107,0.054264107 +26-05-2019 18:00,10164839.71,0.054959801,0.054959801 +26-05-2019 19:00,10165545.48,0.048698558,0.048698558 +26-05-2019 20:00,10166250.57,0.040350234,0.040350234 +26-05-2019 21:00,10166954.96,0.028523441,0.028523441 +26-05-2019 22:00,10167658.65,0.013913874,0.013913874 +26-05-2019 23:00,10168361.66,0.004869856,0.004869856 +27-05-2019 0:00,10169063.97,0.002782775,0.002782775 +27-05-2019 1:00,10169765.58,0.000695694,0.000695694 +27-05-2019 2:00,10170466.5,0.000695694,0.000695694 +27-05-2019 3:00,10171166.73,0.001391387,0.001391387 +27-05-2019 4:00,10171866.26,0.004869856,0.004869856 +27-05-2019 5:00,10172565.1,0.038958846,0.038958846 +27-05-2019 6:00,10173263.24,0.064699512,0.064699512 +27-05-2019 7:00,10173960.68,0.050089945,0.050089945 +27-05-2019 8:00,10174657.43,0.059133963,0.059133963 +27-05-2019 9:00,10175353.48,0.042437315,0.042437315 +27-05-2019 10:00,10176048.83,0.036871765,0.036871765 +27-05-2019 11:00,10176743.49,0.031306216,0.031306216 +27-05-2019 12:00,10177437.45,0.025044973,0.025044973 +27-05-2019 13:00,10178130.71,0.021566504,0.021566504 +27-05-2019 14:00,10178823.27,0.016696648,0.016696648 +27-05-2019 15:00,10179515.13,0.018783729,0.018783729 +27-05-2019 16:00,10180206.29,0.030610522,0.030610522 +27-05-2019 17:00,10180896.75,0.054264107,0.054264107 +27-05-2019 18:00,10181586.51,0.054959801,0.054959801 +27-05-2019 19:00,10182275.58,0.048698558,0.048698558 +27-05-2019 20:00,10182963.94,0.040350234,0.040350234 +27-05-2019 21:00,10183651.6,0.028523441,0.028523441 +27-05-2019 22:00,10184338.55,0.013913874,0.013913874 +27-05-2019 23:00,10185024.81,0.004869856,0.004869856 +28-05-2019 0:00,10185710.37,0.002782775,0.002782775 +28-05-2019 1:00,10186395.22,0.000695694,0.000695694 +28-05-2019 2:00,10187079.36,0.000695694,0.000695694 +28-05-2019 3:00,10187762.81,0.001391387,0.001391387 +28-05-2019 4:00,10188445.55,0.004869856,0.004869856 +28-05-2019 5:00,10189127.59,0.038958846,0.038958846 +28-05-2019 6:00,10189808.92,0.064699512,0.064699512 +28-05-2019 7:00,10190489.55,0.050089945,0.050089945 +28-05-2019 8:00,10191169.47,0.059133963,0.059133963 +28-05-2019 9:00,10191848.69,0.042437315,0.042437315 +28-05-2019 10:00,10192527.2,0.036871765,0.036871765 +28-05-2019 11:00,10193205.01,0.031306216,0.031306216 +28-05-2019 12:00,10193882.11,0.025044973,0.025044973 +28-05-2019 13:00,10194558.5,0.021566504,0.021566504 +28-05-2019 14:00,10195234.19,0.016696648,0.016696648 +28-05-2019 15:00,10195909.17,0.018783729,0.018783729 +28-05-2019 16:00,10196583.44,0.030610522,0.030610522 +28-05-2019 17:00,10197257,0.054264107,0.054264107 +28-05-2019 18:00,10197929.85,0.054959801,0.054959801 +28-05-2019 19:00,10198602,0.048698558,0.048698558 +28-05-2019 20:00,10199273.43,0.040350234,0.040350234 +28-05-2019 21:00,10199944.16,0.028523441,0.028523441 +28-05-2019 22:00,10200614.17,0.013913874,0.013913874 +28-05-2019 23:00,10201283.48,0.004869856,0.004869856 +29-05-2019 0:00,10201952.07,0.002782775,0.002782775 +29-05-2019 1:00,10202619.96,0.000695694,0.000695694 +29-05-2019 2:00,10203287.13,0.000695694,0.000695694 +29-05-2019 3:00,10203953.59,0.001391387,0.001391387 +29-05-2019 4:00,10204619.34,0.004869856,0.004869856 +29-05-2019 5:00,10205284.38,0.038958846,0.038958846 +29-05-2019 6:00,10205948.7,0.064699512,0.064699512 +29-05-2019 7:00,10206612.31,0.050089945,0.050089945 +29-05-2019 8:00,10207275.21,0.059133963,0.059133963 +29-05-2019 9:00,10207937.39,0.042437315,0.042437315 +29-05-2019 10:00,10208598.86,0.036871765,0.036871765 +29-05-2019 11:00,10209259.62,0.031306216,0.031306216 +29-05-2019 12:00,10209919.66,0.025044973,0.025044973 +29-05-2019 13:00,10210578.99,0.021566504,0.021566504 +29-05-2019 14:00,10211237.6,0.016696648,0.016696648 +29-05-2019 15:00,10211895.49,0.018783729,0.018783729 +29-05-2019 16:00,10212552.67,0.030610522,0.030610522 +29-05-2019 17:00,10213209.13,0.054264107,0.054264107 +29-05-2019 18:00,10213864.88,0.054959801,0.054959801 +29-05-2019 19:00,10214519.91,0.048698558,0.048698558 +29-05-2019 20:00,10215174.22,0.040350234,0.040350234 +29-05-2019 21:00,10215827.81,0.028523441,0.028523441 +29-05-2019 22:00,10216480.69,0.013913874,0.013913874 +29-05-2019 23:00,10217132.84,0.004869856,0.004869856 +30-05-2019 0:00,10217784.28,0.002782775,0.002782775 +30-05-2019 1:00,10218435,0.000695694,0.000695694 +30-05-2019 2:00,10219085,0.000695694,0.000695694 +30-05-2019 3:00,10219734.28,0.001391387,0.001391387 +30-05-2019 4:00,10220382.84,0.004869856,0.004869856 +30-05-2019 5:00,10221030.68,0.038958846,0.038958846 +30-05-2019 6:00,10221677.79,0.064699512,0.064699512 +30-05-2019 7:00,10222324.19,0.050089945,0.050089945 +30-05-2019 8:00,10222969.87,0.059133963,0.059133963 +30-05-2019 9:00,10223614.82,0.042437315,0.042437315 +30-05-2019 10:00,10224259.05,0.036871765,0.036871765 +30-05-2019 11:00,10224902.56,0.031306216,0.031306216 +30-05-2019 12:00,10225545.35,0.025044973,0.025044973 +30-05-2019 13:00,10226187.41,0.021566504,0.021566504 +30-05-2019 14:00,10226828.75,0.016696648,0.016696648 +30-05-2019 15:00,10227469.37,0.018783729,0.018783729 +30-05-2019 16:00,10228109.26,0.030610522,0.030610522 +30-05-2019 17:00,10228748.43,0.054264107,0.054264107 +30-05-2019 18:00,10229386.87,0.054959801,0.054959801 +30-05-2019 19:00,10230024.59,0.048698558,0.048698558 +30-05-2019 20:00,10230661.58,0.040350234,0.040350234 +30-05-2019 21:00,10231297.85,0.028523441,0.028523441 +30-05-2019 22:00,10231933.39,0.013913874,0.013913874 +30-05-2019 23:00,10232568.2,0.004869856,0.004869856 +31-05-2019 0:00,10233202.29,0.002782775,0.002782775 +31-05-2019 1:00,10233835.65,0.000695694,0.000695694 +31-05-2019 2:00,10234468.29,0.000695694,0.000695694 +31-05-2019 3:00,10235100.19,0.001391387,0.001391387 +31-05-2019 4:00,10235731.37,0.004869856,0.004869856 +31-05-2019 5:00,10236361.82,0.038958846,0.038958846 +31-05-2019 6:00,10236991.54,0.064699512,0.064699512 +31-05-2019 7:00,10237620.53,0.050089945,0.050089945 +31-05-2019 8:00,10238248.79,0.059133963,0.059133963 +31-05-2019 9:00,10238876.33,0.042437315,0.042437315 +31-05-2019 10:00,10239503.13,0.036871765,0.036871765 +31-05-2019 11:00,10240129.2,0.031306216,0.031306216 +31-05-2019 12:00,10240754.54,0.025044973,0.025044973 +31-05-2019 13:00,10241379.15,0.021566504,0.021566504 +31-05-2019 14:00,10242003.03,0.016696648,0.016696648 +31-05-2019 15:00,10242626.18,0.018783729,0.018783729 +31-05-2019 16:00,10243248.6,0.030610522,0.030610522 +31-05-2019 17:00,10243870.28,0.054264107,0.054264107 +31-05-2019 18:00,10244491.23,0.054959801,0.054959801 +31-05-2019 19:00,10245111.45,0.048698558,0.048698558 +31-05-2019 20:00,10245730.94,0.040350234,0.040350234 +31-05-2019 21:00,10246349.69,0.028523441,0.028523441 +31-05-2019 22:00,10246967.71,0.013913874,0.013913874 +31-05-2019 23:00,10247584.99,0.004869856,0.004869856 +01-06-2019 0:00,10248201.54,0.002782775,0.002782775 +01-06-2019 1:00,10248817.36,0.000695694,0.000695694 +01-06-2019 2:00,10249432.44,0.000695694,0.000695694 +01-06-2019 3:00,10250046.78,0.001391387,0.001391387 +01-06-2019 4:00,10250660.39,0.004869856,0.004869856 +01-06-2019 5:00,10251273.26,0.038958846,0.038958846 +01-06-2019 6:00,10251885.4,0.064699512,0.064699512 +01-06-2019 7:00,10252496.8,0.050089945,0.050089945 +01-06-2019 8:00,10253107.46,0.059133963,0.059133963 +01-06-2019 9:00,10253717.39,0.042437315,0.042437315 +01-06-2019 10:00,10254326.58,0.036871765,0.036871765 +01-06-2019 11:00,10254935.03,0.031306216,0.031306216 +01-06-2019 12:00,10255542.74,0.025044973,0.025044973 +01-06-2019 13:00,10256149.71,0.021566504,0.021566504 +01-06-2019 14:00,10256755.95,0.016696648,0.016696648 +01-06-2019 15:00,10257361.44,0.018783729,0.018783729 +01-06-2019 16:00,10257966.2,0.030610522,0.030610522 +01-06-2019 17:00,10258570.21,0.054264107,0.054264107 +01-06-2019 18:00,10259173.49,0.054959801,0.054959801 +01-06-2019 19:00,10259776.03,0.048698558,0.048698558 +01-06-2019 20:00,10260377.82,0.040350234,0.040350234 +01-06-2019 21:00,10260978.87,0.028523441,0.028523441 +01-06-2019 22:00,10261579.19,0.013913874,0.013913874 +01-06-2019 23:00,10262178.76,0.004869856,0.004869856 +02-06-2019 0:00,10262777.59,0.002782775,0.002782775 +02-06-2019 1:00,10263375.67,0.000695694,0.000695694 +02-06-2019 2:00,10263973.02,0.000695694,0.000695694 +02-06-2019 3:00,10264569.62,0.001391387,0.001391387 +02-06-2019 4:00,10265165.48,0.004869856,0.004869856 +02-06-2019 5:00,10265760.59,0.038958846,0.038958846 +02-06-2019 6:00,10266354.96,0.064699512,0.064699512 +02-06-2019 7:00,10266948.59,0.050089945,0.050089945 +02-06-2019 8:00,10267541.47,0.059133963,0.059133963 +02-06-2019 9:00,10268133.61,0.042437315,0.042437315 +02-06-2019 10:00,10268725,0.036871765,0.036871765 +02-06-2019 11:00,10269315.65,0.031306216,0.031306216 +02-06-2019 12:00,10269905.55,0.025044973,0.025044973 +02-06-2019 13:00,10270494.71,0.021566504,0.021566504 +02-06-2019 14:00,10271083.12,0.016696648,0.016696648 +02-06-2019 15:00,10271670.78,0.018783729,0.018783729 +02-06-2019 16:00,10272257.7,0.030610522,0.030610522 +02-06-2019 17:00,10272843.86,0.054264107,0.054264107 +02-06-2019 18:00,10273429.29,0.054959801,0.054959801 +02-06-2019 19:00,10274013.96,0.048698558,0.048698558 +02-06-2019 20:00,10274597.89,0.040350234,0.040350234 +02-06-2019 21:00,10275181.06,0.028523441,0.028523441 +02-06-2019 22:00,10275763.49,0.013913874,0.013913874 +02-06-2019 23:00,10276345.17,0.004869856,0.004869856 +03-06-2019 0:00,10276926.1,0.002782775,0.002782775 +03-06-2019 1:00,10277506.28,0.000695694,0.000695694 +03-06-2019 2:00,10278085.72,0.000695694,0.000695694 +03-06-2019 3:00,10278664.4,0.001391387,0.001391387 +03-06-2019 4:00,10279242.33,0.004869856,0.004869856 +03-06-2019 5:00,10279819.51,0.038958846,0.038958846 +03-06-2019 6:00,10280395.94,0.064699512,0.064699512 +03-06-2019 7:00,10280971.62,0.050089945,0.050089945 +03-06-2019 8:00,10281546.54,0.059133963,0.059133963 +03-06-2019 9:00,10282120.72,0.042437315,0.042437315 +03-06-2019 10:00,10282694.14,0.036871765,0.036871765 +03-06-2019 11:00,10283266.81,0.031306216,0.031306216 +03-06-2019 12:00,10283838.72,0.025044973,0.025044973 +03-06-2019 13:00,10284409.89,0.021566504,0.021566504 +03-06-2019 14:00,10284980.3,0.016696648,0.016696648 +03-06-2019 15:00,10285549.96,0.018783729,0.018783729 +03-06-2019 16:00,10286118.86,0.030610522,0.030610522 +03-06-2019 17:00,10286687.01,0.054264107,0.054264107 +03-06-2019 18:00,10287254.4,0.054959801,0.054959801 +03-06-2019 19:00,10287821.04,0.048698558,0.048698558 +03-06-2019 20:00,10288386.92,0.040350234,0.040350234 +03-06-2019 21:00,10288952.05,0.028523441,0.028523441 +03-06-2019 22:00,10289516.42,0.013913874,0.013913874 +03-06-2019 23:00,10290080.04,0.004869856,0.004869856 +04-06-2019 0:00,10290642.9,0.002782775,0.002782775 +04-06-2019 1:00,10291205.01,0.000695694,0.000695694 +04-06-2019 2:00,10291766.35,0.000695694,0.000695694 +04-06-2019 3:00,10292326.94,0.001391387,0.001391387 +04-06-2019 4:00,10292886.78,0.004869856,0.004869856 +04-06-2019 5:00,10293445.85,0.038958846,0.038958846 +04-06-2019 6:00,10294004.17,0.064699512,0.064699512 +04-06-2019 7:00,10294561.72,0.050089945,0.050089945 +04-06-2019 8:00,10295118.52,0.059133963,0.059133963 +04-06-2019 9:00,10295674.57,0.042437315,0.042437315 +04-06-2019 10:00,10296229.85,0.036871765,0.036871765 +04-06-2019 11:00,10296784.37,0.031306216,0.031306216 +04-06-2019 12:00,10297338.13,0.025044973,0.025044973 +04-06-2019 13:00,10297891.13,0.021566504,0.021566504 +04-06-2019 14:00,10298443.38,0.016696648,0.016696648 +04-06-2019 15:00,10298994.86,0.018783729,0.018783729 +04-06-2019 16:00,10299545.58,0.030610522,0.030610522 +04-06-2019 17:00,10300095.54,0.054264107,0.054264107 +04-06-2019 18:00,10300644.74,0.054959801,0.054959801 +04-06-2019 19:00,10301193.17,0.048698558,0.048698558 +04-06-2019 20:00,10301740.85,0.040350234,0.040350234 +04-06-2019 21:00,10302287.76,0.028523441,0.028523441 +04-06-2019 22:00,10302833.91,0.013913874,0.013913874 +04-06-2019 23:00,10303379.29,0.004869856,0.004869856 +05-06-2019 0:00,10303923.92,0.002782775,0.002782775 +05-06-2019 1:00,10304467.78,0.000695694,0.000695694 +05-06-2019 2:00,10305010.87,0.000695694,0.000695694 +05-06-2019 3:00,10305553.21,0.001391387,0.001391387 +05-06-2019 4:00,10306094.77,0.004869856,0.004869856 +05-06-2019 5:00,10306635.58,0.038958846,0.038958846 +05-06-2019 6:00,10307175.62,0.064699512,0.064699512 +05-06-2019 7:00,10307714.89,0.050089945,0.050089945 +05-06-2019 8:00,10308253.4,0.059133963,0.059133963 +05-06-2019 9:00,10308791.14,0.042437315,0.042437315 +05-06-2019 10:00,10309328.12,0.036871765,0.036871765 +05-06-2019 11:00,10309864.33,0.031306216,0.031306216 +05-06-2019 12:00,10310399.77,0.025044973,0.025044973 +05-06-2019 13:00,10310934.45,0.021566504,0.021566504 +05-06-2019 14:00,10311468.36,0.016696648,0.016696648 +05-06-2019 15:00,10312001.5,0.018783729,0.018783729 +05-06-2019 16:00,10312533.88,0.030610522,0.030610522 +05-06-2019 17:00,10313065.48,0.054264107,0.054264107 +05-06-2019 18:00,10313596.32,0.054959801,0.054959801 +05-06-2019 19:00,10314126.39,0.048698558,0.048698558 +05-06-2019 20:00,10314655.7,0.040350234,0.040350234 +05-06-2019 21:00,10315184.23,0.028523441,0.028523441 +05-06-2019 22:00,10315711.99,0.013913874,0.013913874 +05-06-2019 23:00,10316238.99,0.004869856,0.004869856 +06-06-2019 0:00,10316765.21,0.002782775,0.002782775 +06-06-2019 1:00,10317290.67,0.000695694,0.000695694 +06-06-2019 2:00,10317815.35,0.000695694,0.000695694 +06-06-2019 3:00,10318339.27,0.001391387,0.001391387 +06-06-2019 4:00,10318862.41,0.004869856,0.004869856 +06-06-2019 5:00,10319384.78,0.038958846,0.038958846 +06-06-2019 6:00,10319906.38,0.064699512,0.064699512 +06-06-2019 7:00,10320427.21,0.050089945,0.050089945 +06-06-2019 8:00,10320947.27,0.059133963,0.059133963 +06-06-2019 9:00,10321466.55,0.042437315,0.042437315 +06-06-2019 10:00,10321985.07,0.036871765,0.036871765 +06-06-2019 11:00,10322502.81,0.031306216,0.031306216 +06-06-2019 12:00,10323019.77,0.025044973,0.025044973 +06-06-2019 13:00,10323535.97,0.021566504,0.021566504 +06-06-2019 14:00,10324051.39,0.016696648,0.016696648 +06-06-2019 15:00,10324566.03,0.018783729,0.018783729 +06-06-2019 16:00,10325079.91,0.030610522,0.030610522 +06-06-2019 17:00,10325593,0.054264107,0.054264107 +06-06-2019 18:00,10326105.33,0.054959801,0.054959801 +06-06-2019 19:00,10326616.88,0.048698558,0.048698558 +06-06-2019 20:00,10327127.65,0.040350234,0.040350234 +06-06-2019 21:00,10327637.65,0.028523441,0.028523441 +06-06-2019 22:00,10328146.87,0.013913874,0.013913874 +06-06-2019 23:00,10328655.32,0.004869856,0.004869856 +07-06-2019 0:00,10329162.99,0.002782775,0.002782775 +07-06-2019 1:00,10329669.88,0.000695694,0.000695694 +07-06-2019 2:00,10330176,0.000695694,0.000695694 +07-06-2019 3:00,10330681.34,0.001391387,0.001391387 +07-06-2019 4:00,10331185.9,0.004869856,0.004869856 +07-06-2019 5:00,10331689.69,0.038958846,0.038958846 +07-06-2019 6:00,10332192.7,0.064699512,0.064699512 +07-06-2019 7:00,10332694.93,0.050089945,0.050089945 +07-06-2019 8:00,10333196.38,0.059133963,0.059133963 +07-06-2019 9:00,10333697.05,0.042437315,0.042437315 +07-06-2019 10:00,10334196.95,0.036871765,0.036871765 +07-06-2019 11:00,10334696.06,0.031306216,0.031306216 +07-06-2019 12:00,10335194.4,0.025044973,0.025044973 +07-06-2019 13:00,10335691.96,0.021566504,0.021566504 +07-06-2019 14:00,10336188.73,0.016696648,0.016696648 +07-06-2019 15:00,10336684.73,0.018783729,0.018783729 +07-06-2019 16:00,10337179.95,0.030610522,0.030610522 +07-06-2019 17:00,10337674.38,0.054264107,0.054264107 +07-06-2019 18:00,10338168.04,0.054959801,0.054959801 +07-06-2019 19:00,10338660.91,0.048698558,0.048698558 +07-06-2019 20:00,10339153.01,0.040350234,0.040350234 +07-06-2019 21:00,10339644.32,0.028523441,0.028523441 +07-06-2019 22:00,10340134.85,0.013913874,0.013913874 +07-06-2019 23:00,10340624.6,0.004869856,0.004869856 +08-06-2019 0:00,10341113.56,0.002782775,0.002782775 +08-06-2019 1:00,10341601.75,0.000695694,0.000695694 +08-06-2019 2:00,10342089.15,0.000695694,0.000695694 +08-06-2019 3:00,10342575.76,0.001391387,0.001391387 +08-06-2019 4:00,10343061.6,0.004869856,0.004869856 +08-06-2019 5:00,10343546.65,0.038958846,0.038958846 +08-06-2019 6:00,10344030.91,0.064699512,0.064699512 +08-06-2019 7:00,10344514.4,0.050089945,0.050089945 +08-06-2019 8:00,10344997.09,0.059133963,0.059133963 +08-06-2019 9:00,10345479.01,0.042437315,0.042437315 +08-06-2019 10:00,10345960.14,0.036871765,0.036871765 +08-06-2019 11:00,10346440.48,0.031306216,0.031306216 +08-06-2019 12:00,10346920.04,0.025044973,0.025044973 +08-06-2019 13:00,10347398.81,0.021566504,0.021566504 +08-06-2019 14:00,10347876.8,0.016696648,0.016696648 +08-06-2019 15:00,10348354,0.018783729,0.018783729 +08-06-2019 16:00,10348830.42,0.030610522,0.030610522 +08-06-2019 17:00,10349306.04,0.054264107,0.054264107 +08-06-2019 18:00,10349780.89,0.054959801,0.054959801 +08-06-2019 19:00,10350254.94,0.048698558,0.048698558 +08-06-2019 20:00,10350728.21,0.040350234,0.040350234 +08-06-2019 21:00,10351200.69,0.028523441,0.028523441 +08-06-2019 22:00,10351672.38,0.013913874,0.013913874 +08-06-2019 23:00,10352143.28,0.004869856,0.004869856 +09-06-2019 0:00,10352613.4,0.002782775,0.002782775 +09-06-2019 1:00,10353082.73,0.000695694,0.000695694 +09-06-2019 2:00,10353551.26,0.000695694,0.000695694 +09-06-2019 3:00,10354019.01,0.001391387,0.001391387 +09-06-2019 4:00,10354485.98,0.004869856,0.004869856 +09-06-2019 5:00,10354952.15,0.038958846,0.038958846 +09-06-2019 6:00,10355417.53,0.064699512,0.064699512 +09-06-2019 7:00,10355882.12,0.050089945,0.050089945 +09-06-2019 8:00,10356345.92,0.059133963,0.059133963 +09-06-2019 9:00,10356808.93,0.042437315,0.042437315 +09-06-2019 10:00,10357271.15,0.036871765,0.036871765 +09-06-2019 11:00,10357732.58,0.031306216,0.031306216 +09-06-2019 12:00,10358193.22,0.025044973,0.025044973 +09-06-2019 13:00,10358653.07,0.021566504,0.021566504 +09-06-2019 14:00,10359112.12,0.016696648,0.016696648 +09-06-2019 15:00,10359570.39,0.018783729,0.018783729 +09-06-2019 16:00,10360027.86,0.030610522,0.030610522 +09-06-2019 17:00,10360484.54,0.054264107,0.054264107 +09-06-2019 18:00,10360940.42,0.054959801,0.054959801 +09-06-2019 19:00,10361395.52,0.048698558,0.048698558 +09-06-2019 20:00,10361849.82,0.040350234,0.040350234 +09-06-2019 21:00,10362303.33,0.028523441,0.028523441 +09-06-2019 22:00,10362756.04,0.013913874,0.013913874 +09-06-2019 23:00,10363207.96,0.004869856,0.004869856 +10-06-2019 0:00,10363659.09,0.002782775,0.002782775 +10-06-2019 1:00,10364109.42,0.000695694,0.000695694 +10-06-2019 2:00,10364558.96,0.000695694,0.000695694 +10-06-2019 3:00,10365007.7,0.001391387,0.001391387 +10-06-2019 4:00,10365455.65,0.004869856,0.004869856 +10-06-2019 5:00,10365902.81,0.038958846,0.038958846 +10-06-2019 6:00,10366349.16,0.064699512,0.064699512 +10-06-2019 7:00,10366794.73,0.050089945,0.050089945 +10-06-2019 8:00,10367239.49,0.059133963,0.059133963 +10-06-2019 9:00,10367683.47,0.042437315,0.042437315 +10-06-2019 10:00,10368126.64,0.036871765,0.036871765 +10-06-2019 11:00,10368569.02,0.031306216,0.031306216 +10-06-2019 12:00,10369010.6,0.025044973,0.025044973 +10-06-2019 13:00,10369451.39,0.021566504,0.021566504 +10-06-2019 14:00,10369891.37,0.016696648,0.016696648 +10-06-2019 15:00,10370330.56,0.018783729,0.018783729 +10-06-2019 16:00,10370768.96,0.030610522,0.030610522 +10-06-2019 17:00,10371206.55,0.054264107,0.054264107 +10-06-2019 18:00,10371643.35,0.054959801,0.054959801 +10-06-2019 19:00,10372079.35,0.048698558,0.048698558 +10-06-2019 20:00,10372514.55,0.040350234,0.040350234 +10-06-2019 21:00,10372948.95,0.028523441,0.028523441 +10-06-2019 22:00,10373382.55,0.013913874,0.013913874 +10-06-2019 23:00,10373815.36,0.004869856,0.004869856 +11-06-2019 0:00,10374247.36,0.002782775,0.002782775 +11-06-2019 1:00,10374678.56,0.000695694,0.000695694 +11-06-2019 2:00,10375108.97,0.000695694,0.000695694 +11-06-2019 3:00,10375538.57,0.001391387,0.001391387 +11-06-2019 4:00,10375967.38,0.004869856,0.004869856 +11-06-2019 5:00,10376395.38,0.038958846,0.038958846 +11-06-2019 6:00,10376822.58,0.064699512,0.064699512 +11-06-2019 7:00,10377248.99,0.050089945,0.050089945 +11-06-2019 8:00,10377674.59,0.059133963,0.059133963 +11-06-2019 9:00,10378099.39,0.042437315,0.042437315 +11-06-2019 10:00,10378523.39,0.036871765,0.036871765 +11-06-2019 11:00,10378946.58,0.031306216,0.031306216 +11-06-2019 12:00,10379368.98,0.025044973,0.025044973 +11-06-2019 13:00,10379790.57,0.021566504,0.021566504 +11-06-2019 14:00,10380211.36,0.016696648,0.016696648 +11-06-2019 15:00,10380631.35,0.018783729,0.018783729 +11-06-2019 16:00,10381050.53,0.030610522,0.030610522 +11-06-2019 17:00,10381468.91,0.054264107,0.054264107 +11-06-2019 18:00,10381886.49,0.054959801,0.054959801 +11-06-2019 19:00,10382303.26,0.048698558,0.048698558 +11-06-2019 20:00,10382719.23,0.040350234,0.040350234 +11-06-2019 21:00,10383134.4,0.028523441,0.028523441 +11-06-2019 22:00,10383548.76,0.013913874,0.013913874 +11-06-2019 23:00,10383962.32,0.004869856,0.004869856 +12-06-2019 0:00,10384375.07,0.002782775,0.002782775 +12-06-2019 1:00,10384787.02,0.000695694,0.000695694 +12-06-2019 2:00,10385198.16,0.000695694,0.000695694 +12-06-2019 3:00,10385608.5,0.001391387,0.001391387 +12-06-2019 4:00,10386018.04,0.004869856,0.004869856 +12-06-2019 5:00,10386426.76,0.038958846,0.038958846 +12-06-2019 6:00,10386834.68,0.064699512,0.064699512 +12-06-2019 7:00,10387241.8,0.050089945,0.050089945 +12-06-2019 8:00,10387648.11,0.059133963,0.059133963 +12-06-2019 9:00,10388053.61,0.042437315,0.042437315 +12-06-2019 10:00,10388458.31,0.036871765,0.036871765 +12-06-2019 11:00,10388862.2,0.031306216,0.031306216 +12-06-2019 12:00,10389265.28,0.025044973,0.025044973 +12-06-2019 13:00,10389667.55,0.021566504,0.021566504 +12-06-2019 14:00,10390069.02,0.016696648,0.016696648 +12-06-2019 15:00,10390469.68,0.018783729,0.018783729 +12-06-2019 16:00,10390869.53,0.030610522,0.030610522 +12-06-2019 17:00,10391268.57,0.054264107,0.054264107 +12-06-2019 18:00,10391666.81,0.054959801,0.054959801 +12-06-2019 19:00,10392064.23,0.048698558,0.048698558 +12-06-2019 20:00,10392460.85,0.040350234,0.040350234 +12-06-2019 21:00,10392856.66,0.028523441,0.028523441 +12-06-2019 22:00,10393251.66,0.013913874,0.013913874 +12-06-2019 23:00,10393645.85,0.004869856,0.004869856 +13-06-2019 0:00,10394039.23,0.002782775,0.002782775 +13-06-2019 1:00,10394431.8,0.000695694,0.000695694 +13-06-2019 2:00,10394823.56,0.000695694,0.000695694 +13-06-2019 3:00,10395214.51,0.001391387,0.001391387 +13-06-2019 4:00,10395604.65,0.004869856,0.004869856 +13-06-2019 5:00,10395993.98,0.038958846,0.038958846 +13-06-2019 6:00,10396382.5,0.064699512,0.064699512 +13-06-2019 7:00,10396770.21,0.050089945,0.050089945 +13-06-2019 8:00,10397157.1,0.059133963,0.059133963 +13-06-2019 9:00,10397543.19,0.042437315,0.042437315 +13-06-2019 10:00,10397928.46,0.036871765,0.036871765 +13-06-2019 11:00,10398312.92,0.031306216,0.031306216 +13-06-2019 12:00,10398696.57,0.025044973,0.025044973 +13-06-2019 13:00,10399079.41,0.021566504,0.021566504 +13-06-2019 14:00,10399461.43,0.016696648,0.016696648 +13-06-2019 15:00,10399842.65,0.018783729,0.018783729 +13-06-2019 16:00,10400223.05,0.030610522,0.030610522 +13-06-2019 17:00,10400602.63,0.054264107,0.054264107 +13-06-2019 18:00,10400981.41,0.054959801,0.054959801 +13-06-2019 19:00,10401359.37,0.048698558,0.048698558 +13-06-2019 20:00,10401736.51,0.040350234,0.040350234 +13-06-2019 21:00,10402112.85,0.028523441,0.028523441 +13-06-2019 22:00,10402488.37,0.013913874,0.013913874 +13-06-2019 23:00,10402863.07,0.004869856,0.004869856 +14-06-2019 0:00,10403236.96,0.002782775,0.002782775 +14-06-2019 1:00,10403610.04,0.000695694,0.000695694 +14-06-2019 2:00,10403982.3,0.000695694,0.000695694 +14-06-2019 3:00,10404353.75,0.001391387,0.001391387 +14-06-2019 4:00,10404724.38,0.004869856,0.004869856 +14-06-2019 5:00,10405094.19,0.038958846,0.038958846 +14-06-2019 6:00,10405463.19,0.064699512,0.064699512 +14-06-2019 7:00,10405831.38,0.050089945,0.050089945 +14-06-2019 8:00,10406198.75,0.059133963,0.059133963 +14-06-2019 9:00,10406565.3,0.042437315,0.042437315 +14-06-2019 10:00,10406931.04,0.036871765,0.036871765 +14-06-2019 11:00,10407295.96,0.031306216,0.031306216 +14-06-2019 12:00,10407660.06,0.025044973,0.025044973 +14-06-2019 13:00,10408023.35,0.021566504,0.021566504 +14-06-2019 14:00,10408385.82,0.016696648,0.016696648 +14-06-2019 15:00,10408747.47,0.018783729,0.018783729 +14-06-2019 16:00,10409108.31,0.030610522,0.030610522 +14-06-2019 17:00,10409468.33,0.054264107,0.054264107 +14-06-2019 18:00,10409827.53,0.054959801,0.054959801 +14-06-2019 19:00,10410185.91,0.048698558,0.048698558 +14-06-2019 20:00,10410543.48,0.040350234,0.040350234 +14-06-2019 21:00,10410900.22,0.028523441,0.028523441 +14-06-2019 22:00,10411256.15,0.013913874,0.013913874 +14-06-2019 23:00,10411611.26,0.004869856,0.004869856 +15-06-2019 0:00,10411965.55,0.002782775,0.002782775 +15-06-2019 1:00,10412319.02,0.000695694,0.000695694 +15-06-2019 2:00,10412671.67,0.000695694,0.000695694 +15-06-2019 3:00,10413023.5,0.001391387,0.001391387 +15-06-2019 4:00,10413374.52,0.004869856,0.004869856 +15-06-2019 5:00,10413724.71,0.038958846,0.038958846 +15-06-2019 6:00,10414074.08,0.064699512,0.064699512 +15-06-2019 7:00,10414422.64,0.050089945,0.050089945 +15-06-2019 8:00,10414770.37,0.059133963,0.059133963 +15-06-2019 9:00,10415117.28,0.042437315,0.042437315 +15-06-2019 10:00,10415463.38,0.036871765,0.036871765 +15-06-2019 11:00,10415808.65,0.031306216,0.031306216 +15-06-2019 12:00,10416153.1,0.025044973,0.025044973 +15-06-2019 13:00,10416496.73,0.021566504,0.021566504 +15-06-2019 14:00,10416839.53,0.016696648,0.016696648 +15-06-2019 15:00,10417181.52,0.018783729,0.018783729 +15-06-2019 16:00,10417522.69,0.030610522,0.030610522 +15-06-2019 17:00,10417863.03,0.054264107,0.054264107 +15-06-2019 18:00,10418202.55,0.054959801,0.054959801 +15-06-2019 19:00,10418541.25,0.048698558,0.048698558 +15-06-2019 20:00,10418879.12,0.040350234,0.040350234 +15-06-2019 21:00,10419216.18,0.028523441,0.028523441 +15-06-2019 22:00,10419552.41,0.013913874,0.013913874 +15-06-2019 23:00,10419887.82,0.004869856,0.004869856 +16-06-2019 0:00,10420222.4,0.002782775,0.002782775 +16-06-2019 1:00,10420556.16,0.000695694,0.000695694 +16-06-2019 2:00,10420889.1,0.000695694,0.000695694 +16-06-2019 3:00,10421221.22,0.001391387,0.001391387 +16-06-2019 4:00,10421552.51,0.004869856,0.004869856 +16-06-2019 5:00,10421882.97,0.038958846,0.038958846 +16-06-2019 6:00,10422212.62,0.064699512,0.064699512 +16-06-2019 7:00,10422541.43,0.050089945,0.050089945 +16-06-2019 8:00,10422869.43,0.059133963,0.059133963 +16-06-2019 9:00,10423196.6,0.042437315,0.042437315 +16-06-2019 10:00,10423522.94,0.036871765,0.036871765 +16-06-2019 11:00,10423848.46,0.031306216,0.031306216 +16-06-2019 12:00,10424173.16,0.025044973,0.025044973 +16-06-2019 13:00,10424497.03,0.021566504,0.021566504 +16-06-2019 14:00,10424820.07,0.016696648,0.016696648 +16-06-2019 15:00,10425142.29,0.018783729,0.018783729 +16-06-2019 16:00,10425463.68,0.030610522,0.030610522 +16-06-2019 17:00,10425784.25,0.054264107,0.054264107 +16-06-2019 18:00,10426103.99,0.054959801,0.054959801 +16-06-2019 19:00,10426422.9,0.048698558,0.048698558 +16-06-2019 20:00,10426740.99,0.040350234,0.040350234 +16-06-2019 21:00,10427058.25,0.028523441,0.028523441 +16-06-2019 22:00,10427374.69,0.013913874,0.013913874 +16-06-2019 23:00,10427690.29,0.004869856,0.004869856 +17-06-2019 0:00,10428005.07,0.002782775,0.002782775 +17-06-2019 1:00,10428319.03,0.000695694,0.000695694 +17-06-2019 2:00,10428632.15,0.000695694,0.000695694 +17-06-2019 3:00,10428944.45,0.001391387,0.001391387 +17-06-2019 4:00,10429255.92,0.004869856,0.004869856 +17-06-2019 5:00,10429566.56,0.038958846,0.038958846 +17-06-2019 6:00,10429876.38,0.064699512,0.064699512 +17-06-2019 7:00,10430185.36,0.050089945,0.050089945 +17-06-2019 8:00,10430493.52,0.059133963,0.059133963 +17-06-2019 9:00,10430800.85,0.042437315,0.042437315 +17-06-2019 10:00,10431107.35,0.036871765,0.036871765 +17-06-2019 11:00,10431413.02,0.031306216,0.031306216 +17-06-2019 12:00,10431717.87,0.025044973,0.025044973 +17-06-2019 13:00,10432021.88,0.021566504,0.021566504 +17-06-2019 14:00,10432325.06,0.016696648,0.016696648 +17-06-2019 15:00,10432627.42,0.018783729,0.018783729 +17-06-2019 16:00,10432928.94,0.030610522,0.030610522 +17-06-2019 17:00,10433229.64,0.054264107,0.054264107 +17-06-2019 18:00,10433529.5,0.054959801,0.054959801 +17-06-2019 19:00,10433828.54,0.048698558,0.048698558 +17-06-2019 20:00,10434126.74,0.040350234,0.040350234 +17-06-2019 21:00,10434424.12,0.028523441,0.028523441 +17-06-2019 22:00,10434720.66,0.013913874,0.013913874 +17-06-2019 23:00,10435016.38,0.004869856,0.004869856 +18-06-2019 0:00,10435311.26,0.002782775,0.002782775 +18-06-2019 1:00,10435605.31,0.000695694,0.000695694 +18-06-2019 2:00,10435898.53,0.000695694,0.000695694 +18-06-2019 3:00,10436190.92,0.001391387,0.001391387 +18-06-2019 4:00,10436482.48,0.004869856,0.004869856 +18-06-2019 5:00,10436773.2,0.038958846,0.038958846 +18-06-2019 6:00,10437063.1,0.064699512,0.064699512 +18-06-2019 7:00,10437352.16,0.050089945,0.050089945 +18-06-2019 8:00,10437640.39,0.059133963,0.059133963 +18-06-2019 9:00,10437927.79,0.042437315,0.042437315 +18-06-2019 10:00,10438214.35,0.036871765,0.036871765 +18-06-2019 11:00,10438500.09,0.031306216,0.031306216 +18-06-2019 12:00,10438784.99,0.025044973,0.025044973 +18-06-2019 13:00,10439069.05,0.021566504,0.021566504 +18-06-2019 14:00,10439352.29,0.016696648,0.016696648 +18-06-2019 15:00,10439634.69,0.018783729,0.018783729 +18-06-2019 16:00,10439916.26,0.030610522,0.030610522 +18-06-2019 17:00,10440196.99,0.054264107,0.054264107 +18-06-2019 18:00,10440476.9,0.054959801,0.054959801 +18-06-2019 19:00,10440755.96,0.048698558,0.048698558 +18-06-2019 20:00,10441034.2,0.040350234,0.040350234 +18-06-2019 21:00,10441311.6,0.028523441,0.028523441 +18-06-2019 22:00,10441588.16,0.013913874,0.013913874 +18-06-2019 23:00,10441863.9,0.004869856,0.004869856 +19-06-2019 0:00,10442138.79,0.002782775,0.002782775 +19-06-2019 1:00,10442412.86,0.000695694,0.000695694 +19-06-2019 2:00,10442686.08,0.000695694,0.000695694 +19-06-2019 3:00,10442958.48,0.001391387,0.001391387 +19-06-2019 4:00,10443230.04,0.004869856,0.004869856 +19-06-2019 5:00,10443500.76,0.038958846,0.038958846 +19-06-2019 6:00,10443770.65,0.064699512,0.064699512 +19-06-2019 7:00,10444039.7,0.050089945,0.050089945 +19-06-2019 8:00,10444307.92,0.059133963,0.059133963 +19-06-2019 9:00,10444575.3,0.042437315,0.042437315 +19-06-2019 10:00,10444841.84,0.036871765,0.036871765 +19-06-2019 11:00,10445107.55,0.031306216,0.031306216 +19-06-2019 12:00,10445372.43,0.025044973,0.025044973 +19-06-2019 13:00,10445636.47,0.021566504,0.021566504 +19-06-2019 14:00,10445899.67,0.016696648,0.016696648 +19-06-2019 15:00,10446162.03,0.018783729,0.018783729 +19-06-2019 16:00,10446423.56,0.030610522,0.030610522 +19-06-2019 17:00,10446684.25,0.054264107,0.054264107 +19-06-2019 18:00,10446944.11,0.054959801,0.054959801 +19-06-2019 19:00,10447203.12,0.048698558,0.048698558 +19-06-2019 20:00,10447461.3,0.040350234,0.040350234 +19-06-2019 21:00,10447718.65,0.028523441,0.028523441 +19-06-2019 22:00,10447975.15,0.013913874,0.013913874 +19-06-2019 23:00,10448230.82,0.004869856,0.004869856 +20-06-2019 0:00,10448485.65,0.002782775,0.002782775 +20-06-2019 1:00,10448739.64,0.000695694,0.000695694 +20-06-2019 2:00,10448992.8,0.000695694,0.000695694 +20-06-2019 3:00,10449245.12,0.001391387,0.001391387 +20-06-2019 4:00,10449496.6,0.004869856,0.004869856 +20-06-2019 5:00,10449747.24,0.038958846,0.038958846 +20-06-2019 6:00,10449997.04,0.064699512,0.064699512 +20-06-2019 7:00,10450246,0.050089945,0.050089945 +20-06-2019 8:00,10450494.13,0.059133963,0.059133963 +20-06-2019 9:00,10450741.41,0.042437315,0.042437315 +20-06-2019 10:00,10450987.86,0.036871765,0.036871765 +20-06-2019 11:00,10451233.47,0.031306216,0.031306216 +20-06-2019 12:00,10451478.24,0.025044973,0.025044973 +20-06-2019 13:00,10451722.16,0.021566504,0.021566504 +20-06-2019 14:00,10451965.25,0.016696648,0.016696648 +20-06-2019 15:00,10452207.5,0.018783729,0.018783729 +20-06-2019 16:00,10452448.92,0.030610522,0.030610522 +20-06-2019 17:00,10452689.49,0.054264107,0.054264107 +20-06-2019 18:00,10452929.22,0.054959801,0.054959801 +20-06-2019 19:00,10453168.11,0.048698558,0.048698558 +20-06-2019 20:00,10453406.16,0.040350234,0.040350234 +20-06-2019 21:00,10453643.37,0.028523441,0.028523441 +20-06-2019 22:00,10453879.74,0.013913874,0.013913874 +20-06-2019 23:00,10454115.27,0.004869856,0.004869856 +21-06-2019 0:00,10454349.96,0.002782775,0.002782775 +21-06-2019 1:00,10454583.8,0.000695694,0.000695694 +21-06-2019 2:00,10454816.81,0.000695694,0.000695694 +21-06-2019 3:00,10455048.98,0.001391387,0.001391387 +21-06-2019 4:00,10455280.3,0.004869856,0.004869856 +21-06-2019 5:00,10455510.78,0.038958846,0.038958846 +21-06-2019 6:00,10455740.43,0.064699512,0.064699512 +21-06-2019 7:00,10455969.23,0.050089945,0.050089945 +21-06-2019 8:00,10456197.18,0.059133963,0.059133963 +21-06-2019 9:00,10456424.3,0.042437315,0.042437315 +21-06-2019 10:00,10456650.58,0.036871765,0.036871765 +21-06-2019 11:00,10456876.01,0.031306216,0.031306216 +21-06-2019 12:00,10457100.6,0.025044973,0.025044973 +21-06-2019 13:00,10457324.35,0.021566504,0.021566504 +21-06-2019 14:00,10457547.26,0.016696648,0.016696648 +21-06-2019 15:00,10457769.32,0.018783729,0.018783729 +21-06-2019 16:00,10457990.54,0.030610522,0.030610522 +21-06-2019 17:00,10458210.92,0.054264107,0.054264107 +21-06-2019 18:00,10458430.46,0.054959801,0.054959801 +21-06-2019 19:00,10458649.15,0.048698558,0.048698558 +21-06-2019 20:00,10458867,0.040350234,0.040350234 +21-06-2019 21:00,10459084.01,0.028523441,0.028523441 +21-06-2019 22:00,10459300.17,0.013913874,0.013913874 +21-06-2019 23:00,10459515.49,0.004869856,0.004869856 +22-06-2019 0:00,10459729.97,0.002782775,0.002782775 +22-06-2019 1:00,10459943.6,0.000695694,0.000695694 +22-06-2019 2:00,10460156.39,0.000695694,0.000695694 +22-06-2019 3:00,10460368.33,0.001391387,0.001391387 +22-06-2019 4:00,10460579.44,0.004869856,0.004869856 +22-06-2019 5:00,10460789.69,0.038958846,0.038958846 +22-06-2019 6:00,10460999.11,0.064699512,0.064699512 +22-06-2019 7:00,10461207.68,0.050089945,0.050089945 +22-06-2019 8:00,10461415.4,0.059133963,0.059133963 +22-06-2019 9:00,10461622.28,0.042437315,0.042437315 +22-06-2019 10:00,10461828.32,0.036871765,0.036871765 +22-06-2019 11:00,10462033.51,0.031306216,0.031306216 +22-06-2019 12:00,10462237.86,0.025044973,0.025044973 +22-06-2019 13:00,10462441.36,0.021566504,0.021566504 +22-06-2019 14:00,10462644.02,0.016696648,0.016696648 +22-06-2019 15:00,10462845.83,0.018783729,0.018783729 +22-06-2019 16:00,10463046.8,0.030610522,0.030610522 +22-06-2019 17:00,10463246.92,0.054264107,0.054264107 +22-06-2019 18:00,10463446.19,0.054959801,0.054959801 +22-06-2019 19:00,10463644.62,0.048698558,0.048698558 +22-06-2019 20:00,10463842.21,0.040350234,0.040350234 +22-06-2019 21:00,10464038.95,0.028523441,0.028523441 +22-06-2019 22:00,10464234.84,0.013913874,0.013913874 +22-06-2019 23:00,10464429.89,0.004869856,0.004869856 +23-06-2019 0:00,10464624.09,0.002782775,0.002782775 +23-06-2019 1:00,10464817.45,0.000695694,0.000695694 +23-06-2019 2:00,10465009.95,0.000695694,0.000695694 +23-06-2019 3:00,10465201.62,0.001391387,0.001391387 +23-06-2019 4:00,10465392.43,0.004869856,0.004869856 +23-06-2019 5:00,10465582.4,0.038958846,0.038958846 +23-06-2019 6:00,10465771.53,0.064699512,0.064699512 +23-06-2019 7:00,10465959.8,0.050089945,0.050089945 +23-06-2019 8:00,10466147.23,0.059133963,0.059133963 +23-06-2019 9:00,10466333.82,0.042437315,0.042437315 +23-06-2019 10:00,10466519.55,0.036871765,0.036871765 +23-06-2019 11:00,10466704.44,0.031306216,0.031306216 +23-06-2019 12:00,10466888.48,0.025044973,0.025044973 +23-06-2019 13:00,10467071.68,0.021566504,0.021566504 +23-06-2019 14:00,10467254.03,0.016696648,0.016696648 +23-06-2019 15:00,10467435.53,0.018783729,0.018783729 +23-06-2019 16:00,10467616.18,0.030610522,0.030610522 +23-06-2019 17:00,10467795.98,0.054264107,0.054264107 +23-06-2019 18:00,10467974.94,0.054959801,0.054959801 +23-06-2019 19:00,10468153.05,0.048698558,0.048698558 +23-06-2019 20:00,10468330.31,0.040350234,0.040350234 +23-06-2019 21:00,10468506.72,0.028523441,0.028523441 +23-06-2019 22:00,10468682.29,0.013913874,0.013913874 +23-06-2019 23:00,10468857.01,0.004869856,0.004869856 +24-06-2019 0:00,10469030.88,0.002782775,0.002782775 +24-06-2019 1:00,10469203.9,0.000695694,0.000695694 +24-06-2019 2:00,10469376.07,0.000695694,0.000695694 +24-06-2019 3:00,10469547.39,0.001391387,0.001391387 +24-06-2019 4:00,10469717.87,0.004869856,0.004869856 +24-06-2019 5:00,10469887.49,0.038958846,0.038958846 +24-06-2019 6:00,10470056.27,0.064699512,0.064699512 +24-06-2019 7:00,10470224.2,0.050089945,0.050089945 +24-06-2019 8:00,10470391.28,0.059133963,0.059133963 +24-06-2019 9:00,10470557.51,0.042437315,0.042437315 +24-06-2019 10:00,10470722.89,0.036871765,0.036871765 +24-06-2019 11:00,10470887.42,0.031306216,0.031306216 +24-06-2019 12:00,10471051.1,0.025044973,0.025044973 +24-06-2019 13:00,10471213.94,0.021566504,0.021566504 +24-06-2019 14:00,10471375.92,0.016696648,0.016696648 +24-06-2019 15:00,10471537.05,0.018783729,0.018783729 +24-06-2019 16:00,10471697.34,0.030610522,0.030610522 +24-06-2019 17:00,10471856.77,0.054264107,0.054264107 +24-06-2019 18:00,10472015.36,0.054959801,0.054959801 +24-06-2019 19:00,10472173.09,0.048698558,0.048698558 +24-06-2019 20:00,10472329.98,0.040350234,0.040350234 +24-06-2019 21:00,10472486.01,0.028523441,0.028523441 +24-06-2019 22:00,10472641.2,0.013913874,0.013913874 +24-06-2019 23:00,10472795.53,0.004869856,0.004869856 +25-06-2019 0:00,10472949.02,0.002782775,0.002782775 +25-06-2019 1:00,10473101.65,0.000695694,0.000695694 +25-06-2019 2:00,10473253.44,0.000695694,0.000695694 +25-06-2019 3:00,10473404.37,0.001391387,0.001391387 +25-06-2019 4:00,10473554.45,0.004869856,0.004869856 +25-06-2019 5:00,10473703.68,0.038958846,0.038958846 +25-06-2019 6:00,10473852.06,0.064699512,0.064699512 +25-06-2019 7:00,10473999.59,0.050089945,0.050089945 +25-06-2019 8:00,10474146.27,0.059133963,0.059133963 +25-06-2019 9:00,10474292.1,0.042437315,0.042437315 +25-06-2019 10:00,10474437.08,0.036871765,0.036871765 +25-06-2019 11:00,10474581.2,0.031306216,0.031306216 +25-06-2019 12:00,10474724.48,0.025044973,0.025044973 +25-06-2019 13:00,10474866.9,0.021566504,0.021566504 +25-06-2019 14:00,10475008.47,0.016696648,0.016696648 +25-06-2019 15:00,10475149.2,0.018783729,0.018783729 +25-06-2019 16:00,10475289.06,0.030610522,0.030610522 +25-06-2019 17:00,10475428.08,0.054264107,0.054264107 +25-06-2019 18:00,10475566.25,0.054959801,0.054959801 +25-06-2019 19:00,10475703.56,0.048698558,0.048698558 +25-06-2019 20:00,10475840.02,0.040350234,0.040350234 +25-06-2019 21:00,10475975.64,0.028523441,0.028523441 +25-06-2019 22:00,10476110.39,0.013913874,0.013913874 +25-06-2019 23:00,10476244.3,0.004869856,0.004869856 +26-06-2019 0:00,10476377.36,0.002782775,0.002782775 +26-06-2019 1:00,10476509.56,0.000695694,0.000695694 +26-06-2019 2:00,10476640.91,0.000695694,0.000695694 +26-06-2019 3:00,10476771.41,0.001391387,0.001391387 +26-06-2019 4:00,10476901.05,0.004869856,0.004869856 +26-06-2019 5:00,10477029.84,0.038958846,0.038958846 +26-06-2019 6:00,10477157.79,0.064699512,0.064699512 +26-06-2019 7:00,10477284.87,0.050089945,0.050089945 +26-06-2019 8:00,10477411.11,0.059133963,0.059133963 +26-06-2019 9:00,10477536.49,0.042437315,0.042437315 +26-06-2019 10:00,10477661.02,0.036871765,0.036871765 +26-06-2019 11:00,10477784.7,0.031306216,0.031306216 +26-06-2019 12:00,10477907.52,0.025044973,0.025044973 +26-06-2019 13:00,10478029.5,0.021566504,0.021566504 +26-06-2019 14:00,10478150.61,0.016696648,0.016696648 +26-06-2019 15:00,10478270.88,0.018783729,0.018783729 +26-06-2019 16:00,10478390.29,0.030610522,0.030610522 +26-06-2019 17:00,10478508.85,0.054264107,0.054264107 +26-06-2019 18:00,10478626.56,0.054959801,0.054959801 +26-06-2019 19:00,10478743.41,0.048698558,0.048698558 +26-06-2019 20:00,10478859.41,0.040350234,0.040350234 +26-06-2019 21:00,10478974.56,0.028523441,0.028523441 +26-06-2019 22:00,10479088.85,0.013913874,0.013913874 +26-06-2019 23:00,10479202.29,0.004869856,0.004869856 +27-06-2019 0:00,10479314.87,0.002782775,0.002782775 +27-06-2019 1:00,10479426.6,0.000695694,0.000695694 +27-06-2019 2:00,10479537.48,0.000695694,0.000695694 +27-06-2019 3:00,10479647.51,0.001391387,0.001391387 +27-06-2019 4:00,10479756.68,0.004869856,0.004869856 +27-06-2019 5:00,10479864.99,0.038958846,0.038958846 +27-06-2019 6:00,10479972.46,0.064699512,0.064699512 +27-06-2019 7:00,10480079.06,0.050089945,0.050089945 +27-06-2019 8:00,10480184.82,0.059133963,0.059133963 +27-06-2019 9:00,10480289.72,0.042437315,0.042437315 +27-06-2019 10:00,10480393.77,0.036871765,0.036871765 +27-06-2019 11:00,10480496.96,0.031306216,0.031306216 +27-06-2019 12:00,10480599.3,0.025044973,0.025044973 +27-06-2019 13:00,10480700.78,0.021566504,0.021566504 +27-06-2019 14:00,10480801.41,0.016696648,0.016696648 +27-06-2019 15:00,10480901.18,0.018783729,0.018783729 +27-06-2019 16:00,10481000.1,0.030610522,0.030610522 +27-06-2019 17:00,10481098.17,0.054264107,0.054264107 +27-06-2019 18:00,10481195.38,0.054959801,0.054959801 +27-06-2019 19:00,10481291.74,0.048698558,0.048698558 +27-06-2019 20:00,10481387.24,0.040350234,0.040350234 +27-06-2019 21:00,10481481.89,0.028523441,0.028523441 +27-06-2019 22:00,10481575.68,0.013913874,0.013913874 +27-06-2019 23:00,10481668.62,0.004869856,0.004869856 +28-06-2019 0:00,10481760.7,0.002782775,0.002782775 +28-06-2019 1:00,10481851.93,0.000695694,0.000695694 +28-06-2019 2:00,10481942.3,0.000695694,0.000695694 +28-06-2019 3:00,10482031.82,0.001391387,0.001391387 +28-06-2019 4:00,10482120.48,0.004869856,0.004869856 +28-06-2019 5:00,10482208.29,0.038958846,0.038958846 +28-06-2019 6:00,10482295.24,0.064699512,0.064699512 +28-06-2019 7:00,10482381.34,0.050089945,0.050089945 +28-06-2019 8:00,10482466.58,0.059133963,0.059133963 +28-06-2019 9:00,10482550.97,0.042437315,0.042437315 +28-06-2019 10:00,10482634.5,0.036871765,0.036871765 +28-06-2019 11:00,10482717.18,0.031306216,0.031306216 +28-06-2019 12:00,10482799,0.025044973,0.025044973 +28-06-2019 13:00,10482879.96,0.021566504,0.021566504 +28-06-2019 14:00,10482960.07,0.016696648,0.016696648 +28-06-2019 15:00,10483039.33,0.018783729,0.018783729 +28-06-2019 16:00,10483117.72,0.030610522,0.030610522 +28-06-2019 17:00,10483195.27,0.054264107,0.054264107 +28-06-2019 18:00,10483271.96,0.054959801,0.054959801 +28-06-2019 19:00,10483347.79,0.048698558,0.048698558 +28-06-2019 20:00,10483422.76,0.040350234,0.040350234 +28-06-2019 21:00,10483496.88,0.028523441,0.028523441 +28-06-2019 22:00,10483570.15,0.013913874,0.013913874 +28-06-2019 23:00,10483642.56,0.004869856,0.004869856 +29-06-2019 0:00,10483714.11,0.002782775,0.002782775 +29-06-2019 1:00,10483784.81,0.000695694,0.000695694 +29-06-2019 2:00,10483854.65,0.000695694,0.000695694 +29-06-2019 3:00,10483923.63,0.001391387,0.001391387 +29-06-2019 4:00,10483991.76,0.004869856,0.004869856 +29-06-2019 5:00,10484059.04,0.038958846,0.038958846 +29-06-2019 6:00,10484125.45,0.064699512,0.064699512 +29-06-2019 7:00,10484191.01,0.050089945,0.050089945 +29-06-2019 8:00,10484255.72,0.059133963,0.059133963 +29-06-2019 9:00,10484319.57,0.042437315,0.042437315 +29-06-2019 10:00,10484382.56,0.036871765,0.036871765 +29-06-2019 11:00,10484444.69,0.031306216,0.031306216 +29-06-2019 12:00,10484505.97,0.025044973,0.025044973 +29-06-2019 13:00,10484566.4,0.021566504,0.021566504 +29-06-2019 14:00,10484625.96,0.016696648,0.016696648 +29-06-2019 15:00,10484684.67,0.018783729,0.018783729 +29-06-2019 16:00,10484742.53,0.030610522,0.030610522 +29-06-2019 17:00,10484799.53,0.054264107,0.054264107 +29-06-2019 18:00,10484855.67,0.054959801,0.054959801 +29-06-2019 19:00,10484910.95,0.048698558,0.048698558 +29-06-2019 20:00,10484965.38,0.040350234,0.040350234 +29-06-2019 21:00,10485018.95,0.028523441,0.028523441 +29-06-2019 22:00,10485071.67,0.013913874,0.013913874 +29-06-2019 23:00,10485123.53,0.004869856,0.004869856 +30-06-2019 0:00,10485174.53,0.002782775,0.002782775 +30-06-2019 1:00,10485224.67,0.000695694,0.000695694 +30-06-2019 2:00,10485273.96,0.000695694,0.000695694 +30-06-2019 3:00,10485322.39,0.001391387,0.001391387 +30-06-2019 4:00,10485369.97,0.004869856,0.004869856 +30-06-2019 5:00,10485416.69,0.038958846,0.038958846 +30-06-2019 6:00,10485462.55,0.064699512,0.064699512 +30-06-2019 7:00,10485507.55,0.050089945,0.050089945 +30-06-2019 8:00,10485551.7,0.059133963,0.059133963 +30-06-2019 9:00,10485594.99,0.042437315,0.042437315 +30-06-2019 10:00,10485637.42,0.036871765,0.036871765 +30-06-2019 11:00,10485679,0.031306216,0.031306216 +30-06-2019 12:00,10485719.72,0.025044973,0.025044973 +30-06-2019 13:00,10485759.58,0.021566504,0.021566504 +30-06-2019 14:00,10485798.59,0.016696648,0.016696648 +30-06-2019 15:00,10485836.74,0.018783729,0.018783729 +30-06-2019 16:00,10485874.03,0.030610522,0.030610522 +30-06-2019 17:00,10485910.47,0.054264107,0.054264107 +30-06-2019 18:00,10485946.05,0.054959801,0.054959801 +30-06-2019 19:00,10485980.77,0.048698558,0.048698558 +30-06-2019 20:00,10486014.63,0.040350234,0.040350234 +30-06-2019 21:00,10486047.64,0.028523441,0.028523441 +30-06-2019 22:00,10486079.79,0.013913874,0.013913874 +30-06-2019 23:00,10486111.08,0.004869856,0.004869856 +01-07-2019 0:00,10486141.52,0.002782775,0.002782775 +01-07-2019 1:00,10486171.09,0.000695694,0.000695694 +01-07-2019 2:00,10486199.82,0.000695694,0.000695694 +01-07-2019 3:00,10486227.68,0.001391387,0.001391387 +01-07-2019 4:00,10486254.69,0.004869856,0.004869856 +01-07-2019 5:00,10486280.84,0.038958846,0.038958846 +01-07-2019 6:00,10486306.13,0.064699512,0.064699512 +01-07-2019 7:00,10486330.56,0.050089945,0.050089945 +01-07-2019 8:00,10486354.14,0.059133963,0.059133963 +01-07-2019 9:00,10486376.86,0.042437315,0.042437315 +01-07-2019 10:00,10486398.73,0.036871765,0.036871765 +01-07-2019 11:00,10486419.73,0.031306216,0.031306216 +01-07-2019 12:00,10486439.88,0.025044973,0.025044973 +01-07-2019 13:00,10486459.17,0.021566504,0.021566504 +01-07-2019 14:00,10486477.61,0.016696648,0.016696648 +01-07-2019 15:00,10486495.18,0.018783729,0.018783729 +01-07-2019 16:00,10486511.9,0.030610522,0.030610522 +01-07-2019 17:00,10486527.76,0.054264107,0.054264107 +01-07-2019 18:00,10486542.77,0.054959801,0.054959801 +01-07-2019 19:00,10486556.92,0.048698558,0.048698558 +01-07-2019 20:00,10486570.21,0.040350234,0.040350234 +01-07-2019 21:00,10486582.64,0.028523441,0.028523441 +01-07-2019 22:00,10486594.21,0.013913874,0.013913874 +01-07-2019 23:00,10486604.93,0.004869856,0.004869856 +02-07-2019 0:00,10486614.79,0.002782775,0.002782775 +02-07-2019 1:00,10486623.8,0.000695694,0.000695694 +02-07-2019 2:00,10486631.94,0.000695694,0.000695694 +02-07-2019 3:00,10486639.23,0.001391387,0.001391387 +02-07-2019 4:00,10486645.66,0.004869856,0.004869856 +02-07-2019 5:00,10486651.23,0.038958846,0.038958846 +02-07-2019 6:00,10486655.95,0.064699512,0.064699512 +02-07-2019 7:00,10486659.81,0.050089945,0.050089945 +02-07-2019 8:00,10486662.81,0.059133963,0.059133963 +02-07-2019 9:00,10486664.95,0.042437315,0.042437315 +02-07-2019 10:00,10486666.24,0.036871765,0.036871765 +02-07-2019 11:00,10486666.67,0.031306216,0.031306216 +02-07-2019 12:00,10486666.24,0.025044973,0.025044973 +02-07-2019 13:00,10486664.95,0.021566504,0.021566504 +02-07-2019 14:00,10486662.81,0.016696648,0.016696648 +02-07-2019 15:00,10486659.81,0.018783729,0.018783729 +02-07-2019 16:00,10486655.95,0.030610522,0.030610522 +02-07-2019 17:00,10486651.23,0.054264107,0.054264107 +02-07-2019 18:00,10486645.66,0.054959801,0.054959801 +02-07-2019 19:00,10486639.23,0.048698558,0.048698558 +02-07-2019 20:00,10486631.94,0.040350234,0.040350234 +02-07-2019 21:00,10486623.8,0.028523441,0.028523441 +02-07-2019 22:00,10486614.79,0.013913874,0.013913874 +02-07-2019 23:00,10486604.93,0.004869856,0.004869856 +03-07-2019 0:00,10486594.21,0.002782775,0.002782775 +03-07-2019 1:00,10486582.64,0.000695694,0.000695694 +03-07-2019 2:00,10486570.21,0.000695694,0.000695694 +03-07-2019 3:00,10486556.92,0.001391387,0.001391387 +03-07-2019 4:00,10486542.77,0.004869856,0.004869856 +03-07-2019 5:00,10486527.76,0.038958846,0.038958846 +03-07-2019 6:00,10486511.9,0.064699512,0.064699512 +03-07-2019 7:00,10486495.18,0.050089945,0.050089945 +03-07-2019 8:00,10486477.61,0.059133963,0.059133963 +03-07-2019 9:00,10486459.17,0.042437315,0.042437315 +03-07-2019 10:00,10486439.88,0.036871765,0.036871765 +03-07-2019 11:00,10486419.73,0.031306216,0.031306216 +03-07-2019 12:00,10486398.73,0.025044973,0.025044973 +03-07-2019 13:00,10486376.86,0.021566504,0.021566504 +03-07-2019 14:00,10486354.14,0.016696648,0.016696648 +03-07-2019 15:00,10486330.56,0.018783729,0.018783729 +03-07-2019 16:00,10486306.13,0.030610522,0.030610522 +03-07-2019 17:00,10486280.84,0.054264107,0.054264107 +03-07-2019 18:00,10486254.69,0.054959801,0.054959801 +03-07-2019 19:00,10486227.68,0.048698558,0.048698558 +03-07-2019 20:00,10486199.82,0.040350234,0.040350234 +03-07-2019 21:00,10486171.09,0.028523441,0.028523441 +03-07-2019 22:00,10486141.52,0.013913874,0.013913874 +03-07-2019 23:00,10486111.08,0.004869856,0.004869856 +04-07-2019 0:00,10486079.79,0.002782775,0.002782775 +04-07-2019 1:00,10486047.64,0.000695694,0.000695694 +04-07-2019 2:00,10486014.63,0.000695694,0.000695694 +04-07-2019 3:00,10485980.77,0.001391387,0.001391387 +04-07-2019 4:00,10485946.05,0.004869856,0.004869856 +04-07-2019 5:00,10485910.47,0.038958846,0.038958846 +04-07-2019 6:00,10485874.03,0.064699512,0.064699512 +04-07-2019 7:00,10485836.74,0.050089945,0.050089945 +04-07-2019 8:00,10485798.59,0.059133963,0.059133963 +04-07-2019 9:00,10485759.58,0.042437315,0.042437315 +04-07-2019 10:00,10485719.72,0.036871765,0.036871765 +04-07-2019 11:00,10485679,0.031306216,0.031306216 +04-07-2019 12:00,10485637.42,0.025044973,0.025044973 +04-07-2019 13:00,10485594.99,0.021566504,0.021566504 +04-07-2019 14:00,10485551.7,0.016696648,0.016696648 +04-07-2019 15:00,10485507.55,0.018783729,0.018783729 +04-07-2019 16:00,10485462.55,0.030610522,0.030610522 +04-07-2019 17:00,10485416.69,0.054264107,0.054264107 +04-07-2019 18:00,10485369.97,0.054959801,0.054959801 +04-07-2019 19:00,10485322.39,0.048698558,0.048698558 +04-07-2019 20:00,10485273.96,0.040350234,0.040350234 +04-07-2019 21:00,10485224.67,0.028523441,0.028523441 +04-07-2019 22:00,10485174.53,0.013913874,0.013913874 +04-07-2019 23:00,10485123.53,0.004869856,0.004869856 +05-07-2019 0:00,10485071.67,0.002782775,0.002782775 +05-07-2019 1:00,10485018.95,0.000695694,0.000695694 +05-07-2019 2:00,10484965.38,0.000695694,0.000695694 +05-07-2019 3:00,10484910.95,0.001391387,0.001391387 +05-07-2019 4:00,10484855.67,0.004869856,0.004869856 +05-07-2019 5:00,10484799.53,0.038958846,0.038958846 +05-07-2019 6:00,10484742.53,0.064699512,0.064699512 +05-07-2019 7:00,10484684.67,0.050089945,0.050089945 +05-07-2019 8:00,10484625.96,0.059133963,0.059133963 +05-07-2019 9:00,10484566.4,0.042437315,0.042437315 +05-07-2019 10:00,10484505.97,0.036871765,0.036871765 +05-07-2019 11:00,10484444.69,0.031306216,0.031306216 +05-07-2019 12:00,10484382.56,0.025044973,0.025044973 +05-07-2019 13:00,10484319.57,0.021566504,0.021566504 +05-07-2019 14:00,10484255.72,0.016696648,0.016696648 +05-07-2019 15:00,10484191.01,0.018783729,0.018783729 +05-07-2019 16:00,10484125.45,0.030610522,0.030610522 +05-07-2019 17:00,10484059.04,0.054264107,0.054264107 +05-07-2019 18:00,10483991.76,0.054959801,0.054959801 +05-07-2019 19:00,10483923.63,0.048698558,0.048698558 +05-07-2019 20:00,10483854.65,0.040350234,0.040350234 +05-07-2019 21:00,10483784.81,0.028523441,0.028523441 +05-07-2019 22:00,10483714.11,0.013913874,0.013913874 +05-07-2019 23:00,10483642.56,0.004869856,0.004869856 +06-07-2019 0:00,10483570.15,0.002782775,0.002782775 +06-07-2019 1:00,10483496.88,0.000695694,0.000695694 +06-07-2019 2:00,10483422.76,0.000695694,0.000695694 +06-07-2019 3:00,10483347.79,0.001391387,0.001391387 +06-07-2019 4:00,10483271.96,0.004869856,0.004869856 +06-07-2019 5:00,10483195.27,0.038958846,0.038958846 +06-07-2019 6:00,10483117.72,0.064699512,0.064699512 +06-07-2019 7:00,10483039.33,0.050089945,0.050089945 +06-07-2019 8:00,10482960.07,0.059133963,0.059133963 +06-07-2019 9:00,10482879.96,0.042437315,0.042437315 +06-07-2019 10:00,10482799,0.036871765,0.036871765 +06-07-2019 11:00,10482717.18,0.031306216,0.031306216 +06-07-2019 12:00,10482634.5,0.025044973,0.025044973 +06-07-2019 13:00,10482550.97,0.021566504,0.021566504 +06-07-2019 14:00,10482466.58,0.016696648,0.016696648 +06-07-2019 15:00,10482381.34,0.018783729,0.018783729 +06-07-2019 16:00,10482295.24,0.030610522,0.030610522 +06-07-2019 17:00,10482208.29,0.054264107,0.054264107 +06-07-2019 18:00,10482120.48,0.054959801,0.054959801 +06-07-2019 19:00,10482031.82,0.048698558,0.048698558 +06-07-2019 20:00,10481942.3,0.040350234,0.040350234 +06-07-2019 21:00,10481851.93,0.028523441,0.028523441 +06-07-2019 22:00,10481760.7,0.013913874,0.013913874 +06-07-2019 23:00,10481668.62,0.004869856,0.004869856 +07-07-2019 0:00,10481575.68,0.002782775,0.002782775 +07-07-2019 1:00,10481481.89,0.000695694,0.000695694 +07-07-2019 2:00,10481387.24,0.000695694,0.000695694 +07-07-2019 3:00,10481291.74,0.001391387,0.001391387 +07-07-2019 4:00,10481195.38,0.004869856,0.004869856 +07-07-2019 5:00,10481098.17,0.038958846,0.038958846 +07-07-2019 6:00,10481000.1,0.064699512,0.064699512 +07-07-2019 7:00,10480901.18,0.050089945,0.050089945 +07-07-2019 8:00,10480801.41,0.059133963,0.059133963 +07-07-2019 9:00,10480700.78,0.042437315,0.042437315 +07-07-2019 10:00,10480599.3,0.036871765,0.036871765 +07-07-2019 11:00,10480496.96,0.031306216,0.031306216 +07-07-2019 12:00,10480393.77,0.025044973,0.025044973 +07-07-2019 13:00,10480289.72,0.021566504,0.021566504 +07-07-2019 14:00,10480184.82,0.016696648,0.016696648 +07-07-2019 15:00,10480079.06,0.018783729,0.018783729 +07-07-2019 16:00,10479972.46,0.030610522,0.030610522 +07-07-2019 17:00,10479864.99,0.054264107,0.054264107 +07-07-2019 18:00,10479756.68,0.054959801,0.054959801 +07-07-2019 19:00,10479647.51,0.048698558,0.048698558 +07-07-2019 20:00,10479537.48,0.040350234,0.040350234 +07-07-2019 21:00,10479426.6,0.028523441,0.028523441 +07-07-2019 22:00,10479314.87,0.013913874,0.013913874 +07-07-2019 23:00,10479202.29,0.004869856,0.004869856 +08-07-2019 0:00,10479088.85,0.002782775,0.002782775 +08-07-2019 1:00,10478974.56,0.000695694,0.000695694 +08-07-2019 2:00,10478859.41,0.000695694,0.000695694 +08-07-2019 3:00,10478743.41,0.001391387,0.001391387 +08-07-2019 4:00,10478626.56,0.004869856,0.004869856 +08-07-2019 5:00,10478508.85,0.038958846,0.038958846 +08-07-2019 6:00,10478390.29,0.064699512,0.064699512 +08-07-2019 7:00,10478270.88,0.050089945,0.050089945 +08-07-2019 8:00,10478150.61,0.059133963,0.059133963 +08-07-2019 9:00,10478029.5,0.042437315,0.042437315 +08-07-2019 10:00,10477907.52,0.036871765,0.036871765 +08-07-2019 11:00,10477784.7,0.031306216,0.031306216 +08-07-2019 12:00,10477661.02,0.025044973,0.025044973 +08-07-2019 13:00,10477536.49,0.021566504,0.021566504 +08-07-2019 14:00,10477411.11,0.016696648,0.016696648 +08-07-2019 15:00,10477284.87,0.018783729,0.018783729 +08-07-2019 16:00,10477157.79,0.030610522,0.030610522 +08-07-2019 17:00,10477029.84,0.054264107,0.054264107 +08-07-2019 18:00,10476901.05,0.054959801,0.054959801 +08-07-2019 19:00,10476771.41,0.048698558,0.048698558 +08-07-2019 20:00,10476640.91,0.040350234,0.040350234 +08-07-2019 21:00,10476509.56,0.028523441,0.028523441 +08-07-2019 22:00,10476377.36,0.013913874,0.013913874 +08-07-2019 23:00,10476244.3,0.004869856,0.004869856 +09-07-2019 0:00,10476110.39,0.002782775,0.002782775 +09-07-2019 1:00,10475975.64,0.000695694,0.000695694 +09-07-2019 2:00,10475840.02,0.000695694,0.000695694 +09-07-2019 3:00,10475703.56,0.001391387,0.001391387 +09-07-2019 4:00,10475566.25,0.004869856,0.004869856 +09-07-2019 5:00,10475428.08,0.038958846,0.038958846 +09-07-2019 6:00,10475289.06,0.064699512,0.064699512 +09-07-2019 7:00,10475149.2,0.050089945,0.050089945 +09-07-2019 8:00,10475008.47,0.059133963,0.059133963 +09-07-2019 9:00,10474866.9,0.042437315,0.042437315 +09-07-2019 10:00,10474724.48,0.036871765,0.036871765 +09-07-2019 11:00,10474581.2,0.031306216,0.031306216 +09-07-2019 12:00,10474437.08,0.025044973,0.025044973 +09-07-2019 13:00,10474292.1,0.021566504,0.021566504 +09-07-2019 14:00,10474146.27,0.016696648,0.016696648 +09-07-2019 15:00,10473999.59,0.018783729,0.018783729 +09-07-2019 16:00,10473852.06,0.030610522,0.030610522 +09-07-2019 17:00,10473703.68,0.054264107,0.054264107 +09-07-2019 18:00,10473554.45,0.054959801,0.054959801 +09-07-2019 19:00,10473404.37,0.048698558,0.048698558 +09-07-2019 20:00,10473253.44,0.040350234,0.040350234 +09-07-2019 21:00,10473101.65,0.028523441,0.028523441 +09-07-2019 22:00,10472949.02,0.013913874,0.013913874 +09-07-2019 23:00,10472795.53,0.004869856,0.004869856 +10-07-2019 0:00,10472641.2,0.002782775,0.002782775 +10-07-2019 1:00,10472486.01,0.000695694,0.000695694 +10-07-2019 2:00,10472329.98,0.000695694,0.000695694 +10-07-2019 3:00,10472173.09,0.001391387,0.001391387 +10-07-2019 4:00,10472015.36,0.004869856,0.004869856 +10-07-2019 5:00,10471856.77,0.038958846,0.038958846 +10-07-2019 6:00,10471697.34,0.064699512,0.064699512 +10-07-2019 7:00,10471537.05,0.050089945,0.050089945 +10-07-2019 8:00,10471375.92,0.059133963,0.059133963 +10-07-2019 9:00,10471213.94,0.042437315,0.042437315 +10-07-2019 10:00,10471051.1,0.036871765,0.036871765 +10-07-2019 11:00,10470887.42,0.031306216,0.031306216 +10-07-2019 12:00,10470722.89,0.025044973,0.025044973 +10-07-2019 13:00,10470557.51,0.021566504,0.021566504 +10-07-2019 14:00,10470391.28,0.016696648,0.016696648 +10-07-2019 15:00,10470224.2,0.018783729,0.018783729 +10-07-2019 16:00,10470056.27,0.030610522,0.030610522 +10-07-2019 17:00,10469887.49,0.054264107,0.054264107 +10-07-2019 18:00,10469717.87,0.054959801,0.054959801 +10-07-2019 19:00,10469547.39,0.048698558,0.048698558 +10-07-2019 20:00,10469376.07,0.040350234,0.040350234 +10-07-2019 21:00,10469203.9,0.028523441,0.028523441 +10-07-2019 22:00,10469030.88,0.013913874,0.013913874 +10-07-2019 23:00,10468857.01,0.004869856,0.004869856 +11-07-2019 0:00,10468682.29,0.002782775,0.002782775 +11-07-2019 1:00,10468506.72,0.000695694,0.000695694 +11-07-2019 2:00,10468330.31,0.000695694,0.000695694 +11-07-2019 3:00,10468153.05,0.001391387,0.001391387 +11-07-2019 4:00,10467974.94,0.004869856,0.004869856 +11-07-2019 5:00,10467795.98,0.038958846,0.038958846 +11-07-2019 6:00,10467616.18,0.064699512,0.064699512 +11-07-2019 7:00,10467435.53,0.050089945,0.050089945 +11-07-2019 8:00,10467254.03,0.059133963,0.059133963 +11-07-2019 9:00,10467071.68,0.042437315,0.042437315 +11-07-2019 10:00,10466888.48,0.036871765,0.036871765 +11-07-2019 11:00,10466704.44,0.031306216,0.031306216 +11-07-2019 12:00,10466519.55,0.025044973,0.025044973 +11-07-2019 13:00,10466333.82,0.021566504,0.021566504 +11-07-2019 14:00,10466147.23,0.016696648,0.016696648 +11-07-2019 15:00,10465959.8,0.018783729,0.018783729 +11-07-2019 16:00,10465771.53,0.030610522,0.030610522 +11-07-2019 17:00,10465582.4,0.054264107,0.054264107 +11-07-2019 18:00,10465392.43,0.054959801,0.054959801 +11-07-2019 19:00,10465201.62,0.048698558,0.048698558 +11-07-2019 20:00,10465009.95,0.040350234,0.040350234 +11-07-2019 21:00,10464817.45,0.028523441,0.028523441 +11-07-2019 22:00,10464624.09,0.013913874,0.013913874 +11-07-2019 23:00,10464429.89,0.004869856,0.004869856 +12-07-2019 0:00,10464234.84,0.002782775,0.002782775 +12-07-2019 1:00,10464038.95,0.000695694,0.000695694 +12-07-2019 2:00,10463842.21,0.000695694,0.000695694 +12-07-2019 3:00,10463644.62,0.001391387,0.001391387 +12-07-2019 4:00,10463446.19,0.004869856,0.004869856 +12-07-2019 5:00,10463246.92,0.038958846,0.038958846 +12-07-2019 6:00,10463046.8,0.064699512,0.064699512 +12-07-2019 7:00,10462845.83,0.050089945,0.050089945 +12-07-2019 8:00,10462644.02,0.059133963,0.059133963 +12-07-2019 9:00,10462441.36,0.042437315,0.042437315 +12-07-2019 10:00,10462237.86,0.036871765,0.036871765 +12-07-2019 11:00,10462033.51,0.031306216,0.031306216 +12-07-2019 12:00,10461828.32,0.025044973,0.025044973 +12-07-2019 13:00,10461622.28,0.021566504,0.021566504 +12-07-2019 14:00,10461415.4,0.016696648,0.016696648 +12-07-2019 15:00,10461207.68,0.018783729,0.018783729 +12-07-2019 16:00,10460999.11,0.030610522,0.030610522 +12-07-2019 17:00,10460789.69,0.054264107,0.054264107 +12-07-2019 18:00,10460579.44,0.054959801,0.054959801 +12-07-2019 19:00,10460368.33,0.048698558,0.048698558 +12-07-2019 20:00,10460156.39,0.040350234,0.040350234 +12-07-2019 21:00,10459943.6,0.028523441,0.028523441 +12-07-2019 22:00,10459729.97,0.013913874,0.013913874 +12-07-2019 23:00,10459515.49,0.004869856,0.004869856 +13-07-2019 0:00,10459300.17,0.002782775,0.002782775 +13-07-2019 1:00,10459084.01,0.000695694,0.000695694 +13-07-2019 2:00,10458867,0.000695694,0.000695694 +13-07-2019 3:00,10458649.15,0.001391387,0.001391387 +13-07-2019 4:00,10458430.46,0.004869856,0.004869856 +13-07-2019 5:00,10458210.92,0.038958846,0.038958846 +13-07-2019 6:00,10457990.54,0.064699512,0.064699512 +13-07-2019 7:00,10457769.32,0.050089945,0.050089945 +13-07-2019 8:00,10457547.26,0.059133963,0.059133963 +13-07-2019 9:00,10457324.35,0.042437315,0.042437315 +13-07-2019 10:00,10457100.6,0.036871765,0.036871765 +13-07-2019 11:00,10456876.01,0.031306216,0.031306216 +13-07-2019 12:00,10456650.58,0.025044973,0.025044973 +13-07-2019 13:00,10456424.3,0.021566504,0.021566504 +13-07-2019 14:00,10456197.18,0.016696648,0.016696648 +13-07-2019 15:00,10455969.23,0.018783729,0.018783729 +13-07-2019 16:00,10455740.43,0.030610522,0.030610522 +13-07-2019 17:00,10455510.78,0.054264107,0.054264107 +13-07-2019 18:00,10455280.3,0.054959801,0.054959801 +13-07-2019 19:00,10455048.98,0.048698558,0.048698558 +13-07-2019 20:00,10454816.81,0.040350234,0.040350234 +13-07-2019 21:00,10454583.8,0.028523441,0.028523441 +13-07-2019 22:00,10454349.96,0.013913874,0.013913874 +13-07-2019 23:00,10454115.27,0.004869856,0.004869856 +14-07-2019 0:00,10453879.74,0.002782775,0.002782775 +14-07-2019 1:00,10453643.37,0.000695694,0.000695694 +14-07-2019 2:00,10453406.16,0.000695694,0.000695694 +14-07-2019 3:00,10453168.11,0.001391387,0.001391387 +14-07-2019 4:00,10452929.22,0.004869856,0.004869856 +14-07-2019 5:00,10452689.49,0.038958846,0.038958846 +14-07-2019 6:00,10452448.92,0.064699512,0.064699512 +14-07-2019 7:00,10452207.5,0.050089945,0.050089945 +14-07-2019 8:00,10451965.25,0.059133963,0.059133963 +14-07-2019 9:00,10451722.16,0.042437315,0.042437315 +14-07-2019 10:00,10451478.24,0.036871765,0.036871765 +14-07-2019 11:00,10451233.47,0.031306216,0.031306216 +14-07-2019 12:00,10450987.86,0.025044973,0.025044973 +14-07-2019 13:00,10450741.41,0.021566504,0.021566504 +14-07-2019 14:00,10450494.13,0.016696648,0.016696648 +14-07-2019 15:00,10450246,0.018783729,0.018783729 +14-07-2019 16:00,10449997.04,0.030610522,0.030610522 +14-07-2019 17:00,10449747.24,0.054264107,0.054264107 +14-07-2019 18:00,10449496.6,0.054959801,0.054959801 +14-07-2019 19:00,10449245.12,0.048698558,0.048698558 +14-07-2019 20:00,10448992.8,0.040350234,0.040350234 +14-07-2019 21:00,10448739.64,0.028523441,0.028523441 +14-07-2019 22:00,10448485.65,0.013913874,0.013913874 +14-07-2019 23:00,10448230.82,0.004869856,0.004869856 +15-07-2019 0:00,10447975.15,0.002782775,0.002782775 +15-07-2019 1:00,10447718.65,0.000695694,0.000695694 +15-07-2019 2:00,10447461.3,0.000695694,0.000695694 +15-07-2019 3:00,10447203.12,0.001391387,0.001391387 +15-07-2019 4:00,10446944.11,0.004869856,0.004869856 +15-07-2019 5:00,10446684.25,0.038958846,0.038958846 +15-07-2019 6:00,10446423.56,0.064699512,0.064699512 +15-07-2019 7:00,10446162.03,0.050089945,0.050089945 +15-07-2019 8:00,10445899.67,0.059133963,0.059133963 +15-07-2019 9:00,10445636.47,0.042437315,0.042437315 +15-07-2019 10:00,10445372.43,0.036871765,0.036871765 +15-07-2019 11:00,10445107.55,0.031306216,0.031306216 +15-07-2019 12:00,10444841.84,0.025044973,0.025044973 +15-07-2019 13:00,10444575.3,0.021566504,0.021566504 +15-07-2019 14:00,10444307.92,0.016696648,0.016696648 +15-07-2019 15:00,10444039.7,0.018783729,0.018783729 +15-07-2019 16:00,10443770.65,0.030610522,0.030610522 +15-07-2019 17:00,10443500.76,0.054264107,0.054264107 +15-07-2019 18:00,10443230.04,0.054959801,0.054959801 +15-07-2019 19:00,10442958.48,0.048698558,0.048698558 +15-07-2019 20:00,10442686.08,0.040350234,0.040350234 +15-07-2019 21:00,10442412.86,0.028523441,0.028523441 +15-07-2019 22:00,10442138.79,0.013913874,0.013913874 +15-07-2019 23:00,10441863.9,0.004869856,0.004869856 +16-07-2019 0:00,10441588.16,0.002782775,0.002782775 +16-07-2019 1:00,10441311.6,0.000695694,0.000695694 +16-07-2019 2:00,10441034.2,0.000695694,0.000695694 +16-07-2019 3:00,10440755.96,0.001391387,0.001391387 +16-07-2019 4:00,10440476.9,0.004869856,0.004869856 +16-07-2019 5:00,10440196.99,0.038958846,0.038958846 +16-07-2019 6:00,10439916.26,0.064699512,0.064699512 +16-07-2019 7:00,10439634.69,0.050089945,0.050089945 +16-07-2019 8:00,10439352.29,0.059133963,0.059133963 +16-07-2019 9:00,10439069.05,0.042437315,0.042437315 +16-07-2019 10:00,10438784.99,0.036871765,0.036871765 +16-07-2019 11:00,10438500.09,0.031306216,0.031306216 +16-07-2019 12:00,10438214.35,0.025044973,0.025044973 +16-07-2019 13:00,10437927.79,0.021566504,0.021566504 +16-07-2019 14:00,10437640.39,0.016696648,0.016696648 +16-07-2019 15:00,10437352.16,0.018783729,0.018783729 +16-07-2019 16:00,10437063.1,0.030610522,0.030610522 +16-07-2019 17:00,10436773.2,0.054264107,0.054264107 +16-07-2019 18:00,10436482.48,0.054959801,0.054959801 +16-07-2019 19:00,10436190.92,0.048698558,0.048698558 +16-07-2019 20:00,10435898.53,0.040350234,0.040350234 +16-07-2019 21:00,10435605.31,0.028523441,0.028523441 +16-07-2019 22:00,10435311.26,0.013913874,0.013913874 +16-07-2019 23:00,10435016.38,0.004869856,0.004869856 +17-07-2019 0:00,10434720.66,0.002782775,0.002782775 +17-07-2019 1:00,10434424.12,0.000695694,0.000695694 +17-07-2019 2:00,10434126.74,0.000695694,0.000695694 +17-07-2019 3:00,10433828.54,0.001391387,0.001391387 +17-07-2019 4:00,10433529.5,0.004869856,0.004869856 +17-07-2019 5:00,10433229.64,0.038958846,0.038958846 +17-07-2019 6:00,10432928.94,0.064699512,0.064699512 +17-07-2019 7:00,10432627.42,0.050089945,0.050089945 +17-07-2019 8:00,10432325.06,0.059133963,0.059133963 +17-07-2019 9:00,10432021.88,0.042437315,0.042437315 +17-07-2019 10:00,10431717.87,0.036871765,0.036871765 +17-07-2019 11:00,10431413.02,0.031306216,0.031306216 +17-07-2019 12:00,10431107.35,0.025044973,0.025044973 +17-07-2019 13:00,10430800.85,0.021566504,0.021566504 +17-07-2019 14:00,10430493.52,0.016696648,0.016696648 +17-07-2019 15:00,10430185.36,0.018783729,0.018783729 +17-07-2019 16:00,10429876.38,0.030610522,0.030610522 +17-07-2019 17:00,10429566.56,0.054264107,0.054264107 +17-07-2019 18:00,10429255.92,0.054959801,0.054959801 +17-07-2019 19:00,10428944.45,0.048698558,0.048698558 +17-07-2019 20:00,10428632.15,0.040350234,0.040350234 +17-07-2019 21:00,10428319.03,0.028523441,0.028523441 +17-07-2019 22:00,10428005.07,0.013913874,0.013913874 +17-07-2019 23:00,10427690.29,0.004869856,0.004869856 +18-07-2019 0:00,10427374.69,0.002782775,0.002782775 +18-07-2019 1:00,10427058.25,0.000695694,0.000695694 +18-07-2019 2:00,10426740.99,0.000695694,0.000695694 +18-07-2019 3:00,10426422.9,0.001391387,0.001391387 +18-07-2019 4:00,10426103.99,0.004869856,0.004869856 +18-07-2019 5:00,10425784.25,0.038958846,0.038958846 +18-07-2019 6:00,10425463.68,0.064699512,0.064699512 +18-07-2019 7:00,10425142.29,0.050089945,0.050089945 +18-07-2019 8:00,10424820.07,0.059133963,0.059133963 +18-07-2019 9:00,10424497.03,0.042437315,0.042437315 +18-07-2019 10:00,10424173.16,0.036871765,0.036871765 +18-07-2019 11:00,10423848.46,0.031306216,0.031306216 +18-07-2019 12:00,10423522.94,0.025044973,0.025044973 +18-07-2019 13:00,10423196.6,0.021566504,0.021566504 +18-07-2019 14:00,10422869.43,0.016696648,0.016696648 +18-07-2019 15:00,10422541.43,0.018783729,0.018783729 +18-07-2019 16:00,10422212.62,0.030610522,0.030610522 +18-07-2019 17:00,10421882.97,0.054264107,0.054264107 +18-07-2019 18:00,10421552.51,0.054959801,0.054959801 +18-07-2019 19:00,10421221.22,0.048698558,0.048698558 +18-07-2019 20:00,10420889.1,0.040350234,0.040350234 +18-07-2019 21:00,10420556.16,0.028523441,0.028523441 +18-07-2019 22:00,10420222.4,0.013913874,0.013913874 +18-07-2019 23:00,10419887.82,0.004869856,0.004869856 +19-07-2019 0:00,10419552.41,0.002782775,0.002782775 +19-07-2019 1:00,10419216.18,0.000695694,0.000695694 +19-07-2019 2:00,10418879.12,0.000695694,0.000695694 +19-07-2019 3:00,10418541.25,0.001391387,0.001391387 +19-07-2019 4:00,10418202.55,0.004869856,0.004869856 +19-07-2019 5:00,10417863.03,0.038958846,0.038958846 +19-07-2019 6:00,10417522.69,0.064699512,0.064699512 +19-07-2019 7:00,10417181.52,0.050089945,0.050089945 +19-07-2019 8:00,10416839.53,0.059133963,0.059133963 +19-07-2019 9:00,10416496.73,0.042437315,0.042437315 +19-07-2019 10:00,10416153.1,0.036871765,0.036871765 +19-07-2019 11:00,10415808.65,0.031306216,0.031306216 +19-07-2019 12:00,10415463.38,0.025044973,0.025044973 +19-07-2019 13:00,10415117.28,0.021566504,0.021566504 +19-07-2019 14:00,10414770.37,0.016696648,0.016696648 +19-07-2019 15:00,10414422.64,0.018783729,0.018783729 +19-07-2019 16:00,10414074.08,0.030610522,0.030610522 +19-07-2019 17:00,10413724.71,0.054264107,0.054264107 +19-07-2019 18:00,10413374.52,0.054959801,0.054959801 +19-07-2019 19:00,10413023.5,0.048698558,0.048698558 +19-07-2019 20:00,10412671.67,0.040350234,0.040350234 +19-07-2019 21:00,10412319.02,0.028523441,0.028523441 +19-07-2019 22:00,10411965.55,0.013913874,0.013913874 +19-07-2019 23:00,10411611.26,0.004869856,0.004869856 +20-07-2019 0:00,10411256.15,0.002782775,0.002782775 +20-07-2019 1:00,10410900.22,0.000695694,0.000695694 +20-07-2019 2:00,10410543.48,0.000695694,0.000695694 +20-07-2019 3:00,10410185.91,0.001391387,0.001391387 +20-07-2019 4:00,10409827.53,0.004869856,0.004869856 +20-07-2019 5:00,10409468.33,0.038958846,0.038958846 +20-07-2019 6:00,10409108.31,0.064699512,0.064699512 +20-07-2019 7:00,10408747.47,0.050089945,0.050089945 +20-07-2019 8:00,10408385.82,0.059133963,0.059133963 +20-07-2019 9:00,10408023.35,0.042437315,0.042437315 +20-07-2019 10:00,10407660.06,0.036871765,0.036871765 +20-07-2019 11:00,10407295.96,0.031306216,0.031306216 +20-07-2019 12:00,10406931.04,0.025044973,0.025044973 +20-07-2019 13:00,10406565.3,0.021566504,0.021566504 +20-07-2019 14:00,10406198.75,0.016696648,0.016696648 +20-07-2019 15:00,10405831.38,0.018783729,0.018783729 +20-07-2019 16:00,10405463.19,0.030610522,0.030610522 +20-07-2019 17:00,10405094.19,0.054264107,0.054264107 +20-07-2019 18:00,10404724.38,0.054959801,0.054959801 +20-07-2019 19:00,10404353.75,0.048698558,0.048698558 +20-07-2019 20:00,10403982.3,0.040350234,0.040350234 +20-07-2019 21:00,10403610.04,0.028523441,0.028523441 +20-07-2019 22:00,10403236.96,0.013913874,0.013913874 +20-07-2019 23:00,10402863.07,0.004869856,0.004869856 +21-07-2019 0:00,10402488.37,0.002782775,0.002782775 +21-07-2019 1:00,10402112.85,0.000695694,0.000695694 +21-07-2019 2:00,10401736.51,0.000695694,0.000695694 +21-07-2019 3:00,10401359.37,0.001391387,0.001391387 +21-07-2019 4:00,10400981.41,0.004869856,0.004869856 +21-07-2019 5:00,10400602.63,0.038958846,0.038958846 +21-07-2019 6:00,10400223.05,0.064699512,0.064699512 +21-07-2019 7:00,10399842.65,0.050089945,0.050089945 +21-07-2019 8:00,10399461.43,0.059133963,0.059133963 +21-07-2019 9:00,10399079.41,0.042437315,0.042437315 +21-07-2019 10:00,10398696.57,0.036871765,0.036871765 +21-07-2019 11:00,10398312.92,0.031306216,0.031306216 +21-07-2019 12:00,10397928.46,0.025044973,0.025044973 +21-07-2019 13:00,10397543.19,0.021566504,0.021566504 +21-07-2019 14:00,10397157.1,0.016696648,0.016696648 +21-07-2019 15:00,10396770.21,0.018783729,0.018783729 +21-07-2019 16:00,10396382.5,0.030610522,0.030610522 +21-07-2019 17:00,10395993.98,0.054264107,0.054264107 +21-07-2019 18:00,10395604.65,0.054959801,0.054959801 +21-07-2019 19:00,10395214.51,0.048698558,0.048698558 +21-07-2019 20:00,10394823.56,0.040350234,0.040350234 +21-07-2019 21:00,10394431.8,0.028523441,0.028523441 +21-07-2019 22:00,10394039.23,0.013913874,0.013913874 +21-07-2019 23:00,10393645.85,0.004869856,0.004869856 +22-07-2019 0:00,10393251.66,0.002782775,0.002782775 +22-07-2019 1:00,10392856.66,0.000695694,0.000695694 +22-07-2019 2:00,10392460.85,0.000695694,0.000695694 +22-07-2019 3:00,10392064.23,0.001391387,0.001391387 +22-07-2019 4:00,10391666.81,0.004869856,0.004869856 +22-07-2019 5:00,10391268.57,0.038958846,0.038958846 +22-07-2019 6:00,10390869.53,0.064699512,0.064699512 +22-07-2019 7:00,10390469.68,0.050089945,0.050089945 +22-07-2019 8:00,10390069.02,0.059133963,0.059133963 +22-07-2019 9:00,10389667.55,0.042437315,0.042437315 +22-07-2019 10:00,10389265.28,0.036871765,0.036871765 +22-07-2019 11:00,10388862.2,0.031306216,0.031306216 +22-07-2019 12:00,10388458.31,0.025044973,0.025044973 +22-07-2019 13:00,10388053.61,0.021566504,0.021566504 +22-07-2019 14:00,10387648.11,0.016696648,0.016696648 +22-07-2019 15:00,10387241.8,0.018783729,0.018783729 +22-07-2019 16:00,10386834.68,0.030610522,0.030610522 +22-07-2019 17:00,10386426.76,0.054264107,0.054264107 +22-07-2019 18:00,10386018.04,0.054959801,0.054959801 +22-07-2019 19:00,10385608.5,0.048698558,0.048698558 +22-07-2019 20:00,10385198.16,0.040350234,0.040350234 +22-07-2019 21:00,10384787.02,0.028523441,0.028523441 +22-07-2019 22:00,10384375.07,0.013913874,0.013913874 +22-07-2019 23:00,10383962.32,0.004869856,0.004869856 +23-07-2019 0:00,10383548.76,0.002782775,0.002782775 +23-07-2019 1:00,10383134.4,0.000695694,0.000695694 +23-07-2019 2:00,10382719.23,0.000695694,0.000695694 +23-07-2019 3:00,10382303.26,0.001391387,0.001391387 +23-07-2019 4:00,10381886.49,0.004869856,0.004869856 +23-07-2019 5:00,10381468.91,0.038958846,0.038958846 +23-07-2019 6:00,10381050.53,0.064699512,0.064699512 +23-07-2019 7:00,10380631.35,0.050089945,0.050089945 +23-07-2019 8:00,10380211.36,0.059133963,0.059133963 +23-07-2019 9:00,10379790.57,0.042437315,0.042437315 +23-07-2019 10:00,10379368.98,0.036871765,0.036871765 +23-07-2019 11:00,10378946.58,0.031306216,0.031306216 +23-07-2019 12:00,10378523.39,0.025044973,0.025044973 +23-07-2019 13:00,10378099.39,0.021566504,0.021566504 +23-07-2019 14:00,10377674.59,0.016696648,0.016696648 +23-07-2019 15:00,10377248.99,0.018783729,0.018783729 +23-07-2019 16:00,10376822.58,0.030610522,0.030610522 +23-07-2019 17:00,10376395.38,0.054264107,0.054264107 +23-07-2019 18:00,10375967.38,0.054959801,0.054959801 +23-07-2019 19:00,10375538.57,0.048698558,0.048698558 +23-07-2019 20:00,10375108.97,0.040350234,0.040350234 +23-07-2019 21:00,10374678.56,0.028523441,0.028523441 +23-07-2019 22:00,10374247.36,0.013913874,0.013913874 +23-07-2019 23:00,10373815.36,0.004869856,0.004869856 +24-07-2019 0:00,10373382.55,0.002782775,0.002782775 +24-07-2019 1:00,10372948.95,0.000695694,0.000695694 +24-07-2019 2:00,10372514.55,0.000695694,0.000695694 +24-07-2019 3:00,10372079.35,0.001391387,0.001391387 +24-07-2019 4:00,10371643.35,0.004869856,0.004869856 +24-07-2019 5:00,10371206.55,0.038958846,0.038958846 +24-07-2019 6:00,10370768.96,0.064699512,0.064699512 +24-07-2019 7:00,10370330.56,0.050089945,0.050089945 +24-07-2019 8:00,10369891.37,0.059133963,0.059133963 +24-07-2019 9:00,10369451.39,0.042437315,0.042437315 +24-07-2019 10:00,10369010.6,0.036871765,0.036871765 +24-07-2019 11:00,10368569.02,0.031306216,0.031306216 +24-07-2019 12:00,10368126.64,0.025044973,0.025044973 +24-07-2019 13:00,10367683.47,0.021566504,0.021566504 +24-07-2019 14:00,10367239.49,0.016696648,0.016696648 +24-07-2019 15:00,10366794.73,0.018783729,0.018783729 +24-07-2019 16:00,10366349.16,0.030610522,0.030610522 +24-07-2019 17:00,10365902.81,0.054264107,0.054264107 +24-07-2019 18:00,10365455.65,0.054959801,0.054959801 +24-07-2019 19:00,10365007.7,0.048698558,0.048698558 +24-07-2019 20:00,10364558.96,0.040350234,0.040350234 +24-07-2019 21:00,10364109.42,0.028523441,0.028523441 +24-07-2019 22:00,10363659.09,0.013913874,0.013913874 +24-07-2019 23:00,10363207.96,0.004869856,0.004869856 +25-07-2019 0:00,10362756.04,0.002782775,0.002782775 +25-07-2019 1:00,10362303.33,0.000695694,0.000695694 +25-07-2019 2:00,10361849.82,0.000695694,0.000695694 +25-07-2019 3:00,10361395.52,0.001391387,0.001391387 +25-07-2019 4:00,10360940.42,0.004869856,0.004869856 +25-07-2019 5:00,10360484.54,0.038958846,0.038958846 +25-07-2019 6:00,10360027.86,0.064699512,0.064699512 +25-07-2019 7:00,10359570.39,0.050089945,0.050089945 +25-07-2019 8:00,10359112.12,0.059133963,0.059133963 +25-07-2019 9:00,10358653.07,0.042437315,0.042437315 +25-07-2019 10:00,10358193.22,0.036871765,0.036871765 +25-07-2019 11:00,10357732.58,0.031306216,0.031306216 +25-07-2019 12:00,10357271.15,0.025044973,0.025044973 +25-07-2019 13:00,10356808.93,0.021566504,0.021566504 +25-07-2019 14:00,10356345.92,0.016696648,0.016696648 +25-07-2019 15:00,10355882.12,0.018783729,0.018783729 +25-07-2019 16:00,10355417.53,0.030610522,0.030610522 +25-07-2019 17:00,10354952.15,0.054264107,0.054264107 +25-07-2019 18:00,10354485.98,0.054959801,0.054959801 +25-07-2019 19:00,10354019.01,0.048698558,0.048698558 +25-07-2019 20:00,10353551.26,0.040350234,0.040350234 +25-07-2019 21:00,10353082.73,0.028523441,0.028523441 +25-07-2019 22:00,10352613.4,0.013913874,0.013913874 +25-07-2019 23:00,10352143.28,0.004869856,0.004869856 +26-07-2019 0:00,10351672.38,0.002782775,0.002782775 +26-07-2019 1:00,10351200.69,0.000695694,0.000695694 +26-07-2019 2:00,10350728.21,0.000695694,0.000695694 +26-07-2019 3:00,10350254.94,0.001391387,0.001391387 +26-07-2019 4:00,10349780.89,0.004869856,0.004869856 +26-07-2019 5:00,10349306.04,0.038958846,0.038958846 +26-07-2019 6:00,10348830.42,0.064699512,0.064699512 +26-07-2019 7:00,10348354,0.050089945,0.050089945 +26-07-2019 8:00,10347876.8,0.059133963,0.059133963 +26-07-2019 9:00,10347398.81,0.042437315,0.042437315 +26-07-2019 10:00,10346920.04,0.036871765,0.036871765 +26-07-2019 11:00,10346440.48,0.031306216,0.031306216 +26-07-2019 12:00,10345960.14,0.025044973,0.025044973 +26-07-2019 13:00,10345479.01,0.021566504,0.021566504 +26-07-2019 14:00,10344997.09,0.016696648,0.016696648 +26-07-2019 15:00,10344514.4,0.018783729,0.018783729 +26-07-2019 16:00,10344030.91,0.030610522,0.030610522 +26-07-2019 17:00,10343546.65,0.054264107,0.054264107 +26-07-2019 18:00,10343061.6,0.054959801,0.054959801 +26-07-2019 19:00,10342575.76,0.048698558,0.048698558 +26-07-2019 20:00,10342089.15,0.040350234,0.040350234 +26-07-2019 21:00,10341601.75,0.028523441,0.028523441 +26-07-2019 22:00,10341113.56,0.013913874,0.013913874 +26-07-2019 23:00,10340624.6,0.004869856,0.004869856 +27-07-2019 0:00,10340134.85,0.002782775,0.002782775 +27-07-2019 1:00,10339644.32,0.000695694,0.000695694 +27-07-2019 2:00,10339153.01,0.000695694,0.000695694 +27-07-2019 3:00,10338660.91,0.001391387,0.001391387 +27-07-2019 4:00,10338168.04,0.004869856,0.004869856 +27-07-2019 5:00,10337674.38,0.038958846,0.038958846 +27-07-2019 6:00,10337179.95,0.064699512,0.064699512 +27-07-2019 7:00,10336684.73,0.050089945,0.050089945 +27-07-2019 8:00,10336188.73,0.059133963,0.059133963 +27-07-2019 9:00,10335691.96,0.042437315,0.042437315 +27-07-2019 10:00,10335194.4,0.036871765,0.036871765 +27-07-2019 11:00,10334696.06,0.031306216,0.031306216 +27-07-2019 12:00,10334196.95,0.025044973,0.025044973 +27-07-2019 13:00,10333697.05,0.021566504,0.021566504 +27-07-2019 14:00,10333196.38,0.016696648,0.016696648 +27-07-2019 15:00,10332694.93,0.018783729,0.018783729 +27-07-2019 16:00,10332192.7,0.030610522,0.030610522 +27-07-2019 17:00,10331689.69,0.054264107,0.054264107 +27-07-2019 18:00,10331185.9,0.054959801,0.054959801 +27-07-2019 19:00,10330681.34,0.048698558,0.048698558 +27-07-2019 20:00,10330176,0.040350234,0.040350234 +27-07-2019 21:00,10329669.88,0.028523441,0.028523441 +27-07-2019 22:00,10329162.99,0.013913874,0.013913874 +27-07-2019 23:00,10328655.32,0.004869856,0.004869856 +28-07-2019 0:00,10328146.87,0.002782775,0.002782775 +28-07-2019 1:00,10327637.65,0.000695694,0.000695694 +28-07-2019 2:00,10327127.65,0.000695694,0.000695694 +28-07-2019 3:00,10326616.88,0.001391387,0.001391387 +28-07-2019 4:00,10326105.33,0.004869856,0.004869856 +28-07-2019 5:00,10325593,0.038958846,0.038958846 +28-07-2019 6:00,10325079.91,0.064699512,0.064699512 +28-07-2019 7:00,10324566.03,0.050089945,0.050089945 +28-07-2019 8:00,10324051.39,0.059133963,0.059133963 +28-07-2019 9:00,10323535.97,0.042437315,0.042437315 +28-07-2019 10:00,10323019.77,0.036871765,0.036871765 +28-07-2019 11:00,10322502.81,0.031306216,0.031306216 +28-07-2019 12:00,10321985.07,0.025044973,0.025044973 +28-07-2019 13:00,10321466.55,0.021566504,0.021566504 +28-07-2019 14:00,10320947.27,0.016696648,0.016696648 +28-07-2019 15:00,10320427.21,0.018783729,0.018783729 +28-07-2019 16:00,10319906.38,0.030610522,0.030610522 +28-07-2019 17:00,10319384.78,0.054264107,0.054264107 +28-07-2019 18:00,10318862.41,0.054959801,0.054959801 +28-07-2019 19:00,10318339.27,0.048698558,0.048698558 +28-07-2019 20:00,10317815.35,0.040350234,0.040350234 +28-07-2019 21:00,10317290.67,0.028523441,0.028523441 +28-07-2019 22:00,10316765.21,0.013913874,0.013913874 +28-07-2019 23:00,10316238.99,0.004869856,0.004869856 +29-07-2019 0:00,10315711.99,0.002782775,0.002782775 +29-07-2019 1:00,10315184.23,0.000695694,0.000695694 +29-07-2019 2:00,10314655.7,0.000695694,0.000695694 +29-07-2019 3:00,10314126.39,0.001391387,0.001391387 +29-07-2019 4:00,10313596.32,0.004869856,0.004869856 +29-07-2019 5:00,10313065.48,0.038958846,0.038958846 +29-07-2019 6:00,10312533.88,0.064699512,0.064699512 +29-07-2019 7:00,10312001.5,0.050089945,0.050089945 +29-07-2019 8:00,10311468.36,0.059133963,0.059133963 +29-07-2019 9:00,10310934.45,0.042437315,0.042437315 +29-07-2019 10:00,10310399.77,0.036871765,0.036871765 +29-07-2019 11:00,10309864.33,0.031306216,0.031306216 +29-07-2019 12:00,10309328.12,0.025044973,0.025044973 +29-07-2019 13:00,10308791.14,0.021566504,0.021566504 +29-07-2019 14:00,10308253.4,0.016696648,0.016696648 +29-07-2019 15:00,10307714.89,0.018783729,0.018783729 +29-07-2019 16:00,10307175.62,0.030610522,0.030610522 +29-07-2019 17:00,10306635.58,0.054264107,0.054264107 +29-07-2019 18:00,10306094.77,0.054959801,0.054959801 +29-07-2019 19:00,10305553.21,0.048698558,0.048698558 +29-07-2019 20:00,10305010.87,0.040350234,0.040350234 +29-07-2019 21:00,10304467.78,0.028523441,0.028523441 +29-07-2019 22:00,10303923.92,0.013913874,0.013913874 +29-07-2019 23:00,10303379.29,0.004869856,0.004869856 +30-07-2019 0:00,10302833.91,0.002782775,0.002782775 +30-07-2019 1:00,10302287.76,0.000695694,0.000695694 +30-07-2019 2:00,10301740.85,0.000695694,0.000695694 +30-07-2019 3:00,10301193.17,0.001391387,0.001391387 +30-07-2019 4:00,10300644.74,0.004869856,0.004869856 +30-07-2019 5:00,10300095.54,0.038958846,0.038958846 +30-07-2019 6:00,10299545.58,0.064699512,0.064699512 +30-07-2019 7:00,10298994.86,0.050089945,0.050089945 +30-07-2019 8:00,10298443.38,0.059133963,0.059133963 +30-07-2019 9:00,10297891.13,0.042437315,0.042437315 +30-07-2019 10:00,10297338.13,0.036871765,0.036871765 +30-07-2019 11:00,10296784.37,0.031306216,0.031306216 +30-07-2019 12:00,10296229.85,0.025044973,0.025044973 +30-07-2019 13:00,10295674.57,0.021566504,0.021566504 +30-07-2019 14:00,10295118.52,0.016696648,0.016696648 +30-07-2019 15:00,10294561.72,0.018783729,0.018783729 +30-07-2019 16:00,10294004.17,0.030610522,0.030610522 +30-07-2019 17:00,10293445.85,0.054264107,0.054264107 +30-07-2019 18:00,10292886.78,0.054959801,0.054959801 +30-07-2019 19:00,10292326.94,0.048698558,0.048698558 +30-07-2019 20:00,10291766.35,0.040350234,0.040350234 +30-07-2019 21:00,10291205.01,0.028523441,0.028523441 +30-07-2019 22:00,10290642.9,0.013913874,0.013913874 +30-07-2019 23:00,10290080.04,0.004869856,0.004869856 +31-07-2019 0:00,10289516.42,0.002782775,0.002782775 +31-07-2019 1:00,10288952.05,0.000695694,0.000695694 +31-07-2019 2:00,10288386.92,0.000695694,0.000695694 +31-07-2019 3:00,10287821.04,0.001391387,0.001391387 +31-07-2019 4:00,10287254.4,0.004869856,0.004869856 +31-07-2019 5:00,10286687.01,0.038958846,0.038958846 +31-07-2019 6:00,10286118.86,0.064699512,0.064699512 +31-07-2019 7:00,10285549.96,0.050089945,0.050089945 +31-07-2019 8:00,10284980.3,0.059133963,0.059133963 +31-07-2019 9:00,10284409.89,0.042437315,0.042437315 +31-07-2019 10:00,10283838.72,0.036871765,0.036871765 +31-07-2019 11:00,10283266.81,0.031306216,0.031306216 +31-07-2019 12:00,10282694.14,0.025044973,0.025044973 +31-07-2019 13:00,10282120.72,0.021566504,0.021566504 +31-07-2019 14:00,10281546.54,0.016696648,0.016696648 +31-07-2019 15:00,10280971.62,0.018783729,0.018783729 +31-07-2019 16:00,10280395.94,0.030610522,0.030610522 +31-07-2019 17:00,10279819.51,0.054264107,0.054264107 +31-07-2019 18:00,10279242.33,0.054959801,0.054959801 +31-07-2019 19:00,10278664.4,0.048698558,0.048698558 +31-07-2019 20:00,10278085.72,0.040350234,0.040350234 +31-07-2019 21:00,10277506.28,0.028523441,0.028523441 +31-07-2019 22:00,10276926.1,0.013913874,0.013913874 +31-07-2019 23:00,10276345.17,0.004869856,0.004869856 +01-08-2019 0:00,10275763.49,0.002782775,0.002782775 +01-08-2019 1:00,10275181.06,0.000695694,0.000695694 +01-08-2019 2:00,10274597.89,0.000695694,0.000695694 +01-08-2019 3:00,10274013.96,0.001391387,0.001391387 +01-08-2019 4:00,10273429.29,0.004869856,0.004869856 +01-08-2019 5:00,10272843.86,0.038958846,0.038958846 +01-08-2019 6:00,10272257.7,0.064699512,0.064699512 +01-08-2019 7:00,10271670.78,0.050089945,0.050089945 +01-08-2019 8:00,10271083.12,0.059133963,0.059133963 +01-08-2019 9:00,10270494.71,0.042437315,0.042437315 +01-08-2019 10:00,10269905.55,0.036871765,0.036871765 +01-08-2019 11:00,10269315.65,0.031306216,0.031306216 +01-08-2019 12:00,10268725,0.025044973,0.025044973 +01-08-2019 13:00,10268133.61,0.021566504,0.021566504 +01-08-2019 14:00,10267541.47,0.016696648,0.016696648 +01-08-2019 15:00,10266948.59,0.018783729,0.018783729 +01-08-2019 16:00,10266354.96,0.030610522,0.030610522 +01-08-2019 17:00,10265760.59,0.054264107,0.054264107 +01-08-2019 18:00,10265165.48,0.054959801,0.054959801 +01-08-2019 19:00,10264569.62,0.048698558,0.048698558 +01-08-2019 20:00,10263973.02,0.040350234,0.040350234 +01-08-2019 21:00,10263375.67,0.028523441,0.028523441 +01-08-2019 22:00,10262777.59,0.013913874,0.013913874 +01-08-2019 23:00,10262178.76,0.004869856,0.004869856 +02-08-2019 0:00,10261579.19,0.002782775,0.002782775 +02-08-2019 1:00,10260978.87,0.000695694,0.000695694 +02-08-2019 2:00,10260377.82,0.000695694,0.000695694 +02-08-2019 3:00,10259776.03,0.001391387,0.001391387 +02-08-2019 4:00,10259173.49,0.004869856,0.004869856 +02-08-2019 5:00,10258570.21,0.038958846,0.038958846 +02-08-2019 6:00,10257966.2,0.064699512,0.064699512 +02-08-2019 7:00,10257361.44,0.050089945,0.050089945 +02-08-2019 8:00,10256755.95,0.059133963,0.059133963 +02-08-2019 9:00,10256149.71,0.042437315,0.042437315 +02-08-2019 10:00,10255542.74,0.036871765,0.036871765 +02-08-2019 11:00,10254935.03,0.031306216,0.031306216 +02-08-2019 12:00,10254326.58,0.025044973,0.025044973 +02-08-2019 13:00,10253717.39,0.021566504,0.021566504 +02-08-2019 14:00,10253107.46,0.016696648,0.016696648 +02-08-2019 15:00,10252496.8,0.018783729,0.018783729 +02-08-2019 16:00,10251885.4,0.030610522,0.030610522 +02-08-2019 17:00,10251273.26,0.054264107,0.054264107 +02-08-2019 18:00,10250660.39,0.054959801,0.054959801 +02-08-2019 19:00,10250046.78,0.048698558,0.048698558 +02-08-2019 20:00,10249432.44,0.040350234,0.040350234 +02-08-2019 21:00,10248817.36,0.028523441,0.028523441 +02-08-2019 22:00,10248201.54,0.013913874,0.013913874 +02-08-2019 23:00,10247584.99,0.004869856,0.004869856 +03-08-2019 0:00,10246967.71,0.002782775,0.002782775 +03-08-2019 1:00,10246349.69,0.000695694,0.000695694 +03-08-2019 2:00,10245730.94,0.000695694,0.000695694 +03-08-2019 3:00,10245111.45,0.001391387,0.001391387 +03-08-2019 4:00,10244491.23,0.004869856,0.004869856 +03-08-2019 5:00,10243870.28,0.038958846,0.038958846 +03-08-2019 6:00,10243248.6,0.064699512,0.064699512 +03-08-2019 7:00,10242626.18,0.050089945,0.050089945 +03-08-2019 8:00,10242003.03,0.059133963,0.059133963 +03-08-2019 9:00,10241379.15,0.042437315,0.042437315 +03-08-2019 10:00,10240754.54,0.036871765,0.036871765 +03-08-2019 11:00,10240129.2,0.031306216,0.031306216 +03-08-2019 12:00,10239503.13,0.025044973,0.025044973 +03-08-2019 13:00,10238876.33,0.021566504,0.021566504 +03-08-2019 14:00,10238248.79,0.016696648,0.016696648 +03-08-2019 15:00,10237620.53,0.018783729,0.018783729 +03-08-2019 16:00,10236991.54,0.030610522,0.030610522 +03-08-2019 17:00,10236361.82,0.054264107,0.054264107 +03-08-2019 18:00,10235731.37,0.054959801,0.054959801 +03-08-2019 19:00,10235100.19,0.048698558,0.048698558 +03-08-2019 20:00,10234468.29,0.040350234,0.040350234 +03-08-2019 21:00,10233835.65,0.028523441,0.028523441 +03-08-2019 22:00,10233202.29,0.013913874,0.013913874 +03-08-2019 23:00,10232568.2,0.004869856,0.004869856 +04-08-2019 0:00,10231933.39,0.002782775,0.002782775 +04-08-2019 1:00,10231297.85,0.000695694,0.000695694 +04-08-2019 2:00,10230661.58,0.000695694,0.000695694 +04-08-2019 3:00,10230024.59,0.001391387,0.001391387 +04-08-2019 4:00,10229386.87,0.004869856,0.004869856 +04-08-2019 5:00,10228748.43,0.038958846,0.038958846 +04-08-2019 6:00,10228109.26,0.064699512,0.064699512 +04-08-2019 7:00,10227469.37,0.050089945,0.050089945 +04-08-2019 8:00,10226828.75,0.059133963,0.059133963 +04-08-2019 9:00,10226187.41,0.042437315,0.042437315 +04-08-2019 10:00,10225545.35,0.036871765,0.036871765 +04-08-2019 11:00,10224902.56,0.031306216,0.031306216 +04-08-2019 12:00,10224259.05,0.025044973,0.025044973 +04-08-2019 13:00,10223614.82,0.021566504,0.021566504 +04-08-2019 14:00,10222969.87,0.016696648,0.016696648 +04-08-2019 15:00,10222324.19,0.018783729,0.018783729 +04-08-2019 16:00,10221677.79,0.030610522,0.030610522 +04-08-2019 17:00,10221030.68,0.054264107,0.054264107 +04-08-2019 18:00,10220382.84,0.054959801,0.054959801 +04-08-2019 19:00,10219734.28,0.048698558,0.048698558 +04-08-2019 20:00,10219085,0.040350234,0.040350234 +04-08-2019 21:00,10218435,0.028523441,0.028523441 +04-08-2019 22:00,10217784.28,0.013913874,0.013913874 +04-08-2019 23:00,10217132.84,0.004869856,0.004869856 +05-08-2019 0:00,10216480.69,0.002782775,0.002782775 +05-08-2019 1:00,10215827.81,0.000695694,0.000695694 +05-08-2019 2:00,10215174.22,0.000695694,0.000695694 +05-08-2019 3:00,10214519.91,0.001391387,0.001391387 +05-08-2019 4:00,10213864.88,0.004869856,0.004869856 +05-08-2019 5:00,10213209.13,0.038958846,0.038958846 +05-08-2019 6:00,10212552.67,0.064699512,0.064699512 +05-08-2019 7:00,10211895.49,0.050089945,0.050089945 +05-08-2019 8:00,10211237.6,0.059133963,0.059133963 +05-08-2019 9:00,10210578.99,0.042437315,0.042437315 +05-08-2019 10:00,10209919.66,0.036871765,0.036871765 +05-08-2019 11:00,10209259.62,0.031306216,0.031306216 +05-08-2019 12:00,10208598.86,0.025044973,0.025044973 +05-08-2019 13:00,10207937.39,0.021566504,0.021566504 +05-08-2019 14:00,10207275.21,0.016696648,0.016696648 +05-08-2019 15:00,10206612.31,0.018783729,0.018783729 +05-08-2019 16:00,10205948.7,0.030610522,0.030610522 +05-08-2019 17:00,10205284.38,0.054264107,0.054264107 +05-08-2019 18:00,10204619.34,0.054959801,0.054959801 +05-08-2019 19:00,10203953.59,0.048698558,0.048698558 +05-08-2019 20:00,10203287.13,0.040350234,0.040350234 +05-08-2019 21:00,10202619.96,0.028523441,0.028523441 +05-08-2019 22:00,10201952.07,0.013913874,0.013913874 +05-08-2019 23:00,10201283.48,0.004869856,0.004869856 +06-08-2019 0:00,10200614.17,0.002782775,0.002782775 +06-08-2019 1:00,10199944.16,0.000695694,0.000695694 +06-08-2019 2:00,10199273.43,0.000695694,0.000695694 +06-08-2019 3:00,10198602,0.001391387,0.001391387 +06-08-2019 4:00,10197929.85,0.004869856,0.004869856 +06-08-2019 5:00,10197257,0.038958846,0.038958846 +06-08-2019 6:00,10196583.44,0.064699512,0.064699512 +06-08-2019 7:00,10195909.17,0.050089945,0.050089945 +06-08-2019 8:00,10195234.19,0.059133963,0.059133963 +06-08-2019 9:00,10194558.5,0.042437315,0.042437315 +06-08-2019 10:00,10193882.11,0.036871765,0.036871765 +06-08-2019 11:00,10193205.01,0.031306216,0.031306216 +06-08-2019 12:00,10192527.2,0.025044973,0.025044973 +06-08-2019 13:00,10191848.69,0.021566504,0.021566504 +06-08-2019 14:00,10191169.47,0.016696648,0.016696648 +06-08-2019 15:00,10190489.55,0.018783729,0.018783729 +06-08-2019 16:00,10189808.92,0.030610522,0.030610522 +06-08-2019 17:00,10189127.59,0.054264107,0.054264107 +06-08-2019 18:00,10188445.55,0.054959801,0.054959801 +06-08-2019 19:00,10187762.81,0.048698558,0.048698558 +06-08-2019 20:00,10187079.36,0.040350234,0.040350234 +06-08-2019 21:00,10186395.22,0.028523441,0.028523441 +06-08-2019 22:00,10185710.37,0.013913874,0.013913874 +06-08-2019 23:00,10185024.81,0.004869856,0.004869856 +07-08-2019 0:00,10184338.55,0.002782775,0.002782775 +07-08-2019 1:00,10183651.6,0.000695694,0.000695694 +07-08-2019 2:00,10182963.94,0.000695694,0.000695694 +07-08-2019 3:00,10182275.58,0.001391387,0.001391387 +07-08-2019 4:00,10181586.51,0.004869856,0.004869856 +07-08-2019 5:00,10180896.75,0.038958846,0.038958846 +07-08-2019 6:00,10180206.29,0.064699512,0.064699512 +07-08-2019 7:00,10179515.13,0.050089945,0.050089945 +07-08-2019 8:00,10178823.27,0.059133963,0.059133963 +07-08-2019 9:00,10178130.71,0.042437315,0.042437315 +07-08-2019 10:00,10177437.45,0.036871765,0.036871765 +07-08-2019 11:00,10176743.49,0.031306216,0.031306216 +07-08-2019 12:00,10176048.83,0.025044973,0.025044973 +07-08-2019 13:00,10175353.48,0.021566504,0.021566504 +07-08-2019 14:00,10174657.43,0.016696648,0.016696648 +07-08-2019 15:00,10173960.68,0.018783729,0.018783729 +07-08-2019 16:00,10173263.24,0.030610522,0.030610522 +07-08-2019 17:00,10172565.1,0.054264107,0.054264107 +07-08-2019 18:00,10171866.26,0.054959801,0.054959801 +07-08-2019 19:00,10171166.73,0.048698558,0.048698558 +07-08-2019 20:00,10170466.5,0.040350234,0.040350234 +07-08-2019 21:00,10169765.58,0.028523441,0.028523441 +07-08-2019 22:00,10169063.97,0.013913874,0.013913874 +07-08-2019 23:00,10168361.66,0.004869856,0.004869856 +08-08-2019 0:00,10167658.65,0.002782775,0.002782775 +08-08-2019 1:00,10166954.96,0.000695694,0.000695694 +08-08-2019 2:00,10166250.57,0.000695694,0.000695694 +08-08-2019 3:00,10165545.48,0.001391387,0.001391387 +08-08-2019 4:00,10164839.71,0.004869856,0.004869856 +08-08-2019 5:00,10164133.24,0.038958846,0.038958846 +08-08-2019 6:00,10163426.09,0.064699512,0.064699512 +08-08-2019 7:00,10162718.24,0.050089945,0.050089945 +08-08-2019 8:00,10162009.7,0.059133963,0.059133963 +08-08-2019 9:00,10161300.47,0.042437315,0.042437315 +08-08-2019 10:00,10160590.55,0.036871765,0.036871765 +08-08-2019 11:00,10159879.94,0.031306216,0.031306216 +08-08-2019 12:00,10159168.64,0.025044973,0.025044973 +08-08-2019 13:00,10158456.65,0.021566504,0.021566504 +08-08-2019 14:00,10157743.97,0.016696648,0.016696648 +08-08-2019 15:00,10157030.61,0.018783729,0.018783729 +08-08-2019 16:00,10156316.55,0.030610522,0.030610522 +08-08-2019 17:00,10155601.81,0.054264107,0.054264107 +08-08-2019 18:00,10154886.39,0.054959801,0.054959801 +08-08-2019 19:00,10154170.27,0.048698558,0.048698558 +08-08-2019 20:00,10153453.47,0.040350234,0.040350234 +08-08-2019 21:00,10152735.98,0.028523441,0.028523441 +08-08-2019 22:00,10152017.81,0.013913874,0.013913874 +08-08-2019 23:00,10151298.95,0.004869856,0.004869856 +09-08-2019 0:00,10150579.41,0.002782775,0.002782775 +09-08-2019 1:00,10149859.19,0.000695694,0.000695694 +09-08-2019 2:00,10149138.27,0.000695694,0.000695694 +09-08-2019 3:00,10148416.68,0.001391387,0.001391387 +09-08-2019 4:00,10147694.4,0.004869856,0.004869856 +09-08-2019 5:00,10146971.44,0.038958846,0.038958846 +09-08-2019 6:00,10146247.8,0.064699512,0.064699512 +09-08-2019 7:00,10145523.47,0.050089945,0.050089945 +09-08-2019 8:00,10144798.46,0.059133963,0.059133963 +09-08-2019 9:00,10144072.77,0.042437315,0.042437315 +09-08-2019 10:00,10143346.4,0.036871765,0.036871765 +09-08-2019 11:00,10142619.35,0.031306216,0.031306216 +09-08-2019 12:00,10141891.62,0.025044973,0.025044973 +09-08-2019 13:00,10141163.2,0.021566504,0.021566504 +09-08-2019 14:00,10140434.11,0.016696648,0.016696648 +09-08-2019 15:00,10139704.34,0.018783729,0.018783729 +09-08-2019 16:00,10138973.89,0.030610522,0.030610522 +09-08-2019 17:00,10138242.76,0.054264107,0.054264107 +09-08-2019 18:00,10137510.95,0.054959801,0.054959801 +09-08-2019 19:00,10136778.47,0.048698558,0.048698558 +09-08-2019 20:00,10136045.31,0.040350234,0.040350234 +09-08-2019 21:00,10135311.47,0.028523441,0.028523441 +09-08-2019 22:00,10134576.95,0.013913874,0.013913874 +09-08-2019 23:00,10133841.76,0.004869856,0.004869856 +10-08-2019 0:00,10133105.89,0.002782775,0.002782775 +10-08-2019 1:00,10132369.35,0.000695694,0.000695694 +10-08-2019 2:00,10131632.13,0.000695694,0.000695694 +10-08-2019 3:00,10130894.24,0.001391387,0.001391387 +10-08-2019 4:00,10130155.67,0.004869856,0.004869856 +10-08-2019 5:00,10129416.43,0.038958846,0.038958846 +10-08-2019 6:00,10128676.51,0.064699512,0.064699512 +10-08-2019 7:00,10127935.92,0.050089945,0.050089945 +10-08-2019 8:00,10127194.66,0.059133963,0.059133963 +10-08-2019 9:00,10126452.72,0.042437315,0.042437315 +10-08-2019 10:00,10125710.12,0.036871765,0.036871765 +10-08-2019 11:00,10124966.84,0.031306216,0.031306216 +10-08-2019 12:00,10124222.89,0.025044973,0.025044973 +10-08-2019 13:00,10123478.27,0.021566504,0.021566504 +10-08-2019 14:00,10122732.98,0.016696648,0.016696648 +10-08-2019 15:00,10121987.02,0.018783729,0.018783729 +10-08-2019 16:00,10121240.39,0.030610522,0.030610522 +10-08-2019 17:00,10120493.09,0.054264107,0.054264107 +10-08-2019 18:00,10119745.12,0.054959801,0.054959801 +10-08-2019 19:00,10118996.48,0.048698558,0.048698558 +10-08-2019 20:00,10118247.17,0.040350234,0.040350234 +10-08-2019 21:00,10117497.2,0.028523441,0.028523441 +10-08-2019 22:00,10116746.55,0.013913874,0.013913874 +10-08-2019 23:00,10115995.24,0.004869856,0.004869856 +11-08-2019 0:00,10115243.27,0.002782775,0.002782775 +11-08-2019 1:00,10114490.63,0.000695694,0.000695694 +11-08-2019 2:00,10113737.32,0.000695694,0.000695694 +11-08-2019 3:00,10112983.34,0.001391387,0.001391387 +11-08-2019 4:00,10112228.71,0.004869856,0.004869856 +11-08-2019 5:00,10111473.4,0.038958846,0.038958846 +11-08-2019 6:00,10110717.43,0.064699512,0.064699512 +11-08-2019 7:00,10109960.8,0.050089945,0.050089945 +11-08-2019 8:00,10109203.51,0.059133963,0.059133963 +11-08-2019 9:00,10108445.55,0.042437315,0.042437315 +11-08-2019 10:00,10107686.93,0.036871765,0.036871765 +11-08-2019 11:00,10106927.64,0.031306216,0.031306216 +11-08-2019 12:00,10106167.69,0.025044973,0.025044973 +11-08-2019 13:00,10105407.09,0.021566504,0.021566504 +11-08-2019 14:00,10104645.82,0.016696648,0.016696648 +11-08-2019 15:00,10103883.89,0.018783729,0.018783729 +11-08-2019 16:00,10103121.3,0.030610522,0.030610522 +11-08-2019 17:00,10102358.04,0.054264107,0.054264107 +11-08-2019 18:00,10101594.13,0.054959801,0.054959801 +11-08-2019 19:00,10100829.56,0.048698558,0.048698558 +11-08-2019 20:00,10100064.34,0.040350234,0.040350234 +11-08-2019 21:00,10099298.45,0.028523441,0.028523441 +11-08-2019 22:00,10098531.9,0.013913874,0.013913874 +11-08-2019 23:00,10097764.7,0.004869856,0.004869856 +12-08-2019 0:00,10096996.84,0.002782775,0.002782775 +12-08-2019 1:00,10096228.32,0.000695694,0.000695694 +12-08-2019 2:00,10095459.15,0.000695694,0.000695694 +12-08-2019 3:00,10094689.32,0.001391387,0.001391387 +12-08-2019 4:00,10093918.83,0.004869856,0.004869856 +12-08-2019 5:00,10093147.69,0.038958846,0.038958846 +12-08-2019 6:00,10092375.89,0.064699512,0.064699512 +12-08-2019 7:00,10091603.44,0.050089945,0.050089945 +12-08-2019 8:00,10090830.33,0.059133963,0.059133963 +12-08-2019 9:00,10090056.58,0.042437315,0.042437315 +12-08-2019 10:00,10089282.16,0.036871765,0.036871765 +12-08-2019 11:00,10088507.1,0.031306216,0.031306216 +12-08-2019 12:00,10087731.38,0.025044973,0.025044973 +12-08-2019 13:00,10086955.01,0.021566504,0.021566504 +12-08-2019 14:00,10086177.99,0.016696648,0.016696648 +12-08-2019 15:00,10085400.31,0.018783729,0.018783729 +12-08-2019 16:00,10084621.99,0.030610522,0.030610522 +12-08-2019 17:00,10083843.01,0.054264107,0.054264107 +12-08-2019 18:00,10083063.39,0.054959801,0.054959801 +12-08-2019 19:00,10082283.11,0.048698558,0.048698558 +12-08-2019 20:00,10081502.19,0.040350234,0.040350234 +12-08-2019 21:00,10080720.62,0.028523441,0.028523441 +12-08-2019 22:00,10079938.39,0.013913874,0.013913874 +12-08-2019 23:00,10079155.52,0.004869856,0.004869856 +13-08-2019 0:00,10078372.01,0.002782775,0.002782775 +13-08-2019 1:00,10077587.84,0.000695694,0.000695694 +13-08-2019 2:00,10076803.03,0.000695694,0.000695694 +13-08-2019 3:00,10076017.57,0.001391387,0.001391387 +13-08-2019 4:00,10075231.46,0.004869856,0.004869856 +13-08-2019 5:00,10074444.71,0.038958846,0.038958846 +13-08-2019 6:00,10073657.32,0.064699512,0.064699512 +13-08-2019 7:00,10072869.28,0.050089945,0.050089945 +13-08-2019 8:00,10072080.59,0.059133963,0.059133963 +13-08-2019 9:00,10071291.26,0.042437315,0.042437315 +13-08-2019 10:00,10070501.29,0.036871765,0.036871765 +13-08-2019 11:00,10069710.67,0.031306216,0.031306216 +13-08-2019 12:00,10068919.41,0.025044973,0.025044973 +13-08-2019 13:00,10068127.51,0.021566504,0.021566504 +13-08-2019 14:00,10067334.96,0.016696648,0.016696648 +13-08-2019 15:00,10066541.78,0.018783729,0.018783729 +13-08-2019 16:00,10065747.95,0.030610522,0.030610522 +13-08-2019 17:00,10064953.48,0.054264107,0.054264107 +13-08-2019 18:00,10064158.37,0.054959801,0.054959801 +13-08-2019 19:00,10063362.62,0.048698558,0.048698558 +13-08-2019 20:00,10062566.23,0.040350234,0.040350234 +13-08-2019 21:00,10061769.21,0.028523441,0.028523441 +13-08-2019 22:00,10060971.54,0.013913874,0.013913874 +13-08-2019 23:00,10060173.23,0.004869856,0.004869856 +14-08-2019 0:00,10059374.29,0.002782775,0.002782775 +14-08-2019 1:00,10058574.71,0.000695694,0.000695694 +14-08-2019 2:00,10057774.49,0.000695694,0.000695694 +14-08-2019 3:00,10056973.64,0.001391387,0.001391387 +14-08-2019 4:00,10056172.15,0.004869856,0.004869856 +14-08-2019 5:00,10055370.02,0.038958846,0.038958846 +14-08-2019 6:00,10054567.26,0.064699512,0.064699512 +14-08-2019 7:00,10053763.86,0.050089945,0.050089945 +14-08-2019 8:00,10052959.83,0.059133963,0.059133963 +14-08-2019 9:00,10052155.16,0.042437315,0.042437315 +14-08-2019 10:00,10051349.86,0.036871765,0.036871765 +14-08-2019 11:00,10050543.92,0.031306216,0.031306216 +14-08-2019 12:00,10049737.36,0.025044973,0.025044973 +14-08-2019 13:00,10048930.16,0.021566504,0.021566504 +14-08-2019 14:00,10048122.32,0.016696648,0.016696648 +14-08-2019 15:00,10047313.86,0.018783729,0.018783729 +14-08-2019 16:00,10046504.76,0.030610522,0.030610522 +14-08-2019 17:00,10045695.04,0.054264107,0.054264107 +14-08-2019 18:00,10044884.68,0.054959801,0.054959801 +14-08-2019 19:00,10044073.69,0.048698558,0.048698558 +14-08-2019 20:00,10043262.08,0.040350234,0.040350234 +14-08-2019 21:00,10042449.83,0.028523441,0.028523441 +14-08-2019 22:00,10041636.96,0.013913874,0.013913874 +14-08-2019 23:00,10040823.45,0.004869856,0.004869856 +15-08-2019 0:00,10040009.32,0.002782775,0.002782775 +15-08-2019 1:00,10039194.56,0.000695694,0.000695694 +15-08-2019 2:00,10038379.18,0.000695694,0.000695694 +15-08-2019 3:00,10037563.16,0.001391387,0.001391387 +15-08-2019 4:00,10036746.52,0.004869856,0.004869856 +15-08-2019 5:00,10035929.26,0.038958846,0.038958846 +15-08-2019 6:00,10035111.37,0.064699512,0.064699512 +15-08-2019 7:00,10034292.85,0.050089945,0.050089945 +15-08-2019 8:00,10033473.71,0.059133963,0.059133963 +15-08-2019 9:00,10032653.94,0.042437315,0.042437315 +15-08-2019 10:00,10031833.55,0.036871765,0.036871765 +15-08-2019 11:00,10031012.54,0.031306216,0.031306216 +15-08-2019 12:00,10030190.91,0.025044973,0.025044973 +15-08-2019 13:00,10029368.65,0.021566504,0.021566504 +15-08-2019 14:00,10028545.77,0.016696648,0.016696648 +15-08-2019 15:00,10027722.26,0.018783729,0.018783729 +15-08-2019 16:00,10026898.14,0.030610522,0.030610522 +15-08-2019 17:00,10026073.4,0.054264107,0.054264107 +15-08-2019 18:00,10025248.03,0.054959801,0.054959801 +15-08-2019 19:00,10024422.05,0.048698558,0.048698558 +15-08-2019 20:00,10023595.44,0.040350234,0.040350234 +15-08-2019 21:00,10022768.22,0.028523441,0.028523441 +15-08-2019 22:00,10021940.38,0.013913874,0.013913874 +15-08-2019 23:00,10021111.92,0.004869856,0.004869856 +16-08-2019 0:00,10020282.84,0.002782775,0.002782775 +16-08-2019 1:00,10019453.14,0.000695694,0.000695694 +16-08-2019 2:00,10018622.83,0.000695694,0.000695694 +16-08-2019 3:00,10017791.9,0.001391387,0.001391387 +16-08-2019 4:00,10016960.35,0.004869856,0.004869856 +16-08-2019 5:00,10016128.19,0.038958846,0.038958846 +16-08-2019 6:00,10015295.41,0.064699512,0.064699512 +16-08-2019 7:00,10014462.02,0.050089945,0.050089945 +16-08-2019 8:00,10013628.01,0.059133963,0.059133963 +16-08-2019 9:00,10012793.39,0.042437315,0.042437315 +16-08-2019 10:00,10011958.16,0.036871765,0.036871765 +16-08-2019 11:00,10011122.31,0.031306216,0.031306216 +16-08-2019 12:00,10010285.85,0.025044973,0.025044973 +16-08-2019 13:00,10009448.78,0.021566504,0.021566504 +16-08-2019 14:00,10008611.09,0.016696648,0.016696648 +16-08-2019 15:00,10007772.8,0.018783729,0.018783729 +16-08-2019 16:00,10006933.89,0.030610522,0.030610522 +16-08-2019 17:00,10006094.37,0.054264107,0.054264107 +16-08-2019 18:00,10005254.24,0.054959801,0.054959801 +16-08-2019 19:00,10004413.5,0.048698558,0.048698558 +16-08-2019 20:00,10003572.16,0.040350234,0.040350234 +16-08-2019 21:00,10002730.2,0.028523441,0.028523441 +16-08-2019 22:00,10001887.64,0.013913874,0.013913874 +16-08-2019 23:00,10001044.46,0.004869856,0.004869856 +17-08-2019 0:00,10000200.68,0.002782775,0.002782775 +17-08-2019 1:00,9999356.296,0.000695694,0.000695694 +17-08-2019 2:00,9998511.302,0.000695694,0.000695694 +17-08-2019 3:00,9997665.702,0.001391387,0.001391387 +17-08-2019 4:00,9996819.495,0.004869856,0.004869856 +17-08-2019 5:00,9995972.684,0.038958846,0.038958846 +17-08-2019 6:00,9995125.267,0.064699512,0.064699512 +17-08-2019 7:00,9994277.246,0.050089945,0.050089945 +17-08-2019 8:00,9993428.62,0.059133963,0.059133963 +17-08-2019 9:00,9992579.391,0.042437315,0.042437315 +17-08-2019 10:00,9991729.559,0.036871765,0.036871765 +17-08-2019 11:00,9990879.124,0.031306216,0.031306216 +17-08-2019 12:00,9990028.086,0.025044973,0.025044973 +17-08-2019 13:00,9989176.447,0.021566504,0.021566504 +17-08-2019 14:00,9988324.206,0.016696648,0.016696648 +17-08-2019 15:00,9987471.364,0.018783729,0.018783729 +17-08-2019 16:00,9986617.921,0.030610522,0.030610522 +17-08-2019 17:00,9985763.878,0.054264107,0.054264107 +17-08-2019 18:00,9984909.236,0.054959801,0.054959801 +17-08-2019 19:00,9984053.994,0.048698558,0.048698558 +17-08-2019 20:00,9983198.153,0.040350234,0.040350234 +17-08-2019 21:00,9982341.714,0.028523441,0.028523441 +17-08-2019 22:00,9981484.677,0.013913874,0.013913874 +17-08-2019 23:00,9980627.043,0.004869856,0.004869856 +18-08-2019 0:00,9979768.811,0.002782775,0.002782775 +18-08-2019 1:00,9978909.983,0.000695694,0.000695694 +18-08-2019 2:00,9978050.558,0.000695694,0.000695694 +18-08-2019 3:00,9977190.538,0.001391387,0.001391387 +18-08-2019 4:00,9976329.922,0.004869856,0.004869856 +18-08-2019 5:00,9975468.711,0.038958846,0.038958846 +18-08-2019 6:00,9974606.906,0.064699512,0.064699512 +18-08-2019 7:00,9973744.507,0.050089945,0.050089945 +18-08-2019 8:00,9972881.515,0.059133963,0.059133963 +18-08-2019 9:00,9972017.929,0.042437315,0.042437315 +18-08-2019 10:00,9971153.751,0.036871765,0.036871765 +18-08-2019 11:00,9970288.98,0.031306216,0.031306216 +18-08-2019 12:00,9969423.618,0.025044973,0.025044973 +18-08-2019 13:00,9968557.664,0.021566504,0.021566504 +18-08-2019 14:00,9967691.12,0.016696648,0.016696648 +18-08-2019 15:00,9966823.985,0.018783729,0.018783729 +18-08-2019 16:00,9965956.26,0.030610522,0.030610522 +18-08-2019 17:00,9965087.945,0.054264107,0.054264107 +18-08-2019 18:00,9964219.042,0.054959801,0.054959801 +18-08-2019 19:00,9963349.549,0.048698558,0.048698558 +18-08-2019 20:00,9962479.469,0.040350234,0.040350234 +18-08-2019 21:00,9961608.801,0.028523441,0.028523441 +18-08-2019 22:00,9960737.545,0.013913874,0.013913874 +18-08-2019 23:00,9959865.703,0.004869856,0.004869856 +19-08-2019 0:00,9958993.274,0.002782775,0.002782775 +19-08-2019 1:00,9958120.259,0.000695694,0.000695694 +19-08-2019 2:00,9957246.659,0.000695694,0.000695694 +19-08-2019 3:00,9956372.473,0.001391387,0.001391387 +19-08-2019 4:00,9955497.703,0.004869856,0.004869856 +19-08-2019 5:00,9954622.349,0.038958846,0.038958846 +19-08-2019 6:00,9953746.411,0.064699512,0.064699512 +19-08-2019 7:00,9952869.89,0.050089945,0.050089945 +19-08-2019 8:00,9951992.786,0.059133963,0.059133963 +19-08-2019 9:00,9951115.1,0.042437315,0.042437315 +19-08-2019 10:00,9950236.831,0.036871765,0.036871765 +19-08-2019 11:00,9949357.982,0.031306216,0.031306216 +19-08-2019 12:00,9948478.551,0.025044973,0.025044973 +19-08-2019 13:00,9947598.54,0.021566504,0.021566504 +19-08-2019 14:00,9946717.948,0.016696648,0.016696648 +19-08-2019 15:00,9945836.777,0.018783729,0.018783729 +19-08-2019 16:00,9944955.027,0.030610522,0.030610522 +19-08-2019 17:00,9944072.698,0.054264107,0.054264107 +19-08-2019 18:00,9943189.791,0.054959801,0.054959801 +19-08-2019 19:00,9942306.306,0.048698558,0.048698558 +19-08-2019 20:00,9941422.243,0.040350234,0.040350234 +19-08-2019 21:00,9940537.604,0.028523441,0.028523441 +19-08-2019 22:00,9939652.388,0.013913874,0.013913874 +19-08-2019 23:00,9938766.596,0.004869856,0.004869856 +20-08-2019 0:00,9937880.228,0.002782775,0.002782775 +20-08-2019 1:00,9936993.286,0.000695694,0.000695694 +20-08-2019 2:00,9936105.769,0.000695694,0.000695694 +20-08-2019 3:00,9935217.677,0.001391387,0.001391387 +20-08-2019 4:00,9934329.012,0.004869856,0.004869856 +20-08-2019 5:00,9933439.774,0.038958846,0.038958846 +20-08-2019 6:00,9932549.962,0.064699512,0.064699512 +20-08-2019 7:00,9931659.579,0.050089945,0.050089945 +20-08-2019 8:00,9930768.623,0.059133963,0.059133963 +20-08-2019 9:00,9929877.096,0.042437315,0.042437315 +20-08-2019 10:00,9928984.998,0.036871765,0.036871765 +20-08-2019 11:00,9928092.33,0.031306216,0.031306216 +20-08-2019 12:00,9927199.091,0.025044973,0.025044973 +20-08-2019 13:00,9926305.283,0.021566504,0.021566504 +20-08-2019 14:00,9925410.906,0.016696648,0.016696648 +20-08-2019 15:00,9924515.96,0.018783729,0.018783729 +20-08-2019 16:00,9923620.446,0.030610522,0.030610522 +20-08-2019 17:00,9922724.364,0.054264107,0.054264107 +20-08-2019 18:00,9921827.714,0.054959801,0.054959801 +20-08-2019 19:00,9920930.498,0.048698558,0.048698558 +20-08-2019 20:00,9920032.716,0.040350234,0.040350234 +20-08-2019 21:00,9919134.367,0.028523441,0.028523441 +20-08-2019 22:00,9918235.453,0.013913874,0.013913874 +20-08-2019 23:00,9917335.974,0.004869856,0.004869856 +21-08-2019 0:00,9916435.931,0.002782775,0.002782775 +21-08-2019 1:00,9915535.324,0.000695694,0.000695694 +21-08-2019 2:00,9914634.152,0.000695694,0.000695694 +21-08-2019 3:00,9913732.418,0.001391387,0.001391387 +21-08-2019 4:00,9912830.121,0.004869856,0.004869856 +21-08-2019 5:00,9911927.262,0.038958846,0.038958846 +21-08-2019 6:00,9911023.841,0.064699512,0.064699512 +21-08-2019 7:00,9910119.859,0.050089945,0.050089945 +21-08-2019 8:00,9909215.316,0.059133963,0.059133963 +21-08-2019 9:00,9908310.212,0.042437315,0.042437315 +21-08-2019 10:00,9907404.549,0.036871765,0.036871765 +21-08-2019 11:00,9906498.326,0.031306216,0.031306216 +21-08-2019 12:00,9905591.545,0.025044973,0.025044973 +21-08-2019 13:00,9904684.205,0.021566504,0.021566504 +21-08-2019 14:00,9903776.306,0.016696648,0.016696648 +21-08-2019 15:00,9902867.851,0.018783729,0.018783729 +21-08-2019 16:00,9901958.838,0.030610522,0.030610522 +21-08-2019 17:00,9901049.268,0.054264107,0.054264107 +21-08-2019 18:00,9900139.143,0.054959801,0.054959801 +21-08-2019 19:00,9899228.461,0.048698558,0.048698558 +21-08-2019 20:00,9898317.225,0.040350234,0.040350234 +21-08-2019 21:00,9897405.434,0.028523441,0.028523441 +21-08-2019 22:00,9896493.088,0.013913874,0.013913874 +21-08-2019 23:00,9895580.189,0.004869856,0.004869856 +22-08-2019 0:00,9894666.736,0.002782775,0.002782775 +22-08-2019 1:00,9893752.73,0.000695694,0.000695694 +22-08-2019 2:00,9892838.172,0.000695694,0.000695694 +22-08-2019 3:00,9891923.062,0.001391387,0.001391387 +22-08-2019 4:00,9891007.401,0.004869856,0.004869856 +22-08-2019 5:00,9890091.189,0.038958846,0.038958846 +22-08-2019 6:00,9889174.426,0.064699512,0.064699512 +22-08-2019 7:00,9888257.113,0.050089945,0.050089945 +22-08-2019 8:00,9887339.25,0.059133963,0.059133963 +22-08-2019 9:00,9886420.839,0.042437315,0.042437315 +22-08-2019 10:00,9885501.878,0.036871765,0.036871765 +22-08-2019 11:00,9884582.37,0.031306216,0.031306216 +22-08-2019 12:00,9883662.314,0.025044973,0.025044973 +22-08-2019 13:00,9882741.711,0.021566504,0.021566504 +22-08-2019 14:00,9881820.561,0.016696648,0.016696648 +22-08-2019 15:00,9880898.864,0.018783729,0.018783729 +22-08-2019 16:00,9879976.622,0.030610522,0.030610522 +22-08-2019 17:00,9879053.835,0.054264107,0.054264107 +22-08-2019 18:00,9878130.503,0.054959801,0.054959801 +22-08-2019 19:00,9877206.626,0.048698558,0.048698558 +22-08-2019 20:00,9876282.205,0.040350234,0.040350234 +22-08-2019 21:00,9875357.242,0.028523441,0.028523441 +22-08-2019 22:00,9874431.735,0.013913874,0.013913874 +22-08-2019 23:00,9873505.685,0.004869856,0.004869856 +23-08-2019 0:00,9872579.094,0.002782775,0.002782775 +23-08-2019 1:00,9871651.961,0.000695694,0.000695694 +23-08-2019 2:00,9870724.287,0.000695694,0.000695694 +23-08-2019 3:00,9869796.073,0.001391387,0.001391387 +23-08-2019 4:00,9868867.318,0.004869856,0.004869856 +23-08-2019 5:00,9867938.024,0.038958846,0.038958846 +23-08-2019 6:00,9867008.191,0.064699512,0.064699512 +23-08-2019 7:00,9866077.819,0.050089945,0.050089945 +23-08-2019 8:00,9865146.909,0.059133963,0.059133963 +23-08-2019 9:00,9864215.462,0.042437315,0.042437315 +23-08-2019 10:00,9863283.477,0.036871765,0.036871765 +23-08-2019 11:00,9862350.955,0.031306216,0.031306216 +23-08-2019 12:00,9861417.897,0.025044973,0.025044973 +23-08-2019 13:00,9860484.303,0.021566504,0.021566504 +23-08-2019 14:00,9859550.174,0.016696648,0.016696648 +23-08-2019 15:00,9858615.511,0.018783729,0.018783729 +23-08-2019 16:00,9857680.313,0.030610522,0.030610522 +23-08-2019 17:00,9856744.581,0.054264107,0.054264107 +23-08-2019 18:00,9855808.315,0.054959801,0.054959801 +23-08-2019 19:00,9854871.517,0.048698558,0.048698558 +23-08-2019 20:00,9853934.187,0.040350234,0.040350234 +23-08-2019 21:00,9852996.324,0.028523441,0.028523441 +23-08-2019 22:00,9852057.93,0.013913874,0.013913874 +23-08-2019 23:00,9851119.005,0.004869856,0.004869856 +24-08-2019 0:00,9850179.55,0.002782775,0.002782775 +24-08-2019 1:00,9849239.565,0.000695694,0.000695694 +24-08-2019 2:00,9848299.05,0.000695694,0.000695694 +24-08-2019 3:00,9847358.006,0.001391387,0.001391387 +24-08-2019 4:00,9846416.434,0.004869856,0.004869856 +24-08-2019 5:00,9845474.333,0.038958846,0.038958846 +24-08-2019 6:00,9844531.705,0.064699512,0.064699512 +24-08-2019 7:00,9843588.55,0.050089945,0.050089945 +24-08-2019 8:00,9842644.869,0.059133963,0.059133963 +24-08-2019 9:00,9841700.661,0.042437315,0.042437315 +24-08-2019 10:00,9840755.927,0.036871765,0.036871765 +24-08-2019 11:00,9839810.669,0.031306216,0.031306216 +24-08-2019 12:00,9838864.886,0.025044973,0.025044973 +24-08-2019 13:00,9837918.578,0.021566504,0.021566504 +24-08-2019 14:00,9836971.747,0.016696648,0.016696648 +24-08-2019 15:00,9836024.393,0.018783729,0.018783729 +24-08-2019 16:00,9835076.516,0.030610522,0.030610522 +24-08-2019 17:00,9834128.117,0.054264107,0.054264107 +24-08-2019 18:00,9833179.196,0.054959801,0.054959801 +24-08-2019 19:00,9832229.754,0.048698558,0.048698558 +24-08-2019 20:00,9831279.791,0.040350234,0.040350234 +24-08-2019 21:00,9830329.308,0.028523441,0.028523441 +24-08-2019 22:00,9829378.305,0.013913874,0.013913874 +24-08-2019 23:00,9828426.783,0.004869856,0.004869856 +25-08-2019 0:00,9827474.742,0.002782775,0.002782775 +25-08-2019 1:00,9826522.182,0.000695694,0.000695694 +25-08-2019 2:00,9825569.105,0.000695694,0.000695694 +25-08-2019 3:00,9824615.511,0.001391387,0.001391387 +25-08-2019 4:00,9823661.4,0.004869856,0.004869856 +25-08-2019 5:00,9822706.772,0.038958846,0.038958846 +25-08-2019 6:00,9821751.629,0.064699512,0.064699512 +25-08-2019 7:00,9820795.97,0.050089945,0.050089945 +25-08-2019 8:00,9819839.796,0.059133963,0.059133963 +25-08-2019 9:00,9818883.108,0.042437315,0.042437315 +25-08-2019 10:00,9817925.906,0.036871765,0.036871765 +25-08-2019 11:00,9816968.191,0.031306216,0.031306216 +25-08-2019 12:00,9816009.962,0.025044973,0.025044973 +25-08-2019 13:00,9815051.222,0.021566504,0.021566504 +25-08-2019 14:00,9814091.969,0.016696648,0.016696648 +25-08-2019 15:00,9813132.205,0.018783729,0.018783729 +25-08-2019 16:00,9812171.93,0.030610522,0.030610522 +25-08-2019 17:00,9811211.145,0.054264107,0.054264107 +25-08-2019 18:00,9810249.85,0.054959801,0.054959801 +25-08-2019 19:00,9809288.045,0.048698558,0.048698558 +25-08-2019 20:00,9808325.731,0.040350234,0.040350234 +25-08-2019 21:00,9807362.909,0.028523441,0.028523441 +25-08-2019 22:00,9806399.579,0.013913874,0.013913874 +25-08-2019 23:00,9805435.741,0.004869856,0.004869856 +26-08-2019 0:00,9804471.397,0.002782775,0.002782775 +26-08-2019 1:00,9803506.546,0.000695694,0.000695694 +26-08-2019 2:00,9802541.189,0.000695694,0.000695694 +26-08-2019 3:00,9801575.326,0.001391387,0.001391387 +26-08-2019 4:00,9800608.959,0.004869856,0.004869856 +26-08-2019 5:00,9799642.087,0.038958846,0.038958846 +26-08-2019 6:00,9798674.711,0.064699512,0.064699512 +26-08-2019 7:00,9797706.832,0.050089945,0.050089945 +26-08-2019 8:00,9796738.449,0.059133963,0.059133963 +26-08-2019 9:00,9795769.565,0.042437315,0.042437315 +26-08-2019 10:00,9794800.178,0.036871765,0.036871765 +26-08-2019 11:00,9793830.289,0.031306216,0.031306216 +26-08-2019 12:00,9792859.9,0.025044973,0.025044973 +26-08-2019 13:00,9791889.01,0.021566504,0.021566504 +26-08-2019 14:00,9790917.62,0.016696648,0.016696648 +26-08-2019 15:00,9789945.731,0.018783729,0.018783729 +26-08-2019 16:00,9788973.343,0.030610522,0.030610522 +26-08-2019 17:00,9788000.456,0.054264107,0.054264107 +26-08-2019 18:00,9787027.071,0.054959801,0.054959801 +26-08-2019 19:00,9786053.189,0.048698558,0.048698558 +26-08-2019 20:00,9785078.809,0.040350234,0.040350234 +26-08-2019 21:00,9784103.933,0.028523441,0.028523441 +26-08-2019 22:00,9783128.562,0.013913874,0.013913874 +26-08-2019 23:00,9782152.694,0.004869856,0.004869856 +27-08-2019 0:00,9781176.332,0.002782775,0.002782775 +27-08-2019 1:00,9780199.475,0.000695694,0.000695694 +27-08-2019 2:00,9779222.124,0.000695694,0.000695694 +27-08-2019 3:00,9778244.28,0.001391387,0.001391387 +27-08-2019 4:00,9777265.943,0.004869856,0.004869856 +27-08-2019 5:00,9776287.113,0.038958846,0.038958846 +27-08-2019 6:00,9775307.791,0.064699512,0.064699512 +27-08-2019 7:00,9774327.978,0.050089945,0.050089945 +27-08-2019 8:00,9773347.674,0.059133963,0.059133963 +27-08-2019 9:00,9772366.88,0.042437315,0.042437315 +27-08-2019 10:00,9771385.595,0.036871765,0.036871765 +27-08-2019 11:00,9770403.821,0.031306216,0.031306216 +27-08-2019 12:00,9769421.558,0.025044973,0.025044973 +27-08-2019 13:00,9768438.807,0.021566504,0.021566504 +27-08-2019 14:00,9767455.568,0.016696648,0.016696648 +27-08-2019 15:00,9766471.841,0.018783729,0.018783729 +27-08-2019 16:00,9765487.627,0.030610522,0.030610522 +27-08-2019 17:00,9764502.927,0.054264107,0.054264107 +27-08-2019 18:00,9763517.741,0.054959801,0.054959801 +27-08-2019 19:00,9762532.07,0.048698558,0.048698558 +27-08-2019 20:00,9761545.914,0.040350234,0.040350234 +27-08-2019 21:00,9760559.273,0.028523441,0.028523441 +27-08-2019 22:00,9759572.148,0.013913874,0.013913874 +27-08-2019 23:00,9758584.54,0.004869856,0.004869856 +28-08-2019 0:00,9757596.45,0.002782775,0.002782775 +28-08-2019 1:00,9756607.877,0.000695694,0.000695694 +28-08-2019 2:00,9755618.822,0.000695694,0.000695694 +28-08-2019 3:00,9754629.285,0.001391387,0.001391387 +28-08-2019 4:00,9753639.268,0.004869856,0.004869856 +28-08-2019 5:00,9752648.771,0.038958846,0.038958846 +28-08-2019 6:00,9751657.793,0.064699512,0.064699512 +28-08-2019 7:00,9750666.337,0.050089945,0.050089945 +28-08-2019 8:00,9749674.401,0.059133963,0.059133963 +28-08-2019 9:00,9748681.988,0.042437315,0.042437315 +28-08-2019 10:00,9747689.096,0.036871765,0.036871765 +28-08-2019 11:00,9746695.728,0.031306216,0.031306216 +28-08-2019 12:00,9745701.882,0.025044973,0.025044973 +28-08-2019 13:00,9744707.561,0.021566504,0.021566504 +28-08-2019 14:00,9743712.763,0.016696648,0.016696648 +28-08-2019 15:00,9742717.491,0.018783729,0.018783729 +28-08-2019 16:00,9741721.743,0.030610522,0.030610522 +28-08-2019 17:00,9740725.522,0.054264107,0.054264107 +28-08-2019 18:00,9739728.827,0.054959801,0.054959801 +28-08-2019 19:00,9738731.658,0.048698558,0.048698558 +28-08-2019 20:00,9737734.017,0.040350234,0.040350234 +28-08-2019 21:00,9736735.904,0.028523441,0.028523441 +28-08-2019 22:00,9735737.32,0.013913874,0.013913874 +28-08-2019 23:00,9734738.264,0.004869856,0.004869856 +29-08-2019 0:00,9733738.737,0.002782775,0.002782775 +29-08-2019 1:00,9732738.741,0.000695694,0.000695694 +29-08-2019 2:00,9731738.275,0.000695694,0.000695694 +29-08-2019 3:00,9730737.34,0.001391387,0.001391387 +29-08-2019 4:00,9729735.936,0.004869856,0.004869856 +29-08-2019 5:00,9728734.064,0.038958846,0.038958846 +29-08-2019 6:00,9727731.725,0.064699512,0.064699512 +29-08-2019 7:00,9726728.919,0.050089945,0.050089945 +29-08-2019 8:00,9725725.646,0.059133963,0.059133963 +29-08-2019 9:00,9724721.908,0.042437315,0.042437315 +29-08-2019 10:00,9723717.703,0.036871765,0.036871765 +29-08-2019 11:00,9722713.034,0.031306216,0.031306216 +29-08-2019 12:00,9721707.901,0.025044973,0.025044973 +29-08-2019 13:00,9720702.304,0.021566504,0.021566504 +29-08-2019 14:00,9719696.243,0.016696648,0.016696648 +29-08-2019 15:00,9718689.719,0.018783729,0.018783729 +29-08-2019 16:00,9717682.734,0.030610522,0.030610522 +29-08-2019 17:00,9716675.286,0.054264107,0.054264107 +29-08-2019 18:00,9715667.377,0.054959801,0.054959801 +29-08-2019 19:00,9714659.007,0.048698558,0.048698558 +29-08-2019 20:00,9713650.177,0.040350234,0.040350234 +29-08-2019 21:00,9712640.887,0.028523441,0.028523441 +29-08-2019 22:00,9711631.138,0.013913874,0.013913874 +29-08-2019 23:00,9710620.93,0.004869856,0.004869856 +30-08-2019 0:00,9709610.265,0.002782775,0.002782775 +30-08-2019 1:00,9708599.141,0.000695694,0.000695694 +30-08-2019 2:00,9707587.56,0.000695694,0.000695694 +30-08-2019 3:00,9706575.523,0.001391387,0.001391387 +30-08-2019 4:00,9705563.029,0.004869856,0.004869856 +30-08-2019 5:00,9704550.08,0.038958846,0.038958846 +30-08-2019 6:00,9703536.676,0.064699512,0.064699512 +30-08-2019 7:00,9702522.817,0.050089945,0.050089945 +30-08-2019 8:00,9701508.505,0.059133963,0.059133963 +30-08-2019 9:00,9700493.739,0.042437315,0.042437315 +30-08-2019 10:00,9699478.519,0.036871765,0.036871765 +30-08-2019 11:00,9698462.848,0.031306216,0.031306216 +30-08-2019 12:00,9697446.724,0.025044973,0.025044973 +30-08-2019 13:00,9696430.149,0.021566504,0.021566504 +30-08-2019 14:00,9695413.123,0.016696648,0.016696648 +30-08-2019 15:00,9694395.647,0.018783729,0.018783729 +30-08-2019 16:00,9693377.721,0.030610522,0.030610522 +30-08-2019 17:00,9692359.346,0.054264107,0.054264107 +30-08-2019 18:00,9691340.521,0.054959801,0.054959801 +30-08-2019 19:00,9690321.249,0.048698558,0.048698558 +30-08-2019 20:00,9689301.529,0.040350234,0.040350234 +30-08-2019 21:00,9688281.361,0.028523441,0.028523441 +30-08-2019 22:00,9687260.747,0.013913874,0.013913874 +30-08-2019 23:00,9686239.687,0.004869856,0.004869856 +31-08-2019 0:00,9685218.181,0.002782775,0.002782775 +31-08-2019 1:00,9684196.23,0.000695694,0.000695694 +31-08-2019 2:00,9683173.834,0.000695694,0.000695694 +31-08-2019 3:00,9682150.995,0.001391387,0.001391387 +31-08-2019 4:00,9681127.711,0.004869856,0.004869856 +31-08-2019 5:00,9680103.985,0.038958846,0.038958846 +31-08-2019 6:00,9679079.816,0.064699512,0.064699512 +31-08-2019 7:00,9678055.206,0.050089945,0.050089945 +31-08-2019 8:00,9677030.153,0.059133963,0.059133963 +31-08-2019 9:00,9676004.66,0.042437315,0.042437315 +31-08-2019 10:00,9674978.727,0.036871765,0.036871765 +31-08-2019 11:00,9673952.354,0.031306216,0.031306216 +31-08-2019 12:00,9672925.541,0.025044973,0.025044973 +31-08-2019 13:00,9671898.289,0.021566504,0.021566504 +31-08-2019 14:00,9670870.6,0.016696648,0.016696648 +31-08-2019 15:00,9669842.472,0.018783729,0.018783729 +31-08-2019 16:00,9668813.908,0.030610522,0.030610522 +31-08-2019 17:00,9667784.906,0.054264107,0.054264107 +31-08-2019 18:00,9666755.469,0.054959801,0.054959801 +31-08-2019 19:00,9665725.596,0.048698558,0.048698558 +31-08-2019 20:00,9664695.288,0.040350234,0.040350234 +31-08-2019 21:00,9663664.545,0.028523441,0.028523441 +31-08-2019 22:00,9662633.368,0.013913874,0.013913874 +31-08-2019 23:00,9661601.758,0.004869856,0.004869856 +01-09-2019 0:00,9660569.715,0.002782775,0.002782775 +01-09-2019 1:00,9659537.239,0.000695694,0.000695694 +01-09-2019 2:00,9658504.331,0.000695694,0.000695694 +01-09-2019 3:00,9657470.992,0.001391387,0.001391387 +01-09-2019 4:00,9656437.223,0.004869856,0.004869856 +01-09-2019 5:00,9655403.022,0.038958846,0.038958846 +01-09-2019 6:00,9654368.392,0.064699512,0.064699512 +01-09-2019 7:00,9653333.333,0.050089945,0.050089945 +01-09-2019 8:00,9652297.845,0.059133963,0.059133963 +01-09-2019 9:00,9651261.929,0.042437315,0.042437315 +01-09-2019 10:00,9650225.586,0.036871765,0.036871765 +01-09-2019 11:00,9649188.815,0.031306216,0.031306216 +01-09-2019 12:00,9648151.617,0.025044973,0.025044973 +01-09-2019 13:00,9647113.994,0.021566504,0.021566504 +01-09-2019 14:00,9646075.945,0.016696648,0.016696648 +01-09-2019 15:00,9645037.471,0.018783729,0.018783729 +01-09-2019 16:00,9643998.573,0.030610522,0.030610522 +01-09-2019 17:00,9642959.25,0.054264107,0.054264107 +01-09-2019 18:00,9641919.505,0.054959801,0.054959801 +01-09-2019 19:00,9640879.336,0.048698558,0.048698558 +01-09-2019 20:00,9639838.745,0.040350234,0.040350234 +01-09-2019 21:00,9638797.733,0.028523441,0.028523441 +01-09-2019 22:00,9637756.299,0.013913874,0.013913874 +01-09-2019 23:00,9636714.444,0.004869856,0.004869856 +02-09-2019 0:00,9635672.169,0.002782775,0.002782775 +02-09-2019 1:00,9634629.475,0.000695694,0.000695694 +02-09-2019 2:00,9633586.361,0.000695694,0.000695694 +02-09-2019 3:00,9632542.829,0.001391387,0.001391387 +02-09-2019 4:00,9631498.879,0.004869856,0.004869856 +02-09-2019 5:00,9630454.512,0.038958846,0.038958846 +02-09-2019 6:00,9629409.727,0.064699512,0.064699512 +02-09-2019 7:00,9628364.526,0.050089945,0.050089945 +02-09-2019 8:00,9627318.91,0.059133963,0.059133963 +02-09-2019 9:00,9626272.878,0.042437315,0.042437315 +02-09-2019 10:00,9625226.431,0.036871765,0.036871765 +02-09-2019 11:00,9624179.57,0.031306216,0.031306216 +02-09-2019 12:00,9623132.295,0.025044973,0.025044973 +02-09-2019 13:00,9622084.607,0.021566504,0.021566504 +02-09-2019 14:00,9621036.506,0.016696648,0.016696648 +02-09-2019 15:00,9619987.993,0.018783729,0.018783729 +02-09-2019 16:00,9618939.069,0.030610522,0.030610522 +02-09-2019 17:00,9617889.734,0.054264107,0.054264107 +02-09-2019 18:00,9616839.988,0.054959801,0.054959801 +02-09-2019 19:00,9615789.832,0.048698558,0.048698558 +02-09-2019 20:00,9614739.267,0.040350234,0.040350234 +02-09-2019 21:00,9613688.293,0.028523441,0.028523441 +02-09-2019 22:00,9612636.91,0.013913874,0.013913874 +02-09-2019 23:00,9611585.12,0.004869856,0.004869856 +03-09-2019 0:00,9610532.923,0.002782775,0.002782775 +03-09-2019 1:00,9609480.319,0.000695694,0.000695694 +03-09-2019 2:00,9608427.308,0.000695694,0.000695694 +03-09-2019 3:00,9607373.893,0.001391387,0.001391387 +03-09-2019 4:00,9606320.072,0.004869856,0.004869856 +03-09-2019 5:00,9605265.846,0.038958846,0.038958846 +03-09-2019 6:00,9604211.217,0.064699512,0.064699512 +03-09-2019 7:00,9603156.184,0.050089945,0.050089945 +03-09-2019 8:00,9602100.748,0.059133963,0.059133963 +03-09-2019 9:00,9601044.91,0.042437315,0.042437315 +03-09-2019 10:00,9599988.67,0.036871765,0.036871765 +03-09-2019 11:00,9598932.029,0.031306216,0.031306216 +03-09-2019 12:00,9597874.987,0.025044973,0.025044973 +03-09-2019 13:00,9596817.544,0.021566504,0.021566504 +03-09-2019 14:00,9595759.703,0.016696648,0.016696648 +03-09-2019 15:00,9594701.462,0.018783729,0.018783729 +03-09-2019 16:00,9593642.822,0.030610522,0.030610522 +03-09-2019 17:00,9592583.785,0.054264107,0.054264107 +03-09-2019 18:00,9591524.35,0.054959801,0.054959801 +03-09-2019 19:00,9590464.518,0.048698558,0.048698558 +03-09-2019 20:00,9589404.29,0.040350234,0.040350234 +03-09-2019 21:00,9588343.666,0.028523441,0.028523441 +03-09-2019 22:00,9587282.646,0.013913874,0.013913874 +03-09-2019 23:00,9586221.232,0.004869856,0.004869856 +04-09-2019 0:00,9585159.424,0.002782775,0.002782775 +04-09-2019 1:00,9584097.222,0.000695694,0.000695694 +04-09-2019 2:00,9583034.627,0.000695694,0.000695694 +04-09-2019 3:00,9581971.64,0.001391387,0.001391387 +04-09-2019 4:00,9580908.26,0.004869856,0.004869856 +04-09-2019 5:00,9579844.489,0.038958846,0.038958846 +04-09-2019 6:00,9578780.327,0.064699512,0.064699512 +04-09-2019 7:00,9577715.775,0.050089945,0.050089945 +04-09-2019 8:00,9576650.833,0.059133963,0.059133963 +04-09-2019 9:00,9575585.502,0.042437315,0.042437315 +04-09-2019 10:00,9574519.781,0.036871765,0.036871765 +04-09-2019 11:00,9573453.673,0.031306216,0.031306216 +04-09-2019 12:00,9572387.177,0.025044973,0.025044973 +04-09-2019 13:00,9571320.294,0.021566504,0.021566504 +04-09-2019 14:00,9570253.025,0.016696648,0.016696648 +04-09-2019 15:00,9569185.37,0.018783729,0.018783729 +04-09-2019 16:00,9568117.329,0.030610522,0.030610522 +04-09-2019 17:00,9567048.903,0.054264107,0.054264107 +04-09-2019 18:00,9565980.093,0.054959801,0.054959801 +04-09-2019 19:00,9564910.899,0.048698558,0.048698558 +04-09-2019 20:00,9563841.322,0.040350234,0.040350234 +04-09-2019 21:00,9562771.362,0.028523441,0.028523441 +04-09-2019 22:00,9561701.02,0.013913874,0.013913874 +04-09-2019 23:00,9560630.297,0.004869856,0.004869856 +05-09-2019 0:00,9559559.192,0.002782775,0.002782775 +05-09-2019 1:00,9558487.707,0.000695694,0.000695694 +05-09-2019 2:00,9557415.843,0.000695694,0.000695694 +05-09-2019 3:00,9556343.598,0.001391387,0.001391387 +05-09-2019 4:00,9555270.975,0.004869856,0.004869856 +05-09-2019 5:00,9554197.974,0.038958846,0.038958846 +05-09-2019 6:00,9553124.595,0.064699512,0.064699512 +05-09-2019 7:00,9552050.839,0.050089945,0.050089945 +05-09-2019 8:00,9550976.706,0.059133963,0.059133963 +05-09-2019 9:00,9549902.197,0.042437315,0.042437315 +05-09-2019 10:00,9548827.313,0.036871765,0.036871765 +05-09-2019 11:00,9547752.053,0.031306216,0.031306216 +05-09-2019 12:00,9546676.42,0.025044973,0.025044973 +05-09-2019 13:00,9545600.412,0.021566504,0.021566504 +05-09-2019 14:00,9544524.031,0.016696648,0.016696648 +05-09-2019 15:00,9543447.277,0.018783729,0.018783729 +05-09-2019 16:00,9542370.152,0.030610522,0.030610522 +05-09-2019 17:00,9541292.654,0.054264107,0.054264107 +05-09-2019 18:00,9540214.786,0.054959801,0.054959801 +05-09-2019 19:00,9539136.547,0.048698558,0.048698558 +05-09-2019 20:00,9538057.938,0.040350234,0.040350234 +05-09-2019 21:00,9536978.959,0.028523441,0.028523441 +05-09-2019 22:00,9535899.612,0.013913874,0.013913874 +05-09-2019 23:00,9534819.897,0.004869856,0.004869856 +06-09-2019 0:00,9533739.813,0.002782775,0.002782775 +06-09-2019 1:00,9532659.363,0.000695694,0.000695694 +06-09-2019 2:00,9531578.546,0.000695694,0.000695694 +06-09-2019 3:00,9530497.362,0.001391387,0.001391387 +06-09-2019 4:00,9529415.814,0.004869856,0.004869856 +06-09-2019 5:00,9528333.9,0.038958846,0.038958846 +06-09-2019 6:00,9527251.622,0.064699512,0.064699512 +06-09-2019 7:00,9526168.98,0.050089945,0.050089945 +06-09-2019 8:00,9525085.975,0.059133963,0.059133963 +06-09-2019 9:00,9524002.607,0.042437315,0.042437315 +06-09-2019 10:00,9522918.876,0.036871765,0.036871765 +06-09-2019 11:00,9521834.785,0.031306216,0.031306216 +06-09-2019 12:00,9520750.332,0.025044973,0.025044973 +06-09-2019 13:00,9519665.518,0.021566504,0.021566504 +06-09-2019 14:00,9518580.345,0.016696648,0.016696648 +06-09-2019 15:00,9517494.812,0.018783729,0.018783729 +06-09-2019 16:00,9516408.921,0.030610522,0.030610522 +06-09-2019 17:00,9515322.671,0.054264107,0.054264107 +06-09-2019 18:00,9514236.063,0.054959801,0.054959801 +06-09-2019 19:00,9513149.099,0.048698558,0.048698558 +06-09-2019 20:00,9512061.777,0.040350234,0.040350234 +06-09-2019 21:00,9510974.1,0.028523441,0.028523441 +06-09-2019 22:00,9509886.067,0.013913874,0.013913874 +06-09-2019 23:00,9508797.68,0.004869856,0.004869856 +07-09-2019 0:00,9507708.938,0.002782775,0.002782775 +07-09-2019 1:00,9506619.842,0.000695694,0.000695694 +07-09-2019 2:00,9505530.393,0.000695694,0.000695694 +07-09-2019 3:00,9504440.591,0.001391387,0.001391387 +07-09-2019 4:00,9503350.437,0.004869856,0.004869856 +07-09-2019 5:00,9502259.931,0.038958846,0.038958846 +07-09-2019 6:00,9501169.075,0.064699512,0.064699512 +07-09-2019 7:00,9500077.868,0.050089945,0.050089945 +07-09-2019 8:00,9498986.311,0.059133963,0.059133963 +07-09-2019 9:00,9497894.405,0.042437315,0.042437315 +07-09-2019 10:00,9496802.15,0.036871765,0.036871765 +07-09-2019 11:00,9495709.547,0.031306216,0.031306216 +07-09-2019 12:00,9494616.597,0.025044973,0.025044973 +07-09-2019 13:00,9493523.299,0.021566504,0.021566504 +07-09-2019 14:00,9492429.655,0.016696648,0.016696648 +07-09-2019 15:00,9491335.665,0.018783729,0.018783729 +07-09-2019 16:00,9490241.329,0.030610522,0.030610522 +07-09-2019 17:00,9489146.649,0.054264107,0.054264107 +07-09-2019 18:00,9488051.624,0.054959801,0.054959801 +07-09-2019 19:00,9486956.256,0.048698558,0.048698558 +07-09-2019 20:00,9485860.544,0.040350234,0.040350234 +07-09-2019 21:00,9484764.49,0.028523441,0.028523441 +07-09-2019 22:00,9483668.095,0.013913874,0.013913874 +07-09-2019 23:00,9482571.357,0.004869856,0.004869856 +08-09-2019 0:00,9481474.279,0.002782775,0.002782775 +08-09-2019 1:00,9480376.86,0.000695694,0.000695694 +08-09-2019 2:00,9479279.102,0.000695694,0.000695694 +08-09-2019 3:00,9478181.005,0.001391387,0.001391387 +08-09-2019 4:00,9477082.569,0.004869856,0.004869856 +08-09-2019 5:00,9475983.794,0.038958846,0.038958846 +08-09-2019 6:00,9474884.683,0.064699512,0.064699512 +08-09-2019 7:00,9473785.234,0.050089945,0.050089945 +08-09-2019 8:00,9472685.45,0.059133963,0.059133963 +08-09-2019 9:00,9471585.329,0.042437315,0.042437315 +08-09-2019 10:00,9470484.873,0.036871765,0.036871765 +08-09-2019 11:00,9469384.083,0.031306216,0.031306216 +08-09-2019 12:00,9468282.958,0.025044973,0.025044973 +08-09-2019 13:00,9467181.5,0.021566504,0.021566504 +08-09-2019 14:00,9466079.709,0.016696648,0.016696648 +08-09-2019 15:00,9464977.585,0.018783729,0.018783729 +08-09-2019 16:00,9463875.13,0.030610522,0.030610522 +08-09-2019 17:00,9462772.344,0.054264107,0.054264107 +08-09-2019 18:00,9461669.227,0.054959801,0.054959801 +08-09-2019 19:00,9460565.779,0.048698558,0.048698558 +08-09-2019 20:00,9459462.002,0.040350234,0.040350234 +08-09-2019 21:00,9458357.897,0.028523441,0.028523441 +08-09-2019 22:00,9457253.462,0.013913874,0.013913874 +08-09-2019 23:00,9456148.7,0.004869856,0.004869856 +09-09-2019 0:00,9455043.611,0.002782775,0.002782775 +09-09-2019 1:00,9453938.195,0.000695694,0.000695694 +09-09-2019 2:00,9452832.453,0.000695694,0.000695694 +09-09-2019 3:00,9451726.385,0.001391387,0.001391387 +09-09-2019 4:00,9450619.992,0.004869856,0.004869856 +09-09-2019 5:00,9449513.275,0.038958846,0.038958846 +09-09-2019 6:00,9448406.234,0.064699512,0.064699512 +09-09-2019 7:00,9447298.87,0.050089945,0.050089945 +09-09-2019 8:00,9446191.183,0.059133963,0.059133963 +09-09-2019 9:00,9445083.174,0.042437315,0.042437315 +09-09-2019 10:00,9443974.843,0.036871765,0.036871765 +09-09-2019 11:00,9442866.191,0.031306216,0.031306216 +09-09-2019 12:00,9441757.219,0.025044973,0.025044973 +09-09-2019 13:00,9440647.927,0.021566504,0.021566504 +09-09-2019 14:00,9439538.316,0.016696648,0.016696648 +09-09-2019 15:00,9438428.386,0.018783729,0.018783729 +09-09-2019 16:00,9437318.137,0.030610522,0.030610522 +09-09-2019 17:00,9436207.571,0.054264107,0.054264107 +09-09-2019 18:00,9435096.689,0.054959801,0.054959801 +09-09-2019 19:00,9433985.489,0.048698558,0.048698558 +09-09-2019 20:00,9432873.974,0.040350234,0.040350234 +09-09-2019 21:00,9431762.144,0.028523441,0.028523441 +09-09-2019 22:00,9430649.999,0.013913874,0.013913874 +09-09-2019 23:00,9429537.539,0.004869856,0.004869856 +10-09-2019 0:00,9428424.766,0.002782775,0.002782775 +10-09-2019 1:00,9427311.68,0.000695694,0.000695694 +10-09-2019 2:00,9426198.282,0.000695694,0.000695694 +10-09-2019 3:00,9425084.572,0.001391387,0.001391387 +10-09-2019 4:00,9423970.55,0.004869856,0.004869856 +10-09-2019 5:00,9422856.218,0.038958846,0.038958846 +10-09-2019 6:00,9421741.575,0.064699512,0.064699512 +10-09-2019 7:00,9420626.624,0.050089945,0.050089945 +10-09-2019 8:00,9419511.363,0.059133963,0.059133963 +10-09-2019 9:00,9418395.793,0.042437315,0.042437315 +10-09-2019 10:00,9417279.916,0.036871765,0.036871765 +10-09-2019 11:00,9416163.731,0.031306216,0.031306216 +10-09-2019 12:00,9415047.24,0.025044973,0.025044973 +10-09-2019 13:00,9413930.443,0.021566504,0.021566504 +10-09-2019 14:00,9412813.34,0.016696648,0.016696648 +10-09-2019 15:00,9411695.932,0.018783729,0.018783729 +10-09-2019 16:00,9410578.22,0.030610522,0.030610522 +10-09-2019 17:00,9409460.204,0.054264107,0.054264107 +10-09-2019 18:00,9408341.884,0.054959801,0.054959801 +10-09-2019 19:00,9407223.262,0.048698558,0.048698558 +10-09-2019 20:00,9406104.338,0.040350234,0.040350234 +10-09-2019 21:00,9404985.112,0.028523441,0.028523441 +10-09-2019 22:00,9403865.586,0.013913874,0.013913874 +10-09-2019 23:00,9402745.759,0.004869856,0.004869856 +11-09-2019 0:00,9401625.632,0.002782775,0.002782775 +11-09-2019 1:00,9400505.206,0.000695694,0.000695694 +11-09-2019 2:00,9399384.481,0.000695694,0.000695694 +11-09-2019 3:00,9398263.459,0.001391387,0.001391387 +11-09-2019 4:00,9397142.138,0.004869856,0.004869856 +11-09-2019 5:00,9396020.521,0.039090878,0.039090878 +11-09-2019 6:00,9394898.608,0.064699512,0.064699512 +11-09-2019 7:00,9393776.398,0.050089945,0.050089945 +11-09-2019 8:00,9392653.894,0.059133963,0.059133963 +11-09-2019 9:00,9391531.095,0.042751794,0.042751794 +11-09-2019 10:00,9390408.002,0.036871765,0.036871765 +11-09-2019 11:00,9389284.615,0.031306216,0.031306216 +11-09-2019 12:00,9388160.936,0.025133763,0.025133763 +11-09-2019 13:00,9387036.964,0.021566504,0.021566504 +11-09-2019 14:00,9385912.701,0.016696648,0.016696648 +11-09-2019 15:00,9384788.146,0.018783729,0.018783729 +11-09-2019 16:00,9383663.301,0.030610522,0.030610522 +11-09-2019 17:00,9382538.166,0.054264107,0.054264107 +11-09-2019 18:00,9381412.741,0.054959801,0.054959801 +11-09-2019 19:00,9380287.028,0.048698558,0.048698558 +11-09-2019 20:00,9379161.027,0.040350234,0.040350234 +11-09-2019 21:00,9378034.737,0.028523441,0.028523441 +11-09-2019 22:00,9376908.161,0.013913874,0.013913874 +11-09-2019 23:00,9375781.298,0.004869856,0.004869856 +12-09-2019 0:00,9374654.149,0.002782775,0.002782775 +12-09-2019 1:00,9373526.715,0.000695694,0.000695694 +12-09-2019 2:00,9372398.996,0.000695694,0.000695694 +12-09-2019 3:00,9371270.993,0.001391387,0.001391387 +12-09-2019 4:00,9370142.707,0.004869856,0.004869856 +12-09-2019 5:00,9369014.137,0.038958846,0.038958846 +12-09-2019 6:00,9367885.285,0.064699512,0.064699512 +12-09-2019 7:00,9366756.151,0.050089945,0.050089945 +12-09-2019 8:00,9365626.736,0.059133963,0.059133963 +12-09-2019 9:00,9364497.04,0.042437315,0.042437315 +12-09-2019 10:00,9363367.064,0.036871765,0.036871765 +12-09-2019 11:00,9362236.808,0.031306216,0.031306216 +12-09-2019 12:00,9361106.273,0.025044973,0.025044973 +12-09-2019 13:00,9359975.46,0.021566504,0.021566504 +12-09-2019 14:00,9358844.369,0.016696648,0.016696648 +12-09-2019 15:00,9357713.001,0.018783729,0.018783729 +12-09-2019 16:00,9356581.357,0.030610522,0.030610522 +12-09-2019 17:00,9355449.436,0.054264107,0.054264107 +12-09-2019 18:00,9354317.24,0.054959801,0.054959801 +12-09-2019 19:00,9353184.769,0.048698558,0.048698558 +12-09-2019 20:00,9352052.024,0.040350234,0.040350234 +12-09-2019 21:00,9350919.005,0.028523441,0.028523441 +12-09-2019 22:00,9349785.712,0.013913874,0.013913874 +12-09-2019 23:00,9348652.148,0.004869856,0.004869856 +13-09-2019 0:00,9347518.311,0.002782775,0.002782775 +13-09-2019 1:00,9346384.203,0.000695694,0.000695694 +13-09-2019 2:00,9345249.824,0.000695694,0.000695694 +13-09-2019 3:00,9344115.175,0.001391387,0.001391387 +13-09-2019 4:00,9342980.256,0.004869856,0.004869856 +13-09-2019 5:00,9341845.068,0.038958846,0.038958846 +13-09-2019 6:00,9340709.612,0.064699512,0.064699512 +13-09-2019 7:00,9339573.888,0.050089945,0.050089945 +13-09-2019 8:00,9338437.896,0.059133963,0.059133963 +13-09-2019 9:00,9337301.638,0.042437315,0.042437315 +13-09-2019 10:00,9336165.114,0.036871765,0.036871765 +13-09-2019 11:00,9335028.324,0.031306216,0.031306216 +13-09-2019 12:00,9333891.269,0.025044973,0.025044973 +13-09-2019 13:00,9332753.95,0.021566504,0.021566504 +13-09-2019 14:00,9331616.367,0.016696648,0.016696648 +13-09-2019 15:00,9330478.521,0.018783729,0.018783729 +13-09-2019 16:00,9329340.412,0.030610522,0.030610522 +13-09-2019 17:00,9328202.041,0.054264107,0.054264107 +13-09-2019 18:00,9327063.409,0.054959801,0.054959801 +13-09-2019 19:00,9325924.516,0.048698558,0.048698558 +13-09-2019 20:00,9324785.362,0.040350234,0.040350234 +13-09-2019 21:00,9323645.949,0.028523441,0.028523441 +13-09-2019 22:00,9322506.277,0.013913874,0.013913874 +13-09-2019 23:00,9321366.346,0.004869856,0.004869856 +14-09-2019 0:00,9320226.157,0.002782775,0.002782775 +14-09-2019 1:00,9319085.711,0.000695694,0.000695694 +14-09-2019 2:00,9317945.009,0.000695694,0.000695694 +14-09-2019 3:00,9316804.05,0.001391387,0.001391387 +14-09-2019 4:00,9315662.835,0.004869856,0.004869856 +14-09-2019 5:00,9314521.365,0.038958846,0.038958846 +14-09-2019 6:00,9313379.641,0.064699512,0.064699512 +14-09-2019 7:00,9312237.664,0.050089945,0.050089945 +14-09-2019 8:00,9311095.433,0.059133963,0.059133963 +14-09-2019 9:00,9309952.949,0.042437315,0.042437315 +14-09-2019 10:00,9308810.213,0.036871765,0.036871765 +14-09-2019 11:00,9307667.226,0.031306216,0.031306216 +14-09-2019 12:00,9306523.988,0.025044973,0.025044973 +14-09-2019 13:00,9305380.5,0.021566504,0.021566504 +14-09-2019 14:00,9304236.761,0.016696648,0.016696648 +14-09-2019 15:00,9303092.774,0.018783729,0.018783729 +14-09-2019 16:00,9301948.538,0.030610522,0.030610522 +14-09-2019 17:00,9300804.055,0.054264107,0.054264107 +14-09-2019 18:00,9299659.324,0.054959801,0.054959801 +14-09-2019 19:00,9298514.346,0.048698558,0.048698558 +14-09-2019 20:00,9297369.122,0.040350234,0.040350234 +14-09-2019 21:00,9296223.652,0.028523441,0.028523441 +14-09-2019 22:00,9295077.938,0.013913874,0.013913874 +14-09-2019 23:00,9293931.979,0.004869856,0.004869856 +15-09-2019 0:00,9292785.776,0.002782775,0.002782775 +15-09-2019 1:00,9291639.33,0.000695694,0.000695694 +15-09-2019 2:00,9290492.641,0.000695694,0.000695694 +15-09-2019 3:00,9289345.711,0.001391387,0.001391387 +15-09-2019 4:00,9288198.538,0.004869856,0.004869856 +15-09-2019 5:00,9287051.125,0.038958846,0.038958846 +15-09-2019 6:00,9285903.472,0.064699512,0.064699512 +15-09-2019 7:00,9284755.579,0.050089945,0.050089945 +15-09-2019 8:00,9283607.447,0.059133963,0.059133963 +15-09-2019 9:00,9282459.076,0.042437315,0.042437315 +15-09-2019 10:00,9281310.468,0.036871765,0.036871765 +15-09-2019 11:00,9280161.622,0.031306216,0.031306216 +15-09-2019 12:00,9279012.539,0.025044973,0.025044973 +15-09-2019 13:00,9277863.22,0.021566504,0.021566504 +15-09-2019 14:00,9276713.666,0.016696648,0.016696648 +15-09-2019 15:00,9275563.877,0.018783729,0.018783729 +15-09-2019 16:00,9274413.853,0.030610522,0.030610522 +15-09-2019 17:00,9273263.596,0.054264107,0.054264107 +15-09-2019 18:00,9272113.105,0.054959801,0.054959801 +15-09-2019 19:00,9270962.382,0.048698558,0.048698558 +15-09-2019 20:00,9269811.427,0.040350234,0.040350234 +15-09-2019 21:00,9268660.24,0.028523441,0.028523441 +15-09-2019 22:00,9267508.823,0.013913874,0.013913874 +15-09-2019 23:00,9266357.175,0.004869856,0.004869856 +16-09-2019 0:00,9265205.298,0.002782775,0.002782775 +16-09-2019 1:00,9264053.192,0.000695694,0.000695694 +16-09-2019 2:00,9262900.857,0.000695694,0.000695694 +16-09-2019 3:00,9261748.294,0.001391387,0.001391387 +16-09-2019 4:00,9260595.504,0.004869856,0.004869856 +16-09-2019 5:00,9259442.488,0.038958846,0.038958846 +16-09-2019 6:00,9258289.245,0.064699512,0.064699512 +16-09-2019 7:00,9257135.777,0.050089945,0.050089945 +16-09-2019 8:00,9255982.084,0.059133963,0.059133963 +16-09-2019 9:00,9254828.167,0.042437315,0.042437315 +16-09-2019 10:00,9253674.026,0.036871765,0.036871765 +16-09-2019 11:00,9252519.662,0.031306216,0.031306216 +16-09-2019 12:00,9251365.075,0.025044973,0.025044973 +16-09-2019 13:00,9250210.267,0.021566504,0.021566504 +16-09-2019 14:00,9249055.237,0.016696648,0.016696648 +16-09-2019 15:00,9247899.986,0.018783729,0.018783729 +16-09-2019 16:00,9246744.515,0.030610522,0.030610522 +16-09-2019 17:00,9245588.825,0.054264107,0.054264107 +16-09-2019 18:00,9244432.916,0.054959801,0.054959801 +16-09-2019 19:00,9243276.788,0.048698558,0.048698558 +16-09-2019 20:00,9242120.443,0.040350234,0.040350234 +16-09-2019 21:00,9240963.881,0.028523441,0.028523441 +16-09-2019 22:00,9239807.102,0.013913874,0.013913874 +16-09-2019 23:00,9238650.106,0.004869856,0.004869856 +17-09-2019 0:00,9237492.896,0.002782775,0.002782775 +17-09-2019 1:00,9236335.471,0.000695694,0.000695694 +17-09-2019 2:00,9235177.831,0.000695694,0.000695694 +17-09-2019 3:00,9234019.978,0.001391387,0.001391387 +17-09-2019 4:00,9232861.913,0.004869856,0.004869856 +17-09-2019 5:00,9231703.634,0.039055034,0.039055034 +17-09-2019 6:00,9230545.144,0.064699512,0.064699512 +17-09-2019 7:00,9229386.443,0.050089945,0.050089945 +17-09-2019 8:00,9228227.531,0.059133963,0.059133963 +17-09-2019 9:00,9227068.409,0.042780561,0.042780561 +17-09-2019 10:00,9225909.077,0.036871765,0.036871765 +17-09-2019 11:00,9224749.537,0.031306216,0.031306216 +17-09-2019 12:00,9223589.788,0.025044973,0.025044973 +17-09-2019 13:00,9222429.832,0.021566504,0.021566504 +17-09-2019 14:00,9221269.669,0.016696648,0.016696648 +17-09-2019 15:00,9220109.299,0.018783729,0.018783729 +17-09-2019 16:00,9218948.724,0.030610522,0.030610522 +17-09-2019 17:00,9217787.943,0.054264107,0.054264107 +17-09-2019 18:00,9216626.958,0.054959801,0.054959801 +17-09-2019 19:00,9215465.769,0.048698558,0.048698558 +17-09-2019 20:00,9214304.376,0.040350234,0.040350234 +17-09-2019 21:00,9213142.78,0.028523441,0.028523441 +17-09-2019 22:00,9211980.982,0.013913874,0.013913874 +17-09-2019 23:00,9210818.983,0.004869856,0.004869856 +18-09-2019 0:00,9209656.782,0.002782775,0.002782775 +18-09-2019 1:00,9208494.381,0.000695694,0.000695694 +18-09-2019 2:00,9207331.78,0.000695694,0.000695694 +18-09-2019 3:00,9206168.98,0.001391387,0.001391387 +18-09-2019 4:00,9205005.981,0.004869856,0.004869856 +18-09-2019 5:00,9203842.784,0.03975662,0.03975662 +18-09-2019 6:00,9202679.389,0.064699512,0.064699512 +18-09-2019 7:00,9201515.798,0.050089945,0.050089945 +18-09-2019 8:00,9200352.01,0.059133963,0.059133963 +18-09-2019 9:00,9199188.027,0.042841044,0.042841044 +18-09-2019 10:00,9198023.849,0.036871765,0.036871765 +18-09-2019 11:00,9196859.476,0.031306216,0.031306216 +18-09-2019 12:00,9195694.909,0.025044973,0.025044973 +18-09-2019 13:00,9194530.149,0.021566504,0.021566504 +18-09-2019 14:00,9193365.196,0.016696648,0.016696648 +18-09-2019 15:00,9192200.052,0.018783729,0.018783729 +18-09-2019 16:00,9191034.715,0.030610522,0.030610522 +18-09-2019 17:00,9189869.188,0.054264107,0.054264107 +18-09-2019 18:00,9188703.471,0.055013599,0.055013599 +18-09-2019 19:00,9187537.564,0.048969052,0.048969052 +18-09-2019 20:00,9186371.468,0.040350234,0.040350234 +18-09-2019 21:00,9185205.183,0.028640888,0.028640888 +18-09-2019 22:00,9184038.71,0.013913874,0.013913874 +18-09-2019 23:00,9182872.051,0.004869856,0.004869856 +19-09-2019 0:00,9181705.204,0.002782775,0.002782775 +19-09-2019 1:00,9180538.172,0.000695694,0.000695694 +19-09-2019 2:00,9179370.953,0.000695694,0.000695694 +19-09-2019 3:00,9178203.551,0.001391387,0.001391387 +19-09-2019 4:00,9177035.963,0.004869856,0.004869856 +19-09-2019 5:00,9175868.192,0.039876325,0.039876325 +19-09-2019 6:00,9174700.238,0.065467646,0.065467646 +19-09-2019 7:00,9173532.102,0.050089945,0.050089945 +19-09-2019 8:00,9172363.784,0.059503818,0.059503818 +19-09-2019 9:00,9171195.284,0.043786726,0.043786726 +19-09-2019 10:00,9170026.604,0.037320715,0.037320715 +19-09-2019 11:00,9168857.743,0.031617818,0.031617818 +19-09-2019 12:00,9167688.703,0.025653301,0.025653301 +19-09-2019 13:00,9166519.485,0.021566504,0.021566504 +19-09-2019 14:00,9165350.088,0.016696648,0.016696648 +19-09-2019 15:00,9164180.513,0.018783729,0.018783729 +19-09-2019 16:00,9163010.761,0.030610522,0.030610522 +19-09-2019 17:00,9161840.833,0.054264107,0.054264107 +19-09-2019 18:00,9160670.729,0.055236059,0.055236059 +19-09-2019 19:00,9159500.45,0.049086849,0.049086849 +19-09-2019 20:00,9158329.996,0.040826931,0.040826931 +19-09-2019 21:00,9157159.368,0.028769302,0.028769302 +19-09-2019 22:00,9155988.566,0.013913874,0.013913874 +19-09-2019 23:00,9154817.592,0.004869856,0.004869856 +20-09-2019 0:00,9153646.445,0.002782775,0.002782775 +20-09-2019 1:00,9152475.127,0.000695694,0.000695694 +20-09-2019 2:00,9151303.638,0.000695694,0.000695694 +20-09-2019 3:00,9150131.978,0.001391387,0.001391387 +20-09-2019 4:00,9148960.148,0.004869856,0.004869856 +20-09-2019 5:00,9147788.15,0.040339317,0.040339317 +20-09-2019 6:00,9146615.982,0.068239232,0.068239232 +20-09-2019 7:00,9145443.647,0.050812481,0.050812481 +20-09-2019 8:00,9144271.144,0.0608469,0.0608469 +20-09-2019 9:00,9143098.474,0.043952064,0.043952064 +20-09-2019 10:00,9141925.638,0.037582818,0.037582818 +20-09-2019 11:00,9140752.637,0.031845043,0.031845043 +20-09-2019 12:00,9139579.47,0.026065491,0.026065491 +20-09-2019 13:00,9138406.139,0.021566504,0.021566504 +20-09-2019 14:00,9137232.644,0.016696648,0.016696648 +20-09-2019 15:00,9136058.986,0.018783729,0.018783729 +20-09-2019 16:00,9134885.166,0.030610522,0.030610522 +20-09-2019 17:00,9133711.183,0.054264107,0.054264107 +20-09-2019 18:00,9132537.039,0.054959801,0.054959801 +20-09-2019 19:00,9131362.734,0.048890759,0.048890759 +20-09-2019 20:00,9130188.269,0.0404129,0.0404129 +20-09-2019 21:00,9129013.645,0.028750544,0.028750544 +20-09-2019 22:00,9127838.861,0.013913874,0.013913874 +20-09-2019 23:00,9126663.919,0.004869856,0.004869856 +21-09-2019 0:00,9125488.82,0.002782775,0.002782775 +21-09-2019 1:00,9124313.563,0.000695694,0.000695694 +21-09-2019 2:00,9123138.15,0.000695694,0.000695694 +21-09-2019 3:00,9121962.58,0.001391387,0.001391387 +21-09-2019 4:00,9120786.856,0.004869856,0.004869856 +21-09-2019 5:00,9119610.976,0.040100584,0.040100584 +21-09-2019 6:00,9118434.943,0.067131742,0.067131742 +21-09-2019 7:00,9117258.756,0.050408584,0.050408584 +21-09-2019 8:00,9116082.416,0.059217265,0.059217265 +21-09-2019 9:00,9114905.923,0.043126949,0.043126949 +21-09-2019 10:00,9113729.279,0.036893556,0.036893556 +21-09-2019 11:00,9112552.484,0.031306216,0.031306216 +21-09-2019 12:00,9111375.538,0.025044973,0.025044973 +21-09-2019 13:00,9110198.443,0.021566504,0.021566504 +21-09-2019 14:00,9109021.198,0.016696648,0.016696648 +21-09-2019 15:00,9107843.804,0.018783729,0.018783729 +21-09-2019 16:00,9106666.263,0.030610522,0.030610522 +21-09-2019 17:00,9105488.574,0.054264107,0.054264107 +21-09-2019 18:00,9104310.738,0.054959801,0.054959801 +21-09-2019 19:00,9103132.755,0.048698558,0.048698558 +21-09-2019 20:00,9101954.627,0.040350234,0.040350234 +21-09-2019 21:00,9100776.355,0.028523441,0.028523441 +21-09-2019 22:00,9099597.937,0.013913874,0.013913874 +21-09-2019 23:00,9098419.376,0.004869856,0.004869856 +22-09-2019 0:00,9097240.671,0.002782775,0.002782775 +22-09-2019 1:00,9096061.824,0.000695694,0.000695694 +22-09-2019 2:00,9094882.835,0.000695694,0.000695694 +22-09-2019 3:00,9093703.705,0.001391387,0.001391387 +22-09-2019 4:00,9092524.433,0.004869856,0.004869856 +22-09-2019 5:00,9091345.022,0.039039662,0.039039662 +22-09-2019 6:00,9090165.47,0.06477761,0.06477761 +22-09-2019 7:00,9088985.78,0.050089945,0.050089945 +22-09-2019 8:00,9087805.952,0.059133963,0.059133963 +22-09-2019 9:00,9086625.985,0.042896264,0.042896264 +22-09-2019 10:00,9085445.882,0.036871765,0.036871765 +22-09-2019 11:00,9084265.642,0.031306216,0.031306216 +22-09-2019 12:00,9083085.266,0.025044973,0.025044973 +22-09-2019 13:00,9081904.754,0.021566504,0.021566504 +22-09-2019 14:00,9080724.108,0.016696648,0.016696648 +22-09-2019 15:00,9079543.328,0.018783729,0.018783729 +22-09-2019 16:00,9078362.414,0.030610522,0.030610522 +22-09-2019 17:00,9077181.368,0.054264107,0.054264107 +22-09-2019 18:00,9076000.189,0.054959801,0.054959801 +22-09-2019 19:00,9074818.878,0.048698558,0.048698558 +22-09-2019 20:00,9073637.436,0.040350234,0.040350234 +22-09-2019 21:00,9072455.864,0.028523441,0.028523441 +22-09-2019 22:00,9071274.162,0.013913874,0.013913874 +22-09-2019 23:00,9070092.331,0.004869856,0.004869856 +23-09-2019 0:00,9068910.371,0.002782775,0.002782775 +23-09-2019 1:00,9067728.282,0.000695694,0.000695694 +23-09-2019 2:00,9066546.067,0.000695694,0.000695694 +23-09-2019 3:00,9065363.724,0.001391387,0.001391387 +23-09-2019 4:00,9064181.256,0.004869856,0.004869856 +23-09-2019 5:00,9062998.662,0.038958846,0.038958846 +23-09-2019 6:00,9061815.942,0.064699512,0.064699512 +23-09-2019 7:00,9060633.099,0.050089945,0.050089945 +23-09-2019 8:00,9059450.131,0.059133963,0.059133963 +23-09-2019 9:00,9058267.04,0.042661323,0.042661323 +23-09-2019 10:00,9057083.827,0.036871765,0.036871765 +23-09-2019 11:00,9055900.492,0.031306216,0.031306216 +23-09-2019 12:00,9054717.035,0.025044973,0.025044973 +23-09-2019 13:00,9053533.458,0.021566504,0.021566504 +23-09-2019 14:00,9052349.761,0.016696648,0.016696648 +23-09-2019 15:00,9051165.944,0.018783729,0.018783729 +23-09-2019 16:00,9049982.008,0.030610522,0.030610522 +23-09-2019 17:00,9048797.954,0.054264107,0.054264107 +23-09-2019 18:00,9047613.782,0.054959801,0.054959801 +23-09-2019 19:00,9046429.493,0.048698558,0.048698558 +23-09-2019 20:00,9045245.087,0.040350234,0.040350234 +23-09-2019 21:00,9044060.566,0.028523441,0.028523441 +23-09-2019 22:00,9042875.929,0.013913874,0.013913874 +23-09-2019 23:00,9041691.178,0.004869856,0.004869856 +24-09-2019 0:00,9040506.312,0.002782775,0.002782775 +24-09-2019 1:00,9039321.333,0.000695694,0.000695694 +24-09-2019 2:00,9038136.242,0.000695694,0.000695694 +24-09-2019 3:00,9036951.038,0.001391387,0.001391387 +24-09-2019 4:00,9035765.722,0.004869856,0.004869856 +24-09-2019 5:00,9034580.296,0.038958846,0.038958846 +24-09-2019 6:00,9033394.759,0.064699512,0.064699512 +24-09-2019 7:00,9032209.112,0.050089945,0.050089945 +24-09-2019 8:00,9031023.356,0.059133963,0.059133963 +24-09-2019 9:00,9029837.492,0.04268159,0.04268159 +24-09-2019 10:00,9028651.52,0.036871765,0.036871765 +24-09-2019 11:00,9027465.44,0.031306216,0.031306216 +24-09-2019 12:00,9026279.253,0.025044973,0.025044973 +24-09-2019 13:00,9025092.961,0.021566504,0.021566504 +24-09-2019 14:00,9023906.563,0.016696648,0.016696648 +24-09-2019 15:00,9022720.06,0.018783729,0.018783729 +24-09-2019 16:00,9021533.452,0.030610522,0.030610522 +24-09-2019 17:00,9020346.741,0.054264107,0.054264107 +24-09-2019 18:00,9019159.927,0.054959801,0.054959801 +24-09-2019 19:00,9017973.011,0.048698558,0.048698558 +24-09-2019 20:00,9016785.993,0.040350234,0.040350234 +24-09-2019 21:00,9015598.873,0.028523441,0.028523441 +24-09-2019 22:00,9014411.653,0.013913874,0.013913874 +24-09-2019 23:00,9013224.333,0.004869856,0.004869856 +25-09-2019 0:00,9012036.913,0.002782775,0.002782775 +25-09-2019 1:00,9010849.395,0.000695694,0.000695694 +25-09-2019 2:00,9009661.778,0.000695694,0.000695694 +25-09-2019 3:00,9008474.064,0.001391387,0.001391387 +25-09-2019 4:00,9007286.253,0.004869856,0.004869856 +25-09-2019 5:00,9006098.345,0.038958846,0.038958846 +25-09-2019 6:00,9004910.342,0.064699512,0.064699512 +25-09-2019 7:00,9003722.244,0.050089945,0.050089945 +25-09-2019 8:00,9002534.051,0.059133963,0.059133963 +25-09-2019 9:00,9001345.764,0.042926496,0.042926496 +25-09-2019 10:00,9000157.384,0.036871765,0.036871765 +25-09-2019 11:00,8998968.911,0.031306216,0.031306216 +25-09-2019 12:00,8997780.346,0.025044973,0.025044973 +25-09-2019 13:00,8996591.69,0.021566504,0.021566504 +25-09-2019 14:00,8995402.943,0.016696648,0.016696648 +25-09-2019 15:00,8994214.105,0.018783729,0.018783729 +25-09-2019 16:00,8993025.178,0.030610522,0.030610522 +25-09-2019 17:00,8991836.162,0.054264107,0.054264107 +25-09-2019 18:00,8990647.058,0.054959801,0.054959801 +25-09-2019 19:00,8989457.866,0.048698558,0.048698558 +25-09-2019 20:00,8988268.586,0.040350234,0.040350234 +25-09-2019 21:00,8987079.22,0.028523441,0.028523441 +25-09-2019 22:00,8985889.768,0.013913874,0.013913874 +25-09-2019 23:00,8984700.231,0.004869856,0.004869856 +26-09-2019 0:00,8983510.609,0.002782775,0.002782775 +26-09-2019 1:00,8982320.903,0.000695694,0.000695694 +26-09-2019 2:00,8981131.113,0.000695694,0.000695694 +26-09-2019 3:00,8979941.241,0.001391387,0.001391387 +26-09-2019 4:00,8978751.286,0.004869856,0.004869856 +26-09-2019 5:00,8977561.25,0.038958846,0.038958846 +26-09-2019 6:00,8976371.132,0.064699512,0.064699512 +26-09-2019 7:00,8975180.934,0.050089945,0.050089945 +26-09-2019 8:00,8973990.656,0.059133963,0.059133963 +26-09-2019 9:00,8972800.299,0.042772987,0.042772987 +26-09-2019 10:00,8971609.864,0.036871765,0.036871765 +26-09-2019 11:00,8970419.35,0.031306216,0.031306216 +26-09-2019 12:00,8969228.759,0.025044973,0.025044973 +26-09-2019 13:00,8968038.091,0.021566504,0.021566504 +26-09-2019 14:00,8966847.347,0.016696648,0.016696648 +26-09-2019 15:00,8965656.528,0.018783729,0.018783729 +26-09-2019 16:00,8964465.633,0.030610522,0.030610522 +26-09-2019 17:00,8963274.665,0.054264107,0.054264107 +26-09-2019 18:00,8962083.622,0.054959801,0.054959801 +26-09-2019 19:00,8960892.507,0.048698558,0.048698558 +26-09-2019 20:00,8959701.318,0.040350234,0.040350234 +26-09-2019 21:00,8958510.059,0.028523441,0.028523441 +26-09-2019 22:00,8957318.727,0.013913874,0.013913874 +26-09-2019 23:00,8956127.326,0.004869856,0.004869856 +27-09-2019 0:00,8954935.854,0.002782775,0.002782775 +27-09-2019 1:00,8953744.312,0.000695694,0.000695694 +27-09-2019 2:00,8952552.702,0.000695694,0.000695694 +27-09-2019 3:00,8951361.024,0.001391387,0.001391387 +27-09-2019 4:00,8950169.278,0.004869856,0.004869856 +27-09-2019 5:00,8948977.465,0.038958846,0.038958846 +27-09-2019 6:00,8947785.586,0.064699512,0.064699512 +27-09-2019 7:00,8946593.641,0.050089945,0.050089945 +27-09-2019 8:00,8945401.631,0.059133963,0.059133963 +27-09-2019 9:00,8944209.557,0.042695775,0.042695775 +27-09-2019 10:00,8943017.418,0.036871765,0.036871765 +27-09-2019 11:00,8941825.216,0.031306216,0.031306216 +27-09-2019 12:00,8940632.952,0.025044973,0.025044973 +27-09-2019 13:00,8939440.626,0.021566504,0.021566504 +27-09-2019 14:00,8938248.238,0.016696648,0.016696648 +27-09-2019 15:00,8937055.789,0.018783729,0.018783729 +27-09-2019 16:00,8935863.28,0.030610522,0.030610522 +27-09-2019 17:00,8934670.711,0.054264107,0.054264107 +27-09-2019 18:00,8933478.084,0.054959801,0.054959801 +27-09-2019 19:00,8932285.398,0.048698558,0.048698558 +27-09-2019 20:00,8931092.654,0.040350234,0.040350234 +27-09-2019 21:00,8929899.853,0.028523441,0.028523441 +27-09-2019 22:00,8928706.996,0.013913874,0.013913874 +27-09-2019 23:00,8927514.082,0.004869856,0.004869856 +28-09-2019 0:00,8926321.114,0.002782775,0.002782775 +28-09-2019 1:00,8925128.09,0.000695694,0.000695694 +28-09-2019 2:00,8923935.013,0.000695694,0.000695694 +28-09-2019 3:00,8922741.882,0.001391387,0.001391387 +28-09-2019 4:00,8921548.698,0.004869856,0.004869856 +28-09-2019 5:00,8920355.462,0.038958846,0.038958846 +28-09-2019 6:00,8919162.175,0.064699512,0.064699512 +28-09-2019 7:00,8917968.836,0.050089945,0.050089945 +28-09-2019 8:00,8916775.447,0.059133963,0.059133963 +28-09-2019 9:00,8915582.008,0.04253185,0.04253185 +28-09-2019 10:00,8914388.52,0.036871765,0.036871765 +28-09-2019 11:00,8913194.984,0.031306216,0.031306216 +28-09-2019 12:00,8912001.399,0.025044973,0.025044973 +28-09-2019 13:00,8910807.767,0.021566504,0.021566504 +28-09-2019 14:00,8909614.089,0.016696648,0.016696648 +28-09-2019 15:00,8908420.364,0.018783729,0.018783729 +28-09-2019 16:00,8907226.594,0.030610522,0.030610522 +28-09-2019 17:00,8906032.779,0.054264107,0.054264107 +28-09-2019 18:00,8904838.919,0.054959801,0.054959801 +28-09-2019 19:00,8903645.016,0.048698558,0.048698558 +28-09-2019 20:00,8902451.071,0.040350234,0.040350234 +28-09-2019 21:00,8901257.082,0.028523441,0.028523441 +28-09-2019 22:00,8900063.052,0.013913874,0.013913874 +28-09-2019 23:00,8898868.981,0.004869856,0.004869856 +29-09-2019 0:00,8897674.869,0.002782775,0.002782775 +29-09-2019 1:00,8896480.717,0.000695694,0.000695694 +29-09-2019 2:00,8895286.525,0.000695694,0.000695694 +29-09-2019 3:00,8894092.295,0.001391387,0.001391387 +29-09-2019 4:00,8892898.027,0.004869856,0.004869856 +29-09-2019 5:00,8891703.722,0.038958846,0.038958846 +29-09-2019 6:00,8890509.379,0.064699512,0.064699512 +29-09-2019 7:00,8889315,0.050089945,0.050089945 +29-09-2019 8:00,8888120.586,0.059133963,0.059133963 +29-09-2019 9:00,8886926.136,0.042838182,0.042838182 +29-09-2019 10:00,8885731.653,0.036871765,0.036871765 +29-09-2019 11:00,8884537.135,0.031306216,0.031306216 +29-09-2019 12:00,8883342.584,0.025044973,0.025044973 +29-09-2019 13:00,8882148,0.021566504,0.021566504 +29-09-2019 14:00,8880953.385,0.016696648,0.016696648 +29-09-2019 15:00,8879758.738,0.018783729,0.018783729 +29-09-2019 16:00,8878564.06,0.030610522,0.030610522 +29-09-2019 17:00,8877369.353,0.054264107,0.054264107 +29-09-2019 18:00,8876174.615,0.054959801,0.054959801 +29-09-2019 19:00,8874979.849,0.048698558,0.048698558 +29-09-2019 20:00,8873785.055,0.040350234,0.040350234 +29-09-2019 21:00,8872590.233,0.028523441,0.028523441 +29-09-2019 22:00,8871395.384,0.013913874,0.013913874 +29-09-2019 23:00,8870200.508,0.004869856,0.004869856 +30-09-2019 0:00,8869005.607,0.002782775,0.002782775 +30-09-2019 1:00,8867810.68,0.000695694,0.000695694 +30-09-2019 2:00,8866615.729,0.000695694,0.000695694 +30-09-2019 3:00,8865420.754,0.001391387,0.001391387 +30-09-2019 4:00,8864225.755,0.004869856,0.004869856 +30-09-2019 5:00,8863030.734,0.038958846,0.038958846 +30-09-2019 6:00,8861835.69,0.064699512,0.064699512 +30-09-2019 7:00,8860640.625,0.050089945,0.050089945 +30-09-2019 8:00,8859445.539,0.059133963,0.059133963 +30-09-2019 9:00,8858250.433,0.042885551,0.042885551 +30-09-2019 10:00,8857055.307,0.036871765,0.036871765 +30-09-2019 11:00,8855860.162,0.031306216,0.031306216 +30-09-2019 12:00,8854664.999,0.025044973,0.025044973 +30-09-2019 13:00,8853469.818,0.021566504,0.021566504 +30-09-2019 14:00,8852274.619,0.016696648,0.016696648 +30-09-2019 15:00,8851079.404,0.018783729,0.018783729 +30-09-2019 16:00,8849884.173,0.030610522,0.030610522 +30-09-2019 17:00,8848688.927,0.054264107,0.054264107 +30-09-2019 18:00,8847493.666,0.054959801,0.054959801 +30-09-2019 19:00,8846298.39,0.048698558,0.048698558 +30-09-2019 20:00,8845103.102,0.040350234,0.040350234 +30-09-2019 21:00,8843907.8,0.028523441,0.028523441 +30-09-2019 22:00,8842712.486,0.013913874,0.013913874 +30-09-2019 23:00,8841517.16,0.004869856,0.004869856 +01-10-2019 0:00,8840321.823,0.002782775,0.002782775 +01-10-2019 1:00,8839126.476,0.000695694,0.000695694 +01-10-2019 2:00,8837931.119,0.000695694,0.000695694 +01-10-2019 3:00,8836735.753,0.001391387,0.001391387 +01-10-2019 4:00,8835540.378,0.004869856,0.004869856 +01-10-2019 5:00,8834344.995,0.038958846,0.038958846 +01-10-2019 6:00,8833149.605,0.064699512,0.064699512 +01-10-2019 7:00,8831954.207,0.050089945,0.050089945 +01-10-2019 8:00,8830758.804,0.059133963,0.059133963 +01-10-2019 9:00,8829563.395,0.042821514,0.042821514 +01-10-2019 10:00,8828367.982,0.036871765,0.036871765 +01-10-2019 11:00,8827172.564,0.031306216,0.031306216 +01-10-2019 12:00,8825977.142,0.025044973,0.025044973 +01-10-2019 13:00,8824781.717,0.021566504,0.021566504 +01-10-2019 14:00,8823586.29,0.016696648,0.016696648 +01-10-2019 15:00,8822390.861,0.018783729,0.018783729 +01-10-2019 16:00,8821195.431,0.030610522,0.030610522 +01-10-2019 17:00,8820000,0.054264107,0.054264107 +01-10-2019 18:00,8818804.569,0.054959801,0.054959801 +01-10-2019 19:00,8817609.139,0.048698558,0.048698558 +01-10-2019 20:00,8816413.71,0.040350234,0.040350234 +01-10-2019 21:00,8815218.283,0.028523441,0.028523441 +01-10-2019 22:00,8814022.858,0.013913874,0.013913874 +01-10-2019 23:00,8812827.436,0.004869856,0.004869856 +02-10-2019 0:00,8811632.018,0.002782775,0.002782775 +02-10-2019 1:00,8810436.605,0.000695694,0.000695694 +02-10-2019 2:00,8809241.196,0.000695694,0.000695694 +02-10-2019 3:00,8808045.793,0.001391387,0.001391387 +02-10-2019 4:00,8806850.395,0.004869856,0.004869856 +02-10-2019 5:00,8805655.005,0.039138412,0.039138412 +02-10-2019 6:00,8804459.622,0.064794905,0.064794905 +02-10-2019 7:00,8803264.247,0.050193041,0.050193041 +02-10-2019 8:00,8802068.881,0.059133963,0.059133963 +02-10-2019 9:00,8800873.524,0.042860179,0.042860179 +02-10-2019 10:00,8799678.177,0.036871765,0.036871765 +02-10-2019 11:00,8798482.84,0.031306216,0.031306216 +02-10-2019 12:00,8797287.514,0.025044973,0.025044973 +02-10-2019 13:00,8796092.2,0.021566504,0.021566504 +02-10-2019 14:00,8794896.898,0.016696648,0.016696648 +02-10-2019 15:00,8793701.61,0.018783729,0.018783729 +02-10-2019 16:00,8792506.334,0.030610522,0.030610522 +02-10-2019 17:00,8791311.073,0.054403152,0.054403152 +02-10-2019 18:00,8790115.827,0.055355817,0.055355817 +02-10-2019 19:00,8788920.596,0.048915342,0.048915342 +02-10-2019 20:00,8787725.381,0.040350234,0.040350234 +02-10-2019 21:00,8786530.182,0.028547732,0.028547732 +02-10-2019 22:00,8785335.001,0.013913874,0.013913874 +02-10-2019 23:00,8784139.838,0.004869856,0.004869856 +03-10-2019 0:00,8782944.693,0.002782775,0.002782775 +03-10-2019 1:00,8781749.567,0.000695694,0.000695694 +03-10-2019 2:00,8780554.461,0.000695694,0.000695694 +03-10-2019 3:00,8779359.375,0.001391387,0.001391387 +03-10-2019 4:00,8778164.31,0.004869856,0.004869856 +03-10-2019 5:00,8776969.266,0.03957076,0.03957076 +03-10-2019 6:00,8775774.245,0.065365294,0.065365294 +03-10-2019 7:00,8774579.246,0.050810725,0.050810725 +03-10-2019 8:00,8773384.271,0.059386043,0.059386043 +03-10-2019 9:00,8772189.32,0.0436135,0.0436135 +03-10-2019 10:00,8770994.393,0.037054339,0.037054339 +03-10-2019 11:00,8769799.492,0.031437375,0.031437375 +03-10-2019 12:00,8768604.616,0.02546656,0.02546656 +03-10-2019 13:00,8767409.767,0.021566504,0.021566504 +03-10-2019 14:00,8766214.945,0.016696648,0.016696648 +03-10-2019 15:00,8765020.151,0.018783729,0.018783729 +03-10-2019 16:00,8763825.385,0.030664774,0.030664774 +03-10-2019 17:00,8762630.647,0.054688333,0.054688333 +03-10-2019 18:00,8761435.94,0.056250669,0.056250669 +03-10-2019 19:00,8760241.262,0.04946593,0.04946593 +03-10-2019 20:00,8759046.615,0.040980859,0.040980859 +03-10-2019 21:00,8757852,0.028715914,0.028715914 +03-10-2019 22:00,8756657.416,0.013913874,0.013913874 +03-10-2019 23:00,8755462.865,0.004869856,0.004869856 +04-10-2019 0:00,8754268.347,0.002782775,0.002782775 +04-10-2019 1:00,8753073.864,0.000695694,0.000695694 +04-10-2019 2:00,8751879.414,0.000695694,0.000695694 +04-10-2019 3:00,8750685,0.001391387,0.001391387 +04-10-2019 4:00,8749490.621,0.004869856,0.004869856 +04-10-2019 5:00,8748296.278,0.039827051,0.039827051 +04-10-2019 6:00,8747101.973,0.066952722,0.066952722 +04-10-2019 7:00,8745907.705,0.051120118,0.051120118 +04-10-2019 8:00,8744713.475,0.060254471,0.060254471 +04-10-2019 9:00,8743519.283,0.044136318,0.044136318 +04-10-2019 10:00,8742325.131,0.038075369,0.038075369 +04-10-2019 11:00,8741131.019,0.032200653,0.032200653 +04-10-2019 12:00,8739936.948,0.027072874,0.027072874 +04-10-2019 13:00,8738742.918,0.021566504,0.021566504 +04-10-2019 14:00,8737548.929,0.016696648,0.016696648 +04-10-2019 15:00,8736354.984,0.018783729,0.018783729 +04-10-2019 16:00,8735161.081,0.030809343,0.030809343 +04-10-2019 17:00,8733967.221,0.055562033,0.055562033 +04-10-2019 18:00,8732773.406,0.056804991,0.056804991 +04-10-2019 19:00,8731579.636,0.050035425,0.050035425 +04-10-2019 20:00,8730385.911,0.041295374,0.041295374 +04-10-2019 21:00,8729192.233,0.028762483,0.028762483 +04-10-2019 22:00,8727998.601,0.013913874,0.013913874 +04-10-2019 23:00,8726805.016,0.004869856,0.004869856 +05-10-2019 0:00,8725611.48,0.002782775,0.002782775 +05-10-2019 1:00,8724417.992,0.000695694,0.000695694 +05-10-2019 2:00,8723224.553,0.000695694,0.000695694 +05-10-2019 3:00,8722031.164,0.001391387,0.001391387 +05-10-2019 4:00,8720837.825,0.004979979,0.004979979 +05-10-2019 5:00,8719644.538,0.040352336,0.040352336 +05-10-2019 6:00,8718451.302,0.068669373,0.068669373 +05-10-2019 7:00,8717258.118,0.051150966,0.051150966 +05-10-2019 8:00,8716064.987,0.061092175,0.061092175 +05-10-2019 9:00,8714871.91,0.044239476,0.044239476 +05-10-2019 10:00,8713678.886,0.038346323,0.038346323 +05-10-2019 11:00,8712485.918,0.032549937,0.032549937 +05-10-2019 12:00,8711293.004,0.027812346,0.027812346 +05-10-2019 13:00,8710100.147,0.021578241,0.021578241 +05-10-2019 14:00,8708907.346,0.016696648,0.016696648 +05-10-2019 15:00,8707714.602,0.018783729,0.018783729 +05-10-2019 16:00,8706521.916,0.031575164,0.031575164 +05-10-2019 17:00,8705329.289,0.056475358,0.056475358 +05-10-2019 18:00,8704136.72,0.057488072,0.057488072 +05-10-2019 19:00,8702944.211,0.050259867,0.050259867 +05-10-2019 20:00,8701751.762,0.041426172,0.041426172 +05-10-2019 21:00,8700559.374,0.028799082,0.028799082 +05-10-2019 22:00,8699367.048,0.013913874,0.013913874 +05-10-2019 23:00,8698174.784,0.004869856,0.004869856 +06-10-2019 0:00,8696982.582,0.002782775,0.002782775 +06-10-2019 1:00,8695790.443,0.000695694,0.000695694 +06-10-2019 2:00,8694598.369,0.000695694,0.000695694 +06-10-2019 3:00,8693406.359,0.001391387,0.001391387 +06-10-2019 4:00,8692214.414,0.00509663,0.00509663 +06-10-2019 5:00,8691022.535,0.040506316,0.040506316 +06-10-2019 6:00,8689830.722,0.069331594,0.069331594 +06-10-2019 7:00,8688638.976,0.051179551,0.051179551 +06-10-2019 8:00,8687447.298,0.06168439,0.06168439 +06-10-2019 9:00,8686255.688,0.044418169,0.044418169 +06-10-2019 10:00,8685064.146,0.038776367,0.038776367 +06-10-2019 11:00,8683872.674,0.033271882,0.033271882 +06-10-2019 12:00,8682681.273,0.02869125,0.02869125 +06-10-2019 13:00,8681489.941,0.02181206,0.02181206 +06-10-2019 14:00,8680298.682,0.016751029,0.016751029 +06-10-2019 15:00,8679107.493,0.019019316,0.019019316 +06-10-2019 16:00,8677916.378,0.032923382,0.032923382 +06-10-2019 17:00,8676725.335,0.05722841,0.05722841 +06-10-2019 18:00,8675534.367,0.057850099,0.057850099 +06-10-2019 19:00,8674343.472,0.050485174,0.050485174 +06-10-2019 20:00,8673152.653,0.041588831,0.041588831 +06-10-2019 21:00,8671961.909,0.028848607,0.028848607 +06-10-2019 22:00,8670771.241,0.013913874,0.013913874 +06-10-2019 23:00,8669580.65,0.004869856,0.004869856 +07-10-2019 0:00,8668390.136,0.002892555,0.002892555 +07-10-2019 1:00,8667199.701,0.000695694,0.000695694 +07-10-2019 2:00,8666009.344,0.000695694,0.000695694 +07-10-2019 3:00,8664819.066,0.001479167,0.001479167 +07-10-2019 4:00,8663628.868,0.005315214,0.005315214 +07-10-2019 5:00,8662438.75,0.040920492,0.040920492 +07-10-2019 6:00,8661248.714,0.071871369,0.071871369 +07-10-2019 7:00,8660058.759,0.055768935,0.055768935 +07-10-2019 8:00,8658868.887,0.064568463,0.064568463 +07-10-2019 9:00,8657679.097,0.044586361,0.044586361 +07-10-2019 10:00,8656489.391,0.039068312,0.039068312 +07-10-2019 11:00,8655299.769,0.033704567,0.033704567 +07-10-2019 12:00,8654110.232,0.028938353,0.028938353 +07-10-2019 13:00,8652920.78,0.021929039,0.021929039 +07-10-2019 14:00,8651731.414,0.016804346,0.016804346 +07-10-2019 15:00,8650542.134,0.019122624,0.019122624 +07-10-2019 16:00,8649352.942,0.033125359,0.033125359 +07-10-2019 17:00,8648163.838,0.057294148,0.057294148 +07-10-2019 18:00,8646974.822,0.057903437,0.057903437 +07-10-2019 19:00,8645785.895,0.050513263,0.050513263 +07-10-2019 20:00,8644597.057,0.044073879,0.044073879 +07-10-2019 21:00,8643408.31,0.033510036,0.033510036 +07-10-2019 22:00,8642219.654,0.016196921,0.016196921 +07-10-2019 23:00,8641031.089,0.005653542,0.005653542 +08-10-2019 0:00,8639842.616,0.003043629,0.003043629 +08-10-2019 1:00,8638654.236,0.000695694,0.000695694 +08-10-2019 2:00,8637465.949,0.000695694,0.000695694 +08-10-2019 3:00,8636277.756,0.001391387,0.001391387 +08-10-2019 4:00,8635089.658,0.00521454,0.00521454 +08-10-2019 5:00,8633901.655,0.040617154,0.040617154 +08-10-2019 6:00,8632713.747,0.070949116,0.070949116 +08-10-2019 7:00,8631525.936,0.056981429,0.056981429 +08-10-2019 8:00,8630338.222,0.065684303,0.065684303 +08-10-2019 9:00,8629150.605,0.046114741,0.046114741 +08-10-2019 10:00,8627963.087,0.038605977,0.038605977 +08-10-2019 11:00,8626775.667,0.032914967,0.032914967 +08-10-2019 12:00,8625588.347,0.028309295,0.028309295 +08-10-2019 13:00,8624401.127,0.021607351,0.021607351 +08-10-2019 14:00,8623214.007,0.016700762,0.016700762 +08-10-2019 15:00,8622026.989,0.018830957,0.018830957 +08-10-2019 16:00,8620840.073,0.032078811,0.032078811 +08-10-2019 17:00,8619653.259,0.05684447,0.05684447 +08-10-2019 18:00,8618466.548,0.057523522,0.057523522 +08-10-2019 19:00,8617279.94,0.050260838,0.050260838 +08-10-2019 20:00,8616093.437,0.041663781,0.041663781 +08-10-2019 21:00,8614907.039,0.031577525,0.031577525 +08-10-2019 22:00,8613720.747,0.016092824,0.016092824 +08-10-2019 23:00,8612534.56,0.005652883,0.005652883 +09-10-2019 0:00,8611348.48,0.003045729,0.003045729 +09-10-2019 1:00,8610162.508,0.000695694,0.000695694 +09-10-2019 2:00,8608976.644,0.000695694,0.000695694 +09-10-2019 3:00,8607790.888,0.001391387,0.001391387 +09-10-2019 4:00,8606605.241,0.005140028,0.005140028 +09-10-2019 5:00,8605419.704,0.040478245,0.040478245 +09-10-2019 6:00,8604234.278,0.070533046,0.070533046 +09-10-2019 7:00,8603048.962,0.05708247,0.05708247 +09-10-2019 8:00,8601863.758,0.066277892,0.066277892 +09-10-2019 9:00,8600678.667,0.049727973,0.049727973 +09-10-2019 10:00,8599493.688,0.040343749,0.040343749 +09-10-2019 11:00,8598308.822,0.03493432,0.03493432 +09-10-2019 12:00,8597124.071,0.028384925,0.028384925 +09-10-2019 13:00,8595939.434,0.021609519,0.021609519 +09-10-2019 14:00,8594754.913,0.016708316,0.016708316 +09-10-2019 15:00,8593570.507,0.018852734,0.018852734 +09-10-2019 16:00,8592386.218,0.032493328,0.032493328 +09-10-2019 17:00,8591202.046,0.057029832,0.057029832 +09-10-2019 18:00,8590017.992,0.057618081,0.057618081 +09-10-2019 19:00,8588834.056,0.056742286,0.056742286 +09-10-2019 20:00,8587650.239,0.052755626,0.052755626 +09-10-2019 21:00,8586466.542,0.034596475,0.034596475 +09-10-2019 22:00,8585282.965,0.016559857,0.016559857 +09-10-2019 23:00,8584099.508,0.005859846,0.005859846 +10-10-2019 0:00,8582916.173,0.003090215,0.003090215 +10-10-2019 1:00,8581732.96,0.000695694,0.000695694 +10-10-2019 2:00,8580549.869,0.000695694,0.000695694 +10-10-2019 3:00,8579366.901,0.001391387,0.001391387 +10-10-2019 4:00,8578184.058,0.005193737,0.005193737 +10-10-2019 5:00,8577001.338,0.040574177,0.040574177 +10-10-2019 6:00,8575818.744,0.072036861,0.072036861 +10-10-2019 7:00,8574636.276,0.057815762,0.057815762 +10-10-2019 8:00,8573453.933,0.066560333,0.066560333 +10-10-2019 9:00,8572271.718,0.049884471,0.049884471 +10-10-2019 10:00,8571089.629,0.038028088,0.038028088 +10-10-2019 11:00,8569907.669,0.032347744,0.032347744 +10-10-2019 12:00,8568725.838,0.027778835,0.027778835 +10-10-2019 13:00,8567544.136,0.021601694,0.021601694 +10-10-2019 14:00,8566362.564,0.016696648,0.016696648 +10-10-2019 15:00,8565181.122,0.018783729,0.018783729 +10-10-2019 16:00,8563999.811,0.031842735,0.031842735 +10-10-2019 17:00,8562818.632,0.056670794,0.056670794 +10-10-2019 18:00,8561637.586,0.057415882,0.057415882 +10-10-2019 19:00,8560456.672,0.050898515,0.050898515 +10-10-2019 20:00,8559275.892,0.04710526,0.04710526 +10-10-2019 21:00,8558095.246,0.033253138,0.033253138 +10-10-2019 22:00,8556914.734,0.016170039,0.016170039 +10-10-2019 23:00,8555734.358,0.005645879,0.005645879 +11-10-2019 0:00,8554554.118,0.003041152,0.003041152 +11-10-2019 1:00,8553374.015,0.000695694,0.000695694 +11-10-2019 2:00,8552194.048,0.000695694,0.000695694 +11-10-2019 3:00,8551014.22,0.001391387,0.001391387 +11-10-2019 4:00,8549834.53,0.005000995,0.005000995 +11-10-2019 5:00,8548654.978,0.040150228,0.040150228 +11-10-2019 6:00,8547475.567,0.06945637,0.06945637 +11-10-2019 7:00,8546296.295,0.056993354,0.056993354 +11-10-2019 8:00,8545117.165,0.065544308,0.065544308 +11-10-2019 9:00,8543938.176,0.050238225,0.050238225 +11-10-2019 10:00,8542759.329,0.042022402,0.042022402 +11-10-2019 11:00,8541580.624,0.036086495,0.036086495 +11-10-2019 12:00,8540402.063,0.02789757,0.02789757 +11-10-2019 13:00,8539223.645,0.021578159,0.021578159 +11-10-2019 14:00,8538045.373,0.016696648,0.016696648 +11-10-2019 15:00,8536867.245,0.018783729,0.018783729 +11-10-2019 16:00,8535689.262,0.031515591,0.031515591 +11-10-2019 17:00,8534511.426,0.056208871,0.056208871 +11-10-2019 18:00,8533333.737,0.056938766,0.056938766 +11-10-2019 19:00,8532156.196,0.050325302,0.050325302 +11-10-2019 20:00,8530978.802,0.044628911,0.044628911 +11-10-2019 21:00,8529801.557,0.031642978,0.031642978 +11-10-2019 22:00,8528624.462,0.015400087,0.015400087 +11-10-2019 23:00,8527447.516,0.005394305,0.005394305 +12-10-2019 0:00,8526270.721,0.002964416,0.002964416 +12-10-2019 1:00,8525094.077,0.000695694,0.000695694 +12-10-2019 2:00,8523917.584,0.000695694,0.000695694 +12-10-2019 3:00,8522741.244,0.001391387,0.001391387 +12-10-2019 4:00,8521565.057,0.004869856,0.004869856 +12-10-2019 5:00,8520389.024,0.039693333,0.039693333 +12-10-2019 6:00,8519213.144,0.067622334,0.067622334 +12-10-2019 7:00,8518037.42,0.055012665,0.055012665 +12-10-2019 8:00,8516861.85,0.062657383,0.062657383 +12-10-2019 9:00,8515686.437,0.045916132,0.045916132 +12-10-2019 10:00,8514511.18,0.038621744,0.038621744 +12-10-2019 11:00,8513336.081,0.033509283,0.033509283 +12-10-2019 12:00,8512161.139,0.027850982,0.027850982 +12-10-2019 13:00,8510986.355,0.021580821,0.021580821 +12-10-2019 14:00,8509811.731,0.016696648,0.016696648 +12-10-2019 15:00,8508637.266,0.018801975,0.018801975 +12-10-2019 16:00,8507462.961,0.031740508,0.031740508 +12-10-2019 17:00,8506288.817,0.056464685,0.056464685 +12-10-2019 18:00,8505114.834,0.057259905,0.057259905 +12-10-2019 19:00,8503941.014,0.056739179,0.056739179 +12-10-2019 20:00,8502767.356,0.051474854,0.051474854 +12-10-2019 21:00,8501593.861,0.033914249,0.033914249 +12-10-2019 22:00,8500420.53,0.016314859,0.016314859 +12-10-2019 23:00,8499247.363,0.005784069,0.005784069 +13-10-2019 0:00,8498074.362,0.003057987,0.003057987 +13-10-2019 1:00,8496901.526,0.000725762,0.000725762 +13-10-2019 2:00,8495728.856,0.000695694,0.000695694 +13-10-2019 3:00,8494556.353,0.001391387,0.001391387 +13-10-2019 4:00,8493384.018,0.004936395,0.004936395 +13-10-2019 5:00,8492211.85,0.040010235,0.040010235 +13-10-2019 6:00,8491039.852,0.069360906,0.069360906 +13-10-2019 7:00,8489868.022,0.057773136,0.057773136 +13-10-2019 8:00,8488696.362,0.065229861,0.065229861 +13-10-2019 9:00,8487524.873,0.049323507,0.049323507 +13-10-2019 10:00,8486353.555,0.039895357,0.039895357 +13-10-2019 11:00,8485182.408,0.032470305,0.032470305 +13-10-2019 12:00,8484011.434,0.026791464,0.026791464 +13-10-2019 13:00,8482840.632,0.021566504,0.021566504 +13-10-2019 14:00,8481670.004,0.016696648,0.016696648 +13-10-2019 15:00,8480499.55,0.018783729,0.018783729 +13-10-2019 16:00,8479329.271,0.030610522,0.030610522 +13-10-2019 17:00,8478159.167,0.054445336,0.054445336 +13-10-2019 18:00,8476989.239,0.055638979,0.055638979 +13-10-2019 19:00,8475819.487,0.049437122,0.049437122 +13-10-2019 20:00,8474649.912,0.041036665,0.041036665 +13-10-2019 21:00,8473480.515,0.028671303,0.028671303 +13-10-2019 22:00,8472311.297,0.013913874,0.013913874 +13-10-2019 23:00,8471142.257,0.004869856,0.004869856 +14-10-2019 0:00,8469973.396,0.002782775,0.002782775 +14-10-2019 1:00,8468804.716,0.000695694,0.000695694 +14-10-2019 2:00,8467636.216,0.000695694,0.000695694 +14-10-2019 3:00,8466467.898,0.001391387,0.001391387 +14-10-2019 4:00,8465299.762,0.004869856,0.004869856 +14-10-2019 5:00,8464131.808,0.039450823,0.039450823 +14-10-2019 6:00,8462964.037,0.066267524,0.066267524 +14-10-2019 7:00,8461796.449,0.052485047,0.052485047 +14-10-2019 8:00,8460629.047,0.059692292,0.059692292 +14-10-2019 9:00,8459461.828,0.043967785,0.043967785 +14-10-2019 10:00,8458294.796,0.037974991,0.037974991 +14-10-2019 11:00,8457127.949,0.032292628,0.032292628 +14-10-2019 12:00,8455961.29,0.02659414,0.02659414 +14-10-2019 13:00,8454794.817,0.021566504,0.021566504 +14-10-2019 14:00,8453628.532,0.016696648,0.016696648 +14-10-2019 15:00,8452462.436,0.018783729,0.018783729 +14-10-2019 16:00,8451296.529,0.030636156,0.030636156 +14-10-2019 17:00,8450130.812,0.054592362,0.054592362 +14-10-2019 18:00,8448965.285,0.055847343,0.055847343 +14-10-2019 19:00,8447799.948,0.049422263,0.049422263 +14-10-2019 20:00,8446634.804,0.040904977,0.040904977 +14-10-2019 21:00,8445469.851,0.028637588,0.028637588 +14-10-2019 22:00,8444305.091,0.013913874,0.013913874 +14-10-2019 23:00,8443140.524,0.004869856,0.004869856 +15-10-2019 0:00,8441976.151,0.002782775,0.002782775 +15-10-2019 1:00,8440811.973,0.000695694,0.000695694 +15-10-2019 2:00,8439647.99,0.000695694,0.000695694 +15-10-2019 3:00,8438484.202,0.001391387,0.001391387 +15-10-2019 4:00,8437320.611,0.004869856,0.004869856 +15-10-2019 5:00,8436157.216,0.039058651,0.039058651 +15-10-2019 6:00,8434994.019,0.064786096,0.064786096 +15-10-2019 7:00,8433831.02,0.050916505,0.050916505 +15-10-2019 8:00,8432668.22,0.059320363,0.059320363 +15-10-2019 9:00,8431505.619,0.043658799,0.043658799 +15-10-2019 10:00,8430343.218,0.037308782,0.037308782 +15-10-2019 11:00,8429181.017,0.031905956,0.031905956 +15-10-2019 12:00,8428019.018,0.025968527,0.025968527 +15-10-2019 13:00,8426857.22,0.021566504,0.021566504 +15-10-2019 14:00,8425695.624,0.016696648,0.016696648 +15-10-2019 15:00,8424534.231,0.018783729,0.018783729 +15-10-2019 16:00,8423373.042,0.030610522,0.030610522 +15-10-2019 17:00,8422212.057,0.05449419,0.05449419 +15-10-2019 18:00,8421051.276,0.055596542,0.055596542 +15-10-2019 19:00,8419890.701,0.049340477,0.049340477 +15-10-2019 20:00,8418730.331,0.040981606,0.040981606 +15-10-2019 21:00,8417570.168,0.028656625,0.028656625 +15-10-2019 22:00,8416410.212,0.013913874,0.013913874 +15-10-2019 23:00,8415250.463,0.004869856,0.004869856 +16-10-2019 0:00,8414090.923,0.002782775,0.002782775 +16-10-2019 1:00,8412931.591,0.000695694,0.000695694 +16-10-2019 2:00,8411772.469,0.000695694,0.000695694 +16-10-2019 3:00,8410613.557,0.001391387,0.001391387 +16-10-2019 4:00,8409454.856,0.004869856,0.004869856 +16-10-2019 5:00,8408296.366,0.039327299,0.039327299 +16-10-2019 6:00,8407138.087,0.065644245,0.065644245 +16-10-2019 7:00,8405980.022,0.050921182,0.050921182 +16-10-2019 8:00,8404822.169,0.059344736,0.059344736 +16-10-2019 9:00,8403664.529,0.043738736,0.043738736 +16-10-2019 10:00,8402507.104,0.037489641,0.037489641 +16-10-2019 11:00,8401349.894,0.031738882,0.031738882 +16-10-2019 12:00,8400192.898,0.026106352,0.026106352 +16-10-2019 13:00,8399036.119,0.021566504,0.021566504 +16-10-2019 14:00,8397879.557,0.016696648,0.016696648 +16-10-2019 15:00,8396723.212,0.018783729,0.018783729 +16-10-2019 16:00,8395567.084,0.030699846,0.030699846 +16-10-2019 17:00,8394411.175,0.054803869,0.054803869 +16-10-2019 18:00,8393255.485,0.056280669,0.056280669 +16-10-2019 19:00,8392100.014,0.04957642,0.04957642 +16-10-2019 20:00,8390944.763,0.041003742,0.041003742 +16-10-2019 21:00,8389789.733,0.028662327,0.028662327 +16-10-2019 22:00,8388634.925,0.013913874,0.013913874 +16-10-2019 23:00,8387480.338,0.004869856,0.004869856 +17-10-2019 0:00,8386325.974,0.002782775,0.002782775 +17-10-2019 1:00,8385171.833,0.000695694,0.000695694 +17-10-2019 2:00,8384017.916,0.000695694,0.000695694 +17-10-2019 3:00,8382864.223,0.001391387,0.001391387 +17-10-2019 4:00,8381710.755,0.004869856,0.004869856 +17-10-2019 5:00,8380557.512,0.039302387,0.039302387 +17-10-2019 6:00,8379404.496,0.065578386,0.065578386 +17-10-2019 7:00,8378251.706,0.054564042,0.054564042 +17-10-2019 8:00,8377099.143,0.060941744,0.060941744 +17-10-2019 9:00,8375946.808,0.04403369,0.04403369 +17-10-2019 10:00,8374794.702,0.037950511,0.037950511 +17-10-2019 11:00,8373642.825,0.031734711,0.031734711 +17-10-2019 12:00,8372491.177,0.026297968,0.026297968 +17-10-2019 13:00,8371339.76,0.021566504,0.021566504 +17-10-2019 14:00,8370188.573,0.016696648,0.016696648 +17-10-2019 15:00,8369037.618,0.018783729,0.018783729 +17-10-2019 16:00,8367886.895,0.031025314,0.031025314 +17-10-2019 17:00,8366736.404,0.055639142,0.055639142 +17-10-2019 18:00,8365586.147,0.056648094,0.056648094 +17-10-2019 19:00,8364436.123,0.049853453,0.049853453 +17-10-2019 20:00,8363286.334,0.041122573,0.041122573 +17-10-2019 21:00,8362136.78,0.028760973,0.028760973 +17-10-2019 22:00,8360987.461,0.014789036,0.014789036 +17-10-2019 23:00,8359838.378,0.005392381,0.005392381 +18-10-2019 0:00,8358689.532,0.00297947,0.00297947 +18-10-2019 1:00,8357540.924,0.000695694,0.000695694 +18-10-2019 2:00,8356392.553,0.000695694,0.000695694 +18-10-2019 3:00,8355244.421,0.001391387,0.001391387 +18-10-2019 4:00,8354096.528,0.004869856,0.004869856 +18-10-2019 5:00,8352948.875,0.039467141,0.039467141 +18-10-2019 6:00,8351801.462,0.066538964,0.066538964 +18-10-2019 7:00,8350654.289,0.057323197,0.057323197 +18-10-2019 8:00,8349507.359,0.06452633,0.06452633 +18-10-2019 9:00,8348360.67,0.049324551,0.049324551 +18-10-2019 10:00,8347214.224,0.039527735,0.039527735 +18-10-2019 11:00,8346068.021,0.03330194,0.03330194 +18-10-2019 12:00,8344922.062,0.027485559,0.027485559 +18-10-2019 13:00,8343776.348,0.021566504,0.021566504 +18-10-2019 14:00,8342630.878,0.016696648,0.016696648 +18-10-2019 15:00,8341485.654,0.018918954,0.018918954 +18-10-2019 16:00,8340340.676,0.031843777,0.031843777 +18-10-2019 17:00,8339195.945,0.056120504,0.056120504 +18-10-2019 18:00,8338051.462,0.058800681,0.058800681 +18-10-2019 19:00,8336907.226,0.05933962,0.05933962 +18-10-2019 20:00,8335763.239,0.050469784,0.050469784 +18-10-2019 21:00,8334619.5,0.033312228,0.033312228 +18-10-2019 22:00,8333476.012,0.016102004,0.016102004 +18-10-2019 23:00,8332332.774,0.005685882,0.005685882 +19-10-2019 0:00,8331189.787,0.003029842,0.003029842 +19-10-2019 1:00,8330047.051,0.0007888,0.0007888 +19-10-2019 2:00,8328904.567,0.000695694,0.000695694 +19-10-2019 3:00,8327762.336,0.001391387,0.001391387 +19-10-2019 4:00,8326620.359,0.004869856,0.004869856 +19-10-2019 5:00,8325478.635,0.039715304,0.039715304 +19-10-2019 6:00,8324337.165,0.068831565,0.068831565 +19-10-2019 7:00,8323195.95,0.062601564,0.062601564 +19-10-2019 8:00,8322054.991,0.071643526,0.071643526 +19-10-2019 9:00,8320914.289,0.060561765,0.060561765 +19-10-2019 10:00,8319773.843,0.050257444,0.050257444 +19-10-2019 11:00,8318633.654,0.043639178,0.043639178 +19-10-2019 12:00,8317493.723,0.029949509,0.029949509 +19-10-2019 13:00,8316354.051,0.021988584,0.021988584 +19-10-2019 14:00,8315214.638,0.016696648,0.016696648 +19-10-2019 15:00,8314075.484,0.019035579,0.019035579 +19-10-2019 16:00,8312936.591,0.032771256,0.032771256 +19-10-2019 17:00,8311797.959,0.059756533,0.059756533 +19-10-2019 18:00,8310659.588,0.07056705,0.07056705 +19-10-2019 19:00,8309521.479,0.066628546,0.066628546 +19-10-2019 20:00,8308383.633,0.054169828,0.054169828 +19-10-2019 21:00,8307246.05,0.035267574,0.035267574 +19-10-2019 22:00,8306108.731,0.01715688,0.01715688 +19-10-2019 23:00,8304971.676,0.00624201,0.00624201 +20-10-2019 0:00,8303834.886,0.003171883,0.003171883 +20-10-2019 1:00,8302698.362,0.000811471,0.000811471 +20-10-2019 2:00,8301562.104,0.000695694,0.000695694 +20-10-2019 3:00,8300426.112,0.001391387,0.001391387 +20-10-2019 4:00,8299290.388,0.00492912,0.00492912 +20-10-2019 5:00,8298154.932,0.040119735,0.040119735 +20-10-2019 6:00,8297019.744,0.072325118,0.072325118 +20-10-2019 7:00,8295884.825,0.069858088,0.069858088 +20-10-2019 8:00,8294750.176,0.080863112,0.080863112 +20-10-2019 9:00,8293615.797,0.076110322,0.076110322 +20-10-2019 10:00,8292481.689,0.065406717,0.065406717 +20-10-2019 11:00,8291347.852,0.060704799,0.060704799 +20-10-2019 12:00,8290214.288,0.037324684,0.037324684 +20-10-2019 13:00,8289080.995,0.024698034,0.024698034 +20-10-2019 14:00,8287947.976,0.016974722,0.016974722 +20-10-2019 15:00,8286815.231,0.020389224,0.020389224 +20-10-2019 16:00,8285682.76,0.035593645,0.035593645 +20-10-2019 17:00,8284550.564,0.075501974,0.075501974 +20-10-2019 18:00,8283418.643,0.085522153,0.085522153 +20-10-2019 19:00,8282286.999,0.078116024,0.078116024 +20-10-2019 20:00,8281155.631,0.059860128,0.059860128 +20-10-2019 21:00,8280024.54,0.037375452,0.037375452 +20-10-2019 22:00,8278893.727,0.01775352,0.01775352 +20-10-2019 23:00,8277763.192,0.006425395,0.006425395 +21-10-2019 0:00,8276632.936,0.003222629,0.003222629 +21-10-2019 1:00,8275502.96,0.000831579,0.000831579 +21-10-2019 2:00,8274373.264,0.000695694,0.000695694 +21-10-2019 3:00,8273243.849,0.001391387,0.001391387 +21-10-2019 4:00,8272114.715,0.004989277,0.004989277 +21-10-2019 5:00,8270985.863,0.040419536,0.040419536 +21-10-2019 6:00,8269857.293,0.074693311,0.074693311 +21-10-2019 7:00,8268729.007,0.073550483,0.073550483 +21-10-2019 8:00,8267601.004,0.083848767,0.083848767 +21-10-2019 9:00,8266473.285,0.078827034,0.078827034 +21-10-2019 10:00,8265345.851,0.06839185,0.06839185 +21-10-2019 11:00,8264218.702,0.063996508,0.063996508 +21-10-2019 12:00,8263091.839,0.039501961,0.039501961 +21-10-2019 13:00,8261965.263,0.025208924,0.025208924 +21-10-2019 14:00,8260838.973,0.017144677,0.017144677 +21-10-2019 15:00,8259712.972,0.020755784,0.020755784 +21-10-2019 16:00,8258587.259,0.037568045,0.037568045 +21-10-2019 17:00,8257461.834,0.080330204,0.080330204 +21-10-2019 18:00,8256336.699,0.089378484,0.089378484 +21-10-2019 19:00,8255211.854,0.0801498,0.0801498 +21-10-2019 20:00,8254087.299,0.060528515,0.060528515 +21-10-2019 21:00,8252963.036,0.037757655,0.037757655 +21-10-2019 22:00,8251839.064,0.018073981,0.018073981 +21-10-2019 23:00,8250715.385,0.006476038,0.006476038 +22-10-2019 0:00,8249591.998,0.003230305,0.003230305 +22-10-2019 1:00,8248468.905,0.000834932,0.000834932 +22-10-2019 2:00,8247346.106,0.000695694,0.000695694 +22-10-2019 3:00,8246223.602,0.001391387,0.001391387 +22-10-2019 4:00,8245101.392,0.004990567,0.004990567 +22-10-2019 5:00,8243979.479,0.040415791,0.040415791 +22-10-2019 6:00,8242857.862,0.074631795,0.074631795 +22-10-2019 7:00,8241736.541,0.073095677,0.073095677 +22-10-2019 8:00,8240615.519,0.083931717,0.083931717 +22-10-2019 9:00,8239494.794,0.078212942,0.078212942 +22-10-2019 10:00,8238374.368,0.065853818,0.065853818 +22-10-2019 11:00,8237254.241,0.06153838,0.06153838 +22-10-2019 12:00,8236134.414,0.038400366,0.038400366 +22-10-2019 13:00,8235014.888,0.024415648,0.024415648 +22-10-2019 14:00,8233895.662,0.016946729,0.016946729 +22-10-2019 15:00,8232776.738,0.020464417,0.020464417 +22-10-2019 16:00,8231658.116,0.037112804,0.037112804 +22-10-2019 17:00,8230539.796,0.080916713,0.080916713 +22-10-2019 18:00,8229421.78,0.093602511,0.093602511 +22-10-2019 19:00,8228304.068,0.085278332,0.085278332 +22-10-2019 20:00,8227186.66,0.065313487,0.065313487 +22-10-2019 21:00,8226069.557,0.040406166,0.040406166 +22-10-2019 22:00,8224952.76,0.019291126,0.019291126 +22-10-2019 23:00,8223836.269,0.006968593,0.006968593 +23-10-2019 0:00,8222720.084,0.003378653,0.003378653 +23-10-2019 1:00,8221604.207,0.000880779,0.000880779 +23-10-2019 2:00,8220488.637,0.000695694,0.000695694 +23-10-2019 3:00,8219373.376,0.001637708,0.001637708 +23-10-2019 4:00,8218258.425,0.007463257,0.007463257 +23-10-2019 5:00,8217143.782,0.052970254,0.052970254 +23-10-2019 6:00,8216029.45,0.098926077,0.098926077 +23-10-2019 7:00,8214915.428,0.097608131,0.097608131 +23-10-2019 8:00,8213801.718,0.095234697,0.095234697 +23-10-2019 9:00,8212688.32,0.090199548,0.090199548 +23-10-2019 10:00,8211575.234,0.078526586,0.078526586 +23-10-2019 11:00,8210462.461,0.079828882,0.079828882 +23-10-2019 12:00,8209350.001,0.048071641,0.048071641 +23-10-2019 13:00,8208237.856,0.026134145,0.026134145 +23-10-2019 14:00,8207126.026,0.017370317,0.017370317 +23-10-2019 15:00,8206014.511,0.020068867,0.020068867 +23-10-2019 16:00,8204903.311,0.036785147,0.036785147 +23-10-2019 17:00,8203792.429,0.074826334,0.074826334 +23-10-2019 18:00,8202681.863,0.093154262,0.093154262 +23-10-2019 19:00,8201571.614,0.083769439,0.083769439 +23-10-2019 20:00,8200461.684,0.063274353,0.063274353 +23-10-2019 21:00,8199352.073,0.038798744,0.038798744 +23-10-2019 22:00,8198242.781,0.018394429,0.018394429 +23-10-2019 23:00,8197133.809,0.006619271,0.006619271 +24-10-2019 0:00,8196025.157,0.003265218,0.003265218 +24-10-2019 1:00,8194916.826,0.000850616,0.000850616 +24-10-2019 2:00,8193808.817,0.000695694,0.000695694 +24-10-2019 3:00,8192701.13,0.001413838,0.001413838 +24-10-2019 4:00,8191593.766,0.005165287,0.005165287 +24-10-2019 5:00,8190486.725,0.042263694,0.042263694 +24-10-2019 6:00,8189380.008,0.0800195,0.0800195 +24-10-2019 7:00,8188273.615,0.080496355,0.080496355 +24-10-2019 8:00,8187167.547,0.088414593,0.088414593 +24-10-2019 9:00,8186061.805,0.08407179,0.08407179 +24-10-2019 10:00,8184956.389,0.073866318,0.073866318 +24-10-2019 11:00,8183851.3,0.07041474,0.07041474 +24-10-2019 12:00,8182746.538,0.042886713,0.042886713 +24-10-2019 13:00,8181642.103,0.025735938,0.025735938 +24-10-2019 14:00,8180537.998,0.017153611,0.017153611 +24-10-2019 15:00,8179434.221,0.020061939,0.020061939 +24-10-2019 16:00,8178330.773,0.035113977,0.035113977 +24-10-2019 17:00,8177227.656,0.066327121,0.066327121 +24-10-2019 18:00,8176124.87,0.079660541,0.079660541 +24-10-2019 19:00,8175022.415,0.076062677,0.076062677 +24-10-2019 20:00,8173920.291,0.059007047,0.059007047 +24-10-2019 21:00,8172818.5,0.037077603,0.037077603 +24-10-2019 22:00,8171717.042,0.017815862,0.017815862 +24-10-2019 23:00,8170615.917,0.006381786,0.006381786 +25-10-2019 0:00,8169515.127,0.003196623,0.003196623 +25-10-2019 1:00,8168414.671,0.000830998,0.000830998 +25-10-2019 2:00,8167314.55,0.000695694,0.000695694 +25-10-2019 3:00,8166214.766,0.001391387,0.001391387 +25-10-2019 4:00,8165115.317,0.004901688,0.004901688 +25-10-2019 5:00,8164016.206,0.040024229,0.040024229 +25-10-2019 6:00,8162917.431,0.072802004,0.072802004 +25-10-2019 7:00,8161818.995,0.07224214,0.07224214 +25-10-2019 8:00,8160720.898,0.084062604,0.084062604 +25-10-2019 9:00,8159623.14,0.078534977,0.078534977 +25-10-2019 10:00,8158525.721,0.069498723,0.069498723 +25-10-2019 11:00,8157428.643,0.065999845,0.065999845 +25-10-2019 12:00,8156331.905,0.040965642,0.040965642 +25-10-2019 13:00,8155235.51,0.02567986,0.02567986 +25-10-2019 14:00,8154139.456,0.017394205,0.017394205 +25-10-2019 15:00,8153043.744,0.020779302,0.020779302 +25-10-2019 16:00,8151948.376,0.036594693,0.036594693 +25-10-2019 17:00,8150853.351,0.075558004,0.075558004 +25-10-2019 18:00,8149758.671,0.084684828,0.084684828 +25-10-2019 19:00,8148664.335,0.074716939,0.074716939 +25-10-2019 20:00,8147570.345,0.057009426,0.057009426 +25-10-2019 21:00,8146476.701,0.036161595,0.036161595 +25-10-2019 22:00,8145383.403,0.017265281,0.017265281 +25-10-2019 23:00,8144290.453,0.006147909,0.006147909 +26-10-2019 0:00,8143197.85,0.003132734,0.003132734 +26-10-2019 1:00,8142105.595,0.000808601,0.000808601 +26-10-2019 2:00,8141013.689,0.000695694,0.000695694 +26-10-2019 3:00,8139922.132,0.001391387,0.001391387 +26-10-2019 4:00,8138830.925,0.004869856,0.004869856 +26-10-2019 5:00,8137740.069,0.039474025,0.039474025 +26-10-2019 6:00,8136649.563,0.069274529,0.069274529 +26-10-2019 7:00,8135559.409,0.065949118,0.065949118 +26-10-2019 8:00,8134469.607,0.07422025,0.07422025 +26-10-2019 9:00,8133380.158,0.060099086,0.060099086 +26-10-2019 10:00,8132291.062,0.046103623,0.046103623 +26-10-2019 11:00,8131202.32,0.03844846,0.03844846 +26-10-2019 12:00,8130113.933,0.0268445,0.0268445 +26-10-2019 13:00,8129025.9,0.021566504,0.021566504 +26-10-2019 14:00,8127938.223,0.016696648,0.016696648 +26-10-2019 15:00,8126850.901,0.018789939,0.018789939 +26-10-2019 16:00,8125763.937,0.031072442,0.031072442 +26-10-2019 17:00,8124677.329,0.055768072,0.055768072 +26-10-2019 18:00,8123591.079,0.057212539,0.057212539 +26-10-2019 19:00,8122505.188,0.05161521,0.05161521 +26-10-2019 20:00,8121419.655,0.044753824,0.044753824 +26-10-2019 21:00,8120334.482,0.030965678,0.030965678 +26-10-2019 22:00,8119249.668,0.015515647,0.015515647 +26-10-2019 23:00,8118165.215,0.005718961,0.005718961 +27-10-2019 0:00,8117081.124,0.003126915,0.003126915 +27-10-2019 1:00,8115997.393,0.001053627,0.001053627 +27-10-2019 2:00,8114914.025,0.000810398,0.000810398 +27-10-2019 3:00,8113831.02,0.001391387,0.001391387 +27-10-2019 4:00,8112748.378,0.004869856,0.004869856 +27-10-2019 5:00,8111666.1,0.038958846,0.038958846 +27-10-2019 6:00,8110584.186,0.065488389,0.065488389 +27-10-2019 7:00,8109502.638,0.054671589,0.054671589 +27-10-2019 8:00,8108421.454,0.067997922,0.067997922 +27-10-2019 9:00,8107340.637,0.05316274,0.05316274 +27-10-2019 10:00,8106260.187,0.057181486,0.057181486 +27-10-2019 11:00,8105180.103,0.057159175,0.057159175 +27-10-2019 12:00,8104100.388,0.043635849,0.043635849 +27-10-2019 13:00,8103021.041,0.028450739,0.028450739 +27-10-2019 14:00,8101942.062,0.017802634,0.017802634 +27-10-2019 15:00,8100863.453,0.022020153,0.022020153 +27-10-2019 16:00,8099785.214,0.042690823,0.042690823 +27-10-2019 17:00,8098707.346,0.089606739,0.089606739 +27-10-2019 18:00,8097629.848,0.100610143,0.100610143 +27-10-2019 19:00,8096552.723,0.092868609,0.092868609 +27-10-2019 20:00,8095475.969,0.078721016,0.078721016 +27-10-2019 21:00,8094399.588,0.052472736,0.052472736 +27-10-2019 22:00,8093323.58,0.025756338,0.025756338 +27-10-2019 23:00,8092247.947,0.013281577,0.013281577 +28-10-2019 0:00,8091172.687,0.008702855,0.008702855 +28-10-2019 1:00,8090097.803,0.002261083,0.002261083 +28-10-2019 2:00,8089023.294,0.000893663,0.000893663 +28-10-2019 3:00,8087949.161,0.001391387,0.001391387 +28-10-2019 4:00,8086875.405,0.00545811,0.00545811 +28-10-2019 5:00,8085802.026,0.044416466,0.044416466 +28-10-2019 6:00,8084729.025,0.088257716,0.088257716 +28-10-2019 7:00,8083656.402,0.098944471,0.098944471 +28-10-2019 8:00,8082584.157,0.090513281,0.090513281 +28-10-2019 9:00,8081512.293,0.085463828,0.085463828 +28-10-2019 10:00,8080440.808,0.069406044,0.069406044 +28-10-2019 11:00,8079369.703,0.064998135,0.064998135 +28-10-2019 12:00,8078298.98,0.050956818,0.050956818 +28-10-2019 13:00,8077228.638,0.035562918,0.035562918 +28-10-2019 14:00,8076158.678,0.018415618,0.018415618 +28-10-2019 15:00,8075089.101,0.024289945,0.024289945 +28-10-2019 16:00,8074019.907,0.059856394,0.059856394 +28-10-2019 17:00,8072951.097,0.114281204,0.114281204 +28-10-2019 18:00,8071882.671,0.124504075,0.124504075 +28-10-2019 19:00,8070814.63,0.16800252,0.16800252 +28-10-2019 20:00,8069746.975,0.167342864,0.167342864 +28-10-2019 21:00,8068679.706,0.112498587,0.112498587 +28-10-2019 22:00,8067612.823,0.055263567,0.055263567 +28-10-2019 23:00,8066546.327,0.024821612,0.024821612 +29-10-2019 0:00,8065480.219,0.010151507,0.010151507 +29-10-2019 1:00,8064414.498,0.002559275,0.002559275 +29-10-2019 2:00,8063349.167,0.00093263,0.00093263 +29-10-2019 3:00,8062284.225,0.002068701,0.002068701 +29-10-2019 4:00,8061219.673,0.007181907,0.007181907 +29-10-2019 5:00,8060155.511,0.056231644,0.056231644 +29-10-2019 6:00,8059091.74,0.117900306,0.117900306 +29-10-2019 7:00,8058028.36,0.133342706,0.133342706 +29-10-2019 8:00,8056965.373,0.116007119,0.116007119 +29-10-2019 9:00,8055902.778,0.102055223,0.102055223 +29-10-2019 10:00,8054840.576,0.091994609,0.091994609 +29-10-2019 11:00,8053778.768,0.099565436,0.099565436 +29-10-2019 12:00,8052717.354,0.052825052,0.052825052 +29-10-2019 13:00,8051656.334,0.036815197,0.036815197 +29-10-2019 14:00,8050595.71,0.019000833,0.019000833 +29-10-2019 15:00,8049535.482,0.025411497,0.025411497 +29-10-2019 16:00,8048475.65,0.074699224,0.074699224 +29-10-2019 17:00,8047416.215,0.149597722,0.149597722 +29-10-2019 18:00,8046357.178,0.206214764,0.206214764 +29-10-2019 19:00,8045298.538,0.223787507,0.223787507 +29-10-2019 20:00,8044240.297,0.192993375,0.192993375 +29-10-2019 21:00,8043182.456,0.130297263,0.130297263 +29-10-2019 22:00,8042125.013,0.064535076,0.064535076 +29-10-2019 23:00,8041067.971,0.029039889,0.029039889 +30-10-2019 0:00,8040011.33,0.012115473,0.012115473 +30-10-2019 1:00,8038955.09,0.00320172,0.00320172 +30-10-2019 2:00,8037899.252,0.00167321,0.00167321 +30-10-2019 3:00,8036843.816,0.002974257,0.002974257 +30-10-2019 4:00,8035788.783,0.009471302,0.009471302 +30-10-2019 5:00,8034734.154,0.072719647,0.072719647 +30-10-2019 6:00,8033679.928,0.159091661,0.159091661 +30-10-2019 7:00,8032626.107,0.196791231,0.196791231 +30-10-2019 8:00,8031572.692,0.144301003,0.144301003 +30-10-2019 9:00,8030519.681,0.144520248,0.144520248 +30-10-2019 10:00,8029467.077,0.14198142,0.14198142 +30-10-2019 11:00,8028414.88,0.162908361,0.162908361 +30-10-2019 12:00,8027363.09,0.110030842,0.110030842 +30-10-2019 13:00,8026311.707,0.043046815,0.043046815 +30-10-2019 14:00,8025260.733,0.019572289,0.019572289 +30-10-2019 15:00,8024210.168,0.030472471,0.030472471 +30-10-2019 16:00,8023160.012,0.099680081,0.099680081 +30-10-2019 17:00,8022110.266,0.1936965,0.1936965 +30-10-2019 18:00,8021060.931,0.265587552,0.265587552 +30-10-2019 19:00,8020012.007,0.26722867,0.26722867 +30-10-2019 20:00,8018963.494,0.225411124,0.225411124 +30-10-2019 21:00,8017915.393,0.149610135,0.149610135 +30-10-2019 22:00,8016867.705,0.074348321,0.074348321 +30-10-2019 23:00,8015820.43,0.034904484,0.034904484 +31-10-2019 0:00,8014773.569,0.014240225,0.014240225 +31-10-2019 1:00,8013727.122,0.004535511,0.004535511 +31-10-2019 2:00,8012681.09,0.002587476,0.002587476 +31-10-2019 3:00,8011635.474,0.003743456,0.003743456 +31-10-2019 4:00,8010590.273,0.013715156,0.013715156 +31-10-2019 5:00,8009545.488,0.102867618,0.102867618 +31-10-2019 6:00,8008501.121,0.226511497,0.226511497 +31-10-2019 7:00,8007457.171,0.276868014,0.276868014 +31-10-2019 8:00,8006413.639,0.185189106,0.185189106 +31-10-2019 9:00,8005370.525,0.191520192,0.191520192 +31-10-2019 10:00,8004327.831,0.217817867,0.217817867 +31-10-2019 11:00,8003285.556,0.254073806,0.254073806 +31-10-2019 12:00,8002243.701,0.190121555,0.190121555 +31-10-2019 13:00,8001202.267,0.10041344,0.10041344 +31-10-2019 14:00,8000161.255,0.04768507,0.04768507 +31-10-2019 15:00,7999120.664,0.109128861,0.109128861 +31-10-2019 16:00,7998080.495,0.242172378,0.242172378 +31-10-2019 17:00,7997040.75,0.351604098,0.351604098 +31-10-2019 18:00,7996001.427,0.344716167,0.344716167 +31-10-2019 19:00,7994962.529,0.324320121,0.324320121 +31-10-2019 20:00,7993924.055,0.268332219,0.268332219 +31-10-2019 21:00,7992886.006,0.18055084,0.18055084 +31-10-2019 22:00,7991848.383,0.08962929,0.08962929 +31-10-2019 23:00,7990811.185,0.040710313,0.040710313 +01-11-2019 0:00,7989774.414,0.016501105,0.016501105 +01-11-2019 1:00,7988738.071,0.005493383,0.005493383 +01-11-2019 2:00,7987702.155,0.003137499,0.003137499 +01-11-2019 3:00,7986666.667,0.005049497,0.005049497 +01-11-2019 4:00,7985631.608,0.020944978,0.020944978 +01-11-2019 5:00,7984596.978,0.130734573,0.130734573 +01-11-2019 6:00,7983562.777,0.270752496,0.270752496 +01-11-2019 7:00,7982529.008,0.336729773,0.336729773 +01-11-2019 8:00,7981495.669,0.275224335,0.275224335 +01-11-2019 9:00,7980462.761,0.290622854,0.290622854 +01-11-2019 10:00,7979430.285,0.319607498,0.319607498 +01-11-2019 11:00,7978398.242,0.42616353,0.42616353 +01-11-2019 12:00,7977366.632,0.369744855,0.369744855 +01-11-2019 13:00,7976335.455,0.201966138,0.201966138 +01-11-2019 14:00,7975304.712,0.116105836,0.116105836 +01-11-2019 15:00,7974274.404,0.276089147,0.276089147 +01-11-2019 16:00,7973244.531,0.311857894,0.311857894 +01-11-2019 17:00,7972215.094,0.341200158,0.341200158 +01-11-2019 18:00,7971186.092,0.321713851,0.321713851 +01-11-2019 19:00,7970157.528,0.288436811,0.288436811 +01-11-2019 20:00,7969129.4,0.231096357,0.231096357 +01-11-2019 21:00,7968101.711,0.148493396,0.148493396 +01-11-2019 22:00,7967074.459,0.06994136,0.06994136 +01-11-2019 23:00,7966047.646,0.03057872,0.03057872 +02-11-2019 0:00,7965021.273,0.012273195,0.012273195 +02-11-2019 1:00,7963995.34,0.003466282,0.003466282 +02-11-2019 2:00,7962969.847,0.001916125,0.001916125 +02-11-2019 3:00,7961944.794,0.002597412,0.002597412 +02-11-2019 4:00,7960920.184,0.008969454,0.008969454 +02-11-2019 5:00,7959896.015,0.066404705,0.066404705 +02-11-2019 6:00,7958872.289,0.141339317,0.141339317 +02-11-2019 7:00,7957849.005,0.176277323,0.176277323 +02-11-2019 8:00,7956826.166,0.164815881,0.164815881 +02-11-2019 9:00,7955803.77,0.201532598,0.201532598 +02-11-2019 10:00,7954781.819,0.214607394,0.214607394 +02-11-2019 11:00,7953760.313,0.287270767,0.287270767 +02-11-2019 12:00,7952739.253,0.252159107,0.252159107 +02-11-2019 13:00,7951718.639,0.12713034,0.12713034 +02-11-2019 14:00,7950698.471,0.063646282,0.063646282 +02-11-2019 15:00,7949678.751,0.125934168,0.125934168 +02-11-2019 16:00,7948659.479,0.233621333,0.233621333 +02-11-2019 17:00,7947640.654,0.280384252,0.280384252 +02-11-2019 18:00,7946622.279,0.276102212,0.276102212 +02-11-2019 19:00,7945604.353,0.255943627,0.255943627 +02-11-2019 20:00,7944586.877,0.208139144,0.208139144 +02-11-2019 21:00,7943569.851,0.136077125,0.136077125 +02-11-2019 22:00,7942553.276,0.064806432,0.064806432 +02-11-2019 23:00,7941537.152,0.028926662,0.028926662 +03-11-2019 0:00,7940521.481,0.011806846,0.011806846 +03-11-2019 1:00,7939506.261,0.003214377,0.003214377 +03-11-2019 2:00,7938491.495,0.001470969,0.001470969 +03-11-2019 3:00,7937477.183,0.002316292,0.002316292 +03-11-2019 4:00,7936463.324,0.007601381,0.007601381 +03-11-2019 5:00,7935449.92,0.060881232,0.060881232 +03-11-2019 6:00,7934436.971,0.131669553,0.131669553 +03-11-2019 7:00,7933424.477,0.173017118,0.173017118 +03-11-2019 8:00,7932412.44,0.162148876,0.162148876 +03-11-2019 9:00,7931400.859,0.195112074,0.195112074 +03-11-2019 10:00,7930389.735,0.227337876,0.227337876 +03-11-2019 11:00,7929379.07,0.299403542,0.299403542 +03-11-2019 12:00,7928368.862,0.259673751,0.259673751 +03-11-2019 13:00,7927359.113,0.140358444,0.140358444 +03-11-2019 14:00,7926349.823,0.071392265,0.071392265 +03-11-2019 15:00,7925340.993,0.15865089,0.15865089 +03-11-2019 16:00,7924332.623,0.252563857,0.252563857 +03-11-2019 17:00,7923324.714,0.291349736,0.291349736 +03-11-2019 18:00,7922317.266,0.284591171,0.284591171 +03-11-2019 19:00,7921310.281,0.260896738,0.260896738 +03-11-2019 20:00,7920303.757,0.213996223,0.213996223 +03-11-2019 21:00,7919297.696,0.139639219,0.139639219 +03-11-2019 22:00,7918292.099,0.066224988,0.066224988 +03-11-2019 23:00,7917286.966,0.029785415,0.029785415 +04-11-2019 0:00,7916282.297,0.012111044,0.012111044 +04-11-2019 1:00,7915278.092,0.003184223,0.003184223 +04-11-2019 2:00,7914274.354,0.001403212,0.001403212 +04-11-2019 3:00,7913271.081,0.002208718,0.002208718 +04-11-2019 4:00,7912268.275,0.007441899,0.007441899 +04-11-2019 5:00,7911265.936,0.058575615,0.058575615 +04-11-2019 6:00,7910264.064,0.124744539,0.124744539 +04-11-2019 7:00,7909262.66,0.163383635,0.163383635 +04-11-2019 8:00,7908261.725,0.157005923,0.157005923 +04-11-2019 9:00,7907261.259,0.195629116,0.195629116 +04-11-2019 10:00,7906261.263,0.229055747,0.229055747 +04-11-2019 11:00,7905261.736,0.304514383,0.304514383 +04-11-2019 12:00,7904262.68,0.264938211,0.264938211 +04-11-2019 13:00,7903264.096,0.142365308,0.142365308 +04-11-2019 14:00,7902265.983,0.07149224,0.07149224 +04-11-2019 15:00,7901268.342,0.156032835,0.156032835 +04-11-2019 16:00,7900271.173,0.255314147,0.255314147 +04-11-2019 17:00,7899274.478,0.293235649,0.293235649 +04-11-2019 18:00,7898278.257,0.285045068,0.285045068 +04-11-2019 19:00,7897282.509,0.26107269,0.26107269 +04-11-2019 20:00,7896287.237,0.212200924,0.212200924 +04-11-2019 21:00,7895292.439,0.137487317,0.137487317 +04-11-2019 22:00,7894298.118,0.065652767,0.065652767 +04-11-2019 23:00,7893304.272,0.029047131,0.029047131 +05-11-2019 0:00,7892310.904,0.011920413,0.011920413 +05-11-2019 1:00,7891318.012,0.003198136,0.003198136 +05-11-2019 2:00,7890325.599,0.001365882,0.001365882 +05-11-2019 3:00,7889333.663,0.002181859,0.002181859 +05-11-2019 4:00,7888342.207,0.007786024,0.007786024 +05-11-2019 5:00,7887351.229,0.059661517,0.059661517 +05-11-2019 6:00,7886360.732,0.130081324,0.130081324 +05-11-2019 7:00,7885370.715,0.174023558,0.174023558 +05-11-2019 8:00,7884381.178,0.163167945,0.163167945 +05-11-2019 9:00,7883392.123,0.203664242,0.203664242 +05-11-2019 10:00,7882403.55,0.240397899,0.240397899 +05-11-2019 11:00,7881415.46,0.321814574,0.321814574 +05-11-2019 12:00,7880427.852,0.280870654,0.280870654 +05-11-2019 13:00,7879440.727,0.152537814,0.152537814 +05-11-2019 14:00,7878454.086,0.07979524,0.07979524 +05-11-2019 15:00,7877467.93,0.18941633,0.18941633 +05-11-2019 16:00,7876482.259,0.266589669,0.266589669 +05-11-2019 17:00,7875497.073,0.305873616,0.305873616 +05-11-2019 18:00,7874512.373,0.297515443,0.297515443 +05-11-2019 19:00,7873528.159,0.268449109,0.268449109 +05-11-2019 20:00,7872544.432,0.216430444,0.216430444 +05-11-2019 21:00,7871561.193,0.140527529,0.140527529 +05-11-2019 22:00,7870578.442,0.066954953,0.066954953 +05-11-2019 23:00,7869596.179,0.029661297,0.029661297 +06-11-2019 0:00,7868614.405,0.012116166,0.012116166 +06-11-2019 1:00,7867633.12,0.003237265,0.003237265 +06-11-2019 2:00,7866652.326,0.001395316,0.001395316 +06-11-2019 3:00,7865672.022,0.002237225,0.002237225 +06-11-2019 4:00,7864692.209,0.008175007,0.008175007 +06-11-2019 5:00,7863712.887,0.061329477,0.061329477 +06-11-2019 6:00,7862734.057,0.135514979,0.135514979 +06-11-2019 7:00,7861755.72,0.184316481,0.184316481 +06-11-2019 8:00,7860777.876,0.16981018,0.16981018 +06-11-2019 9:00,7859800.525,0.211682273,0.211682273 +06-11-2019 10:00,7858823.668,0.23914738,0.23914738 +06-11-2019 11:00,7857847.306,0.29293502,0.29293502 +06-11-2019 12:00,7856871.438,0.274284701,0.274284701 +06-11-2019 13:00,7855896.067,0.150401,0.150401 +06-11-2019 14:00,7854921.191,0.081447892,0.081447892 +06-11-2019 15:00,7853946.811,0.215432428,0.215432428 +06-11-2019 16:00,7852972.929,0.291185424,0.291185424 +06-11-2019 17:00,7851999.544,0.323707068,0.323707068 +06-11-2019 18:00,7851026.657,0.311567474,0.311567474 +06-11-2019 19:00,7850054.269,0.285372818,0.285372818 +06-11-2019 20:00,7849082.38,0.23281921,0.23281921 +06-11-2019 21:00,7848110.99,0.150539177,0.150539177 +06-11-2019 22:00,7847140.1,0.071731808,0.071731808 +06-11-2019 23:00,7846169.711,0.032144906,0.032144906 +07-11-2019 0:00,7845199.822,0.012897459,0.012897459 +07-11-2019 1:00,7844230.435,0.003450291,0.003450291 +07-11-2019 2:00,7843261.551,0.001757341,0.001757341 +07-11-2019 3:00,7842293.168,0.002562721,0.002562721 +07-11-2019 4:00,7841325.289,0.010105306,0.010105306 +07-11-2019 5:00,7840357.913,0.070883712,0.070883712 +07-11-2019 6:00,7839391.041,0.159673349,0.159673349 +07-11-2019 7:00,7838424.674,0.215809709,0.215809709 +07-11-2019 8:00,7837458.811,0.188844299,0.188844299 +07-11-2019 9:00,7836493.454,0.227916948,0.227916948 +07-11-2019 10:00,7835528.603,0.265519811,0.265519811 +07-11-2019 11:00,7834564.259,0.360046625,0.360046625 +07-11-2019 12:00,7833600.421,0.323134996,0.323134996 +07-11-2019 13:00,7832637.091,0.17678525,0.17678525 +07-11-2019 14:00,7831674.269,0.098797994,0.098797994 +07-11-2019 15:00,7830711.955,0.25182278,0.25182278 +07-11-2019 16:00,7829750.15,0.29370375,0.29370375 +07-11-2019 17:00,7828788.855,0.329397498,0.329397498 +07-11-2019 18:00,7827828.07,0.320475371,0.320475371 +07-11-2019 19:00,7826867.795,0.293972512,0.293972512 +07-11-2019 20:00,7825908.031,0.242787294,0.242787294 +07-11-2019 21:00,7824948.778,0.159265515,0.159265515 +07-11-2019 22:00,7823990.038,0.077059628,0.077059628 +07-11-2019 23:00,7823031.809,0.034487628,0.034487628 +08-11-2019 0:00,7822074.094,0.01408645,0.01408645 +08-11-2019 1:00,7821116.892,0.004082875,0.004082875 +08-11-2019 2:00,7820160.204,0.002235433,0.002235433 +08-11-2019 3:00,7819204.03,0.003501802,0.003501802 +08-11-2019 4:00,7818248.371,0.014524977,0.014524977 +08-11-2019 5:00,7817293.228,0.09715294,0.09715294 +08-11-2019 6:00,7816338.6,0.222982064,0.222982064 +08-11-2019 7:00,7815384.489,0.290405354,0.290405354 +08-11-2019 8:00,7814430.895,0.196784789,0.196784789 +08-11-2019 9:00,7813477.818,0.19341262,0.19341262 +08-11-2019 10:00,7812525.258,0.201669825,0.201669825 +08-11-2019 11:00,7811573.217,0.2498236,0.2498236 +08-11-2019 12:00,7810621.695,0.204129544,0.204129544 +08-11-2019 13:00,7809670.692,0.101932143,0.101932143 +08-11-2019 14:00,7808720.209,0.051898899,0.051898899 +08-11-2019 15:00,7807770.246,0.111310946,0.111310946 +08-11-2019 16:00,7806820.804,0.277935633,0.277935633 +08-11-2019 17:00,7805871.883,0.365756705,0.365756705 +08-11-2019 18:00,7804923.484,0.36194509,0.36194509 +08-11-2019 19:00,7803975.607,0.338972742,0.338972742 +08-11-2019 20:00,7803028.253,0.27448066,0.27448066 +08-11-2019 21:00,7802081.422,0.175623349,0.175623349 +08-11-2019 22:00,7801135.114,0.085327521,0.085327521 +08-11-2019 23:00,7800189.331,0.038273913,0.038273913 +09-11-2019 0:00,7799244.073,0.015492185,0.015492185 +09-11-2019 1:00,7798299.339,0.004991216,0.004991216 +09-11-2019 2:00,7797355.131,0.002782552,0.002782552 +09-11-2019 3:00,7796411.45,0.00364949,0.00364949 +09-11-2019 4:00,7795468.295,0.018635055,0.018635055 +09-11-2019 5:00,7794525.667,0.110702277,0.110702277 +09-11-2019 6:00,7793583.566,0.241993694,0.241993694 +09-11-2019 7:00,7792641.994,0.312873003,0.312873003 +09-11-2019 8:00,7791700.95,0.25462844,0.25462844 +09-11-2019 9:00,7790760.435,0.273618484,0.273618484 +09-11-2019 10:00,7789820.45,0.307215018,0.307215018 +09-11-2019 11:00,7788880.995,0.415071311,0.415071311 +09-11-2019 12:00,7787942.07,0.355265787,0.355265787 +09-11-2019 13:00,7787003.676,0.205456577,0.205456577 +09-11-2019 14:00,7786065.813,0.116501033,0.116501033 +09-11-2019 15:00,7785128.483,0.309430765,0.309430765 +09-11-2019 16:00,7784191.685,0.33427575,0.33427575 +09-11-2019 17:00,7783255.419,0.371951178,0.371951178 +09-11-2019 18:00,7782319.687,0.355673887,0.355673887 +09-11-2019 19:00,7781384.489,0.327249352,0.327249352 +09-11-2019 20:00,7780449.826,0.270086396,0.270086396 +09-11-2019 21:00,7779515.697,0.17815619,0.17815619 +09-11-2019 22:00,7778582.103,0.088240908,0.088240908 +09-11-2019 23:00,7777649.045,0.040430548,0.040430548 +10-11-2019 0:00,7776716.523,0.016491345,0.016491345 +10-11-2019 1:00,7775784.538,0.005585942,0.005585942 +10-11-2019 2:00,7774853.091,0.003276159,0.003276159 +10-11-2019 3:00,7773922.181,0.005207194,0.005207194 +10-11-2019 4:00,7772991.809,0.027172168,0.027172168 +10-11-2019 5:00,7772061.976,0.147069925,0.147069925 +10-11-2019 6:00,7771132.682,0.320073331,0.320073331 +10-11-2019 7:00,7770203.927,0.40607925,0.40607925 +10-11-2019 8:00,7769275.713,0.281721367,0.281721367 +10-11-2019 9:00,7768348.039,0.250508905,0.250508905 +10-11-2019 10:00,7767420.906,0.24149905,0.24149905 +10-11-2019 11:00,7766494.315,0.310303262,0.310303262 +10-11-2019 12:00,7765568.265,0.25247953,0.25247953 +10-11-2019 13:00,7764642.758,0.126798286,0.126798286 +10-11-2019 14:00,7763717.795,0.061682655,0.061682655 +10-11-2019 15:00,7762793.374,0.139440123,0.139440123 +10-11-2019 16:00,7761869.497,0.351093072,0.351093072 +10-11-2019 17:00,7760946.165,0.4209121,0.4209121 +10-11-2019 18:00,7760023.378,0.417608015,0.417608015 +10-11-2019 19:00,7759101.136,0.391958681,0.391958681 +10-11-2019 20:00,7758179.439,0.32618848,0.32618848 +10-11-2019 21:00,7757258.289,0.213740435,0.213740435 +10-11-2019 22:00,7756337.686,0.100326205,0.100326205 +10-11-2019 23:00,7755417.63,0.045559921,0.045559921 +11-11-2019 0:00,7754498.122,0.018749196,0.018749196 +11-11-2019 1:00,7753579.161,0.006590454,0.006590454 +11-11-2019 2:00,7752660.75,0.004399751,0.004399751 +11-11-2019 3:00,7751742.887,0.007820808,0.007820808 +11-11-2019 4:00,7750825.574,0.036735146,0.036735146 +11-11-2019 5:00,7749908.811,0.171234642,0.171234642 +11-11-2019 6:00,7748992.599,0.352820045,0.352820045 +11-11-2019 7:00,7748076.938,0.445324761,0.445324761 +11-11-2019 8:00,7747161.828,0.371995902,0.371995902 +11-11-2019 9:00,7746247.27,0.36592176,0.36592176 +11-11-2019 10:00,7745333.264,0.378135663,0.378135663 +11-11-2019 11:00,7744419.811,0.518083497,0.518083497 +11-11-2019 12:00,7743506.912,0.453160188,0.453160188 +11-11-2019 13:00,7742594.566,0.278213577,0.278213577 +11-11-2019 14:00,7741682.775,0.212440935,0.212440935 +11-11-2019 15:00,7740771.539,0.38956082,0.38956082 +11-11-2019 16:00,7739860.857,0.397540034,0.397540034 +11-11-2019 17:00,7738950.732,0.426342792,0.426342792 +11-11-2019 18:00,7738041.162,0.40880514,0.40880514 +11-11-2019 19:00,7737132.149,0.373831624,0.373831624 +11-11-2019 20:00,7736223.694,0.308366734,0.308366734 +11-11-2019 21:00,7735315.795,0.200479616,0.200479616 +11-11-2019 22:00,7734408.455,0.096239446,0.096239446 +11-11-2019 23:00,7733501.674,0.042149913,0.042149913 +12-11-2019 0:00,7732595.451,0.017486928,0.017486928 +12-11-2019 1:00,7731689.788,0.006049166,0.006049166 +12-11-2019 2:00,7730784.684,0.003535081,0.003535081 +12-11-2019 3:00,7729880.141,0.006040166,0.006040166 +12-11-2019 4:00,7728976.159,0.031363512,0.031363512 +12-11-2019 5:00,7728072.738,0.153208067,0.153208067 +12-11-2019 6:00,7727169.879,0.328906207,0.328906207 +12-11-2019 7:00,7726267.582,0.427414941,0.427414941 +12-11-2019 8:00,7725365.848,0.516237891,0.516237891 +12-11-2019 9:00,7724464.676,0.396961124,0.396961124 +12-11-2019 10:00,7723564.069,0.404330456,0.404330456 +12-11-2019 11:00,7722664.026,0.56029097,0.56029097 +12-11-2019 12:00,7721764.547,0.435214769,0.435214769 +12-11-2019 13:00,7720865.633,0.271235664,0.271235664 +12-11-2019 14:00,7719967.284,0.389115626,0.389115626 +12-11-2019 15:00,7719069.502,0.408764333,0.408764333 +12-11-2019 16:00,7718172.286,0.412194383,0.412194383 +12-11-2019 17:00,7717275.636,0.440781685,0.440781685 +12-11-2019 18:00,7716379.554,0.422633047,0.422633047 +12-11-2019 19:00,7715484.04,0.387743666,0.387743666 +12-11-2019 20:00,7714589.094,0.319465034,0.319465034 +12-11-2019 21:00,7713694.717,0.206234036,0.206234036 +12-11-2019 22:00,7712800.909,0.098049504,0.098049504 +12-11-2019 23:00,7711907.67,0.042547771,0.042547771 +13-11-2019 0:00,7711015.002,0.017799569,0.017799569 +13-11-2019 1:00,7710122.904,0.006079431,0.006079431 +13-11-2019 2:00,7709231.377,0.003655834,0.003655834 +13-11-2019 3:00,7708340.421,0.006236482,0.006236482 +13-11-2019 4:00,7707450.038,0.032296584,0.032296584 +13-11-2019 5:00,7706560.226,0.154201726,0.154201726 +13-11-2019 6:00,7705670.988,0.326969988,0.326969988 +13-11-2019 7:00,7704782.323,0.420692541,0.420692541 +13-11-2019 8:00,7703894.231,0.497851985,0.497851985 +13-11-2019 9:00,7703006.714,0.3901376,0.3901376 +13-11-2019 10:00,7702119.772,0.390309964,0.390309964 +13-11-2019 11:00,7701233.404,0.540115076,0.540115076 +13-11-2019 12:00,7700347.612,0.465081452,0.465081452 +13-11-2019 13:00,7699462.396,0.301938485,0.301938485 +13-11-2019 14:00,7698577.757,0.401329911,0.401329911 +13-11-2019 15:00,7697693.694,0.417760305,0.417760305 +13-11-2019 16:00,7696810.209,0.41205984,0.41205984 +13-11-2019 17:00,7695927.302,0.441178276,0.441178276 +13-11-2019 18:00,7695044.973,0.429345116,0.429345116 +13-11-2019 19:00,7694163.223,0.392016211,0.392016211 +13-11-2019 20:00,7693282.052,0.318000339,0.318000339 +13-11-2019 21:00,7692401.46,0.204678743,0.204678743 +13-11-2019 22:00,7691521.449,0.098837451,0.098837451 +13-11-2019 23:00,7690642.018,0.042709657,0.042709657 +14-11-2019 0:00,7689763.169,0.017989276,0.017989276 +14-11-2019 1:00,7688884.9,0.00621877,0.00621877 +14-11-2019 2:00,7688007.214,0.00377604,0.00377604 +14-11-2019 3:00,7687130.11,0.0066448,0.0066448 +14-11-2019 4:00,7686253.589,0.034605478,0.034605478 +14-11-2019 5:00,7685377.651,0.162968069,0.162968069 +14-11-2019 6:00,7684502.297,0.342958493,0.342958493 +14-11-2019 7:00,7683627.527,0.443787993,0.443787993 +14-11-2019 8:00,7682753.341,0.531475196,0.531475196 +14-11-2019 9:00,7681879.741,0.408222015,0.408222015 +14-11-2019 10:00,7681006.726,0.406777282,0.406777282 +14-11-2019 11:00,7680134.297,0.546697373,0.546697373 +14-11-2019 12:00,7679262.455,0.470393181,0.470393181 +14-11-2019 13:00,7678391.199,0.314862083,0.314862083 +14-11-2019 14:00,7677520.531,0.404061757,0.404061757 +14-11-2019 15:00,7676650.451,0.419931594,0.419931594 +14-11-2019 16:00,7675780.958,0.409729159,0.409729159 +14-11-2019 17:00,7674912.055,0.435689312,0.435689312 +14-11-2019 18:00,7674043.74,0.418174716,0.418174716 +14-11-2019 19:00,7673176.015,0.382412613,0.382412613 +14-11-2019 20:00,7672308.88,0.314914597,0.314914597 +14-11-2019 21:00,7671442.336,0.206189646,0.206189646 +14-11-2019 22:00,7670576.382,0.098985802,0.098985802 +14-11-2019 23:00,7669711.02,0.043348809,0.043348809 +15-11-2019 0:00,7668846.249,0.01825499,0.01825499 +15-11-2019 1:00,7667982.071,0.006381547,0.006381547 +15-11-2019 2:00,7667118.485,0.003877643,0.003877643 +15-11-2019 3:00,7666255.493,0.007150696,0.007150696 +15-11-2019 4:00,7665393.094,0.036485557,0.036485557 +15-11-2019 5:00,7664531.289,0.170082774,0.170082774 +15-11-2019 6:00,7663670.078,0.357570099,0.357570099 +15-11-2019 7:00,7662809.462,0.463223171,0.463223171 +15-11-2019 8:00,7661949.442,0.555550092,0.555550092 +15-11-2019 9:00,7661090.017,0.427333907,0.427333907 +15-11-2019 10:00,7660231.189,0.42978336,0.42978336 +15-11-2019 11:00,7659372.957,0.567748117,0.567748117 +15-11-2019 12:00,7658515.323,0.492371389,0.492371389 +15-11-2019 13:00,7657658.286,0.344628023,0.344628023 +15-11-2019 14:00,7656801.847,0.428105107,0.428105107 +15-11-2019 15:00,7655946.006,0.442813857,0.442813857 +15-11-2019 16:00,7655090.764,0.431240688,0.431240688 +15-11-2019 17:00,7654236.122,0.454721777,0.454721777 +15-11-2019 18:00,7653382.079,0.434818325,0.434818325 +15-11-2019 19:00,7652528.636,0.398656325,0.398656325 +15-11-2019 20:00,7651675.794,0.328832859,0.328832859 +15-11-2019 21:00,7650823.553,0.214595883,0.214595883 +15-11-2019 22:00,7649971.914,0.104180085,0.104180085 +15-11-2019 23:00,7649120.876,0.046074912,0.046074912 +16-11-2019 0:00,7648270.441,0.019370324,0.019370324 +16-11-2019 1:00,7647420.609,0.006916433,0.006916433 +16-11-2019 2:00,7646571.38,0.004758217,0.004758217 +16-11-2019 3:00,7645722.754,0.009346336,0.009346336 +16-11-2019 4:00,7644874.733,0.043140829,0.043140829 +16-11-2019 5:00,7644027.316,0.192079784,0.192079784 +16-11-2019 6:00,7643180.505,0.40159107,0.40159107 +16-11-2019 7:00,7642334.298,0.521165288,0.521165288 +16-11-2019 8:00,7641488.698,0.610763075,0.610763075 +16-11-2019 9:00,7640643.704,0.462923667,0.462923667 +16-11-2019 10:00,7639799.316,0.451091639,0.451091639 +16-11-2019 11:00,7638955.536,0.582257079,0.582257079 +16-11-2019 12:00,7638112.364,0.503450177,0.503450177 +16-11-2019 13:00,7637269.799,0.365381712,0.365381712 +16-11-2019 14:00,7636427.843,0.445119548,0.445119548 +16-11-2019 15:00,7635586.496,0.46526394,0.46526394 +16-11-2019 16:00,7634745.758,0.452442575,0.452442575 +16-11-2019 17:00,7633905.63,0.47385047,0.47385047 +16-11-2019 18:00,7633066.112,0.445814174,0.445814174 +16-11-2019 19:00,7632227.204,0.403514867,0.403514867 +16-11-2019 20:00,7631388.908,0.331020785,0.331020785 +16-11-2019 21:00,7630551.223,0.215235289,0.215235289 +16-11-2019 22:00,7629714.15,0.102382453,0.102382453 +16-11-2019 23:00,7628877.69,0.044262407,0.044262407 +17-11-2019 0:00,7628041.842,0.018641968,0.018641968 +17-11-2019 1:00,7627206.608,0.006586391,0.006586391 +17-11-2019 2:00,7626371.987,0.004402667,0.004402667 +17-11-2019 3:00,7625537.98,0.007820885,0.007820885 +17-11-2019 4:00,7624704.588,0.040475425,0.040475425 +17-11-2019 5:00,7623871.811,0.181660099,0.181660099 +17-11-2019 6:00,7623039.649,0.385716739,0.385716739 +17-11-2019 7:00,7622208.102,0.504672559,0.504672559 +17-11-2019 8:00,7621377.172,0.605334719,0.605334719 +17-11-2019 9:00,7620546.859,0.463219428,0.463219428 +17-11-2019 10:00,7619717.163,0.41215426,0.41215426 +17-11-2019 11:00,7618888.084,0.570916676,0.570916676 +17-11-2019 12:00,7618059.623,0.493106574,0.493106574 +17-11-2019 13:00,7617231.781,0.363704247,0.363704247 +17-11-2019 14:00,7616404.557,0.441247597,0.441247597 +17-11-2019 15:00,7615577.953,0.460704658,0.460704658 +17-11-2019 16:00,7614751.968,0.447322285,0.447322285 +17-11-2019 17:00,7613926.603,0.473450184,0.473450184 +17-11-2019 18:00,7613101.858,0.456330191,0.456330191 +17-11-2019 19:00,7612277.735,0.414860832,0.414860832 +17-11-2019 20:00,7611454.233,0.339849335,0.339849335 +17-11-2019 21:00,7610631.353,0.219052345,0.219052345 +17-11-2019 22:00,7609809.094,0.103556407,0.103556407 +17-11-2019 23:00,7608987.459,0.045516666,0.045516666 +18-11-2019 0:00,7608166.446,0.019134011,0.019134011 +18-11-2019 1:00,7607346.057,0.006795238,0.006795238 +18-11-2019 2:00,7606526.292,0.004747764,0.004747764 +18-11-2019 3:00,7605707.151,0.008475553,0.008475553 +18-11-2019 4:00,7604888.634,0.040387105,0.040387105 +18-11-2019 5:00,7604070.743,0.179241851,0.179241851 +18-11-2019 6:00,7603253.478,0.375298265,0.375298265 +18-11-2019 7:00,7602436.838,0.486394627,0.486394627 +18-11-2019 8:00,7601620.825,0.578199337,0.578199337 +18-11-2019 9:00,7600805.438,0.443765553,0.443765553 +18-11-2019 10:00,7599990.679,0.43508485,0.43508485 +18-11-2019 11:00,7599176.547,0.568050242,0.568050242 +18-11-2019 12:00,7598363.044,0.49159156,0.49159156 +18-11-2019 13:00,7597550.169,0.360013671,0.360013671 +18-11-2019 14:00,7596737.923,0.429763347,0.429763347 +18-11-2019 15:00,7595926.306,0.444306799,0.444306799 +18-11-2019 16:00,7595115.319,0.423936386,0.423936386 +18-11-2019 17:00,7594304.962,0.445142361,0.445142361 +18-11-2019 18:00,7593495.235,0.423350664,0.423350664 +18-11-2019 19:00,7592686.14,0.384062405,0.384062405 +18-11-2019 20:00,7591877.676,0.319601709,0.319601709 +18-11-2019 21:00,7591069.844,0.207855173,0.207855173 +18-11-2019 22:00,7590262.644,0.099709355,0.099709355 +18-11-2019 23:00,7589456.077,0.042860995,0.042860995 +19-11-2019 0:00,7588650.142,0.018092748,0.018092748 +19-11-2019 1:00,7587844.842,0.006234745,0.006234745 +19-11-2019 2:00,7587040.175,0.00372943,0.00372943 +19-11-2019 3:00,7586236.142,0.006495105,0.006495105 +19-11-2019 4:00,7585432.745,0.034438761,0.034438761 +19-11-2019 5:00,7584629.982,0.160959146,0.160959146 +19-11-2019 6:00,7583827.855,0.345219395,0.345219395 +19-11-2019 7:00,7583026.364,0.453266768,0.453266768 +19-11-2019 8:00,7582225.509,0.542349891,0.542349891 +19-11-2019 9:00,7581425.291,0.380208724,0.380208724 +19-11-2019 10:00,7580625.71,0.324285733,0.324285733 +19-11-2019 11:00,7579826.767,0.497571266,0.497571266 +19-11-2019 12:00,7579028.462,0.47936267,0.47936267 +19-11-2019 13:00,7578230.795,0.350963215,0.350963215 +19-11-2019 14:00,7577433.767,0.433229979,0.433229979 +19-11-2019 15:00,7576637.378,0.449228374,0.449228374 +19-11-2019 16:00,7575841.629,0.434120091,0.434120091 +19-11-2019 17:00,7575046.521,0.461105091,0.461105091 +19-11-2019 18:00,7574252.052,0.458223607,0.458223607 +19-11-2019 19:00,7573458.225,0.416642317,0.416642317 +19-11-2019 20:00,7572665.038,0.352473919,0.352473919 +19-11-2019 21:00,7571872.494,0.232086592,0.232086592 +19-11-2019 22:00,7571080.591,0.110900607,0.110900607 +19-11-2019 23:00,7570289.331,0.049615475,0.049615475 +20-11-2019 0:00,7569498.714,0.02103137,0.02103137 +20-11-2019 1:00,7568708.741,0.007975415,0.007975415 +20-11-2019 2:00,7567919.411,0.006339993,0.006339993 +20-11-2019 3:00,7567130.725,0.013717339,0.013717339 +20-11-2019 4:00,7566342.684,0.054020712,0.054020712 +20-11-2019 5:00,7565555.287,0.226618271,0.226618271 +20-11-2019 6:00,7564768.537,0.464187216,0.464187216 +20-11-2019 7:00,7563982.431,0.593882288,0.593882288 +20-11-2019 8:00,7563196.972,0.658200401,0.658200401 +20-11-2019 9:00,7562412.16,0.408220827,0.408220827 +20-11-2019 10:00,7561627.995,0.352355474,0.352355474 +20-11-2019 11:00,7560844.477,0.540051601,0.540051601 +20-11-2019 12:00,7560061.606,0.379253755,0.379253755 +20-11-2019 13:00,7559279.384,0.289177302,0.289177302 +20-11-2019 14:00,7558497.811,0.451407005,0.451407005 +20-11-2019 15:00,7557716.886,0.493618315,0.493618315 +20-11-2019 16:00,7556936.611,0.482630274,0.482630274 +20-11-2019 17:00,7556156.986,0.507138801,0.507138801 +20-11-2019 18:00,7555378.011,0.483208511,0.483208511 +20-11-2019 19:00,7554599.686,0.44183549,0.44183549 +20-11-2019 20:00,7553822.013,0.364935034,0.364935034 +20-11-2019 21:00,7553044.991,0.236564262,0.236564262 +20-11-2019 22:00,7552268.62,0.113007791,0.113007791 +20-11-2019 23:00,7551492.902,0.050017519,0.050017519 +21-11-2019 0:00,7550717.837,0.021299232,0.021299232 +21-11-2019 1:00,7549943.424,0.008528159,0.008528159 +21-11-2019 2:00,7549169.665,0.006932326,0.006932326 +21-11-2019 3:00,7548396.56,0.014024712,0.014024712 +21-11-2019 4:00,7547624.109,0.053881279,0.053881279 +21-11-2019 5:00,7546852.312,0.221552612,0.221552612 +21-11-2019 6:00,7546081.17,0.451657019,0.451657019 +21-11-2019 7:00,7545310.684,0.582525405,0.582525405 +21-11-2019 8:00,7544540.854,0.683539447,0.683539447 +21-11-2019 9:00,7543771.68,0.5293859,0.5293859 +21-11-2019 10:00,7543003.162,0.503058863,0.503058863 +21-11-2019 11:00,7542235.301,0.626000025,0.626000025 +21-11-2019 12:00,7541468.098,0.542943144,0.542943144 +21-11-2019 13:00,7540701.552,0.420841715,0.420841715 +21-11-2019 14:00,7539935.665,0.486648458,0.486648458 +21-11-2019 15:00,7539170.436,0.5043486,0.5043486 +21-11-2019 16:00,7538405.866,0.486025699,0.486025699 +21-11-2019 17:00,7537641.955,0.509333849,0.509333849 +21-11-2019 18:00,7536878.704,0.493781565,0.493781565 +21-11-2019 19:00,7536116.113,0.447050856,0.447050856 +21-11-2019 20:00,7535354.183,0.36590082,0.36590082 +21-11-2019 21:00,7534592.914,0.238255988,0.238255988 +21-11-2019 22:00,7533832.306,0.112999197,0.112999197 +21-11-2019 23:00,7533072.359,0.049422708,0.049422708 +22-11-2019 0:00,7532313.075,0.020880646,0.020880646 +22-11-2019 1:00,7531554.453,0.008279986,0.008279986 +22-11-2019 2:00,7530796.494,0.006534524,0.006534524 +22-11-2019 3:00,7530039.198,0.012510367,0.012510367 +22-11-2019 4:00,7529282.566,0.050268122,0.050268122 +22-11-2019 5:00,7528526.598,0.207323216,0.207323216 +22-11-2019 6:00,7527771.294,0.422300832,0.422300832 +22-11-2019 7:00,7527016.655,0.542664655,0.542664655 +22-11-2019 8:00,7526262.681,0.636100905,0.636100905 +22-11-2019 9:00,7525509.373,0.486624198,0.486624198 +22-11-2019 10:00,7524756.731,0.361564175,0.361564175 +22-11-2019 11:00,7524004.755,0.51337795,0.51337795 +22-11-2019 12:00,7523253.446,0.499538717,0.499538717 +22-11-2019 13:00,7522502.804,0.308841055,0.308841055 +22-11-2019 14:00,7521752.829,0.433639175,0.433639175 +22-11-2019 15:00,7521003.523,0.459578322,0.459578322 +22-11-2019 16:00,7520254.885,0.442858135,0.442858135 +22-11-2019 17:00,7519506.915,0.474448782,0.474448782 +22-11-2019 18:00,7518759.614,0.457324505,0.457324505 +22-11-2019 19:00,7518012.983,0.419609805,0.419609805 +22-11-2019 20:00,7517267.022,0.345656268,0.345656268 +22-11-2019 21:00,7516521.731,0.223137301,0.223137301 +22-11-2019 22:00,7515777.11,0.104941762,0.104941762 +22-11-2019 23:00,7515033.161,0.045268275,0.045268275 +23-11-2019 0:00,7514289.882,0.019054401,0.019054401 +23-11-2019 1:00,7513547.276,0.006770837,0.006770837 +23-11-2019 2:00,7512805.341,0.004799866,0.004799866 +23-11-2019 3:00,7512064.08,0.008729727,0.008729727 +23-11-2019 4:00,7511323.491,0.042006695,0.042006695 +23-11-2019 5:00,7510583.575,0.184927295,0.184927295 +23-11-2019 6:00,7509844.333,0.389850449,0.389850449 +23-11-2019 7:00,7509105.765,0.512917828,0.512917828 +23-11-2019 8:00,7508367.871,0.609546568,0.609546568 +23-11-2019 9:00,7507630.652,0.479551021,0.479551021 +23-11-2019 10:00,7506894.108,0.462370676,0.462370676 +23-11-2019 11:00,7506158.24,0.586871068,0.586871068 +23-11-2019 12:00,7505423.048,0.510867378,0.510867378 +23-11-2019 13:00,7504688.532,0.384289971,0.384289971 +23-11-2019 14:00,7503954.693,0.442645172,0.442645172 +23-11-2019 15:00,7503221.531,0.455864211,0.455864211 +23-11-2019 16:00,7502489.046,0.429231602,0.429231602 +23-11-2019 17:00,7501757.239,0.45726198,0.45726198 +23-11-2019 18:00,7501026.11,0.440536186,0.440536186 +23-11-2019 19:00,7500295.66,0.404576536,0.404576536 +23-11-2019 20:00,7499565.888,0.337690887,0.337690887 +23-11-2019 21:00,7498836.796,0.219751306,0.219751306 +23-11-2019 22:00,7498108.384,0.104080962,0.104080962 +23-11-2019 23:00,7497380.652,0.045115335,0.045115335 +24-11-2019 0:00,7496653.6,0.019243943,0.019243943 +24-11-2019 1:00,7495927.229,0.006932733,0.006932733 +24-11-2019 2:00,7495201.539,0.004814575,0.004814575 +24-11-2019 3:00,7494476.531,0.009384621,0.009384621 +24-11-2019 4:00,7493752.204,0.044218024,0.044218024 +24-11-2019 5:00,7493028.56,0.195456801,0.195456801 +24-11-2019 6:00,7492305.599,0.408958032,0.408958032 +24-11-2019 7:00,7491583.321,0.533157641,0.533157641 +24-11-2019 8:00,7490861.726,0.626668164,0.626668164 +24-11-2019 9:00,7490140.815,0.486215794,0.486215794 +24-11-2019 10:00,7489420.588,0.46110976,0.46110976 +24-11-2019 11:00,7488701.045,0.578053773,0.578053773 +24-11-2019 12:00,7487982.188,0.496249573,0.496249573 +24-11-2019 13:00,7487264.015,0.377769019,0.377769019 +24-11-2019 14:00,7486546.529,0.437594863,0.437594863 +24-11-2019 15:00,7485829.728,0.46181635,0.46181635 +24-11-2019 16:00,7485113.614,0.452981243,0.452981243 +24-11-2019 17:00,7484398.186,0.482041179,0.482041179 +24-11-2019 18:00,7483683.446,0.46205786,0.46205786 +24-11-2019 19:00,7482969.393,0.417713428,0.417713428 +24-11-2019 20:00,7482256.028,0.348097101,0.348097101 +24-11-2019 21:00,7481543.351,0.218132723,0.218132723 +24-11-2019 22:00,7480831.363,0.102903386,0.102903386 +24-11-2019 23:00,7480120.064,0.04426997,0.04426997 +25-11-2019 0:00,7479409.454,0.018665394,0.018665394 +25-11-2019 1:00,7478699.533,0.006521623,0.006521623 +25-11-2019 2:00,7477990.303,0.004338981,0.004338981 +25-11-2019 3:00,7477281.763,0.007472525,0.007472525 +25-11-2019 4:00,7476573.914,0.037638141,0.037638141 +25-11-2019 5:00,7475866.756,0.170009803,0.170009803 +25-11-2019 6:00,7475160.29,0.358499033,0.358499033 +25-11-2019 7:00,7474454.515,0.47513859,0.47513859 +25-11-2019 8:00,7473749.433,0.572505335,0.572505335 +25-11-2019 9:00,7473045.043,0.459589078,0.459589078 +25-11-2019 10:00,7472341.346,0.445639981,0.445639981 +25-11-2019 11:00,7471638.343,0.563141275,0.563141275 +25-11-2019 12:00,7470936.033,0.448301783,0.448301783 +25-11-2019 13:00,7470234.417,0.240971346,0.240971346 +25-11-2019 14:00,7469533.496,0.336780519,0.336780519 +25-11-2019 15:00,7468833.269,0.436517681,0.436517681 +25-11-2019 16:00,7468133.738,0.426666377,0.426666377 +25-11-2019 17:00,7467434.902,0.447451703,0.447451703 +25-11-2019 18:00,7466736.761,0.426482099,0.426482099 +25-11-2019 19:00,7466039.318,0.390386538,0.390386538 +25-11-2019 20:00,7465342.57,0.321530429,0.321530429 +25-11-2019 21:00,7464646.52,0.208047811,0.208047811 +25-11-2019 22:00,7463951.166,0.097887299,0.097887299 +25-11-2019 23:00,7463256.511,0.041725398,0.041725398 +26-11-2019 0:00,7462562.553,0.017367104,0.017367104 +26-11-2019 1:00,7461869.294,0.005895227,0.005895227 +26-11-2019 2:00,7461176.733,0.003373126,0.003373126 +26-11-2019 3:00,7460484.872,0.00564409,0.00564409 +26-11-2019 4:00,7459793.71,0.030191487,0.030191487 +26-11-2019 5:00,7459103.248,0.145287604,0.145287604 +26-11-2019 6:00,7458413.485,0.309191777,0.309191777 +26-11-2019 7:00,7457724.424,0.411902941,0.411902941 +26-11-2019 8:00,7457036.063,0.500841613,0.500841613 +26-11-2019 9:00,7456348.403,0.406858458,0.406858458 +26-11-2019 10:00,7455661.445,0.399763152,0.399763152 +26-11-2019 11:00,7454975.189,0.526949166,0.526949166 +26-11-2019 12:00,7454289.635,0.459082528,0.459082528 +26-11-2019 13:00,7453604.784,0.337407953,0.337407953 +26-11-2019 14:00,7452920.635,0.389835063,0.389835063 +26-11-2019 15:00,7452237.19,0.408050689,0.408050689 +26-11-2019 16:00,7451554.449,0.381553925,0.381553925 +26-11-2019 17:00,7450872.411,0.403890727,0.403890727 +26-11-2019 18:00,7450191.078,0.384484601,0.384484601 +26-11-2019 19:00,7449510.45,0.346650247,0.346650247 +26-11-2019 20:00,7448830.526,0.283162723,0.283162723 +26-11-2019 21:00,7448151.309,0.183290527,0.183290527 +26-11-2019 22:00,7447472.796,0.08633041,0.08633041 +26-11-2019 23:00,7446794.99,0.036703686,0.036703686 +27-11-2019 0:00,7446117.891,0.014597955,0.014597955 +27-11-2019 1:00,7445441.498,0.004678352,0.004678352 +27-11-2019 2:00,7444765.813,0.002480742,0.002480742 +27-11-2019 3:00,7444090.834,0.003622753,0.003622753 +27-11-2019 4:00,7443416.564,0.018655552,0.018655552 +27-11-2019 5:00,7442743.002,0.102433387,0.102433387 +27-11-2019 6:00,7442070.149,0.233134481,0.233134481 +27-11-2019 7:00,7441398.004,0.320540446,0.320540446 +27-11-2019 8:00,7440726.569,0.403627281,0.403627281 +27-11-2019 9:00,7440055.843,0.350421175,0.350421175 +27-11-2019 10:00,7439385.827,0.35684165,0.35684165 +27-11-2019 11:00,7438716.521,0.481423891,0.481423891 +27-11-2019 12:00,7438047.926,0.432629375,0.432629375 +27-11-2019 13:00,7437380.042,0.306702013,0.306702013 +27-11-2019 14:00,7436712.87,0.360423292,0.360423292 +27-11-2019 15:00,7436046.409,0.380305916,0.380305916 +27-11-2019 16:00,7435380.659,0.353395171,0.353395171 +27-11-2019 17:00,7434715.623,0.379739068,0.379739068 +27-11-2019 18:00,7434051.299,0.360919674,0.360919674 +27-11-2019 19:00,7433387.688,0.326620199,0.326620199 +27-11-2019 20:00,7432724.79,0.266212927,0.266212927 +27-11-2019 21:00,7432062.606,0.171192145,0.171192145 +27-11-2019 22:00,7431401.136,0.080689679,0.080689679 +27-11-2019 23:00,7430740.38,0.03426153,0.03426153 +28-11-2019 0:00,7430080.339,0.013797836,0.013797836 +28-11-2019 1:00,7429421.014,0.003933998,0.003933998 +28-11-2019 2:00,7428762.403,0.002098989,0.002098989 +28-11-2019 3:00,7428104.508,0.003087696,0.003087696 +28-11-2019 4:00,7427447.33,0.014142568,0.014142568 +28-11-2019 5:00,7426790.868,0.085829049,0.085829049 +28-11-2019 6:00,7426135.122,0.198018527,0.198018527 +28-11-2019 7:00,7425480.094,0.282849601,0.282849601 +28-11-2019 8:00,7424825.783,0.368731147,0.368731147 +28-11-2019 9:00,7424172.19,0.330646837,0.330646837 +28-11-2019 10:00,7423519.315,0.347460091,0.347460091 +28-11-2019 11:00,7422867.158,0.469308444,0.469308444 +28-11-2019 12:00,7422215.72,0.420902368,0.420902368 +28-11-2019 13:00,7421565.001,0.2933919,0.2933919 +28-11-2019 14:00,7420915.002,0.347656466,0.347656466 +28-11-2019 15:00,7420265.722,0.362687829,0.362687829 +28-11-2019 16:00,7419617.163,0.340386639,0.340386639 +28-11-2019 17:00,7418969.324,0.369289036,0.369289036 +28-11-2019 18:00,7418322.206,0.354692498,0.354692498 +28-11-2019 19:00,7417675.809,0.323360626,0.323360626 +28-11-2019 20:00,7417030.133,0.266136933,0.266136933 +28-11-2019 21:00,7416385.179,0.174083749,0.174083749 +28-11-2019 22:00,7415740.947,0.081902475,0.081902475 +28-11-2019 23:00,7415097.438,0.035653244,0.035653244 +29-11-2019 0:00,7414454.651,0.014635789,0.014635789 +29-11-2019 1:00,7413812.588,0.004536975,0.004536975 +29-11-2019 2:00,7413171.248,0.002464863,0.002464863 +29-11-2019 3:00,7412530.631,0.003800969,0.003800969 +29-11-2019 4:00,7411890.739,0.018775021,0.018775021 +29-11-2019 5:00,7411251.571,0.111705331,0.111705331 +29-11-2019 6:00,7410613.128,0.250372801,0.250372801 +29-11-2019 7:00,7409975.41,0.345014758,0.345014758 +29-11-2019 8:00,7409338.417,0.414870903,0.414870903 +29-11-2019 9:00,7408702.15,0.361890802,0.361890802 +29-11-2019 10:00,7408066.61,0.347781982,0.347781982 +29-11-2019 11:00,7407431.795,0.479578952,0.479578952 +29-11-2019 12:00,7406797.707,0.448420071,0.448420071 +29-11-2019 13:00,7406164.347,0.225850239,0.225850239 +29-11-2019 14:00,7405531.713,0.323360965,0.323360965 +29-11-2019 15:00,7404899.808,0.407322315,0.407322315 +29-11-2019 16:00,7404268.63,0.383200094,0.383200094 +29-11-2019 17:00,7403638.181,0.410351903,0.410351903 +29-11-2019 18:00,7403008.46,0.411877345,0.411877345 +29-11-2019 19:00,7402379.468,0.38541413,0.38541413 +29-11-2019 20:00,7401751.206,0.321445036,0.321445036 +29-11-2019 21:00,7401123.673,0.208603473,0.208603473 +29-11-2019 22:00,7400496.871,0.101043979,0.101043979 +29-11-2019 23:00,7399870.798,0.044450607,0.044450607 +30-11-2019 0:00,7399245.456,0.018656163,0.018656163 +30-11-2019 1:00,7398620.845,0.006389188,0.006389188 +30-11-2019 2:00,7397996.966,0.00373474,0.00373474 +30-11-2019 3:00,7397373.817,0.007743657,0.007743657 +30-11-2019 4:00,7396751.401,0.037984693,0.037984693 +30-11-2019 5:00,7396129.717,0.179875248,0.179875248 +30-11-2019 6:00,7395508.766,0.372827204,0.372827204 +30-11-2019 7:00,7394888.547,0.494168365,0.494168365 +30-11-2019 8:00,7394269.061,0.565788433,0.565788433 +30-11-2019 9:00,7393650.309,0.377059866,0.377059866 +30-11-2019 10:00,7393032.291,0.319901858,0.319901858 +30-11-2019 11:00,7392415.007,0.42337734,0.42337734 +30-11-2019 12:00,7391798.457,0.380911566,0.380911566 +30-11-2019 13:00,7391182.642,0.226023951,0.226023951 +30-11-2019 14:00,7390567.562,0.365452167,0.365452167 +30-11-2019 15:00,7389953.218,0.454322069,0.454322069 +30-11-2019 16:00,7389339.609,0.452321179,0.452321179 +30-11-2019 17:00,7388726.736,0.487946963,0.487946963 +30-11-2019 18:00,7388114.6,0.47149935,0.47149935 +30-11-2019 19:00,7387503.2,0.435165624,0.435165624 +30-11-2019 20:00,7386892.537,0.360208718,0.360208718 +30-11-2019 21:00,7386282.612,0.236938684,0.236938684 +30-11-2019 22:00,7385673.424,0.113468439,0.113468439 +30-11-2019 23:00,7385064.974,0.050062116,0.050062116 +01-12-2019 0:00,7384457.262,0.021018337,0.021018337 +01-12-2019 1:00,7383850.288,0.008241001,0.008241001 +01-12-2019 2:00,7383244.054,0.00649728,0.00649728 +01-12-2019 3:00,7382638.559,0.013482556,0.013482556 +01-12-2019 4:00,7382033.803,0.053037563,0.053037563 +01-12-2019 5:00,7381429.787,0.222555673,0.222555673 +01-12-2019 6:00,7380826.511,0.453108358,0.453108358 +01-12-2019 7:00,7380223.975,0.588908891,0.588908891 +01-12-2019 8:00,7379622.18,0.69030671,0.69030671 +01-12-2019 9:00,7379021.126,0.543068021,0.543068021 +01-12-2019 10:00,7378420.814,0.509964492,0.509964492 +01-12-2019 11:00,7377821.243,0.622464156,0.622464156 +01-12-2019 12:00,7377222.414,0.55327786,0.55327786 +01-12-2019 13:00,7376624.327,0.440876589,0.440876589 +01-12-2019 14:00,7376026.983,0.489263395,0.489263395 +01-12-2019 15:00,7375430.382,0.505356212,0.505356212 +01-12-2019 16:00,7374834.523,0.493945018,0.493945018 +01-12-2019 17:00,7374239.409,0.526836112,0.526836112 +01-12-2019 18:00,7373645.038,0.498304558,0.498304558 +01-12-2019 19:00,7373051.411,0.453295679,0.453295679 +01-12-2019 20:00,7372458.529,0.374539294,0.374539294 +01-12-2019 21:00,7371866.391,0.249675606,0.249675606 +01-12-2019 22:00,7371274.998,0.119926627,0.119926627 +01-12-2019 23:00,7370684.351,0.053949384,0.053949384 +02-12-2019 0:00,7370094.449,0.022996336,0.022996336 +02-12-2019 1:00,7369505.294,0.010378086,0.010378086 +02-12-2019 2:00,7368916.884,0.009269002,0.009269002 +02-12-2019 3:00,7368329.221,0.019349503,0.019349503 +02-12-2019 4:00,7367742.305,0.066206469,0.066206469 +02-12-2019 5:00,7367156.135,0.259238008,0.259238008 +02-12-2019 6:00,7366570.714,0.506187616,0.506187616 +02-12-2019 7:00,7365986.04,0.634539838,0.634539838 +02-12-2019 8:00,7365402.114,0.723796295,0.723796295 +02-12-2019 9:00,7364818.936,0.468753028,0.468753028 +02-12-2019 10:00,7364236.507,0.387325842,0.387325842 +02-12-2019 11:00,7363654.827,0.578021796,0.578021796 +02-12-2019 12:00,7363073.897,0.519231872,0.519231872 +02-12-2019 13:00,7362493.715,0.394203696,0.394203696 +02-12-2019 14:00,7361914.284,0.470495757,0.470495757 +02-12-2019 15:00,7361335.602,0.484236626,0.484236626 +02-12-2019 16:00,7360757.672,0.460178111,0.460178111 +02-12-2019 17:00,7360180.491,0.483882586,0.483882586 +02-12-2019 18:00,7359604.062,0.465516361,0.465516361 +02-12-2019 19:00,7359028.384,0.421218644,0.421218644 +02-12-2019 20:00,7358453.458,0.346149055,0.346149055 +02-12-2019 21:00,7357879.284,0.223787351,0.223787351 +02-12-2019 22:00,7357305.862,0.105744159,0.105744159 +02-12-2019 23:00,7356733.192,0.04540366,0.04540366 +03-12-2019 0:00,7356161.275,0.019013437,0.019013437 +03-12-2019 1:00,7355590.112,0.006816568,0.006816568 +03-12-2019 2:00,7355019.701,0.004962245,0.004962245 +03-12-2019 3:00,7354450.045,0.008794033,0.008794033 +03-12-2019 4:00,7353881.142,0.043767738,0.043767738 +03-12-2019 5:00,7353312.993,0.191862816,0.191862816 +03-12-2019 6:00,7352745.599,0.414007038,0.414007038 +03-12-2019 7:00,7352178.96,0.540376659,0.540376659 +03-12-2019 8:00,7351613.076,0.616233542,0.616233542 +03-12-2019 9:00,7351047.948,0.469421011,0.469421011 +03-12-2019 10:00,7350483.575,0.367150277,0.367150277 +03-12-2019 11:00,7349919.958,0.507242306,0.507242306 +03-12-2019 12:00,7349357.098,0.427950163,0.427950163 +03-12-2019 13:00,7348794.994,0.29199804,0.29199804 +03-12-2019 14:00,7348233.647,0.446819126,0.446819126 +03-12-2019 15:00,7347673.057,0.481488493,0.481488493 +03-12-2019 16:00,7347113.225,0.460667124,0.460667124 +03-12-2019 17:00,7346554.15,0.488656259,0.488656259 +03-12-2019 18:00,7345995.833,0.470210572,0.470210572 +03-12-2019 19:00,7345438.275,0.432621697,0.432621697 +03-12-2019 20:00,7344881.475,0.358619964,0.358619964 +03-12-2019 21:00,7344325.435,0.232957635,0.232957635 +03-12-2019 22:00,7343770.153,0.113037552,0.113037552 +03-12-2019 23:00,7343215.631,0.049166931,0.049166931 +04-12-2019 0:00,7342661.868,0.021630806,0.021630806 +04-12-2019 1:00,7342108.866,0.008555163,0.008555163 +04-12-2019 2:00,7341556.624,0.006959087,0.006959087 +04-12-2019 3:00,7341005.142,0.014433576,0.014433576 +04-12-2019 4:00,7340454.422,0.055951958,0.055951958 +04-12-2019 5:00,7339904.462,0.231131214,0.231131214 +04-12-2019 6:00,7339355.264,0.468949733,0.468949733 +04-12-2019 7:00,7338806.828,0.60974841,0.60974841 +04-12-2019 8:00,7338259.154,0.689067957,0.689067957 +04-12-2019 9:00,7337712.242,0.439434777,0.439434777 +04-12-2019 10:00,7337166.092,0.381612335,0.381612335 +04-12-2019 11:00,7336620.706,0.529114364,0.529114364 +04-12-2019 12:00,7336076.083,0.416868617,0.416868617 +04-12-2019 13:00,7335532.223,0.26935936,0.26935936 +04-12-2019 14:00,7334989.126,0.441881194,0.441881194 +04-12-2019 15:00,7334446.794,0.51327707,0.51327707 +04-12-2019 16:00,7333905.226,0.49279605,0.49279605 +04-12-2019 17:00,7333364.423,0.530574798,0.530574798 +04-12-2019 18:00,7332824.384,0.515066208,0.515066208 +04-12-2019 19:00,7332285.11,0.47506113,0.47506113 +04-12-2019 20:00,7331746.602,0.394010712,0.394010712 +04-12-2019 21:00,7331208.86,0.256595995,0.256595995 +04-12-2019 22:00,7330671.883,0.122618873,0.122618873 +04-12-2019 23:00,7330135.672,0.054890029,0.054890029 +05-12-2019 0:00,7329600.229,0.023612378,0.023612378 +05-12-2019 1:00,7329065.551,0.0111336,0.0111336 +05-12-2019 2:00,7328531.641,0.010351122,0.010351122 +05-12-2019 3:00,7327998.498,0.021364053,0.021364053 +05-12-2019 4:00,7327466.123,0.070485215,0.070485215 +05-12-2019 5:00,7326934.515,0.267840239,0.267840239 +05-12-2019 6:00,7326403.676,0.52142113,0.52142113 +05-12-2019 7:00,7325873.605,0.669654659,0.669654659 +05-12-2019 8:00,7325344.303,0.78136912,0.78136912 +05-12-2019 9:00,7324815.77,0.622518084,0.622518084 +05-12-2019 10:00,7324288.005,0.592613633,0.592613633 +05-12-2019 11:00,7323761.011,0.701134111,0.701134111 +05-12-2019 12:00,7323234.786,0.624897684,0.624897684 +05-12-2019 13:00,7322709.331,0.491166545,0.491166545 +05-12-2019 14:00,7322184.646,0.529664316,0.529664316 +05-12-2019 15:00,7321660.732,0.535292127,0.535292127 +05-12-2019 16:00,7321137.589,0.501516057,0.501516057 +05-12-2019 17:00,7320615.217,0.528320267,0.528320267 +05-12-2019 18:00,7320093.617,0.507515417,0.507515417 +05-12-2019 19:00,7319572.788,0.464142213,0.464142213 +05-12-2019 20:00,7319052.73,0.385231647,0.385231647 +05-12-2019 21:00,7318533.445,0.24822238,0.24822238 +05-12-2019 22:00,7318014.933,0.116388228,0.116388228 +05-12-2019 23:00,7317497.193,0.051270231,0.051270231 +06-12-2019 0:00,7316980.226,0.021750029,0.021750029 +06-12-2019 1:00,7316464.033,0.009347827,0.009347827 +06-12-2019 2:00,7315948.613,0.008269546,0.008269546 +06-12-2019 3:00,7315433.966,0.016221446,0.016221446 +06-12-2019 4:00,7314920.094,0.057947041,0.057947041 +06-12-2019 5:00,7314406.996,0.23088157,0.23088157 +06-12-2019 6:00,7313894.673,0.462547677,0.462547677 +06-12-2019 7:00,7313383.124,0.596086922,0.596086922 +06-12-2019 8:00,7312872.351,0.702963583,0.702963583 +06-12-2019 9:00,7312362.353,0.564871487,0.564871487 +06-12-2019 10:00,7311853.13,0.528052184,0.528052184 +06-12-2019 11:00,7311344.684,0.644394443,0.644394443 +06-12-2019 12:00,7310837.013,0.564658514,0.564658514 +06-12-2019 13:00,7310330.119,0.454242347,0.454242347 +06-12-2019 14:00,7309824.002,0.491320777,0.491320777 +06-12-2019 15:00,7309318.661,0.497048172,0.497048172 +06-12-2019 16:00,7308814.098,0.463757221,0.463757221 +06-12-2019 17:00,7308310.312,0.484148837,0.484148837 +06-12-2019 18:00,7307807.304,0.46177506,0.46177506 +06-12-2019 19:00,7307305.074,0.42022985,0.42022985 +06-12-2019 20:00,7306803.622,0.337394559,0.337394559 +06-12-2019 21:00,7306302.948,0.219910656,0.219910656 +06-12-2019 22:00,7305803.054,0.1036087,0.1036087 +06-12-2019 23:00,7305303.938,0.043999539,0.043999539 +07-12-2019 0:00,7304805.601,0.018452361,0.018452361 +07-12-2019 1:00,7304308.044,0.006475814,0.006475814 +07-12-2019 2:00,7303811.267,0.004378849,0.004378849 +07-12-2019 3:00,7303315.27,0.007055687,0.007055687 +07-12-2019 4:00,7302820.053,0.037341225,0.037341225 +07-12-2019 5:00,7302325.617,0.164632726,0.164632726 +07-12-2019 6:00,7301831.961,0.350713021,0.350713021 +07-12-2019 7:00,7301339.086,0.46484216,0.46484216 +07-12-2019 8:00,7300846.993,0.563629293,0.563629293 +07-12-2019 9:00,7300355.681,0.469201087,0.469201087 +07-12-2019 10:00,7299865.151,0.453667891,0.453667891 +07-12-2019 11:00,7299375.403,0.577139501,0.577139501 +07-12-2019 12:00,7298886.438,0.510599242,0.510599242 +07-12-2019 13:00,7298398.255,0.398367175,0.398367175 +07-12-2019 14:00,7297910.854,0.438839962,0.438839962 +07-12-2019 15:00,7297424.237,0.447793076,0.447793076 +07-12-2019 16:00,7296938.403,0.418744392,0.418744392 +07-12-2019 17:00,7296453.353,0.442287217,0.442287217 +07-12-2019 18:00,7295969.086,0.422229869,0.422229869 +07-12-2019 19:00,7295485.604,0.383997203,0.383997203 +07-12-2019 20:00,7295002.906,0.316171563,0.316171563 +07-12-2019 21:00,7294520.992,0.202403234,0.202403234 +07-12-2019 22:00,7294039.863,0.094726137,0.094726137 +07-12-2019 23:00,7293559.52,0.040261638,0.040261638 +08-12-2019 0:00,7293079.961,0.016550575,0.016550575 +08-12-2019 1:00,7292601.188,0.005598841,0.005598841 +08-12-2019 2:00,7292123.201,0.003167975,0.003167975 +08-12-2019 3:00,7291646,0.004845921,0.004845921 +08-12-2019 4:00,7291169.585,0.026866534,0.026866534 +08-12-2019 5:00,7290693.957,0.133905056,0.133905056 +08-12-2019 6:00,7290219.115,0.291899454,0.291899454 +08-12-2019 7:00,7289745.06,0.394735436,0.394735436 +08-12-2019 8:00,7289271.793,0.491759502,0.491759502 +08-12-2019 9:00,7288799.313,0.416033,0.416033 +08-12-2019 10:00,7288327.621,0.396177129,0.396177129 +08-12-2019 11:00,7287856.717,0.537201356,0.537201356 +08-12-2019 12:00,7287386.601,0.462864285,0.462864285 +08-12-2019 13:00,7286917.274,0.310237787,0.310237787 +08-12-2019 14:00,7286448.735,0.391411386,0.391411386 +08-12-2019 15:00,7285980.985,0.414240114,0.414240114 +08-12-2019 16:00,7285514.025,0.388056291,0.388056291 +08-12-2019 17:00,7285047.854,0.411298597,0.411298597 +08-12-2019 18:00,7284582.472,0.394591444,0.394591444 +08-12-2019 19:00,7284117.881,0.360732491,0.360732491 +08-12-2019 20:00,7283654.079,0.299619806,0.299619806 +08-12-2019 21:00,7283191.068,0.193394657,0.193394657 +08-12-2019 22:00,7282728.848,0.092186871,0.092186871 +08-12-2019 23:00,7282267.419,0.039993871,0.039993871 +09-12-2019 0:00,7281806.78,0.016219979,0.016219979 +09-12-2019 1:00,7281346.933,0.005365636,0.005365636 +09-12-2019 2:00,7280887.878,0.002995424,0.002995424 +09-12-2019 3:00,7280429.614,0.004530346,0.004530346 +09-12-2019 4:00,7279972.142,0.025100002,0.025100002 +09-12-2019 5:00,7279515.463,0.132026831,0.132026831 +09-12-2019 6:00,7279059.576,0.290559533,0.290559533 +09-12-2019 7:00,7278604.482,0.400261996,0.400261996 +09-12-2019 8:00,7278150.181,0.480749613,0.480749613 +09-12-2019 9:00,7277696.673,0.401650534,0.401650534 +09-12-2019 10:00,7277243.959,0.402632726,0.402632726 +09-12-2019 11:00,7276792.038,0.546914409,0.546914409 +09-12-2019 12:00,7276340.911,0.487019918,0.487019918 +09-12-2019 13:00,7275890.579,0.380190423,0.380190423 +09-12-2019 14:00,7275441.04,0.421887063,0.421887063 +09-12-2019 15:00,7274992.297,0.423779896,0.423779896 +09-12-2019 16:00,7274544.348,0.397596544,0.397596544 +09-12-2019 17:00,7274097.194,0.423709599,0.423709599 +09-12-2019 18:00,7273650.836,0.407377238,0.407377238 +09-12-2019 19:00,7273205.273,0.376491511,0.376491511 +09-12-2019 20:00,7272760.506,0.314665371,0.314665371 +09-12-2019 21:00,7272316.534,0.201033687,0.201033687 +09-12-2019 22:00,7271873.359,0.096106426,0.096106426 +09-12-2019 23:00,7271430.981,0.041215236,0.041215236 +10-12-2019 0:00,7270989.399,0.017150613,0.017150613 +10-12-2019 1:00,7270548.614,0.005918449,0.005918449 +10-12-2019 2:00,7270108.627,0.003340378,0.003340378 +10-12-2019 3:00,7269669.436,0.005582779,0.005582779 +10-12-2019 4:00,7269231.043,0.030891016,0.030891016 +10-12-2019 5:00,7268793.448,0.153980692,0.153980692 +10-12-2019 6:00,7268356.651,0.33106977,0.33106977 +10-12-2019 7:00,7267920.653,0.446321824,0.446321824 +10-12-2019 8:00,7267485.452,0.550297561,0.550297561 +10-12-2019 9:00,7267051.051,0.444359679,0.444359679 +10-12-2019 10:00,7266617.448,0.449879869,0.449879869 +10-12-2019 11:00,7266184.645,0.571076085,0.571076085 +10-12-2019 12:00,7265752.641,0.510692188,0.510692188 +10-12-2019 13:00,7265321.436,0.398810293,0.398810293 +10-12-2019 14:00,7264891.031,0.436935151,0.436935151 +10-12-2019 15:00,7264461.427,0.441981113,0.441981113 +10-12-2019 16:00,7264032.623,0.4144567,0.4144567 +10-12-2019 17:00,7263604.619,0.440673833,0.440673833 +10-12-2019 18:00,7263177.415,0.420508431,0.420508431 +10-12-2019 19:00,7262751.013,0.379775411,0.379775411 +10-12-2019 20:00,7262325.412,0.310810199,0.310810199 +10-12-2019 21:00,7261900.612,0.199496761,0.199496761 +10-12-2019 22:00,7261476.614,0.094014025,0.094014025 +10-12-2019 23:00,7261053.418,0.040079195,0.040079195 +11-12-2019 0:00,7260631.023,0.01635365,0.01635365 +11-12-2019 1:00,7260209.431,0.005636454,0.005636454 +11-12-2019 2:00,7259788.642,0.003170718,0.003170718 +11-12-2019 3:00,7259368.655,0.004941422,0.004941422 +11-12-2019 4:00,7258949.471,0.027106067,0.027106067 +11-12-2019 5:00,7258531.09,0.136710206,0.136710206 +11-12-2019 6:00,7258113.512,0.296290511,0.296290511 +11-12-2019 7:00,7257696.738,0.402312523,0.402312523 +11-12-2019 8:00,7257280.767,0.502591327,0.502591327 +11-12-2019 9:00,7256865.601,0.431850775,0.431850775 +11-12-2019 10:00,7256451.238,0.430258889,0.430258889 +11-12-2019 11:00,7256037.68,0.556559607,0.556559607 +11-12-2019 12:00,7255624.927,0.498050453,0.498050453 +11-12-2019 13:00,7255212.979,0.387323077,0.387323077 +11-12-2019 14:00,7254801.835,0.430183634,0.430183634 +11-12-2019 15:00,7254391.497,0.438396158,0.438396158 +11-12-2019 16:00,7253981.964,0.411801631,0.411801631 +11-12-2019 17:00,7253573.237,0.438182653,0.438182653 +11-12-2019 18:00,7253165.315,0.423732533,0.423732533 +11-12-2019 19:00,7252758.2,0.386277393,0.386277393 +11-12-2019 20:00,7252351.891,0.315080471,0.315080471 +11-12-2019 21:00,7251946.389,0.204627131,0.204627131 +11-12-2019 22:00,7251541.693,0.096332545,0.096332545 +11-12-2019 23:00,7251137.804,0.041801607,0.041801607 +12-12-2019 0:00,7250734.722,0.017498644,0.017498644 +12-12-2019 1:00,7250332.448,0.005980573,0.005980573 +12-12-2019 2:00,7249930.981,0.003403663,0.003403663 +12-12-2019 3:00,7249530.322,0.005833291,0.005833291 +12-12-2019 4:00,7249130.471,0.031521946,0.031521946 +12-12-2019 5:00,7248731.428,0.154288835,0.154288835 +12-12-2019 6:00,7248333.193,0.331678949,0.331678949 +12-12-2019 7:00,7247935.767,0.449025207,0.449025207 +12-12-2019 8:00,7247539.149,0.541686198,0.541686198 +12-12-2019 9:00,7247143.341,0.375376322,0.375376322 +12-12-2019 10:00,7246748.342,0.348652204,0.348652204 +12-12-2019 11:00,7246354.152,0.495897992,0.495897992 +12-12-2019 12:00,7245960.772,0.404100917,0.404100917 +12-12-2019 13:00,7245568.201,0.268895147,0.268895147 +12-12-2019 14:00,7245176.441,0.429397855,0.429397855 +12-12-2019 15:00,7244785.49,0.450066929,0.450066929 +12-12-2019 16:00,7244395.35,0.429278612,0.429278612 +12-12-2019 17:00,7244006.021,0.455077351,0.455077351 +12-12-2019 18:00,7243617.502,0.43678383,0.43678383 +12-12-2019 19:00,7243229.795,0.396436857,0.396436857 +12-12-2019 20:00,7242842.898,0.325694351,0.325694351 +12-12-2019 21:00,7242456.813,0.210868093,0.210868093 +12-12-2019 22:00,7242071.54,0.100824016,0.100824016 +12-12-2019 23:00,7241687.078,0.043718695,0.043718695 +13-12-2019 0:00,7241303.429,0.018400109,0.018400109 +13-12-2019 1:00,7240920.591,0.006325755,0.006325755 +13-12-2019 2:00,7240538.566,0.003856543,0.003856543 +13-12-2019 3:00,7240157.353,0.007031295,0.007031295 +13-12-2019 4:00,7239776.953,0.036274485,0.036274485 +13-12-2019 5:00,7239397.367,0.169564763,0.169564763 +13-12-2019 6:00,7239018.593,0.359048103,0.359048103 +13-12-2019 7:00,7238640.633,0.479836829,0.479836829 +13-12-2019 8:00,7238263.486,0.590078668,0.590078668 +13-12-2019 9:00,7237887.153,0.499174287,0.499174287 +13-12-2019 10:00,7237511.634,0.481533161,0.481533161 +13-12-2019 11:00,7237136.929,0.602224088,0.602224088 +13-12-2019 12:00,7236763.038,0.540504801,0.540504801 +13-12-2019 13:00,7236389.962,0.43190607,0.43190607 +13-12-2019 14:00,7236017.7,0.463891333,0.463891333 +13-12-2019 15:00,7235646.254,0.46105953,0.46105953 +13-12-2019 16:00,7235275.622,0.426732641,0.426732641 +13-12-2019 17:00,7234905.806,0.448278951,0.448278951 +13-12-2019 18:00,7234536.805,0.428771166,0.428771166 +13-12-2019 19:00,7234168.62,0.392686742,0.392686742 +13-12-2019 20:00,7233801.251,0.320496046,0.320496046 +13-12-2019 21:00,7233434.698,0.208794087,0.208794087 +13-12-2019 22:00,7233068.961,0.099315981,0.099315981 +13-12-2019 23:00,7232704.04,0.042967703,0.042967703 +14-12-2019 0:00,7232339.936,0.018057672,0.018057672 +14-12-2019 1:00,7231976.649,0.006195464,0.006195464 +14-12-2019 2:00,7231614.179,0.003712556,0.003712556 +14-12-2019 3:00,7231252.526,0.00652807,0.00652807 +14-12-2019 4:00,7230891.69,0.034517533,0.034517533 +14-12-2019 5:00,7230531.672,0.161790272,0.161790272 +14-12-2019 6:00,7230172.472,0.342027206,0.342027206 +14-12-2019 7:00,7229814.089,0.451634974,0.451634974 +14-12-2019 8:00,7229456.525,0.553512216,0.553512216 +14-12-2019 9:00,7229099.779,0.447584548,0.447584548 +14-12-2019 10:00,7228743.851,0.404055499,0.404055499 +14-12-2019 11:00,7228388.742,0.568042206,0.568042206 +14-12-2019 12:00,7228034.452,0.510925245,0.510925245 +14-12-2019 13:00,7227680.98,0.414879539,0.414879539 +14-12-2019 14:00,7227328.328,0.441338769,0.441338769 +14-12-2019 15:00,7226976.496,0.456884784,0.456884784 +14-12-2019 16:00,7226625.482,0.42367515,0.42367515 +14-12-2019 17:00,7226275.289,0.446140554,0.446140554 +14-12-2019 18:00,7225925.915,0.431019159,0.431019159 +14-12-2019 19:00,7225577.362,0.393855934,0.393855934 +14-12-2019 20:00,7225229.629,0.327546638,0.327546638 +14-12-2019 21:00,7224882.716,0.211674225,0.211674225 +14-12-2019 22:00,7224536.624,0.100165065,0.100165065 +14-12-2019 23:00,7224191.353,0.043430379,0.043430379 +15-12-2019 0:00,7223846.902,0.017960845,0.017960845 +15-12-2019 1:00,7223503.273,0.006028152,0.006028152 +15-12-2019 2:00,7223160.465,0.003513882,0.003513882 +15-12-2019 3:00,7222818.479,0.005991145,0.005991145 +15-12-2019 4:00,7222477.314,0.031201344,0.031201344 +15-12-2019 5:00,7222136.972,0.147969529,0.147969529 +15-12-2019 6:00,7221797.451,0.313603994,0.313603994 +15-12-2019 7:00,7221458.752,0.422049241,0.422049241 +15-12-2019 8:00,7221120.876,0.507923638,0.507923638 +15-12-2019 9:00,7220783.823,0.361907626,0.361907626 +15-12-2019 10:00,7220447.592,0.391075977,0.391075977 +15-12-2019 11:00,7220112.184,0.545194295,0.545194295 +15-12-2019 12:00,7219777.599,0.497625212,0.497625212 +15-12-2019 13:00,7219443.837,0.386942741,0.386942741 +15-12-2019 14:00,7219110.899,0.428415874,0.428415874 +15-12-2019 15:00,7218778.785,0.433199674,0.433199674 +15-12-2019 16:00,7218447.494,0.408537813,0.408537813 +15-12-2019 17:00,7218117.027,0.436608213,0.436608213 +15-12-2019 18:00,7217787.384,0.419140083,0.419140083 +15-12-2019 19:00,7217458.566,0.381594288,0.381594288 +15-12-2019 20:00,7217130.571,0.315579543,0.315579543 +15-12-2019 21:00,7216803.402,0.203779583,0.203779583 +15-12-2019 22:00,7216477.057,0.097006961,0.097006961 +15-12-2019 23:00,7216151.538,0.041844616,0.041844616 +16-12-2019 0:00,7215826.843,0.017740222,0.017740222 +16-12-2019 1:00,7215502.974,0.006056287,0.006056287 +16-12-2019 2:00,7215179.93,0.003454752,0.003454752 +16-12-2019 3:00,7214857.711,0.005956416,0.005956416 +16-12-2019 4:00,7214536.319,0.03162706,0.03162706 +16-12-2019 5:00,7214215.752,0.151457945,0.151457945 +16-12-2019 6:00,7213896.012,0.319422748,0.319422748 +16-12-2019 7:00,7213577.098,0.423146737,0.423146737 +16-12-2019 8:00,7213259.01,0.520027443,0.520027443 +16-12-2019 9:00,7212941.749,0.441292741,0.441292741 +16-12-2019 10:00,7212625.315,0.432098688,0.432098688 +16-12-2019 11:00,7212309.707,0.555028046,0.555028046 +16-12-2019 12:00,7211994.927,0.497496788,0.497496788 +16-12-2019 13:00,7211680.974,0.389425398,0.389425398 +16-12-2019 14:00,7211367.848,0.423154681,0.423154681 +16-12-2019 15:00,7211055.55,0.430953756,0.430953756 +16-12-2019 16:00,7210744.08,0.400115439,0.400115439 +16-12-2019 17:00,7210433.437,0.424538267,0.424538267 +16-12-2019 18:00,7210123.623,0.407241672,0.407241672 +16-12-2019 19:00,7209814.637,0.371015887,0.371015887 +16-12-2019 20:00,7209506.479,0.304417159,0.304417159 +16-12-2019 21:00,7209199.15,0.196321703,0.196321703 +16-12-2019 22:00,7208892.649,0.092839828,0.092839828 +16-12-2019 23:00,7208586.977,0.040432696,0.040432696 +17-12-2019 0:00,7208282.135,0.016675144,0.016675144 +17-12-2019 1:00,7207978.121,0.005760079,0.005760079 +17-12-2019 2:00,7207674.937,0.003167476,0.003167476 +17-12-2019 3:00,7207372.582,0.004834923,0.004834923 +17-12-2019 4:00,7207071.057,0.026185081,0.026185081 +17-12-2019 5:00,7206770.362,0.132116692,0.132116692 +17-12-2019 6:00,7206470.496,0.282944221,0.282944221 +17-12-2019 7:00,7206171.461,0.372861306,0.372861306 +17-12-2019 8:00,7205873.256,0.458137207,0.458137207 +17-12-2019 9:00,7205575.881,0.390776365,0.390776365 +17-12-2019 10:00,7205279.337,0.385254885,0.385254885 +17-12-2019 11:00,7204983.624,0.502746521,0.502746521 +17-12-2019 12:00,7204688.741,0.412387564,0.412387564 +17-12-2019 13:00,7204394.69,0.324947901,0.324947901 +17-12-2019 14:00,7204101.469,0.357004662,0.357004662 +17-12-2019 15:00,7203809.08,0.365877028,0.365877028 +17-12-2019 16:00,7203517.523,0.337310454,0.337310454 +17-12-2019 17:00,7203226.797,0.375510114,0.375510114 +17-12-2019 18:00,7202936.903,0.36601843,0.36601843 +17-12-2019 19:00,7202647.84,0.336349632,0.336349632 +17-12-2019 20:00,7202359.61,0.286225794,0.286225794 +17-12-2019 21:00,7202072.212,0.186079988,0.186079988 +17-12-2019 22:00,7201785.647,0.088435032,0.088435032 +17-12-2019 23:00,7201499.914,0.03794842,0.03794842 +18-12-2019 0:00,7201215.013,0.015254182,0.015254182 +18-12-2019 1:00,7200930.945,0.004917561,0.004917561 +18-12-2019 2:00,7200647.711,0.002686304,0.002686304 +18-12-2019 3:00,7200365.309,0.003936895,0.003936895 +18-12-2019 4:00,7200083.741,0.020614895,0.020614895 +18-12-2019 5:00,7199803.006,0.115199469,0.115199469 +18-12-2019 6:00,7199523.104,0.256276829,0.256276829 +18-12-2019 7:00,7199244.036,0.352126465,0.352126465 +18-12-2019 8:00,7198965.802,0.438929469,0.438929469 +18-12-2019 9:00,7198688.402,0.396724519,0.396724519 +18-12-2019 10:00,7198411.836,0.385887243,0.385887243 +18-12-2019 11:00,7198136.105,0.51138121,0.51138121 +18-12-2019 12:00,7197861.207,0.453469561,0.453469561 +18-12-2019 13:00,7197587.144,0.354615228,0.354615228 +18-12-2019 14:00,7197313.916,0.400223148,0.400223148 +18-12-2019 15:00,7197041.523,0.410013252,0.410013252 +18-12-2019 16:00,7196769.965,0.389389735,0.389389735 +18-12-2019 17:00,7196499.241,0.414064891,0.414064891 +18-12-2019 18:00,7196229.353,0.392458074,0.392458074 +18-12-2019 19:00,7195960.301,0.3548289,0.3548289 +18-12-2019 20:00,7195692.083,0.29120409,0.29120409 +18-12-2019 21:00,7195424.702,0.188390534,0.188390534 +18-12-2019 22:00,7195158.156,0.08940683,0.08940683 +18-12-2019 23:00,7194892.446,0.038467253,0.038467253 +19-12-2019 0:00,7194627.572,0.015193093,0.015193093 +19-12-2019 1:00,7194363.535,0.004863458,0.004863458 +19-12-2019 2:00,7194100.334,0.002668451,0.002668451 +19-12-2019 3:00,7193837.969,0.003886763,0.003886763 +19-12-2019 4:00,7193576.44,0.020057057,0.020057057 +19-12-2019 5:00,7193315.749,0.109833579,0.109833579 +19-12-2019 6:00,7193055.894,0.243006438,0.243006438 +19-12-2019 7:00,7192796.877,0.331930992,0.331930992 +19-12-2019 8:00,7192538.696,0.419331421,0.419331421 +19-12-2019 9:00,7192281.353,0.366575985,0.366575985 +19-12-2019 10:00,7192024.847,0.366527909,0.366527909 +19-12-2019 11:00,7191769.179,0.483211778,0.483211778 +19-12-2019 12:00,7191514.348,0.431687614,0.431687614 +19-12-2019 13:00,7191260.355,0.31605282,0.31605282 +19-12-2019 14:00,7191007.2,0.351133522,0.351133522 +19-12-2019 15:00,7190754.883,0.355103716,0.355103716 +19-12-2019 16:00,7190503.405,0.332391603,0.332391603 +19-12-2019 17:00,7190252.764,0.357735728,0.357735728 +19-12-2019 18:00,7190002.962,0.339351322,0.339351322 +19-12-2019 19:00,7189753.999,0.305156175,0.305156175 +19-12-2019 20:00,7189505.874,0.249553902,0.249553902 +19-12-2019 21:00,7189258.588,0.163322296,0.163322296 +19-12-2019 22:00,7189012.141,0.077782832,0.077782832 +19-12-2019 23:00,7188766.533,0.033120808,0.033120808 +20-12-2019 0:00,7188521.765,0.013299217,0.013299217 +20-12-2019 1:00,7188277.835,0.003547624,0.003547624 +20-12-2019 2:00,7188034.746,0.001842969,0.001842969 +20-12-2019 3:00,7187792.495,0.002906791,0.002906791 +20-12-2019 4:00,7187551.085,0.012103534,0.012103534 +20-12-2019 5:00,7187310.514,0.076004411,0.076004411 +20-12-2019 6:00,7187070.783,0.173015698,0.173015698 +20-12-2019 7:00,7186831.892,0.247118007,0.247118007 +20-12-2019 8:00,7186593.842,0.334365405,0.334365405 +20-12-2019 9:00,7186356.632,0.316922351,0.316922351 +20-12-2019 10:00,7186120.262,0.337991643,0.337991643 +20-12-2019 11:00,7185884.733,0.452784359,0.452784359 +20-12-2019 12:00,7185650.044,0.414571964,0.414571964 +20-12-2019 13:00,7185416.197,0.289472449,0.289472449 +20-12-2019 14:00,7185183.19,0.333261316,0.333261316 +20-12-2019 15:00,7184951.024,0.343549188,0.343549188 +20-12-2019 16:00,7184719.699,0.32133405,0.32133405 +20-12-2019 17:00,7184489.216,0.346741702,0.346741702 +20-12-2019 18:00,7184259.574,0.335552856,0.335552856 +20-12-2019 19:00,7184030.774,0.307621069,0.307621069 +20-12-2019 20:00,7183802.815,0.254094674,0.254094674 +20-12-2019 21:00,7183575.698,0.164611164,0.164611164 +20-12-2019 22:00,7183349.423,0.077729425,0.077729425 +20-12-2019 23:00,7183123.99,0.033776544,0.033776544 +21-12-2019 0:00,7182899.399,0.013659065,0.013659065 +21-12-2019 1:00,7182675.651,0.003755589,0.003755589 +21-12-2019 2:00,7182452.744,0.001898733,0.001898733 +21-12-2019 3:00,7182230.68,0.00302565,0.00302565 +21-12-2019 4:00,7182009.459,0.012999278,0.012999278 +21-12-2019 5:00,7181789.08,0.085432143,0.085432143 +21-12-2019 6:00,7181569.544,0.200373983,0.200373983 +21-12-2019 7:00,7181350.851,0.288232582,0.288232582 +21-12-2019 8:00,7181133.001,0.378392308,0.378392308 +21-12-2019 9:00,7180915.994,0.344821789,0.344821789 +21-12-2019 10:00,7180699.831,0.362629536,0.362629536 +21-12-2019 11:00,7180484.51,0.489147437,0.489147437 +21-12-2019 12:00,7180270.034,0.440493627,0.440493627 +21-12-2019 13:00,7180056.4,0.321189475,0.321189475 +21-12-2019 14:00,7179843.611,0.365341631,0.365341631 +21-12-2019 15:00,7179631.665,0.366793338,0.366793338 +21-12-2019 16:00,7179420.563,0.344074269,0.344074269 +21-12-2019 17:00,7179210.305,0.370780499,0.370780499 +21-12-2019 18:00,7179000.892,0.353950305,0.353950305 +21-12-2019 19:00,7178792.322,0.325670368,0.325670368 +21-12-2019 20:00,7178584.597,0.26698927,0.26698927 +21-12-2019 21:00,7178377.716,0.173916316,0.173916316 +21-12-2019 22:00,7178171.68,0.082143255,0.082143255 +21-12-2019 23:00,7177966.489,0.035119865,0.035119865 +22-12-2019 0:00,7177762.142,0.014273874,0.014273874 +22-12-2019 1:00,7177558.64,0.004120409,0.004120409 +22-12-2019 2:00,7177355.983,0.002213344,0.002213344 +22-12-2019 3:00,7177154.171,0.003319951,0.003319951 +22-12-2019 4:00,7176953.205,0.015032137,0.015032137 +22-12-2019 5:00,7176753.083,0.092059292,0.092059292 +22-12-2019 6:00,7176553.807,0.209467954,0.209467954 +22-12-2019 7:00,7176355.377,0.293439582,0.293439582 +22-12-2019 8:00,7176157.792,0.383686052,0.383686052 +22-12-2019 9:00,7175961.053,0.347894887,0.347894887 +22-12-2019 10:00,7175765.159,0.364397243,0.364397243 +22-12-2019 11:00,7175570.112,0.491959606,0.491959606 +22-12-2019 12:00,7175375.91,0.441408262,0.441408262 +22-12-2019 13:00,7175182.555,0.322236979,0.322236979 +22-12-2019 14:00,7174990.046,0.363553661,0.363553661 +22-12-2019 15:00,7174798.383,0.368446968,0.368446968 +22-12-2019 16:00,7174607.566,0.347324589,0.347324589 +22-12-2019 17:00,7174417.596,0.370379492,0.370379492 +22-12-2019 18:00,7174228.473,0.354742631,0.354742631 +22-12-2019 19:00,7174040.196,0.323097539,0.323097539 +22-12-2019 20:00,7173852.766,0.266217307,0.266217307 +22-12-2019 21:00,7173666.183,0.173992983,0.173992983 +22-12-2019 22:00,7173480.446,0.082137336,0.082137336 +22-12-2019 23:00,7173295.557,0.0353174,0.0353174 +23-12-2019 0:00,7173111.515,0.013996838,0.013996838 +23-12-2019 1:00,7172928.321,0.00405091,0.00405091 +23-12-2019 2:00,7172745.973,0.002184249,0.002184249 +23-12-2019 3:00,7172564.473,0.003275457,0.003275457 +23-12-2019 4:00,7172383.821,0.014710041,0.014710041 +23-12-2019 5:00,7172204.016,0.089943353,0.089943353 +23-12-2019 6:00,7172025.059,0.205575737,0.205575737 +23-12-2019 7:00,7171846.95,0.292735668,0.292735668 +23-12-2019 8:00,7171669.689,0.383127515,0.383127515 +23-12-2019 9:00,7171493.276,0.348410564,0.348410564 +23-12-2019 10:00,7171317.71,0.366643217,0.366643217 +23-12-2019 11:00,7171142.993,0.491971107,0.491971107 +23-12-2019 12:00,7170969.125,0.443821728,0.443821728 +23-12-2019 13:00,7170796.104,0.306976468,0.306976468 +23-12-2019 14:00,7170623.932,0.353154686,0.353154686 +23-12-2019 15:00,7170452.609,0.370801841,0.370801841 +23-12-2019 16:00,7170282.134,0.343602891,0.343602891 +23-12-2019 17:00,7170112.508,0.372859954,0.372859954 +23-12-2019 18:00,7169943.731,0.361304371,0.361304371 +23-12-2019 19:00,7169775.803,0.32683169,0.32683169 +23-12-2019 20:00,7169608.723,0.268910006,0.268910006 +23-12-2019 21:00,7169442.493,0.173707094,0.173707094 +23-12-2019 22:00,7169277.112,0.083318302,0.083318302 +23-12-2019 23:00,7169112.58,0.036114679,0.036114679 +24-12-2019 0:00,7168948.897,0.014558416,0.014558416 +24-12-2019 1:00,7168786.064,0.004345287,0.004345287 +24-12-2019 2:00,7168624.08,0.002324689,0.002324689 +24-12-2019 3:00,7168462.946,0.003479072,0.003479072 +24-12-2019 4:00,7168302.661,0.016301515,0.016301515 +24-12-2019 5:00,7168143.227,0.097230617,0.097230617 +24-12-2019 6:00,7167984.642,0.221683079,0.221683079 +24-12-2019 7:00,7167826.907,0.312229781,0.312229781 +24-12-2019 8:00,7167670.021,0.408020925,0.408020925 +24-12-2019 9:00,7167513.986,0.363444015,0.363444015 +24-12-2019 10:00,7167358.802,0.371108633,0.371108633 +24-12-2019 11:00,7167204.467,0.493039137,0.493039137 +24-12-2019 12:00,7167050.982,0.438107758,0.438107758 +24-12-2019 13:00,7166898.348,0.323826819,0.323826819 +24-12-2019 14:00,7166746.565,0.362496584,0.362496584 +24-12-2019 15:00,7166595.632,0.366634383,0.366634383 +24-12-2019 16:00,7166445.549,0.339758959,0.339758959 +24-12-2019 17:00,7166296.318,0.362326382,0.362326382 +24-12-2019 18:00,7166147.937,0.34719899,0.34719899 +24-12-2019 19:00,7166000.407,0.314451118,0.314451118 +24-12-2019 20:00,7165853.727,0.25913007,0.25913007 +24-12-2019 21:00,7165707.899,0.168065659,0.168065659 +24-12-2019 22:00,7165562.922,0.079133215,0.079133215 +24-12-2019 23:00,7165418.796,0.033755076,0.033755076 +25-12-2019 0:00,7165275.521,0.013695689,0.013695689 +25-12-2019 1:00,7165133.098,0.003830879,0.003830879 +25-12-2019 2:00,7164991.525,0.002007032,0.002007032 +25-12-2019 3:00,7164850.805,0.003121968,0.003121968 +25-12-2019 4:00,7164710.936,0.01362886,0.01362886 +25-12-2019 5:00,7164571.918,0.085134592,0.085134592 +25-12-2019 6:00,7164433.752,0.197536224,0.197536224 +25-12-2019 7:00,7164296.438,0.283164228,0.283164228 +25-12-2019 8:00,7164159.975,0.373826193,0.373826193 +25-12-2019 9:00,7164024.365,0.302173552,0.302173552 +25-12-2019 10:00,7163889.606,0.295202402,0.295202402 +25-12-2019 11:00,7163755.699,0.399518171,0.399518171 +25-12-2019 12:00,7163622.645,0.403783615,0.403783615 +25-12-2019 13:00,7163490.442,0.308496007,0.308496007 +25-12-2019 14:00,7163359.092,0.358705931,0.358705931 +25-12-2019 15:00,7163228.594,0.369012741,0.369012741 +25-12-2019 16:00,7163098.948,0.349591566,0.349591566 +25-12-2019 17:00,7162970.155,0.375577193,0.375577193 +25-12-2019 18:00,7162842.214,0.36065926,0.36065926 +25-12-2019 19:00,7162715.126,0.327527544,0.327527544 +25-12-2019 20:00,7162588.891,0.269564441,0.269564441 +25-12-2019 21:00,7162463.508,0.175237714,0.175237714 +25-12-2019 22:00,7162338.978,0.084106028,0.084106028 +25-12-2019 23:00,7162215.3,0.035795801,0.035795801 +26-12-2019 0:00,7162092.476,0.014320515,0.014320515 +26-12-2019 1:00,7161970.504,0.004311432,0.004311432 +26-12-2019 2:00,7161849.385,0.002332765,0.002332765 +26-12-2019 3:00,7161729.12,0.003518724,0.003518724 +26-12-2019 4:00,7161609.707,0.016658364,0.016658364 +26-12-2019 5:00,7161491.148,0.100791206,0.100791206 +26-12-2019 6:00,7161373.442,0.229135037,0.229135037 +26-12-2019 7:00,7161256.589,0.322609961,0.322609961 +26-12-2019 8:00,7161140.59,0.41946668,0.41946668 +26-12-2019 9:00,7161025.444,0.374933617,0.374933617 +26-12-2019 10:00,7160911.152,0.393222869,0.393222869 +26-12-2019 11:00,7160797.713,0.52200598,0.52200598 +26-12-2019 12:00,7160685.127,0.469428136,0.469428136 +26-12-2019 13:00,7160573.396,0.353335222,0.353335222 +26-12-2019 14:00,7160462.518,0.396171003,0.396171003 +26-12-2019 15:00,7160352.493,0.400399673,0.400399673 +26-12-2019 16:00,7160243.323,0.374707794,0.374707794 +26-12-2019 17:00,7160135.006,0.400290169,0.400290169 +26-12-2019 18:00,7160027.544,0.386250799,0.386250799 +26-12-2019 19:00,7159920.935,0.350898047,0.350898047 +26-12-2019 20:00,7159815.181,0.288425989,0.288425989 +26-12-2019 21:00,7159710.28,0.188045741,0.188045741 +26-12-2019 22:00,7159606.234,0.089157297,0.089157297 +26-12-2019 23:00,7159503.042,0.038324486,0.038324486 +27-12-2019 0:00,7159400.704,0.015428298,0.015428298 +27-12-2019 1:00,7159299.22,0.004955978,0.004955978 +27-12-2019 2:00,7159198.591,0.002780288,0.002780288 +27-12-2019 3:00,7159098.816,0.004110914,0.004110914 +27-12-2019 4:00,7158999.896,0.021449374,0.021449374 +27-12-2019 5:00,7158901.83,0.120585963,0.120585963 +27-12-2019 6:00,7158804.619,0.27216288,0.27216288 +27-12-2019 7:00,7158708.263,0.382143288,0.382143288 +27-12-2019 8:00,7158612.761,0.476235609,0.476235609 +27-12-2019 9:00,7158518.114,0.344244598,0.344244598 +27-12-2019 10:00,7158424.321,0.317842074,0.317842074 +27-12-2019 11:00,7158331.383,0.434492643,0.434492643 +27-12-2019 12:00,7158239.301,0.359261157,0.359261157 +27-12-2019 13:00,7158148.073,0.222904644,0.222904644 +27-12-2019 14:00,7158057.7,0.378500988,0.378500988 +27-12-2019 15:00,7157968.182,0.422323517,0.422323517 +27-12-2019 16:00,7157879.519,0.412015925,0.412015925 +27-12-2019 17:00,7157791.711,0.450822048,0.450822048 +27-12-2019 18:00,7157704.759,0.436726153,0.436726153 +27-12-2019 19:00,7157618.661,0.400981875,0.400981875 +27-12-2019 20:00,7157533.419,0.330808118,0.330808118 +27-12-2019 21:00,7157449.032,0.216615725,0.216615725 +27-12-2019 22:00,7157365.501,0.106020611,0.106020611 +27-12-2019 23:00,7157282.824,0.045366487,0.045366487 +28-12-2019 0:00,7157201.004,0.019210682,0.019210682 +28-12-2019 1:00,7157120.038,0.006894797,0.006894797 +28-12-2019 2:00,7157039.928,0.004676425,0.004676425 +28-12-2019 3:00,7156960.674,0.009769604,0.009769604 +28-12-2019 4:00,7156882.275,0.043900242,0.043900242 +28-12-2019 5:00,7156804.732,0.198635211,0.198635211 +28-12-2019 6:00,7156728.044,0.41303445,0.41303445 +28-12-2019 7:00,7156652.212,0.551363446,0.551363446 +28-12-2019 8:00,7156577.236,0.663753547,0.663753547 +28-12-2019 9:00,7156503.116,0.545383288,0.545383288 +28-12-2019 10:00,7156429.851,0.512666436,0.512666436 +28-12-2019 11:00,7156357.443,0.623108956,0.623108956 +28-12-2019 12:00,7156285.89,0.556345954,0.556345954 +28-12-2019 13:00,7156215.193,0.452171243,0.452171243 +28-12-2019 14:00,7156145.352,0.485649072,0.485649072 +28-12-2019 15:00,7156076.367,0.497762908,0.497762908 +28-12-2019 16:00,7156008.238,0.46971978,0.46971978 +28-12-2019 17:00,7155940.965,0.498266189,0.498266189 +28-12-2019 18:00,7155874.548,0.479376032,0.479376032 +28-12-2019 19:00,7155808.987,0.439123691,0.439123691 +28-12-2019 20:00,7155744.283,0.36555627,0.36555627 +28-12-2019 21:00,7155680.434,0.237518151,0.237518151 +28-12-2019 22:00,7155617.442,0.113775473,0.113775473 +28-12-2019 23:00,7155555.306,0.050457323,0.050457323 +29-12-2019 0:00,7155494.027,0.021548196,0.021548196 +29-12-2019 1:00,7155433.603,0.008707307,0.008707307 +29-12-2019 2:00,7155374.036,0.007320099,0.007320099 +29-12-2019 3:00,7155315.326,0.015277189,0.015277189 +29-12-2019 4:00,7155257.472,0.057103705,0.057103705 +29-12-2019 5:00,7155200.474,0.233764623,0.233764623 +29-12-2019 6:00,7155144.333,0.473169251,0.473169251 +29-12-2019 7:00,7155089.048,0.613277739,0.613277739 +29-12-2019 8:00,7155034.62,0.725765378,0.725765378 +29-12-2019 9:00,7154981.048,0.594168931,0.594168931 +29-12-2019 10:00,7154928.333,0.550342319,0.550342319 +29-12-2019 11:00,7154876.475,0.659336185,0.659336185 +29-12-2019 12:00,7154825.473,0.585044095,0.585044095 +29-12-2019 13:00,7154775.328,0.481229758,0.481229758 +29-12-2019 14:00,7154726.039,0.51084289,0.51084289 +29-12-2019 15:00,7154677.608,0.518298553,0.518298553 +29-12-2019 16:00,7154630.033,0.488714389,0.488714389 +29-12-2019 17:00,7154583.315,0.516346677,0.516346677 +29-12-2019 18:00,7154537.453,0.494007049,0.494007049 +29-12-2019 19:00,7154492.449,0.447952333,0.447952333 +29-12-2019 20:00,7154448.301,0.369490648,0.369490648 +29-12-2019 21:00,7154405.01,0.240007141,0.240007141 +29-12-2019 22:00,7154362.576,0.114226706,0.114226706 +29-12-2019 23:00,7154320.999,0.050950165,0.050950165 +30-12-2019 0:00,7154280.279,0.021632943,0.021632943 +30-12-2019 1:00,7154240.415,0.009022134,0.009022134 +30-12-2019 2:00,7154201.409,0.007565375,0.007565375 +30-12-2019 3:00,7154163.26,0.015102117,0.015102117 +30-12-2019 4:00,7154125.967,0.055753807,0.055753807 +30-12-2019 5:00,7154089.532,0.225396793,0.225396793 +30-12-2019 6:00,7154053.954,0.45644119,0.45644119 +30-12-2019 7:00,7154019.233,0.590714244,0.590714244 +30-12-2019 8:00,7153985.369,0.695522047,0.695522047 +30-12-2019 9:00,7153952.362,0.484561511,0.484561511 +30-12-2019 10:00,7153920.212,0.398524808,0.398524808 +30-12-2019 11:00,7153888.919,0.553608641,0.553608641 +30-12-2019 12:00,7153858.484,0.427741585,0.427741585 +30-12-2019 13:00,7153828.905,0.293941674,0.293941674 +30-12-2019 14:00,7153800.184,0.444276709,0.444276709 +30-12-2019 15:00,7153772.32,0.488699362,0.488699362 +30-12-2019 16:00,7153745.313,0.466333191,0.466333191 +30-12-2019 17:00,7153719.163,0.490288817,0.490288817 +30-12-2019 18:00,7153693.871,0.473353498,0.473353498 +30-12-2019 19:00,7153669.436,0.433846364,0.433846364 +30-12-2019 20:00,7153645.858,0.359864363,0.359864363 +30-12-2019 21:00,7153623.137,0.233503595,0.233503595 +30-12-2019 22:00,7153601.274,0.111144296,0.111144296 +30-12-2019 23:00,7153580.268,0.048836507,0.048836507 +31-12-2019 0:00,7153560.119,0.020874907,0.020874907 +31-12-2019 1:00,7153540.828,0.008064308,0.008064308 +31-12-2019 2:00,7153522.394,0.006158415,0.006158415 +31-12-2019 3:00,7153504.817,0.011881561,0.011881561 +31-12-2019 4:00,7153488.098,0.049240688,0.049240688 +31-12-2019 5:00,7153472.236,0.204513764,0.204513764 +31-12-2019 6:00,7153457.231,0.428980208,0.428980208 +31-12-2019 7:00,7153443.084,0.57077863,0.57077863 +31-12-2019 8:00,7153429.794,0.689960507,0.689960507 +31-12-2019 9:00,7153417.361,0.556279556,0.556279556 +31-12-2019 10:00,7153405.786,0.50881851,0.50881851 +31-12-2019 11:00,7153395.068,0.615059566,0.615059566 +31-12-2019 12:00,7153385.208,0.543006493,0.543006493 +31-12-2019 13:00,7153376.205,0.439104044,0.439104044 +31-12-2019 14:00,7153368.059,0.46955531,0.46955531 +31-12-2019 15:00,7153360.771,0.509024189,0.509024189 +31-12-2019 16:00,7153354.34,0.495105355,0.495105355 +31-12-2019 17:00,7153348.767,0.509744904,0.509744904 +31-12-2019 18:00,7153344.051,0.484135954,0.484135954 +31-12-2019 19:00,7153340.193,0.437378359,0.437378359 +31-12-2019 20:00,7153337.192,0.360347986,0.360347986 +31-12-2019 21:00,7153335.048,0.234917204,0.234917204 +31-12-2019 22:00,7153333.762,0.114569593,0.114569593 \ No newline at end of file diff --git a/examples/heating_and_cooling/model/Heating and cooling network with return network.esdl b/examples/heating_and_cooling/model/Heating and cooling network with return network.esdl new file mode 100644 index 000000000..06fdedb28 --- /dev/null +++ b/examples/heating_and_cooling/model/Heating and cooling network with return network.esdl @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/heating_and_cooling/src/run_case.py b/examples/heating_and_cooling/src/run_case.py new file mode 100644 index 000000000..8b7be830b --- /dev/null +++ b/examples/heating_and_cooling/src/run_case.py @@ -0,0 +1,148 @@ +import logging +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization +from mesido.workflows.utils.adapt_profiles import ( + adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, +) + +logger = logging.getLogger("WarmingUP-MPC") +logger.setLevel(logging.INFO) + + +class HeatColdDemand(TestCase): + + def heating_cooling_case(self): + """ + In this case we have a network with an air-water hp, a WKO (warm and cold well) and both + hot and cold demand. The heat and cold demand was balanced such that the seasonal storage + gets utilized as intended. + """ + import os + import sys + + root_folder = os.path.join(Path(__file__).resolve().parent.parent.parent.parent, "tests") + sys.path.insert(1, root_folder) + + from models.wko.src.example import HeatProblem + from utils_tests import demand_matching_test, energy_conservation_test + + base_folder = Path(__file__).resolve().parent.parent + + # ------------------------------------------------------------------------------------------ + class HeatingCoolingProblem(HeatProblem): + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._number_of_years = 30.0 + + self.__indx_max_peak = None + self.__day_steps = 5 + + def energy_system_options(self): + options = super().energy_system_options() + options["neglect_pipe_heat_losses"] = False + return options + + def parameters(self, ensemble_member): + parameters = super().parameters(ensemble_member) + parameters["peak_day_index"] = self.__indx_max_peak + parameters["time_step_days"] = self.__day_steps + parameters["number_of_years"] = self._number_of_years + return parameters + + def read(self): + super().read() + + # Set the peak of the heating demand since the specified proifle is normalized to 1 + for d in self.energy_system_components["heat_demand"]: + target = self.get_timeseries(f"{d}.target_heat_demand") + for ii in range(len(target.values)): + target.values[ii] = target.values[ii] * 7.0e6 + + self.io.set_timeseries( + f"{d}.target_heat_demand", + self.io._DataStore__timeseries_datetimes, + target.values, + 0, + ) + # Cold demand specified profile is not normalized + # Cold demand value is reduced to get the correct balance between the heat and cold + # demand such that the seasonal storage is utilized + for d in self.energy_system_components["cold_demand"]: + target = self.get_timeseries(f"{d}.target_cold_demand") + for ii in range(len(target.values)): + target.values[ii] = target.values[ii] * 0.25 + + self.io.set_timeseries( + f"{d}.target_cold_demand", + self.io._DataStore__timeseries_datetimes, + target.values, + 0, + ) + + ( + self.__indx_max_peak, + self.__heat_demand_nominal, + self.__cold_demand_nominal, + ) = adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day( + self, + self.__day_steps, + ) + + def constraints(self, ensemble_member): + constraints = super().constraints(ensemble_member) + + # TODO: confirm if volume or heat balance is required over year. This will + # determine if cyclic contraint below is for stored_heat or stored_volume + # Add stored_heat cyclic constraint, this will also ensure that the total heat + # change in the wko is 0 over the timeline + # Note: + # - WKO in cooling mode: Hot well is being charged with heat and the cold well is + # being discharged + # - WKO in heating mode: Cold well is being charged and the hot well is being + # discharged. + # for a in self.energy_system_components.get("low_temperature_ates", []): + # stored_heat = self.state_vector(f"{a}.Stored_heat") + # constraints.append(((stored_heat[-1] - stored_heat[0]), 0.0, 0.0)) + # This code below might be needed + # Add stored_heat cyclic constraint, this will also ensure that the volume + # into the lower temp & out of the higher temp is the same as the volume + # out of the lower temp & into the higher temp over the timeline. + # Note: + # - Volume increase: Hot well is being charged and the cold well is being + # discharged. -> WKO in cooling mode + # - Volume decrease: Cold well is being charged and the hot well is being + # discharged. -> WKO in heating mode + for ates_id in self.energy_system_components.get("low_temperature_ates", []): + stored_volume = self.state_vector(f"{ates_id}.Stored_volume") + volume_usage = 0.0 + volume_usage = stored_volume[0] - stored_volume[-1] + constraints.append((volume_usage, 0.0, 0.0)) + + return constraints + + heat_problem = run_esdl_mesido_optimization( + HeatingCoolingProblem, + base_folder=base_folder, + esdl_file_name="Heating and cooling network with return network.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_4.csv", + ) + results = heat_problem.extract_results() + + # checks to make sure the run was valid + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + # TODO: check below can be added, once the heat_to_discharge_test have been updated such + # that a pipe can absorb heat + # heat_to_discharge_test(heat_problem, results) + + +if __name__ == "__main__": + test_cold_demand = HeatColdDemand() + test_cold_demand.heating_cooling_case() diff --git a/manual_run/testing_bugs/model/Demo_areas with return network.esdl b/manual_run/testing_bugs/model/Demo_areas with return network.esdl new file mode 100644 index 000000000..7bf80977f --- /dev/null +++ b/manual_run/testing_bugs/model/Demo_areas with return network.esdl @@ -0,0 +1,598 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 9079ac8ee..b35ce592d 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -231,6 +231,7 @@ def read(self): ( self.__indx_max_peak, self.__heat_demand_nominal, + _, ) = adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(self, self.__day_steps) logger.info("HeatProblem read") diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index cce803efe..684521b93 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -356,7 +356,7 @@ def read(self): """ super().read() - self.__indx_max_peak, _ = adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day( + self.__indx_max_peak, _, _ = adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day( self, self.__day_steps ) logger.info("HeatProblem read") diff --git a/src/mesido/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py index c9055c9a7..5ac1efb12 100644 --- a/src/mesido/workflows/utils/adapt_profiles.py +++ b/src/mesido/workflows/utils/adapt_profiles.py @@ -73,12 +73,15 @@ def adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(problem, prob Return the following: - problem_indx_max_peak: index of the maximum of the peak values - heat_demand_nominal: max demand value found for a specific heating demand + - cold_demand_nominal: max cold demand value found for a specific cold demand """ demands = problem.energy_system_components.get("heat_demand", []) new_datastore = DataStore(problem) new_datastore.reference_datetime = problem.io.datetimes[0] + cold_demands = problem.energy_system_components.get("cold_demand", []) + for ensemble_member in range(problem.ensemble_size): parameters = problem.parameters(ensemble_member) total_demand = None @@ -134,6 +137,38 @@ def adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(problem, prob new_date_times=new_date_times, problem=problem, ) + # ------------------------------------------------------------------------------------------ + # cooling demands + total_cold_demand = None + cold_demand_nominal = dict() + + for demand in cold_demands: + try: + cold_demand_values = problem.get_timeseries( + f"{demand}.target_cold_demand", ensemble_member + ).values + except KeyError: + continue + if total_cold_demand is None: + total_cold_demand = cold_demand_values + else: + total_cold_demand += cold_demand_values + cold_demand_nominal[f"{demand}.Cold_demand"] = max(cold_demand_values) + cold_demand_nominal[f"{demand}.Heat_flow"] = max(cold_demand_values) + + # TODO: find the peak cooling day and adapt to hourly + + for demand in cold_demands: + var_name = f"{demand}.target_cold_demand" + set_data_with_averages_and_peak_day( + datastore=new_datastore, + variable_name=var_name, + ensemble_member=ensemble_member, + new_date_times=new_date_times, + problem=problem, + ) + # end cooling demands + # ------------------------------------------------------------------------------------------ # TODO: this has not been tested but is required if a production profile is included # in the data @@ -178,4 +213,4 @@ def adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(problem, prob logger.info("Profile data has been adapted to a common format") - return problem_indx_max_peak, heat_demand_nominal + return problem_indx_max_peak, heat_demand_nominal, cold_demand_nominal diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 6fa393883..646dec184 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -1,3 +1,4 @@ +import logging from pathlib import Path from unittest import TestCase @@ -11,6 +12,9 @@ from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test +logger = logging.getLogger("WarmingUP-MPC") +logger.setLevel(logging.INFO) + class TestColdDemand(TestCase): @@ -255,3 +259,4 @@ def energy_system_options(self): test_cold_demand.test_insufficient_capacity() test_cold_demand.test_cold_demand() test_cold_demand.test_wko() + test_cold_demand.test_airco() From 3a882337bd809e54d3fa5dece734e01bc53615cd Mon Sep 17 00:00:00 2001 From: JimRojer-TNO <137045207+jimrojerTNO@users.noreply.github.com> Date: Tue, 15 Oct 2024 10:05:07 +0200 Subject: [PATCH 225/376] 152 limit connected pipe pipe classes (#155) - Limit the available pipe classes connected to heat/gas demand/producers - Add demands and sources to the topology object to have easy access to the connected pipes/cables later on - Bug fix: machine error/rounding with updating lower bound values in the grow_workflow after stage 1 --- CHANGELOG.md | 3 + examples/PoCTutorial/model/PoC Tutorial.esdl | 10 +- src/mesido/component_type_mixin.py | 127 ++++++++++++++- src/mesido/esdl/esdl_additional_vars_mixin.py | 153 ++++++++++++++++++ src/mesido/topology.py | 42 ++++- src/mesido/workflows/grow_workflow.py | 11 +- tests/test_end_scenario_sizing.py | 5 + tests/test_updated_esdl_post_process.py | 8 +- tests/test_updated_esdl_pre_process.py | 24 ++- 9 files changed, 362 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f19a4e160..d76bdef2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # [Unreleased] - 2024-10-07 ## Added +- Limit the available pipe classes connetced to heat/gas demand/producers +- Add demands and sources to the topology object to have easy access to the connected pipes/cables later on - Heating and cooling example case added (2 heating demands, 1 cold demand, hot and cold producer, WKO as seasonal storage) - Gas physics documentation - Gas & electricity 1st version of physics documentation @@ -17,6 +19,7 @@ - Bugfix: Fix on nominals in electricity cables and gas pipes. Fix on nominals for nodes with logical links. ## Fixed +- Bug fix: machine error/rounding with updating lower bound values in the grow_workflow after stage 1 - documentation: heat physics tank storage - bug fix in grow_workflow (heat networks), changed minimum velocity from 0 to default value - addition to tests checking the minimum velocity setting in a workflow diff --git a/examples/PoCTutorial/model/PoC Tutorial.esdl b/examples/PoCTutorial/model/PoC Tutorial.esdl index 29d91d66f..0b6215465 100644 --- a/examples/PoCTutorial/model/PoC Tutorial.esdl +++ b/examples/PoCTutorial/model/PoC Tutorial.esdl @@ -33,7 +33,7 @@ - + @@ -120,7 +120,7 @@ - + @@ -180,7 +180,7 @@ - + @@ -206,7 +206,7 @@ - + @@ -287,7 +287,7 @@ - + diff --git a/src/mesido/component_type_mixin.py b/src/mesido/component_type_mixin.py index 8c0d2a3ec..74ef5bda8 100644 --- a/src/mesido/component_type_mixin.py +++ b/src/mesido/component_type_mixin.py @@ -3,6 +3,7 @@ from mesido.base_component_type_mixin import BaseComponentTypeMixin from mesido.heat_network_common import NodeConnectionDirection +from mesido.network_common import NetworkSettings from mesido.topology import Topology import numpy as np @@ -36,6 +37,16 @@ def pre(self): gas_nodes = components.get("gas_node", []) buffers = components.get("heat_buffer", []) atess = [*components.get("ates", []), *components.get("low_temperature_ates", [])] + demands = [ + *components.get("heat_demand", []), + *components.get("electricity_demand", []), + *components.get("gas_demand", []), + ] + sources = [ + *components.get("heat_source", []), + *components.get("electricity_source", []), + *components.get("gas_source", []), + ] pipes = components.get("heat_pipe", []) # An energy system should have at least one asset. @@ -50,7 +61,7 @@ def pre(self): bus_connections = {} gas_node_connections = {} - heat_network_model_type = "Heat" + heat_network_model_type = NetworkSettings.NETWORK_TYPE_HEAT # Note that a pipe series can include both hot and cold pipes for # QTH models. It is only about figuring out which pipes are @@ -59,7 +70,7 @@ def pre(self): # series, as the cold part is zero milp by construction. if heat_network_model_type == "QTH": alias_relation = self.alias_relation - elif heat_network_model_type == "Heat": + elif heat_network_model_type == NetworkSettings.NETWORK_TYPE_HEAT: # There is no proper AliasRelation yet (because there is milp loss in pipes). # So we build one, as that is the easiest way to figure out which pipes are # connected to each other in series. We do this by making a temporary/shadow @@ -116,7 +127,11 @@ def pre(self): for i in range(n_connections): if n in nodes: cur_port = f"{n}.{heat_network_model_type}Conn[{i + 1}]" - prop = "T" if heat_network_model_type == "QTH" else "Heat" + prop = ( + "T" + if heat_network_model_type == "QTH" + else NetworkSettings.NETWORK_TYPE_HEAT + ) prop_h = "H" in_suffix = ".QTHIn.T" if heat_network_model_type == "QTH" else ".HeatIn.Heat" out_suffix = ( @@ -242,7 +257,9 @@ def pre(self): for k in ["In", "Out"]: b_conn = f"{b}.{heat_network_model_type}{k}" - prop = "T" if heat_network_model_type == "QTH" else "Heat" + prop = ( + "T" if heat_network_model_type == "QTH" else NetworkSettings.NETWORK_TYPE_HEAT + ) aliases = [ x for x in self.alias_relation.aliases(f"{b_conn}.{prop}") @@ -287,7 +304,9 @@ def pre(self): for k in ["In", "Out"]: a_conn = f"{a}.{heat_network_model_type}{k}" - prop = "T" if heat_network_model_type == "QTH" else "Heat" + prop = ( + "T" if heat_network_model_type == "QTH" else NetworkSettings.NETWORK_TYPE_HEAT + ) aliases = [ x for x in self.alias_relation.aliases(f"{a_conn}.{prop}") @@ -325,6 +344,102 @@ def pre(self): ates_connections[a] = tuple(ates_connections[a]) + demand_connections = {} + + for a in demands: + if a in components.get("heat_demand", []): + network_type = NetworkSettings.NETWORK_TYPE_HEAT + prop = NetworkSettings.NETWORK_TYPE_HEAT + elif a in components.get("electricity_demand", []): + network_type = "Electricity" + prop = "Power" + elif a in components.get("gas_demand", []): + network_type = NetworkSettings.NETWORK_TYPE_GAS + prop = "H" + else: + logger.error(f"{a} cannot be modelled with heat, gas or electricity") + a_conn = f"{a}.{network_type}In" + aliases = [ + x + for x in self.alias_relation.aliases(f"{a_conn}.{prop}") + if not x.startswith(a) and x.endswith(f".{prop}") + ] + + if len(aliases) > 1: + raise Exception(f"More than one connection to {a_conn}") + elif len(aliases) == 0: + # the connection was a logical link to a node + continue + + in_suffix = f".{network_type}In.{prop}" + out_suffix = f".{network_type}Out.{prop}" + + if aliases[0].endswith(out_suffix): + asset_w_orientation = ( + aliases[0][: -len(out_suffix)], + NodeConnectionDirection.IN, + ) + else: + asset_w_orientation = ( + aliases[0][: -len(in_suffix)], + NodeConnectionDirection.OUT, + ) + + if asset_w_orientation[0] in [ + *components.get("heat_pipe", []), + *components.get("gas_pipe", []), + *components.get("electricity_cable", []), + ]: + demand_connections[a] = asset_w_orientation + + source_connections = {} + + for a in sources: + if a in components.get("heat_source", []): + network_type = NetworkSettings.NETWORK_TYPE_HEAT + prop = NetworkSettings.NETWORK_TYPE_HEAT + elif a in components.get("electricity_source", []): + network_type = "Electricity" + prop = "Power" + elif a in components.get("gas_source", []): + network_type = NetworkSettings.NETWORK_TYPE_GAS + prop = "H" + else: + logger.error(f"{a} cannot be modelled with heat, gas or electricity") + a_conn = f"{a}.{network_type}Out" + aliases = [ + x + for x in self.alias_relation.aliases(f"{a_conn}.{prop}") + if not x.startswith(a) and x.endswith(f".{prop}") + ] + + if len(aliases) > 1: + raise Exception(f"More than one connection to {a_conn}") + elif len(aliases) == 0: + # the connection was a logical link to a node + continue + + in_suffix = f".{network_type}In.{prop}" + out_suffix = f".{network_type}Out.{prop}" + + if aliases[0].endswith(out_suffix): + asset_w_orientation = ( + aliases[0][: -len(out_suffix)], + NodeConnectionDirection.IN, + ) + else: + asset_w_orientation = ( + aliases[0][: -len(in_suffix)], + NodeConnectionDirection.OUT, + ) + + if asset_w_orientation[0] in [ + *components.get("heat_pipe", []), + *components.get("gas_pipe", []), + *components.get("electricity_cable", []), + ]: + source_connections[a] = asset_w_orientation + self.__topology = Topology( node_connections, gas_node_connections, @@ -332,6 +447,8 @@ def pre(self): buffer_connections, ates_connections, bus_connections, + demand_connections, + source_connections, ) super().pre() diff --git a/src/mesido/esdl/esdl_additional_vars_mixin.py b/src/mesido/esdl/esdl_additional_vars_mixin.py index 293b775e4..80993c253 100644 --- a/src/mesido/esdl/esdl_additional_vars_mixin.py +++ b/src/mesido/esdl/esdl_additional_vars_mixin.py @@ -1,8 +1,10 @@ import logging +from typing import List import esdl from mesido.network_common import NetworkSettings +from mesido.pipe_class import PipeClass import numpy as np @@ -16,8 +18,148 @@ class ESDLAdditionalVarsMixin(CollocatedIntegratedOptimizationProblem): __temperature_options = {} + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + def read(self): super().read() + parameters = self.parameters(0) + bounds = self.bounds() + + # ------------------------------------------------------------------------------------------ + # Limit available pipe classes + # TODO: cater for varying temperature when limiting pipe classes below + # Here we do a check between the available pipe classes and the demand profiles. This is to + # ensure that we don't have unneeded large amount of available pipe classes for pipes + # connected to smaller demands. + # TODO: add the same for electricity ones we have proper support for that in the ESDLMixin + if len(self.temperature_carriers().items()) == 0: + for asset, ( + connected_asset, + _orientation, + ) in self.energy_system_topology.demands.items(): + # TODO: add test case for gas once optional gas pipes are used + if asset in self.energy_system_components.get("gas_demand", []): + try: + max_demand_g_s = min( + max(self.get_timeseries(f"{asset}.target_gas_demand").values), + bounds[f"{asset}.Gas_demand_mass_flow"][1], + ) + except KeyError: + max_demand_g_s = bounds[f"{asset}.Gas_demand_mass_flow"][1] + is_there_always_mass_flow = False + try: + if min(self.get_timeseries(f"{asset}.target_gas_demand").values) > 0.0: + is_there_always_mass_flow = True + except KeyError: + is_there_always_mass_flow = False + + new_pcs = [] + found_pc_large_enough = False + for pc in self.gas_pipe_classes(connected_asset): + if not found_pc_large_enough: + new_pcs.append(pc) + if ( + new_pcs[-1].maximum_discharge + * self.parameters(0)[f"{connected_asset}.rho"] + >= max_demand_g_s + ): # m3/s * g/m3 = g/s + found_pc_large_enough = True + + self.remove_dn0(new_pcs, is_there_always_mass_flow) + self._override_gas_pipe_classes[connected_asset] = new_pcs + + if asset in self.energy_system_components.get("heat_demand", []): + try: + max_demand = min( + max(self.get_timeseries(f"{asset}.target_heat_demand").values), + bounds[f"{asset}.Heat_demand"][1], + ) + except KeyError: + max_demand = bounds[f"{asset}.Heat_demand"][1] + is_there_always_mass_flow = False + try: + if min(self.get_timeseries(f"{asset}.target_heat_demand").values) > 0.0: + is_there_always_mass_flow = True + except KeyError: + is_there_always_mass_flow = False + + max_demand *= 1.3 # 30% added for expected worst case heat losses + + new_pcs = [] + found_pc_large_enough = False + for pc in self.pipe_classes(connected_asset): + if not found_pc_large_enough: + new_pcs.append(pc) + if ( + new_pcs[-1].maximum_discharge + * parameters[f"{asset}.cp"] + * parameters[f"{asset}.rho"] + * (parameters[f"{asset}.T_supply"] - parameters[f"{asset}.T_return"]) + ) >= max_demand: + found_pc_large_enough = True + + self.remove_dn0(new_pcs, is_there_always_mass_flow) + self._override_pipe_classes[connected_asset] = new_pcs + + if not self.is_hot_pipe(self.hot_to_cold_pipe(connected_asset)): + self._override_pipe_classes[self.hot_to_cold_pipe(connected_asset)] = ( + new_pcs + ) + + # Here we do the same for sources as for the sources. + for asset, ( + connected_asset, + _orientation, + ) in self.energy_system_topology.sources.items(): + if asset in self.energy_system_components.get("gas_source", []): + try: + max_prod_g_s = min( + max(self.get_timeseries(f"{asset}.maximum_gas_source").values), + bounds[f"{asset}.Gas_source_mass_flow"][1], + ) + except KeyError: + max_prod_g_s = bounds[f"{asset}.Gas_source_mass_flow"][1] + new_pcs = [] + found_pc_large_enough = False + for pc in self.gas_pipe_classes(connected_asset): + if not found_pc_large_enough: + new_pcs.append(pc) + if ( + new_pcs[-1].maximum_discharge + * self.parameters(0)[f"{connected_asset}.rho"] + >= max_prod_g_s + ): + found_pc_large_enough = True + self._override_gas_pipe_classes[connected_asset] = new_pcs + if asset in self.energy_system_components.get("heat_source", []): + try: + max_prod = min( + max(self.get_timeseries(f"{asset}.maximum_heat_source").values), + bounds[f"{asset}.Heat_source"][1], + ) + except KeyError: + max_prod = bounds[f"{asset}.Heat_source"][1] + new_pcs = [] + found_pc_large_enough = False + for pc in self.pipe_classes(connected_asset): + if not found_pc_large_enough: + new_pcs.append(pc) + if ( + new_pcs[-1].maximum_discharge + * parameters[f"{asset}.cp"] + * parameters[f"{asset}.rho"] + * (parameters[f"{asset}.T_supply"] - parameters[f"{asset}.T_return"]) + ) >= max_prod: + found_pc_large_enough = True + self._override_pipe_classes[connected_asset] = new_pcs + if not self.is_hot_pipe(self.hot_to_cold_pipe(connected_asset)): + self._override_pipe_classes[self.hot_to_cold_pipe(connected_asset)] = ( + new_pcs + ) + else: + logger.warning("Limiting pipe classes do not cater for varying temperature yet") + # ------------------------------------------------------------------------------------------ for asset in [ *self.energy_system_components.get("heat_source", []), @@ -49,9 +191,20 @@ def read(self): self._timed_setpoints.update(asset_setpoints) + def remove_dn0(self, new_pcs: List[PipeClass], is_there_always_mass_flow: bool) -> None: + """Remove pipe DN0 from the available pipe list, if there is always flow required""" + # TODO: Bug to be resolved. Currently the solution is infeasible when only + # 1 pipe class is available, but it should be able to working. + # Then remove the need for having 2 pipes classes available in new_pcs. + if is_there_always_mass_flow and len(new_pcs) > 2 and new_pcs[0].maximum_discharge == 0.0: + new_pcs.remove(new_pcs[0]) + def pipe_classes(self, p): return self._override_pipe_classes.get(p, []) + def gas_pipe_classes(self, p): + return self._override_gas_pipe_classes.get(p, []) + def esdl_heat_model_options(self): """Overwrites the fraction of the minimum tank volume""" options = super().esdl_heat_model_options() diff --git a/src/mesido/topology.py b/src/mesido/topology.py index 73584d07a..2b6fecb3a 100644 --- a/src/mesido/topology.py +++ b/src/mesido/topology.py @@ -5,7 +5,15 @@ class Topology: def __init__( - self, nodes=None, gas_nodes=None, pipe_series=None, buffers=None, atess=None, busses=None + self, + nodes=None, + gas_nodes=None, + pipe_series=None, + buffers=None, + atess=None, + busses=None, + demands=None, + sources=None, ): if nodes is not None: self._nodes = nodes @@ -19,6 +27,10 @@ def __init__( self._busses = busses if atess is not None: self._atess = atess + if demands is not None: + self._demands = demands + if sources is not None: + self._sources = sources @property def nodes(self) -> Dict[str, Dict[int, Tuple[str, NodeConnectionDirection]]]: @@ -97,3 +109,31 @@ def ates( return self._atess except AttributeError: raise NotImplementedError + + @property + def demands( + self, + ) -> Dict[str, Tuple[str, NodeConnectionDirection]]: + """ + Maps an demand name to a dictionary of its in/out connections. Written out using + descriptive variable names the return type would be: + Dict[demand_name, Tuple[pipe/cable, orientation] + """ + try: + return self._demands + except AttributeError: + raise NotImplementedError + + @property + def sources( + self, + ) -> Dict[str, Tuple[str, NodeConnectionDirection]]: + """ + Maps a source name to a dictionary of its in/out connections. Written out using + descriptive variable names the return type would be: + Dict[source_name, Tuple[pipe/cable, orientation] + """ + try: + return self._sources + except AttributeError: + raise NotImplementedError diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index b35ce592d..fd3eee9b9 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -681,10 +681,15 @@ def run_end_scenario_sizing( *solution.energy_system_components.get("heat_buffer", []), ]: var_name = f"{asset}_aggregation_count" - lb = results[var_name][0] + round_lb = round(results[var_name][0]) ub = solution.bounds()[var_name][1] - if round(lb) >= 1: - boolean_bounds[var_name] = (lb, ub) + if round_lb >= 1 and (round_lb <= ub): + boolean_bounds[var_name] = (round_lb, ub) + elif round_lb > ub: + logger.error( + f"{var_name}: The lower bound value {round_lb} > the upper bound {ub} value" + ) + exit(1) t = solution.times() from rtctools.optimization.timeseries import Timeseries diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 2a7447eba..2d4c24178 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -46,6 +46,7 @@ def test_end_scenario_sizing(self): Checks: - demand matching + - that the available pipe classes were adapted - minimum velocity setting - Cyclic behaviour for ATES - That buffer tank is only used on peak day @@ -67,6 +68,10 @@ def test_end_scenario_sizing(self): # Check whehter the heat demand is matched demand_matching_test(self.solution, self.results) + # Check that indeed the available pipe classes were adapted based on expected flow + # Pipe connected to a demand + assert self.solution.pipe_classes("Pipe2")[0].name == "DN150" # initially DN->None + assert self.solution.pipe_classes("Pipe2")[-1].name == "DN250" # initially DN450 # Check the minimum velocity setting==default value. Keep the default value hard-coded to # prevent future coding bugs np.testing.assert_equal(1.0e-4, self.solution.heat_network_settings["minimum_velocity"]) diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 80562681a..31f3f0ace 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -258,10 +258,14 @@ def test_updated_esdl(self): # Check pipe diameter if len(fnmatch.filter([energy_system.instance[0].area.asset[ii].id], "Pipe*")) == 1: - if asset_name in ["Pipe1", "Pipe1_cold_pipe", "Pipe4", "Pipe4_ret"]: + if asset_name in ["Pipe1", "Pipe1_ret"]: np.testing.assert_array_equal( - energy_system.instance[0].area.asset[ii].diameter.name, "DN150" + energy_system.instance[0].area.asset[ii].diameter.name, "DN250" ) # original pipe DN400 being sized + elif asset_name in ["Pipe4", "Pipe4_ret"]: + np.testing.assert_array_equal( + energy_system.instance[0].area.asset[ii].diameter.name, "DN200" + ) # original pipe DN900 being sized elif asset_name not in ["Pipe5", "Pipe5_ret"]: np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].diameter.name, "DN400" diff --git a/tests/test_updated_esdl_pre_process.py b/tests/test_updated_esdl_pre_process.py index 60693aa61..23e619029 100644 --- a/tests/test_updated_esdl_pre_process.py +++ b/tests/test_updated_esdl_pre_process.py @@ -24,6 +24,7 @@ def test_updated_esdl(self): - Check that the unique profile identification in profile_parser assigns the correct profile - Check that the correct mulitpler value has been used + - Test limiting the pipe classes for a pipe connected to a heat demand """ @@ -68,7 +69,7 @@ def test_updated_esdl(self): # demand profiles are the adapted profiles (peak-hourly, rest-5daily). Therefore the # expected max and average hard-coded values are compared to the problem values. np.testing.assert_allclose( - 1207800, + 8857200.0, max(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values), # demand4_MW, multiplier 0.75, same demand profile as demand HeatingDemand_08fd, but # with a different multiplier. So one would expect that this value differs from @@ -83,7 +84,7 @@ def test_updated_esdl(self): max(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values), ) np.testing.assert_allclose( - 475130.185, # demand4_MW, multiplier 0.75 + 3484288.0247, # demand4_MW, multiplier 5.5 np.average(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values), ) np.testing.assert_allclose( @@ -98,16 +99,29 @@ def test_updated_esdl(self): # Check that the correct multiplier value was used # Compare 2 max values where the same profile was used but with different multiplier values # HeatingDemand_08fd: multiplier 0.5 - # HeatingDemand_b0ff: multplier 0.75 + # HeatingDemand_b0ff: multplier 5.5 np.testing.assert_allclose( max(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values) / 0.5, - max(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values) / 0.75, + max(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values) / 5.5, ) np.testing.assert_allclose( np.average(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values) / 0.5, np.average(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values) - / 0.75, + / 5.5, + ) + + # Test limiting the pipe classes for a pipe connected to a heat demand/producer + # Pipe connected to a demand + # Check that Pipe4 has 2 of pipe classes available, and that DN0 has not been + # included in the list of avialbel pipe classes. Pipe4 started as an optional pipe with + # DN900 as the starting point for the upper limit. + for key in problem._heat_pipe_topo_pipe_class_map["Pipe4"].keys(): + np.testing.assert_equal(key.name in ["DN150", "DN200"], True) + # Pipe connected to a producer + # initially DN900 + np.testing.assert_equal( + [*problem._heat_pipe_topo_pipe_class_map["Pipe1"].keys()][-1].name == "DN400", True ) From 65a30a39a167cf8b9e8f78f6e132e4368d2f5c32 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 4 Nov 2024 09:04:43 +0100 Subject: [PATCH 226/376] Reduce frequency of pipeline runs (#190) Pipeline will only run if a pull request is opened, reopened, marked "ready for review" and if synchronized(pushed) when not marked as draft. --- .github/workflows/ci.yml | 13 ++++++++++++- CHANGELOG.md | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a157f81aa..3a409b298 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,14 +1,20 @@ name: PyPi release run-name: CI pipeline on: - push: + pull_request: branches: - '*' + types: + - opened + - reopened + - synchronize + - ready_for_review jobs: style: name: Check style runs-on: ubuntu-latest + if: ${{ !github.event.pull_request.draft }} env: TOXENV: flake8,black steps: @@ -27,6 +33,7 @@ jobs: build: name: Check build runs-on: ubuntu-latest + if: ${{ !github.event.pull_request.draft }} steps: - uses: actions/checkout@v3 @@ -44,6 +51,7 @@ jobs: test_main: name: Test main runs-on: ubuntu-latest + if: ${{ !github.event.pull_request.draft }} env: TOXENV: py38 steps: @@ -63,6 +71,7 @@ jobs: test_pre_processing: name: Test pre-processing runs-on: ubuntu-latest + if: ${{ !github.event.pull_request.draft }} env: TOXENV: py38 steps: @@ -98,6 +107,7 @@ jobs: name: Test post-processing needs: test_pre_processing runs-on: ubuntu-latest + if: ${{ !github.event.pull_request.draft }} env: TOXENV: py38 steps: @@ -127,6 +137,7 @@ jobs: documentation: name: Generate documentation runs-on: ubuntu-latest + if: ${{ !github.event.pull_request.draft }} steps: - uses: actions/checkout@v3 diff --git a/CHANGELOG.md b/CHANGELOG.md index d76bdef2e..65bb60336 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ - Bugfix: No longer required to provide a power at the heating demands when a profile has been added. - Bugfix: Scaling fix on ATES temperature variable when temperature modelling not used. - Bugfix: Fix on nominals in electricity cables and gas pipes. Fix on nominals for nodes with logical links. +- Pipeline is only run when pull request is ready for review and synchronized or when opened. ## Fixed - Bug fix: machine error/rounding with updating lower bound values in the grow_workflow after stage 1 From da0ed5dcc4cd5b7460d292b3d226ecaceb8200be Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Mon, 4 Nov 2024 10:36:22 +0100 Subject: [PATCH 227/376] bug fix when setting nominals (#192) Bug fix: setting nominals while using logical links when all values are 1.0 --- CHANGELOG.md | 1 + src/mesido/electricity_physics_mixin.py | 6 +++++- src/mesido/gas_physics_mixin.py | 2 ++ src/mesido/heat_physics_mixin.py | 2 ++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 65bb60336..cab96e262 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - Pipeline is only run when pull request is ready for review and synchronized or when opened. ## Fixed +- Bug fix: setting nominals while using logical links when all values are 1.0 - Bug fix: machine error/rounding with updating lower bound values in the grow_workflow after stage 1 - documentation: heat physics tank storage - bug fix in grow_workflow (heat networks), changed minimum velocity from 0 to default value diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 308c8a30f..14c16347b 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -198,7 +198,11 @@ def pre(self): # asset connected to it. self.__bus_variable_nominal[ f"{node}.ElectricityConn[{i + 1}].{var}" - ] = np.median([x for x in nominals[var] if x != 1]) + ] = ( + np.median([x for x in nominals[var] if x != 1]) + if np.sum(nominals[var]) != len(nominals[var]) + else 1.0 + ) @property def extra_variables(self): diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index 0808975cf..e8748aec4 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -304,6 +304,8 @@ def _get_min_bound(bound): # asset connected to it. self.__gas_node_variable_nominal[f"{node}.GasConn[{i + 1}].{var}"] = ( np.median([x for x in nominals[var] if x != 1]) + if np.sum(nominals[var]) != len(nominals[var]) + else 1.0 ) def energy_system_options(self): diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 72ae814e3..5c66d3e4e 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -577,6 +577,8 @@ def _get_min_bound(bound): # asset connected to it. self.__heat_node_variable_nominal[f"{node}.HeatConn[{i + 1}].{var}"] = ( np.median([x for x in nominals[var] if x != 1]) + if np.sum(nominals[var]) != len(nominals[var]) + else 1.0 ) def energy_system_options(self): From 29c85f51dca807f73d1e62294b162b3adeb15ffd Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Mon, 4 Nov 2024 12:47:18 +0100 Subject: [PATCH 228/376] 186 order of ports e boiler (#193) The existing code expected the inports to be in a specific order which is not always the case as learned in the KIP gas work --- CHANGELOG.md | 1 + src/mesido/esdl/asset_to_component_base.py | 13 +++++++------ tests/test_elec_boiler.py | 6 ++++++ 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cab96e262..65665919d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - Pipeline is only run when pull request is ready for review and synchronized or when opened. ## Fixed +- Bug fix: e-boiler expected order of inports while setting nominal values - Bug fix: setting nominals while using logical links when all values are 1.0 - Bug fix: machine error/rounding with updating lower bound values in the grow_workflow after stage 1 - documentation: heat physics tank storage diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 183e9b740..8c29cb431 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -743,18 +743,19 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: q_nominals = {} try: for port in asset.in_ports: - connected_port = asset.in_ports[0].connectedTo[0] + connected_port = port.connectedTo[0] if isinstance(port.carrier, esdl.GasCommodity): q_nominals["Q_nominal_gas"] = self._port_to_q_nominal[connected_port] self._port_to_q_nominal[port] = q_nominals["Q_nominal_gas"] elif isinstance(port.carrier, esdl.HeatCommodity): q_nominals["Q_nominal"] = self._port_to_q_nominal[connected_port] self._port_to_q_nominal[port] = q_nominals["Q_nominal"] - else: - logger.error( - f"{asset.name} should have at least gas or heat specified on" - f"one of the in ports" - ) + if not q_nominals: + logger.error( + f"{asset.name} should have at least gas or heat specified on" + f"one of the in ports" + ) + exit(1) except KeyError: if isinstance(asset.out_ports[0].carrier, esdl.GasCommodity): connected_port = asset.out_ports[0].connectedTo[0] diff --git a/tests/test_elec_boiler.py b/tests/test_elec_boiler.py index 9db8d6f2e..8ca0005bd 100644 --- a/tests/test_elec_boiler.py +++ b/tests/test_elec_boiler.py @@ -94,3 +94,9 @@ def test_air_water_hp_elec(self): parameters["HeatPump_d8fd.cop"] * results["HeatPump_d8fd.Power_consumed"], results["HeatPump_d8fd.Heat_source"] + 1.0e-6, ) + + +if __name__ == "__main__": + TestElecBoiler = TestElecBoiler() + TestElecBoiler.test_elec_boiler() + TestElecBoiler.test_air_water_hp_elec() From c9acb8d19915a71248bbd9aff9afb92408ec8c03 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 5 Nov 2024 11:27:55 +0100 Subject: [PATCH 229/376] Run pipeline when merged to main (#196) Also run pipeline when merged to main --- .github/workflows/ci.yml | 3 +++ CHANGELOG.md | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3a409b298..b90f3aa1f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,6 +9,9 @@ on: - reopened - synchronize - ready_for_review + push: + branches: + - main jobs: style: diff --git a/CHANGELOG.md b/CHANGELOG.md index 65665919d..1ab9e4532 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ - Bugfix: No longer required to provide a power at the heating demands when a profile has been added. - Bugfix: Scaling fix on ATES temperature variable when temperature modelling not used. - Bugfix: Fix on nominals in electricity cables and gas pipes. Fix on nominals for nodes with logical links. -- Pipeline is only run when pull request is ready for review and synchronized or when opened. +- Pipeline is only run when pull request is ready for review and synchronized or when opened, as well as when a pull request is merged to main. ## Fixed - Bug fix: e-boiler expected order of inports while setting nominal values From c3f497f1724c136d8c3407aa7a5f5fdc540447cd Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 6 Nov 2024 09:17:17 +0100 Subject: [PATCH 230/376] 175 error feedback to mapeditor (#188) - Added MESIDO error exception class to raise applicable potential errors in a workflow & include required info for feedback in the mapeditor - Different error types can be check for different workflows via the utils functionality --- CHANGELOG.md | 1 + src/mesido/esdl/esdl_mixin.py | 2 +- src/mesido/esdl/profile_parser.py | 43 ++--- src/mesido/exceptions.py | 42 +++++ src/mesido/potential_errors.py | 68 +++++++ src/mesido/workflows/grow_workflow.py | 30 +-- src/mesido/workflows/utils/error_types.py | 66 +++++++ ...a_with_influx_profiles_error_check_1.esdl} | 0 ...1a_with_influx_profiles_error_check_2.esdl | 172 +++++++++++++++++ ...1a_with_influx_profiles_error_check_3.esdl | 177 ++++++++++++++++++ .../models/wko/model/LT_wko_error_check.esdl | 2 +- tests/models/wko/src/example.py | 23 +-- tests/test_cold_demand.py | 38 ++-- tests/test_profile_parsing.py | 103 +++++++--- 14 files changed, 657 insertions(+), 110 deletions(-) create mode 100644 src/mesido/exceptions.py create mode 100644 src/mesido/potential_errors.py create mode 100644 src/mesido/workflows/utils/error_types.py rename tests/models/unit_cases/case_1a/model/{1a_with_influx_profiles_error_check.esdl => 1a_with_influx_profiles_error_check_1.esdl} (100%) create mode 100644 tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_2.esdl create mode 100644 tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_3.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ab9e4532..10d9393aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # [Unreleased] - 2024-10-07 ## Added +- Added MESIDO error exception class to raise applicable potential errors in a workflow & include required info for feedback in the mapeditor - Limit the available pipe classes connetced to heat/gas demand/producers - Add demands and sources to the topology object to have easy access to the connected pipes/cables later on - Heating and cooling example case added (2 heating demands, 1 cold demand, hot and cold producer, WKO as seasonal storage) diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index f6caf85c0..3ca7f721f 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -536,7 +536,7 @@ def read(self) -> None: energy_system_components = self.energy_system_components esdl_carriers = self.esdl_carriers io = self.io - self._asset_potential_errors = self.__profile_reader.read_profiles( + self.__profile_reader.read_profiles( energy_system_components=energy_system_components, io=io, esdl_asset_id_to_name_map=self.esdl_asset_id_to_name_map, diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 038818746..3685bcd5d 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -10,6 +10,7 @@ from esdl.units.conversion import ENERGY_IN_J, POWER_IN_W, convert_to_unit from mesido.esdl.common import Asset +from mesido.potential_errors import MesidoAssetIssueType, get_potential_errors import numpy as np @@ -46,11 +47,6 @@ def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): self._energy_system: esdl.EnergySystem = energy_system self._file_path: Optional[Path] = file_path self._reference_datetimes: Optional[pd.DatetimeIndex] = None - self._asset_potential_errors_identified: Dict[str, Dict] = { - "heat_demand.power": {}, # error type, heat demand name, error message - "cold_demand.power": {}, # error type, cold demand name, error message - "heat_demand.type": {}, # error type, heat demand name, error message - } def read_profiles( self, @@ -60,7 +56,7 @@ def read_profiles( esdl_assets: Dict[str, Asset], carrier_properties: Dict[str, Dict], ensemble_size: int, - ) -> Dict[str, Dict]: + ) -> None: """ This function takes a datastore and a dictionary of milp network components and loads a profile for each demand and source in the provided milp network components into the @@ -135,13 +131,18 @@ def read_profiles( if component_type in ["heat_demand", "cold_demand"]: max_profile_value = max(values) if asset_power < max_profile_value and asset_power != 0.0: - self._asset_potential_errors_identified[f"{component_type}.power"][ - component - ] = ( - f"{component}: The installed capacity of" + asset_id = esdl_asset_names_to_ids[component] + get_potential_errors().add_potential_issue( + ( + MesidoAssetIssueType.HEAT_DEMAND_POWER + if component_type == "heat_demand" + else MesidoAssetIssueType.COLD_DEMAND_POWER + ), + asset_id, + f"Asset named {component}: The installed capacity of" f" {round(asset_power / 1.0e6, 3)}MW should be larger than the" " maximum of the heat demand profile " - f"{round(max_profile_value / 1.0e6, 3)}MW" + f"{round(max_profile_value / 1.0e6, 3)}MW", ) for properties in carrier_properties.values(): @@ -159,7 +160,6 @@ def read_profiles( values=profile, ensemble_member=ensemble_member, ) - return self._asset_potential_errors_identified def _load_profiles_from_source( self, @@ -301,18 +301,19 @@ def _load_profiles_from_source( # For multicommidity work profiles need to be assigned to GenericConsumer, but # not for heat network (this asset_potential_errors is used in grow_workflow) if type(asset) is esdl.GenericConsumer: - # asset_potential_errors - self._asset_potential_errors_identified["heat_demand.type"][asset.name] = ( - f"Asset {asset.name}: This asset is currently a GenericConsumer please" - " change it to a HeatingDemand" + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.HEAT_DEMAND_TYPE, + asset.id, + f"Asset named {asset.name}: This asset is currently a GenericConsumer" + " please change it to a HeatingDemand", ) except KeyError: - raise RuntimeError( - f"The asset {profile.field} is of type {type(asset)} which is " - f"currently not supported to have a profile to be loaded " - f"from the database." + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, + asset.id, + f"Asset named {asset.name}: The assigment of profile field {profile.field}" + f" is not possible for this asset type {type(asset)}", ) - exit(1) else: raise RuntimeError( f"Got a profile for a {container}. Currently only profiles " diff --git a/src/mesido/exceptions.py b/src/mesido/exceptions.py new file mode 100644 index 000000000..08b51a970 --- /dev/null +++ b/src/mesido/exceptions.py @@ -0,0 +1,42 @@ +from typing import Dict, TYPE_CHECKING + +if TYPE_CHECKING: # This prevents circular referencing between this file and potential_errors.py + from mesido.potential_errors import ErrorMessage, MesidoAssetIssueType + + +class MesidoAssetIssueError(Exception): + """ + This class is used as a MESIDO defined exception class. + """ + + error_type: "MesidoAssetIssueType" + general_issue: str + message_per_asset_id: Dict[str, "ErrorMessage"] + + def __init__( + self, + general_issue: str, + error_type: "MesidoAssetIssueType", + message_per_asset_id: Dict[str, "ErrorMessage"], + ): + + self.error_type = error_type + self.general_issue = general_issue + self.message_per_asset_id = message_per_asset_id + + def __str__(self) -> str: + """ + Returns + ------- + A string containing the following: + - Error type (e.g.HEAT_DEMAND_POWER) + - General meassage about the group of error messages per asset id + - Asset id + - Error message for the applicable asset + """ + return_string = f"{self.error_type}: {self.general_issue}" + for keys, values in self.message_per_asset_id.items(): + return_string += f"\nAsset id: {keys}" + return_string += f" {values}" + + return return_string diff --git a/src/mesido/potential_errors.py b/src/mesido/potential_errors.py new file mode 100644 index 000000000..399506fab --- /dev/null +++ b/src/mesido/potential_errors.py @@ -0,0 +1,68 @@ +from enum import Enum +from typing import Dict, List, NoReturn + +from mesido.exceptions import MesidoAssetIssueError + +AssetId = str +ErrorMessage = str + + +# Asset error type that can occur +class MesidoAssetIssueType(Enum): + HEAT_DEMAND_POWER = "heat_demand.power" + COLD_DEMAND_POWER = "cold_demand.power" + HEAT_DEMAND_TYPE = "heat_demand.type" + ASSET_PROFILE_CAPABILITY = "asset_profile.capability" + + +class PotentialErrors: + """Singleton, do not instantiate. Use POTENTIAL_ERRORS.""" + + _gathered_potential_issues: Dict[MesidoAssetIssueType, Dict[AssetId, List[ErrorMessage]]] + + def __init__(self): + self._gathered_potential_issues = {} + + def add_potential_issue( + self, issue_type: MesidoAssetIssueType, asset_id: AssetId, error_message: ErrorMessage + ) -> None: + """ + Add potential issues to _gathered_potential_issues. + + """ + self._gathered_potential_issues.setdefault(issue_type, {}) + self._gathered_potential_issues[issue_type][asset_id] = error_message + + def have_issues_for(self, issue_type: MesidoAssetIssueType) -> bool: + """ + Check if the potential issue exists. + + """ + result = False + if issue_type in self._gathered_potential_issues: + result = True + + return result + + def convert_to_exception( + self, issue_type: MesidoAssetIssueType, general_issue: str + ) -> NoReturn: + """ + Raise a MESIDO exception if the issue exists. + + """ + if issue_type not in self._gathered_potential_issues: + raise RuntimeError("Something very wrong. Issue type not in potential errors") + + raise MesidoAssetIssueError( + general_issue=general_issue, + error_type=issue_type, + message_per_asset_id=self._gathered_potential_issues[issue_type], + ) + + +POTENTIAL_ERRORS = PotentialErrors() + + +def get_potential_errors() -> PotentialErrors: + return POTENTIAL_ERRORS diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index fd3eee9b9..57fcc2027 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -3,7 +3,6 @@ import os import sys import time -from typing import Dict from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin from mesido.esdl.esdl_mixin import ESDLMixin @@ -14,6 +13,7 @@ from mesido.workflows.utils.adapt_profiles import ( adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, ) +from mesido.workflows.utils.error_types import HEAT_NETWORK_ERRORS, potential_error_to_error from mesido.workflows.utils.helpers import main_decorator, run_optimization_problem_solver import numpy as np @@ -181,8 +181,6 @@ def __init__(self, *args, **kwargs): self._save_json = False - self._asset_potential_errors = Dict[str, Dict] - def parameters(self, ensemble_member): parameters = super().parameters(ensemble_member) parameters["peak_day_index"] = self.__indx_max_peak @@ -202,31 +200,7 @@ def read(self): """ super().read() - # Error checking: - # - installed capacity/power of a heating/cooling demand is sufficient for the specified - # demand profile - is_error = False - for error_type, errors in self._asset_potential_errors.items(): - if error_type in ["heat_demand.power", "cold_demand.power"]: - if len(errors) > 0: - for asset_name in errors: - logger.error(self._asset_potential_errors[error_type][asset_name]) - logger.error( - "Asset insufficient installed capacity: please increase the" - " installed power or reduce the demand profile peak value of the demand(s)" - " listed." - ) - is_error = True - elif error_type in ["heat_demand.type"]: - if len(errors) > 0: - for asset_name in errors: - logger.error(self._asset_potential_errors[error_type][asset_name]) - logger.error("Incorrect asset type: please update.") - is_error = True - - if is_error: - exit(1) - # end error checking + potential_error_to_error(HEAT_NETWORK_ERRORS) ( self.__indx_max_peak, diff --git a/src/mesido/workflows/utils/error_types.py b/src/mesido/workflows/utils/error_types.py new file mode 100644 index 000000000..46557ccbc --- /dev/null +++ b/src/mesido/workflows/utils/error_types.py @@ -0,0 +1,66 @@ +from enum import Enum + +from mesido.potential_errors import MesidoAssetIssueType, get_potential_errors + +# Convert potentials errors to errors for the following networks/definitions +HEAT_NETWORK_ERRORS = "heat_network" +HEAT_AND_COOL_NETWORK_ERRORS = "heat_and_cool_network" +CUSTOM_ERRORS = "custom_errors" # an example of custom stuff that can be added in the future + + +def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: + """ + Get general message per issue type. + + Returns + ------- + String message + """ + type_and_general_meassage = { + MesidoAssetIssueType.HEAT_DEMAND_POWER: "Asset insufficient installed capacity: please" + " increase the installed power or reduce the demand profile peak value of the demand(s)" + " listed.", + MesidoAssetIssueType.COLD_DEMAND_POWER: "Asset insufficient installed capacity: please" + " increase the installed power or reduce the demand profile peak value of the demand(s)" + " listed.", + MesidoAssetIssueType.HEAT_DEMAND_TYPE: "Incorrect asset type: please update.", + MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY: "Profile assigment not allowed.", + } + + return type_and_general_meassage[issue_type] + + +def potential_error_to_error(network_check_type: Enum) -> None: + """ + Convert potential errors to errors for the define error types + + """ + + errors_on_types = { + HEAT_NETWORK_ERRORS: [ + MesidoAssetIssueType.HEAT_DEMAND_POWER, + MesidoAssetIssueType.COLD_DEMAND_POWER, + MesidoAssetIssueType.HEAT_DEMAND_TYPE, + MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, + ], + HEAT_AND_COOL_NETWORK_ERRORS: [ + MesidoAssetIssueType.HEAT_DEMAND_POWER, + MesidoAssetIssueType.COLD_DEMAND_POWER, + MesidoAssetIssueType.HEAT_DEMAND_TYPE, + MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, + ], + # Example of extra error types / groups that can be added. This one is not used yet. + CUSTOM_ERRORS: [MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY], + } + + # Error checking: + # - installed capacity/power of a heating/cooling demand is sufficient for the specified + # demand profile + # - asset used for a heating demand + # - profile assigment capability + # TODO: Once pyhton 3.11 is used, use the following: Group multiple exceptions (as it is + # possible multiple exceptions at once are true here): + # https://www.geeksforgeeks.org/exception-groups-in-python/ + for etype in errors_on_types[network_check_type]: + if get_potential_errors().have_issues_for(etype): + get_potential_errors().convert_to_exception(etype, mesido_issue_type_gen_message(etype)) diff --git a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check.esdl b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_1.esdl similarity index 100% rename from tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check.esdl rename to tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_1.esdl diff --git a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_2.esdl b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_2.esdl new file mode 100644 index 000000000..220fb191a --- /dev/null +++ b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_2.esdl @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_3.esdl b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_3.esdl new file mode 100644 index 000000000..67050c082 --- /dev/null +++ b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_3.esdl @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/wko/model/LT_wko_error_check.esdl b/tests/models/wko/model/LT_wko_error_check.esdl index 2c2f72be7..977801e08 100644 --- a/tests/models/wko/model/LT_wko_error_check.esdl +++ b/tests/models/wko/model/LT_wko_error_check.esdl @@ -11,7 +11,7 @@ - + diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index 6965b34fd..0540db248 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -7,6 +7,10 @@ from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.utils.error_types import ( + HEAT_AND_COOL_NETWORK_ERRORS, + potential_error_to_error, +) import numpy as np @@ -169,24 +173,7 @@ def read(self): """ super().read() - # Error checking: - # - installed capacity/power of a heating/cooling demand is sufficient for the specified - # demand profile - is_error = False - for error_type, errors in self._asset_potential_errors.items(): - if error_type in ["heat_demand.power", "cold_demand.power"]: - if len(errors) > 0: - for asset_name in errors: - logger.error(self._asset_potential_errors[error_type][asset_name]) - logger.error( - "Asset insufficient installed capacity: please increase the" - " installed power or reduce the demand profile peak value of the demand(s)" - " listed." - ) - is_error = True - if is_error: - exit(1) - # end error checking + potential_error_to_error(HEAT_AND_COOL_NETWORK_ERRORS) def path_goals(self): """ diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 646dec184..bf610665e 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -1,10 +1,14 @@ import logging +import unittest.mock from pathlib import Path from unittest import TestCase from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.exceptions import MesidoAssetIssueError +from mesido.potential_errors import MesidoAssetIssueType, PotentialErrors from mesido.util import run_esdl_mesido_optimization +from mesido.workflows.utils.error_types import mesido_issue_type_gen_message import numpy as np @@ -20,12 +24,12 @@ class TestColdDemand(TestCase): def test_insufficient_capacity(self): """ - This test checks that the error checks in the code for sufficient installed cool/heatig - capacity of a cold/heat demand is sufficient (grow_workflow not used) + This test checks that the error checks in the code for sufficient installed cooling + capacity of a cold demand is sufficient (grow_workflow not used) Checks: - 1. SystemExit is raised - 2. That the error is due to insufficient heat/cold specified capacities + 1. Correct error is raised + 2. That the error is due to insufficient cold specified capacities """ import models.wko.src.example as example @@ -35,7 +39,9 @@ def test_insufficient_capacity(self): base_folder = Path(example.__file__).resolve().parent.parent - with self.assertRaises(SystemExit) as cm: + with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( + "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + ): _ = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, @@ -44,19 +50,17 @@ def test_insufficient_capacity(self): profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries.csv", ) - # Is SystemExit is raised - np.testing.assert_array_equal(cm.exception.code, 1) - # Check that the heat & cold demand had an error + # Check that the cold demand had an error + np.testing.assert_equal(cm.exception.error_type, MesidoAssetIssueType.COLD_DEMAND_POWER) np.testing.assert_equal( - logs_list[0].msg == "HeatingDemand_9b90: The installed capacity of 0.05MW should be" - " larger than the maximum of the heat demand profile 0.15MW", - True, + cm.exception.general_issue, + mesido_issue_type_gen_message(MesidoAssetIssueType.COLD_DEMAND_POWER), ) np.testing.assert_equal( - logs_list[2].msg == "CoolingDemand_15e8: The installed capacity of 0.05MW should be" - " larger than the maximum of the heat demand profile 0.15MW", - True, + cm.exception.message_per_asset_id["15e803b4-1224-4cac-979f-87747a656741"], + "Asset named CoolingDemand_15e8: The installed capacity of 0.05MW should be larger" + " than the maximum of the heat demand profile 0.15MW", ) def test_cold_demand(self): @@ -257,6 +261,6 @@ def energy_system_options(self): if __name__ == "__main__": test_cold_demand = TestColdDemand() test_cold_demand.test_insufficient_capacity() - test_cold_demand.test_cold_demand() - test_cold_demand.test_wko() - test_cold_demand.test_airco() + # test_cold_demand.test_cold_demand() + # test_cold_demand.test_wko() + # test_cold_demand.test_airco() diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 741074ee7..5c3864b97 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -1,5 +1,6 @@ import datetime import unittest +import unittest.mock from pathlib import Path from typing import Optional @@ -7,7 +8,10 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import InfluxDBProfileReader, ProfileReaderFromFile +from mesido.exceptions import MesidoAssetIssueError +from mesido.potential_errors import MesidoAssetIssueType, PotentialErrors from mesido.workflows import EndScenarioSizingStaged +from mesido.workflows.utils.error_types import mesido_issue_type_gen_message import numpy as np @@ -36,8 +40,11 @@ def test_asset_potential_errors(self): capacity of a cold/heat demand is sufficient (grow_workflow) Checks: - 1. SystemExit is raised - 2. That the error is due to insufficient heat specified capacities + 1. Correct error is raised + 2. That the error is due to: + - insufficient heat specified capacities for 3 heating demands + - incorrect heating demand type being used for 1 heating demand + - profile cannot be assigned to a specific asset """ import models.unit_cases.case_1a.src.run_1a as run_1a @@ -47,51 +54,99 @@ def test_asset_potential_errors(self): logger, logs_list = create_log_list_scaling("WarmingUP-MPC") - with self.assertRaises(SystemExit) as cm: + with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( + "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + ): problem = EndScenarioSizingStaged( esdl_parser=ESDLFileParser, base_folder=base_folder, model_folder=model_folder, input_folder=input_folder, - esdl_file_name="1a_with_influx_profiles_error_check.esdl", + esdl_file_name="1a_with_influx_profiles_error_check_1.esdl", profile_reader=MockInfluxDBProfileReader, input_timeseries_file="influx_mock.csv", ) problem.pre() - # Is SystemExit is raised - np.testing.assert_array_equal(cm.exception.code, 1) # Check that the heat demand had an error + np.testing.assert_equal(cm.exception.error_type, MesidoAssetIssueType.HEAT_DEMAND_POWER) np.testing.assert_equal( - logs_list[0].msg == "HeatingDemand_2ab9: The installed capacity of 6.0MW should be" - " larger than the maximum of the heat demand profile 5175.717MW", - True, + cm.exception.general_issue, + mesido_issue_type_gen_message(MesidoAssetIssueType.HEAT_DEMAND_POWER), ) np.testing.assert_equal( - logs_list[1].msg == "HeatingDemand_506c: The installed capacity of 2.0MW should be" - " larger than the maximum of the heat demand profile 1957.931MW", - True, + cm.exception.message_per_asset_id["2ab92324-f86e-4976-9a6e-f7454b77ba3c"], + "Asset named HeatingDemand_2ab9: The installed capacity of 6.0MW should be larger than" + " the maximum of the heat demand profile 5175.717MW", ) np.testing.assert_equal( - logs_list[2].msg == "HeatingDemand_6662: The installed capacity of 2.0MW should be" - " larger than the maximum of the heat demand profile 1957.931MW", - True, + cm.exception.message_per_asset_id["506c41ac-d415-4482-bf10-bf12f17aeac6"], + "Asset named HeatingDemand_506c: The installed capacity of 2.0MW should be larger than" + " the maximum of the heat demand profile 1957.931MW", ) np.testing.assert_equal( - logs_list[3].msg == "Asset insufficient installed capacity: please increase the" - " installed power or reduce the demand profile peak value of the demand(s) listed.", - True, + cm.exception.message_per_asset_id["6662aebb-f85e-4df3-9f7e-c58993586fba"], + "Asset named HeatingDemand_6662: The installed capacity of 2.0MW should be larger than" + " the maximum of the heat demand profile 1957.931MW", + ) + np.testing.assert_equal(len(cm.exception.message_per_asset_id), 3.0) + + # Check heating demand type error + with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( + "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + ): + problem = EndScenarioSizingStaged( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="1a_with_influx_profiles_error_check_2.esdl", + profile_reader=MockInfluxDBProfileReader, + input_timeseries_file="influx_mock.csv", + ) + problem.pre() + # Check that the heat demand had an error + np.testing.assert_equal(cm.exception.error_type, MesidoAssetIssueType.HEAT_DEMAND_TYPE) + np.testing.assert_equal( + cm.exception.general_issue, + mesido_issue_type_gen_message(MesidoAssetIssueType.HEAT_DEMAND_TYPE), + ) + np.testing.assert_equal( + cm.exception.message_per_asset_id["2ab92324-f86e-4976-9a6e-f7454b77ba3c"], + "Asset named HeatingDemand_2ab9: This asset is currently a GenericConsumer please" + " change it to a HeatingDemand", + ) + np.testing.assert_equal(len(cm.exception.message_per_asset_id), 1.0) + + # Check asset profile capability + with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( + "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + ): + problem = EndScenarioSizingStaged( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="1a_with_influx_profiles_error_check_3.esdl", + profile_reader=MockInfluxDBProfileReader, + input_timeseries_file="influx_mock.csv", + ) + problem.pre() + # Check that the joint has an error + np.testing.assert_equal( + cm.exception.error_type, + MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, ) - # d np.testing.assert_equal( - logs_list[4].msg == "Asset HeatingDemand_2ab9: This asset is currently a" - " GenericConsumer please change it to a HeatingDemand", - True, + cm.exception.general_issue, + mesido_issue_type_gen_message(MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY), ) np.testing.assert_equal( - logs_list[5].msg == "Incorrect asset type: please update.", - True, + cm.exception.message_per_asset_id["95802cf8-61d6-4773-bb99-e275c3bf26cc"], + "Asset named Joint_9580: The assigment of profile field demand3_MW is not possible for" + " this asset type ", ) + np.testing.assert_equal(len(cm.exception.message_per_asset_id), 1.0) class TestProfileLoading(unittest.TestCase): From bfbe4bd81c74cb8ea83341d2a809130cffa6fe87 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 6 Nov 2024 09:45:59 +0100 Subject: [PATCH 231/376] Update calc for q max and nominal (#199) - When using the energy method to calculate Q, then "/1e3" was incorrectly used at some places and the cp value of water is used in the calculation when energy values are needed - Add energy calc usage for e_boiler and gas boiler (coming from kip gas work) --- CHANGELOG.md | 2 + src/mesido/esdl/asset_to_component_base.py | 128 +++++++++++++++++---- 2 files changed, 106 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10d9393aa..5f26ffb5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ - Pipeline is only run when pull request is ready for review and synchronized or when opened, as well as when a pull request is merged to main. ## Fixed +- Bug fix: Logical links: e_boiler & gas boiler update to use energy values +- Bug fix: Q max and nominal calculation update when reference energy value - Bug fix: e-boiler expected order of inports while setting nominal values - Bug fix: setting nominals while using logical links when all values are 1.0 - Bug fix: machine error/rounding with updating lower bound values in the grow_workflow after stage 1 diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 8c29cb431..8afcffdb3 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -72,8 +72,9 @@ def get_internal_energy(asset_name, carrier): logger.warning( f"Neither gas or hydrogen was used in the carrier " f"name of pipe {asset_name}" ) - internal_energy = 46.0e6 # natural gas at about 8 bar - return internal_energy # we use gram per second and coolprop gives results in kJ per kg + # TODO: resolve heating value (default value below) vs internal energy values (above) + internal_energy = 46.0e6 # natural gas at about 1 bar [J/kg] heating value + return internal_energy # [J/kg] def get_density(asset_name, carrier): @@ -109,10 +110,10 @@ def get_density(asset_name, carrier): 16.0e5, "INCOMP::Water", ) - return density # to convert from kg/m3 + return density # kg/m3 else: logger.warning( - f"Neither water, gas or hydrogen was used in the carrier " f"name of pipe {asset_name}" + f"Neither gas/hydrogen/heat was used in the carrier " f"name of pipe {asset_name}" ) density = 6.2 # natural gas at about 8 bar return density * 1.0e3 # to convert from kg/m3 to g/m3 @@ -457,15 +458,25 @@ def _set_electricity_current_nominal_and_max( def _get_connected_q_max(self, asset: Asset) -> float: if asset.in_ports is not None and asset.asset_type != "Electrolyzer": for port in asset.in_ports: + convert_density_units = 1.0 + energy_reference_j_kg = 1.0 + if not isinstance(port.carrier, esdl.HeatCommodity): + convert_density_units = 1.0e3 # convert g/m3 to kg/m3 if needed + energy_reference_j_kg = get_internal_energy(asset.name, port.carrier) + else: + # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] + energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 + connected_port = port.connectedTo[0] q_max = ( self._port_to_q_max.get(connected_port, None) if self._port_to_q_max.get(connected_port, False) else max([asset.attributes.get(key, -1) for key in self.__power_keys]) / ( + # note rho -> gas/hydrogen g/m3, heat kg/m3 get_density(asset.name, port.carrier) - * get_internal_energy(asset.name, port.carrier) - / 1.0e3 + * energy_reference_j_kg + / convert_density_units ) ) if q_max is not None: @@ -478,15 +489,25 @@ def _get_connected_q_max(self, asset: Asset) -> float: ) elif asset.out_ports is not None: for port in asset.out_ports: + convert_density_units = 1.0 + energy_reference_j_kg = 1.0 + if not isinstance(port.carrier, esdl.HeatCommodity): + convert_density_units = 1.0e3 # convert g/m3 to kg/m3 if needed + energy_reference_j_kg = get_internal_energy(asset.name, port.carrier) + else: + # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] + energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 + connected_port = port.connectedTo[0] q_max = ( self._port_to_q_max.get(connected_port, None) if self._port_to_q_max.get(connected_port, False) else max([asset.attributes.get(key, -1) for key in self.__power_keys]) / ( + # note rho -> gas/hydrogen g/m3, heat kg/m3 get_density(asset.name, port.carrier) - * get_internal_energy(asset.name, port.carrier) - / 1.0e3 + * energy_reference_j_kg + / convert_density_units ) ) if q_max is not None: @@ -687,15 +708,25 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: if isinstance(port.carrier, esdl.GasCommodity) or isinstance( port.carrier, esdl.HeatCommodity ): + convert_density_units = 1.0 + energy_reference_j_kg = 1.0 + if not isinstance(port.carrier, esdl.HeatCommodity): + convert_density_units = 1.0e3 # convert g/m3 to kg/m3 if needed + energy_reference_j_kg = get_internal_energy(asset.name, port.carrier) + else: + # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] + energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 + connected_port = port.connectedTo[0] q_nominal = ( self._port_to_q_nominal.get(connected_port, None) if self._port_to_q_nominal.get(connected_port, False) else max([asset.attributes.get(key, -1) for key in self.__power_keys]) / ( + # note rho -> gas/hydrogen g/m3, heat kg/m3 get_density(asset.name, port.carrier) - * get_internal_energy(asset.name, port.carrier) - / 1.0e3 + * energy_reference_j_kg + / convert_density_units ) ) if q_nominal is not None: @@ -706,15 +737,25 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: if isinstance(port.carrier, esdl.GasCommodity) or isinstance( port.carrier, esdl.HeatCommodity ): + convert_density_units = 1.0 + energy_reference_j_kg = 1.0 + if not isinstance(port.carrier, esdl.HeatCommodity): + convert_density_units = 1.0e3 # convert g/m3 to kg/m3 if needed + energy_reference_j_kg = get_internal_energy(asset.name, port.carrier) + else: + # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] + energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 + connected_port = port.connectedTo[0] q_nominal = ( self._port_to_q_nominal.get(connected_port, None) if self._port_to_q_nominal.get(connected_port, False) else max([asset.attributes.get(key, -1) for key in self.__power_keys]) / ( + # note rho -> gas/hydrogen g/m3, heat kg/m3 get_density(asset.name, port.carrier) - * get_internal_energy(asset.name, port.carrier) - / 1.0e3 + * energy_reference_j_kg + / convert_density_units ) ) if q_nominal is not None: @@ -725,15 +766,25 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: if isinstance(port.carrier, esdl.GasCommodity) or isinstance( port.carrier, esdl.HeatCommodity ): + convert_density_units = 1.0 + energy_reference_j_kg = 1.0 + if not isinstance(port.carrier, esdl.HeatCommodity): + convert_density_units = 1.0e3 # convert g/m3 to kg/m3 if needed + energy_reference_j_kg = get_internal_energy(asset.name, port.carrier) + else: + # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] + energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 + connected_port = port.connectedTo[0] q_nominal = ( self._port_to_q_nominal.get(connected_port, None) if self._port_to_q_nominal.get(connected_port, False) else max([asset.attributes.get(key, -1) for key in self.__power_keys]) / ( + # note rho -> gas/hydrogen g/m3, heat kg/m3 get_density(asset.name, port.carrier) - * get_internal_energy(asset.name, port.carrier) - / 1.0e3 + * energy_reference_j_kg + / convert_density_units ) ) if q_nominal is not None: @@ -744,15 +795,43 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: try: for port in asset.in_ports: connected_port = port.connectedTo[0] - if isinstance(port.carrier, esdl.GasCommodity): - q_nominals["Q_nominal_gas"] = self._port_to_q_nominal[connected_port] - self._port_to_q_nominal[port] = q_nominals["Q_nominal_gas"] - elif isinstance(port.carrier, esdl.HeatCommodity): - q_nominals["Q_nominal"] = self._port_to_q_nominal[connected_port] - self._port_to_q_nominal[port] = q_nominals["Q_nominal"] - if not q_nominals: + if isinstance(port.carrier, esdl.GasCommodity) or isinstance( + port.carrier, esdl.HeatCommodity + ): + nominal_string = "Q_nominal" + convert_density_units = 1.0 + energy_reference_j_kg = 1.0 + if isinstance(port.carrier, esdl.GasCommodity): + nominal_string += "_gas" + convert_density_units = 1.0e3 # convert g/m3 to kg/m3 if needed + energy_reference_j_kg = get_internal_energy(asset.name, port.carrier) + elif isinstance(port.carrier, esdl.HeatCommodity): + # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] + energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 + + if isinstance(connected_port.energyasset, esdl.Joint): + q_nominal = ( + self._port_to_q_nominal.get(connected_port, None) + if self._port_to_q_nominal.get(connected_port, False) + else max( + [asset.attributes.get(key, -1) for key in self.__power_keys] + ) + / ( + # note rho -> gas/hydrogen g/m3, heat kg/m3 + get_density(asset.name, port.carrier) + * energy_reference_j_kg + / convert_density_units + ) + ) + if q_nominal is not None: + q_nominals[nominal_string] = q_nominal + self._port_to_q_nominal[port] = q_nominals[nominal_string] + else: + q_nominals[nominal_string] = self._port_to_q_nominal[connected_port] + self._port_to_q_nominal[port] = q_nominals[nominal_string] + if q_nominals is None: logger.error( - f"{asset.name} should have at least gas or heat specified on" + f"{asset.name} should have at least gas or heat specified on " f"one of the in ports" ) exit(1) @@ -764,6 +843,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: if self._port_to_q_max.get(connected_port, False) else max([asset.attributes.get(key, -1) for key in self.__power_keys]) / ( + # note rho -> gas/hydrogen g/m3, heat kg/m3 get_density(asset.name, port.carrier) * get_internal_energy(asset.name, port.carrier) / 1.0e3 @@ -795,9 +875,9 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: if self._port_to_q_max.get(connected_port, False) else max([asset.attributes.get(key, -1) for key in self.__power_keys]) / ( + # note rho -> gas/hydrogen g/m3, heat kg/m3 get_density(asset.name, p.carrier) - * get_internal_energy(asset.name, p.carrier) - / 1.0e3 + * (HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0) ) ) if q_nominal is not None: From 1ad0d2bc13a5a5aeb573308811bb510056c373ee Mon Sep 17 00:00:00 2001 From: Sebastiaan la Fleur Date: Wed, 6 Nov 2024 15:39:27 +0100 Subject: [PATCH 232/376] Speed up adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day by a factor of 6. (#187) Speedup: Changed the way daily average profiles are created from hourly profiles to speed up the conversion. --- CHANGELOG.md | 3 ++- src/mesido/workflows/utils/adapt_profiles.py | 12 +++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f26ffb5b..3a13c81f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,8 @@ - Bugfix: No longer required to provide a power at the heating demands when a profile has been added. - Bugfix: Scaling fix on ATES temperature variable when temperature modelling not used. - Bugfix: Fix on nominals in electricity cables and gas pipes. Fix on nominals for nodes with logical links. -- Pipeline is only run when pull request is ready for review and synchronized or when opened, as well as when a pull request is merged to main. +- Pipeline is only run when pull request is ready for review and synchronized or when opened, as well as when a pull request is merged to main. +- Speedup: Changed the way daily average profiles are created from hourly profiles to speed up the conversion. ## Fixed - Bug fix: Logical links: e_boiler & gas boiler update to use energy values diff --git a/src/mesido/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py index 5ac1efb12..f184d72da 100644 --- a/src/mesido/workflows/utils/adapt_profiles.py +++ b/src/mesido/workflows/utils/adapt_profiles.py @@ -31,17 +31,15 @@ def set_data_with_averages_and_peak_day( ) return - new_data = list() + new_data = [] data_timestamps = data.times - data_datetimes = [ - problem.io.datetimes[0] + datetime.timedelta(seconds=s) for s in data_timestamps + new_date_timestamps = [ + (new_dt - problem.io.datetimes[0]).total_seconds() for new_dt in new_date_times ] - assert new_date_times[0] == data_datetimes[0] - data_values = data.values values_for_mean = [0.0] - for dt, val in zip(data_datetimes, data_values): - if dt in new_date_times: + for dt, val in zip(data_timestamps, data.values): + if dt in new_date_timestamps: new_data.append(np.mean(values_for_mean)) values_for_mean = [val] else: From 0c0357dc07441c7e09e37ade6306ba076da05c45 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Thu, 7 Nov 2024 09:22:14 +0100 Subject: [PATCH 233/376] Updated file for MESIDO release (#203) Update changelog for new MESIDO release --- CHANGELOG.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a13c81f5..ba6b3db07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,16 @@ -# [Unreleased] - 2024-10-07 +# [Unreleased] - 2024-11-07 + +## Added +- xx + +## Changed +- xx + +## Fixed +- xx + + +# [0.1.8] - 2024-11-07 ## Added - Added MESIDO error exception class to raise applicable potential errors in a workflow & include required info for feedback in the mapeditor From 67575d5cc60d13e6991e0cdaa366ceb41d773fcd Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 7 Nov 2024 14:13:18 +0100 Subject: [PATCH 234/376] Same mip gap setting in grow workflow for all solvers (#205) Same mip gap setting in grow workflow for all solvers --- CHANGELOG.md | 2 +- src/mesido/workflows/grow_workflow.py | 38 +++++++++++++-------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba6b3db07..fa951961e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ - xx ## Fixed -- xx +- Bugfix: same mip gap settings for all solvers in grow_workflow. # [0.1.8] - 2024-11-07 diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 57fcc2027..46afcec45 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -3,6 +3,7 @@ import os import sys import time +from typing import Dict from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin from mesido.esdl.esdl_mixin import ESDLMixin @@ -70,19 +71,28 @@ def function(self, optimization_problem, ensemble_member): return optimization_problem.state(self.state) +def _mip_gap_settings(mip_gap_name: str, problem) -> Dict[str, float]: + """Creating the same MIP gap settings for all solvers.""" + + options = {} + if hasattr(problem, "_stage"): + if problem._stage == 1: + options[mip_gap_name] = 0.005 + else: + options[mip_gap_name] = 0.02 + else: + options[mip_gap_name] = 0.02 + + return options + + class SolverHIGHS: def solver_options(self): options = super().solver_options() options["casadi_solver"] = self._qpsol options["solver"] = "highs" highs_options = options["highs"] = {} - if hasattr(self, "_stage"): - if self._stage == 1: - highs_options["mip_rel_gap"] = 0.005 - else: - highs_options["mip_rel_gap"] = 0.02 - else: - highs_options["mip_rel_gap"] = 0.02 + highs_options.update(_mip_gap_settings("mip_rel_gap", self)) options["gurobi"] = None options["cplex"] = None @@ -96,12 +106,7 @@ def solver_options(self): options["casadi_solver"] = self._qpsol options["solver"] = "gurobi" gurobi_options = options["gurobi"] = {} - if hasattr(self, "_stage"): - if self._stage == 1: - gurobi_options["MIPgap"] = 0.005 - else: - gurobi_options["MIPgap"] = 0.02 - gurobi_options["MIPgap"] = 0.02 + gurobi_options.update(_mip_gap_settings("MIPgap", self)) gurobi_options["threads"] = 4 gurobi_options["LPWarmStart"] = 2 @@ -116,12 +121,7 @@ def solver_options(self): options["casadi_solver"] = self._qpsol options["solver"] = "cplex" cplex_options = options["cplex"] = {} - if hasattr(self, "_stage"): - if self._stage == 1: - cplex_options["CPX_PARAM_EPGAP"] = 0.005 - else: - cplex_options["CPX_PARAM_EPGAP"] = 0.02 - cplex_options["CPX_PARAM_EPGAP"] = 0.02 + cplex_options.update(_mip_gap_settings("CPX_PARAM_EPGAP", self)) options["highs"] = None From a0cc31a07d74164520f1f3d80a7fd96186d02ee9 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Mon, 11 Nov 2024 13:34:08 +0100 Subject: [PATCH 235/376] 208 bug fix head loss test case 1 (#210) Neglect heat losses when min velo = 0.0 m/s --- CHANGELOG.md | 3 +- .../input/timeseries_import.csv | 90 +++++++++---------- .../src/double_pipe_heat.py | 2 +- tests/test_head_loss.py | 2 + 4 files changed, 50 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa951961e..403d2aba6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased] - 2024-11-07 +# [Unreleased] - 2024-11-11 ## Added - xx @@ -8,6 +8,7 @@ ## Fixed - Bugfix: same mip gap settings for all solvers in grow_workflow. +- Bugfix: head loss test case when minimum_velocity = 0.0 # [0.1.8] - 2024-11-07 diff --git a/tests/models/source_pipe_split_sink/input/timeseries_import.csv b/tests/models/source_pipe_split_sink/input/timeseries_import.csv index bc4127ae1..0791e72b2 100644 --- a/tests/models/source_pipe_split_sink/input/timeseries_import.csv +++ b/tests/models/source_pipe_split_sink/input/timeseries_import.csv @@ -1,46 +1,46 @@ DateTime,demand,elec -2013-05-19 22:00:00,150000.0,10.0 -2013-05-19 23:00:00,150000.0,10.0 -2013-05-20 00:00:00,150000.0,10.0 -2013-05-20 01:00:00,150000.0,10.0 -2013-05-20 02:00:00,150000.0,10.0 -2013-05-20 03:00:00,150000.0,10.0 -2013-05-20 04:00:00,150000.0,10.0 -2013-05-20 05:00:00,150000.0,10.0 -2013-05-20 06:00:00,150000.0,10.0 -2013-05-20 07:00:00,150000.0,10.0 -2013-05-20 08:00:00,150000.0,10.0 -2013-05-20 09:00:00,150000.0,10.0 -2013-05-20 10:00:00,150000.0,10.0 -2013-05-20 11:00:00,150000.0,10.0 -2013-05-20 12:00:00,150000.0,10.0 -2013-05-20 13:00:00,150000.0,10.0 -2013-05-20 14:00:00,100000.0,10.0 -2013-05-20 15:00:00,100000.0,10.0 -2013-05-20 16:00:00,100000.0,10.0 -2013-05-20 17:00:00,100000.0,10.0 -2013-05-20 18:00:00,100000.0,10.0 -2013-05-20 19:00:00,100000.0,10.0 -2013-05-20 20:00:00,100000.0,10.0 -2013-05-20 21:00:00,100000.0,10.0 -2013-05-20 22:00:00,100000.0,10.0 -2013-05-20 23:00:00,100000.0,10.0 -2013-05-21 00:00:00,100000.0,10.0 -2013-05-21 01:00:00,100000.0,10.0 -2013-05-21 02:00:00,100000.0,10.0 -2013-05-21 03:00:00,50000.0,10.0 -2013-05-21 04:00:00,50000.0,10.0 -2013-05-21 05:00:00,50000.0,10.0 -2013-05-21 06:00:00,50000.0,10.0 -2013-05-21 07:00:00,50000.0,10.0 -2013-05-21 08:00:00,50000.0,10.0 -2013-05-21 09:00:00,50000.0,10.0 -2013-05-21 10:00:00,50000.0,10.0 -2013-05-21 11:00:00,50000.0,10.0 -2013-05-21 12:00:00,50000.0,10.0 -2013-05-21 13:00:00,50000.0,10.0 -2013-05-21 14:00:00,50000.0,10.0 -2013-05-21 15:00:00,50000.0,10.0 -2013-05-21 16:00:00,50000.0,10.0 -2013-05-21 17:00:00,50000.0,10.0 -2013-05-21 18:00:00,50000.0,10.0 +2013-05-19 22:00:00,1500000.0,10.0 +2013-05-19 23:00:00,1500000.0,10.0 +2013-05-20 00:00:00,1500000.0,10.0 +2013-05-20 01:00:00,1500000.0,10.0 +2013-05-20 02:00:00,1500000.0,10.0 +2013-05-20 03:00:00,1500000.0,10.0 +2013-05-20 04:00:00,1500000.0,10.0 +2013-05-20 05:00:00,1500000.0,10.0 +2013-05-20 06:00:00,1500000.0,10.0 +2013-05-20 07:00:00,1500000.0,10.0 +2013-05-20 08:00:00,1500000.0,10.0 +2013-05-20 09:00:00,1500000.0,10.0 +2013-05-20 10:00:00,1500000.0,10.0 +2013-05-20 11:00:00,1500000.0,10.0 +2013-05-20 12:00:00,1500000.0,10.0 +2013-05-20 13:00:00,1500000.0,10.0 +2013-05-20 14:00:00,1000000.0,10.0 +2013-05-20 15:00:00,1000000.0,10.0 +2013-05-20 16:00:00,1000000.0,10.0 +2013-05-20 17:00:00,1000000.0,10.0 +2013-05-20 18:00:00,1000000.0,10.0 +2013-05-20 19:00:00,1000000.0,10.0 +2013-05-20 20:00:00,1000000.0,10.0 +2013-05-20 21:00:00,1000000.0,10.0 +2013-05-20 22:00:00,1000000.0,10.0 +2013-05-20 23:00:00,1000000.0,10.0 +2013-05-21 00:00:00,1000000.0,10.0 +2013-05-21 01:00:00,1000000.0,10.0 +2013-05-21 02:00:00,1000000.0,10.0 +2013-05-21 03:00:00,500000.0,10.0 +2013-05-21 04:00:00,500000.0,10.0 +2013-05-21 05:00:00,500000.0,10.0 +2013-05-21 06:00:00,500000.0,10.0 +2013-05-21 07:00:00,500000.0,10.0 +2013-05-21 08:00:00,500000.0,10.0 +2013-05-21 09:00:00,500000.0,10.0 +2013-05-21 10:00:00,500000.0,10.0 +2013-05-21 11:00:00,500000.0,10.0 +2013-05-21 12:00:00,500000.0,10.0 +2013-05-21 13:00:00,500000.0,10.0 +2013-05-21 14:00:00,500000.0,10.0 +2013-05-21 15:00:00,500000.0,10.0 +2013-05-21 16:00:00,500000.0,10.0 +2013-05-21 17:00:00,500000.0,10.0 +2013-05-21 18:00:00,500000.0,10.0 diff --git a/tests/models/source_pipe_split_sink/src/double_pipe_heat.py b/tests/models/source_pipe_split_sink/src/double_pipe_heat.py index cc39c8984..3a331fb16 100644 --- a/tests/models/source_pipe_split_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_split_sink/src/double_pipe_heat.py @@ -20,7 +20,7 @@ class TargetDemandGoal(Goal): def __init__(self, optimization_problem): self.target_min = optimization_problem.get_timeseries("demand.target_heat_demand") self.target_max = optimization_problem.get_timeseries("demand.target_heat_demand") - self.function_range = (0.0, 2e5) + self.function_range = (0.0, 2e6) self.function_nominal = 1e5 def function(self, optimization_problem, ensemble_member): diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 032fdaa66..e6819e1b7 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -286,6 +286,7 @@ def energy_system_options(self): if head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_EQUALITY: self.heat_network_settings["minimize_head_losses"] = False self.heat_network_settings["minimum_velocity"] = 0.0 + options["neglect_pipe_heat_losses"] = True elif ( head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY @@ -293,6 +294,7 @@ def energy_system_options(self): self.heat_network_settings["minimize_head_losses"] = True if counter_linearized_n_lines_weak_ineq_runs == 1: self.heat_network_settings["minimum_velocity"] = 0.0 + options["neglect_pipe_heat_losses"] = True elif counter_linearized_n_lines_weak_ineq_runs == 2: ... # Do not delete. This reminds the dev that different min velo value From 95fa513f6311c1cbbf07088acf7be38fbad5f076 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 14 Nov 2024 09:23:44 +0100 Subject: [PATCH 236/376] Generalising writejson method and adding solver stats (#211) Update the method to write the output in json format, to allow also for optimization problems with sequential runs and write the output results all at once. Also the solver statistics will be saved. --- src/mesido/workflows/emerge.py | 10 +++++-- src/mesido/workflows/grow_workflow.py | 5 +++- src/mesido/workflows/io/write_output.py | 37 +++++++++++++++++++------ 3 files changed, 40 insertions(+), 12 deletions(-) diff --git a/src/mesido/workflows/emerge.py b/src/mesido/workflows/emerge.py index 5eb42762e..84862b9a2 100644 --- a/src/mesido/workflows/emerge.py +++ b/src/mesido/workflows/emerge.py @@ -205,11 +205,15 @@ def post(self): self._save_json = False - if os.path.exists(self.output_folder) and self._save_json: - self._write_json_output() - results = self.extract_results() + if os.path.exists(self.output_folder) and self._save_json: + parameters = self.parameters(0) + bounds = self.bounds() + aliases = self.alias_relation._canonical_variables_map + solver_stats = self.solver_stats + self._write_json_output(results, parameters, bounds, aliases, solver_stats) + for _type, assets in self.energy_system_components.items(): for asset in assets: print("----------------------------------") diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 46afcec45..5467b8493 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -406,7 +406,10 @@ def post(self): logger.warning(f"For demand {d} the target is not matched by {delta_energy} GJ") if os.path.exists(self.output_folder) and self._save_json: - self._write_json_output() + bounds = self.bounds() + aliases = self.alias_relation._canonical_variables_map + solver_stats = self.solver_stats + self._write_json_output(results, parameters, bounds, aliases, solver_stats) class EndScenarioSizingHIGHS(EndScenarioSizing): diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 44b907aa2..df9053530 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -7,7 +7,9 @@ import sys import traceback import uuid +from collections import OrderedDict from pathlib import Path +from typing import Dict, Union import esdl from esdl.profiles.influxdbprofilemanager import ConnectionSettings @@ -23,7 +25,7 @@ import pandas as pd - +from rtctools._internal.alias_tools import AliasDict from rtctools.optimization.timeseries import Timeseries @@ -1491,12 +1493,28 @@ def _name_to_asset(name): # ) # esh.save(str(filename)) - def _write_json_output(self): - # TODO: still add solver stats as json output - results = self.extract_results() + def _write_json_output( + self, + results: Union[AliasDict, Dict], + parameters: Union[AliasDict, Dict], + bounds: Union[AliasDict, Dict], + aliases: OrderedDict, + solver_stats: Dict, + ): + """ + The results, parameters, bounds are saved as json files which can be used for further + processing. Aliases are also saved as this allows us to only save the necessary variables. + :param results: dictionary or Alias dictionary with the results of the optimization problem + :param parameters: dictionary or Alias dictionary with the parameters of the optimization + problem + :param bounds: dictionary or Alias dictionary with the bounds of the optimization problem + :param aliases: Alias dictionary describing all the aliases for the variables used + :param solver_stats: solver statistics provided by the solver + :return: + """ + workdir = self.output_folder - parameters = self.parameters(0) parameters_dict = dict() parameter_path = os.path.join(workdir, "parameters.json") for key, value in parameters.items(): @@ -1505,7 +1523,6 @@ def _write_json_output(self): with open(parameter_path, "w") as file: json.dump(parameters_dict, fp=file) - bounds = self.bounds() bounds_dict = dict() bounds_path = os.path.join(workdir, "bounds.json") for key, value in bounds.items(): @@ -1518,7 +1535,6 @@ def _write_json_output(self): json.dump(bounds_dict, fp=file) results_dict = dict() - for key, values in results.items(): new_value = values.tolist() if len(new_value) == 1: @@ -1531,7 +1547,6 @@ def _write_json_output(self): # save aliases alias_dict = {} - aliases = self.alias_relation._canonical_variables_map for key, values in aliases.items(): new_value = values alias_dict[key] = new_value @@ -1539,3 +1554,9 @@ def _write_json_output(self): aliases_path = os.path.join(workdir, "aliases.json") with open(aliases_path, "w") as file: json.dump(alias_dict, fp=file) + + # save solver_stats + solver_stats_dict = solver_stats + solver_stats_path = os.path.join(workdir, "solver_stats.json") + with open(solver_stats_path, "w") as file: + json.dump(solver_stats_dict, fp=file) From cd21ec0b742b35a1e88bd126eff0756098b84bff Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 14 Nov 2024 09:54:41 +0100 Subject: [PATCH 237/376] Gas pipe database (#197) This commit includes the parsing of gas pipe data for diameter and wall_roughness. A default gas pipe database, based on the ASA pipe schedule with thicknesses in the standard class was added, from which dimensions can be extracted. --------- Co-authored-by: kobus.vanrooyen@tno.nl --- CHANGELOG.md | 2 +- MANIFEST.in | 1 + src/mesido/esdl/_gas_pipe_database.json | 205 ++++++++++++++++++ src/mesido/esdl/asset_to_component_base.py | 86 ++++++++ src/mesido/esdl/esdl_heat_model.py | 1 + .../multicommodity_simulator_workflow.py | 6 +- .../source_sink/input/timeseries.csv | 6 +- tests/test_electrolyzer.py | 4 +- tests/test_head_loss.py | 2 +- 9 files changed, 304 insertions(+), 9 deletions(-) create mode 100644 src/mesido/esdl/_gas_pipe_database.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 403d2aba6..dcdc0887e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # [Unreleased] - 2024-11-11 ## Added -- xx +- Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class ## Changed - xx diff --git a/MANIFEST.in b/MANIFEST.in index ec23f3108..e19c5fb42 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,4 +2,5 @@ recursive-include src/mesido/modelica/WarmingUp * include versioneer.py include src/mesido/_version.py include src/mesido/esdl/_edr_pipes.json +include src/mesido/esdl/_gas_pipe_database.json include additional_info_for_license.txt diff --git a/src/mesido/esdl/_gas_pipe_database.json b/src/mesido/esdl/_gas_pipe_database.json new file mode 100644 index 000000000..d7fc0e303 --- /dev/null +++ b/src/mesido/esdl/_gas_pipe_database.json @@ -0,0 +1,205 @@ +{ + "DN6": { + "name": "DN6", + "inner_diameter": "0.00684", + "wall_thickness": "0.00173", + "outer_diameter": "0.0103", + "roughness": "1.50E-05" + }, + "DN8": { + "name": "DN8", + "inner_diameter": "0.00922", + "wall_thickness": "0.00224", + "outer_diameter": "0.0137", + "roughness": "1.50E-05" + }, + "DN10": { + "name": "DN10", + "inner_diameter": "0.01248", + "wall_thickness": "0.00231", + "outer_diameter": "0.0171", + "roughness": "1.50E-05" + }, + "DN15": { + "name": "DN15", + "inner_diameter": "0.01576", + "wall_thickness": "0.00277", + "outer_diameter": "0.0213", + "roughness": "1.50E-05" + }, + "DN20": { + "name": "DN20", + "inner_diameter": "0.02096", + "wall_thickness": "0.00287", + "outer_diameter": "0.0267", + "roughness": "1.50E-05" + }, + "DN25": { + "name": "DN25", + "inner_diameter": "0.02664", + "wall_thickness": "0.00338", + "outer_diameter": "0.0334", + "roughness": "1.50E-05" + }, + "DN32": { + "name": "DN32", + "inner_diameter": "0.03508", + "wall_thickness": "0.00356", + "outer_diameter": "0.0422", + "roughness": "1.50E-05" + }, + "DN40": { + "name": "DN40", + "inner_diameter": "0.04094", + "wall_thickness": "0.00368", + "outer_diameter": "0.0483", + "roughness": "1.50E-05" + }, + "DN50": { + "name": "DN50", + "inner_diameter": "0.05248", + "wall_thickness": "0.00391", + "outer_diameter": "0.0603", + "roughness": "1.50E-05" + }, + "DN65": { + "name": "DN65", + "inner_diameter": "0.06268", + "wall_thickness": "0.00516", + "outer_diameter": "0.073", + "roughness": "1.50E-05" + }, + "DN80": { + "name": "DN80", + "inner_diameter": "0.07792", + "wall_thickness": "0.00549", + "outer_diameter": "0.0889", + "roughness": "1.50E-05" + }, + "DN90": { + "name": "DN90", + "inner_diameter": "0.09012", + "wall_thickness": "0.00574", + "outer_diameter": "0.1016", + "roughness": "1.50E-05" + }, + "DN100": { + "name": "DN100", + "inner_diameter": "0.10226", + "wall_thickness": "0.00602", + "outer_diameter": "0.1143", + "roughness": "1.50E-05" + }, + "DN125": { + "name": "DN125", + "inner_diameter": "0.1282", + "wall_thickness": "0.00655", + "outer_diameter": "0.1413", + "roughness": "1.50E-05" + }, + "DN150": { + "name": "DN150", + "inner_diameter": "0.15408", + "wall_thickness": "0.00711", + "outer_diameter": "0.1683", + "roughness": "1.50E-05" + }, + "DN200": { + "name": "DN200", + "inner_diameter": "0.20274", + "wall_thickness": "0.00818", + "outer_diameter": "0.2191", + "roughness": "1.50E-05" + }, + "DN250": { + "name": "DN250", + "inner_diameter": "0.25456", + "wall_thickness": "0.00927", + "outer_diameter": "0.2731", + "roughness": "1.50E-05" + }, + "DN300": { + "name": "DN300", + "inner_diameter": "0.30484", + "wall_thickness": "0.00953", + "outer_diameter": "0.3239", + "roughness": "1.50E-05" + }, + "DN350": { + "name": "DN350", + "inner_diameter": "0.33654", + "wall_thickness": "0.00953", + "outer_diameter": "0.3556", + "roughness": "1.50E-05" + }, + "DN400": { + "name": "DN400", + "inner_diameter": "0.38734", + "wall_thickness": "0.00953", + "outer_diameter": "0.4064", + "roughness": "1.50E-05" + }, + "DN450": { + "name": "DN450", + "inner_diameter": "0.43814", + "wall_thickness": "0.00953", + "outer_diameter": "0.4572", + "roughness": "1.50E-05" + }, + "DN500": { + "name": "DN500", + "inner_diameter": "0.48894", + "wall_thickness": "0.00953", + "outer_diameter": "0.508", + "roughness": "1.50E-05" + }, + "DN600": { + "name": "DN600", + "inner_diameter": "0.59094", + "wall_thickness": "0.00953", + "outer_diameter": "0.61", + "roughness": "1.50E-05" + }, + "DN700": { + "name": "DN700", + "inner_diameter": "0.69194", + "wall_thickness": "0.00953", + "outer_diameter": "0.711", + "roughness": "1.50E-05" + }, + "DN800": { + "name": "DN800", + "inner_diameter": "0.79394", + "wall_thickness": "0.00953", + "outer_diameter": "0.813", + "roughness": "1.50E-05" + }, + "DN900": { + "name": "DN900", + "inner_diameter": "0.89494", + "wall_thickness": "0.00953", + "outer_diameter": "0.914", + "roughness": "1.50E-05" + }, + "DN1000": { + "name": "DN1000", + "inner_diameter": "0.99694", + "wall_thickness": "0.00953", + "outer_diameter": "1.016", + "roughness": "1.50E-05" + }, + "DN1100": { + "name": "DN1100", + "inner_diameter": "1.09894", + "wall_thickness": "0.00953", + "outer_diameter": "1.118", + "roughness": "1.50E-05" + }, + "DN1200": { + "name": "DN1200", + "inner_diameter": "1.1936", + "wall_thickness": "0.0127", + "outer_diameter": "1.219", + "roughness": "1.50E-05" + } +} \ No newline at end of file diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 8afcffdb3..ad2c2f814 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -207,6 +207,10 @@ def __init__(self, **kwargs): self._edr_pipes = json.load( open(os.path.join(Path(__file__).parent, "_edr_pipes.json"), "r") ) + # The default gas pipe database is based on the ASA pipe catalogue schedule standard (std). + self._gas_pipes = json.load( + open(os.path.join(Path(__file__).parent, "_gas_pipe_database.json"), "r") + ) def convert(self, asset: Asset) -> Tuple[Type[_Model], MODIFIERS]: """ @@ -324,6 +328,88 @@ def _pipe_get_diameter_and_insulation(self, asset: Asset) -> Tuple[float, list, return inner_diameter, insulation_thicknesses, conductivies_insulation + def _gas_pipe_get_diameter_and_roughness(self, asset: Asset) -> Tuple[float, float]: + """ + There are multiple ways to specify pipe properties like inner-diameter and + pipe material and thickness. The user specified nominal diameter (DN size) + takes precedence over potential user specified innerDiameter (while logging + warnings when either of these are specified in combination with the pipe DN). + Similarly, for the wall roughness, the order of preference is; based on the + DN size from the default database in this repo, the wall_roughness attribute + from the ESDL asset or the default value. + Parameters + ---------- + asset : Asset pipe object with itss properties from ESDL + + Returns + ------- + pipe inner diameter [m], wall roughness [m] + """ + + full_name = f"{asset.asset_type} '{asset.name}'" + if asset.attributes["innerDiameter"] and asset.attributes["diameter"].value > 0: + logger.warning( + f"{full_name}' has both 'innerDiameter' and 'diameter' specified. " + f"Diameter of {asset.attributes['diameter'].name} will be used." + ) + + edr_dn_size = None + if asset.attributes["diameter"].value > 0: + edr_dn_size = str(asset.attributes["diameter"].name) + elif not asset.attributes["innerDiameter"]: + logger.error( + f"{full_name}' has no DN size or innerDiameter specified, default is set to DN200. " + ) + edr_dn_size = "DN200" + # TODO: ideally no default diameter size is set, test cases have to be updated for this + # to be removed. + + # NaN means the default values will be used + wall_roughness = math.nan + + if edr_dn_size: + # Get insulation and diameter properties from EDR asset with this size. + edr_asset = self._gas_pipes[edr_dn_size] + inner_diameter = float(edr_asset["inner_diameter"]) + wall_roughness = float(edr_asset["roughness"]) + else: + assert asset.attributes["innerDiameter"] + inner_diameter = asset.attributes["innerDiameter"] + if asset.attributes["roughness"] > 0.0: + wall_roughness = float(asset.attributes["roughness"]) + else: + wall_roughness = 1.0e-4 + + return inner_diameter, wall_roughness + + def _cable_get_resistance(self, asset: Asset) -> Tuple: + """ + Determines the resistance in ohm/m defined by the inverse of the electrical conductivity + in the cable's material properties. If no material is defined a default resistance of + 1e-6 ohm/m is used. + + Parameters + ---------- + asset : Asset cable object with it's properties from ESDL + + Returns + ------- + resistance + """ + default_res = 1e-6 + material = asset.attributes["material"] + el_conductivity = None + if material: + el_conductivity = material.electricalConductivity + if not el_conductivity: + logger.warning( + f"Cable {asset.name} does not have a material with conductivity assigned," + f" using default resistance of {default_res} ohm/m" + ) + res_ohm_per_m = 1 / el_conductivity if el_conductivity else default_res + + return res_ohm_per_m + def _is_disconnectable_pipe(self, asset: Asset) -> bool: """ This function checks if the pipe is connected to specific assets (e.g. source) and if so diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 588af47fb..5bace04f5 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -589,6 +589,7 @@ def convert_heat_pipe( ] if isinstance(asset.in_ports[0].carrier, esdl.esdl.GasCommodity): + (diameter, wall_roughness) = self._gas_pipe_get_diameter_and_roughness(asset) q_nominal = math.pi * diameter**2 / 4.0 * self.v_max_gas / 2.0 self._set_q_nominal(asset, q_nominal) q_max = math.pi * diameter**2 / 4.0 * self.v_max_gas diff --git a/src/mesido/workflows/multicommodity_simulator_workflow.py b/src/mesido/workflows/multicommodity_simulator_workflow.py index b51ba8f5e..a713bd937 100644 --- a/src/mesido/workflows/multicommodity_simulator_workflow.py +++ b/src/mesido/workflows/multicommodity_simulator_workflow.py @@ -607,7 +607,7 @@ def solver_options(self): options["solver"] = "highs" highs_options = options["highs"] = {} - highs_options["presolve"] = "off" + highs_options["presolve"] = "on" return options @@ -639,7 +639,9 @@ def priority_completed(self, priority): ) logger.info(f"Goal with priority {priority} has been completed") if priority == 1 and self.objective_value > 1e-6: - raise RuntimeError("The heating demand is not matched") + raise RuntimeError( + f"The heating demand is not matched, objective value is {self.objective_value}" + ) def __state_vector_scaled(self, variable, ensemble_member): canonical, sign = self.alias_relation.canonical_signed(variable) diff --git a/tests/models/unit_cases_gas/source_sink/input/timeseries.csv b/tests/models/unit_cases_gas/source_sink/input/timeseries.csv index dc34acc97..cb19c43e7 100644 --- a/tests/models/unit_cases_gas/source_sink/input/timeseries.csv +++ b/tests/models/unit_cases_gas/source_sink/input/timeseries.csv @@ -1,4 +1,4 @@ DateTime,GasDemand_a2d8 -01-01-2019 00:00, 0.05 -01-01-2019 01:00, 0.1 -01-01-2019 02:00, 0.15 +01-01-2019 00:00, 0.045 +01-01-2019 01:00, 0.095 +01-01-2019 02:00, 0.14 diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index 4eb173233..65daf16ad 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -72,9 +72,9 @@ def solver_options(self): for iv in range(len(v_inspect)): np.testing.assert_allclose( v_inspect[iv] / solution.gas_network_settings["maximum_velocity"] * head_loss_max, - 2.173724632, + 2.1760566566624733, ) - np.testing.assert_allclose(-results["Pipe_6ba6.dH"][iv], 2.173724632) + np.testing.assert_allclose(-results["Pipe_6ba6.dH"][iv], 2.1760566566624733) gas_price_profile = "Hydrogen.price_profile" state = "GasDemand_0cf3.Gas_demand_mass_flow" diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index e6819e1b7..67ba3b39d 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -569,7 +569,7 @@ def energy_system_options(self): # Compare the hydraulic power to hard-coded values. Difference expected if an error # occours in the calculation of the gas kinematic viscosity. if head_loss_option_setting == HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY: - np.testing.assert_allclose(head_loss_v_point_1, 1298.1537098750562) + np.testing.assert_allclose(head_loss_v_point_1, 1339.4824830351974) delta_volumetric_flow = (v_points[1] * np.pi * pipe_diameter**2 / 4.0) - ( v_points[0] * np.pi * pipe_diameter**2 / 4.0 From fc35be47741a4d26308bf3ae786e0f3cd4b9c05c Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Fri, 15 Nov 2024 09:36:06 +0100 Subject: [PATCH 238/376] Update changelog main due to DTK new release (#214) Update changelog due to DTK new release --- CHANGELOG.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dcdc0887e..79a63af41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased] - 2024-11-11 +# [Unreleased-main] - 2024-11-15 ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class @@ -10,8 +10,20 @@ - Bugfix: same mip gap settings for all solvers in grow_workflow. - Bugfix: head loss test case when minimum_velocity = 0.0 +# [0.1.8.2] - 2024-11-15 -# [0.1.8] - 2024-11-07 +## Added +- xx + +## Changed +- xx + +## Fixed +- Bugfix: same mip gap settings for all solvers in grow_workflow. +- Bugfix: head loss test case when minimum_velocity = 0.0 + + +# [0.1.8 & 0.1.8.1] - 2024-11-07 ## Added - Added MESIDO error exception class to raise applicable potential errors in a workflow & include required info for feedback in the mapeditor From f93f939a97a440775aacc368f2d24da7f71931bd Mon Sep 17 00:00:00 2001 From: Jaimepatt Date: Tue, 19 Nov 2024 10:02:27 +0100 Subject: [PATCH 239/376] 166 adapt profiles for heating and cooling peak day seperately (#181) The goal of the PR was to allow mesido (in the presence of cold demands) to discretize hourly the peak days for both maximum heat and cold demands. This was done mainly by developing the adapt_profiles.py script, where the time series are modified. A few tests were added to account for this new functionality. These were placed in the test_cold_demand.py test file. --------- Co-authored-by: kobus.vanrooyen@tno.nl --- .gitignore | 9 +- .../input/timeseries_4.csv | 2 +- examples/heating_and_cooling/src/run_case.py | 4 +- src/mesido/workflows/utils/adapt_profiles.py | 110 +++++---- .../wko/input/timeseries_cold_peak_before.csv | 73 ++++++ .../input/timeseries_peak_back_to_back.csv | 73 ++++++ .../wko/input/timeseries_peak_overlap.csv | 146 +++++++++++ .../model/heatpump_airco_time_parsing.esdl | 222 +++++++++++++++++ tests/test_cold_demand.py | 232 +++++++++++++++++- tests/test_esdl_parsing.py | 1 + 10 files changed, 823 insertions(+), 49 deletions(-) create mode 100644 tests/models/wko/input/timeseries_cold_peak_before.csv create mode 100644 tests/models/wko/input/timeseries_peak_back_to_back.csv create mode 100644 tests/models/wko/input/timeseries_peak_overlap.csv create mode 100644 tests/models/wko/model/heatpump_airco_time_parsing.esdl diff --git a/.gitignore b/.gitignore index 6016fb631..5e9fbb449 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,11 @@ src/*.egg-info # Ignore ESDL files created by workflows *_GrowOptimized.esdl *_GrowOptimized_esdl_string.esdl -*_Simulation.esdl \ No newline at end of file +*_Simulation.esdl + +# Virtual environment files +.venv/* + +# Docs build folder +docs/_build/* +docs/_build_kvr_ \ No newline at end of file diff --git a/examples/heating_and_cooling/input/timeseries_4.csv b/examples/heating_and_cooling/input/timeseries_4.csv index e6e6492d1..5452b3923 100644 --- a/examples/heating_and_cooling/input/timeseries_4.csv +++ b/examples/heating_and_cooling/input/timeseries_4.csv @@ -8758,4 +8758,4 @@ 31-12-2019 19:00,7153340.193,0.437378359,0.437378359 31-12-2019 20:00,7153337.192,0.360347986,0.360347986 31-12-2019 21:00,7153335.048,0.234917204,0.234917204 -31-12-2019 22:00,7153333.762,0.114569593,0.114569593 \ No newline at end of file +31-12-2019 22:00,7153333.762,0.114569593,0.114569593 diff --git a/examples/heating_and_cooling/src/run_case.py b/examples/heating_and_cooling/src/run_case.py index 8b7be830b..b6881a689 100644 --- a/examples/heating_and_cooling/src/run_case.py +++ b/examples/heating_and_cooling/src/run_case.py @@ -57,7 +57,8 @@ def parameters(self, ensemble_member): def read(self): super().read() - # Set the peak of the heating demand since the specified proifle is normalized to 1 + # Set the peak of the heating demand since the specified profile is normalized to 1 + for d in self.energy_system_components["heat_demand"]: target = self.get_timeseries(f"{d}.target_heat_demand") for ii in range(len(target.values)): @@ -117,6 +118,7 @@ def constraints(self, ensemble_member): # discharged. -> WKO in cooling mode # - Volume decrease: Cold well is being charged and the hot well is being # discharged. -> WKO in heating mode + for ates_id in self.energy_system_components.get("low_temperature_ates", []): stored_volume = self.state_vector(f"{ates_id}.Stored_volume") volume_usage = 0.0 diff --git a/src/mesido/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py index f184d72da..6cb579499 100644 --- a/src/mesido/workflows/utils/adapt_profiles.py +++ b/src/mesido/workflows/utils/adapt_profiles.py @@ -74,7 +74,9 @@ def adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(problem, prob - cold_demand_nominal: max cold demand value found for a specific cold demand """ - demands = problem.energy_system_components.get("heat_demand", []) + # Extract heat and cold demand assets + heat_demands = problem.energy_system_components.get("heat_demand", []) + cold_demands = problem.energy_system_components.get("cold_demand", []) new_datastore = DataStore(problem) new_datastore.reference_datetime = problem.io.datetimes[0] @@ -82,51 +84,95 @@ def adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(problem, prob for ensemble_member in range(problem.ensemble_size): parameters = problem.parameters(ensemble_member) - total_demand = None - heat_demand_nominal = dict() - for demand in demands: + total_heat_demand = None + heat_demand_nominal = dict() + # Assemble all demands together to get the peaks. + for demand in heat_demands: try: demand_values = problem.get_timeseries( f"{demand}.target_heat_demand", ensemble_member ).values except KeyError: continue - if total_demand is None: - total_demand = demand_values + if total_heat_demand is None: + total_heat_demand = demand_values else: - total_demand += demand_values + total_heat_demand += demand_values heat_demand_nominal[f"{demand}.Heat_demand"] = max(demand_values) heat_demand_nominal[f"{demand}.Heat_flow"] = max(demand_values) + total_cold_demand = None + cold_demand_nominal = dict() + for demand in cold_demands: + try: + cold_demand_values = problem.get_timeseries( + f"{demand}.target_cold_demand", ensemble_member + ).values + except KeyError: + continue + if total_cold_demand is None: + total_cold_demand = cold_demand_values + else: + total_cold_demand += cold_demand_values + cold_demand_nominal[f"{demand}.Cold_demand"] = max(cold_demand_values) + cold_demand_nominal[f"{demand}.Heat_flow"] = max(cold_demand_values) + + new_date_times = list() + nr_of_days = len(total_heat_demand) // 24 + day_steps = problem_day_steps + + peak_days = [] + if total_heat_demand is not None: + idx_max_hot = int(np.argmax(total_heat_demand)) + max_day_hot = idx_max_hot // 24 + + problem_indx_max_peak = max_day_hot // day_steps + if max_day_hot % day_steps > 0: + problem_indx_max_peak += 1.0 + + peak_days.append(max_day_hot) + else: + max_day_hot = None + + if total_cold_demand is not None: + idx_max_cold = int(np.argmax(total_cold_demand)) + max_day_cold = idx_max_cold // 24 + + problem_indx_max_peak_cold = max_day_cold // day_steps + if max_day_cold % day_steps > 0: + problem_indx_max_peak_cold += 1.0 + + peak_days.append(max_day_cold) + else: + max_day_cold = None + # TODO: the approach of picking one peak day was introduced for a network with a tree # layout and all big sources situated at the root of the tree. It is not guaranteed # that an optimal solution is reached in different network topologies. - idx_max = int(np.argmax(total_demand)) - max_day = idx_max // 24 - nr_of_days = len(total_demand) // 24 - new_date_times = list() - day_steps = problem_day_steps - problem_indx_max_peak = max_day // day_steps - if max_day % day_steps > 0: - problem_indx_max_peak += 1.0 + peak_days = sorted(peak_days) + peak_check_days = np.array(peak_days) // day_steps * day_steps + current_peak_idx = 0 for day in range(0, nr_of_days, day_steps): - if day == max_day // day_steps * day_steps: - if max_day > day: + if day in peak_check_days: + peak_day = peak_days[current_peak_idx] + if peak_day > day: new_date_times.append(problem.io.datetimes[day * 24]) - new_date_times.extend(problem.io.datetimes[max_day * 24 : max_day * 24 + 24]) - if (day + day_steps - 1) > max_day: - new_date_times.append(problem.io.datetimes[max_day * 24 + 24]) + new_date_times.extend(problem.io.datetimes[peak_day * 24 : peak_day * 24 + 24]) + if (day + day_steps - 1) > peak_day: + new_date_times.append(problem.io.datetimes[peak_day * 24 + 24]) + current_peak_idx += 1 else: new_date_times.append(problem.io.datetimes[day * 24]) + new_date_times.append(problem.io.datetimes[-1] + datetime.timedelta(hours=1)) new_date_times = np.asarray(new_date_times) parameters["times"] = [x.timestamp() for x in new_date_times] - for demand in demands: + for demand in heat_demands: var_name = f"{demand}.target_heat_demand" set_data_with_averages_and_peak_day( datastore=new_datastore, @@ -135,26 +181,6 @@ def adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(problem, prob new_date_times=new_date_times, problem=problem, ) - # ------------------------------------------------------------------------------------------ - # cooling demands - total_cold_demand = None - cold_demand_nominal = dict() - - for demand in cold_demands: - try: - cold_demand_values = problem.get_timeseries( - f"{demand}.target_cold_demand", ensemble_member - ).values - except KeyError: - continue - if total_cold_demand is None: - total_cold_demand = cold_demand_values - else: - total_cold_demand += cold_demand_values - cold_demand_nominal[f"{demand}.Cold_demand"] = max(cold_demand_values) - cold_demand_nominal[f"{demand}.Heat_flow"] = max(cold_demand_values) - - # TODO: find the peak cooling day and adapt to hourly for demand in cold_demands: var_name = f"{demand}.target_cold_demand" @@ -165,8 +191,6 @@ def adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(problem, prob new_date_times=new_date_times, problem=problem, ) - # end cooling demands - # ------------------------------------------------------------------------------------------ # TODO: this has not been tested but is required if a production profile is included # in the data diff --git a/tests/models/wko/input/timeseries_cold_peak_before.csv b/tests/models/wko/input/timeseries_cold_peak_before.csv new file mode 100644 index 000000000..b7401bdd6 --- /dev/null +++ b/tests/models/wko/input/timeseries_cold_peak_before.csv @@ -0,0 +1,73 @@ +DateTime,HeatingDemand_9b90,CoolingDemand_15e8 +01-01-2019 00:00, 53443. , 50107. +01-01-2019 01:00, 52838. , 45983. +01-01-2019 02:00, 52057. , 52349. +01-01-2019 03:00, 45874. , 51427. +01-01-2019 04:00, 49568. , 48338. +01-01-2019 05:00, 47559. , 51436. +01-01-2019 06:00, 54812. , 54657. +01-01-2019 07:00, 47576. , 54822. +01-01-2019 08:00, 53625. , 49199. +01-01-2019 09:00, 52464. , 52204. +01-01-2019 10:00, 52392. , 53479. +01-01-2019 11:00, 53502. , 53136. +01-01-2019 12:00, 50676. , 51021. +01-01-2019 13:00, 47906. , 51038. +01-01-2019 14:00, 50858. , 47504. +01-01-2019 15:00, 53141. , 48440. +01-01-2019 16:00, 45792. , 45363. +01-01-2019 17:00, 52436. , 45404. +01-01-2019 18:00, 48184. , 51854. +01-01-2019 19:00, 54302. , 48753. +01-01-2019 20:00, 54812. , 45921. +01-01-2019 21:00, 52438. , 45172. +01-01-2019 22:00, 53969. , 51356. +01-01-2019 23:00, 51430. , 49830. +02-01-2019 00:00, 50481. , 153460. +02-01-2019 01:00, 54842. , 159155. +02-01-2019 02:00, 48286. , 144197. +02-01-2019 03:00, 50899. , 162283. +02-01-2019 04:00, 51661. , 156897. +02-01-2019 05:00, 48576. , 147894. +02-01-2019 06:00, 54326. , 143438. +02-01-2019 07:00, 52148. , 148501. +02-01-2019 08:00, 50828. , 151202. +02-01-2019 09:00, 51165. , 160992. +02-01-2019 10:00, 50505. , 135468. +02-01-2019 11:00, 47842. , 151263. +02-01-2019 12:00, 45281. , 135936. +02-01-2019 13:00, 52086. , 160194. +02-01-2019 14:00, 48396. , 142512. +02-01-2019 15:00, 53006. , 164212. +02-01-2019 16:00, 49557. , 142815. +02-01-2019 17:00, 49215. , 156393. +02-01-2019 18:00, 51909. , 156898. +02-01-2019 19:00, 45777. , 154097. +02-01-2019 20:00, 45112. , 139101. +02-01-2019 21:00, 45377. , 142508. +02-01-2019 22:00, 50585. , 138014. +02-01-2019 23:00, 52719. , 152271. +03-01-2019 00:00, 105932., 48049. +03-01-2019 01:00, 105250., 52577. +03-01-2019 02:00, 94298. , 52635. +03-01-2019 03:00, 94678. , 45261. +03-01-2019 04:00, 92126. , 50465. +03-01-2019 05:00, 107091., 49095. +03-01-2019 06:00, 90454. , 52078. +03-01-2019 07:00, 101801., 49649. +03-01-2019 08:00, 105812., 49353. +03-01-2019 09:00, 107787., 54142. +03-01-2019 10:00, 105414., 45581. +03-01-2019 11:00, 103343., 46460. +03-01-2019 12:00, 109949., 45319. +03-01-2019 13:00, 99340. , 54311. +03-01-2019 14:00, 95641. , 48355. +03-01-2019 15:00, 96303. , 54496. +03-01-2019 16:00, 100944., 54984. +03-01-2019 17:00, 109763., 49444. +03-01-2019 18:00, 93902. , 54970. +03-01-2019 19:00, 103711., 50130. +03-01-2019 20:00, 107416., 46953. +03-01-2019 21:00, 107923., 46687. +03-01-2019 22:00, 96886. , 47852. +03-01-2019 23:00, 100891., 49318. \ No newline at end of file diff --git a/tests/models/wko/input/timeseries_peak_back_to_back.csv b/tests/models/wko/input/timeseries_peak_back_to_back.csv new file mode 100644 index 000000000..63c614564 --- /dev/null +++ b/tests/models/wko/input/timeseries_peak_back_to_back.csv @@ -0,0 +1,73 @@ +DateTime,HeatingDemand_9b90,CoolingDemand_15e8 +01-01-2019 00:00, 48163. , 50125. +01-01-2019 01:00, 48123. , 45698. +01-01-2019 02:00, 50446. , 51155. +01-01-2019 03:00, 53201. , 54720. +01-01-2019 04:00, 49510. , 51957. +01-01-2019 05:00, 47682. , 53781. +01-01-2019 06:00, 53991. , 50784. +01-01-2019 07:00, 53992. , 49877. +01-01-2019 08:00, 47998. , 51592. +01-01-2019 09:00, 47787. , 49431. +01-01-2019 10:00, 50598. , 51766. +01-01-2019 11:00, 49638. , 50559. +01-01-2019 12:00, 53435. , 47024. +01-01-2019 13:00, 46920. , 51621. +01-01-2019 14:00, 49264. , 46323. +01-01-2019 15:00, 54019. , 51211. +01-01-2019 16:00, 50862. , 46283. +01-01-2019 17:00, 53490. , 46747. +01-01-2019 18:00, 49737. , 48574. +01-01-2019 19:00, 46836. , 48264. +01-01-2019 20:00, 46667. , 46183. +01-01-2019 21:00, 50328. , 54241. +01-01-2019 22:00, 52847. , 52425. +01-01-2019 23:00, 50058. , 48466. +02-01-2019 00:00, 96053. , 52805. +02-01-2019 01:00, 108810., 48834. +02-01-2019 02:00, 94913. , 48822. +02-01-2019 03:00, 106139., 51767. +02-01-2019 04:00, 91062. , 46944. +02-01-2019 05:00, 90406. , 51886. +02-01-2019 06:00, 108616., 51436. +02-01-2019 07:00, 104235., 46217. +02-01-2019 08:00, 108261., 50615. +02-01-2019 09:00, 109924., 45697. +02-01-2019 10:00, 101306., 47033. +02-01-2019 11:00, 106166., 47102. +02-01-2019 12:00, 92342. , 49779. +02-01-2019 13:00, 91949. , 48933. +02-01-2019 14:00, 95640. , 50428. +02-01-2019 15:00, 107007., 47994. +02-01-2019 16:00, 96450. , 50370. +02-01-2019 17:00, 102807., 51620. +02-01-2019 18:00, 106326., 53273. +02-01-2019 19:00, 98016. , 53819. +02-01-2019 20:00, 101713., 48166. +02-01-2019 21:00, 108212., 48868. +02-01-2019 22:00, 95228. , 49287. +02-01-2019 23:00, 105606., 45722. +03-01-2019 00:00, 48924. , 153285. +03-01-2019 01:00, 49292. , 138767. +03-01-2019 02:00, 52958. , 156390. +03-01-2019 03:00, 53518. , 144570. +03-01-2019 04:00, 52088. , 149922. +03-01-2019 05:00, 51023. , 162992. +03-01-2019 06:00, 50081. , 146542. +03-01-2019 07:00, 47060. , 143825. +03-01-2019 08:00, 49705. , 153988. +03-01-2019 09:00, 54909. , 161754. +03-01-2019 10:00, 49875. , 160633. +03-01-2019 11:00, 47890. , 140198. +03-01-2019 12:00, 48081. , 143418. +03-01-2019 13:00, 46185. , 159537. +03-01-2019 14:00, 45522. , 159834. +03-01-2019 15:00, 48496. , 163719. +03-01-2019 16:00, 46757. , 146812. +03-01-2019 17:00, 51280. , 143791. +03-01-2019 18:00, 51671. , 163792. +03-01-2019 19:00, 50333. , 152620. +03-01-2019 20:00, 52582. , 150023. +03-01-2019 21:00, 45266. , 148353. +03-01-2019 22:00, 52358. , 140326. +03-01-2019 23:00, 50046. , 145990. \ No newline at end of file diff --git a/tests/models/wko/input/timeseries_peak_overlap.csv b/tests/models/wko/input/timeseries_peak_overlap.csv new file mode 100644 index 000000000..9a7cb4891 --- /dev/null +++ b/tests/models/wko/input/timeseries_peak_overlap.csv @@ -0,0 +1,146 @@ +DateTime,HeatingDemand_9b90,CoolingDemand_15e8 +01-01-2019 00:00, 50991. , 47239. +01-01-2019 01:00, 52854. , 51847. +01-01-2019 02:00, 54174. , 51806. +01-01-2019 03:00, 54647. , 48892. +01-01-2019 04:00, 50854. , 46900. +01-01-2019 05:00, 48177. , 47169. +01-01-2019 06:00, 52416. , 54583. +01-01-2019 07:00, 45638. , 50171. +01-01-2019 08:00, 47173. , 54423. +01-01-2019 09:00, 50417. , 52437. +01-01-2019 10:00, 48069. , 51288. +01-01-2019 11:00, 52018. , 50804. +01-01-2019 12:00, 50481. , 52572. +01-01-2019 13:00, 47398. , 51165. +01-01-2019 14:00, 46092. , 46955. +01-01-2019 15:00, 47736. , 51857. +01-01-2019 16:00, 48665. , 46034. +01-01-2019 17:00, 47604. , 54948. +01-01-2019 18:00, 52416. , 47725. +01-01-2019 19:00, 53361. , 52538. +01-01-2019 20:00, 45802. , 53722. +01-01-2019 21:00, 52031. , 49848. +01-01-2019 22:00, 45887. , 53855. +01-01-2019 23:00, 52213. , 49858. +02-01-2019 00:00, 103737. , 142059. +02-01-2019 01:00, 93148. , 144229. +02-01-2019 02:00, 105489. , 163870. +02-01-2019 03:00, 105546. , 145441. +02-01-2019 04:00, 102155. , 149894. +02-01-2019 05:00, 92281. , 151198. +02-01-2019 06:00, 97063. , 144699. +02-01-2019 07:00, 108611. , 157305. +02-01-2019 08:00, 108339. , 149188. +02-01-2019 09:00, 105915. , 152256. +02-01-2019 10:00, 103181. , 154173. +02-01-2019 11:00, 99113. , 142099. +02-01-2019 12:00, 107989. , 147518. +02-01-2019 13:00, 98889. , 149804. +02-01-2019 14:00, 97354. , 151552. +02-01-2019 15:00, 104733. , 156566. +02-01-2019 16:00, 93137. , 142764. +02-01-2019 17:00, 91709. , 158885. +02-01-2019 18:00, 101616. , 147229. +02-01-2019 19:00, 95581. , 142932. +02-01-2019 20:00, 94540. , 142302. +02-01-2019 21:00, 106439. , 159477. +02-01-2019 22:00, 93048. , 144135. +02-01-2019 23:00, 104730. , 164029. +03-01-2019 00:00, 49784. , 48657. +03-01-2019 01:00, 51424. , 46441. +03-01-2019 02:00, 52557. , 48876. +03-01-2019 03:00, 49910. , 46944. +03-01-2019 04:00, 51663. , 46212. +03-01-2019 05:00, 47242. , 47255. +03-01-2019 06:00, 47822. , 51569. +03-01-2019 07:00, 47054. , 50903. +03-01-2019 08:00, 45416. , 45633. +03-01-2019 09:00, 45136. , 54069. +03-01-2019 10:00, 54952. , 54883. +03-01-2019 11:00, 46442. , 49053. +03-01-2019 12:00, 50426. , 49120. +03-01-2019 13:00, 46090. , 52167. +03-01-2019 14:00, 46058. , 46794. +03-01-2019 15:00, 45596. , 51173. +03-01-2019 16:00, 52784. , 49191. +03-01-2019 17:00, 50426. , 52196. +03-01-2019 18:00, 45874. , 46466. +03-01-2019 19:00, 49908. , 48105. +03-01-2019 20:00, 50521. , 48673. +03-01-2019 21:00, 48145. , 45985. +03-01-2019 22:00, 45468. , 51786. +03-01-2019 23:00, 53179. , 49870. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/wko/model/heatpump_airco_time_parsing.esdl b/tests/models/wko/model/heatpump_airco_time_parsing.esdl new file mode 100644 index 000000000..a03e7874e --- /dev/null +++ b/tests/models/wko/model/heatpump_airco_time_parsing.esdl @@ -0,0 +1,222 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index bf610665e..2ae2bb679 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -8,14 +8,21 @@ from mesido.exceptions import MesidoAssetIssueError from mesido.potential_errors import MesidoAssetIssueType, PotentialErrors from mesido.util import run_esdl_mesido_optimization +from mesido.workflows.utils.adapt_profiles import ( + adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, +) from mesido.workflows.utils.error_types import mesido_issue_type_gen_message + import numpy as np +import pandas as pd + from utils_test_scaling import create_log_list_scaling from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test + logger = logging.getLogger("WarmingUP-MPC") logger.setLevel(logging.INFO) @@ -257,10 +264,229 @@ def energy_system_options(self): ) # ------------------------------------------------------------------------------------------ + def test_heat_cold_demand_peak_overlap(self): + """ + This is a demand parsing and time series discretization test. + It checks whether the timeseries are discretized correctly in presence of + a cold and heat demand. This case runs a heat and cold demand case where + both peaks are on the same day. + """ + import models.wko.src.example as example + from models.wko.src.example import HeatProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + class DiscretizationProblem(HeatProblem): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.day_steps = 1 + + def read(self): + super().read() + + ( + self.__indx_max_peak, + self.__heat_demand_nominal, + self.__cold_demand_nominal, + ) = adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day( + self, + self.day_steps, + ) + + heat_problem = run_esdl_mesido_optimization( + DiscretizationProblem, + base_folder=base_folder, + esdl_file_name="heatpump_airco_time_parsing.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_peak_overlap.csv", + ) + results = heat_problem.extract_results() + + cold_demand_timeseries = heat_problem.get_timeseries( + "CoolingDemand_15e8.target_cold_demand" + ) + heat_demand_timeseries = heat_problem.get_timeseries( + "HeatingDemand_9b90.target_heat_demand" + ) + max_cold_idx = np.argmax(cold_demand_timeseries.values) + max_heat_idx = np.argmax(heat_demand_timeseries.values) + + # Check that the resulting discretized series are the correct size. + np.testing.assert_equal(len(cold_demand_timeseries.times), 27) + np.testing.assert_equal(len(heat_demand_timeseries.times), 27) + + # Check that the peak hour is at the correct location after discretization. + np.testing.assert_equal(max_cold_idx, 25) + np.testing.assert_equal(max_heat_idx, 9) + + # Check that the peak day array is the same as the raw input after discretization. + csv_path = base_folder / "input/timeseries_peak_overlap.csv" + raw_demand_data = pd.read_csv(csv_path) + cold_demand_raw_list = np.array(raw_demand_data["CoolingDemand_15e8"]) + heat_demand_raw_list = np.array(raw_demand_data["HeatingDemand_9b90"]) + np.testing.assert_array_equal( + cold_demand_raw_list[24:47], cold_demand_timeseries.values[2:25] + ) + np.testing.assert_array_equal( + heat_demand_raw_list[24:47], heat_demand_timeseries.values[2:25] + ) + + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + + def test_heat_cold_demand_peak_back_to_back(self): + """ + This is a demand parsing and time series discretization test. + It checks whether the timeseries are discretized correctly in presence of + a cold and heat demand. This case runs a heat and cold demand case where + both peaks are on consecutive days. + """ + import models.wko.src.example as example + from models.wko.src.example import HeatProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + class DiscretizationProblem(HeatProblem): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.day_steps = 1 + + def read(self): + super().read() + + ( + self.__indx_max_peak, + self.__heat_demand_nominal, + self.__cold_demand_nominal, + ) = adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day( + self, + self.day_steps, + ) + + heat_problem = run_esdl_mesido_optimization( + DiscretizationProblem, + base_folder=base_folder, + esdl_file_name="heatpump_airco_time_parsing.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_peak_back_to_back.csv", + ) + results = heat_problem.extract_results() + + cold_demand_timeseries = heat_problem.get_timeseries( + "CoolingDemand_15e8.target_cold_demand" + ) + heat_demand_timeseries = heat_problem.get_timeseries( + "HeatingDemand_9b90.target_heat_demand" + ) + max_cold_idx = np.argmax(cold_demand_timeseries.values) + max_heat_idx = np.argmax(heat_demand_timeseries.values) + + # Check that the resulting discretized series are the correct size. + np.testing.assert_equal(len(cold_demand_timeseries.times), 50) + np.testing.assert_equal(len(heat_demand_timeseries.times), 50) + + # Check that the peak hour is at the correct location after discretization. + np.testing.assert_equal(max_cold_idx, 44) + np.testing.assert_equal(max_heat_idx, 11) + + # Check that the peak day array is the same as the raw input after discretization. + csv_path = base_folder / "input/timeseries_peak_back_to_back.csv" + raw_demand_data = pd.read_csv(csv_path) + cold_demand_raw_list = np.array(raw_demand_data["CoolingDemand_15e8"]) + heat_demand_raw_list = np.array(raw_demand_data["HeatingDemand_9b90"]) + np.testing.assert_array_equal( + cold_demand_raw_list[48:72], cold_demand_timeseries.values[26:50] + ) + np.testing.assert_array_equal( + heat_demand_raw_list[24:47], heat_demand_timeseries.values[2:25] + ) + + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + + def test_heat_cold_peak_before(self): + """ + This is a demand parsing and time series discretization test. + It checks whether the timeseries are discretized correctly in presence of + a cold and heat demand. This case runs a heat and cold demand case where + the cold peak happens before the heat one. + """ + import models.wko.src.example as example + from models.wko.src.example import HeatProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + class DiscretizationProblem(HeatProblem): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.day_steps = 1 + + def read(self): + super().read() + + ( + _, + _, + _, + ) = adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day( + self, + self.day_steps, + ) + + heat_problem = run_esdl_mesido_optimization( + DiscretizationProblem, + base_folder=base_folder, + esdl_file_name="heatpump_airco_time_parsing.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_cold_peak_before.csv", + ) + results = heat_problem.extract_results() + + cold_demand_timeseries = heat_problem.get_timeseries( + "CoolingDemand_15e8.target_cold_demand" + ) + heat_demand_timeseries = heat_problem.get_timeseries( + "HeatingDemand_9b90.target_heat_demand" + ) + max_cold_idx = np.argmax(cold_demand_timeseries.values) + max_heat_idx = np.argmax(heat_demand_timeseries.values) + + # Check that the resulting discretized series are the correct size. + np.testing.assert_equal(len(cold_demand_timeseries.times), 50) + np.testing.assert_equal(len(heat_demand_timeseries.times), 50) + + # Check that the peak hour is at the correct location after discretization. + np.testing.assert_equal(max_cold_idx, 17) + np.testing.assert_equal(max_heat_idx, 38) + + # Check that the peak day array is the same as the raw input after discretization. + csv_path = base_folder / "input/timeseries_cold_peak_before.csv" + raw_demand_data = pd.read_csv(csv_path) + cold_demand_raw_list = np.array(raw_demand_data["CoolingDemand_15e8"]) + heat_demand_raw_list = np.array(raw_demand_data["HeatingDemand_9b90"]) + np.testing.assert_array_equal( + cold_demand_raw_list[24:48], cold_demand_timeseries.values[2:26] + ) + np.testing.assert_array_equal( + heat_demand_raw_list[48:75], heat_demand_timeseries.values[26:50] + ) + + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + if __name__ == "__main__": test_cold_demand = TestColdDemand() test_cold_demand.test_insufficient_capacity() - # test_cold_demand.test_cold_demand() - # test_cold_demand.test_wko() - # test_cold_demand.test_airco() + test_cold_demand.test_cold_demand() + test_cold_demand.test_wko() + test_cold_demand.test_airco() + test_cold_demand.test_heat_cold_demand_peak_overlap() + test_cold_demand.test_heat_cold_demand_peak_back_to_back() + test_cold_demand.test_heat_cold_peak_before() diff --git a/tests/test_esdl_parsing.py b/tests/test_esdl_parsing.py index f67a24e6b..e3df28f76 100644 --- a/tests/test_esdl_parsing.py +++ b/tests/test_esdl_parsing.py @@ -10,6 +10,7 @@ class TestESDLParsing(unittest.TestCase): + def test_from_string_and_from_file_are_equal(self): """ This test checks if we load the model for the electrolyzer test case From c074cb87682cb869e748f95f4b16a5f63a0ab182 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Thu, 21 Nov 2024 10:31:03 +0100 Subject: [PATCH 240/376] update after profile peak day update (#217) Updated changelog for the profile update work that has been committed recently --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79a63af41..cf923ff62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,10 @@ -# [Unreleased-main] - 2024-11-15 +# [Unreleased-main] - 2024-11-21 ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class ## Changed -- xx +- Adapt profiles for heating and cooling peak day seperately & add test case ## Fixed - Bugfix: same mip gap settings for all solvers in grow_workflow. From a1eddef6d0d5203395bffe74bd4a0de5d144d484 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 26 Nov 2024 11:49:39 +0100 Subject: [PATCH 241/376] Cleanup assets esdlconversion (#212) Clean up on conversion to pycml assets from esdl. Separated the gas and heatpipe convert functions as well as a the genericconversion function. --- CHANGELOG.md | 2 + src/mesido/esdl/asset_to_component_base.py | 8 +- src/mesido/esdl/esdl_heat_model.py | 210 ++++++++++++++---- src/mesido/esdl/esdl_mixin.py | 5 +- .../milp/electricity/electricity_cable.py | 2 +- .../source_pipe_sink/src/double_pipe_heat.py | 5 + tests/test_gas_boiler.py | 11 + tests/test_multicommodity_simulator.py | 2 +- 8 files changed, 198 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf923ff62..1a1e8660b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class ## Changed +- Write output to json also saves the solver statistics. +- Updates in asset conversion from ESDL to pycml; gas and heat pipe split, generic conversion better specified. - Adapt profiles for heating and cooling peak day seperately & add test case ## Fixed diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index ad2c2f814..28ebcc750 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -176,9 +176,9 @@ class _AssetToComponentBase: "HeatProducer": "heat_source", "Import": "import", "ResidualHeatSource": "heat_source", - "GenericConversion": "heat_exchanger", + "GenericConversion": "generic_conversion", "Joint": "node", - "Pipe": "heat_pipe", + "Pipe": "pipe", "Pump": "pump", "PressureReducingValve": "gas_substation", "PVInstallation": "electricity_source", @@ -186,6 +186,7 @@ class _AssetToComponentBase: "Sensor": "skip", "Valve": "control_valve", "WindPark": "electricity_source", + "WindTurbine": "electricity_source", "Transformer": "transformer", "CheckValve": "check_valve", } @@ -394,8 +395,9 @@ def _cable_get_resistance(self, asset: Asset) -> Tuple: Returns ------- - resistance + resistance [ohm/m] """ + default_res = 1e-6 material = asset.attributes["material"] el_conductivity = None diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 5bace04f5..1d3b0f6b8 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -522,6 +522,114 @@ def convert_node(self, asset: Asset) -> Tuple[Type[Node], MODIFIERS]: return Node, modifiers + def convert_pipe(self, asset: Asset) -> Tuple[Union[Type[HeatPipe], Type[GasPipe]], MODIFIERS]: + """ + This function converts the pipe object in esdl to a set of modifiers that can be used in + a pycml object. Most important, it checks whether it should be converted to a gas or heat + pipe based on the connected commodity. + :param asset: The asset object with its properties. + :return: + """ + + assert asset.asset_type == "Pipe" + + if isinstance(asset.in_ports[0].carrier, esdl.esdl.GasCommodity): + return self.convert_gas_pipe(asset) + elif isinstance(asset.in_ports[0].carrier, esdl.esdl.HeatCommodity): + return self.convert_heat_pipe(asset) + else: + logger.error( + f"{asset.name} is of type {asset.asset_type} but is connected with a commodity of " + f"type {str(type(asset.in_ports[0].carrier))}, while only the commodities Heat and " + f"Gas are allowed" + ) + + def convert_gas_pipe( + self, asset: Asset + ) -> Tuple[Union[Type[HeatPipe], Type[GasPipe]], MODIFIERS]: + """ + This function converts the pipe object in esdl to a set of modifiers that can be used in + a pycml object. Most important: + + - Setting the dimensions of the pipe needed for head loss computation. + - setting if a pipe is disconnecteable for the optimization. + - Setting the state (enabled, disabled, optional) + - Setting the relevant pressure. + - Setting the relevant cost figures. + + Required ESDL fields: + --------------------- + - Diameter/inner_diameter [m] + - length [m] + - id (this id must be unique) + - name (this name must be unique) + - xsi:type + - State + - InPort and OutPort with (note only one inport and one outport): + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified + + Optional ESDL fields: + --------------------- + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters + ---------- + asset : The asset object with its properties. + + Returns + ------- + Pipe class with modifiers + """ + + length = asset.attributes["length"] + if length < 25.0: + length = 25.0 + logger.warning( + f"{asset.name} was shorter then the minimum length, thus is set to " + f"{length} meter" + ) + + id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ + "id_number_mapping" + ] + (diameter, wall_roughness) = self._gas_pipe_get_diameter_and_roughness(asset) + q_nominal = math.pi * diameter**2 / 4.0 * self.v_max_gas / 2.0 + self._set_q_nominal(asset, q_nominal) + q_max = math.pi * diameter**2 / 4.0 * self.v_max_gas + self._set_q_max(asset, q_max) + pressure = asset.in_ports[0].carrier.pressure * 1.0e5 + density = get_density(asset.name, asset.in_ports[0].carrier) + bounds_nominals = dict( + Q=dict(min=-q_max, max=q_max, nominal=q_nominal), + mass_flow=dict(min=-q_max * density, max=q_max * density, nominal=q_nominal * density), + Hydraulic_power=dict(nominal=q_nominal * pressure), + ) + modifiers = dict( + id_mapping_carrier=id_mapping, + length=length, + density=density, + diameter=diameter, + pressure=pressure, + # disconnectable=self._is_disconnectable_pipe(asset), + # TODO: disconnectable option for gaspipes needs to be added. + GasIn=bounds_nominals, + GasOut=bounds_nominals, + state=self.get_state(asset), + **self._get_cost_figure_modifiers(asset), + ) + + return GasPipe, modifiers + def convert_heat_pipe( self, asset: Asset ) -> Tuple[Union[Type[HeatPipe], Type[GasPipe]], MODIFIERS]: @@ -540,8 +648,8 @@ def convert_heat_pipe( Required ESDL fields: --------------------- - - Diameter/inner_diameter - - length + - Diameter/inner_diameter [m] + - length [m] - id (this id must be unique) - name (this name must be unique) - xsi:type @@ -577,6 +685,10 @@ def convert_heat_pipe( length = asset.attributes["length"] if length < 25.0: length = 25.0 + logger.warning( + f"{asset.name} was shorter then the minimum length, thus is set to " + f"{length} meter" + ) ( diameter, @@ -584,40 +696,6 @@ def convert_heat_pipe( conductivies_insulation, ) = self._pipe_get_diameter_and_insulation(asset) - id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ - "id_number_mapping" - ] - - if isinstance(asset.in_ports[0].carrier, esdl.esdl.GasCommodity): - (diameter, wall_roughness) = self._gas_pipe_get_diameter_and_roughness(asset) - q_nominal = math.pi * diameter**2 / 4.0 * self.v_max_gas / 2.0 - self._set_q_nominal(asset, q_nominal) - q_max = math.pi * diameter**2 / 4.0 * self.v_max_gas - self._set_q_max(asset, q_max) - pressure = asset.in_ports[0].carrier.pressure * 1.0e5 - density = get_density(asset.name, asset.in_ports[0].carrier) - bounds_nominals = dict( - Q=dict(min=-q_max, max=q_max, nominal=q_nominal), - mass_flow=dict( - min=-q_max * density, max=q_max * density, nominal=q_nominal * density - ), - Hydraulic_power=dict(nominal=q_nominal * pressure), - ) - modifiers = dict( - id_mapping_carrier=id_mapping, - length=length, - density=density, - diameter=diameter, - pressure=pressure, - # disconnectable=self._is_disconnectable_pipe(asset), # still to be added - GasIn=bounds_nominals, - GasOut=bounds_nominals, - state=self.get_state(asset), - **self._get_cost_figure_modifiers(asset), - ) - - return GasPipe, modifiers - temperature_modifiers = self._supply_return_temperature_modifiers(asset) temperature = temperature_modifiers["temperature"] @@ -741,6 +819,44 @@ def convert_pump(self, asset: Asset) -> Tuple[Type[Pump], MODIFIERS]: return Pump, modifiers + def convert_generic_conversion( + self, asset: Asset + ) -> Tuple[Union[Type[Transformer], Type[HeatExchanger]], MODIFIERS]: + """ + This function determines the type to which the generic conversion should be changed, based + on the connected commodities and calls the required conversion function. + + Parameters + ---------- + asset: The asset object with its properties. + + Returns + ------- + Transformer class or HeatExchanger class with modifiers + """ + + assert asset.asset_type in { + "GenericConversion", + } + + if isinstance(asset.in_ports[0].carrier, esdl.ElectricityCommodity) and isinstance( + asset.out_ports[0].carrier, esdl.ElectricityCommodity + ): + return self.convert_transformer(asset) + elif isinstance(asset.in_ports[0].carrier, esdl.HeatCommodity) and isinstance( + asset.out_ports[0].carrier, esdl.HeatCommodity + ): + return self.convert_heat_exchanger(asset) + else: + logger.error( + f"{asset.name} is of type {asset.asset_type} which is currently only " + f"supported as a heat exchanger or an electric transformer, thus either " + f"heat commodities or electricity commodities need to be connected to the " + f"ports. Currently the connected commodities are of type, " + f"{str(type(asset.in_ports[0].carrier))} and " + f"{str(type(asset.out_ports[0].carrier))}" + ) + def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MODIFIERS]: """ This function converts the Heat Exchanger object in esdl to a set of modifiers that can be @@ -1536,7 +1652,13 @@ def convert_electricity_source(self, asset: Asset) -> Tuple[Type[ElectricitySour ------- ElectricitySource class with modifiers """ - assert asset.asset_type in {"ElectricityProducer", "WindPark", "PVInstallation", "Import"} + assert asset.asset_type in { + "ElectricityProducer", + "WindPark", + "WindTurbine", + "PVInstallation", + "Import", + } max_supply = asset.attributes.get( "power", math.inf @@ -1557,7 +1679,7 @@ def convert_electricity_source(self, asset: Asset) -> Tuple[Type[ElectricitySour if asset.asset_type in ["ElectricityProducer", "Import"]: return ElectricitySource, modifiers - if asset.asset_type == "WindPark": + if asset.asset_type in ["WindPark", "WindTurbine"]: return WindPark, modifiers if asset.asset_type == "PVInstallation": return SolarPV, modifiers @@ -1718,12 +1840,20 @@ def convert_electricity_cable(self, asset: Asset) -> Tuple[Type[ElectricityCable max_current = max_power / min_voltage self._set_electricity_current_nominal_and_max(asset, max_current / 2.0, max_current) + length = asset.attributes["length"] + if length == 0.0: + length = 10.0 + logger.warning(f"{asset.name} had a length of 0.0m, thus is set to " f"{length} meter") + res_ohm_per_m = self._cable_get_resistance(asset) + res_ohm = res_ohm_per_m * length + modifiers = dict( max_current=max_current, min_voltage=min_voltage, nominal_current=max_current / 2.0, nominal_voltage=min_voltage, - length=asset.attributes["length"], + length=length, + r=res_ohm, ElectricityOut=dict( V=dict(min=min_voltage, nominal=min_voltage), I=dict(min=-max_current, max=max_current, nominal=max_current / 2.0), @@ -1754,7 +1884,7 @@ def convert_transformer(self, asset: Asset) -> Tuple[Type[Transformer], MODIFIER ------- ElectricityCable class with modifiers """ - assert asset.asset_type in {"Transformer"} + assert asset.asset_type in {"Transformer", "GenericConversion"} self._get_connected_i_nominal_and_max(asset) i_max_in, i_nom_in, i_max_out, i_nom_out = self._get_connected_i_nominal_and_max(asset) min_voltage_in = asset.in_ports[0].carrier.voltage diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index 3ca7f721f..10a21743e 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -421,7 +421,7 @@ def get_asset_from_asset_name(self, asset_name: str) -> esdl.Asset: def esdl_heat_model_options(self) -> Dict: """ - function to spedifically return the needed HeatMixin options needed for the conversion + function to spedifically return the needed PhysicsMixin options needed for the conversion from ESDL to pycml. This case velocities used to set nominals and caps on the milp. Returns @@ -431,7 +431,8 @@ def esdl_heat_model_options(self) -> Dict: energy_system_options = self.energy_system_options() v_nominal = energy_system_options["estimated_velocity"] v_max = self.heat_network_settings["maximum_velocity"] - return dict(v_nominal=v_nominal, v_max=v_max) + v_max_gas = self.gas_network_settings["maximum_velocity"] + return dict(v_nominal=v_nominal, v_max=v_max, v_max_gas=v_max_gas) def esdl_qth_model_options(self) -> Dict: """ diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py b/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py index 673d16c0a..9125341c3 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py @@ -30,7 +30,7 @@ def __init__(self, name, **modifiers): self.max_voltage = self.min_voltage * 2.0 self.nominal_current = nan self.nominal_voltage = nan - self.r = 1.0e-6 * self.length # TODO: temporary value + self.r = nan self.nominal_voltage_loss = (self.nominal_current * self.r * self.nominal_voltage) ** 0.5 self.power_loss_nominal = self.r * self.max_current * self.nominal_current # We accept lower accuracy in the loss computation to improve scaling in case the nominals diff --git a/tests/models/source_pipe_sink/src/double_pipe_heat.py b/tests/models/source_pipe_sink/src/double_pipe_heat.py index 4cc2b123b..18701f33f 100644 --- a/tests/models/source_pipe_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_sink/src/double_pipe_heat.py @@ -59,6 +59,11 @@ class SourcePipeSink( def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) + def energy_system_options(self): + options = super().energy_system_options() + self.gas_network_settings["maximum_velocity"] = 20.0 + return options + def path_goals(self): g = super().path_goals().copy() g.append(TargetDemandGoal(self)) diff --git a/tests/test_gas_boiler.py b/tests/test_gas_boiler.py index 6c9cb7c7c..064505500 100644 --- a/tests/test_gas_boiler.py +++ b/tests/test_gas_boiler.py @@ -1,3 +1,4 @@ +import math from pathlib import Path from unittest import TestCase @@ -38,6 +39,7 @@ def test_gas_boiler(self): ) results = heat_problem.extract_results() parameters = heat_problem.parameters(0) + bounds = heat_problem.bounds() demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) @@ -50,3 +52,12 @@ def test_gas_boiler(self): * results["GasHeater_f713.GasIn.mass_flow"], results["GasHeater_f713.Heat_source"] + 1.0e-6, ) + + # check if the maximum gas velocity set in problem is used to determine bounds on pipes + v_max_gas = heat_problem.gas_network_settings[ + "maximum_velocity" + ] # m/s maximum velocity set in problem. + np.testing.assert_allclose( + bounds["Pipe_a7b5.GasIn.Q"][1], + parameters["Pipe_a7b5.diameter"] ** 2 / 4 * math.pi * v_max_gas, + ) diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py index 18d630c29..6e2e85a14 100644 --- a/tests/test_multicommodity_simulator.py +++ b/tests/test_multicommodity_simulator.py @@ -275,7 +275,7 @@ def test_multi_commodity_simulator_emerge(self): # enough windfarm power demand_el_calc = windfarm_power - electrolyzer_power demand_el_calc[demand_el_calc < 0] = 0 - np.testing.assert_allclose(demand_el_calc, demand_el, atol=1.0e-6) + np.testing.assert_allclose(demand_el_calc, demand_el, atol=1.0e-3) def test_multi_commodity_simulator_emerge_lowprod(self): import models.emerge.src.example as example From c927023dcc4a1823c5a1aa748f1f5ee5b4751af8 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Mon, 2 Dec 2024 09:08:11 +0100 Subject: [PATCH 242/376] 34 create kip gas workflow (#184) - created a gas and electricity workflow if an example - eboiler port bug fix - change need for elec profile for variable operational cost (heat source) - add variable operational cost for elect & gas source - update fluid/gas property functions - fix test cases --- CHANGELOG.md | 5 + .../input/Example_gas_demand_nom_m3_s.csv | 5 + .../model/Example_gas_elec.esdl | 3061 +++++++++++++++++ .../src/run_example.py | 140 + src/mesido/esdl/asset_to_component_base.py | 79 +- src/mesido/esdl/esdl_heat_model.py | 13 +- src/mesido/financial_mixin.py | 60 +- src/mesido/head_loss_class.py | 1 - .../milp/multicommodity/gas_boiler.py | 7 +- src/mesido/workflows/gas_elect_workflow.py | 208 ++ .../workflows/goals/minimize_tco_goal.py | 2 + .../model/emerge_battery_priorities.esdl | 2 +- ...e_battery_priorities_limited_capacity.esdl | 2 +- .../emerge_priorities_withoutstorage.esdl | 2 +- ...merge_priorities_withoutstorage_2prod.esdl | 2 +- .../electrolyzer/model/h2.esdl | 2 +- .../multi_demand_source_node/model/test.esdl | 10 +- .../model/test_logical_links.esdl | 4 +- .../model/source_sink.esdl | 4 +- .../model/split_with_logical_link.esdl | 4 +- .../source_sink/model/source_sink.esdl | 4 +- tests/test_electrolyzer.py | 10 + tests/test_gas_boiler.py | 11 +- tests/test_hydraulic_power.py | 94 +- tests/test_logical_links.py | 13 + tests/test_multicommodity_simulator.py | 21 +- 26 files changed, 3688 insertions(+), 78 deletions(-) create mode 100644 examples/gas_electricity_network/input/Example_gas_demand_nom_m3_s.csv create mode 100644 examples/gas_electricity_network/model/Example_gas_elec.esdl create mode 100644 examples/gas_electricity_network/src/run_example.py create mode 100644 src/mesido/workflows/gas_elect_workflow.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a1e8660b..da9311df2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,13 +2,18 @@ ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class +- Gas and electricity workflow has been added. Still a work in progress +- Internal energy content function added for natural gas and hydrogen +- OPEX added for gas and electricity source ## Changed - Write output to json also saves the solver statistics. - Updates in asset conversion from ESDL to pycml; gas and heat pipe split, generic conversion better specified. - Adapt profiles for heating and cooling peak day seperately & add test case +- For gas: Use energy content (heating value) instead of internal energy ## Fixed +- Bugfix: gas boiler mass flow contraint units - Bugfix: same mip gap settings for all solvers in grow_workflow. - Bugfix: head loss test case when minimum_velocity = 0.0 diff --git a/examples/gas_electricity_network/input/Example_gas_demand_nom_m3_s.csv b/examples/gas_electricity_network/input/Example_gas_demand_nom_m3_s.csv new file mode 100644 index 000000000..af726e0fd --- /dev/null +++ b/examples/gas_electricity_network/input/Example_gas_demand_nom_m3_s.csv @@ -0,0 +1,5 @@ +DateTime,Demand_3857,Demand_3897,Demand_3923,Demand_3945,Demand_3961,Demand_3973,Demand_3987,Demand_4005,Demand_4015,Demand_4064,Demand_4077,Demand_4090,Demand_4103,Demand_4142,Demand_4164,Demand_4192,Demand_4215,Demand_4236,Demand_4265,Demand_4292,Demand_4303,Demand_4317,Demand_4331,Demand_4343,Demand_4357,Demand_4374,Demand_4391,Demand_4403,Demand_4424,Demand_4436,Demand_4448,Demand_4468,Demand_4482,Demand_4492,Demand_4504,Demand_4521,Demand_4543,Demand_4556,Demand_4577,Demand_4599,Demand_4618,Demand_4635,Demand_4659,Demand_4678,Demand_4706,Demand_4717,Demand_4738,Demand_4767,Demand_4794,Demand_4808,Demand_4820,Demand_4833,Demand_4866,Demand_4888,Demand_4911,Demand_4928,Demand_4961,Demand_5013,Demand_5028,Demand_5038,Demand_5083,Demand_5103,Demand_5116,Demand_5155,Demand_5236,Demand_5249,Demand_5261,Demand_5288,Demand_5303,Demand_5449,Demand_5464,Demand_5800 +2018-02-13 03:00:00,0.011774934191266094,0.005039007598625379,0.005929380551725438,0.004976270332423666,0.0026211417150377864,0.0029149789674740704,0.006551968168015348,0.0031242804120622807,0.014000689350100414,0.00404265474386254,0.003719929993146934,0.0043083133936827975,0.014460053739916368,0.005681975965235055,0.011874534031959214,0.007938568085422761,0.0061868869014177885,0.007435783836229909,0.009146880743511174,0.0033670771767412375,0.003199423352371681,0.002860748449231911,0.002150789442440742,0.0034461190431987654,0.007051030714975885,0.00470387717380209,0.003332695737071371,0.0064879903344028595,0.003297959849569855,0.004110531503623151,0.003915053524469219,0.0036905108231201386,0.002376749935116413,0.0020767098456262864,0.005116986121587966,0.005996371191906931,0.0032059806372571713,0.005315654131226733,0.007048726804070178,0.00692006224118191,0.0038882927131797863,0.00717703691912679,0.00478167847284885,0.009008114417420932,0.002577190183913421,0.006297829072723647,0.007753014645554976,0.008857296865054662,0.004796388057862248,0.01132070929500904,0.0029871091012144617,0.009681388073636523,0.005604174666188295,0.00793715029409617,0.0042664885495483215,0.005538070145585921,0.011393016652665258,0.0037300317563489045,0.0024552601298264707,0.009596143370125149,0.0034556891346532656,0.0031831187521158683,0.0055051064972426456,0.009034698004794544,0.002921181804527913,0.009628220898889307,0.010681108182800018,0.0049993094414807916,0.023330110726910363,0.004743398107030855,0.004458599274301595,0.0021912284726142255 +2018-02-13 04:00:00,0.01144475132404246,0.004897707957383234,0.005763113815994474,0.004836729917186502,0.002547641848897339,0.0028332395625871145,0.006368243350489154,0.0030366719509270575,0.013608093716219728,0.0039292939969707355,0.0036156188240943285,0.004187503268877234,0.01405457699359241,0.005522646742224311,0.01154155826921354,0.007715961391447419,0.006013399387762415,0.007227275798119374,0.008890391555462441,0.0032726604115754245,0.0031097077956824632,0.0027805297312306176,0.0020904788017726906,0.003349485852049273,0.006853311602449595,0.004571974979948152,0.003239243067512809,0.006306059529836556,0.0032054812147485176,0.003995267413341776,0.0038052708643672157,0.0035870246018551836,0.002310103099091427,0.002018476483122313,0.004973499871752052,0.005828225960611322,0.0031160812066634786,0.005166596999041701,0.006851072295888701,0.006726015637180146,0.003779260457390643,0.006975784445895568,0.004647594639966132,0.008755516398756102,0.0025049227698894583,0.006121230611387139,0.007535611086119801,0.008608927946192781,0.004661891751085705,0.011003263422844098,0.0029033470833782727,0.009409910677590517,0.00544702708220633,0.007714583356640713,0.004146851242079414,0.005382776209343677,0.011073543197986079,0.0036254373220921086,0.00238641177651276,0.00932705633483733,0.0033587875869945383,0.0030938603954053464,0.0053507369000877665,0.008781354551381848,0.002839268464866452,0.009358234372339054,0.010381597470668944,0.004859122982795471,0.022675907253045555,0.0046103877001850745,0.004333574958388051,0.0019345285041422837 +2018-02-13 05:00:00,0.010369106210039197,0.004437392526753729,0.005221462447423752,0.0043821455618020585,0.0023081994678960235,0.00256695502690695,0.005769718345376333,0.0027512676416185937,0.012329124946841491,0.003559995812182299,0.003275801678913964,0.0037939370564267975,0.012733645096996102,0.005003595885071968,0.010456814668521788,0.006990769909731876,0.005448224707521986,0.006548013865754799,0.008054820212106125,0.00296507651727901,0.0028174391476624007,0.0025191991758470316,0.0018940032956312463,0.003034681450523203,0.006209197027025772,0.004142273852393256,0.0029347999319665123,0.0057133789263154496,0.002904211216908526,0.0036197686584435672,0.00344762910380602,0.0032498949100383217,0.0020929860083809043,0.001828768178823908,0.004506061070761452,0.005280454969321296,0.00282321354795396,0.004681009793108408,0.006207168183680091,0.006093865086067344,0.0034240633080215525,0.006320159151547351,0.004210786331528236,0.007932621416746923,0.0022694953794553056,0.005545921317860247,0.006827369987968044,0.007799810210041076,0.004223739715966056,0.009969111941194198,0.002630473430114095,0.008525511868304532,0.004935083405936989,0.006989521390749922,0.0037571057464590163,0.004876871208403167,0.01003278640927409,0.0032846973766604186,0.002162122747006863,0.00845044466451427,0.003043108953651423,0.0028030811793698764,0.0048478431420726316,0.007956031147658653,0.0025724172974530193,0.008478692406481081,0.009405873815458115,0.004402433995258886,0.020544691977874757,0.004177076319015352,0.003926280068514414,0.001862558536628986 + diff --git a/examples/gas_electricity_network/model/Example_gas_elec.esdl b/examples/gas_electricity_network/model/Example_gas_elec.esdl new file mode 100644 index 000000000..2392c184a --- /dev/null +++ b/examples/gas_electricity_network/model/Example_gas_elec.esdl @@ -0,0 +1,3061 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/gas_electricity_network/src/run_example.py b/examples/gas_electricity_network/src/run_example.py new file mode 100644 index 000000000..d86905892 --- /dev/null +++ b/examples/gas_electricity_network/src/run_example.py @@ -0,0 +1,140 @@ +# Note: The commented out items are requried for the manual checks/print outs below in this file +# import os +# import sys +# from pathlib import Path + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows.gas_elect_workflow import GasElectProblem +from mesido.workflows.utils.helpers import run_optimization_problem_solver + +# root_folder = os.path.join(str(Path(__file__).resolve().parent.parent.parent.parent), "tests") +# sys.path.insert(1, root_folder) + +# from utils_tests import ( +# demand_matching_test, +# electric_power_conservation_test, +# energy_conservation_test, +# heat_to_discharge_test, +# ) + +if __name__ == "__main__": + import time + + start_time = time.time() + + solution = run_optimization_problem_solver( + GasElectProblem, + esdl_parser=ESDLFileParser, + esdl_file_name="Example_gas_elec.esdl", + profile_reader=ProfileReaderFromFile, + input_timeseries_file="Example_gas_demand_nom_m3_s.csv", + ) + + results = solution.extract_results() + + # ---------------------------------------------------------------------------------------------- + # Do not delete the code below: manual checking and testing of values + usefull prints to + # terminal + + # demand_matching_test(solution, results) + # energy_conservation_test(solution, results) + # heat_to_discharge_test(solution, results) + + # for asset_name in [*solution.energy_system_components.get("air_water_heat_pump_elec", [])]: + # power_cons = results[f"{asset_name}.Power_consumed"] + # print(f"{asset_name} power consumed: {power_cons}") + + # for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: + # power_cons = results[f"{asset_name}.Gas_demand_mass_flow"] + # print(f"{asset_name} gas consumed: {power_cons}") + + # # Check gas consumption vs production balance + # total_gas_demand_g = [0] * len(np.diff(solution.times())) + # total_gas_source_g = [0] * len(np.diff(solution.times())) + # for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: + # for ii in range(1, len(results[f"{asset_name}.Gas_demand_mass_flow"])): + # total_gas_demand_g[ii - 1] += ( + # results[f"{asset_name}.Gas_demand_mass_flow"][ii] + # * np.diff(solution.times())[ii - 1] + # ) + + # for asset_name in [*solution.energy_system_components.get("gas_source", [])]: + # for ii in range(1, len(results[f"{asset_name}.Gas_source_mass_flow"])): + # total_gas_source_g[ii - 1] += ( + # results[f"{asset_name}.Gas_source_mass_flow"][ii] + # * np.diff(solution.times())[ii - 1] + # ) + # np.testing.assert_allclose(total_gas_source_g, total_gas_demand_g) + + # # Check elect power demand vs production balance + # electric_power_conservation_test(solution, results) + + # Check OPEX costs + # np.testing.assert_allclose( + # sum( + # results["STATION_5.Gas_source_mass_flow"][1:] * 0.0037926 * np.diff(solution.times()) + # ), + # results["STATION_5__variable_operational_cost"][0], + # ) + # np.testing.assert_allclose( + # sum( + # results["Elec_prod_5.Electricity_source"][1:] + # * (np.diff(solution.times())) + # / 3600.0 + # * 0.00027 + # ), + # results["Elec_prod_5__variable_operational_cost"][0], + # atol=1e-10, + # ) + # np.testing.assert_allclose( + # sum( + # results["STATION_10.Gas_source_mass_flow"][1:] * 0.0037926 * np.diff(solution.times()) + # ), + # results["STATION_10__variable_operational_cost"][0], + # ) + # np.testing.assert_allclose( + # sum( + # results["Elec_prod_10.Electricity_source"][1:] + # * (np.diff(solution.times())) + # / 3600.0 + # * 0.00027 + # ), + # results["Elec_prod_10__variable_operational_cost"][0], + # atol=1e-10, + # ) + + # # Check that heat energy balance + # for asset_name in [*solution.energy_system_components.get("heat_demand", [])]: + # dmnd_num = asset_name.strip("Demand_") + # dmnd_val = results[f"Demand_{dmnd_num}.Heat_flow"] + # prod_perc_hp = results[f"Heatpump_{dmnd_num}.Heat_flow"] / dmnd_val + # prod_perc_gb = results[f"Gasboiler_{dmnd_num}.Heat_flow"] / dmnd_val + # # Do not delete: use for manual checks + # print( + # f"dmnd_num: {dmnd_num} demand {dmnd_val/1.0e3}kW, source % split " + # f"HP: {[round(elem*100.0, 1) for elem in prod_perc_hp]} & " + # f"GasBoiler{[round(elem*100.0, 1) for elem in prod_perc_gb]}" + # ) + # np.testing.assert_allclose(prod_perc_hp + prod_perc_gb, 1.0) + + # # Costs + # opex_gas = ( + # results["STATION_5__variable_operational_cost"][0] + # + results["STATION_10__variable_operational_cost"][0] + # ) + # opex_elect = ( + # results["Elec_prod_10__variable_operational_cost"][0] + # + results["Elec_prod_5__variable_operational_cost"][0] + # ) + # opex_tot = opex_gas + opex_elect + # print(f"OPEX for gas:{opex_gas} + elect:{opex_elect} = total OPEX {opex_tot}") + + # # Check that the gas energy content + # np.testing.assert_allclose( + # # g/s /1000 * energy_content J/kg + # results["Gasboiler_4391.Gas_demand_mass_flow"] / 1000 * 41373333.404736854, + # results["Gasboiler_4391.Heat_flow"], + # ) + # ---------------------------------------------------------------------------------------------- + print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 28ebcc750..42edf3589 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -68,46 +68,84 @@ def get_internal_energy(asset_name, carrier): carrier.pressure * 1.0e5, str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper(), ) + elif NetworkSettings.NETWORK_TYPE_HEAT in carrier.name: + internal_energy = cP.CoolProp.PropsSI( + "U", + "T", + 273.15 + temperature, + "P", + 1.0 * 1.0e5, # TODO: defualt 1 bar pressure should be set for the carrier + "WATER", + ) else: logger.warning( - f"Neither gas or hydrogen was used in the carrier " f"name of pipe {asset_name}" + f"Neither gas/hydrogen/heat was used in the carrier " f"name of pipe {asset_name}." ) # TODO: resolve heating value (default value below) vs internal energy values (above) internal_energy = 46.0e6 # natural gas at about 1 bar [J/kg] heating value return internal_energy # [J/kg] -def get_density(asset_name, carrier): +def get_energy_content(asset_name, carrier) -> float: + # Return the heating value + energy_content_j_kg = 0.0 # [J/kg] + density_kg_m3 = ( + get_density(asset_name, carrier, temperature_degrees_celsius=20.0, pressure_pa=1.0e5) + / 1000.0 + ) + if str(NetworkSettings.NETWORK_TYPE_GAS).upper() in str(carrier.name).upper(): + # Groningen gas: 31,68 MJ/m3 LCV + energy_content_j_kg = 31.68 * 10.0**6 / density_kg_m3 # LCV / lower heating value + elif str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper() in str(carrier.name).upper(): + # This value can be lower / higher heating value depending on the case + # Currently the lower heating value is used below (120.0 MJ/kg) + energy_content_j_kg = 120.0 * 10.0**6 / density_kg_m3 + else: + raise logger.error( + f"Neither gas/hydrogen was used in the carrier " f"name of pipe {asset_name}." + ) + return energy_content_j_kg + + +def get_density(asset_name, carrier, temperature_degrees_celsius=20.0, pressure_pa=None): # TODO: gas carrier temperature still needs to be resolved. - # The default of 20°C is also used in the head_loss_class. Thus, when updating ensure it - # is also updated in the head_loss_class. - temperature = 20.0 + # The default for temperature_degrees_celsius=20.0, this should be the same as the value (20°C) + # used in the head_loss_class for the calculation of the friction factor + # (linked to _kinematic_viscosity). Thus, when updating the default value of + # temperature_degrees_celsius ensure it is also updated in the head_loss_class. + if pressure_pa is None: + if str(NetworkSettings.NETWORK_TYPE_HEAT).upper() in str(carrier.name).upper(): + pressure_pa = 16.0e5 # 16bar is expected to be the upper limit in networks + else: + pressure_pa = carrier.pressure * 1.0e5 # convert bar to Pa + elif pressure_pa < 0.0: + raise logger.error("The pressure should be > 0.0 to calculate density") if NetworkSettings.NETWORK_TYPE_GAS in carrier.name: density = cP.CoolProp.PropsSI( "D", "T", - 273.15 + temperature, + 273.15 + temperature_degrees_celsius, "P", - carrier.pressure * 1.0e5, + pressure_pa, NetworkSettings.NETWORK_COMPOSITION_GAS, ) elif NetworkSettings.NETWORK_TYPE_HYDROGEN in carrier.name: density = cP.CoolProp.PropsSI( "D", "T", - 273.15 + temperature, + 273.15 + temperature_degrees_celsius, "P", - carrier.pressure * 1.0e5, + pressure_pa, str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper(), ) elif NetworkSettings.NETWORK_TYPE_HEAT in carrier.name: density = cP.CoolProp.PropsSI( "D", "T", - 273.15 + temperature, + 273.15 + temperature_degrees_celsius, "P", - 16.0e5, + pressure_pa, "INCOMP::Water", ) return density # kg/m3 @@ -550,7 +588,7 @@ def _get_connected_q_max(self, asset: Asset) -> float: energy_reference_j_kg = 1.0 if not isinstance(port.carrier, esdl.HeatCommodity): convert_density_units = 1.0e3 # convert g/m3 to kg/m3 if needed - energy_reference_j_kg = get_internal_energy(asset.name, port.carrier) + energy_reference_j_kg = get_energy_content(asset.name, port.carrier) else: # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 @@ -581,7 +619,7 @@ def _get_connected_q_max(self, asset: Asset) -> float: energy_reference_j_kg = 1.0 if not isinstance(port.carrier, esdl.HeatCommodity): convert_density_units = 1.0e3 # convert g/m3 to kg/m3 if needed - energy_reference_j_kg = get_internal_energy(asset.name, port.carrier) + energy_reference_j_kg = get_energy_content(asset.name, port.carrier) else: # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 @@ -800,7 +838,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: energy_reference_j_kg = 1.0 if not isinstance(port.carrier, esdl.HeatCommodity): convert_density_units = 1.0e3 # convert g/m3 to kg/m3 if needed - energy_reference_j_kg = get_internal_energy(asset.name, port.carrier) + energy_reference_j_kg = get_energy_content(asset.name, port.carrier) else: # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 @@ -829,7 +867,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: energy_reference_j_kg = 1.0 if not isinstance(port.carrier, esdl.HeatCommodity): convert_density_units = 1.0e3 # convert g/m3 to kg/m3 if needed - energy_reference_j_kg = get_internal_energy(asset.name, port.carrier) + energy_reference_j_kg = get_energy_content(asset.name, port.carrier) else: # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 @@ -858,7 +896,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: energy_reference_j_kg = 1.0 if not isinstance(port.carrier, esdl.HeatCommodity): convert_density_units = 1.0e3 # convert g/m3 to kg/m3 if needed - energy_reference_j_kg = get_internal_energy(asset.name, port.carrier) + energy_reference_j_kg = get_energy_content(asset.name, port.carrier) else: # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 @@ -892,7 +930,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: if isinstance(port.carrier, esdl.GasCommodity): nominal_string += "_gas" convert_density_units = 1.0e3 # convert g/m3 to kg/m3 if needed - energy_reference_j_kg = get_internal_energy(asset.name, port.carrier) + energy_reference_j_kg = get_energy_content(asset.name, port.carrier) elif isinstance(port.carrier, esdl.HeatCommodity): # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 @@ -933,7 +971,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: / ( # note rho -> gas/hydrogen g/m3, heat kg/m3 get_density(asset.name, port.carrier) - * get_internal_energy(asset.name, port.carrier) + * get_energy_content(asset.name, port.carrier) / 1.0e3 ) ) @@ -1022,6 +1060,8 @@ def _get_cost_figure_modifiers(self, asset: Asset) -> Dict: modifiers["installation_cost"] = self.get_installation_costs(asset) elif asset.asset_type == "GasDemand": modifiers["variable_operational_cost_coefficient"] = self.get_variable_opex_costs(asset) + elif asset.asset_type == "GasProducer": + modifiers["variable_operational_cost_coefficient"] = self.get_variable_opex_costs(asset) elif asset.asset_type == "Electrolyzer": modifiers["variable_operational_cost_coefficient"] = self.get_variable_opex_costs(asset) modifiers["fixed_operational_cost_coefficient"] = self.get_fixed_opex_costs(asset) @@ -1232,6 +1272,7 @@ def get_variable_opex_costs(self, asset: Asset) -> float: continue if per_unit != UnitEnum.WATTHOUR and asset.asset_type not in [ "GasDemand", + "GasProducer", "GasStorage", "Electrolyzer", ]: @@ -1242,7 +1283,7 @@ def get_variable_opex_costs(self, asset: Asset) -> float: ) continue if ( - asset.asset_type in ["GasDemand", "GasStorage", "Electrolyzer"] + asset.asset_type in ["GasDemand", "GasProducer", "GasStorage", "Electrolyzer"] and per_unit != UnitEnum.GRAM ): logger.warning( diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 1d3b0f6b8..3fba48c74 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -8,7 +8,7 @@ MODIFIERS, _AssetToComponentBase, get_density, - get_internal_energy, + get_energy_content, ) from mesido.esdl.common import Asset from mesido.esdl.esdl_model_base import _ESDLModelBase @@ -1953,7 +1953,7 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: ] # DO not remove due usage in future # hydrogen_specfic_energy = 20.0 / 1.0e6 - specific_energy = get_internal_energy(asset.name, asset.in_ports[0].carrier) / 10 # J/g + specific_energy = get_energy_content(asset.name, asset.in_ports[0].carrier) # J/kg # TODO: the value being used is the internal energy and not the HHV (higher # heating value) for hydrogen, therefore it does not represent the energy per weight. # This still needs to be updated @@ -2026,9 +2026,8 @@ def convert_gas_source(self, asset: Asset) -> Tuple[Type[GasSource], MODIFIERS]: q_nominal = self._get_connected_q_nominal(asset) density_value = get_density(asset.name, asset.out_ports[0].carrier) pressure = asset.out_ports[0].carrier.pressure * 1.0e5 - specific_energy = ( - get_internal_energy(asset.name, asset.out_ports[0].carrier) / 10 - ) # J/g #TODO: is not the HHV for hydrogen, so is off + # J/kg #TODO: is not the HHV for hydrogen, so is off + specific_energy = get_energy_content(asset.name, asset.out_ports[0].carrier) # [g/s] = [J/s] * [J/kg]^-1 *1000 max_mass_flow_g_per_s = asset.attributes["power"] / specific_energy * 1000.0 @@ -2420,7 +2419,7 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: for port in asset.in_ports: if isinstance(port.carrier, esdl.GasCommodity): density = get_density(asset.name, port.carrier) - internal_energy = get_internal_energy(asset.name, port.carrier) + energy_content = get_energy_content(asset.name, port.carrier) # TODO: CO2 coefficient @@ -2444,7 +2443,7 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: HeatOut=dict(Hydraulic_power=dict(nominal=q_nominals["Q_nominal"] * 16.0e5)), id_mapping_carrier=id_mapping, density=density, - internal_energy=internal_energy, + energy_content=energy_content, GasIn=dict(Q=dict(min=0.0, nominal=q_nominals["Q_nominal_gas"])), **q_nominals, **self._supply_return_temperature_modifiers(asset), diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 81a4cc155..d1b92dff6 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -242,8 +242,15 @@ def pre(self): ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational - elif asset_name in [*self.energy_system_components.get("gas_demand", [])]: - nominal_fixed_operational = bounds[f"{asset_name}.Gas_demand_mass_flow"][1] + elif asset_name in [ + *self.energy_system_components.get("gas_demand", []), + *self.energy_system_components.get("gas_source", []), + ]: + if asset_name in [*self.energy_system_components.get("gas_demand", [])]: + nominal_fixed_operational = bounds[f"{asset_name}.Gas_demand_mass_flow"][1] + elif asset_name in [*self.energy_system_components.get("gas_source", [])]: + nominal_fixed_operational = bounds[f"{asset_name}.Gas_source_mass_flow"][1] + nominal_fixed_operational = ( nominal_fixed_operational if isinstance(nominal_fixed_operational, float) @@ -925,9 +932,12 @@ def __variable_operational_cost_constraints(self, ensemble_member): assert len(self.get_electricity_carriers().keys()) <= 1 if len(self.get_electricity_carriers().keys()) == 1: - price_profile = self.get_timeseries( - f"{list(self.get_electricity_carriers().values())[0]['name']}.price_profile" - ) + try: + price_profile = self.get_timeseries( + f"{list(self.get_electricity_carriers().values())[0]['name']}.price_profile" + ) + except KeyError: + price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) else: price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) @@ -1003,6 +1013,46 @@ def __variable_operational_cost_constraints(self, ensemble_member): constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + for gs in self.energy_system_components.get("gas_source", []): + gas_produced_g_s = self.__state_vector_scaled( + f"{gs}.Gas_source_mass_flow", ensemble_member + ) + variable_operational_cost_var = self._asset_variable_operational_cost_map[gs] + variable_operational_cost = self.extra_variable( + variable_operational_cost_var, ensemble_member + ) + nominal = self.variable_nominal(variable_operational_cost_var) + variable_operational_cost_coefficient = parameters[ # euro / g + f"{gs}.variable_operational_cost_coefficient" + ] + timesteps = np.diff(self.times()) + sum = 0.0 + for i in range(1, len(self.times())): + sum += ( + variable_operational_cost_coefficient * gas_produced_g_s[i] * timesteps[i - 1] + ) # [euro/g] * [g/s] * [s] + constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + + for es in self.energy_system_components.get("electricity_source", []): + elec_produced_w = self.__state_vector_scaled( + f"{es}.Electricity_source", ensemble_member + ) + variable_operational_cost_var = self._asset_variable_operational_cost_map[es] + variable_operational_cost = self.extra_variable( + variable_operational_cost_var, ensemble_member + ) + nominal = self.variable_nominal(variable_operational_cost_var) + variable_operational_cost_coefficient = parameters[ # euro / Wh + f"{es}.variable_operational_cost_coefficient" + ] + timesteps = np.diff(self.times()) / 3600.0 # convert dt from [s] to [hr] + sum = 0.0 + for i in range(1, len(self.times())): + sum += ( + variable_operational_cost_coefficient * elec_produced_w[i] * timesteps[i - 1] + ) # [euro/Wh] * [W] * [hr] + constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + # for a in self.heat_network_components.get("ates", []): # TODO: needs to be replaced with the positive or abs value of this, see varOPEX, # then ates varopex also needs to be added to the mnimize_tco_goal diff --git a/src/mesido/head_loss_class.py b/src/mesido/head_loss_class.py index a0c7f75d6..c6c7abc13 100644 --- a/src/mesido/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -222,7 +222,6 @@ def __init__(self, input_network_settings, *args, **kwargs): self.__pipe_head_loss_zero_bounds = {} self._hn_pipe_to_head_loss_map = {} - # Kvr # Boolean variables for the linear line segment options per pipe. self.__pipe_linear_line_segment_var = {} # value 0/1: line segment - not active/active self.__pipe_linear_line_segment_var_bounds = {} diff --git a/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py b/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py index 9c24ef8f4..c4d631feb 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py @@ -27,7 +27,7 @@ def __init__(self, name, **modifiers): self.component_subtype = "gas_boiler" - self.internal_energy = nan + self.energy_content = nan self.density = 2.5e3 # H2 density [g/m3] at 30bar self.id_mapping_carrier = -1 @@ -47,5 +47,8 @@ def __init__(self, name, **modifiers): ) self.add_equation( - ((self.GasIn.mass_flow * self.internal_energy - self.Heat_source) / self.Heat_nominal) + ( + (self.GasIn.mass_flow / 1000.0 * self.energy_content - self.Heat_source) + / self.Heat_nominal + ) ) diff --git a/src/mesido/workflows/gas_elect_workflow.py b/src/mesido/workflows/gas_elect_workflow.py new file mode 100644 index 000000000..6d204b201 --- /dev/null +++ b/src/mesido/workflows/gas_elect_workflow.py @@ -0,0 +1,208 @@ +import logging +import os + +from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO +from mesido.workflows.io.write_output import ScenarioOutput +from mesido.workflows.utils.helpers import main_decorator + +import numpy as np + +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.optimization.goal_programming_mixin import Goal +from rtctools.optimization.linearized_order_goal_programming_mixin import ( + LinearizedOrderGoalProgrammingMixin, +) +from rtctools.optimization.single_pass_goal_programming_mixin import ( + CachingQPSol, + SinglePassGoalProgrammingMixin, +) +from rtctools.util import run_optimization_problem + +logger = logging.getLogger("WarmingUP-MPC") +logger.setLevel(logging.INFO) + + +class TargetHeatGoal(Goal): + priority = 1 + + order = 2 + + def __init__(self, state, target): + self.state = state + + self.target_min = target + self.target_max = target + try: + self.function_range = (-1.0e6, max(2.0 * max(target.values), 1.0e6)) + self.function_nominal = max(np.median(target.values), 1.0e6) + except Exception: + self.function_range = (-1.0e6, max(2.0 * target, 1.0e6)) + self.function_nominal = max(target, 1.0e6) + + def function(self, optimization_problem, ensemble_member): + return optimization_problem.state(self.state) + + +class SolverCPLEX: + def solver_options(self): + options = super().solver_options() + options["casadi_solver"] = self._qpsol + options["solver"] = "cplex" + cplex_options = options["cplex"] = {} + cplex_options["CPX_PARAM_EPGAP"] = 0.00001 + + options["highs"] = None + + return options + + +class GasElectProblem( + ScenarioOutput, + ESDLAdditionalVarsMixin, + TechnoEconomicMixin, + LinearizedOrderGoalProgrammingMixin, + SinglePassGoalProgrammingMixin, + ESDLMixin, + CollocatedIntegratedOptimizationProblem, +): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + self._number_of_years = 1.0 + + self._save_json = True + + def energy_system_options(self): + options = super().energy_system_options() + options["neglect_pipe_heat_losses"] = True + options["include_electric_cable_power_loss"] = False + # TODO: determine why no heat pump (case with heat pumps & boilers) is used when pwer + # losses are included + # options["include_electric_cable_power_loss"] = True + + # Setting when started with head loss inclusions + self.gas_network_settings["minimum_velocity"] = 0.0 + self.gas_network_settings["maximum_velocity"] = 15.0 + + # TODO: resolve scaling and potential other issues preventing HIGHS to optimize the system + # when LINEARIZED_N_LINES_EQUALITY head loss setting is used + # self.gas_network_settings["n_linearization_lines"] = 3 + # self.gas_network_settings["minimize_head_losses"] = False + # self.gas_network_settings["head_loss_option"] = HeadLossOption.LINEARIZED_N_LINES_EQUALITY + + self.gas_network_settings["minimize_head_losses"] = True + self.gas_network_settings["head_loss_option"] = HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY + + return options + + def solver_options(self): + options = super().solver_options() + options["casadi_solver"] = self._qpsol + options["solver"] = "highs" + highs_options = options["highs"] = {} + highs_options["mip_abs_gap"] = 1.0e-6 + + return options + + def read(self): + super().read() + + # Convert gas demand Nm3/h (data in timeseries source file) to heat demand in watts + # Assumumption: + # - gas heating value (LCV value) = 31.68 * 10^6 (J/m3) at 1bar, 273.15K + # - gas boiler efficiency 80% + # TODO: setup a standard way for gas usage and automate the link to heating value & boiler + # efficiency (if needed) + for demand in self.energy_system_components["heat_demand"]: + target = self.get_timeseries(f"{demand}.target_heat_demand") + + # Manually set heating demand values + boiler_efficiency = 0.8 + gas_heating_value_joule_m3 = 31.68 * 10**6 + for ii in range(len(target.values)): + target.values[ii] *= gas_heating_value_joule_m3 * boiler_efficiency + + self.io.set_timeseries( + f"{demand}.target_heat_demand", + self.io._DataStore__timeseries_datetimes, + target.values, + 0, + ) + + def pre(self): + super().pre() + + # variables for solver settings + self._qpsol = CachingQPSol() + + def parameters(self, ensemble_member): + parameters = super().parameters(ensemble_member) + parameters["number_of_years"] = self._number_of_years + return parameters + + def path_goals(self): + goals = super().path_goals().copy() + bounds = self.bounds() + + for demand in self.energy_system_components["heat_demand"]: + target = self.get_timeseries(f"{demand}.target_heat_demand") + if bounds[f"{demand}.HeatIn.Heat"][1] < max(target.values): + logger.warning( + f"{demand} has a flow limit, {bounds[f'{demand}.HeatIn.Heat'][1]}, " + f"lower that wat is required for the maximum demand {max(target.values)}" + ) + # TODO: update this caclulation to bounds[f"{demand}.HeatIn.Heat"][1]/ dT * Tsup & move + # to potential_errors variable + state = f"{demand}.Heat_demand" + + goals.append(TargetHeatGoal(state, target)) + + return goals + + def goals(self): + goals = super().goals().copy() + goals.append(MinimizeTCO(priority=2, number_of_years=self._number_of_years)) + + return goals + + # Do not delete. Temporary code to deactivate the heat pumps. Use for manual test/checking + # def path_constraints(self, ensemble_member): + # constraints = super().path_constraints(ensemble_member) + + # for eb in self.energy_system_components.get("air_water_heat_pump_elec", []): + # power_consumed = self.state(f"{eb}.Power_consumed") + # constraints.append((power_consumed, 0.0, 0.0)) + + # return constraints + + def post(self): + if os.path.exists(self.output_folder) and self._save_json: + self._write_json_output() + + +@main_decorator +def main(runinfo_path, log_level): + logger.info("Gas and electricity workflow") + + kwargs = { + "write_result_db_profiles": False, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + } + + _ = run_optimization_problem( + GasElectProblem, + esdl_run_info_path=runinfo_path, + log_level=log_level, + **kwargs, + ) diff --git a/src/mesido/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py index ea6d75b2c..53eff5123 100644 --- a/src/mesido/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -43,6 +43,8 @@ def __init__( "pump", "heat_exchanger", "heat_buffer", + "gas_source", # TODO still to add other costs for this asset_type + "electricity_source", # TODO still to add other costs for this asset_type }, "fixed_operational": { "heat_source", diff --git a/tests/models/emerge/model/emerge_battery_priorities.esdl b/tests/models/emerge/model/emerge_battery_priorities.esdl index ca30b865b..19f76ae25 100644 --- a/tests/models/emerge/model/emerge_battery_priorities.esdl +++ b/tests/models/emerge/model/emerge_battery_priorities.esdl @@ -36,7 +36,7 @@ - + diff --git a/tests/models/emerge/model/emerge_battery_priorities_limited_capacity.esdl b/tests/models/emerge/model/emerge_battery_priorities_limited_capacity.esdl index 002d0ff68..99b410ab5 100644 --- a/tests/models/emerge/model/emerge_battery_priorities_limited_capacity.esdl +++ b/tests/models/emerge/model/emerge_battery_priorities_limited_capacity.esdl @@ -36,7 +36,7 @@ - + diff --git a/tests/models/emerge/model/emerge_priorities_withoutstorage.esdl b/tests/models/emerge/model/emerge_priorities_withoutstorage.esdl index 3b848e437..028c04d3e 100644 --- a/tests/models/emerge/model/emerge_priorities_withoutstorage.esdl +++ b/tests/models/emerge/model/emerge_priorities_withoutstorage.esdl @@ -43,7 +43,7 @@ - + diff --git a/tests/models/emerge/model/emerge_priorities_withoutstorage_2prod.esdl b/tests/models/emerge/model/emerge_priorities_withoutstorage_2prod.esdl index a6bbbd861..9b1f0a990 100644 --- a/tests/models/emerge/model/emerge_priorities_withoutstorage_2prod.esdl +++ b/tests/models/emerge/model/emerge_priorities_withoutstorage_2prod.esdl @@ -43,7 +43,7 @@ - + diff --git a/tests/models/unit_cases_electricity/electrolyzer/model/h2.esdl b/tests/models/unit_cases_electricity/electrolyzer/model/h2.esdl index 13425926f..25a913339 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/model/h2.esdl +++ b/tests/models/unit_cases_electricity/electrolyzer/model/h2.esdl @@ -37,7 +37,7 @@ - + diff --git a/tests/models/unit_cases_gas/multi_demand_source_node/model/test.esdl b/tests/models/unit_cases_gas/multi_demand_source_node/model/test.esdl index 192b1e901..c2a534bd1 100644 --- a/tests/models/unit_cases_gas/multi_demand_source_node/model/test.esdl +++ b/tests/models/unit_cases_gas/multi_demand_source_node/model/test.esdl @@ -10,20 +10,20 @@ - + - + - + - + @@ -41,7 +41,7 @@ - + diff --git a/tests/models/unit_cases_gas/multi_demand_source_node/model/test_logical_links.esdl b/tests/models/unit_cases_gas/multi_demand_source_node/model/test_logical_links.esdl index 79e085966..bb7ba8e20 100644 --- a/tests/models/unit_cases_gas/multi_demand_source_node/model/test_logical_links.esdl +++ b/tests/models/unit_cases_gas/multi_demand_source_node/model/test_logical_links.esdl @@ -18,11 +18,11 @@ - + - + diff --git a/tests/models/unit_cases_gas/source_pipe_split_sink/model/source_sink.esdl b/tests/models/unit_cases_gas/source_pipe_split_sink/model/source_sink.esdl index 3a56abd9f..2795c0e60 100644 --- a/tests/models/unit_cases_gas/source_pipe_split_sink/model/source_sink.esdl +++ b/tests/models/unit_cases_gas/source_pipe_split_sink/model/source_sink.esdl @@ -10,11 +10,11 @@ - + - + diff --git a/tests/models/unit_cases_gas/source_pipe_split_sink/model/split_with_logical_link.esdl b/tests/models/unit_cases_gas/source_pipe_split_sink/model/split_with_logical_link.esdl index 0659f7c02..7908b6e6c 100644 --- a/tests/models/unit_cases_gas/source_pipe_split_sink/model/split_with_logical_link.esdl +++ b/tests/models/unit_cases_gas/source_pipe_split_sink/model/split_with_logical_link.esdl @@ -10,11 +10,11 @@ - + - + diff --git a/tests/models/unit_cases_gas/source_sink/model/source_sink.esdl b/tests/models/unit_cases_gas/source_sink/model/source_sink.esdl index ca79d6f70..6d407ac7e 100644 --- a/tests/models/unit_cases_gas/source_sink/model/source_sink.esdl +++ b/tests/models/unit_cases_gas/source_sink/model/source_sink.esdl @@ -10,11 +10,11 @@ - + - + diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index 65daf16ad..eedc3019c 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -496,3 +496,13 @@ def test_electrolyzer_equality_constraint_inactive_line(self): 0.0, atol=1e-4, ) + + +if __name__ == "__main__": + + a = TestElectrolyzer() + a.test_electrolyzer_inequality() + a.test_electrolyzer_minimum_power() + a.test_electrolyzer_constant_efficiency() + a.test_electrolyzer_equality_constraint() + a.test_electrolyzer_equality_constraint_inactive_line() diff --git a/tests/test_gas_boiler.py b/tests/test_gas_boiler.py index 064505500..c54b09916 100644 --- a/tests/test_gas_boiler.py +++ b/tests/test_gas_boiler.py @@ -48,8 +48,9 @@ def test_gas_boiler(self): np.testing.assert_array_less(0.0, results["GasHeater_f713.Heat_source"]) np.testing.assert_array_less(0.0, results["GasProducer_82ec.Gas_source_mass_flow"]) np.testing.assert_array_less( - parameters["GasHeater_f713.internal_energy"] - * results["GasHeater_f713.GasIn.mass_flow"], + parameters["GasHeater_f713.energy_content"] + * results["GasHeater_f713.GasIn.mass_flow"] + / 1000.0, # [J/kg] * [g/s] / 1000.0 = [J/s] results["GasHeater_f713.Heat_source"] + 1.0e-6, ) @@ -61,3 +62,9 @@ def test_gas_boiler(self): bounds["Pipe_a7b5.GasIn.Q"][1], parameters["Pipe_a7b5.diameter"] ** 2 / 4 * math.pi * v_max_gas, ) + + +if __name__ == "__main__": + + a = TestGasBoiler() + a.test_gas_boiler() diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index 679ac8654..9239039b0 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -291,6 +291,8 @@ def energy_system_options(self): results = solution.extract_results() parameters = solution.parameters(0) + demand_matching_test(solution, results) + pipe = "Pipe_4abc" pipe_hp_in = results[f"{pipe}.GasIn.Hydraulic_power"] pipe_hp_out = results[f"{pipe}.GasOut.Hydraulic_power"] @@ -370,8 +372,6 @@ def energy_system_options(self): np.testing.assert_allclose(pipe_hp[1], a[1] * results[f"{pipe}.GasOut.Q"][1] + b[1]) np.testing.assert_allclose(pipe_hp[2], a[2] * results[f"{pipe}.GasOut.Q"][2] + b[2]) - demand_matching_test(solution, results) - def test_hydraulic_power_gas_multi_demand(self): """ Checks the logic for the hydraulic power of gas pipes. @@ -394,7 +394,7 @@ def read(self): super().read() for d in self.energy_system_components["gas_demand"]: - new_timeseries = self.get_timeseries(f"{d}.target_gas_demand").values * 3 + new_timeseries = self.get_timeseries(f"{d}.target_gas_demand").values * 1.39 self.set_timeseries(f"{d}.target_gas_demand", new_timeseries) def energy_system_options(self): @@ -429,7 +429,7 @@ def energy_system_options(self): pipe_mass = results[f"{pipe}.GasIn.mass_flow"] - np.testing.assert_allclose(pipe_hp, pipe_hp_in - pipe_hp_out) + np.testing.assert_allclose(pipe_hp, pipe_hp_in - pipe_hp_out, atol=1e-8) if pipe in ["Pipe_7c53", "Pipe_c50f"]: # connected to demand, thus hydraulic_power should be 0 np.testing.assert_allclose(0, pipe_hp_out) @@ -442,23 +442,81 @@ def energy_system_options(self): for i in range(solution.gas_network_settings["n_linearization_lines"] + 1) ] - # due to non linearity, every timestep on new linearized line, a doubled mass flow - # should result in more than doubled hydraulic power + # Check hydraulic power for: + # - On the first linear line (line_index = 0), the line intercepts the y-axis at 0. So a + # simple ratio calc is used + # - On any other linear line (line_index > 0), the line does not intercept the y-axis + # at 0 anymore. But it is known that the gradient of these lines are higher than the + # gradient of the line at line_index=0, due these lines representing a non-linear + # curve. This implies that the hydraulic power on these lines will be higher than the + # hydraulic power that is exrapolated from line_index=0. Also if on line index > 0 then + # the extrapolated value will on a line will be larger. + # Notes: + # - It is ensured that for each pipe more than one line out of the linearized lines is + # used + # - Checks have been added to cater for the scenario where the a pipe has no flow at a + # specific time step v_inspect_line_ind = [] + v_points = np.array(v_points) for k in range(len(v_inspect)): - for i in range(len(v_points)): - if v_points[i] + 1e-6 < v_inspect[k] <= v_points[i + 1] + 1e-6: - v_inspect_line_ind.append(i) + idx = v_points < v_inspect[k] + 1e-6 + v_inspect_line_ind.append(np.where(idx)[0][-1]) + ind_check = 0 for k in range(len(v_inspect) - 1): - if v_inspect_line_ind[k] == v_inspect_line_ind[k + 1]: - np.testing.assert_allclose( - pipe_hp[k] * pipe_mass[k + 1] / pipe_mass[k], pipe_hp[k + 1] - ) + if ( + v_inspect_line_ind[k] == v_inspect_line_ind[k + 1] + and v_inspect_line_ind[k] == 0 + ): # use simple ratio calc + if pipe_mass[k] > 0: + np.testing.assert_allclose( + pipe_hp[k] * pipe_mass[k + 1] / pipe_mass[k], pipe_hp[k + 1] + ) + elif pipe_mass[k] == 0: + np.testing.assert_array_less(0.0, pipe_hp[k + 1]) + elif pipe_mass[k] < 0: + raise RuntimeWarning("The mass flow cannot be negative for this test case") + elif ( + v_inspect_line_ind[k] == v_inspect_line_ind[k + 1] + and v_inspect_line_ind[k] > 0 + and k > 0 + ): + # use fact that the extrapolated value will be smaller than the value on the + # next line + if pipe_mass[k - 1] > 0: + np.testing.assert_array_less( + pipe_hp[k - 1] * pipe_mass[k + 1] / pipe_mass[k - 1], pipe_hp[k + 1] + ) + np.testing.assert_array_less( + pipe_hp[k - 1] * pipe_mass[k] / pipe_mass[k - 1], pipe_hp[k] + ) + elif pipe_mass[k - 1] == 0: + np.testing.assert_array_less(0.0, pipe_hp[k + 1]) + elif pipe_mass[k] < 0: + raise RuntimeWarning("The mass flow cannot be negative for this test case") + elif ( + v_inspect_line_ind[k] == v_inspect_line_ind[k + 1] + and v_inspect_line_ind[k] > 0 + and k == 0 + ): + # use fact that the extrapolated value will be larger on the same line + if pipe_mass[k] > 0: + np.testing.assert_array_less( + pipe_hp[k] * pipe_mass[k + 1] / pipe_mass[k], pipe_hp[k + 1] + ) + elif pipe_mass[k] == 0: + np.testing.assert_array_less(0.0, pipe_hp[k + 1]) + elif pipe_mass[k] < 0: + raise RuntimeWarning("The mass flow cannot be negative for this test case") elif v_inspect_line_ind[k] < v_inspect_line_ind[k + 1]: - np.testing.assert_array_less( - (pipe_hp[k] + 1e-6) * pipe_mass[k + 1] / pipe_mass[k], pipe_hp[k + 1] - ) + if pipe_mass[k] > 0: + np.testing.assert_array_less( + (pipe_hp[k]) * pipe_mass[k + 1] / pipe_mass[k], pipe_hp[k + 1] + ) + elif pipe_mass[k] == 0: + np.testing.assert_array_less(0.0, pipe_hp[k + 1]) + elif pipe_mass[k] < 0: + raise RuntimeWarning("The mass flow cannot be negative for this test case") ind_check += 1 else: raise RuntimeWarning( @@ -497,8 +555,8 @@ def energy_system_options(self): start_time = time.time() a = TestHydraulicPower() - a.test_hydraulic_power_heat() - a.test_hydraulic_power_gas() + # a.test_hydraulic_power_heat() + # a.test_hydraulic_power_gas() a.test_hydraulic_power_gas_multi_demand() print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/test_logical_links.py b/tests/test_logical_links.py index 5df0793b8..ffd043427 100644 --- a/tests/test_logical_links.py +++ b/tests/test_logical_links.py @@ -195,3 +195,16 @@ def test_logical_links_network_hybrid(self): ) != 0.0 ) + + +if __name__ == "__main__": + import time + + start_time = time.time() + a = TestLogicalLinks() + a.test_logical_links_electricity() + a.test_logical_links_gas() + a.test_logical_links_nodes() + a.test_logical_links_nodes_heat() + a.test_logical_links_network_hybrid() + print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py index 6e2e85a14..f9b5437cc 100644 --- a/tests/test_multicommodity_simulator.py +++ b/tests/test_multicommodity_simulator.py @@ -622,7 +622,14 @@ def test_multi_commodity_simulator_sequential_staged(self): # Checking that the results are the same. for key, value in results_unstaged.items(): value_staged = results_staged[key] - np.testing.assert_allclose(value, value_staged) + if len(key.split("__")) > 1 and key.split("__")[1] == "gas_flow_direct_var": + # For the scenario when Q is -0 and 0 then gas_flow_direct_var 0 or 1 for the same + # volumetric flow rate of zero. So only check gas_flow_direct_var when Q != zero + zero_staged = results_staged[f"{key.split('__')[0]}.GasIn.Q"] != 0 + zero_unstaged = results_unstaged[f"{key.split('__')[0]}.GasIn.Q"] != 0 + np.testing.assert_allclose(value[zero_staged], value_staged[zero_unstaged]) + else: + np.testing.assert_allclose(value, value_staged) solution_staged_bounded = run_sequatially_staged_simulation( multi_commodity_simulator_class=MultiCommoditySimulatorNoLosses, @@ -672,7 +679,7 @@ def times(self, variable=None) -> np.ndarray: results_unstaged_bounded_win = solution_unstaged_bounded_win.extract_results() np.testing.assert_allclose( - results_staged_bounded["Battery_4688.Stored_electricity"][20], + results_staged_bounded["Battery_4688.Stored_electricity"][19], results_unstaged_bounded_win["Battery_4688.Stored_electricity"][-1], ) @@ -682,9 +689,11 @@ def times(self, variable=None) -> np.ndarray: start_time = time.time() a = TestMultiCommoditySimulator() - a.test_multi_commodity_simulator_priorities_el() - a.test_multi_commodity_simulator_prod_profile() - a.test_multi_commodity_simulator_emerge() - a.test_multi_commodity_simulator_emerge_lowprod() + # a.test_multi_commodity_simulator_priorities_el() + # a.test_multi_commodity_simulator_prod_profile() + # a.test_multi_commodity_simulator_emerge() + # a.test_multi_commodity_simulator_emerge_lowprod() + # a.test_multi_commodity_simulator_emerge_head_losses() + a.test_multi_commodity_simulator_sequential_staged() print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) From 3b2e281525a8b091996d506c6ec2a0d3a90eb4d0 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 2 Dec 2024 17:27:19 +0100 Subject: [PATCH 243/376] Heat exchanger bypass (#218) Heat exchanger bypass is added as an option, which allows for timesteps with a flowrate passing the heat exchanger on the primary or secondary side, but without any heat heat transfer, in case the temperature on the return and supply of one side are the same. The temperature on the primary side should then also be equal or smaller than the temperature on the secondary side. --- CHANGELOG.md | 1 + src/mesido/esdl/asset_to_component_base.py | 24 +- src/mesido/esdl/esdl_heat_model.py | 66 ++-- src/mesido/heat_physics_mixin.py | 92 +++-- src/mesido/potential_errors.py | 1 + src/mesido/workflows/utils/error_types.py | 4 + .../heat_exchange/model/test_hex_bypass.esdl | 342 ++++++++++++++++++ ...est_multiple_in_and_out_port_components.py | 68 ++++ 8 files changed, 528 insertions(+), 70 deletions(-) create mode 100644 tests/models/heat_exchange/model/test_hex_bypass.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index da9311df2..2c6c3a0b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - Updates in asset conversion from ESDL to pycml; gas and heat pipe split, generic conversion better specified. - Adapt profiles for heating and cooling peak day seperately & add test case - For gas: Use energy content (heating value) instead of internal energy +- Option was added to allow a bypass of the heat exchanger ## Fixed - Bugfix: gas boiler mass flow contraint units diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 42edf3589..0cdeaf8cf 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -13,6 +13,7 @@ from mesido.esdl._exceptions import _RetryLaterException from mesido.esdl.common import Asset from mesido.network_common import NetworkSettings +from mesido.potential_errors import MesidoAssetIssueType, get_potential_errors from mesido.pycml import Model as _Model @@ -1009,7 +1010,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: if q_nominal is not None: self._port_to_q_nominal[p] = q_nominal self._port_to_q_nominal[out_port] = q_nominal - if "_ret" in p.carrier.name: + if "sec" in p.name.lower(): q_nominals["Secondary"] = {"Q_nominal": q_nominal} else: q_nominals["Primary"] = {"Q_nominal": q_nominal} @@ -1183,10 +1184,27 @@ def _supply_return_temperature_modifiers(self, asset: Asset) -> MODIFIERS: f"primary and secondary ports ('prim' and 'sec') for the hydraulically " f"decoupled networks" ) - assert sec_supply_temperature > sec_return_temperature + assert sec_supply_temperature >= sec_return_temperature assert sec_return_temperature > 0.0 - assert prim_supply_temperature > prim_return_temperature + assert prim_supply_temperature >= prim_return_temperature assert prim_return_temperature > 0.0 + + if ( + sec_supply_temperature == sec_return_temperature + or prim_return_temperature == prim_supply_temperature + ): + asset_id = asset.id + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, + asset_id, + f"Asset named {asset.name}: The temperature on the primary side " + f"supply side is {prim_supply_temperature} and on the return side is " + f"{prim_return_temperature} and on the secondary side the supply temperature " + f"is {sec_supply_temperature} and return temperature is " + f"{sec_return_temperature}. This would result in a bypass of the " + f"heatexchanger.", + ) + temperatures = { "Primary": { "T_supply": prim_supply_temperature, diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 3fba48c74..8e3248ab7 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -12,6 +12,7 @@ ) from mesido.esdl.common import Asset from mesido.esdl.esdl_model_base import _ESDLModelBase +from mesido.potential_errors import MesidoAssetIssueType, get_potential_errors from mesido.pycml.component_library.milp import ( ATES, AirWaterHeatPump, @@ -911,20 +912,25 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD params = {} if params_t["Primary"]["T_supply"] < params_t["Secondary"]["T_supply"]: - logger.error( - f"{asset.name} has a primary side supply temperature, " - f"{params_t['Primary']['T_supply']}, that is higher than the secondary supply , " - f"{params_t['Secondary']['T_supply']}. This is not possible as the HEX can only " - "transfer milp from primary to secondary." + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, + asset.id, + f"Asset named {asset.name}: The supply temperature on the primary side " + f"of the heat exchanger ({params_t['Primary']['T_supply']}°C) should be larger " + f"than the supply temperature on the secondary side " + f"({params_t['Secondary']['T_supply']}°C), as the heat exchanger can only " + f"transfer heat from primary to secondary.", ) - assert params_t["Primary"]["T_supply"] >= params_t["Secondary"]["T_supply"] if params_t["Primary"]["T_return"] < params_t["Secondary"]["T_return"]: - logger.error( - f"{asset.name} has a primary side return temperature that is lower than the " - f"secondary return temperature. This is not possible as the HEX can only transfer " - f"milp from primary to secondary." + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, + asset.id, + f"Asset named {asset.name}: The return temperature on the primary side " + f"of the heat exchanger ({params_t['Primary']['T_return']}°C) should be larger " + f"than the return temperature on the secondary side " + f"({params_t['Secondary']['T_return']}°C), as the heat exchanger can only " + f"transfer heat from primary to secondary.", ) - assert params_t["Primary"]["T_return"] >= params_t["Secondary"]["T_return"] if asset.asset_type == "GenericConversion": max_power = asset.attributes["power"] if asset.attributes["power"] else math.inf @@ -936,12 +942,18 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD * (params_t["Primary"]["T_supply"] - params_t["Secondary"]["T_return"]) / 2.0 ) - - max_heat_transport = ( - params_t["Primary"]["T_supply"] - * max_power - / (params_t["Primary"]["T_supply"] - params_t["Primary"]["T_return"]) - ) + if max_power == 0.0: + max_power = ( + asset.attributes["capacity"] if asset.attributes["capacity"] else math.inf + ) + # This default delta temperature is used when on the primary or secondary side the + # temperature difference is 0.0. It is set to 10.0 to ensure that maximum/nominal + # flowrates and heat transport are set at realistic values. + default_dt = 10.0 + dt_prim = params_t["Primary"]["T_supply"] - params_t["Primary"]["T_return"] + dt_prim = dt_prim if dt_prim > 0.0 else default_dt + params_t["Primary"]["dT"] = dt_prim + max_heat_transport = params_t["Primary"]["T_supply"] * max_power / (dt_prim) prim_heat = dict( HeatIn=dict( @@ -952,14 +964,12 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD Heat=dict(min=-max_heat_transport, max=max_heat_transport, nominal=max_power / 2.0), Hydraulic_power=dict(nominal=params_q["Primary"]["Q_nominal"] * 16.0e5), ), - Q_nominal=max_power - / ( - 2 - * self.rho - * self.cp - * (params_t["Primary"]["T_supply"] - params_t["Primary"]["T_return"]) - ), + Q_nominal=max_power / (2 * self.rho * self.cp * (dt_prim)), ) + + dt_sec = params_t["Secondary"]["T_supply"] - params_t["Secondary"]["T_return"] + dt_sec = dt_sec if dt_sec > 0.0 else default_dt + params_t["Secondary"]["dT"] = dt_sec sec_heat = dict( HeatIn=dict( Heat=dict(min=-max_heat_transport, max=max_heat_transport, nominal=max_power / 2.0), @@ -969,13 +979,7 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD Heat=dict(min=-max_heat_transport, max=max_heat_transport, nominal=max_power / 2.0), Hydraulic_power=dict(nominal=params_q["Secondary"]["Q_nominal"] * 16.0e5), ), - Q_nominal=max_power - / ( - 2 - * self.cp - * self.rho - * (params_t["Secondary"]["T_supply"] - params_t["Secondary"]["T_return"]) - ), + Q_nominal=max_power / (2 * self.cp * self.rho * (dt_sec)), ) params["Primary"] = {**params_t["Primary"], **params_q["Primary"], **prim_heat} params["Secondary"] = { diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 5c66d3e4e..772d7c984 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -106,6 +106,7 @@ def __init__(self, *args, **kwargs): "n_linearization_lines": 5, "pipe_minimum_pressure": -np.inf, "pipe_maximum_pressure": np.inf, + "heat_exchanger_bypass": False, } self._hn_head_loss_class = HeadLossClass(self.heat_network_settings) self.__pipe_head_bounds = {} @@ -2528,6 +2529,8 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): constraints = [] parameters = self.parameters(ensemble_member) + hn_settings = self.heat_network_settings + # The primary side of the heat exchanger acts like a heat consumer, and the secondary side # acts as a heat producer. Essentially using equality constraints to set the heat leaving # the secondary side based on the secondary Supply temperature and the heat leaving the @@ -2547,7 +2550,9 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): discharge_secondary = self.state(f"{heat_exchanger}.Secondary.HeatOut.Q") heat_primary = self.state(f"{heat_exchanger}.Primary_heat") heat_out_prim = self.state(f"{heat_exchanger}.Primary.HeatOut.Heat") + heat_in_prim = self.state(f"{heat_exchanger}.Primary.HeatIn.Heat") heat_out_sec = self.state(f"{heat_exchanger}.Secondary.HeatOut.Heat") + heat_in_sec = self.state(f"{heat_exchanger}.Secondary.HeatIn.Heat") constraint_nominal = ( cp_prim @@ -2566,16 +2571,27 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): # primary side if len(return_temperatures_prim) == 0: + # TODO: for bypass only works if heatloss is turned off, else a check should be + # made here if the return temperature is below supply temperature + if ( + hn_settings["heat_exchanger_bypass"] + and parameters[f"{heat_exchanger}.Primary.T_return"] + >= parameters[f"{heat_exchanger}.Primary.T_supply"] + ): + # Only when bypass is allowed Tret can be equal to Tsup. The below equation + # will not hold as due to heatlosses Heatinprim might somewhat smaller than + # the original temperature + expr = heat_in_prim + else: + expr = ( + discharge_primary + * cp_prim + * rho_prim + * parameters[f"{heat_exchanger}.Primary.T_return"] + ) constraints.append( ( - ( - heat_out_prim - - discharge_primary - * cp_prim - * rho_prim - * parameters[f"{heat_exchanger}.Primary.T_return"] - ) - / constraint_nominal, + (heat_out_prim - expr) / constraint_nominal, 0.0, 0.0, ) @@ -2585,13 +2601,16 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): ret_temperature_is_selected = self.state( f"{ret_carrier_prim}_{return_temperature}" ) + if ( + hn_settings["heat_exchanger_bypass"] + and return_temperature >= parameters[f"{heat_exchanger}.Primary.T_supply"] + ): + expr = heat_in_prim + else: + expr = discharge_primary * cp_prim * rho_prim * return_temperature constraints.append( ( - ( - heat_out_prim - - discharge_primary * cp_prim * rho_prim * return_temperature - + (1.0 - ret_temperature_is_selected) * big_m - ) + (heat_out_prim - expr + (1.0 - ret_temperature_is_selected) * big_m) / constraint_nominal, 0.0, np.inf, @@ -2599,11 +2618,7 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): ) constraints.append( ( - ( - heat_out_prim - - discharge_primary * cp_prim * rho_prim * return_temperature - - (1.0 - ret_temperature_is_selected) * big_m - ) + (heat_out_prim - expr - (1.0 - ret_temperature_is_selected) * big_m) / constraint_nominal, -np.inf, 0.0, @@ -2622,16 +2637,22 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): ) if len(supply_temperatures_sec) == 0: + if ( + hn_settings["heat_exchanger_bypass"] + and parameters[f"{heat_exchanger}.Secondary.T_return"] + >= parameters[f"{heat_exchanger}.Secondary.T_supply"] + ): + expr = heat_in_sec + else: + expr = ( + discharge_secondary + * cp_sec + * rho_sec + * parameters[f"{heat_exchanger}.Secondary.T_supply"] + ) constraints.append( ( - ( - heat_out_sec - - discharge_secondary - * cp_sec - * rho_sec - * parameters[f"{heat_exchanger}.Secondary.T_supply"] - ) - / constraint_nominal, + (heat_out_sec - expr) / constraint_nominal, 0.0, 0.0, ) @@ -2641,13 +2662,16 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): sup_temperature_is_selected = self.state( f"{sup_carrier_sec}_{supply_temperature}" ) + if ( + hn_settings["heat_exchanger_bypass"] + and supply_temperature <= parameters[f"{heat_exchanger}.Secondary.T_return"] + ): + expr = heat_in_sec + else: + expr = discharge_secondary * cp_sec * rho_sec * supply_temperature constraints.append( ( - ( - heat_out_sec - - discharge_secondary * cp_sec * rho_sec * supply_temperature - - (1.0 - sup_temperature_is_selected) * big_m - ) + (heat_out_sec - expr - (1.0 - sup_temperature_is_selected) * big_m) / constraint_nominal, -np.inf, 0.0, @@ -2655,11 +2679,7 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): ) constraints.append( ( - ( - heat_out_sec - - discharge_secondary * cp_sec * rho_sec * supply_temperature - + (1.0 - sup_temperature_is_selected) * big_m - ) + (heat_out_sec - expr + (1.0 - sup_temperature_is_selected) * big_m) / constraint_nominal, 0.0, np.inf, diff --git a/src/mesido/potential_errors.py b/src/mesido/potential_errors.py index 399506fab..e8ec50791 100644 --- a/src/mesido/potential_errors.py +++ b/src/mesido/potential_errors.py @@ -13,6 +13,7 @@ class MesidoAssetIssueType(Enum): COLD_DEMAND_POWER = "cold_demand.power" HEAT_DEMAND_TYPE = "heat_demand.type" ASSET_PROFILE_CAPABILITY = "asset_profile.capability" + HEAT_EXCHANGER_TEMPERATURES = "heat_exchanger.temperature" class PotentialErrors: diff --git a/src/mesido/workflows/utils/error_types.py b/src/mesido/workflows/utils/error_types.py index 46557ccbc..020f2b673 100644 --- a/src/mesido/workflows/utils/error_types.py +++ b/src/mesido/workflows/utils/error_types.py @@ -25,6 +25,8 @@ def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: " listed.", MesidoAssetIssueType.HEAT_DEMAND_TYPE: "Incorrect asset type: please update.", MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY: "Profile assigment not allowed.", + MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES: "Temperatures at heat exchanger set " + "incorrectly.", } return type_and_general_meassage[issue_type] @@ -42,12 +44,14 @@ def potential_error_to_error(network_check_type: Enum) -> None: MesidoAssetIssueType.COLD_DEMAND_POWER, MesidoAssetIssueType.HEAT_DEMAND_TYPE, MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, + MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, ], HEAT_AND_COOL_NETWORK_ERRORS: [ MesidoAssetIssueType.HEAT_DEMAND_POWER, MesidoAssetIssueType.COLD_DEMAND_POWER, MesidoAssetIssueType.HEAT_DEMAND_TYPE, MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, + MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, ], # Example of extra error types / groups that can be added. This one is not used yet. CUSTOM_ERRORS: [MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY], diff --git a/tests/models/heat_exchange/model/test_hex_bypass.esdl b/tests/models/heat_exchange/model/test_hex_bypass.esdl new file mode 100644 index 000000000..ae85e8bf4 --- /dev/null +++ b/tests/models/heat_exchange/model/test_hex_bypass.esdl @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index aec152098..852ed3c3f 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -104,6 +104,74 @@ def energy_system_options(self): parameters["HeatExchange_39ed.Primary.T_return"], ) + def test_heat_exchanger_bypass(self): + """ + Check the modelling of the heat exchanger component which allows two hydraulically + decoupled networks to exchange heat with each other. It is enforced that heat can only flow + from the primary side to the secondary side, and heat exchangers are allowed to be disabled + for timesteps in which they are not used. This is to allow for the temperature constraints + (T_primary > T_secondary) to become deactivated. + An option to allow for bypassing of the heat exchanger has been added, such that when the + heat exchanger is disabled, flow through the heat exchanger is allowed, however no heat + exchange is allowed, in the case the carriers of both the supply and return on one side + of the heat exchanger are the same. + + Checks: + - Standard checks for demand matching and energy conservation. + - Heat to discharge test is not applied as at one heat exchanger (the bypassed one), the + heat going out on the primary side will not coincide exactly with the temperature due to + heatlosses in the network before the heat exchanger. + - Check that the is_disabled is set correctly. + - Check if the temperatures provided are physically feasible. + - Checks that heat exchanger is bypassed, e.g. not exchanging heat, but allowing flow when + both supply and return on one side have the same temperature. + """ + import models.heat_exchange.src.run_heat_exchanger as run_heat_exchanger + from models.heat_exchange.src.run_heat_exchanger import ( + HeatProblem, + ) + + base_folder = Path(run_heat_exchanger.__file__).resolve().parent.parent + + class HeatProblemByPass(HeatProblem): + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + self.heat_network_settings["heat_exchanger_bypass"] = True + + def energy_system_options(self): + options = super().energy_system_options() + options["neglect_pipe_heat_losses"] = False + + return options + + solution = run_esdl_mesido_optimization( + HeatProblemByPass, + base_folder=base_folder, + esdl_file_name="test_hex_bypass.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.xml", + ) + + results = solution.extract_results() + + demand_matching_test(solution, results) + energy_conservation_test(solution, results) + + hex_active = "HeatExchange_e410_copy" + hex_bypass = "HeatExchange_e410" + + np.testing.assert_allclose(results[f"{hex_active}__disabled"][:-1], 0) + np.testing.assert_allclose(results[f"{hex_bypass}__disabled"][:-1], 1) + + np.testing.assert_array_less(0.001, results[f"{hex_active}.Primary.Q"][:-1]) + np.testing.assert_array_less(0.001, results[f"{hex_bypass}.Primary.Q"][:-1]) + + np.testing.assert_allclose(results[f"{hex_bypass}.Heat_flow"][:-1], 0) + np.testing.assert_array_less(1e5, results[f"{hex_active}.Heat_flow"][:-1]) + class TestHP(TestCase): def test_heat_pump(self): From df8c52dfe5a85a6b4be14602d27328c90f263428 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 4 Dec 2024 10:00:34 +0100 Subject: [PATCH 244/376] Pickle for back end dtk (#224) new function added to use pickle in the back end --- CHANGELOG.md | 16 +++++++++++++++- src/mesido/exceptions.py | 23 ++++++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c6c3a0b8..b2238513e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,11 @@ -# [Unreleased-main] - 2024-11-21 +# [Unreleased-main] - 2024-12-04 ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class - Gas and electricity workflow has been added. Still a work in progress - Internal energy content function added for natural gas and hydrogen - OPEX added for gas and electricity source +- Added function to make pickle usable (exceptions) in the OMOTES back end ## Changed - Write output to json also saves the solver statistics. @@ -18,6 +19,19 @@ - Bugfix: same mip gap settings for all solvers in grow_workflow. - Bugfix: head loss test case when minimum_velocity = 0.0 + +# [0.1.8.3] - 2024-12-02 + +## Added +- Added function to make pickle usable (exceptions) in the OMOTES back end + +## Changed +- xx + +## Fixed +- xx + + # [0.1.8.2] - 2024-11-15 ## Added diff --git a/src/mesido/exceptions.py b/src/mesido/exceptions.py index 08b51a970..853706b20 100644 --- a/src/mesido/exceptions.py +++ b/src/mesido/exceptions.py @@ -1,4 +1,4 @@ -from typing import Dict, TYPE_CHECKING +from typing import Dict, TYPE_CHECKING, Tuple, Type if TYPE_CHECKING: # This prevents circular referencing between this file and potential_errors.py from mesido.potential_errors import ErrorMessage, MesidoAssetIssueType @@ -40,3 +40,24 @@ def __str__(self) -> str: return_string += f" {values}" return return_string + + # Currently this function has been added for Design Toolkit back end purposes + def __reduce__( + self, + ) -> Tuple[ + Type["MesidoAssetIssueError"], Tuple[str, "MesidoAssetIssueType", Dict[str, "ErrorMessage"]] + ]: + """Reduce an instance of this class to pickable components. + + This is required so the class can be serialized and deserialized in the pickle format. + + Returns + ------- + A tuple containing: + - The class + - Separate arguments of this instance + """ + return ( + MesidoAssetIssueError, + (self.general_issue, self.error_type, self.message_per_asset_id), + ) From 7b6c891a799857a460b567fdc916339ea34ef372 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Thu, 12 Dec 2024 13:58:53 +0100 Subject: [PATCH 245/376] Updating assets in esdl (#230) Use updates coming from DTK branch - bug fixes in webinar demo --- CHANGELOG.md | 16 +++++++++++++++- src/mesido/workflows/__init__.py | 6 ++++++ src/mesido/workflows/io/write_output.py | 11 ++++++++++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2238513e..0fb18f8b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2024-12-04 +# [Unreleased-main] - 2024-12-12 ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class @@ -6,6 +6,7 @@ - Internal energy content function added for natural gas and hydrogen - OPEX added for gas and electricity source - Added function to make pickle usable (exceptions) in the OMOTES back end +- More of the existing classes added to __init_ for local runs using the grow_workflow ## Changed - Write output to json also saves the solver statistics. @@ -18,6 +19,19 @@ - Bugfix: gas boiler mass flow contraint units - Bugfix: same mip gap settings for all solvers in grow_workflow. - Bugfix: head loss test case when minimum_velocity = 0.0 +- Bugs: state update of heat pump, heat buffer volume & ates charge rates update in ESDL, heat storage asset data output to influxDB + + +# [0.1.8.4] - 2024-12-11 + +## Added +- More of the existing classes added to __init_ for local runs using the grow_workflow + +## Changed +- xxx + +## Fixed +- Bugs: state update of heat pump, heat buffer volume & ates charge rates update in ESDL, heat storage asset data output to influxDB # [0.1.8.3] - 2024-12-02 diff --git a/src/mesido/workflows/__init__.py b/src/mesido/workflows/__init__.py index 04ae90d66..755a00463 100644 --- a/src/mesido/workflows/__init__.py +++ b/src/mesido/workflows/__init__.py @@ -1,7 +1,10 @@ from .grow_workflow import ( EndScenarioSizing, EndScenarioSizingDiscounted, + EndScenarioSizingDiscountedStaged, EndScenarioSizingHIGHS, + EndScenarioSizingHeadLossDiscounted, + EndScenarioSizingHeadLossDiscountedStaged, EndScenarioSizingStaged, SolverGurobi, SolverHIGHS, @@ -19,7 +22,10 @@ __all__ = [ "EndScenarioSizing", "EndScenarioSizingDiscounted", + "EndScenarioSizingDiscountedStaged", "EndScenarioSizingHIGHS", + "EndScenarioSizingHeadLossDiscounted", + "EndScenarioSizingHeadLossDiscountedStaged", "EndScenarioSizingStaged", "SolverGurobi", "SolverHIGHS", diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index df9053530..b0f2dc099 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -956,19 +956,27 @@ def _name_to_asset(name): *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("ates", []), *self.energy_system_components.get("heat_buffer", []), + *self.energy_system_components.get("heat_pump", []), ]: asset = _name_to_asset(name) asset_placement_var = self._asset_aggregation_count_var_map[name] placed = np.round(results[asset_placement_var][0]) >= 1.0 max_size = results[self._asset_max_size_map[name]][0] - if asset in self.energy_system_components.get("heat_buffer", []): + if asset.name in self.energy_system_components.get("ates", []): + asset.maxChargeRate = results[f"{name}__max_size"][0] + asset.maxDischargeRate = results[f"{name}__max_size"][0] + elif asset.name in self.energy_system_components.get("heat_buffer", []): asset.capacity = max_size asset.volume = max_size / ( parameters[f"{name}.cp"] * parameters[f"{name}.rho"] * parameters[f"{name}.dT"] ) + elif asset.name in self.energy_system_components.get("heat_pump", []): + # Note: Electrical capacity and not the heat capacity + # TODO: in the future we need to cater for varying COP as well + asset.power = results[f"{name}__max_size"][0] / parameters[f"{name}.COP"] else: asset.power = max_size if not placed: @@ -1063,6 +1071,7 @@ def _name_to_asset(name): esdl.Conversion, esdl.Consumer, esdl.Producer, + esdl.Storage, ] for asset_name in [ From df92d9f897107bce8c5608e71259ef131a68adeb Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 16 Jan 2025 09:45:09 +0100 Subject: [PATCH 246/376] Bugfix: Get density carriertype (#232) Bugfix to check for carrier type instead of the carrier name for get_density when carriertype is heat --- CHANGELOG.md | 1 + src/mesido/esdl/asset_to_component_base.py | 32 +++++++++++----------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fb18f8b6..dd63290cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - Bugfix: same mip gap settings for all solvers in grow_workflow. - Bugfix: head loss test case when minimum_velocity = 0.0 - Bugs: state update of heat pump, heat buffer volume & ates charge rates update in ESDL, heat storage asset data output to influxDB +- Bugfix: get_density + get_internal_energy updated to ensure it checks commodity type for heat instead of the carrier name # [0.1.8.4] - 2024-12-11 diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 0cdeaf8cf..5c15fd93f 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -51,32 +51,32 @@ def get_internal_energy(asset_name, carrier): # is also updated in the head_loss_class. temperature = 20.0 - if NetworkSettings.NETWORK_TYPE_GAS in carrier.name: + if isinstance(carrier, esdl.HeatCommodity): internal_energy = cP.CoolProp.PropsSI( "U", "T", 273.15 + temperature, "P", - carrier.pressure * 1.0e5, - NetworkSettings.NETWORK_COMPOSITION_GAS, + 1.0 * 1.0e5, # TODO: defualt 1 bar pressure should be set for the carrier + "WATER", ) - elif NetworkSettings.NETWORK_TYPE_HYDROGEN in carrier.name: + elif NetworkSettings.NETWORK_TYPE_GAS in carrier.name: internal_energy = cP.CoolProp.PropsSI( "U", "T", 273.15 + temperature, "P", carrier.pressure * 1.0e5, - str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper(), + NetworkSettings.NETWORK_COMPOSITION_GAS, ) - elif NetworkSettings.NETWORK_TYPE_HEAT in carrier.name: + elif NetworkSettings.NETWORK_TYPE_HYDROGEN in carrier.name: internal_energy = cP.CoolProp.PropsSI( "U", "T", 273.15 + temperature, "P", - 1.0 * 1.0e5, # TODO: defualt 1 bar pressure should be set for the carrier - "WATER", + carrier.pressure * 1.0e5, + str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper(), ) else: logger.warning( @@ -115,41 +115,41 @@ def get_density(asset_name, carrier, temperature_degrees_celsius=20.0, pressure_ # (linked to _kinematic_viscosity). Thus, when updating the default value of # temperature_degrees_celsius ensure it is also updated in the head_loss_class. if pressure_pa is None: - if str(NetworkSettings.NETWORK_TYPE_HEAT).upper() in str(carrier.name).upper(): + if isinstance(carrier, esdl.HeatCommodity): pressure_pa = 16.0e5 # 16bar is expected to be the upper limit in networks else: pressure_pa = carrier.pressure * 1.0e5 # convert bar to Pa elif pressure_pa < 0.0: raise logger.error("The pressure should be > 0.0 to calculate density") - if NetworkSettings.NETWORK_TYPE_GAS in carrier.name: + if isinstance(carrier, esdl.HeatCommodity): density = cP.CoolProp.PropsSI( "D", "T", 273.15 + temperature_degrees_celsius, "P", pressure_pa, - NetworkSettings.NETWORK_COMPOSITION_GAS, + "INCOMP::Water", ) - elif NetworkSettings.NETWORK_TYPE_HYDROGEN in carrier.name: + return density # kg/m3 + elif NetworkSettings.NETWORK_TYPE_GAS in carrier.name: density = cP.CoolProp.PropsSI( "D", "T", 273.15 + temperature_degrees_celsius, "P", pressure_pa, - str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper(), + NetworkSettings.NETWORK_COMPOSITION_GAS, ) - elif NetworkSettings.NETWORK_TYPE_HEAT in carrier.name: + elif NetworkSettings.NETWORK_TYPE_HYDROGEN in carrier.name: density = cP.CoolProp.PropsSI( "D", "T", 273.15 + temperature_degrees_celsius, "P", pressure_pa, - "INCOMP::Water", + str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper(), ) - return density # kg/m3 else: logger.warning( f"Neither gas/hydrogen/heat was used in the carrier " f"name of pipe {asset_name}" From 73d55befc8309e0ff7bad4115d75fa1b3994362d Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Fri, 24 Jan 2025 14:16:09 +0100 Subject: [PATCH 247/376] Update average profiles (#236) Added generic function to create average profiles with user-defined timestep size and added a testcase for this. --- CHANGELOG.md | 1 + src/mesido/workflows/utils/adapt_profiles.py | 193 +++++++++++++------ tests/test_profile_parsing.py | 54 +++++- 3 files changed, 188 insertions(+), 60 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dd63290cc..e96db7ee0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - OPEX added for gas and electricity source - Added function to make pickle usable (exceptions) in the OMOTES back end - More of the existing classes added to __init_ for local runs using the grow_workflow +- Generic function to adapt timeseries from hourly timesteps to user-defined timesteps by averaging. ## Changed - Write output to json also saves the solver statistics. diff --git a/src/mesido/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py index 6cb579499..e8145b7a8 100644 --- a/src/mesido/workflows/utils/adapt_profiles.py +++ b/src/mesido/workflows/utils/adapt_profiles.py @@ -2,6 +2,7 @@ import datetime import logging +import operator import numpy as np @@ -12,7 +13,7 @@ logger.setLevel(logging.INFO) -def set_data_with_averages_and_peak_day( +def set_data_with_averages( datastore: DataStore, variable_name: str, ensemble_member: int, @@ -80,8 +81,6 @@ def adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(problem, prob new_datastore = DataStore(problem) new_datastore.reference_datetime = problem.io.datetimes[0] - cold_demands = problem.energy_system_components.get("cold_demand", []) - for ensemble_member in range(problem.ensemble_size): parameters = problem.parameters(ensemble_member) @@ -172,67 +171,145 @@ def adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(problem, prob new_date_times = np.asarray(new_date_times) parameters["times"] = [x.timestamp() for x in new_date_times] - for demand in heat_demands: - var_name = f"{demand}.target_heat_demand" - set_data_with_averages_and_peak_day( - datastore=new_datastore, - variable_name=var_name, - ensemble_member=ensemble_member, - new_date_times=new_date_times, - problem=problem, - ) + select_profiles_for_update(problem, new_datastore, new_date_times, ensemble_member) - for demand in cold_demands: - var_name = f"{demand}.target_cold_demand" - set_data_with_averages_and_peak_day( - datastore=new_datastore, - variable_name=var_name, - ensemble_member=ensemble_member, - new_date_times=new_date_times, - problem=problem, - ) + problem.io = new_datastore - # TODO: this has not been tested but is required if a production profile is included - # in the data - for source in problem.energy_system_components.get("heat_source", []): - var_name = f"{source}.maximum_heat_source" - try: - problem.get_timeseries(variable=var_name, ensemble_member=ensemble_member) - except KeyError: - logger.debug( - f"Source {source} has no production profile, thus it also will " - f"not be adapted to a different time scales." - ) - continue + logger.info("Profile data has been adapted to a common format") - set_data_with_averages_and_peak_day( - datastore=new_datastore, - variable_name=var_name, - ensemble_member=ensemble_member, - new_date_times=new_date_times, - problem=problem, - ) + return problem_indx_max_peak, heat_demand_nominal, cold_demand_nominal - for carrier_properties in problem.esdl_carriers.values(): - carrier_name = carrier_properties["name"] - var_name = f"{carrier_name}.price_profile" - try: - problem.get_timeseries(variable=var_name, ensemble_member=ensemble_member) - except KeyError: - logger.debug( - f"Carrier {carrier_name} has no price profile, thus it also will " - f"not be adapted to different time scales." - ) - set_data_with_averages_and_peak_day( - datastore=new_datastore, - variable_name=var_name, - ensemble_member=ensemble_member, - new_date_times=new_date_times, - problem=problem, - ) + +def adapt_hourly_profile_averages_timestep_size(problem, problem_step_size_hours: int): + """ + Adapt yearly porifle with hourly time steps to a common profile with average over a given + stepsize in hours. + + Return the following: + + """ + + new_datastore = DataStore(problem) + new_datastore.reference_datetime = problem.io.datetimes[0] + + org_timeseries = problem.io.datetimes + org_dt = list(map(operator.sub, org_timeseries[1:], org_timeseries[0:-1])) + assert all(dt.seconds == 3600 for dt in org_dt) # checks that the orginal timeseries has + # homogenous horizon with equispaced timesteps of 3600s (1hr). + + for ensemble_member in range(problem.ensemble_size): + parameters = problem.parameters(ensemble_member) + + new_date_times = list() + + for hour in range(0, len(org_timeseries), problem_step_size_hours): + new_date_times.append(problem.io.datetimes[hour]) + + new_date_times.append(problem.io.datetimes[-1] + datetime.timedelta(hours=1)) + + new_date_times = np.asarray(new_date_times) + parameters["times"] = [x.timestamp() for x in new_date_times] + + select_profiles_for_update(problem, new_datastore, new_date_times, ensemble_member) problem.io = new_datastore logger.info("Profile data has been adapted to a common format") - return problem_indx_max_peak, heat_demand_nominal, cold_demand_nominal + +def select_profiles_for_update( + problem, new_datastore: DataStore, new_date_times: np.array, ensemble_member: int +): + """ + Selects all the profiles that are relevant for the problem and runs the method to set the new + updated timeseries. + + Args: + problem: optimization problem class + new_datastore: the new datastore object that should be filled + new_date_times: the new date time entries that are required + ensemble_member: + + Returns: + + """ + heat_demands = problem.energy_system_components.get("heat_demand", []) + cold_demands = problem.energy_system_components.get("cold_demand", []) + + for demand in heat_demands: + var_name = f"{demand}.target_heat_demand" + set_data_with_averages( + datastore=new_datastore, + variable_name=var_name, + ensemble_member=ensemble_member, + new_date_times=new_date_times, + problem=problem, + ) + + for demand in cold_demands: + var_name = f"{demand}.target_cold_demand" + set_data_with_averages( + datastore=new_datastore, + variable_name=var_name, + ensemble_member=ensemble_member, + new_date_times=new_date_times, + problem=problem, + ) + + # TODO: this has not been tested but is required if a production profile is included + # in the data + for source in problem.energy_system_components.get("heat_source", []): + var_name = f"{source}.maximum_heat_source" + try: + problem.get_timeseries(variable=var_name, ensemble_member=ensemble_member) + except KeyError: + logger.debug( + f"Source {source} has no production profile, thus it also will " + f"not be adapted to a different time scales." + ) + continue + + set_data_with_averages( + datastore=new_datastore, + variable_name=var_name, + ensemble_member=ensemble_member, + new_date_times=new_date_times, + problem=problem, + ) + + for source in problem.energy_system_components.get("electricity_source", []): + var_name = f"{source}.maximum_electricity_source" + try: + problem.get_timeseries(variable=var_name, ensemble_member=ensemble_member) + except KeyError: + logger.debug( + f"Source {source} has no production profile, thus it also will " + f"not be adapted to a different time scales." + ) + continue + + set_data_with_averages( + datastore=new_datastore, + variable_name=var_name, + ensemble_member=ensemble_member, + new_date_times=new_date_times, + problem=problem, + ) + + for carrier_properties in problem.esdl_carriers.values(): + carrier_name = carrier_properties["name"] + var_name = f"{carrier_name}.price_profile" + try: + problem.get_timeseries(variable=var_name, ensemble_member=ensemble_member) + except KeyError: + logger.debug( + f"Carrier {carrier_name} has no price profile, thus it also will " + f"not be adapted to different time scales." + ) + set_data_with_averages( + datastore=new_datastore, + variable_name=var_name, + ensemble_member=ensemble_member, + new_date_times=new_date_times, + problem=problem, + ) diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 5c3864b97..8a42ade5b 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -1,4 +1,5 @@ import datetime +import operator import unittest import unittest.mock from pathlib import Path @@ -11,6 +12,7 @@ from mesido.exceptions import MesidoAssetIssueError from mesido.potential_errors import MesidoAssetIssueType, PotentialErrors from mesido.workflows import EndScenarioSizingStaged +from mesido.workflows.utils.adapt_profiles import adapt_hourly_profile_averages_timestep_size from mesido.workflows.utils.error_types import mesido_issue_type_gen_message import numpy as np @@ -33,7 +35,55 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) return self._loaded_profiles[profile.id] -class TestPotentialErros(unittest.TestCase): +class TestProfileUpdating(unittest.TestCase): + def test_profile_updating(self): + """ + Tests the updating of the profiles. + The peak day hourly with averaged 5 days is currently tested in test_cold_demand.py. + This test covers the profile updating with varies timescales. Of amongst others the + adapt_hourly_profile_averages_timestep_size method in adapt_profiles.py + Returns: + + """ + import models.unit_cases.case_3a.src.run_3a as run_3a + from models.unit_cases.case_3a.src.run_3a import HeatProblem + + base_folder = Path(run_3a.__file__).resolve().parent.parent + model_folder = base_folder / "model" + input_folder = base_folder / "input" + + problem_step_size = 8 + + class ProfileUpdateHourly(HeatProblem): + def read(self): + """ + Reads the yearly profile with hourly time steps and adapt to a daily averaged + profile except for the day with the peak demand. + """ + super().read() + + adapt_hourly_profile_averages_timestep_size(self, problem_step_size) + + problem = ProfileUpdateHourly( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="3a.esdl", + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.xml", + ) + problem.pre() + + timeseries_updated = problem.io.datetimes + dts = list(map(operator.sub, timeseries_updated[1:], timeseries_updated[0:-1])) + assert all(dt.seconds == 3600 * problem_step_size for dt in dts[:-1]) + assert dts[-1].seconds <= 3600 * problem_step_size + + # TODO: also check the values of the averages + + +class TestPotentialErrors(unittest.TestCase): def test_asset_potential_errors(self): """ This test checks that the error checks in the code for sufficient installed cool/heatig @@ -306,7 +356,7 @@ def test_loading_from_csv_with_influx_profiles_given(self): if __name__ == "__main__": # unittest.main() a = TestProfileLoading() - b = TestPotentialErros() + b = TestPotentialErrors() b.test_asset_potential_errors() a.test_loading_from_influx() a.test_loading_from_csv() From 53f0548cfd3386cd41f26e43e8a46cc14d549d9c Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 27 Jan 2025 12:51:17 +0100 Subject: [PATCH 248/376] Update commodity type for post (#223) Added a commodity type for each asset, to allow for easier extraction of results and variable selection based on commodity. --- CHANGELOG.md | 3 +- src/mesido/base_component_type_mixin.py | 8 +++ src/mesido/component_type_mixin.py | 24 ++++++- src/mesido/gas_physics_mixin.py | 11 ++- src/mesido/heat_physics_mixin.py | 11 ++- .../milp/_internal/base_component.py | 22 ++++++ .../milp/_internal/electricity_component.py | 7 +- .../milp/_internal/gas_component.py | 7 +- .../milp/_internal/heat_component.py | 27 ++------ src/mesido/workflows/io/write_output.py | 67 +++++++++++++------ 10 files changed, 122 insertions(+), 65 deletions(-) create mode 100644 src/mesido/pycml/component_library/milp/_internal/base_component.py diff --git a/CHANGELOG.md b/CHANGELOG.md index e96db7ee0..8f2721e85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Gas and electricity workflow has been added. Still a work in progress - Internal energy content function added for natural gas and hydrogen - OPEX added for gas and electricity source +- Commodity annotation for assets, to allow for easier postprocessing - Added function to make pickle usable (exceptions) in the OMOTES back end - More of the existing classes added to __init_ for local runs using the grow_workflow - Generic function to adapt timeseries from hourly timesteps to user-defined timesteps by averaging. @@ -17,7 +18,7 @@ - Option was added to allow a bypass of the heat exchanger ## Fixed -- Bugfix: gas boiler mass flow contraint units +- Bugfix: gas boiler mass flow constraint units - Bugfix: same mip gap settings for all solvers in grow_workflow. - Bugfix: head loss test case when minimum_velocity = 0.0 - Bugs: state update of heat pump, heat buffer volume & ates charge rates update in ESDL, heat storage asset data output to influxDB diff --git a/src/mesido/base_component_type_mixin.py b/src/mesido/base_component_type_mixin.py index c5d2f7c30..42938274e 100644 --- a/src/mesido/base_component_type_mixin.py +++ b/src/mesido/base_component_type_mixin.py @@ -20,6 +20,14 @@ def energy_system_components(self) -> Dict[str, str]: """ raise NotImplementedError + @property + @abstractmethod + def energy_system_components_commodity(self) -> Dict[str, List[str]]: + """ + This method return a dict with the components ad their network types. + """ + raise NotImplementedError + def energy_system_components_get(self, list_types: list) -> list: components = [] for component_type in list_types: diff --git a/src/mesido/component_type_mixin.py b/src/mesido/component_type_mixin.py index 74ef5bda8..e48936491 100644 --- a/src/mesido/component_type_mixin.py +++ b/src/mesido/component_type_mixin.py @@ -24,6 +24,7 @@ class ModelicaComponentTypeMixin(BaseComponentTypeMixin): def __init__(self, *args, **kwargs): super().__init__(**kwargs) self.__hn_component_types = None + self.__commodity_types = None def pre(self): """ @@ -464,7 +465,9 @@ def energy_system_components(self) -> Dict[str, Set[str]]: # Find the components in model, detection by string # (name.component_type: type) - component_types = sorted({v for k, v in string_parameters.items()}) + component_types = sorted( + {v for k, v in string_parameters.items() if "network_type" not in k} + ) components = {} for c in component_types: @@ -476,6 +479,25 @@ def energy_system_components(self) -> Dict[str, Set[str]]: return self.__hn_component_types + @property + def energy_system_components_commodity(self) -> Dict[str, Set[str]]: + """ + This method returns a dict with the milp network assets and their commodity type. + """ + if self.__commodity_types is None: + # Create the dictionary once after that it will be available + string_parameters = self.string_parameters(0) + + # Find the components in model, detection by string + # (name.component_type: type) + commodity_types = { + k.split(".")[0]: v for k, v in string_parameters.items() if "network_type" in k + } + + self.__commodity_types = commodity_types + + return self.__commodity_types + @property def energy_system_topology(self) -> Topology: """ diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index e8748aec4..b9efb5f51 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -183,22 +183,19 @@ def _get_min_bound(bound): for pipe_name in self.energy_system_components.get("gas_pipe", []): head_loss_var = f"{pipe_name}.__head_loss" + commodity = self.energy_system_components_commodity.get(pipe_name) # Note we always use the gas network type for the naming of variables, independent of # the gas mixture used. initialized_vars = self._gn_head_loss_class.initialize_variables_nominals_and_bounds( self, - self.gas_network_settings["network_type"], + commodity, pipe_name, self.gas_network_settings, ) if initialized_vars[0] != {}: - self.__gas_pipe_head_bounds[ - f"{pipe_name}.{NetworkSettings.NETWORK_TYPE_GAS}In.H" - ] = initialized_vars[0] + self.__gas_pipe_head_bounds[f"{pipe_name}.{commodity}In.H"] = initialized_vars[0] if initialized_vars[1] != {}: - self.__gas_pipe_head_bounds[ - f"{pipe_name}.{NetworkSettings.NETWORK_TYPE_GAS}Out.H" - ] = initialized_vars[1] + self.__gas_pipe_head_bounds[f"{pipe_name}.{commodity}Out.H"] = initialized_vars[1] if initialized_vars[2] != {}: self.__gas_pipe_head_loss_zero_bounds[f"{pipe_name}.dH"] = initialized_vars[2] if initialized_vars[3] != {}: diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 772d7c984..00bd75832 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -254,18 +254,15 @@ def _get_min_bound(bound): set_self_hot_pipes = set(self.hot_pipes) for pipe_name in self.energy_system_components.get("heat_pipe", []): + commodity = self.energy_system_components_commodity.get(pipe_name) head_loss_var = f"{pipe_name}.__head_loss" initialized_vars = self._hn_head_loss_class.initialize_variables_nominals_and_bounds( - self, NetworkSettings.NETWORK_TYPE_HEAT, pipe_name, self.heat_network_settings + self, commodity, pipe_name, self.heat_network_settings ) if initialized_vars[0] != {}: - self.__pipe_head_bounds[f"{pipe_name}.{NetworkSettings.NETWORK_TYPE_HEAT}In.H"] = ( - initialized_vars[0] - ) + self.__pipe_head_bounds[f"{pipe_name}.{commodity}In.H"] = initialized_vars[0] if initialized_vars[1] != {}: - self.__pipe_head_bounds[f"{pipe_name}.{NetworkSettings.NETWORK_TYPE_HEAT}Out.H"] = ( - initialized_vars[1] - ) + self.__pipe_head_bounds[f"{pipe_name}.{commodity}Out.H"] = initialized_vars[1] if initialized_vars[2] != {}: self.__pipe_head_loss_zero_bounds[f"{pipe_name}.dH"] = initialized_vars[2] if initialized_vars[3] != {}: diff --git a/src/mesido/pycml/component_library/milp/_internal/base_component.py b/src/mesido/pycml/component_library/milp/_internal/base_component.py new file mode 100644 index 000000000..63f7af606 --- /dev/null +++ b/src/mesido/pycml/component_library/milp/_internal/base_component.py @@ -0,0 +1,22 @@ +from mesido.pycml import Component + +from numpy import nan + + +class BaseAsset(Component): + """ + A base asset that carries properties used throughout the different commodities. In this case + only the financial structure is used in all commodities. + """ + + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + self.state = 1 + + self.variable_operational_cost_coefficient = 0.0 + self.fixed_operational_cost_coefficient = 0.0 + self.investment_cost_coefficient = 0.0 + self.installation_cost = 0.0 + + self.technical_life = nan + self.discount_rate = nan diff --git a/src/mesido/pycml/component_library/milp/_internal/electricity_component.py b/src/mesido/pycml/component_library/milp/_internal/electricity_component.py index 200cdd1f1..f01767bb5 100644 --- a/src/mesido/pycml/component_library/milp/_internal/electricity_component.py +++ b/src/mesido/pycml/component_library/milp/_internal/electricity_component.py @@ -1,4 +1,5 @@ -from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.network_common import NetworkSettings +from mesido.pycml.component_library.milp._internal.base_component import BaseAsset class ElectricityComponent(BaseAsset): @@ -6,4 +7,6 @@ class ElectricityComponent(BaseAsset): Base electricity component nothing to add here yet. """ - pass + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + self.network_type = NetworkSettings.NETWORK_TYPE_ELECTRICITY diff --git a/src/mesido/pycml/component_library/milp/_internal/gas_component.py b/src/mesido/pycml/component_library/milp/_internal/gas_component.py index dfab713ef..b002dbd73 100644 --- a/src/mesido/pycml/component_library/milp/_internal/gas_component.py +++ b/src/mesido/pycml/component_library/milp/_internal/gas_component.py @@ -1,4 +1,5 @@ -from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.network_common import NetworkSettings +from mesido.pycml.component_library.milp._internal.base_component import BaseAsset class GasComponent(BaseAsset): @@ -6,4 +7,6 @@ class GasComponent(BaseAsset): Base gas component nothing to add here yet. """ - pass + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + self.network_type = NetworkSettings.NETWORK_TYPE_GAS diff --git a/src/mesido/pycml/component_library/milp/_internal/heat_component.py b/src/mesido/pycml/component_library/milp/_internal/heat_component.py index ed8ef61b3..6e1a4d064 100644 --- a/src/mesido/pycml/component_library/milp/_internal/heat_component.py +++ b/src/mesido/pycml/component_library/milp/_internal/heat_component.py @@ -1,31 +1,12 @@ -from mesido.pycml import Component +from mesido.network_common import NetworkSettings +from mesido.pycml.component_library.milp._internal.base_component import BaseAsset -from numpy import nan - -class HeatComponent(Component): +class HeatComponent(BaseAsset): """ Base milp component nothing to add here yet. """ def __init__(self, name, **modifiers): super().__init__(name, **modifiers) - - -class BaseAsset(Component): - """ - A base asset that carries properties used throughout the different commodities. In this case - only the financial structure is used in all commodities. - """ - - def __init__(self, name, **modifiers): - super().__init__(name, **modifiers) - self.state = 1 - - self.variable_operational_cost_coefficient = 0.0 - self.fixed_operational_cost_coefficient = 0.0 - self.investment_cost_coefficient = 0.0 - self.installation_cost = 0.0 - - self.technical_life = nan - self.discount_rate = nan + self.network_type = NetworkSettings.NETWORK_TYPE_HEAT diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index b0f2dc099..373a21c62 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -19,6 +19,7 @@ import mesido.esdl.esdl_parser from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.esdl.edr_pipe_class import EDRPipeClass +from mesido.network_common import NetworkSettings from mesido.workflows.utils.helpers import _sort_numbered import numpy as np @@ -1127,21 +1128,30 @@ def _name_to_asset(name): # These variables exist for all the assets. Variables that only exist for # specific # assets are only added later, like Pump_power - variables_one_hydraulic_system = ["HeatIn.Q", "Heat_flow"] + commodity = self.energy_system_components_commodity.get(asset_name) + + variables_one_hydraulic_system = [f"{commodity}In.Q"] variables_two_hydraulic_system = [ - "Primary.HeatIn.Q", - "Secondary.HeatIn.Q", - "Heat_flow", + f"Primary.{commodity}In.Q", + f"Secondary.{commodity}In.Q", ] + if commodity == NetworkSettings.NETWORK_TYPE_HEAT: + variables_one_hydraulic_system.append("Heat_flow") + variables_two_hydraulic_system.append("Heat_flow") + elif commodity == NetworkSettings.NETWORK_TYPE_GAS: + variables_one_hydraulic_system.append(f"{commodity}In.mass_flow") + variables_two_hydraulic_system.append(f"{commodity}In.mass_flow") + + post_processed = {} # Update/overwrite each asset variable list due to: # - the addition of head loss minimization: head variable and pump power # - only a specific variable required for a specific asset: pump power # - addition of post processed variables: pipe velocity if self.heat_network_settings["minimize_head_losses"]: - variables_one_hydraulic_system.append("HeatIn.H") - variables_two_hydraulic_system.append("Primary.HeatIn.H") - variables_two_hydraulic_system.append("Secondary.HeatIn.H") + variables_one_hydraulic_system.append(f"{commodity}In.H") + variables_two_hydraulic_system.append(f"Primary.{commodity}In.H") + variables_two_hydraulic_system.append(f"Secondary.{commodity}In.H") if asset_name in [ *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_buffer", []), @@ -1154,13 +1164,26 @@ def _name_to_asset(name): elif asset_name in [*self.energy_system_components.get("pump", [])]: variables_one_hydraulic_system = ["Pump_power"] variables_two_hydraulic_system = ["Pump_power"] - if asset_name in [*self.energy_system_components.get("heat_pipe", [])]: + if asset_name in [ + *self.energy_system_components.get("heat_pipe", []), + *self.energy_system_components.get("gas_pipe", []), + ]: variables_one_hydraulic_system.append("PostProc.Velocity") variables_two_hydraulic_system.append("PostProc.Velocity") # Velocity at the pipe outlet [m/s] - post_processed_velocity = ( - results[f"{asset_name}.HeatOut.Q"] / parameters[f"{asset_name}.area"] + post_processed["PostProc.Velocity"] = ( + results[f"{asset_name}.{commodity}Out.Q"] + / parameters[f"{asset_name}.area"] ) + variables_one_hydraulic_system.append("PostProc.Pressure") + # TODO: seems unnecessary, pipes always only have 1 hydraulic system + variables_two_hydraulic_system.append("PostProc.Pressure") + post_processed["PostProc.Pressure"] = ( + results[f"{asset_name}.{commodity}In.H"] # m + * GRAVITATIONAL_CONSTANT # m/s2 + * parameters[f"{asset_name}.density"] # g/m3 + / 1e3 + ) # Pa # Depending on the port set, different carriers are assigned if port: @@ -1294,9 +1317,9 @@ def _name_to_asset(name): ) ) elif variable in [ - "HeatIn.H", - "Primary.HeatIn.H", - "Secondary.HeatIn.H", + f"{commodity}In.H", + f"Primary.{commodity}In.H", + f"Secondary.{commodity}In.H", ]: profile_attributes.profileQuantityAndUnit = ( esdl.esdl.QuantityAndUnitType( @@ -1306,9 +1329,9 @@ def _name_to_asset(name): ) ) elif variable in [ - "HeatIn.Q", - "Primary.HeatIn.Q", - "Secondary.HeatIn.Q", + f"{commodity}In.Q", + f"Primary.{commodity}In.Q", + f"Secondary.{commodity}In.Q", ]: profile_attributes.profileQuantityAndUnit = ( esdl.esdl.QuantityAndUnitType( @@ -1338,21 +1361,21 @@ def _name_to_asset(name): # Add variable values in new column conversion_factor = 0.0 if variable in [ - "HeatIn.H", - "Primary.HeatIn.H", - "Secondary.HeatIn.H", + f"{commodity}In.H", + f"Primary.{commodity}In.H", + f"Secondary.{commodity}In.H", ]: conversion_factor = GRAVITATIONAL_CONSTANT * 988.0 else: conversion_factor = 1.0 - if variable not in ["PostProc.Velocity"]: + if variable not in ["PostProc.Velocity", "PostProc.Pressure"]: data_row.append( results[f"{asset_name}." + variable][ii] * conversion_factor ) # The variable evaluation below seems unnecessary, but it would be # used we expand the list of post process type variables - elif variable in ["PostProc.Velocity"]: - data_row.append(post_processed_velocity[ii]) + elif variable in ["PostProc.Velocity", "PostProc.Pressure"]: + data_row.append(post_processed[variable][ii]) profiles.profile_data_list.append(data_row) # end time steps From a40afda94ef5ddcd90df7965e4b4bdd0b8d64c2c Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 27 Jan 2025 12:56:59 +0100 Subject: [PATCH 249/376] Electricity cables unidirectional (#234) Allowing electricity cables to be unidirectional also added a testcase for unidirectional cable. --- CHANGELOG.md | 1 + src/mesido/esdl/esdl_heat_model.py | 13 +++- .../bus_networks/input/timeseries_uni.csv | 4 + .../bus_networks/model/Electric_bus4.esdl | 78 +++++++++++++++++++ tests/test_electric_bus.py | 57 ++++++++++++++ 5 files changed, 149 insertions(+), 4 deletions(-) create mode 100644 tests/models/unit_cases_electricity/bus_networks/input/timeseries_uni.csv create mode 100644 tests/models/unit_cases_electricity/bus_networks/model/Electric_bus4.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f2721e85..3c08a854f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - Adapt profiles for heating and cooling peak day seperately & add test case - For gas: Use energy content (heating value) instead of internal energy - Option was added to allow a bypass of the heat exchanger +- Option for electricity cables to be unidirectional ## Fixed - Bugfix: gas boiler mass flow constraint units diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 8e3248ab7..bd60d9dc7 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1844,6 +1844,8 @@ def convert_electricity_cable(self, asset: Asset) -> Tuple[Type[ElectricityCable max_current = max_power / min_voltage self._set_electricity_current_nominal_and_max(asset, max_current / 2.0, max_current) + bi_direct = True if asset.attributes["assetType"] != "unidirectional" else False + length = asset.attributes["length"] if length == 0.0: length = 10.0 @@ -1851,6 +1853,9 @@ def convert_electricity_cable(self, asset: Asset) -> Tuple[Type[ElectricityCable res_ohm_per_m = self._cable_get_resistance(asset) res_ohm = res_ohm_per_m * length + min_current = -max_current if bi_direct else 0.0 + min_power = -max_power if bi_direct else 0.0 + modifiers = dict( max_current=max_current, min_voltage=min_voltage, @@ -1860,13 +1865,13 @@ def convert_electricity_cable(self, asset: Asset) -> Tuple[Type[ElectricityCable r=res_ohm, ElectricityOut=dict( V=dict(min=min_voltage, nominal=min_voltage), - I=dict(min=-max_current, max=max_current, nominal=max_current / 2.0), - Power=dict(min=-max_power, max=max_power, nominal=max_power / 2.0), + I=dict(min=min_current, max=max_current, nominal=max_current / 2.0), + Power=dict(min=min_power, max=max_power, nominal=max_power / 2.0), ), ElectricityIn=dict( V=dict(min=min_voltage, nominal=min_voltage), - I=dict(min=-max_current, max=max_current, nominal=max_current / 2.0), - Power=dict(min=-max_power, max=max_power, nominal=max_power / 2.0), + I=dict(min=min_current, max=max_current, nominal=max_current / 2.0), + Power=dict(min=min_power, max=max_power, nominal=max_power / 2.0), ), **self._get_cost_figure_modifiers(asset), ) diff --git a/tests/models/unit_cases_electricity/bus_networks/input/timeseries_uni.csv b/tests/models/unit_cases_electricity/bus_networks/input/timeseries_uni.csv new file mode 100644 index 000000000..3d249c41c --- /dev/null +++ b/tests/models/unit_cases_electricity/bus_networks/input/timeseries_uni.csv @@ -0,0 +1,4 @@ +DateTime,ElectricityDemand_e527,ElectricityDemand_281a +01-01-2019 00:00, 500., 500. +01-01-2019 01:00, 1000., 500. +01-01-2019 02:00, 500., 1000. diff --git a/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus4.esdl b/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus4.esdl new file mode 100644 index 000000000..a1c72a6f7 --- /dev/null +++ b/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus4.esdl @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_electric_bus.py b/tests/test_electric_bus.py index 77a87059b..ce8178856 100644 --- a/tests/test_electric_bus.py +++ b/tests/test_electric_bus.py @@ -73,3 +73,60 @@ def test_voltages_and_power_network1(self): ) # Check that current is high enough to carry the power np.testing.assert_array_less(p_demand - 1e-12, v_demand * i_demand) + + def test_unidirectional_cable(self): + """ + Checks the behaviour of electricity networks with a two bus assets connected with a cable + that is only allowed to be unidirectional. + + Electricity from producer 1 can go to demand 1 and demand 2, but electricity from producer 2 + can only go to demand 2 due to unidirectional cable between the two busses + + Checks: + - electric power conservation + - bounds on unidirectional cable set to a minimum power flow of 0.0 + - demand 1 is limited by production of producer 1 + + """ + import models.unit_cases_electricity.bus_networks.src.example as example + from models.unit_cases_electricity.bus_networks.src.example import ElectricityProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + # Run the problem + solution = run_esdl_mesido_optimization( + ElectricityProblem, + base_folder=base_folder, + esdl_file_name="Electric_bus4.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_uni.csv", + ) + results = solution.extract_results() + + # electric power conservation system and no dissipation of power and current in bus + electric_power_conservation_test(solution, results) + + demand_1 = "ElectricityDemand_e527" + demand_2 = "ElectricityDemand_281a" + prod_1 = "ElectricityProducer_a215" + prod_2 = "ElectricityProducer_17a1" + unidirectional_cable = "ElectricityCable_d16c" + + p_demand_1 = results[f"{demand_1}.ElectricityIn.Power"] + p_demand_2 = results[f"{demand_2}.ElectricityIn.Power"] + cable_power_bound = solution.bounds()[f"{unidirectional_cable}.ElectricityIn.Power"][0] + + bound_prod_1 = solution.bounds()[f"{prod_1}.Electricity_source"][1] + bound_prod_2 = solution.bounds()[f"{prod_2}.Electricity_source"][1] + target_demand_1 = solution.get_timeseries(f"{demand_1}.target_electricity_demand").values + target_demand_1[target_demand_1 > bound_prod_1] = bound_prod_1 + target_demand_2 = solution.get_timeseries(f"{demand_2}.target_electricity_demand").values + target_demand_2[target_demand_2 > (bound_prod_1 + bound_prod_2)] = ( + bound_prod_1 + bound_prod_2 + ) + + np.testing.assert_allclose(p_demand_1, target_demand_1) + np.testing.assert_allclose(p_demand_2, target_demand_2) + + np.testing.assert_allclose(0.0, cable_power_bound) From b8453ed5fe1e1087ca123be0fd2376d649d95300 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 27 Jan 2025 13:26:40 +0100 Subject: [PATCH 250/376] Post processing utils (#226) Providing with standard class that can help the post processing when loading data from the resulting jsons. Also some of the functions that create other variables by postprocessing might be placed here, for example velocity and pressure. --- CHANGELOG.md | 3 +- src/mesido/post_processing/__init__.py | 0 .../post_processing/post_processing_utils.py | 123 ++++++++++++++++++ src/mesido/workflows/io/write_output.py | 14 +- 4 files changed, 130 insertions(+), 10 deletions(-) create mode 100644 src/mesido/post_processing/__init__.py create mode 100644 src/mesido/post_processing/post_processing_utils.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c08a854f..5021b5425 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,12 +8,13 @@ - Commodity annotation for assets, to allow for easier postprocessing - Added function to make pickle usable (exceptions) in the OMOTES back end - More of the existing classes added to __init_ for local runs using the grow_workflow +- Generic functions for postprocessing are added. - Generic function to adapt timeseries from hourly timesteps to user-defined timesteps by averaging. ## Changed - Write output to json also saves the solver statistics. - Updates in asset conversion from ESDL to pycml; gas and heat pipe split, generic conversion better specified. -- Adapt profiles for heating and cooling peak day seperately & add test case +- Adapt profiles for heating and cooling peak day separately & add test case - For gas: Use energy content (heating value) instead of internal energy - Option was added to allow a bypass of the heat exchanger - Option for electricity cables to be unidirectional diff --git a/src/mesido/post_processing/__init__.py b/src/mesido/post_processing/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/mesido/post_processing/post_processing_utils.py b/src/mesido/post_processing/post_processing_utils.py new file mode 100644 index 000000000..2c6c50983 --- /dev/null +++ b/src/mesido/post_processing/post_processing_utils.py @@ -0,0 +1,123 @@ +import json +import os +from typing import Dict, Union + +from mesido.constants import GRAVITATIONAL_CONSTANT + +import numpy as np + +from rtctools._internal.alias_tools import AliasDict + + +class AliasDictResults: + """ + This class allows for the handling of the result data created by MESIDO. + In MESIDO aliasing of variables is used to reduce computational effort. This results in fewer + variables being saved with their own names. + This class takes the loaded jsons of the results and aliases to be converted to an alias + dictionary. + Using the get_results method the result of each original variable name can be accessed. + """ + + def __init__(self, results: Dict, aliases: Dict): + self.results = results + self._aliases = aliases + + def __getitem__(self, name: str) -> list: + if name in self.results.keys(): + return self.results[name] + else: + alias = self._aliases[name] + return alias[1] * self.results[alias[0]] + + def get_results_as_array(self, name: str) -> np.array: + return np.array(self.results[name]) + + +def extract_data_results_alias(data_path: str) -> [AliasDictResults, Dict]: + """ + Extracts the data in the provided path to create an alias dictionary of the results + Args: + data_path: path to the folder with the jsons saved after a MESIDO run + + Returns: an alias dictionary of the results, and the raw data extracted in the path. + + """ + raw_data = extract_data_results(data_path) + results_alias_dict = create_alias_dict(raw_data) + return results_alias_dict, raw_data + + +def create_alias_dict(data: Dict) -> AliasDictResults: + """ + Creates the alias dict from the dictionary which contains the aliases and results. + :param data: + :return: + """ + return AliasDictResults(data["results"], data["aliases"]) + + +def extract_data_results(data_path: str) -> Dict: + """ + Extracts the data from the json files created after a run with MESIDO + :param data_path: String containing the absolute path to the folder with the json files created + by MESIDO. + :return: dictionary with the data from the json files + """ + file_names = ["results", "parameters", "bounds", "aliases", "solver_stats"] + data = {} + for f in file_names: + input_path = os.path.join(data_path, f"{f}.json") + try: + with open(input_path) as file: + data_file = json.load(file) + data[f] = data_file + except IOError: + pass + + return data + + +def pipe_velocity( + asset_name: str, commodity: str, results: Union[AliasDictResults, AliasDict], parameters: Dict +) -> np.array: + """ + Post-processing to determine the pipe_velocity. + To be used in code and as post-processing from jsons. + Args: + asset_name: asset_name of gas or heat pipe + commodity: commodity type to select the correct port name "Heat" or "Gas" + results: AliasDict with results + parameters: Dict with results + + Returns: + + """ + post_processed_velocity = ( + results[f"{asset_name}.{commodity}Out.Q"] / parameters[f"{asset_name}.area"] + ) + return post_processed_velocity + + +def pipe_pressure( + asset_name: str, commodity: str, results: Union[AliasDictResults, AliasDict], parameters: Dict +) -> np.array: + """ + Post-processing to determine the pipe_velocity. + To be used in code and as post-processing from jsons. + Args: + asset_name: asset_name of gas or heat pipe + commodity: commodity type to select the correct port name "Heat" or "Gas" + results: AliasDict with results + parameters: Dict with results + + Returns: + + """ + post_processed_pressure = ( + results[f"{asset_name}.{commodity}In.H"] # m + * GRAVITATIONAL_CONSTANT # m/s2 + * parameters[f"{asset_name}.density"] # g/m3 + / 1e3 + ) # Pa + return post_processed_pressure diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 373a21c62..c865b9449 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -20,6 +20,7 @@ from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.esdl.edr_pipe_class import EDRPipeClass from mesido.network_common import NetworkSettings +from mesido.post_processing.post_processing_utils import pipe_pressure, pipe_velocity from mesido.workflows.utils.helpers import _sort_numbered import numpy as np @@ -29,7 +30,6 @@ from rtctools._internal.alias_tools import AliasDict from rtctools.optimization.timeseries import Timeseries - logger = logging.getLogger("mesido") @@ -1171,18 +1171,14 @@ def _name_to_asset(name): variables_one_hydraulic_system.append("PostProc.Velocity") variables_two_hydraulic_system.append("PostProc.Velocity") # Velocity at the pipe outlet [m/s] - post_processed["PostProc.Velocity"] = ( - results[f"{asset_name}.{commodity}Out.Q"] - / parameters[f"{asset_name}.area"] + post_processed["PostProc.Velocity"] = pipe_velocity( + asset_name, commodity, results, parameters ) variables_one_hydraulic_system.append("PostProc.Pressure") # TODO: seems unnecessary, pipes always only have 1 hydraulic system variables_two_hydraulic_system.append("PostProc.Pressure") - post_processed["PostProc.Pressure"] = ( - results[f"{asset_name}.{commodity}In.H"] # m - * GRAVITATIONAL_CONSTANT # m/s2 - * parameters[f"{asset_name}.density"] # g/m3 - / 1e3 + post_processed["PostProc.Pressure"] = pipe_pressure( + asset_name, commodity, results, parameters ) # Pa # Depending on the port set, different carriers are assigned From a38480c39723bcaa2520e5053504ebe94ead6ea3 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Fri, 7 Feb 2025 11:16:34 +0100 Subject: [PATCH 251/376] bug fix post processing pipe pressure (#244) bug fix post processing pipe pressure --- CHANGELOG.md | 1 - src/mesido/post_processing/post_processing_utils.py | 11 +++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5021b5425..bcde5d5ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,7 +26,6 @@ - Bugs: state update of heat pump, heat buffer volume & ates charge rates update in ESDL, heat storage asset data output to influxDB - Bugfix: get_density + get_internal_energy updated to ensure it checks commodity type for heat instead of the carrier name - # [0.1.8.4] - 2024-12-11 ## Added diff --git a/src/mesido/post_processing/post_processing_utils.py b/src/mesido/post_processing/post_processing_utils.py index 2c6c50983..d18f2b3bf 100644 --- a/src/mesido/post_processing/post_processing_utils.py +++ b/src/mesido/post_processing/post_processing_utils.py @@ -3,6 +3,7 @@ from typing import Dict, Union from mesido.constants import GRAVITATIONAL_CONSTANT +from mesido.network_common import NetworkSettings import numpy as np @@ -114,10 +115,16 @@ def pipe_pressure( Returns: """ + if commodity == NetworkSettings.NETWORK_TYPE_HEAT: + scale_factor = 1.0 + elif commodity in [NetworkSettings.NETWORK_TYPE_GAS, NetworkSettings.NETWORK_TYPE_HYDROGEN]: + scale_factor = 1.0e3 + else: + exit("Unkown commodity type used for pipe pressure") post_processed_pressure = ( results[f"{asset_name}.{commodity}In.H"] # m * GRAVITATIONAL_CONSTANT # m/s2 - * parameters[f"{asset_name}.density"] # g/m3 - / 1e3 + * parameters[f"{asset_name}.rho"] # Heat kg/m3, non-heat related g/m3 + / scale_factor ) # Pa return post_processed_pressure From b0ae05e02fc2ca4fbc6b98e0eb2a2fb7b9a81afd Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 10 Feb 2025 14:16:24 +0100 Subject: [PATCH 252/376] Heat exchanger bypass allowed for variable temperatures (#239) Updated the heatexchanger heat_to_discharge constraints such that is also working for the bypass when variable temperature are picked on either side of the heat exchanger. This includes a temporary fix for a big_m which is set to infinite when temperature options are available and source is connected with logical link. --- CHANGELOG.md | 2 +- src/mesido/heat_physics_mixin.py | 370 ++++++++++++++---- src/mesido/util.py | 2 +- .../model/test_hex_bypass_2.esdl | 343 ++++++++++++++++ tests/models/heatpump/src/run_heat_pump.py | 6 + ...est_multiple_in_and_out_port_components.py | 131 ++++++- 6 files changed, 768 insertions(+), 86 deletions(-) create mode 100644 tests/models/heat_exchange/model/test_hex_bypass_2.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index bcde5d5ec..fc98275ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,7 @@ - Updates in asset conversion from ESDL to pycml; gas and heat pipe split, generic conversion better specified. - Adapt profiles for heating and cooling peak day separately & add test case - For gas: Use energy content (heating value) instead of internal energy -- Option was added to allow a bypass of the heat exchanger +- Option was added to allow a bypass of the heat exchanger, possible on both sides of the heat exchanger - Option for electricity cables to be unidirectional ## Fixed diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 00bd75832..3cd7dd462 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -1491,6 +1491,11 @@ def __source_heat_to_discharge_path_constraints(self, ensemble_member): sup_carrier = parameters[f"{s}.T_supply_id"] supply_temperatures = self.temperature_regimes(sup_carrier) big_m = 2.0 * self.bounds()[f"{s}.HeatOut.Heat"][1] + big_m = ( + big_m + if big_m != np.inf + else 2.0 * self.bounds()[f"{s}.Heat_source"][1] * parameters[f"{s}.T_supply"] / dt + ) if len(supply_temperatures) == 0: constraints.append( @@ -2566,61 +2571,227 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): big_m = 2.0 * self.bounds()[f"{heat_exchanger}.Primary.HeatOut.Heat"][1] - # primary side - if len(return_temperatures_prim) == 0: - # TODO: for bypass only works if heatloss is turned off, else a check should be - # made here if the return temperature is below supply temperature - if ( - hn_settings["heat_exchanger_bypass"] - and parameters[f"{heat_exchanger}.Primary.T_return"] - >= parameters[f"{heat_exchanger}.Primary.T_supply"] - ): - # Only when bypass is allowed Tret can be equal to Tsup. The below equation - # will not hold as due to heatlosses Heatinprim might somewhat smaller than - # the original temperature - expr = heat_in_prim - else: - expr = ( - discharge_primary - * cp_prim - * rho_prim - * parameters[f"{heat_exchanger}.Primary.T_return"] - ) + def __constraints_temperature_heat_to_discharge_bypass( + heat_out, expr, sum_temp_selec, big_m: float, constraint_nominal: float + ): + """ + Generic setup of the constraints for the heat to discharge of a heat exchanger. + Ensuring that + - when bypass is allowed, heatout = heatin + - otherwise heatout = Q*cp*rho*Tout + - based on the selected temperatures the approriate expression is added. + + Args: + heat_out: HeatOut variable + exp: expression for heatout + sum_temp_selec: sum of two binary variables and or floats (1.0 or 2.0) to + identify if the temperature for this constraint is selected + big_m: float to activate/deactive this constraint + constraint_nominal: nominal to scale the constraint + + Returns: + + """ + constraints = [] constraints.append( ( - (heat_out_prim - expr) / constraint_nominal, + (heat_out - expr + (2.0 - sum_temp_selec) * big_m) / constraint_nominal, 0.0, + np.inf, + ) + ) + constraints.append( + ( + (heat_out - expr - (2.0 - sum_temp_selec) * big_m) / constraint_nominal, + -np.inf, 0.0, ) ) + return constraints + + def __constraints_temperature_heat_to_discharge_bypass_primary( + temp_prim_in: float, + temp_prim_out: float, + discharge, + cp: float, + rho: float, + heat_in, + heat_out, + temp_high_selec, + temp_low_selec, + big_m: float, + constraint_nominal: float, + ): + """ + Generic setup of the constraints for the primary side of the heat exchanger for + heat to discharge. + Ensuring that + - when bypass is allowed, heatout = heatin + - otherwise heatout = Q*cp*rho*Tout + - based on the selected temperatures + + Args: + temp_prim_in: Primary temperature in + temp_prim_out: Primary temperature out + discharge: Casadi variable for primary volumetric flow + cp: specific heat capacity + rho: density + heat_in: Casadi variable for primary heat in + heat_out: Casadi variable for primary heat out + temp_high_selec: is_selected variable for the primary in temperature or 1.0 + if temperature is fixed + temp_low_selec: is_selected variable for the primary out temperature or 1.0 + if temperature is fixed + big_m: float to activate/deactive this constraint + constraint_nominal: nominal to scale the constraint + + Returns: + + """ + + if temp_prim_out >= temp_prim_in: + expr = heat_in + else: + expr = discharge * cp * rho * temp_prim_out + + return __constraints_temperature_heat_to_discharge_bypass( + heat_out, expr, temp_high_selec + temp_low_selec, big_m, constraint_nominal + ) + + def __constraints_temperature_heat_to_discharge_bypass_secondary( + temp_sec_in: float, + temp_sec_out: float, + discharge, + cp: float, + rho: float, + heat_in, + heat_out, + temp_high_selec, + temp_low_selec, + big_m: float, + constraint_nominal: float, + ): + """ + Generic setup of the constraints for the primary side of the heat exchanger for + heat to discharge. + Ensuring that + - when bypass is allowed, heatout = heatin + - otherwise heatout = Q*cp*rho*Tout + - based on the selected temperatures + + Args: + temp_sec_in: Secondary temperature in + temp_sec_out: Secondary temperature out + discharge: Casadi variable for secondary volumetric flow + cp: specific heat capacity + rho: density + heat_in: Casadi variable for secondary heat in + heat_out: Casadi variable for secondary heat out + temp_high_selec: is_selected variable for the secondary out temperature or 1.0 + if temperature is fixed + temp_low_selec: is_selected variable for the secondary in temperature or + 1.0 if temperature is fixed + big_m: float to activate/deactive this constraint + constraint_nominal: nominal to scale the constraint + + Returns: + + """ + + if temp_sec_in >= temp_sec_out: + expr = heat_in + else: + expr = discharge * cp * rho * temp_sec_out + + return __constraints_temperature_heat_to_discharge_bypass( + heat_out, expr, temp_high_selec + temp_low_selec, big_m, constraint_nominal + ) + + # primary side + if len(return_temperatures_prim) == 0: + return_temperature = parameters[f"{heat_exchanger}.Primary.T_return"] + if len(supply_temperatures_prim) != 0 and hn_settings["heat_exchanger_bypass"]: + for sup_temp in supply_temperatures_prim: + sup_temperature_is_selected = self.state(f"{sup_carrier_prim}_{sup_temp}") + constraints.extend( + __constraints_temperature_heat_to_discharge_bypass_primary( + sup_temp, + return_temperature, + discharge_primary, + cp_prim, + rho_prim, + heat_in_prim, + heat_out_prim, + sup_temperature_is_selected, + 1.0, + big_m, + constraint_nominal, + ) + ) + else: + sup_temp = parameters[f"{heat_exchanger}.Primary.T_supply"] + assert sup_temp >= return_temperature + constraints.extend( + __constraints_temperature_heat_to_discharge_bypass_primary( + sup_temp, + return_temperature, + discharge_primary, + cp_prim, + rho_prim, + heat_in_prim, + heat_out_prim, + 1.0, + 1.0, + big_m, + constraint_nominal, + ) + ) + else: for return_temperature in return_temperatures_prim: ret_temperature_is_selected = self.state( f"{ret_carrier_prim}_{return_temperature}" ) - if ( - hn_settings["heat_exchanger_bypass"] - and return_temperature >= parameters[f"{heat_exchanger}.Primary.T_supply"] - ): - expr = heat_in_prim + if hn_settings["heat_exchanger_bypass"] and len(supply_temperatures_prim) != 0: + # if bypass of heat exchanger is allowed and the primary in temperature + # is also a variable + for sup_temp in supply_temperatures_prim: + sup_temperature_is_selected = self.state( + f"{sup_carrier_prim}_{sup_temp}" + ) + constraints.extend( + __constraints_temperature_heat_to_discharge_bypass_primary( + sup_temp, + return_temperature, + discharge_primary, + cp_prim, + rho_prim, + heat_in_prim, + heat_out_prim, + sup_temperature_is_selected, + ret_temperature_is_selected, + big_m, + constraint_nominal, + ) + ) + else: - expr = discharge_primary * cp_prim * rho_prim * return_temperature - constraints.append( - ( - (heat_out_prim - expr + (1.0 - ret_temperature_is_selected) * big_m) - / constraint_nominal, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - (heat_out_prim - expr - (1.0 - ret_temperature_is_selected) * big_m) - / constraint_nominal, - -np.inf, - 0.0, + sup_temp = parameters[(f"{heat_exchanger}.Primary.T_supply")] + constraints.extend( + __constraints_temperature_heat_to_discharge_bypass_primary( + sup_temp, + return_temperature, + discharge_primary, + cp_prim, + rho_prim, + heat_in_prim, + heat_out_prim, + 1.0, + ret_temperature_is_selected, + big_m, + constraint_nominal, + ) ) - ) # Secondary side sup_carrier_sec = parameters[f"{heat_exchanger}.Secondary.T_supply_id"] @@ -2634,54 +2805,87 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): ) if len(supply_temperatures_sec) == 0: - if ( - hn_settings["heat_exchanger_bypass"] - and parameters[f"{heat_exchanger}.Secondary.T_return"] - >= parameters[f"{heat_exchanger}.Secondary.T_supply"] - ): - expr = heat_in_sec + supply_temperature = parameters[f"{heat_exchanger}.Secondary.T_supply"] + if len(return_temperatures_sec) != 0 and hn_settings["heat_exchanger_bypass"]: + for ret_temperature in return_temperatures_sec: + ret_temperature_is_selected = self.state( + f"{ret_carrier_sec}_{ret_temperature}" + ) + constraints.extend( + __constraints_temperature_heat_to_discharge_bypass_secondary( + ret_temperature, + supply_temperature, + discharge_secondary, + cp_sec, + rho_sec, + heat_in_sec, + heat_out_sec, + ret_temperature_is_selected, + 1.0, + big_m, + constraint_nominal, + ) + ) else: - expr = ( - discharge_secondary - * cp_sec - * rho_sec - * parameters[f"{heat_exchanger}.Secondary.T_supply"] - ) - constraints.append( - ( - (heat_out_sec - expr) / constraint_nominal, - 0.0, - 0.0, + ret_temperature = parameters[f"{heat_exchanger}.Secondary.T_return"] + assert supply_temperature >= ret_temperature + constraints.extend( + __constraints_temperature_heat_to_discharge_bypass_secondary( + ret_temperature, + supply_temperature, + discharge_secondary, + cp_sec, + rho_sec, + heat_in_sec, + heat_out_sec, + 1.0, + 1.0, + big_m, + constraint_nominal, + ) ) - ) else: for supply_temperature in supply_temperatures_sec: sup_temperature_is_selected = self.state( f"{sup_carrier_sec}_{supply_temperature}" ) - if ( - hn_settings["heat_exchanger_bypass"] - and supply_temperature <= parameters[f"{heat_exchanger}.Secondary.T_return"] - ): - expr = heat_in_sec + if len(return_temperatures_sec) != 0 and hn_settings["heat_exchanger_bypass"]: + for ret_temperature in return_temperatures_sec: + ret_temperature_is_selected = self.state( + f"{ret_carrier_sec}_{ret_temperature}" + ) + constraints.extend( + __constraints_temperature_heat_to_discharge_bypass_secondary( + ret_temperature, + supply_temperature, + discharge_secondary, + cp_sec, + rho_sec, + heat_in_sec, + heat_out_sec, + ret_temperature_is_selected, + sup_temperature_is_selected, + big_m, + constraint_nominal, + ) + ) else: - expr = discharge_secondary * cp_sec * rho_sec * supply_temperature - constraints.append( - ( - (heat_out_sec - expr - (1.0 - sup_temperature_is_selected) * big_m) - / constraint_nominal, - -np.inf, - 0.0, - ) - ) - constraints.append( - ( - (heat_out_sec - expr + (1.0 - sup_temperature_is_selected) * big_m) - / constraint_nominal, - 0.0, - np.inf, + ret_temperature = parameters[f"{heat_exchanger}.Secondary.T_return"] + constraints.extend( + __constraints_temperature_heat_to_discharge_bypass_secondary( + ret_temperature, + supply_temperature, + discharge_secondary, + cp_sec, + rho_sec, + heat_in_sec, + heat_out_sec, + 1.0, + sup_temperature_is_selected, + big_m, + constraint_nominal, + ) ) - ) # disconnect HEX # Getting var for disabled constraints @@ -2731,8 +2935,8 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): constraints.append( ( ( - t_sup_prim * sup_prim_t_is_selected - - t_sup_sec * sup_sec_t_is_selected + t_sup_prim + - t_sup_sec + ( is_disabled + (1.0 - sup_prim_t_is_selected) diff --git a/src/mesido/util.py b/src/mesido/util.py index 7b52ed47d..c88d3ef43 100644 --- a/src/mesido/util.py +++ b/src/mesido/util.py @@ -52,6 +52,6 @@ def run_esdl_mesido_optimization( feasibility = solution.solver_stats["return_status"] - assert feasibility.lower() == "optimal" or feasibility.lower() == "finished" + assert feasibility.lower() in ["optimal", "finished", "integer optimal solution"] return solution diff --git a/tests/models/heat_exchange/model/test_hex_bypass_2.esdl b/tests/models/heat_exchange/model/test_hex_bypass_2.esdl new file mode 100644 index 000000000..66021389b --- /dev/null +++ b/tests/models/heat_exchange/model/test_hex_bypass_2.esdl @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/heatpump/src/run_heat_pump.py b/tests/models/heatpump/src/run_heat_pump.py index bb5f23e58..f32243ce5 100644 --- a/tests/models/heatpump/src/run_heat_pump.py +++ b/tests/models/heatpump/src/run_heat_pump.py @@ -138,6 +138,12 @@ def temperature_regimes(self, carrier): return temperatures + def times(self, variable=None) -> np.ndarray: + """ + Shorten the timeseries to speed up the test, when highs is used as a solver. + """ + return super().times(variable)[:10] + if __name__ == "__main__": solution = run_optimization_problem( diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 852ed3c3f..f59a3e700 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -169,9 +169,138 @@ def energy_system_options(self): np.testing.assert_array_less(0.001, results[f"{hex_active}.Primary.Q"][:-1]) np.testing.assert_array_less(0.001, results[f"{hex_bypass}.Primary.Q"][:-1]) - np.testing.assert_allclose(results[f"{hex_bypass}.Heat_flow"][:-1], 0) + np.testing.assert_allclose(results[f"{hex_bypass}.Heat_flow"][:-1], 0, atol=1e-9) np.testing.assert_array_less(1e5, results[f"{hex_active}.Heat_flow"][:-1]) + def test_heat_exchanger_bypass_varying_temperature(self): + """ + Check the modelling of the heat exchanger component which allows two hydraulically + decoupled networks to exchange heat with each other. It is enforced that heat can only flow + from the primary side to the secondary side, and heat exchangers are allowed to be disabled + for timesteps in which they are not used. This is to allow for the temperature constraints + (T_primary > T_secondary) to become deactivated. + An option to allow for bypassing of the heat exchanger has been added, such that when the + heat exchanger is disabled, flow through the heat exchanger is allowed, however no heat + exchange is allowed, in the case the carriers of both the supply and return on one side + of the heat exchanger are the same. + + Checks: + - Standard checks for demand matching and energy conservation. + - Heat to discharge test is not applied as at one heat exchanger (the bypassed one), the + heat going out on the primary side will not coincide exactly with the temperature due to + heatlosses in the network before the heat exchanger. + - Check that the is_disabled is set correctly. + - Check if the temperatures provided are physically feasible. + - Checks that heat exchanger is bypassed, e.g. not exchanging heat, but allowing flow when + both supply and return on one side have the same temperature. + - Check that temperatures are selected correctly at the heat exchanger + """ + + import models.heat_exchange.src.run_heat_exchanger as run_heat_exchanger + from models.heat_exchange.src.run_heat_exchanger import ( + HeatProblem, + ) + + base_folder = Path(run_heat_exchanger.__file__).resolve().parent.parent + + class HeatProblemByPassMultiTemp(HeatProblem): + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + self.heat_network_settings["heat_exchanger_bypass"] = True + + def energy_system_options(self): + options = super().energy_system_options() + options["neglect_pipe_heat_losses"] = False + + return options + + def temperature_carriers(self): + return self.esdl_carriers + + def temperature_regimes(self, carrier): + temperatures = [] + if carrier == 829940433102452838: + temperatures = [70.0, 65.0, 60.0] # producer out + + if carrier == 8725433194681736500139: + temperatures = [65.0, 60.0] # first hex out + + return temperatures + + def constraints(self, ensemble_member): + constraints = super().constraints(ensemble_member) + + carriers = self.temperature_carriers() + for carrier in carriers.values(): + carrier_map = carrier["id_number_mapping"] + temperature_regimes = self.temperature_regimes(int(carrier_map)) + if len(temperature_regimes) > 1: + carrier_var_name = str(carrier_map) + "_temperature" + var_carrier = self.extra_variable(carrier_var_name) + for i in range(var_carrier.shape[0] - 1): + constraints.append((var_carrier[i] - var_carrier[i + 1], 0.0, 0.0)) + + for temperature in temperature_regimes: + selected_temp_vec = self.state_vector( + f"{int(carrier_map)}_{temperature}" + ) + for i in range(var_carrier.shape[0] - 1): + constraints.append( + (selected_temp_vec[i] - selected_temp_vec[i + 1], 0.0, 0.0) + ) + + return constraints + + # def solver_options(self): + # options = super().solver_options() + # options["solver"] = "cplex" + # return options + + def times(self, variable=None) -> np.ndarray: + """ + Shorten the timeseries to speed up the test, when highs is used as a solver. + """ + return super().times(variable)[:5] + + solution = run_esdl_mesido_optimization( + HeatProblemByPassMultiTemp, + base_folder=base_folder, + esdl_file_name="test_hex_bypass_2.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.xml", + ) + + results = solution.extract_results() + + demand_matching_test(solution, results) + energy_conservation_test(solution, results) + + temp_prod = results["829940433102452838_temperature"] + temp_hex = results["8725433194681736500139_temperature"] + + # check heat exchanger 1 is bypassed + hex_active = "HeatExchange_e410_copy" + hex_bypass = "HeatExchange_e410" + + np.testing.assert_allclose(results[f"{hex_active}__disabled"][:-1], 0) + np.testing.assert_allclose(results[f"{hex_bypass}__disabled"][:-1], 1) + + np.testing.assert_array_less(0.001, results[f"{hex_active}.Primary.Q"][:-1]) + np.testing.assert_array_less(0.001, results[f"{hex_bypass}.Primary.Q"][:-1]) + + np.testing.assert_allclose(results[f"{hex_bypass}.Heat_flow"][:-1], 0, atol=1e-6) + np.testing.assert_array_less(1e5, results[f"{hex_active}.Heat_flow"][:-1]) + + # check lowest temperatures are picked (due to minimum heatloss). + # check temperatures on bypass side are the same. + + np.testing.assert_allclose(temp_prod, 60.0) + np.testing.assert_allclose(temp_hex, 60.0) + np.testing.assert_allclose(temp_hex, temp_prod) + class TestHP(TestCase): def test_heat_pump(self): From 1413a3adbe9b3d58d15364436d2a87de550be7d4 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 11 Feb 2025 14:30:19 +0100 Subject: [PATCH 253/376] 242 read profiles from csv files (#245) * Add exception for NaNs in profile source files * Add NaN check for influxDB profiles --- CHANGELOG.md | 3 ++- src/mesido/esdl/profile_parser.py | 25 ++++++++++++++++++- .../ates_temperature/input/Warmte_test_3.csv | 2 +- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc98275ac..625230899 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2024-12-12 +# [Unreleased-main] - 2025-02-05 ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class @@ -10,6 +10,7 @@ - More of the existing classes added to __init_ for local runs using the grow_workflow - Generic functions for postprocessing are added. - Generic function to adapt timeseries from hourly timesteps to user-defined timesteps by averaging. +- Error check for NaN values in profile data (csv & influxDB) ## Changed - Write output to json also saves the solver statistics. diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 3685bcd5d..a301aa564 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -437,6 +437,11 @@ def _check_profile_time_series( f"The timestep for variable {profile.field} between {d1} and {d2} isn't " f"exactly 1 hour" ) + # Check if any NaN values exist + if profile_time_series.isnull().any().any(): + raise Exception( + f"Nan value was encountered in the profile data for variable {profile.field}" + ) def _convert_profile_to_correct_unit( self, profile_time_series: pd.Series, profile: esdl.InfluxDBProfile @@ -528,6 +533,12 @@ def _load_csv( ensemble_size: int, ) -> None: data = pd.read_csv(self._file_path) + + if len(data.filter(like="Unnamed").columns) > 0: + raise Exception( + f"An unnamed column has been found in profile source file: {self._file_path}" + ) + try: timeseries_import_times = [ datetime.datetime.strptime(entry.replace("Z", ""), "%Y-%m-%d %H:%M:%S").replace( @@ -562,7 +573,14 @@ def _load_csv( for component_type, var_name in self.component_type_to_var_name_map.items(): for component_name in energy_system_components.get(component_type, []): try: - values = data[f"{component_name.replace(' ', '')}"].to_numpy() + column_name = f"{component_name.replace(' ', '')}" + values = data[column_name].to_numpy() + if np.isnan(values).any(): + raise Exception( + f"Column name: {column_name}, NaN exists in the profile source" + f" file {self._file_path}." + f" Detials: {data[data[column_name].isnull()]}" + ) except KeyError: pass else: @@ -571,6 +589,11 @@ def _load_csv( carrier_name = properties.get("name") try: values = data[carrier_name].to_numpy() + if np.isnan(values).any(): + raise Exception( + f"Carrier name: {carrier_name}, NaN exists in the profile source file" + f" {self._file_path}. Details: {data[data[carrier_name].isnull()]}" + ) except KeyError: pass else: diff --git a/tests/models/ates_temperature/input/Warmte_test_3.csv b/tests/models/ates_temperature/input/Warmte_test_3.csv index 710b1c657..fb5a4da11 100644 --- a/tests/models/ates_temperature/input/Warmte_test_3.csv +++ b/tests/models/ates_temperature/input/Warmte_test_3.csv @@ -1,4 +1,4 @@ -,DateTime,HeatingDemand_1,HeatingDemand_2,HeatingDemand_3 +DateTime,HeatingDemand_1,HeatingDemand_2,HeatingDemand_3 0,1-1-2019 00:00,885996.6024,226606.7,226606.7 1,1-1-2019 01:00,885788.1031999999,226553.36,226553.36 2,1-1-2019 02:00,929386.5671999999,237704.34,237704.34 From 7350f0dd29699aa9616bbaf18bf9e088cbf23c47 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 11 Feb 2025 16:02:17 +0100 Subject: [PATCH 254/376] Update casadi (#247) Update casadi to 3.6.7 gil release with highs 1.4.1 --- CHANGELOG.md | 4 +++- setup.py | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 625230899..45c4f4e91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ -# [Unreleased-main] - 2025-02-05 + +# [Unreleased-main] - 2025-02-07 ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class @@ -19,6 +20,7 @@ - For gas: Use energy content (heating value) instead of internal energy - Option was added to allow a bypass of the heat exchanger, possible on both sides of the heat exchanger - Option for electricity cables to be unidirectional +- Updated Casadi to 3.6.7 with gil fixes (see https://github.com/casadi/casadi/releases/tag/nightly-gil_release) ## Fixed - Bugfix: gas boiler mass flow constraint units diff --git a/setup.py b/setup.py index f10e6be60..194bfe28b 100644 --- a/setup.py +++ b/setup.py @@ -61,7 +61,20 @@ "rtc-tools == 2.6.0a3", "pyesdl == 24.2", "pandas >= 1.3.1, < 2.0", - "casadi == 3.6.3", + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp37-none-win_amd64.whl ; python_version == '3.7' and sys_platform == 'win32'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp38-none-win_amd64.whl ; python_version == '3.8' and sys_platform == 'win32'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp39-none-win_amd64.whl ; python_version == '3.9' and sys_platform == 'win32'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp310-none-win_amd64.whl ; python_version == '3.10' and sys_platform == 'win32'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp311-none-win_amd64.whl ; python_version == '3.11' and sys_platform == 'win32'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp312-none-win_amd64.whl ; python_version == '3.12' and sys_platform == 'win32'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp313-none-win_amd64.whl ; python_version == '3.13' and sys_platform == 'win32'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp37-none-manylinux2014_x86_64.whl ; python_version == '3.7' and sys_platform == 'linux'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp38-none-manylinux2014_x86_64.whl ; python_version == '3.8' and sys_platform == 'linux'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp39-none-manylinux2014_x86_64.whl ; python_version == '3.9' and sys_platform == 'linux'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp310-none-manylinux2014_x86_64.whl ; python_version == '3.10' and sys_platform == 'linux'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp311-none-manylinux2014_x86_64.whl ; python_version == '3.11' and sys_platform == 'linux'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp312-none-manylinux2014_x86_64.whl ; python_version == '3.12' and sys_platform == 'linux'", # noqa: E501 + "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp313-none-manylinux2014_x86_64.whl ; python_version == '3.13' and sys_platform == 'linux'", # noqa: E501 "StrEnum == 0.4.15", "CoolProp==6.6.0", ], From 9e88077e543f53c2db52a5e91a7d8c084e4a83b0 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 12 Feb 2025 09:06:21 +0100 Subject: [PATCH 255/376] Bug fix on boolean bounds - dtk webinar case (#248) * Pipe DN none bug fix in grow_workflow --- CHANGELOG.md | 5 ++++- src/mesido/workflows/__init__.py | 2 ++ src/mesido/workflows/grow_workflow.py | 24 +++++++++++++++--------- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 45c4f4e91..2870b8118 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,8 @@ - Bugfix: head loss test case when minimum_velocity = 0.0 - Bugs: state update of heat pump, heat buffer volume & ates charge rates update in ESDL, heat storage asset data output to influxDB - Bugfix: get_density + get_internal_energy updated to ensure it checks commodity type for heat instead of the carrier name +- Bug: pipe class bounds when pipe DN none results from stage 1 in the grow_workflow + # [0.1.8.4] - 2024-12-11 @@ -50,7 +52,8 @@ - xx ## Fixed -- xx +- Bugfix: same mip gap settings for all solvers in grow_workflow. +- Bugfix: head loss test case when minimum_velocity = 0.0 # [0.1.8.2] - 2024-11-15 diff --git a/src/mesido/workflows/__init__.py b/src/mesido/workflows/__init__.py index 755a00463..1126a6ac1 100644 --- a/src/mesido/workflows/__init__.py +++ b/src/mesido/workflows/__init__.py @@ -5,6 +5,7 @@ EndScenarioSizingHIGHS, EndScenarioSizingHeadLossDiscounted, EndScenarioSizingHeadLossDiscountedStaged, + EndScenarioSizingHeadLossStaged, EndScenarioSizingStaged, SolverGurobi, SolverHIGHS, @@ -26,6 +27,7 @@ "EndScenarioSizingHIGHS", "EndScenarioSizingHeadLossDiscounted", "EndScenarioSizingHeadLossDiscountedStaged", + "EndScenarioSizingHeadLossStaged", "EndScenarioSizingStaged", "SolverGurobi", "SolverHIGHS", diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 5467b8493..2044bf01a 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -635,21 +635,26 @@ def run_end_scenario_sizing( bounds = solution.bounds() # We give bounds for stage 2 by allowing one DN sizes larger than what was found in the - # stage 1 optimization. - pc_map = solution.get_pipe_class_map() + # stage 1 optimization. But if the pipe is not to be used class DN none should be used and + # all the following pipe clasess should have bounds (0, 0) + # Assumptions: + # - The fist pipe class in the list of pipe_classes is pipe DN none + pc_map = solution.get_pipe_class_map() # if disconnectable and not connected to source for pipe_classes in pc_map.values(): v_prev = 0.0 first_pipe_class = True + use_pipe_dn_none = False for var_name in pipe_classes.values(): - v = results[var_name][0] - if first_pipe_class and abs(v) == 1.0: - boolean_bounds[var_name] = (abs(v), abs(v)) - elif abs(v) == 1.0: - boolean_bounds[var_name] = (0.0, abs(v)) - elif v_prev == 1.0: + v = round(abs(results[var_name][0])) + if first_pipe_class and v == 1.0: + boolean_bounds[var_name] = (v, v) + use_pipe_dn_none = True + elif v == 1.0: + boolean_bounds[var_name] = (0.0, v) + elif not use_pipe_dn_none and v_prev == 1.0: # This allows one DN larger boolean_bounds[var_name] = (0.0, 1.0) else: - boolean_bounds[var_name] = (abs(v), abs(v)) + boolean_bounds[var_name] = (v, v) v_prev = v first_pipe_class = False @@ -696,6 +701,7 @@ def run_end_scenario_sizing( boolean_bounds[f"{p}__is_disconnected"] = (Timeseries(t, r), Timeseries(t, r)) except KeyError: pass + priorities_output = solution._priorities_output solution = run_optimization_problem_solver( From 3e63ef1a394a8a94ccb310c23713cfd5be5c11c0 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 12 Feb 2025 10:04:35 +0100 Subject: [PATCH 256/376] upgrade trctools version (#250) * upgrade trctools version --- CHANGELOG.md | 1 + setup.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2870b8118..9c5d909d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - For gas: Use energy content (heating value) instead of internal energy - Option was added to allow a bypass of the heat exchanger, possible on both sides of the heat exchanger - Option for electricity cables to be unidirectional +- Upgraded rtctools to v 2.6.1 - Updated Casadi to 3.6.7 with gil fixes (see https://github.com/casadi/casadi/releases/tag/nightly-gil_release) ## Fixed diff --git a/setup.py b/setup.py index 194bfe28b..b11637747 100644 --- a/setup.py +++ b/setup.py @@ -58,7 +58,7 @@ "influxdb >= 5.3.1", "pyecore == 0.12.1", "pymoca >= 0.9.0", - "rtc-tools == 2.6.0a3", + "rtc-tools == 2.6.1", "pyesdl == 24.2", "pandas >= 1.3.1, < 2.0", "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp37-none-win_amd64.whl ; python_version == '3.7' and sys_platform == 'win32'", # noqa: E501 From 50b195f5d0b2a177a4d68896967f7074132fa76b Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 18 Feb 2025 16:58:41 +0100 Subject: [PATCH 257/376] Temporary fix for dependencies in main (#257) * temporary fix for dependencies --- CHANGELOG.md | 13 +++++++++++++ setup.py | 17 ++--------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c5d909d3..5d2711c78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,19 @@ - Bug: pipe class bounds when pipe DN none results from stage 1 in the grow_workflow +# [0.1.8.5] - 2025-02-12 + +## Added +- xx + +## Changed +- Updated Casadi to 3.6.7 with gil fixes (see https://github.com/casadi/casadi/releases/tag/nightly-gil_release) +- Upgraded rtctools to version 2.6.1 + +## Fixed +- Bug: pipe class bounds when pipe DN none results from stage 1 in the grow_workflow + + # [0.1.8.4] - 2024-12-11 ## Added diff --git a/setup.py b/setup.py index b11637747..703be5dee 100644 --- a/setup.py +++ b/setup.py @@ -58,23 +58,10 @@ "influxdb >= 5.3.1", "pyecore == 0.12.1", "pymoca >= 0.9.0", - "rtc-tools == 2.6.1", + "rtc-tools-gil-comp == 2.6.1", "pyesdl == 24.2", "pandas >= 1.3.1, < 2.0", - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp37-none-win_amd64.whl ; python_version == '3.7' and sys_platform == 'win32'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp38-none-win_amd64.whl ; python_version == '3.8' and sys_platform == 'win32'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp39-none-win_amd64.whl ; python_version == '3.9' and sys_platform == 'win32'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp310-none-win_amd64.whl ; python_version == '3.10' and sys_platform == 'win32'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp311-none-win_amd64.whl ; python_version == '3.11' and sys_platform == 'win32'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp312-none-win_amd64.whl ; python_version == '3.12' and sys_platform == 'win32'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp313-none-win_amd64.whl ; python_version == '3.13' and sys_platform == 'win32'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp37-none-manylinux2014_x86_64.whl ; python_version == '3.7' and sys_platform == 'linux'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp38-none-manylinux2014_x86_64.whl ; python_version == '3.8' and sys_platform == 'linux'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp39-none-manylinux2014_x86_64.whl ; python_version == '3.9' and sys_platform == 'linux'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp310-none-manylinux2014_x86_64.whl ; python_version == '3.10' and sys_platform == 'linux'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp311-none-manylinux2014_x86_64.whl ; python_version == '3.11' and sys_platform == 'linux'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp312-none-manylinux2014_x86_64.whl ; python_version == '3.12' and sys_platform == 'linux'", # noqa: E501 - "casadi @ https://github.com/casadi/casadi/releases/download/nightly-gil_release/casadi-3.6.7.dev+gil.release-cp313-none-manylinux2014_x86_64.whl ; python_version == '3.13' and sys_platform == 'linux'", # noqa: E501 + "casadi-gil-comp == 3.6.7", "StrEnum == 0.4.15", "CoolProp==6.6.0", ], From 7959d66c4c67dabf5051e127a836386bfd82b254 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 19 Feb 2025 15:35:17 +0100 Subject: [PATCH 258/376] Dev documentation assets (#240) Automatically creates documentation for the pycml assets on the variables that are created for them using a decorator that checks for the add_variable method in the assets and its parents. --------- Co-authored-by: Sebastiaan la Fleur --- docs/conf.py | 8 ++ docs/dev_docs/component_library_milp.rst | 22 +++ docs/dev_docs/index.rst | 11 ++ docs/dev_docs/physics_mixins.rst | 17 +++ docs/dev_docs/workflows.rst | 17 +++ docs/index.rst | 1 + src/mesido/heat_physics_mixin.py | 19 ++- .../milp/electricity/electricity_base.py | 17 +++ .../milp/electricity/electricity_cable.py | 9 ++ .../milp/electricity/electricity_demand.py | 9 ++ .../milp/electricity/electricity_node.py | 9 ++ .../milp/electricity/electricity_source.py | 9 ++ .../milp/electricity/electricity_storage.py | 11 +- .../milp/electricity/heat_pump_elec.py | 9 ++ .../milp/electricity/solarpv.py | 15 +++ .../milp/electricity/transformer.py | 10 ++ .../milp/electricity/windpark.py | 15 +++ .../component_library/milp/gas/compressor.py | 10 ++ .../component_library/milp/gas/gas_base.py | 9 ++ .../component_library/milp/gas/gas_demand.py | 9 ++ .../component_library/milp/gas/gas_node.py | 9 ++ .../component_library/milp/gas/gas_pipe.py | 9 ++ .../component_library/milp/gas/gas_source.py | 9 ++ .../milp/gas/gas_substation.py | 12 ++ .../milp/gas/gas_tank_storage.py | 12 +- .../milp/heat/_non_storage_component.py | 9 ++ .../milp/heat/air_water_heat_pump.py | 10 ++ .../component_library/milp/heat/airco.py | 9 ++ .../pycml/component_library/milp/heat/ates.py | 9 ++ .../milp/heat/check_valve.py | 10 ++ .../milp/heat/cold_demand.py | 10 ++ .../milp/heat/control_valve.py | 9 ++ .../milp/heat/geothermal_source.py | 11 ++ .../milp/heat/heat_buffer.py | 10 ++ .../milp/heat/heat_demand.py | 9 ++ .../milp/heat/heat_exchanger.py | 9 ++ .../milp/heat/heat_four_port.py | 9 ++ .../component_library/milp/heat/heat_pipe.py | 10 ++ .../component_library/milp/heat/heat_port.py | 9 ++ .../component_library/milp/heat/heat_pump.py | 10 ++ .../milp/heat/heat_source.py | 10 ++ .../milp/heat/heat_two_port.py | 9 ++ .../milp/heat/low_temperature_ates.py | 9 ++ .../pycml/component_library/milp/heat/node.py | 12 ++ .../pycml/component_library/milp/heat/pump.py | 9 ++ .../multicommodity/airwater_heat_pump_elec.py | 9 ++ .../milp/multicommodity/electro_boiler.py | 9 ++ .../milp/multicommodity/electrolyzer.py | 11 +- .../milp/multicommodity/gas_boiler.py | 9 ++ src/mesido/pycml/pycml_mixin.py | 127 +++++++++++++++++- 50 files changed, 630 insertions(+), 14 deletions(-) create mode 100644 docs/dev_docs/component_library_milp.rst create mode 100644 docs/dev_docs/index.rst create mode 100644 docs/dev_docs/physics_mixins.rst create mode 100644 docs/dev_docs/workflows.rst diff --git a/docs/conf.py b/docs/conf.py index 5a95414ee..66116b525 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -33,6 +33,7 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = ['sphinx.ext.autodoc', + 'sphinx.ext.autosummary', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx.ext.coverage', @@ -47,6 +48,13 @@ bibtex_bibfiles = ['references.bib'] +autodoc_default_options = { + 'members': True, + 'member-order': 'bysource', + 'special-members': '__init__', + 'show-inheritance': True, +} + # -- GraphViz configuration ---------------------------------- graphviz_output_format = 'svg' diff --git a/docs/dev_docs/component_library_milp.rst b/docs/dev_docs/component_library_milp.rst new file mode 100644 index 000000000..52e81c0f5 --- /dev/null +++ b/docs/dev_docs/component_library_milp.rst @@ -0,0 +1,22 @@ + +Component Library +================= + +internal: + + + +.. .. automodule:: mesido.pycml.component_library.milp._internal.electricity_component + :private-members: +.. automodule:: mesido.pycml.component_library.milp.__init__ + :private-members: add_variable + :exclude-members: __init__ + +.. automodule:: mesido.pycml.component_library.milp.heat._non_storage_component +.. automodule:: mesido.pycml.component_library.milp._internal.electricity_component +.. automodule:: mesido.pycml.component_library.milp._internal.gas_component + :exclude-members: __init__ +.. automodule:: mesido.pycml.component_library.milp._internal.heat_component + :exclude-members: __init__ + + diff --git a/docs/dev_docs/index.rst b/docs/dev_docs/index.rst new file mode 100644 index 000000000..aa45b1617 --- /dev/null +++ b/docs/dev_docs/index.rst @@ -0,0 +1,11 @@ +Developers documentation +======================== + +.. toctree:: + :maxdepth: 4 + :numbered: + :caption: Contents: + + component_library_milp + physics_mixins + workflows \ No newline at end of file diff --git a/docs/dev_docs/physics_mixins.rst b/docs/dev_docs/physics_mixins.rst new file mode 100644 index 000000000..36c666da6 --- /dev/null +++ b/docs/dev_docs/physics_mixins.rst @@ -0,0 +1,17 @@ + +Physcis Modelling +================= + +.. autoclass:: mesido.physics_mixin.PhysicsMixin + + +.. autoclass:: mesido.heat_physics_mixin.HeatPhysicsMixin + :private-members: + +.. autoclass:: mesido.electricity_physics_mixin.ElectricityPhysicsMixin + :private-members: + +.. autoclass:: mesido.gas_physics_mixin.GasPhysicsMixin + :private-members: + + diff --git a/docs/dev_docs/workflows.rst b/docs/dev_docs/workflows.rst new file mode 100644 index 000000000..692092534 --- /dev/null +++ b/docs/dev_docs/workflows.rst @@ -0,0 +1,17 @@ + +Workflows +========= + +GROW workflow +------------- + +.. automodule:: mesido.workflows.grow_workflow + +Utils +----- + +.. automodule:: mesido.workflows.utils.adapt_profiles +.. automodule:: mesido.workflows.utils.error_types +.. automodule:: mesido.workflows.utils.helpers + + diff --git a/docs/index.rst b/docs/index.rst index 56010bbee..e48d971ff 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,6 +10,7 @@ This is the documentation for MESIDO. :caption: MESIDO theory/index + dev_docs/index support bibliography diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 3cd7dd462..eb4c7cfba 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -21,15 +21,16 @@ class HeatPhysicsMixin(BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem): + """ + This class is used to model the physics of a heat district network with its assets. We model + the different components with a variety of linearization strategies. + """ + __allowed_head_loss_options = { HeadLossOption.NO_HEADLOSS, HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY, HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY, } - """ - This class is used to model the physics of a heat district network with its assets. We model - the different components with variety of linearization strategies. - """ def __init__(self, *args, **kwargs): r""" @@ -3166,13 +3167,11 @@ def __heat_loss_variable_constraints(self, ensemble_member): Furthermore, the __hn_heat_loss symbol is set, as the heat loss depends on the chosen pipe class and the selected temperature in the network. - Parameters - ---------- - ensemble_member : The ensemble of the optimizaton + Parameters: + ensemble_member : The ensemble of the optimizaton - Returns - ------- - list of the added constraints + Returns: + list of the added constraints """ constraints = [] diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_base.py b/src/mesido/pycml/component_library/milp/electricity/electricity_base.py index 28c7a6a5f..26f60828d 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_base.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_base.py @@ -1,12 +1,21 @@ from mesido.pycml import Connector, Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from .._internal.electricity_component import ElectricityComponent +@add_variables_documentation_automatically class ElectricityPort(ElectricityComponent, Connector): """ The electricity port is used to model the variables at a port where two assets are connected. For electricity networks we model the electrical power (P), the voltage (V) and the current (I). + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): @@ -17,10 +26,18 @@ def __init__(self, name, **modifiers): self.add_variable(Variable, "V", min=0.0) +@add_variables_documentation_automatically class ElectricityTwoPort(ElectricityComponent): """ For electricity components that transport power we have a two port component to allow for electricity flow in and out of the component. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py b/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py index 9125341c3..07006cc47 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_cable.py @@ -1,4 +1,5 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan @@ -6,12 +7,20 @@ from .._internal import BaseAsset +@add_variables_documentation_automatically class ElectricityCable(ElectricityTwoPort, BaseAsset): """ The electricity cable component is used to model voltage and power drops in the electricity lines. We model the power losses by over estimating them with the maximum current. We ensure that the power is always less than what the current is able to carry by an equality constraint at the demand where we enforce the minimum voltage. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_demand.py b/src/mesido/pycml/component_library/milp/electricity/electricity_demand.py index f0b578c19..bd379dcc9 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_demand.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_demand.py @@ -1,4 +1,5 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan @@ -7,11 +8,19 @@ from .._internal.electricity_component import ElectricityComponent +@add_variables_documentation_automatically class ElectricityDemand(ElectricityComponent, BaseAsset): """ The electricity demand models consumption of electrical power. We set an equality constriant in to enforce the minimum voltage and the associated power at the demand. This allows us to overestimate the power losses in the rest of the network. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_node.py b/src/mesido/pycml/component_library/milp/electricity/electricity_node.py index 2aeabf80c..bfa371533 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_node.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_node.py @@ -1,4 +1,5 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan @@ -7,12 +8,20 @@ from .._internal.electricity_component import ElectricityComponent +@add_variables_documentation_automatically class ElectricityNode(ElectricityComponent, BaseAsset): """ The electricity node or bus is a component where we model multiple currents coming together, this is the only component where it is allowed that 3 or more currents come together. This means that a node is always connected to cables. We set constraints for equal voltage at all ports. Furthermore, we set constraints for conservation of power and current. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_source.py b/src/mesido/pycml/component_library/milp/electricity/electricity_source.py index 5ee80a06f..8772939ff 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_source.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_source.py @@ -1,4 +1,5 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan @@ -7,11 +8,19 @@ from .._internal.electricity_component import ElectricityComponent +@add_variables_documentation_automatically class ElectricitySource(ElectricityComponent, BaseAsset): """ The electricity source component is used to generate electrical power and provide that to the network. As we set the equality constraint on the demand side we do not have to set any constraint at the source side. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py b/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py index 442a17e83..5f3a22fa7 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py @@ -1,4 +1,5 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan @@ -7,11 +8,19 @@ from .._internal.electricity_component import ElectricityComponent +@add_variables_documentation_automatically class ElectricityStorage(ElectricityComponent, BaseAsset): """ The electricity storage component is used to store electrical power of a network. The change in stored electrical power should be equal to the electricity entering and leaving - the component multiplied with its efficiency + the component multiplied with its efficiency. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/electricity/heat_pump_elec.py b/src/mesido/pycml/component_library/milp/electricity/heat_pump_elec.py index 844991655..b183d2ff5 100644 --- a/src/mesido/pycml/component_library/milp/electricity/heat_pump_elec.py +++ b/src/mesido/pycml/component_library/milp/electricity/heat_pump_elec.py @@ -2,15 +2,24 @@ ElectricityPort, ) from mesido.pycml.component_library.milp.heat.heat_pump import HeatPump +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically # TODO: for now in the electricity folder, but maybe we can make a multicommodity folder, # where this is then placed. +@add_variables_documentation_automatically class HeatPumpElec(HeatPump): """ The heat pump elec is to model a water-water heatpump where we explicitly model its connection to the electricity grid. This allows to potentially optimize for electricity network constraints in the optimization of the heat network and vice-versa. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/electricity/solarpv.py b/src/mesido/pycml/component_library/milp/electricity/solarpv.py index 9e889207f..362684237 100644 --- a/src/mesido/pycml/component_library/milp/electricity/solarpv.py +++ b/src/mesido/pycml/component_library/milp/electricity/solarpv.py @@ -1,7 +1,22 @@ +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + from .. import ElectricitySource +@add_variables_documentation_automatically class SolarPV(ElectricitySource): + """ + The solar pv asset is an electricity source component used to generate electrical power and + provide that to the network, which can handle production profiles. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ + def __init__(self, name, **modifiers): super().__init__(name, **modifiers) diff --git a/src/mesido/pycml/component_library/milp/electricity/transformer.py b/src/mesido/pycml/component_library/milp/electricity/transformer.py index ace4e31db..a1b6ff71f 100644 --- a/src/mesido/pycml/component_library/milp/electricity/transformer.py +++ b/src/mesido/pycml/component_library/milp/electricity/transformer.py @@ -1,13 +1,23 @@ +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + from numpy import nan from .electricity_base import ElectricityTwoPort from .._internal import BaseAsset +@add_variables_documentation_automatically class Transformer(ElectricityTwoPort, BaseAsset): """ The transformer component is used to change the voltage level of the network whilst conserving the power. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/electricity/windpark.py b/src/mesido/pycml/component_library/milp/electricity/windpark.py index 1aab2f9d4..13b7503ea 100644 --- a/src/mesido/pycml/component_library/milp/electricity/windpark.py +++ b/src/mesido/pycml/component_library/milp/electricity/windpark.py @@ -1,7 +1,22 @@ +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + from .. import ElectricitySource +@add_variables_documentation_automatically class WindPark(ElectricitySource): + """ + The windpark is an electricity source component used to generate electrical power and + provide that to the network, which can handle production profiles. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ + def __init__(self, name, **modifiers): super().__init__(name, **modifiers) diff --git a/src/mesido/pycml/component_library/milp/gas/compressor.py b/src/mesido/pycml/component_library/milp/gas/compressor.py index 41d7c62aa..88dc04d83 100644 --- a/src/mesido/pycml/component_library/milp/gas/compressor.py +++ b/src/mesido/pycml/component_library/milp/gas/compressor.py @@ -1,12 +1,22 @@ +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + from numpy import nan from .gas_base import GasTwoPort from .._internal import BaseAsset +@add_variables_documentation_automatically class Compressor(GasTwoPort, BaseAsset): """ A gas compressor increases the pressure level of the flow. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/gas/gas_base.py b/src/mesido/pycml/component_library/milp/gas/gas_base.py index 3583be82b..aea786d36 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_base.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_base.py @@ -1,13 +1,22 @@ from mesido.pycml import Connector, Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from .._internal.gas_component import GasComponent +@add_variables_documentation_automatically class GasPort(GasComponent, Connector): """ The gas port is used to model the variables at a port where two assets are connected. For the gas network we model flow (Q [m3/s]) and head (H [m]). The Q_shadow variable is only used for correctly connecting ports of assets later on. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/gas/gas_demand.py b/src/mesido/pycml/component_library/milp/gas/gas_demand.py index c697116ae..11d17069a 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_demand.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_demand.py @@ -1,4 +1,5 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan @@ -7,9 +8,17 @@ from .._internal.gas_component import GasComponent +@add_variables_documentation_automatically class GasDemand(GasComponent, BaseAsset): """ A gas demand consumes flow from the network. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/gas/gas_node.py b/src/mesido/pycml/component_library/milp/gas/gas_node.py index b68246301..e7142defa 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_node.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_node.py @@ -1,16 +1,25 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from .gas_base import GasPort from .._internal import BaseAsset from .._internal.gas_component import GasComponent +@add_variables_documentation_automatically class GasNode(GasComponent, BaseAsset): """ The gas node is a component where we model multiple flows coming together, this is the only component where it is allowed that 3 or more flows come together. This means that a node is always connected to gas pipes. We set constraints for equal head at all ports. Furthermore, we set constraints for conservation of flow. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py index e7f2ad984..c9f4ddece 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py @@ -1,4 +1,5 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan, pi @@ -6,10 +7,18 @@ from .._internal import BaseAsset +@add_variables_documentation_automatically class GasPipe(GasTwoPort, BaseAsset): """ The gas_pipe component is used to model head loss through the pipe. At the moment we only have a placeholder linear head loss formulation in place. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/gas/gas_source.py b/src/mesido/pycml/component_library/milp/gas/gas_source.py index 21d1beb09..a4f6e5a36 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_source.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_source.py @@ -1,4 +1,5 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan @@ -7,9 +8,17 @@ from .._internal.gas_component import GasComponent +@add_variables_documentation_automatically class GasSource(GasComponent, BaseAsset): """ A gas source generates gas flow for the network. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/gas/gas_substation.py b/src/mesido/pycml/component_library/milp/gas/gas_substation.py index 20722a596..f7ff6378e 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_substation.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_substation.py @@ -1,13 +1,25 @@ +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + from numpy import nan from .gas_base import GasTwoPort from .._internal import BaseAsset +@add_variables_documentation_automatically class GasSubstation(GasTwoPort, BaseAsset): """ A gas substation that reduces the pressure level of the flow (basically pressure reducinng valve). + + .__disabled + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py b/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py index c2bd96295..7e791bef4 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py @@ -1,5 +1,6 @@ from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal import BaseAsset +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan @@ -7,9 +8,18 @@ from .._internal.gas_component import GasComponent +@add_variables_documentation_automatically class GasTankStorage(GasComponent, BaseAsset): """ - ... + A gas tank storages can storage gas from the network, thereby allowing both charging and + discharging, thus both flow directions. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py b/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py index f814979dc..2c83481b5 100644 --- a/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py +++ b/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py @@ -1,16 +1,25 @@ from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan from .heat_two_port import HeatTwoPort +@add_variables_documentation_automatically class _NonStorageComponent(HeatTwoPort, BaseAsset): """ A non storage component is an asset type that does not have states that have interdependent time-steps, it does have time-varying states like Heat_flow. In the NonStorageComponent we define most of the properties being utilized by all components, like rho and cp. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/air_water_heat_pump.py b/src/mesido/pycml/component_library/milp/heat/air_water_heat_pump.py index e245a409a..f86e3993c 100644 --- a/src/mesido/pycml/component_library/milp/heat/air_water_heat_pump.py +++ b/src/mesido/pycml/component_library/milp/heat/air_water_heat_pump.py @@ -1,10 +1,20 @@ +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + from .heat_source import HeatSource +@add_variables_documentation_automatically class AirWaterHeatPump(HeatSource): """ The air water heat pump component is used to model the source behaviour of air water heat pumps. For now, it is just a source, but in the future this can be expanded. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/airco.py b/src/mesido/pycml/component_library/milp/heat/airco.py index 612df54fb..6f8c24502 100644 --- a/src/mesido/pycml/component_library/milp/heat/airco.py +++ b/src/mesido/pycml/component_library/milp/heat/airco.py @@ -1,8 +1,10 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from ._non_storage_component import _NonStorageComponent +@add_variables_documentation_automatically class Airco(_NonStorageComponent): """ The airco component is there to extract thermal power (Heat) out of the network. This component @@ -15,6 +17,13 @@ class Airco(_NonStorageComponent): downstream in the network are over-estimated with T_ret where in reality this temperature drops. It also implicitly assumes that the temperature drops in the network are small and thus satisfy minimum temperature requirements. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/ates.py b/src/mesido/pycml/component_library/milp/heat/ates.py index 7735c9337..e1a2dfa26 100644 --- a/src/mesido/pycml/component_library/milp/heat/ates.py +++ b/src/mesido/pycml/component_library/milp/heat/ates.py @@ -1,11 +1,13 @@ from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan from .heat_two_port import HeatTwoPort +@add_variables_documentation_automatically class ATES(HeatTwoPort, BaseAsset): """ An Ates is a storage component that is used to model heat storage underground. Typically, this @@ -20,6 +22,13 @@ class ATES(HeatTwoPort, BaseAsset): The user is responsible to implement the cyclic behaviour in their workflow constraints. Meaning that the heat stored at the 1st and last time step should be equal. Furthermore, due to the implicit solving note that the energy out of the ATES should be 0 for the 1st time step. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/check_valve.py b/src/mesido/pycml/component_library/milp/heat/check_valve.py index 7134a2a27..e34acef6d 100644 --- a/src/mesido/pycml/component_library/milp/heat/check_valve.py +++ b/src/mesido/pycml/component_library/milp/heat/check_valve.py @@ -1,12 +1,22 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from ._non_storage_component import _NonStorageComponent +@add_variables_documentation_automatically class CheckValve(_NonStorageComponent): """ The check valve allows the fluid to flow in only one direction. This is done with constraints in the HeatMixin. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/cold_demand.py b/src/mesido/pycml/component_library/milp/heat/cold_demand.py index 85ac1511f..3e1a5fd0c 100644 --- a/src/mesido/pycml/component_library/milp/heat/cold_demand.py +++ b/src/mesido/pycml/component_library/milp/heat/cold_demand.py @@ -1,8 +1,10 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from ._non_storage_component import _NonStorageComponent +@add_variables_documentation_automatically class ColdDemand(_NonStorageComponent): """ The cold demand component is there to add thermal power (Heat) out of the network. Typically, @@ -15,6 +17,14 @@ class ColdDemand(_NonStorageComponent): downstream in the network are over-estimated with T_ret where in reality this temperature drops. It also implicitly assumes that the temperature drops in the network are small and thus satisfy minimum temperature requirements. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/control_valve.py b/src/mesido/pycml/component_library/milp/heat/control_valve.py index c2f0bda78..324d86a4a 100644 --- a/src/mesido/pycml/component_library/milp/heat/control_valve.py +++ b/src/mesido/pycml/component_library/milp/heat/control_valve.py @@ -1,13 +1,22 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from ._non_storage_component import _NonStorageComponent +@add_variables_documentation_automatically class ControlValve(_NonStorageComponent): """ The control valve is a component to create pressure drop. We allow the control valve to create pressure drop for flow in both directions. Note that we set the absolute head loss symbol in the HeatMixin. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/geothermal_source.py b/src/mesido/pycml/component_library/milp/heat/geothermal_source.py index f2c93a13c..a91a4099e 100644 --- a/src/mesido/pycml/component_library/milp/heat/geothermal_source.py +++ b/src/mesido/pycml/component_library/milp/heat/geothermal_source.py @@ -1,8 +1,11 @@ +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + from numpy import nan from .heat_source import HeatSource +@add_variables_documentation_automatically class GeothermalSource(HeatSource): """ The geothermal source component is used to model geothermal doublets. It is equivilent to a @@ -11,6 +14,14 @@ class GeothermalSource(HeatSource): increasing the amount of doublets. In the HeatMixin an integer is created _aggregation_count to model the amount of doublets and the maximum power will scale with this integer instead of continuous. This will also ensure that the cost will scale with this integer. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py index 4ba9f47fc..ee674b441 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py @@ -2,12 +2,14 @@ from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan from .heat_two_port import HeatTwoPort +@add_variables_documentation_automatically class HeatBuffer(HeatTwoPort, BaseAsset): """ The buffer component is to model milp storage in a tank. This means that we model a tank of hot @@ -17,6 +19,14 @@ class HeatBuffer(HeatTwoPort, BaseAsset): Like all storage assets we enforce that they must be connected as a demand. The heat to discharge constraints are set in the HeatPhysicsMixin, where we use a big_m formulation to enforce the correct constraints depending on whether the buffer is charging or discharging. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/heat_demand.py b/src/mesido/pycml/component_library/milp/heat/heat_demand.py index a02258c43..ffeae480d 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_demand.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_demand.py @@ -1,8 +1,10 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from ._non_storage_component import _NonStorageComponent +@add_variables_documentation_automatically class HeatDemand(_NonStorageComponent): """ The demand component is there to extract thermal power (Heat) out of the network. Typically, @@ -15,6 +17,13 @@ class HeatDemand(_NonStorageComponent): downstream in the network are over-estimated with T_ret where in reality this temperature drops. It also implicitly assumes that the temperature drops in the network are small and thus satisfy minimum temperature requirements. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py index 4d7db5e1a..a8c45231e 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py @@ -1,10 +1,12 @@ from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal import BaseAsset from mesido.pycml.component_library.milp.heat.heat_four_port import HeatFourPort +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan +@add_variables_documentation_automatically class HeatExchanger(HeatFourPort, BaseAsset): """ The heat exchanger component is used to model the exchange of thermal power between two @@ -20,6 +22,13 @@ class HeatExchanger(HeatFourPort, BaseAsset): To avoid unphysical heat transfer the HeatPhysicsMixin sets constraints on the temperatures on both sides in the case of varying temperature. We also allow a heat_exchanger to be disabled on certain time-steps to then allow these temperature constraints to be also disabled. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/heat_four_port.py b/src/mesido/pycml/component_library/milp/heat/heat_four_port.py index ce259f051..36cf03339 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_four_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_four_port.py @@ -1,13 +1,22 @@ from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal import HeatComponent +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from ._non_storage_component import _NonStorageComponent +@add_variables_documentation_automatically class HeatFourPort(HeatComponent): """ The HeatFourPort is used as a base component to model assets that interact with two hydraulically decoupled systems. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/heat_pipe.py b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py index cc0b2fb82..b1d345e25 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_pipe.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py @@ -1,10 +1,12 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan, pi from ._non_storage_component import _NonStorageComponent +@add_variables_documentation_automatically class HeatPipe(_NonStorageComponent): """ The pipe component is to model the pressure drop (and optionally hydraulic power) and @@ -19,6 +21,14 @@ class HeatPipe(_NonStorageComponent): throughout the network. Meaning that the flow does lose energy but not temperature. In this manner the energy losses will always be overestimated as in reality the flow will also have a temperature drop. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/heat_port.py b/src/mesido/pycml/component_library/milp/heat/heat_port.py index 9ba7ef285..c6f795650 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_port.py @@ -1,12 +1,21 @@ from mesido.pycml import Connector, Variable from mesido.pycml.component_library.milp._internal import HeatComponent +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically +@add_variables_documentation_automatically class HeatPort(HeatComponent, Connector): """ The HeatPort is used to model the variables at an in or outgoing port of a component. For the HeatMixin we model thermal Power (Heat [W]), flow (Q [m3/s]) and head (H [m]) at every port in the network. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/heat_pump.py b/src/mesido/pycml/component_library/milp/heat/heat_pump.py index 5ecdc6786..23d4e7ed2 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_pump.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pump.py @@ -1,10 +1,12 @@ from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal import BaseAsset from mesido.pycml.component_library.milp.heat.heat_four_port import HeatFourPort +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan +@add_variables_documentation_automatically class HeatPump(HeatFourPort, BaseAsset): """ The heatpump component is used to model a water-water heatpump. @@ -15,6 +17,14 @@ class HeatPump(HeatFourPort, BaseAsset): as a demand, meaning it consumes energy from the primary network and gives it to the secondary side, where the secondary side acts like a source to the secondary network. This also means that heat can only flow from primary to secondary. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/heat_source.py b/src/mesido/pycml/component_library/milp/heat/heat_source.py index 9a776d5eb..f2d16eb33 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_source.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_source.py @@ -1,10 +1,12 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan from ._non_storage_component import _NonStorageComponent +@add_variables_documentation_automatically class HeatSource(_NonStorageComponent): """ The source component is there to insert thermal power (Heat) into the network. @@ -15,6 +17,14 @@ class HeatSource(_NonStorageComponent): the heat losses further downstream in the network are over-estimated with T_ret where in reality this temperature drops. It also implicitly assumes that the temperature drops in the network are small and thus satisfy minimum temperature requirements. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/heat_two_port.py b/src/mesido/pycml/component_library/milp/heat/heat_two_port.py index 122116c2c..c4061e6fe 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_two_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_two_port.py @@ -1,13 +1,22 @@ from mesido.pycml.component_library.milp._internal import HeatComponent +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from .heat_port import HeatPort +@add_variables_documentation_automatically class HeatTwoPort(HeatComponent): """ The HeatTwoPort component is used as a base for interaction with one hydraulically coupled system. As heat networks are closed systems we always need two ports to model both the in and out going flow in the system. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py b/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py index 161211a5e..6e4255f71 100644 --- a/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py +++ b/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py @@ -1,11 +1,13 @@ from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan from .heat_two_port import HeatTwoPort +@add_variables_documentation_automatically class LowTemperatureATES(HeatTwoPort, BaseAsset): """ TODO: This model is still under developement. @@ -19,6 +21,13 @@ class LowTemperatureATES(HeatTwoPort, BaseAsset): The user is responsible to implement the cyclic behaviour in their workflow constraints. Meaning that the milp stored at the 1st and last time step should be equal. Furthermore, due to the implicit solving note that the energy out of the ATES should be 0 for the 1st time step. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information.. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/node.py b/src/mesido/pycml/component_library/milp/heat/node.py index 1c767077f..6f9c765d2 100644 --- a/src/mesido/pycml/component_library/milp/heat/node.py +++ b/src/mesido/pycml/component_library/milp/heat/node.py @@ -1,9 +1,11 @@ from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal import BaseAsset, HeatComponent +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from .heat_port import HeatPort +@add_variables_documentation_automatically class Node(HeatComponent, BaseAsset): """ A node is the only component in the network that allows to model 3 or more flows to come @@ -11,6 +13,16 @@ class Node(HeatComponent, BaseAsset): junctions where multiple pipes come together. The node ensures that the heat on all ports is equal. Furthermore, it ensures that discharge and heat are conserved for which constraints in the HeatMixin are set. + + port = HeatConn[i] (i is the index of the port) + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/heat/pump.py b/src/mesido/pycml/component_library/milp/heat/pump.py index f6af9fa80..6cd7f301b 100644 --- a/src/mesido/pycml/component_library/milp/heat/pump.py +++ b/src/mesido/pycml/component_library/milp/heat/pump.py @@ -1,14 +1,23 @@ from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan from ._non_storage_component import _NonStorageComponent +@add_variables_documentation_automatically class Pump(_NonStorageComponent): """ The pump component is there to add head to the flow. We assume head can only be added for positive flow. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py b/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py index 2e4b1044e..6a2ec7c56 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py @@ -1,10 +1,12 @@ from mesido.pycml import Variable from mesido.pycml.component_library.milp.electricity.electricity_base import ElectricityPort from mesido.pycml.component_library.milp.heat.air_water_heat_pump import AirWaterHeatPump +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan +@add_variables_documentation_automatically class AirWaterHeatPumpElec(AirWaterHeatPump): """ The air-water heat pump component is there to insert thermal power (Heat) into the network. @@ -15,6 +17,13 @@ class AirWaterHeatPumpElec(AirWaterHeatPump): the heat losses further downstream in the network are over-estimated with T_ret where in reality this temperature drops. It also implicitly assumes that the temperature drops in the network are small and thus satisfy minimum temperature requirements. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/multicommodity/electro_boiler.py b/src/mesido/pycml/component_library/milp/multicommodity/electro_boiler.py index efc76a351..b24c5b799 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/electro_boiler.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/electro_boiler.py @@ -1,10 +1,12 @@ from mesido.pycml import Variable from mesido.pycml.component_library.milp.electricity.electricity_base import ElectricityPort from mesido.pycml.component_library.milp.heat.heat_source import HeatSource +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan +@add_variables_documentation_automatically class ElecBoiler(HeatSource): """ The e-boiler component is there to insert thermal power (Heat) into the network. @@ -15,6 +17,13 @@ class ElecBoiler(HeatSource): the heat losses further downstream in the network are over-estimated with T_ret where in reality this temperature drops. It also implicitly assumes that the temperature drops in the network are small and thus satisfy minimum temperature requirements. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py index 62124ebe5..08eade878 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py @@ -9,13 +9,22 @@ from mesido.pycml.component_library.milp.gas.gas_base import ( GasPort, ) +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan +@add_variables_documentation_automatically class Electrolyzer(ElectricityComponent, BaseAsset): """ - An electrolyzer consumes electricity and produces hydrogen + An electrolyzer consumes electricity and produces hydrogen. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py b/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py index c4d631feb..d3701eb82 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py @@ -1,10 +1,12 @@ from mesido.pycml import Variable from mesido.pycml.component_library.milp.gas.gas_base import GasPort from mesido.pycml.component_library.milp.heat.heat_source import HeatSource +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan +@add_variables_documentation_automatically class GasBoiler(HeatSource): """ The source component is there to insert thermal power (Heat) into the network. @@ -15,6 +17,13 @@ class GasBoiler(HeatSource): the heat losses further downstream in the network are over-estimated with T_ret where in reality this temperature drops. It also implicitly assumes that the temperature drops in the network are small and thus satisfy minimum temperature requirements. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. """ def __init__(self, name, **modifiers): diff --git a/src/mesido/pycml/pycml_mixin.py b/src/mesido/pycml/pycml_mixin.py index 92101d808..1579dbe9f 100644 --- a/src/mesido/pycml/pycml_mixin.py +++ b/src/mesido/pycml/pycml_mixin.py @@ -1,7 +1,9 @@ +import ast +import inspect import itertools import logging from abc import abstractmethod -from typing import Dict, Union +from typing import Dict, List, Type, Union import casadi as ca @@ -18,6 +20,129 @@ logger = logging.getLogger("mesido") +DYNAMIC_NAME_CACHE = {} + + +def add_variables_documentation_automatically(class_: Type): + """ + This function can be added as a decorator to asset classes. It will update the documentation + of that class with the variables that are created in it and the classes from which it inherits, + based on the self.add_variable() function. The string + "{add_variable_names_for_documentation_here}" in the asset documentation is then replaced by + a list of the variable names. + + Note: This decorator must be added to any class which may be referenced by `class_`. + + Note: This function will not work properly if 2 two port classes have the same name due to + the use of `DYNAMIC_NAME_CACHE`. + + Args: + class_: The asset class it is documenting + + Returns: updated documentation of the class. + + """ + + def get_names_for_class(current_class_: Type) -> List[str]: + """ + This function checks for the variables that are added using the add_variable function. + Using the cache the variable names that are created by inheritance and port names, + are tracked to recreate the full variable name. + + It will follow any classes up the inheritance tree and it will follow any Port classes + recursively. The variable name of port classes are added to the variable path while classes + up the inheritance tree only add their variable paths to the set of this class. + + Args: + current_class_: The class which is currently checked + + Returns: List of variable names + + """ + dynamic_names = [] + for class__ in inspect.getmro(current_class_): + if inspect.getmodule(class__).__name__ == "builtins": + break + ast_of_init: ast.Module = ast.parse(inspect.getsource(class__)) + for node in ast.walk(ast_of_init): + # Look for any function calls that fit self.add_variable + if ( + isinstance(node, ast.Call) + and isinstance(node.func, ast.Attribute) + and isinstance(node.func.value, ast.Name) + and node.func.value.id == "self" + and node.func.attr == "add_variable" + ): + # Now extract the first and second argument + # First argument decides if it is a port or variable name + # Second argument is the string name + if isinstance(node.args[0], ast.Name): + port_class_name = node.args[0].id + if port_class_name in [ + "HeatPort", + "ElectricityPort", + "GasPort", + "Primary", + "Secondary", + "_NonStorageComponent", + ]: + # Follow the port and retrieve all variable names for that port + port_name = node.args[1].value + + # We leverage Python's import structure here. If there is a reference + # to a class in another file, that file will already have imported + # the necessary class as well as run this function. + dynamic_names_of_port = DYNAMIC_NAME_CACHE[port_class_name] + for dynamic_name_of_port in dynamic_names_of_port: + dynamic_names.append(f"{port_name}.{dynamic_name_of_port}") + elif node.args[0].id == "Variable": + # This is a variable for this component, save its name. + dynamic_names.append(node.args[1].value) + else: + raise RuntimeError(f"Unknown case:\n{ast.dump(node)}") + else: + raise RuntimeError(f"Unknown case:\n{ast.dump(node)}") + + dynamic_names = sorted(dynamic_names) + if current_class_.__name__ in DYNAMIC_NAME_CACHE: + raise RuntimeError( + f"Unsupported situation. Already generated documentation for " + f"{current_class_.__name__} before. Possibly that 2 classes " + f"(in different modules) have the same class name? This is not " + f"supported by this function." + ) + DYNAMIC_NAME_CACHE[current_class_.__name__] = dynamic_names + return dynamic_names + + all_dynamic_names = get_names_for_class(class_) + + # Format the dynamic names properly + formatted_dynamic_names = [ + f"* {{name}}.{dynamic_name}" for dynamic_name in sorted(all_dynamic_names) + ] + + # Find the indent that should be used + line_with_hook = next( + ( + line + for line in class_.__doc__.splitlines() + if "{" "add_variable_names_for_documentation_here}" in line + ), + None, + ) + if line_with_hook is None: + indent = "" + else: + (indent, _) = line_with_hook.split("{add_variable_names_for_documentation_here}") + + # Insert the dynamic names into the documentation + class_.__doc__ = class_.__doc__.replace( + "{add_variable_names_for_documentation_here}", + f"\n{indent}".join(formatted_dynamic_names), + ) + return class_ + + class PyCMLMixin(OptimizationProblem): def __init__(self, *args, **kwargs): logger.debug("Using pymoca {}.".format(pymoca.__version__)) From b0b893f7d70b244902b6b8c8a7ac1766eb0b0856 Mon Sep 17 00:00:00 2001 From: jarsarasty <133882881+jarsarasty@users.noreply.github.com> Date: Thu, 20 Mar 2025 15:51:46 +0100 Subject: [PATCH 259/376] Discounted cost documentation (#261) (#262) Include discounted cost documentation, correct documentation typos, and edit some parts of the financial documentation to improve clarity. --- CHANGELOG.md | 3 +- docs/images/Discount_factor.png | Bin 0 -> 52294 bytes docs/theory/Workflows.rst | 10 +-- docs/theory/asset_sizing.rst | 2 +- docs/theory/financial.rst | 94 +++++++++++++++++++++++--- docs/theory/philosophy.rst | 2 +- src/mesido/workflows/grow_workflow.py | 8 +-- 7 files changed, 98 insertions(+), 21 deletions(-) create mode 100644 docs/images/Discount_factor.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d2711c78..8f9f13ff8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ -# [Unreleased-main] - 2025-02-07 +# [Unreleased-main] - 2025-02-24 ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class @@ -14,6 +14,7 @@ - Error check for NaN values in profile data (csv & influxDB) ## Changed +- Updated the Financial section of the documentation to explain the annualized discounted costs calculation. - Write output to json also saves the solver statistics. - Updates in asset conversion from ESDL to pycml; gas and heat pipe split, generic conversion better specified. - Adapt profiles for heating and cooling peak day separately & add test case diff --git a/docs/images/Discount_factor.png b/docs/images/Discount_factor.png new file mode 100644 index 0000000000000000000000000000000000000000..a0ffccac9f97b93dc094a77199dc48612bb91a84 GIT binary patch literal 52294 zcma&O2{=^m|2N*IA`y`#OV&b`M0T?8gqgu)Nysu~U$R$->}z(iGiK~lvM>mnv(vp zV<%C^jvYTZdm8*Eh<0ig{CC_{Usd5)X%Evp_~Dd|yte$YV-?Zo_AN-j&!kRj#;(VX zQM5t-j(0c~Ssgp};fuPGJnXUA(%2ba1NiULtA*;d+pqG&D?=V$uqq)R7B&ezNlQC4 zar{T*U2|HoAN=eT&Bxh&I4ZYU^4zS_g;0pWEE2RHQYiggZ(!+<>>l+#-r>637)KuW5r^xa1>dl)MEi5cP&ATB>EbT8? z@N;vYj*X2Sxq0+S`#GI-@u#7oXO~ls{wO2E?CtbzIidUS&K`C|qJ#XNKYahMk24kbitFDhim=q}=lpXrujq-PM=z!eZH&+bP{p47 zmWo5RON?9bZ822R?vW3Nfup!L`W4jF82M4yi%)Gg*b{ik>4jdk|CZv&GA|oK_4dG% zh?pA~g76_L`_cRV^R4hVz4$LZzkWT22S+nr+8LXjnQ0vxYd~ztywq5YyeuZLj=F)7 zpnook{s3Lu(#@l9g}d)*nV6)L*|)T`tgfyWC5kOi(MPCoR904got}p0Ue?pB?(FQ8 zzkff6>|u6x_DJGQdLk2f8zaH`?-8K$Moaps6v(oOJKZM1H80oK zjH)zrbP!Lm?u*1(trr+gi%1d`XdH^#)tfI0=cvF2Fb5w;Ru*`li$Vj17ERw(!(}&a z-2C%%&ia*>d*k(9BRB6&H2TdEO6W#MM?d9j(qR+v9^@z`=tWyI{qnAm$CA=aj-oR{bQ`IjX+4uu86vC!~uPuB&9yP*@;-f zWLrpInYo;jvhr|4a@V6bW6u{$>vVi(lF7)(s&Dc}T0}x8Jtv)zewt@CP0X?VoM8Q{ zo~(dFFM|KKccdmh%Q$qp@9o>i+9MbOEjyx$QKHig+v9EEU-(RS8j7Db{+^iq;I-wH zV4ArYvP^T|pTXV&aAtGAO}Ge(sI{CzeCuknzxF|JAvFe_6@OJ%)~`W3?bhS%F;85{ zC1Pw>lDR(vnCuHIKl@Z!v*9HO`(0Z#wX>y-yY__fm|+=Ace=#I3`uu=>zmVaV|8Me z1WbxdN!HfZU{~XtH1Lh&hNkYc)YR0~B}ao6rC6Z!+Hrzqpg`MTmQrrNoJ?9Vgd+IO z8!<$gStJfMgxOw?!tQ)sRPz!<=)-)N#onGx~ z2JWu~yFHOR{H1u%nt$~&0{I6}GB3lVy9Uaiiz(uW%Z zy1egv!9t(=T){DdLxq$z?vnNO^%+&%58jHM9eMreZg9w{v~$I}S+e#Ci*+lF1ISm6 zy{OW+Dh*Nl`@Z#SU3|a5U4j2fpps(XiZ9;+7f`fkJ<%{fQ26~@xF8}IB{u4G(xG7! zv1!)GX*_UMj*|4X3%*xj#L7yyAlhSj1Rnh6c@LY|` ze@c?{-rKit7i#ylpgnWb%%tFMrnHxSB-+^e!Gj#fiAH;vt_ssMy_kauZhM-qq{*0& zuU)~+i|J%CR3D4y)@~(Y?^3a{M#~4DW)l^Kcdy{$st>*fQlj3AUor7y6|d4`#b9u)*mim^L@d#S9mg&JW9joxQ#9dn-*H_*f2tD?@PHdIxKOiOlbr zG{?ccf#ol6zR*xaF-hcPBx*m44r=Ja$K^I1?rLI_O2|kJ*8DV@S2Y=5nLaqBhhNSk8AEXRG}Wy8JWQrKIkX_%LK&mhrA8BHe{=vj;H6 zw6Kys;arfz-n%_g8int4qp+7r_vbkyIgl-Oi?srbnn zS8{&2h~L`=#j5!0wW{yq0l)p=FeR1GR%AIrMt1S*VJgHte5lslgjal%h6Tf2siK`H zD+{_2o7Ps^hdGl@r_VE5)votQX@i=Rc*RabTbod7Bx2Y9Ze#0J@PifxOa&RcM>&=u|s3^S=a$(b~a^r^A znw7h0Pj`!AMmU&1X&>daeI8KJ(b?4Q%%o}0#N2ancNZ0P93OS-VD=oG+Z)gnY}iO& zF{W_6*8k<A!_mva)iDN(6m2E}d-%x{C&Bw;pNDymGJ~EQ+<8`;=Xf$Y+RNoQbij z1w~b>v9Xa`PEKwB>>ZE1_kVT}dX>fp(oVkG^-68S)K1uME)W*>M9+xE*VWY(gXvL_ z<-e<5XI~e#o5o=s*d=cDl&biw9fg&>?rDaR#HJH!o&IcX=to~(W2;D1^baK?(g_t# zD+KzdmUr#2O4IR8W-gO*!_WSrDYQ;jY;4pTnQV+@Y@av-NrFZU9h$5T)|Rk6wPt2Q z%pp|&{i4qeZoe<;N;pq=aC2NPmkC>QxCPIeC)3t0Wlf%R~lMc@4^Kei^9C|FttiSP<`evh)wubjSR^1${lV`1Q=D@ z#-^U+&+{!>dUJ&XRe2-xx>n+XkbC0zkpA(?WmwZ*T$FUFA-wm;&RZfYIowB5r*>z)#WeE4jnd+Dl<+ytO-xX z!*hxw@S0VC2PNu!WRD>qJnil&OIgkBi_jVC4bv0tQ+m3eus2xC#eS;>^XBNIFvhl2 zW||sg8{-fbdf(9-mzo)gVSmwQ5feGer!Pe?OCfwb zN^5Gw$ysGhd`?SmkGigIY`i->*sE}x*T>?v)I+cPeaw`(Tc_cE{OBBwwhZGVE3{SO zC9fWRTe0)^b|-gtLgw)hN>-I7|APy(w80RVB*-@IF7VNEV^x*22h9Eh$GR!VOg|pi zo;{Tuh;-(bg6^Z9DK`g#Xcyzs=(YZ!ezo=7!v4-|mf`YMo%Ckhkl8sfk58RCb?;;H z4RMd9 z_60&og~u}Tv6q*{=W+|$DBeyPT4v8N_aqOSogWR`X0)N+TT3qloA&jCbJj*dp#gZ} zC7BgsBH(uenHlv|P!MKwaj0ZILCRyPS#-!G*Q}!@@C;$IzFyjGWtf~8jK zFN%%1UA*NmT2y-1Z@pWL_f%K!x9`z%?PX1eVGK7Pe2v$Y)yvXsEj!ilJj$Y5XTzUZ z-ps~#1TM1TSZ)+iXSaO`J*ZzEA);$r%pJ41uj`f$CN{Pzckd)lT z=oRgEq>`5sI>k-7X9_>z2%-tne~r1=f1oVto2w9>tOLAkCxrN zcDUX2+s?3;%Yf6GMoZ=EyO;cT2j`N5L@Qipb!h15azPy_G!J0{P+0mva%vaaU=)h$ zRo*t*_Oa8pYsB@viL(k45EC;bktVfso$XQ9(~I@MP2M-Ey4X-=ZH2v-c(kt+$$kJe zY%*^H|M}_3GeXYal$J|f6UmjVnc*p?jpHza;V)iDpi(XEglY9vzD>z8@W;t9pG zFMe9wwAVK49IEhKF{|JEQMbTC8t5W0>9n&py-=%loL^?lfLNDE!@y9Cw(;NSQ+4w6 zG|YW+@-+D!1GUS-&~WWI{~0TB8_KVpMn_|%{>EW!Q1UthDW8nw%;I9nn0sm5(;`f6 zrCm&ZXUDI-y)5|KN)ZOCx?kVIe-7JZ6>p;6jCrJakk|+5sPs@@yx8l-EF7$dXB6Sd zbom}BmIJQbK2J-*4z8vKAcM%b&x(ww42;;`X=|p~UjE>!_YoJgpG!|aMyCs%!lRhX zOn)7tII?KCbK7~bB6e2l`+3dyzFbu}eXM7asB53iL?11Qw)*mO`}7D7YewMj69%TuwT`mC%R z#%kT|-#zL|;89akyEDYgj{4sC>)W}_0~QGvCE8oDs}Gn7s3Lme($t2C+8^2)a&=Ne z<)sG8K%wqXDMCx*a~Tq+LE96<&Z2+MYHh01zB@HKI@)6>czS6m0WeE`8Yo>$`Y}JJWyHPBiYC0c*ZeQ$!8i z+EHxy{%w_Yt4PyAos4p;PHI~5535*!?g=Wl#4SF&GVRf2cce<3+{ z>E7p8+2Wi10cifEo$*g^83rZv?1-{Afu6C+YL?Sg{#OGb%-^Kevf?Z-u6jWGV^ewS z>Ryw2zAC8&b-lo;;^#aoozo39I)>}tm1#G{RJ%?mPU2HD=1ev}c^RExEL4D$n%D;Q zv*20{b1fUZH*4?7N1~%Gx}z}DdlIy95T{0_^V7`76Q3K_Kot>8w zRGAx?qr#@=1?~<0Ya!P713sjEkq|+#{PM0t%jXJ9oXu=l zczD}?6C!Zt!~OZ1IO2%s?}P1JpY0!@*zt>r{PD_YN67bU*RFl)VY~!JN6LUI?y@BWAqdJ`h4Ni*Pi4`WJ(kbV z{6+PDtC9xLY8>@hX|Nrye@k?E&FcS4KKKsC<2Wg`B?LemK!+YI>3S!SrTGP*C%S59egO zH=5(PG^JB?G{x7_^>tj z9NcM{h`s!roWW(+^?|ju#k)`{`>;8{Z3(>=8*_c3QBjB?EGLb}k5S_>P%nCmR(C*U zv+PNiSnx?G=gBUWwKS@_+0bm@49ja zr*iv3d*yyJF-v(U)p;z#nq!?R0Rma(=;h)-&@u~qd&&YOlQ4%+C(gQHuUGo(KI?Cf zyi9N<&8d3Ot6{W11XQj^Ts~kdFm(3+;aHK0)9s$0N z@9u_k1nD=wYim<9jUVDgb!jvqNG++$gHGYzy3T$}G&Iv2P?)Zb5Pz9T%}Xn)88@Fm z{mY6|r|~uBc>V4|39e)_q4>C(u5J<=-=?kOjE-%pm}91Qwd78#pn~#pA+CVVSi$Wnse<qEom1Q7cW!* zk*5G!`gQk(fr66?D4F1`@#@GeDEl-{t2T8cN%L?K2lKK9z;_9F_Lh1!S(b?4a5_^X!NKgR4IjR7ex98gO1;`EJ> z8=_o&OiQ3{k2maeM3oEpy0&*9<QNk=K=i;(}L`xJCr%RdH18-czFyLmX?M`EEI!4rkPcUkNh-XXg)@%c;H1E7vusJ-l?6_cns7NN*DwtN|2J z|Lub#{hKKX!w@gi)8F4en4p9?f4%zr|lj1L*BdMr#^p)D=9d5 zt0Zk@=$~5^ijT19mY?%8{(}udd+r&zUN{}_2W_!KC0qUvkJTIF+&lvm_d=PI0Mdt; zHF&plcc1@^|X<|4-&R2B_QIc!QLQsp$vu$c`vx1No|r3X8VW z%M_Jj&qdE<%bA`RX624o&w%P`?03{?O$C_};(ueY4t2}7OaOx$sjB2Ru2dq?S!6rj z+ebqq@^KjpJe44MKB4=(LahmR^LijSga6rSo8Zovm+m-T&mdU8`b;taNU!j{7ZTvbY1 zdQJP0Y92G+pUR`Y>)i{kqh7NayyZX-@;iI}JlsHwi@XW!j3cUppioe>b{g9ZGkw8a zOFX)3MThZXzuVK9fGRHp0&tMJ~m$C%b3f)gy- zp2NlOb8f@jM%{-@M>1w-yZFkKoSe!T&+h~K21j&NzY-r?3p9KUR7K1z#8dvy<@wp* zAk1BckMA6ZO2i!lB|uov{uH^Y(JF3k)wK>>+2w$8EM!8WU$E}ZA>akM1<8l2ZIrx& z1RI^1DCElQsI`?<^Ux68{QNv`%9r?kOH;6(7hdK6wvSzHLC~~Yv8@(_e;prhRGgU- z=LH+S^}jZJ;JP?%%;`bKPGs0wQtiFEVVf?~H2$>g_0>--JQ;Ybs zM(W`83+Re{Zye2m%)Ad6^J74#1{%3<;xz&#hZIG` zv;YklZp0@c3VW6w5!NXwxr5AipZg>qtov3~?d;+Ru4MNuva{pIc*EVuR^x!EX&xZx zO8`HUT$RWa+A`4}8>asUq!%^D@I0Zex3cP%;D59q#%u5Xzo0VXM%u%B?Nu$ zB`#81X+~pAeSf|mNeK>mK$;Fw{FY@P3-px^nuD45?!r_lOL&|sfdkrR{AQ+pl&aJ$ zIpc>)`KfjCY(q{(#&!IgI|GzJXU}M*PCd$dxi5axw#ueg1*om5CwNG-q^tEbys(u8 zm!HX2Z4H@di>h`=+H=-Bf9TuWi*GU@!2y7P)*$tJdIUR)31 zN(D_CF{u)++=qvIj<~394KtLluQd7THi`q9aS++lDE1$VdEfSv@;La- zz(iSu1~3nMdFMJ|UAtix-A|1Q@2F9eBM_umY`sbh&^=Mr`dS@h+}p zIvx~d^LZcZclu$yYVK-piM8%1U|k&Vh-Nj+-wzHF2nYxOOBL z9V`AcOhx>aYvv`GXIz^kCGy0|F!a^VGIoz$@8q>GsVPV~E|QM*+60j447 zHTdqChEM#EdoBL#U*;Sb+Z8SBZt(hK3|S1E)E?#s#9+u)l`3)kTz)*9P7o1L9NWNM zSyhFTy8ff)I|Z)d)n*Lar`uDq@1 z;hn_X1som}uH)H~hgsam%|wzQVq0Ix^^$OoBRV@(H09^x>|Ehp#=^oXyfAIQqAWc-8tG4*?u2z(R5rn0)IqZl?Go)z@AbWKZaBn zv;_fJp0?O#fY#8@?^<_kfTi@cqJu>dI2`cK-b%a)QUYT|WnpE-85b9~B+D)~yVF4x z@atG<#^Gs3F~?$DrXGEKaDuLf{Oods3Q$jw#cc7#EyBu=@iA;BzjWcPe-jw+!d|tO zGdwDN)piD#=!AUfR?1yFU&4b4~VyqjXU1OE5sgn+daEER52I_pyuUsbOJDW zes*>Rl*|xN{a~96!%{iQ;g^t$43%FiF#2dfsw5lgY8&2NKV+)DkMhr6_ zp8jcCF2KDJXG0d@?XCe)_QFo?&dLPkBU8>6t0b!Unl?s`0?*BU+`NX=;M)G{%gpGXbm2DnR)a>)yc)Zc@gB!c~@I{%! zGoHe;$G6>rT(5oD7IXWzHTDh9I2^`-B3N#hbDNuasAoxemX18U;~`S^5fI=$5N^PI z_X6@zHE~U%-;C_{!OzPGzu#O)6JOGH*|i9w_v?4jud}a6UOayBOKWbt_4;l5nyKFx z-u|Zgw;xk%JHdzkUDJ!){M^tSny~!)aBqb`qpUt64C7ICD9vwf2T2M-&w{?QO8?K5 zrr%Kzk6#WmOMEqBdxAZ+sADSm;zGssLOuoVD*V|aOsHtRU4F}TMk~?Y`upOiPoD-l zzy^|6`XPOWOY>z>!w~T3!vSiTM3?{R;?4bc*0BDTdqR@zMsv;!+Y4#^-HVq#xgT)I2+<_;UK^ z#(GH4@cVtnNVUkwK4h=Q1FOhCTFG!)y&#yYn5`ufXJ==6S>Kv1^2a~k&VHSre*v@` z%lZC%Bx*TsT4BgMput;k`Nxkapsh~=j6^8SWcv^Uh}daEL&NHa!}`l!T2XD2TgD|T zQ-Xp5GtJy__j3rAcF%7+L})`3$51U%lT->(8KJtshbJ05efktSGM5sF=h(mP1L>8Y zg9f_A4PkP>zMfpBC=xa0P>p&won#&bEVap&Gpz3*NC#%Eou@d3@zvoAKp}e?9?gZx zPoN_{yB>ZeayVFMCezeD0pib0nw`Kc5s;q`rZc-UTbZ8_qmevh=EJ|gzklJvg(o*G z+l#!(MWNJNpUjC z)2>ax^j6c>et%wU^a((v#eE7qTED6oOjD zSyEjDBn5qK3B=i40wvJLm{UYMS!go-31=_YROce!3QlAC&LS%Dj+k9PC+^MK^YfQs zbAUpY+i=Nyj@CGTe(PFDmeni0P7Xwd+%4I%g5y>#ZAn|y!r z+)ok=3NSk5koL2}WBTEXtcR*CedMRKY)?iDv>^FJl?Xi1TIVnSSG>Uh!Q)P7S{<+r<`musU>BXr{i)#T(P`pPTc!!WZFllUyn`ThfaqIs#N`!5h;DZaI1l=9Np zB|%qZm^0mPXF3U~xnoqDh3=NDe0hoWuD`Nc>D?onkS_0Y$SFaFN0m`wooACykr_`Q zSa^Qv_305_y+#cQh|=njWhKy&m!LuV!G3BL>>7H#Tu(Yjq=yljuni=a^oyXNQ=`ru z%=Sv!3h}23FqrE~s#!9NOTb+v_FVtbxaR=bi@}qstbQ<(Pu{vJ#04o=`eXDBL~ukqC~h@q;gCp?(VMH9?3Rw0iz|jJBnO>4?xmvA-0J3znFB&=%~p6 z$Sw`$CIa)Ec8Yd*I;PAN4kQBMl(s0aBdp09j87Q5{}>&%qEH#R89xscS>Y7LsCh7- zW|{2l>_$vy*ETjVtI5LFVZgleSQ&pL93nXYY_(!sdS6pOz`#jL=~psUP|8SqW;GA! zEl_{rmR?K;BIKDF1N-Y&j_(<@HS| z$;gDelW!>QU7tPF!UB&)8^m64^Up6k2!Y^E3J6#gfD1N0=gBo+> zf1A$E(SzJMREUDKay=QYl^0gLIWiQBGz}wH@_%+eRf-HsWMPhv&0kXsZV#j2xvx)E ze1a#D#o8~KX6_o+b7g$?A%FSfpZ5u7R6Gcm{a?<>ifKqi?yLzkZyB6e0nulBMr=gC zI#+jI9;Z82Sl>jcF*9PW0mLMJfp`{B#O7hi`BllA-?t&#hPv!Y?gWV!q#yl;*gjd`HETFuFfe55~ zx}>{C-AVNA&R7oB!32e2{9bOfY%7SJt$tFZwDU~po|s_$-Vxow5iOk~8=#~VFi(}1xi2xIVP2(FtiNQ2p8yLP4M=;+|&`5=N}ADM1eW{CQ{a1#-Tu_i94 zGqbk|t!&QIB7!1(9&v;Xto6 z8H#^hgB+g6^Y$^K**S;p;P1sxLb(?zfcjThsNgbol)W3yO4vvuds)`7#Rz0&{rp!d z1P~Con(2S&w7DA8X{%(PZhh!rM=Xx{6WE+OJO23l`RYesE`eOCEGpm@ngNK+?6jdL zaDBL`iyfdK7OE2C82)Hi=U=psCbSu_!|K|e;(L9 zB+u`v5_x$hveG}S9e~oHq;#Gf{Mr~CtLqD@d*Zy)2`v&8`kNmF6cmpB3{5;{68p=R zNrqJYov#ATPNXq}M;s|tqSwJUO--{Jc`2*?Mbh>$;C>hJ(z0bh0QX4#1m6H;t_H@E1z5W9v9czb1Rh_}^I2(>c$uESdr z5E><9X7C9JPynN6DD!x)%r=v>j7$Ys^*GiP8Bo`l!D5$T=ir$9H^4w*j4BjJy8Bgq zed|5W3}1%4qj40rJ}ib9i<^>8j<`Od3odrbmQl=s9H5Y82B%-E78{F0lzMu4XUWM2 zk*Facmr*e>MF6bv^Xql1B(m&*xBxg)O1aoJf+2@K1FjMFJd z9c8tKED6kf#z(vE&~FjGM`<+R*+r-r9~n#eN5&GEzw77&5c#SBNzTdH*^nnsjzuus zJPpZcL-ws8XIr4sFVL`|4}>cwVBK>-Im&&YX^b%2sENln+sU}qR&pqKc-#Wc(dq}m zCR_eXYa`a2H*VfEkSSZjLCG9?VXL#xo;~{toan|5{=2Vj4f&^R!~mc)0RgXt{~cDe zBCyEGlCs8r*&Ki1DpYmxDoCaTrm{Wxt6AMh(Yp5WL)9Nk1`h+_mm7~pMBE{Hs6;RO zzxzs))6>B~w90<<>h>Pq^}jM2guKGSl2uqLrsNz@$&PC@zFAYVO%<|el{l`R2{ONg zh0Vlmq-q4c^Da)KC{4tUnuswDJb(FC(I>7UtVOTJvmb!$1C>gLRyNCPhGA*A>I`5g z?*QM1C&xD%W=W(-**9d}O^S`p)~|EBvx9mfqkaaGoEKtxdV0{0h&L%Yel*KQ_&|zr~uGjrU}Efy)Dg-yU9e{kVt|-5FBb8@0Dcf~oWsp-u{a#mBmx9~I@JcY3 z(n~jBWLg4@$V)D_JD1D*gy_j+Tw-l~z-7N~zFzU|OYf(JIN2JPg?KbJ4|CpGEzR?+ z!=sZI+%$clNd4jaw0~{Yv7%m=kqM4jqC2MzhXy$05+x>LMM)Vdxfg-BdZ$-2Zqsm0 z7I&T6jhB7#lkDLy%VpzXtC6n|R{(acDRvM25vqO#S4+*C%uo_Tz^04_L4-Sx^q^Fe zsHi?!a_E{_NkpbP)umz`o&#MUHYB3pMZcUu38*;5jc-8xhvdha z?Qx%umWDs1az@sq=5Ol&d=c?(<;7C$#>fh)t7- zRsa%17JcMORXx-v(SMeTp)Aq3b8*ef+S^i@laocxp9u)vnPh=$J6QA@D1={tC|stH z2Ec`priO<85HH6h;(x~$C(B>12$r$uv8jDQX?JbYRr$(6Sm#l^UUI*MI`I)a7$%f} zLkQFAg*o6uqcODc%>Y2=wxMIjU-QA^pqCa+x}qmv;CU(VnTiO@1u|C|CurqtKh zwm%dRfnG3Z3s(ka9VAhSl3mS`142Tb{vpcm>(et%YkB#}nOXq}IOobzZDL1fhnjmw zm-OCJRbi7kX%3L}3rFN2W7zc=7oS2wq8^q0%J=&^4`<91`+~lS`~}dDsKr6@$eYME z@C)7A)^_r*Q3b=tK7m4^qVTeUf=P8RKhg)nC%8DQi9qaT8DW0e%BqjkFA&ynzF_Rg z9jpNIsd;01vO9;<-}5yr)oB|L#vR;Hm<9gaTxHUscAlFSSyFk}^Zvc^GVM^Y!Bw1! zPT5e2=)+BhAq=5%ZRW8df=bxG{Q(Wv)Rj5nmJ`a=p%ad7s(Bgouem9Tf?&jFs1xAx zXCvAiXzQ4gd0S5>=*ar!+zS+O?wO%=LZ#KU!oc zlpLK9PqjIjWH2n6{a$sqXDyC>l)%QM{mFrZ{r|uoAoFMmsPox#=K@Pg_y7WN2Er8^ z2o=?}-G3iO3-S+XwS}O80Ltv)_@>SR6| z!BSrRN9T}89^gQ!QYM*Ny<;R&AH{Zy9OAbn+n)i6!@8lj_JWm$)&CKb+zrkLZ9AJN;tJ z)Y~9wFTd#qA{B>9x<8hB0hmWYK(DIVu=-Z1>@F?^DhDy3O zU}xA}UAb_D00K3g{v7Z26~xVoDCU844HR6f#>2zB5{v5s?aZvcq**F0BedbqE~cpM zJ6#68@L8YQB%;Qqv9;gxB9XscaiF`5TToC}yDmPKiKm{8Q{=sDoemI0%IS7*&*lsr z*=hOt`5ADfJWd9Z)IWZjK1}J~ej2UNlo?x#vP$NZs~KqcLu0EIL%K5UthrWDfq}jL zWkw^LL*~&t>$4nUVsv2ZYzJIX=lA~IHx7|N-l7F|N07I`)HbgHhpUUr;2hlUvY3NX zmaO04oUyI#HBc?6fJ9zkq;UZ=hwBpEd5fp%j*C#qt(8R)uSYP7YT!CMx~f0M<@ySD zaZfG*96N~YGDHMax#T^(!w?1f@&b3{9zTsm#>NU4C@?BWe{2{UEv_QdONSqt--on1 z{0%5GMe)?dxd$*p|F&AEi9Q6vRU6tLUSrp1{+ut3MQIX3R7$Rr)( z9=Lvnoc>j&;r~rWQ7u_S2nSbjrVu53wjRQzKtjY2sdW=>3x_q#e8BetmX@p7i zN5=iOO=)YUOvow{Kp1C0Kr=2Z4OliEps3^(xOYiPr#wJrf&KK=%|*cZgsFRvC?BXh zmwk5>t7RxqHAUz38Gi#6#-0~#ez^RHw zBmmBkUc+3a0|+>Sj1moIWyErV4d%4*2Q*S<{)_65w&FR4Xzxg$WzSkt9edQY3%X}Y&cV;eEeJ3$RFyKv0~I6X z*-=jQUn+*%_%ob4>IInAYP%D~*!i#d&5{)iY9XseyW$_MDo(zBgM8F?j`=0Ebq z-m#;^3|h}XGd4DTL&Ped8-=wgKLVp58Pi@q^D5ocgo>V}xaVS2dY#1UDjYj!q5Ki( zAZP+ifyn{%B^LKBL7IL&oFD-ZOKdLcSTMfx_+XMh_;~ZtMXC0lM|tbo%+>P~JZmN( zfkr|S^&+5{TMcTp#gsa#wt~0vG8$h@CsPN-***B-y(PfR-@Q`;bsp@0hReb4b0?W9 zUw9ZV)2+q$a~){zrfi7Kd%CBLiM{s+mGCEE5Eh^v*S>I5)^GPK*g91~7g4p;^|TQ% zX|*B`TZ`-v7a+*16|*_3BkDZU)%$%OqX9 zNOwDfhjk%1K*KFsgGhmjb|x$=Y;`JL_dZxspQ~&rrDgazQ~|*hJKS9q^aZiTg)=^o z^On&I-cV9%SWx<0^yg-^PYlz=$ckv$@JnMp_Sj3qcd26}XOEer?yx`BxQb0&xZL=H z{U4)u_KOY3(h+7~Jy-Of00q1iBuVY}n{KY{@G| z)YfDmAl()Yd`*UK<~@9`dC7XgcZVk}2TLnW!^d?`an`XHs8dk4t^*qodhv!QY-Wi& zv$v)4=h@<+JZx(lxHWdzX29cw01(V8C_tkH5I`S$yxMZ+CnOp3+lVjVQ;p=dg**hp zl|QgV3a!q(Mxx#~`fSMNwP(Idq?C&+Fs(&_X~U<>j_M?>aVLAWB8oX{%=)t|>AyAj zzmLT&KrX!CZzxcaEafQx(il&HCS_-MeJbP{iHiUJPgN6l0vrwG=L7pOr0I1b7b{iv zOa9g8%#N2PZ)lifare)S2VC?S!rab6Io@6=DIG%cyKHlF?4-#!IV?SmInztw0+YiB zjMjvvJ#6_uJeOeXTm+Qq{`JSbb#!#ZZ9iwKqzsHHH5Xj^$eXFr1RkT(c-_I1A0fcd;L{ z9~R>+XDFT`cQs7=8v6dPqb_~+4jbTV4_x^m33Zz-Q#6A}9|)qe>FevqWMp8UrJj0S z+a>x*-)L&;DLNSU^+7km65&Ga(%(D&(|ilzNhavgVNv;FWd)VNxXL94&$Z@Z)TgeC z<6G>T^gj0lBUCFgpyZ} zG!B4U@U8u_BMeoR>Ak=c6dXJWwrm^Q5+x&)`6ftj!;Rk%uc3KNM#uDG(!%rRzJrWH z{5WY3mDz%c$`AxULyLZtxERG(?f}=s(B~DuX)O&1;h{%9?gFj01DGpepmF9BkR0BF zNY)GN-8bJr47Oi3u8Vqf@QimLg#-hMnr4x&h*lx!9yOD4_jj3a*ffgMy!hd{KS|$T z5r0!Yv26r|w48wS-Q3$N>{ljTX}k%f&!2dXXj^{RrNAnR$h$@-5bz;v@S6&);E3Tj zsxmL9koW)i5L5&|I0XvGp9>Y`g9D?h5r?*_9U_GwMyV`4Pq;YIkE2H`n zLu>;vg2blG?#~UW?U*^iLEY-H^f_B5ciovA1AjDz{QeS~J#aZDG4)x50Vx=g@gZ7o zR=VbWJ2Ff0T8P&w!G?yJh(R_|cCFc`yq_l#QWSkceY;kLA`& zoI|9+5h@H_2)7T$fvEOJzzFHgeQ!WPd=PWabiYHGBh-qb;CQr7@WV0|-5+wEW2u^) zfBgso9f1r5vTzC@%J_A88A}$ewyC-Z6ti2)0_d>STQ&s>h+rHZ-zgjxkub`Xc68Gg zUW4xfy{}0=*YCd8stZT6=O`K7WZ*M@bBWll-zYadMLK1bSK`Wt8%o^~L#FFJ$#MJP zdej^POM>%Z5@~=8MuE;$(Hj@4S%}Rt4VwCV9gFj2k!?JCHX1ftvA2y@<;w_X>0!%U zNdM0Tf-e;Xy$e9cI}X~1LA#26$Wqf57$GzY=I-4B?-< z$bwu$J%CZqpaB;0}LRrg^jfXuWOG?F%GL-T_hrR zir1455_N;!TwD}B&lktol-+ghmuTU7_BZ9cPz&xD)WQg|6I=qdbL?7~(#Fg#0tQ!p zL#>9MvHTCs-yq~;sTONR5kW`SkFG+~5+Mr($FK!FgP4~u3!*>=yd@|ea}!NX9(2R4 zwG*kxHwY6i_4glbcJ$$QTAaX9SRt5=khB z3igU(lvQ2xS-~1_`a8*n5e8Rz!R#62Bop|-at+`8zW94bHR9YN9@$rHLcbn12%%CS zf$@X;34lZ!nAz1fHUL+apsb`adgeE3aTk4f1^aUb=BbDU8Ipnx4%#czC;XmVzW1&6 zsQoIZ7LBy%wh}I8r^~mtwg%yCCh8(&j^rtH$M?FpK}+k_FHV1!yPlu5fl->IJ6e*n zsB>lrG~9{!LF z1t>l|uAe+-+xB5 zcP_xI%}B^c9o=fCENzQNP)B7l@NvLnS03-aWde<=tyi;rpFwrq)4*NHeXu~`2ga8- zuPU5R0a*>36|P0ZX%V}O1zl&R+~YR7tZ zxLsh!>XvZH9j14+4*U;R1U7B+Dcu5l+K$nr-Jwsy{(btB=^bqOR==j;BxD`|>@DQC z>*kK%0h9Lyl+*=#-G}Z0hRC!%^!oQY-YhbPzQ$bdi1D}DGRRK<$Iu*@q=RODPHi62 z0t+5sV$|dhd8=@}SSXGR>gc;DW~omgp0O+-$@)5BHG1K*avXz>GOHqDVR)~~xD6@$ zx5u8q115V8Xa@wHXRPHu+YS#$s?{UW&e6DYSJ8?w-Vwt|VL8w4yPL64vYG>#cj=9X zZwF%2cA7dL9wZ&t(_L{iE(tv8a2K^533M!zi zT)Ole6n8{jc#ok0KZf~BqRBi>`zOSs$!|ZR>OYcmvPfWX$eP!y2GKhqz2hNAjUu5; zhPc*LP#6IPbOJrzE%$_qa@e6@F!~hF;^(>6P}|GL8stMhPD$srPupUx2hsv4wI$sU zvmLJ;L7!A9Kh}c(JU7RGhL{8lF%J(9)PpFw{qv_@uQGT-Ksk6imb=bu?=U=imH6_N zJBIACmDuvb;qN~_M^&|@Y6j7zn`{Wp&}0i`?)~X1Awb8W9*kms3MLYK3|dR?B>wL{YJ^pHJ?^WVv!DNX)xCJu1N7m3sH5zf;Lw9;`9|Y{Ee6V+r*9 z6eb9Sf(KGTv6AA=hi;Qbn!h@jb;Qn;D}dYmzsP#axG2Bx3sgk}X%wUz>6C7z4M4iP z8>CxGkVX`g4y9X$?nWA6kf9}p?#_D#{Qf_`d#^8iIS=0wbxpEb`A$*m2D>6 z)Sd}T$HuDfm~M?01RB8&`Op-!uA2lYgxxt1Iu(F68v=_OchE0V5z-}WjGUUE{UcGt zBUHwxYR#JF;=K8%QVHB$Qqoao%_=sx$iL)bbv`Nd-o1M7mNSSGBCUe?`l@pbNEJk*H&{q&-D!oG-7 z5D7rxF7h|QGAi$vAuBEIeFXKy_v+LfIIY|Vl|9+=K#KPA3j)3U;>gj3dDff(t#Gv` z>xjF@H8XeT4f0EgbdrNcw&!IJk-J!xwQl1Qr>a2V7h11E(nG3s#TdzCpW)J@jmmyJ9(-~+d7ySSLEmaWp$*QkXGU`Q3AfU)%+L~zNh(Jd$J7H zu)G36_VyGPcb%ZUVy%y^ZkHhp{I;Spm5^4p zI5{jioxFEpejz-@jCJg^j7)nh>x+wX}}{ zlgUrEr8mJg^9AJl{|rM&)gY}}04CW5?1wC1(NPVY6iN}|C$uqcB2BL9m6&hI>Z=bX zpf1*3Zgzpg?q>Qt_0mYC8-|5zGU< zu%x(n$M5}>3;wzlRU$vCU}>gDuyRbDDUq0jZ~j3vAr)%Rw^uR#_ri-E5zqh`l7n!<&oH__CM|`cnDT|Iwu)yiR-K#xN z*W3*xv%8@4GY^h60;rREz%oGssw@^prAQGGbB(Bwr42-_|ppRwNSw6F$4s#6QFk31zO%Ypr?R} z2C&fvVk%Q+q54UK8qK_A7Q4%F)W(Q+Ycle&y&e; z8f$wxqMhP&n=-{N;kk(K~E*o+dw* zX&OJ}MHI2G7La3KdC?Vq1m~~D?k2c*&x6~hhZs^(;WRsEZen6E*X$4bnXd@|V(Dn| zNMLuu^NbIe8EuAjuvSfF!d{a<3mYFIN!!U zUu2o$Rgr`9Z9ZkC4>rrMFU*Q>9k#A?JUl!QUAdz|E1+{21}1sl;GWg$t)Wc@JjfJL z6CctqxoDa_Dza(m2HbWN#2nuoR+Tu_{Dgu?q zId=2joDr6`z$$X6kPbMRY9i;kT}UL*e3|+0<1G!g?*#{^;|j_Dg%kd7f$Cr2O{>m= zJeZ1~4-L1rwh;A*eFAG!g~H;fGaYj99K z8)BU;81NFijX~an{5)|LIde z5U5mU)*o$(A14no6Agq*9Z2jD%K-~@FlX2j>;krz<6o}?hm6>H)&Q@R@NBLgu54rTL{}F zScDfaU_vNTKVXsNZNXXwG-ELBkhPS(dElk zn>ud-m{UqN)D)(#yX^Hla*fk=OBgRlyPGOe;`Xqw}^3L zbOZ=!sPa8f37m zD=m?f?bt>T5{n|y?K^zj!}k*KNEoB>9LwZ`g-^Bx4;hk4JeqMfun6V4C(|-->!#QS z5V~!rYXLDCTI)*UJ1@9c5z2}_%zxKvi>-m{J1DOugeI|DD) zx7YDjMPuWIPB>Hb$+2;I?^mXmqN9-ctna2tQ!)G+>?*U>29y?Ms{Ny!#5Uto!|0o% zZ8d|;%0cag-~B>0%gH79`tb3n$FC~5ey6_uP)7gL$g$H@NEwh3#plKNjC%Cs$FSkf z40+Twf7Xwy^gC*Vu~7|Fi{L(c0Rg{pYZDq*zqS3z#53u^!qm zs}(kbi+Kn50w4e?eiW28^AipiUn<@nER20|SuP5~NV<(#oDxVXbA_q3JM#TZO1^Q@ zjY_Mcr>{?PnoX`qZ_+mt3Q(1lJG%5N0LK`sg*8yXBG1gsz;snq@A4@qMH8W4OB)(> zBx$J!y9`1a){Vw^QB563R^=6fSv2uSAi)&LI)@x)PttclqI!!WKsE!4HM7OGsu6@V&t*zjd1L*JHnAvzmxH}h?KlmRR`~~HQ?QeQ{i*4~o3@~& z2|M_!CMG8G*Ng$tVW`~nHQ?x86b9N5H~<|u=V8|b$1=QNf9;(kU%F|PflFgmfH=*( zEn9%SLuewJhr@zr5oA&2pC1yn7f3wnE{`S=o!@l7>#OSR#&dwyU?;o8Y}TV-2T-x# zb>!vArt#^6ztYu*)vK6nDmgTuzWmq$xN&W=lNAoQvFaC+2WuzYaT;_GS2V&xQvikI z%>t?<0r(04FQEW@CPJJP1X<_<1iiV(;Q1VFFATCcC>oeo`Zh&f-Qu(^|_Z6#|Z4~}6|li0m`EKg@vTX*Y@ zv{w4X##_GT3^t0BNW(FrMSF3Jk=M&_0-qL zBNh4((R2;fD(Lz>j;~0@l2MQ;PQ&VT5Ks_8|4jZVwdXO`m>Gv(p|z8K^Zi8|k?YO- zx4hsA>DqNz4-o9i|qD!n;b*r#`j4%Et! zo0?T|6GY^nObiUq-@L&9$mO8m%EgM0_naRHyTUJ}#|Mm6UgtQ8=lI92d7qaPevL5o zD~@?mgo8&EoY{JBL%-@3WK{>#VH@ZBfK#Qz?T1pd1)!FY!`yqAasTu*8R-96KnuSK zCi2?mldoR%&`k(pV=rz`gcss7gNrH_L>)WN?@t%!PPWPmgkBwXAHh~&#rWpZ`@$9d z5U0wtfV`E9Y?E8k;278g)1K=^z^nWOKvreIqR?idT#5_Zm)+rjV_7{L-yOJ3m^ZE04k*q``RE(fm$awDl z_itQd#xAG#YqM&e)K;=H`#Ja5!eKLGy^1<2-vo*1}_{a|6eK;wNE zz(EMcpsc*Sw6t`mCWV&je9T5-*L{f^-qYvlgQgk656TlU#tvG^E%}mraev zMqt&Fzt$zr$_Z;X$SH`xfIAOzBT<%A*$2Do0XBIApw1f%rN2PM!urruSn`Yl;q)HM zMhcI?Innd^A}BUH42dxlMYUT)GLC&%r4nsCaKY>wZ>SX>E!ThSobnTi0d^ zE+d)Bi;#^96_>4<8r*a@@%bJWJUWvC-rLec0GunJqO`1$0rp+41iB0Z^Yc3-d}=9a ziJS}dOcK1?P*lCE;_iNy_Ll2kY=n;paX$i>&EOgF7>p<5*!cqpeJ-i}w=QLw#Og(* zYFcJybfUn;`CwxrZj91ec4*qIt)~N7;QBJ8@C!3UZF2Qc(7B#PJmodf^(692*e3ox*+k9Y{KwTj+0sEEJ3kD z=p+Yzf=F-~lgS`YU^rF}{ZHJVv(Ng=DtLX)+9t*@8R-=$J>jln%TV4sg4jqAM9AG@ zpR-{%K_%Dh4=EJbRqX=TJ%o38^>U*19H=^h!**X1p917~#c(1goUJ}xXgg?NoZu7% zo7!i_yJ*bSE_J|STu3D)q3UHN2wX6IUX2ucJq`sCK_cgPh_%^-_J4;!uAH$jl3aus zI774m=yqp7Xq%Fk_X$YN8(qIxCC-qJ24ufcgy+n7VRugHxag6kJdjTOP2k{d{!D41 zmyK}5w*8CJ7s)R>3Zj+|U7-0f9(8eseLpwaZaRIE1gQYzpKlHRD(vwL_!2|`WtliI zz>qke!hfa zL{1qpaZ|g|^GV;LXpEpH1ysviBLt7G>uG{c0JiAKotH1Y+w_v0i;Gcx=kB_s0$WXn zSFB$BnyMPTC)>INV4r!r=xH6t8jmh)ed&!!`j+wQ+RGyA|2DA`Xl?+N zvJMN?4t7rp`SefOqW#$NFpq{@1`B^;RI9Q;{_PFP#*%~{feOs_r(7p(t-jlW(DM~o zu`#hd0-_@3l6s}OaI3I5`H;B~3N<+6PhZIwZzg^dGSg(4h)DA&!|T+$sF@F^hIwkb z1Zyi@hSQb})KLS|)>nZLAKH;Gb8~uXOTn3Z^(lY`c;r1W>hqrm=@ya2B4B`!>fME5*r0|c~%Z2;MAjN)zRH%UW04l$LZ1(F^c^qFQLEN-bY z(KqYc62IV)5DB@m_+C#dg$7vZWm*0nHSSFFqjnp&bFnMyMAe zJX#A%T2$Vq57^?*bW#`=T^O)DGwhu;jV^W}F=XU^=f2-08yU?LA}J#5^&!8q55mHI z)5373ny4@<0tln~T3(I{vh0MuEkN)z>RgM^9D!rm2@tMu*!e{?%>7BA14RfeX>35lN5%fANA#ev5!JU{>6e)0@*BKPHT%!6p~WfWy3FRA zT2-;eV++Mg;jsxR$bluyQ$oB-wwk26H{Fw318~|9<~?9n4dp0M)B~#7A0PvF4c_Q? z>m#hzpCZei(xI(C%ZFMC0fQZprHEoFmyLk*ZU($%xFLK*Du2_N=-T!p!$AHF_nVt7 zFPH=(4rs=JDyCX1f&98%Aj`E*|cOR|xE8}-(anO};E+VE*Pz||Ll%OYBstV=gQY3D#pmIkK% zs!QE~l&%e;gYuBiaf<;~fAH|I?A3--(HQT1(IxIoCw8aNW8MVLS~HI88Ly}s=@k2u zLwY>?C#?;}IL@MMpyr`A&oR}#k#pgy&UyqxMi8Phg!%KIMjs(^zY9m;L>4#G`!s-2D1Q!OIgRsms-i;- zBHcQZDVMd2*&3&}8Zp>|sgeBz&I}Pf;w`%v|KdeHJm3Qa`1Sy2uEV3#OmvyB_d&v! zKu%y%q7z&Qyh52PSG`nUuQ7-S^*Cb$7hXp~_jHYN%492Oheg_4 zETHZIc%3!y+&cDu3Wf^0k%l3?}?FU_QP38`! z_fZ{QbI(sANFO>SN^dMEs90}9j*wbGlMSinTkxOyxvx-9={ny80LqYhd?Wf(KIc{~ zecD_U*<|W$%P4b8g350Lkpr|y(}95>?57jNW&*fCkj6w5uaY2V%w z;!|SxW1xy%$iJff=XlfVf#*RZ3@q|$Nlka}fFM_GB@b?Jj*UM14cBILXaWyH6zi?_SPd(nL1gww-L=ZvIBX(=Y7JWa&Jnvu zlSnBhM3Qu!h@Bv7UkyRO^X7Tyqp0GWMV|PTT`KL8@FwJdj7wTBBqDA#rlzvw>AI84 zYyQ<_2a`$0_6>zGEmmhikux1G#T0u@4(yt5L^(3!@7$8b4aF;O`%;@@i@D zq5N<8{0)ol4xgV$? zv)a(0pb+xravsIR{zN@R{mV>x+Y(=;DjXn-Datmqg)Z6^P0lfb`bT439QSKlvR;>Z zrk0&l|D!O4aTfBt)$=)T-L72+w28+G>HMs6DeAzZP0X1Pr+7f!y9rwg8E|&;uiLff zK;QkO4W-O_>5)6ORi>wQs=%Km8FLG_n=h{Du|W<6tdn4%pQ2%5c_WtrrWK{ScC?y2 zn+IOpQb4XU)o*`=0%|6py|hwa^}a8*hnk#~n9jf^U!)(G24VG#w!W(%rv5$cS4XE< zG+-hFCI5=g7t<^o%{sLWJ&fpLsx^Usi^v3sneizpk-)fg0SuWL)fzYgx5*r0^byF= zB7me<-L_uDdFAcm(vqdyTbI=aVO&n*2g%7Pu@D;~B?PZPiHB|LfsSBVq~L7j;(d9k zvdd)V1j+oiTN9yj?BX5@4m3;<@kfCXX*Tv&id z>9Y~Qo7tWNj%WzLVhG3=y{)nE%F4>%5zUH+)w<5O0Th03Qt0bXpS*M1Qh}?E6)NLs z>5*c@4F{RdZb~_pDb`V2PbPEjJb7IfTjY2B@nA}MXJbM`MB#dY<4s3pqx>d>y5U;FX&%WDL27z6Ic`97_XX}_a*Y61BnTY z>-Jb(X%U7$nF7Tm7nU@E4VXDw{Ci>80=E< zjRn_>6rq5M?M8_al53>o6x`iQH!C@9RZ}|nJY1bOE4MlH>akX)?kv~cIu3U1SrJc) za-~m>J*tm~Ad{%yeH*oP(Z7z|MR04A2RfScKK-X!`N!u6YA{vcdO|mw`1t_gWsUG2 z7^4%L0z(K8(uJ=a8CFy>qSDY>fmSdmX${Pv!y&_sRB-djhv{t{KP$Fz{2^Gyclxbs z${I_xH$JcYs^9k#-?JniC2#Y!f#lF7xt_1!g=pla+F0;=qQ; z12}A=*@FT$J^#s#_cf>ntHE#@)%QOi)Ye+P>SC-en~q$&n1Bo#Ssp04*xB!KVS6o^ z61Ivfx(gHU4vJbUbAFCWkfHqk4I6DQtZcDBgoAj{+a_t|64ygf24sJ8X$muegF_7b zHERe%xa9taFrb10|7bzz1E$eIKuMJ^@dk*sQ+lQU`~}rZ$Mxmx^*o3TlF{TMD%IzJ zax%Z{YSy03_UY|`Y_tqVb_XF|QrK?yFPTy*yFk~m#sgnpRKImrfcbO=1j}AsIBmXK zau%e=sM)0EuUp0S;=oKIApc#gp|>Byc#Q(;xJm(^IX**YvZqu6$zctZX`ND ze)C+T4p{t+cFV0wWDB5q1YWnIv*$j#D#twnmghsjj?ks3__x67j&~ZIv%1Fsj~LzY zy8OIsVH9gK-^b%Cl2dn_Lhin@{owQE@};$UCT|jtxsi3&B-86-xMDk*;Lp32ehVB2 zY3|{I`iE`m3|1K-RDZ}iH>kg}ix$IfyU}-BwIs}kh<482j}Hq~@VyIv=Xm_7u1w6d z3B2q*I{Bd4pmmkJu0LSl$yG}rIAD;P?`4906k&diQ;`>svdnZtq9og;$liWU3-J^6 zB52G?EI8W0bYuwaRl89kOJb4%!(WHty1A6z*%xr>lvu?W|DNkNoimFKFx7Lbi&5pB zm5Il|4K}$Nu7~#{+e)2@Z|)4bW4Rbr_}QD~+P8_A6JK7C?8D3c7-LlM(hdZVDf^>V+ zUYP5TcYyir&_meE-8Cjg_T1{?n`KlA3bsTXR*IrZOtfF)HI5zsLH{|c2|0`H0Z%WA-)F6Ep39L6qt?#Qd;ccECPR8uUG zNSRsG1YihZf%vjSO&{=#LvaO`Mn&cl%b7i1p2n0dwLy^&2ljLnb*o#8D`~pxJgb zoE|-t<%n%UU{=sv`P4AnbGm_aFp{nQitlY&{E(`mB$ zn;HthT?V-vMcsm08{`MYn_%hhSKfEBjpRcR4b99CA>gyrkWB4fr5`J7x6%3A_Ut|d z-+id2hH7sidVZvkDD3awKL1TuyquJYlUnMAuBzwmBz}0y1ja3WWZk{xD)9#ot%6=u zP5&4ezZ66l*hHUS%$IrLO!rK^BiHrzs{{ecR_TMv7jh3WhBQJgnRDjhNMhFNn-WZt zyr&mjgaLty4l5k;Q$E-cH8rrYJ%Hq5)MW(UFk**`&LSI^{g~^PLVA$7ke*@n zc&n+={jnWVpsH8rrv-*kNJQ&xs)C1M?GjWlgKw{U_N3U#1wVq0Mo;7Vp6JBYM_s-c zS1fFq?*gT(-rg~FF3j?x-1ym<)SFhP--o(G>x5e7@@4uORSM4!`)aHFtKPiG%I=R% z`sVNV#P8m?>lMHf@|=#6#HyZ--ahL-cvh%hPM1?dS{oVJ_S-?RKSy`O=dO9tqFKO9wky+1II}`7qUzti5ZEGj>D3KLi1SL<1&aj(Bm!*(-AM zh(j{)2p5Suk{zw@v0pmzxXICB% zUrT!AOs<+}-j-ebg&kJ>*42|UX*&)xyxeB9k+4rU&Q)XT;4A1f?f9Ntgbm`(J$c{2 z=*78P^6^hfy>^|}`MvFGMC&nsU?I&5E6<4u+lI~VK}2;OjgAP0tZ=;lQ~fRfVT*tn zgXUZm^1zT1ioekm?V@nj_;*(_zhfJBz8($VF4p5VEs>!-MfwYlzbF+uw*Ku?l2d2L zMH-&od9D!Gp2XTY8HyL6KfdO1@lzGurZG~O!{(LD3Whv?{UM%Ozi2wz7tj$mYQGk- zxvCem(L6_a1~V%-{|QZ&95|A^J@qOSVASnn+!@>xyLPt~5~#Xu>g8M*%5KL1`-T!s zAGxxN;-^5VRK;#rjP_)b*xgdEv6mO%QXC^6D?>libITIc2jhr1DxK8eASOy0)<3Pk z*{NfE7}kfORpET1ga>!&D!!$sHvL>86Rz9RtWyaqv@@`t5Ftb=wk{gDK3^wvEs9Wt zi*)G)x?Zw}^jNfCEZMg)w&G`t(|l^0L^8Hp@~XT2Q6BK45iiV}l^ar(eq6f93-$?d zW4p06KDP9*gpomVYW<5qaapawyxR2c=q@QNIahQXUwKOgT&pTAu~J@5@8hDm!anWC zP=n*JStY=a_*q3c1C4^5?-kc5NMi4Ee$w+kwP_7%qBGF{B?`7oo}IzEKt2)d7+ZPi zjKB{bQb#>7%q#LB3FL4Z&HOX#YPi3_>ferz+^XD=$>9GNSU|x_o6SP zx$CKh3cs^KkE+&S(l=ufh|+ONzrjHfdbzb4wX33?-??c+V)bHs;rqLzi8(tX9}=v5 z$R<~tv%efFxG$;FHi~4m-eVA)2;8g;$C-g)2YYm!EL_^kzV7q4cQB6dIUpj`(b=6% z6^mJmE0ms7GTW4T@h1D<=5rxw(?XhCUn@Y1o|-lU)>DgP2T zAIz+t+-XIji;|iLxZ4fr^aKPZth!+(jQz8b;w282+!ZD-w*Pjrf+B_{ZmQ( zl#OIsTIXYNn{-yU%KIkQ!Jy&C2$t!{c%5ON`OBLuA-|3gN}Mj6ChINs*DJzG6s;rM zs2+04I`#8_oOX%M(rpxLyCraVF?=v%|44c(yPx0pcR$0MH>1U=uaPVBba4r{f~O+x zfn^Oxvq_MvCEGmH{V>(~hDGoM`AzY2&5E)B8BEgRSU@3tE=&D{?xd7(Wh7aMI_2VLc*l*7x+g4F#~<~0 z^n5LMN1K_s;6;mssI!g~*=lpA@SqPU%Dr{pqm9z#yQ^sp1qN12%S#cQ*sfApbTi;e zzhC*eniQkSK2fVH{jmGyo`>BNu4t=%6l0<{gRFA53^Zse4(vZt$Xtc4!*p^| z{UGbiZ?yOy(m%7d&$3MDmc{=wRp%1O$@Q3itNtFA&PkmDs1NtDq4c8uDM zZnK@oPbW|;`a*MF&w}6+6$g%7;}u$?ao0U*nn!?7v^yw*t!y}v0uXSTC}udP_<}$#r(qi7j6bDvWRCYt8`6wA=}?RsmsB(4Sx`HD%K-))h$t z2w#jgyZAVBVlMo8KrFzeNy@mdZ7}_17u%mN^~6F->Uq{guQOFGj16u=qfBS1G`Xo(qP=2u|?pD znfptSXDvt|3qIHB%GcU+(KL&7^?`H0b8b7!Z`^&(@txy~g`8B$6Ctkj{R2rv^bqtF zE*~!$-{RK}FKz+*kW)xSe)|uf2&Gh`^#SanRg`Es0Bbw)tw}iUg-Y-qLJMr3|!}<6cK7RC* zYv1}l4b$b3fG>Y2P0$lxDJW^}@lI_p!;I1qc%aFw4vyda@@jo92$stE4b-^t(J*pA+i7vhli>MN=5OFt~##xR;3jfb5F6dWuk?sdF;$Y6&@Zu6(OS?Zr0_#Kv~vdJ}M9wF98=X8jAC?BJZSQkeL z>gQdsd*ZXPO*msyt%c4DZzhdM7JBsaxW9NfFIH)$X`-Zw+F+!A%>%ZP=HNW#zPR-# zBQ=4R#9aSS!_6H<3tGl{C5Y8f>`NLcSlRyRkG&%k`-ALyBU+yt^ogX$714-?QRn+$ zSUbN!u0ffPylbBuTM6=&7=TtJT>B7>UwV-7cG!<>)$Smu7ao5fa-XifCKMNc>u|vz zr7MP;BYJ|9-73Dx7M_l3uX8SmEm?6Wqv*>S@8^f-J3pSe5E`q2D@HP`>E&g#UBO)PXicJqjNkbl9H1=IsVD{XTmucRfP==&J<8_`&ruZ!bridx?doNnZvPx9F;l zbw^kEMZ`8mwkKaYS=oprZRf^XeeVBhum2Sd&B3Y@gS6p{cyVhgZ`u%dnD@@()YXsK zWJrd9MQ~nzkK4`%1+6tg&(rk@5h&2d@b8E{iCt(Q2O z9DM24YLKq$eW#z(OXG03Fn!aGB$DDUZxBd4s>RnvS2yzdh31sbO>ORUPriRDD)YO} zCe6*g#U}iLrySk9fy>Uq4e5&bn!s+`T}bD!_|K!x-XyAPhrJRy1RZ-<>rO>3+bp$Ht3(=?(AuB(Z$OS}nX zMxrdhL-mjzq<2vGHG={3Cj6L0z!id~ErjNDe{c-OJHL_HW%_v1pf6B&4us)kXOT~j z*@9n(+i85-L6ToedCxeT`|F$@WQ-k}@zJ*gi?<-`Q*j^JL?oOw1bG-Q8(RF%$hRFX zlOjAm=NGOydnsuySx|{C1z-KxsUZ3>+iAHOz(EjS*4_Rphs9rBvYjeEv zS7U*Qk+y?3gvx=17r(GM>hl){UVIvRw`YINZKStmOg6J_qTv8V8?nIWW#9hYjCU-@hHHdv-pZvDZmf!iYdjHc;?iT1S4$a3mfmYpA2*%kLw(?sB?K6dL@eXcRq zo6Tits6i7lN|%l~LvliH7M&dFJAXNf3bjY^Ys;<48kL<4P9|Ud{=3Egg1_R#i|QV* zkmewa0Zp~22;#_gqV05k=GW5%&=Ks%saqe}Bod$JI7yp%y5YHFcEXaS{v;fgXw}7E z>I?s!oe8?gT3s`~d1FL6M5=Y3e)LtqovxAOitH@tP%%SJ8rC^L5uV4KZKSYAzB#a; zb9^M-y%3#odf~CN@msq{|Mk`4V^Z>W$V!cu@*;fIE5pb6@zrZ(;kcwrkw(TGXm8Z# zLo*1OADPkAagcQ$h|~I(ljS*q_w7}@p-1MEgRAaw?R~cvdI`~%Xd1uvbh<- zyB*bAgX<3CpXy2xcq07N$#(c&tiHE@DE3Uq>z`%}@^VtG%q4R>-HP2BrFZDEZ~+#p zVo>L7L{jZhlTn(BGJ=6rN^MLPWn!lutWM4C%`A-odt>{-)h@q^GkSMh z=L&0CPk?|XDLQE2We9|R+-PJr&f#}JQt82o5+2E*Uz^p0Q@_`a0r&NS8@KP32PjT5 zcG@2%CktYB6*pi3{4`h|9)yL|>ezOmSDmX*=seKEFdEqrRnJl=`!z5kz=U!<^z+1d z?8yYyR_{%w#%rjNC7Aca?{z)&n&(2`NI_?8jfv3tfsGIZ6T8?QCkr0g8GY_6DQ_6% z>UJnVgt3$6K&Hi}6_kE{jg25AgDKuC+IBAv$lR#iy0EIfYUcJxCjYLE=|GwVoF}}|3I=;JouNVIpr&o1#XSCmWYT@J+8W-3X_SG-&se1Gpv?9w> zzP=*>ZBLQIFl~D8fthBIwyY9^vZY$_^@YnG1=v4e5vc&ErupR3Bm6+*;$h{~&Xh zOChTRgi;|p()4i}>!nwub<0}G)$4YP+cS|zmu-#<;SG+v-PsO@HvT#Z%w@cnw7kh$ z@9Y2CP!^%S)Zdi8=+b^mXzzO?B35|-cAmO$vdDk;Bj-Xn(aK0JI$C7#$>q*=^;O9_ z0zW%h*rDiV9~c+S^wde@e(|TEL_>V?Pua5HOF@$&4MQy3@!TObZwCrCqG_Gr$|I!2 z=7|RSzlRN_42H-@Irb{5tl?3nG*>D8{D;5E@ywrCql}KIs7Tyoqy_vF?ka9{$rc z&+n|FXv*`a1TqK*O2tKwstcAEQ) z9*ig6a5&-7B*#?KhHqh*ri-2`tuD~k{aG)u%-DRzBl65^S`hzFl&%jZ#-zGo`{yG< zAqaEpWTk}vq{BtRW{~MaKS}}iCxTf5i>#3?9}~u@og`S^bgQ}({NrdD$XxOBE?{Tl=_K4RQtTMXN$5}7SHh$V(D{xykxP+Stpp6hmJPe}IPogLhrKjo;#TMekj6l-Cj;kDFlOK63%3higg*OYY( zWVOQd-v@;v9Z|M1F47t-AAMu0m~L3KgP123x)oq0ggS8h zo-tPFG-A9sosn`IZ){57POYA;h%mgAsJ?4?&JkLeF4 z@yuQqaac(R&gCAHiG38`F~KHq8wI#v;JnGR-veY&FqJs=%a>rpuw2F%;LzO#%o)qT zNELT4FKf4ySm4BmRS*$@At^0Q&B*vrR8&-}z-OhA=%G(v6UP}(aNgM4eMjUsa-K+@ z1Yn{i3K%{?W79--g_-n-*RtsOd+j^Y++_ZW{n8l_KWo6R1r0otzLf9^`$nnQ8f@kV zNcA7Eg16h(WB(F=ltb?`+;VvIw)C-F3i>d#N@(hUd<|;jgB2iM>F;*T0Vqc*B#Itr z=;&p@FdT#E*?nNvq{Xaw`kx2ft@1Qp&(pJZ`sWMNHAxL-R#sL_gcIBOW);Hc8c^#P zWvTs(D}Z4_OIzFC@;KWY=>x$%-hgMv&+VB;i2GC2;UAPm$#A!SBYzZ4iP_#L(53Q{ zWs+}Q4(R`*REj*2&Gq9@;xJ=nZ3I6hMW{^~o(F;DRuk&gxwiRDYgJPS74zJyiH()r z{7ujks~h7nMOO21*)JZsZm91Es;y6LtLk>~R`2iB=AAvKl@xlNHgwRIxK`Y)2 z*$`0$vr3W)+G6b=my?AR3JsTc_+b(8?`<8PrQ2)hBVf79*0XPcp9`$2RA;tCWYc)i zzo8Sn>UwK?mQHyRK@t7;il)rm{4Ul70W)7_jX(wDXw_S=0)I7p&i5t91)DWiiqJVq zN~GT|-T$drfdhT2AQ2Rp3WJ$8qo^=IAS{8zEBvQdjg6``Xt@_b$k{rg7%5F@N8(@* zdwMeYPVZ9^`_RR^^f8?D4$5YFmAdB;MpkxAL{YIF;@efc$dzR6CE#WFHtq%Cuy+uX z2KD;9jq2ymL8AgrF-HqFcqxLWmd@`2%$s~2huv%Jesm zJqQyMgg=r46ijHV2P3e6f;re#rejS-gZbsrrC?15>C_YL)}-VF7IX%wm(=W>AyvIB z^Q;x<>A$TB^0Hq}To--RF56iVXA!JKwLG-8PZI-*|rK9&RLW>O87rborFA+MME@+1E+b=?cpH z0zbvLCA}X@RT}*pW=#mq&lxDz{3(@!Y5l`AX|{qw_aUh!7OCFd?+LKR=h<&~H?g@% z3``%=%Trx)f@fzi8;>E>ua}JvhW>B^)?-zbgCk{rhDMdkAF} z0|7v9TK*b`mr@%yV9>cPJY*mvq-(7ZSLuuQmU8iQcOssCb2Jx)-4H`%>Sxt zUgYRBT$ApmVXs5(App7+&uOB$f}OxDT%fNpVbcsdINgtJ@NIx~$>FUh$3mS*jfh=j zT&*w?`ICl5e+o=t>aEpwy9@>&KQ%;ctY>vDX1Uf++xh=59I**lIF9j0Gf_pH6xOWp ziSL=b?x2<&nT902%z}DYldwknAWS(_Vv^UQ~G#AkArvZCLI>)EHLB>Hzh#FKh-67Qg=r4i!k`12z|P~i5QPh z`Lke0$8HXkdJHGP!fMcl^oSi`%r48?h+*U$Y@v?9v+`v4y>;%5xhRI-!wW%bL7Hr- z(`86@PNvf)_}{H&q)|Zr0iv~BdhHm;WB*Xde_?r!ZeA|R#x`*I(?wFsL%Vm}R_0hP z$>MHQPnYQO?mc~`s+28fhHqx6o-W;H!u-C`&}U4LPoShw_M;6_3~(*!zA)$9b4~Q? zGLxnk`Gf?cX;k%F6e7V{&Xjn3-2F5AV~f7+b=NAAS6 zzbe!vyd(C228NGrPhfw5w)vw~yQEal%C9O6ud|cdY1hc)YxGpV_ULwv>~?;DwoaVg z`y3Q%9Ua{H;rj!E>YG`#)l1Ez?L<@wRl#l~QPl#1|DPBP+;)2ZpVr98`_D%B`Wg8zo7oHrhW6UK0r^uln2W&5w};#B74W9N zmRm8w_ij5yeQ?g{{)YhhiVznNIRMOj7SSOya!sXzv`E<7P2gkg4PMF`>Qa>R>O14i zM+>skRj-sDBurX|^-BjB&41Zm7Jsnd$+9I^(W6Z~QVbxsJ%8QG1lXrr0Yr?=nd z0FK-e<;LByZT@tRZstzG$D4wlyK;pl4^8*2{Vfz=nke_4Kwk;z_r#kwk(~(?ve~Jv zB3l2U-0h7y0Yt#wy#$1wO662+I4Kw0VynZMMc4bU0cWBbJ#eYg?(Tmlak2mId{Tn8 zj)lejwm1vmXjBT3NOVwUOGiCY;BhNy_Zj9zu(cSezQK0l4{@KRyq;U@EG}jPr;}$ zYk*<@%Dx!xq~DiY>9>->dftcg)5y8W^^63gl$VrX>M5|?waCX=JxkX!y6(}b3C4i# zG5eD~A|sQMr=`6gK}gaK=oFLe>%4z_)5+l*imi{Am*{qt*WsS_?6}#+`P|_Qti(xg z618XRlZqa{wAlYqdZ_R5d*IW_e%;}WB*-x>^uW~(YgeK{*dMNpo#?>|ugT?nsH17B zS~4yw3QNh*y({UpAm-zA3EOMHYspQ2C*h%S%P31OuRjL4L>0|B7p?Xg>rHjuMrSzV zug0h$C7;XFC_@<#?~`Vr9Wd#pEa){tlejU_4X@l`ZF;CL*AeFw;wKyf^ z^KCEXndMaE-oYcm@1H~Ncw#TZ4}!*MoWb53S+737ew#8Z8>ao6uUI-ey?(AH%rafA z{)Q^P=m3t+J%O)e?YDV5RQT|Wc7Zkxm^dh+{K`j-18PZK3wK5A=J z)k>a6#MTb`HH}R+MiA6TA#7AcYUI-jC8w3HSsb&+v;{p@o?I*X9nXys_hOb$Rgt}k zYIP+@4ov>rcjjS~-Kkw~O2;1>k%wd$gxvXD8`@ZOhM!Y$O)?8N<(8dA>*ALY^Rc|8 zS0;;?h9iqNhZ-He4VDVqzYj3k2DY$4=!xIpPD0}r3X|+D@$CKU9`Bq0Z%Ztt zV+6Z4Gb9DSjU@W$k5mbc#pPstc@V#CtPpzQnTUki-9aX#^RqMUzEhsV=-22R)|IeH z-4JkQSrEljeTw?qe>@$x!TnY;6VPj9slCS^bwth>j zSk5!F(ae|cMbFp#X7smom7hWvmz!OpzA72Tg4{`yFD|Xkqf$&CKbIiz8VYaXDL!pf zx-h=9U)nxosl``!di=Q(!dzpWD|m7`Kg!mJzS)P)o;=X97`5#6oW@R&+FE*3OYbIf zM`(>?GFkY(H`XwbNw?-kXg0cEBB$;|{XN6*`S4VKYolZ)o)CbEBN&sQFVO|~+YfvR z)MG;)5h>~|&$)1g*EDif?M~!-h9Q4G)frR`r%bU$``BO7u>U zyid#h<$aIzn)pU_gRPRfFkm45rOmZ*ti4|=l=Y`VVQ=`~vF5G4&6iY;Kq(7MFxlZo53mhoX* z&Zvl6J_j9aQRRV0EwM;cu216fgkoRqI7^Vj<7dw%=vS!D;|-@3W_L^#_K76MYTRr7 z)n|nCEz|? zW&vir_7L5KNuuJ~bM~HSQ#_&>OY+*PB&{|EU%q%_+%C!&gqD9V&sXeFdV5;DN`ff% z^_RZF>dT+J()@h#nZ)wl95nA16A%T0pd)T@E@$;QR9%SaSk(9wF!{xoGL~tX9m@|| zisjU?vu)!$NLD0ivW0YJ;v`Q&+=n#Vo@;b9En=!x5(+}#AqR#wZ0T;hgSd89&^!6PmnI9o=RQIFl zB3QcIvUZct!pn~x>Qrk}0xoW&&LpBedd4!kldYHa_LtM8&BM((wLJ_h=o?>3PBd3} z8BjZ?m8R6`sSf#&CK9_TI!24)gi=i+dD2h1bQRVM-!3qmDp4ysf~JbvEOuIjB^jyu z?pl+S;q23b7pZl~`~T%KT%$Cak2SUgH$-?JcNz*4%xN+t?V!~g{4Y6;4K3&|7r31Q z;tD^GTEQ2-x=+fr6+MJ~ zi$4})B+C~dA#b=y8beTgS4jKGtD{3(khE;u@yp)pRm=9FT8p)w7{jKI#)%$uqiDi^ zO95Y1J4K<(2Y3t)3{J6ftMT2gu_<-gO`zAobxH6vn>a3K2B%24F897u1IQM)#Ax6; z7WCEk`2mOP{S;rnZuN!_p2HV0=iuLMY9Pm9)5O}kCVyk$&mpU8Nm^!Eah5+=!Zc(S z-9R50>zE?3j1)C&-?cO%`|525B%*Tb%T|$%;>`aRa8clbCs25b7_+nbbblzm#tMAo zxpBux5GYVPUSwb+A5^50BxdcM(la^O!$si9>ctu3D{x#OdB2O4waPVtfuh@FOzbP^ zd zwfT;hn$Go>R46asA>rD#&0%g+DasvEBfbz8x=(SpC&Khm2j2d3Nl7NmH(eYitm+yn*YpBU$dn0Q{=(I0=aQZ{ZvnP3L7vw;-DRJfHZlJ^OC4eZ;Nu zi+S92ARp3R;$7~7vQ1OFgBopy?}`;KB>PO$Q)7sZ+k6JcW1cmEUd8qz z*c>CZxDDw8%t9DoR7JMOrgjo9rCJ=-oR59Pcm-Om@AF>e_qU~LceS9RpT~m*k~^ z_0coUF@DN(2gEx%xU5Rkck=EGJ>J&%Wim3ghFA%%U$2e9A4}ZHBCrT26*XFx19Our zY7PbLeeWS3iSLaZGJF|P*?jxKt2miw?{mx;+;B?C>~mbcrb$LdqO6GC zO&TJz4|G9U^3AW_FnsdRMHa>x>vLzVE{U_Ei<)9Y5xj z``$VXUEUQSKU4L6^-X;O$dTdq)U6Z=0Lg|!%nSn8l(R*hg(VRW>#bOJ`btK*4iN{V ztz)g0q;+wPN%P^T)^~#C$f!i(0mOEN*qF9Wwzx%ZYD_r(5*cy3n1<$e>58eYzyt&z zd40u`zMO;t&`ROG%I?gY6=TeWPX0H9!pFF_v*<0S@Bb6}05JPeDEgWao&aS#imy|Q z81_EDKc>!dQ8-3y9B~S9=f4y_|!1~@pLjZV@1%ErNu9#bVj_seLL@lgE#e- zp7)@QM#Ws4Wg0ZQ1f7mpBB(d~DPF`pkCL5~;cGz+bU0)$F&)d5`^M==j)L5+@DuBC zRnimkWwT_+e(QXeQjLjHurnNc%Ed{cJqu?cynZL35AWB+KiKX+CH0 zM<^V%P{hC1QOT4jKHjN#MF8SlKa_lg1oQZV0}*tAztsNgQ<$R(6W(13d%X>$ zw$jDcZsM~lZ5Z&cDW=EWW%0Fjn18C=Xse~;9D#X$ALK!-Yn_nCO&a1xn;#;r@Nz&+ zscH;D2=atme~L(K!0k)V#Ql9Qh}w!QZB%Z*%R{RVTSw-cF-wH_XTbj}3Oz-kWS2j~ z)e@G~)SGl61A2ZkN$H*j)G8w;vg(r{LYlrbM%UOd$8plb9>)hP6~Dp+tXTP316kLH zzCTVN2=-yCDhal9CTE+Y%aP+y4mE|7o`sxLe?KH2okJznp zt5GIO#Pm1vJWrfwuxQt~ct~W9M`Z5HIL>8*SY6p=8(1+G6T1HgGW-vgxdN-I54pUj zz<1A~ZI`*b>e6omK~Du)7`l3Tb|WGE&}G&Wav4aE}Y(XaKYG@ z_}YQFswd~WQmp;g z)N8T&1BnuKb7fxxS!25#@hvh+aa7DjWm;c_$P&AT)r@PIc}WO?GM??j&`*%YEdRFT zZ}UR5`E=O6BNYncMaMfC)^4UNZ%fT)J{p$rDLFEn#yGm_h_N!eZ40MUplAKWgGeDG zNj%H!DM}ngFhuJGZExe;^X8^pvY&lAU?!Ou)no?mM6odKc2+kE{Xhz6t4>Z=EX6Mk z^Dp3+59$!&uFBxK#N;09np)c;7?Z|yal)fv7}30mWKh-Z=O>~?Q&LLmbvcry8^xw` znZ)mHKN1SYQ)joL=!pw%6a^GUYdh0soozE6-zi`h1#7WA%F`5<`+*xyD=izf;A+nC zoW&i6&CQ1XHdT_-=>Mr@K3n{>tbaG?HCf1eHeI@WLmf$ZlMQx0gwd>Uc3FwX42t&O zjf8?x-Osh0B38JJVnq{XJh&-f>0y3ta+GFBtPes*k+&0@$kt<4f$~nMe-Jim!>g*) zlKJ5~b(~cA2P`Gk6H(a|Kla|kyikH&GMXP|*0^N7Rfb0Jkd=Y1%kkJXCKAaW1n%*7 z0|DQY=_hsO8n-O6O^-_7fD|zZnRxm5e4gHsBpb&pL+kL=mGG)F{CBm-#}4?JYG28^ zr`B{-i?j5lSJj{|E(QtT2*6q^!fz9xywq_4)k{^RtEKIE@BQCf{x@Tjz z_^}0@+k0&mHzL6D0mpl+%a#SPRaVR+PenjR} z+}5-Qy?5k*Tku~X{O|5e!AH~74o7g~P!ZEsS>LH-e$lwr{aot9@lIm>+&?JLaq?3>}5nnanXU-;e@U-p!YkeurR z7OuNCWFY-U{`EM1qRe;*@SqT6RfB6`5jlpUYf;1o3sZ4ik5>e>5iN$RfvIOgc61`6k-E?3_i7Zo;5IkBa5mc6CNuHdPy~HM2Jq+B~(DHrgjwl)d~2&y-bkIpPd}@Ksw>4 z66x^$n9)Up6p2^_X1j8f6_O4v7+#O7IIi}Wg*n^;UqhXWj*q&OC1_8v^ty?4;TnEk z1hd~FI}UfNWY!GL%GlRY3ePmV8$Uk2Nk568CVA>BJS4 zf4N#q>1m6xr~;H2Z}?u&B8dl~ZLPZcW5=vlD)*UMUxkE!8g*Y)2>`Tu z6}O%|5Wwhaak(omS8qN*7cUos>S!%c=~9$kq-i0w+CpqhA}5Qqt^K-CX@9 z2zSi-AuAB+n!z3O{R5IPywDtF(VR z$Poy=E>BHLW?z~sr$W?WLd|AK(G`{}bp4OZUx(uU(_8K>jZTrBOB6+ZeGoLj?A_s6 zRJHKn)NCow0(wJlc9yk{JDjE-ZR9@F-OoBAMMu0M8{aFU8LK01pkd1#6g?Z zfgbY9w|n2$3k7cdiF!w*`2T68wxiIhQe7hj_?n>^A*Mk??5(gQGb^}MjUyzjK?A|z zhd;-yqo~7AouykA^MQys{v{tx|D;ygJ!_>1c0N=bS14Es9zs+3u(&;^s|Qg=QJw#p zEvy*C-)+g{p_d5v4f8M|%io4LJSF1;8@b=g8!aQ#n&eU+$+@mQt(#&$!ir_%g6|@K z$0{mwSAE1(>z$@51n_WvAz7tJ(hs8I*t=u3n_)B;$^SFX{@MSiY~;2-mxdXazwtt0;8TnmlNyBv-U)tDgs z$-H(b(7og3IuUz6ydWCi&1?SJ$&gUy`%+3AqcrH87rOjs!nu-}#FIt4r-{gW6uM>k z>OF8pGouDG?k`0%;{}i*k~Xa4mS5t|v&nEjPwpkWN*+n!uXVGlwDyxLLd9@2Uj6L) z?lFB1%Yq8oU!~+9P!Th#7ap55p2Nyt*tdOPIki5yRaso5L$0LjVO`n)e;ht);}fB6 zg-@mSz>w)Y{zv@42|Fu09XNE4(-lO9`$Vd{vTY}*lEPcV!8@J_a#7F@F`<$t&@&>k zRHDzfP*(T#&eTbAOs|}@W}LkZKCuB9HE_WFI6xI!wT;#o33sMt2;gnM?B?oyKp4OB zT3CzSJ-Eccp0js}1aoi{wxv6N^aTf*Fs>(c;ZfV?X%_usZMW(*IdXiEPSf#;LQ}Ig z8Vpta%}n^84ULeLTzZRgdG2ujLTgZXWw-4&2-in9o(@auBr&9+Xcxb2V$bb-Z87EO zRUvX)Y01-ZZBQ@X;BPonkc*u%V?vuj&}WmJnVu@nMZqM)!!NeprzOlICL9C%NDCCLx%IiiCH>q?@y0;Gh@kp{E+`^SY}>7q2w7Af3+_|89zaWQn>pjw(HKrrK7vuJ$# zf9wdpsCNx7X7uu`WAfWxj&OA|!QFEEV70n#9q@cdbYBqr8|i*{0cUco?5`DOO**f` zBv`>Gi(})>NI8p+d_=u=s%j&dW(}GpTPWZX0-v^BEAK84%T3GScAz^GYKEq8ZHbB) z!|WpLcp|;tYjukIIn}u{O-PpMe%UzK?R(WQXvWQadfXW~>IXR;UD9n>E*_l9v~SVN zXq#&>OBB8s_GkdrjXFyQpHso5p4aweSRg6-IviCTrJB+?D9~G`7=C|_e`^6HT6J=T zMV(a)77LS@AU3MMt`vP+#ciX zoI;DC<1qu@wbPn-5attQvGx+yGzRc`$$^3Nt-FV*99=5@rLBhmfc!s^PS|~coq)?z z_ItMz-mCYdlPi#j>m|7se1HRx^Ec zB2wZsLHrVj7xJBS?PiV{J7I=X5|pG}+YDLPnJ{fCh9qJqKRY=QCx31I_SUI)iBq44 zHC=~rI?;B0bp$$-1MN57IqkvS_Y4~*>}#Q(R_!tn8EZhzNxXti1SUz(v%{$+709~F z!DFkLmBk}F$NDnhG`BCjy4RkYu6&xwU|-u}U9$2}%K;Wi!GZKJj~j!p>D4`PpRZl3 z2}XOcyKOsIA<>Rv7Y;t|Z3Ok3q}{2vu67gtOm;#`D3pP&3mXbr)MrmoRt(>dT_~zB z{ecpi+fF)vq(raR;?Osk-oN^@$T}liU_dnP?Cl##g`G)Bb2n?cZK(#Qq;$XHdTy15 z)8jBS%!qjyx8at`kJg6OD8&R!?F1K591e-kF7u$)OHmEsw8@PLTT7-d1 zc+}7#oJ|{==ms|HH|Hta9JdeqZIc{v3YqJd$j`Btrnij*aIU(m|CN323C!iQg)z9A zdR^CyjeiuAplspc{ zzH}+KdP^ai_I%@!Vjd0Um9taPquXO!rfiNIc1r~8Vtym*V-Q6nqcuA^?2x1S>=aVK z$u!O0BL6&Ta@?NHiM8qE*uAB?cHSAG<~9{fRpR;h)5@vGPTRn&V}3=4e*)ZZ+EF_( zwW?*&f4sT3&o1D=<$_ZBzy<{|^2M!$0x&VP^#;R#a_Qgu{DmJ#MVQ@|jbN$aJ$H)a_ zC$1#8PfA)&I8S~)msSP{Uvr%OHcZH(yVe`#&&z19{rPN7&>F?V9x%T$iuTpQwR(VR z%AIpK!N6Pz4-ao|iSE)68Lx;K)7nB_U{2&2Rhc)i2w0xN5n^=AH^kQIe;MRGcFp2@GyXCPvP*-56W!uS%HcF`~kiH zQRvU*FZ%y4mr~)wE2$6{myfBbsXqZ?<-89c2xdgU#v`2{5LjQ5& zlbh=A{#gQdagFf){L}x}O9_G*|I@8%K!PVsA-5XZPvrwhYWu5Oye7P%DH7YY?*JOOCw5Lw`s+NbMJCXc-t#$TN@_H@_B>%7juD@WB89ui>x`e%EE%Ao z%Pgx~r7{MzM;&KsWAw|-)vh$5A3b@c8O^o^=*r{)vaE2agNo?k0=2X;3N|G`sVs-~ zn%$$(Q;B|jq54iVg z$^=4cpWUpg^tF_;hnJU$$gF#u6Z={l-NomQ)?#~M`-##Dso$X*KdG*4Er>PcwjQ6H zGyxt|i*~wJGXS6;=9lfpUGbrK~J?*N@K=i7d0s$g-Kgl)wRE43< zd-*(C&z}dUcHF1}K7i8j$KDs;D6JZ^1tjRx-4{byM+};=4;Fbgfgymf+!p|d_rFYc zis`ul%AXj8AY19C6%v-^B7C0W|5?DLuU7sxB6jjvOsz{3#f~m*W;l%-8N^%U(wA)Fp1FJ=?^yTs3=w!=< zM?Jvf4UA`>Dhu=~?Ct~Ne}j@qvf1~zj4Izxl$nK((m&N>iYo4y1Oi87R1}7sUS5IMtqA2`evW9nk_ZGlUIjZK#cb&RH6IVQ(BljwmC6RZ4|UhC95HU| zq@C!miB??|W#p9U#Y9)8w*d-);}&fzWMaVEEKu-)-UTmHxLkMd1l`%fjfBQo_fa+F zi)${7uDV>!R8&-Bb~#x1BotoO)x6>UMl;{^|#Q&2(bi#j?glUM+4?DGQ-pS`Ur&)y$jz z;%G9Jv}s`Br>6wpygMcw2khAU8<*L`mb#nsC*U|)@7rS}ny zk;!t_?{IbkSm+Mt`xciq<6~pst@##<{eWdgx(cb&slnpPU+DRZ2||K*6M(ZU0Z#Z1 zAYwEon5Yf{!^)NfLKVyns*Vmi{}qAF#*) zR?IPuDg!f*gc^?x{SAcldC~ar@XOg(OObyE4Ta_wMbzsZ-}x%f&F?QAzkhBut^|h~ z?^BIQVIP43!gh{O^BF+HruYn?_$~AgeGp1{BQ)mK6DPk_flRIW06-8BtdYt(Q;8z0~{dQ4>C?{_B&Zectk_e11^p+;jw8~g~0@NrEmO|QRkku^l8fW zwJQ9$WTRS_Z1H>gEXP^bt8R=gMNoH7Z?+3UGhSnrJUA(jzj5~+1swNT=p*0YRNaV6 z?txZK0I{z8Iu})>F@SH77YELl6PTTyNg#IZ9xX*1oI5SHhb)r{IDyl2)WzgGl4z^| zjc{%t1|Ka;pF#fs1Ds#?{yPu-C$m4f`Tx)5SH9M@T_7RsF`D7U98=l-QN> zn)eeC5)xXU9@{97FW>Hg9r!b%@ppH@oz|gF+GhB34MKb zwkD16YB`EruW_Ska7V5^!;q{B7S%yB(GM=F+b>CV~C4+Abm9*Mgv zB7roVObo;d9Gr)baakCI0X!(aKc=$|%RHqyKkAa!Uu3D$xwAb=FK<&;kKw>zFgZ4Y z%0v|0d1-)R!2Yc(AR4OiTDE^o=`xfxLs9yCUBiQC`0{MXMktK4|gWGS;I2TW}hb z>7I&T94)P<&7T!)SH#RWH8iAM$%f4W^WlXs&K36fl~}hBNECk-a$9eSdj5#ue3?}` z`)bx!1M5dfg=vJjdp*vre%U$T)a0c6@`T6dcqM6lHO;v|hCb^A&?56b0q#IG;9@O6 zou~0vU~K+iz{M`aQdFy~VO#uU4z#LOHCe#-joqUxL5-zuQE(R>Ks|-zbXZwLt$g<+QA;`5pAI@1;`>h_( zS@7rw7XNWX4RDOjj5B~cxU*9M$PU}uD}b&>F&{84h+-n1roC7@tEbu?l$>aq$o-8; zlWfgy@mIgHoQl*nG@_@ai3*A(%3lHzrg-}^xQBFO&Ua^AD2>{ww)HB*y7#XF80!m= z!bA zD5#1#u`h2@IDT!8RE>z!kTObAOpj&%>|Qi;T`aPysmW~8VR^q>brt{?KD_uYcRuw1%tftuGWkKY*x*Yj`oAMXd*9lZifSKttyE&o(9`yAO z)J|E$!&)B3OPS|WnMG1DACX~-Io&yF4#FiW%wT+#8_z+U1{Ls|p>ncG%BF5T%y!p4 zULn&A?^Vi#_l#UJ{7;^gx=ktMjbGtC2Fdfi(c;0U2WIRc!0p>ncVCSj62;^Ho5(|Q zD)VAJ6O;J6+hMfcV=EbuBFxhtu5`_=m9WK#oe6Za`4U zW_=_dQl$M_egW)C3fNI~j4%hA(Eyzs+$D8xWkB)#9Xe1miOtM@ppRyji7E7&_)@=@hRT*EyO3WWe z8NZfW)+48OWfb|6Xe4*sbcaSXOFx6G`KW`ZIDrpBLVkQM=L2x;bMI$}b=$`T>2ufr zWcaTY|Kff32h$y9H^xI#UqIq6!KNE~KA>vAyuZJ{2S9=Zb?I|=@udiXG3}GP0K=d$ zpVmhsVcR78W`J;C9;k~QT?v%cv*Y!cb{cl1YVul2;YayAeoAIH*63A^2Z37cs`jW~ z4C9RN?!lh1bccOp@a8{d74X3Nu!fz{Vo&4>mxX{+!{d83<$h|1)7RfU-Iww^MbGP3 z*)r6A>yo~3t#NO;IjzK+p0}*0U++Fx+T+`Bm0wSRsykWo2%JD-24oVPH#fZ3B<73A zp(G^0BIot}in_S_1f1>T!E`eeDzv*%3F2yy{lKoyPubMjWgJ1 Uq- 0 + \end{cases} + + +See this `link `_ for more details. + +This EAC factor, :math:`F_{a}`, is then applied to the asset's CAPEX to calculate the EAC of the initial investment or installation cost, as follows: + +.. math:: + :label: eq:capex_eac + + Cost^{a}_{CAPEX_{EAC}} = (Cost^{a}_{investment} + Cost^{a}_{installation}) * F_{a} + +Therefore, the discounted total cost becomes: + +.. math:: + :label: eq:total_eac + + Cost_{total_{EAC}} = \sum_{a} (Cost^{a}_{CAPEX_{EAC}} + Cost^{a}_{OPEX}) + +Note that the annual discount rate is a real number between 0 and 1. For instance, a discount rate of 5% should be specified as 0.05. +The technical life is a real number greater than 0. Both the discount rate and the technical life of assets can significantly affect the EAC of an asset, as shown below, where the inverse :math:`F_{a}` factor is plotted. + +.. figure:: ../images/Discount_factor.png + :figwidth: 6.94792in + :align: center + + Inverse Equivalent Annual Cost factor ( :math:`F_a^{-1}` ) versus discount rate ( `r` ) for different technical life values. diff --git a/docs/theory/philosophy.rst b/docs/theory/philosophy.rst index 384f77a8a..f3515390f 100644 --- a/docs/theory/philosophy.rst +++ b/docs/theory/philosophy.rst @@ -11,7 +11,7 @@ Nevertheless, in practice it is seen that the decisions made in these early phas Later design phases can therefore be limited by decisions made during the initial feasibility phases. Good trade-offs take into account the interaction between assets, but also trade-offs between design and operational strategy are key in reducing the overall system cost. -MESIDO applies a Mixed Integer Linear Problem (MILP) formulation to adress these challenges. The main reasons are: +MESIDO applies a Mixed Integer Linear Problem (MILP) formulation to address these challenges. The main reasons are: * In the early phases of designing an energy system, decision makers are typically not looking for high accuracy physical insight, but rather for directions in investment choices. Hence MILP approximation methods that are conservative and feasible, whilst staying within accuracy bounds of the available input data, will suffice. This allows the decision makers to make plans in this early phase with lower financial risk, as these plans will become more detailed over time. * Part of the decisions for designing an energy system have an integer nature, e.g. placing a source or options for a pipe size. These design choices cannot be modelled with continuous formulation in a representative manner. diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 2044bf01a..7f44c8071 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -424,14 +424,14 @@ class EndScenarioSizingHIGHS(EndScenarioSizing): class EndScenarioSizingDiscounted(EndScenarioSizing): """ - The discounted annualized is utilised as the objective function. - The change of the objective function is done by changing the option 'discounted_annulized_cost' + The Discounted Annualized Cost is used as the objective function. + Changing the objective function is done by setting the 'discounted_annualized_cost' option to True Goal priorities are: 1. Match heat demand with target - 2. minimize TCO = Anualized capex (function of technical lifetime of individual assets) + - Opex*timehorizon + 2. Minimize annualized TCO = discounted annualized CAPEX (function of technical lifetime + of each asset) + annual OPEX. """ def energy_system_options(self): From ff73a169036e0a1a6323373f4e067250fffc1803 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 24 Mar 2025 08:55:33 +0100 Subject: [PATCH 260/376] State info assets (#256) Added states to all asset parameters and started automatic documentation on the modifiers created by esdl_heat_model. --- docs/conf.py | 2 +- docs/dev_docs/esdl_conversion.rst | 13 + docs/dev_docs/index.rst | 1 + docs/dev_docs/physics_mixins.rst | 1 - docs/support.rst | 1 + src/mesido/asset_sizing_mixin.py | 34 +- src/mesido/esdl/esdl_heat_model.py | 1606 ++++++++++++++-------------- src/mesido/esdl/esdl_model_base.py | 12 +- 8 files changed, 857 insertions(+), 813 deletions(-) create mode 100644 docs/dev_docs/esdl_conversion.rst diff --git a/docs/conf.py b/docs/conf.py index 66116b525..8f76bc2a8 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -104,7 +104,7 @@ # Toc options 'collapse_navigation': False, 'sticky_navigation': False, - 'navigation_depth': 3, + 'navigation_depth': 4, 'includehidden': False, 'titles_only': False } diff --git a/docs/dev_docs/esdl_conversion.rst b/docs/dev_docs/esdl_conversion.rst new file mode 100644 index 000000000..dc3810d52 --- /dev/null +++ b/docs/dev_docs/esdl_conversion.rst @@ -0,0 +1,13 @@ +ESDL to MESDIO conversion +========================= + +This section shows all the convert functions available to translate an ESDL asset to an asset in MESIDO. These convert +functions take the attributes from the ESDL asset, optionally do some calculations with them, after which they are +provided as modifiers to the MESIDO asset in the component library. + +.. automodule:: mesido.esdl.esdl_model_base + :members: + :private-members: + +.. automodule:: mesido.esdl.esdl_heat_model + :members: \ No newline at end of file diff --git a/docs/dev_docs/index.rst b/docs/dev_docs/index.rst index aa45b1617..9822616a5 100644 --- a/docs/dev_docs/index.rst +++ b/docs/dev_docs/index.rst @@ -7,5 +7,6 @@ Developers documentation :caption: Contents: component_library_milp + esdl_conversion physics_mixins workflows \ No newline at end of file diff --git a/docs/dev_docs/physics_mixins.rst b/docs/dev_docs/physics_mixins.rst index 36c666da6..3e21e3f55 100644 --- a/docs/dev_docs/physics_mixins.rst +++ b/docs/dev_docs/physics_mixins.rst @@ -1,4 +1,3 @@ - Physcis Modelling ================= diff --git a/docs/support.rst b/docs/support.rst index 476fc3639..e0e041e57 100644 --- a/docs/support.rst +++ b/docs/support.rst @@ -3,3 +3,4 @@ Support ####### Raise any issue on `Github `_ such that we can address your problem. + diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 8b9a0b60a..14abd9c0d 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -7,6 +7,7 @@ from mesido.base_component_type_mixin import BaseComponentTypeMixin from mesido.demand_insulation_class import DemandInsulationClass from mesido.head_loss_class import HeadLossOption +from mesido.network_common import NetworkSettings from mesido.pipe_class import CableClass, GasPipeClass, PipeClass import numpy as np @@ -1841,7 +1842,11 @@ def __max_size_constraints(self, ensemble_member): constraints = [] bounds = self.bounds() + energy_system_component_types = list(self.energy_system_components.keys()) + + max_var_types = set() for b in self.energy_system_components.get("heat_buffer", []): + max_var_types.add("heat_buffer") max_var = self._asset_max_size_map[b] max_heat = self.extra_variable(max_var, ensemble_member) stored_heat = self.__state_vector_scaled(f"{b}.Stored_heat", ensemble_member) @@ -1857,6 +1862,7 @@ def __max_size_constraints(self, ensemble_member): # Same as for the buffer but now for the source for s in self.energy_system_components.get("heat_source", []): + max_var_types.add("heat_source") max_var = self._asset_max_size_map[s] max_heat = self.extra_variable(max_var, ensemble_member) heat_source = self.__state_vector_scaled(f"{s}.Heat_source", ensemble_member) @@ -1886,6 +1892,7 @@ def __max_size_constraints(self, ensemble_member): *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), ]: + max_var_types.update(["heat_pump", "heat_exchanger"]) max_var = self._asset_max_size_map[hx] max_heat = self.extra_variable(max_var, ensemble_member) heat_secondary = self.__state_vector_scaled(f"{hx}.Secondary_heat", ensemble_member) @@ -1900,6 +1907,7 @@ def __max_size_constraints(self, ensemble_member): ) for d in self.energy_system_components.get("heat_demand", []): + max_var_types.add("heat_demand") max_var = self._asset_max_size_map[d] max_heat = self.extra_variable(max_var, ensemble_member) heat_demand = self.__state_vector_scaled(f"{d}.Heat_demand", ensemble_member) @@ -1918,6 +1926,7 @@ def __max_size_constraints(self, ensemble_member): *self.energy_system_components.get("ates", []), *self.energy_system_components.get("low_temperature_ates", []), ]: + max_var_types.update(["ates", "low_temperature_ates"]) max_var = self._asset_max_size_map[a] max_heat = self.extra_variable(max_var, ensemble_member) if a in self.energy_system_components.get("ates", []): @@ -1945,6 +1954,7 @@ def __max_size_constraints(self, ensemble_member): ) for d in self.energy_system_components.get("electricity_demand", []): + max_var_types.add("electricity_demand") max_var = self._asset_max_size_map[d] max_power = self.extra_variable(max_var, ensemble_member) electricity_demand = self.__state_vector_scaled( @@ -1962,6 +1972,7 @@ def __max_size_constraints(self, ensemble_member): ) for d in self.energy_system_components.get("electricity_source", []): + max_var_types.add("electricity_source") max_var = self._asset_max_size_map[d] max_power = self.extra_variable(max_var, ensemble_member) electricity_source = self.__state_vector_scaled( @@ -1979,6 +1990,7 @@ def __max_size_constraints(self, ensemble_member): ) for d in self.energy_system_components.get("electricity_storage", []): + max_var_types.add("electricity_storage") max_var = self._asset_max_size_map[d] max_stored_energy = self.extra_variable(max_var, ensemble_member) electricity_stored = self.__state_vector_scaled( @@ -1996,6 +2008,7 @@ def __max_size_constraints(self, ensemble_member): ) for d in self.energy_system_components.get("electrolyzer", []): + max_var_types.add("electrolyzer") max_var = self._asset_max_size_map[d] max_power = self.extra_variable(max_var, ensemble_member) electricity_electrolyzer = self.__state_vector_scaled( @@ -2013,6 +2026,7 @@ def __max_size_constraints(self, ensemble_member): ) for d in self.energy_system_components.get("gas_tank_storage", []): + max_var_types.add("gas_tank_storage") max_var = self._asset_max_size_map[d] max_size = self.extra_variable(max_var, ensemble_member) gas_mass = self.__state_vector_scaled(f"{d}.Stored_gas_mass", ensemble_member) @@ -2026,6 +2040,15 @@ def __max_size_constraints(self, ensemble_member): ) ) + max_var_assets_not_included = [ + a for a in energy_system_component_types if a not in max_var_types + ] + if len(max_var_assets_not_included) >= 0: + logger.warning( + f"The following asset types are not included in the maximum sizing " + f"constraints {max_var_assets_not_included}" + ) + return constraints def __add_optional_asset_path_constraints( @@ -2105,11 +2128,20 @@ def __optional_asset_path_constraints(self, ensemble_member): # TODO: can we generalize to all possible components to avoid having to skip # joints and other components in the future? continue - else: + elif ( + self.energy_system_components_commodity.get(asset_name) + == NetworkSettings.NETWORK_TYPE_HEAT + ): state_var = self.state(f"{asset_name}.Heat_flow") single_power = bounds[f"{asset_name}.Heat_flow"][1] nominal_value = single_power nominal_var = self.variable_nominal(f"{asset_name}.Heat_flow") + else: + logger.warning( + f"{asset_name} is not yet included in the optional asset path " + f"constraints" + ) + continue constraints = self.__add_optional_asset_path_constraints( constraints, asset_name, nominal_value, nominal_var, single_power, state_var diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index bd60d9dc7..b7f65b3b5 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1,3 +1,5 @@ +import ast +import inspect import logging import math from typing import Dict, Tuple, Type, Union @@ -61,10 +63,72 @@ class _ESDLInputException(Exception): pass +def docs_esdl_modifiers(class__): + modifiers_dict = {} + input_dict = {} + + def extract_asset_info(bod): + if isinstance(bod.value, ast.Subscript): + if isinstance(bod.value.value, ast.Attribute): + if ( + bod.value.value.attr == "attributes" + and bod.value.value.value.id == "asset" + and isinstance(bod.targets[0], ast.Name) + ): + input_dict[node.name][ + bod.targets[0].id + ] = f"{bod.targets[0].id}: asset.attributes[{bod.value.slice.value}]" + + ast_of_init: ast.Module = ast.parse(inspect.getsource(class__)) + for node in ast.walk(ast_of_init): + if isinstance(node, ast.FunctionDef) and "convert_" in node.name: + modifiers_dict[node.name] = [] + input_dict[node.name] = {} + for bod in node.body: + if isinstance(bod, ast.Assign): + if isinstance(bod.targets[0], ast.Name) and bod.targets[0].id == "modifiers": + for key in bod.value.keywords: + if isinstance(key.arg, str): + modifiers_dict[node.name].append(key.arg) + elif ( + key.arg is None + and isinstance(key.value, ast.Call) + and isinstance(key.value.func, ast.Attribute) + ): + modifiers_dict[node.name].append(key.value.func.attr) + else: + extract_asset_info(bod) + + func = getattr(class__, node.name) + if len(modifiers_dict[node.name]) > 0: + line_with_hook = next( + ( + line + for line in func.__doc__.splitlines() + if "{" "automatically_add_modifiers_here}" in line + ), + None, + ) + if line_with_hook is None: + indent = "" + else: + format_modifiers_dict = [f"* {mod}" for mod in modifiers_dict[node.name]] + (indent, _) = line_with_hook.split("{automatically_add_modifiers_here}") + func.__doc__ = func.__doc__.replace( + "{automatically_add_modifiers_here}", + f"\n{indent}".join(format_modifiers_dict), + ) + + # TODO: the input dictionary is still needed in the documentation + return class__ + + +@docs_esdl_modifiers class AssetToHeatComponent(_AssetToComponentBase): """ This class is used for the converting logic from the esdl assets with their properties to pycml objects and set their respective properties. + """ def __init__( @@ -96,9 +160,8 @@ def _rho_cp_modifiers(self) -> Dict: """ For giving the density, rho, in kg/m3 and specic milp, cp, in J/(K*kg) - Returns - ------- - rho and cp + Returns: + rho and cp """ return dict(rho=self.rho, cp=self.cp) @@ -112,6 +175,7 @@ def get_asset_attribute_value( ) -> float: """ Get the value of the specified attribute for the given asset. + Args: asset: The asset to retrieve the attribute value for. attribute_name: The name of the attribute to retrieve. @@ -180,47 +244,45 @@ def convert_heat_buffer(self, asset: Asset) -> Tuple[Type[HeatBuffer], MODIFIERS This function converts the buffer object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the dimensions of the buffer needed for milp loss computation. Currently, assume - cylinder with height equal to radius. - - setting a minimum fill level and minimum asscociated milp - - Setting a maximum stored energy based on the size. - - Setting a cap on the thermal power. - - Setting the state (enabled, disabled, optional) - - Setting the relevant temperatures. - - Setting the relevant cost figures. + - Setting the dimensions of the buffer needed for heat loss computation. Currently, + assume cylinder with height equal to radius. + - setting a minimum fill level and minimum asscociated milp + - Setting a maximum stored energy based on the size. + - Setting a cap on the thermal power. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. Required ESDL fields: - --------------------- - - volume/capacity - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - volume/capacity + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with temperature specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified Optional ESDL fields: - --------------------- - - max(Dis)ChargeRate - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - Buffer class with modifiers + - max(Dis)ChargeRate + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + + Parameters: + asset : The asset object with its properties. + + Returns: + Buffer class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type == "HeatStorage" @@ -319,42 +381,39 @@ def convert_heat_demand(self, asset: Asset) -> Tuple[Type[HeatDemand], MODIFIERS This function converts the demand object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting a cap on the thermal power. - - Setting the state (enabled, disabled, optional) - - Setting the relevant temperatures. - - Setting the relevant cost figures. + - Setting a cap on the thermal power. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. Required ESDL fields: - --------------------- - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with temperature specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified Optional ESDL fields: - --------------------- - - power - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - Demand class with modifiers + - power + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + Demand class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"GenericConsumer", "HeatingDemand", "Losses"} @@ -381,18 +440,17 @@ def convert_airco(self, asset: Asset) -> Tuple[Type[Airco], MODIFIERS]: This function converts the airco object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting a cap on the thermal power. - - Setting the state (enabled, disabled, optional) - - Setting the relevant temperatures. - - Setting the relevant cost figures. + - Setting a cap on the thermal power. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. - Parameters - ---------- - asset : The asset object with its properties. + Parameters: + asset : The asset object with its properties. - Returns - ------- - Demand class with modifiers + Returns: + Demand class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"Airco"} @@ -418,16 +476,16 @@ def convert_cold_demand(self, asset: Asset) -> Tuple[Type[ColdDemand], MODIFIERS """ This function converts the demand object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting a cap on the thermal power. - - Setting the state (enabled, disabled, optional) - - Setting the relevant temperatures. - - Setting the relevant cost figures. - Parameters - ---------- - asset : The asset object with its properties. - Returns - ------- - Demand class with modifiers + - Setting a cap on the thermal power. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. + + Parameters: + asset : The asset object with its properties. + Returns: + Demand class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"CoolingDemand"} @@ -457,35 +515,32 @@ def convert_node(self, asset: Asset) -> Tuple[Type[Node], MODIFIERS]: - Setting the amount of connections Required ESDL fields: - --------------------- - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with (note only one inport and one outport): + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo (allowed to have multiple connections) - - carrier with temperature specified + - State + - InPort and OutPort with (note only one inport and one outport): + - xsi:type + - id + - name + - connectedTo (allowed to have multiple connections) + - carrier with temperature specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - Node class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + Node class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type == "Joint" @@ -516,9 +571,6 @@ def convert_node(self, asset: Asset) -> Tuple[Type[Node], MODIFIERS]: if isinstance(asset.in_ports[0].carrier, esdl.esdl.GasCommodity) or isinstance( asset.out_ports[0].carrier, esdl.esdl.GasCommodity ): - modifiers = dict( - n=sum_in + sum_out, - ) return GasNode, modifiers return Node, modifiers @@ -552,44 +604,41 @@ def convert_gas_pipe( This function converts the pipe object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the dimensions of the pipe needed for head loss computation. - - setting if a pipe is disconnecteable for the optimization. - - Setting the state (enabled, disabled, optional) - - Setting the relevant pressure. - - Setting the relevant cost figures. + - Setting the dimensions of the pipe needed for head loss computation. + - setting if a pipe is disconnecteable for the optimization. + - Setting the state (enabled, disabled, optional) + - Setting the relevant pressure. + - Setting the relevant cost figures. Required ESDL fields: - --------------------- - - Diameter/inner_diameter [m] - - length [m] - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with (note only one inport and one outport): + - Diameter/inner_diameter [m] + - length [m] + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with temperature specified + - State + - InPort and OutPort with (note only one inport and one outport): + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost - Parameters - ---------- - asset : The asset object with its properties. + Parameters: + asset : The asset object with its properties. - Returns - ------- - Pipe class with modifiers + Returns: + Pipe class with modifiers: + {automatically_add_modifiers_here} """ length = asset.attributes["length"] @@ -638,48 +687,45 @@ def convert_heat_pipe( This function converts the pipe object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the dimensions of the pipe needed for milp loss computation. Currently, assume - cylinder with height equal to radius. - - setting if a pipe is disconnecteable for the optimization. - - Setting the isolative properties of the pipe. - - Setting a cap on the thermal power. - - Setting the state (enabled, disabled, optional) - - Setting the relevant temperatures. - - Setting the relevant cost figures. + - Setting the dimensions of the pipe needed for milp loss computation. Currently, + assume cylinder with height equal to radius. + - setting if a pipe is disconnecteable for the optimization. + - Setting the isolative properties of the pipe. + - Setting a cap on the thermal power. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. Required ESDL fields: - --------------------- - - Diameter/inner_diameter [m] - - length [m] - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with (note only one inport and one outport): + - Diameter/inner_diameter [m] + - length [m] + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with temperature specified + - State + - InPort and OutPort with (note only one inport and one outport): + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified Optional ESDL fields: - --------------------- - - Material (for insulation) - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - Pipe class with modifiers + - Material (for insulation) + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + Pipe class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type == "Pipe" @@ -760,40 +806,37 @@ def convert_pump(self, asset: Asset) -> Tuple[Type[Pump], MODIFIERS]: This function converts the pump object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the state (enabled, disabled, optional) - - Setting the relevant temperatures. - - Setting the relevant cost figures. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. Required ESDL fields: - --------------------- - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with (note only one inport and one outport): + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with temperature specified + - State + - InPort and OutPort with (note only one inport and one outport): + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - Pump class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + Pump class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type == "Pump" @@ -827,13 +870,11 @@ def convert_generic_conversion( This function determines the type to which the generic conversion should be changed, based on the connected commodities and calls the required conversion function. - Parameters - ---------- - asset: The asset object with its properties. + Parameters: + asset: The asset object with its properties. - Returns - ------- - Transformer class or HeatExchanger class with modifiers + Returns: + Transformer class or HeatExchanger class """ assert asset.asset_type in { @@ -863,44 +904,41 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD This function converts the Heat Exchanger object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the thermal power transfer efficiency. - - Setting a caps on the thermal power on both the primary and secondary side. - - Setting the state (enabled, disabled, optional) - - Setting the relevant temperatures (also checked for making sense physically). - - Setting the relevant cost figures. + - Setting the thermal power transfer efficiency. + - Setting a caps on the thermal power on both the primary and secondary side. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures (also checked for making sense physically). + - Setting the relevant cost figures. Required ESDL fields: - --------------------- - - heatTransferCoefficient/power - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - 2 InPorts and 2 OutPorts with: + - heatTransferCoefficient/power + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with temperature specified + - State + - 2 InPorts and 2 OutPorts with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified Optional ESDL fields: - --------------------- - - efficiency - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - HeatExchanger class with modifiers + - efficiency + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + HeatExchanger class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in { "GenericConversion", @@ -1022,46 +1060,43 @@ def convert_heat_pump( This function converts the HeatPump object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the COP of the heatpump - - Setting the cap on the electrical power. - - Setting a caps on the thermal power on both the primary and secondary side. - - Setting the state (enabled, disabled, optional) - - Setting the relevant temperatures. - - Setting the relevant cost figures. + - Setting the COP of the heatpump + - Setting the cap on the electrical power. + - Setting a caps on the thermal power on both the primary and secondary side. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. Required ESDL fields: - --------------------- - - power - - COP - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - 2 InPorts and 2 OutPorts with: + - power + - COP + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with temperature specified + - State + - 2 InPorts and 2 OutPorts with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified Optional ESDL fields: - --------------------- - - efficiency - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - HeatPump class with modifiers + - efficiency + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + HeatPump class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in { "HeatPump", @@ -1137,47 +1172,44 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS This function converts the Source object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the CO2 emission coefficient in case this is specified as an KPI - - Setting a caps on the thermal power. - - In case of a GeothermalSource object we read the _aggregation count to model the number - of doublets, we then assume that the power specified was also for one doublet and thus - increase the thermal power caps. - - Setting the state (enabled, disabled, optional) - - Setting the relevant temperatures. - - Setting the relevant cost figures. + - Setting the CO2 emission coefficient in case this is specified as an KPI + - Setting a caps on the thermal power. + - In case of a GeothermalSource object we read the _aggregation count to model the + number of doublets, we then assume that the power specified was also for one doublet + and thus increase the thermal power caps. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. Required ESDL fields: - --------------------- - - power - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - power + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with temperature specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified Optional ESDL fields: - --------------------- - - aggregationCount - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - Source class with modifiers + - aggregationCount + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + Source class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in { "GasHeater", @@ -1256,50 +1288,47 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: This function converts the ATES object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the milp loss coefficient based upon the efficiency. Here we assume that this - efficiency is realized in 100 days. - - Setting a caps on the thermal power. - - Similar as for the geothermal source we use the aggregation count to model the amount - of doublets. - - Setting caps on the maximum stored energy where we assume that at maximum you can charge - for 180 days at full power. - - Setting the state (enabled, disabled, optional) - - Setting the relevant temperatures. - - Setting the relevant cost figures. + - Setting the milp loss coefficient based upon the efficiency. Here we assume that this + efficiency is realized in 100 days. + - Setting a caps on the thermal power. + - Similar as for the geothermal source we use the aggregation count to model the amount + of doublets. + - Setting caps on the maximum stored energy where we assume that at maximum you can + charge for 180 days at full power. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. Required ESDL fields: - --------------------- - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with temperature specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified Optional ESDL fields: - --------------------- - - max(Dis)ChargeRate - - aquiferMidTemperature - - aggregationCount - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - ATES class with modifiers + - max(Dis)ChargeRate + - aquiferMidTemperature + - aggregationCount + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + ATES class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in { "ATES", @@ -1404,40 +1433,37 @@ def convert_control_valve(self, asset: Asset) -> Tuple[Type[ControlValve], MODIF This function converts the ControlValve object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the state (enabled, disabled, optional) - - Setting the relevant temperatures. - - Setting the relevant cost figures. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. Required ESDL fields: - --------------------- - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with temperature specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - ControlValve class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + ControlValve class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type == "Valve" @@ -1469,40 +1495,37 @@ def convert_check_valve(self, asset: Asset) -> Tuple[Type[CheckValve], MODIFIERS This function converts the CheckValve object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the state (enabled, disabled, optional) - - Setting the relevant temperatures. - - Setting the relevant cost figures. + - Setting the state (enabled, disabled, optional) + - Setting the relevant temperatures. + - Setting the relevant cost figures. Required ESDL fields: - --------------------- - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with temperature specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with temperature specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - CheckValve class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + CheckValve class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type == "CheckValve" @@ -1524,39 +1547,36 @@ def convert_electricity_demand(self, asset: Asset) -> Tuple[Type[ElectricityDema This function converts the ElectricityDemand object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the electrical power caps + - Setting the electrical power caps Required ESDL fields: - --------------------- - - power - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - power + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with voltage specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with voltage specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - ElectricityDemand class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + ElectricityDemand class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"ElectricityDemand", "Export"} @@ -1578,6 +1598,7 @@ def convert_electricity_demand(self, asset: Asset) -> Tuple[Type[ElectricityDema I=dict(min=0.0, max=i_max, nominal=i_nom), V=dict(min=min_voltage, nominal=min_voltage), ), + state=self.get_state(asset), **self._get_cost_figure_modifiers(asset), ) @@ -1622,39 +1643,36 @@ def convert_electricity_source(self, asset: Asset) -> Tuple[Type[ElectricitySour This function converts the ElectricitySource object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the electrical power caps + - Setting the electrical power caps Required ESDL fields: - --------------------- - - power - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - power + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with voltage specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with voltage specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - ElectricitySource class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + ElectricitySource class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in { "ElectricityProducer", @@ -1678,6 +1696,7 @@ def convert_electricity_source(self, asset: Asset) -> Tuple[Type[ElectricitySour I=dict(min=0.0, max=i_max, nominal=i_nom), Power=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), ), + state=self.get_state(asset), **self._get_cost_figure_modifiers(asset), ) @@ -1697,13 +1716,12 @@ def convert_electricity_storage( - Setting the electrical power caps - Parameters - ---------- - asset : The asset object with its properties. + Parameters: + asset : The asset object with its properties. - Returns - ------- - ElectricityStorage class with modifiers + Returns: + ElectricityStorage class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"Battery"} @@ -1729,6 +1747,7 @@ def convert_electricity_storage( Effective_power_charging=dict( min=-max_discharge, max=max_charge, nominal=max_charge / 2.0 ), + state=self.get_state(asset), **self._get_cost_figure_modifiers(asset), ) @@ -1739,38 +1758,35 @@ def convert_electricity_node(self, asset: Asset) -> Tuple[Type[ElectricityNode], This function converts the ElectricityNode object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the number of connections + - Setting the number of connections Required ESDL fields: - --------------------- - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo (allowed to have multiple connections) - - carrier with voltage specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo (allowed to have multiple connections) + - carrier with voltage specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - ElectricityNode class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + ElectricityNode class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"Bus"} @@ -1792,7 +1808,11 @@ def convert_electricity_node(self, asset: Asset) -> Tuple[Type[ElectricityNode], if isinstance(x, esdl.esdl.OutPort): sum_out += len(x.connectedTo) - modifiers = dict(voltage_nominal=nominal_voltage, n=sum_in + sum_out) + modifiers = dict( + voltage_nominal=nominal_voltage, + n=sum_in + sum_out, + state=self.get_state(asset), + ) return ElectricityNode, modifiers @@ -1801,41 +1821,38 @@ def convert_electricity_cable(self, asset: Asset) -> Tuple[Type[ElectricityCable This function converts the ElectricityCable object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the length of the cable used for power loss computation. - - setting the min and max current. + - Setting the length of the cable used for power loss computation. + - setting the min and max current. Required ESDL fields: - --------------------- - - length - - capacity - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - length + - capacity + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with voltage specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with voltage specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - ElectricityCable class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + ElectricityCable class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"ElectricityCable"} @@ -1873,6 +1890,7 @@ def convert_electricity_cable(self, asset: Asset) -> Tuple[Type[ElectricityCable I=dict(min=min_current, max=max_current, nominal=max_current / 2.0), Power=dict(min=min_power, max=max_power, nominal=max_power / 2.0), ), + state=self.get_state(asset), **self._get_cost_figure_modifiers(asset), ) return ElectricityCable, modifiers @@ -1882,16 +1900,15 @@ def convert_transformer(self, asset: Asset) -> Tuple[Type[Transformer], MODIFIER This function converts the Transformer object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - Setting the length of the cable used for power loss computation. - - setting the min and max current. + - Setting the length of the cable used for power loss computation. + - setting the min and max current. - Parameters - ---------- - asset : The asset object with its properties. + Parameters: + asset : The asset object with its properties. - Returns - ------- - ElectricityCable class with modifiers + Returns: + ElectricityCable class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"Transformer", "GenericConversion"} self._get_connected_i_nominal_and_max(asset) @@ -1913,6 +1930,7 @@ def convert_transformer(self, asset: Asset) -> Tuple[Type[Transformer], MODIFIER I=dict(min=0.0, max=i_max_out, nominal=i_nom_out), Power=dict(min=0.0, max=max_power, nominal=max_power / 2.0), ), + state=self.get_state(asset), **self._get_cost_figure_modifiers(asset), ) return Transformer, modifiers @@ -1922,38 +1940,38 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: This function converts the GasDemand object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - ... + - Setting a cap on the mass flow produced. + - Setting the state (enabled, disabled, optional) + - Setting the relevant cost figures. + Required ESDL fields: - --------------------- - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with pressure specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with pressure specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - GasDemand class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + GasDemand class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"GasDemand", "Export"} @@ -1987,6 +2005,7 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: mass_flow=dict(nominal=mass_flow_nominal_g_per_s, max=max_mass_flow_g_per_s), Hydraulic_power=dict(min=0.0, max=0.0, nominal=q_nominal * pressure), ), + state=self.get_state(asset), **self._get_cost_figure_modifiers(asset), ) @@ -1997,38 +2016,37 @@ def convert_gas_source(self, asset: Asset) -> Tuple[Type[GasSource], MODIFIERS]: This function converts the GasDemand object in esdl to a set of modifiers that can be used in a pycml object. Most important: - - ... + - Setting a cap on the mass flow produced. + - Setting the state (enabled, disabled, optional) + - Setting the relevant cost figures. Required ESDL fields: - --------------------- - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with pressure specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with pressure specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - GasDemand class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + GasDemand class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"GasProducer", "Import"} @@ -2055,6 +2073,7 @@ def convert_gas_source(self, asset: Asset) -> Tuple[Type[GasSource], MODIFIERS]: mass_flow=bounds_nominals_mass_flow_g_per_s, Hydraulic_power=dict(nominal=q_nominal * pressure), ), + state=self.get_state(asset), **self._get_cost_figure_modifiers(asset), ) @@ -2066,42 +2085,39 @@ def convert_electrolyzer(self, asset: Asset) -> Tuple[Type[Electrolyzer], MODIFI used in a pycml object. Required ESDL fields: - --------------------- - - power - - minLoad - - maxLoad - - effMinLoad - - effMaxLoad - - efficiency - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - power + - minLoad + - maxLoad + - effMinLoad + - effMaxLoad + - efficiency + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with voltage/pressure specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with voltage/pressure specified Optional ESDL fields: - --------------------- - - technicalLifetime - - powerFactor - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - Electrolyzer class with modifiers + - technicalLifetime + - powerFactor + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + Electrolyzer class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"Electrolyzer"} @@ -2168,6 +2184,7 @@ def equations(x): I=dict(min=0.0, max=i_max, nominal=i_nom), V=dict(min=v_min, nominal=v_min), ), + state=self.get_state(asset), **self._get_cost_figure_modifiers(asset), ) @@ -2179,36 +2196,33 @@ def convert_gas_tank_storage(self, asset: Asset) -> Tuple[Type[GasTankStorage], used in a pycml object. Required ESDL fields: - --------------------- - - workingVolume - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - workingVolume + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with pressure specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with pressure specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - GasTankStorage class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + GasTankStorage class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"GasStorage"} @@ -2235,6 +2249,7 @@ def convert_gas_tank_storage(self, asset: Asset) -> Tuple[Type[GasTankStorage], mass_flow=dict(nominal=q_nominal * density), Hydraulic_power=dict(nominal=q_nominal * pressure), ), + state=self.get_state(asset), **self._get_cost_figure_modifiers(asset), ) @@ -2246,35 +2261,32 @@ def convert_gas_substation(self, asset: Asset) -> Tuple[Type[GasSubstation], MOD can be used in a pycml object. Required ESDL fields: - --------------------- - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with pressure specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with pressure specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - GasSubstation class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + GasSubstation class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"GasConversion", "PressureReducingValve"} @@ -2301,6 +2313,7 @@ def convert_gas_substation(self, asset: Asset) -> Tuple[Type[GasSubstation], MOD mass_flow=dict(nominal=q_nom_out * density_out), Hydraulic_power=dict(nominal=q_nom_out * pressure_out), ), + state=self.get_state(asset), **self._get_cost_figure_modifiers(asset), ) @@ -2312,35 +2325,32 @@ def convert_compressor(self, asset: Asset) -> Tuple[Type[Compressor], MODIFIERS] used in a pycml object. Required ESDL fields: - --------------------- - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with pressure specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with pressure specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - Compressor class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + Compressor class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"Compressor"} @@ -2367,6 +2377,7 @@ def convert_compressor(self, asset: Asset) -> Tuple[Type[Compressor], MODIFIERS] mass_flow=dict(nominal=q_nom_out * density_out), Hydraulic_power=dict(nominal=q_nom_out * pressure_out), ), + state=self.get_state(asset), **self._get_cost_figure_modifiers(asset), ) @@ -2378,36 +2389,33 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: used in a pycml object. Required ESDL fields: - --------------------- - - power - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - power + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with pressure/temperature specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with pressure/temperature specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - GasBoiler class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + GasBoiler class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"GasHeater"} @@ -2445,7 +2453,6 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: discount_rate=self.get_asset_attribute_value( asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 ), - state=self.get_state(asset), Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), Heat_flow=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), HeatIn=dict(Hydraulic_power=dict(nominal=q_nominals["Q_nominal"] * 16.0e5)), @@ -2454,6 +2461,7 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: density=density, energy_content=energy_content, GasIn=dict(Q=dict(min=0.0, nominal=q_nominals["Q_nominal_gas"])), + state=self.get_state(asset), **q_nominals, **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, @@ -2468,36 +2476,33 @@ def convert_elec_boiler(self, asset: Asset) -> Tuple[ElecBoiler, MODIFIERS]: used in a pycml object. Required ESDL fields: - --------------------- - - power - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - power + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with voltage/temperature specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with voltage/temperature specified Optional ESDL fields: - --------------------- - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - GasBoiler class with modifiers + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + GasBoiler class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"ElectricBoiler"} @@ -2535,7 +2540,6 @@ def convert_elec_boiler(self, asset: Asset) -> Tuple[ElecBoiler, MODIFIERS]: discount_rate=self.get_asset_attribute_value( asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 ), - state=self.get_state(asset), Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), Heat_flow=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal["Q_nominal"] * 16.0e5)), @@ -2549,6 +2553,7 @@ def convert_elec_boiler(self, asset: Asset) -> Tuple[ElecBoiler, MODIFIERS]: min_voltage=min_voltage, elec_power_nominal=max_supply, efficiency=eff, + state=self.get_state(asset), **q_nominal, **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, @@ -2565,37 +2570,34 @@ def convert_air_water_heat_pump_elec( used in a pycml object. Required ESDL fields: - --------------------- - - power - - id (this id must be unique) - - name (this name must be unique) - - xsi:type - - State - - InPort and OutPort with: + - power + - id (this id must be unique) + - name (this name must be unique) - xsi:type - - id - - name - - connectedTo - - carrier with voltage/temperature specified + - State + - InPort and OutPort with: + - xsi:type + - id + - name + - connectedTo + - carrier with voltage/temperature specified Optional ESDL fields: - --------------------- - - COP - - technicalLifetime - - CostInformation: discountRate - - CostInformation: marginalCost - - CostInformation: installationCost - - CostInformation: investmentCost - - CostInformation: fixedOperationalCost - - CostInformation: variableOperationalCost - - Parameters - ---------- - asset : The asset object with its properties. - - Returns - ------- - AirWaterHeatPumpElec class with modifiers + - COP + - technicalLifetime + - CostInformation: discountRate + - CostInformation: marginalCost + - CostInformation: installationCost + - CostInformation: investmentCost + - CostInformation: fixedOperationalCost + - CostInformation: variableOperationalCost + + Parameters: + asset : The asset object with its properties. + + Returns: + AirWaterHeatPumpElec class with modifiers: + {automatically_add_modifiers_here} """ assert asset.asset_type in {"HeatPump"} @@ -2629,7 +2631,6 @@ def convert_air_water_heat_pump_elec( discount_rate=self.get_asset_attribute_value( asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 ), - state=self.get_state(asset), Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), Heat_flow=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal["Q_nominal"] * 16.0e5)), @@ -2643,6 +2644,7 @@ def convert_air_water_heat_pump_elec( min_voltage=min_voltage, elec_power_nominal=max_supply, cop=cop, + state=self.get_state(asset), **q_nominal, **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, diff --git a/src/mesido/esdl/esdl_model_base.py b/src/mesido/esdl/esdl_model_base.py index 3b6e655bc..73fa09b3b 100644 --- a/src/mesido/esdl/esdl_model_base.py +++ b/src/mesido/esdl/esdl_model_base.py @@ -34,15 +34,11 @@ def _esdl_convert( at the connections specified in the esdl and create the relevant maps between ports to then also connect the pycml ports of the assets. - Parameters - ---------- - converter : class with the different converter functions for all asset types. - assets : a dict with all the parsed esdl assets and their attributes - prefix : prefix for the name of the model type Heat or QTH at the moment + Parameters: + converter : class with the different converter functions for all asset types. + assets : a dict with all the parsed esdl assets and their attributes + prefix : prefix for the name of the model type Heat or QTH at the moment - Returns - ------- - None """ # Sometimes we need information of one component in order to convert # another. For example, the nominal discharge of a pipe is used to set From f1ee61aa876ed148c20d23b16caeb77a0a8f8546 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 15 Apr 2025 13:29:59 +0200 Subject: [PATCH 261/376] 271 potential errors being persistent in backend (#274) reset POTENTIAL_ERRORS in the grow_workflow --- CHANGELOG.md | 3 ++- src/mesido/potential_errors.py | 6 ++++++ src/mesido/workflows/grow_workflow.py | 3 +++ tests/test_temperature_ates_hp.py | 8 +++++++- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f9f13ff8..12dae1899 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ -# [Unreleased-main] - 2025-02-24 +# [Unreleased-main] - 2025-04-14 ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class @@ -23,6 +23,7 @@ - Option for electricity cables to be unidirectional - Upgraded rtctools to v 2.6.1 - Updated Casadi to 3.6.7 with gil fixes (see https://github.com/casadi/casadi/releases/tag/nightly-gil_release) +- Reset POTENTIAL_ERRORS class instance (Singleton) in grow_workflow due to it being persistent ## Fixed - Bugfix: gas boiler mass flow constraint units diff --git a/src/mesido/potential_errors.py b/src/mesido/potential_errors.py index e8ec50791..1bb0aa087 100644 --- a/src/mesido/potential_errors.py +++ b/src/mesido/potential_errors.py @@ -62,8 +62,14 @@ def convert_to_exception( ) +# When adding POTENTIAL_ERRORS to a workflow a reset thereof is required due to it being a +# persistent object POTENTIAL_ERRORS = PotentialErrors() def get_potential_errors() -> PotentialErrors: return POTENTIAL_ERRORS + + +def reset_potential_errors() -> None: + POTENTIAL_ERRORS._gathered_potential_issues = {} diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 7f44c8071..91fb76f6a 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -8,6 +8,7 @@ from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin from mesido.esdl.esdl_mixin import ESDLMixin from mesido.head_loss_class import HeadLossOption +from mesido.potential_errors import reset_potential_errors from mesido.techno_economic_mixin import TechnoEconomicMixin from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO from mesido.workflows.io.write_output import ScenarioOutput @@ -151,6 +152,8 @@ class EndScenarioSizing( def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) + reset_potential_errors() # This needed to clear the Singleton which is persistent + # default setting to cater for ~ 10kW heat, DN800 pipe at dT = 40 degrees Celcuis self.heat_network_settings["minimum_velocity"] = 1.0e-4 diff --git a/tests/test_temperature_ates_hp.py b/tests/test_temperature_ates_hp.py index ef323f449..d8f61ccb2 100644 --- a/tests/test_temperature_ates_hp.py +++ b/tests/test_temperature_ates_hp.py @@ -127,7 +127,7 @@ def test_ates_temperature(self): # TODO: potentially update example such that the commented checks will also hold. # np.testing.assert_array_less(heat_pump_sec, geo_source) - charging = np.array([int(val > 0) for val in heat_ates]) + charging = np.array([int(val > tol) for val in heat_ates]) # array less then because ates charging boolean can be either 0 or 1 when there is no flow, # or just flow to compensate the heatloss np.testing.assert_array_less(np.ones(len(hex_disabled)) - tol, hex_disabled + hp_disabled) @@ -198,3 +198,9 @@ def test_ates_max_flow(self): * (ates_temperature[demand_not_matched] - ates_temp_ret) ), ) + + +if __name__ == "__main__": + a = TestAtesTemperature() + a.test_ates_temperature() + a.test_ates_max_flow() From c718f08f01b027d9504b20fab555d1d508f2ea13 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Thu, 17 Apr 2025 09:22:08 +0200 Subject: [PATCH 262/376] Revert "271 potential errors being persistent in backend" (#276) * only fix pandapower dependency issue in test environment --- CHANGELOG.md | 5 +++-- tests/test_temperature_ates_hp.py | 6 ------ tox.ini | 1 + 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12dae1899..2b1a92629 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ -# [Unreleased-main] - 2025-04-14 +# [Unreleased-main] - 2025-04-15 ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class @@ -12,6 +12,8 @@ - Generic functions for postprocessing are added. - Generic function to adapt timeseries from hourly timesteps to user-defined timesteps by averaging. - Error check for NaN values in profile data (csv & influxDB) +- Specify package (deepdiff used in pandapipes validation test) version number in test environment +- Reset POTENTIAL_ERRORS class instance (Singleton) in grow_workflow due to it being persistent ## Changed - Updated the Financial section of the documentation to explain the annualized discounted costs calculation. @@ -23,7 +25,6 @@ - Option for electricity cables to be unidirectional - Upgraded rtctools to v 2.6.1 - Updated Casadi to 3.6.7 with gil fixes (see https://github.com/casadi/casadi/releases/tag/nightly-gil_release) -- Reset POTENTIAL_ERRORS class instance (Singleton) in grow_workflow due to it being persistent ## Fixed - Bugfix: gas boiler mass flow constraint units diff --git a/tests/test_temperature_ates_hp.py b/tests/test_temperature_ates_hp.py index d8f61ccb2..e6623a4af 100644 --- a/tests/test_temperature_ates_hp.py +++ b/tests/test_temperature_ates_hp.py @@ -198,9 +198,3 @@ def test_ates_max_flow(self): * (ates_temperature[demand_not_matched] - ates_temp_ret) ), ) - - -if __name__ == "__main__": - a = TestAtesTemperature() - a.test_ates_temperature() - a.test_ates_max_flow() diff --git a/tox.ini b/tox.ini index 1cdcd134d..692fb3723 100644 --- a/tox.ini +++ b/tox.ini @@ -16,6 +16,7 @@ deps = numpy pandapipes==0.10.0 pandapower==2.14.6 + deepdiff==7.0.1 extras = all # Main tests (typical normal test) From 196920455c9529fb9aea234b135952c88465f529 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 29 Apr 2025 16:00:17 +0200 Subject: [PATCH 263/376] Profile adaptation to copying a year (#278) Added a profile adaptation function to allow for copying the profile for the given number of years, relevant for multi-year optimization, independent on the timestep size of the year. --- src/mesido/workflows/utils/adapt_profiles.py | 68 ++++++++++++++++++++ tests/test_profile_parsing.py | 56 ++++++++++++++-- 2 files changed, 119 insertions(+), 5 deletions(-) diff --git a/src/mesido/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py index e8145b7a8..7a6759ac4 100644 --- a/src/mesido/workflows/utils/adapt_profiles.py +++ b/src/mesido/workflows/utils/adapt_profiles.py @@ -3,6 +3,7 @@ import datetime import logging import operator +import sys import numpy as np @@ -217,6 +218,73 @@ def adapt_hourly_profile_averages_timestep_size(problem, problem_step_size_hours logger.info("Profile data has been adapted to a common format") +def adapt_profile_to_copy_for_number_of_years(problem, number_of_years: int): + """ + Adapt yearly profile to a multi-year profile. + Copying the profile for the given number of years, where the timeline is updated with the + sequential years. + + """ + + new_datastore = DataStore(problem) + new_datastore.reference_datetime = problem.io.datetimes[0] + + org_timeseries = problem.io.datetimes + + # If a problem has already been modified, the last timestamp should be exactly 1 year after + # the first timestamp. + + skip_last_day = False + if org_timeseries[-1] == org_timeseries[0] + datetime.timedelta(days=365): + skip_last_day = True + elif org_timeseries[0] + datetime.timedelta(days=365) - org_timeseries[ + -1 + ] <= datetime.timedelta(hours=1): + skip_last_day = False + else: + sys.exit("The profile should be a year profile.") + + for ensemble_member in range(problem.ensemble_size): + parameters = problem.parameters(ensemble_member) + + new_date_times = list() + if skip_last_day is False: + new_date_times = org_timeseries.copy() + else: + new_date_times = org_timeseries[:-1].copy() + + for year in range(1, number_of_years): + if year == number_of_years - 1 or skip_last_day is False: + new_date_times.extend( + [i + year * datetime.timedelta(days=365) for i in org_timeseries] + ) + else: + new_date_times.extend( + [i + year * datetime.timedelta(days=365) for i in org_timeseries[:-1]] + ) + + new_date_times = np.asarray(new_date_times) + parameters["times"] = [x.timestamp() for x in new_date_times] + + for var_name in problem.io.get_timeseries_names(): + old_data = problem.io.get_timeseries(var_name)[1] + if skip_last_day: + new_data = np.append(np.tile(old_data[:-1], number_of_years), old_data[-1]) + else: + new_data = np.tile(old_data, number_of_years) + new_datastore.set_timeseries( + variable=var_name, + datetimes=new_date_times, + values=np.asarray(new_data), + ensemble_member=ensemble_member, + check_duplicates=True, + ) + + problem.io = new_datastore + + logger.info("Profile data has been adapted to a common format") + + def select_profiles_for_update( problem, new_datastore: DataStore, new_date_times: np.array, ensemble_member: int ): diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 8a42ade5b..b4b083361 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -12,7 +12,10 @@ from mesido.exceptions import MesidoAssetIssueError from mesido.potential_errors import MesidoAssetIssueType, PotentialErrors from mesido.workflows import EndScenarioSizingStaged -from mesido.workflows.utils.adapt_profiles import adapt_hourly_profile_averages_timestep_size +from mesido.workflows.utils.adapt_profiles import ( + adapt_hourly_profile_averages_timestep_size, + adapt_profile_to_copy_for_number_of_years, +) from mesido.workflows.utils.error_types import mesido_issue_type_gen_message import numpy as np @@ -40,8 +43,10 @@ def test_profile_updating(self): """ Tests the updating of the profiles. The peak day hourly with averaged 5 days is currently tested in test_cold_demand.py. - This test covers the profile updating with varies timescales. Of amongst others the - adapt_hourly_profile_averages_timestep_size method in adapt_profiles.py + This test covers the profile updating with varying timescales. Of amongst others the + adapt_hourly_profile_averages_timestep_size method and the + adapt_profile_to_copy_for_number_of_years method in adapt_profiles.py + Returns: """ @@ -57,8 +62,8 @@ def test_profile_updating(self): class ProfileUpdateHourly(HeatProblem): def read(self): """ - Reads the yearly profile with hourly time steps and adapt to a daily averaged - profile except for the day with the peak demand. + Reads a profile with hourly time steps and adapts and adapts to averages over the + specified number of hours. """ super().read() @@ -82,6 +87,47 @@ def read(self): # TODO: also check the values of the averages + import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates + + base_folder = Path(run_ates.__file__).resolve().parent.parent + model_folder = base_folder / "model" + input_folder = base_folder / "input" + problem_years = 3 + + class ProfileUpdateMultiYear(HeatProblem): + def read(self): + """ + Reads the yearly profile with unspecified time steps and copies the profile for + multiple years. + """ + super().read() + + adapt_profile_to_copy_for_number_of_years(self, problem_years) + + problem = ProfileUpdateMultiYear( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", + profile_reader=ProfileReaderFromFile, + input_timeseries_file="Warmte_test.csv", + ) + problem.pre() + + # TODO: update checks + len_org_time_serie = 8760 # the last timestep is not copied + timeseries_updated = problem.io.datetimes + dts = list( + map( + operator.sub, + timeseries_updated[len_org_time_serie:-1], + timeseries_updated[0:-len_org_time_serie], + ) + ) + assert len(timeseries_updated) == len_org_time_serie * problem_years + assert all(dt.days == 365 for dt in dts) + class TestPotentialErrors(unittest.TestCase): def test_asset_potential_errors(self): From dbc6466b5f7f75d49f1b04a4d80423591a03592c Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Thu, 8 May 2025 11:49:26 +0200 Subject: [PATCH 264/376] change definition of power value of heat pump (#279) * change definition of power value of heat pump --- CHANGELOG.md | 3 ++- src/mesido/esdl/esdl_heat_model.py | 13 +++++++------ src/mesido/workflows/io/write_output.py | 4 ++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b1a92629..8eee85ade 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ -# [Unreleased-main] - 2025-04-15 +# [Unreleased-main] - 2025-05-07 ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class @@ -25,6 +25,7 @@ - Option for electricity cables to be unidirectional - Upgraded rtctools to v 2.6.1 - Updated Casadi to 3.6.7 with gil fixes (see https://github.com/casadi/casadi/releases/tag/nightly-gil_release) +- Definition of power attribute of water-to-water heat pump is changed from electrical power to secondary heat power ## Fixed - Bugfix: gas boiler mass flow constraint units diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index b7f65b3b5..86d34499a 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1113,18 +1113,19 @@ def convert_heat_pump( _, modifiers = self.convert_air_water_heat_pump_elec(asset) return AirWaterHeatPumpElec, modifiers - if not asset.attributes["power"]: - raise _ESDLInputException(f"{asset.name} has no power specified") - else: - power_electrical = asset.attributes["power"] - if not asset.attributes["COP"]: raise _ESDLInputException( - f"{asset.name} has not COP specified, this is required for the model" + f"{asset.name} has no COP specified, this is required for the model" ) else: cop = asset.attributes["COP"] + if not asset.attributes["power"]: + raise _ESDLInputException(f"{asset.name} has no power specified") + else: + power_secondary = asset.attributes["power"] + power_electrical = power_secondary / cop + params_t = self._supply_return_temperature_modifiers(asset) params_q = self._get_connected_q_nominal(asset) prim_heat = dict( diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index c865b9449..73bc11665 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -975,9 +975,9 @@ def _name_to_asset(name): * parameters[f"{name}.dT"] ) elif asset.name in self.energy_system_components.get("heat_pump", []): - # Note: Electrical capacity and not the heat capacity + # Note: The heat capacity and not the electrical capacity # TODO: in the future we need to cater for varying COP as well - asset.power = results[f"{name}__max_size"][0] / parameters[f"{name}.COP"] + asset.power = results[f"{name}__max_size"][0] else: asset.power = max_size if not placed: From 671c010b299f96c7d164f37b6bc3617617ad9f37 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 13 May 2025 09:03:31 +0200 Subject: [PATCH 265/376] Generalizing setting profiles (#282) Generalized select profiles for updates, such that all profiles are set to the new timeseries. --- src/mesido/workflows/utils/adapt_profiles.py | 74 +------------------- 1 file changed, 2 insertions(+), 72 deletions(-) diff --git a/src/mesido/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py index 7a6759ac4..013dc6b6a 100644 --- a/src/mesido/workflows/utils/adapt_profiles.py +++ b/src/mesido/workflows/utils/adapt_profiles.py @@ -301,79 +301,9 @@ def select_profiles_for_update( Returns: """ - heat_demands = problem.energy_system_components.get("heat_demand", []) - cold_demands = problem.energy_system_components.get("cold_demand", []) - - for demand in heat_demands: - var_name = f"{demand}.target_heat_demand" - set_data_with_averages( - datastore=new_datastore, - variable_name=var_name, - ensemble_member=ensemble_member, - new_date_times=new_date_times, - problem=problem, - ) - - for demand in cold_demands: - var_name = f"{demand}.target_cold_demand" - set_data_with_averages( - datastore=new_datastore, - variable_name=var_name, - ensemble_member=ensemble_member, - new_date_times=new_date_times, - problem=problem, - ) - - # TODO: this has not been tested but is required if a production profile is included - # in the data - for source in problem.energy_system_components.get("heat_source", []): - var_name = f"{source}.maximum_heat_source" - try: - problem.get_timeseries(variable=var_name, ensemble_member=ensemble_member) - except KeyError: - logger.debug( - f"Source {source} has no production profile, thus it also will " - f"not be adapted to a different time scales." - ) - continue - set_data_with_averages( - datastore=new_datastore, - variable_name=var_name, - ensemble_member=ensemble_member, - new_date_times=new_date_times, - problem=problem, - ) - - for source in problem.energy_system_components.get("electricity_source", []): - var_name = f"{source}.maximum_electricity_source" - try: - problem.get_timeseries(variable=var_name, ensemble_member=ensemble_member) - except KeyError: - logger.debug( - f"Source {source} has no production profile, thus it also will " - f"not be adapted to a different time scales." - ) - continue - - set_data_with_averages( - datastore=new_datastore, - variable_name=var_name, - ensemble_member=ensemble_member, - new_date_times=new_date_times, - problem=problem, - ) - - for carrier_properties in problem.esdl_carriers.values(): - carrier_name = carrier_properties["name"] - var_name = f"{carrier_name}.price_profile" - try: - problem.get_timeseries(variable=var_name, ensemble_member=ensemble_member) - except KeyError: - logger.debug( - f"Carrier {carrier_name} has no price profile, thus it also will " - f"not be adapted to different time scales." - ) + timeseries_names = problem.io.get_timeseries_names() + for var_name in timeseries_names: set_data_with_averages( datastore=new_datastore, variable_name=var_name, From 8db3bf4abeca070393c4b54cf90e949ba371440e Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Thu, 15 May 2025 10:34:56 +0200 Subject: [PATCH 266/376] moved location of potential error reset (#284) to prevent deletion of potential errors created in asset_to_component_base.py --- src/mesido/workflows/grow_workflow.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 91fb76f6a..37c5a7df0 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -150,10 +150,10 @@ class EndScenarioSizing( """ def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - reset_potential_errors() # This needed to clear the Singleton which is persistent + super().__init__(*args, **kwargs) + # default setting to cater for ~ 10kW heat, DN800 pipe at dT = 40 degrees Celcuis self.heat_network_settings["minimum_velocity"] = 1.0e-4 From f979d7576166de0d0b34848971f3c0897be0c47c Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Tue, 20 May 2025 08:32:28 +0200 Subject: [PATCH 267/376] =?UTF-8?q?Heat=20pump=20power=20upper=20bound=20i?= =?UTF-8?q?s=20defined=20as=20the=20upper=20bound=20of=20heat=20pum?= =?UTF-8?q?=E2=80=A6=20(#288)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit removed (cop +1) for upper bounds --- CHANGELOG.md | 3 ++- src/mesido/esdl/esdl_heat_model.py | 8 ++++---- tests/test_multiple_in_and_out_port_components.py | 10 ++++++++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8eee85ade..5c94c1202 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ -# [Unreleased-main] - 2025-05-07 +# [Unreleased-main] - 2025-05-16 ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class @@ -26,6 +26,7 @@ - Upgraded rtctools to v 2.6.1 - Updated Casadi to 3.6.7 with gil fixes (see https://github.com/casadi/casadi/releases/tag/nightly-gil_release) - Definition of power attribute of water-to-water heat pump is changed from electrical power to secondary heat power +- Enforce water-to-water heat pump upper bound heat capacity to conform to elect_power*cop ## Fixed - Bugfix: gas boiler mass flow constraint units diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 86d34499a..93bc74a8b 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1140,7 +1140,7 @@ def convert_heat_pump( params["Primary"] = {**params_t["Primary"], **params_q["Primary"], **prim_heat} params["Secondary"] = {**params_t["Secondary"], **params_q["Secondary"], **sec_heat} - max_power = power_electrical * (1.0 + cop) # TODO: dit kan zijn power_electrical*cop + max_power_heat = power_secondary modifiers = dict( COP=cop, @@ -1156,9 +1156,9 @@ def convert_heat_pump( asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 ), Power_elec=dict(min=0.0, max=power_electrical, nominal=power_electrical / 2.0), - Primary_heat=dict(min=0.0, max=max_power, nominal=max_power / 2.0), - Secondary_heat=dict(min=0.0, max=max_power, nominal=max_power / 2.0), - Heat_flow=dict(min=0.0, max=max_power, nominal=max_power / 2.0), + Primary_heat=dict(min=0.0, max=max_power_heat, nominal=max_power_heat / 2.0), + Secondary_heat=dict(min=0.0, max=max_power_heat, nominal=max_power_heat / 2.0), + Heat_flow=dict(min=0.0, max=max_power_heat, nominal=max_power_heat / 2.0), state=self.get_state(asset), **self._get_cost_figure_modifiers(asset), **params, diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index f59a3e700..d284f46ff 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -313,6 +313,8 @@ def test_heat_pump(self): - Standard checks for demand matching, heat to discharge and energy conservation - Check that the heat pump is producing according to its COP - Check that Secondary source use in minimized + - Check that the upper bound value for heat producing capacity is the same as specified in + the esdl """ @@ -384,6 +386,14 @@ def energy_system_options(self): np.testing.assert_allclose(power_elec * parameters["GenericConversion_3d3f.COP"], sec_heat) np.testing.assert_allclose(power_elec + prim_heat, sec_heat) + # Check that the heat pump upper bound + for key in solution.esdl_assets.keys(): + if solution.esdl_assets[key].asset_type == "HeatPump": + np.testing.assert_equal( + solution.bounds()["GenericConversion_3d3f.Heat_flow"][1], + solution.esdl_assets[key].attributes["power"], + ) + if __name__ == "__main__": import time From f6367396948816ac0433765dedb4a52cdb848400 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 20 May 2025 08:34:32 +0200 Subject: [PATCH 268/376] Add progress info for OMOTES backend & DTK front end (#286) Added estimate of grow workflow taks completion to be used in the OMOTES backend --- CHANGELOG.md | 1 + src/mesido/workflows/grow_workflow.py | 59 ++++++++ tests/test_progress_update.py | 207 ++++++++++++++++++++++++++ 3 files changed, 267 insertions(+) create mode 100644 tests/test_progress_update.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c94c1202..5bc24017b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - Error check for NaN values in profile data (csv & influxDB) - Specify package (deepdiff used in pandapipes validation test) version number in test environment - Reset POTENTIAL_ERRORS class instance (Singleton) in grow_workflow due to it being persistent +- Estimate grow worlfow progress status and update OMOTES progress status ## Changed - Updated the Financial section of the documentation to explain the annualized discounted costs calculation. diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 37c5a7df0..f376c4d61 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -87,6 +87,60 @@ def _mip_gap_settings(mip_gap_name: str, problem) -> Dict[str, float]: return options +def estimate_and_update_progress_status(self, priority): + """Estimate the progress of the optimization workflow. Currently the tasks completed in this + workflow is used to estimate the progress (ratio between 0 and 1). The task completed ratio is + the number of tasks completed divided by the total number of tasks. The total number of tasks + is estimated based on the stage number and the priority of the task. The progress is then + passed to the workflow progress status function (OMOTES back end).""" + # TODO: the estimates below needs to be improved in the future instead of using task numbers + + if self._workflow_progress_status is None: + logger.error("The workflow progress status function is not set. Cannot estimate progress.") + exit(1) + + if self._total_stages == 1: + denominator = 2.0 + if priority == 1: # match heat demand + numerator = 1.0 + elif priority == 2: # minimize TCO + numerator = 2.0 + else: + sys.exit( + f"The function does not cater for stage number:{self._stage} & priority:{priority}" + ) + elif self._total_stages == 2: + denominator = 4.0 + 2.0 * self.heat_network_settings["minimize_head_losses"] + if priority == 1 and self._stage == 1: # match heat demand + numerator = 1.0 + elif priority == 2 and self._stage == 1: # minimize TCO + numerator = 2.0 + elif priority == 1 and self._stage == 2: # match heat demand + numerator = 3.0 + elif priority == 2 and self._stage == 2: # minimize TCO + numerator = 4.0 + elif priority == (2**31 - 2) and self._stage == 2: # head loss optimization + numerator = 5.0 + elif priority == (2**31 - 1) and self._stage == 2: # hydraulic power optimization + numerator = 6.0 + else: + sys.exit( + f"The function does not cater for stage number:{self._stage} & priority:{priority}" + ) + else: + sys.exit( + f"The stage number: {self._stage} is higher then the total stages" + f" expected: {self._total_stages}. Assuming the stage numbering starts at 1." + ) + + # This kwarg only exists when the code is used in OMOTES backend + task_quantity_perc_completed = numerator / denominator + self._workflow_progress_status( + task_quantity_perc_completed, + f"Optimization task {numerator} out of {denominator} has completed", + ) # In the future this ratio might differ from the step being completed + + class SolverHIGHS: def solver_options(self): options = super().solver_options() @@ -184,6 +238,8 @@ def __init__(self, *args, **kwargs): self._save_json = False + self._workflow_progress_status = kwargs.get("update_progress_function", None) + def parameters(self, ensemble_member): parameters = super().parameters(ensemble_member) parameters["peak_day_index"] = self.__indx_max_peak @@ -350,6 +406,9 @@ def priority_completed(self, priority): if priority == 1 and self.objective_value > 1e-6: raise RuntimeError("The heating demand is not matched") + if self._workflow_progress_status is not None: + estimate_and_update_progress_status(self, priority) + def post(self): # In case the solver fails, we do not get in priority_completed(). We # append this last priority's statistics here in post(). diff --git a/tests/test_progress_update.py b/tests/test_progress_update.py new file mode 100644 index 000000000..4cbdc8d67 --- /dev/null +++ b/tests/test_progress_update.py @@ -0,0 +1,207 @@ +from unittest import TestCase +from unittest.mock import MagicMock + +from mesido.workflows.grow_workflow import estimate_and_update_progress_status + + +class TestProgress(TestCase): + + # 1 + def estimate_progress_nhl_ts1_s1_p1(self, task_quantity_perc_completed: float, msg: str): + self.assertEqual( + [task_quantity_perc_completed, msg], + [1.0 / 2.0, "Optimization task 1.0 out of 2.0 has completed"], + ) + + # 2 + def estimate_progress_nhl_ts1_s1_p2(self, task_quantity_perc_completed: float, msg: str): + self.assertEqual( + [task_quantity_perc_completed, msg], + [2.0 / 2.0, "Optimization task 2.0 out of 2.0 has completed"], + ) + return None + + # 3 + def estimate_progress_hl_ts2_s1_phl(self, task_quantity_perc_completed: float, msg: str): + return None + + # 4.1 + def estimate_progress_nhl_ts2_s1_p1(self, task_quantity_perc_completed: float, msg: str): + self.assertEqual( + [task_quantity_perc_completed, msg], + [1.0 / 4.0, "Optimization task 1.0 out of 4.0 has completed"], + ) + return None + + # 4.2 + def estimate_progress_nhl_ts2_s1_p2(self, task_quantity_perc_completed: float, msg: str): + self.assertEqual( + [task_quantity_perc_completed, msg], + [2.0 / 4.0, "Optimization task 2.0 out of 4.0 has completed"], + ) + return None + + # 5.1 + def estimate_progress_nhl_ts2_s2_p1(self, task_quantity_perc_completed: float, msg: str): + self.assertEqual( + [task_quantity_perc_completed, msg], + [3.0 / 4.0, "Optimization task 3.0 out of 4.0 has completed"], + ) + return None + + # 5.2 + def estimate_progress_nhl_ts2_s2_p2(self, task_quantity_perc_completed: float, msg: str): + self.assertEqual( + [task_quantity_perc_completed, msg], + [4.0 / 4.0, "Optimization task 4.0 out of 4.0 has completed"], + ) + return None + + # 6 + def estimate_progress_hl_ts2_s2_phl(self, task_quantity_perc_completed: float, msg: str): + self.assertEqual( + [task_quantity_perc_completed, msg], + [5.0 / 6.0, "Optimization task 5.0 out of 6.0 has completed"], + ) + return None + + # 7 + def estimate_progress_hl_ts2_s2_php(self, task_quantity_perc_completed: float, msg: str): + self.assertEqual( + [task_quantity_perc_completed, msg], + [6.0 / 6.0, "Optimization task 6.0 out of 6.0 has completed"], + ) + return None + + +class TestEstimateAndUpdateProgressStatus(TestCase): + + def test_progess(self): + """ + Test the progress status of the grow workflow for the different scenarios are calculated + correctly. + + Checks: + - #1: Priority = 1, total stages = 1, stage = 1, minimize_head_losses = False -> macth heat + demand + - #2: Priority = 2, total stages = 1, stage = 1, minimize_head_losses = False -> minimize + TCO + + - #3: Priority = 2**31 - 2, total stages = 2, stage = 1, minimize_head_losses = True -> give + error since the function does not cater for this scenario + + - #4.1: Priority = 1, total stages = 2, stage = 1 -> match heating demand + - #4.2: Priority = 1, total stages = 2, stage 1 = -> minimize TCO + - #5.1: Priority = 1, total stages = 2, stage = 2 -> match heating demand + - #5.2: Priority = 2, total stages = 2, stage = 2 -> minimize TCO + + - #6 Priority = 2**31 - 2, total stages = 2, stage = 2, minimize_head_losses = True -> head + loss optimization + - #7 Priority = 2**31 - 1, total stages = 2, stage = 2, minimize_head_losses = True -> + hydraulic power optimization + + + """ + + mock_endscenario_class = MagicMock() + test_progresss = TestProgress() + + # 1 + priority = 1 + mock_endscenario_class._total_stages = 1 + mock_endscenario_class._stage = 1 + mock_endscenario_class.heat_network_settings = {"minimize_head_losses": False} + mock_endscenario_class._workflow_progress_status = ( + test_progresss.estimate_progress_nhl_ts1_s1_p1 + ) + estimate_and_update_progress_status(mock_endscenario_class, priority) + + # 2 + priority = 2 + mock_endscenario_class._total_stages = 1 + mock_endscenario_class._stage = 1 + mock_endscenario_class.heat_network_settings = {"minimize_head_losses": False} + mock_endscenario_class._workflow_progress_status = ( + test_progresss.estimate_progress_nhl_ts1_s1_p2 + ) + estimate_and_update_progress_status(mock_endscenario_class, priority) + + # 3 + priority = 2**31 - 2 + mock_endscenario_class._total_stages = 2 + mock_endscenario_class._stage = 1 + mock_endscenario_class.heat_network_settings = {"minimize_head_losses": True} + mock_endscenario_class._workflow_progress_status = ( + test_progresss.estimate_progress_hl_ts2_s1_phl + ) + with self.assertRaises(SystemExit) as cm: + estimate_and_update_progress_status(mock_endscenario_class, priority) + self.assertEqual( + cm.exception.args[0], + "The function does not cater for stage number:1 & priority:2147483646", + ) + + # 4.1 + priority = 1 + mock_endscenario_class._total_stages = 2 + mock_endscenario_class._stage = 1 + mock_endscenario_class.heat_network_settings = {"minimize_head_losses": False} + mock_endscenario_class._workflow_progress_status = ( + test_progresss.estimate_progress_nhl_ts2_s1_p1 + ) + estimate_and_update_progress_status(mock_endscenario_class, priority) + + # 4.2 + priority = 2 + mock_endscenario_class._total_stages = 2 + mock_endscenario_class._stage = 1 + mock_endscenario_class.heat_network_settings = {"minimize_head_losses": False} + mock_endscenario_class._workflow_progress_status = ( + test_progresss.estimate_progress_nhl_ts2_s1_p2 + ) + estimate_and_update_progress_status(mock_endscenario_class, priority) + + # 5.1 + priority = 1 + mock_endscenario_class._total_stages = 2 + mock_endscenario_class._stage = 2 + mock_endscenario_class.heat_network_settings = {"minimize_head_losses": False} + mock_endscenario_class._workflow_progress_status = ( + test_progresss.estimate_progress_nhl_ts2_s2_p1 + ) + estimate_and_update_progress_status(mock_endscenario_class, priority) + + # 5.2 + priority = 2 + mock_endscenario_class._total_stages = 2 + mock_endscenario_class._stage = 2 + mock_endscenario_class.heat_network_settings = {"minimize_head_losses": False} + mock_endscenario_class._workflow_progress_status = ( + test_progresss.estimate_progress_nhl_ts2_s2_p2 + ) + estimate_and_update_progress_status(mock_endscenario_class, priority) + + # 6 + priority = 2**31 - 2 + mock_endscenario_class._total_stages = 2 + mock_endscenario_class._stage = 2 + mock_endscenario_class.heat_network_settings = {"minimize_head_losses": True} + mock_endscenario_class._workflow_progress_status = ( + test_progresss.estimate_progress_hl_ts2_s2_phl + ) + estimate_and_update_progress_status(mock_endscenario_class, priority) + + # 7 + priority = 2**31 - 1 + mock_endscenario_class._total_stages = 2 + mock_endscenario_class._stage = 2 + mock_endscenario_class.heat_network_settings = {"minimize_head_losses": True} + mock_endscenario_class._workflow_progress_status = ( + test_progresss.estimate_progress_hl_ts2_s2_php + ) + estimate_and_update_progress_status(mock_endscenario_class, priority) + + +if __name__ == "__main__": + a = TestEstimateAndUpdateProgressStatus() + a.test_progess() From 091213ba98680b6d8788954bd417fa55c23b59ac Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 20 May 2025 11:24:42 +0200 Subject: [PATCH 269/376] changelog (#289) --- CHANGELOG.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bc24017b..d6010c4f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ +# [Unreleased-main] - 2025-05-20 -# [Unreleased-main] - 2025-05-16 +## Added +- xx + +## Changed +- xx + +## Fixed +- xx + + +# [0.1.10] - 2025-05-20 ## Added - Default database for gas pipe dimensions based on the ASA pipe schedule with thicknesses from the standard class From 7a9471a7d17ac19a39d238ca02b40bf2ae7b4d08 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 21 May 2025 09:52:47 +0200 Subject: [PATCH 270/376] 290 pyesdl bug in a conversion of units (#291) update pyesdl & pycore version --- CHANGELOG.md | 14 +++++++++++++- setup.py | 4 ++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d6010c4f1..2005be840 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2025-05-20 +# [Unreleased-main] - 2025-05-21 ## Added - xx @@ -10,6 +10,18 @@ - xx +# [0.1.11] - 2025-05-21 + +## Added +- xx + +## Changed +- Updated pyESDL to v25.5.1 + +## Fixed +- xx + + # [0.1.10] - 2025-05-20 ## Added diff --git a/setup.py b/setup.py index 703be5dee..1ba616261 100644 --- a/setup.py +++ b/setup.py @@ -56,10 +56,10 @@ package_dir={"": "src"}, install_requires=[ "influxdb >= 5.3.1", - "pyecore == 0.12.1", + "pyecore >= 0.13.2", "pymoca >= 0.9.0", "rtc-tools-gil-comp == 2.6.1", - "pyesdl == 24.2", + "pyesdl == 25.5.1", "pandas >= 1.3.1, < 2.0", "casadi-gil-comp == 3.6.7", "StrEnum == 0.4.15", From 8053fee429aa6c68fe69722159c59f6b2cca8651 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Fri, 13 Jun 2025 08:32:24 +0200 Subject: [PATCH 271/376] 277 add max heat producing capacity profile to a producer (#295) - added profileconstraint from the esdl file - added additional constraints for when the producer profile is specified and used in specific watts and not just normalized --- CHANGELOG.md | 14 +- src/mesido/asset_sizing_mixin.py | 141 ++++++-- src/mesido/electricity_physics_mixin.py | 5 + src/mesido/esdl/profile_parser.py | 54 +++- src/mesido/potential_errors.py | 1 + src/mesido/workflows/utils/error_types.py | 4 + .../model/3a_esdl_source_scaled_profile.esdl | 305 ++++++++++++++++++ .../3a_esdl_source_unscaled_profile.esdl | 303 +++++++++++++++++ ...a_esdl_source_unscaled_profile_sizing.esdl | 303 +++++++++++++++++ tests/models/unit_cases/case_3a/src/run_3a.py | 33 +- tests/test_emerge.py | 6 + tests/test_heat.py | 6 + tests/test_producer_profiles.py | 146 ++++++++- tests/test_profile_parsing.py | 12 +- 14 files changed, 1277 insertions(+), 56 deletions(-) create mode 100644 tests/models/unit_cases/case_3a/model/3a_esdl_source_scaled_profile.esdl create mode 100644 tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile.esdl create mode 100644 tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 2005be840..bcec5ee27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2025-05-21 +# [Unreleased-main] - 2025-06-12 ## Added - xx @@ -10,6 +10,18 @@ - xx +# [0.1.12] - 2025-06-12 + +## Added +- Maximum profile contraint (specified in Watts) to some heat producers + +## Changed +- xx + +## Fixed +- xx + + # [0.1.11] - 2025-05-21 ## Added diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 14abd9c0d..be10a675d 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -1,8 +1,11 @@ import logging +import sys from typing import List, Set import casadi as ca +import esdl + from mesido._heat_loss_u_values_pipe import pipe_heat_loss from mesido.base_component_type_mixin import BaseComponentTypeMixin from mesido.demand_insulation_class import DemandInsulationClass @@ -794,6 +797,21 @@ def _make_max_size_var(name, lb, ub, nominal): for asset_name in self.energy_system_components.get("heat_source", []): ub = bounds[f"{asset_name}.Heat_source"][1] + + # Update bound to account for profile constraint being used instead of 1 value + esdl_asset_attributes = self.esdl_assets[ + self.esdl_asset_name_to_id_map[asset_name] + ].attributes["constraint"] + if ( + len(esdl_asset_attributes) > 0 + and hasattr(esdl_asset_attributes.items[0], "maximum") + and esdl_asset_attributes.items[0].maximum.profileQuantityAndUnit.reference.unit + == esdl.UnitEnum.WATT + ): + max_profile = max(self.get_timeseries(f"{asset_name}.maximum_heat_source").values) + if ub > max_profile: + ub = max_profile + lb = 0.0 if parameters[f"{asset_name}.state"] != 1 else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) @@ -1841,6 +1859,7 @@ def __max_size_constraints(self, ensemble_member): """ constraints = [] bounds = self.bounds() + np_ones = np.ones(len(self.times())) energy_system_component_types = list(self.energy_system_components.keys()) @@ -1854,13 +1873,12 @@ def __max_size_constraints(self, ensemble_member): constraints.append( ( - (np.ones(len(self.times())) * max_heat - stored_heat) / constraint_nominal, + (np_ones * max_heat - stored_heat) / constraint_nominal, 0.0, np.inf, ) ) - # Same as for the buffer but now for the source for s in self.energy_system_components.get("heat_source", []): max_var_types.add("heat_source") max_var = self._asset_max_size_map[s] @@ -1868,21 +1886,94 @@ def __max_size_constraints(self, ensemble_member): heat_source = self.__state_vector_scaled(f"{s}.Heat_source", ensemble_member) constraint_nominal = self.variable_nominal(f"{s}.Heat_source") - try: - profile = self.get_timeseries(f"{s}.maximum_heat_source").values - profile_scaled = profile / max(profile) - for i in range(0, len(self.times())): - constraints.append( - ( - (profile_scaled[i] * max_heat - heat_source[i]) / constraint_nominal, - 0.0, - np.inf, + if f"{s}.maximum_heat_source" in self.io.get_timeseries_names(): + profile_non_scaled = self.get_timeseries(f"{s}.maximum_heat_source").values + max_profile_non_scaled = max(profile_non_scaled) + profile_scaled = profile_non_scaled / max_profile_non_scaled + + # Cap the heat produced via a profile. Two profile options below. + # Option 1: Profile specified in absolute values [W] via a ProfileConstraint + esdl_asset_attributes = self.esdl_assets[ + self.esdl_asset_name_to_id_map[s] + ].attributes["constraint"] + if ( + len(esdl_asset_attributes) > 0 + and hasattr(esdl_asset_attributes.items[0], "maximum") + and esdl_asset_attributes.items[0].maximum.profileQuantityAndUnit.reference.unit + == esdl.UnitEnum.WATT + ): + parameters = self.parameters(ensemble_member) + + if parameters[f"{s}.state"] == 1: # Enabled asset + constraints.append( + ( + (max_heat - max_profile_non_scaled) / constraint_nominal, + 0.0, + np.inf, + ) ) - ) - except KeyError: + max_heat_var = max_profile_non_scaled + + elif parameters[f"{s}.state"] == 2: # Optional asset + max_heat_var = max_heat + + else: + state_val = parameters[f"{s}.state"] + logger.error(f"Unexpected state: {state_val}") + sys.exit(1) + + for i in range(0, len(self.times())): + constraints.append( + ( + (profile_scaled[i] * max_heat_var - heat_source[i]) + / constraint_nominal, + 0.0, + np.inf, + ) + ) + # Option 2: Normalised profile (0.0-1.0) shape that scales with maximum size of the + # producer + # Note: If the asset is not optional then the profile will be scaled to the + # installed capacity + elif ( + # profile is specified without units (xlm/csv) + len(esdl_asset_attributes) == 0 + or ( + esdl_asset_attributes.items[ + 0 + ].maximum.profileQuantityAndUnit.reference.physicalQuantity + == esdl.PhysicalQuantityEnum.COEFFICIENT + and ( + esdl_asset_attributes.items[ + 0 + ].maximum.profileQuantityAndUnit.reference.unit + == esdl.UnitEnum.PERCENT + or esdl_asset_attributes.items[ + 0 + ].maximum.profileQuantityAndUnit.reference.unit + == esdl.UnitEnum.NONE + ) + ) # profile from esdl + ): + # TODO: currently this can only be used with a csv file since units must be set + # for ProfileContraint. Future addition can be to use a different unit/quantity + # etc. so that the profile is used in a normalised way and scale to max_size + + for i in range(0, len(self.times())): + constraints.append( + ( + (profile_scaled[i] * max_heat - heat_source[i]) + / constraint_nominal, + 0.0, + np.inf, + ) + ) + else: + RuntimeError(f"{s}: Unforeseen error in adding a profile contraint") + else: constraints.append( ( - (np.ones(len(self.times())) * max_heat - heat_source) / constraint_nominal, + (np_ones * max_heat - heat_source) / constraint_nominal, 0.0, np.inf, ) @@ -1900,7 +1991,7 @@ def __max_size_constraints(self, ensemble_member): constraints.append( ( - (np.ones(len(self.times())) * max_heat - heat_secondary) / constraint_nominal, + (np_ones * max_heat - heat_secondary) / constraint_nominal, 0.0, np.inf, ) @@ -1916,7 +2007,7 @@ def __max_size_constraints(self, ensemble_member): ) constraints.append( ( - (np.ones(len(self.times())) * max_heat - heat_demand) / constraint_nominal, + (np_ones * max_heat - heat_demand) / constraint_nominal, 0.0, np.inf, ) @@ -1940,14 +2031,14 @@ def __max_size_constraints(self, ensemble_member): constraints.append( ( - (np.ones(len(self.times())) * max_heat - heat_ates) / constraint_nominal, + (np_ones * max_heat - heat_ates) / constraint_nominal, 0.0, np.inf, ) ) constraints.append( ( - (np.ones(len(self.times())) * max_heat + heat_ates) / constraint_nominal, + (np_ones * max_heat + heat_ates) / constraint_nominal, 0.0, np.inf, ) @@ -1964,8 +2055,7 @@ def __max_size_constraints(self, ensemble_member): constraints.append( ( - (np.ones(len(self.times())) * max_power - electricity_demand) - / constraint_nominal, + (np_ones * max_power - electricity_demand) / constraint_nominal, 0.0, np.inf, ) @@ -1982,8 +2072,7 @@ def __max_size_constraints(self, ensemble_member): constraints.append( ( - (np.ones(len(self.times())) * max_power - electricity_source) - / constraint_nominal, + (np_ones * max_power - electricity_source) / constraint_nominal, 0.0, np.inf, ) @@ -2000,8 +2089,7 @@ def __max_size_constraints(self, ensemble_member): constraints.append( ( - (np.ones(len(self.times())) * max_stored_energy - electricity_stored) - / constraint_nominal, + (np_ones * max_stored_energy - electricity_stored) / constraint_nominal, 0.0, np.inf, ) @@ -2018,8 +2106,7 @@ def __max_size_constraints(self, ensemble_member): constraints.append( ( - (np.ones(len(self.times())) * max_power - electricity_electrolyzer) - / constraint_nominal, + (np_ones * max_power - electricity_electrolyzer) / constraint_nominal, 0.0, np.inf, ) @@ -2034,7 +2121,7 @@ def __max_size_constraints(self, ensemble_member): constraints.append( ( - (np.ones(len(self.times())) * max_size - gas_mass) / constraint_nominal, + (np_ones * max_size - gas_mass) / constraint_nominal, 0.0, np.inf, ) diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 14c16347b..bb15d04ca 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -301,6 +301,8 @@ def __state_vector_scaled(self, variable, ensemble_member): ) def __update_electricity_producer_upper_bounds(self): + # TODO: When a profile is assigned via esdl, this code below needs to be aligned with + # profile constraints implemented for heat to ensure compatibility t = self.times() timeseries_io_names = self.io.get_timeseries_names() @@ -321,6 +323,9 @@ def __electricity_producer_set_point_constraints(self, ensemble_member): """ constraints = [] + # TODO: When a profile is assigned via esdl, this code below needs to be aligned with + # profile constraints implemented for heat to ensure compatibility + for asset in [*self.energy_system_components.get("electricity_source", [])]: if asset in self.__set_point_map.keys(): var_name = self.__set_point_map[asset] diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index a301aa564..9ca69d5ff 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -1,5 +1,6 @@ import datetime import logging +import sys from collections import defaultdict from pathlib import Path from typing import Dict, Optional, Set @@ -144,6 +145,18 @@ def read_profiles( " maximum of the heat demand profile " f"{round(max_profile_value / 1.0e6, 3)}MW", ) + elif component_type in ["heat_source"]: + max_profile_value = max(values) + if asset_power < max_profile_value: + asset_id = esdl_asset_names_to_ids[component] + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.HEAT_PRODUCER_POWER, + asset_id, + f"Asset named {component}: The installed capacity of" + f" {round(asset_power / 1.0e6, 3)}MW should be equal or larger than" + " the maximum of the heat producer maximum profile constraint" + f" {round(max_profile_value / 1.0e6, 3)}MW", + ) for properties in carrier_properties.values(): carrier_name = properties["name"] @@ -290,12 +303,32 @@ def _load_profiles_from_source( ) container = profile.eContainer() - if isinstance(container, esdl.Commodity): + if isinstance(container, esdl.ProfileConstraint): + asset = container.eContainer() + variable_suffix = self.asset_type_to_variable_name_conversion[type(asset)] + var_base_name = asset.name + if variable_suffix in [ + self.asset_type_to_variable_name_conversion[esdl.esdl.GasProducer], + self.asset_type_to_variable_name_conversion[esdl.esdl.ElectricityProducer], + ]: + logger.error( + f"Profiles for {var_base_name} from esdl has not been tested yet but only" + " for heat sources" + ) + sys.exit(1) + + elif isinstance(container, esdl.Commodity): variable_suffix = self.carrier_profile_var_name var_base_name = container.name elif isinstance(container, esdl.Port): asset = container.energyasset var_base_name = asset.name + if var_base_name in [ + self.asset_type_to_variable_name_conversion[esdl.esdl.GasProducer], + self.asset_type_to_variable_name_conversion[esdl.esdl.ElectricityProducer], + ]: + logger.error(f"Profiles for {var_base_name} from esdl has not been tested yet") + sys.exit(1) try: variable_suffix = self.asset_type_to_variable_name_conversion[type(asset)] # For multicommidity work profiles need to be assigned to GenericConsumer, but @@ -460,8 +493,23 @@ def _convert_profile_to_correct_unit( converted to either Watt or Joules, depending on the quantity used in the profile. """ profile_quantity_and_unit = self._get_profile_quantity_and_unit(profile=profile) - if profile_quantity_and_unit.physicalQuantity == esdl.PhysicalQuantityEnum.POWER: - target_unit = POWER_IN_W + if ( + profile_quantity_and_unit.physicalQuantity == esdl.PhysicalQuantityEnum.POWER + or profile_quantity_and_unit.physicalQuantity == esdl.PhysicalQuantityEnum.COEFFICIENT + ): + if profile_quantity_and_unit.unit == esdl.UnitEnum.WATT: + target_unit = POWER_IN_W + elif profile_quantity_and_unit.unit == esdl.UnitEnum.PERCENT: # values 0-100% + # TODO: in the future change to ratios if needed + return profile_time_series # These profiles are scaled in asset sizing + elif profile_quantity_and_unit.unit == esdl.UnitEnum.NONE: # ratio 0-1 + return profile_time_series + else: + raise RuntimeError( + f"Power profiles currently only support units" + f"specified in Watts or Percentage," + f"{profile} doesn't follow this convention." + ) elif profile_quantity_and_unit.physicalQuantity == esdl.PhysicalQuantityEnum.ENERGY: target_unit = ENERGY_IN_J elif profile_quantity_and_unit.physicalQuantity == esdl.PhysicalQuantityEnum.COST: diff --git a/src/mesido/potential_errors.py b/src/mesido/potential_errors.py index 1bb0aa087..3fe155f31 100644 --- a/src/mesido/potential_errors.py +++ b/src/mesido/potential_errors.py @@ -9,6 +9,7 @@ # Asset error type that can occur class MesidoAssetIssueType(Enum): + HEAT_PRODUCER_POWER = "heat_producer.power" HEAT_DEMAND_POWER = "heat_demand.power" COLD_DEMAND_POWER = "cold_demand.power" HEAT_DEMAND_TYPE = "heat_demand.type" diff --git a/src/mesido/workflows/utils/error_types.py b/src/mesido/workflows/utils/error_types.py index 020f2b673..a12cd44ce 100644 --- a/src/mesido/workflows/utils/error_types.py +++ b/src/mesido/workflows/utils/error_types.py @@ -17,6 +17,9 @@ def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: String message """ type_and_general_meassage = { + MesidoAssetIssueType.HEAT_PRODUCER_POWER: "Asset insufficient installed capacity: please" + " increase the installed power or reduce the profile constraint peak value of the" + " producer(s) listed.", MesidoAssetIssueType.HEAT_DEMAND_POWER: "Asset insufficient installed capacity: please" " increase the installed power or reduce the demand profile peak value of the demand(s)" " listed.", @@ -40,6 +43,7 @@ def potential_error_to_error(network_check_type: Enum) -> None: errors_on_types = { HEAT_NETWORK_ERRORS: [ + MesidoAssetIssueType.HEAT_PRODUCER_POWER, MesidoAssetIssueType.HEAT_DEMAND_POWER, MesidoAssetIssueType.COLD_DEMAND_POWER, MesidoAssetIssueType.HEAT_DEMAND_TYPE, diff --git a/tests/models/unit_cases/case_3a/model/3a_esdl_source_scaled_profile.esdl b/tests/models/unit_cases/case_3a/model/3a_esdl_source_scaled_profile.esdl new file mode 100644 index 000000000..d234c9b26 --- /dev/null +++ b/tests/models/unit_cases/case_3a/model/3a_esdl_source_scaled_profile.esdl @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile.esdl b/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile.esdl new file mode 100644 index 000000000..e307b1d7b --- /dev/null +++ b/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile.esdl @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing.esdl b/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing.esdl new file mode 100644 index 000000000..14d25f4b6 --- /dev/null +++ b/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing.esdl @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases/case_3a/src/run_3a.py b/tests/models/unit_cases/case_3a/src/run_3a.py index cba67e28a..f18e28ddf 100644 --- a/tests/models/unit_cases/case_3a/src/run_3a.py +++ b/tests/models/unit_cases/case_3a/src/run_3a.py @@ -4,6 +4,7 @@ from mesido.physics_mixin import PhysicsMixin from mesido.qth_not_maintained.qth_mixin import QTHMixin from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO import numpy as np @@ -285,7 +286,7 @@ def constraints(self, ensemble_member): return constraints -class HeatProblemProdProfile( +class HeatProblemESDLProdProfile( _GoalsAndOptions, TechnoEconomicMixin, LinearizedOrderGoalProgrammingMixin, @@ -293,16 +294,6 @@ class HeatProblemProdProfile( ESDLMixin, CollocatedIntegratedOptimizationProblem, ): - def read(self): - super().read() - - for s in self.energy_system_components["heat_source"]: - demand_timeseries = self.get_timeseries("HeatingDemand_a3b8.target_heat_demand") - new_timeseries = np.ones(len(demand_timeseries.values)) * 1 - ind_hlf = int(len(demand_timeseries.values) / 2) - new_timeseries[ind_hlf : ind_hlf + 4] = np.ones(4) * 0.10 - self.set_timeseries(f"{s}.maximum_heat_source", new_timeseries) - def energy_system_options(self): options = super().energy_system_options() options["heat_loss_disconnected_pipe"] = True @@ -324,6 +315,26 @@ def path_goals(self): return goals +class HeatProblemESDLProdProfileTCO(HeatProblemESDLProdProfile): + def goals(self): + goals = super().goals().copy() + goals.append(MinimizeTCO(priority=20, number_of_years=1)) + + return goals + + +class HeatProblemProdProfile(HeatProblemESDLProdProfile): + def read(self): + super().read() + + for s in self.energy_system_components["heat_source"]: + demand_timeseries = self.get_timeseries("HeatingDemand_a3b8.target_heat_demand") + new_timeseries = np.ones(len(demand_timeseries.values)) * 1 + ind_hlf = int(len(demand_timeseries.values) / 2) + new_timeseries[ind_hlf : ind_hlf + 4] = np.ones(4) * 0.10 + self.set_timeseries(f"{s}.maximum_heat_source", new_timeseries) + + class QTHProblem( QTHMixin, HomotopyMixin, diff --git a/tests/test_emerge.py b/tests/test_emerge.py index 1c1e94c42..5694cd50e 100644 --- a/tests/test_emerge.py +++ b/tests/test_emerge.py @@ -31,3 +31,9 @@ def test_emerge_workflow(self): # TODO: checks on values need to be added, not sure if cost values now make sense, scaling # is not too bad, but if presolve of HIGHS is on, it becomes infeasible. + + +if __name__ == "__main__": + + a = TestEmerge() + a.test_emerge_workflow() diff --git a/tests/test_heat.py b/tests/test_heat.py index b1acaa7cf..7f076bb81 100644 --- a/tests/test_heat.py +++ b/tests/test_heat.py @@ -371,3 +371,9 @@ def test_disconnected_pipe_darcy_weisbach(self): # (loss) in the system, we expect equal results. np.testing.assert_allclose(q_linear, q_dw) np.testing.assert_allclose(results_dw["Pipe1__is_disconnected"][1], 1.0) + + +if __name__ == "__main__": + + a = TestHeat() + a.test_heat_loss() diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index ab9431fd4..c9aaefc13 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -5,23 +5,32 @@ from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.util import run_esdl_mesido_optimization +import numpy as np + from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test class TestProducerMaxProfile(TestCase): """ - A test to verify that the producer can have a given scaled profile, where the producer will - always produce equal or less than said profile. This constraint is checked for a producer, - where the producer's profile was also intentionally reduced for a couple of time-steps - (reducing the profile value at a few time steps). - - Checks: - - Standard checks demand matching, energy conservation and heat to discharge - - check that heat_source <= scaled_profile * size_source. + A test to verify that the heat produced by a heat producer is capped by a profile, where the + producer will always produce equal or less than said profile. This constraint is checked for a + producer, where the producer's profile was also intentionally smaller than required for a + couple of timesteps """ - def test_max_producer_profile(self): + def test_max_producer_scaled_profile(self): + """ + Use a scaled profile, where there profile was intentionally reduced for a couple of + time-step (reducing the profile value at a few time steps). With the producer size not + being minimized. + + Checks: + - Standard checks demand matching, energy conservation and heat to discharge + - Check that the heat_source <= scaled_profile * size_source + + """ + import models.unit_cases.case_3a.src.run_3a as run_3a from models.unit_cases.case_3a.src.run_3a import HeatProblemProdProfile @@ -52,3 +61,122 @@ def test_max_producer_profile(self): # check that heat produced is smaller than the profile biggerthen = all(heat_producer_profile_full + tol >= heat_producer) self.assertTrue(biggerthen) + + def test_max_producer_esdl_unscaled_profile(self): + """ + Use a profile specified in Watts, where there profile was intentionally modified (via the + profile multiplier) such that it is smaller than the requried heating demand at a couple of + timesteps. With the producer size being minimized. + + Checks: + - Standard checks demand matching, energy conservation and heat to discharge + - Check that the heat source <= specified profile [W] + - Check that heat produced is capped at a couple of timesteps + """ + + import models.unit_cases.case_3a.src.run_3a as run_3a + from models.unit_cases.case_3a.src.run_3a import ( + HeatProblemESDLProdProfile, + HeatProblemESDLProdProfileTCO, + ) + + base_folder = Path(run_3a.__file__).resolve().parent.parent + + for problem_class in [HeatProblemESDLProdProfile, HeatProblemESDLProdProfileTCO]: + + if problem_class == HeatProblemESDLProdProfile: + # No sizing of the producer + esdl_file_used = "3a_esdl_source_unscaled_profile.esdl" + elif problem_class == HeatProblemESDLProdProfileTCO: + # Sizing of the producer is included + esdl_file_used = "3a_esdl_source_unscaled_profile_sizing.esdl" + + solution = run_esdl_mesido_optimization( + problem_class, + base_folder=base_folder, + esdl_file_name=esdl_file_used, + esdl_parser=ESDLFileParser, + ) + results = solution.extract_results() + + demand_matching_test(solution, results) + energy_conservation_test(solution, results) + heat_to_discharge_test(solution, results) + tol = 1e-8 + heat_produced = results["HeatProducer_b702.Heat_source"] + heat_production_upper_limit = ( + solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values + / max(solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values) + * results["HeatProducer_b702__max_size"] + ) + + if problem_class == HeatProblemESDLProdProfile: + np.testing.assert_array_less( + max(heat_production_upper_limit) - tol, + results["HeatProducer_b702__max_size"], + ) + np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) + np.testing.assert_equal( + len(np.where(heat_produced - heat_production_upper_limit == 0)[0]), + 5, + ) + elif problem_class == HeatProblemESDLProdProfileTCO: + np.testing.assert_allclose( + max(heat_production_upper_limit), + results["HeatProducer_b702__max_size"], + atol=1e-9, + ) + np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) + np.testing.assert_equal( + len(np.where(heat_produced - heat_production_upper_limit == 0)[0]), + 5, + ) + + def test_max_producer_esdl_scaled_profile(self): + """ + Use a scaled profile, where there profile was intentionally reduced for a couple of + time-step (reducing the profile value at a few time steps). With the producer size not + being minimized. + + Checks: + - Standard checks demand matching, energy conservation and heat to discharge + - Check that the heat source <= specified profile * producer size + - Check that heat produced is capped at a couple of timesteps + """ + + import models.unit_cases.case_3a.src.run_3a as run_3a + from models.unit_cases.case_3a.src.run_3a import HeatProblemESDLProdProfile + + base_folder = Path(run_3a.__file__).resolve().parent.parent + + solution = run_esdl_mesido_optimization( + HeatProblemESDLProdProfile, + base_folder=base_folder, + esdl_file_name="3a_esdl_source_scaled_profile.esdl", + esdl_parser=ESDLFileParser, + ) + results = solution.extract_results() + + demand_matching_test(solution, results) + energy_conservation_test(solution, results) + heat_to_discharge_test(solution, results) + tol = 1e-8 + heat_produced = results["HeatProducer_b702.Heat_source"] + heat_production_upper_limit = ( + solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values + * results["HeatProducer_b702__max_size"] + ) + + # check that heat produced is smaller than the profile + np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) + np.testing.assert_equal( + len(np.where(heat_produced - heat_production_upper_limit == 0)[0]), 4 + ) + + +if __name__ == "__main__": + + a = TestProducerMaxProfile() + a.test_max_producer_scaled_profile() + a.test_max_producer_esdl_unscaled_profile() + a.test_max_producer_esdl_scaled_profile() diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index b4b083361..ce92cc201 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -403,8 +403,10 @@ def test_loading_from_csv_with_influx_profiles_given(self): # unittest.main() a = TestProfileLoading() b = TestPotentialErrors() - b.test_asset_potential_errors() - a.test_loading_from_influx() - a.test_loading_from_csv() - a.test_loading_from_xml() - a.test_loading_from_csv_with_influx_profiles_given() + c = TestProfileUpdating() + # b.test_asset_potential_errors() + # a.test_loading_from_influx() + # a.test_loading_from_csv() + # a.test_loading_from_xml() + # a.test_loading_from_csv_with_influx_profiles_given() + c.test_profile_updating() From f529872ce1d64e71480d019e26c7f76d4881f3ac Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Fri, 13 Jun 2025 09:35:49 +0200 Subject: [PATCH 272/376] Specify flake8 versions temporary --- tox.ini | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tox.ini b/tox.ini index 692fb3723..943ab775a 100644 --- a/tox.ini +++ b/tox.ini @@ -35,11 +35,11 @@ commands = pytest -n auto -v tests/test_updated_esdl_post_process.py -s [testenv:flake8] skip_install = True deps = - flake8 - flake8-bugbear - flake8-comprehensions - flake8-import-order - pep8-naming + flake8 == 7.1.1 + flake8-bugbear == 23.7.10 + flake8-comprehensions == 3.15.0 + flake8-import-order == 0.18.2 + pep8-naming == 0.13.3 commands = flake8 examples src tests setup.py --exclude=pandapipeesdlparser.py From d69280278ee89f845cd0f4318a89a93db9289003 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 1 Jul 2025 09:38:55 +0200 Subject: [PATCH 273/376] Bug fix to prevent asset sizing when state=ENABLED (#305) * bug fix to prevent asset sizing when state=ENABLED and power profile is specified in watts --- CHANGELOG.md | 14 +++++++++++++- README.md | 2 +- src/mesido/asset_sizing_mixin.py | 1 + tests/test_producer_profiles.py | 29 +++++++++++++++++------------ 4 files changed, 32 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bcec5ee27..0db3155c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2025-06-12 +# [Unreleased-main] - 2025-06-25 ## Added - xx @@ -7,8 +7,20 @@ - xx ## Fixed +- xxx + + +# [0.1.13] - 2025-06-25 + +## Added - xx +## Changed +- README update mesido install command for dev + +## Fixed +- Bug: Producer profiles specified in Watts and asset state=ENABLED + # [0.1.12] - 2025-06-12 diff --git a/README.md b/README.md index 519d31034..50cae8ad4 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ If you are going to develop and change the source code, you probably want to do # 1b. Use git clone and pip to make an editable/developer installation git clone https://github.com/Multi-Energy-Systems-Optimization/mesido - pip install -e mesido + python -m pip install -e . MESIDO depends on `RTC-Tools `_, which is automatically installed as one of its dependencies. diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index be10a675d..b70eae3b4 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -807,6 +807,7 @@ def _make_max_size_var(name, lb, ub, nominal): and hasattr(esdl_asset_attributes.items[0], "maximum") and esdl_asset_attributes.items[0].maximum.profileQuantityAndUnit.reference.unit == esdl.UnitEnum.WATT + and parameters[f"{asset_name}.state"] == 2 # Optional asset ): max_profile = max(self.get_timeseries(f"{asset_name}.maximum_heat_source").values) if ub > max_profile: diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index c9aaefc13..1901ad2f1 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -21,8 +21,8 @@ class TestProducerMaxProfile(TestCase): def test_max_producer_scaled_profile(self): """ - Use a scaled profile, where there profile was intentionally reduced for a couple of - time-step (reducing the profile value at a few time steps). With the producer size not + Use a scaled profile, where the profile was intentionally reduced for a couple of + time-steps (reducing the profile value at a few time steps). With the producer size not being minimized. Checks: @@ -64,7 +64,7 @@ def test_max_producer_scaled_profile(self): def test_max_producer_esdl_unscaled_profile(self): """ - Use a profile specified in Watts, where there profile was intentionally modified (via the + Use a profile specified in Watts, where the profile was intentionally modified (via the profile multiplier) such that it is smaller than the requried heating demand at a couple of timesteps. With the producer size being minimized. @@ -104,15 +104,15 @@ def test_max_producer_esdl_unscaled_profile(self): heat_to_discharge_test(solution, results) tol = 1e-8 heat_produced = results["HeatProducer_b702.Heat_source"] - heat_production_upper_limit = ( - solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values - / max(solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values) - * results["HeatProducer_b702__max_size"] - ) if problem_class == HeatProblemESDLProdProfile: - np.testing.assert_array_less( - max(heat_production_upper_limit) - tol, + heat_production_upper_limit = solution.get_timeseries( + "HeatProducer_b702.maximum_heat_source" + ).values + np.testing.assert_equal( + solution.esdl_assets[ + solution.esdl_asset_name_to_id_map["HeatProducer_b702"] + ].attributes["power"], results["HeatProducer_b702__max_size"], ) np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) @@ -121,6 +121,11 @@ def test_max_producer_esdl_unscaled_profile(self): 5, ) elif problem_class == HeatProblemESDLProdProfileTCO: + heat_production_upper_limit = ( + solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values + / max(solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values) + * results["HeatProducer_b702__max_size"] + ) np.testing.assert_allclose( max(heat_production_upper_limit), results["HeatProducer_b702__max_size"], @@ -134,8 +139,8 @@ def test_max_producer_esdl_unscaled_profile(self): def test_max_producer_esdl_scaled_profile(self): """ - Use a scaled profile, where there profile was intentionally reduced for a couple of - time-step (reducing the profile value at a few time steps). With the producer size not + Use a scaled profile, where the profile was intentionally reduced for a couple of + time-steps (reducing the profile value at a few time steps). With the producer size not being minimized. Checks: From 9347e683d1cefce77cdc341055a17a83aad789fe Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Fri, 4 Jul 2025 14:21:43 +0200 Subject: [PATCH 274/376] 297 air to water heatpump update (#300) * COP of air_water_heatpump is read in financial_mixin to used in variable operational cost * Variable Operation Cost of Air-water-heatpump is function of electricity. Error is resolved. * A new test with a new esdl is added to check the updated Variable Operation Cost of Air-water-heatpump calculated * Formating is done. * Some formating updates are done. * A new test is added to check if variable operation cost calculation is working as desired for air-water-heatpump-elec. * Review comments are addressed * Small modification. --- CHANGELOG.md | 2 +- src/mesido/esdl/esdl_heat_model.py | 3 + src/mesido/financial_mixin.py | 12 +- .../milp/heat/air_water_heat_pump.py | 2 +- .../multicommodity/airwater_heat_pump_elec.py | 1 - .../model/sourcesink_withHP.esdl | 35 +++--- tests/models/wko/model/airco.esdl | 107 +++++++++--------- tests/models/wko/src/example.py | 2 - tests/test_cold_demand.py | 9 ++ tests/test_elec_boiler.py | 8 ++ 10 files changed, 109 insertions(+), 72 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0db3155c9..d620fa035 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ - xx ## Changed -- xx +- Previously variable operational cost of air-to-water heat pump was based on the thermal power usage. Now it is based on the electrical power usage ## Fixed - xxx diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 93bc74a8b..4db2bbf5c 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1281,6 +1281,9 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS ) return GeothermalSource, modifiers + elif asset.asset_type == "HeatPump": + modifiers["cop"] = asset.attributes["COP"] + return AirWaterHeatPump, modifiers else: return HeatSource, modifiers diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index d1b92dff6..53fbee500 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -941,9 +941,19 @@ def __variable_operational_cost_constraints(self, ensemble_member): else: price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) + denominator = 1.0 + if s in self.energy_system_components.get( + "air_water_heat_pump", [] + ) or s in self.energy_system_components.get("air_water_heat_pump_elec", []): + denominator = parameters[f"{s}.cop"] sum = 0.0 for i in range(1, len(self.times())): - sum += variable_operational_cost_coefficient * heat_source[i] * timesteps[i - 1] + sum += ( + variable_operational_cost_coefficient + * heat_source[i] + * timesteps[i - 1] + / denominator + ) sum += price_profile.values[i] * pump_power[i] * timesteps[i - 1] / eff constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) diff --git a/src/mesido/pycml/component_library/milp/heat/air_water_heat_pump.py b/src/mesido/pycml/component_library/milp/heat/air_water_heat_pump.py index f86e3993c..88ee3e0d6 100644 --- a/src/mesido/pycml/component_library/milp/heat/air_water_heat_pump.py +++ b/src/mesido/pycml/component_library/milp/heat/air_water_heat_pump.py @@ -19,5 +19,5 @@ class AirWaterHeatPump(HeatSource): def __init__(self, name, **modifiers): super().__init__(name, **modifiers) - + self.cop = modifiers["cop"] self.component_subtype = "air_water_heat_pump" diff --git a/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py b/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py index 6a2ec7c56..7579ad34e 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py @@ -38,7 +38,6 @@ def __init__(self, name, **modifiers): self.min_voltage = nan self.elec_power_nominal = nan - self.cop = nan # Assumption: heat in/out and added is nonnegative # Heat in the return (i.e. cold) line is zero diff --git a/tests/models/source_pipe_sink/model/sourcesink_withHP.esdl b/tests/models/source_pipe_sink/model/sourcesink_withHP.esdl index d8c34a04e..a91321307 100644 --- a/tests/models/source_pipe_sink/model/sourcesink_withHP.esdl +++ b/tests/models/source_pipe_sink/model/sourcesink_withHP.esdl @@ -1,21 +1,21 @@ - + - - + + - + - - + + @@ -32,31 +32,36 @@ - - - + + + - + - - + + - - - + + + + + + + + diff --git a/tests/models/wko/model/airco.esdl b/tests/models/wko/model/airco.esdl index a7a7422cc..6ef9f433b 100644 --- a/tests/models/wko/model/airco.esdl +++ b/tests/models/wko/model/airco.esdl @@ -1,5 +1,5 @@ - + @@ -12,43 +12,48 @@ - - + + - - + + - - + + - - + + - - + + + + + + + - - + + - + - - + + @@ -66,14 +71,14 @@ - + - - + + @@ -91,14 +96,14 @@ - + - - + + @@ -116,14 +121,14 @@ - + - - + + @@ -141,14 +146,14 @@ - + - - + + @@ -167,13 +172,13 @@ - - + + - - - + + + @@ -190,9 +195,9 @@ - - - + + + @@ -209,9 +214,9 @@ - - - + + + @@ -228,9 +233,9 @@ - - - + + + @@ -247,9 +252,9 @@ - - - + + + @@ -267,8 +272,8 @@ - - + + @@ -277,8 +282,8 @@ - - + + @@ -302,8 +307,8 @@ - - + + diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index 0540db248..4fd9c066d 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -242,5 +242,3 @@ def energy_system_options(self): # for p in elect.energy_system_components.get("heat_pipe", []): # print(p, results[f"{p}__hn_heat_loss"]) # print(p, elect.bounds()[f"{p}__hn_heat_loss"]) - - a = 1 diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 2ae2bb679..1d6476ca9 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -127,11 +127,20 @@ def test_airco(self): input_timeseries_file="timeseries.csv", ) results = heat_problem.extract_results() + parameters = heat_problem.parameters(0) demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) + # Check how variable operation cost is calculated + np.testing.assert_allclose( + parameters["HeatPump_b97e.variable_operational_cost_coefficient"] + * sum(results["HeatPump_b97e.Heat_source"][1:]) + / parameters["HeatPump_b97e.cop"], + results["HeatPump_b97e__variable_operational_cost"], + ) + def test_wko(self): """ This test is to check the basic physics for a network which includes cold demand. In this diff --git a/tests/test_elec_boiler.py b/tests/test_elec_boiler.py index 8ca0005bd..951c564b3 100644 --- a/tests/test_elec_boiler.py +++ b/tests/test_elec_boiler.py @@ -95,6 +95,14 @@ def test_air_water_hp_elec(self): results["HeatPump_d8fd.Heat_source"] + 1.0e-6, ) + # Check how variable operation cost is calculated + np.testing.assert_allclose( + parameters["HeatPump_d8fd.variable_operational_cost_coefficient"] + * sum(results["HeatPump_d8fd.Heat_source"][1:]) + / parameters["HeatPump_d8fd.cop"], + results["HeatPump_d8fd__variable_operational_cost"], + ) + if __name__ == "__main__": TestElecBoiler = TestElecBoiler() From f1d086497a4f45862a443ce00210247ef071c9d9 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Thu, 24 Jul 2025 13:39:19 +0200 Subject: [PATCH 275/376] bug fix air_water_heat_pump_elec + add test case (#315) bug fix air_water_heat_pump_elec: electricity aspect --- CHANGELOG.md | 6 +- .../src/run_example.py | 2 +- src/mesido/electricity_physics_mixin.py | 1 + .../multicommodity/airwater_heat_pump_elec.py | 8 +- src/mesido/workflows/gas_elect_workflow.py | 4 +- .../model/air_to_water_heat_pump_elec.esdl | 130 ++++++++++++++++++ .../heat_pump_elec/src/run_hp_elec.py | 5 +- tests/test_elec_boiler.py | 2 +- tests/test_multicommodity.py | 59 +++++++- 9 files changed, 203 insertions(+), 14 deletions(-) create mode 100644 tests/models/unit_cases_electricity/heat_pump_elec/model/air_to_water_heat_pump_elec.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index d620fa035..57e8d490e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,13 @@ -# [Unreleased-main] - 2025-06-25 +# [Unreleased-main] - 2025-07-23 ## Added -- xx +- Elect test for air_to_water_heat_pump_elec ## Changed - Previously variable operational cost of air-to-water heat pump was based on the thermal power usage. Now it is based on the electrical power usage ## Fixed -- xxx +- Bug: Add 3 port heat pump to elect demand path constraint # [0.1.13] - 2025-06-25 diff --git a/examples/gas_electricity_network/src/run_example.py b/examples/gas_electricity_network/src/run_example.py index d86905892..e0f560281 100644 --- a/examples/gas_electricity_network/src/run_example.py +++ b/examples/gas_electricity_network/src/run_example.py @@ -42,7 +42,7 @@ # heat_to_discharge_test(solution, results) # for asset_name in [*solution.energy_system_components.get("air_water_heat_pump_elec", [])]: - # power_cons = results[f"{asset_name}.Power_consumed"] + # power_cons = results[f"{asset_name}.Power_elec"] # print(f"{asset_name} power consumed: {power_cons}") # for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index bb15d04ca..f6e8f6227 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -524,6 +524,7 @@ def __electricity_demand_path_constraints(self, ensemble_member): *self.energy_system_components.get("heat_pump_elec", []), *self.energy_system_components.get("electrolyzer", []), *self.energy_system_components.get("transformer", []), + *self.energy_system_components.get("air_water_heat_pump_elec", []), ]: min_voltage = parameters[f"{elec_demand}.min_voltage"] voltage = self.state(f"{elec_demand}.ElectricityIn.V") diff --git a/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py b/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py index 7579ad34e..bcf352b91 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/airwater_heat_pump_elec.py @@ -42,10 +42,8 @@ def __init__(self, name, **modifiers): # Assumption: heat in/out and added is nonnegative # Heat in the return (i.e. cold) line is zero self.add_variable(ElectricityPort, "ElectricityIn") - self.add_variable(Variable, "Power_consumed", min=0.0, nominal=self.elec_power_nominal) + self.add_variable(Variable, "Power_elec", min=0.0, nominal=self.elec_power_nominal) - self.add_equation( - ((self.ElectricityIn.Power - self.Power_consumed) / self.elec_power_nominal) - ) + self.add_equation(((self.ElectricityIn.Power - self.Power_elec) / self.elec_power_nominal)) - self.add_equation(((self.Power_consumed * self.cop - self.Heat_source) / self.Heat_nominal)) + self.add_equation(((self.Power_elec * self.cop - self.Heat_source) / self.Heat_nominal)) diff --git a/src/mesido/workflows/gas_elect_workflow.py b/src/mesido/workflows/gas_elect_workflow.py index 6d204b201..649571ff1 100644 --- a/src/mesido/workflows/gas_elect_workflow.py +++ b/src/mesido/workflows/gas_elect_workflow.py @@ -176,8 +176,8 @@ def goals(self): # constraints = super().path_constraints(ensemble_member) # for eb in self.energy_system_components.get("air_water_heat_pump_elec", []): - # power_consumed = self.state(f"{eb}.Power_consumed") - # constraints.append((power_consumed, 0.0, 0.0)) + # power_elec = self.state(f"{eb}.Power_elec") + # constraints.append((power_elec, 0.0, 0.0)) # return constraints diff --git a/tests/models/unit_cases_electricity/heat_pump_elec/model/air_to_water_heat_pump_elec.esdl b/tests/models/unit_cases_electricity/heat_pump_elec/model/air_to_water_heat_pump_elec.esdl new file mode 100644 index 000000000..433dc880f --- /dev/null +++ b/tests/models/unit_cases_electricity/heat_pump_elec/model/air_to_water_heat_pump_elec.esdl @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py b/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py index cd8264ae7..5f4c7a23a 100644 --- a/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py +++ b/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py @@ -232,7 +232,10 @@ def read(self): def path_goals(self): goals = super().path_goals().copy() - for s in self.energy_system_components["heat_pump_elec"]: + for s in [ + *self.energy_system_components.get("heat_pump_elec", []), + *self.energy_system_components.get("air_water_heat_pump_elec", []), + ]: goals.append(MinimizeElectricityGoal(s)) return goals diff --git a/tests/test_elec_boiler.py b/tests/test_elec_boiler.py index 951c564b3..6519c2fcc 100644 --- a/tests/test_elec_boiler.py +++ b/tests/test_elec_boiler.py @@ -91,7 +91,7 @@ def test_air_water_hp_elec(self): np.testing.assert_array_less(0.0, results["HeatPump_d8fd.Heat_source"]) np.testing.assert_array_less(0.0, results["ElectricityProducer_4dde.ElectricityOut.Power"]) np.testing.assert_array_less( - parameters["HeatPump_d8fd.cop"] * results["HeatPump_d8fd.Power_consumed"], + parameters["HeatPump_d8fd.cop"] * results["HeatPump_d8fd.Power_elec"], results["HeatPump_d8fd.Heat_source"] + 1.0e-6, ) diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index 010537eed..c048d0535 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -7,7 +7,12 @@ import numpy as np -from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test +from utils_tests import ( + demand_matching_test, + electric_power_conservation_test, + energy_conservation_test, + heat_to_discharge_test, +) class TestMultiCommodityHeatPump(TestCase): @@ -187,6 +192,7 @@ def test_heat_pump_elec_min_elec(self): demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) + electric_power_conservation_test(solution, results) tol = 1e-6 heatsource_prim = results["ResidualHeatSource_61b8.Heat_source"] @@ -211,6 +217,50 @@ def test_heat_pump_elec_min_elec(self): # check that prim producer is providing more energy to heatpump and primary demand np.testing.assert_array_less(heatdemand_prim - (heatsource_prim - heatpump_heat_prim), 0) + def test_air_to_water_heat_pump_elec_min_elec(self): + """ + Verify that minimisation of the electricity power used, and thus exploiting the heatpump + + Checks: + - Standard checks for demand matching, heat to discharge and energy conservation and elect + power conervation + - Checks for Power = I * V at the heatpump + + """ + import models.unit_cases_electricity.heat_pump_elec.src.run_hp_elec as run_hp_elec + from models.unit_cases_electricity.heat_pump_elec.src.run_hp_elec import ( + ElectricityProblem, + ) + + base_folder = Path(run_hp_elec.__file__).resolve().parent.parent + + solution = run_esdl_mesido_optimization( + ElectricityProblem, + base_folder=base_folder, + esdl_file_name="air_to_water_heat_pump_elec.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.xml", + ) + results = solution.extract_results() + + demand_matching_test(solution, results) + energy_conservation_test(solution, results) + heat_to_discharge_test(solution, results) + electric_power_conservation_test(solution, results) + + tol = 1e-6 + + # TODO add addtional checks for air to water heat pump like COP etc, and maybe add other + # heat sources + + # check that electricity contraint for power is working + np.testing.assert_allclose( + results["HeatPump_0ce6.Power_elec"], + results["HeatPump_0ce6.ElectricityIn.I"] * results["HeatPump_0ce6.ElectricityIn.V"], + atol=tol, + ) + def test_heat_pump_elec_price_profile(self): """ Verify that minimisation of the electricity power used when price of electricity is high. @@ -276,3 +326,10 @@ def solver_options(self): (price_profile[1:] + var_opex_hp_non_el) * heatpump_power[1:] * timestep ) np.testing.assert_allclose(var_opex_hp_calc, var_opex_hp) + + +if __name__ == "__main__": + + test_cold_demand = TestMultiCommodityHeatPump() + test_cold_demand.test_air_to_water_heat_pump_elec_min_elec() + # test_cold_demand.test_heat_pump_elec_min_elec() From 595afac48581002a40f5941019c09a13b13f2b3b Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Wed, 6 Aug 2025 10:27:10 +0200 Subject: [PATCH 276/376] Gas and electricity assets sizing is set - Gas pipe and electricity_cable assets are added to TCO based objective function calculation. - Efficiency is added to boiler - Gas pipes information in prameters is updated after optimization - Var-op-cost of gas boiler is defined as euro-per-watt-gas-hour - New test case is created. Tests to check energy demand supply, TCO calculation, head loss calculation are added to a new test case. --- .../input/HeatingDemand_W_manual.csv | 6 + .../HeatingDemand_W_manual_HighDemand.csv | 6 + .../model/gas_elect_loop_tree.esdl | 310 ++++++++++++++++++ .../src/run_example.py | 48 ++- .../src/run_gas_elect.py | 28 ++ src/mesido/asset_sizing_mixin.py | 35 ++ src/mesido/esdl/esdl_heat_model.py | 8 +- src/mesido/financial_mixin.py | 4 + .../milp/multicommodity/gas_boiler.py | 12 +- src/mesido/workflows/gas_elect_workflow.py | 71 ++-- .../workflows/goals/minimize_tco_goal.py | 6 + .../input/HeatingDemand_W_manual.csv | 6 + .../HeatingDemand_W_manual_HighDemand.csv | 6 + .../model/gas_elect_loop_tree.esdl | 310 ++++++++++++++++++ .../src/run_gas_elect.py | 263 +++++++++++++++ tests/test_gas_boiler.py | 1 + tests/test_gas_electricity.py | 222 +++++++++++++ tests/utils_tests.py | 114 ++++++- 18 files changed, 1415 insertions(+), 41 deletions(-) create mode 100644 examples/gas_electricity_network/input/HeatingDemand_W_manual.csv create mode 100644 examples/gas_electricity_network/input/HeatingDemand_W_manual_HighDemand.csv create mode 100644 examples/gas_electricity_network/model/gas_elect_loop_tree.esdl create mode 100644 examples/gas_electricity_network/src/run_gas_elect.py create mode 100644 tests/models/gas_electricity_network/input/HeatingDemand_W_manual.csv create mode 100644 tests/models/gas_electricity_network/input/HeatingDemand_W_manual_HighDemand.csv create mode 100644 tests/models/gas_electricity_network/model/gas_elect_loop_tree.esdl create mode 100644 tests/models/gas_electricity_network/src/run_gas_elect.py create mode 100644 tests/test_gas_electricity.py diff --git a/examples/gas_electricity_network/input/HeatingDemand_W_manual.csv b/examples/gas_electricity_network/input/HeatingDemand_W_manual.csv new file mode 100644 index 000000000..2584c7864 --- /dev/null +++ b/examples/gas_electricity_network/input/HeatingDemand_W_manual.csv @@ -0,0 +1,6 @@ +DateTime,HeatingDemand_1,HeatingDemand_2 +25-01-2019 07:00,736113.11,2208339.33 +25-01-2019 08:00,894710.774,2684132.322 +25-01-2019 09:00,30000000,3000000 +25-01-2019 10:00,778775.741,2336327.223 +25-01-2019 11:00,680300.148,2040900.444 diff --git a/examples/gas_electricity_network/input/HeatingDemand_W_manual_HighDemand.csv b/examples/gas_electricity_network/input/HeatingDemand_W_manual_HighDemand.csv new file mode 100644 index 000000000..b99275b7c --- /dev/null +++ b/examples/gas_electricity_network/input/HeatingDemand_W_manual_HighDemand.csv @@ -0,0 +1,6 @@ +DateTime,HeatingDemand_1,HeatingDemand_2 +25-01-2019 07:00,736113.11,2208339.33 +25-01-2019 08:00,894710.774,2684132.322 +25-01-2019 09:00,40000000,3000000 +25-01-2019 10:00,778775.741,2336327.223 +25-01-2019 11:00,680300.148,2040900.444 diff --git a/examples/gas_electricity_network/model/gas_elect_loop_tree.esdl b/examples/gas_electricity_network/model/gas_elect_loop_tree.esdl new file mode 100644 index 000000000..72e8301d5 --- /dev/null +++ b/examples/gas_electricity_network/model/gas_elect_loop_tree.esdl @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/gas_electricity_network/src/run_example.py b/examples/gas_electricity_network/src/run_example.py index e0f560281..99857a72f 100644 --- a/examples/gas_electricity_network/src/run_example.py +++ b/examples/gas_electricity_network/src/run_example.py @@ -5,6 +5,8 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption +from mesido.network_common import NetworkSettings from mesido.workflows.gas_elect_workflow import GasElectProblem from mesido.workflows.utils.helpers import run_optimization_problem_solver @@ -23,8 +25,51 @@ start_time = time.time() + class GasElectProblemOld(GasElectProblem): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + def energy_system_options(self): + options = super().energy_system_options() + + # Setting for gas type + self.gas_network_settings["network_type"] = NetworkSettings.NETWORK_TYPE_GAS + + # Setting when started with head loss inclusions + self.gas_network_settings["minimize_head_losses"] = False + self.gas_network_settings["head_loss_option"] = ( + HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY + ) + + return options + + def read(self): + super().read() + + # Convert gas demand Nm3/h (data in timeseries source file) to heat demand in watts + # Assumumption: + # - gas heating value (LCV value) = 31.68 * 10^6 (J/m3) at 1bar, 273.15K + # - gas boiler efficiency 80% + # TODO: automate the link to heating value & boiler + # efficiency (if needed) + for demand in self.energy_system_components["heat_demand"]: + target = self.get_timeseries(f"{demand}.target_heat_demand") + + # Manually set heating demand values + boiler_efficiency = 0.8 + gas_heating_value_joule_m3 = 31.68 * 10**6 + for ii in range(len(target.values)): + target.values[ii] *= gas_heating_value_joule_m3 * boiler_efficiency + + self.io.set_timeseries( + f"{demand}.target_heat_demand", + self.io._DataStore__timeseries_datetimes, + target.values, + 0, + ) + solution = run_optimization_problem_solver( - GasElectProblem, + GasElectProblemOld, esdl_parser=ESDLFileParser, esdl_file_name="Example_gas_elec.esdl", profile_reader=ProfileReaderFromFile, @@ -32,6 +77,7 @@ ) results = solution.extract_results() + parameters = solution.parameters(0) # ---------------------------------------------------------------------------------------------- # Do not delete the code below: manual checking and testing of values + usefull prints to diff --git a/examples/gas_electricity_network/src/run_gas_elect.py b/examples/gas_electricity_network/src/run_gas_elect.py new file mode 100644 index 000000000..13c053a86 --- /dev/null +++ b/examples/gas_electricity_network/src/run_gas_elect.py @@ -0,0 +1,28 @@ +import os +import sys +from pathlib import Path + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows.gas_elect_workflow import GasElectProblem +from mesido.workflows.utils.helpers import run_optimization_problem_solver + + +root_folder = os.path.join(str(Path(__file__).resolve().parent.parent.parent.parent), "tests") +sys.path.insert(1, root_folder) + +if __name__ == "__main__": + import time + + start_time = time.time() + + solution = run_optimization_problem_solver( + GasElectProblem, + esdl_parser=ESDLFileParser, + esdl_file_name="gas_elect_loop_tree.esdl", + profile_reader=ProfileReaderFromFile, + input_timeseries_file="HeatingDemand_W_manual.csv", + ) + + results = solution.extract_results() + parameters = solution.parameters(0) diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index b70eae3b4..65ea243dd 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -1051,6 +1051,13 @@ def get_optimized_pipe_class(self, pipe: str) -> PipeClass: """ return self.__heat_pipe_topo_pipe_class_result[pipe] + def get_optimized_gas_pipe_class(self, pipe): + """ + Return the optimized gas pipe class for a specific pipe. If no + optimized pipe class is available (yet), a `KeyError` is returned. + """ + return self.__gas_pipe_topo_pipe_class_result[pipe] + def get_optimized_deman_insulation_class(self, demand_insulation: str) -> DemandInsulationClass: """ Return the optimized demand_insulation class for a specific pipe. If no @@ -2328,6 +2335,22 @@ def __pipe_class_to_results(self): for p in [pipe, self.hot_to_cold_pipe(pipe)]: self.__heat_pipe_topo_pipe_class_result[p] = pipe_class + for pipe in self.energy_system_components.get("gas_pipe", []): + pipe_classes = self.gas_pipe_classes(pipe) + + if not pipe_classes: + continue + elif len(pipe_classes) == 1: + pipe_class = pipe_classes[0] + else: + pipe_class = next( + c + for c, s in self._gas_pipe_topo_pipe_class_map[pipe].items() + if round(results[s][0]) == 1.0 + ) + + self.__gas_pipe_topo_pipe_class_result[pipe] = pipe_class + def _pipe_heat_loss_to_parameters(self): """ This function is used to set the optimized milp losses in the parameters object. @@ -2359,6 +2382,11 @@ def __pipe_diameter_to_parameters(self): d[f"{p}.diameter"] = pipe_class.inner_diameter d[f"{p}.area"] = pipe_class.area + for pipe in self._gas_pipe_topo_pipe_class_map: + pipe_class = self.get_optimized_gas_pipe_class(pipe) + d[f"{pipe}.diameter"] = pipe_class.inner_diameter + d[f"{pipe}.area"] = pipe_class.area + def priority_completed(self, priority): """ This function is called after a priority of goals is completed. This function is used to @@ -2379,6 +2407,13 @@ def priority_completed(self, priority): ): self.__pipe_diameter_to_parameters() + if ( + self.gas_network_settings["minimize_head_losses"] + and self.gas_network_settings["head_loss_option"] != HeadLossOption.NO_HEADLOSS + and priority == self._gn_head_loss_class._hn_minimization_goal_class.priority + ): + self.__pipe_diameter_to_parameters() + super().priority_completed(priority) def post(self): diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 4db2bbf5c..f450c5b1c 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -2393,6 +2393,7 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: used in a pycml object. Required ESDL fields: + - efficiency - power - id (this id must be unique) - name (this name must be unique) @@ -2446,6 +2447,11 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: q_nominals = self._get_connected_q_nominal(asset) + if not asset.attributes["efficiency"]: + raise _ESDLInputException( + f"{asset.name} has no efficiency specified, this is required for the model" + ) + modifiers = dict( technical_life=self.get_asset_attribute_value( asset, @@ -2454,6 +2460,7 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: min_value=1.0, max_value=50.0, ), + efficiency=asset.attributes["efficiency"], discount_rate=self.get_asset_attribute_value( asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 ), @@ -2471,7 +2478,6 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), ) - return GasBoiler, modifiers def convert_elec_boiler(self, asset: Asset) -> Tuple[ElecBoiler, MODIFIERS]: diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 53fbee500..9b3066b13 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -941,11 +941,15 @@ def __variable_operational_cost_constraints(self, ensemble_member): else: price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) + # ToDo: Currently the variable operational cost unit for gas boiler is euro/Wh_gas + # but this can be changed to euro/Nm3 denominator = 1.0 if s in self.energy_system_components.get( "air_water_heat_pump", [] ) or s in self.energy_system_components.get("air_water_heat_pump_elec", []): denominator = parameters[f"{s}.cop"] + if s in self.energy_system_components.get("gas_boiler", []): + denominator = parameters[f"{s}.efficiency"] sum = 0.0 for i in range(1, len(self.times())): sum += ( diff --git a/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py b/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py index d3701eb82..0c7c7fc54 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py @@ -32,11 +32,13 @@ def __init__(self, name, **modifiers): **modifiers, ) + self.efficiency = nan + self.Q_nominal_gas = nan self.component_subtype = "gas_boiler" - self.energy_content = nan + self.energy_content = nan # [J/kg] self.density = 2.5e3 # H2 density [g/m3] at 30bar self.id_mapping_carrier = -1 @@ -46,7 +48,7 @@ def __init__(self, name, **modifiers): self.add_variable(GasPort, "GasIn") self.add_variable( Variable, "Gas_demand_mass_flow", min=0.0, nominal=self.Q_nominal_gas * self.density - ) + ) # [g/s] self.add_equation( ( @@ -55,9 +57,13 @@ def __init__(self, name, **modifiers): ) ) + # Heat_source [J/s] = mass_flow [g/s] / 1000 [g/kg] * energy_content [J/kg] * efficiency [-] self.add_equation( ( - (self.GasIn.mass_flow / 1000.0 * self.energy_content - self.Heat_source) + ( + self.GasIn.mass_flow / 1000.0 * self.energy_content * self.efficiency + - self.Heat_source + ) / self.Heat_nominal ) ) diff --git a/src/mesido/workflows/gas_elect_workflow.py b/src/mesido/workflows/gas_elect_workflow.py index 649571ff1..69c62cb11 100644 --- a/src/mesido/workflows/gas_elect_workflow.py +++ b/src/mesido/workflows/gas_elect_workflow.py @@ -4,6 +4,7 @@ from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin from mesido.esdl.esdl_mixin import ESDLMixin from mesido.head_loss_class import HeadLossOption +from mesido.network_common import NetworkSettings from mesido.techno_economic_mixin import TechnoEconomicMixin from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO from mesido.workflows.io.write_output import ScenarioOutput @@ -55,14 +56,26 @@ def solver_options(self): options["casadi_solver"] = self._qpsol options["solver"] = "cplex" cplex_options = options["cplex"] = {} - cplex_options["CPX_PARAM_EPGAP"] = 0.00001 + cplex_options["CPX_PARAM_EPGAP"] = 1.0e-3 options["highs"] = None return options +class SolverHIGHS: + def solver_options(self): + options = super().solver_options() + options["casadi_solver"] = self._qpsol + options["solver"] = "highs" + highs_options = options["highs"] = {} + highs_options["mip_abs_gap"] = 1.0e-3 + + return options + + class GasElectProblem( + SolverHIGHS, ScenarioOutput, ESDLAdditionalVarsMixin, TechnoEconomicMixin, @@ -74,9 +87,9 @@ class GasElectProblem( def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self._number_of_years = 1.0 + self._number_of_years = 1 - self._save_json = True + self._save_json = False def energy_system_options(self): options = super().energy_system_options() @@ -86,55 +99,36 @@ def energy_system_options(self): # losses are included # options["include_electric_cable_power_loss"] = True + # Setting for gas type + self.gas_network_settings["network_type"] = ( + NetworkSettings.NETWORK_TYPE_HYDROGEN + ) # For natural gas use NetworkSettings.NETWORK_TYPE_GAS + # Setting when started with head loss inclusions self.gas_network_settings["minimum_velocity"] = 0.0 self.gas_network_settings["maximum_velocity"] = 15.0 # TODO: resolve scaling and potential other issues preventing HIGHS to optimize the system # when LINEARIZED_N_LINES_EQUALITY head loss setting is used - # self.gas_network_settings["n_linearization_lines"] = 3 - # self.gas_network_settings["minimize_head_losses"] = False - # self.gas_network_settings["head_loss_option"] = HeadLossOption.LINEARIZED_N_LINES_EQUALITY + self.gas_network_settings["n_linearization_lines"] = 3 + self.gas_network_settings["minimize_head_losses"] = False + self.gas_network_settings["head_loss_option"] = HeadLossOption.LINEARIZED_N_LINES_EQUALITY - self.gas_network_settings["minimize_head_losses"] = True - self.gas_network_settings["head_loss_option"] = HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY + # self.gas_network_settings["minimize_head_losses"] = False + # self.gas_network_settings["head_loss_option"] = ( + # HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY + # ) return options def solver_options(self): options = super().solver_options() - options["casadi_solver"] = self._qpsol - options["solver"] = "highs" - highs_options = options["highs"] = {} - highs_options["mip_abs_gap"] = 1.0e-6 return options def read(self): super().read() - # Convert gas demand Nm3/h (data in timeseries source file) to heat demand in watts - # Assumumption: - # - gas heating value (LCV value) = 31.68 * 10^6 (J/m3) at 1bar, 273.15K - # - gas boiler efficiency 80% - # TODO: setup a standard way for gas usage and automate the link to heating value & boiler - # efficiency (if needed) - for demand in self.energy_system_components["heat_demand"]: - target = self.get_timeseries(f"{demand}.target_heat_demand") - - # Manually set heating demand values - boiler_efficiency = 0.8 - gas_heating_value_joule_m3 = 31.68 * 10**6 - for ii in range(len(target.values)): - target.values[ii] *= gas_heating_value_joule_m3 * boiler_efficiency - - self.io.set_timeseries( - f"{demand}.target_heat_demand", - self.io._DataStore__timeseries_datetimes, - target.values, - 0, - ) - def pre(self): super().pre() @@ -182,8 +176,15 @@ def goals(self): # return constraints def post(self): + super().post() + # self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) + results = self.extract_results() + parameters = self.parameters(0) if os.path.exists(self.output_folder) and self._save_json: - self._write_json_output() + bounds = self.bounds() + aliases = self.alias_relation._canonical_variables_map + solver_stats = self.solver_stats + self._write_json_output(results, parameters, bounds, aliases, solver_stats) @main_decorator diff --git a/src/mesido/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py index 53eff5123..80bab725a 100644 --- a/src/mesido/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -62,6 +62,8 @@ def __init__( "heat_exchanger", "heat_pump", "heat_pipe", + "gas_pipe", + "electricity_cable", "pump", }, "installation": { @@ -72,6 +74,8 @@ def __init__( "heat_exchanger", "heat_pump", "heat_pipe", + "gas_pipe", + "electricity_cable", "pump", }, "annualized": { @@ -82,6 +86,8 @@ def __init__( "heat_exchanger", "heat_pump", "heat_pipe", + "gas_pipe", + "electricity_cable", "pump", }, } diff --git a/tests/models/gas_electricity_network/input/HeatingDemand_W_manual.csv b/tests/models/gas_electricity_network/input/HeatingDemand_W_manual.csv new file mode 100644 index 000000000..3598507b6 --- /dev/null +++ b/tests/models/gas_electricity_network/input/HeatingDemand_W_manual.csv @@ -0,0 +1,6 @@ +DateTime,HeatingDemand_1,HeatingDemand_2 +25-01-2019 07:00,736113.11,2208339.33 +25-01-2019 08:00,894710.774,2684132.322 +25-01-2019 09:00,1000000,3000000 +25-01-2019 10:00,778775.741,2336327.223 +25-01-2019 11:00,680300.148,2040900.444 diff --git a/tests/models/gas_electricity_network/input/HeatingDemand_W_manual_HighDemand.csv b/tests/models/gas_electricity_network/input/HeatingDemand_W_manual_HighDemand.csv new file mode 100644 index 000000000..b99275b7c --- /dev/null +++ b/tests/models/gas_electricity_network/input/HeatingDemand_W_manual_HighDemand.csv @@ -0,0 +1,6 @@ +DateTime,HeatingDemand_1,HeatingDemand_2 +25-01-2019 07:00,736113.11,2208339.33 +25-01-2019 08:00,894710.774,2684132.322 +25-01-2019 09:00,40000000,3000000 +25-01-2019 10:00,778775.741,2336327.223 +25-01-2019 11:00,680300.148,2040900.444 diff --git a/tests/models/gas_electricity_network/model/gas_elect_loop_tree.esdl b/tests/models/gas_electricity_network/model/gas_elect_loop_tree.esdl new file mode 100644 index 000000000..72e8301d5 --- /dev/null +++ b/tests/models/gas_electricity_network/model/gas_elect_loop_tree.esdl @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/gas_electricity_network/src/run_gas_elect.py b/tests/models/gas_electricity_network/src/run_gas_elect.py new file mode 100644 index 000000000..3756f1ba1 --- /dev/null +++ b/tests/models/gas_electricity_network/src/run_gas_elect.py @@ -0,0 +1,263 @@ +# Note: The commented out items are requried for the manual checks/print outs below in this file +import sys +from pathlib import Path + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows.gas_elect_workflow import GasElectProblem +from mesido.workflows.utils.helpers import run_optimization_problem_solver + +# from mesido.esdl.asset_to_component_base import _AssetToComponentBase +# from mesido.esdl.edr_pipe_class import EDRGasPipeClass +# import numpy as np + +root_folder = str(Path(__file__).resolve().parent.parent.parent.parent) +sys.path.insert(1, root_folder) + +# from utils_tests import ( +# demand_matching_test, +# electric_power_conservation_test, +# energy_conservation_test, +# heat_to_discharge_test, +# gas_pipes_head_loss_test, +# ) + +if __name__ == "__main__": + import time + + start_time = time.time() + + solution = run_optimization_problem_solver( + GasElectProblem, + esdl_parser=ESDLFileParser, + esdl_file_name="gas_elect_loop_tree.esdl", + profile_reader=ProfileReaderFromFile, + input_timeseries_file="HeatingDemand_W_manual.csv", + ) + + results = solution.extract_results() + parameters = solution.parameters(0) + + solution_high_demand = run_optimization_problem_solver( + GasElectProblem, + esdl_parser=ESDLFileParser, + esdl_file_name="gas_elect_loop_tree.esdl", + profile_reader=ProfileReaderFromFile, + input_timeseries_file="HeatingDemand_W_manual_HighDemand.csv", + ) + + results_high_demand = solution_high_demand.extract_results() + parameters_high_demand = solution_high_demand.parameters(0) + + # ---------------------------------------------------------------------------------------------- + # Do not delete the code below: manual checking and testing of values + usefull prints to + # terminal + # + # print("==Tests Start==") + # + # print("HeatingDemand_1: ", results["HeatingDemand_1.Heat_flow"]) + # print("HeatPump_1: ", results["HeatPump_1.Heat_source"]) + # print("GasHeater_1: ", results["GasHeater_1.Heat_source"]) + # print("HeatingDemand_2: ", results["HeatingDemand_2.Heat_flow"]) + # print("HeatPump_2: ", results["HeatPump_2.Heat_source"]) + # print("GasHeater_2: ", results["GasHeater_2.Heat_source"]) + # + # # Test: Utils_tests + # demand_matching_test(solution, results) + # energy_conservation_test(solution, results) + # heat_to_discharge_test(solution, results) + # electric_power_conservation_test(solution, results) + # gas_pipes_head_loss_test(solution, results) + # + # demand_matching_test(solution_high_demand, results_high_demand) + # energy_conservation_test(solution_high_demand, results_high_demand) + # heat_to_discharge_test(solution_high_demand, results_high_demand) + # electric_power_conservation_test(solution_high_demand, results_high_demand) + # gas_pipes_head_loss_test(solution_high_demand, results_high_demand) + # + # # Test: Power recieved by heat demand is equal to the power supplied by conversion assets + # np.testing.assert_allclose( + # results["HeatingDemand_1.Heat_flow"], + # (results["HeatPump_1.Heat_source"] + results["GasHeater_1.Heat_source"]), + # ) + # np.testing.assert_allclose( + # results["HeatingDemand_2.Heat_flow"], + # (results["HeatPump_2.Heat_source"] + results["GasHeater_2.Heat_source"]), + # ) + # + # # Test: Check if gas pipe diameter value in resulting parameters are updated + # # with optimized values in results + # for pipe in solution.energy_system_components.get("gas_pipe", []): + # np.testing.assert_allclose( + # results[f"{pipe}__gn_diameter"], + # solution.parameters(0)[f"{pipe}.diameter"], + # atol=1.0e-12, + # ) + # np.testing.assert_allclose( + # np.pi * results[f"{pipe}__gn_diameter"][0] ** 2 / 4.0, + # solution.parameters(0)[f"{pipe}.area"], + # atol=1.0e-12, + # ) + # + # # Test: Show a larger pipe size is need for high heating demand + # pipe_diameters = [] + # for pipe in solution.energy_system_components.get("gas_pipe", []): + # if results[f"{pipe}__gn_diameter"] <= 1e-15: + # pass + # else: + # pipe_diameters.append(results[f"{pipe}__gn_diameter"][0]) + # + # pipe_diameters_high_demand = [] + # for pipe in solution_high_demand.energy_system_components.get("gas_pipe", []): + # if results_high_demand[f"{pipe}__gn_diameter"] <= 1e-15: + # pass + # else: + # pipe_diameter = results_high_demand[f"{pipe}__gn_diameter"][0] + # pipe_diameters_high_demand.append(pipe_diameter) + # print("Diameter of ", pipe, pipe_diameter) + # # print(np.array(pipe_diameters), np.array(pipe_diameters_HighDemand)) + # np.testing.assert_array_less(np.array(pipe_diameters), np.array(pipe_diameters_high_demand)) + # + # # Test: Check the burning efficiency of gas heaters + # for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: + # np.testing.assert_allclose( + # parameters[f"{asset_name}.energy_content"] + # * results[f"{asset_name}.GasIn.mass_flow"] + # * parameters[f"{asset_name}.efficiency"] + # / 1000.0, # [J/kg] * [g/s] / 1000.0 = [J/s] + # results[f"{asset_name}.Heat_source"], + # ) + # + # # Test: Check gas consumption vs production balance + # total_gas_demand_g = [0] * len(np.diff(solution.times())) + # total_gas_source_g = [0] * len(np.diff(solution.times())) + # for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: + # for ii in range(1, len(results[f"{asset_name}.Gas_demand_mass_flow"])): + # total_gas_demand_g[ii - 1] += ( + # results[f"{asset_name}.Gas_demand_mass_flow"][ii] + # * np.diff(solution.times())[ii - 1] + # ) + # for asset_name in [*solution.energy_system_components.get("gas_source", [])]: + # for ii in range(1, len(results[f"{asset_name}.Gas_source_mass_flow"])): + # total_gas_source_g[ii - 1] += ( + # results[f"{asset_name}.Gas_source_mass_flow"][ii] + # * np.diff(solution.times())[ii - 1] + # ) + # # print('total_gas_source_g: ', total_gas_source_g ) + # # print('total_gas_demand_g: ', total_gas_demand_g) + # np.testing.assert_allclose(total_gas_source_g, total_gas_demand_g) + # + # # Test: Check if manually calculated TCO is equal to Objective function value + # pipe_classes = [ + # EDRGasPipeClass.from_edr_class( + # name, edr_class_name, solution.gas_network_settings["maximum_velocity"] + # ) + # for name, edr_class_name in _AssetToComponentBase.STEEL_S1_PIPE_EDR_ASSETS.items() + # ] + # total_opex = 0.0 + # total_capex = 0.0 + # for asset in [ + # *solution.energy_system_components.get("heat_source", []), + # *solution.energy_system_components.get("electricity_cable", []), + # *solution.energy_system_components.get("gas_pipe", []), + # ]: + # + # # investment cost + # investment_cost = 0.0 + # if asset in [ + # *solution.energy_system_components.get("heat_source", []), + # *solution.energy_system_components.get("electricity_cable", []), + # ]: + # investment_cost_info = ( + # solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + # .attributes["costInformation"] + # .investmentCosts.value + # ) + # if asset in solution.energy_system_components["heat_source"]: + # investment_cost = investment_cost_info * results[f"{asset}__max_size"] / 1.0e6 + # elif asset in solution.energy_system_components["electricity_cable"]: + # investment_cost = investment_cost_info * parameters[f"{asset}.length"] + # elif asset in solution.energy_system_components["gas_pipe"]: + # if parameters[f"{asset}.diameter"] > 0: + # for iter in range(len(pipe_classes)): + # if pipe_classes[iter].inner_diameter == parameters[f"{asset}.diameter"]: + # investment_cost = ( + # pipe_classes[iter].investment_costs * parameters[f"{asset}.length"] + # ) + # total_capex += investment_cost + # print( + # "investment cost: ", + # asset, + # investment_cost, + # abs(investment_cost - results[f"{asset}__investment_cost"]) < 1.0e-8, + # ) + # np.testing.assert_allclose(investment_cost, results[f"{asset}__investment_cost"]) + # + # # installation cost + # if asset in solution.energy_system_components["heat_source"]: + # if results[f"{asset}__max_size"] < 1e-8: + # installation_cost = 0 + # else: + # installation_cost = ( + # solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + # .attributes["costInformation"] + # .installationCosts.value + # ) + # print( + # "installation cost: ", + # asset, + # installation_cost, + # abs(installation_cost - results[f"{asset}__installation_cost"]) < 1.0e-8, + # ) + # total_capex += installation_cost + # np.testing.assert_allclose(installation_cost, results[f"{asset}__installation_cost"]) + # + # # variable operational cost + # timesteps_hr = np.diff(solution.times()) / 3600 + # variable_operational_cost = 0.0 + # if asset in solution.energy_system_components["heat_source"]: + # var_op_costs = ( + # solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + # .attributes["costInformation"] + # .variableOperationalCosts.value + # / 1.0e6 + # ) + # assert var_op_costs > 0 + # factor = 1.0 + # if asset in [ + # *solution.energy_system_components.get("air_water_heat_pump_elec", []), + # ]: + # factor = solution.esdl_assets[ + # solution.esdl_asset_name_to_id_map[f"{asset}"] + # ].attributes["COP"] + # if asset in [ + # *solution.energy_system_components.get("gas_boiler", []), + # ]: + # factor = solution.esdl_assets[ + # solution.esdl_asset_name_to_id_map[f"{asset}"] + # ].attributes["efficiency"] + # # assert factor >= 1.0 + # for ii in range(1, len(solution.times())): + # variable_operational_cost += ( + # var_op_costs * results[f"{asset}.Heat_flow"][ii] * timesteps_hr[ii - 1] + # / factor + # ) + # print( + # "variable operational cost: ", + # asset, + # variable_operational_cost, + # abs(variable_operational_cost - results[f"{asset}__variable_operational_cost"]) + # < 1.0e-8, + # ) + # np.testing.assert_allclose( + # variable_operational_cost, results[f"{asset}__variable_operational_cost"] + # ) + # total_opex += variable_operational_cost + # + # print("Calculated TCO: ", (total_capex[0] + total_opex) / 1.0e6) + # print("Objective Value: ", solution.objective_value) + # np.testing.assert_allclose( + # solution.objective_value, (total_capex[0] + total_opex) / 1.0e6, atol=1.0e-6 + # ) + # + # print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/test_gas_boiler.py b/tests/test_gas_boiler.py index c54b09916..ce35e687a 100644 --- a/tests/test_gas_boiler.py +++ b/tests/test_gas_boiler.py @@ -50,6 +50,7 @@ def test_gas_boiler(self): np.testing.assert_array_less( parameters["GasHeater_f713.energy_content"] * results["GasHeater_f713.GasIn.mass_flow"] + * parameters["GasHeater_f713.efficiency"] / 1000.0, # [J/kg] * [g/s] / 1000.0 = [J/s] results["GasHeater_f713.Heat_source"] + 1.0e-6, ) diff --git a/tests/test_gas_electricity.py b/tests/test_gas_electricity.py new file mode 100644 index 000000000..238345142 --- /dev/null +++ b/tests/test_gas_electricity.py @@ -0,0 +1,222 @@ +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.asset_to_component_base import _AssetToComponentBase +from mesido.esdl.edr_pipe_class import EDRGasPipeClass +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows.utils.helpers import run_optimization_problem_solver + +import numpy as np + +from utils_tests import ( + demand_matching_test, + electric_power_conservation_test, + energy_conservation_test, + gas_pipes_head_loss_test, + heat_to_discharge_test, +) + + +class TestGasElect(TestCase): + def test_gas_elect(self): + """ + Small scaled case that uses hydrogen and electricity commodities is added. Case includes + 2 Heating demand, 1 gas pipe looped network, 1 electricity network, 2 heat pumps and + 2 gas boilers. Conversion assets have installation (EUR), investment (EUR/MW) and + variable operational costs (EUR/MWh). Gas pipes and electricity cables have + investment cost (EUR/m). + - Investment cost of HeatPump assets in EUR/MW refers to euro-per-watt-thermal + - Investment cost of GasBoiler assets in EUR/MW refers to euro-per-watt-thermal + - Variable operational cost of HeatPump assets in EUR/MWh refers + to euro-per-watt-electricity-per-hour + - Variable operational cost of GasBoiler assets in EUR/MWh refers + to euro-per-watt-gas-per-hour + + + Checks: + 1. utils test: demand_matching_test, energy_conservation_test, heat_to_discharge_test, + electric_power_conservation_test, gas_pipes_head_loss_test + 2. gas pipe diameter value in resulting parameters are updated with optimized values + in results + 3. higher heating demand require larger size of gas pipes + 4. heat source energy of gas boiler is equal to consumed gas energy * efficiency + 5. gas consumption is equal to production + 6. manually calculated TCO is equal to Objective function value + """ + import models.gas_electricity_network.src.run_gas_elect as example + from models.gas_electricity_network.src.run_gas_elect import GasElectProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_optimization_problem_solver( + GasElectProblem, + base_folder=base_folder, + esdl_parser=ESDLFileParser, + esdl_file_name="gas_elect_loop_tree.esdl", + profile_reader=ProfileReaderFromFile, + input_timeseries_file="HeatingDemand_W_manual.csv", + ) + + results = solution.extract_results() + parameters = solution.parameters(0) + + solution_high_demand = run_optimization_problem_solver( + GasElectProblem, + base_folder=base_folder, + esdl_parser=ESDLFileParser, + esdl_file_name="gas_elect_loop_tree.esdl", + profile_reader=ProfileReaderFromFile, + input_timeseries_file="HeatingDemand_W_manual_HighDemand.csv", + ) + + results_high_demand = solution_high_demand.extract_results() + + # Test: Utils_tests + demand_matching_test(solution, results) + energy_conservation_test(solution, results) + heat_to_discharge_test(solution, results) + electric_power_conservation_test(solution, results) + gas_pipes_head_loss_test(solution, results) + + demand_matching_test(solution_high_demand, results_high_demand) + energy_conservation_test(solution_high_demand, results_high_demand) + heat_to_discharge_test(solution_high_demand, results_high_demand) + electric_power_conservation_test(solution_high_demand, results_high_demand) + gas_pipes_head_loss_test(solution_high_demand, results_high_demand) + + # Test: Check if gas pipe diameter value in resulting parameters are + # updated with optimized values in results + for pipe in solution.energy_system_components.get("gas_pipe", []): + np.testing.assert_allclose( + results[f"{pipe}__gn_diameter"], + solution.parameters(0)[f"{pipe}.diameter"], + ) + np.testing.assert_allclose( + np.pi * results[f"{pipe}__gn_diameter"][0] ** 2 / 4.0, + solution.parameters(0)[f"{pipe}.area"], + ) + + # Test: Show a larger pipe size is need for high heating demand + pipe_diameters = [] + for pipe in solution.energy_system_components.get("gas_pipe", []): + if results[f"{pipe}__gn_diameter"] <= 1e-15: + pass + else: + pipe_diameters.append(results[f"{pipe}__gn_diameter"][0]) + pipe_diameters_high_demand = [] + for pipe in solution_high_demand.energy_system_components.get("gas_pipe", []): + if results_high_demand[f"{pipe}__gn_diameter"] <= 1e-15: + pass + else: + pipe_diameters_high_demand.append(results_high_demand[f"{pipe}__gn_diameter"][0]) + np.testing.assert_array_less(np.array(pipe_diameters), np.array(pipe_diameters_high_demand)) + + # Test: Check the burning efficiency of gas heaters + for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: + np.testing.assert_allclose( + parameters[f"{asset_name}.energy_content"] + * results[f"{asset_name}.GasIn.mass_flow"] + * parameters[f"{asset_name}.efficiency"] + / 1000.0, # [J/kg] * [g/s] / 1000.0 = [J/s] + results[f"{asset_name}.Heat_source"], + ) + + # Test: Check gas consumption vs production balance + total_gas_demand_g = [0] * len(np.diff(solution.times())) + total_gas_source_g = [0] * len(np.diff(solution.times())) + for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: + total_gas_demand_g += results[f"{asset_name}.Gas_demand_mass_flow"][1:] * np.diff( + solution.times() + ) + for asset_name in [*solution.energy_system_components.get("gas_source", [])]: + total_gas_source_g += results[f"{asset_name}.Gas_source_mass_flow"][1:] * np.diff( + solution.times() + ) + np.testing.assert_allclose(total_gas_source_g, total_gas_demand_g) + + # Test: Check if manually calculated TCO is equal to Objective function value + pipe_classes = [ + EDRGasPipeClass.from_edr_class( + name, edr_class_name, solution.gas_network_settings["maximum_velocity"] + ) + for name, edr_class_name in _AssetToComponentBase.STEEL_S1_PIPE_EDR_ASSETS.items() + ] + total_opex = 0.0 + total_capex = 0.0 + for asset in [ + *solution.energy_system_components.get("heat_source", []), + *solution.energy_system_components.get("electricity_cable", []), + *solution.energy_system_components.get("gas_pipe", []), + ]: + esdl_asset = solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + costs_esdl_asset = esdl_asset.attributes["costInformation"] + + # investment cost + investment_cost = 0.0 + if asset in [ + *solution.energy_system_components.get("heat_source", []), + *solution.energy_system_components.get("electricity_cable", []), + ]: + investment_cost_info = costs_esdl_asset.investmentCosts.value + if asset in solution.energy_system_components["heat_source"]: + investment_cost = investment_cost_info * results[f"{asset}__max_size"] / 1.0e6 + elif asset in solution.energy_system_components["electricity_cable"]: + investment_cost = investment_cost_info * parameters[f"{asset}.length"] + elif asset in solution.energy_system_components["gas_pipe"]: + if parameters[f"{asset}.diameter"] > 0: + for iter in range(len(pipe_classes)): + if pipe_classes[iter].inner_diameter == parameters[f"{asset}.diameter"]: + investment_cost = ( + pipe_classes[iter].investment_costs * parameters[f"{asset}.length"] + ) + total_capex += investment_cost + np.testing.assert_allclose(investment_cost, results[f"{asset}__investment_cost"]) + + # installation cost + if asset in solution.energy_system_components["heat_source"]: + if results[f"{asset}__max_size"] < 1e-8: + installation_cost = 0 + else: + installation_cost = costs_esdl_asset.installationCosts.value + total_capex += installation_cost + np.testing.assert_allclose( + installation_cost, results[f"{asset}__installation_cost"] + ) + + # variable operational cost + timesteps_hr = np.diff(solution.times()) / 3600 + variable_operational_cost = 0.0 + if asset in solution.energy_system_components["heat_source"]: + var_op_costs = costs_esdl_asset.variableOperationalCosts.value / 1.0e6 + assert var_op_costs > 0 + factor = 1.0 + if asset in [ + *solution.energy_system_components.get("air_water_heat_pump_elec", []), + ]: + factor = esdl_asset.attributes["COP"] + if asset in [ + *solution.energy_system_components.get("gas_boiler", []), + ]: + factor = esdl_asset.attributes["efficiency"] + for ii in range(1, len(solution.times())): + variable_operational_cost += ( + var_op_costs + * results[f"{asset}.Heat_flow"][ii] + * timesteps_hr[ii - 1] + / factor + ) + np.testing.assert_allclose( + variable_operational_cost, results[f"{asset}__variable_operational_cost"] + ) + total_opex += variable_operational_cost + + np.testing.assert_allclose( + solution.objective_value, (total_capex[0] + total_opex) / 1.0e6, atol=1.0e-6 + ) + + +if __name__ == "__main__": + + a = TestGasElect() + a.test_gas_elect() diff --git a/tests/utils_tests.py b/tests/utils_tests.py index a77320fcc..2577ae89e 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -1,5 +1,9 @@ from unittest import TestCase +from mesido._darcy_weisbach import friction_factor, head_loss +from mesido.constants import GRAVITATIONAL_CONSTANT +from mesido.head_loss_class import HeadLossOption + import numpy as np @@ -168,7 +172,6 @@ def heat_to_discharge_test(solution, results): # return_t = solution.parameters(0)[f"{d}.T_return"] supply_t, return_t, dt = _get_component_temperatures(solution, results, d) - print(d, max(abs(results[f"{d}.HeatOut.Heat"] - results[f"{d}.Q"] * rho * cp * supply_t))) np.testing.assert_allclose( results[f"{d}.HeatOut.Heat"], results[f"{d}.Q"] * rho * cp * supply_t, @@ -468,3 +471,112 @@ def energy_conservation_test(solution, results): energy_sum -= results[f"{p}__hn_heat_loss"] np.testing.assert_allclose(energy_sum, 0.0, atol=1e-2) + + +def gas_pipes_head_loss_test(solution, results): + """Test to check if the result dH is equal to manually calculated dH via linear interpolation""" + for pipe in solution.energy_system_components.get("gas_pipe", []): + if results[f"{pipe}__gn_diameter"] <= 1e-15: + pass + else: + v_max = solution.gas_network_settings["maximum_velocity"] + pipe_diameter = results[f"{pipe}__gn_diameter"][0] + area = np.pi * pipe_diameter**2 / 4.0 + network_type = solution.gas_network_settings["network_type"] + pressure = solution.parameters(0)[f"{pipe}.pressure"] + pipe_wall_roughness = solution.energy_system_options()["wall_roughness"] + temperature = 20 # is default for gas pipes + pipe_length = solution.parameters(0)[f"{pipe}.length"] + v_pipe = results[f"{pipe}.Q"] / area + if ( + solution.gas_network_settings["head_loss_option"] + == HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY + ): + ff = friction_factor( + velocity=v_max, + diameter=pipe_diameter, + network_type=network_type, + pressure=pressure, + wall_roughness=pipe_wall_roughness, + temperature=temperature, + ) + c_v = solution.parameters(0)[f"{pipe}.length"] * ff / (2 * 9.81) / pipe_diameter + dh_max = c_v * v_max**2 + dh_manual = dh_max * v_pipe / v_max + np.testing.assert_allclose(-dh_manual, results[f"{pipe}.dH"], atol=1.0e-12) + + elif ( + solution.gas_network_settings["head_loss_option"] + == HeadLossOption.LINEARIZED_N_LINES_EQUALITY + ): + itime = 2 # 0 + v_points = np.linspace( + 0.0, + v_max, + solution.gas_network_settings["n_linearization_lines"] + 1, + ) + v_inspect = v_pipe[itime] + + # Theoretical head loss calc, dH = + # friction_factor * 8 * pipe_length * volumetric_flow^2 + # / ( pipe_diameter^5 * g * pi^2) + dh_theory = ( + friction_factor( + velocity=v_inspect, + diameter=pipe_diameter, + network_type=network_type, + pressure=pressure, + wall_roughness=pipe_wall_roughness, + temperature=temperature, + ) + * 8.0 + * pipe_length + * (v_inspect * np.pi * pipe_diameter**2 / 4.0) ** 2 + / (pipe_diameter**5 * GRAVITATIONAL_CONSTANT * np.pi**2) + ) + # Approximate dH [m] vs Q [m3/s] with a linear line between between v_points + # dH_manual_linear = a*Q + b + # Then use this linear function to calculate the head loss + idx = int(np.searchsorted(v_points, v_inspect)) + + dh_theory_idx = head_loss( + velocity=v_points[idx], + diameter=pipe_diameter, + length=pipe_length, + network_type=network_type, + pressure=pressure, + wall_roughness=pipe_wall_roughness, + temperature=temperature, + ) + + dh_theory_idx_minus = head_loss( + velocity=v_points[idx - 1], + diameter=pipe_diameter, + length=pipe_length, + network_type=network_type, + pressure=pressure, + wall_roughness=pipe_wall_roughness, + temperature=temperature, + ) + q_idx = v_points[idx] * np.pi * pipe_diameter**2 / 4.0 + q_idx_minus = v_points[idx - 1] * np.pi * pipe_diameter**2 / 4.0 + q_inspect = v_inspect * np.pi * pipe_diameter**2 / 4.0 + + a = (dh_theory_idx - dh_theory_idx_minus) / (q_idx - q_idx_minus) + b = dh_theory_idx - a * q_idx + dh_manual_linear = a * q_inspect + b + + dh_milp_head_loss_function = head_loss( + v_inspect, + pipe_diameter, + pipe_length, + pipe_wall_roughness, + temperature, + network_type=solution.gas_network_settings["network_type"], + pressure=solution.parameters(0)[f"{pipe}.pressure"], + ) + np.testing.assert_allclose(dh_theory, dh_milp_head_loss_function) + np.testing.assert_array_less(dh_milp_head_loss_function, dh_manual_linear) + np.testing.assert_allclose( + results[f"{pipe}.dH"][itime], -dh_manual_linear, atol=1.0e-12 + ) From d7b756fd7c4ea5fcbbd2963f81855f62df128743 Mon Sep 17 00:00:00 2001 From: Femke Janssen Date: Tue, 12 Aug 2025 09:12:39 +0200 Subject: [PATCH 277/376] test timelimit for ci pipeline on github --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b90f3aa1f..76e81033b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,6 +54,7 @@ jobs: test_main: name: Test main runs-on: ubuntu-latest + timeout-minutes: 1 if: ${{ !github.event.pull_request.draft }} env: TOXENV: py38 From d1286cdf024222f6c7b246fb93c0fe16db6022c4 Mon Sep 17 00:00:00 2001 From: Femke Janssen Date: Tue, 12 Aug 2025 09:17:34 +0200 Subject: [PATCH 278/376] timelimits on all jobs, 10 minutes for main and 5 minutes for other jobs --- .github/workflows/ci.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 76e81033b..5f4d909cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,6 +17,7 @@ jobs: style: name: Check style runs-on: ubuntu-latest + timeout-minutes: 5 if: ${{ !github.event.pull_request.draft }} env: TOXENV: flake8,black @@ -36,6 +37,7 @@ jobs: build: name: Check build runs-on: ubuntu-latest + timeout-minutes: 5 if: ${{ !github.event.pull_request.draft }} steps: - uses: actions/checkout@v3 @@ -54,7 +56,7 @@ jobs: test_main: name: Test main runs-on: ubuntu-latest - timeout-minutes: 1 + timeout-minutes: 10 if: ${{ !github.event.pull_request.draft }} env: TOXENV: py38 @@ -75,6 +77,7 @@ jobs: test_pre_processing: name: Test pre-processing runs-on: ubuntu-latest + timeout-minutes: 5 if: ${{ !github.event.pull_request.draft }} env: TOXENV: py38 @@ -111,6 +114,7 @@ jobs: name: Test post-processing needs: test_pre_processing runs-on: ubuntu-latest + timeout-minutes: 5 if: ${{ !github.event.pull_request.draft }} env: TOXENV: py38 @@ -141,6 +145,7 @@ jobs: documentation: name: Generate documentation runs-on: ubuntu-latest + timeout-minutes: 5 if: ${{ !github.event.pull_request.draft }} steps: - uses: actions/checkout@v3 From 8d27cc7f5561b907585181cae3941bef158e192c Mon Sep 17 00:00:00 2001 From: Femke Janssen Date: Tue, 12 Aug 2025 09:18:49 +0200 Subject: [PATCH 279/376] notes in changeslog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 57e8d490e..2ccf7dd35 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ -# [Unreleased-main] - 2025-07-23 +# [Unreleased-main] - 2025-08-12 ## Added - Elect test for air_to_water_heat_pump_elec +- Timelimit for testing in pipeline ## Changed - Previously variable operational cost of air-to-water heat pump was based on the thermal power usage. Now it is based on the electrical power usage From 119cace610236f15a6f0439ea01d61ca9bab904c Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Thu, 14 Aug 2025 13:52:58 +0200 Subject: [PATCH 280/376] =?UTF-8?q?Lifetime=20of=20an=20asset=20is=20taken?= =?UTF-8?q?=20into=20account=20in=20optimization=20for=20CAPEX=20=E2=80=A6?= =?UTF-8?q?=20(#308)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Lifetime of an asset is taken into account in optimization for CAPEX and OPEX * Lifetime influence on "fixed operational cost" is removed from the previous modifications * temporary fix in tco objective cost calculations till the generic_esdl_heatmodel_modifiers PR is approved --------- Co-authored-by: Femke Janssen --- CHANGELOG.md | 3 ++- src/mesido/esdl/esdl_heat_model.py | 7 +++++++ src/mesido/workflows/gas_elect_workflow.py | 2 +- src/mesido/workflows/goals/minimize_tco_goal.py | 14 +++++++++++++- ...work_with_ates_with_buffer_all_optional.esdl | 4 ++-- tests/test_end_scenario_sizing.py | 17 +++++++++++++---- 6 files changed, 38 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ccf7dd35..2c2cf7bd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2025-08-12 +# [Unreleased-main] - 2025-08-14 ## Added - Elect test for air_to_water_heat_pump_elec @@ -6,6 +6,7 @@ ## Changed - Previously variable operational cost of air-to-water heat pump was based on the thermal power usage. Now it is based on the electrical power usage +- TCO cost calculation objective now used the technical lifetime to determine the frequency of the re-investment costs. ## Fixed - Bug: Add 3 port heat pump to elect demand path constraint diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index f450c5b1c..fd9ea7bbd 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -422,6 +422,13 @@ def convert_heat_demand(self, asset: Asset) -> Tuple[Type[HeatDemand], MODIFIERS q_nominal = self._get_connected_q_nominal(asset) modifiers = dict( + technical_life=self.get_asset_attribute_value( + asset, + "technicalLifetime", + default_value=30.0, + min_value=1.0, + max_value=50.0, + ), Q_nominal=q_nominal, Heat_demand=dict(max=max_demand, nominal=max_demand / 2.0), Heat_flow=dict(max=max_demand, nominal=max_demand / 2.0), diff --git a/src/mesido/workflows/gas_elect_workflow.py b/src/mesido/workflows/gas_elect_workflow.py index 69c62cb11..1a7c0edf2 100644 --- a/src/mesido/workflows/gas_elect_workflow.py +++ b/src/mesido/workflows/gas_elect_workflow.py @@ -69,7 +69,7 @@ def solver_options(self): options["casadi_solver"] = self._qpsol options["solver"] = "highs" highs_options = options["highs"] = {} - highs_options["mip_abs_gap"] = 1.0e-3 + highs_options["mip_rel_gap"] = 1.0e-3 return options diff --git a/src/mesido/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py index 80bab725a..ccc9baed0 100644 --- a/src/mesido/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -114,6 +114,8 @@ def _calculate_cost( If `discounted_annualized_cost` is not defined or False, the operational and fixed operational costs are multiplied by the number_of_years. + + Args: optimization_problem (TechnoEconomicMixin): The optimization problem instance. cost_type (str): The type of cost to calculate ("operational", @@ -128,6 +130,16 @@ def _calculate_cost( obj = 0.0 for asset_type in asset_types: for asset in optimization_problem.energy_system_components.get(asset_type, []): + technical_lifetime = optimization_problem.parameters(0)[f"{asset}.technical_life"] + # FIXME: This is a temporary fix till in the esdl_heat_model the generic_modifiers + # PR is approved. + if not technical_lifetime > 0.0 and ( + "gas" in asset_type or "electricity" in asset_type + ): + technical_lifetime = self.number_of_years + factor = self.number_of_years / technical_lifetime + if factor < 1.0: + factor = 1.0 extra_var = optimization_problem.extra_variable(cost_type_map[asset]) if options["discounted_annualized_cost"]: # We only want the operational cost for a single year when we use @@ -137,7 +149,7 @@ def _calculate_cost( obj += extra_var * self.number_of_years else: # These are the CAPEX cost under non-annualized condition - obj += extra_var + obj += extra_var * factor return obj def function(self, optimization_problem: TechnoEconomicMixin, ensemble_member) -> MX: diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl index ed5482797..2620fa0c2 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl @@ -188,7 +188,7 @@ - + @@ -329,7 +329,7 @@ - + diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 2d4c24178..40524636a 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -100,12 +100,16 @@ def test_end_scenario_sizing(self): *self.solution.energy_system_components.get("heat_pump", []), *self.solution.energy_system_components.get("heat_pipe", []), ]: + technical_lifetime = self.solution.parameters(0)[f"{asset}.technical_life"] + factor = years / technical_lifetime + if factor < 1.0: + factor = 1.0 obj += self.results[f"{self.solution._asset_fixed_operational_cost_map[asset]}"] * years obj += ( self.results[f"{self.solution._asset_variable_operational_cost_map[asset]}"] * years ) - obj += self.results[f"{self.solution._asset_investment_cost_map[asset]}"] - obj += self.results[f"{self.solution._asset_installation_cost_map[asset]}"] + obj += self.results[f"{self.solution._asset_investment_cost_map[asset]}"] * factor + obj += self.results[f"{self.solution._asset_installation_cost_map[asset]}"] * factor np.testing.assert_allclose(obj / 1.0e6, self.solution.objective_value) @@ -129,6 +133,7 @@ def test_end_scenario_sizing_staged(self): function run_end_scenario_sizing with staged_pipe_optimization to False should have comparable computation times. + Missing: - Link ATES t0 utilization to state of charge at end of year for optimizations over one year. @@ -190,10 +195,14 @@ def test_end_scenario_sizing_staged(self): *solution_staged.energy_system_components.get("heat_pump", []), *solution_staged.energy_system_components.get("heat_pipe", []), ]: + technical_lifetime = solution_staged.parameters(0)[f"{asset}.technical_life"] + factor = years / technical_lifetime + if factor < 1.0: + factor = 1.0 obj += results[f"{solution_staged._asset_fixed_operational_cost_map[asset]}"] * years obj += results[f"{solution_staged._asset_variable_operational_cost_map[asset]}"] * years - obj += results[f"{solution_staged._asset_investment_cost_map[asset]}"] - obj += results[f"{solution_staged._asset_installation_cost_map[asset]}"] + obj += results[f"{solution_staged._asset_investment_cost_map[asset]}"] * factor + obj += results[f"{solution_staged._asset_installation_cost_map[asset]}"] * factor np.testing.assert_allclose(obj / 1.0e6, solution_staged.objective_value) From eaa7fda5e1369beae7d62db4b1452dbe8c48feba Mon Sep 17 00:00:00 2001 From: gopalangj Date: Fri, 22 Aug 2025 10:35:03 +0200 Subject: [PATCH 281/376] 309 heatingdemand asset add fixed maintenance costs (#336) Excluded heating demands costs from TCO calculation objective function if the state is enabled, additionally checking potential errors in heat model Added testing for the modification of TCO objective function --- CHANGELOG.md | 9 + src/mesido/esdl/asset_to_component_base.py | 1 + src/mesido/esdl/esdl_heat_model.py | 10 + src/mesido/potential_errors.py | 1 + .../workflows/goals/minimize_tco_goal.py | 31 ++- src/mesido/workflows/utils/error_types.py | 3 + ...1a_with_influx_profiles_error_check_4.esdl | 172 ++++++++++++++++ tests/test_end_scenario_sizing.py | 77 ++++---- tests/test_potential_errors.py | 187 ++++++++++++++++++ tests/test_profile_parsing.py | 123 ------------ 10 files changed, 440 insertions(+), 174 deletions(-) create mode 100644 tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_4.esdl create mode 100644 tests/test_potential_errors.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c2cf7bd5..743a3a85b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [Unreleased-main] - 2025-08-19 + +## Added +- Potential error checks if heating demand state is not set to enabled + +## Changed +- TCO cost calculation objective to now exclude heating demand costs in the grow workflow + + # [Unreleased-main] - 2025-08-14 ## Added diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 5c15fd93f..5cb3b2433 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -1059,6 +1059,7 @@ def _get_cost_figure_modifiers(self, asset: Asset) -> Dict: asset, per_unit=UnitEnum.WATT ) modifiers["installation_cost"] = self.get_installation_costs(asset) + modifiers["fixed_operational_cost_coefficient"] = self.get_fixed_opex_costs(asset) elif asset.asset_type == "GasDemand": modifiers["variable_operational_cost_coefficient"] = self.get_variable_opex_costs(asset) elif asset.asset_type == "GasProducer": diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index fd9ea7bbd..e8b7cf4fe 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -421,6 +421,16 @@ def convert_heat_demand(self, asset: Asset) -> Tuple[Type[HeatDemand], MODIFIERS q_nominal = self._get_connected_q_nominal(asset) + state = asset.attributes["state"] + + if state == esdl.AssetStateEnum.OPTIONAL: + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.HEAT_DEMAND_STATE, + asset.id, + f"Asset named {asset.name} : The asset should be enabled since there is " + f"no sizing optimization on HeatingDemands", + ) + modifiers = dict( technical_life=self.get_asset_attribute_value( asset, diff --git a/src/mesido/potential_errors.py b/src/mesido/potential_errors.py index 3fe155f31..110065b5e 100644 --- a/src/mesido/potential_errors.py +++ b/src/mesido/potential_errors.py @@ -15,6 +15,7 @@ class MesidoAssetIssueType(Enum): HEAT_DEMAND_TYPE = "heat_demand.type" ASSET_PROFILE_CAPABILITY = "asset_profile.capability" HEAT_EXCHANGER_TEMPERATURES = "heat_exchanger.temperature" + HEAT_DEMAND_STATE = "heat_demand.state" class PotentialErrors: diff --git a/src/mesido/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py index ccc9baed0..857d4be60 100644 --- a/src/mesido/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -53,6 +53,7 @@ def __init__( "heat_pump", "heat_exchanger", "pump", + "heat_demand", }, "investment": { "heat_source", @@ -105,6 +106,7 @@ def _calculate_cost( asset_types: Set[str], cost_type_map: Dict[str, float], options: Dict[str, Any], + ensemble_member: int, ) -> MX: """ Calculate the cost for given asset types using a specified cost map. @@ -123,6 +125,7 @@ def _calculate_cost( asset_types (Set[str]): Set of asset types to consider for cost calculation. cost_type_map (Dict[str, Any]): Mapping of assets to their respective costs. options (Dict[str, Any]): Options dictionary from energy_system_options + ensemble_member (int): The current ensemble member being considered in the optimization. Returns: MX object: CasADi expression with total cost for the given asset types. @@ -141,15 +144,24 @@ def _calculate_cost( if factor < 1.0: factor = 1.0 extra_var = optimization_problem.extra_variable(cost_type_map[asset]) - if options["discounted_annualized_cost"]: - # We only want the operational cost for a single year when we use - # annualized CAPEX. - obj += extra_var - elif "operational" in cost_type: - obj += extra_var * self.number_of_years - else: - # These are the CAPEX cost under non-annualized condition - obj += extra_var * factor + + # For the GROW workflow, we do not add any costs for the asset HeatingDemand in the + # TCO minimization calculation since this is not sized. Thus, we need to exclude + # this from optimization objective function. Though the HeatingDemand costs are + # added to the TCO while post-processing. + + asset_state = optimization_problem.parameters(ensemble_member)[f"{asset}.state"] + + if not ((asset_type == "heat_demand") and (asset_state == 1.0)): + if options["discounted_annualized_cost"]: + # We only want the operational cost for a single year when we use + # annualized CAPEX. + obj += extra_var + elif "operational" in cost_type: + obj += extra_var * self.number_of_years + else: + # These are the CAPEX cost under non-annualized condition + obj += extra_var return obj def function(self, optimization_problem: TechnoEconomicMixin, ensemble_member) -> MX: @@ -189,6 +201,7 @@ def function(self, optimization_problem: TechnoEconomicMixin, ensemble_member) - self.asset_type_maps[cost_type], cost_type_maps[cost_type], options, + ensemble_member, ) return obj diff --git a/src/mesido/workflows/utils/error_types.py b/src/mesido/workflows/utils/error_types.py index a12cd44ce..39ab07691 100644 --- a/src/mesido/workflows/utils/error_types.py +++ b/src/mesido/workflows/utils/error_types.py @@ -30,6 +30,7 @@ def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY: "Profile assigment not allowed.", MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES: "Temperatures at heat exchanger set " "incorrectly.", + MesidoAssetIssueType.HEAT_DEMAND_STATE: "Heating Demand state set to OPTIONAL", } return type_and_general_meassage[issue_type] @@ -49,6 +50,7 @@ def potential_error_to_error(network_check_type: Enum) -> None: MesidoAssetIssueType.HEAT_DEMAND_TYPE, MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, + MesidoAssetIssueType.HEAT_DEMAND_STATE, ], HEAT_AND_COOL_NETWORK_ERRORS: [ MesidoAssetIssueType.HEAT_DEMAND_POWER, @@ -56,6 +58,7 @@ def potential_error_to_error(network_check_type: Enum) -> None: MesidoAssetIssueType.HEAT_DEMAND_TYPE, MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, + MesidoAssetIssueType.HEAT_DEMAND_STATE, ], # Example of extra error types / groups that can be added. This one is not used yet. CUSTOM_ERRORS: [MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY], diff --git a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_4.esdl b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_4.esdl new file mode 100644 index 000000000..db8e8b110 --- /dev/null +++ b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_4.esdl @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 40524636a..af1ab4d15 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -1,6 +1,8 @@ from pathlib import Path from unittest import TestCase +import esdl + import mesido._darcy_weisbach as darcy_weisbach from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile @@ -89,27 +91,7 @@ def test_end_scenario_sizing(self): if i < peak_day_indx or i > (peak_day_indx + 23): np.testing.assert_allclose(heat_buffer[i], 0.0, atol=1.0e-6) - obj = 0.0 - years = self.solution.parameters(0)["number_of_years"] - for asset in [ - *self.solution.energy_system_components.get("heat_source", []), - *self.solution.energy_system_components.get("ates", []), - *self.solution.energy_system_components.get("heat_buffer", []), - *self.solution.energy_system_components.get("heat_demand", []), - *self.solution.energy_system_components.get("heat_exchanger", []), - *self.solution.energy_system_components.get("heat_pump", []), - *self.solution.energy_system_components.get("heat_pipe", []), - ]: - technical_lifetime = self.solution.parameters(0)[f"{asset}.technical_life"] - factor = years / technical_lifetime - if factor < 1.0: - factor = 1.0 - obj += self.results[f"{self.solution._asset_fixed_operational_cost_map[asset]}"] * years - obj += ( - self.results[f"{self.solution._asset_variable_operational_cost_map[asset]}"] * years - ) - obj += self.results[f"{self.solution._asset_investment_cost_map[asset]}"] * factor - obj += self.results[f"{self.solution._asset_installation_cost_map[asset]}"] * factor + obj = self.get_objective_value_end_scenario_sizing(self.solution) np.testing.assert_allclose(obj / 1.0e6, self.solution.objective_value) @@ -184,25 +166,7 @@ def test_end_scenario_sizing_staged(self): if i < peak_day_indx or i > (peak_day_indx + 23): np.testing.assert_allclose(heat_buffer[i], 0.0, atol=1.0e-6) - obj = 0.0 - years = solution_staged.parameters(0)["number_of_years"] - for asset in [ - *solution_staged.energy_system_components.get("heat_source", []), - *solution_staged.energy_system_components.get("ates", []), - *solution_staged.energy_system_components.get("heat_buffer", []), - *solution_staged.energy_system_components.get("heat_demand", []), - *solution_staged.energy_system_components.get("heat_exchanger", []), - *solution_staged.energy_system_components.get("heat_pump", []), - *solution_staged.energy_system_components.get("heat_pipe", []), - ]: - technical_lifetime = solution_staged.parameters(0)[f"{asset}.technical_life"] - factor = years / technical_lifetime - if factor < 1.0: - factor = 1.0 - obj += results[f"{solution_staged._asset_fixed_operational_cost_map[asset]}"] * years - obj += results[f"{solution_staged._asset_variable_operational_cost_map[asset]}"] * years - obj += results[f"{solution_staged._asset_investment_cost_map[asset]}"] * factor - obj += results[f"{solution_staged._asset_installation_cost_map[asset]}"] * factor + obj = self.get_objective_value_end_scenario_sizing(solution_staged) np.testing.assert_allclose(obj / 1.0e6, solution_staged.objective_value) @@ -354,6 +318,35 @@ def test_end_scenario_sizing_head_loss(self): abs(results[f"{pipe}.dH"][ii]), ) + def get_objective_value_end_scenario_sizing(self, solution): + results = solution.extract_results() + obj = 0.0 + years = solution.parameters(0)["number_of_years"] + for asset in [ + *solution.energy_system_components.get("heat_source", []), + *solution.energy_system_components.get("ates", []), + *solution.energy_system_components.get("heat_buffer", []), + *solution.energy_system_components.get("heat_demand", []), + *solution.energy_system_components.get("heat_exchanger", []), + *solution.energy_system_components.get("heat_pump", []), + *solution.energy_system_components.get("heat_pipe", []), + ]: + # If heating demand asset's state is enabled, then exclude the costs since it is not + # part of the TCO calculation. This is because we do not size heating demand assets in + # the optimization + asset_id = self.solution.esdl_asset_name_to_id_map[asset] + asset_state = self.solution.esdl_assets[asset_id].attributes["state"] + asset_type = self.solution.esdl_assets[asset_id].asset_type + if not ( + (asset_type == "HeatingDemand") and (asset_state == esdl.AssetStateEnum.ENABLED) + ): + obj += results[f"{solution._asset_fixed_operational_cost_map[asset]}"] * years + obj += results[f"{solution._asset_variable_operational_cost_map[asset]}"] * years + obj += results[f"{solution._asset_investment_cost_map[asset]}"] + obj += results[f"{solution._asset_installation_cost_map[asset]}"] + + return obj + if __name__ == "__main__": import time @@ -363,6 +356,6 @@ def test_end_scenario_sizing_head_loss(self): a.setUpClass() a.test_end_scenario_sizing() a.test_end_scenario_sizing_staged() - a.test_end_scenario_sizing_discounted() - a.test_end_scenario_sizing_head_loss() + # a.test_end_scenario_sizing_discounted() + # a.test_end_scenario_sizing_head_loss() print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/test_potential_errors.py b/tests/test_potential_errors.py new file mode 100644 index 000000000..7c1f7faae --- /dev/null +++ b/tests/test_potential_errors.py @@ -0,0 +1,187 @@ +import datetime +import unittest +import unittest.mock +from pathlib import Path +from typing import Optional + +import esdl + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import InfluxDBProfileReader +from mesido.exceptions import MesidoAssetIssueError +from mesido.potential_errors import MesidoAssetIssueType, PotentialErrors +from mesido.workflows import EndScenarioSizingStaged +from mesido.workflows.utils.error_types import mesido_issue_type_gen_message + +import numpy as np + +import pandas as pd + +from utils_test_scaling import create_log_list_scaling + + +class MockInfluxDBProfileReader(InfluxDBProfileReader): + def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): + super().__init__(energy_system, file_path) + self._loaded_profiles = pd.read_csv( + file_path, + index_col="DateTime", + date_parser=lambda x: pd.to_datetime(x).tz_convert(datetime.timezone.utc), + ) + + def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) -> pd.Series: + return self._loaded_profiles[profile.id] + + +class TestPotentialErrors(unittest.TestCase): + def test_asset_potential_errors(self): + """ + This test checks that the error checks in the code for sufficient installed cool/heatig + capacity of a cold/heat demand is sufficient (grow_workflow) + + Checks: + 1. Correct error is raised + 2. That the error is due to: + - insufficient heat specified capacities for 3 heating demands + - incorrect heating demand type being used for 1 heating demand + - profile cannot be assigned to a specific asset + - state set to optional for 2 assets, since that is not allowed + """ + import models.unit_cases.case_1a.src.run_1a as run_1a + + base_folder = Path(run_1a.__file__).resolve().parent.parent + model_folder = base_folder / "model" + input_folder = base_folder / "input" + + logger, logs_list = create_log_list_scaling("WarmingUP-MPC") + + with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( + "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + ): + problem = EndScenarioSizingStaged( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="1a_with_influx_profiles_error_check_1.esdl", + profile_reader=MockInfluxDBProfileReader, + input_timeseries_file="influx_mock.csv", + ) + problem.pre() + + # Check that the heat demand had an error + np.testing.assert_equal(cm.exception.error_type, MesidoAssetIssueType.HEAT_DEMAND_POWER) + np.testing.assert_equal( + cm.exception.general_issue, + mesido_issue_type_gen_message(MesidoAssetIssueType.HEAT_DEMAND_POWER), + ) + np.testing.assert_equal( + cm.exception.message_per_asset_id["2ab92324-f86e-4976-9a6e-f7454b77ba3c"], + "Asset named HeatingDemand_2ab9: The installed capacity of 6.0MW should be larger than" + " the maximum of the heat demand profile 5175.717MW", + ) + np.testing.assert_equal( + cm.exception.message_per_asset_id["506c41ac-d415-4482-bf10-bf12f17aeac6"], + "Asset named HeatingDemand_506c: The installed capacity of 2.0MW should be larger than" + " the maximum of the heat demand profile 1957.931MW", + ) + np.testing.assert_equal( + cm.exception.message_per_asset_id["6662aebb-f85e-4df3-9f7e-c58993586fba"], + "Asset named HeatingDemand_6662: The installed capacity of 2.0MW should be larger than" + " the maximum of the heat demand profile 1957.931MW", + ) + np.testing.assert_equal(len(cm.exception.message_per_asset_id), 3.0) + + # Check heating demand type error + with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( + "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + ): + problem = EndScenarioSizingStaged( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="1a_with_influx_profiles_error_check_2.esdl", + profile_reader=MockInfluxDBProfileReader, + input_timeseries_file="influx_mock.csv", + ) + problem.pre() + # Check that the heat demand had an error + np.testing.assert_equal(cm.exception.error_type, MesidoAssetIssueType.HEAT_DEMAND_TYPE) + np.testing.assert_equal( + cm.exception.general_issue, + mesido_issue_type_gen_message(MesidoAssetIssueType.HEAT_DEMAND_TYPE), + ) + np.testing.assert_equal( + cm.exception.message_per_asset_id["2ab92324-f86e-4976-9a6e-f7454b77ba3c"], + "Asset named HeatingDemand_2ab9: This asset is currently a GenericConsumer please" + " change it to a HeatingDemand", + ) + np.testing.assert_equal(len(cm.exception.message_per_asset_id), 1.0) + + # Check asset profile capability + with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( + "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + ): + problem = EndScenarioSizingStaged( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="1a_with_influx_profiles_error_check_3.esdl", + profile_reader=MockInfluxDBProfileReader, + input_timeseries_file="influx_mock.csv", + ) + problem.pre() + # Check that the joint has an error + np.testing.assert_equal( + cm.exception.error_type, + MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, + ) + np.testing.assert_equal( + cm.exception.general_issue, + mesido_issue_type_gen_message(MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY), + ) + np.testing.assert_equal( + cm.exception.message_per_asset_id["95802cf8-61d6-4773-bb99-e275c3bf26cc"], + "Asset named Joint_9580: The assigment of profile field demand3_MW is not possible for" + " this asset type ", + ) + np.testing.assert_equal(len(cm.exception.message_per_asset_id), 1.0) + + # Check that the heating demand is set to optional + with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( + "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + ): + problem = EndScenarioSizingStaged( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="1a_with_influx_profiles_error_check_4.esdl", + profile_reader=MockInfluxDBProfileReader, + input_timeseries_file="influx_mock.csv", + ) + problem.pre() + # Check that the heat demand had an error + np.testing.assert_equal(cm.exception.error_type, MesidoAssetIssueType.HEAT_DEMAND_STATE) + np.testing.assert_equal( + cm.exception.general_issue, + mesido_issue_type_gen_message(MesidoAssetIssueType.HEAT_DEMAND_STATE), + ) + np.testing.assert_equal( + cm.exception.message_per_asset_id["2ab92324-f86e-4976-9a6e-f7454b77ba3c"], + "Asset named HeatingDemand_2ab9 : The asset should be enabled since there is " + "no sizing optimization on HeatingDemands", + ) + np.testing.assert_equal( + cm.exception.message_per_asset_id["6662aebb-f85e-4df3-9f7e-c58993586fba"], + "Asset named HeatingDemand_6662 : The asset should be enabled since there is " + "no sizing optimization on HeatingDemands", + ) + np.testing.assert_equal(len(cm.exception.message_per_asset_id), 2.0) + + +if __name__ == "__main__": + a = TestPotentialErrors() + a.test_asset_potential_errors() diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index ce92cc201..e5c395a54 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -9,21 +9,16 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import InfluxDBProfileReader, ProfileReaderFromFile -from mesido.exceptions import MesidoAssetIssueError -from mesido.potential_errors import MesidoAssetIssueType, PotentialErrors from mesido.workflows import EndScenarioSizingStaged from mesido.workflows.utils.adapt_profiles import ( adapt_hourly_profile_averages_timestep_size, adapt_profile_to_copy_for_number_of_years, ) -from mesido.workflows.utils.error_types import mesido_issue_type_gen_message import numpy as np import pandas as pd -from utils_test_scaling import create_log_list_scaling - class MockInfluxDBProfileReader(InfluxDBProfileReader): def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): @@ -129,122 +124,6 @@ def read(self): assert all(dt.days == 365 for dt in dts) -class TestPotentialErrors(unittest.TestCase): - def test_asset_potential_errors(self): - """ - This test checks that the error checks in the code for sufficient installed cool/heatig - capacity of a cold/heat demand is sufficient (grow_workflow) - - Checks: - 1. Correct error is raised - 2. That the error is due to: - - insufficient heat specified capacities for 3 heating demands - - incorrect heating demand type being used for 1 heating demand - - profile cannot be assigned to a specific asset - """ - import models.unit_cases.case_1a.src.run_1a as run_1a - - base_folder = Path(run_1a.__file__).resolve().parent.parent - model_folder = base_folder / "model" - input_folder = base_folder / "input" - - logger, logs_list = create_log_list_scaling("WarmingUP-MPC") - - with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( - "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() - ): - problem = EndScenarioSizingStaged( - esdl_parser=ESDLFileParser, - base_folder=base_folder, - model_folder=model_folder, - input_folder=input_folder, - esdl_file_name="1a_with_influx_profiles_error_check_1.esdl", - profile_reader=MockInfluxDBProfileReader, - input_timeseries_file="influx_mock.csv", - ) - problem.pre() - - # Check that the heat demand had an error - np.testing.assert_equal(cm.exception.error_type, MesidoAssetIssueType.HEAT_DEMAND_POWER) - np.testing.assert_equal( - cm.exception.general_issue, - mesido_issue_type_gen_message(MesidoAssetIssueType.HEAT_DEMAND_POWER), - ) - np.testing.assert_equal( - cm.exception.message_per_asset_id["2ab92324-f86e-4976-9a6e-f7454b77ba3c"], - "Asset named HeatingDemand_2ab9: The installed capacity of 6.0MW should be larger than" - " the maximum of the heat demand profile 5175.717MW", - ) - np.testing.assert_equal( - cm.exception.message_per_asset_id["506c41ac-d415-4482-bf10-bf12f17aeac6"], - "Asset named HeatingDemand_506c: The installed capacity of 2.0MW should be larger than" - " the maximum of the heat demand profile 1957.931MW", - ) - np.testing.assert_equal( - cm.exception.message_per_asset_id["6662aebb-f85e-4df3-9f7e-c58993586fba"], - "Asset named HeatingDemand_6662: The installed capacity of 2.0MW should be larger than" - " the maximum of the heat demand profile 1957.931MW", - ) - np.testing.assert_equal(len(cm.exception.message_per_asset_id), 3.0) - - # Check heating demand type error - with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( - "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() - ): - problem = EndScenarioSizingStaged( - esdl_parser=ESDLFileParser, - base_folder=base_folder, - model_folder=model_folder, - input_folder=input_folder, - esdl_file_name="1a_with_influx_profiles_error_check_2.esdl", - profile_reader=MockInfluxDBProfileReader, - input_timeseries_file="influx_mock.csv", - ) - problem.pre() - # Check that the heat demand had an error - np.testing.assert_equal(cm.exception.error_type, MesidoAssetIssueType.HEAT_DEMAND_TYPE) - np.testing.assert_equal( - cm.exception.general_issue, - mesido_issue_type_gen_message(MesidoAssetIssueType.HEAT_DEMAND_TYPE), - ) - np.testing.assert_equal( - cm.exception.message_per_asset_id["2ab92324-f86e-4976-9a6e-f7454b77ba3c"], - "Asset named HeatingDemand_2ab9: This asset is currently a GenericConsumer please" - " change it to a HeatingDemand", - ) - np.testing.assert_equal(len(cm.exception.message_per_asset_id), 1.0) - - # Check asset profile capability - with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( - "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() - ): - problem = EndScenarioSizingStaged( - esdl_parser=ESDLFileParser, - base_folder=base_folder, - model_folder=model_folder, - input_folder=input_folder, - esdl_file_name="1a_with_influx_profiles_error_check_3.esdl", - profile_reader=MockInfluxDBProfileReader, - input_timeseries_file="influx_mock.csv", - ) - problem.pre() - # Check that the joint has an error - np.testing.assert_equal( - cm.exception.error_type, - MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, - ) - np.testing.assert_equal( - cm.exception.general_issue, - mesido_issue_type_gen_message(MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY), - ) - np.testing.assert_equal( - cm.exception.message_per_asset_id["95802cf8-61d6-4773-bb99-e275c3bf26cc"], - "Asset named Joint_9580: The assigment of profile field demand3_MW is not possible for" - " this asset type ", - ) - np.testing.assert_equal(len(cm.exception.message_per_asset_id), 1.0) - - class TestProfileLoading(unittest.TestCase): def test_loading_from_influx(self): @@ -402,9 +281,7 @@ def test_loading_from_csv_with_influx_profiles_given(self): if __name__ == "__main__": # unittest.main() a = TestProfileLoading() - b = TestPotentialErrors() c = TestProfileUpdating() - # b.test_asset_potential_errors() # a.test_loading_from_influx() # a.test_loading_from_csv() # a.test_loading_from_xml() From 326443004ce8d95a45917830d78382b2363cdd6c Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 27 Aug 2025 13:56:34 +0200 Subject: [PATCH 282/376] Generalize esdl heat model generic modifiers (#324) Generic modifiers are implemented to ensure a consistent and clean setup of the modifiers. Creating general modifiers for technicallifetime, state and discountedrate. Creating generic heat asset modifiers, with some flexibility based on the asset type. --- CHANGELOG.md | 3 +- src/mesido/esdl/esdl_heat_model.py | 350 ++++++++++------------------- tests/test_producer_profiles.py | 16 +- 3 files changed, 134 insertions(+), 235 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 743a3a85b..fb2046e42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ -# [Unreleased-main] - 2025-08-19 +# [Unreleased-main] - 2025-08-26 ## Added - Potential error checks if heating demand state is not set to enabled +- Generic modifier functions for consistency across assets. ## Changed - TCO cost calculation objective to now exclude heating demand costs in the grow workflow diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index e8b7cf4fe..fd23256b9 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -239,6 +239,52 @@ def validate_attribute_input( ) logger.warning(warning_msg) + def _generic_modifiers(self, asset): + """ + Args: + asset: mesido common asset with all attributes + + Returns: dictionary of the generic modifiers: technical_life, discount_rate and state. + """ + modifiers = dict( + technical_life=self.get_asset_attribute_value( + asset, + "technicalLifetime", + default_value=30.0, + min_value=1.0, + max_value=50.0, + ), + discount_rate=self.get_asset_attribute_value( + asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 + ), + state=self.get_state(asset), + ) + return modifiers + + def _generic_heat_modifiers(self, min_heat=None, max_heat=None, q_nominal=None): + """ + Args: + min_heat: minimum heat flow value + max_heat: maximum heat flow value + q_nominal: flow nominal + + Returns: dictionary of the generic heat modifiers: Q_nominal, Heat_flow, and the hydraulic + power of HeatIn and HeatOut. + """ + modifiers = dict() + if min_heat is not None and max_heat is not None: + modifiers.update( + Heat_flow=dict(min=min_heat, max=max_heat, nominal=max_heat / 2.0), + ) + if q_nominal is not None: + modifiers.update( + Q_nominal=q_nominal, + HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), + HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), + ) + + return modifiers + def convert_heat_buffer(self, asset: Asset) -> Tuple[Type[HeatBuffer], MODIFIERS]: """ This function converts the buffer object in esdl to a set of modifiers that can be used in @@ -347,28 +393,15 @@ def convert_heat_buffer(self, asset: Asset) -> Tuple[Type[HeatBuffer], MODIFIERS q_nominal = self._get_connected_q_nominal(asset) modifiers = dict( - Q_nominal=q_nominal, height=r, radius=r, heat_transfer_coeff=1.0, - technical_life=self.get_asset_attribute_value( - asset, - "technicalLifetime", - default_value=30.0, - min_value=1.0, - max_value=50.0, - ), - discount_rate=self.get_asset_attribute_value( - asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 - ), - state=self.get_state(asset), min_fraction_tank_volume=min_fraction_tank_volume, Stored_heat=dict(min=min_heat, max=max_heat), Heat_buffer=dict(min=-hfr_discharge_max, max=hfr_charge_max), - Heat_flow=dict(min=-hfr_discharge_max, max=hfr_charge_max, nominal=hfr_charge_max), - HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), init_Heat=min_heat, + **self._generic_modifiers(asset), + **self._generic_heat_modifiers(-hfr_discharge_max, hfr_charge_max, q_nominal), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), @@ -432,19 +465,9 @@ def convert_heat_demand(self, asset: Asset) -> Tuple[Type[HeatDemand], MODIFIERS ) modifiers = dict( - technical_life=self.get_asset_attribute_value( - asset, - "technicalLifetime", - default_value=30.0, - min_value=1.0, - max_value=50.0, - ), - Q_nominal=q_nominal, Heat_demand=dict(max=max_demand, nominal=max_demand / 2.0), - Heat_flow=dict(max=max_demand, nominal=max_demand / 2.0), - HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - state=self.get_state(asset), + **self._generic_modifiers(asset), + **self._generic_heat_modifiers(0.0, max_demand, q_nominal), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), @@ -476,12 +499,9 @@ def convert_airco(self, asset: Asset) -> Tuple[Type[Airco], MODIFIERS]: q_nominal = self._get_connected_q_nominal(asset) modifiers = dict( - Q_nominal=q_nominal, Heat_airco=dict(max=max_, nominal=max_ / 2.0), - Heat_flow=dict(max=max_, nominal=max_ / 2.0), - HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - state=self.get_state(asset), + **self._generic_modifiers(asset), + **self._generic_heat_modifiers(0.0, max_, q_nominal), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), @@ -511,12 +531,9 @@ def convert_cold_demand(self, asset: Asset) -> Tuple[Type[ColdDemand], MODIFIERS q_nominal = self._get_connected_q_nominal(asset) modifiers = dict( - Q_nominal=q_nominal, Cold_demand=dict(min=0.0, max=max_demand, nominal=max_demand / 2.0), - Heat_flow=dict(min=0.0, max=max_demand, nominal=max_demand / 2.0), - HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - state=self.get_state(asset), + **self._generic_modifiers(asset), + **self._generic_heat_modifiers(0.0, max_demand, q_nominal), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), @@ -691,7 +708,7 @@ def convert_gas_pipe( # TODO: disconnectable option for gaspipes needs to be added. GasIn=bounds_nominals, GasOut=bounds_nominals, - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), ) @@ -781,38 +798,26 @@ def convert_heat_pipe( assert hfr_max > 0.0 modifiers = dict( - Q_nominal=q_nominal, length=length, diameter=diameter, disconnectable=self._is_disconnectable_pipe(asset), - technical_life=self.get_asset_attribute_value( - asset, - "technicalLifetime", - default_value=30.0, - min_value=1.0, - max_value=50.0, - ), - discount_rate=self.get_asset_attribute_value( - asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 - ), - HeatIn=dict( - Heat=dict(min=-hfr_max, max=hfr_max), - Q=dict(min=-q_max, max=q_max), - Hydraulic_power=dict(nominal=q_nominal * 16.0e5), - ), - HeatOut=dict( - Heat=dict(min=-hfr_max, max=hfr_max), - Q=dict(min=-q_max, max=q_max), - Hydraulic_power=dict(nominal=q_nominal * 16.0e5), - ), - Heat_flow=dict(min=-hfr_max, max=hfr_max, nominal=hfr_max), insulation_thickness=insulation_thicknesses, conductivity_insulation=conductivies_insulation, - state=self.get_state(asset), + **self._generic_modifiers(asset), + **self._generic_heat_modifiers(-hfr_max, hfr_max, q_nominal), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), ) + modifiers["HeatIn"].update( + Heat=dict(min=-hfr_max, max=hfr_max), + Q=dict(min=-q_max, max=q_max), + ) + modifiers["HeatOut"].update( + Heat=dict(min=-hfr_max, max=hfr_max), + Q=dict(min=-q_max, max=q_max), + ) + if "T_ground" in asset.attributes.keys(): modifiers["T_ground"] = asset.attributes["T_ground"] @@ -860,20 +865,8 @@ def convert_pump(self, asset: Asset) -> Tuple[Type[Pump], MODIFIERS]: q_nominal = self._get_connected_q_nominal(asset) modifiers = dict( - technical_life=self.get_asset_attribute_value( - asset, - "technicalLifetime", - default_value=30.0, - min_value=1.0, - max_value=50.0, - ), - HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - discount_rate=self.get_asset_attribute_value( - asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 - ), - Q_nominal=self._get_connected_q_nominal(asset), - state=self.get_state(asset), + **self._generic_modifiers(asset), + **self._generic_heat_modifiers(q_nominal=q_nominal), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, ) @@ -1010,31 +1003,30 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD params_t["Primary"]["dT"] = dt_prim max_heat_transport = params_t["Primary"]["T_supply"] * max_power / (dt_prim) - prim_heat = dict( - HeatIn=dict( - Heat=dict(min=-max_heat_transport, max=max_heat_transport, nominal=max_power / 2.0), - Hydraulic_power=dict(nominal=params_q["Primary"]["Q_nominal"] * 16.0e5), - ), - HeatOut=dict( - Heat=dict(min=-max_heat_transport, max=max_heat_transport, nominal=max_power / 2.0), - Hydraulic_power=dict(nominal=params_q["Primary"]["Q_nominal"] * 16.0e5), - ), - Q_nominal=max_power / (2 * self.rho * self.cp * (dt_prim)), + q_nominal_prim = params_q["Primary"][ + "Q_nominal" + ] # max_power / (2 * self.cp * self.rho * (dt_prim)) + prim_heat = self._generic_heat_modifiers(q_nominal=q_nominal_prim) + prim_heat["HeatIn"].update( + Heat=dict(min=-max_heat_transport, max=max_heat_transport, nominal=max_power / 2.0), + ) + prim_heat["HeatOut"].update( + Heat=dict(min=-max_heat_transport, max=max_heat_transport, nominal=max_power / 2.0), ) dt_sec = params_t["Secondary"]["T_supply"] - params_t["Secondary"]["T_return"] dt_sec = dt_sec if dt_sec > 0.0 else default_dt params_t["Secondary"]["dT"] = dt_sec - sec_heat = dict( - HeatIn=dict( - Heat=dict(min=-max_heat_transport, max=max_heat_transport, nominal=max_power / 2.0), - Hydraulic_power=dict(nominal=params_q["Secondary"]["Q_nominal"] * 16.0e5), - ), - HeatOut=dict( - Heat=dict(min=-max_heat_transport, max=max_heat_transport, nominal=max_power / 2.0), - Hydraulic_power=dict(nominal=params_q["Secondary"]["Q_nominal"] * 16.0e5), - ), - Q_nominal=max_power / (2 * self.cp * self.rho * (dt_sec)), + + q_nominal_sec = params_q["Secondary"][ + "Q_nominal" + ] # max_power / (2 * self.cp * self.rho * (dt_sec)) + sec_heat = self._generic_heat_modifiers(q_nominal=q_nominal_sec) + sec_heat["HeatIn"].update( + Heat=dict(min=-max_heat_transport, max=max_heat_transport, nominal=max_power / 2.0), + ) + sec_heat["HeatOut"].update( + Heat=dict(min=-max_heat_transport, max=max_heat_transport, nominal=max_power / 2.0), ) params["Primary"] = {**params_t["Primary"], **params_q["Primary"], **prim_heat} params["Secondary"] = { @@ -1050,21 +1042,11 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD modifiers = dict( efficiency=efficiency, - technical_life=self.get_asset_attribute_value( - asset, - "technicalLifetime", - default_value=30.0, - min_value=1.0, - max_value=50.0, - ), - discount_rate=self.get_asset_attribute_value( - asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 - ), nominal=max_power / 2.0, Primary_heat=dict(min=0.0, max=max_power, nominal=max_power / 2.0), Secondary_heat=dict(min=0.0, max=max_power, nominal=max_power / 2.0), Heat_flow=dict(min=0.0, max=max_power, nominal=max_power / 2.0), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), **params, ) @@ -1145,14 +1127,9 @@ def convert_heat_pump( params_t = self._supply_return_temperature_modifiers(asset) params_q = self._get_connected_q_nominal(asset) - prim_heat = dict( - HeatIn=dict(Hydraulic_power=dict(nominal=params_q["Primary"]["Q_nominal"] * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=params_q["Primary"]["Q_nominal"] * 16.0e5)), - ) - sec_heat = dict( - HeatIn=dict(Hydraulic_power=dict(nominal=params_q["Secondary"]["Q_nominal"] * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=params_q["Secondary"]["Q_nominal"] * 16.0e5)), - ) + prim_heat = self._generic_heat_modifiers(q_nominal=params_q["Primary"]["Q_nominal"]) + sec_heat = self._generic_heat_modifiers(q_nominal=params_q["Secondary"]["Q_nominal"]) + params = {} params["Primary"] = {**params_t["Primary"], **params_q["Primary"], **prim_heat} params["Secondary"] = {**params_t["Secondary"], **params_q["Secondary"], **sec_heat} @@ -1162,21 +1139,11 @@ def convert_heat_pump( modifiers = dict( COP=cop, efficiency=asset.attributes["efficiency"] if asset.attributes["efficiency"] else 0.5, - technical_life=self.get_asset_attribute_value( - asset, - "technicalLifetime", - default_value=30.0, - min_value=1.0, - max_value=50.0, - ), - discount_rate=self.get_asset_attribute_value( - asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 - ), Power_elec=dict(min=0.0, max=power_electrical, nominal=power_electrical / 2.0), Primary_heat=dict(min=0.0, max=max_power_heat, nominal=max_power_heat / 2.0), Secondary_heat=dict(min=0.0, max=max_power_heat, nominal=max_power_heat / 2.0), Heat_flow=dict(min=0.0, max=max_power_heat, nominal=max_power_heat / 2.0), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), **params, ) @@ -1251,22 +1218,9 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS q_nominal = self._get_connected_q_nominal(asset) modifiers = dict( - technical_life=self.get_asset_attribute_value( - asset, - "technicalLifetime", - default_value=30.0, - min_value=1.0, - max_value=50.0, - ), - discount_rate=self.get_asset_attribute_value( - asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 - ), - Q_nominal=q_nominal, - state=self.get_state(asset), Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), - Heat_flow=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), - HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), + **self._generic_modifiers(asset), + **self._generic_heat_modifiers(0.0, max_supply, q_nominal), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), @@ -1376,17 +1330,6 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: ) modifiers = dict( - technical_life=self.get_asset_attribute_value( - asset, - "technicalLifetime", - default_value=30.0, - min_value=1.0, - max_value=50.0, - ), - discount_rate=self.get_asset_attribute_value( - asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 - ), - Q_nominal=q_nominal, Q=dict( min=-q_max_ates * asset.attributes["aggregationCount"], max=q_max_ates * asset.attributes["aggregationCount"], @@ -1394,15 +1337,18 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: ), single_doublet_power=single_doublet_power, heat_loss_coeff=(1.0 - efficiency ** (1.0 / 100.0)) / (3600.0 * 24.0), - state=self.get_state(asset), nr_of_doublets=asset.attributes["aggregationCount"], Stored_heat=dict( min=0.0, max=hfr_charge_max * asset.attributes["aggregationCount"] * 180.0 * 24 * 3600.0, nominal=hfr_charge_max * asset.attributes["aggregationCount"] * 30.0 * 24 * 3600.0, ), - HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), + **self._generic_modifiers(asset), + **self._generic_heat_modifiers( + -hfr_discharge_max * asset.attributes["aggregationCount"], + hfr_charge_max * asset.attributes["aggregationCount"], + q_nominal, + ), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), @@ -1491,20 +1437,8 @@ def convert_control_valve(self, asset: Asset) -> Tuple[Type[ControlValve], MODIF q_nominal = self._get_connected_q_nominal(asset) modifiers = dict( - technical_life=self.get_asset_attribute_value( - asset, - "technicalLifetime", - default_value=30.0, - min_value=1.0, - max_value=50.0, - ), - discount_rate=self.get_asset_attribute_value( - asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 - ), - HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - Q_nominal=q_nominal, - state=self.get_state(asset), + **self._generic_modifiers(asset), + **self._generic_heat_modifiers(q_nominal=q_nominal), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, ) @@ -1553,10 +1487,8 @@ def convert_check_valve(self, asset: Asset) -> Tuple[Type[CheckValve], MODIFIERS q_nominal = self._get_connected_q_nominal(asset) modifiers = dict( - Q_nominal=q_nominal, - state=self.get_state(asset), - HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), + **self._generic_modifiers(asset), + **self._generic_heat_modifiers(q_nominal=q_nominal), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, ) @@ -1619,7 +1551,7 @@ def convert_electricity_demand(self, asset: Asset) -> Tuple[Type[ElectricityDema I=dict(min=0.0, max=i_max, nominal=i_nom), V=dict(min=min_voltage, nominal=min_voltage), ), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), ) @@ -1717,7 +1649,7 @@ def convert_electricity_source(self, asset: Asset) -> Tuple[Type[ElectricitySour I=dict(min=0.0, max=i_max, nominal=i_nom), Power=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), ), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), ) @@ -1768,7 +1700,7 @@ def convert_electricity_storage( Effective_power_charging=dict( min=-max_discharge, max=max_charge, nominal=max_charge / 2.0 ), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), ) @@ -1911,7 +1843,7 @@ def convert_electricity_cable(self, asset: Asset) -> Tuple[Type[ElectricityCable I=dict(min=min_current, max=max_current, nominal=max_current / 2.0), Power=dict(min=min_power, max=max_power, nominal=max_power / 2.0), ), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), ) return ElectricityCable, modifiers @@ -1951,7 +1883,7 @@ def convert_transformer(self, asset: Asset) -> Tuple[Type[Transformer], MODIFIER I=dict(min=0.0, max=i_max_out, nominal=i_nom_out), Power=dict(min=0.0, max=max_power, nominal=max_power / 2.0), ), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), ) return Transformer, modifiers @@ -2026,7 +1958,7 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: mass_flow=dict(nominal=mass_flow_nominal_g_per_s, max=max_mass_flow_g_per_s), Hydraulic_power=dict(min=0.0, max=0.0, nominal=q_nominal * pressure), ), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), ) @@ -2094,7 +2026,7 @@ def convert_gas_source(self, asset: Asset) -> Tuple[Type[GasSource], MODIFIERS]: mass_flow=bounds_nominals_mass_flow_g_per_s, Hydraulic_power=dict(nominal=q_nominal * pressure), ), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), ) @@ -2205,7 +2137,7 @@ def equations(x): I=dict(min=0.0, max=i_max, nominal=i_nom), V=dict(min=v_min, nominal=v_min), ), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), ) @@ -2270,7 +2202,7 @@ def convert_gas_tank_storage(self, asset: Asset) -> Tuple[Type[GasTankStorage], mass_flow=dict(nominal=q_nominal * density), Hydraulic_power=dict(nominal=q_nominal * pressure), ), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), ) @@ -2334,7 +2266,7 @@ def convert_gas_substation(self, asset: Asset) -> Tuple[Type[GasSubstation], MOD mass_flow=dict(nominal=q_nom_out * density_out), Hydraulic_power=dict(nominal=q_nom_out * pressure_out), ), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), ) @@ -2398,7 +2330,7 @@ def convert_compressor(self, asset: Asset) -> Tuple[Type[Compressor], MODIFIERS] mass_flow=dict(nominal=q_nom_out * density_out), Hydraulic_power=dict(nominal=q_nom_out * pressure_out), ), - state=self.get_state(asset), + **self._generic_modifiers(asset), **self._get_cost_figure_modifiers(asset), ) @@ -2470,27 +2402,15 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: ) modifiers = dict( - technical_life=self.get_asset_attribute_value( - asset, - "technicalLifetime", - default_value=30.0, - min_value=1.0, - max_value=50.0, - ), efficiency=asset.attributes["efficiency"], - discount_rate=self.get_asset_attribute_value( - asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 - ), Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), - Heat_flow=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), - HeatIn=dict(Hydraulic_power=dict(nominal=q_nominals["Q_nominal"] * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=q_nominals["Q_nominal"] * 16.0e5)), id_mapping_carrier=id_mapping, density=density, energy_content=energy_content, GasIn=dict(Q=dict(min=0.0, nominal=q_nominals["Q_nominal_gas"])), - state=self.get_state(asset), - **q_nominals, + Q_nominal_gas=q_nominals["Q_nominal_gas"], + **self._generic_modifiers(asset), + **self._generic_heat_modifiers(0.0, max_supply, q_nominals["Q_nominal"]), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), @@ -2557,20 +2477,7 @@ def convert_elec_boiler(self, asset: Asset) -> Tuple[ElecBoiler, MODIFIERS]: eff = asset.attributes["efficiency"] if asset.attributes["efficiency"] else 1.0 modifiers = dict( - technical_life=self.get_asset_attribute_value( - asset, - "technicalLifetime", - default_value=30.0, - min_value=1.0, - max_value=50.0, - ), - discount_rate=self.get_asset_attribute_value( - asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 - ), Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), - Heat_flow=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), - HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal["Q_nominal"] * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal["Q_nominal"] * 16.0e5)), id_mapping_carrier=id_mapping, ElectricityIn=dict( Power=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), @@ -2580,8 +2487,8 @@ def convert_elec_boiler(self, asset: Asset) -> Tuple[ElecBoiler, MODIFIERS]: min_voltage=min_voltage, elec_power_nominal=max_supply, efficiency=eff, - state=self.get_state(asset), - **q_nominal, + **self._generic_modifiers(asset), + **self._generic_heat_modifiers(0.0, max_supply, q_nominal["Q_nominal"]), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), @@ -2648,20 +2555,7 @@ def convert_air_water_heat_pump_elec( cop = asset.attributes["COP"] if asset.attributes["COP"] else 1.0 modifiers = dict( - technical_life=self.get_asset_attribute_value( - asset, - "technicalLifetime", - default_value=30.0, - min_value=1.0, - max_value=50.0, - ), - discount_rate=self.get_asset_attribute_value( - asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 - ), Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), - Heat_flow=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), - HeatIn=dict(Hydraulic_power=dict(nominal=q_nominal["Q_nominal"] * 16.0e5)), - HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal["Q_nominal"] * 16.0e5)), id_mapping_carrier=id_mapping, ElectricityIn=dict( Power=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), @@ -2671,8 +2565,8 @@ def convert_air_water_heat_pump_elec( min_voltage=min_voltage, elec_power_nominal=max_supply, cop=cop, - state=self.get_state(asset), - **q_nominal, + **self._generic_modifiers(asset), + **self._generic_heat_modifiers(0.0, max_supply, q_nominal["Q_nominal"]), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 1901ad2f1..99ac133a6 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -102,7 +102,7 @@ def test_max_producer_esdl_unscaled_profile(self): demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) - tol = 1e-8 + tol = 1e-6 heat_produced = results["HeatProducer_b702.Heat_source"] if problem_class == HeatProblemESDLProdProfile: @@ -117,8 +117,10 @@ def test_max_producer_esdl_unscaled_profile(self): ) np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) np.testing.assert_equal( - len(np.where(heat_produced - heat_production_upper_limit == 0)[0]), - 5, + np.sum( + np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-10) + ), + 4, ) elif problem_class == HeatProblemESDLProdProfileTCO: heat_production_upper_limit = ( @@ -133,8 +135,10 @@ def test_max_producer_esdl_unscaled_profile(self): ) np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) np.testing.assert_equal( - len(np.where(heat_produced - heat_production_upper_limit == 0)[0]), - 5, + np.sum( + np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-10) + ), + 8, ) def test_max_producer_esdl_scaled_profile(self): @@ -175,7 +179,7 @@ def test_max_producer_esdl_scaled_profile(self): # check that heat produced is smaller than the profile np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) np.testing.assert_equal( - len(np.where(heat_produced - heat_production_upper_limit == 0)[0]), 4 + np.sum(np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-10)), 6 ) From 429e72d70eb0d925e032b7fc48d869e694ffd600 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 27 Aug 2025 15:44:02 +0200 Subject: [PATCH 283/376] Ates discharge charge variable (#337) Created a binary variable to determine if the ATES is charging or discharging, named "{ates}__is_charging". --- CHANGELOG.md | 3 +- src/mesido/heat_physics_mixin.py | 56 ++++-- .../src/run_ates.py | 175 ++---------------- tests/test_temperature_ates_hp.py | 2 +- 4 files changed, 55 insertions(+), 181 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb2046e42..c46aa4373 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,9 @@ -# [Unreleased-main] - 2025-08-26 +# [Unreleased-main] - 2025-08-27 ## Added - Potential error checks if heating demand state is not set to enabled - Generic modifier functions for consistency across assets. +- Discrete charge/discharge variable for an ATES asset. ## Changed - TCO cost calculation objective to now exclude heating demand costs in the grow workflow diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index eb4c7cfba..21b00cd93 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -187,6 +187,9 @@ def __init__(self, *args, **kwargs): self.__ates_max_stored_heat_bounds = {} self.__ates_max_stored_heat_nominals = {} + self.__ates_is_charging_var = {} + self.__ates_is_charging_bounds = {} + # Integer variable whether discrete temperature option has been selected self.__carrier_selected_var = {} self.__carrier_selected_var_bounds = {} @@ -428,6 +431,12 @@ def _get_min_bound(bound): self.__ates_max_stored_heat_bounds[ates_max_stored_heat_var_name] = (0, max_heat) self.__ates_max_stored_heat_nominals[ates_max_stored_heat_var_name] = max_heat / 2 + ates_is_charging_var_name = f"{ates}__is_charging" + self.__ates_is_charging_var[ates_is_charging_var_name] = ca.MX.sym( + ates_is_charging_var_name + ) + self.__ates_is_charging_bounds[ates_is_charging_var_name] = (0.0, 1.0) + for _carrier, temperatures in self.temperature_carriers().items(): carrier_id_number_mapping = str(temperatures["id_number_mapping"]) temp_var_name = carrier_id_number_mapping + "_temperature" @@ -688,6 +697,7 @@ def path_variables(self): variables.extend(self.__pipe_heat_loss_path_var.values()) variables.extend(self.__ates_temperature_ordering_var.values()) variables.extend(self.__ates_temperature_disc_ordering_var.values()) + variables.extend(self.__ates_is_charging_var.values()) variables.extend(self.__carrier_temperature_disc_ordering_var.values()) return variables @@ -707,6 +717,7 @@ def variable_is_discrete(self, variable): or variable in self.__disabled_hex_var or variable in self.__ates_temperature_ordering_var or variable in self.__ates_temperature_disc_ordering_var + or variable in self.__ates_is_charging_var or variable in self.__carrier_temperature_disc_ordering_var ): return True @@ -754,6 +765,7 @@ def bounds(self): bounds.update(self.__ates_temperature_disc_ordering_var_bounds) bounds.update(self.__carrier_temperature_disc_ordering_var_bounds) bounds.update(self.__ates_max_stored_heat_bounds) + bounds.update(self.__ates_is_charging_bounds) for k, v in self.__pipe_head_bounds.items(): bounds[k] = self.merge_bounds(bounds[k], v) @@ -1798,16 +1810,12 @@ def __ates_temperature_path_constraints(self, ensemble_member): parameters = self.parameters(ensemble_member) options = self.energy_system_options() - for ates_asset, ( - (hot_pipe, _hot_pipe_orientation), - (_cold_pipe, _cold_pipe_orientation), - ) in {**self.energy_system_topology.ates}.items(): + for ates_asset in self.energy_system_components.get("ates", []): if ates_asset in self.energy_system_components.get("low_temperature_ates", []): continue - flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] - is_buffer_charging = self.state(flow_dir_var) * _hot_pipe_orientation + is_buffer_charging = self.variable(f"{ates_asset}__is_charging") sup_carrier = parameters[f"{ates_asset}.T_supply_id"] supply_temperatures = self.temperature_regimes(sup_carrier) @@ -2069,10 +2077,7 @@ def __ates_temperature_changing_path_constraints(self, ensemble_member): bounds = self.bounds() options = self.energy_system_options() - for ates, ( - (hot_pipe, _hot_pipe_orientation), - (_cold_pipe, _cold_pipe_orientation), - ) in {**self.energy_system_topology.ates}.items(): + for ates in self.energy_system_components.get("ates", []): if ates in self.energy_system_components.get("low_temperature_ates", []): continue @@ -2089,8 +2094,7 @@ def __ates_temperature_changing_path_constraints(self, ensemble_member): if options["include_ates_temperature_options"] and len(supply_temperatures) != 0: soil_temperature = parameters[f"{ates}.T_amb"] - flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] - is_buffer_charging = self.state(flow_dir_var) * _hot_pipe_orientation + is_buffer_charging = self.variable(f"{ates}__is_charging") heat_stored_max = bounds[f"{ates}.Stored_heat"][1] heat_ates_max = bounds[f"{ates}.Heat_ates"][1] heat_ates = self.state(f"{ates}.Heat_ates") @@ -2329,6 +2333,11 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): # are extracting heat from it. heat_out = self.state(f"{b}.HeatOut.Heat") heat_in = self.state(f"{b}.HeatIn.Heat") + # heat_flow = self.state(f"{b}.Heat_flow") + + big_m = 2.0 * np.max( + np.abs((*self.bounds()[f"{b}.HeatIn.Heat"], *self.bounds()[f"{b}.HeatOut.Heat"])) + ) # We want an _equality_ constraint between discharge and heat if the buffer is # consuming (i.e. behaving like a "demand"). We want an _inequality_ @@ -2338,10 +2347,23 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): # are guaranteed to have the same sign. flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) - - big_m = 2.0 * np.max( - np.abs((*self.bounds()[f"{b}.HeatIn.Heat"], *self.bounds()[f"{b}.HeatOut.Heat"])) - ) + if b in self.energy_system_components.get("ates", []): + is_buffer_charging = self.variable(f"{b}__is_charging") + + # TODO: check if below is necessary. + # flow_big_m = q_nominal * 10 + # constraints.append( + # ((discharge - flow_big_m * is_buffer_charging) / q_nominal, -np.inf, 0.0) + # ) + # constraints.append( + # ((discharge + flow_big_m * (1 - is_buffer_charging)) / q_nominal, 0.0, np.inf) + # ) + # constraints.append( + # ((heat_flow - big_m * is_buffer_charging) / heat_nominal, -np.inf, 0.0) + # ) + # constraints.append( + # ((heat_flow + big_m * (1 - is_buffer_charging)) / heat_nominal, 0.0, np.inf) + # ) sup_carrier = parameters[f"{b}.T_supply_id"] ret_carrier = parameters[f"{b}.T_return_id"] @@ -3497,6 +3519,8 @@ def __storage_hydraulic_power_path_constraints(self, ensemble_member): flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) * hot_pipe_orientation + if b in self.energy_system_components.get("ates", []): + is_buffer_charging = self.variable(f"{b}__is_charging") big_m = ( 2.0 diff --git a/tests/models/test_case_small_network_with_ates/src/run_ates.py b/tests/models/test_case_small_network_with_ates/src/run_ates.py index 0235197c7..67d2b6833 100644 --- a/tests/models/test_case_small_network_with_ates/src/run_ates.py +++ b/tests/models/test_case_small_network_with_ates/src/run_ates.py @@ -1,15 +1,16 @@ -import datetime - import esdl from mesido.esdl.esdl_mixin import ESDLMixin from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.utils.adapt_profiles import ( + adapt_hourly_profile_averages_timestep_size, + adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, +) import numpy as np -from rtctools.data.storage import DataStore from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, ) @@ -154,43 +155,7 @@ def read(self): """ super().read() - demands = self.energy_system_components.get("heat_demand", []) - new_datastore = DataStore(self) - new_datastore.reference_datetime = self.io.datetimes[0] - - for ensemble_member in range(self.ensemble_size): - total_demand = sum( - self.get_timeseries(f"{demand}.target_heat_demand", ensemble_member).values - for demand in demands - ) - - # TODO: the approach of picking one peak day was introduced for a network with a tree - # layout and all big sources situated at the root of the tree. It is not guaranteed - # that an optimal solution is reached in different network topologies. - nr_of_days = len(total_demand) // (24 * 5) - new_date_times = list() - for day in range(nr_of_days): - new_date_times.append(self.io.datetimes[day * 24]) - new_date_times = np.asarray(new_date_times) - - for demand in demands: - var_name = f"{demand}.target_heat_demand" - data = self.get_timeseries( - variable=var_name, ensemble_member=ensemble_member - ).values - new_data = list() - for day in range(nr_of_days): - data_for_day = data[day * 24 : (day + 1) * 24] - new_data.append(np.mean(data_for_day)) - new_datastore.set_timeseries( - variable=var_name, - datetimes=new_date_times, - values=np.asarray(new_data), - ensemble_member=ensemble_member, - check_duplicates=True, - ) - - self.io = new_datastore + adapt_hourly_profile_averages_timestep_size(self, 5 * 24) class HeatProblemPlacingOverTime(HeatProblem): @@ -320,7 +285,6 @@ def solver_options(self): options["solver"] = "highs" highs_options = options["highs"] = {} highs_options["mip_rel_gap"] = 0.02 - highs_options["mip_abs_gap"] = 0.01 return options @@ -333,8 +297,6 @@ def constraints(self, ensemble_member): return constraints - # TODO: place this and the _set_data_with_averages_and_peak_day function in an appropriate place - # in the rtctools-milp-network package. Should have a unit test. def read(self): """ Reads the yearly profile with hourly time steps and adapt to a daily averaged profile @@ -342,126 +304,13 @@ def read(self): """ super().read() - demands = self.energy_system_components.get("heat_demand", []) - new_datastore = DataStore(self) - new_datastore.reference_datetime = self.io.datetimes[0] - - for ensemble_member in range(self.ensemble_size): - parameters = self.parameters(ensemble_member) - - total_demand = None - for demand in demands: - try: - demand_values = self.get_timeseries( - f"{demand}.target_heat_demand", ensemble_member - ).values - except KeyError: - continue - if total_demand is None: - total_demand = demand_values - else: - total_demand += demand_values - - # TODO: the approach of picking one peak day was introduced for a network with a tree - # layout and all big sources situated at the root of the tree. It is not guaranteed - # that an optimal solution is reached in different network topologies. - idx_max = int(np.argmax(total_demand)) - max_day = idx_max // 24 - nr_of_days = len(total_demand) // 24 - new_date_times = list() - day_steps = 5 - - self.__indx_max_peak = max_day // day_steps - if max_day % day_steps > 0: - self.__indx_max_peak += 1.0 - - for day in range(0, nr_of_days, day_steps): - if day == max_day // day_steps * day_steps: - if max_day > day: - new_date_times.append(self.io.datetimes[day * 24]) - new_date_times.extend(self.io.datetimes[max_day * 24 : max_day * 24 + 24]) - if (day + day_steps - 1) > max_day: - new_date_times.append(self.io.datetimes[max_day * 24 + 24]) - # if day == nr_of_days - day_steps: - # new_date_times.append(self.io.datetimes[-1] + datetime.timedelta(hours=1)) - else: - new_date_times.append(self.io.datetimes[day * 24]) - # if day == nr_of_days - day_steps: - new_date_times.append(self.io.datetimes[-1] + datetime.timedelta(hours=1)) - - new_date_times = np.asarray(new_date_times) - parameters["times"] = [x.timestamp() for x in new_date_times] - - for demand in demands: - var_name = f"{demand}.target_heat_demand" - self._set_data_with_averages_and_peak_day( - datastore=new_datastore, - variable_name=var_name, - ensemble_member=ensemble_member, - new_date_times=new_date_times, - ) - - # TODO: this has not been tested but is required if a production profile is included - # in the data - for source in self.energy_system_components.get("heat_source", []): - try: - self.get_timeseries(f"{source}.target_heat_source_year", ensemble_member) - except KeyError: - continue - var_name = f"{source}.target_heat_source_year" - self._set_data_with_averages_and_peak_day( - datastore=new_datastore, - variable_name=var_name, - ensemble_member=ensemble_member, - new_date_times=new_date_times, - ) - - self.io = new_datastore - - def _set_data_with_averages_and_peak_day( - self, - datastore: DataStore, - variable_name: str, - ensemble_member: int, - new_date_times: np.array, - ): - try: - data = self.get_timeseries(variable=variable_name, ensemble_member=ensemble_member) - except KeyError: - datastore.set_timeseries( - variable=variable_name, - datetimes=new_date_times, - values=np.asarray([0.0] * len(new_date_times)), - ensemble_member=ensemble_member, - check_duplicates=True, - ) - return - - new_data = list() - data_timestamps = data.times - data_datetimes = [ - self.io.datetimes[0] + datetime.timedelta(seconds=s) for s in data_timestamps - ] - assert new_date_times[0] == data_datetimes[0] - data_values = data.values - - values_for_mean = [0.0] - for dt, val in zip(data_datetimes, data_values): - if dt in new_date_times: - new_data.append(np.mean(values_for_mean)) - values_for_mean = [val] - else: - values_for_mean.append(val) - - # last datetime is not in input data, so we need to take the mean of the last bit - new_data.append(np.mean(values_for_mean)) - - datastore.set_timeseries( - variable=variable_name, - datetimes=new_date_times, - values=np.asarray(new_data), - ensemble_member=ensemble_member, - check_duplicates=True, + ( + self.__indx_max_peak, + self.__heat_demand_nominal, + self.__cold_demand_nominal, + ) = adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day( + self, + 10, ) diff --git a/tests/test_temperature_ates_hp.py b/tests/test_temperature_ates_hp.py index e6623a4af..68fbad94f 100644 --- a/tests/test_temperature_ates_hp.py +++ b/tests/test_temperature_ates_hp.py @@ -61,7 +61,7 @@ def test_ates_temperature(self): energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) - ates_charging = results["Pipe1__flow_direct_var"] # =1 if charging + ates_charging = results["ATES_cb47__is_charging"] # =1 if charging ates_temperature = results["ATES_cb47.Temperature_ates"] ates_temperature_disc = results["ATES_cb47__temperature_ates_disc"] carrier_temperature = results["41770304791669983859190_temperature"] From e89f9ccb18af78816a7578a23edcbfca5d988239 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 28 Aug 2025 14:03:42 +0200 Subject: [PATCH 284/376] Hydraulic power calculations when headloss turned off. (#329) Fix pump power when headloss calculations are turned off. Hydraulic power at sinks is now atleast, the minimum pressuredrop multiplied with the flow, an inequality constraint instead of equality when headloss is turned on, else it is zero * style * fix bug * fix code so that works for all cases, only one hex case is failing * added test on hydraulic power calculations when headloss is set to zero * fix to cop modelling hp * old code clean up * Changelog * fix tests * fix test --- CHANGELOG.md | 1 + src/mesido/head_loss_class.py | 12 ++++ src/mesido/heat_physics_mixin.py | 60 +++++++++++++++++++ .../component_library/milp/heat/airco.py | 11 ++-- .../milp/heat/cold_demand.py | 7 --- .../milp/heat/heat_demand.py | 7 --- .../milp/heat/heat_exchanger.py | 7 --- .../component_library/milp/heat/heat_pump.py | 7 --- tests/models/wko/src/example.py | 2 + tests/test_hydraulic_power.py | 27 +++++++++ tests/test_producer_profiles.py | 2 +- tests/utils_tests.py | 2 +- 12 files changed, 110 insertions(+), 35 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c46aa4373..44053491b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ ## Changed - TCO cost calculation objective to now exclude heating demand costs in the grow workflow +- Hydraulic power calculation at "sink" assets is set to 0.0 if headloss calculation is turned off. # [Unreleased-main] - 2025-08-14 diff --git a/src/mesido/head_loss_class.py b/src/mesido/head_loss_class.py index c6c7abc13..d467becb3 100644 --- a/src/mesido/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -1188,6 +1188,10 @@ def _demand_head_loss_path_constraints(self, optimization_problem, _ensemble_mem # Convert minimum pressure at far point from bar to meter (water) head min_head_loss = options["minimum_pressure_far_point"] * 10.2 + # TODO: shouldn't the min_head_loss be taken as parameters[f"{asset}.minimum_pressure_drop"] + # Then, options["minimum_pressure_far_point"] * 10.2 could be used to ensure that at each + # demand f"{d}.HeatIn.H" is bigger than this. + for d in components.get("heat_demand", []): constraints.append( ( @@ -1583,4 +1587,12 @@ def _pipe_hydraulic_power_path_constraints( pressure=parameters[f"{pipe}.pressure"], ) ) + else: + for pipe in optimization_problem.energy_system_components.get(pipe_type, []): + hydraulic_power = optimization_problem.state(f"{pipe}.Hydraulic_power") + + nominal = optimization_problem.variable_nominal(f"{pipe}.Hydraulic_power") + + constraints.append((hydraulic_power / nominal, 0.0, 0.0)) + return constraints diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 21b00cd93..764c62886 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -3577,6 +3577,65 @@ def __storage_hydraulic_power_path_constraints(self, ensemble_member): return constraints + def __sink_hydraulic_power_path_constraints(self, ensemble_member): + """ + This function adds hydraulic power and pump power contraints for a storage assets. If the + head loss option is not enabled then the hydraulic power and pump power are for forced to + 0.0 but if the head loss option is enabled then: + - The delta hydraulic power is constrained to be equal to f(minimum pressure drop, + volumetric flow rate) when the storage is being charged. + - The pump power is constrained to be equal the delta hydraulic power when the storage + is not being charged. + """ + constraints = [] + + parameters = self.parameters(ensemble_member) + + for asset in { + *self.energy_system_components.get("airco", []), + *self.energy_system_components.get("heat_demand", []), + *self.energy_system_components.get("cold_demand", []), + *self.energy_system_components.get("heat_exchanger", []), + *self.energy_system_components.get("heat_pump", []), + }: + + min_dp = parameters[f"{asset}.minimum_pressure_drop"] + + if asset in { + *self.energy_system_components.get("heat_exchanger", []), + *self.energy_system_components.get("heat_pump", []), + }: + asset += ".Primary" + discharge = self.state(f"{asset}.HeatIn.Q") + hp_in = self.state(f"{asset}.HeatIn.Hydraulic_power") + hp_out = self.state(f"{asset}.HeatOut.Hydraulic_power") + + big_m = ( + 2.0 + * self.bounds()[f"{asset}.HeatIn.Q"][1] + * self.__maximum_total_head_loss + * 10.2 + * 1.0e3 + ) + if self.heat_network_settings["head_loss_option"] != HeadLossOption.NO_HEADLOSS: + constraints.append( + ( + ((hp_in - hp_out) - min_dp * discharge) / big_m, + 0.0, + np.inf, + ) + ) + else: + constraints.append( + ( + (hp_out - hp_in) / self.variable_nominal(f"{asset}.HeatIn.Hydraulic_power"), + 0.0, + 0.0, + ) + ) + + return constraints + def path_constraints(self, ensemble_member): """ Here we add all the path constraints to the optimization problem. Please note that the @@ -3621,6 +3680,7 @@ def path_constraints(self, ensemble_member): constraints.extend(self.__ates_temperature_ordering_path_constraints(ensemble_member)) constraints.extend(self.__heat_pump_cop_path_constraints(ensemble_member)) constraints.extend(self.__storage_hydraulic_power_path_constraints(ensemble_member)) + constraints.extend(self.__sink_hydraulic_power_path_constraints(ensemble_member)) return constraints diff --git a/src/mesido/pycml/component_library/milp/heat/airco.py b/src/mesido/pycml/component_library/milp/heat/airco.py index 6f8c24502..ad65cd161 100644 --- a/src/mesido/pycml/component_library/milp/heat/airco.py +++ b/src/mesido/pycml/component_library/milp/heat/airco.py @@ -46,13 +46,14 @@ def __init__(self, name, **modifiers): # Heat in the return (i.e. cold) line is zero self.add_variable(Variable, "Heat_airco", min=0.0, nominal=self.Heat_nominal) self.add_variable(Variable, "dH", max=0.0) + self.add_variable( + Variable, "Pump_power", min=0.0, nominal=self.Q_nominal * self.nominal_pressure + ) + self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) self.add_equation( - ( - self.minimum_pressure_drop * self.Q - - (self.HeatIn.Hydraulic_power - self.HeatOut.Hydraulic_power) - ) - / (self.Q_nominal * self.minimum_pressure_drop) + (self.Pump_power - (self.HeatOut.Hydraulic_power - self.HeatIn.Hydraulic_power)) + / (self.Q_nominal * self.nominal_pressure) ) self.add_equation( diff --git a/src/mesido/pycml/component_library/milp/heat/cold_demand.py b/src/mesido/pycml/component_library/milp/heat/cold_demand.py index 3e1a5fd0c..c4754ca62 100644 --- a/src/mesido/pycml/component_library/milp/heat/cold_demand.py +++ b/src/mesido/pycml/component_library/milp/heat/cold_demand.py @@ -48,13 +48,6 @@ def __init__(self, name, **modifiers): self.add_variable(Variable, "Cold_demand", min=0.0, nominal=self.Heat_nominal) self.add_variable(Variable, "dH", max=0.0) self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) - self.add_equation( - ( - self.minimum_pressure_drop * self.Q - - (self.HeatIn.Hydraulic_power - self.HeatOut.Hydraulic_power) - ) - / (self.Q_nominal * self.minimum_pressure_drop) - ) self.add_equation( (self.HeatOut.Heat - (self.HeatIn.Heat + self.Cold_demand)) / self.Heat_nominal diff --git a/src/mesido/pycml/component_library/milp/heat/heat_demand.py b/src/mesido/pycml/component_library/milp/heat/heat_demand.py index ffeae480d..56b3fe7b1 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_demand.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_demand.py @@ -47,13 +47,6 @@ def __init__(self, name, **modifiers): self.add_variable(Variable, "Heat_demand", min=0.0, nominal=self.Heat_nominal) self.add_variable(Variable, "dH", max=0.0) self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) - self.add_equation( - ( - self.minimum_pressure_drop * self.Q - - (self.HeatIn.Hydraulic_power - self.HeatOut.Hydraulic_power) - ) - / (self.Q_nominal * self.minimum_pressure_drop) - ) self.add_equation( (self.HeatOut.Heat - (self.HeatIn.Heat - self.Heat_demand)) / self.Heat_nominal diff --git a/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py index a8c45231e..f8490031a 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py @@ -61,13 +61,6 @@ def __init__(self, name, **modifiers): # Hydraulically decoupled so Heads remain the same self.add_equation(self.dH_prim - (self.Primary.HeatOut.H - self.Primary.HeatIn.H)) - self.add_equation( - ( - self.minimum_pressure_drop * self.Primary.Q - - (self.Primary.HeatIn.Hydraulic_power - self.Primary.HeatOut.Hydraulic_power) - ) - / (self.Primary.Q_nominal * self.Primary.nominal_pressure) - ) self.add_equation(self.dH_sec - (self.Secondary.HeatOut.H - self.Secondary.HeatIn.H)) self.add_equation( ( diff --git a/src/mesido/pycml/component_library/milp/heat/heat_pump.py b/src/mesido/pycml/component_library/milp/heat/heat_pump.py index 23d4e7ed2..a7d414a42 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_pump.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pump.py @@ -58,13 +58,6 @@ def __init__(self, name, **modifiers): # Hydraulically decoupled so Heads remain the same # #TODO: can't these two equations be moved to the non_storagecomponent? self.add_equation(self.dH_prim - (self.Primary.HeatOut.H - self.Primary.HeatIn.H)) - self.add_equation( - ( - self.minimum_pressure_drop * self.Primary.Q - - (self.Primary.HeatIn.Hydraulic_power - self.Primary.HeatOut.Hydraulic_power) - ) - / (self.Primary.Q_nominal * self.Primary.nominal_pressure) - ) self.add_equation(self.dH_sec - (self.Secondary.HeatOut.H - self.Secondary.HeatIn.H)) self.add_equation( ( diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index 4fd9c066d..a138a13f4 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -200,6 +200,8 @@ def solver_options(self): """ options = super().solver_options() options["solver"] = "highs" + highs_options = options["highs"] = {} + highs_options["presolve"] = "off" return options def constraints(self, ensemble_member): diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index 9239039b0..a52e6eed1 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -24,6 +24,7 @@ def test_hydraulic_power_heat(self): Scenario 1. LINEARIZED_N_LINES_WEAK_INEQUALITY (1 line segment) Scenario 2. LINEARIZED_ONE_LINE_EQUALITY Scenario 3. LINEARIZED_N_LINES_WEAK_INEQUALITY (default line segments = 5) + Scenario 4. NO_HEADLOSS Checks: - For all scenarios (unless stated otherwise): @@ -39,6 +40,8 @@ def test_hydraulic_power_heat(self): would be expected because scenario 3 has more linear line segments, theerefore the approximation would be closer to the theoretical non-linear curve when compared to 1 linear line approximation of the theoretical non-linear curve. + - Scenario 4: checks that the hydraulic power is 0, and also no hydraulic power or + pressure loss is assumed over assets with a minimum pressure drop. Missing: - The way the problems are ran and adapted is different compared to the other tests, where @@ -241,6 +244,30 @@ def test_hydraulic_power_heat(self): atol=10.0, ) + # # NoHeadloss should imply also no hydraulic power and no pump_power + run_hydraulic_power.df_MILP = pd.DataFrame(columns=standard_columns_specified) + run_hydraulic_power.head_loss_setting = HeadLossOption.NO_HEADLOSS + solution = run_esdl_mesido_optimization( + HeatProblem, + base_folder=base_folder, + esdl_file_name="test_simple.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.xml", + ) + + results = solution.extract_results() + for pipe in solution.energy_system_components.get("heat_pipe", []): + np.testing.assert_allclose(results[f"{pipe}.Hydraulic_power"], 0.0) + for demand in solution.energy_system_components.get("heat_demand", []): + hydraulic_power_demand = ( + results[f"{demand}.HeatIn.Hydraulic_power"] + - results[(f"{demand}.HeatOut.Hydraulic_power")] + ) + np.testing.assert_allclose(hydraulic_power_demand, 0.0) + for source in solution.energy_system_components.get("heat_source", []): + np.testing.assert_allclose(results[f"{source}.Pump_power"], 0.0) + def test_hydraulic_power_gas(self): """ Checks the logic for the hydraulic power of gas pipes. diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 99ac133a6..c0c31c8aa 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -102,7 +102,7 @@ def test_max_producer_esdl_unscaled_profile(self): demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) - tol = 1e-6 + tol = 1e-4 heat_produced = results["HeatProducer_b702.Heat_source"] if problem_class == HeatProblemESDLProdProfile: diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 2577ae89e..447df9c79 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -470,7 +470,7 @@ def energy_conservation_test(solution, results): ) energy_sum -= results[f"{p}__hn_heat_loss"] - np.testing.assert_allclose(energy_sum, 0.0, atol=1e-2) + np.testing.assert_allclose(energy_sum, 0.0, atol=1e-1) def gas_pipes_head_loss_test(solution, results): From a7a08c15b1a7f84adb973a5d8a96ff51b887eaaf Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 28 Aug 2025 14:19:53 +0200 Subject: [PATCH 285/376] Heat exchanger requirements (#328) Changed requirement on heat exchanger capacity/power to be filled in and not the heattransfercoefficient for the grow workflow. An error check is added that is now only used for the grow workflow. --- CHANGELOG.md | 3 ++- src/mesido/esdl/esdl_heat_model.py | 25 +++++++++++++++-------- src/mesido/potential_errors.py | 1 + src/mesido/workflows/utils/error_types.py | 3 +++ 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 44053491b..19934484f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # [Unreleased-main] - 2025-08-27 ## Added -- Potential error checks if heating demand state is not set to enabled +- Potential error checks if heating demand state is not set to enabled. +- Potential error checks if the heat exchanger capacity is set correctly. - Generic modifier functions for consistency across assets. - Discrete charge/discharge variable for an ATES asset. diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index fd23256b9..cd3fed79c 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -983,17 +983,24 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD if asset.asset_type == "GenericConversion": max_power = asset.attributes["power"] if asset.attributes["power"] else math.inf else: - # TODO: Current max_power estimation is not very accurate, a more physics based - # estimation should be implemented, maybe using other ESDL attributs. - max_power = ( - asset.attributes["heatTransferCoefficient"] - * (params_t["Primary"]["T_supply"] - params_t["Secondary"]["T_return"]) - / 2.0 - ) - if max_power == 0.0: + # DTK requires capacity as the maximum power reference and not based on + # heatTransferCoefficient. Power could also be based on heatTransferCoefficient if we + # use an option to select it. + max_power = asset.attributes["capacity"] if asset.attributes["capacity"] else math.inf + if max_power == math.inf: + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.HEAT_EXCHANGER_POWER, + asset.id, + f"Asset name {asset.name}: The capacity of the heat exchanger is " + f"not defined. For this workflow the capacity is required and not the " + f"heatTransferCoefficient.", + ) max_power = ( - asset.attributes["capacity"] if asset.attributes["capacity"] else math.inf + asset.attributes["heatTransferCoefficient"] + * (params_t["Primary"]["T_supply"] - params_t["Secondary"]["T_return"]) + / 2.0 ) + # This default delta temperature is used when on the primary or secondary side the # temperature difference is 0.0. It is set to 10.0 to ensure that maximum/nominal # flowrates and heat transport are set at realistic values. diff --git a/src/mesido/potential_errors.py b/src/mesido/potential_errors.py index 110065b5e..546b5dd90 100644 --- a/src/mesido/potential_errors.py +++ b/src/mesido/potential_errors.py @@ -15,6 +15,7 @@ class MesidoAssetIssueType(Enum): HEAT_DEMAND_TYPE = "heat_demand.type" ASSET_PROFILE_CAPABILITY = "asset_profile.capability" HEAT_EXCHANGER_TEMPERATURES = "heat_exchanger.temperature" + HEAT_EXCHANGER_POWER = "heat_exchanger.capacity" HEAT_DEMAND_STATE = "heat_demand.state" diff --git a/src/mesido/workflows/utils/error_types.py b/src/mesido/workflows/utils/error_types.py index 39ab07691..0effabbc0 100644 --- a/src/mesido/workflows/utils/error_types.py +++ b/src/mesido/workflows/utils/error_types.py @@ -30,6 +30,8 @@ def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY: "Profile assigment not allowed.", MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES: "Temperatures at heat exchanger set " "incorrectly.", + MesidoAssetIssueType.HEAT_EXCHANGER_POWER: "The capacity of the heat exchanger is not " + "defined", MesidoAssetIssueType.HEAT_DEMAND_STATE: "Heating Demand state set to OPTIONAL", } @@ -50,6 +52,7 @@ def potential_error_to_error(network_check_type: Enum) -> None: MesidoAssetIssueType.HEAT_DEMAND_TYPE, MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, + MesidoAssetIssueType.HEAT_EXCHANGER_POWER, MesidoAssetIssueType.HEAT_DEMAND_STATE, ], HEAT_AND_COOL_NETWORK_ERRORS: [ From db9ee59429a6711ada40e6cdc91ef41a041120d3 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Fri, 29 Aug 2025 09:17:44 +0200 Subject: [PATCH 286/376] 292 time limit reached priority 1 (#326) Checks if timelimit reached in priority 1 for all stages and terminates the optimization if it is reached. --- CHANGELOG.md | 2 + src/mesido/workflows/grow_workflow.py | 42 +++++++++++++------ tests/models/unit_cases/case_3a/src/run_3a.py | 8 ++++ 3 files changed, 40 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 19934484f..ecce29195 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Potential error checks if the heat exchanger capacity is set correctly. - Generic modifier functions for consistency across assets. - Discrete charge/discharge variable for an ATES asset. +- Checks if a timelimit is reached in the GROW workflow at each stage. ## Changed - TCO cost calculation objective to now exclude heating demand costs in the grow workflow @@ -23,6 +24,7 @@ ## Fixed - Bug: Add 3 port heat pump to elect demand path constraint +- Error exit when priority 1 reaches time limit in grow workflow for all settings and solvers. # [0.1.13] - 2025-06-25 diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index f376c4d61..f4219949d 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -141,6 +141,33 @@ def estimate_and_update_progress_status(self, priority): ) # In the future this ratio might differ from the step being completed +solver_messages = { + "Time_limit": { + "highs": "Time limit reached", + "cplex": "time limit exceeded", + "gurobi": "TIME_LIMIT", + } +} + + +def check_solver_succes_grow_problem(solution): + solver_success, _ = solution.solver_success(solution.solver_stats, False) + if not solver_success: + if ( + solution.solver_stats["return_status"] + == solver_messages["Time_limit"][solution.solver_options] + and solution.objective_value > 1e-6 + ): + logger.error( + f"Optimization maximum allowed time limit reached for stage_" + f"{solution._stage}, goal_1" + ) + exit(1) + else: + logger.error("Unsuccessful: unexpected error for stage_1, goal_1") + exit(1) + + class SolverHIGHS: def solver_options(self): options = super().solver_options() @@ -632,6 +659,7 @@ def run_end_scenario_sizing_no_heat_losses( total_stages=1, **kwargs, ) + check_solver_succes_grow_problem(solution) print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) @@ -679,18 +707,7 @@ def run_end_scenario_sizing( **kwargs, ) # Error checking - solver_success, _ = solution.solver_success(solution.solver_stats, False) - if not solver_success: - if ( - solution.solver_stats["return_status"] == "Time limit reached" - and solution.objective_value > 1e-6 - and solution._stage == 1 - ): - logger.error("Optimization maximum allowed time limit reached for stage_1, goal_1") - exit(1) - else: - logger.error("Unsuccessful: unexpected error for stage_1, goal_1") - exit(1) + check_solver_succes_grow_problem(solution) results = solution.extract_results() parameters = solution.parameters(0) @@ -775,6 +792,7 @@ def run_end_scenario_sizing( priorities_output=priorities_output, **kwargs, ) + check_solver_succes_grow_problem(solution) print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/models/unit_cases/case_3a/src/run_3a.py b/tests/models/unit_cases/case_3a/src/run_3a.py index f18e28ddf..0b84d44af 100644 --- a/tests/models/unit_cases/case_3a/src/run_3a.py +++ b/tests/models/unit_cases/case_3a/src/run_3a.py @@ -294,6 +294,14 @@ class HeatProblemESDLProdProfile( ESDLMixin, CollocatedIntegratedOptimizationProblem, ): + + def solver_options(self): + options = super().solver_options() + options["solver"] = "highs" + options_highs = options["highs"] = {} + options_highs["mip_rel_gap"] = 1e-6 + return options + def energy_system_options(self): options = super().energy_system_options() options["heat_loss_disconnected_pipe"] = True From 3d4d84decf5bebdc3ef9b35f27b7cbc036d6b404 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 1 Sep 2025 08:36:45 +0200 Subject: [PATCH 287/376] Speedup test varying temperature (#338) Clean up and speedup of test varying temperature test_hex_temperature_variation. --- .../heat_exchange/src/run_heat_exchanger.py | 155 +++--------------- 1 file changed, 20 insertions(+), 135 deletions(-) diff --git a/tests/models/heat_exchange/src/run_heat_exchanger.py b/tests/models/heat_exchange/src/run_heat_exchanger.py index a1847bcac..86e0446cc 100644 --- a/tests/models/heat_exchange/src/run_heat_exchanger.py +++ b/tests/models/heat_exchange/src/run_heat_exchanger.py @@ -97,7 +97,7 @@ def solver_options(self): return options -class HeatProblemTvarSecondary( +class HeatProblemTvarGeneral( _GoalsAndOptions, PhysicsMixin, LinearizedOrderGoalProgrammingMixin, @@ -119,22 +119,11 @@ def temperature_carriers(self): def energy_system_options(self): options = super().energy_system_options() self.heat_network_settings["minimum_velocity"] = 0.0001 - options["heat_loss_disconnected_pipe"] = True + options["heat_loss_disconnected_pipe"] = False self.heat_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS return options - def times(self, variable=None) -> np.ndarray: - return super().times(variable)[:5] - - def temperature_regimes(self, carrier): - temperatures = [] - if carrier == 7212673879469902607010: - # supply - temperatures = [70.0, 90.0] - - return temperatures - def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) # These constraints are added to allow for a quicker solve @@ -154,75 +143,42 @@ def constraints(self, ensemble_member): return constraints -class HeatProblemTvar( - _GoalsAndOptions, - PhysicsMixin, - LinearizedOrderGoalProgrammingMixin, - GoalProgrammingMixin, - ESDLMixin, - CollocatedIntegratedOptimizationProblem, -): - def path_goals(self): - goals = super().path_goals().copy() - - for s in self.energy_system_components["heat_source"]: - goals.append(MinimizeSourcesHeatGoal(s)) - - return goals - - def temperature_carriers(self): - return self.esdl_carriers # geeft terug de carriers met multiple temperature options +class HeatProblemTvarSecondary(HeatProblemTvarGeneral): def energy_system_options(self): options = super().energy_system_options() - self.heat_network_settings["minimum_velocity"] = 0.0001 - options["heat_loss_disconnected_pipe"] = False + options["heat_loss_disconnected_pipe"] = True return options + def times(self, variable=None) -> np.ndarray: + return super().times(variable)[:5] + def temperature_regimes(self, carrier): temperatures = [] - if carrier == 33638164429859421: # 7212673879469902607010: + if carrier == 7212673879469902607010: # supply - temperatures = [69.0, 80.0, 90.0] + temperatures = [70.0, 90.0] return temperatures - def constraints(self, ensemble_member): - constraints = super().constraints(ensemble_member) - # These constraints are added to allow for a quicker solve - for _carrier, temperatures in self.temperature_carriers().items(): - carrier_id_number_mapping = str(temperatures["id_number_mapping"]) - temperature_regimes = self.temperature_regimes(int(carrier_id_number_mapping)) - if len(temperature_regimes) > 0: - for temperature in temperature_regimes: - selected_temp_vec = self.state_vector( - f"{int(carrier_id_number_mapping)}_{temperature}" - ) - for i in range(1, len(self.times())): - constraints.append( - (selected_temp_vec[i] - selected_temp_vec[i - 1], 0.0, 0.0) - ) - return constraints - - -class HeatProblemTvarDisableHEX( - _GoalsAndOptions, - PhysicsMixin, - LinearizedOrderGoalProgrammingMixin, - GoalProgrammingMixin, - ESDLMixin, - CollocatedIntegratedOptimizationProblem, -): - def temperature_carriers(self): - return self.esdl_carriers # geeft terug de carriers met multiple temperature options +class HeatProblemTvar(HeatProblemTvarGeneral): def energy_system_options(self): options = super().energy_system_options() - self.heat_network_settings["minimum_velocity"] = 0.0001 options["heat_loss_disconnected_pipe"] = False return options + def temperature_regimes(self, carrier): + temperatures = [] + if carrier == 33638164429859421: # 7212673879469902607010: + # supply + temperatures = [69.0, 80.0, 90.0] + + return temperatures + + +class HeatProblemTvarDisableHEX(HeatProblemTvarGeneral): @property def esdl_assets(self): assets = super().esdl_assets @@ -240,77 +196,6 @@ def temperature_regimes(self, carrier): return temperatures - def constraints(self, ensemble_member): - constraints = super().constraints(ensemble_member) - # These constraints are added to allow for a quicker solve - for _carrier, temperatures in self.temperature_carriers().items(): - carrier_id_number_mapping = str(temperatures["id_number_mapping"]) - temperature_regimes = self.temperature_regimes(int(carrier_id_number_mapping)) - if len(temperature_regimes) > 0: - for temperature in temperature_regimes: - selected_temp_vec = self.state_vector( - f"{int(carrier_id_number_mapping)}_{temperature}" - ) - for i in range(1, len(self.times())): - constraints.append( - (selected_temp_vec[i] - selected_temp_vec[i - 1], 0.0, 0.0) - ) - - return constraints - - -# class HeatProblemTvar( -# _GoalsAndOptions, -# HeatMixin, -# LinearizedOrderGoalProgrammingMixin, -# GoalProgrammingMixin, -# ESDLMixin, -# CollocatedIntegratedOptimizationProblem, -# ): -# def path_goals(self): -# goals = super().path_goals().copy() -# -# for s in self.energy_system_components["heat_source"]: -# goals.append(MinimizeSourcesHeatGoal(s)) -# -# return goals -# -# def temperature_carriers(self): -# return self.esdl_carriers # geeft terug de carriers met multiple temperature options -# -# def temperature_regimes(self, carrier): -# temperatures = [] -# if carrier == 7212673879469902607010: -# # supply -# temperatures = [70.0, 90.0] -# -# return temperatures -# -# def constraints(self, ensemble_member): -# constraints = super().constraints(ensemble_member) -# # These constraints are added to allow for a quicker solve -# for carrier, temperatures in self.temperature_carriers().items(): -# number_list = [int(s) for s in carrier if s.isdigit()] -# number = "" -# for nr in number_list: -# number = number + str(nr) -# carrier_type = temperatures["__rtc_type"] -# if carrier_type == "return": -# number = number + "000" -# carrier_id_number_mapping = number -# temperature_regimes = self.temperature_regimes(int(carrier_id_number_mapping)) -# if len(temperature_regimes) > 0: -# for temperature in temperature_regimes: -# selected_temp_vec = self.state_vector( -# f"{int(carrier_id_number_mapping)}__{carrier_type}_{temperature}" -# ) -# for i in range(1, len(self.times())): -# constraints.append( -# (selected_temp_vec[i] - selected_temp_vec[i - 1], 0.0, 0.0) -# ) -# -# return constraints - if __name__ == "__main__": solution = run_optimization_problem( From 30ef898650dcd36ed13d5a83b4fea493ac76c10d Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 4 Sep 2025 11:34:50 +0200 Subject: [PATCH 288/376] Update pipe catalog costs (#331) * Pipe costs are updated if an asset template with costs are provided Co-authored-by: gopalanjayashankarg --- CHANGELOG.md | 17 +- .../model/pipe_catalog_template.esdl | 218 ++++++ src/mesido/esdl/esdl_mixin.py | 41 +- src/mesido/esdl/esdl_parser.py | 130 ++-- ...with_buffer_all_optional_pipe_catalog.esdl | 722 ++++++++++++++++++ tests/test_end_scenario_sizing.py | 103 ++- tests/test_producer_profiles.py | 8 +- 7 files changed, 1173 insertions(+), 66 deletions(-) create mode 100644 examples/pipe_diameter_sizing/model/pipe_catalog_template.esdl create mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_pipe_catalog.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index ecce29195..3c67f1100 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,27 +1,22 @@ -# [Unreleased-main] - 2025-08-27 +# [Unreleased-main] - 2025-09-04 ## Added +- Elect test for air_to_water_heat_pump_elec +- Timelimit for testing in pipeline - Potential error checks if heating demand state is not set to enabled. - Potential error checks if the heat exchanger capacity is set correctly. - Generic modifier functions for consistency across assets. - Discrete charge/discharge variable for an ATES asset. - Checks if a timelimit is reached in the GROW workflow at each stage. +- Pipe costs are updated based on the asset templates if they are provided ## Changed +- Previously variable operational cost of air-to-water heat pump was based on the thermal power usage. Now it is based on the electrical power usage +- TCO cost calculation objective now used the technical lifetime to determine the frequency of the re-investment costs. - TCO cost calculation objective to now exclude heating demand costs in the grow workflow - Hydraulic power calculation at "sink" assets is set to 0.0 if headloss calculation is turned off. -# [Unreleased-main] - 2025-08-14 - -## Added -- Elect test for air_to_water_heat_pump_elec -- Timelimit for testing in pipeline - -## Changed -- Previously variable operational cost of air-to-water heat pump was based on the thermal power usage. Now it is based on the electrical power usage -- TCO cost calculation objective now used the technical lifetime to determine the frequency of the re-investment costs. - ## Fixed - Bug: Add 3 port heat pump to elect demand path constraint - Error exit when priority 1 reaches time limit in grow workflow for all settings and solvers. diff --git a/examples/pipe_diameter_sizing/model/pipe_catalog_template.esdl b/examples/pipe_diameter_sizing/model/pipe_catalog_template.esdl new file mode 100644 index 000000000..b2d752ff1 --- /dev/null +++ b/examples/pipe_diameter_sizing/model/pipe_catalog_template.esdl @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index 10a21743e..0819764c7 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -1,5 +1,6 @@ import base64 import copy +import dataclasses import logging import xml.etree.ElementTree as ET # noqa: N817 from datetime import timedelta @@ -77,8 +78,9 @@ def __init__(self, *args, **kwargs) -> None: We set file locations for the input files and for the diagnostic file. We create a dict with all possible pipe classes for the optional pipes to later add them - to the optimization problem. This is done in this Mixin as we here use the information of - the EDR database which is linked to ESDL and the Mapeditor. + to the optimization problem. Additionally, we change the investment cost figures if an + asset pipe template is provided. This is done in this Mixin as we here use the information + of the EDR database which is linked to ESDL and the Mapeditor. Parameters ---------- @@ -101,6 +103,7 @@ def __init__(self, *args, **kwargs) -> None: self._esdl_assets: Dict[str, Asset] = esdl_parser.get_assets() self._esdl_carriers: Dict[str, Dict[str, Any]] = esdl_parser.get_carrier_properties() self.__energy_system_handler: esdl.esdl_handler.EnergySystemHandler = esdl_parser.get_esh() + self._esdl_templates: Dict[str, Asset] = esdl_parser.get_templates() profile_reader_class = kwargs.get("profile_reader", InfluxDBProfileReader) input_file_name = kwargs.get("input_timeseries_file", None) @@ -197,6 +200,28 @@ def override_pipe_classes(self) -> None: EDRPipeClass.from_edr_class(name, edr_class_name, maximum_velocity) for name, edr_class_name in _AssetToComponentBase.STEEL_S1_PIPE_EDR_ASSETS.items() ] + # Update the pipe costs if a template model in the ESDL was used. This is updated only if + # the pipe catalog is available as a template + if self._esdl_templates: + filter_type = "Pipe" + pipe_templates = self.filter_asset_templates( + asset_templates=self._esdl_templates, filter_type=filter_type + ) + if len(pipe_templates.items()) > 0: + pipe_diameter_cost_map = { + str(pipe.attributes["asset"].diameter): pipe.attributes[ + "asset" + ].costInformation.investmentCosts.value + for pipe in pipe_templates.values() + } + for i, pipe_class in enumerate(pipe_classes): + if pipe_class.name in pipe_diameter_cost_map.keys(): + pipe_classes[i] = dataclasses.replace( + pipe_classes[i], + investment_costs=pipe_diameter_cost_map[pipe_class.name], + ) + else: + del pipe_classes[i] # We assert the pipe classes are monotonically increasing in size assert np.all(np.diff([pc.inner_diameter for pc in pipe_classes]) > 0) @@ -646,6 +671,18 @@ def write(self) -> None: # Write output file to disk self.__timeseries_export.write() + @classmethod + def filter_asset_templates( + cls, asset_templates: Dict[str, Asset], filter_type: str + ) -> Dict[str, Asset]: + filtered_assets = dict() + for asset_id, asset in asset_templates.items(): + asset_type = asset.attributes["asset"] + if isinstance(asset_type, getattr(esdl, filter_type)): + filtered_assets[asset_id] = asset + + return filtered_assets + class _ESDLInputDataConfig: """ diff --git a/src/mesido/esdl/esdl_parser.py b/src/mesido/esdl/esdl_parser.py index 1a1707ee9..3709080dc 100644 --- a/src/mesido/esdl/esdl_parser.py +++ b/src/mesido/esdl/esdl_parser.py @@ -23,6 +23,7 @@ def __init__(self): self._energy_system: Optional[esdl.EnergySystem] = None self._esdl_string: Optional[str] = None self._esdl_path: Optional[Path] = None + self._templates: Dict[str, Asset] = dict() def _load_esdl_model(self) -> None: """ @@ -90,57 +91,87 @@ def read_esdl(self) -> None: # Component ids are unique, but we require component names to be unique as well. component_names = set() + # Check if the ESDL has asset templates + try: + asset_templates = list(self._energy_system.templates.eAllContents()) + except AttributeError: + asset_templates = None + # loop through assets for el in self._energy_system.eAllContents(): - if isinstance(el, esdl.Asset): - if hasattr(el, "name") and el.name: - el_name = el.name - else: - el_name = el.id - - if "." in el_name: - # Dots indicate hierarchy, so would be very confusing - raise ValueError(f"Dots in component names not supported: '{el_name}'") - - if el_name in component_names: - raise Exception(f"Asset names have to be unique: '{el_name}' already exists") - else: - component_names.add(el_name) - - # For some reason `esdl_element.assetType` is `None`, so use the class name - asset_type = el.__class__.__name__ - - # Every asset should at least have a port to be connected to another asset - assert len(el.port) >= 1 - - in_ports = None - out_ports = None - for port in el.port: - if isinstance(port, esdl.InPort): - if in_ports is None: - in_ports = [port] - else: - in_ports.append(port) - elif isinstance(port, esdl.OutPort): - if out_ports is None: - out_ports = [port] - else: - out_ports.append(port) + # If asset templates exist, collect that in a different dictionary, to be used later in + # esdl_mixin to update that information + if asset_templates is not None and el in asset_templates: + if isinstance(el, esdl.AssetTemplate): + asset_type = el.__class__.__name__ + # Note that e.g. el.__dict__['length'] does not work to get the length of a + # pipe. + # We therefore built this dict ourselves using 'dir' and 'getattr' + attributes = {k: getattr(el, k) for k in dir(el)} + self._templates[el.id] = Asset( + asset_type=asset_type, + id=el.id, + name=el.name, + in_ports=None, + out_ports=None, + attributes=attributes, + global_properties=self._global_properties, + ) + else: + if isinstance(el, esdl.Asset): + if hasattr(el, "name") and el.name: + el_name = el.name else: - _ESDLInputException(f"The port for {el_name} is neither an IN or OUT port") - - # Note that e.g. el.__dict__['length'] does not work to get the length of a pipe. - # We therefore built this dict ourselves using 'dir' and 'getattr' - attributes = {k: getattr(el, k) for k in dir(el)} - self._assets[el.id] = Asset( - asset_type, - el.id, - el_name, - in_ports, - out_ports, - attributes, - self._global_properties, - ) + el_name = el.id + + if "." in el_name: + # Dots indicate hierarchy, so would be very confusing + raise ValueError(f"Dots in component names not supported: '{el_name}'") + + if el_name in component_names: + raise Exception( + f"Asset names have to be unique: '{el_name}' already exists" + ) + else: + component_names.add(el_name) + + # For some reason `esdl_element.assetType` is `None`, so use the class name + asset_type = el.__class__.__name__ + + # Every asset should at least have a port to be connected to another asset + assert len(el.port) >= 1 + + in_ports = None + out_ports = None + for port in el.port: + if isinstance(port, esdl.InPort): + if in_ports is None: + in_ports = [port] + else: + in_ports.append(port) + elif isinstance(port, esdl.OutPort): + if out_ports is None: + out_ports = [port] + else: + out_ports.append(port) + else: + _ESDLInputException( + f"The port for {el_name} is neither an IN or OUT port" + ) + + # Note that e.g. el.__dict__['length'] does not work to get the length of a + # pipe. + # We therefore built this dict ourselves using 'dir' and 'getattr' + attributes = {k: getattr(el, k) for k in dir(el)} + self._assets[el.id] = Asset( + asset_type, + el.id, + el_name, + in_ports, + out_ports, + attributes, + self._global_properties, + ) def get_assets(self) -> Dict[str, Asset]: return self._assets @@ -151,6 +182,9 @@ def get_carrier_properties(self) -> Dict: def get_esh(self) -> esdl.esdl_handler.EnergySystemHandler: return self._energy_system_handler + def get_templates(self) -> Dict[str, Asset]: + return self._templates + class ESDLStringParser(BaseESDLParser): def __init__(self, **kwargs): diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_pipe_catalog.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_pipe_catalog.esdl new file mode 100644 index 000000000..397a073db --- /dev/null +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_pipe_catalog.esdl @@ -0,0 +1,722 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index af1ab4d15..092b4c204 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -318,6 +318,104 @@ def test_end_scenario_sizing_head_loss(self): abs(results[f"{pipe}.dH"][ii]), ) + def test_end_scenario_sizing_pipe_catalog(self): + """ + Checks that the problem uses different pipe costs when a pipe catalog is provided along + with the ESDL. + Test 1: Check that the solution pipe classes used were of the pipe templates + Test 2: Check that the pipe classes generated by instantiating the same problem with + # different esdl that does not have templates will actually use the original EDR + # pipe classes. Then we are sure that (rest of the) EDR pipe classes have not been used + Test 3: If the costs that are used in the problem match the costs from the ESDL Template + + """ + + import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates + + base_folder = Path(run_ates.__file__).resolve().parent.parent + + # This is an optimization done over a few days + solution = run_end_scenario_sizing( + EndScenarioSizing, + base_folder=base_folder, + esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional_pipe_catalog" + ".esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="Warmte_test.csv", + ) + + results = solution.extract_results() + parameters = solution.parameters(0) + + # Test 1: Check if the solution pipe classes used were of the pipe templates + pipe_templates = solution.filter_asset_templates(solution._esdl_templates, "Pipe") + pipe_diameter_cost_map = { + str(pipe.attributes["asset"].diameter): pipe.attributes[ + "asset" + ].costInformation.investmentCosts.value + for pipe in pipe_templates.values() + } + solution_pipe_classes = solution.get_unique_pipe_classes() + solution_pipe_class_cost_map = { + sol_pipe.name: sol_pipe.investment_costs + for sol_pipe in solution_pipe_classes + if not sol_pipe.name == "None" + } + np.testing.assert_equal( + solution_pipe_class_cost_map.items() <= pipe_diameter_cost_map.items(), True + ) + + # Test 2: Check that the pipe classes generated by instantiating the same problem with + # different esdl that does not have templates will actually use the original EDR + # pipe classes. Then we are sure that (rest of the) EDR pipe classes have not been used + model_folder = base_folder / "model" + input_folder = base_folder / "input" + original_problem = EndScenarioSizingStaged( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", + profile_reader=ProfileReaderFromFile, + input_timeseries_file="Warmte_test.csv", + ) + original_problem.pre() + original_problem_pipe_classes = original_problem.get_unique_pipe_classes() + original_problem_pipe_class_cost_map = { + org_pipe.name: org_pipe.investment_costs + for org_pipe in original_problem_pipe_classes + if not org_pipe.name == "None" + } + np.testing.assert_equal( + solution_pipe_class_cost_map.items() != original_problem_pipe_class_cost_map.items(), + True, + ) + + # Test 3: If the costs that are used in the problem match the costs from the ESDL Template + # Optimized pipe class map of diameter + optimized_pipe_classes_dia_map = { + solution.get_optimized_pipe_class(pipe) + .inner_diameter: solution.get_optimized_pipe_class(pipe) + .name + for pipe in solution.hot_pipes + } + # Assert that the same specific investment costs have been use between the template and the + # solution parameters + for heat_pipe in solution.energy_system_components.get("heat_pipe"): + # Check only if the pipe exits. Cost of 0 means the asset has been removed as a result + # of the sizing optimization + if results[f"{solution._asset_investment_cost_map[heat_pipe]}"] > 1.0: + investment_cost_specific = ( + results[f"{solution._asset_investment_cost_map[heat_pipe]}"][0] + / parameters[f"{heat_pipe}.length"] + ) # [Eur/m] + optimized_diameter = parameters[f"{heat_pipe}.diameter"] + cost_map_from_template = pipe_diameter_cost_map[ + optimized_pipe_classes_dia_map[optimized_diameter] + ] + np.testing.assert_allclose(cost_map_from_template, investment_cost_specific) + def get_objective_value_end_scenario_sizing(self, solution): results = solution.extract_results() obj = 0.0 @@ -356,6 +454,7 @@ def get_objective_value_end_scenario_sizing(self, solution): a.setUpClass() a.test_end_scenario_sizing() a.test_end_scenario_sizing_staged() - # a.test_end_scenario_sizing_discounted() - # a.test_end_scenario_sizing_head_loss() + a.test_end_scenario_sizing_discounted() + a.test_end_scenario_sizing_head_loss() + a.test_end_scenario_sizing_pipe_catalog() print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index c0c31c8aa..36ae4e4cc 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -135,10 +135,12 @@ def test_max_producer_esdl_unscaled_profile(self): ) np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) np.testing.assert_equal( - np.sum( + 8 + <= np.sum( np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-10) - ), - 8, + ) + <= 9, + True, ) def test_max_producer_esdl_scaled_profile(self): From df8e64615db90b4b9c69ea66a9873753b792061c Mon Sep 17 00:00:00 2001 From: gopalangj Date: Thu, 4 Sep 2025 16:58:07 +0200 Subject: [PATCH 289/376] Issue 306 create enums (#344) * Created an AssetStateEnum to have an option of IntEnum for asset states and changed all instaces of hard-coded occurence when checking to the IntEnums that were created --------- Co-authored-by: kobus.vanrooyen@tno.nl --- CHANGELOG.md | 1 + src/mesido/asset_sizing_mixin.py | 44 ++++++++++--------- src/mesido/esdl/asset_to_component_base.py | 17 +++++-- src/mesido/financial_mixin.py | 6 ++- .../workflows/goals/minimize_tco_goal.py | 3 +- 5 files changed, 45 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c67f1100..a9918b84e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Discrete charge/discharge variable for an ATES asset. - Checks if a timelimit is reached in the GROW workflow at each stage. - Pipe costs are updated based on the asset templates if they are provided +- AssetStateEnums of IntEnum type to describe the state of an asset i.e disabled/enabled/optional ## Changed - Previously variable operational cost of air-to-water heat pump was based on the thermal power usage. Now it is based on the electrical power usage diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 65ea243dd..109cc351d 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -9,6 +9,7 @@ from mesido._heat_loss_u_values_pipe import pipe_heat_loss from mesido.base_component_type_mixin import BaseComponentTypeMixin from mesido.demand_insulation_class import DemandInsulationClass +from mesido.esdl.asset_to_component_base import AssetStateEnum from mesido.head_loss_class import HeadLossOption from mesido.network_common import NetworkSettings from mesido.pipe_class import CableClass, GasPipeClass, PipeClass @@ -807,13 +808,13 @@ def _make_max_size_var(name, lb, ub, nominal): and hasattr(esdl_asset_attributes.items[0], "maximum") and esdl_asset_attributes.items[0].maximum.profileQuantityAndUnit.reference.unit == esdl.UnitEnum.WATT - and parameters[f"{asset_name}.state"] == 2 # Optional asset + and parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL # Optional asset ): max_profile = max(self.get_timeseries(f"{asset_name}.maximum_heat_source").values) if ub > max_profile: ub = max_profile - lb = 0.0 if parameters[f"{asset_name}.state"] != 1 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] != AssetStateEnum.ENABLED else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("heat_demand", []): @@ -853,7 +854,7 @@ def _make_max_size_var(name, lb, ub, nominal): ub = bounds[f"{asset_name}.Heat_ates"][1] else: ub = bounds[f"{asset_name}.Heat_low_temperature_ates"][1] - lb = 0.0 if parameters[f"{asset_name}.state"] != 1 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] != AssetStateEnum.ENABLED else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("heat_buffer", []): @@ -862,7 +863,7 @@ def _make_max_size_var(name, lb, ub, nominal): if isinstance(bounds[f"{asset_name}.Stored_heat"][1], Timeseries) else bounds[f"{asset_name}.Stored_heat"][1] ) - lb = 0.0 if parameters[f"{asset_name}.state"] != 1 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] != AssetStateEnum.ENABLED else ub _make_max_size_var( name=asset_name, lb=lb, @@ -875,7 +876,7 @@ def _make_max_size_var(name, lb, ub, nominal): *self.energy_system_components.get("heat_pump", []), ]: ub = bounds[f"{asset_name}.Secondary_heat"][1] - lb = 0.0 if parameters[f"{asset_name}.state"] != 1 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] != AssetStateEnum.ENABLED else ub _make_max_size_var( name=asset_name, lb=lb, @@ -887,51 +888,51 @@ def _make_max_size_var(name, lb, ub, nominal): # TODO: add bound value for mass flow rate, used 1.0 for now instead of 0.0 which # Note that we set the nominal to one to avoid division by zero ub = 0.0 - lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=1.0) for asset_name in self.energy_system_components.get("gas_source", []): # TODO: add bound value for mass flow rate, used 1.0 for now instead of 0.0 which # Note that we set the nominal to one to avoid division by zero ub = 0.0 - lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=1.0) for asset_name in self.energy_system_components.get("gas_tank_storage", []): ub = bounds[f"{asset_name}.Stored_gas_mass"][1] ub = ub if isinstance(ub, float) else max(ub.values) - lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("gas_substation", []): ub = bounds[f"{asset_name}.GasIn.Q"][1] ub = ub if isinstance(ub, float) else max(ub.values) - lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("compressor", []): ub = bounds[f"{asset_name}.GasIn.Q"][1] ub = ub if isinstance(ub, float) else max(ub.values) - lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("electrolyzer", []): ub = bounds[f"{asset_name}.ElectricityIn.Power"][1] ub = ub if isinstance(ub, float) else max(ub.values) - lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("electricity_demand", []): v = bounds[f"{asset_name}.Electricity_demand"][1] ub = v if not np.isinf(v) else bounds[f"{asset_name}.ElectricityIn.Power"][1] ub = ub if isinstance(ub, float) else max(ub.values) - lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("transformer", []): ub = bounds[f"{asset_name}.ElectricityIn.Power"][1] ub = ub if isinstance(ub, float) else max(ub.values) - lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("electricity_source", []): @@ -940,7 +941,7 @@ def _make_max_size_var(name, lb, ub, nominal): if not isinstance(bounds[f"{asset_name}.Electricity_source"][1], Timeseries) else np.max(bounds[f"{asset_name}.Electricity_source"][1].values) ) - lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("electricity_storage", []): @@ -949,7 +950,7 @@ def _make_max_size_var(name, lb, ub, nominal): if not isinstance(bounds[f"{asset_name}.Stored_electricity"][1], Timeseries) else np.max(bounds[f"{asset_name}.Stored_electricity"][1].values) ) - lb = 0.0 if parameters[f"{asset_name}.state"] == 2 else ub + lb = 0.0 if parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) # Making the __aggregation_count variable for each asset @@ -962,7 +963,7 @@ def _make_max_size_var(name, lb, ub, nominal): aggr_count_max = parameters[f"{asset}.nr_of_doublets"] except KeyError: aggr_count_max = 1.0 - if parameters[f"{asset}.state"] == 0: + if parameters[f"{asset}.state"] == AssetStateEnum.DISABLED: aggr_count_max = 0.0 self.__asset_aggregation_count_var_bounds[aggr_count_var] = (0.0, aggr_count_max) @@ -1912,7 +1913,7 @@ def __max_size_constraints(self, ensemble_member): ): parameters = self.parameters(ensemble_member) - if parameters[f"{s}.state"] == 1: # Enabled asset + if parameters[f"{s}.state"] == AssetStateEnum.ENABLED: # Enabled asset constraints.append( ( (max_heat - max_profile_non_scaled) / constraint_nominal, @@ -1922,7 +1923,7 @@ def __max_size_constraints(self, ensemble_member): ) max_heat_var = max_profile_non_scaled - elif parameters[f"{s}.state"] == 2: # Optional asset + elif parameters[f"{s}.state"] == AssetStateEnum.OPTIONAL: # Optional asset max_heat_var = max_heat else: @@ -2190,7 +2191,10 @@ def __optional_asset_path_constraints(self, ensemble_member): for asset_name_list in self.energy_system_components.values() for asset_name in asset_name_list ]: - if parameters[f"{asset_name}.state"] == 0 or parameters[f"{asset_name}.state"] == 2: + if ( + parameters[f"{asset_name}.state"] == AssetStateEnum.DISABLED + or parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL + ): if asset_name in [ *self.energy_system_components.get("geothermal", []), *self.energy_system_components.get("ates", []), @@ -2242,7 +2246,7 @@ def __optional_asset_path_constraints(self, ensemble_member): constraints, asset_name, nominal_value, nominal_var, single_power, state_var ) - elif parameters[f"{asset_name}.state"] == 1: + elif parameters[f"{asset_name}.state"] == AssetStateEnum.ENABLED: aggregation_count = self.__asset_aggregation_count_var[ self._asset_aggregation_count_var_map[asset_name] ] diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 5cb3b2433..03bdb0b68 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -2,6 +2,7 @@ import logging import math import os +from enum import IntEnum from pathlib import Path from typing import Any, Dict, Tuple, Type, Union @@ -1241,11 +1242,11 @@ def get_state(asset: Asset) -> float: """ if asset.attributes["state"].name == "DISABLED": - value = 0.0 + value = AssetStateEnum.DISABLED elif asset.attributes["state"].name == "OPTIONAL": - value = 2.0 + value = AssetStateEnum.OPTIONAL else: - value = 1.0 + value = AssetStateEnum.ENABLED return value def get_variable_opex_costs(self, asset: Asset) -> float: @@ -1577,3 +1578,13 @@ def get_investment_costs(self, asset: Asset, per_unit: UnitEnum = UnitEnum.WATT) f"Cannot provide investment costs for asset " f"{asset.name} per {per_unit}" ) return 0.0 + + +class AssetStateEnum(IntEnum): + """ + An Enum class to set the Asset states (DISABLED, ENABLED, OPTIONAL) to IntEnums. + """ + + DISABLED = 0 + ENABLED = 1 + OPTIONAL = 2 diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 9b3066b13..38b226837 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -4,6 +4,7 @@ import casadi as ca from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.esdl.asset_to_component_base import AssetStateEnum import numpy as np @@ -12,6 +13,7 @@ ) from rtctools.optimization.timeseries import Timeseries + logger = logging.getLogger("mesido") @@ -319,7 +321,7 @@ def pre(self): aggr_count_max = parameters[f"{asset_name}.nr_of_doublets"] except KeyError: aggr_count_max = 1.0 - if parameters[f"{asset_name}.state"] == 0: + if parameters[f"{asset_name}.state"] == AssetStateEnum.DISABLED: aggr_count_max = 0.0 self.__asset_installation_cost_bounds[asset_installation_cost_var] = ( 0.0, @@ -484,7 +486,7 @@ def pre(self): aggr_count_max = parameters[f"{asset}.nr_of_doublets"] except KeyError: aggr_count_max = 1.0 - if parameters[f"{asset}.state"] == 0: + if parameters[f"{asset}.state"] == AssetStateEnum.DISABLED: aggr_count_max = 0.0 self.__asset_is_realized_bounds[var_name] = (0.0, aggr_count_max) diff --git a/src/mesido/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py index 857d4be60..c2b99ecde 100644 --- a/src/mesido/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -2,6 +2,7 @@ from casadi import MX +from mesido.esdl.asset_to_component_base import AssetStateEnum from mesido.techno_economic_mixin import TechnoEconomicMixin from rtctools.optimization.goal_programming_mixin_base import Goal @@ -152,7 +153,7 @@ def _calculate_cost( asset_state = optimization_problem.parameters(ensemble_member)[f"{asset}.state"] - if not ((asset_type == "heat_demand") and (asset_state == 1.0)): + if not ((asset_type == "heat_demand") and (asset_state == AssetStateEnum.ENABLED)): if options["discounted_annualized_cost"]: # We only want the operational cost for a single year when we use # annualized CAPEX. From 1b5c425f272152e8ddada8e5c66e8fe5da08e024 Mon Sep 17 00:00:00 2001 From: Paul Egberts <56635911+plgbrts@users.noreply.github.com> Date: Thu, 25 Sep 2025 11:38:44 +0200 Subject: [PATCH 290/376] add atol to argument (#340) Add tolerances in util test functions input. --- tests/utils_tests.py | 86 ++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 42 deletions(-) diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 447df9c79..094a8e73e 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -21,7 +21,7 @@ def feasibility_test(solution): ) -def demand_matching_test(solution, results): +def demand_matching_test(solution, results, atol=1.0e-3, rtol=1.0e-6): """ "Test function to check whether the milp demand of each consumer is matched""" for d in solution.energy_system_components.get("heat_demand", []): if len(solution.times()) > 0: @@ -29,14 +29,14 @@ def demand_matching_test(solution, results): else: len_times = len(solution.get_timeseries(f"{d}.target_heat_demand").values) target = solution.get_timeseries(f"{d}.target_heat_demand").values[0:len_times] - np.testing.assert_allclose(target, results[f"{d}.Heat_demand"], atol=1.0e-3, rtol=1.0e-6) + np.testing.assert_allclose(target, results[f"{d}.Heat_demand"], atol=atol, rtol=rtol) for d in solution.energy_system_components.get("cold_demand", []): if len(solution.times()) > 0: len_times = len(solution.times()) else: len_times = len(solution.get_timeseries(f"{d}.target_cold_demand").values) target = solution.get_timeseries(f"{d}.target_cold_demand").values[0:len_times] - np.testing.assert_allclose(target, results[f"{d}.Cold_demand"], atol=1.0e-3, rtol=1.0e-6) + np.testing.assert_allclose(target, results[f"{d}.Cold_demand"], atol=atol, rtol=rtol) for d in solution.energy_system_components.get("gas_demand", []): timeseries_name = f"{d}.target_gas_demand" if timeseries_name in solution.io.get_timeseries_names(): @@ -46,7 +46,7 @@ def demand_matching_test(solution, results): len_times = len(solution.get_timeseries(timeseries_name).values) target = solution.get_timeseries(timeseries_name).values[0:len_times] np.testing.assert_allclose( - target, results[f"{d}.Gas_demand_mass_flow"], atol=1.0e-3, rtol=1.0e-6 + target, results[f"{d}.Gas_demand_mass_flow"], atol=atol, rtol=rtol ) for d in solution.energy_system_components.get("electricity_demand", []): timeseries_name = f"{d}.target_electricity_demand" @@ -57,7 +57,7 @@ def demand_matching_test(solution, results): len_times = len(solution.get_timeseries(timeseries_name).values) target = solution.get_timeseries(timeseries_name).values[0:len_times] np.testing.assert_allclose( - target, results[f"{d}.Electricity_demand"], atol=1.0e-3, rtol=1.0e-6 + target, results[f"{d}.Electricity_demand"], atol=atol, rtol=rtol ) @@ -102,7 +102,7 @@ def _get_component_temperatures(solution, results, component, side=None): return supply_t, return_t, dt -def heat_to_discharge_test(solution, results): +def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): """ Test to check if the discharge and milp flow are correlated as how the constraints are intented: - demand clusters: HeatIn should be smaller or equal to discharge multiplied with the supply @@ -117,7 +117,6 @@ def heat_to_discharge_test(solution, results): discharge and heatflow can be negative. """ test = TestCase() - tol = 1.0e-2 for d in [ *solution.energy_system_components.get("heat_demand", []), *solution.energy_system_components.get("airco", []), @@ -140,7 +139,7 @@ def heat_to_discharge_test(solution, results): np.testing.assert_allclose( results[f"{d}.Heat_flow"], results[f"{d}.HeatIn.Heat"] - results[f"{d}.HeatOut.Heat"], - atol=tol, + atol=atol, ) np.testing.assert_allclose( results[f"{d}.HeatOut.Heat"], results[f"{d}.Q"] * rho * cp * return_t @@ -153,7 +152,7 @@ def heat_to_discharge_test(solution, results): np.testing.assert_allclose( results[f"{d}.Cold_demand"], results[f"{d}.HeatOut.Heat"] - results[f"{d}.HeatIn.Heat"], - atol=tol, + atol=atol, ) np.testing.assert_allclose( results[f"{d}.HeatOut.Heat"], results[f"{d}.Q"] * rho * cp * supply_t @@ -172,11 +171,12 @@ def heat_to_discharge_test(solution, results): # return_t = solution.parameters(0)[f"{d}.T_return"] supply_t, return_t, dt = _get_component_temperatures(solution, results, d) + # TODO: fix hardcoded atol np.testing.assert_allclose( results[f"{d}.HeatOut.Heat"], results[f"{d}.Q"] * rho * cp * supply_t, atol=5.0, - rtol=1.0e-4, + rtol=rtol, ) for d in [ @@ -197,13 +197,13 @@ def heat_to_discharge_test(solution, results): np.testing.assert_allclose( results[f"{d}.Heat_ates"], results[f"{d}.HeatIn.Heat"] - results[f"{d}.HeatOut.Heat"], - atol=tol, + atol=atol, ) except KeyError: np.testing.assert_allclose( results[f"{d}.Heat_buffer"], results[f"{d}.HeatIn.Heat"] - results[f"{d}.HeatOut.Heat"], - atol=tol, + atol=atol, ) supply_temp, return_temp, dt = _get_component_temperatures(solution, results, d) indices = results[f"{d}.HeatIn.Q"] >= 0 @@ -218,13 +218,13 @@ def heat_to_discharge_test(solution, results): test.assertTrue( expr=all( results[f"{d}.HeatIn.Heat"][indices] - <= (results[f"{d}.HeatIn.Q"][indices] * rho * cp * supply_t + tol) + <= (results[f"{d}.HeatIn.Q"][indices] * rho * cp * supply_t + atol) ) ) np.testing.assert_allclose( results[f"{d}.HeatOut.Heat"][indices], results[f"{d}.HeatIn.Q"][indices] * rho * cp * return_t, - atol=tol, + atol=atol, ) indices = results[f"{d}.HeatIn.Q"] <= 0 if isinstance(supply_t, float): @@ -238,13 +238,13 @@ def heat_to_discharge_test(solution, results): np.testing.assert_allclose( results[f"{d}.HeatIn.Heat"][indices], results[f"{d}.HeatIn.Q"][indices] * rho * cp * supply_t, - atol=tol, + atol=atol, ) test.assertTrue( expr=all( results[f"{d}.HeatOut.Heat"][indices] - >= (results[f"{d}.HeatIn.Q"][indices] * rho * cp * return_t - tol) + >= (results[f"{d}.HeatIn.Q"][indices] * rho * cp * return_t - atol) ) ) @@ -272,13 +272,13 @@ def heat_to_discharge_test(solution, results): heat = results[f"{d}.{p}_heat"] if p == "Primary": - np.testing.assert_allclose(heat_out, discharge * rho * cp * return_t, atol=tol) - test.assertTrue(expr=all(heat_in <= discharge * rho * cp * supply_t + tol)) - test.assertTrue(expr=all(heat <= discharge * rho * cp * dt + tol)) + np.testing.assert_allclose(heat_out, discharge * rho * cp * return_t, atol=atol) + test.assertTrue(expr=all(heat_in <= discharge * rho * cp * supply_t + atol)) + test.assertTrue(expr=all(heat <= discharge * rho * cp * dt + atol)) elif p == "Secondary": - test.assertTrue(expr=all(heat >= discharge * rho * cp * dt - tol)) - np.testing.assert_allclose(heat_out, discharge * rho * cp * supply_t, atol=tol) - test.assertTrue(expr=all(heat_in <= discharge * rho * cp * return_t + tol)) + test.assertTrue(expr=all(heat >= discharge * rho * cp * dt - atol)) + np.testing.assert_allclose(heat_out, discharge * rho * cp * supply_t, atol=atol) + test.assertTrue(expr=all(heat_in <= discharge * rho * cp * return_t + atol)) for p in solution.energy_system_components.get("heat_pipe", []): cp = solution.parameters(0)[f"{p}.cp"] @@ -293,7 +293,8 @@ def heat_to_discharge_test(solution, results): ) else: temperature = max( - solution.parameters(0)[f"{p}.temperature"], solution.parameters(0)[f"{p}.T_ground"] + solution.parameters(0)[f"{p}.temperature"], + solution.parameters(0)[f"{p}.T_ground"], ) test.assertTrue( expr=all( @@ -304,7 +305,7 @@ def heat_to_discharge_test(solution, results): test.assertTrue( expr=all( results[f"{p}.HeatOut.Heat"][indices] - <= results[f"{p}.Q"][indices] * rho * cp * temperature + tol + <= results[f"{p}.Q"][indices] * rho * cp * temperature + atol ) ) indices = results[f"{p}.Q"] < 0 @@ -316,18 +317,19 @@ def heat_to_discharge_test(solution, results): ) else: temperature = max( - solution.parameters(0)[f"{p}.temperature"], solution.parameters(0)[f"{p}.T_ground"] + solution.parameters(0)[f"{p}.temperature"], + solution.parameters(0)[f"{p}.T_ground"], ) test.assertTrue( expr=all( results[f"{p}.HeatIn.Heat"][indices] - >= results[f"{p}.Q"][indices] * rho * cp * temperature - tol + >= results[f"{p}.Q"][indices] * rho * cp * temperature - atol ) ) test.assertTrue( expr=all( results[f"{p}.HeatOut.Heat"][indices] - >= results[f"{p}.Q"][indices] * rho * cp * temperature - tol + >= results[f"{p}.Q"][indices] * rho * cp * temperature - atol ) ) indices = results[f"{p}.Q"] == 0 @@ -338,18 +340,18 @@ def heat_to_discharge_test(solution, results): np.testing.assert_allclose( results[f"{p}.HeatIn.Heat"][indices], results[f"{p}.Q"][indices] * rho * cp * temperature, - atol=tol, + atol=atol, err_msg=f"{p} has mismatch in milp to discharge", ) np.testing.assert_allclose( results[f"{p}.HeatOut.Heat"][indices], results[f"{p}.Q"][indices] * rho * cp * temperature, - atol=tol, + atol=atol, err_msg=f"{p} has mismatch in milp to discharge", ) -def electric_power_conservation_test(solution, results): +def electric_power_conservation_test(solution, results, atol=1e-2): """ Test to check if the electric power is conserved at every timestep. High level checks: @@ -358,7 +360,6 @@ def electric_power_conservation_test(solution, results): - Power and current conservation in busses. - Power conservation in transformers, upto now no losses in transformer. """ - tol = 1e-2 energy_sum = np.zeros(len(solution.times())) consumers = solution.energy_system_components_get( @@ -386,7 +387,7 @@ def electric_power_conservation_test(solution, results): np.testing.assert_allclose( results[f"{asset}.Power_loss"], results[f"{asset}.ElectricityIn.Power"] - results[f"{asset}.ElectricityOut.Power"], - atol=tol, + atol=atol, ) for asset, connected_cables in solution.energy_system_topology.busses.items(): @@ -395,8 +396,8 @@ def electric_power_conservation_test(solution, results): for i_conn, (_cable, orientation) in connected_cables.items(): sum_bus_power += orientation * results[f"{asset}.ElectricityConn[{i_conn + 1}].Power"] sum_bus_current += orientation * results[f"{asset}.ElectricityConn[{i_conn + 1}].I"] - np.testing.assert_allclose(sum_bus_power, 0.0, atol=tol) - np.testing.assert_allclose(sum_bus_current, 0.0, atol=tol) + np.testing.assert_allclose(sum_bus_power, 0.0, atol=atol) + np.testing.assert_allclose(sum_bus_current, 0.0, atol=atol) for asset in transformers: np.testing.assert_allclose( @@ -404,10 +405,10 @@ def electric_power_conservation_test(solution, results): results[f"{asset}.ElectricityOut.Power"], ) - np.testing.assert_allclose(energy_sum, 0.0, atol=tol) + np.testing.assert_allclose(energy_sum, 0.0, atol=atol) -def energy_conservation_test(solution, results): +def energy_conservation_test(solution, results, atol=1e-3): """Test to check if the energy is conserved at each timestep""" energy_sum = np.zeros(len(solution.times())) @@ -452,7 +453,7 @@ def energy_conservation_test(solution, results): np.testing.assert_allclose( results[f"{p}__hn_heat_loss"] * (1 - p_discon), results[f"{p}.HeatIn.Heat"] - results[f"{p}.HeatOut.Heat"], - atol=1e-3, + atol=atol, ) energy_sum -= results[f"{p}__hn_heat_loss"] * (1 - p_discon) else: @@ -460,20 +461,21 @@ def energy_conservation_test(solution, results): np.testing.assert_allclose( results[f"{p}__hn_heat_loss"][0], results[f"{p}.HeatIn.Heat"] - results[f"{p}.HeatOut.Heat"], - atol=1e-3, + atol=atol, ) else: np.testing.assert_allclose( results[f"{p}__hn_heat_loss"], results[f"{p}.HeatIn.Heat"] - results[f"{p}.HeatOut.Heat"], - atol=1e-3, + atol=atol, ) energy_sum -= results[f"{p}__hn_heat_loss"] + # TODO: fix hardcoded atol np.testing.assert_allclose(energy_sum, 0.0, atol=1e-1) -def gas_pipes_head_loss_test(solution, results): +def gas_pipes_head_loss_test(solution, results, atol=1e-12): """Test to check if the result dH is equal to manually calculated dH via linear interpolation""" for pipe in solution.energy_system_components.get("gas_pipe", []): if results[f"{pipe}__gn_diameter"] <= 1e-15: @@ -503,7 +505,7 @@ def gas_pipes_head_loss_test(solution, results): c_v = solution.parameters(0)[f"{pipe}.length"] * ff / (2 * 9.81) / pipe_diameter dh_max = c_v * v_max**2 dh_manual = dh_max * v_pipe / v_max - np.testing.assert_allclose(-dh_manual, results[f"{pipe}.dH"], atol=1.0e-12) + np.testing.assert_allclose(-dh_manual, results[f"{pipe}.dH"], atol=atol) elif ( solution.gas_network_settings["head_loss_option"] @@ -578,5 +580,5 @@ def gas_pipes_head_loss_test(solution, results): np.testing.assert_allclose(dh_theory, dh_milp_head_loss_function) np.testing.assert_array_less(dh_milp_head_loss_function, dh_manual_linear) np.testing.assert_allclose( - results[f"{pipe}.dH"][itime], -dh_manual_linear, atol=1.0e-12 + results[f"{pipe}.dH"][itime], -dh_manual_linear, atol=atol ) From 83567d04b07fcdb290623cb1faf4e03452d703d7 Mon Sep 17 00:00:00 2001 From: jarsarasty <133882881+jarsarasty@users.noreply.github.com> Date: Fri, 3 Oct 2025 11:23:25 +0200 Subject: [PATCH 291/376] fix test_end_scenario_sizing_head_loss (#316) Fix pipe parameter bug in test_end_scenario_sizing_head_loss --- CHANGELOG.md | 1 + tests/test_end_scenario_sizing.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a9918b84e..4149008e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ ## Fixed - Bug: Add 3 port heat pump to elect demand path constraint - Error exit when priority 1 reaches time limit in grow workflow for all settings and solvers. +- Bug: Replaced one pipe with all pipes in head loss testing in test_end_scenario_sizing.py # [0.1.13] - 2025-06-25 diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 092b4c204..3406ce534 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -297,10 +297,10 @@ def test_end_scenario_sizing_head_loss(self): pipes = solution.energy_system_components.get("heat_pipe") for pipe in pipes: - pipe_diameter = solution.parameters(0)[f"{pipes[0]}.diameter"] + pipe_diameter = solution.parameters(0)[f"{pipe}.diameter"] pipe_wall_roughness = solution.energy_system_options()["wall_roughness"] - temperature = solution.parameters(0)[f"{pipes[0]}.temperature"] - pipe_length = solution.parameters(0)[f"{pipes[0]}.length"] + temperature = solution.parameters(0)[f"{pipe}.temperature"] + pipe_length = solution.parameters(0)[f"{pipe}.length"] if pipe_diameter > 0.0: velocities = results[f"{pipe}.Q"] / solution.parameters(0)[f"{pipe}.area"] else: From 15b2af31938574b9e11fa86f246790ccfcd364d3 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 7 Oct 2025 11:48:47 +0200 Subject: [PATCH 292/376] Update python version to minimum of 3.10 (#350) Update python version to minimum of 3.10, but preferably 3.11. Allowing for speed up and support of python versions that still receive security updates. Update to python 3.12 and further not yet possible due required rtctools and highs update --- .github/workflows/ci.yml | 18 +++++++++--------- .github/workflows/release.yml | 2 +- .gitlab-ci.yml | 10 +++++----- .readthedocs.yaml | 2 +- CHANGELOG.md | 1 + setup.py | 12 ++++++------ src/mesido/esdl/esdl_model_base.py | 6 +----- tests/test_cold_demand.py | 5 +++-- tests/test_potential_errors.py | 20 ++++++++++++-------- tox.ini | 4 ++-- versioneer.py | 4 ++-- 11 files changed, 43 insertions(+), 41 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5f4d909cb..78d339fe3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: "3.8" + python-version: "3.11" - name: deps run: python -m pip install -U tox @@ -44,7 +44,7 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: "3.8" + python-version: "3.11" - name: deps run: python -m pip install -U wheel setuptools build @@ -59,13 +59,13 @@ jobs: timeout-minutes: 10 if: ${{ !github.event.pull_request.draft }} env: - TOXENV: py38 + TOXENV: py311 steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: "3.8" + python-version: "3.11" - name: deps run: python -m pip install -U tox @@ -80,13 +80,13 @@ jobs: timeout-minutes: 5 if: ${{ !github.event.pull_request.draft }} env: - TOXENV: py38 + TOXENV: py311 steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: "3.8" + python-version: "3.11" - name: deps run: python -m pip install -U tox @@ -117,13 +117,13 @@ jobs: timeout-minutes: 5 if: ${{ !github.event.pull_request.draft }} env: - TOXENV: py38 + TOXENV: py311 steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: - python-version: "3.8" + python-version: "3.11" - name: deps run: python -m pip install -U tox @@ -152,7 +152,7 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: "3.8" + python-version: "3.11" - name: Generate documentation run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4ab1b0b06..e02b1f743 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/setup-python@v4 with: - python-version: "3.8" + python-version: "3.11" - name: deps run: python -m pip install -U build diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ef2fdbe9f..c37d2a17a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: python:3.7 +image: python:3.11 before_script: - pip install tox @@ -13,7 +13,7 @@ stages: # style style: stage: style - image: python:3.7 + image: python:3.11 script: - tox -vv variables: @@ -30,7 +30,7 @@ build: expire_in: 1 week # test -py37:linux: +py311:linux: stage: test script: - echo "Demo" > Demo.txt @@ -39,9 +39,9 @@ py37:linux: - ./Demo.txt # - ./PoC Tutorial_GrowOptimized.esdl expire_in: 1 week - image: python:3.7 + image: python:3.11 variables: - TOXENV: py37 + TOXENV: py311 # documentation pages: diff --git a/.readthedocs.yaml b/.readthedocs.yaml index d58beff56..d9e45f3ca 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -9,7 +9,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.8" + python: "3.11" # Build documentation in the docs/ directory with Sphinx sphinx: diff --git a/CHANGELOG.md b/CHANGELOG.md index 4149008e4..902af0570 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - AssetStateEnums of IntEnum type to describe the state of an asset i.e disabled/enabled/optional ## Changed +- Removed support of python versions 3.9 and older. - Previously variable operational cost of air-to-water heat pump was based on the thermal power usage. Now it is based on the electrical power usage - TCO cost calculation objective now used the technical lifetime to determine the frequency of the re-investment costs. - TCO cost calculation objective to now exclude heating demand costs in the grow workflow diff --git a/setup.py b/setup.py index 1ba616261..8c8fda851 100644 --- a/setup.py +++ b/setup.py @@ -30,11 +30,11 @@ Operating System :: MacOS """ -if sys.version_info < (3, 8): - sys.exit(f"Sorry, Python 3.8 to 3.10 is required. You are using {sys.version_info}") +if sys.version_info < (3, 10): + sys.exit(f"Sorry, Python 3.10 to 3.11 is required. You are using {sys.version_info}") -if sys.version_info > (3, 11): - sys.exit(f"Sorry, Python 3.8 to 3.10 is required. You are using {sys.version_info}") +if sys.version_info >= (3, 12): + sys.exit(f"Sorry, Python 3.10 to 3.11 is required. You are using {sys.version_info}") setup( name="mesido", @@ -59,7 +59,7 @@ "pyecore >= 0.13.2", "pymoca >= 0.9.0", "rtc-tools-gil-comp == 2.6.1", - "pyesdl == 25.5.1", + "pyesdl >= 25.5.1", "pandas >= 1.3.1, < 2.0", "casadi-gil-comp == 3.6.7", "StrEnum == 0.4.15", @@ -67,7 +67,7 @@ ], tests_require=["pytest", "pytest-runner", "numpy"], include_package_data=True, - python_requires=">=3.8,<3.11", + python_requires=">=3.10,<3.12", cmdclass=versioneer.get_cmdclass(), entry_points={"rtctools.libraries.modelica": ["library_folder = mesido:modelica"]}, ) diff --git a/src/mesido/esdl/esdl_model_base.py b/src/mesido/esdl/esdl_model_base.py index 73fa09b3b..13e35bb34 100644 --- a/src/mesido/esdl/esdl_model_base.py +++ b/src/mesido/esdl/esdl_model_base.py @@ -58,11 +58,7 @@ def _esdl_convert( # We create an assets sorted to first loop over specific assets (the transport assets), # before parsing the other assets. This is because the properties of the transport assets # are used to set nominals for other assets that are then parsed later. - assets_sorted = {} - assets_sorted.update(assets_transport) - assets_sorted.update(assets_other) - # TODO: replace when python 3.8 is no longer supported - # assets_sorted = assets_transport | assets_other + assets_sorted = assets_transport | assets_other for asset in list(assets.values()): converter.port_asset_type_connections(asset) diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 1d6476ca9..c5c3d3eb2 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -46,8 +46,9 @@ def test_insufficient_capacity(self): base_folder = Path(example.__file__).resolve().parent.parent - with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( - "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + with ( + self.assertRaises(MesidoAssetIssueError) as cm, + unittest.mock.patch("mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors()), ): _ = run_esdl_mesido_optimization( HeatProblem, diff --git a/tests/test_potential_errors.py b/tests/test_potential_errors.py index 7c1f7faae..5ac2c105d 100644 --- a/tests/test_potential_errors.py +++ b/tests/test_potential_errors.py @@ -55,8 +55,9 @@ def test_asset_potential_errors(self): logger, logs_list = create_log_list_scaling("WarmingUP-MPC") - with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( - "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + with ( + self.assertRaises(MesidoAssetIssueError) as cm, + unittest.mock.patch("mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors()), ): problem = EndScenarioSizingStaged( esdl_parser=ESDLFileParser, @@ -93,8 +94,9 @@ def test_asset_potential_errors(self): np.testing.assert_equal(len(cm.exception.message_per_asset_id), 3.0) # Check heating demand type error - with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( - "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + with ( + self.assertRaises(MesidoAssetIssueError) as cm, + unittest.mock.patch("mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors()), ): problem = EndScenarioSizingStaged( esdl_parser=ESDLFileParser, @@ -120,8 +122,9 @@ def test_asset_potential_errors(self): np.testing.assert_equal(len(cm.exception.message_per_asset_id), 1.0) # Check asset profile capability - with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( - "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + with ( + self.assertRaises(MesidoAssetIssueError) as cm, + unittest.mock.patch("mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors()), ): problem = EndScenarioSizingStaged( esdl_parser=ESDLFileParser, @@ -150,8 +153,9 @@ def test_asset_potential_errors(self): np.testing.assert_equal(len(cm.exception.message_per_asset_id), 1.0) # Check that the heating demand is set to optional - with self.assertRaises(MesidoAssetIssueError) as cm, unittest.mock.patch( - "mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors() + with ( + self.assertRaises(MesidoAssetIssueError) as cm, + unittest.mock.patch("mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors()), ): problem = EndScenarioSizingStaged( esdl_parser=ESDLFileParser, diff --git a/tox.ini b/tox.ini index 943ab775a..36e4199fc 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] envlist = - py39, test_env_main, test_env_pre, test_env_post, flake8, black + py311, test_env_main, test_env_pre, test_env_post, flake8, black # Allowing logging INFO when using pytest [pytest] @@ -48,4 +48,4 @@ skip_install = True deps = black >= 24.1.1 commands = - black --line-length 100 --target-version py38 --check --diff examples src tests setup.py --force-exclude=pandapipeesdlparser.py + black --line-length 100 --target-version py311 --check --diff examples src tests setup.py --force-exclude=pandapipeesdlparser.py diff --git a/versioneer.py b/versioneer.py index 64fea1c89..3aa5da372 100644 --- a/versioneer.py +++ b/versioneer.py @@ -339,9 +339,9 @@ def get_config_from_root(root): # configparser.NoOptionError (if it lacks "VCS="). See the docstring at # the top of versioneer.py for instructions on writing your setup.cfg . setup_cfg = os.path.join(root, "setup.cfg") - parser = configparser.SafeConfigParser() + parser = configparser.ConfigParser() with open(setup_cfg, "r") as f: - parser.readfp(f) + parser.read_file(f) VCS = parser.get("versioneer", "VCS") # mandatory def get(parser, name): From a0fd9627b71ceb3ae777791ecd198afdcd19f446 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Wed, 8 Oct 2025 14:39:54 +0200 Subject: [PATCH 293/376] A new type of potential error is added If the database profile name or field indicated in esdl are not available in the database, new type of possible error (MesidoAssetIssueType.ASSET_PROFILE_AVAILABILITY) will be called. --- CHANGELOG.md | 11 +- src/mesido/esdl/profile_parser.py | 33 +++- src/mesido/potential_errors.py | 1 + src/mesido/workflows/utils/error_types.py | 4 + .../1a_with_influx_profiles_wrong_name.esdl | 172 ++++++++++++++++++ tests/test_potential_errors.py | 24 +++ 6 files changed, 238 insertions(+), 7 deletions(-) create mode 100644 tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_wrong_name.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 902af0570..140c715b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2025-09-04 +# [Unreleased-main] - 2025-10-06 ## Added - Elect test for air_to_water_heat_pump_elec @@ -8,22 +8,21 @@ - Generic modifier functions for consistency across assets. - Discrete charge/discharge variable for an ATES asset. - Checks if a timelimit is reached in the GROW workflow at each stage. -- Pipe costs are updated based on the asset templates if they are provided +- Pipe costs are updated based on the asset templates if they are provided - AssetStateEnums of IntEnum type to describe the state of an asset i.e disabled/enabled/optional +- A new type of potential error is added if the profile name indicated in esdl is not available in the database ## Changed - Removed support of python versions 3.9 and older. - Previously variable operational cost of air-to-water heat pump was based on the thermal power usage. Now it is based on the electrical power usage - TCO cost calculation objective now used the technical lifetime to determine the frequency of the re-investment costs. - TCO cost calculation objective to now exclude heating demand costs in the grow workflow -- Hydraulic power calculation at "sink" assets is set to 0.0 if headloss calculation is turned off. - +- Hydraulic power calculation at "sink" assets is set to 0.0 if headloss calculation is turned off ## Fixed - Bug: Add 3 port heat pump to elect demand path constraint - Error exit when priority 1 reaches time limit in grow workflow for all settings and solvers. -- Bug: Replaced one pipe with all pipes in head loss testing in test_end_scenario_sizing.py - +- Bug: Replaced one pipe with all pipes in head loss testing in test_end_scenario_sizing.py # [0.1.13] - 2025-06-25 diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 9ca69d5ff..87f5d28ab 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -371,6 +371,13 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) ------- A pandas Series of the profile for the asset. """ + # Import is done under the function instead of the top of the file + # to avoid circular import issue + from mesido.workflows.utils.error_types import ( + HEAT_NETWORK_ERRORS, + potential_error_to_error, + ) + if profile.id in self._df: return self._df[profile.id] @@ -402,7 +409,19 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) ssl=ssl_setting, verify_ssl=ssl_setting, ) - time_series_data = InfluxDBProfileManager(conn_settings) + + try: + time_series_data = InfluxDBProfileManager(conn_settings) + except Exception: + container = profile.eContainer() + asset = container.energyasset + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.ASSET_PROFILE_AVAILABILITY, + asset.id, + f"Asset named {asset.name}: Database {profile.database}" + f" is not available in the host.", + ) + potential_error_to_error(HEAT_NETWORK_ERRORS) time_series_data.load_influxdb( profile.measurement, @@ -411,6 +430,18 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) profile.endDate, ) + if not time_series_data.profile_data_list: # if time_series_data.profile_data_list == []: + container = profile.eContainer() + asset = container.energyasset + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.ASSET_PROFILE_AVAILABILITY, + asset.id, + f"Asset named {asset.name}: Input profile {profile.field}" + f" in {profile.measurement} is not available in the database.", + ) + + potential_error_to_error(HEAT_NETWORK_ERRORS) + for x in time_series_data.profile_data_list: if len(x) != 2: raise RuntimeError( diff --git a/src/mesido/potential_errors.py b/src/mesido/potential_errors.py index 546b5dd90..acd1f8ab1 100644 --- a/src/mesido/potential_errors.py +++ b/src/mesido/potential_errors.py @@ -14,6 +14,7 @@ class MesidoAssetIssueType(Enum): COLD_DEMAND_POWER = "cold_demand.power" HEAT_DEMAND_TYPE = "heat_demand.type" ASSET_PROFILE_CAPABILITY = "asset_profile.capability" + ASSET_PROFILE_AVAILABILITY = "asset_profile.availability" HEAT_EXCHANGER_TEMPERATURES = "heat_exchanger.temperature" HEAT_EXCHANGER_POWER = "heat_exchanger.capacity" HEAT_DEMAND_STATE = "heat_demand.state" diff --git a/src/mesido/workflows/utils/error_types.py b/src/mesido/workflows/utils/error_types.py index 0effabbc0..675439ef7 100644 --- a/src/mesido/workflows/utils/error_types.py +++ b/src/mesido/workflows/utils/error_types.py @@ -28,6 +28,8 @@ def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: " listed.", MesidoAssetIssueType.HEAT_DEMAND_TYPE: "Incorrect asset type: please update.", MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY: "Profile assigment not allowed.", + MesidoAssetIssueType.ASSET_PROFILE_AVAILABILITY: "Profile is not available in the " + "database.", MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES: "Temperatures at heat exchanger set " "incorrectly.", MesidoAssetIssueType.HEAT_EXCHANGER_POWER: "The capacity of the heat exchanger is not " @@ -51,6 +53,7 @@ def potential_error_to_error(network_check_type: Enum) -> None: MesidoAssetIssueType.COLD_DEMAND_POWER, MesidoAssetIssueType.HEAT_DEMAND_TYPE, MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, + MesidoAssetIssueType.ASSET_PROFILE_AVAILABILITY, MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, MesidoAssetIssueType.HEAT_EXCHANGER_POWER, MesidoAssetIssueType.HEAT_DEMAND_STATE, @@ -60,6 +63,7 @@ def potential_error_to_error(network_check_type: Enum) -> None: MesidoAssetIssueType.COLD_DEMAND_POWER, MesidoAssetIssueType.HEAT_DEMAND_TYPE, MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, + MesidoAssetIssueType.ASSET_PROFILE_AVAILABILITY, MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, MesidoAssetIssueType.HEAT_DEMAND_STATE, ], diff --git a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_wrong_name.esdl b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_wrong_name.esdl new file mode 100644 index 000000000..6716a2d34 --- /dev/null +++ b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_wrong_name.esdl @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_potential_errors.py b/tests/test_potential_errors.py index 5ac2c105d..1337cab43 100644 --- a/tests/test_potential_errors.py +++ b/tests/test_potential_errors.py @@ -185,6 +185,30 @@ def test_asset_potential_errors(self): ) np.testing.assert_equal(len(cm.exception.message_per_asset_id), 2.0) + # Check the a new type of potential error which raises when the profile name indicated + # in esdl is not available in the database + with ( + self.assertRaises(MesidoAssetIssueError) as cm, + unittest.mock.patch("mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors()), + ): + problem = EndScenarioSizingStaged( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="1a_with_influx_profiles_wrong_name.esdl", + ) + problem.pre() + # Check that the asset profile had an error + np.testing.assert_equal( + cm.exception.error_type, MesidoAssetIssueType.ASSET_PROFILE_AVAILABILITY + ) + np.testing.assert_equal( + cm.exception.message_per_asset_id["2ab92324-f86e-4976-9a6e-f7454b77ba3c"], + "Asset named HeatingDemand_2ab9: Input profile " + "demand1_MW_wrong_name in Unittests profiledata is not available in the database.", + ) + if __name__ == "__main__": a = TestPotentialErrors() From 36934ad39111a77384855c043b73cc7c61862156 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Thu, 9 Oct 2025 13:31:07 +0200 Subject: [PATCH 294/376] Additional constraint is added for aggregation_count of geothermal and ates (#346) * Additional constraint for buffer tank, ates and geo to ensure the aggregation count is 0 (not placed) when usage = 0.0 --- CHANGELOG.md | 7 +- src/mesido/asset_sizing_mixin.py | 48 ++ .../test_case_small_network_all_optional.esdl | 383 ++++++++++++ ...rk_with_ates_with_buffer_all_optional.esdl | 6 +- ..._with_buffer_all_optional_not_placed.esdl} | 79 ++- .../input/Warmte_test.csv | 0 ...se_small_network_with_ates_buffer_geo.esdl | 549 ++++++++++++++++++ .../src/run_ates.py | 0 tests/test_end_scenario_sizing.py | 41 +- tests/test_max_size_and_optional_assets.py | 49 +- tests/test_producer_profiles.py | 16 +- 11 files changed, 1093 insertions(+), 85 deletions(-) create mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional.esdl rename tests/models/{test_case_small_network_with_ates_with_buffer/model/test_case_small_network_with_ates_with_buffer.esdl => test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_not_placed.esdl} (89%) rename tests/models/{test_case_small_network_with_ates_with_buffer => test_case_small_network_with_ates_buffer_geo}/input/Warmte_test.csv (100%) create mode 100644 tests/models/test_case_small_network_with_ates_buffer_geo/model/test_case_small_network_with_ates_buffer_geo.esdl rename tests/models/{test_case_small_network_with_ates_with_buffer => test_case_small_network_with_ates_buffer_geo}/src/run_ates.py (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 140c715b4..abc3fd670 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2025-10-06 +# [Unreleased-main] - 2025-10-09 ## Added - Elect test for air_to_water_heat_pump_elec @@ -22,7 +22,10 @@ ## Fixed - Bug: Add 3 port heat pump to elect demand path constraint - Error exit when priority 1 reaches time limit in grow workflow for all settings and solvers. -- Bug: Replaced one pipe with all pipes in head loss testing in test_end_scenario_sizing.py +- Bug: Replaced one pipe with all pipes in head loss testing in test_end_scenario_sizing.py +- Bug: Geothermal being placed when not used. General added aggregation_count=0 constraint for heat buffer, ates and goethermal when not being used. +- Bug: Ensure ATES and Geothermal max_size cannot be smaller than the single_doublet_power if placed. + # [0.1.13] - 2025-06-25 diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 109cc351d..cab0644b5 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -1872,6 +1872,11 @@ def __max_size_constraints(self, ensemble_member): energy_system_component_types = list(self.energy_system_components.keys()) + parameters = self.parameters(ensemble_member) + + # Constant used in constraining the aggregation_count to 0.0 when an asset is not placed. + asset_placement_ratio = 1.0e-3 # This ratio resembles 0.1% + max_var_types = set() for b in self.energy_system_components.get("heat_buffer", []): max_var_types.add("heat_buffer") @@ -1888,6 +1893,25 @@ def __max_size_constraints(self, ensemble_member): ) ) + # Constraint the aggregation_count to be 0 when the heat_buffer is not used. Currently + # assuming that if it is used, the usage ratio would be > asset_placement_ratio + capacity_joule = ( + parameters[f"{b}.rho"] + * parameters[f"{b}.cp"] + * parameters[f"{b}.volume"] + * parameters[f"{b}.dT"] + ) + constraints.append( + ( + ( + max_heat / capacity_joule + - asset_placement_ratio * self.get_aggregation_count_var(b, ensemble_member) + ), + 0.0, + np.inf, + ) + ) + for s in self.energy_system_components.get("heat_source", []): max_var_types.add("heat_source") max_var = self._asset_max_size_map[s] @@ -1988,6 +2012,19 @@ def __max_size_constraints(self, ensemble_member): ) ) + # Constraint the aggregation_count to 0.0 when asset is not placed. And also ensure the + # max_size_var is a factor of single_doublet_power + if s in [*self.energy_system_components.get("geothermal", [])]: + constraints.append( + ( + self.get_max_size_var(s, ensemble_member) + / parameters[f"{s}.single_doublet_power"] + - self.get_aggregation_count_var(s, ensemble_member), + 0, + np.inf, + ) + ) + for hx in [ *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), @@ -2052,6 +2089,17 @@ def __max_size_constraints(self, ensemble_member): np.inf, ) ) + # Constraint the aggregation_count to 0.0 when asset is not placed. And also ensure the + # max_size_var is a factor of single_doublet_power + constraints.append( + ( + self.get_max_size_var(a, ensemble_member) + / parameters[f"{a}.single_doublet_power"] + - self.get_aggregation_count_var(a, ensemble_member), + 0, + np.inf, + ) + ) for d in self.energy_system_components.get("electricity_demand", []): max_var_types.add("electricity_demand") diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional.esdl new file mode 100644 index 000000000..3e3f050e1 --- /dev/null +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional.esdl @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl index 2620fa0c2..91cb4af03 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl @@ -228,10 +228,10 @@ - + - + @@ -329,7 +329,7 @@ - + diff --git a/tests/models/test_case_small_network_with_ates_with_buffer/model/test_case_small_network_with_ates_with_buffer.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_not_placed.esdl similarity index 89% rename from tests/models/test_case_small_network_with_ates_with_buffer/model/test_case_small_network_with_ates_with_buffer.esdl rename to tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_not_placed.esdl index 467dc555f..ce9d617c8 100644 --- a/tests/models/test_case_small_network_with_ates_with_buffer/model/test_case_small_network_with_ates_with_buffer.esdl +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_not_placed.esdl @@ -38,7 +38,7 @@ - + @@ -63,7 +63,7 @@ - + @@ -88,7 +88,7 @@ - + @@ -113,7 +113,7 @@ - + @@ -138,7 +138,7 @@ - + @@ -163,7 +163,7 @@ - + @@ -188,7 +188,7 @@ - + @@ -196,9 +196,6 @@ - - - @@ -210,7 +207,7 @@ - + @@ -222,11 +219,11 @@ - + - - + + @@ -242,7 +239,7 @@ - + @@ -254,7 +251,7 @@ - + @@ -267,7 +264,7 @@ - + @@ -280,7 +277,7 @@ - + @@ -293,7 +290,7 @@ - + @@ -306,7 +303,7 @@ - + @@ -319,7 +316,7 @@ - + @@ -332,7 +329,7 @@ - + @@ -340,9 +337,6 @@ - - - @@ -351,7 +345,7 @@ - + @@ -376,7 +370,7 @@ - + @@ -401,7 +395,7 @@ - + @@ -409,9 +403,12 @@ + + + - + @@ -436,7 +433,7 @@ - + @@ -461,7 +458,7 @@ - + @@ -477,19 +474,19 @@ - - + + - + - + - - + + @@ -502,10 +499,10 @@ - - + + - + @@ -513,4 +510,4 @@ - + \ No newline at end of file diff --git a/tests/models/test_case_small_network_with_ates_with_buffer/input/Warmte_test.csv b/tests/models/test_case_small_network_with_ates_buffer_geo/input/Warmte_test.csv similarity index 100% rename from tests/models/test_case_small_network_with_ates_with_buffer/input/Warmte_test.csv rename to tests/models/test_case_small_network_with_ates_buffer_geo/input/Warmte_test.csv diff --git a/tests/models/test_case_small_network_with_ates_buffer_geo/model/test_case_small_network_with_ates_buffer_geo.esdl b/tests/models/test_case_small_network_with_ates_buffer_geo/model/test_case_small_network_with_ates_buffer_geo.esdl new file mode 100644 index 000000000..10bb4d086 --- /dev/null +++ b/tests/models/test_case_small_network_with_ates_buffer_geo/model/test_case_small_network_with_ates_buffer_geo.esdl @@ -0,0 +1,549 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py b/tests/models/test_case_small_network_with_ates_buffer_geo/src/run_ates.py similarity index 100% rename from tests/models/test_case_small_network_with_ates_with_buffer/src/run_ates.py rename to tests/models/test_case_small_network_with_ates_buffer_geo/src/run_ates.py diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 3406ce534..866bd6132 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -103,7 +103,9 @@ def test_end_scenario_sizing_staged(self): Checks: - Cyclic behaviour for ATES - - That buffer tank is only used on peak day + - ATES is placed and that the size matches a single doublet, which is larger than the max + heat_flow + - That buffer tank is placed and only used on peak day - demand matching - Check if TCO goal included the desired cost components. @@ -157,10 +159,21 @@ def test_end_scenario_sizing_staged(self): for a in solution_staged.energy_system_components.get("ates", []): stored_heat = results[f"{a}.Stored_heat"] np.testing.assert_allclose(stored_heat[0], stored_heat[-1], atol=1.0) + # Check that the ATES is placed and that the size should match the single_doublet_power + np.testing.assert_allclose( + results[f"{a}__max_size"], + self.solution.parameters(0)[f"{a}.single_doublet_power"], + ) + np.testing.assert_array_less(max(results[f"{a}.Heat_flow"]), results[f"{a}__max_size"]) + np.testing.assert_allclose(results[f"{a}_aggregation_count"], 1) - # Check whether buffer tank is only active in peak day - peak_day_indx = solution_staged.parameters(0)["peak_day_index"] + # Check whether buffer tank placed and that it is only active in peak day + peak_day_indx = int(solution_staged.parameters(0)["peak_day_index"]) for b in solution_staged.energy_system_components.get("heat_buffer", []): + np.testing.assert_allclose(results[f"{b}_aggregation_count"], 1) # being placed + np.testing.assert_array_less( + 1.0e3, max(results[f"{b}.Heat_flow"][peak_day_indx : peak_day_indx + 24]) + ) # at least 1 time step with such a heat_flow is expected in this network heat_buffer = results[f"{b}.Heat_buffer"] for i in range(len(solution_staged.times())): if i < peak_day_indx or i > (peak_day_indx + 23): @@ -211,8 +224,6 @@ def test_end_scenario_sizing_discounted(self): day. Checks: - - Cyclic behaviour for ATES - - That buffer tank is only used on peak day - demand matching Missing: @@ -236,7 +247,7 @@ def solver_options(self): solution = run_optimization_problem( TestEndScenarioSizingDiscountedHIGHS, base_folder=base_folder, - esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", + esdl_file_name="test_case_small_network_all_optional.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", @@ -253,19 +264,6 @@ def solver_options(self): # Check whether the heat demand is matched demand_matching_test(solution, results) - # Check whether cyclic ates constraint is working - for a in solution.energy_system_components.get("ates", []): - stored_heat = results[f"{a}.Stored_heat"] - np.testing.assert_allclose(stored_heat[0], stored_heat[-1], atol=1.0) - - # Check whether buffer tank is only active in peak day - peak_day_indx = solution.parameters(0)["peak_day_index"] - for b in solution.energy_system_components.get("heat_buffer", []): - heat_buffer = results[f"{b}.Heat_buffer"] - for i in range(len(solution.times())): - if i < peak_day_indx or i > (peak_day_indx + 23): - np.testing.assert_allclose(heat_buffer[i], 0.0, atol=1.0e-6) - def test_end_scenario_sizing_head_loss(self): """ Test is EndScenarioSizingHeadLoss class is behaving as expected. E.g. should behave @@ -285,7 +283,7 @@ def test_end_scenario_sizing_head_loss(self): solution = run_end_scenario_sizing( EndScenarioSizingHeadLossStaged, base_folder=base_folder, - esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", + esdl_file_name="test_case_small_network_all_optional.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", @@ -295,6 +293,7 @@ def test_end_scenario_sizing_head_loss(self): demand_matching_test(solution, results) + tol = 1.0e-10 pipes = solution.energy_system_components.get("heat_pipe") for pipe in pipes: pipe_diameter = solution.parameters(0)[f"{pipe}.diameter"] @@ -315,7 +314,7 @@ def test_end_scenario_sizing_head_loss(self): pipe_wall_roughness, temperature, ), - abs(results[f"{pipe}.dH"][ii]), + abs(results[f"{pipe}.dH"][ii]) + tol, ) def test_end_scenario_sizing_pipe_catalog(self): diff --git a/tests/test_max_size_and_optional_assets.py b/tests/test_max_size_and_optional_assets.py index 34b08ee3b..01a263696 100644 --- a/tests/test_max_size_and_optional_assets.py +++ b/tests/test_max_size_and_optional_assets.py @@ -17,7 +17,10 @@ def test_max_size_and_aggr_count(self): components associated to those variables. - the asset size should be at least as large as it's maximum utilization - - the asset should be placed when it is utilized + - the asset should be placed when it is utilized, even when an asset have not installation + cost (geothermal optional source) + - the geothermal source has the highest costs, and it specifically has no installation cost + to test the aggregation_count constraint - the cost components should be present if the asset is placed and used. - For this scenario a problem is set-up with two optional sources (with their connection pipes) where one source can supply the network by itself. It is expected that only one @@ -29,15 +32,16 @@ def test_max_size_and_aggr_count(self): Checks: - Check that source 1 is utilized and also placed - Check that source 2 is utilized and placed - - Check that max_size source 1 is zero + - Check that the geothermal source is not placed + - Check that max_size of source 1 and geothermal is zero - Check that max_size source 2 is > utilization - Check cost components for source 1 and 2 - Check max size and placement of ates - Fixed operational cost for sources """ - import models.test_case_small_network_with_ates_with_buffer.src.run_ates as run_ates - from models.test_case_small_network_with_ates_with_buffer.src.run_ates import ( + import models.test_case_small_network_with_ates_buffer_geo.src.run_ates as run_ates + from models.test_case_small_network_with_ates_buffer_geo.src.run_ates import ( HeatProblem, ) @@ -47,7 +51,7 @@ def test_max_size_and_aggr_count(self): solution = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, - esdl_file_name="test_case_small_network_with_ates_with_buffer.esdl", + esdl_file_name="test_case_small_network_with_ates_buffer_geo.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", @@ -56,12 +60,14 @@ def test_max_size_and_aggr_count(self): results = solution.extract_results() parameters = solution.parameters(0) - # Producer 1 should not produce due to higher cost + # Producer 1 and geothermal source should not produce due to higher cost # Producer 2 should produce heat_1 = results["HeatProducer_1.Heat_source"] heat_2 = results["HeatProducer_2.Heat_source"] + heat_geo = results["GeothermalSource_50cf.Heat_source"] prod_1_placed = results["HeatProducer_1_aggregation_count"] prod_2_placed = results["HeatProducer_2_aggregation_count"] + geo_placed = results["GeothermalSource_50cf_aggregation_count"] var_cost_1 = results["HeatProducer_1__variable_operational_cost"] var_cost_2 = results["HeatProducer_2__variable_operational_cost"] fix_cost_1 = results["HeatProducer_1__fixed_operational_cost"] @@ -72,19 +78,33 @@ def test_max_size_and_aggr_count(self): inv_cost_2 = results["HeatProducer_2__investment_cost"] max_size_1 = results["HeatProducer_1__max_size"] max_size_2 = results["HeatProducer_2__max_size"] + max_size_geo = results["GeothermalSource_50cf__max_size"] - # Test if source 1 is off and 2 is producing + # Test if source 1 and the geothermal source is off and 2 is producing np.testing.assert_allclose(heat_1, 0.0, atol=1e-6) + np.testing.assert_allclose(heat_geo, 0.0, atol=1e-6) + np.testing.assert_equal(True, heat_2[1:] > 0.0) - # Test if source 1 is not placed and 2 is placed + # Test if source 1 and the geothermal is not placed and 2 is placed np.testing.assert_allclose(prod_1_placed, 0.0) np.testing.assert_allclose(prod_2_placed, 1.0, atol=1.0e-6) + # Geothermal should not be placed while only having an investment cost (high) input + np.testing.assert_allclose(geo_placed, 0.0) + np.testing.assert_allclose( + solution.parameters(0)["GeothermalSource_50cf.investment_cost_coefficient"], + 100.0, # euro/W, value was specifcially chosen this high top prevent its usage + atol=1.0e-6, + ) + np.testing.assert_allclose( + 0.0, solution.parameters(0)["GeothermalSource_50cf.installation_cost"], atol=1.0e-9 + ) # Test that max size is correct, note that we use an equality check as due to the cost # minimization they should be equal. np.testing.assert_allclose(max(heat_2), max_size_2) np.testing.assert_allclose(max_size_1, 0.0) + np.testing.assert_allclose(max_size_geo, 0.0) # Test that investmentcost is correctly linked to max size np.testing.assert_allclose( @@ -147,7 +167,9 @@ def test_max_size_and_aggr_count(self): solution = run_esdl_mesido_optimization( HeatProblem, base_folder=base_folder, - esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", + esdl_file_name=( + "test_case_small_network_with_ates_with_buffer_all_optional_not_placed.esdl" + ), esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", @@ -163,3 +185,12 @@ def test_max_size_and_aggr_count(self): demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) + + +if __name__ == "__main__": + import time + + start_time = time.time() + + a = TestMaxSizeAggregationCount() + a.test_max_size_and_aggr_count() diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 36ae4e4cc..9a5ed0ca4 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -116,11 +116,11 @@ def test_max_producer_esdl_unscaled_profile(self): results["HeatProducer_b702__max_size"], ) np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) - np.testing.assert_equal( + np.testing.assert_array_less( + 3, np.sum( np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-10) ), - 4, ) elif problem_class == HeatProblemESDLProdProfileTCO: heat_production_upper_limit = ( @@ -134,13 +134,11 @@ def test_max_producer_esdl_unscaled_profile(self): atol=1e-9, ) np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) - np.testing.assert_equal( - 8 - <= np.sum( - np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-10) - ) - <= 9, - True, + np.testing.assert_array_less( + 7, + np.sum( + np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-9) + ), ) def test_max_producer_esdl_scaled_profile(self): From 5a4eafe4d905b11329f0d5389ce63f0c123f3e6b Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 9 Oct 2025 15:29:29 +0200 Subject: [PATCH 295/376] temp_check --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 8c8fda851..d0a9a17b9 100644 --- a/setup.py +++ b/setup.py @@ -67,7 +67,7 @@ ], tests_require=["pytest", "pytest-runner", "numpy"], include_package_data=True, - python_requires=">=3.10,<3.12", + python_requires=">=3.9,<3.12", cmdclass=versioneer.get_cmdclass(), entry_points={"rtctools.libraries.modelica": ["library_folder = mesido:modelica"]}, ) From 110af4152c6d050a7a0ed196fc3ee83074c1efd0 Mon Sep 17 00:00:00 2001 From: "kobus.vanrooyen@tno.nl" Date: Thu, 9 Oct 2025 15:30:54 +0200 Subject: [PATCH 296/376] fix mistake --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index d0a9a17b9..8c8fda851 100644 --- a/setup.py +++ b/setup.py @@ -67,7 +67,7 @@ ], tests_require=["pytest", "pytest-runner", "numpy"], include_package_data=True, - python_requires=">=3.9,<3.12", + python_requires=">=3.10,<3.12", cmdclass=versioneer.get_cmdclass(), entry_points={"rtctools.libraries.modelica": ["library_folder = mesido:modelica"]}, ) From 7ac565036b199b209379add7afe22410b8c48639 Mon Sep 17 00:00:00 2001 From: gopalangj Date: Fri, 10 Oct 2025 15:36:09 +0200 Subject: [PATCH 297/376] Additional functionality of heat sources to have profiles (#353) * Additional functionality of heat sources (Geothermal and Residual heat source) to have profile constraints and some tests to go with --- CHANGELOG.md | 1 + src/mesido/esdl/profile_parser.py | 2 + ...ceHeat&HotWater_PowerProfile_2000_2010.csv | 8761 +++++++++++++++++ ...ultiple_heat_sources_unscaled_profile.esdl | 307 + tests/test_profile_parsing.py | 35 +- 5 files changed, 9105 insertions(+), 1 deletion(-) create mode 100644 tests/models/unit_cases/case_3a/input/SpaceHeat&HotWater_PowerProfile_2000_2010.csv create mode 100644 tests/models/unit_cases/case_3a/model/3a_esdl_multiple_heat_sources_unscaled_profile.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index abc3fd670..10e4c57d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - Pipe costs are updated based on the asset templates if they are provided - AssetStateEnums of IntEnum type to describe the state of an asset i.e disabled/enabled/optional - A new type of potential error is added if the profile name indicated in esdl is not available in the database +- Capability of ResidualHeatSource and GeothermalHeatSource to also have profile constraints that can be read from InfluxDB ## Changed - Removed support of python versions 3.9 and older. diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 87f5d28ab..24ea6e957 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -214,6 +214,8 @@ class InfluxDBProfileReader(BaseProfileReader): esdl.esdl.ElectricityProducer: ".maximum_electricity_source", esdl.esdl.GasDemand: ".target_gas_demand", esdl.esdl.GasProducer: ".maximum_gas_source", + esdl.esdl.ResidualHeatSource: ".maximum_heat_source", + esdl.esdl.GeothermalSource: ".maximum_heat_source", } def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): diff --git a/tests/models/unit_cases/case_3a/input/SpaceHeat&HotWater_PowerProfile_2000_2010.csv b/tests/models/unit_cases/case_3a/input/SpaceHeat&HotWater_PowerProfile_2000_2010.csv new file mode 100644 index 000000000..ccecfcc51 --- /dev/null +++ b/tests/models/unit_cases/case_3a/input/SpaceHeat&HotWater_PowerProfile_2000_2010.csv @@ -0,0 +1,8761 @@ +,time,Ruimte&Tap_W +0,2018-12-31 23:00:00+00:00,0.050329049457550123 +1,2019-01-01 00:00:00+00:00,0.01946152933313528 +2,2019-01-01 01:00:00+00:00,0.00537114221229684 +3,2019-01-01 02:00:00+00:00,0.0025313582754107737 +4,2019-01-01 03:00:00+00:00,0.00637697065084216 +5,2019-01-01 04:00:00+00:00,0.03993077884354562 +6,2019-01-01 05:00:00+00:00,0.18969372706516802 +7,2019-01-01 06:00:00+00:00,0.3982716308998156 +8,2019-01-01 07:00:00+00:00,0.5452029554808798 +9,2019-01-01 08:00:00+00:00,0.6642038590626196 +10,2019-01-01 09:00:00+00:00,0.5527073925195516 +11,2019-01-01 10:00:00+00:00,0.5166234100406182 +12,2019-01-01 11:00:00+00:00,0.6396899543384074 +13,2019-01-01 12:00:00+00:00,0.547264390062481 +14,2019-01-01 13:00:00+00:00,0.46213652832042384 +15,2019-01-01 14:00:00+00:00,0.4956635300591536 +16,2019-01-01 15:00:00+00:00,0.5041380203932541 +17,2019-01-01 16:00:00+00:00,0.4772335019069892 +18,2019-01-01 17:00:00+00:00,0.5005508650220407 +19,2019-01-01 18:00:00+00:00,0.48587860942173056 +20,2019-01-01 19:00:00+00:00,0.4369788883743243 +21,2019-01-01 20:00:00+00:00,0.36055495305585167 +22,2019-01-01 21:00:00+00:00,0.2341381785362314 +23,2019-01-01 22:00:00+00:00,0.11181211719967128 +24,2019-01-01 23:00:00+00:00,0.04837985948157472 +25,2019-01-02 00:00:00+00:00,0.019428270857601564 +26,2019-01-02 01:00:00+00:00,0.006310747095654921 +27,2019-01-02 02:00:00+00:00,0.0034883987111283482 +28,2019-01-02 03:00:00+00:00,0.009135712096472333 +29,2019-01-02 04:00:00+00:00,0.04440393656232389 +30,2019-01-02 05:00:00+00:00,0.20801081517038056 +31,2019-01-02 06:00:00+00:00,0.42089548990832343 +32,2019-01-02 07:00:00+00:00,0.5626526686923854 +33,2019-01-02 08:00:00+00:00,0.6791479206418112 +34,2019-01-02 09:00:00+00:00,0.5413774448378557 +35,2019-01-02 10:00:00+00:00,0.5190322151330771 +36,2019-01-02 11:00:00+00:00,0.6349407628243676 +37,2019-01-02 12:00:00+00:00,0.561375859598447 +38,2019-01-02 13:00:00+00:00,0.4613872035023282 +39,2019-01-02 14:00:00+00:00,0.49149237318518896 +40,2019-01-02 15:00:00+00:00,0.4997636147094536 +41,2019-01-02 16:00:00+00:00,0.47286208020907805 +42,2019-01-02 17:00:00+00:00,0.4968824059334516 +43,2019-01-02 18:00:00+00:00,0.4768114772906747 +44,2019-01-02 19:00:00+00:00,0.43585979650105533 +45,2019-01-02 20:00:00+00:00,0.3605410947877338 +46,2019-01-02 21:00:00+00:00,0.23445784884001813 +47,2019-01-02 22:00:00+00:00,0.11079883456381363 +48,2019-01-02 23:00:00+00:00,0.04797440075392799 +49,2019-01-03 00:00:00+00:00,0.019739858463749965 +50,2019-01-03 01:00:00+00:00,0.006558013614857533 +51,2019-01-03 02:00:00+00:00,0.004095332869063137 +52,2019-01-03 03:00:00+00:00,0.0096985748066193 +53,2019-01-03 04:00:00+00:00,0.046215445955963434 +54,2019-01-03 05:00:00+00:00,0.21011413779174845 +55,2019-01-03 06:00:00+00:00,0.4286495945571528 +56,2019-01-03 07:00:00+00:00,0.5738329932435224 +57,2019-01-03 08:00:00+00:00,0.6884559067729391 +58,2019-01-03 09:00:00+00:00,0.5619879516836708 +59,2019-01-03 10:00:00+00:00,0.42258302663093095 +60,2019-01-03 11:00:00+00:00,0.6140180543963862 +61,2019-01-03 12:00:00+00:00,0.559906046039626 +62,2019-01-03 13:00:00+00:00,0.4132951779630215 +63,2019-01-03 14:00:00+00:00,0.4865535544914501 +64,2019-01-03 15:00:00+00:00,0.5062498857290054 +65,2019-01-03 16:00:00+00:00,0.4877114277333844 +66,2019-01-03 17:00:00+00:00,0.5046613174176569 +67,2019-01-03 18:00:00+00:00,0.49097082849781915 +68,2019-01-03 19:00:00+00:00,0.4457436873970647 +69,2019-01-03 20:00:00+00:00,0.36915971224125066 +70,2019-01-03 21:00:00+00:00,0.23995624425455792 +71,2019-01-03 22:00:00+00:00,0.11338206288801325 +72,2019-01-03 23:00:00+00:00,0.04903705535607535 +73,2019-01-04 00:00:00+00:00,0.020307739798258763 +74,2019-01-04 01:00:00+00:00,0.007109877508629124 +75,2019-01-04 02:00:00+00:00,0.00502078902630869 +76,2019-01-04 03:00:00+00:00,0.011173929810563811 +77,2019-01-04 04:00:00+00:00,0.049549104309349265 +78,2019-01-04 05:00:00+00:00,0.21659190060758926 +79,2019-01-04 06:00:00+00:00,0.43588653585322523 +80,2019-01-04 07:00:00+00:00,0.5715071328461484 +81,2019-01-04 08:00:00+00:00,0.6835651808581743 +82,2019-01-04 09:00:00+00:00,0.5584967635093087 +83,2019-01-04 10:00:00+00:00,0.5207991549028597 +84,2019-01-04 11:00:00+00:00,0.6381134537736683 +85,2019-01-04 12:00:00+00:00,0.5657000350864277 +86,2019-01-04 13:00:00+00:00,0.4588928941052803 +87,2019-01-04 14:00:00+00:00,0.49026204406522306 +88,2019-01-04 15:00:00+00:00,0.49526008283849404 +89,2019-01-04 16:00:00+00:00,0.46331865887226514 +90,2019-01-04 17:00:00+00:00,0.4871649711648605 +91,2019-01-04 18:00:00+00:00,0.46523056447232236 +92,2019-01-04 19:00:00+00:00,0.42352625158099705 +93,2019-01-04 20:00:00+00:00,0.3487201258596102 +94,2019-01-04 21:00:00+00:00,0.22672459044623308 +95,2019-01-04 22:00:00+00:00,0.10641711010230348 +96,2019-01-04 23:00:00+00:00,0.04572995060317822 +97,2019-01-05 00:00:00+00:00,0.01902152889131377 +98,2019-01-05 01:00:00+00:00,0.006342651820751477 +99,2019-01-05 02:00:00+00:00,0.003929531176369875 +100,2019-01-05 03:00:00+00:00,0.007741717121854272 +101,2019-01-05 04:00:00+00:00,0.039041240369382564 +102,2019-01-05 05:00:00+00:00,0.1779590590223831 +103,2019-01-05 06:00:00+00:00,0.3724267172034336 +104,2019-01-05 07:00:00+00:00,0.4936846999815863 +105,2019-01-05 08:00:00+00:00,0.5997168054327159 +106,2019-01-05 09:00:00+00:00,0.49575738552063 +107,2019-01-05 10:00:00+00:00,0.47389988681638384 +108,2019-01-05 11:00:00+00:00,0.6003285239148184 +109,2019-01-05 12:00:00+00:00,0.5342104474487385 +110,2019-01-05 13:00:00+00:00,0.42346963769762147 +111,2019-01-05 14:00:00+00:00,0.4573444880685594 +112,2019-01-05 15:00:00+00:00,0.4701521275235921 +113,2019-01-05 16:00:00+00:00,0.439618076252096 +114,2019-01-05 17:00:00+00:00,0.4650266490147615 +115,2019-01-05 18:00:00+00:00,0.4473841754079622 +116,2019-01-05 19:00:00+00:00,0.40916151871643347 +117,2019-01-05 20:00:00+00:00,0.33685856931438557 +118,2019-01-05 21:00:00+00:00,0.2174262835787629 +119,2019-01-05 22:00:00+00:00,0.10286823746386 +120,2019-01-05 23:00:00+00:00,0.04459047731976114 +121,2019-01-06 00:00:00+00:00,0.018339845578699807 +122,2019-01-06 01:00:00+00:00,0.006150537102843758 +123,2019-01-06 02:00:00+00:00,0.003529486717010514 +124,2019-01-06 03:00:00+00:00,0.007075878056761336 +125,2019-01-06 04:00:00+00:00,0.036569712619187615 +126,2019-01-06 05:00:00+00:00,0.1719235421858252 +127,2019-01-06 06:00:00+00:00,0.36151849322882906 +128,2019-01-06 07:00:00+00:00,0.48360434041275807 +129,2019-01-06 08:00:00+00:00,0.5902150830103413 +130,2019-01-06 09:00:00+00:00,0.4888204978120266 +131,2019-01-06 10:00:00+00:00,0.4529092826105476 +132,2019-01-06 11:00:00+00:00,0.5881110948275322 +133,2019-01-06 12:00:00+00:00,0.5247739691346514 +134,2019-01-06 13:00:00+00:00,0.41372364722675403 +135,2019-01-06 14:00:00+00:00,0.4544492249315314 +136,2019-01-06 15:00:00+00:00,0.46363899010596216 +137,2019-01-06 16:00:00+00:00,0.4347764019929288 +138,2019-01-06 17:00:00+00:00,0.458370173617326 +139,2019-01-06 18:00:00+00:00,0.4397968012693383 +140,2019-01-06 19:00:00+00:00,0.40102134317302507 +141,2019-01-06 20:00:00+00:00,0.3306074294272207 +142,2019-01-06 21:00:00+00:00,0.2154952277282229 +143,2019-01-06 22:00:00+00:00,0.10271266984249917 +144,2019-01-06 23:00:00+00:00,0.045869810316501156 +145,2019-01-07 00:00:00+00:00,0.019632176607455844 +146,2019-01-07 01:00:00+00:00,0.006798461826226907 +147,2019-01-07 02:00:00+00:00,0.004260437738260771 +148,2019-01-07 03:00:00+00:00,0.008989144603906126 +149,2019-01-07 04:00:00+00:00,0.042262200354478446 +150,2019-01-07 05:00:00+00:00,0.18700539363442886 +151,2019-01-07 06:00:00+00:00,0.38238343557538385 +152,2019-01-07 07:00:00+00:00,0.5015938595185763 +153,2019-01-07 08:00:00+00:00,0.6005151505019706 +154,2019-01-07 09:00:00+00:00,0.4868733077391475 +155,2019-01-07 10:00:00+00:00,0.4611526110985156 +156,2019-01-07 11:00:00+00:00,0.582754635222711 +157,2019-01-07 12:00:00+00:00,0.5141673939165213 +158,2019-01-07 13:00:00+00:00,0.40024011025363554 +159,2019-01-07 14:00:00+00:00,0.4396948901883051 +160,2019-01-07 15:00:00+00:00,0.4495353386326319 +161,2019-01-07 16:00:00+00:00,0.42100393334504294 +162,2019-01-07 17:00:00+00:00,0.4449686364255851 +163,2019-01-07 18:00:00+00:00,0.42105993448955836 +164,2019-01-07 19:00:00+00:00,0.3819251037299988 +165,2019-01-07 20:00:00+00:00,0.3082734394642001 +166,2019-01-07 21:00:00+00:00,0.19622166842944933 +167,2019-01-07 22:00:00+00:00,0.09427623103160773 +168,2019-01-07 23:00:00+00:00,0.040943319638229905 +169,2019-01-08 00:00:00+00:00,0.016636475791123095 +170,2019-01-08 01:00:00+00:00,0.005534270419941491 +171,2019-01-08 02:00:00+00:00,0.0030896079754715736 +172,2019-01-08 03:00:00+00:00,0.004912055930943482 +173,2019-01-08 04:00:00+00:00,0.02765496565613356 +174,2019-01-08 05:00:00+00:00,0.1406873627714021 +175,2019-01-08 06:00:00+00:00,0.3042116532001855 +176,2019-01-08 07:00:00+00:00,0.41380672636791843 +177,2019-01-08 08:00:00+00:00,0.5129543102604406 +178,2019-01-08 09:00:00+00:00,0.43647776471104427 +179,2019-01-08 10:00:00+00:00,0.41264007628967125 +180,2019-01-08 11:00:00+00:00,0.5553776574584165 +181,2019-01-08 12:00:00+00:00,0.4941140759137574 +182,2019-01-08 13:00:00+00:00,0.38254811395199606 +183,2019-01-08 14:00:00+00:00,0.42353190659582 +184,2019-01-08 15:00:00+00:00,0.43697064367876076 +185,2019-01-08 16:00:00+00:00,0.40866873908192564 +186,2019-01-08 17:00:00+00:00,0.43383308891176703 +187,2019-01-08 18:00:00+00:00,0.41623063908169955 +188,2019-01-08 19:00:00+00:00,0.38318097118608757 +189,2019-01-08 20:00:00+00:00,0.3169059095684017 +190,2019-01-08 21:00:00+00:00,0.20782185163427025 +191,2019-01-08 22:00:00+00:00,0.09700636703815198 +192,2019-01-08 23:00:00+00:00,0.04337689685969155 +193,2019-01-09 00:00:00+00:00,0.01752063574545294 +194,2019-01-09 01:00:00+00:00,0.006019235623741275 +195,2019-01-09 02:00:00+00:00,0.0033454678350130903 +196,2019-01-09 03:00:00+00:00,0.006004303445380695 +197,2019-01-09 04:00:00+00:00,0.032397864199670445 +198,2019-01-09 05:00:00+00:00,0.15891723979361896 +199,2019-01-09 06:00:00+00:00,0.33804537630927395 +200,2019-01-09 07:00:00+00:00,0.45817977282934247 +201,2019-01-09 08:00:00+00:00,0.560557402314488 +202,2019-01-09 09:00:00+00:00,0.4588311812824092 +203,2019-01-09 10:00:00+00:00,0.4476038556198913 +204,2019-01-09 11:00:00+00:00,0.571529124632954 +205,2019-01-09 12:00:00+00:00,0.48683613865278946 +206,2019-01-09 13:00:00+00:00,0.35212857126436736 +207,2019-01-09 14:00:00+00:00,0.4351765576016746 +208,2019-01-09 15:00:00+00:00,0.45214106349150307 +209,2019-01-09 16:00:00+00:00,0.4267590416630462 +210,2019-01-09 17:00:00+00:00,0.4538189242970408 +211,2019-01-09 18:00:00+00:00,0.43541510316227144 +212,2019-01-09 19:00:00+00:00,0.3969645193660163 +213,2019-01-09 20:00:00+00:00,0.3282152862028748 +214,2019-01-09 21:00:00+00:00,0.2136142261548833 +215,2019-01-09 22:00:00+00:00,0.10218537060376495 +216,2019-01-09 23:00:00+00:00,0.0444690155638995 +217,2019-01-10 00:00:00+00:00,0.01880529809306782 +218,2019-01-10 01:00:00+00:00,0.006779595672790977 +219,2019-01-10 02:00:00+00:00,0.004156133638889551 +220,2019-01-10 03:00:00+00:00,0.008437587613851277 +221,2019-01-10 04:00:00+00:00,0.04093435741869755 +222,2019-01-10 05:00:00+00:00,0.18637716285676242 +223,2019-01-10 06:00:00+00:00,0.38968830594663795 +224,2019-01-10 07:00:00+00:00,0.5201964724446265 +225,2019-01-10 08:00:00+00:00,0.6257241802393558 +226,2019-01-10 09:00:00+00:00,0.509193667897421 +227,2019-01-10 10:00:00+00:00,0.4851965399688665 +228,2019-01-10 11:00:00+00:00,0.60535190351643 +229,2019-01-10 12:00:00+00:00,0.5311182776026041 +230,2019-01-10 13:00:00+00:00,0.41825450194669644 +231,2019-01-10 14:00:00+00:00,0.46384266323334394 +232,2019-01-10 15:00:00+00:00,0.47569792974682834 +233,2019-01-10 16:00:00+00:00,0.44808910934911333 +234,2019-01-10 17:00:00+00:00,0.4764831552725533 +235,2019-01-10 18:00:00+00:00,0.4608040626147029 +236,2019-01-10 19:00:00+00:00,0.4218340166012609 +237,2019-01-10 20:00:00+00:00,0.3471716722731904 +238,2019-01-10 21:00:00+00:00,0.22496695058340027 +239,2019-01-10 22:00:00+00:00,0.10626880537025284 +240,2019-01-10 23:00:00+00:00,0.04600363068473358 +241,2019-01-11 00:00:00+00:00,0.01913976905388107 +242,2019-01-11 01:00:00+00:00,0.0066689679554091065 +243,2019-01-11 02:00:00+00:00,0.004577772099573599 +244,2019-01-11 03:00:00+00:00,0.008324013949085997 +245,2019-01-11 04:00:00+00:00,0.039482611673412264 +246,2019-01-11 05:00:00+00:00,0.1760646084880443 +247,2019-01-11 06:00:00+00:00,0.36616920973698985 +248,2019-01-11 07:00:00+00:00,0.48175670833105505 +249,2019-01-11 08:00:00+00:00,0.5789857299725107 +250,2019-01-11 09:00:00+00:00,0.4714763898814279 +251,2019-01-11 10:00:00+00:00,0.45427870855753966 +252,2019-01-11 11:00:00+00:00,0.5764764171083653 +253,2019-01-11 12:00:00+00:00,0.5124847408744297 +254,2019-01-11 13:00:00+00:00,0.3943108681722408 +255,2019-01-11 14:00:00+00:00,0.44136226614727303 +256,2019-01-11 15:00:00+00:00,0.4510900250598422 +257,2019-01-11 16:00:00+00:00,0.42235268773039913 +258,2019-01-11 17:00:00+00:00,0.4478480169386456 +259,2019-01-11 18:00:00+00:00,0.4295384663490224 +260,2019-01-11 19:00:00+00:00,0.3932786220790524 +261,2019-01-11 20:00:00+00:00,0.3235245308296679 +262,2019-01-11 21:00:00+00:00,0.20903272208609633 +263,2019-01-11 22:00:00+00:00,0.09887286994426725 +264,2019-01-11 23:00:00+00:00,0.04257326564282465 +265,2019-01-12 00:00:00+00:00,0.0177171856738795 +266,2019-01-12 01:00:00+00:00,0.006004518710956523 +267,2019-01-12 02:00:00+00:00,0.0034484140510778597 +268,2019-01-12 03:00:00+00:00,0.005969446654826705 +269,2019-01-12 04:00:00+00:00,0.0321493466599917 +270,2019-01-12 05:00:00+00:00,0.15366038644164332 +271,2019-01-12 06:00:00+00:00,0.32825878304918676 +272,2019-01-12 07:00:00+00:00,0.43845263113930766 +273,2019-01-12 08:00:00+00:00,0.5378009383508826 +274,2019-01-12 09:00:00+00:00,0.4454092294040289 +275,2019-01-12 10:00:00+00:00,0.43852548204818087 +276,2019-01-12 11:00:00+00:00,0.5626237722344338 +277,2019-01-12 12:00:00+00:00,0.49556245510674257 +278,2019-01-12 13:00:00+00:00,0.3753198563558885 +279,2019-01-12 14:00:00+00:00,0.42367458145066517 +280,2019-01-12 15:00:00+00:00,0.43502061842335765 +281,2019-01-12 16:00:00+00:00,0.40624496133143484 +282,2019-01-12 17:00:00+00:00,0.4303606326028698 +283,2019-01-12 18:00:00+00:00,0.4118931554299522 +284,2019-01-12 19:00:00+00:00,0.37437432959857264 +285,2019-01-12 20:00:00+00:00,0.30643139359569715 +286,2019-01-12 21:00:00+00:00,0.19740924103928376 +287,2019-01-12 22:00:00+00:00,0.09340192523522128 +288,2019-01-12 23:00:00+00:00,0.03990024762951981 +289,2019-01-13 00:00:00+00:00,0.016329827269206502 +290,2019-01-13 01:00:00+00:00,0.005443724666039215 +291,2019-01-13 02:00:00+00:00,0.0030432620496813655 +292,2019-01-13 03:00:00+00:00,0.004605258844424702 +293,2019-01-13 04:00:00+00:00,0.025266751317752828 +294,2019-01-13 05:00:00+00:00,0.12827335247881536 +295,2019-01-13 06:00:00+00:00,0.27861212568715615 +296,2019-01-13 07:00:00+00:00,0.3760517747571976 +297,2019-01-13 08:00:00+00:00,0.46585309029763305 +298,2019-01-13 09:00:00+00:00,0.393129137880677 +299,2019-01-13 10:00:00+00:00,0.39861491271281746 +300,2019-01-13 11:00:00+00:00,0.5291978068311154 +301,2019-01-13 12:00:00+00:00,0.4664349261963668 +302,2019-01-13 13:00:00+00:00,0.3449635374668302 +303,2019-01-13 14:00:00+00:00,0.3935683933606464 +304,2019-01-13 15:00:00+00:00,0.40361973712593807 +305,2019-01-13 16:00:00+00:00,0.3743095408916346 +306,2019-01-13 17:00:00+00:00,0.4103793349459359 +307,2019-01-13 18:00:00+00:00,0.3886905478199569 +308,2019-01-13 19:00:00+00:00,0.3542932362021071 +309,2019-01-13 20:00:00+00:00,0.28965938215166515 +310,2019-01-13 21:00:00+00:00,0.18692780158438838 +311,2019-01-13 22:00:00+00:00,0.0884535291579671 +312,2019-01-13 23:00:00+00:00,0.03795736736539056 +313,2019-01-14 00:00:00+00:00,0.015671918993253073 +314,2019-01-14 01:00:00+00:00,0.00512826947323881 +315,2019-01-14 02:00:00+00:00,0.0028696327271792305 +316,2019-01-14 03:00:00+00:00,0.004240429804316149 +317,2019-01-14 04:00:00+00:00,0.023020482033864625 +318,2019-01-14 05:00:00+00:00,0.12446676084323774 +319,2019-01-14 06:00:00+00:00,0.27645430965876494 +320,2019-01-14 07:00:00+00:00,0.3842446818067624 +321,2019-01-14 08:00:00+00:00,0.4705890753578882 +322,2019-01-14 09:00:00+00:00,0.35920487046354566 +323,2019-01-14 10:00:00+00:00,0.31936242724427083 +324,2019-01-14 11:00:00+00:00,0.4734110422474336 +325,2019-01-14 12:00:00+00:00,0.40717920399988533 +326,2019-01-14 13:00:00+00:00,0.32819920702193156 +327,2019-01-14 14:00:00+00:00,0.4005521966754324 +328,2019-01-14 15:00:00+00:00,0.43081934673512773 +329,2019-01-14 16:00:00+00:00,0.41656976266198364 +330,2019-01-14 17:00:00+00:00,0.4421835998723503 +331,2019-01-14 18:00:00+00:00,0.42678134085620395 +332,2019-01-14 19:00:00+00:00,0.3927665866628987 +333,2019-01-14 20:00:00+00:00,0.3199818293746816 +334,2019-01-14 21:00:00+00:00,0.20646585018025476 +335,2019-01-14 22:00:00+00:00,0.09989694837274583 +336,2019-01-14 23:00:00+00:00,0.04362310315687155 +337,2019-01-15 00:00:00+00:00,0.01792275094923899 +338,2019-01-15 01:00:00+00:00,0.00610435302821048 +339,2019-01-15 02:00:00+00:00,0.0034890523261069807 +340,2019-01-15 03:00:00+00:00,0.0062727765442693074 +341,2019-01-15 04:00:00+00:00,0.03237223228140254 +342,2019-01-15 05:00:00+00:00,0.15670837348045683 +343,2019-01-15 06:00:00+00:00,0.32888470341716447 +344,2019-01-15 07:00:00+00:00,0.43618011592734096 +345,2019-01-15 08:00:00+00:00,0.5289749985011409 +346,2019-01-15 09:00:00+00:00,0.4295216220312737 +347,2019-01-15 10:00:00+00:00,0.4265311022187064 +348,2019-01-15 11:00:00+00:00,0.5564478900373281 +349,2019-01-15 12:00:00+00:00,0.48697250600762787 +350,2019-01-15 13:00:00+00:00,0.3630204827908501 +351,2019-01-15 14:00:00+00:00,0.41132890873841643 +352,2019-01-15 15:00:00+00:00,0.42350933346992137 +353,2019-01-15 16:00:00+00:00,0.39639332803218247 +354,2019-01-15 17:00:00+00:00,0.42072486613344146 +355,2019-01-15 18:00:00+00:00,0.404148917673804 +356,2019-01-15 19:00:00+00:00,0.3681069451985398 +357,2019-01-15 20:00:00+00:00,0.30246871324802527 +358,2019-01-15 21:00:00+00:00,0.19539909327482324 +359,2019-01-15 22:00:00+00:00,0.09240481145448304 +360,2019-01-15 23:00:00+00:00,0.039605299472441895 +361,2019-01-16 00:00:00+00:00,0.016066295392101967 +362,2019-01-16 01:00:00+00:00,0.005341730023962174 +363,2019-01-16 02:00:00+00:00,0.003003519120275033 +364,2019-01-16 03:00:00+00:00,0.004522688998307083 +365,2019-01-16 04:00:00+00:00,0.024751560691559593 +366,2019-01-16 05:00:00+00:00,0.12902496451205211 +367,2019-01-16 06:00:00+00:00,0.2841554386256663 +368,2019-01-16 07:00:00+00:00,0.3895516080123148 +369,2019-01-16 08:00:00+00:00,0.48769549210385243 +370,2019-01-16 09:00:00+00:00,0.4053165650541248 +371,2019-01-16 10:00:00+00:00,0.41359592032010184 +372,2019-01-16 11:00:00+00:00,0.5498327121491997 +373,2019-01-16 12:00:00+00:00,0.48476839634946767 +374,2019-01-16 13:00:00+00:00,0.36221138694677085 +375,2019-01-16 14:00:00+00:00,0.42059787267140347 +376,2019-01-16 15:00:00+00:00,0.43437484263479814 +377,2019-01-16 16:00:00+00:00,0.4068666880654061 +378,2019-01-16 17:00:00+00:00,0.4361075735914358 +379,2019-01-16 18:00:00+00:00,0.4191015779178794 +380,2019-01-16 19:00:00+00:00,0.38201827532247906 +381,2019-01-16 20:00:00+00:00,0.31206888059995685 +382,2019-01-16 21:00:00+00:00,0.2034025148339275 +383,2019-01-16 22:00:00+00:00,0.09730630994999921 +384,2019-01-16 23:00:00+00:00,0.0422425282157362 +385,2019-01-17 00:00:00+00:00,0.01735584731001764 +386,2019-01-17 01:00:00+00:00,0.0059049450282793675 +387,2019-01-17 02:00:00+00:00,0.003377813642138244 +388,2019-01-17 03:00:00+00:00,0.0057895421379795965 +389,2019-01-17 04:00:00+00:00,0.031173103505445127 +390,2019-01-17 05:00:00+00:00,0.1529281410777377 +391,2019-01-17 06:00:00+00:00,0.32676363086283433 +392,2019-01-17 07:00:00+00:00,0.4437189949053406 +393,2019-01-17 08:00:00+00:00,0.5477810860514652 +394,2019-01-17 09:00:00+00:00,0.44714664351575395 +395,2019-01-17 10:00:00+00:00,0.44783226768230844 +396,2019-01-17 11:00:00+00:00,0.5760894930975268 +397,2019-01-17 12:00:00+00:00,0.5241599577361352 +398,2019-01-17 13:00:00+00:00,0.3069728580340139 +399,2019-01-17 14:00:00+00:00,0.44258298358309345 +400,2019-01-17 15:00:00+00:00,0.4692656108187655 +401,2019-01-17 16:00:00+00:00,0.45321938654942046 +402,2019-01-17 17:00:00+00:00,0.475582619887516 +403,2019-01-17 18:00:00+00:00,0.46277127983918354 +404,2019-01-17 19:00:00+00:00,0.4213193444483935 +405,2019-01-17 20:00:00+00:00,0.3499732494532528 +406,2019-01-17 21:00:00+00:00,0.224880192249666 +407,2019-01-17 22:00:00+00:00,0.10814133526420072 +408,2019-01-17 23:00:00+00:00,0.04805015367607575 +409,2019-01-18 00:00:00+00:00,0.02076193297451519 +410,2019-01-18 01:00:00+00:00,0.007659666182695497 +411,2019-01-18 02:00:00+00:00,0.006027165016151345 +412,2019-01-18 03:00:00+00:00,0.012938599353867021 +413,2019-01-18 04:00:00+00:00,0.05282281797981395 +414,2019-01-18 05:00:00+00:00,0.224891422454319 +415,2019-01-18 06:00:00+00:00,0.4637163576303525 +416,2019-01-18 07:00:00+00:00,0.6102800196493261 +417,2019-01-18 08:00:00+00:00,0.7059497687610937 +418,2019-01-18 09:00:00+00:00,0.45185137504889816 +419,2019-01-18 10:00:00+00:00,0.4655516779540132 +420,2019-01-18 11:00:00+00:00,0.6170862204847031 +421,2019-01-18 12:00:00+00:00,0.5434687740486963 +422,2019-01-18 13:00:00+00:00,0.4257421469128279 +423,2019-01-18 14:00:00+00:00,0.49063513573763784 +424,2019-01-18 15:00:00+00:00,0.5121561832538384 +425,2019-01-18 16:00:00+00:00,0.4916554294915033 +426,2019-01-18 17:00:00+00:00,0.5270814006672799 +427,2019-01-18 18:00:00+00:00,0.5120616617973168 +428,2019-01-18 19:00:00+00:00,0.47013743590520013 +429,2019-01-18 20:00:00+00:00,0.39174298353768205 +430,2019-01-18 21:00:00+00:00,0.2539861110988171 +431,2019-01-18 22:00:00+00:00,0.12066141750709432 +432,2019-01-18 23:00:00+00:00,0.05405307044706624 +433,2019-01-19 00:00:00+00:00,0.02330414046913049 +434,2019-01-19 01:00:00+00:00,0.01065874164442173 +435,2019-01-19 02:00:00+00:00,0.009784186972341638 +436,2019-01-19 03:00:00+00:00,0.020690288487407938 +437,2019-01-19 04:00:00+00:00,0.06990680074168369 +438,2019-01-19 05:00:00+00:00,0.271322634260733 +439,2019-01-19 06:00:00+00:00,0.5324930009123837 +440,2019-01-19 07:00:00+00:00,0.6880320449155888 +441,2019-01-19 08:00:00+00:00,0.7872186166119153 +442,2019-01-19 09:00:00+00:00,0.47755918929701585 +443,2019-01-19 10:00:00+00:00,0.42574593627850943 +444,2019-01-19 11:00:00+00:00,0.6685136652210889 +445,2019-01-19 12:00:00+00:00,0.591674014718841 +446,2019-01-19 13:00:00+00:00,0.4692139411059384 +447,2019-01-19 14:00:00+00:00,0.5325063647926319 +448,2019-01-19 15:00:00+00:00,0.5530393327497715 +449,2019-01-19 16:00:00+00:00,0.5365096288601406 +450,2019-01-19 17:00:00+00:00,0.5660096842260738 +451,2019-01-19 18:00:00+00:00,0.5473332321602308 +452,2019-01-19 19:00:00+00:00,0.5054695997143422 +453,2019-01-19 20:00:00+00:00,0.41908721145884154 +454,2019-01-19 21:00:00+00:00,0.27327110442218483 +455,2019-01-19 22:00:00+00:00,0.13133948866197676 +456,2019-01-19 23:00:00+00:00,0.059409448965821406 +457,2019-01-20 00:00:00+00:00,0.02767912278733947 +458,2019-01-20 01:00:00+00:00,0.01617491799158038 +459,2019-01-20 02:00:00+00:00,0.01840637688983172 +460,2019-01-20 03:00:00+00:00,0.033685953388416914 +461,2019-01-20 04:00:00+00:00,0.0990311774195132 +462,2019-01-20 05:00:00+00:00,0.3296351727114661 +463,2019-01-20 06:00:00+00:00,0.6273686164005493 +464,2019-01-20 07:00:00+00:00,0.7905369823754413 +465,2019-01-20 08:00:00+00:00,0.8577940463754391 +466,2019-01-20 09:00:00+00:00,0.5086777238074808 +467,2019-01-20 10:00:00+00:00,0.4359948065609004 +468,2019-01-20 11:00:00+00:00,0.6215660845417468 +469,2019-01-20 12:00:00+00:00,0.465845429885916 +470,2019-01-20 13:00:00+00:00,0.3115681248458688 +471,2019-01-20 14:00:00+00:00,0.5157491456959176 +472,2019-01-20 15:00:00+00:00,0.5841464639736503 +473,2019-01-20 16:00:00+00:00,0.5711135793709168 +474,2019-01-20 17:00:00+00:00,0.6065762297376639 +475,2019-01-20 18:00:00+00:00,0.5823475534620327 +476,2019-01-20 19:00:00+00:00,0.5388126875633102 +477,2019-01-20 20:00:00+00:00,0.45381409744234974 +478,2019-01-20 21:00:00+00:00,0.2987398301580349 +479,2019-01-20 22:00:00+00:00,0.14340347097600836 +480,2019-01-20 23:00:00+00:00,0.06663073787008736 +481,2019-01-21 00:00:00+00:00,0.034125531327533494 +482,2019-01-21 01:00:00+00:00,0.02553461809580122 +483,2019-01-21 02:00:00+00:00,0.030386865686416176 +484,2019-01-21 03:00:00+00:00,0.05352282595622482 +485,2019-01-21 04:00:00+00:00,0.13278356482670822 +486,2019-01-21 05:00:00+00:00,0.3998971842702556 +487,2019-01-21 06:00:00+00:00,0.7233353992232301 +488,2019-01-21 07:00:00+00:00,0.8854704084077545 +489,2019-01-21 08:00:00+00:00,0.9496650853897176 +490,2019-01-21 09:00:00+00:00,0.5770247845004187 +491,2019-01-21 10:00:00+00:00,0.6124637926223205 +492,2019-01-21 11:00:00+00:00,0.7239304846877973 +493,2019-01-21 12:00:00+00:00,0.6197175190322272 +494,2019-01-21 13:00:00+00:00,0.5161787101818059 +495,2019-01-21 14:00:00+00:00,0.5817904320673486 +496,2019-01-21 15:00:00+00:00,0.6030942749303472 +497,2019-01-21 16:00:00+00:00,0.5870426314752136 +498,2019-01-21 17:00:00+00:00,0.613616901398663 +499,2019-01-21 18:00:00+00:00,0.5920535804336245 +500,2019-01-21 19:00:00+00:00,0.5441962086973308 +501,2019-01-21 20:00:00+00:00,0.447324150040742 +502,2019-01-21 21:00:00+00:00,0.2906766124118632 +503,2019-01-21 22:00:00+00:00,0.14015114546528495 +504,2019-01-21 23:00:00+00:00,0.06512250136210442 +505,2019-01-22 00:00:00+00:00,0.03312495847215436 +506,2019-01-22 01:00:00+00:00,0.024569829741805757 +507,2019-01-22 02:00:00+00:00,0.028080459370248147 +508,2019-01-22 03:00:00+00:00,0.0492431616957554 +509,2019-01-22 04:00:00+00:00,0.12415771250576405 +510,2019-01-22 05:00:00+00:00,0.3763926763748068 +511,2019-01-22 06:00:00+00:00,0.6860696473342446 +512,2019-01-22 07:00:00+00:00,0.8425541866023273 +513,2019-01-22 08:00:00+00:00,0.9444533137329602 +514,2019-01-22 09:00:00+00:00,0.7217108943782513 +515,2019-01-22 10:00:00+00:00,0.6644846940833851 +516,2019-01-22 11:00:00+00:00,0.7836984703765042 +517,2019-01-22 12:00:00+00:00,0.6898190284119887 +518,2019-01-22 13:00:00+00:00,0.566927819911145 +519,2019-01-22 14:00:00+00:00,0.6296697613806089 +520,2019-01-22 15:00:00+00:00,0.6426875695829141 +521,2019-01-22 16:00:00+00:00,0.6166687221738207 +522,2019-01-22 17:00:00+00:00,0.6386362025915464 +523,2019-01-22 18:00:00+00:00,0.6123396396869693 +524,2019-01-22 19:00:00+00:00,0.5598261732144941 +525,2019-01-22 20:00:00+00:00,0.46249600406898145 +526,2019-01-22 21:00:00+00:00,0.29918501907530926 +527,2019-01-22 22:00:00+00:00,0.1426381253890109 +528,2019-01-22 23:00:00+00:00,0.065986541267749 +529,2019-01-23 00:00:00+00:00,0.033712001082277065 +530,2019-01-23 01:00:00+00:00,0.02580193511486126 +531,2019-01-23 02:00:00+00:00,0.028437321073048735 +532,2019-01-23 03:00:00+00:00,0.049292500645092996 +533,2019-01-23 04:00:00+00:00,0.12467793049394693 +534,2019-01-23 05:00:00+00:00,0.3768883672922659 +535,2019-01-23 06:00:00+00:00,0.6905396194202095 +536,2019-01-23 07:00:00+00:00,0.8548727410526197 +537,2019-01-23 08:00:00+00:00,0.9535193143745417 +538,2019-01-23 09:00:00+00:00,0.7273961196289589 +539,2019-01-23 10:00:00+00:00,0.6605797674220484 +540,2019-01-23 11:00:00+00:00,0.7802950947031639 +541,2019-01-23 12:00:00+00:00,0.6877055515908511 +542,2019-01-23 13:00:00+00:00,0.5631962500744404 +543,2019-01-23 14:00:00+00:00,0.6268389296719088 +544,2019-01-23 15:00:00+00:00,0.6416088624142045 +545,2019-01-23 16:00:00+00:00,0.6175564121648003 +546,2019-01-23 17:00:00+00:00,0.6420770771851184 +547,2019-01-23 18:00:00+00:00,0.6161664084342646 +548,2019-01-23 19:00:00+00:00,0.5644777768492568 +549,2019-01-23 20:00:00+00:00,0.46841947916210513 +550,2019-01-23 21:00:00+00:00,0.3033955387733324 +551,2019-01-23 22:00:00+00:00,0.14557054495474706 +552,2019-01-23 23:00:00+00:00,0.06769167319382062 +553,2019-01-24 00:00:00+00:00,0.035196323791560326 +554,2019-01-24 01:00:00+00:00,0.028254339273703157 +555,2019-01-24 02:00:00+00:00,0.032155949328011746 +556,2019-01-24 03:00:00+00:00,0.05469172664762714 +557,2019-01-24 04:00:00+00:00,0.13467740036052184 +558,2019-01-24 05:00:00+00:00,0.39531831610905044 +559,2019-01-24 06:00:00+00:00,0.7109746442552601 +560,2019-01-24 07:00:00+00:00,0.8709670963251349 +561,2019-01-24 08:00:00+00:00,0.977967403635592 +562,2019-01-24 09:00:00+00:00,0.7488626178912612 +563,2019-01-24 10:00:00+00:00,0.6787034835624665 +564,2019-01-24 11:00:00+00:00,0.7947894074392443 +565,2019-01-24 12:00:00+00:00,0.6991407206872561 +566,2019-01-24 13:00:00+00:00,0.5512460242906075 +567,2019-01-24 14:00:00+00:00,0.6434616896627875 +568,2019-01-24 15:00:00+00:00,0.6586890052187259 +569,2019-01-24 16:00:00+00:00,0.6343910130097141 +570,2019-01-24 17:00:00+00:00,0.6604686167806241 +571,2019-01-24 18:00:00+00:00,0.6362021065627772 +572,2019-01-24 19:00:00+00:00,0.5813612730583144 +573,2019-01-24 20:00:00+00:00,0.48220953157123086 +574,2019-01-24 21:00:00+00:00,0.3128279990181582 +575,2019-01-24 22:00:00+00:00,0.14947348131843527 +576,2019-01-24 23:00:00+00:00,0.07014563967776624 +577,2019-01-25 00:00:00+00:00,0.03805105110667144 +578,2019-01-25 01:00:00+00:00,0.03196783602369129 +579,2019-01-25 02:00:00+00:00,0.037880239743999955 +580,2019-01-25 03:00:00+00:00,0.06131156140180397 +581,2019-01-25 04:00:00+00:00,0.14645903152000955 +582,2019-01-25 05:00:00+00:00,0.41495071080272966 +583,2019-01-25 06:00:00+00:00,0.7361131101356082 +584,2019-01-25 07:00:00+00:00,0.8947107738304574 +585,2019-01-25 08:00:00+00:00,1.0 +586,2019-01-25 09:00:00+00:00,0.7787757409999149 +587,2019-01-25 10:00:00+00:00,0.680300148004273 +588,2019-01-25 11:00:00+00:00,0.7916217230127607 +589,2019-01-25 12:00:00+00:00,0.6911273123267369 +590,2019-01-25 13:00:00+00:00,0.5626679064211643 +591,2019-01-25 14:00:00+00:00,0.6297881212960795 +592,2019-01-25 15:00:00+00:00,0.6404361671300048 +593,2019-01-25 16:00:00+00:00,0.6138610770281987 +594,2019-01-25 17:00:00+00:00,0.6339049480013533 +595,2019-01-25 18:00:00+00:00,0.6004042659054244 +596,2019-01-25 19:00:00+00:00,0.5404470721540717 +597,2019-01-25 20:00:00+00:00,0.44056618819094073 +598,2019-01-25 21:00:00+00:00,0.2823241705258838 +599,2019-01-25 22:00:00+00:00,0.1321929457765122 +600,2019-01-25 23:00:00+00:00,0.05864972611412501 +601,2019-01-26 00:00:00+00:00,0.02734087284933979 +602,2019-01-26 01:00:00+00:00,0.018074717265691972 +603,2019-01-26 02:00:00+00:00,0.018927242841777662 +604,2019-01-26 03:00:00+00:00,0.032394331666958036 +605,2019-01-26 04:00:00+00:00,0.093717077003731 +606,2019-01-26 05:00:00+00:00,0.3024693280651432 +607,2019-01-26 06:00:00+00:00,0.5734025689424216 +608,2019-01-26 07:00:00+00:00,0.7176564213234842 +609,2019-01-26 08:00:00+00:00,0.8148026478453743 +610,2019-01-26 09:00:00+00:00,0.6100899981278637 +611,2019-01-26 10:00:00+00:00,0.5642135072290728 +612,2019-01-26 11:00:00+00:00,0.6969949519575019 +613,2019-01-26 12:00:00+00:00,0.5999959200550886 +614,2019-01-26 13:00:00+00:00,0.4712752538710033 +615,2019-01-26 14:00:00+00:00,0.5398841345328331 +616,2019-01-26 15:00:00+00:00,0.5540342891099305 +617,2019-01-26 16:00:00+00:00,0.531648928738328 +618,2019-01-26 17:00:00+00:00,0.5525763709239362 +619,2019-01-26 18:00:00+00:00,0.5306825576816904 +620,2019-01-26 19:00:00+00:00,0.4802011201085905 +621,2019-01-26 20:00:00+00:00,0.3951162000426513 +622,2019-01-26 21:00:00+00:00,0.2542307286578267 +623,2019-01-26 22:00:00+00:00,0.1202328080142038 +624,2019-01-26 23:00:00+00:00,0.0528690975049897 +625,2019-01-27 00:00:00+00:00,0.02256514355778911 +626,2019-01-27 01:00:00+00:00,0.01002594681972859 +627,2019-01-27 02:00:00+00:00,0.010125288435138833 +628,2019-01-27 03:00:00+00:00,0.018645868968642808 +629,2019-01-27 04:00:00+00:00,0.06594095057405329 +630,2019-01-27 05:00:00+00:00,0.24650530499034978 +631,2019-01-27 06:00:00+00:00,0.4890857139147634 +632,2019-01-27 07:00:00+00:00,0.6273031470276135 +633,2019-01-27 08:00:00+00:00,0.7301379604154694 +634,2019-01-27 09:00:00+00:00,0.5510505063924866 +635,2019-01-27 10:00:00+00:00,0.522942346700644 +636,2019-01-27 11:00:00+00:00,0.6588429776318628 +637,2019-01-27 12:00:00+00:00,0.5758365641031097 +638,2019-01-27 13:00:00+00:00,0.4391079466414954 +639,2019-01-27 14:00:00+00:00,0.514682654123383 +640,2019-01-27 15:00:00+00:00,0.5383080014321001 +641,2019-01-27 16:00:00+00:00,0.5118511665495099 +642,2019-01-27 17:00:00+00:00,0.5346443957445076 +643,2019-01-27 18:00:00+00:00,0.5109195301087939 +644,2019-01-27 19:00:00+00:00,0.4666180895789495 +645,2019-01-27 20:00:00+00:00,0.386091813064014 +646,2019-01-27 21:00:00+00:00,0.2514845194228085 +647,2019-01-27 22:00:00+00:00,0.11870645971793443 +648,2019-01-27 23:00:00+00:00,0.052165110023926 +649,2019-01-28 00:00:00+00:00,0.0218292387202302 +650,2019-01-28 01:00:00+00:00,0.00924522127894788 +651,2019-01-28 02:00:00+00:00,0.008216483613357372 +652,2019-01-28 03:00:00+00:00,0.01667080541206719 +653,2019-01-28 04:00:00+00:00,0.06028557486760008 +654,2019-01-28 05:00:00+00:00,0.23892606836973498 +655,2019-01-28 06:00:00+00:00,0.478386773025843 +656,2019-01-28 07:00:00+00:00,0.6157247273459653 +657,2019-01-28 08:00:00+00:00,0.7213669535582383 +658,2019-01-28 09:00:00+00:00,0.542787858987551 +659,2019-01-28 10:00:00+00:00,0.5141272671510223 +660,2019-01-28 11:00:00+00:00,0.643400290172362 +661,2019-01-28 12:00:00+00:00,0.5521260685126801 +662,2019-01-28 13:00:00+00:00,0.37430068467873245 +663,2019-01-28 14:00:00+00:00,0.5062312142597174 +664,2019-01-28 15:00:00+00:00,0.521605519246334 +665,2019-01-28 16:00:00+00:00,0.5122849332417698 +666,2019-01-28 17:00:00+00:00,0.5351378906177956 +667,2019-01-28 18:00:00+00:00,0.5203010555837136 +668,2019-01-28 19:00:00+00:00,0.46929850434642323 +669,2019-01-28 20:00:00+00:00,0.3910147447645633 +670,2019-01-28 21:00:00+00:00,0.25587564382173733 +671,2019-01-28 22:00:00+00:00,0.1217827441357262 +672,2019-01-28 23:00:00+00:00,0.0540082393910897 +673,2019-01-29 00:00:00+00:00,0.02272665173955573 +674,2019-01-29 01:00:00+00:00,0.01021159759743367 +675,2019-01-29 02:00:00+00:00,0.009558222863675872 +676,2019-01-29 03:00:00+00:00,0.019970197939489488 +677,2019-01-29 04:00:00+00:00,0.06911855242855107 +678,2019-01-29 05:00:00+00:00,0.2640185367388377 +679,2019-01-29 06:00:00+00:00,0.5198598287463755 +680,2019-01-29 07:00:00+00:00,0.6642698077254827 +681,2019-01-29 08:00:00+00:00,0.7686660803228936 +682,2019-01-29 09:00:00+00:00,0.5728050616047852 +683,2019-01-29 10:00:00+00:00,0.5398858814251825 +684,2019-01-29 11:00:00+00:00,0.6665273839755999 +685,2019-01-29 12:00:00+00:00,0.5734756758316872 +686,2019-01-29 13:00:00+00:00,0.4411462278735987 +687,2019-01-29 14:00:00+00:00,0.5204822102664302 +688,2019-01-29 15:00:00+00:00,0.5416451565324848 +689,2019-01-29 16:00:00+00:00,0.5285908652350435 +690,2019-01-29 17:00:00+00:00,0.5559446097390663 +691,2019-01-29 18:00:00+00:00,0.5326102518503809 +692,2019-01-29 19:00:00+00:00,0.48708529419149266 +693,2019-01-29 20:00:00+00:00,0.40201926028386514 +694,2019-01-29 21:00:00+00:00,0.2620767147292493 +695,2019-01-29 22:00:00+00:00,0.12494299172222104 +696,2019-01-29 23:00:00+00:00,0.05578804072943374 +697,2019-01-30 00:00:00+00:00,0.024336692159309534 +698,2019-01-30 01:00:00+00:00,0.011837599106826847 +699,2019-01-30 02:00:00+00:00,0.011846742566885983 +700,2019-01-30 03:00:00+00:00,0.02339269061943657 +701,2019-01-30 04:00:00+00:00,0.07754465715391755 +702,2019-01-30 05:00:00+00:00,0.28263517033551144 +703,2019-01-30 06:00:00+00:00,0.5497072235951179 +704,2019-01-30 07:00:00+00:00,0.7005815174443676 +705,2019-01-30 08:00:00+00:00,0.8033382933498294 +706,2019-01-30 09:00:00+00:00,0.5924989401833396 +707,2019-01-30 10:00:00+00:00,0.5525532489225898 +708,2019-01-30 11:00:00+00:00,0.6869060328789761 +709,2019-01-30 12:00:00+00:00,0.593383363657152 +710,2019-01-30 13:00:00+00:00,0.4597287902074502 +711,2019-01-30 14:00:00+00:00,0.5431881158433823 +712,2019-01-30 15:00:00+00:00,0.5624206580246071 +713,2019-01-30 16:00:00+00:00,0.5485340829317258 +714,2019-01-30 17:00:00+00:00,0.5731272592045498 +715,2019-01-30 18:00:00+00:00,0.549947077833641 +716,2019-01-30 19:00:00+00:00,0.5031492387498597 +717,2019-01-30 20:00:00+00:00,0.4155775114406035 +718,2019-01-30 21:00:00+00:00,0.26849825482312706 +719,2019-01-30 22:00:00+00:00,0.1270718724998679 +720,2019-01-30 23:00:00+00:00,0.05724664507605 +721,2019-01-31 00:00:00+00:00,0.02548139562774899 +722,2019-01-31 01:00:00+00:00,0.013423152457167563 +723,2019-01-31 02:00:00+00:00,0.014483728827034274 +724,2019-01-31 03:00:00+00:00,0.026980773944137542 +725,2019-01-31 04:00:00+00:00,0.0858164641119075 +726,2019-01-31 05:00:00+00:00,0.30171015988614464 +727,2019-01-31 06:00:00+00:00,0.5850454430742525 +728,2019-01-31 07:00:00+00:00,0.7371458253619023 +729,2019-01-31 08:00:00+00:00,0.8425098533903579 +730,2019-01-31 09:00:00+00:00,0.6513852747666216 +731,2019-01-31 10:00:00+00:00,0.616784028393735 +732,2019-01-31 11:00:00+00:00,0.7389355568761645 +733,2019-01-31 12:00:00+00:00,0.6301748123963273 +734,2019-01-31 13:00:00+00:00,0.4966509886837126 +735,2019-01-31 14:00:00+00:00,0.5819675359266389 +736,2019-01-31 15:00:00+00:00,0.5988159696317109 +737,2019-01-31 16:00:00+00:00,0.5823171758671247 +738,2019-01-31 17:00:00+00:00,0.6071863108993082 +739,2019-01-31 18:00:00+00:00,0.5791093652651893 +740,2019-01-31 19:00:00+00:00,0.5308898301308483 +741,2019-01-31 20:00:00+00:00,0.43853412279832205 +742,2019-01-31 21:00:00+00:00,0.28251110549365327 +743,2019-01-31 22:00:00+00:00,0.1349529511637654 +744,2019-01-31 23:00:00+00:00,0.060864611579540664 +745,2019-02-01 00:00:00+00:00,0.02872314890573523 +746,2019-02-01 01:00:00+00:00,0.017858143807025596 +747,2019-02-01 02:00:00+00:00,0.019895673151197047 +748,2019-02-01 03:00:00+00:00,0.0355639980460189 +749,2019-02-01 04:00:00+00:00,0.10092122462145492 +750,2019-02-01 05:00:00+00:00,0.32885998024939955 +751,2019-02-01 06:00:00+00:00,0.6208180229910074 +752,2019-02-01 07:00:00+00:00,0.7694492005034053 +753,2019-02-01 08:00:00+00:00,0.8700090795045432 +754,2019-02-01 09:00:00+00:00,0.6452414079705634 +755,2019-02-01 10:00:00+00:00,0.5973032932369211 +756,2019-02-01 11:00:00+00:00,0.7268416580043091 +757,2019-02-01 12:00:00+00:00,0.6263332468139989 +758,2019-02-01 13:00:00+00:00,0.49232519493031374 +759,2019-02-01 14:00:00+00:00,0.5693044130952508 +760,2019-02-01 15:00:00+00:00,0.5834917804746473 +761,2019-02-01 16:00:00+00:00,0.5696847361201212 +762,2019-02-01 17:00:00+00:00,0.59277579856164 +763,2019-02-01 18:00:00+00:00,0.5675829503441814 +764,2019-02-01 19:00:00+00:00,0.5180960988670111 +765,2019-02-01 20:00:00+00:00,0.4259841888095627 +766,2019-02-01 21:00:00+00:00,0.27615228089105825 +767,2019-02-01 22:00:00+00:00,0.13100747043946837 +768,2019-02-01 23:00:00+00:00,0.058620938010238155 +769,2019-02-02 00:00:00+00:00,0.027222231153740523 +770,2019-02-02 01:00:00+00:00,0.016248812101152955 +771,2019-02-02 02:00:00+00:00,0.01791919228511154 +772,2019-02-02 03:00:00+00:00,0.03177651173216135 +773,2019-02-02 04:00:00+00:00,0.09357626849035672 +774,2019-02-02 05:00:00+00:00,0.31036284227593386 +775,2019-02-02 06:00:00+00:00,0.592037370276037 +776,2019-02-02 07:00:00+00:00,0.7383127374252321 +777,2019-02-02 08:00:00+00:00,0.657630530968692 +778,2019-02-02 09:00:00+00:00,0.6048678703058932 +779,2019-02-02 10:00:00+00:00,0.575711172176126 +780,2019-02-02 11:00:00+00:00,0.7122000770538988 +781,2019-02-02 12:00:00+00:00,0.6126001122091748 +782,2019-02-02 13:00:00+00:00,0.4796372849650172 +783,2019-02-02 14:00:00+00:00,0.355475678721266 +784,2019-02-02 15:00:00+00:00,0.5749589139266446 +785,2019-02-02 16:00:00+00:00,0.5596489636635916 +786,2019-02-02 17:00:00+00:00,0.5854470395346251 +787,2019-02-02 18:00:00+00:00,0.5631834210880248 +788,2019-02-02 19:00:00+00:00,0.5140884680401472 +789,2019-02-02 20:00:00+00:00,0.4295439777241164 +790,2019-02-02 21:00:00+00:00,0.27663983013021703 +791,2019-02-02 22:00:00+00:00,0.13030120061546346 +792,2019-02-02 23:00:00+00:00,0.05995418976321904 +793,2019-02-03 00:00:00+00:00,0.028069782762238576 +794,2019-02-03 01:00:00+00:00,0.016583370425624945 +795,2019-02-03 02:00:00+00:00,0.01845269945331819 +796,2019-02-03 03:00:00+00:00,0.033267584556776225 +797,2019-02-03 04:00:00+00:00,0.09818850085375004 +798,2019-02-03 05:00:00+00:00,0.3230442072096474 +799,2019-02-03 06:00:00+00:00,0.6203103996886781 +800,2019-02-03 07:00:00+00:00,0.761987813177487 +801,2019-02-03 08:00:00+00:00,0.5353182322718307 +802,2019-02-03 09:00:00+00:00,0.42565480041969606 +803,2019-02-03 10:00:00+00:00,0.3674248817785482 +804,2019-02-03 11:00:00+00:00,0.5353034700551595 +805,2019-02-03 12:00:00+00:00,0.4264409960995851 +806,2019-02-03 13:00:00+00:00,0.25166186928952566 +807,2019-02-03 14:00:00+00:00,0.23616715087916548 +808,2019-02-03 15:00:00+00:00,0.5066124661444021 +809,2019-02-03 16:00:00+00:00,0.5506215195612616 +810,2019-02-03 17:00:00+00:00,0.5871349945301297 +811,2019-02-03 18:00:00+00:00,0.5719895361737064 +812,2019-02-03 19:00:00+00:00,0.5215348723858453 +813,2019-02-03 20:00:00+00:00,0.4298265874578427 +814,2019-02-03 21:00:00+00:00,0.2745337336567338 +815,2019-02-03 22:00:00+00:00,0.13078010420136574 +816,2019-02-03 23:00:00+00:00,0.058605060752234234 +817,2019-02-04 00:00:00+00:00,0.027183603420563356 +818,2019-02-04 01:00:00+00:00,0.015883375511525223 +819,2019-02-04 02:00:00+00:00,0.017543125968227782 +820,2019-02-04 03:00:00+00:00,0.031244003717476067 +821,2019-02-04 04:00:00+00:00,0.09336101856821015 +822,2019-02-04 05:00:00+00:00,0.31178824460821664 +823,2019-02-04 06:00:00+00:00,0.5940131423017126 +824,2019-02-04 07:00:00+00:00,0.736182121056999 +825,2019-02-04 08:00:00+00:00,0.6445084569196111 +826,2019-02-04 09:00:00+00:00,0.5879065299310258 +827,2019-02-04 10:00:00+00:00,0.557125706592305 +828,2019-02-04 11:00:00+00:00,0.6899979616432484 +829,2019-02-04 12:00:00+00:00,0.6029773693270694 +830,2019-02-04 13:00:00+00:00,0.4648354562393245 +831,2019-02-04 14:00:00+00:00,0.33777309855088705 +832,2019-02-04 15:00:00+00:00,0.5656975394047008 +833,2019-02-04 16:00:00+00:00,0.5545895181667406 +834,2019-02-04 17:00:00+00:00,0.5776227480313115 +835,2019-02-04 18:00:00+00:00,0.5521320269495512 +836,2019-02-04 19:00:00+00:00,0.5024306881791009 +837,2019-02-04 20:00:00+00:00,0.41370582671759765 +838,2019-02-04 21:00:00+00:00,0.26705163860048536 +839,2019-02-04 22:00:00+00:00,0.12604174792784648 +840,2019-02-04 23:00:00+00:00,0.05607277377642046 +841,2019-02-05 00:00:00+00:00,0.025045381728306833 +842,2019-02-05 01:00:00+00:00,0.01294567787703321 +843,2019-02-05 02:00:00+00:00,0.013781152163081236 +844,2019-02-05 03:00:00+00:00,0.02433230668350811 +845,2019-02-05 04:00:00+00:00,0.07950066620061995 +846,2019-02-05 05:00:00+00:00,0.28039113174141894 +847,2019-02-05 06:00:00+00:00,0.5431553893482954 +848,2019-02-05 07:00:00+00:00,0.6821659895673015 +849,2019-02-05 08:00:00+00:00,0.588550383280637 +850,2019-02-05 09:00:00+00:00,0.5504098961288577 +851,2019-02-05 10:00:00+00:00,0.5327813536386066 +852,2019-02-05 11:00:00+00:00,0.6690784640322723 +853,2019-02-05 12:00:00+00:00,0.573046044591531 +854,2019-02-05 13:00:00+00:00,0.4314359608917579 +855,2019-02-05 14:00:00+00:00,0.302980194074727 +856,2019-02-05 15:00:00+00:00,0.5322950444321053 +857,2019-02-05 16:00:00+00:00,0.5228974821430928 +858,2019-02-05 17:00:00+00:00,0.5447908597040373 +859,2019-02-05 18:00:00+00:00,0.5212602092358171 +860,2019-02-05 19:00:00+00:00,0.48044561607747405 +861,2019-02-05 20:00:00+00:00,0.39776247274768123 +862,2019-02-05 21:00:00+00:00,0.25735943118938326 +863,2019-02-05 22:00:00+00:00,0.12283104003689913 +864,2019-02-05 23:00:00+00:00,0.05478413650119851 +865,2019-02-06 00:00:00+00:00,0.023616621852090007 +866,2019-02-06 01:00:00+00:00,0.011012531252501132 +867,2019-02-06 02:00:00+00:00,0.010876470324816803 +868,2019-02-06 03:00:00+00:00,0.021107466725181986 +869,2019-02-06 04:00:00+00:00,0.07149563896354927 +870,2019-02-06 05:00:00+00:00,0.2644181165071065 +871,2019-02-06 06:00:00+00:00,0.5182771741438943 +872,2019-02-06 07:00:00+00:00,0.6561921710276606 +873,2019-02-06 08:00:00+00:00,0.5607622460694576 +874,2019-02-06 09:00:00+00:00,0.5256285379769785 +875,2019-02-06 10:00:00+00:00,0.5087114654819862 +876,2019-02-06 11:00:00+00:00,0.6462341448590244 +877,2019-02-06 12:00:00+00:00,0.5501919475815517 +878,2019-02-06 13:00:00+00:00,0.4049454708328437 +879,2019-02-06 14:00:00+00:00,0.27468911169425136 +880,2019-02-06 15:00:00+00:00,0.5054108233422578 +881,2019-02-06 16:00:00+00:00,0.4982210210736021 +882,2019-02-06 17:00:00+00:00,0.5206685132826069 +883,2019-02-06 18:00:00+00:00,0.4963869984005759 +884,2019-02-06 19:00:00+00:00,0.45028480611160565 +885,2019-02-06 20:00:00+00:00,0.36935748631531995 +886,2019-02-06 21:00:00+00:00,0.23776065791087966 +887,2019-02-06 22:00:00+00:00,0.11205627204587675 +888,2019-02-06 23:00:00+00:00,0.048996210425592907 +889,2019-02-07 00:00:00+00:00,0.020733733996765178 +890,2019-02-07 01:00:00+00:00,0.00798496899489918 +891,2019-02-07 02:00:00+00:00,0.00611275158807886 +892,2019-02-07 03:00:00+00:00,0.01222372048514979 +893,2019-02-07 04:00:00+00:00,0.04998489167317173 +894,2019-02-07 05:00:00+00:00,0.204573791530217 +895,2019-02-07 06:00:00+00:00,0.4191569631764714 +896,2019-02-07 07:00:00+00:00,0.5339583914780385 +897,2019-02-07 08:00:00+00:00,0.44169494012378985 +898,2019-02-07 09:00:00+00:00,0.4326039614873879 +899,2019-02-07 10:00:00+00:00,0.4318799990745411 +900,2019-02-07 11:00:00+00:00,0.5814896340286411 +901,2019-02-07 12:00:00+00:00,0.4673496009673464 +902,2019-02-07 13:00:00+00:00,0.2914444710082523 +903,2019-02-07 14:00:00+00:00,0.1096258834958816 +904,2019-02-07 15:00:00+00:00,0.37040409381206674 +905,2019-02-07 16:00:00+00:00,0.4492869119201537 +906,2019-02-07 17:00:00+00:00,0.4812390507265805 +907,2019-02-07 18:00:00+00:00,0.46192011054475274 +908,2019-02-07 19:00:00+00:00,0.42135115607495155 +909,2019-02-07 20:00:00+00:00,0.3480585779856121 +910,2019-02-07 21:00:00+00:00,0.22567451253652585 +911,2019-02-07 22:00:00+00:00,0.10620615413003921 +912,2019-02-07 23:00:00+00:00,0.04601421508969759 +913,2019-02-08 00:00:00+00:00,0.019336394376499064 +914,2019-02-08 01:00:00+00:00,0.006891655682897682 +915,2019-02-08 02:00:00+00:00,0.004757641410016443 +916,2019-02-08 03:00:00+00:00,0.009023183104133895 +917,2019-02-08 04:00:00+00:00,0.04291214383270832 +918,2019-02-08 05:00:00+00:00,0.18657963293359658 +919,2019-02-08 06:00:00+00:00,0.3888646732635305 +920,2019-02-08 07:00:00+00:00,0.49719821401868164 +921,2019-02-08 08:00:00+00:00,0.4039912682403258 +922,2019-02-08 09:00:00+00:00,0.40444727956621657 +923,2019-02-08 10:00:00+00:00,0.40351265593646013 +924,2019-02-08 11:00:00+00:00,0.5571105097568062 +925,2019-02-08 12:00:00+00:00,0.4670114575459421 +926,2019-02-08 13:00:00+00:00,0.3181016316723195 +927,2019-02-08 14:00:00+00:00,0.19106802731822278 +928,2019-02-08 15:00:00+00:00,0.4084036519248912 +929,2019-02-08 16:00:00+00:00,0.42108238420311667 +930,2019-02-08 17:00:00+00:00,0.442231694982465 +931,2019-02-08 18:00:00+00:00,0.42521737815837846 +932,2019-02-08 19:00:00+00:00,0.3884192948023989 +933,2019-02-08 20:00:00+00:00,0.31861308417167283 +934,2019-02-08 21:00:00+00:00,0.20492060390435574 +935,2019-02-08 22:00:00+00:00,0.0963337439183202 +936,2019-02-08 23:00:00+00:00,0.04100752461049685 +937,2019-02-09 00:00:00+00:00,0.016942781384984805 +938,2019-02-09 01:00:00+00:00,0.00578120954459771 +939,2019-02-09 02:00:00+00:00,0.0032967989052730307 +940,2019-02-09 03:00:00+00:00,0.005292965131237048 +941,2019-02-09 04:00:00+00:00,0.029574195351319173 +942,2019-02-09 05:00:00+00:00,0.14512376066598726 +943,2019-02-09 06:00:00+00:00,0.3154556677741039 +944,2019-02-09 07:00:00+00:00,0.4059865548150184 +945,2019-02-09 08:00:00+00:00,0.32094687154460316 +946,2019-02-09 09:00:00+00:00,0.33290826330177575 +947,2019-02-09 10:00:00+00:00,0.34616590029261785 +948,2019-02-09 11:00:00+00:00,0.47235841013963736 +949,2019-02-09 12:00:00+00:00,0.3908352121689254 +950,2019-02-09 13:00:00+00:00,0.23297534000006395 +951,2019-02-09 14:00:00+00:00,0.1472987520413358 +952,2019-02-09 15:00:00+00:00,0.36637850704778463 +953,2019-02-09 16:00:00+00:00,0.3958759124540505 +954,2019-02-09 17:00:00+00:00,0.424495026879236 +955,2019-02-09 18:00:00+00:00,0.40391161551581817 +956,2019-02-09 19:00:00+00:00,0.3685731564507671 +957,2019-02-09 20:00:00+00:00,0.30123517635817043 +958,2019-02-09 21:00:00+00:00,0.19386665215084464 +959,2019-02-09 22:00:00+00:00,0.09171388681278636 +960,2019-02-09 23:00:00+00:00,0.039454762386827165 +961,2019-02-10 00:00:00+00:00,0.016034253476960438 +962,2019-02-10 01:00:00+00:00,0.005362509694376679 +963,2019-02-10 02:00:00+00:00,0.0030196400611483378 +964,2019-02-10 03:00:00+00:00,0.00459368164350173 +965,2019-02-10 04:00:00+00:00,0.025682011962284895 +966,2019-02-10 05:00:00+00:00,0.13343071185115374 +967,2019-02-10 06:00:00+00:00,0.28911655546193477 +968,2019-02-10 07:00:00+00:00,0.3721647455946022 +969,2019-02-10 08:00:00+00:00,0.30174015642558777 +970,2019-02-10 09:00:00+00:00,0.3263468679011796 +971,2019-02-10 10:00:00+00:00,0.3427949012221303 +972,2019-02-10 11:00:00+00:00,0.48538752760822895 +973,2019-02-10 12:00:00+00:00,0.43075974336052525 +974,2019-02-10 13:00:00+00:00,0.27754185720310237 +975,2019-02-10 14:00:00+00:00,0.1649786678530871 +976,2019-02-10 15:00:00+00:00,0.3861137436794902 +977,2019-02-10 16:00:00+00:00,0.41314153247256213 +978,2019-02-10 17:00:00+00:00,0.44459581074793314 +979,2019-02-10 18:00:00+00:00,0.4301292080864223 +980,2019-02-10 19:00:00+00:00,0.3911218281137621 +981,2019-02-10 20:00:00+00:00,0.31916591926483007 +982,2019-02-10 21:00:00+00:00,0.2063512278705284 +983,2019-02-10 22:00:00+00:00,0.09728644721113354 +984,2019-02-10 23:00:00+00:00,0.042066799659166 +985,2019-02-11 00:00:00+00:00,0.017291374884649307 +986,2019-02-11 01:00:00+00:00,0.005868638656706613 +987,2019-02-11 02:00:00+00:00,0.003324896083423005 +988,2019-02-11 03:00:00+00:00,0.0056469058537011695 +989,2019-02-11 04:00:00+00:00,0.030620731984077516 +990,2019-02-11 05:00:00+00:00,0.15227713599006118 +991,2019-02-11 06:00:00+00:00,0.32595797899027434 +992,2019-02-11 07:00:00+00:00,0.4082716767215314 +993,2019-02-11 08:00:00+00:00,0.30939102701632043 +994,2019-02-11 09:00:00+00:00,0.3306558320147908 +995,2019-02-11 10:00:00+00:00,0.33141536200807453 +996,2019-02-11 11:00:00+00:00,0.43598539509245116 +997,2019-02-11 12:00:00+00:00,0.3586656635979183 +998,2019-02-11 13:00:00+00:00,0.18637588363802632 +999,2019-02-11 14:00:00+00:00,0.0806081999176669 +1000,2019-02-11 15:00:00+00:00,0.14624303165736213 +1001,2019-02-11 16:00:00+00:00,0.37882394812005254 +1002,2019-02-11 17:00:00+00:00,0.43432074342766513 +1003,2019-02-11 18:00:00+00:00,0.436929373493766 +1004,2019-02-11 19:00:00+00:00,0.4026814673123365 +1005,2019-02-11 20:00:00+00:00,0.33126363714373286 +1006,2019-02-11 21:00:00+00:00,0.21518599670630378 +1007,2019-02-11 22:00:00+00:00,0.10454484786150298 +1008,2019-02-11 23:00:00+00:00,0.044027722020579335 +1009,2019-02-12 00:00:00+00:00,0.018750920806213687 +1010,2019-02-12 01:00:00+00:00,0.006555122728469218 +1011,2019-02-12 02:00:00+00:00,0.004054279555262358 +1012,2019-02-12 03:00:00+00:00,0.008254396734313435 +1013,2019-02-12 04:00:00+00:00,0.039096190811301924 +1014,2019-02-12 05:00:00+00:00,0.17945558102220618 +1015,2019-02-12 06:00:00+00:00,0.3716434035732537 +1016,2019-02-12 07:00:00+00:00,0.47321927604206 +1017,2019-02-12 08:00:00+00:00,0.3788913444045274 +1018,2019-02-12 09:00:00+00:00,0.38008286090164556 +1019,2019-02-12 10:00:00+00:00,0.3750444111581398 +1020,2019-02-12 11:00:00+00:00,0.5169730700840373 +1021,2019-02-12 12:00:00+00:00,0.4375518711180091 +1022,2019-02-12 13:00:00+00:00,0.2556260624605492 +1023,2019-02-12 14:00:00+00:00,0.1529895264840845 +1024,2019-02-12 15:00:00+00:00,0.37746364963364876 +1025,2019-02-12 16:00:00+00:00,0.41173895897589147 +1026,2019-02-12 17:00:00+00:00,0.4416100053800891 +1027,2019-02-12 18:00:00+00:00,0.4237301720980004 +1028,2019-02-12 19:00:00+00:00,0.38685525292879813 +1029,2019-02-12 20:00:00+00:00,0.32190388542483656 +1030,2019-02-12 21:00:00+00:00,0.2082057341620835 +1031,2019-02-12 22:00:00+00:00,0.09856120942850784 +1032,2019-02-12 23:00:00+00:00,0.042243347661334626 +1033,2019-02-13 00:00:00+00:00,0.017693041261822015 +1034,2019-02-13 01:00:00+00:00,0.006009832518995526 +1035,2019-02-13 02:00:00+00:00,0.003490258633088753 +1036,2019-02-13 03:00:00+00:00,0.006119373505320691 +1037,2019-02-13 04:00:00+00:00,0.032500459469200146 +1038,2019-02-13 05:00:00+00:00,0.15639725280551647 +1039,2019-02-13 06:00:00+00:00,0.3329636985522741 +1040,2019-02-13 07:00:00+00:00,0.4263811849108268 +1041,2019-02-13 08:00:00+00:00,0.3398483569649589 +1042,2019-02-13 09:00:00+00:00,0.3541017953341682 +1043,2019-02-13 10:00:00+00:00,0.3639435913819562 +1044,2019-02-13 11:00:00+00:00,0.5100294097318212 +1045,2019-02-13 12:00:00+00:00,0.4411859919983006 +1046,2019-02-13 13:00:00+00:00,0.27976872730781926 +1047,2019-02-13 14:00:00+00:00,0.14937383411124153 +1048,2019-02-13 15:00:00+00:00,0.3717929704363085 +1049,2019-02-13 16:00:00+00:00,0.40896072721015786 +1050,2019-02-13 17:00:00+00:00,0.44103337504051043 +1051,2019-02-13 18:00:00+00:00,0.4253929387003632 +1052,2019-02-13 19:00:00+00:00,0.3917946443869813 +1053,2019-02-13 20:00:00+00:00,0.32582611000694117 +1054,2019-02-13 21:00:00+00:00,0.21236886533966326 +1055,2019-02-13 22:00:00+00:00,0.101722284692843 +1056,2019-02-13 23:00:00+00:00,0.04544860856087898 +1057,2019-02-14 00:00:00+00:00,0.018805846649924744 +1058,2019-02-14 01:00:00+00:00,0.006688177097401299 +1059,2019-02-14 02:00:00+00:00,0.004212766547200873 +1060,2019-02-14 03:00:00+00:00,0.008440984785760365 +1061,2019-02-14 04:00:00+00:00,0.04083806677671262 +1062,2019-02-14 05:00:00+00:00,0.18587497163304995 +1063,2019-02-14 06:00:00+00:00,0.3903619133454568 +1064,2019-02-14 07:00:00+00:00,0.48082123304911606 +1065,2019-02-14 08:00:00+00:00,0.3634128994815559 +1066,2019-02-14 09:00:00+00:00,0.3633229110524827 +1067,2019-02-14 10:00:00+00:00,0.3585084660566161 +1068,2019-02-14 11:00:00+00:00,0.48543118241096234 +1069,2019-02-14 12:00:00+00:00,0.4192755061064481 +1070,2019-02-14 13:00:00+00:00,0.2586132645894979 +1071,2019-02-14 14:00:00+00:00,0.12819735489811512 +1072,2019-02-14 15:00:00+00:00,0.3391480967098194 +1073,2019-02-14 16:00:00+00:00,0.4091450109076982 +1074,2019-02-14 17:00:00+00:00,0.4594603871996247 +1075,2019-02-14 18:00:00+00:00,0.450580710984819 +1076,2019-02-14 19:00:00+00:00,0.4196195410013822 +1077,2019-02-14 20:00:00+00:00,0.34622499449920735 +1078,2019-02-14 21:00:00+00:00,0.22784358628725787 +1079,2019-02-14 22:00:00+00:00,0.10755571624469293 +1080,2019-02-14 23:00:00+00:00,0.04616231714846461 +1081,2019-02-15 00:00:00+00:00,0.0198433036599814 +1082,2019-02-15 01:00:00+00:00,0.006946281874259548 +1083,2019-02-15 02:00:00+00:00,0.004978574401825971 +1084,2019-02-15 03:00:00+00:00,0.009838408788485494 +1085,2019-02-15 04:00:00+00:00,0.043827740722761244 +1086,2019-02-15 05:00:00+00:00,0.19509397505198475 +1087,2019-02-15 06:00:00+00:00,0.40582482365861205 +1088,2019-02-15 07:00:00+00:00,0.48933809599199923 +1089,2019-02-15 08:00:00+00:00,0.32466115683060875 +1090,2019-02-15 09:00:00+00:00,0.2655489529753243 +1091,2019-02-15 10:00:00+00:00,0.23050556769872718 +1092,2019-02-15 11:00:00+00:00,0.2874274598937829 +1093,2019-02-15 12:00:00+00:00,0.22620527994194548 +1094,2019-02-15 13:00:00+00:00,0.1064091810596246 +1095,2019-02-15 14:00:00+00:00,0.04444384959233003 +1096,2019-02-15 15:00:00+00:00,0.06725893996362431 +1097,2019-02-15 16:00:00+00:00,0.20982589708032048 +1098,2019-02-15 17:00:00+00:00,0.3788337568312346 +1099,2019-02-15 18:00:00+00:00,0.40021725438885997 +1100,2019-02-15 19:00:00+00:00,0.3808499753693676 +1101,2019-02-15 20:00:00+00:00,0.334164892248093 +1102,2019-02-15 21:00:00+00:00,0.21937916938399518 +1103,2019-02-15 22:00:00+00:00,0.10284868553070123 +1104,2019-02-15 23:00:00+00:00,0.04351801074629569 +1105,2019-02-16 00:00:00+00:00,0.019118992840430803 +1106,2019-02-16 01:00:00+00:00,0.006676819679888977 +1107,2019-02-16 02:00:00+00:00,0.004175573805627207 +1108,2019-02-16 03:00:00+00:00,0.007963829455484479 +1109,2019-02-16 04:00:00+00:00,0.039311221774413624 +1110,2019-02-16 05:00:00+00:00,0.18320164893902185 +1111,2019-02-16 06:00:00+00:00,0.3839898153046113 +1112,2019-02-16 07:00:00+00:00,0.48171501445135373 +1113,2019-02-16 08:00:00+00:00,0.346102256484287 +1114,2019-02-16 09:00:00+00:00,0.34148979252687367 +1115,2019-02-16 10:00:00+00:00,0.3322230042621046 +1116,2019-02-16 11:00:00+00:00,0.45058512081724855 +1117,2019-02-16 12:00:00+00:00,0.3888935547150319 +1118,2019-02-16 13:00:00+00:00,0.23460962708362376 +1119,2019-02-16 14:00:00+00:00,0.11433114643304515 +1120,2019-02-16 15:00:00+00:00,0.32154505345834555 +1121,2019-02-16 16:00:00+00:00,0.38468236279278406 +1122,2019-02-16 17:00:00+00:00,0.4386326025976088 +1123,2019-02-16 18:00:00+00:00,0.43403558045458684 +1124,2019-02-16 19:00:00+00:00,0.39890818011237333 +1125,2019-02-16 20:00:00+00:00,0.3304459041690758 +1126,2019-02-16 21:00:00+00:00,0.21760062200109417 +1127,2019-02-16 22:00:00+00:00,0.1043510687469237 +1128,2019-02-16 23:00:00+00:00,0.04600380282311324 +1129,2019-02-17 00:00:00+00:00,0.019388989531674564 +1130,2019-02-17 01:00:00+00:00,0.006815139315976634 +1131,2019-02-17 02:00:00+00:00,0.00451323272371833 +1132,2019-02-17 03:00:00+00:00,0.008937600851125804 +1133,2019-02-17 04:00:00+00:00,0.04227706100033104 +1134,2019-02-17 05:00:00+00:00,0.19060644447057426 +1135,2019-02-17 06:00:00+00:00,0.395806272661164 +1136,2019-02-17 07:00:00+00:00,0.49164271030452983 +1137,2019-02-17 08:00:00+00:00,0.3813850237584629 +1138,2019-02-17 09:00:00+00:00,0.3684862002176323 +1139,2019-02-17 10:00:00+00:00,0.35284224554946986 +1140,2019-02-17 11:00:00+00:00,0.4665092585150607 +1141,2019-02-17 12:00:00+00:00,0.39395883374275675 +1142,2019-02-17 13:00:00+00:00,0.23607426399137982 +1143,2019-02-17 14:00:00+00:00,0.10817524566154844 +1144,2019-02-17 15:00:00+00:00,0.28580357836199094 +1145,2019-02-17 16:00:00+00:00,0.3734003400861922 +1146,2019-02-17 17:00:00+00:00,0.4095604965420704 +1147,2019-02-17 18:00:00+00:00,0.39598100028711275 +1148,2019-02-17 19:00:00+00:00,0.37695610199200075 +1149,2019-02-17 20:00:00+00:00,0.30982259228441317 +1150,2019-02-17 21:00:00+00:00,0.20364649269383386 +1151,2019-02-17 22:00:00+00:00,0.09959120265820122 +1152,2019-02-17 23:00:00+00:00,0.04383704703637405 +1153,2019-02-18 00:00:00+00:00,0.018395052616782665 +1154,2019-02-18 01:00:00+00:00,0.006408458180011109 +1155,2019-02-18 02:00:00+00:00,0.0038295301930793995 +1156,2019-02-18 03:00:00+00:00,0.007215159051021183 +1157,2019-02-18 04:00:00+00:00,0.03671832972815802 +1158,2019-02-18 05:00:00+00:00,0.1738490354563544 +1159,2019-02-18 06:00:00+00:00,0.36336194829508534 +1160,2019-02-18 07:00:00+00:00,0.4482533493718174 +1161,2019-02-18 08:00:00+00:00,0.3502781243793752 +1162,2019-02-18 09:00:00+00:00,0.3459144115728506 +1163,2019-02-18 10:00:00+00:00,0.33284038137449584 +1164,2019-02-18 11:00:00+00:00,0.44211491257182345 +1165,2019-02-18 12:00:00+00:00,0.3773725908546735 +1166,2019-02-18 13:00:00+00:00,0.22539633904677323 +1167,2019-02-18 14:00:00+00:00,0.10237257008520484 +1168,2019-02-18 15:00:00+00:00,0.2692044004027044 +1169,2019-02-18 16:00:00+00:00,0.3618800068225337 +1170,2019-02-18 17:00:00+00:00,0.42373381399803045 +1171,2019-02-18 18:00:00+00:00,0.3955571908933426 +1172,2019-02-18 19:00:00+00:00,0.3763089480361679 +1173,2019-02-18 20:00:00+00:00,0.3180450249515721 +1174,2019-02-18 21:00:00+00:00,0.20393193479521154 +1175,2019-02-18 22:00:00+00:00,0.09193107118096029 +1176,2019-02-18 23:00:00+00:00,0.03951789195279874 +1177,2019-02-19 00:00:00+00:00,0.016303301865090502 +1178,2019-02-19 01:00:00+00:00,0.005485093676817093 +1179,2019-02-19 02:00:00+00:00,0.003071976076737358 +1180,2019-02-19 03:00:00+00:00,0.004776967463043167 +1181,2019-02-19 04:00:00+00:00,0.025849038689104972 +1182,2019-02-19 05:00:00+00:00,0.13574821476871757 +1183,2019-02-19 06:00:00+00:00,0.29682433267085767 +1184,2019-02-19 07:00:00+00:00,0.3684262270860272 +1185,2019-02-19 08:00:00+00:00,0.28492313439737676 +1186,2019-02-19 09:00:00+00:00,0.29520245585227894 +1187,2019-02-19 10:00:00+00:00,0.3054639542834225 +1188,2019-02-19 11:00:00+00:00,0.4259213417264668 +1189,2019-02-19 12:00:00+00:00,0.3595044200661934 +1190,2019-02-19 13:00:00+00:00,0.21747820076153632 +1191,2019-02-19 14:00:00+00:00,0.09155321999184719 +1192,2019-02-19 15:00:00+00:00,0.2506910092711999 +1193,2019-02-19 16:00:00+00:00,0.366954941315581 +1194,2019-02-19 17:00:00+00:00,0.4138020666954813 +1195,2019-02-19 18:00:00+00:00,0.402728632564072 +1196,2019-02-19 19:00:00+00:00,0.3696657567446729 +1197,2019-02-19 20:00:00+00:00,0.3013878414574051 +1198,2019-02-19 21:00:00+00:00,0.19522888391187807 +1199,2019-02-19 22:00:00+00:00,0.09257071700244014 +1200,2019-02-19 23:00:00+00:00,0.039930869327333286 +1201,2019-02-20 00:00:00+00:00,0.016292669891353844 +1202,2019-02-20 01:00:00+00:00,0.005466185164497735 +1203,2019-02-20 02:00:00+00:00,0.0030917737390698534 +1204,2019-02-20 03:00:00+00:00,0.00477772668924934 +1205,2019-02-20 04:00:00+00:00,0.025792800125977716 +1206,2019-02-20 05:00:00+00:00,0.13579033828152676 +1207,2019-02-20 06:00:00+00:00,0.2948491298220883 +1208,2019-02-20 07:00:00+00:00,0.37620870389144234 +1209,2019-02-20 08:00:00+00:00,0.2909396613359326 +1210,2019-02-20 09:00:00+00:00,0.30412259975283296 +1211,2019-02-20 10:00:00+00:00,0.3071768788031311 +1212,2019-02-20 11:00:00+00:00,0.4226720531090564 +1213,2019-02-20 12:00:00+00:00,0.3714487368560691 +1214,2019-02-20 13:00:00+00:00,0.20289942340983785 +1215,2019-02-20 14:00:00+00:00,0.0963145158076864 +1216,2019-02-20 15:00:00+00:00,0.249415845055298 +1217,2019-02-20 16:00:00+00:00,0.3499906508080283 +1218,2019-02-20 17:00:00+00:00,0.3960116979395522 +1219,2019-02-20 18:00:00+00:00,0.3850850561776424 +1220,2019-02-20 19:00:00+00:00,0.3543242879637445 +1221,2019-02-20 20:00:00+00:00,0.2914849431595696 +1222,2019-02-20 21:00:00+00:00,0.1901231661217768 +1223,2019-02-20 22:00:00+00:00,0.09064710425785316 +1224,2019-02-20 23:00:00+00:00,0.03861140286709208 +1225,2019-02-21 00:00:00+00:00,0.015660807187510582 +1226,2019-02-21 01:00:00+00:00,0.005168477025550717 +1227,2019-02-21 02:00:00+00:00,0.002936990100780489 +1228,2019-02-21 03:00:00+00:00,0.004388597360515354 +1229,2019-02-21 04:00:00+00:00,0.02322320509141177 +1230,2019-02-21 05:00:00+00:00,0.12679868661047436 +1231,2019-02-21 06:00:00+00:00,0.2769010278858663 +1232,2019-02-21 07:00:00+00:00,0.35051590101284846 +1233,2019-02-21 08:00:00+00:00,0.2712574654015826 +1234,2019-02-21 09:00:00+00:00,0.2890086519664452 +1235,2019-02-21 10:00:00+00:00,0.29871478894076126 +1236,2019-02-21 11:00:00+00:00,0.40724260772174226 +1237,2019-02-21 12:00:00+00:00,0.35486310854994135 +1238,2019-02-21 13:00:00+00:00,0.20280557826044093 +1239,2019-02-21 14:00:00+00:00,0.096123907004035 +1240,2019-02-21 15:00:00+00:00,0.2642233083848847 +1241,2019-02-21 16:00:00+00:00,0.350809177971543 +1242,2019-02-21 17:00:00+00:00,0.39183374537870624 +1243,2019-02-21 18:00:00+00:00,0.3752121057975657 +1244,2019-02-21 19:00:00+00:00,0.34008468922953167 +1245,2019-02-21 20:00:00+00:00,0.2777257037918035 +1246,2019-02-21 21:00:00+00:00,0.1792175236895943 +1247,2019-02-21 22:00:00+00:00,0.08477098629310292 +1248,2019-02-21 23:00:00+00:00,0.036305846976753375 +1249,2019-02-22 00:00:00+00:00,0.014489445315537393 +1250,2019-02-22 01:00:00+00:00,0.004557457113629725 +1251,2019-02-22 02:00:00+00:00,0.0024245333153494015 +1252,2019-02-22 03:00:00+00:00,0.0035771143248725843 +1253,2019-02-22 04:00:00+00:00,0.017404065997639582 +1254,2019-02-22 05:00:00+00:00,0.10086466593095617 +1255,2019-02-22 06:00:00+00:00,0.2297975223197736 +1256,2019-02-22 07:00:00+00:00,0.29453078883785744 +1257,2019-02-22 08:00:00+00:00,0.2309999183118975 +1258,2019-02-22 09:00:00+00:00,0.25917537119268563 +1259,2019-02-22 10:00:00+00:00,0.27426410375989146 +1260,2019-02-22 11:00:00+00:00,0.3725487040715007 +1261,2019-02-22 12:00:00+00:00,0.32587279321011664 +1262,2019-02-22 13:00:00+00:00,0.18296029750389273 +1263,2019-02-22 14:00:00+00:00,0.08545439046995823 +1264,2019-02-22 15:00:00+00:00,0.19961099440702545 +1265,2019-02-22 16:00:00+00:00,0.31790082649709034 +1266,2019-02-22 17:00:00+00:00,0.359220769767104 +1267,2019-02-22 18:00:00+00:00,0.3572430133273242 +1268,2019-02-22 19:00:00+00:00,0.3388052375979688 +1269,2019-02-22 20:00:00+00:00,0.2735359183681956 +1270,2019-02-22 21:00:00+00:00,0.1772080214735132 +1271,2019-02-22 22:00:00+00:00,0.0850234930057731 +1272,2019-02-22 23:00:00+00:00,0.036924806707137096 +1273,2019-02-23 00:00:00+00:00,0.0149453456288232 +1274,2019-02-23 01:00:00+00:00,0.00471075991988505 +1275,2019-02-23 02:00:00+00:00,0.0025616775056100426 +1276,2019-02-23 03:00:00+00:00,0.003896887664180014 +1277,2019-02-23 04:00:00+00:00,0.0196089585584651 +1278,2019-02-23 05:00:00+00:00,0.1161005204236245 +1279,2019-02-23 06:00:00+00:00,0.26219670354224034 +1280,2019-02-23 07:00:00+00:00,0.3319933834935305 +1281,2019-02-23 08:00:00+00:00,0.2557543226661744 +1282,2019-02-23 09:00:00+00:00,0.2379355483610619 +1283,2019-02-23 10:00:00+00:00,0.2561321539758527 +1284,2019-02-23 11:00:00+00:00,0.32180791821487986 +1285,2019-02-23 12:00:00+00:00,0.23929056607401789 +1286,2019-02-23 13:00:00+00:00,0.12569133181996245 +1287,2019-02-23 14:00:00+00:00,0.062324783433006514 +1288,2019-02-23 15:00:00+00:00,0.09028499891856466 +1289,2019-02-23 16:00:00+00:00,0.24123434858993398 +1290,2019-02-23 17:00:00+00:00,0.3598116456751384 +1291,2019-02-23 18:00:00+00:00,0.35944515488316664 +1292,2019-02-23 19:00:00+00:00,0.3487775967924395 +1293,2019-02-23 20:00:00+00:00,0.30343211892858035 +1294,2019-02-23 21:00:00+00:00,0.18299513463079325 +1295,2019-02-23 22:00:00+00:00,0.08755863936867554 +1296,2019-02-23 23:00:00+00:00,0.038688554939235 +1297,2019-02-24 00:00:00+00:00,0.015746939744200487 +1298,2019-02-24 01:00:00+00:00,0.005179793114655825 +1299,2019-02-24 02:00:00+00:00,0.00295939071247322 +1300,2019-02-24 03:00:00+00:00,0.004654476349869941 +1301,2019-02-24 04:00:00+00:00,0.025327399702325466 +1302,2019-02-24 05:00:00+00:00,0.14177740177872006 +1303,2019-02-24 06:00:00+00:00,0.3131250047880462 +1304,2019-02-24 07:00:00+00:00,0.36671423255631874 +1305,2019-02-24 08:00:00+00:00,0.22155746479941785 +1306,2019-02-24 09:00:00+00:00,0.18424150231406505 +1307,2019-02-24 10:00:00+00:00,0.17456174829370052 +1308,2019-02-24 11:00:00+00:00,0.20494032361918896 +1309,2019-02-24 12:00:00+00:00,0.1928302349810284 +1310,2019-02-24 13:00:00+00:00,0.10825492971653931 +1311,2019-02-24 14:00:00+00:00,0.05448833965331483 +1312,2019-02-24 15:00:00+00:00,0.13339450698973446 +1313,2019-02-24 16:00:00+00:00,0.27288049261133945 +1314,2019-02-24 17:00:00+00:00,0.349919076165387 +1315,2019-02-24 18:00:00+00:00,0.36427165350101764 +1316,2019-02-24 19:00:00+00:00,0.35381874231239113 +1317,2019-02-24 20:00:00+00:00,0.2984371789598759 +1318,2019-02-24 21:00:00+00:00,0.1978766823311643 +1319,2019-02-24 22:00:00+00:00,0.09616862714347071 +1320,2019-02-24 23:00:00+00:00,0.04248045577918396 +1321,2019-02-25 00:00:00+00:00,0.017479338693108346 +1322,2019-02-25 01:00:00+00:00,0.006065317065207143 +1323,2019-02-25 02:00:00+00:00,0.0034650831661204758 +1324,2019-02-25 03:00:00+00:00,0.006121752586358674 +1325,2019-02-25 04:00:00+00:00,0.031486698647068455 +1326,2019-02-25 05:00:00+00:00,0.159084474040566 +1327,2019-02-25 06:00:00+00:00,0.33519536006386635 +1328,2019-02-25 07:00:00+00:00,0.3838404488541318 +1329,2019-02-25 08:00:00+00:00,0.24048191254857182 +1330,2019-02-25 09:00:00+00:00,0.2009732525768056 +1331,2019-02-25 10:00:00+00:00,0.20738097782107912 +1332,2019-02-25 11:00:00+00:00,0.2285052578307807 +1333,2019-02-25 12:00:00+00:00,0.1747434476075639 +1334,2019-02-25 13:00:00+00:00,0.09747293663294275 +1335,2019-02-25 14:00:00+00:00,0.04477810188961272 +1336,2019-02-25 15:00:00+00:00,0.06298638737140679 +1337,2019-02-25 16:00:00+00:00,0.17552664671476734 +1338,2019-02-25 17:00:00+00:00,0.32736007763123454 +1339,2019-02-25 18:00:00+00:00,0.35569686202061135 +1340,2019-02-25 19:00:00+00:00,0.34841597787627737 +1341,2019-02-25 20:00:00+00:00,0.29926095926097257 +1342,2019-02-25 21:00:00+00:00,0.19812264794467777 +1343,2019-02-25 22:00:00+00:00,0.09528764199503893 +1344,2019-02-25 23:00:00+00:00,0.04192904952023161 +1345,2019-02-26 00:00:00+00:00,0.01739169177824446 +1346,2019-02-26 01:00:00+00:00,0.005694747290589443 +1347,2019-02-26 02:00:00+00:00,0.0033498066362627186 +1348,2019-02-26 03:00:00+00:00,0.005672632638064915 +1349,2019-02-26 04:00:00+00:00,0.03003272921791908 +1350,2019-02-26 05:00:00+00:00,0.15756161076637343 +1351,2019-02-26 06:00:00+00:00,0.3324116413048386 +1352,2019-02-26 07:00:00+00:00,0.40049460245793067 +1353,2019-02-26 08:00:00+00:00,0.30097828335610194 +1354,2019-02-26 09:00:00+00:00,0.2846077925170154 +1355,2019-02-26 10:00:00+00:00,0.26401904646455354 +1356,2019-02-26 11:00:00+00:00,0.33288093148341014 +1357,2019-02-26 12:00:00+00:00,0.28636120109027663 +1358,2019-02-26 13:00:00+00:00,0.15674227917364777 +1359,2019-02-26 14:00:00+00:00,0.06978405924085586 +1360,2019-02-26 15:00:00+00:00,0.0982722989947245 +1361,2019-02-26 16:00:00+00:00,0.23642872844633278 +1362,2019-02-26 17:00:00+00:00,0.3576293457890085 +1363,2019-02-26 18:00:00+00:00,0.3702516594277513 +1364,2019-02-26 19:00:00+00:00,0.3491705475883506 +1365,2019-02-26 20:00:00+00:00,0.2920233281410182 +1366,2019-02-26 21:00:00+00:00,0.1918528677078063 +1367,2019-02-26 22:00:00+00:00,0.09284679236708963 +1368,2019-02-26 23:00:00+00:00,0.04092399270292542 +1369,2019-02-27 00:00:00+00:00,0.016701599565725797 +1370,2019-02-27 01:00:00+00:00,0.005630015197502398 +1371,2019-02-27 02:00:00+00:00,0.0032354803770738437 +1372,2019-02-27 03:00:00+00:00,0.005220626244702389 +1373,2019-02-27 04:00:00+00:00,0.027153381104818106 +1374,2019-02-27 05:00:00+00:00,0.1438565464389979 +1375,2019-02-27 06:00:00+00:00,0.3016090746081629 +1376,2019-02-27 07:00:00+00:00,0.340466749217674 +1377,2019-02-27 08:00:00+00:00,0.2038619473230402 +1378,2019-02-27 09:00:00+00:00,0.16522504950473008 +1379,2019-02-27 10:00:00+00:00,0.1524885060785064 +1380,2019-02-27 11:00:00+00:00,0.16532502912869287 +1381,2019-02-27 12:00:00+00:00,0.10968063423007214 +1382,2019-02-27 13:00:00+00:00,0.041667620566173236 +1383,2019-02-27 14:00:00+00:00,0.01995563930118559 +1384,2019-02-27 15:00:00+00:00,0.024610443924021487 +1385,2019-02-27 16:00:00+00:00,0.04949848228471148 +1386,2019-02-27 17:00:00+00:00,0.1283146105831485 +1387,2019-02-27 18:00:00+00:00,0.2087651159936874 +1388,2019-02-27 19:00:00+00:00,0.2616881230071354 +1389,2019-02-27 20:00:00+00:00,0.22700187911348912 +1390,2019-02-27 21:00:00+00:00,0.15264391272139644 +1391,2019-02-27 22:00:00+00:00,0.07639187582696567 +1392,2019-02-27 23:00:00+00:00,0.03504555639753111 +1393,2019-02-28 00:00:00+00:00,0.014846947662853513 +1394,2019-02-28 01:00:00+00:00,0.004594339788108024 +1395,2019-02-28 02:00:00+00:00,0.0025583441918389255 +1396,2019-02-28 03:00:00+00:00,0.003894311428015844 +1397,2019-02-28 04:00:00+00:00,0.014855757646918683 +1398,2019-02-28 05:00:00+00:00,0.11223234523633464 +1399,2019-02-28 06:00:00+00:00,0.24776020859255854 +1400,2019-02-28 07:00:00+00:00,0.19338515194156924 +1401,2019-02-28 08:00:00+00:00,0.19849653370663278 +1402,2019-02-28 09:00:00+00:00,0.2268351646751976 +1403,2019-02-28 10:00:00+00:00,0.25264228386729537 +1404,2019-02-28 11:00:00+00:00,0.29156436548015113 +1405,2019-02-28 12:00:00+00:00,0.281164176623303 +1406,2019-02-28 13:00:00+00:00,0.14959753607282952 +1407,2019-02-28 14:00:00+00:00,0.07235896114164858 +1408,2019-02-28 15:00:00+00:00,0.04578986567612543 +1409,2019-02-28 16:00:00+00:00,0.17324094998845135 +1410,2019-02-28 17:00:00+00:00,0.33079855850075485 +1411,2019-02-28 18:00:00+00:00,0.32656778905945816 +1412,2019-02-28 19:00:00+00:00,0.3083643654600535 +1413,2019-02-28 20:00:00+00:00,0.2574785764832014 +1414,2019-02-28 21:00:00+00:00,0.1669942587102978 +1415,2019-02-28 22:00:00+00:00,0.07934295230914169 +1416,2019-02-28 23:00:00+00:00,0.034040097908214766 +1417,2019-03-01 00:00:00+00:00,0.01370687542606697 +1418,2019-03-01 01:00:00+00:00,0.003975151678035344 +1419,2019-03-01 02:00:00+00:00,0.0021718223276876846 +1420,2019-03-01 03:00:00+00:00,0.003293881954226532 +1421,2019-03-01 04:00:00+00:00,0.013410454857194882 +1422,2019-03-01 05:00:00+00:00,0.08973676483214481 +1423,2019-03-01 06:00:00+00:00,0.2031077736741356 +1424,2019-03-01 07:00:00+00:00,0.16162219598563116 +1425,2019-03-01 08:00:00+00:00,0.1717320175121469 +1426,2019-03-01 09:00:00+00:00,0.2102949296221898 +1427,2019-03-01 10:00:00+00:00,0.24783083392364097 +1428,2019-03-01 11:00:00+00:00,0.35787725737596704 +1429,2019-03-01 12:00:00+00:00,0.3128414847616834 +1430,2019-03-01 13:00:00+00:00,0.1664083165073714 +1431,2019-03-01 14:00:00+00:00,0.08171936851575615 +1432,2019-03-01 15:00:00+00:00,0.05778427272686436 +1433,2019-03-01 16:00:00+00:00,0.25772245197265853 +1434,2019-03-01 17:00:00+00:00,0.36804513394287064 +1435,2019-03-01 18:00:00+00:00,0.35825605261251614 +1436,2019-03-01 19:00:00+00:00,0.34069476092681356 +1437,2019-03-01 20:00:00+00:00,0.283518105097639 +1438,2019-03-01 21:00:00+00:00,0.1848726403169604 +1439,2019-03-01 22:00:00+00:00,0.0877260222666569 +1440,2019-03-01 23:00:00+00:00,0.03929070159242517 +1441,2019-03-02 00:00:00+00:00,0.015438746183472967 +1442,2019-03-02 01:00:00+00:00,0.005010915881051173 +1443,2019-03-02 02:00:00+00:00,0.0028361281946133587 +1444,2019-03-02 03:00:00+00:00,0.0041161179160441805 +1445,2019-03-02 04:00:00+00:00,0.02015366466422415 +1446,2019-03-02 05:00:00+00:00,0.11790278095884976 +1447,2019-03-02 06:00:00+00:00,0.25501238984428504 +1448,2019-03-02 07:00:00+00:00,0.2034465174474315 +1449,2019-03-02 08:00:00+00:00,0.206826095909335 +1450,2019-03-02 09:00:00+00:00,0.2360392188552214 +1451,2019-03-02 10:00:00+00:00,0.259053054414556 +1452,2019-03-02 11:00:00+00:00,0.319091540154491 +1453,2019-03-02 12:00:00+00:00,0.26435002488912823 +1454,2019-03-02 13:00:00+00:00,0.14842441286127947 +1455,2019-03-02 14:00:00+00:00,0.07354406172353187 +1456,2019-03-02 15:00:00+00:00,0.05165507803585789 +1457,2019-03-02 16:00:00+00:00,0.197169630967276 +1458,2019-03-02 17:00:00+00:00,0.3414145825869017 +1459,2019-03-02 18:00:00+00:00,0.33228302862016884 +1460,2019-03-02 19:00:00+00:00,0.31238461597408707 +1461,2019-03-02 20:00:00+00:00,0.26099219911321897 +1462,2019-03-02 21:00:00+00:00,0.1695928269415597 +1463,2019-03-02 22:00:00+00:00,0.07968516227886435 +1464,2019-03-02 23:00:00+00:00,0.03369528414306658 +1465,2019-03-03 00:00:00+00:00,0.013362914284601183 +1466,2019-03-03 01:00:00+00:00,0.003835448855166914 +1467,2019-03-03 02:00:00+00:00,0.002050836968757958 +1468,2019-03-03 03:00:00+00:00,0.003072952737287857 +1469,2019-03-03 04:00:00+00:00,0.012387461705316322 +1470,2019-03-03 05:00:00+00:00,0.08089177791986701 +1471,2019-03-03 06:00:00+00:00,0.17830323543890664 +1472,2019-03-03 07:00:00+00:00,0.14345908469244076 +1473,2019-03-03 08:00:00+00:00,0.15414844461192112 +1474,2019-03-03 09:00:00+00:00,0.1878515907465962 +1475,2019-03-03 10:00:00+00:00,0.21640333686570637 +1476,2019-03-03 11:00:00+00:00,0.29768622940171835 +1477,2019-03-03 12:00:00+00:00,0.2548005614303566 +1478,2019-03-03 13:00:00+00:00,0.13735337982652818 +1479,2019-03-03 14:00:00+00:00,0.0657674087632421 +1480,2019-03-03 15:00:00+00:00,0.041470433712147696 +1481,2019-03-03 16:00:00+00:00,0.12567483499952156 +1482,2019-03-03 17:00:00+00:00,0.289868115610073 +1483,2019-03-03 18:00:00+00:00,0.2985154606769494 +1484,2019-03-03 19:00:00+00:00,0.2774800772722249 +1485,2019-03-03 20:00:00+00:00,0.23190458627225313 +1486,2019-03-03 21:00:00+00:00,0.14960918563302456 +1487,2019-03-03 22:00:00+00:00,0.07013028961511182 +1488,2019-03-03 23:00:00+00:00,0.02937684087612668 +1489,2019-03-04 00:00:00+00:00,0.011848637124727683 +1490,2019-03-04 01:00:00+00:00,0.0031407533309185413 +1491,2019-03-04 02:00:00+00:00,0.0013633716104315952 +1492,2019-03-04 03:00:00+00:00,0.002470907200452851 +1493,2019-03-04 04:00:00+00:00,0.008251566096960474 +1494,2019-03-04 05:00:00+00:00,0.06059163614792452 +1495,2019-03-04 06:00:00+00:00,0.1339960056355642 +1496,2019-03-04 07:00:00+00:00,0.1129587940863433 +1497,2019-03-04 08:00:00+00:00,0.13303152975333793 +1498,2019-03-04 09:00:00+00:00,0.16755721224761042 +1499,2019-03-04 10:00:00+00:00,0.19929983736573972 +1500,2019-03-04 11:00:00+00:00,0.2857687332113446 +1501,2019-03-04 12:00:00+00:00,0.23183782852480866 +1502,2019-03-04 13:00:00+00:00,0.12754393840651246 +1503,2019-03-04 14:00:00+00:00,0.056720762682315636 +1504,2019-03-04 15:00:00+00:00,0.037806609875926794 +1505,2019-03-04 16:00:00+00:00,0.10026997888059538 +1506,2019-03-04 17:00:00+00:00,0.2883278285333251 +1507,2019-03-04 18:00:00+00:00,0.3158786445211457 +1508,2019-03-04 19:00:00+00:00,0.29027728048702295 +1509,2019-03-04 20:00:00+00:00,0.24269263336719282 +1510,2019-03-04 21:00:00+00:00,0.16135362349518542 +1511,2019-03-04 22:00:00+00:00,0.07733801730247301 +1512,2019-03-04 23:00:00+00:00,0.03353552880456983 +1513,2019-03-05 00:00:00+00:00,0.013462276965878974 +1514,2019-03-05 01:00:00+00:00,0.0036960561147972104 +1515,2019-03-05 02:00:00+00:00,0.0019157153303187209 +1516,2019-03-05 03:00:00+00:00,0.0030501156423321835 +1517,2019-03-05 04:00:00+00:00,0.011828124098593738 +1518,2019-03-05 05:00:00+00:00,0.08349883155519275 +1519,2019-03-05 06:00:00+00:00,0.18672158375619974 +1520,2019-03-05 07:00:00+00:00,0.12259287548556992 +1521,2019-03-05 08:00:00+00:00,0.12834910224306462 +1522,2019-03-05 09:00:00+00:00,0.16366768591759231 +1523,2019-03-05 10:00:00+00:00,0.1895432927852461 +1524,2019-03-05 11:00:00+00:00,0.2445757061266322 +1525,2019-03-05 12:00:00+00:00,0.20771460002617498 +1526,2019-03-05 13:00:00+00:00,0.1092176930364868 +1527,2019-03-05 14:00:00+00:00,0.04526152684249065 +1528,2019-03-05 15:00:00+00:00,0.02823211807587477 +1529,2019-03-05 16:00:00+00:00,0.05091288299784659 +1530,2019-03-05 17:00:00+00:00,0.15830425970918185 +1531,2019-03-05 18:00:00+00:00,0.2896251892757743 +1532,2019-03-05 19:00:00+00:00,0.30187334964289864 +1533,2019-03-05 20:00:00+00:00,0.2434631219218333 +1534,2019-03-05 21:00:00+00:00,0.15902670585375886 +1535,2019-03-05 22:00:00+00:00,0.07586059962666118 +1536,2019-03-05 23:00:00+00:00,0.03384961464226041 +1537,2019-03-06 00:00:00+00:00,0.01348442887597671 +1538,2019-03-06 01:00:00+00:00,0.003936233268811924 +1539,2019-03-06 02:00:00+00:00,0.0020996501216397037 +1540,2019-03-06 03:00:00+00:00,0.002784432742983283 +1541,2019-03-06 04:00:00+00:00,0.011250017505379128 +1542,2019-03-06 05:00:00+00:00,0.0836902064676111 +1543,2019-03-06 06:00:00+00:00,0.1791633317560261 +1544,2019-03-06 07:00:00+00:00,0.1405631894288947 +1545,2019-03-06 08:00:00+00:00,0.1494080210854218 +1546,2019-03-06 09:00:00+00:00,0.17929569819302107 +1547,2019-03-06 10:00:00+00:00,0.20822053899339932 +1548,2019-03-06 11:00:00+00:00,0.281401428185548 +1549,2019-03-06 12:00:00+00:00,0.23784804921640038 +1550,2019-03-06 13:00:00+00:00,0.12862213064806757 +1551,2019-03-06 14:00:00+00:00,0.060105043782249394 +1552,2019-03-06 15:00:00+00:00,0.03753702141129443 +1553,2019-03-06 16:00:00+00:00,0.09293320768040791 +1554,2019-03-06 17:00:00+00:00,0.2545035682330257 +1555,2019-03-06 18:00:00+00:00,0.29211100856080735 +1556,2019-03-06 19:00:00+00:00,0.26818387654662423 +1557,2019-03-06 20:00:00+00:00,0.22300196771000555 +1558,2019-03-06 21:00:00+00:00,0.14918162834645252 +1559,2019-03-06 22:00:00+00:00,0.07173669108268389 +1560,2019-03-06 23:00:00+00:00,0.030334967101814086 +1561,2019-03-07 00:00:00+00:00,0.012309351818037837 +1562,2019-03-07 01:00:00+00:00,0.0032493487962991035 +1563,2019-03-07 02:00:00+00:00,0.0014970552184082138 +1564,2019-03-07 03:00:00+00:00,0.0024960809464345153 +1565,2019-03-07 04:00:00+00:00,0.00876640804078746 +1566,2019-03-07 05:00:00+00:00,0.06396662762532114 +1567,2019-03-07 06:00:00+00:00,0.14026753637084613 +1568,2019-03-07 07:00:00+00:00,0.11424115940030223 +1569,2019-03-07 08:00:00+00:00,0.12569381717573477 +1570,2019-03-07 09:00:00+00:00,0.1543195234545238 +1571,2019-03-07 10:00:00+00:00,0.17537982775921293 +1572,2019-03-07 11:00:00+00:00,0.2366771401440253 +1573,2019-03-07 12:00:00+00:00,0.19693084546815484 +1574,2019-03-07 13:00:00+00:00,0.08413157636883306 +1575,2019-03-07 14:00:00+00:00,0.03793926391645304 +1576,2019-03-07 15:00:00+00:00,0.027300663919472102 +1577,2019-03-07 16:00:00+00:00,0.05658320308288906 +1578,2019-03-07 17:00:00+00:00,0.15285675506033472 +1579,2019-03-07 18:00:00+00:00,0.25399491120585344 +1580,2019-03-07 19:00:00+00:00,0.27443630101779026 +1581,2019-03-07 20:00:00+00:00,0.22965324569251191 +1582,2019-03-07 21:00:00+00:00,0.14879234973100844 +1583,2019-03-07 22:00:00+00:00,0.07180839185164802 +1584,2019-03-07 23:00:00+00:00,0.032567249103189685 +1585,2019-03-08 00:00:00+00:00,0.012873639337147415 +1586,2019-03-08 01:00:00+00:00,0.0035345936313746712 +1587,2019-03-08 02:00:00+00:00,0.0018205423311218212 +1588,2019-03-08 03:00:00+00:00,0.002586659969328811 +1589,2019-03-08 04:00:00+00:00,0.00952237189875275 +1590,2019-03-08 05:00:00+00:00,0.07561329831760613 +1591,2019-03-08 06:00:00+00:00,0.1622305261124959 +1592,2019-03-08 07:00:00+00:00,0.12767945562907632 +1593,2019-03-08 08:00:00+00:00,0.11495699427361303 +1594,2019-03-08 09:00:00+00:00,0.13701194702744648 +1595,2019-03-08 10:00:00+00:00,0.15520505933898512 +1596,2019-03-08 11:00:00+00:00,0.22077009910288858 +1597,2019-03-08 12:00:00+00:00,0.1588362538331528 +1598,2019-03-08 13:00:00+00:00,0.08830778672377271 +1599,2019-03-08 14:00:00+00:00,0.04187667683104896 +1600,2019-03-08 15:00:00+00:00,0.030294838697225046 +1601,2019-03-08 16:00:00+00:00,0.08469539273986329 +1602,2019-03-08 17:00:00+00:00,0.23838135970970442 +1603,2019-03-08 18:00:00+00:00,0.3035394169989678 +1604,2019-03-08 19:00:00+00:00,0.28102601164522273 +1605,2019-03-08 20:00:00+00:00,0.23430235660203866 +1606,2019-03-08 21:00:00+00:00,0.15333871166201354 +1607,2019-03-08 22:00:00+00:00,0.07408675433254207 +1608,2019-03-08 23:00:00+00:00,0.03320688874000585 +1609,2019-03-09 00:00:00+00:00,0.013027114870775769 +1610,2019-03-09 01:00:00+00:00,0.0036883381396392734 +1611,2019-03-09 02:00:00+00:00,0.001896652283886763 +1612,2019-03-09 03:00:00+00:00,0.002619530271534931 +1613,2019-03-09 04:00:00+00:00,0.009584653352405069 +1614,2019-03-09 05:00:00+00:00,0.07554332198036354 +1615,2019-03-09 06:00:00+00:00,0.16028513231521627 +1616,2019-03-09 07:00:00+00:00,0.12484199654020237 +1617,2019-03-09 08:00:00+00:00,0.13666322595449396 +1618,2019-03-09 09:00:00+00:00,0.1654913263141608 +1619,2019-03-09 10:00:00+00:00,0.19060080851060748 +1620,2019-03-09 11:00:00+00:00,0.2620751667413337 +1621,2019-03-09 12:00:00+00:00,0.2188189780291671 +1622,2019-03-09 13:00:00+00:00,0.11994646427023817 +1623,2019-03-09 14:00:00+00:00,0.05642199235825078 +1624,2019-03-09 15:00:00+00:00,0.027960816521321347 +1625,2019-03-09 16:00:00+00:00,0.04525519482988203 +1626,2019-03-09 17:00:00+00:00,0.14360700755724495 +1627,2019-03-09 18:00:00+00:00,0.2767552761067038 +1628,2019-03-09 19:00:00+00:00,0.28007573559786897 +1629,2019-03-09 20:00:00+00:00,0.22845335571714387 +1630,2019-03-09 21:00:00+00:00,0.14866641361407243 +1631,2019-03-09 22:00:00+00:00,0.07208524372863792 +1632,2019-03-09 23:00:00+00:00,0.0322402363057038 +1633,2019-03-10 00:00:00+00:00,0.012951641494109382 +1634,2019-03-10 01:00:00+00:00,0.0036299550877693103 +1635,2019-03-10 02:00:00+00:00,0.0018853661671455817 +1636,2019-03-10 03:00:00+00:00,0.0026898580591845317 +1637,2019-03-10 04:00:00+00:00,0.010166781167874556 +1638,2019-03-10 05:00:00+00:00,0.08061952307732645 +1639,2019-03-10 06:00:00+00:00,0.17685774898932818 +1640,2019-03-10 07:00:00+00:00,0.1356928179833212 +1641,2019-03-10 08:00:00+00:00,0.1478701089564209 +1642,2019-03-10 09:00:00+00:00,0.18235625098440011 +1643,2019-03-10 10:00:00+00:00,0.21642157942219206 +1644,2019-03-10 11:00:00+00:00,0.29541292613922054 +1645,2019-03-10 12:00:00+00:00,0.24944063663202343 +1646,2019-03-10 13:00:00+00:00,0.13834602109074384 +1647,2019-03-10 14:00:00+00:00,0.06772358505458506 +1648,2019-03-10 15:00:00+00:00,0.042867879879268 +1649,2019-03-10 16:00:00+00:00,0.17383643371095892 +1650,2019-03-10 17:00:00+00:00,0.36412667918117114 +1651,2019-03-10 18:00:00+00:00,0.3536926259692099 +1652,2019-03-10 19:00:00+00:00,0.3213387863439049 +1653,2019-03-10 20:00:00+00:00,0.26333930220852675 +1654,2019-03-10 21:00:00+00:00,0.17211117800871512 +1655,2019-03-10 22:00:00+00:00,0.08333758876141485 +1656,2019-03-10 23:00:00+00:00,0.03676271151557595 +1657,2019-03-11 00:00:00+00:00,0.014786388516553584 +1658,2019-03-11 01:00:00+00:00,0.004783809413744952 +1659,2019-03-11 02:00:00+00:00,0.0026220895196498836 +1660,2019-03-11 03:00:00+00:00,0.0037014900130576916 +1661,2019-03-11 04:00:00+00:00,0.017943838138690264 +1662,2019-03-11 05:00:00+00:00,0.11130082272606717 +1663,2019-03-11 06:00:00+00:00,0.2359698165924207 +1664,2019-03-11 07:00:00+00:00,0.1770383434181435 +1665,2019-03-11 08:00:00+00:00,0.17859076909647872 +1666,2019-03-11 09:00:00+00:00,0.2079510873668603 +1667,2019-03-11 10:00:00+00:00,0.23994318180863147 +1668,2019-03-11 11:00:00+00:00,0.33046854307383494 +1669,2019-03-11 12:00:00+00:00,0.2859058929916752 +1670,2019-03-11 13:00:00+00:00,0.14798850840047995 +1671,2019-03-11 14:00:00+00:00,0.07177415910054728 +1672,2019-03-11 15:00:00+00:00,0.043936887027027506 +1673,2019-03-11 16:00:00+00:00,0.1497228504954369 +1674,2019-03-11 17:00:00+00:00,0.3525228124942983 +1675,2019-03-11 18:00:00+00:00,0.35311038008385814 +1676,2019-03-11 19:00:00+00:00,0.3315414605228835 +1677,2019-03-11 20:00:00+00:00,0.2834772846549871 +1678,2019-03-11 21:00:00+00:00,0.1909252723272748 +1679,2019-03-11 22:00:00+00:00,0.09210690908128885 +1680,2019-03-11 23:00:00+00:00,0.039648118864020705 +1681,2019-03-12 00:00:00+00:00,0.016001500493633376 +1682,2019-03-12 01:00:00+00:00,0.005328744558197849 +1683,2019-03-12 02:00:00+00:00,0.0030395065307553012 +1684,2019-03-12 03:00:00+00:00,0.004500911455523376 +1685,2019-03-12 04:00:00+00:00,0.022060883870886464 +1686,2019-03-12 05:00:00+00:00,0.12490815295092125 +1687,2019-03-12 06:00:00+00:00,0.2585811867168817 +1688,2019-03-12 07:00:00+00:00,0.1939395596995429 +1689,2019-03-12 08:00:00+00:00,0.18840667730922894 +1690,2019-03-12 09:00:00+00:00,0.2132620760142363 +1691,2019-03-12 10:00:00+00:00,0.24161084892310405 +1692,2019-03-12 11:00:00+00:00,0.3369791092855118 +1693,2019-03-12 12:00:00+00:00,0.2859247488149497 +1694,2019-03-12 13:00:00+00:00,0.15255091970045442 +1695,2019-03-12 14:00:00+00:00,0.07288914649791878 +1696,2019-03-12 15:00:00+00:00,0.04366182521068949 +1697,2019-03-12 16:00:00+00:00,0.14443972921338458 +1698,2019-03-12 17:00:00+00:00,0.3453016820208507 +1699,2019-03-12 18:00:00+00:00,0.34984924744921 +1700,2019-03-12 19:00:00+00:00,0.34223885649873365 +1701,2019-03-12 20:00:00+00:00,0.29021403258755063 +1702,2019-03-12 21:00:00+00:00,0.18888597735803583 +1703,2019-03-12 22:00:00+00:00,0.08845884376295296 +1704,2019-03-12 23:00:00+00:00,0.03831125717728658 +1705,2019-03-13 00:00:00+00:00,0.01540176017621971 +1706,2019-03-13 01:00:00+00:00,0.005167191220059787 +1707,2019-03-13 02:00:00+00:00,0.0029237526636796854 +1708,2019-03-13 03:00:00+00:00,0.0042197821007912235 +1709,2019-03-13 04:00:00+00:00,0.0206210979827839 +1710,2019-03-13 05:00:00+00:00,0.11785772143202262 +1711,2019-03-13 06:00:00+00:00,0.24664084214747012 +1712,2019-03-13 07:00:00+00:00,0.18473389510644198 +1713,2019-03-13 08:00:00+00:00,0.18122274200182276 +1714,2019-03-13 09:00:00+00:00,0.20995944689499157 +1715,2019-03-13 10:00:00+00:00,0.2435197319338635 +1716,2019-03-13 11:00:00+00:00,0.34696133144635843 +1717,2019-03-13 12:00:00+00:00,0.29493383590606825 +1718,2019-03-13 13:00:00+00:00,0.15669202858664963 +1719,2019-03-13 14:00:00+00:00,0.07461201957769908 +1720,2019-03-13 15:00:00+00:00,0.044213960358692767 +1721,2019-03-13 16:00:00+00:00,0.14599397214810023 +1722,2019-03-13 17:00:00+00:00,0.35083971954328996 +1723,2019-03-13 18:00:00+00:00,0.34929646640007334 +1724,2019-03-13 19:00:00+00:00,0.32683753202835497 +1725,2019-03-13 20:00:00+00:00,0.2775379391264953 +1726,2019-03-13 21:00:00+00:00,0.17993098526801893 +1727,2019-03-13 22:00:00+00:00,0.08496964125042945 +1728,2019-03-13 23:00:00+00:00,0.036724301416747006 +1729,2019-03-14 00:00:00+00:00,0.014728750426456846 +1730,2019-03-14 01:00:00+00:00,0.004792133069255075 +1731,2019-03-14 02:00:00+00:00,0.0026426514238331138 +1732,2019-03-14 03:00:00+00:00,0.003819753418264787 +1733,2019-03-14 04:00:00+00:00,0.018085961818742752 +1734,2019-03-14 05:00:00+00:00,0.10754819107357994 +1735,2019-03-14 06:00:00+00:00,0.23102217415978918 +1736,2019-03-14 07:00:00+00:00,0.17175263696651732 +1737,2019-03-14 08:00:00+00:00,0.17090696509590683 +1738,2019-03-14 09:00:00+00:00,0.20132980450335314 +1739,2019-03-14 10:00:00+00:00,0.2316011571764143 +1740,2019-03-14 11:00:00+00:00,0.3179505219496357 +1741,2019-03-14 12:00:00+00:00,0.26827963744702016 +1742,2019-03-14 13:00:00+00:00,0.14360325448423733 +1743,2019-03-14 14:00:00+00:00,0.06743825365217063 +1744,2019-03-14 15:00:00+00:00,0.04103649642212298 +1745,2019-03-14 16:00:00+00:00,0.12294619287906652 +1746,2019-03-14 17:00:00+00:00,0.3259796237145178 +1747,2019-03-14 18:00:00+00:00,0.34156660751837264 +1748,2019-03-14 19:00:00+00:00,0.31353532272743434 +1749,2019-03-14 20:00:00+00:00,0.2639900749076753 +1750,2019-03-14 21:00:00+00:00,0.17382656292004534 +1751,2019-03-14 22:00:00+00:00,0.08241095592512497 +1752,2019-03-14 23:00:00+00:00,0.03598728572977097 +1753,2019-03-15 00:00:00+00:00,0.014303566647624546 +1754,2019-03-15 01:00:00+00:00,0.004541456419917832 +1755,2019-03-15 02:00:00+00:00,0.002467058623853395 +1756,2019-03-15 03:00:00+00:00,0.0035416495853865504 +1757,2019-03-15 04:00:00+00:00,0.0159286821902259 +1758,2019-03-15 05:00:00+00:00,0.0991630189111218 +1759,2019-03-15 06:00:00+00:00,0.2148126961158939 +1760,2019-03-15 07:00:00+00:00,0.15687364059838396 +1761,2019-03-15 08:00:00+00:00,0.15472237988683013 +1762,2019-03-15 09:00:00+00:00,0.18049730437977476 +1763,2019-03-15 10:00:00+00:00,0.2053171464237604 +1764,2019-03-15 11:00:00+00:00,0.2740883622643435 +1765,2019-03-15 12:00:00+00:00,0.23228387684378338 +1766,2019-03-15 13:00:00+00:00,0.1250370883500357 +1767,2019-03-15 14:00:00+00:00,0.05721378230984321 +1768,2019-03-15 15:00:00+00:00,0.035552788922365214 +1769,2019-03-15 16:00:00+00:00,0.08514867868442134 +1770,2019-03-15 17:00:00+00:00,0.25502318866265056 +1771,2019-03-15 18:00:00+00:00,0.31971915419215136 +1772,2019-03-15 19:00:00+00:00,0.2976817095573056 +1773,2019-03-15 20:00:00+00:00,0.2488634698915648 +1774,2019-03-15 21:00:00+00:00,0.16447034303473218 +1775,2019-03-15 22:00:00+00:00,0.07808975250305347 +1776,2019-03-15 23:00:00+00:00,0.03360718558244107 +1777,2019-03-16 00:00:00+00:00,0.013638841281682518 +1778,2019-03-16 01:00:00+00:00,0.0039190339301515 +1779,2019-03-16 02:00:00+00:00,0.0021256959881708983 +1780,2019-03-16 03:00:00+00:00,0.0028303663019171896 +1781,2019-03-16 04:00:00+00:00,0.01274754136132883 +1782,2019-03-16 05:00:00+00:00,0.08646363289216819 +1783,2019-03-16 06:00:00+00:00,0.18239086599434112 +1784,2019-03-16 07:00:00+00:00,0.13366876335825303 +1785,2019-03-16 08:00:00+00:00,0.13857070691935408 +1786,2019-03-16 09:00:00+00:00,0.16586739083006208 +1787,2019-03-16 10:00:00+00:00,0.1909139989185964 +1788,2019-03-16 11:00:00+00:00,0.2605561139237057 +1789,2019-03-16 12:00:00+00:00,0.2169614672295444 +1790,2019-03-16 13:00:00+00:00,0.11729732013336772 +1791,2019-03-16 14:00:00+00:00,0.053141462287416216 +1792,2019-03-16 15:00:00+00:00,0.0334064473728755 +1793,2019-03-16 16:00:00+00:00,0.06906737323204278 +1794,2019-03-16 17:00:00+00:00,0.2136894054488367 +1795,2019-03-16 18:00:00+00:00,0.29510412633244826 +1796,2019-03-16 19:00:00+00:00,0.27222092723643676 +1797,2019-03-16 20:00:00+00:00,0.22461960098073824 +1798,2019-03-16 21:00:00+00:00,0.14623741118649872 +1799,2019-03-16 22:00:00+00:00,0.07210466447132657 +1800,2019-03-16 23:00:00+00:00,0.030457561598880554 +1801,2019-03-17 00:00:00+00:00,0.01255807692690591 +1802,2019-03-17 01:00:00+00:00,0.003457017607327006 +1803,2019-03-17 02:00:00+00:00,0.0017317559929975598 +1804,2019-03-17 03:00:00+00:00,0.002500652918144645 +1805,2019-03-17 04:00:00+00:00,0.010277346132160891 +1806,2019-03-17 05:00:00+00:00,0.07517410239931878 +1807,2019-03-17 06:00:00+00:00,0.15835048838710672 +1808,2019-03-17 07:00:00+00:00,0.12075897827203423 +1809,2019-03-17 08:00:00+00:00,0.13193715212938614 +1810,2019-03-17 09:00:00+00:00,0.1563692705264776 +1811,2019-03-17 10:00:00+00:00,0.17871212452931495 +1812,2019-03-17 11:00:00+00:00,0.2317448470387407 +1813,2019-03-17 12:00:00+00:00,0.19372717741910017 +1814,2019-03-17 13:00:00+00:00,0.09484922575058514 +1815,2019-03-17 14:00:00+00:00,0.03687035729132634 +1816,2019-03-17 15:00:00+00:00,0.023260241023548293 +1817,2019-03-17 16:00:00+00:00,0.04364420232147755 +1818,2019-03-17 17:00:00+00:00,0.11507907023915703 +1819,2019-03-17 18:00:00+00:00,0.2287083875885106 +1820,2019-03-17 19:00:00+00:00,0.3028703350463134 +1821,2019-03-17 20:00:00+00:00,0.25135465358850295 +1822,2019-03-17 21:00:00+00:00,0.1643495072929573 +1823,2019-03-17 22:00:00+00:00,0.07867943478435048 +1824,2019-03-17 23:00:00+00:00,0.03590824207518447 +1825,2019-03-18 00:00:00+00:00,0.01420192850797899 +1826,2019-03-18 01:00:00+00:00,0.004206634261763639 +1827,2019-03-18 02:00:00+00:00,0.002466874203252462 +1828,2019-03-18 03:00:00+00:00,0.003316255974778792 +1829,2019-03-18 04:00:00+00:00,0.013620148143953096 +1830,2019-03-18 05:00:00+00:00,0.10341786727576045 +1831,2019-03-18 06:00:00+00:00,0.20532351521462608 +1832,2019-03-18 07:00:00+00:00,0.12828325900095283 +1833,2019-03-18 08:00:00+00:00,0.13066657282546468 +1834,2019-03-18 09:00:00+00:00,0.1611676689232983 +1835,2019-03-18 10:00:00+00:00,0.1837511283109143 +1836,2019-03-18 11:00:00+00:00,0.2649599714991158 +1837,2019-03-18 12:00:00+00:00,0.22581081370724665 +1838,2019-03-18 13:00:00+00:00,0.10499637907259371 +1839,2019-03-18 14:00:00+00:00,0.046242448072926136 +1840,2019-03-18 15:00:00+00:00,0.030442814120272135 +1841,2019-03-18 16:00:00+00:00,0.06170567296938147 +1842,2019-03-18 17:00:00+00:00,0.20711457114283804 +1843,2019-03-18 18:00:00+00:00,0.3401124528316846 +1844,2019-03-18 19:00:00+00:00,0.32322429442119366 +1845,2019-03-18 20:00:00+00:00,0.27657702505944 +1846,2019-03-18 21:00:00+00:00,0.1862516071623135 +1847,2019-03-18 22:00:00+00:00,0.09165840766427867 +1848,2019-03-18 23:00:00+00:00,0.042439291524212205 +1849,2019-03-19 00:00:00+00:00,0.01740578892084469 +1850,2019-03-19 01:00:00+00:00,0.005884740547580917 +1851,2019-03-19 02:00:00+00:00,0.003593150892640814 +1852,2019-03-19 03:00:00+00:00,0.006274112853666405 +1853,2019-03-19 04:00:00+00:00,0.030926952500594223 +1854,2019-03-19 05:00:00+00:00,0.16742520255454363 +1855,2019-03-19 06:00:00+00:00,0.32669242670603976 +1856,2019-03-19 07:00:00+00:00,0.2443552392492167 +1857,2019-03-19 08:00:00+00:00,0.22891922038135756 +1858,2019-03-19 09:00:00+00:00,0.2329033602842771 +1859,2019-03-19 10:00:00+00:00,0.24393061715186948 +1860,2019-03-19 11:00:00+00:00,0.3042088310825183 +1861,2019-03-19 12:00:00+00:00,0.22469204628692308 +1862,2019-03-19 13:00:00+00:00,0.11593786189776326 +1863,2019-03-19 14:00:00+00:00,0.05506143223183124 +1864,2019-03-19 15:00:00+00:00,0.03399994043322818 +1865,2019-03-19 16:00:00+00:00,0.07705096796449999 +1866,2019-03-19 17:00:00+00:00,0.23092696989900657 +1867,2019-03-19 18:00:00+00:00,0.34281996716814733 +1868,2019-03-19 19:00:00+00:00,0.3286342249328963 +1869,2019-03-19 20:00:00+00:00,0.28415909737899125 +1870,2019-03-19 21:00:00+00:00,0.19020684651701023 +1871,2019-03-19 22:00:00+00:00,0.09459868936600326 +1872,2019-03-19 23:00:00+00:00,0.04110988499277679 +1873,2019-03-20 00:00:00+00:00,0.015507439893510166 +1874,2019-03-20 01:00:00+00:00,0.005372541405587575 +1875,2019-03-20 02:00:00+00:00,0.003040595318462735 +1876,2019-03-20 03:00:00+00:00,0.004145922897071944 +1877,2019-03-20 04:00:00+00:00,0.02144255680651 +1878,2019-03-20 05:00:00+00:00,0.1221436814367305 +1879,2019-03-20 06:00:00+00:00,0.24681729485340165 +1880,2019-03-20 07:00:00+00:00,0.17895920975254667 +1881,2019-03-20 08:00:00+00:00,0.17218710742272628 +1882,2019-03-20 09:00:00+00:00,0.19402608107897926 +1883,2019-03-20 10:00:00+00:00,0.22158460946372074 +1884,2019-03-20 11:00:00+00:00,0.3062712650177758 +1885,2019-03-20 12:00:00+00:00,0.2556262847864129 +1886,2019-03-20 13:00:00+00:00,0.13663257778796023 +1887,2019-03-20 14:00:00+00:00,0.062342244543528345 +1888,2019-03-20 15:00:00+00:00,0.03718074711705116 +1889,2019-03-20 16:00:00+00:00,0.08581347677771842 +1890,2019-03-20 17:00:00+00:00,0.25515180037813123 +1891,2019-03-20 18:00:00+00:00,0.32465709814168814 +1892,2019-03-20 19:00:00+00:00,0.30118388318409517 +1893,2019-03-20 20:00:00+00:00,0.25170574608823015 +1894,2019-03-20 21:00:00+00:00,0.1747406272652988 +1895,2019-03-20 22:00:00+00:00,0.08638155264958314 +1896,2019-03-20 23:00:00+00:00,0.037453740705827486 +1897,2019-03-21 00:00:00+00:00,0.015442087689340342 +1898,2019-03-21 01:00:00+00:00,0.005030543684425859 +1899,2019-03-21 02:00:00+00:00,0.0028231049093946177 +1900,2019-03-21 03:00:00+00:00,0.0037897582022205258 +1901,2019-03-21 04:00:00+00:00,0.01967371650133491 +1902,2019-03-21 05:00:00+00:00,0.11453867430420567 +1903,2019-03-21 06:00:00+00:00,0.2303524445359611 +1904,2019-03-21 07:00:00+00:00,0.1635159436791585 +1905,2019-03-21 08:00:00+00:00,0.15759369538478607 +1906,2019-03-21 09:00:00+00:00,0.1819229286145255 +1907,2019-03-21 10:00:00+00:00,0.20848822480122073 +1908,2019-03-21 11:00:00+00:00,0.2847767362192623 +1909,2019-03-21 12:00:00+00:00,0.23595141928611615 +1910,2019-03-21 13:00:00+00:00,0.1268798686802085 +1911,2019-03-21 14:00:00+00:00,0.05697010640308216 +1912,2019-03-21 15:00:00+00:00,0.034565543798182156 +1913,2019-03-21 16:00:00+00:00,0.07321129782575009 +1914,2019-03-21 17:00:00+00:00,0.23196620855236066 +1915,2019-03-21 18:00:00+00:00,0.3210260680385347 +1916,2019-03-21 19:00:00+00:00,0.3038604408654219 +1917,2019-03-21 20:00:00+00:00,0.26312365963973006 +1918,2019-03-21 21:00:00+00:00,0.17745762026167836 +1919,2019-03-21 22:00:00+00:00,0.08852267899700854 +1920,2019-03-21 23:00:00+00:00,0.03859889783363447 +1921,2019-03-22 00:00:00+00:00,0.014974436366262965 +1922,2019-03-22 01:00:00+00:00,0.004782029628392524 +1923,2019-03-22 02:00:00+00:00,0.0027044933275979094 +1924,2019-03-22 03:00:00+00:00,0.0035570532204120416 +1925,2019-03-22 04:00:00+00:00,0.017650237814831597 +1926,2019-03-22 05:00:00+00:00,0.10907161692259376 +1927,2019-03-22 06:00:00+00:00,0.22477609173094285 +1928,2019-03-22 07:00:00+00:00,0.1683327986184484 +1929,2019-03-22 08:00:00+00:00,0.17086978519215332 +1930,2019-03-22 09:00:00+00:00,0.19487511604356017 +1931,2019-03-22 10:00:00+00:00,0.208628104931046 +1932,2019-03-22 11:00:00+00:00,0.2733658727221739 +1933,2019-03-22 12:00:00+00:00,0.21294514480438873 +1934,2019-03-22 13:00:00+00:00,0.07710616029227485 +1935,2019-03-22 14:00:00+00:00,0.020107928113387574 +1936,2019-03-22 15:00:00+00:00,0.018783729361731363 +1937,2019-03-22 16:00:00+00:00,0.030731036253143242 +1938,2019-03-22 17:00:00+00:00,0.06021584603872419 +1939,2019-03-22 18:00:00+00:00,0.07766474510775226 +1940,2019-03-22 19:00:00+00:00,0.10772875975110753 +1941,2019-03-22 20:00:00+00:00,0.13578356783165674 +1942,2019-03-22 21:00:00+00:00,0.1324623854664297 +1943,2019-03-22 22:00:00+00:00,0.07390998623866482 +1944,2019-03-22 23:00:00+00:00,0.03334899295988233 +1945,2019-03-23 00:00:00+00:00,0.013110363371534907 +1946,2019-03-23 01:00:00+00:00,0.0035797202056877804 +1947,2019-03-23 02:00:00+00:00,0.001852488821871197 +1948,2019-03-23 03:00:00+00:00,0.002958109831279746 +1949,2019-03-23 04:00:00+00:00,0.009714373632715701 +1950,2019-03-23 05:00:00+00:00,0.07736023350554935 +1951,2019-03-23 06:00:00+00:00,0.1623388407876324 +1952,2019-03-23 07:00:00+00:00,0.11722773685773119 +1953,2019-03-23 08:00:00+00:00,0.1267954097703607 +1954,2019-03-23 09:00:00+00:00,0.15141051956303214 +1955,2019-03-23 10:00:00+00:00,0.17327158159518172 +1956,2019-03-23 11:00:00+00:00,0.23595017722294237 +1957,2019-03-23 12:00:00+00:00,0.194427727161889 +1958,2019-03-23 13:00:00+00:00,0.10680407474873405 +1959,2019-03-23 14:00:00+00:00,0.047254626790127076 +1960,2019-03-23 15:00:00+00:00,0.0299964960656582 +1961,2019-03-23 16:00:00+00:00,0.05580913343872413 +1962,2019-03-23 17:00:00+00:00,0.1891110055421208 +1963,2019-03-23 18:00:00+00:00,0.3077115373212519 +1964,2019-03-23 19:00:00+00:00,0.3015588086255451 +1965,2019-03-23 20:00:00+00:00,0.2505173285984457 +1966,2019-03-23 21:00:00+00:00,0.1646984681586266 +1967,2019-03-23 22:00:00+00:00,0.08027148626080641 +1968,2019-03-23 23:00:00+00:00,0.03867625889488952 +1969,2019-03-24 00:00:00+00:00,0.01551970840535137 +1970,2019-03-24 01:00:00+00:00,0.00530270166632566 +1971,2019-03-24 02:00:00+00:00,0.0030418368278963435 +1972,2019-03-24 03:00:00+00:00,0.004381873750658669 +1973,2019-03-24 04:00:00+00:00,0.02095202532433344 +1974,2019-03-24 05:00:00+00:00,0.13716580249717905 +1975,2019-03-24 06:00:00+00:00,0.2552785926901729 +1976,2019-03-24 07:00:00+00:00,0.17331595338579486 +1977,2019-03-24 08:00:00+00:00,0.16534907931444845 +1978,2019-03-24 09:00:00+00:00,0.18788924081936306 +1979,2019-03-24 10:00:00+00:00,0.20276678090346903 +1980,2019-03-24 11:00:00+00:00,0.2753953263967467 +1981,2019-03-24 12:00:00+00:00,0.21505735979111953 +1982,2019-03-24 13:00:00+00:00,0.08821603572976786 +1983,2019-03-24 14:00:00+00:00,0.024562606756459278 +1984,2019-03-24 15:00:00+00:00,0.018783729361731363 +1985,2019-03-24 16:00:00+00:00,0.033298772035085994 +1986,2019-03-24 17:00:00+00:00,0.07233973937752333 +1987,2019-03-24 18:00:00+00:00,0.10662464558384492 +1988,2019-03-24 19:00:00+00:00,0.16829882653018854 +1989,2019-03-24 20:00:00+00:00,0.22325895350598668 +1990,2019-03-24 21:00:00+00:00,0.16919151164293478 +1991,2019-03-24 22:00:00+00:00,0.08112940225750791 +1992,2019-03-24 23:00:00+00:00,0.03644885319262919 +1993,2019-03-25 00:00:00+00:00,0.013909406608007597 +1994,2019-03-25 01:00:00+00:00,0.004455737382075987 +1995,2019-03-25 02:00:00+00:00,0.002301665742660499 +1996,2019-03-25 03:00:00+00:00,0.0034137295805605405 +1997,2019-03-25 04:00:00+00:00,0.013488188190201809 +1998,2019-03-25 05:00:00+00:00,0.0993652450634537 +1999,2019-03-25 06:00:00+00:00,0.20462123274209448 +2000,2019-03-25 07:00:00+00:00,0.12707636063058883 +2001,2019-03-25 08:00:00+00:00,0.11768259596429442 +2002,2019-03-25 09:00:00+00:00,0.13711695366611684 +2003,2019-03-25 10:00:00+00:00,0.16228192294582838 +2004,2019-03-25 11:00:00+00:00,0.23773289958367175 +2005,2019-03-25 12:00:00+00:00,0.19122951267290733 +2006,2019-03-25 13:00:00+00:00,0.10787336587673302 +2007,2019-03-25 14:00:00+00:00,0.04872951389322898 +2008,2019-03-25 15:00:00+00:00,0.03159181436350012 +2009,2019-03-25 16:00:00+00:00,0.07348663388517244 +2010,2019-03-25 17:00:00+00:00,0.24486771822836634 +2011,2019-03-25 18:00:00+00:00,0.3326015558399548 +2012,2019-03-25 19:00:00+00:00,0.30848357596787696 +2013,2019-03-25 20:00:00+00:00,0.2530430523720693 +2014,2019-03-25 21:00:00+00:00,0.16395402689135277 +2015,2019-03-25 22:00:00+00:00,0.07855223183872072 +2016,2019-03-25 23:00:00+00:00,0.035793264957452074 +2017,2019-03-26 00:00:00+00:00,0.014125667238105603 +2018,2019-03-26 01:00:00+00:00,0.004338264582933014 +2019,2019-03-26 02:00:00+00:00,0.002601804652208748 +2020,2019-03-26 03:00:00+00:00,0.003592047185601036 +2021,2019-03-26 04:00:00+00:00,0.01478301631157178 +2022,2019-03-26 05:00:00+00:00,0.10952055269045756 +2023,2019-03-26 06:00:00+00:00,0.21942944976879514 +2024,2019-03-26 07:00:00+00:00,0.1534638368779453 +2025,2019-03-26 08:00:00+00:00,0.15212581686350132 +2026,2019-03-26 09:00:00+00:00,0.17707061287953874 +2027,2019-03-26 10:00:00+00:00,0.20418796093958266 +2028,2019-03-26 11:00:00+00:00,0.2827050056459133 +2029,2019-03-26 12:00:00+00:00,0.23296091341452763 +2030,2019-03-26 13:00:00+00:00,0.12687019761050838 +2031,2019-03-26 14:00:00+00:00,0.056993419567006445 +2032,2019-03-26 15:00:00+00:00,0.03437712073157328 +2033,2019-03-26 16:00:00+00:00,0.07124190172089155 +2034,2019-03-26 17:00:00+00:00,0.2358119744437288 +2035,2019-03-26 18:00:00+00:00,0.33463450466829536 +2036,2019-03-26 19:00:00+00:00,0.30958400798153807 +2037,2019-03-26 20:00:00+00:00,0.2538821347680203 +2038,2019-03-26 21:00:00+00:00,0.16614795633355053 +2039,2019-03-26 22:00:00+00:00,0.08022364079259203 +2040,2019-03-26 23:00:00+00:00,0.03602202212898387 +2041,2019-03-27 00:00:00+00:00,0.014380399334990735 +2042,2019-03-27 01:00:00+00:00,0.0047198905066032455 +2043,2019-03-27 02:00:00+00:00,0.0025754466998495116 +2044,2019-03-27 03:00:00+00:00,0.0033641022713129104 +2045,2019-03-27 04:00:00+00:00,0.014908643268819124 +2046,2019-03-27 05:00:00+00:00,0.10242331860354878 +2047,2019-03-27 06:00:00+00:00,0.10881592706947225 +2048,2019-03-27 07:00:00+00:00,0.08167800880556518 +2049,2019-03-27 08:00:00+00:00,0.09806351020037216 +2050,2019-03-27 09:00:00+00:00,0.09769476707162282 +2051,2019-03-27 10:00:00+00:00,0.10705481879427271 +2052,2019-03-27 11:00:00+00:00,0.15349033741732587 +2053,2019-03-27 12:00:00+00:00,0.121808513271665 +2054,2019-03-27 13:00:00+00:00,0.06582225319329754 +2055,2019-03-27 14:00:00+00:00,0.030515103964100843 +2056,2019-03-27 15:00:00+00:00,0.023538170501978015 +2057,2019-03-27 16:00:00+00:00,0.03302266646397725 +2058,2019-03-27 17:00:00+00:00,0.08732380894630364 +2059,2019-03-27 18:00:00+00:00,0.17985853460182544 +2060,2019-03-27 19:00:00+00:00,0.2627037502204637 +2061,2019-03-27 20:00:00+00:00,0.23558280176772634 +2062,2019-03-27 21:00:00+00:00,0.15505990051526888 +2063,2019-03-27 22:00:00+00:00,0.07447644568623435 +2064,2019-03-27 23:00:00+00:00,0.03355590991487385 +2065,2019-03-28 00:00:00+00:00,0.013192387766230683 +2066,2019-03-28 01:00:00+00:00,0.0036085195440513367 +2067,2019-03-28 02:00:00+00:00,0.0018250099193851594 +2068,2019-03-28 03:00:00+00:00,0.0028748691904274468 +2069,2019-03-28 04:00:00+00:00,0.01044319187919298 +2070,2019-03-28 05:00:00+00:00,0.08183961305567175 +2071,2019-03-28 06:00:00+00:00,0.11301934348255528 +2072,2019-03-28 07:00:00+00:00,0.09847757650453894 +2073,2019-03-28 08:00:00+00:00,0.1122132599558552 +2074,2019-03-28 09:00:00+00:00,0.12828798508627948 +2075,2019-03-28 10:00:00+00:00,0.14775416748090162 +2076,2019-03-28 11:00:00+00:00,0.21056299071506318 +2077,2019-03-28 12:00:00+00:00,0.16933429595286403 +2078,2019-03-28 13:00:00+00:00,0.0906648056074765 +2079,2019-03-28 14:00:00+00:00,0.03957878896781463 +2080,2019-03-28 15:00:00+00:00,0.026135177232027056 +2081,2019-03-28 16:00:00+00:00,0.03339549266423013 +2082,2019-03-28 17:00:00+00:00,0.08129857439429966 +2083,2019-03-28 18:00:00+00:00,0.17197617640516594 +2084,2019-03-28 19:00:00+00:00,0.2624778578617495 +2085,2019-03-28 20:00:00+00:00,0.23684077219678434 +2086,2019-03-28 21:00:00+00:00,0.16198045286244567 +2087,2019-03-28 22:00:00+00:00,0.07986098257165783 +2088,2019-03-28 23:00:00+00:00,0.03720035282122146 +2089,2019-03-29 00:00:00+00:00,0.014735243901334964 +2090,2019-03-29 01:00:00+00:00,0.004604815700333812 +2091,2019-03-29 02:00:00+00:00,0.0024997110098828493 +2092,2019-03-29 03:00:00+00:00,0.0038605424143032924 +2093,2019-03-29 04:00:00+00:00,0.016846679015090148 +2094,2019-03-29 05:00:00+00:00,0.11696657581510714 +2095,2019-03-29 06:00:00+00:00,0.11513044968640304 +2096,2019-03-29 07:00:00+00:00,0.07554113899873145 +2097,2019-03-29 08:00:00+00:00,0.07223419981203334 +2098,2019-03-29 09:00:00+00:00,0.04845911784236879 +2099,2019-03-29 10:00:00+00:00,0.03960698927058352 +2100,2019-03-29 11:00:00+00:00,0.037537402622194564 +2101,2019-03-29 12:00:00+00:00,0.026565328615927527 +2102,2019-03-29 13:00:00+00:00,0.023193056773306322 +2103,2019-03-29 14:00:00+00:00,0.016696648303641363 +2104,2019-03-29 15:00:00+00:00,0.018783729361731363 +2105,2019-03-29 16:00:00+00:00,0.030610522077929875 +2106,2019-03-29 17:00:00+00:00,0.054397702731191606 +2107,2019-03-29 18:00:00+00:00,0.056615980625624264 +2108,2019-03-29 19:00:00+00:00,0.051798454094121225 +2109,2019-03-29 20:00:00+00:00,0.04271486044152448 +2110,2019-03-29 21:00:00+00:00,0.03241048273691273 +2111,2019-03-29 22:00:00+00:00,0.018822078662432205 +2112,2019-03-29 23:00:00+00:00,0.009766712382445504 +2113,2019-03-30 00:00:00+00:00,0.0052319205091389785 +2114,2019-03-30 01:00:00+00:00,0.0019183940278299995 +2115,2019-03-30 02:00:00+00:00,0.0018839634930500452 +2116,2019-03-30 03:00:00+00:00,0.0022535150162218704 +2117,2019-03-30 04:00:00+00:00,0.007581047607085067 +2118,2019-03-30 05:00:00+00:00,0.05433506652138433 +2119,2019-03-30 06:00:00+00:00,0.07443687796067072 +2120,2019-03-30 07:00:00+00:00,0.05781910671789505 +2121,2019-03-30 08:00:00+00:00,0.062404305356981625 +2122,2019-03-30 09:00:00+00:00,0.04519874908397601 +2123,2019-03-30 10:00:00+00:00,0.040818039842463245 +2124,2019-03-30 11:00:00+00:00,0.039821197468005866 +2125,2019-03-30 12:00:00+00:00,0.026927868913901788 +2126,2019-03-30 13:00:00+00:00,0.023954161216026146 +2127,2019-03-30 14:00:00+00:00,0.016731818480042283 +2128,2019-03-30 15:00:00+00:00,0.01879323099337219 +2129,2019-03-30 16:00:00+00:00,0.030610522077929875 +2130,2019-03-30 17:00:00+00:00,0.055801543963087924 +2131,2019-03-30 18:00:00+00:00,0.05820151275663298 +2132,2019-03-30 19:00:00+00:00,0.05417566382123907 +2133,2019-03-30 20:00:00+00:00,0.05390768348589822 +2134,2019-03-30 21:00:00+00:00,0.04816957073369406 +2135,2019-03-30 22:00:00+00:00,0.0255184024834197 +2136,2019-03-30 23:00:00+00:00,0.010980847653289164 +2137,2019-03-31 00:00:00+00:00,0.005389564948421766 +2138,2019-03-31 01:00:00+00:00,0.0009264749716554854 +2139,2019-03-31 02:00:00+00:00,0.0009879271902360257 +2140,2019-03-31 03:00:00+00:00,0.002331038763952272 +2141,2019-03-31 04:00:00+00:00,0.01171454744081195 +2142,2019-03-31 05:00:00+00:00,0.07185347417863623 +2143,2019-03-31 06:00:00+00:00,0.09831616213565503 +2144,2019-03-31 07:00:00+00:00,0.0846972502114262 +2145,2019-03-31 08:00:00+00:00,0.10014675319244858 +2146,2019-03-31 09:00:00+00:00,0.0839177433680824 +2147,2019-03-31 10:00:00+00:00,0.07395811465515291 +2148,2019-03-31 11:00:00+00:00,0.06097986937771804 +2149,2019-03-31 12:00:00+00:00,0.03887929664360906 +2150,2019-03-31 13:00:00+00:00,0.022413538201694342 +2151,2019-03-31 14:00:00+00:00,0.016696648303641363 +2152,2019-03-31 15:00:00+00:00,0.018783729361731363 +2153,2019-03-31 16:00:00+00:00,0.030610522077929875 +2154,2019-03-31 17:00:00+00:00,0.05433642156367335 +2155,2019-03-31 18:00:00+00:00,0.05669635796793084 +2156,2019-03-31 19:00:00+00:00,0.050313832393074166 +2157,2019-03-31 20:00:00+00:00,0.04229084631661589 +2158,2019-03-31 21:00:00+00:00,0.030785414439966265 +2159,2019-03-31 22:00:00+00:00,0.018062291558538224 +2160,2019-03-31 23:00:00+00:00,0.007115509179286555 +2161,2019-04-01 00:00:00+00:00,0.0038618384908060935 +2162,2019-04-01 01:00:00+00:00,0.0018099998337856866 +2163,2019-04-01 02:00:00+00:00,0.001563754355250183 +2164,2019-04-01 03:00:00+00:00,0.004119868808304704 +2165,2019-04-01 04:00:00+00:00,0.021171026670131 +2166,2019-04-01 05:00:00+00:00,0.08994639634158957 +2167,2019-04-01 06:00:00+00:00,0.09525486110407128 +2168,2019-04-01 07:00:00+00:00,0.05898314089726713 +2169,2019-04-01 08:00:00+00:00,0.06288948573111583 +2170,2019-04-01 09:00:00+00:00,0.04397680168166907 +2171,2019-04-01 10:00:00+00:00,0.037627085231935635 +2172,2019-04-01 11:00:00+00:00,0.03234772852309304 +2173,2019-04-01 12:00:00+00:00,0.02687507198163388 +2174,2019-04-01 13:00:00+00:00,0.021566504213233282 +2175,2019-04-01 14:00:00+00:00,0.016696648303641363 +2176,2019-04-01 15:00:00+00:00,0.018783729361731363 +2177,2019-04-01 16:00:00+00:00,0.030610522077929875 +2178,2019-04-01 17:00:00+00:00,0.054290110483991655 +2179,2019-04-01 18:00:00+00:00,0.056512828790532633 +2180,2019-04-01 19:00:00+00:00,0.05021040559324848 +2181,2019-04-01 20:00:00+00:00,0.04174194796205462 +2182,2019-04-01 21:00:00+00:00,0.029012108271877047 +2183,2019-04-01 22:00:00+00:00,0.014011830403132928 +2184,2019-04-01 23:00:00+00:00,0.005490350055590686 +2185,2019-04-02 00:00:00+00:00,0.003970728458363926 +2186,2019-04-02 01:00:00+00:00,0.0017118790419579676 +2187,2019-04-02 02:00:00+00:00,0.0014643066026664392 +2188,2019-04-02 03:00:00+00:00,0.0020707978022268237 +2189,2019-04-02 04:00:00+00:00,0.009832588416347633 +2190,2019-04-02 05:00:00+00:00,0.06292067370514255 +2191,2019-04-02 06:00:00+00:00,0.08082308014483519 +2192,2019-04-02 07:00:00+00:00,0.06440996823352703 +2193,2019-04-02 08:00:00+00:00,0.07574073457493036 +2194,2019-04-02 09:00:00+00:00,0.06754141892055134 +2195,2019-04-02 10:00:00+00:00,0.060101769514425404 +2196,2019-04-02 11:00:00+00:00,0.060254538256092276 +2197,2019-04-02 12:00:00+00:00,0.03971168249511711 +2198,2019-04-02 13:00:00+00:00,0.02586511663286006 +2199,2019-04-02 14:00:00+00:00,0.01713672742356187 +2200,2019-04-02 15:00:00+00:00,0.018836163928413537 +2201,2019-04-02 16:00:00+00:00,0.031537845328010905 +2202,2019-04-02 17:00:00+00:00,0.058118936850004625 +2203,2019-04-02 18:00:00+00:00,0.06481414002371752 +2204,2019-04-02 19:00:00+00:00,0.0852680261517394 +2205,2019-04-02 20:00:00+00:00,0.07206394747145022 +2206,2019-04-02 21:00:00+00:00,0.04454057518037673 +2207,2019-04-02 22:00:00+00:00,0.023411330765526168 +2208,2019-04-02 23:00:00+00:00,0.012136950476520513 +2209,2019-04-03 00:00:00+00:00,0.004935128402382472 +2210,2019-04-03 01:00:00+00:00,0.0015421202625682162 +2211,2019-04-03 02:00:00+00:00,0.0018272581591473197 +2212,2019-04-03 03:00:00+00:00,0.004360513978928542 +2213,2019-04-03 04:00:00+00:00,0.02460565718354985 +2214,2019-04-03 05:00:00+00:00,0.09411903294372656 +2215,2019-04-03 06:00:00+00:00,0.11727491224714037 +2216,2019-04-03 07:00:00+00:00,0.10286209378828776 +2217,2019-04-03 08:00:00+00:00,0.13019153236682024 +2218,2019-04-03 09:00:00+00:00,0.11930982189647929 +2219,2019-04-03 10:00:00+00:00,0.11748037193760016 +2220,2019-04-03 11:00:00+00:00,0.13902753973480705 +2221,2019-04-03 12:00:00+00:00,0.0792299651797492 +2222,2019-04-03 13:00:00+00:00,0.03895983635316254 +2223,2019-04-03 14:00:00+00:00,0.020941711757648366 +2224,2019-04-03 15:00:00+00:00,0.019594750726059457 +2225,2019-04-03 16:00:00+00:00,0.03227031026642946 +2226,2019-04-03 17:00:00+00:00,0.06619245034325955 +2227,2019-04-03 18:00:00+00:00,0.12094710110805781 +2228,2019-04-03 19:00:00+00:00,0.16530522455065855 +2229,2019-04-03 20:00:00+00:00,0.14842167950045806 +2230,2019-04-03 21:00:00+00:00,0.08545013619092279 +2231,2019-04-03 22:00:00+00:00,0.0435743056674927 +2232,2019-04-03 23:00:00+00:00,0.015993330114489668 +2233,2019-04-04 00:00:00+00:00,0.006497598612521598 +2234,2019-04-04 01:00:00+00:00,0.0024474352306454125 +2235,2019-04-04 02:00:00+00:00,0.0027422646644134885 +2236,2019-04-04 03:00:00+00:00,0.00805884925675922 +2237,2019-04-04 04:00:00+00:00,0.05576968685332005 +2238,2019-04-04 05:00:00+00:00,0.17129796572575728 +2239,2019-04-04 06:00:00+00:00,0.16300608748510437 +2240,2019-04-04 07:00:00+00:00,0.13769083110555633 +2241,2019-04-04 08:00:00+00:00,0.18203018240756144 +2242,2019-04-04 09:00:00+00:00,0.17909101515567055 +2243,2019-04-04 10:00:00+00:00,0.18782463655083823 +2244,2019-04-04 11:00:00+00:00,0.22445092099019676 +2245,2019-04-04 12:00:00+00:00,0.11789642154871828 +2246,2019-04-04 13:00:00+00:00,0.055690672177051245 +2247,2019-04-04 14:00:00+00:00,0.027306060402821544 +2248,2019-04-04 15:00:00+00:00,0.020930226350207616 +2249,2019-04-04 16:00:00+00:00,0.032724107582503485 +2250,2019-04-04 17:00:00+00:00,0.07591627232420942 +2251,2019-04-04 18:00:00+00:00,0.13770000095020196 +2252,2019-04-04 19:00:00+00:00,0.19697437710389387 +2253,2019-04-04 20:00:00+00:00,0.16587900035963316 +2254,2019-04-04 21:00:00+00:00,0.09246191481899697 +2255,2019-04-04 22:00:00+00:00,0.044713749373145754 +2256,2019-04-04 23:00:00+00:00,0.016510974487585733 +2257,2019-04-05 00:00:00+00:00,0.006722569366299727 +2258,2019-04-05 01:00:00+00:00,0.0026282627728358393 +2259,2019-04-05 02:00:00+00:00,0.0030662565504229727 +2260,2019-04-05 03:00:00+00:00,0.010535706312015874 +2261,2019-04-05 04:00:00+00:00,0.07197401115949936 +2262,2019-04-05 05:00:00+00:00,0.20047279330308995 +2263,2019-04-05 06:00:00+00:00,0.17553793696006093 +2264,2019-04-05 07:00:00+00:00,0.14408162666118798 +2265,2019-04-05 08:00:00+00:00,0.18355577463863315 +2266,2019-04-05 09:00:00+00:00,0.16999942405410018 +2267,2019-04-05 10:00:00+00:00,0.1350612162638451 +2268,2019-04-05 11:00:00+00:00,0.16061194413713395 +2269,2019-04-05 12:00:00+00:00,0.08942029912833385 +2270,2019-04-05 13:00:00+00:00,0.04079034961616064 +2271,2019-04-05 14:00:00+00:00,0.021669690973160738 +2272,2019-04-05 15:00:00+00:00,0.019363754320671063 +2273,2019-04-05 16:00:00+00:00,0.03212438152154709 +2274,2019-04-05 17:00:00+00:00,0.06267253776214032 +2275,2019-04-05 18:00:00+00:00,0.11469187400024258 +2276,2019-04-05 19:00:00+00:00,0.14192281599761192 +2277,2019-04-05 20:00:00+00:00,0.13929391974591526 +2278,2019-04-05 21:00:00+00:00,0.08403687875106455 +2279,2019-04-05 22:00:00+00:00,0.041769155429169307 +2280,2019-04-05 23:00:00+00:00,0.015085598844051678 +2281,2019-04-06 00:00:00+00:00,0.00591896234244918 +2282,2019-04-06 01:00:00+00:00,0.001977944994418797 +2283,2019-04-06 02:00:00+00:00,0.002282022553653018 +2284,2019-04-06 03:00:00+00:00,0.005786980099326926 +2285,2019-04-06 04:00:00+00:00,0.03910083247591036 +2286,2019-04-06 05:00:00+00:00,0.13393155490282568 +2287,2019-04-06 06:00:00+00:00,0.13557742050901517 +2288,2019-04-06 07:00:00+00:00,0.1189665481187327 +2289,2019-04-06 08:00:00+00:00,0.15705573627324912 +2290,2019-04-06 09:00:00+00:00,0.15075845332803167 +2291,2019-04-06 10:00:00+00:00,0.1554261004399073 +2292,2019-04-06 11:00:00+00:00,0.17608386946274995 +2293,2019-04-06 12:00:00+00:00,0.08831369533225057 +2294,2019-04-06 13:00:00+00:00,0.04188631914097658 +2295,2019-04-06 14:00:00+00:00,0.021922032451961327 +2296,2019-04-06 15:00:00+00:00,0.019006870247102098 +2297,2019-04-06 16:00:00+00:00,0.03153003335144107 +2298,2019-04-06 17:00:00+00:00,0.05832743513298683 +2299,2019-04-06 18:00:00+00:00,0.07661104042057217 +2300,2019-04-06 19:00:00+00:00,0.10472614167339109 +2301,2019-04-06 20:00:00+00:00,0.10253083745674002 +2302,2019-04-06 21:00:00+00:00,0.07421317913519149 +2303,2019-04-06 22:00:00+00:00,0.038189214273474326 +2304,2019-04-06 23:00:00+00:00,0.01378358739495049 +2305,2019-04-07 00:00:00+00:00,0.004888114142603092 +2306,2019-04-07 01:00:00+00:00,0.0013654808957261958 +2307,2019-04-07 02:00:00+00:00,0.0016361236326181627 +2308,2019-04-07 03:00:00+00:00,0.0038933844308348957 +2309,2019-04-07 04:00:00+00:00,0.02307968819711027 +2310,2019-04-07 05:00:00+00:00,0.09106375836804728 +2311,2019-04-07 06:00:00+00:00,0.10964334739089797 +2312,2019-04-07 07:00:00+00:00,0.09255248827639724 +2313,2019-04-07 08:00:00+00:00,0.11248207910503703 +2314,2019-04-07 09:00:00+00:00,0.09221197112413033 +2315,2019-04-07 10:00:00+00:00,0.049549333365017656 +2316,2019-04-07 11:00:00+00:00,0.03911469007092199 +2317,2019-04-07 12:00:00+00:00,0.029437006128786632 +2318,2019-04-07 13:00:00+00:00,0.02224885066108412 +2319,2019-04-07 14:00:00+00:00,0.016696648303641363 +2320,2019-04-07 15:00:00+00:00,0.018783729361731363 +2321,2019-04-07 16:00:00+00:00,0.030610522077929875 +2322,2019-04-07 17:00:00+00:00,0.055138478163067425 +2323,2019-04-07 18:00:00+00:00,0.05726640184146829 +2324,2019-04-07 19:00:00+00:00,0.05078095785114819 +2325,2019-04-07 20:00:00+00:00,0.043590078379555926 +2326,2019-04-07 21:00:00+00:00,0.03207343864781228 +2327,2019-04-07 22:00:00+00:00,0.017100147501996656 +2328,2019-04-07 23:00:00+00:00,0.006662714223779213 +2329,2019-04-08 00:00:00+00:00,0.0033819478704060395 +2330,2019-04-08 01:00:00+00:00,0.0008942349378975722 +2331,2019-04-08 02:00:00+00:00,0.0006956936323380683 +2332,2019-04-08 03:00:00+00:00,0.001588496243356433 +2333,2019-04-08 04:00:00+00:00,0.006679001982588564 +2334,2019-04-08 05:00:00+00:00,0.050485529221622534 +2335,2019-04-08 06:00:00+00:00,0.0704972210650862 +2336,2019-04-08 07:00:00+00:00,0.05139505447226507 +2337,2019-04-08 08:00:00+00:00,0.05959259815019069 +2338,2019-04-08 09:00:00+00:00,0.04329599586630687 +2339,2019-04-08 10:00:00+00:00,0.0373567113810977 +2340,2019-04-08 11:00:00+00:00,0.03130812295371708 +2341,2019-04-08 12:00:00+00:00,0.025044972535999098 +2342,2019-04-08 13:00:00+00:00,0.021566504213233282 +2343,2019-04-08 14:00:00+00:00,0.016696648303641363 +2344,2019-04-08 15:00:00+00:00,0.018783729361731363 +2345,2019-04-08 16:00:00+00:00,0.030610522077929875 +2346,2019-04-08 17:00:00+00:00,0.054264107188180546 +2347,2019-04-08 18:00:00+00:00,0.05517072162030056 +2348,2019-04-08 19:00:00+00:00,0.04939885153411841 +2349,2019-04-08 20:00:00+00:00,0.04129909986704785 +2350,2019-04-08 21:00:00+00:00,0.028806517810983808 +2351,2019-04-08 22:00:00+00:00,0.01391387361321366 +2352,2019-04-08 23:00:00+00:00,0.004869855748517227 +2353,2019-04-09 00:00:00+00:00,0.002782774690427579 +2354,2019-04-09 01:00:00+00:00,0.0006956936323380683 +2355,2019-04-09 02:00:00+00:00,0.0006956936323380683 +2356,2019-04-09 03:00:00+00:00,0.0013913874257514877 +2357,2019-04-09 04:00:00+00:00,0.005146047739226825 +2358,2019-04-09 05:00:00+00:00,0.040829045705418406 +2359,2019-04-09 06:00:00+00:00,0.06873437217777802 +2360,2019-04-09 07:00:00+00:00,0.0507541552800157 +2361,2019-04-09 08:00:00+00:00,0.060830063528275816 +2362,2019-04-09 09:00:00+00:00,0.044186405356538526 +2363,2019-04-09 10:00:00+00:00,0.038406058995113 +2364,2019-04-09 11:00:00+00:00,0.03268895811527517 +2365,2019-04-09 12:00:00+00:00,0.027930231185901246 +2366,2019-04-09 13:00:00+00:00,0.021572144816207395 +2367,2019-04-09 14:00:00+00:00,0.016696648303641363 +2368,2019-04-09 15:00:00+00:00,0.018783729361731363 +2369,2019-04-09 16:00:00+00:00,0.030610522077929875 +2370,2019-04-09 17:00:00+00:00,0.05496407544118984 +2371,2019-04-09 18:00:00+00:00,0.057124600249175726 +2372,2019-04-09 19:00:00+00:00,0.050485661397183614 +2373,2019-04-09 20:00:00+00:00,0.041643000482337045 +2374,2019-04-09 21:00:00+00:00,0.028947856445227096 +2375,2019-04-09 22:00:00+00:00,0.014904325922177454 +2376,2019-04-09 23:00:00+00:00,0.005902895977268146 +2377,2019-04-10 00:00:00+00:00,0.003216469479146465 +2378,2019-04-10 01:00:00+00:00,0.0006956936323380683 +2379,2019-04-10 02:00:00+00:00,0.0008861784531053399 +2380,2019-04-10 03:00:00+00:00,0.001703364955767918 +2381,2019-04-10 04:00:00+00:00,0.006034575647793858 +2382,2019-04-10 05:00:00+00:00,0.05109304390622152 +2383,2019-04-10 06:00:00+00:00,0.07058640935068679 +2384,2019-04-10 07:00:00+00:00,0.05188011318180428 +2385,2019-04-10 08:00:00+00:00,0.060212853882814374 +2386,2019-04-10 09:00:00+00:00,0.04338493858561291 +2387,2019-04-10 10:00:00+00:00,0.03748866976234476 +2388,2019-04-10 11:00:00+00:00,0.03166398599114799 +2389,2019-04-10 12:00:00+00:00,0.025535167749717418 +2390,2019-04-10 13:00:00+00:00,0.021566504213233282 +2391,2019-04-10 14:00:00+00:00,0.016696648303641363 +2392,2019-04-10 15:00:00+00:00,0.018783729361731363 +2393,2019-04-10 16:00:00+00:00,0.030610522077929875 +2394,2019-04-10 17:00:00+00:00,0.054264107188180546 +2395,2019-04-10 18:00:00+00:00,0.05525275503643692 +2396,2019-04-10 19:00:00+00:00,0.049922368211982975 +2397,2019-04-10 20:00:00+00:00,0.04145947543895175 +2398,2019-04-10 21:00:00+00:00,0.028960960107951735 +2399,2019-04-10 22:00:00+00:00,0.01391387361321366 +2400,2019-04-10 23:00:00+00:00,0.004869855748517227 +2401,2019-04-11 00:00:00+00:00,0.0028213456024317406 +2402,2019-04-11 01:00:00+00:00,0.0010399292470748558 +2403,2019-04-11 02:00:00+00:00,0.001392657415854715 +2404,2019-04-11 03:00:00+00:00,0.0020975956223325356 +2405,2019-04-11 04:00:00+00:00,0.006492388552699558 +2406,2019-04-11 05:00:00+00:00,0.04260703063428484 +2407,2019-04-11 06:00:00+00:00,0.07073980639332855 +2408,2019-04-11 07:00:00+00:00,0.05068087777124381 +2409,2019-04-11 08:00:00+00:00,0.06066609671266221 +2410,2019-04-11 09:00:00+00:00,0.04358387982770459 +2411,2019-04-11 10:00:00+00:00,0.03763620965182803 +2412,2019-04-11 11:00:00+00:00,0.0322906835089482 +2413,2019-04-11 12:00:00+00:00,0.027202954210871228 +2414,2019-04-11 13:00:00+00:00,0.021566504213233282 +2415,2019-04-11 14:00:00+00:00,0.016696648303641363 +2416,2019-04-11 15:00:00+00:00,0.018805016135583368 +2417,2019-04-11 16:00:00+00:00,0.030622836842185978 +2418,2019-04-11 17:00:00+00:00,0.05581025745899735 +2419,2019-04-11 18:00:00+00:00,0.05785482676524583 +2420,2019-04-11 19:00:00+00:00,0.05078230371891744 +2421,2019-04-11 20:00:00+00:00,0.04200592229486527 +2422,2019-04-11 21:00:00+00:00,0.028986923114473047 +2423,2019-04-11 22:00:00+00:00,0.013974098591896755 +2424,2019-04-11 23:00:00+00:00,0.00568079988589206 +2425,2019-04-12 00:00:00+00:00,0.0035950543113661415 +2426,2019-04-12 01:00:00+00:00,0.0014398827136076072 +2427,2019-04-12 02:00:00+00:00,0.0014467454136197022 +2428,2019-04-12 03:00:00+00:00,0.002089597244785456 +2429,2019-04-12 04:00:00+00:00,0.009541722815726785 +2430,2019-04-12 05:00:00+00:00,0.05998208789406807 +2431,2019-04-12 06:00:00+00:00,0.07637492429361106 +2432,2019-04-12 07:00:00+00:00,0.05597787821834958 +2433,2019-04-12 08:00:00+00:00,0.06334920341565144 +2434,2019-04-12 09:00:00+00:00,0.04712381204611316 +2435,2019-04-12 10:00:00+00:00,0.040049373952857195 +2436,2019-04-12 11:00:00+00:00,0.03929227153260963 +2437,2019-04-12 12:00:00+00:00,0.031098473211649373 +2438,2019-04-12 13:00:00+00:00,0.02305763470911131 +2439,2019-04-12 14:00:00+00:00,0.01737087562862874 +2440,2019-04-12 15:00:00+00:00,0.01881565049097328 +2441,2019-04-12 16:00:00+00:00,0.030677832393494885 +2442,2019-04-12 17:00:00+00:00,0.05691311364276338 +2443,2019-04-12 18:00:00+00:00,0.05944857172038624 +2444,2019-04-12 19:00:00+00:00,0.06368800465927181 +2445,2019-04-12 20:00:00+00:00,0.06875578935786607 +2446,2019-04-12 21:00:00+00:00,0.04240765255486492 +2447,2019-04-12 22:00:00+00:00,0.020344322758648385 +2448,2019-04-12 23:00:00+00:00,0.008270029011467036 +2449,2019-04-13 00:00:00+00:00,0.004917301449705602 +2450,2019-04-13 01:00:00+00:00,0.0025899962658779054 +2451,2019-04-13 02:00:00+00:00,0.002821116540911028 +2452,2019-04-13 03:00:00+00:00,0.006867578838850019 +2453,2019-04-13 04:00:00+00:00,0.03462335623810752 +2454,2019-04-13 05:00:00+00:00,0.10823990749490857 +2455,2019-04-13 06:00:00+00:00,0.10088178119019622 +2456,2019-04-13 07:00:00+00:00,0.05754292441099169 +2457,2019-04-13 08:00:00+00:00,0.06487918341591203 +2458,2019-04-13 09:00:00+00:00,0.04823401635093485 +2459,2019-04-13 10:00:00+00:00,0.0450951806644215 +2460,2019-04-13 11:00:00+00:00,0.044288516362222564 +2461,2019-04-13 12:00:00+00:00,0.03587723415721978 +2462,2019-04-13 13:00:00+00:00,0.02470286420432939 +2463,2019-04-13 14:00:00+00:00,0.01833042641742229 +2464,2019-04-13 15:00:00+00:00,0.019886746807978046 +2465,2019-04-13 16:00:00+00:00,0.03210341385799199 +2466,2019-04-13 17:00:00+00:00,0.06343498031038411 +2467,2019-04-13 18:00:00+00:00,0.10401257153663225 +2468,2019-04-13 19:00:00+00:00,0.105873107794787 +2469,2019-04-13 20:00:00+00:00,0.08330360781538336 +2470,2019-04-13 21:00:00+00:00,0.05038192478748351 +2471,2019-04-13 22:00:00+00:00,0.03270471081175827 +2472,2019-04-13 23:00:00+00:00,0.01674059037740612 +2473,2019-04-14 00:00:00+00:00,0.007466889153567964 +2474,2019-04-14 01:00:00+00:00,0.003255368761752536 +2475,2019-04-14 02:00:00+00:00,0.0035850303109740754 +2476,2019-04-14 03:00:00+00:00,0.009416623918843096 +2477,2019-04-14 04:00:00+00:00,0.05175705947868711 +2478,2019-04-14 05:00:00+00:00,0.16644703377540568 +2479,2019-04-14 06:00:00+00:00,0.15703612002009057 +2480,2019-04-14 07:00:00+00:00,0.12821002294660275 +2481,2019-04-14 08:00:00+00:00,0.10957164469264634 +2482,2019-04-14 09:00:00+00:00,0.0600040168891349 +2483,2019-04-14 10:00:00+00:00,0.048375549651377574 +2484,2019-04-14 11:00:00+00:00,0.05282799335982211 +2485,2019-04-14 12:00:00+00:00,0.0338551278222936 +2486,2019-04-14 13:00:00+00:00,0.02297396050703075 +2487,2019-04-14 14:00:00+00:00,0.01679423765911178 +2488,2019-04-14 15:00:00+00:00,0.018783729361731363 +2489,2019-04-14 16:00:00+00:00,0.030749892047991834 +2490,2019-04-14 17:00:00+00:00,0.05696836828894657 +2491,2019-04-14 18:00:00+00:00,0.059107559259200325 +2492,2019-04-14 19:00:00+00:00,0.053095012346271155 +2493,2019-04-14 20:00:00+00:00,0.06342210158902128 +2494,2019-04-14 21:00:00+00:00,0.04395817003300118 +2495,2019-04-14 22:00:00+00:00,0.02182801002248201 +2496,2019-04-14 23:00:00+00:00,0.009106011208283043 +2497,2019-04-15 00:00:00+00:00,0.0054963579395275 +2498,2019-04-15 01:00:00+00:00,0.0028605455057503413 +2499,2019-04-15 02:00:00+00:00,0.003048615162108386 +2500,2019-04-15 03:00:00+00:00,0.007460413216543429 +2501,2019-04-15 04:00:00+00:00,0.03925313011070352 +2502,2019-04-15 05:00:00+00:00,0.11861335772185407 +2503,2019-04-15 06:00:00+00:00,0.11927143948356861 +2504,2019-04-15 07:00:00+00:00,0.07523869449033802 +2505,2019-04-15 08:00:00+00:00,0.07266045855111979 +2506,2019-04-15 09:00:00+00:00,0.05324942878790209 +2507,2019-04-15 10:00:00+00:00,0.04831128316369798 +2508,2019-04-15 11:00:00+00:00,0.045100110574455815 +2509,2019-04-15 12:00:00+00:00,0.031805569027964366 +2510,2019-04-15 13:00:00+00:00,0.023414921176323357 +2511,2019-04-15 14:00:00+00:00,0.016696648303641363 +2512,2019-04-15 15:00:00+00:00,0.018783729361731363 +2513,2019-04-15 16:00:00+00:00,0.030610522077929875 +2514,2019-04-15 17:00:00+00:00,0.05436720688962586 +2515,2019-04-15 18:00:00+00:00,0.05725774485563279 +2516,2019-04-15 19:00:00+00:00,0.05057511337935582 +2517,2019-04-15 20:00:00+00:00,0.042155031698403664 +2518,2019-04-15 21:00:00+00:00,0.03058034645107073 +2519,2019-04-15 22:00:00+00:00,0.017791772772020445 +2520,2019-04-15 23:00:00+00:00,0.006622326653072173 +2521,2019-04-16 00:00:00+00:00,0.0038459218989051525 +2522,2019-04-16 01:00:00+00:00,0.0018868186470135488 +2523,2019-04-16 02:00:00+00:00,0.0015419818547236707 +2524,2019-04-16 03:00:00+00:00,0.003671561684594237 +2525,2019-04-16 04:00:00+00:00,0.01766394968085459 +2526,2019-04-16 05:00:00+00:00,0.07428293082774516 +2527,2019-04-16 06:00:00+00:00,0.07640302708377533 +2528,2019-04-16 07:00:00+00:00,0.05865276678689111 +2529,2019-04-16 08:00:00+00:00,0.07031617903979495 +2530,2019-04-16 09:00:00+00:00,0.06085476668854477 +2531,2019-04-16 10:00:00+00:00,0.05180749286492688 +2532,2019-04-16 11:00:00+00:00,0.040447616952008936 +2533,2019-04-16 12:00:00+00:00,0.031929284655562065 +2534,2019-04-16 13:00:00+00:00,0.023005003747929496 +2535,2019-04-16 14:00:00+00:00,0.016911858906938894 +2536,2019-04-16 15:00:00+00:00,0.018808113467297074 +2537,2019-04-16 16:00:00+00:00,0.030884654941376995 +2538,2019-04-16 17:00:00+00:00,0.056525120362505205 +2539,2019-04-16 18:00:00+00:00,0.05856863396399345 +2540,2019-04-16 19:00:00+00:00,0.054077798424954665 +2541,2019-04-16 20:00:00+00:00,0.05512554367585453 +2542,2019-04-16 21:00:00+00:00,0.03839717565414262 +2543,2019-04-16 22:00:00+00:00,0.019329914141188866 +2544,2019-04-16 23:00:00+00:00,0.007401840380963003 +2545,2019-04-17 00:00:00+00:00,0.003507907812311889 +2546,2019-04-17 01:00:00+00:00,0.0011551791308324216 +2547,2019-04-17 02:00:00+00:00,0.0013915597507469604 +2548,2019-04-17 03:00:00+00:00,0.0029690415636709345 +2549,2019-04-17 04:00:00+00:00,0.014299729834436638 +2550,2019-04-17 05:00:00+00:00,0.06658835447708648 +2551,2019-04-17 06:00:00+00:00,0.0824800073647128 +2552,2019-04-17 07:00:00+00:00,0.0625068495459786 +2553,2019-04-17 08:00:00+00:00,0.07077388827969236 +2554,2019-04-17 09:00:00+00:00,0.05672642043804103 +2555,2019-04-17 10:00:00+00:00,0.04974860482445909 +2556,2019-04-17 11:00:00+00:00,0.044152435291768564 +2557,2019-04-17 12:00:00+00:00,0.03204274059947141 +2558,2019-04-17 13:00:00+00:00,0.022735974650431527 +2559,2019-04-17 14:00:00+00:00,0.016839522520433196 +2560,2019-04-17 15:00:00+00:00,0.018783729361731363 +2561,2019-04-17 16:00:00+00:00,0.030721632990253434 +2562,2019-04-17 17:00:00+00:00,0.0560616506231366 +2563,2019-04-17 18:00:00+00:00,0.05800767254695158 +2564,2019-04-17 19:00:00+00:00,0.051886599606861816 +2565,2019-04-17 20:00:00+00:00,0.051070910925206256 +2566,2019-04-17 21:00:00+00:00,0.03657273111347792 +2567,2019-04-17 22:00:00+00:00,0.017952997242374986 +2568,2019-04-17 23:00:00+00:00,0.006747678446669698 +2569,2019-04-18 00:00:00+00:00,0.0032860029794245012 +2570,2019-04-18 01:00:00+00:00,0.0008721414495002746 +2571,2019-04-18 02:00:00+00:00,0.0006956936323380683 +2572,2019-04-18 03:00:00+00:00,0.0016286529111587558 +2573,2019-04-18 04:00:00+00:00,0.0064970914992382 +2574,2019-04-18 05:00:00+00:00,0.04624536332538593 +2575,2019-04-18 06:00:00+00:00,0.06900971538907227 +2576,2019-04-18 07:00:00+00:00,0.05031302687194385 +2577,2019-04-18 08:00:00+00:00,0.05914979179220568 +2578,2019-04-18 09:00:00+00:00,0.04314694297393801 +2579,2019-04-18 10:00:00+00:00,0.03717889196475707 +2580,2019-04-18 11:00:00+00:00,0.031306215710268946 +2581,2019-04-18 12:00:00+00:00,0.025044972535999098 +2582,2019-04-18 13:00:00+00:00,0.021566504213233282 +2583,2019-04-18 14:00:00+00:00,0.016696648303641363 +2584,2019-04-18 15:00:00+00:00,0.018783729361731363 +2585,2019-04-18 16:00:00+00:00,0.030610522077929875 +2586,2019-04-18 17:00:00+00:00,0.054264107188180546 +2587,2019-04-18 18:00:00+00:00,0.054959800820518205 +2588,2019-04-18 19:00:00+00:00,0.04869855780732421 +2589,2019-04-18 20:00:00+00:00,0.04035023357496605 +2590,2019-04-18 21:00:00+00:00,0.028523441019840015 +2591,2019-04-18 22:00:00+00:00,0.01391387361321366 +2592,2019-04-18 23:00:00+00:00,0.004869855748517227 +2593,2019-04-19 00:00:00+00:00,0.002782774690427579 +2594,2019-04-19 01:00:00+00:00,0.0006956936323380683 +2595,2019-04-19 02:00:00+00:00,0.0006956936323380683 +2596,2019-04-19 03:00:00+00:00,0.0013913874257514877 +2597,2019-04-19 04:00:00+00:00,0.004869855748517227 +2598,2019-04-19 05:00:00+00:00,0.03991696796861318 +2599,2019-04-19 06:00:00+00:00,0.0654343894869167 +2600,2019-04-19 07:00:00+00:00,0.050374494299328304 +2601,2019-04-19 08:00:00+00:00,0.05913396293669591 +2602,2019-04-19 09:00:00+00:00,0.04284118908940482 +2603,2019-04-19 10:00:00+00:00,0.03687176509112421 +2604,2019-04-19 11:00:00+00:00,0.031306215710268946 +2605,2019-04-19 12:00:00+00:00,0.025044972535999098 +2606,2019-04-19 13:00:00+00:00,0.021566504213233282 +2607,2019-04-19 14:00:00+00:00,0.016696648303641363 +2608,2019-04-19 15:00:00+00:00,0.018783729361731363 +2609,2019-04-19 16:00:00+00:00,0.030610522077929875 +2610,2019-04-19 17:00:00+00:00,0.054264107188180546 +2611,2019-04-19 18:00:00+00:00,0.054959800820518205 +2612,2019-04-19 19:00:00+00:00,0.04869855780732421 +2613,2019-04-19 20:00:00+00:00,0.04035023357496605 +2614,2019-04-19 21:00:00+00:00,0.028523441019840015 +2615,2019-04-19 22:00:00+00:00,0.01391387361321366 +2616,2019-04-19 23:00:00+00:00,0.004869855748517227 +2617,2019-04-20 00:00:00+00:00,0.002782774690427579 +2618,2019-04-20 01:00:00+00:00,0.0006956936323380683 +2619,2019-04-20 02:00:00+00:00,0.0006956936323380683 +2620,2019-04-20 03:00:00+00:00,0.0013913874257514877 +2621,2019-04-20 04:00:00+00:00,0.004869855748517227 +2622,2019-04-20 05:00:00+00:00,0.03895884614921248 +2623,2019-04-20 06:00:00+00:00,0.06469951247862417 +2624,2019-04-20 07:00:00+00:00,0.050089945071998196 +2625,2019-04-20 08:00:00+00:00,0.05913396293669591 +2626,2019-04-20 09:00:00+00:00,0.04243731463305358 +2627,2019-04-20 10:00:00+00:00,0.03687176509112421 +2628,2019-04-20 11:00:00+00:00,0.031306215710268946 +2629,2019-04-20 12:00:00+00:00,0.025044972535999098 +2630,2019-04-20 13:00:00+00:00,0.021566504213233282 +2631,2019-04-20 14:00:00+00:00,0.016696648303641363 +2632,2019-04-20 15:00:00+00:00,0.018783729361731363 +2633,2019-04-20 16:00:00+00:00,0.030610522077929875 +2634,2019-04-20 17:00:00+00:00,0.054264107188180546 +2635,2019-04-20 18:00:00+00:00,0.054959800820518205 +2636,2019-04-20 19:00:00+00:00,0.04869855780732421 +2637,2019-04-20 20:00:00+00:00,0.04035023357496605 +2638,2019-04-20 21:00:00+00:00,0.028523441019840015 +2639,2019-04-20 22:00:00+00:00,0.01391387361321366 +2640,2019-04-20 23:00:00+00:00,0.004869855748517227 +2641,2019-04-21 00:00:00+00:00,0.002782774690427579 +2642,2019-04-21 01:00:00+00:00,0.0006956936323380683 +2643,2019-04-21 02:00:00+00:00,0.0006956936323380683 +2644,2019-04-21 03:00:00+00:00,0.0013913874257514877 +2645,2019-04-21 04:00:00+00:00,0.004869855748517227 +2646,2019-04-21 05:00:00+00:00,0.03895884614921248 +2647,2019-04-21 06:00:00+00:00,0.06469951247862417 +2648,2019-04-21 07:00:00+00:00,0.050089945071998196 +2649,2019-04-21 08:00:00+00:00,0.05913396293669591 +2650,2019-04-21 09:00:00+00:00,0.04243731463305358 +2651,2019-04-21 10:00:00+00:00,0.03687176509112421 +2652,2019-04-21 11:00:00+00:00,0.031306215710268946 +2653,2019-04-21 12:00:00+00:00,0.025044972535999098 +2654,2019-04-21 13:00:00+00:00,0.021566504213233282 +2655,2019-04-21 14:00:00+00:00,0.016696648303641363 +2656,2019-04-21 15:00:00+00:00,0.018783729361731363 +2657,2019-04-21 16:00:00+00:00,0.030610522077929875 +2658,2019-04-21 17:00:00+00:00,0.054264107188180546 +2659,2019-04-21 18:00:00+00:00,0.054959800820518205 +2660,2019-04-21 19:00:00+00:00,0.04869855780732421 +2661,2019-04-21 20:00:00+00:00,0.04035023357496605 +2662,2019-04-21 21:00:00+00:00,0.028523441019840015 +2663,2019-04-21 22:00:00+00:00,0.01391387361321366 +2664,2019-04-21 23:00:00+00:00,0.004869855748517227 +2665,2019-04-22 00:00:00+00:00,0.002782774690427579 +2666,2019-04-22 01:00:00+00:00,0.0006956936323380683 +2667,2019-04-22 02:00:00+00:00,0.0006956936323380683 +2668,2019-04-22 03:00:00+00:00,0.0013913874257514877 +2669,2019-04-22 04:00:00+00:00,0.004869855748517227 +2670,2019-04-22 05:00:00+00:00,0.03895884614921248 +2671,2019-04-22 06:00:00+00:00,0.06469951247862417 +2672,2019-04-22 07:00:00+00:00,0.050089945071998196 +2673,2019-04-22 08:00:00+00:00,0.05913396293669591 +2674,2019-04-22 09:00:00+00:00,0.04243731463305358 +2675,2019-04-22 10:00:00+00:00,0.03687176509112421 +2676,2019-04-22 11:00:00+00:00,0.031306215710268946 +2677,2019-04-22 12:00:00+00:00,0.025044972535999098 +2678,2019-04-22 13:00:00+00:00,0.021566504213233282 +2679,2019-04-22 14:00:00+00:00,0.016696648303641363 +2680,2019-04-22 15:00:00+00:00,0.018783729361731363 +2681,2019-04-22 16:00:00+00:00,0.030610522077929875 +2682,2019-04-22 17:00:00+00:00,0.054264107188180546 +2683,2019-04-22 18:00:00+00:00,0.054959800820518205 +2684,2019-04-22 19:00:00+00:00,0.04869855780732421 +2685,2019-04-22 20:00:00+00:00,0.04035023357496605 +2686,2019-04-22 21:00:00+00:00,0.028523441019840015 +2687,2019-04-22 22:00:00+00:00,0.01391387361321366 +2688,2019-04-22 23:00:00+00:00,0.004869855748517227 +2689,2019-04-23 00:00:00+00:00,0.002782774690427579 +2690,2019-04-23 01:00:00+00:00,0.0006956936323380683 +2691,2019-04-23 02:00:00+00:00,0.0006956936323380683 +2692,2019-04-23 03:00:00+00:00,0.0013913874257514877 +2693,2019-04-23 04:00:00+00:00,0.004869855748517227 +2694,2019-04-23 05:00:00+00:00,0.03895884614921248 +2695,2019-04-23 06:00:00+00:00,0.06469951247862417 +2696,2019-04-23 07:00:00+00:00,0.050089945071998196 +2697,2019-04-23 08:00:00+00:00,0.05913396293669591 +2698,2019-04-23 09:00:00+00:00,0.04243731463305358 +2699,2019-04-23 10:00:00+00:00,0.03687176509112421 +2700,2019-04-23 11:00:00+00:00,0.031306215710268946 +2701,2019-04-23 12:00:00+00:00,0.025044972535999098 +2702,2019-04-23 13:00:00+00:00,0.021566504213233282 +2703,2019-04-23 14:00:00+00:00,0.016696648303641363 +2704,2019-04-23 15:00:00+00:00,0.018783729361731363 +2705,2019-04-23 16:00:00+00:00,0.030610522077929875 +2706,2019-04-23 17:00:00+00:00,0.054264107188180546 +2707,2019-04-23 18:00:00+00:00,0.054959800820518205 +2708,2019-04-23 19:00:00+00:00,0.04869855780732421 +2709,2019-04-23 20:00:00+00:00,0.04035023357496605 +2710,2019-04-23 21:00:00+00:00,0.028523441019840015 +2711,2019-04-23 22:00:00+00:00,0.01391387361321366 +2712,2019-04-23 23:00:00+00:00,0.004869855748517227 +2713,2019-04-24 00:00:00+00:00,0.002782774690427579 +2714,2019-04-24 01:00:00+00:00,0.0006956936323380683 +2715,2019-04-24 02:00:00+00:00,0.0006956936323380683 +2716,2019-04-24 03:00:00+00:00,0.0013913874257514877 +2717,2019-04-24 04:00:00+00:00,0.004869855748517227 +2718,2019-04-24 05:00:00+00:00,0.03895884614921248 +2719,2019-04-24 06:00:00+00:00,0.06469951247862417 +2720,2019-04-24 07:00:00+00:00,0.050089945071998196 +2721,2019-04-24 08:00:00+00:00,0.05913396293669591 +2722,2019-04-24 09:00:00+00:00,0.04243731463305358 +2723,2019-04-24 10:00:00+00:00,0.03687176509112421 +2724,2019-04-24 11:00:00+00:00,0.031306215710268946 +2725,2019-04-24 12:00:00+00:00,0.025044972535999098 +2726,2019-04-24 13:00:00+00:00,0.021566504213233282 +2727,2019-04-24 14:00:00+00:00,0.016696648303641363 +2728,2019-04-24 15:00:00+00:00,0.018783729361731363 +2729,2019-04-24 16:00:00+00:00,0.030610522077929875 +2730,2019-04-24 17:00:00+00:00,0.054264107188180546 +2731,2019-04-24 18:00:00+00:00,0.054959800820518205 +2732,2019-04-24 19:00:00+00:00,0.04869855780732421 +2733,2019-04-24 20:00:00+00:00,0.04035023357496605 +2734,2019-04-24 21:00:00+00:00,0.028523441019840015 +2735,2019-04-24 22:00:00+00:00,0.01391387361321366 +2736,2019-04-24 23:00:00+00:00,0.004869855748517227 +2737,2019-04-25 00:00:00+00:00,0.002782774690427579 +2738,2019-04-25 01:00:00+00:00,0.0006956936323380683 +2739,2019-04-25 02:00:00+00:00,0.0006956936323380683 +2740,2019-04-25 03:00:00+00:00,0.0013913874257514877 +2741,2019-04-25 04:00:00+00:00,0.004869855748517227 +2742,2019-04-25 05:00:00+00:00,0.03895884614921248 +2743,2019-04-25 06:00:00+00:00,0.06469951247862417 +2744,2019-04-25 07:00:00+00:00,0.050089945071998196 +2745,2019-04-25 08:00:00+00:00,0.05913396293669591 +2746,2019-04-25 09:00:00+00:00,0.04243731463305358 +2747,2019-04-25 10:00:00+00:00,0.03687176509112421 +2748,2019-04-25 11:00:00+00:00,0.031306215710268946 +2749,2019-04-25 12:00:00+00:00,0.025044972535999098 +2750,2019-04-25 13:00:00+00:00,0.021566504213233282 +2751,2019-04-25 14:00:00+00:00,0.016696648303641363 +2752,2019-04-25 15:00:00+00:00,0.018783729361731363 +2753,2019-04-25 16:00:00+00:00,0.030610522077929875 +2754,2019-04-25 17:00:00+00:00,0.054264107188180546 +2755,2019-04-25 18:00:00+00:00,0.054959800820518205 +2756,2019-04-25 19:00:00+00:00,0.04869855780732421 +2757,2019-04-25 20:00:00+00:00,0.04035023357496605 +2758,2019-04-25 21:00:00+00:00,0.028523441019840015 +2759,2019-04-25 22:00:00+00:00,0.01391387361321366 +2760,2019-04-25 23:00:00+00:00,0.004869855748517227 +2761,2019-04-26 00:00:00+00:00,0.002782774690427579 +2762,2019-04-26 01:00:00+00:00,0.0006956936323380683 +2763,2019-04-26 02:00:00+00:00,0.0006956936323380683 +2764,2019-04-26 03:00:00+00:00,0.0013913874257514877 +2765,2019-04-26 04:00:00+00:00,0.004869855748517227 +2766,2019-04-26 05:00:00+00:00,0.03895884614921248 +2767,2019-04-26 06:00:00+00:00,0.06469951247862417 +2768,2019-04-26 07:00:00+00:00,0.050089945071998196 +2769,2019-04-26 08:00:00+00:00,0.05913396293669591 +2770,2019-04-26 09:00:00+00:00,0.04243731463305358 +2771,2019-04-26 10:00:00+00:00,0.03687176509112421 +2772,2019-04-26 11:00:00+00:00,0.031306215710268946 +2773,2019-04-26 12:00:00+00:00,0.025044972535999098 +2774,2019-04-26 13:00:00+00:00,0.021566504213233282 +2775,2019-04-26 14:00:00+00:00,0.016696648303641363 +2776,2019-04-26 15:00:00+00:00,0.018783729361731363 +2777,2019-04-26 16:00:00+00:00,0.030610522077929875 +2778,2019-04-26 17:00:00+00:00,0.054264107188180546 +2779,2019-04-26 18:00:00+00:00,0.054959800820518205 +2780,2019-04-26 19:00:00+00:00,0.04869855780732421 +2781,2019-04-26 20:00:00+00:00,0.04035023357496605 +2782,2019-04-26 21:00:00+00:00,0.028523441019840015 +2783,2019-04-26 22:00:00+00:00,0.01391387361321366 +2784,2019-04-26 23:00:00+00:00,0.004869855748517227 +2785,2019-04-27 00:00:00+00:00,0.002782774690427579 +2786,2019-04-27 01:00:00+00:00,0.0006956936323380683 +2787,2019-04-27 02:00:00+00:00,0.0006956936323380683 +2788,2019-04-27 03:00:00+00:00,0.0013913874257514877 +2789,2019-04-27 04:00:00+00:00,0.004869855748517227 +2790,2019-04-27 05:00:00+00:00,0.03895884614921248 +2791,2019-04-27 06:00:00+00:00,0.06469951247862417 +2792,2019-04-27 07:00:00+00:00,0.050089945071998196 +2793,2019-04-27 08:00:00+00:00,0.05913396293669591 +2794,2019-04-27 09:00:00+00:00,0.04243731463305358 +2795,2019-04-27 10:00:00+00:00,0.03687176509112421 +2796,2019-04-27 11:00:00+00:00,0.031306215710268946 +2797,2019-04-27 12:00:00+00:00,0.025044972535999098 +2798,2019-04-27 13:00:00+00:00,0.021566504213233282 +2799,2019-04-27 14:00:00+00:00,0.016696648303641363 +2800,2019-04-27 15:00:00+00:00,0.018783729361731363 +2801,2019-04-27 16:00:00+00:00,0.030610522077929875 +2802,2019-04-27 17:00:00+00:00,0.054264107188180546 +2803,2019-04-27 18:00:00+00:00,0.054959800820518205 +2804,2019-04-27 19:00:00+00:00,0.04869855780732421 +2805,2019-04-27 20:00:00+00:00,0.04035023357496605 +2806,2019-04-27 21:00:00+00:00,0.028523441019840015 +2807,2019-04-27 22:00:00+00:00,0.01391387361321366 +2808,2019-04-27 23:00:00+00:00,0.004869855748517227 +2809,2019-04-28 00:00:00+00:00,0.002782774690427579 +2810,2019-04-28 01:00:00+00:00,0.0006956936323380683 +2811,2019-04-28 02:00:00+00:00,0.0006956936323380683 +2812,2019-04-28 03:00:00+00:00,0.0013913874257514877 +2813,2019-04-28 04:00:00+00:00,0.004869855748517227 +2814,2019-04-28 05:00:00+00:00,0.0396170807938183 +2815,2019-04-28 06:00:00+00:00,0.06469951247862417 +2816,2019-04-28 07:00:00+00:00,0.050089945071998196 +2817,2019-04-28 08:00:00+00:00,0.05913396293669591 +2818,2019-04-28 09:00:00+00:00,0.04303866211735967 +2819,2019-04-28 10:00:00+00:00,0.03687176509112421 +2820,2019-04-28 11:00:00+00:00,0.03144070270149705 +2821,2019-04-28 12:00:00+00:00,0.025533836300893932 +2822,2019-04-28 13:00:00+00:00,0.021566504213233282 +2823,2019-04-28 14:00:00+00:00,0.016696648303641363 +2824,2019-04-28 15:00:00+00:00,0.018783729361731363 +2825,2019-04-28 16:00:00+00:00,0.030610522077929875 +2826,2019-04-28 17:00:00+00:00,0.054264107188180546 +2827,2019-04-28 18:00:00+00:00,0.054959800820518205 +2828,2019-04-28 19:00:00+00:00,0.04899987768873372 +2829,2019-04-28 20:00:00+00:00,0.04067474958749219 +2830,2019-04-28 21:00:00+00:00,0.028796541215329645 +2831,2019-04-28 22:00:00+00:00,0.01391387361321366 +2832,2019-04-28 23:00:00+00:00,0.004869855748517227 +2833,2019-04-29 00:00:00+00:00,0.002782774690427579 +2834,2019-04-29 01:00:00+00:00,0.0006956936323380683 +2835,2019-04-29 02:00:00+00:00,0.0006956936323380683 +2836,2019-04-29 03:00:00+00:00,0.0013913874257514877 +2837,2019-04-29 04:00:00+00:00,0.004869855748517227 +2838,2019-04-29 05:00:00+00:00,0.04030143742952018 +2839,2019-04-29 06:00:00+00:00,0.06666879474638582 +2840,2019-04-29 07:00:00+00:00,0.050089945071998196 +2841,2019-04-29 08:00:00+00:00,0.05927429101012687 +2842,2019-04-29 09:00:00+00:00,0.04372755780583596 +2843,2019-04-29 10:00:00+00:00,0.037509783215243814 +2844,2019-04-29 11:00:00+00:00,0.03155573831767279 +2845,2019-04-29 12:00:00+00:00,0.02561196259718628 +2846,2019-04-29 13:00:00+00:00,0.021566504213233282 +2847,2019-04-29 14:00:00+00:00,0.016696648303641363 +2848,2019-04-29 15:00:00+00:00,0.018783729361731363 +2849,2019-04-29 16:00:00+00:00,0.030610522077929875 +2850,2019-04-29 17:00:00+00:00,0.054264107188180546 +2851,2019-04-29 18:00:00+00:00,0.05500909256676859 +2852,2019-04-29 19:00:00+00:00,0.0490109281745791 +2853,2019-04-29 20:00:00+00:00,0.04080603791596607 +2854,2019-04-29 21:00:00+00:00,0.02878226022733668 +2855,2019-04-29 22:00:00+00:00,0.01391387361321366 +2856,2019-04-29 23:00:00+00:00,0.004869855748517227 +2857,2019-04-30 00:00:00+00:00,0.002782774690427579 +2858,2019-04-30 01:00:00+00:00,0.0006956936323380683 +2859,2019-04-30 02:00:00+00:00,0.0006956936323380683 +2860,2019-04-30 03:00:00+00:00,0.0013913874257514877 +2861,2019-04-30 04:00:00+00:00,0.004869855748517227 +2862,2019-04-30 05:00:00+00:00,0.03997756644344248 +2863,2019-04-30 06:00:00+00:00,0.06596350599470904 +2864,2019-04-30 07:00:00+00:00,0.05011761220890476 +2865,2019-04-30 08:00:00+00:00,0.05932761341322262 +2866,2019-04-30 09:00:00+00:00,0.043947634039050464 +2867,2019-04-30 10:00:00+00:00,0.037612080977193686 +2868,2019-04-30 11:00:00+00:00,0.032194399456411296 +2869,2019-04-30 12:00:00+00:00,0.026320107242891723 +2870,2019-04-30 13:00:00+00:00,0.021566504213233282 +2871,2019-04-30 14:00:00+00:00,0.016696648303641363 +2872,2019-04-30 15:00:00+00:00,0.018783729361731363 +2873,2019-04-30 16:00:00+00:00,0.030610522077929875 +2874,2019-04-30 17:00:00+00:00,0.054264107188180546 +2875,2019-04-30 18:00:00+00:00,0.055212252107333576 +2876,2019-04-30 19:00:00+00:00,0.04950075047979093 +2877,2019-04-30 20:00:00+00:00,0.0409087849893219 +2878,2019-04-30 21:00:00+00:00,0.028804540672386053 +2879,2019-04-30 22:00:00+00:00,0.01391387361321366 +2880,2019-04-30 23:00:00+00:00,0.004869855748517227 +2881,2019-05-01 00:00:00+00:00,0.002782774690427579 +2882,2019-05-01 01:00:00+00:00,0.0006956936323380683 +2883,2019-05-01 02:00:00+00:00,0.0006956936323380683 +2884,2019-05-01 03:00:00+00:00,0.0013913874257514877 +2885,2019-05-01 04:00:00+00:00,0.004869855748517227 +2886,2019-05-01 05:00:00+00:00,0.04039128314012649 +2887,2019-05-01 06:00:00+00:00,0.06747608697498693 +2888,2019-05-01 07:00:00+00:00,0.05063583064189648 +2889,2019-05-01 08:00:00+00:00,0.06019898513300289 +2890,2019-05-01 09:00:00+00:00,0.04406335132929439 +2891,2019-05-01 10:00:00+00:00,0.037771573665038694 +2892,2019-05-01 11:00:00+00:00,0.03194992868327222 +2893,2019-05-01 12:00:00+00:00,0.026103617927764007 +2894,2019-05-01 13:00:00+00:00,0.021566504213233282 +2895,2019-05-01 14:00:00+00:00,0.016696648303641363 +2896,2019-05-01 15:00:00+00:00,0.018783729361731363 +2897,2019-05-01 16:00:00+00:00,0.030610522077929875 +2898,2019-05-01 17:00:00+00:00,0.054264107188180546 +2899,2019-05-01 18:00:00+00:00,0.05531270743793142 +2900,2019-05-01 19:00:00+00:00,0.04959262822269255 +2901,2019-05-01 20:00:00+00:00,0.04101985230071164 +2902,2019-05-01 21:00:00+00:00,0.028869786575093842 +2903,2019-05-01 22:00:00+00:00,0.01391387361321366 +2904,2019-05-01 23:00:00+00:00,0.004869855748517227 +2905,2019-05-02 00:00:00+00:00,0.002782774690427579 +2906,2019-05-02 01:00:00+00:00,0.0006956936323380683 +2907,2019-05-02 02:00:00+00:00,0.0008241575004100455 +2908,2019-05-02 03:00:00+00:00,0.001657641860058731 +2909,2019-05-02 04:00:00+00:00,0.0051422836875993595 +2910,2019-05-02 05:00:00+00:00,0.040824184481322606 +2911,2019-05-02 06:00:00+00:00,0.06861327172575912 +2912,2019-05-02 07:00:00+00:00,0.05065957803257359 +2913,2019-05-02 08:00:00+00:00,0.060629257879506224 +2914,2019-05-02 09:00:00+00:00,0.044123591989928566 +2915,2019-05-02 10:00:00+00:00,0.0380395518347292 +2916,2019-05-02 11:00:00+00:00,0.03266190082314845 +2917,2019-05-02 12:00:00+00:00,0.027657419921112123 +2918,2019-05-02 13:00:00+00:00,0.0216089453889563 +2919,2019-05-02 14:00:00+00:00,0.016696648303641363 +2920,2019-05-02 15:00:00+00:00,0.018783729361731363 +2921,2019-05-02 16:00:00+00:00,0.030610522077929875 +2922,2019-05-02 17:00:00+00:00,0.05437394612405636 +2923,2019-05-02 18:00:00+00:00,0.05648005275089904 +2924,2019-05-02 19:00:00+00:00,0.04978512442809669 +2925,2019-05-02 20:00:00+00:00,0.041417806411453977 +2926,2019-05-02 21:00:00+00:00,0.02887042330137553 +2927,2019-05-02 22:00:00+00:00,0.01391387361321366 +2928,2019-05-02 23:00:00+00:00,0.004869855748517227 +2929,2019-05-03 00:00:00+00:00,0.002782774690427579 +2930,2019-05-03 01:00:00+00:00,0.0006956936323380683 +2931,2019-05-03 02:00:00+00:00,0.0007323327260545775 +2932,2019-05-03 03:00:00+00:00,0.0016551442114925193 +2933,2019-05-03 04:00:00+00:00,0.00531941706811761 +2934,2019-05-03 05:00:00+00:00,0.040695073333899684 +2935,2019-05-03 06:00:00+00:00,0.06871611143644958 +2936,2019-05-03 07:00:00+00:00,0.0508049452222041 +2937,2019-05-03 08:00:00+00:00,0.06082097183704481 +2938,2019-05-03 09:00:00+00:00,0.04426618996081684 +2939,2019-05-03 10:00:00+00:00,0.03842846019242403 +2940,2019-05-03 11:00:00+00:00,0.03302104160058292 +2941,2019-05-03 12:00:00+00:00,0.028248688703371376 +2942,2019-05-03 13:00:00+00:00,0.021753137099681134 +2943,2019-05-03 14:00:00+00:00,0.01672728118517978 +2944,2019-05-03 15:00:00+00:00,0.018797666416477062 +2945,2019-05-03 16:00:00+00:00,0.030742751786053648 +2946,2019-05-03 17:00:00+00:00,0.05502107456936473 +2947,2019-05-03 18:00:00+00:00,0.05736097819355105 +2948,2019-05-03 19:00:00+00:00,0.05042701543809387 +2949,2019-05-03 20:00:00+00:00,0.041837983415678064 +2950,2019-05-03 21:00:00+00:00,0.02893575582119695 +2951,2019-05-03 22:00:00+00:00,0.01391387361321366 +2952,2019-05-03 23:00:00+00:00,0.004869855748517227 +2953,2019-05-04 00:00:00+00:00,0.002782774690427579 +2954,2019-05-04 01:00:00+00:00,0.0008884114491906866 +2955,2019-05-04 02:00:00+00:00,0.001331777756209408 +2956,2019-05-04 03:00:00+00:00,0.0018439552481203602 +2957,2019-05-04 04:00:00+00:00,0.005985248125998989 +2958,2019-05-04 05:00:00+00:00,0.04087417232255611 +2959,2019-05-04 06:00:00+00:00,0.06812167323488794 +2960,2019-05-04 07:00:00+00:00,0.050148696985379194 +2961,2019-05-04 08:00:00+00:00,0.06019705236432867 +2962,2019-05-04 09:00:00+00:00,0.044096508619902726 +2963,2019-05-04 10:00:00+00:00,0.0380003971353111 +2964,2019-05-04 11:00:00+00:00,0.03268610303567598 +2965,2019-05-04 12:00:00+00:00,0.027926164224349785 +2966,2019-05-04 13:00:00+00:00,0.0219331221609122 +2967,2019-05-04 14:00:00+00:00,0.016696648303641363 +2968,2019-05-04 15:00:00+00:00,0.018783729361731363 +2969,2019-05-04 16:00:00+00:00,0.030610522077929875 +2970,2019-05-04 17:00:00+00:00,0.05438608864245535 +2971,2019-05-04 18:00:00+00:00,0.05702922665658604 +2972,2019-05-04 19:00:00+00:00,0.05012322398841835 +2973,2019-05-04 20:00:00+00:00,0.04186998997565579 +2974,2019-05-04 21:00:00+00:00,0.02898342410019319 +2975,2019-05-04 22:00:00+00:00,0.01391387361321366 +2976,2019-05-04 23:00:00+00:00,0.004869855748517227 +2977,2019-05-05 00:00:00+00:00,0.0029679930149168676 +2978,2019-05-05 01:00:00+00:00,0.0013829659261142407 +2979,2019-05-05 02:00:00+00:00,0.0014127632595781641 +2980,2019-05-05 03:00:00+00:00,0.0020445106008603903 +2981,2019-05-05 04:00:00+00:00,0.006465374596816804 +2982,2019-05-05 05:00:00+00:00,0.04118554424025204 +2983,2019-05-05 06:00:00+00:00,0.06957296502452512 +2984,2019-05-05 07:00:00+00:00,0.05066055394128145 +2985,2019-05-05 08:00:00+00:00,0.061102654540512454 +2986,2019-05-05 09:00:00+00:00,0.04454880124401284 +2987,2019-05-05 10:00:00+00:00,0.039027644246066466 +2988,2019-05-05 11:00:00+00:00,0.034018328523734 +2989,2019-05-05 12:00:00+00:00,0.028307010883235735 +2990,2019-05-05 13:00:00+00:00,0.022148493072517986 +2991,2019-05-05 14:00:00+00:00,0.017061384315581834 +2992,2019-05-05 15:00:00+00:00,0.019064037732270795 +2993,2019-05-05 16:00:00+00:00,0.031261377144159046 +2994,2019-05-05 17:00:00+00:00,0.054966811464811374 +2995,2019-05-05 18:00:00+00:00,0.05795171582965428 +2996,2019-05-05 19:00:00+00:00,0.05126883790091047 +2997,2019-05-05 20:00:00+00:00,0.04212153252322155 +2998,2019-05-05 21:00:00+00:00,0.029019368126884285 +2999,2019-05-05 22:00:00+00:00,0.01391387361321366 +3000,2019-05-05 23:00:00+00:00,0.004869855748517227 +3001,2019-05-06 00:00:00+00:00,0.003512887787956081 +3002,2019-05-06 01:00:00+00:00,0.0018372597669988327 +3003,2019-05-06 02:00:00+00:00,0.0016435673783958553 +3004,2019-05-06 03:00:00+00:00,0.0024258953571786937 +3005,2019-05-06 04:00:00+00:00,0.007365540021511355 +3006,2019-05-06 05:00:00+00:00,0.041145503029195285 +3007,2019-05-06 06:00:00+00:00,0.07124370978402557 +3008,2019-05-06 07:00:00+00:00,0.051080840249052475 +3009,2019-05-06 08:00:00+00:00,0.06285487187391765 +3010,2019-05-06 09:00:00+00:00,0.04504403965850189 +3011,2019-05-06 10:00:00+00:00,0.03964946495778607 +3012,2019-05-06 11:00:00+00:00,0.034334909119423426 +3013,2019-05-06 12:00:00+00:00,0.02962125143444296 +3014,2019-05-06 13:00:00+00:00,0.022095218732790724 +3015,2019-05-06 14:00:00+00:00,0.017132615485351374 +3016,2019-05-06 15:00:00+00:00,0.01909657470223818 +3017,2019-05-06 16:00:00+00:00,0.03138535541729669 +3018,2019-05-06 17:00:00+00:00,0.055703066345110706 +3019,2019-05-06 18:00:00+00:00,0.058644324410865506 +3020,2019-05-06 19:00:00+00:00,0.05133031108595605 +3021,2019-05-06 20:00:00+00:00,0.042213782947031604 +3022,2019-05-06 21:00:00+00:00,0.02904775311630139 +3023,2019-05-06 22:00:00+00:00,0.01391387361321366 +3024,2019-05-06 23:00:00+00:00,0.0058689975357401995 +3025,2019-05-07 00:00:00+00:00,0.004250507799459667 +3026,2019-05-07 01:00:00+00:00,0.001999699173754517 +3027,2019-05-07 02:00:00+00:00,0.001685956512730222 +3028,2019-05-07 03:00:00+00:00,0.0025032539149088865 +3029,2019-05-07 04:00:00+00:00,0.007511319843751309 +3030,2019-05-07 05:00:00+00:00,0.04147134681489593 +3031,2019-05-07 06:00:00+00:00,0.0723259139256003 +3032,2019-05-07 07:00:00+00:00,0.05508766651020922 +3033,2019-05-07 08:00:00+00:00,0.06404366363920379 +3034,2019-05-07 09:00:00+00:00,0.045093063400367596 +3035,2019-05-07 10:00:00+00:00,0.0396775614242132 +3036,2019-05-07 11:00:00+00:00,0.034424433789588205 +3037,2019-05-07 12:00:00+00:00,0.029598360874130897 +3038,2019-05-07 13:00:00+00:00,0.02232650144236846 +3039,2019-05-07 14:00:00+00:00,0.01705845430181026 +3040,2019-05-07 15:00:00+00:00,0.019021157424851366 +3041,2019-05-07 16:00:00+00:00,0.031005482966801983 +3042,2019-05-07 17:00:00+00:00,0.055316174551316766 +3043,2019-05-07 18:00:00+00:00,0.058308511722852875 +3044,2019-05-07 19:00:00+00:00,0.051287779716247414 +3045,2019-05-07 20:00:00+00:00,0.04218984175892985 +3046,2019-05-07 21:00:00+00:00,0.029107633072162683 +3047,2019-05-07 22:00:00+00:00,0.01711522198262026 +3048,2019-05-07 23:00:00+00:00,0.0062831121636957935 +3049,2019-05-08 00:00:00+00:00,0.0038225846165915365 +3050,2019-05-08 01:00:00+00:00,0.0016107264206428869 +3051,2019-05-08 02:00:00+00:00,0.0014347942217864586 +3052,2019-05-08 03:00:00+00:00,0.002057817081294224 +3053,2019-05-08 04:00:00+00:00,0.006951201411308191 +3054,2019-05-08 05:00:00+00:00,0.041166866770850824 +3055,2019-05-08 06:00:00+00:00,0.07170374194002761 +3056,2019-05-08 07:00:00+00:00,0.05458411818651837 +3057,2019-05-08 08:00:00+00:00,0.0637097552218931 +3058,2019-05-08 09:00:00+00:00,0.044821258975834714 +3059,2019-05-08 10:00:00+00:00,0.0394912270414091 +3060,2019-05-08 11:00:00+00:00,0.034218174958511 +3061,2019-05-08 12:00:00+00:00,0.02952056991836665 +3062,2019-05-08 13:00:00+00:00,0.022287498743374278 +3063,2019-05-08 14:00:00+00:00,0.01694848082627491 +3064,2019-05-08 15:00:00+00:00,0.018958830652331497 +3065,2019-05-08 16:00:00+00:00,0.031017195847741073 +3066,2019-05-08 17:00:00+00:00,0.055187384324227935 +3067,2019-05-08 18:00:00+00:00,0.05803992496195497 +3068,2019-05-08 19:00:00+00:00,0.05119240221963603 +3069,2019-05-08 20:00:00+00:00,0.04195266960041007 +3070,2019-05-08 21:00:00+00:00,0.029331945011531888 +3071,2019-05-08 22:00:00+00:00,0.01621891636237766 +3072,2019-05-08 23:00:00+00:00,0.0061747945410344845 +3073,2019-05-09 00:00:00+00:00,0.003225817904506739 +3074,2019-05-09 01:00:00+00:00,0.0011293928716802776 +3075,2019-05-09 02:00:00+00:00,0.0013680013236322822 +3076,2019-05-09 03:00:00+00:00,0.0019833600568194888 +3077,2019-05-09 04:00:00+00:00,0.006203384891789475 +3078,2019-05-09 05:00:00+00:00,0.04092671455414754 +3079,2019-05-09 06:00:00+00:00,0.06872483345504678 +3080,2019-05-09 07:00:00+00:00,0.050439786529490827 +3081,2019-05-09 08:00:00+00:00,0.06055763769861371 +3082,2019-05-09 09:00:00+00:00,0.044083353659780306 +3083,2019-05-09 10:00:00+00:00,0.038309301812911034 +3084,2019-05-09 11:00:00+00:00,0.032660384013629036 +3085,2019-05-09 12:00:00+00:00,0.027967417892023977 +3086,2019-05-09 13:00:00+00:00,0.02156653047718275 +3087,2019-05-09 14:00:00+00:00,0.016696648303641363 +3088,2019-05-09 15:00:00+00:00,0.018783729361731363 +3089,2019-05-09 16:00:00+00:00,0.030610522077929875 +3090,2019-05-09 17:00:00+00:00,0.05430267097374489 +3091,2019-05-09 18:00:00+00:00,0.05610669569997129 +3092,2019-05-09 19:00:00+00:00,0.049855995683485865 +3093,2019-05-09 20:00:00+00:00,0.04169639889545339 +3094,2019-05-09 21:00:00+00:00,0.02890189852194683 +3095,2019-05-09 22:00:00+00:00,0.01391387361321366 +3096,2019-05-09 23:00:00+00:00,0.004869855748517227 +3097,2019-05-10 00:00:00+00:00,0.002782774690427579 +3098,2019-05-10 01:00:00+00:00,0.0006956936323380683 +3099,2019-05-10 02:00:00+00:00,0.0010453479715250293 +3100,2019-05-10 03:00:00+00:00,0.0016817780982854467 +3101,2019-05-10 04:00:00+00:00,0.005558884759619184 +3102,2019-05-10 05:00:00+00:00,0.040793373555011156 +3103,2019-05-10 06:00:00+00:00,0.0693138353313168 +3104,2019-05-10 07:00:00+00:00,0.050848835107603414 +3105,2019-05-10 08:00:00+00:00,0.061046632870276334 +3106,2019-05-10 09:00:00+00:00,0.04436108250440153 +3107,2019-05-10 10:00:00+00:00,0.038646216291540504 +3108,2019-05-10 11:00:00+00:00,0.03320647829246789 +3109,2019-05-10 12:00:00+00:00,0.02857396755216132 +3110,2019-05-10 13:00:00+00:00,0.02172157825195408 +3111,2019-05-10 14:00:00+00:00,0.016696648303641363 +3112,2019-05-10 15:00:00+00:00,0.018783729361731363 +3113,2019-05-10 16:00:00+00:00,0.030610522077929875 +3114,2019-05-10 17:00:00+00:00,0.054264107188180546 +3115,2019-05-10 18:00:00+00:00,0.05564795369553973 +3116,2019-05-10 19:00:00+00:00,0.04987375465005736 +3117,2019-05-10 20:00:00+00:00,0.041698212471617174 +3118,2019-05-10 21:00:00+00:00,0.02892159608466232 +3119,2019-05-10 22:00:00+00:00,0.01391387361321366 +3120,2019-05-10 23:00:00+00:00,0.004869855748517227 +3121,2019-05-11 00:00:00+00:00,0.002782774690427579 +3122,2019-05-11 01:00:00+00:00,0.000791096998465054 +3123,2019-05-11 02:00:00+00:00,0.0012324901486613939 +3124,2019-05-11 03:00:00+00:00,0.0017313685340139755 +3125,2019-05-11 04:00:00+00:00,0.005875860256259702 +3126,2019-05-11 05:00:00+00:00,0.041008566259470115 +3127,2019-05-11 06:00:00+00:00,0.06988696237325558 +3128,2019-05-11 07:00:00+00:00,0.05086747786460389 +3129,2019-05-11 08:00:00+00:00,0.06138761103074491 +3130,2019-05-11 09:00:00+00:00,0.044110357524493854 +3131,2019-05-11 10:00:00+00:00,0.03830620952248809 +3132,2019-05-11 11:00:00+00:00,0.0323751561741715 +3133,2019-05-11 12:00:00+00:00,0.02711925061166666 +3134,2019-05-11 13:00:00+00:00,0.021566504213233282 +3135,2019-05-11 14:00:00+00:00,0.016696648303641363 +3136,2019-05-11 15:00:00+00:00,0.018783729361731363 +3137,2019-05-11 16:00:00+00:00,0.030610522077929875 +3138,2019-05-11 17:00:00+00:00,0.054264107188180546 +3139,2019-05-11 18:00:00+00:00,0.054959800820518205 +3140,2019-05-11 19:00:00+00:00,0.049187220638689834 +3141,2019-05-11 20:00:00+00:00,0.04116388779866636 +3142,2019-05-11 21:00:00+00:00,0.02891586537598905 +3143,2019-05-11 22:00:00+00:00,0.01391387361321366 +3144,2019-05-11 23:00:00+00:00,0.004869855748517227 +3145,2019-05-12 00:00:00+00:00,0.002782774690427579 +3146,2019-05-12 01:00:00+00:00,0.0006956936323380683 +3147,2019-05-12 02:00:00+00:00,0.0009132720932815029 +3148,2019-05-12 03:00:00+00:00,0.0015796970183225316 +3149,2019-05-12 04:00:00+00:00,0.005421605354811869 +3150,2019-05-12 05:00:00+00:00,0.04076234934889613 +3151,2019-05-12 06:00:00+00:00,0.06749867435964561 +3152,2019-05-12 07:00:00+00:00,0.050089945071998196 +3153,2019-05-12 08:00:00+00:00,0.059435284729252955 +3154,2019-05-12 09:00:00+00:00,0.04402856224291026 +3155,2019-05-12 10:00:00+00:00,0.03804653033608156 +3156,2019-05-12 11:00:00+00:00,0.03243468984152473 +3157,2019-05-12 12:00:00+00:00,0.02659539160966298 +3158,2019-05-12 13:00:00+00:00,0.021566504213233282 +3159,2019-05-12 14:00:00+00:00,0.016696648303641363 +3160,2019-05-12 15:00:00+00:00,0.018783729361731363 +3161,2019-05-12 16:00:00+00:00,0.030610522077929875 +3162,2019-05-12 17:00:00+00:00,0.054264107188180546 +3163,2019-05-12 18:00:00+00:00,0.054959800820518205 +3164,2019-05-12 19:00:00+00:00,0.048842361133727856 +3165,2019-05-12 20:00:00+00:00,0.04082156186350403 +3166,2019-05-12 21:00:00+00:00,0.02892722217739591 +3167,2019-05-12 22:00:00+00:00,0.01391387361321366 +3168,2019-05-12 23:00:00+00:00,0.004869855748517227 +3169,2019-05-13 00:00:00+00:00,0.002782774690427579 +3170,2019-05-13 01:00:00+00:00,0.0006956936323380683 +3171,2019-05-13 02:00:00+00:00,0.0009462128435290359 +3172,2019-05-13 03:00:00+00:00,0.0016129509295082804 +3173,2019-05-13 04:00:00+00:00,0.005912067264990601 +3174,2019-05-13 05:00:00+00:00,0.040876686449169246 +3175,2019-05-13 06:00:00+00:00,0.06813614600696546 +3176,2019-05-13 07:00:00+00:00,0.050089945071998196 +3177,2019-05-13 08:00:00+00:00,0.0594201201690523 +3178,2019-05-13 09:00:00+00:00,0.04299011348654424 +3179,2019-05-13 10:00:00+00:00,0.03746733306655882 +3180,2019-05-13 11:00:00+00:00,0.031468266804897 +3181,2019-05-13 12:00:00+00:00,0.02521795848619071 +3182,2019-05-13 13:00:00+00:00,0.021592148023169538 +3183,2019-05-13 14:00:00+00:00,0.016696648303641363 +3184,2019-05-13 15:00:00+00:00,0.018783729361731363 +3185,2019-05-13 16:00:00+00:00,0.030610522077929875 +3186,2019-05-13 17:00:00+00:00,0.054264107188180546 +3187,2019-05-13 18:00:00+00:00,0.05506423393314051 +3188,2019-05-13 19:00:00+00:00,0.049588984576289755 +3189,2019-05-13 20:00:00+00:00,0.041118961099475555 +3190,2019-05-13 21:00:00+00:00,0.028913593148368343 +3191,2019-05-13 22:00:00+00:00,0.01391387361321366 +3192,2019-05-13 23:00:00+00:00,0.004869855748517227 +3193,2019-05-14 00:00:00+00:00,0.002782774690427579 +3194,2019-05-14 01:00:00+00:00,0.0007136784301994118 +3195,2019-05-14 02:00:00+00:00,0.001003748513037592 +3196,2019-05-14 03:00:00+00:00,0.0017394736634302388 +3197,2019-05-14 04:00:00+00:00,0.005560625080422098 +3198,2019-05-14 05:00:00+00:00,0.04103681999204699 +3199,2019-05-14 06:00:00+00:00,0.06953014862842909 +3200,2019-05-14 07:00:00+00:00,0.05075053859213202 +3201,2019-05-14 08:00:00+00:00,0.060534381101181714 +3202,2019-05-14 09:00:00+00:00,0.0434209715997519 +3203,2019-05-14 10:00:00+00:00,0.037402878864195 +3204,2019-05-14 11:00:00+00:00,0.03164074461014852 +3205,2019-05-14 12:00:00+00:00,0.02560387161775349 +3206,2019-05-14 13:00:00+00:00,0.021566504213233282 +3207,2019-05-14 14:00:00+00:00,0.016696648303641363 +3208,2019-05-14 15:00:00+00:00,0.018783729361731363 +3209,2019-05-14 16:00:00+00:00,0.030610522077929875 +3210,2019-05-14 17:00:00+00:00,0.054264107188180546 +3211,2019-05-14 18:00:00+00:00,0.055302549136383695 +3212,2019-05-14 19:00:00+00:00,0.049715763520489446 +3213,2019-05-14 20:00:00+00:00,0.041317495034770835 +3214,2019-05-14 21:00:00+00:00,0.028891033145766493 +3215,2019-05-14 22:00:00+00:00,0.01391387361321366 +3216,2019-05-14 23:00:00+00:00,0.004869855748517227 +3217,2019-05-15 00:00:00+00:00,0.002782774690427579 +3218,2019-05-15 01:00:00+00:00,0.0006956936323380683 +3219,2019-05-15 02:00:00+00:00,0.0009592285915997738 +3220,2019-05-15 03:00:00+00:00,0.0017119373960202266 +3221,2019-05-15 04:00:00+00:00,0.005332481942890736 +3222,2019-05-15 05:00:00+00:00,0.04062636835178901 +3223,2019-05-15 06:00:00+00:00,0.06723321969261757 +3224,2019-05-15 07:00:00+00:00,0.050089945071998196 +3225,2019-05-15 08:00:00+00:00,0.05913396293669591 +3226,2019-05-15 09:00:00+00:00,0.04280729401377168 +3227,2019-05-15 10:00:00+00:00,0.03732278330476799 +3228,2019-05-15 11:00:00+00:00,0.031329646701282056 +3229,2019-05-15 12:00:00+00:00,0.025044972535999098 +3230,2019-05-15 13:00:00+00:00,0.021566504213233282 +3231,2019-05-15 14:00:00+00:00,0.016696648303641363 +3232,2019-05-15 15:00:00+00:00,0.018783729361731363 +3233,2019-05-15 16:00:00+00:00,0.030610522077929875 +3234,2019-05-15 17:00:00+00:00,0.054264107188180546 +3235,2019-05-15 18:00:00+00:00,0.054959800820518205 +3236,2019-05-15 19:00:00+00:00,0.04910870857722576 +3237,2019-05-15 20:00:00+00:00,0.04093698166119102 +3238,2019-05-15 21:00:00+00:00,0.028845516213846283 +3239,2019-05-15 22:00:00+00:00,0.01391387361321366 +3240,2019-05-15 23:00:00+00:00,0.004869855748517227 +3241,2019-05-16 00:00:00+00:00,0.002782774690427579 +3242,2019-05-16 01:00:00+00:00,0.0006956936323380683 +3243,2019-05-16 02:00:00+00:00,0.0006956936323380683 +3244,2019-05-16 03:00:00+00:00,0.0013913874257514877 +3245,2019-05-16 04:00:00+00:00,0.004869855748517227 +3246,2019-05-16 05:00:00+00:00,0.040573465634100817 +3247,2019-05-16 06:00:00+00:00,0.06783368643011362 +3248,2019-05-16 07:00:00+00:00,0.050660452728912356 +3249,2019-05-16 08:00:00+00:00,0.06041827405666378 +3250,2019-05-16 09:00:00+00:00,0.04408410716886604 +3251,2019-05-16 10:00:00+00:00,0.03755558907731615 +3252,2019-05-16 11:00:00+00:00,0.0320458882364846 +3253,2019-05-16 12:00:00+00:00,0.026080327881042104 +3254,2019-05-16 13:00:00+00:00,0.021566504213233282 +3255,2019-05-16 14:00:00+00:00,0.016696648303641363 +3256,2019-05-16 15:00:00+00:00,0.018783729361731363 +3257,2019-05-16 16:00:00+00:00,0.030610522077929875 +3258,2019-05-16 17:00:00+00:00,0.054264107188180546 +3259,2019-05-16 18:00:00+00:00,0.05499261100301379 +3260,2019-05-16 19:00:00+00:00,0.049062604833536784 +3261,2019-05-16 20:00:00+00:00,0.040950851011971635 +3262,2019-05-16 21:00:00+00:00,0.0288294999374121 +3263,2019-05-16 22:00:00+00:00,0.01391387361321366 +3264,2019-05-16 23:00:00+00:00,0.004869855748517227 +3265,2019-05-17 00:00:00+00:00,0.002782774690427579 +3266,2019-05-17 01:00:00+00:00,0.0006956936323380683 +3267,2019-05-17 02:00:00+00:00,0.0006956936323380683 +3268,2019-05-17 03:00:00+00:00,0.0013913874257514877 +3269,2019-05-17 04:00:00+00:00,0.004869855748517227 +3270,2019-05-17 05:00:00+00:00,0.04022842021069167 +3271,2019-05-17 06:00:00+00:00,0.06693419184233078 +3272,2019-05-17 07:00:00+00:00,0.0505769685636146 +3273,2019-05-17 08:00:00+00:00,0.05968984257787836 +3274,2019-05-17 09:00:00+00:00,0.044001952835072175 +3275,2019-05-17 10:00:00+00:00,0.037842982054233094 +3276,2019-05-17 11:00:00+00:00,0.032124914107845334 +3277,2019-05-17 12:00:00+00:00,0.02673344404847129 +3278,2019-05-17 13:00:00+00:00,0.021566504213233282 +3279,2019-05-17 14:00:00+00:00,0.016696648303641363 +3280,2019-05-17 15:00:00+00:00,0.018783729361731363 +3281,2019-05-17 16:00:00+00:00,0.030610522077929875 +3282,2019-05-17 17:00:00+00:00,0.054264107188180546 +3283,2019-05-17 18:00:00+00:00,0.055185113763040375 +3284,2019-05-17 19:00:00+00:00,0.04955822042621203 +3285,2019-05-17 20:00:00+00:00,0.04112301347092704 +3286,2019-05-17 21:00:00+00:00,0.028816011577161123 +3287,2019-05-17 22:00:00+00:00,0.01391387361321366 +3288,2019-05-17 23:00:00+00:00,0.004869855748517227 +3289,2019-05-18 00:00:00+00:00,0.002782774690427579 +3290,2019-05-18 01:00:00+00:00,0.0006956936323380683 +3291,2019-05-18 02:00:00+00:00,0.0006956936323380683 +3292,2019-05-18 03:00:00+00:00,0.0013913874257514877 +3293,2019-05-18 04:00:00+00:00,0.005021555321890944 +3294,2019-05-18 05:00:00+00:00,0.04013743957603986 +3295,2019-05-18 06:00:00+00:00,0.06621409408412164 +3296,2019-05-18 07:00:00+00:00,0.050089945071998196 +3297,2019-05-18 08:00:00+00:00,0.05913396293669591 +3298,2019-05-18 09:00:00+00:00,0.042883656642323444 +3299,2019-05-18 10:00:00+00:00,0.03687176509112421 +3300,2019-05-18 11:00:00+00:00,0.031306215710268946 +3301,2019-05-18 12:00:00+00:00,0.025044972535999098 +3302,2019-05-18 13:00:00+00:00,0.021566504213233282 +3303,2019-05-18 14:00:00+00:00,0.016696648303641363 +3304,2019-05-18 15:00:00+00:00,0.018783729361731363 +3305,2019-05-18 16:00:00+00:00,0.030610522077929875 +3306,2019-05-18 17:00:00+00:00,0.054264107188180546 +3307,2019-05-18 18:00:00+00:00,0.054959800820518205 +3308,2019-05-18 19:00:00+00:00,0.04869855780732421 +3309,2019-05-18 20:00:00+00:00,0.04035023357496605 +3310,2019-05-18 21:00:00+00:00,0.028523441019840015 +3311,2019-05-18 22:00:00+00:00,0.01391387361321366 +3312,2019-05-18 23:00:00+00:00,0.004869855748517227 +3313,2019-05-19 00:00:00+00:00,0.002782774690427579 +3314,2019-05-19 01:00:00+00:00,0.0006956936323380683 +3315,2019-05-19 02:00:00+00:00,0.0006956936323380683 +3316,2019-05-19 03:00:00+00:00,0.0013913874257514877 +3317,2019-05-19 04:00:00+00:00,0.004869855748517227 +3318,2019-05-19 05:00:00+00:00,0.03914789762908016 +3319,2019-05-19 06:00:00+00:00,0.06469951247862417 +3320,2019-05-19 07:00:00+00:00,0.050089945071998196 +3321,2019-05-19 08:00:00+00:00,0.05913396293669591 +3322,2019-05-19 09:00:00+00:00,0.04256154292737675 +3323,2019-05-19 10:00:00+00:00,0.03687176509112421 +3324,2019-05-19 11:00:00+00:00,0.031306215710268946 +3325,2019-05-19 12:00:00+00:00,0.02515129057548121 +3326,2019-05-19 13:00:00+00:00,0.021566504213233282 +3327,2019-05-19 14:00:00+00:00,0.016696648303641363 +3328,2019-05-19 15:00:00+00:00,0.018783729361731363 +3329,2019-05-19 16:00:00+00:00,0.030610522077929875 +3330,2019-05-19 17:00:00+00:00,0.054264107188180546 +3331,2019-05-19 18:00:00+00:00,0.054959800820518205 +3332,2019-05-19 19:00:00+00:00,0.04869855780732421 +3333,2019-05-19 20:00:00+00:00,0.04035023357496605 +3334,2019-05-19 21:00:00+00:00,0.028523441019840015 +3335,2019-05-19 22:00:00+00:00,0.01391387361321366 +3336,2019-05-19 23:00:00+00:00,0.004869855748517227 +3337,2019-05-20 00:00:00+00:00,0.002782774690427579 +3338,2019-05-20 01:00:00+00:00,0.0006956936323380683 +3339,2019-05-20 02:00:00+00:00,0.0006956936323380683 +3340,2019-05-20 03:00:00+00:00,0.0013913874257514877 +3341,2019-05-20 04:00:00+00:00,0.004869855748517227 +3342,2019-05-20 05:00:00+00:00,0.03916659653097101 +3343,2019-05-20 06:00:00+00:00,0.06469951247862417 +3344,2019-05-20 07:00:00+00:00,0.050089945071998196 +3345,2019-05-20 08:00:00+00:00,0.05913396293669591 +3346,2019-05-20 09:00:00+00:00,0.04264836523950666 +3347,2019-05-20 10:00:00+00:00,0.03687176509112421 +3348,2019-05-20 11:00:00+00:00,0.031306215710268946 +3349,2019-05-20 12:00:00+00:00,0.025243738101849517 +3350,2019-05-20 13:00:00+00:00,0.021566504213233282 +3351,2019-05-20 14:00:00+00:00,0.016696648303641363 +3352,2019-05-20 15:00:00+00:00,0.018783729361731363 +3353,2019-05-20 16:00:00+00:00,0.030610522077929875 +3354,2019-05-20 17:00:00+00:00,0.054264107188180546 +3355,2019-05-20 18:00:00+00:00,0.054959800820518205 +3356,2019-05-20 19:00:00+00:00,0.04869855780732421 +3357,2019-05-20 20:00:00+00:00,0.04035023357496605 +3358,2019-05-20 21:00:00+00:00,0.028523441019840015 +3359,2019-05-20 22:00:00+00:00,0.01391387361321366 +3360,2019-05-20 23:00:00+00:00,0.004869855748517227 +3361,2019-05-21 00:00:00+00:00,0.002782774690427579 +3362,2019-05-21 01:00:00+00:00,0.0006956936323380683 +3363,2019-05-21 02:00:00+00:00,0.0006956936323380683 +3364,2019-05-21 03:00:00+00:00,0.0013913874257514877 +3365,2019-05-21 04:00:00+00:00,0.004869855748517227 +3366,2019-05-21 05:00:00+00:00,0.039315525611778 +3367,2019-05-21 06:00:00+00:00,0.06469951247862417 +3368,2019-05-21 07:00:00+00:00,0.050089945071998196 +3369,2019-05-21 08:00:00+00:00,0.05913396293669591 +3370,2019-05-21 09:00:00+00:00,0.04281592983163353 +3371,2019-05-21 10:00:00+00:00,0.03687176509112421 +3372,2019-05-21 11:00:00+00:00,0.031317288126480734 +3373,2019-05-21 12:00:00+00:00,0.025388791365953442 +3374,2019-05-21 13:00:00+00:00,0.021566504213233282 +3375,2019-05-21 14:00:00+00:00,0.016696648303641363 +3376,2019-05-21 15:00:00+00:00,0.018783729361731363 +3377,2019-05-21 16:00:00+00:00,0.030610522077929875 +3378,2019-05-21 17:00:00+00:00,0.054264107188180546 +3379,2019-05-21 18:00:00+00:00,0.054959800820518205 +3380,2019-05-21 19:00:00+00:00,0.048818086719216336 +3381,2019-05-21 20:00:00+00:00,0.04035023357496605 +3382,2019-05-21 21:00:00+00:00,0.02866767969448976 +3383,2019-05-21 22:00:00+00:00,0.01391387361321366 +3384,2019-05-21 23:00:00+00:00,0.004869855748517227 +3385,2019-05-22 00:00:00+00:00,0.002782774690427579 +3386,2019-05-22 01:00:00+00:00,0.0006956936323380683 +3387,2019-05-22 02:00:00+00:00,0.0006956936323380683 +3388,2019-05-22 03:00:00+00:00,0.0013913874257514877 +3389,2019-05-22 04:00:00+00:00,0.004869855748517227 +3390,2019-05-22 05:00:00+00:00,0.039491929034367386 +3391,2019-05-22 06:00:00+00:00,0.06469951247862417 +3392,2019-05-22 07:00:00+00:00,0.050089945071998196 +3393,2019-05-22 08:00:00+00:00,0.05913396293669591 +3394,2019-05-22 09:00:00+00:00,0.042493955863000844 +3395,2019-05-22 10:00:00+00:00,0.03687176509112421 +3396,2019-05-22 11:00:00+00:00,0.031306215710268946 +3397,2019-05-22 12:00:00+00:00,0.025044972535999098 +3398,2019-05-22 13:00:00+00:00,0.021566504213233282 +3399,2019-05-22 14:00:00+00:00,0.016696648303641363 +3400,2019-05-22 15:00:00+00:00,0.018783729361731363 +3401,2019-05-22 16:00:00+00:00,0.030610522077929875 +3402,2019-05-22 17:00:00+00:00,0.054264107188180546 +3403,2019-05-22 18:00:00+00:00,0.054959800820518205 +3404,2019-05-22 19:00:00+00:00,0.04869855780732421 +3405,2019-05-22 20:00:00+00:00,0.04035023357496605 +3406,2019-05-22 21:00:00+00:00,0.028523441019840015 +3407,2019-05-22 22:00:00+00:00,0.01391387361321366 +3408,2019-05-22 23:00:00+00:00,0.004869855748517227 +3409,2019-05-23 00:00:00+00:00,0.002782774690427579 +3410,2019-05-23 01:00:00+00:00,0.0006956936323380683 +3411,2019-05-23 02:00:00+00:00,0.0006956936323380683 +3412,2019-05-23 03:00:00+00:00,0.0013913874257514877 +3413,2019-05-23 04:00:00+00:00,0.004869855748517227 +3414,2019-05-23 05:00:00+00:00,0.03913252592106326 +3415,2019-05-23 06:00:00+00:00,0.06469951247862417 +3416,2019-05-23 07:00:00+00:00,0.050089945071998196 +3417,2019-05-23 08:00:00+00:00,0.05913396293669591 +3418,2019-05-23 09:00:00+00:00,0.04243731463305358 +3419,2019-05-23 10:00:00+00:00,0.03687176509112421 +3420,2019-05-23 11:00:00+00:00,0.031306215710268946 +3421,2019-05-23 12:00:00+00:00,0.025044972535999098 +3422,2019-05-23 13:00:00+00:00,0.021566504213233282 +3423,2019-05-23 14:00:00+00:00,0.016696648303641363 +3424,2019-05-23 15:00:00+00:00,0.018783729361731363 +3425,2019-05-23 16:00:00+00:00,0.030610522077929875 +3426,2019-05-23 17:00:00+00:00,0.054264107188180546 +3427,2019-05-23 18:00:00+00:00,0.054959800820518205 +3428,2019-05-23 19:00:00+00:00,0.04869855780732421 +3429,2019-05-23 20:00:00+00:00,0.04035023357496605 +3430,2019-05-23 21:00:00+00:00,0.028523441019840015 +3431,2019-05-23 22:00:00+00:00,0.01391387361321366 +3432,2019-05-23 23:00:00+00:00,0.004869855748517227 +3433,2019-05-24 00:00:00+00:00,0.002782774690427579 +3434,2019-05-24 01:00:00+00:00,0.0006956936323380683 +3435,2019-05-24 02:00:00+00:00,0.0006956936323380683 +3436,2019-05-24 03:00:00+00:00,0.0013913874257514877 +3437,2019-05-24 04:00:00+00:00,0.004869855748517227 +3438,2019-05-24 05:00:00+00:00,0.038996650650684445 +3439,2019-05-24 06:00:00+00:00,0.06469951247862417 +3440,2019-05-24 07:00:00+00:00,0.050089945071998196 +3441,2019-05-24 08:00:00+00:00,0.05913396293669591 +3442,2019-05-24 09:00:00+00:00,0.04243731463305358 +3443,2019-05-24 10:00:00+00:00,0.03687176509112421 +3444,2019-05-24 11:00:00+00:00,0.031306215710268946 +3445,2019-05-24 12:00:00+00:00,0.025044972535999098 +3446,2019-05-24 13:00:00+00:00,0.021566504213233282 +3447,2019-05-24 14:00:00+00:00,0.016696648303641363 +3448,2019-05-24 15:00:00+00:00,0.018783729361731363 +3449,2019-05-24 16:00:00+00:00,0.030610522077929875 +3450,2019-05-24 17:00:00+00:00,0.054264107188180546 +3451,2019-05-24 18:00:00+00:00,0.054959800820518205 +3452,2019-05-24 19:00:00+00:00,0.04869855780732421 +3453,2019-05-24 20:00:00+00:00,0.04035023357496605 +3454,2019-05-24 21:00:00+00:00,0.028523441019840015 +3455,2019-05-24 22:00:00+00:00,0.01391387361321366 +3456,2019-05-24 23:00:00+00:00,0.004869855748517227 +3457,2019-05-25 00:00:00+00:00,0.002782774690427579 +3458,2019-05-25 01:00:00+00:00,0.0006956936323380683 +3459,2019-05-25 02:00:00+00:00,0.0006956936323380683 +3460,2019-05-25 03:00:00+00:00,0.0013913874257514877 +3461,2019-05-25 04:00:00+00:00,0.004869855748517227 +3462,2019-05-25 05:00:00+00:00,0.03895884614921248 +3463,2019-05-25 06:00:00+00:00,0.06469951247862417 +3464,2019-05-25 07:00:00+00:00,0.050089945071998196 +3465,2019-05-25 08:00:00+00:00,0.05913396293669591 +3466,2019-05-25 09:00:00+00:00,0.04243731463305358 +3467,2019-05-25 10:00:00+00:00,0.03687176509112421 +3468,2019-05-25 11:00:00+00:00,0.031306215710268946 +3469,2019-05-25 12:00:00+00:00,0.025044972535999098 +3470,2019-05-25 13:00:00+00:00,0.021566504213233282 +3471,2019-05-25 14:00:00+00:00,0.016696648303641363 +3472,2019-05-25 15:00:00+00:00,0.018783729361731363 +3473,2019-05-25 16:00:00+00:00,0.030610522077929875 +3474,2019-05-25 17:00:00+00:00,0.054264107188180546 +3475,2019-05-25 18:00:00+00:00,0.054959800820518205 +3476,2019-05-25 19:00:00+00:00,0.04869855780732421 +3477,2019-05-25 20:00:00+00:00,0.04035023357496605 +3478,2019-05-25 21:00:00+00:00,0.028523441019840015 +3479,2019-05-25 22:00:00+00:00,0.01391387361321366 +3480,2019-05-25 23:00:00+00:00,0.004869855748517227 +3481,2019-05-26 00:00:00+00:00,0.002782774690427579 +3482,2019-05-26 01:00:00+00:00,0.0006956936323380683 +3483,2019-05-26 02:00:00+00:00,0.0006956936323380683 +3484,2019-05-26 03:00:00+00:00,0.0013913874257514877 +3485,2019-05-26 04:00:00+00:00,0.004869855748517227 +3486,2019-05-26 05:00:00+00:00,0.03895884614921248 +3487,2019-05-26 06:00:00+00:00,0.06469951247862417 +3488,2019-05-26 07:00:00+00:00,0.050089945071998196 +3489,2019-05-26 08:00:00+00:00,0.05913396293669591 +3490,2019-05-26 09:00:00+00:00,0.04243731463305358 +3491,2019-05-26 10:00:00+00:00,0.03687176509112421 +3492,2019-05-26 11:00:00+00:00,0.031306215710268946 +3493,2019-05-26 12:00:00+00:00,0.025044972535999098 +3494,2019-05-26 13:00:00+00:00,0.021566504213233282 +3495,2019-05-26 14:00:00+00:00,0.016696648303641363 +3496,2019-05-26 15:00:00+00:00,0.018783729361731363 +3497,2019-05-26 16:00:00+00:00,0.030610522077929875 +3498,2019-05-26 17:00:00+00:00,0.054264107188180546 +3499,2019-05-26 18:00:00+00:00,0.054959800820518205 +3500,2019-05-26 19:00:00+00:00,0.04869855780732421 +3501,2019-05-26 20:00:00+00:00,0.04035023357496605 +3502,2019-05-26 21:00:00+00:00,0.028523441019840015 +3503,2019-05-26 22:00:00+00:00,0.01391387361321366 +3504,2019-05-26 23:00:00+00:00,0.004869855748517227 +3505,2019-05-27 00:00:00+00:00,0.002782774690427579 +3506,2019-05-27 01:00:00+00:00,0.0006956936323380683 +3507,2019-05-27 02:00:00+00:00,0.0006956936323380683 +3508,2019-05-27 03:00:00+00:00,0.0013913874257514877 +3509,2019-05-27 04:00:00+00:00,0.004869855748517227 +3510,2019-05-27 05:00:00+00:00,0.03895884614921248 +3511,2019-05-27 06:00:00+00:00,0.06469951247862417 +3512,2019-05-27 07:00:00+00:00,0.050089945071998196 +3513,2019-05-27 08:00:00+00:00,0.05913396293669591 +3514,2019-05-27 09:00:00+00:00,0.04243731463305358 +3515,2019-05-27 10:00:00+00:00,0.03687176509112421 +3516,2019-05-27 11:00:00+00:00,0.031306215710268946 +3517,2019-05-27 12:00:00+00:00,0.025044972535999098 +3518,2019-05-27 13:00:00+00:00,0.021566504213233282 +3519,2019-05-27 14:00:00+00:00,0.016696648303641363 +3520,2019-05-27 15:00:00+00:00,0.018783729361731363 +3521,2019-05-27 16:00:00+00:00,0.030610522077929875 +3522,2019-05-27 17:00:00+00:00,0.054264107188180546 +3523,2019-05-27 18:00:00+00:00,0.054959800820518205 +3524,2019-05-27 19:00:00+00:00,0.04869855780732421 +3525,2019-05-27 20:00:00+00:00,0.04035023357496605 +3526,2019-05-27 21:00:00+00:00,0.028523441019840015 +3527,2019-05-27 22:00:00+00:00,0.01391387361321366 +3528,2019-05-27 23:00:00+00:00,0.004869855748517227 +3529,2019-05-28 00:00:00+00:00,0.002782774690427579 +3530,2019-05-28 01:00:00+00:00,0.0006956936323380683 +3531,2019-05-28 02:00:00+00:00,0.0006956936323380683 +3532,2019-05-28 03:00:00+00:00,0.0013913874257514877 +3533,2019-05-28 04:00:00+00:00,0.004869855748517227 +3534,2019-05-28 05:00:00+00:00,0.03895884614921248 +3535,2019-05-28 06:00:00+00:00,0.06469951247862417 +3536,2019-05-28 07:00:00+00:00,0.050089945071998196 +3537,2019-05-28 08:00:00+00:00,0.05913396293669591 +3538,2019-05-28 09:00:00+00:00,0.04243731463305358 +3539,2019-05-28 10:00:00+00:00,0.03687176509112421 +3540,2019-05-28 11:00:00+00:00,0.031306215710268946 +3541,2019-05-28 12:00:00+00:00,0.025044972535999098 +3542,2019-05-28 13:00:00+00:00,0.021566504213233282 +3543,2019-05-28 14:00:00+00:00,0.016696648303641363 +3544,2019-05-28 15:00:00+00:00,0.018783729361731363 +3545,2019-05-28 16:00:00+00:00,0.030610522077929875 +3546,2019-05-28 17:00:00+00:00,0.054264107188180546 +3547,2019-05-28 18:00:00+00:00,0.054959800820518205 +3548,2019-05-28 19:00:00+00:00,0.04869855780732421 +3549,2019-05-28 20:00:00+00:00,0.04035023357496605 +3550,2019-05-28 21:00:00+00:00,0.028523441019840015 +3551,2019-05-28 22:00:00+00:00,0.01391387361321366 +3552,2019-05-28 23:00:00+00:00,0.004869855748517227 +3553,2019-05-29 00:00:00+00:00,0.002782774690427579 +3554,2019-05-29 01:00:00+00:00,0.0006956936323380683 +3555,2019-05-29 02:00:00+00:00,0.0006956936323380683 +3556,2019-05-29 03:00:00+00:00,0.0013913874257514877 +3557,2019-05-29 04:00:00+00:00,0.004869855748517227 +3558,2019-05-29 05:00:00+00:00,0.03895884614921248 +3559,2019-05-29 06:00:00+00:00,0.06469951247862417 +3560,2019-05-29 07:00:00+00:00,0.050089945071998196 +3561,2019-05-29 08:00:00+00:00,0.05913396293669591 +3562,2019-05-29 09:00:00+00:00,0.04243731463305358 +3563,2019-05-29 10:00:00+00:00,0.03687176509112421 +3564,2019-05-29 11:00:00+00:00,0.031306215710268946 +3565,2019-05-29 12:00:00+00:00,0.025044972535999098 +3566,2019-05-29 13:00:00+00:00,0.021566504213233282 +3567,2019-05-29 14:00:00+00:00,0.016696648303641363 +3568,2019-05-29 15:00:00+00:00,0.018783729361731363 +3569,2019-05-29 16:00:00+00:00,0.030610522077929875 +3570,2019-05-29 17:00:00+00:00,0.054264107188180546 +3571,2019-05-29 18:00:00+00:00,0.054959800820518205 +3572,2019-05-29 19:00:00+00:00,0.04869855780732421 +3573,2019-05-29 20:00:00+00:00,0.04035023357496605 +3574,2019-05-29 21:00:00+00:00,0.028523441019840015 +3575,2019-05-29 22:00:00+00:00,0.01391387361321366 +3576,2019-05-29 23:00:00+00:00,0.004869855748517227 +3577,2019-05-30 00:00:00+00:00,0.002782774690427579 +3578,2019-05-30 01:00:00+00:00,0.0006956936323380683 +3579,2019-05-30 02:00:00+00:00,0.0006956936323380683 +3580,2019-05-30 03:00:00+00:00,0.0013913874257514877 +3581,2019-05-30 04:00:00+00:00,0.004869855748517227 +3582,2019-05-30 05:00:00+00:00,0.03895884614921248 +3583,2019-05-30 06:00:00+00:00,0.06469951247862417 +3584,2019-05-30 07:00:00+00:00,0.050089945071998196 +3585,2019-05-30 08:00:00+00:00,0.05913396293669591 +3586,2019-05-30 09:00:00+00:00,0.04243731463305358 +3587,2019-05-30 10:00:00+00:00,0.03687176509112421 +3588,2019-05-30 11:00:00+00:00,0.031306215710268946 +3589,2019-05-30 12:00:00+00:00,0.025044972535999098 +3590,2019-05-30 13:00:00+00:00,0.021566504213233282 +3591,2019-05-30 14:00:00+00:00,0.016696648303641363 +3592,2019-05-30 15:00:00+00:00,0.018783729361731363 +3593,2019-05-30 16:00:00+00:00,0.030610522077929875 +3594,2019-05-30 17:00:00+00:00,0.054264107188180546 +3595,2019-05-30 18:00:00+00:00,0.054959800820518205 +3596,2019-05-30 19:00:00+00:00,0.04869855780732421 +3597,2019-05-30 20:00:00+00:00,0.04035023357496605 +3598,2019-05-30 21:00:00+00:00,0.028523441019840015 +3599,2019-05-30 22:00:00+00:00,0.01391387361321366 +3600,2019-05-30 23:00:00+00:00,0.004869855748517227 +3601,2019-05-31 00:00:00+00:00,0.002782774690427579 +3602,2019-05-31 01:00:00+00:00,0.0006956936323380683 +3603,2019-05-31 02:00:00+00:00,0.0006956936323380683 +3604,2019-05-31 03:00:00+00:00,0.0013913874257514877 +3605,2019-05-31 04:00:00+00:00,0.004869855748517227 +3606,2019-05-31 05:00:00+00:00,0.03895884614921248 +3607,2019-05-31 06:00:00+00:00,0.06469951247862417 +3608,2019-05-31 07:00:00+00:00,0.050089945071998196 +3609,2019-05-31 08:00:00+00:00,0.05913396293669591 +3610,2019-05-31 09:00:00+00:00,0.04243731463305358 +3611,2019-05-31 10:00:00+00:00,0.03687176509112421 +3612,2019-05-31 11:00:00+00:00,0.031306215710268946 +3613,2019-05-31 12:00:00+00:00,0.025044972535999098 +3614,2019-05-31 13:00:00+00:00,0.021566504213233282 +3615,2019-05-31 14:00:00+00:00,0.016696648303641363 +3616,2019-05-31 15:00:00+00:00,0.018783729361731363 +3617,2019-05-31 16:00:00+00:00,0.030610522077929875 +3618,2019-05-31 17:00:00+00:00,0.054264107188180546 +3619,2019-05-31 18:00:00+00:00,0.054959800820518205 +3620,2019-05-31 19:00:00+00:00,0.04869855780732421 +3621,2019-05-31 20:00:00+00:00,0.04035023357496605 +3622,2019-05-31 21:00:00+00:00,0.028523441019840015 +3623,2019-05-31 22:00:00+00:00,0.01391387361321366 +3624,2019-05-31 23:00:00+00:00,0.004869855748517227 +3625,2019-06-01 00:00:00+00:00,0.002782774690427579 +3626,2019-06-01 01:00:00+00:00,0.0006956936323380683 +3627,2019-06-01 02:00:00+00:00,0.0006956936323380683 +3628,2019-06-01 03:00:00+00:00,0.0013913874257514877 +3629,2019-06-01 04:00:00+00:00,0.004869855748517227 +3630,2019-06-01 05:00:00+00:00,0.03895884614921248 +3631,2019-06-01 06:00:00+00:00,0.06469951247862417 +3632,2019-06-01 07:00:00+00:00,0.050089945071998196 +3633,2019-06-01 08:00:00+00:00,0.05913396293669591 +3634,2019-06-01 09:00:00+00:00,0.04243731463305358 +3635,2019-06-01 10:00:00+00:00,0.03687176509112421 +3636,2019-06-01 11:00:00+00:00,0.031306215710268946 +3637,2019-06-01 12:00:00+00:00,0.025044972535999098 +3638,2019-06-01 13:00:00+00:00,0.021566504213233282 +3639,2019-06-01 14:00:00+00:00,0.016696648303641363 +3640,2019-06-01 15:00:00+00:00,0.018783729361731363 +3641,2019-06-01 16:00:00+00:00,0.030610522077929875 +3642,2019-06-01 17:00:00+00:00,0.054264107188180546 +3643,2019-06-01 18:00:00+00:00,0.054959800820518205 +3644,2019-06-01 19:00:00+00:00,0.04869855780732421 +3645,2019-06-01 20:00:00+00:00,0.04035023357496605 +3646,2019-06-01 21:00:00+00:00,0.028523441019840015 +3647,2019-06-01 22:00:00+00:00,0.01391387361321366 +3648,2019-06-01 23:00:00+00:00,0.004869855748517227 +3649,2019-06-02 00:00:00+00:00,0.002782774690427579 +3650,2019-06-02 01:00:00+00:00,0.0006956936323380683 +3651,2019-06-02 02:00:00+00:00,0.0006956936323380683 +3652,2019-06-02 03:00:00+00:00,0.0013913874257514877 +3653,2019-06-02 04:00:00+00:00,0.004869855748517227 +3654,2019-06-02 05:00:00+00:00,0.03895884614921248 +3655,2019-06-02 06:00:00+00:00,0.06469951247862417 +3656,2019-06-02 07:00:00+00:00,0.050089945071998196 +3657,2019-06-02 08:00:00+00:00,0.05913396293669591 +3658,2019-06-02 09:00:00+00:00,0.04243731463305358 +3659,2019-06-02 10:00:00+00:00,0.03687176509112421 +3660,2019-06-02 11:00:00+00:00,0.031306215710268946 +3661,2019-06-02 12:00:00+00:00,0.025044972535999098 +3662,2019-06-02 13:00:00+00:00,0.021566504213233282 +3663,2019-06-02 14:00:00+00:00,0.016696648303641363 +3664,2019-06-02 15:00:00+00:00,0.018783729361731363 +3665,2019-06-02 16:00:00+00:00,0.030610522077929875 +3666,2019-06-02 17:00:00+00:00,0.054264107188180546 +3667,2019-06-02 18:00:00+00:00,0.054959800820518205 +3668,2019-06-02 19:00:00+00:00,0.04869855780732421 +3669,2019-06-02 20:00:00+00:00,0.04035023357496605 +3670,2019-06-02 21:00:00+00:00,0.028523441019840015 +3671,2019-06-02 22:00:00+00:00,0.01391387361321366 +3672,2019-06-02 23:00:00+00:00,0.004869855748517227 +3673,2019-06-03 00:00:00+00:00,0.002782774690427579 +3674,2019-06-03 01:00:00+00:00,0.0006956936323380683 +3675,2019-06-03 02:00:00+00:00,0.0006956936323380683 +3676,2019-06-03 03:00:00+00:00,0.0013913874257514877 +3677,2019-06-03 04:00:00+00:00,0.004869855748517227 +3678,2019-06-03 05:00:00+00:00,0.03895884614921248 +3679,2019-06-03 06:00:00+00:00,0.06469951247862417 +3680,2019-06-03 07:00:00+00:00,0.050089945071998196 +3681,2019-06-03 08:00:00+00:00,0.05913396293669591 +3682,2019-06-03 09:00:00+00:00,0.04243731463305358 +3683,2019-06-03 10:00:00+00:00,0.03687176509112421 +3684,2019-06-03 11:00:00+00:00,0.031306215710268946 +3685,2019-06-03 12:00:00+00:00,0.025044972535999098 +3686,2019-06-03 13:00:00+00:00,0.021566504213233282 +3687,2019-06-03 14:00:00+00:00,0.016696648303641363 +3688,2019-06-03 15:00:00+00:00,0.018783729361731363 +3689,2019-06-03 16:00:00+00:00,0.030610522077929875 +3690,2019-06-03 17:00:00+00:00,0.054264107188180546 +3691,2019-06-03 18:00:00+00:00,0.054959800820518205 +3692,2019-06-03 19:00:00+00:00,0.04869855780732421 +3693,2019-06-03 20:00:00+00:00,0.04035023357496605 +3694,2019-06-03 21:00:00+00:00,0.028523441019840015 +3695,2019-06-03 22:00:00+00:00,0.01391387361321366 +3696,2019-06-03 23:00:00+00:00,0.004869855748517227 +3697,2019-06-04 00:00:00+00:00,0.002782774690427579 +3698,2019-06-04 01:00:00+00:00,0.0006956936323380683 +3699,2019-06-04 02:00:00+00:00,0.0006956936323380683 +3700,2019-06-04 03:00:00+00:00,0.0013913874257514877 +3701,2019-06-04 04:00:00+00:00,0.004869855748517227 +3702,2019-06-04 05:00:00+00:00,0.03895884614921248 +3703,2019-06-04 06:00:00+00:00,0.06469951247862417 +3704,2019-06-04 07:00:00+00:00,0.050089945071998196 +3705,2019-06-04 08:00:00+00:00,0.05913396293669591 +3706,2019-06-04 09:00:00+00:00,0.04243731463305358 +3707,2019-06-04 10:00:00+00:00,0.03687176509112421 +3708,2019-06-04 11:00:00+00:00,0.031306215710268946 +3709,2019-06-04 12:00:00+00:00,0.025044972535999098 +3710,2019-06-04 13:00:00+00:00,0.021566504213233282 +3711,2019-06-04 14:00:00+00:00,0.016696648303641363 +3712,2019-06-04 15:00:00+00:00,0.018783729361731363 +3713,2019-06-04 16:00:00+00:00,0.030610522077929875 +3714,2019-06-04 17:00:00+00:00,0.054264107188180546 +3715,2019-06-04 18:00:00+00:00,0.054959800820518205 +3716,2019-06-04 19:00:00+00:00,0.04869855780732421 +3717,2019-06-04 20:00:00+00:00,0.04035023357496605 +3718,2019-06-04 21:00:00+00:00,0.028523441019840015 +3719,2019-06-04 22:00:00+00:00,0.01391387361321366 +3720,2019-06-04 23:00:00+00:00,0.004869855748517227 +3721,2019-06-05 00:00:00+00:00,0.002782774690427579 +3722,2019-06-05 01:00:00+00:00,0.0006956936323380683 +3723,2019-06-05 02:00:00+00:00,0.0006956936323380683 +3724,2019-06-05 03:00:00+00:00,0.0013913874257514877 +3725,2019-06-05 04:00:00+00:00,0.004869855748517227 +3726,2019-06-05 05:00:00+00:00,0.03895884614921248 +3727,2019-06-05 06:00:00+00:00,0.06469951247862417 +3728,2019-06-05 07:00:00+00:00,0.050089945071998196 +3729,2019-06-05 08:00:00+00:00,0.05913396293669591 +3730,2019-06-05 09:00:00+00:00,0.04243731463305358 +3731,2019-06-05 10:00:00+00:00,0.03687176509112421 +3732,2019-06-05 11:00:00+00:00,0.031306215710268946 +3733,2019-06-05 12:00:00+00:00,0.025044972535999098 +3734,2019-06-05 13:00:00+00:00,0.021566504213233282 +3735,2019-06-05 14:00:00+00:00,0.016696648303641363 +3736,2019-06-05 15:00:00+00:00,0.018783729361731363 +3737,2019-06-05 16:00:00+00:00,0.030610522077929875 +3738,2019-06-05 17:00:00+00:00,0.054264107188180546 +3739,2019-06-05 18:00:00+00:00,0.054959800820518205 +3740,2019-06-05 19:00:00+00:00,0.04869855780732421 +3741,2019-06-05 20:00:00+00:00,0.04035023357496605 +3742,2019-06-05 21:00:00+00:00,0.028523441019840015 +3743,2019-06-05 22:00:00+00:00,0.01391387361321366 +3744,2019-06-05 23:00:00+00:00,0.004869855748517227 +3745,2019-06-06 00:00:00+00:00,0.002782774690427579 +3746,2019-06-06 01:00:00+00:00,0.0006956936323380683 +3747,2019-06-06 02:00:00+00:00,0.0006956936323380683 +3748,2019-06-06 03:00:00+00:00,0.0013913874257514877 +3749,2019-06-06 04:00:00+00:00,0.004869855748517227 +3750,2019-06-06 05:00:00+00:00,0.03895884614921248 +3751,2019-06-06 06:00:00+00:00,0.06469951247862417 +3752,2019-06-06 07:00:00+00:00,0.050089945071998196 +3753,2019-06-06 08:00:00+00:00,0.05913396293669591 +3754,2019-06-06 09:00:00+00:00,0.04243731463305358 +3755,2019-06-06 10:00:00+00:00,0.03687176509112421 +3756,2019-06-06 11:00:00+00:00,0.031306215710268946 +3757,2019-06-06 12:00:00+00:00,0.025044972535999098 +3758,2019-06-06 13:00:00+00:00,0.021566504213233282 +3759,2019-06-06 14:00:00+00:00,0.016696648303641363 +3760,2019-06-06 15:00:00+00:00,0.018783729361731363 +3761,2019-06-06 16:00:00+00:00,0.030610522077929875 +3762,2019-06-06 17:00:00+00:00,0.054264107188180546 +3763,2019-06-06 18:00:00+00:00,0.054959800820518205 +3764,2019-06-06 19:00:00+00:00,0.04869855780732421 +3765,2019-06-06 20:00:00+00:00,0.04035023357496605 +3766,2019-06-06 21:00:00+00:00,0.028523441019840015 +3767,2019-06-06 22:00:00+00:00,0.01391387361321366 +3768,2019-06-06 23:00:00+00:00,0.004869855748517227 +3769,2019-06-07 00:00:00+00:00,0.002782774690427579 +3770,2019-06-07 01:00:00+00:00,0.0006956936323380683 +3771,2019-06-07 02:00:00+00:00,0.0006956936323380683 +3772,2019-06-07 03:00:00+00:00,0.0013913874257514877 +3773,2019-06-07 04:00:00+00:00,0.004869855748517227 +3774,2019-06-07 05:00:00+00:00,0.03895884614921248 +3775,2019-06-07 06:00:00+00:00,0.06469951247862417 +3776,2019-06-07 07:00:00+00:00,0.050089945071998196 +3777,2019-06-07 08:00:00+00:00,0.05913396293669591 +3778,2019-06-07 09:00:00+00:00,0.04243731463305358 +3779,2019-06-07 10:00:00+00:00,0.03687176509112421 +3780,2019-06-07 11:00:00+00:00,0.031306215710268946 +3781,2019-06-07 12:00:00+00:00,0.025044972535999098 +3782,2019-06-07 13:00:00+00:00,0.021566504213233282 +3783,2019-06-07 14:00:00+00:00,0.016696648303641363 +3784,2019-06-07 15:00:00+00:00,0.018783729361731363 +3785,2019-06-07 16:00:00+00:00,0.030610522077929875 +3786,2019-06-07 17:00:00+00:00,0.054264107188180546 +3787,2019-06-07 18:00:00+00:00,0.054959800820518205 +3788,2019-06-07 19:00:00+00:00,0.04869855780732421 +3789,2019-06-07 20:00:00+00:00,0.04035023357496605 +3790,2019-06-07 21:00:00+00:00,0.028523441019840015 +3791,2019-06-07 22:00:00+00:00,0.01391387361321366 +3792,2019-06-07 23:00:00+00:00,0.004869855748517227 +3793,2019-06-08 00:00:00+00:00,0.002782774690427579 +3794,2019-06-08 01:00:00+00:00,0.0006956936323380683 +3795,2019-06-08 02:00:00+00:00,0.0006956936323380683 +3796,2019-06-08 03:00:00+00:00,0.0013913874257514877 +3797,2019-06-08 04:00:00+00:00,0.004869855748517227 +3798,2019-06-08 05:00:00+00:00,0.03895884614921248 +3799,2019-06-08 06:00:00+00:00,0.06469951247862417 +3800,2019-06-08 07:00:00+00:00,0.050089945071998196 +3801,2019-06-08 08:00:00+00:00,0.05913396293669591 +3802,2019-06-08 09:00:00+00:00,0.04243731463305358 +3803,2019-06-08 10:00:00+00:00,0.03687176509112421 +3804,2019-06-08 11:00:00+00:00,0.031306215710268946 +3805,2019-06-08 12:00:00+00:00,0.025044972535999098 +3806,2019-06-08 13:00:00+00:00,0.021566504213233282 +3807,2019-06-08 14:00:00+00:00,0.016696648303641363 +3808,2019-06-08 15:00:00+00:00,0.018783729361731363 +3809,2019-06-08 16:00:00+00:00,0.030610522077929875 +3810,2019-06-08 17:00:00+00:00,0.054264107188180546 +3811,2019-06-08 18:00:00+00:00,0.054959800820518205 +3812,2019-06-08 19:00:00+00:00,0.04869855780732421 +3813,2019-06-08 20:00:00+00:00,0.04035023357496605 +3814,2019-06-08 21:00:00+00:00,0.028523441019840015 +3815,2019-06-08 22:00:00+00:00,0.01391387361321366 +3816,2019-06-08 23:00:00+00:00,0.004869855748517227 +3817,2019-06-09 00:00:00+00:00,0.002782774690427579 +3818,2019-06-09 01:00:00+00:00,0.0006956936323380683 +3819,2019-06-09 02:00:00+00:00,0.0006956936323380683 +3820,2019-06-09 03:00:00+00:00,0.0013913874257514877 +3821,2019-06-09 04:00:00+00:00,0.004869855748517227 +3822,2019-06-09 05:00:00+00:00,0.03895884614921248 +3823,2019-06-09 06:00:00+00:00,0.06469951247862417 +3824,2019-06-09 07:00:00+00:00,0.050089945071998196 +3825,2019-06-09 08:00:00+00:00,0.05913396293669591 +3826,2019-06-09 09:00:00+00:00,0.04243731463305358 +3827,2019-06-09 10:00:00+00:00,0.03687176509112421 +3828,2019-06-09 11:00:00+00:00,0.031306215710268946 +3829,2019-06-09 12:00:00+00:00,0.025044972535999098 +3830,2019-06-09 13:00:00+00:00,0.021566504213233282 +3831,2019-06-09 14:00:00+00:00,0.016696648303641363 +3832,2019-06-09 15:00:00+00:00,0.018783729361731363 +3833,2019-06-09 16:00:00+00:00,0.030610522077929875 +3834,2019-06-09 17:00:00+00:00,0.054264107188180546 +3835,2019-06-09 18:00:00+00:00,0.054959800820518205 +3836,2019-06-09 19:00:00+00:00,0.04869855780732421 +3837,2019-06-09 20:00:00+00:00,0.04035023357496605 +3838,2019-06-09 21:00:00+00:00,0.028523441019840015 +3839,2019-06-09 22:00:00+00:00,0.01391387361321366 +3840,2019-06-09 23:00:00+00:00,0.004869855748517227 +3841,2019-06-10 00:00:00+00:00,0.002782774690427579 +3842,2019-06-10 01:00:00+00:00,0.0006956936323380683 +3843,2019-06-10 02:00:00+00:00,0.0006956936323380683 +3844,2019-06-10 03:00:00+00:00,0.0013913874257514877 +3845,2019-06-10 04:00:00+00:00,0.004869855748517227 +3846,2019-06-10 05:00:00+00:00,0.03895884614921248 +3847,2019-06-10 06:00:00+00:00,0.06469951247862417 +3848,2019-06-10 07:00:00+00:00,0.050089945071998196 +3849,2019-06-10 08:00:00+00:00,0.05913396293669591 +3850,2019-06-10 09:00:00+00:00,0.04243731463305358 +3851,2019-06-10 10:00:00+00:00,0.03687176509112421 +3852,2019-06-10 11:00:00+00:00,0.031306215710268946 +3853,2019-06-10 12:00:00+00:00,0.025044972535999098 +3854,2019-06-10 13:00:00+00:00,0.021566504213233282 +3855,2019-06-10 14:00:00+00:00,0.016696648303641363 +3856,2019-06-10 15:00:00+00:00,0.018783729361731363 +3857,2019-06-10 16:00:00+00:00,0.030610522077929875 +3858,2019-06-10 17:00:00+00:00,0.054264107188180546 +3859,2019-06-10 18:00:00+00:00,0.054959800820518205 +3860,2019-06-10 19:00:00+00:00,0.04869855780732421 +3861,2019-06-10 20:00:00+00:00,0.04035023357496605 +3862,2019-06-10 21:00:00+00:00,0.028523441019840015 +3863,2019-06-10 22:00:00+00:00,0.01391387361321366 +3864,2019-06-10 23:00:00+00:00,0.004869855748517227 +3865,2019-06-11 00:00:00+00:00,0.002782774690427579 +3866,2019-06-11 01:00:00+00:00,0.0006956936323380683 +3867,2019-06-11 02:00:00+00:00,0.0006956936323380683 +3868,2019-06-11 03:00:00+00:00,0.0013913874257514877 +3869,2019-06-11 04:00:00+00:00,0.004869855748517227 +3870,2019-06-11 05:00:00+00:00,0.03895884614921248 +3871,2019-06-11 06:00:00+00:00,0.06469951247862417 +3872,2019-06-11 07:00:00+00:00,0.050089945071998196 +3873,2019-06-11 08:00:00+00:00,0.05913396293669591 +3874,2019-06-11 09:00:00+00:00,0.04243731463305358 +3875,2019-06-11 10:00:00+00:00,0.03687176509112421 +3876,2019-06-11 11:00:00+00:00,0.031306215710268946 +3877,2019-06-11 12:00:00+00:00,0.025044972535999098 +3878,2019-06-11 13:00:00+00:00,0.021566504213233282 +3879,2019-06-11 14:00:00+00:00,0.016696648303641363 +3880,2019-06-11 15:00:00+00:00,0.018783729361731363 +3881,2019-06-11 16:00:00+00:00,0.030610522077929875 +3882,2019-06-11 17:00:00+00:00,0.054264107188180546 +3883,2019-06-11 18:00:00+00:00,0.054959800820518205 +3884,2019-06-11 19:00:00+00:00,0.04869855780732421 +3885,2019-06-11 20:00:00+00:00,0.04035023357496605 +3886,2019-06-11 21:00:00+00:00,0.028523441019840015 +3887,2019-06-11 22:00:00+00:00,0.01391387361321366 +3888,2019-06-11 23:00:00+00:00,0.004869855748517227 +3889,2019-06-12 00:00:00+00:00,0.002782774690427579 +3890,2019-06-12 01:00:00+00:00,0.0006956936323380683 +3891,2019-06-12 02:00:00+00:00,0.0006956936323380683 +3892,2019-06-12 03:00:00+00:00,0.0013913874257514877 +3893,2019-06-12 04:00:00+00:00,0.004869855748517227 +3894,2019-06-12 05:00:00+00:00,0.03895884614921248 +3895,2019-06-12 06:00:00+00:00,0.06469951247862417 +3896,2019-06-12 07:00:00+00:00,0.050089945071998196 +3897,2019-06-12 08:00:00+00:00,0.05913396293669591 +3898,2019-06-12 09:00:00+00:00,0.04243731463305358 +3899,2019-06-12 10:00:00+00:00,0.03687176509112421 +3900,2019-06-12 11:00:00+00:00,0.031306215710268946 +3901,2019-06-12 12:00:00+00:00,0.025044972535999098 +3902,2019-06-12 13:00:00+00:00,0.021566504213233282 +3903,2019-06-12 14:00:00+00:00,0.016696648303641363 +3904,2019-06-12 15:00:00+00:00,0.018783729361731363 +3905,2019-06-12 16:00:00+00:00,0.030610522077929875 +3906,2019-06-12 17:00:00+00:00,0.054264107188180546 +3907,2019-06-12 18:00:00+00:00,0.054959800820518205 +3908,2019-06-12 19:00:00+00:00,0.04869855780732421 +3909,2019-06-12 20:00:00+00:00,0.04035023357496605 +3910,2019-06-12 21:00:00+00:00,0.028523441019840015 +3911,2019-06-12 22:00:00+00:00,0.01391387361321366 +3912,2019-06-12 23:00:00+00:00,0.004869855748517227 +3913,2019-06-13 00:00:00+00:00,0.002782774690427579 +3914,2019-06-13 01:00:00+00:00,0.0006956936323380683 +3915,2019-06-13 02:00:00+00:00,0.0006956936323380683 +3916,2019-06-13 03:00:00+00:00,0.0013913874257514877 +3917,2019-06-13 04:00:00+00:00,0.004869855748517227 +3918,2019-06-13 05:00:00+00:00,0.03895884614921248 +3919,2019-06-13 06:00:00+00:00,0.06469951247862417 +3920,2019-06-13 07:00:00+00:00,0.050089945071998196 +3921,2019-06-13 08:00:00+00:00,0.05913396293669591 +3922,2019-06-13 09:00:00+00:00,0.04243731463305358 +3923,2019-06-13 10:00:00+00:00,0.03687176509112421 +3924,2019-06-13 11:00:00+00:00,0.031306215710268946 +3925,2019-06-13 12:00:00+00:00,0.025044972535999098 +3926,2019-06-13 13:00:00+00:00,0.021566504213233282 +3927,2019-06-13 14:00:00+00:00,0.016696648303641363 +3928,2019-06-13 15:00:00+00:00,0.018783729361731363 +3929,2019-06-13 16:00:00+00:00,0.030610522077929875 +3930,2019-06-13 17:00:00+00:00,0.054264107188180546 +3931,2019-06-13 18:00:00+00:00,0.054959800820518205 +3932,2019-06-13 19:00:00+00:00,0.04869855780732421 +3933,2019-06-13 20:00:00+00:00,0.04035023357496605 +3934,2019-06-13 21:00:00+00:00,0.028523441019840015 +3935,2019-06-13 22:00:00+00:00,0.01391387361321366 +3936,2019-06-13 23:00:00+00:00,0.004869855748517227 +3937,2019-06-14 00:00:00+00:00,0.002782774690427579 +3938,2019-06-14 01:00:00+00:00,0.0006956936323380683 +3939,2019-06-14 02:00:00+00:00,0.0006956936323380683 +3940,2019-06-14 03:00:00+00:00,0.0013913874257514877 +3941,2019-06-14 04:00:00+00:00,0.004869855748517227 +3942,2019-06-14 05:00:00+00:00,0.03895884614921248 +3943,2019-06-14 06:00:00+00:00,0.06469951247862417 +3944,2019-06-14 07:00:00+00:00,0.050089945071998196 +3945,2019-06-14 08:00:00+00:00,0.05913396293669591 +3946,2019-06-14 09:00:00+00:00,0.04243731463305358 +3947,2019-06-14 10:00:00+00:00,0.03687176509112421 +3948,2019-06-14 11:00:00+00:00,0.031306215710268946 +3949,2019-06-14 12:00:00+00:00,0.025044972535999098 +3950,2019-06-14 13:00:00+00:00,0.021566504213233282 +3951,2019-06-14 14:00:00+00:00,0.016696648303641363 +3952,2019-06-14 15:00:00+00:00,0.018783729361731363 +3953,2019-06-14 16:00:00+00:00,0.030610522077929875 +3954,2019-06-14 17:00:00+00:00,0.054264107188180546 +3955,2019-06-14 18:00:00+00:00,0.054959800820518205 +3956,2019-06-14 19:00:00+00:00,0.04869855780732421 +3957,2019-06-14 20:00:00+00:00,0.04035023357496605 +3958,2019-06-14 21:00:00+00:00,0.028523441019840015 +3959,2019-06-14 22:00:00+00:00,0.01391387361321366 +3960,2019-06-14 23:00:00+00:00,0.004869855748517227 +3961,2019-06-15 00:00:00+00:00,0.002782774690427579 +3962,2019-06-15 01:00:00+00:00,0.0006956936323380683 +3963,2019-06-15 02:00:00+00:00,0.0006956936323380683 +3964,2019-06-15 03:00:00+00:00,0.0013913874257514877 +3965,2019-06-15 04:00:00+00:00,0.004869855748517227 +3966,2019-06-15 05:00:00+00:00,0.03895884614921248 +3967,2019-06-15 06:00:00+00:00,0.06469951247862417 +3968,2019-06-15 07:00:00+00:00,0.050089945071998196 +3969,2019-06-15 08:00:00+00:00,0.05913396293669591 +3970,2019-06-15 09:00:00+00:00,0.04243731463305358 +3971,2019-06-15 10:00:00+00:00,0.03687176509112421 +3972,2019-06-15 11:00:00+00:00,0.031306215710268946 +3973,2019-06-15 12:00:00+00:00,0.025044972535999098 +3974,2019-06-15 13:00:00+00:00,0.021566504213233282 +3975,2019-06-15 14:00:00+00:00,0.016696648303641363 +3976,2019-06-15 15:00:00+00:00,0.018783729361731363 +3977,2019-06-15 16:00:00+00:00,0.030610522077929875 +3978,2019-06-15 17:00:00+00:00,0.054264107188180546 +3979,2019-06-15 18:00:00+00:00,0.054959800820518205 +3980,2019-06-15 19:00:00+00:00,0.04869855780732421 +3981,2019-06-15 20:00:00+00:00,0.04035023357496605 +3982,2019-06-15 21:00:00+00:00,0.028523441019840015 +3983,2019-06-15 22:00:00+00:00,0.01391387361321366 +3984,2019-06-15 23:00:00+00:00,0.004869855748517227 +3985,2019-06-16 00:00:00+00:00,0.002782774690427579 +3986,2019-06-16 01:00:00+00:00,0.0006956936323380683 +3987,2019-06-16 02:00:00+00:00,0.0006956936323380683 +3988,2019-06-16 03:00:00+00:00,0.0013913874257514877 +3989,2019-06-16 04:00:00+00:00,0.004869855748517227 +3990,2019-06-16 05:00:00+00:00,0.03895884614921248 +3991,2019-06-16 06:00:00+00:00,0.06469951247862417 +3992,2019-06-16 07:00:00+00:00,0.050089945071998196 +3993,2019-06-16 08:00:00+00:00,0.05913396293669591 +3994,2019-06-16 09:00:00+00:00,0.04243731463305358 +3995,2019-06-16 10:00:00+00:00,0.03687176509112421 +3996,2019-06-16 11:00:00+00:00,0.031306215710268946 +3997,2019-06-16 12:00:00+00:00,0.025044972535999098 +3998,2019-06-16 13:00:00+00:00,0.021566504213233282 +3999,2019-06-16 14:00:00+00:00,0.016696648303641363 +4000,2019-06-16 15:00:00+00:00,0.018783729361731363 +4001,2019-06-16 16:00:00+00:00,0.030610522077929875 +4002,2019-06-16 17:00:00+00:00,0.054264107188180546 +4003,2019-06-16 18:00:00+00:00,0.054959800820518205 +4004,2019-06-16 19:00:00+00:00,0.04869855780732421 +4005,2019-06-16 20:00:00+00:00,0.04035023357496605 +4006,2019-06-16 21:00:00+00:00,0.028523441019840015 +4007,2019-06-16 22:00:00+00:00,0.01391387361321366 +4008,2019-06-16 23:00:00+00:00,0.004869855748517227 +4009,2019-06-17 00:00:00+00:00,0.002782774690427579 +4010,2019-06-17 01:00:00+00:00,0.0006956936323380683 +4011,2019-06-17 02:00:00+00:00,0.0006956936323380683 +4012,2019-06-17 03:00:00+00:00,0.0013913874257514877 +4013,2019-06-17 04:00:00+00:00,0.004869855748517227 +4014,2019-06-17 05:00:00+00:00,0.03895884614921248 +4015,2019-06-17 06:00:00+00:00,0.06469951247862417 +4016,2019-06-17 07:00:00+00:00,0.050089945071998196 +4017,2019-06-17 08:00:00+00:00,0.05913396293669591 +4018,2019-06-17 09:00:00+00:00,0.04243731463305358 +4019,2019-06-17 10:00:00+00:00,0.03687176509112421 +4020,2019-06-17 11:00:00+00:00,0.031306215710268946 +4021,2019-06-17 12:00:00+00:00,0.025044972535999098 +4022,2019-06-17 13:00:00+00:00,0.021566504213233282 +4023,2019-06-17 14:00:00+00:00,0.016696648303641363 +4024,2019-06-17 15:00:00+00:00,0.018783729361731363 +4025,2019-06-17 16:00:00+00:00,0.030610522077929875 +4026,2019-06-17 17:00:00+00:00,0.054264107188180546 +4027,2019-06-17 18:00:00+00:00,0.054959800820518205 +4028,2019-06-17 19:00:00+00:00,0.04869855780732421 +4029,2019-06-17 20:00:00+00:00,0.04035023357496605 +4030,2019-06-17 21:00:00+00:00,0.028523441019840015 +4031,2019-06-17 22:00:00+00:00,0.01391387361321366 +4032,2019-06-17 23:00:00+00:00,0.004869855748517227 +4033,2019-06-18 00:00:00+00:00,0.002782774690427579 +4034,2019-06-18 01:00:00+00:00,0.0006956936323380683 +4035,2019-06-18 02:00:00+00:00,0.0006956936323380683 +4036,2019-06-18 03:00:00+00:00,0.0013913874257514877 +4037,2019-06-18 04:00:00+00:00,0.004869855748517227 +4038,2019-06-18 05:00:00+00:00,0.03895884614921248 +4039,2019-06-18 06:00:00+00:00,0.06469951247862417 +4040,2019-06-18 07:00:00+00:00,0.050089945071998196 +4041,2019-06-18 08:00:00+00:00,0.05913396293669591 +4042,2019-06-18 09:00:00+00:00,0.04243731463305358 +4043,2019-06-18 10:00:00+00:00,0.03687176509112421 +4044,2019-06-18 11:00:00+00:00,0.031306215710268946 +4045,2019-06-18 12:00:00+00:00,0.025044972535999098 +4046,2019-06-18 13:00:00+00:00,0.021566504213233282 +4047,2019-06-18 14:00:00+00:00,0.016696648303641363 +4048,2019-06-18 15:00:00+00:00,0.018783729361731363 +4049,2019-06-18 16:00:00+00:00,0.030610522077929875 +4050,2019-06-18 17:00:00+00:00,0.054264107188180546 +4051,2019-06-18 18:00:00+00:00,0.054959800820518205 +4052,2019-06-18 19:00:00+00:00,0.04869855780732421 +4053,2019-06-18 20:00:00+00:00,0.04035023357496605 +4054,2019-06-18 21:00:00+00:00,0.028523441019840015 +4055,2019-06-18 22:00:00+00:00,0.01391387361321366 +4056,2019-06-18 23:00:00+00:00,0.004869855748517227 +4057,2019-06-19 00:00:00+00:00,0.002782774690427579 +4058,2019-06-19 01:00:00+00:00,0.0006956936323380683 +4059,2019-06-19 02:00:00+00:00,0.0006956936323380683 +4060,2019-06-19 03:00:00+00:00,0.0013913874257514877 +4061,2019-06-19 04:00:00+00:00,0.004869855748517227 +4062,2019-06-19 05:00:00+00:00,0.03895884614921248 +4063,2019-06-19 06:00:00+00:00,0.06469951247862417 +4064,2019-06-19 07:00:00+00:00,0.050089945071998196 +4065,2019-06-19 08:00:00+00:00,0.05913396293669591 +4066,2019-06-19 09:00:00+00:00,0.04243731463305358 +4067,2019-06-19 10:00:00+00:00,0.03687176509112421 +4068,2019-06-19 11:00:00+00:00,0.031306215710268946 +4069,2019-06-19 12:00:00+00:00,0.025044972535999098 +4070,2019-06-19 13:00:00+00:00,0.021566504213233282 +4071,2019-06-19 14:00:00+00:00,0.016696648303641363 +4072,2019-06-19 15:00:00+00:00,0.018783729361731363 +4073,2019-06-19 16:00:00+00:00,0.030610522077929875 +4074,2019-06-19 17:00:00+00:00,0.054264107188180546 +4075,2019-06-19 18:00:00+00:00,0.054959800820518205 +4076,2019-06-19 19:00:00+00:00,0.04869855780732421 +4077,2019-06-19 20:00:00+00:00,0.04035023357496605 +4078,2019-06-19 21:00:00+00:00,0.028523441019840015 +4079,2019-06-19 22:00:00+00:00,0.01391387361321366 +4080,2019-06-19 23:00:00+00:00,0.004869855748517227 +4081,2019-06-20 00:00:00+00:00,0.002782774690427579 +4082,2019-06-20 01:00:00+00:00,0.0006956936323380683 +4083,2019-06-20 02:00:00+00:00,0.0006956936323380683 +4084,2019-06-20 03:00:00+00:00,0.0013913874257514877 +4085,2019-06-20 04:00:00+00:00,0.004869855748517227 +4086,2019-06-20 05:00:00+00:00,0.03895884614921248 +4087,2019-06-20 06:00:00+00:00,0.06469951247862417 +4088,2019-06-20 07:00:00+00:00,0.050089945071998196 +4089,2019-06-20 08:00:00+00:00,0.05913396293669591 +4090,2019-06-20 09:00:00+00:00,0.04243731463305358 +4091,2019-06-20 10:00:00+00:00,0.03687176509112421 +4092,2019-06-20 11:00:00+00:00,0.031306215710268946 +4093,2019-06-20 12:00:00+00:00,0.025044972535999098 +4094,2019-06-20 13:00:00+00:00,0.021566504213233282 +4095,2019-06-20 14:00:00+00:00,0.016696648303641363 +4096,2019-06-20 15:00:00+00:00,0.018783729361731363 +4097,2019-06-20 16:00:00+00:00,0.030610522077929875 +4098,2019-06-20 17:00:00+00:00,0.054264107188180546 +4099,2019-06-20 18:00:00+00:00,0.054959800820518205 +4100,2019-06-20 19:00:00+00:00,0.04869855780732421 +4101,2019-06-20 20:00:00+00:00,0.04035023357496605 +4102,2019-06-20 21:00:00+00:00,0.028523441019840015 +4103,2019-06-20 22:00:00+00:00,0.01391387361321366 +4104,2019-06-20 23:00:00+00:00,0.004869855748517227 +4105,2019-06-21 00:00:00+00:00,0.002782774690427579 +4106,2019-06-21 01:00:00+00:00,0.0006956936323380683 +4107,2019-06-21 02:00:00+00:00,0.0006956936323380683 +4108,2019-06-21 03:00:00+00:00,0.0013913874257514877 +4109,2019-06-21 04:00:00+00:00,0.004869855748517227 +4110,2019-06-21 05:00:00+00:00,0.03895884614921248 +4111,2019-06-21 06:00:00+00:00,0.06469951247862417 +4112,2019-06-21 07:00:00+00:00,0.050089945071998196 +4113,2019-06-21 08:00:00+00:00,0.05913396293669591 +4114,2019-06-21 09:00:00+00:00,0.04243731463305358 +4115,2019-06-21 10:00:00+00:00,0.03687176509112421 +4116,2019-06-21 11:00:00+00:00,0.031306215710268946 +4117,2019-06-21 12:00:00+00:00,0.025044972535999098 +4118,2019-06-21 13:00:00+00:00,0.021566504213233282 +4119,2019-06-21 14:00:00+00:00,0.016696648303641363 +4120,2019-06-21 15:00:00+00:00,0.018783729361731363 +4121,2019-06-21 16:00:00+00:00,0.030610522077929875 +4122,2019-06-21 17:00:00+00:00,0.054264107188180546 +4123,2019-06-21 18:00:00+00:00,0.054959800820518205 +4124,2019-06-21 19:00:00+00:00,0.04869855780732421 +4125,2019-06-21 20:00:00+00:00,0.04035023357496605 +4126,2019-06-21 21:00:00+00:00,0.028523441019840015 +4127,2019-06-21 22:00:00+00:00,0.01391387361321366 +4128,2019-06-21 23:00:00+00:00,0.004869855748517227 +4129,2019-06-22 00:00:00+00:00,0.002782774690427579 +4130,2019-06-22 01:00:00+00:00,0.0006956936323380683 +4131,2019-06-22 02:00:00+00:00,0.0006956936323380683 +4132,2019-06-22 03:00:00+00:00,0.0013913874257514877 +4133,2019-06-22 04:00:00+00:00,0.004869855748517227 +4134,2019-06-22 05:00:00+00:00,0.03895884614921248 +4135,2019-06-22 06:00:00+00:00,0.06469951247862417 +4136,2019-06-22 07:00:00+00:00,0.050089945071998196 +4137,2019-06-22 08:00:00+00:00,0.05913396293669591 +4138,2019-06-22 09:00:00+00:00,0.04243731463305358 +4139,2019-06-22 10:00:00+00:00,0.03687176509112421 +4140,2019-06-22 11:00:00+00:00,0.031306215710268946 +4141,2019-06-22 12:00:00+00:00,0.025044972535999098 +4142,2019-06-22 13:00:00+00:00,0.021566504213233282 +4143,2019-06-22 14:00:00+00:00,0.016696648303641363 +4144,2019-06-22 15:00:00+00:00,0.018783729361731363 +4145,2019-06-22 16:00:00+00:00,0.030610522077929875 +4146,2019-06-22 17:00:00+00:00,0.054264107188180546 +4147,2019-06-22 18:00:00+00:00,0.054959800820518205 +4148,2019-06-22 19:00:00+00:00,0.04869855780732421 +4149,2019-06-22 20:00:00+00:00,0.04035023357496605 +4150,2019-06-22 21:00:00+00:00,0.028523441019840015 +4151,2019-06-22 22:00:00+00:00,0.01391387361321366 +4152,2019-06-22 23:00:00+00:00,0.004869855748517227 +4153,2019-06-23 00:00:00+00:00,0.002782774690427579 +4154,2019-06-23 01:00:00+00:00,0.0006956936323380683 +4155,2019-06-23 02:00:00+00:00,0.0006956936323380683 +4156,2019-06-23 03:00:00+00:00,0.0013913874257514877 +4157,2019-06-23 04:00:00+00:00,0.004869855748517227 +4158,2019-06-23 05:00:00+00:00,0.03895884614921248 +4159,2019-06-23 06:00:00+00:00,0.06469951247862417 +4160,2019-06-23 07:00:00+00:00,0.050089945071998196 +4161,2019-06-23 08:00:00+00:00,0.05913396293669591 +4162,2019-06-23 09:00:00+00:00,0.04243731463305358 +4163,2019-06-23 10:00:00+00:00,0.03687176509112421 +4164,2019-06-23 11:00:00+00:00,0.031306215710268946 +4165,2019-06-23 12:00:00+00:00,0.025044972535999098 +4166,2019-06-23 13:00:00+00:00,0.021566504213233282 +4167,2019-06-23 14:00:00+00:00,0.016696648303641363 +4168,2019-06-23 15:00:00+00:00,0.018783729361731363 +4169,2019-06-23 16:00:00+00:00,0.030610522077929875 +4170,2019-06-23 17:00:00+00:00,0.054264107188180546 +4171,2019-06-23 18:00:00+00:00,0.054959800820518205 +4172,2019-06-23 19:00:00+00:00,0.04869855780732421 +4173,2019-06-23 20:00:00+00:00,0.04035023357496605 +4174,2019-06-23 21:00:00+00:00,0.028523441019840015 +4175,2019-06-23 22:00:00+00:00,0.01391387361321366 +4176,2019-06-23 23:00:00+00:00,0.004869855748517227 +4177,2019-06-24 00:00:00+00:00,0.002782774690427579 +4178,2019-06-24 01:00:00+00:00,0.0006956936323380683 +4179,2019-06-24 02:00:00+00:00,0.0006956936323380683 +4180,2019-06-24 03:00:00+00:00,0.0013913874257514877 +4181,2019-06-24 04:00:00+00:00,0.004869855748517227 +4182,2019-06-24 05:00:00+00:00,0.03895884614921248 +4183,2019-06-24 06:00:00+00:00,0.06469951247862417 +4184,2019-06-24 07:00:00+00:00,0.050089945071998196 +4185,2019-06-24 08:00:00+00:00,0.05913396293669591 +4186,2019-06-24 09:00:00+00:00,0.04243731463305358 +4187,2019-06-24 10:00:00+00:00,0.03687176509112421 +4188,2019-06-24 11:00:00+00:00,0.031306215710268946 +4189,2019-06-24 12:00:00+00:00,0.025044972535999098 +4190,2019-06-24 13:00:00+00:00,0.021566504213233282 +4191,2019-06-24 14:00:00+00:00,0.016696648303641363 +4192,2019-06-24 15:00:00+00:00,0.018783729361731363 +4193,2019-06-24 16:00:00+00:00,0.030610522077929875 +4194,2019-06-24 17:00:00+00:00,0.054264107188180546 +4195,2019-06-24 18:00:00+00:00,0.054959800820518205 +4196,2019-06-24 19:00:00+00:00,0.04869855780732421 +4197,2019-06-24 20:00:00+00:00,0.04035023357496605 +4198,2019-06-24 21:00:00+00:00,0.028523441019840015 +4199,2019-06-24 22:00:00+00:00,0.01391387361321366 +4200,2019-06-24 23:00:00+00:00,0.004869855748517227 +4201,2019-06-25 00:00:00+00:00,0.002782774690427579 +4202,2019-06-25 01:00:00+00:00,0.0006956936323380683 +4203,2019-06-25 02:00:00+00:00,0.0006956936323380683 +4204,2019-06-25 03:00:00+00:00,0.0013913874257514877 +4205,2019-06-25 04:00:00+00:00,0.004869855748517227 +4206,2019-06-25 05:00:00+00:00,0.03895884614921248 +4207,2019-06-25 06:00:00+00:00,0.06469951247862417 +4208,2019-06-25 07:00:00+00:00,0.050089945071998196 +4209,2019-06-25 08:00:00+00:00,0.05913396293669591 +4210,2019-06-25 09:00:00+00:00,0.04243731463305358 +4211,2019-06-25 10:00:00+00:00,0.03687176509112421 +4212,2019-06-25 11:00:00+00:00,0.031306215710268946 +4213,2019-06-25 12:00:00+00:00,0.025044972535999098 +4214,2019-06-25 13:00:00+00:00,0.021566504213233282 +4215,2019-06-25 14:00:00+00:00,0.016696648303641363 +4216,2019-06-25 15:00:00+00:00,0.018783729361731363 +4217,2019-06-25 16:00:00+00:00,0.030610522077929875 +4218,2019-06-25 17:00:00+00:00,0.054264107188180546 +4219,2019-06-25 18:00:00+00:00,0.054959800820518205 +4220,2019-06-25 19:00:00+00:00,0.04869855780732421 +4221,2019-06-25 20:00:00+00:00,0.04035023357496605 +4222,2019-06-25 21:00:00+00:00,0.028523441019840015 +4223,2019-06-25 22:00:00+00:00,0.01391387361321366 +4224,2019-06-25 23:00:00+00:00,0.004869855748517227 +4225,2019-06-26 00:00:00+00:00,0.002782774690427579 +4226,2019-06-26 01:00:00+00:00,0.0006956936323380683 +4227,2019-06-26 02:00:00+00:00,0.0006956936323380683 +4228,2019-06-26 03:00:00+00:00,0.0013913874257514877 +4229,2019-06-26 04:00:00+00:00,0.004869855748517227 +4230,2019-06-26 05:00:00+00:00,0.03895884614921248 +4231,2019-06-26 06:00:00+00:00,0.06469951247862417 +4232,2019-06-26 07:00:00+00:00,0.050089945071998196 +4233,2019-06-26 08:00:00+00:00,0.05913396293669591 +4234,2019-06-26 09:00:00+00:00,0.04243731463305358 +4235,2019-06-26 10:00:00+00:00,0.03687176509112421 +4236,2019-06-26 11:00:00+00:00,0.031306215710268946 +4237,2019-06-26 12:00:00+00:00,0.025044972535999098 +4238,2019-06-26 13:00:00+00:00,0.021566504213233282 +4239,2019-06-26 14:00:00+00:00,0.016696648303641363 +4240,2019-06-26 15:00:00+00:00,0.018783729361731363 +4241,2019-06-26 16:00:00+00:00,0.030610522077929875 +4242,2019-06-26 17:00:00+00:00,0.054264107188180546 +4243,2019-06-26 18:00:00+00:00,0.054959800820518205 +4244,2019-06-26 19:00:00+00:00,0.04869855780732421 +4245,2019-06-26 20:00:00+00:00,0.04035023357496605 +4246,2019-06-26 21:00:00+00:00,0.028523441019840015 +4247,2019-06-26 22:00:00+00:00,0.01391387361321366 +4248,2019-06-26 23:00:00+00:00,0.004869855748517227 +4249,2019-06-27 00:00:00+00:00,0.002782774690427579 +4250,2019-06-27 01:00:00+00:00,0.0006956936323380683 +4251,2019-06-27 02:00:00+00:00,0.0006956936323380683 +4252,2019-06-27 03:00:00+00:00,0.0013913874257514877 +4253,2019-06-27 04:00:00+00:00,0.004869855748517227 +4254,2019-06-27 05:00:00+00:00,0.03895884614921248 +4255,2019-06-27 06:00:00+00:00,0.06469951247862417 +4256,2019-06-27 07:00:00+00:00,0.050089945071998196 +4257,2019-06-27 08:00:00+00:00,0.05913396293669591 +4258,2019-06-27 09:00:00+00:00,0.04243731463305358 +4259,2019-06-27 10:00:00+00:00,0.03687176509112421 +4260,2019-06-27 11:00:00+00:00,0.031306215710268946 +4261,2019-06-27 12:00:00+00:00,0.025044972535999098 +4262,2019-06-27 13:00:00+00:00,0.021566504213233282 +4263,2019-06-27 14:00:00+00:00,0.016696648303641363 +4264,2019-06-27 15:00:00+00:00,0.018783729361731363 +4265,2019-06-27 16:00:00+00:00,0.030610522077929875 +4266,2019-06-27 17:00:00+00:00,0.054264107188180546 +4267,2019-06-27 18:00:00+00:00,0.054959800820518205 +4268,2019-06-27 19:00:00+00:00,0.04869855780732421 +4269,2019-06-27 20:00:00+00:00,0.04035023357496605 +4270,2019-06-27 21:00:00+00:00,0.028523441019840015 +4271,2019-06-27 22:00:00+00:00,0.01391387361321366 +4272,2019-06-27 23:00:00+00:00,0.004869855748517227 +4273,2019-06-28 00:00:00+00:00,0.002782774690427579 +4274,2019-06-28 01:00:00+00:00,0.0006956936323380683 +4275,2019-06-28 02:00:00+00:00,0.0006956936323380683 +4276,2019-06-28 03:00:00+00:00,0.0013913874257514877 +4277,2019-06-28 04:00:00+00:00,0.004869855748517227 +4278,2019-06-28 05:00:00+00:00,0.03895884614921248 +4279,2019-06-28 06:00:00+00:00,0.06469951247862417 +4280,2019-06-28 07:00:00+00:00,0.050089945071998196 +4281,2019-06-28 08:00:00+00:00,0.05913396293669591 +4282,2019-06-28 09:00:00+00:00,0.04243731463305358 +4283,2019-06-28 10:00:00+00:00,0.03687176509112421 +4284,2019-06-28 11:00:00+00:00,0.031306215710268946 +4285,2019-06-28 12:00:00+00:00,0.025044972535999098 +4286,2019-06-28 13:00:00+00:00,0.021566504213233282 +4287,2019-06-28 14:00:00+00:00,0.016696648303641363 +4288,2019-06-28 15:00:00+00:00,0.018783729361731363 +4289,2019-06-28 16:00:00+00:00,0.030610522077929875 +4290,2019-06-28 17:00:00+00:00,0.054264107188180546 +4291,2019-06-28 18:00:00+00:00,0.054959800820518205 +4292,2019-06-28 19:00:00+00:00,0.04869855780732421 +4293,2019-06-28 20:00:00+00:00,0.04035023357496605 +4294,2019-06-28 21:00:00+00:00,0.028523441019840015 +4295,2019-06-28 22:00:00+00:00,0.01391387361321366 +4296,2019-06-28 23:00:00+00:00,0.004869855748517227 +4297,2019-06-29 00:00:00+00:00,0.002782774690427579 +4298,2019-06-29 01:00:00+00:00,0.0006956936323380683 +4299,2019-06-29 02:00:00+00:00,0.0006956936323380683 +4300,2019-06-29 03:00:00+00:00,0.0013913874257514877 +4301,2019-06-29 04:00:00+00:00,0.004869855748517227 +4302,2019-06-29 05:00:00+00:00,0.03895884614921248 +4303,2019-06-29 06:00:00+00:00,0.06469951247862417 +4304,2019-06-29 07:00:00+00:00,0.050089945071998196 +4305,2019-06-29 08:00:00+00:00,0.05913396293669591 +4306,2019-06-29 09:00:00+00:00,0.04243731463305358 +4307,2019-06-29 10:00:00+00:00,0.03687176509112421 +4308,2019-06-29 11:00:00+00:00,0.031306215710268946 +4309,2019-06-29 12:00:00+00:00,0.025044972535999098 +4310,2019-06-29 13:00:00+00:00,0.021566504213233282 +4311,2019-06-29 14:00:00+00:00,0.016696648303641363 +4312,2019-06-29 15:00:00+00:00,0.018783729361731363 +4313,2019-06-29 16:00:00+00:00,0.030610522077929875 +4314,2019-06-29 17:00:00+00:00,0.054264107188180546 +4315,2019-06-29 18:00:00+00:00,0.054959800820518205 +4316,2019-06-29 19:00:00+00:00,0.04869855780732421 +4317,2019-06-29 20:00:00+00:00,0.04035023357496605 +4318,2019-06-29 21:00:00+00:00,0.028523441019840015 +4319,2019-06-29 22:00:00+00:00,0.01391387361321366 +4320,2019-06-29 23:00:00+00:00,0.004869855748517227 +4321,2019-06-30 00:00:00+00:00,0.002782774690427579 +4322,2019-06-30 01:00:00+00:00,0.0006956936323380683 +4323,2019-06-30 02:00:00+00:00,0.0006956936323380683 +4324,2019-06-30 03:00:00+00:00,0.0013913874257514877 +4325,2019-06-30 04:00:00+00:00,0.004869855748517227 +4326,2019-06-30 05:00:00+00:00,0.03895884614921248 +4327,2019-06-30 06:00:00+00:00,0.06469951247862417 +4328,2019-06-30 07:00:00+00:00,0.050089945071998196 +4329,2019-06-30 08:00:00+00:00,0.05913396293669591 +4330,2019-06-30 09:00:00+00:00,0.04243731463305358 +4331,2019-06-30 10:00:00+00:00,0.03687176509112421 +4332,2019-06-30 11:00:00+00:00,0.031306215710268946 +4333,2019-06-30 12:00:00+00:00,0.025044972535999098 +4334,2019-06-30 13:00:00+00:00,0.021566504213233282 +4335,2019-06-30 14:00:00+00:00,0.016696648303641363 +4336,2019-06-30 15:00:00+00:00,0.018783729361731363 +4337,2019-06-30 16:00:00+00:00,0.030610522077929875 +4338,2019-06-30 17:00:00+00:00,0.054264107188180546 +4339,2019-06-30 18:00:00+00:00,0.054959800820518205 +4340,2019-06-30 19:00:00+00:00,0.04869855780732421 +4341,2019-06-30 20:00:00+00:00,0.04035023357496605 +4342,2019-06-30 21:00:00+00:00,0.028523441019840015 +4343,2019-06-30 22:00:00+00:00,0.01391387361321366 +4344,2019-06-30 23:00:00+00:00,0.004869855748517227 +4345,2019-07-01 00:00:00+00:00,0.002782774690427579 +4346,2019-07-01 01:00:00+00:00,0.0006956936323380683 +4347,2019-07-01 02:00:00+00:00,0.0006956936323380683 +4348,2019-07-01 03:00:00+00:00,0.0013913874257514877 +4349,2019-07-01 04:00:00+00:00,0.004869855748517227 +4350,2019-07-01 05:00:00+00:00,0.03895884614921248 +4351,2019-07-01 06:00:00+00:00,0.06469951247862417 +4352,2019-07-01 07:00:00+00:00,0.050089945071998196 +4353,2019-07-01 08:00:00+00:00,0.05913396293669591 +4354,2019-07-01 09:00:00+00:00,0.04243731463305358 +4355,2019-07-01 10:00:00+00:00,0.03687176509112421 +4356,2019-07-01 11:00:00+00:00,0.031306215710268946 +4357,2019-07-01 12:00:00+00:00,0.025044972535999098 +4358,2019-07-01 13:00:00+00:00,0.021566504213233282 +4359,2019-07-01 14:00:00+00:00,0.016696648303641363 +4360,2019-07-01 15:00:00+00:00,0.018783729361731363 +4361,2019-07-01 16:00:00+00:00,0.030610522077929875 +4362,2019-07-01 17:00:00+00:00,0.054264107188180546 +4363,2019-07-01 18:00:00+00:00,0.054959800820518205 +4364,2019-07-01 19:00:00+00:00,0.04869855780732421 +4365,2019-07-01 20:00:00+00:00,0.04035023357496605 +4366,2019-07-01 21:00:00+00:00,0.028523441019840015 +4367,2019-07-01 22:00:00+00:00,0.01391387361321366 +4368,2019-07-01 23:00:00+00:00,0.004869855748517227 +4369,2019-07-02 00:00:00+00:00,0.002782774690427579 +4370,2019-07-02 01:00:00+00:00,0.0006956936323380683 +4371,2019-07-02 02:00:00+00:00,0.0006956936323380683 +4372,2019-07-02 03:00:00+00:00,0.0013913874257514877 +4373,2019-07-02 04:00:00+00:00,0.004869855748517227 +4374,2019-07-02 05:00:00+00:00,0.03895884614921248 +4375,2019-07-02 06:00:00+00:00,0.06469951247862417 +4376,2019-07-02 07:00:00+00:00,0.050089945071998196 +4377,2019-07-02 08:00:00+00:00,0.05913396293669591 +4378,2019-07-02 09:00:00+00:00,0.04243731463305358 +4379,2019-07-02 10:00:00+00:00,0.03687176509112421 +4380,2019-07-02 11:00:00+00:00,0.031306215710268946 +4381,2019-07-02 12:00:00+00:00,0.025044972535999098 +4382,2019-07-02 13:00:00+00:00,0.021566504213233282 +4383,2019-07-02 14:00:00+00:00,0.016696648303641363 +4384,2019-07-02 15:00:00+00:00,0.018783729361731363 +4385,2019-07-02 16:00:00+00:00,0.030610522077929875 +4386,2019-07-02 17:00:00+00:00,0.054264107188180546 +4387,2019-07-02 18:00:00+00:00,0.054959800820518205 +4388,2019-07-02 19:00:00+00:00,0.04869855780732421 +4389,2019-07-02 20:00:00+00:00,0.04035023357496605 +4390,2019-07-02 21:00:00+00:00,0.028523441019840015 +4391,2019-07-02 22:00:00+00:00,0.01391387361321366 +4392,2019-07-02 23:00:00+00:00,0.004869855748517227 +4393,2019-07-03 00:00:00+00:00,0.002782774690427579 +4394,2019-07-03 01:00:00+00:00,0.0006956936323380683 +4395,2019-07-03 02:00:00+00:00,0.0006956936323380683 +4396,2019-07-03 03:00:00+00:00,0.0013913874257514877 +4397,2019-07-03 04:00:00+00:00,0.004869855748517227 +4398,2019-07-03 05:00:00+00:00,0.03895884614921248 +4399,2019-07-03 06:00:00+00:00,0.06469951247862417 +4400,2019-07-03 07:00:00+00:00,0.050089945071998196 +4401,2019-07-03 08:00:00+00:00,0.05913396293669591 +4402,2019-07-03 09:00:00+00:00,0.04243731463305358 +4403,2019-07-03 10:00:00+00:00,0.03687176509112421 +4404,2019-07-03 11:00:00+00:00,0.031306215710268946 +4405,2019-07-03 12:00:00+00:00,0.025044972535999098 +4406,2019-07-03 13:00:00+00:00,0.021566504213233282 +4407,2019-07-03 14:00:00+00:00,0.016696648303641363 +4408,2019-07-03 15:00:00+00:00,0.018783729361731363 +4409,2019-07-03 16:00:00+00:00,0.030610522077929875 +4410,2019-07-03 17:00:00+00:00,0.054264107188180546 +4411,2019-07-03 18:00:00+00:00,0.054959800820518205 +4412,2019-07-03 19:00:00+00:00,0.04869855780732421 +4413,2019-07-03 20:00:00+00:00,0.04035023357496605 +4414,2019-07-03 21:00:00+00:00,0.028523441019840015 +4415,2019-07-03 22:00:00+00:00,0.01391387361321366 +4416,2019-07-03 23:00:00+00:00,0.004869855748517227 +4417,2019-07-04 00:00:00+00:00,0.002782774690427579 +4418,2019-07-04 01:00:00+00:00,0.0006956936323380683 +4419,2019-07-04 02:00:00+00:00,0.0006956936323380683 +4420,2019-07-04 03:00:00+00:00,0.0013913874257514877 +4421,2019-07-04 04:00:00+00:00,0.004869855748517227 +4422,2019-07-04 05:00:00+00:00,0.03895884614921248 +4423,2019-07-04 06:00:00+00:00,0.06469951247862417 +4424,2019-07-04 07:00:00+00:00,0.050089945071998196 +4425,2019-07-04 08:00:00+00:00,0.05913396293669591 +4426,2019-07-04 09:00:00+00:00,0.04243731463305358 +4427,2019-07-04 10:00:00+00:00,0.03687176509112421 +4428,2019-07-04 11:00:00+00:00,0.031306215710268946 +4429,2019-07-04 12:00:00+00:00,0.025044972535999098 +4430,2019-07-04 13:00:00+00:00,0.021566504213233282 +4431,2019-07-04 14:00:00+00:00,0.016696648303641363 +4432,2019-07-04 15:00:00+00:00,0.018783729361731363 +4433,2019-07-04 16:00:00+00:00,0.030610522077929875 +4434,2019-07-04 17:00:00+00:00,0.054264107188180546 +4435,2019-07-04 18:00:00+00:00,0.054959800820518205 +4436,2019-07-04 19:00:00+00:00,0.04869855780732421 +4437,2019-07-04 20:00:00+00:00,0.04035023357496605 +4438,2019-07-04 21:00:00+00:00,0.028523441019840015 +4439,2019-07-04 22:00:00+00:00,0.01391387361321366 +4440,2019-07-04 23:00:00+00:00,0.004869855748517227 +4441,2019-07-05 00:00:00+00:00,0.002782774690427579 +4442,2019-07-05 01:00:00+00:00,0.0006956936323380683 +4443,2019-07-05 02:00:00+00:00,0.0006956936323380683 +4444,2019-07-05 03:00:00+00:00,0.0013913874257514877 +4445,2019-07-05 04:00:00+00:00,0.004869855748517227 +4446,2019-07-05 05:00:00+00:00,0.03895884614921248 +4447,2019-07-05 06:00:00+00:00,0.06469951247862417 +4448,2019-07-05 07:00:00+00:00,0.050089945071998196 +4449,2019-07-05 08:00:00+00:00,0.05913396293669591 +4450,2019-07-05 09:00:00+00:00,0.04243731463305358 +4451,2019-07-05 10:00:00+00:00,0.03687176509112421 +4452,2019-07-05 11:00:00+00:00,0.031306215710268946 +4453,2019-07-05 12:00:00+00:00,0.025044972535999098 +4454,2019-07-05 13:00:00+00:00,0.021566504213233282 +4455,2019-07-05 14:00:00+00:00,0.016696648303641363 +4456,2019-07-05 15:00:00+00:00,0.018783729361731363 +4457,2019-07-05 16:00:00+00:00,0.030610522077929875 +4458,2019-07-05 17:00:00+00:00,0.054264107188180546 +4459,2019-07-05 18:00:00+00:00,0.054959800820518205 +4460,2019-07-05 19:00:00+00:00,0.04869855780732421 +4461,2019-07-05 20:00:00+00:00,0.04035023357496605 +4462,2019-07-05 21:00:00+00:00,0.028523441019840015 +4463,2019-07-05 22:00:00+00:00,0.01391387361321366 +4464,2019-07-05 23:00:00+00:00,0.004869855748517227 +4465,2019-07-06 00:00:00+00:00,0.002782774690427579 +4466,2019-07-06 01:00:00+00:00,0.0006956936323380683 +4467,2019-07-06 02:00:00+00:00,0.0006956936323380683 +4468,2019-07-06 03:00:00+00:00,0.0013913874257514877 +4469,2019-07-06 04:00:00+00:00,0.004869855748517227 +4470,2019-07-06 05:00:00+00:00,0.03895884614921248 +4471,2019-07-06 06:00:00+00:00,0.06469951247862417 +4472,2019-07-06 07:00:00+00:00,0.050089945071998196 +4473,2019-07-06 08:00:00+00:00,0.05913396293669591 +4474,2019-07-06 09:00:00+00:00,0.04243731463305358 +4475,2019-07-06 10:00:00+00:00,0.03687176509112421 +4476,2019-07-06 11:00:00+00:00,0.031306215710268946 +4477,2019-07-06 12:00:00+00:00,0.025044972535999098 +4478,2019-07-06 13:00:00+00:00,0.021566504213233282 +4479,2019-07-06 14:00:00+00:00,0.016696648303641363 +4480,2019-07-06 15:00:00+00:00,0.018783729361731363 +4481,2019-07-06 16:00:00+00:00,0.030610522077929875 +4482,2019-07-06 17:00:00+00:00,0.054264107188180546 +4483,2019-07-06 18:00:00+00:00,0.054959800820518205 +4484,2019-07-06 19:00:00+00:00,0.04869855780732421 +4485,2019-07-06 20:00:00+00:00,0.04035023357496605 +4486,2019-07-06 21:00:00+00:00,0.028523441019840015 +4487,2019-07-06 22:00:00+00:00,0.01391387361321366 +4488,2019-07-06 23:00:00+00:00,0.004869855748517227 +4489,2019-07-07 00:00:00+00:00,0.002782774690427579 +4490,2019-07-07 01:00:00+00:00,0.0006956936323380683 +4491,2019-07-07 02:00:00+00:00,0.0006956936323380683 +4492,2019-07-07 03:00:00+00:00,0.0013913874257514877 +4493,2019-07-07 04:00:00+00:00,0.004869855748517227 +4494,2019-07-07 05:00:00+00:00,0.03895884614921248 +4495,2019-07-07 06:00:00+00:00,0.06469951247862417 +4496,2019-07-07 07:00:00+00:00,0.050089945071998196 +4497,2019-07-07 08:00:00+00:00,0.05913396293669591 +4498,2019-07-07 09:00:00+00:00,0.04243731463305358 +4499,2019-07-07 10:00:00+00:00,0.03687176509112421 +4500,2019-07-07 11:00:00+00:00,0.031306215710268946 +4501,2019-07-07 12:00:00+00:00,0.025044972535999098 +4502,2019-07-07 13:00:00+00:00,0.021566504213233282 +4503,2019-07-07 14:00:00+00:00,0.016696648303641363 +4504,2019-07-07 15:00:00+00:00,0.018783729361731363 +4505,2019-07-07 16:00:00+00:00,0.030610522077929875 +4506,2019-07-07 17:00:00+00:00,0.054264107188180546 +4507,2019-07-07 18:00:00+00:00,0.054959800820518205 +4508,2019-07-07 19:00:00+00:00,0.04869855780732421 +4509,2019-07-07 20:00:00+00:00,0.04035023357496605 +4510,2019-07-07 21:00:00+00:00,0.028523441019840015 +4511,2019-07-07 22:00:00+00:00,0.01391387361321366 +4512,2019-07-07 23:00:00+00:00,0.004869855748517227 +4513,2019-07-08 00:00:00+00:00,0.002782774690427579 +4514,2019-07-08 01:00:00+00:00,0.0006956936323380683 +4515,2019-07-08 02:00:00+00:00,0.0006956936323380683 +4516,2019-07-08 03:00:00+00:00,0.0013913874257514877 +4517,2019-07-08 04:00:00+00:00,0.004869855748517227 +4518,2019-07-08 05:00:00+00:00,0.03895884614921248 +4519,2019-07-08 06:00:00+00:00,0.06469951247862417 +4520,2019-07-08 07:00:00+00:00,0.050089945071998196 +4521,2019-07-08 08:00:00+00:00,0.05913396293669591 +4522,2019-07-08 09:00:00+00:00,0.04243731463305358 +4523,2019-07-08 10:00:00+00:00,0.03687176509112421 +4524,2019-07-08 11:00:00+00:00,0.031306215710268946 +4525,2019-07-08 12:00:00+00:00,0.025044972535999098 +4526,2019-07-08 13:00:00+00:00,0.021566504213233282 +4527,2019-07-08 14:00:00+00:00,0.016696648303641363 +4528,2019-07-08 15:00:00+00:00,0.018783729361731363 +4529,2019-07-08 16:00:00+00:00,0.030610522077929875 +4530,2019-07-08 17:00:00+00:00,0.054264107188180546 +4531,2019-07-08 18:00:00+00:00,0.054959800820518205 +4532,2019-07-08 19:00:00+00:00,0.04869855780732421 +4533,2019-07-08 20:00:00+00:00,0.04035023357496605 +4534,2019-07-08 21:00:00+00:00,0.028523441019840015 +4535,2019-07-08 22:00:00+00:00,0.01391387361321366 +4536,2019-07-08 23:00:00+00:00,0.004869855748517227 +4537,2019-07-09 00:00:00+00:00,0.002782774690427579 +4538,2019-07-09 01:00:00+00:00,0.0006956936323380683 +4539,2019-07-09 02:00:00+00:00,0.0006956936323380683 +4540,2019-07-09 03:00:00+00:00,0.0013913874257514877 +4541,2019-07-09 04:00:00+00:00,0.004869855748517227 +4542,2019-07-09 05:00:00+00:00,0.03895884614921248 +4543,2019-07-09 06:00:00+00:00,0.06469951247862417 +4544,2019-07-09 07:00:00+00:00,0.050089945071998196 +4545,2019-07-09 08:00:00+00:00,0.05913396293669591 +4546,2019-07-09 09:00:00+00:00,0.04243731463305358 +4547,2019-07-09 10:00:00+00:00,0.03687176509112421 +4548,2019-07-09 11:00:00+00:00,0.031306215710268946 +4549,2019-07-09 12:00:00+00:00,0.025044972535999098 +4550,2019-07-09 13:00:00+00:00,0.021566504213233282 +4551,2019-07-09 14:00:00+00:00,0.016696648303641363 +4552,2019-07-09 15:00:00+00:00,0.018783729361731363 +4553,2019-07-09 16:00:00+00:00,0.030610522077929875 +4554,2019-07-09 17:00:00+00:00,0.054264107188180546 +4555,2019-07-09 18:00:00+00:00,0.054959800820518205 +4556,2019-07-09 19:00:00+00:00,0.04869855780732421 +4557,2019-07-09 20:00:00+00:00,0.04035023357496605 +4558,2019-07-09 21:00:00+00:00,0.028523441019840015 +4559,2019-07-09 22:00:00+00:00,0.01391387361321366 +4560,2019-07-09 23:00:00+00:00,0.004869855748517227 +4561,2019-07-10 00:00:00+00:00,0.002782774690427579 +4562,2019-07-10 01:00:00+00:00,0.0006956936323380683 +4563,2019-07-10 02:00:00+00:00,0.0006956936323380683 +4564,2019-07-10 03:00:00+00:00,0.0013913874257514877 +4565,2019-07-10 04:00:00+00:00,0.004869855748517227 +4566,2019-07-10 05:00:00+00:00,0.03895884614921248 +4567,2019-07-10 06:00:00+00:00,0.06469951247862417 +4568,2019-07-10 07:00:00+00:00,0.050089945071998196 +4569,2019-07-10 08:00:00+00:00,0.05913396293669591 +4570,2019-07-10 09:00:00+00:00,0.04243731463305358 +4571,2019-07-10 10:00:00+00:00,0.03687176509112421 +4572,2019-07-10 11:00:00+00:00,0.031306215710268946 +4573,2019-07-10 12:00:00+00:00,0.025044972535999098 +4574,2019-07-10 13:00:00+00:00,0.021566504213233282 +4575,2019-07-10 14:00:00+00:00,0.016696648303641363 +4576,2019-07-10 15:00:00+00:00,0.018783729361731363 +4577,2019-07-10 16:00:00+00:00,0.030610522077929875 +4578,2019-07-10 17:00:00+00:00,0.054264107188180546 +4579,2019-07-10 18:00:00+00:00,0.054959800820518205 +4580,2019-07-10 19:00:00+00:00,0.04869855780732421 +4581,2019-07-10 20:00:00+00:00,0.04035023357496605 +4582,2019-07-10 21:00:00+00:00,0.028523441019840015 +4583,2019-07-10 22:00:00+00:00,0.01391387361321366 +4584,2019-07-10 23:00:00+00:00,0.004869855748517227 +4585,2019-07-11 00:00:00+00:00,0.002782774690427579 +4586,2019-07-11 01:00:00+00:00,0.0006956936323380683 +4587,2019-07-11 02:00:00+00:00,0.0006956936323380683 +4588,2019-07-11 03:00:00+00:00,0.0013913874257514877 +4589,2019-07-11 04:00:00+00:00,0.004869855748517227 +4590,2019-07-11 05:00:00+00:00,0.03895884614921248 +4591,2019-07-11 06:00:00+00:00,0.06469951247862417 +4592,2019-07-11 07:00:00+00:00,0.050089945071998196 +4593,2019-07-11 08:00:00+00:00,0.05913396293669591 +4594,2019-07-11 09:00:00+00:00,0.04243731463305358 +4595,2019-07-11 10:00:00+00:00,0.03687176509112421 +4596,2019-07-11 11:00:00+00:00,0.031306215710268946 +4597,2019-07-11 12:00:00+00:00,0.025044972535999098 +4598,2019-07-11 13:00:00+00:00,0.021566504213233282 +4599,2019-07-11 14:00:00+00:00,0.016696648303641363 +4600,2019-07-11 15:00:00+00:00,0.018783729361731363 +4601,2019-07-11 16:00:00+00:00,0.030610522077929875 +4602,2019-07-11 17:00:00+00:00,0.054264107188180546 +4603,2019-07-11 18:00:00+00:00,0.054959800820518205 +4604,2019-07-11 19:00:00+00:00,0.04869855780732421 +4605,2019-07-11 20:00:00+00:00,0.04035023357496605 +4606,2019-07-11 21:00:00+00:00,0.028523441019840015 +4607,2019-07-11 22:00:00+00:00,0.01391387361321366 +4608,2019-07-11 23:00:00+00:00,0.004869855748517227 +4609,2019-07-12 00:00:00+00:00,0.002782774690427579 +4610,2019-07-12 01:00:00+00:00,0.0006956936323380683 +4611,2019-07-12 02:00:00+00:00,0.0006956936323380683 +4612,2019-07-12 03:00:00+00:00,0.0013913874257514877 +4613,2019-07-12 04:00:00+00:00,0.004869855748517227 +4614,2019-07-12 05:00:00+00:00,0.03895884614921248 +4615,2019-07-12 06:00:00+00:00,0.06469951247862417 +4616,2019-07-12 07:00:00+00:00,0.050089945071998196 +4617,2019-07-12 08:00:00+00:00,0.05913396293669591 +4618,2019-07-12 09:00:00+00:00,0.04243731463305358 +4619,2019-07-12 10:00:00+00:00,0.03687176509112421 +4620,2019-07-12 11:00:00+00:00,0.031306215710268946 +4621,2019-07-12 12:00:00+00:00,0.025044972535999098 +4622,2019-07-12 13:00:00+00:00,0.021566504213233282 +4623,2019-07-12 14:00:00+00:00,0.016696648303641363 +4624,2019-07-12 15:00:00+00:00,0.018783729361731363 +4625,2019-07-12 16:00:00+00:00,0.030610522077929875 +4626,2019-07-12 17:00:00+00:00,0.054264107188180546 +4627,2019-07-12 18:00:00+00:00,0.054959800820518205 +4628,2019-07-12 19:00:00+00:00,0.04869855780732421 +4629,2019-07-12 20:00:00+00:00,0.04035023357496605 +4630,2019-07-12 21:00:00+00:00,0.028523441019840015 +4631,2019-07-12 22:00:00+00:00,0.01391387361321366 +4632,2019-07-12 23:00:00+00:00,0.004869855748517227 +4633,2019-07-13 00:00:00+00:00,0.002782774690427579 +4634,2019-07-13 01:00:00+00:00,0.0006956936323380683 +4635,2019-07-13 02:00:00+00:00,0.0006956936323380683 +4636,2019-07-13 03:00:00+00:00,0.0013913874257514877 +4637,2019-07-13 04:00:00+00:00,0.004869855748517227 +4638,2019-07-13 05:00:00+00:00,0.03895884614921248 +4639,2019-07-13 06:00:00+00:00,0.06469951247862417 +4640,2019-07-13 07:00:00+00:00,0.050089945071998196 +4641,2019-07-13 08:00:00+00:00,0.05913396293669591 +4642,2019-07-13 09:00:00+00:00,0.04243731463305358 +4643,2019-07-13 10:00:00+00:00,0.03687176509112421 +4644,2019-07-13 11:00:00+00:00,0.031306215710268946 +4645,2019-07-13 12:00:00+00:00,0.025044972535999098 +4646,2019-07-13 13:00:00+00:00,0.021566504213233282 +4647,2019-07-13 14:00:00+00:00,0.016696648303641363 +4648,2019-07-13 15:00:00+00:00,0.018783729361731363 +4649,2019-07-13 16:00:00+00:00,0.030610522077929875 +4650,2019-07-13 17:00:00+00:00,0.054264107188180546 +4651,2019-07-13 18:00:00+00:00,0.054959800820518205 +4652,2019-07-13 19:00:00+00:00,0.04869855780732421 +4653,2019-07-13 20:00:00+00:00,0.04035023357496605 +4654,2019-07-13 21:00:00+00:00,0.028523441019840015 +4655,2019-07-13 22:00:00+00:00,0.01391387361321366 +4656,2019-07-13 23:00:00+00:00,0.004869855748517227 +4657,2019-07-14 00:00:00+00:00,0.002782774690427579 +4658,2019-07-14 01:00:00+00:00,0.0006956936323380683 +4659,2019-07-14 02:00:00+00:00,0.0006956936323380683 +4660,2019-07-14 03:00:00+00:00,0.0013913874257514877 +4661,2019-07-14 04:00:00+00:00,0.004869855748517227 +4662,2019-07-14 05:00:00+00:00,0.03895884614921248 +4663,2019-07-14 06:00:00+00:00,0.06469951247862417 +4664,2019-07-14 07:00:00+00:00,0.050089945071998196 +4665,2019-07-14 08:00:00+00:00,0.05913396293669591 +4666,2019-07-14 09:00:00+00:00,0.04243731463305358 +4667,2019-07-14 10:00:00+00:00,0.03687176509112421 +4668,2019-07-14 11:00:00+00:00,0.031306215710268946 +4669,2019-07-14 12:00:00+00:00,0.025044972535999098 +4670,2019-07-14 13:00:00+00:00,0.021566504213233282 +4671,2019-07-14 14:00:00+00:00,0.016696648303641363 +4672,2019-07-14 15:00:00+00:00,0.018783729361731363 +4673,2019-07-14 16:00:00+00:00,0.030610522077929875 +4674,2019-07-14 17:00:00+00:00,0.054264107188180546 +4675,2019-07-14 18:00:00+00:00,0.054959800820518205 +4676,2019-07-14 19:00:00+00:00,0.04869855780732421 +4677,2019-07-14 20:00:00+00:00,0.04035023357496605 +4678,2019-07-14 21:00:00+00:00,0.028523441019840015 +4679,2019-07-14 22:00:00+00:00,0.01391387361321366 +4680,2019-07-14 23:00:00+00:00,0.004869855748517227 +4681,2019-07-15 00:00:00+00:00,0.002782774690427579 +4682,2019-07-15 01:00:00+00:00,0.0006956936323380683 +4683,2019-07-15 02:00:00+00:00,0.0006956936323380683 +4684,2019-07-15 03:00:00+00:00,0.0013913874257514877 +4685,2019-07-15 04:00:00+00:00,0.004869855748517227 +4686,2019-07-15 05:00:00+00:00,0.03895884614921248 +4687,2019-07-15 06:00:00+00:00,0.06469951247862417 +4688,2019-07-15 07:00:00+00:00,0.050089945071998196 +4689,2019-07-15 08:00:00+00:00,0.05913396293669591 +4690,2019-07-15 09:00:00+00:00,0.04243731463305358 +4691,2019-07-15 10:00:00+00:00,0.03687176509112421 +4692,2019-07-15 11:00:00+00:00,0.031306215710268946 +4693,2019-07-15 12:00:00+00:00,0.025044972535999098 +4694,2019-07-15 13:00:00+00:00,0.021566504213233282 +4695,2019-07-15 14:00:00+00:00,0.016696648303641363 +4696,2019-07-15 15:00:00+00:00,0.018783729361731363 +4697,2019-07-15 16:00:00+00:00,0.030610522077929875 +4698,2019-07-15 17:00:00+00:00,0.054264107188180546 +4699,2019-07-15 18:00:00+00:00,0.054959800820518205 +4700,2019-07-15 19:00:00+00:00,0.04869855780732421 +4701,2019-07-15 20:00:00+00:00,0.04035023357496605 +4702,2019-07-15 21:00:00+00:00,0.028523441019840015 +4703,2019-07-15 22:00:00+00:00,0.01391387361321366 +4704,2019-07-15 23:00:00+00:00,0.004869855748517227 +4705,2019-07-16 00:00:00+00:00,0.002782774690427579 +4706,2019-07-16 01:00:00+00:00,0.0006956936323380683 +4707,2019-07-16 02:00:00+00:00,0.0006956936323380683 +4708,2019-07-16 03:00:00+00:00,0.0013913874257514877 +4709,2019-07-16 04:00:00+00:00,0.004869855748517227 +4710,2019-07-16 05:00:00+00:00,0.03895884614921248 +4711,2019-07-16 06:00:00+00:00,0.06469951247862417 +4712,2019-07-16 07:00:00+00:00,0.050089945071998196 +4713,2019-07-16 08:00:00+00:00,0.05913396293669591 +4714,2019-07-16 09:00:00+00:00,0.04243731463305358 +4715,2019-07-16 10:00:00+00:00,0.03687176509112421 +4716,2019-07-16 11:00:00+00:00,0.031306215710268946 +4717,2019-07-16 12:00:00+00:00,0.025044972535999098 +4718,2019-07-16 13:00:00+00:00,0.021566504213233282 +4719,2019-07-16 14:00:00+00:00,0.016696648303641363 +4720,2019-07-16 15:00:00+00:00,0.018783729361731363 +4721,2019-07-16 16:00:00+00:00,0.030610522077929875 +4722,2019-07-16 17:00:00+00:00,0.054264107188180546 +4723,2019-07-16 18:00:00+00:00,0.054959800820518205 +4724,2019-07-16 19:00:00+00:00,0.04869855780732421 +4725,2019-07-16 20:00:00+00:00,0.04035023357496605 +4726,2019-07-16 21:00:00+00:00,0.028523441019840015 +4727,2019-07-16 22:00:00+00:00,0.01391387361321366 +4728,2019-07-16 23:00:00+00:00,0.004869855748517227 +4729,2019-07-17 00:00:00+00:00,0.002782774690427579 +4730,2019-07-17 01:00:00+00:00,0.0006956936323380683 +4731,2019-07-17 02:00:00+00:00,0.0006956936323380683 +4732,2019-07-17 03:00:00+00:00,0.0013913874257514877 +4733,2019-07-17 04:00:00+00:00,0.004869855748517227 +4734,2019-07-17 05:00:00+00:00,0.03895884614921248 +4735,2019-07-17 06:00:00+00:00,0.06469951247862417 +4736,2019-07-17 07:00:00+00:00,0.050089945071998196 +4737,2019-07-17 08:00:00+00:00,0.05913396293669591 +4738,2019-07-17 09:00:00+00:00,0.04243731463305358 +4739,2019-07-17 10:00:00+00:00,0.03687176509112421 +4740,2019-07-17 11:00:00+00:00,0.031306215710268946 +4741,2019-07-17 12:00:00+00:00,0.025044972535999098 +4742,2019-07-17 13:00:00+00:00,0.021566504213233282 +4743,2019-07-17 14:00:00+00:00,0.016696648303641363 +4744,2019-07-17 15:00:00+00:00,0.018783729361731363 +4745,2019-07-17 16:00:00+00:00,0.030610522077929875 +4746,2019-07-17 17:00:00+00:00,0.054264107188180546 +4747,2019-07-17 18:00:00+00:00,0.054959800820518205 +4748,2019-07-17 19:00:00+00:00,0.04869855780732421 +4749,2019-07-17 20:00:00+00:00,0.04035023357496605 +4750,2019-07-17 21:00:00+00:00,0.028523441019840015 +4751,2019-07-17 22:00:00+00:00,0.01391387361321366 +4752,2019-07-17 23:00:00+00:00,0.004869855748517227 +4753,2019-07-18 00:00:00+00:00,0.002782774690427579 +4754,2019-07-18 01:00:00+00:00,0.0006956936323380683 +4755,2019-07-18 02:00:00+00:00,0.0006956936323380683 +4756,2019-07-18 03:00:00+00:00,0.0013913874257514877 +4757,2019-07-18 04:00:00+00:00,0.004869855748517227 +4758,2019-07-18 05:00:00+00:00,0.03895884614921248 +4759,2019-07-18 06:00:00+00:00,0.06469951247862417 +4760,2019-07-18 07:00:00+00:00,0.050089945071998196 +4761,2019-07-18 08:00:00+00:00,0.05913396293669591 +4762,2019-07-18 09:00:00+00:00,0.04243731463305358 +4763,2019-07-18 10:00:00+00:00,0.03687176509112421 +4764,2019-07-18 11:00:00+00:00,0.031306215710268946 +4765,2019-07-18 12:00:00+00:00,0.025044972535999098 +4766,2019-07-18 13:00:00+00:00,0.021566504213233282 +4767,2019-07-18 14:00:00+00:00,0.016696648303641363 +4768,2019-07-18 15:00:00+00:00,0.018783729361731363 +4769,2019-07-18 16:00:00+00:00,0.030610522077929875 +4770,2019-07-18 17:00:00+00:00,0.054264107188180546 +4771,2019-07-18 18:00:00+00:00,0.054959800820518205 +4772,2019-07-18 19:00:00+00:00,0.04869855780732421 +4773,2019-07-18 20:00:00+00:00,0.04035023357496605 +4774,2019-07-18 21:00:00+00:00,0.028523441019840015 +4775,2019-07-18 22:00:00+00:00,0.01391387361321366 +4776,2019-07-18 23:00:00+00:00,0.004869855748517227 +4777,2019-07-19 00:00:00+00:00,0.002782774690427579 +4778,2019-07-19 01:00:00+00:00,0.0006956936323380683 +4779,2019-07-19 02:00:00+00:00,0.0006956936323380683 +4780,2019-07-19 03:00:00+00:00,0.0013913874257514877 +4781,2019-07-19 04:00:00+00:00,0.004869855748517227 +4782,2019-07-19 05:00:00+00:00,0.03895884614921248 +4783,2019-07-19 06:00:00+00:00,0.06469951247862417 +4784,2019-07-19 07:00:00+00:00,0.050089945071998196 +4785,2019-07-19 08:00:00+00:00,0.05913396293669591 +4786,2019-07-19 09:00:00+00:00,0.04243731463305358 +4787,2019-07-19 10:00:00+00:00,0.03687176509112421 +4788,2019-07-19 11:00:00+00:00,0.031306215710268946 +4789,2019-07-19 12:00:00+00:00,0.025044972535999098 +4790,2019-07-19 13:00:00+00:00,0.021566504213233282 +4791,2019-07-19 14:00:00+00:00,0.016696648303641363 +4792,2019-07-19 15:00:00+00:00,0.018783729361731363 +4793,2019-07-19 16:00:00+00:00,0.030610522077929875 +4794,2019-07-19 17:00:00+00:00,0.054264107188180546 +4795,2019-07-19 18:00:00+00:00,0.054959800820518205 +4796,2019-07-19 19:00:00+00:00,0.04869855780732421 +4797,2019-07-19 20:00:00+00:00,0.04035023357496605 +4798,2019-07-19 21:00:00+00:00,0.028523441019840015 +4799,2019-07-19 22:00:00+00:00,0.01391387361321366 +4800,2019-07-19 23:00:00+00:00,0.004869855748517227 +4801,2019-07-20 00:00:00+00:00,0.002782774690427579 +4802,2019-07-20 01:00:00+00:00,0.0006956936323380683 +4803,2019-07-20 02:00:00+00:00,0.0006956936323380683 +4804,2019-07-20 03:00:00+00:00,0.0013913874257514877 +4805,2019-07-20 04:00:00+00:00,0.004869855748517227 +4806,2019-07-20 05:00:00+00:00,0.03895884614921248 +4807,2019-07-20 06:00:00+00:00,0.06469951247862417 +4808,2019-07-20 07:00:00+00:00,0.050089945071998196 +4809,2019-07-20 08:00:00+00:00,0.05913396293669591 +4810,2019-07-20 09:00:00+00:00,0.04243731463305358 +4811,2019-07-20 10:00:00+00:00,0.03687176509112421 +4812,2019-07-20 11:00:00+00:00,0.031306215710268946 +4813,2019-07-20 12:00:00+00:00,0.025044972535999098 +4814,2019-07-20 13:00:00+00:00,0.021566504213233282 +4815,2019-07-20 14:00:00+00:00,0.016696648303641363 +4816,2019-07-20 15:00:00+00:00,0.018783729361731363 +4817,2019-07-20 16:00:00+00:00,0.030610522077929875 +4818,2019-07-20 17:00:00+00:00,0.054264107188180546 +4819,2019-07-20 18:00:00+00:00,0.054959800820518205 +4820,2019-07-20 19:00:00+00:00,0.04869855780732421 +4821,2019-07-20 20:00:00+00:00,0.04035023357496605 +4822,2019-07-20 21:00:00+00:00,0.028523441019840015 +4823,2019-07-20 22:00:00+00:00,0.01391387361321366 +4824,2019-07-20 23:00:00+00:00,0.004869855748517227 +4825,2019-07-21 00:00:00+00:00,0.002782774690427579 +4826,2019-07-21 01:00:00+00:00,0.0006956936323380683 +4827,2019-07-21 02:00:00+00:00,0.0006956936323380683 +4828,2019-07-21 03:00:00+00:00,0.0013913874257514877 +4829,2019-07-21 04:00:00+00:00,0.004869855748517227 +4830,2019-07-21 05:00:00+00:00,0.03895884614921248 +4831,2019-07-21 06:00:00+00:00,0.06469951247862417 +4832,2019-07-21 07:00:00+00:00,0.050089945071998196 +4833,2019-07-21 08:00:00+00:00,0.05913396293669591 +4834,2019-07-21 09:00:00+00:00,0.04243731463305358 +4835,2019-07-21 10:00:00+00:00,0.03687176509112421 +4836,2019-07-21 11:00:00+00:00,0.031306215710268946 +4837,2019-07-21 12:00:00+00:00,0.025044972535999098 +4838,2019-07-21 13:00:00+00:00,0.021566504213233282 +4839,2019-07-21 14:00:00+00:00,0.016696648303641363 +4840,2019-07-21 15:00:00+00:00,0.018783729361731363 +4841,2019-07-21 16:00:00+00:00,0.030610522077929875 +4842,2019-07-21 17:00:00+00:00,0.054264107188180546 +4843,2019-07-21 18:00:00+00:00,0.054959800820518205 +4844,2019-07-21 19:00:00+00:00,0.04869855780732421 +4845,2019-07-21 20:00:00+00:00,0.04035023357496605 +4846,2019-07-21 21:00:00+00:00,0.028523441019840015 +4847,2019-07-21 22:00:00+00:00,0.01391387361321366 +4848,2019-07-21 23:00:00+00:00,0.004869855748517227 +4849,2019-07-22 00:00:00+00:00,0.002782774690427579 +4850,2019-07-22 01:00:00+00:00,0.0006956936323380683 +4851,2019-07-22 02:00:00+00:00,0.0006956936323380683 +4852,2019-07-22 03:00:00+00:00,0.0013913874257514877 +4853,2019-07-22 04:00:00+00:00,0.004869855748517227 +4854,2019-07-22 05:00:00+00:00,0.03895884614921248 +4855,2019-07-22 06:00:00+00:00,0.06469951247862417 +4856,2019-07-22 07:00:00+00:00,0.050089945071998196 +4857,2019-07-22 08:00:00+00:00,0.05913396293669591 +4858,2019-07-22 09:00:00+00:00,0.04243731463305358 +4859,2019-07-22 10:00:00+00:00,0.03687176509112421 +4860,2019-07-22 11:00:00+00:00,0.031306215710268946 +4861,2019-07-22 12:00:00+00:00,0.025044972535999098 +4862,2019-07-22 13:00:00+00:00,0.021566504213233282 +4863,2019-07-22 14:00:00+00:00,0.016696648303641363 +4864,2019-07-22 15:00:00+00:00,0.018783729361731363 +4865,2019-07-22 16:00:00+00:00,0.030610522077929875 +4866,2019-07-22 17:00:00+00:00,0.054264107188180546 +4867,2019-07-22 18:00:00+00:00,0.054959800820518205 +4868,2019-07-22 19:00:00+00:00,0.04869855780732421 +4869,2019-07-22 20:00:00+00:00,0.04035023357496605 +4870,2019-07-22 21:00:00+00:00,0.028523441019840015 +4871,2019-07-22 22:00:00+00:00,0.01391387361321366 +4872,2019-07-22 23:00:00+00:00,0.004869855748517227 +4873,2019-07-23 00:00:00+00:00,0.002782774690427579 +4874,2019-07-23 01:00:00+00:00,0.0006956936323380683 +4875,2019-07-23 02:00:00+00:00,0.0006956936323380683 +4876,2019-07-23 03:00:00+00:00,0.0013913874257514877 +4877,2019-07-23 04:00:00+00:00,0.004869855748517227 +4878,2019-07-23 05:00:00+00:00,0.03895884614921248 +4879,2019-07-23 06:00:00+00:00,0.06469951247862417 +4880,2019-07-23 07:00:00+00:00,0.050089945071998196 +4881,2019-07-23 08:00:00+00:00,0.05913396293669591 +4882,2019-07-23 09:00:00+00:00,0.04243731463305358 +4883,2019-07-23 10:00:00+00:00,0.03687176509112421 +4884,2019-07-23 11:00:00+00:00,0.031306215710268946 +4885,2019-07-23 12:00:00+00:00,0.025044972535999098 +4886,2019-07-23 13:00:00+00:00,0.021566504213233282 +4887,2019-07-23 14:00:00+00:00,0.016696648303641363 +4888,2019-07-23 15:00:00+00:00,0.018783729361731363 +4889,2019-07-23 16:00:00+00:00,0.030610522077929875 +4890,2019-07-23 17:00:00+00:00,0.054264107188180546 +4891,2019-07-23 18:00:00+00:00,0.054959800820518205 +4892,2019-07-23 19:00:00+00:00,0.04869855780732421 +4893,2019-07-23 20:00:00+00:00,0.04035023357496605 +4894,2019-07-23 21:00:00+00:00,0.028523441019840015 +4895,2019-07-23 22:00:00+00:00,0.01391387361321366 +4896,2019-07-23 23:00:00+00:00,0.004869855748517227 +4897,2019-07-24 00:00:00+00:00,0.002782774690427579 +4898,2019-07-24 01:00:00+00:00,0.0006956936323380683 +4899,2019-07-24 02:00:00+00:00,0.0006956936323380683 +4900,2019-07-24 03:00:00+00:00,0.0013913874257514877 +4901,2019-07-24 04:00:00+00:00,0.004869855748517227 +4902,2019-07-24 05:00:00+00:00,0.03895884614921248 +4903,2019-07-24 06:00:00+00:00,0.06469951247862417 +4904,2019-07-24 07:00:00+00:00,0.050089945071998196 +4905,2019-07-24 08:00:00+00:00,0.05913396293669591 +4906,2019-07-24 09:00:00+00:00,0.04243731463305358 +4907,2019-07-24 10:00:00+00:00,0.03687176509112421 +4908,2019-07-24 11:00:00+00:00,0.031306215710268946 +4909,2019-07-24 12:00:00+00:00,0.025044972535999098 +4910,2019-07-24 13:00:00+00:00,0.021566504213233282 +4911,2019-07-24 14:00:00+00:00,0.016696648303641363 +4912,2019-07-24 15:00:00+00:00,0.018783729361731363 +4913,2019-07-24 16:00:00+00:00,0.030610522077929875 +4914,2019-07-24 17:00:00+00:00,0.054264107188180546 +4915,2019-07-24 18:00:00+00:00,0.054959800820518205 +4916,2019-07-24 19:00:00+00:00,0.04869855780732421 +4917,2019-07-24 20:00:00+00:00,0.04035023357496605 +4918,2019-07-24 21:00:00+00:00,0.028523441019840015 +4919,2019-07-24 22:00:00+00:00,0.01391387361321366 +4920,2019-07-24 23:00:00+00:00,0.004869855748517227 +4921,2019-07-25 00:00:00+00:00,0.002782774690427579 +4922,2019-07-25 01:00:00+00:00,0.0006956936323380683 +4923,2019-07-25 02:00:00+00:00,0.0006956936323380683 +4924,2019-07-25 03:00:00+00:00,0.0013913874257514877 +4925,2019-07-25 04:00:00+00:00,0.004869855748517227 +4926,2019-07-25 05:00:00+00:00,0.03895884614921248 +4927,2019-07-25 06:00:00+00:00,0.06469951247862417 +4928,2019-07-25 07:00:00+00:00,0.050089945071998196 +4929,2019-07-25 08:00:00+00:00,0.05913396293669591 +4930,2019-07-25 09:00:00+00:00,0.04243731463305358 +4931,2019-07-25 10:00:00+00:00,0.03687176509112421 +4932,2019-07-25 11:00:00+00:00,0.031306215710268946 +4933,2019-07-25 12:00:00+00:00,0.025044972535999098 +4934,2019-07-25 13:00:00+00:00,0.021566504213233282 +4935,2019-07-25 14:00:00+00:00,0.016696648303641363 +4936,2019-07-25 15:00:00+00:00,0.018783729361731363 +4937,2019-07-25 16:00:00+00:00,0.030610522077929875 +4938,2019-07-25 17:00:00+00:00,0.054264107188180546 +4939,2019-07-25 18:00:00+00:00,0.054959800820518205 +4940,2019-07-25 19:00:00+00:00,0.04869855780732421 +4941,2019-07-25 20:00:00+00:00,0.04035023357496605 +4942,2019-07-25 21:00:00+00:00,0.028523441019840015 +4943,2019-07-25 22:00:00+00:00,0.01391387361321366 +4944,2019-07-25 23:00:00+00:00,0.004869855748517227 +4945,2019-07-26 00:00:00+00:00,0.002782774690427579 +4946,2019-07-26 01:00:00+00:00,0.0006956936323380683 +4947,2019-07-26 02:00:00+00:00,0.0006956936323380683 +4948,2019-07-26 03:00:00+00:00,0.0013913874257514877 +4949,2019-07-26 04:00:00+00:00,0.004869855748517227 +4950,2019-07-26 05:00:00+00:00,0.03895884614921248 +4951,2019-07-26 06:00:00+00:00,0.06469951247862417 +4952,2019-07-26 07:00:00+00:00,0.050089945071998196 +4953,2019-07-26 08:00:00+00:00,0.05913396293669591 +4954,2019-07-26 09:00:00+00:00,0.04243731463305358 +4955,2019-07-26 10:00:00+00:00,0.03687176509112421 +4956,2019-07-26 11:00:00+00:00,0.031306215710268946 +4957,2019-07-26 12:00:00+00:00,0.025044972535999098 +4958,2019-07-26 13:00:00+00:00,0.021566504213233282 +4959,2019-07-26 14:00:00+00:00,0.016696648303641363 +4960,2019-07-26 15:00:00+00:00,0.018783729361731363 +4961,2019-07-26 16:00:00+00:00,0.030610522077929875 +4962,2019-07-26 17:00:00+00:00,0.054264107188180546 +4963,2019-07-26 18:00:00+00:00,0.054959800820518205 +4964,2019-07-26 19:00:00+00:00,0.04869855780732421 +4965,2019-07-26 20:00:00+00:00,0.04035023357496605 +4966,2019-07-26 21:00:00+00:00,0.028523441019840015 +4967,2019-07-26 22:00:00+00:00,0.01391387361321366 +4968,2019-07-26 23:00:00+00:00,0.004869855748517227 +4969,2019-07-27 00:00:00+00:00,0.002782774690427579 +4970,2019-07-27 01:00:00+00:00,0.0006956936323380683 +4971,2019-07-27 02:00:00+00:00,0.0006956936323380683 +4972,2019-07-27 03:00:00+00:00,0.0013913874257514877 +4973,2019-07-27 04:00:00+00:00,0.004869855748517227 +4974,2019-07-27 05:00:00+00:00,0.03895884614921248 +4975,2019-07-27 06:00:00+00:00,0.06469951247862417 +4976,2019-07-27 07:00:00+00:00,0.050089945071998196 +4977,2019-07-27 08:00:00+00:00,0.05913396293669591 +4978,2019-07-27 09:00:00+00:00,0.04243731463305358 +4979,2019-07-27 10:00:00+00:00,0.03687176509112421 +4980,2019-07-27 11:00:00+00:00,0.031306215710268946 +4981,2019-07-27 12:00:00+00:00,0.025044972535999098 +4982,2019-07-27 13:00:00+00:00,0.021566504213233282 +4983,2019-07-27 14:00:00+00:00,0.016696648303641363 +4984,2019-07-27 15:00:00+00:00,0.018783729361731363 +4985,2019-07-27 16:00:00+00:00,0.030610522077929875 +4986,2019-07-27 17:00:00+00:00,0.054264107188180546 +4987,2019-07-27 18:00:00+00:00,0.054959800820518205 +4988,2019-07-27 19:00:00+00:00,0.04869855780732421 +4989,2019-07-27 20:00:00+00:00,0.04035023357496605 +4990,2019-07-27 21:00:00+00:00,0.028523441019840015 +4991,2019-07-27 22:00:00+00:00,0.01391387361321366 +4992,2019-07-27 23:00:00+00:00,0.004869855748517227 +4993,2019-07-28 00:00:00+00:00,0.002782774690427579 +4994,2019-07-28 01:00:00+00:00,0.0006956936323380683 +4995,2019-07-28 02:00:00+00:00,0.0006956936323380683 +4996,2019-07-28 03:00:00+00:00,0.0013913874257514877 +4997,2019-07-28 04:00:00+00:00,0.004869855748517227 +4998,2019-07-28 05:00:00+00:00,0.03895884614921248 +4999,2019-07-28 06:00:00+00:00,0.06469951247862417 +5000,2019-07-28 07:00:00+00:00,0.050089945071998196 +5001,2019-07-28 08:00:00+00:00,0.05913396293669591 +5002,2019-07-28 09:00:00+00:00,0.04243731463305358 +5003,2019-07-28 10:00:00+00:00,0.03687176509112421 +5004,2019-07-28 11:00:00+00:00,0.031306215710268946 +5005,2019-07-28 12:00:00+00:00,0.025044972535999098 +5006,2019-07-28 13:00:00+00:00,0.021566504213233282 +5007,2019-07-28 14:00:00+00:00,0.016696648303641363 +5008,2019-07-28 15:00:00+00:00,0.018783729361731363 +5009,2019-07-28 16:00:00+00:00,0.030610522077929875 +5010,2019-07-28 17:00:00+00:00,0.054264107188180546 +5011,2019-07-28 18:00:00+00:00,0.054959800820518205 +5012,2019-07-28 19:00:00+00:00,0.04869855780732421 +5013,2019-07-28 20:00:00+00:00,0.04035023357496605 +5014,2019-07-28 21:00:00+00:00,0.028523441019840015 +5015,2019-07-28 22:00:00+00:00,0.01391387361321366 +5016,2019-07-28 23:00:00+00:00,0.004869855748517227 +5017,2019-07-29 00:00:00+00:00,0.002782774690427579 +5018,2019-07-29 01:00:00+00:00,0.0006956936323380683 +5019,2019-07-29 02:00:00+00:00,0.0006956936323380683 +5020,2019-07-29 03:00:00+00:00,0.0013913874257514877 +5021,2019-07-29 04:00:00+00:00,0.004869855748517227 +5022,2019-07-29 05:00:00+00:00,0.03895884614921248 +5023,2019-07-29 06:00:00+00:00,0.06469951247862417 +5024,2019-07-29 07:00:00+00:00,0.050089945071998196 +5025,2019-07-29 08:00:00+00:00,0.05913396293669591 +5026,2019-07-29 09:00:00+00:00,0.04243731463305358 +5027,2019-07-29 10:00:00+00:00,0.03687176509112421 +5028,2019-07-29 11:00:00+00:00,0.031306215710268946 +5029,2019-07-29 12:00:00+00:00,0.025044972535999098 +5030,2019-07-29 13:00:00+00:00,0.021566504213233282 +5031,2019-07-29 14:00:00+00:00,0.016696648303641363 +5032,2019-07-29 15:00:00+00:00,0.018783729361731363 +5033,2019-07-29 16:00:00+00:00,0.030610522077929875 +5034,2019-07-29 17:00:00+00:00,0.054264107188180546 +5035,2019-07-29 18:00:00+00:00,0.054959800820518205 +5036,2019-07-29 19:00:00+00:00,0.04869855780732421 +5037,2019-07-29 20:00:00+00:00,0.04035023357496605 +5038,2019-07-29 21:00:00+00:00,0.028523441019840015 +5039,2019-07-29 22:00:00+00:00,0.01391387361321366 +5040,2019-07-29 23:00:00+00:00,0.004869855748517227 +5041,2019-07-30 00:00:00+00:00,0.002782774690427579 +5042,2019-07-30 01:00:00+00:00,0.0006956936323380683 +5043,2019-07-30 02:00:00+00:00,0.0006956936323380683 +5044,2019-07-30 03:00:00+00:00,0.0013913874257514877 +5045,2019-07-30 04:00:00+00:00,0.004869855748517227 +5046,2019-07-30 05:00:00+00:00,0.03895884614921248 +5047,2019-07-30 06:00:00+00:00,0.06469951247862417 +5048,2019-07-30 07:00:00+00:00,0.050089945071998196 +5049,2019-07-30 08:00:00+00:00,0.05913396293669591 +5050,2019-07-30 09:00:00+00:00,0.04243731463305358 +5051,2019-07-30 10:00:00+00:00,0.03687176509112421 +5052,2019-07-30 11:00:00+00:00,0.031306215710268946 +5053,2019-07-30 12:00:00+00:00,0.025044972535999098 +5054,2019-07-30 13:00:00+00:00,0.021566504213233282 +5055,2019-07-30 14:00:00+00:00,0.016696648303641363 +5056,2019-07-30 15:00:00+00:00,0.018783729361731363 +5057,2019-07-30 16:00:00+00:00,0.030610522077929875 +5058,2019-07-30 17:00:00+00:00,0.054264107188180546 +5059,2019-07-30 18:00:00+00:00,0.054959800820518205 +5060,2019-07-30 19:00:00+00:00,0.04869855780732421 +5061,2019-07-30 20:00:00+00:00,0.04035023357496605 +5062,2019-07-30 21:00:00+00:00,0.028523441019840015 +5063,2019-07-30 22:00:00+00:00,0.01391387361321366 +5064,2019-07-30 23:00:00+00:00,0.004869855748517227 +5065,2019-07-31 00:00:00+00:00,0.002782774690427579 +5066,2019-07-31 01:00:00+00:00,0.0006956936323380683 +5067,2019-07-31 02:00:00+00:00,0.0006956936323380683 +5068,2019-07-31 03:00:00+00:00,0.0013913874257514877 +5069,2019-07-31 04:00:00+00:00,0.004869855748517227 +5070,2019-07-31 05:00:00+00:00,0.03895884614921248 +5071,2019-07-31 06:00:00+00:00,0.06469951247862417 +5072,2019-07-31 07:00:00+00:00,0.050089945071998196 +5073,2019-07-31 08:00:00+00:00,0.05913396293669591 +5074,2019-07-31 09:00:00+00:00,0.04243731463305358 +5075,2019-07-31 10:00:00+00:00,0.03687176509112421 +5076,2019-07-31 11:00:00+00:00,0.031306215710268946 +5077,2019-07-31 12:00:00+00:00,0.025044972535999098 +5078,2019-07-31 13:00:00+00:00,0.021566504213233282 +5079,2019-07-31 14:00:00+00:00,0.016696648303641363 +5080,2019-07-31 15:00:00+00:00,0.018783729361731363 +5081,2019-07-31 16:00:00+00:00,0.030610522077929875 +5082,2019-07-31 17:00:00+00:00,0.054264107188180546 +5083,2019-07-31 18:00:00+00:00,0.054959800820518205 +5084,2019-07-31 19:00:00+00:00,0.04869855780732421 +5085,2019-07-31 20:00:00+00:00,0.04035023357496605 +5086,2019-07-31 21:00:00+00:00,0.028523441019840015 +5087,2019-07-31 22:00:00+00:00,0.01391387361321366 +5088,2019-07-31 23:00:00+00:00,0.004869855748517227 +5089,2019-08-01 00:00:00+00:00,0.002782774690427579 +5090,2019-08-01 01:00:00+00:00,0.0006956936323380683 +5091,2019-08-01 02:00:00+00:00,0.0006956936323380683 +5092,2019-08-01 03:00:00+00:00,0.0013913874257514877 +5093,2019-08-01 04:00:00+00:00,0.004869855748517227 +5094,2019-08-01 05:00:00+00:00,0.03895884614921248 +5095,2019-08-01 06:00:00+00:00,0.06469951247862417 +5096,2019-08-01 07:00:00+00:00,0.050089945071998196 +5097,2019-08-01 08:00:00+00:00,0.05913396293669591 +5098,2019-08-01 09:00:00+00:00,0.04243731463305358 +5099,2019-08-01 10:00:00+00:00,0.03687176509112421 +5100,2019-08-01 11:00:00+00:00,0.031306215710268946 +5101,2019-08-01 12:00:00+00:00,0.025044972535999098 +5102,2019-08-01 13:00:00+00:00,0.021566504213233282 +5103,2019-08-01 14:00:00+00:00,0.016696648303641363 +5104,2019-08-01 15:00:00+00:00,0.018783729361731363 +5105,2019-08-01 16:00:00+00:00,0.030610522077929875 +5106,2019-08-01 17:00:00+00:00,0.054264107188180546 +5107,2019-08-01 18:00:00+00:00,0.054959800820518205 +5108,2019-08-01 19:00:00+00:00,0.04869855780732421 +5109,2019-08-01 20:00:00+00:00,0.04035023357496605 +5110,2019-08-01 21:00:00+00:00,0.028523441019840015 +5111,2019-08-01 22:00:00+00:00,0.01391387361321366 +5112,2019-08-01 23:00:00+00:00,0.004869855748517227 +5113,2019-08-02 00:00:00+00:00,0.002782774690427579 +5114,2019-08-02 01:00:00+00:00,0.0006956936323380683 +5115,2019-08-02 02:00:00+00:00,0.0006956936323380683 +5116,2019-08-02 03:00:00+00:00,0.0013913874257514877 +5117,2019-08-02 04:00:00+00:00,0.004869855748517227 +5118,2019-08-02 05:00:00+00:00,0.03895884614921248 +5119,2019-08-02 06:00:00+00:00,0.06469951247862417 +5120,2019-08-02 07:00:00+00:00,0.050089945071998196 +5121,2019-08-02 08:00:00+00:00,0.05913396293669591 +5122,2019-08-02 09:00:00+00:00,0.04243731463305358 +5123,2019-08-02 10:00:00+00:00,0.03687176509112421 +5124,2019-08-02 11:00:00+00:00,0.031306215710268946 +5125,2019-08-02 12:00:00+00:00,0.025044972535999098 +5126,2019-08-02 13:00:00+00:00,0.021566504213233282 +5127,2019-08-02 14:00:00+00:00,0.016696648303641363 +5128,2019-08-02 15:00:00+00:00,0.018783729361731363 +5129,2019-08-02 16:00:00+00:00,0.030610522077929875 +5130,2019-08-02 17:00:00+00:00,0.054264107188180546 +5131,2019-08-02 18:00:00+00:00,0.054959800820518205 +5132,2019-08-02 19:00:00+00:00,0.04869855780732421 +5133,2019-08-02 20:00:00+00:00,0.04035023357496605 +5134,2019-08-02 21:00:00+00:00,0.028523441019840015 +5135,2019-08-02 22:00:00+00:00,0.01391387361321366 +5136,2019-08-02 23:00:00+00:00,0.004869855748517227 +5137,2019-08-03 00:00:00+00:00,0.002782774690427579 +5138,2019-08-03 01:00:00+00:00,0.0006956936323380683 +5139,2019-08-03 02:00:00+00:00,0.0006956936323380683 +5140,2019-08-03 03:00:00+00:00,0.0013913874257514877 +5141,2019-08-03 04:00:00+00:00,0.004869855748517227 +5142,2019-08-03 05:00:00+00:00,0.03895884614921248 +5143,2019-08-03 06:00:00+00:00,0.06469951247862417 +5144,2019-08-03 07:00:00+00:00,0.050089945071998196 +5145,2019-08-03 08:00:00+00:00,0.05913396293669591 +5146,2019-08-03 09:00:00+00:00,0.04243731463305358 +5147,2019-08-03 10:00:00+00:00,0.03687176509112421 +5148,2019-08-03 11:00:00+00:00,0.031306215710268946 +5149,2019-08-03 12:00:00+00:00,0.025044972535999098 +5150,2019-08-03 13:00:00+00:00,0.021566504213233282 +5151,2019-08-03 14:00:00+00:00,0.016696648303641363 +5152,2019-08-03 15:00:00+00:00,0.018783729361731363 +5153,2019-08-03 16:00:00+00:00,0.030610522077929875 +5154,2019-08-03 17:00:00+00:00,0.054264107188180546 +5155,2019-08-03 18:00:00+00:00,0.054959800820518205 +5156,2019-08-03 19:00:00+00:00,0.04869855780732421 +5157,2019-08-03 20:00:00+00:00,0.04035023357496605 +5158,2019-08-03 21:00:00+00:00,0.028523441019840015 +5159,2019-08-03 22:00:00+00:00,0.01391387361321366 +5160,2019-08-03 23:00:00+00:00,0.004869855748517227 +5161,2019-08-04 00:00:00+00:00,0.002782774690427579 +5162,2019-08-04 01:00:00+00:00,0.0006956936323380683 +5163,2019-08-04 02:00:00+00:00,0.0006956936323380683 +5164,2019-08-04 03:00:00+00:00,0.0013913874257514877 +5165,2019-08-04 04:00:00+00:00,0.004869855748517227 +5166,2019-08-04 05:00:00+00:00,0.03895884614921248 +5167,2019-08-04 06:00:00+00:00,0.06469951247862417 +5168,2019-08-04 07:00:00+00:00,0.050089945071998196 +5169,2019-08-04 08:00:00+00:00,0.05913396293669591 +5170,2019-08-04 09:00:00+00:00,0.04243731463305358 +5171,2019-08-04 10:00:00+00:00,0.03687176509112421 +5172,2019-08-04 11:00:00+00:00,0.031306215710268946 +5173,2019-08-04 12:00:00+00:00,0.025044972535999098 +5174,2019-08-04 13:00:00+00:00,0.021566504213233282 +5175,2019-08-04 14:00:00+00:00,0.016696648303641363 +5176,2019-08-04 15:00:00+00:00,0.018783729361731363 +5177,2019-08-04 16:00:00+00:00,0.030610522077929875 +5178,2019-08-04 17:00:00+00:00,0.054264107188180546 +5179,2019-08-04 18:00:00+00:00,0.054959800820518205 +5180,2019-08-04 19:00:00+00:00,0.04869855780732421 +5181,2019-08-04 20:00:00+00:00,0.04035023357496605 +5182,2019-08-04 21:00:00+00:00,0.028523441019840015 +5183,2019-08-04 22:00:00+00:00,0.01391387361321366 +5184,2019-08-04 23:00:00+00:00,0.004869855748517227 +5185,2019-08-05 00:00:00+00:00,0.002782774690427579 +5186,2019-08-05 01:00:00+00:00,0.0006956936323380683 +5187,2019-08-05 02:00:00+00:00,0.0006956936323380683 +5188,2019-08-05 03:00:00+00:00,0.0013913874257514877 +5189,2019-08-05 04:00:00+00:00,0.004869855748517227 +5190,2019-08-05 05:00:00+00:00,0.03895884614921248 +5191,2019-08-05 06:00:00+00:00,0.06469951247862417 +5192,2019-08-05 07:00:00+00:00,0.050089945071998196 +5193,2019-08-05 08:00:00+00:00,0.05913396293669591 +5194,2019-08-05 09:00:00+00:00,0.04243731463305358 +5195,2019-08-05 10:00:00+00:00,0.03687176509112421 +5196,2019-08-05 11:00:00+00:00,0.031306215710268946 +5197,2019-08-05 12:00:00+00:00,0.025044972535999098 +5198,2019-08-05 13:00:00+00:00,0.021566504213233282 +5199,2019-08-05 14:00:00+00:00,0.016696648303641363 +5200,2019-08-05 15:00:00+00:00,0.018783729361731363 +5201,2019-08-05 16:00:00+00:00,0.030610522077929875 +5202,2019-08-05 17:00:00+00:00,0.054264107188180546 +5203,2019-08-05 18:00:00+00:00,0.054959800820518205 +5204,2019-08-05 19:00:00+00:00,0.04869855780732421 +5205,2019-08-05 20:00:00+00:00,0.04035023357496605 +5206,2019-08-05 21:00:00+00:00,0.028523441019840015 +5207,2019-08-05 22:00:00+00:00,0.01391387361321366 +5208,2019-08-05 23:00:00+00:00,0.004869855748517227 +5209,2019-08-06 00:00:00+00:00,0.002782774690427579 +5210,2019-08-06 01:00:00+00:00,0.0006956936323380683 +5211,2019-08-06 02:00:00+00:00,0.0006956936323380683 +5212,2019-08-06 03:00:00+00:00,0.0013913874257514877 +5213,2019-08-06 04:00:00+00:00,0.004869855748517227 +5214,2019-08-06 05:00:00+00:00,0.03895884614921248 +5215,2019-08-06 06:00:00+00:00,0.06469951247862417 +5216,2019-08-06 07:00:00+00:00,0.050089945071998196 +5217,2019-08-06 08:00:00+00:00,0.05913396293669591 +5218,2019-08-06 09:00:00+00:00,0.04243731463305358 +5219,2019-08-06 10:00:00+00:00,0.03687176509112421 +5220,2019-08-06 11:00:00+00:00,0.031306215710268946 +5221,2019-08-06 12:00:00+00:00,0.025044972535999098 +5222,2019-08-06 13:00:00+00:00,0.021566504213233282 +5223,2019-08-06 14:00:00+00:00,0.016696648303641363 +5224,2019-08-06 15:00:00+00:00,0.018783729361731363 +5225,2019-08-06 16:00:00+00:00,0.030610522077929875 +5226,2019-08-06 17:00:00+00:00,0.054264107188180546 +5227,2019-08-06 18:00:00+00:00,0.054959800820518205 +5228,2019-08-06 19:00:00+00:00,0.04869855780732421 +5229,2019-08-06 20:00:00+00:00,0.04035023357496605 +5230,2019-08-06 21:00:00+00:00,0.028523441019840015 +5231,2019-08-06 22:00:00+00:00,0.01391387361321366 +5232,2019-08-06 23:00:00+00:00,0.004869855748517227 +5233,2019-08-07 00:00:00+00:00,0.002782774690427579 +5234,2019-08-07 01:00:00+00:00,0.0006956936323380683 +5235,2019-08-07 02:00:00+00:00,0.0006956936323380683 +5236,2019-08-07 03:00:00+00:00,0.0013913874257514877 +5237,2019-08-07 04:00:00+00:00,0.004869855748517227 +5238,2019-08-07 05:00:00+00:00,0.03895884614921248 +5239,2019-08-07 06:00:00+00:00,0.06469951247862417 +5240,2019-08-07 07:00:00+00:00,0.050089945071998196 +5241,2019-08-07 08:00:00+00:00,0.05913396293669591 +5242,2019-08-07 09:00:00+00:00,0.04243731463305358 +5243,2019-08-07 10:00:00+00:00,0.03687176509112421 +5244,2019-08-07 11:00:00+00:00,0.031306215710268946 +5245,2019-08-07 12:00:00+00:00,0.025044972535999098 +5246,2019-08-07 13:00:00+00:00,0.021566504213233282 +5247,2019-08-07 14:00:00+00:00,0.016696648303641363 +5248,2019-08-07 15:00:00+00:00,0.018783729361731363 +5249,2019-08-07 16:00:00+00:00,0.030610522077929875 +5250,2019-08-07 17:00:00+00:00,0.054264107188180546 +5251,2019-08-07 18:00:00+00:00,0.054959800820518205 +5252,2019-08-07 19:00:00+00:00,0.04869855780732421 +5253,2019-08-07 20:00:00+00:00,0.04035023357496605 +5254,2019-08-07 21:00:00+00:00,0.028523441019840015 +5255,2019-08-07 22:00:00+00:00,0.01391387361321366 +5256,2019-08-07 23:00:00+00:00,0.004869855748517227 +5257,2019-08-08 00:00:00+00:00,0.002782774690427579 +5258,2019-08-08 01:00:00+00:00,0.0006956936323380683 +5259,2019-08-08 02:00:00+00:00,0.0006956936323380683 +5260,2019-08-08 03:00:00+00:00,0.0013913874257514877 +5261,2019-08-08 04:00:00+00:00,0.004869855748517227 +5262,2019-08-08 05:00:00+00:00,0.03895884614921248 +5263,2019-08-08 06:00:00+00:00,0.06469951247862417 +5264,2019-08-08 07:00:00+00:00,0.050089945071998196 +5265,2019-08-08 08:00:00+00:00,0.05913396293669591 +5266,2019-08-08 09:00:00+00:00,0.04243731463305358 +5267,2019-08-08 10:00:00+00:00,0.03687176509112421 +5268,2019-08-08 11:00:00+00:00,0.031306215710268946 +5269,2019-08-08 12:00:00+00:00,0.025044972535999098 +5270,2019-08-08 13:00:00+00:00,0.021566504213233282 +5271,2019-08-08 14:00:00+00:00,0.016696648303641363 +5272,2019-08-08 15:00:00+00:00,0.018783729361731363 +5273,2019-08-08 16:00:00+00:00,0.030610522077929875 +5274,2019-08-08 17:00:00+00:00,0.054264107188180546 +5275,2019-08-08 18:00:00+00:00,0.054959800820518205 +5276,2019-08-08 19:00:00+00:00,0.04869855780732421 +5277,2019-08-08 20:00:00+00:00,0.04035023357496605 +5278,2019-08-08 21:00:00+00:00,0.028523441019840015 +5279,2019-08-08 22:00:00+00:00,0.01391387361321366 +5280,2019-08-08 23:00:00+00:00,0.004869855748517227 +5281,2019-08-09 00:00:00+00:00,0.002782774690427579 +5282,2019-08-09 01:00:00+00:00,0.0006956936323380683 +5283,2019-08-09 02:00:00+00:00,0.0006956936323380683 +5284,2019-08-09 03:00:00+00:00,0.0013913874257514877 +5285,2019-08-09 04:00:00+00:00,0.004869855748517227 +5286,2019-08-09 05:00:00+00:00,0.03895884614921248 +5287,2019-08-09 06:00:00+00:00,0.06469951247862417 +5288,2019-08-09 07:00:00+00:00,0.050089945071998196 +5289,2019-08-09 08:00:00+00:00,0.05913396293669591 +5290,2019-08-09 09:00:00+00:00,0.04243731463305358 +5291,2019-08-09 10:00:00+00:00,0.03687176509112421 +5292,2019-08-09 11:00:00+00:00,0.031306215710268946 +5293,2019-08-09 12:00:00+00:00,0.025044972535999098 +5294,2019-08-09 13:00:00+00:00,0.021566504213233282 +5295,2019-08-09 14:00:00+00:00,0.016696648303641363 +5296,2019-08-09 15:00:00+00:00,0.018783729361731363 +5297,2019-08-09 16:00:00+00:00,0.030610522077929875 +5298,2019-08-09 17:00:00+00:00,0.054264107188180546 +5299,2019-08-09 18:00:00+00:00,0.054959800820518205 +5300,2019-08-09 19:00:00+00:00,0.04869855780732421 +5301,2019-08-09 20:00:00+00:00,0.04035023357496605 +5302,2019-08-09 21:00:00+00:00,0.028523441019840015 +5303,2019-08-09 22:00:00+00:00,0.01391387361321366 +5304,2019-08-09 23:00:00+00:00,0.004869855748517227 +5305,2019-08-10 00:00:00+00:00,0.002782774690427579 +5306,2019-08-10 01:00:00+00:00,0.0006956936323380683 +5307,2019-08-10 02:00:00+00:00,0.0006956936323380683 +5308,2019-08-10 03:00:00+00:00,0.0013913874257514877 +5309,2019-08-10 04:00:00+00:00,0.004869855748517227 +5310,2019-08-10 05:00:00+00:00,0.03895884614921248 +5311,2019-08-10 06:00:00+00:00,0.06469951247862417 +5312,2019-08-10 07:00:00+00:00,0.050089945071998196 +5313,2019-08-10 08:00:00+00:00,0.05913396293669591 +5314,2019-08-10 09:00:00+00:00,0.04243731463305358 +5315,2019-08-10 10:00:00+00:00,0.03687176509112421 +5316,2019-08-10 11:00:00+00:00,0.031306215710268946 +5317,2019-08-10 12:00:00+00:00,0.025044972535999098 +5318,2019-08-10 13:00:00+00:00,0.021566504213233282 +5319,2019-08-10 14:00:00+00:00,0.016696648303641363 +5320,2019-08-10 15:00:00+00:00,0.018783729361731363 +5321,2019-08-10 16:00:00+00:00,0.030610522077929875 +5322,2019-08-10 17:00:00+00:00,0.054264107188180546 +5323,2019-08-10 18:00:00+00:00,0.054959800820518205 +5324,2019-08-10 19:00:00+00:00,0.04869855780732421 +5325,2019-08-10 20:00:00+00:00,0.04035023357496605 +5326,2019-08-10 21:00:00+00:00,0.028523441019840015 +5327,2019-08-10 22:00:00+00:00,0.01391387361321366 +5328,2019-08-10 23:00:00+00:00,0.004869855748517227 +5329,2019-08-11 00:00:00+00:00,0.002782774690427579 +5330,2019-08-11 01:00:00+00:00,0.0006956936323380683 +5331,2019-08-11 02:00:00+00:00,0.0006956936323380683 +5332,2019-08-11 03:00:00+00:00,0.0013913874257514877 +5333,2019-08-11 04:00:00+00:00,0.004869855748517227 +5334,2019-08-11 05:00:00+00:00,0.03895884614921248 +5335,2019-08-11 06:00:00+00:00,0.06469951247862417 +5336,2019-08-11 07:00:00+00:00,0.050089945071998196 +5337,2019-08-11 08:00:00+00:00,0.05913396293669591 +5338,2019-08-11 09:00:00+00:00,0.04243731463305358 +5339,2019-08-11 10:00:00+00:00,0.03687176509112421 +5340,2019-08-11 11:00:00+00:00,0.031306215710268946 +5341,2019-08-11 12:00:00+00:00,0.025044972535999098 +5342,2019-08-11 13:00:00+00:00,0.021566504213233282 +5343,2019-08-11 14:00:00+00:00,0.016696648303641363 +5344,2019-08-11 15:00:00+00:00,0.018783729361731363 +5345,2019-08-11 16:00:00+00:00,0.030610522077929875 +5346,2019-08-11 17:00:00+00:00,0.054264107188180546 +5347,2019-08-11 18:00:00+00:00,0.054959800820518205 +5348,2019-08-11 19:00:00+00:00,0.04869855780732421 +5349,2019-08-11 20:00:00+00:00,0.04035023357496605 +5350,2019-08-11 21:00:00+00:00,0.028523441019840015 +5351,2019-08-11 22:00:00+00:00,0.01391387361321366 +5352,2019-08-11 23:00:00+00:00,0.004869855748517227 +5353,2019-08-12 00:00:00+00:00,0.002782774690427579 +5354,2019-08-12 01:00:00+00:00,0.0006956936323380683 +5355,2019-08-12 02:00:00+00:00,0.0006956936323380683 +5356,2019-08-12 03:00:00+00:00,0.0013913874257514877 +5357,2019-08-12 04:00:00+00:00,0.004869855748517227 +5358,2019-08-12 05:00:00+00:00,0.03895884614921248 +5359,2019-08-12 06:00:00+00:00,0.06469951247862417 +5360,2019-08-12 07:00:00+00:00,0.050089945071998196 +5361,2019-08-12 08:00:00+00:00,0.05913396293669591 +5362,2019-08-12 09:00:00+00:00,0.04243731463305358 +5363,2019-08-12 10:00:00+00:00,0.03687176509112421 +5364,2019-08-12 11:00:00+00:00,0.031306215710268946 +5365,2019-08-12 12:00:00+00:00,0.025044972535999098 +5366,2019-08-12 13:00:00+00:00,0.021566504213233282 +5367,2019-08-12 14:00:00+00:00,0.016696648303641363 +5368,2019-08-12 15:00:00+00:00,0.018783729361731363 +5369,2019-08-12 16:00:00+00:00,0.030610522077929875 +5370,2019-08-12 17:00:00+00:00,0.054264107188180546 +5371,2019-08-12 18:00:00+00:00,0.054959800820518205 +5372,2019-08-12 19:00:00+00:00,0.04869855780732421 +5373,2019-08-12 20:00:00+00:00,0.04035023357496605 +5374,2019-08-12 21:00:00+00:00,0.028523441019840015 +5375,2019-08-12 22:00:00+00:00,0.01391387361321366 +5376,2019-08-12 23:00:00+00:00,0.004869855748517227 +5377,2019-08-13 00:00:00+00:00,0.002782774690427579 +5378,2019-08-13 01:00:00+00:00,0.0006956936323380683 +5379,2019-08-13 02:00:00+00:00,0.0006956936323380683 +5380,2019-08-13 03:00:00+00:00,0.0013913874257514877 +5381,2019-08-13 04:00:00+00:00,0.004869855748517227 +5382,2019-08-13 05:00:00+00:00,0.03895884614921248 +5383,2019-08-13 06:00:00+00:00,0.06469951247862417 +5384,2019-08-13 07:00:00+00:00,0.050089945071998196 +5385,2019-08-13 08:00:00+00:00,0.05913396293669591 +5386,2019-08-13 09:00:00+00:00,0.04243731463305358 +5387,2019-08-13 10:00:00+00:00,0.03687176509112421 +5388,2019-08-13 11:00:00+00:00,0.031306215710268946 +5389,2019-08-13 12:00:00+00:00,0.025044972535999098 +5390,2019-08-13 13:00:00+00:00,0.021566504213233282 +5391,2019-08-13 14:00:00+00:00,0.016696648303641363 +5392,2019-08-13 15:00:00+00:00,0.018783729361731363 +5393,2019-08-13 16:00:00+00:00,0.030610522077929875 +5394,2019-08-13 17:00:00+00:00,0.054264107188180546 +5395,2019-08-13 18:00:00+00:00,0.054959800820518205 +5396,2019-08-13 19:00:00+00:00,0.04869855780732421 +5397,2019-08-13 20:00:00+00:00,0.04035023357496605 +5398,2019-08-13 21:00:00+00:00,0.028523441019840015 +5399,2019-08-13 22:00:00+00:00,0.01391387361321366 +5400,2019-08-13 23:00:00+00:00,0.004869855748517227 +5401,2019-08-14 00:00:00+00:00,0.002782774690427579 +5402,2019-08-14 01:00:00+00:00,0.0006956936323380683 +5403,2019-08-14 02:00:00+00:00,0.0006956936323380683 +5404,2019-08-14 03:00:00+00:00,0.0013913874257514877 +5405,2019-08-14 04:00:00+00:00,0.004869855748517227 +5406,2019-08-14 05:00:00+00:00,0.03895884614921248 +5407,2019-08-14 06:00:00+00:00,0.06469951247862417 +5408,2019-08-14 07:00:00+00:00,0.050089945071998196 +5409,2019-08-14 08:00:00+00:00,0.05913396293669591 +5410,2019-08-14 09:00:00+00:00,0.04243731463305358 +5411,2019-08-14 10:00:00+00:00,0.03687176509112421 +5412,2019-08-14 11:00:00+00:00,0.031306215710268946 +5413,2019-08-14 12:00:00+00:00,0.025044972535999098 +5414,2019-08-14 13:00:00+00:00,0.021566504213233282 +5415,2019-08-14 14:00:00+00:00,0.016696648303641363 +5416,2019-08-14 15:00:00+00:00,0.018783729361731363 +5417,2019-08-14 16:00:00+00:00,0.030610522077929875 +5418,2019-08-14 17:00:00+00:00,0.054264107188180546 +5419,2019-08-14 18:00:00+00:00,0.054959800820518205 +5420,2019-08-14 19:00:00+00:00,0.04869855780732421 +5421,2019-08-14 20:00:00+00:00,0.04035023357496605 +5422,2019-08-14 21:00:00+00:00,0.028523441019840015 +5423,2019-08-14 22:00:00+00:00,0.01391387361321366 +5424,2019-08-14 23:00:00+00:00,0.004869855748517227 +5425,2019-08-15 00:00:00+00:00,0.002782774690427579 +5426,2019-08-15 01:00:00+00:00,0.0006956936323380683 +5427,2019-08-15 02:00:00+00:00,0.0006956936323380683 +5428,2019-08-15 03:00:00+00:00,0.0013913874257514877 +5429,2019-08-15 04:00:00+00:00,0.004869855748517227 +5430,2019-08-15 05:00:00+00:00,0.03895884614921248 +5431,2019-08-15 06:00:00+00:00,0.06469951247862417 +5432,2019-08-15 07:00:00+00:00,0.050089945071998196 +5433,2019-08-15 08:00:00+00:00,0.05913396293669591 +5434,2019-08-15 09:00:00+00:00,0.04243731463305358 +5435,2019-08-15 10:00:00+00:00,0.03687176509112421 +5436,2019-08-15 11:00:00+00:00,0.031306215710268946 +5437,2019-08-15 12:00:00+00:00,0.025044972535999098 +5438,2019-08-15 13:00:00+00:00,0.021566504213233282 +5439,2019-08-15 14:00:00+00:00,0.016696648303641363 +5440,2019-08-15 15:00:00+00:00,0.018783729361731363 +5441,2019-08-15 16:00:00+00:00,0.030610522077929875 +5442,2019-08-15 17:00:00+00:00,0.054264107188180546 +5443,2019-08-15 18:00:00+00:00,0.054959800820518205 +5444,2019-08-15 19:00:00+00:00,0.04869855780732421 +5445,2019-08-15 20:00:00+00:00,0.04035023357496605 +5446,2019-08-15 21:00:00+00:00,0.028523441019840015 +5447,2019-08-15 22:00:00+00:00,0.01391387361321366 +5448,2019-08-15 23:00:00+00:00,0.004869855748517227 +5449,2019-08-16 00:00:00+00:00,0.002782774690427579 +5450,2019-08-16 01:00:00+00:00,0.0006956936323380683 +5451,2019-08-16 02:00:00+00:00,0.0006956936323380683 +5452,2019-08-16 03:00:00+00:00,0.0013913874257514877 +5453,2019-08-16 04:00:00+00:00,0.004869855748517227 +5454,2019-08-16 05:00:00+00:00,0.03895884614921248 +5455,2019-08-16 06:00:00+00:00,0.06469951247862417 +5456,2019-08-16 07:00:00+00:00,0.050089945071998196 +5457,2019-08-16 08:00:00+00:00,0.05913396293669591 +5458,2019-08-16 09:00:00+00:00,0.04243731463305358 +5459,2019-08-16 10:00:00+00:00,0.03687176509112421 +5460,2019-08-16 11:00:00+00:00,0.031306215710268946 +5461,2019-08-16 12:00:00+00:00,0.025044972535999098 +5462,2019-08-16 13:00:00+00:00,0.021566504213233282 +5463,2019-08-16 14:00:00+00:00,0.016696648303641363 +5464,2019-08-16 15:00:00+00:00,0.018783729361731363 +5465,2019-08-16 16:00:00+00:00,0.030610522077929875 +5466,2019-08-16 17:00:00+00:00,0.054264107188180546 +5467,2019-08-16 18:00:00+00:00,0.054959800820518205 +5468,2019-08-16 19:00:00+00:00,0.04869855780732421 +5469,2019-08-16 20:00:00+00:00,0.04035023357496605 +5470,2019-08-16 21:00:00+00:00,0.028523441019840015 +5471,2019-08-16 22:00:00+00:00,0.01391387361321366 +5472,2019-08-16 23:00:00+00:00,0.004869855748517227 +5473,2019-08-17 00:00:00+00:00,0.002782774690427579 +5474,2019-08-17 01:00:00+00:00,0.0006956936323380683 +5475,2019-08-17 02:00:00+00:00,0.0006956936323380683 +5476,2019-08-17 03:00:00+00:00,0.0013913874257514877 +5477,2019-08-17 04:00:00+00:00,0.004869855748517227 +5478,2019-08-17 05:00:00+00:00,0.03895884614921248 +5479,2019-08-17 06:00:00+00:00,0.06469951247862417 +5480,2019-08-17 07:00:00+00:00,0.050089945071998196 +5481,2019-08-17 08:00:00+00:00,0.05913396293669591 +5482,2019-08-17 09:00:00+00:00,0.04243731463305358 +5483,2019-08-17 10:00:00+00:00,0.03687176509112421 +5484,2019-08-17 11:00:00+00:00,0.031306215710268946 +5485,2019-08-17 12:00:00+00:00,0.025044972535999098 +5486,2019-08-17 13:00:00+00:00,0.021566504213233282 +5487,2019-08-17 14:00:00+00:00,0.016696648303641363 +5488,2019-08-17 15:00:00+00:00,0.018783729361731363 +5489,2019-08-17 16:00:00+00:00,0.030610522077929875 +5490,2019-08-17 17:00:00+00:00,0.054264107188180546 +5491,2019-08-17 18:00:00+00:00,0.054959800820518205 +5492,2019-08-17 19:00:00+00:00,0.04869855780732421 +5493,2019-08-17 20:00:00+00:00,0.04035023357496605 +5494,2019-08-17 21:00:00+00:00,0.028523441019840015 +5495,2019-08-17 22:00:00+00:00,0.01391387361321366 +5496,2019-08-17 23:00:00+00:00,0.004869855748517227 +5497,2019-08-18 00:00:00+00:00,0.002782774690427579 +5498,2019-08-18 01:00:00+00:00,0.0006956936323380683 +5499,2019-08-18 02:00:00+00:00,0.0006956936323380683 +5500,2019-08-18 03:00:00+00:00,0.0013913874257514877 +5501,2019-08-18 04:00:00+00:00,0.004869855748517227 +5502,2019-08-18 05:00:00+00:00,0.03895884614921248 +5503,2019-08-18 06:00:00+00:00,0.06469951247862417 +5504,2019-08-18 07:00:00+00:00,0.050089945071998196 +5505,2019-08-18 08:00:00+00:00,0.05913396293669591 +5506,2019-08-18 09:00:00+00:00,0.04243731463305358 +5507,2019-08-18 10:00:00+00:00,0.03687176509112421 +5508,2019-08-18 11:00:00+00:00,0.031306215710268946 +5509,2019-08-18 12:00:00+00:00,0.025044972535999098 +5510,2019-08-18 13:00:00+00:00,0.021566504213233282 +5511,2019-08-18 14:00:00+00:00,0.016696648303641363 +5512,2019-08-18 15:00:00+00:00,0.018783729361731363 +5513,2019-08-18 16:00:00+00:00,0.030610522077929875 +5514,2019-08-18 17:00:00+00:00,0.054264107188180546 +5515,2019-08-18 18:00:00+00:00,0.054959800820518205 +5516,2019-08-18 19:00:00+00:00,0.04869855780732421 +5517,2019-08-18 20:00:00+00:00,0.04035023357496605 +5518,2019-08-18 21:00:00+00:00,0.028523441019840015 +5519,2019-08-18 22:00:00+00:00,0.01391387361321366 +5520,2019-08-18 23:00:00+00:00,0.004869855748517227 +5521,2019-08-19 00:00:00+00:00,0.002782774690427579 +5522,2019-08-19 01:00:00+00:00,0.0006956936323380683 +5523,2019-08-19 02:00:00+00:00,0.0006956936323380683 +5524,2019-08-19 03:00:00+00:00,0.0013913874257514877 +5525,2019-08-19 04:00:00+00:00,0.004869855748517227 +5526,2019-08-19 05:00:00+00:00,0.03895884614921248 +5527,2019-08-19 06:00:00+00:00,0.06469951247862417 +5528,2019-08-19 07:00:00+00:00,0.050089945071998196 +5529,2019-08-19 08:00:00+00:00,0.05913396293669591 +5530,2019-08-19 09:00:00+00:00,0.04243731463305358 +5531,2019-08-19 10:00:00+00:00,0.03687176509112421 +5532,2019-08-19 11:00:00+00:00,0.031306215710268946 +5533,2019-08-19 12:00:00+00:00,0.025044972535999098 +5534,2019-08-19 13:00:00+00:00,0.021566504213233282 +5535,2019-08-19 14:00:00+00:00,0.016696648303641363 +5536,2019-08-19 15:00:00+00:00,0.018783729361731363 +5537,2019-08-19 16:00:00+00:00,0.030610522077929875 +5538,2019-08-19 17:00:00+00:00,0.054264107188180546 +5539,2019-08-19 18:00:00+00:00,0.054959800820518205 +5540,2019-08-19 19:00:00+00:00,0.04869855780732421 +5541,2019-08-19 20:00:00+00:00,0.04035023357496605 +5542,2019-08-19 21:00:00+00:00,0.028523441019840015 +5543,2019-08-19 22:00:00+00:00,0.01391387361321366 +5544,2019-08-19 23:00:00+00:00,0.004869855748517227 +5545,2019-08-20 00:00:00+00:00,0.002782774690427579 +5546,2019-08-20 01:00:00+00:00,0.0006956936323380683 +5547,2019-08-20 02:00:00+00:00,0.0006956936323380683 +5548,2019-08-20 03:00:00+00:00,0.0013913874257514877 +5549,2019-08-20 04:00:00+00:00,0.004869855748517227 +5550,2019-08-20 05:00:00+00:00,0.03895884614921248 +5551,2019-08-20 06:00:00+00:00,0.06469951247862417 +5552,2019-08-20 07:00:00+00:00,0.050089945071998196 +5553,2019-08-20 08:00:00+00:00,0.05913396293669591 +5554,2019-08-20 09:00:00+00:00,0.04243731463305358 +5555,2019-08-20 10:00:00+00:00,0.03687176509112421 +5556,2019-08-20 11:00:00+00:00,0.031306215710268946 +5557,2019-08-20 12:00:00+00:00,0.025044972535999098 +5558,2019-08-20 13:00:00+00:00,0.021566504213233282 +5559,2019-08-20 14:00:00+00:00,0.016696648303641363 +5560,2019-08-20 15:00:00+00:00,0.018783729361731363 +5561,2019-08-20 16:00:00+00:00,0.030610522077929875 +5562,2019-08-20 17:00:00+00:00,0.054264107188180546 +5563,2019-08-20 18:00:00+00:00,0.054959800820518205 +5564,2019-08-20 19:00:00+00:00,0.04869855780732421 +5565,2019-08-20 20:00:00+00:00,0.04035023357496605 +5566,2019-08-20 21:00:00+00:00,0.028523441019840015 +5567,2019-08-20 22:00:00+00:00,0.01391387361321366 +5568,2019-08-20 23:00:00+00:00,0.004869855748517227 +5569,2019-08-21 00:00:00+00:00,0.002782774690427579 +5570,2019-08-21 01:00:00+00:00,0.0006956936323380683 +5571,2019-08-21 02:00:00+00:00,0.0006956936323380683 +5572,2019-08-21 03:00:00+00:00,0.0013913874257514877 +5573,2019-08-21 04:00:00+00:00,0.004869855748517227 +5574,2019-08-21 05:00:00+00:00,0.03895884614921248 +5575,2019-08-21 06:00:00+00:00,0.06469951247862417 +5576,2019-08-21 07:00:00+00:00,0.050089945071998196 +5577,2019-08-21 08:00:00+00:00,0.05913396293669591 +5578,2019-08-21 09:00:00+00:00,0.04243731463305358 +5579,2019-08-21 10:00:00+00:00,0.03687176509112421 +5580,2019-08-21 11:00:00+00:00,0.031306215710268946 +5581,2019-08-21 12:00:00+00:00,0.025044972535999098 +5582,2019-08-21 13:00:00+00:00,0.021566504213233282 +5583,2019-08-21 14:00:00+00:00,0.016696648303641363 +5584,2019-08-21 15:00:00+00:00,0.018783729361731363 +5585,2019-08-21 16:00:00+00:00,0.030610522077929875 +5586,2019-08-21 17:00:00+00:00,0.054264107188180546 +5587,2019-08-21 18:00:00+00:00,0.054959800820518205 +5588,2019-08-21 19:00:00+00:00,0.04869855780732421 +5589,2019-08-21 20:00:00+00:00,0.04035023357496605 +5590,2019-08-21 21:00:00+00:00,0.028523441019840015 +5591,2019-08-21 22:00:00+00:00,0.01391387361321366 +5592,2019-08-21 23:00:00+00:00,0.004869855748517227 +5593,2019-08-22 00:00:00+00:00,0.002782774690427579 +5594,2019-08-22 01:00:00+00:00,0.0006956936323380683 +5595,2019-08-22 02:00:00+00:00,0.0006956936323380683 +5596,2019-08-22 03:00:00+00:00,0.0013913874257514877 +5597,2019-08-22 04:00:00+00:00,0.004869855748517227 +5598,2019-08-22 05:00:00+00:00,0.03895884614921248 +5599,2019-08-22 06:00:00+00:00,0.06469951247862417 +5600,2019-08-22 07:00:00+00:00,0.050089945071998196 +5601,2019-08-22 08:00:00+00:00,0.05913396293669591 +5602,2019-08-22 09:00:00+00:00,0.04243731463305358 +5603,2019-08-22 10:00:00+00:00,0.03687176509112421 +5604,2019-08-22 11:00:00+00:00,0.031306215710268946 +5605,2019-08-22 12:00:00+00:00,0.025044972535999098 +5606,2019-08-22 13:00:00+00:00,0.021566504213233282 +5607,2019-08-22 14:00:00+00:00,0.016696648303641363 +5608,2019-08-22 15:00:00+00:00,0.018783729361731363 +5609,2019-08-22 16:00:00+00:00,0.030610522077929875 +5610,2019-08-22 17:00:00+00:00,0.054264107188180546 +5611,2019-08-22 18:00:00+00:00,0.054959800820518205 +5612,2019-08-22 19:00:00+00:00,0.04869855780732421 +5613,2019-08-22 20:00:00+00:00,0.04035023357496605 +5614,2019-08-22 21:00:00+00:00,0.028523441019840015 +5615,2019-08-22 22:00:00+00:00,0.01391387361321366 +5616,2019-08-22 23:00:00+00:00,0.004869855748517227 +5617,2019-08-23 00:00:00+00:00,0.002782774690427579 +5618,2019-08-23 01:00:00+00:00,0.0006956936323380683 +5619,2019-08-23 02:00:00+00:00,0.0006956936323380683 +5620,2019-08-23 03:00:00+00:00,0.0013913874257514877 +5621,2019-08-23 04:00:00+00:00,0.004869855748517227 +5622,2019-08-23 05:00:00+00:00,0.03895884614921248 +5623,2019-08-23 06:00:00+00:00,0.06469951247862417 +5624,2019-08-23 07:00:00+00:00,0.050089945071998196 +5625,2019-08-23 08:00:00+00:00,0.05913396293669591 +5626,2019-08-23 09:00:00+00:00,0.04243731463305358 +5627,2019-08-23 10:00:00+00:00,0.03687176509112421 +5628,2019-08-23 11:00:00+00:00,0.031306215710268946 +5629,2019-08-23 12:00:00+00:00,0.025044972535999098 +5630,2019-08-23 13:00:00+00:00,0.021566504213233282 +5631,2019-08-23 14:00:00+00:00,0.016696648303641363 +5632,2019-08-23 15:00:00+00:00,0.018783729361731363 +5633,2019-08-23 16:00:00+00:00,0.030610522077929875 +5634,2019-08-23 17:00:00+00:00,0.054264107188180546 +5635,2019-08-23 18:00:00+00:00,0.054959800820518205 +5636,2019-08-23 19:00:00+00:00,0.04869855780732421 +5637,2019-08-23 20:00:00+00:00,0.04035023357496605 +5638,2019-08-23 21:00:00+00:00,0.028523441019840015 +5639,2019-08-23 22:00:00+00:00,0.01391387361321366 +5640,2019-08-23 23:00:00+00:00,0.004869855748517227 +5641,2019-08-24 00:00:00+00:00,0.002782774690427579 +5642,2019-08-24 01:00:00+00:00,0.0006956936323380683 +5643,2019-08-24 02:00:00+00:00,0.0006956936323380683 +5644,2019-08-24 03:00:00+00:00,0.0013913874257514877 +5645,2019-08-24 04:00:00+00:00,0.004869855748517227 +5646,2019-08-24 05:00:00+00:00,0.03895884614921248 +5647,2019-08-24 06:00:00+00:00,0.06469951247862417 +5648,2019-08-24 07:00:00+00:00,0.050089945071998196 +5649,2019-08-24 08:00:00+00:00,0.05913396293669591 +5650,2019-08-24 09:00:00+00:00,0.04243731463305358 +5651,2019-08-24 10:00:00+00:00,0.03687176509112421 +5652,2019-08-24 11:00:00+00:00,0.031306215710268946 +5653,2019-08-24 12:00:00+00:00,0.025044972535999098 +5654,2019-08-24 13:00:00+00:00,0.021566504213233282 +5655,2019-08-24 14:00:00+00:00,0.016696648303641363 +5656,2019-08-24 15:00:00+00:00,0.018783729361731363 +5657,2019-08-24 16:00:00+00:00,0.030610522077929875 +5658,2019-08-24 17:00:00+00:00,0.054264107188180546 +5659,2019-08-24 18:00:00+00:00,0.054959800820518205 +5660,2019-08-24 19:00:00+00:00,0.04869855780732421 +5661,2019-08-24 20:00:00+00:00,0.04035023357496605 +5662,2019-08-24 21:00:00+00:00,0.028523441019840015 +5663,2019-08-24 22:00:00+00:00,0.01391387361321366 +5664,2019-08-24 23:00:00+00:00,0.004869855748517227 +5665,2019-08-25 00:00:00+00:00,0.002782774690427579 +5666,2019-08-25 01:00:00+00:00,0.0006956936323380683 +5667,2019-08-25 02:00:00+00:00,0.0006956936323380683 +5668,2019-08-25 03:00:00+00:00,0.0013913874257514877 +5669,2019-08-25 04:00:00+00:00,0.004869855748517227 +5670,2019-08-25 05:00:00+00:00,0.03895884614921248 +5671,2019-08-25 06:00:00+00:00,0.06469951247862417 +5672,2019-08-25 07:00:00+00:00,0.050089945071998196 +5673,2019-08-25 08:00:00+00:00,0.05913396293669591 +5674,2019-08-25 09:00:00+00:00,0.04243731463305358 +5675,2019-08-25 10:00:00+00:00,0.03687176509112421 +5676,2019-08-25 11:00:00+00:00,0.031306215710268946 +5677,2019-08-25 12:00:00+00:00,0.025044972535999098 +5678,2019-08-25 13:00:00+00:00,0.021566504213233282 +5679,2019-08-25 14:00:00+00:00,0.016696648303641363 +5680,2019-08-25 15:00:00+00:00,0.018783729361731363 +5681,2019-08-25 16:00:00+00:00,0.030610522077929875 +5682,2019-08-25 17:00:00+00:00,0.054264107188180546 +5683,2019-08-25 18:00:00+00:00,0.054959800820518205 +5684,2019-08-25 19:00:00+00:00,0.04869855780732421 +5685,2019-08-25 20:00:00+00:00,0.04035023357496605 +5686,2019-08-25 21:00:00+00:00,0.028523441019840015 +5687,2019-08-25 22:00:00+00:00,0.01391387361321366 +5688,2019-08-25 23:00:00+00:00,0.004869855748517227 +5689,2019-08-26 00:00:00+00:00,0.002782774690427579 +5690,2019-08-26 01:00:00+00:00,0.0006956936323380683 +5691,2019-08-26 02:00:00+00:00,0.0006956936323380683 +5692,2019-08-26 03:00:00+00:00,0.0013913874257514877 +5693,2019-08-26 04:00:00+00:00,0.004869855748517227 +5694,2019-08-26 05:00:00+00:00,0.03895884614921248 +5695,2019-08-26 06:00:00+00:00,0.06469951247862417 +5696,2019-08-26 07:00:00+00:00,0.050089945071998196 +5697,2019-08-26 08:00:00+00:00,0.05913396293669591 +5698,2019-08-26 09:00:00+00:00,0.04243731463305358 +5699,2019-08-26 10:00:00+00:00,0.03687176509112421 +5700,2019-08-26 11:00:00+00:00,0.031306215710268946 +5701,2019-08-26 12:00:00+00:00,0.025044972535999098 +5702,2019-08-26 13:00:00+00:00,0.021566504213233282 +5703,2019-08-26 14:00:00+00:00,0.016696648303641363 +5704,2019-08-26 15:00:00+00:00,0.018783729361731363 +5705,2019-08-26 16:00:00+00:00,0.030610522077929875 +5706,2019-08-26 17:00:00+00:00,0.054264107188180546 +5707,2019-08-26 18:00:00+00:00,0.054959800820518205 +5708,2019-08-26 19:00:00+00:00,0.04869855780732421 +5709,2019-08-26 20:00:00+00:00,0.04035023357496605 +5710,2019-08-26 21:00:00+00:00,0.028523441019840015 +5711,2019-08-26 22:00:00+00:00,0.01391387361321366 +5712,2019-08-26 23:00:00+00:00,0.004869855748517227 +5713,2019-08-27 00:00:00+00:00,0.002782774690427579 +5714,2019-08-27 01:00:00+00:00,0.0006956936323380683 +5715,2019-08-27 02:00:00+00:00,0.0006956936323380683 +5716,2019-08-27 03:00:00+00:00,0.0013913874257514877 +5717,2019-08-27 04:00:00+00:00,0.004869855748517227 +5718,2019-08-27 05:00:00+00:00,0.03895884614921248 +5719,2019-08-27 06:00:00+00:00,0.06469951247862417 +5720,2019-08-27 07:00:00+00:00,0.050089945071998196 +5721,2019-08-27 08:00:00+00:00,0.05913396293669591 +5722,2019-08-27 09:00:00+00:00,0.04243731463305358 +5723,2019-08-27 10:00:00+00:00,0.03687176509112421 +5724,2019-08-27 11:00:00+00:00,0.031306215710268946 +5725,2019-08-27 12:00:00+00:00,0.025044972535999098 +5726,2019-08-27 13:00:00+00:00,0.021566504213233282 +5727,2019-08-27 14:00:00+00:00,0.016696648303641363 +5728,2019-08-27 15:00:00+00:00,0.018783729361731363 +5729,2019-08-27 16:00:00+00:00,0.030610522077929875 +5730,2019-08-27 17:00:00+00:00,0.054264107188180546 +5731,2019-08-27 18:00:00+00:00,0.054959800820518205 +5732,2019-08-27 19:00:00+00:00,0.04869855780732421 +5733,2019-08-27 20:00:00+00:00,0.04035023357496605 +5734,2019-08-27 21:00:00+00:00,0.028523441019840015 +5735,2019-08-27 22:00:00+00:00,0.01391387361321366 +5736,2019-08-27 23:00:00+00:00,0.004869855748517227 +5737,2019-08-28 00:00:00+00:00,0.002782774690427579 +5738,2019-08-28 01:00:00+00:00,0.0006956936323380683 +5739,2019-08-28 02:00:00+00:00,0.0006956936323380683 +5740,2019-08-28 03:00:00+00:00,0.0013913874257514877 +5741,2019-08-28 04:00:00+00:00,0.004869855748517227 +5742,2019-08-28 05:00:00+00:00,0.03895884614921248 +5743,2019-08-28 06:00:00+00:00,0.06469951247862417 +5744,2019-08-28 07:00:00+00:00,0.050089945071998196 +5745,2019-08-28 08:00:00+00:00,0.05913396293669591 +5746,2019-08-28 09:00:00+00:00,0.04243731463305358 +5747,2019-08-28 10:00:00+00:00,0.03687176509112421 +5748,2019-08-28 11:00:00+00:00,0.031306215710268946 +5749,2019-08-28 12:00:00+00:00,0.025044972535999098 +5750,2019-08-28 13:00:00+00:00,0.021566504213233282 +5751,2019-08-28 14:00:00+00:00,0.016696648303641363 +5752,2019-08-28 15:00:00+00:00,0.018783729361731363 +5753,2019-08-28 16:00:00+00:00,0.030610522077929875 +5754,2019-08-28 17:00:00+00:00,0.054264107188180546 +5755,2019-08-28 18:00:00+00:00,0.054959800820518205 +5756,2019-08-28 19:00:00+00:00,0.04869855780732421 +5757,2019-08-28 20:00:00+00:00,0.04035023357496605 +5758,2019-08-28 21:00:00+00:00,0.028523441019840015 +5759,2019-08-28 22:00:00+00:00,0.01391387361321366 +5760,2019-08-28 23:00:00+00:00,0.004869855748517227 +5761,2019-08-29 00:00:00+00:00,0.002782774690427579 +5762,2019-08-29 01:00:00+00:00,0.0006956936323380683 +5763,2019-08-29 02:00:00+00:00,0.0006956936323380683 +5764,2019-08-29 03:00:00+00:00,0.0013913874257514877 +5765,2019-08-29 04:00:00+00:00,0.004869855748517227 +5766,2019-08-29 05:00:00+00:00,0.03895884614921248 +5767,2019-08-29 06:00:00+00:00,0.06469951247862417 +5768,2019-08-29 07:00:00+00:00,0.050089945071998196 +5769,2019-08-29 08:00:00+00:00,0.05913396293669591 +5770,2019-08-29 09:00:00+00:00,0.04243731463305358 +5771,2019-08-29 10:00:00+00:00,0.03687176509112421 +5772,2019-08-29 11:00:00+00:00,0.031306215710268946 +5773,2019-08-29 12:00:00+00:00,0.025044972535999098 +5774,2019-08-29 13:00:00+00:00,0.021566504213233282 +5775,2019-08-29 14:00:00+00:00,0.016696648303641363 +5776,2019-08-29 15:00:00+00:00,0.018783729361731363 +5777,2019-08-29 16:00:00+00:00,0.030610522077929875 +5778,2019-08-29 17:00:00+00:00,0.054264107188180546 +5779,2019-08-29 18:00:00+00:00,0.054959800820518205 +5780,2019-08-29 19:00:00+00:00,0.04869855780732421 +5781,2019-08-29 20:00:00+00:00,0.04035023357496605 +5782,2019-08-29 21:00:00+00:00,0.028523441019840015 +5783,2019-08-29 22:00:00+00:00,0.01391387361321366 +5784,2019-08-29 23:00:00+00:00,0.004869855748517227 +5785,2019-08-30 00:00:00+00:00,0.002782774690427579 +5786,2019-08-30 01:00:00+00:00,0.0006956936323380683 +5787,2019-08-30 02:00:00+00:00,0.0006956936323380683 +5788,2019-08-30 03:00:00+00:00,0.0013913874257514877 +5789,2019-08-30 04:00:00+00:00,0.004869855748517227 +5790,2019-08-30 05:00:00+00:00,0.03895884614921248 +5791,2019-08-30 06:00:00+00:00,0.06469951247862417 +5792,2019-08-30 07:00:00+00:00,0.050089945071998196 +5793,2019-08-30 08:00:00+00:00,0.05913396293669591 +5794,2019-08-30 09:00:00+00:00,0.04243731463305358 +5795,2019-08-30 10:00:00+00:00,0.03687176509112421 +5796,2019-08-30 11:00:00+00:00,0.031306215710268946 +5797,2019-08-30 12:00:00+00:00,0.025044972535999098 +5798,2019-08-30 13:00:00+00:00,0.021566504213233282 +5799,2019-08-30 14:00:00+00:00,0.016696648303641363 +5800,2019-08-30 15:00:00+00:00,0.018783729361731363 +5801,2019-08-30 16:00:00+00:00,0.030610522077929875 +5802,2019-08-30 17:00:00+00:00,0.054264107188180546 +5803,2019-08-30 18:00:00+00:00,0.054959800820518205 +5804,2019-08-30 19:00:00+00:00,0.04869855780732421 +5805,2019-08-30 20:00:00+00:00,0.04035023357496605 +5806,2019-08-30 21:00:00+00:00,0.028523441019840015 +5807,2019-08-30 22:00:00+00:00,0.01391387361321366 +5808,2019-08-30 23:00:00+00:00,0.004869855748517227 +5809,2019-08-31 00:00:00+00:00,0.002782774690427579 +5810,2019-08-31 01:00:00+00:00,0.0006956936323380683 +5811,2019-08-31 02:00:00+00:00,0.0006956936323380683 +5812,2019-08-31 03:00:00+00:00,0.0013913874257514877 +5813,2019-08-31 04:00:00+00:00,0.004869855748517227 +5814,2019-08-31 05:00:00+00:00,0.03895884614921248 +5815,2019-08-31 06:00:00+00:00,0.06469951247862417 +5816,2019-08-31 07:00:00+00:00,0.050089945071998196 +5817,2019-08-31 08:00:00+00:00,0.05913396293669591 +5818,2019-08-31 09:00:00+00:00,0.04243731463305358 +5819,2019-08-31 10:00:00+00:00,0.03687176509112421 +5820,2019-08-31 11:00:00+00:00,0.031306215710268946 +5821,2019-08-31 12:00:00+00:00,0.025044972535999098 +5822,2019-08-31 13:00:00+00:00,0.021566504213233282 +5823,2019-08-31 14:00:00+00:00,0.016696648303641363 +5824,2019-08-31 15:00:00+00:00,0.018783729361731363 +5825,2019-08-31 16:00:00+00:00,0.030610522077929875 +5826,2019-08-31 17:00:00+00:00,0.054264107188180546 +5827,2019-08-31 18:00:00+00:00,0.054959800820518205 +5828,2019-08-31 19:00:00+00:00,0.04869855780732421 +5829,2019-08-31 20:00:00+00:00,0.04035023357496605 +5830,2019-08-31 21:00:00+00:00,0.028523441019840015 +5831,2019-08-31 22:00:00+00:00,0.01391387361321366 +5832,2019-08-31 23:00:00+00:00,0.004869855748517227 +5833,2019-09-01 00:00:00+00:00,0.002782774690427579 +5834,2019-09-01 01:00:00+00:00,0.0006956936323380683 +5835,2019-09-01 02:00:00+00:00,0.0006956936323380683 +5836,2019-09-01 03:00:00+00:00,0.0013913874257514877 +5837,2019-09-01 04:00:00+00:00,0.004869855748517227 +5838,2019-09-01 05:00:00+00:00,0.03895884614921248 +5839,2019-09-01 06:00:00+00:00,0.06469951247862417 +5840,2019-09-01 07:00:00+00:00,0.050089945071998196 +5841,2019-09-01 08:00:00+00:00,0.05913396293669591 +5842,2019-09-01 09:00:00+00:00,0.04243731463305358 +5843,2019-09-01 10:00:00+00:00,0.03687176509112421 +5844,2019-09-01 11:00:00+00:00,0.031306215710268946 +5845,2019-09-01 12:00:00+00:00,0.025044972535999098 +5846,2019-09-01 13:00:00+00:00,0.021566504213233282 +5847,2019-09-01 14:00:00+00:00,0.016696648303641363 +5848,2019-09-01 15:00:00+00:00,0.018783729361731363 +5849,2019-09-01 16:00:00+00:00,0.030610522077929875 +5850,2019-09-01 17:00:00+00:00,0.054264107188180546 +5851,2019-09-01 18:00:00+00:00,0.054959800820518205 +5852,2019-09-01 19:00:00+00:00,0.04869855780732421 +5853,2019-09-01 20:00:00+00:00,0.04035023357496605 +5854,2019-09-01 21:00:00+00:00,0.028523441019840015 +5855,2019-09-01 22:00:00+00:00,0.01391387361321366 +5856,2019-09-01 23:00:00+00:00,0.004869855748517227 +5857,2019-09-02 00:00:00+00:00,0.002782774690427579 +5858,2019-09-02 01:00:00+00:00,0.0006956936323380683 +5859,2019-09-02 02:00:00+00:00,0.0006956936323380683 +5860,2019-09-02 03:00:00+00:00,0.0013913874257514877 +5861,2019-09-02 04:00:00+00:00,0.004869855748517227 +5862,2019-09-02 05:00:00+00:00,0.03895884614921248 +5863,2019-09-02 06:00:00+00:00,0.06469951247862417 +5864,2019-09-02 07:00:00+00:00,0.050089945071998196 +5865,2019-09-02 08:00:00+00:00,0.05913396293669591 +5866,2019-09-02 09:00:00+00:00,0.04243731463305358 +5867,2019-09-02 10:00:00+00:00,0.03687176509112421 +5868,2019-09-02 11:00:00+00:00,0.031306215710268946 +5869,2019-09-02 12:00:00+00:00,0.025044972535999098 +5870,2019-09-02 13:00:00+00:00,0.021566504213233282 +5871,2019-09-02 14:00:00+00:00,0.016696648303641363 +5872,2019-09-02 15:00:00+00:00,0.018783729361731363 +5873,2019-09-02 16:00:00+00:00,0.030610522077929875 +5874,2019-09-02 17:00:00+00:00,0.054264107188180546 +5875,2019-09-02 18:00:00+00:00,0.054959800820518205 +5876,2019-09-02 19:00:00+00:00,0.04869855780732421 +5877,2019-09-02 20:00:00+00:00,0.04035023357496605 +5878,2019-09-02 21:00:00+00:00,0.028523441019840015 +5879,2019-09-02 22:00:00+00:00,0.01391387361321366 +5880,2019-09-02 23:00:00+00:00,0.004869855748517227 +5881,2019-09-03 00:00:00+00:00,0.002782774690427579 +5882,2019-09-03 01:00:00+00:00,0.0006956936323380683 +5883,2019-09-03 02:00:00+00:00,0.0006956936323380683 +5884,2019-09-03 03:00:00+00:00,0.0013913874257514877 +5885,2019-09-03 04:00:00+00:00,0.004869855748517227 +5886,2019-09-03 05:00:00+00:00,0.03895884614921248 +5887,2019-09-03 06:00:00+00:00,0.06469951247862417 +5888,2019-09-03 07:00:00+00:00,0.050089945071998196 +5889,2019-09-03 08:00:00+00:00,0.05913396293669591 +5890,2019-09-03 09:00:00+00:00,0.04243731463305358 +5891,2019-09-03 10:00:00+00:00,0.03687176509112421 +5892,2019-09-03 11:00:00+00:00,0.031306215710268946 +5893,2019-09-03 12:00:00+00:00,0.025044972535999098 +5894,2019-09-03 13:00:00+00:00,0.021566504213233282 +5895,2019-09-03 14:00:00+00:00,0.016696648303641363 +5896,2019-09-03 15:00:00+00:00,0.018783729361731363 +5897,2019-09-03 16:00:00+00:00,0.030610522077929875 +5898,2019-09-03 17:00:00+00:00,0.054264107188180546 +5899,2019-09-03 18:00:00+00:00,0.054959800820518205 +5900,2019-09-03 19:00:00+00:00,0.04869855780732421 +5901,2019-09-03 20:00:00+00:00,0.04035023357496605 +5902,2019-09-03 21:00:00+00:00,0.028523441019840015 +5903,2019-09-03 22:00:00+00:00,0.01391387361321366 +5904,2019-09-03 23:00:00+00:00,0.004869855748517227 +5905,2019-09-04 00:00:00+00:00,0.002782774690427579 +5906,2019-09-04 01:00:00+00:00,0.0006956936323380683 +5907,2019-09-04 02:00:00+00:00,0.0006956936323380683 +5908,2019-09-04 03:00:00+00:00,0.0013913874257514877 +5909,2019-09-04 04:00:00+00:00,0.004869855748517227 +5910,2019-09-04 05:00:00+00:00,0.03895884614921248 +5911,2019-09-04 06:00:00+00:00,0.06469951247862417 +5912,2019-09-04 07:00:00+00:00,0.050089945071998196 +5913,2019-09-04 08:00:00+00:00,0.05913396293669591 +5914,2019-09-04 09:00:00+00:00,0.04243731463305358 +5915,2019-09-04 10:00:00+00:00,0.03687176509112421 +5916,2019-09-04 11:00:00+00:00,0.031306215710268946 +5917,2019-09-04 12:00:00+00:00,0.025044972535999098 +5918,2019-09-04 13:00:00+00:00,0.021566504213233282 +5919,2019-09-04 14:00:00+00:00,0.016696648303641363 +5920,2019-09-04 15:00:00+00:00,0.018783729361731363 +5921,2019-09-04 16:00:00+00:00,0.030610522077929875 +5922,2019-09-04 17:00:00+00:00,0.054264107188180546 +5923,2019-09-04 18:00:00+00:00,0.054959800820518205 +5924,2019-09-04 19:00:00+00:00,0.04869855780732421 +5925,2019-09-04 20:00:00+00:00,0.04035023357496605 +5926,2019-09-04 21:00:00+00:00,0.028523441019840015 +5927,2019-09-04 22:00:00+00:00,0.01391387361321366 +5928,2019-09-04 23:00:00+00:00,0.004869855748517227 +5929,2019-09-05 00:00:00+00:00,0.002782774690427579 +5930,2019-09-05 01:00:00+00:00,0.0006956936323380683 +5931,2019-09-05 02:00:00+00:00,0.0006956936323380683 +5932,2019-09-05 03:00:00+00:00,0.0013913874257514877 +5933,2019-09-05 04:00:00+00:00,0.004869855748517227 +5934,2019-09-05 05:00:00+00:00,0.03895884614921248 +5935,2019-09-05 06:00:00+00:00,0.06469951247862417 +5936,2019-09-05 07:00:00+00:00,0.050089945071998196 +5937,2019-09-05 08:00:00+00:00,0.05913396293669591 +5938,2019-09-05 09:00:00+00:00,0.04243731463305358 +5939,2019-09-05 10:00:00+00:00,0.03687176509112421 +5940,2019-09-05 11:00:00+00:00,0.031306215710268946 +5941,2019-09-05 12:00:00+00:00,0.025044972535999098 +5942,2019-09-05 13:00:00+00:00,0.021566504213233282 +5943,2019-09-05 14:00:00+00:00,0.016696648303641363 +5944,2019-09-05 15:00:00+00:00,0.018783729361731363 +5945,2019-09-05 16:00:00+00:00,0.030610522077929875 +5946,2019-09-05 17:00:00+00:00,0.054264107188180546 +5947,2019-09-05 18:00:00+00:00,0.054959800820518205 +5948,2019-09-05 19:00:00+00:00,0.04869855780732421 +5949,2019-09-05 20:00:00+00:00,0.04035023357496605 +5950,2019-09-05 21:00:00+00:00,0.028523441019840015 +5951,2019-09-05 22:00:00+00:00,0.01391387361321366 +5952,2019-09-05 23:00:00+00:00,0.004869855748517227 +5953,2019-09-06 00:00:00+00:00,0.002782774690427579 +5954,2019-09-06 01:00:00+00:00,0.0006956936323380683 +5955,2019-09-06 02:00:00+00:00,0.0006956936323380683 +5956,2019-09-06 03:00:00+00:00,0.0013913874257514877 +5957,2019-09-06 04:00:00+00:00,0.004869855748517227 +5958,2019-09-06 05:00:00+00:00,0.03895884614921248 +5959,2019-09-06 06:00:00+00:00,0.06469951247862417 +5960,2019-09-06 07:00:00+00:00,0.050089945071998196 +5961,2019-09-06 08:00:00+00:00,0.05913396293669591 +5962,2019-09-06 09:00:00+00:00,0.04243731463305358 +5963,2019-09-06 10:00:00+00:00,0.03687176509112421 +5964,2019-09-06 11:00:00+00:00,0.031306215710268946 +5965,2019-09-06 12:00:00+00:00,0.025044972535999098 +5966,2019-09-06 13:00:00+00:00,0.021566504213233282 +5967,2019-09-06 14:00:00+00:00,0.016696648303641363 +5968,2019-09-06 15:00:00+00:00,0.018783729361731363 +5969,2019-09-06 16:00:00+00:00,0.030610522077929875 +5970,2019-09-06 17:00:00+00:00,0.054264107188180546 +5971,2019-09-06 18:00:00+00:00,0.054959800820518205 +5972,2019-09-06 19:00:00+00:00,0.04869855780732421 +5973,2019-09-06 20:00:00+00:00,0.04035023357496605 +5974,2019-09-06 21:00:00+00:00,0.028523441019840015 +5975,2019-09-06 22:00:00+00:00,0.01391387361321366 +5976,2019-09-06 23:00:00+00:00,0.004869855748517227 +5977,2019-09-07 00:00:00+00:00,0.002782774690427579 +5978,2019-09-07 01:00:00+00:00,0.0006956936323380683 +5979,2019-09-07 02:00:00+00:00,0.0006956936323380683 +5980,2019-09-07 03:00:00+00:00,0.0013913874257514877 +5981,2019-09-07 04:00:00+00:00,0.004869855748517227 +5982,2019-09-07 05:00:00+00:00,0.03895884614921248 +5983,2019-09-07 06:00:00+00:00,0.06469951247862417 +5984,2019-09-07 07:00:00+00:00,0.050089945071998196 +5985,2019-09-07 08:00:00+00:00,0.05913396293669591 +5986,2019-09-07 09:00:00+00:00,0.04243731463305358 +5987,2019-09-07 10:00:00+00:00,0.03687176509112421 +5988,2019-09-07 11:00:00+00:00,0.031306215710268946 +5989,2019-09-07 12:00:00+00:00,0.025044972535999098 +5990,2019-09-07 13:00:00+00:00,0.021566504213233282 +5991,2019-09-07 14:00:00+00:00,0.016696648303641363 +5992,2019-09-07 15:00:00+00:00,0.018783729361731363 +5993,2019-09-07 16:00:00+00:00,0.030610522077929875 +5994,2019-09-07 17:00:00+00:00,0.054264107188180546 +5995,2019-09-07 18:00:00+00:00,0.054959800820518205 +5996,2019-09-07 19:00:00+00:00,0.04869855780732421 +5997,2019-09-07 20:00:00+00:00,0.04035023357496605 +5998,2019-09-07 21:00:00+00:00,0.028523441019840015 +5999,2019-09-07 22:00:00+00:00,0.01391387361321366 +6000,2019-09-07 23:00:00+00:00,0.004869855748517227 +6001,2019-09-08 00:00:00+00:00,0.002782774690427579 +6002,2019-09-08 01:00:00+00:00,0.0006956936323380683 +6003,2019-09-08 02:00:00+00:00,0.0006956936323380683 +6004,2019-09-08 03:00:00+00:00,0.0013913874257514877 +6005,2019-09-08 04:00:00+00:00,0.004869855748517227 +6006,2019-09-08 05:00:00+00:00,0.03895884614921248 +6007,2019-09-08 06:00:00+00:00,0.06469951247862417 +6008,2019-09-08 07:00:00+00:00,0.050089945071998196 +6009,2019-09-08 08:00:00+00:00,0.05913396293669591 +6010,2019-09-08 09:00:00+00:00,0.04243731463305358 +6011,2019-09-08 10:00:00+00:00,0.03687176509112421 +6012,2019-09-08 11:00:00+00:00,0.031306215710268946 +6013,2019-09-08 12:00:00+00:00,0.025044972535999098 +6014,2019-09-08 13:00:00+00:00,0.021566504213233282 +6015,2019-09-08 14:00:00+00:00,0.016696648303641363 +6016,2019-09-08 15:00:00+00:00,0.018783729361731363 +6017,2019-09-08 16:00:00+00:00,0.030610522077929875 +6018,2019-09-08 17:00:00+00:00,0.054264107188180546 +6019,2019-09-08 18:00:00+00:00,0.054959800820518205 +6020,2019-09-08 19:00:00+00:00,0.04869855780732421 +6021,2019-09-08 20:00:00+00:00,0.04035023357496605 +6022,2019-09-08 21:00:00+00:00,0.028523441019840015 +6023,2019-09-08 22:00:00+00:00,0.01391387361321366 +6024,2019-09-08 23:00:00+00:00,0.004869855748517227 +6025,2019-09-09 00:00:00+00:00,0.002782774690427579 +6026,2019-09-09 01:00:00+00:00,0.0006956936323380683 +6027,2019-09-09 02:00:00+00:00,0.0006956936323380683 +6028,2019-09-09 03:00:00+00:00,0.0013913874257514877 +6029,2019-09-09 04:00:00+00:00,0.004869855748517227 +6030,2019-09-09 05:00:00+00:00,0.03895884614921248 +6031,2019-09-09 06:00:00+00:00,0.06469951247862417 +6032,2019-09-09 07:00:00+00:00,0.050089945071998196 +6033,2019-09-09 08:00:00+00:00,0.05913396293669591 +6034,2019-09-09 09:00:00+00:00,0.04243731463305358 +6035,2019-09-09 10:00:00+00:00,0.03687176509112421 +6036,2019-09-09 11:00:00+00:00,0.031306215710268946 +6037,2019-09-09 12:00:00+00:00,0.025044972535999098 +6038,2019-09-09 13:00:00+00:00,0.021566504213233282 +6039,2019-09-09 14:00:00+00:00,0.016696648303641363 +6040,2019-09-09 15:00:00+00:00,0.018783729361731363 +6041,2019-09-09 16:00:00+00:00,0.030610522077929875 +6042,2019-09-09 17:00:00+00:00,0.054264107188180546 +6043,2019-09-09 18:00:00+00:00,0.054959800820518205 +6044,2019-09-09 19:00:00+00:00,0.04869855780732421 +6045,2019-09-09 20:00:00+00:00,0.04035023357496605 +6046,2019-09-09 21:00:00+00:00,0.028523441019840015 +6047,2019-09-09 22:00:00+00:00,0.01391387361321366 +6048,2019-09-09 23:00:00+00:00,0.004869855748517227 +6049,2019-09-10 00:00:00+00:00,0.002782774690427579 +6050,2019-09-10 01:00:00+00:00,0.0006956936323380683 +6051,2019-09-10 02:00:00+00:00,0.0006956936323380683 +6052,2019-09-10 03:00:00+00:00,0.0013913874257514877 +6053,2019-09-10 04:00:00+00:00,0.004869855748517227 +6054,2019-09-10 05:00:00+00:00,0.03895884614921248 +6055,2019-09-10 06:00:00+00:00,0.06469951247862417 +6056,2019-09-10 07:00:00+00:00,0.050089945071998196 +6057,2019-09-10 08:00:00+00:00,0.05913396293669591 +6058,2019-09-10 09:00:00+00:00,0.04243731463305358 +6059,2019-09-10 10:00:00+00:00,0.03687176509112421 +6060,2019-09-10 11:00:00+00:00,0.031306215710268946 +6061,2019-09-10 12:00:00+00:00,0.025044972535999098 +6062,2019-09-10 13:00:00+00:00,0.021566504213233282 +6063,2019-09-10 14:00:00+00:00,0.016696648303641363 +6064,2019-09-10 15:00:00+00:00,0.018783729361731363 +6065,2019-09-10 16:00:00+00:00,0.030610522077929875 +6066,2019-09-10 17:00:00+00:00,0.054264107188180546 +6067,2019-09-10 18:00:00+00:00,0.054959800820518205 +6068,2019-09-10 19:00:00+00:00,0.04869855780732421 +6069,2019-09-10 20:00:00+00:00,0.04035023357496605 +6070,2019-09-10 21:00:00+00:00,0.028523441019840015 +6071,2019-09-10 22:00:00+00:00,0.01391387361321366 +6072,2019-09-10 23:00:00+00:00,0.004869855748517227 +6073,2019-09-11 00:00:00+00:00,0.002782774690427579 +6074,2019-09-11 01:00:00+00:00,0.0006956936323380683 +6075,2019-09-11 02:00:00+00:00,0.0006956936323380683 +6076,2019-09-11 03:00:00+00:00,0.0013913874257514877 +6077,2019-09-11 04:00:00+00:00,0.004869855748517227 +6078,2019-09-11 05:00:00+00:00,0.039090878354391324 +6079,2019-09-11 06:00:00+00:00,0.06469951247862417 +6080,2019-09-11 07:00:00+00:00,0.050089945071998196 +6081,2019-09-11 08:00:00+00:00,0.05913396293669591 +6082,2019-09-11 09:00:00+00:00,0.042751793677238734 +6083,2019-09-11 10:00:00+00:00,0.03687176509112421 +6084,2019-09-11 11:00:00+00:00,0.031306215710268946 +6085,2019-09-11 12:00:00+00:00,0.025133763141581875 +6086,2019-09-11 13:00:00+00:00,0.021566504213233282 +6087,2019-09-11 14:00:00+00:00,0.016696648303641363 +6088,2019-09-11 15:00:00+00:00,0.018783729361731363 +6089,2019-09-11 16:00:00+00:00,0.030610522077929875 +6090,2019-09-11 17:00:00+00:00,0.054264107188180546 +6091,2019-09-11 18:00:00+00:00,0.054959800820518205 +6092,2019-09-11 19:00:00+00:00,0.04869855780732421 +6093,2019-09-11 20:00:00+00:00,0.04035023357496605 +6094,2019-09-11 21:00:00+00:00,0.028523441019840015 +6095,2019-09-11 22:00:00+00:00,0.01391387361321366 +6096,2019-09-11 23:00:00+00:00,0.004869855748517227 +6097,2019-09-12 00:00:00+00:00,0.002782774690427579 +6098,2019-09-12 01:00:00+00:00,0.0006956936323380683 +6099,2019-09-12 02:00:00+00:00,0.0006956936323380683 +6100,2019-09-12 03:00:00+00:00,0.0013913874257514877 +6101,2019-09-12 04:00:00+00:00,0.004869855748517227 +6102,2019-09-12 05:00:00+00:00,0.03895884614921248 +6103,2019-09-12 06:00:00+00:00,0.06469951247862417 +6104,2019-09-12 07:00:00+00:00,0.050089945071998196 +6105,2019-09-12 08:00:00+00:00,0.05913396293669591 +6106,2019-09-12 09:00:00+00:00,0.04243731463305358 +6107,2019-09-12 10:00:00+00:00,0.03687176509112421 +6108,2019-09-12 11:00:00+00:00,0.031306215710268946 +6109,2019-09-12 12:00:00+00:00,0.025044972535999098 +6110,2019-09-12 13:00:00+00:00,0.021566504213233282 +6111,2019-09-12 14:00:00+00:00,0.016696648303641363 +6112,2019-09-12 15:00:00+00:00,0.018783729361731363 +6113,2019-09-12 16:00:00+00:00,0.030610522077929875 +6114,2019-09-12 17:00:00+00:00,0.054264107188180546 +6115,2019-09-12 18:00:00+00:00,0.054959800820518205 +6116,2019-09-12 19:00:00+00:00,0.04869855780732421 +6117,2019-09-12 20:00:00+00:00,0.04035023357496605 +6118,2019-09-12 21:00:00+00:00,0.028523441019840015 +6119,2019-09-12 22:00:00+00:00,0.01391387361321366 +6120,2019-09-12 23:00:00+00:00,0.004869855748517227 +6121,2019-09-13 00:00:00+00:00,0.002782774690427579 +6122,2019-09-13 01:00:00+00:00,0.0006956936323380683 +6123,2019-09-13 02:00:00+00:00,0.0006956936323380683 +6124,2019-09-13 03:00:00+00:00,0.0013913874257514877 +6125,2019-09-13 04:00:00+00:00,0.004869855748517227 +6126,2019-09-13 05:00:00+00:00,0.03895884614921248 +6127,2019-09-13 06:00:00+00:00,0.06469951247862417 +6128,2019-09-13 07:00:00+00:00,0.050089945071998196 +6129,2019-09-13 08:00:00+00:00,0.05913396293669591 +6130,2019-09-13 09:00:00+00:00,0.04243731463305358 +6131,2019-09-13 10:00:00+00:00,0.03687176509112421 +6132,2019-09-13 11:00:00+00:00,0.031306215710268946 +6133,2019-09-13 12:00:00+00:00,0.025044972535999098 +6134,2019-09-13 13:00:00+00:00,0.021566504213233282 +6135,2019-09-13 14:00:00+00:00,0.016696648303641363 +6136,2019-09-13 15:00:00+00:00,0.018783729361731363 +6137,2019-09-13 16:00:00+00:00,0.030610522077929875 +6138,2019-09-13 17:00:00+00:00,0.054264107188180546 +6139,2019-09-13 18:00:00+00:00,0.054959800820518205 +6140,2019-09-13 19:00:00+00:00,0.04869855780732421 +6141,2019-09-13 20:00:00+00:00,0.04035023357496605 +6142,2019-09-13 21:00:00+00:00,0.028523441019840015 +6143,2019-09-13 22:00:00+00:00,0.01391387361321366 +6144,2019-09-13 23:00:00+00:00,0.004869855748517227 +6145,2019-09-14 00:00:00+00:00,0.002782774690427579 +6146,2019-09-14 01:00:00+00:00,0.0006956936323380683 +6147,2019-09-14 02:00:00+00:00,0.0006956936323380683 +6148,2019-09-14 03:00:00+00:00,0.0013913874257514877 +6149,2019-09-14 04:00:00+00:00,0.004869855748517227 +6150,2019-09-14 05:00:00+00:00,0.03895884614921248 +6151,2019-09-14 06:00:00+00:00,0.06469951247862417 +6152,2019-09-14 07:00:00+00:00,0.050089945071998196 +6153,2019-09-14 08:00:00+00:00,0.05913396293669591 +6154,2019-09-14 09:00:00+00:00,0.04243731463305358 +6155,2019-09-14 10:00:00+00:00,0.03687176509112421 +6156,2019-09-14 11:00:00+00:00,0.031306215710268946 +6157,2019-09-14 12:00:00+00:00,0.025044972535999098 +6158,2019-09-14 13:00:00+00:00,0.021566504213233282 +6159,2019-09-14 14:00:00+00:00,0.016696648303641363 +6160,2019-09-14 15:00:00+00:00,0.018783729361731363 +6161,2019-09-14 16:00:00+00:00,0.030610522077929875 +6162,2019-09-14 17:00:00+00:00,0.054264107188180546 +6163,2019-09-14 18:00:00+00:00,0.054959800820518205 +6164,2019-09-14 19:00:00+00:00,0.04869855780732421 +6165,2019-09-14 20:00:00+00:00,0.04035023357496605 +6166,2019-09-14 21:00:00+00:00,0.028523441019840015 +6167,2019-09-14 22:00:00+00:00,0.01391387361321366 +6168,2019-09-14 23:00:00+00:00,0.004869855748517227 +6169,2019-09-15 00:00:00+00:00,0.002782774690427579 +6170,2019-09-15 01:00:00+00:00,0.0006956936323380683 +6171,2019-09-15 02:00:00+00:00,0.0006956936323380683 +6172,2019-09-15 03:00:00+00:00,0.0013913874257514877 +6173,2019-09-15 04:00:00+00:00,0.004869855748517227 +6174,2019-09-15 05:00:00+00:00,0.03895884614921248 +6175,2019-09-15 06:00:00+00:00,0.06469951247862417 +6176,2019-09-15 07:00:00+00:00,0.050089945071998196 +6177,2019-09-15 08:00:00+00:00,0.05913396293669591 +6178,2019-09-15 09:00:00+00:00,0.04243731463305358 +6179,2019-09-15 10:00:00+00:00,0.03687176509112421 +6180,2019-09-15 11:00:00+00:00,0.031306215710268946 +6181,2019-09-15 12:00:00+00:00,0.025044972535999098 +6182,2019-09-15 13:00:00+00:00,0.021566504213233282 +6183,2019-09-15 14:00:00+00:00,0.016696648303641363 +6184,2019-09-15 15:00:00+00:00,0.018783729361731363 +6185,2019-09-15 16:00:00+00:00,0.030610522077929875 +6186,2019-09-15 17:00:00+00:00,0.054264107188180546 +6187,2019-09-15 18:00:00+00:00,0.054959800820518205 +6188,2019-09-15 19:00:00+00:00,0.04869855780732421 +6189,2019-09-15 20:00:00+00:00,0.04035023357496605 +6190,2019-09-15 21:00:00+00:00,0.028523441019840015 +6191,2019-09-15 22:00:00+00:00,0.01391387361321366 +6192,2019-09-15 23:00:00+00:00,0.004869855748517227 +6193,2019-09-16 00:00:00+00:00,0.002782774690427579 +6194,2019-09-16 01:00:00+00:00,0.0006956936323380683 +6195,2019-09-16 02:00:00+00:00,0.0006956936323380683 +6196,2019-09-16 03:00:00+00:00,0.0013913874257514877 +6197,2019-09-16 04:00:00+00:00,0.004869855748517227 +6198,2019-09-16 05:00:00+00:00,0.03895884614921248 +6199,2019-09-16 06:00:00+00:00,0.06469951247862417 +6200,2019-09-16 07:00:00+00:00,0.050089945071998196 +6201,2019-09-16 08:00:00+00:00,0.05913396293669591 +6202,2019-09-16 09:00:00+00:00,0.04243731463305358 +6203,2019-09-16 10:00:00+00:00,0.03687176509112421 +6204,2019-09-16 11:00:00+00:00,0.031306215710268946 +6205,2019-09-16 12:00:00+00:00,0.025044972535999098 +6206,2019-09-16 13:00:00+00:00,0.021566504213233282 +6207,2019-09-16 14:00:00+00:00,0.016696648303641363 +6208,2019-09-16 15:00:00+00:00,0.018783729361731363 +6209,2019-09-16 16:00:00+00:00,0.030610522077929875 +6210,2019-09-16 17:00:00+00:00,0.054264107188180546 +6211,2019-09-16 18:00:00+00:00,0.054959800820518205 +6212,2019-09-16 19:00:00+00:00,0.04869855780732421 +6213,2019-09-16 20:00:00+00:00,0.04035023357496605 +6214,2019-09-16 21:00:00+00:00,0.028523441019840015 +6215,2019-09-16 22:00:00+00:00,0.01391387361321366 +6216,2019-09-16 23:00:00+00:00,0.004869855748517227 +6217,2019-09-17 00:00:00+00:00,0.002782774690427579 +6218,2019-09-17 01:00:00+00:00,0.0006956936323380683 +6219,2019-09-17 02:00:00+00:00,0.0006956936323380683 +6220,2019-09-17 03:00:00+00:00,0.0013913874257514877 +6221,2019-09-17 04:00:00+00:00,0.004869855748517227 +6222,2019-09-17 05:00:00+00:00,0.039055033768931435 +6223,2019-09-17 06:00:00+00:00,0.06469951247862417 +6224,2019-09-17 07:00:00+00:00,0.050089945071998196 +6225,2019-09-17 08:00:00+00:00,0.05913396293669591 +6226,2019-09-17 09:00:00+00:00,0.04278056095057344 +6227,2019-09-17 10:00:00+00:00,0.03687176509112421 +6228,2019-09-17 11:00:00+00:00,0.031306215710268946 +6229,2019-09-17 12:00:00+00:00,0.025044972535999098 +6230,2019-09-17 13:00:00+00:00,0.021566504213233282 +6231,2019-09-17 14:00:00+00:00,0.016696648303641363 +6232,2019-09-17 15:00:00+00:00,0.018783729361731363 +6233,2019-09-17 16:00:00+00:00,0.030610522077929875 +6234,2019-09-17 17:00:00+00:00,0.054264107188180546 +6235,2019-09-17 18:00:00+00:00,0.054959800820518205 +6236,2019-09-17 19:00:00+00:00,0.04869855780732421 +6237,2019-09-17 20:00:00+00:00,0.04035023357496605 +6238,2019-09-17 21:00:00+00:00,0.028523441019840015 +6239,2019-09-17 22:00:00+00:00,0.01391387361321366 +6240,2019-09-17 23:00:00+00:00,0.004869855748517227 +6241,2019-09-18 00:00:00+00:00,0.002782774690427579 +6242,2019-09-18 01:00:00+00:00,0.0006956936323380683 +6243,2019-09-18 02:00:00+00:00,0.0006956936323380683 +6244,2019-09-18 03:00:00+00:00,0.0013913874257514877 +6245,2019-09-18 04:00:00+00:00,0.004869855748517227 +6246,2019-09-18 05:00:00+00:00,0.0397566204081488 +6247,2019-09-18 06:00:00+00:00,0.06469951247862417 +6248,2019-09-18 07:00:00+00:00,0.050089945071998196 +6249,2019-09-18 08:00:00+00:00,0.05913396293669591 +6250,2019-09-18 09:00:00+00:00,0.0428410442670155 +6251,2019-09-18 10:00:00+00:00,0.03687176509112421 +6252,2019-09-18 11:00:00+00:00,0.031306215710268946 +6253,2019-09-18 12:00:00+00:00,0.025044972535999098 +6254,2019-09-18 13:00:00+00:00,0.021566504213233282 +6255,2019-09-18 14:00:00+00:00,0.016696648303641363 +6256,2019-09-18 15:00:00+00:00,0.018783729361731363 +6257,2019-09-18 16:00:00+00:00,0.030610522077929875 +6258,2019-09-18 17:00:00+00:00,0.054264107188180546 +6259,2019-09-18 18:00:00+00:00,0.05501359883456545 +6260,2019-09-18 19:00:00+00:00,0.04896905178904986 +6261,2019-09-18 20:00:00+00:00,0.04035023357496605 +6262,2019-09-18 21:00:00+00:00,0.0286408881967985 +6263,2019-09-18 22:00:00+00:00,0.01391387361321366 +6264,2019-09-18 23:00:00+00:00,0.004869855748517227 +6265,2019-09-19 00:00:00+00:00,0.002782774690427579 +6266,2019-09-19 01:00:00+00:00,0.0006956936323380683 +6267,2019-09-19 02:00:00+00:00,0.0006956936323380683 +6268,2019-09-19 03:00:00+00:00,0.0013913874257514877 +6269,2019-09-19 04:00:00+00:00,0.004869855748517227 +6270,2019-09-19 05:00:00+00:00,0.03987632501233687 +6271,2019-09-19 06:00:00+00:00,0.06546764567097155 +6272,2019-09-19 07:00:00+00:00,0.050089945071998196 +6273,2019-09-19 08:00:00+00:00,0.05950381790611283 +6274,2019-09-19 09:00:00+00:00,0.043786725592653106 +6275,2019-09-19 10:00:00+00:00,0.037320714932916464 +6276,2019-09-19 11:00:00+00:00,0.03161781769395531 +6277,2019-09-19 12:00:00+00:00,0.025653301110304602 +6278,2019-09-19 13:00:00+00:00,0.021566504213233282 +6279,2019-09-19 14:00:00+00:00,0.016696648303641363 +6280,2019-09-19 15:00:00+00:00,0.018783729361731363 +6281,2019-09-19 16:00:00+00:00,0.030610522077929875 +6282,2019-09-19 17:00:00+00:00,0.054264107188180546 +6283,2019-09-19 18:00:00+00:00,0.05523605868206523 +6284,2019-09-19 19:00:00+00:00,0.04908684946756142 +6285,2019-09-19 20:00:00+00:00,0.04082693052436625 +6286,2019-09-19 21:00:00+00:00,0.0287693023470859 +6287,2019-09-19 22:00:00+00:00,0.01391387361321366 +6288,2019-09-19 23:00:00+00:00,0.004869855748517227 +6289,2019-09-20 00:00:00+00:00,0.002782774690427579 +6290,2019-09-20 01:00:00+00:00,0.0006956936323380683 +6291,2019-09-20 02:00:00+00:00,0.0006956936323380683 +6292,2019-09-20 03:00:00+00:00,0.0013913874257514877 +6293,2019-09-20 04:00:00+00:00,0.004869855748517227 +6294,2019-09-20 05:00:00+00:00,0.04033931668671461 +6295,2019-09-20 06:00:00+00:00,0.06823923177622217 +6296,2019-09-20 07:00:00+00:00,0.0508124806011507 +6297,2019-09-20 08:00:00+00:00,0.06084689959875 +6298,2019-09-20 09:00:00+00:00,0.04395206408872085 +6299,2019-09-20 10:00:00+00:00,0.03758281814820802 +6300,2019-09-20 11:00:00+00:00,0.03184504257355845 +6301,2019-09-20 12:00:00+00:00,0.02606549099923575 +6302,2019-09-20 13:00:00+00:00,0.021566504213233282 +6303,2019-09-20 14:00:00+00:00,0.016696648303641363 +6304,2019-09-20 15:00:00+00:00,0.018783729361731363 +6305,2019-09-20 16:00:00+00:00,0.030610522077929875 +6306,2019-09-20 17:00:00+00:00,0.054264107188180546 +6307,2019-09-20 18:00:00+00:00,0.054959800820518205 +6308,2019-09-20 19:00:00+00:00,0.04889075855812949 +6309,2019-09-20 20:00:00+00:00,0.04041289955066695 +6310,2019-09-20 21:00:00+00:00,0.02875054398116893 +6311,2019-09-20 22:00:00+00:00,0.01391387361321366 +6312,2019-09-20 23:00:00+00:00,0.004869855748517227 +6313,2019-09-21 00:00:00+00:00,0.002782774690427579 +6314,2019-09-21 01:00:00+00:00,0.0006956936323380683 +6315,2019-09-21 02:00:00+00:00,0.0006956936323380683 +6316,2019-09-21 03:00:00+00:00,0.0013913874257514877 +6317,2019-09-21 04:00:00+00:00,0.004869855748517227 +6318,2019-09-21 05:00:00+00:00,0.04010058354060418 +6319,2019-09-21 06:00:00+00:00,0.06713174217150529 +6320,2019-09-21 07:00:00+00:00,0.050408584142039845 +6321,2019-09-21 08:00:00+00:00,0.05921726512844195 +6322,2019-09-21 09:00:00+00:00,0.04312694942168744 +6323,2019-09-21 10:00:00+00:00,0.03689355617640211 +6324,2019-09-21 11:00:00+00:00,0.031306215710268946 +6325,2019-09-21 12:00:00+00:00,0.025044972535999098 +6326,2019-09-21 13:00:00+00:00,0.021566504213233282 +6327,2019-09-21 14:00:00+00:00,0.016696648303641363 +6328,2019-09-21 15:00:00+00:00,0.018783729361731363 +6329,2019-09-21 16:00:00+00:00,0.030610522077929875 +6330,2019-09-21 17:00:00+00:00,0.054264107188180546 +6331,2019-09-21 18:00:00+00:00,0.054959800820518205 +6332,2019-09-21 19:00:00+00:00,0.04869855780732421 +6333,2019-09-21 20:00:00+00:00,0.04035023357496605 +6334,2019-09-21 21:00:00+00:00,0.028523441019840015 +6335,2019-09-21 22:00:00+00:00,0.01391387361321366 +6336,2019-09-21 23:00:00+00:00,0.004869855748517227 +6337,2019-09-22 00:00:00+00:00,0.002782774690427579 +6338,2019-09-22 01:00:00+00:00,0.0006956936323380683 +6339,2019-09-22 02:00:00+00:00,0.0006956936323380683 +6340,2019-09-22 03:00:00+00:00,0.0013913874257514877 +6341,2019-09-22 04:00:00+00:00,0.004869855748517227 +6342,2019-09-22 05:00:00+00:00,0.03903966206614946 +6343,2019-09-22 06:00:00+00:00,0.06477760996066971 +6344,2019-09-22 07:00:00+00:00,0.050089945071998196 +6345,2019-09-22 08:00:00+00:00,0.05913396293669591 +6346,2019-09-22 09:00:00+00:00,0.042896263778471305 +6347,2019-09-22 10:00:00+00:00,0.03687176509112421 +6348,2019-09-22 11:00:00+00:00,0.031306215710268946 +6349,2019-09-22 12:00:00+00:00,0.025044972535999098 +6350,2019-09-22 13:00:00+00:00,0.021566504213233282 +6351,2019-09-22 14:00:00+00:00,0.016696648303641363 +6352,2019-09-22 15:00:00+00:00,0.018783729361731363 +6353,2019-09-22 16:00:00+00:00,0.030610522077929875 +6354,2019-09-22 17:00:00+00:00,0.054264107188180546 +6355,2019-09-22 18:00:00+00:00,0.054959800820518205 +6356,2019-09-22 19:00:00+00:00,0.04869855780732421 +6357,2019-09-22 20:00:00+00:00,0.04035023357496605 +6358,2019-09-22 21:00:00+00:00,0.028523441019840015 +6359,2019-09-22 22:00:00+00:00,0.01391387361321366 +6360,2019-09-22 23:00:00+00:00,0.004869855748517227 +6361,2019-09-23 00:00:00+00:00,0.002782774690427579 +6362,2019-09-23 01:00:00+00:00,0.0006956936323380683 +6363,2019-09-23 02:00:00+00:00,0.0006956936323380683 +6364,2019-09-23 03:00:00+00:00,0.0013913874257514877 +6365,2019-09-23 04:00:00+00:00,0.004869855748517227 +6366,2019-09-23 05:00:00+00:00,0.03895884614921248 +6367,2019-09-23 06:00:00+00:00,0.06469951247862417 +6368,2019-09-23 07:00:00+00:00,0.050089945071998196 +6369,2019-09-23 08:00:00+00:00,0.05913396293669591 +6370,2019-09-23 09:00:00+00:00,0.042661322581475945 +6371,2019-09-23 10:00:00+00:00,0.03687176509112421 +6372,2019-09-23 11:00:00+00:00,0.031306215710268946 +6373,2019-09-23 12:00:00+00:00,0.025044972535999098 +6374,2019-09-23 13:00:00+00:00,0.021566504213233282 +6375,2019-09-23 14:00:00+00:00,0.016696648303641363 +6376,2019-09-23 15:00:00+00:00,0.018783729361731363 +6377,2019-09-23 16:00:00+00:00,0.030610522077929875 +6378,2019-09-23 17:00:00+00:00,0.054264107188180546 +6379,2019-09-23 18:00:00+00:00,0.054959800820518205 +6380,2019-09-23 19:00:00+00:00,0.04869855780732421 +6381,2019-09-23 20:00:00+00:00,0.04035023357496605 +6382,2019-09-23 21:00:00+00:00,0.028523441019840015 +6383,2019-09-23 22:00:00+00:00,0.01391387361321366 +6384,2019-09-23 23:00:00+00:00,0.004869855748517227 +6385,2019-09-24 00:00:00+00:00,0.002782774690427579 +6386,2019-09-24 01:00:00+00:00,0.0006956936323380683 +6387,2019-09-24 02:00:00+00:00,0.0006956936323380683 +6388,2019-09-24 03:00:00+00:00,0.0013913874257514877 +6389,2019-09-24 04:00:00+00:00,0.004869855748517227 +6390,2019-09-24 05:00:00+00:00,0.03895884614921248 +6391,2019-09-24 06:00:00+00:00,0.06469951247862417 +6392,2019-09-24 07:00:00+00:00,0.050089945071998196 +6393,2019-09-24 08:00:00+00:00,0.05913396293669591 +6394,2019-09-24 09:00:00+00:00,0.0426815904639312 +6395,2019-09-24 10:00:00+00:00,0.03687176509112421 +6396,2019-09-24 11:00:00+00:00,0.031306215710268946 +6397,2019-09-24 12:00:00+00:00,0.025044972535999098 +6398,2019-09-24 13:00:00+00:00,0.021566504213233282 +6399,2019-09-24 14:00:00+00:00,0.016696648303641363 +6400,2019-09-24 15:00:00+00:00,0.018783729361731363 +6401,2019-09-24 16:00:00+00:00,0.030610522077929875 +6402,2019-09-24 17:00:00+00:00,0.054264107188180546 +6403,2019-09-24 18:00:00+00:00,0.054959800820518205 +6404,2019-09-24 19:00:00+00:00,0.04869855780732421 +6405,2019-09-24 20:00:00+00:00,0.04035023357496605 +6406,2019-09-24 21:00:00+00:00,0.028523441019840015 +6407,2019-09-24 22:00:00+00:00,0.01391387361321366 +6408,2019-09-24 23:00:00+00:00,0.004869855748517227 +6409,2019-09-25 00:00:00+00:00,0.002782774690427579 +6410,2019-09-25 01:00:00+00:00,0.0006956936323380683 +6411,2019-09-25 02:00:00+00:00,0.0006956936323380683 +6412,2019-09-25 03:00:00+00:00,0.0013913874257514877 +6413,2019-09-25 04:00:00+00:00,0.004869855748517227 +6414,2019-09-25 05:00:00+00:00,0.03895884614921248 +6415,2019-09-25 06:00:00+00:00,0.06469951247862417 +6416,2019-09-25 07:00:00+00:00,0.050089945071998196 +6417,2019-09-25 08:00:00+00:00,0.05913396293669591 +6418,2019-09-25 09:00:00+00:00,0.04292649558899739 +6419,2019-09-25 10:00:00+00:00,0.03687176509112421 +6420,2019-09-25 11:00:00+00:00,0.031306215710268946 +6421,2019-09-25 12:00:00+00:00,0.025044972535999098 +6422,2019-09-25 13:00:00+00:00,0.021566504213233282 +6423,2019-09-25 14:00:00+00:00,0.016696648303641363 +6424,2019-09-25 15:00:00+00:00,0.018783729361731363 +6425,2019-09-25 16:00:00+00:00,0.030610522077929875 +6426,2019-09-25 17:00:00+00:00,0.054264107188180546 +6427,2019-09-25 18:00:00+00:00,0.054959800820518205 +6428,2019-09-25 19:00:00+00:00,0.04869855780732421 +6429,2019-09-25 20:00:00+00:00,0.04035023357496605 +6430,2019-09-25 21:00:00+00:00,0.028523441019840015 +6431,2019-09-25 22:00:00+00:00,0.01391387361321366 +6432,2019-09-25 23:00:00+00:00,0.004869855748517227 +6433,2019-09-26 00:00:00+00:00,0.002782774690427579 +6434,2019-09-26 01:00:00+00:00,0.0006956936323380683 +6435,2019-09-26 02:00:00+00:00,0.0006956936323380683 +6436,2019-09-26 03:00:00+00:00,0.0013913874257514877 +6437,2019-09-26 04:00:00+00:00,0.004869855748517227 +6438,2019-09-26 05:00:00+00:00,0.03895884614921248 +6439,2019-09-26 06:00:00+00:00,0.06469951247862417 +6440,2019-09-26 07:00:00+00:00,0.050089945071998196 +6441,2019-09-26 08:00:00+00:00,0.05913396293669591 +6442,2019-09-26 09:00:00+00:00,0.042772986618949224 +6443,2019-09-26 10:00:00+00:00,0.03687176509112421 +6444,2019-09-26 11:00:00+00:00,0.031306215710268946 +6445,2019-09-26 12:00:00+00:00,0.025044972535999098 +6446,2019-09-26 13:00:00+00:00,0.021566504213233282 +6447,2019-09-26 14:00:00+00:00,0.016696648303641363 +6448,2019-09-26 15:00:00+00:00,0.018783729361731363 +6449,2019-09-26 16:00:00+00:00,0.030610522077929875 +6450,2019-09-26 17:00:00+00:00,0.054264107188180546 +6451,2019-09-26 18:00:00+00:00,0.054959800820518205 +6452,2019-09-26 19:00:00+00:00,0.04869855780732421 +6453,2019-09-26 20:00:00+00:00,0.04035023357496605 +6454,2019-09-26 21:00:00+00:00,0.028523441019840015 +6455,2019-09-26 22:00:00+00:00,0.01391387361321366 +6456,2019-09-26 23:00:00+00:00,0.004869855748517227 +6457,2019-09-27 00:00:00+00:00,0.002782774690427579 +6458,2019-09-27 01:00:00+00:00,0.0006956936323380683 +6459,2019-09-27 02:00:00+00:00,0.0006956936323380683 +6460,2019-09-27 03:00:00+00:00,0.0013913874257514877 +6461,2019-09-27 04:00:00+00:00,0.004869855748517227 +6462,2019-09-27 05:00:00+00:00,0.03895884614921248 +6463,2019-09-27 06:00:00+00:00,0.06469951247862417 +6464,2019-09-27 07:00:00+00:00,0.050089945071998196 +6465,2019-09-27 08:00:00+00:00,0.05913396293669591 +6466,2019-09-27 09:00:00+00:00,0.042695775032052664 +6467,2019-09-27 10:00:00+00:00,0.03687176509112421 +6468,2019-09-27 11:00:00+00:00,0.031306215710268946 +6469,2019-09-27 12:00:00+00:00,0.025044972535999098 +6470,2019-09-27 13:00:00+00:00,0.021566504213233282 +6471,2019-09-27 14:00:00+00:00,0.016696648303641363 +6472,2019-09-27 15:00:00+00:00,0.018783729361731363 +6473,2019-09-27 16:00:00+00:00,0.030610522077929875 +6474,2019-09-27 17:00:00+00:00,0.054264107188180546 +6475,2019-09-27 18:00:00+00:00,0.054959800820518205 +6476,2019-09-27 19:00:00+00:00,0.04869855780732421 +6477,2019-09-27 20:00:00+00:00,0.04035023357496605 +6478,2019-09-27 21:00:00+00:00,0.028523441019840015 +6479,2019-09-27 22:00:00+00:00,0.01391387361321366 +6480,2019-09-27 23:00:00+00:00,0.004869855748517227 +6481,2019-09-28 00:00:00+00:00,0.002782774690427579 +6482,2019-09-28 01:00:00+00:00,0.0006956936323380683 +6483,2019-09-28 02:00:00+00:00,0.0006956936323380683 +6484,2019-09-28 03:00:00+00:00,0.0013913874257514877 +6485,2019-09-28 04:00:00+00:00,0.004869855748517227 +6486,2019-09-28 05:00:00+00:00,0.03895884614921248 +6487,2019-09-28 06:00:00+00:00,0.06469951247862417 +6488,2019-09-28 07:00:00+00:00,0.050089945071998196 +6489,2019-09-28 08:00:00+00:00,0.05913396293669591 +6490,2019-09-28 09:00:00+00:00,0.042531849954131805 +6491,2019-09-28 10:00:00+00:00,0.03687176509112421 +6492,2019-09-28 11:00:00+00:00,0.031306215710268946 +6493,2019-09-28 12:00:00+00:00,0.025044972535999098 +6494,2019-09-28 13:00:00+00:00,0.021566504213233282 +6495,2019-09-28 14:00:00+00:00,0.016696648303641363 +6496,2019-09-28 15:00:00+00:00,0.018783729361731363 +6497,2019-09-28 16:00:00+00:00,0.030610522077929875 +6498,2019-09-28 17:00:00+00:00,0.054264107188180546 +6499,2019-09-28 18:00:00+00:00,0.054959800820518205 +6500,2019-09-28 19:00:00+00:00,0.04869855780732421 +6501,2019-09-28 20:00:00+00:00,0.04035023357496605 +6502,2019-09-28 21:00:00+00:00,0.028523441019840015 +6503,2019-09-28 22:00:00+00:00,0.01391387361321366 +6504,2019-09-28 23:00:00+00:00,0.004869855748517227 +6505,2019-09-29 00:00:00+00:00,0.002782774690427579 +6506,2019-09-29 01:00:00+00:00,0.0006956936323380683 +6507,2019-09-29 02:00:00+00:00,0.0006956936323380683 +6508,2019-09-29 03:00:00+00:00,0.0013913874257514877 +6509,2019-09-29 04:00:00+00:00,0.004869855748517227 +6510,2019-09-29 05:00:00+00:00,0.03895884614921248 +6511,2019-09-29 06:00:00+00:00,0.06469951247862417 +6512,2019-09-29 07:00:00+00:00,0.050089945071998196 +6513,2019-09-29 08:00:00+00:00,0.05913396293669591 +6514,2019-09-29 09:00:00+00:00,0.0428381820221177 +6515,2019-09-29 10:00:00+00:00,0.03687176509112421 +6516,2019-09-29 11:00:00+00:00,0.031306215710268946 +6517,2019-09-29 12:00:00+00:00,0.025044972535999098 +6518,2019-09-29 13:00:00+00:00,0.021566504213233282 +6519,2019-09-29 14:00:00+00:00,0.016696648303641363 +6520,2019-09-29 15:00:00+00:00,0.018783729361731363 +6521,2019-09-29 16:00:00+00:00,0.030610522077929875 +6522,2019-09-29 17:00:00+00:00,0.054264107188180546 +6523,2019-09-29 18:00:00+00:00,0.054959800820518205 +6524,2019-09-29 19:00:00+00:00,0.04869855780732421 +6525,2019-09-29 20:00:00+00:00,0.04035023357496605 +6526,2019-09-29 21:00:00+00:00,0.028523441019840015 +6527,2019-09-29 22:00:00+00:00,0.01391387361321366 +6528,2019-09-29 23:00:00+00:00,0.004869855748517227 +6529,2019-09-30 00:00:00+00:00,0.002782774690427579 +6530,2019-09-30 01:00:00+00:00,0.0006956936323380683 +6531,2019-09-30 02:00:00+00:00,0.0006956936323380683 +6532,2019-09-30 03:00:00+00:00,0.0013913874257514877 +6533,2019-09-30 04:00:00+00:00,0.004869855748517227 +6534,2019-09-30 05:00:00+00:00,0.03895884614921248 +6535,2019-09-30 06:00:00+00:00,0.06469951247862417 +6536,2019-09-30 07:00:00+00:00,0.050089945071998196 +6537,2019-09-30 08:00:00+00:00,0.05913396293669591 +6538,2019-09-30 09:00:00+00:00,0.04288555122422525 +6539,2019-09-30 10:00:00+00:00,0.03687176509112421 +6540,2019-09-30 11:00:00+00:00,0.031306215710268946 +6541,2019-09-30 12:00:00+00:00,0.025044972535999098 +6542,2019-09-30 13:00:00+00:00,0.021566504213233282 +6543,2019-09-30 14:00:00+00:00,0.016696648303641363 +6544,2019-09-30 15:00:00+00:00,0.018783729361731363 +6545,2019-09-30 16:00:00+00:00,0.030610522077929875 +6546,2019-09-30 17:00:00+00:00,0.054264107188180546 +6547,2019-09-30 18:00:00+00:00,0.054959800820518205 +6548,2019-09-30 19:00:00+00:00,0.04869855780732421 +6549,2019-09-30 20:00:00+00:00,0.04035023357496605 +6550,2019-09-30 21:00:00+00:00,0.028523441019840015 +6551,2019-09-30 22:00:00+00:00,0.01391387361321366 +6552,2019-09-30 23:00:00+00:00,0.004869855748517227 +6553,2019-10-01 00:00:00+00:00,0.002782774690427579 +6554,2019-10-01 01:00:00+00:00,0.0006956936323380683 +6555,2019-10-01 02:00:00+00:00,0.0006956936323380683 +6556,2019-10-01 03:00:00+00:00,0.0013913874257514877 +6557,2019-10-01 04:00:00+00:00,0.004869855748517227 +6558,2019-10-01 05:00:00+00:00,0.03895884614921248 +6559,2019-10-01 06:00:00+00:00,0.06469951247862417 +6560,2019-10-01 07:00:00+00:00,0.050089945071998196 +6561,2019-10-01 08:00:00+00:00,0.05913396293669591 +6562,2019-10-01 09:00:00+00:00,0.04282151360319398 +6563,2019-10-01 10:00:00+00:00,0.03687176509112421 +6564,2019-10-01 11:00:00+00:00,0.031306215710268946 +6565,2019-10-01 12:00:00+00:00,0.025044972535999098 +6566,2019-10-01 13:00:00+00:00,0.021566504213233282 +6567,2019-10-01 14:00:00+00:00,0.016696648303641363 +6568,2019-10-01 15:00:00+00:00,0.018783729361731363 +6569,2019-10-01 16:00:00+00:00,0.030610522077929875 +6570,2019-10-01 17:00:00+00:00,0.054264107188180546 +6571,2019-10-01 18:00:00+00:00,0.054959800820518205 +6572,2019-10-01 19:00:00+00:00,0.04869855780732421 +6573,2019-10-01 20:00:00+00:00,0.04035023357496605 +6574,2019-10-01 21:00:00+00:00,0.028523441019840015 +6575,2019-10-01 22:00:00+00:00,0.01391387361321366 +6576,2019-10-01 23:00:00+00:00,0.004869855748517227 +6577,2019-10-02 00:00:00+00:00,0.002782774690427579 +6578,2019-10-02 01:00:00+00:00,0.0006956936323380683 +6579,2019-10-02 02:00:00+00:00,0.0006956936323380683 +6580,2019-10-02 03:00:00+00:00,0.0013913874257514877 +6581,2019-10-02 04:00:00+00:00,0.004869855748517227 +6582,2019-10-02 05:00:00+00:00,0.039138412248286625 +6583,2019-10-02 06:00:00+00:00,0.0647949053341711 +6584,2019-10-02 07:00:00+00:00,0.05019304062149021 +6585,2019-10-02 08:00:00+00:00,0.05913396293669591 +6586,2019-10-02 09:00:00+00:00,0.04286017930624589 +6587,2019-10-02 10:00:00+00:00,0.03687176509112421 +6588,2019-10-02 11:00:00+00:00,0.031306215710268946 +6589,2019-10-02 12:00:00+00:00,0.025044972535999098 +6590,2019-10-02 13:00:00+00:00,0.021566504213233282 +6591,2019-10-02 14:00:00+00:00,0.016696648303641363 +6592,2019-10-02 15:00:00+00:00,0.018783729361731363 +6593,2019-10-02 16:00:00+00:00,0.030610522077929875 +6594,2019-10-02 17:00:00+00:00,0.05440315161158759 +6595,2019-10-02 18:00:00+00:00,0.05535581706072738 +6596,2019-10-02 19:00:00+00:00,0.04891534175961977 +6597,2019-10-02 20:00:00+00:00,0.04035023357496605 +6598,2019-10-02 21:00:00+00:00,0.028547732237800535 +6599,2019-10-02 22:00:00+00:00,0.01391387361321366 +6600,2019-10-02 23:00:00+00:00,0.004869855748517227 +6601,2019-10-03 00:00:00+00:00,0.002782774690427579 +6602,2019-10-03 01:00:00+00:00,0.0006956936323380683 +6603,2019-10-03 02:00:00+00:00,0.0006956936323380683 +6604,2019-10-03 03:00:00+00:00,0.0013913874257514877 +6605,2019-10-03 04:00:00+00:00,0.004869855748517227 +6606,2019-10-03 05:00:00+00:00,0.03957076010975511 +6607,2019-10-03 06:00:00+00:00,0.06536529439624324 +6608,2019-10-03 07:00:00+00:00,0.05081072456955977 +6609,2019-10-03 08:00:00+00:00,0.05938604266972757 +6610,2019-10-03 09:00:00+00:00,0.04361349953344656 +6611,2019-10-03 10:00:00+00:00,0.03705433912678256 +6612,2019-10-03 11:00:00+00:00,0.03143737468845554 +6613,2019-10-03 12:00:00+00:00,0.025466559944210834 +6614,2019-10-03 13:00:00+00:00,0.021566504213233282 +6615,2019-10-03 14:00:00+00:00,0.016696648303641363 +6616,2019-10-03 15:00:00+00:00,0.018783729361731363 +6617,2019-10-03 16:00:00+00:00,0.03066477413062542 +6618,2019-10-03 17:00:00+00:00,0.05468833290385268 +6619,2019-10-03 18:00:00+00:00,0.056250669027013554 +6620,2019-10-03 19:00:00+00:00,0.049465929944617446 +6621,2019-10-03 20:00:00+00:00,0.04098085859692103 +6622,2019-10-03 21:00:00+00:00,0.02871591367613 +6623,2019-10-03 22:00:00+00:00,0.01391387361321366 +6624,2019-10-03 23:00:00+00:00,0.004869855748517227 +6625,2019-10-04 00:00:00+00:00,0.002782774690427579 +6626,2019-10-04 01:00:00+00:00,0.0006956936323380683 +6627,2019-10-04 02:00:00+00:00,0.0006956936323380683 +6628,2019-10-04 03:00:00+00:00,0.0013913874257514877 +6629,2019-10-04 04:00:00+00:00,0.004869855748517227 +6630,2019-10-04 05:00:00+00:00,0.039827051432489664 +6631,2019-10-04 06:00:00+00:00,0.06695272247939746 +6632,2019-10-04 07:00:00+00:00,0.051120118442572596 +6633,2019-10-04 08:00:00+00:00,0.060254471446022924 +6634,2019-10-04 09:00:00+00:00,0.044136318278576246 +6635,2019-10-04 10:00:00+00:00,0.038075368607177786 +6636,2019-10-04 11:00:00+00:00,0.032200652738840055 +6637,2019-10-04 12:00:00+00:00,0.027072873583078038 +6638,2019-10-04 13:00:00+00:00,0.021566504213233282 +6639,2019-10-04 14:00:00+00:00,0.016696648303641363 +6640,2019-10-04 15:00:00+00:00,0.018783729361731363 +6641,2019-10-04 16:00:00+00:00,0.030809343050768153 +6642,2019-10-04 17:00:00+00:00,0.05556203305597454 +6643,2019-10-04 18:00:00+00:00,0.0568049910584828 +6644,2019-10-04 19:00:00+00:00,0.05003542534534812 +6645,2019-10-04 20:00:00+00:00,0.0412953737784189 +6646,2019-10-04 21:00:00+00:00,0.02876248336039061 +6647,2019-10-04 22:00:00+00:00,0.01391387361321366 +6648,2019-10-04 23:00:00+00:00,0.004869855748517227 +6649,2019-10-05 00:00:00+00:00,0.002782774690427579 +6650,2019-10-05 01:00:00+00:00,0.0006956936323380683 +6651,2019-10-05 02:00:00+00:00,0.0006956936323380683 +6652,2019-10-05 03:00:00+00:00,0.0013913874257514877 +6653,2019-10-05 04:00:00+00:00,0.004979979470931368 +6654,2019-10-05 05:00:00+00:00,0.040352336172269576 +6655,2019-10-05 06:00:00+00:00,0.06866937335624351 +6656,2019-10-05 07:00:00+00:00,0.05115096635308716 +6657,2019-10-05 08:00:00+00:00,0.06109217483596398 +6658,2019-10-05 09:00:00+00:00,0.04423947634205955 +6659,2019-10-05 10:00:00+00:00,0.03834632302696947 +6660,2019-10-05 11:00:00+00:00,0.03254993708885546 +6661,2019-10-05 12:00:00+00:00,0.02781234619946786 +6662,2019-10-05 13:00:00+00:00,0.02157824072421312 +6663,2019-10-05 14:00:00+00:00,0.016696648303641363 +6664,2019-10-05 15:00:00+00:00,0.018783729361731363 +6665,2019-10-05 16:00:00+00:00,0.031575163675137734 +6666,2019-10-05 17:00:00+00:00,0.05647535842123562 +6667,2019-10-05 18:00:00+00:00,0.05748807184912647 +6668,2019-10-05 19:00:00+00:00,0.05025986725152454 +6669,2019-10-05 20:00:00+00:00,0.04142617230349853 +6670,2019-10-05 21:00:00+00:00,0.028799081580251903 +6671,2019-10-05 22:00:00+00:00,0.01391387361321366 +6672,2019-10-05 23:00:00+00:00,0.004869855748517227 +6673,2019-10-06 00:00:00+00:00,0.002782774690427579 +6674,2019-10-06 01:00:00+00:00,0.0006956936323380683 +6675,2019-10-06 02:00:00+00:00,0.0006956936323380683 +6676,2019-10-06 03:00:00+00:00,0.0013913874257514877 +6677,2019-10-06 04:00:00+00:00,0.005096629717385886 +6678,2019-10-06 05:00:00+00:00,0.040506316358031744 +6679,2019-10-06 06:00:00+00:00,0.06933159375674525 +6680,2019-10-06 07:00:00+00:00,0.05117955091552801 +6681,2019-10-06 08:00:00+00:00,0.061684390072719315 +6682,2019-10-06 09:00:00+00:00,0.04441816861170856 +6683,2019-10-06 10:00:00+00:00,0.0387763670317947 +6684,2019-10-06 11:00:00+00:00,0.03327188231855493 +6685,2019-10-06 12:00:00+00:00,0.028691249686161147 +6686,2019-10-06 13:00:00+00:00,0.0218120598313123 +6687,2019-10-06 14:00:00+00:00,0.01675102922928247 +6688,2019-10-06 15:00:00+00:00,0.019019315696049983 +6689,2019-10-06 16:00:00+00:00,0.03292338202074938 +6690,2019-10-06 17:00:00+00:00,0.05722840978160547 +6691,2019-10-06 18:00:00+00:00,0.05785009897577099 +6692,2019-10-06 19:00:00+00:00,0.05048517361485909 +6693,2019-10-06 20:00:00+00:00,0.041588830737108076 +6694,2019-10-06 21:00:00+00:00,0.028848607218294655 +6695,2019-10-06 22:00:00+00:00,0.01391387361321366 +6696,2019-10-06 23:00:00+00:00,0.004869855748517227 +6697,2019-10-07 00:00:00+00:00,0.002892555144524152 +6698,2019-10-07 01:00:00+00:00,0.0006956936323380683 +6699,2019-10-07 02:00:00+00:00,0.0006956936323380683 +6700,2019-10-07 03:00:00+00:00,0.001479166593676374 +6701,2019-10-07 04:00:00+00:00,0.005315214454535088 +6702,2019-10-07 05:00:00+00:00,0.04092049224271995 +6703,2019-10-07 06:00:00+00:00,0.07187136884862551 +6704,2019-10-07 07:00:00+00:00,0.05576893508033759 +6705,2019-10-07 08:00:00+00:00,0.06456846308301989 +6706,2019-10-07 09:00:00+00:00,0.04458636117001463 +6707,2019-10-07 10:00:00+00:00,0.03906831239332597 +6708,2019-10-07 11:00:00+00:00,0.033704566954101685 +6709,2019-10-07 12:00:00+00:00,0.028938352928773965 +6710,2019-10-07 13:00:00+00:00,0.021929038852987557 +6711,2019-10-07 14:00:00+00:00,0.016804345830784672 +6712,2019-10-07 15:00:00+00:00,0.0191226238179227 +6713,2019-10-07 16:00:00+00:00,0.03312535923219296 +6714,2019-10-07 17:00:00+00:00,0.057294147728687 +6715,2019-10-07 18:00:00+00:00,0.05790343697953185 +6716,2019-10-07 19:00:00+00:00,0.05051326318428701 +6717,2019-10-07 20:00:00+00:00,0.0440738788348999 +6718,2019-10-07 21:00:00+00:00,0.03351003578589135 +6719,2019-10-07 22:00:00+00:00,0.016196921073975797 +6720,2019-10-07 23:00:00+00:00,0.005653542089449065 +6721,2019-10-08 00:00:00+00:00,0.0030436288611796125 +6722,2019-10-08 01:00:00+00:00,0.0006956936323380683 +6723,2019-10-08 02:00:00+00:00,0.0006956936323380683 +6724,2019-10-08 03:00:00+00:00,0.0013913874257514877 +6725,2019-10-08 04:00:00+00:00,0.005214540414882088 +6726,2019-10-08 05:00:00+00:00,0.040617154408580936 +6727,2019-10-08 06:00:00+00:00,0.0709491155345081 +6728,2019-10-08 07:00:00+00:00,0.056981428932635185 +6729,2019-10-08 08:00:00+00:00,0.06568430250786608 +6730,2019-10-08 09:00:00+00:00,0.04611474101141183 +6731,2019-10-08 10:00:00+00:00,0.03860597690328399 +6732,2019-10-08 11:00:00+00:00,0.032914966999284125 +6733,2019-10-08 12:00:00+00:00,0.0283092946395519 +6734,2019-10-08 13:00:00+00:00,0.021607350693902398 +6735,2019-10-08 14:00:00+00:00,0.016700762335933445 +6736,2019-10-08 15:00:00+00:00,0.0188309569732491 +6737,2019-10-08 16:00:00+00:00,0.03207881060723821 +6738,2019-10-08 17:00:00+00:00,0.05684447045117012 +6739,2019-10-08 18:00:00+00:00,0.05752352192619603 +6740,2019-10-08 19:00:00+00:00,0.05026083802903568 +6741,2019-10-08 20:00:00+00:00,0.04166378096946989 +6742,2019-10-08 21:00:00+00:00,0.03157752489230051 +6743,2019-10-08 22:00:00+00:00,0.016092824448385765 +6744,2019-10-08 23:00:00+00:00,0.005652882628646284 +6745,2019-10-09 00:00:00+00:00,0.0030457292819124158 +6746,2019-10-09 01:00:00+00:00,0.0006956936323380683 +6747,2019-10-09 02:00:00+00:00,0.0006956936323380683 +6748,2019-10-09 03:00:00+00:00,0.0013913874257514877 +6749,2019-10-09 04:00:00+00:00,0.005140027696226303 +6750,2019-10-09 05:00:00+00:00,0.040478244699768656 +6751,2019-10-09 06:00:00+00:00,0.07053304581181581 +6752,2019-10-09 07:00:00+00:00,0.057082469928129466 +6753,2019-10-09 08:00:00+00:00,0.0662778917489663 +6754,2019-10-09 09:00:00+00:00,0.04972797330080865 +6755,2019-10-09 10:00:00+00:00,0.04034374876739895 +6756,2019-10-09 11:00:00+00:00,0.03493432022306351 +6757,2019-10-09 12:00:00+00:00,0.02838492486488904 +6758,2019-10-09 13:00:00+00:00,0.021609518739921115 +6759,2019-10-09 14:00:00+00:00,0.016708316198635262 +6760,2019-10-09 15:00:00+00:00,0.018852733854528677 +6761,2019-10-09 16:00:00+00:00,0.03249332807362478 +6762,2019-10-09 17:00:00+00:00,0.05702983234044614 +6763,2019-10-09 18:00:00+00:00,0.057618080517806064 +6764,2019-10-09 19:00:00+00:00,0.05674228604320681 +6765,2019-10-09 20:00:00+00:00,0.052755625766884466 +6766,2019-10-09 21:00:00+00:00,0.03459647489814483 +6767,2019-10-09 22:00:00+00:00,0.016559857137583102 +6768,2019-10-09 23:00:00+00:00,0.005859845510308957 +6769,2019-10-10 00:00:00+00:00,0.0030902152336527455 +6770,2019-10-10 01:00:00+00:00,0.0006956936323380683 +6771,2019-10-10 02:00:00+00:00,0.0006956936323380683 +6772,2019-10-10 03:00:00+00:00,0.0013913874257514877 +6773,2019-10-10 04:00:00+00:00,0.005193736862588226 +6774,2019-10-10 05:00:00+00:00,0.04057417667414551 +6775,2019-10-10 06:00:00+00:00,0.07203686131585892 +6776,2019-10-10 07:00:00+00:00,0.057815762158017515 +6777,2019-10-10 08:00:00+00:00,0.06656033250484364 +6778,2019-10-10 09:00:00+00:00,0.0498844709308912 +6779,2019-10-10 10:00:00+00:00,0.03802808824131022 +6780,2019-10-10 11:00:00+00:00,0.03234774437775248 +6781,2019-10-10 12:00:00+00:00,0.027778834845446475 +6782,2019-10-10 13:00:00+00:00,0.021601693643758316 +6783,2019-10-10 14:00:00+00:00,0.016696648303641363 +6784,2019-10-10 15:00:00+00:00,0.018783729361731363 +6785,2019-10-10 16:00:00+00:00,0.03184273458814883 +6786,2019-10-10 17:00:00+00:00,0.056670793886397786 +6787,2019-10-10 18:00:00+00:00,0.057415882430250094 +6788,2019-10-10 19:00:00+00:00,0.0508985145720057 +6789,2019-10-10 20:00:00+00:00,0.04710525971584 +6790,2019-10-10 21:00:00+00:00,0.033253138341866426 +6791,2019-10-10 22:00:00+00:00,0.0161700389627745 +6792,2019-10-10 23:00:00+00:00,0.005645878518546634 +6793,2019-10-11 00:00:00+00:00,0.0030411516107414814 +6794,2019-10-11 01:00:00+00:00,0.0006956936323380683 +6795,2019-10-11 02:00:00+00:00,0.0006956936323380683 +6796,2019-10-11 03:00:00+00:00,0.0013913874257514877 +6797,2019-10-11 04:00:00+00:00,0.005000994668395109 +6798,2019-10-11 05:00:00+00:00,0.04015022802084321 +6799,2019-10-11 06:00:00+00:00,0.06945636975340241 +6800,2019-10-11 07:00:00+00:00,0.056993354395597384 +6801,2019-10-11 08:00:00+00:00,0.06554430819723535 +6802,2019-10-11 09:00:00+00:00,0.0502382245477589 +6803,2019-10-11 10:00:00+00:00,0.04202240159828124 +6804,2019-10-11 11:00:00+00:00,0.0360864947157091 +6805,2019-10-11 12:00:00+00:00,0.02789757027880617 +6806,2019-10-11 13:00:00+00:00,0.02157815919394303 +6807,2019-10-11 14:00:00+00:00,0.016696648303641363 +6808,2019-10-11 15:00:00+00:00,0.018783729361731363 +6809,2019-10-11 16:00:00+00:00,0.031515590528176554 +6810,2019-10-11 17:00:00+00:00,0.05620887137604816 +6811,2019-10-11 18:00:00+00:00,0.056938765854399366 +6812,2019-10-11 19:00:00+00:00,0.05032530235475251 +6813,2019-10-11 20:00:00+00:00,0.044628911133615334 +6814,2019-10-11 21:00:00+00:00,0.03164297839691623 +6815,2019-10-11 22:00:00+00:00,0.015400087103658927 +6816,2019-10-11 23:00:00+00:00,0.0053943052021695305 +6817,2019-10-12 00:00:00+00:00,0.002964415595437409 +6818,2019-10-12 01:00:00+00:00,0.0006956936323380683 +6819,2019-10-12 02:00:00+00:00,0.0006956936323380683 +6820,2019-10-12 03:00:00+00:00,0.0013913874257514877 +6821,2019-10-12 04:00:00+00:00,0.004869855748517227 +6822,2019-10-12 05:00:00+00:00,0.03969333251150105 +6823,2019-10-12 06:00:00+00:00,0.06762233411435162 +6824,2019-10-12 07:00:00+00:00,0.05501266517649112 +6825,2019-10-12 08:00:00+00:00,0.06265738265496137 +6826,2019-10-12 09:00:00+00:00,0.04591613209250728 +6827,2019-10-12 10:00:00+00:00,0.03862174405713059 +6828,2019-10-12 11:00:00+00:00,0.03350928333551697 +6829,2019-10-12 12:00:00+00:00,0.027850982112455958 +6830,2019-10-12 13:00:00+00:00,0.021580820810775933 +6831,2019-10-12 14:00:00+00:00,0.016696648303641363 +6832,2019-10-12 15:00:00+00:00,0.01880197510383732 +6833,2019-10-12 16:00:00+00:00,0.03174050784284393 +6834,2019-10-12 17:00:00+00:00,0.056464684905685514 +6835,2019-10-12 18:00:00+00:00,0.057259905203116745 +6836,2019-10-12 19:00:00+00:00,0.05673917909191441 +6837,2019-10-12 20:00:00+00:00,0.05147485360956046 +6838,2019-10-12 21:00:00+00:00,0.03391424928041172 +6839,2019-10-12 22:00:00+00:00,0.016314858559568057 +6840,2019-10-12 23:00:00+00:00,0.005784068659097005 +6841,2019-10-13 00:00:00+00:00,0.003057987059637445 +6842,2019-10-13 01:00:00+00:00,0.0007257621208805144 +6843,2019-10-13 02:00:00+00:00,0.0006956936323380683 +6844,2019-10-13 03:00:00+00:00,0.0013913874257514877 +6845,2019-10-13 04:00:00+00:00,0.004936394959412401 +6846,2019-10-13 05:00:00+00:00,0.040010234973575254 +6847,2019-10-13 06:00:00+00:00,0.06936090552465776 +6848,2019-10-13 07:00:00+00:00,0.05777313575538272 +6849,2019-10-13 08:00:00+00:00,0.0652298612950375 +6850,2019-10-13 09:00:00+00:00,0.04932350653994347 +6851,2019-10-13 10:00:00+00:00,0.039895356935146085 +6852,2019-10-13 11:00:00+00:00,0.03247030502010794 +6853,2019-10-13 12:00:00+00:00,0.026791464027514672 +6854,2019-10-13 13:00:00+00:00,0.021566504213233282 +6855,2019-10-13 14:00:00+00:00,0.016696648303641363 +6856,2019-10-13 15:00:00+00:00,0.018783729361731363 +6857,2019-10-13 16:00:00+00:00,0.030610522077929875 +6858,2019-10-13 17:00:00+00:00,0.0544453361343807 +6859,2019-10-13 18:00:00+00:00,0.05563897949955316 +6860,2019-10-13 19:00:00+00:00,0.049437122325185164 +6861,2019-10-13 20:00:00+00:00,0.04103666497910426 +6862,2019-10-13 21:00:00+00:00,0.028671302926302506 +6863,2019-10-13 22:00:00+00:00,0.01391387361321366 +6864,2019-10-13 23:00:00+00:00,0.004869855748517227 +6865,2019-10-14 00:00:00+00:00,0.002782774690427579 +6866,2019-10-14 01:00:00+00:00,0.0006956936323380683 +6867,2019-10-14 02:00:00+00:00,0.0006956936323380683 +6868,2019-10-14 03:00:00+00:00,0.0013913874257514877 +6869,2019-10-14 04:00:00+00:00,0.004869855748517227 +6870,2019-10-14 05:00:00+00:00,0.039450823077487596 +6871,2019-10-14 06:00:00+00:00,0.06626752391334084 +6872,2019-10-14 07:00:00+00:00,0.052485047119737664 +6873,2019-10-14 08:00:00+00:00,0.059692292171116414 +6874,2019-10-14 09:00:00+00:00,0.04396778450966399 +6875,2019-10-14 10:00:00+00:00,0.03797499139444023 +6876,2019-10-14 11:00:00+00:00,0.03229262828864397 +6877,2019-10-14 12:00:00+00:00,0.026594139688906008 +6878,2019-10-14 13:00:00+00:00,0.021566504213233282 +6879,2019-10-14 14:00:00+00:00,0.016696648303641363 +6880,2019-10-14 15:00:00+00:00,0.018783729361731363 +6881,2019-10-14 16:00:00+00:00,0.030636155933121904 +6882,2019-10-14 17:00:00+00:00,0.05459236196248312 +6883,2019-10-14 18:00:00+00:00,0.055847342822741536 +6884,2019-10-14 19:00:00+00:00,0.04942226320989786 +6885,2019-10-14 20:00:00+00:00,0.04090497717290509 +6886,2019-10-14 21:00:00+00:00,0.028637588328782455 +6887,2019-10-14 22:00:00+00:00,0.01391387361321366 +6888,2019-10-14 23:00:00+00:00,0.004869855748517227 +6889,2019-10-15 00:00:00+00:00,0.002782774690427579 +6890,2019-10-15 01:00:00+00:00,0.0006956936323380683 +6891,2019-10-15 02:00:00+00:00,0.0006956936323380683 +6892,2019-10-15 03:00:00+00:00,0.0013913874257514877 +6893,2019-10-15 04:00:00+00:00,0.004869855748517227 +6894,2019-10-15 05:00:00+00:00,0.03905865067844352 +6895,2019-10-15 06:00:00+00:00,0.06478609581754548 +6896,2019-10-15 07:00:00+00:00,0.050916504577612834 +6897,2019-10-15 08:00:00+00:00,0.05932036301117912 +6898,2019-10-15 09:00:00+00:00,0.04365879858302339 +6899,2019-10-15 10:00:00+00:00,0.037308781532047273 +6900,2019-10-15 11:00:00+00:00,0.03190595616503155 +6901,2019-10-15 12:00:00+00:00,0.025968526685099774 +6902,2019-10-15 13:00:00+00:00,0.021566504213233282 +6903,2019-10-15 14:00:00+00:00,0.016696648303641363 +6904,2019-10-15 15:00:00+00:00,0.018783729361731363 +6905,2019-10-15 16:00:00+00:00,0.030610522077929875 +6906,2019-10-15 17:00:00+00:00,0.05449419041498499 +6907,2019-10-15 18:00:00+00:00,0.05559654169469931 +6908,2019-10-15 19:00:00+00:00,0.04934047687740708 +6909,2019-10-15 20:00:00+00:00,0.04098160611770172 +6910,2019-10-15 21:00:00+00:00,0.028656625362188062 +6911,2019-10-15 22:00:00+00:00,0.01391387361321366 +6912,2019-10-15 23:00:00+00:00,0.004869855748517227 +6913,2019-10-16 00:00:00+00:00,0.002782774690427579 +6914,2019-10-16 01:00:00+00:00,0.0006956936323380683 +6915,2019-10-16 02:00:00+00:00,0.0006956936323380683 +6916,2019-10-16 03:00:00+00:00,0.0013913874257514877 +6917,2019-10-16 04:00:00+00:00,0.004869855748517227 +6918,2019-10-16 05:00:00+00:00,0.0393272991329682 +6919,2019-10-16 06:00:00+00:00,0.06564424525417847 +6920,2019-10-16 07:00:00+00:00,0.05092118186671892 +6921,2019-10-16 08:00:00+00:00,0.059344735727642615 +6922,2019-10-16 09:00:00+00:00,0.04373873608069077 +6923,2019-10-16 10:00:00+00:00,0.03748964113485638 +6924,2019-10-16 11:00:00+00:00,0.031738882109344606 +6925,2019-10-16 12:00:00+00:00,0.026106352079359577 +6926,2019-10-16 13:00:00+00:00,0.021566504213233282 +6927,2019-10-16 14:00:00+00:00,0.016696648303641363 +6928,2019-10-16 15:00:00+00:00,0.018783729361731363 +6929,2019-10-16 16:00:00+00:00,0.030699845573212873 +6930,2019-10-16 17:00:00+00:00,0.05480386933049775 +6931,2019-10-16 18:00:00+00:00,0.05628066935779353 +6932,2019-10-16 19:00:00+00:00,0.04957642034884344 +6933,2019-10-16 20:00:00+00:00,0.04100374234827227 +6934,2019-10-16 21:00:00+00:00,0.02866232662306647 +6935,2019-10-16 22:00:00+00:00,0.01391387361321366 +6936,2019-10-16 23:00:00+00:00,0.004869855748517227 +6937,2019-10-17 00:00:00+00:00,0.002782774690427579 +6938,2019-10-17 01:00:00+00:00,0.0006956936323380683 +6939,2019-10-17 02:00:00+00:00,0.0006956936323380683 +6940,2019-10-17 03:00:00+00:00,0.0013913874257514877 +6941,2019-10-17 04:00:00+00:00,0.004869855748517227 +6942,2019-10-17 05:00:00+00:00,0.03930238747878076 +6943,2019-10-17 06:00:00+00:00,0.06557838630479387 +6944,2019-10-17 07:00:00+00:00,0.05456404198408798 +6945,2019-10-17 08:00:00+00:00,0.060941743938782045 +6946,2019-10-17 09:00:00+00:00,0.044033690460911636 +6947,2019-10-17 10:00:00+00:00,0.03795051085787535 +6948,2019-10-17 11:00:00+00:00,0.03173471115700005 +6949,2019-10-17 12:00:00+00:00,0.026297968354501353 +6950,2019-10-17 13:00:00+00:00,0.021566504213233282 +6951,2019-10-17 14:00:00+00:00,0.016696648303641363 +6952,2019-10-17 15:00:00+00:00,0.018783729361731363 +6953,2019-10-17 16:00:00+00:00,0.0310253139982094 +6954,2019-10-17 17:00:00+00:00,0.05563914206721563 +6955,2019-10-17 18:00:00+00:00,0.05664809424215718 +6956,2019-10-17 19:00:00+00:00,0.04985345329509901 +6957,2019-10-17 20:00:00+00:00,0.04112257271816191 +6958,2019-10-17 21:00:00+00:00,0.02876097331370579 +6959,2019-10-17 22:00:00+00:00,0.014789035872101959 +6960,2019-10-17 23:00:00+00:00,0.00539238063656926 +6961,2019-10-18 00:00:00+00:00,0.0029794699861820776 +6962,2019-10-18 01:00:00+00:00,0.0006956936323380683 +6963,2019-10-18 02:00:00+00:00,0.0006956936323380683 +6964,2019-10-18 03:00:00+00:00,0.0013913874257514877 +6965,2019-10-18 04:00:00+00:00,0.004869855748517227 +6966,2019-10-18 05:00:00+00:00,0.03946714125696601 +6967,2019-10-18 06:00:00+00:00,0.06653896415625442 +6968,2019-10-18 07:00:00+00:00,0.0573231973145709 +6969,2019-10-18 08:00:00+00:00,0.06452633040753672 +6970,2019-10-18 09:00:00+00:00,0.049324551310251964 +6971,2019-10-18 10:00:00+00:00,0.03952773486180828 +6972,2019-10-18 11:00:00+00:00,0.03330193991343279 +6973,2019-10-18 12:00:00+00:00,0.027485558727456276 +6974,2019-10-18 13:00:00+00:00,0.021566504213233282 +6975,2019-10-18 14:00:00+00:00,0.016696648303641363 +6976,2019-10-18 15:00:00+00:00,0.01891895384380697 +6977,2019-10-18 16:00:00+00:00,0.031843776853522375 +6978,2019-10-18 17:00:00+00:00,0.056120503536603465 +6979,2019-10-18 18:00:00+00:00,0.058800680580106214 +6980,2019-10-18 19:00:00+00:00,0.05933961951359336 +6981,2019-10-18 20:00:00+00:00,0.05046978415192241 +6982,2019-10-18 21:00:00+00:00,0.033312228287436435 +6983,2019-10-18 22:00:00+00:00,0.01610200397731774 +6984,2019-10-18 23:00:00+00:00,0.005685881623840147 +6985,2019-10-19 00:00:00+00:00,0.003029842126810067 +6986,2019-10-19 01:00:00+00:00,0.000788800279388211 +6987,2019-10-19 02:00:00+00:00,0.0006956936323380683 +6988,2019-10-19 03:00:00+00:00,0.0013913874257514877 +6989,2019-10-19 04:00:00+00:00,0.004869855748517227 +6990,2019-10-19 05:00:00+00:00,0.039715304365818924 +6991,2019-10-19 06:00:00+00:00,0.06883156467846545 +6992,2019-10-19 07:00:00+00:00,0.06260156429700356 +6993,2019-10-19 08:00:00+00:00,0.07164352648988416 +6994,2019-10-19 09:00:00+00:00,0.06056176471332473 +6995,2019-10-19 10:00:00+00:00,0.05025744384355973 +6996,2019-10-19 11:00:00+00:00,0.04363917813891442 +6997,2019-10-19 12:00:00+00:00,0.029949508761433218 +6998,2019-10-19 13:00:00+00:00,0.02198858382157469 +6999,2019-10-19 14:00:00+00:00,0.016696648303641363 +7000,2019-10-19 15:00:00+00:00,0.019035579445811683 +7001,2019-10-19 16:00:00+00:00,0.0327712564036836 +7002,2019-10-19 17:00:00+00:00,0.05975653277730923 +7003,2019-10-19 18:00:00+00:00,0.07056705011423406 +7004,2019-10-19 19:00:00+00:00,0.06662854602147991 +7005,2019-10-19 20:00:00+00:00,0.0541698280663614 +7006,2019-10-19 21:00:00+00:00,0.035267574213329364 +7007,2019-10-19 22:00:00+00:00,0.01715687959194411 +7008,2019-10-19 23:00:00+00:00,0.006242010068120977 +7009,2019-10-20 00:00:00+00:00,0.00317188344289571 +7010,2019-10-20 01:00:00+00:00,0.0008114713208216083 +7011,2019-10-20 02:00:00+00:00,0.0006956936323380683 +7012,2019-10-20 03:00:00+00:00,0.0013913874257514877 +7013,2019-10-20 04:00:00+00:00,0.004929119845256235 +7014,2019-10-20 05:00:00+00:00,0.04011973465524387 +7015,2019-10-20 06:00:00+00:00,0.07232511758721188 +7016,2019-10-20 07:00:00+00:00,0.06985808825085149 +7017,2019-10-20 08:00:00+00:00,0.08086311210723678 +7018,2019-10-20 09:00:00+00:00,0.076110321792684 +7019,2019-10-20 10:00:00+00:00,0.06540671688397157 +7020,2019-10-20 11:00:00+00:00,0.06070479925687057 +7021,2019-10-20 12:00:00+00:00,0.03732468373096395 +7022,2019-10-20 13:00:00+00:00,0.02469803388110373 +7023,2019-10-20 14:00:00+00:00,0.016974722365927612 +7024,2019-10-20 15:00:00+00:00,0.020389223752322213 +7025,2019-10-20 16:00:00+00:00,0.03559364501074932 +7026,2019-10-20 17:00:00+00:00,0.07550197352148734 +7027,2019-10-20 18:00:00+00:00,0.08552215321368406 +7028,2019-10-20 19:00:00+00:00,0.07811602387086407 +7029,2019-10-20 20:00:00+00:00,0.05986012787921275 +7030,2019-10-20 21:00:00+00:00,0.03737545167515772 +7031,2019-10-20 22:00:00+00:00,0.017753520261224755 +7032,2019-10-20 23:00:00+00:00,0.006425395319911826 +7033,2019-10-21 00:00:00+00:00,0.0032226288739138167 +7034,2019-10-21 01:00:00+00:00,0.000831579103627863 +7035,2019-10-21 02:00:00+00:00,0.0006956936323380683 +7036,2019-10-21 03:00:00+00:00,0.0013913874257514877 +7037,2019-10-21 04:00:00+00:00,0.004989277038950854 +7038,2019-10-21 05:00:00+00:00,0.04041953578079909 +7039,2019-10-21 06:00:00+00:00,0.07469331114687655 +7040,2019-10-21 07:00:00+00:00,0.07355048273319467 +7041,2019-10-21 08:00:00+00:00,0.08384876724896985 +7042,2019-10-21 09:00:00+00:00,0.0788270337947363 +7043,2019-10-21 10:00:00+00:00,0.06839184976411075 +7044,2019-10-21 11:00:00+00:00,0.06399650754752619 +7045,2019-10-21 12:00:00+00:00,0.039501960996797064 +7046,2019-10-21 13:00:00+00:00,0.02520892449489489 +7047,2019-10-21 14:00:00+00:00,0.017144677230313092 +7048,2019-10-21 15:00:00+00:00,0.020755783992132248 +7049,2019-10-21 16:00:00+00:00,0.037568045297883726 +7050,2019-10-21 17:00:00+00:00,0.08033020390872928 +7051,2019-10-21 18:00:00+00:00,0.08937848396042247 +7052,2019-10-21 19:00:00+00:00,0.08014980022758103 +7053,2019-10-21 20:00:00+00:00,0.06052851460459521 +7054,2019-10-21 21:00:00+00:00,0.03775765544070583 +7055,2019-10-21 22:00:00+00:00,0.018073981289641942 +7056,2019-10-21 23:00:00+00:00,0.006476038101160536 +7057,2019-10-22 00:00:00+00:00,0.0032303052064946475 +7058,2019-10-22 01:00:00+00:00,0.000834931863773291 +7059,2019-10-22 02:00:00+00:00,0.0006956936323380683 +7060,2019-10-22 03:00:00+00:00,0.0013913874257514877 +7061,2019-10-22 04:00:00+00:00,0.004990566611546661 +7062,2019-10-22 05:00:00+00:00,0.040415791064849015 +7063,2019-10-22 06:00:00+00:00,0.07463179542902673 +7064,2019-10-22 07:00:00+00:00,0.07309567682661836 +7065,2019-10-22 08:00:00+00:00,0.08393171707577368 +7066,2019-10-22 09:00:00+00:00,0.07821294184649139 +7067,2019-10-22 10:00:00+00:00,0.06585381762822762 +7068,2019-10-22 11:00:00+00:00,0.06153837964107737 +7069,2019-10-22 12:00:00+00:00,0.038400365624463605 +7070,2019-10-22 13:00:00+00:00,0.02441564808900503 +7071,2019-10-22 14:00:00+00:00,0.016946728728417147 +7072,2019-10-22 15:00:00+00:00,0.02046441727065455 +7073,2019-10-22 16:00:00+00:00,0.03711280359905104 +7074,2019-10-22 17:00:00+00:00,0.0809167126421751 +7075,2019-10-22 18:00:00+00:00,0.09360251093316856 +7076,2019-10-22 19:00:00+00:00,0.0852783319829169 +7077,2019-10-22 20:00:00+00:00,0.06531348739818953 +7078,2019-10-22 21:00:00+00:00,0.040406165634204384 +7079,2019-10-22 22:00:00+00:00,0.01929112579082773 +7080,2019-10-22 23:00:00+00:00,0.00696859259181266 +7081,2019-10-23 00:00:00+00:00,0.003378652511171508 +7082,2019-10-23 01:00:00+00:00,0.000880779016302451 +7083,2019-10-23 02:00:00+00:00,0.0006956936323380683 +7084,2019-10-23 03:00:00+00:00,0.001637708010660539 +7085,2019-10-23 04:00:00+00:00,0.007463257175650969 +7086,2019-10-23 05:00:00+00:00,0.052970253854015284 +7087,2019-10-23 06:00:00+00:00,0.09892607722213616 +7088,2019-10-23 07:00:00+00:00,0.09760813067248603 +7089,2019-10-23 08:00:00+00:00,0.0952346967844919 +7090,2019-10-23 09:00:00+00:00,0.09019954830471681 +7091,2019-10-23 10:00:00+00:00,0.07852658639037147 +7092,2019-10-23 11:00:00+00:00,0.07982888156937837 +7093,2019-10-23 12:00:00+00:00,0.048071640751964635 +7094,2019-10-23 13:00:00+00:00,0.02613414534464132 +7095,2019-10-23 14:00:00+00:00,0.017370317347779426 +7096,2019-10-23 15:00:00+00:00,0.020068867319035705 +7097,2019-10-23 16:00:00+00:00,0.03678514654105016 +7098,2019-10-23 17:00:00+00:00,0.07482633441875032 +7099,2019-10-23 18:00:00+00:00,0.09315426236921422 +7100,2019-10-23 19:00:00+00:00,0.083769438750578 +7101,2019-10-23 20:00:00+00:00,0.06327435258263182 +7102,2019-10-23 21:00:00+00:00,0.03879874398491199 +7103,2019-10-23 22:00:00+00:00,0.018394428794279764 +7104,2019-10-23 23:00:00+00:00,0.006619271377186181 +7105,2019-10-24 00:00:00+00:00,0.0032652176891834325 +7106,2019-10-24 01:00:00+00:00,0.0008506163978820265 +7107,2019-10-24 02:00:00+00:00,0.0006956936323380683 +7108,2019-10-24 03:00:00+00:00,0.001413837866148848 +7109,2019-10-24 04:00:00+00:00,0.005165287286849775 +7110,2019-10-24 05:00:00+00:00,0.04226369424741466 +7111,2019-10-24 06:00:00+00:00,0.08001950004629763 +7112,2019-10-24 07:00:00+00:00,0.08049635549961763 +7113,2019-10-24 08:00:00+00:00,0.0884145934916305 +7114,2019-10-24 09:00:00+00:00,0.08407178958389568 +7115,2019-10-24 10:00:00+00:00,0.07386631840019375 +7116,2019-10-24 11:00:00+00:00,0.07041474000300092 +7117,2019-10-24 12:00:00+00:00,0.04288671267376193 +7118,2019-10-24 13:00:00+00:00,0.025735938241233793 +7119,2019-10-24 14:00:00+00:00,0.0171536111147172 +7120,2019-10-24 15:00:00+00:00,0.020061939369552806 +7121,2019-10-24 16:00:00+00:00,0.0351139772445561 +7122,2019-10-24 17:00:00+00:00,0.0663271205144753 +7123,2019-10-24 18:00:00+00:00,0.07966054082534245 +7124,2019-10-24 19:00:00+00:00,0.07606267699352004 +7125,2019-10-24 20:00:00+00:00,0.059007047352928 +7126,2019-10-24 21:00:00+00:00,0.037077602901196216 +7127,2019-10-24 22:00:00+00:00,0.01781586193784609 +7128,2019-10-24 23:00:00+00:00,0.006381786479744473 +7129,2019-10-25 00:00:00+00:00,0.003196623016496424 +7130,2019-10-25 01:00:00+00:00,0.0008309982357281903 +7131,2019-10-25 02:00:00+00:00,0.0006956936323380683 +7132,2019-10-25 03:00:00+00:00,0.0013913874257514877 +7133,2019-10-25 04:00:00+00:00,0.004901688313308682 +7134,2019-10-25 05:00:00+00:00,0.04002422891376012 +7135,2019-10-25 06:00:00+00:00,0.07280200357033946 +7136,2019-10-25 07:00:00+00:00,0.07224213999319376 +7137,2019-10-25 08:00:00+00:00,0.08406260407273813 +7138,2019-10-25 09:00:00+00:00,0.07853497712770133 +7139,2019-10-25 10:00:00+00:00,0.06949872348858636 +7140,2019-10-25 11:00:00+00:00,0.0659998454369534 +7141,2019-10-25 12:00:00+00:00,0.04096564154248442 +7142,2019-10-25 13:00:00+00:00,0.025679860466068034 +7143,2019-10-25 14:00:00+00:00,0.017394204625916874 +7144,2019-10-25 15:00:00+00:00,0.020779302113964147 +7145,2019-10-25 16:00:00+00:00,0.03659469341727239 +7146,2019-10-25 17:00:00+00:00,0.0755580039222455 +7147,2019-10-25 18:00:00+00:00,0.08468482791144513 +7148,2019-10-25 19:00:00+00:00,0.07471693874759175 +7149,2019-10-25 20:00:00+00:00,0.057009426499939675 +7150,2019-10-25 21:00:00+00:00,0.036161594524039394 +7151,2019-10-25 22:00:00+00:00,0.017265281253771338 +7152,2019-10-25 23:00:00+00:00,0.006147908801087582 +7153,2019-10-26 00:00:00+00:00,0.00313273353448714 +7154,2019-10-26 01:00:00+00:00,0.0008086013433063838 +7155,2019-10-26 02:00:00+00:00,0.0006956936323380683 +7156,2019-10-26 03:00:00+00:00,0.0013913874257514877 +7157,2019-10-26 04:00:00+00:00,0.004869855748517227 +7158,2019-10-26 05:00:00+00:00,0.03947402450697956 +7159,2019-10-26 06:00:00+00:00,0.06927452919670322 +7160,2019-10-26 07:00:00+00:00,0.06594911764652445 +7161,2019-10-26 08:00:00+00:00,0.07422025001524214 +7162,2019-10-26 09:00:00+00:00,0.06009908635648174 +7163,2019-10-26 10:00:00+00:00,0.046103623143202925 +7164,2019-10-26 11:00:00+00:00,0.03844846012272822 +7165,2019-10-26 12:00:00+00:00,0.026844500070705997 +7166,2019-10-26 13:00:00+00:00,0.021566504213233282 +7167,2019-10-26 14:00:00+00:00,0.016696648303641363 +7168,2019-10-26 15:00:00+00:00,0.018789938988342688 +7169,2019-10-26 16:00:00+00:00,0.031072442415671177 +7170,2019-10-26 17:00:00+00:00,0.05576807213866929 +7171,2019-10-26 18:00:00+00:00,0.05721253863132703 +7172,2019-10-26 19:00:00+00:00,0.05161521001141617 +7173,2019-10-26 20:00:00+00:00,0.04475382409072737 +7174,2019-10-26 21:00:00+00:00,0.030965678445581707 +7175,2019-10-26 22:00:00+00:00,0.015515647001825278 +7176,2019-10-26 23:00:00+00:00,0.005718961395094936 +7177,2019-10-27 00:00:00+00:00,0.003126915106756596 +7178,2019-10-27 01:00:00+00:00,0.0010536270720028272 +7179,2019-10-27 02:00:00+00:00,0.0008103981699985224 +7180,2019-10-27 03:00:00+00:00,0.0013913874257514877 +7181,2019-10-27 04:00:00+00:00,0.004869855748517227 +7182,2019-10-27 05:00:00+00:00,0.03895884614921248 +7183,2019-10-27 06:00:00+00:00,0.06548838949771027 +7184,2019-10-27 07:00:00+00:00,0.05467158873440367 +7185,2019-10-27 08:00:00+00:00,0.06799792187654596 +7186,2019-10-27 09:00:00+00:00,0.053162740246761375 +7187,2019-10-27 10:00:00+00:00,0.05718148570751607 +7188,2019-10-27 11:00:00+00:00,0.057159174853188124 +7189,2019-10-27 12:00:00+00:00,0.04363584870899109 +7190,2019-10-27 13:00:00+00:00,0.028450739438224962 +7191,2019-10-27 14:00:00+00:00,0.017802633559006877 +7192,2019-10-27 15:00:00+00:00,0.0220201527204977 +7193,2019-10-27 16:00:00+00:00,0.04269082283373135 +7194,2019-10-27 17:00:00+00:00,0.08960673852095967 +7195,2019-10-27 18:00:00+00:00,0.10061014275902486 +7196,2019-10-27 19:00:00+00:00,0.0928686086983263 +7197,2019-10-27 20:00:00+00:00,0.07872101600117722 +7198,2019-10-27 21:00:00+00:00,0.052472735645312345 +7199,2019-10-27 22:00:00+00:00,0.0257563375351461 +7200,2019-10-27 23:00:00+00:00,0.01328157651956888 +7201,2019-10-28 00:00:00+00:00,0.008702854558085931 +7202,2019-10-28 01:00:00+00:00,0.0022610833610276766 +7203,2019-10-28 02:00:00+00:00,0.0008936634281704479 +7204,2019-10-28 03:00:00+00:00,0.0013913874257514877 +7205,2019-10-28 04:00:00+00:00,0.0054581098981559524 +7206,2019-10-28 05:00:00+00:00,0.044416466450930434 +7207,2019-10-28 06:00:00+00:00,0.0882577161673111 +7208,2019-10-28 07:00:00+00:00,0.09894447128532703 +7209,2019-10-28 08:00:00+00:00,0.09051328143025812 +7210,2019-10-28 09:00:00+00:00,0.0854638278846192 +7211,2019-10-28 10:00:00+00:00,0.06940604440117654 +7212,2019-10-28 11:00:00+00:00,0.06499813473394093 +7213,2019-10-28 12:00:00+00:00,0.050956817744087834 +7214,2019-10-28 13:00:00+00:00,0.03556291752492985 +7215,2019-10-28 14:00:00+00:00,0.018415617941667427 +7216,2019-10-28 15:00:00+00:00,0.024289945252715127 +7217,2019-10-28 16:00:00+00:00,0.05985639420268672 +7218,2019-10-28 17:00:00+00:00,0.11428120415685822 +7219,2019-10-28 18:00:00+00:00,0.12450407470570837 +7220,2019-10-28 19:00:00+00:00,0.16800251998102206 +7221,2019-10-28 20:00:00+00:00,0.16734286387626468 +7222,2019-10-28 21:00:00+00:00,0.11249858716931105 +7223,2019-10-28 22:00:00+00:00,0.05526356722430181 +7224,2019-10-28 23:00:00+00:00,0.02482161235977065 +7225,2019-10-29 00:00:00+00:00,0.010151506898111397 +7226,2019-10-29 01:00:00+00:00,0.002559274665864394 +7227,2019-10-29 02:00:00+00:00,0.0009326302373710911 +7228,2019-10-29 03:00:00+00:00,0.002068700958671466 +7229,2019-10-29 04:00:00+00:00,0.007181907027746951 +7230,2019-10-29 05:00:00+00:00,0.056231644222684785 +7231,2019-10-29 06:00:00+00:00,0.11790030622864353 +7232,2019-10-29 07:00:00+00:00,0.1333427057398562 +7233,2019-10-29 08:00:00+00:00,0.11600711919785293 +7234,2019-10-29 09:00:00+00:00,0.10205522269112834 +7235,2019-10-29 10:00:00+00:00,0.09199460938672865 +7236,2019-10-29 11:00:00+00:00,0.09956543603900449 +7237,2019-10-29 12:00:00+00:00,0.052825052436204306 +7238,2019-10-29 13:00:00+00:00,0.03681519727828424 +7239,2019-10-29 14:00:00+00:00,0.019000832811480378 +7240,2019-10-29 15:00:00+00:00,0.02541149669795623 +7241,2019-10-29 16:00:00+00:00,0.07469922438456472 +7242,2019-10-29 17:00:00+00:00,0.14959772199461993 +7243,2019-10-29 18:00:00+00:00,0.2062147639690448 +7244,2019-10-29 19:00:00+00:00,0.22378750714505535 +7245,2019-10-29 20:00:00+00:00,0.1929933748046324 +7246,2019-10-29 21:00:00+00:00,0.13029726282737117 +7247,2019-10-29 22:00:00+00:00,0.06453507582337546 +7248,2019-10-29 23:00:00+00:00,0.02903988891298473 +7249,2019-10-30 00:00:00+00:00,0.012115472860974325 +7250,2019-10-30 01:00:00+00:00,0.0032017199887821117 +7251,2019-10-30 02:00:00+00:00,0.0016732095766954073 +7252,2019-10-30 03:00:00+00:00,0.0029742570753916197 +7253,2019-10-30 04:00:00+00:00,0.009471302368922657 +7254,2019-10-30 05:00:00+00:00,0.07271964719524354 +7255,2019-10-30 06:00:00+00:00,0.15909166080792655 +7256,2019-10-30 07:00:00+00:00,0.1967912305507492 +7257,2019-10-30 08:00:00+00:00,0.14430100258026912 +7258,2019-10-30 09:00:00+00:00,0.14452024774771197 +7259,2019-10-30 10:00:00+00:00,0.14198141987042714 +7260,2019-10-30 11:00:00+00:00,0.16290836125839406 +7261,2019-10-30 12:00:00+00:00,0.11003084162944762 +7262,2019-10-30 13:00:00+00:00,0.04304681469008008 +7263,2019-10-30 14:00:00+00:00,0.019572288579989557 +7264,2019-10-30 15:00:00+00:00,0.030472471348950175 +7265,2019-10-30 16:00:00+00:00,0.0996800807193426 +7266,2019-10-30 17:00:00+00:00,0.1936965001220904 +7267,2019-10-30 18:00:00+00:00,0.265587552498039 +7268,2019-10-30 19:00:00+00:00,0.2672286703464486 +7269,2019-10-30 20:00:00+00:00,0.22541112373206043 +7270,2019-10-30 21:00:00+00:00,0.14961013519479985 +7271,2019-10-30 22:00:00+00:00,0.07434832099775587 +7272,2019-10-30 23:00:00+00:00,0.03490448406069372 +7273,2019-10-31 00:00:00+00:00,0.01424022493180105 +7274,2019-10-31 01:00:00+00:00,0.004535511269104496 +7275,2019-10-31 02:00:00+00:00,0.002587476033060533 +7276,2019-10-31 03:00:00+00:00,0.003743455838278836 +7277,2019-10-31 04:00:00+00:00,0.01371515633166852 +7278,2019-10-31 05:00:00+00:00,0.10286761780484999 +7279,2019-10-31 06:00:00+00:00,0.22651149701735399 +7280,2019-10-31 07:00:00+00:00,0.2768680144870021 +7281,2019-10-31 08:00:00+00:00,0.18518910582887943 +7282,2019-10-31 09:00:00+00:00,0.19152019234336276 +7283,2019-10-31 10:00:00+00:00,0.21781786691282723 +7284,2019-10-31 11:00:00+00:00,0.25407380611111563 +7285,2019-10-31 12:00:00+00:00,0.19012155509792789 +7286,2019-10-31 13:00:00+00:00,0.10041343976818909 +7287,2019-10-31 14:00:00+00:00,0.04768506989706307 +7288,2019-10-31 15:00:00+00:00,0.10912886146917398 +7289,2019-10-31 16:00:00+00:00,0.2421723780151133 +7290,2019-10-31 17:00:00+00:00,0.351604097827456 +7291,2019-10-31 18:00:00+00:00,0.34471616741625866 +7292,2019-10-31 19:00:00+00:00,0.324320120795362 +7293,2019-10-31 20:00:00+00:00,0.26833221937696033 +7294,2019-10-31 21:00:00+00:00,0.18055084031476845 +7295,2019-10-31 22:00:00+00:00,0.08962929040684185 +7296,2019-10-31 23:00:00+00:00,0.040710312509007265 +7297,2019-11-01 00:00:00+00:00,0.01650110454521895 +7298,2019-11-01 01:00:00+00:00,0.005493382734370167 +7299,2019-11-01 02:00:00+00:00,0.0031374991280713966 +7300,2019-11-01 03:00:00+00:00,0.005049497258645903 +7301,2019-11-01 04:00:00+00:00,0.02094497774116259 +7302,2019-11-01 05:00:00+00:00,0.13073457347055367 +7303,2019-11-01 06:00:00+00:00,0.2707524958196924 +7304,2019-11-01 07:00:00+00:00,0.3367297730394382 +7305,2019-11-01 08:00:00+00:00,0.27522433527489065 +7306,2019-11-01 09:00:00+00:00,0.2906228544491442 +7307,2019-11-01 10:00:00+00:00,0.31960749847180586 +7308,2019-11-01 11:00:00+00:00,0.42616353010994956 +7309,2019-11-01 12:00:00+00:00,0.3697448552802602 +7310,2019-11-01 13:00:00+00:00,0.20196613786715648 +7311,2019-11-01 14:00:00+00:00,0.11610583638328371 +7312,2019-11-01 15:00:00+00:00,0.2760891466716098 +7313,2019-11-01 16:00:00+00:00,0.31185789449272516 +7314,2019-11-01 17:00:00+00:00,0.34120015836953166 +7315,2019-11-01 18:00:00+00:00,0.3217138512577932 +7316,2019-11-01 19:00:00+00:00,0.28843681136560306 +7317,2019-11-01 20:00:00+00:00,0.23109635670912645 +7318,2019-11-01 21:00:00+00:00,0.14849339556713026 +7319,2019-11-01 22:00:00+00:00,0.06994136022411218 +7320,2019-11-01 23:00:00+00:00,0.030578719569802265 +7321,2019-11-02 00:00:00+00:00,0.012273194958852053 +7322,2019-11-02 01:00:00+00:00,0.003466282072085432 +7323,2019-11-02 02:00:00+00:00,0.0019161249211581944 +7324,2019-11-02 03:00:00+00:00,0.0025974124502822493 +7325,2019-11-02 04:00:00+00:00,0.008969454170865325 +7326,2019-11-02 05:00:00+00:00,0.06640470541810296 +7327,2019-11-02 06:00:00+00:00,0.1413393171558435 +7328,2019-11-02 07:00:00+00:00,0.17627732338357915 +7329,2019-11-02 08:00:00+00:00,0.16481588133273253 +7330,2019-11-02 09:00:00+00:00,0.20153259754207753 +7331,2019-11-02 10:00:00+00:00,0.21460739441101787 +7332,2019-11-02 11:00:00+00:00,0.2872707674868133 +7333,2019-11-02 12:00:00+00:00,0.2521591066723313 +7334,2019-11-02 13:00:00+00:00,0.1271303399709017 +7335,2019-11-02 14:00:00+00:00,0.06364628165200903 +7336,2019-11-02 15:00:00+00:00,0.12593416837399676 +7337,2019-11-02 16:00:00+00:00,0.2336213331051545 +7338,2019-11-02 17:00:00+00:00,0.28038425170124887 +7339,2019-11-02 18:00:00+00:00,0.2761022120186812 +7340,2019-11-02 19:00:00+00:00,0.25594362730164794 +7341,2019-11-02 20:00:00+00:00,0.20813914422894003 +7342,2019-11-02 21:00:00+00:00,0.13607712497076777 +7343,2019-11-02 22:00:00+00:00,0.06480643178066854 +7344,2019-11-02 23:00:00+00:00,0.028926662022796312 +7345,2019-11-03 00:00:00+00:00,0.01180684562512429 +7346,2019-11-03 01:00:00+00:00,0.003214377429656535 +7347,2019-11-03 02:00:00+00:00,0.0014709694992423533 +7348,2019-11-03 03:00:00+00:00,0.00231629178049321 +7349,2019-11-03 04:00:00+00:00,0.007601381171826684 +7350,2019-11-03 05:00:00+00:00,0.06088123167924731 +7351,2019-11-03 06:00:00+00:00,0.13166955255202006 +7352,2019-11-03 07:00:00+00:00,0.17301711800382494 +7353,2019-11-03 08:00:00+00:00,0.16214887585760326 +7354,2019-11-03 09:00:00+00:00,0.19511207422094784 +7355,2019-11-03 10:00:00+00:00,0.227337875951157 +7356,2019-11-03 11:00:00+00:00,0.2994035420735869 +7357,2019-11-03 12:00:00+00:00,0.2596737511485687 +7358,2019-11-03 13:00:00+00:00,0.1403584443122648 +7359,2019-11-03 14:00:00+00:00,0.07139226511574372 +7360,2019-11-03 15:00:00+00:00,0.1586508897343052 +7361,2019-11-03 16:00:00+00:00,0.25256385717077756 +7362,2019-11-03 17:00:00+00:00,0.29134973618603704 +7363,2019-11-03 18:00:00+00:00,0.2845911708238718 +7364,2019-11-03 19:00:00+00:00,0.2608967377037086 +7365,2019-11-03 20:00:00+00:00,0.21399622252286543 +7366,2019-11-03 21:00:00+00:00,0.13963921870797988 +7367,2019-11-03 22:00:00+00:00,0.06622498778814616 +7368,2019-11-03 23:00:00+00:00,0.029785415385283353 +7369,2019-11-04 00:00:00+00:00,0.012111044442313623 +7370,2019-11-04 01:00:00+00:00,0.003184223464503598 +7371,2019-11-04 02:00:00+00:00,0.0014032117555639314 +7372,2019-11-04 03:00:00+00:00,0.0022087177699705793 +7373,2019-11-04 04:00:00+00:00,0.007441899147156486 +7374,2019-11-04 05:00:00+00:00,0.05857561470758073 +7375,2019-11-04 06:00:00+00:00,0.1247445392203514 +7376,2019-11-04 07:00:00+00:00,0.16338363459107633 +7377,2019-11-04 08:00:00+00:00,0.15700592348141296 +7378,2019-11-04 09:00:00+00:00,0.19562911569936545 +7379,2019-11-04 10:00:00+00:00,0.2290557465382111 +7380,2019-11-04 11:00:00+00:00,0.30451438296096794 +7381,2019-11-04 12:00:00+00:00,0.26493821060379213 +7382,2019-11-04 13:00:00+00:00,0.14236530817684598 +7383,2019-11-04 14:00:00+00:00,0.07149224010358218 +7384,2019-11-04 15:00:00+00:00,0.15603283534727166 +7385,2019-11-04 16:00:00+00:00,0.2553141468834802 +7386,2019-11-04 17:00:00+00:00,0.29323564854909057 +7387,2019-11-04 18:00:00+00:00,0.28504506800206414 +7388,2019-11-04 19:00:00+00:00,0.26107269018829937 +7389,2019-11-04 20:00:00+00:00,0.21220092399142876 +7390,2019-11-04 21:00:00+00:00,0.13748731676760167 +7391,2019-11-04 22:00:00+00:00,0.06565276746108349 +7392,2019-11-04 23:00:00+00:00,0.029047130557560558 +7393,2019-11-05 00:00:00+00:00,0.011920412674864 +7394,2019-11-05 01:00:00+00:00,0.003198136255878793 +7395,2019-11-05 02:00:00+00:00,0.0013658818507320406 +7396,2019-11-05 03:00:00+00:00,0.0021818593423701326 +7397,2019-11-05 04:00:00+00:00,0.00778602351020516 +7398,2019-11-05 05:00:00+00:00,0.05966151747623749 +7399,2019-11-05 06:00:00+00:00,0.13008132438649936 +7400,2019-11-05 07:00:00+00:00,0.17402355836702577 +7401,2019-11-05 08:00:00+00:00,0.16316794507682453 +7402,2019-11-05 09:00:00+00:00,0.20366424228068566 +7403,2019-11-05 10:00:00+00:00,0.24039789930302585 +7404,2019-11-05 11:00:00+00:00,0.3218145739652157 +7405,2019-11-05 12:00:00+00:00,0.28087065438022946 +7406,2019-11-05 13:00:00+00:00,0.15253781384800927 +7407,2019-11-05 14:00:00+00:00,0.07979524044100259 +7408,2019-11-05 15:00:00+00:00,0.18941633049675832 +7409,2019-11-05 16:00:00+00:00,0.2665896687825029 +7410,2019-11-05 17:00:00+00:00,0.30587361596468754 +7411,2019-11-05 18:00:00+00:00,0.29751544333880237 +7412,2019-11-05 19:00:00+00:00,0.26844910850283643 +7413,2019-11-05 20:00:00+00:00,0.21643044426112848 +7414,2019-11-05 21:00:00+00:00,0.14052752928543452 +7415,2019-11-05 22:00:00+00:00,0.0669549529182278 +7416,2019-11-05 23:00:00+00:00,0.02966129718152857 +7417,2019-11-06 00:00:00+00:00,0.012116166455820724 +7418,2019-11-06 01:00:00+00:00,0.003237265139405604 +7419,2019-11-06 02:00:00+00:00,0.0013953155962475312 +7420,2019-11-06 03:00:00+00:00,0.0022372252827438394 +7421,2019-11-06 04:00:00+00:00,0.008175007097626948 +7422,2019-11-06 05:00:00+00:00,0.061329476679119845 +7423,2019-11-06 06:00:00+00:00,0.1355149792836768 +7424,2019-11-06 07:00:00+00:00,0.18431648076491 +7425,2019-11-06 08:00:00+00:00,0.16981018003366938 +7426,2019-11-06 09:00:00+00:00,0.21168227336077325 +7427,2019-11-06 10:00:00+00:00,0.2391473798678809 +7428,2019-11-06 11:00:00+00:00,0.2929350198146213 +7429,2019-11-06 12:00:00+00:00,0.274284701200502 +7430,2019-11-06 13:00:00+00:00,0.1504010002184391 +7431,2019-11-06 14:00:00+00:00,0.08144789184643089 +7432,2019-11-06 15:00:00+00:00,0.21543242791333625 +7433,2019-11-06 16:00:00+00:00,0.2911854236473548 +7434,2019-11-06 17:00:00+00:00,0.3237070678768051 +7435,2019-11-06 18:00:00+00:00,0.31156747412069513 +7436,2019-11-06 19:00:00+00:00,0.2853728180726864 +7437,2019-11-06 20:00:00+00:00,0.232819210430799 +7438,2019-11-06 21:00:00+00:00,0.15053917701802105 +7439,2019-11-06 22:00:00+00:00,0.07173180778992065 +7440,2019-11-06 23:00:00+00:00,0.03214490567461808 +7441,2019-11-07 00:00:00+00:00,0.01289745939507158 +7442,2019-11-07 01:00:00+00:00,0.003450290812676022 +7443,2019-11-07 02:00:00+00:00,0.0017573405447022159 +7444,2019-11-07 03:00:00+00:00,0.0025627206487121284 +7445,2019-11-07 04:00:00+00:00,0.010105306144599823 +7446,2019-11-07 05:00:00+00:00,0.07088371157221805 +7447,2019-11-07 06:00:00+00:00,0.1596733494230927 +7448,2019-11-07 07:00:00+00:00,0.2158097088747161 +7449,2019-11-07 08:00:00+00:00,0.18884429852852422 +7450,2019-11-07 09:00:00+00:00,0.22791694794141173 +7451,2019-11-07 10:00:00+00:00,0.2655198111434348 +7452,2019-11-07 11:00:00+00:00,0.360046624692149 +7453,2019-11-07 12:00:00+00:00,0.3231349956533857 +7454,2019-11-07 13:00:00+00:00,0.17678525048031526 +7455,2019-11-07 14:00:00+00:00,0.09879799373047239 +7456,2019-11-07 15:00:00+00:00,0.2518227795279425 +7457,2019-11-07 16:00:00+00:00,0.29370374961407275 +7458,2019-11-07 17:00:00+00:00,0.32939749778613264 +7459,2019-11-07 18:00:00+00:00,0.3204753711544054 +7460,2019-11-07 19:00:00+00:00,0.2939725116324181 +7461,2019-11-07 20:00:00+00:00,0.24278729446314623 +7462,2019-11-07 21:00:00+00:00,0.15926551548950846 +7463,2019-11-07 22:00:00+00:00,0.0770596281663131 +7464,2019-11-07 23:00:00+00:00,0.03448762818467228 +7465,2019-11-08 00:00:00+00:00,0.01408645003844888 +7466,2019-11-08 01:00:00+00:00,0.004082874919565167 +7467,2019-11-08 02:00:00+00:00,0.0022354330673099903 +7468,2019-11-08 03:00:00+00:00,0.0035018018067932487 +7469,2019-11-08 04:00:00+00:00,0.014524977070164083 +7470,2019-11-08 05:00:00+00:00,0.09715294004547773 +7471,2019-11-08 06:00:00+00:00,0.22298206389791725 +7472,2019-11-08 07:00:00+00:00,0.2904053541486842 +7473,2019-11-08 08:00:00+00:00,0.19678478944557207 +7474,2019-11-08 09:00:00+00:00,0.19341262043746277 +7475,2019-11-08 10:00:00+00:00,0.20166982477377 +7476,2019-11-08 11:00:00+00:00,0.24982360016780966 +7477,2019-11-08 12:00:00+00:00,0.2041295444947438 +7478,2019-11-08 13:00:00+00:00,0.10193214275955968 +7479,2019-11-08 14:00:00+00:00,0.05189889917261523 +7480,2019-11-08 15:00:00+00:00,0.11131094587775725 +7481,2019-11-08 16:00:00+00:00,0.2779356334889584 +7482,2019-11-08 17:00:00+00:00,0.36575670465071836 +7483,2019-11-08 18:00:00+00:00,0.36194509009343306 +7484,2019-11-08 19:00:00+00:00,0.33897274176956543 +7485,2019-11-08 20:00:00+00:00,0.274480659722554 +7486,2019-11-08 21:00:00+00:00,0.17562334917977537 +7487,2019-11-08 22:00:00+00:00,0.08532752098373814 +7488,2019-11-08 23:00:00+00:00,0.03827391300555299 +7489,2019-11-09 00:00:00+00:00,0.015492185216552337 +7490,2019-11-09 01:00:00+00:00,0.004991216162887302 +7491,2019-11-09 02:00:00+00:00,0.002782552341528603 +7492,2019-11-09 03:00:00+00:00,0.003649490147483966 +7493,2019-11-09 04:00:00+00:00,0.018635055496017558 +7494,2019-11-09 05:00:00+00:00,0.11070227741444776 +7495,2019-11-09 06:00:00+00:00,0.24199369403945883 +7496,2019-11-09 07:00:00+00:00,0.312873003019797 +7497,2019-11-09 08:00:00+00:00,0.25462844033752446 +7498,2019-11-09 09:00:00+00:00,0.27361848361013535 +7499,2019-11-09 10:00:00+00:00,0.3072150183155982 +7500,2019-11-09 11:00:00+00:00,0.41507131135206937 +7501,2019-11-09 12:00:00+00:00,0.3552657868005533 +7502,2019-11-09 13:00:00+00:00,0.20545657676417384 +7503,2019-11-09 14:00:00+00:00,0.11650103304308473 +7504,2019-11-09 15:00:00+00:00,0.3094307645429891 +7505,2019-11-09 16:00:00+00:00,0.3342757501154795 +7506,2019-11-09 17:00:00+00:00,0.3719511781816845 +7507,2019-11-09 18:00:00+00:00,0.35567388652510584 +7508,2019-11-09 19:00:00+00:00,0.3272493518401837 +7509,2019-11-09 20:00:00+00:00,0.27008639566168074 +7510,2019-11-09 21:00:00+00:00,0.17815618991234167 +7511,2019-11-09 22:00:00+00:00,0.08824090848740895 +7512,2019-11-09 23:00:00+00:00,0.040430547500932924 +7513,2019-11-10 00:00:00+00:00,0.016491345345699654 +7514,2019-11-10 01:00:00+00:00,0.005585941665406359 +7515,2019-11-10 02:00:00+00:00,0.0032761588067987905 +7516,2019-11-10 03:00:00+00:00,0.005207193618084115 +7517,2019-11-10 04:00:00+00:00,0.027172168194709127 +7518,2019-11-10 05:00:00+00:00,0.1470699253139455 +7519,2019-11-10 06:00:00+00:00,0.3200733312692518 +7520,2019-11-10 07:00:00+00:00,0.4060792504576119 +7521,2019-11-10 08:00:00+00:00,0.2817213670841944 +7522,2019-11-10 09:00:00+00:00,0.2505089048938435 +7523,2019-11-10 10:00:00+00:00,0.24149904964969954 +7524,2019-11-10 11:00:00+00:00,0.31030326161695854 +7525,2019-11-10 12:00:00+00:00,0.25247953006317486 +7526,2019-11-10 13:00:00+00:00,0.1267982858959185 +7527,2019-11-10 14:00:00+00:00,0.06168265543280623 +7528,2019-11-10 15:00:00+00:00,0.13944012316969617 +7529,2019-11-10 16:00:00+00:00,0.3510930717674392 +7530,2019-11-10 17:00:00+00:00,0.4209121003914738 +7531,2019-11-10 18:00:00+00:00,0.41760801514078844 +7532,2019-11-10 19:00:00+00:00,0.39195868116518867 +7533,2019-11-10 20:00:00+00:00,0.32618848012933127 +7534,2019-11-10 21:00:00+00:00,0.2137404352596052 +7535,2019-11-10 22:00:00+00:00,0.10032620512406262 +7536,2019-11-10 23:00:00+00:00,0.045559920507162434 +7537,2019-11-11 00:00:00+00:00,0.018749196414788713 +7538,2019-11-11 01:00:00+00:00,0.00659045371530563 +7539,2019-11-11 02:00:00+00:00,0.004399750871599018 +7540,2019-11-11 03:00:00+00:00,0.007820808087622231 +7541,2019-11-11 04:00:00+00:00,0.036735146041846675 +7542,2019-11-11 05:00:00+00:00,0.17123464228688498 +7543,2019-11-11 06:00:00+00:00,0.3528200447422724 +7544,2019-11-11 07:00:00+00:00,0.44532476110566405 +7545,2019-11-11 08:00:00+00:00,0.3719959023353109 +7546,2019-11-11 09:00:00+00:00,0.3659217604877062 +7547,2019-11-11 10:00:00+00:00,0.37813566347486566 +7548,2019-11-11 11:00:00+00:00,0.5180834970617928 +7549,2019-11-11 12:00:00+00:00,0.45316018791912643 +7550,2019-11-11 13:00:00+00:00,0.27821357744771 +7551,2019-11-11 14:00:00+00:00,0.212440935073421 +7552,2019-11-11 15:00:00+00:00,0.38956082017729377 +7553,2019-11-11 16:00:00+00:00,0.39754003397809734 +7554,2019-11-11 17:00:00+00:00,0.4263427919634845 +7555,2019-11-11 18:00:00+00:00,0.4088051395073186 +7556,2019-11-11 19:00:00+00:00,0.3738316236848572 +7557,2019-11-11 20:00:00+00:00,0.3083667341340921 +7558,2019-11-11 21:00:00+00:00,0.2004796160345097 +7559,2019-11-11 22:00:00+00:00,0.09623944589763303 +7560,2019-11-11 23:00:00+00:00,0.04214991276410131 +7561,2019-11-12 00:00:00+00:00,0.017486928463977293 +7562,2019-11-12 01:00:00+00:00,0.006049165690260329 +7563,2019-11-12 02:00:00+00:00,0.003535080826626203 +7564,2019-11-12 03:00:00+00:00,0.006040166003557173 +7565,2019-11-12 04:00:00+00:00,0.031363511655620256 +7566,2019-11-12 05:00:00+00:00,0.15320806723557298 +7567,2019-11-12 06:00:00+00:00,0.32890620742240856 +7568,2019-11-12 07:00:00+00:00,0.4274149406887733 +7569,2019-11-12 08:00:00+00:00,0.5162378907575635 +7570,2019-11-12 09:00:00+00:00,0.39696112414181217 +7571,2019-11-12 10:00:00+00:00,0.40433045580179455 +7572,2019-11-12 11:00:00+00:00,0.5602909696133037 +7573,2019-11-12 12:00:00+00:00,0.43521476877307425 +7574,2019-11-12 13:00:00+00:00,0.27123566363561485 +7575,2019-11-12 14:00:00+00:00,0.38911562628561736 +7576,2019-11-12 15:00:00+00:00,0.4087643331668882 +7577,2019-11-12 16:00:00+00:00,0.41219438349604653 +7578,2019-11-12 17:00:00+00:00,0.4407816854072796 +7579,2019-11-12 18:00:00+00:00,0.42263304745410984 +7580,2019-11-12 19:00:00+00:00,0.38774366591537046 +7581,2019-11-12 20:00:00+00:00,0.3194650344758091 +7582,2019-11-12 21:00:00+00:00,0.20623403615756988 +7583,2019-11-12 22:00:00+00:00,0.09804950408299067 +7584,2019-11-12 23:00:00+00:00,0.042547771342625815 +7585,2019-11-13 00:00:00+00:00,0.017799569251843915 +7586,2019-11-13 01:00:00+00:00,0.006079430722535823 +7587,2019-11-13 02:00:00+00:00,0.003655834090766271 +7588,2019-11-13 03:00:00+00:00,0.006236482234983961 +7589,2019-11-13 04:00:00+00:00,0.03229658406755488 +7590,2019-11-13 05:00:00+00:00,0.15420172599171875 +7591,2019-11-13 06:00:00+00:00,0.3269699884420447 +7592,2019-11-13 07:00:00+00:00,0.4206925409234317 +7593,2019-11-13 08:00:00+00:00,0.4978519850522372 +7594,2019-11-13 09:00:00+00:00,0.3901376001141576 +7595,2019-11-13 10:00:00+00:00,0.390309964258449 +7596,2019-11-13 11:00:00+00:00,0.5401150763666441 +7597,2019-11-13 12:00:00+00:00,0.4650814523268291 +7598,2019-11-13 13:00:00+00:00,0.3019384851876034 +7599,2019-11-13 14:00:00+00:00,0.40132991141385266 +7600,2019-11-13 15:00:00+00:00,0.41776030539111497 +7601,2019-11-13 16:00:00+00:00,0.41205983979141036 +7602,2019-11-13 17:00:00+00:00,0.44117827648568414 +7603,2019-11-13 18:00:00+00:00,0.42934511594041863 +7604,2019-11-13 19:00:00+00:00,0.3920162105670897 +7605,2019-11-13 20:00:00+00:00,0.31800033937677574 +7606,2019-11-13 21:00:00+00:00,0.20467874342746684 +7607,2019-11-13 22:00:00+00:00,0.09883745125974544 +7608,2019-11-13 23:00:00+00:00,0.0427096572093073 +7609,2019-11-14 00:00:00+00:00,0.017989276112810253 +7610,2019-11-14 01:00:00+00:00,0.00621877017154444 +7611,2019-11-14 02:00:00+00:00,0.0037760402858895135 +7612,2019-11-14 03:00:00+00:00,0.006644799885191421 +7613,2019-11-14 04:00:00+00:00,0.034605478291169625 +7614,2019-11-14 05:00:00+00:00,0.16296806900754224 +7615,2019-11-14 06:00:00+00:00,0.34295849294695335 +7616,2019-11-14 07:00:00+00:00,0.4437879931266494 +7617,2019-11-14 08:00:00+00:00,0.5314751960310659 +7618,2019-11-14 09:00:00+00:00,0.40822201452136686 +7619,2019-11-14 10:00:00+00:00,0.4067772821796468 +7620,2019-11-14 11:00:00+00:00,0.5466973728237964 +7621,2019-11-14 12:00:00+00:00,0.47039318062623187 +7622,2019-11-14 13:00:00+00:00,0.3148620830253407 +7623,2019-11-14 14:00:00+00:00,0.40406175651114057 +7624,2019-11-14 15:00:00+00:00,0.41993159385240514 +7625,2019-11-14 16:00:00+00:00,0.40972915941828403 +7626,2019-11-14 17:00:00+00:00,0.43568931221914287 +7627,2019-11-14 18:00:00+00:00,0.4181747162317574 +7628,2019-11-14 19:00:00+00:00,0.38241261349875166 +7629,2019-11-14 20:00:00+00:00,0.3149145968283638 +7630,2019-11-14 21:00:00+00:00,0.2061896455553564 +7631,2019-11-14 22:00:00+00:00,0.09898580152612145 +7632,2019-11-14 23:00:00+00:00,0.04334880878836699 +7633,2019-11-15 00:00:00+00:00,0.018254990293453826 +7634,2019-11-15 01:00:00+00:00,0.006381546658656935 +7635,2019-11-15 02:00:00+00:00,0.0038776427694784503 +7636,2019-11-15 03:00:00+00:00,0.0071506959419159535 +7637,2019-11-15 04:00:00+00:00,0.03648555688301725 +7638,2019-11-15 05:00:00+00:00,0.17008277447559222 +7639,2019-11-15 06:00:00+00:00,0.3575700994534014 +7640,2019-11-15 07:00:00+00:00,0.4632231707212745 +7641,2019-11-15 08:00:00+00:00,0.5555500919701009 +7642,2019-11-15 09:00:00+00:00,0.4273339072027765 +7643,2019-11-15 10:00:00+00:00,0.4297833599267104 +7644,2019-11-15 11:00:00+00:00,0.5677481174685481 +7645,2019-11-15 12:00:00+00:00,0.4923713885196855 +7646,2019-11-15 13:00:00+00:00,0.3446280226892624 +7647,2019-11-15 14:00:00+00:00,0.4281051069879133 +7648,2019-11-15 15:00:00+00:00,0.44281385662677775 +7649,2019-11-15 16:00:00+00:00,0.4312406882602179 +7650,2019-11-15 17:00:00+00:00,0.4547217766676339 +7651,2019-11-15 18:00:00+00:00,0.4348183249092163 +7652,2019-11-15 19:00:00+00:00,0.3986563246063053 +7653,2019-11-15 20:00:00+00:00,0.32883285891478514 +7654,2019-11-15 21:00:00+00:00,0.21459588335722043 +7655,2019-11-15 22:00:00+00:00,0.10418008453673115 +7656,2019-11-15 23:00:00+00:00,0.04607491196567977 +7657,2019-11-16 00:00:00+00:00,0.019370323797783837 +7658,2019-11-16 01:00:00+00:00,0.006916432842100812 +7659,2019-11-16 02:00:00+00:00,0.004758217443122351 +7660,2019-11-16 03:00:00+00:00,0.00934633592926035 +7661,2019-11-16 04:00:00+00:00,0.043140829138802454 +7662,2019-11-16 05:00:00+00:00,0.1920797843278659 +7663,2019-11-16 06:00:00+00:00,0.4015910701528268 +7664,2019-11-16 07:00:00+00:00,0.5211652877768836 +7665,2019-11-16 08:00:00+00:00,0.6107630749586639 +7666,2019-11-16 09:00:00+00:00,0.4629236665382446 +7667,2019-11-16 10:00:00+00:00,0.4510916387032433 +7668,2019-11-16 11:00:00+00:00,0.5822570794870359 +7669,2019-11-16 12:00:00+00:00,0.5034501770096064 +7670,2019-11-16 13:00:00+00:00,0.3653817118889351 +7671,2019-11-16 14:00:00+00:00,0.445119548017728 +7672,2019-11-16 15:00:00+00:00,0.465263940245306 +7673,2019-11-16 16:00:00+00:00,0.4524425748391949 +7674,2019-11-16 17:00:00+00:00,0.4738504696963449 +7675,2019-11-16 18:00:00+00:00,0.44581417351133656 +7676,2019-11-16 19:00:00+00:00,0.40351486661001396 +7677,2019-11-16 20:00:00+00:00,0.3310207854545723 +7678,2019-11-16 21:00:00+00:00,0.21523528933642233 +7679,2019-11-16 22:00:00+00:00,0.10238245331412359 +7680,2019-11-16 23:00:00+00:00,0.044262406650526456 +7681,2019-11-17 00:00:00+00:00,0.01864196835140195 +7682,2019-11-17 01:00:00+00:00,0.006586390739323708 +7683,2019-11-17 02:00:00+00:00,0.004402666595421054 +7684,2019-11-17 03:00:00+00:00,0.007820884774203176 +7685,2019-11-17 04:00:00+00:00,0.04047542525962776 +7686,2019-11-17 05:00:00+00:00,0.1816600992557669 +7687,2019-11-17 06:00:00+00:00,0.38571673916937727 +7688,2019-11-17 07:00:00+00:00,0.5046725591461616 +7689,2019-11-17 08:00:00+00:00,0.6053347192760594 +7690,2019-11-17 09:00:00+00:00,0.46321942806597916 +7691,2019-11-17 10:00:00+00:00,0.41215425966189956 +7692,2019-11-17 11:00:00+00:00,0.5709166761187249 +7693,2019-11-17 12:00:00+00:00,0.49310657391039464 +7694,2019-11-17 13:00:00+00:00,0.3637042467582192 +7695,2019-11-17 14:00:00+00:00,0.4412475968714706 +7696,2019-11-17 15:00:00+00:00,0.46070465772290076 +7697,2019-11-17 16:00:00+00:00,0.4473222852297696 +7698,2019-11-17 17:00:00+00:00,0.47345018421162466 +7699,2019-11-17 18:00:00+00:00,0.4563301906285679 +7700,2019-11-17 19:00:00+00:00,0.4148608317061873 +7701,2019-11-17 20:00:00+00:00,0.3398493347204857 +7702,2019-11-17 21:00:00+00:00,0.21905234485938516 +7703,2019-11-17 22:00:00+00:00,0.10355640691857572 +7704,2019-11-17 23:00:00+00:00,0.04551666599908318 +7705,2019-11-18 00:00:00+00:00,0.019134011304973338 +7706,2019-11-18 01:00:00+00:00,0.006795238207154685 +7707,2019-11-18 02:00:00+00:00,0.004747763857116517 +7708,2019-11-18 03:00:00+00:00,0.008475552888206426 +7709,2019-11-18 04:00:00+00:00,0.040387104551063514 +7710,2019-11-18 05:00:00+00:00,0.17924185143829396 +7711,2019-11-18 06:00:00+00:00,0.3752982649756892 +7712,2019-11-18 07:00:00+00:00,0.4863946272463659 +7713,2019-11-18 08:00:00+00:00,0.5781993372834507 +7714,2019-11-18 09:00:00+00:00,0.44376555337814505 +7715,2019-11-18 10:00:00+00:00,0.4350848500431839 +7716,2019-11-18 11:00:00+00:00,0.5680502420223341 +7717,2019-11-18 12:00:00+00:00,0.4915915598111116 +7718,2019-11-18 13:00:00+00:00,0.3600136713604067 +7719,2019-11-18 14:00:00+00:00,0.42976334674551203 +7720,2019-11-18 15:00:00+00:00,0.44430679880425683 +7721,2019-11-18 16:00:00+00:00,0.4239363861474236 +7722,2019-11-18 17:00:00+00:00,0.44514236127476414 +7723,2019-11-18 18:00:00+00:00,0.42335066399185173 +7724,2019-11-18 19:00:00+00:00,0.3840624054927703 +7725,2019-11-18 20:00:00+00:00,0.3196017091089782 +7726,2019-11-18 21:00:00+00:00,0.207855173074378 +7727,2019-11-18 22:00:00+00:00,0.09970935547163334 +7728,2019-11-18 23:00:00+00:00,0.04286099458625597 +7729,2019-11-19 00:00:00+00:00,0.01809274790616668 +7730,2019-11-19 01:00:00+00:00,0.006234745060128667 +7731,2019-11-19 02:00:00+00:00,0.003729430038267061 +7732,2019-11-19 03:00:00+00:00,0.006495104789379532 +7733,2019-11-19 04:00:00+00:00,0.034438760690549124 +7734,2019-11-19 05:00:00+00:00,0.1609591460681179 +7735,2019-11-19 06:00:00+00:00,0.3452193948591884 +7736,2019-11-19 07:00:00+00:00,0.4532667679682854 +7737,2019-11-19 08:00:00+00:00,0.5423498914681714 +7738,2019-11-19 09:00:00+00:00,0.3802087240832847 +7739,2019-11-19 10:00:00+00:00,0.32428573347799244 +7740,2019-11-19 11:00:00+00:00,0.49757126557074216 +7741,2019-11-19 12:00:00+00:00,0.479362669630242 +7742,2019-11-19 13:00:00+00:00,0.35096321453465296 +7743,2019-11-19 14:00:00+00:00,0.43322997938193625 +7744,2019-11-19 15:00:00+00:00,0.44922837447598896 +7745,2019-11-19 16:00:00+00:00,0.4341200910949027 +7746,2019-11-19 17:00:00+00:00,0.4611050907452275 +7747,2019-11-19 18:00:00+00:00,0.45822360743357976 +7748,2019-11-19 19:00:00+00:00,0.41664231713357675 +7749,2019-11-19 20:00:00+00:00,0.3524739189331094 +7750,2019-11-19 21:00:00+00:00,0.23208659156605888 +7751,2019-11-19 22:00:00+00:00,0.11090060710759471 +7752,2019-11-19 23:00:00+00:00,0.04961547455934964 +7753,2019-11-20 00:00:00+00:00,0.021031369517244256 +7754,2019-11-20 01:00:00+00:00,0.007975415244834418 +7755,2019-11-20 02:00:00+00:00,0.006339993220555564 +7756,2019-11-20 03:00:00+00:00,0.013717339146592985 +7757,2019-11-20 04:00:00+00:00,0.05402071203208344 +7758,2019-11-20 05:00:00+00:00,0.22661827062072323 +7759,2019-11-20 06:00:00+00:00,0.4641872157191396 +7760,2019-11-20 07:00:00+00:00,0.5938822882944131 +7761,2019-11-20 08:00:00+00:00,0.6582004005409544 +7762,2019-11-20 09:00:00+00:00,0.40822082676191285 +7763,2019-11-20 10:00:00+00:00,0.3523554737675844 +7764,2019-11-20 11:00:00+00:00,0.5400516012898534 +7765,2019-11-20 12:00:00+00:00,0.3792537546511416 +7766,2019-11-20 13:00:00+00:00,0.28917730168557754 +7767,2019-11-20 14:00:00+00:00,0.4514070053727253 +7768,2019-11-20 15:00:00+00:00,0.4936183153419934 +7769,2019-11-20 16:00:00+00:00,0.4826302735373405 +7770,2019-11-20 17:00:00+00:00,0.5071388005133228 +7771,2019-11-20 18:00:00+00:00,0.4832085108343212 +7772,2019-11-20 19:00:00+00:00,0.4418354899610978 +7773,2019-11-20 20:00:00+00:00,0.36493503370948155 +7774,2019-11-20 21:00:00+00:00,0.23656426215031817 +7775,2019-11-20 22:00:00+00:00,0.11300779093425294 +7776,2019-11-20 23:00:00+00:00,0.050017519256564114 +7777,2019-11-21 00:00:00+00:00,0.021299232132565297 +7778,2019-11-21 01:00:00+00:00,0.00852815944866494 +7779,2019-11-21 02:00:00+00:00,0.006932326337691972 +7780,2019-11-21 03:00:00+00:00,0.014024712363079301 +7781,2019-11-21 04:00:00+00:00,0.053881278932701754 +7782,2019-11-21 05:00:00+00:00,0.22155261223087713 +7783,2019-11-21 06:00:00+00:00,0.45165701877610337 +7784,2019-11-21 07:00:00+00:00,0.5825254054618666 +7785,2019-11-21 08:00:00+00:00,0.6835394468992231 +7786,2019-11-21 09:00:00+00:00,0.5293858995959224 +7787,2019-11-21 10:00:00+00:00,0.5030588632999312 +7788,2019-11-21 11:00:00+00:00,0.6260000250393276 +7789,2019-11-21 12:00:00+00:00,0.5429431435419284 +7790,2019-11-21 13:00:00+00:00,0.42084171502504697 +7791,2019-11-21 14:00:00+00:00,0.4866484584049283 +7792,2019-11-21 15:00:00+00:00,0.504348599762837 +7793,2019-11-21 16:00:00+00:00,0.4860256994111131 +7794,2019-11-21 17:00:00+00:00,0.5093338486286964 +7795,2019-11-21 18:00:00+00:00,0.4937815654833541 +7796,2019-11-21 19:00:00+00:00,0.4470508555456331 +7797,2019-11-21 20:00:00+00:00,0.3659008197071411 +7798,2019-11-21 21:00:00+00:00,0.23825598839891757 +7799,2019-11-21 22:00:00+00:00,0.1129991974084062 +7800,2019-11-21 23:00:00+00:00,0.049422707859422425 +7801,2019-11-22 00:00:00+00:00,0.020880646294161684 +7802,2019-11-22 01:00:00+00:00,0.008279985691587445 +7803,2019-11-22 02:00:00+00:00,0.006534524424505126 +7804,2019-11-22 03:00:00+00:00,0.012510366799241038 +7805,2019-11-22 04:00:00+00:00,0.05026812203865263 +7806,2019-11-22 05:00:00+00:00,0.2073232158299328 +7807,2019-11-22 06:00:00+00:00,0.4223008322632012 +7808,2019-11-22 07:00:00+00:00,0.5426646553541232 +7809,2019-11-22 08:00:00+00:00,0.6361009048805526 +7810,2019-11-22 09:00:00+00:00,0.48662419775114235 +7811,2019-11-22 10:00:00+00:00,0.3615641747826737 +7812,2019-11-22 11:00:00+00:00,0.5133779504553284 +7813,2019-11-22 12:00:00+00:00,0.4995387173367967 +7814,2019-11-22 13:00:00+00:00,0.30884105545894974 +7815,2019-11-22 14:00:00+00:00,0.43363917459878826 +7816,2019-11-22 15:00:00+00:00,0.45957832181705605 +7817,2019-11-22 16:00:00+00:00,0.4428581348801816 +7818,2019-11-22 17:00:00+00:00,0.4744487819509504 +7819,2019-11-22 18:00:00+00:00,0.457324505406503 +7820,2019-11-22 19:00:00+00:00,0.4196098045383333 +7821,2019-11-22 20:00:00+00:00,0.34565626770964547 +7822,2019-11-22 21:00:00+00:00,0.2231373012515308 +7823,2019-11-22 22:00:00+00:00,0.10494176173557833 +7824,2019-11-22 23:00:00+00:00,0.04526827471319974 +7825,2019-11-23 00:00:00+00:00,0.01905440069736268 +7826,2019-11-23 01:00:00+00:00,0.0067708367124490005 +7827,2019-11-23 02:00:00+00:00,0.004799865631214087 +7828,2019-11-23 03:00:00+00:00,0.008729727026457624 +7829,2019-11-23 04:00:00+00:00,0.042006695484273666 +7830,2019-11-23 05:00:00+00:00,0.18492729536139477 +7831,2019-11-23 06:00:00+00:00,0.38985044893408904 +7832,2019-11-23 07:00:00+00:00,0.5129178280357697 +7833,2019-11-23 08:00:00+00:00,0.6095465675436125 +7834,2019-11-23 09:00:00+00:00,0.47955102058692967 +7835,2019-11-23 10:00:00+00:00,0.4623706763362062 +7836,2019-11-23 11:00:00+00:00,0.5868710681032454 +7837,2019-11-23 12:00:00+00:00,0.5108673780924269 +7838,2019-11-23 13:00:00+00:00,0.3842899711524705 +7839,2019-11-23 14:00:00+00:00,0.4426451721358241 +7840,2019-11-23 15:00:00+00:00,0.45586421095220886 +7841,2019-11-23 16:00:00+00:00,0.429231601808771 +7842,2019-11-23 17:00:00+00:00,0.45726198036885707 +7843,2019-11-23 18:00:00+00:00,0.44053618612980544 +7844,2019-11-23 19:00:00+00:00,0.4045765359646734 +7845,2019-11-23 20:00:00+00:00,0.33769088698514454 +7846,2019-11-23 21:00:00+00:00,0.21975130593228864 +7847,2019-11-23 22:00:00+00:00,0.10408096215847236 +7848,2019-11-23 23:00:00+00:00,0.04511533519834824 +7849,2019-11-24 00:00:00+00:00,0.01924394321264749 +7850,2019-11-24 01:00:00+00:00,0.006932733089633487 +7851,2019-11-24 02:00:00+00:00,0.004814574878977672 +7852,2019-11-24 03:00:00+00:00,0.00938462104872133 +7853,2019-11-24 04:00:00+00:00,0.0442180242564313 +7854,2019-11-24 05:00:00+00:00,0.1954568008917372 +7855,2019-11-24 06:00:00+00:00,0.4089580321345828 +7856,2019-11-24 07:00:00+00:00,0.5331576405719297 +7857,2019-11-24 08:00:00+00:00,0.6266681636784002 +7858,2019-11-24 09:00:00+00:00,0.48621579436841317 +7859,2019-11-24 10:00:00+00:00,0.4611097604344042 +7860,2019-11-24 11:00:00+00:00,0.5780537725613167 +7861,2019-11-24 12:00:00+00:00,0.49624957277511034 +7862,2019-11-24 13:00:00+00:00,0.3777690188598688 +7863,2019-11-24 14:00:00+00:00,0.43759486346573306 +7864,2019-11-24 15:00:00+00:00,0.46181635031643403 +7865,2019-11-24 16:00:00+00:00,0.4529812426464624 +7866,2019-11-24 17:00:00+00:00,0.48204117853044054 +7867,2019-11-24 18:00:00+00:00,0.4620578604272868 +7868,2019-11-24 19:00:00+00:00,0.417713428264889 +7869,2019-11-24 20:00:00+00:00,0.34809710093454854 +7870,2019-11-24 21:00:00+00:00,0.21813272295673689 +7871,2019-11-24 22:00:00+00:00,0.10290338647945324 +7872,2019-11-24 23:00:00+00:00,0.044269969978276064 +7873,2019-11-25 00:00:00+00:00,0.018665394217525656 +7874,2019-11-25 01:00:00+00:00,0.006521622985382994 +7875,2019-11-25 02:00:00+00:00,0.00433898119882063 +7876,2019-11-25 03:00:00+00:00,0.007472524922427766 +7877,2019-11-25 04:00:00+00:00,0.03763814070192664 +7878,2019-11-25 05:00:00+00:00,0.17000980297948096 +7879,2019-11-25 06:00:00+00:00,0.3584990333849575 +7880,2019-11-25 07:00:00+00:00,0.4751385904372731 +7881,2019-11-25 08:00:00+00:00,0.5725053346159988 +7882,2019-11-25 09:00:00+00:00,0.4595890784654595 +7883,2019-11-25 10:00:00+00:00,0.44563998142734795 +7884,2019-11-25 11:00:00+00:00,0.5631412754618134 +7885,2019-11-25 12:00:00+00:00,0.4483017828220307 +7886,2019-11-25 13:00:00+00:00,0.2409713460771532 +7887,2019-11-25 14:00:00+00:00,0.336780518706147 +7888,2019-11-25 15:00:00+00:00,0.4365176814495285 +7889,2019-11-25 16:00:00+00:00,0.4266663769457733 +7890,2019-11-25 17:00:00+00:00,0.4474517028092001 +7891,2019-11-25 18:00:00+00:00,0.42648209865214426 +7892,2019-11-25 19:00:00+00:00,0.3903865376059277 +7893,2019-11-25 20:00:00+00:00,0.32153042937726023 +7894,2019-11-25 21:00:00+00:00,0.20804781135615963 +7895,2019-11-25 22:00:00+00:00,0.09788729937604819 +7896,2019-11-25 23:00:00+00:00,0.04172539790203424 +7897,2019-11-26 00:00:00+00:00,0.01736710433066662 +7898,2019-11-26 01:00:00+00:00,0.005895226998726563 +7899,2019-11-26 02:00:00+00:00,0.003373126095072473 +7900,2019-11-26 03:00:00+00:00,0.005644090340705441 +7901,2019-11-26 04:00:00+00:00,0.030191487179863332 +7902,2019-11-26 05:00:00+00:00,0.14528760362144336 +7903,2019-11-26 06:00:00+00:00,0.30919177656973235 +7904,2019-11-26 07:00:00+00:00,0.4119029412115821 +7905,2019-11-26 08:00:00+00:00,0.500841612983158 +7906,2019-11-26 09:00:00+00:00,0.4068584578522066 +7907,2019-11-26 10:00:00+00:00,0.3997631519886796 +7908,2019-11-26 11:00:00+00:00,0.5269491660270704 +7909,2019-11-26 12:00:00+00:00,0.4590825283581865 +7910,2019-11-26 13:00:00+00:00,0.33740795340745366 +7911,2019-11-26 14:00:00+00:00,0.38983506342327084 +7912,2019-11-26 15:00:00+00:00,0.40805068920301685 +7913,2019-11-26 16:00:00+00:00,0.3815539253037776 +7914,2019-11-26 17:00:00+00:00,0.40389072670965315 +7915,2019-11-26 18:00:00+00:00,0.3844846008047795 +7916,2019-11-26 19:00:00+00:00,0.34665024719425214 +7917,2019-11-26 20:00:00+00:00,0.28316272296479467 +7918,2019-11-26 21:00:00+00:00,0.18329052737722024 +7919,2019-11-26 22:00:00+00:00,0.08633040992692878 +7920,2019-11-26 23:00:00+00:00,0.03670368599059582 +7921,2019-11-27 00:00:00+00:00,0.014597954535169906 +7922,2019-11-27 01:00:00+00:00,0.004678352196187634 +7923,2019-11-27 02:00:00+00:00,0.00248074186937353 +7924,2019-11-27 03:00:00+00:00,0.003622752701650324 +7925,2019-11-27 04:00:00+00:00,0.018655551945168374 +7926,2019-11-27 05:00:00+00:00,0.10243338713263637 +7927,2019-11-27 06:00:00+00:00,0.23313448130265182 +7928,2019-11-27 07:00:00+00:00,0.3205404456243697 +7929,2019-11-27 08:00:00+00:00,0.4036272811212551 +7930,2019-11-27 09:00:00+00:00,0.3504211752506814 +7931,2019-11-27 10:00:00+00:00,0.3568416495553449 +7932,2019-11-27 11:00:00+00:00,0.4814238905809634 +7933,2019-11-27 12:00:00+00:00,0.43262937479177105 +7934,2019-11-27 13:00:00+00:00,0.3067020127403539 +7935,2019-11-27 14:00:00+00:00,0.3604232923213669 +7936,2019-11-27 15:00:00+00:00,0.38030591550309206 +7937,2019-11-27 16:00:00+00:00,0.35339517128713355 +7938,2019-11-27 17:00:00+00:00,0.3797390676403113 +7939,2019-11-27 18:00:00+00:00,0.36091967414429355 +7940,2019-11-27 19:00:00+00:00,0.3266201987591038 +7941,2019-11-27 20:00:00+00:00,0.26621292733285207 +7942,2019-11-27 21:00:00+00:00,0.17119214542698735 +7943,2019-11-27 22:00:00+00:00,0.08068967894854825 +7944,2019-11-27 23:00:00+00:00,0.03426152995771232 +7945,2019-11-28 00:00:00+00:00,0.01379783552926531 +7946,2019-11-28 01:00:00+00:00,0.003933998017805045 +7947,2019-11-28 02:00:00+00:00,0.0020989892443159987 +7948,2019-11-28 03:00:00+00:00,0.003087696186669517 +7949,2019-11-28 04:00:00+00:00,0.014142568434480057 +7950,2019-11-28 05:00:00+00:00,0.08582904862210296 +7951,2019-11-28 06:00:00+00:00,0.1980185272931834 +7952,2019-11-28 07:00:00+00:00,0.2828496013643163 +7953,2019-11-28 08:00:00+00:00,0.3687311473298392 +7954,2019-11-28 09:00:00+00:00,0.3306468367791977 +7955,2019-11-28 10:00:00+00:00,0.34746009079895107 +7956,2019-11-28 11:00:00+00:00,0.4693084437245186 +7957,2019-11-28 12:00:00+00:00,0.42090236847612533 +7958,2019-11-28 13:00:00+00:00,0.29339189976585145 +7959,2019-11-28 14:00:00+00:00,0.3476564656187536 +7960,2019-11-28 15:00:00+00:00,0.36268782931668037 +7961,2019-11-28 16:00:00+00:00,0.3403866391137096 +7962,2019-11-28 17:00:00+00:00,0.3692890364493043 +7963,2019-11-28 18:00:00+00:00,0.35469249826378446 +7964,2019-11-28 19:00:00+00:00,0.32336062576171065 +7965,2019-11-28 20:00:00+00:00,0.266136932816865 +7966,2019-11-28 21:00:00+00:00,0.1740837491358624 +7967,2019-11-28 22:00:00+00:00,0.08190247523188578 +7968,2019-11-28 23:00:00+00:00,0.03565324353857601 +7969,2019-11-29 00:00:00+00:00,0.01463578878129259 +7970,2019-11-29 01:00:00+00:00,0.004536975015086484 +7971,2019-11-29 02:00:00+00:00,0.002464863344192724 +7972,2019-11-29 03:00:00+00:00,0.003800969042089469 +7973,2019-11-29 04:00:00+00:00,0.018775021114624296 +7974,2019-11-29 05:00:00+00:00,0.11170533104547127 +7975,2019-11-29 06:00:00+00:00,0.2503728012644992 +7976,2019-11-29 07:00:00+00:00,0.34501475753636873 +7977,2019-11-29 08:00:00+00:00,0.41487090341588934 +7978,2019-11-29 09:00:00+00:00,0.361890801969022 +7979,2019-11-29 10:00:00+00:00,0.3477819815362164 +7980,2019-11-29 11:00:00+00:00,0.4795789515060816 +7981,2019-11-29 12:00:00+00:00,0.44842007116681126 +7982,2019-11-29 13:00:00+00:00,0.22585023931954107 +7983,2019-11-29 14:00:00+00:00,0.32336096477175125 +7984,2019-11-29 15:00:00+00:00,0.4073223154700221 +7985,2019-11-29 16:00:00+00:00,0.38320009432261426 +7986,2019-11-29 17:00:00+00:00,0.41035190318841686 +7987,2019-11-29 18:00:00+00:00,0.4118773449087764 +7988,2019-11-29 19:00:00+00:00,0.38541412992342633 +7989,2019-11-29 20:00:00+00:00,0.3214450358239332 +7990,2019-11-29 21:00:00+00:00,0.20860347278862143 +7991,2019-11-29 22:00:00+00:00,0.10104397912096363 +7992,2019-11-29 23:00:00+00:00,0.04445060689102781 +7993,2019-11-30 00:00:00+00:00,0.01865616337267962 +7994,2019-11-30 01:00:00+00:00,0.0063891876447085 +7995,2019-11-30 02:00:00+00:00,0.003734739915283773 +7996,2019-11-30 03:00:00+00:00,0.007743656790145939 +7997,2019-11-30 04:00:00+00:00,0.03798469326016067 +7998,2019-11-30 05:00:00+00:00,0.17987524814664027 +7999,2019-11-30 06:00:00+00:00,0.3728272039157244 +8000,2019-11-30 07:00:00+00:00,0.4941683648542931 +8001,2019-11-30 08:00:00+00:00,0.56578843257627 +8002,2019-11-30 09:00:00+00:00,0.37705986582333517 +8003,2019-11-30 10:00:00+00:00,0.3199018577164009 +8004,2019-11-30 11:00:00+00:00,0.42337734005189015 +8005,2019-11-30 12:00:00+00:00,0.38091156575733376 +8006,2019-11-30 13:00:00+00:00,0.2260239505620477 +8007,2019-11-30 14:00:00+00:00,0.36545216653641943 +8008,2019-11-30 15:00:00+00:00,0.45432206943868064 +8009,2019-11-30 16:00:00+00:00,0.45232117872327016 +8010,2019-11-30 17:00:00+00:00,0.4879469625193235 +8011,2019-11-30 18:00:00+00:00,0.4714993499318079 +8012,2019-11-30 19:00:00+00:00,0.43516562371219 +8013,2019-11-30 20:00:00+00:00,0.3602087181224318 +8014,2019-11-30 21:00:00+00:00,0.23693868435991694 +8015,2019-11-30 22:00:00+00:00,0.11346843860911762 +8016,2019-11-30 23:00:00+00:00,0.05006211611727639 +8017,2019-12-01 00:00:00+00:00,0.021018336639150325 +8018,2019-12-01 01:00:00+00:00,0.008241000525243162 +8019,2019-12-01 02:00:00+00:00,0.006497280132573748 +8020,2019-12-01 03:00:00+00:00,0.013482556418830888 +8021,2019-12-01 04:00:00+00:00,0.05303756324160152 +8022,2019-12-01 05:00:00+00:00,0.22255567313718908 +8023,2019-12-01 06:00:00+00:00,0.4531083580391298 +8024,2019-12-01 07:00:00+00:00,0.5889088906439703 +8025,2019-12-01 08:00:00+00:00,0.6903067101253225 +8026,2019-12-01 09:00:00+00:00,0.5430680213736931 +8027,2019-12-01 10:00:00+00:00,0.5099644920126619 +8028,2019-12-01 11:00:00+00:00,0.622464156407045 +8029,2019-12-01 12:00:00+00:00,0.5532778604256149 +8030,2019-12-01 13:00:00+00:00,0.44087658877244784 +8031,2019-12-01 14:00:00+00:00,0.4892633953010836 +8032,2019-12-01 15:00:00+00:00,0.5053562124078618 +8033,2019-12-01 16:00:00+00:00,0.4939450182359219 +8034,2019-12-01 17:00:00+00:00,0.5268361120987485 +8035,2019-12-01 18:00:00+00:00,0.49830455772720494 +8036,2019-12-01 19:00:00+00:00,0.453295679455987 +8037,2019-12-01 20:00:00+00:00,0.374539293836242 +8038,2019-12-01 21:00:00+00:00,0.2496756057778049 +8039,2019-12-01 22:00:00+00:00,0.11992662721693308 +8040,2019-12-01 23:00:00+00:00,0.05394938374902461 +8041,2019-12-02 00:00:00+00:00,0.022996335795713384 +8042,2019-12-02 01:00:00+00:00,0.01037808569189865 +8043,2019-12-02 02:00:00+00:00,0.009269002234076605 +8044,2019-12-02 03:00:00+00:00,0.019349503466022305 +8045,2019-12-02 04:00:00+00:00,0.06620646855951619 +8046,2019-12-02 05:00:00+00:00,0.25923800846391015 +8047,2019-12-02 06:00:00+00:00,0.5061876163235144 +8048,2019-12-02 07:00:00+00:00,0.6345398381319559 +8049,2019-12-02 08:00:00+00:00,0.7237962950623048 +8050,2019-12-02 09:00:00+00:00,0.4687530283181019 +8051,2019-12-02 10:00:00+00:00,0.38732584150879645 +8052,2019-12-02 11:00:00+00:00,0.5780217955003394 +8053,2019-12-02 12:00:00+00:00,0.5192318723982177 +8054,2019-12-02 13:00:00+00:00,0.39420369588359866 +8055,2019-12-02 14:00:00+00:00,0.4704957570403006 +8056,2019-12-02 15:00:00+00:00,0.4842366259941583 +8057,2019-12-02 16:00:00+00:00,0.4601781108098497 +8058,2019-12-02 17:00:00+00:00,0.4838825864492565 +8059,2019-12-02 18:00:00+00:00,0.4655163614773658 +8060,2019-12-02 19:00:00+00:00,0.4212186439427152 +8061,2019-12-02 20:00:00+00:00,0.3461490552296783 +8062,2019-12-02 21:00:00+00:00,0.22378735134130587 +8063,2019-12-02 22:00:00+00:00,0.10574415942533266 +8064,2019-12-02 23:00:00+00:00,0.04540366029145789 +8065,2019-12-03 00:00:00+00:00,0.01901343684791925 +8066,2019-12-03 01:00:00+00:00,0.006816567646054277 +8067,2019-12-03 02:00:00+00:00,0.004962245024603286 +8068,2019-12-03 03:00:00+00:00,0.008794033022441222 +8069,2019-12-03 04:00:00+00:00,0.04376773766364044 +8070,2019-12-03 05:00:00+00:00,0.19186281608649217 +8071,2019-12-03 06:00:00+00:00,0.4140070376028781 +8072,2019-12-03 07:00:00+00:00,0.5403766587038017 +8073,2019-12-03 08:00:00+00:00,0.6162335419490519 +8074,2019-12-03 09:00:00+00:00,0.46942101139912507 +8075,2019-12-03 10:00:00+00:00,0.36715027654541516 +8076,2019-12-03 11:00:00+00:00,0.5072423059331909 +8077,2019-12-03 12:00:00+00:00,0.4279501631260477 +8078,2019-12-03 13:00:00+00:00,0.29199804013790237 +8079,2019-12-03 14:00:00+00:00,0.4468191258406297 +8080,2019-12-03 15:00:00+00:00,0.4814884929987032 +8081,2019-12-03 16:00:00+00:00,0.46066712418288663 +8082,2019-12-03 17:00:00+00:00,0.4886562589829864 +8083,2019-12-03 18:00:00+00:00,0.47021057215289136 +8084,2019-12-03 19:00:00+00:00,0.43262169696379715 +8085,2019-12-03 20:00:00+00:00,0.3586199642671633 +8086,2019-12-03 21:00:00+00:00,0.2329576352014842 +8087,2019-12-03 22:00:00+00:00,0.11303755248518979 +8088,2019-12-03 23:00:00+00:00,0.049166931131848765 +8089,2019-12-04 00:00:00+00:00,0.021630805840057936 +8090,2019-12-04 01:00:00+00:00,0.00855516322059561 +8091,2019-12-04 02:00:00+00:00,0.006959086776528171 +8092,2019-12-04 03:00:00+00:00,0.014433575501548076 +8093,2019-12-04 04:00:00+00:00,0.055951958250657075 +8094,2019-12-04 05:00:00+00:00,0.23113121354298555 +8095,2019-12-04 06:00:00+00:00,0.46894973298200665 +8096,2019-12-04 07:00:00+00:00,0.6097484101180382 +8097,2019-12-04 08:00:00+00:00,0.6890679565235198 +8098,2019-12-04 09:00:00+00:00,0.43943477703302525 +8099,2019-12-04 10:00:00+00:00,0.38161233476819817 +8100,2019-12-04 11:00:00+00:00,0.529114364357068 +8101,2019-12-04 12:00:00+00:00,0.4168686171760517 +8102,2019-12-04 13:00:00+00:00,0.26935935963976715 +8103,2019-12-04 14:00:00+00:00,0.44188119356552863 +8104,2019-12-04 15:00:00+00:00,0.5132770695073594 +8105,2019-12-04 16:00:00+00:00,0.49279604982192876 +8106,2019-12-04 17:00:00+00:00,0.530574798290521 +8107,2019-12-04 18:00:00+00:00,0.5150662082089427 +8108,2019-12-04 19:00:00+00:00,0.47506112971782993 +8109,2019-12-04 20:00:00+00:00,0.39401071151686057 +8110,2019-12-04 21:00:00+00:00,0.25659599508897785 +8111,2019-12-04 22:00:00+00:00,0.12261887308158996 +8112,2019-12-04 23:00:00+00:00,0.054890028557647075 +8113,2019-12-05 00:00:00+00:00,0.02361237764467203 +8114,2019-12-05 01:00:00+00:00,0.011133600047161832 +8115,2019-12-05 02:00:00+00:00,0.010351121967062107 +8116,2019-12-05 03:00:00+00:00,0.021364053404731537 +8117,2019-12-05 04:00:00+00:00,0.07048521506063156 +8118,2019-12-05 05:00:00+00:00,0.26784023897744347 +8119,2019-12-05 06:00:00+00:00,0.5214211300815002 +8120,2019-12-05 07:00:00+00:00,0.6696546587166439 +8121,2019-12-05 08:00:00+00:00,0.7813691201006421 +8122,2019-12-05 09:00:00+00:00,0.6225180835295022 +8123,2019-12-05 10:00:00+00:00,0.5926136329871518 +8124,2019-12-05 11:00:00+00:00,0.7011341113374814 +8125,2019-12-05 12:00:00+00:00,0.6248976841284333 +8126,2019-12-05 13:00:00+00:00,0.4911665452762733 +8127,2019-12-05 14:00:00+00:00,0.5296643164289475 +8128,2019-12-05 15:00:00+00:00,0.535292126518536 +8129,2019-12-05 16:00:00+00:00,0.5015160573047466 +8130,2019-12-05 17:00:00+00:00,0.52832026656032 +8131,2019-12-05 18:00:00+00:00,0.5075154166493894 +8132,2019-12-05 19:00:00+00:00,0.46414221343732265 +8133,2019-12-05 20:00:00+00:00,0.38523164709269575 +8134,2019-12-05 21:00:00+00:00,0.24822237982404433 +8135,2019-12-05 22:00:00+00:00,0.11638822795968042 +8136,2019-12-05 23:00:00+00:00,0.05127023082597506 +8137,2019-12-06 00:00:00+00:00,0.021750028777987443 +8138,2019-12-06 01:00:00+00:00,0.009347826860559735 +8139,2019-12-06 02:00:00+00:00,0.008269546424750555 +8140,2019-12-06 03:00:00+00:00,0.01622144609492656 +8141,2019-12-06 04:00:00+00:00,0.05794704126831428 +8142,2019-12-06 05:00:00+00:00,0.23088157019423483 +8143,2019-12-06 06:00:00+00:00,0.462547676904337 +8144,2019-12-06 07:00:00+00:00,0.5960869218500526 +8145,2019-12-06 08:00:00+00:00,0.7029635828673002 +8146,2019-12-06 09:00:00+00:00,0.5648714868775773 +8147,2019-12-06 10:00:00+00:00,0.5280521841393265 +8148,2019-12-06 11:00:00+00:00,0.6443944434601105 +8149,2019-12-06 12:00:00+00:00,0.5646585144270416 +8150,2019-12-06 13:00:00+00:00,0.45424234669930125 +8151,2019-12-06 14:00:00+00:00,0.491320777497284 +8152,2019-12-06 15:00:00+00:00,0.49704817181621247 +8153,2019-12-06 16:00:00+00:00,0.4637572207739385 +8154,2019-12-06 17:00:00+00:00,0.48414883702294936 +8155,2019-12-06 18:00:00+00:00,0.4617750596703639 +8156,2019-12-06 19:00:00+00:00,0.42022985046143335 +8157,2019-12-06 20:00:00+00:00,0.33739455944488234 +8158,2019-12-06 21:00:00+00:00,0.21991065571355262 +8159,2019-12-06 22:00:00+00:00,0.1036087002541135 +8160,2019-12-06 23:00:00+00:00,0.043999539113037556 +8161,2019-12-07 00:00:00+00:00,0.018452360581198604 +8162,2019-12-07 01:00:00+00:00,0.006475814083108172 +8163,2019-12-07 02:00:00+00:00,0.004378849149909211 +8164,2019-12-07 03:00:00+00:00,0.007055686922819308 +8165,2019-12-07 04:00:00+00:00,0.037341225361864766 +8166,2019-12-07 05:00:00+00:00,0.16463272613711727 +8167,2019-12-07 06:00:00+00:00,0.35071302093686496 +8168,2019-12-07 07:00:00+00:00,0.4648421602772663 +8169,2019-12-07 08:00:00+00:00,0.5636292926939585 +8170,2019-12-07 09:00:00+00:00,0.46920108747496886 +8171,2019-12-07 10:00:00+00:00,0.45366789099247196 +8172,2019-12-07 11:00:00+00:00,0.5771395005319122 +8173,2019-12-07 12:00:00+00:00,0.5105992418204782 +8174,2019-12-07 13:00:00+00:00,0.39836717544763667 +8175,2019-12-07 14:00:00+00:00,0.4388399616267991 +8176,2019-12-07 15:00:00+00:00,0.44779307626904113 +8177,2019-12-07 16:00:00+00:00,0.4187443922772081 +8178,2019-12-07 17:00:00+00:00,0.4422872167492775 +8179,2019-12-07 18:00:00+00:00,0.4222298692604889 +8180,2019-12-07 19:00:00+00:00,0.3839972025369834 +8181,2019-12-07 20:00:00+00:00,0.3161715629927516 +8182,2019-12-07 21:00:00+00:00,0.2024032343435608 +8183,2019-12-07 22:00:00+00:00,0.09472613745049255 +8184,2019-12-07 23:00:00+00:00,0.040261637770371186 +8185,2019-12-08 00:00:00+00:00,0.01655057453590633 +8186,2019-12-08 01:00:00+00:00,0.005598841079793784 +8187,2019-12-08 02:00:00+00:00,0.0031679752242044002 +8188,2019-12-08 03:00:00+00:00,0.004845921352533335 +8189,2019-12-08 04:00:00+00:00,0.026866534423829455 +8190,2019-12-08 05:00:00+00:00,0.13390505617750578 +8191,2019-12-08 06:00:00+00:00,0.29189945405119105 +8192,2019-12-08 07:00:00+00:00,0.39473543584686605 +8193,2019-12-08 08:00:00+00:00,0.49175950157200965 +8194,2019-12-08 09:00:00+00:00,0.41603300028166956 +8195,2019-12-08 10:00:00+00:00,0.3961771291866976 +8196,2019-12-08 11:00:00+00:00,0.5372013560034788 +8197,2019-12-08 12:00:00+00:00,0.4628642849216805 +8198,2019-12-08 13:00:00+00:00,0.31023778722077633 +8199,2019-12-08 14:00:00+00:00,0.3914113855195291 +8200,2019-12-08 15:00:00+00:00,0.41424011391126925 +8201,2019-12-08 16:00:00+00:00,0.3880562908535604 +8202,2019-12-08 17:00:00+00:00,0.4112985967592006 +8203,2019-12-08 18:00:00+00:00,0.39459144408333313 +8204,2019-12-08 19:00:00+00:00,0.36073249069990443 +8205,2019-12-08 20:00:00+00:00,0.29961980594654963 +8206,2019-12-08 21:00:00+00:00,0.1933946566814609 +8207,2019-12-08 22:00:00+00:00,0.09218687126648217 +8208,2019-12-08 23:00:00+00:00,0.039993870692843034 +8209,2019-12-09 00:00:00+00:00,0.016219978565926947 +8210,2019-12-09 01:00:00+00:00,0.005365636167707562 +8211,2019-12-09 02:00:00+00:00,0.002995424340785519 +8212,2019-12-09 03:00:00+00:00,0.004530345858477893 +8213,2019-12-09 04:00:00+00:00,0.025100001614500066 +8214,2019-12-09 05:00:00+00:00,0.1320268308469298 +8215,2019-12-09 06:00:00+00:00,0.29055953265980883 +8216,2019-12-09 07:00:00+00:00,0.4002619964769294 +8217,2019-12-09 08:00:00+00:00,0.4807496127965464 +8218,2019-12-09 09:00:00+00:00,0.40165053381296356 +8219,2019-12-09 10:00:00+00:00,0.4026327257024436 +8220,2019-12-09 11:00:00+00:00,0.5469144093451909 +8221,2019-12-09 12:00:00+00:00,0.4870199177917342 +8222,2019-12-09 13:00:00+00:00,0.3801904227034115 +8223,2019-12-09 14:00:00+00:00,0.42188706349341576 +8224,2019-12-09 15:00:00+00:00,0.42377989598545096 +8225,2019-12-09 16:00:00+00:00,0.39759654403481304 +8226,2019-12-09 17:00:00+00:00,0.4237095988825936 +8227,2019-12-09 18:00:00+00:00,0.4073772384707151 +8228,2019-12-09 19:00:00+00:00,0.37649151096831207 +8229,2019-12-09 20:00:00+00:00,0.3146653712132707 +8230,2019-12-09 21:00:00+00:00,0.2010336870513158 +8231,2019-12-09 22:00:00+00:00,0.09610642567519595 +8232,2019-12-09 23:00:00+00:00,0.0412152359387543 +8233,2019-12-10 00:00:00+00:00,0.017150613379816725 +8234,2019-12-10 01:00:00+00:00,0.005918449357785456 +8235,2019-12-10 02:00:00+00:00,0.003340377563218138 +8236,2019-12-10 03:00:00+00:00,0.005582779354115061 +8237,2019-12-10 04:00:00+00:00,0.030891015678428196 +8238,2019-12-10 05:00:00+00:00,0.1539806924616652 +8239,2019-12-10 06:00:00+00:00,0.33106976977622804 +8240,2019-12-10 07:00:00+00:00,0.44632182387179414 +8241,2019-12-10 08:00:00+00:00,0.5502975610301185 +8242,2019-12-10 09:00:00+00:00,0.44435967862369563 +8243,2019-12-10 10:00:00+00:00,0.44987986939095453 +8244,2019-12-10 11:00:00+00:00,0.571076085096143 +8245,2019-12-10 12:00:00+00:00,0.5106921883709535 +8246,2019-12-10 13:00:00+00:00,0.39881029270225515 +8247,2019-12-10 14:00:00+00:00,0.43693515119888154 +8248,2019-12-10 15:00:00+00:00,0.4419811131592058 +8249,2019-12-10 16:00:00+00:00,0.41445669979035343 +8250,2019-12-10 17:00:00+00:00,0.4406738330795334 +8251,2019-12-10 18:00:00+00:00,0.4205084313141087 +8252,2019-12-10 19:00:00+00:00,0.3797754109869709 +8253,2019-12-10 20:00:00+00:00,0.310810198731015 +8254,2019-12-10 21:00:00+00:00,0.19949676089474916 +8255,2019-12-10 22:00:00+00:00,0.09401402459296306 +8256,2019-12-10 23:00:00+00:00,0.04007919517334145 +8257,2019-12-11 00:00:00+00:00,0.01635365042590169 +8258,2019-12-11 01:00:00+00:00,0.005636453634498791 +8259,2019-12-11 02:00:00+00:00,0.003170717894004672 +8260,2019-12-11 03:00:00+00:00,0.004941421865027574 +8261,2019-12-11 04:00:00+00:00,0.02710606657095294 +8262,2019-12-11 05:00:00+00:00,0.13671020638054063 +8263,2019-12-11 06:00:00+00:00,0.29629051058099337 +8264,2019-12-11 07:00:00+00:00,0.40231252256142686 +8265,2019-12-11 08:00:00+00:00,0.5025913272091084 +8266,2019-12-11 09:00:00+00:00,0.43185077461931737 +8267,2019-12-11 10:00:00+00:00,0.43025888852913474 +8268,2019-12-11 11:00:00+00:00,0.5565596073257374 +8269,2019-12-11 12:00:00+00:00,0.49805045307243917 +8270,2019-12-11 13:00:00+00:00,0.3873230768582484 +8271,2019-12-11 14:00:00+00:00,0.4301836341536471 +8272,2019-12-11 15:00:00+00:00,0.4383961576615048 +8273,2019-12-11 16:00:00+00:00,0.41180163132496794 +8274,2019-12-11 17:00:00+00:00,0.4381826528286643 +8275,2019-12-11 18:00:00+00:00,0.42373253284651247 +8276,2019-12-11 19:00:00+00:00,0.38627739343345213 +8277,2019-12-11 20:00:00+00:00,0.3150804710514387 +8278,2019-12-11 21:00:00+00:00,0.2046271312643209 +8279,2019-12-11 22:00:00+00:00,0.09633254455519195 +8280,2019-12-11 23:00:00+00:00,0.04180160718253531 +8281,2019-12-12 00:00:00+00:00,0.01749864416283388 +8282,2019-12-12 01:00:00+00:00,0.005980573324287346 +8283,2019-12-12 02:00:00+00:00,0.003403663326223151 +8284,2019-12-12 03:00:00+00:00,0.0058332905972980995 +8285,2019-12-12 04:00:00+00:00,0.03152194552597435 +8286,2019-12-12 05:00:00+00:00,0.15428883458442227 +8287,2019-12-12 06:00:00+00:00,0.3316789492394616 +8288,2019-12-12 07:00:00+00:00,0.44902520664817386 +8289,2019-12-12 08:00:00+00:00,0.5416861978945561 +8290,2019-12-12 09:00:00+00:00,0.3753763216809118 +8291,2019-12-12 10:00:00+00:00,0.3486522043441305 +8292,2019-12-12 11:00:00+00:00,0.49589799217777264 +8293,2019-12-12 12:00:00+00:00,0.4041009169298255 +8294,2019-12-12 13:00:00+00:00,0.2688951470937601 +8295,2019-12-12 14:00:00+00:00,0.42939785533860353 +8296,2019-12-12 15:00:00+00:00,0.4500669286613548 +8297,2019-12-12 16:00:00+00:00,0.4292786123782095 +8298,2019-12-12 17:00:00+00:00,0.4550773513060771 +8299,2019-12-12 18:00:00+00:00,0.43678382964067436 +8300,2019-12-12 19:00:00+00:00,0.39643685706318305 +8301,2019-12-12 20:00:00+00:00,0.32569435064087904 +8302,2019-12-12 21:00:00+00:00,0.21086809329052503 +8303,2019-12-12 22:00:00+00:00,0.10082401644404167 +8304,2019-12-12 23:00:00+00:00,0.04371869533351326 +8305,2019-12-13 00:00:00+00:00,0.01840010882401916 +8306,2019-12-13 01:00:00+00:00,0.006325754822321206 +8307,2019-12-13 02:00:00+00:00,0.0038565427594952355 +8308,2019-12-13 03:00:00+00:00,0.0070312949406721005 +8309,2019-12-13 04:00:00+00:00,0.036274484946335846 +8310,2019-12-13 05:00:00+00:00,0.16956476319279046 +8311,2019-12-13 06:00:00+00:00,0.35904810335200665 +8312,2019-12-13 07:00:00+00:00,0.4798368293548164 +8313,2019-12-13 08:00:00+00:00,0.5900786677099304 +8314,2019-12-13 09:00:00+00:00,0.49917428705610495 +8315,2019-12-13 10:00:00+00:00,0.481533161237518 +8316,2019-12-13 11:00:00+00:00,0.6022240878417141 +8317,2019-12-13 12:00:00+00:00,0.5405048007988907 +8318,2019-12-13 13:00:00+00:00,0.4319060696514857 +8319,2019-12-13 14:00:00+00:00,0.4638913328046462 +8320,2019-12-13 15:00:00+00:00,0.4610595302011255 +8321,2019-12-13 16:00:00+00:00,0.4267326414535826 +8322,2019-12-13 17:00:00+00:00,0.4482789506893815 +8323,2019-12-13 18:00:00+00:00,0.4287711656911218 +8324,2019-12-13 19:00:00+00:00,0.39268674169815887 +8325,2019-12-13 20:00:00+00:00,0.3204960459570612 +8326,2019-12-13 21:00:00+00:00,0.2087940873497114 +8327,2019-12-13 22:00:00+00:00,0.09931598125853625 +8328,2019-12-13 23:00:00+00:00,0.04296770341817376 +8329,2019-12-14 00:00:00+00:00,0.018057672082403605 +8330,2019-12-14 01:00:00+00:00,0.006195463857871371 +8331,2019-12-14 02:00:00+00:00,0.00371255630246364 +8332,2019-12-14 03:00:00+00:00,0.0065280702540215264 +8333,2019-12-14 04:00:00+00:00,0.03451753344046745 +8334,2019-12-14 05:00:00+00:00,0.16179027215344424 +8335,2019-12-14 06:00:00+00:00,0.3420272057791595 +8336,2019-12-14 07:00:00+00:00,0.45163497375543843 +8337,2019-12-14 08:00:00+00:00,0.5535122164809864 +8338,2019-12-14 09:00:00+00:00,0.4475845478956497 +8339,2019-12-14 10:00:00+00:00,0.40405549881505193 +8340,2019-12-14 11:00:00+00:00,0.5680422063145897 +8341,2019-12-14 12:00:00+00:00,0.5109252447509682 +8342,2019-12-14 13:00:00+00:00,0.41487953892962887 +8343,2019-12-14 14:00:00+00:00,0.44133876906325803 +8344,2019-12-14 15:00:00+00:00,0.4568847837131007 +8345,2019-12-14 16:00:00+00:00,0.42367515037505815 +8346,2019-12-14 17:00:00+00:00,0.44614055411694353 +8347,2019-12-14 18:00:00+00:00,0.4310191587789173 +8348,2019-12-14 19:00:00+00:00,0.3938559338718153 +8349,2019-12-14 20:00:00+00:00,0.3275466384744303 +8350,2019-12-14 21:00:00+00:00,0.2116742247916162 +8351,2019-12-14 22:00:00+00:00,0.10016506493678003 +8352,2019-12-14 23:00:00+00:00,0.04343037890584177 +8353,2019-12-15 00:00:00+00:00,0.017960845252182445 +8354,2019-12-15 01:00:00+00:00,0.006028152089193898 +8355,2019-12-15 02:00:00+00:00,0.0035138819975197525 +8356,2019-12-15 03:00:00+00:00,0.005991144742820138 +8357,2019-12-15 04:00:00+00:00,0.031201344010432407 +8358,2019-12-15 05:00:00+00:00,0.1479695285423788 +8359,2019-12-15 06:00:00+00:00,0.31360399424114455 +8360,2019-12-15 07:00:00+00:00,0.42204924084177897 +8361,2019-12-15 08:00:00+00:00,0.507923637937005 +8362,2019-12-15 09:00:00+00:00,0.36190762570162366 +8363,2019-12-15 10:00:00+00:00,0.39107597745923695 +8364,2019-12-15 11:00:00+00:00,0.5451942948780257 +8365,2019-12-15 12:00:00+00:00,0.497625211874591 +8366,2019-12-15 13:00:00+00:00,0.3869427414851129 +8367,2019-12-15 14:00:00+00:00,0.42841587386899466 +8368,2019-12-15 15:00:00+00:00,0.433199673987269 +8369,2019-12-15 16:00:00+00:00,0.4085378126459212 +8370,2019-12-15 17:00:00+00:00,0.43660821329785726 +8371,2019-12-15 18:00:00+00:00,0.4191400827692354 +8372,2019-12-15 19:00:00+00:00,0.381594288051268 +8373,2019-12-15 20:00:00+00:00,0.31557954304802116 +8374,2019-12-15 21:00:00+00:00,0.20377958252306422 +8375,2019-12-15 22:00:00+00:00,0.09700696051056007 +8376,2019-12-15 23:00:00+00:00,0.041844616077060005 +8377,2019-12-16 00:00:00+00:00,0.017740222483257174 +8378,2019-12-16 01:00:00+00:00,0.006056286884228209 +8379,2019-12-16 02:00:00+00:00,0.0034547516021789988 +8380,2019-12-16 03:00:00+00:00,0.005956415759355956 +8381,2019-12-16 04:00:00+00:00,0.03162705970817117 +8382,2019-12-16 05:00:00+00:00,0.1514579445895268 +8383,2019-12-16 06:00:00+00:00,0.31942274797410247 +8384,2019-12-16 07:00:00+00:00,0.42314673718715234 +8385,2019-12-16 08:00:00+00:00,0.520027442563219 +8386,2019-12-16 09:00:00+00:00,0.44129274083052294 +8387,2019-12-16 10:00:00+00:00,0.4320986883720757 +8388,2019-12-16 11:00:00+00:00,0.5550280463712131 +8389,2019-12-16 12:00:00+00:00,0.4974967882596324 +8390,2019-12-16 13:00:00+00:00,0.3894253978907445 +8391,2019-12-16 14:00:00+00:00,0.4231546811115078 +8392,2019-12-16 15:00:00+00:00,0.4309537561729064 +8393,2019-12-16 16:00:00+00:00,0.40011543923823745 +8394,2019-12-16 17:00:00+00:00,0.42453826672263795 +8395,2019-12-16 18:00:00+00:00,0.4072416724739613 +8396,2019-12-16 19:00:00+00:00,0.3710158866536654 +8397,2019-12-16 20:00:00+00:00,0.30441715933235197 +8398,2019-12-16 21:00:00+00:00,0.19632170274689806 +8399,2019-12-16 22:00:00+00:00,0.09283982833591899 +8400,2019-12-16 23:00:00+00:00,0.04043269577048587 +8401,2019-12-17 00:00:00+00:00,0.01667514358737478 +8402,2019-12-17 01:00:00+00:00,0.005760078519553841 +8403,2019-12-17 02:00:00+00:00,0.0031674760290085003 +8404,2019-12-17 03:00:00+00:00,0.004834922758339626 +8405,2019-12-17 04:00:00+00:00,0.02618508063985608 +8406,2019-12-17 05:00:00+00:00,0.13211669164222475 +8407,2019-12-17 06:00:00+00:00,0.28294422081567205 +8408,2019-12-17 07:00:00+00:00,0.3728613061520232 +8409,2019-12-17 08:00:00+00:00,0.45813720661261115 +8410,2019-12-17 09:00:00+00:00,0.3907763646645191 +8411,2019-12-17 10:00:00+00:00,0.3852548848965984 +8412,2019-12-17 11:00:00+00:00,0.5027465214698217 +8413,2019-12-17 12:00:00+00:00,0.41238756423606865 +8414,2019-12-17 13:00:00+00:00,0.32494790109031385 +8415,2019-12-17 14:00:00+00:00,0.3570046623627103 +8416,2019-12-17 15:00:00+00:00,0.3658770283646083 +8417,2019-12-17 16:00:00+00:00,0.3373104543963638 +8418,2019-12-17 17:00:00+00:00,0.37551011418308305 +8419,2019-12-17 18:00:00+00:00,0.3660184295528179 +8420,2019-12-17 19:00:00+00:00,0.3363496322749382 +8421,2019-12-17 20:00:00+00:00,0.28622579407368187 +8422,2019-12-17 21:00:00+00:00,0.18607998839269896 +8423,2019-12-17 22:00:00+00:00,0.08843503161381618 +8424,2019-12-17 23:00:00+00:00,0.0379484204989756 +8425,2019-12-18 00:00:00+00:00,0.01525418152142109 +8426,2019-12-18 01:00:00+00:00,0.004917560718666378 +8427,2019-12-18 02:00:00+00:00,0.0026863038070242423 +8428,2019-12-18 03:00:00+00:00,0.0039368948020766705 +8429,2019-12-18 04:00:00+00:00,0.020614895082453157 +8430,2019-12-18 05:00:00+00:00,0.11519946851317021 +8431,2019-12-18 06:00:00+00:00,0.2562768290439118 +8432,2019-12-18 07:00:00+00:00,0.35212646548535426 +8433,2019-12-18 08:00:00+00:00,0.43892946853755865 +8434,2019-12-18 09:00:00+00:00,0.39672451875796266 +8435,2019-12-18 10:00:00+00:00,0.385887243198141 +8436,2019-12-18 11:00:00+00:00,0.5113812095090504 +8437,2019-12-18 12:00:00+00:00,0.45346956139367833 +8438,2019-12-18 13:00:00+00:00,0.3546152279458186 +8439,2019-12-18 14:00:00+00:00,0.40022314753274996 +8440,2019-12-18 15:00:00+00:00,0.41001325153245566 +8441,2019-12-18 16:00:00+00:00,0.3893897350123681 +8442,2019-12-18 17:00:00+00:00,0.41406489118856876 +8443,2019-12-18 18:00:00+00:00,0.3924580742399032 +8444,2019-12-18 19:00:00+00:00,0.3548288996018573 +8445,2019-12-18 20:00:00+00:00,0.29120409045626533 +8446,2019-12-18 21:00:00+00:00,0.18839053368683004 +8447,2019-12-18 22:00:00+00:00,0.08940683009788972 +8448,2019-12-18 23:00:00+00:00,0.03846725287079332 +8449,2019-12-19 00:00:00+00:00,0.015193092755384472 +8450,2019-12-19 01:00:00+00:00,0.004863458103313185 +8451,2019-12-19 02:00:00+00:00,0.0026684508489738957 +8452,2019-12-19 03:00:00+00:00,0.003886763464013321 +8453,2019-12-19 04:00:00+00:00,0.020057056875346587 +8454,2019-12-19 05:00:00+00:00,0.1098335788675829 +8455,2019-12-19 06:00:00+00:00,0.24300643783875497 +8456,2019-12-19 07:00:00+00:00,0.33193099223171824 +8457,2019-12-19 08:00:00+00:00,0.41933142129243745 +8458,2019-12-19 09:00:00+00:00,0.3665759850753217 +8459,2019-12-19 10:00:00+00:00,0.3665279091094742 +8460,2019-12-19 11:00:00+00:00,0.48321177760125517 +8461,2019-12-19 12:00:00+00:00,0.4316876140443649 +8462,2019-12-19 13:00:00+00:00,0.31605281975255894 +8463,2019-12-19 14:00:00+00:00,0.3511335215295533 +8464,2019-12-19 15:00:00+00:00,0.3551037162288114 +8465,2019-12-19 16:00:00+00:00,0.3323916033383936 +8466,2019-12-19 17:00:00+00:00,0.3577357282120861 +8467,2019-12-19 18:00:00+00:00,0.3393513223295493 +8468,2019-12-19 19:00:00+00:00,0.30515617495538533 +8469,2019-12-19 20:00:00+00:00,0.24955390157273005 +8470,2019-12-19 21:00:00+00:00,0.16332229571409096 +8471,2019-12-19 22:00:00+00:00,0.0777828321919716 +8472,2019-12-19 23:00:00+00:00,0.033120807814102156 +8473,2019-12-20 00:00:00+00:00,0.013299217246939337 +8474,2019-12-20 01:00:00+00:00,0.0035476238104055345 +8475,2019-12-20 02:00:00+00:00,0.0018429693833887475 +8476,2019-12-20 03:00:00+00:00,0.0029067908811634385 +8477,2019-12-20 04:00:00+00:00,0.012103534366400626 +8478,2019-12-20 05:00:00+00:00,0.07600441094737123 +8479,2019-12-20 06:00:00+00:00,0.17301569799116318 +8480,2019-12-20 07:00:00+00:00,0.24711800747206386 +8481,2019-12-20 08:00:00+00:00,0.3343654051786189 +8482,2019-12-20 09:00:00+00:00,0.31692235113095363 +8483,2019-12-20 10:00:00+00:00,0.33799164272494636 +8484,2019-12-20 11:00:00+00:00,0.4527843588782782 +8485,2019-12-20 12:00:00+00:00,0.4145719638451401 +8486,2019-12-20 13:00:00+00:00,0.28947244895010943 +8487,2019-12-20 14:00:00+00:00,0.33326131642496315 +8488,2019-12-20 15:00:00+00:00,0.3435491877926775 +8489,2019-12-20 16:00:00+00:00,0.3213340504315835 +8490,2019-12-20 17:00:00+00:00,0.34674170229707535 +8491,2019-12-20 18:00:00+00:00,0.33555285629874415 +8492,2019-12-20 19:00:00+00:00,0.3076210690327585 +8493,2019-12-20 20:00:00+00:00,0.25409467415146975 +8494,2019-12-20 21:00:00+00:00,0.16461116405323462 +8495,2019-12-20 22:00:00+00:00,0.07772942505009756 +8496,2019-12-20 23:00:00+00:00,0.03377654370968088 +8497,2019-12-21 00:00:00+00:00,0.013659064960264452 +8498,2019-12-21 01:00:00+00:00,0.003755589212641502 +8499,2019-12-21 02:00:00+00:00,0.001898733145720363 +8500,2019-12-21 03:00:00+00:00,0.0030256501180863393 +8501,2019-12-21 04:00:00+00:00,0.012999277560818043 +8502,2019-12-21 05:00:00+00:00,0.08543214330032232 +8503,2019-12-21 06:00:00+00:00,0.2003739827790853 +8504,2019-12-21 07:00:00+00:00,0.28823258153982345 +8505,2019-12-21 08:00:00+00:00,0.37839230836142645 +8506,2019-12-21 09:00:00+00:00,0.3448217887257837 +8507,2019-12-21 10:00:00+00:00,0.3626295363316029 +8508,2019-12-21 11:00:00+00:00,0.48914743728835564 +8509,2019-12-21 12:00:00+00:00,0.4404936268606154 +8510,2019-12-21 13:00:00+00:00,0.3211894745879754 +8511,2019-12-21 14:00:00+00:00,0.3653416311308698 +8512,2019-12-21 15:00:00+00:00,0.3667933382013414 +8513,2019-12-21 16:00:00+00:00,0.34407426867612123 +8514,2019-12-21 17:00:00+00:00,0.37078049888671494 +8515,2019-12-21 18:00:00+00:00,0.3539503053759087 +8516,2019-12-21 19:00:00+00:00,0.32567036845927605 +8517,2019-12-21 20:00:00+00:00,0.26698927018502844 +8518,2019-12-21 21:00:00+00:00,0.17391631625730408 +8519,2019-12-21 22:00:00+00:00,0.08214325464181106 +8520,2019-12-21 23:00:00+00:00,0.03511986513304967 +8521,2019-12-22 00:00:00+00:00,0.014273874071312958 +8522,2019-12-22 01:00:00+00:00,0.004120408902170937 +8523,2019-12-22 02:00:00+00:00,0.0022133442215552575 +8524,2019-12-22 03:00:00+00:00,0.0033199507085457706 +8525,2019-12-22 04:00:00+00:00,0.015032137063466669 +8526,2019-12-22 05:00:00+00:00,0.092059291812662 +8527,2019-12-22 06:00:00+00:00,0.209467953665802 +8528,2019-12-22 07:00:00+00:00,0.2934395821319176 +8529,2019-12-22 08:00:00+00:00,0.38368605187378574 +8530,2019-12-22 09:00:00+00:00,0.34789488667156493 +8531,2019-12-22 10:00:00+00:00,0.3643972428498476 +8532,2019-12-22 11:00:00+00:00,0.49195960582606063 +8533,2019-12-22 12:00:00+00:00,0.441408261567736 +8534,2019-12-22 13:00:00+00:00,0.3222369791931005 +8535,2019-12-22 14:00:00+00:00,0.36355366055345406 +8536,2019-12-22 15:00:00+00:00,0.36844696811526423 +8537,2019-12-22 16:00:00+00:00,0.34732458872972677 +8538,2019-12-22 17:00:00+00:00,0.37037949248399654 +8539,2019-12-22 18:00:00+00:00,0.3547426307413114 +8540,2019-12-22 19:00:00+00:00,0.32309753909643246 +8541,2019-12-22 20:00:00+00:00,0.2662173073604873 +8542,2019-12-22 21:00:00+00:00,0.17399298317057338 +8543,2019-12-22 22:00:00+00:00,0.08213733553272096 +8544,2019-12-22 23:00:00+00:00,0.03531740016027948 +8545,2019-12-23 00:00:00+00:00,0.013996838431795009 +8546,2019-12-23 01:00:00+00:00,0.004050909920491023 +8547,2019-12-23 02:00:00+00:00,0.0021842494806767815 +8548,2019-12-23 03:00:00+00:00,0.0032754569586384485 +8549,2019-12-23 04:00:00+00:00,0.014710041206285034 +8550,2019-12-23 05:00:00+00:00,0.08994335313665179 +8551,2019-12-23 06:00:00+00:00,0.20557573709720967 +8552,2019-12-23 07:00:00+00:00,0.2927356675847584 +8553,2019-12-23 08:00:00+00:00,0.3831275154025899 +8554,2019-12-23 09:00:00+00:00,0.3484105641613274 +8555,2019-12-23 10:00:00+00:00,0.3666432166458283 +8556,2019-12-23 11:00:00+00:00,0.4919711071256788 +8557,2019-12-23 12:00:00+00:00,0.4438217281391985 +8558,2019-12-23 13:00:00+00:00,0.30697646785425087 +8559,2019-12-23 14:00:00+00:00,0.3531546859254425 +8560,2019-12-23 15:00:00+00:00,0.37080184070589156 +8561,2019-12-23 16:00:00+00:00,0.34360289140022915 +8562,2019-12-23 17:00:00+00:00,0.372859954495712 +8563,2019-12-23 18:00:00+00:00,0.36130437076008765 +8564,2019-12-23 19:00:00+00:00,0.32683168959066533 +8565,2019-12-23 20:00:00+00:00,0.2689100064676979 +8566,2019-12-23 21:00:00+00:00,0.17370709438944418 +8567,2019-12-23 22:00:00+00:00,0.08331830166845712 +8568,2019-12-23 23:00:00+00:00,0.036114678806842104 +8569,2019-12-24 00:00:00+00:00,0.014558415701465155 +8570,2019-12-24 01:00:00+00:00,0.004345287397881369 +8571,2019-12-24 02:00:00+00:00,0.0023246886538741958 +8572,2019-12-24 03:00:00+00:00,0.00347907198099515 +8573,2019-12-24 04:00:00+00:00,0.016301515079347902 +8574,2019-12-24 05:00:00+00:00,0.09723061678777158 +8575,2019-12-24 06:00:00+00:00,0.22168307904230253 +8576,2019-12-24 07:00:00+00:00,0.31222978127537554 +8577,2019-12-24 08:00:00+00:00,0.40802092499733306 +8578,2019-12-24 09:00:00+00:00,0.36344401456327236 +8579,2019-12-24 10:00:00+00:00,0.371108632630715 +8580,2019-12-24 11:00:00+00:00,0.4930391367969725 +8581,2019-12-24 12:00:00+00:00,0.43810775838335986 +8582,2019-12-24 13:00:00+00:00,0.3238268191136316 +8583,2019-12-24 14:00:00+00:00,0.3624965837262655 +8584,2019-12-24 15:00:00+00:00,0.3666343830750341 +8585,2019-12-24 16:00:00+00:00,0.3397589588004232 +8586,2019-12-24 17:00:00+00:00,0.3623263819737624 +8587,2019-12-24 18:00:00+00:00,0.347198989621903 +8588,2019-12-24 19:00:00+00:00,0.31445111792709846 +8589,2019-12-24 20:00:00+00:00,0.25913007036689784 +8590,2019-12-24 21:00:00+00:00,0.168065658513432 +8591,2019-12-24 22:00:00+00:00,0.07913321472397516 +8592,2019-12-24 23:00:00+00:00,0.03375507569631469 +8593,2019-12-25 00:00:00+00:00,0.013695688680710177 +8594,2019-12-25 01:00:00+00:00,0.003830879487501309 +8595,2019-12-25 02:00:00+00:00,0.0020070320931316527 +8596,2019-12-25 03:00:00+00:00,0.003121967540914462 +8597,2019-12-25 04:00:00+00:00,0.01362885992794168 +8598,2019-12-25 05:00:00+00:00,0.08513459231214271 +8599,2019-12-25 06:00:00+00:00,0.1975362235760317 +8600,2019-12-25 07:00:00+00:00,0.28316422831876925 +8601,2019-12-25 08:00:00+00:00,0.3738261929625992 +8602,2019-12-25 09:00:00+00:00,0.302173551859616 +8603,2019-12-25 10:00:00+00:00,0.2952024024866424 +8604,2019-12-25 11:00:00+00:00,0.39951817084235725 +8605,2019-12-25 12:00:00+00:00,0.40378361529588813 +8606,2019-12-25 13:00:00+00:00,0.30849600664670956 +8607,2019-12-25 14:00:00+00:00,0.35870593121129385 +8608,2019-12-25 15:00:00+00:00,0.3690127405230429 +8609,2019-12-25 16:00:00+00:00,0.3495915662876387 +8610,2019-12-25 17:00:00+00:00,0.3755771932678156 +8611,2019-12-25 18:00:00+00:00,0.36065925961673456 +8612,2019-12-25 19:00:00+00:00,0.3275275440516054 +8613,2019-12-25 20:00:00+00:00,0.2695644412571913 +8614,2019-12-25 21:00:00+00:00,0.17523771382756326 +8615,2019-12-25 22:00:00+00:00,0.08410602771587744 +8616,2019-12-25 23:00:00+00:00,0.03579580052546683 +8617,2019-12-26 00:00:00+00:00,0.01432051459884939 +8618,2019-12-26 01:00:00+00:00,0.004311432183917633 +8619,2019-12-26 02:00:00+00:00,0.0023327649196851347 +8620,2019-12-26 03:00:00+00:00,0.003518724151930416 +8621,2019-12-26 04:00:00+00:00,0.01665836416963998 +8622,2019-12-26 05:00:00+00:00,0.10079120604704803 +8623,2019-12-26 06:00:00+00:00,0.22913503728655063 +8624,2019-12-26 07:00:00+00:00,0.32260996063908665 +8625,2019-12-26 08:00:00+00:00,0.4194666796024203 +8626,2019-12-26 09:00:00+00:00,0.3749336165371332 +8627,2019-12-26 10:00:00+00:00,0.3932228689882714 +8628,2019-12-26 11:00:00+00:00,0.5220059800514423 +8629,2019-12-26 12:00:00+00:00,0.46942813577414993 +8630,2019-12-26 13:00:00+00:00,0.3533352217124341 +8631,2019-12-26 14:00:00+00:00,0.3961710030914577 +8632,2019-12-26 15:00:00+00:00,0.40039967285336375 +8633,2019-12-26 16:00:00+00:00,0.37470779448425195 +8634,2019-12-26 17:00:00+00:00,0.4002901693265099 +8635,2019-12-26 18:00:00+00:00,0.3862507992296826 +8636,2019-12-26 19:00:00+00:00,0.3508980469174342 +8637,2019-12-26 20:00:00+00:00,0.2884259885756382 +8638,2019-12-26 21:00:00+00:00,0.1880457412979902 +8639,2019-12-26 22:00:00+00:00,0.08915729742824689 +8640,2019-12-26 23:00:00+00:00,0.03832448552332857 +8641,2019-12-27 00:00:00+00:00,0.015428297958169749 +8642,2019-12-27 01:00:00+00:00,0.00495597798401436 +8643,2019-12-27 02:00:00+00:00,0.0027802880322948444 +8644,2019-12-27 03:00:00+00:00,0.004110914449170673 +8645,2019-12-27 04:00:00+00:00,0.021449373599389556 +8646,2019-12-27 05:00:00+00:00,0.12058596291589756 +8647,2019-12-27 06:00:00+00:00,0.2721628797898143 +8648,2019-12-27 07:00:00+00:00,0.3821432878475998 +8649,2019-12-27 08:00:00+00:00,0.47623560940056664 +8650,2019-12-27 09:00:00+00:00,0.34424459751961806 +8651,2019-12-27 10:00:00+00:00,0.3178420741362599 +8652,2019-12-27 11:00:00+00:00,0.4344926431004472 +8653,2019-12-27 12:00:00+00:00,0.3592611568245516 +8654,2019-12-27 13:00:00+00:00,0.22290464396723775 +8655,2019-12-27 14:00:00+00:00,0.37850098766573326 +8656,2019-12-27 15:00:00+00:00,0.42232351678700886 +8657,2019-12-27 16:00:00+00:00,0.4120159246233926 +8658,2019-12-27 17:00:00+00:00,0.45082204788233465 +8659,2019-12-27 18:00:00+00:00,0.4367261527231753 +8660,2019-12-27 19:00:00+00:00,0.4009818745859781 +8661,2019-12-27 20:00:00+00:00,0.33080811819025707 +8662,2019-12-27 21:00:00+00:00,0.2166157249022487 +8663,2019-12-27 22:00:00+00:00,0.10602061109429993 +8664,2019-12-27 23:00:00+00:00,0.045366487063350204 +8665,2019-12-28 00:00:00+00:00,0.019210681875965745 +8666,2019-12-28 01:00:00+00:00,0.006894797244766982 +8667,2019-12-28 02:00:00+00:00,0.00467642547764529 +8668,2019-12-28 03:00:00+00:00,0.009769603738437074 +8669,2019-12-28 04:00:00+00:00,0.04390024221850264 +8670,2019-12-28 05:00:00+00:00,0.1986352109511733 +8671,2019-12-28 06:00:00+00:00,0.413034450077378 +8672,2019-12-28 07:00:00+00:00,0.5513634461979048 +8673,2019-12-28 08:00:00+00:00,0.6637535467185622 +8674,2019-12-28 09:00:00+00:00,0.5453832881285903 +8675,2019-12-28 10:00:00+00:00,0.5126664364818974 +8676,2019-12-28 11:00:00+00:00,0.6231089558945414 +8677,2019-12-28 12:00:00+00:00,0.5563459541068136 +8678,2019-12-28 13:00:00+00:00,0.4521712428882802 +8679,2019-12-28 14:00:00+00:00,0.4856490721687857 +8680,2019-12-28 15:00:00+00:00,0.49776290763835734 +8681,2019-12-28 16:00:00+00:00,0.4697197802720436 +8682,2019-12-28 17:00:00+00:00,0.49826618884049867 +8683,2019-12-28 18:00:00+00:00,0.47937603230997394 +8684,2019-12-28 19:00:00+00:00,0.4391236907638362 +8685,2019-12-28 20:00:00+00:00,0.3655562701961265 +8686,2019-12-28 21:00:00+00:00,0.237518150975455 +8687,2019-12-28 22:00:00+00:00,0.11377547274147408 +8688,2019-12-28 23:00:00+00:00,0.05045732315576521 +8689,2019-12-29 00:00:00+00:00,0.021548196234525224 +8690,2019-12-29 01:00:00+00:00,0.008707307460484537 +8691,2019-12-29 02:00:00+00:00,0.007320098870650751 +8692,2019-12-29 03:00:00+00:00,0.015277189382459644 +8693,2019-12-29 04:00:00+00:00,0.05710370480671237 +8694,2019-12-29 05:00:00+00:00,0.23376462342600896 +8695,2019-12-29 06:00:00+00:00,0.47316925065987453 +8696,2019-12-29 07:00:00+00:00,0.6132777390944979 +8697,2019-12-29 08:00:00+00:00,0.7257653783816713 +8698,2019-12-29 09:00:00+00:00,0.5941689310898616 +8699,2019-12-29 10:00:00+00:00,0.5503423192917103 +8700,2019-12-29 11:00:00+00:00,0.659336184642908 +8701,2019-12-29 12:00:00+00:00,0.5850440945555815 +8702,2019-12-29 13:00:00+00:00,0.48122975795144973 +8703,2019-12-29 14:00:00+00:00,0.5108428903602321 +8704,2019-12-29 15:00:00+00:00,0.5182985529883369 +8705,2019-12-29 16:00:00+00:00,0.4887143890172839 +8706,2019-12-29 17:00:00+00:00,0.5163466773035117 +8707,2019-12-29 18:00:00+00:00,0.4940070489474303 +8708,2019-12-29 19:00:00+00:00,0.4479523334481832 +8709,2019-12-29 20:00:00+00:00,0.36949064843931195 +8710,2019-12-29 21:00:00+00:00,0.24000714125505015 +8711,2019-12-29 22:00:00+00:00,0.114226706140653 +8712,2019-12-29 23:00:00+00:00,0.05095016513716715 +8713,2019-12-30 00:00:00+00:00,0.021632942569682182 +8714,2019-12-30 01:00:00+00:00,0.009022133707771928 +8715,2019-12-30 02:00:00+00:00,0.007565375084001715 +8716,2019-12-30 03:00:00+00:00,0.015102116920421373 +8717,2019-12-30 04:00:00+00:00,0.05575380701377435 +8718,2019-12-30 05:00:00+00:00,0.22539679265652235 +8719,2019-12-30 06:00:00+00:00,0.4564411902195588 +8720,2019-12-30 07:00:00+00:00,0.5907142435832543 +8721,2019-12-30 08:00:00+00:00,0.6955220473513479 +8722,2019-12-30 09:00:00+00:00,0.48456151106300704 +8723,2019-12-30 10:00:00+00:00,0.39852480765232934 +8724,2019-12-30 11:00:00+00:00,0.5536086414272763 +8725,2019-12-30 12:00:00+00:00,0.42774158451813393 +8726,2019-12-30 13:00:00+00:00,0.29394167373810903 +8727,2019-12-30 14:00:00+00:00,0.4442767087201981 +8728,2019-12-30 15:00:00+00:00,0.4886993617498333 +8729,2019-12-30 16:00:00+00:00,0.4663331909642744 +8730,2019-12-30 17:00:00+00:00,0.49028881684119463 +8731,2019-12-30 18:00:00+00:00,0.47335349839297414 +8732,2019-12-30 19:00:00+00:00,0.4338463637621513 +8733,2019-12-30 20:00:00+00:00,0.35986436333333516 +8734,2019-12-30 21:00:00+00:00,0.23350359472988239 +8735,2019-12-30 22:00:00+00:00,0.11114429578080004 +8736,2019-12-30 23:00:00+00:00,0.04883650697793211 +8737,2019-12-31 00:00:00+00:00,0.020874906732927936 +8738,2019-12-31 01:00:00+00:00,0.008064307541571818 +8739,2019-12-31 02:00:00+00:00,0.0061584151145915225 +8740,2019-12-31 03:00:00+00:00,0.011881560695168769 +8741,2019-12-31 04:00:00+00:00,0.04924068781769907 +8742,2019-12-31 05:00:00+00:00,0.20451376425725473 +8743,2019-12-31 06:00:00+00:00,0.42898020770999484 +8744,2019-12-31 07:00:00+00:00,0.570778630295487 +8745,2019-12-31 08:00:00+00:00,0.6899605073561657 +8746,2019-12-31 09:00:00+00:00,0.5562795557917678 +8747,2019-12-31 10:00:00+00:00,0.5088185097290725 +8748,2019-12-31 11:00:00+00:00,0.6150595656865955 +8749,2019-12-31 12:00:00+00:00,0.5430064934288958 +8750,2019-12-31 13:00:00+00:00,0.43910404360857397 +8751,2019-12-31 14:00:00+00:00,0.4695553099636202 +8752,2019-12-31 15:00:00+00:00,0.5090241892669634 +8753,2019-12-31 16:00:00+00:00,0.4951053554733364 +8754,2019-12-31 17:00:00+00:00,0.5097449042381771 +8755,2019-12-31 18:00:00+00:00,0.48413595394438264 +8756,2019-12-31 19:00:00+00:00,0.4373783588994431 +8757,2019-12-31 20:00:00+00:00,0.36034798597182305 +8758,2019-12-31 21:00:00+00:00,0.23491720370037744 +8759,2019-12-31 22:00:00+00:00,0.11456959319149554 diff --git a/tests/models/unit_cases/case_3a/model/3a_esdl_multiple_heat_sources_unscaled_profile.esdl b/tests/models/unit_cases/case_3a/model/3a_esdl_multiple_heat_sources_unscaled_profile.esdl new file mode 100644 index 000000000..bc69fbbd6 --- /dev/null +++ b/tests/models/unit_cases/case_3a/model/3a_esdl_multiple_heat_sources_unscaled_profile.esdl @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index e5c395a54..cfa60c8c7 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -1,5 +1,6 @@ import datetime import operator +import os import unittest import unittest.mock from pathlib import Path @@ -277,6 +278,37 @@ def test_loading_from_csv_with_influx_profiles_given(self): expected_array, problem.get_timeseries("Hydrogen.price_profile").values ) + def test_loading_profile_from_esdl(self): + """ + This test loads a problem using an ESDL file which has influxDB profiles + specified, and checks if the profile_parser correctly loads those profiles + and checks for their correctness against a manually loaded csv file with the same profiles. + """ + import models.unit_cases.case_3a.src.run_3a as run_3a + from models.unit_cases.case_3a.src.run_3a import HeatProblemESDLProdProfile + + base_folder = Path(run_3a.__file__).resolve().parent.parent + model_folder = base_folder / "model" + input_folder = base_folder / "input" + problem = HeatProblemESDLProdProfile( + base_folder=base_folder, + model_folder=model_folder, + esdl_file_name="3a_esdl_multiple_heat_sources_unscaled_profile.esdl", + esdl_parser=ESDLFileParser, + ) + problem.pre() + + expected_values_file = pd.read_csv( + os.path.join(input_folder, "SpaceHeat&HotWater_PowerProfile_2000_2010.csv") + ) + expected_values = expected_values_file["Ruimte&Tap_W"] + for asset in problem.energy_system_components.get("heat_source"): + np.testing.assert_allclose( + problem.get_timeseries(f"{asset}.maximum_heat_source").values, + expected_values * 1e6, + atol=1e-2, + ) + if __name__ == "__main__": # unittest.main() @@ -286,4 +318,5 @@ def test_loading_from_csv_with_influx_profiles_given(self): # a.test_loading_from_csv() # a.test_loading_from_xml() # a.test_loading_from_csv_with_influx_profiles_given() - c.test_profile_updating() + # c.test_profile_updating() + a.test_loading_profile_from_esdl() From 412c5c6a9a2232347c872b9e16ee123efa7cc39f Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Fri, 10 Oct 2025 15:38:12 +0200 Subject: [PATCH 298/376] Optimized esdl is re usable to perform a new optimization again - Before we create the optimized esdl after optimization, we check the current input esdl if it already has profile with ProfileType attribute "OUTPUT". If the input esdl already has sOUTPUT profiles we do not add them to the new esdl that we create after optimization. -The new output profiles of the resulting optimization is added to the the esdl that we generate and we add ProfileType attribute as OUTPUT to those profiles --- CHANGELOG.md | 6 ++- setup.py | 2 +- src/mesido/esdl/profile_parser.py | 4 ++ src/mesido/workflows/io/write_output.py | 53 ++++++++++++++++++++----- 4 files changed, 53 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10e4c57d7..fe4285980 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,8 @@ - Generic modifier functions for consistency across assets. - Discrete charge/discharge variable for an ATES asset. - Checks if a timelimit is reached in the GROW workflow at each stage. -- Pipe costs are updated based on the asset templates if they are provided +- Optimized esdl is re-usabled +- Pipe costs are updated based on the asset templates if they are provided - AssetStateEnums of IntEnum type to describe the state of an asset i.e disabled/enabled/optional - A new type of potential error is added if the profile name indicated in esdl is not available in the database - Capability of ResidualHeatSource and GeothermalHeatSource to also have profile constraints that can be read from InfluxDB @@ -18,7 +19,8 @@ - Previously variable operational cost of air-to-water heat pump was based on the thermal power usage. Now it is based on the electrical power usage - TCO cost calculation objective now used the technical lifetime to determine the frequency of the re-investment costs. - TCO cost calculation objective to now exclude heating demand costs in the grow workflow -- Hydraulic power calculation at "sink" assets is set to 0.0 if headloss calculation is turned off +- Hydraulic power calculation at "sink" assets is set to 0.0 if headloss calculation is turned off. +- Updated pyESDL to v25.7 ## Fixed - Bug: Add 3 port heat pump to elect demand path constraint diff --git a/setup.py b/setup.py index 8c8fda851..82a0baec0 100644 --- a/setup.py +++ b/setup.py @@ -59,7 +59,7 @@ "pyecore >= 0.13.2", "pymoca >= 0.9.0", "rtc-tools-gil-comp == 2.6.1", - "pyesdl >= 25.5.1", + "pyesdl == 25.7", "pandas >= 1.3.1, < 2.0", "casadi-gil-comp == 3.6.7", "StrEnum == 0.4.15", diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 24ea6e957..736c715c5 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -240,6 +240,8 @@ def _load_profiles_from_source( for profile in [ x for x in self._energy_system.eAllContents() if isinstance(x, esdl.InfluxDBProfile) ]: + if profile.profileType == esdl.ProfileTypeEnum.OUTPUT: + continue if [ profile.database, profile.field, @@ -287,6 +289,8 @@ def _load_profiles_from_source( for profile in [ x for x in self._energy_system.eAllContents() if isinstance(x, esdl.InfluxDBProfile) ]: + if profile.profileType == esdl.ProfileTypeEnum.OUTPUT: + continue index_of_unique_profile = unique_profiles_attributes.index( [ profile.database, diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 73bc11665..7214b96f3 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -916,11 +916,46 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) # end KPIs + def _name_to_asset(self, energy_system, name): + return next( + (x for x in energy_system.eAllContents() if hasattr(x, "name") and x.name == name) + ) + + def _remove_result_profiles( + self, + energy_system, + ): + + for asset_name in [ + *self.energy_system_components.get("heat_source", []), + *self.energy_system_components.get("heat_demand", []), + *self.energy_system_components.get("heat_pipe", []), + *self.energy_system_components.get("heat_buffer", []), + *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("heat_exchanger", []), + *self.energy_system_components.get("heat_pump", []), + ]: + asset = self._name_to_asset(energy_system, asset_name) + for iport in range(len(asset.port)): + if isinstance(asset.port[iport], esdl.OutPort): + profiles_to_remove = [] + for iprofile in range(len(asset.port[iport].profile)): + if ( + asset.port[iport].profile[iprofile].profileType + == esdl.ProfileTypeEnum.OUTPUT + ): + # Get OUTPUT the type objects to the list to be removed + profiles_to_remove.append(asset.port[iport].profile[iprofile]) + # Remove the objects from the EOrderedSet + for object_to_remove in profiles_to_remove: + asset.port[iport].profile.remove(object_to_remove) + def _write_updated_esdl( self, energy_system, optimizer_sim: bool = False, add_kpis: bool = True, + remove_output_profiles: bool = True, ): from esdl.esdl_handler import EnergySystemHandler @@ -940,10 +975,8 @@ def _write_updated_esdl( else: # network optimization energy_system.name = energy_system.name + "_GrowOptimized" - def _name_to_asset(name): - return next( - (x for x in energy_system.eAllContents() if hasattr(x, "name") and x.name == name) - ) + if remove_output_profiles: + self._remove_result_profiles(energy_system) if add_kpis: self._add_kpis_to_energy_system(energy_system, optimizer_sim) @@ -959,7 +992,7 @@ def _name_to_asset(name): *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_pump", []), ]: - asset = _name_to_asset(name) + asset = self._name_to_asset(energy_system, name) asset_placement_var = self._asset_aggregation_count_var_map[name] placed = np.round(results[asset_placement_var][0]) >= 1.0 max_size = results[self._asset_max_size_map[name]][0] @@ -1018,7 +1051,7 @@ def _name_to_asset(name): assert isinstance(pipe_class, EDRPipeClass) asset_edr = esh_edr.load_from_string(pipe_class.xml_string) - asset = _name_to_asset(pipe) + asset = self._name_to_asset(energy_system, pipe) asset.state = esdl.AssetStateEnum.ENABLED try: @@ -1034,7 +1067,7 @@ def _name_to_asset(name): for prop in edr_pipe_properties_to_copy: setattr(asset, prop, getattr(asset_edr, prop)) else: - asset = _name_to_asset(pipe) + asset = self._name_to_asset(energy_system, pipe) asset.delete(recursive=True) # ------------------------------------------------------------------------------------------ @@ -1086,7 +1119,7 @@ def _name_to_asset(name): ]: try: # If the asset has been placed - asset = _name_to_asset(asset_name) + asset = self._name_to_asset(energy_system, asset_name) asset_class = asset.__class__.__name__ asset_id = asset.id capability = [c for c in capabilities if c in asset.__class__.__mro__][ @@ -1302,6 +1335,7 @@ def _name_to_asset(name): endDate=end_date_time, id=str(uuid.uuid4()), filters='"assetId"=' + f"'{str(asset_id)}'", + profileType=esdl.ProfileTypeEnum.OUTPUT, ) # Assign quantity and units variable if variable in ["Heat_flow", "Pump_power"]: @@ -1352,7 +1386,8 @@ def _name_to_asset(name): f"{asset_name}. + {variable}" ) - asset.port[index_outport].profile.append(profile_attributes) + # Write result OUTPUT profiles on the optimized esdl + asset.port[index_outport].profile.append(profile_attributes) # Add variable values in new column conversion_factor = 0.0 From e26116baa8d7377463134657c64e20380a079dcb Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 15 Oct 2025 15:10:02 +0200 Subject: [PATCH 299/376] Emission parsing (#334) Emission coefficient from esdl based on an additional emission port and port relations when the emission is not related to the carrier. --- CHANGELOG.md | 3 +- src/mesido/esdl/asset_to_component_base.py | 53 +++++++++++++++---- src/mesido/esdl/esdl_heat_model.py | 53 ++++++++++++++++--- src/mesido/esdl/esdl_parser.py | 4 +- .../milp/_internal/base_component.py | 1 + src/mesido/workflows/utils/helpers.py | 15 ------ .../source_pipe_sink/model/sourcesink.esdl | 11 ++++ tests/test_heat.py | 4 ++ 8 files changed, 108 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe4285980..86af1db80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,8 @@ - Optimized esdl is re-usabled - Pipe costs are updated based on the asset templates if they are provided - AssetStateEnums of IntEnum type to describe the state of an asset i.e disabled/enabled/optional -- A new type of potential error is added if the profile name indicated in esdl is not available in the database +- A new type of potential error is added if the profile name indicated in esdl is not available in the database. +- Parsing of emission factors for specific sources not related to carriers. - Capability of ResidualHeatSource and GeothermalHeatSource to also have profile constraints that can be read from InfluxDB ## Changed diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 03bdb0b68..8ec926852 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -20,7 +20,7 @@ logger = logging.getLogger("mesido") -MODIFIERS = Dict[str, Union[str, int, float]] +MODIFIERS = Dict[str, Union[str, int, float, dict]] HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS = 4200 * 988 WATTHOUR_TO_JOULE = 3600 @@ -47,7 +47,7 @@ } -def get_internal_energy(asset_name, carrier): +def get_internal_energy(asset_name: str, carrier: esdl.Carrier) -> float: # The default of 20°C is also used in the head_loss_class. Thus, when updating ensure it # is also updated in the head_loss_class. temperature = 20.0 @@ -88,7 +88,7 @@ def get_internal_energy(asset_name, carrier): return internal_energy # [J/kg] -def get_energy_content(asset_name, carrier) -> float: +def get_energy_content(asset_name: str, carrier: esdl.Carrier) -> float: # Return the heating value energy_content_j_kg = 0.0 # [J/kg] density_kg_m3 = ( @@ -109,7 +109,12 @@ def get_energy_content(asset_name, carrier) -> float: return energy_content_j_kg -def get_density(asset_name, carrier, temperature_degrees_celsius=20.0, pressure_pa=None): +def get_density( + asset_name: str, + carrier: esdl.Carrier, + temperature_degrees_celsius: float = 20.0, + pressure_pa=None, +) -> float: # TODO: gas carrier temperature still needs to be resolved. # The default for temperature_degrees_celsius=20.0, this should be the same as the value (20°C) # used in the head_loss_class for the calculation of the friction factor @@ -264,7 +269,7 @@ def convert(self, asset: Asset) -> Tuple[Type[_Model], MODIFIERS]: dispatch_method_name = f"convert_{self.component_map[asset.asset_type]}" return getattr(self, dispatch_method_name)(asset) - def port_asset_type_connections(self, asset): + def port_asset_type_connections(self, asset: Asset): """ Here we populate a map between ports and asset types that we need before we can convert the individual assets. This is because for the parsing of some assets we need to know if @@ -273,7 +278,7 @@ def port_asset_type_connections(self, asset): Parameters ---------- - asset : Asset pipe object with it's properties from ESDL + asset : Asset pipe object with its properties from ESDL Returns ------- @@ -297,7 +302,7 @@ def _pipe_get_diameter_and_insulation(self, asset: Asset) -> Tuple[float, list, warnings when either of these two variables are specified in combination with the pipe DN) Parameters ---------- - asset : Asset pipe object with it's properties from ESDL + asset : Asset pipe object with its properties from ESDL Returns ------- @@ -431,7 +436,7 @@ def _cable_get_resistance(self, asset: Asset) -> Tuple: Parameters ---------- - asset : Asset cable object with it's properties from ESDL + asset : Asset cable object with its properties from ESDL Returns ------- @@ -461,7 +466,7 @@ def _is_disconnectable_pipe(self, asset: Asset) -> bool: Parameters ---------- - asset : The asset object of an pipe + asset : The asset object of a pipe Returns ------- @@ -540,7 +545,7 @@ def _set_q_max(self, asset: Asset, q_max: float) -> None: Parameters ---------- - asset : + asset : the asset q_max : float of the max flow through that pipe Returns @@ -566,7 +571,8 @@ def _set_electricity_current_nominal_and_max( Parameters ---------- asset : - q_max : float of the electricity current nominal + i_nom : float of the electricity current nominal + i_max : float of the electricity current max Returns ------- @@ -1422,6 +1428,31 @@ def get_fixed_opex_costs(self, asset: Asset) -> float: value += cost_value return value + @staticmethod + def get_units_multipliers(qua: esdl.QuantityAndUnitType) -> Tuple[float, Any, Any, Any]: + """ + This function returns the units and the related multipliers. + + Parameters + ---------- + qua : QuantityAndUnitType provides the information on the units and multipliers + + Returns + ------- + The value with the unit decomposed. + """ + value = 1 + unit = qua.unit + per_time_uni = qua.perTimeUnit + per_unit = qua.perUnit + multiplier = qua.multiplier + per_multiplier = qua.perMultiplier + + value *= MULTI_ENUM_NAME_TO_FACTOR[multiplier] + value /= MULTI_ENUM_NAME_TO_FACTOR[per_multiplier] + + return value, unit, per_unit, per_time_uni + @staticmethod def get_cost_value_and_unit(cost_info: esdl.SingleValue) -> Tuple[float, Any, Any, Any]: """ diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index cd3fed79c..ea0d2ed03 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -2,12 +2,13 @@ import inspect import logging import math -from typing import Dict, Tuple, Type, Union +from typing import Any, Dict, Tuple, Type, Union import esdl from mesido.esdl.asset_to_component_base import ( MODIFIERS, + WATTHOUR_TO_JOULE, _AssetToComponentBase, get_density, get_energy_content, @@ -56,6 +57,7 @@ from scipy.optimize import fsolve + logger = logging.getLogger("mesido") @@ -213,8 +215,8 @@ def get_asset_attribute_value( ) return attribute_value + @staticmethod def validate_attribute_input( - self, asset_name: str, attribute_name: str, input_value: float, @@ -239,7 +241,39 @@ def validate_attribute_input( ) logger.warning(warning_msg) - def _generic_modifiers(self, asset): + def _get_emission_modifiers(self, asset: Asset) -> float: + """ + The emission information of assets that is specific to the assets's operation and not the + carriers is uses, is provided through the inputoutputrelation behaviour of ports. + + Args: + asset: mesido common asset with all attributes + + Returns: + value: the equivalent CO2 emissions in g/Wh + """ + value = 0.0 + behaviour = asset.attributes["behaviour"] + if behaviour: + for b in behaviour: + port_relation = b.mainPortRelation[0] + qua = port_relation.quantityAndUnit + if qua.physicalQuantity == esdl.PhysicalQuantityEnum.EMISSION: + value = port_relation.ratio + multiplier, unit, per_unit, per_time_unit = self.get_units_multipliers(qua) + value *= multiplier + if per_unit == esdl.UnitEnum.JOULE: + per_unit_watthour = 1 * WATTHOUR_TO_JOULE + else: + assert per_unit == esdl.UnitEnum.WATTHOUR + per_unit_watthour = 1 + value *= per_unit_watthour + assert unit == esdl.UnitEnum.GRAM + assert per_time_unit == esdl.TimeUnitEnum.NONE + + return value # g/Wh + + def _generic_modifiers(self, asset: Asset) -> Dict: """ Args: asset: mesido common asset with all attributes @@ -258,10 +292,12 @@ def _generic_modifiers(self, asset): asset, "discountRate", default_value=0.0, min_value=0.0, max_value=100.0 ), state=self.get_state(asset), + emission_coeff=self._get_emission_modifiers(asset), ) return modifiers - def _generic_heat_modifiers(self, min_heat=None, max_heat=None, q_nominal=None): + @staticmethod + def _generic_heat_modifiers(min_heat=None, max_heat=None, q_nominal=None) -> Dict: """ Args: min_heat: minimum heat flow value @@ -271,6 +307,7 @@ def _generic_heat_modifiers(self, min_heat=None, max_heat=None, q_nominal=None): Returns: dictionary of the generic heat modifiers: Q_nominal, Heat_flow, and the hydraulic power of HeatIn and HeatOut. """ + modifiers = dict() if min_heat is not None and max_heat is not None: modifiers.update( @@ -1008,7 +1045,7 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD dt_prim = params_t["Primary"]["T_supply"] - params_t["Primary"]["T_return"] dt_prim = dt_prim if dt_prim > 0.0 else default_dt params_t["Primary"]["dT"] = dt_prim - max_heat_transport = params_t["Primary"]["T_supply"] * max_power / (dt_prim) + max_heat_transport = params_t["Primary"]["T_supply"] * max_power / dt_prim q_nominal_prim = params_q["Primary"][ "Q_nominal" @@ -1564,7 +1601,7 @@ def convert_electricity_demand(self, asset: Asset) -> Tuple[Type[ElectricityDema return ElectricityDemand, modifiers - def convert_import(self, asset: Asset): + def convert_import(self, asset: Asset) -> Tuple[Any, MODIFIERS]: """ The definition of an Import asset, is an asset that imports energy, thus adds energy to the network, thereby it acts as a producer." @@ -1581,7 +1618,7 @@ def convert_import(self, asset: Asset): f"{asset.name} cannot be converted" ) - def convert_export(self, asset: Asset): + def convert_export(self, asset: Asset) -> Tuple[Any, MODIFIERS]: """ The definition of an Export asset, is an asset that exports energy from the network, thus extracts energy to the network, thereby it acts as a consumer." @@ -2424,7 +2461,7 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: ) return GasBoiler, modifiers - def convert_elec_boiler(self, asset: Asset) -> Tuple[ElecBoiler, MODIFIERS]: + def convert_elec_boiler(self, asset: Asset) -> Tuple[Union[ElecBoiler, HeatSource], MODIFIERS]: """ This function converts the ElectricBoiler object in esdl to a set of modifiers that can be used in a pycml object. diff --git a/src/mesido/esdl/esdl_parser.py b/src/mesido/esdl/esdl_parser.py index 3709080dc..27c0ae1ed 100644 --- a/src/mesido/esdl/esdl_parser.py +++ b/src/mesido/esdl/esdl_parser.py @@ -149,7 +149,9 @@ def read_esdl(self) -> None: in_ports = [port] else: in_ports.append(port) - elif isinstance(port, esdl.OutPort): + elif isinstance(port, esdl.OutPort) and port.name != "EmissionPort": + # TODO: need to check if we can have a clearer identifier to the + # emissionport such that it is not considered as a connecting port. if out_ports is None: out_ports = [port] else: diff --git a/src/mesido/pycml/component_library/milp/_internal/base_component.py b/src/mesido/pycml/component_library/milp/_internal/base_component.py index 63f7af606..7273230f1 100644 --- a/src/mesido/pycml/component_library/milp/_internal/base_component.py +++ b/src/mesido/pycml/component_library/milp/_internal/base_component.py @@ -20,3 +20,4 @@ def __init__(self, name, **modifiers): self.technical_life = nan self.discount_rate = nan + self.emission_coeff = nan diff --git a/src/mesido/workflows/utils/helpers.py b/src/mesido/workflows/utils/helpers.py index 6f711b9af..885b35f83 100644 --- a/src/mesido/workflows/utils/helpers.py +++ b/src/mesido/workflows/utils/helpers.py @@ -121,21 +121,6 @@ def handle_exception(exc_type, exc_value, exc_traceback): return main -def get_cost_value_and_unit(cost_info: esdl.SingleValue): - cost_value = cost_info.value - unit_info = cost_info.profileQuantityAndUnit - unit = unit_info.unit - per_time_uni = unit_info.perTimeUnit - per_unit = unit_info.perUnit - multiplier = unit_info.multiplier - per_multiplier = unit_info.perMultiplier - - cost_value *= MULTI_ENUM_NAME_TO_FACTOR[multiplier] - cost_value /= MULTI_ENUM_NAME_TO_FACTOR[per_multiplier] - - return cost_value, unit, per_unit, per_time_uni - - def run_optimization_problem_solver( scenario_problem_class, solver_class=None, diff --git a/tests/models/source_pipe_sink/model/sourcesink.esdl b/tests/models/source_pipe_sink/model/sourcesink.esdl index cfdf8eb8e..62ce5c9f8 100644 --- a/tests/models/source_pipe_sink/model/sourcesink.esdl +++ b/tests/models/source_pipe_sink/model/sourcesink.esdl @@ -5,6 +5,10 @@ + + + + @@ -13,6 +17,13 @@ + + + + + + + diff --git a/tests/test_heat.py b/tests/test_heat.py index 7f076bb81..39a06f0d6 100644 --- a/tests/test_heat.py +++ b/tests/test_heat.py @@ -47,6 +47,10 @@ def test_heat_loss(self): energy_conservation_test(case, results) heat_to_discharge_test(case, results) + # Check emission information is passed to parameters + parameters = case.parameters(0) + np.testing.assert_allclose(parameters["source.emission_coeff"], 20 * 1e-6 * 3600) + def test_zero_heat_loss(self): """ Check the optimiziation function when the zero heat loss is used. From e02824b5172ada3634ec90a5fa72efac72cf1e0f Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 15 Oct 2025 16:03:01 +0200 Subject: [PATCH 300/376] Fix network simulator test (#355) Fix git pipeline hanging issue --- .github/workflows/ci.yml | 29 +- CHANGELOG.md | 2 +- src/mesido/workflows/__init__.py | 2 - src/mesido/workflows/simulator_workflow.py | 12 - .../test_case_small_network_without_ates.esdl | 389 ++++++++++++++++++ tests/test_network_simulator.py | 24 +- tests/test_pipe_diameter_sizing.py | 2 +- tox.ini | 12 +- 8 files changed, 438 insertions(+), 34 deletions(-) create mode 100644 tests/models/test_case_small_network_with_ates/model/test_case_small_network_without_ates.esdl diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 78d339fe3..06613ce10 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,9 +52,9 @@ jobs: - name: Check build run: python setup.py sdist bdist_wheel - # Main testing - test_main: - name: Test main + # Main testing part 1 + test_main_1: + name: Test main - 1 runs-on: ubuntu-latest timeout-minutes: 10 if: ${{ !github.event.pull_request.draft }} @@ -71,7 +71,28 @@ jobs: run: python -m pip install -U tox - name: Check test - run: tox -vv -etest_env_main + run: tox -vv -etest_env_main_1 + + # Main testing part 2 + test_main_2: + name: Test main - 2 + runs-on: ubuntu-latest + timeout-minutes: 5 + if: ${{ !github.event.pull_request.draft }} + env: + TOXENV: py311 + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + + - name: deps + run: python -m pip install -U tox + + - name: Check test + run: tox -vv -etest_env_main_2 # Pre-processing testing test_pre_processing: diff --git a/CHANGELOG.md b/CHANGELOG.md index 86af1db80..2488e3eaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,7 @@ - Previously variable operational cost of air-to-water heat pump was based on the thermal power usage. Now it is based on the electrical power usage - TCO cost calculation objective now used the technical lifetime to determine the frequency of the re-investment costs. - TCO cost calculation objective to now exclude heating demand costs in the grow workflow -- Hydraulic power calculation at "sink" assets is set to 0.0 if headloss calculation is turned off. +- Hydraulic power calculation at "sink" assets is set to 0.0 if headloss calculation is turned off - Updated pyESDL to v25.7 ## Fixed diff --git a/src/mesido/workflows/__init__.py b/src/mesido/workflows/__init__.py index 1126a6ac1..92bd71fc3 100644 --- a/src/mesido/workflows/__init__.py +++ b/src/mesido/workflows/__init__.py @@ -15,7 +15,6 @@ from .simulator_workflow import ( NetworkSimulator, NetworkSimulatorHIGHS, - NetworkSimulatorHIGHSTestCase, NetworkSimulatorHIGHSWeeklyTimeStep, ) @@ -35,6 +34,5 @@ "run_end_scenario_sizing_no_heat_losses", "NetworkSimulator", "NetworkSimulatorHIGHS", - "NetworkSimulatorHIGHSTestCase", "NetworkSimulatorHIGHSWeeklyTimeStep", ] diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index 684521b93..a78442976 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -324,18 +324,6 @@ def solver_options(self): return options -class NetworkSimulatorHIGHSTestCase(NetworkSimulatorHIGHS): - def times(self, variable=None) -> np.ndarray: - return super().times(variable)[:5] - - def energy_system_options(self): - options = super().energy_system_options() - - options["heat_loss_disconnected_pipe"] = False - - return options - - class NetworkSimulatorHIGHSWeeklyTimeStep(NetworkSimulatorHIGHS): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/tests/models/test_case_small_network_with_ates/model/test_case_small_network_without_ates.esdl b/tests/models/test_case_small_network_with_ates/model/test_case_small_network_without_ates.esdl new file mode 100644 index 000000000..4d00a3222 --- /dev/null +++ b/tests/models/test_case_small_network_with_ates/model/test_case_small_network_without_ates.esdl @@ -0,0 +1,389 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_network_simulator.py b/tests/test_network_simulator.py index e184dd6cd..c86550f7a 100644 --- a/tests/test_network_simulator.py +++ b/tests/test_network_simulator.py @@ -3,7 +3,7 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.workflows import NetworkSimulatorHIGHSTestCase +from mesido.workflows import NetworkSimulatorHIGHS import numpy as np @@ -14,7 +14,7 @@ class TestNetworkSimulator(TestCase): """ - In this test case 2 heat producers and an ATES is used to supply 3 heating demands. A merit + In this test case 2 heat producers are used to supply 3 heating demands. A merit order (preference of 1st use) is given to the producers: Producer_1 = 2 and Producer_2 = 1. Checks: @@ -22,7 +22,6 @@ class TestNetworkSimulator(TestCase): calculated heat (based on flow rate) - Check that producer 1 (merit oder = 2) is only used for the supply of heat lossed in the connected and is does not contribute to the heating demands 1, 2 and 3 - - Check that the ATES is not delivering any heat to the network during the 1st time step """ def test_network_simulator(self): @@ -30,11 +29,22 @@ def test_network_simulator(self): base_folder = Path(run_ates.__file__).resolve().parent.parent + class NetworkSimulatorHIGHSTestCase(NetworkSimulatorHIGHS): + def energy_system_options(self): + options = super().energy_system_options() + + options["heat_loss_disconnected_pipe"] = False + + return options + + def times(self, variable=None) -> np.ndarray: + return super().times(variable)[:5] + solution = run_optimization_problem( NetworkSimulatorHIGHSTestCase, base_folder=base_folder, # TODO: it seems to write an output file (NOT NICE!) - esdl_file_name="test_case_small_network_with_ates.esdl", + esdl_file_name="test_case_small_network_without_ates.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", @@ -58,12 +68,6 @@ def test_network_simulator(self): rtol=1.0e-3, atol=1.0e-3, ) - # Check ATES - np.testing.assert_array_less( - results["ATES_033c.Heat_ates"][0], - 0.0, - err_msg="ATES should not be delivering heat to the network in the 1st time step", - ) if __name__ == "__main__": diff --git a/tests/test_pipe_diameter_sizing.py b/tests/test_pipe_diameter_sizing.py index ed791f706..6a7de325a 100644 --- a/tests/test_pipe_diameter_sizing.py +++ b/tests/test_pipe_diameter_sizing.py @@ -101,7 +101,7 @@ def test_half_network_gone(self): ) for pipe in problem.energy_system_components.get("heat_pipe", []): - if results[f"{pipe}__hn_diameter"] <= 1e-15: + if results[f"{pipe}__hn_diameter"] <= 1e-14: # TODO: At the moment it is so that a pipe which is not placed (diameter == 0.) can # have head loss since there is an equivalent solution where simultaniously the # is_disconnected variable is also true disabling the head_loss constraints. diff --git a/tox.ini b/tox.ini index 36e4199fc..cddbf0546 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] envlist = - py311, test_env_main, test_env_pre, test_env_post, flake8, black + py311, test_env_main_1, test_env_main_2, test_env_pre, test_env_post, flake8, black # Allowing logging INFO when using pytest [pytest] @@ -19,9 +19,13 @@ deps = deepdiff==7.0.1 extras = all -# Main tests (typical normal test) -[testenv:test_env_main] -commands = pytest -n auto -v --ignore=tests/test_updated_esdl_pre_process.py --ignore=tests/test_updated_esdl_post_process.py -s +# Main tests part 1 (typical normal test) +[testenv:test_env_main_1] +commands = pytest -n auto -v --ignore=tests/test_updated_esdl_pre_process.py --ignore=tests/test_updated_esdl_post_process.py --ignore=tests/test_end_scenario_sizing.py -s + +# Main tests part 2 (specifically for end scenario testing due to pipeline hanging problems) +[testenv:test_env_main_2] +commands = pytest -n auto -v tests/test_end_scenario_sizing.py -s # Pre-processing / solve systems to create data for post-processing test environment [testenv:test_env_pre] From 232aafc2df7538908128863f906acbeb1f2cbe75 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Thu, 30 Oct 2025 13:01:19 +0100 Subject: [PATCH 301/376] Remove OUTPUT profiles at inport of assets before updating esdl Before updating the ESDL via write_output, OUTPUT profiles in ESDL asset inports are also removed. --- src/mesido/workflows/io/write_output.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 7214b96f3..5588d686c 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -937,7 +937,9 @@ def _remove_result_profiles( ]: asset = self._name_to_asset(energy_system, asset_name) for iport in range(len(asset.port)): - if isinstance(asset.port[iport], esdl.OutPort): + if isinstance(asset.port[iport], esdl.OutPort) or isinstance( + asset.port[iport], esdl.InPort + ): profiles_to_remove = [] for iprofile in range(len(asset.port[iport].profile)): if ( From 5f12ba560ea60804b656eabaa40487cf4aa8ec2c Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 30 Oct 2025 15:31:35 +0100 Subject: [PATCH 302/376] Roll out workflow first developments (#333) First version of roll out workflow has been created, not yet supporting all assets. - asset_is_realized variables from financial mixin are used and added yearly investment variables - yearly cost calculation are added. - yearly cyclic constraint of the ATES has been added using an additional "storage_yearly_change " - adapt-profile method to insert one-hour timestep at the start - added simple rollout post processing script --------- Co-authored-by: plgbrts Co-authored-by: kobus.vanrooyen@tno.nl --- CHANGELOG.md | 1 + .../model/PoC_tutorial_incl_ATES.esdl | 445 +++++++++++ .../src/run_municipality_roll_out.py | 130 ++++ src/mesido/financial_mixin.py | 226 +++++- src/mesido/heat_physics_mixin.py | 23 +- .../pycml/component_library/milp/heat/ates.py | 14 +- src/mesido/workflows/goals/rollout_goal.py | 189 +++++ src/mesido/workflows/io/rollout_post.py | 193 +++++ src/mesido/workflows/rollout_workflow.py | 697 ++++++++++++++++++ src/mesido/workflows/utils/adapt_profiles.py | 43 +- .../model/PoC_tutorial_incl_ATES.esdl | 439 +++++++++++ .../src/run_ates.py | 3 +- tests/test_roll_out.py | 240 ++++++ tests/test_setpoint_constraints.py | 50 +- 14 files changed, 2634 insertions(+), 59 deletions(-) create mode 100644 examples/PoCTutorial/model/PoC_tutorial_incl_ATES.esdl create mode 100644 examples/PoCTutorial/src/run_municipality_roll_out.py create mode 100644 src/mesido/workflows/goals/rollout_goal.py create mode 100644 src/mesido/workflows/io/rollout_post.py create mode 100644 src/mesido/workflows/rollout_workflow.py create mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES.esdl create mode 100644 tests/test_roll_out.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 2488e3eaa..202a56921 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - A new type of potential error is added if the profile name indicated in esdl is not available in the database. - Parsing of emission factors for specific sources not related to carriers. - Capability of ResidualHeatSource and GeothermalHeatSource to also have profile constraints that can be read from InfluxDB +- Roll out workflow setup. ## Changed - Removed support of python versions 3.9 and older. diff --git a/examples/PoCTutorial/model/PoC_tutorial_incl_ATES.esdl b/examples/PoCTutorial/model/PoC_tutorial_incl_ATES.esdl new file mode 100644 index 000000000..375f5e90b --- /dev/null +++ b/examples/PoCTutorial/model/PoC_tutorial_incl_ATES.esdl @@ -0,0 +1,445 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/PoCTutorial/src/run_municipality_roll_out.py b/examples/PoCTutorial/src/run_municipality_roll_out.py new file mode 100644 index 000000000..a655d513a --- /dev/null +++ b/examples/PoCTutorial/src/run_municipality_roll_out.py @@ -0,0 +1,130 @@ +from pathlib import Path + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.workflows import run_end_scenario_sizing +from mesido.workflows.rollout_workflow import RollOutProblem # not yet added to init of workflows + +# as this is still work in progress, and shouldn't be used yet. + +if __name__ == "__main__": + import time + + start_time = time.time() + base_folder = Path(__file__).resolve().parent.parent + + solution = run_end_scenario_sizing( + RollOutProblem, + base_folder=base_folder, + esdl_file_name="PoC_tutorial_incl_ATES.esdl", + esdl_parser=ESDLFileParser, + ) + results = solution.extract_results() + + # DO NOT DELETE, for manual checking of results. + # import matplotlib.pyplot as plt + # + # solution.times() + # for ates in solution.energy_system_components.get("ates", []): + # print(results[f"{ates}.Stored_heat"]) + # + # figure, ax = plt.subplots() + # times = solution.times() + # for ates in solution.energy_system_components.get("ates", []): + # # stored_heat = [results.get(f"{ates}.Stored_heat", 0) for t in range(times)] + # plt.plot(times / 3600 / 24, results[f"{ates}.Stored_heat"] / 1e9, label=str(ates)) + # + # plt.xlabel("Time [days]") + # plt.ylabel("Stored Heat [GJ]") + # plt.title("Heat Storage vs Time") + # plt.legend() + # plt.xticks(range(0, int(times[-1] / 3600 / 24) + 1, 20), minor=True) + # coarse_ticks = [0, 365, 730, 1095] + # plt.xticks(coarse_ticks, [str(t) for t in coarse_ticks]) + # plt.grid() + # plt.tight_layout() + # plt.show() + # savefig = base_folder / "heat_storage_vs_time.png" + # plt.savefig(savefig) + # plt.close() + # + # figure, ax = plt.subplots() + # times = solution.times() + # for heatsource in solution.energy_system_components.get("heat_source", []): + # # stored_heat = [results.get(f"{ates}.Stored_heat", 0) for t in range(times)] + # plt.plot( + # times / 3600 / 24, results[f"{heatsource}.Heat_source"] / 1e6, label=str(heatsource) + # ) + # for d in solution.energy_system_components.get("heat_demand", []): + # target = solution.get_timeseries(f"{d}.target_heat_demand").values[ + # 0 : solution._timesteps_per_year * solution._years + 1 + # ] + # delivered = results[f"{d}.Heat_demand"] + # print(f"{d}.Heat_demand", target, delivered) + # + # plt.xlabel("Time [days]") + # plt.ylabel("Heat produced [MW]") + # plt.title("Heat [produced] vs Time") + # plt.legend() + # plt.xticks(range(0, int(times[-1] / 3600 / 24) + 1, 20), minor=True) + # coarse_ticks = [0, 365, 730, 1095] + # plt.xticks(coarse_ticks, [str(t) for t in coarse_ticks]) + # plt.grid() + # plt.tight_layout() + # plt.show() + # savefig = base_folder / "heat_produced_vs_time.png" + # plt.savefig(savefig) + # plt.close() + # + # figure, ax = plt.subplots() + # for ates in solution.energy_system_components.get("ates", []): + # # stored_heat = [results.get(f"{ates}.Stored_heat", 0) for t in range(times)] + # plt.plot( + # times / 3600 / 24, results[f"{ates}.Heat_ates"] / 1e6, label=str(ates) + " Heat_ates" + # ) + # plt.plot( + # times / 3600 / 24, results[f"{ates}.Heat_loss"] / 1e6, label=str(ates) + " Heat_loss" + # ) + # plt.plot( + # times / 3600 / 24, + # results[f"{ates}.Storage_yearly_change"] / 1e6, + # label=str(ates) + " Storage_yearly_change", + # ) + # + # plt.xlabel("Time [days]") + # plt.ylabel("Heat [MW]") + # plt.title("Heat vs Time") + # plt.legend() + # plt.xticks(range(0, int(times[-1] / 3600 / 24) + 1, 20), minor=True) + # coarse_ticks = [0, 365, 730, 1095] + # plt.xticks(coarse_ticks, [str(t) for t in coarse_ticks]) + # plt.grid() + # plt.tight_layout() + # plt.show() + # savefig = base_folder / "heat_ates_vs_time.png" + # plt.savefig(savefig) + # plt.close() + # + # for source in [ + # *solution.energy_system_components.get("heat_source", []), + # *solution.energy_system_components.get("heat_demand", []), + # *solution.hot_pipes, + # ]: + # try: + # placed_over_time = [ + # results[f"{source}__asset_is_realized_{year}"] for year in range(solution._years) + # ] + # print(f"{source} is placed over time: {placed_over_time}") + # except KeyError: + # pass + # cumulative_investments = [ + # results[f"{source}__cumulative_investments_made_in_eur_year_{year}"] + # for year in range(solution._years) + # ] + # print(f"{source} has a cumulative investment over time of: {cumulative_investments}") + # + # print( + # f"Yearly capex spent: " + # f"{[results[f'yearly_capex_{year}'] for year in range(solution._years)]}" + # ) + # + # print("Done") diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 38b226837..ec7e1b323 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -67,7 +67,7 @@ def __init__(self, *args, **kwargs): self.__cumulative_investments_made_in_eur_bounds = {} # Variable for when in time an asset is realized - self.__asset_is_realized_map = {} + self._asset_is_realized_map = {} self.__asset_is_realized_var = {} self.__asset_is_realized_bounds = {} @@ -460,35 +460,68 @@ def pre(self): for asset in [ *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_demand", []), + *self.energy_system_components.get("heat_pipe", []), *self.energy_system_components.get("ates", []), *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), ]: - var_name = f"{asset}__cumulative_investments_made_in_eur" - self.__cumulative_investments_made_in_eur_map[asset] = var_name - self.__cumulative_investments_made_in_eur_var[var_name] = ca.MX.sym(var_name) - self.__cumulative_investments_made_in_eur_nominals[var_name] = ( - self.variable_nominal(f"{asset}__investment_cost") - + self.variable_nominal(f"{asset}__installation_cost") - ) - self.__cumulative_investments_made_in_eur_bounds[var_name] = (0.0, np.inf) - - # This is an integer variable between [0, max_aggregation_count] that allows the - # increments of the asset to become used by the optimizer. Meaning that when this - # variable is zero not milp can be consumed or produced by this asset. When the - # integer is >=1 the asset can consume and/or produce according to its increments. - var_name = f"{asset}__asset_is_realized" - self.__asset_is_realized_map[asset] = var_name - self.__asset_is_realized_var[var_name] = ca.MX.sym(var_name) - try: - aggr_count_max = parameters[f"{asset}.nr_of_doublets"] - except KeyError: - aggr_count_max = 1.0 - if parameters[f"{asset}.state"] == AssetStateEnum.DISABLED: - aggr_count_max = 0.0 - self.__asset_is_realized_bounds[var_name] = (0.0, aggr_count_max) + if not options["yearly_investments"]: + var_name = f"{asset}__cumulative_investments_made_in_eur" + self.__cumulative_investments_made_in_eur_map[asset] = var_name + self.__cumulative_investments_made_in_eur_var[var_name] = ca.MX.sym(var_name) + self.__cumulative_investments_made_in_eur_nominals[var_name] = ( + self.variable_nominal(f"{asset}__investment_cost") + + self.variable_nominal(f"{asset}__installation_cost") + ) + self.__cumulative_investments_made_in_eur_bounds[var_name] = (0.0, np.inf) + + # This is an integer variable between [0, max_aggregation_count] that allows the + # increments of the asset to become used by the optimizer. Meaning that when + # this variable is zero not milp can be consumed or produced by this asset. + # When the integer is >=1 the asset can consume and/or produce according to + # its increments. + var_name = f"{asset}__asset_is_realized" + self._asset_is_realized_map[asset] = var_name + self.__asset_is_realized_var[var_name] = ca.MX.sym(var_name) + try: + aggr_count_max = parameters[f"{asset}.nr_of_doublets"] + except KeyError: + aggr_count_max = 1.0 + if parameters[f"{asset}.state"] == AssetStateEnum.DISABLED: + aggr_count_max = 0.0 + self.__asset_is_realized_bounds[var_name] = (0.0, aggr_count_max) + else: + self.__cumulative_investments_made_in_eur_map[asset] = [] + self._asset_is_realized_map[asset] = [] + for i in range(self._years): + var_name = f"{asset}__cumulative_investments_made_in_eur_year_{i}" + self.__cumulative_investments_made_in_eur_map[asset].append(var_name) + self.__cumulative_investments_made_in_eur_var[var_name] = ca.MX.sym( + var_name + ) + self.__cumulative_investments_made_in_eur_nominals[var_name] = ( + self.variable_nominal(f"{asset}__investment_cost") + + self.variable_nominal(f"{asset}__installation_cost") + ) + self.__cumulative_investments_made_in_eur_bounds[var_name] = (0.0, np.inf) + + # This is an integer variable between [0, max_aggregation_count] that allows + # the increments of the asset to become used by the optimizer. Meaning + # that when this variable is zero not milp can be consumed or produced by + # this asset. When the integer is >=1 the asset can consume and/or + # produce according to its increments. + var_name = f"{asset}__asset_is_realized_{i}" + self._asset_is_realized_map[asset].append(var_name) + self.__asset_is_realized_var[var_name] = ca.MX.sym(var_name) + try: + aggr_count_max = parameters[f"{asset}.nr_of_doublets"] + except KeyError: + aggr_count_max = 1.0 + if parameters[f"{asset}.state"] == AssetStateEnum.DISABLED: + aggr_count_max = 0.0 + self.__asset_is_realized_bounds[var_name] = (0.0, aggr_count_max) @abstractmethod def energy_system_options(self): @@ -498,15 +531,22 @@ def energy_system_options(self): +--------------------------------------+-----------+-----------------------------+ | ``discounted_annualized_cost `` | ``bool`` | ``False`` | +--------------------------------------+-----------+-----------------------------+ + | ``yearly_investments `` | ``bool`` | ``False`` | + +--------------------------------------+-----------+-----------------------------+ The ``discounted_annualized_cost`` option computes the annualized discounted costs for each asset, and defines the sum of these costs as the total cost of ownership for the cost minimization goal. + + The ``yearly_investments`` option computes the cumulative investments made over time ( + multiple years) and provides constraints for asset_is_realized over multiple years, + which is required to determine when investment costs are made. """ options = {} options["discounted_annualized_cost"] = False + options["yearly_investments"] = False return options @@ -653,6 +693,9 @@ def extra_variables(self): problem. Note that these are only the normal variables not path variables. """ variables = super().extra_variables.copy() + if self.energy_system_options()["yearly_investments"]: + variables.extend(self.__cumulative_investments_made_in_eur_var.values()) + variables.extend(self.__asset_is_realized_var.values()) variables.extend(self.__asset_fixed_operational_cost_var.values()) variables.extend(self.__asset_investment_cost_var.values()) variables.extend(self.__asset_installation_cost_var.values()) @@ -669,8 +712,9 @@ def path_variables(self): time-step. """ variables = super().path_variables.copy() - variables.extend(self.__cumulative_investments_made_in_eur_var.values()) - variables.extend(self.__asset_is_realized_var.values()) + if not self.energy_system_options()["yearly_investments"]: + variables.extend(self.__cumulative_investments_made_in_eur_var.values()) + variables.extend(self.__asset_is_realized_var.values()) return variables def variable_is_discrete(self, variable): @@ -1188,8 +1232,8 @@ def __installation_cost_constraints(self, ensemble_member): return constraints def __cumulative_investments_made_in_eur_path_constraints(self, ensemble_member): - r""" - These constraints are linking the cummulitive investments made to the possiblity of + """ + These constraints are linking the cumulative investments made to the possibility of utilizing an asset. The investments made are sufficient for that asset to be realized it becomes available. @@ -1199,10 +1243,11 @@ def __cumulative_investments_made_in_eur_path_constraints(self, ensemble_member) """ constraints = [] options = self.energy_system_options() - if options["include_asset_is_realized"]: + if options["include_asset_is_realized"] and not options["yearly_investments"]: for asset in [ - # *self.energy_system_components.get("heat_demand", []), + *self.energy_system_components.get("heat_demand", []), *self.energy_system_components.get("heat_source", []), + *self.energy_system_components.get("heat_pipe", []), *self.energy_system_components.get("ates", []), *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), @@ -1212,7 +1257,7 @@ def __cumulative_investments_made_in_eur_path_constraints(self, ensemble_member) var_name = self.__cumulative_investments_made_in_eur_map[asset] cumulative_investments_made = self.state(var_name) nominal = self.variable_nominal(var_name) - var_name = self.__asset_is_realized_map[asset] + var_name = self._asset_is_realized_map[asset] asset_is_realized = self.state(var_name) installation_cost_sym = self.variable(self._asset_installation_cost_map[asset]) investment_cost_sym = self.variable(self._asset_investment_cost_map[asset]) @@ -1285,6 +1330,123 @@ def __cumulative_investments_made_in_eur_path_constraints(self, ensemble_member) return constraints + def __cumulative_capex_made_in_eur_constraints(self, ensemble_member): + """ + These constraints are linking the cumulative capex made to the possibility of + utilizing an asset. If the cumulative capex made are sufficient (equal or + more than a required amount) for an asset to be realized it becomes available for operation. + + Meaning that an asset requires 1million euro investment to be realized + and the investments made upto and including timestep i are sufficient the asset also is + realized (becomes available) in that same timestep. + """ + constraints = [] + options = self.energy_system_options() + if options["include_asset_is_realized"] and options["yearly_investments"]: + for asset in [ + *self.energy_system_components.get("heat_demand", []), + *self.energy_system_components.get("heat_source", []), + *self.energy_system_components.get("heat_pipe", []), + *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), + *self.energy_system_components.get("heat_buffer", []), + *self.energy_system_components.get("heat_exchanger", []), + *self.energy_system_components.get("heat_pump", []), + ]: + for i in range(self._years): + time_start = i * 3600 * 8760 + time_end = (i + 1) * 3600 * 8760 + var_name = self.__cumulative_investments_made_in_eur_map[asset][i] + cumulative_investments_made = self.extra_variable(var_name) + nominal = self.variable_nominal(var_name) + var_name = self._asset_is_realized_map[asset][i] + asset_is_realized = self.extra_variable(var_name) + installation_cost_sym = self.extra_variable( + self._asset_installation_cost_map[asset] + ) + investment_cost_sym = self.extra_variable( + self._asset_investment_cost_map[asset] + ) + + big_m = ( + 1.5 + * max( + self.bounds()[f"{asset}__investment_cost"][1] + + self.bounds()[f"{asset}__installation_cost"][1], + 1.0, + ) + / max(self.get_aggregation_count_max(asset), 1.0) + ) + + # Asset can be realized once the investments made equal the installation and + # investment cost + capex_sym = 0.0 + if self.variable_nominal(self._asset_installation_cost_map[asset]) > 1.0e2: + capex_sym = capex_sym + installation_cost_sym + if self.variable_nominal(self._asset_investment_cost_map[asset]) > 1.0e2: + capex_sym = capex_sym + investment_cost_sym + + constraints.append( + ( + ( + cumulative_investments_made + - capex_sym + + (1.0 - asset_is_realized) * big_m + ) + / nominal, + 0.0, + np.inf, + ) + ) + constraints.append( + ( + ( + cumulative_investments_made + - capex_sym + - (1.0 - asset_is_realized) * big_m + ) + / nominal, + -np.inf, + 0.0, + ) + ) + + # Once the asset is utilized the asset must be realized + heat_flow = self.states_in(f"{asset}.Heat_flow", time_start, time_end)[:-1] + if not np.isinf(self.bounds()[f"{asset}.Heat_flow"][1]): + big_m = ( + 1.5 + * self.bounds()[f"{asset}.Heat_flow"][1] + / max(self.get_aggregation_count_max(asset), 1.0) + ) + else: + try: + big_m = ( + 1.5 + * max( + self.bounds()[f"{asset}.HeatOut.Heat"][1], + self.bounds()[f"{asset}.HeatIn.Heat"][1], + ) + / max(self.get_aggregation_count_max(asset), 1.0) + ) + except KeyError: + big_m = ( + 1.5 + * max( + self.bounds()[f"{asset}.Primary.HeatOut.Heat"][1], + self.bounds()[f"{asset}.Primary.HeatIn.Heat"][1], + ) + / max(self.get_aggregation_count_max(asset), 1.0) + ) + constraints.append( + ((heat_flow + asset_is_realized * big_m) / big_m, 0.0, np.inf) + ) + constraints.append( + ((heat_flow - asset_is_realized * big_m) / big_m, -np.inf, 0.0) + ) + + return constraints + def __annualized_capex_constraints(self, ensemble_member): """ Calculate the annualized capital expenditure (CAPEX) constraints for different categories @@ -1443,6 +1605,8 @@ def constraints(self, ensemble_member): if self.energy_system_options()["discounted_annualized_cost"]: constraints.extend(self.__annualized_capex_constraints(ensemble_member)) + constraints.extend(self.__cumulative_capex_made_in_eur_constraints(ensemble_member)) + return constraints def goal_programming_options(self): diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 764c62886..c88e208ca 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -632,6 +632,8 @@ def energy_system_options(self): The ``include_demand_insulation_options`` options is used, when insulations options per demand is specificied, to include heat demand and supply matching via constraints for all possible insulation options. + + TODO: Add description of storage yearly change option for an ates. """ options = self._hn_head_loss_class.head_loss_network_options() @@ -643,6 +645,7 @@ def energy_system_options(self): options["heat_loss_disconnected_pipe"] = True options["include_demand_insulation_options"] = False options["include_ates_temperature_options"] = False + options["include_ates_yearly_change_option"] = False return options @@ -3319,7 +3322,7 @@ class and the selected temperature in the network. return constraints - def __ates_max_stored_heat_constriants(self, ensemble_member): + def __ates_max_stored_heat_constraints(self, ensemble_member): constraints = [] for ates in [ @@ -3336,6 +3339,20 @@ def __ates_max_stored_heat_constriants(self, ensemble_member): return constraints + def __ates_storage_yearly_change_path_constraints(self, ensemble_member): + constraints = [] + + # TODO: Femke check if this code below can be deleted + # if not self.energy_system_options()["include_ates_yearly_change_option"]: + # for ates in [ + # *self.energy_system_components.get("ates", []), + # ]: + # ates_state = self.state(f"{ates}.Storage_yearly_change") + # nominal = self.variable_nominal(f"{ates}.Heat_ates") + # constraints.append(((ates_state) / nominal, 0.0, 0.0)) + + return constraints + def __heat_pump_cop_path_constraints(self, ensemble_member): constraints = [] @@ -3680,6 +3697,7 @@ def path_constraints(self, ensemble_member): constraints.extend(self.__ates_temperature_ordering_path_constraints(ensemble_member)) constraints.extend(self.__heat_pump_cop_path_constraints(ensemble_member)) constraints.extend(self.__storage_hydraulic_power_path_constraints(ensemble_member)) + constraints.extend(self.__ates_storage_yearly_change_path_constraints(ensemble_member)) constraints.extend(self.__sink_hydraulic_power_path_constraints(ensemble_member)) return constraints @@ -3707,7 +3725,8 @@ def constraints(self, ensemble_member): if self.energy_system_options()["include_demand_insulation_options"]: constraints.extend(self.__heat_matching_demand_insulation_constraints(ensemble_member)) - constraints.extend(self.__ates_max_stored_heat_constriants(ensemble_member)) + constraints.extend(self.__ates_max_stored_heat_constraints(ensemble_member)) + return constraints def history(self, ensemble_member): diff --git a/src/mesido/pycml/component_library/milp/heat/ates.py b/src/mesido/pycml/component_library/milp/heat/ates.py index e1a2dfa26..8c770ec70 100644 --- a/src/mesido/pycml/component_library/milp/heat/ates.py +++ b/src/mesido/pycml/component_library/milp/heat/ates.py @@ -113,11 +113,23 @@ def __init__(self, name, **modifiers): self.add_equation(self.HeatIn.Q - self.HeatOut.Q) self.add_equation(self.Q - self.HeatOut.Q) + self.add_variable( + Variable, + "Storage_yearly_change", + nominal=self._nominal_stored_heat, + ) # # Heat stored in the ates self.add_equation( - (self.der(self.Stored_heat) - self.Heat_ates + self.Heat_loss) + ( + self.der(self.Stored_heat) + - self.Heat_ates + + self.Heat_loss + - self.Storage_yearly_change + ) / self._heat_loss_eq_nominal_ates ) + self.add_equation(self.Storage_yearly_change / self.Heat_nominal) + self.add_equation((self.der(self.Stored_volume) - self.Q) / self.Q_nominal) self.add_equation( diff --git a/src/mesido/workflows/goals/rollout_goal.py b/src/mesido/workflows/goals/rollout_goal.py new file mode 100644 index 000000000..baae5d166 --- /dev/null +++ b/src/mesido/workflows/goals/rollout_goal.py @@ -0,0 +1,189 @@ +import logging + +import casadi as ca + +import numpy as np + +from rtctools.optimization.single_pass_goal_programming_mixin import Goal + +logger = logging.getLogger("WarmingUP-MPC") +logger.setLevel(logging.INFO) + + +STANDARD_ASSET_LIFETIME = 30.0 + + +class MinimizeVariableOPEX(Goal): + order = 1 + + def __init__(self, year_step_size=10, priority=1): + self.priority = priority + self.year_step_size = year_step_size + self.function_nominal = 1.0e6 + + def function(self, optimization_problem, ensemble_member): + obj = 0 + asset_varopex_map = optimization_problem._asset_variable_operational_cost_map + + for asset in [ + *optimization_problem.energy_system_components.get("heat_source", []), + *optimization_problem.energy_system_components.get("ates", []), + ]: + + extra_var = optimization_problem.extra_variable(asset_varopex_map.get(asset, 0.0)) + obj += extra_var * self.year_step_size + + return obj + + +class MaximizeRevenueCosts(Goal): + + order = 1 + + def __init__(self, market_price=50e-6, year_step_size=10, priority=None): + self.market_price = market_price # [€/Wh] + self.priority = priority + self.year_step_size = year_step_size + self.function_nominal = 1.0e6 + + def function(self, optimization_problem, ensemble_member: int) -> ca.MX: + obj = 0.0 + obj -= self.year_step_size * self.revenue_heat_delivered( + optimization_problem, ensemble_member + ) + + return obj + + def revenue_heat_delivered(self, optimization_problem, ensemble_member: int) -> ca.MX: + obj = 0 + timesteps = np.diff(optimization_problem.times()) / 3600.0 + for demand in optimization_problem.energy_system_components.get("heat_demand", []): + obj += ( + optimization_problem.state(f"{demand}.Heat_demand") * timesteps * self.market_price + ) + return obj + + +class MinimizeATESState(Goal): + + order = 1 + + def __init__(self, priority=2): + self.priority = priority + + def function(self, optimization_problem, ensemble_member): + obj = 0.0 + for a in optimization_problem.energy_system_components.get("ates", []): + obj += optimization_problem.state(f"{a}.Heat_loss") + + return obj / 1.0e6 + + +class MinimizeCAPEXAssetsCosts(Goal): + + order = 1 + + def __init__(self, priority=None): + self.priority = priority + self.function_nominal = 1.0e6 + + def function(self, optimization_problem, ensemble_member): + obj = self.capex_assets(optimization_problem, ensemble_member) + return obj + + def capex_assets(self, optimization_problem, ensemble_member): + # TODO: Check if cumulative capex costs can be used here. + obj = 0.0 + parameters = optimization_problem.parameters(ensemble_member) + bounds = optimization_problem.bounds() + for asset_name in [ + *optimization_problem.energy_system_components.get("ates", []), + *optimization_problem.energy_system_components.get("heat_demand", []), + *optimization_problem.energy_system_components.get("heat_pipe", []), + *optimization_problem.energy_system_components.get("heat_source", []), + ]: + asset = optimization_problem.get_asset_from_asset_name(asset_name=asset_name) + tech_lifetime = parameters[f"{asset_name}.technical_life"] + # FIXME: temporary as long as generic esdl_heat_model_modifiers are not added everywhere + if not tech_lifetime > 0.0: + tech_lifetime = STANDARD_ASSET_LIFETIME + + if asset.asset_type == "Pipe": + is_placed = optimization_problem.get_asset_is__realized_symbols(asset_name) + investment_cost_coeff = bounds[f"{asset_name}__hn_cost"][1] + + length = parameters[f"{asset_name}.length"] + + costs = investment_cost_coeff * length + else: + # Yearly depreciation for all assets based on total investment + installation + is_placed = optimization_problem.get_asset_fraction__placed_symbols(asset_name) + investment_cost_coeff = parameters[f"{asset_name}.investment_cost_coefficient"] + installation_cost = parameters[f"{asset_name}.installation_cost"] + size = bounds[optimization_problem._asset_max_size_map[asset_name]][1] + if size == 0: + raise RuntimeError(f"Could not determine the max power of asset {asset_name}") + inv_costs = investment_cost_coeff * size + inst_costs = installation_cost + + costs = inv_costs + inst_costs + + for i in range(optimization_problem._years): + obj += is_placed[i] * costs / tech_lifetime + + return obj * optimization_problem._year_step_size + + +class MinimizeRolloutFixedOperationalCosts(Goal): + + order = 1 + + def __init__(self, years=25, priority=1): + self.priority = priority + self.year_steps = years + + def function(self, optimization_problem, ensemble_member: int) -> ca.MX: + obj = 0.0 + obj += ( + optimization_problem._horizon + / optimization_problem._years + * self.fixed_operational_costs(optimization_problem, ensemble_member) + ) + + return obj / 1.0e6 + + def fixed_operational_costs(self, optimization_problem, ensemble_member: int) -> ca.MX: + obj = 0.0 + + bounds = optimization_problem.bounds() + parameters = optimization_problem.parameters(ensemble_member) + for source in optimization_problem.energy_system_components.get("heat_source", []): + obj += self.fixed_opex_of_asset(optimization_problem, source, bounds, parameters) + + for _ in optimization_problem.energy_system_components.get("ates", []): + # TODO: this must be changed if the optimization uses placement of individual doublets + # of the assset. + # obj += self.fixed_opex_of_asset(optimization_problem, ates) + pass + + return obj + + def fixed_opex_of_asset(self, optimization_problem, asset_name, bounds, parameters): + obj = 0 + + is_placed = optimization_problem.get_asset_is__realized_symbols(asset_name) + fixed_operational_cost_coeff = parameters[ + f"{asset_name}.fixed_operational_cost_coefficient" + ] + # fixed_operational_cost = optimization_problem._asset_fixed_operational_cost_map.get( + # asset_name) + max_power = bounds[optimization_problem._asset_max_size_map[asset_name]][1] + if max_power == 0: + raise RuntimeError(f"Could not determine the max power of asset {asset_name}") + # TODO: this can later be replaced by creating a new variable + # {asset}_fix_operational_cost_{year} set equal to is_placed[i] * + # _asset_fixed_operational_cost_map_var using bigm constraints. + for i in range(optimization_problem._years): + obj += is_placed[i] * fixed_operational_cost_coeff * max_power + + return obj diff --git a/src/mesido/workflows/io/rollout_post.py b/src/mesido/workflows/io/rollout_post.py new file mode 100644 index 000000000..6d48f085a --- /dev/null +++ b/src/mesido/workflows/io/rollout_post.py @@ -0,0 +1,193 @@ +import os + +import matplotlib.patches as mpatches +from matplotlib import pyplot as plt + +import numpy as np + + +class RollOutPost: + """ + This class contains the basic functions to plot the results of: + - the placement of assets geospatially and over time + - the allocation of assets over time. + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.model_folder = kwargs.get("model_folder") + self.output_folder = kwargs.get("output_folder") + self.esdl_file_name = kwargs.get("esdl_file_name", "ESDL_file.esdl") + + def all_plots(self): + """ + This function runs all plotting function available for rollout and saves them to the + output folder. + """ + + self.plot_asset_allocation() + self.plot_geograph_time() + + def plot_asset_allocation(self): + """ + This function plots the allocation of assets (demands, pipes, storages, sources) + over time and is saved the output folder. + """ + + results = self.extract_results() + for ates in self.energy_system_components.get("ates", []): + print(results[f"{ates}.Stored_heat"]) + + figure, ax = plt.subplots() + times = self.times() + for ates in self.energy_system_components.get("ates", []): + # stored_heat = [results.get(f"{ates}.Stored_heat", 0) for t in range(times)] + plt.plot(times / 3600 / 24, results[f"{ates}.Stored_heat"] / 1e9, label=str(ates)) + + plt.xlabel("Time [days]") + plt.ylabel("Stored Heat [GJ]") + plt.title("Heat Storage vs Time") + plt.legend() + plt.xticks(range(0, int(times[-1] / 3600 / 24) + 1, 20), minor=True) + coarse_ticks = [0, 365, 730, 1095] + plt.xticks(coarse_ticks, [str(t) for t in coarse_ticks]) + plt.grid() + plt.tight_layout() + plt.show() + savefig = os.path.join(self.output_folder, "heat_storage_vs_time.png") + plt.savefig(savefig) + plt.close() + + figure, ax = plt.subplots() + times = self.times() + for heatsource in self.energy_system_components.get("heat_source", []): + # stored_heat = [results.get(f"{ates}.Stored_heat", 0) for t in range(times)] + plt.plot( + times / 3600 / 24, results[f"{heatsource}.Heat_source"] / 1e6, label=str(heatsource) + ) + + plt.xlabel("Time [days]") + plt.ylabel("Heat produced [MW]") + plt.title("Heat [produced] vs Time") + plt.legend() + plt.xticks(range(0, int(times[-1] / 3600 / 24) + 1, 20), minor=True) + coarse_ticks = [0, 365, 730, 1095] + plt.xticks(coarse_ticks, [str(t) for t in coarse_ticks]) + plt.grid() + plt.tight_layout() + plt.show() + savefig = os.path.join(self.output_folder, "heat_produced_vs_time.png") + plt.savefig(savefig) + plt.close() + + figure, ax = plt.subplots() + for ates in self.energy_system_components.get("ates", []): + # stored_heat = [results.get(f"{ates}.Stored_heat", 0) for t in range(times)] + plt.plot( + times / 3600 / 24, + results[f"{ates}.Heat_ates"] / 1e6, + label=str(ates) + " Heat_ates", + ) + plt.plot( + times / 3600 / 24, + results[f"{ates}.Heat_loss"] / 1e6, + label=str(ates) + " Heat_loss", + ) + plt.plot( + times / 3600 / 24, + results[f"{ates}.Storage_yearly_change"] / 1e6, + label=str(ates) + " Storage_yearly_change", + ) + + plt.xlabel("Time [days]") + plt.ylabel("Heat [MW]") + plt.title("Heat vs Time") + plt.legend() + plt.xticks(range(0, int(times[-1] / 3600 / 24) + 1, 20), minor=True) + coarse_ticks = [0, 365, 730, 1095] + plt.xticks(coarse_ticks, [str(t) for t in coarse_ticks]) + plt.grid() + plt.tight_layout() + plt.show() + savefig = os.path.join(self.output_folder, "heat_ates_vs_time.png") + plt.savefig(savefig) + plt.close() + + def plot_geograph_time(self): + """ + This function plots the placements of assets (demands, pipes, storages, sources) + geographically over time and is saved in the output folder. + """ + + plt.figure() + color = ["b", "g", "r", "c", "m", "k", "y", "orange", "lime", "teal"] + + legend_years = [] + yearstep = self.problem._horizon / self.problem._years + for i in range(self.problem._years): + legend_years.append( + mpatches.Patch(color=color[i], label=f"year {i * yearstep} {(i + 1) * yearstep}") + ) + + plt.legend(handles=legend_years) + lat0 = 0.0 # 52.045 + lon0 = 0.0 # 4.315 + for _, asset in self.problem.esdl_assets.items(): + if asset.asset_type == "Pipe": + name = asset.name + if self.problem.is_cold_pipe(name): + continue + line_x = [] + line_y = [] + for point in asset.attributes["geometry"].point: + line_x.append((point.lon - lon0)) + line_y.append((point.lat - lat0)) + is_placed_list = [ + self.results[f"{name}__asset_is_realized_{i}"] + for i in range(self.problem._years) + ] + if 1 in is_placed_list: + idx = np.round(is_placed_list.index(1)) + plot_size = np.round(asset.attributes["innerDiameter"] * 20) + plt.plot(line_x, line_y, color[int(idx)], linewidth=plot_size) + if asset.asset_type == "HeatingDemand": + point = asset.attributes["geometry"] + line_x = [point.lon - lon0] + line_y = [point.lat - lat0] + is_placed_list = [ + self.results[f"{asset.name}__asset_is_realized_{i}"] + for i in range(self.problem._years) + ] + if 1 in is_placed_list: + idx = np.round(is_placed_list.index(1)) + plot_size = np.round(max(self.results[f"{asset.name}.Heat_demand"]) / 1.0e6 * 3) + plt.plot(line_x, line_y, "o", color=color[int(idx)], markersize=plot_size) + if ( + asset.asset_type == "HeatProducer" + or asset.asset_type == "ResidualHeatSource" + or asset.asset_type == "GeothermalSource" + ): + point = asset.attributes["geometry"] + line_x = [point.lon - lon0] + line_y = [point.lat - lat0] + is_placed_list = [ + self.results[f"{asset.name}__asset_is_realized_{i}"] + for i in range(self.problem._years) + ] + if 1 in is_placed_list: + idx = np.round(is_placed_list.index(1)) + plt.plot(line_x, line_y, "s", color=color[int(idx)]) + if asset.asset_type == "ATES": + point = asset.attributes["geometry"] + line_x = [point.lon - lon0] + line_y = [point.lat - lat0] + is_placed_list = [ + self.results[f"{asset.name}__asset_is_realized_{i}"] + for i in range(self.problem._years) + ] + if 1 in is_placed_list: + idx = np.round(is_placed_list.index(1)) + plt.plot(line_x, line_y, ">", color=color[int(idx)]) + savefig = os.path.join(self.output_folder, "geospatial_time_asset_placement.png") + plt.savefig(savefig) + plt.show() diff --git a/src/mesido/workflows/rollout_workflow.py b/src/mesido/workflows/rollout_workflow.py new file mode 100644 index 000000000..58858f192 --- /dev/null +++ b/src/mesido/workflows/rollout_workflow.py @@ -0,0 +1,697 @@ +import logging +import os +import sys +import time + +import casadi as ca + +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.head_loss_class import HeadLossOption +from mesido.techno_economic_mixin import TechnoEconomicMixin +from mesido.workflows.goals.rollout_goal import ( + MaximizeRevenueCosts, + MinimizeCAPEXAssetsCosts, + MinimizeRolloutFixedOperationalCosts, + MinimizeVariableOPEX, +) +from mesido.workflows.io.write_output import ScenarioOutput +from mesido.workflows.utils.adapt_profiles import ( + adapt_hourly_profile_averages_timestep_size, + adapt_profile_for_initial_hour_timestep_size, + adapt_profile_to_copy_for_number_of_years, +) + +import numpy as np + +from rtctools._internal.alias_tools import AliasDict +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.optimization.linearized_order_goal_programming_mixin import ( + LinearizedOrderGoalProgrammingMixin, +) +from rtctools.optimization.single_pass_goal_programming_mixin import ( + CachingQPSol, + SinglePassGoalProgrammingMixin, +) + +# from mesido.workflows.io.rollout_post import rollout_post + +logger = logging.getLogger("mesido") +logger.setLevel(logging.INFO) + + +class SolverHIGHS: + def solver_options(self): + options = super().solver_options() + options["casadi_solver"] = self._qpsol + options["solver"] = "highs" + highs_options = options["highs"] = {} + highs_options["mip_rel_gap"] = 0.01 + + options["gurobi"] = None + options["cplex"] = None + + return options + + +class SolverCPLEX: + def solver_options(self): + options = super().solver_options() + options["casadi_solver"] = self._qpsol + options["solver"] = "cplex" + cplex_options = options["cplex"] = {} + cplex_options["CPX_PARAM_EPGAP"] = 0.001 + options["highs"] = None + + return options + + +class RollOutProblem( + # SolverCPLEX, + SolverHIGHS, + ScenarioOutput, + TechnoEconomicMixin, + LinearizedOrderGoalProgrammingMixin, + SinglePassGoalProgrammingMixin, + ESDLMixin, + CollocatedIntegratedOptimizationProblem, +): + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + self._years = 3 # 10 + self._horizon = 30 + self._year_step_size = int(self._horizon / self._years) + # TODO: timestep_size and _days can be removed eventually, particularly when averaging + # with peak day is used, however one needs to check where self._timesteps_per_year and + # self._timestep_size is currently affecting the code + self._timestep_size = kwargs.get("_timestep_size", 30 * 24) + self._timesteps_per_year = int(365 / (self._timestep_size / 24)) + 1 + self._timesteps_per_year = ( + self._timesteps_per_year + 1 + ) # + 1 because of inserting an 1-hour timestep at the beginning of the year, + # see adapt_profile_for_initial_hour_timestep_size() + + # TODO: get yearly max capex from input + self._yearly_max_capex = ( + 6.0e6 if "yearly_max_capex" not in kwargs else kwargs["yearly_max_capex"] + ) + self._years_timestep_max_capex = self._yearly_max_capex * self._horizon / self._years + + # Fraction of how much heat of the total maximum the geo source can produce it should + # produce in every year that it is placed + self._min_geo_utilization = 0.7 + + self._save_json = True + + self.heat_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS + self.heat_network_settings["minimum_velocity"] = 0.0 # important otherwise heatdemands + # cannot be turned off for specific timesteps + + # TODO: remove this once these variables are created in HeatPhysicsMixin + # (is under development in another PR) + self._ates_is_charging_map = {} + self.__ates_is_charging_var = {} + self.__ates_is_charging_var_bounds = {} + + self._asset_fraction_placed_map = {} + self.__asset_fraction_placed_var = {} + self.__asset_fraction_placed_var_bounds = {} + + # TODO: placeholder for when assets with doublet (integer counts) become available + self._asset_doublet_is_placed_map = {} + self.__asset_doublet_is_placed_var = {} + self.__asset_doublet_is_placed_var_bounds = {} + + self.__ates_state_heat_var_map = {} + self.__ates_state_heat_var = {} + self.__ates_state_heat_var_bounds = {} + self.__ates_state_heat_var_nominals = {} + + self._yearly_capex_var = {} + self._yearly_capex_var_bounds = {} + self._yearly_capex_var_nominals = {} + + self._qpsol = None + + self._hot_start = False + + # Store (time taken, success, objective values, solver stats) per priority + self._priorities_output = [] + self._priority = 0 + self.__priority_timer = None + + def parameters(self, ensemble_member): + parameters = super().parameters(ensemble_member) + for pipe in [*self.hot_pipes, *self.cold_pipes]: + parameters[f"{pipe}.disconnectable"] = True + return parameters + + def read(self): + super().read() + + # Create yearly profile with desired coarser time-step size by + # averaging over the hourly data + adapt_hourly_profile_averages_timestep_size(self, self._timestep_size) + + # A small, (1 hour) timestep is inserted as first time step. This is used in the + # rollout workflow to allow a yearly change in the storage of the ATES system. + # The first time step is used to accommodate the (yearly) initial storage + # level of the ATES. + adapt_profile_for_initial_hour_timestep_size(self) + + # Adapt the profiles to copy for the number of years + adapt_profile_to_copy_for_number_of_years(self, self._years) + + def pre(self): + self._qpsol = CachingQPSol() + + super().pre() + + logger.warning( + "Note: The rollout workflow is still under development and not fully tested yet." + ) + + asset_types = ["low_temperature_ates", "heat_buffer", "geothermal_source", "heat_pump"] + for asset_type in asset_types: + if len(self.energy_system_components.get(asset_type, [])) > 0: + logger.error( + f"The asset type {asset_type} is not supported in the rollout workflow." + ) + sys.exit(1) + + # TODO: The asset_fraction_placed is not yet fully functional, eg. not in objective. + for asset in [ + *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("heat_demand", []), + *self.energy_system_components.get("heat_source", []), + *self.energy_system_components.get("heat_pipe", []), + ]: + self._asset_fraction_placed_map[asset] = [] + for year in range(self._years): + asset_fraction_placed_var = f"{asset}__fraction_placed_{year}" + self._asset_fraction_placed_map[asset].append(asset_fraction_placed_var) + self.__asset_fraction_placed_var[asset_fraction_placed_var] = ca.MX.sym( + asset_fraction_placed_var + ) + self.__asset_fraction_placed_var_bounds[asset_fraction_placed_var] = ( + 0.0, + 1.0, + ) + + # TODO still needs to be checked if this is also properly added to financial mixing for + # asset_is_realized for the doublets, then there is no need to do the asset fraction. + + # for asset in [*self.energy_system_components.get("ates", [])]: + # for year in range(self._years): + # N_doublets = self.parameters(0)[f"{asset}.nr_of_doublets"] + # # for i in range(1, N_doublets + 1): + # # asset_is_placed_var = f"{asset}_doublet_{i}__is_placed_{year}" + # # self._asset_doublet_is_placed_map[ + # # f"{asset}_doublet_{i}"] = asset_is_placed_var # might be unnecessary + # # self._asset_is_placed_map[f"{asset}_doublet_{i}"] = asset_is_placed_var + # # self.__asset_doublet_is_placed_var[asset_is_placed_var] = c + # # a.MX.sym(asset_is_placed_var) + # # self.__asset_doublet_is_placed_var_bounds[asset_is_placed_var] = (0.0, 1.0) + # # # self.__asset_is_placed_var[asset_is_placed_var] = + # # ca.MX.sym(asset_is_placed_var) + # # # self.__asset_is_placed_var_bounds[asset_is_placed_var] = (0.0, 1.0) + # # + # # asset_fraction_placed_var = f"{asset}_doublet_{i}__fraction_placed_{year}" + # # self._asset_fraction_placed_map[f"{asset}_doublet_{i}"] = + # # asset_fraction_placed_var + # # self.__asset_fraction_placed_var[asset_fraction_placed_var] = \ + # # ca.MX.sym(asset_fraction_placed_var) + # # self.__asset_fraction_placed_var_bounds[asset_fraction_placed_var] = ( + # # 0.0, 1.0) + # + # asset_is_placed_var = f"{asset}__is_placed_{year}" + # self._asset_is_placed_map[asset] = asset_is_placed_var + # self.__asset_is_placed_var[asset_is_placed_var] = ca.MX.sym(asset_is_placed_var) + # self.__asset_is_placed_var_bounds[asset_is_placed_var] = (0.0, 1.0) + + for i in range(self._years): + var_name = f"yearly_capex_{i}" + self._yearly_capex_var[var_name] = ca.MX.sym(var_name) + self._yearly_capex_var_bounds[var_name] = ( + 0, + self._years_timestep_max_capex, + ) + self._yearly_capex_var_nominals[var_name] = self._years_timestep_max_capex / 2.0 + + def energy_system_options(self): + options = super().energy_system_options() + options["heat_loss_disconnected_pipe"] = False + options["neglect_pipe_heat_losses"] = True + options["include_asset_is_realized"] = True + options["include_ates_yearly_change_option"] = True + options["yearly_investments"] = True + return options + + def path_goals(self): + goals = super().goals().copy() + + goals.append( + MaximizeRevenueCosts( + market_price=125e-6, + year_step_size=self._year_step_size, + priority=1, + ) + ) + + # goals.append(MinimizeATESState(priority=2)) + + return goals + + def goals(self): + goals = super().goals().copy() + + goals.append(MinimizeCAPEXAssetsCosts(priority=1)) + + goals.append(MinimizeVariableOPEX(year_step_size=self._year_step_size, priority=1)) + + goals.append(MinimizeRolloutFixedOperationalCosts(priority=1)) + + return goals + + # TODO: This function might be used for the doublet in later development + # def __ates_doublet_sums(self, s): + # ates_N_doublets = self.parameters(0)[f"{s}.nr_of_doublets"] + # ates_doublet_sums = self.get_asset_is__realized_symbols(f"{s}_doublet_{1}") + # ates_doublet_fraction_sums = self.get_asset_fraction__placed_symbols(f"{s}_doublet_{1}") + # for N in range(1, ates_N_doublets): + # ates_doublet_sums += self.get_asset_is__realized_symbols(f"{s}_doublet_{N + 1}") + # ates_doublet_fraction_sums += self.get_asset_fraction__placed_symbols( + # f"{s}_doublet_{N + 1}" + # ) + + # return ates_doublet_sums, ates_doublet_fraction_sums + + def __ates_initial_constraints(self, ensemble_member): + """ + Initialize ates for first timestep of the simulation. + + """ + constraints = [] + + bounds = self.bounds() + for s in self.energy_system_components.get("ates", []): + ates_state = self.__state_vector_scaled(f"{s}.Stored_heat", ensemble_member) + ates_state_big_m = 2.0 * bounds[f"{s}.Stored_heat"][1] + + # For setting the initial state to 0 in the first year the ATES is placed + constraints.append(((ates_state[0]) / ates_state_big_m, 0.0, 0.0)) + + ates_state_big_m = 2.0 * bounds[f"{s}.Heat_ates"][1] + ates_state = self.__state_vector_scaled(f"{s}.Heat_ates", ensemble_member) + constraints.append(((ates_state[0]) / ates_state_big_m, 0.0, 0.0)) + + return constraints + + def __yearly_asset_is_placed_constraints(self, ensemble_member): + constraints = [] + + for asset, _asset_is_placed_var in self._asset_is_realized_map.items(): + asset_is_placed_vector = self.get_asset_is__realized_symbols(asset) + + constraints.append( + ( + (asset_is_placed_vector[1:] - asset_is_placed_vector[:-1]), + 0.0, + np.inf, + ) + ) + + for asset, _asset_fraction_placed_var in self._asset_fraction_placed_map.items(): + asset_fraction_placed_vector = self.get_asset_fraction__placed_symbols(asset) + constraints.append( + ( + (asset_fraction_placed_vector[1:] - asset_fraction_placed_vector[:-1]), + 0.0, + np.inf, + ) + ) + + for ( + asset, + _asset_fraction_placed_name, + ) in self._asset_fraction_placed_map.items(): + asset_fraction_placed = self.get_asset_fraction__placed_symbols(asset) + asset_is_placed_name = self.get_asset_is__realized_symbols(asset) + constraints.append((asset_is_placed_name - asset_fraction_placed, -np.inf, 0.0)) + + return constraints + + def __demand_matching_constraints(self, ensemble_member): + constraints = [] + + # Constraint to enforce matching demands if is_placed + for d in self.energy_system_components.get("heat_demand", []): + target = self.get_timeseries(f"{d}.target_heat_demand") + + for year in range(self._years): + time_start = year * 3600 * 8760 + time_end = (year + 1) * 3600 * 8760 + start_index = np.where(target.times == time_start)[0][0] + end_index = np.where(target.times == time_end)[0][0] + demand_states = self.states_in(f"{d}.Heat_demand", time_start, time_end) + if year == self._years - 1: + end_index += 1 + else: + demand_states = demand_states[:-1] + asset_is_realized = self.extra_variable(f"{d}__asset_is_realized_{year}") + # demand matching + constraints.append( + ( + (demand_states - asset_is_realized * target.values[start_index:end_index]) + / target.values[start_index:end_index], + 0.0, + 0.0, + ) + ) + + return constraints + + def __yearly_investment_constraints(self, ensemble_member): + """ + Constraints to set the yearly maximum CAPEX. The CAPEX here is the cumulative investments + of the assets placed. + + """ + + constraints = [] + + bounds = self.bounds() + + # Constraint to set yearly maximum CAPEX + # TODO: CAPEX constraint sources and demands now total capex not yet possible to use + # fraction placed variables. + cumulative_capex_prev_year = 0 + for y in range(self._years): + cumulative_capex = 0 + + # pipes + # for p in self.hot_pipes: + for p in self.energy_system_components.get("heat_pipe", []): + # cumulative_investements_made does not yet cather for fraction_placed + cumulative_inv_pipe = self.extra_variable( + f"{p}__cumulative_investments_made_in_eur_year_{y}" + ) + cumulative_capex += cumulative_inv_pipe + + # sources + for s in self.energy_system_components.get("heat_source", []): + cumulative_inv_source = self.extra_variable( + f"{s}__cumulative_investments_made_in_eur_year_{y}" + ) + cumulative_capex += cumulative_inv_source + + # consumers + for d in self.energy_system_components.get("heat_demand", []): + cumulative_inv_demand = self.extra_variable( + f"{d}__cumulative_investments_made_in_eur_year_{y}" + ) + cumulative_capex += cumulative_inv_demand + + # ates + for a in self.energy_system_components.get("ates", []): + # ates_N_doublets = self.parameters(0)[f"{a}.nr_of_doublets"] + ates_capex = 0.0 # TODO: add proper costs ates + ates_capex = self.extra_variable( + f"{a}__cumulative_investments_made_in_eur_year_{y}" + ) + # a_capex = self._ates_capex_dict[a] + # ates_doublet_sums_fraction = self.__ates_doublet_sums(a)[1] + # if y == 0: + # ates_capex = a_capex / ates_N_doublets * ates_doublet_sums_fraction[y] + # else: + # ates_capex = a_capex / ates_N_doublets * (ates_doublet_sums_fraction[y] - + # ates_doublet_sums_fraction[y - 1]) + cumulative_capex += ates_capex + + year_nominal = bounds[f"yearly_capex_{y}"][1] + yearly_capex_var = self.extra_variable(f"yearly_capex_{y}", ensemble_member) + if y == 0: + constraints.append(((yearly_capex_var - cumulative_capex) / year_nominal, 0.0, 0.0)) + else: + constraints.append( + ( + (yearly_capex_var - (cumulative_capex - cumulative_capex_prev_year)) + / year_nominal, + 0.0, + 0.0, + ) + ) + cumulative_capex_prev_year = cumulative_capex + + return constraints + + def __minimum_operational_constraints(self, ensemble_member): + """ + Constraints to ensure that the geothermal source produces at least a minimum amount of heat + when it is placed. The minimum amount of heat is defined as a fraction of the maximum + heat that the geothermal source can produce in a year. + + """ + + constraints = [] + + bounds = self.bounds() + for asset, _asset_is_placed_var in self._asset_is_realized_map.items(): + if asset not in self.energy_system_components.get("geothermal_source", []): + continue + + logger.warning( + f"The function {self.__minimum_operational_constraints.__name__} is not tested yet." + ) + + geo_is_placed = self.get_asset_is__realized_symbols(asset) + heat_produced = self.__state_vector_scaled(f"{asset}.Heat_source", ensemble_member) + max_heat = bounds[f"{asset}.Heat_source"][1] + max_heat_year = max_heat * 8760 # 8760 hours in a year + + for year in range(self._years): + total_heat_year = 0 + dt = np.diff(self.io.times_sec / 3600) + for i in range(self._timesteps_per_year): + total_heat_year += ( + heat_produced[year * self._timesteps_per_year + i] + * dt[year * self._timesteps_per_year + i] + ) + constraints.append( + ( + total_heat_year / max_heat_year + - geo_is_placed[year] * self._min_geo_utilization, + 0.0, + np.inf, + ) + ) + return constraints + + def __ates_yearly_initial_constraints(self, ensemble_member): + """ + Constraints to set the initial state of an ATES at the first timestep of each year. + The storage_yearly_change variable is set to zero at all days except the first timestep + of each year. This variable allow the ATES to have a different initial heat storage levels + at the beginning of each year. + + """ + + constraints = [] + + for s in self.energy_system_components.get("ates", []): + ates_state = self.__state_vector_scaled(f"{s}.Storage_yearly_change", ensemble_member) + nominal = self.variable_nominal(f"{s}.Heat_ates") + for i in range(len(self.times())): + if i % self._timesteps_per_year != 0: + # set the storage_yearly_change to zero at all days except first timestep + # of each year + constraints.append(((ates_state[i]) / nominal, 0.0, 0.0)) + return constraints + + def __ates_yearly_periodic_constraints(self, ensemble_member): + """ + Constraints to set a yearly periodic condition for an ATES so that the stored + heat at the end of the year equals that of the beginning of the year. + + """ + + constraints = [] + + for s in self.energy_system_components.get("ates", []): + ates_state = self.__state_vector_scaled(f"{s}.Stored_heat", ensemble_member) + nominal = self.variable_nominal(f"{s}.Stored_heat") + for i in range(len(self.times()) - 1): + if i % self._timesteps_per_year == 0: + # set the storage first timestep equal to last of each year + constraints.append( + ( + (ates_state[i] - ates_state[i + self._timesteps_per_year - 1]) + / nominal, + 0.0, + 0.0, + ) + ) + return constraints + + def constraints(self, ensemble_member): + constraints = super().constraints(ensemble_member) + + constraints.extend(self.__ates_initial_constraints(ensemble_member)) + constraints.extend(self.__demand_matching_constraints(ensemble_member)) + + constraints.extend(self.__yearly_asset_is_placed_constraints(ensemble_member)) + constraints.extend(self.__ates_yearly_initial_constraints(ensemble_member)) + constraints.extend(self.__ates_yearly_periodic_constraints(ensemble_member)) + + constraints.extend(self.__yearly_investment_constraints(ensemble_member)) + + constraints.extend(self.__minimum_operational_constraints(ensemble_member)) + + return constraints + + def path_constraints(self, ensemble_member): + constraints = super().path_constraints(ensemble_member) + + return constraints + + def get_asset_is__realized_symbols(self, asset_name): + symbols = [f"{asset_name}__asset_is_realized_{year}" for year in range(self._years)] + + return self.extra_variable_vector(symbols, 0) + + def get_asset_fraction__placed_symbols(self, asset_name): + symbols = [f"{asset_name}__fraction_placed_{year}" for year in range(self._years)] + return self.extra_variable_vector(symbols, 0) + + def extra_variable_vector(self, symbols, ensemble_member): + states = [] + for symbol in symbols: + canonical, sign = self.alias_relation.canonical_signed(symbol) + nominal = self.variable_nominal(canonical) + state = nominal * self.state_vector(canonical, ensemble_member) + states.append(state) + extra_var_vector = ca.vertcat(*states) + return extra_var_vector + + def history(self, ensemble_member): + return AliasDict(self.alias_relation) + + @property + def extra_variables(self): + variables = super().extra_variables.copy() + variables.extend(self._yearly_capex_var.values()) + variables.extend(self.__asset_doublet_is_placed_var.values()) + variables.extend(self.__asset_fraction_placed_var.values()) + return variables + + @property + def path_variables(self): + variables = super().path_variables.copy() + variables.extend(self.__ates_state_heat_var.values()) + return variables + + def variable_is_discrete(self, variable): + if ( + # variable in self.__ates_is_charging_var or + variable + in self.__asset_doublet_is_placed_var + ): + return True + else: + return super().variable_is_discrete(variable) + + def variable_nominal(self, variable): + if variable in self._yearly_capex_var_nominals: + return self._yearly_capex_var_nominals[variable] + elif variable in self.__ates_state_heat_var_nominals: + return self.__ates_state_heat_var_nominals[variable] + else: + return super().variable_nominal(variable) + + def bounds(self): + bounds = super().bounds() + bounds.update(self.__asset_doublet_is_placed_var_bounds) + bounds.update(self.__ates_state_heat_var_bounds) + bounds.update(self._yearly_capex_var_bounds) + bounds.update(self.__asset_fraction_placed_var_bounds) + return bounds + + def __state_vector_scaled(self, variable, ensemble_member): + canonical, sign = self.alias_relation.canonical_signed(variable) + return ( + self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign + ) + + def solver_success(self, solver_stats, log_solver_failure_as_error): + success, log_level = super().solver_success(solver_stats, log_solver_failure_as_error) + + # Allow time-outs for CPLEX and CBC + if ( + solver_stats["return_status"] == "time limit exceeded" + or solver_stats["return_status"] == "stopped - on maxnodes, maxsols, maxtime" + ): + + if self.objective_value > 1e10: + # Quick check on the objective value. If no solution was + # found, this is typically something like 1E50. + return success, log_level + + return True, logging.INFO + else: + return success, log_level + + def priority_started(self, priority): + self._priority = priority + self.__priority_timer = time.time() + + super().priority_started(priority) + + def priority_completed(self, priority): + super().priority_completed(priority) + self._priority = priority + self._hot_start = True + + time_taken = time.time() - self.__priority_timer + self._priorities_output.append( + ( + priority, + time_taken, + True, + self.objective_value, + self.solver_stats, + ) + ) + + def post(self): + # In case the solver fails, we do not get in priority_completed(). We + # append this last priority's statistics here in post(). + success, _ = self.solver_success(self.solver_stats, False) + if not success: + time_taken = time.time() - self.__priority_timer + self._priorities_output.append( + ( + self._priority, + time_taken, + False, + self.objective_value, + self.solver_stats, + ) + ) + + # Calculate some additional results required/wanted by the CF + + results = self.extract_results() + parameters = self.parameters(0) + + super().post() + + if os.path.exists(self.output_folder) and self._save_json: + bounds = self.bounds() + aliases = self.alias_relation._canonical_variables_map + solver_stats = self.solver_stats + self._write_json_output(results, parameters, bounds, aliases, solver_stats) + + # rollout_post(self, results) diff --git a/src/mesido/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py index 013dc6b6a..07a9b11f0 100644 --- a/src/mesido/workflows/utils/adapt_profiles.py +++ b/src/mesido/workflows/utils/adapt_profiles.py @@ -183,7 +183,7 @@ def adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(problem, prob def adapt_hourly_profile_averages_timestep_size(problem, problem_step_size_hours: int): """ - Adapt yearly porifle with hourly time steps to a common profile with average over a given + Adapt yearly profile with hourly time steps to a common profile with average over a given stepsize in hours. Return the following: @@ -285,6 +285,47 @@ def adapt_profile_to_copy_for_number_of_years(problem, number_of_years: int): logger.info("Profile data has been adapted to a common format") +def adapt_profile_for_initial_hour_timestep_size(problem): + """ + A small, (1 hour) timestep is inserted as first time step. This is used in the + rollout workflow to allow a yearly change in the storage of the ATES system. + The first time step is used to accommodate the (yearly) initial storage level of the ATES. + + """ + + new_datastore = DataStore(problem) + new_datastore.reference_datetime = problem.io.datetimes[0] + + org_timeseries = problem.io.datetimes + + for ensemble_member in range(problem.ensemble_size): + parameters = problem.parameters(ensemble_member) + + timestep_one_hour = org_timeseries[0] + datetime.timedelta(hours=1) + new_date_times = list() + new_date_times = org_timeseries.copy() + new_date_times.insert(1, timestep_one_hour) + + parameters["times"] = [x.timestamp() for x in new_date_times] + + for var_name in problem.io.get_timeseries_names(): + old_data = problem.io.get_timeseries(var_name)[1] + new_data = np.insert(old_data, 1, old_data[0]) # insert the first + # value at the second position, so that the first value is repeated + # at the second position. + new_datastore.set_timeseries( + variable=var_name, + datetimes=new_date_times, + values=np.asarray(new_data), + ensemble_member=ensemble_member, + check_duplicates=True, + ) + + problem.io = new_datastore + + logger.info("Profile data has been adapted to a common format") + + def select_profiles_for_update( problem, new_datastore: DataStore, new_date_times: np.array, ensemble_member: int ): diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES.esdl new file mode 100644 index 000000000..0a793614a --- /dev/null +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES.esdl @@ -0,0 +1,439 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/test_case_small_network_with_ates/src/run_ates.py b/tests/models/test_case_small_network_with_ates/src/run_ates.py index 67d2b6833..7b59298e1 100644 --- a/tests/models/test_case_small_network_with_ates/src/run_ates.py +++ b/tests/models/test_case_small_network_with_ates/src/run_ates.py @@ -285,6 +285,7 @@ def solver_options(self): options["solver"] = "highs" highs_options = options["highs"] = {} highs_options["mip_rel_gap"] = 0.02 + highs_options["presolve"] = "on" return options @@ -310,7 +311,7 @@ def read(self): self.__cold_demand_nominal, ) = adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day( self, - 10, + 20, # This specific value is needed for testing purposes ) diff --git a/tests/test_roll_out.py b/tests/test_roll_out.py new file mode 100644 index 000000000..060168c15 --- /dev/null +++ b/tests/test_roll_out.py @@ -0,0 +1,240 @@ +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization +from mesido.workflows.rollout_workflow import RollOutProblem + +import numpy as np + +# from utils_tests import energy_conservation_test +from utils_tests import heat_to_discharge_test + +# from mesido.workflows.io.rollout_post import rollout_post + + +class TestRollOutOptimization(TestCase): + + def test_roll_out_optimization(self): + """ + Checks: + - demand matching if placed else demand zero (is_realized variable) + - heat_to_discharge_test & energy_conservation_test + - periodiciteit van ATES (end==begin) + - yearly_storage_initial_value variable implementation (0 when not first timestep of year) + - yearly max investment + - to define rollout problem: check that not all heatingdemands are placed in the first + year, check that all heatingdemands are placed at end of the problem, and both producers + & ATES. + - check if integer variables are 0 or 1 for every timestep + - check number of timesteps in timeseries. + - if asset placed, also placed for future + - check fraction is placed + + + Missing: + - Link ATES t0 utilization to state of charge at end of year for optimizations over one + year. + """ + + # TODO: update location of model also update model & inputfile in run. + import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates + + base_folder = Path(run_ates.__file__).resolve().parent.parent + + # This is an optimization done over three years with timesteps of 30 days + class RollOutTimeStep(RollOutProblem): + + def read(self): + super().read() + m = [3, 5, 5] + for i in range(1, 4): + demand_timeseries = self.get_timeseries(f"HeatingDemand_{i}.target_heat_demand") + demand_timeseries.values[:] = demand_timeseries.values[:] * m[i - 1] + self.set_timeseries(f"HeatingDemand_{i}.target_heat_demand", demand_timeseries) + + solution = run_esdl_mesido_optimization( + RollOutTimeStep, + base_folder=base_folder, + esdl_file_name="PoC_tutorial_incl_ATES.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="Warmte_test.csv", + yearly_max_capex=7.0e6, + ) + results = solution.extract_results() + + # tolerance settings for the tests + atol = 1.0e-1 + rtol = 1.0e-6 + + # Demand matching if placed else demand zero (is_realized variable) + for d in solution.energy_system_components.get("heat_demand", []): + for y in range(solution._years): + is_realized = results[f"{d}__asset_is_realized_{y}"] + if is_realized <= 0.99: + # If not placed, demand should be zero + np.testing.assert_allclose( + results[f"{d}.Heat_demand"][ + solution._timesteps_per_year + * y : solution._timesteps_per_year + * (y + 1) + ], + 0.0, + atol=atol, + rtol=rtol, + ) + else: + # If placed, demand should match the target heat demand + len_times = len(solution.times()) + + target = solution.get_timeseries(f"{d}.target_heat_demand").values[ + solution._timesteps_per_year * y : len_times + ] + np.testing.assert_allclose( + target, + results[f"{d}.Heat_demand"][solution._timesteps_per_year * y : len_times], + atol=atol, + rtol=rtol, + ) + break # once an asset is placed it remains placed in the future + + heat_to_discharge_test(solution, results) + # TODO uncomment once PR 340 is merged and use a slightly relexed tolerance + # as argument and uncomment next line + # energy_conservation_test(solution, results) + + assets_to_check = [ + *solution.energy_system_components.get("heat_source", []), + *solution.energy_system_components.get("heat_demand", []), + *solution.energy_system_components.get("ates", []), + *solution.energy_system_components.get("heat_pipe", []), + ] + + for asset in assets_to_check: + # Check if integer variables are 0 or 1 + for y in range(solution._years): + asset_is_realized = results[f"{asset}__asset_is_realized_{y}"] + np.testing.assert_( + np.isclose(asset_is_realized, 0, atol=atol) + or np.isclose(asset_is_realized, 1, atol=atol), + f"{asset}__asset_is_realized_{y} should be 0 or 1", + ) + + # If asset placed, also placed for future + for y in range(solution._years - 1): + asset_is_realized = results[f"{asset}__asset_is_realized_{y}"] + next_asset_is_realized = results[f"{asset}__asset_is_realized_{y + 1}"] + tol = 1e-6 + np.testing.assert_( + asset_is_realized <= next_asset_is_realized + tol, + f"{asset}__asset_is_realized_{y} should be <=\ + {asset}__asset_is_realized_{y + 1}", + ) + + # Check yearly max investment constraint + cumulative_prev_year = 0 + for y in range(solution._years): + cumulative_capex = 0 + cumulative_capex += sum( + results[f"{asset}__cumulative_investments_made_in_eur_year_{y}"] + for asset in assets_to_check + ) + np.testing.assert_( + cumulative_capex - cumulative_prev_year <= solution._years_timestep_max_capex + tol, + f"yearly capex {cumulative_capex - cumulative_prev_year}\ + should be <= maximum yearly investment {solution._years_timestep_max_capex}\ + for year {y}", + ) + cumulative_prev_year = cumulative_capex + + # check number of timesteps in timeseries. + np.testing.assert_equal( + len(solution.times()), + solution._timesteps_per_year * solution._years + 1, + "Number of timesteps in timeseries is not correct", + ) + + # Yearly periodicity of ATES + for ates in solution.energy_system_components.get("ates", []): + times = solution.times() / 3600 / 24 + for i in range(len(times) - 1): + if i % solution._timesteps_per_year == 0: + np.testing.assert_allclose( + results[f"{ates}.Stored_heat"][i], + results[f"{ates}.Stored_heat"][i + solution._timesteps_per_year - 1], + atol=atol, + rtol=rtol, + ) + + # Storage_yearly_change variable should be 0 when not first timestep of year + for ates in solution.energy_system_components.get("ates", []): + times = solution.times() / 3600 / 24 + for i in range(len(times)): + if i % solution._timesteps_per_year != 0: + np.testing.assert_allclose( + results[f"{ates}.Storage_yearly_change"][i], + 0.0, + atol=atol, + rtol=rtol, + ) + + # Check if it is not a trivial roll-out problem, i.e. not all heating demands + # are placed in the first year + not_placed_in_first_year = any( + results[f"{d}__asset_is_realized_0"] == 0 + for d in solution.energy_system_components.get("heat_demand", []) + ) + np.testing.assert_( + not_placed_in_first_year, + "Trivial roll-out problem: all heating demands are placed in the first year", + ) + + # Check if all heating demands are placed at the end of the problem + all_placed_at_end = all( + results[f"{d}__asset_is_realized_{solution._years - 1}"] == 1 + for d in solution.energy_system_components.get("heat_demand", []) + ) + np.testing.assert_( + all_placed_at_end, + "Not all heating demands are placed at the end of the problem", + ) + + # Check if all producers and ATES are placed at the end of the problem + all_producers_placed = all( + results[f"{asset}__asset_is_realized_{solution._years - 1}"] >= 1 - tol + for asset in [ + *solution.energy_system_components.get("heat_source", []), + *solution.energy_system_components.get("ates", []), + ] + ) + np.testing.assert_( + all_producers_placed, + "Not all producers and ATES are placed at the end of the problem", + ) + + # Check fraction is placed, should be between 0 and 1 and increasing + tol = 1e-6 + for asset in assets_to_check: + for y in range(solution._years): + asset_fraction_placed = results[f"{asset}__fraction_placed_{y}"] + np.testing.assert_( + 0 - tol <= asset_fraction_placed <= 1 + tol, "Value is not between 0 and 1" + ) + if y < solution._years - 1: + next_asset_fraction_placed = results[f"{asset}__fraction_placed_{y + 1}"] + np.testing.assert_( + asset_fraction_placed <= next_asset_fraction_placed + tol, + f"{asset}__fraction_placed_{y} should be <=\ + {asset}__fraction_placed_{y + 1}", + ) + for y in range(solution._years - 1): + asset_is_realized = results[f"{asset}__asset_is_realized_{y}"] + next_asset_is_realized = results[f"{asset}__asset_is_realized_{y + 1}"] + np.testing.assert_( + asset_is_realized <= next_asset_is_realized + tol, + f"{asset}__asset_is_realized{y} should be <= {asset}__asset_is_realized{y + 1}", + ) + + # rollout_post(solution, results) diff --git a/tests/test_setpoint_constraints.py b/tests/test_setpoint_constraints.py index fd49167b7..453eb0899 100644 --- a/tests/test_setpoint_constraints.py +++ b/tests/test_setpoint_constraints.py @@ -98,10 +98,11 @@ def test_setpoint_constraints(self): def test_run_small_ates_timed_setpoints_2_changes(self): """ Run the small network with ATES and check that the setpoint changes as specified. - The heat source for producer_1 changes 8 times (consecutively) when no timed_setpoints are - specified. The 1 year heat demand profiles contains demand values: hourly (peak day), weekly - (every 5days/120hours/432000s) and 1 time step of 4days (96hours/345600s, step before the - start of the peak day). Now check that the time_setpoints can limit the setpoint changes to + The heat source for producer_1 changes 16 times (mutliple times consecutively) when no + timed_setpoints are specified. The 1 year heat demand profiles contains demand values: + 20 day time steps, 1 time step of 2 days (step before the start of the peak day), peak day + (24 hourly steps) and 1 time step 2 days at the end of the time horizon. Now check that the + time_setpoints can limit the setpoint changes to 2 changes/year. Checks: @@ -134,11 +135,11 @@ def test_run_small_ates_timed_setpoints_2_changes(self): def test_run_small_ates_timed_setpoints_0_changes(self): """ Run the small network with ATES and check that the setpoint changes as specified. - The heat source for producer_1 changes 8 times (consecutively) when no timed_setpoints are - specified. The 1 year heat demand profiles contains demand values: hourly (peak day), weekly - (every 5days/120hours/432000s) and 1 time step of 4days (96hours/345600s, step before the - start of the peak day). Now check that the time_setpoints can limit the setpoint changes to - 0 changes/year. + The heat source for producer_1 changes 16 times (mutliple times consecutively) when no + timed_setpoints are specified. The 1 year heat demand profiles contains demand values: + 20 day time steps, 1 time step of 2 days (step before the start of the peak day), peak day + (24 hourly steps) and 1 time step 2 days at the end of the time horizon. Now check that the + time_setpoints can limit the setpoint changes to 0 changes/year. Checks: - That setpoint does not change over window length if 0 is specified @@ -168,13 +169,15 @@ def test_run_small_ates_timed_setpoints_0_changes(self): def test_run_small_ates_timed_setpoints_multiple_constraints(self): """ Run the small network with ATES and check that the setpoint changes as specified. - The heat source for producer_1 changes 8 times (consecutively) when no timed_setpoints are - specified. The 1 year heat demand profiles contains demand values: hourly (peak day), weekly - (every 5days/120hours/432000s) and 1 time step of 4days (96hours/345600s, step before the - start of the peak day). Now check that the time_setpoints can limit the setpoint changes to + The heat source for producer_1 changes 16 times (mutliple times consecutively) when no + timed_setpoints are specified. The 1 year heat demand profiles contains demand values: + 20 day time steps, 1 time step of 2 days (step before the start of the peak day), peak day + (24 hourly steps) and 1 time step 2 days at the end of the time horizon. Now check that the + time_setpoints can limit the setpoint changes to 1 changes over multiple window sizes. Checks: + - Check that the day steps is 20 as requried in the test setup - That setpoint does change once over window length if 1 is specified for multiple window sizes @@ -184,7 +187,7 @@ def test_run_small_ates_timed_setpoints_multiple_constraints(self): base_folder = Path(run_ates.__file__).resolve().parent.parent - for ihrs in range(119, 122): + for ihrs in range(20 * 24 - 1, 20 * 24 + 2): solution = run_esdl_mesido_optimization( HeatProblemSetPoints, base_folder=base_folder, @@ -195,11 +198,16 @@ def test_run_small_ates_timed_setpoints_multiple_constraints(self): **{"timed_setpoints": {"HeatProducer_1": (ihrs, 1)}}, ) results = solution.extract_results() + + np.testing.assert_equal( + max(solution.times()[1:] - solution.times()[0:-1]), 20.0 * 24.0 * 3600.0 + ) + diff = ( results["HeatProducer_1.Heat_source"][2:] - results["HeatProducer_1.Heat_source"][1:-1] ) - ires = [idx + 2 for idx, val in enumerate(diff) if abs(val) > 1e-6] + ires = [idx + 2 for idx, val in enumerate(diff) if abs(val) > 1e-5] for ii in range(1, len(ires)): check = ( solution.get_timeseries("HeatingDemand_1.target_heat_demand", 0).times[ires[ii]] @@ -207,16 +215,12 @@ def test_run_small_ates_timed_setpoints_multiple_constraints(self): ires[ii - 1] ] ) - # The following checks should be true because the changes setpoint changes occur at - # the during 120hr time intervals - if ihrs == 119: + # The following checks should be true because the setpoint changes occur at + # the during ihrs time intervals + if ihrs == 20 * 24 - 1: np.testing.assert_array_less(ihrs * 3600, check) - elif ihrs == 120: - np.testing.assert_equal(np.less_equal(ihrs * 3600, check), True) - elif ihrs == 121: - np.testing.assert_equal(np.less_equal((ihrs - 1) * 3600, check), True) else: - exit("ii out of range") + np.testing.assert_equal(np.less_equal(ihrs * 3600, check), True) if __name__ == "__main__": From 7a8996a34393140edb6f10c4ca05d93df909f88f Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 4 Nov 2025 10:36:09 +0100 Subject: [PATCH 303/376] Update post processing rollout workflow (#367) First work on post processing for the rollout workflow --- .../post_processing/post_processing_utils.py | 6 +- src/mesido/workflows/io/rollout_post.py | 295 +++++++++++++++--- 2 files changed, 250 insertions(+), 51 deletions(-) diff --git a/src/mesido/post_processing/post_processing_utils.py b/src/mesido/post_processing/post_processing_utils.py index d18f2b3bf..adbc26227 100644 --- a/src/mesido/post_processing/post_processing_utils.py +++ b/src/mesido/post_processing/post_processing_utils.py @@ -24,12 +24,12 @@ def __init__(self, results: Dict, aliases: Dict): self.results = results self._aliases = aliases - def __getitem__(self, name: str) -> list: + def __getitem__(self, name: str) -> np.array: if name in self.results.keys(): - return self.results[name] + return np.asarray(self.results[name]) else: alias = self._aliases[name] - return alias[1] * self.results[alias[0]] + return alias[1] * np.asarray(self.results[alias[0]]) def get_results_as_array(self, name: str) -> np.array: return np.array(self.results[name]) diff --git a/src/mesido/workflows/io/rollout_post.py b/src/mesido/workflows/io/rollout_post.py index 6d48f085a..98bfebeb7 100644 --- a/src/mesido/workflows/io/rollout_post.py +++ b/src/mesido/workflows/io/rollout_post.py @@ -1,8 +1,13 @@ import os +from esdl import esdl +from esdl.esdl_handler import EnergySystemHandler + import matplotlib.patches as mpatches from matplotlib import pyplot as plt +from mesido.post_processing.post_processing_utils import extract_data_results_alias + import numpy as np @@ -14,11 +19,23 @@ class RollOutPost: """ def __init__(self, **kwargs): - super().__init__(**kwargs) - self.model_folder = kwargs.get("model_folder") self.output_folder = kwargs.get("output_folder") + self.input_folder = kwargs.get("input_folder", self.output_folder) + self.model_folder = kwargs.get("model_folder", self.output_folder) + self.figure_folder = kwargs.get("figure_folder") self.esdl_file_name = kwargs.get("esdl_file_name", "ESDL_file.esdl") + self.results, raw_data = extract_data_results_alias(self.output_folder) + self.parameters = raw_data["parameters"] + self.bounds = raw_data["bounds"] + + self.times = np.asarray(self.parameters["times"]) + self.years = int((self.times[-1] - self.times[0]) / 8760 / 3600) + self._horizon = 30 # total years that are represented by the self.years + + self.esh = EnergySystemHandler() + self.esh.load_file(os.path.join(self.model_folder, self.esdl_file_name)) + def all_plots(self): """ This function runs all plotting function available for rollout and saves them to the @@ -27,22 +44,23 @@ def all_plots(self): self.plot_asset_allocation() self.plot_geograph_time() + self.plot_financials() def plot_asset_allocation(self): """ This function plots the allocation of assets (demands, pipes, storages, sources) over time and is saved the output folder. """ - - results = self.extract_results() - for ates in self.energy_system_components.get("ates", []): - print(results[f"{ates}.Stored_heat"]) + results = self.results + ates_assets = self.esh.get_all_instances_of_type(esdl.ATES) figure, ax = plt.subplots() - times = self.times() - for ates in self.energy_system_components.get("ates", []): - # stored_heat = [results.get(f"{ates}.Stored_heat", 0) for t in range(times)] - plt.plot(times / 3600 / 24, results[f"{ates}.Stored_heat"] / 1e9, label=str(ates)) + times = np.asarray(self.parameters["times"]) + times = times - times[0] + for ates in ates_assets: + plt.plot( + times / 3600 / 24, results[f"{ates.name}.Stored_heat"] / 1e9, label=str(ates.name) + ) plt.xlabel("Time [days]") plt.ylabel("Stored Heat [GJ]") @@ -53,17 +71,17 @@ def plot_asset_allocation(self): plt.xticks(coarse_ticks, [str(t) for t in coarse_ticks]) plt.grid() plt.tight_layout() - plt.show() - savefig = os.path.join(self.output_folder, "heat_storage_vs_time.png") + savefig = os.path.join(self.figure_folder, "heat_storage_vs_time.png") plt.savefig(savefig) plt.close() figure, ax = plt.subplots() - times = self.times() - for heatsource in self.energy_system_components.get("heat_source", []): - # stored_heat = [results.get(f"{ates}.Stored_heat", 0) for t in range(times)] + heat_sources = self.esh.get_all_instances_of_type(esdl.HeatProducer) + for heatsource in heat_sources: plt.plot( - times / 3600 / 24, results[f"{heatsource}.Heat_source"] / 1e6, label=str(heatsource) + times / 3600 / 24, + results[f"{heatsource.name}.Heat_source"] / 1e6, + label=str(heatsource), ) plt.xlabel("Time [days]") @@ -75,14 +93,13 @@ def plot_asset_allocation(self): plt.xticks(coarse_ticks, [str(t) for t in coarse_ticks]) plt.grid() plt.tight_layout() - plt.show() - savefig = os.path.join(self.output_folder, "heat_produced_vs_time.png") + savefig = os.path.join(self.figure_folder, "heat_produced_vs_time.png") plt.savefig(savefig) plt.close() figure, ax = plt.subplots() - for ates in self.energy_system_components.get("ates", []): - # stored_heat = [results.get(f"{ates}.Stored_heat", 0) for t in range(times)] + for ates_asset in ates_assets: + ates = ates_asset.name plt.plot( times / 3600 / 24, results[f"{ates}.Heat_ates"] / 1e6, @@ -108,11 +125,15 @@ def plot_asset_allocation(self): plt.xticks(coarse_ticks, [str(t) for t in coarse_ticks]) plt.grid() plt.tight_layout() - plt.show() - savefig = os.path.join(self.output_folder, "heat_ates_vs_time.png") + savefig = os.path.join(self.figure_folder, "heat_ates_vs_time.png") plt.savefig(savefig) plt.close() + total_pipe_length = 0.0 + for pipe in self.esh.get_all_instances_of_type(esdl.Pipe): + total_pipe_length += pipe.length + print(total_pipe_length) + def plot_geograph_time(self): """ This function plots the placements of assets (demands, pipes, storages, sources) @@ -123,8 +144,10 @@ def plot_geograph_time(self): color = ["b", "g", "r", "c", "m", "k", "y", "orange", "lime", "teal"] legend_years = [] - yearstep = self.problem._horizon / self.problem._years - for i in range(self.problem._years): + times = self.times + problem_years = int((times[-1] - times[0]) / 8760 / 3600) + yearstep = int(self._horizon / problem_years) + for i in range(problem_years): legend_years.append( mpatches.Patch(color=color[i], label=f"year {i * yearstep} {(i + 1) * yearstep}") ) @@ -132,62 +155,238 @@ def plot_geograph_time(self): plt.legend(handles=legend_years) lat0 = 0.0 # 52.045 lon0 = 0.0 # 4.315 - for _, asset in self.problem.esdl_assets.items(): - if asset.asset_type == "Pipe": + for asset in self.esh.get_all_instances_of_type(esdl.EnergyAsset): + if isinstance(asset, esdl.Pipe): name = asset.name - if self.problem.is_cold_pipe(name): + if name.endswith("_ret"): continue line_x = [] line_y = [] - for point in asset.attributes["geometry"].point: + for point in asset.geometry.point: line_x.append((point.lon - lon0)) line_y.append((point.lat - lat0)) is_placed_list = [ - self.results[f"{name}__asset_is_realized_{i}"] - for i in range(self.problem._years) + self.results[f"{name}__asset_is_realized_{i}"] for i in range(problem_years) ] if 1 in is_placed_list: idx = np.round(is_placed_list.index(1)) - plot_size = np.round(asset.attributes["innerDiameter"] * 20) + plot_size = np.round(asset.innerDiameter * 20) plt.plot(line_x, line_y, color[int(idx)], linewidth=plot_size) - if asset.asset_type == "HeatingDemand": - point = asset.attributes["geometry"] + elif isinstance(asset, esdl.HeatingDemand): + point = asset.geometry line_x = [point.lon - lon0] line_y = [point.lat - lat0] is_placed_list = [ self.results[f"{asset.name}__asset_is_realized_{i}"] - for i in range(self.problem._years) + for i in range(problem_years) ] if 1 in is_placed_list: idx = np.round(is_placed_list.index(1)) - plot_size = np.round(max(self.results[f"{asset.name}.Heat_demand"]) / 1.0e6 * 3) + plot_size = np.round(max(self.results[f"{asset.name}.Heat_demand"]) / 1.0e6 * 2) plt.plot(line_x, line_y, "o", color=color[int(idx)], markersize=plot_size) - if ( - asset.asset_type == "HeatProducer" - or asset.asset_type == "ResidualHeatSource" - or asset.asset_type == "GeothermalSource" - ): - point = asset.attributes["geometry"] + elif isinstance(asset, esdl.HeatProducer): + point = asset.geometry + line_x = [point.lon - lon0] + line_y = [point.lat - lat0] + is_placed_list = [ + self.results[f"{asset.name}__asset_is_realized_{i}"] + for i in range(problem_years) + ] + if 1 in is_placed_list: + idx = np.round(is_placed_list.index(1)) + plot_size = np.round(max(self.results[f"{asset.name}.Heat_flow"]) / 1.0e6) + plt.plot(line_x, line_y, "s", color=color[int(idx)], markersize=plot_size) + elif isinstance(asset, esdl.ATES): + point = asset.geometry line_x = [point.lon - lon0] line_y = [point.lat - lat0] is_placed_list = [ self.results[f"{asset.name}__asset_is_realized_{i}"] - for i in range(self.problem._years) + for i in range(problem_years) ] if 1 in is_placed_list: idx = np.round(is_placed_list.index(1)) - plt.plot(line_x, line_y, "s", color=color[int(idx)]) - if asset.asset_type == "ATES": - point = asset.attributes["geometry"] + plot_size = np.round(max(self.results[f"{asset.name}.Heat_flow"]) / 1.0e6) + plt.plot(line_x, line_y, ">", color=color[int(idx)], markersize=plot_size) + elif isinstance(asset, esdl.HeatStorage): + point = asset.geometry line_x = [point.lon - lon0] line_y = [point.lat - lat0] is_placed_list = [ self.results[f"{asset.name}__asset_is_realized_{i}"] - for i in range(self.problem._years) + for i in range(problem_years) ] if 1 in is_placed_list: idx = np.round(is_placed_list.index(1)) - plt.plot(line_x, line_y, ">", color=color[int(idx)]) - savefig = os.path.join(self.output_folder, "geospatial_time_asset_placement.png") + plot_size = np.round(max(self.results[f"{asset.name}.Heat_flow"]) / 1.0e6) + plt.plot(line_x, line_y, ">", color=color[int(idx)], markersize=plot_size) + else: + print(f"Asset {asset.name} is not placed on map") + + savefig = os.path.join(self.figure_folder, "geospatial_time_asset_placement.png") plt.savefig(savefig) plt.show() + + def plot_financials(self): + parameters = self.parameters + bounds = self.bounds + fixed_opex_type = {} + variable_opex_type = {} + capex_cumulative_type = {} + dt = np.diff(self.times) + steps_per_year = int(len(self.times) / self.years) + capex_year_totals = [0 for _ in range(self.years)] + opex_year_totals = [0 for _ in range(self.years)] + for asset in self.esh.get_all_instances_of_type(esdl.EnergyAsset): + if asset in [ + *self.esh.get_all_instances_of_type(esdl.HeatingDemand), + *self.esh.get_all_instances_of_type(esdl.HeatProducer), + *self.esh.get_all_instances_of_type(esdl.HeatStorage), + *self.esh.get_all_instances_of_type(esdl.Pipe), + ]: + asset_name = asset.name + asset_type = str(type(asset)) + is_placed = self.get_asset_is__realized_symbols(asset_name) + cumulative_capex_var = self.get_cumulative_capex_symbols(asset_name) + fixed_operational_cost_coeff = parameters[ + f"{asset_name}.fixed_operational_cost_coefficient" + ] + variable_operational_cost_coeff = parameters[ + f"{asset_name}.variable_operational_cost_coefficient" + ] + # fixed_operational_cost = + # optimization_problem._asset_fixed_operational_cost_map.get( + # asset_name) + heat_flow_var = self.results[f"{asset_name}.Heat_flow"] + max_power = 0.0 + if not isinstance(asset, esdl.Pipe): + max_power = bounds[f"{asset_name}__max_size"][1] + if max_power == 0: + raise RuntimeError( + f"Could not determine the max power of asset {asset_name}" + ) + # TODO: this can later be replaced by creating a new variable + # {asset}_fix_operational_cost_{year} set equal to is_placed[i] * + # _asset_fixed_operational_cost_map_var using bigm constraints. + + var_opex_costs = heat_flow_var[1:] * variable_operational_cost_coeff * dt / 3600 + if asset_type not in variable_opex_type.keys(): + variable_opex_type[asset_type] = var_opex_costs + else: + variable_opex_type[asset_type] += var_opex_costs + + for i in range(self.years): + if asset_type not in fixed_opex_type.keys(): + fixed_opex_type[asset_type] = [] + fixed_opex_costs = is_placed[i] * fixed_operational_cost_coeff * max_power + if len(fixed_opex_type[asset_type]) == i + 1: + fixed_opex_type[asset_type][i] += fixed_opex_costs + else: + fixed_opex_type[asset_type].append(fixed_opex_costs) + + if asset_type not in capex_cumulative_type.keys(): + capex_cumulative_type[asset_type] = [] + cumulative_capex_costs = cumulative_capex_var[i] + if len(capex_cumulative_type[asset_type]) == i + 1: + capex_cumulative_type[asset_type][i] += cumulative_capex_costs + else: + capex_cumulative_type[asset_type].append(cumulative_capex_costs) + + capex_year_totals[i] += cumulative_capex_costs + opex_year_totals[i] += fixed_opex_costs + sum( + var_opex_costs[i * steps_per_year : (i + 1) * steps_per_year] + ) + + years = [i * self._horizon / self.years for i in range(self.years)] + + capex_year_totals = np.asarray(capex_year_totals) + opex_year_totals = np.asarray(opex_year_totals) + cumulative_opex_totals = np.cumsum(opex_year_totals * 30 / self.years) + + plt.figure() + plt.plot(years, capex_year_totals + cumulative_opex_totals, label="costs") + # plt.plot(years, revenue, label="revenue all connected") + plt.plot(years, capex_year_totals, alpha=0.2, label="capex") + plt.plot(years, cumulative_opex_totals, alpha=0.2, label="cumulative opex") + plt.xlabel("time [years]") + plt.ylabel("M€") + plt.grid() + plt.title("CAPEX, OPEX and revenue") + plt.legend() + savefig = os.path.join(self.figure_folder, "financial.png") + plt.savefig(savefig) + plt.show() + + # DO NOT DELETE: potential future use of post processing + # def animate_init(): + # line.set_data([], []) + # return (line,) + # + # def animate_fig(i): + # lat0 = 0.0 # 52.045 + # lon0 = 0.0 # 4.315 + # for id, asset in esdl_assets.items(): + # if asset.asset_type == "Pipe": + # name = asset.name + # if "_ret" in name: + # continue + # line_x = [] + # line_y = [] + # for point in asset.attributes["geometry"].point: + # line_x.append((point.lon - lon0)) + # line_y.append((point.lat - lat0)) + # is_placed_list = [results[f"{name}__is_placed_{i}"] for i in range(10)] + # if 1 in is_placed_list: + # idx = np.round(is_placed_list.index(1)) + # if idx == i - 1: + # plot_size = np.round(asset.attributes["innerDiameter"] * 20) + # plt.plot(line_x, line_y, color[int(idx)], linewidth=plot_size) + # # line.set_data(line_x, line_y)#, color[int(idx)], linewidth=plot_size) + # if asset.asset_type == "HeatingDemand": + # b = asset + # point = asset.attributes["geometry"] + # line_x = [(point.lon - lon0)] + # line_y = [(point.lat - lat0)] + # is_placed_list = [results[f"{asset.name}__is_placed_{i}"] for i in range(10)] + # if 1 in is_placed_list: + # idx = np.round(is_placed_list.index(1)) + # if idx == i - 1: + # plot_size = + # np.round(max(results[f"{asset.name}.Heat_demand"]) / 1.0e6 * 3) + # plt.plot(line_x, line_y, "o", color=color[int(idx)], markersize=plot_size) + # # line.set_data(line_x, line_y) + # if ( + # asset.asset_type == "HeatProducer" + # or asset.asset_type == "ResidualHeatSource" + # or asset.asset_type == "GeothermalSource" + # ): + # point = asset.attributes["geometry"] + # line_x = [(point.lon - lon0)] + # line_y = [(point.lat - lat0)] + # is_placed_list = [results[f"{asset.name}__is_placed_{i}"] for i in range(10)] + # if 1 in is_placed_list: + # idx = np.round(is_placed_list.index(1)) + # if idx == i - 1: + # plt.plot(line_x, line_y, "s", color=color[int(idx)]) + # # line.set_data(line_x, line_y) + # if asset.asset_type == "ATES": + # point = asset.attributes["geometry"] + # line_x = [(point.lon - lon0)] + # line_y = [(point.lat - lat0)] + # is_placed_list = [results[f"{asset.name}__is_placed_{i}"] for i in range(10)] + # if 1 in is_placed_list: + # idx = np.round(is_placed_list.index(1)) + # if idx == i - 1: + # plt.plot(line_x, line_y, ">", color=color[int(idx)]) + # # line.set_data(line_x,line_y) + # return (line,) + + def get_asset_is__realized_symbols(self, asset_name): + var_names = [f"{asset_name}__asset_is_realized_{y}" for y in range(self.years)] + return [self.results[var_n] for var_n in var_names] + + def get_cumulative_capex_symbols(self, asset_name): + var_names = [ + f"{asset_name}__cumulative_investments_made_in_eur_year_{y}" for y in range(self.years) + ] + return [self.results[var_n] for var_n in var_names] From a7fd9b3273ee5225226c41c000a9e75719fc7321 Mon Sep 17 00:00:00 2001 From: jarsarasty <133882881+jarsarasty@users.noreply.github.com> Date: Tue, 4 Nov 2025 15:43:08 +0100 Subject: [PATCH 304/376] Fix pytest-xdist hanging by limiting workers from -n auto to -n 4 (#368) --- tox.ini | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tox.ini b/tox.ini index cddbf0546..2b7739b58 100644 --- a/tox.ini +++ b/tox.ini @@ -21,19 +21,19 @@ extras = all # Main tests part 1 (typical normal test) [testenv:test_env_main_1] -commands = pytest -n auto -v --ignore=tests/test_updated_esdl_pre_process.py --ignore=tests/test_updated_esdl_post_process.py --ignore=tests/test_end_scenario_sizing.py -s +commands = pytest -n 4 -v --ignore=tests/test_updated_esdl_pre_process.py --ignore=tests/test_updated_esdl_post_process.py --ignore=tests/test_end_scenario_sizing.py -s # Main tests part 2 (specifically for end scenario testing due to pipeline hanging problems) [testenv:test_env_main_2] -commands = pytest -n auto -v tests/test_end_scenario_sizing.py -s +commands = pytest -n 4 -v tests/test_end_scenario_sizing.py -s # Pre-processing / solve systems to create data for post-processing test environment [testenv:test_env_pre] -commands = pytest -n auto -v tests/test_updated_esdl_pre_process.py -s +commands = pytest -n 4 -v tests/test_updated_esdl_pre_process.py -s # Post process type of tests [testenv:test_env_post] -commands = pytest -n auto -v tests/test_updated_esdl_post_process.py -s +commands = pytest -n 4 -v tests/test_updated_esdl_post_process.py -s [testenv:flake8] From dbad66aff2f2ce1e22c511bc0e79824355319fba Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 5 Nov 2025 15:57:58 +0100 Subject: [PATCH 305/376] Bug fix lifetime (#370) Add items that went missing after adding taking lifetime into account --- CHANGELOG.md | 2 +- .../workflows/goals/minimize_tco_goal.py | 2 +- tests/test_end_scenario_sizing.py | 30 ++++++++++++++----- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 202a56921..dcfc675e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2025-10-09 +# [Unreleased-main] - 2025-11-05 ## Added - Elect test for air_to_water_heat_pump_elec diff --git a/src/mesido/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py index c2b99ecde..7486c9d88 100644 --- a/src/mesido/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -162,7 +162,7 @@ def _calculate_cost( obj += extra_var * self.number_of_years else: # These are the CAPEX cost under non-annualized condition - obj += extra_var + obj += extra_var * factor return obj def function(self, optimization_problem: TechnoEconomicMixin, ensemble_member) -> MX: diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 866bd6132..e1bf6051c 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -92,8 +92,21 @@ def test_end_scenario_sizing(self): np.testing.assert_allclose(heat_buffer[i], 0.0, atol=1.0e-6) obj = self.get_objective_value_end_scenario_sizing(self.solution) - + excluded_costs_in_obj = 0.0 # Fixed costs excluded in the optim objective function + years = self.solution.parameters(0)["number_of_years"] + for asset in [*self.solution.energy_system_components.get("heat_demand", [])]: + technical_lifetime = self.solution.parameters(0)[f"{asset}.technical_life"] + factor = years / technical_lifetime + if factor < 1.0: + factor = 1.0 + if asset in [*self.solution.energy_system_components.get("heat_demand", [])]: + excluded_costs_in_obj += ( + self.results[f"{self.solution._asset_installation_cost_map[asset]}"] * factor + ) np.testing.assert_allclose(obj / 1.0e6, self.solution.objective_value) + np.testing.assert_array_less( + self.solution.objective_value, (obj + excluded_costs_in_obj) / 1.0e6 + ) def test_end_scenario_sizing_staged(self): """ @@ -180,7 +193,6 @@ def test_end_scenario_sizing_staged(self): np.testing.assert_allclose(heat_buffer[i], 0.0, atol=1.0e-6) obj = self.get_objective_value_end_scenario_sizing(solution_staged) - np.testing.assert_allclose(obj / 1.0e6, solution_staged.objective_value) # comparing results of staged and unstaged problem definition. For larger systems there @@ -416,6 +428,9 @@ def test_end_scenario_sizing_pipe_catalog(self): np.testing.assert_allclose(cost_map_from_template, investment_cost_specific) def get_objective_value_end_scenario_sizing(self, solution): + # If heating demand asset's state is enabled, then exclude the costs since it is not + # part of the TCO calculation. This is because we do not size heating demand assets in + # the optimization results = solution.extract_results() obj = 0.0 years = solution.parameters(0)["number_of_years"] @@ -428,19 +443,20 @@ def get_objective_value_end_scenario_sizing(self, solution): *solution.energy_system_components.get("heat_pump", []), *solution.energy_system_components.get("heat_pipe", []), ]: - # If heating demand asset's state is enabled, then exclude the costs since it is not - # part of the TCO calculation. This is because we do not size heating demand assets in - # the optimization asset_id = self.solution.esdl_asset_name_to_id_map[asset] asset_state = self.solution.esdl_assets[asset_id].attributes["state"] asset_type = self.solution.esdl_assets[asset_id].asset_type if not ( (asset_type == "HeatingDemand") and (asset_state == esdl.AssetStateEnum.ENABLED) ): + technical_lifetime = self.solution.parameters(0)[f"{asset}.technical_life"] + factor = years / technical_lifetime + if factor < 1.0: + factor = 1.0 obj += results[f"{solution._asset_fixed_operational_cost_map[asset]}"] * years obj += results[f"{solution._asset_variable_operational_cost_map[asset]}"] * years - obj += results[f"{solution._asset_investment_cost_map[asset]}"] - obj += results[f"{solution._asset_installation_cost_map[asset]}"] + obj += results[f"{solution._asset_investment_cost_map[asset]}"] * factor + obj += results[f"{solution._asset_installation_cost_map[asset]}"] * factor return obj From a3c34543555cfa6e94cb71492f967aaafe8af922 Mon Sep 17 00:00:00 2001 From: gopalangj Date: Thu, 6 Nov 2025 10:32:16 +0100 Subject: [PATCH 306/376] 303-limiting-the-upper-limit-of-available-pipes-classes (#354) Use the profile in W when limiting the available pipe classes connected to a producer --- CHANGELOG.md | 3 +- src/mesido/esdl/profile_parser.py | 29 ++- src/mesido/potential_errors.py | 1 + src/mesido/workflows/utils/error_types.py | 5 +- ...1a_with_influx_profiles_error_check_5.esdl | 172 ++++++++++++++++++ .../model/3a_esdl_source_scaled_profile.esdl | 2 +- tests/test_potential_errors.py | 20 ++ tests/test_producer_profiles.py | 1 + 8 files changed, 221 insertions(+), 12 deletions(-) create mode 100644 tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_5.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index dcfc675e1..37fa74c3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2025-11-05 +# [Unreleased-main] - 2025-11-06 ## Added - Elect test for air_to_water_heat_pump_elec @@ -30,6 +30,7 @@ - Bug: Replaced one pipe with all pipes in head loss testing in test_end_scenario_sizing.py - Bug: Geothermal being placed when not used. General added aggregation_count=0 constraint for heat buffer, ates and goethermal when not being used. - Bug: Ensure ATES and Geothermal max_size cannot be smaller than the single_doublet_power if placed. +- Bug: Upper limit of available pipe classes when using producer profiles # [0.1.13] - 2025-06-25 diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 736c715c5..e3f818c35 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -304,13 +304,13 @@ def _load_profiles_from_source( ) series = unique_series[index_of_unique_profile] self._check_profile_time_series(profile_time_series=series, profile=profile) + container = profile.eContainer() + asset = container.eContainer() converted_dataframe = self._convert_profile_to_correct_unit( - profile_time_series=series, profile=profile + profile_time_series=series, profile=profile, asset=asset ) - container = profile.eContainer() if isinstance(container, esdl.ProfileConstraint): - asset = container.eContainer() variable_suffix = self.asset_type_to_variable_name_conversion[type(asset)] var_base_name = asset.name if variable_suffix in [ @@ -514,7 +514,7 @@ def _check_profile_time_series( ) def _convert_profile_to_correct_unit( - self, profile_time_series: pd.Series, profile: esdl.InfluxDBProfile + self, profile_time_series: pd.Series, profile: esdl.InfluxDBProfile, asset: esdl.Asset ) -> pd.Series: """ Conversion function to change the values in the provided series to the correct unit @@ -536,11 +536,22 @@ def _convert_profile_to_correct_unit( ): if profile_quantity_and_unit.unit == esdl.UnitEnum.WATT: target_unit = POWER_IN_W - elif profile_quantity_and_unit.unit == esdl.UnitEnum.PERCENT: # values 0-100% - # TODO: in the future change to ratios if needed - return profile_time_series # These profiles are scaled in asset sizing - elif profile_quantity_and_unit.unit == esdl.UnitEnum.NONE: # ratio 0-1 - return profile_time_series + elif ( + profile_quantity_and_unit.unit == esdl.UnitEnum.PERCENT + or profile_quantity_and_unit.unit == esdl.UnitEnum.NONE + ): # values 0-100% or ratio 0-1 + factor = 1.0 # needed when the coef is a ratio 0-1 + if not profile.multiplier == 1.0: + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.ASSET_PROFILE_MULTIPLIER, + asset.id, + f", {asset.name} has unit's multiplier specified incorrectly. " + f"Multiplier should be 1.0, when the unit is specified in " + f"{profile_quantity_and_unit.description}", + ) + if profile_quantity_and_unit.unit == esdl.UnitEnum.PERCENT: + factor /= 100.0 # needed when the coef is a percentage 0-100% + return profile_time_series * factor * asset.power else: raise RuntimeError( f"Power profiles currently only support units" diff --git a/src/mesido/potential_errors.py b/src/mesido/potential_errors.py index acd1f8ab1..da8393664 100644 --- a/src/mesido/potential_errors.py +++ b/src/mesido/potential_errors.py @@ -18,6 +18,7 @@ class MesidoAssetIssueType(Enum): HEAT_EXCHANGER_TEMPERATURES = "heat_exchanger.temperature" HEAT_EXCHANGER_POWER = "heat_exchanger.capacity" HEAT_DEMAND_STATE = "heat_demand.state" + ASSET_PROFILE_MULTIPLIER = "asset_profile.multiplier" class PotentialErrors: diff --git a/src/mesido/workflows/utils/error_types.py b/src/mesido/workflows/utils/error_types.py index 675439ef7..b4f5baf84 100644 --- a/src/mesido/workflows/utils/error_types.py +++ b/src/mesido/workflows/utils/error_types.py @@ -19,7 +19,7 @@ def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: type_and_general_meassage = { MesidoAssetIssueType.HEAT_PRODUCER_POWER: "Asset insufficient installed capacity: please" " increase the installed power or reduce the profile constraint peak value of the" - " producer(s) listed.", + " producer(s) listed by choosing a different profile or a different multiplier.", MesidoAssetIssueType.HEAT_DEMAND_POWER: "Asset insufficient installed capacity: please" " increase the installed power or reduce the demand profile peak value of the demand(s)" " listed.", @@ -35,6 +35,7 @@ def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: MesidoAssetIssueType.HEAT_EXCHANGER_POWER: "The capacity of the heat exchanger is not " "defined", MesidoAssetIssueType.HEAT_DEMAND_STATE: "Heating Demand state set to OPTIONAL", + MesidoAssetIssueType.ASSET_PROFILE_MULTIPLIER: "Incorrect asset profile multiplier", } return type_and_general_meassage[issue_type] @@ -57,6 +58,7 @@ def potential_error_to_error(network_check_type: Enum) -> None: MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, MesidoAssetIssueType.HEAT_EXCHANGER_POWER, MesidoAssetIssueType.HEAT_DEMAND_STATE, + MesidoAssetIssueType.ASSET_PROFILE_MULTIPLIER, ], HEAT_AND_COOL_NETWORK_ERRORS: [ MesidoAssetIssueType.HEAT_DEMAND_POWER, @@ -66,6 +68,7 @@ def potential_error_to_error(network_check_type: Enum) -> None: MesidoAssetIssueType.ASSET_PROFILE_AVAILABILITY, MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, MesidoAssetIssueType.HEAT_DEMAND_STATE, + MesidoAssetIssueType.ASSET_PROFILE_MULTIPLIER, ], # Example of extra error types / groups that can be added. This one is not used yet. CUSTOM_ERRORS: [MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY], diff --git a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_5.esdl b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_5.esdl new file mode 100644 index 000000000..e2fed801e --- /dev/null +++ b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_error_check_5.esdl @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases/case_3a/model/3a_esdl_source_scaled_profile.esdl b/tests/models/unit_cases/case_3a/model/3a_esdl_source_scaled_profile.esdl index d234c9b26..9f692e130 100644 --- a/tests/models/unit_cases/case_3a/model/3a_esdl_source_scaled_profile.esdl +++ b/tests/models/unit_cases/case_3a/model/3a_esdl_source_scaled_profile.esdl @@ -34,7 +34,7 @@ - + diff --git a/tests/test_potential_errors.py b/tests/test_potential_errors.py index 1337cab43..ddd808b77 100644 --- a/tests/test_potential_errors.py +++ b/tests/test_potential_errors.py @@ -209,6 +209,26 @@ def test_asset_potential_errors(self): "demand1_MW_wrong_name in Unittests profiledata is not available in the database.", ) + # Check that the ResidualHeatSource multiplier's error is picked up + with ( + self.assertRaises(MesidoAssetIssueError) as cm, + unittest.mock.patch("mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors()), + ): + problem = EndScenarioSizingStaged( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="1a_with_influx_profiles_error_check_5.esdl", + profile_reader=InfluxDBProfileReader, + ) + problem.pre() + np.testing.assert_equal( + cm.exception.message_per_asset_id["8172d5d3-61a4-4d0b-a26f-5e61c2a22c64"], + ", GenericProducer_8172 has unit's multiplier specified incorrectly. " + "Multiplier should be 1.0, when the unit is specified in Coefficient in %", + ) + if __name__ == "__main__": a = TestPotentialErrors() diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 9a5ed0ca4..c8fe8f0d5 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -173,6 +173,7 @@ def test_max_producer_esdl_scaled_profile(self): heat_produced = results["HeatProducer_b702.Heat_source"] heat_production_upper_limit = ( solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values + / max(solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values) * results["HeatProducer_b702__max_size"] ) From bed133e0a4bdec433edc2d5ca57c28cb0fbf1823 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Thu, 6 Nov 2025 13:14:35 +0100 Subject: [PATCH 307/376] capex_factor calculation is updated when we add KPI for TCO optimization capex_factor calculation is updated when we add KPI for TCO optimizatation mode. Now it will be the same as in the TCO calc in the code --- CHANGELOG.md | 1 + src/mesido/workflows/io/write_output.py | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37fa74c3d..79f3bc846 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - TCO cost calculation objective to now exclude heating demand costs in the grow workflow - Hydraulic power calculation at "sink" assets is set to 0.0 if headloss calculation is turned off - Updated pyESDL to v25.7 +- Calculation of capex for TCO optimization KPI is changed to make it the same as in the TCO calc in the code ## Fixed - Bug: Add 3 port heat pump to elect demand path constraint diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 5588d686c..0d37a7d99 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -1,7 +1,6 @@ import datetime import json import logging -import math import numbers import os import sys @@ -343,9 +342,9 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) ): capex_factor = 1.0 else: - capex_factor = math.ceil( - optim_time_horizon / parameters[f"{asset.name}.technical_life"] - ) + capex_factor = optim_time_horizon / parameters[f"{asset.name}.technical_life"] + if capex_factor < 1.0: + capex_factor = 1.0 if placed: try: From ccaa0eb17c2c73e2e139538d5b5d21a96100d97a Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 6 Nov 2025 13:48:07 +0100 Subject: [PATCH 308/376] Grow workflow stage2 infeasible (#361) Allowing two sizes of pipe diameters in stage 2 and not parsing the pipe_is_disconnected boolean from stage 1 to 2 Set disconnectable heatloss to false, as assets with producer profiles cannot always cover the heatloss. --- CHANGELOG.md | 2 ++ src/mesido/workflows/grow_workflow.py | 44 ++++++++++++++++++--------- 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79f3bc846..b0d211e48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - TCO cost calculation objective to now exclude heating demand costs in the grow workflow - Hydraulic power calculation at "sink" assets is set to 0.0 if headloss calculation is turned off - Updated pyESDL to v25.7 +- Allowing 2 additional pipe sizes (instead of 1) in stage 2 compared to the result of stage 1 of the grow_workflow. - Calculation of capex for TCO optimization KPI is changed to make it the same as in the TCO calc in the code ## Fixed @@ -32,6 +33,7 @@ - Bug: Geothermal being placed when not used. General added aggregation_count=0 constraint for heat buffer, ates and goethermal when not being used. - Bug: Ensure ATES and Geothermal max_size cannot be smaller than the single_doublet_power if placed. - Bug: Upper limit of available pipe classes when using producer profiles +- Bug: Removed the parsing of is_disconnected pipe between stage 1 and 2 of the grow_workflow. # [0.1.13] - 2025-06-25 diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index f4219949d..6c49e76e0 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -80,7 +80,7 @@ def _mip_gap_settings(mip_gap_name: str, problem) -> Dict[str, float]: if problem._stage == 1: options[mip_gap_name] = 0.005 else: - options[mip_gap_name] = 0.02 + options[mip_gap_name] = 0.01 else: options[mip_gap_name] = 0.02 @@ -155,7 +155,7 @@ def check_solver_succes_grow_problem(solution): if not solver_success: if ( solution.solver_stats["return_status"] - == solver_messages["Time_limit"][solution.solver_options] + == solver_messages["Time_limit"][solution.solver_options["solver"]] and solution.objective_value > 1e-6 ): logger.error( @@ -204,6 +204,7 @@ def solver_options(self): options["solver"] = "cplex" cplex_options = options["cplex"] = {} cplex_options.update(_mip_gap_settings("CPX_PARAM_EPGAP", self)) + cplex_options["CPXPARAM_Threads"] = 10 options["highs"] = None @@ -313,6 +314,7 @@ def energy_system_options(self): options = super().energy_system_options() options["maximum_temperature_der"] = np.inf options["heat_loss_disconnected_pipe"] = True + return options def path_goals(self): @@ -400,6 +402,8 @@ def solver_success(self, solver_stats, log_solver_failure_as_error): # found, this is typically something like 1E50. return success, log_level + return True, logging.INFO + elif solver_stats["return_status"] == "integer optimal with unscaled infeasibilities": return True, logging.INFO else: return success, log_level @@ -588,13 +592,15 @@ def __init__( self.heat_network_settings["minimize_head_losses"] = False if self._stage == 2 and priorities_output: + self.heat_network_settings["minimum_velocity"] = 0.0 self._priorities_output = priorities_output def energy_system_options(self): options = super().energy_system_options() if self._stage == 1: options["neglect_pipe_heat_losses"] = True - self.heat_network_settings["minimum_velocity"] = 0.0 + elif self._stage == 2: + options["heat_loss_disconnected_pipe"] = False return options @@ -713,34 +719,37 @@ def run_end_scenario_sizing( parameters = solution.parameters(0) bounds = solution.bounds() - # We give bounds for stage 2 by allowing one DN sizes larger than what was found in the - # stage 1 optimization. But if the pipe is not to be used class DN none should be used and - # all the following pipe clasess should have bounds (0, 0) + # We give bounds for stage 2 by allowing two DN sizes larger than what was found in the + # stage 1 optimization. # Assumptions: # - The fist pipe class in the list of pipe_classes is pipe DN none pc_map = solution.get_pipe_class_map() # if disconnectable and not connected to source for pipe_classes in pc_map.values(): v_prev = 0.0 + v_prev_2 = 0.0 first_pipe_class = True - use_pipe_dn_none = False for var_name in pipe_classes.values(): v = round(abs(results[var_name][0])) if first_pipe_class and v == 1.0: - boolean_bounds[var_name] = (v, v) - use_pipe_dn_none = True + boolean_bounds[var_name] = (0.0, v) elif v == 1.0: boolean_bounds[var_name] = (0.0, v) - elif not use_pipe_dn_none and v_prev == 1.0: # This allows one DN larger + elif v_prev == 1.0 or v_prev_2 == 1.0: # This allows two DNs larger boolean_bounds[var_name] = (0.0, 1.0) else: boolean_bounds[var_name] = (v, v) + v_prev_2 = v_prev v_prev = v + first_pipe_class = False + producer_input_timeseries = False for asset in [ *solution.energy_system_components.get("heat_source", []), *solution.energy_system_components.get("heat_buffer", []), ]: + if f"{asset}.maximum_heat_source" in solution.io.get_timeseries_names(): + producer_input_timeseries = True var_name = f"{asset}_aggregation_count" round_lb = round(results[var_name][0]) ub = solution.bounds()[var_name][1] @@ -775,11 +784,16 @@ def run_end_scenario_sizing( ) boolean_bounds[f"{p}__flow_direct_var"] = (Timeseries(t, lb), Timeseries(t, ub)) - try: - r = results[f"{p}__is_disconnected"] - boolean_bounds[f"{p}__is_disconnected"] = (Timeseries(t, r), Timeseries(t, r)) - except KeyError: - pass + if not producer_input_timeseries: + try: + r = results[f"{p}__is_disconnected"] + r_low = np.zeros(len(r)) + boolean_bounds[f"{p}__is_disconnected"] = ( + Timeseries(t, r_low), + Timeseries(t, r), + ) + except KeyError: + pass priorities_output = solution._priorities_output From 16dbd0829ed55d6613ee212b968b9de03c2722be Mon Sep 17 00:00:00 2001 From: jarsarasty <133882881+jarsarasty@users.noreply.github.com> Date: Fri, 7 Nov 2025 09:13:57 +0100 Subject: [PATCH 309/376] Handle potential error asset cost information (#275) Adding cost validation structure combined with potential errors --- CHANGELOG.md | 1 + src/mesido/esdl/asset_to_component_base.py | 488 ++++++++++++++---- src/mesido/esdl/esdl_mixin.py | 10 +- src/mesido/potential_errors.py | 25 + src/mesido/workflows/gas_elect_workflow.py | 4 + src/mesido/workflows/grow_workflow.py | 7 +- src/mesido/workflows/utils/error_types.py | 11 +- .../input/profiles.csv | 3 + ...Demands_incl_demand_4_incorrect_no_db.esdl | 76 +++ ...ncl_demand_4_missing_investment_no_db.esdl | 73 +++ ...cl_demand_4_missing_operational_no_db.esdl | 73 +++ .../test_check_cost_information.py | 20 + .../src/run_ates.py | 1 + tests/test_cost_input.py | 171 ++++++ tests/test_cost_validation_bypass.py | 228 ++++++++ tests/test_electrolyzer.py | 42 +- tests/test_end_scenario_sizing.py | 16 +- tests/test_error_handling.py | 103 ++++ tests/test_gas_electricity.py | 3 + 19 files changed, 1219 insertions(+), 136 deletions(-) create mode 100644 tests/models/cost_information_errors/input/profiles.csv create mode 100644 tests/models/cost_information_errors/model/graph_HDemands_incl_demand_4_incorrect_no_db.esdl create mode 100644 tests/models/cost_information_errors/model/graph_HDemands_incl_demand_4_missing_investment_no_db.esdl create mode 100644 tests/models/cost_information_errors/model/graph_HDemands_incl_demand_4_missing_operational_no_db.esdl create mode 100644 tests/models/cost_information_errors/test_check_cost_information.py create mode 100644 tests/test_cost_input.py create mode 100644 tests/test_cost_validation_bypass.py create mode 100644 tests/test_error_handling.py diff --git a/CHANGELOG.md b/CHANGELOG.md index b0d211e48..d248cd59d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - Parsing of emission factors for specific sources not related to carriers. - Capability of ResidualHeatSource and GeothermalHeatSource to also have profile constraints that can be read from InfluxDB - Roll out workflow setup. +- Improved error handling for asset cost information to prevent potential failures and ensure more robust processing of asset-related data. ## Changed - Removed support of python versions 3.9 and older. diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 8ec926852..b19d99a6f 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -4,7 +4,7 @@ import os from enum import IntEnum from pathlib import Path -from typing import Any, Dict, Tuple, Type, Union +from typing import Any, Dict, Optional, Tuple, Type, Union import CoolProp as cP @@ -20,9 +20,12 @@ logger = logging.getLogger("mesido") +# Define locally to avoid circular import with workflows.utils.error_types +NO_POTENTIAL_ERRORS_CHECK = "no_potential_errors" + MODIFIERS = Dict[str, Union[str, int, float, dict]] -HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS = 4200 * 988 +HEAT_STORAGE_M3_WATER_PER_DEGREE_CELSIUS = 4200 * 988 WATTHOUR_TO_JOULE = 3600 MULTI_ENUM_NAME_TO_FACTOR = { @@ -58,7 +61,7 @@ def get_internal_energy(asset_name: str, carrier: esdl.Carrier) -> float: "T", 273.15 + temperature, "P", - 1.0 * 1.0e5, # TODO: defualt 1 bar pressure should be set for the carrier + 1.0 * 1.0e5, # TODO: default 1 bar pressure should be set for the carrier "WATER", ) elif NetworkSettings.NETWORK_TYPE_GAS in carrier.name: @@ -236,20 +239,110 @@ class _AssetToComponentBase: "CheckValve": "check_valve", } + # Dictionary mapping asset types to cost attribute requirements + # Values: "required", "optional" + # Cost attributes not included in the dictionary as treated as "not supported" + # when checking for potential errors in ASSET_COST_INFORMATION + ASSET_COST_REQUIREMENTS = { + "heat_pump": { + "investmentCosts": "required", + "installationCosts": "required", + "variableOperationalCosts": "required", + "fixedMaintenanceCosts": "optional", + "fixedOperationalCosts": "optional", + }, + "heat_source": { # Includes GeothermalSource, ResidualHeatSource, HeatProducer + "investmentCosts": "required", + "installationCosts": "required", + "variableOperationalCosts": "required", + "fixedMaintenanceCosts": "optional", + "fixedOperationalCosts": "optional", + }, + "heat_demand": { + "investmentCosts": "optional", + "installationCosts": "optional", + "fixedMaintenanceCosts": "optional", + }, + "heat_buffer": { # Surface Tank Storage + "investmentCosts": "required", + "installationCosts": "required", + "fixedMaintenanceCosts": "optional", + "fixedOperationalCosts": "optional", + }, + "ates": { # HT-ATES (high) + "investmentCosts": "required", + "installationCosts": "required", + "fixedMaintenanceCosts": "optional", + "fixedOperationalCosts": "required", + }, + "pipe": { + "investmentCosts": "optional", + }, + "heat_exchanger": { + "investmentCosts": "required", + "installationCosts": "required", + "fixedMaintenanceCosts": "optional", + "fixedOperationalCosts": "required", + }, + "gas_demand": { + "variableOperationalCosts": "required", + }, + "gas_tank_storage": { + "fixedOperationalCosts": "required", + }, + "electrolyzer": { + "investmentCosts": "required", + "fixedOperationalCosts": "required", + }, + } + + COST_VALIDATION_COMPONENT_TO_ASSET_TYPE = { + "HeatPump": "heat_pump", + "HeatingDemand": "heat_demand", + "ResidualHeatSource": "heat_source", + "GeothermalSource": "heat_source", + "HeatProducer": "heat_source", + "HeatStorage": "heat_buffer", + "ATES": "ates", + "Pipe": "pipe", + "HeatExchange": "heat_exchanger", + "GasDemand": "gas_demand", + "GasStorage": "gas_tank_storage", + "Electrolyzer": "electrolyzer", + } + + COST_ATTRIBUTE_TO_STRING = { + "investmentCosts": "investment costs", + "installationCosts": "installation costs", + "variableOperationalCosts": "variable operational costs", + "fixedMaintenanceCosts": "fixed maintenance costs", + "fixedOperationalCosts": "fixed operational costs", + } + primary_port_name_convention = "primary" secondary_port_name_convention = "secondary" __power_keys = ["power", "maxDischargeRate", "maxChargeRate", "capacity"] - def __init__(self, **kwargs): + _error_type_check: Optional[str] + + def __init__(self, **kwargs) -> None: """ In this init we initialize some dicts and we load the edr pipes. + + Args: + **kwargs: Additional keyword arguments, including 'error_type_check' + for controlling cost validation behavior. """ self._port_to_q_nominal = {} self._port_to_q_max = {} self._port_to_i_nominal = {} self._port_to_i_max = {} self._port_to_esdl_component_type = {} + + # Store error type check setting for cost validation + self._error_type_check = kwargs.get("error_type_check", None) + self._edr_pipes = json.load( open(os.path.join(Path(__file__).parent, "_edr_pipes.json"), "r") ) @@ -599,7 +692,7 @@ def _get_connected_q_max(self, asset: Asset) -> float: energy_reference_j_kg = get_energy_content(asset.name, port.carrier) else: # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] - energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 + energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELSIUS / 988.0 connected_port = port.connectedTo[0] q_max = ( @@ -630,7 +723,7 @@ def _get_connected_q_max(self, asset: Asset) -> float: energy_reference_j_kg = get_energy_content(asset.name, port.carrier) else: # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] - energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 + energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELSIUS / 988.0 connected_port = port.connectedTo[0] q_max = ( @@ -849,7 +942,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: energy_reference_j_kg = get_energy_content(asset.name, port.carrier) else: # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] - energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 + energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELSIUS / 988.0 connected_port = port.connectedTo[0] q_nominal = ( @@ -878,7 +971,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: energy_reference_j_kg = get_energy_content(asset.name, port.carrier) else: # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] - energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 + energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELSIUS / 988.0 connected_port = port.connectedTo[0] q_nominal = ( @@ -907,7 +1000,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: energy_reference_j_kg = get_energy_content(asset.name, port.carrier) else: # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] - energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 + energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELSIUS / 988.0 connected_port = port.connectedTo[0] q_nominal = ( @@ -941,7 +1034,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: energy_reference_j_kg = get_energy_content(asset.name, port.carrier) elif isinstance(port.carrier, esdl.HeatCommodity): # heat_value / rho * minimum_dT => [J/m3K] / [kg/m3] * 1.0 [K] => [J/kg] - energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0 + energy_reference_j_kg = HEAT_STORAGE_M3_WATER_PER_DEGREE_CELSIUS / 988.0 if isinstance(connected_port.energyasset, esdl.Joint): q_nominal = ( @@ -1011,7 +1104,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: / ( # note rho -> gas/hydrogen g/m3, heat kg/m3 get_density(asset.name, p.carrier) - * (HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS / 988.0) + * (HEAT_STORAGE_M3_WATER_PER_DEGREE_CELSIUS / 988.0) ) ) if q_nominal is not None: @@ -1255,9 +1348,121 @@ def get_state(asset: Asset) -> float: value = AssetStateEnum.ENABLED return value + def _log_and_add_potential_issue( + self, message: str, asset_id, cost_error_type: str = None, report_issue: bool = True + ) -> None: + """ + Helper function to log warnings and potential issues. + + Always logs warnings. When report_issue is True, also adds the issue to the potential + errors dictionary. Whether the issue is converted to an exception depends on the error + type and the error_type_check configuration (e.g., HEAT_NETWORK_ERRORS), as defined in + workflows/utils/error_types.py::potential_error_to_error(). + """ + logger.warning(message) + if report_issue: + error_type_mapping = { + "incorrect": MesidoAssetIssueType.ASSET_COST_ATTRIBUTE_INCORRECT, + "missing": MesidoAssetIssueType.ASSET_COST_ATTRIBUTE_MISSING, + } + error_type = error_type_mapping.get(cost_error_type) + get_potential_errors().add_potential_issue(error_type, asset_id, message) + + def _check_cost_attribute_requirement(self, component_type: str, cost_attribute: str) -> str: + """ + Check if a cost attribute is required, optional for a component type. + If the cost attribute is neither of those, consider it as "not supported". + Similarly, If an asset type is not defined in ASSET_COST_REQUIREMENTS + it is considered as not supported asset type. + + Args: + component_type: The component type (e.g., "heat_pump", "pipe") + cost_attribute: The cost attribute to check (e.g., "investmentCosts") + + Returns: + str: "required", "optional", "not supported", + or "unknown or not supported asset type" + """ + asset_type = self.COST_VALIDATION_COMPONENT_TO_ASSET_TYPE.get(component_type) + if not asset_type or asset_type not in self.ASSET_COST_REQUIREMENTS: + return "unknown or not supported asset type" + + return self.ASSET_COST_REQUIREMENTS[asset_type].get(cost_attribute, "not supported") + + def _validate_cost_attribute(self, asset: Asset, cost_attribute: str, cost_info) -> bool: + """ + Validate a cost attribute for an asset. + + Behavior: + - With NO_POTENTIAL_ERRORS_CHECK: Returns cost_info is not None (bypasses validation, + logs warnings for unknown asset types) + - Without NO_POTENTIAL_ERRORS_CHECK: + - Assets in ASSET_COST_REQUIREMENTS: Enforces required/optional rules + - Assets NOT in ASSET_COST_REQUIREMENTS: Blocked (returns False, logs warning) + + Args: + asset: The asset object + cost_attribute: The name of the cost attribute (e.g., "investmentCosts") + cost_info: The cost information object from ESDL (None if not present) + + Returns: + bool: True if the cost attribute should be processed, False to skip it. + """ + cost_check_message = self._check_cost_attribute_requirement( + asset.asset_type, cost_attribute + ) + cost_attribute_name = self.COST_ATTRIBUTE_TO_STRING.get(cost_attribute, cost_attribute) + + # NO_POTENTIAL_ERRORS_CHECK mode: Bypass validation, process any cost_info that exists. + # Returns False for None cost_info to skip processing (contributes 0.0 naturally). + # Logs warning (without reporting issue) for unknown asset types with cost data. + if self._error_type_check == NO_POTENTIAL_ERRORS_CHECK: + if ( + cost_check_message == "unknown or not supported asset type" + and cost_info is not None + ): + message = ( + f"The {cost_attribute_name} for asset {asset.name} " + f"of type {asset.asset_type} is {cost_check_message}." + ) + self._log_and_add_potential_issue(message, asset.id, report_issue=False) + return cost_info is not None + + # Validation mode: Block unknown asset types + if cost_check_message == "unknown or not supported asset type": + message = ( + f"The {cost_attribute_name} for asset {asset.name} " + f"of type {asset.asset_type} is {cost_check_message}." + ) + self._log_and_add_potential_issue(message, asset.id, report_issue=False) + return False + + # Validation mode: Enforce required/optional rules for known assets + if cost_info is None: + if cost_check_message == "required": + message = ( + f"No {cost_attribute_name} information specified for {asset.name} " + f"of type {asset.asset_type}." + ) + self._log_and_add_potential_issue(message, asset.id, cost_error_type="missing") + return False + + if cost_check_message == "not supported": + message = ( + f"The {cost_attribute_name} for asset {asset.name} " + f"of type {asset.asset_type} is {cost_check_message}." + ) + self._log_and_add_potential_issue(message, asset.id, report_issue=False) + return False + + return True + def get_variable_opex_costs(self, asset: Asset) -> float: """ Returns the variable opex costs coefficient of an asset in Euros per Wh. + If a variable operational cost is required for the asset but not provided, + or if the cost information is inconsistent, a potential MesidoAssetIssueType + is added to the gathered_potential_issues dictionary. Parameters ---------- @@ -1266,57 +1471,62 @@ def get_variable_opex_costs(self, asset: Asset) -> float: Returns ------- float for the variable operational cost coefficient. + """ - cost_infos = dict() - cost_infos["variableOperationalAndMaintenanceCosts"] = asset.attributes[ - "costInformation" - ].variableOperationalAndMaintenanceCosts - cost_infos["variableOperationalCosts"] = asset.attributes[ - "costInformation" - ].variableOperationalCosts - cost_infos["variableMaintenanceCosts"] = asset.attributes[ - "costInformation" - ].variableMaintenanceCosts + cost_fields = [ + "variableOperationalAndMaintenanceCosts", + "variableOperationalCosts", + "variableMaintenanceCosts", + ] - if all(cost_info is None for cost_info in cost_infos.values()): - logger.warning(f"No variable OPEX cost information specified for asset {asset.name}") + gas_assets = {"GasDemand", "GasStorage", "GasProducer", "Electrolyzer"} + + cost_attributes = asset.attributes["costInformation"] + cost_infos = {field: getattr(cost_attributes, field) for field in cost_fields} + if all(cost_info is None for cost_info in cost_infos.values()): + message = f"No variable OPEX cost information specified for asset {asset.name}" + self._log_and_add_potential_issue(message, asset.id, report_issue=False) value = 0.0 - for cost_info in cost_infos.values(): - if cost_info is None: + + for cost_attribute, cost_info in cost_infos.items(): + if not self._validate_cost_attribute(asset, cost_attribute, cost_info): continue cost_value, unit, per_unit, per_time = self.get_cost_value_and_unit(cost_info) if unit != UnitEnum.EURO: - logger.warning(f"Expected cost information {cost_info} to provide a cost in euros.") + message = f"Expected cost information {cost_info} to provide a cost in euros." + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") continue if per_time != TimeUnitEnum.NONE: - logger.warning( - f"Specified OPEX for asset {asset.name} include a " - f"component per time, which we cannot handle." + message = ( + f"Specified variable OPEX for asset {asset.name} of type {asset.asset_type} " + f"includes a component per time '{per_time}', but variable OPEX should be " + f"specified as EUR/Wh (energy-based), with perTimeUnit set to 'NONE' instead " + f"of '{per_time}'." ) + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") continue - if per_unit != UnitEnum.WATTHOUR and asset.asset_type not in [ - "GasDemand", - "GasProducer", - "GasStorage", - "Electrolyzer", - ]: - logger.warning( - f"Expected the specified OPEX for asset " - f"{asset.name} to be per Wh, but they are provided " - f"in {per_unit} instead." + if per_unit != UnitEnum.WATTHOUR and asset.asset_type not in gas_assets: + message = ( + f"Expected the specified OPEX for asset {asset.name} of type {asset.asset_type}" + f" to be per Wh, but they are provided in {per_unit} instead." ) + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") continue - if ( - asset.asset_type in ["GasDemand", "GasProducer", "GasStorage", "Electrolyzer"] - and per_unit != UnitEnum.GRAM - ): - logger.warning( - f"Expected the specified OPEX for asset " - f"{asset.name} to be per g/s, but they are provided " - f"in {per_unit}/{per_time} instead." + if asset.asset_type in gas_assets and per_unit != UnitEnum.GRAM: + message = ( + f"Expected the specified OPEX for asset {asset.name} of type {asset.asset_type}" + f" to be per EURO/g, but they are provided in {unit}/{per_unit} instead." + ) + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") + continue + if cost_value < 0.0: + message = ( + f"Specified OPEX for asset {asset.name} of type {asset.asset_type} " + f"is {cost_value}, but should be non-negative." ) + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") continue value += cost_value @@ -1326,6 +1536,9 @@ def get_variable_opex_costs(self, asset: Asset) -> float: def get_fixed_opex_costs(self, asset: Asset) -> float: """ Returns the fixed opex cost coefficient of an asset in Euros per W. + If a fixed opex cost is required for the asset but not provided, + or if the cost information is inconsistent, a potential MesidoAssetIssueType + is added to the gathered_potential_issues dictionary. Parameters ---------- @@ -1335,29 +1548,38 @@ def get_fixed_opex_costs(self, asset: Asset) -> float: ------- fixed operational cost coefficient. """ - cost_infos = dict() - cost_infos["fixedOperationalAndMaintenanceCosts"] = asset.attributes[ - "costInformation" - ].fixedOperationalAndMaintenanceCosts - cost_infos["fixedOperationalCosts"] = asset.attributes[ - "costInformation" - ].fixedOperationalCosts - cost_infos["fixedMaintenanceCosts"] = asset.attributes[ - "costInformation" - ].fixedMaintenanceCosts + cost_fields = [ + "fixedOperationalAndMaintenanceCosts", + "fixedOperationalCosts", + "fixedMaintenanceCosts", + ] + + cost_attributes = asset.attributes["costInformation"] + cost_infos = {field: getattr(cost_attributes, field) for field in cost_fields} if all(cost_info is None for cost_info in cost_infos.values()): - logger.warning(f"No fixed OPEX cost information specified for asset {asset.name}") - value = 0.0 - else: - value = 0.0 - for cost_info in cost_infos.values(): - if cost_info is None: - continue - cost_value, unit, per_unit, per_time = self.get_cost_value_and_unit(cost_info) + message = f"No fixed OPEX cost information specified for asset {asset.name}" + self._log_and_add_potential_issue(message, asset.id, report_issue=False) + + value = 0.0 + for cost_attribute, cost_info in cost_infos.items(): + if not self._validate_cost_attribute(asset, cost_attribute, cost_info): + continue + cost_value, unit, per_unit, per_time = self.get_cost_value_and_unit(cost_info) + if cost_value is not None and cost_value > 0.0: if unit != UnitEnum.EURO: - RuntimeWarning( - f"Expected cost information {cost_info} to " f"provide a cost in euros." + message = f"Expected cost information {cost_info} to be provided in euros." + self._log_and_add_potential_issue( + message, asset.id, cost_error_type="incorrect" + ) + continue + if per_time != TimeUnitEnum.NONE and per_time != TimeUnitEnum.YEAR: + message = ( + f"Specified fixed OPEX for asset {asset.name} of type {asset.asset_type} " + f"includes a component per time '{per_time}', but should be None or YEAR." + ) + self._log_and_add_potential_issue( + message, asset.id, cost_error_type="incorrect" ) continue if per_unit == UnitEnum.CUBIC_METRE and asset.asset_type != "GasStorage": @@ -1369,7 +1591,7 @@ def get_fixed_opex_costs(self, asset: Asset) -> float: asset.out_ports[0].carrier.id ]["temperature"] delta_temp = supply_temp - return_temp - m3_to_joule_factor = delta_temp * HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS + m3_to_joule_factor = delta_temp * HEAT_STORAGE_M3_WATER_PER_DEGREE_CELSIUS cost_value = cost_value / m3_to_joule_factor elif per_unit == UnitEnum.NONE: if asset.asset_type == "HeatStorage": @@ -1384,7 +1606,7 @@ def get_fixed_opex_costs(self, asset: Asset) -> float: ]["temperature"] delta_temp = supply_temp - return_temp m3_to_joule_factor = ( - delta_temp * HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS + delta_temp * HEAT_STORAGE_M3_WATER_PER_DEGREE_CELSIUS ) size = asset.attributes["volume"] * m3_to_joule_factor if size == 0.0: @@ -1410,18 +1632,22 @@ def get_fixed_opex_costs(self, asset: Asset) -> float: return 0.0 cost_value = cost_value / size elif per_unit != UnitEnum.WATT and asset.asset_type != "GasStorage": - RuntimeWarning( - f"Expected the specified OPEX for asset " - f"{asset.name} to be per W or m3, but they are provided " - f"in {per_unit} instead." + message = ( + f"Expected the specified OPEX for asset {asset.name} to be per W or m3," + f" but they are provided in {per_unit} instead." + ) + self._log_and_add_potential_issue( + message, asset.id, cost_error_type="incorrect" ) continue # still to decide if the cost is per kg or per m3 elif per_unit != UnitEnum.GRAM and asset.asset_type == "GasStorage": - RuntimeWarning( - f"Expected the specified OPEX for asset " - f"{asset.name} to be per GRAM, but they are provided " - f"in {per_unit} instead." + message = ( + f"Expected the specified OPEX for asset {asset.name} to be per GRAM, " + f"but they are provided in {per_unit} instead." + ) + self._log_and_add_potential_issue( + message, asset.id, cost_error_type="incorrect" ) continue @@ -1482,46 +1708,82 @@ def get_cost_value_and_unit(cost_info: esdl.SingleValue) -> Tuple[float, Any, An def get_installation_costs(self, asset: Asset) -> float: """ - This function return the installation cost coefficient in EUR for a single aggregation + Return the installation cost coefficient in EUR for a single aggregation count. + If an installation cost is required for the asset but not provided, + or if the cost information is inconsistent, a potential MesidoAssetIssueType + is added to the gathered_potential_issues dictionary. + + Parameters ---------- asset : The asset object for retrieving the cost information from. Returns ------- - A float with the installation cost coefficient. + A float with the installation cost coefficient in EUR. + """ + cost_attribute = "installationCosts" + cost_info = asset.attributes["costInformation"].installationCosts - if cost_info is None: - logger.warning(f"No installation cost info provided for asset " f"{asset.name}.") + combined_cost_string = "Combined investment and installation costs" + if asset.attributes["costInformation"].investmentCosts is not None: + cost_type_note = asset.attributes["costInformation"].investmentCosts.name + if cost_type_note is not None and cost_type_note.strip(): + if cost_type_note == combined_cost_string: + logger.warning(f"{combined_cost_string} for asset {asset.name}") + return 0.0 + if not self._validate_cost_attribute(asset, cost_attribute, cost_info): return 0.0 + cost_value, unit, per_unit, per_time = self.get_cost_value_and_unit(cost_info) - if unit != UnitEnum.EURO: - logger.warning(f"Expect cost information {cost_info} to " f"provide a cost in euros") - return 0.0 - if not per_time == TimeUnitEnum.NONE: - logger.warning( - f"Specified installation costs of asset {asset.name}" - f" include a component per time, which we " - f"cannot handle." - ) - return 0.0 - if not per_unit == UnitEnum.NONE: - logger.warning( - f"Specified installation costs of asset {asset.name}" - f" include a component per unit {per_unit}, which we " - f"cannot handle." - ) - return 0.0 + + # Validation checks + validations = [ + ( + unit != UnitEnum.EURO, + f"Expected cost information for {cost_info} in euros.", + ), + ( + per_time != TimeUnitEnum.NONE, + ( + f"Specified installation costs of asset {asset.name} include a " + f"component per time, but should be None." + ), + ), + ( + per_unit != UnitEnum.NONE, + ( + f"Specified installation costs of asset {asset.name} include a " + f"component per unit {per_unit}, but should be None." + ), + ), + ( + cost_value < 0.0, + ( + f"Specified installation cost of asset {asset.name} should be " + f"non-negative, but has value {cost_value}." + ), + ), + ] + + for condition, message in validations: + if condition: + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") + return cost_value def get_investment_costs(self, asset: Asset, per_unit: UnitEnum = UnitEnum.WATT) -> float: """ Returns the investment cost coefficient of an asset in Euros per size unit (mostly W). + If an investment cost is required for the asset but not provided, + or if the cost information is inconsistent, a potential MesidoAssetIssueType + is added to the gathered_potential_issues dictionary. + Parameters ---------- asset : The asset object to retrieve the cost information from. @@ -1533,9 +1795,10 @@ def get_investment_costs(self, asset: Asset, per_unit: UnitEnum = UnitEnum.WATT) float for the investment cost coefficient. """ + cost_attribute = "investmentCosts" cost_info = asset.attributes["costInformation"].investmentCosts - if cost_info is None: - RuntimeWarning(f"No investment costs provided for asset " f"{asset.name}.") + + if not self._validate_cost_attribute(asset, cost_attribute, cost_info): return 0.0 ( cost_value, @@ -1544,42 +1807,47 @@ def get_investment_costs(self, asset: Asset, per_unit: UnitEnum = UnitEnum.WATT) per_time_provided, ) = self.get_cost_value_and_unit(cost_info) if unit_provided != UnitEnum.EURO: - logger.warning(f"Expect cost information {cost_info} to " f"provide a cost in euros") + message = f"Expected cost information {cost_info} to be provided in euros." + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") return 0.0 if not per_time_provided == TimeUnitEnum.NONE: - logger.warning( + message = ( f"Specified investment costs for asset {asset.name}" f" include a component per time, which we " f"cannot handle." ) + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") return 0.0 if per_unit == UnitEnum.WATT: if not per_unit_provided == UnitEnum.WATT: - logger.warning( + message = ( f"Expected the specified investment costs " f"of asset {asset.name} to be per W, but they " f"are provided in {per_unit_provided} " f"instead." ) + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") return cost_value elif per_unit == UnitEnum.WATTHOUR: if not per_unit_provided == UnitEnum.WATTHOUR: - logger.warning( + message = ( f"Expected the specified investment costs " f"of asset {asset.name} to be per Wh, but they " f"are provided in {per_unit_provided} " f"instead." ) + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") return 0.0 return cost_value elif per_unit == UnitEnum.METRE: if not per_unit_provided == UnitEnum.METRE: - logger.warning( + message = ( f"Expected the specified investment costs " f"of asset {asset.name} to be per meter, but they " f"are provided in {per_unit_provided} " f"instead." ) + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") return 0.0 return cost_value elif per_unit == UnitEnum.JOULE: @@ -1594,20 +1862,20 @@ def get_investment_costs(self, asset: Asset, per_unit: UnitEnum = UnitEnum.WATT) "temperature" ] delta_temp = supply_temp - return_temp - m3_to_joule_factor = delta_temp * HEAT_STORAGE_M3_WATER_PER_DEGREE_CELCIUS + m3_to_joule_factor = delta_temp * HEAT_STORAGE_M3_WATER_PER_DEGREE_CELSIUS return cost_value / m3_to_joule_factor else: - logger.warning( + message = ( f"Expected the specified investment costs " f"of asset {asset.name} to be per Wh or m3, but " f"they are provided in {per_unit_provided} " f"instead." ) + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") return 0.0 else: - logger.warning( - f"Cannot provide investment costs for asset " f"{asset.name} per {per_unit}" - ) + message = f"Cannot provide investment costs for asset {asset.name} per {per_unit}" + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") return 0.0 diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index 0819764c7..e23aafdce 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -451,13 +451,19 @@ def esdl_heat_model_options(self) -> Dict: Returns ------- - dict with estimated and maximum velocity + dict with estimated and maximum velocity, and error type check setting for asset converters """ energy_system_options = self.energy_system_options() v_nominal = energy_system_options["estimated_velocity"] v_max = self.heat_network_settings["maximum_velocity"] v_max_gas = self.gas_network_settings["maximum_velocity"] - return dict(v_nominal=v_nominal, v_max=v_max, v_max_gas=v_max_gas) + + # Pass error type check setting to asset converter + error_type_check = getattr(self, "_error_type_check", None) + + return dict( + v_nominal=v_nominal, v_max=v_max, v_max_gas=v_max_gas, error_type_check=error_type_check + ) def esdl_qth_model_options(self) -> Dict: """ diff --git a/src/mesido/potential_errors.py b/src/mesido/potential_errors.py index da8393664..caebebf4e 100644 --- a/src/mesido/potential_errors.py +++ b/src/mesido/potential_errors.py @@ -9,12 +9,37 @@ # Asset error type that can occur class MesidoAssetIssueType(Enum): + """ + Enumeration of possible asset issue types in the MESIDO system. + + This enum defines the different types of issues that can occur with assets in the system. + Each issue type has a specific validation purpose: + + - HEAT_PRODUCER_POWER, Validate if power producers have sufficient installed capacity + - HEAT_DEMAND_POWER, COLD_DEMAND_POWER: Validate that installed capacity meets demand + - HEAT_DEMAND_TYPE: Validate correct asset type for heat demand + - ASSET_PROFILE_CAPABILITY: Validate profile assignment capabilities + - ASSET_COST_ATTRIBUTE_INCORRECT: Validate that existing cost attributes have + correct values/units + - ASSET_COST_ATTRIBUTE_MISSING: Validate that required cost attributes are present + - HEAT_EXCHANGER_TEMPERATURES: Validate temperature settings for heat exchangers + + For cost attributes: + Cost attributes can be required or optional for each asset. + - Required inputs: Must exist in the ESDL file (ASSET_COST_ATTRIBUTE_MISSING) and + have correct values/units (ASSET_COST_ATTRIBUTE_INCORRECT) + - Optional inputs: Not required to exist, but if present must have correct + values/units (ASSET_COST_ATTRIBUTE_INCORRECT) + """ + HEAT_PRODUCER_POWER = "heat_producer.power" HEAT_DEMAND_POWER = "heat_demand.power" COLD_DEMAND_POWER = "cold_demand.power" HEAT_DEMAND_TYPE = "heat_demand.type" ASSET_PROFILE_CAPABILITY = "asset_profile.capability" ASSET_PROFILE_AVAILABILITY = "asset_profile.availability" + ASSET_COST_ATTRIBUTE_INCORRECT = "asset_cost_attribute.incorrect" + ASSET_COST_ATTRIBUTE_MISSING = "asset_cost_attribute.missing" HEAT_EXCHANGER_TEMPERATURES = "heat_exchanger.temperature" HEAT_EXCHANGER_POWER = "heat_exchanger.capacity" HEAT_DEMAND_STATE = "heat_demand.state" diff --git a/src/mesido/workflows/gas_elect_workflow.py b/src/mesido/workflows/gas_elect_workflow.py index 1a7c0edf2..c4127df71 100644 --- a/src/mesido/workflows/gas_elect_workflow.py +++ b/src/mesido/workflows/gas_elect_workflow.py @@ -85,6 +85,10 @@ class GasElectProblem( CollocatedIntegratedOptimizationProblem, ): def __init__(self, *args, **kwargs): + # Extract error_type_check parameter before calling super().__init__ + # This allows cost validation bypass when NO_POTENTIAL_ERRORS_CHECK is used + self._error_type_check = kwargs.get("error_type_check", None) + super().__init__(*args, **kwargs) self._number_of_years = 1 diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 6c49e76e0..e4ca337c8 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -231,9 +231,12 @@ class EndScenarioSizing( 2. minimize TCO = Capex + Opex*lifetime """ - def __init__(self, *args, **kwargs): + def __init__(self, error_type_check: str = HEAT_NETWORK_ERRORS, *args, **kwargs) -> None: reset_potential_errors() # This needed to clear the Singleton which is persistent + # Set error type check before calling super().__init__ so it's available during init + self._error_type_check = error_type_check + super().__init__(*args, **kwargs) # default setting to cater for ~ 10kW heat, DN800 pipe at dT = 40 degrees Celcuis @@ -287,7 +290,7 @@ def read(self): """ super().read() - potential_error_to_error(HEAT_NETWORK_ERRORS) + potential_error_to_error(self._error_type_check) ( self.__indx_max_peak, diff --git a/src/mesido/workflows/utils/error_types.py b/src/mesido/workflows/utils/error_types.py index b4f5baf84..6b4815550 100644 --- a/src/mesido/workflows/utils/error_types.py +++ b/src/mesido/workflows/utils/error_types.py @@ -6,6 +6,7 @@ HEAT_NETWORK_ERRORS = "heat_network" HEAT_AND_COOL_NETWORK_ERRORS = "heat_and_cool_network" CUSTOM_ERRORS = "custom_errors" # an example of custom stuff that can be added in the future +NO_POTENTIAL_ERRORS_CHECK = "no_potential_errors" def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: @@ -27,9 +28,11 @@ def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: " increase the installed power or reduce the demand profile peak value of the demand(s)" " listed.", MesidoAssetIssueType.HEAT_DEMAND_TYPE: "Incorrect asset type: please update.", - MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY: "Profile assigment not allowed.", + MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY: "Profile assignment not allowed.", MesidoAssetIssueType.ASSET_PROFILE_AVAILABILITY: "Profile is not available in the " "database.", + MesidoAssetIssueType.ASSET_COST_ATTRIBUTE_INCORRECT: "Incorrect cost information.", + MesidoAssetIssueType.ASSET_COST_ATTRIBUTE_MISSING: "Required cost attribute is missing.", MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES: "Temperatures at heat exchanger set " "incorrectly.", MesidoAssetIssueType.HEAT_EXCHANGER_POWER: "The capacity of the heat exchanger is not " @@ -55,6 +58,9 @@ def potential_error_to_error(network_check_type: Enum) -> None: MesidoAssetIssueType.HEAT_DEMAND_TYPE, MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY, MesidoAssetIssueType.ASSET_PROFILE_AVAILABILITY, + # NOTE: ASSET_COST_ATTRIBUTE_INCORRECT and ASSET_COST_ATTRIBUTE_MISSING + # are temporarily excluded from HEAT_NETWORK_ERRORS to generate warnings + # instead of errors, while still performing validation checks MesidoAssetIssueType.HEAT_EXCHANGER_TEMPERATURES, MesidoAssetIssueType.HEAT_EXCHANGER_POWER, MesidoAssetIssueType.HEAT_DEMAND_STATE, @@ -72,13 +78,14 @@ def potential_error_to_error(network_check_type: Enum) -> None: ], # Example of extra error types / groups that can be added. This one is not used yet. CUSTOM_ERRORS: [MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY], + NO_POTENTIAL_ERRORS_CHECK: [], } # Error checking: # - installed capacity/power of a heating/cooling demand is sufficient for the specified # demand profile # - asset used for a heating demand - # - profile assigment capability + # - profile assignment capability # TODO: Once pyhton 3.11 is used, use the following: Group multiple exceptions (as it is # possible multiple exceptions at once are true here): # https://www.geeksforgeeks.org/exception-groups-in-python/ diff --git a/tests/models/cost_information_errors/input/profiles.csv b/tests/models/cost_information_errors/input/profiles.csv new file mode 100644 index 000000000..f2d45fdc4 --- /dev/null +++ b/tests/models/cost_information_errors/input/profiles.csv @@ -0,0 +1,3 @@ +DateTime,Consumer_19 +2019-01-01 00:00:00,3000000.0 +2019-01-01 01:00:00,3000000.0 \ No newline at end of file diff --git a/tests/models/cost_information_errors/model/graph_HDemands_incl_demand_4_incorrect_no_db.esdl b/tests/models/cost_information_errors/model/graph_HDemands_incl_demand_4_incorrect_no_db.esdl new file mode 100644 index 000000000..3f6077f73 --- /dev/null +++ b/tests/models/cost_information_errors/model/graph_HDemands_incl_demand_4_incorrect_no_db.esdl @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/models/cost_information_errors/model/graph_HDemands_incl_demand_4_missing_investment_no_db.esdl b/tests/models/cost_information_errors/model/graph_HDemands_incl_demand_4_missing_investment_no_db.esdl new file mode 100644 index 000000000..39d2b5d47 --- /dev/null +++ b/tests/models/cost_information_errors/model/graph_HDemands_incl_demand_4_missing_investment_no_db.esdl @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/models/cost_information_errors/model/graph_HDemands_incl_demand_4_missing_operational_no_db.esdl b/tests/models/cost_information_errors/model/graph_HDemands_incl_demand_4_missing_operational_no_db.esdl new file mode 100644 index 000000000..827cb38dc --- /dev/null +++ b/tests/models/cost_information_errors/model/graph_HDemands_incl_demand_4_missing_operational_no_db.esdl @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/models/cost_information_errors/test_check_cost_information.py b/tests/models/cost_information_errors/test_check_cost_information.py new file mode 100644 index 000000000..65f168e39 --- /dev/null +++ b/tests/models/cost_information_errors/test_check_cost_information.py @@ -0,0 +1,20 @@ +from pathlib import Path + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing + + +if __name__ == "__main__": + import time + + start_time = time.time() + base_folder = Path(__file__).resolve().parent + + solution = run_end_scenario_sizing( + EndScenarioSizingStaged, + base_folder=base_folder, + esdl_file_name="graph_HDemands_incl_demand_4_missing_investment.esdl", + esdl_parser=ESDLFileParser, + ) + + print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py b/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py index f5e90a65c..8a3fe0334 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/src/run_ates.py @@ -118,6 +118,7 @@ def read(self): """ Reads the yearly profile with hourly time steps and adapt to a daily averaged profile """ + super().read() demands = self.energy_system_components.get("heat_demand", []) diff --git a/tests/test_cost_input.py b/tests/test_cost_input.py new file mode 100644 index 000000000..13a287cce --- /dev/null +++ b/tests/test_cost_input.py @@ -0,0 +1,171 @@ +import logging +import unittest +import unittest.mock +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.exceptions import MesidoAssetIssueError +from mesido.potential_errors import MesidoAssetIssueType, PotentialErrors +from mesido.util import run_esdl_mesido_optimization +from mesido.workflows import EndScenarioSizing +from mesido.workflows.utils.error_types import mesido_issue_type_gen_message + +from models.cost_information_errors import test_check_cost_information + +import numpy as np + + +logger = logging.getLogger("WarmingUP-MPC") +logger.setLevel(logging.INFO) + + +class TestCostInputCheck(TestCase): + # NOTE: These tests are temporarily disabled because cost attribute errors + # (ASSET_COST_ATTRIBUTE_INCORRECT and ASSET_COST_ATTRIBUTE_MISSING) have been + # temporarily excluded from HEAT_NETWORK_ERRORS to generate warnings instead of errors. + # TODO: Re-enable these tests when cost errors are added back to HEAT_NETWORK_ERRORS + + @unittest.skip( + "Temporarily disabled: ASSET_COST_ATTRIBUTE_INCORRECT and " + "ASSET_COST_ATTRIBUTE_MISSING have been excluded from HEAT_NETWORK_ERRORS to " + "generate warnings instead of raising exceptions. Re-enable when cost errors " + "are added back to HEAT_NETWORK_ERRORS." + ) + def test_incorrect_cost_fail(self): + """ + Test that ESDL files with incorrect cost attributes raise appropriate errors. + + This test verifies that the error checking mechanism correctly identifies and raises + an exception when an ESDL file contains assets with incorrect cost attribute specifications. + Specifically, it tests a case where an asset has installation costs specified per unit WATT + when it should be None. + + The test uses a mock to replace the global POTENTIAL_ERRORS singleton with a fresh instance, + ensuring that previous errors don't affect this test. + + Checks: + 1. The correct error type (ASSET_COST_ATTRIBUTE_INCORRECT) is raised + 2. The error message correctly identifies the general issue + 3. The error contains the specific asset ID and a detailed message explaining the problem + """ + + base_folder = Path(test_check_cost_information.__file__).resolve().parent + + with ( + self.assertRaises(MesidoAssetIssueError) as cm, + unittest.mock.patch("mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors()), + ): + _ = run_esdl_mesido_optimization( + EndScenarioSizing, + base_folder=base_folder, + esdl_file_name="graph_HDemands_incl_demand_4_incorrect_no_db.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="profiles.csv", + ) + + # Check that the cold demand had an error + np.testing.assert_equal( + cm.exception.error_type, MesidoAssetIssueType.ASSET_COST_ATTRIBUTE_INCORRECT + ) + np.testing.assert_equal( + cm.exception.general_issue, + mesido_issue_type_gen_message(MesidoAssetIssueType.ASSET_COST_ATTRIBUTE_INCORRECT), + ) + np.testing.assert_equal( + cm.exception.message_per_asset_id["f4fd7ca1-3f10-4bdb-88b3-daf8c456d959"], + "Specified installation costs of asset Producer_2 include a component per unit WATT," + " but should be None.", + ) + + @unittest.skip( + "Temporarily disabled: ASSET_COST_ATTRIBUTE_MISSING has been excluded " + "from HEAT_NETWORK_ERRORS to generate warnings instead of raising " + "exceptions. Re-enable when cost errors are added back." + ) + def test_missing_cost_fail(self): + """ + Test that ESDL files with missing cost attributes raise appropriate errors. + + This test verifies that the error checking mechanism correctly identifies and raises + an exception when an ESDL file contains assets with missing cost attributes that are + required. Specifically, it tests a case where an asset has investment costs, which + are required. + + The test uses a mock to replace the global POTENTIAL_ERRORS singleton with a fresh instance, + ensuring that previous errors don't affect this test. + + Checks: + 1. The correct error type (ASSET_COST_ATTRIBUTE_MISSING) is raised + 2. The error message correctly identifies the general issue + 3. The error contains the specific asset ID and a detailed message explaining the problem + """ + + # Test missing investment cost, which is required for HeatProducer + + base_folder = Path(test_check_cost_information.__file__).resolve().parent + + with ( + self.assertRaises(MesidoAssetIssueError) as cm, + unittest.mock.patch("mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors()), + ): + _ = run_esdl_mesido_optimization( + EndScenarioSizing, + base_folder=base_folder, + esdl_file_name="graph_HDemands_incl_demand_4_missing_investment_no_db.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="profiles.csv", + ) + + # Check that the cold demand had an error + np.testing.assert_equal( + cm.exception.error_type, MesidoAssetIssueType.ASSET_COST_ATTRIBUTE_MISSING + ) + np.testing.assert_equal( + cm.exception.general_issue, + mesido_issue_type_gen_message(MesidoAssetIssueType.ASSET_COST_ATTRIBUTE_MISSING), + ) + np.testing.assert_equal( + cm.exception.message_per_asset_id["f4fd7ca1-3f10-4bdb-88b3-daf8c456d959"], + "No investment costs information specified for Producer_2 of type HeatProducer.", + ) + + # Test missing operational cost, which is required for HeatProducer + + with ( + self.assertRaises(MesidoAssetIssueError) as cm, + unittest.mock.patch("mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors()), + ): + _ = run_esdl_mesido_optimization( + EndScenarioSizing, + base_folder=base_folder, + esdl_file_name="graph_HDemands_incl_demand_4_missing_operational_no_db.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="profiles.csv", + ) + + # Check that the cost error was raised + np.testing.assert_equal( + cm.exception.error_type, MesidoAssetIssueType.ASSET_COST_ATTRIBUTE_MISSING + ) + np.testing.assert_equal( + cm.exception.general_issue, + mesido_issue_type_gen_message(MesidoAssetIssueType.ASSET_COST_ATTRIBUTE_MISSING), + ) + np.testing.assert_equal( + cm.exception.message_per_asset_id["f4fd7ca1-3f10-4bdb-88b3-daf8c456d959"], + ( + "No variable operational costs information specified for Producer_2 " + "of type HeatProducer." + ), + ) + + +if __name__ == "__main__": + test_cold_demand = TestCostInputCheck() + test_cold_demand.test_incorrect_cost_fail() + test_cold_demand.test_missing_cost_fail() diff --git a/tests/test_cost_validation_bypass.py b/tests/test_cost_validation_bypass.py new file mode 100644 index 000000000..b5bd9ee2d --- /dev/null +++ b/tests/test_cost_validation_bypass.py @@ -0,0 +1,228 @@ +""" +Minimal test to verify that assets not in ASSET_COST_REQUIREMENTS can have their costs +processed when NO_POTENTIAL_ERRORS_CHECK is used. +""" + +from unittest import TestCase +from unittest.mock import Mock + +import esdl + +from mesido.esdl.asset_to_component_base import ( + NO_POTENTIAL_ERRORS_CHECK, + _AssetToComponentBase, +) +from mesido.esdl.common import Asset + + +class TestCostValidationBypass(TestCase): + def test_unsupported_asset_cost_extraction_with_no_error_check(self): + """ + Test that an asset type NOT in ASSET_COST_REQUIREMENTS can still have its + cost information extracted when NO_POTENTIAL_ERRORS_CHECK is used. + """ + # Create instance with NO_POTENTIAL_ERRORS_CHECK + converter = _AssetToComponentBase(error_type_check=NO_POTENTIAL_ERRORS_CHECK) + + # Create a mock asset of type "Pump" which is NOT in ASSET_COST_REQUIREMENTS + mock_asset = Mock(spec=Asset) + mock_asset.asset_type = "Pump" + mock_asset.name = "TestPump" + mock_asset.id = "test-pump-id" + + # Create mock cost information + mock_cost_info = Mock(spec=esdl.SingleValue) + mock_cost_info.value = 100.0 + + mock_unit_info = Mock() + mock_unit_info.unit = esdl.UnitEnum.EURO + mock_unit_info.perTimeUnit = esdl.TimeUnitEnum.YEAR + mock_unit_info.perUnit = esdl.UnitEnum.WATT + mock_unit_info.multiplier = esdl.MultiplierEnum.NONE + mock_unit_info.perMultiplier = esdl.MultiplierEnum.NONE + mock_cost_info.profileQuantityAndUnit = mock_unit_info + + # Test that validation returns True for unsupported asset when NO_POTENTIAL_ERRORS_CHECK + result = converter._validate_cost_attribute( + mock_asset, "fixedOperationalCosts", mock_cost_info + ) + + # Should return True, allowing cost extraction + self.assertTrue( + result, + "Cost validation should return True for unsupported assets when " + "NO_POTENTIAL_ERRORS_CHECK is used", + ) + + def test_unsupported_asset_cost_blocked_without_no_error_check(self): + """ + Test that an asset type NOT in ASSET_COST_REQUIREMENTS is blocked + when NO_POTENTIAL_ERRORS_CHECK is NOT used. + """ + # Create instance WITHOUT NO_POTENTIAL_ERRORS_CHECK + converter = _AssetToComponentBase() + + # Create a mock asset of type "Pump" which is NOT in ASSET_COST_REQUIREMENTS + mock_asset = Mock(spec=Asset) + mock_asset.asset_type = "Pump" + mock_asset.name = "TestPump" + mock_asset.id = "test-pump-id" + + # Create mock cost information + mock_cost_info = Mock(spec=esdl.SingleValue) + mock_cost_info.value = 100.0 + + # Test that validation returns False for unsupported asset without NO_POTENTIAL_ERRORS_CHECK + result = converter._validate_cost_attribute( + mock_asset, "fixedOperationalCosts", mock_cost_info + ) + + # Should return False, blocking cost extraction + self.assertFalse( + result, + "Cost validation should return False for unsupported assets when " + "NO_POTENTIAL_ERRORS_CHECK is NOT used", + ) + + def test_supported_asset_always_works(self): + """ + Test that assets IN ASSET_COST_REQUIREMENTS work regardless of error check setting. + """ + # Test with NO_POTENTIAL_ERRORS_CHECK + converter_with_check = _AssetToComponentBase(error_type_check=NO_POTENTIAL_ERRORS_CHECK) + + # Create a mock asset of type "HeatPump" which IS in ASSET_COST_REQUIREMENTS + mock_asset = Mock(spec=Asset) + mock_asset.asset_type = "HeatPump" + mock_asset.name = "TestHeatPump" + mock_asset.id = "test-heatpump-id" + + # Create mock cost information + mock_cost_info = Mock(spec=esdl.SingleValue) + mock_cost_info.value = 100.0 + + result_with = converter_with_check._validate_cost_attribute( + mock_asset, "investmentCosts", mock_cost_info # This is required for heat_pump + ) + + # Test without NO_POTENTIAL_ERRORS_CHECK + converter_without_check = _AssetToComponentBase() + result_without = converter_without_check._validate_cost_attribute( + mock_asset, "investmentCosts", mock_cost_info + ) + + # Both should return True + self.assertTrue(result_with, "Supported assets should work with NO_POTENTIAL_ERRORS_CHECK") + self.assertTrue( + result_without, "Supported assets should work without NO_POTENTIAL_ERRORS_CHECK" + ) + + def test_gas_demand_with_no_error_check(self): + """Test GasDemand cost extraction with NO_POTENTIAL_ERRORS_CHECK.""" + converter = _AssetToComponentBase(error_type_check=NO_POTENTIAL_ERRORS_CHECK) + + mock_asset = Mock(spec=Asset) + mock_asset.asset_type = "GasDemand" + mock_asset.name = "TestGasDemand" + mock_asset.id = "test-gasdemand-id" + + mock_cost_info = Mock(spec=esdl.SingleValue) + mock_cost_info.value = 0.1 + + result = converter._validate_cost_attribute( + mock_asset, "variableOperationalCosts", mock_cost_info + ) + + self.assertTrue( + result, + "GasDemand should allow cost extraction with NO_POTENTIAL_ERRORS_CHECK", + ) + + def test_electrolyzer_with_no_error_check(self): + """Test Electrolyzer cost extraction with NO_POTENTIAL_ERRORS_CHECK.""" + converter = _AssetToComponentBase(error_type_check=NO_POTENTIAL_ERRORS_CHECK) + + mock_asset = Mock(spec=Asset) + mock_asset.asset_type = "Electrolyzer" + mock_asset.name = "TestElectrolyzer" + mock_asset.id = "test-electrolyzer-id" + + mock_cost_info = Mock(spec=esdl.SingleValue) + mock_cost_info.value = 20.0 + + result = converter._validate_cost_attribute(mock_asset, "investmentCosts", mock_cost_info) + + self.assertTrue( + result, + "Electrolyzer should allow cost extraction with NO_POTENTIAL_ERRORS_CHECK", + ) + + def test_gas_storage_with_no_error_check(self): + """Test GasStorage cost extraction with NO_POTENTIAL_ERRORS_CHECK.""" + converter = _AssetToComponentBase(error_type_check=NO_POTENTIAL_ERRORS_CHECK) + + mock_asset = Mock(spec=Asset) + mock_asset.asset_type = "GasStorage" + mock_asset.name = "TestGasStorage" + mock_asset.id = "test-gasstorage-id" + + mock_cost_info = Mock(spec=esdl.SingleValue) + mock_cost_info.value = 10.0 + + result = converter._validate_cost_attribute( + mock_asset, "fixedOperationalCosts", mock_cost_info + ) + + self.assertTrue( + result, + "GasStorage should allow cost extraction with NO_POTENTIAL_ERRORS_CHECK", + ) + + def test_ates_with_missing_required_cost_and_no_error_check(self): + """ + Test ATES with missing fixedOperationalCosts (required) when + NO_POTENTIAL_ERRORS_CHECK is used. Validation returns False for None, + causing the cost processing loop to skip it, naturally contributing 0.0 + to the total cost (same behavior as before validation was added). + """ + converter = _AssetToComponentBase(error_type_check=NO_POTENTIAL_ERRORS_CHECK) + + mock_asset = Mock(spec=Asset) + mock_asset.asset_type = "ATES" + mock_asset.name = "TestATES" + mock_asset.id = "test-ates-id" + + # Test with None cost_info (missing required attribute) + result = converter._validate_cost_attribute( + mock_asset, + "fixedOperationalCosts", # This is REQUIRED for ATES + None, # Missing in ESDL file + ) + + # With NO_POTENTIAL_ERRORS_CHECK, should return False for None to skip + # processing. This naturally contributes 0.0 to the cost without raising + # warnings + self.assertFalse( + result, + "ATES validation should return False for None cost_info to skip " "processing cleanly", + ) + + # Test with present cost_info + mock_cost_info = Mock(spec=esdl.SingleValue) + mock_cost_info.value = 15.0 + + result_with_cost = converter._validate_cost_attribute( + mock_asset, "fixedOperationalCosts", mock_cost_info + ) + + self.assertTrue( + result_with_cost, + "ATES validation should return True when cost_info is present with " + "NO_POTENTIAL_ERRORS_CHECK", + ) + + +if __name__ == "__main__": + import unittest + + unittest.main() diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index eedc3019c..a2b677202 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -6,6 +6,7 @@ from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.network_common import NetworkSettings from mesido.util import run_esdl_mesido_optimization +from mesido.workflows.utils.error_types import NO_POTENTIAL_ERRORS_CHECK import numpy as np @@ -47,6 +48,7 @@ def solver_options(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_electrolyzer_general.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -73,8 +75,12 @@ def solver_options(self): np.testing.assert_allclose( v_inspect[iv] / solution.gas_network_settings["maximum_velocity"] * head_loss_max, 2.1760566566624733, + rtol=1e-6, + atol=1e-12, + ) + np.testing.assert_allclose( + -results["Pipe_6ba6.dH"][iv], 2.1760566566624733, rtol=1e-6, atol=1e-12 ) - np.testing.assert_allclose(-results["Pipe_6ba6.dH"][iv], 2.1760566566624733) gas_price_profile = "Hydrogen.price_profile" state = "GasDemand_0cf3.Gas_demand_mass_flow" @@ -266,6 +272,7 @@ def solver_options(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_minimum_electrolyzer_power.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -302,17 +309,17 @@ def solver_options(self): np.ones(2), ) # Check electrolyzer input power - # np.testing.assert_allclose( - # results["Electrolyzer_fc66.ElectricityIn.Power"], - # [ 1.00000000e+08, 1.00000000e+08, -3.59365315e-05], - # atol=1e-4, - # ) + np.testing.assert_allclose( + results["Electrolyzer_fc66.ElectricityIn.Power"], + [1.00000000e08, 1.00000000e08, -3.59365315e-05], + atol=1e-4, + ) # Check electrolyzer output massflow - # np.testing.assert_allclose( - # results["Electrolyzer_fc66.Gas_mass_flow_out"], - # [431.367058, 431.367058, 0. ], - # atol=1e-4, - # ) + np.testing.assert_allclose( + results["Electrolyzer_fc66.Gas_mass_flow_out"], + [431.367058, 431.367058, 0.0], + atol=1e-4, + ) def test_electrolyzer_constant_efficiency(self): """ @@ -339,6 +346,7 @@ def test_electrolyzer_constant_efficiency(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_electrolyzer_general.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -351,11 +359,11 @@ def test_electrolyzer_constant_efficiency(self): ) # Check input power values. Not really needed since the massflow check is equivalent - # np.testing.assert_allclose( - # results["Electrolyzer_fc66.ElectricityIn.Power"], - # [1.00000000e+08, 1.00000000e+08, 1.00000000e+08], - # atol=1e-4, - # ) + np.testing.assert_allclose( + results["Electrolyzer_fc66.ElectricityIn.Power"], + [1.00000000e08, 1.00000000e08, 1.00000000e08], + atol=1e-4, + ) # Check output massflow values np.testing.assert_allclose( results["Electrolyzer_fc66.Gas_mass_flow_out"], @@ -390,6 +398,7 @@ def test_electrolyzer_equality_constraint(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_equality_constraints.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -469,6 +478,7 @@ def test_electrolyzer_equality_constraint_inactive_line(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_minimum_electrolyzer_power.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index e1bf6051c..48a59285a 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -13,6 +13,7 @@ run_end_scenario_sizing, ) from mesido.workflows.grow_workflow import EndScenarioSizingHeadLossStaged +from mesido.workflows.utils.error_types import NO_POTENTIAL_ERRORS_CHECK import numpy as np @@ -37,6 +38,7 @@ def setUpClass(cls) -> None: esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here ) cls.results = cls.solution.extract_results() @@ -152,6 +154,7 @@ def test_end_scenario_sizing_staged(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here, ) solution_staged = run_end_scenario_sizing( @@ -161,6 +164,7 @@ def test_end_scenario_sizing_staged(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here, ) results = solution_staged.extract_results() @@ -263,6 +267,7 @@ def solver_options(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here ) results = solution.extract_results() @@ -299,6 +304,7 @@ def test_end_scenario_sizing_head_loss(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here ) results = solution.extract_results() @@ -354,6 +360,7 @@ def test_end_scenario_sizing_pipe_catalog(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -390,6 +397,7 @@ def test_end_scenario_sizing_pipe_catalog(self): esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, ) original_problem.pre() original_problem_pipe_classes = original_problem.get_unique_pipe_classes() @@ -443,13 +451,13 @@ def get_objective_value_end_scenario_sizing(self, solution): *solution.energy_system_components.get("heat_pump", []), *solution.energy_system_components.get("heat_pipe", []), ]: - asset_id = self.solution.esdl_asset_name_to_id_map[asset] - asset_state = self.solution.esdl_assets[asset_id].attributes["state"] - asset_type = self.solution.esdl_assets[asset_id].asset_type + asset_id = solution.esdl_asset_name_to_id_map[asset] + asset_state = solution.esdl_assets[asset_id].attributes["state"] + asset_type = solution.esdl_assets[asset_id].asset_type if not ( (asset_type == "HeatingDemand") and (asset_state == esdl.AssetStateEnum.ENABLED) ): - technical_lifetime = self.solution.parameters(0)[f"{asset}.technical_life"] + technical_lifetime = solution.parameters(0)[f"{asset}.technical_life"] factor = years / technical_lifetime if factor < 1.0: factor = 1.0 diff --git a/tests/test_error_handling.py b/tests/test_error_handling.py new file mode 100644 index 000000000..00d306165 --- /dev/null +++ b/tests/test_error_handling.py @@ -0,0 +1,103 @@ +import unittest +from unittest.mock import MagicMock, patch + +from mesido.esdl.asset_to_component_base import MesidoAssetIssueType, _AssetToComponentBase + + +class TestLogAndReportIssue(unittest.TestCase): + """ + Test suite for _log_and_add_potential_issue method of AssetToComponentBase class. + Tests logging and error reporting functionality. + """ + + @patch("builtins.open") + @patch("json.load") + def setUp(self, mock_json_load: MagicMock, mock_open: MagicMock) -> None: + """Set up test fixtures before each test method.""" + self.message = "Test warning message" + self.asset_id = 12345 + self.mock_instance = _AssetToComponentBase() + # Mock JSON data + mock_json_load.return_value = {} + + @patch("mesido.esdl.asset_to_component_base.logger") + @patch("mesido.esdl.asset_to_component_base.get_potential_errors") + def test_log_and_add_potential_issue_incorrect_cost( + self, + mock_get_potential_errors: MagicMock, + mock_logger: MagicMock, + ) -> None: + """ + Test that _log_and_add_potential_issue correctly logs warning message + and reports issue when cost information is incorrect. + """ + # Arrange + mock_potential_errors = MagicMock() + mock_get_potential_errors.return_value = mock_potential_errors + + # Act + self.mock_instance._log_and_add_potential_issue( + self.message, self.asset_id, cost_error_type="incorrect" + ) + + # Assert + mock_logger.warning.assert_called_once_with(self.message) + mock_potential_errors.add_potential_issue.assert_called_once_with( + MesidoAssetIssueType.ASSET_COST_ATTRIBUTE_INCORRECT, self.asset_id, self.message + ) + + @patch("mesido.esdl.asset_to_component_base.logger") + @patch("mesido.esdl.asset_to_component_base.get_potential_errors") + def test_log_and_add_potential_issue_missing_cost( + self, + mock_get_potential_errors: MagicMock, + mock_logger: MagicMock, + ) -> None: + """ + Test that _log_and_add_potential_issue correctly logs warning message + and reports issue when required attribute is missing. + """ + # Arrange + mock_potential_errors = MagicMock() + mock_get_potential_errors.return_value = mock_potential_errors + + # Act + self.mock_instance._log_and_add_potential_issue( + self.message, self.asset_id, cost_error_type="missing" + ) + + # Assert + mock_logger.warning.assert_called_once_with(self.message) + mock_potential_errors.add_potential_issue.assert_called_once_with( + MesidoAssetIssueType.ASSET_COST_ATTRIBUTE_MISSING, self.asset_id, self.message + ) + + @patch("mesido.esdl.asset_to_component_base.logger") + @patch("mesido.esdl.asset_to_component_base.get_potential_errors") + def test_log_and_do_not_add_potential_issue( + self, + mock_get_potential_errors: MagicMock, + mock_logger: MagicMock, + ) -> None: + """ + Test that _log_and_report_issue correctly logs warning message + when report_issue is set to False. + """ + # Arrange + mock_potential_errors = MagicMock() + mock_get_potential_errors.return_value = mock_potential_errors + + # Act + self.mock_instance._log_and_add_potential_issue( + self.message, + self.asset_id, + report_issue=False, + ) + + # Assert + mock_logger.warning.assert_called_once_with(self.message) + mock_potential_errors.add_potential_issue.assert_not_called() + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_gas_electricity.py b/tests/test_gas_electricity.py index 238345142..3d340d4cc 100644 --- a/tests/test_gas_electricity.py +++ b/tests/test_gas_electricity.py @@ -5,6 +5,7 @@ from mesido.esdl.edr_pipe_class import EDRGasPipeClass from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows.utils.error_types import NO_POTENTIAL_ERRORS_CHECK from mesido.workflows.utils.helpers import run_optimization_problem_solver import numpy as np @@ -56,6 +57,7 @@ def test_gas_elect(self): esdl_file_name="gas_elect_loop_tree.esdl", profile_reader=ProfileReaderFromFile, input_timeseries_file="HeatingDemand_W_manual.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -68,6 +70,7 @@ def test_gas_elect(self): esdl_file_name="gas_elect_loop_tree.esdl", profile_reader=ProfileReaderFromFile, input_timeseries_file="HeatingDemand_W_manual_HighDemand.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, ) results_high_demand = solution_high_demand.extract_results() From 351b628af83380b333ec7dbce942ad90b32a91e1 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Fri, 7 Nov 2025 11:18:36 +0100 Subject: [PATCH 310/376] Writing KPIs back for discounted CAPEX * KPIs on the optimized ESDL for Discounted cost optimizated (EAC) workflow is updated * KPI plot titles for EAC are updated to indicate EAC. KPIs related to TCO optimization is removed for Discounted cost optimizated workflow KPIs * Tests for KPI EAC are added --- .github/workflows/ci.yml | 4 +- CHANGELOG.md | 1 + .../model/PoC Tutorial Discount5.esdl | 381 ++++++++++++++++++ src/mesido/workflows/io/write_output.py | 171 ++++---- tests/test_updated_esdl_post_process.py | 136 ++++++- tests/test_updated_esdl_pre_process.py | 1 + 6 files changed, 619 insertions(+), 75 deletions(-) create mode 100644 examples/PoCTutorial/model/PoC Tutorial Discount5.esdl diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 06613ce10..1922769b5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -148,12 +148,12 @@ jobs: - name: deps run: python -m pip install -U tox - + - name: Archive test artifacts uses: actions/download-artifact@v4 with: name: updated_esdl_file - path: examples/PoCTutorial/model/ + path: examples/PoCTutorial/model/ - name: Archive test artifacts uses: actions/download-artifact@v4 with: diff --git a/CHANGELOG.md b/CHANGELOG.md index d248cd59d..f0e1cfaf4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - A new type of potential error is added if the profile name indicated in esdl is not available in the database. - Parsing of emission factors for specific sources not related to carriers. - Capability of ResidualHeatSource and GeothermalHeatSource to also have profile constraints that can be read from InfluxDB +- Writing KPIs back for discounted CAPEX - Roll out workflow setup. - Improved error handling for asset cost information to prevent potential failures and ensure more robust processing of asset-related data. diff --git a/examples/PoCTutorial/model/PoC Tutorial Discount5.esdl b/examples/PoCTutorial/model/PoC Tutorial Discount5.esdl new file mode 100644 index 000000000..2b116550d --- /dev/null +++ b/examples/PoCTutorial/model/PoC Tutorial Discount5.esdl @@ -0,0 +1,381 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 0d37a7d99..aec84bba4 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -18,6 +18,7 @@ import mesido.esdl.esdl_parser from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.esdl.edr_pipe_class import EDRPipeClass +from mesido.financial_mixin import calculate_annuity_factor from mesido.network_common import NetworkSettings from mesido.post_processing.post_processing_utils import pipe_pressure, pipe_velocity from mesido.workflows.utils.helpers import _sort_numbered @@ -323,11 +324,17 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) tot_timehorizon_install_cost_euro = 0.0 tot_timehorizon_invest_cost_euro = 0.0 + discounted_annualized_cost = self.energy_system_options()["discounted_annualized_cost"] + # Specify the correct time horizon: - # Optimization=number of year: since it is taken into account in TCO minimization + # TCO Optimized=number of year: since it is taken into account in TCO minimization + # EAC Optimized=1: since it is taken into account in EAC minimization # Simulator=1: since 30 years of optimization is not applicable for the network simulator if not optimizer_sim: # optimization mode - optim_time_horizon = parameters["number_of_years"] + if not discounted_annualized_cost: # TCO optimized + optim_time_horizon = parameters["number_of_years"] + else: # EAC optimized + optim_time_horizon = 1.0 elif optimizer_sim: # network simulator mode optim_time_horizon = 1.0 else: @@ -337,14 +344,21 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) asset_placement_var = self._asset_aggregation_count_var_map[asset.name] placed = np.round(results[asset_placement_var][0]) >= 1.0 - if np.isnan(parameters[f"{asset.name}.technical_life"]) or np.isclose( - parameters[f"{asset.name}.technical_life"], 0.0 - ): - capex_factor = 1.0 - else: - capex_factor = optim_time_horizon / parameters[f"{asset.name}.technical_life"] - if capex_factor < 1.0: + cost_type_prefix = "" + if not discounted_annualized_cost: + if np.isnan(parameters[f"{asset.name}.technical_life"]) or np.isclose( + parameters[f"{asset.name}.technical_life"], 0.0 + ): capex_factor = 1.0 + else: + capex_factor = optim_time_horizon / parameters[f"{asset.name}.technical_life"] + if capex_factor < 1.0: + capex_factor = 1.0 + else: + cost_type_prefix = "EAC - " + asset_life_years = parameters[f"{asset.name}.technical_life"] + discount_rate = parameters[f"{asset.name}.discount_rate"] / 100.0 + capex_factor = calculate_annuity_factor(discount_rate, asset_life_years) if placed: try: @@ -456,35 +470,37 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) # * (self.times()[1:] - self.times()[0:-1]) # / 3600 # ) - - kpis_top_level.kpi.append( - esdl.DistributionKPI( - name="High level cost breakdown [EUR] (yearly averaged)", - distribution=esdl.StringLabelDistribution( - stringItem=[ - esdl.StringItem( - label="CAPEX", - value=( - tot_timehorizon_install_cost_euro + tot_timehorizon_invest_cost_euro - ) - / optim_time_horizon, - ), - esdl.StringItem( - label="OPEX", - value=tot_variable_opex_cost_euro + tot_fixed_opex_cost_euro, - ), - ] - ), - quantityAndUnit=esdl.esdl.QuantityAndUnitType( - physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO - ), + if not discounted_annualized_cost: + kpis_top_level.kpi.append( + esdl.DistributionKPI( + name="High level cost breakdown [EUR] (yearly averaged)", + distribution=esdl.StringLabelDistribution( + stringItem=[ + esdl.StringItem( + label="CAPEX", + value=( + tot_timehorizon_install_cost_euro + + tot_timehorizon_invest_cost_euro + ) + / optim_time_horizon, + ), + esdl.StringItem( + label="OPEX", + value=tot_variable_opex_cost_euro + tot_fixed_opex_cost_euro, + ), + ] + ), + quantityAndUnit=esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO + ), + ) ) - ) if not optimizer_sim: kpis_top_level.kpi.append( esdl.DistributionKPI( - name=f"High level cost breakdown [EUR] ({optim_time_horizon} year period)", + name=f"{cost_type_prefix}High level cost breakdown [EUR]" + f" ({optim_time_horizon} year period)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem( @@ -507,32 +523,37 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) ) ) - kpis_top_level.kpi.append( - esdl.DistributionKPI( - name="Overall cost breakdown [EUR] (yearly averaged)", - distribution=esdl.StringLabelDistribution( - stringItem=[ - esdl.StringItem( - label="Installation", - value=(tot_timehorizon_install_cost_euro / optim_time_horizon), - ), - esdl.StringItem( - label="Investment", - value=(tot_timehorizon_invest_cost_euro / optim_time_horizon), - ), - esdl.StringItem(label="Variable OPEX", value=tot_variable_opex_cost_euro), - esdl.StringItem(label="Fixed OPEX", value=tot_fixed_opex_cost_euro), - ] - ), - quantityAndUnit=esdl.esdl.QuantityAndUnitType( - physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO - ), + if not discounted_annualized_cost: + kpis_top_level.kpi.append( + esdl.DistributionKPI( + name="Overall cost breakdown [EUR] (yearly averaged)", + distribution=esdl.StringLabelDistribution( + stringItem=[ + esdl.StringItem( + label="Installation", + value=(tot_timehorizon_install_cost_euro / optim_time_horizon), + ), + esdl.StringItem( + label="Investment", + value=(tot_timehorizon_invest_cost_euro / optim_time_horizon), + ), + esdl.StringItem( + label="Variable OPEX", value=tot_variable_opex_cost_euro + ), + esdl.StringItem(label="Fixed OPEX", value=tot_fixed_opex_cost_euro), + ] + ), + quantityAndUnit=esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO + ), + ) ) - ) + if not optimizer_sim: kpis_top_level.kpi.append( esdl.DistributionKPI( - name=f"Overall cost breakdown [EUR] ({optim_time_horizon} year period)", + name=f"{cost_type_prefix}Overall cost breakdown [EUR] " + f"({optim_time_horizon} year period)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem( @@ -559,7 +580,8 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) kpis_top_level.kpi.append( esdl.DistributionKPI( - name=f"CAPEX breakdown [EUR] ({optim_time_horizon} year period)", + name=f"{cost_type_prefix}CAPEX breakdown [EUR] " + f"({optim_time_horizon} year period)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem(label=key, value=value) @@ -572,24 +594,27 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) ) ) - kpis_top_level.kpi.append( - esdl.DistributionKPI( - name="OPEX breakdown [EUR] (yearly averaged)", - distribution=esdl.StringLabelDistribution( - stringItem=[ - esdl.StringItem(label=key, value=value) - for key, value in asset_opex_breakdown.items() - ] - ), - quantityAndUnit=esdl.esdl.QuantityAndUnitType( - physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO - ), + if not discounted_annualized_cost: + kpis_top_level.kpi.append( + esdl.DistributionKPI( + name="OPEX breakdown [EUR] (yearly averaged)", + distribution=esdl.StringLabelDistribution( + stringItem=[ + esdl.StringItem(label=key, value=value) + for key, value in asset_opex_breakdown.items() + ] + ), + quantityAndUnit=esdl.esdl.QuantityAndUnitType( + physicalQuantity=esdl.PhysicalQuantityEnum.COST, unit=esdl.UnitEnum.EURO + ), + ) ) - ) + if not optimizer_sim: kpis_top_level.kpi.append( esdl.DistributionKPI( - name=f"OPEX breakdown [EUR] ({optim_time_horizon} year period)", + name=f"{cost_type_prefix}OPEX breakdown [EUR] " + f"({optim_time_horizon} year period)", distribution=esdl.StringLabelDistribution( stringItem=[ esdl.StringItem(label=key, value=value) @@ -682,6 +707,10 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) self._asset_fixed_operational_cost_map[asset_name] ][0] + if discounted_annualized_cost: + area_investment_cost *= capex_factor + area_installation_cost *= capex_factor + # Calculate the total energy [Wh] consumed/produced in an are. # Note: milp losses of buffers, ATES' and pipes are included in the area energy # consumption @@ -858,7 +887,7 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) # Create plots in the dashboard # Top level KPIs: Cost breakdown in a polygon area (for all assest grouped together) - kpi_name = f"{subarea.name}: Asset cost breakdown [EUR]" + kpi_name = f"{cost_type_prefix}{subarea.name}: Asset cost breakdown [EUR]" if (area_installation_cost > 0.0 or area_investment_cost > 0.0) and ( area_variable_opex_cost > 0.0 or area_fixed_opex_cost > 0.0 ): diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 31f3f0ace..408258ddc 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -8,11 +8,17 @@ from esdl.esdl_handler import EnergySystemHandler from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.workflows import EndScenarioSizingStaged - +from mesido.financial_mixin import calculate_annuity_factor +from mesido.workflows import ( + EndScenarioSizingDiscountedStaged, + EndScenarioSizingStaged, + run_end_scenario_sizing, +) import numpy as np +from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test + class TestUpdatedESDL(TestCase): @@ -313,6 +319,131 @@ def test_updated_esdl(self): len(energy_system.instance[0].area.area), number_of_areas_in_esdl ) + def test_updated_esdl_eac(self): + """ + Ensure that the updated ESDL, generated through optimization using the + "discounted_annualized_cost" objective, includes KPIs relevant to the + Equivalent Annuity Cost (EAC). + + Checks: + - Confirm that the number of KPIs in the output ESDL matches the expected + count of KPIs related to EAC. + - Confirm that the name of KPIs in the output ESDL matches the expected + name of KPIs related to EAC. + - Verify that the EAC CAPEX and EAC OPEX values shown in the KPI figures + are correctly calculated. + """ + + root_folder = str(Path(__file__).resolve().parent.parent) + sys.path.insert(1, root_folder) + + import examples.PoCTutorial.src.run_grow_tutorial + + base_folder = ( + Path(examples.PoCTutorial.src.run_grow_tutorial.__file__).resolve().parent.parent + ) + model_folder = base_folder / "model" + input_folder = base_folder / "input" + + # Run the case in order to have access to results and solutions + solution = run_end_scenario_sizing( + EndScenarioSizingDiscountedStaged, + base_folder=base_folder, + esdl_file_name="PoC Tutorial Discount5.esdl", + esdl_parser=ESDLFileParser, + ) + + results = solution.extract_results() + parameters = solution.parameters(0) + + problem = EndScenarioSizingDiscountedStaged( + esdl_file_name="PoC Tutorial Discount5.esdl", + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + ) + problem.pre() + + # Load in optimized esdl in the form of the actual optimized esdl file created by MESIDO + esdl_path = os.path.join(base_folder, "model", "PoC Tutorial Discount5_GrowOptimized.esdl") + energy_system = problem._ESDLMixin__energy_system_handler.load_file(esdl_path) + + # Util test + demand_matching_test(solution, solution.extract_results()) + energy_conservation_test(solution, solution.extract_results()) + heat_to_discharge_test(solution, solution.extract_results()) + + # Test KPIs in optimized ESDL + # High level checks of KPIs + number_of_kpis_top_level_in_esdl = 8 + high_level_kpis_euro = [ + "EAC - High level cost breakdown [EUR] (1.0 year period)", + "EAC - Overall cost breakdown [EUR] (1.0 year period)", + "EAC - CAPEX breakdown [EUR] (1.0 year period)", + "EAC - OPEX breakdown [EUR] (1.0 year period)", + "EAC - Area_76a7: Asset cost breakdown [EUR]", + "EAC - Area_9d0f: Asset cost breakdown [EUR]", + "EAC - Area_a58a: Asset cost breakdown [EUR]", + ] + high_level_kpis_wh = [ + "Energy production [Wh] (yearly averaged)", + ] + all_high_level_kpis = [] + all_high_level_kpis = high_level_kpis_euro + high_level_kpis_wh + + np.testing.assert_allclose( + len(energy_system.instance[0].area.KPIs.kpi), number_of_kpis_top_level_in_esdl + ) + np.testing.assert_allclose( + len(energy_system.instance[0].area.KPIs.kpi), len(all_high_level_kpis) + ) + + # Check if EAC calculation is matching with KPI values + asset = "ResidualHeatSource_72d7" + for ii in range(len(energy_system.instance[0].area.KPIs.kpi)): + kpi_name = energy_system.instance[0].area.KPIs.kpi[ii].name + + np.testing.assert_array_equal( + kpi_name in all_high_level_kpis, + True, + err_msg=f"KPI name {kpi_name} was not expected in the ESDL", + ) + + if kpi_name == "EAC - CAPEX breakdown [EUR] (1.0 year period)": + string_items = ( + energy_system.instance[0].area.KPIs.kpi[ii].distribution.stringItem.items + ) + + for string_items_asset in string_items: + if string_items_asset.label == "ResidualHeatSource": + value = string_items_asset.value + + investment_cost = results[f"{asset}__investment_cost"] + installation_cost = results[f"{asset}__installation_cost"] + asset_life_years = parameters[f"{asset}.technical_life"] + discount_rate = parameters[f"{asset}.discount_rate"] / 100.0 + annuity_factor = calculate_annuity_factor(discount_rate, asset_life_years) + capex_eac = (investment_cost + installation_cost) * annuity_factor + + np.testing.assert_allclose(value, capex_eac) + + if kpi_name == "EAC - OPEX breakdown [EUR] (1.0 year period)": + string_items = ( + energy_system.instance[0].area.KPIs.kpi[ii].distribution.stringItem.items + ) + + for string_items_asset in string_items: + if string_items_asset.label == "ResidualHeatSource": + value = string_items_asset.value + + var_opex_cost = results[f"{asset}__variable_operational_cost"] + fix_opex_cost = results[f"{asset}__fixed_operational_cost"] + + opex_eac = var_opex_cost + fix_opex_cost + + np.testing.assert_allclose(value, opex_eac) + if __name__ == "__main__": import time @@ -321,5 +452,6 @@ def test_updated_esdl(self): a = TestUpdatedESDL() a.test_updated_esdl() + a.test_updated_esdl_eac() print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/test_updated_esdl_pre_process.py b/tests/test_updated_esdl_pre_process.py index 23e619029..611404fac 100644 --- a/tests/test_updated_esdl_pre_process.py +++ b/tests/test_updated_esdl_pre_process.py @@ -13,6 +13,7 @@ class TestUpdatedESDL(TestCase): + def test_updated_esdl(self): """ Check that the updated ESDL resulting from optmizing a network, is correct by using the From 1fddd31812db054ce522b57fe6ce6f149f5c2b35 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Fri, 7 Nov 2025 15:21:54 +0100 Subject: [PATCH 311/376] formatting (#373) Updated changelog for new release --- CHANGELOG.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0e1cfaf4..36500cb1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,16 @@ -# [Unreleased-main] - 2025-11-06 +# [Unreleased-main] - 2025-11-07 + +## Added +- xx + +## Changed +- xx + +## Fixed +- xx + + +# [0.1.14] - 2025-11-07 ## Added - Elect test for air_to_water_heat_pump_elec From 440499e0dee5b65581d876c68730eb0b06e0c7d7 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 19 Nov 2025 15:11:58 +0100 Subject: [PATCH 312/376] Reduce computational effort stage 2 grow_workflow (#376) change heat_loss_disconnected_pipe setting --- CHANGELOG.md | 13 ++++++++++++- src/mesido/workflows/grow_workflow.py | 7 ++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36500cb1d..c5a87e810 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2025-11-07 +# [Unreleased-main] - 2025-11-19 ## Added - xx @@ -9,6 +9,17 @@ ## Fixed - xx +# [0.1.15] - 2025-11-19 + +## Added +- xx + +## Changed +- Reduce computational effort stage 2 grow_workflow -> options["heat_loss_disconnected_pipe"] setting + +## Fixed +- xx + # [0.1.14] - 2025-11-07 diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index e4ca337c8..21b41481f 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -603,7 +603,12 @@ def energy_system_options(self): if self._stage == 1: options["neglect_pipe_heat_losses"] = True elif self._stage == 2: - options["heat_loss_disconnected_pipe"] = False + # If at least 1 heat_source has a producer profile assigned, set the + # heat_loss_disconnected_pipe option to False + for asset in self.energy_system_components.get("heat_source", []): + if f"{asset}.maximum_heat_source" in self.io.get_timeseries_names(): + options["heat_loss_disconnected_pipe"] = False + break return options From 72561c1e235c26afacb9adf380f8910fd32b1c75 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Fri, 28 Nov 2025 10:41:34 +0100 Subject: [PATCH 313/376] 382 fix test hang problem (#383) updated problem test case and added pytest time limit --- tests/models/insulation/src/run_insulation.py | 3 ++- tox.ini | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/tests/models/insulation/src/run_insulation.py b/tests/models/insulation/src/run_insulation.py index b668c3b89..6f7602349 100644 --- a/tests/models/insulation/src/run_insulation.py +++ b/tests/models/insulation/src/run_insulation.py @@ -199,7 +199,8 @@ def demand_insulation_classes(self, demand_insualtion): def solver_options(self): options = super().solver_options() - options["solver"] = "highs" + highs_options = options["highs"] = {} + highs_options["presolve"] = "off" return options @property diff --git a/tox.ini b/tox.ini index 2b7739b58..f2de1b365 100644 --- a/tox.ini +++ b/tox.ini @@ -13,6 +13,7 @@ deps = pytest pytest-xdist pytest-ordering + pytest-timeout numpy pandapipes==0.10.0 pandapower==2.14.6 @@ -21,19 +22,19 @@ extras = all # Main tests part 1 (typical normal test) [testenv:test_env_main_1] -commands = pytest -n 4 -v --ignore=tests/test_updated_esdl_pre_process.py --ignore=tests/test_updated_esdl_post_process.py --ignore=tests/test_end_scenario_sizing.py -s +commands = pytest --timeout=120 --timeout-method=thread -n 4 -v --ignore=tests/test_updated_esdl_pre_process.py --ignore=tests/test_updated_esdl_post_process.py --ignore=tests/test_end_scenario_sizing.py -s # Main tests part 2 (specifically for end scenario testing due to pipeline hanging problems) [testenv:test_env_main_2] -commands = pytest -n 4 -v tests/test_end_scenario_sizing.py -s +commands = pytest --timeout=120 --timeout-method=thread -n 4 -v tests/test_end_scenario_sizing.py -s # Pre-processing / solve systems to create data for post-processing test environment [testenv:test_env_pre] -commands = pytest -n 4 -v tests/test_updated_esdl_pre_process.py -s +commands = pytest --timeout=120 --timeout-method=thread -n 4 -v tests/test_updated_esdl_pre_process.py -s # Post process type of tests [testenv:test_env_post] -commands = pytest -n 4 -v tests/test_updated_esdl_post_process.py -s +commands = pytest --timeout=120 --timeout-method=thread -n 4 -v tests/test_updated_esdl_post_process.py -s [testenv:flake8] From 8ed28f6cc62bb96aaa00ef05a729d1eb391ea6de Mon Sep 17 00:00:00 2001 From: jarsarasty <133882881+jarsarasty@users.noreply.github.com> Date: Fri, 5 Dec 2025 15:44:26 +0100 Subject: [PATCH 314/376] Add testing configuration files (#347) * Add tests/__init__.py and pytest.ini --- pytest.ini | 10 ++++++++++ tests/__init__.py | 0 2 files changed, 10 insertions(+) create mode 100644 pytest.ini create mode 100644 tests/__init__.py diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 000000000..b0eed721a --- /dev/null +++ b/pytest.ini @@ -0,0 +1,10 @@ +[pytest] +markers = + first: marks tests as first group + second: marks tests as second group + third: marks tests as third group + fourth: marks tests as fourth group + +testpaths = tests +addopts = --import-mode=importlib +pythonpath = . tests diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 000000000..e69de29bb From 36d45f86f69518ac7f58aa894d75b6ab90dc8ea3 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 8 Dec 2025 10:24:21 +0100 Subject: [PATCH 315/376] Reducing binary charging variables heat ates costs (#386) Splitting the heat_ates in charging and discharging heat flow variables. Added variable operational costs of storage assets. Update variable operational cost nominal. --- CHANGELOG.md | 2 +- src/mesido/financial_mixin.py | 51 +++++++++++++++-- src/mesido/heat_physics_mixin.py | 56 +++++++++++++++---- .../pycml/component_library/milp/heat/ates.py | 21 +++++++ .../milp/heat/heat_buffer.py | 21 +++++++ .../milp/heat/low_temperature_ates.py | 21 +++++++ .../src/run_ates_temperature.py | 1 + tests/test_end_scenario_sizing.py | 15 ++++- tests/test_producer_profiles.py | 2 +- 9 files changed, 171 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5a87e810..4154b192f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # [Unreleased-main] - 2025-11-19 ## Added -- xx +- ATES variable cost calculation utilizing a split ates charging and discharging variable. ## Changed - xx diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index ec7e1b323..0ac3fd6d4 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -304,7 +304,8 @@ def pre(self): max( parameters[f"{asset_name}.variable_operational_cost_coefficient"] * nominal_variable_operational - * 24.0, + * (self.times()[-1] - self.times()[0]) + / 3600, 1.0e2, ) if nominal_variable_operational is not None @@ -925,6 +926,51 @@ def __variable_operational_cost_constraints(self, ensemble_member): *self.energy_system_components.get("ates", []), *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), + ]: + heat_charge = self.__state_vector_scaled(f"{asset}.Heat_flow_charging", ensemble_member) + heat_discharge = self.__state_vector_scaled( + f"{asset}.Heat_flow_discharging", ensemble_member + ) + variable_operational_cost_var = self._asset_variable_operational_cost_map[asset] + variable_operational_cost = self.extra_variable( + variable_operational_cost_var, ensemble_member + ) + nominal = self.variable_nominal(variable_operational_cost_var) + variable_operational_cost_coefficient = parameters[ + f"{asset}.variable_operational_cost_coefficient" + ] + timesteps = np.diff(self.times()) / 3600.0 + + pump_power = self.__state_vector_scaled(f"{asset}.Pump_power", ensemble_member) + eff = parameters[f"{asset}.pump_efficiency"] + + # We assume that only one electricity carrier is specified, to compute the cost with. + # Otherwise we need to link the electricity carrier somehow to the source and pump asset + # which is lots of extra effort for the user. + assert len(self.get_electricity_carriers().keys()) <= 1 + + if len(self.get_electricity_carriers().keys()) == 1: + try: + price_profile = self.get_timeseries( + f"{list(self.get_electricity_carriers().values())[0]['name']}.price_profile" + ) + except KeyError: + price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) + else: + price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) + + sum = 0.0 + for i in range(1, len(self.times())): + sum += ( + variable_operational_cost_coefficient + * (heat_charge[i] + heat_discharge[i]) + * timesteps[i - 1] + ) + sum += price_profile.values[i] * pump_power[i] * timesteps[i - 1] / eff + + constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + + for asset in [ *self.energy_system_components.get("pump", []), *self.energy_system_components.get("heat_exchanger", []), ]: @@ -1049,9 +1095,6 @@ def __variable_operational_cost_constraints(self, ensemble_member): constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) - for _ in self.energy_system_components.get("heat_buffer", []): - pass - for demand in self.energy_system_components.get("gas_demand", []): gas_mass_flow = self.__state_vector_scaled( f"{demand}.Gas_demand_mass_flow", ensemble_member # g/s diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index c88e208ca..c7839ccad 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -108,6 +108,7 @@ def __init__(self, *args, **kwargs): "pipe_minimum_pressure": -np.inf, "pipe_maximum_pressure": np.inf, "heat_exchanger_bypass": False, + "storage_charging_variables": False, } self._hn_head_loss_class = HeadLossClass(self.heat_network_settings) self.__pipe_head_bounds = {} @@ -431,11 +432,12 @@ def _get_min_bound(bound): self.__ates_max_stored_heat_bounds[ates_max_stored_heat_var_name] = (0, max_heat) self.__ates_max_stored_heat_nominals[ates_max_stored_heat_var_name] = max_heat / 2 - ates_is_charging_var_name = f"{ates}__is_charging" - self.__ates_is_charging_var[ates_is_charging_var_name] = ca.MX.sym( - ates_is_charging_var_name - ) - self.__ates_is_charging_bounds[ates_is_charging_var_name] = (0.0, 1.0) + if self.heat_network_settings["storage_charging_variables"]: + ates_is_charging_var_name = f"{ates}__is_charging" + self.__ates_is_charging_var[ates_is_charging_var_name] = ca.MX.sym( + ates_is_charging_var_name + ) + self.__ates_is_charging_bounds[ates_is_charging_var_name] = (0.0, 1.0) for _carrier, temperatures in self.temperature_carriers().items(): carrier_id_number_mapping = str(temperatures["id_number_mapping"]) @@ -1813,12 +1815,18 @@ def __ates_temperature_path_constraints(self, ensemble_member): parameters = self.parameters(ensemble_member) options = self.energy_system_options() - for ates_asset in self.energy_system_components.get("ates", []): + for ates_asset, ( + (hot_pipe, _hot_pipe_orientation), + (_cold_pipe, _cold_pipe_orientation), + ) in self.energy_system_topology.ates.items(): if ates_asset in self.energy_system_components.get("low_temperature_ates", []): continue - - is_buffer_charging = self.variable(f"{ates_asset}__is_charging") + if self.heat_network_settings["storage_charging_variables"]: + is_buffer_charging = self.variable(f"{ates_asset}__is_charging") + else: + flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] + is_buffer_charging = self.state(flow_dir_var) sup_carrier = parameters[f"{ates_asset}.T_supply_id"] supply_temperatures = self.temperature_regimes(sup_carrier) @@ -2080,7 +2088,10 @@ def __ates_temperature_changing_path_constraints(self, ensemble_member): bounds = self.bounds() options = self.energy_system_options() - for ates in self.energy_system_components.get("ates", []): + for ates, ( + (hot_pipe, _hot_pipe_orientation), + (_cold_pipe, _cold_pipe_orientation), + ) in self.energy_system_topology.ates.items(): if ates in self.energy_system_components.get("low_temperature_ates", []): continue @@ -2097,7 +2108,12 @@ def __ates_temperature_changing_path_constraints(self, ensemble_member): if options["include_ates_temperature_options"] and len(supply_temperatures) != 0: soil_temperature = parameters[f"{ates}.T_amb"] - is_buffer_charging = self.variable(f"{ates}__is_charging") + if self.heat_network_settings["storage_charging_variables"]: + is_buffer_charging = self.variable(f"{ates}__is_charging") + else: + flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] + is_buffer_charging = self.state(flow_dir_var) + heat_stored_max = bounds[f"{ates}.Stored_heat"][1] heat_ates_max = bounds[f"{ates}.Heat_ates"][1] heat_ates = self.state(f"{ates}.Heat_ates") @@ -2316,6 +2332,7 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): """ constraints = [] parameters = self.parameters(ensemble_member) + bounds = self.bounds() for b, ( (hot_pipe, _hot_pipe_orientation), @@ -2351,7 +2368,8 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) if b in self.energy_system_components.get("ates", []): - is_buffer_charging = self.variable(f"{b}__is_charging") + if self.heat_network_settings["storage_charging_variables"]: + is_buffer_charging = self.variable(f"{b}__is_charging") # TODO: check if below is necessary. # flow_big_m = q_nominal * 10 @@ -2373,6 +2391,19 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): supply_temperatures = self.temperature_regimes(sup_carrier) return_temperatures = self.temperature_regimes(ret_carrier) + # reducing problem size without is_charging variables + heat_charging = self.state(f"{b}.Heat_flow_charging") + heat_discharging = self.state(f"{b}.Heat_flow_discharging") + heat_charging_max = bounds[f"{b}.Heat_flow_charging"][1] + heat_discharging_max = bounds[f"{b}.Heat_flow_discharging"][1] + constraints.append( + ( + heat_charging / heat_charging_max + heat_discharging / heat_discharging_max, + -np.inf, + 1.0, + ) + ) + if len(supply_temperatures) == 0: constraint_nominal = (heat_nominal * cp * rho * dt * q_nominal) ** 0.5 # only when discharging the heat_in should match the heat excactly (like producer) @@ -3537,7 +3568,8 @@ def __storage_hydraulic_power_path_constraints(self, ensemble_member): flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) * hot_pipe_orientation if b in self.energy_system_components.get("ates", []): - is_buffer_charging = self.variable(f"{b}__is_charging") + if self.heat_network_settings["storage_charging_variables"]: + is_buffer_charging = self.variable(f"{b}__is_charging") big_m = ( 2.0 diff --git a/src/mesido/pycml/component_library/milp/heat/ates.py b/src/mesido/pycml/component_library/milp/heat/ates.py index 8c770ec70..09325d4ec 100644 --- a/src/mesido/pycml/component_library/milp/heat/ates.py +++ b/src/mesido/pycml/component_library/milp/heat/ates.py @@ -147,3 +147,24 @@ def __init__(self, name, **modifiers): (self.HeatIn.Heat - (self.HeatOut.Heat + self.Heat_ates)) / self.Heat_nominal ) self.add_equation((self.Heat_flow - self.Heat_ates) / self.Heat_nominal) + + self.add_variable( + Variable, + "Heat_flow_charging", + min=0.0, + max=self.Heat_flow.max, + nominal=self.Heat_flow.nominal, + ) + + self.add_variable( + Variable, + "Heat_flow_discharging", + min=0.0, + max=abs(self.Heat_flow.min), + nominal=self.Heat_flow.nominal, + ) + + self.add_equation( + (self.Heat_flow - (self.Heat_flow_charging - self.Heat_flow_discharging)) + / self.Heat_nominal + ) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py index ee674b441..fc9d0801e 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py @@ -122,3 +122,24 @@ def __init__(self, name, **modifiers): (self.Heat_buffer - (self.HeatIn.Heat - self.HeatOut.Heat)) / self.Heat_nominal ) self.add_equation((self.Heat_flow - self.Heat_buffer) / self.Heat_nominal) + + self.add_variable( + Variable, + "Heat_flow_charging", + min=0.0, + max=self.Heat_flow.max, + nominal=self.Heat_flow.nominal, + ) + + self.add_variable( + Variable, + "Heat_flow_discharging", + min=0.0, + max=abs(self.Heat_flow.min), + nominal=self.Heat_flow.nominal, + ) + + self.add_equation( + (self.Heat_flow - (self.Heat_flow_charging - self.Heat_flow_discharging)) + / self.Heat_nominal + ) diff --git a/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py b/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py index 6e4255f71..283b3614e 100644 --- a/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py +++ b/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py @@ -108,3 +108,24 @@ def __init__(self, name, **modifiers): / self.Heat_nominal ) self.add_equation((self.Heat_flow - self.Heat_low_temperature_ates) / self.Heat_nominal) + + self.add_variable( + Variable, + "Heat_flow_charging", + min=0.0, + max=self.Heat_flow.max, + nominal=self.Heat_flow.nominal, + ) + + self.add_variable( + Variable, + "Heat_flow_discharging", + min=0.0, + max=abs(self.Heat_flow.min), + nominal=self.Heat_flow.nominal, + ) + + self.add_equation( + (self.Heat_flow - (self.Heat_flow_charging - self.Heat_flow_discharging)) + / self.Heat_nominal + ) diff --git a/tests/models/ates_temperature/src/run_ates_temperature.py b/tests/models/ates_temperature/src/run_ates_temperature.py index 69024ff52..e28f07be5 100644 --- a/tests/models/ates_temperature/src/run_ates_temperature.py +++ b/tests/models/ates_temperature/src/run_ates_temperature.py @@ -154,6 +154,7 @@ def energy_system_options(self): self.heat_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS options["neglect_pipe_heat_losses"] = True options["include_ates_temperature_options"] = True + self.heat_network_settings["storage_charging_variables"] = True return options def temperature_carriers(self): diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 48a59285a..d0bea7b57 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -80,10 +80,18 @@ def test_end_scenario_sizing(self): # prevent future coding bugs np.testing.assert_equal(1.0e-4, self.solution.heat_network_settings["minimum_velocity"]) - # Check whether cyclic ates constraint is working + # Check whether cyclic ates constraint is working and split between the charging and + # discharging heat_flow variables for a in self.solution.energy_system_components.get("ates", []): stored_heat = self.results[f"{a}.Stored_heat"] np.testing.assert_allclose(stored_heat[0], stored_heat[-1], atol=1.0) + heat_ates = self.results[f"{a}.Heat_ates"] + heat_flow_charging = self.results[f"{a}.Heat_flow_charging"] + heat_flow_discharging = self.results[f"{a}.Heat_flow_discharging"] + np.testing.assert_allclose( + heat_ates, heat_flow_charging - heat_flow_discharging, atol=1.0 + ) + np.testing.assert_array_less(heat_flow_charging[heat_flow_discharging > 1e3], 1e3) # Check whether buffer tank is only active in peak day peak_day_indx = self.solution.parameters(0)["peak_day_index"] @@ -92,6 +100,11 @@ def test_end_scenario_sizing(self): for i in range(len(self.solution.times())): if i < peak_day_indx or i > (peak_day_indx + 23): np.testing.assert_allclose(heat_buffer[i], 0.0, atol=1.0e-6) + heat_flow_charging = self.results[f"{b}.Heat_flow_charging"] + heat_flow_discharging = self.results[f"{b}.Heat_flow_discharging"] + np.testing.assert_allclose( + heat_buffer, heat_flow_charging - heat_flow_discharging, atol=1.0 + ) obj = self.get_objective_value_end_scenario_sizing(self.solution) excluded_costs_in_obj = 0.0 # Fixed costs excluded in the optim objective function diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index c8fe8f0d5..9df978bf7 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -135,7 +135,7 @@ def test_max_producer_esdl_unscaled_profile(self): ) np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) np.testing.assert_array_less( - 7, + 6.9, np.sum( np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-9) ), From 83516f1ff475c217bb87c68f06dd1ce020b262e1 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 8 Dec 2025 13:22:43 +0100 Subject: [PATCH 316/376] Setup for tco goal where only the influenceable variables are used (#365) Setup for tco goal where only the influenceable variables are used, e.g. the installation and investment costs are only considered in the goal when the asset is to be sized. Operational costs are always considered as they can always be influenced. --- CHANGELOG.md | 13 ++++++- .../workflows/goals/minimize_tco_goal.py | 29 +++++++++------ tests/test_end_scenario_sizing.py | 36 +++++++++++-------- tests/test_producer_profiles.py | 2 +- 4 files changed, 54 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4154b192f..b9b28003f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,15 @@ -# [Unreleased-main] - 2025-11-19 +# [Unreleased-main] - 2025-12-8 + +## Added +- xx + +## Changed +- Minimize TCO objective in the grow_workflow is now only based on capex and opex that can be influenced. + +## Fixed +- xx + +# [Unreleased-main] - 2025-12-8 ## Added - ATES variable cost calculation utilizing a split ates charging and discharging variable. diff --git a/src/mesido/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py index 7486c9d88..4cbe9451b 100644 --- a/src/mesido/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -153,16 +153,25 @@ def _calculate_cost( asset_state = optimization_problem.parameters(ensemble_member)[f"{asset}.state"] - if not ((asset_type == "heat_demand") and (asset_state == AssetStateEnum.ENABLED)): - if options["discounted_annualized_cost"]: - # We only want the operational cost for a single year when we use - # annualized CAPEX. - obj += extra_var - elif "operational" in cost_type: - obj += extra_var * self.number_of_years - else: - # These are the CAPEX cost under non-annualized condition - obj += extra_var * factor + if "operational" in cost_type: + if not ( + asset_type == "heat_demand" and (asset_state == AssetStateEnum.ENABLED) + ): + if options["discounted_annualized_cost"]: + # We only want the operational cost for a single year when we use + # annualized CAPEX. + obj += extra_var + else: + obj += extra_var * self.number_of_years + else: + if asset_state == AssetStateEnum.OPTIONAL: + # The capex of enabled assets should not be a part of the objective + # function as it cannot be influenced. + if options["discounted_annualized_cost"]: + # Annualized CAPEX is used. + obj += extra_var + else: + obj += extra_var * factor return obj def function(self, optimization_problem: TechnoEconomicMixin, ensemble_member) -> MX: diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index d0bea7b57..548d0ce42 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -106,18 +106,12 @@ def test_end_scenario_sizing(self): heat_buffer, heat_flow_charging - heat_flow_discharging, atol=1.0 ) - obj = self.get_objective_value_end_scenario_sizing(self.solution) - excluded_costs_in_obj = 0.0 # Fixed costs excluded in the optim objective function - years = self.solution.parameters(0)["number_of_years"] - for asset in [*self.solution.energy_system_components.get("heat_demand", [])]: - technical_lifetime = self.solution.parameters(0)[f"{asset}.technical_life"] - factor = years / technical_lifetime - if factor < 1.0: - factor = 1.0 - if asset in [*self.solution.energy_system_components.get("heat_demand", [])]: - excluded_costs_in_obj += ( - self.results[f"{self.solution._asset_installation_cost_map[asset]}"] * factor - ) + obj = self.calculate_objective_value_end_scenario_sizing_all_optional(self.solution) + excluded_costs_in_obj = self.calculate_heat_demand_costs_end_scenario_sizing() # Fixed + # costs excluded in the optim objective function + + # Since all assets are optional, the objective value should be close to the calculated tco + # excluding heating demands. np.testing.assert_allclose(obj / 1.0e6, self.solution.objective_value) np.testing.assert_array_less( self.solution.objective_value, (obj + excluded_costs_in_obj) / 1.0e6 @@ -209,7 +203,7 @@ def test_end_scenario_sizing_staged(self): if i < peak_day_indx or i > (peak_day_indx + 23): np.testing.assert_allclose(heat_buffer[i], 0.0, atol=1.0e-6) - obj = self.get_objective_value_end_scenario_sizing(solution_staged) + obj = self.calculate_objective_value_end_scenario_sizing_all_optional(solution_staged) np.testing.assert_allclose(obj / 1.0e6, solution_staged.objective_value) # comparing results of staged and unstaged problem definition. For larger systems there @@ -448,7 +442,21 @@ def test_end_scenario_sizing_pipe_catalog(self): ] np.testing.assert_allclose(cost_map_from_template, investment_cost_specific) - def get_objective_value_end_scenario_sizing(self, solution): + def calculate_heat_demand_costs_end_scenario_sizing(self): + excluded_costs_in_obj = 0.0 # Fixed costs excluded in the optim objective function + years = self.solution.parameters(0)["number_of_years"] + for asset in [*self.solution.energy_system_components.get("heat_demand", [])]: + technical_lifetime = self.solution.parameters(0)[f"{asset}.technical_life"] + factor = years / technical_lifetime + if factor < 1.0: + factor = 1.0 + if asset in [*self.solution.energy_system_components.get("heat_demand", [])]: + excluded_costs_in_obj += ( + self.results[f"{self.solution._asset_installation_cost_map[asset]}"] * factor + ) + return excluded_costs_in_obj + + def calculate_objective_value_end_scenario_sizing_all_optional(self, solution): # If heating demand asset's state is enabled, then exclude the costs since it is not # part of the TCO calculation. This is because we do not size heating demand assets in # the optimization diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 9df978bf7..072985f69 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -101,7 +101,7 @@ def test_max_producer_esdl_unscaled_profile(self): demand_matching_test(solution, results) energy_conservation_test(solution, results) - heat_to_discharge_test(solution, results) + heat_to_discharge_test(solution, results, atol=0.15) tol = 1e-4 heat_produced = results["HeatProducer_b702.Heat_source"] From f198cf3870b2eba40d0af9ab100e0ed36b882392 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Mon, 8 Dec 2025 13:46:38 +0100 Subject: [PATCH 317/376] Bug: Account for 2 port hp in updating esdl file (#375) * account for 2 port hp in updating esdl file --- CHANGELOG.md | 16 +++------------- src/mesido/workflows/io/write_output.py | 25 +++++++++++++++++++++---- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b9b28003f..646e0022d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,24 +1,14 @@ -# [Unreleased-main] - 2025-12-8 +# [Unreleased-main] - 2025-12-08 ## Added -- xx +- ATES variable cost calculation utilizing a split ates charging and discharging variable. ## Changed - Minimize TCO objective in the grow_workflow is now only based on capex and opex that can be influenced. ## Fixed -- xx - -# [Unreleased-main] - 2025-12-8 - -## Added -- ATES variable cost calculation utilizing a split ates charging and discharging variable. - -## Changed -- xx +- Bug: Write updated esdl for 2 port heat pump -## Fixed -- xx # [0.1.15] - 2025-11-19 diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index aec84bba4..4cc8f5883 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -1170,16 +1170,29 @@ def _write_updated_esdl( elif isinstance(asset, esdl.Producer): port = [port for port in asset.port if isinstance(port, esdl.OutPort)][0] elif isinstance(asset, esdl.Conversion): - port_prim = [ + primary_inports = [ port for port in asset.port if isinstance(port, esdl.InPort) and "Prim" in port.name - ][0] - port_sec = [ + ] + secondary_outports = [ port for port in asset.port if isinstance(port, esdl.OutPort) and "Sec" in port.name - ][0] + ] + if len(primary_inports) == 1 and len(secondary_outports) == 1: + port_prim = primary_inports[0] + port_sec = secondary_outports[0] + elif len(primary_inports) == 0 and len(secondary_outports) == 1: + port_sec = secondary_outports[0] + else: + logger.error( + f"Write to influxdb does not cater for asset: {asset_name}, with" + f" {len(primary_inports)} primary inport(s) and" + f" {len(secondary_outports)} secondary outport(s)." + ) + traceback.print_exc() + sys.exit(1) else: NotImplementedError( f"influxdb not included for assets of type {type(asset)}" @@ -1252,6 +1265,10 @@ def _write_updated_esdl( "primary_carrier_id": port_prim.carrier.id, "secondary_carrier_id": port_sec.carrier.id, } + elif not port_prim and port_sec: + carrier_id_dict = { + "secondary_carrier_id": port_sec.carrier.id, + } else: NotImplementedError( "Unsuported types for the different port carrier combinations" From 4f28bf59f97e53e530eb497aa0d41784df986cf2 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 8 Dec 2025 17:02:09 +0100 Subject: [PATCH 318/376] Rollout development heatbuffer and maximum pipe length (#374) The heat buffer is added as an asset to be phased with its peak day constraints Constraint on maximum yearly pipe length to be placed Constraint that all heating demands have to be placed by the end of the optimization. --------- Co-authored-by: plgbrts --- CHANGELOG.md | 4 + .../src/run_municipality_roll_out.py | 42 +- src/mesido/esdl/esdl_mixin.py | 7 +- src/mesido/util.py | 7 +- src/mesido/workflows/goals/rollout_goal.py | 1 + src/mesido/workflows/io/rollout_post.py | 16 +- src/mesido/workflows/rollout_workflow.py | 139 ++++- src/mesido/workflows/utils/adapt_profiles.py | 2 +- .../model/PoC_tutorial_incl_ATES_buffer.esdl | 503 ++++++++++++++++++ tests/test_roll_out.py | 75 ++- 10 files changed, 766 insertions(+), 30 deletions(-) create mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES_buffer.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 646e0022d..abae3b43a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Added - ATES variable cost calculation utilizing a split ates charging and discharging variable. +- Rollout workflow may optionally include phasing of heat buffers for handling peak day constraints and demands +- Inclusion of maximum allowed yearly pipe placement length constraint for the rollout workflow +- Adding constraint so that all heating demands are placed at the end of the simulation + ## Changed - Minimize TCO objective in the grow_workflow is now only based on capex and opex that can be influenced. diff --git a/examples/PoCTutorial/src/run_municipality_roll_out.py b/examples/PoCTutorial/src/run_municipality_roll_out.py index a655d513a..f1715f3e5 100644 --- a/examples/PoCTutorial/src/run_municipality_roll_out.py +++ b/examples/PoCTutorial/src/run_municipality_roll_out.py @@ -2,24 +2,58 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import run_end_scenario_sizing -from mesido.workflows.rollout_workflow import RollOutProblem # not yet added to init of workflows +from mesido.workflows.io.rollout_post import RollOutPost +from mesido.workflows.rollout_workflow import ( + RollOutProblem, + SolverCPLEX, +) # not yet added to init of workflows # as this is still work in progress, and shouldn't be used yet. +# from mesido.esdl.profile_parser import ProfileReaderFromFile + if __name__ == "__main__": import time start_time = time.time() - base_folder = Path(__file__).resolve().parent.parent + base_folder = Path(__file__).resolve().parent.parent.parent + base_folder = base_folder / "municipality" + + class RollOutTimeStep(RollOutProblem): + pass + # def read(self): + # super().read() + # m = [3, 5, 5] + # for i in range(1, 4): + # demand_timeseries = self.get_timeseries(f"HeatingDemand_{i}.target_heat_demand") + # demand_timeseries.values[:] = demand_timeseries.values[:] * m[i - 1] + # self.set_timeseries(f"HeatingDemand_{i}.target_heat_demand", demand_timeseries) solution = run_end_scenario_sizing( - RollOutProblem, + RollOutTimeStep, + solver_class=SolverCPLEX, base_folder=base_folder, - esdl_file_name="PoC_tutorial_incl_ATES.esdl", + # esdl_file_name="PoC_tutorial_incl_ATES copy.esdl", + esdl_file_name="GROW_withATES_Prod_install_withoutbuffer_costs_GrowOptimized.esdl", + # esdl_file_name="test_case_small_network_with_ates_with_buffer.esdl", # gives an error esdl_parser=ESDLFileParser, + # profile_reader=ProfileReaderFromFile, + # input_timeseries_file="Warmte_test.csv", + yearly_max_capex=3.0e6, ) results = solution.extract_results() + kwargs = { + "output_folder": base_folder / "output", + "esdl_file_name": base_folder + / "model" + / "GROW_withATES_Prod_install_withoutbuffer_costs_GrowOptimized.esdl", + "figure_folder": base_folder / "output" / "figures", + } + + rolloutpost = RollOutPost(**kwargs) + rolloutpost.all_plots() + # DO NOT DELETE, for manual checking of results. # import matplotlib.pyplot as plt # diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index e23aafdce..8a6156ff2 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -457,12 +457,17 @@ def esdl_heat_model_options(self) -> Dict: v_nominal = energy_system_options["estimated_velocity"] v_max = self.heat_network_settings["maximum_velocity"] v_max_gas = self.gas_network_settings["maximum_velocity"] + min_fraction_tank_volume = energy_system_options.get("min_fraction_tank_volume", 0.05) # Pass error type check setting to asset converter error_type_check = getattr(self, "_error_type_check", None) return dict( - v_nominal=v_nominal, v_max=v_max, v_max_gas=v_max_gas, error_type_check=error_type_check + v_nominal=v_nominal, + v_max=v_max, + v_max_gas=v_max_gas, + error_type_check=error_type_check, + min_fraction_tank_volume=min_fraction_tank_volume, ) def esdl_qth_model_options(self) -> Dict: diff --git a/src/mesido/util.py b/src/mesido/util.py index c88d3ef43..6e7c2547f 100644 --- a/src/mesido/util.py +++ b/src/mesido/util.py @@ -52,6 +52,11 @@ def run_esdl_mesido_optimization( feasibility = solution.solver_stats["return_status"] - assert feasibility.lower() in ["optimal", "finished", "integer optimal solution"] + assert feasibility.lower() in [ + "optimal", + "finished", + "integer optimal solution", + "integer optimal, tolerance", + ] return solution diff --git a/src/mesido/workflows/goals/rollout_goal.py b/src/mesido/workflows/goals/rollout_goal.py index baae5d166..14e1880c4 100644 --- a/src/mesido/workflows/goals/rollout_goal.py +++ b/src/mesido/workflows/goals/rollout_goal.py @@ -101,6 +101,7 @@ def capex_assets(self, optimization_problem, ensemble_member): *optimization_problem.energy_system_components.get("heat_demand", []), *optimization_problem.energy_system_components.get("heat_pipe", []), *optimization_problem.energy_system_components.get("heat_source", []), + *optimization_problem.energy_system_components.get("heat_buffer", []), ]: asset = optimization_problem.get_asset_from_asset_name(asset_name=asset_name) tech_lifetime = parameters[f"{asset_name}.technical_life"] diff --git a/src/mesido/workflows/io/rollout_post.py b/src/mesido/workflows/io/rollout_post.py index 98bfebeb7..9ff428d3f 100644 --- a/src/mesido/workflows/io/rollout_post.py +++ b/src/mesido/workflows/io/rollout_post.py @@ -102,17 +102,17 @@ def plot_asset_allocation(self): ates = ates_asset.name plt.plot( times / 3600 / 24, - results[f"{ates}.Heat_ates"] / 1e6, + np.array(results[f"{ates}.Heat_ates"]) / 1e6, label=str(ates) + " Heat_ates", ) plt.plot( times / 3600 / 24, - results[f"{ates}.Heat_loss"] / 1e6, + np.array(results[f"{ates}.Heat_loss"]) / 1e6, label=str(ates) + " Heat_loss", ) plt.plot( times / 3600 / 24, - results[f"{ates}.Storage_yearly_change"] / 1e6, + np.array(results[f"{ates}.Storage_yearly_change"]) / 1e6, label=str(ates) + " Storage_yearly_change", ) @@ -390,3 +390,13 @@ def get_cumulative_capex_symbols(self, asset_name): f"{asset_name}__cumulative_investments_made_in_eur_year_{y}" for y in range(self.years) ] return [self.results[var_n] for var_n in var_names] + + +if __name__ == "__main__": + kwargs = { + "output_folder": r"C:\git\mesido\examples\municipality" r"\test2", + "esdl_file_name": "GROW_withATES_Prod_install_full_GrowOptimized_costsupdated.esdl", + "figure_folder": r"C:\git\mesido\examples\municipality\test2" r"\figures", + } + rolloutpost = RollOutPost(**kwargs) + rolloutpost.all_plots() diff --git a/src/mesido/workflows/rollout_workflow.py b/src/mesido/workflows/rollout_workflow.py index 58858f192..57ac0a028 100644 --- a/src/mesido/workflows/rollout_workflow.py +++ b/src/mesido/workflows/rollout_workflow.py @@ -17,6 +17,7 @@ from mesido.workflows.io.write_output import ScenarioOutput from mesido.workflows.utils.adapt_profiles import ( adapt_hourly_profile_averages_timestep_size, + adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, adapt_profile_for_initial_hour_timestep_size, adapt_profile_to_copy_for_number_of_years, ) @@ -61,7 +62,7 @@ def solver_options(self): options["casadi_solver"] = self._qpsol options["solver"] = "cplex" cplex_options = options["cplex"] = {} - cplex_options["CPX_PARAM_EPGAP"] = 0.001 + cplex_options["CPX_PARAM_EPGAP"] = 0.01 options["highs"] = None return options @@ -81,23 +82,29 @@ class RollOutProblem( def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self._years = 3 # 10 + self._years = 3 self._horizon = 30 self._year_step_size = int(self._horizon / self._years) # TODO: timestep_size and _days can be removed eventually, particularly when averaging # with peak day is used, however one needs to check where self._timesteps_per_year and # self._timestep_size is currently affecting the code self._timestep_size = kwargs.get("_timestep_size", 30 * 24) + self._timesteps_per_year = int(365 / (self._timestep_size / 24)) + 1 - self._timesteps_per_year = ( - self._timesteps_per_year + 1 - ) # + 1 because of inserting an 1-hour timestep at the beginning of the year, - # see adapt_profile_for_initial_hour_timestep_size() - - # TODO: get yearly max capex from input - self._yearly_max_capex = ( - 6.0e6 if "yearly_max_capex" not in kwargs else kwargs["yearly_max_capex"] - ) + + # + 1 because of inserting an 1-hour timestep at the beginning of the year, + # (see adapt_profile_for_initial_hour_timestep_size) + self._timesteps_per_year += 1 + + self._include_peak_day = kwargs.get("include_peak_day", False) + if self._include_peak_day: + # + 25 needed if peak day is included with hourly timesteps + # (see adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day) + self._timesteps_per_year += 25 + + self._yearly_max_capex = kwargs.get("yearly_max_capex", 6.0e6) + self._yearly_max_pipe_length = kwargs.get("yearly_max_pipe_length", 1.0e3) + self._years_timestep_max_capex = self._yearly_max_capex * self._horizon / self._years # Fraction of how much heat of the total maximum the geo source can produce it should @@ -152,9 +159,21 @@ def parameters(self, ensemble_member): def read(self): super().read() - # Create yearly profile with desired coarser time-step size by - # averaging over the hourly data - adapt_hourly_profile_averages_timestep_size(self, self._timestep_size) + if self._include_peak_day: + # Adapt yearly profile with hourly time steps to a common profile (averaged profile + # except for the day with the peak demand). + ( + self.__problem_indx_max_peak, + self.__heat_demand_nominal, + self.__cold_demand_nominal, + ) = adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day( + self, + self._timestep_size // 24, # number of days in timestep + ) + else: + # Create yearly profile with desired coarser time-step size by + # averaging over the hourly data + adapt_hourly_profile_averages_timestep_size(self, self._timestep_size) # A small, (1 hour) timestep is inserted as first time step. This is used in the # rollout workflow to allow a yearly change in the storage of the ATES system. @@ -162,6 +181,11 @@ def read(self): # level of the ATES. adapt_profile_for_initial_hour_timestep_size(self) + if self._include_peak_day: + # Insertion of the one hour timestep affects self.__problem_indx_max_peak, + # which is now increased by 1 + self.__problem_indx_max_peak += 1 + # Adapt the profiles to copy for the number of years adapt_profile_to_copy_for_number_of_years(self, self._years) @@ -174,7 +198,7 @@ def pre(self): "Note: The rollout workflow is still under development and not fully tested yet." ) - asset_types = ["low_temperature_ates", "heat_buffer", "geothermal_source", "heat_pump"] + asset_types = ["low_temperature_ates", "geothermal_source", "heat_pump"] for asset_type in asset_types: if len(self.energy_system_components.get(asset_type, [])) > 0: logger.error( @@ -188,6 +212,7 @@ def pre(self): *self.energy_system_components.get("heat_demand", []), *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_pipe", []), + *self.energy_system_components.get("heat_buffer", []), ]: self._asset_fraction_placed_map[asset] = [] for year in range(self._years): @@ -248,6 +273,7 @@ def energy_system_options(self): options["include_asset_is_realized"] = True options["include_ates_yearly_change_option"] = True options["yearly_investments"] = True + options["min_fraction_tank_volume"] = 0.0 return options def path_goals(self): @@ -374,6 +400,21 @@ def __demand_matching_constraints(self, ensemble_member): return constraints + def __all_demands_placed_constraints(self, ensemble_member): + """ + Constraint to ensure all heating demands are placed at the end of the optimization + + """ + constraints = [] + + for d in self.energy_system_components.get("heat_demand", []): + asset_realized_vector = self.get_asset_is__realized_symbols(d) + + # ensure asset is placed at end of optimization + constraints.append((asset_realized_vector[-1], 1.0, 1.0)) + + return constraints + def __yearly_investment_constraints(self, ensemble_member): """ Constraints to set the yearly maximum CAPEX. The CAPEX here is the cumulative investments @@ -431,6 +472,13 @@ def __yearly_investment_constraints(self, ensemble_member): # ates_doublet_sums_fraction[y - 1]) cumulative_capex += ates_capex + # heat buffers + for b in self.energy_system_components.get("heat_buffer", []): + cumulative_inv_buffer = self.extra_variable( + f"{b}__cumulative_investments_made_in_eur_year_{y}" + ) + cumulative_capex += cumulative_inv_buffer + year_nominal = bounds[f"yearly_capex_{y}"][1] yearly_capex_var = self.extra_variable(f"yearly_capex_{y}", ensemble_member) if y == 0: @@ -448,6 +496,35 @@ def __yearly_investment_constraints(self, ensemble_member): return constraints + def __yearly_pipe_length_constraints(self, ensemble_member): + """ + Constraints to set the yearly maximum pipe length that can be placed. + """ + constraints = [] + + parameters = self.parameters(ensemble_member) + + allowed_length = self._yearly_max_pipe_length * self._horizon / self._years + total_length = 0 + for y in range(self._years): + cumulative_pipe_length = 0 + for p in self.energy_system_components.get("heat_pipe", []): + pipe_placement = self.extra_variable(self._asset_is_realized_map[p][y]) + pipe_length = parameters[f"{p}.length"] + cumulative_pipe_length += pipe_placement * pipe_length + used_length_year = cumulative_pipe_length - total_length + total_length += used_length_year + + constraints.append( + ( + (allowed_length - used_length_year) / self._yearly_max_pipe_length, + 0.0, + np.inf, + ) + ) + + return constraints + def __minimum_operational_constraints(self, ensemble_member): """ Constraints to ensure that the geothermal source produces at least a minimum amount of heat @@ -536,6 +613,33 @@ def __ates_yearly_periodic_constraints(self, ensemble_member): ) return constraints + def __heat_buffer_peak_day_constraints(self, ensemble_member): + """ + Constraints to ensure that the heat buffer is active only during the 24 hourly timestepping + period during the peak day. + + """ + + constraints = [] + for b in self.energy_system_components.get("heat_buffer", {}): + var_stored_heat = self.state_vector(f"{b}.Stored_heat") + + for year in range(self._years): + for i in range(self._timesteps_per_year): + if not ( + i > self.__problem_indx_max_peak - 1 + and i < (self.__problem_indx_max_peak + 23 + 1) + ): + constraints.append( + ( + var_stored_heat[i + year * self._timesteps_per_year], + 0.0, + 0.0, + ) + ) + + return constraints + def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) @@ -546,7 +650,12 @@ def constraints(self, ensemble_member): constraints.extend(self.__ates_yearly_initial_constraints(ensemble_member)) constraints.extend(self.__ates_yearly_periodic_constraints(ensemble_member)) + if self._include_peak_day: + constraints.extend(self.__heat_buffer_peak_day_constraints(ensemble_member)) + + constraints.extend(self.__all_demands_placed_constraints(ensemble_member)) constraints.extend(self.__yearly_investment_constraints(ensemble_member)) + constraints.extend(self.__yearly_pipe_length_constraints(ensemble_member)) constraints.extend(self.__minimum_operational_constraints(ensemble_member)) diff --git a/src/mesido/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py index 07a9b11f0..9130ace1d 100644 --- a/src/mesido/workflows/utils/adapt_profiles.py +++ b/src/mesido/workflows/utils/adapt_profiles.py @@ -67,7 +67,7 @@ def set_data_with_averages( def adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(problem, problem_day_steps: int): """ - Adapt yearly porifle with hourly time steps to a common profile (daily averaged profile except + Adapt yearly profile with hourly time steps to a common profile (daily averaged profile except for the day with the peak demand). Return the following: diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES_buffer.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES_buffer.esdl new file mode 100644 index 000000000..ef849d50c --- /dev/null +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES_buffer.esdl @@ -0,0 +1,503 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_roll_out.py b/tests/test_roll_out.py index 060168c15..1b2ca8376 100644 --- a/tests/test_roll_out.py +++ b/tests/test_roll_out.py @@ -11,8 +11,6 @@ # from utils_tests import energy_conservation_test from utils_tests import heat_to_discharge_test -# from mesido.workflows.io.rollout_post import rollout_post - class TestRollOutOptimization(TestCase): @@ -31,6 +29,9 @@ def test_roll_out_optimization(self): - check number of timesteps in timeseries. - if asset placed, also placed for future - check fraction is placed + - check yearly_pipe_length_constraints + - check if all demands are placed at the end of the simulation + - check heat buffer constraints Missing: @@ -45,10 +46,11 @@ def test_roll_out_optimization(self): # This is an optimization done over three years with timesteps of 30 days class RollOutTimeStep(RollOutProblem): - + # pass def read(self): super().read() - m = [3, 5, 5] + # m = [3, 5, 5] + m = [1, 2, 2] for i in range(1, 4): demand_timeseries = self.get_timeseries(f"HeatingDemand_{i}.target_heat_demand") demand_timeseries.values[:] = demand_timeseries.values[:] * m[i - 1] @@ -57,11 +59,14 @@ def read(self): solution = run_esdl_mesido_optimization( RollOutTimeStep, base_folder=base_folder, - esdl_file_name="PoC_tutorial_incl_ATES.esdl", + esdl_file_name="PoC_tutorial_incl_ATES_buffer.esdl", + # esdl_file_name="PoC_tutorial_incl_ATES.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", yearly_max_capex=7.0e6, + yearly_max_pipe_length=1.0e3, # m per year + include_peak_day=True, ) results = solution.extract_results() @@ -237,4 +242,64 @@ def read(self): f"{asset}__asset_is_realized{y} should be <= {asset}__asset_is_realized{y + 1}", ) + # Check yearly_pipe_length_constraints + allowed_length = solution._yearly_max_pipe_length * solution._horizon / solution._years + total_length = 0 + for y in range(solution._years): + cumulative_pipe_length = 0 + for p in solution.energy_system_components.get("heat_pipe", []): + pipe_is_realized = results[f"{p}__asset_is_realized_{y}"] + pipe_length = solution.parameters(0)[f"{p}.length"] + cumulative_pipe_length += pipe_is_realized * pipe_length + used_length_year = cumulative_pipe_length - total_length + total_length += used_length_year + print(used_length_year) + np.testing.assert_( + used_length_year <= allowed_length, + f"Yearly pipe length constraint violated in year {y}:\ + used {used_length_year}, allowed {allowed_length}", + ) + + # Check if all demands placed + for d in solution.energy_system_components.get("heat_demand", []): + np.testing.assert_( + np.isclose(results[f"{d}__asset_is_realized_{solution._years -1}"], 1, atol=atol), + f"{d} is not placed at the end of the simulation", + ) + + # Heat buffer peak day constraints + for b in solution.energy_system_components.get("heat_buffer", {}): + used_buffer = False + for year in range(solution._years): + for i in range(solution._timesteps_per_year): + if not ( + i > solution._RollOutProblem__problem_indx_max_peak - 1 + and i < (solution._RollOutProblem__problem_indx_max_peak + 23 + 1) + ): + np.testing.assert_allclose( + results[f"{b}.Stored_heat"][i + year * solution._timesteps_per_year], + 0.0, + atol=atol, + rtol=rtol, + ) + if not i == 0 and not year == 0: + np.testing.assert_allclose( + results[f"{b}.Heat_buffer"][ + i + year * solution._timesteps_per_year + ], + 0.0, + atol=atol, + rtol=rtol, + ) + else: + if ( + results[f"{b}.Heat_buffer"][i + year * solution._timesteps_per_year] + > 1e3 + ): + used_buffer = True + + np.testing.assert_( + used_buffer, f"{b} Heat buffer has not been used in the entire problem" + ) + # rollout_post(solution, results) From ab191753103029ed5da5e133c2a14b119d4a80ee Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 9 Dec 2025 15:24:00 +0100 Subject: [PATCH 319/376] use markes and combine main testing (#389) * use markes and combine main testing --- .github/workflows/ci.yml | 27 +++---------------------- pytest.ini | 3 +++ tests/test_end_scenario_sizing.py | 1 + tests/test_producer_profiles.py | 8 ++++++++ tests/test_updated_esdl_post_process.py | 4 ++++ tests/test_updated_esdl_pre_process.py | 3 +++ tox.ini | 14 ++++++------- 7 files changed, 28 insertions(+), 32 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1922769b5..c8955a575 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,9 +52,9 @@ jobs: - name: Check build run: python setup.py sdist bdist_wheel - # Main testing part 1 - test_main_1: - name: Test main - 1 + # Main testing part + test_main: + name: Test main runs-on: ubuntu-latest timeout-minutes: 10 if: ${{ !github.event.pull_request.draft }} @@ -72,27 +72,6 @@ jobs: - name: Check test run: tox -vv -etest_env_main_1 - - # Main testing part 2 - test_main_2: - name: Test main - 2 - runs-on: ubuntu-latest - timeout-minutes: 5 - if: ${{ !github.event.pull_request.draft }} - env: - TOXENV: py311 - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-python@v4 - with: - python-version: "3.11" - - - name: deps - run: python -m pip install -U tox - - - name: Check test - run: tox -vv -etest_env_main_2 # Pre-processing testing test_pre_processing: diff --git a/pytest.ini b/pytest.ini index b0eed721a..4848ed2b6 100644 --- a/pytest.ini +++ b/pytest.ini @@ -4,6 +4,9 @@ markers = second: marks tests as second group third: marks tests as third group fourth: marks tests as fourth group + pre_process: marks tests as pre-processing tests + post_process: marks tests as post-processing tests + slow_1: marks tests as slow, longer time limit than the global default testpaths = tests addopts = --import-mode=importlib diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 548d0ce42..ecc53feb2 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -23,6 +23,7 @@ class TestEndScenarioSizing(TestCase): + @classmethod def setUpClass(cls) -> None: import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 072985f69..2a0e59e59 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -7,6 +7,8 @@ import numpy as np +import pytest + from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -19,6 +21,8 @@ class TestProducerMaxProfile(TestCase): """ + @pytest.mark.slow_1 + @pytest.mark.timeout(150) # overrides the default timelimt of the pytest command def test_max_producer_scaled_profile(self): """ Use a scaled profile, where the profile was intentionally reduced for a couple of @@ -62,6 +66,8 @@ def test_max_producer_scaled_profile(self): biggerthen = all(heat_producer_profile_full + tol >= heat_producer) self.assertTrue(biggerthen) + @pytest.mark.slow_1 + @pytest.mark.timeout(150) # overrides the default timelimt of the pytest command def test_max_producer_esdl_unscaled_profile(self): """ Use a profile specified in Watts, where the profile was intentionally modified (via the @@ -141,6 +147,8 @@ def test_max_producer_esdl_unscaled_profile(self): ), ) + @pytest.mark.slow_1 + @pytest.mark.timeout(150) # overrides the default timelimt of the pytest command def test_max_producer_esdl_scaled_profile(self): """ Use a scaled profile, where the profile was intentionally reduced for a couple of diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 408258ddc..11a3f1ec3 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -17,11 +17,14 @@ import numpy as np +import pytest + from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test class TestUpdatedESDL(TestCase): + @pytest.mark.post_process def test_updated_esdl(self): """ Check that the updated ESDL resulting from the optmizer, is correct by using the PoCTutorial @@ -319,6 +322,7 @@ def test_updated_esdl(self): len(energy_system.instance[0].area.area), number_of_areas_in_esdl ) + @pytest.mark.post_process def test_updated_esdl_eac(self): """ Ensure that the updated ESDL, generated through optimization using the diff --git a/tests/test_updated_esdl_pre_process.py b/tests/test_updated_esdl_pre_process.py index 611404fac..c5d0392e9 100644 --- a/tests/test_updated_esdl_pre_process.py +++ b/tests/test_updated_esdl_pre_process.py @@ -7,6 +7,8 @@ import numpy as np +import pytest + from utils_test_scaling import create_problem_with_debug_info # , problem_scaling_check from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test @@ -14,6 +16,7 @@ class TestUpdatedESDL(TestCase): + @pytest.mark.pre_process def test_updated_esdl(self): """ Check that the updated ESDL resulting from optmizing a network, is correct by using the diff --git a/tox.ini b/tox.ini index f2de1b365..293e0b965 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] envlist = - py311, test_env_main_1, test_env_main_2, test_env_pre, test_env_post, flake8, black + py311, test_env_main, test_env_pre, test_env_post, flake8, black # Allowing logging INFO when using pytest [pytest] @@ -22,19 +22,17 @@ extras = all # Main tests part 1 (typical normal test) [testenv:test_env_main_1] -commands = pytest --timeout=120 --timeout-method=thread -n 4 -v --ignore=tests/test_updated_esdl_pre_process.py --ignore=tests/test_updated_esdl_post_process.py --ignore=tests/test_end_scenario_sizing.py -s - -# Main tests part 2 (specifically for end scenario testing due to pipeline hanging problems) -[testenv:test_env_main_2] -commands = pytest --timeout=120 --timeout-method=thread -n 4 -v tests/test_end_scenario_sizing.py -s +commands = + pytest --timeout=120 --timeout-method=thread -n 4 -v -m "not pre_process and not post_process" --ignore=tests/test_end_scenario_sizing.py -s + pytest --timeout=120 --timeout-method=thread -n 4 -v tests/test_end_scenario_sizing.py -s # Pre-processing / solve systems to create data for post-processing test environment [testenv:test_env_pre] -commands = pytest --timeout=120 --timeout-method=thread -n 4 -v tests/test_updated_esdl_pre_process.py -s +commands = pytest --timeout=120 --timeout-method=thread -n 4 -v -m "pre_process" -s # Post process type of tests [testenv:test_env_post] -commands = pytest --timeout=120 --timeout-method=thread -n 4 -v tests/test_updated_esdl_post_process.py -s +commands = pytest --timeout=120 --timeout-method=thread -n 4 -v -m "post_process" -s [testenv:flake8] From 44c93bd298916a60895b6dd211753a9114410602 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 9 Dec 2025 15:53:26 +0100 Subject: [PATCH 320/376] Removing _ret for pipe relationships (#327) A new bidirectional dictionary for the pipe relationships has been setup. Backwards compatibility is secured by checking the ESDLversion, if older than 21.10, the former _ret pipe relation is used. Fix on the definition for hot_pipes, this now only contains pipes that have a relation to a cold_pipe, else it is added to the list of unrelated pipes. Be aware, unrelated pipes significantly increase the computational effort. --- CHANGELOG.md | 1 + examples/PoCTutorial/model/PoC Tutorial.esdl | 4 +- examples/PoCTutorial/src/run_grow_tutorial.py | 2 +- examples/pipe_diameter_sizing/src/example.py | 8 + src/mesido/asset_sizing_mixin.py | 13 +- src/mesido/base_component_type_mixin.py | 39 ++- src/mesido/component_type_mixin.py | 71 ++++- src/mesido/esdl/esdl_additional_vars_mixin.py | 36 ++- src/mesido/esdl/esdl_mixin.py | 77 ++++- src/mesido/heat_physics_mixin.py | 25 +- src/mesido/workflows/grow_workflow.py | 2 +- .../heat_exchange/input/timeseries_import.xml | 102 ++----- tests/models/insulation/model/Insulation.esdl | 8 +- ...ll_network_all_optional_pipe_catalog.esdl} | 266 +++++------------- ...rk_with_ates_with_buffer_all_optional.esdl | 16 +- ...s_with_buffer_all_optional_not_placed.esdl | 12 +- .../test_case_small_network_with_ates.esdl | 8 +- tests/models/unit_cases/case_3a/model/3a.esdl | 20 +- .../model/3a_esdl_source_scaled_profile.esdl | 20 +- .../3a_esdl_source_unscaled_profile.esdl | 20 +- ...a_esdl_source_unscaled_profile_sizing.esdl | 20 +- tests/test_end_scenario_sizing.py | 19 +- tests/test_pipe_diameter_sizing.py | 1 + tests/test_topo_constraints.py | 12 +- tests/test_updated_esdl_post_process.py | 16 +- tests/test_varying_temperature.py | 2 +- tests/utils_tests.py | 6 +- 27 files changed, 415 insertions(+), 411 deletions(-) rename tests/models/test_case_small_network_ates_buffer_optional_assets/model/{test_case_small_network_with_ates_with_buffer_all_optional_pipe_catalog.esdl => test_case_small_network_all_optional_pipe_catalog.esdl} (65%) diff --git a/CHANGELOG.md b/CHANGELOG.md index abae3b43a..35dc9a0a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ ## Changed - Minimize TCO objective in the grow_workflow is now only based on capex and opex that can be influenced. +- Removed the requirement of "_ret" for the return network pipes, for ESDLversion 21.10 and later. The relation between supply and return pipes is now based on the "related" attribute in the esdl. ## Fixed - Bug: Write updated esdl for 2 port heat pump diff --git a/examples/PoCTutorial/model/PoC Tutorial.esdl b/examples/PoCTutorial/model/PoC Tutorial.esdl index 0b6215465..b1e6d2c6f 100644 --- a/examples/PoCTutorial/model/PoC Tutorial.esdl +++ b/examples/PoCTutorial/model/PoC Tutorial.esdl @@ -244,7 +244,7 @@ - + @@ -269,7 +269,7 @@ - + diff --git a/examples/PoCTutorial/src/run_grow_tutorial.py b/examples/PoCTutorial/src/run_grow_tutorial.py index d28d91a05..b681f5615 100644 --- a/examples/PoCTutorial/src/run_grow_tutorial.py +++ b/examples/PoCTutorial/src/run_grow_tutorial.py @@ -28,7 +28,7 @@ class EndScenarioSizingStagedHighs(EndScenarioSizingStaged): base_folder=base_folder, esdl_file_name="PoC Tutorial.esdl", esdl_parser=ESDLFileParser, - **kwargs, + # **kwargs, ) print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/examples/pipe_diameter_sizing/src/example.py b/examples/pipe_diameter_sizing/src/example.py index 95a0ebf81..92424cddd 100644 --- a/examples/pipe_diameter_sizing/src/example.py +++ b/examples/pipe_diameter_sizing/src/example.py @@ -57,6 +57,14 @@ def function(self, optimization_problem, ensemble_member): obj += optimization_problem.extra_variable(var_name, ensemble_member) * length + for p in optimization_problem.unrelated_pipes: + length = parameters[f"{p}.length"] + var_name = optimization_problem.pipe_diameter_symbol_name(p) + + nominal += length * optimization_problem.variable_nominal(var_name) + + obj += optimization_problem.extra_variable(var_name, ensemble_member) * length + return obj / nominal diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index cab0644b5..fd087fe9e 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -686,16 +686,17 @@ def pre(self): for c in pipe_classes: neighbour = self.has_related_pipe(pipe) if neighbour and pipe not in set_self_hot_pipes: - cold_pipe = self.cold_to_hot_pipe(pipe) - pipe_class_var_name = f"{cold_pipe}__hn_pipe_class_{c.name}" + # pipe is cold_pipe + hot_pipe = self.cold_to_hot_pipe(pipe) + pipe_class_var_name = f"{hot_pipe}__hn_pipe_class_{c.name}" pipe_class_ordering_name = ( - f"{cold_pipe}__hn_pipe_class_{c.name}_discharge_ordering" + f"{hot_pipe}__hn_pipe_class_{c.name}_discharge_ordering" ) pipe_class_cost_ordering_name = ( - f"{cold_pipe}__hn_pipe_class_{c.name}_cost_ordering" + f"{hot_pipe}__hn_pipe_class_{c.name}_cost_ordering" ) pipe_class_heat_loss_ordering_name = ( - f"{cold_pipe}__hn_pipe_class_{c.name}_heat_loss_ordering" + f"{hot_pipe}__hn_pipe_class_{c.name}_heat_loss_ordering" ) else: pipe_class_var_name = f"{pipe}__hn_pipe_class_{c.name}" @@ -1421,7 +1422,7 @@ def __pipe_topology_constraints(self, ensemble_member): self._pipe_heat_losses[self.hot_to_cold_pipe(pipe)], ) ] - elif pipe in set_self_hot_pipes and not self.has_related_pipe(pipe): + elif pipe not in set_self_hot_pipes and not self.has_related_pipe(pipe): heat_loss_sym_name = self._pipe_heat_loss_map[pipe] heat_loss_sym = self.extra_variable(heat_loss_sym_name, ensemble_member) diff --git a/src/mesido/base_component_type_mixin.py b/src/mesido/base_component_type_mixin.py index 42938274e..78c374282 100644 --- a/src/mesido/base_component_type_mixin.py +++ b/src/mesido/base_component_type_mixin.py @@ -74,35 +74,46 @@ def cold_to_hot_pipe(self, pipe: str): def has_related_pipe(self, pipe: str) -> bool: """ - This function checks whether a pipe has a related hot/cold pipe. This is done based on the - name convention. + This function checks whether a pipe has a related hot/cold pipe. :params pipe: is the pipe name. :returns: True if the pipe has a related pipe, else False. """ related = False - if self.is_hot_pipe(pipe): - if self.hot_to_cold_pipe(pipe) in self.energy_system_components.get("heat_pipe", []): - related = True - elif self.is_cold_pipe(pipe): - if self.cold_to_hot_pipe(pipe) in self.energy_system_components.get("heat_pipe", []): - related = True + if pipe in self.hot_pipes or pipe in self.cold_pipes: + related = True return related + @property + def hot_to_cold_pipe_map(self) -> Dict[str, str]: + """ + This function return a dictionary of hot pipe names mapped to cold pipe names. + """ + raise NotImplementedError + + @property + def cold_to_hot_pipe_map(self) -> Dict[str, str]: + """ + This function return a dictionary of cold pipe names mapped to hot pipe names. + """ + raise NotImplementedError + @property def hot_pipes(self) -> List[str]: """ This function return a list of all the supply/hot pipe names. """ - return [ - p for p in self.energy_system_components.get("heat_pipe", []) if self.is_hot_pipe(p) - ] + return list(self.hot_to_cold_pipe_map.keys()) @property def cold_pipes(self) -> List[str]: """ This function return a list of all the return/cold pipe names. """ - return [ - p for p in self.energy_system_components.get("heat_pipe", []) if self.is_cold_pipe(p) - ] + return list(self.cold_to_hot_pipe_map.keys()) + + @property + def unrelated_pipes(self) -> List[str]: + """This function return a list of pipe names of all the pipes that don't have a related + cold/hot pipe.""" + raise NotImplementedError diff --git a/src/mesido/component_type_mixin.py b/src/mesido/component_type_mixin.py index e48936491..ca12861a7 100644 --- a/src/mesido/component_type_mixin.py +++ b/src/mesido/component_type_mixin.py @@ -1,5 +1,5 @@ import logging -from typing import Dict, Set +from typing import Dict, List, Set from mesido.base_component_type_mixin import BaseComponentTypeMixin from mesido.heat_network_common import NodeConnectionDirection @@ -26,6 +26,10 @@ def __init__(self, *args, **kwargs): self.__hn_component_types = None self.__commodity_types = None + self.__hot_cold_pipe_relations = dict() + self.__unrelated_pipes = list() + self.hot_cold_pipe_relations() + def pre(self): """ In this function the topology object of the milp network is constructed. Meaning that for @@ -81,6 +85,7 @@ def pre(self): # Look for aliases only in the hot pipes. All cold pipes are zero by convention anyway. hot_pipes = self.hot_pipes.copy() + hot_pipes.extend(self.unrelated_pipes.copy()) pipes_map = {f"{pipe}.HeatIn.Heat": pipe for pipe in hot_pipes} pipes_map.update({f"{pipe}.HeatOut.Heat": pipe for pipe in hot_pipes}) @@ -289,10 +294,13 @@ def pre(self): assert asset_w_orientation[0] in pipes_set - if k == "In": - assert self.is_hot_pipe(asset_w_orientation[0]) - else: - assert self.is_cold_pipe(asset_w_orientation[0]) + # TODO: this check can no longer be based on is_hot_pipe or is_cold_pipe, + # because the pipes might be drawn separately and then do not have the "related" + # attribute in esdl. + # if k == "In": + # assert self.is_hot_pipe(asset_w_orientation[0]) + # else: + # assert self.is_cold_pipe(asset_w_orientation[0]) buffer_connections[b].append(asset_w_orientation) @@ -336,10 +344,13 @@ def pre(self): assert asset_w_orientation[0] in pipes_set - if k == "Out": - assert self.is_cold_pipe(asset_w_orientation[0]) - else: - assert self.is_hot_pipe(asset_w_orientation[0]) + # TODO: this check can no longer be based on is_hot_pipe or is_cold_pipe, + # because the pipes might be drawn separately and then do not have the "related" + # attribute in esdl. + # if k == "Out": + # assert self.is_cold_pipe(asset_w_orientation[0]) + # else: + # assert self.is_hot_pipe(asset_w_orientation[0]) ates_connections[a].append(asset_w_orientation) @@ -505,3 +516,45 @@ def energy_system_topology(self) -> Topology: with directions on the ports that are needed in the constraints. """ return self.__topology + + @property + def hot_to_cold_pipe_map(self) -> Dict: + """ + This function return a dictionary of hot pipe names mapped to cold pipe names. + """ + return self.__hot_cold_pipe_relations + + @property + def cold_to_hot_pipe_map(self) -> Dict: + """ + This function return a dictionary of cold pipe names mapped to hot pipe names. + """ + return dict( + zip(self.__hot_cold_pipe_relations.values(), self.__hot_cold_pipe_relations.keys()) + ) + + def hot_cold_pipe_relations(self): + pipes = self.energy_system_components.get("heat_pipe", []) + for pipe in pipes: + related = False + # test if hot_pipe + if self.is_hot_pipe(pipe): + cold_pipe = self.hot_to_cold_pipe(pipe) + if cold_pipe in pipes: + related = True + if pipe not in self.__hot_cold_pipe_relations.keys(): + self.__hot_cold_pipe_relations[pipe] = cold_pipe + elif self.is_cold_pipe(pipe): + hot_pipe = self.cold_to_hot_pipe(pipe) + if hot_pipe in pipes: + related = True + if hot_pipe not in self.__hot_cold_pipe_relations.keys(): + self.__hot_cold_pipe_relations[hot_pipe] = pipe + if not related and pipe not in self.__unrelated_pipes: + self.__unrelated_pipes.append(pipe) + + @property + def unrelated_pipes(self) -> List[str]: + """This function return a list of pipe names of all the pipes that don't have a related + cold/hot pipe.""" + return self.__unrelated_pipes diff --git a/src/mesido/esdl/esdl_additional_vars_mixin.py b/src/mesido/esdl/esdl_additional_vars_mixin.py index 80993c253..bcb97d39f 100644 --- a/src/mesido/esdl/esdl_additional_vars_mixin.py +++ b/src/mesido/esdl/esdl_additional_vars_mixin.py @@ -103,9 +103,21 @@ def read(self): self._override_pipe_classes[connected_asset] = new_pcs if not self.is_hot_pipe(self.hot_to_cold_pipe(connected_asset)): - self._override_pipe_classes[self.hot_to_cold_pipe(connected_asset)] = ( - new_pcs - ) + if self.has_related_pipe(connected_asset): + self._override_pipe_classes[self.hot_to_cold_pipe(connected_asset)] = ( + new_pcs + ) + else: + # TODO: temporarily fix for pipes that don't have related attribute, + # but are connected to demands, to still limit the classes. To be + # fixed in Topology in separate PR. + alias = [ + x + for x in self.alias_relation.aliases(f"{asset}.HeatOut.Heat") + if not x.startswith(asset) and x.endswith(".Heat") + ][0] + connected_asset_2 = alias[: -len(".HeatIn.Heat")] + self._override_pipe_classes[connected_asset_2] = new_pcs # Here we do the same for sources as for the sources. for asset, ( @@ -154,9 +166,21 @@ def read(self): found_pc_large_enough = True self._override_pipe_classes[connected_asset] = new_pcs if not self.is_hot_pipe(self.hot_to_cold_pipe(connected_asset)): - self._override_pipe_classes[self.hot_to_cold_pipe(connected_asset)] = ( - new_pcs - ) + if self.has_related_pipe(connected_asset): + self._override_pipe_classes[self.hot_to_cold_pipe(connected_asset)] = ( + new_pcs + ) + else: + # TODO: temporarily fix for pipes that don't have related attribute, + # but are connected to demands, to still limit the classes. To be + # fixed in Topology in separate PR. + alias = [ + x + for x in self.alias_relation.aliases(f"{asset}.HeatIn.Heat") + if not x.startswith(asset) and x.endswith(".Heat") + ][0] + connected_asset_2 = alias[: -len(".HeatOut.Heat")] + self._override_pipe_classes[connected_asset_2] = new_pcs else: logger.warning("Limiting pipe classes do not cater for varying temperature yet") # ------------------------------------------------------------------------------------------ diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index 8a6156ff2..29a5ecc70 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -5,7 +5,7 @@ import xml.etree.ElementTree as ET # noqa: N817 from datetime import timedelta from pathlib import Path -from typing import Any, Dict, Optional +from typing import Any, Dict, List, Optional import esdl.esdl_handler @@ -153,6 +153,9 @@ def __init__(self, *args, **kwargs) -> None: self.name_to_esdl_id_map = dict() + self.__hot_cold_pipe_relations = dict() + self.__unrelated_pipes = list() + super().__init__(*args, **kwargs) @property @@ -499,7 +502,7 @@ def is_hot_pipe(self, pipe: str) -> bool: ------- Returns true if the pipe is in the supply network thus not ends with "_ret" """ - return True if pipe not in self.cold_pipes else False + return pipe in self.hot_to_cold_pipe_map.keys() def is_cold_pipe(self, pipe: str) -> bool: """ @@ -514,7 +517,7 @@ def is_cold_pipe(self, pipe: str) -> bool: ------- Returns true if the pipe is in the return network thus ends with "_ret" """ - return pipe.endswith("_ret") + return pipe in self.hot_to_cold_pipe_map.values() def hot_to_cold_pipe(self, pipe: str) -> str: """ @@ -530,7 +533,7 @@ def hot_to_cold_pipe(self, pipe: str) -> str: ------- string with the associated return pipe name. """ - return f"{pipe}_ret" + return self.hot_to_cold_pipe_map.get(pipe, None) def cold_to_hot_pipe(self, pipe: str) -> str: """ @@ -546,7 +549,70 @@ def cold_to_hot_pipe(self, pipe: str) -> str: ------- string with the associated hot pipe name. """ - return pipe[:-4] + return self.cold_to_hot_pipe_map.get(pipe, None) + + def hot_cold_pipe_relations(self): + # Backward compatability: ESDL version before v2110 don't have the related attribute + esdl_version = self.__energy_system_handler.energy_system.esdlVersion + if esdl_version is not None and esdl_version >= "v2110": + for asset in self._esdl_assets.values(): + if asset.asset_type == "Pipe": + related = False + related_asset = asset.attributes.get("related", False) + if related_asset: + assert ( + len(related_asset) == 1 + ), "Pipes can only have related supply/return pipe" + related = True + if asset.attributes["port"][0].carrier.supplyTemperature: # hot_pipe + if asset.name not in self.__hot_cold_pipe_relations.keys(): + self.__hot_cold_pipe_relations[asset.name] = related_asset[0].name + elif asset.attributes["port"][0].carrier.returnTemperature: # cold_pipe + if related_asset[0].name not in self.__hot_cold_pipe_relations.keys(): + self.__hot_cold_pipe_relations[related_asset[0].name] = asset.name + if not related and asset.name not in self.__unrelated_pipes: + self.__unrelated_pipes.append(asset.name) + else: + pipes = self.energy_system_components.get("heat_pipe", []) + for pipe in pipes: + related = False + # test if hot_pipe + if not pipe.endswith("_ret"): + cold_pipe = f"{pipe}_ret" + if cold_pipe in pipes: + related = True + if pipe not in self.__hot_cold_pipe_relations.keys(): + self.__hot_cold_pipe_relations[pipe] = cold_pipe + elif pipe.endswith("_ret"): + hot_pipe = pipe[:-4] + if hot_pipe in pipes: + related = True + if hot_pipe not in self.__hot_cold_pipe_relations.keys(): + self.__hot_cold_pipe_relations[hot_pipe] = pipe + if not related and pipe not in self.__unrelated_pipes: + self.__unrelated_pipes.append(pipe) + + @property + def hot_to_cold_pipe_map(self) -> Dict: + """ + This function return a dictionary of hot pipe names mapped to cold pipe names. + """ + return self.__hot_cold_pipe_relations + + @property + def cold_to_hot_pipe_map(self) -> Dict: + """ + This function return a dictionary of cold pipe names mapped to hot pipe names. + """ + return dict( + zip(self.__hot_cold_pipe_relations.values(), self.__hot_cold_pipe_relations.keys()) + ) + + @property + def unrelated_pipes(self) -> List[str]: + """This function return a list of pipe names of all the pipes that don't have a related + cold/hot pipe.""" + return self.__unrelated_pipes def pycml_model(self) -> _ESDLModelBase: """ @@ -572,6 +638,7 @@ def read(self) -> None: super().read() energy_system_components = self.energy_system_components esdl_carriers = self.esdl_carriers + self.hot_cold_pipe_relations() io = self.io self.__profile_reader.read_profiles( energy_system_components=energy_system_components, diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index c7839ccad..4c34ae39b 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -3701,12 +3701,6 @@ def path_constraints(self, ensemble_member): constraints.extend( self._hn_head_loss_class._demand_head_loss_path_constraints(self, ensemble_member) ) - - constraints.extend( - self._hn_head_loss_class._pipe_hydraulic_power_path_constraints( - self, self.__maximum_total_head_loss, ensemble_member - ) - ) constraints.extend(self.__flow_direction_path_constraints(ensemble_member)) constraints.extend(self.__node_heat_mixing_path_constraints(ensemble_member)) constraints.extend(self.__node_hydraulic_power_mixing_path_constraints(ensemble_member)) @@ -3728,9 +3722,24 @@ def path_constraints(self, ensemble_member): constraints.extend(self.__ates_heat_losses_path_constraints(ensemble_member)) constraints.extend(self.__ates_temperature_ordering_path_constraints(ensemble_member)) constraints.extend(self.__heat_pump_cop_path_constraints(ensemble_member)) - constraints.extend(self.__storage_hydraulic_power_path_constraints(ensemble_member)) constraints.extend(self.__ates_storage_yearly_change_path_constraints(ensemble_member)) - constraints.extend(self.__sink_hydraulic_power_path_constraints(ensemble_member)) + + if self.heat_network_settings["head_loss_option"] != HeadLossOption.NO_HEADLOSS: + constraints.extend( + self._hn_head_loss_class._pipe_hydraulic_power_path_constraints( + self, self.__maximum_total_head_loss, ensemble_member + ) + ) + constraints.extend(self.__sink_hydraulic_power_path_constraints(ensemble_member)) + constraints.extend(self.__storage_hydraulic_power_path_constraints(ensemble_member)) + else: + for asset_list in self.energy_system_components.values(): + for asset in asset_list: + try: + var = self.state(f"{asset}.Pump_power") + constraints.append((var, 0.0, 1.0e-4)) + except KeyError: + pass return constraints diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 21b41481f..333fffa4a 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -773,7 +773,7 @@ def run_end_scenario_sizing( from rtctools.optimization.timeseries import Timeseries for p in solution.energy_system_components.get("heat_pipe", []): - if p in solution.hot_pipes and parameters[f"{p}.area"] > 0.0: + if p not in solution.cold_pipes and parameters[f"{p}.area"] > 0.0: lb = [] ub = [] bounds_pipe = bounds[f"{p}__flow_direct_var"] diff --git a/tests/models/heat_exchange/input/timeseries_import.xml b/tests/models/heat_exchange/input/timeseries_import.xml index 336c2b869..51dbfffd9 100644 --- a/tests/models/heat_exchange/input/timeseries_import.xml +++ b/tests/models/heat_exchange/input/timeseries_import.xml @@ -9,55 +9,20 @@ 43e98a06-8db5-43a1-913b-e8e7f255fc3f - + -999.0 W - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + +
@@ -67,54 +32,19 @@ eb6769ba-4a7d-4e1a-8f89-0e1f60d86f32 - + -999.0 W
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + +
diff --git a/tests/models/insulation/model/Insulation.esdl b/tests/models/insulation/model/Insulation.esdl index bdd6dd367..5abc77025 100644 --- a/tests/models/insulation/model/Insulation.esdl +++ b/tests/models/insulation/model/Insulation.esdl @@ -44,7 +44,7 @@
- + @@ -74,7 +74,7 @@ - + @@ -341,7 +341,7 @@ - + @@ -366,7 +366,7 @@ - + diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_pipe_catalog.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog.esdl similarity index 65% rename from tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_pipe_catalog.esdl rename to tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog.esdl index 397a073db..81324742d 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_pipe_catalog.esdl +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog.esdl @@ -1,5 +1,5 @@ - + @@ -10,8 +10,8 @@ - - + + @@ -20,8 +20,8 @@ - - + + @@ -30,21 +30,21 @@ - - + + - + - - + + @@ -63,13 +63,13 @@ - + - - + + @@ -88,13 +88,13 @@ - + - - + + @@ -113,13 +113,13 @@ - + - - + + @@ -138,13 +138,13 @@ - + - - + + @@ -163,13 +163,13 @@ - + - - + + @@ -188,10 +188,10 @@ - + - - + + @@ -206,133 +206,116 @@ - - + + - - + + - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + @@ -345,13 +328,13 @@ - + - - + + @@ -370,13 +353,13 @@ - + - - + + @@ -395,122 +378,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl index 91cb4af03..93b723772 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl @@ -63,7 +63,7 @@ - + @@ -264,7 +264,7 @@ - + @@ -345,7 +345,7 @@ - + @@ -370,7 +370,7 @@ - + @@ -408,7 +408,7 @@ - + @@ -433,7 +433,7 @@ - + @@ -458,7 +458,7 @@ - + @@ -483,7 +483,7 @@ - + diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_not_placed.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_not_placed.esdl index ce9d617c8..02c8a0c03 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_not_placed.esdl +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional_not_placed.esdl @@ -345,7 +345,7 @@ - + @@ -370,7 +370,7 @@ - + @@ -408,7 +408,7 @@ - + @@ -433,7 +433,7 @@ - + @@ -458,7 +458,7 @@ - + @@ -483,7 +483,7 @@ - + diff --git a/tests/models/test_case_small_network_with_ates/model/test_case_small_network_with_ates.esdl b/tests/models/test_case_small_network_with_ates/model/test_case_small_network_with_ates.esdl index e6832c617..61db5b0fa 100644 --- a/tests/models/test_case_small_network_with_ates/model/test_case_small_network_with_ates.esdl +++ b/tests/models/test_case_small_network_with_ates/model/test_case_small_network_with_ates.esdl @@ -351,7 +351,7 @@ - + @@ -376,7 +376,7 @@ - + @@ -401,7 +401,7 @@ - + @@ -426,7 +426,7 @@ - + diff --git a/tests/models/unit_cases/case_3a/model/3a.esdl b/tests/models/unit_cases/case_3a/model/3a.esdl index d35366cbc..0cf389fe3 100644 --- a/tests/models/unit_cases/case_3a/model/3a.esdl +++ b/tests/models/unit_cases/case_3a/model/3a.esdl @@ -34,7 +34,7 @@ - + @@ -53,7 +53,7 @@ - + @@ -72,7 +72,7 @@ - + @@ -91,7 +91,7 @@ - + @@ -170,7 +170,7 @@
- + @@ -189,7 +189,7 @@ - + @@ -208,7 +208,7 @@ - + @@ -227,7 +227,7 @@ - + @@ -246,7 +246,7 @@ - + @@ -265,7 +265,7 @@ - + diff --git a/tests/models/unit_cases/case_3a/model/3a_esdl_source_scaled_profile.esdl b/tests/models/unit_cases/case_3a/model/3a_esdl_source_scaled_profile.esdl index 9f692e130..a968e1067 100644 --- a/tests/models/unit_cases/case_3a/model/3a_esdl_source_scaled_profile.esdl +++ b/tests/models/unit_cases/case_3a/model/3a_esdl_source_scaled_profile.esdl @@ -39,7 +39,7 @@ - + @@ -58,7 +58,7 @@ - + @@ -77,7 +77,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -175,7 +175,7 @@
- + @@ -194,7 +194,7 @@ - + @@ -213,7 +213,7 @@ - + @@ -232,7 +232,7 @@ - + @@ -251,7 +251,7 @@ - + @@ -270,7 +270,7 @@ - + diff --git a/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile.esdl b/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile.esdl index e307b1d7b..c147603e8 100644 --- a/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile.esdl +++ b/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile.esdl @@ -39,7 +39,7 @@ - + @@ -58,7 +58,7 @@ - + @@ -77,7 +77,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -175,7 +175,7 @@
- + @@ -194,7 +194,7 @@ - + @@ -213,7 +213,7 @@ - + @@ -232,7 +232,7 @@ - + @@ -251,7 +251,7 @@ - + @@ -270,7 +270,7 @@ - + diff --git a/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing.esdl b/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing.esdl index 14d25f4b6..8b7fb5d8c 100644 --- a/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing.esdl +++ b/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing.esdl @@ -39,7 +39,7 @@ - + @@ -58,7 +58,7 @@ - + @@ -77,7 +77,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -175,7 +175,7 @@
- + @@ -194,7 +194,7 @@ - + @@ -213,7 +213,7 @@ - + @@ -232,7 +232,7 @@ - + @@ -251,7 +251,7 @@ - + @@ -270,7 +270,7 @@ - + diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index ecc53feb2..ae33d8542 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -77,6 +77,12 @@ def test_end_scenario_sizing(self): # Pipe connected to a demand assert self.solution.pipe_classes("Pipe2")[0].name == "DN150" # initially DN->None assert self.solution.pipe_classes("Pipe2")[-1].name == "DN250" # initially DN450 + # Check that the available pipe classes are also limited for pipes in the return network + # that do not have the related attribute assigned and are therefore not in the set of + # self.cold_pipes. + assert len(self.solution.unrelated_pipes) >= 1.0 + assert self.solution.pipe_classes("Pipe2_ret")[0].name == "DN150" # initially DN->None + assert self.solution.pipe_classes("Pipe2_ret")[-1].name == "DN250" # initially DN450 # Check the minimum velocity setting==default value. Keep the default value hard-coded to # prevent future coding bugs np.testing.assert_equal(1.0e-4, self.solution.heat_network_settings["minimum_velocity"]) @@ -305,8 +311,14 @@ def test_end_scenario_sizing_head_loss(self): base_folder = Path(run_ates.__file__).resolve().parent.parent + class EndScenarioSizingHeadLossStagedNLines(EndScenarioSizingHeadLossStaged): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + self.heat_network_settings["n_linearization_lines"] = 3 + solution = run_end_scenario_sizing( - EndScenarioSizingHeadLossStaged, + EndScenarioSizingHeadLossStagedNLines, base_folder=base_folder, esdl_file_name="test_case_small_network_all_optional.esdl", esdl_parser=ESDLFileParser, @@ -319,7 +331,7 @@ def test_end_scenario_sizing_head_loss(self): demand_matching_test(solution, results) - tol = 1.0e-10 + tol = 1.0e-9 pipes = solution.energy_system_components.get("heat_pipe") for pipe in pipes: pipe_diameter = solution.parameters(0)[f"{pipe}.diameter"] @@ -363,8 +375,7 @@ def test_end_scenario_sizing_pipe_catalog(self): solution = run_end_scenario_sizing( EndScenarioSizing, base_folder=base_folder, - esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional_pipe_catalog" - ".esdl", + esdl_file_name="test_case_small_network_all_optional_pipe_catalog" ".esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", diff --git a/tests/test_pipe_diameter_sizing.py b/tests/test_pipe_diameter_sizing.py index 6a7de325a..47d004571 100644 --- a/tests/test_pipe_diameter_sizing.py +++ b/tests/test_pipe_diameter_sizing.py @@ -62,6 +62,7 @@ def test_half_network_gone(self): parameters = problem.parameters(0) diameters = {p: parameters[f"{p}.diameter"] for p in problem.hot_pipes} + assert len(problem.unrelated_pipes) == 0 results = problem.extract_results() # Check that half the network is removed, i.e. 4 pipes. Note that it diff --git a/tests/test_topo_constraints.py b/tests/test_topo_constraints.py index 03c5c9b9d..8c9df7038 100644 --- a/tests/test_topo_constraints.py +++ b/tests/test_topo_constraints.py @@ -6,6 +6,7 @@ from mesido._heat_loss_u_values_pipe import pipe_heat_loss from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.head_loss_class import HeadLossOption from mesido.pipe_class import PipeClass from mesido.techno_economic_mixin import TechnoEconomicMixin from mesido.util import run_esdl_mesido_optimization @@ -41,8 +42,15 @@ def setUpClass(cls) -> None: del root_folder sys.path.pop(1) + class PipeDiameterSizingNoHeadProblem(PipeDiameterSizingProblem): + def energy_system_options(self): + options = super().energy_system_options() + self.heat_network_settings["minimize_head_losses"] = False + self.heat_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS + return options + cls.problem = run_esdl_mesido_optimization( - PipeDiameterSizingProblem, + PipeDiameterSizingNoHeadProblem, base_folder=base_folder, esdl_file_name="2a.esdl", esdl_parser=ESDLFileParser, @@ -178,7 +186,7 @@ class ordering variables are there to help the optimizer in seeing the relation ) elif pc_heat_loss > chosen_pc_heat_loss: np.testing.assert_almost_equal( - discharge_ordering_var, + heat_loss_ordering_var, 1.0, err_msg=f"Expected the heat loss order var for {p} and {pc=} to be 1.0, " f"since {chosen_pc=} with lower heat losses", diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 11a3f1ec3..3ed1cb3ac 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -268,9 +268,19 @@ def test_updated_esdl(self): # Check pipe diameter if len(fnmatch.filter([energy_system.instance[0].area.asset[ii].id], "Pipe*")) == 1: if asset_name in ["Pipe1", "Pipe1_ret"]: - np.testing.assert_array_equal( - energy_system.instance[0].area.asset[ii].diameter.name, "DN250" - ) # original pipe DN400 being sized + pipe_size = energy_system.instance[0].area.asset[ + ii + ].diameter == esdl.PipeDiameterEnum.getEEnumLiteral( + "DN200" + ) or energy_system.instance[ + 0 + ].area.asset[ + ii + ].diameter == esdl.PipeDiameterEnum.getEEnumLiteral( + "DN250" + ) + np.testing.assert_array_equal(pipe_size, True) # original pipe DN400 being + # sized elif asset_name in ["Pipe4", "Pipe4_ret"]: np.testing.assert_array_equal( energy_system.instance[0].area.asset[ii].diameter.name, "DN200" diff --git a/tests/test_varying_temperature.py b/tests/test_varying_temperature.py index 2db1d2488..e341b6e27 100644 --- a/tests/test_varying_temperature.py +++ b/tests/test_varying_temperature.py @@ -256,7 +256,7 @@ def test_hex_temperature_variation(self): # Verify that also the integer is correctly set np.testing.assert_allclose(results[f"{33638164429859421}_69.0"], 0.0) np.testing.assert_allclose(results[f"{33638164429859421}_80.0"], 1.0) - np.testing.assert_allclose(results[f"{33638164429859421}_90.0"], 0.0) + np.testing.assert_allclose(results[f"{33638164429859421}_90.0"], 0.0, atol=1e-12) demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 094a8e73e..f1369282e 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -444,10 +444,10 @@ def energy_conservation_test(solution, results, atol=1e-3): f"{p}__is_disconnected" in results.keys() or f"{solution.cold_to_hot_pipe(p)}__is_disconnected" in results.keys() ): - if p in solution.hot_pipes: - p_discon = results[f"{p}__is_disconnected"].copy() - else: + if p in solution.cold_pipes: p_discon = results[f"{solution.cold_to_hot_pipe(p)}__is_disconnected"].copy() + else: + p_discon = results[f"{p}__is_disconnected"].copy() p_discon[p_discon < 0.5] = 0 # fix for discrete value sometimes being 0.003 or so. np.testing.assert_allclose( From 597c3b3b092a310b1cd0bef56aa1c4653176fec9 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Fri, 12 Dec 2025 11:36:21 +0100 Subject: [PATCH 321/376] Fix problem test case (#392) * updated problematic test case --- ...e_unscaled_profile_sizing_no_storage.esdl} | 109 +++++++----------- tests/models/unit_cases/case_3a/src/run_3a.py | 16 ++- tests/test_producer_profiles.py | 48 +++++--- 3 files changed, 84 insertions(+), 89 deletions(-) rename tests/models/unit_cases/case_3a/model/{3a_esdl_source_unscaled_profile_sizing.esdl => 3a_esdl_source_unscaled_profile_sizing_no_storage.esdl} (78%) diff --git a/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing.esdl b/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing_no_storage.esdl similarity index 78% rename from tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing.esdl rename to tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing_no_storage.esdl index 8b7fb5d8c..83bd50df1 100644 --- a/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing.esdl +++ b/tests/models/unit_cases/case_3a/model/3a_esdl_source_unscaled_profile_sizing_no_storage.esdl @@ -1,23 +1,7 @@ - + - - - - - - - - - - - - - - - - @@ -39,7 +23,7 @@ - + @@ -58,7 +42,7 @@ - + @@ -77,7 +61,7 @@ - + @@ -96,34 +80,15 @@ - - - - - - - - - - - - - - - - - - - - - + + - - + + @@ -175,7 +140,7 @@
- + @@ -194,7 +159,7 @@ - + @@ -213,26 +178,7 @@ - - - - - - - - - - - - - - - - - - - - + @@ -251,7 +197,7 @@ - + @@ -270,7 +216,7 @@ - + @@ -289,6 +235,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases/case_3a/src/run_3a.py b/tests/models/unit_cases/case_3a/src/run_3a.py index 0b84d44af..fe4d1026e 100644 --- a/tests/models/unit_cases/case_3a/src/run_3a.py +++ b/tests/models/unit_cases/case_3a/src/run_3a.py @@ -4,7 +4,6 @@ from mesido.physics_mixin import PhysicsMixin from mesido.qth_not_maintained.qth_mixin import QTHMixin from mesido.techno_economic_mixin import TechnoEconomicMixin -from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO import numpy as np @@ -286,7 +285,7 @@ def constraints(self, ensemble_member): return constraints -class HeatProblemESDLProdProfile( +class BeseProblemProdProfile( _GoalsAndOptions, TechnoEconomicMixin, LinearizedOrderGoalProgrammingMixin, @@ -317,16 +316,15 @@ def path_goals(self): goals.append(TargetDemandGoal(state, target)) - for s in self.energy_system_components["heat_source"]: - goals.append(MinimizeSourcesHeatGoal(s)) - return goals -class HeatProblemESDLProdProfileTCO(HeatProblemESDLProdProfile): - def goals(self): - goals = super().goals().copy() - goals.append(MinimizeTCO(priority=20, number_of_years=1)) +class HeatProblemESDLProdProfile(BeseProblemProdProfile): + def path_goals(self): + goals = super().path_goals().copy() + + for s in self.energy_system_components["heat_source"]: + goals.append(MinimizeSourcesHeatGoal(s)) return goals diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 2a0e59e59..62e44d9ab 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -4,6 +4,7 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.util import run_esdl_mesido_optimization +from mesido.workflows.goals.minimize_tco_goal import MinimizeTCO import numpy as np @@ -81,21 +82,34 @@ def test_max_producer_esdl_unscaled_profile(self): """ import models.unit_cases.case_3a.src.run_3a as run_3a - from models.unit_cases.case_3a.src.run_3a import ( - HeatProblemESDLProdProfile, - HeatProblemESDLProdProfileTCO, - ) + from models.unit_cases.case_3a.src.run_3a import BeseProblemProdProfile base_folder = Path(run_3a.__file__).resolve().parent.parent - for problem_class in [HeatProblemESDLProdProfile, HeatProblemESDLProdProfileTCO]: + class HeatProblemESDLProdProfileAdaptedTCO(BeseProblemProdProfile): + def read(self): + super().read() + set_producer = "HeatProducer_b702" + producer_timeseries = self.get_timeseries( + f"{set_producer}.maximum_heat_source" + ).values + producer_timeseries[0:5] = np.ones(5) * 500.0e3 + self.set_timeseries(f"{set_producer}.maximum_heat_source", producer_timeseries) + + def goals(self): + goals = super().goals().copy() + goals.append(MinimizeTCO(priority=20, number_of_years=1)) + + return goals + + for problem_class in [BeseProblemProdProfile, HeatProblemESDLProdProfileAdaptedTCO]: - if problem_class == HeatProblemESDLProdProfile: + if problem_class == BeseProblemProdProfile: # No sizing of the producer esdl_file_used = "3a_esdl_source_unscaled_profile.esdl" - elif problem_class == HeatProblemESDLProdProfileTCO: + elif problem_class == HeatProblemESDLProdProfileAdaptedTCO: # Sizing of the producer is included - esdl_file_used = "3a_esdl_source_unscaled_profile_sizing.esdl" + esdl_file_used = "3a_esdl_source_unscaled_profile_sizing_no_storage.esdl" solution = run_esdl_mesido_optimization( problem_class, @@ -107,11 +121,11 @@ def test_max_producer_esdl_unscaled_profile(self): demand_matching_test(solution, results) energy_conservation_test(solution, results) - heat_to_discharge_test(solution, results, atol=0.15) + heat_to_discharge_test(solution, results, atol=1.0) tol = 1e-4 heat_produced = results["HeatProducer_b702.Heat_source"] - if problem_class == HeatProblemESDLProdProfile: + if problem_class == BeseProblemProdProfile: heat_production_upper_limit = solution.get_timeseries( "HeatProducer_b702.maximum_heat_source" ).values @@ -128,7 +142,13 @@ def test_max_producer_esdl_unscaled_profile(self): np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-10) ), ) - elif problem_class == HeatProblemESDLProdProfileTCO: + np.testing.assert_array_less( + np.sum( + np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-10) + ), + 20, + ) # checking that the upper production limit was not achieved for all entries + elif problem_class == HeatProblemESDLProdProfileAdaptedTCO: heat_production_upper_limit = ( solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values / max(solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values) @@ -140,12 +160,14 @@ def test_max_producer_esdl_unscaled_profile(self): atol=1e-9, ) np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) - np.testing.assert_array_less( - 6.9, + np.testing.assert_allclose( + len(heat_produced) - 5, np.sum( np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-9) ), ) + else: + exit("Problem class not catered for in this test case") @pytest.mark.slow_1 @pytest.mark.timeout(150) # overrides the default timelimt of the pytest command From fce197fdfdb5f8fc3396e77cd99eff108cb8651f Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 18 Dec 2025 08:48:30 +0100 Subject: [PATCH 322/376] Clean up generalize code (#352) Clean up of code, with the biggest changes being: Removed code duplication for updating pipe_classes Generating base class for start of optimization problem. Removed code duplication by improving the inheritance structure of assets. --- CHANGELOG.md | 1 + .../model/PoC Tutorial Discount5.esdl | 4 +- examples/pipe_diameter_sizing/src/example.py | 11 +- src/mesido/base_problem_mixin.py | 28 +++ src/mesido/component_type_mixin.py | 173 ++++++------- src/mesido/electricity_physics_mixin.py | 32 +-- src/mesido/esdl/esdl_additional_vars_mixin.py | 114 ++++----- src/mesido/esdl/esdl_mixin.py | 234 ++++-------------- src/mesido/esdl/esdl_model_base.py | 195 ++++++--------- src/mesido/gas_physics_mixin.py | 32 +-- src/mesido/heat_physics_mixin.py | 34 +-- src/mesido/physics_mixin.py | 27 -- .../milp/heat/_ates_base_asset.py | 93 +++++++ .../milp/heat/_non_storage_component.py | 23 -- .../heat/_non_storage_component_sink_type.py | 24 ++ .../_non_storage_component_source_type.py | 37 +++ .../milp/heat/_storage_component.py | 64 +++++ .../component_library/milp/heat/airco.py | 14 +- .../pycml/component_library/milp/heat/ates.py | 117 +-------- .../milp/heat/check_valve.py | 9 +- .../milp/heat/cold_demand.py | 6 +- .../milp/heat/control_valve.py | 4 - .../milp/heat/heat_buffer.py | 60 +---- .../milp/heat/heat_demand.py | 6 +- .../milp/heat/heat_exchanger.py | 36 --- .../milp/heat/heat_four_port.py | 41 ++- .../component_library/milp/heat/heat_pipe.py | 2 - .../component_library/milp/heat/heat_pump.py | 37 +-- .../milp/heat/heat_source.py | 14 +- .../milp/heat/heat_two_port.py | 21 ++ .../milp/heat/low_temperature_ates.py | 94 +------ .../pycml/component_library/milp/heat/pump.py | 17 +- src/mesido/pycml/pycml_mixin.py | 4 + src/mesido/workflows/rollout_workflow.py | 2 +- .../case_3a/input/timeseries_import.xml | 162 ++++-------- tests/models/unit_cases/case_3a/src/run_3a.py | 2 +- tests/test_head_loss.py | 5 + tests/test_multicommodity.py | 6 +- tests/test_pipe_diameter_sizing.py | 2 +- tests/test_roll_out.py | 2 +- tests/test_setpoint_constraints.py | 4 +- tests/test_temperature_ates_hp.py | 2 +- tests/test_updated_esdl_post_process.py | 8 +- tests/test_varying_temperature.py | 4 +- tests/utils_tests.py | 9 +- 45 files changed, 674 insertions(+), 1142 deletions(-) create mode 100644 src/mesido/base_problem_mixin.py create mode 100644 src/mesido/pycml/component_library/milp/heat/_ates_base_asset.py create mode 100644 src/mesido/pycml/component_library/milp/heat/_non_storage_component_sink_type.py create mode 100644 src/mesido/pycml/component_library/milp/heat/_non_storage_component_source_type.py create mode 100644 src/mesido/pycml/component_library/milp/heat/_storage_component.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 35dc9a0a8..68d5063c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ ## Changed +- Clean up of old code and removing duplicates. - Minimize TCO objective in the grow_workflow is now only based on capex and opex that can be influenced. - Removed the requirement of "_ret" for the return network pipes, for ESDLversion 21.10 and later. The relation between supply and return pipes is now based on the "related" attribute in the esdl. diff --git a/examples/PoCTutorial/model/PoC Tutorial Discount5.esdl b/examples/PoCTutorial/model/PoC Tutorial Discount5.esdl index 2b116550d..f360ba67e 100644 --- a/examples/PoCTutorial/model/PoC Tutorial Discount5.esdl +++ b/examples/PoCTutorial/model/PoC Tutorial Discount5.esdl @@ -250,7 +250,7 @@ - + @@ -275,7 +275,7 @@ - + diff --git a/examples/pipe_diameter_sizing/src/example.py b/examples/pipe_diameter_sizing/src/example.py index 92424cddd..a97b9f965 100644 --- a/examples/pipe_diameter_sizing/src/example.py +++ b/examples/pipe_diameter_sizing/src/example.py @@ -84,14 +84,15 @@ def energy_system_options(self): return options def pipe_classes(self, pipe): - # Do not delete pipeclass DN40, locally it runs with DN40, but in pipeline it seems + # Do not delete pipeclass DN40, DN50, DN65, DN600. Locally it runs with with these + # options included however in pipeline it seems # that scaling is a bit too much off resulting in infeasibility probably because of - # machine accuracy. If scaling can be improved DN40 can be included again. + # machine accuracy. If scaling can be improved these options can be included again. return [ PipeClass("None", 0.0, 0.0, (0.0, 0.0), 0.0), # PipeClass("DN40", 0.0431, 1.5, (0.179091, 0.005049), 1.0), - PipeClass("DN50", 0.0545, 1.7, (0.201377, 0.006086), 2.0), - PipeClass("DN65", 0.0703, 1.9, (0.227114, 0.007300), 3.0), + # PipeClass("DN50", 0.0545, 1.7, (0.201377, 0.006086), 2.0), + # PipeClass("DN65", 0.0703, 1.9, (0.227114, 0.007300), 3.0), PipeClass("DN80", 0.0825, 2.2, (0.238244, 0.007611), 4.0), PipeClass("DN100", 0.1071, 2.4, (0.247804, 0.007386), 5.0), PipeClass("DN125", 0.1325, 2.6, (0.287779, 0.009431), 6.0), @@ -103,7 +104,7 @@ def pipe_classes(self, pipe): PipeClass("DN400", 0.3938, 3.0, (0.381603, 0.009349), 12.0), PipeClass("DN450", 0.4444, 3.0, (0.380070, 0.008506), 13.0), PipeClass("DN500", 0.4954, 3.0, (0.369282, 0.007349), 14.0), - PipeClass("DN600", 0.5954, 3.0, (0.431023, 0.009155), 15.0), + # PipeClass("DN600", 0.5954, 3.0, (0.431023, 0.009155), 15.0), ] def path_goals(self): diff --git a/src/mesido/base_problem_mixin.py b/src/mesido/base_problem_mixin.py new file mode 100644 index 000000000..e0b816dd2 --- /dev/null +++ b/src/mesido/base_problem_mixin.py @@ -0,0 +1,28 @@ +class BaseProblemMixin: + + def goal_programming_options(self): + """ + Here we set the goal programming configuration. We use soft constraints for consecutive + goals. + """ + options = super().goal_programming_options() + options["keep_soft_constraints"] = True + return options + + def solver_options(self): + """ + Here we define the solver options. By default we use the open-source solver cbc and casadi + solver qpsol. + """ + options = super().solver_options() + options["casadi_solver"] = "qpsol" + options["solver"] = "highs" + return options + + def compiler_options(self): + """ + In this function we set the compiler configuration. + """ + options = super().compiler_options() + options["resolve_parameter_values"] = True + return options diff --git a/src/mesido/component_type_mixin.py b/src/mesido/component_type_mixin.py index ca12861a7..dd967e69d 100644 --- a/src/mesido/component_type_mixin.py +++ b/src/mesido/component_type_mixin.py @@ -1,5 +1,5 @@ import logging -from typing import Dict, List, Set +from typing import Dict, List, Set, Tuple from mesido.base_component_type_mixin import BaseComponentTypeMixin from mesido.heat_network_common import NodeConnectionDirection @@ -110,6 +110,24 @@ def pre(self): node_to_node_logical_link_map = {} + def __get_aliases_asset(asset: str, asset_conn: str) -> List[str]: + """ + Extracts a list of aliases for a specific variable. + + Args: + asset: asset name + asset_conn: asset variable string including port excluding property + + Returns: + List of aliases for a port property connection + """ + aliases = [ + x + for x in self.alias_relation.aliases(f"{asset_conn}.{prop}") + if not x.startswith(asset) and x.endswith(f".{prop}") + ] + return aliases + for n in [*nodes, *busses, *gas_nodes]: n_connections = [ens_params[f"{n}.n"] for ens_params in parameters] @@ -166,11 +184,7 @@ def pre(self): in_suffix_h = ".GasIn.H" out_suffix_h = ".GasOut.H" node_suffix = ".GasConn[1].Q" - aliases = [ - x - for x in self.alias_relation.aliases(f"{cur_port}.{prop}") - if not x.startswith(n) and x.endswith(f".{prop}") - ] + aliases = __get_aliases_asset(n, cur_port) if len(aliases) == 0: raise Exception(f"Found no connection to {cur_port}") @@ -256,6 +270,52 @@ def pre(self): raise Exception(f"Pipes in series {ps} do not all have the same orientation") pipe_series.append([name for name, _ in ps]) + def __get_asset_orientation(in_suffix: str, out_suffix: str) -> Tuple[str, str]: + """ + Extracts the orientation for the connecting pipes to the asset. + Args: + in_suffix: string consisting of inport and property variable name + out_suffix: string consisting of outport and property variable name + + Returns: + """ + if aliases[0].endswith(out_suffix): + asset_w_orientation = ( + aliases[0][: -len(out_suffix)], + NodeConnectionDirection.IN, + ) + else: + asset_w_orientation = ( + aliases[0][: -len(in_suffix)], + NodeConnectionDirection.OUT, + ) + return asset_w_orientation + + def __get_asset_orientation_heat_storages() -> Tuple[str, str]: + """ + Extracts the orientation of heat storage assets. + """ + in_suffix = ".QTHIn.T" if heat_network_model_type == "QTH" else ".HeatIn.Heat" + out_suffix = ".QTHOut.T" if heat_network_model_type == "QTH" else ".HeatOut.Heat" + return __get_asset_orientation(in_suffix, out_suffix) + + def __get_asset_orientation_source_sink() -> Tuple[str, str]: + """ + Extracts the orientation of source and sink (demand) assets. + """ + in_suffix = f".{network_type}In.{prop}" + out_suffix = f".{network_type}Out.{prop}" + return __get_asset_orientation(in_suffix, out_suffix) + + def __get_aliases_asset_non_node(asset: str, asset_conn: str) -> List[str]: + """ + The aliases of non node assets + """ + aliases = __get_aliases_asset(asset, asset_conn) + if len(aliases) > 1: + raise Exception(f"More than one connection to {asset_conn}") + return aliases + buffer_connections = {} for b in buffers: @@ -266,31 +326,10 @@ def pre(self): prop = ( "T" if heat_network_model_type == "QTH" else NetworkSettings.NETWORK_TYPE_HEAT ) - aliases = [ - x - for x in self.alias_relation.aliases(f"{b_conn}.{prop}") - if not x.startswith(b) and x.endswith(f".{prop}") - ] - - if len(aliases) > 1: - raise Exception(f"More than one connection to {b_conn}") - elif len(aliases) == 0: + aliases = __get_aliases_asset_non_node(b, b_conn) + if len(aliases) == 0: raise Exception(f"Found no connection to {b_conn}") - - in_suffix = ".QTHIn.T" if heat_network_model_type == "QTH" else ".HeatIn.Heat" - out_suffix = ".QTHOut.T" if heat_network_model_type == "QTH" else ".HeatOut.Heat" - alias = aliases[0] - if alias.endswith(out_suffix): - asset_w_orientation = ( - alias[: -len(out_suffix)], - NodeConnectionDirection.IN, - ) - else: - assert alias.endswith(in_suffix) - asset_w_orientation = ( - alias[: -len(in_suffix)], - NodeConnectionDirection.OUT, - ) + asset_w_orientation = __get_asset_orientation_heat_storages() assert asset_w_orientation[0] in pipes_set @@ -316,31 +355,11 @@ def pre(self): prop = ( "T" if heat_network_model_type == "QTH" else NetworkSettings.NETWORK_TYPE_HEAT ) - aliases = [ - x - for x in self.alias_relation.aliases(f"{a_conn}.{prop}") - if not x.startswith(a) and x.endswith(f".{prop}") - ] - - if len(aliases) > 1: - raise Exception(f"More than one connection to {a_conn}") - elif len(aliases) == 0: + aliases = __get_aliases_asset_non_node(a, a_conn) + if len(aliases) == 0: raise Exception(f"Found no connection to {a_conn}") - in_suffix = ".QTHIn.T" if heat_network_model_type == "QTH" else ".HeatIn.Heat" - out_suffix = ".QTHOut.T" if heat_network_model_type == "QTH" else ".HeatOut.Heat" - - if aliases[0].endswith(out_suffix): - asset_w_orientation = ( - aliases[0][: -len(out_suffix)], - NodeConnectionDirection.IN, - ) - else: - assert aliases[0].endswith(in_suffix) - asset_w_orientation = ( - aliases[0][: -len(in_suffix)], - NodeConnectionDirection.OUT, - ) + asset_w_orientation = __get_asset_orientation_heat_storages() assert asset_w_orientation[0] in pipes_set @@ -371,31 +390,13 @@ def pre(self): else: logger.error(f"{a} cannot be modelled with heat, gas or electricity") a_conn = f"{a}.{network_type}In" - aliases = [ - x - for x in self.alias_relation.aliases(f"{a_conn}.{prop}") - if not x.startswith(a) and x.endswith(f".{prop}") - ] - if len(aliases) > 1: - raise Exception(f"More than one connection to {a_conn}") - elif len(aliases) == 0: + aliases = __get_aliases_asset_non_node(a, a_conn) + if len(aliases) == 0: # the connection was a logical link to a node continue - in_suffix = f".{network_type}In.{prop}" - out_suffix = f".{network_type}Out.{prop}" - - if aliases[0].endswith(out_suffix): - asset_w_orientation = ( - aliases[0][: -len(out_suffix)], - NodeConnectionDirection.IN, - ) - else: - asset_w_orientation = ( - aliases[0][: -len(in_suffix)], - NodeConnectionDirection.OUT, - ) + asset_w_orientation = __get_asset_orientation_source_sink() if asset_w_orientation[0] in [ *components.get("heat_pipe", []), @@ -419,31 +420,13 @@ def pre(self): else: logger.error(f"{a} cannot be modelled with heat, gas or electricity") a_conn = f"{a}.{network_type}Out" - aliases = [ - x - for x in self.alias_relation.aliases(f"{a_conn}.{prop}") - if not x.startswith(a) and x.endswith(f".{prop}") - ] - if len(aliases) > 1: - raise Exception(f"More than one connection to {a_conn}") - elif len(aliases) == 0: + aliases = __get_aliases_asset_non_node(a, a_conn) + if len(aliases) == 0: # the connection was a logical link to a node continue - in_suffix = f".{network_type}In.{prop}" - out_suffix = f".{network_type}Out.{prop}" - - if aliases[0].endswith(out_suffix): - asset_w_orientation = ( - aliases[0][: -len(out_suffix)], - NodeConnectionDirection.IN, - ) - else: - asset_w_orientation = ( - aliases[0][: -len(in_suffix)], - NodeConnectionDirection.OUT, - ) + asset_w_orientation = __get_asset_orientation_source_sink() if asset_w_orientation[0] in [ *components.get("heat_pipe", []), diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index f6e8f6227..7c29610dd 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -7,6 +7,7 @@ import casadi as ca from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.base_problem_mixin import BaseProblemMixin import numpy as np @@ -41,7 +42,9 @@ class ElectrolyzerOption(IntEnum): LINEARIZED_THREE_LINES_EQUALITY = 3 -class ElectricityPhysicsMixin(BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem): +class ElectricityPhysicsMixin( + BaseProblemMixin, BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem +): """ This class is used to model the physics of an electricity network with its assets. We model the different components with variety of linearization strategies. @@ -937,30 +940,3 @@ def constraints(self, ensemble_member): constraints.extend(self.__electricity_producer_set_point_constraints(ensemble_member)) return constraints - - def goal_programming_options(self): - """ - Here we set the goal programming configuration. We use soft constraints for consecutive - goals. - """ - options = super().goal_programming_options() - options["keep_soft_constraints"] = True - return options - - def solver_options(self): - """ - Here we define the solver options. By default we use the open-source solver cbc and casadi - solver qpsol. - """ - options = super().solver_options() - options["casadi_solver"] = "qpsol" - options["solver"] = "highs" - return options - - def compiler_options(self): - """ - In this function we set the compiler configuration. - """ - options = super().compiler_options() - options["resolve_parameter_values"] = True - return options diff --git a/src/mesido/esdl/esdl_additional_vars_mixin.py b/src/mesido/esdl/esdl_additional_vars_mixin.py index bcb97d39f..926d43d8f 100644 --- a/src/mesido/esdl/esdl_additional_vars_mixin.py +++ b/src/mesido/esdl/esdl_additional_vars_mixin.py @@ -29,10 +29,53 @@ def read(self): # ------------------------------------------------------------------------------------------ # Limit available pipe classes # TODO: cater for varying temperature when limiting pipe classes below - # Here we do a check between the available pipe classes and the demand profiles. This is to - # ensure that we don't have unneeded large amount of available pipe classes for pipes - # connected to smaller demands. + # Here we do a check between the available pipe classes and the connected assets. For + # demands this refers to the demand profiles and for producers to their maximum capacity. + # This is to ensure that we don't have unneeded large amount of available pipe classes + # for pipes connected to smaller demands and producers. # TODO: add the same for electricity ones we have proper support for that in the ESDLMixin + + def __limit_list_available_heat_pipe_classes_max_power( + max_power: float, demand: bool + ) -> None: + """ + Limits the available heat pipe classes for optimization based on the maximum power + that can be connected. + """ + new_pcs = [] + found_pc_large_enough = False + for pc in self.pipe_classes(connected_asset): + if not found_pc_large_enough: + new_pcs.append(pc) + if ( + new_pcs[-1].maximum_discharge + * parameters[f"{asset}.cp"] + * parameters[f"{asset}.rho"] + * (parameters[f"{asset}.T_supply"] - parameters[f"{asset}.T_return"]) + ) >= max_power: + found_pc_large_enough = True + self.remove_dn0(new_pcs, is_there_always_mass_flow) + self._override_pipe_classes[connected_asset] = new_pcs + + if not self.is_hot_pipe(self.hot_to_cold_pipe(connected_asset)): + if self.has_related_pipe(connected_asset): + self._override_pipe_classes[self.hot_to_cold_pipe(connected_asset)] = new_pcs + else: + # TODO: temporarily fix for pipes that don't have related attribute, + # but are connected to demands, to still limit the classes. To be + # fixed in Topology in separate PR. + if demand: + port_1, port_2 = "Out", "In" + else: + port_1, port_2 = "In", "Out" + alias = [ + x + for x in self.alias_relation.aliases(f"{asset}.Heat{port_1}.Heat") + if not x.startswith(asset) and x.endswith(".Heat") + ][0] + connected_asset_2 = alias[: -len(f".Heat{port_2}.Heat")] + self._override_pipe_classes[connected_asset_2] = new_pcs + if len(self.temperature_carriers().items()) == 0: for asset, ( connected_asset, @@ -86,38 +129,7 @@ def read(self): max_demand *= 1.3 # 30% added for expected worst case heat losses - new_pcs = [] - found_pc_large_enough = False - for pc in self.pipe_classes(connected_asset): - if not found_pc_large_enough: - new_pcs.append(pc) - if ( - new_pcs[-1].maximum_discharge - * parameters[f"{asset}.cp"] - * parameters[f"{asset}.rho"] - * (parameters[f"{asset}.T_supply"] - parameters[f"{asset}.T_return"]) - ) >= max_demand: - found_pc_large_enough = True - - self.remove_dn0(new_pcs, is_there_always_mass_flow) - self._override_pipe_classes[connected_asset] = new_pcs - - if not self.is_hot_pipe(self.hot_to_cold_pipe(connected_asset)): - if self.has_related_pipe(connected_asset): - self._override_pipe_classes[self.hot_to_cold_pipe(connected_asset)] = ( - new_pcs - ) - else: - # TODO: temporarily fix for pipes that don't have related attribute, - # but are connected to demands, to still limit the classes. To be - # fixed in Topology in separate PR. - alias = [ - x - for x in self.alias_relation.aliases(f"{asset}.HeatOut.Heat") - if not x.startswith(asset) and x.endswith(".Heat") - ][0] - connected_asset_2 = alias[: -len(".HeatIn.Heat")] - self._override_pipe_classes[connected_asset_2] = new_pcs + __limit_list_available_heat_pipe_classes_max_power(max_demand, demand=True) # Here we do the same for sources as for the sources. for asset, ( @@ -152,35 +164,9 @@ def read(self): ) except KeyError: max_prod = bounds[f"{asset}.Heat_source"][1] - new_pcs = [] - found_pc_large_enough = False - for pc in self.pipe_classes(connected_asset): - if not found_pc_large_enough: - new_pcs.append(pc) - if ( - new_pcs[-1].maximum_discharge - * parameters[f"{asset}.cp"] - * parameters[f"{asset}.rho"] - * (parameters[f"{asset}.T_supply"] - parameters[f"{asset}.T_return"]) - ) >= max_prod: - found_pc_large_enough = True - self._override_pipe_classes[connected_asset] = new_pcs - if not self.is_hot_pipe(self.hot_to_cold_pipe(connected_asset)): - if self.has_related_pipe(connected_asset): - self._override_pipe_classes[self.hot_to_cold_pipe(connected_asset)] = ( - new_pcs - ) - else: - # TODO: temporarily fix for pipes that don't have related attribute, - # but are connected to demands, to still limit the classes. To be - # fixed in Topology in separate PR. - alias = [ - x - for x in self.alias_relation.aliases(f"{asset}.HeatIn.Heat") - if not x.startswith(asset) and x.endswith(".Heat") - ][0] - connected_asset_2 = alias[: -len(".HeatOut.Heat")] - self._override_pipe_classes[connected_asset_2] = new_pcs + is_there_always_mass_flow = False + __limit_list_available_heat_pipe_classes_max_power(max_prod, demand=False) + else: logger.warning("Limiting pipe classes do not cater for varying temperature yet") # ------------------------------------------------------------------------------------------ diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index 29a5ecc70..8e6a2ceb0 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -2,7 +2,6 @@ import copy import dataclasses import logging -import xml.etree.ElementTree as ET # noqa: N817 from datetime import timedelta from pathlib import Path from typing import Any, Dict, List, Optional @@ -184,6 +183,48 @@ def pre(self) -> None: ) self.name_to_esdl_id_map[esdl_asset.name] = esdl_id + def __override_pipe_classes_dicts( + self, + asset: Asset, + pipe_classes: List[EDRPipeClass], + no_pipe_class: PipeClass, + override_classes: dict, + ) -> None: + """ + Overrides the pipe class dictionaries based on the minimum pipe sizes that are required. + """ + + p = asset.name + + if asset.attributes["state"].name == "OPTIONAL": + c = override_classes[p] = [] + c.append(no_pipe_class) + + min_size = self.__minimum_pipe_size_name + min_size_idx = [idx for idx, pipe in enumerate(pipe_classes) if pipe.name == min_size] + assert len(min_size_idx) == 1 + min_size_idx = min_size_idx[0] + + max_size = asset.attributes["diameter"].name + + max_size_idx = [idx for idx, pipe in enumerate(pipe_classes) if pipe.name == max_size] + assert len(max_size_idx) == 1 + max_size_idx = max_size_idx[0] + + if max_size_idx < min_size_idx: + logger.warning( + f"{p} has an upper DN size smaller than the used minimum size " + f"of {self.__minimum_pipe_size_name}, choose at least " + f"{self.__minimum_pipe_size_name}" + ) + elif min_size_idx == max_size_idx: + c.append(pipe_classes[min_size_idx]) + else: + c.extend(pipe_classes[min_size_idx : max_size_idx + 1]) + elif asset.attributes["state"].name == "DISABLED": + c = override_classes[p] = [] + c.append(no_pipe_class) + def override_pipe_classes(self) -> None: """ In this method we populate the _override_pipe_classes dict, which gives a list of possible @@ -203,6 +244,9 @@ def override_pipe_classes(self) -> None: EDRPipeClass.from_edr_class(name, edr_class_name, maximum_velocity) for name, edr_class_name in _AssetToComponentBase.STEEL_S1_PIPE_EDR_ASSETS.items() ] + + override_classes = self._override_pipe_classes + # Update the pipe costs if a template model in the ESDL was used. This is updated only if # the pipe catalog is available as a template if self._esdl_templates: @@ -233,40 +277,9 @@ def override_pipe_classes(self) -> None: if asset.asset_type == "Pipe" and isinstance( asset.in_ports[0].carrier, esdl.HeatCommodity ): - p = asset.name - - if asset.attributes["state"].name == "OPTIONAL": - c = self._override_pipe_classes[p] = [] - c.append(no_pipe_class) - - min_size = self.__minimum_pipe_size_name - min_size_idx = [ - idx for idx, pipe in enumerate(pipe_classes) if pipe.name == min_size - ] - assert len(min_size_idx) == 1 - min_size_idx = min_size_idx[0] - - max_size = asset.attributes["diameter"].name - - max_size_idx = [ - idx for idx, pipe in enumerate(pipe_classes) if pipe.name == max_size - ] - assert len(max_size_idx) == 1 - max_size_idx = max_size_idx[0] - - if max_size_idx < min_size_idx: - logger.warning( - f"{p} has an upper DN size smaller than the used minimum size " - f"of {self.__minimum_pipe_size_name}, choose at least " - f"{self.__minimum_pipe_size_name}" - ) - elif min_size_idx == max_size_idx: - c.append(pipe_classes[min_size_idx]) - else: - c.extend(pipe_classes[min_size_idx : max_size_idx + 1]) - elif asset.attributes["state"].name == "DISABLED": - c = self._override_pipe_classes[p] = [] - c.append(no_pipe_class) + self.__override_pipe_classes_dicts( + asset, pipe_classes, no_pipe_class, override_classes + ) def override_gas_pipe_classes(self) -> None: """ @@ -291,44 +304,15 @@ def override_gas_pipe_classes(self) -> None: # We assert the pipe classes are monotonically increasing in size assert np.all(np.diff([pc.inner_diameter for pc in pipe_classes]) > 0) + override_classes = self._override_gas_pipe_classes + for asset in self.esdl_assets.values(): if asset.asset_type == "Pipe" and isinstance( asset.in_ports[0].carrier, esdl.GasCommodity ): - p = asset.name - - if asset.attributes["state"].name == "OPTIONAL": - c = self._override_gas_pipe_classes[p] = [] - c.append(no_pipe_class) - - min_size = self.__minimum_pipe_size_name - min_size_idx = [ - idx for idx, pipe in enumerate(pipe_classes) if pipe.name == min_size - ] - assert len(min_size_idx) == 1 - min_size_idx = min_size_idx[0] - - max_size = asset.attributes["diameter"].name - - max_size_idx = [ - idx for idx, pipe in enumerate(pipe_classes) if pipe.name == max_size - ] - assert len(max_size_idx) == 1 - max_size_idx = max_size_idx[0] - - if max_size_idx < min_size_idx: - logger.warning( - f"{p} has an upper DN size smaller than the used minimum size " - f"of {self.__minimum_pipe_size_name}, choose at least " - f"{self.__minimum_pipe_size_name}" - ) - elif min_size_idx == max_size_idx: - c.append(pipe_classes[min_size_idx]) - else: - c.extend(pipe_classes[min_size_idx : max_size_idx + 1]) - elif asset.attributes["state"].name == "DISABLED": - c = self._override_gas_pipe_classes[p] = [] - c.append(no_pipe_class) + self.__override_pipe_classes_dicts( + asset, pipe_classes, no_pipe_class, override_classes + ) @property def esdl_assets(self) -> Dict[str, Asset]: @@ -760,115 +744,3 @@ def filter_asset_templates( filtered_assets[asset_id] = asset return filtered_assets - - -class _ESDLInputDataConfig: - """ - This class is used to specify naming standard for input data, specifically for demand and - production profiles. - """ - - def __init__(self, id_map: Dict, energy_system_components: Dict) -> None: - # TODO: change naming source and demand to heat_source and heat_demand throughout code - self.__id_map = id_map - self._sources = set(energy_system_components.get("heat_source", [])) - self._demands = set(energy_system_components.get("heat_demand", [])) - self._electricity_sources = set(energy_system_components.get("electricity_source", [])) - self._electricity_demands = set(energy_system_components.get("electricity_demand", [])) - self._gas_sources = set(energy_system_components.get("gas_source", [])) - self._gas_demands = set(energy_system_components.get("gas_demand", [])) - - def variable(self, pi_header: Any) -> str: - """ - Old function not maintained anymore from WarmingUp times. The input xml file would specify - the id of the asset for which a time-series was given. This function would return the name - we use in our framework for that same variable. - - Parameters - ---------- - pi_header : the xml header element in which the id of the asset is specified - - Returns - ------- - string with the name of the timeseries name. - """ - location_id = pi_header.find("pi:locationId", ns).text - - try: - component_name = self.__id_map[location_id] - except KeyError: - parameter_id = pi_header.find("pi:parameterId", ns).text - qualifiers = pi_header.findall("pi:qualifierId", ns) - qualifier_ids = ":".join(q.text for q in qualifiers) - return f"{location_id}:{parameter_id}:{qualifier_ids}" - - if component_name in self._demands: - suffix = ".target_heat_demand" - elif component_name in self._sources: - suffix = ".maximum_heat_source" - elif component_name in self._electricity_demands: - suffix = ".target_electricity_demand" - elif component_name in self._electricity_sources: - suffix = ".maximum_electricity_source" - elif component_name in self._gas_demands: - suffix = ".target_gas_demand" - elif component_name in self._gas_sources: - suffix = ".maximum_gas_source" - else: - logger.warning( - f"Could not identify '{component_name}' as either source or demand. " - f"Using neutral suffix '.target_heat' for its milp timeseries." - ) - suffix = ".target_heat" - - # Note that the qualifier id (if any specified) refers to the profile - # element of the respective ESDL asset->in_port. For now we just - # assume that only milp demand timeseries are set in the XML file. - return f"{component_name}{suffix}" - - def pi_variable_ids(self, variable): - raise NotImplementedError - - def parameter(self, parameter_id, location_id=None, model_id=None): - raise NotImplementedError - - def pi_parameter_ids(self, parameter): - raise NotImplementedError - - -class _ESDLOutputDataConfig: - def __init__(self, id_map): - self.__id_map = id_map - - def variable(self, pi_header): - location_id = pi_header.find("pi:locationId", ns).text - parameter_id = pi_header.find("pi:parameterId", ns).text - - component_name = self.__id_map[location_id] - - return f"{component_name}.{parameter_id}" - - def pi_variable_ids(self, variable): - raise NotImplementedError - - def parameter(self, parameter_id, location_id=None, model_id=None): - raise NotImplementedError - - def pi_parameter_ids(self, parameter): - raise NotImplementedError - - -def _overwrite_parameters(parameters_file, assets): - paramroot = ET.parse(parameters_file).getroot() - groups = paramroot.findall("pi:group", ns) - - for parameter in groups: - id_ = parameter.attrib["id"] - param_name = parameter[0].attrib["id"] - param_value = parameter[0][0].text - - asset = assets[id_] - type_ = type(asset.attributes[param_name]) - asset.attributes[param_name] = type_(param_value) - - return assets diff --git a/src/mesido/esdl/esdl_model_base.py b/src/mesido/esdl/esdl_model_base.py index 13e35bb34..66b06d94f 100644 --- a/src/mesido/esdl/esdl_model_base.py +++ b/src/mesido/esdl/esdl_model_base.py @@ -1,10 +1,11 @@ import logging -from typing import Dict +from typing import Dict, List import esdl from esdl import InPort, OutPort from mesido.esdl.asset_to_component_base import _AssetToComponentBase +from mesido.esdl.common import Asset from mesido.pycml import Model as _Model logger = logging.getLogger("mesido") @@ -118,6 +119,22 @@ def _esdl_convert( # index a connection has to use yet. port_map = {} + def __set_primary_secondary_heat_ports(): + """ + Identifies and sets the primary and secondary side heat ports of assets in the + port_map. + """ + if isinstance(p, InPort): + if self.secondary_port_name_convention in p.name.lower(): + port_map[p.id] = getattr(component.Secondary, in_suf) + else: + port_map[p.id] = getattr(component.Primary, in_suf) + else: # OutPort + if self.primary_port_name_convention in p.name.lower(): + port_map[p.id] = getattr(component.Primary, out_suf) + else: + port_map[p.id] = getattr(component.Secondary, out_suf) + for asset in non_node_assets: component = getattr(self, asset.name) # We assume that every component has 2 ports. Essentially meaning that we are dealing @@ -137,16 +154,7 @@ def _esdl_convert( if len(asset.in_ports) == 2 and len(asset.out_ports) == 2: for p in [*asset.in_ports, *asset.out_ports]: if isinstance(p.carrier, esdl.HeatCommodity): - if isinstance(p, InPort): - if self.secondary_port_name_convention in p.name.lower(): - port_map[p.id] = getattr(component.Secondary, in_suf) - else: - port_map[p.id] = getattr(component.Primary, in_suf) - else: # OutPort - if self.primary_port_name_convention in p.name.lower(): - port_map[p.id] = getattr(component.Primary, out_suf) - else: - port_map[p.id] = getattr(component.Secondary, out_suf) + __set_primary_secondary_heat_ports() else: raise Exception( f"{asset.name} has does not have 2 Heat in_ports and 2 Heat " @@ -161,16 +169,7 @@ def _esdl_convert( p_elec = 0 for p in [*asset.in_ports, *asset.out_ports]: if isinstance(p.carrier, esdl.HeatCommodity) and p_heat <= 3: - if isinstance(p, InPort): - if self.secondary_port_name_convention in p.name.lower(): - port_map[p.id] = getattr(component.Secondary, in_suf) - else: - port_map[p.id] = getattr(component.Primary, in_suf) - else: # OutPort - if self.primary_port_name_convention in p.name.lower(): - port_map[p.id] = getattr(component.Primary, out_suf) - else: - port_map[p.id] = getattr(component.Secondary, out_suf) + __set_primary_secondary_heat_ports() p_heat += 1 elif isinstance(p.carrier, esdl.ElectricityCommodity) and p_elec == 0: port_map[p.id] = getattr(component, elec_in_suf) @@ -313,6 +312,51 @@ def _esdl_convert( # after. connections = set() + def __set_pipe_port_connections( + node_suffixes: List[str], type_node_assets: List[Asset] + ) -> None: + """ + Setting the connections between assets in mesido based on the asset type and port maps. + Args: + node_suffixes: list of the suffixes of connecting nodes + type_node_assets: list of node assets of a specific commodity. + """ + if connected_to.id in list(port_map.keys()) and ( + assets[name_to_id_map[port_map[connected_to.id].name.split(".")[0]]].asset_type + == "Pipe" + or assets[name_to_id_map[port_map[connected_to.id].name.split(".")[0]]].asset_type + == "ElectricityCable" + ): + self.connect(getattr(component, node_suffixes)[i], port_map[connected_to.id]) + elif connected_to.id not in list(port_map.keys()): + # If The asset is not in the + # port map means that there is a direct node to node connection with a + # logical link. Here we need to do some tricks to recover the correct + # port index of the node. + for node in type_node_assets: + if connected_to.id in [node.in_ports[0].id, node.out_ports[0].id]: + connected_node_asset = node + count = 1 + for ct in [ + *list(node.in_ports[0].connectedTo), + *list(node.out_ports[0].connectedTo), + ]: + if ct.id == port.id: + idx = count + else: + count += 1 + self.connect_logical_links( + getattr(component, node_suffixes)[i], + getattr(getattr(self, connected_node_asset.name), node_suffixes)[idx], + ) + else: + # If the Connected asset is not of type pipe, there might be + # logical link like source to node. + self.connect_logical_links( + getattr(component, node_suffixes)[i], port_map[connected_to.id] + ) + connections.add(conn) + for asset in [*node_assets, *bus_assets, *gas_node_assets]: component = getattr(self, asset.name) @@ -322,6 +366,7 @@ def _esdl_convert( f"{asset.name} has !=1 in or out ports, please only use one, " f"multiple connections to a single joint port are allowed" ) + for port in (asset.in_ports[0], asset.out_ports[0]): for connected_to in port.connectedTo.items: conn = (port.id, connected_to.id) @@ -337,117 +382,15 @@ def _esdl_convert( # First we check if the connected_to.id is in the port_map and if the # connected aasset is of type Pipe. In this case we want to fully connect # the model with head losses and hydraulic power. - if ( - connected_to.id in list(port_map.keys()) - and assets[ - name_to_id_map[port_map[connected_to.id].name.split(".")[0]] - ].asset_type - == "Pipe" - ): - self.connect(getattr(component, node_suf)[i], port_map[connected_to.id]) - elif connected_to.id not in list(port_map.keys()): - # If The asset is not in the - # port map means that there is a direct node to node connection with a - # logical link. Here we need to do some tricks to recover the correct - # port index of the node. - for node in node_assets: - if connected_to.id in [node.in_ports[0].id, node.out_ports[0].id]: - connected_node_asset = node - count = 1 - for ct in [ - *list(node.in_ports[0].connectedTo), - *list(node.out_ports[0].connectedTo), - ]: - if ct.id == port.id: - idx = count - else: - count += 1 - self.connect_logical_links( - getattr(component, node_suf)[i], - getattr(getattr(self, connected_node_asset.name), node_suf)[idx], - ) - else: - # If the Connected asset is not of type pipe, there might be - # logical link like source to node. - self.connect_logical_links( - getattr(component, node_suf)[i], port_map[connected_to.id] - ) - connections.add(conn) + __set_pipe_port_connections(node_suf, node_assets) i += 1 elif isinstance(port.carrier, esdl.ElectricityCommodity): # Same logic as for heat see comments there - if ( - connected_to.id in list(port_map.keys()) - and assets[ - name_to_id_map[port_map[connected_to.id].name.split(".")[0]] - ].asset_type - == "ElectricityCable" - ): - self.connect( - getattr(component, elec_node_suf)[i], port_map[connected_to.id] - ) - elif connected_to.id not in list(port_map.keys()): - for node in bus_assets: - if connected_to.id in [node.in_ports[0].id, node.out_ports[0].id]: - connected_node_asset = node - count = 1 - for ct in [ - *list(node.in_ports[0].connectedTo), - *list(node.out_ports[0].connectedTo), - ]: - if ct.id == port.id: - idx = count - else: - count += 1 - self.connect_logical_links( - getattr(component, elec_node_suf)[i], - getattr(getattr(self, connected_node_asset.name), elec_node_suf)[ - idx - ], - ) - else: - self.connect_logical_links( - getattr(component, elec_node_suf)[i], - port_map[connected_to.id], - ) - connections.add(conn) + __set_pipe_port_connections(elec_node_suf, bus_assets) i += 1 elif isinstance(port.carrier, esdl.GasCommodity): # Same logic as for heat see comments there - if ( - connected_to.id in list(port_map.keys()) - and assets[ - name_to_id_map[port_map[connected_to.id].name.split(".")[0]] - ].asset_type - == "Pipe" - ): - self.connect( - getattr(component, gas_node_suf)[i], port_map[connected_to.id] - ) - elif connected_to.id not in list(port_map.keys()): - for node in gas_node_assets: - if connected_to.id in [node.in_ports[0].id, node.out_ports[0].id]: - connected_node_asset = node - count = 1 - for ct in [ - *list(node.in_ports[0].connectedTo), - *list(node.out_ports[0].connectedTo), - ]: - if ct.id == port.id: - idx = count - else: - count += 1 - self.connect_logical_links( - getattr(component, gas_node_suf)[i], - getattr(getattr(self, connected_node_asset.name), gas_node_suf)[ - idx - ], - ) - else: - self.connect_logical_links( - getattr(component, gas_node_suf)[i], port_map[connected_to.id] - ) - connections.add(conn) + __set_pipe_port_connections(gas_node_suf, gas_node_assets) i += 1 else: logger.error( diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index b9efb5f51..7565b3a08 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -4,6 +4,7 @@ import casadi as ca from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.base_problem_mixin import BaseProblemMixin from mesido.head_loss_class import HeadLossClass, HeadLossOption from mesido.network_common import NetworkSettings @@ -17,7 +18,9 @@ logger = logging.getLogger("mesido") -class GasPhysicsMixin(BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem): +class GasPhysicsMixin( + BaseProblemMixin, BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem +): __allowed_head_loss_options = { HeadLossOption.NO_HEADLOSS, HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY, @@ -661,33 +664,6 @@ def constraints(self, ensemble_member): return constraints - def goal_programming_options(self): - """ - Here we set the goal programming configuration. We use soft constraints for consecutive - goals. - """ - options = super().goal_programming_options() - options["keep_soft_constraints"] = True - return options - - def solver_options(self): - """ - Here we define the solver options. By default we use the open-source solver cbc and casadi - solver qpsol. - """ - options = super().solver_options() - options["casadi_solver"] = "qpsol" - options["solver"] = "highs" - return options - - def compiler_options(self): - """ - In this function we set the compiler configuration. - """ - options = super().compiler_options() - options["resolve_parameter_values"] = True - return options - def priority_completed(self, priority): """ This function is called after a priority of goals is completed. This function is used to diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 4c34ae39b..43441cfd8 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -6,6 +6,7 @@ from mesido._heat_loss_u_values_pipe import pipe_heat_loss from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.base_problem_mixin import BaseProblemMixin from mesido.demand_insulation_class import DemandInsulationClass from mesido.head_loss_class import HeadLossClass, HeadLossOption from mesido.network_common import NetworkSettings @@ -20,7 +21,9 @@ logger = logging.getLogger("mesido") -class HeatPhysicsMixin(BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem): +class HeatPhysicsMixin( + BaseProblemMixin, BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem +): """ This class is used to model the physics of a heat district network with its assets. We model the different components with a variety of linearization strategies. @@ -3641,7 +3644,6 @@ def __sink_hydraulic_power_path_constraints(self, ensemble_member): parameters = self.parameters(ensemble_member) for asset in { - *self.energy_system_components.get("airco", []), *self.energy_system_components.get("heat_demand", []), *self.energy_system_components.get("cold_demand", []), *self.energy_system_components.get("heat_exchanger", []), @@ -3701,6 +3703,7 @@ def path_constraints(self, ensemble_member): constraints.extend( self._hn_head_loss_class._demand_head_loss_path_constraints(self, ensemble_member) ) + constraints.extend(self.__flow_direction_path_constraints(ensemble_member)) constraints.extend(self.__node_heat_mixing_path_constraints(ensemble_member)) constraints.extend(self.__node_hydraulic_power_mixing_path_constraints(ensemble_member)) @@ -3803,33 +3806,6 @@ def history(self, ensemble_member): return history - def goal_programming_options(self): - """ - Here we set the goal programming configuration. We use soft constraints for consecutive - goals. - """ - options = super().goal_programming_options() - options["keep_soft_constraints"] = True - return options - - def solver_options(self): - """ - Here we define the solver options. By default we use the open-source solver highs and casadi - solver qpsol. - """ - options = super().solver_options() - options["casadi_solver"] = "qpsol" - options["solver"] = "highs" - return options - - def compiler_options(self): - """ - In this function we set the compiler configuration. - """ - options = super().compiler_options() - options["resolve_parameter_values"] = True - return options - def priority_completed(self, priority): """ This function is called after a priority of goals is completed. This function is used to diff --git a/src/mesido/physics_mixin.py b/src/mesido/physics_mixin.py index f147ba8ce..08ad0fc7a 100644 --- a/src/mesido/physics_mixin.py +++ b/src/mesido/physics_mixin.py @@ -292,33 +292,6 @@ def constraints(self, ensemble_member): return constraints - def goal_programming_options(self): - """ - Here we set the goal programming configuration. We use soft constraints for consecutive - goals. - """ - options = super().goal_programming_options() - options["keep_soft_constraints"] = True - return options - - def solver_options(self): - """ - Here we define the solver options. By default we use the open-source solver highs and casadi - solver qpsol. - """ - options = super().solver_options() - options["casadi_solver"] = "qpsol" - options["solver"] = "highs" - return options - - def compiler_options(self): - """ - In this function we set the compiler configuration. - """ - options = super().compiler_options() - options["resolve_parameter_values"] = True - return options - def __state_vector_scaled(self, variable, ensemble_member): """ This functions returns the casadi symbols scaled with their nominal for the entire time diff --git a/src/mesido/pycml/component_library/milp/heat/_ates_base_asset.py b/src/mesido/pycml/component_library/milp/heat/_ates_base_asset.py new file mode 100644 index 000000000..cb139e91d --- /dev/null +++ b/src/mesido/pycml/component_library/milp/heat/_ates_base_asset.py @@ -0,0 +1,93 @@ +from mesido.pycml import Variable +from mesido.pycml.component_library.milp.heat._storage_component import _StorageComponent +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + +from numpy import nan + + +@add_variables_documentation_automatically +class _ATESBaseAsset(_StorageComponent): + """ + An Ates is a storage component that is used to model heat storage underground. Typically, this + is done by storing hot water in an underground aquifier. We model this with an energy storage + where the energy loss is modelled as a fraction of the Stored energy for each time-step. + + Like all storage assets we enforce that they must be connected as a demand. The heat to + discharge constraints are set in the HeatPhysicsMixin, where we use a big_m formulation to + enforce the correct constraints depending on whether the ates is charging or discharging. + + Please note that: + The user is responsible to implement the cyclic behaviour in their workflow constraints. + Meaning that the heat stored at the 1st and last timestamp should be equal. Furthermore, due + to the implicit solving, note that the energy out of the ATES should be 0 for the 1st time step. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ + + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + + self.component_type = "ates" + + self.T_amb = 10 + + self.heat_loss_coeff = 0.005 / (24.0 * 3600.0) + self.single_doublet_power = nan + self.nr_of_doublets = 1.0 + # The hot/cold tank can have a lower bound on its volume. + # Meaning that they might always be, for e.g., 5% full. + self.min_fraction_tank_volume = 0.05 + + # Stored_heat is the heat that is contained in the ates. + # Heat_ates is the amount of heat added to or extracted from the buffer + # per timestep. + # Thus Heat_buffer = HeatHot = der(Stored_heat). + # We connect an ATES as an demand, meaning that flow and Heat_ates are positive under + # charging and negative under discharge + self.add_variable(Variable, "Heat_ates", nominal=self.Heat_nominal) # [W] + + # Assume the storage fills in about 3 months at typical rate + self._typical_fill_time = 3600.0 * 24.0 * 90.0 + self._nominal_stored_heat = self.Heat_nominal * self._typical_fill_time + self.add_variable( + Variable, + "Stored_heat", + min=0.0, + nominal=self._nominal_stored_heat, + ) + self.add_variable( + Variable, + "Stored_volume", + min=0.0, + nominal=self._typical_fill_time * self.Q_nominal, + ) + + self._heat_loss_error_to_state_factor = 1 + self._nominal_heat_loss = ( + self.Stored_heat.nominal * self.heat_loss_coeff * self._heat_loss_error_to_state_factor + ) + self.add_variable(Variable, "Heat_loss", min=0.0, nominal=self._nominal_heat_loss) + + self._heat_loss_eq_nominal_ates = (self.Heat_nominal * self._nominal_heat_loss) ** 0.5 + + # # Heat stored in the ates + self.add_equation( + (self.der(self.Stored_heat) - self.Heat_flow + self.Heat_loss) + / self._heat_loss_eq_nominal_ates + ) + self.add_equation((self.der(self.Stored_volume) - self.Q) / self.Q_nominal) + + self.add_equation((self.Heat_flow - self.Heat_ates) / self.Heat_nominal) + + self.add_variable( + Variable, + "Storage_yearly_change", + nominal=self._nominal_stored_heat, + ) + + self.add_equation((self.der(self.Stored_volume) - self.Q) / self.Q_nominal) diff --git a/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py b/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py index 2c83481b5..013627ec0 100644 --- a/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py +++ b/src/mesido/pycml/component_library/milp/heat/_non_storage_component.py @@ -2,8 +2,6 @@ from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset from mesido.pycml.pycml_mixin import add_variables_documentation_automatically -from numpy import nan - from .heat_two_port import HeatTwoPort @@ -25,16 +23,6 @@ class _NonStorageComponent(HeatTwoPort, BaseAsset): def __init__(self, name, **modifiers): super().__init__(name, **modifiers) - self.Q_nominal = 1.0 - self.T_supply = nan - self.T_return = nan - self.T_supply_id = -1 - self.T_return_id = -1 - self.dT = self.T_supply - self.T_return - self.cp = 4200.0 - self.rho = 988.0 - self.nominal_pressure = 16.0e5 - # NOTE: We move a factor of 100.0 of the heat to the state entry, to # reduce the coefficient in front of the heat variables. This # particularly helps the scaling/range of the constraints that relate @@ -45,15 +33,4 @@ def __init__(self, name, **modifiers): self.HeatIn.Heat.nominal = self.Heat_nominal self.HeatOut.Heat.nominal = self.Heat_nominal - self.add_variable(Variable, "Q", nominal=self.Q_nominal) - self.add_variable(Variable, "Heat_flow", nominal=self.Heat_nominal) - - # self.add_equation((self.Heat_out - self.HeatOut.Heat) / self.Heat_nominal) - # self.add_equation((self.Heat_in - self.HeatIn.Heat) / self.Heat_nominal) - - self.add_equation(self.HeatIn.Q - self.Q) - self.add_equation(self.HeatIn.Q - self.HeatOut.Q) - - # self.add_equation(self.HeatIn.H - self.H_in) - # self.add_equation(self.HeatOut.H - self.H_out) diff --git a/src/mesido/pycml/component_library/milp/heat/_non_storage_component_sink_type.py b/src/mesido/pycml/component_library/milp/heat/_non_storage_component_sink_type.py new file mode 100644 index 000000000..130ffa3d6 --- /dev/null +++ b/src/mesido/pycml/component_library/milp/heat/_non_storage_component_sink_type.py @@ -0,0 +1,24 @@ +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + +from ._non_storage_component import _NonStorageComponent + + +@add_variables_documentation_automatically +class _NonStorageComponentSinkType(_NonStorageComponent): + """ + A non storage component is an asset type that does not have states that have interdependent + time-steps, it does have time-varying states like Heat_flow. In the + NonStorageSinkTypeComponent we add a limit on the headloss. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ + + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + + self.dH.max = 0.0 diff --git a/src/mesido/pycml/component_library/milp/heat/_non_storage_component_source_type.py b/src/mesido/pycml/component_library/milp/heat/_non_storage_component_source_type.py new file mode 100644 index 000000000..57e50b620 --- /dev/null +++ b/src/mesido/pycml/component_library/milp/heat/_non_storage_component_source_type.py @@ -0,0 +1,37 @@ +from mesido.pycml import Variable +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + +from ._non_storage_component import _NonStorageComponent + + +@add_variables_documentation_automatically +class _NonStorageComponentSourceType(_NonStorageComponent): + """ + A non storage component is an asset type that does not have states that have interdependent + time-steps, it does have time-varying states like Heat_flow. In the + NonStorageComponent we define most of the properties being utilized by all + components. In the NonStorageSourceTypeComponent we define the pump power variable and add + relations that exists for all sources, e.g. link between pump power and hydraulic power. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ + + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + + # dH is positive as it is assumed that the head is added by a pump at sources. + self.dH.min = 0.0 + + self.add_variable( + Variable, "Pump_power", min=0.0, nominal=self.Q_nominal * self.nominal_pressure + ) + + self.add_equation( + (self.Pump_power - (self.HeatOut.Hydraulic_power - self.HeatIn.Hydraulic_power)) + / (self.Q_nominal * self.nominal_pressure) + ) diff --git a/src/mesido/pycml/component_library/milp/heat/_storage_component.py b/src/mesido/pycml/component_library/milp/heat/_storage_component.py new file mode 100644 index 000000000..443017993 --- /dev/null +++ b/src/mesido/pycml/component_library/milp/heat/_storage_component.py @@ -0,0 +1,64 @@ +from mesido.pycml import Variable +from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + +from .heat_two_port import HeatTwoPort + + +@add_variables_documentation_automatically +class _StorageComponent(HeatTwoPort, BaseAsset): + """ + A storage component is an asset type that does have states that have interdependent + time-steps, it does have time-varying states like Heat_flow. In the StorageComponent we + define most of the properties and variables being utilized by all storage components, + like heat_nominal (property), heat_flow (variable). + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ + + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + + self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop + self.pump_efficiency = 0.5 + + self.Heat_nominal = self.cp * self.rho * self.dT * self.Q_nominal + + self.HeatIn.Heat.nominal = self.Heat_nominal + self.HeatOut.Heat.nominal = self.Heat_nominal + + self.add_variable(Variable, "Heat_flow", nominal=self.Heat_nominal) + + self.add_variable( + Variable, "Pump_power", min=0.0, nominal=self.Q_nominal * self.nominal_pressure + ) + + self.add_equation( + (self.Heat_flow - (self.HeatIn.Heat - self.HeatOut.Heat)) / self.Heat_nominal + ) + + self.add_variable( + Variable, + "Heat_flow_charging", + min=0.0, + max=self.Heat_flow.max, + nominal=self.Heat_flow.nominal, + ) + + self.add_variable( + Variable, + "Heat_flow_discharging", + min=0.0, + max=abs(self.Heat_flow.min), + nominal=self.Heat_flow.nominal, + ) + + self.add_equation( + (self.Heat_flow - (self.Heat_flow_charging - self.Heat_flow_discharging)) + / self.Heat_nominal + ) diff --git a/src/mesido/pycml/component_library/milp/heat/airco.py b/src/mesido/pycml/component_library/milp/heat/airco.py index ad65cd161..c44fd9cd4 100644 --- a/src/mesido/pycml/component_library/milp/heat/airco.py +++ b/src/mesido/pycml/component_library/milp/heat/airco.py @@ -1,11 +1,11 @@ from mesido.pycml import Variable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically -from ._non_storage_component import _NonStorageComponent +from ._non_storage_component_source_type import _NonStorageComponentSourceType @add_variables_documentation_automatically -class Airco(_NonStorageComponent): +class Airco(_NonStorageComponentSourceType): """ The airco component is there to extract thermal power (Heat) out of the network. This component can also be used to model cold producers, e.g. dry coolers. @@ -45,16 +45,6 @@ def __init__(self, name, **modifiers): # Assumption: heat in/out and extracted is nonnegative # Heat in the return (i.e. cold) line is zero self.add_variable(Variable, "Heat_airco", min=0.0, nominal=self.Heat_nominal) - self.add_variable(Variable, "dH", max=0.0) - self.add_variable( - Variable, "Pump_power", min=0.0, nominal=self.Q_nominal * self.nominal_pressure - ) - - self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) - self.add_equation( - (self.Pump_power - (self.HeatOut.Hydraulic_power - self.HeatIn.Hydraulic_power)) - / (self.Q_nominal * self.nominal_pressure) - ) self.add_equation( (self.HeatOut.Heat - (self.HeatIn.Heat - self.Heat_airco)) / self.Heat_nominal diff --git a/src/mesido/pycml/component_library/milp/heat/ates.py b/src/mesido/pycml/component_library/milp/heat/ates.py index 09325d4ec..f2cb029ad 100644 --- a/src/mesido/pycml/component_library/milp/heat/ates.py +++ b/src/mesido/pycml/component_library/milp/heat/ates.py @@ -1,14 +1,11 @@ from mesido.pycml import Variable -from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset from mesido.pycml.pycml_mixin import add_variables_documentation_automatically -from numpy import nan - -from .heat_two_port import HeatTwoPort +from ._ates_base_asset import _ATESBaseAsset @add_variables_documentation_automatically -class ATES(HeatTwoPort, BaseAsset): +class ATES(_ATESBaseAsset): """ An Ates is a storage component that is used to model heat storage underground. Typically, this is done by storing hot water in an underground aquifier. We model this with an energy storage @@ -34,22 +31,6 @@ class ATES(HeatTwoPort, BaseAsset): def __init__(self, name, **modifiers): super().__init__(name, **modifiers) - self.component_type = "ates" - - self.Q_nominal = 1.0 - self.T_amb = 10 - self.T_supply = nan - self.T_return = nan - self.T_supply_id = -1 - self.T_return_id = -1 - self.dT = self.T_supply - self.T_return - self.cp = 4200.0 - self.rho = 988.0 - self.Heat_nominal = self.cp * self.rho * self.dT * self.Q_nominal - self.nominal_pressure = 16.0e5 - self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop - self.pump_efficiency = 0.5 - max_temp_change = self.T_supply / (3600 * 24) # loses full temperature in a day nom_temp_change = max_temp_change / 100 # loses full temperature in 100 days. self.add_variable(Variable, "Temperature_ates", nominal=self.T_return) @@ -64,74 +45,6 @@ def __init__(self, name, **modifiers): nominal=nom_temp_change, ) - self.heat_loss_coeff = 0.005 / (24.0 * 3600.0) - self.single_doublet_power = nan - self.nr_of_doublets = 1.0 - # The hot/cold tank can have a lower bound on its volume. - # Meaning that they might always be, for e.g., 5% full. - self.min_fraction_tank_volume = 0.05 - - # Stored_heat is the heat that is contained in the ates. - # Heat_ates is the amount of heat added to or extracted from the buffer - # per timestep. - # Thus Heat_buffer = HeatHot = der(Stored_heat). - # We connect an ATES as an demand, meaning that flow and Heat_ates are positive under - # charging and negative under discharge - self.add_variable(Variable, "Heat_ates", nominal=self.Heat_nominal) # [W] - self.add_variable(Variable, "Heat_flow", nominal=self.Heat_nominal) # [W] - # Assume the storage fills in about 3 months at typical rate - self._typical_fill_time = 3600.0 * 24.0 * 90.0 - self._nominal_stored_heat = self.Heat_nominal * self._typical_fill_time - self.add_variable( - Variable, - "Stored_heat", - min=0.0, - nominal=self._nominal_stored_heat, - ) - self.add_variable( - Variable, - "Stored_volume", - min=0.0, - nominal=self._typical_fill_time * self.Q_nominal, - ) - self.add_variable(Variable, "Q", nominal=self.Q_nominal) - self.add_variable( - Variable, "Pump_power", min=0.0, nominal=self.Q_nominal * self.nominal_pressure - ) - - self.add_variable(Variable, "dH") - self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) - - self._heat_loss_error_to_state_factor = 1 - self._nominal_heat_loss = ( - self.Stored_heat.nominal * self.heat_loss_coeff * self._heat_loss_error_to_state_factor - ) - self.add_variable(Variable, "Heat_loss", min=0.0, nominal=self._nominal_heat_loss) - - self._heat_loss_eq_nominal_ates = (self.Heat_nominal * self._nominal_heat_loss) ** 0.5 - - self.add_equation(self.HeatIn.Q - self.HeatOut.Q) - self.add_equation(self.Q - self.HeatOut.Q) - - self.add_variable( - Variable, - "Storage_yearly_change", - nominal=self._nominal_stored_heat, - ) - # # Heat stored in the ates - self.add_equation( - ( - self.der(self.Stored_heat) - - self.Heat_ates - + self.Heat_loss - - self.Storage_yearly_change - ) - / self._heat_loss_eq_nominal_ates - ) - self.add_equation(self.Storage_yearly_change / self.Heat_nominal) - - self.add_equation((self.der(self.Stored_volume) - self.Q) / self.Q_nominal) - self.add_equation( ( ( @@ -142,29 +55,3 @@ def __init__(self, name, **modifiers): / nom_temp_change ) ) - - self.add_equation( - (self.HeatIn.Heat - (self.HeatOut.Heat + self.Heat_ates)) / self.Heat_nominal - ) - self.add_equation((self.Heat_flow - self.Heat_ates) / self.Heat_nominal) - - self.add_variable( - Variable, - "Heat_flow_charging", - min=0.0, - max=self.Heat_flow.max, - nominal=self.Heat_flow.nominal, - ) - - self.add_variable( - Variable, - "Heat_flow_discharging", - min=0.0, - max=abs(self.Heat_flow.min), - nominal=self.Heat_flow.nominal, - ) - - self.add_equation( - (self.Heat_flow - (self.Heat_flow_charging - self.Heat_flow_discharging)) - / self.Heat_nominal - ) diff --git a/src/mesido/pycml/component_library/milp/heat/check_valve.py b/src/mesido/pycml/component_library/milp/heat/check_valve.py index e34acef6d..3b882fb68 100644 --- a/src/mesido/pycml/component_library/milp/heat/check_valve.py +++ b/src/mesido/pycml/component_library/milp/heat/check_valve.py @@ -1,11 +1,10 @@ -from mesido.pycml import Variable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically -from ._non_storage_component import _NonStorageComponent +from ._non_storage_component_source_type import _NonStorageComponentSourceType @add_variables_documentation_automatically -class CheckValve(_NonStorageComponent): +class CheckValve(_NonStorageComponentSourceType): """ The check valve allows the fluid to flow in only one direction. This is done with constraints in the HeatMixin. @@ -32,8 +31,4 @@ def __init__(self, name, **modifiers): self.component_type = "check_valve" - self.add_variable(Variable, "dH", min=0.0) - - self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) - self.add_equation((self.HeatIn.Heat - self.HeatOut.Heat) / self.Heat_nominal) diff --git a/src/mesido/pycml/component_library/milp/heat/cold_demand.py b/src/mesido/pycml/component_library/milp/heat/cold_demand.py index c4754ca62..5d5301ef9 100644 --- a/src/mesido/pycml/component_library/milp/heat/cold_demand.py +++ b/src/mesido/pycml/component_library/milp/heat/cold_demand.py @@ -1,11 +1,11 @@ from mesido.pycml import Variable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically -from ._non_storage_component import _NonStorageComponent +from ._non_storage_component_sink_type import _NonStorageComponentSinkType @add_variables_documentation_automatically -class ColdDemand(_NonStorageComponent): +class ColdDemand(_NonStorageComponentSinkType): """ The cold demand component is there to add thermal power (Heat) out of the network. Typically, this component is used to model aggregated demands. @@ -46,8 +46,6 @@ def __init__(self, name, **modifiers): # Assumption: heat in/out and extracted is nonnegative # Heat in the return (i.e. cold) line is zero self.add_variable(Variable, "Cold_demand", min=0.0, nominal=self.Heat_nominal) - self.add_variable(Variable, "dH", max=0.0) - self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) self.add_equation( (self.HeatOut.Heat - (self.HeatIn.Heat + self.Cold_demand)) / self.Heat_nominal diff --git a/src/mesido/pycml/component_library/milp/heat/control_valve.py b/src/mesido/pycml/component_library/milp/heat/control_valve.py index 324d86a4a..138166a4b 100644 --- a/src/mesido/pycml/component_library/milp/heat/control_valve.py +++ b/src/mesido/pycml/component_library/milp/heat/control_valve.py @@ -1,4 +1,3 @@ -from mesido.pycml import Variable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from ._non_storage_component import _NonStorageComponent @@ -24,9 +23,6 @@ def __init__(self, name, **modifiers): self.component_type = "control_valve" - self.add_variable(Variable, "dH") - - self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) self.add_equation( (self.HeatOut.Hydraulic_power - self.HeatIn.Hydraulic_power) / (self.Q_nominal * self.nominal_pressure) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py index fc9d0801e..d9b700876 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py @@ -1,16 +1,14 @@ import math from mesido.pycml import Variable -from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset +from mesido.pycml.component_library.milp.heat._storage_component import _StorageComponent from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan -from .heat_two_port import HeatTwoPort - @add_variables_documentation_automatically -class HeatBuffer(HeatTwoPort, BaseAsset): +class HeatBuffer(_StorageComponent): """ The buffer component is to model milp storage in a tank. This means that we model a tank of hot water being filled and radiating milp away (heat loss) over the hot surfaces. We assume that the @@ -34,19 +32,6 @@ def __init__(self, name, **modifiers): self.component_type = "heat_buffer" - self.Q_nominal = 1.0 - self.T_supply = nan - self.T_return = nan - self.T_supply_id = -1 - self.T_return_id = -1 - self.dT = self.T_supply - self.T_return - self.cp = 4200.0 - self.rho = 988.0 - self.Heat_nominal = self.cp * self.rho * self.dT * self.Q_nominal - self.nominal_pressure = 16.0e5 - self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop - self.pump_efficiency = 0.5 - self.heat_transfer_coeff = 1.0 self.height = 5.0 self.radius = 10.0 @@ -55,6 +40,7 @@ def __init__(self, name, **modifiers): # The hot/cold tank can have a lower bound on its volume. # Meaning that they might always be, for e.g., 5% full. self.min_fraction_tank_volume = 0.05 + self._typical_fill_time = 3600.0 # Initial values self.init_V_hot_tank = nan @@ -67,6 +53,7 @@ def __init__(self, name, **modifiers): self.max_stored_heat = ( self.volume * (1 - self.min_fraction_tank_volume) * self.dT * self.cp * self.rho ) + self._nominal_stored_heat = self.Heat_nominal * self._typical_fill_time # Stored_heat is the heat that is contained in the buffer. # Heat_buffer is the amount of heat added to or extracted from the buffer @@ -79,8 +66,6 @@ def __init__(self, name, **modifiers): # charging and negative under discharge self.add_variable(Variable, "Heat_buffer", nominal=self.Heat_nominal) # Assume the storage fills in about an hour at typical rate - self._typical_fill_time = 3600.0 - self._nominal_stored_heat = self.Heat_nominal * self._typical_fill_time self.add_variable( Variable, "Stored_heat", @@ -88,7 +73,6 @@ def __init__(self, name, **modifiers): max=self.max_stored_heat, nominal=self._nominal_stored_heat, ) - self.add_variable(Variable, "Q", nominal=self.Q_nominal) # For nicer constraint coefficient scaling, we shift a bit more error into # the state vector entry of `Heat_loss`. In other words, with a factor of # 10.0, we aim for a state vector entry of ~0.1 (instead of 1.0) @@ -96,20 +80,11 @@ def __init__(self, name, **modifiers): self._nominal_heat_loss = ( self._nominal_stored_heat * self.heat_loss_coeff * self._heat_loss_error_to_state_factor ) + self.add_variable(Variable, "Heat_loss", min=0.0, nominal=self._nominal_heat_loss) - self.add_variable(Variable, "Heat_flow", nominal=self.Heat_nominal) - self.add_variable( - Variable, "Pump_power", min=0.0, nominal=self.Q_nominal * self.nominal_pressure - ) self._heat_loss_eq_nominal_buf = (self.Heat_nominal * self._nominal_heat_loss) ** 0.5 - self.add_variable(Variable, "dH") - self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) - - self.add_equation(self.HeatIn.Q - self.HeatOut.Q) - self.add_equation(self.Q - self.HeatOut.Q) - # Heat stored in the buffer self.add_equation( (self.der(self.Stored_heat) - self.Heat_buffer + self.Heat_loss) @@ -118,28 +93,5 @@ def __init__(self, name, **modifiers): self.add_equation( (self.Heat_loss - self.Stored_heat * self.heat_loss_coeff) / self._nominal_heat_loss ) - self.add_equation( - (self.Heat_buffer - (self.HeatIn.Heat - self.HeatOut.Heat)) / self.Heat_nominal - ) - self.add_equation((self.Heat_flow - self.Heat_buffer) / self.Heat_nominal) - - self.add_variable( - Variable, - "Heat_flow_charging", - min=0.0, - max=self.Heat_flow.max, - nominal=self.Heat_flow.nominal, - ) - - self.add_variable( - Variable, - "Heat_flow_discharging", - min=0.0, - max=abs(self.Heat_flow.min), - nominal=self.Heat_flow.nominal, - ) - self.add_equation( - (self.Heat_flow - (self.Heat_flow_charging - self.Heat_flow_discharging)) - / self.Heat_nominal - ) + self.add_equation((self.Heat_flow - self.Heat_buffer) / self.Heat_nominal) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_demand.py b/src/mesido/pycml/component_library/milp/heat/heat_demand.py index 56b3fe7b1..df079468f 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_demand.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_demand.py @@ -1,11 +1,11 @@ from mesido.pycml import Variable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically -from ._non_storage_component import _NonStorageComponent +from ._non_storage_component_sink_type import _NonStorageComponentSinkType @add_variables_documentation_automatically -class HeatDemand(_NonStorageComponent): +class HeatDemand(_NonStorageComponentSinkType): """ The demand component is there to extract thermal power (Heat) out of the network. Typically, this component is used to model aggregated demands. @@ -45,8 +45,6 @@ def __init__(self, name, **modifiers): # Assumption: heat in/out and extracted is nonnegative # Heat in the return (i.e. cold) line is zero self.add_variable(Variable, "Heat_demand", min=0.0, nominal=self.Heat_nominal) - self.add_variable(Variable, "dH", max=0.0) - self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) self.add_equation( (self.HeatOut.Heat - (self.HeatIn.Heat - self.Heat_demand)) / self.Heat_nominal diff --git a/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py index f8490031a..0c63afed2 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py @@ -1,4 +1,3 @@ -from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal import BaseAsset from mesido.pycml.component_library.milp.heat.heat_four_port import HeatFourPort from mesido.pycml.pycml_mixin import add_variables_documentation_automatically @@ -43,47 +42,12 @@ def __init__(self, name, **modifiers): self.component_type = "heat_exchanger" self.efficiency = nan - self.nominal = ( - self.Secondary.Q_nominal * self.Secondary.rho * self.Secondary.cp * self.Secondary.dT - ) - self.price = nan self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop self.pump_efficiency = 0.5 - # Assumption: heat in/out and added is nonnegative - - self.add_variable(Variable, "Primary_heat", min=0.0) - self.add_variable(Variable, "Secondary_heat", min=0.0) - self.add_variable(Variable, "Heat_flow", nominal=self.nominal) - self.add_variable(Variable, "dH_prim") - self.add_variable(Variable, "dH_sec") - - # Hydraulically decoupled so Heads remain the same - self.add_equation(self.dH_prim - (self.Primary.HeatOut.H - self.Primary.HeatIn.H)) - self.add_equation(self.dH_sec - (self.Secondary.HeatOut.H - self.Secondary.HeatIn.H)) - self.add_equation( - ( - self.Pump_power - - (self.Secondary.HeatOut.Hydraulic_power - self.Secondary.HeatIn.Hydraulic_power) - ) - / (self.Secondary.Q_nominal * self.Secondary.nominal_pressure) - ) - self.add_equation( ((self.Primary_heat * self.efficiency - self.Secondary_heat) / self.nominal) ) - self.add_equation( - ( - (self.Primary_heat - (self.Primary.HeatIn.Heat - self.Primary.HeatOut.Heat)) - / self.nominal - ) - ) - self.add_equation( - ( - (self.Secondary_heat - (self.Secondary.HeatOut.Heat - self.Secondary.HeatIn.Heat)) - / self.nominal - ) - ) self.add_equation((self.Heat_flow - self.Secondary_heat) / self.nominal) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_four_port.py b/src/mesido/pycml/component_library/milp/heat/heat_four_port.py index 36cf03339..1954822ca 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_four_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_four_port.py @@ -2,7 +2,8 @@ from mesido.pycml.component_library.milp._internal import HeatComponent from mesido.pycml.pycml_mixin import add_variables_documentation_automatically -from ._non_storage_component import _NonStorageComponent +from ._non_storage_component_sink_type import _NonStorageComponentSinkType +from ._non_storage_component_source_type import _NonStorageComponentSourceType @add_variables_documentation_automatically @@ -28,11 +29,45 @@ def __init__(self, name, **modifiers): ), ) - self.add_variable(_NonStorageComponent, "Primary", **modifiers["Primary"]) - self.add_variable(_NonStorageComponent, "Secondary", **modifiers["Secondary"]) + self.add_variable(_NonStorageComponentSinkType, "Primary", **modifiers["Primary"]) + self.add_variable(_NonStorageComponentSourceType, "Secondary", **modifiers["Secondary"]) self.add_variable( Variable, "Pump_power", min=0.0, nominal=self.Secondary.Q_nominal * self.Secondary.nominal_pressure, ) + + self.nominal = ( + self.Secondary.Q_nominal * self.Secondary.rho * self.Secondary.cp * self.Secondary.dT + ) + + # Assumption: heat in/out and added is nonnegative + self.add_variable(Variable, "Primary_heat", min=0.0) + self.add_variable(Variable, "Secondary_heat", min=0.0) + self.add_variable(Variable, "Heat_flow", nominal=self.nominal) + + self.add_variable(Variable, "dH_prim", max=0.0) + self.add_variable(Variable, "dH_sec", min=0.0) + + self.add_equation( + ( + (self.Primary_heat - (self.Primary.HeatIn.Heat - self.Primary.HeatOut.Heat)) + / self.nominal + ) + ) + self.add_equation( + ( + (self.Secondary_heat - (self.Secondary.HeatOut.Heat - self.Secondary.HeatIn.Heat)) + / self.nominal + ) + ) + self.add_equation((self.Heat_flow - self.Secondary_heat) / self.nominal) + + # Hydraulically decoupled so Heads remain the same + self.add_equation(self.dH_prim - self.Primary.dH) + self.add_equation(self.dH_sec - self.Secondary.dH) + self.add_equation( + (self.Pump_power - self.Secondary.Pump_power) + / (self.Secondary.Q_nominal * self.Secondary.nominal_pressure) + ) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_pipe.py b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py index b1d345e25..ff4f814db 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_pipe.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py @@ -59,8 +59,6 @@ def __init__(self, name, **modifiers): self.Heat_loss = nan - self.add_variable(Variable, "dH") - # rho * ff * length * area / 2 / diameter * velocity**3 ff = 0.02 # Order of magnitude expected with 0.05-2.5m/s in 20mm-1200mm diameter pipe velo = self.Q_nominal / self.area diff --git a/src/mesido/pycml/component_library/milp/heat/heat_pump.py b/src/mesido/pycml/component_library/milp/heat/heat_pump.py index a7d414a42..1743842ca 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_pump.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pump.py @@ -40,47 +40,12 @@ def __init__(self, name, **modifiers): self.efficiency = nan self.COP = nan # TODO: maybe set this to a standard value if not set in esdl. self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop - self.nominal = ( - self.Secondary.Q_nominal * self.Secondary.rho * self.Secondary.cp * self.Secondary.dT - ) + self.pump_efficiency = 0.5 self.elec_power_nominal = self.nominal / self.COP - # Assumption: heat in/out and added is nonnegative - - self.add_variable(Variable, "Primary_heat", min=0.0) - self.add_variable(Variable, "Secondary_heat", min=0.0) - self.add_variable(Variable, "Heat_flow", nominal=self.nominal) self.add_variable(Variable, "Power_elec", min=0.0) - self.add_variable(Variable, "dH_prim", max=0.0) - self.add_variable(Variable, "dH_sec", min=0.0) - - # Hydraulically decoupled so Heads remain the same - # #TODO: can't these two equations be moved to the non_storagecomponent? - self.add_equation(self.dH_prim - (self.Primary.HeatOut.H - self.Primary.HeatIn.H)) - self.add_equation(self.dH_sec - (self.Secondary.HeatOut.H - self.Secondary.HeatIn.H)) - self.add_equation( - ( - self.Pump_power - - (self.Secondary.HeatOut.Hydraulic_power - self.Secondary.HeatIn.Hydraulic_power) - ) - / (self.Secondary.Q_nominal * self.Secondary.nominal_pressure) - ) self.add_equation( ((self.Primary_heat + self.Power_elec - self.Secondary_heat) / self.nominal) ) - - self.add_equation( - ( - (self.Primary_heat - (self.Primary.HeatIn.Heat - self.Primary.HeatOut.Heat)) - / self.nominal - ) - ) - self.add_equation( - ( - (self.Secondary_heat - (self.Secondary.HeatOut.Heat - self.Secondary.HeatIn.Heat)) - / self.nominal - ) - ) - self.add_equation((self.Heat_flow - self.Secondary_heat) / self.nominal) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_source.py b/src/mesido/pycml/component_library/milp/heat/heat_source.py index f2d16eb33..634c35f5f 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_source.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_source.py @@ -3,11 +3,11 @@ from numpy import nan -from ._non_storage_component import _NonStorageComponent +from ._non_storage_component_source_type import _NonStorageComponentSourceType @add_variables_documentation_automatically -class HeatSource(_NonStorageComponent): +class HeatSource(_NonStorageComponentSourceType): """ The source component is there to insert thermal power (Heat) into the network. @@ -49,16 +49,6 @@ def __init__(self, name, **modifiers): # Heat in the return (i.e. cold) line is zero self.add_variable(Variable, "Heat_source", min=0.0, nominal=self.Heat_nominal) self.add_variable(Variable, "Emission", min=0.0, nominal=self.Heat_nominal) - self.add_variable(Variable, "dH", min=0.0) - self.add_variable( - Variable, "Pump_power", min=0.0, nominal=self.Q_nominal * self.nominal_pressure - ) - - self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) - self.add_equation( - (self.Pump_power - (self.HeatOut.Hydraulic_power - self.HeatIn.Hydraulic_power)) - / (self.Q_nominal * self.nominal_pressure) - ) self.add_equation( (self.HeatOut.Heat - (self.HeatIn.Heat + self.Heat_source)) / self.Heat_nominal diff --git a/src/mesido/pycml/component_library/milp/heat/heat_two_port.py b/src/mesido/pycml/component_library/milp/heat/heat_two_port.py index c4061e6fe..d5e08b0a4 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_two_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_two_port.py @@ -1,6 +1,9 @@ +from mesido.pycml import Variable from mesido.pycml.component_library.milp._internal import HeatComponent from mesido.pycml.pycml_mixin import add_variables_documentation_automatically +from numpy import nan + from .heat_port import HeatPort @@ -22,5 +25,23 @@ class HeatTwoPort(HeatComponent): def __init__(self, name, **modifiers): super().__init__(name, **modifiers) + self.Q_nominal = 1.0 + self.T_supply = nan + self.T_return = nan + self.T_supply_id = -1 + self.T_return_id = -1 + self.dT = self.T_supply - self.T_return + self.cp = 4200.0 + self.rho = 988.0 + self.nominal_pressure = 16.0e5 + self.add_variable(HeatPort, "HeatIn") self.add_variable(HeatPort, "HeatOut") + + self.add_variable(Variable, "Q", nominal=self.Q_nominal) + + self.add_equation(self.HeatIn.Q - self.Q) + self.add_equation(self.HeatIn.Q - self.HeatOut.Q) + + self.add_variable(Variable, "dH") + self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) diff --git a/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py b/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py index 283b3614e..82c51a3d4 100644 --- a/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py +++ b/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py @@ -1,14 +1,11 @@ from mesido.pycml import Variable -from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset from mesido.pycml.pycml_mixin import add_variables_documentation_automatically -from numpy import nan - -from .heat_two_port import HeatTwoPort +from ._ates_base_asset import _ATESBaseAsset @add_variables_documentation_automatically -class LowTemperatureATES(HeatTwoPort, BaseAsset): +class LowTemperatureATES(_ATESBaseAsset): """ TODO: This model is still under developement. A low temperature ates is a underground aquifier in which heat can be stored. @@ -35,27 +32,6 @@ def __init__(self, name, **modifiers): self.component_type = "low_temperature_ates" - self.Q_nominal = 1.0 - self.T_amb = 10 - self.T_supply = nan - self.T_return = nan - self.T_supply_id = -1 - self.T_return_id = -1 - self.dT = self.T_supply - self.T_return - self.cp = 4200.0 - self.rho = 988.0 - self.Heat_nominal = self.cp * self.rho * self.dT * self.Q_nominal - self.nominal_pressure = 16.0e5 - self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop - self.pump_efficiency = 0.5 - - self.heat_loss_coeff = 0.005 / (24.0 * 3600.0) - self.single_doublet_power = nan - self.nr_of_doublets = 1.0 - # The hot/cold tank can have a lower bound on its volume. - # Meaning that they might always be, for e.g., 5% full. - self.min_fraction_tank_volume = 0.05 - # Stored_heat is the heat that is contained in the ates. # Heat_low_temperature_ates is the amount of heat added to or extracted from the buffer # per timestep. @@ -63,69 +39,5 @@ def __init__(self, name, **modifiers): # We connect an ATES as an demand, meaning that flow and Heat_low_temperature_ates are # positive undercharging and negative under discharge self.add_variable(Variable, "Heat_low_temperature_ates", nominal=self.Heat_nominal) # [W] - self.add_variable(Variable, "Heat_flow", nominal=self.Heat_nominal) # [W] - # Assume the storage fills in about 3 months at typical rate - self._typical_fill_time = 3600.0 * 24.0 * 90.0 - self._nominal_stored_heat = self.Heat_nominal * self._typical_fill_time - self.add_variable( - Variable, - "Stored_heat", - min=0.0, - nominal=self._nominal_stored_heat, - ) - self.add_variable( - Variable, - "Stored_volume", - min=0.0, - nominal=self._typical_fill_time * self.Q_nominal, - ) - - self.add_variable(Variable, "Q", nominal=self.Q_nominal) - self.add_variable( - Variable, "Pump_power", min=0.0, nominal=self.Q_nominal * self.nominal_pressure - ) - - self._heat_loss_error_to_state_factor = 1 - self._nominal_heat_loss = ( - self.Stored_heat.nominal * self.heat_loss_coeff * self._heat_loss_error_to_state_factor - ) - self.add_variable(Variable, "Heat_loss", min=0.0, nominal=self._nominal_heat_loss) - - self._heat_loss_eq_nominal_ates = (self.Heat_nominal * self._nominal_heat_loss) ** 0.5 - - self.add_equation(self.HeatIn.Q - self.HeatOut.Q) - self.add_equation(self.Q - self.HeatOut.Q) - - # Heat stored in the ates - self.add_equation( - (self.der(self.Stored_heat) - self.Heat_low_temperature_ates + self.Heat_loss) - / self._heat_loss_eq_nominal_ates - ) - self.add_equation((self.der(self.Stored_volume) - self.Q) / self.Q_nominal) - - self.add_equation( - (self.HeatIn.Heat - (self.HeatOut.Heat + self.Heat_low_temperature_ates)) - / self.Heat_nominal - ) - self.add_equation((self.Heat_flow - self.Heat_low_temperature_ates) / self.Heat_nominal) - - self.add_variable( - Variable, - "Heat_flow_charging", - min=0.0, - max=self.Heat_flow.max, - nominal=self.Heat_flow.nominal, - ) - - self.add_variable( - Variable, - "Heat_flow_discharging", - min=0.0, - max=abs(self.Heat_flow.min), - nominal=self.Heat_flow.nominal, - ) - self.add_equation( - (self.Heat_flow - (self.Heat_flow_charging - self.Heat_flow_discharging)) - / self.Heat_nominal - ) + self.add_equation((self.Heat_ates - self.Heat_low_temperature_ates) / self.Heat_nominal) diff --git a/src/mesido/pycml/component_library/milp/heat/pump.py b/src/mesido/pycml/component_library/milp/heat/pump.py index 6cd7f301b..407b035d5 100644 --- a/src/mesido/pycml/component_library/milp/heat/pump.py +++ b/src/mesido/pycml/component_library/milp/heat/pump.py @@ -1,13 +1,12 @@ -from mesido.pycml import Variable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan -from ._non_storage_component import _NonStorageComponent +from ._non_storage_component_source_type import _NonStorageComponentSourceType @add_variables_documentation_automatically -class Pump(_NonStorageComponent): +class Pump(_NonStorageComponentSourceType): """ The pump component is there to add head to the flow. We assume head can only be added for positive flow. @@ -30,16 +29,4 @@ def __init__(self, name, **modifiers): self.pump_efficiency = 0.5 - self.add_variable(Variable, "dH", min=0.0) - self.add_variable( - Variable, "Pump_power", min=0.0, nominal=self.Q_nominal * self.nominal_pressure - ) - - self.add_equation(self.dH - (self.HeatOut.H - self.HeatIn.H)) - - self.add_equation( - (self.Pump_power - (self.HeatOut.Hydraulic_power - self.HeatIn.Hydraulic_power)) - / (self.Q_nominal * self.nominal_pressure) - ) - self.add_equation((self.HeatIn.Heat - self.HeatOut.Heat) / self.Heat_nominal) diff --git a/src/mesido/pycml/pycml_mixin.py b/src/mesido/pycml/pycml_mixin.py index 1579dbe9f..1c3e5c1cb 100644 --- a/src/mesido/pycml/pycml_mixin.py +++ b/src/mesido/pycml/pycml_mixin.py @@ -84,7 +84,11 @@ def get_names_for_class(current_class_: Type) -> List[str]: "GasPort", "Primary", "Secondary", + "_ATESBaseAsset", "_NonStorageComponent", + "_NonStorageComponentSinkType", + "_NonStorageComponentSourceType", + "_StorageComponent", ]: # Follow the port and retrieve all variable names for that port port_name = node.args[1].value diff --git a/src/mesido/workflows/rollout_workflow.py b/src/mesido/workflows/rollout_workflow.py index 57ac0a028..327af2caf 100644 --- a/src/mesido/workflows/rollout_workflow.py +++ b/src/mesido/workflows/rollout_workflow.py @@ -152,7 +152,7 @@ def __init__(self, *args, **kwargs): def parameters(self, ensemble_member): parameters = super().parameters(ensemble_member) - for pipe in [*self.hot_pipes, *self.cold_pipes]: + for pipe in self.energy_system_components.get("heat_pipe", []): parameters[f"{pipe}.disconnectable"] = True return parameters diff --git a/tests/models/unit_cases/case_3a/input/timeseries_import.xml b/tests/models/unit_cases/case_3a/input/timeseries_import.xml index fcdf4760d..e28ef02d1 100644 --- a/tests/models/unit_cases/case_3a/input/timeseries_import.xml +++ b/tests/models/unit_cases/case_3a/input/timeseries_import.xml @@ -9,7 +9,7 @@ 18b90d93-5005-45d0-b558-ece8994d39ae - + -999.0 W @@ -20,44 +20,20 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
@@ -67,7 +43,7 @@ f5eb43f1-fb71-4d82-97cc-3fb0eb2c209d - + -999.0 W
@@ -78,44 +54,20 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
@@ -125,7 +77,7 @@ 889db852-2751-425f-ab8c-989ff878acf8 - + -999.0 W
@@ -136,43 +88,19 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
diff --git a/tests/models/unit_cases/case_3a/src/run_3a.py b/tests/models/unit_cases/case_3a/src/run_3a.py index fe4d1026e..79e055fbc 100644 --- a/tests/models/unit_cases/case_3a/src/run_3a.py +++ b/tests/models/unit_cases/case_3a/src/run_3a.py @@ -337,7 +337,7 @@ def read(self): demand_timeseries = self.get_timeseries("HeatingDemand_a3b8.target_heat_demand") new_timeseries = np.ones(len(demand_timeseries.values)) * 1 ind_hlf = int(len(demand_timeseries.values) / 2) - new_timeseries[ind_hlf : ind_hlf + 4] = np.ones(4) * 0.10 + new_timeseries[ind_hlf : ind_hlf + 1] = np.ones(1) * 0.10 self.set_timeseries(f"{s}.maximum_heat_source", new_timeseries) diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 67ba3b39d..7f5a0af77 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -393,22 +393,27 @@ def energy_system_options(self): np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_1_neg_discharge"], 0.0, + atol=1e-10, ) np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_2_neg_discharge"], 0.0, + atol=1e-10, ) np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_2_pos_discharge"], 0.0, + atol=1e-10, ) np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_1_pos_discharge"], 1.0, + atol=1e-10, ) np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_2_pos_discharge"], 0.0, + atol=1e-10, ) if pipe not in ["Pipe4", "Pipe4_ret"]: diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index c048d0535..d38742a96 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -48,17 +48,13 @@ def test_heat_pump_elec_min_heat(self): results = solution.extract_results() demand_matching_test(solution, results) - energy_conservation_test(solution, results) + energy_conservation_test(solution, results, atol_total=11) heat_to_discharge_test(solution, results) v_min_hp = solution.parameters(0)["GenericConversion_3d3f.min_voltage"] i_max = solution.parameters(0)["ElectricityCable_9d3b.max_current"] cop = solution.parameters(0)["GenericConversion_3d3f.COP"] - demand_matching_test(solution, results) - heat_to_discharge_test(solution, results) - energy_conservation_test(solution, results) - heatsource_prim = results["ResidualHeatSource_61b8.Heat_source"] heatsource_sec = results["ResidualHeatSource_aec9.Heat_source"] heatpump_power = results["GenericConversion_3d3f.Power_elec"] diff --git a/tests/test_pipe_diameter_sizing.py b/tests/test_pipe_diameter_sizing.py index 47d004571..ab841e4ba 100644 --- a/tests/test_pipe_diameter_sizing.py +++ b/tests/test_pipe_diameter_sizing.py @@ -102,7 +102,7 @@ def test_half_network_gone(self): ) for pipe in problem.energy_system_components.get("heat_pipe", []): - if results[f"{pipe}__hn_diameter"] <= 1e-14: + if results[f"{pipe}__hn_diameter"] <= 1e-12: # TODO: At the moment it is so that a pipe which is not placed (diameter == 0.) can # have head loss since there is an equivalent solution where simultaniously the # is_disconnected variable is also true disabling the head_loss constraints. diff --git a/tests/test_roll_out.py b/tests/test_roll_out.py index 1b2ca8376..6a57f6157 100644 --- a/tests/test_roll_out.py +++ b/tests/test_roll_out.py @@ -188,7 +188,7 @@ def read(self): # Check if it is not a trivial roll-out problem, i.e. not all heating demands # are placed in the first year not_placed_in_first_year = any( - results[f"{d}__asset_is_realized_0"] == 0 + results[f"{d}__asset_is_realized_0"] <= atol for d in solution.energy_system_components.get("heat_demand", []) ) np.testing.assert_( diff --git a/tests/test_setpoint_constraints.py b/tests/test_setpoint_constraints.py index 453eb0899..f75546ae0 100644 --- a/tests/test_setpoint_constraints.py +++ b/tests/test_setpoint_constraints.py @@ -37,7 +37,7 @@ def test_setpoint_constraints(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.xml", - **{"timed_setpoints": {"GeothermalSource_b702": (45, 1)}}, + **{"timed_setpoints": {"GeothermalSource_b702": (21, 1)}}, ) results_3 = _heat_problem_3.extract_results() @@ -48,7 +48,7 @@ def test_setpoint_constraints(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.xml", - **{"timed_setpoints": {"GeothermalSource_b702": (45, 0)}}, + **{"timed_setpoints": {"GeothermalSource_b702": (21, 0)}}, ) results_4 = _heat_problem_4.extract_results() diff --git a/tests/test_temperature_ates_hp.py b/tests/test_temperature_ates_hp.py index 68fbad94f..67e1c0782 100644 --- a/tests/test_temperature_ates_hp.py +++ b/tests/test_temperature_ates_hp.py @@ -127,7 +127,7 @@ def test_ates_temperature(self): # TODO: potentially update example such that the commented checks will also hold. # np.testing.assert_array_less(heat_pump_sec, geo_source) - charging = np.array([int(val > tol) for val in heat_ates]) + charging = np.array([int(val > 10 * tol) for val in heat_ates]) # array less then because ates charging boolean can be either 0 or 1 when there is no flow, # or just flow to compensate the heatloss np.testing.assert_array_less(np.ones(len(hex_disabled)) - tol, hex_disabled + hp_disabled) diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index 3ed1cb3ac..d71c87b80 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -359,11 +359,13 @@ def test_updated_esdl_eac(self): model_folder = base_folder / "model" input_folder = base_folder / "input" + esdl_name = "PoC Tutorial Discount5.esdl" + # Run the case in order to have access to results and solutions solution = run_end_scenario_sizing( EndScenarioSizingDiscountedStaged, base_folder=base_folder, - esdl_file_name="PoC Tutorial Discount5.esdl", + esdl_file_name=esdl_name, esdl_parser=ESDLFileParser, ) @@ -371,7 +373,7 @@ def test_updated_esdl_eac(self): parameters = solution.parameters(0) problem = EndScenarioSizingDiscountedStaged( - esdl_file_name="PoC Tutorial Discount5.esdl", + esdl_file_name=esdl_name, esdl_parser=ESDLFileParser, base_folder=base_folder, model_folder=model_folder, @@ -380,7 +382,7 @@ def test_updated_esdl_eac(self): problem.pre() # Load in optimized esdl in the form of the actual optimized esdl file created by MESIDO - esdl_path = os.path.join(base_folder, "model", "PoC Tutorial Discount5_GrowOptimized.esdl") + esdl_path = os.path.join(base_folder, "model", f"{esdl_name[:-5]}_GrowOptimized.esdl") energy_system = problem._ESDLMixin__energy_system_handler.load_file(esdl_path) # Util test diff --git a/tests/test_varying_temperature.py b/tests/test_varying_temperature.py index e341b6e27..a00dc464a 100644 --- a/tests/test_varying_temperature.py +++ b/tests/test_varying_temperature.py @@ -321,7 +321,7 @@ def test_hex_temperature_variation_disablehex(self): np.testing.assert_allclose(results["HeatExchange_39ed.Primary_heat"], 0.0) demand_matching_test(heat_problem, results) - energy_conservation_test(heat_problem, results) + energy_conservation_test(heat_problem, results, atol=25, atol_total=25) heat_to_discharge_test(heat_problem, results) def test_hex_temperature_variation_secondary(self): @@ -392,7 +392,7 @@ def test_heat_pump_varying_temperature(self): demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) - heat_to_discharge_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results, atol=20) expected_cop = ( parameters["GenericConversion_3d3f.efficiency"] diff --git a/tests/utils_tests.py b/tests/utils_tests.py index f1369282e..2cf7019da 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -175,7 +175,7 @@ def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): np.testing.assert_allclose( results[f"{d}.HeatOut.Heat"], results[f"{d}.Q"] * rho * cp * supply_t, - atol=5.0, + atol=atol, rtol=rtol, ) @@ -308,7 +308,7 @@ def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): <= results[f"{p}.Q"][indices] * rho * cp * temperature + atol ) ) - indices = results[f"{p}.Q"] < 0 + indices = results[f"{p}.Q"] < -1e-12 if f"{carrier_id}_temperature" in results.keys(): temperature = np.clip( results[f"{carrier_id}_temperature"][indices], @@ -408,7 +408,7 @@ def electric_power_conservation_test(solution, results, atol=1e-2): np.testing.assert_allclose(energy_sum, 0.0, atol=atol) -def energy_conservation_test(solution, results, atol=1e-3): +def energy_conservation_test(solution, results, atol=1e-3, atol_total=1e-1): """Test to check if the energy is conserved at each timestep""" energy_sum = np.zeros(len(solution.times())) @@ -471,8 +471,7 @@ def energy_conservation_test(solution, results, atol=1e-3): ) energy_sum -= results[f"{p}__hn_heat_loss"] - # TODO: fix hardcoded atol - np.testing.assert_allclose(energy_sum, 0.0, atol=1e-1) + np.testing.assert_allclose(energy_sum, 0.0, atol=atol_total) def gas_pipes_head_loss_test(solution, results, atol=1e-12): From a740e8b348e3d30cff1bbdc4e991158b9321ceae Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Thu, 18 Dec 2025 15:16:41 +0100 Subject: [PATCH 323/376] 391 fix influx issue (#393) Create new structure for passing database settings to the optimizer --- CHANGELOG.md | 1 + examples/PoCTutorial/src/run_grow_tutorial.py | 18 ++- examples/municipality/src/run_municipality.py | 18 +++ manual_run/testing_bugs/src/run_grow.py | 26 ++++ src/mesido/esdl/esdl_mixin.py | 78 +++++++++- src/mesido/esdl/profile_parser.py | 43 ++++-- src/mesido/influxdb/__init__.py | 0 src/mesido/influxdb/profile.py | 139 ------------------ src/mesido/workflows/io/write_output.py | 26 +++- .../1a_with_influx_profiles_wrong_name.esdl | 73 +++++---- tests/test_potential_errors.py | 13 +- tests/test_profile_parsing.py | 22 ++- tests/test_warmingup_unit_cases.py | 8 + 13 files changed, 247 insertions(+), 218 deletions(-) delete mode 100644 src/mesido/influxdb/__init__.py delete mode 100644 src/mesido/influxdb/profile.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 68d5063c3..55479f31d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - Clean up of old code and removing duplicates. - Minimize TCO objective in the grow_workflow is now only based on capex and opex that can be influenced. - Removed the requirement of "_ret" for the return network pipes, for ESDLversion 21.10 and later. The relation between supply and return pipes is now based on the "related" attribute in the esdl. +- New data structute for specifying database connection inputs ## Fixed - Bug: Write updated esdl for 2 port heat pump diff --git a/examples/PoCTutorial/src/run_grow_tutorial.py b/examples/PoCTutorial/src/run_grow_tutorial.py index b681f5615..ce9184ef4 100644 --- a/examples/PoCTutorial/src/run_grow_tutorial.py +++ b/examples/PoCTutorial/src/run_grow_tutorial.py @@ -1,5 +1,6 @@ from pathlib import Path +from mesido.esdl.esdl_mixin import DBAccesType from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing @@ -13,12 +14,17 @@ class EndScenarioSizingStagedHighs(EndScenarioSizingStaged): kwargs = { "write_result_db_profiles": True, - "influxdb_host": "localhost", - "influxdb_port": 8086, - "influxdb_username": None, - "influxdb_password": None, - "influxdb_ssl": False, - "influxdb_verify_ssl": False, + "database_connections": [ + { + "access_type": DBAccesType.WRITE, # DBAccesType.READ or DBAccesType.READ_WRITE + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + }, + ], } start_time = time.time() diff --git a/examples/municipality/src/run_municipality.py b/examples/municipality/src/run_municipality.py index 153ab70f1..6d5cd8b1b 100644 --- a/examples/municipality/src/run_municipality.py +++ b/examples/municipality/src/run_municipality.py @@ -1,5 +1,6 @@ from pathlib import Path +from mesido.esdl.esdl_mixin import DBAccesType from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing @@ -10,11 +11,28 @@ start_time = time.time() base_folder = Path(__file__).resolve().parent.parent + # Please specify the database credentials locally to read profiles from the database used in + # the esdl file + kwargs = { + "database_connections": [ + { + "access_type": DBAccesType.READ, # DBAccesType.WRITE or DBAccesType.READ_WRITE + "influxdb_host": "required_user_input", + "influxdb_port": 1234, + "influxdb_username": "required_user_input", + "influxdb_password": "required_user_input", + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + }, + ], + } + solution = run_end_scenario_sizing( EndScenarioSizingStaged, base_folder=base_folder, esdl_file_name="GROW_withATES_Prod_install.esdl", esdl_parser=ESDLFileParser, + **kwargs, ) print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/manual_run/testing_bugs/src/run_grow.py b/manual_run/testing_bugs/src/run_grow.py index f7ec98bd0..7e92dc40f 100644 --- a/manual_run/testing_bugs/src/run_grow.py +++ b/manual_run/testing_bugs/src/run_grow.py @@ -2,6 +2,7 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing +from mesido.esdl.esdl_mixin import DBAccesType if __name__ == "__main__": import time @@ -9,11 +10,36 @@ start_time = time.time() base_folder = Path(__file__).resolve().parent.parent + kwargs = { + "database_connections": [ + { + "access_type": DBAccesType.READ, # or DBAccesType.WRITE or DBAccesType.READ_WRITE + "influxdb_host": "required_user_input", + "influxdb_port": 1234, + "influxdb_username": "required_user_input", + "influxdb_password": "required_user_input", + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + }, + { + "access_type": DBAccesType.WRITE, # or DBAccesType.WRITE or DBAccesType.READ_WRITE + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + }, + + ], + } + solution = run_end_scenario_sizing( EndScenarioSizingStaged, base_folder=base_folder, esdl_file_name="Base Netwerk Delft.esdl", esdl_parser=ESDLFileParser, + # **kwargs, # Example of usage if needed/used ) print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index 8e6a2ceb0..6e8ff0b19 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -2,9 +2,10 @@ import copy import dataclasses import logging +import sys from datetime import timedelta from pathlib import Path -from typing import Any, Dict, List, Optional +from typing import Any, Dict, List, Optional, Tuple import esdl.esdl_handler @@ -32,6 +33,7 @@ ) from rtctools.optimization.io_mixin import IOMixin +from strenum import StrEnum logger = logging.getLogger("mesido") @@ -41,6 +43,16 @@ DEFAULT_END_TIMESTAMP = "2018-01-01T00:00:00+00:00" +class DBAccesType(StrEnum): + """ + Enumeration for database access types + """ + + READ = "read" + WRITE = "write" + READ_WRITE = "read_write" + + class _ESDLInputException(Exception): pass @@ -103,16 +115,74 @@ def __init__(self, *args, **kwargs) -> None: self._esdl_carriers: Dict[str, Dict[str, Any]] = esdl_parser.get_carrier_properties() self.__energy_system_handler: esdl.esdl_handler.EnergySystemHandler = esdl_parser.get_esh() self._esdl_templates: Dict[str, Asset] = esdl_parser.get_templates() + self._database_credentials: Optional[Dict[str, Tuple[str, str]]] = { + DBAccesType.READ: [], + DBAccesType.WRITE: [], + } profile_reader_class = kwargs.get("profile_reader", InfluxDBProfileReader) input_file_name = kwargs.get("input_timeseries_file", None) input_folder = kwargs.get("input_folder") input_file_path = None + + # Setup credentials for database connections + database_connection_info = kwargs.get("database_connections", {}) + read_only_dbase_credentials: Dict[str, Tuple[str, str]] = {} # for profile reader + for dbconnection in database_connection_info: + if dbconnection["access_type"] != DBAccesType.WRITE: + database_host_port = "{}:{}".format( + dbconnection["influxdb_host"], + dbconnection["influxdb_port"], + ) + read_only_dbase_credentials[database_host_port] = ( + dbconnection["influxdb_username"], + dbconnection["influxdb_password"], + ) + if dbconnection["access_type"] != DBAccesType.READ_WRITE: + self._database_credentials[dbconnection["access_type"]].append( + { + "influxdb_host": dbconnection["influxdb_host"], + "influxdb_port": dbconnection["influxdb_port"], + "influxdb_username": dbconnection["influxdb_username"], + "influxdb_password": dbconnection["influxdb_password"], + "influxdb_ssl": dbconnection["influxdb_ssl"], + "influxdb_verify_ssl": dbconnection["influxdb_verify_ssl"], + } + ) + elif dbconnection["access_type"] == DBAccesType.READ_WRITE: + both_read_and_write = [DBAccesType.READ, DBAccesType.WRITE] + for rw in both_read_and_write: + self._database_credentials[rw].append( + { + "influxdb_host": dbconnection["influxdb_host"], + "influxdb_port": dbconnection["influxdb_port"], + "influxdb_username": dbconnection["influxdb_username"], + "influxdb_password": dbconnection["influxdb_password"], + "influxdb_ssl": dbconnection["influxdb_ssl"], + "influxdb_verify_ssl": dbconnection["influxdb_verify_ssl"], + } + ) + else: + logger.error( + f"Database access type {dbconnection['access_type']} is not recognized. " + f"Please use DBAccesType.READ, DBAccesType.WRITE or DBAccesType.READ_WRITE." + ) + sys.exit(1) + if input_file_name is not None: input_file_path = Path(input_folder) / input_file_name - self.__profile_reader: BaseProfileReader = profile_reader_class( - energy_system=self.__energy_system_handler.energy_system, file_path=input_file_path - ) + + if read_only_dbase_credentials: # read from database + self.__profile_reader: BaseProfileReader = profile_reader_class( + energy_system=self.__energy_system_handler.energy_system, + file_path=input_file_path, + database_credentials=read_only_dbase_credentials, + ) + else: # read from a file, no database credentials needed + self.__profile_reader: BaseProfileReader = profile_reader_class( + energy_system=self.__energy_system_handler.energy_system, + file_path=input_file_path, + ) # This way we allow users to adjust the parsed ESDL assets assets = self.esdl_assets diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index e3f818c35..b30e2342c 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -3,7 +3,7 @@ import sys from collections import defaultdict from pathlib import Path -from typing import Dict, Optional, Set +from typing import Dict, Optional, Set, Tuple import esdl from esdl.profiles.influxdbprofilemanager import ConnectionSettings @@ -23,8 +23,6 @@ logger = logging.getLogger() -influx_cred_map = {"wu-profiles.esdl-beta.hesi.energy:443": ("warmingup", "warmingup")} - class _ProfileParserException(Exception): pass @@ -43,7 +41,11 @@ class BaseProfileReader: carrier_profile_var_name: str = ".price_profile" - def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): + def __init__( + self, + energy_system: esdl.EnergySystem, + file_path: Optional[Path], + ): self._profiles: Dict[int, Dict[str, np.ndarray]] = defaultdict(dict) self._energy_system: esdl.EnergySystem = energy_system self._file_path: Optional[Path] = file_path @@ -218,9 +220,20 @@ class InfluxDBProfileReader(BaseProfileReader): esdl.esdl.GeothermalSource: ".maximum_heat_source", } - def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): - super().__init__(energy_system=energy_system, file_path=file_path) + def __init__( + self, + energy_system: esdl.EnergySystem, + file_path: Optional[Path], + database_credentials: Optional[Dict[str, Tuple[str, str]]] = None, + ): + super().__init__( + energy_system=energy_system, + file_path=file_path, + ) self._df = pd.DataFrame() + self._database_credentials = ( + database_credentials if database_credentials is not None else {"": ("", "")} + ) def _load_profiles_from_source( self, @@ -399,12 +412,7 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) ssl_setting = True influx_host = "{}:{}".format(profile_host, profile.port) - # TODO: remove hard-coded database credentials, should probably be read from a settings file - if influx_host in influx_cred_map: - (username, password) = influx_cred_map[influx_host] - else: - username = None - password = None + (username, password) = self._database_credentials.get(influx_host, (None, None)) conn_settings = ConnectionSettings( host=profile.host, @@ -593,8 +601,15 @@ def _get_profile_quantity_and_unit(profile: esdl.InfluxDBProfile): class ProfileReaderFromFile(BaseProfileReader): - def __init__(self, energy_system: esdl.EnergySystem, file_path: Path): - super().__init__(energy_system=energy_system, file_path=file_path) + def __init__( + self, + energy_system: esdl.EnergySystem, + file_path: Path, + ): + super().__init__( + energy_system=energy_system, + file_path=file_path, + ) def _load_profiles_from_source( self, diff --git a/src/mesido/influxdb/__init__.py b/src/mesido/influxdb/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/mesido/influxdb/profile.py b/src/mesido/influxdb/profile.py deleted file mode 100644 index a927882b5..000000000 --- a/src/mesido/influxdb/profile.py +++ /dev/null @@ -1,139 +0,0 @@ -import logging -import sys -from datetime import timedelta as td - -import esdl -from esdl.profiles.influxdbprofilemanager import InfluxDBProfileManager -from esdl.units.conversion import ENERGY_IN_J, POWER_IN_W, convert_to_unit - - -import pandas as pd - -logger = logging.getLogger() - -data_set = {} -influx_cred_map = { - "wu-profiles.esdl-beta.hesi.energy:443": ("warmingup", "warmingup"), - "omotes-poc-test.hesi.energy:8086": ("write-user", "nwn_write_test"), -} -time_step = td(seconds=3600) -time_step_notation = "{}s".format(int(time_step.total_seconds())) - - -def parse_esdl_profiles(es, start_date=None, end_date=None): - logger.info("Caching profiles...") - error_neighbourhoods = list() - for profile in [x for x in es.eAllContents() if isinstance(x, esdl.InfluxDBProfile)]: - profile_host = profile.host - try: - # profile associated to asset - containing_asset_id = profile.eContainer().energyasset.id - except AttributeError: - # profile associated to carrier - containing_asset_id = profile.eContainer().id - - ssl_setting = False - if "https" in profile_host: - profile_host = profile_host[8:] - ssl_setting = True - elif "http" in profile_host: - profile_host = profile_host[7:] - if profile.port == 443: - ssl_setting = True - influx_host = "{}:{}".format(profile_host, profile.port) - if influx_host in influx_cred_map: - (username, password) = influx_cred_map[influx_host] - else: - username = None - password = None - - time_series_data = InfluxDBProfileManager.create_esdl_influxdb_profile_manager( - profile, - username, - password, - ssl_setting, - ssl_setting, - ) - - # Error check start and end dates of profiles - if time_series_data.end_datetime != profile.endDate: - logger.error( - f"The user input profile end datetime: {profile.endDate} does not match the end" - f" datetime in the datbase: {time_series_data.end_datetime} for variable: " - f"{profile.field}" - ) - sys.exit(1) - if time_series_data.start_datetime != profile.startDate: - logger.error( - f"The user input profile start datetime: {profile.startDate} does not match the" - f" start date in the datbase: {time_series_data.start_datetime} for variable: " - f"{profile.field}" - ) - sys.exit(1) - if time_series_data.start_datetime != time_series_data.profile_data_list[0][0]: - logger.error( - f"The profile's variable value for the start datetime: " - f"{time_series_data.start_datetime} does not match the start datetime of the" - f" profile data: {time_series_data.profile_data_list[0][0]}" - ) - sys.exit(1) - if time_series_data.end_datetime != time_series_data.profile_data_list[-1][0]: - logger.error( - f"The profile's variable value for the end datetime: " - f"{time_series_data.end_datetime} does not match the end datetime of the" - f" profile data: {time_series_data.profile_data_list[-1][0]}" - ) - sys.exit(1) - - # Error check: ensure that the profile data has a time resolutuon of 3600s (1hour) as - # expected - for idp in range(len(time_series_data.profile_data_list) - 1): - time_resolution = ( - time_series_data.profile_data_list[idp + 1][0] - - time_series_data.profile_data_list[idp][0] - ) - if time_resolution.seconds != 3600: - logger.error( - f"The time resolution of the profile:{profile.measurement}-{profile.field} is" - "not 3600s as expected" - ) - sys.exit(1) - - data_points = { - t[0].strftime("%Y-%m-%dT%H:%M:%SZ"): t[1] for t in time_series_data.profile_data_list - } - df = pd.DataFrame.from_dict(data_points, orient="index") - df.index = pd.to_datetime(df.index, utc=True) - - # TODO add test case. Currently no test case for esdl parsing - # Convert Power and Energy to standard unit of Watt and Joules - for idf in range(len(df)): - try: - unit = profile.profileQuantityAndUnit.reference.physicalQuantity - except AttributeError: - unit = profile.profileQuantityAndUnit.physicalQuantity - if unit == esdl.PhysicalQuantityEnum.POWER: - df.iloc[idf] = convert_to_unit( - df.iloc[idf], profile.profileQuantityAndUnit, POWER_IN_W - ) - elif unit == esdl.PhysicalQuantityEnum.ENERGY: - df.iloc[idf] = convert_to_unit( - df.iloc[idf], profile.profileQuantityAndUnit, ENERGY_IN_J - ) - elif unit == esdl.PhysicalQuantityEnum.COST: - # we assume no unit change for now - pass - else: - print( - f"Current the code only caters for: {esdl.PhysicalQuantityEnum.POWER} & " - f"{esdl.PhysicalQuantityEnum.ENERGY}, and it does not cater for " - f"{unit}" - ) - sys.exit(1) - - data_set[containing_asset_id] = df * profile.multiplier - - if len(error_neighbourhoods) > 0: - raise RuntimeError(f"Encountered errors loading data for {error_neighbourhoods}") - - return data_set diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 4cc8f5883..9f314c338 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -18,6 +18,7 @@ import mesido.esdl.esdl_parser from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.esdl.edr_pipe_class import EDRPipeClass +from mesido.esdl.esdl_mixin import DBAccesType from mesido.financial_mixin import calculate_annuity_factor from mesido.network_common import NetworkSettings from mesido.post_processing.post_processing_utils import pipe_pressure, pipe_velocity @@ -59,8 +60,21 @@ def __init__(self, **kwargs): sys.exit(1) if self.write_result_db_profiles: + database_connection_write = self._database_credentials.get(DBAccesType.WRITE, []) + + if len(database_connection_write) == 0: + logger.error("The connections settings for writing to a database is empty") + sys.exit(1) + elif len(database_connection_write) > 1: + logger.error( + "Multiple connections have been specified for writing to a database;" + " currently only one connection is supported" + ) + sys.exit(1) + else: + database_connection_input = database_connection_write[0] try: - self.influxdb_host = kwargs["influxdb_host"] + self.influxdb_host = database_connection_input["influxdb_host"] if len(self.influxdb_host) == 0: logger.error( "Current setting of influxdb_host is an empty string and it should" @@ -71,7 +85,7 @@ def __init__(self, **kwargs): logger.error(f"{base_error_string} host") sys.exit(1) try: - self.influxdb_port = kwargs["influxdb_port"] + self.influxdb_port = database_connection_input["influxdb_port"] if not isinstance(self.influxdb_port, int): logger.error( "Current setting of influxdb_port is: " @@ -82,17 +96,17 @@ def __init__(self, **kwargs): logger.error(f"{base_error_string} port") sys.exit(1) try: - self.influxdb_username = kwargs["influxdb_username"] + self.influxdb_username = database_connection_input["influxdb_username"] except KeyError: logger.error(f"{base_error_string} username") sys.exit(1) try: - self.influxdb_password = kwargs["influxdb_password"] + self.influxdb_password = database_connection_input["influxdb_password"] except KeyError: logger.error(f"{base_error_string} password") sys.exit(1) try: - self.influxdb_ssl = kwargs["influxdb_ssl"] + self.influxdb_ssl = database_connection_input["influxdb_ssl"] if self.influxdb_ssl not in [True, False]: logger.error( "Current setting of influxdb_ssl is: " @@ -103,7 +117,7 @@ def __init__(self, **kwargs): logger.error(f"{base_error_string} ssl") sys.exit(1) try: - self.influxdb_verify_ssl = kwargs["influxdb_verify_ssl"] + self.influxdb_verify_ssl = database_connection_input["influxdb_verify_ssl"] if self.influxdb_verify_ssl not in [True, False]: logger.error( "Current setting of influxdb_verify_ssl is: " diff --git a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_wrong_name.esdl b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_wrong_name.esdl index 6716a2d34..a4fc7e52e 100644 --- a/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_wrong_name.esdl +++ b/tests/models/unit_cases/case_1a/model/1a_with_influx_profiles_wrong_name.esdl @@ -1,5 +1,5 @@ - + @@ -9,9 +9,6 @@ - - - @@ -19,36 +16,36 @@ - - - + + + - + - - - + + + - + - - + + - - + + - - + + @@ -66,8 +63,8 @@
- - + +
@@ -85,8 +82,8 @@ - - + + @@ -104,8 +101,8 @@ - - + + @@ -123,49 +120,49 @@ - - + + - - - + + + - + - - + + - - + + - - + + - - + + diff --git a/tests/test_potential_errors.py b/tests/test_potential_errors.py index ddd808b77..e56fef24b 100644 --- a/tests/test_potential_errors.py +++ b/tests/test_potential_errors.py @@ -21,8 +21,15 @@ class MockInfluxDBProfileReader(InfluxDBProfileReader): - def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): - super().__init__(energy_system, file_path) + def __init__( + self, + energy_system: esdl.EnergySystem, + file_path: Optional[Path], + ): + super().__init__( + energy_system=energy_system, + file_path=file_path, + ) self._loaded_profiles = pd.read_csv( file_path, index_col="DateTime", @@ -206,7 +213,7 @@ def test_asset_potential_errors(self): np.testing.assert_equal( cm.exception.message_per_asset_id["2ab92324-f86e-4976-9a6e-f7454b77ba3c"], "Asset named HeatingDemand_2ab9: Input profile " - "demand1_MW_wrong_name in Unittests profiledata is not available in the database.", + "demand1_MW_wrong_name in WarmingUp default profiles is not available in the database.", ) # Check that the ResidualHeatSource multiplier's error is picked up diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index cfa60c8c7..fd7439185 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -4,7 +4,7 @@ import unittest import unittest.mock from pathlib import Path -from typing import Optional +from typing import Dict, Optional, Tuple import esdl @@ -22,8 +22,13 @@ class MockInfluxDBProfileReader(InfluxDBProfileReader): - def __init__(self, energy_system: esdl.EnergySystem, file_path: Optional[Path]): - super().__init__(energy_system, file_path) + def __init__( + self, + energy_system: esdl.EnergySystem, + file_path: Optional[Path], + database_credentials: Optional[Dict[str, Tuple[str, str]]] = None, + ): + super().__init__(energy_system, file_path, database_credentials=database_credentials) self._loaded_profiles = pd.read_csv( file_path, index_col="DateTime", @@ -145,6 +150,7 @@ def test_loading_from_influx(self): base_folder = Path(run_1a.__file__).resolve().parent.parent model_folder = base_folder / "model" input_folder = base_folder / "input" + problem = EndScenarioSizingStaged( esdl_parser=ESDLFileParser, base_folder=base_folder, @@ -314,9 +320,9 @@ def test_loading_profile_from_esdl(self): # unittest.main() a = TestProfileLoading() c = TestProfileUpdating() - # a.test_loading_from_influx() - # a.test_loading_from_csv() - # a.test_loading_from_xml() - # a.test_loading_from_csv_with_influx_profiles_given() - # c.test_profile_updating() + a.test_loading_from_influx() + a.test_loading_from_csv() + a.test_loading_from_xml() + a.test_loading_from_csv_with_influx_profiles_given() + c.test_profile_updating() a.test_loading_profile_from_esdl() diff --git a/tests/test_warmingup_unit_cases.py b/tests/test_warmingup_unit_cases.py index ad1ac9876..3a53f1665 100644 --- a/tests/test_warmingup_unit_cases.py +++ b/tests/test_warmingup_unit_cases.py @@ -192,3 +192,11 @@ def test_3a(self): results[f"{buffer}.HeatOut.H"][inds] - results[f"{buffer}.HeatIn.H"][inds], atol=1.0e-6, ) + + +if __name__ == "__main__": + + a = TestWarmingUpUnitCases() + a.test_1a() + a.test_2a() + a.test_3a() From e3949d65c664ce56ed7efca92148c64e4919c7f7 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Fri, 19 Dec 2025 13:50:03 +0100 Subject: [PATCH 324/376] Reducing binary charging variables (#384) Removing binary charging variable for batteries, thereby also updating the charging and discharging variables in the multicommodity simulator. If required the binary is_charging variable can still be added/used by setting an option. --- CHANGELOG.md | 1 + examples/heating_and_cooling/src/run_case.py | 2 +- src/mesido/electricity_physics_mixin.py | 135 ++++++------------ .../milp/electricity/electricity_storage.py | 40 ++++++ src/mesido/workflows/gas_elect_workflow.py | 2 +- src/mesido/workflows/goals/rollout_goal.py | 2 +- src/mesido/workflows/grow_workflow.py | 2 +- .../multicommodity_simulator_workflow.py | 7 +- src/mesido/workflows/simulator_workflow.py | 2 +- src/mesido/workflows/utils/adapt_profiles.py | 2 +- src/mesido/workflows/utils/helpers.py | 2 +- .../battery/src/example.py | 13 +- tests/models/wko/src/example.py | 2 +- tests/test_cold_demand.py | 4 +- tests/test_cost_input.py | 2 +- tests/test_electricity_storage.py | 60 ++++++-- tests/test_multicommodity_simulator.py | 2 +- tests/test_potential_errors.py | 2 +- 18 files changed, 155 insertions(+), 127 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55479f31d..540ff6f9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - Minimize TCO objective in the grow_workflow is now only based on capex and opex that can be influenced. - Removed the requirement of "_ret" for the return network pipes, for ESDLversion 21.10 and later. The relation between supply and return pipes is now based on the "related" attribute in the esdl. - New data structute for specifying database connection inputs +- The charging and discharging variable for electricity storage is created without a binary variable using the convex hull description. ## Fixed - Bug: Write updated esdl for 2 port heat pump diff --git a/examples/heating_and_cooling/src/run_case.py b/examples/heating_and_cooling/src/run_case.py index b6881a689..2b7556e9f 100644 --- a/examples/heating_and_cooling/src/run_case.py +++ b/examples/heating_and_cooling/src/run_case.py @@ -9,7 +9,7 @@ adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, ) -logger = logging.getLogger("WarmingUP-MPC") +logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 7c29610dd..fc58f509b 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -1,8 +1,7 @@ -import copy import logging from enum import IntEnum from math import isclose -from typing import List, Tuple +from typing import Tuple import casadi as ca @@ -99,7 +98,7 @@ def energy_system_options(self): options["electrolyzer_efficiency"] = ( ElectrolyzerOption.LINEARIZED_THREE_LINES_WEAK_INEQUALITY ) - options["electricity_storage_discharge_variables"] = False + options["electricity_storage_discrete_charge_variables"] = False return options @@ -146,24 +145,12 @@ def pre(self): self.__electrolyzer_is_active_linear_segment_var[var_name] = ca.MX.sym(var_name) self.__electrolyzer_is_active_linear_segment_bounds[var_name] = (0.0, 1.0) - for asset in [*self.energy_system_components.get("electricity_storage", [])]: - var_name = f"{asset}__is_charging" - self.__storage_charging_map[asset] = var_name - self.__storage_charging_var[var_name] = ca.MX.sym(var_name) - self.__storage_charging_bounds[var_name] = (0.0, 1.0) - - if options["electricity_storage_discharge_variables"]: - bound_storage = -self.bounds()[f"{asset}.Effective_power_charging"][0] - if isinstance(bound_storage, Timeseries): - bound_storage = copy.deepcopy(bound_storage) - bound_storage.values[bound_storage.values < 0] = 0.0 - var_name = f"{asset}__effective_power_discharging" - self.__electricity_storage_discharge_map[asset] = var_name - self.__electricity_storage_discharge_var[var_name] = ca.MX.sym(var_name) - self.__electricity_storage_discharge_bounds[var_name] = (0, bound_storage) - self.__electricity_storage_discharge_nominals[var_name] = self.variable_nominal( - f"{asset}.Effective_power_charging" - ) + if options["electricity_storage_discrete_charge_variables"]: + for asset in [*self.energy_system_components.get("electricity_storage", [])]: + var_name = f"{asset}__is_charging" + self.__storage_charging_map[asset] = var_name + self.__storage_charging_var[var_name] = ca.MX.sym(var_name) + self.__storage_charging_bounds[var_name] = (0.0, 1.0) for asset in [*self.energy_system_components.get("electricity_source", [])]: if isinstance(self.bounds()[f"{asset}.Electricity_source"][1], Timeseries): @@ -558,6 +545,7 @@ def __electricity_storage_path_constraints(self, ensemble_member): the boolean for charging and using a charging efficiency during charging. """ constraints = [] + options = self.energy_system_options() parameters = self.parameters(ensemble_member) for asset in [ @@ -572,101 +560,61 @@ def __electricity_storage_path_constraints(self, ensemble_member): power_nom = self.variable_nominal(f"{asset}.ElectricityIn.Power") curr_nom = self.variable_nominal(f"{asset}.ElectricityIn.I") - power_in = self.state(f"{asset}.ElectricityIn.Power") current_in = self.state(f"{asset}.ElectricityIn.I") + power_discharging = self.state(f"{asset}.Power_discharging") + power_discharging_max = self.bounds()[f"{asset}.Power_discharging"][1] + power_charging = self.state(f"{asset}.Power_charging") + power_charging_max = self.bounds()[f"{asset}.Power_charging"][1] - # is_charging is 1 if charging and powerin>0 - big_m = 2 * max(np.abs(self.bounds()[f"{asset}.ElectricityIn.Power"])) - is_charging = self.state(f"{asset}__is_charging") - constraints.append(((power_in + (1 - is_charging) * big_m) / power_nom, 0.0, np.inf)) - constraints.append(((power_in - is_charging * big_m) / power_nom, -np.inf, 0.0)) + if options["electricity_storage_discrete_charge_variables"]: + is_charging = self.state(f"{asset}__is_charging") + constraints.append( + ( + (power_discharging - (1 - is_charging) * power_discharging_max) / power_nom, + -np.inf, + 0.0, + ) + ) + constraints.append( + ((power_charging - is_charging * power_charging_max) / power_nom, -np.inf, 0.0) + ) + # if the storage is discharging, current_in would be negative. constraints.append( ( - (power_in - min_voltage * current_in + (1 - is_charging) * big_m) + (power_charging - min_voltage * current_in) / (power_nom * curr_nom * min_voltage) ** 0.5, - 0, + 0.0, np.inf, ) ) + # to ensure power_charging is equal to min_voltage*current, only when charging constraints.append( ( - (power_in - min_voltage * current_in - (1 - is_charging) * big_m) + (power_charging - min_voltage * current_in - power_discharging) / (power_nom * curr_nom * min_voltage) ** 0.5, -np.inf, - 0, + 0.0, ) ) - # power charging using discharge/charge efficiency, needs boolean - eff_power = self.state(f"{asset}.Effective_power_charging") - discharge_eff = parameters[f"{asset}.discharge_efficiency"] - charge_eff = parameters[f"{asset}.charge_efficiency"] - # charging - constraints.append( - ( - (eff_power - charge_eff * power_in + (1 - is_charging) * big_m) / power_nom, - 0, - np.inf, - ) - ) - constraints.append( - ( - (eff_power - charge_eff * power_in - (1 - is_charging) * big_m) / power_nom, - -np.inf, - 0, - ) - ) - # discharging + # reduces problem size + # charging/max_charging + discharging/max_discharging <=1 constraints.append( ( - (eff_power * discharge_eff - power_in + is_charging * big_m) / power_nom, - 0, - np.inf, - ) - ) - constraints.append( - ( - (eff_power * discharge_eff - power_in - is_charging * big_m) / power_nom, + ( + power_charging / power_charging_max + + power_discharging / power_discharging_max + - 1 + ) + / power_nom, -np.inf, - 0, + 0.0, ) ) return constraints - def __electricity_storage_discharge_var_path_constraints( - self, ensemble_member: int - ) -> List[Tuple[ca.MX, float, float]]: - """ - The discharge variables are added such that two separate goals for charging and discharging - can be created. The discharging variable has a lower bound of 0 and should always be larger - or equal to the negative of the inflow variable. This allows for first a minimization of - the discharging and afterwards a maximisation of the charging without conflicting goals or - constraints. - - :param ensemble_member: - :return: list of the additional constraints that are created - """ - - constraints = [] - options = self.energy_system_options() - - if options["electricity_storage_discharge_variables"]: - for storage in self.energy_system_components.get("electricity_storage", []): - storage_eff_power_charge_var = self.state(f"{storage}.Effective_power_charging") - discharge_var_name = self.__electricity_storage_discharge_map[storage] - storage_discharge_var = self.__electricity_storage_discharge_var[discharge_var_name] - nominal = self.variable_nominal(discharge_var_name) - - # P_effective_charge represents both charging and discharing based on the sign. - # P_discharge >= -P_effective_charge - constraints.append( - ((storage_discharge_var + storage_eff_power_charge_var) / nominal, 0.0, np.inf) - ) - - return constraints - def __get_electrolyzer_gas_mass_flow_out( self, coef_a, coef_b, coef_c, electrical_power_input ) -> float: @@ -922,9 +870,6 @@ def path_constraints(self, ensemble_member): constraints.extend(self.__voltage_loss_path_constraints(ensemble_member)) constraints.extend(self.__electrolyzer_path_constaint(ensemble_member)) constraints.extend(self.__electricity_storage_path_constraints(ensemble_member)) - constraints.extend( - self.__electricity_storage_discharge_var_path_constraints(ensemble_member) - ) return constraints diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py b/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py index 5f3a22fa7..a5aa86533 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py @@ -50,6 +50,42 @@ def __init__(self, name, **modifiers): nominal=self.ElectricityIn.Power.nominal, max=self.ElectricityIn.Power.max, ) + self.add_variable( + Variable, + "Power_charging", + min=0.0, + max=self.ElectricityIn.Power.max, + nominal=self.ElectricityIn.Power.nominal, + ) + self.add_variable( + Variable, + "Power_discharging", + min=0.0, + max=self.ElectricityIn.Power.max, + nominal=self.ElectricityIn.Power.nominal, + ) + + # Convex hull formulation is applied for the power charging and discharging. As long as + # the efficiencies during charging and discharging are less than 1 and no negative prices + # are applied, no binary variables are needed to describe whether the battery is in + # charging or discharging mode. + self.add_equation( + ( + (self.ElectricityIn.Power - (self.Power_charging - self.Power_discharging)) + / self.ElectricityIn.Power.nominal + ) + ) + + self.add_equation( + ( + ( + self.Effective_power_charging + - self.charge_efficiency * self.Power_charging + + 1 / self.discharge_efficiency * self.Power_discharging + ) + / self.ElectricityIn.Power.nominal + ) + ) self.add_equation( ( @@ -57,3 +93,7 @@ def __init__(self, name, **modifiers): / self.ElectricityIn.Power.nominal ) ) + + # For current situation not required, but the battery could be split up in multiple + # segments that each individually have their power charging and discharging and when + # summed up are equal to current variables. diff --git a/src/mesido/workflows/gas_elect_workflow.py b/src/mesido/workflows/gas_elect_workflow.py index c4127df71..be432c034 100644 --- a/src/mesido/workflows/gas_elect_workflow.py +++ b/src/mesido/workflows/gas_elect_workflow.py @@ -25,7 +25,7 @@ ) from rtctools.util import run_optimization_problem -logger = logging.getLogger("WarmingUP-MPC") +logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) diff --git a/src/mesido/workflows/goals/rollout_goal.py b/src/mesido/workflows/goals/rollout_goal.py index 14e1880c4..d09d36ccd 100644 --- a/src/mesido/workflows/goals/rollout_goal.py +++ b/src/mesido/workflows/goals/rollout_goal.py @@ -6,7 +6,7 @@ from rtctools.optimization.single_pass_goal_programming_mixin import Goal -logger = logging.getLogger("WarmingUP-MPC") +logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 333fffa4a..488099e93 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -40,7 +40,7 @@ DB_USER = "admin" DB_PASSWORD = "admin" -logger = logging.getLogger("WarmingUP-MPC") +logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) locale.setlocale(locale.LC_ALL, "") diff --git a/src/mesido/workflows/multicommodity_simulator_workflow.py b/src/mesido/workflows/multicommodity_simulator_workflow.py index a713bd937..e132bca3f 100644 --- a/src/mesido/workflows/multicommodity_simulator_workflow.py +++ b/src/mesido/workflows/multicommodity_simulator_workflow.py @@ -36,7 +36,7 @@ DB_USER = "admin" DB_PASSWORD = "admin" -logger = logging.getLogger("WarmingUP-MPC") +logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) locale.setlocale(locale.LC_ALL, "") @@ -301,8 +301,8 @@ def __create_asset_list_controls(self, asset_types_to_include, assets_without_co "gas_source": "Gas_source_mass_flow", "gas_tank_storage": {"charge": "Gas_tank_flow", "discharge": "__Q_discharge"}, "electricity_storage": { - "charge": "Effective_power_charging", - "discharge": "__effective_power_discharging", + "charge": "Power_charging", + "discharge": ".Power_discharging", }, "electrolyzer": "Power_consumed", } @@ -521,7 +521,6 @@ def energy_system_options(self): options["estimated_velocity"] = 7.5 options["gas_storage_discharge_variables"] = True - options["electricity_storage_discharge_variables"] = True return options diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index a78442976..afddf8046 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -34,7 +34,7 @@ DB_USER = "admin" DB_PASSWORD = "admin" -logger = logging.getLogger("WarmingUP-MPC") +logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) locale.setlocale(locale.LC_ALL, "") diff --git a/src/mesido/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py index 9130ace1d..17d5eceb9 100644 --- a/src/mesido/workflows/utils/adapt_profiles.py +++ b/src/mesido/workflows/utils/adapt_profiles.py @@ -10,7 +10,7 @@ from rtctools.data.storage import DataStore -logger = logging.getLogger("WarmingUP-MPC") +logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) diff --git a/src/mesido/workflows/utils/helpers.py b/src/mesido/workflows/utils/helpers.py index 885b35f83..50fea2cd3 100644 --- a/src/mesido/workflows/utils/helpers.py +++ b/src/mesido/workflows/utils/helpers.py @@ -46,7 +46,7 @@ def _sort_numbered(list_): def main_decorator(func): def main(runinfo_path=None, log_level=None, run_remote=None): - logger = logging.getLogger("WarmingUP-MPC") + logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) def handle_exception(exc_type, exc_value, exc_traceback): diff --git a/tests/models/unit_cases_electricity/battery/src/example.py b/tests/models/unit_cases_electricity/battery/src/example.py index 024faa509..4e845f80c 100644 --- a/tests/models/unit_cases_electricity/battery/src/example.py +++ b/tests/models/unit_cases_electricity/battery/src/example.py @@ -58,7 +58,6 @@ def path_goals(self): def energy_system_options(self): options = super().energy_system_options() options["include_electric_cable_power_loss"] = False - options["electricity_storage_discharge_variables"] = True return options @@ -81,6 +80,8 @@ def constraints(self, ensemble_member): for bat in self.energy_system_components.get("electricity_storage", []): stored_elec = self.state_vector(f"{bat}.Stored_electricity") constraints.append((stored_elec[0], 0.0, 0.0)) + power_in = self.__state_vector_scaled(f"{bat}.Power_discharging", ensemble_member) + constraints.append((power_in[0], 0.0, 0.0)) return constraints @@ -91,6 +92,16 @@ def solver_options(self): pass + def __state_vector_scaled(self, variable, ensemble_member): + """ + This functions returns the casadi symbols scaled with their nominal for the entire time + horizon. + """ + canonical, sign = self.alias_relation.canonical_signed(variable) + return ( + self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign + ) + if __name__ == "__main__": elect = run_optimization_problem( diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index a138a13f4..6237f90df 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -25,7 +25,7 @@ from rtctools.optimization.timeseries import Timeseries from rtctools.util import run_optimization_problem -logger = logging.getLogger("WarmingUP-MPC") +logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index c5c3d3eb2..c49dff0a0 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -23,7 +23,7 @@ from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test -logger = logging.getLogger("WarmingUP-MPC") +logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) @@ -42,7 +42,7 @@ def test_insufficient_capacity(self): import models.wko.src.example as example from models.wko.src.example import HeatProblem - logger, logs_list = create_log_list_scaling("WarmingUP-MPC") + logger, logs_list = create_log_list_scaling("mesido") base_folder = Path(example.__file__).resolve().parent.parent diff --git a/tests/test_cost_input.py b/tests/test_cost_input.py index 13a287cce..6a216ca82 100644 --- a/tests/test_cost_input.py +++ b/tests/test_cost_input.py @@ -17,7 +17,7 @@ import numpy as np -logger = logging.getLogger("WarmingUP-MPC") +logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) diff --git a/tests/test_electricity_storage.py b/tests/test_electricity_storage.py index fa0b592eb..ecbea0684 100644 --- a/tests/test_electricity_storage.py +++ b/tests/test_electricity_storage.py @@ -10,8 +10,8 @@ from utils_tests import demand_matching_test, electric_power_conservation_test, feasibility_test -class TestMILPElectricSourceSink(TestCase): - def test_source_sink(self): +class TestMILPElectricSourceSinkStorage(TestCase): + def test_source_sink_storage(self): """ Tests for an electricity network that consist out of a source, a sink and storage, connected with electricity cables. @@ -22,7 +22,8 @@ def test_source_sink(self): - Check that the battery is used to match demand - Check that charging and discharging properly connected to the network (direction) - Check that the is_charging variable is set correctly - + - Checks that the use of is_charging variable gives the same results as without the use + of the binary is_charging variable. """ @@ -40,6 +41,7 @@ def test_source_sink(self): profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries.csv", ) + results = solution.extract_results() parameters = solution.parameters(0) @@ -48,18 +50,56 @@ def test_source_sink(self): demand_matching_test(solution, results) electric_power_conservation_test(solution, results) + class ElectricityProblemDisc(ElectricityProblem): + def energy_system_options(self): + options = super().energy_system_options().copy() + options["electricity_storage_discrete_charge_variables"] = True + return options + + solution_disc = run_esdl_mesido_optimization( + ElectricityProblemDisc, + base_folder=base_folder, + esdl_file_name="source_sink_storage.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries.csv", + ) + + results_disc = solution_disc.extract_results() + storage_name = solution.energy_system_components.get("electricity_storage")[0] charge_eff = parameters[f"{storage_name}.charge_efficiency"] discharge_eff = parameters[f"{storage_name}.discharge_efficiency"] - is_charging = results[f"{storage_name}__is_charging"] eff_power_change_bat = results[f"{storage_name}.Effective_power_charging"] - eff_power_change_discharge_bat = results[f"{storage_name}__effective_power_discharging"] power_bat_network = results[f"{storage_name}.ElectricityIn.Power"] + power_discharging = results[f"{storage_name}.Power_discharging"] + power_charging = results[f"{storage_name}.Power_charging"] stored_el = results[f"{storage_name}.Stored_electricity"] power_cable_bat = results["ElectricityCable_91c1.ElectricityOut.Power"] np.testing.assert_allclose(power_cable_bat, power_bat_network, atol=tol) - + np.testing.assert_allclose(power_bat_network, power_charging - power_discharging, atol=tol) + + power_discharging_disc = results_disc[f"{storage_name}.Power_discharging"] + power_charging_disc = results_disc[f"{storage_name}.Power_charging"] + np.testing.assert_allclose(power_discharging[1:], power_discharging_disc[1:], atol=tol) + np.testing.assert_allclose(power_charging[1:], power_charging_disc[1:], atol=tol) + + for sol in [solution, solution_disc]: + count_discrete_path, count_discrete_var = 0.0, 0.0 + for var in sol.path_variables: + if sol.variable_is_discrete(var.name()): + count_discrete_path += 1 + for var in sol.extra_variables: + if sol.variable_is_discrete(var.name()): + count_discrete_var += 1 + np.testing.assert_allclose(count_discrete_var, 7.0) + if sol == solution: + np.testing.assert_allclose(0.0, count_discrete_path, atol=tol) + else: + np.testing.assert_allclose(1.0, count_discrete_path, atol=tol) + + is_charging = np.asarray([float(i > 0) for i in power_charging]) # if battery is charging (1), ElectricityIn.Power and effective_power charging should be # positive, else negative bigger_then = all(is_charging * eff_power_change_bat >= 0) @@ -100,11 +140,3 @@ def test_source_sink(self): power_bat_network * (1 - is_charging) / discharge_eff, atol=tol, ) - - # effective power discharge variable should always be the bigger or equal to the negative - # of the charge variable and bigger then zero. The zero should only occur if battery is - # charging. When a goal would be set to minimise discharge it should match the charge power, - # however now this goal is not turned on. - # TODO: when the new goal is included create test, this will end up in the mc_simulator - np.testing.assert_array_less(-eff_power_change_bat, eff_power_change_discharge_bat + tol) - self.assertTrue(all(eff_power_change_discharge_bat >= 0.0)) diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py index f9b5437cc..a1768f044 100644 --- a/tests/test_multicommodity_simulator.py +++ b/tests/test_multicommodity_simulator.py @@ -629,7 +629,7 @@ def test_multi_commodity_simulator_sequential_staged(self): zero_unstaged = results_unstaged[f"{key.split('__')[0]}.GasIn.Q"] != 0 np.testing.assert_allclose(value[zero_staged], value_staged[zero_unstaged]) else: - np.testing.assert_allclose(value, value_staged) + np.testing.assert_allclose(value, value_staged, atol=1e-4) solution_staged_bounded = run_sequatially_staged_simulation( multi_commodity_simulator_class=MultiCommoditySimulatorNoLosses, diff --git a/tests/test_potential_errors.py b/tests/test_potential_errors.py index e56fef24b..de9795e22 100644 --- a/tests/test_potential_errors.py +++ b/tests/test_potential_errors.py @@ -60,7 +60,7 @@ def test_asset_potential_errors(self): model_folder = base_folder / "model" input_folder = base_folder / "input" - logger, logs_list = create_log_list_scaling("WarmingUP-MPC") + logger, logs_list = create_log_list_scaling("mesido") with ( self.assertRaises(MesidoAssetIssueError) as cm, From 8f1cc58c6e80be9a082bdcaba8e1547aa797dd3b Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 22 Dec 2025 16:37:34 +0100 Subject: [PATCH 325/376] Rollout workflow costs (#394) Rollout workflow updated with - heat buffer added to cost of fixed and variable opex. - adding generic maps for asset - code clean up --- src/mesido/workflows/goals/rollout_goal.py | 98 ++++++------- src/mesido/workflows/rollout_workflow.py | 132 +++++++----------- .../model/PoC_tutorial_incl_ATES_buffer.esdl | 2 +- tests/test_roll_out.py | 29 ++-- 4 files changed, 110 insertions(+), 151 deletions(-) diff --git a/src/mesido/workflows/goals/rollout_goal.py b/src/mesido/workflows/goals/rollout_goal.py index d09d36ccd..063a8e5a8 100644 --- a/src/mesido/workflows/goals/rollout_goal.py +++ b/src/mesido/workflows/goals/rollout_goal.py @@ -12,26 +12,26 @@ STANDARD_ASSET_LIFETIME = 30.0 +default_assets_support = ["heat_source"] + class MinimizeVariableOPEX(Goal): order = 1 - def __init__(self, year_step_size=10, priority=1): + def __init__(self, asset_types_supported=default_assets_support, year_step_size=10, priority=1): self.priority = priority self.year_step_size = year_step_size self.function_nominal = 1.0e6 + self.asset_types_supported = asset_types_supported def function(self, optimization_problem, ensemble_member): obj = 0 asset_varopex_map = optimization_problem._asset_variable_operational_cost_map - for asset in [ - *optimization_problem.energy_system_components.get("heat_source", []), - *optimization_problem.energy_system_components.get("ates", []), - ]: - - extra_var = optimization_problem.extra_variable(asset_varopex_map.get(asset, 0.0)) - obj += extra_var * self.year_step_size + for asset_type in self.asset_types_supported: + for asset in optimization_problem.energy_system_components.get(asset_type, []): + extra_var = optimization_problem.extra_variable(asset_varopex_map.get(asset, 0.0)) + obj += extra_var * self.year_step_size return obj @@ -83,9 +83,10 @@ class MinimizeCAPEXAssetsCosts(Goal): order = 1 - def __init__(self, priority=None): + def __init__(self, asset_types_supported=default_assets_support, priority=None): self.priority = priority self.function_nominal = 1.0e6 + self.asset_types_supported = asset_types_supported def function(self, optimization_problem, ensemble_member): obj = self.capex_assets(optimization_problem, ensemble_member) @@ -96,41 +97,33 @@ def capex_assets(self, optimization_problem, ensemble_member): obj = 0.0 parameters = optimization_problem.parameters(ensemble_member) bounds = optimization_problem.bounds() - for asset_name in [ - *optimization_problem.energy_system_components.get("ates", []), - *optimization_problem.energy_system_components.get("heat_demand", []), - *optimization_problem.energy_system_components.get("heat_pipe", []), - *optimization_problem.energy_system_components.get("heat_source", []), - *optimization_problem.energy_system_components.get("heat_buffer", []), - ]: - asset = optimization_problem.get_asset_from_asset_name(asset_name=asset_name) - tech_lifetime = parameters[f"{asset_name}.technical_life"] - # FIXME: temporary as long as generic esdl_heat_model_modifiers are not added everywhere - if not tech_lifetime > 0.0: - tech_lifetime = STANDARD_ASSET_LIFETIME - - if asset.asset_type == "Pipe": - is_placed = optimization_problem.get_asset_is__realized_symbols(asset_name) - investment_cost_coeff = bounds[f"{asset_name}__hn_cost"][1] - - length = parameters[f"{asset_name}.length"] - - costs = investment_cost_coeff * length - else: - # Yearly depreciation for all assets based on total investment + installation - is_placed = optimization_problem.get_asset_fraction__placed_symbols(asset_name) - investment_cost_coeff = parameters[f"{asset_name}.investment_cost_coefficient"] - installation_cost = parameters[f"{asset_name}.installation_cost"] - size = bounds[optimization_problem._asset_max_size_map[asset_name]][1] - if size == 0: - raise RuntimeError(f"Could not determine the max power of asset {asset_name}") - inv_costs = investment_cost_coeff * size - inst_costs = installation_cost - - costs = inv_costs + inst_costs - - for i in range(optimization_problem._years): - obj += is_placed[i] * costs / tech_lifetime + for asset_type in self.asset_types_supported: + for asset_name in optimization_problem.energy_system_components.get(asset_type, []): + tech_lifetime = parameters[f"{asset_name}.technical_life"] + if asset_type == "heat_pipe": + is_placed = optimization_problem.get_asset_is__realized_symbols(asset_name) + investment_cost_coeff = bounds[f"{asset_name}__hn_cost"][1] + + length = parameters[f"{asset_name}.length"] + + costs = investment_cost_coeff * length + else: + # Yearly depreciation for all assets based on total investment + installation + is_placed = optimization_problem.get_asset_fraction__placed_symbols(asset_name) + investment_cost_coeff = parameters[f"{asset_name}.investment_cost_coefficient"] + installation_cost = parameters[f"{asset_name}.installation_cost"] + size = bounds[optimization_problem._asset_max_size_map[asset_name]][1] + if size == 0: + raise RuntimeError( + f"Could not determine the max power of asset {asset_name}" + ) + inv_costs = investment_cost_coeff * size + inst_costs = installation_cost + + costs = inv_costs + inst_costs + + for i in range(optimization_problem._years): + obj += is_placed[i] * costs / tech_lifetime return obj * optimization_problem._year_step_size @@ -139,9 +132,10 @@ class MinimizeRolloutFixedOperationalCosts(Goal): order = 1 - def __init__(self, years=25, priority=1): + def __init__(self, years=25, asset_types_supported=default_assets_support, priority=1): self.priority = priority self.year_steps = years + self.asset_types_supported = asset_types_supported if not None else ["heat_source"] def function(self, optimization_problem, ensemble_member: int) -> ca.MX: obj = 0.0 @@ -158,14 +152,12 @@ def fixed_operational_costs(self, optimization_problem, ensemble_member: int) -> bounds = optimization_problem.bounds() parameters = optimization_problem.parameters(ensemble_member) - for source in optimization_problem.energy_system_components.get("heat_source", []): - obj += self.fixed_opex_of_asset(optimization_problem, source, bounds, parameters) - - for _ in optimization_problem.energy_system_components.get("ates", []): - # TODO: this must be changed if the optimization uses placement of individual doublets - # of the assset. - # obj += self.fixed_opex_of_asset(optimization_problem, ates) - pass + for asset_type in self.asset_types_supported: + if asset_type != "heat_pipe": + for source in optimization_problem.energy_system_components.get(asset_type, []): + obj += self.fixed_opex_of_asset( + optimization_problem, source, bounds, parameters + ) return obj diff --git a/src/mesido/workflows/rollout_workflow.py b/src/mesido/workflows/rollout_workflow.py index 327af2caf..4165be82e 100644 --- a/src/mesido/workflows/rollout_workflow.py +++ b/src/mesido/workflows/rollout_workflow.py @@ -85,9 +85,6 @@ def __init__(self, *args, **kwargs): self._years = 3 self._horizon = 30 self._year_step_size = int(self._horizon / self._years) - # TODO: timestep_size and _days can be removed eventually, particularly when averaging - # with peak day is used, however one needs to check where self._timesteps_per_year and - # self._timestep_size is currently affecting the code self._timestep_size = kwargs.get("_timestep_size", 30 * 24) self._timesteps_per_year = int(365 / (self._timestep_size / 24)) + 1 @@ -117,12 +114,6 @@ def __init__(self, *args, **kwargs): self.heat_network_settings["minimum_velocity"] = 0.0 # important otherwise heatdemands # cannot be turned off for specific timesteps - # TODO: remove this once these variables are created in HeatPhysicsMixin - # (is under development in another PR) - self._ates_is_charging_map = {} - self.__ates_is_charging_var = {} - self.__ates_is_charging_var_bounds = {} - self._asset_fraction_placed_map = {} self.__asset_fraction_placed_var = {} self.__asset_fraction_placed_var_bounds = {} @@ -132,11 +123,6 @@ def __init__(self, *args, **kwargs): self.__asset_doublet_is_placed_var = {} self.__asset_doublet_is_placed_var_bounds = {} - self.__ates_state_heat_var_map = {} - self.__ates_state_heat_var = {} - self.__ates_state_heat_var_bounds = {} - self.__ates_state_heat_var_nominals = {} - self._yearly_capex_var = {} self._yearly_capex_var_bounds = {} self._yearly_capex_var_nominals = {} @@ -150,6 +136,14 @@ def __init__(self, *args, **kwargs): self._priority = 0 self.__priority_timer = None + self._supported_assets_rollout = [ + "heat_demand", + "heat_source", + "heat_pipe", + "heat_buffer", + "ates", + ] + def parameters(self, ensemble_member): parameters = super().parameters(ensemble_member) for pipe in self.energy_system_components.get("heat_pipe", []): @@ -207,24 +201,19 @@ def pre(self): sys.exit(1) # TODO: The asset_fraction_placed is not yet fully functional, eg. not in objective. - for asset in [ - *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("heat_demand", []), - *self.energy_system_components.get("heat_source", []), - *self.energy_system_components.get("heat_pipe", []), - *self.energy_system_components.get("heat_buffer", []), - ]: - self._asset_fraction_placed_map[asset] = [] - for year in range(self._years): - asset_fraction_placed_var = f"{asset}__fraction_placed_{year}" - self._asset_fraction_placed_map[asset].append(asset_fraction_placed_var) - self.__asset_fraction_placed_var[asset_fraction_placed_var] = ca.MX.sym( - asset_fraction_placed_var - ) - self.__asset_fraction_placed_var_bounds[asset_fraction_placed_var] = ( - 0.0, - 1.0, - ) + for asset_type in self._supported_assets_rollout: + for asset in self.energy_system_components.get(asset_type, []): + self._asset_fraction_placed_map[asset] = [] + for year in range(self._years): + asset_fraction_placed_var = f"{asset}__fraction_placed_{year}" + self._asset_fraction_placed_map[asset].append(asset_fraction_placed_var) + self.__asset_fraction_placed_var[asset_fraction_placed_var] = ca.MX.sym( + asset_fraction_placed_var + ) + self.__asset_fraction_placed_var_bounds[asset_fraction_placed_var] = ( + 0.0, + 1.0, + ) # TODO still needs to be checked if this is also properly added to financial mixing for # asset_is_realized for the doublets, then there is no need to do the asset fraction. @@ -274,6 +263,8 @@ def energy_system_options(self): options["include_ates_yearly_change_option"] = True options["yearly_investments"] = True options["min_fraction_tank_volume"] = 0.0 + options["storage_charging_variables"] = False + return options def path_goals(self): @@ -294,11 +285,25 @@ def path_goals(self): def goals(self): goals = super().goals().copy() - goals.append(MinimizeCAPEXAssetsCosts(priority=1)) + goals.append( + MinimizeCAPEXAssetsCosts( + asset_types_supported=self._supported_assets_rollout, priority=1 + ) + ) - goals.append(MinimizeVariableOPEX(year_step_size=self._year_step_size, priority=1)) + goals.append( + MinimizeVariableOPEX( + asset_types_supported=self._supported_assets_rollout, + year_step_size=self._year_step_size, + priority=1, + ) + ) - goals.append(MinimizeRolloutFixedOperationalCosts(priority=1)) + goals.append( + MinimizeRolloutFixedOperationalCosts( + asset_types_supported=self._supported_assets_rollout, priority=1 + ) + ) return goals @@ -432,52 +437,13 @@ def __yearly_investment_constraints(self, ensemble_member): cumulative_capex_prev_year = 0 for y in range(self._years): cumulative_capex = 0 - - # pipes - # for p in self.hot_pipes: - for p in self.energy_system_components.get("heat_pipe", []): - # cumulative_investements_made does not yet cather for fraction_placed - cumulative_inv_pipe = self.extra_variable( - f"{p}__cumulative_investments_made_in_eur_year_{y}" - ) - cumulative_capex += cumulative_inv_pipe - - # sources - for s in self.energy_system_components.get("heat_source", []): - cumulative_inv_source = self.extra_variable( - f"{s}__cumulative_investments_made_in_eur_year_{y}" - ) - cumulative_capex += cumulative_inv_source - - # consumers - for d in self.energy_system_components.get("heat_demand", []): - cumulative_inv_demand = self.extra_variable( - f"{d}__cumulative_investments_made_in_eur_year_{y}" - ) - cumulative_capex += cumulative_inv_demand - - # ates - for a in self.energy_system_components.get("ates", []): - # ates_N_doublets = self.parameters(0)[f"{a}.nr_of_doublets"] - ates_capex = 0.0 # TODO: add proper costs ates - ates_capex = self.extra_variable( - f"{a}__cumulative_investments_made_in_eur_year_{y}" - ) - # a_capex = self._ates_capex_dict[a] - # ates_doublet_sums_fraction = self.__ates_doublet_sums(a)[1] - # if y == 0: - # ates_capex = a_capex / ates_N_doublets * ates_doublet_sums_fraction[y] - # else: - # ates_capex = a_capex / ates_N_doublets * (ates_doublet_sums_fraction[y] - - # ates_doublet_sums_fraction[y - 1]) - cumulative_capex += ates_capex - - # heat buffers - for b in self.energy_system_components.get("heat_buffer", []): - cumulative_inv_buffer = self.extra_variable( - f"{b}__cumulative_investments_made_in_eur_year_{y}" - ) - cumulative_capex += cumulative_inv_buffer + for asset_type in self._supported_assets_rollout: + for asset in self.energy_system_components.get(asset_type, []): + # cumulative_investements_made does not yet cather for fraction_placed + cumulative_inv = self.extra_variable( + f"{asset}__cumulative_investments_made_in_eur_year_{y}" + ) + cumulative_capex += cumulative_inv year_nominal = bounds[f"yearly_capex_{y}"][1] yearly_capex_var = self.extra_variable(f"yearly_capex_{y}", ensemble_member) @@ -699,7 +665,6 @@ def extra_variables(self): @property def path_variables(self): variables = super().path_variables.copy() - variables.extend(self.__ates_state_heat_var.values()) return variables def variable_is_discrete(self, variable): @@ -715,15 +680,12 @@ def variable_is_discrete(self, variable): def variable_nominal(self, variable): if variable in self._yearly_capex_var_nominals: return self._yearly_capex_var_nominals[variable] - elif variable in self.__ates_state_heat_var_nominals: - return self.__ates_state_heat_var_nominals[variable] else: return super().variable_nominal(variable) def bounds(self): bounds = super().bounds() bounds.update(self.__asset_doublet_is_placed_var_bounds) - bounds.update(self.__ates_state_heat_var_bounds) bounds.update(self._yearly_capex_var_bounds) bounds.update(self.__asset_fraction_placed_var_bounds) return bounds diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES_buffer.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES_buffer.esdl index ef849d50c..373d68fd4 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES_buffer.esdl +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES_buffer.esdl @@ -11,7 +11,7 @@ - + diff --git a/tests/test_roll_out.py b/tests/test_roll_out.py index 6a57f6157..cec1a8f38 100644 --- a/tests/test_roll_out.py +++ b/tests/test_roll_out.py @@ -56,6 +56,11 @@ def read(self): demand_timeseries.values[:] = demand_timeseries.values[:] * m[i - 1] self.set_timeseries(f"HeatingDemand_{i}.target_heat_demand", demand_timeseries) + def solver_options(self): + options = super().solver_options() + options["highs"]["mip_rel_gap"] = 0.001 + return options + solution = run_esdl_mesido_optimization( RollOutTimeStep, base_folder=base_folder, @@ -64,7 +69,7 @@ def read(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - yearly_max_capex=7.0e6, + yearly_max_capex=6.0e6, yearly_max_pipe_length=1.0e3, # m per year include_peak_day=True, ) @@ -115,6 +120,7 @@ def read(self): *solution.energy_system_components.get("heat_demand", []), *solution.energy_system_components.get("ates", []), *solution.energy_system_components.get("heat_pipe", []), + *solution.energy_system_components.get("heat_buffer", []), ] for asset in assets_to_check: @@ -207,17 +213,16 @@ def read(self): ) # Check if all producers and ATES are placed at the end of the problem - all_producers_placed = all( - results[f"{asset}__asset_is_realized_{solution._years - 1}"] >= 1 - tol - for asset in [ - *solution.energy_system_components.get("heat_source", []), - *solution.energy_system_components.get("ates", []), - ] - ) - np.testing.assert_( - all_producers_placed, - "Not all producers and ATES are placed at the end of the problem", - ) + for asset in [ + *solution.energy_system_components.get("heat_source", []), + *solution.energy_system_components.get("ates", []), + ]: + np.testing.assert_( + results[f"{asset}__asset_is_realized_{solution._years - 1}"] >= 1 - tol, + f"Not all assets are placed a the end of the problem {asset} is not placed (" + f"{results[f'{asset}__asset_is_realized_{solution._years - 1}']}) with solver " + f"statistics {solution.solver_stats}", + ) # Check fraction is placed, should be between 0 and 1 and increasing tol = 1e-6 From f094e823ad2a11a54e28a17a7f819035634546b3 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Tue, 13 Jan 2026 15:35:06 +0100 Subject: [PATCH 326/376] Replace templates with measures (#390) Costs of available pipe classes are updated based on the asset measures and templates if they are provided. --- CHANGELOG.md | 1 + src/mesido/esdl/esdl_mixin.py | 44 +- src/mesido/esdl/esdl_parser.py | 24 +- ...all_network_all_optional_pipe_catalog.esdl | 282 ++++----- ..._optional_pipe_catalog_with_templates.esdl | 592 ++++++++++++++++++ tests/test_end_scenario_sizing.py | 121 +++- 6 files changed, 885 insertions(+), 179 deletions(-) create mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog_with_templates.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 540ff6f9f..5b7da9682 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - Minimize TCO objective in the grow_workflow is now only based on capex and opex that can be influenced. - Removed the requirement of "_ret" for the return network pipes, for ESDLversion 21.10 and later. The relation between supply and return pipes is now based on the "related" attribute in the esdl. - New data structute for specifying database connection inputs +- Costs of available pipe classes are updated based on the asset measures and templates if they are provided. - The charging and discharging variable for electricity storage is created without a binary variable using the convex hull description. ## Fixed diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index 6e8ff0b19..208a9f378 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -27,6 +27,8 @@ import numpy as np +from pyecore.valuecontainer import EOrderedSet + import rtctools.data.pi as pi from rtctools.optimization.collocated_integrated_optimization_problem import ( CollocatedIntegratedOptimizationProblem, @@ -114,7 +116,7 @@ def __init__(self, *args, **kwargs) -> None: self._esdl_assets: Dict[str, Asset] = esdl_parser.get_assets() self._esdl_carriers: Dict[str, Dict[str, Any]] = esdl_parser.get_carrier_properties() self.__energy_system_handler: esdl.esdl_handler.EnergySystemHandler = esdl_parser.get_esh() - self._esdl_templates: Dict[str, Asset] = esdl_parser.get_templates() + self._esdl_measures: Dict[str, Asset] = esdl_parser.get_measures() self._database_credentials: Optional[Dict[str, Tuple[str, str]]] = { DBAccesType.READ: [], DBAccesType.WRITE: [], @@ -317,20 +319,19 @@ def override_pipe_classes(self) -> None: override_classes = self._override_pipe_classes - # Update the pipe costs if a template model in the ESDL was used. This is updated only if - # the pipe catalog is available as a template - if self._esdl_templates: + # Update the pipe costs if a measure model in the ESDL was used. This is updated only if + # the pipe catalog is available as a measure + if self._esdl_measures: filter_type = "Pipe" - pipe_templates = self.filter_asset_templates( - asset_templates=self._esdl_templates, filter_type=filter_type + pipe_measures = self.filter_asset_measures( + asset_measures=self._esdl_measures, filter_type=filter_type ) - if len(pipe_templates.items()) > 0: + if len(pipe_measures.items()) > 0: pipe_diameter_cost_map = { - str(pipe.attributes["asset"].diameter): pipe.attributes[ - "asset" - ].costInformation.investmentCosts.value - for pipe in pipe_templates.values() + str(pipe.diameter): pipe.costInformation.investmentCosts.value + for pipe in pipe_measures.values() } + for i, pipe_class in enumerate(pipe_classes): if pipe_class.name in pipe_diameter_cost_map.keys(): pipe_classes[i] = dataclasses.replace( @@ -804,13 +805,24 @@ def write(self) -> None: self.__timeseries_export.write() @classmethod - def filter_asset_templates( - cls, asset_templates: Dict[str, Asset], filter_type: str + def filter_asset_measures( + cls, asset_measures: Dict[str, Asset], filter_type: str ) -> Dict[str, Asset]: filtered_assets = dict() - for asset_id, asset in asset_templates.items(): - asset_type = asset.attributes["asset"] + for asset_id, asset in asset_measures.items(): + + if isinstance(asset.attributes["asset"], EOrderedSet): + if len(asset.attributes["asset"]) > 1: + logger.warning( + f"Multiple assets types have been linked to asset measure {asset.name}." + f"Only the first asset type {filter_type} is currently used." + ) + for asset_type in asset.attributes["asset"]: + if isinstance(asset_type, getattr(esdl, filter_type)): + break + else: + asset_type = asset.attributes["asset"] if isinstance(asset_type, getattr(esdl, filter_type)): - filtered_assets[asset_id] = asset + filtered_assets[asset_id] = asset_type return filtered_assets diff --git a/src/mesido/esdl/esdl_parser.py b/src/mesido/esdl/esdl_parser.py index 27c0ae1ed..338f7bd94 100644 --- a/src/mesido/esdl/esdl_parser.py +++ b/src/mesido/esdl/esdl_parser.py @@ -23,7 +23,7 @@ def __init__(self): self._energy_system: Optional[esdl.EnergySystem] = None self._esdl_string: Optional[str] = None self._esdl_path: Optional[Path] = None - self._templates: Dict[str, Asset] = dict() + self._measures: Dict[str, Asset] = dict() def _load_esdl_model(self) -> None: """ @@ -91,7 +91,15 @@ def read_esdl(self) -> None: # Component ids are unique, but we require component names to be unique as well. component_names = set() + # Check if the ESDL has asset measures + try: + asset_measures = list(self._energy_system.measures.eAllContents()) + except AttributeError: + asset_measures = None + # Check if the ESDL has asset templates + # Currently the use of templates are allowed on a temporary basis, and + # the templates are stored in the measures variable try: asset_templates = list(self._energy_system.templates.eAllContents()) except AttributeError: @@ -99,16 +107,18 @@ def read_esdl(self) -> None: # loop through assets for el in self._energy_system.eAllContents(): - # If asset templates exist, collect that in a different dictionary, to be used later in + # If asset measures exist, collect that in a different dictionary, to be used later in # esdl_mixin to update that information - if asset_templates is not None and el in asset_templates: - if isinstance(el, esdl.AssetTemplate): + if (asset_measures is not None and el in asset_measures) or ( + asset_templates is not None and el in asset_templates + ): + if isinstance(el, esdl.Measure) or isinstance(el, esdl.AssetTemplate): asset_type = el.__class__.__name__ # Note that e.g. el.__dict__['length'] does not work to get the length of a # pipe. # We therefore built this dict ourselves using 'dir' and 'getattr' attributes = {k: getattr(el, k) for k in dir(el)} - self._templates[el.id] = Asset( + self._measures[el.id] = Asset( asset_type=asset_type, id=el.id, name=el.name, @@ -184,8 +194,8 @@ def get_carrier_properties(self) -> Dict: def get_esh(self) -> esdl.esdl_handler.EnergySystemHandler: return self._energy_system_handler - def get_templates(self) -> Dict[str, Asset]: - return self._templates + def get_measures(self) -> Dict[str, Asset]: + return self._measures class ESDLStringParser(BaseESDLParser): diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog.esdl index 81324742d..b6eaecfff 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog.esdl +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog.esdl @@ -1,5 +1,5 @@ - + @@ -380,213 +380,213 @@ - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - "" - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - + + diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog_with_templates.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog_with_templates.esdl new file mode 100644 index 000000000..81324742d --- /dev/null +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog_with_templates.esdl @@ -0,0 +1,592 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index ae33d8542..069734e39 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -359,11 +359,11 @@ def test_end_scenario_sizing_pipe_catalog(self): """ Checks that the problem uses different pipe costs when a pipe catalog is provided along with the ESDL. - Test 1: Check that the solution pipe classes used were of the pipe templates + Test 1: Check that the solution pipe classes used were of the pipe measures Test 2: Check that the pipe classes generated by instantiating the same problem with - # different esdl that does not have templates will actually use the original EDR + # different esdl that does not have measures will actually use the original EDR # pipe classes. Then we are sure that (rest of the) EDR pipe classes have not been used - Test 3: If the costs that are used in the problem match the costs from the ESDL Template + Test 3: If the costs that are used in the problem match the costs from the ESDL Measures """ @@ -375,7 +375,7 @@ def test_end_scenario_sizing_pipe_catalog(self): solution = run_end_scenario_sizing( EndScenarioSizing, base_folder=base_folder, - esdl_file_name="test_case_small_network_all_optional_pipe_catalog" ".esdl", + esdl_file_name="test_case_small_network_all_optional_pipe_catalog.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", @@ -385,13 +385,12 @@ def test_end_scenario_sizing_pipe_catalog(self): results = solution.extract_results() parameters = solution.parameters(0) - # Test 1: Check if the solution pipe classes used were of the pipe templates - pipe_templates = solution.filter_asset_templates(solution._esdl_templates, "Pipe") + # Test 1: Check if the solution pipe classes used were of the pipe measures + filter_type = "Pipe" + pipe_measures = solution.filter_asset_measures(solution._esdl_measures, filter_type) pipe_diameter_cost_map = { - str(pipe.attributes["asset"].diameter): pipe.attributes[ - "asset" - ].costInformation.investmentCosts.value - for pipe in pipe_templates.values() + str(pipe.diameter): pipe.costInformation.investmentCosts.value + for pipe in pipe_measures.values() } solution_pipe_classes = solution.get_unique_pipe_classes() solution_pipe_class_cost_map = { @@ -404,7 +403,7 @@ def test_end_scenario_sizing_pipe_catalog(self): ) # Test 2: Check that the pipe classes generated by instantiating the same problem with - # different esdl that does not have templates will actually use the original EDR + # different esdl that does not have measures will actually use the original EDR # pipe classes. Then we are sure that (rest of the) EDR pipe classes have not been used model_folder = base_folder / "model" input_folder = base_folder / "input" @@ -430,7 +429,7 @@ def test_end_scenario_sizing_pipe_catalog(self): True, ) - # Test 3: If the costs that are used in the problem match the costs from the ESDL Template + # Test 3: If the costs that are used in the problem match the costs from the ESDL Measures # Optimized pipe class map of diameter optimized_pipe_classes_dia_map = { solution.get_optimized_pipe_class(pipe) @@ -438,7 +437,7 @@ def test_end_scenario_sizing_pipe_catalog(self): .name for pipe in solution.hot_pipes } - # Assert that the same specific investment costs have been use between the template and the + # Assert that the same specific investment costs have been use between the measure and the # solution parameters for heat_pipe in solution.energy_system_components.get("heat_pipe"): # Check only if the pipe exits. Cost of 0 means the asset has been removed as a result @@ -449,10 +448,101 @@ def test_end_scenario_sizing_pipe_catalog(self): / parameters[f"{heat_pipe}.length"] ) # [Eur/m] optimized_diameter = parameters[f"{heat_pipe}.diameter"] - cost_map_from_template = pipe_diameter_cost_map[ + cost_map_from_measures = pipe_diameter_cost_map[ optimized_pipe_classes_dia_map[optimized_diameter] ] - np.testing.assert_allclose(cost_map_from_template, investment_cost_specific) + np.testing.assert_allclose(cost_map_from_measures, investment_cost_specific) + + def test_end_scenario_sizing_pipe_catalog_with_templates(self): + """ + This test is a temporary. This checks that current implementation that reads and + processes pipe measures can also reads and processes pipe templates. + """ + + import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates + + base_folder = Path(run_ates.__file__).resolve().parent.parent + + # This is an optimization done over a few days + solution = run_end_scenario_sizing( + EndScenarioSizing, + base_folder=base_folder, + esdl_file_name="test_case_small_network_all_optional_pipe_catalog_with_templates.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="Warmte_test.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, + ) + + results = solution.extract_results() + parameters = solution.parameters(0) + + # Test 1: Check if the solution pipe classes used were of the pipe measures + pipe_measures = solution.filter_asset_measures(solution._esdl_measures, "Pipe") + pipe_diameter_cost_map = { + str(pipe.diameter): pipe.costInformation.investmentCosts.value + for pipe in pipe_measures.values() + } + solution_pipe_classes = solution.get_unique_pipe_classes() + solution_pipe_class_cost_map = { + sol_pipe.name: sol_pipe.investment_costs + for sol_pipe in solution_pipe_classes + if not sol_pipe.name == "None" + } + np.testing.assert_equal( + solution_pipe_class_cost_map.items() <= pipe_diameter_cost_map.items(), True + ) + + # Test 2: Check that the pipe classes generated by instantiating the same problem with + # different esdl that does not have measures will actually use the original EDR + # pipe classes. Then we are sure that (rest of the) EDR pipe classes have not been used + model_folder = base_folder / "model" + input_folder = base_folder / "input" + original_problem = EndScenarioSizingStaged( + esdl_parser=ESDLFileParser, + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", + profile_reader=ProfileReaderFromFile, + input_timeseries_file="Warmte_test.csv", + error_type_check=NO_POTENTIAL_ERRORS_CHECK, + ) + original_problem.pre() + original_problem_pipe_classes = original_problem.get_unique_pipe_classes() + original_problem_pipe_class_cost_map = { + org_pipe.name: org_pipe.investment_costs + for org_pipe in original_problem_pipe_classes + if not org_pipe.name == "None" + } + np.testing.assert_equal( + solution_pipe_class_cost_map.items() != original_problem_pipe_class_cost_map.items(), + True, + ) + + # Test 3: If the costs that are used in the problem match the costs from the ESDL Measures + # Optimized pipe class map of diameter + optimized_pipe_classes_dia_map = { + solution.get_optimized_pipe_class(pipe) + .inner_diameter: solution.get_optimized_pipe_class(pipe) + .name + for pipe in solution.hot_pipes + } + # Assert that the same specific investment costs have been use between the measure and the + # solution parameters + for heat_pipe in solution.energy_system_components.get("heat_pipe"): + # Check only if the pipe exits. Cost of 0 means the asset has been removed as a result + # of the sizing optimization + if results[f"{solution._asset_investment_cost_map[heat_pipe]}"] > 1.0: + investment_cost_specific = ( + results[f"{solution._asset_investment_cost_map[heat_pipe]}"][0] + / parameters[f"{heat_pipe}.length"] + ) # [Eur/m] + optimized_diameter = parameters[f"{heat_pipe}.diameter"] + cost_map_from_measures = pipe_diameter_cost_map[ + optimized_pipe_classes_dia_map[optimized_diameter] + ] + np.testing.assert_allclose(cost_map_from_measures, investment_cost_specific) def calculate_heat_demand_costs_end_scenario_sizing(self): excluded_costs_in_obj = 0.0 # Fixed costs excluded in the optim objective function @@ -513,4 +603,5 @@ def calculate_objective_value_end_scenario_sizing_all_optional(self, solution): a.test_end_scenario_sizing_discounted() a.test_end_scenario_sizing_head_loss() a.test_end_scenario_sizing_pipe_catalog() + a.test_end_scenario_sizing_pipe_catalog_with_templates() print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) From 8d39c3c4f6345e52e1c5e2e6ff47f575aed39363 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 14 Jan 2026 15:16:19 +0100 Subject: [PATCH 327/376] db connections updated (#401) Updated @main_decorator --- src/mesido/workflows/gas_elect_workflow.py | 18 ++++++---- src/mesido/workflows/grow_workflow.py | 18 ++++++---- .../multicommodity_simulator_workflow.py | 18 ++++++---- src/mesido/workflows/simulator_workflow.py | 18 ++++++---- tests/test_head_loss.py | 18 ++++++---- ...est_multiple_in_and_out_port_components.py | 35 ++++++++++++------- 6 files changed, 83 insertions(+), 42 deletions(-) diff --git a/src/mesido/workflows/gas_elect_workflow.py b/src/mesido/workflows/gas_elect_workflow.py index be432c034..eeda5d9ed 100644 --- a/src/mesido/workflows/gas_elect_workflow.py +++ b/src/mesido/workflows/gas_elect_workflow.py @@ -2,6 +2,7 @@ import os from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import DBAccesType from mesido.esdl.esdl_mixin import ESDLMixin from mesido.head_loss_class import HeadLossOption from mesido.network_common import NetworkSettings @@ -197,12 +198,17 @@ def main(runinfo_path, log_level): kwargs = { "write_result_db_profiles": False, - "influxdb_host": "localhost", - "influxdb_port": 8086, - "influxdb_username": None, - "influxdb_password": None, - "influxdb_ssl": False, - "influxdb_verify_ssl": False, + "database_connections": [ + { + "access_type": DBAccesType.WRITE, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + }, + ], } _ = run_optimization_problem( diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 488099e93..1a5b473ce 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -6,6 +6,7 @@ from typing import Dict from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin +from mesido.esdl.esdl_mixin import DBAccesType from mesido.esdl.esdl_mixin import ESDLMixin from mesido.head_loss_class import HeadLossOption from mesido.potential_errors import reset_potential_errors @@ -827,12 +828,17 @@ def main(runinfo_path, log_level): kwargs = { "write_result_db_profiles": False, - "influxdb_host": "localhost", - "influxdb_port": 8086, - "influxdb_username": None, - "influxdb_password": None, - "influxdb_ssl": False, - "influxdb_verify_ssl": False, + "database_connections": [ + { + "access_type": DBAccesType.WRITE, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + }, + ], } # Temp comment for now # omotes-poc-test.hesi.energy diff --git a/src/mesido/workflows/multicommodity_simulator_workflow.py b/src/mesido/workflows/multicommodity_simulator_workflow.py index e132bca3f..21e274646 100644 --- a/src/mesido/workflows/multicommodity_simulator_workflow.py +++ b/src/mesido/workflows/multicommodity_simulator_workflow.py @@ -5,6 +5,7 @@ import esdl +from mesido.esdl.esdl_mixin import DBAccesType from mesido.esdl.esdl_mixin import ESDLMixin from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile @@ -830,12 +831,17 @@ def main(runinfo_path, log_level): kwargs = { "write_result_db_profiles": False, - "influxdb_host": "localhost", - "influxdb_port": 8086, - "influxdb_username": None, - "influxdb_password": None, - "influxdb_ssl": False, - "influxdb_verify_ssl": False, + "database_connections": [ + { + "access_type": DBAccesType.WRITE, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + }, + ], } _ = run_optimization_problem( diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index afddf8046..2de13c623 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -3,6 +3,7 @@ import esdl +from mesido.esdl.esdl_mixin import DBAccesType from mesido.esdl.esdl_mixin import ESDLMixin from mesido.head_loss_class import HeadLossOption from mesido.techno_economic_mixin import TechnoEconomicMixin @@ -357,12 +358,17 @@ def main(runinfo_path, log_level): kwargs = { "write_result_db_profiles": False, - "influxdb_host": "localhost", - "influxdb_port": 8086, - "influxdb_username": None, - "influxdb_password": None, - "influxdb_ssl": False, - "influxdb_verify_ssl": False, + "database_connections": [ + { + "access_type": DBAccesType.WRITE, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + }, + ], } _ = run_optimization_problem( diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 7f5a0af77..a1af43c44 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -3,6 +3,7 @@ import mesido._darcy_weisbach as darcy_weisbach from mesido.constants import GRAVITATIONAL_CONSTANT +from mesido.esdl.esdl_mixin import DBAccesType from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption @@ -81,12 +82,17 @@ def energy_system_options(self): # Do not delete kwargs: this is used to manualy check writing out of profile data kwargs = { "write_result_db_profiles": False, - "influxdb_host": "localhost", - "influxdb_port": 8086, - "influxdb_username": None, - "influxdb_password": None, - "influxdb_ssl": False, - "influxdb_verify_ssl": False, + "database_connections": [ + { + "access_type": DBAccesType.WRITE, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + }, + ], } solution = run_esdl_mesido_optimization( diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index d284f46ff..78d46e315 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -1,6 +1,7 @@ from pathlib import Path from unittest import TestCase +from mesido.esdl.esdl_mixin import DBAccesType from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.util import run_esdl_mesido_optimization @@ -51,12 +52,17 @@ def energy_system_options(self): # Do not delete kwargs: this is used to manualy check writing out of profile data kwargs = { "write_result_db_profiles": False, - "influxdb_host": "localhost", - "influxdb_port": 8086, - "influxdb_username": None, - "influxdb_password": None, - "influxdb_ssl": False, - "influxdb_verify_ssl": False, + "database_connections": [ + { + "access_type": DBAccesType.WRITE, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + }, + ], } # ----------------------------------------------------------------------------------------- @@ -344,12 +350,17 @@ def energy_system_options(self): # Do not delete kwargs: this is used to manualy check writing out of profile data kwargs = { "write_result_db_profiles": False, - "influxdb_host": "localhost", - "influxdb_port": 8086, - "influxdb_username": None, - "influxdb_password": None, - "influxdb_ssl": False, - "influxdb_verify_ssl": False, + "database_connections": [ + { + "access_type": DBAccesType.WRITE, + "influxdb_host": "localhost", + "influxdb_port": 8086, + "influxdb_username": None, + "influxdb_password": None, + "influxdb_ssl": False, + "influxdb_verify_ssl": False, + }, + ], } # ----------------------------------------------------------------------------------------- From 321c8d6327b3393df1ce266bf8b09e04f0fa3b5c Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 19 Jan 2026 10:51:56 +0100 Subject: [PATCH 328/376] Added geothermal minimum operational requirement in rollout (#395) --- src/mesido/workflows/rollout_workflow.py | 10 ++++----- .../model/PoC_tutorial_incl_ATES_buffer.esdl | 2 +- tests/test_roll_out.py | 22 ++++++++++++++++++- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/mesido/workflows/rollout_workflow.py b/src/mesido/workflows/rollout_workflow.py index 4165be82e..83d8c5627 100644 --- a/src/mesido/workflows/rollout_workflow.py +++ b/src/mesido/workflows/rollout_workflow.py @@ -106,7 +106,7 @@ def __init__(self, *args, **kwargs): # Fraction of how much heat of the total maximum the geo source can produce it should # produce in every year that it is placed - self._min_geo_utilization = 0.7 + self._min_geo_utilization = kwargs.get("min_geo_utilization", 0.7) self._save_json = True @@ -192,7 +192,7 @@ def pre(self): "Note: The rollout workflow is still under development and not fully tested yet." ) - asset_types = ["low_temperature_ates", "geothermal_source", "heat_pump"] + asset_types = ["low_temperature_ates", "heat_pump"] for asset_type in asset_types: if len(self.energy_system_components.get(asset_type, [])) > 0: logger.error( @@ -502,9 +502,7 @@ def __minimum_operational_constraints(self, ensemble_member): constraints = [] bounds = self.bounds() - for asset, _asset_is_placed_var in self._asset_is_realized_map.items(): - if asset not in self.energy_system_components.get("geothermal_source", []): - continue + for asset in self.energy_system_components.get("geothermal", []): logger.warning( f"The function {self.__minimum_operational_constraints.__name__} is not tested yet." @@ -520,7 +518,7 @@ def __minimum_operational_constraints(self, ensemble_member): dt = np.diff(self.io.times_sec / 3600) for i in range(self._timesteps_per_year): total_heat_year += ( - heat_produced[year * self._timesteps_per_year + i] + heat_produced[year * self._timesteps_per_year + i + 1] * dt[year * self._timesteps_per_year + i] ) constraints.append( diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES_buffer.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES_buffer.esdl index 373d68fd4..f94dbbbf0 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES_buffer.esdl +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES_buffer.esdl @@ -11,7 +11,7 @@ - + diff --git a/tests/test_roll_out.py b/tests/test_roll_out.py index cec1a8f38..14a699b1e 100644 --- a/tests/test_roll_out.py +++ b/tests/test_roll_out.py @@ -72,6 +72,7 @@ def solver_options(self): yearly_max_capex=6.0e6, yearly_max_pipe_length=1.0e3, # m per year include_peak_day=True, + min_geo_utilization=0.6, ) results = solution.extract_results() @@ -167,6 +168,25 @@ def solver_options(self): "Number of timesteps in timeseries is not correct", ) + for asset in solution.energy_system_components.get("geothermal", []): + dt = np.diff(solution.times()) / 3600 + geo_power = solution.bounds()[f"{asset}.Heat_source"][1] + year_max_power_hour = geo_power * 365 * 24 + fraction_util = solution._min_geo_utilization + for y in range(solution._years): + ind_start = y * solution._timesteps_per_year + 1 + ind_end = (y + 1) * solution._timesteps_per_year + 1 + if results[f"{asset}__asset_is_realized_{y}"] >= 0.99: + heat_source = results[f"{asset}.Heat_source"] + year_prod = sum( + heat_source[ind_start:ind_end] * dt[ind_start - 1 : ind_end - 1] + ) + np.testing.assert_( + year_prod + atol > fraction_util * year_max_power_hour, + f"{asset} is not meeting the minimum operational requirement of " + f"{fraction_util*year_max_power_hour}, and produces only {year_prod}.", + ) + # Yearly periodicity of ATES for ates in solution.energy_system_components.get("ates", []): times = solution.times() / 3600 / 24 @@ -279,7 +299,7 @@ def solver_options(self): for i in range(solution._timesteps_per_year): if not ( i > solution._RollOutProblem__problem_indx_max_peak - 1 - and i < (solution._RollOutProblem__problem_indx_max_peak + 23 + 1) + and i < (solution._RollOutProblem__problem_indx_max_peak + 24 + 1) ): np.testing.assert_allclose( results[f"{b}.Stored_heat"][i + year * solution._timesteps_per_year], From 752e0369ec710b418638ccf34f200ef8a39d90e2 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 26 Jan 2026 16:33:50 +0100 Subject: [PATCH 329/376] Update black to minimum 26.1.0 (#415) Black version updated to 26.1.0 as the minimum version. All style adaptations included --- examples/gas_electricity_network/src/run_gas_elect.py | 1 - examples/municipality/src/run_municipality.py | 1 - src/mesido/electricity_physics_mixin.py | 1 - src/mesido/esdl/asset_to_component_base.py | 1 - src/mesido/esdl/esdl_heat_model.py | 5 ++--- src/mesido/esdl/profile_parser.py | 3 +-- src/mesido/financial_mixin.py | 7 ++----- src/mesido/head_loss_class.py | 1 - src/mesido/physics_mixin.py | 1 - src/mesido/pycml/model_base.py | 1 - src/mesido/pycml/pycml_mixin.py | 3 +-- src/mesido/qth_not_maintained/head_loss_mixin.py | 1 - src/mesido/workflows/__init__.py | 1 - src/mesido/workflows/grow_workflow.py | 1 - src/mesido/workflows/simulator_workflow.py | 1 - src/mesido/workflows/utils/adapt_profiles.py | 1 - src/mesido/workflows/utils/helpers.py | 1 - .../cost_information_errors/test_check_cost_information.py | 1 - tests/test_cold_demand.py | 1 - tests/test_cost_input.py | 1 - tests/test_electric_source_sink.py | 1 - tox.ini | 2 +- 22 files changed, 7 insertions(+), 30 deletions(-) diff --git a/examples/gas_electricity_network/src/run_gas_elect.py b/examples/gas_electricity_network/src/run_gas_elect.py index 13c053a86..c6a25c423 100644 --- a/examples/gas_electricity_network/src/run_gas_elect.py +++ b/examples/gas_electricity_network/src/run_gas_elect.py @@ -7,7 +7,6 @@ from mesido.workflows.gas_elect_workflow import GasElectProblem from mesido.workflows.utils.helpers import run_optimization_problem_solver - root_folder = os.path.join(str(Path(__file__).resolve().parent.parent.parent.parent), "tests") sys.path.insert(1, root_folder) diff --git a/examples/municipality/src/run_municipality.py b/examples/municipality/src/run_municipality.py index 6d5cd8b1b..fab2efcf6 100644 --- a/examples/municipality/src/run_municipality.py +++ b/examples/municipality/src/run_municipality.py @@ -4,7 +4,6 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing - if __name__ == "__main__": import time diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index fc58f509b..82ab9464a 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -15,7 +15,6 @@ ) from rtctools.optimization.timeseries import Timeseries - logger = logging.getLogger("mesido") diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index b19d99a6f..1dd7b58f7 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -17,7 +17,6 @@ from mesido.potential_errors import MesidoAssetIssueType, get_potential_errors from mesido.pycml import Model as _Model - logger = logging.getLogger("mesido") # Define locally to avoid circular import with workflows.utils.error_types diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index ea0d2ed03..528e088df 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -57,7 +57,6 @@ from scipy.optimize import fsolve - logger = logging.getLogger("mesido") @@ -115,7 +114,7 @@ def extract_asset_info(bod): indent = "" else: format_modifiers_dict = [f"* {mod}" for mod in modifiers_dict[node.name]] - (indent, _) = line_with_hook.split("{automatically_add_modifiers_here}") + indent, _ = line_with_hook.split("{automatically_add_modifiers_here}") func.__doc__ = func.__doc__.replace( "{automatically_add_modifiers_here}", f"\n{indent}".join(format_modifiers_dict), @@ -723,7 +722,7 @@ def convert_gas_pipe( id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ "id_number_mapping" ] - (diameter, wall_roughness) = self._gas_pipe_get_diameter_and_roughness(asset) + diameter, wall_roughness = self._gas_pipe_get_diameter_and_roughness(asset) q_nominal = math.pi * diameter**2 / 4.0 * self.v_max_gas / 2.0 self._set_q_nominal(asset, q_nominal) q_max = math.pi * diameter**2 / 4.0 * self.v_max_gas diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index b30e2342c..cf2c78889 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -20,7 +20,6 @@ import rtctools.data.pi from rtctools.data.storage import DataStore - logger = logging.getLogger() @@ -412,7 +411,7 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) ssl_setting = True influx_host = "{}:{}".format(profile_host, profile.port) - (username, password) = self._database_credentials.get(influx_host, (None, None)) + username, password = self._database_credentials.get(influx_host, (None, None)) conn_settings = ConnectionSettings( host=profile.host, diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 0ac3fd6d4..4cf54f336 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -13,7 +13,6 @@ ) from rtctools.optimization.timeseries import Timeseries - logger = logging.getLogger("mesido") @@ -1528,11 +1527,9 @@ def __annualized_capex_constraints(self, ensemble_member): # Input is assumed as as annual percentage discount_percentage = parameters[f"{asset_name}.discount_rate"] if np.isnan(asset_life_years) or np.isnan(discount_percentage): - logger.warning( - f"Annualized cost cannot be computed for \ + logger.warning(f"Annualized cost cannot be computed for \ {asset_name} since technical_life \ - or discount_rate are not set." - ) + or discount_rate are not set.") continue symbol_name = self._annualized_capex_var_map[asset_name] diff --git a/src/mesido/head_loss_class.py b/src/mesido/head_loss_class.py index d467becb3..ed5731da5 100644 --- a/src/mesido/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -15,7 +15,6 @@ from rtctools.optimization.goal_programming_mixin_base import Goal from rtctools.optimization.optimization_problem import BT - logger = logging.getLogger("mesido") diff --git a/src/mesido/physics_mixin.py b/src/mesido/physics_mixin.py index 08ad0fc7a..520f47998 100644 --- a/src/mesido/physics_mixin.py +++ b/src/mesido/physics_mixin.py @@ -14,7 +14,6 @@ CollocatedIntegratedOptimizationProblem, ) - logger = logging.getLogger("mesido") diff --git a/src/mesido/pycml/model_base.py b/src/mesido/pycml/model_base.py index 4d011664f..4347022d1 100644 --- a/src/mesido/pycml/model_base.py +++ b/src/mesido/pycml/model_base.py @@ -6,7 +6,6 @@ from pymoca.backends.casadi.model import Variable as _Variable - MATHEMATICAL_OPERATORS = [ "__add__", "__radd__", diff --git a/src/mesido/pycml/pycml_mixin.py b/src/mesido/pycml/pycml_mixin.py index 1c3e5c1cb..ea2766ea0 100644 --- a/src/mesido/pycml/pycml_mixin.py +++ b/src/mesido/pycml/pycml_mixin.py @@ -16,7 +16,6 @@ from . import ConstantInput, ControlInput, Model, SymbolicParameter, Variable - logger = logging.getLogger("mesido") @@ -137,7 +136,7 @@ def get_names_for_class(current_class_: Type) -> List[str]: if line_with_hook is None: indent = "" else: - (indent, _) = line_with_hook.split("{add_variable_names_for_documentation_here}") + indent, _ = line_with_hook.split("{add_variable_names_for_documentation_here}") # Insert the dynamic names into the documentation class_.__doc__ = class_.__doc__.replace( diff --git a/src/mesido/qth_not_maintained/head_loss_mixin.py b/src/mesido/qth_not_maintained/head_loss_mixin.py index 3feb4d33e..f2f77767a 100644 --- a/src/mesido/qth_not_maintained/head_loss_mixin.py +++ b/src/mesido/qth_not_maintained/head_loss_mixin.py @@ -17,7 +17,6 @@ from ..constants import GRAVITATIONAL_CONSTANT from ..pipe_class import PipeClass - logger = logging.getLogger("mesido") diff --git a/src/mesido/workflows/__init__.py b/src/mesido/workflows/__init__.py index 92bd71fc3..fe6455953 100644 --- a/src/mesido/workflows/__init__.py +++ b/src/mesido/workflows/__init__.py @@ -18,7 +18,6 @@ NetworkSimulatorHIGHSWeeklyTimeStep, ) - __all__ = [ "EndScenarioSizing", "EndScenarioSizingDiscounted", diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 1a5b473ce..0c083c2c2 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -34,7 +34,6 @@ SinglePassGoalProgrammingMixin, ) - DB_HOST = "172.17.0.2" DB_PORT = 8086 DB_NAME = "Warmtenetten" diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index 2de13c623..934aee2f1 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -28,7 +28,6 @@ ) from rtctools.util import run_optimization_problem - DB_HOST = "172.17.0.2" DB_PORT = 8086 DB_NAME = "Warmtenetten" diff --git a/src/mesido/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py index 17d5eceb9..4f1369342 100644 --- a/src/mesido/workflows/utils/adapt_profiles.py +++ b/src/mesido/workflows/utils/adapt_profiles.py @@ -9,7 +9,6 @@ from rtctools.data.storage import DataStore - logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) diff --git a/src/mesido/workflows/utils/helpers.py b/src/mesido/workflows/utils/helpers.py index 50fea2cd3..b2698f00c 100644 --- a/src/mesido/workflows/utils/helpers.py +++ b/src/mesido/workflows/utils/helpers.py @@ -11,7 +11,6 @@ from rtctools.util import run_optimization_problem - MULTI_ENUM_NAME_TO_FACTOR = { esdl.MultiplierEnum.ATTO: 1e-18, esdl.MultiplierEnum.FEMTO: 1e-15, diff --git a/tests/models/cost_information_errors/test_check_cost_information.py b/tests/models/cost_information_errors/test_check_cost_information.py index 65f168e39..b9006781e 100644 --- a/tests/models/cost_information_errors/test_check_cost_information.py +++ b/tests/models/cost_information_errors/test_check_cost_information.py @@ -3,7 +3,6 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing - if __name__ == "__main__": import time diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index c49dff0a0..2013d485a 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -22,7 +22,6 @@ from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test - logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) diff --git a/tests/test_cost_input.py b/tests/test_cost_input.py index 6a216ca82..af665a7b1 100644 --- a/tests/test_cost_input.py +++ b/tests/test_cost_input.py @@ -16,7 +16,6 @@ import numpy as np - logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) diff --git a/tests/test_electric_source_sink.py b/tests/test_electric_source_sink.py index 7b90cff69..f2c0e1fae 100644 --- a/tests/test_electric_source_sink.py +++ b/tests/test_electric_source_sink.py @@ -9,7 +9,6 @@ from utils_tests import electric_power_conservation_test - # TODO: still have to make test where elecitricity direction is switched: # e.g. 2 nodes, with at each node a producer and consumer, first one node medium demand, second # small demand and then increase the demand of the second node such that direction changes diff --git a/tox.ini b/tox.ini index 293e0b965..2df141d2d 100644 --- a/tox.ini +++ b/tox.ini @@ -49,6 +49,6 @@ commands = flake8 examples src tests setup.py --exclude=pandapipeesdlparser.py [testenv:black] skip_install = True deps = - black >= 24.1.1 + black >= 26.1.0 commands = black --line-length 100 --target-version py311 --check --diff examples src tests setup.py --force-exclude=pandapipeesdlparser.py From 6a383607d2e3f952581a34058eb2bc2d2089e494 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Mon, 26 Jan 2026 16:37:32 +0100 Subject: [PATCH 330/376] E-Boiler for DTK Add Heat Source Elec and Elec Heat Source Elec (e-boiler) as a heat producer to DTK: Heat Source Elec is an e-boiler asset with 2 ports. Elec Heat Source Elec is an e-boiler asset with 3 ports. New asset type named elec_heat_source_elec which is connected to a cable with electricity usage (asset with 3 ports) and rename elec_boiler asset as heat_source_elec for e-boiler which not connected to cable (asset with 2 ports). Variable operation cost is liked to consumed electricity power (EUR/MW_e). Now these assets are supported by DTK --- CHANGELOG.md | 3 +- src/mesido/esdl/asset_to_component_base.py | 10 +- src/mesido/esdl/esdl_heat_model.py | 49 +++++----- src/mesido/financial_mixin.py | 16 +++- .../pycml/component_library/milp/__init__.py | 6 +- .../component_library/milp/heat/__init__.py | 2 + .../milp/heat/heat_source_elec.py | 36 +++++++ .../milp/multicommodity/__init__.py | 4 +- .../multicommodity/elec_heat_source_elec.py | 41 ++++++++ .../milp/multicommodity/electro_boiler.py | 54 ----------- src/mesido/workflows/io/write_output.py | 2 +- ...iler.esdl => sourcesink_with_eboiler.esdl} | 43 +++++---- .../sourcesink_with_eboiler_no_elec.esdl | 67 +++++++++++++ .../source_pipe_sink/src/double_pipe_heat.py | 2 +- tests/test_elec_boiler.py | 96 +++++++++++++++++-- tests/utils_tests.py | 2 +- 16 files changed, 321 insertions(+), 112 deletions(-) create mode 100644 src/mesido/pycml/component_library/milp/heat/heat_source_elec.py create mode 100644 src/mesido/pycml/component_library/milp/multicommodity/elec_heat_source_elec.py delete mode 100644 src/mesido/pycml/component_library/milp/multicommodity/electro_boiler.py rename tests/models/source_pipe_sink/model/{sourcesink_witheboiler.esdl => sourcesink_with_eboiler.esdl} (56%) create mode 100644 tests/models/source_pipe_sink/model/sourcesink_with_eboiler_no_elec.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b7da9682..1142be4f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,8 @@ - Rollout workflow may optionally include phasing of heat buffers for handling peak day constraints and demands - Inclusion of maximum allowed yearly pipe placement length constraint for the rollout workflow - Adding constraint so that all heating demands are placed at the end of the simulation - +- HeatSourceElec (e-boiler with 2 ports) is supported for DTK and its cost attributes are supported in Mesido +- Cost attributes of ElecHeatSourceElec (e-boiler with 3 ports) are supported in Mesido ## Changed - Clean up of old code and removing duplicates. diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 1dd7b58f7..7f70b1719 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -200,7 +200,7 @@ class _AssetToComponentBase: "ATES": "ates", "Battery": "electricity_storage", "Bus": "electricity_node", - "ElectricBoiler": "elec_boiler", + "ElectricBoiler": "heat_source_elec", "ElectricityCable": "electricity_cable", "ElectricityDemand": "electricity_demand", "ElectricityProducer": "electricity_source", @@ -250,7 +250,8 @@ class _AssetToComponentBase: "fixedMaintenanceCosts": "optional", "fixedOperationalCosts": "optional", }, - "heat_source": { # Includes GeothermalSource, ResidualHeatSource, HeatProducer + "heat_source": { # Includes GeothermalSource, ResidualHeatSource, HeatProducer, + # ElectricBoiler "investmentCosts": "required", "installationCosts": "required", "variableOperationalCosts": "required", @@ -308,6 +309,7 @@ class _AssetToComponentBase: "GasDemand": "gas_demand", "GasStorage": "gas_tank_storage", "Electrolyzer": "electrolyzer", + "ElectricBoiler": "heat_source", } COST_ATTRIBUTE_TO_STRING = { @@ -1016,7 +1018,9 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: if q_nominal is not None: self._set_q_nominal(asset, q_nominal) return q_nominal - elif len(asset.in_ports) == 2 and len(asset.out_ports) == 1: # for gas_boiler or e_boiler + elif ( + len(asset.in_ports) == 2 and len(asset.out_ports) == 1 + ): # for gas_boiler or elec_heat_source_elec q_nominals = {} try: for port in asset.in_ports: diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 528e088df..e591a2b37 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -25,7 +25,7 @@ ColdDemand, Compressor, ControlValve, - ElecBoiler, + ElecHeatSourceElec, ElectricityCable, ElectricityDemand, ElectricityNode, @@ -47,6 +47,7 @@ HeatPump, HeatPumpElec, HeatSource, + HeatSourceElec, LowTemperatureATES, Node, Pump, @@ -1246,6 +1247,7 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS "GeothermalSource", "ResidualHeatSource", "HeatPump", + "ElectricBoiler", } max_supply = asset.attributes["power"] @@ -1259,6 +1261,8 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS # TODO: Use an attribute or use and KPI for CO2 coefficient of a source q_nominal = self._get_connected_q_nominal(asset) + if isinstance(q_nominal, dict): + q_nominal = q_nominal["Q_nominal"] modifiers = dict( Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), @@ -1298,6 +1302,10 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS elif asset.asset_type == "HeatPump": modifiers["cop"] = asset.attributes["COP"] return AirWaterHeatPump, modifiers + elif asset.asset_type == "ElectricBoiler": + efficiency = asset.attributes["efficiency"] if asset.attributes["efficiency"] else 1.0 + modifiers["efficiency"] = efficiency + return HeatSourceElec, modifiers else: return HeatSource, modifiers @@ -2460,7 +2468,9 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: ) return GasBoiler, modifiers - def convert_elec_boiler(self, asset: Asset) -> Tuple[Union[ElecBoiler, HeatSource], MODIFIERS]: + def convert_heat_source_elec( + self, asset: Asset + ) -> Tuple[Union[Type[HeatSourceElec], Type[ElecHeatSourceElec]], MODIFIERS]: """ This function converts the ElectricBoiler object in esdl to a set of modifiers that can be used in a pycml object. @@ -2502,9 +2512,10 @@ def convert_elec_boiler(self, asset: Asset) -> Tuple[Union[ElecBoiler, HeatSourc logger.error(f"{asset.asset_type} '{asset.name}' has no max power specified. ") assert max_supply > 0.0 + _, modifiers = self.convert_heat_source(asset) + modifiers["elec_power_nominal"] = max_supply if len(asset.in_ports) == 1: - heat_source_object, modifiers = self.convert_heat_source(asset) - return heat_source_object, modifiers + return HeatSourceElec, modifiers id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ "id_number_mapping" @@ -2517,27 +2528,21 @@ def convert_elec_boiler(self, asset: Asset) -> Tuple[Union[ElecBoiler, HeatSourc if isinstance(port.carrier, esdl.ElectricityCommodity): min_voltage = port.carrier.voltage i_max, i_nom = self._get_connected_i_nominal_and_max(asset) - eff = asset.attributes["efficiency"] if asset.attributes["efficiency"] else 1.0 - modifiers = dict( - Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), - id_mapping_carrier=id_mapping, - ElectricityIn=dict( - Power=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), - I=dict(min=0.0, max=i_max, nominal=i_nom), - V=dict(min=min_voltage, nominal=min_voltage), - ), - min_voltage=min_voltage, - elec_power_nominal=max_supply, - efficiency=eff, - **self._generic_modifiers(asset), - **self._generic_heat_modifiers(0.0, max_supply, q_nominal["Q_nominal"]), - **self._supply_return_temperature_modifiers(asset), - **self._rho_cp_modifiers, - **self._get_cost_figure_modifiers(asset), + modifiers.update( + dict( + id_mapping_carrier=id_mapping, + ElectricityIn=dict( + Power=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), + I=dict(min=0.0, max=i_max, nominal=i_nom), + V=dict(min=min_voltage, nominal=min_voltage), + ), + min_voltage=min_voltage, + **self._generic_heat_modifiers(0.0, max_supply, q_nominal["Q_nominal"]), + ) ) - return ElecBoiler, modifiers + return ElecHeatSourceElec, modifiers def convert_air_water_heat_pump_elec( self, asset: Asset diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 4cf54f336..8e91c8e4f 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -1034,18 +1034,30 @@ def __variable_operational_cost_constraints(self, ensemble_member): # ToDo: Currently the variable operational cost unit for gas boiler is euro/Wh_gas # but this can be changed to euro/Nm3 + nominator_vector = None denominator = 1.0 if s in self.energy_system_components.get( "air_water_heat_pump", [] ) or s in self.energy_system_components.get("air_water_heat_pump_elec", []): + nominator_vector = heat_source denominator = parameters[f"{s}.cop"] - if s in self.energy_system_components.get("gas_boiler", []): + elif s in self.energy_system_components.get("gas_boiler", []): + nominator_vector = heat_source denominator = parameters[f"{s}.efficiency"] + elif s in [ + *self.energy_system_components.get("heat_source_elec", []), + *self.energy_system_components.get("elec_heat_source_elec", []), + ]: + nominator_vector = self.__state_vector_scaled( + f"{s}.Power_consumed", ensemble_member + ) # [W] + else: + nominator_vector = heat_source sum = 0.0 for i in range(1, len(self.times())): sum += ( variable_operational_cost_coefficient - * heat_source[i] + * nominator_vector[i] * timesteps[i - 1] / denominator ) diff --git a/src/mesido/pycml/component_library/milp/__init__.py b/src/mesido/pycml/component_library/milp/__init__.py index 0b562377d..7d9da61fe 100644 --- a/src/mesido/pycml/component_library/milp/__init__.py +++ b/src/mesido/pycml/component_library/milp/__init__.py @@ -29,12 +29,13 @@ from .heat.heat_port import HeatPort from .heat.heat_pump import HeatPump from .heat.heat_source import HeatSource +from .heat.heat_source_elec import HeatSourceElec from .heat.heat_two_port import HeatTwoPort from .heat.low_temperature_ates import LowTemperatureATES from .heat.node import Node from .heat.pump import Pump from .multicommodity.airwater_heat_pump_elec import AirWaterHeatPumpElec -from .multicommodity.electro_boiler import ElecBoiler +from .multicommodity.elec_heat_source_elec import ElecHeatSourceElec from .multicommodity.electrolyzer import Electrolyzer from .multicommodity.gas_boiler import GasBoiler @@ -49,7 +50,8 @@ "Compressor", "ControlValve", "HeatDemand", - "ElecBoiler", + "HeatSourceElec", + "ElecHeatSourceElec", "ElectricityCable", "ElectricityDemand", "ElectricityNode", diff --git a/src/mesido/pycml/component_library/milp/heat/__init__.py b/src/mesido/pycml/component_library/milp/heat/__init__.py index b03cc2159..dc98565a6 100644 --- a/src/mesido/pycml/component_library/milp/heat/__init__.py +++ b/src/mesido/pycml/component_library/milp/heat/__init__.py @@ -13,6 +13,7 @@ from .heat_port import HeatPort from .heat_pump import HeatPump from .heat_source import HeatSource +from .heat_source_elec import HeatSourceElec from .heat_two_port import HeatTwoPort from .low_temperature_ates import LowTemperatureATES from .node import Node @@ -35,6 +36,7 @@ "HeatTwoPort", "HeatPipe", "HeatSource", + "HeatSourceElec", "LowTemperatureATES", "Node", "Pump", diff --git a/src/mesido/pycml/component_library/milp/heat/heat_source_elec.py b/src/mesido/pycml/component_library/milp/heat/heat_source_elec.py new file mode 100644 index 000000000..cabbf4c34 --- /dev/null +++ b/src/mesido/pycml/component_library/milp/heat/heat_source_elec.py @@ -0,0 +1,36 @@ +from mesido.pycml import Variable +from mesido.pycml.component_library.milp.heat.heat_source import HeatSource +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + +from numpy import nan + + +@add_variables_documentation_automatically +class HeatSourceElec(HeatSource): + """ + The heat source elec component represents the operational behavior of e-boilers. + It functions as a heat source that supplies thermal energy to the connected heat network. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ + + def __init__(self, name, **modifiers): + super().__init__( + name, + **modifiers, + ) + + self.efficiency = nan + self.elec_power_nominal = nan + self.component_subtype = "heat_source_elec" + + self.add_variable(Variable, "Power_consumed", min=0.0, nominal=self.elec_power_nominal) + + self.add_equation( + ((self.Power_consumed * self.efficiency - self.Heat_source) / self.Heat_nominal) + ) diff --git a/src/mesido/pycml/component_library/milp/multicommodity/__init__.py b/src/mesido/pycml/component_library/milp/multicommodity/__init__.py index 056357d2e..0464ce520 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/__init__.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/__init__.py @@ -1,11 +1,11 @@ from .airwater_heat_pump_elec import AirWaterHeatPumpElec -from .electro_boiler import ElecBoiler +from .elec_heat_source_elec import ElecHeatSourceElec from .electrolyzer import Electrolyzer from .gas_boiler import GasBoiler __all__ = [ "AirWaterHeatPumpElec", - "ElecBoiler", + "ElecHeatSourceElec", "Electrolyzer", "GasBoiler", ] diff --git a/src/mesido/pycml/component_library/milp/multicommodity/elec_heat_source_elec.py b/src/mesido/pycml/component_library/milp/multicommodity/elec_heat_source_elec.py new file mode 100644 index 000000000..071b8371f --- /dev/null +++ b/src/mesido/pycml/component_library/milp/multicommodity/elec_heat_source_elec.py @@ -0,0 +1,41 @@ +from mesido.pycml.component_library.milp.electricity.electricity_base import ElectricityPort +from mesido.pycml.component_library.milp.heat.heat_source_elec import HeatSourceElec +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + +from numpy import nan + + +@add_variables_documentation_automatically +class ElecHeatSourceElec(HeatSourceElec): + """ + The elec heat source elec component is used to model the source behaviour of e-boilers + with electricity input port. It functions as a heat source gas that supplies thermal energy + to the connected heat network. Besides, it models the electricity consumed by the asset. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ + + def __init__(self, name, **modifiers): + super().__init__( + name, + **modifiers, + ) + + self.component_subtype = "elec_heat_source_elec" + + self.id_mapping_carrier = -1 + + self.min_voltage = nan + + # Assumption: heat in/out and added is nonnegative + # Heat in the return (i.e. cold) line is zero + self.add_variable(ElectricityPort, "ElectricityIn") + + self.add_equation( + ((self.ElectricityIn.Power - self.Power_consumed) / self.elec_power_nominal) + ) diff --git a/src/mesido/pycml/component_library/milp/multicommodity/electro_boiler.py b/src/mesido/pycml/component_library/milp/multicommodity/electro_boiler.py deleted file mode 100644 index b24c5b799..000000000 --- a/src/mesido/pycml/component_library/milp/multicommodity/electro_boiler.py +++ /dev/null @@ -1,54 +0,0 @@ -from mesido.pycml import Variable -from mesido.pycml.component_library.milp.electricity.electricity_base import ElectricityPort -from mesido.pycml.component_library.milp.heat.heat_source import HeatSource -from mesido.pycml.pycml_mixin import add_variables_documentation_automatically - -from numpy import nan - - -@add_variables_documentation_automatically -class ElecBoiler(HeatSource): - """ - The e-boiler component is there to insert thermal power (Heat) into the network. - - The heat to discharge constraints are set in the HeatMixin. We enforce that the outgoing - temperature of the source matches the absolute thermal power, Q * cp * rho * T_sup == Heat, - similar as with the demands. This allows us to guarantee that the flow can always carry, as - the heat losses further downstream in the network are over-estimated with T_ret where in - reality this temperature drops. It also implicitly assumes that the temperature drops in the - network are small and thus satisfy minimum temperature requirements. - - Variables created: - {add_variable_names_for_documentation_here} - - Parameters: - name : The name of the asset. \n - modifiers : Dictionary with asset information. - """ - - def __init__(self, name, **modifiers): - super().__init__( - name, - **modifiers, - ) - - self.component_subtype = "elec_boiler" - - self.id_mapping_carrier = -1 - - self.min_voltage = nan - self.elec_power_nominal = nan - self.efficiency = nan - - # Assumption: heat in/out and added is nonnegative - # Heat in the return (i.e. cold) line is zero - self.add_variable(ElectricityPort, "ElectricityIn") - self.add_variable(Variable, "Power_consumed", min=0.0, nominal=self.elec_power_nominal) - - self.add_equation( - ((self.ElectricityIn.Power - self.Power_consumed) / self.elec_power_nominal) - ) - - self.add_equation( - ((self.Power_consumed * self.efficiency - self.Heat_source) / self.Heat_nominal) - ) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 9f314c338..9f2fbc649 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -1181,7 +1181,7 @@ def _write_updated_esdl( port, port_prim, port_sec = 3 * [None] if isinstance(asset, esdl.Transport) or isinstance(asset, esdl.Consumer): port = [port for port in asset.port if isinstance(port, esdl.InPort)][0] - elif isinstance(asset, esdl.Producer): + elif isinstance(asset, esdl.Producer) or isinstance(asset, esdl.ElectricBoiler): port = [port for port in asset.port if isinstance(port, esdl.OutPort)][0] elif isinstance(asset, esdl.Conversion): primary_inports = [ diff --git a/tests/models/source_pipe_sink/model/sourcesink_witheboiler.esdl b/tests/models/source_pipe_sink/model/sourcesink_with_eboiler.esdl similarity index 56% rename from tests/models/source_pipe_sink/model/sourcesink_witheboiler.esdl rename to tests/models/source_pipe_sink/model/sourcesink_with_eboiler.esdl index d4f2b4f86..d9140201e 100644 --- a/tests/models/source_pipe_sink/model/sourcesink_witheboiler.esdl +++ b/tests/models/source_pipe_sink/model/sourcesink_with_eboiler.esdl @@ -1,21 +1,21 @@ - + - - + + - + - + - - + + @@ -32,27 +32,38 @@ - - - + + + - + - - - + + + + + + + + + + + + + + - - + + diff --git a/tests/models/source_pipe_sink/model/sourcesink_with_eboiler_no_elec.esdl b/tests/models/source_pipe_sink/model/sourcesink_with_eboiler_no_elec.esdl new file mode 100644 index 000000000..1ec2728dc --- /dev/null +++ b/tests/models/source_pipe_sink/model/sourcesink_with_eboiler_no_elec.esdl @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/source_pipe_sink/src/double_pipe_heat.py b/tests/models/source_pipe_sink/src/double_pipe_heat.py index 18701f33f..451db196a 100644 --- a/tests/models/source_pipe_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_sink/src/double_pipe_heat.py @@ -98,7 +98,7 @@ def solver_options(self): if __name__ == "__main__": sol = run_optimization_problem( SourcePipeSink, - esdl_file_name="sourcesink_witheboiler.esdl", + esdl_file_name="sourcesink_with_eboiler.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.csv", diff --git a/tests/test_elec_boiler.py b/tests/test_elec_boiler.py index 6519c2fcc..802bb8ca5 100644 --- a/tests/test_elec_boiler.py +++ b/tests/test_elec_boiler.py @@ -16,16 +16,52 @@ class TestElecBoiler(TestCase): - def test_elec_boiler(self): + + def asset_cost_calculation_tests(self, solution, results): + # Check the cost components + for asset in [ + *solution.energy_system_components.get("heat_source", []), + ]: + esdl_asset = solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + costs_esdl_asset = esdl_asset.attributes["costInformation"] + + # investment cost + investment_cost_info = costs_esdl_asset.investmentCosts.value + investment_cost = investment_cost_info * results[f"{asset}__max_size"] / 1.0e6 + np.testing.assert_allclose( + investment_cost, results[f"{asset}__investment_cost"], atol=1.0e-7 + ) + + # installation cost + installation_cost = costs_esdl_asset.installationCosts.value + np.testing.assert_allclose(installation_cost, results[f"{asset}__installation_cost"]) + + # variable operational cost + timesteps_hr = np.diff(solution.times()) / 3600.0 + variable_operational_cost = 0.0 + var_op_costs = costs_esdl_asset.variableOperationalCosts.value + for ii in range(1, len(solution.times())): + variable_operational_cost += ( + var_op_costs + * results[f"{asset}.Power_consumed"][ii] + * timesteps_hr[ii - 1] + / 1e6 + ) + np.testing.assert_allclose( + variable_operational_cost, results[f"{asset}__variable_operational_cost"] + ) + + def test_elec_heat_source_elec(self): """ - This tests checks the elec boiler for the standard checks and the energy conservation over - the commodity change. + This tests checks the elec heat sourc elec for the standard checks and the energy + conservation over the commodity change. Checks: 1. demand is matched 2. energy conservation in the network 3. heat to discharge 4. energy conservation over the heat and electricity commodity + 5. ElectricBoiler cost components """ import models.source_pipe_sink.src.double_pipe_heat as example from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink @@ -35,7 +71,7 @@ def test_elec_boiler(self): heat_problem = run_esdl_mesido_optimization( SourcePipeSink, base_folder=base_folder, - esdl_file_name="sourcesink_witheboiler.esdl", + esdl_file_name="sourcesink_with_eboiler.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.csv", @@ -50,12 +86,57 @@ def test_elec_boiler(self): np.testing.assert_array_less(0.0, results["ElectricBoiler_9aab.Heat_source"]) np.testing.assert_array_less(0.0, results["ElectricityProducer_4dde.ElectricityOut.Power"]) - np.testing.assert_array_less( + np.testing.assert_allclose( parameters["ElectricBoiler_9aab.efficiency"] * results["ElectricBoiler_9aab.Power_consumed"], - results["ElectricBoiler_9aab.Heat_source"] + 1.0e-6, + results["ElectricBoiler_9aab.Heat_source"], ) + # Check the cost components of ElectricBoiler + self.asset_cost_calculation_tests(heat_problem, results) + + def test_heat_source_elec(self): + """ + This tests checks the heat sourc elec for the standard checks and the energy conservation + over the commodity change. + + Checks: + 1. demand is matched + 2. energy conservation in the network + 3. heat to discharge + 4. energy conservation over the heat and electricity commodity + 5. ElectricBoiler cost components + """ + import models.source_pipe_sink.src.double_pipe_heat as example + from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink + + base_folder = Path(example.__file__).resolve().parent.parent + + heat_problem = run_esdl_mesido_optimization( + SourcePipeSink, + base_folder=base_folder, + esdl_file_name="sourcesink_with_eboiler_no_elec.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.csv", + ) + results = heat_problem.extract_results() + parameters = heat_problem.parameters(0) + + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + + np.testing.assert_array_less(0.0, results["ElectricBoiler_9aab.Heat_source"]) + np.testing.assert_allclose( + parameters["ElectricBoiler_9aab.efficiency"] + * results["ElectricBoiler_9aab.Power_consumed"], + results["ElectricBoiler_9aab.Heat_source"], + ) + + # Check the cost components of ElectricBoiler + self.asset_cost_calculation_tests(heat_problem, results) + def test_air_water_hp_elec(self): """ This tests checks the air-water hp elec for the standard checks and the energy conservation @@ -106,5 +187,6 @@ def test_air_water_hp_elec(self): if __name__ == "__main__": TestElecBoiler = TestElecBoiler() - TestElecBoiler.test_elec_boiler() + TestElecBoiler.test_elec_heat_source_elec() + TestElecBoiler.test_heat_source_elec() TestElecBoiler.test_air_water_hp_elec() diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 2cf7019da..e5c785b45 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -367,7 +367,7 @@ def electric_power_conservation_test(solution, results, atol=1e-2): "electricity_demand", "electrolyzer", "electricity_storage", - "elec_boiler", + "elec_heat_source_elec", "heat_pump_elec", "air_water_heat_pump_elec", ] From 0200e3ec494aa1b1509dcefb85ebb0652d9a4541 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 27 Jan 2026 09:30:19 +0100 Subject: [PATCH 331/376] Heating and cooling sizing in grow_workflow (#312) - grow_workflow catering for heating and cooling - added cooling assets --- CHANGELOG.md | 7 + .../input/timeseries_4_elect_cost.csv | 8761 +++++++++++++++++ ...etwork with return network with costs.esdl | 340 + ...etwork with return network with costs.esdl | 316 + examples/heating_and_cooling/src/run_case.py | 717 +- heat_producer) | 0 src/mesido/asset_sizing_mixin.py | 25 +- src/mesido/esdl/asset_to_component_base.py | 50 +- src/mesido/esdl/esdl_heat_model.py | 34 +- src/mesido/esdl/profile_parser.py | 9 +- src/mesido/financial_mixin.py | 71 +- src/mesido/potential_errors.py | 2 + .../workflows/goals/minimize_tco_goal.py | 13 + src/mesido/workflows/grow_workflow.py | 69 +- src/mesido/workflows/io/write_output.py | 56 +- src/mesido/workflows/utils/error_types.py | 28 +- tests/models/wko/src/example.py | 7 +- tests/test_electrolyzer.py | 12 +- tests/test_end_scenario_sizing.py | 20 +- tests/test_gas_electricity.py | 6 +- tests/test_producer_profiles.py | 4 +- tests/utils_tests.py | 2 +- 22 files changed, 10419 insertions(+), 130 deletions(-) create mode 100644 examples/heating_and_cooling/input/timeseries_4_elect_cost.csv create mode 100644 examples/heating_and_cooling/model/Heating and cooling and elec network with return network with costs.esdl create mode 100644 examples/heating_and_cooling/model/Heating and cooling network with return network with costs.esdl create mode 100644 heat_producer) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1142be4f5..8006f0014 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ - Rollout workflow may optionally include phasing of heat buffers for handling peak day constraints and demands - Inclusion of maximum allowed yearly pipe placement length constraint for the rollout workflow - Adding constraint so that all heating demands are placed at the end of the simulation +- Sizing of airco +- Heating and cooling example with input costs + - HeatSourceElec (e-boiler with 2 ports) is supported for DTK and its cost attributes are supported in Mesido - Cost attributes of ElecHeatSourceElec (e-boiler with 3 ports) are supported in Mesido @@ -12,12 +15,16 @@ - Clean up of old code and removing duplicates. - Minimize TCO objective in the grow_workflow is now only based on capex and opex that can be influenced. - Removed the requirement of "_ret" for the return network pipes, for ESDLversion 21.10 and later. The relation between supply and return pipes is now based on the "related" attribute in the esdl. +- Addtion of cooling assests (airco and low_temperature_ates) in the grow_workflow for heating and cooling networks +- Inclusion of airco and low_temperature_ates in write_output - New data structute for specifying database connection inputs - Costs of available pipe classes are updated based on the asset measures and templates if they are provided. - The charging and discharging variable for electricity storage is created without a binary variable using the convex hull description. ## Fixed - Bug: Write updated esdl for 2 port heat pump +- Bug: 2 port heatpump write result profiles to database +- Bug: setting of self._pipe_heat_loss_nominals was not accounting for negative values when T_ground > carrier temperature # [0.1.15] - 2025-11-19 diff --git a/examples/heating_and_cooling/input/timeseries_4_elect_cost.csv b/examples/heating_and_cooling/input/timeseries_4_elect_cost.csv new file mode 100644 index 000000000..e3505b9f4 --- /dev/null +++ b/examples/heating_and_cooling/input/timeseries_4_elect_cost.csv @@ -0,0 +1,8761 @@ +DateTime,CoolingDemand_1,HeatingDemand_1,HeatingDemand_2,Elect +31-12-2018 23:00,7153333.333,0.050329049,0.050329049,1.00E-04 +1-1-2019 0:00,7153333.762,0.019461529,0.019461529,1.00E-04 +1-1-2019 1:00,7153335.048,0.005371142,0.005371142,1.00E-04 +1-1-2019 2:00,7153337.192,0.002531358,0.002531358,1.00E-04 +1-1-2019 3:00,7153340.193,0.006376971,0.006376971,1.00E-04 +1-1-2019 4:00,7153344.051,0.039930779,0.039930779,1.00E-04 +1-1-2019 5:00,7153348.767,0.189693727,0.189693727,1.00E-04 +1-1-2019 6:00,7153354.34,0.398271631,0.398271631,1.00E-04 +1-1-2019 7:00,7153360.771,0.545202955,0.545202955,1.00E-04 +1-1-2019 8:00,7153368.059,0.664203859,0.664203859,1.00E-04 +1-1-2019 9:00,7153376.205,0.552707393,0.552707393,1.00E-04 +1-1-2019 10:00,7153385.208,0.51662341,0.51662341,1.00E-04 +1-1-2019 11:00,7153395.068,0.639689954,0.639689954,1.00E-04 +1-1-2019 12:00,7153405.786,0.54726439,0.54726439,1.00E-04 +1-1-2019 13:00,7153417.361,0.462136528,0.462136528,1.00E-04 +1-1-2019 14:00,7153429.794,0.49566353,0.49566353,1.00E-04 +1-1-2019 15:00,7153443.084,0.50413802,0.50413802,1.00E-04 +1-1-2019 16:00,7153457.231,0.477233502,0.477233502,1.00E-04 +1-1-2019 17:00,7153472.236,0.500550865,0.500550865,1.00E-04 +1-1-2019 18:00,7153488.098,0.485878609,0.485878609,1.00E-04 +1-1-2019 19:00,7153504.817,0.436978888,0.436978888,1.00E-04 +1-1-2019 20:00,7153522.394,0.360554953,0.360554953,1.00E-04 +1-1-2019 21:00,7153540.828,0.234138179,0.234138179,1.00E-04 +1-1-2019 22:00,7153560.119,0.111812117,0.111812117,1.00E-04 +1-1-2019 23:00,7153580.268,0.048379859,0.048379859,1.00E-04 +2-1-2019 0:00,7153601.274,0.019428271,0.019428271,1.00E-04 +2-1-2019 1:00,7153623.137,0.006310747,0.006310747,1.00E-04 +2-1-2019 2:00,7153645.858,0.003488399,0.003488399,1.00E-04 +2-1-2019 3:00,7153669.436,0.009135712,0.009135712,1.00E-04 +2-1-2019 4:00,7153693.871,0.044403937,0.044403937,1.00E-04 +2-1-2019 5:00,7153719.163,0.208010815,0.208010815,1.00E-04 +2-1-2019 6:00,7153745.313,0.42089549,0.42089549,1.00E-04 +2-1-2019 7:00,7153772.32,0.562652669,0.562652669,1.00E-04 +2-1-2019 8:00,7153800.184,0.679147921,0.679147921,1.00E-04 +2-1-2019 9:00,7153828.905,0.541377445,0.541377445,1.00E-04 +2-1-2019 10:00,7153858.484,0.519032215,0.519032215,1.00E-04 +2-1-2019 11:00,7153888.919,0.634940763,0.634940763,1.00E-04 +2-1-2019 12:00,7153920.212,0.56137586,0.56137586,1.00E-04 +2-1-2019 13:00,7153952.362,0.461387204,0.461387204,1.00E-04 +2-1-2019 14:00,7153985.369,0.491492373,0.491492373,1.00E-04 +2-1-2019 15:00,7154019.233,0.499763615,0.499763615,1.00E-04 +2-1-2019 16:00,7154053.954,0.47286208,0.47286208,1.00E-04 +2-1-2019 17:00,7154089.532,0.496882406,0.496882406,1.00E-04 +2-1-2019 18:00,7154125.967,0.476811477,0.476811477,1.00E-04 +2-1-2019 19:00,7154163.26,0.435859797,0.435859797,1.00E-04 +2-1-2019 20:00,7154201.409,0.360541095,0.360541095,1.00E-04 +2-1-2019 21:00,7154240.415,0.234457849,0.234457849,1.00E-04 +2-1-2019 22:00,7154280.279,0.110798835,0.110798835,1.00E-04 +2-1-2019 23:00,7154320.999,0.047974401,0.047974401,1.00E-04 +3-1-2019 0:00,7154362.576,0.019739858,0.019739858,1.00E-04 +3-1-2019 1:00,7154405.01,0.006558014,0.006558014,1.00E-04 +3-1-2019 2:00,7154448.301,0.004095333,0.004095333,1.00E-04 +3-1-2019 3:00,7154492.449,0.009698575,0.009698575,1.00E-04 +3-1-2019 4:00,7154537.453,0.046215446,0.046215446,1.00E-04 +3-1-2019 5:00,7154583.315,0.210114138,0.210114138,1.00E-04 +3-1-2019 6:00,7154630.033,0.428649595,0.428649595,1.00E-04 +3-1-2019 7:00,7154677.608,0.573832993,0.573832993,1.00E-04 +3-1-2019 8:00,7154726.039,0.688455907,0.688455907,1.00E-04 +3-1-2019 9:00,7154775.328,0.561987952,0.561987952,1.00E-04 +3-1-2019 10:00,7154825.473,0.422583027,0.422583027,1.00E-04 +3-1-2019 11:00,7154876.475,0.614018054,0.614018054,1.00E-04 +3-1-2019 12:00,7154928.333,0.559906046,0.559906046,1.00E-04 +3-1-2019 13:00,7154981.048,0.413295178,0.413295178,1.00E-04 +3-1-2019 14:00,7155034.62,0.486553554,0.486553554,1.00E-04 +3-1-2019 15:00,7155089.048,0.506249886,0.506249886,1.00E-04 +3-1-2019 16:00,7155144.333,0.487711428,0.487711428,1.00E-04 +3-1-2019 17:00,7155200.474,0.504661317,0.504661317,1.00E-04 +3-1-2019 18:00,7155257.472,0.490970828,0.490970828,1.00E-04 +3-1-2019 19:00,7155315.326,0.445743687,0.445743687,1.00E-04 +3-1-2019 20:00,7155374.036,0.369159712,0.369159712,1.00E-04 +3-1-2019 21:00,7155433.603,0.239956244,0.239956244,1.00E-04 +3-1-2019 22:00,7155494.027,0.113382063,0.113382063,1.00E-04 +3-1-2019 23:00,7155555.306,0.049037055,0.049037055,1.00E-04 +4-1-2019 0:00,7155617.442,0.02030774,0.02030774,1.00E-04 +4-1-2019 1:00,7155680.434,0.007109878,0.007109878,1.00E-04 +4-1-2019 2:00,7155744.283,0.005020789,0.005020789,1.00E-04 +4-1-2019 3:00,7155808.987,0.01117393,0.01117393,1.00E-04 +4-1-2019 4:00,7155874.548,0.049549104,0.049549104,1.00E-04 +4-1-2019 5:00,7155940.965,0.216591901,0.216591901,1.00E-04 +4-1-2019 6:00,7156008.238,0.435886536,0.435886536,1.00E-04 +4-1-2019 7:00,7156076.367,0.571507133,0.571507133,1.00E-04 +4-1-2019 8:00,7156145.352,0.683565181,0.683565181,1.00E-04 +4-1-2019 9:00,7156215.193,0.558496764,0.558496764,1.00E-04 +4-1-2019 10:00,7156285.89,0.520799155,0.520799155,1.00E-04 +4-1-2019 11:00,7156357.443,0.638113454,0.638113454,1.00E-04 +4-1-2019 12:00,7156429.851,0.565700035,0.565700035,1.00E-04 +4-1-2019 13:00,7156503.116,0.458892894,0.458892894,1.00E-04 +4-1-2019 14:00,7156577.236,0.490262044,0.490262044,1.00E-04 +4-1-2019 15:00,7156652.212,0.495260083,0.495260083,1.00E-04 +4-1-2019 16:00,7156728.044,0.463318659,0.463318659,1.00E-04 +4-1-2019 17:00,7156804.732,0.487164971,0.487164971,1.00E-04 +4-1-2019 18:00,7156882.275,0.465230564,0.465230564,1.00E-04 +4-1-2019 19:00,7156960.674,0.423526252,0.423526252,1.00E-04 +4-1-2019 20:00,7157039.928,0.348720126,0.348720126,1.00E-04 +4-1-2019 21:00,7157120.038,0.22672459,0.22672459,1.00E-04 +4-1-2019 22:00,7157201.004,0.10641711,0.10641711,1.00E-04 +4-1-2019 23:00,7157282.824,0.045729951,0.045729951,1.00E-04 +5-1-2019 0:00,7157365.501,0.019021529,0.019021529,1.00E-04 +5-1-2019 1:00,7157449.032,0.006342652,0.006342652,1.00E-04 +5-1-2019 2:00,7157533.419,0.003929531,0.003929531,1.00E-04 +5-1-2019 3:00,7157618.661,0.007741717,0.007741717,1.00E-04 +5-1-2019 4:00,7157704.759,0.03904124,0.03904124,1.00E-04 +5-1-2019 5:00,7157791.711,0.177959059,0.177959059,1.00E-04 +5-1-2019 6:00,7157879.519,0.372426717,0.372426717,1.00E-04 +5-1-2019 7:00,7157968.182,0.4936847,0.4936847,1.00E-04 +5-1-2019 8:00,7158057.7,0.599716805,0.599716805,1.00E-04 +5-1-2019 9:00,7158148.073,0.495757386,0.495757386,1.00E-04 +5-1-2019 10:00,7158239.301,0.473899887,0.473899887,1.00E-04 +5-1-2019 11:00,7158331.383,0.600328524,0.600328524,1.00E-04 +5-1-2019 12:00,7158424.321,0.534210447,0.534210447,1.00E-04 +5-1-2019 13:00,7158518.114,0.423469638,0.423469638,1.00E-04 +5-1-2019 14:00,7158612.761,0.457344488,0.457344488,1.00E-04 +5-1-2019 15:00,7158708.263,0.470152128,0.470152128,1.00E-04 +5-1-2019 16:00,7158804.619,0.439618076,0.439618076,1.00E-04 +5-1-2019 17:00,7158901.83,0.465026649,0.465026649,1.00E-04 +5-1-2019 18:00,7158999.896,0.447384175,0.447384175,1.00E-04 +5-1-2019 19:00,7159098.816,0.409161519,0.409161519,1.00E-04 +5-1-2019 20:00,7159198.591,0.336858569,0.336858569,1.00E-04 +5-1-2019 21:00,7159299.22,0.217426284,0.217426284,1.00E-04 +5-1-2019 22:00,7159400.704,0.102868237,0.102868237,1.00E-04 +5-1-2019 23:00,7159503.042,0.044590477,0.044590477,1.00E-04 +6-1-2019 0:00,7159606.234,0.018339846,0.018339846,1.00E-04 +6-1-2019 1:00,7159710.28,0.006150537,0.006150537,1.00E-04 +6-1-2019 2:00,7159815.181,0.003529487,0.003529487,1.00E-04 +6-1-2019 3:00,7159920.935,0.007075878,0.007075878,1.00E-04 +6-1-2019 4:00,7160027.544,0.036569713,0.036569713,1.00E-04 +6-1-2019 5:00,7160135.006,0.171923542,0.171923542,1.00E-04 +6-1-2019 6:00,7160243.323,0.361518493,0.361518493,1.00E-04 +6-1-2019 7:00,7160352.493,0.48360434,0.48360434,1.00E-04 +6-1-2019 8:00,7160462.518,0.590215083,0.590215083,1.00E-04 +6-1-2019 9:00,7160573.396,0.488820498,0.488820498,1.00E-04 +6-1-2019 10:00,7160685.127,0.452909283,0.452909283,1.00E-04 +6-1-2019 11:00,7160797.713,0.588111095,0.588111095,1.00E-04 +6-1-2019 12:00,7160911.152,0.524773969,0.524773969,1.00E-04 +6-1-2019 13:00,7161025.444,0.413723647,0.413723647,1.00E-04 +6-1-2019 14:00,7161140.59,0.454449225,0.454449225,1.00E-04 +6-1-2019 15:00,7161256.589,0.46363899,0.46363899,1.00E-04 +6-1-2019 16:00,7161373.442,0.434776402,0.434776402,1.00E-04 +6-1-2019 17:00,7161491.148,0.458370174,0.458370174,1.00E-04 +6-1-2019 18:00,7161609.707,0.439796801,0.439796801,1.00E-04 +6-1-2019 19:00,7161729.12,0.401021343,0.401021343,1.00E-04 +6-1-2019 20:00,7161849.385,0.330607429,0.330607429,1.00E-04 +6-1-2019 21:00,7161970.504,0.215495228,0.215495228,1.00E-04 +6-1-2019 22:00,7162092.476,0.10271267,0.10271267,1.00E-04 +6-1-2019 23:00,7162215.3,0.04586981,0.04586981,1.00E-04 +7-1-2019 0:00,7162338.978,0.019632177,0.019632177,1.00E-04 +7-1-2019 1:00,7162463.508,0.006798462,0.006798462,1.00E-04 +7-1-2019 2:00,7162588.891,0.004260438,0.004260438,1.00E-04 +7-1-2019 3:00,7162715.126,0.008989145,0.008989145,1.00E-04 +7-1-2019 4:00,7162842.214,0.0422622,0.0422622,1.00E-04 +7-1-2019 5:00,7162970.155,0.187005394,0.187005394,1.00E-04 +7-1-2019 6:00,7163098.948,0.382383436,0.382383436,1.00E-04 +7-1-2019 7:00,7163228.594,0.50159386,0.50159386,1.00E-04 +7-1-2019 8:00,7163359.092,0.600515151,0.600515151,1.00E-04 +7-1-2019 9:00,7163490.442,0.486873308,0.486873308,1.00E-04 +7-1-2019 10:00,7163622.645,0.461152611,0.461152611,1.00E-04 +7-1-2019 11:00,7163755.699,0.582754635,0.582754635,1.00E-04 +7-1-2019 12:00,7163889.606,0.514167394,0.514167394,1.00E-04 +7-1-2019 13:00,7164024.365,0.40024011,0.40024011,1.00E-04 +7-1-2019 14:00,7164159.975,0.43969489,0.43969489,1.00E-04 +7-1-2019 15:00,7164296.438,0.449535339,0.449535339,1.00E-04 +7-1-2019 16:00,7164433.752,0.421003933,0.421003933,1.00E-04 +7-1-2019 17:00,7164571.918,0.444968636,0.444968636,1.00E-04 +7-1-2019 18:00,7164710.936,0.421059934,0.421059934,1.00E-04 +7-1-2019 19:00,7164850.805,0.381925104,0.381925104,1.00E-04 +7-1-2019 20:00,7164991.525,0.308273439,0.308273439,1.00E-04 +7-1-2019 21:00,7165133.098,0.196221668,0.196221668,1.00E-04 +7-1-2019 22:00,7165275.521,0.094276231,0.094276231,1.00E-04 +7-1-2019 23:00,7165418.796,0.04094332,0.04094332,1.00E-04 +8-1-2019 0:00,7165562.922,0.016636476,0.016636476,1.00E-04 +8-1-2019 1:00,7165707.899,0.00553427,0.00553427,1.00E-04 +8-1-2019 2:00,7165853.727,0.003089608,0.003089608,1.00E-04 +8-1-2019 3:00,7166000.407,0.004912056,0.004912056,1.00E-04 +8-1-2019 4:00,7166147.937,0.027654966,0.027654966,1.00E-04 +8-1-2019 5:00,7166296.318,0.140687363,0.140687363,1.00E-04 +8-1-2019 6:00,7166445.549,0.304211653,0.304211653,1.00E-04 +8-1-2019 7:00,7166595.632,0.413806726,0.413806726,1.00E-04 +8-1-2019 8:00,7166746.565,0.51295431,0.51295431,1.00E-04 +8-1-2019 9:00,7166898.348,0.436477765,0.436477765,1.00E-04 +8-1-2019 10:00,7167050.982,0.412640076,0.412640076,1.00E-04 +8-1-2019 11:00,7167204.467,0.555377657,0.555377657,1.00E-04 +8-1-2019 12:00,7167358.802,0.494114076,0.494114076,1.00E-04 +8-1-2019 13:00,7167513.986,0.382548114,0.382548114,1.00E-04 +8-1-2019 14:00,7167670.021,0.423531907,0.423531907,1.00E-04 +8-1-2019 15:00,7167826.907,0.436970644,0.436970644,1.00E-04 +8-1-2019 16:00,7167984.642,0.408668739,0.408668739,1.00E-04 +8-1-2019 17:00,7168143.227,0.433833089,0.433833089,1.00E-04 +8-1-2019 18:00,7168302.661,0.416230639,0.416230639,1.00E-04 +8-1-2019 19:00,7168462.946,0.383180971,0.383180971,1.00E-04 +8-1-2019 20:00,7168624.08,0.31690591,0.31690591,1.00E-04 +8-1-2019 21:00,7168786.064,0.207821852,0.207821852,1.00E-04 +8-1-2019 22:00,7168948.897,0.097006367,0.097006367,1.00E-04 +8-1-2019 23:00,7169112.58,0.043376897,0.043376897,1.00E-04 +9-1-2019 0:00,7169277.112,0.017520636,0.017520636,1.00E-04 +9-1-2019 1:00,7169442.493,0.006019236,0.006019236,1.00E-04 +9-1-2019 2:00,7169608.723,0.003345468,0.003345468,1.00E-04 +9-1-2019 3:00,7169775.803,0.006004303,0.006004303,1.00E-04 +9-1-2019 4:00,7169943.731,0.032397864,0.032397864,1.00E-04 +9-1-2019 5:00,7170112.508,0.15891724,0.15891724,1.00E-04 +9-1-2019 6:00,7170282.134,0.338045376,0.338045376,1.00E-04 +9-1-2019 7:00,7170452.609,0.458179773,0.458179773,1.00E-04 +9-1-2019 8:00,7170623.932,0.560557402,0.560557402,1.00E-04 +9-1-2019 9:00,7170796.104,0.458831181,0.458831181,1.00E-04 +9-1-2019 10:00,7170969.125,0.447603856,0.447603856,1.00E-04 +9-1-2019 11:00,7171142.993,0.571529125,0.571529125,1.00E-04 +9-1-2019 12:00,7171317.71,0.486836139,0.486836139,1.00E-04 +9-1-2019 13:00,7171493.276,0.352128571,0.352128571,1.00E-04 +9-1-2019 14:00,7171669.689,0.435176558,0.435176558,1.00E-04 +9-1-2019 15:00,7171846.95,0.452141063,0.452141063,1.00E-04 +9-1-2019 16:00,7172025.059,0.426759042,0.426759042,1.00E-04 +9-1-2019 17:00,7172204.016,0.453818924,0.453818924,1.00E-04 +9-1-2019 18:00,7172383.821,0.435415103,0.435415103,1.00E-04 +9-1-2019 19:00,7172564.473,0.396964519,0.396964519,1.00E-04 +9-1-2019 20:00,7172745.973,0.328215286,0.328215286,1.00E-04 +9-1-2019 21:00,7172928.321,0.213614226,0.213614226,1.00E-04 +9-1-2019 22:00,7173111.515,0.102185371,0.102185371,1.00E-04 +9-1-2019 23:00,7173295.557,0.044469016,0.044469016,1.00E-04 +10-1-2019 0:00,7173480.446,0.018805298,0.018805298,1.00E-04 +10-1-2019 1:00,7173666.183,0.006779596,0.006779596,1.00E-04 +10-1-2019 2:00,7173852.766,0.004156134,0.004156134,1.00E-04 +10-1-2019 3:00,7174040.196,0.008437588,0.008437588,1.00E-04 +10-1-2019 4:00,7174228.473,0.040934357,0.040934357,1.00E-04 +10-1-2019 5:00,7174417.596,0.186377163,0.186377163,1.00E-04 +10-1-2019 6:00,7174607.566,0.389688306,0.389688306,1.00E-04 +10-1-2019 7:00,7174798.383,0.520196472,0.520196472,1.00E-04 +10-1-2019 8:00,7174990.046,0.62572418,0.62572418,1.00E-04 +10-1-2019 9:00,7175182.555,0.509193668,0.509193668,1.00E-04 +10-1-2019 10:00,7175375.91,0.48519654,0.48519654,1.00E-04 +10-1-2019 11:00,7175570.112,0.605351904,0.605351904,1.00E-04 +10-1-2019 12:00,7175765.159,0.531118278,0.531118278,1.00E-04 +10-1-2019 13:00,7175961.053,0.418254502,0.418254502,1.00E-04 +10-1-2019 14:00,7176157.792,0.463842663,0.463842663,1.00E-04 +10-1-2019 15:00,7176355.377,0.47569793,0.47569793,1.00E-04 +10-1-2019 16:00,7176553.807,0.448089109,0.448089109,1.00E-04 +10-1-2019 17:00,7176753.083,0.476483155,0.476483155,1.00E-04 +10-1-2019 18:00,7176953.205,0.460804063,0.460804063,1.00E-04 +10-1-2019 19:00,7177154.171,0.421834017,0.421834017,1.00E-04 +10-1-2019 20:00,7177355.983,0.347171672,0.347171672,1.00E-04 +10-1-2019 21:00,7177558.64,0.224966951,0.224966951,1.00E-04 +10-1-2019 22:00,7177762.142,0.106268805,0.106268805,1.00E-04 +10-1-2019 23:00,7177966.489,0.046003631,0.046003631,1.00E-04 +11-1-2019 0:00,7178171.68,0.019139769,0.019139769,1.00E-04 +11-1-2019 1:00,7178377.716,0.006668968,0.006668968,1.00E-04 +11-1-2019 2:00,7178584.597,0.004577772,0.004577772,1.00E-04 +11-1-2019 3:00,7178792.322,0.008324014,0.008324014,1.00E-04 +11-1-2019 4:00,7179000.892,0.039482612,0.039482612,1.00E-04 +11-1-2019 5:00,7179210.305,0.176064608,0.176064608,1.00E-04 +11-1-2019 6:00,7179420.563,0.36616921,0.36616921,1.00E-04 +11-1-2019 7:00,7179631.665,0.481756708,0.481756708,1.00E-04 +11-1-2019 8:00,7179843.611,0.57898573,0.57898573,1.00E-04 +11-1-2019 9:00,7180056.4,0.47147639,0.47147639,1.00E-04 +11-1-2019 10:00,7180270.034,0.454278709,0.454278709,1.00E-04 +11-1-2019 11:00,7180484.51,0.576476417,0.576476417,1.00E-04 +11-1-2019 12:00,7180699.831,0.512484741,0.512484741,1.00E-04 +11-1-2019 13:00,7180915.994,0.394310868,0.394310868,1.00E-04 +11-1-2019 14:00,7181133.001,0.441362266,0.441362266,1.00E-04 +11-1-2019 15:00,7181350.851,0.451090025,0.451090025,1.00E-04 +11-1-2019 16:00,7181569.544,0.422352688,0.422352688,1.00E-04 +11-1-2019 17:00,7181789.08,0.447848017,0.447848017,1.00E-04 +11-1-2019 18:00,7182009.459,0.429538466,0.429538466,1.00E-04 +11-1-2019 19:00,7182230.68,0.393278622,0.393278622,1.00E-04 +11-1-2019 20:00,7182452.744,0.323524531,0.323524531,1.00E-04 +11-1-2019 21:00,7182675.651,0.209032722,0.209032722,1.00E-04 +11-1-2019 22:00,7182899.399,0.09887287,0.09887287,1.00E-04 +11-1-2019 23:00,7183123.99,0.042573266,0.042573266,1.00E-04 +12-1-2019 0:00,7183349.423,0.017717186,0.017717186,1.00E-04 +12-1-2019 1:00,7183575.698,0.006004519,0.006004519,1.00E-04 +12-1-2019 2:00,7183802.815,0.003448414,0.003448414,1.00E-04 +12-1-2019 3:00,7184030.774,0.005969447,0.005969447,1.00E-04 +12-1-2019 4:00,7184259.574,0.032149347,0.032149347,1.00E-04 +12-1-2019 5:00,7184489.216,0.153660386,0.153660386,1.00E-04 +12-1-2019 6:00,7184719.699,0.328258783,0.328258783,1.00E-04 +12-1-2019 7:00,7184951.024,0.438452631,0.438452631,1.00E-04 +12-1-2019 8:00,7185183.19,0.537800938,0.537800938,1.00E-04 +12-1-2019 9:00,7185416.197,0.445409229,0.445409229,1.00E-04 +12-1-2019 10:00,7185650.044,0.438525482,0.438525482,1.00E-04 +12-1-2019 11:00,7185884.733,0.562623772,0.562623772,1.00E-04 +12-1-2019 12:00,7186120.262,0.495562455,0.495562455,1.00E-04 +12-1-2019 13:00,7186356.632,0.375319856,0.375319856,1.00E-04 +12-1-2019 14:00,7186593.842,0.423674581,0.423674581,1.00E-04 +12-1-2019 15:00,7186831.892,0.435020618,0.435020618,1.00E-04 +12-1-2019 16:00,7187070.783,0.406244961,0.406244961,1.00E-04 +12-1-2019 17:00,7187310.514,0.430360633,0.430360633,1.00E-04 +12-1-2019 18:00,7187551.085,0.411893155,0.411893155,1.00E-04 +12-1-2019 19:00,7187792.495,0.37437433,0.37437433,1.00E-04 +12-1-2019 20:00,7188034.746,0.306431394,0.306431394,1.00E-04 +12-1-2019 21:00,7188277.835,0.197409241,0.197409241,1.00E-04 +12-1-2019 22:00,7188521.765,0.093401925,0.093401925,1.00E-04 +12-1-2019 23:00,7188766.533,0.039900248,0.039900248,1.00E-04 +13-01-2019 0:00,7189012.141,0.016329827,0.016329827,1.00E-04 +13-01-2019 1:00,7189258.588,0.005443725,0.005443725,1.00E-04 +13-01-2019 2:00,7189505.874,0.003043262,0.003043262,1.00E-04 +13-01-2019 3:00,7189753.999,0.004605259,0.004605259,1.00E-04 +13-01-2019 4:00,7190002.962,0.025266751,0.025266751,1.00E-04 +13-01-2019 5:00,7190252.764,0.128273352,0.128273352,1.00E-04 +13-01-2019 6:00,7190503.405,0.278612126,0.278612126,1.00E-04 +13-01-2019 7:00,7190754.883,0.376051775,0.376051775,1.00E-04 +13-01-2019 8:00,7191007.2,0.46585309,0.46585309,1.00E-04 +13-01-2019 9:00,7191260.355,0.393129138,0.393129138,1.00E-04 +13-01-2019 10:00,7191514.348,0.398614913,0.398614913,1.00E-04 +13-01-2019 11:00,7191769.179,0.529197807,0.529197807,1.00E-04 +13-01-2019 12:00,7192024.847,0.466434926,0.466434926,1.00E-04 +13-01-2019 13:00,7192281.353,0.344963537,0.344963537,1.00E-04 +13-01-2019 14:00,7192538.696,0.393568393,0.393568393,1.00E-04 +13-01-2019 15:00,7192796.877,0.403619737,0.403619737,1.00E-04 +13-01-2019 16:00,7193055.894,0.374309541,0.374309541,1.00E-04 +13-01-2019 17:00,7193315.749,0.410379335,0.410379335,1.00E-04 +13-01-2019 18:00,7193576.44,0.388690548,0.388690548,1.00E-04 +13-01-2019 19:00,7193837.969,0.354293236,0.354293236,1.00E-04 +13-01-2019 20:00,7194100.334,0.289659382,0.289659382,1.00E-04 +13-01-2019 21:00,7194363.535,0.186927802,0.186927802,1.00E-04 +13-01-2019 22:00,7194627.572,0.088453529,0.088453529,1.00E-04 +13-01-2019 23:00,7194892.446,0.037957367,0.037957367,1.00E-04 +14-01-2019 0:00,7195158.156,0.015671919,0.015671919,1.00E-04 +14-01-2019 1:00,7195424.702,0.005128269,0.005128269,1.00E-04 +14-01-2019 2:00,7195692.083,0.002869633,0.002869633,1.00E-04 +14-01-2019 3:00,7195960.301,0.00424043,0.00424043,1.00E-04 +14-01-2019 4:00,7196229.353,0.023020482,0.023020482,1.00E-04 +14-01-2019 5:00,7196499.241,0.124466761,0.124466761,1.00E-04 +14-01-2019 6:00,7196769.965,0.27645431,0.27645431,1.00E-04 +14-01-2019 7:00,7197041.523,0.384244682,0.384244682,1.00E-04 +14-01-2019 8:00,7197313.916,0.470589075,0.470589075,1.00E-04 +14-01-2019 9:00,7197587.144,0.35920487,0.35920487,1.00E-04 +14-01-2019 10:00,7197861.207,0.319362427,0.319362427,1.00E-04 +14-01-2019 11:00,7198136.105,0.473411042,0.473411042,1.00E-04 +14-01-2019 12:00,7198411.836,0.407179204,0.407179204,1.00E-04 +14-01-2019 13:00,7198688.402,0.328199207,0.328199207,1.00E-04 +14-01-2019 14:00,7198965.802,0.400552197,0.400552197,1.00E-04 +14-01-2019 15:00,7199244.036,0.430819347,0.430819347,1.00E-04 +14-01-2019 16:00,7199523.104,0.416569763,0.416569763,1.00E-04 +14-01-2019 17:00,7199803.006,0.4421836,0.4421836,1.00E-04 +14-01-2019 18:00,7200083.741,0.426781341,0.426781341,1.00E-04 +14-01-2019 19:00,7200365.309,0.392766587,0.392766587,1.00E-04 +14-01-2019 20:00,7200647.711,0.319981829,0.319981829,1.00E-04 +14-01-2019 21:00,7200930.945,0.20646585,0.20646585,1.00E-04 +14-01-2019 22:00,7201215.013,0.099896948,0.099896948,1.00E-04 +14-01-2019 23:00,7201499.914,0.043623103,0.043623103,1.00E-04 +15-01-2019 0:00,7201785.647,0.017922751,0.017922751,1.00E-04 +15-01-2019 1:00,7202072.212,0.006104353,0.006104353,1.00E-04 +15-01-2019 2:00,7202359.61,0.003489052,0.003489052,1.00E-04 +15-01-2019 3:00,7202647.84,0.006272777,0.006272777,1.00E-04 +15-01-2019 4:00,7202936.903,0.032372232,0.032372232,1.00E-04 +15-01-2019 5:00,7203226.797,0.156708373,0.156708373,1.00E-04 +15-01-2019 6:00,7203517.523,0.328884703,0.328884703,1.00E-04 +15-01-2019 7:00,7203809.08,0.436180116,0.436180116,1.00E-04 +15-01-2019 8:00,7204101.469,0.528974999,0.528974999,1.00E-04 +15-01-2019 9:00,7204394.69,0.429521622,0.429521622,1.00E-04 +15-01-2019 10:00,7204688.741,0.426531102,0.426531102,1.00E-04 +15-01-2019 11:00,7204983.624,0.55644789,0.55644789,1.00E-04 +15-01-2019 12:00,7205279.337,0.486972506,0.486972506,1.00E-04 +15-01-2019 13:00,7205575.881,0.363020483,0.363020483,1.00E-04 +15-01-2019 14:00,7205873.256,0.411328909,0.411328909,1.00E-04 +15-01-2019 15:00,7206171.461,0.423509333,0.423509333,1.00E-04 +15-01-2019 16:00,7206470.496,0.396393328,0.396393328,1.00E-04 +15-01-2019 17:00,7206770.362,0.420724866,0.420724866,1.00E-04 +15-01-2019 18:00,7207071.057,0.404148918,0.404148918,1.00E-04 +15-01-2019 19:00,7207372.582,0.368106945,0.368106945,1.00E-04 +15-01-2019 20:00,7207674.937,0.302468713,0.302468713,1.00E-04 +15-01-2019 21:00,7207978.121,0.195399093,0.195399093,1.00E-04 +15-01-2019 22:00,7208282.135,0.092404811,0.092404811,1.00E-04 +15-01-2019 23:00,7208586.977,0.039605299,0.039605299,1.00E-04 +16-01-2019 0:00,7208892.649,0.016066295,0.016066295,1.00E-04 +16-01-2019 1:00,7209199.15,0.00534173,0.00534173,1.00E-04 +16-01-2019 2:00,7209506.479,0.003003519,0.003003519,1.00E-04 +16-01-2019 3:00,7209814.637,0.004522689,0.004522689,1.00E-04 +16-01-2019 4:00,7210123.623,0.024751561,0.024751561,1.00E-04 +16-01-2019 5:00,7210433.437,0.129024965,0.129024965,1.00E-04 +16-01-2019 6:00,7210744.08,0.284155439,0.284155439,1.00E-04 +16-01-2019 7:00,7211055.55,0.389551608,0.389551608,1.00E-04 +16-01-2019 8:00,7211367.848,0.487695492,0.487695492,1.00E-04 +16-01-2019 9:00,7211680.974,0.405316565,0.405316565,1.00E-04 +16-01-2019 10:00,7211994.927,0.41359592,0.41359592,1.00E-04 +16-01-2019 11:00,7212309.707,0.549832712,0.549832712,1.00E-04 +16-01-2019 12:00,7212625.315,0.484768396,0.484768396,1.00E-04 +16-01-2019 13:00,7212941.749,0.362211387,0.362211387,1.00E-04 +16-01-2019 14:00,7213259.01,0.420597873,0.420597873,1.00E-04 +16-01-2019 15:00,7213577.098,0.434374843,0.434374843,1.00E-04 +16-01-2019 16:00,7213896.012,0.406866688,0.406866688,1.00E-04 +16-01-2019 17:00,7214215.752,0.436107574,0.436107574,1.00E-04 +16-01-2019 18:00,7214536.319,0.419101578,0.419101578,1.00E-04 +16-01-2019 19:00,7214857.711,0.382018275,0.382018275,1.00E-04 +16-01-2019 20:00,7215179.93,0.312068881,0.312068881,1.00E-04 +16-01-2019 21:00,7215502.974,0.203402515,0.203402515,1.00E-04 +16-01-2019 22:00,7215826.843,0.09730631,0.09730631,1.00E-04 +16-01-2019 23:00,7216151.538,0.042242528,0.042242528,1.00E-04 +17-01-2019 0:00,7216477.057,0.017355847,0.017355847,1.00E-04 +17-01-2019 1:00,7216803.402,0.005904945,0.005904945,1.00E-04 +17-01-2019 2:00,7217130.571,0.003377814,0.003377814,1.00E-04 +17-01-2019 3:00,7217458.566,0.005789542,0.005789542,1.00E-04 +17-01-2019 4:00,7217787.384,0.031173104,0.031173104,1.00E-04 +17-01-2019 5:00,7218117.027,0.152928141,0.152928141,1.00E-04 +17-01-2019 6:00,7218447.494,0.326763631,0.326763631,1.00E-04 +17-01-2019 7:00,7218778.785,0.443718995,0.443718995,1.00E-04 +17-01-2019 8:00,7219110.899,0.547781086,0.547781086,1.00E-04 +17-01-2019 9:00,7219443.837,0.447146644,0.447146644,1.00E-04 +17-01-2019 10:00,7219777.599,0.447832268,0.447832268,1.00E-04 +17-01-2019 11:00,7220112.184,0.576089493,0.576089493,1.00E-04 +17-01-2019 12:00,7220447.592,0.524159958,0.524159958,1.00E-04 +17-01-2019 13:00,7220783.823,0.306972858,0.306972858,1.00E-04 +17-01-2019 14:00,7221120.876,0.442582984,0.442582984,1.00E-04 +17-01-2019 15:00,7221458.752,0.469265611,0.469265611,1.00E-04 +17-01-2019 16:00,7221797.451,0.453219387,0.453219387,1.00E-04 +17-01-2019 17:00,7222136.972,0.47558262,0.47558262,1.00E-04 +17-01-2019 18:00,7222477.314,0.46277128,0.46277128,1.00E-04 +17-01-2019 19:00,7222818.479,0.421319344,0.421319344,1.00E-04 +17-01-2019 20:00,7223160.465,0.349973249,0.349973249,1.00E-04 +17-01-2019 21:00,7223503.273,0.224880192,0.224880192,1.00E-04 +17-01-2019 22:00,7223846.902,0.108141335,0.108141335,1.00E-04 +17-01-2019 23:00,7224191.353,0.048050154,0.048050154,1.00E-04 +18-01-2019 0:00,7224536.624,0.020761933,0.020761933,1.00E-04 +18-01-2019 1:00,7224882.716,0.007659666,0.007659666,1.00E-04 +18-01-2019 2:00,7225229.629,0.006027165,0.006027165,1.00E-04 +18-01-2019 3:00,7225577.362,0.012938599,0.012938599,1.00E-04 +18-01-2019 4:00,7225925.915,0.052822818,0.052822818,1.00E-04 +18-01-2019 5:00,7226275.289,0.224891422,0.224891422,1.00E-04 +18-01-2019 6:00,7226625.482,0.463716358,0.463716358,1.00E-04 +18-01-2019 7:00,7226976.496,0.61028002,0.61028002,1.00E-04 +18-01-2019 8:00,7227328.328,0.705949769,0.705949769,1.00E-04 +18-01-2019 9:00,7227680.98,0.451851375,0.451851375,1.00E-04 +18-01-2019 10:00,7228034.452,0.465551678,0.465551678,1.00E-04 +18-01-2019 11:00,7228388.742,0.61708622,0.61708622,1.00E-04 +18-01-2019 12:00,7228743.851,0.543468774,0.543468774,1.00E-04 +18-01-2019 13:00,7229099.779,0.425742147,0.425742147,1.00E-04 +18-01-2019 14:00,7229456.525,0.490635136,0.490635136,1.00E-04 +18-01-2019 15:00,7229814.089,0.512156183,0.512156183,1.00E-04 +18-01-2019 16:00,7230172.472,0.491655429,0.491655429,1.00E-04 +18-01-2019 17:00,7230531.672,0.527081401,0.527081401,1.00E-04 +18-01-2019 18:00,7230891.69,0.512061662,0.512061662,1.00E-04 +18-01-2019 19:00,7231252.526,0.470137436,0.470137436,1.00E-04 +18-01-2019 20:00,7231614.179,0.391742984,0.391742984,1.00E-04 +18-01-2019 21:00,7231976.649,0.253986111,0.253986111,1.00E-04 +18-01-2019 22:00,7232339.936,0.120661418,0.120661418,1.00E-04 +18-01-2019 23:00,7232704.04,0.05405307,0.05405307,1.00E-04 +19-01-2019 0:00,7233068.961,0.02330414,0.02330414,1.00E-04 +19-01-2019 1:00,7233434.698,0.010658742,0.010658742,1.00E-04 +19-01-2019 2:00,7233801.251,0.009784187,0.009784187,1.00E-04 +19-01-2019 3:00,7234168.62,0.020690288,0.020690288,1.00E-04 +19-01-2019 4:00,7234536.805,0.069906801,0.069906801,1.00E-04 +19-01-2019 5:00,7234905.806,0.271322634,0.271322634,1.00E-04 +19-01-2019 6:00,7235275.622,0.532493001,0.532493001,1.00E-04 +19-01-2019 7:00,7235646.254,0.688032045,0.688032045,1.00E-04 +19-01-2019 8:00,7236017.7,0.787218617,0.787218617,1.00E-04 +19-01-2019 9:00,7236389.962,0.477559189,0.477559189,1.00E-04 +19-01-2019 10:00,7236763.038,0.425745936,0.425745936,1.00E-04 +19-01-2019 11:00,7237136.929,0.668513665,0.668513665,1.00E-04 +19-01-2019 12:00,7237511.634,0.591674015,0.591674015,1.00E-04 +19-01-2019 13:00,7237887.153,0.469213941,0.469213941,1.00E-04 +19-01-2019 14:00,7238263.486,0.532506365,0.532506365,1.00E-04 +19-01-2019 15:00,7238640.633,0.553039333,0.553039333,1.00E-04 +19-01-2019 16:00,7239018.593,0.536509629,0.536509629,1.00E-04 +19-01-2019 17:00,7239397.367,0.566009684,0.566009684,1.00E-04 +19-01-2019 18:00,7239776.953,0.547333232,0.547333232,1.00E-04 +19-01-2019 19:00,7240157.353,0.5054696,0.5054696,1.00E-04 +19-01-2019 20:00,7240538.566,0.419087211,0.419087211,1.00E-04 +19-01-2019 21:00,7240920.591,0.273271104,0.273271104,1.00E-04 +19-01-2019 22:00,7241303.429,0.131339489,0.131339489,1.00E-04 +19-01-2019 23:00,7241687.078,0.059409449,0.059409449,1.00E-04 +20-01-2019 0:00,7242071.54,0.027679123,0.027679123,1.00E-04 +20-01-2019 1:00,7242456.813,0.016174918,0.016174918,1.00E-04 +20-01-2019 2:00,7242842.898,0.018406377,0.018406377,1.00E-04 +20-01-2019 3:00,7243229.795,0.033685953,0.033685953,1.00E-04 +20-01-2019 4:00,7243617.502,0.099031177,0.099031177,1.00E-04 +20-01-2019 5:00,7244006.021,0.329635173,0.329635173,1.00E-04 +20-01-2019 6:00,7244395.35,0.627368616,0.627368616,1.00E-04 +20-01-2019 7:00,7244785.49,0.790536982,0.790536982,1.00E-04 +20-01-2019 8:00,7245176.441,0.857794046,0.857794046,1.00E-04 +20-01-2019 9:00,7245568.201,0.508677724,0.508677724,1.00E-04 +20-01-2019 10:00,7245960.772,0.435994807,0.435994807,1.00E-04 +20-01-2019 11:00,7246354.152,0.621566085,0.621566085,1.00E-04 +20-01-2019 12:00,7246748.342,0.46584543,0.46584543,1.00E-04 +20-01-2019 13:00,7247143.341,0.311568125,0.311568125,1.00E-04 +20-01-2019 14:00,7247539.149,0.515749146,0.515749146,1.00E-04 +20-01-2019 15:00,7247935.767,0.584146464,0.584146464,1.00E-04 +20-01-2019 16:00,7248333.193,0.571113579,0.571113579,1.00E-04 +20-01-2019 17:00,7248731.428,0.60657623,0.60657623,1.00E-04 +20-01-2019 18:00,7249130.471,0.582347553,0.582347553,1.00E-04 +20-01-2019 19:00,7249530.322,0.538812688,0.538812688,1.00E-04 +20-01-2019 20:00,7249930.981,0.453814097,0.453814097,1.00E-04 +20-01-2019 21:00,7250332.448,0.29873983,0.29873983,1.00E-04 +20-01-2019 22:00,7250734.722,0.143403471,0.143403471,1.00E-04 +20-01-2019 23:00,7251137.804,0.066630738,0.066630738,1.00E-04 +21-01-2019 0:00,7251541.693,0.034125531,0.034125531,1.00E-04 +21-01-2019 1:00,7251946.389,0.025534618,0.025534618,1.00E-04 +21-01-2019 2:00,7252351.891,0.030386866,0.030386866,1.00E-04 +21-01-2019 3:00,7252758.2,0.053522826,0.053522826,1.00E-04 +21-01-2019 4:00,7253165.315,0.132783565,0.132783565,1.00E-04 +21-01-2019 5:00,7253573.237,0.399897184,0.399897184,1.00E-04 +21-01-2019 6:00,7253981.964,0.723335399,0.723335399,1.00E-04 +21-01-2019 7:00,7254391.497,0.885470408,0.885470408,1.00E-04 +21-01-2019 8:00,7254801.835,0.949665085,0.949665085,1.00E-04 +21-01-2019 9:00,7255212.979,0.577024785,0.577024785,1.00E-04 +21-01-2019 10:00,7255624.927,0.612463793,0.612463793,1.00E-04 +21-01-2019 11:00,7256037.68,0.723930485,0.723930485,1.00E-04 +21-01-2019 12:00,7256451.238,0.619717519,0.619717519,1.00E-04 +21-01-2019 13:00,7256865.601,0.51617871,0.51617871,1.00E-04 +21-01-2019 14:00,7257280.767,0.581790432,0.581790432,1.00E-04 +21-01-2019 15:00,7257696.738,0.603094275,0.603094275,1.00E-04 +21-01-2019 16:00,7258113.512,0.587042631,0.587042631,1.00E-04 +21-01-2019 17:00,7258531.09,0.613616901,0.613616901,1.00E-04 +21-01-2019 18:00,7258949.471,0.59205358,0.59205358,1.00E-04 +21-01-2019 19:00,7259368.655,0.544196209,0.544196209,1.00E-04 +21-01-2019 20:00,7259788.642,0.44732415,0.44732415,1.00E-04 +21-01-2019 21:00,7260209.431,0.290676612,0.290676612,1.00E-04 +21-01-2019 22:00,7260631.023,0.140151145,0.140151145,1.00E-04 +21-01-2019 23:00,7261053.418,0.065122501,0.065122501,1.00E-04 +22-01-2019 0:00,7261476.614,0.033124958,0.033124958,1.00E-04 +22-01-2019 1:00,7261900.612,0.02456983,0.02456983,1.00E-04 +22-01-2019 2:00,7262325.412,0.028080459,0.028080459,1.00E-04 +22-01-2019 3:00,7262751.013,0.049243162,0.049243162,1.00E-04 +22-01-2019 4:00,7263177.415,0.124157713,0.124157713,1.00E-04 +22-01-2019 5:00,7263604.619,0.376392676,0.376392676,1.00E-04 +22-01-2019 6:00,7264032.623,0.686069647,0.686069647,1.00E-04 +22-01-2019 7:00,7264461.427,0.842554187,0.842554187,1.00E-04 +22-01-2019 8:00,7264891.031,0.944453314,0.944453314,1.00E-04 +22-01-2019 9:00,7265321.436,0.721710894,0.721710894,1.00E-04 +22-01-2019 10:00,7265752.641,0.664484694,0.664484694,1.00E-04 +22-01-2019 11:00,7266184.645,0.78369847,0.78369847,1.00E-04 +22-01-2019 12:00,7266617.448,0.689819028,0.689819028,1.00E-04 +22-01-2019 13:00,7267051.051,0.56692782,0.56692782,1.00E-04 +22-01-2019 14:00,7267485.452,0.629669761,0.629669761,1.00E-04 +22-01-2019 15:00,7267920.653,0.64268757,0.64268757,1.00E-04 +22-01-2019 16:00,7268356.651,0.616668722,0.616668722,1.00E-04 +22-01-2019 17:00,7268793.448,0.638636203,0.638636203,1.00E-04 +22-01-2019 18:00,7269231.043,0.61233964,0.61233964,1.00E-04 +22-01-2019 19:00,7269669.436,0.559826173,0.559826173,1.00E-04 +22-01-2019 20:00,7270108.627,0.462496004,0.462496004,1.00E-04 +22-01-2019 21:00,7270548.614,0.299185019,0.299185019,1.00E-04 +22-01-2019 22:00,7270989.399,0.142638125,0.142638125,1.00E-04 +22-01-2019 23:00,7271430.981,0.065986541,0.065986541,1.00E-04 +23-01-2019 0:00,7271873.359,0.033712001,0.033712001,1.00E-04 +23-01-2019 1:00,7272316.534,0.025801935,0.025801935,1.00E-04 +23-01-2019 2:00,7272760.506,0.028437321,0.028437321,1.00E-04 +23-01-2019 3:00,7273205.273,0.049292501,0.049292501,1.00E-04 +23-01-2019 4:00,7273650.836,0.12467793,0.12467793,1.00E-04 +23-01-2019 5:00,7274097.194,0.376888367,0.376888367,1.00E-04 +23-01-2019 6:00,7274544.348,0.690539619,0.690539619,1.00E-04 +23-01-2019 7:00,7274992.297,0.854872741,0.854872741,1.00E-04 +23-01-2019 8:00,7275441.04,0.953519314,0.953519314,1.00E-04 +23-01-2019 9:00,7275890.579,0.72739612,0.72739612,1.00E-04 +23-01-2019 10:00,7276340.911,0.660579767,0.660579767,1.00E-04 +23-01-2019 11:00,7276792.038,0.780295095,0.780295095,1.00E-04 +23-01-2019 12:00,7277243.959,0.687705552,0.687705552,1.00E-04 +23-01-2019 13:00,7277696.673,0.56319625,0.56319625,1.00E-04 +23-01-2019 14:00,7278150.181,0.62683893,0.62683893,1.00E-04 +23-01-2019 15:00,7278604.482,0.641608862,0.641608862,1.00E-04 +23-01-2019 16:00,7279059.576,0.617556412,0.617556412,1.00E-04 +23-01-2019 17:00,7279515.463,0.642077077,0.642077077,1.00E-04 +23-01-2019 18:00,7279972.142,0.616166408,0.616166408,1.00E-04 +23-01-2019 19:00,7280429.614,0.564477777,0.564477777,1.00E-04 +23-01-2019 20:00,7280887.878,0.468419479,0.468419479,1.00E-04 +23-01-2019 21:00,7281346.933,0.303395539,0.303395539,1.00E-04 +23-01-2019 22:00,7281806.78,0.145570545,0.145570545,1.00E-04 +23-01-2019 23:00,7282267.419,0.067691673,0.067691673,1.00E-04 +24-01-2019 0:00,7282728.848,0.035196324,0.035196324,1.00E-04 +24-01-2019 1:00,7283191.068,0.028254339,0.028254339,1.00E-04 +24-01-2019 2:00,7283654.079,0.032155949,0.032155949,1.00E-04 +24-01-2019 3:00,7284117.881,0.054691727,0.054691727,1.00E-04 +24-01-2019 4:00,7284582.472,0.1346774,0.1346774,1.00E-04 +24-01-2019 5:00,7285047.854,0.395318316,0.395318316,1.00E-04 +24-01-2019 6:00,7285514.025,0.710974644,0.710974644,1.00E-04 +24-01-2019 7:00,7285980.985,0.870967096,0.870967096,1.00E-04 +24-01-2019 8:00,7286448.735,0.977967404,0.977967404,1.00E-04 +24-01-2019 9:00,7286917.274,0.748862618,0.748862618,1.00E-04 +24-01-2019 10:00,7287386.601,0.678703484,0.678703484,1.00E-04 +24-01-2019 11:00,7287856.717,0.794789407,0.794789407,1.00E-04 +24-01-2019 12:00,7288327.621,0.699140721,0.699140721,1.00E-04 +24-01-2019 13:00,7288799.313,0.551246024,0.551246024,1.00E-04 +24-01-2019 14:00,7289271.793,0.64346169,0.64346169,1.00E-04 +24-01-2019 15:00,7289745.06,0.658689005,0.658689005,1.00E-04 +24-01-2019 16:00,7290219.115,0.634391013,0.634391013,1.00E-04 +24-01-2019 17:00,7290693.957,0.660468617,0.660468617,1.00E-04 +24-01-2019 18:00,7291169.585,0.636202107,0.636202107,1.00E-04 +24-01-2019 19:00,7291646,0.581361273,0.581361273,1.00E-04 +24-01-2019 20:00,7292123.201,0.482209532,0.482209532,1.00E-04 +24-01-2019 21:00,7292601.188,0.312827999,0.312827999,1.00E-04 +24-01-2019 22:00,7293079.961,0.149473481,0.149473481,1.00E-04 +24-01-2019 23:00,7293559.52,0.07014564,0.07014564,1.00E-04 +25-01-2019 0:00,7294039.863,0.038051051,0.038051051,1.00E-04 +25-01-2019 1:00,7294520.992,0.031967836,0.031967836,1.00E-04 +25-01-2019 2:00,7295002.906,0.03788024,0.03788024,1.00E-04 +25-01-2019 3:00,7295485.604,0.061311561,0.061311561,1.00E-04 +25-01-2019 4:00,7295969.086,0.146459032,0.146459032,1.00E-04 +25-01-2019 5:00,7296453.353,0.414950711,0.414950711,1.00E-04 +25-01-2019 6:00,7296938.403,0.73611311,0.73611311,1.00E-04 +25-01-2019 7:00,7297424.237,0.894710774,0.894710774,1.00E-04 +25-01-2019 8:00,7297910.854,1,1,1.00E-04 +25-01-2019 9:00,7298398.255,0.778775741,0.778775741,1.00E-04 +25-01-2019 10:00,7298886.438,0.680300148,0.680300148,1.00E-04 +25-01-2019 11:00,7299375.403,0.791621723,0.791621723,1.00E-04 +25-01-2019 12:00,7299865.151,0.691127312,0.691127312,1.00E-04 +25-01-2019 13:00,7300355.681,0.562667906,0.562667906,1.00E-04 +25-01-2019 14:00,7300846.993,0.629788121,0.629788121,1.00E-04 +25-01-2019 15:00,7301339.086,0.640436167,0.640436167,1.00E-04 +25-01-2019 16:00,7301831.961,0.613861077,0.613861077,1.00E-04 +25-01-2019 17:00,7302325.617,0.633904948,0.633904948,1.00E-04 +25-01-2019 18:00,7302820.053,0.600404266,0.600404266,1.00E-04 +25-01-2019 19:00,7303315.27,0.540447072,0.540447072,1.00E-04 +25-01-2019 20:00,7303811.267,0.440566188,0.440566188,1.00E-04 +25-01-2019 21:00,7304308.044,0.282324171,0.282324171,1.00E-04 +25-01-2019 22:00,7304805.601,0.132192946,0.132192946,1.00E-04 +25-01-2019 23:00,7305303.938,0.058649726,0.058649726,1.00E-04 +26-01-2019 0:00,7305803.054,0.027340873,0.027340873,1.00E-04 +26-01-2019 1:00,7306302.948,0.018074717,0.018074717,1.00E-04 +26-01-2019 2:00,7306803.622,0.018927243,0.018927243,1.00E-04 +26-01-2019 3:00,7307305.074,0.032394332,0.032394332,1.00E-04 +26-01-2019 4:00,7307807.304,0.093717077,0.093717077,1.00E-04 +26-01-2019 5:00,7308310.312,0.302469328,0.302469328,1.00E-04 +26-01-2019 6:00,7308814.098,0.573402569,0.573402569,1.00E-04 +26-01-2019 7:00,7309318.661,0.717656421,0.717656421,1.00E-04 +26-01-2019 8:00,7309824.002,0.814802648,0.814802648,1.00E-04 +26-01-2019 9:00,7310330.119,0.610089998,0.610089998,1.00E-04 +26-01-2019 10:00,7310837.013,0.564213507,0.564213507,1.00E-04 +26-01-2019 11:00,7311344.684,0.696994952,0.696994952,1.00E-04 +26-01-2019 12:00,7311853.13,0.59999592,0.59999592,1.00E-04 +26-01-2019 13:00,7312362.353,0.471275254,0.471275254,1.00E-04 +26-01-2019 14:00,7312872.351,0.539884135,0.539884135,1.00E-04 +26-01-2019 15:00,7313383.124,0.554034289,0.554034289,1.00E-04 +26-01-2019 16:00,7313894.673,0.531648929,0.531648929,1.00E-04 +26-01-2019 17:00,7314406.996,0.552576371,0.552576371,1.00E-04 +26-01-2019 18:00,7314920.094,0.530682558,0.530682558,1.00E-04 +26-01-2019 19:00,7315433.966,0.48020112,0.48020112,1.00E-04 +26-01-2019 20:00,7315948.613,0.3951162,0.3951162,1.00E-04 +26-01-2019 21:00,7316464.033,0.254230729,0.254230729,1.00E-04 +26-01-2019 22:00,7316980.226,0.120232808,0.120232808,1.00E-04 +26-01-2019 23:00,7317497.193,0.052869098,0.052869098,1.00E-04 +27-01-2019 0:00,7318014.933,0.022565144,0.022565144,1.00E-04 +27-01-2019 1:00,7318533.445,0.010025947,0.010025947,1.00E-04 +27-01-2019 2:00,7319052.73,0.010125288,0.010125288,1.00E-04 +27-01-2019 3:00,7319572.788,0.018645869,0.018645869,1.00E-04 +27-01-2019 4:00,7320093.617,0.065940951,0.065940951,1.00E-04 +27-01-2019 5:00,7320615.217,0.246505305,0.246505305,1.00E-04 +27-01-2019 6:00,7321137.589,0.489085714,0.489085714,1.00E-04 +27-01-2019 7:00,7321660.732,0.627303147,0.627303147,1.00E-04 +27-01-2019 8:00,7322184.646,0.73013796,0.73013796,1.00E-04 +27-01-2019 9:00,7322709.331,0.551050506,0.551050506,1.00E-04 +27-01-2019 10:00,7323234.786,0.522942347,0.522942347,1.00E-04 +27-01-2019 11:00,7323761.011,0.658842978,0.658842978,1.00E-04 +27-01-2019 12:00,7324288.005,0.575836564,0.575836564,1.00E-04 +27-01-2019 13:00,7324815.77,0.439107947,0.439107947,1.00E-04 +27-01-2019 14:00,7325344.303,0.514682654,0.514682654,1.00E-04 +27-01-2019 15:00,7325873.605,0.538308001,0.538308001,1.00E-04 +27-01-2019 16:00,7326403.676,0.511851167,0.511851167,1.00E-04 +27-01-2019 17:00,7326934.515,0.534644396,0.534644396,1.00E-04 +27-01-2019 18:00,7327466.123,0.51091953,0.51091953,1.00E-04 +27-01-2019 19:00,7327998.498,0.46661809,0.46661809,1.00E-04 +27-01-2019 20:00,7328531.641,0.386091813,0.386091813,1.00E-04 +27-01-2019 21:00,7329065.551,0.251484519,0.251484519,1.00E-04 +27-01-2019 22:00,7329600.229,0.11870646,0.11870646,1.00E-04 +27-01-2019 23:00,7330135.672,0.05216511,0.05216511,1.00E-04 +28-01-2019 0:00,7330671.883,0.021829239,0.021829239,1.00E-04 +28-01-2019 1:00,7331208.86,0.009245221,0.009245221,1.00E-04 +28-01-2019 2:00,7331746.602,0.008216484,0.008216484,1.00E-04 +28-01-2019 3:00,7332285.11,0.016670805,0.016670805,1.00E-04 +28-01-2019 4:00,7332824.384,0.060285575,0.060285575,1.00E-04 +28-01-2019 5:00,7333364.423,0.238926068,0.238926068,1.00E-04 +28-01-2019 6:00,7333905.226,0.478386773,0.478386773,1.00E-04 +28-01-2019 7:00,7334446.794,0.615724727,0.615724727,1.00E-04 +28-01-2019 8:00,7334989.126,0.721366954,0.721366954,1.00E-04 +28-01-2019 9:00,7335532.223,0.542787859,0.542787859,1.00E-04 +28-01-2019 10:00,7336076.083,0.514127267,0.514127267,1.00E-04 +28-01-2019 11:00,7336620.706,0.64340029,0.64340029,1.00E-04 +28-01-2019 12:00,7337166.092,0.552126069,0.552126069,1.00E-04 +28-01-2019 13:00,7337712.242,0.374300685,0.374300685,1.00E-04 +28-01-2019 14:00,7338259.154,0.506231214,0.506231214,1.00E-04 +28-01-2019 15:00,7338806.828,0.521605519,0.521605519,1.00E-04 +28-01-2019 16:00,7339355.264,0.512284933,0.512284933,1.00E-04 +28-01-2019 17:00,7339904.462,0.535137891,0.535137891,1.00E-04 +28-01-2019 18:00,7340454.422,0.520301056,0.520301056,1.00E-04 +28-01-2019 19:00,7341005.142,0.469298504,0.469298504,1.00E-04 +28-01-2019 20:00,7341556.624,0.391014745,0.391014745,1.00E-04 +28-01-2019 21:00,7342108.866,0.255875644,0.255875644,1.00E-04 +28-01-2019 22:00,7342661.868,0.121782744,0.121782744,1.00E-04 +28-01-2019 23:00,7343215.631,0.054008239,0.054008239,1.00E-04 +29-01-2019 0:00,7343770.153,0.022726652,0.022726652,1.00E-04 +29-01-2019 1:00,7344325.435,0.010211598,0.010211598,1.00E-04 +29-01-2019 2:00,7344881.475,0.009558223,0.009558223,1.00E-04 +29-01-2019 3:00,7345438.275,0.019970198,0.019970198,1.00E-04 +29-01-2019 4:00,7345995.833,0.069118552,0.069118552,1.00E-04 +29-01-2019 5:00,7346554.15,0.264018537,0.264018537,1.00E-04 +29-01-2019 6:00,7347113.225,0.519859829,0.519859829,1.00E-04 +29-01-2019 7:00,7347673.057,0.664269808,0.664269808,1.00E-04 +29-01-2019 8:00,7348233.647,0.76866608,0.76866608,1.00E-04 +29-01-2019 9:00,7348794.994,0.572805062,0.572805062,1.00E-04 +29-01-2019 10:00,7349357.098,0.539885881,0.539885881,1.00E-04 +29-01-2019 11:00,7349919.958,0.666527384,0.666527384,1.00E-04 +29-01-2019 12:00,7350483.575,0.573475676,0.573475676,1.00E-04 +29-01-2019 13:00,7351047.948,0.441146228,0.441146228,1.00E-04 +29-01-2019 14:00,7351613.076,0.52048221,0.52048221,1.00E-04 +29-01-2019 15:00,7352178.96,0.541645157,0.541645157,1.00E-04 +29-01-2019 16:00,7352745.599,0.528590865,0.528590865,1.00E-04 +29-01-2019 17:00,7353312.993,0.55594461,0.55594461,1.00E-04 +29-01-2019 18:00,7353881.142,0.532610252,0.532610252,1.00E-04 +29-01-2019 19:00,7354450.045,0.487085294,0.487085294,1.00E-04 +29-01-2019 20:00,7355019.701,0.40201926,0.40201926,1.00E-04 +29-01-2019 21:00,7355590.112,0.262076715,0.262076715,1.00E-04 +29-01-2019 22:00,7356161.275,0.124942992,0.124942992,1.00E-04 +29-01-2019 23:00,7356733.192,0.055788041,0.055788041,1.00E-04 +30-01-2019 0:00,7357305.862,0.024336692,0.024336692,1.00E-04 +30-01-2019 1:00,7357879.284,0.011837599,0.011837599,1.00E-04 +30-01-2019 2:00,7358453.458,0.011846743,0.011846743,1.00E-04 +30-01-2019 3:00,7359028.384,0.023392691,0.023392691,1.00E-04 +30-01-2019 4:00,7359604.062,0.077544657,0.077544657,1.00E-04 +30-01-2019 5:00,7360180.491,0.28263517,0.28263517,1.00E-04 +30-01-2019 6:00,7360757.672,0.549707224,0.549707224,1.00E-04 +30-01-2019 7:00,7361335.602,0.700581517,0.700581517,1.00E-04 +30-01-2019 8:00,7361914.284,0.803338293,0.803338293,1.00E-04 +30-01-2019 9:00,7362493.715,0.59249894,0.59249894,1.00E-04 +30-01-2019 10:00,7363073.897,0.552553249,0.552553249,1.00E-04 +30-01-2019 11:00,7363654.827,0.686906033,0.686906033,1.00E-04 +30-01-2019 12:00,7364236.507,0.593383364,0.593383364,1.00E-04 +30-01-2019 13:00,7364818.936,0.45972879,0.45972879,1.00E-04 +30-01-2019 14:00,7365402.114,0.543188116,0.543188116,1.00E-04 +30-01-2019 15:00,7365986.04,0.562420658,0.562420658,1.00E-04 +30-01-2019 16:00,7366570.714,0.548534083,0.548534083,1.00E-04 +30-01-2019 17:00,7367156.135,0.573127259,0.573127259,1.00E-04 +30-01-2019 18:00,7367742.305,0.549947078,0.549947078,1.00E-04 +30-01-2019 19:00,7368329.221,0.503149239,0.503149239,1.00E-04 +30-01-2019 20:00,7368916.884,0.415577511,0.415577511,1.00E-04 +30-01-2019 21:00,7369505.294,0.268498255,0.268498255,1.00E-04 +30-01-2019 22:00,7370094.449,0.127071872,0.127071872,1.00E-04 +30-01-2019 23:00,7370684.351,0.057246645,0.057246645,1.00E-04 +31-01-2019 0:00,7371274.998,0.025481396,0.025481396,1.00E-04 +31-01-2019 1:00,7371866.391,0.013423152,0.013423152,1.00E-04 +31-01-2019 2:00,7372458.529,0.014483729,0.014483729,1.00E-04 +31-01-2019 3:00,7373051.411,0.026980774,0.026980774,1.00E-04 +31-01-2019 4:00,7373645.038,0.085816464,0.085816464,1.00E-04 +31-01-2019 5:00,7374239.409,0.30171016,0.30171016,1.00E-04 +31-01-2019 6:00,7374834.523,0.585045443,0.585045443,1.00E-04 +31-01-2019 7:00,7375430.382,0.737145825,0.737145825,1.00E-04 +31-01-2019 8:00,7376026.983,0.842509853,0.842509853,1.00E-04 +31-01-2019 9:00,7376624.327,0.651385275,0.651385275,1.00E-04 +31-01-2019 10:00,7377222.414,0.616784028,0.616784028,1.00E-04 +31-01-2019 11:00,7377821.243,0.738935557,0.738935557,1.00E-04 +31-01-2019 12:00,7378420.814,0.630174812,0.630174812,1.00E-04 +31-01-2019 13:00,7379021.126,0.496650989,0.496650989,1.00E-04 +31-01-2019 14:00,7379622.18,0.581967536,0.581967536,1.00E-04 +31-01-2019 15:00,7380223.975,0.59881597,0.59881597,1.00E-04 +31-01-2019 16:00,7380826.511,0.582317176,0.582317176,1.00E-04 +31-01-2019 17:00,7381429.787,0.607186311,0.607186311,1.00E-04 +31-01-2019 18:00,7382033.803,0.579109365,0.579109365,1.00E-04 +31-01-2019 19:00,7382638.559,0.53088983,0.53088983,1.00E-04 +31-01-2019 20:00,7383244.054,0.438534123,0.438534123,1.00E-04 +31-01-2019 21:00,7383850.288,0.282511105,0.282511105,1.00E-04 +31-01-2019 22:00,7384457.262,0.134952951,0.134952951,1.00E-04 +31-01-2019 23:00,7385064.974,0.060864612,0.060864612,1.00E-04 +1-2-2019 0:00,7385673.424,0.028723149,0.028723149,1.00E-04 +1-2-2019 1:00,7386282.612,0.017858144,0.017858144,1.00E-04 +1-2-2019 2:00,7386892.537,0.019895673,0.019895673,1.00E-04 +1-2-2019 3:00,7387503.2,0.035563998,0.035563998,1.00E-04 +1-2-2019 4:00,7388114.6,0.100921225,0.100921225,1.00E-04 +1-2-2019 5:00,7388726.736,0.32885998,0.32885998,1.00E-04 +1-2-2019 6:00,7389339.609,0.620818023,0.620818023,1.00E-04 +1-2-2019 7:00,7389953.218,0.769449201,0.769449201,1.00E-04 +1-2-2019 8:00,7390567.562,0.87000908,0.87000908,1.00E-04 +1-2-2019 9:00,7391182.642,0.645241408,0.645241408,1.00E-04 +1-2-2019 10:00,7391798.457,0.597303293,0.597303293,1.00E-04 +1-2-2019 11:00,7392415.007,0.726841658,0.726841658,1.00E-04 +1-2-2019 12:00,7393032.291,0.626333247,0.626333247,1.00E-04 +1-2-2019 13:00,7393650.309,0.492325195,0.492325195,1.00E-04 +1-2-2019 14:00,7394269.061,0.569304413,0.569304413,1.00E-04 +1-2-2019 15:00,7394888.547,0.58349178,0.58349178,1.00E-04 +1-2-2019 16:00,7395508.766,0.569684736,0.569684736,1.00E-04 +1-2-2019 17:00,7396129.717,0.592775799,0.592775799,1.00E-04 +1-2-2019 18:00,7396751.401,0.56758295,0.56758295,1.00E-04 +1-2-2019 19:00,7397373.817,0.518096099,0.518096099,1.00E-04 +1-2-2019 20:00,7397996.966,0.425984189,0.425984189,1.00E-04 +1-2-2019 21:00,7398620.845,0.276152281,0.276152281,1.00E-04 +1-2-2019 22:00,7399245.456,0.13100747,0.13100747,1.00E-04 +1-2-2019 23:00,7399870.798,0.058620938,0.058620938,1.00E-04 +2-2-2019 0:00,7400496.871,0.027222231,0.027222231,1.00E-04 +2-2-2019 1:00,7401123.673,0.016248812,0.016248812,1.00E-04 +2-2-2019 2:00,7401751.206,0.017919192,0.017919192,1.00E-04 +2-2-2019 3:00,7402379.468,0.031776512,0.031776512,1.00E-04 +2-2-2019 4:00,7403008.46,0.093576268,0.093576268,1.00E-04 +2-2-2019 5:00,7403638.181,0.310362842,0.310362842,1.00E-04 +2-2-2019 6:00,7404268.63,0.59203737,0.59203737,1.00E-04 +2-2-2019 7:00,7404899.808,0.738312737,0.738312737,1.00E-04 +2-2-2019 8:00,7405531.713,0.657630531,0.657630531,1.00E-04 +2-2-2019 9:00,7406164.347,0.60486787,0.60486787,1.00E-04 +2-2-2019 10:00,7406797.707,0.575711172,0.575711172,1.00E-04 +2-2-2019 11:00,7407431.795,0.712200077,0.712200077,1.00E-04 +2-2-2019 12:00,7408066.61,0.612600112,0.612600112,1.00E-04 +2-2-2019 13:00,7408702.15,0.479637285,0.479637285,1.00E-04 +2-2-2019 14:00,7409338.417,0.355475679,0.355475679,1.00E-04 +2-2-2019 15:00,7409975.41,0.574958914,0.574958914,1.00E-04 +2-2-2019 16:00,7410613.128,0.559648964,0.559648964,1.00E-04 +2-2-2019 17:00,7411251.571,0.58544704,0.58544704,1.00E-04 +2-2-2019 18:00,7411890.739,0.563183421,0.563183421,1.00E-04 +2-2-2019 19:00,7412530.631,0.514088468,0.514088468,1.00E-04 +2-2-2019 20:00,7413171.248,0.429543978,0.429543978,1.00E-04 +2-2-2019 21:00,7413812.588,0.27663983,0.27663983,1.00E-04 +2-2-2019 22:00,7414454.651,0.130301201,0.130301201,1.00E-04 +2-2-2019 23:00,7415097.438,0.05995419,0.05995419,1.00E-04 +3-2-2019 0:00,7415740.947,0.028069783,0.028069783,1.00E-04 +3-2-2019 1:00,7416385.179,0.01658337,0.01658337,1.00E-04 +3-2-2019 2:00,7417030.133,0.018452699,0.018452699,1.00E-04 +3-2-2019 3:00,7417675.809,0.033267585,0.033267585,1.00E-04 +3-2-2019 4:00,7418322.206,0.098188501,0.098188501,1.00E-04 +3-2-2019 5:00,7418969.324,0.323044207,0.323044207,1.00E-04 +3-2-2019 6:00,7419617.163,0.6203104,0.6203104,1.00E-04 +3-2-2019 7:00,7420265.722,0.761987813,0.761987813,1.00E-04 +3-2-2019 8:00,7420915.002,0.535318232,0.535318232,1.00E-04 +3-2-2019 9:00,7421565.001,0.4256548,0.4256548,1.00E-04 +3-2-2019 10:00,7422215.72,0.367424882,0.367424882,1.00E-04 +3-2-2019 11:00,7422867.158,0.53530347,0.53530347,1.00E-04 +3-2-2019 12:00,7423519.315,0.426440996,0.426440996,1.00E-04 +3-2-2019 13:00,7424172.19,0.251661869,0.251661869,1.00E-04 +3-2-2019 14:00,7424825.783,0.236167151,0.236167151,1.00E-04 +3-2-2019 15:00,7425480.094,0.506612466,0.506612466,1.00E-04 +3-2-2019 16:00,7426135.122,0.55062152,0.55062152,1.00E-04 +3-2-2019 17:00,7426790.868,0.587134995,0.587134995,1.00E-04 +3-2-2019 18:00,7427447.33,0.571989536,0.571989536,1.00E-04 +3-2-2019 19:00,7428104.508,0.521534872,0.521534872,1.00E-04 +3-2-2019 20:00,7428762.403,0.429826587,0.429826587,1.00E-04 +3-2-2019 21:00,7429421.014,0.274533734,0.274533734,1.00E-04 +3-2-2019 22:00,7430080.339,0.130780104,0.130780104,1.00E-04 +3-2-2019 23:00,7430740.38,0.058605061,0.058605061,1.00E-04 +4-2-2019 0:00,7431401.136,0.027183603,0.027183603,1.00E-04 +4-2-2019 1:00,7432062.606,0.015883376,0.015883376,1.00E-04 +4-2-2019 2:00,7432724.79,0.017543126,0.017543126,1.00E-04 +4-2-2019 3:00,7433387.688,0.031244004,0.031244004,1.00E-04 +4-2-2019 4:00,7434051.299,0.093361019,0.093361019,1.00E-04 +4-2-2019 5:00,7434715.623,0.311788245,0.311788245,1.00E-04 +4-2-2019 6:00,7435380.659,0.594013142,0.594013142,1.00E-04 +4-2-2019 7:00,7436046.409,0.736182121,0.736182121,1.00E-04 +4-2-2019 8:00,7436712.87,0.644508457,0.644508457,1.00E-04 +4-2-2019 9:00,7437380.042,0.58790653,0.58790653,1.00E-04 +4-2-2019 10:00,7438047.926,0.557125707,0.557125707,1.00E-04 +4-2-2019 11:00,7438716.521,0.689997962,0.689997962,1.00E-04 +4-2-2019 12:00,7439385.827,0.602977369,0.602977369,1.00E-04 +4-2-2019 13:00,7440055.843,0.464835456,0.464835456,1.00E-04 +4-2-2019 14:00,7440726.569,0.337773099,0.337773099,1.00E-04 +4-2-2019 15:00,7441398.004,0.565697539,0.565697539,1.00E-04 +4-2-2019 16:00,7442070.149,0.554589518,0.554589518,1.00E-04 +4-2-2019 17:00,7442743.002,0.577622748,0.577622748,1.00E-04 +4-2-2019 18:00,7443416.564,0.552132027,0.552132027,1.00E-04 +4-2-2019 19:00,7444090.834,0.502430688,0.502430688,1.00E-04 +4-2-2019 20:00,7444765.813,0.413705827,0.413705827,1.00E-04 +4-2-2019 21:00,7445441.498,0.267051639,0.267051639,1.00E-04 +4-2-2019 22:00,7446117.891,0.126041748,0.126041748,1.00E-04 +4-2-2019 23:00,7446794.99,0.056072774,0.056072774,1.00E-04 +5-2-2019 0:00,7447472.796,0.025045382,0.025045382,1.00E-04 +5-2-2019 1:00,7448151.309,0.012945678,0.012945678,1.00E-04 +5-2-2019 2:00,7448830.526,0.013781152,0.013781152,1.00E-04 +5-2-2019 3:00,7449510.45,0.024332307,0.024332307,1.00E-04 +5-2-2019 4:00,7450191.078,0.079500666,0.079500666,1.00E-04 +5-2-2019 5:00,7450872.411,0.280391132,0.280391132,1.00E-04 +5-2-2019 6:00,7451554.449,0.543155389,0.543155389,1.00E-04 +5-2-2019 7:00,7452237.19,0.68216599,0.68216599,1.00E-04 +5-2-2019 8:00,7452920.635,0.588550383,0.588550383,1.00E-04 +5-2-2019 9:00,7453604.784,0.550409896,0.550409896,1.00E-04 +5-2-2019 10:00,7454289.635,0.532781354,0.532781354,1.00E-04 +5-2-2019 11:00,7454975.189,0.669078464,0.669078464,1.00E-04 +5-2-2019 12:00,7455661.445,0.573046045,0.573046045,1.00E-04 +5-2-2019 13:00,7456348.403,0.431435961,0.431435961,1.00E-04 +5-2-2019 14:00,7457036.063,0.302980194,0.302980194,1.00E-04 +5-2-2019 15:00,7457724.424,0.532295044,0.532295044,1.00E-04 +5-2-2019 16:00,7458413.485,0.522897482,0.522897482,1.00E-04 +5-2-2019 17:00,7459103.248,0.54479086,0.54479086,1.00E-04 +5-2-2019 18:00,7459793.71,0.521260209,0.521260209,1.00E-04 +5-2-2019 19:00,7460484.872,0.480445616,0.480445616,1.00E-04 +5-2-2019 20:00,7461176.733,0.397762473,0.397762473,1.00E-04 +5-2-2019 21:00,7461869.294,0.257359431,0.257359431,1.00E-04 +5-2-2019 22:00,7462562.553,0.12283104,0.12283104,1.00E-04 +5-2-2019 23:00,7463256.511,0.054784137,0.054784137,1.00E-04 +6-2-2019 0:00,7463951.166,0.023616622,0.023616622,1.00E-04 +6-2-2019 1:00,7464646.52,0.011012531,0.011012531,1.00E-04 +6-2-2019 2:00,7465342.57,0.01087647,0.01087647,1.00E-04 +6-2-2019 3:00,7466039.318,0.021107467,0.021107467,1.00E-04 +6-2-2019 4:00,7466736.761,0.071495639,0.071495639,1.00E-04 +6-2-2019 5:00,7467434.902,0.264418117,0.264418117,1.00E-04 +6-2-2019 6:00,7468133.738,0.518277174,0.518277174,1.00E-04 +6-2-2019 7:00,7468833.269,0.656192171,0.656192171,1.00E-04 +6-2-2019 8:00,7469533.496,0.560762246,0.560762246,1.00E-04 +6-2-2019 9:00,7470234.417,0.525628538,0.525628538,1.00E-04 +6-2-2019 10:00,7470936.033,0.508711465,0.508711465,1.00E-04 +6-2-2019 11:00,7471638.343,0.646234145,0.646234145,1.00E-04 +6-2-2019 12:00,7472341.346,0.550191948,0.550191948,1.00E-04 +6-2-2019 13:00,7473045.043,0.404945471,0.404945471,1.00E-04 +6-2-2019 14:00,7473749.433,0.274689112,0.274689112,1.00E-04 +6-2-2019 15:00,7474454.515,0.505410823,0.505410823,1.00E-04 +6-2-2019 16:00,7475160.29,0.498221021,0.498221021,1.00E-04 +6-2-2019 17:00,7475866.756,0.520668513,0.520668513,1.00E-04 +6-2-2019 18:00,7476573.914,0.496386998,0.496386998,1.00E-04 +6-2-2019 19:00,7477281.763,0.450284806,0.450284806,1.00E-04 +6-2-2019 20:00,7477990.303,0.369357486,0.369357486,1.00E-04 +6-2-2019 21:00,7478699.533,0.237760658,0.237760658,1.00E-04 +6-2-2019 22:00,7479409.454,0.112056272,0.112056272,1.00E-04 +6-2-2019 23:00,7480120.064,0.04899621,0.04899621,1.00E-04 +7-2-2019 0:00,7480831.363,0.020733734,0.020733734,1.00E-04 +7-2-2019 1:00,7481543.351,0.007984969,0.007984969,1.00E-04 +7-2-2019 2:00,7482256.028,0.006112752,0.006112752,1.00E-04 +7-2-2019 3:00,7482969.393,0.01222372,0.01222372,1.00E-04 +7-2-2019 4:00,7483683.446,0.049984892,0.049984892,1.00E-04 +7-2-2019 5:00,7484398.186,0.204573792,0.204573792,1.00E-04 +7-2-2019 6:00,7485113.614,0.419156963,0.419156963,1.00E-04 +7-2-2019 7:00,7485829.728,0.533958391,0.533958391,1.00E-04 +7-2-2019 8:00,7486546.529,0.44169494,0.44169494,1.00E-04 +7-2-2019 9:00,7487264.015,0.432603961,0.432603961,1.00E-04 +7-2-2019 10:00,7487982.188,0.431879999,0.431879999,1.00E-04 +7-2-2019 11:00,7488701.045,0.581489634,0.581489634,1.00E-04 +7-2-2019 12:00,7489420.588,0.467349601,0.467349601,1.00E-04 +7-2-2019 13:00,7490140.815,0.291444471,0.291444471,1.00E-04 +7-2-2019 14:00,7490861.726,0.109625883,0.109625883,1.00E-04 +7-2-2019 15:00,7491583.321,0.370404094,0.370404094,1.00E-04 +7-2-2019 16:00,7492305.599,0.449286912,0.449286912,1.00E-04 +7-2-2019 17:00,7493028.56,0.481239051,0.481239051,1.00E-04 +7-2-2019 18:00,7493752.204,0.461920111,0.461920111,1.00E-04 +7-2-2019 19:00,7494476.531,0.421351156,0.421351156,1.00E-04 +7-2-2019 20:00,7495201.539,0.348058578,0.348058578,1.00E-04 +7-2-2019 21:00,7495927.229,0.225674513,0.225674513,1.00E-04 +7-2-2019 22:00,7496653.6,0.106206154,0.106206154,1.00E-04 +7-2-2019 23:00,7497380.652,0.046014215,0.046014215,1.00E-04 +8-2-2019 0:00,7498108.384,0.019336394,0.019336394,1.00E-04 +8-2-2019 1:00,7498836.796,0.006891656,0.006891656,1.00E-04 +8-2-2019 2:00,7499565.888,0.004757641,0.004757641,1.00E-04 +8-2-2019 3:00,7500295.66,0.009023183,0.009023183,1.00E-04 +8-2-2019 4:00,7501026.11,0.042912144,0.042912144,1.00E-04 +8-2-2019 5:00,7501757.239,0.186579633,0.186579633,1.00E-04 +8-2-2019 6:00,7502489.046,0.388864673,0.388864673,1.00E-04 +8-2-2019 7:00,7503221.531,0.497198214,0.497198214,1.00E-04 +8-2-2019 8:00,7503954.693,0.403991268,0.403991268,1.00E-04 +8-2-2019 9:00,7504688.532,0.40444728,0.40444728,1.00E-04 +8-2-2019 10:00,7505423.048,0.403512656,0.403512656,1.00E-04 +8-2-2019 11:00,7506158.24,0.55711051,0.55711051,1.00E-04 +8-2-2019 12:00,7506894.108,0.467011458,0.467011458,1.00E-04 +8-2-2019 13:00,7507630.652,0.318101632,0.318101632,1.00E-04 +8-2-2019 14:00,7508367.871,0.191068027,0.191068027,1.00E-04 +8-2-2019 15:00,7509105.765,0.408403652,0.408403652,1.00E-04 +8-2-2019 16:00,7509844.333,0.421082384,0.421082384,1.00E-04 +8-2-2019 17:00,7510583.575,0.442231695,0.442231695,1.00E-04 +8-2-2019 18:00,7511323.491,0.425217378,0.425217378,1.00E-04 +8-2-2019 19:00,7512064.08,0.388419295,0.388419295,1.00E-04 +8-2-2019 20:00,7512805.341,0.318613084,0.318613084,1.00E-04 +8-2-2019 21:00,7513547.276,0.204920604,0.204920604,1.00E-04 +8-2-2019 22:00,7514289.882,0.096333744,0.096333744,1.00E-04 +8-2-2019 23:00,7515033.161,0.041007525,0.041007525,1.00E-04 +9-2-2019 0:00,7515777.11,0.016942781,0.016942781,1.00E-04 +9-2-2019 1:00,7516521.731,0.00578121,0.00578121,1.00E-04 +9-2-2019 2:00,7517267.022,0.003296799,0.003296799,1.00E-04 +9-2-2019 3:00,7518012.983,0.005292965,0.005292965,1.00E-04 +9-2-2019 4:00,7518759.614,0.029574195,0.029574195,1.00E-04 +9-2-2019 5:00,7519506.915,0.145123761,0.145123761,1.00E-04 +9-2-2019 6:00,7520254.885,0.315455668,0.315455668,1.00E-04 +9-2-2019 7:00,7521003.523,0.405986555,0.405986555,1.00E-04 +9-2-2019 8:00,7521752.829,0.320946872,0.320946872,1.00E-04 +9-2-2019 9:00,7522502.804,0.332908263,0.332908263,1.00E-04 +9-2-2019 10:00,7523253.446,0.3461659,0.3461659,1.00E-04 +9-2-2019 11:00,7524004.755,0.47235841,0.47235841,1.00E-04 +9-2-2019 12:00,7524756.731,0.390835212,0.390835212,1.00E-04 +9-2-2019 13:00,7525509.373,0.23297534,0.23297534,1.00E-04 +9-2-2019 14:00,7526262.681,0.147298752,0.147298752,1.00E-04 +9-2-2019 15:00,7527016.655,0.366378507,0.366378507,1.00E-04 +9-2-2019 16:00,7527771.294,0.395875912,0.395875912,1.00E-04 +9-2-2019 17:00,7528526.598,0.424495027,0.424495027,1.00E-04 +9-2-2019 18:00,7529282.566,0.403911616,0.403911616,1.00E-04 +9-2-2019 19:00,7530039.198,0.368573156,0.368573156,1.00E-04 +9-2-2019 20:00,7530796.494,0.301235176,0.301235176,1.00E-04 +9-2-2019 21:00,7531554.453,0.193866652,0.193866652,1.00E-04 +9-2-2019 22:00,7532313.075,0.091713887,0.091713887,1.00E-04 +9-2-2019 23:00,7533072.359,0.039454762,0.039454762,1.00E-04 +10-2-2019 0:00,7533832.306,0.016034253,0.016034253,1.00E-04 +10-2-2019 1:00,7534592.914,0.00536251,0.00536251,1.00E-04 +10-2-2019 2:00,7535354.183,0.00301964,0.00301964,1.00E-04 +10-2-2019 3:00,7536116.113,0.004593682,0.004593682,1.00E-04 +10-2-2019 4:00,7536878.704,0.025682012,0.025682012,1.00E-04 +10-2-2019 5:00,7537641.955,0.133430712,0.133430712,1.00E-04 +10-2-2019 6:00,7538405.866,0.289116555,0.289116555,1.00E-04 +10-2-2019 7:00,7539170.436,0.372164746,0.372164746,1.00E-04 +10-2-2019 8:00,7539935.665,0.301740156,0.301740156,1.00E-04 +10-2-2019 9:00,7540701.552,0.326346868,0.326346868,1.00E-04 +10-2-2019 10:00,7541468.098,0.342794901,0.342794901,1.00E-04 +10-2-2019 11:00,7542235.301,0.485387528,0.485387528,1.00E-04 +10-2-2019 12:00,7543003.162,0.430759743,0.430759743,1.00E-04 +10-2-2019 13:00,7543771.68,0.277541857,0.277541857,1.00E-04 +10-2-2019 14:00,7544540.854,0.164978668,0.164978668,1.00E-04 +10-2-2019 15:00,7545310.684,0.386113744,0.386113744,1.00E-04 +10-2-2019 16:00,7546081.17,0.413141532,0.413141532,1.00E-04 +10-2-2019 17:00,7546852.312,0.444595811,0.444595811,1.00E-04 +10-2-2019 18:00,7547624.109,0.430129208,0.430129208,1.00E-04 +10-2-2019 19:00,7548396.56,0.391121828,0.391121828,1.00E-04 +10-2-2019 20:00,7549169.665,0.319165919,0.319165919,1.00E-04 +10-2-2019 21:00,7549943.424,0.206351228,0.206351228,1.00E-04 +10-2-2019 22:00,7550717.837,0.097286447,0.097286447,1.00E-04 +10-2-2019 23:00,7551492.902,0.0420668,0.0420668,1.00E-04 +11-2-2019 0:00,7552268.62,0.017291375,0.017291375,1.00E-04 +11-2-2019 1:00,7553044.991,0.005868639,0.005868639,1.00E-04 +11-2-2019 2:00,7553822.013,0.003324896,0.003324896,1.00E-04 +11-2-2019 3:00,7554599.686,0.005646906,0.005646906,1.00E-04 +11-2-2019 4:00,7555378.011,0.030620732,0.030620732,1.00E-04 +11-2-2019 5:00,7556156.986,0.152277136,0.152277136,1.00E-04 +11-2-2019 6:00,7556936.611,0.325957979,0.325957979,1.00E-04 +11-2-2019 7:00,7557716.886,0.408271677,0.408271677,1.00E-04 +11-2-2019 8:00,7558497.811,0.309391027,0.309391027,1.00E-04 +11-2-2019 9:00,7559279.384,0.330655832,0.330655832,1.00E-04 +11-2-2019 10:00,7560061.606,0.331415362,0.331415362,1.00E-04 +11-2-2019 11:00,7560844.477,0.435985395,0.435985395,1.00E-04 +11-2-2019 12:00,7561627.995,0.358665664,0.358665664,1.00E-04 +11-2-2019 13:00,7562412.16,0.186375884,0.186375884,1.00E-04 +11-2-2019 14:00,7563196.972,0.0806082,0.0806082,1.00E-04 +11-2-2019 15:00,7563982.431,0.146243032,0.146243032,1.00E-04 +11-2-2019 16:00,7564768.537,0.378823948,0.378823948,1.00E-04 +11-2-2019 17:00,7565555.287,0.434320743,0.434320743,1.00E-04 +11-2-2019 18:00,7566342.684,0.436929373,0.436929373,1.00E-04 +11-2-2019 19:00,7567130.725,0.402681467,0.402681467,1.00E-04 +11-2-2019 20:00,7567919.411,0.331263637,0.331263637,1.00E-04 +11-2-2019 21:00,7568708.741,0.215185997,0.215185997,1.00E-04 +11-2-2019 22:00,7569498.714,0.104544848,0.104544848,1.00E-04 +11-2-2019 23:00,7570289.331,0.044027722,0.044027722,1.00E-04 +12-2-2019 0:00,7571080.591,0.018750921,0.018750921,1.00E-04 +12-2-2019 1:00,7571872.494,0.006555123,0.006555123,1.00E-04 +12-2-2019 2:00,7572665.038,0.00405428,0.00405428,1.00E-04 +12-2-2019 3:00,7573458.225,0.008254397,0.008254397,1.00E-04 +12-2-2019 4:00,7574252.052,0.039096191,0.039096191,1.00E-04 +12-2-2019 5:00,7575046.521,0.179455581,0.179455581,1.00E-04 +12-2-2019 6:00,7575841.629,0.371643404,0.371643404,1.00E-04 +12-2-2019 7:00,7576637.378,0.473219276,0.473219276,1.00E-04 +12-2-2019 8:00,7577433.767,0.378891344,0.378891344,1.00E-04 +12-2-2019 9:00,7578230.795,0.380082861,0.380082861,1.00E-04 +12-2-2019 10:00,7579028.462,0.375044411,0.375044411,1.00E-04 +12-2-2019 11:00,7579826.767,0.51697307,0.51697307,1.00E-04 +12-2-2019 12:00,7580625.71,0.437551871,0.437551871,1.00E-04 +12-2-2019 13:00,7581425.291,0.255626062,0.255626062,1.00E-04 +12-2-2019 14:00,7582225.509,0.152989526,0.152989526,1.00E-04 +12-2-2019 15:00,7583026.364,0.37746365,0.37746365,1.00E-04 +12-2-2019 16:00,7583827.855,0.411738959,0.411738959,1.00E-04 +12-2-2019 17:00,7584629.982,0.441610005,0.441610005,1.00E-04 +12-2-2019 18:00,7585432.745,0.423730172,0.423730172,1.00E-04 +12-2-2019 19:00,7586236.142,0.386855253,0.386855253,1.00E-04 +12-2-2019 20:00,7587040.175,0.321903885,0.321903885,1.00E-04 +12-2-2019 21:00,7587844.842,0.208205734,0.208205734,1.00E-04 +12-2-2019 22:00,7588650.142,0.098561209,0.098561209,1.00E-04 +12-2-2019 23:00,7589456.077,0.042243348,0.042243348,1.00E-04 +13-02-2019 0:00,7590262.644,0.017693041,0.017693041,1.00E-04 +13-02-2019 1:00,7591069.844,0.006009833,0.006009833,1.00E-04 +13-02-2019 2:00,7591877.676,0.003490259,0.003490259,1.00E-04 +13-02-2019 3:00,7592686.14,0.006119374,0.006119374,1.00E-04 +13-02-2019 4:00,7593495.235,0.032500459,0.032500459,1.00E-04 +13-02-2019 5:00,7594304.962,0.156397253,0.156397253,1.00E-04 +13-02-2019 6:00,7595115.319,0.332963699,0.332963699,1.00E-04 +13-02-2019 7:00,7595926.306,0.426381185,0.426381185,1.00E-04 +13-02-2019 8:00,7596737.923,0.339848357,0.339848357,1.00E-04 +13-02-2019 9:00,7597550.169,0.354101795,0.354101795,1.00E-04 +13-02-2019 10:00,7598363.044,0.363943591,0.363943591,1.00E-04 +13-02-2019 11:00,7599176.547,0.51002941,0.51002941,1.00E-04 +13-02-2019 12:00,7599990.679,0.441185992,0.441185992,1.00E-04 +13-02-2019 13:00,7600805.438,0.279768727,0.279768727,1.00E-04 +13-02-2019 14:00,7601620.825,0.149373834,0.149373834,1.00E-04 +13-02-2019 15:00,7602436.838,0.37179297,0.37179297,1.00E-04 +13-02-2019 16:00,7603253.478,0.408960727,0.408960727,1.00E-04 +13-02-2019 17:00,7604070.743,0.441033375,0.441033375,1.00E-04 +13-02-2019 18:00,7604888.634,0.425392939,0.425392939,1.00E-04 +13-02-2019 19:00,7605707.151,0.391794644,0.391794644,1.00E-04 +13-02-2019 20:00,7606526.292,0.32582611,0.32582611,1.00E-04 +13-02-2019 21:00,7607346.057,0.212368865,0.212368865,1.00E-04 +13-02-2019 22:00,7608166.446,0.101722285,0.101722285,1.00E-04 +13-02-2019 23:00,7608987.459,0.045448609,0.045448609,1.00E-04 +14-02-2019 0:00,7609809.094,0.018805847,0.018805847,1.00E-04 +14-02-2019 1:00,7610631.353,0.006688177,0.006688177,1.00E-04 +14-02-2019 2:00,7611454.233,0.004212767,0.004212767,1.00E-04 +14-02-2019 3:00,7612277.735,0.008440985,0.008440985,1.00E-04 +14-02-2019 4:00,7613101.858,0.040838067,0.040838067,1.00E-04 +14-02-2019 5:00,7613926.603,0.185874972,0.185874972,1.00E-04 +14-02-2019 6:00,7614751.968,0.390361913,0.390361913,1.00E-04 +14-02-2019 7:00,7615577.953,0.480821233,0.480821233,1.00E-04 +14-02-2019 8:00,7616404.557,0.363412899,0.363412899,1.00E-04 +14-02-2019 9:00,7617231.781,0.363322911,0.363322911,1.00E-04 +14-02-2019 10:00,7618059.623,0.358508466,0.358508466,1.00E-04 +14-02-2019 11:00,7618888.084,0.485431182,0.485431182,1.00E-04 +14-02-2019 12:00,7619717.163,0.419275506,0.419275506,1.00E-04 +14-02-2019 13:00,7620546.859,0.258613265,0.258613265,1.00E-04 +14-02-2019 14:00,7621377.172,0.128197355,0.128197355,1.00E-04 +14-02-2019 15:00,7622208.102,0.339148097,0.339148097,1.00E-04 +14-02-2019 16:00,7623039.649,0.409145011,0.409145011,1.00E-04 +14-02-2019 17:00,7623871.811,0.459460387,0.459460387,1.00E-04 +14-02-2019 18:00,7624704.588,0.450580711,0.450580711,1.00E-04 +14-02-2019 19:00,7625537.98,0.419619541,0.419619541,1.00E-04 +14-02-2019 20:00,7626371.987,0.346224994,0.346224994,1.00E-04 +14-02-2019 21:00,7627206.608,0.227843586,0.227843586,1.00E-04 +14-02-2019 22:00,7628041.842,0.107555716,0.107555716,1.00E-04 +14-02-2019 23:00,7628877.69,0.046162317,0.046162317,1.00E-04 +15-02-2019 0:00,7629714.15,0.019843304,0.019843304,1.00E-04 +15-02-2019 1:00,7630551.223,0.006946282,0.006946282,1.00E-04 +15-02-2019 2:00,7631388.908,0.004978574,0.004978574,1.00E-04 +15-02-2019 3:00,7632227.204,0.009838409,0.009838409,1.00E-04 +15-02-2019 4:00,7633066.112,0.043827741,0.043827741,1.00E-04 +15-02-2019 5:00,7633905.63,0.195093975,0.195093975,1.00E-04 +15-02-2019 6:00,7634745.758,0.405824824,0.405824824,1.00E-04 +15-02-2019 7:00,7635586.496,0.489338096,0.489338096,1.00E-04 +15-02-2019 8:00,7636427.843,0.324661157,0.324661157,1.00E-04 +15-02-2019 9:00,7637269.799,0.265548953,0.265548953,1.00E-04 +15-02-2019 10:00,7638112.364,0.230505568,0.230505568,1.00E-04 +15-02-2019 11:00,7638955.536,0.28742746,0.28742746,1.00E-04 +15-02-2019 12:00,7639799.316,0.22620528,0.22620528,1.00E-04 +15-02-2019 13:00,7640643.704,0.106409181,0.106409181,1.00E-04 +15-02-2019 14:00,7641488.698,0.04444385,0.04444385,1.00E-04 +15-02-2019 15:00,7642334.298,0.06725894,0.06725894,1.00E-04 +15-02-2019 16:00,7643180.505,0.209825897,0.209825897,1.00E-04 +15-02-2019 17:00,7644027.316,0.378833757,0.378833757,1.00E-04 +15-02-2019 18:00,7644874.733,0.400217254,0.400217254,1.00E-04 +15-02-2019 19:00,7645722.754,0.380849975,0.380849975,1.00E-04 +15-02-2019 20:00,7646571.38,0.334164892,0.334164892,1.00E-04 +15-02-2019 21:00,7647420.609,0.219379169,0.219379169,1.00E-04 +15-02-2019 22:00,7648270.441,0.102848686,0.102848686,1.00E-04 +15-02-2019 23:00,7649120.876,0.043518011,0.043518011,1.00E-04 +16-02-2019 0:00,7649971.914,0.019118993,0.019118993,1.00E-04 +16-02-2019 1:00,7650823.553,0.00667682,0.00667682,1.00E-04 +16-02-2019 2:00,7651675.794,0.004175574,0.004175574,1.00E-04 +16-02-2019 3:00,7652528.636,0.007963829,0.007963829,1.00E-04 +16-02-2019 4:00,7653382.079,0.039311222,0.039311222,1.00E-04 +16-02-2019 5:00,7654236.122,0.183201649,0.183201649,1.00E-04 +16-02-2019 6:00,7655090.764,0.383989815,0.383989815,1.00E-04 +16-02-2019 7:00,7655946.006,0.481715014,0.481715014,1.00E-04 +16-02-2019 8:00,7656801.847,0.346102256,0.346102256,1.00E-04 +16-02-2019 9:00,7657658.286,0.341489793,0.341489793,1.00E-04 +16-02-2019 10:00,7658515.323,0.332223004,0.332223004,1.00E-04 +16-02-2019 11:00,7659372.957,0.450585121,0.450585121,1.00E-04 +16-02-2019 12:00,7660231.189,0.388893555,0.388893555,1.00E-04 +16-02-2019 13:00,7661090.017,0.234609627,0.234609627,1.00E-04 +16-02-2019 14:00,7661949.442,0.114331146,0.114331146,1.00E-04 +16-02-2019 15:00,7662809.462,0.321545053,0.321545053,1.00E-04 +16-02-2019 16:00,7663670.078,0.384682363,0.384682363,1.00E-04 +16-02-2019 17:00,7664531.289,0.438632603,0.438632603,1.00E-04 +16-02-2019 18:00,7665393.094,0.43403558,0.43403558,1.00E-04 +16-02-2019 19:00,7666255.493,0.39890818,0.39890818,1.00E-04 +16-02-2019 20:00,7667118.485,0.330445904,0.330445904,1.00E-04 +16-02-2019 21:00,7667982.071,0.217600622,0.217600622,1.00E-04 +16-02-2019 22:00,7668846.249,0.104351069,0.104351069,1.00E-04 +16-02-2019 23:00,7669711.02,0.046003803,0.046003803,1.00E-04 +17-02-2019 0:00,7670576.382,0.01938899,0.01938899,1.00E-04 +17-02-2019 1:00,7671442.336,0.006815139,0.006815139,1.00E-04 +17-02-2019 2:00,7672308.88,0.004513233,0.004513233,1.00E-04 +17-02-2019 3:00,7673176.015,0.008937601,0.008937601,1.00E-04 +17-02-2019 4:00,7674043.74,0.042277061,0.042277061,1.00E-04 +17-02-2019 5:00,7674912.055,0.190606444,0.190606444,1.00E-04 +17-02-2019 6:00,7675780.958,0.395806273,0.395806273,1.00E-04 +17-02-2019 7:00,7676650.451,0.49164271,0.49164271,1.00E-04 +17-02-2019 8:00,7677520.531,0.381385024,0.381385024,1.00E-04 +17-02-2019 9:00,7678391.199,0.3684862,0.3684862,1.00E-04 +17-02-2019 10:00,7679262.455,0.352842246,0.352842246,1.00E-04 +17-02-2019 11:00,7680134.297,0.466509259,0.466509259,1.00E-04 +17-02-2019 12:00,7681006.726,0.393958834,0.393958834,1.00E-04 +17-02-2019 13:00,7681879.741,0.236074264,0.236074264,1.00E-04 +17-02-2019 14:00,7682753.341,0.108175246,0.108175246,1.00E-04 +17-02-2019 15:00,7683627.527,0.285803578,0.285803578,1.00E-04 +17-02-2019 16:00,7684502.297,0.37340034,0.37340034,1.00E-04 +17-02-2019 17:00,7685377.651,0.409560497,0.409560497,1.00E-04 +17-02-2019 18:00,7686253.589,0.395981,0.395981,1.00E-04 +17-02-2019 19:00,7687130.11,0.376956102,0.376956102,1.00E-04 +17-02-2019 20:00,7688007.214,0.309822592,0.309822592,1.00E-04 +17-02-2019 21:00,7688884.9,0.203646493,0.203646493,1.00E-04 +17-02-2019 22:00,7689763.169,0.099591203,0.099591203,1.00E-04 +17-02-2019 23:00,7690642.018,0.043837047,0.043837047,1.00E-04 +18-02-2019 0:00,7691521.449,0.018395053,0.018395053,1.00E-04 +18-02-2019 1:00,7692401.46,0.006408458,0.006408458,1.00E-04 +18-02-2019 2:00,7693282.052,0.00382953,0.00382953,1.00E-04 +18-02-2019 3:00,7694163.223,0.007215159,0.007215159,1.00E-04 +18-02-2019 4:00,7695044.973,0.03671833,0.03671833,1.00E-04 +18-02-2019 5:00,7695927.302,0.173849035,0.173849035,1.00E-04 +18-02-2019 6:00,7696810.209,0.363361948,0.363361948,1.00E-04 +18-02-2019 7:00,7697693.694,0.448253349,0.448253349,1.00E-04 +18-02-2019 8:00,7698577.757,0.350278124,0.350278124,1.00E-04 +18-02-2019 9:00,7699462.396,0.345914412,0.345914412,1.00E-04 +18-02-2019 10:00,7700347.612,0.332840381,0.332840381,1.00E-04 +18-02-2019 11:00,7701233.404,0.442114913,0.442114913,1.00E-04 +18-02-2019 12:00,7702119.772,0.377372591,0.377372591,1.00E-04 +18-02-2019 13:00,7703006.714,0.225396339,0.225396339,1.00E-04 +18-02-2019 14:00,7703894.231,0.10237257,0.10237257,1.00E-04 +18-02-2019 15:00,7704782.323,0.2692044,0.2692044,1.00E-04 +18-02-2019 16:00,7705670.988,0.361880007,0.361880007,1.00E-04 +18-02-2019 17:00,7706560.226,0.423733814,0.423733814,1.00E-04 +18-02-2019 18:00,7707450.038,0.395557191,0.395557191,1.00E-04 +18-02-2019 19:00,7708340.421,0.376308948,0.376308948,1.00E-04 +18-02-2019 20:00,7709231.377,0.318045025,0.318045025,1.00E-04 +18-02-2019 21:00,7710122.904,0.203931935,0.203931935,1.00E-04 +18-02-2019 22:00,7711015.002,0.091931071,0.091931071,1.00E-04 +18-02-2019 23:00,7711907.67,0.039517892,0.039517892,1.00E-04 +19-02-2019 0:00,7712800.909,0.016303302,0.016303302,1.00E-04 +19-02-2019 1:00,7713694.717,0.005485094,0.005485094,1.00E-04 +19-02-2019 2:00,7714589.094,0.003071976,0.003071976,1.00E-04 +19-02-2019 3:00,7715484.04,0.004776967,0.004776967,1.00E-04 +19-02-2019 4:00,7716379.554,0.025849039,0.025849039,1.00E-04 +19-02-2019 5:00,7717275.636,0.135748215,0.135748215,1.00E-04 +19-02-2019 6:00,7718172.286,0.296824333,0.296824333,1.00E-04 +19-02-2019 7:00,7719069.502,0.368426227,0.368426227,1.00E-04 +19-02-2019 8:00,7719967.284,0.284923134,0.284923134,1.00E-04 +19-02-2019 9:00,7720865.633,0.295202456,0.295202456,1.00E-04 +19-02-2019 10:00,7721764.547,0.305463954,0.305463954,1.00E-04 +19-02-2019 11:00,7722664.026,0.425921342,0.425921342,1.00E-04 +19-02-2019 12:00,7723564.069,0.35950442,0.35950442,1.00E-04 +19-02-2019 13:00,7724464.676,0.217478201,0.217478201,1.00E-04 +19-02-2019 14:00,7725365.848,0.09155322,0.09155322,1.00E-04 +19-02-2019 15:00,7726267.582,0.250691009,0.250691009,1.00E-04 +19-02-2019 16:00,7727169.879,0.366954941,0.366954941,1.00E-04 +19-02-2019 17:00,7728072.738,0.413802067,0.413802067,1.00E-04 +19-02-2019 18:00,7728976.159,0.402728633,0.402728633,1.00E-04 +19-02-2019 19:00,7729880.141,0.369665757,0.369665757,1.00E-04 +19-02-2019 20:00,7730784.684,0.301387841,0.301387841,1.00E-04 +19-02-2019 21:00,7731689.788,0.195228884,0.195228884,1.00E-04 +19-02-2019 22:00,7732595.451,0.092570717,0.092570717,1.00E-04 +19-02-2019 23:00,7733501.674,0.039930869,0.039930869,1.00E-04 +20-02-2019 0:00,7734408.455,0.01629267,0.01629267,1.00E-04 +20-02-2019 1:00,7735315.795,0.005466185,0.005466185,1.00E-04 +20-02-2019 2:00,7736223.694,0.003091774,0.003091774,1.00E-04 +20-02-2019 3:00,7737132.149,0.004777727,0.004777727,1.00E-04 +20-02-2019 4:00,7738041.162,0.0257928,0.0257928,1.00E-04 +20-02-2019 5:00,7738950.732,0.135790338,0.135790338,1.00E-04 +20-02-2019 6:00,7739860.857,0.29484913,0.29484913,1.00E-04 +20-02-2019 7:00,7740771.539,0.376208704,0.376208704,1.00E-04 +20-02-2019 8:00,7741682.775,0.290939661,0.290939661,1.00E-04 +20-02-2019 9:00,7742594.566,0.3041226,0.3041226,1.00E-04 +20-02-2019 10:00,7743506.912,0.307176879,0.307176879,1.00E-04 +20-02-2019 11:00,7744419.811,0.422672053,0.422672053,1.00E-04 +20-02-2019 12:00,7745333.264,0.371448737,0.371448737,1.00E-04 +20-02-2019 13:00,7746247.27,0.202899423,0.202899423,1.00E-04 +20-02-2019 14:00,7747161.828,0.096314516,0.096314516,1.00E-04 +20-02-2019 15:00,7748076.938,0.249415845,0.249415845,1.00E-04 +20-02-2019 16:00,7748992.599,0.349990651,0.349990651,1.00E-04 +20-02-2019 17:00,7749908.811,0.396011698,0.396011698,1.00E-04 +20-02-2019 18:00,7750825.574,0.385085056,0.385085056,1.00E-04 +20-02-2019 19:00,7751742.887,0.354324288,0.354324288,1.00E-04 +20-02-2019 20:00,7752660.75,0.291484943,0.291484943,1.00E-04 +20-02-2019 21:00,7753579.161,0.190123166,0.190123166,1.00E-04 +20-02-2019 22:00,7754498.122,0.090647104,0.090647104,1.00E-04 +20-02-2019 23:00,7755417.63,0.038611403,0.038611403,1.00E-04 +21-02-2019 0:00,7756337.686,0.015660807,0.015660807,1.00E-04 +21-02-2019 1:00,7757258.289,0.005168477,0.005168477,1.00E-04 +21-02-2019 2:00,7758179.439,0.00293699,0.00293699,1.00E-04 +21-02-2019 3:00,7759101.136,0.004388597,0.004388597,1.00E-04 +21-02-2019 4:00,7760023.378,0.023223205,0.023223205,1.00E-04 +21-02-2019 5:00,7760946.165,0.126798687,0.126798687,1.00E-04 +21-02-2019 6:00,7761869.497,0.276901028,0.276901028,1.00E-04 +21-02-2019 7:00,7762793.374,0.350515901,0.350515901,1.00E-04 +21-02-2019 8:00,7763717.795,0.271257465,0.271257465,1.00E-04 +21-02-2019 9:00,7764642.758,0.289008652,0.289008652,1.00E-04 +21-02-2019 10:00,7765568.265,0.298714789,0.298714789,1.00E-04 +21-02-2019 11:00,7766494.315,0.407242608,0.407242608,1.00E-04 +21-02-2019 12:00,7767420.906,0.354863109,0.354863109,1.00E-04 +21-02-2019 13:00,7768348.039,0.202805578,0.202805578,1.00E-04 +21-02-2019 14:00,7769275.713,0.096123907,0.096123907,1.00E-04 +21-02-2019 15:00,7770203.927,0.264223308,0.264223308,1.00E-04 +21-02-2019 16:00,7771132.682,0.350809178,0.350809178,1.00E-04 +21-02-2019 17:00,7772061.976,0.391833745,0.391833745,1.00E-04 +21-02-2019 18:00,7772991.809,0.375212106,0.375212106,1.00E-04 +21-02-2019 19:00,7773922.181,0.340084689,0.340084689,1.00E-04 +21-02-2019 20:00,7774853.091,0.277725704,0.277725704,1.00E-04 +21-02-2019 21:00,7775784.538,0.179217524,0.179217524,1.00E-04 +21-02-2019 22:00,7776716.523,0.084770986,0.084770986,1.00E-04 +21-02-2019 23:00,7777649.045,0.036305847,0.036305847,1.00E-04 +22-02-2019 0:00,7778582.103,0.014489445,0.014489445,1.00E-04 +22-02-2019 1:00,7779515.697,0.004557457,0.004557457,1.00E-04 +22-02-2019 2:00,7780449.826,0.002424533,0.002424533,1.00E-04 +22-02-2019 3:00,7781384.489,0.003577114,0.003577114,1.00E-04 +22-02-2019 4:00,7782319.687,0.017404066,0.017404066,1.00E-04 +22-02-2019 5:00,7783255.419,0.100864666,0.100864666,1.00E-04 +22-02-2019 6:00,7784191.685,0.229797522,0.229797522,1.00E-04 +22-02-2019 7:00,7785128.483,0.294530789,0.294530789,1.00E-04 +22-02-2019 8:00,7786065.813,0.230999918,0.230999918,1.00E-04 +22-02-2019 9:00,7787003.676,0.259175371,0.259175371,1.00E-04 +22-02-2019 10:00,7787942.07,0.274264104,0.274264104,1.00E-04 +22-02-2019 11:00,7788880.995,0.372548704,0.372548704,1.00E-04 +22-02-2019 12:00,7789820.45,0.325872793,0.325872793,1.00E-04 +22-02-2019 13:00,7790760.435,0.182960298,0.182960298,1.00E-04 +22-02-2019 14:00,7791700.95,0.08545439,0.08545439,1.00E-04 +22-02-2019 15:00,7792641.994,0.199610994,0.199610994,1.00E-04 +22-02-2019 16:00,7793583.566,0.317900826,0.317900826,1.00E-04 +22-02-2019 17:00,7794525.667,0.35922077,0.35922077,1.00E-04 +22-02-2019 18:00,7795468.295,0.357243013,0.357243013,1.00E-04 +22-02-2019 19:00,7796411.45,0.338805238,0.338805238,1.00E-04 +22-02-2019 20:00,7797355.131,0.273535918,0.273535918,1.00E-04 +22-02-2019 21:00,7798299.339,0.177208021,0.177208021,1.00E-04 +22-02-2019 22:00,7799244.073,0.085023493,0.085023493,1.00E-04 +22-02-2019 23:00,7800189.331,0.036924807,0.036924807,1.00E-04 +23-02-2019 0:00,7801135.114,0.014945346,0.014945346,1.00E-04 +23-02-2019 1:00,7802081.422,0.00471076,0.00471076,1.00E-04 +23-02-2019 2:00,7803028.253,0.002561678,0.002561678,1.00E-04 +23-02-2019 3:00,7803975.607,0.003896888,0.003896888,1.00E-04 +23-02-2019 4:00,7804923.484,0.019608959,0.019608959,1.00E-04 +23-02-2019 5:00,7805871.883,0.11610052,0.11610052,1.00E-04 +23-02-2019 6:00,7806820.804,0.262196704,0.262196704,1.00E-04 +23-02-2019 7:00,7807770.246,0.331993383,0.331993383,1.00E-04 +23-02-2019 8:00,7808720.209,0.255754323,0.255754323,1.00E-04 +23-02-2019 9:00,7809670.692,0.237935548,0.237935548,1.00E-04 +23-02-2019 10:00,7810621.695,0.256132154,0.256132154,1.00E-04 +23-02-2019 11:00,7811573.217,0.321807918,0.321807918,1.00E-04 +23-02-2019 12:00,7812525.258,0.239290566,0.239290566,1.00E-04 +23-02-2019 13:00,7813477.818,0.125691332,0.125691332,1.00E-04 +23-02-2019 14:00,7814430.895,0.062324783,0.062324783,1.00E-04 +23-02-2019 15:00,7815384.489,0.090284999,0.090284999,1.00E-04 +23-02-2019 16:00,7816338.6,0.241234349,0.241234349,1.00E-04 +23-02-2019 17:00,7817293.228,0.359811646,0.359811646,1.00E-04 +23-02-2019 18:00,7818248.371,0.359445155,0.359445155,1.00E-04 +23-02-2019 19:00,7819204.03,0.348777597,0.348777597,1.00E-04 +23-02-2019 20:00,7820160.204,0.303432119,0.303432119,1.00E-04 +23-02-2019 21:00,7821116.892,0.182995135,0.182995135,1.00E-04 +23-02-2019 22:00,7822074.094,0.087558639,0.087558639,1.00E-04 +23-02-2019 23:00,7823031.809,0.038688555,0.038688555,1.00E-04 +24-02-2019 0:00,7823990.038,0.01574694,0.01574694,1.00E-04 +24-02-2019 1:00,7824948.778,0.005179793,0.005179793,1.00E-04 +24-02-2019 2:00,7825908.031,0.002959391,0.002959391,1.00E-04 +24-02-2019 3:00,7826867.795,0.004654476,0.004654476,1.00E-04 +24-02-2019 4:00,7827828.07,0.0253274,0.0253274,1.00E-04 +24-02-2019 5:00,7828788.855,0.141777402,0.141777402,1.00E-04 +24-02-2019 6:00,7829750.15,0.313125005,0.313125005,1.00E-04 +24-02-2019 7:00,7830711.955,0.366714233,0.366714233,1.00E-04 +24-02-2019 8:00,7831674.269,0.221557465,0.221557465,1.00E-04 +24-02-2019 9:00,7832637.091,0.184241502,0.184241502,1.00E-04 +24-02-2019 10:00,7833600.421,0.174561748,0.174561748,1.00E-04 +24-02-2019 11:00,7834564.259,0.204940324,0.204940324,1.00E-04 +24-02-2019 12:00,7835528.603,0.192830235,0.192830235,1.00E-04 +24-02-2019 13:00,7836493.454,0.10825493,0.10825493,1.00E-04 +24-02-2019 14:00,7837458.811,0.05448834,0.05448834,1.00E-04 +24-02-2019 15:00,7838424.674,0.133394507,0.133394507,1.00E-04 +24-02-2019 16:00,7839391.041,0.272880493,0.272880493,1.00E-04 +24-02-2019 17:00,7840357.913,0.349919076,0.349919076,1.00E-04 +24-02-2019 18:00,7841325.289,0.364271654,0.364271654,1.00E-04 +24-02-2019 19:00,7842293.168,0.353818742,0.353818742,1.00E-04 +24-02-2019 20:00,7843261.551,0.298437179,0.298437179,1.00E-04 +24-02-2019 21:00,7844230.435,0.197876682,0.197876682,1.00E-04 +24-02-2019 22:00,7845199.822,0.096168627,0.096168627,1.00E-04 +24-02-2019 23:00,7846169.711,0.042480456,0.042480456,1.00E-04 +25-02-2019 0:00,7847140.1,0.017479339,0.017479339,1.00E-04 +25-02-2019 1:00,7848110.99,0.006065317,0.006065317,1.00E-04 +25-02-2019 2:00,7849082.38,0.003465083,0.003465083,1.00E-04 +25-02-2019 3:00,7850054.269,0.006121753,0.006121753,1.00E-04 +25-02-2019 4:00,7851026.657,0.031486699,0.031486699,1.00E-04 +25-02-2019 5:00,7851999.544,0.159084474,0.159084474,1.00E-04 +25-02-2019 6:00,7852972.929,0.33519536,0.33519536,1.00E-04 +25-02-2019 7:00,7853946.811,0.383840449,0.383840449,1.00E-04 +25-02-2019 8:00,7854921.191,0.240481913,0.240481913,1.00E-04 +25-02-2019 9:00,7855896.067,0.200973253,0.200973253,1.00E-04 +25-02-2019 10:00,7856871.438,0.207380978,0.207380978,1.00E-04 +25-02-2019 11:00,7857847.306,0.228505258,0.228505258,1.00E-04 +25-02-2019 12:00,7858823.668,0.174743448,0.174743448,1.00E-04 +25-02-2019 13:00,7859800.525,0.097472937,0.097472937,1.00E-04 +25-02-2019 14:00,7860777.876,0.044778102,0.044778102,1.00E-04 +25-02-2019 15:00,7861755.72,0.062986387,0.062986387,1.00E-04 +25-02-2019 16:00,7862734.057,0.175526647,0.175526647,1.00E-04 +25-02-2019 17:00,7863712.887,0.327360078,0.327360078,1.00E-04 +25-02-2019 18:00,7864692.209,0.355696862,0.355696862,1.00E-04 +25-02-2019 19:00,7865672.022,0.348415978,0.348415978,1.00E-04 +25-02-2019 20:00,7866652.326,0.299260959,0.299260959,1.00E-04 +25-02-2019 21:00,7867633.12,0.198122648,0.198122648,1.00E-04 +25-02-2019 22:00,7868614.405,0.095287642,0.095287642,1.00E-04 +25-02-2019 23:00,7869596.179,0.04192905,0.04192905,1.00E-04 +26-02-2019 0:00,7870578.442,0.017391692,0.017391692,1.00E-04 +26-02-2019 1:00,7871561.193,0.005694747,0.005694747,1.00E-04 +26-02-2019 2:00,7872544.432,0.003349807,0.003349807,1.00E-04 +26-02-2019 3:00,7873528.159,0.005672633,0.005672633,1.00E-04 +26-02-2019 4:00,7874512.373,0.030032729,0.030032729,1.00E-04 +26-02-2019 5:00,7875497.073,0.157561611,0.157561611,1.00E-04 +26-02-2019 6:00,7876482.259,0.332411641,0.332411641,1.00E-04 +26-02-2019 7:00,7877467.93,0.400494602,0.400494602,1.00E-04 +26-02-2019 8:00,7878454.086,0.300978283,0.300978283,1.00E-04 +26-02-2019 9:00,7879440.727,0.284607793,0.284607793,1.00E-04 +26-02-2019 10:00,7880427.852,0.264019046,0.264019046,1.00E-04 +26-02-2019 11:00,7881415.46,0.332880931,0.332880931,1.00E-04 +26-02-2019 12:00,7882403.55,0.286361201,0.286361201,1.00E-04 +26-02-2019 13:00,7883392.123,0.156742279,0.156742279,1.00E-04 +26-02-2019 14:00,7884381.178,0.069784059,0.069784059,1.00E-04 +26-02-2019 15:00,7885370.715,0.098272299,0.098272299,1.00E-04 +26-02-2019 16:00,7886360.732,0.236428728,0.236428728,1.00E-04 +26-02-2019 17:00,7887351.229,0.357629346,0.357629346,1.00E-04 +26-02-2019 18:00,7888342.207,0.370251659,0.370251659,1.00E-04 +26-02-2019 19:00,7889333.663,0.349170548,0.349170548,1.00E-04 +26-02-2019 20:00,7890325.599,0.292023328,0.292023328,1.00E-04 +26-02-2019 21:00,7891318.012,0.191852868,0.191852868,1.00E-04 +26-02-2019 22:00,7892310.904,0.092846792,0.092846792,1.00E-04 +26-02-2019 23:00,7893304.272,0.040923993,0.040923993,1.00E-04 +27-02-2019 0:00,7894298.118,0.0167016,0.0167016,1.00E-04 +27-02-2019 1:00,7895292.439,0.005630015,0.005630015,1.00E-04 +27-02-2019 2:00,7896287.237,0.00323548,0.00323548,1.00E-04 +27-02-2019 3:00,7897282.509,0.005220626,0.005220626,1.00E-04 +27-02-2019 4:00,7898278.257,0.027153381,0.027153381,1.00E-04 +27-02-2019 5:00,7899274.478,0.143856546,0.143856546,1.00E-04 +27-02-2019 6:00,7900271.173,0.301609075,0.301609075,1.00E-04 +27-02-2019 7:00,7901268.342,0.340466749,0.340466749,1.00E-04 +27-02-2019 8:00,7902265.983,0.203861947,0.203861947,1.00E-04 +27-02-2019 9:00,7903264.096,0.16522505,0.16522505,1.00E-04 +27-02-2019 10:00,7904262.68,0.152488506,0.152488506,1.00E-04 +27-02-2019 11:00,7905261.736,0.165325029,0.165325029,1.00E-04 +27-02-2019 12:00,7906261.263,0.109680634,0.109680634,1.00E-04 +27-02-2019 13:00,7907261.259,0.041667621,0.041667621,1.00E-04 +27-02-2019 14:00,7908261.725,0.019955639,0.019955639,1.00E-04 +27-02-2019 15:00,7909262.66,0.024610444,0.024610444,1.00E-04 +27-02-2019 16:00,7910264.064,0.049498482,0.049498482,1.00E-04 +27-02-2019 17:00,7911265.936,0.128314611,0.128314611,1.00E-04 +27-02-2019 18:00,7912268.275,0.208765116,0.208765116,1.00E-04 +27-02-2019 19:00,7913271.081,0.261688123,0.261688123,1.00E-04 +27-02-2019 20:00,7914274.354,0.227001879,0.227001879,1.00E-04 +27-02-2019 21:00,7915278.092,0.152643913,0.152643913,1.00E-04 +27-02-2019 22:00,7916282.297,0.076391876,0.076391876,1.00E-04 +27-02-2019 23:00,7917286.966,0.035045556,0.035045556,1.00E-04 +28-02-2019 0:00,7918292.099,0.014846948,0.014846948,1.00E-04 +28-02-2019 1:00,7919297.696,0.00459434,0.00459434,1.00E-04 +28-02-2019 2:00,7920303.757,0.002558344,0.002558344,1.00E-04 +28-02-2019 3:00,7921310.281,0.003894311,0.003894311,1.00E-04 +28-02-2019 4:00,7922317.266,0.014855758,0.014855758,1.00E-04 +28-02-2019 5:00,7923324.714,0.112232345,0.112232345,1.00E-04 +28-02-2019 6:00,7924332.623,0.247760209,0.247760209,1.00E-04 +28-02-2019 7:00,7925340.993,0.193385152,0.193385152,1.00E-04 +28-02-2019 8:00,7926349.823,0.198496534,0.198496534,1.00E-04 +28-02-2019 9:00,7927359.113,0.226835165,0.226835165,1.00E-04 +28-02-2019 10:00,7928368.862,0.252642284,0.252642284,1.00E-04 +28-02-2019 11:00,7929379.07,0.291564365,0.291564365,1.00E-04 +28-02-2019 12:00,7930389.735,0.281164177,0.281164177,1.00E-04 +28-02-2019 13:00,7931400.859,0.149597536,0.149597536,1.00E-04 +28-02-2019 14:00,7932412.44,0.072358961,0.072358961,1.00E-04 +28-02-2019 15:00,7933424.477,0.045789866,0.045789866,1.00E-04 +28-02-2019 16:00,7934436.971,0.17324095,0.17324095,1.00E-04 +28-02-2019 17:00,7935449.92,0.330798559,0.330798559,1.00E-04 +28-02-2019 18:00,7936463.324,0.326567789,0.326567789,1.00E-04 +28-02-2019 19:00,7937477.183,0.308364365,0.308364365,1.00E-04 +28-02-2019 20:00,7938491.495,0.257478576,0.257478576,1.00E-04 +28-02-2019 21:00,7939506.261,0.166994259,0.166994259,1.00E-04 +28-02-2019 22:00,7940521.481,0.079342952,0.079342952,1.00E-04 +28-02-2019 23:00,7941537.152,0.034040098,0.034040098,1.00E-04 +1-3-2019 0:00,7942553.276,0.013706875,0.013706875,0.00006 +1-3-2019 1:00,7943569.851,0.003975152,0.003975152,0.00006 +1-3-2019 2:00,7944586.877,0.002171822,0.002171822,0.00006 +1-3-2019 3:00,7945604.353,0.003293882,0.003293882,0.00006 +1-3-2019 4:00,7946622.279,0.013410455,0.013410455,0.00006 +1-3-2019 5:00,7947640.654,0.089736765,0.089736765,0.00006 +1-3-2019 6:00,7948659.479,0.203107774,0.203107774,0.00006 +1-3-2019 7:00,7949678.751,0.161622196,0.161622196,0.00006 +1-3-2019 8:00,7950698.471,0.171732018,0.171732018,0.00006 +1-3-2019 9:00,7951718.639,0.21029493,0.21029493,0.00006 +1-3-2019 10:00,7952739.253,0.247830834,0.247830834,0.00006 +1-3-2019 11:00,7953760.313,0.357877257,0.357877257,0.00006 +1-3-2019 12:00,7954781.819,0.312841485,0.312841485,0.00006 +1-3-2019 13:00,7955803.77,0.166408317,0.166408317,0.00006 +1-3-2019 14:00,7956826.166,0.081719369,0.081719369,0.00006 +1-3-2019 15:00,7957849.005,0.057784273,0.057784273,0.00006 +1-3-2019 16:00,7958872.289,0.257722452,0.257722452,0.00006 +1-3-2019 17:00,7959896.015,0.368045134,0.368045134,0.00006 +1-3-2019 18:00,7960920.184,0.358256053,0.358256053,0.00006 +1-3-2019 19:00,7961944.794,0.340694761,0.340694761,0.00006 +1-3-2019 20:00,7962969.847,0.283518105,0.283518105,0.00006 +1-3-2019 21:00,7963995.34,0.18487264,0.18487264,0.00006 +1-3-2019 22:00,7965021.273,0.087726022,0.087726022,0.00006 +1-3-2019 23:00,7966047.646,0.039290702,0.039290702,0.00006 +2-3-2019 0:00,7967074.459,0.015438746,0.015438746,0.00006 +2-3-2019 1:00,7968101.711,0.005010916,0.005010916,0.00006 +2-3-2019 2:00,7969129.4,0.002836128,0.002836128,0.00006 +2-3-2019 3:00,7970157.528,0.004116118,0.004116118,0.00006 +2-3-2019 4:00,7971186.092,0.020153665,0.020153665,0.00006 +2-3-2019 5:00,7972215.094,0.117902781,0.117902781,0.00006 +2-3-2019 6:00,7973244.531,0.25501239,0.25501239,0.00006 +2-3-2019 7:00,7974274.404,0.203446517,0.203446517,0.00006 +2-3-2019 8:00,7975304.712,0.206826096,0.206826096,0.00006 +2-3-2019 9:00,7976335.455,0.236039219,0.236039219,0.00006 +2-3-2019 10:00,7977366.632,0.259053054,0.259053054,0.00006 +2-3-2019 11:00,7978398.242,0.31909154,0.31909154,0.00006 +2-3-2019 12:00,7979430.285,0.264350025,0.264350025,0.00006 +2-3-2019 13:00,7980462.761,0.148424413,0.148424413,0.00006 +2-3-2019 14:00,7981495.669,0.073544062,0.073544062,0.00006 +2-3-2019 15:00,7982529.008,0.051655078,0.051655078,0.00006 +2-3-2019 16:00,7983562.777,0.197169631,0.197169631,0.00006 +2-3-2019 17:00,7984596.978,0.341414583,0.341414583,0.00006 +2-3-2019 18:00,7985631.608,0.332283029,0.332283029,0.00006 +2-3-2019 19:00,7986666.667,0.312384616,0.312384616,0.00006 +2-3-2019 20:00,7987702.155,0.260992199,0.260992199,0.00006 +2-3-2019 21:00,7988738.071,0.169592827,0.169592827,0.00006 +2-3-2019 22:00,7989774.414,0.079685162,0.079685162,0.00006 +2-3-2019 23:00,7990811.185,0.033695284,0.033695284,0.00006 +3-3-2019 0:00,7991848.383,0.013362914,0.013362914,0.00006 +3-3-2019 1:00,7992886.006,0.003835449,0.003835449,0.00006 +3-3-2019 2:00,7993924.055,0.002050837,0.002050837,0.00006 +3-3-2019 3:00,7994962.529,0.003072953,0.003072953,0.00006 +3-3-2019 4:00,7996001.427,0.012387462,0.012387462,0.00006 +3-3-2019 5:00,7997040.75,0.080891778,0.080891778,0.00006 +3-3-2019 6:00,7998080.495,0.178303235,0.178303235,0.00006 +3-3-2019 7:00,7999120.664,0.143459085,0.143459085,0.00006 +3-3-2019 8:00,8000161.255,0.154148445,0.154148445,0.00006 +3-3-2019 9:00,8001202.267,0.187851591,0.187851591,0.00006 +3-3-2019 10:00,8002243.701,0.216403337,0.216403337,0.00006 +3-3-2019 11:00,8003285.556,0.297686229,0.297686229,0.00006 +3-3-2019 12:00,8004327.831,0.254800561,0.254800561,0.00006 +3-3-2019 13:00,8005370.525,0.13735338,0.13735338,0.00006 +3-3-2019 14:00,8006413.639,0.065767409,0.065767409,0.00006 +3-3-2019 15:00,8007457.171,0.041470434,0.041470434,0.00006 +3-3-2019 16:00,8008501.121,0.125674835,0.125674835,0.00006 +3-3-2019 17:00,8009545.488,0.289868116,0.289868116,0.00006 +3-3-2019 18:00,8010590.273,0.298515461,0.298515461,0.00006 +3-3-2019 19:00,8011635.474,0.277480077,0.277480077,0.00006 +3-3-2019 20:00,8012681.09,0.231904586,0.231904586,0.00006 +3-3-2019 21:00,8013727.122,0.149609186,0.149609186,0.00006 +3-3-2019 22:00,8014773.569,0.07013029,0.07013029,0.00006 +3-3-2019 23:00,8015820.43,0.029376841,0.029376841,0.00006 +4-3-2019 0:00,8016867.705,0.011848637,0.011848637,0.00006 +4-3-2019 1:00,8017915.393,0.003140753,0.003140753,0.00006 +4-3-2019 2:00,8018963.494,0.001363372,0.001363372,0.00006 +4-3-2019 3:00,8020012.007,0.002470907,0.002470907,0.00006 +4-3-2019 4:00,8021060.931,0.008251566,0.008251566,0.00006 +4-3-2019 5:00,8022110.266,0.060591636,0.060591636,0.00006 +4-3-2019 6:00,8023160.012,0.133996006,0.133996006,0.00006 +4-3-2019 7:00,8024210.168,0.112958794,0.112958794,0.00006 +4-3-2019 8:00,8025260.733,0.13303153,0.13303153,0.00006 +4-3-2019 9:00,8026311.707,0.167557212,0.167557212,0.00006 +4-3-2019 10:00,8027363.09,0.199299837,0.199299837,0.00006 +4-3-2019 11:00,8028414.88,0.285768733,0.285768733,0.00006 +4-3-2019 12:00,8029467.077,0.231837829,0.231837829,0.00006 +4-3-2019 13:00,8030519.681,0.127543938,0.127543938,0.00006 +4-3-2019 14:00,8031572.692,0.056720763,0.056720763,0.00006 +4-3-2019 15:00,8032626.107,0.03780661,0.03780661,0.00006 +4-3-2019 16:00,8033679.928,0.100269979,0.100269979,0.00006 +4-3-2019 17:00,8034734.154,0.288327829,0.288327829,0.00006 +4-3-2019 18:00,8035788.783,0.315878645,0.315878645,0.00006 +4-3-2019 19:00,8036843.816,0.29027728,0.29027728,0.00006 +4-3-2019 20:00,8037899.252,0.242692633,0.242692633,0.00006 +4-3-2019 21:00,8038955.09,0.161353623,0.161353623,0.00006 +4-3-2019 22:00,8040011.33,0.077338017,0.077338017,0.00006 +4-3-2019 23:00,8041067.971,0.033535529,0.033535529,0.00006 +5-3-2019 0:00,8042125.013,0.013462277,0.013462277,0.00006 +5-3-2019 1:00,8043182.456,0.003696056,0.003696056,0.00006 +5-3-2019 2:00,8044240.297,0.001915715,0.001915715,0.00006 +5-3-2019 3:00,8045298.538,0.003050116,0.003050116,0.00006 +5-3-2019 4:00,8046357.178,0.011828124,0.011828124,0.00006 +5-3-2019 5:00,8047416.215,0.083498832,0.083498832,0.00006 +5-3-2019 6:00,8048475.65,0.186721584,0.186721584,0.00006 +5-3-2019 7:00,8049535.482,0.122592875,0.122592875,0.00006 +5-3-2019 8:00,8050595.71,0.128349102,0.128349102,0.00006 +5-3-2019 9:00,8051656.334,0.163667686,0.163667686,0.00006 +5-3-2019 10:00,8052717.354,0.189543293,0.189543293,0.00006 +5-3-2019 11:00,8053778.768,0.244575706,0.244575706,0.00006 +5-3-2019 12:00,8054840.576,0.2077146,0.2077146,0.00006 +5-3-2019 13:00,8055902.778,0.109217693,0.109217693,0.00006 +5-3-2019 14:00,8056965.373,0.045261527,0.045261527,0.00006 +5-3-2019 15:00,8058028.36,0.028232118,0.028232118,0.00006 +5-3-2019 16:00,8059091.74,0.050912883,0.050912883,0.00006 +5-3-2019 17:00,8060155.511,0.15830426,0.15830426,0.00006 +5-3-2019 18:00,8061219.673,0.289625189,0.289625189,0.00006 +5-3-2019 19:00,8062284.225,0.30187335,0.30187335,0.00006 +5-3-2019 20:00,8063349.167,0.243463122,0.243463122,0.00006 +5-3-2019 21:00,8064414.498,0.159026706,0.159026706,0.00006 +5-3-2019 22:00,8065480.219,0.0758606,0.0758606,0.00006 +5-3-2019 23:00,8066546.327,0.033849615,0.033849615,0.00006 +6-3-2019 0:00,8067612.823,0.013484429,0.013484429,0.00006 +6-3-2019 1:00,8068679.706,0.003936233,0.003936233,0.00006 +6-3-2019 2:00,8069746.975,0.00209965,0.00209965,0.00006 +6-3-2019 3:00,8070814.63,0.002784433,0.002784433,0.00006 +6-3-2019 4:00,8071882.671,0.011250018,0.011250018,0.00006 +6-3-2019 5:00,8072951.097,0.083690206,0.083690206,0.00006 +6-3-2019 6:00,8074019.907,0.179163332,0.179163332,0.00006 +6-3-2019 7:00,8075089.101,0.140563189,0.140563189,0.00006 +6-3-2019 8:00,8076158.678,0.149408021,0.149408021,0.00006 +6-3-2019 9:00,8077228.638,0.179295698,0.179295698,0.00006 +6-3-2019 10:00,8078298.98,0.208220539,0.208220539,0.00006 +6-3-2019 11:00,8079369.703,0.281401428,0.281401428,0.00006 +6-3-2019 12:00,8080440.808,0.237848049,0.237848049,0.00006 +6-3-2019 13:00,8081512.293,0.128622131,0.128622131,0.00006 +6-3-2019 14:00,8082584.157,0.060105044,0.060105044,0.00006 +6-3-2019 15:00,8083656.402,0.037537021,0.037537021,0.00006 +6-3-2019 16:00,8084729.025,0.092933208,0.092933208,0.00006 +6-3-2019 17:00,8085802.026,0.254503568,0.254503568,0.00006 +6-3-2019 18:00,8086875.405,0.292111009,0.292111009,0.00006 +6-3-2019 19:00,8087949.161,0.268183877,0.268183877,0.00006 +6-3-2019 20:00,8089023.294,0.223001968,0.223001968,0.00006 +6-3-2019 21:00,8090097.803,0.149181628,0.149181628,0.00006 +6-3-2019 22:00,8091172.687,0.071736691,0.071736691,0.00006 +6-3-2019 23:00,8092247.947,0.030334967,0.030334967,0.00006 +7-3-2019 0:00,8093323.58,0.012309352,0.012309352,0.00006 +7-3-2019 1:00,8094399.588,0.003249349,0.003249349,0.00006 +7-3-2019 2:00,8095475.969,0.001497055,0.001497055,0.00006 +7-3-2019 3:00,8096552.723,0.002496081,0.002496081,0.00006 +7-3-2019 4:00,8097629.848,0.008766408,0.008766408,0.00006 +7-3-2019 5:00,8098707.346,0.063966628,0.063966628,0.00006 +7-3-2019 6:00,8099785.214,0.140267536,0.140267536,0.00006 +7-3-2019 7:00,8100863.453,0.114241159,0.114241159,0.00006 +7-3-2019 8:00,8101942.062,0.125693817,0.125693817,0.00006 +7-3-2019 9:00,8103021.041,0.154319523,0.154319523,0.00006 +7-3-2019 10:00,8104100.388,0.175379828,0.175379828,0.00006 +7-3-2019 11:00,8105180.103,0.23667714,0.23667714,0.00006 +7-3-2019 12:00,8106260.187,0.196930845,0.196930845,0.00006 +7-3-2019 13:00,8107340.637,0.084131576,0.084131576,0.00006 +7-3-2019 14:00,8108421.454,0.037939264,0.037939264,0.00006 +7-3-2019 15:00,8109502.638,0.027300664,0.027300664,0.00006 +7-3-2019 16:00,8110584.186,0.056583203,0.056583203,0.00006 +7-3-2019 17:00,8111666.1,0.152856755,0.152856755,0.00006 +7-3-2019 18:00,8112748.378,0.253994911,0.253994911,0.00006 +7-3-2019 19:00,8113831.02,0.274436301,0.274436301,0.00006 +7-3-2019 20:00,8114914.025,0.229653246,0.229653246,0.00006 +7-3-2019 21:00,8115997.393,0.14879235,0.14879235,0.00006 +7-3-2019 22:00,8117081.124,0.071808392,0.071808392,0.00006 +7-3-2019 23:00,8118165.215,0.032567249,0.032567249,0.00006 +8-3-2019 0:00,8119249.668,0.012873639,0.012873639,0.00006 +8-3-2019 1:00,8120334.482,0.003534594,0.003534594,0.00006 +8-3-2019 2:00,8121419.655,0.001820542,0.001820542,0.00006 +8-3-2019 3:00,8122505.188,0.00258666,0.00258666,0.00006 +8-3-2019 4:00,8123591.079,0.009522372,0.009522372,0.00006 +8-3-2019 5:00,8124677.329,0.075613298,0.075613298,0.00006 +8-3-2019 6:00,8125763.937,0.162230526,0.162230526,0.00006 +8-3-2019 7:00,8126850.901,0.127679456,0.127679456,0.00006 +8-3-2019 8:00,8127938.223,0.114956994,0.114956994,0.00006 +8-3-2019 9:00,8129025.9,0.137011947,0.137011947,0.00006 +8-3-2019 10:00,8130113.933,0.155205059,0.155205059,0.00006 +8-3-2019 11:00,8131202.32,0.220770099,0.220770099,0.00006 +8-3-2019 12:00,8132291.062,0.158836254,0.158836254,0.00006 +8-3-2019 13:00,8133380.158,0.088307787,0.088307787,0.00006 +8-3-2019 14:00,8134469.607,0.041876677,0.041876677,0.00006 +8-3-2019 15:00,8135559.409,0.030294839,0.030294839,0.00006 +8-3-2019 16:00,8136649.563,0.084695393,0.084695393,0.00006 +8-3-2019 17:00,8137740.069,0.23838136,0.23838136,0.00006 +8-3-2019 18:00,8138830.925,0.303539417,0.303539417,0.00006 +8-3-2019 19:00,8139922.132,0.281026012,0.281026012,0.00006 +8-3-2019 20:00,8141013.689,0.234302357,0.234302357,0.00006 +8-3-2019 21:00,8142105.595,0.153338712,0.153338712,0.00006 +8-3-2019 22:00,8143197.85,0.074086754,0.074086754,0.00006 +8-3-2019 23:00,8144290.453,0.033206889,0.033206889,0.00006 +9-3-2019 0:00,8145383.403,0.013027115,0.013027115,0.00006 +9-3-2019 1:00,8146476.701,0.003688338,0.003688338,0.00006 +9-3-2019 2:00,8147570.345,0.001896652,0.001896652,0.00006 +9-3-2019 3:00,8148664.335,0.00261953,0.00261953,0.00006 +9-3-2019 4:00,8149758.671,0.009584653,0.009584653,0.00006 +9-3-2019 5:00,8150853.351,0.075543322,0.075543322,0.00006 +9-3-2019 6:00,8151948.376,0.160285132,0.160285132,0.00006 +9-3-2019 7:00,8153043.744,0.124841997,0.124841997,0.00006 +9-3-2019 8:00,8154139.456,0.136663226,0.136663226,0.00006 +9-3-2019 9:00,8155235.51,0.165491326,0.165491326,0.00006 +9-3-2019 10:00,8156331.905,0.190600809,0.190600809,0.00006 +9-3-2019 11:00,8157428.643,0.262075167,0.262075167,0.00006 +9-3-2019 12:00,8158525.721,0.218818978,0.218818978,0.00006 +9-3-2019 13:00,8159623.14,0.119946464,0.119946464,0.00006 +9-3-2019 14:00,8160720.898,0.056421992,0.056421992,0.00006 +9-3-2019 15:00,8161818.995,0.027960817,0.027960817,0.00006 +9-3-2019 16:00,8162917.431,0.045255195,0.045255195,0.00006 +9-3-2019 17:00,8164016.206,0.143607008,0.143607008,0.00006 +9-3-2019 18:00,8165115.317,0.276755276,0.276755276,0.00006 +9-3-2019 19:00,8166214.766,0.280075736,0.280075736,0.00006 +9-3-2019 20:00,8167314.55,0.228453356,0.228453356,0.00006 +9-3-2019 21:00,8168414.671,0.148666414,0.148666414,0.00006 +9-3-2019 22:00,8169515.127,0.072085244,0.072085244,0.00006 +9-3-2019 23:00,8170615.917,0.032240236,0.032240236,0.00006 +10-3-2019 0:00,8171717.042,0.012951641,0.012951641,0.00006 +10-3-2019 1:00,8172818.5,0.003629955,0.003629955,0.00006 +10-3-2019 2:00,8173920.291,0.001885366,0.001885366,0.00006 +10-3-2019 3:00,8175022.415,0.002689858,0.002689858,0.00006 +10-3-2019 4:00,8176124.87,0.010166781,0.010166781,0.00006 +10-3-2019 5:00,8177227.656,0.080619523,0.080619523,0.00006 +10-3-2019 6:00,8178330.773,0.176857749,0.176857749,0.00006 +10-3-2019 7:00,8179434.221,0.135692818,0.135692818,0.00006 +10-3-2019 8:00,8180537.998,0.147870109,0.147870109,0.00006 +10-3-2019 9:00,8181642.103,0.182356251,0.182356251,0.00006 +10-3-2019 10:00,8182746.538,0.216421579,0.216421579,0.00006 +10-3-2019 11:00,8183851.3,0.295412926,0.295412926,0.00006 +10-3-2019 12:00,8184956.389,0.249440637,0.249440637,0.00006 +10-3-2019 13:00,8186061.805,0.138346021,0.138346021,0.00006 +10-3-2019 14:00,8187167.547,0.067723585,0.067723585,0.00006 +10-3-2019 15:00,8188273.615,0.04286788,0.04286788,0.00006 +10-3-2019 16:00,8189380.008,0.173836434,0.173836434,0.00006 +10-3-2019 17:00,8190486.725,0.364126679,0.364126679,0.00006 +10-3-2019 18:00,8191593.766,0.353692626,0.353692626,0.00006 +10-3-2019 19:00,8192701.13,0.321338786,0.321338786,0.00006 +10-3-2019 20:00,8193808.817,0.263339302,0.263339302,0.00006 +10-3-2019 21:00,8194916.826,0.172111178,0.172111178,0.00006 +10-3-2019 22:00,8196025.157,0.083337589,0.083337589,0.00006 +10-3-2019 23:00,8197133.809,0.036762712,0.036762712,0.00006 +11-3-2019 0:00,8198242.781,0.014786389,0.014786389,0.00006 +11-3-2019 1:00,8199352.073,0.004783809,0.004783809,0.00006 +11-3-2019 2:00,8200461.684,0.00262209,0.00262209,0.00006 +11-3-2019 3:00,8201571.614,0.00370149,0.00370149,0.00006 +11-3-2019 4:00,8202681.863,0.017943838,0.017943838,0.00006 +11-3-2019 5:00,8203792.429,0.111300823,0.111300823,0.00006 +11-3-2019 6:00,8204903.311,0.235969817,0.235969817,0.00006 +11-3-2019 7:00,8206014.511,0.177038343,0.177038343,0.00006 +11-3-2019 8:00,8207126.026,0.178590769,0.178590769,0.00006 +11-3-2019 9:00,8208237.856,0.207951087,0.207951087,0.00006 +11-3-2019 10:00,8209350.001,0.239943182,0.239943182,0.00006 +11-3-2019 11:00,8210462.461,0.330468543,0.330468543,0.00006 +11-3-2019 12:00,8211575.234,0.285905893,0.285905893,0.00006 +11-3-2019 13:00,8212688.32,0.147988508,0.147988508,0.00006 +11-3-2019 14:00,8213801.718,0.071774159,0.071774159,0.00006 +11-3-2019 15:00,8214915.428,0.043936887,0.043936887,0.00006 +11-3-2019 16:00,8216029.45,0.14972285,0.14972285,0.00006 +11-3-2019 17:00,8217143.782,0.352522812,0.352522812,0.00006 +11-3-2019 18:00,8218258.425,0.35311038,0.35311038,0.00006 +11-3-2019 19:00,8219373.376,0.331541461,0.331541461,0.00006 +11-3-2019 20:00,8220488.637,0.283477285,0.283477285,0.00006 +11-3-2019 21:00,8221604.207,0.190925272,0.190925272,0.00006 +11-3-2019 22:00,8222720.084,0.092106909,0.092106909,0.00006 +11-3-2019 23:00,8223836.269,0.039648119,0.039648119,0.00006 +12-3-2019 0:00,8224952.76,0.0160015,0.0160015,0.00006 +12-3-2019 1:00,8226069.557,0.005328745,0.005328745,0.00006 +12-3-2019 2:00,8227186.66,0.003039507,0.003039507,0.00006 +12-3-2019 3:00,8228304.068,0.004500911,0.004500911,0.00006 +12-3-2019 4:00,8229421.78,0.022060884,0.022060884,0.00006 +12-3-2019 5:00,8230539.796,0.124908153,0.124908153,0.00006 +12-3-2019 6:00,8231658.116,0.258581187,0.258581187,0.00006 +12-3-2019 7:00,8232776.738,0.19393956,0.19393956,0.00006 +12-3-2019 8:00,8233895.662,0.188406677,0.188406677,0.00006 +12-3-2019 9:00,8235014.888,0.213262076,0.213262076,0.00006 +12-3-2019 10:00,8236134.414,0.241610849,0.241610849,0.00006 +12-3-2019 11:00,8237254.241,0.336979109,0.336979109,0.00006 +12-3-2019 12:00,8238374.368,0.285924749,0.285924749,0.00006 +12-3-2019 13:00,8239494.794,0.15255092,0.15255092,0.00006 +12-3-2019 14:00,8240615.519,0.072889146,0.072889146,0.00006 +12-3-2019 15:00,8241736.541,0.043661825,0.043661825,0.00006 +12-3-2019 16:00,8242857.862,0.144439729,0.144439729,0.00006 +12-3-2019 17:00,8243979.479,0.345301682,0.345301682,0.00006 +12-3-2019 18:00,8245101.392,0.349849247,0.349849247,0.00006 +12-3-2019 19:00,8246223.602,0.342238856,0.342238856,0.00006 +12-3-2019 20:00,8247346.106,0.290214033,0.290214033,0.00006 +12-3-2019 21:00,8248468.905,0.188885977,0.188885977,0.00006 +12-3-2019 22:00,8249591.998,0.088458844,0.088458844,0.00006 +12-3-2019 23:00,8250715.385,0.038311257,0.038311257,0.00006 +13-03-2019 0:00,8251839.064,0.01540176,0.01540176,0.00006 +13-03-2019 1:00,8252963.036,0.005167191,0.005167191,0.00006 +13-03-2019 2:00,8254087.299,0.002923753,0.002923753,0.00006 +13-03-2019 3:00,8255211.854,0.004219782,0.004219782,0.00006 +13-03-2019 4:00,8256336.699,0.020621098,0.020621098,0.00006 +13-03-2019 5:00,8257461.834,0.117857721,0.117857721,0.00006 +13-03-2019 6:00,8258587.259,0.246640842,0.246640842,0.00006 +13-03-2019 7:00,8259712.972,0.184733895,0.184733895,0.00006 +13-03-2019 8:00,8260838.973,0.181222742,0.181222742,0.00006 +13-03-2019 9:00,8261965.263,0.209959447,0.209959447,0.00006 +13-03-2019 10:00,8263091.839,0.243519732,0.243519732,0.00006 +13-03-2019 11:00,8264218.702,0.346961331,0.346961331,0.00006 +13-03-2019 12:00,8265345.851,0.294933836,0.294933836,0.00006 +13-03-2019 13:00,8266473.285,0.156692029,0.156692029,0.00006 +13-03-2019 14:00,8267601.004,0.07461202,0.07461202,0.00006 +13-03-2019 15:00,8268729.007,0.04421396,0.04421396,0.00006 +13-03-2019 16:00,8269857.293,0.145993972,0.145993972,0.00006 +13-03-2019 17:00,8270985.863,0.35083972,0.35083972,0.00006 +13-03-2019 18:00,8272114.715,0.349296466,0.349296466,0.00006 +13-03-2019 19:00,8273243.849,0.326837532,0.326837532,0.00006 +13-03-2019 20:00,8274373.264,0.277537939,0.277537939,0.00006 +13-03-2019 21:00,8275502.96,0.179930985,0.179930985,0.00006 +13-03-2019 22:00,8276632.936,0.084969641,0.084969641,0.00006 +13-03-2019 23:00,8277763.192,0.036724301,0.036724301,0.00006 +14-03-2019 0:00,8278893.727,0.01472875,0.01472875,0.00006 +14-03-2019 1:00,8280024.54,0.004792133,0.004792133,0.00006 +14-03-2019 2:00,8281155.631,0.002642651,0.002642651,0.00006 +14-03-2019 3:00,8282286.999,0.003819753,0.003819753,0.00006 +14-03-2019 4:00,8283418.643,0.018085962,0.018085962,0.00006 +14-03-2019 5:00,8284550.564,0.107548191,0.107548191,0.00006 +14-03-2019 6:00,8285682.76,0.231022174,0.231022174,0.00006 +14-03-2019 7:00,8286815.231,0.171752637,0.171752637,0.00006 +14-03-2019 8:00,8287947.976,0.170906965,0.170906965,0.00006 +14-03-2019 9:00,8289080.995,0.201329805,0.201329805,0.00006 +14-03-2019 10:00,8290214.288,0.231601157,0.231601157,0.00006 +14-03-2019 11:00,8291347.852,0.317950522,0.317950522,0.00006 +14-03-2019 12:00,8292481.689,0.268279637,0.268279637,0.00006 +14-03-2019 13:00,8293615.797,0.143603254,0.143603254,0.00006 +14-03-2019 14:00,8294750.176,0.067438254,0.067438254,0.00006 +14-03-2019 15:00,8295884.825,0.041036496,0.041036496,0.00006 +14-03-2019 16:00,8297019.744,0.122946193,0.122946193,0.00006 +14-03-2019 17:00,8298154.932,0.325979624,0.325979624,0.00006 +14-03-2019 18:00,8299290.388,0.341566608,0.341566608,0.00006 +14-03-2019 19:00,8300426.112,0.313535323,0.313535323,0.00006 +14-03-2019 20:00,8301562.104,0.263990075,0.263990075,0.00006 +14-03-2019 21:00,8302698.362,0.173826563,0.173826563,0.00006 +14-03-2019 22:00,8303834.886,0.082410956,0.082410956,0.00006 +14-03-2019 23:00,8304971.676,0.035987286,0.035987286,0.00006 +15-03-2019 0:00,8306108.731,0.014303567,0.014303567,0.00006 +15-03-2019 1:00,8307246.05,0.004541456,0.004541456,0.00006 +15-03-2019 2:00,8308383.633,0.002467059,0.002467059,0.00006 +15-03-2019 3:00,8309521.479,0.00354165,0.00354165,0.00006 +15-03-2019 4:00,8310659.588,0.015928682,0.015928682,0.00006 +15-03-2019 5:00,8311797.959,0.099163019,0.099163019,0.00006 +15-03-2019 6:00,8312936.591,0.214812696,0.214812696,0.00006 +15-03-2019 7:00,8314075.484,0.156873641,0.156873641,0.00006 +15-03-2019 8:00,8315214.638,0.15472238,0.15472238,0.00006 +15-03-2019 9:00,8316354.051,0.180497304,0.180497304,0.00006 +15-03-2019 10:00,8317493.723,0.205317146,0.205317146,0.00006 +15-03-2019 11:00,8318633.654,0.274088362,0.274088362,0.00006 +15-03-2019 12:00,8319773.843,0.232283877,0.232283877,0.00006 +15-03-2019 13:00,8320914.289,0.125037088,0.125037088,0.00006 +15-03-2019 14:00,8322054.991,0.057213782,0.057213782,0.00006 +15-03-2019 15:00,8323195.95,0.035552789,0.035552789,0.00006 +15-03-2019 16:00,8324337.165,0.085148679,0.085148679,0.00006 +15-03-2019 17:00,8325478.635,0.255023189,0.255023189,0.00006 +15-03-2019 18:00,8326620.359,0.319719154,0.319719154,0.00006 +15-03-2019 19:00,8327762.336,0.29768171,0.29768171,0.00006 +15-03-2019 20:00,8328904.567,0.24886347,0.24886347,0.00006 +15-03-2019 21:00,8330047.051,0.164470343,0.164470343,0.00006 +15-03-2019 22:00,8331189.787,0.078089753,0.078089753,0.00006 +15-03-2019 23:00,8332332.774,0.033607186,0.033607186,0.00006 +16-03-2019 0:00,8333476.012,0.013638841,0.013638841,0.00006 +16-03-2019 1:00,8334619.5,0.003919034,0.003919034,0.00006 +16-03-2019 2:00,8335763.239,0.002125696,0.002125696,0.00006 +16-03-2019 3:00,8336907.226,0.002830366,0.002830366,0.00006 +16-03-2019 4:00,8338051.462,0.012747541,0.012747541,0.00006 +16-03-2019 5:00,8339195.945,0.086463633,0.086463633,0.00006 +16-03-2019 6:00,8340340.676,0.182390866,0.182390866,0.00006 +16-03-2019 7:00,8341485.654,0.133668763,0.133668763,0.00006 +16-03-2019 8:00,8342630.878,0.138570707,0.138570707,0.00006 +16-03-2019 9:00,8343776.348,0.165867391,0.165867391,0.00006 +16-03-2019 10:00,8344922.062,0.190913999,0.190913999,0.00006 +16-03-2019 11:00,8346068.021,0.260556114,0.260556114,0.00006 +16-03-2019 12:00,8347214.224,0.216961467,0.216961467,0.00006 +16-03-2019 13:00,8348360.67,0.11729732,0.11729732,0.00006 +16-03-2019 14:00,8349507.359,0.053141462,0.053141462,0.00006 +16-03-2019 15:00,8350654.289,0.033406447,0.033406447,0.00006 +16-03-2019 16:00,8351801.462,0.069067373,0.069067373,0.00006 +16-03-2019 17:00,8352948.875,0.213689405,0.213689405,0.00006 +16-03-2019 18:00,8354096.528,0.295104126,0.295104126,0.00006 +16-03-2019 19:00,8355244.421,0.272220927,0.272220927,0.00006 +16-03-2019 20:00,8356392.553,0.224619601,0.224619601,0.00006 +16-03-2019 21:00,8357540.924,0.146237411,0.146237411,0.00006 +16-03-2019 22:00,8358689.532,0.072104664,0.072104664,0.00006 +16-03-2019 23:00,8359838.378,0.030457562,0.030457562,0.00006 +17-03-2019 0:00,8360987.461,0.012558077,0.012558077,0.00006 +17-03-2019 1:00,8362136.78,0.003457018,0.003457018,0.00006 +17-03-2019 2:00,8363286.334,0.001731756,0.001731756,0.00006 +17-03-2019 3:00,8364436.123,0.002500653,0.002500653,0.00006 +17-03-2019 4:00,8365586.147,0.010277346,0.010277346,0.00006 +17-03-2019 5:00,8366736.404,0.075174102,0.075174102,0.00006 +17-03-2019 6:00,8367886.895,0.158350488,0.158350488,0.00006 +17-03-2019 7:00,8369037.618,0.120758978,0.120758978,0.00006 +17-03-2019 8:00,8370188.573,0.131937152,0.131937152,0.00006 +17-03-2019 9:00,8371339.76,0.156369271,0.156369271,0.00006 +17-03-2019 10:00,8372491.177,0.178712125,0.178712125,0.00006 +17-03-2019 11:00,8373642.825,0.231744847,0.231744847,0.00006 +17-03-2019 12:00,8374794.702,0.193727177,0.193727177,0.00006 +17-03-2019 13:00,8375946.808,0.094849226,0.094849226,0.00006 +17-03-2019 14:00,8377099.143,0.036870357,0.036870357,0.00006 +17-03-2019 15:00,8378251.706,0.023260241,0.023260241,0.00006 +17-03-2019 16:00,8379404.496,0.043644202,0.043644202,0.00006 +17-03-2019 17:00,8380557.512,0.11507907,0.11507907,0.00006 +17-03-2019 18:00,8381710.755,0.228708388,0.228708388,0.00006 +17-03-2019 19:00,8382864.223,0.302870335,0.302870335,0.00006 +17-03-2019 20:00,8384017.916,0.251354654,0.251354654,0.00006 +17-03-2019 21:00,8385171.833,0.164349507,0.164349507,0.00006 +17-03-2019 22:00,8386325.974,0.078679435,0.078679435,0.00006 +17-03-2019 23:00,8387480.338,0.035908242,0.035908242,0.00006 +18-03-2019 0:00,8388634.925,0.014201929,0.014201929,0.00006 +18-03-2019 1:00,8389789.733,0.004206634,0.004206634,0.00006 +18-03-2019 2:00,8390944.763,0.002466874,0.002466874,0.00006 +18-03-2019 3:00,8392100.014,0.003316256,0.003316256,0.00006 +18-03-2019 4:00,8393255.485,0.013620148,0.013620148,0.00006 +18-03-2019 5:00,8394411.175,0.103417867,0.103417867,0.00006 +18-03-2019 6:00,8395567.084,0.205323515,0.205323515,0.00006 +18-03-2019 7:00,8396723.212,0.128283259,0.128283259,0.00006 +18-03-2019 8:00,8397879.557,0.130666573,0.130666573,0.00006 +18-03-2019 9:00,8399036.119,0.161167669,0.161167669,0.00006 +18-03-2019 10:00,8400192.898,0.183751128,0.183751128,0.00006 +18-03-2019 11:00,8401349.894,0.264959971,0.264959971,0.00006 +18-03-2019 12:00,8402507.104,0.225810814,0.225810814,0.00006 +18-03-2019 13:00,8403664.529,0.104996379,0.104996379,0.00006 +18-03-2019 14:00,8404822.169,0.046242448,0.046242448,0.00006 +18-03-2019 15:00,8405980.022,0.030442814,0.030442814,0.00006 +18-03-2019 16:00,8407138.087,0.061705673,0.061705673,0.00006 +18-03-2019 17:00,8408296.366,0.207114571,0.207114571,0.00006 +18-03-2019 18:00,8409454.856,0.340112453,0.340112453,0.00006 +18-03-2019 19:00,8410613.557,0.323224294,0.323224294,0.00006 +18-03-2019 20:00,8411772.469,0.276577025,0.276577025,0.00006 +18-03-2019 21:00,8412931.591,0.186251607,0.186251607,0.00006 +18-03-2019 22:00,8414090.923,0.091658408,0.091658408,0.00006 +18-03-2019 23:00,8415250.463,0.042439292,0.042439292,0.00006 +19-03-2019 0:00,8416410.212,0.017405789,0.017405789,0.00006 +19-03-2019 1:00,8417570.168,0.005884741,0.005884741,0.00006 +19-03-2019 2:00,8418730.331,0.003593151,0.003593151,0.00006 +19-03-2019 3:00,8419890.701,0.006274113,0.006274113,0.00006 +19-03-2019 4:00,8421051.276,0.030926953,0.030926953,0.00006 +19-03-2019 5:00,8422212.057,0.167425203,0.167425203,0.00006 +19-03-2019 6:00,8423373.042,0.326692427,0.326692427,0.00006 +19-03-2019 7:00,8424534.231,0.244355239,0.244355239,0.00006 +19-03-2019 8:00,8425695.624,0.22891922,0.22891922,0.00006 +19-03-2019 9:00,8426857.22,0.23290336,0.23290336,0.00006 +19-03-2019 10:00,8428019.018,0.243930617,0.243930617,0.00006 +19-03-2019 11:00,8429181.017,0.304208831,0.304208831,0.00006 +19-03-2019 12:00,8430343.218,0.224692046,0.224692046,0.00006 +19-03-2019 13:00,8431505.619,0.115937862,0.115937862,0.00006 +19-03-2019 14:00,8432668.22,0.055061432,0.055061432,0.00006 +19-03-2019 15:00,8433831.02,0.03399994,0.03399994,0.00006 +19-03-2019 16:00,8434994.019,0.077050968,0.077050968,0.00006 +19-03-2019 17:00,8436157.216,0.23092697,0.23092697,0.00006 +19-03-2019 18:00,8437320.611,0.342819967,0.342819967,0.00006 +19-03-2019 19:00,8438484.202,0.328634225,0.328634225,0.00006 +19-03-2019 20:00,8439647.99,0.284159097,0.284159097,0.00006 +19-03-2019 21:00,8440811.973,0.190206847,0.190206847,0.00006 +19-03-2019 22:00,8441976.151,0.094598689,0.094598689,0.00006 +19-03-2019 23:00,8443140.524,0.041109885,0.041109885,0.00006 +20-03-2019 0:00,8444305.091,0.01550744,0.01550744,0.00006 +20-03-2019 1:00,8445469.851,0.005372541,0.005372541,0.00006 +20-03-2019 2:00,8446634.804,0.003040595,0.003040595,0.00006 +20-03-2019 3:00,8447799.948,0.004145923,0.004145923,0.00006 +20-03-2019 4:00,8448965.285,0.021442557,0.021442557,0.00006 +20-03-2019 5:00,8450130.812,0.122143681,0.122143681,0.00006 +20-03-2019 6:00,8451296.529,0.246817295,0.246817295,0.00006 +20-03-2019 7:00,8452462.436,0.17895921,0.17895921,0.00006 +20-03-2019 8:00,8453628.532,0.172187107,0.172187107,0.00006 +20-03-2019 9:00,8454794.817,0.194026081,0.194026081,0.00006 +20-03-2019 10:00,8455961.29,0.221584609,0.221584609,0.00006 +20-03-2019 11:00,8457127.949,0.306271265,0.306271265,0.00006 +20-03-2019 12:00,8458294.796,0.255626285,0.255626285,0.00006 +20-03-2019 13:00,8459461.828,0.136632578,0.136632578,0.00006 +20-03-2019 14:00,8460629.047,0.062342245,0.062342245,0.00006 +20-03-2019 15:00,8461796.449,0.037180747,0.037180747,0.00006 +20-03-2019 16:00,8462964.037,0.085813477,0.085813477,0.00006 +20-03-2019 17:00,8464131.808,0.2551518,0.2551518,0.00006 +20-03-2019 18:00,8465299.762,0.324657098,0.324657098,0.00006 +20-03-2019 19:00,8466467.898,0.301183883,0.301183883,0.00006 +20-03-2019 20:00,8467636.216,0.251705746,0.251705746,0.00006 +20-03-2019 21:00,8468804.716,0.174740627,0.174740627,0.00006 +20-03-2019 22:00,8469973.396,0.086381553,0.086381553,0.00006 +20-03-2019 23:00,8471142.257,0.037453741,0.037453741,0.00006 +21-03-2019 0:00,8472311.297,0.015442088,0.015442088,0.00006 +21-03-2019 1:00,8473480.515,0.005030544,0.005030544,0.00006 +21-03-2019 2:00,8474649.912,0.002823105,0.002823105,0.00006 +21-03-2019 3:00,8475819.487,0.003789758,0.003789758,0.00006 +21-03-2019 4:00,8476989.239,0.019673717,0.019673717,0.00006 +21-03-2019 5:00,8478159.167,0.114538674,0.114538674,0.00006 +21-03-2019 6:00,8479329.271,0.230352445,0.230352445,0.00006 +21-03-2019 7:00,8480499.55,0.163515944,0.163515944,0.00006 +21-03-2019 8:00,8481670.004,0.157593695,0.157593695,0.00006 +21-03-2019 9:00,8482840.632,0.181922929,0.181922929,0.00006 +21-03-2019 10:00,8484011.434,0.208488225,0.208488225,0.00006 +21-03-2019 11:00,8485182.408,0.284776736,0.284776736,0.00006 +21-03-2019 12:00,8486353.555,0.235951419,0.235951419,0.00006 +21-03-2019 13:00,8487524.873,0.126879869,0.126879869,0.00006 +21-03-2019 14:00,8488696.362,0.056970106,0.056970106,0.00006 +21-03-2019 15:00,8489868.022,0.034565544,0.034565544,0.00006 +21-03-2019 16:00,8491039.852,0.073211298,0.073211298,0.00006 +21-03-2019 17:00,8492211.85,0.231966209,0.231966209,0.00006 +21-03-2019 18:00,8493384.018,0.321026068,0.321026068,0.00006 +21-03-2019 19:00,8494556.353,0.303860441,0.303860441,0.00006 +21-03-2019 20:00,8495728.856,0.26312366,0.26312366,0.00006 +21-03-2019 21:00,8496901.526,0.17745762,0.17745762,0.00006 +21-03-2019 22:00,8498074.362,0.088522679,0.088522679,0.00006 +21-03-2019 23:00,8499247.363,0.038598898,0.038598898,0.00006 +22-03-2019 0:00,8500420.53,0.014974436,0.014974436,0.00006 +22-03-2019 1:00,8501593.861,0.00478203,0.00478203,0.00006 +22-03-2019 2:00,8502767.356,0.002704493,0.002704493,0.00006 +22-03-2019 3:00,8503941.014,0.003557053,0.003557053,0.00006 +22-03-2019 4:00,8505114.834,0.017650238,0.017650238,0.00006 +22-03-2019 5:00,8506288.817,0.109071617,0.109071617,0.00006 +22-03-2019 6:00,8507462.961,0.224776092,0.224776092,0.00006 +22-03-2019 7:00,8508637.266,0.168332799,0.168332799,0.00006 +22-03-2019 8:00,8509811.731,0.170869785,0.170869785,0.00006 +22-03-2019 9:00,8510986.355,0.194875116,0.194875116,0.00006 +22-03-2019 10:00,8512161.139,0.208628105,0.208628105,0.00006 +22-03-2019 11:00,8513336.081,0.273365873,0.273365873,0.00006 +22-03-2019 12:00,8514511.18,0.212945145,0.212945145,0.00006 +22-03-2019 13:00,8515686.437,0.07710616,0.07710616,0.00006 +22-03-2019 14:00,8516861.85,0.020107928,0.020107928,0.00006 +22-03-2019 15:00,8518037.42,0.018783729,0.018783729,0.00006 +22-03-2019 16:00,8519213.144,0.030731036,0.030731036,0.00006 +22-03-2019 17:00,8520389.024,0.060215846,0.060215846,0.00006 +22-03-2019 18:00,8521565.057,0.077664745,0.077664745,0.00006 +22-03-2019 19:00,8522741.244,0.10772876,0.10772876,0.00006 +22-03-2019 20:00,8523917.584,0.135783568,0.135783568,0.00006 +22-03-2019 21:00,8525094.077,0.132462385,0.132462385,0.00006 +22-03-2019 22:00,8526270.721,0.073909986,0.073909986,0.00006 +22-03-2019 23:00,8527447.516,0.033348993,0.033348993,0.00006 +23-03-2019 0:00,8528624.462,0.013110363,0.013110363,0.00006 +23-03-2019 1:00,8529801.557,0.00357972,0.00357972,0.00006 +23-03-2019 2:00,8530978.802,0.001852489,0.001852489,0.00006 +23-03-2019 3:00,8532156.196,0.00295811,0.00295811,0.00006 +23-03-2019 4:00,8533333.737,0.009714374,0.009714374,0.00006 +23-03-2019 5:00,8534511.426,0.077360234,0.077360234,0.00006 +23-03-2019 6:00,8535689.262,0.162338841,0.162338841,0.00006 +23-03-2019 7:00,8536867.245,0.117227737,0.117227737,0.00006 +23-03-2019 8:00,8538045.373,0.12679541,0.12679541,0.00006 +23-03-2019 9:00,8539223.645,0.15141052,0.15141052,0.00006 +23-03-2019 10:00,8540402.063,0.173271582,0.173271582,0.00006 +23-03-2019 11:00,8541580.624,0.235950177,0.235950177,0.00006 +23-03-2019 12:00,8542759.329,0.194427727,0.194427727,0.00006 +23-03-2019 13:00,8543938.176,0.106804075,0.106804075,0.00006 +23-03-2019 14:00,8545117.165,0.047254627,0.047254627,0.00006 +23-03-2019 15:00,8546296.295,0.029996496,0.029996496,0.00006 +23-03-2019 16:00,8547475.567,0.055809133,0.055809133,0.00006 +23-03-2019 17:00,8548654.978,0.189111006,0.189111006,0.00006 +23-03-2019 18:00,8549834.53,0.307711537,0.307711537,0.00006 +23-03-2019 19:00,8551014.22,0.301558809,0.301558809,0.00006 +23-03-2019 20:00,8552194.048,0.250517329,0.250517329,0.00006 +23-03-2019 21:00,8553374.015,0.164698468,0.164698468,0.00006 +23-03-2019 22:00,8554554.118,0.080271486,0.080271486,0.00006 +23-03-2019 23:00,8555734.358,0.038676259,0.038676259,0.00006 +24-03-2019 0:00,8556914.734,0.015519708,0.015519708,0.00006 +24-03-2019 1:00,8558095.246,0.005302702,0.005302702,0.00006 +24-03-2019 2:00,8559275.892,0.003041837,0.003041837,0.00006 +24-03-2019 3:00,8560456.672,0.004381874,0.004381874,0.00006 +24-03-2019 4:00,8561637.586,0.020952025,0.020952025,0.00006 +24-03-2019 5:00,8562818.632,0.137165802,0.137165802,0.00006 +24-03-2019 6:00,8563999.811,0.255278593,0.255278593,0.00006 +24-03-2019 7:00,8565181.122,0.173315953,0.173315953,0.00006 +24-03-2019 8:00,8566362.564,0.165349079,0.165349079,0.00006 +24-03-2019 9:00,8567544.136,0.187889241,0.187889241,0.00006 +24-03-2019 10:00,8568725.838,0.202766781,0.202766781,0.00006 +24-03-2019 11:00,8569907.669,0.275395326,0.275395326,0.00006 +24-03-2019 12:00,8571089.629,0.21505736,0.21505736,0.00006 +24-03-2019 13:00,8572271.718,0.088216036,0.088216036,0.00006 +24-03-2019 14:00,8573453.933,0.024562607,0.024562607,0.00006 +24-03-2019 15:00,8574636.276,0.018783729,0.018783729,0.00006 +24-03-2019 16:00,8575818.744,0.033298772,0.033298772,0.00006 +24-03-2019 17:00,8577001.338,0.072339739,0.072339739,0.00006 +24-03-2019 18:00,8578184.058,0.106624646,0.106624646,0.00006 +24-03-2019 19:00,8579366.901,0.168298827,0.168298827,0.00006 +24-03-2019 20:00,8580549.869,0.223258954,0.223258954,0.00006 +24-03-2019 21:00,8581732.96,0.169191512,0.169191512,0.00006 +24-03-2019 22:00,8582916.173,0.081129402,0.081129402,0.00006 +24-03-2019 23:00,8584099.508,0.036448853,0.036448853,0.00006 +25-03-2019 0:00,8585282.965,0.013909407,0.013909407,0.00006 +25-03-2019 1:00,8586466.542,0.004455737,0.004455737,0.00006 +25-03-2019 2:00,8587650.239,0.002301666,0.002301666,0.00006 +25-03-2019 3:00,8588834.056,0.00341373,0.00341373,0.00006 +25-03-2019 4:00,8590017.992,0.013488188,0.013488188,0.00006 +25-03-2019 5:00,8591202.046,0.099365245,0.099365245,0.00006 +25-03-2019 6:00,8592386.218,0.204621233,0.204621233,0.00006 +25-03-2019 7:00,8593570.507,0.127076361,0.127076361,0.00006 +25-03-2019 8:00,8594754.913,0.117682596,0.117682596,0.00006 +25-03-2019 9:00,8595939.434,0.137116954,0.137116954,0.00006 +25-03-2019 10:00,8597124.071,0.162281923,0.162281923,0.00006 +25-03-2019 11:00,8598308.822,0.2377329,0.2377329,0.00006 +25-03-2019 12:00,8599493.688,0.191229513,0.191229513,0.00006 +25-03-2019 13:00,8600678.667,0.107873366,0.107873366,0.00006 +25-03-2019 14:00,8601863.758,0.048729514,0.048729514,0.00006 +25-03-2019 15:00,8603048.962,0.031591814,0.031591814,0.00006 +25-03-2019 16:00,8604234.278,0.073486634,0.073486634,0.00006 +25-03-2019 17:00,8605419.704,0.244867718,0.244867718,0.00006 +25-03-2019 18:00,8606605.241,0.332601556,0.332601556,0.00006 +25-03-2019 19:00,8607790.888,0.308483576,0.308483576,0.00006 +25-03-2019 20:00,8608976.644,0.253043052,0.253043052,0.00006 +25-03-2019 21:00,8610162.508,0.163954027,0.163954027,0.00006 +25-03-2019 22:00,8611348.48,0.078552232,0.078552232,0.00006 +25-03-2019 23:00,8612534.56,0.035793265,0.035793265,0.00006 +26-03-2019 0:00,8613720.747,0.014125667,0.014125667,0.00006 +26-03-2019 1:00,8614907.039,0.004338265,0.004338265,0.00006 +26-03-2019 2:00,8616093.437,0.002601805,0.002601805,0.00006 +26-03-2019 3:00,8617279.94,0.003592047,0.003592047,0.00006 +26-03-2019 4:00,8618466.548,0.014783016,0.014783016,0.00006 +26-03-2019 5:00,8619653.259,0.109520553,0.109520553,0.00006 +26-03-2019 6:00,8620840.073,0.21942945,0.21942945,0.00006 +26-03-2019 7:00,8622026.989,0.153463837,0.153463837,0.00006 +26-03-2019 8:00,8623214.007,0.152125817,0.152125817,0.00006 +26-03-2019 9:00,8624401.127,0.177070613,0.177070613,0.00006 +26-03-2019 10:00,8625588.347,0.204187961,0.204187961,0.00006 +26-03-2019 11:00,8626775.667,0.282705006,0.282705006,0.00006 +26-03-2019 12:00,8627963.087,0.232960913,0.232960913,0.00006 +26-03-2019 13:00,8629150.605,0.126870198,0.126870198,0.00006 +26-03-2019 14:00,8630338.222,0.05699342,0.05699342,0.00006 +26-03-2019 15:00,8631525.936,0.034377121,0.034377121,0.00006 +26-03-2019 16:00,8632713.747,0.071241902,0.071241902,0.00006 +26-03-2019 17:00,8633901.655,0.235811974,0.235811974,0.00006 +26-03-2019 18:00,8635089.658,0.334634505,0.334634505,0.00006 +26-03-2019 19:00,8636277.756,0.309584008,0.309584008,0.00006 +26-03-2019 20:00,8637465.949,0.253882135,0.253882135,0.00006 +26-03-2019 21:00,8638654.236,0.166147956,0.166147956,0.00006 +26-03-2019 22:00,8639842.616,0.080223641,0.080223641,0.00006 +26-03-2019 23:00,8641031.089,0.036022022,0.036022022,0.00006 +27-03-2019 0:00,8642219.654,0.014380399,0.014380399,0.00006 +27-03-2019 1:00,8643408.31,0.004719891,0.004719891,0.00006 +27-03-2019 2:00,8644597.057,0.002575447,0.002575447,0.00006 +27-03-2019 3:00,8645785.895,0.003364102,0.003364102,0.00006 +27-03-2019 4:00,8646974.822,0.014908643,0.014908643,0.00006 +27-03-2019 5:00,8648163.838,0.102423319,0.102423319,0.00006 +27-03-2019 6:00,8649352.942,0.108815927,0.108815927,0.00006 +27-03-2019 7:00,8650542.134,0.081678009,0.081678009,0.00006 +27-03-2019 8:00,8651731.414,0.09806351,0.09806351,0.00006 +27-03-2019 9:00,8652920.78,0.097694767,0.097694767,0.00006 +27-03-2019 10:00,8654110.232,0.107054819,0.107054819,0.00006 +27-03-2019 11:00,8655299.769,0.153490337,0.153490337,0.00006 +27-03-2019 12:00,8656489.391,0.121808513,0.121808513,0.00006 +27-03-2019 13:00,8657679.097,0.065822253,0.065822253,0.00006 +27-03-2019 14:00,8658868.887,0.030515104,0.030515104,0.00006 +27-03-2019 15:00,8660058.759,0.023538171,0.023538171,0.00006 +27-03-2019 16:00,8661248.714,0.033022666,0.033022666,0.00006 +27-03-2019 17:00,8662438.75,0.087323809,0.087323809,0.00006 +27-03-2019 18:00,8663628.868,0.179858535,0.179858535,0.00006 +27-03-2019 19:00,8664819.066,0.26270375,0.26270375,0.00006 +27-03-2019 20:00,8666009.344,0.235582802,0.235582802,0.00006 +27-03-2019 21:00,8667199.701,0.155059901,0.155059901,0.00006 +27-03-2019 22:00,8668390.136,0.074476446,0.074476446,0.00006 +27-03-2019 23:00,8669580.65,0.03355591,0.03355591,0.00006 +28-03-2019 0:00,8670771.241,0.013192388,0.013192388,0.00006 +28-03-2019 1:00,8671961.909,0.00360852,0.00360852,0.00006 +28-03-2019 2:00,8673152.653,0.00182501,0.00182501,0.00006 +28-03-2019 3:00,8674343.472,0.002874869,0.002874869,0.00006 +28-03-2019 4:00,8675534.367,0.010443192,0.010443192,0.00006 +28-03-2019 5:00,8676725.335,0.081839613,0.081839613,0.00006 +28-03-2019 6:00,8677916.378,0.113019343,0.113019343,0.00006 +28-03-2019 7:00,8679107.493,0.098477577,0.098477577,0.00006 +28-03-2019 8:00,8680298.682,0.11221326,0.11221326,0.00006 +28-03-2019 9:00,8681489.941,0.128287985,0.128287985,0.00006 +28-03-2019 10:00,8682681.273,0.147754167,0.147754167,0.00006 +28-03-2019 11:00,8683872.674,0.210562991,0.210562991,0.00006 +28-03-2019 12:00,8685064.146,0.169334296,0.169334296,0.00006 +28-03-2019 13:00,8686255.688,0.090664806,0.090664806,0.00006 +28-03-2019 14:00,8687447.298,0.039578789,0.039578789,0.00006 +28-03-2019 15:00,8688638.976,0.026135177,0.026135177,0.00006 +28-03-2019 16:00,8689830.722,0.033395493,0.033395493,0.00006 +28-03-2019 17:00,8691022.535,0.081298574,0.081298574,0.00006 +28-03-2019 18:00,8692214.414,0.171976176,0.171976176,0.00006 +28-03-2019 19:00,8693406.359,0.262477858,0.262477858,0.00006 +28-03-2019 20:00,8694598.369,0.236840772,0.236840772,0.00006 +28-03-2019 21:00,8695790.443,0.161980453,0.161980453,0.00006 +28-03-2019 22:00,8696982.582,0.079860983,0.079860983,0.00006 +28-03-2019 23:00,8698174.784,0.037200353,0.037200353,0.00006 +29-03-2019 0:00,8699367.048,0.014735244,0.014735244,0.00006 +29-03-2019 1:00,8700559.374,0.004604816,0.004604816,0.00006 +29-03-2019 2:00,8701751.762,0.002499711,0.002499711,0.00006 +29-03-2019 3:00,8702944.211,0.003860542,0.003860542,0.00006 +29-03-2019 4:00,8704136.72,0.016846679,0.016846679,0.00006 +29-03-2019 5:00,8705329.289,0.116966576,0.116966576,0.00006 +29-03-2019 6:00,8706521.916,0.11513045,0.11513045,0.00006 +29-03-2019 7:00,8707714.602,0.075541139,0.075541139,0.00006 +29-03-2019 8:00,8708907.346,0.0722342,0.0722342,0.00006 +29-03-2019 9:00,8710100.147,0.048459118,0.048459118,0.00006 +29-03-2019 10:00,8711293.004,0.039606989,0.039606989,0.00006 +29-03-2019 11:00,8712485.918,0.037537403,0.037537403,0.00006 +29-03-2019 12:00,8713678.886,0.026565329,0.026565329,0.00006 +29-03-2019 13:00,8714871.91,0.023193057,0.023193057,0.00006 +29-03-2019 14:00,8716064.987,0.016696648,0.016696648,0.00006 +29-03-2019 15:00,8717258.118,0.018783729,0.018783729,0.00006 +29-03-2019 16:00,8718451.302,0.030610522,0.030610522,0.00006 +29-03-2019 17:00,8719644.538,0.054397703,0.054397703,0.00006 +29-03-2019 18:00,8720837.825,0.056615981,0.056615981,0.00006 +29-03-2019 19:00,8722031.164,0.051798454,0.051798454,0.00006 +29-03-2019 20:00,8723224.553,0.04271486,0.04271486,0.00006 +29-03-2019 21:00,8724417.992,0.032410483,0.032410483,0.00006 +29-03-2019 22:00,8725611.48,0.018822079,0.018822079,0.00006 +29-03-2019 23:00,8726805.016,0.009766712,0.009766712,0.00006 +30-03-2019 0:00,8727998.601,0.005231921,0.005231921,0.00006 +30-03-2019 1:00,8729192.233,0.001918394,0.001918394,0.00006 +30-03-2019 2:00,8730385.911,0.001883963,0.001883963,0.00006 +30-03-2019 3:00,8731579.636,0.002253515,0.002253515,0.00006 +30-03-2019 4:00,8732773.406,0.007581048,0.007581048,0.00006 +30-03-2019 5:00,8733967.221,0.054335067,0.054335067,0.00006 +30-03-2019 6:00,8735161.081,0.074436878,0.074436878,0.00006 +30-03-2019 7:00,8736354.984,0.057819107,0.057819107,0.00006 +30-03-2019 8:00,8737548.929,0.062404305,0.062404305,0.00006 +30-03-2019 9:00,8738742.918,0.045198749,0.045198749,0.00006 +30-03-2019 10:00,8739936.948,0.04081804,0.04081804,0.00006 +30-03-2019 11:00,8741131.019,0.039821197,0.039821197,0.00006 +30-03-2019 12:00,8742325.131,0.026927869,0.026927869,0.00006 +30-03-2019 13:00,8743519.283,0.023954161,0.023954161,0.00006 +30-03-2019 14:00,8744713.475,0.016731818,0.016731818,0.00006 +30-03-2019 15:00,8745907.705,0.018793231,0.018793231,0.00006 +30-03-2019 16:00,8747101.973,0.030610522,0.030610522,0.00006 +30-03-2019 17:00,8748296.278,0.055801544,0.055801544,0.00006 +30-03-2019 18:00,8749490.621,0.058201513,0.058201513,0.00006 +30-03-2019 19:00,8750685,0.054175664,0.054175664,0.00006 +30-03-2019 20:00,8751879.414,0.053907683,0.053907683,0.00006 +30-03-2019 21:00,8753073.864,0.048169571,0.048169571,0.00006 +30-03-2019 22:00,8754268.347,0.025518402,0.025518402,0.00006 +30-03-2019 23:00,8755462.865,0.010980848,0.010980848,0.00006 +31-03-2019 0:00,8756657.416,0.005389565,0.005389565,0.00006 +31-03-2019 1:00,8757852,0.000926475,0.000926475,0.00006 +31-03-2019 2:00,8759046.615,0.000987927,0.000987927,0.00006 +31-03-2019 3:00,8760241.262,0.002331039,0.002331039,0.00006 +31-03-2019 4:00,8761435.94,0.011714547,0.011714547,0.00006 +31-03-2019 5:00,8762630.647,0.071853474,0.071853474,0.00006 +31-03-2019 6:00,8763825.385,0.098316162,0.098316162,0.00006 +31-03-2019 7:00,8765020.151,0.08469725,0.08469725,0.00006 +31-03-2019 8:00,8766214.945,0.100146753,0.100146753,0.00006 +31-03-2019 9:00,8767409.767,0.083917743,0.083917743,0.00006 +31-03-2019 10:00,8768604.616,0.073958115,0.073958115,0.00006 +31-03-2019 11:00,8769799.492,0.060979869,0.060979869,0.00006 +31-03-2019 12:00,8770994.393,0.038879297,0.038879297,0.00006 +31-03-2019 13:00,8772189.32,0.022413538,0.022413538,0.00006 +31-03-2019 14:00,8773384.271,0.016696648,0.016696648,0.00006 +31-03-2019 15:00,8774579.246,0.018783729,0.018783729,0.00006 +31-03-2019 16:00,8775774.245,0.030610522,0.030610522,0.00006 +31-03-2019 17:00,8776969.266,0.054336422,0.054336422,0.00006 +31-03-2019 18:00,8778164.31,0.056696358,0.056696358,0.00006 +31-03-2019 19:00,8779359.375,0.050313832,0.050313832,0.00006 +31-03-2019 20:00,8780554.461,0.042290846,0.042290846,0.00006 +31-03-2019 21:00,8781749.567,0.030785414,0.030785414,0.00006 +31-03-2019 22:00,8782944.693,0.018062292,0.018062292,0.00006 +31-03-2019 23:00,8784139.838,0.007115509,0.007115509,0.00006 +1-4-2019 0:00,8785335.001,0.003861838,0.003861838,0.00006 +1-4-2019 1:00,8786530.182,0.00181,0.00181,0.00006 +1-4-2019 2:00,8787725.381,0.001563754,0.001563754,0.00006 +1-4-2019 3:00,8788920.596,0.004119869,0.004119869,0.00006 +1-4-2019 4:00,8790115.827,0.021171027,0.021171027,0.00006 +1-4-2019 5:00,8791311.073,0.089946396,0.089946396,0.00006 +1-4-2019 6:00,8792506.334,0.095254861,0.095254861,0.00006 +1-4-2019 7:00,8793701.61,0.058983141,0.058983141,0.00006 +1-4-2019 8:00,8794896.898,0.062889486,0.062889486,0.00006 +1-4-2019 9:00,8796092.2,0.043976802,0.043976802,0.00006 +1-4-2019 10:00,8797287.514,0.037627085,0.037627085,0.00006 +1-4-2019 11:00,8798482.84,0.032347729,0.032347729,0.00006 +1-4-2019 12:00,8799678.177,0.026875072,0.026875072,0.00006 +1-4-2019 13:00,8800873.524,0.021566504,0.021566504,0.00006 +1-4-2019 14:00,8802068.881,0.016696648,0.016696648,0.00006 +1-4-2019 15:00,8803264.247,0.018783729,0.018783729,0.00006 +1-4-2019 16:00,8804459.622,0.030610522,0.030610522,0.00006 +1-4-2019 17:00,8805655.005,0.05429011,0.05429011,0.00006 +1-4-2019 18:00,8806850.395,0.056512829,0.056512829,0.00006 +1-4-2019 19:00,8808045.793,0.050210406,0.050210406,0.00006 +1-4-2019 20:00,8809241.196,0.041741948,0.041741948,0.00006 +1-4-2019 21:00,8810436.605,0.029012108,0.029012108,0.00006 +1-4-2019 22:00,8811632.018,0.01401183,0.01401183,0.00006 +1-4-2019 23:00,8812827.436,0.00549035,0.00549035,0.00006 +2-4-2019 0:00,8814022.858,0.003970728,0.003970728,0.00006 +2-4-2019 1:00,8815218.283,0.001711879,0.001711879,0.00006 +2-4-2019 2:00,8816413.71,0.001464307,0.001464307,0.00006 +2-4-2019 3:00,8817609.139,0.002070798,0.002070798,0.00006 +2-4-2019 4:00,8818804.569,0.009832588,0.009832588,0.00006 +2-4-2019 5:00,8820000,0.062920674,0.062920674,0.00006 +2-4-2019 6:00,8821195.431,0.08082308,0.08082308,0.00006 +2-4-2019 7:00,8822390.861,0.064409968,0.064409968,0.00006 +2-4-2019 8:00,8823586.29,0.075740735,0.075740735,0.00006 +2-4-2019 9:00,8824781.717,0.067541419,0.067541419,0.00006 +2-4-2019 10:00,8825977.142,0.06010177,0.06010177,0.00006 +2-4-2019 11:00,8827172.564,0.060254538,0.060254538,0.00006 +2-4-2019 12:00,8828367.982,0.039711682,0.039711682,0.00006 +2-4-2019 13:00,8829563.395,0.025865117,0.025865117,0.00006 +2-4-2019 14:00,8830758.804,0.017136727,0.017136727,0.00006 +2-4-2019 15:00,8831954.207,0.018836164,0.018836164,0.00006 +2-4-2019 16:00,8833149.605,0.031537845,0.031537845,0.00006 +2-4-2019 17:00,8834344.995,0.058118937,0.058118937,0.00006 +2-4-2019 18:00,8835540.378,0.06481414,0.06481414,0.00006 +2-4-2019 19:00,8836735.753,0.085268026,0.085268026,0.00006 +2-4-2019 20:00,8837931.119,0.072063947,0.072063947,0.00006 +2-4-2019 21:00,8839126.476,0.044540575,0.044540575,0.00006 +2-4-2019 22:00,8840321.823,0.023411331,0.023411331,0.00006 +2-4-2019 23:00,8841517.16,0.01213695,0.01213695,0.00006 +3-4-2019 0:00,8842712.486,0.004935128,0.004935128,0.00006 +3-4-2019 1:00,8843907.8,0.00154212,0.00154212,0.00006 +3-4-2019 2:00,8845103.102,0.001827258,0.001827258,0.00006 +3-4-2019 3:00,8846298.39,0.004360514,0.004360514,0.00006 +3-4-2019 4:00,8847493.666,0.024605657,0.024605657,0.00006 +3-4-2019 5:00,8848688.927,0.094119033,0.094119033,0.00006 +3-4-2019 6:00,8849884.173,0.117274912,0.117274912,0.00006 +3-4-2019 7:00,8851079.404,0.102862094,0.102862094,0.00006 +3-4-2019 8:00,8852274.619,0.130191532,0.130191532,0.00006 +3-4-2019 9:00,8853469.818,0.119309822,0.119309822,0.00006 +3-4-2019 10:00,8854664.999,0.117480372,0.117480372,0.00006 +3-4-2019 11:00,8855860.162,0.13902754,0.13902754,0.00006 +3-4-2019 12:00,8857055.307,0.079229965,0.079229965,0.00006 +3-4-2019 13:00,8858250.433,0.038959836,0.038959836,0.00006 +3-4-2019 14:00,8859445.539,0.020941712,0.020941712,0.00006 +3-4-2019 15:00,8860640.625,0.019594751,0.019594751,0.00006 +3-4-2019 16:00,8861835.69,0.03227031,0.03227031,0.00006 +3-4-2019 17:00,8863030.734,0.06619245,0.06619245,0.00006 +3-4-2019 18:00,8864225.755,0.120947101,0.120947101,0.00006 +3-4-2019 19:00,8865420.754,0.165305225,0.165305225,0.00006 +3-4-2019 20:00,8866615.729,0.14842168,0.14842168,0.00006 +3-4-2019 21:00,8867810.68,0.085450136,0.085450136,0.00006 +3-4-2019 22:00,8869005.607,0.043574306,0.043574306,0.00006 +3-4-2019 23:00,8870200.508,0.01599333,0.01599333,0.00006 +4-4-2019 0:00,8871395.384,0.006497599,0.006497599,0.00006 +4-4-2019 1:00,8872590.233,0.002447435,0.002447435,0.00006 +4-4-2019 2:00,8873785.055,0.002742265,0.002742265,0.00006 +4-4-2019 3:00,8874979.849,0.008058849,0.008058849,0.00006 +4-4-2019 4:00,8876174.615,0.055769687,0.055769687,0.00006 +4-4-2019 5:00,8877369.353,0.171297966,0.171297966,0.00006 +4-4-2019 6:00,8878564.06,0.163006087,0.163006087,0.00006 +4-4-2019 7:00,8879758.738,0.137690831,0.137690831,0.00006 +4-4-2019 8:00,8880953.385,0.182030182,0.182030182,0.00006 +4-4-2019 9:00,8882148,0.179091015,0.179091015,0.00006 +4-4-2019 10:00,8883342.584,0.187824637,0.187824637,0.00006 +4-4-2019 11:00,8884537.135,0.224450921,0.224450921,0.00006 +4-4-2019 12:00,8885731.653,0.117896422,0.117896422,0.00006 +4-4-2019 13:00,8886926.136,0.055690672,0.055690672,0.00006 +4-4-2019 14:00,8888120.586,0.02730606,0.02730606,0.00006 +4-4-2019 15:00,8889315,0.020930226,0.020930226,0.00006 +4-4-2019 16:00,8890509.379,0.032724108,0.032724108,0.00006 +4-4-2019 17:00,8891703.722,0.075916272,0.075916272,0.00006 +4-4-2019 18:00,8892898.027,0.137700001,0.137700001,0.00006 +4-4-2019 19:00,8894092.295,0.196974377,0.196974377,0.00006 +4-4-2019 20:00,8895286.525,0.165879,0.165879,0.00006 +4-4-2019 21:00,8896480.717,0.092461915,0.092461915,0.00006 +4-4-2019 22:00,8897674.869,0.044713749,0.044713749,0.00006 +4-4-2019 23:00,8898868.981,0.016510974,0.016510974,0.00006 +5-4-2019 0:00,8900063.052,0.006722569,0.006722569,0.00006 +5-4-2019 1:00,8901257.082,0.002628263,0.002628263,0.00006 +5-4-2019 2:00,8902451.071,0.003066257,0.003066257,0.00006 +5-4-2019 3:00,8903645.016,0.010535706,0.010535706,0.00006 +5-4-2019 4:00,8904838.919,0.071974011,0.071974011,0.00006 +5-4-2019 5:00,8906032.779,0.200472793,0.200472793,0.00006 +5-4-2019 6:00,8907226.594,0.175537937,0.175537937,0.00006 +5-4-2019 7:00,8908420.364,0.144081627,0.144081627,0.00006 +5-4-2019 8:00,8909614.089,0.183555775,0.183555775,0.00006 +5-4-2019 9:00,8910807.767,0.169999424,0.169999424,0.00006 +5-4-2019 10:00,8912001.399,0.135061216,0.135061216,0.00006 +5-4-2019 11:00,8913194.984,0.160611944,0.160611944,0.00006 +5-4-2019 12:00,8914388.52,0.089420299,0.089420299,0.00006 +5-4-2019 13:00,8915582.008,0.04079035,0.04079035,0.00006 +5-4-2019 14:00,8916775.447,0.021669691,0.021669691,0.00006 +5-4-2019 15:00,8917968.836,0.019363754,0.019363754,0.00006 +5-4-2019 16:00,8919162.175,0.032124382,0.032124382,0.00006 +5-4-2019 17:00,8920355.462,0.062672538,0.062672538,0.00006 +5-4-2019 18:00,8921548.698,0.114691874,0.114691874,0.00006 +5-4-2019 19:00,8922741.882,0.141922816,0.141922816,0.00006 +5-4-2019 20:00,8923935.013,0.13929392,0.13929392,0.00006 +5-4-2019 21:00,8925128.09,0.084036879,0.084036879,0.00006 +5-4-2019 22:00,8926321.114,0.041769155,0.041769155,0.00006 +5-4-2019 23:00,8927514.082,0.015085599,0.015085599,0.00006 +6-4-2019 0:00,8928706.996,0.005918962,0.005918962,0.00006 +6-4-2019 1:00,8929899.853,0.001977945,0.001977945,0.00006 +6-4-2019 2:00,8931092.654,0.002282023,0.002282023,0.00006 +6-4-2019 3:00,8932285.398,0.00578698,0.00578698,0.00006 +6-4-2019 4:00,8933478.084,0.039100832,0.039100832,0.00006 +6-4-2019 5:00,8934670.711,0.133931555,0.133931555,0.00006 +6-4-2019 6:00,8935863.28,0.135577421,0.135577421,0.00006 +6-4-2019 7:00,8937055.789,0.118966548,0.118966548,0.00006 +6-4-2019 8:00,8938248.238,0.157055736,0.157055736,0.00006 +6-4-2019 9:00,8939440.626,0.150758453,0.150758453,0.00006 +6-4-2019 10:00,8940632.952,0.1554261,0.1554261,0.00006 +6-4-2019 11:00,8941825.216,0.176083869,0.176083869,0.00006 +6-4-2019 12:00,8943017.418,0.088313695,0.088313695,0.00006 +6-4-2019 13:00,8944209.557,0.041886319,0.041886319,0.00006 +6-4-2019 14:00,8945401.631,0.021922032,0.021922032,0.00006 +6-4-2019 15:00,8946593.641,0.01900687,0.01900687,0.00006 +6-4-2019 16:00,8947785.586,0.031530033,0.031530033,0.00006 +6-4-2019 17:00,8948977.465,0.058327435,0.058327435,0.00006 +6-4-2019 18:00,8950169.278,0.07661104,0.07661104,0.00006 +6-4-2019 19:00,8951361.024,0.104726142,0.104726142,0.00006 +6-4-2019 20:00,8952552.702,0.102530837,0.102530837,0.00006 +6-4-2019 21:00,8953744.312,0.074213179,0.074213179,0.00006 +6-4-2019 22:00,8954935.854,0.038189214,0.038189214,0.00006 +6-4-2019 23:00,8956127.326,0.013783587,0.013783587,0.00006 +7-4-2019 0:00,8957318.727,0.004888114,0.004888114,0.00006 +7-4-2019 1:00,8958510.059,0.001365481,0.001365481,0.00006 +7-4-2019 2:00,8959701.318,0.001636124,0.001636124,0.00006 +7-4-2019 3:00,8960892.507,0.003893384,0.003893384,0.00006 +7-4-2019 4:00,8962083.622,0.023079688,0.023079688,0.00006 +7-4-2019 5:00,8963274.665,0.091063758,0.091063758,0.00006 +7-4-2019 6:00,8964465.633,0.109643347,0.109643347,0.00006 +7-4-2019 7:00,8965656.528,0.092552488,0.092552488,0.00006 +7-4-2019 8:00,8966847.347,0.112482079,0.112482079,0.00006 +7-4-2019 9:00,8968038.091,0.092211971,0.092211971,0.00006 +7-4-2019 10:00,8969228.759,0.049549333,0.049549333,0.00006 +7-4-2019 11:00,8970419.35,0.03911469,0.03911469,0.00006 +7-4-2019 12:00,8971609.864,0.029437006,0.029437006,0.00006 +7-4-2019 13:00,8972800.299,0.022248851,0.022248851,0.00006 +7-4-2019 14:00,8973990.656,0.016696648,0.016696648,0.00006 +7-4-2019 15:00,8975180.934,0.018783729,0.018783729,0.00006 +7-4-2019 16:00,8976371.132,0.030610522,0.030610522,0.00006 +7-4-2019 17:00,8977561.25,0.055138478,0.055138478,0.00006 +7-4-2019 18:00,8978751.286,0.057266402,0.057266402,0.00006 +7-4-2019 19:00,8979941.241,0.050780958,0.050780958,0.00006 +7-4-2019 20:00,8981131.113,0.043590078,0.043590078,0.00006 +7-4-2019 21:00,8982320.903,0.032073439,0.032073439,0.00006 +7-4-2019 22:00,8983510.609,0.017100148,0.017100148,0.00006 +7-4-2019 23:00,8984700.231,0.006662714,0.006662714,0.00006 +8-4-2019 0:00,8985889.768,0.003381948,0.003381948,0.00006 +8-4-2019 1:00,8987079.22,0.000894235,0.000894235,0.00006 +8-4-2019 2:00,8988268.586,0.000695694,0.000695694,0.00006 +8-4-2019 3:00,8989457.866,0.001588496,0.001588496,0.00006 +8-4-2019 4:00,8990647.058,0.006679002,0.006679002,0.00006 +8-4-2019 5:00,8991836.162,0.050485529,0.050485529,0.00006 +8-4-2019 6:00,8993025.178,0.070497221,0.070497221,0.00006 +8-4-2019 7:00,8994214.105,0.051395054,0.051395054,0.00006 +8-4-2019 8:00,8995402.943,0.059592598,0.059592598,0.00006 +8-4-2019 9:00,8996591.69,0.043295996,0.043295996,0.00006 +8-4-2019 10:00,8997780.346,0.037356711,0.037356711,0.00006 +8-4-2019 11:00,8998968.911,0.031308123,0.031308123,0.00006 +8-4-2019 12:00,9000157.384,0.025044973,0.025044973,0.00006 +8-4-2019 13:00,9001345.764,0.021566504,0.021566504,0.00006 +8-4-2019 14:00,9002534.051,0.016696648,0.016696648,0.00006 +8-4-2019 15:00,9003722.244,0.018783729,0.018783729,0.00006 +8-4-2019 16:00,9004910.342,0.030610522,0.030610522,0.00006 +8-4-2019 17:00,9006098.345,0.054264107,0.054264107,0.00006 +8-4-2019 18:00,9007286.253,0.055170722,0.055170722,0.00006 +8-4-2019 19:00,9008474.064,0.049398852,0.049398852,0.00006 +8-4-2019 20:00,9009661.778,0.0412991,0.0412991,0.00006 +8-4-2019 21:00,9010849.395,0.028806518,0.028806518,0.00006 +8-4-2019 22:00,9012036.913,0.013913874,0.013913874,0.00006 +8-4-2019 23:00,9013224.333,0.004869856,0.004869856,0.00006 +9-4-2019 0:00,9014411.653,0.002782775,0.002782775,0.00006 +9-4-2019 1:00,9015598.873,0.000695694,0.000695694,0.00006 +9-4-2019 2:00,9016785.993,0.000695694,0.000695694,0.00006 +9-4-2019 3:00,9017973.011,0.001391387,0.001391387,0.00006 +9-4-2019 4:00,9019159.927,0.005146048,0.005146048,0.00006 +9-4-2019 5:00,9020346.741,0.040829046,0.040829046,0.00006 +9-4-2019 6:00,9021533.452,0.068734372,0.068734372,0.00006 +9-4-2019 7:00,9022720.06,0.050754155,0.050754155,0.00006 +9-4-2019 8:00,9023906.563,0.060830064,0.060830064,0.00006 +9-4-2019 9:00,9025092.961,0.044186405,0.044186405,0.00006 +9-4-2019 10:00,9026279.253,0.038406059,0.038406059,0.00006 +9-4-2019 11:00,9027465.44,0.032688958,0.032688958,0.00006 +9-4-2019 12:00,9028651.52,0.027930231,0.027930231,0.00006 +9-4-2019 13:00,9029837.492,0.021572145,0.021572145,0.00006 +9-4-2019 14:00,9031023.356,0.016696648,0.016696648,0.00006 +9-4-2019 15:00,9032209.112,0.018783729,0.018783729,0.00006 +9-4-2019 16:00,9033394.759,0.030610522,0.030610522,0.00006 +9-4-2019 17:00,9034580.296,0.054964075,0.054964075,0.00006 +9-4-2019 18:00,9035765.722,0.0571246,0.0571246,0.00006 +9-4-2019 19:00,9036951.038,0.050485661,0.050485661,0.00006 +9-4-2019 20:00,9038136.242,0.041643,0.041643,0.00006 +9-4-2019 21:00,9039321.333,0.028947856,0.028947856,0.00006 +9-4-2019 22:00,9040506.312,0.014904326,0.014904326,0.00006 +9-4-2019 23:00,9041691.178,0.005902896,0.005902896,0.00006 +10-4-2019 0:00,9042875.929,0.003216469,0.003216469,0.00006 +10-4-2019 1:00,9044060.566,0.000695694,0.000695694,0.00006 +10-4-2019 2:00,9045245.087,0.000886178,0.000886178,0.00006 +10-4-2019 3:00,9046429.493,0.001703365,0.001703365,0.00006 +10-4-2019 4:00,9047613.782,0.006034576,0.006034576,0.00006 +10-4-2019 5:00,9048797.954,0.051093044,0.051093044,0.00006 +10-4-2019 6:00,9049982.008,0.070586409,0.070586409,0.00006 +10-4-2019 7:00,9051165.944,0.051880113,0.051880113,0.00006 +10-4-2019 8:00,9052349.761,0.060212854,0.060212854,0.00006 +10-4-2019 9:00,9053533.458,0.043384939,0.043384939,0.00006 +10-4-2019 10:00,9054717.035,0.03748867,0.03748867,0.00006 +10-4-2019 11:00,9055900.492,0.031663986,0.031663986,0.00006 +10-4-2019 12:00,9057083.827,0.025535168,0.025535168,0.00006 +10-4-2019 13:00,9058267.04,0.021566504,0.021566504,0.00006 +10-4-2019 14:00,9059450.131,0.016696648,0.016696648,0.00006 +10-4-2019 15:00,9060633.099,0.018783729,0.018783729,0.00006 +10-4-2019 16:00,9061815.942,0.030610522,0.030610522,0.00006 +10-4-2019 17:00,9062998.662,0.054264107,0.054264107,0.00006 +10-4-2019 18:00,9064181.256,0.055252755,0.055252755,0.00006 +10-4-2019 19:00,9065363.724,0.049922368,0.049922368,0.00006 +10-4-2019 20:00,9066546.067,0.041459475,0.041459475,0.00006 +10-4-2019 21:00,9067728.282,0.02896096,0.02896096,0.00006 +10-4-2019 22:00,9068910.371,0.013913874,0.013913874,0.00006 +10-4-2019 23:00,9070092.331,0.004869856,0.004869856,0.00006 +11-4-2019 0:00,9071274.162,0.002821346,0.002821346,0.00006 +11-4-2019 1:00,9072455.864,0.001039929,0.001039929,0.00006 +11-4-2019 2:00,9073637.436,0.001392657,0.001392657,0.00006 +11-4-2019 3:00,9074818.878,0.002097596,0.002097596,0.00006 +11-4-2019 4:00,9076000.189,0.006492389,0.006492389,0.00006 +11-4-2019 5:00,9077181.368,0.042607031,0.042607031,0.00006 +11-4-2019 6:00,9078362.414,0.070739806,0.070739806,0.00006 +11-4-2019 7:00,9079543.328,0.050680878,0.050680878,0.00006 +11-4-2019 8:00,9080724.108,0.060666097,0.060666097,0.00006 +11-4-2019 9:00,9081904.754,0.04358388,0.04358388,0.00006 +11-4-2019 10:00,9083085.266,0.03763621,0.03763621,0.00006 +11-4-2019 11:00,9084265.642,0.032290684,0.032290684,0.00006 +11-4-2019 12:00,9085445.882,0.027202954,0.027202954,0.00006 +11-4-2019 13:00,9086625.985,0.021566504,0.021566504,0.00006 +11-4-2019 14:00,9087805.952,0.016696648,0.016696648,0.00006 +11-4-2019 15:00,9088985.78,0.018805016,0.018805016,0.00006 +11-4-2019 16:00,9090165.47,0.030622837,0.030622837,0.00006 +11-4-2019 17:00,9091345.022,0.055810257,0.055810257,0.00006 +11-4-2019 18:00,9092524.433,0.057854827,0.057854827,0.00006 +11-4-2019 19:00,9093703.705,0.050782304,0.050782304,0.00006 +11-4-2019 20:00,9094882.835,0.042005922,0.042005922,0.00006 +11-4-2019 21:00,9096061.824,0.028986923,0.028986923,0.00006 +11-4-2019 22:00,9097240.671,0.013974099,0.013974099,0.00006 +11-4-2019 23:00,9098419.376,0.0056808,0.0056808,0.00006 +12-4-2019 0:00,9099597.937,0.003595054,0.003595054,0.00006 +12-4-2019 1:00,9100776.355,0.001439883,0.001439883,0.00006 +12-4-2019 2:00,9101954.627,0.001446745,0.001446745,0.00006 +12-4-2019 3:00,9103132.755,0.002089597,0.002089597,0.00006 +12-4-2019 4:00,9104310.738,0.009541723,0.009541723,0.00006 +12-4-2019 5:00,9105488.574,0.059982088,0.059982088,0.00006 +12-4-2019 6:00,9106666.263,0.076374924,0.076374924,0.00006 +12-4-2019 7:00,9107843.804,0.055977878,0.055977878,0.00006 +12-4-2019 8:00,9109021.198,0.063349203,0.063349203,0.00006 +12-4-2019 9:00,9110198.443,0.047123812,0.047123812,0.00006 +12-4-2019 10:00,9111375.538,0.040049374,0.040049374,0.00006 +12-4-2019 11:00,9112552.484,0.039292272,0.039292272,0.00006 +12-4-2019 12:00,9113729.279,0.031098473,0.031098473,0.00006 +12-4-2019 13:00,9114905.923,0.023057635,0.023057635,0.00006 +12-4-2019 14:00,9116082.416,0.017370876,0.017370876,0.00006 +12-4-2019 15:00,9117258.756,0.01881565,0.01881565,0.00006 +12-4-2019 16:00,9118434.943,0.030677832,0.030677832,0.00006 +12-4-2019 17:00,9119610.976,0.056913114,0.056913114,0.00006 +12-4-2019 18:00,9120786.856,0.059448572,0.059448572,0.00006 +12-4-2019 19:00,9121962.58,0.063688005,0.063688005,0.00006 +12-4-2019 20:00,9123138.15,0.068755789,0.068755789,0.00006 +12-4-2019 21:00,9124313.563,0.042407653,0.042407653,0.00006 +12-4-2019 22:00,9125488.82,0.020344323,0.020344323,0.00006 +12-4-2019 23:00,9126663.919,0.008270029,0.008270029,0.00006 +13-04-2019 0:00,9127838.861,0.004917301,0.004917301,0.00006 +13-04-2019 1:00,9129013.645,0.002589996,0.002589996,0.00006 +13-04-2019 2:00,9130188.269,0.002821117,0.002821117,0.00006 +13-04-2019 3:00,9131362.734,0.006867579,0.006867579,0.00006 +13-04-2019 4:00,9132537.039,0.034623356,0.034623356,0.00006 +13-04-2019 5:00,9133711.183,0.108239907,0.108239907,0.00006 +13-04-2019 6:00,9134885.166,0.100881781,0.100881781,0.00006 +13-04-2019 7:00,9136058.986,0.057542924,0.057542924,0.00006 +13-04-2019 8:00,9137232.644,0.064879183,0.064879183,0.00006 +13-04-2019 9:00,9138406.139,0.048234016,0.048234016,0.00006 +13-04-2019 10:00,9139579.47,0.045095181,0.045095181,0.00006 +13-04-2019 11:00,9140752.637,0.044288516,0.044288516,0.00006 +13-04-2019 12:00,9141925.638,0.035877234,0.035877234,0.00006 +13-04-2019 13:00,9143098.474,0.024702864,0.024702864,0.00006 +13-04-2019 14:00,9144271.144,0.018330426,0.018330426,0.00006 +13-04-2019 15:00,9145443.647,0.019886747,0.019886747,0.00006 +13-04-2019 16:00,9146615.982,0.032103414,0.032103414,0.00006 +13-04-2019 17:00,9147788.15,0.06343498,0.06343498,0.00006 +13-04-2019 18:00,9148960.148,0.104012572,0.104012572,0.00006 +13-04-2019 19:00,9150131.978,0.105873108,0.105873108,0.00006 +13-04-2019 20:00,9151303.638,0.083303608,0.083303608,0.00006 +13-04-2019 21:00,9152475.127,0.050381925,0.050381925,0.00006 +13-04-2019 22:00,9153646.445,0.032704711,0.032704711,0.00006 +13-04-2019 23:00,9154817.592,0.01674059,0.01674059,0.00006 +14-04-2019 0:00,9155988.566,0.007466889,0.007466889,0.00006 +14-04-2019 1:00,9157159.368,0.003255369,0.003255369,0.00006 +14-04-2019 2:00,9158329.996,0.00358503,0.00358503,0.00006 +14-04-2019 3:00,9159500.45,0.009416624,0.009416624,0.00006 +14-04-2019 4:00,9160670.729,0.051757059,0.051757059,0.00006 +14-04-2019 5:00,9161840.833,0.166447034,0.166447034,0.00006 +14-04-2019 6:00,9163010.761,0.15703612,0.15703612,0.00006 +14-04-2019 7:00,9164180.513,0.128210023,0.128210023,0.00006 +14-04-2019 8:00,9165350.088,0.109571645,0.109571645,0.00006 +14-04-2019 9:00,9166519.485,0.060004017,0.060004017,0.00006 +14-04-2019 10:00,9167688.703,0.04837555,0.04837555,0.00006 +14-04-2019 11:00,9168857.743,0.052827993,0.052827993,0.00006 +14-04-2019 12:00,9170026.604,0.033855128,0.033855128,0.00006 +14-04-2019 13:00,9171195.284,0.022973961,0.022973961,0.00006 +14-04-2019 14:00,9172363.784,0.016794238,0.016794238,0.00006 +14-04-2019 15:00,9173532.102,0.018783729,0.018783729,0.00006 +14-04-2019 16:00,9174700.238,0.030749892,0.030749892,0.00006 +14-04-2019 17:00,9175868.192,0.056968368,0.056968368,0.00006 +14-04-2019 18:00,9177035.963,0.059107559,0.059107559,0.00006 +14-04-2019 19:00,9178203.551,0.053095012,0.053095012,0.00006 +14-04-2019 20:00,9179370.953,0.063422102,0.063422102,0.00006 +14-04-2019 21:00,9180538.172,0.04395817,0.04395817,0.00006 +14-04-2019 22:00,9181705.204,0.02182801,0.02182801,0.00006 +14-04-2019 23:00,9182872.051,0.009106011,0.009106011,0.00006 +15-04-2019 0:00,9184038.71,0.005496358,0.005496358,0.00006 +15-04-2019 1:00,9185205.183,0.002860546,0.002860546,0.00006 +15-04-2019 2:00,9186371.468,0.003048615,0.003048615,0.00006 +15-04-2019 3:00,9187537.564,0.007460413,0.007460413,0.00006 +15-04-2019 4:00,9188703.471,0.03925313,0.03925313,0.00006 +15-04-2019 5:00,9189869.188,0.118613358,0.118613358,0.00006 +15-04-2019 6:00,9191034.715,0.119271439,0.119271439,0.00006 +15-04-2019 7:00,9192200.052,0.075238694,0.075238694,0.00006 +15-04-2019 8:00,9193365.196,0.072660459,0.072660459,0.00006 +15-04-2019 9:00,9194530.149,0.053249429,0.053249429,0.00006 +15-04-2019 10:00,9195694.909,0.048311283,0.048311283,0.00006 +15-04-2019 11:00,9196859.476,0.045100111,0.045100111,0.00006 +15-04-2019 12:00,9198023.849,0.031805569,0.031805569,0.00006 +15-04-2019 13:00,9199188.027,0.023414921,0.023414921,0.00006 +15-04-2019 14:00,9200352.01,0.016696648,0.016696648,0.00006 +15-04-2019 15:00,9201515.798,0.018783729,0.018783729,0.00006 +15-04-2019 16:00,9202679.389,0.030610522,0.030610522,0.00006 +15-04-2019 17:00,9203842.784,0.054367207,0.054367207,0.00006 +15-04-2019 18:00,9205005.981,0.057257745,0.057257745,0.00006 +15-04-2019 19:00,9206168.98,0.050575113,0.050575113,0.00006 +15-04-2019 20:00,9207331.78,0.042155032,0.042155032,0.00006 +15-04-2019 21:00,9208494.381,0.030580346,0.030580346,0.00006 +15-04-2019 22:00,9209656.782,0.017791773,0.017791773,0.00006 +15-04-2019 23:00,9210818.983,0.006622327,0.006622327,0.00006 +16-04-2019 0:00,9211980.982,0.003845922,0.003845922,0.00006 +16-04-2019 1:00,9213142.78,0.001886819,0.001886819,0.00006 +16-04-2019 2:00,9214304.376,0.001541982,0.001541982,0.00006 +16-04-2019 3:00,9215465.769,0.003671562,0.003671562,0.00006 +16-04-2019 4:00,9216626.958,0.01766395,0.01766395,0.00006 +16-04-2019 5:00,9217787.943,0.074282931,0.074282931,0.00006 +16-04-2019 6:00,9218948.724,0.076403027,0.076403027,0.00006 +16-04-2019 7:00,9220109.299,0.058652767,0.058652767,0.00006 +16-04-2019 8:00,9221269.669,0.070316179,0.070316179,0.00006 +16-04-2019 9:00,9222429.832,0.060854767,0.060854767,0.00006 +16-04-2019 10:00,9223589.788,0.051807493,0.051807493,0.00006 +16-04-2019 11:00,9224749.537,0.040447617,0.040447617,0.00006 +16-04-2019 12:00,9225909.077,0.031929285,0.031929285,0.00006 +16-04-2019 13:00,9227068.409,0.023005004,0.023005004,0.00006 +16-04-2019 14:00,9228227.531,0.016911859,0.016911859,0.00006 +16-04-2019 15:00,9229386.443,0.018808113,0.018808113,0.00006 +16-04-2019 16:00,9230545.144,0.030884655,0.030884655,0.00006 +16-04-2019 17:00,9231703.634,0.05652512,0.05652512,0.00006 +16-04-2019 18:00,9232861.913,0.058568634,0.058568634,0.00006 +16-04-2019 19:00,9234019.978,0.054077798,0.054077798,0.00006 +16-04-2019 20:00,9235177.831,0.055125544,0.055125544,0.00006 +16-04-2019 21:00,9236335.471,0.038397176,0.038397176,0.00006 +16-04-2019 22:00,9237492.896,0.019329914,0.019329914,0.00006 +16-04-2019 23:00,9238650.106,0.00740184,0.00740184,0.00006 +17-04-2019 0:00,9239807.102,0.003507908,0.003507908,0.00006 +17-04-2019 1:00,9240963.881,0.001155179,0.001155179,0.00006 +17-04-2019 2:00,9242120.443,0.00139156,0.00139156,0.00006 +17-04-2019 3:00,9243276.788,0.002969042,0.002969042,0.00006 +17-04-2019 4:00,9244432.916,0.01429973,0.01429973,0.00006 +17-04-2019 5:00,9245588.825,0.066588354,0.066588354,0.00006 +17-04-2019 6:00,9246744.515,0.082480007,0.082480007,0.00006 +17-04-2019 7:00,9247899.986,0.06250685,0.06250685,0.00006 +17-04-2019 8:00,9249055.237,0.070773888,0.070773888,0.00006 +17-04-2019 9:00,9250210.267,0.05672642,0.05672642,0.00006 +17-04-2019 10:00,9251365.075,0.049748605,0.049748605,0.00006 +17-04-2019 11:00,9252519.662,0.044152435,0.044152435,0.00006 +17-04-2019 12:00,9253674.026,0.032042741,0.032042741,0.00006 +17-04-2019 13:00,9254828.167,0.022735975,0.022735975,0.00006 +17-04-2019 14:00,9255982.084,0.016839523,0.016839523,0.00006 +17-04-2019 15:00,9257135.777,0.018783729,0.018783729,0.00006 +17-04-2019 16:00,9258289.245,0.030721633,0.030721633,0.00006 +17-04-2019 17:00,9259442.488,0.056061651,0.056061651,0.00006 +17-04-2019 18:00,9260595.504,0.058007673,0.058007673,0.00006 +17-04-2019 19:00,9261748.294,0.0518866,0.0518866,0.00006 +17-04-2019 20:00,9262900.857,0.051070911,0.051070911,0.00006 +17-04-2019 21:00,9264053.192,0.036572731,0.036572731,0.00006 +17-04-2019 22:00,9265205.298,0.017952997,0.017952997,0.00006 +17-04-2019 23:00,9266357.175,0.006747678,0.006747678,0.00006 +18-04-2019 0:00,9267508.823,0.003286003,0.003286003,0.00006 +18-04-2019 1:00,9268660.24,0.000872141,0.000872141,0.00006 +18-04-2019 2:00,9269811.427,0.000695694,0.000695694,0.00006 +18-04-2019 3:00,9270962.382,0.001628653,0.001628653,0.00006 +18-04-2019 4:00,9272113.105,0.006497091,0.006497091,0.00006 +18-04-2019 5:00,9273263.596,0.046245363,0.046245363,0.00006 +18-04-2019 6:00,9274413.853,0.069009715,0.069009715,0.00006 +18-04-2019 7:00,9275563.877,0.050313027,0.050313027,0.00006 +18-04-2019 8:00,9276713.666,0.059149792,0.059149792,0.00006 +18-04-2019 9:00,9277863.22,0.043146943,0.043146943,0.00006 +18-04-2019 10:00,9279012.539,0.037178892,0.037178892,0.00006 +18-04-2019 11:00,9280161.622,0.031306216,0.031306216,0.00006 +18-04-2019 12:00,9281310.468,0.025044973,0.025044973,0.00006 +18-04-2019 13:00,9282459.076,0.021566504,0.021566504,0.00006 +18-04-2019 14:00,9283607.447,0.016696648,0.016696648,0.00006 +18-04-2019 15:00,9284755.579,0.018783729,0.018783729,0.00006 +18-04-2019 16:00,9285903.472,0.030610522,0.030610522,0.00006 +18-04-2019 17:00,9287051.125,0.054264107,0.054264107,0.00006 +18-04-2019 18:00,9288198.538,0.054959801,0.054959801,0.00006 +18-04-2019 19:00,9289345.711,0.048698558,0.048698558,0.00006 +18-04-2019 20:00,9290492.641,0.040350234,0.040350234,0.00006 +18-04-2019 21:00,9291639.33,0.028523441,0.028523441,0.00006 +18-04-2019 22:00,9292785.776,0.013913874,0.013913874,0.00006 +18-04-2019 23:00,9293931.979,0.004869856,0.004869856,0.00006 +19-04-2019 0:00,9295077.938,0.002782775,0.002782775,0.00006 +19-04-2019 1:00,9296223.652,0.000695694,0.000695694,0.00006 +19-04-2019 2:00,9297369.122,0.000695694,0.000695694,0.00006 +19-04-2019 3:00,9298514.346,0.001391387,0.001391387,0.00006 +19-04-2019 4:00,9299659.324,0.004869856,0.004869856,0.00006 +19-04-2019 5:00,9300804.055,0.039916968,0.039916968,0.00006 +19-04-2019 6:00,9301948.538,0.065434389,0.065434389,0.00006 +19-04-2019 7:00,9303092.774,0.050374494,0.050374494,0.00006 +19-04-2019 8:00,9304236.761,0.059133963,0.059133963,0.00006 +19-04-2019 9:00,9305380.5,0.042841189,0.042841189,0.00006 +19-04-2019 10:00,9306523.988,0.036871765,0.036871765,0.00006 +19-04-2019 11:00,9307667.226,0.031306216,0.031306216,0.00006 +19-04-2019 12:00,9308810.213,0.025044973,0.025044973,0.00006 +19-04-2019 13:00,9309952.949,0.021566504,0.021566504,0.00006 +19-04-2019 14:00,9311095.433,0.016696648,0.016696648,0.00006 +19-04-2019 15:00,9312237.664,0.018783729,0.018783729,0.00006 +19-04-2019 16:00,9313379.641,0.030610522,0.030610522,0.00006 +19-04-2019 17:00,9314521.365,0.054264107,0.054264107,0.00006 +19-04-2019 18:00,9315662.835,0.054959801,0.054959801,0.00006 +19-04-2019 19:00,9316804.05,0.048698558,0.048698558,0.00006 +19-04-2019 20:00,9317945.009,0.040350234,0.040350234,0.00006 +19-04-2019 21:00,9319085.711,0.028523441,0.028523441,0.00006 +19-04-2019 22:00,9320226.157,0.013913874,0.013913874,0.00006 +19-04-2019 23:00,9321366.346,0.004869856,0.004869856,0.00006 +20-04-2019 0:00,9322506.277,0.002782775,0.002782775,0.00006 +20-04-2019 1:00,9323645.949,0.000695694,0.000695694,0.00006 +20-04-2019 2:00,9324785.362,0.000695694,0.000695694,0.00006 +20-04-2019 3:00,9325924.516,0.001391387,0.001391387,0.00006 +20-04-2019 4:00,9327063.409,0.004869856,0.004869856,0.00006 +20-04-2019 5:00,9328202.041,0.038958846,0.038958846,0.00006 +20-04-2019 6:00,9329340.412,0.064699512,0.064699512,0.00006 +20-04-2019 7:00,9330478.521,0.050089945,0.050089945,0.00006 +20-04-2019 8:00,9331616.367,0.059133963,0.059133963,0.00006 +20-04-2019 9:00,9332753.95,0.042437315,0.042437315,0.00006 +20-04-2019 10:00,9333891.269,0.036871765,0.036871765,0.00006 +20-04-2019 11:00,9335028.324,0.031306216,0.031306216,0.00006 +20-04-2019 12:00,9336165.114,0.025044973,0.025044973,0.00006 +20-04-2019 13:00,9337301.638,0.021566504,0.021566504,0.00006 +20-04-2019 14:00,9338437.896,0.016696648,0.016696648,0.00006 +20-04-2019 15:00,9339573.888,0.018783729,0.018783729,0.00006 +20-04-2019 16:00,9340709.612,0.030610522,0.030610522,0.00006 +20-04-2019 17:00,9341845.068,0.054264107,0.054264107,0.00006 +20-04-2019 18:00,9342980.256,0.054959801,0.054959801,0.00006 +20-04-2019 19:00,9344115.175,0.048698558,0.048698558,0.00006 +20-04-2019 20:00,9345249.824,0.040350234,0.040350234,0.00006 +20-04-2019 21:00,9346384.203,0.028523441,0.028523441,0.00006 +20-04-2019 22:00,9347518.311,0.013913874,0.013913874,0.00006 +20-04-2019 23:00,9348652.148,0.004869856,0.004869856,0.00006 +21-04-2019 0:00,9349785.712,0.002782775,0.002782775,0.00006 +21-04-2019 1:00,9350919.005,0.000695694,0.000695694,0.00006 +21-04-2019 2:00,9352052.024,0.000695694,0.000695694,0.00006 +21-04-2019 3:00,9353184.769,0.001391387,0.001391387,0.00006 +21-04-2019 4:00,9354317.24,0.004869856,0.004869856,0.00006 +21-04-2019 5:00,9355449.436,0.038958846,0.038958846,0.00006 +21-04-2019 6:00,9356581.357,0.064699512,0.064699512,0.00006 +21-04-2019 7:00,9357713.001,0.050089945,0.050089945,0.00006 +21-04-2019 8:00,9358844.369,0.059133963,0.059133963,0.00006 +21-04-2019 9:00,9359975.46,0.042437315,0.042437315,0.00006 +21-04-2019 10:00,9361106.273,0.036871765,0.036871765,0.00006 +21-04-2019 11:00,9362236.808,0.031306216,0.031306216,0.00006 +21-04-2019 12:00,9363367.064,0.025044973,0.025044973,0.00006 +21-04-2019 13:00,9364497.04,0.021566504,0.021566504,0.00006 +21-04-2019 14:00,9365626.736,0.016696648,0.016696648,0.00006 +21-04-2019 15:00,9366756.151,0.018783729,0.018783729,0.00006 +21-04-2019 16:00,9367885.285,0.030610522,0.030610522,0.00006 +21-04-2019 17:00,9369014.137,0.054264107,0.054264107,0.00006 +21-04-2019 18:00,9370142.707,0.054959801,0.054959801,0.00006 +21-04-2019 19:00,9371270.993,0.048698558,0.048698558,0.00006 +21-04-2019 20:00,9372398.996,0.040350234,0.040350234,0.00006 +21-04-2019 21:00,9373526.715,0.028523441,0.028523441,0.00006 +21-04-2019 22:00,9374654.149,0.013913874,0.013913874,0.00006 +21-04-2019 23:00,9375781.298,0.004869856,0.004869856,0.00006 +22-04-2019 0:00,9376908.161,0.002782775,0.002782775,0.00006 +22-04-2019 1:00,9378034.737,0.000695694,0.000695694,0.00006 +22-04-2019 2:00,9379161.027,0.000695694,0.000695694,0.00006 +22-04-2019 3:00,9380287.028,0.001391387,0.001391387,0.00006 +22-04-2019 4:00,9381412.741,0.004869856,0.004869856,0.00006 +22-04-2019 5:00,9382538.166,0.038958846,0.038958846,0.00006 +22-04-2019 6:00,9383663.301,0.064699512,0.064699512,0.00006 +22-04-2019 7:00,9384788.146,0.050089945,0.050089945,0.00006 +22-04-2019 8:00,9385912.701,0.059133963,0.059133963,0.00006 +22-04-2019 9:00,9387036.964,0.042437315,0.042437315,0.00006 +22-04-2019 10:00,9388160.936,0.036871765,0.036871765,0.00006 +22-04-2019 11:00,9389284.615,0.031306216,0.031306216,0.00006 +22-04-2019 12:00,9390408.002,0.025044973,0.025044973,0.00006 +22-04-2019 13:00,9391531.095,0.021566504,0.021566504,0.00006 +22-04-2019 14:00,9392653.894,0.016696648,0.016696648,0.00006 +22-04-2019 15:00,9393776.398,0.018783729,0.018783729,0.00006 +22-04-2019 16:00,9394898.608,0.030610522,0.030610522,0.00006 +22-04-2019 17:00,9396020.521,0.054264107,0.054264107,0.00006 +22-04-2019 18:00,9397142.138,0.054959801,0.054959801,0.00006 +22-04-2019 19:00,9398263.459,0.048698558,0.048698558,0.00006 +22-04-2019 20:00,9399384.481,0.040350234,0.040350234,0.00006 +22-04-2019 21:00,9400505.206,0.028523441,0.028523441,0.00006 +22-04-2019 22:00,9401625.632,0.013913874,0.013913874,0.00006 +22-04-2019 23:00,9402745.759,0.004869856,0.004869856,0.00006 +23-04-2019 0:00,9403865.586,0.002782775,0.002782775,0.00006 +23-04-2019 1:00,9404985.112,0.000695694,0.000695694,0.00006 +23-04-2019 2:00,9406104.338,0.000695694,0.000695694,0.00006 +23-04-2019 3:00,9407223.262,0.001391387,0.001391387,0.00006 +23-04-2019 4:00,9408341.884,0.004869856,0.004869856,0.00006 +23-04-2019 5:00,9409460.204,0.038958846,0.038958846,0.00006 +23-04-2019 6:00,9410578.22,0.064699512,0.064699512,0.00006 +23-04-2019 7:00,9411695.932,0.050089945,0.050089945,0.00006 +23-04-2019 8:00,9412813.34,0.059133963,0.059133963,0.00006 +23-04-2019 9:00,9413930.443,0.042437315,0.042437315,0.00006 +23-04-2019 10:00,9415047.24,0.036871765,0.036871765,0.00006 +23-04-2019 11:00,9416163.731,0.031306216,0.031306216,0.00006 +23-04-2019 12:00,9417279.916,0.025044973,0.025044973,0.00006 +23-04-2019 13:00,9418395.793,0.021566504,0.021566504,0.00006 +23-04-2019 14:00,9419511.363,0.016696648,0.016696648,0.00006 +23-04-2019 15:00,9420626.624,0.018783729,0.018783729,0.00006 +23-04-2019 16:00,9421741.575,0.030610522,0.030610522,0.00006 +23-04-2019 17:00,9422856.218,0.054264107,0.054264107,0.00006 +23-04-2019 18:00,9423970.55,0.054959801,0.054959801,0.00006 +23-04-2019 19:00,9425084.572,0.048698558,0.048698558,0.00006 +23-04-2019 20:00,9426198.282,0.040350234,0.040350234,0.00006 +23-04-2019 21:00,9427311.68,0.028523441,0.028523441,0.00006 +23-04-2019 22:00,9428424.766,0.013913874,0.013913874,0.00006 +23-04-2019 23:00,9429537.539,0.004869856,0.004869856,0.00006 +24-04-2019 0:00,9430649.999,0.002782775,0.002782775,0.00006 +24-04-2019 1:00,9431762.144,0.000695694,0.000695694,0.00006 +24-04-2019 2:00,9432873.974,0.000695694,0.000695694,0.00006 +24-04-2019 3:00,9433985.489,0.001391387,0.001391387,0.00006 +24-04-2019 4:00,9435096.689,0.004869856,0.004869856,0.00006 +24-04-2019 5:00,9436207.571,0.038958846,0.038958846,0.00006 +24-04-2019 6:00,9437318.137,0.064699512,0.064699512,0.00006 +24-04-2019 7:00,9438428.386,0.050089945,0.050089945,0.00006 +24-04-2019 8:00,9439538.316,0.059133963,0.059133963,0.00006 +24-04-2019 9:00,9440647.927,0.042437315,0.042437315,0.00006 +24-04-2019 10:00,9441757.219,0.036871765,0.036871765,0.00006 +24-04-2019 11:00,9442866.191,0.031306216,0.031306216,0.00006 +24-04-2019 12:00,9443974.843,0.025044973,0.025044973,0.00006 +24-04-2019 13:00,9445083.174,0.021566504,0.021566504,0.00006 +24-04-2019 14:00,9446191.183,0.016696648,0.016696648,0.00006 +24-04-2019 15:00,9447298.87,0.018783729,0.018783729,0.00006 +24-04-2019 16:00,9448406.234,0.030610522,0.030610522,0.00006 +24-04-2019 17:00,9449513.275,0.054264107,0.054264107,0.00006 +24-04-2019 18:00,9450619.992,0.054959801,0.054959801,0.00006 +24-04-2019 19:00,9451726.385,0.048698558,0.048698558,0.00006 +24-04-2019 20:00,9452832.453,0.040350234,0.040350234,0.00006 +24-04-2019 21:00,9453938.195,0.028523441,0.028523441,0.00006 +24-04-2019 22:00,9455043.611,0.013913874,0.013913874,0.00006 +24-04-2019 23:00,9456148.7,0.004869856,0.004869856,0.00006 +25-04-2019 0:00,9457253.462,0.002782775,0.002782775,0.00006 +25-04-2019 1:00,9458357.897,0.000695694,0.000695694,0.00006 +25-04-2019 2:00,9459462.002,0.000695694,0.000695694,0.00006 +25-04-2019 3:00,9460565.779,0.001391387,0.001391387,0.00006 +25-04-2019 4:00,9461669.227,0.004869856,0.004869856,0.00006 +25-04-2019 5:00,9462772.344,0.038958846,0.038958846,0.00006 +25-04-2019 6:00,9463875.13,0.064699512,0.064699512,0.00006 +25-04-2019 7:00,9464977.585,0.050089945,0.050089945,0.00006 +25-04-2019 8:00,9466079.709,0.059133963,0.059133963,0.00006 +25-04-2019 9:00,9467181.5,0.042437315,0.042437315,0.00006 +25-04-2019 10:00,9468282.958,0.036871765,0.036871765,0.00006 +25-04-2019 11:00,9469384.083,0.031306216,0.031306216,0.00006 +25-04-2019 12:00,9470484.873,0.025044973,0.025044973,0.00006 +25-04-2019 13:00,9471585.329,0.021566504,0.021566504,0.00006 +25-04-2019 14:00,9472685.45,0.016696648,0.016696648,0.00006 +25-04-2019 15:00,9473785.234,0.018783729,0.018783729,0.00006 +25-04-2019 16:00,9474884.683,0.030610522,0.030610522,0.00006 +25-04-2019 17:00,9475983.794,0.054264107,0.054264107,0.00006 +25-04-2019 18:00,9477082.569,0.054959801,0.054959801,0.00006 +25-04-2019 19:00,9478181.005,0.048698558,0.048698558,0.00006 +25-04-2019 20:00,9479279.102,0.040350234,0.040350234,0.00006 +25-04-2019 21:00,9480376.86,0.028523441,0.028523441,0.00006 +25-04-2019 22:00,9481474.279,0.013913874,0.013913874,0.00006 +25-04-2019 23:00,9482571.357,0.004869856,0.004869856,0.00006 +26-04-2019 0:00,9483668.095,0.002782775,0.002782775,0.00006 +26-04-2019 1:00,9484764.49,0.000695694,0.000695694,0.00006 +26-04-2019 2:00,9485860.544,0.000695694,0.000695694,0.00006 +26-04-2019 3:00,9486956.256,0.001391387,0.001391387,0.00006 +26-04-2019 4:00,9488051.624,0.004869856,0.004869856,0.00006 +26-04-2019 5:00,9489146.649,0.038958846,0.038958846,0.00006 +26-04-2019 6:00,9490241.329,0.064699512,0.064699512,0.00006 +26-04-2019 7:00,9491335.665,0.050089945,0.050089945,0.00006 +26-04-2019 8:00,9492429.655,0.059133963,0.059133963,0.00006 +26-04-2019 9:00,9493523.299,0.042437315,0.042437315,0.00006 +26-04-2019 10:00,9494616.597,0.036871765,0.036871765,0.00006 +26-04-2019 11:00,9495709.547,0.031306216,0.031306216,0.00006 +26-04-2019 12:00,9496802.15,0.025044973,0.025044973,0.00006 +26-04-2019 13:00,9497894.405,0.021566504,0.021566504,0.00006 +26-04-2019 14:00,9498986.311,0.016696648,0.016696648,0.00006 +26-04-2019 15:00,9500077.868,0.018783729,0.018783729,0.00006 +26-04-2019 16:00,9501169.075,0.030610522,0.030610522,0.00006 +26-04-2019 17:00,9502259.931,0.054264107,0.054264107,0.00006 +26-04-2019 18:00,9503350.437,0.054959801,0.054959801,0.00006 +26-04-2019 19:00,9504440.591,0.048698558,0.048698558,0.00006 +26-04-2019 20:00,9505530.393,0.040350234,0.040350234,0.00006 +26-04-2019 21:00,9506619.842,0.028523441,0.028523441,0.00006 +26-04-2019 22:00,9507708.938,0.013913874,0.013913874,0.00006 +26-04-2019 23:00,9508797.68,0.004869856,0.004869856,0.00006 +27-04-2019 0:00,9509886.067,0.002782775,0.002782775,0.00006 +27-04-2019 1:00,9510974.1,0.000695694,0.000695694,0.00006 +27-04-2019 2:00,9512061.777,0.000695694,0.000695694,0.00006 +27-04-2019 3:00,9513149.099,0.001391387,0.001391387,0.00006 +27-04-2019 4:00,9514236.063,0.004869856,0.004869856,0.00006 +27-04-2019 5:00,9515322.671,0.038958846,0.038958846,0.00006 +27-04-2019 6:00,9516408.921,0.064699512,0.064699512,0.00006 +27-04-2019 7:00,9517494.812,0.050089945,0.050089945,0.00006 +27-04-2019 8:00,9518580.345,0.059133963,0.059133963,0.00006 +27-04-2019 9:00,9519665.518,0.042437315,0.042437315,0.00006 +27-04-2019 10:00,9520750.332,0.036871765,0.036871765,0.00006 +27-04-2019 11:00,9521834.785,0.031306216,0.031306216,0.00006 +27-04-2019 12:00,9522918.876,0.025044973,0.025044973,0.00006 +27-04-2019 13:00,9524002.607,0.021566504,0.021566504,0.00006 +27-04-2019 14:00,9525085.975,0.016696648,0.016696648,0.00006 +27-04-2019 15:00,9526168.98,0.018783729,0.018783729,0.00006 +27-04-2019 16:00,9527251.622,0.030610522,0.030610522,0.00006 +27-04-2019 17:00,9528333.9,0.054264107,0.054264107,0.00006 +27-04-2019 18:00,9529415.814,0.054959801,0.054959801,0.00006 +27-04-2019 19:00,9530497.362,0.048698558,0.048698558,0.00006 +27-04-2019 20:00,9531578.546,0.040350234,0.040350234,0.00006 +27-04-2019 21:00,9532659.363,0.028523441,0.028523441,0.00006 +27-04-2019 22:00,9533739.813,0.013913874,0.013913874,0.00006 +27-04-2019 23:00,9534819.897,0.004869856,0.004869856,0.00006 +28-04-2019 0:00,9535899.612,0.002782775,0.002782775,0.00006 +28-04-2019 1:00,9536978.959,0.000695694,0.000695694,0.00006 +28-04-2019 2:00,9538057.938,0.000695694,0.000695694,0.00006 +28-04-2019 3:00,9539136.547,0.001391387,0.001391387,0.00006 +28-04-2019 4:00,9540214.786,0.004869856,0.004869856,0.00006 +28-04-2019 5:00,9541292.654,0.039617081,0.039617081,0.00006 +28-04-2019 6:00,9542370.152,0.064699512,0.064699512,0.00006 +28-04-2019 7:00,9543447.277,0.050089945,0.050089945,0.00006 +28-04-2019 8:00,9544524.031,0.059133963,0.059133963,0.00006 +28-04-2019 9:00,9545600.412,0.043038662,0.043038662,0.00006 +28-04-2019 10:00,9546676.42,0.036871765,0.036871765,0.00006 +28-04-2019 11:00,9547752.053,0.031440703,0.031440703,0.00006 +28-04-2019 12:00,9548827.313,0.025533836,0.025533836,0.00006 +28-04-2019 13:00,9549902.197,0.021566504,0.021566504,0.00006 +28-04-2019 14:00,9550976.706,0.016696648,0.016696648,0.00006 +28-04-2019 15:00,9552050.839,0.018783729,0.018783729,0.00006 +28-04-2019 16:00,9553124.595,0.030610522,0.030610522,0.00006 +28-04-2019 17:00,9554197.974,0.054264107,0.054264107,0.00006 +28-04-2019 18:00,9555270.975,0.054959801,0.054959801,0.00006 +28-04-2019 19:00,9556343.598,0.048999878,0.048999878,0.00006 +28-04-2019 20:00,9557415.843,0.04067475,0.04067475,0.00006 +28-04-2019 21:00,9558487.707,0.028796541,0.028796541,0.00006 +28-04-2019 22:00,9559559.192,0.013913874,0.013913874,0.00006 +28-04-2019 23:00,9560630.297,0.004869856,0.004869856,0.00006 +29-04-2019 0:00,9561701.02,0.002782775,0.002782775,0.00006 +29-04-2019 1:00,9562771.362,0.000695694,0.000695694,0.00006 +29-04-2019 2:00,9563841.322,0.000695694,0.000695694,0.00006 +29-04-2019 3:00,9564910.899,0.001391387,0.001391387,0.00006 +29-04-2019 4:00,9565980.093,0.004869856,0.004869856,0.00006 +29-04-2019 5:00,9567048.903,0.040301437,0.040301437,0.00006 +29-04-2019 6:00,9568117.329,0.066668795,0.066668795,0.00006 +29-04-2019 7:00,9569185.37,0.050089945,0.050089945,0.00006 +29-04-2019 8:00,9570253.025,0.059274291,0.059274291,0.00006 +29-04-2019 9:00,9571320.294,0.043727558,0.043727558,0.00006 +29-04-2019 10:00,9572387.177,0.037509783,0.037509783,0.00006 +29-04-2019 11:00,9573453.673,0.031555738,0.031555738,0.00006 +29-04-2019 12:00,9574519.781,0.025611963,0.025611963,0.00006 +29-04-2019 13:00,9575585.502,0.021566504,0.021566504,0.00006 +29-04-2019 14:00,9576650.833,0.016696648,0.016696648,0.00006 +29-04-2019 15:00,9577715.775,0.018783729,0.018783729,0.00006 +29-04-2019 16:00,9578780.327,0.030610522,0.030610522,0.00006 +29-04-2019 17:00,9579844.489,0.054264107,0.054264107,0.00006 +29-04-2019 18:00,9580908.26,0.055009093,0.055009093,0.00006 +29-04-2019 19:00,9581971.64,0.049010928,0.049010928,0.00006 +29-04-2019 20:00,9583034.627,0.040806038,0.040806038,0.00006 +29-04-2019 21:00,9584097.222,0.02878226,0.02878226,0.00006 +29-04-2019 22:00,9585159.424,0.013913874,0.013913874,0.00006 +29-04-2019 23:00,9586221.232,0.004869856,0.004869856,0.00006 +30-04-2019 0:00,9587282.646,0.002782775,0.002782775,0.00006 +30-04-2019 1:00,9588343.666,0.000695694,0.000695694,0.00006 +30-04-2019 2:00,9589404.29,0.000695694,0.000695694,0.00006 +30-04-2019 3:00,9590464.518,0.001391387,0.001391387,0.00006 +30-04-2019 4:00,9591524.35,0.004869856,0.004869856,0.00006 +30-04-2019 5:00,9592583.785,0.039977566,0.039977566,0.00006 +30-04-2019 6:00,9593642.822,0.065963506,0.065963506,0.00006 +30-04-2019 7:00,9594701.462,0.050117612,0.050117612,0.00006 +30-04-2019 8:00,9595759.703,0.059327613,0.059327613,0.00006 +30-04-2019 9:00,9596817.544,0.043947634,0.043947634,0.00006 +30-04-2019 10:00,9597874.987,0.037612081,0.037612081,0.00006 +30-04-2019 11:00,9598932.029,0.032194399,0.032194399,0.00006 +30-04-2019 12:00,9599988.67,0.026320107,0.026320107,0.00006 +30-04-2019 13:00,9601044.91,0.021566504,0.021566504,0.00006 +30-04-2019 14:00,9602100.748,0.016696648,0.016696648,0.00006 +30-04-2019 15:00,9603156.184,0.018783729,0.018783729,0.00006 +30-04-2019 16:00,9604211.217,0.030610522,0.030610522,0.00006 +30-04-2019 17:00,9605265.846,0.054264107,0.054264107,0.00006 +30-04-2019 18:00,9606320.072,0.055212252,0.055212252,0.00006 +30-04-2019 19:00,9607373.893,0.04950075,0.04950075,0.00006 +30-04-2019 20:00,9608427.308,0.040908785,0.040908785,0.00006 +30-04-2019 21:00,9609480.319,0.028804541,0.028804541,0.00006 +30-04-2019 22:00,9610532.923,0.013913874,0.013913874,0.00006 +30-04-2019 23:00,9611585.12,0.004869856,0.004869856,0.00006 +1-5-2019 0:00,9612636.91,0.002782775,0.002782775,0.00006 +1-5-2019 1:00,9613688.293,0.000695694,0.000695694,0.00006 +1-5-2019 2:00,9614739.267,0.000695694,0.000695694,0.00006 +1-5-2019 3:00,9615789.832,0.001391387,0.001391387,0.00006 +1-5-2019 4:00,9616839.988,0.004869856,0.004869856,0.00006 +1-5-2019 5:00,9617889.734,0.040391283,0.040391283,0.00006 +1-5-2019 6:00,9618939.069,0.067476087,0.067476087,0.00006 +1-5-2019 7:00,9619987.993,0.050635831,0.050635831,0.00006 +1-5-2019 8:00,9621036.506,0.060198985,0.060198985,0.00006 +1-5-2019 9:00,9622084.607,0.044063351,0.044063351,0.00006 +1-5-2019 10:00,9623132.295,0.037771574,0.037771574,0.00006 +1-5-2019 11:00,9624179.57,0.031949929,0.031949929,0.00006 +1-5-2019 12:00,9625226.431,0.026103618,0.026103618,0.00006 +1-5-2019 13:00,9626272.878,0.021566504,0.021566504,0.00006 +1-5-2019 14:00,9627318.91,0.016696648,0.016696648,0.00006 +1-5-2019 15:00,9628364.526,0.018783729,0.018783729,0.00006 +1-5-2019 16:00,9629409.727,0.030610522,0.030610522,0.00006 +1-5-2019 17:00,9630454.512,0.054264107,0.054264107,0.00006 +1-5-2019 18:00,9631498.879,0.055312707,0.055312707,0.00006 +1-5-2019 19:00,9632542.829,0.049592628,0.049592628,0.00006 +1-5-2019 20:00,9633586.361,0.041019852,0.041019852,0.00006 +1-5-2019 21:00,9634629.475,0.028869787,0.028869787,0.00006 +1-5-2019 22:00,9635672.169,0.013913874,0.013913874,0.00006 +1-5-2019 23:00,9636714.444,0.004869856,0.004869856,0.00006 +2-5-2019 0:00,9637756.299,0.002782775,0.002782775,0.00006 +2-5-2019 1:00,9638797.733,0.000695694,0.000695694,0.00006 +2-5-2019 2:00,9639838.745,0.000824158,0.000824158,0.00006 +2-5-2019 3:00,9640879.336,0.001657642,0.001657642,0.00006 +2-5-2019 4:00,9641919.505,0.005142284,0.005142284,0.00006 +2-5-2019 5:00,9642959.25,0.040824184,0.040824184,0.00006 +2-5-2019 6:00,9643998.573,0.068613272,0.068613272,0.00006 +2-5-2019 7:00,9645037.471,0.050659578,0.050659578,0.00006 +2-5-2019 8:00,9646075.945,0.060629258,0.060629258,0.00006 +2-5-2019 9:00,9647113.994,0.044123592,0.044123592,0.00006 +2-5-2019 10:00,9648151.617,0.038039552,0.038039552,0.00006 +2-5-2019 11:00,9649188.815,0.032661901,0.032661901,0.00006 +2-5-2019 12:00,9650225.586,0.02765742,0.02765742,0.00006 +2-5-2019 13:00,9651261.929,0.021608945,0.021608945,0.00006 +2-5-2019 14:00,9652297.845,0.016696648,0.016696648,0.00006 +2-5-2019 15:00,9653333.333,0.018783729,0.018783729,0.00006 +2-5-2019 16:00,9654368.392,0.030610522,0.030610522,0.00006 +2-5-2019 17:00,9655403.022,0.054373946,0.054373946,0.00006 +2-5-2019 18:00,9656437.223,0.056480053,0.056480053,0.00006 +2-5-2019 19:00,9657470.992,0.049785124,0.049785124,0.00006 +2-5-2019 20:00,9658504.331,0.041417806,0.041417806,0.00006 +2-5-2019 21:00,9659537.239,0.028870423,0.028870423,0.00006 +2-5-2019 22:00,9660569.715,0.013913874,0.013913874,0.00006 +2-5-2019 23:00,9661601.758,0.004869856,0.004869856,0.00006 +3-5-2019 0:00,9662633.368,0.002782775,0.002782775,0.00006 +3-5-2019 1:00,9663664.545,0.000695694,0.000695694,0.00006 +3-5-2019 2:00,9664695.288,0.000732333,0.000732333,0.00006 +3-5-2019 3:00,9665725.596,0.001655144,0.001655144,0.00006 +3-5-2019 4:00,9666755.469,0.005319417,0.005319417,0.00006 +3-5-2019 5:00,9667784.906,0.040695073,0.040695073,0.00006 +3-5-2019 6:00,9668813.908,0.068716111,0.068716111,0.00006 +3-5-2019 7:00,9669842.472,0.050804945,0.050804945,0.00006 +3-5-2019 8:00,9670870.6,0.060820972,0.060820972,0.00006 +3-5-2019 9:00,9671898.289,0.04426619,0.04426619,0.00006 +3-5-2019 10:00,9672925.541,0.03842846,0.03842846,0.00006 +3-5-2019 11:00,9673952.354,0.033021042,0.033021042,0.00006 +3-5-2019 12:00,9674978.727,0.028248689,0.028248689,0.00006 +3-5-2019 13:00,9676004.66,0.021753137,0.021753137,0.00006 +3-5-2019 14:00,9677030.153,0.016727281,0.016727281,0.00006 +3-5-2019 15:00,9678055.206,0.018797666,0.018797666,0.00006 +3-5-2019 16:00,9679079.816,0.030742752,0.030742752,0.00006 +3-5-2019 17:00,9680103.985,0.055021075,0.055021075,0.00006 +3-5-2019 18:00,9681127.711,0.057360978,0.057360978,0.00006 +3-5-2019 19:00,9682150.995,0.050427015,0.050427015,0.00006 +3-5-2019 20:00,9683173.834,0.041837983,0.041837983,0.00006 +3-5-2019 21:00,9684196.23,0.028935756,0.028935756,0.00006 +3-5-2019 22:00,9685218.181,0.013913874,0.013913874,0.00006 +3-5-2019 23:00,9686239.687,0.004869856,0.004869856,0.00006 +4-5-2019 0:00,9687260.747,0.002782775,0.002782775,0.00006 +4-5-2019 1:00,9688281.361,0.000888411,0.000888411,0.00006 +4-5-2019 2:00,9689301.529,0.001331778,0.001331778,0.00006 +4-5-2019 3:00,9690321.249,0.001843955,0.001843955,0.00006 +4-5-2019 4:00,9691340.521,0.005985248,0.005985248,0.00006 +4-5-2019 5:00,9692359.346,0.040874172,0.040874172,0.00006 +4-5-2019 6:00,9693377.721,0.068121673,0.068121673,0.00006 +4-5-2019 7:00,9694395.647,0.050148697,0.050148697,0.00006 +4-5-2019 8:00,9695413.123,0.060197052,0.060197052,0.00006 +4-5-2019 9:00,9696430.149,0.044096509,0.044096509,0.00006 +4-5-2019 10:00,9697446.724,0.038000397,0.038000397,0.00006 +4-5-2019 11:00,9698462.848,0.032686103,0.032686103,0.00006 +4-5-2019 12:00,9699478.519,0.027926164,0.027926164,0.00006 +4-5-2019 13:00,9700493.739,0.021933122,0.021933122,0.00006 +4-5-2019 14:00,9701508.505,0.016696648,0.016696648,0.00006 +4-5-2019 15:00,9702522.817,0.018783729,0.018783729,0.00006 +4-5-2019 16:00,9703536.676,0.030610522,0.030610522,0.00006 +4-5-2019 17:00,9704550.08,0.054386089,0.054386089,0.00006 +4-5-2019 18:00,9705563.029,0.057029227,0.057029227,0.00006 +4-5-2019 19:00,9706575.523,0.050123224,0.050123224,0.00006 +4-5-2019 20:00,9707587.56,0.04186999,0.04186999,0.00006 +4-5-2019 21:00,9708599.141,0.028983424,0.028983424,0.00006 +4-5-2019 22:00,9709610.265,0.013913874,0.013913874,0.00006 +4-5-2019 23:00,9710620.93,0.004869856,0.004869856,0.00006 +5-5-2019 0:00,9711631.138,0.002967993,0.002967993,0.00006 +5-5-2019 1:00,9712640.887,0.001382966,0.001382966,0.00006 +5-5-2019 2:00,9713650.177,0.001412763,0.001412763,0.00006 +5-5-2019 3:00,9714659.007,0.002044511,0.002044511,0.00006 +5-5-2019 4:00,9715667.377,0.006465375,0.006465375,0.00006 +5-5-2019 5:00,9716675.286,0.041185544,0.041185544,0.00006 +5-5-2019 6:00,9717682.734,0.069572965,0.069572965,0.00006 +5-5-2019 7:00,9718689.719,0.050660554,0.050660554,0.00006 +5-5-2019 8:00,9719696.243,0.061102655,0.061102655,0.00006 +5-5-2019 9:00,9720702.304,0.044548801,0.044548801,0.00006 +5-5-2019 10:00,9721707.901,0.039027644,0.039027644,0.00006 +5-5-2019 11:00,9722713.034,0.034018329,0.034018329,0.00006 +5-5-2019 12:00,9723717.703,0.028307011,0.028307011,0.00006 +5-5-2019 13:00,9724721.908,0.022148493,0.022148493,0.00006 +5-5-2019 14:00,9725725.646,0.017061384,0.017061384,0.00006 +5-5-2019 15:00,9726728.919,0.019064038,0.019064038,0.00006 +5-5-2019 16:00,9727731.725,0.031261377,0.031261377,0.00006 +5-5-2019 17:00,9728734.064,0.054966811,0.054966811,0.00006 +5-5-2019 18:00,9729735.936,0.057951716,0.057951716,0.00006 +5-5-2019 19:00,9730737.34,0.051268838,0.051268838,0.00006 +5-5-2019 20:00,9731738.275,0.042121533,0.042121533,0.00006 +5-5-2019 21:00,9732738.741,0.029019368,0.029019368,0.00006 +5-5-2019 22:00,9733738.737,0.013913874,0.013913874,0.00006 +5-5-2019 23:00,9734738.264,0.004869856,0.004869856,0.00006 +6-5-2019 0:00,9735737.32,0.003512888,0.003512888,0.00006 +6-5-2019 1:00,9736735.904,0.00183726,0.00183726,0.00006 +6-5-2019 2:00,9737734.017,0.001643567,0.001643567,0.00006 +6-5-2019 3:00,9738731.658,0.002425895,0.002425895,0.00006 +6-5-2019 4:00,9739728.827,0.00736554,0.00736554,0.00006 +6-5-2019 5:00,9740725.522,0.041145503,0.041145503,0.00006 +6-5-2019 6:00,9741721.743,0.07124371,0.07124371,0.00006 +6-5-2019 7:00,9742717.491,0.05108084,0.05108084,0.00006 +6-5-2019 8:00,9743712.763,0.062854872,0.062854872,0.00006 +6-5-2019 9:00,9744707.561,0.04504404,0.04504404,0.00006 +6-5-2019 10:00,9745701.882,0.039649465,0.039649465,0.00006 +6-5-2019 11:00,9746695.728,0.034334909,0.034334909,0.00006 +6-5-2019 12:00,9747689.096,0.029621251,0.029621251,0.00006 +6-5-2019 13:00,9748681.988,0.022095219,0.022095219,0.00006 +6-5-2019 14:00,9749674.401,0.017132615,0.017132615,0.00006 +6-5-2019 15:00,9750666.337,0.019096575,0.019096575,0.00006 +6-5-2019 16:00,9751657.793,0.031385355,0.031385355,0.00006 +6-5-2019 17:00,9752648.771,0.055703066,0.055703066,0.00006 +6-5-2019 18:00,9753639.268,0.058644324,0.058644324,0.00006 +6-5-2019 19:00,9754629.285,0.051330311,0.051330311,0.00006 +6-5-2019 20:00,9755618.822,0.042213783,0.042213783,0.00006 +6-5-2019 21:00,9756607.877,0.029047753,0.029047753,0.00006 +6-5-2019 22:00,9757596.45,0.013913874,0.013913874,0.00006 +6-5-2019 23:00,9758584.54,0.005868998,0.005868998,0.00006 +7-5-2019 0:00,9759572.148,0.004250508,0.004250508,0.00006 +7-5-2019 1:00,9760559.273,0.001999699,0.001999699,0.00006 +7-5-2019 2:00,9761545.914,0.001685957,0.001685957,0.00006 +7-5-2019 3:00,9762532.07,0.002503254,0.002503254,0.00006 +7-5-2019 4:00,9763517.741,0.00751132,0.00751132,0.00006 +7-5-2019 5:00,9764502.927,0.041471347,0.041471347,0.00006 +7-5-2019 6:00,9765487.627,0.072325914,0.072325914,0.00006 +7-5-2019 7:00,9766471.841,0.055087667,0.055087667,0.00006 +7-5-2019 8:00,9767455.568,0.064043664,0.064043664,0.00006 +7-5-2019 9:00,9768438.807,0.045093063,0.045093063,0.00006 +7-5-2019 10:00,9769421.558,0.039677561,0.039677561,0.00006 +7-5-2019 11:00,9770403.821,0.034424434,0.034424434,0.00006 +7-5-2019 12:00,9771385.595,0.029598361,0.029598361,0.00006 +7-5-2019 13:00,9772366.88,0.022326501,0.022326501,0.00006 +7-5-2019 14:00,9773347.674,0.017058454,0.017058454,0.00006 +7-5-2019 15:00,9774327.978,0.019021157,0.019021157,0.00006 +7-5-2019 16:00,9775307.791,0.031005483,0.031005483,0.00006 +7-5-2019 17:00,9776287.113,0.055316175,0.055316175,0.00006 +7-5-2019 18:00,9777265.943,0.058308512,0.058308512,0.00006 +7-5-2019 19:00,9778244.28,0.05128778,0.05128778,0.00006 +7-5-2019 20:00,9779222.124,0.042189842,0.042189842,0.00006 +7-5-2019 21:00,9780199.475,0.029107633,0.029107633,0.00006 +7-5-2019 22:00,9781176.332,0.017115222,0.017115222,0.00006 +7-5-2019 23:00,9782152.694,0.006283112,0.006283112,0.00006 +8-5-2019 0:00,9783128.562,0.003822585,0.003822585,0.00006 +8-5-2019 1:00,9784103.933,0.001610726,0.001610726,0.00006 +8-5-2019 2:00,9785078.809,0.001434794,0.001434794,0.00006 +8-5-2019 3:00,9786053.189,0.002057817,0.002057817,0.00006 +8-5-2019 4:00,9787027.071,0.006951201,0.006951201,0.00006 +8-5-2019 5:00,9788000.456,0.041166867,0.041166867,0.00006 +8-5-2019 6:00,9788973.343,0.071703742,0.071703742,0.00006 +8-5-2019 7:00,9789945.731,0.054584118,0.054584118,0.00006 +8-5-2019 8:00,9790917.62,0.063709755,0.063709755,0.00006 +8-5-2019 9:00,9791889.01,0.044821259,0.044821259,0.00006 +8-5-2019 10:00,9792859.9,0.039491227,0.039491227,0.00006 +8-5-2019 11:00,9793830.289,0.034218175,0.034218175,0.00006 +8-5-2019 12:00,9794800.178,0.02952057,0.02952057,0.00006 +8-5-2019 13:00,9795769.565,0.022287499,0.022287499,0.00006 +8-5-2019 14:00,9796738.449,0.016948481,0.016948481,0.00006 +8-5-2019 15:00,9797706.832,0.018958831,0.018958831,0.00006 +8-5-2019 16:00,9798674.711,0.031017196,0.031017196,0.00006 +8-5-2019 17:00,9799642.087,0.055187384,0.055187384,0.00006 +8-5-2019 18:00,9800608.959,0.058039925,0.058039925,0.00006 +8-5-2019 19:00,9801575.326,0.051192402,0.051192402,0.00006 +8-5-2019 20:00,9802541.189,0.04195267,0.04195267,0.00006 +8-5-2019 21:00,9803506.546,0.029331945,0.029331945,0.00006 +8-5-2019 22:00,9804471.397,0.016218916,0.016218916,0.00006 +8-5-2019 23:00,9805435.741,0.006174795,0.006174795,0.00006 +9-5-2019 0:00,9806399.579,0.003225818,0.003225818,0.00006 +9-5-2019 1:00,9807362.909,0.001129393,0.001129393,0.00006 +9-5-2019 2:00,9808325.731,0.001368001,0.001368001,0.00006 +9-5-2019 3:00,9809288.045,0.00198336,0.00198336,0.00006 +9-5-2019 4:00,9810249.85,0.006203385,0.006203385,0.00006 +9-5-2019 5:00,9811211.145,0.040926715,0.040926715,0.00006 +9-5-2019 6:00,9812171.93,0.068724833,0.068724833,0.00006 +9-5-2019 7:00,9813132.205,0.050439787,0.050439787,0.00006 +9-5-2019 8:00,9814091.969,0.060557638,0.060557638,0.00006 +9-5-2019 9:00,9815051.222,0.044083354,0.044083354,0.00006 +9-5-2019 10:00,9816009.962,0.038309302,0.038309302,0.00006 +9-5-2019 11:00,9816968.191,0.032660384,0.032660384,0.00006 +9-5-2019 12:00,9817925.906,0.027967418,0.027967418,0.00006 +9-5-2019 13:00,9818883.108,0.02156653,0.02156653,0.00006 +9-5-2019 14:00,9819839.796,0.016696648,0.016696648,0.00006 +9-5-2019 15:00,9820795.97,0.018783729,0.018783729,0.00006 +9-5-2019 16:00,9821751.629,0.030610522,0.030610522,0.00006 +9-5-2019 17:00,9822706.772,0.054302671,0.054302671,0.00006 +9-5-2019 18:00,9823661.4,0.056106696,0.056106696,0.00006 +9-5-2019 19:00,9824615.511,0.049855996,0.049855996,0.00006 +9-5-2019 20:00,9825569.105,0.041696399,0.041696399,0.00006 +9-5-2019 21:00,9826522.182,0.028901899,0.028901899,0.00006 +9-5-2019 22:00,9827474.742,0.013913874,0.013913874,0.00006 +9-5-2019 23:00,9828426.783,0.004869856,0.004869856,0.00006 +10-5-2019 0:00,9829378.305,0.002782775,0.002782775,0.00006 +10-5-2019 1:00,9830329.308,0.000695694,0.000695694,0.00006 +10-5-2019 2:00,9831279.791,0.001045348,0.001045348,0.00006 +10-5-2019 3:00,9832229.754,0.001681778,0.001681778,0.00006 +10-5-2019 4:00,9833179.196,0.005558885,0.005558885,0.00006 +10-5-2019 5:00,9834128.117,0.040793374,0.040793374,0.00006 +10-5-2019 6:00,9835076.516,0.069313835,0.069313835,0.00006 +10-5-2019 7:00,9836024.393,0.050848835,0.050848835,0.00006 +10-5-2019 8:00,9836971.747,0.061046633,0.061046633,0.00006 +10-5-2019 9:00,9837918.578,0.044361083,0.044361083,0.00006 +10-5-2019 10:00,9838864.886,0.038646216,0.038646216,0.00006 +10-5-2019 11:00,9839810.669,0.033206478,0.033206478,0.00006 +10-5-2019 12:00,9840755.927,0.028573968,0.028573968,0.00006 +10-5-2019 13:00,9841700.661,0.021721578,0.021721578,0.00006 +10-5-2019 14:00,9842644.869,0.016696648,0.016696648,0.00006 +10-5-2019 15:00,9843588.55,0.018783729,0.018783729,0.00006 +10-5-2019 16:00,9844531.705,0.030610522,0.030610522,0.00006 +10-5-2019 17:00,9845474.333,0.054264107,0.054264107,0.00006 +10-5-2019 18:00,9846416.434,0.055647954,0.055647954,0.00006 +10-5-2019 19:00,9847358.006,0.049873755,0.049873755,0.00006 +10-5-2019 20:00,9848299.05,0.041698212,0.041698212,0.00006 +10-5-2019 21:00,9849239.565,0.028921596,0.028921596,0.00006 +10-5-2019 22:00,9850179.55,0.013913874,0.013913874,0.00006 +10-5-2019 23:00,9851119.005,0.004869856,0.004869856,0.00006 +11-5-2019 0:00,9852057.93,0.002782775,0.002782775,0.00006 +11-5-2019 1:00,9852996.324,0.000791097,0.000791097,0.00006 +11-5-2019 2:00,9853934.187,0.00123249,0.00123249,0.00006 +11-5-2019 3:00,9854871.517,0.001731369,0.001731369,0.00006 +11-5-2019 4:00,9855808.315,0.00587586,0.00587586,0.00006 +11-5-2019 5:00,9856744.581,0.041008566,0.041008566,0.00006 +11-5-2019 6:00,9857680.313,0.069886962,0.069886962,0.00006 +11-5-2019 7:00,9858615.511,0.050867478,0.050867478,0.00006 +11-5-2019 8:00,9859550.174,0.061387611,0.061387611,0.00006 +11-5-2019 9:00,9860484.303,0.044110358,0.044110358,0.00006 +11-5-2019 10:00,9861417.897,0.03830621,0.03830621,0.00006 +11-5-2019 11:00,9862350.955,0.032375156,0.032375156,0.00006 +11-5-2019 12:00,9863283.477,0.027119251,0.027119251,0.00006 +11-5-2019 13:00,9864215.462,0.021566504,0.021566504,0.00006 +11-5-2019 14:00,9865146.909,0.016696648,0.016696648,0.00006 +11-5-2019 15:00,9866077.819,0.018783729,0.018783729,0.00006 +11-5-2019 16:00,9867008.191,0.030610522,0.030610522,0.00006 +11-5-2019 17:00,9867938.024,0.054264107,0.054264107,0.00006 +11-5-2019 18:00,9868867.318,0.054959801,0.054959801,0.00006 +11-5-2019 19:00,9869796.073,0.049187221,0.049187221,0.00006 +11-5-2019 20:00,9870724.287,0.041163888,0.041163888,0.00006 +11-5-2019 21:00,9871651.961,0.028915865,0.028915865,0.00006 +11-5-2019 22:00,9872579.094,0.013913874,0.013913874,0.00006 +11-5-2019 23:00,9873505.685,0.004869856,0.004869856,0.00006 +12-5-2019 0:00,9874431.735,0.002782775,0.002782775,0.00006 +12-5-2019 1:00,9875357.242,0.000695694,0.000695694,0.00006 +12-5-2019 2:00,9876282.205,0.000913272,0.000913272,0.00006 +12-5-2019 3:00,9877206.626,0.001579697,0.001579697,0.00006 +12-5-2019 4:00,9878130.503,0.005421605,0.005421605,0.00006 +12-5-2019 5:00,9879053.835,0.040762349,0.040762349,0.00006 +12-5-2019 6:00,9879976.622,0.067498674,0.067498674,0.00006 +12-5-2019 7:00,9880898.864,0.050089945,0.050089945,0.00006 +12-5-2019 8:00,9881820.561,0.059435285,0.059435285,0.00006 +12-5-2019 9:00,9882741.711,0.044028562,0.044028562,0.00006 +12-5-2019 10:00,9883662.314,0.03804653,0.03804653,0.00006 +12-5-2019 11:00,9884582.37,0.03243469,0.03243469,0.00006 +12-5-2019 12:00,9885501.878,0.026595392,0.026595392,0.00006 +12-5-2019 13:00,9886420.839,0.021566504,0.021566504,0.00006 +12-5-2019 14:00,9887339.25,0.016696648,0.016696648,0.00006 +12-5-2019 15:00,9888257.113,0.018783729,0.018783729,0.00006 +12-5-2019 16:00,9889174.426,0.030610522,0.030610522,0.00006 +12-5-2019 17:00,9890091.189,0.054264107,0.054264107,0.00006 +12-5-2019 18:00,9891007.401,0.054959801,0.054959801,0.00006 +12-5-2019 19:00,9891923.062,0.048842361,0.048842361,0.00006 +12-5-2019 20:00,9892838.172,0.040821562,0.040821562,0.00006 +12-5-2019 21:00,9893752.73,0.028927222,0.028927222,0.00006 +12-5-2019 22:00,9894666.736,0.013913874,0.013913874,0.00006 +12-5-2019 23:00,9895580.189,0.004869856,0.004869856,0.00006 +13-05-2019 0:00,9896493.088,0.002782775,0.002782775,0.00006 +13-05-2019 1:00,9897405.434,0.000695694,0.000695694,0.00006 +13-05-2019 2:00,9898317.225,0.000946213,0.000946213,0.00006 +13-05-2019 3:00,9899228.461,0.001612951,0.001612951,0.00006 +13-05-2019 4:00,9900139.143,0.005912067,0.005912067,0.00006 +13-05-2019 5:00,9901049.268,0.040876686,0.040876686,0.00006 +13-05-2019 6:00,9901958.838,0.068136146,0.068136146,0.00006 +13-05-2019 7:00,9902867.851,0.050089945,0.050089945,0.00006 +13-05-2019 8:00,9903776.306,0.05942012,0.05942012,0.00006 +13-05-2019 9:00,9904684.205,0.042990113,0.042990113,0.00006 +13-05-2019 10:00,9905591.545,0.037467333,0.037467333,0.00006 +13-05-2019 11:00,9906498.326,0.031468267,0.031468267,0.00006 +13-05-2019 12:00,9907404.549,0.025217958,0.025217958,0.00006 +13-05-2019 13:00,9908310.212,0.021592148,0.021592148,0.00006 +13-05-2019 14:00,9909215.316,0.016696648,0.016696648,0.00006 +13-05-2019 15:00,9910119.859,0.018783729,0.018783729,0.00006 +13-05-2019 16:00,9911023.841,0.030610522,0.030610522,0.00006 +13-05-2019 17:00,9911927.262,0.054264107,0.054264107,0.00006 +13-05-2019 18:00,9912830.121,0.055064234,0.055064234,0.00006 +13-05-2019 19:00,9913732.418,0.049588985,0.049588985,0.00006 +13-05-2019 20:00,9914634.152,0.041118961,0.041118961,0.00006 +13-05-2019 21:00,9915535.324,0.028913593,0.028913593,0.00006 +13-05-2019 22:00,9916435.931,0.013913874,0.013913874,0.00006 +13-05-2019 23:00,9917335.974,0.004869856,0.004869856,0.00006 +14-05-2019 0:00,9918235.453,0.002782775,0.002782775,0.00006 +14-05-2019 1:00,9919134.367,0.000713678,0.000713678,0.00006 +14-05-2019 2:00,9920032.716,0.001003749,0.001003749,0.00006 +14-05-2019 3:00,9920930.498,0.001739474,0.001739474,0.00006 +14-05-2019 4:00,9921827.714,0.005560625,0.005560625,0.00006 +14-05-2019 5:00,9922724.364,0.04103682,0.04103682,0.00006 +14-05-2019 6:00,9923620.446,0.069530149,0.069530149,0.00006 +14-05-2019 7:00,9924515.96,0.050750539,0.050750539,0.00006 +14-05-2019 8:00,9925410.906,0.060534381,0.060534381,0.00006 +14-05-2019 9:00,9926305.283,0.043420972,0.043420972,0.00006 +14-05-2019 10:00,9927199.091,0.037402879,0.037402879,0.00006 +14-05-2019 11:00,9928092.33,0.031640745,0.031640745,0.00006 +14-05-2019 12:00,9928984.998,0.025603872,0.025603872,0.00006 +14-05-2019 13:00,9929877.096,0.021566504,0.021566504,0.00006 +14-05-2019 14:00,9930768.623,0.016696648,0.016696648,0.00006 +14-05-2019 15:00,9931659.579,0.018783729,0.018783729,0.00006 +14-05-2019 16:00,9932549.962,0.030610522,0.030610522,0.00006 +14-05-2019 17:00,9933439.774,0.054264107,0.054264107,0.00006 +14-05-2019 18:00,9934329.012,0.055302549,0.055302549,0.00006 +14-05-2019 19:00,9935217.677,0.049715764,0.049715764,0.00006 +14-05-2019 20:00,9936105.769,0.041317495,0.041317495,0.00006 +14-05-2019 21:00,9936993.286,0.028891033,0.028891033,0.00006 +14-05-2019 22:00,9937880.228,0.013913874,0.013913874,0.00006 +14-05-2019 23:00,9938766.596,0.004869856,0.004869856,0.00006 +15-05-2019 0:00,9939652.388,0.002782775,0.002782775,0.00006 +15-05-2019 1:00,9940537.604,0.000695694,0.000695694,0.00006 +15-05-2019 2:00,9941422.243,0.000959229,0.000959229,0.00006 +15-05-2019 3:00,9942306.306,0.001711937,0.001711937,0.00006 +15-05-2019 4:00,9943189.791,0.005332482,0.005332482,0.00006 +15-05-2019 5:00,9944072.698,0.040626368,0.040626368,0.00006 +15-05-2019 6:00,9944955.027,0.06723322,0.06723322,0.00006 +15-05-2019 7:00,9945836.777,0.050089945,0.050089945,0.00006 +15-05-2019 8:00,9946717.948,0.059133963,0.059133963,0.00006 +15-05-2019 9:00,9947598.54,0.042807294,0.042807294,0.00006 +15-05-2019 10:00,9948478.551,0.037322783,0.037322783,0.00006 +15-05-2019 11:00,9949357.982,0.031329647,0.031329647,0.00006 +15-05-2019 12:00,9950236.831,0.025044973,0.025044973,0.00006 +15-05-2019 13:00,9951115.1,0.021566504,0.021566504,0.00006 +15-05-2019 14:00,9951992.786,0.016696648,0.016696648,0.00006 +15-05-2019 15:00,9952869.89,0.018783729,0.018783729,0.00006 +15-05-2019 16:00,9953746.411,0.030610522,0.030610522,0.00006 +15-05-2019 17:00,9954622.349,0.054264107,0.054264107,0.00006 +15-05-2019 18:00,9955497.703,0.054959801,0.054959801,0.00006 +15-05-2019 19:00,9956372.473,0.049108709,0.049108709,0.00006 +15-05-2019 20:00,9957246.659,0.040936982,0.040936982,0.00006 +15-05-2019 21:00,9958120.259,0.028845516,0.028845516,0.00006 +15-05-2019 22:00,9958993.274,0.013913874,0.013913874,0.00006 +15-05-2019 23:00,9959865.703,0.004869856,0.004869856,0.00006 +16-05-2019 0:00,9960737.545,0.002782775,0.002782775,0.00006 +16-05-2019 1:00,9961608.801,0.000695694,0.000695694,0.00006 +16-05-2019 2:00,9962479.469,0.000695694,0.000695694,0.00006 +16-05-2019 3:00,9963349.549,0.001391387,0.001391387,0.00006 +16-05-2019 4:00,9964219.042,0.004869856,0.004869856,0.00006 +16-05-2019 5:00,9965087.945,0.040573466,0.040573466,0.00006 +16-05-2019 6:00,9965956.26,0.067833686,0.067833686,0.00006 +16-05-2019 7:00,9966823.985,0.050660453,0.050660453,0.00006 +16-05-2019 8:00,9967691.12,0.060418274,0.060418274,0.00006 +16-05-2019 9:00,9968557.664,0.044084107,0.044084107,0.00006 +16-05-2019 10:00,9969423.618,0.037555589,0.037555589,0.00006 +16-05-2019 11:00,9970288.98,0.032045888,0.032045888,0.00006 +16-05-2019 12:00,9971153.751,0.026080328,0.026080328,0.00006 +16-05-2019 13:00,9972017.929,0.021566504,0.021566504,0.00006 +16-05-2019 14:00,9972881.515,0.016696648,0.016696648,0.00006 +16-05-2019 15:00,9973744.507,0.018783729,0.018783729,0.00006 +16-05-2019 16:00,9974606.906,0.030610522,0.030610522,0.00006 +16-05-2019 17:00,9975468.711,0.054264107,0.054264107,0.00006 +16-05-2019 18:00,9976329.922,0.054992611,0.054992611,0.00006 +16-05-2019 19:00,9977190.538,0.049062605,0.049062605,0.00006 +16-05-2019 20:00,9978050.558,0.040950851,0.040950851,0.00006 +16-05-2019 21:00,9978909.983,0.0288295,0.0288295,0.00006 +16-05-2019 22:00,9979768.811,0.013913874,0.013913874,0.00006 +16-05-2019 23:00,9980627.043,0.004869856,0.004869856,0.00006 +17-05-2019 0:00,9981484.677,0.002782775,0.002782775,0.00006 +17-05-2019 1:00,9982341.714,0.000695694,0.000695694,0.00006 +17-05-2019 2:00,9983198.153,0.000695694,0.000695694,0.00006 +17-05-2019 3:00,9984053.994,0.001391387,0.001391387,0.00006 +17-05-2019 4:00,9984909.236,0.004869856,0.004869856,0.00006 +17-05-2019 5:00,9985763.878,0.04022842,0.04022842,0.00006 +17-05-2019 6:00,9986617.921,0.066934192,0.066934192,0.00006 +17-05-2019 7:00,9987471.364,0.050576969,0.050576969,0.00006 +17-05-2019 8:00,9988324.206,0.059689843,0.059689843,0.00006 +17-05-2019 9:00,9989176.447,0.044001953,0.044001953,0.00006 +17-05-2019 10:00,9990028.086,0.037842982,0.037842982,0.00006 +17-05-2019 11:00,9990879.124,0.032124914,0.032124914,0.00006 +17-05-2019 12:00,9991729.559,0.026733444,0.026733444,0.00006 +17-05-2019 13:00,9992579.391,0.021566504,0.021566504,0.00006 +17-05-2019 14:00,9993428.62,0.016696648,0.016696648,0.00006 +17-05-2019 15:00,9994277.246,0.018783729,0.018783729,0.00006 +17-05-2019 16:00,9995125.267,0.030610522,0.030610522,0.00006 +17-05-2019 17:00,9995972.684,0.054264107,0.054264107,0.00006 +17-05-2019 18:00,9996819.495,0.055185114,0.055185114,0.00006 +17-05-2019 19:00,9997665.702,0.04955822,0.04955822,0.00006 +17-05-2019 20:00,9998511.302,0.041123013,0.041123013,0.00006 +17-05-2019 21:00,9999356.296,0.028816012,0.028816012,0.00006 +17-05-2019 22:00,10000200.68,0.013913874,0.013913874,0.00006 +17-05-2019 23:00,10001044.46,0.004869856,0.004869856,0.00006 +18-05-2019 0:00,10001887.64,0.002782775,0.002782775,0.00006 +18-05-2019 1:00,10002730.2,0.000695694,0.000695694,0.00006 +18-05-2019 2:00,10003572.16,0.000695694,0.000695694,0.00006 +18-05-2019 3:00,10004413.5,0.001391387,0.001391387,0.00006 +18-05-2019 4:00,10005254.24,0.005021555,0.005021555,0.00006 +18-05-2019 5:00,10006094.37,0.04013744,0.04013744,0.00006 +18-05-2019 6:00,10006933.89,0.066214094,0.066214094,0.00006 +18-05-2019 7:00,10007772.8,0.050089945,0.050089945,0.00006 +18-05-2019 8:00,10008611.09,0.059133963,0.059133963,0.00006 +18-05-2019 9:00,10009448.78,0.042883657,0.042883657,0.00006 +18-05-2019 10:00,10010285.85,0.036871765,0.036871765,0.00006 +18-05-2019 11:00,10011122.31,0.031306216,0.031306216,0.00006 +18-05-2019 12:00,10011958.16,0.025044973,0.025044973,0.00006 +18-05-2019 13:00,10012793.39,0.021566504,0.021566504,0.00006 +18-05-2019 14:00,10013628.01,0.016696648,0.016696648,0.00006 +18-05-2019 15:00,10014462.02,0.018783729,0.018783729,0.00006 +18-05-2019 16:00,10015295.41,0.030610522,0.030610522,0.00006 +18-05-2019 17:00,10016128.19,0.054264107,0.054264107,0.00006 +18-05-2019 18:00,10016960.35,0.054959801,0.054959801,0.00006 +18-05-2019 19:00,10017791.9,0.048698558,0.048698558,0.00006 +18-05-2019 20:00,10018622.83,0.040350234,0.040350234,0.00006 +18-05-2019 21:00,10019453.14,0.028523441,0.028523441,0.00006 +18-05-2019 22:00,10020282.84,0.013913874,0.013913874,0.00006 +18-05-2019 23:00,10021111.92,0.004869856,0.004869856,0.00006 +19-05-2019 0:00,10021940.38,0.002782775,0.002782775,0.00006 +19-05-2019 1:00,10022768.22,0.000695694,0.000695694,0.00006 +19-05-2019 2:00,10023595.44,0.000695694,0.000695694,0.00006 +19-05-2019 3:00,10024422.05,0.001391387,0.001391387,0.00006 +19-05-2019 4:00,10025248.03,0.004869856,0.004869856,0.00006 +19-05-2019 5:00,10026073.4,0.039147898,0.039147898,0.00006 +19-05-2019 6:00,10026898.14,0.064699512,0.064699512,0.00006 +19-05-2019 7:00,10027722.26,0.050089945,0.050089945,0.00006 +19-05-2019 8:00,10028545.77,0.059133963,0.059133963,0.00006 +19-05-2019 9:00,10029368.65,0.042561543,0.042561543,0.00006 +19-05-2019 10:00,10030190.91,0.036871765,0.036871765,0.00006 +19-05-2019 11:00,10031012.54,0.031306216,0.031306216,0.00006 +19-05-2019 12:00,10031833.55,0.025151291,0.025151291,0.00006 +19-05-2019 13:00,10032653.94,0.021566504,0.021566504,0.00006 +19-05-2019 14:00,10033473.71,0.016696648,0.016696648,0.00006 +19-05-2019 15:00,10034292.85,0.018783729,0.018783729,0.00006 +19-05-2019 16:00,10035111.37,0.030610522,0.030610522,0.00006 +19-05-2019 17:00,10035929.26,0.054264107,0.054264107,0.00006 +19-05-2019 18:00,10036746.52,0.054959801,0.054959801,0.00006 +19-05-2019 19:00,10037563.16,0.048698558,0.048698558,0.00006 +19-05-2019 20:00,10038379.18,0.040350234,0.040350234,0.00006 +19-05-2019 21:00,10039194.56,0.028523441,0.028523441,0.00006 +19-05-2019 22:00,10040009.32,0.013913874,0.013913874,0.00006 +19-05-2019 23:00,10040823.45,0.004869856,0.004869856,0.00006 +20-05-2019 0:00,10041636.96,0.002782775,0.002782775,0.00006 +20-05-2019 1:00,10042449.83,0.000695694,0.000695694,0.00006 +20-05-2019 2:00,10043262.08,0.000695694,0.000695694,0.00006 +20-05-2019 3:00,10044073.69,0.001391387,0.001391387,0.00006 +20-05-2019 4:00,10044884.68,0.004869856,0.004869856,0.00006 +20-05-2019 5:00,10045695.04,0.039166597,0.039166597,0.00006 +20-05-2019 6:00,10046504.76,0.064699512,0.064699512,0.00006 +20-05-2019 7:00,10047313.86,0.050089945,0.050089945,0.00006 +20-05-2019 8:00,10048122.32,0.059133963,0.059133963,0.00006 +20-05-2019 9:00,10048930.16,0.042648365,0.042648365,0.00006 +20-05-2019 10:00,10049737.36,0.036871765,0.036871765,0.00006 +20-05-2019 11:00,10050543.92,0.031306216,0.031306216,0.00006 +20-05-2019 12:00,10051349.86,0.025243738,0.025243738,0.00006 +20-05-2019 13:00,10052155.16,0.021566504,0.021566504,0.00006 +20-05-2019 14:00,10052959.83,0.016696648,0.016696648,0.00006 +20-05-2019 15:00,10053763.86,0.018783729,0.018783729,0.00006 +20-05-2019 16:00,10054567.26,0.030610522,0.030610522,0.00006 +20-05-2019 17:00,10055370.02,0.054264107,0.054264107,0.00006 +20-05-2019 18:00,10056172.15,0.054959801,0.054959801,0.00006 +20-05-2019 19:00,10056973.64,0.048698558,0.048698558,0.00006 +20-05-2019 20:00,10057774.49,0.040350234,0.040350234,0.00006 +20-05-2019 21:00,10058574.71,0.028523441,0.028523441,0.00006 +20-05-2019 22:00,10059374.29,0.013913874,0.013913874,0.00006 +20-05-2019 23:00,10060173.23,0.004869856,0.004869856,0.00006 +21-05-2019 0:00,10060971.54,0.002782775,0.002782775,0.00006 +21-05-2019 1:00,10061769.21,0.000695694,0.000695694,0.00006 +21-05-2019 2:00,10062566.23,0.000695694,0.000695694,0.00006 +21-05-2019 3:00,10063362.62,0.001391387,0.001391387,0.00006 +21-05-2019 4:00,10064158.37,0.004869856,0.004869856,0.00006 +21-05-2019 5:00,10064953.48,0.039315526,0.039315526,0.00006 +21-05-2019 6:00,10065747.95,0.064699512,0.064699512,0.00006 +21-05-2019 7:00,10066541.78,0.050089945,0.050089945,0.00006 +21-05-2019 8:00,10067334.96,0.059133963,0.059133963,0.00006 +21-05-2019 9:00,10068127.51,0.04281593,0.04281593,0.00006 +21-05-2019 10:00,10068919.41,0.036871765,0.036871765,0.00006 +21-05-2019 11:00,10069710.67,0.031317288,0.031317288,0.00006 +21-05-2019 12:00,10070501.29,0.025388791,0.025388791,0.00006 +21-05-2019 13:00,10071291.26,0.021566504,0.021566504,0.00006 +21-05-2019 14:00,10072080.59,0.016696648,0.016696648,0.00006 +21-05-2019 15:00,10072869.28,0.018783729,0.018783729,0.00006 +21-05-2019 16:00,10073657.32,0.030610522,0.030610522,0.00006 +21-05-2019 17:00,10074444.71,0.054264107,0.054264107,0.00006 +21-05-2019 18:00,10075231.46,0.054959801,0.054959801,0.00006 +21-05-2019 19:00,10076017.57,0.048818087,0.048818087,0.00006 +21-05-2019 20:00,10076803.03,0.040350234,0.040350234,0.00006 +21-05-2019 21:00,10077587.84,0.02866768,0.02866768,0.00006 +21-05-2019 22:00,10078372.01,0.013913874,0.013913874,0.00006 +21-05-2019 23:00,10079155.52,0.004869856,0.004869856,0.00006 +22-05-2019 0:00,10079938.39,0.002782775,0.002782775,0.00006 +22-05-2019 1:00,10080720.62,0.000695694,0.000695694,0.00006 +22-05-2019 2:00,10081502.19,0.000695694,0.000695694,0.00006 +22-05-2019 3:00,10082283.11,0.001391387,0.001391387,0.00006 +22-05-2019 4:00,10083063.39,0.004869856,0.004869856,0.00006 +22-05-2019 5:00,10083843.01,0.039491929,0.039491929,0.00006 +22-05-2019 6:00,10084621.99,0.064699512,0.064699512,0.00006 +22-05-2019 7:00,10085400.31,0.050089945,0.050089945,0.00006 +22-05-2019 8:00,10086177.99,0.059133963,0.059133963,0.00006 +22-05-2019 9:00,10086955.01,0.042493956,0.042493956,0.00006 +22-05-2019 10:00,10087731.38,0.036871765,0.036871765,0.00006 +22-05-2019 11:00,10088507.1,0.031306216,0.031306216,0.00006 +22-05-2019 12:00,10089282.16,0.025044973,0.025044973,0.00006 +22-05-2019 13:00,10090056.58,0.021566504,0.021566504,0.00006 +22-05-2019 14:00,10090830.33,0.016696648,0.016696648,0.00006 +22-05-2019 15:00,10091603.44,0.018783729,0.018783729,0.00006 +22-05-2019 16:00,10092375.89,0.030610522,0.030610522,0.00006 +22-05-2019 17:00,10093147.69,0.054264107,0.054264107,0.00006 +22-05-2019 18:00,10093918.83,0.054959801,0.054959801,0.00006 +22-05-2019 19:00,10094689.32,0.048698558,0.048698558,0.00006 +22-05-2019 20:00,10095459.15,0.040350234,0.040350234,0.00006 +22-05-2019 21:00,10096228.32,0.028523441,0.028523441,0.00006 +22-05-2019 22:00,10096996.84,0.013913874,0.013913874,0.00006 +22-05-2019 23:00,10097764.7,0.004869856,0.004869856,0.00006 +23-05-2019 0:00,10098531.9,0.002782775,0.002782775,0.00006 +23-05-2019 1:00,10099298.45,0.000695694,0.000695694,0.00006 +23-05-2019 2:00,10100064.34,0.000695694,0.000695694,0.00006 +23-05-2019 3:00,10100829.56,0.001391387,0.001391387,0.00006 +23-05-2019 4:00,10101594.13,0.004869856,0.004869856,0.00006 +23-05-2019 5:00,10102358.04,0.039132526,0.039132526,0.00006 +23-05-2019 6:00,10103121.3,0.064699512,0.064699512,0.00006 +23-05-2019 7:00,10103883.89,0.050089945,0.050089945,0.00006 +23-05-2019 8:00,10104645.82,0.059133963,0.059133963,0.00006 +23-05-2019 9:00,10105407.09,0.042437315,0.042437315,0.00006 +23-05-2019 10:00,10106167.69,0.036871765,0.036871765,0.00006 +23-05-2019 11:00,10106927.64,0.031306216,0.031306216,0.00006 +23-05-2019 12:00,10107686.93,0.025044973,0.025044973,0.00006 +23-05-2019 13:00,10108445.55,0.021566504,0.021566504,0.00006 +23-05-2019 14:00,10109203.51,0.016696648,0.016696648,0.00006 +23-05-2019 15:00,10109960.8,0.018783729,0.018783729,0.00006 +23-05-2019 16:00,10110717.43,0.030610522,0.030610522,0.00006 +23-05-2019 17:00,10111473.4,0.054264107,0.054264107,0.00006 +23-05-2019 18:00,10112228.71,0.054959801,0.054959801,0.00006 +23-05-2019 19:00,10112983.34,0.048698558,0.048698558,0.00006 +23-05-2019 20:00,10113737.32,0.040350234,0.040350234,0.00006 +23-05-2019 21:00,10114490.63,0.028523441,0.028523441,0.00006 +23-05-2019 22:00,10115243.27,0.013913874,0.013913874,0.00006 +23-05-2019 23:00,10115995.24,0.004869856,0.004869856,0.00006 +24-05-2019 0:00,10116746.55,0.002782775,0.002782775,0.00006 +24-05-2019 1:00,10117497.2,0.000695694,0.000695694,0.00006 +24-05-2019 2:00,10118247.17,0.000695694,0.000695694,0.00006 +24-05-2019 3:00,10118996.48,0.001391387,0.001391387,0.00006 +24-05-2019 4:00,10119745.12,0.004869856,0.004869856,0.00006 +24-05-2019 5:00,10120493.09,0.038996651,0.038996651,0.00006 +24-05-2019 6:00,10121240.39,0.064699512,0.064699512,0.00006 +24-05-2019 7:00,10121987.02,0.050089945,0.050089945,0.00006 +24-05-2019 8:00,10122732.98,0.059133963,0.059133963,0.00006 +24-05-2019 9:00,10123478.27,0.042437315,0.042437315,0.00006 +24-05-2019 10:00,10124222.89,0.036871765,0.036871765,0.00006 +24-05-2019 11:00,10124966.84,0.031306216,0.031306216,0.00006 +24-05-2019 12:00,10125710.12,0.025044973,0.025044973,0.00006 +24-05-2019 13:00,10126452.72,0.021566504,0.021566504,0.00006 +24-05-2019 14:00,10127194.66,0.016696648,0.016696648,0.00006 +24-05-2019 15:00,10127935.92,0.018783729,0.018783729,0.00006 +24-05-2019 16:00,10128676.51,0.030610522,0.030610522,0.00006 +24-05-2019 17:00,10129416.43,0.054264107,0.054264107,0.00006 +24-05-2019 18:00,10130155.67,0.054959801,0.054959801,0.00006 +24-05-2019 19:00,10130894.24,0.048698558,0.048698558,0.00006 +24-05-2019 20:00,10131632.13,0.040350234,0.040350234,0.00006 +24-05-2019 21:00,10132369.35,0.028523441,0.028523441,0.00006 +24-05-2019 22:00,10133105.89,0.013913874,0.013913874,0.00006 +24-05-2019 23:00,10133841.76,0.004869856,0.004869856,0.00006 +25-05-2019 0:00,10134576.95,0.002782775,0.002782775,0.00006 +25-05-2019 1:00,10135311.47,0.000695694,0.000695694,0.00006 +25-05-2019 2:00,10136045.31,0.000695694,0.000695694,0.00006 +25-05-2019 3:00,10136778.47,0.001391387,0.001391387,0.00006 +25-05-2019 4:00,10137510.95,0.004869856,0.004869856,0.00006 +25-05-2019 5:00,10138242.76,0.038958846,0.038958846,0.00006 +25-05-2019 6:00,10138973.89,0.064699512,0.064699512,0.00006 +25-05-2019 7:00,10139704.34,0.050089945,0.050089945,0.00006 +25-05-2019 8:00,10140434.11,0.059133963,0.059133963,0.00006 +25-05-2019 9:00,10141163.2,0.042437315,0.042437315,0.00006 +25-05-2019 10:00,10141891.62,0.036871765,0.036871765,0.00006 +25-05-2019 11:00,10142619.35,0.031306216,0.031306216,0.00006 +25-05-2019 12:00,10143346.4,0.025044973,0.025044973,0.00006 +25-05-2019 13:00,10144072.77,0.021566504,0.021566504,0.00006 +25-05-2019 14:00,10144798.46,0.016696648,0.016696648,0.00006 +25-05-2019 15:00,10145523.47,0.018783729,0.018783729,0.00006 +25-05-2019 16:00,10146247.8,0.030610522,0.030610522,0.00006 +25-05-2019 17:00,10146971.44,0.054264107,0.054264107,0.00006 +25-05-2019 18:00,10147694.4,0.054959801,0.054959801,0.00006 +25-05-2019 19:00,10148416.68,0.048698558,0.048698558,0.00006 +25-05-2019 20:00,10149138.27,0.040350234,0.040350234,0.00006 +25-05-2019 21:00,10149859.19,0.028523441,0.028523441,0.00006 +25-05-2019 22:00,10150579.41,0.013913874,0.013913874,0.00006 +25-05-2019 23:00,10151298.95,0.004869856,0.004869856,0.00006 +26-05-2019 0:00,10152017.81,0.002782775,0.002782775,0.00006 +26-05-2019 1:00,10152735.98,0.000695694,0.000695694,0.00006 +26-05-2019 2:00,10153453.47,0.000695694,0.000695694,0.00006 +26-05-2019 3:00,10154170.27,0.001391387,0.001391387,0.00006 +26-05-2019 4:00,10154886.39,0.004869856,0.004869856,0.00006 +26-05-2019 5:00,10155601.81,0.038958846,0.038958846,0.00006 +26-05-2019 6:00,10156316.55,0.064699512,0.064699512,0.00006 +26-05-2019 7:00,10157030.61,0.050089945,0.050089945,0.00006 +26-05-2019 8:00,10157743.97,0.059133963,0.059133963,0.00006 +26-05-2019 9:00,10158456.65,0.042437315,0.042437315,0.00006 +26-05-2019 10:00,10159168.64,0.036871765,0.036871765,0.00006 +26-05-2019 11:00,10159879.94,0.031306216,0.031306216,0.00006 +26-05-2019 12:00,10160590.55,0.025044973,0.025044973,0.00006 +26-05-2019 13:00,10161300.47,0.021566504,0.021566504,0.00006 +26-05-2019 14:00,10162009.7,0.016696648,0.016696648,0.00006 +26-05-2019 15:00,10162718.24,0.018783729,0.018783729,0.00006 +26-05-2019 16:00,10163426.09,0.030610522,0.030610522,0.00006 +26-05-2019 17:00,10164133.24,0.054264107,0.054264107,0.00006 +26-05-2019 18:00,10164839.71,0.054959801,0.054959801,0.00006 +26-05-2019 19:00,10165545.48,0.048698558,0.048698558,0.00006 +26-05-2019 20:00,10166250.57,0.040350234,0.040350234,0.00006 +26-05-2019 21:00,10166954.96,0.028523441,0.028523441,0.00006 +26-05-2019 22:00,10167658.65,0.013913874,0.013913874,0.00006 +26-05-2019 23:00,10168361.66,0.004869856,0.004869856,0.00006 +27-05-2019 0:00,10169063.97,0.002782775,0.002782775,0.00006 +27-05-2019 1:00,10169765.58,0.000695694,0.000695694,0.00006 +27-05-2019 2:00,10170466.5,0.000695694,0.000695694,0.00006 +27-05-2019 3:00,10171166.73,0.001391387,0.001391387,0.00006 +27-05-2019 4:00,10171866.26,0.004869856,0.004869856,0.00006 +27-05-2019 5:00,10172565.1,0.038958846,0.038958846,0.00006 +27-05-2019 6:00,10173263.24,0.064699512,0.064699512,0.00006 +27-05-2019 7:00,10173960.68,0.050089945,0.050089945,0.00006 +27-05-2019 8:00,10174657.43,0.059133963,0.059133963,0.00006 +27-05-2019 9:00,10175353.48,0.042437315,0.042437315,0.00006 +27-05-2019 10:00,10176048.83,0.036871765,0.036871765,0.00006 +27-05-2019 11:00,10176743.49,0.031306216,0.031306216,0.00006 +27-05-2019 12:00,10177437.45,0.025044973,0.025044973,0.00006 +27-05-2019 13:00,10178130.71,0.021566504,0.021566504,0.00006 +27-05-2019 14:00,10178823.27,0.016696648,0.016696648,0.00006 +27-05-2019 15:00,10179515.13,0.018783729,0.018783729,0.00006 +27-05-2019 16:00,10180206.29,0.030610522,0.030610522,0.00006 +27-05-2019 17:00,10180896.75,0.054264107,0.054264107,0.00006 +27-05-2019 18:00,10181586.51,0.054959801,0.054959801,0.00006 +27-05-2019 19:00,10182275.58,0.048698558,0.048698558,0.00006 +27-05-2019 20:00,10182963.94,0.040350234,0.040350234,0.00006 +27-05-2019 21:00,10183651.6,0.028523441,0.028523441,0.00006 +27-05-2019 22:00,10184338.55,0.013913874,0.013913874,0.00006 +27-05-2019 23:00,10185024.81,0.004869856,0.004869856,0.00006 +28-05-2019 0:00,10185710.37,0.002782775,0.002782775,0.00006 +28-05-2019 1:00,10186395.22,0.000695694,0.000695694,0.00006 +28-05-2019 2:00,10187079.36,0.000695694,0.000695694,0.00006 +28-05-2019 3:00,10187762.81,0.001391387,0.001391387,0.00006 +28-05-2019 4:00,10188445.55,0.004869856,0.004869856,0.00006 +28-05-2019 5:00,10189127.59,0.038958846,0.038958846,0.00006 +28-05-2019 6:00,10189808.92,0.064699512,0.064699512,0.00006 +28-05-2019 7:00,10190489.55,0.050089945,0.050089945,0.00006 +28-05-2019 8:00,10191169.47,0.059133963,0.059133963,0.00006 +28-05-2019 9:00,10191848.69,0.042437315,0.042437315,0.00006 +28-05-2019 10:00,10192527.2,0.036871765,0.036871765,0.00006 +28-05-2019 11:00,10193205.01,0.031306216,0.031306216,0.00006 +28-05-2019 12:00,10193882.11,0.025044973,0.025044973,0.00006 +28-05-2019 13:00,10194558.5,0.021566504,0.021566504,0.00006 +28-05-2019 14:00,10195234.19,0.016696648,0.016696648,0.00006 +28-05-2019 15:00,10195909.17,0.018783729,0.018783729,0.00006 +28-05-2019 16:00,10196583.44,0.030610522,0.030610522,0.00006 +28-05-2019 17:00,10197257,0.054264107,0.054264107,0.00006 +28-05-2019 18:00,10197929.85,0.054959801,0.054959801,0.00006 +28-05-2019 19:00,10198602,0.048698558,0.048698558,0.00006 +28-05-2019 20:00,10199273.43,0.040350234,0.040350234,0.00006 +28-05-2019 21:00,10199944.16,0.028523441,0.028523441,0.00006 +28-05-2019 22:00,10200614.17,0.013913874,0.013913874,0.00006 +28-05-2019 23:00,10201283.48,0.004869856,0.004869856,0.00006 +29-05-2019 0:00,10201952.07,0.002782775,0.002782775,0.00006 +29-05-2019 1:00,10202619.96,0.000695694,0.000695694,0.00006 +29-05-2019 2:00,10203287.13,0.000695694,0.000695694,0.00006 +29-05-2019 3:00,10203953.59,0.001391387,0.001391387,0.00006 +29-05-2019 4:00,10204619.34,0.004869856,0.004869856,0.00006 +29-05-2019 5:00,10205284.38,0.038958846,0.038958846,0.00006 +29-05-2019 6:00,10205948.7,0.064699512,0.064699512,0.00006 +29-05-2019 7:00,10206612.31,0.050089945,0.050089945,0.00006 +29-05-2019 8:00,10207275.21,0.059133963,0.059133963,0.00006 +29-05-2019 9:00,10207937.39,0.042437315,0.042437315,0.00006 +29-05-2019 10:00,10208598.86,0.036871765,0.036871765,0.00006 +29-05-2019 11:00,10209259.62,0.031306216,0.031306216,0.00006 +29-05-2019 12:00,10209919.66,0.025044973,0.025044973,0.00006 +29-05-2019 13:00,10210578.99,0.021566504,0.021566504,0.00006 +29-05-2019 14:00,10211237.6,0.016696648,0.016696648,0.00006 +29-05-2019 15:00,10211895.49,0.018783729,0.018783729,0.00006 +29-05-2019 16:00,10212552.67,0.030610522,0.030610522,0.00006 +29-05-2019 17:00,10213209.13,0.054264107,0.054264107,0.00006 +29-05-2019 18:00,10213864.88,0.054959801,0.054959801,0.00006 +29-05-2019 19:00,10214519.91,0.048698558,0.048698558,0.00006 +29-05-2019 20:00,10215174.22,0.040350234,0.040350234,0.00006 +29-05-2019 21:00,10215827.81,0.028523441,0.028523441,0.00006 +29-05-2019 22:00,10216480.69,0.013913874,0.013913874,0.00006 +29-05-2019 23:00,10217132.84,0.004869856,0.004869856,0.00006 +30-05-2019 0:00,10217784.28,0.002782775,0.002782775,0.00006 +30-05-2019 1:00,10218435,0.000695694,0.000695694,0.00006 +30-05-2019 2:00,10219085,0.000695694,0.000695694,0.00006 +30-05-2019 3:00,10219734.28,0.001391387,0.001391387,0.00006 +30-05-2019 4:00,10220382.84,0.004869856,0.004869856,0.00006 +30-05-2019 5:00,10221030.68,0.038958846,0.038958846,0.00006 +30-05-2019 6:00,10221677.79,0.064699512,0.064699512,0.00006 +30-05-2019 7:00,10222324.19,0.050089945,0.050089945,0.00006 +30-05-2019 8:00,10222969.87,0.059133963,0.059133963,0.00006 +30-05-2019 9:00,10223614.82,0.042437315,0.042437315,0.00006 +30-05-2019 10:00,10224259.05,0.036871765,0.036871765,0.00006 +30-05-2019 11:00,10224902.56,0.031306216,0.031306216,0.00006 +30-05-2019 12:00,10225545.35,0.025044973,0.025044973,0.00006 +30-05-2019 13:00,10226187.41,0.021566504,0.021566504,0.00006 +30-05-2019 14:00,10226828.75,0.016696648,0.016696648,0.00006 +30-05-2019 15:00,10227469.37,0.018783729,0.018783729,0.00006 +30-05-2019 16:00,10228109.26,0.030610522,0.030610522,0.00006 +30-05-2019 17:00,10228748.43,0.054264107,0.054264107,0.00006 +30-05-2019 18:00,10229386.87,0.054959801,0.054959801,0.00006 +30-05-2019 19:00,10230024.59,0.048698558,0.048698558,0.00006 +30-05-2019 20:00,10230661.58,0.040350234,0.040350234,0.00006 +30-05-2019 21:00,10231297.85,0.028523441,0.028523441,0.00006 +30-05-2019 22:00,10231933.39,0.013913874,0.013913874,0.00006 +30-05-2019 23:00,10232568.2,0.004869856,0.004869856,0.00006 +31-05-2019 0:00,10233202.29,0.002782775,0.002782775,0.00006 +31-05-2019 1:00,10233835.65,0.000695694,0.000695694,0.00006 +31-05-2019 2:00,10234468.29,0.000695694,0.000695694,0.00006 +31-05-2019 3:00,10235100.19,0.001391387,0.001391387,0.00006 +31-05-2019 4:00,10235731.37,0.004869856,0.004869856,0.00006 +31-05-2019 5:00,10236361.82,0.038958846,0.038958846,0.00006 +31-05-2019 6:00,10236991.54,0.064699512,0.064699512,0.00006 +31-05-2019 7:00,10237620.53,0.050089945,0.050089945,0.00006 +31-05-2019 8:00,10238248.79,0.059133963,0.059133963,0.00006 +31-05-2019 9:00,10238876.33,0.042437315,0.042437315,0.00006 +31-05-2019 10:00,10239503.13,0.036871765,0.036871765,0.00006 +31-05-2019 11:00,10240129.2,0.031306216,0.031306216,0.00006 +31-05-2019 12:00,10240754.54,0.025044973,0.025044973,0.00006 +31-05-2019 13:00,10241379.15,0.021566504,0.021566504,0.00006 +31-05-2019 14:00,10242003.03,0.016696648,0.016696648,0.00006 +31-05-2019 15:00,10242626.18,0.018783729,0.018783729,0.00006 +31-05-2019 16:00,10243248.6,0.030610522,0.030610522,0.00006 +31-05-2019 17:00,10243870.28,0.054264107,0.054264107,0.00006 +31-05-2019 18:00,10244491.23,0.054959801,0.054959801,0.00006 +31-05-2019 19:00,10245111.45,0.048698558,0.048698558,0.00006 +31-05-2019 20:00,10245730.94,0.040350234,0.040350234,0.00006 +31-05-2019 21:00,10246349.69,0.028523441,0.028523441,0.00006 +31-05-2019 22:00,10246967.71,0.013913874,0.013913874,0.00006 +31-05-2019 23:00,10247584.99,0.004869856,0.004869856,0.00006 +1-6-2019 0:00,10248201.54,0.002782775,0.002782775,0.00006 +1-6-2019 1:00,10248817.36,0.000695694,0.000695694,0.00006 +1-6-2019 2:00,10249432.44,0.000695694,0.000695694,0.00006 +1-6-2019 3:00,10250046.78,0.001391387,0.001391387,0.00006 +1-6-2019 4:00,10250660.39,0.004869856,0.004869856,0.00006 +1-6-2019 5:00,10251273.26,0.038958846,0.038958846,0.00006 +1-6-2019 6:00,10251885.4,0.064699512,0.064699512,0.00006 +1-6-2019 7:00,10252496.8,0.050089945,0.050089945,0.00006 +1-6-2019 8:00,10253107.46,0.059133963,0.059133963,0.00006 +1-6-2019 9:00,10253717.39,0.042437315,0.042437315,0.00006 +1-6-2019 10:00,10254326.58,0.036871765,0.036871765,0.00006 +1-6-2019 11:00,10254935.03,0.031306216,0.031306216,0.00006 +1-6-2019 12:00,10255542.74,0.025044973,0.025044973,0.00006 +1-6-2019 13:00,10256149.71,0.021566504,0.021566504,0.00006 +1-6-2019 14:00,10256755.95,0.016696648,0.016696648,0.00006 +1-6-2019 15:00,10257361.44,0.018783729,0.018783729,0.00006 +1-6-2019 16:00,10257966.2,0.030610522,0.030610522,0.00006 +1-6-2019 17:00,10258570.21,0.054264107,0.054264107,0.00006 +1-6-2019 18:00,10259173.49,0.054959801,0.054959801,0.00006 +1-6-2019 19:00,10259776.03,0.048698558,0.048698558,0.00006 +1-6-2019 20:00,10260377.82,0.040350234,0.040350234,0.00006 +1-6-2019 21:00,10260978.87,0.028523441,0.028523441,0.00006 +1-6-2019 22:00,10261579.19,0.013913874,0.013913874,0.00006 +1-6-2019 23:00,10262178.76,0.004869856,0.004869856,0.00006 +2-6-2019 0:00,10262777.59,0.002782775,0.002782775,0.00006 +2-6-2019 1:00,10263375.67,0.000695694,0.000695694,0.00006 +2-6-2019 2:00,10263973.02,0.000695694,0.000695694,0.00006 +2-6-2019 3:00,10264569.62,0.001391387,0.001391387,0.00006 +2-6-2019 4:00,10265165.48,0.004869856,0.004869856,0.00006 +2-6-2019 5:00,10265760.59,0.038958846,0.038958846,0.00006 +2-6-2019 6:00,10266354.96,0.064699512,0.064699512,0.00006 +2-6-2019 7:00,10266948.59,0.050089945,0.050089945,0.00006 +2-6-2019 8:00,10267541.47,0.059133963,0.059133963,0.00006 +2-6-2019 9:00,10268133.61,0.042437315,0.042437315,0.00006 +2-6-2019 10:00,10268725,0.036871765,0.036871765,0.00006 +2-6-2019 11:00,10269315.65,0.031306216,0.031306216,0.00006 +2-6-2019 12:00,10269905.55,0.025044973,0.025044973,0.00006 +2-6-2019 13:00,10270494.71,0.021566504,0.021566504,0.00006 +2-6-2019 14:00,10271083.12,0.016696648,0.016696648,0.00006 +2-6-2019 15:00,10271670.78,0.018783729,0.018783729,0.00006 +2-6-2019 16:00,10272257.7,0.030610522,0.030610522,0.00006 +2-6-2019 17:00,10272843.86,0.054264107,0.054264107,0.00006 +2-6-2019 18:00,10273429.29,0.054959801,0.054959801,0.00006 +2-6-2019 19:00,10274013.96,0.048698558,0.048698558,0.00006 +2-6-2019 20:00,10274597.89,0.040350234,0.040350234,0.00006 +2-6-2019 21:00,10275181.06,0.028523441,0.028523441,0.00006 +2-6-2019 22:00,10275763.49,0.013913874,0.013913874,0.00006 +2-6-2019 23:00,10276345.17,0.004869856,0.004869856,0.00006 +3-6-2019 0:00,10276926.1,0.002782775,0.002782775,0.00006 +3-6-2019 1:00,10277506.28,0.000695694,0.000695694,0.00006 +3-6-2019 2:00,10278085.72,0.000695694,0.000695694,0.00006 +3-6-2019 3:00,10278664.4,0.001391387,0.001391387,0.00006 +3-6-2019 4:00,10279242.33,0.004869856,0.004869856,0.00006 +3-6-2019 5:00,10279819.51,0.038958846,0.038958846,0.00006 +3-6-2019 6:00,10280395.94,0.064699512,0.064699512,0.00006 +3-6-2019 7:00,10280971.62,0.050089945,0.050089945,0.00006 +3-6-2019 8:00,10281546.54,0.059133963,0.059133963,0.00006 +3-6-2019 9:00,10282120.72,0.042437315,0.042437315,0.00006 +3-6-2019 10:00,10282694.14,0.036871765,0.036871765,0.00006 +3-6-2019 11:00,10283266.81,0.031306216,0.031306216,0.00006 +3-6-2019 12:00,10283838.72,0.025044973,0.025044973,0.00006 +3-6-2019 13:00,10284409.89,0.021566504,0.021566504,0.00006 +3-6-2019 14:00,10284980.3,0.016696648,0.016696648,0.00006 +3-6-2019 15:00,10285549.96,0.018783729,0.018783729,0.00006 +3-6-2019 16:00,10286118.86,0.030610522,0.030610522,0.00006 +3-6-2019 17:00,10286687.01,0.054264107,0.054264107,0.00006 +3-6-2019 18:00,10287254.4,0.054959801,0.054959801,0.00006 +3-6-2019 19:00,10287821.04,0.048698558,0.048698558,0.00006 +3-6-2019 20:00,10288386.92,0.040350234,0.040350234,0.00006 +3-6-2019 21:00,10288952.05,0.028523441,0.028523441,0.00006 +3-6-2019 22:00,10289516.42,0.013913874,0.013913874,0.00006 +3-6-2019 23:00,10290080.04,0.004869856,0.004869856,0.00006 +4-6-2019 0:00,10290642.9,0.002782775,0.002782775,0.00006 +4-6-2019 1:00,10291205.01,0.000695694,0.000695694,0.00006 +4-6-2019 2:00,10291766.35,0.000695694,0.000695694,0.00006 +4-6-2019 3:00,10292326.94,0.001391387,0.001391387,0.00006 +4-6-2019 4:00,10292886.78,0.004869856,0.004869856,0.00006 +4-6-2019 5:00,10293445.85,0.038958846,0.038958846,0.00006 +4-6-2019 6:00,10294004.17,0.064699512,0.064699512,0.00006 +4-6-2019 7:00,10294561.72,0.050089945,0.050089945,0.00006 +4-6-2019 8:00,10295118.52,0.059133963,0.059133963,0.00006 +4-6-2019 9:00,10295674.57,0.042437315,0.042437315,0.00006 +4-6-2019 10:00,10296229.85,0.036871765,0.036871765,0.00006 +4-6-2019 11:00,10296784.37,0.031306216,0.031306216,0.00006 +4-6-2019 12:00,10297338.13,0.025044973,0.025044973,0.00006 +4-6-2019 13:00,10297891.13,0.021566504,0.021566504,0.00006 +4-6-2019 14:00,10298443.38,0.016696648,0.016696648,0.00006 +4-6-2019 15:00,10298994.86,0.018783729,0.018783729,0.00006 +4-6-2019 16:00,10299545.58,0.030610522,0.030610522,0.00006 +4-6-2019 17:00,10300095.54,0.054264107,0.054264107,0.00006 +4-6-2019 18:00,10300644.74,0.054959801,0.054959801,0.00006 +4-6-2019 19:00,10301193.17,0.048698558,0.048698558,0.00006 +4-6-2019 20:00,10301740.85,0.040350234,0.040350234,0.00006 +4-6-2019 21:00,10302287.76,0.028523441,0.028523441,0.00006 +4-6-2019 22:00,10302833.91,0.013913874,0.013913874,0.00006 +4-6-2019 23:00,10303379.29,0.004869856,0.004869856,0.00006 +5-6-2019 0:00,10303923.92,0.002782775,0.002782775,0.00006 +5-6-2019 1:00,10304467.78,0.000695694,0.000695694,0.00006 +5-6-2019 2:00,10305010.87,0.000695694,0.000695694,0.00006 +5-6-2019 3:00,10305553.21,0.001391387,0.001391387,0.00006 +5-6-2019 4:00,10306094.77,0.004869856,0.004869856,0.00006 +5-6-2019 5:00,10306635.58,0.038958846,0.038958846,0.00006 +5-6-2019 6:00,10307175.62,0.064699512,0.064699512,0.00006 +5-6-2019 7:00,10307714.89,0.050089945,0.050089945,0.00006 +5-6-2019 8:00,10308253.4,0.059133963,0.059133963,0.00006 +5-6-2019 9:00,10308791.14,0.042437315,0.042437315,0.00006 +5-6-2019 10:00,10309328.12,0.036871765,0.036871765,0.00006 +5-6-2019 11:00,10309864.33,0.031306216,0.031306216,0.00006 +5-6-2019 12:00,10310399.77,0.025044973,0.025044973,0.00006 +5-6-2019 13:00,10310934.45,0.021566504,0.021566504,0.00006 +5-6-2019 14:00,10311468.36,0.016696648,0.016696648,0.00006 +5-6-2019 15:00,10312001.5,0.018783729,0.018783729,0.00006 +5-6-2019 16:00,10312533.88,0.030610522,0.030610522,0.00006 +5-6-2019 17:00,10313065.48,0.054264107,0.054264107,0.00006 +5-6-2019 18:00,10313596.32,0.054959801,0.054959801,0.00006 +5-6-2019 19:00,10314126.39,0.048698558,0.048698558,0.00006 +5-6-2019 20:00,10314655.7,0.040350234,0.040350234,0.00006 +5-6-2019 21:00,10315184.23,0.028523441,0.028523441,0.00006 +5-6-2019 22:00,10315711.99,0.013913874,0.013913874,0.00006 +5-6-2019 23:00,10316238.99,0.004869856,0.004869856,0.00006 +6-6-2019 0:00,10316765.21,0.002782775,0.002782775,0.00006 +6-6-2019 1:00,10317290.67,0.000695694,0.000695694,0.00006 +6-6-2019 2:00,10317815.35,0.000695694,0.000695694,0.00006 +6-6-2019 3:00,10318339.27,0.001391387,0.001391387,0.00006 +6-6-2019 4:00,10318862.41,0.004869856,0.004869856,0.00006 +6-6-2019 5:00,10319384.78,0.038958846,0.038958846,0.00006 +6-6-2019 6:00,10319906.38,0.064699512,0.064699512,0.00006 +6-6-2019 7:00,10320427.21,0.050089945,0.050089945,0.00006 +6-6-2019 8:00,10320947.27,0.059133963,0.059133963,0.00006 +6-6-2019 9:00,10321466.55,0.042437315,0.042437315,0.00006 +6-6-2019 10:00,10321985.07,0.036871765,0.036871765,0.00006 +6-6-2019 11:00,10322502.81,0.031306216,0.031306216,0.00006 +6-6-2019 12:00,10323019.77,0.025044973,0.025044973,0.00006 +6-6-2019 13:00,10323535.97,0.021566504,0.021566504,0.00006 +6-6-2019 14:00,10324051.39,0.016696648,0.016696648,0.00006 +6-6-2019 15:00,10324566.03,0.018783729,0.018783729,0.00006 +6-6-2019 16:00,10325079.91,0.030610522,0.030610522,0.00006 +6-6-2019 17:00,10325593,0.054264107,0.054264107,0.00006 +6-6-2019 18:00,10326105.33,0.054959801,0.054959801,0.00006 +6-6-2019 19:00,10326616.88,0.048698558,0.048698558,0.00006 +6-6-2019 20:00,10327127.65,0.040350234,0.040350234,0.00006 +6-6-2019 21:00,10327637.65,0.028523441,0.028523441,0.00006 +6-6-2019 22:00,10328146.87,0.013913874,0.013913874,0.00006 +6-6-2019 23:00,10328655.32,0.004869856,0.004869856,0.00006 +7-6-2019 0:00,10329162.99,0.002782775,0.002782775,0.00006 +7-6-2019 1:00,10329669.88,0.000695694,0.000695694,0.00006 +7-6-2019 2:00,10330176,0.000695694,0.000695694,0.00006 +7-6-2019 3:00,10330681.34,0.001391387,0.001391387,0.00006 +7-6-2019 4:00,10331185.9,0.004869856,0.004869856,0.00006 +7-6-2019 5:00,10331689.69,0.038958846,0.038958846,0.00006 +7-6-2019 6:00,10332192.7,0.064699512,0.064699512,0.00006 +7-6-2019 7:00,10332694.93,0.050089945,0.050089945,0.00006 +7-6-2019 8:00,10333196.38,0.059133963,0.059133963,0.00006 +7-6-2019 9:00,10333697.05,0.042437315,0.042437315,0.00006 +7-6-2019 10:00,10334196.95,0.036871765,0.036871765,0.00006 +7-6-2019 11:00,10334696.06,0.031306216,0.031306216,0.00006 +7-6-2019 12:00,10335194.4,0.025044973,0.025044973,0.00006 +7-6-2019 13:00,10335691.96,0.021566504,0.021566504,0.00006 +7-6-2019 14:00,10336188.73,0.016696648,0.016696648,0.00006 +7-6-2019 15:00,10336684.73,0.018783729,0.018783729,0.00006 +7-6-2019 16:00,10337179.95,0.030610522,0.030610522,0.00006 +7-6-2019 17:00,10337674.38,0.054264107,0.054264107,0.00006 +7-6-2019 18:00,10338168.04,0.054959801,0.054959801,0.00006 +7-6-2019 19:00,10338660.91,0.048698558,0.048698558,0.00006 +7-6-2019 20:00,10339153.01,0.040350234,0.040350234,0.00006 +7-6-2019 21:00,10339644.32,0.028523441,0.028523441,0.00006 +7-6-2019 22:00,10340134.85,0.013913874,0.013913874,0.00006 +7-6-2019 23:00,10340624.6,0.004869856,0.004869856,0.00006 +8-6-2019 0:00,10341113.56,0.002782775,0.002782775,0.00006 +8-6-2019 1:00,10341601.75,0.000695694,0.000695694,0.00006 +8-6-2019 2:00,10342089.15,0.000695694,0.000695694,0.00006 +8-6-2019 3:00,10342575.76,0.001391387,0.001391387,0.00006 +8-6-2019 4:00,10343061.6,0.004869856,0.004869856,0.00006 +8-6-2019 5:00,10343546.65,0.038958846,0.038958846,0.00006 +8-6-2019 6:00,10344030.91,0.064699512,0.064699512,0.00006 +8-6-2019 7:00,10344514.4,0.050089945,0.050089945,0.00006 +8-6-2019 8:00,10344997.09,0.059133963,0.059133963,0.00006 +8-6-2019 9:00,10345479.01,0.042437315,0.042437315,0.00006 +8-6-2019 10:00,10345960.14,0.036871765,0.036871765,0.00006 +8-6-2019 11:00,10346440.48,0.031306216,0.031306216,0.00006 +8-6-2019 12:00,10346920.04,0.025044973,0.025044973,0.00006 +8-6-2019 13:00,10347398.81,0.021566504,0.021566504,0.00006 +8-6-2019 14:00,10347876.8,0.016696648,0.016696648,0.00006 +8-6-2019 15:00,10348354,0.018783729,0.018783729,0.00006 +8-6-2019 16:00,10348830.42,0.030610522,0.030610522,0.00006 +8-6-2019 17:00,10349306.04,0.054264107,0.054264107,0.00006 +8-6-2019 18:00,10349780.89,0.054959801,0.054959801,0.00006 +8-6-2019 19:00,10350254.94,0.048698558,0.048698558,0.00006 +8-6-2019 20:00,10350728.21,0.040350234,0.040350234,0.00006 +8-6-2019 21:00,10351200.69,0.028523441,0.028523441,0.00006 +8-6-2019 22:00,10351672.38,0.013913874,0.013913874,0.00006 +8-6-2019 23:00,10352143.28,0.004869856,0.004869856,0.00006 +9-6-2019 0:00,10352613.4,0.002782775,0.002782775,0.00006 +9-6-2019 1:00,10353082.73,0.000695694,0.000695694,0.00006 +9-6-2019 2:00,10353551.26,0.000695694,0.000695694,0.00006 +9-6-2019 3:00,10354019.01,0.001391387,0.001391387,0.00006 +9-6-2019 4:00,10354485.98,0.004869856,0.004869856,0.00006 +9-6-2019 5:00,10354952.15,0.038958846,0.038958846,0.00006 +9-6-2019 6:00,10355417.53,0.064699512,0.064699512,0.00006 +9-6-2019 7:00,10355882.12,0.050089945,0.050089945,0.00006 +9-6-2019 8:00,10356345.92,0.059133963,0.059133963,0.00006 +9-6-2019 9:00,10356808.93,0.042437315,0.042437315,0.00006 +9-6-2019 10:00,10357271.15,0.036871765,0.036871765,0.00006 +9-6-2019 11:00,10357732.58,0.031306216,0.031306216,0.00006 +9-6-2019 12:00,10358193.22,0.025044973,0.025044973,0.00006 +9-6-2019 13:00,10358653.07,0.021566504,0.021566504,0.00006 +9-6-2019 14:00,10359112.12,0.016696648,0.016696648,0.00006 +9-6-2019 15:00,10359570.39,0.018783729,0.018783729,0.00006 +9-6-2019 16:00,10360027.86,0.030610522,0.030610522,0.00006 +9-6-2019 17:00,10360484.54,0.054264107,0.054264107,0.00006 +9-6-2019 18:00,10360940.42,0.054959801,0.054959801,0.00006 +9-6-2019 19:00,10361395.52,0.048698558,0.048698558,0.00006 +9-6-2019 20:00,10361849.82,0.040350234,0.040350234,0.00006 +9-6-2019 21:00,10362303.33,0.028523441,0.028523441,0.00006 +9-6-2019 22:00,10362756.04,0.013913874,0.013913874,0.00006 +9-6-2019 23:00,10363207.96,0.004869856,0.004869856,0.00006 +10-6-2019 0:00,10363659.09,0.002782775,0.002782775,0.00006 +10-6-2019 1:00,10364109.42,0.000695694,0.000695694,0.00006 +10-6-2019 2:00,10364558.96,0.000695694,0.000695694,0.00006 +10-6-2019 3:00,10365007.7,0.001391387,0.001391387,0.00006 +10-6-2019 4:00,10365455.65,0.004869856,0.004869856,0.00006 +10-6-2019 5:00,10365902.81,0.038958846,0.038958846,0.00006 +10-6-2019 6:00,10366349.16,0.064699512,0.064699512,0.00006 +10-6-2019 7:00,10366794.73,0.050089945,0.050089945,0.00006 +10-6-2019 8:00,10367239.49,0.059133963,0.059133963,0.00006 +10-6-2019 9:00,10367683.47,0.042437315,0.042437315,0.00006 +10-6-2019 10:00,10368126.64,0.036871765,0.036871765,0.00006 +10-6-2019 11:00,10368569.02,0.031306216,0.031306216,0.00006 +10-6-2019 12:00,10369010.6,0.025044973,0.025044973,0.00006 +10-6-2019 13:00,10369451.39,0.021566504,0.021566504,0.00006 +10-6-2019 14:00,10369891.37,0.016696648,0.016696648,0.00006 +10-6-2019 15:00,10370330.56,0.018783729,0.018783729,0.00006 +10-6-2019 16:00,10370768.96,0.030610522,0.030610522,0.00006 +10-6-2019 17:00,10371206.55,0.054264107,0.054264107,0.00006 +10-6-2019 18:00,10371643.35,0.054959801,0.054959801,0.00006 +10-6-2019 19:00,10372079.35,0.048698558,0.048698558,0.00006 +10-6-2019 20:00,10372514.55,0.040350234,0.040350234,0.00006 +10-6-2019 21:00,10372948.95,0.028523441,0.028523441,0.00006 +10-6-2019 22:00,10373382.55,0.013913874,0.013913874,0.00006 +10-6-2019 23:00,10373815.36,0.004869856,0.004869856,0.00006 +11-6-2019 0:00,10374247.36,0.002782775,0.002782775,0.00006 +11-6-2019 1:00,10374678.56,0.000695694,0.000695694,0.00006 +11-6-2019 2:00,10375108.97,0.000695694,0.000695694,0.00006 +11-6-2019 3:00,10375538.57,0.001391387,0.001391387,0.00006 +11-6-2019 4:00,10375967.38,0.004869856,0.004869856,0.00006 +11-6-2019 5:00,10376395.38,0.038958846,0.038958846,0.00006 +11-6-2019 6:00,10376822.58,0.064699512,0.064699512,0.00006 +11-6-2019 7:00,10377248.99,0.050089945,0.050089945,0.00006 +11-6-2019 8:00,10377674.59,0.059133963,0.059133963,0.00006 +11-6-2019 9:00,10378099.39,0.042437315,0.042437315,0.00006 +11-6-2019 10:00,10378523.39,0.036871765,0.036871765,0.00006 +11-6-2019 11:00,10378946.58,0.031306216,0.031306216,0.00006 +11-6-2019 12:00,10379368.98,0.025044973,0.025044973,0.00006 +11-6-2019 13:00,10379790.57,0.021566504,0.021566504,0.00006 +11-6-2019 14:00,10380211.36,0.016696648,0.016696648,0.00006 +11-6-2019 15:00,10380631.35,0.018783729,0.018783729,0.00006 +11-6-2019 16:00,10381050.53,0.030610522,0.030610522,0.00006 +11-6-2019 17:00,10381468.91,0.054264107,0.054264107,0.00006 +11-6-2019 18:00,10381886.49,0.054959801,0.054959801,0.00006 +11-6-2019 19:00,10382303.26,0.048698558,0.048698558,0.00006 +11-6-2019 20:00,10382719.23,0.040350234,0.040350234,0.00006 +11-6-2019 21:00,10383134.4,0.028523441,0.028523441,0.00006 +11-6-2019 22:00,10383548.76,0.013913874,0.013913874,0.00006 +11-6-2019 23:00,10383962.32,0.004869856,0.004869856,0.00006 +12-6-2019 0:00,10384375.07,0.002782775,0.002782775,0.00006 +12-6-2019 1:00,10384787.02,0.000695694,0.000695694,0.00006 +12-6-2019 2:00,10385198.16,0.000695694,0.000695694,0.00006 +12-6-2019 3:00,10385608.5,0.001391387,0.001391387,0.00006 +12-6-2019 4:00,10386018.04,0.004869856,0.004869856,0.00006 +12-6-2019 5:00,10386426.76,0.038958846,0.038958846,0.00006 +12-6-2019 6:00,10386834.68,0.064699512,0.064699512,0.00006 +12-6-2019 7:00,10387241.8,0.050089945,0.050089945,0.00006 +12-6-2019 8:00,10387648.11,0.059133963,0.059133963,0.00006 +12-6-2019 9:00,10388053.61,0.042437315,0.042437315,0.00006 +12-6-2019 10:00,10388458.31,0.036871765,0.036871765,0.00006 +12-6-2019 11:00,10388862.2,0.031306216,0.031306216,0.00006 +12-6-2019 12:00,10389265.28,0.025044973,0.025044973,0.00006 +12-6-2019 13:00,10389667.55,0.021566504,0.021566504,0.00006 +12-6-2019 14:00,10390069.02,0.016696648,0.016696648,0.00006 +12-6-2019 15:00,10390469.68,0.018783729,0.018783729,0.00006 +12-6-2019 16:00,10390869.53,0.030610522,0.030610522,0.00006 +12-6-2019 17:00,10391268.57,0.054264107,0.054264107,0.00006 +12-6-2019 18:00,10391666.81,0.054959801,0.054959801,0.00006 +12-6-2019 19:00,10392064.23,0.048698558,0.048698558,0.00006 +12-6-2019 20:00,10392460.85,0.040350234,0.040350234,0.00006 +12-6-2019 21:00,10392856.66,0.028523441,0.028523441,0.00006 +12-6-2019 22:00,10393251.66,0.013913874,0.013913874,0.00006 +12-6-2019 23:00,10393645.85,0.004869856,0.004869856,0.00006 +13-06-2019 0:00,10394039.23,0.002782775,0.002782775,0.00006 +13-06-2019 1:00,10394431.8,0.000695694,0.000695694,0.00006 +13-06-2019 2:00,10394823.56,0.000695694,0.000695694,0.00006 +13-06-2019 3:00,10395214.51,0.001391387,0.001391387,0.00006 +13-06-2019 4:00,10395604.65,0.004869856,0.004869856,0.00006 +13-06-2019 5:00,10395993.98,0.038958846,0.038958846,0.00006 +13-06-2019 6:00,10396382.5,0.064699512,0.064699512,0.00006 +13-06-2019 7:00,10396770.21,0.050089945,0.050089945,0.00006 +13-06-2019 8:00,10397157.1,0.059133963,0.059133963,0.00006 +13-06-2019 9:00,10397543.19,0.042437315,0.042437315,0.00006 +13-06-2019 10:00,10397928.46,0.036871765,0.036871765,0.00006 +13-06-2019 11:00,10398312.92,0.031306216,0.031306216,0.00006 +13-06-2019 12:00,10398696.57,0.025044973,0.025044973,0.00006 +13-06-2019 13:00,10399079.41,0.021566504,0.021566504,0.00006 +13-06-2019 14:00,10399461.43,0.016696648,0.016696648,0.00006 +13-06-2019 15:00,10399842.65,0.018783729,0.018783729,0.00006 +13-06-2019 16:00,10400223.05,0.030610522,0.030610522,0.00006 +13-06-2019 17:00,10400602.63,0.054264107,0.054264107,0.00006 +13-06-2019 18:00,10400981.41,0.054959801,0.054959801,0.00006 +13-06-2019 19:00,10401359.37,0.048698558,0.048698558,0.00006 +13-06-2019 20:00,10401736.51,0.040350234,0.040350234,0.00006 +13-06-2019 21:00,10402112.85,0.028523441,0.028523441,0.00006 +13-06-2019 22:00,10402488.37,0.013913874,0.013913874,0.00006 +13-06-2019 23:00,10402863.07,0.004869856,0.004869856,0.00006 +14-06-2019 0:00,10403236.96,0.002782775,0.002782775,0.00006 +14-06-2019 1:00,10403610.04,0.000695694,0.000695694,0.00006 +14-06-2019 2:00,10403982.3,0.000695694,0.000695694,0.00006 +14-06-2019 3:00,10404353.75,0.001391387,0.001391387,0.00006 +14-06-2019 4:00,10404724.38,0.004869856,0.004869856,0.00006 +14-06-2019 5:00,10405094.19,0.038958846,0.038958846,0.00006 +14-06-2019 6:00,10405463.19,0.064699512,0.064699512,0.00006 +14-06-2019 7:00,10405831.38,0.050089945,0.050089945,0.00006 +14-06-2019 8:00,10406198.75,0.059133963,0.059133963,0.00006 +14-06-2019 9:00,10406565.3,0.042437315,0.042437315,0.00006 +14-06-2019 10:00,10406931.04,0.036871765,0.036871765,0.00006 +14-06-2019 11:00,10407295.96,0.031306216,0.031306216,0.00006 +14-06-2019 12:00,10407660.06,0.025044973,0.025044973,0.00006 +14-06-2019 13:00,10408023.35,0.021566504,0.021566504,0.00006 +14-06-2019 14:00,10408385.82,0.016696648,0.016696648,0.00006 +14-06-2019 15:00,10408747.47,0.018783729,0.018783729,0.00006 +14-06-2019 16:00,10409108.31,0.030610522,0.030610522,0.00006 +14-06-2019 17:00,10409468.33,0.054264107,0.054264107,0.00006 +14-06-2019 18:00,10409827.53,0.054959801,0.054959801,0.00006 +14-06-2019 19:00,10410185.91,0.048698558,0.048698558,0.00006 +14-06-2019 20:00,10410543.48,0.040350234,0.040350234,0.00006 +14-06-2019 21:00,10410900.22,0.028523441,0.028523441,0.00006 +14-06-2019 22:00,10411256.15,0.013913874,0.013913874,0.00006 +14-06-2019 23:00,10411611.26,0.004869856,0.004869856,0.00006 +15-06-2019 0:00,10411965.55,0.002782775,0.002782775,0.00006 +15-06-2019 1:00,10412319.02,0.000695694,0.000695694,0.00006 +15-06-2019 2:00,10412671.67,0.000695694,0.000695694,0.00006 +15-06-2019 3:00,10413023.5,0.001391387,0.001391387,0.00006 +15-06-2019 4:00,10413374.52,0.004869856,0.004869856,0.00006 +15-06-2019 5:00,10413724.71,0.038958846,0.038958846,0.00006 +15-06-2019 6:00,10414074.08,0.064699512,0.064699512,0.00006 +15-06-2019 7:00,10414422.64,0.050089945,0.050089945,0.00006 +15-06-2019 8:00,10414770.37,0.059133963,0.059133963,0.00006 +15-06-2019 9:00,10415117.28,0.042437315,0.042437315,0.00006 +15-06-2019 10:00,10415463.38,0.036871765,0.036871765,0.00006 +15-06-2019 11:00,10415808.65,0.031306216,0.031306216,0.00006 +15-06-2019 12:00,10416153.1,0.025044973,0.025044973,0.00006 +15-06-2019 13:00,10416496.73,0.021566504,0.021566504,0.00006 +15-06-2019 14:00,10416839.53,0.016696648,0.016696648,0.00006 +15-06-2019 15:00,10417181.52,0.018783729,0.018783729,0.00006 +15-06-2019 16:00,10417522.69,0.030610522,0.030610522,0.00006 +15-06-2019 17:00,10417863.03,0.054264107,0.054264107,0.00006 +15-06-2019 18:00,10418202.55,0.054959801,0.054959801,0.00006 +15-06-2019 19:00,10418541.25,0.048698558,0.048698558,0.00006 +15-06-2019 20:00,10418879.12,0.040350234,0.040350234,0.00006 +15-06-2019 21:00,10419216.18,0.028523441,0.028523441,0.00006 +15-06-2019 22:00,10419552.41,0.013913874,0.013913874,0.00006 +15-06-2019 23:00,10419887.82,0.004869856,0.004869856,0.00006 +16-06-2019 0:00,10420222.4,0.002782775,0.002782775,0.00006 +16-06-2019 1:00,10420556.16,0.000695694,0.000695694,0.00006 +16-06-2019 2:00,10420889.1,0.000695694,0.000695694,0.00006 +16-06-2019 3:00,10421221.22,0.001391387,0.001391387,0.00006 +16-06-2019 4:00,10421552.51,0.004869856,0.004869856,0.00006 +16-06-2019 5:00,10421882.97,0.038958846,0.038958846,0.00006 +16-06-2019 6:00,10422212.62,0.064699512,0.064699512,0.00006 +16-06-2019 7:00,10422541.43,0.050089945,0.050089945,0.00006 +16-06-2019 8:00,10422869.43,0.059133963,0.059133963,0.00006 +16-06-2019 9:00,10423196.6,0.042437315,0.042437315,0.00006 +16-06-2019 10:00,10423522.94,0.036871765,0.036871765,0.00006 +16-06-2019 11:00,10423848.46,0.031306216,0.031306216,0.00006 +16-06-2019 12:00,10424173.16,0.025044973,0.025044973,0.00006 +16-06-2019 13:00,10424497.03,0.021566504,0.021566504,0.00006 +16-06-2019 14:00,10424820.07,0.016696648,0.016696648,0.00006 +16-06-2019 15:00,10425142.29,0.018783729,0.018783729,0.00006 +16-06-2019 16:00,10425463.68,0.030610522,0.030610522,0.00006 +16-06-2019 17:00,10425784.25,0.054264107,0.054264107,0.00006 +16-06-2019 18:00,10426103.99,0.054959801,0.054959801,0.00006 +16-06-2019 19:00,10426422.9,0.048698558,0.048698558,0.00006 +16-06-2019 20:00,10426740.99,0.040350234,0.040350234,0.00006 +16-06-2019 21:00,10427058.25,0.028523441,0.028523441,0.00006 +16-06-2019 22:00,10427374.69,0.013913874,0.013913874,0.00006 +16-06-2019 23:00,10427690.29,0.004869856,0.004869856,0.00006 +17-06-2019 0:00,10428005.07,0.002782775,0.002782775,0.00006 +17-06-2019 1:00,10428319.03,0.000695694,0.000695694,0.00006 +17-06-2019 2:00,10428632.15,0.000695694,0.000695694,0.00006 +17-06-2019 3:00,10428944.45,0.001391387,0.001391387,0.00006 +17-06-2019 4:00,10429255.92,0.004869856,0.004869856,0.00006 +17-06-2019 5:00,10429566.56,0.038958846,0.038958846,0.00006 +17-06-2019 6:00,10429876.38,0.064699512,0.064699512,0.00006 +17-06-2019 7:00,10430185.36,0.050089945,0.050089945,0.00006 +17-06-2019 8:00,10430493.52,0.059133963,0.059133963,0.00006 +17-06-2019 9:00,10430800.85,0.042437315,0.042437315,0.00006 +17-06-2019 10:00,10431107.35,0.036871765,0.036871765,0.00006 +17-06-2019 11:00,10431413.02,0.031306216,0.031306216,0.00006 +17-06-2019 12:00,10431717.87,0.025044973,0.025044973,0.00006 +17-06-2019 13:00,10432021.88,0.021566504,0.021566504,0.00006 +17-06-2019 14:00,10432325.06,0.016696648,0.016696648,0.00006 +17-06-2019 15:00,10432627.42,0.018783729,0.018783729,0.00006 +17-06-2019 16:00,10432928.94,0.030610522,0.030610522,0.00006 +17-06-2019 17:00,10433229.64,0.054264107,0.054264107,0.00006 +17-06-2019 18:00,10433529.5,0.054959801,0.054959801,0.00006 +17-06-2019 19:00,10433828.54,0.048698558,0.048698558,0.00006 +17-06-2019 20:00,10434126.74,0.040350234,0.040350234,0.00006 +17-06-2019 21:00,10434424.12,0.028523441,0.028523441,0.00006 +17-06-2019 22:00,10434720.66,0.013913874,0.013913874,0.00006 +17-06-2019 23:00,10435016.38,0.004869856,0.004869856,0.00006 +18-06-2019 0:00,10435311.26,0.002782775,0.002782775,0.00006 +18-06-2019 1:00,10435605.31,0.000695694,0.000695694,0.00006 +18-06-2019 2:00,10435898.53,0.000695694,0.000695694,0.00006 +18-06-2019 3:00,10436190.92,0.001391387,0.001391387,0.00006 +18-06-2019 4:00,10436482.48,0.004869856,0.004869856,0.00006 +18-06-2019 5:00,10436773.2,0.038958846,0.038958846,0.00006 +18-06-2019 6:00,10437063.1,0.064699512,0.064699512,0.00006 +18-06-2019 7:00,10437352.16,0.050089945,0.050089945,0.00006 +18-06-2019 8:00,10437640.39,0.059133963,0.059133963,0.00006 +18-06-2019 9:00,10437927.79,0.042437315,0.042437315,0.00006 +18-06-2019 10:00,10438214.35,0.036871765,0.036871765,0.00006 +18-06-2019 11:00,10438500.09,0.031306216,0.031306216,0.00006 +18-06-2019 12:00,10438784.99,0.025044973,0.025044973,0.00006 +18-06-2019 13:00,10439069.05,0.021566504,0.021566504,0.00006 +18-06-2019 14:00,10439352.29,0.016696648,0.016696648,0.00006 +18-06-2019 15:00,10439634.69,0.018783729,0.018783729,0.00006 +18-06-2019 16:00,10439916.26,0.030610522,0.030610522,0.00006 +18-06-2019 17:00,10440196.99,0.054264107,0.054264107,0.00006 +18-06-2019 18:00,10440476.9,0.054959801,0.054959801,0.00006 +18-06-2019 19:00,10440755.96,0.048698558,0.048698558,0.00006 +18-06-2019 20:00,10441034.2,0.040350234,0.040350234,0.00006 +18-06-2019 21:00,10441311.6,0.028523441,0.028523441,0.00006 +18-06-2019 22:00,10441588.16,0.013913874,0.013913874,0.00006 +18-06-2019 23:00,10441863.9,0.004869856,0.004869856,0.00006 +19-06-2019 0:00,10442138.79,0.002782775,0.002782775,0.00006 +19-06-2019 1:00,10442412.86,0.000695694,0.000695694,0.00006 +19-06-2019 2:00,10442686.08,0.000695694,0.000695694,0.00006 +19-06-2019 3:00,10442958.48,0.001391387,0.001391387,0.00006 +19-06-2019 4:00,10443230.04,0.004869856,0.004869856,0.00006 +19-06-2019 5:00,10443500.76,0.038958846,0.038958846,0.00006 +19-06-2019 6:00,10443770.65,0.064699512,0.064699512,0.00006 +19-06-2019 7:00,10444039.7,0.050089945,0.050089945,0.00006 +19-06-2019 8:00,10444307.92,0.059133963,0.059133963,0.00006 +19-06-2019 9:00,10444575.3,0.042437315,0.042437315,0.00006 +19-06-2019 10:00,10444841.84,0.036871765,0.036871765,0.00006 +19-06-2019 11:00,10445107.55,0.031306216,0.031306216,0.00006 +19-06-2019 12:00,10445372.43,0.025044973,0.025044973,0.00006 +19-06-2019 13:00,10445636.47,0.021566504,0.021566504,0.00006 +19-06-2019 14:00,10445899.67,0.016696648,0.016696648,0.00006 +19-06-2019 15:00,10446162.03,0.018783729,0.018783729,0.00006 +19-06-2019 16:00,10446423.56,0.030610522,0.030610522,0.00006 +19-06-2019 17:00,10446684.25,0.054264107,0.054264107,0.00006 +19-06-2019 18:00,10446944.11,0.054959801,0.054959801,0.00006 +19-06-2019 19:00,10447203.12,0.048698558,0.048698558,0.00006 +19-06-2019 20:00,10447461.3,0.040350234,0.040350234,0.00006 +19-06-2019 21:00,10447718.65,0.028523441,0.028523441,0.00006 +19-06-2019 22:00,10447975.15,0.013913874,0.013913874,0.00006 +19-06-2019 23:00,10448230.82,0.004869856,0.004869856,0.00006 +20-06-2019 0:00,10448485.65,0.002782775,0.002782775,0.00006 +20-06-2019 1:00,10448739.64,0.000695694,0.000695694,0.00006 +20-06-2019 2:00,10448992.8,0.000695694,0.000695694,0.00006 +20-06-2019 3:00,10449245.12,0.001391387,0.001391387,0.00006 +20-06-2019 4:00,10449496.6,0.004869856,0.004869856,0.00006 +20-06-2019 5:00,10449747.24,0.038958846,0.038958846,0.00006 +20-06-2019 6:00,10449997.04,0.064699512,0.064699512,0.00006 +20-06-2019 7:00,10450246,0.050089945,0.050089945,0.00006 +20-06-2019 8:00,10450494.13,0.059133963,0.059133963,0.00006 +20-06-2019 9:00,10450741.41,0.042437315,0.042437315,0.00006 +20-06-2019 10:00,10450987.86,0.036871765,0.036871765,0.00006 +20-06-2019 11:00,10451233.47,0.031306216,0.031306216,0.00006 +20-06-2019 12:00,10451478.24,0.025044973,0.025044973,0.00006 +20-06-2019 13:00,10451722.16,0.021566504,0.021566504,0.00006 +20-06-2019 14:00,10451965.25,0.016696648,0.016696648,0.00006 +20-06-2019 15:00,10452207.5,0.018783729,0.018783729,0.00006 +20-06-2019 16:00,10452448.92,0.030610522,0.030610522,0.00006 +20-06-2019 17:00,10452689.49,0.054264107,0.054264107,0.00006 +20-06-2019 18:00,10452929.22,0.054959801,0.054959801,0.00006 +20-06-2019 19:00,10453168.11,0.048698558,0.048698558,0.00006 +20-06-2019 20:00,10453406.16,0.040350234,0.040350234,0.00006 +20-06-2019 21:00,10453643.37,0.028523441,0.028523441,0.00006 +20-06-2019 22:00,10453879.74,0.013913874,0.013913874,0.00006 +20-06-2019 23:00,10454115.27,0.004869856,0.004869856,0.00006 +21-06-2019 0:00,10454349.96,0.002782775,0.002782775,0.00006 +21-06-2019 1:00,10454583.8,0.000695694,0.000695694,0.00006 +21-06-2019 2:00,10454816.81,0.000695694,0.000695694,0.00006 +21-06-2019 3:00,10455048.98,0.001391387,0.001391387,0.00006 +21-06-2019 4:00,10455280.3,0.004869856,0.004869856,0.00006 +21-06-2019 5:00,10455510.78,0.038958846,0.038958846,0.00006 +21-06-2019 6:00,10455740.43,0.064699512,0.064699512,0.00006 +21-06-2019 7:00,10455969.23,0.050089945,0.050089945,0.00006 +21-06-2019 8:00,10456197.18,0.059133963,0.059133963,0.00006 +21-06-2019 9:00,10456424.3,0.042437315,0.042437315,0.00006 +21-06-2019 10:00,10456650.58,0.036871765,0.036871765,0.00006 +21-06-2019 11:00,10456876.01,0.031306216,0.031306216,0.00006 +21-06-2019 12:00,10457100.6,0.025044973,0.025044973,0.00006 +21-06-2019 13:00,10457324.35,0.021566504,0.021566504,0.00006 +21-06-2019 14:00,10457547.26,0.016696648,0.016696648,0.00006 +21-06-2019 15:00,10457769.32,0.018783729,0.018783729,0.00006 +21-06-2019 16:00,10457990.54,0.030610522,0.030610522,0.00006 +21-06-2019 17:00,10458210.92,0.054264107,0.054264107,0.00006 +21-06-2019 18:00,10458430.46,0.054959801,0.054959801,0.00006 +21-06-2019 19:00,10458649.15,0.048698558,0.048698558,0.00006 +21-06-2019 20:00,10458867,0.040350234,0.040350234,0.00006 +21-06-2019 21:00,10459084.01,0.028523441,0.028523441,0.00006 +21-06-2019 22:00,10459300.17,0.013913874,0.013913874,0.00006 +21-06-2019 23:00,10459515.49,0.004869856,0.004869856,0.00006 +22-06-2019 0:00,10459729.97,0.002782775,0.002782775,0.00006 +22-06-2019 1:00,10459943.6,0.000695694,0.000695694,0.00006 +22-06-2019 2:00,10460156.39,0.000695694,0.000695694,0.00006 +22-06-2019 3:00,10460368.33,0.001391387,0.001391387,0.00006 +22-06-2019 4:00,10460579.44,0.004869856,0.004869856,0.00006 +22-06-2019 5:00,10460789.69,0.038958846,0.038958846,0.00006 +22-06-2019 6:00,10460999.11,0.064699512,0.064699512,0.00006 +22-06-2019 7:00,10461207.68,0.050089945,0.050089945,0.00006 +22-06-2019 8:00,10461415.4,0.059133963,0.059133963,0.00006 +22-06-2019 9:00,10461622.28,0.042437315,0.042437315,0.00006 +22-06-2019 10:00,10461828.32,0.036871765,0.036871765,0.00006 +22-06-2019 11:00,10462033.51,0.031306216,0.031306216,0.00006 +22-06-2019 12:00,10462237.86,0.025044973,0.025044973,0.00006 +22-06-2019 13:00,10462441.36,0.021566504,0.021566504,0.00006 +22-06-2019 14:00,10462644.02,0.016696648,0.016696648,0.00006 +22-06-2019 15:00,10462845.83,0.018783729,0.018783729,0.00006 +22-06-2019 16:00,10463046.8,0.030610522,0.030610522,0.00006 +22-06-2019 17:00,10463246.92,0.054264107,0.054264107,0.00006 +22-06-2019 18:00,10463446.19,0.054959801,0.054959801,0.00006 +22-06-2019 19:00,10463644.62,0.048698558,0.048698558,0.00006 +22-06-2019 20:00,10463842.21,0.040350234,0.040350234,0.00006 +22-06-2019 21:00,10464038.95,0.028523441,0.028523441,0.00006 +22-06-2019 22:00,10464234.84,0.013913874,0.013913874,0.00006 +22-06-2019 23:00,10464429.89,0.004869856,0.004869856,0.00006 +23-06-2019 0:00,10464624.09,0.002782775,0.002782775,0.00006 +23-06-2019 1:00,10464817.45,0.000695694,0.000695694,0.00006 +23-06-2019 2:00,10465009.95,0.000695694,0.000695694,0.00006 +23-06-2019 3:00,10465201.62,0.001391387,0.001391387,0.00006 +23-06-2019 4:00,10465392.43,0.004869856,0.004869856,0.00006 +23-06-2019 5:00,10465582.4,0.038958846,0.038958846,0.00006 +23-06-2019 6:00,10465771.53,0.064699512,0.064699512,0.00006 +23-06-2019 7:00,10465959.8,0.050089945,0.050089945,0.00006 +23-06-2019 8:00,10466147.23,0.059133963,0.059133963,0.00006 +23-06-2019 9:00,10466333.82,0.042437315,0.042437315,0.00006 +23-06-2019 10:00,10466519.55,0.036871765,0.036871765,0.00006 +23-06-2019 11:00,10466704.44,0.031306216,0.031306216,0.00006 +23-06-2019 12:00,10466888.48,0.025044973,0.025044973,0.00006 +23-06-2019 13:00,10467071.68,0.021566504,0.021566504,0.00006 +23-06-2019 14:00,10467254.03,0.016696648,0.016696648,0.00006 +23-06-2019 15:00,10467435.53,0.018783729,0.018783729,0.00006 +23-06-2019 16:00,10467616.18,0.030610522,0.030610522,0.00006 +23-06-2019 17:00,10467795.98,0.054264107,0.054264107,0.00006 +23-06-2019 18:00,10467974.94,0.054959801,0.054959801,0.00006 +23-06-2019 19:00,10468153.05,0.048698558,0.048698558,0.00006 +23-06-2019 20:00,10468330.31,0.040350234,0.040350234,0.00006 +23-06-2019 21:00,10468506.72,0.028523441,0.028523441,0.00006 +23-06-2019 22:00,10468682.29,0.013913874,0.013913874,0.00006 +23-06-2019 23:00,10468857.01,0.004869856,0.004869856,0.00006 +24-06-2019 0:00,10469030.88,0.002782775,0.002782775,0.00006 +24-06-2019 1:00,10469203.9,0.000695694,0.000695694,0.00006 +24-06-2019 2:00,10469376.07,0.000695694,0.000695694,0.00006 +24-06-2019 3:00,10469547.39,0.001391387,0.001391387,0.00006 +24-06-2019 4:00,10469717.87,0.004869856,0.004869856,0.00006 +24-06-2019 5:00,10469887.49,0.038958846,0.038958846,0.00006 +24-06-2019 6:00,10470056.27,0.064699512,0.064699512,0.00006 +24-06-2019 7:00,10470224.2,0.050089945,0.050089945,0.00006 +24-06-2019 8:00,10470391.28,0.059133963,0.059133963,0.00006 +24-06-2019 9:00,10470557.51,0.042437315,0.042437315,0.00006 +24-06-2019 10:00,10470722.89,0.036871765,0.036871765,0.00006 +24-06-2019 11:00,10470887.42,0.031306216,0.031306216,0.00006 +24-06-2019 12:00,10471051.1,0.025044973,0.025044973,0.00006 +24-06-2019 13:00,10471213.94,0.021566504,0.021566504,0.00006 +24-06-2019 14:00,10471375.92,0.016696648,0.016696648,0.00006 +24-06-2019 15:00,10471537.05,0.018783729,0.018783729,0.00006 +24-06-2019 16:00,10471697.34,0.030610522,0.030610522,0.00006 +24-06-2019 17:00,10471856.77,0.054264107,0.054264107,0.00006 +24-06-2019 18:00,10472015.36,0.054959801,0.054959801,0.00006 +24-06-2019 19:00,10472173.09,0.048698558,0.048698558,0.00006 +24-06-2019 20:00,10472329.98,0.040350234,0.040350234,0.00006 +24-06-2019 21:00,10472486.01,0.028523441,0.028523441,0.00006 +24-06-2019 22:00,10472641.2,0.013913874,0.013913874,0.00006 +24-06-2019 23:00,10472795.53,0.004869856,0.004869856,0.00006 +25-06-2019 0:00,10472949.02,0.002782775,0.002782775,0.00006 +25-06-2019 1:00,10473101.65,0.000695694,0.000695694,0.00006 +25-06-2019 2:00,10473253.44,0.000695694,0.000695694,0.00006 +25-06-2019 3:00,10473404.37,0.001391387,0.001391387,0.00006 +25-06-2019 4:00,10473554.45,0.004869856,0.004869856,0.00006 +25-06-2019 5:00,10473703.68,0.038958846,0.038958846,0.00006 +25-06-2019 6:00,10473852.06,0.064699512,0.064699512,0.00006 +25-06-2019 7:00,10473999.59,0.050089945,0.050089945,0.00006 +25-06-2019 8:00,10474146.27,0.059133963,0.059133963,0.00006 +25-06-2019 9:00,10474292.1,0.042437315,0.042437315,0.00006 +25-06-2019 10:00,10474437.08,0.036871765,0.036871765,0.00006 +25-06-2019 11:00,10474581.2,0.031306216,0.031306216,0.00006 +25-06-2019 12:00,10474724.48,0.025044973,0.025044973,0.00006 +25-06-2019 13:00,10474866.9,0.021566504,0.021566504,0.00006 +25-06-2019 14:00,10475008.47,0.016696648,0.016696648,0.00006 +25-06-2019 15:00,10475149.2,0.018783729,0.018783729,0.00006 +25-06-2019 16:00,10475289.06,0.030610522,0.030610522,0.00006 +25-06-2019 17:00,10475428.08,0.054264107,0.054264107,0.00006 +25-06-2019 18:00,10475566.25,0.054959801,0.054959801,0.00006 +25-06-2019 19:00,10475703.56,0.048698558,0.048698558,0.00006 +25-06-2019 20:00,10475840.02,0.040350234,0.040350234,0.00006 +25-06-2019 21:00,10475975.64,0.028523441,0.028523441,0.00006 +25-06-2019 22:00,10476110.39,0.013913874,0.013913874,0.00006 +25-06-2019 23:00,10476244.3,0.004869856,0.004869856,0.00006 +26-06-2019 0:00,10476377.36,0.002782775,0.002782775,0.00006 +26-06-2019 1:00,10476509.56,0.000695694,0.000695694,0.00006 +26-06-2019 2:00,10476640.91,0.000695694,0.000695694,0.00006 +26-06-2019 3:00,10476771.41,0.001391387,0.001391387,0.00006 +26-06-2019 4:00,10476901.05,0.004869856,0.004869856,0.00006 +26-06-2019 5:00,10477029.84,0.038958846,0.038958846,0.00006 +26-06-2019 6:00,10477157.79,0.064699512,0.064699512,0.00006 +26-06-2019 7:00,10477284.87,0.050089945,0.050089945,0.00006 +26-06-2019 8:00,10477411.11,0.059133963,0.059133963,0.00006 +26-06-2019 9:00,10477536.49,0.042437315,0.042437315,0.00006 +26-06-2019 10:00,10477661.02,0.036871765,0.036871765,0.00006 +26-06-2019 11:00,10477784.7,0.031306216,0.031306216,0.00006 +26-06-2019 12:00,10477907.52,0.025044973,0.025044973,0.00006 +26-06-2019 13:00,10478029.5,0.021566504,0.021566504,0.00006 +26-06-2019 14:00,10478150.61,0.016696648,0.016696648,0.00006 +26-06-2019 15:00,10478270.88,0.018783729,0.018783729,0.00006 +26-06-2019 16:00,10478390.29,0.030610522,0.030610522,0.00006 +26-06-2019 17:00,10478508.85,0.054264107,0.054264107,0.00006 +26-06-2019 18:00,10478626.56,0.054959801,0.054959801,0.00006 +26-06-2019 19:00,10478743.41,0.048698558,0.048698558,0.00006 +26-06-2019 20:00,10478859.41,0.040350234,0.040350234,0.00006 +26-06-2019 21:00,10478974.56,0.028523441,0.028523441,0.00006 +26-06-2019 22:00,10479088.85,0.013913874,0.013913874,0.00006 +26-06-2019 23:00,10479202.29,0.004869856,0.004869856,0.00006 +27-06-2019 0:00,10479314.87,0.002782775,0.002782775,0.00006 +27-06-2019 1:00,10479426.6,0.000695694,0.000695694,0.00006 +27-06-2019 2:00,10479537.48,0.000695694,0.000695694,0.00006 +27-06-2019 3:00,10479647.51,0.001391387,0.001391387,0.00006 +27-06-2019 4:00,10479756.68,0.004869856,0.004869856,0.00006 +27-06-2019 5:00,10479864.99,0.038958846,0.038958846,0.00006 +27-06-2019 6:00,10479972.46,0.064699512,0.064699512,0.00006 +27-06-2019 7:00,10480079.06,0.050089945,0.050089945,0.00006 +27-06-2019 8:00,10480184.82,0.059133963,0.059133963,0.00006 +27-06-2019 9:00,10480289.72,0.042437315,0.042437315,0.00006 +27-06-2019 10:00,10480393.77,0.036871765,0.036871765,0.00006 +27-06-2019 11:00,10480496.96,0.031306216,0.031306216,0.00006 +27-06-2019 12:00,10480599.3,0.025044973,0.025044973,0.00006 +27-06-2019 13:00,10480700.78,0.021566504,0.021566504,0.00006 +27-06-2019 14:00,10480801.41,0.016696648,0.016696648,0.00006 +27-06-2019 15:00,10480901.18,0.018783729,0.018783729,0.00006 +27-06-2019 16:00,10481000.1,0.030610522,0.030610522,0.00006 +27-06-2019 17:00,10481098.17,0.054264107,0.054264107,0.00006 +27-06-2019 18:00,10481195.38,0.054959801,0.054959801,0.00006 +27-06-2019 19:00,10481291.74,0.048698558,0.048698558,0.00006 +27-06-2019 20:00,10481387.24,0.040350234,0.040350234,0.00006 +27-06-2019 21:00,10481481.89,0.028523441,0.028523441,0.00006 +27-06-2019 22:00,10481575.68,0.013913874,0.013913874,0.00006 +27-06-2019 23:00,10481668.62,0.004869856,0.004869856,0.00006 +28-06-2019 0:00,10481760.7,0.002782775,0.002782775,0.00006 +28-06-2019 1:00,10481851.93,0.000695694,0.000695694,0.00006 +28-06-2019 2:00,10481942.3,0.000695694,0.000695694,0.00006 +28-06-2019 3:00,10482031.82,0.001391387,0.001391387,0.00006 +28-06-2019 4:00,10482120.48,0.004869856,0.004869856,0.00006 +28-06-2019 5:00,10482208.29,0.038958846,0.038958846,0.00006 +28-06-2019 6:00,10482295.24,0.064699512,0.064699512,0.00006 +28-06-2019 7:00,10482381.34,0.050089945,0.050089945,0.00006 +28-06-2019 8:00,10482466.58,0.059133963,0.059133963,0.00006 +28-06-2019 9:00,10482550.97,0.042437315,0.042437315,0.00006 +28-06-2019 10:00,10482634.5,0.036871765,0.036871765,0.00006 +28-06-2019 11:00,10482717.18,0.031306216,0.031306216,0.00006 +28-06-2019 12:00,10482799,0.025044973,0.025044973,0.00006 +28-06-2019 13:00,10482879.96,0.021566504,0.021566504,0.00006 +28-06-2019 14:00,10482960.07,0.016696648,0.016696648,0.00006 +28-06-2019 15:00,10483039.33,0.018783729,0.018783729,0.00006 +28-06-2019 16:00,10483117.72,0.030610522,0.030610522,0.00006 +28-06-2019 17:00,10483195.27,0.054264107,0.054264107,0.00006 +28-06-2019 18:00,10483271.96,0.054959801,0.054959801,0.00006 +28-06-2019 19:00,10483347.79,0.048698558,0.048698558,0.00006 +28-06-2019 20:00,10483422.76,0.040350234,0.040350234,0.00006 +28-06-2019 21:00,10483496.88,0.028523441,0.028523441,0.00006 +28-06-2019 22:00,10483570.15,0.013913874,0.013913874,0.00006 +28-06-2019 23:00,10483642.56,0.004869856,0.004869856,0.00006 +29-06-2019 0:00,10483714.11,0.002782775,0.002782775,0.00006 +29-06-2019 1:00,10483784.81,0.000695694,0.000695694,0.00006 +29-06-2019 2:00,10483854.65,0.000695694,0.000695694,0.00006 +29-06-2019 3:00,10483923.63,0.001391387,0.001391387,0.00006 +29-06-2019 4:00,10483991.76,0.004869856,0.004869856,0.00006 +29-06-2019 5:00,10484059.04,0.038958846,0.038958846,0.00006 +29-06-2019 6:00,10484125.45,0.064699512,0.064699512,0.00006 +29-06-2019 7:00,10484191.01,0.050089945,0.050089945,0.00006 +29-06-2019 8:00,10484255.72,0.059133963,0.059133963,0.00006 +29-06-2019 9:00,10484319.57,0.042437315,0.042437315,0.00006 +29-06-2019 10:00,10484382.56,0.036871765,0.036871765,0.00006 +29-06-2019 11:00,10484444.69,0.031306216,0.031306216,0.00006 +29-06-2019 12:00,10484505.97,0.025044973,0.025044973,0.00006 +29-06-2019 13:00,10484566.4,0.021566504,0.021566504,0.00006 +29-06-2019 14:00,10484625.96,0.016696648,0.016696648,0.00006 +29-06-2019 15:00,10484684.67,0.018783729,0.018783729,0.00006 +29-06-2019 16:00,10484742.53,0.030610522,0.030610522,0.00006 +29-06-2019 17:00,10484799.53,0.054264107,0.054264107,0.00006 +29-06-2019 18:00,10484855.67,0.054959801,0.054959801,0.00006 +29-06-2019 19:00,10484910.95,0.048698558,0.048698558,0.00006 +29-06-2019 20:00,10484965.38,0.040350234,0.040350234,0.00006 +29-06-2019 21:00,10485018.95,0.028523441,0.028523441,0.00006 +29-06-2019 22:00,10485071.67,0.013913874,0.013913874,0.00006 +29-06-2019 23:00,10485123.53,0.004869856,0.004869856,0.00006 +30-06-2019 0:00,10485174.53,0.002782775,0.002782775,0.00006 +30-06-2019 1:00,10485224.67,0.000695694,0.000695694,0.00006 +30-06-2019 2:00,10485273.96,0.000695694,0.000695694,0.00006 +30-06-2019 3:00,10485322.39,0.001391387,0.001391387,0.00006 +30-06-2019 4:00,10485369.97,0.004869856,0.004869856,0.00006 +30-06-2019 5:00,10485416.69,0.038958846,0.038958846,0.00006 +30-06-2019 6:00,10485462.55,0.064699512,0.064699512,0.00006 +30-06-2019 7:00,10485507.55,0.050089945,0.050089945,0.00006 +30-06-2019 8:00,10485551.7,0.059133963,0.059133963,0.00006 +30-06-2019 9:00,10485594.99,0.042437315,0.042437315,0.00006 +30-06-2019 10:00,10485637.42,0.036871765,0.036871765,0.00006 +30-06-2019 11:00,10485679,0.031306216,0.031306216,0.00006 +30-06-2019 12:00,10485719.72,0.025044973,0.025044973,0.00006 +30-06-2019 13:00,10485759.58,0.021566504,0.021566504,0.00006 +30-06-2019 14:00,10485798.59,0.016696648,0.016696648,0.00006 +30-06-2019 15:00,10485836.74,0.018783729,0.018783729,0.00006 +30-06-2019 16:00,10485874.03,0.030610522,0.030610522,0.00006 +30-06-2019 17:00,10485910.47,0.054264107,0.054264107,0.00006 +30-06-2019 18:00,10485946.05,0.054959801,0.054959801,0.00006 +30-06-2019 19:00,10485980.77,0.048698558,0.048698558,0.00006 +30-06-2019 20:00,10486014.63,0.040350234,0.040350234,0.00006 +30-06-2019 21:00,10486047.64,0.028523441,0.028523441,0.00006 +30-06-2019 22:00,10486079.79,0.013913874,0.013913874,0.00006 +30-06-2019 23:00,10486111.08,0.004869856,0.004869856,0.00006 +1-7-2019 0:00,10486141.52,0.002782775,0.002782775,0.00006 +1-7-2019 1:00,10486171.09,0.000695694,0.000695694,0.00006 +1-7-2019 2:00,10486199.82,0.000695694,0.000695694,0.00006 +1-7-2019 3:00,10486227.68,0.001391387,0.001391387,0.00006 +1-7-2019 4:00,10486254.69,0.004869856,0.004869856,0.00006 +1-7-2019 5:00,10486280.84,0.038958846,0.038958846,0.00006 +1-7-2019 6:00,10486306.13,0.064699512,0.064699512,0.00006 +1-7-2019 7:00,10486330.56,0.050089945,0.050089945,0.00006 +1-7-2019 8:00,10486354.14,0.059133963,0.059133963,0.00006 +1-7-2019 9:00,10486376.86,0.042437315,0.042437315,0.00006 +1-7-2019 10:00,10486398.73,0.036871765,0.036871765,0.00006 +1-7-2019 11:00,10486419.73,0.031306216,0.031306216,0.00006 +1-7-2019 12:00,10486439.88,0.025044973,0.025044973,0.00006 +1-7-2019 13:00,10486459.17,0.021566504,0.021566504,0.00006 +1-7-2019 14:00,10486477.61,0.016696648,0.016696648,0.00006 +1-7-2019 15:00,10486495.18,0.018783729,0.018783729,0.00006 +1-7-2019 16:00,10486511.9,0.030610522,0.030610522,0.00006 +1-7-2019 17:00,10486527.76,0.054264107,0.054264107,0.00006 +1-7-2019 18:00,10486542.77,0.054959801,0.054959801,0.00006 +1-7-2019 19:00,10486556.92,0.048698558,0.048698558,0.00006 +1-7-2019 20:00,10486570.21,0.040350234,0.040350234,0.00006 +1-7-2019 21:00,10486582.64,0.028523441,0.028523441,0.00006 +1-7-2019 22:00,10486594.21,0.013913874,0.013913874,0.00006 +1-7-2019 23:00,10486604.93,0.004869856,0.004869856,0.00006 +2-7-2019 0:00,10486614.79,0.002782775,0.002782775,0.00006 +2-7-2019 1:00,10486623.8,0.000695694,0.000695694,0.00006 +2-7-2019 2:00,10486631.94,0.000695694,0.000695694,0.00006 +2-7-2019 3:00,10486639.23,0.001391387,0.001391387,0.00006 +2-7-2019 4:00,10486645.66,0.004869856,0.004869856,0.00006 +2-7-2019 5:00,10486651.23,0.038958846,0.038958846,0.00006 +2-7-2019 6:00,10486655.95,0.064699512,0.064699512,0.00006 +2-7-2019 7:00,10486659.81,0.050089945,0.050089945,0.00006 +2-7-2019 8:00,10486662.81,0.059133963,0.059133963,0.00006 +2-7-2019 9:00,10486664.95,0.042437315,0.042437315,0.00006 +2-7-2019 10:00,10486666.24,0.036871765,0.036871765,0.00006 +2-7-2019 11:00,10486666.67,0.031306216,0.031306216,0.00006 +2-7-2019 12:00,10486666.24,0.025044973,0.025044973,0.00006 +2-7-2019 13:00,10486664.95,0.021566504,0.021566504,0.00006 +2-7-2019 14:00,10486662.81,0.016696648,0.016696648,0.00006 +2-7-2019 15:00,10486659.81,0.018783729,0.018783729,0.00006 +2-7-2019 16:00,10486655.95,0.030610522,0.030610522,0.00006 +2-7-2019 17:00,10486651.23,0.054264107,0.054264107,0.00006 +2-7-2019 18:00,10486645.66,0.054959801,0.054959801,0.00006 +2-7-2019 19:00,10486639.23,0.048698558,0.048698558,0.00006 +2-7-2019 20:00,10486631.94,0.040350234,0.040350234,0.00006 +2-7-2019 21:00,10486623.8,0.028523441,0.028523441,0.00006 +2-7-2019 22:00,10486614.79,0.013913874,0.013913874,0.00006 +2-7-2019 23:00,10486604.93,0.004869856,0.004869856,0.00006 +3-7-2019 0:00,10486594.21,0.002782775,0.002782775,0.00006 +3-7-2019 1:00,10486582.64,0.000695694,0.000695694,0.00006 +3-7-2019 2:00,10486570.21,0.000695694,0.000695694,0.00006 +3-7-2019 3:00,10486556.92,0.001391387,0.001391387,0.00006 +3-7-2019 4:00,10486542.77,0.004869856,0.004869856,0.00006 +3-7-2019 5:00,10486527.76,0.038958846,0.038958846,0.00006 +3-7-2019 6:00,10486511.9,0.064699512,0.064699512,0.00006 +3-7-2019 7:00,10486495.18,0.050089945,0.050089945,0.00006 +3-7-2019 8:00,10486477.61,0.059133963,0.059133963,0.00006 +3-7-2019 9:00,10486459.17,0.042437315,0.042437315,0.00006 +3-7-2019 10:00,10486439.88,0.036871765,0.036871765,0.00006 +3-7-2019 11:00,10486419.73,0.031306216,0.031306216,0.00006 +3-7-2019 12:00,10486398.73,0.025044973,0.025044973,0.00006 +3-7-2019 13:00,10486376.86,0.021566504,0.021566504,0.00006 +3-7-2019 14:00,10486354.14,0.016696648,0.016696648,0.00006 +3-7-2019 15:00,10486330.56,0.018783729,0.018783729,0.00006 +3-7-2019 16:00,10486306.13,0.030610522,0.030610522,0.00006 +3-7-2019 17:00,10486280.84,0.054264107,0.054264107,0.00006 +3-7-2019 18:00,10486254.69,0.054959801,0.054959801,0.00006 +3-7-2019 19:00,10486227.68,0.048698558,0.048698558,0.00006 +3-7-2019 20:00,10486199.82,0.040350234,0.040350234,0.00006 +3-7-2019 21:00,10486171.09,0.028523441,0.028523441,0.00006 +3-7-2019 22:00,10486141.52,0.013913874,0.013913874,0.00006 +3-7-2019 23:00,10486111.08,0.004869856,0.004869856,0.00006 +4-7-2019 0:00,10486079.79,0.002782775,0.002782775,0.00006 +4-7-2019 1:00,10486047.64,0.000695694,0.000695694,0.00006 +4-7-2019 2:00,10486014.63,0.000695694,0.000695694,0.00006 +4-7-2019 3:00,10485980.77,0.001391387,0.001391387,0.00006 +4-7-2019 4:00,10485946.05,0.004869856,0.004869856,0.00006 +4-7-2019 5:00,10485910.47,0.038958846,0.038958846,0.00006 +4-7-2019 6:00,10485874.03,0.064699512,0.064699512,0.00006 +4-7-2019 7:00,10485836.74,0.050089945,0.050089945,0.00006 +4-7-2019 8:00,10485798.59,0.059133963,0.059133963,0.00006 +4-7-2019 9:00,10485759.58,0.042437315,0.042437315,0.00006 +4-7-2019 10:00,10485719.72,0.036871765,0.036871765,0.00006 +4-7-2019 11:00,10485679,0.031306216,0.031306216,0.00006 +4-7-2019 12:00,10485637.42,0.025044973,0.025044973,0.00006 +4-7-2019 13:00,10485594.99,0.021566504,0.021566504,0.00006 +4-7-2019 14:00,10485551.7,0.016696648,0.016696648,0.00006 +4-7-2019 15:00,10485507.55,0.018783729,0.018783729,0.00006 +4-7-2019 16:00,10485462.55,0.030610522,0.030610522,0.00006 +4-7-2019 17:00,10485416.69,0.054264107,0.054264107,0.00006 +4-7-2019 18:00,10485369.97,0.054959801,0.054959801,0.00006 +4-7-2019 19:00,10485322.39,0.048698558,0.048698558,0.00006 +4-7-2019 20:00,10485273.96,0.040350234,0.040350234,0.00006 +4-7-2019 21:00,10485224.67,0.028523441,0.028523441,0.00006 +4-7-2019 22:00,10485174.53,0.013913874,0.013913874,0.00006 +4-7-2019 23:00,10485123.53,0.004869856,0.004869856,0.00006 +5-7-2019 0:00,10485071.67,0.002782775,0.002782775,0.00006 +5-7-2019 1:00,10485018.95,0.000695694,0.000695694,0.00006 +5-7-2019 2:00,10484965.38,0.000695694,0.000695694,0.00006 +5-7-2019 3:00,10484910.95,0.001391387,0.001391387,0.00006 +5-7-2019 4:00,10484855.67,0.004869856,0.004869856,0.00006 +5-7-2019 5:00,10484799.53,0.038958846,0.038958846,0.00006 +5-7-2019 6:00,10484742.53,0.064699512,0.064699512,0.00006 +5-7-2019 7:00,10484684.67,0.050089945,0.050089945,0.00006 +5-7-2019 8:00,10484625.96,0.059133963,0.059133963,0.00006 +5-7-2019 9:00,10484566.4,0.042437315,0.042437315,0.00006 +5-7-2019 10:00,10484505.97,0.036871765,0.036871765,0.00006 +5-7-2019 11:00,10484444.69,0.031306216,0.031306216,0.00006 +5-7-2019 12:00,10484382.56,0.025044973,0.025044973,0.00006 +5-7-2019 13:00,10484319.57,0.021566504,0.021566504,0.00006 +5-7-2019 14:00,10484255.72,0.016696648,0.016696648,0.00006 +5-7-2019 15:00,10484191.01,0.018783729,0.018783729,0.00006 +5-7-2019 16:00,10484125.45,0.030610522,0.030610522,0.00006 +5-7-2019 17:00,10484059.04,0.054264107,0.054264107,0.00006 +5-7-2019 18:00,10483991.76,0.054959801,0.054959801,0.00006 +5-7-2019 19:00,10483923.63,0.048698558,0.048698558,0.00006 +5-7-2019 20:00,10483854.65,0.040350234,0.040350234,0.00006 +5-7-2019 21:00,10483784.81,0.028523441,0.028523441,0.00006 +5-7-2019 22:00,10483714.11,0.013913874,0.013913874,0.00006 +5-7-2019 23:00,10483642.56,0.004869856,0.004869856,0.00006 +6-7-2019 0:00,10483570.15,0.002782775,0.002782775,0.00006 +6-7-2019 1:00,10483496.88,0.000695694,0.000695694,0.00006 +6-7-2019 2:00,10483422.76,0.000695694,0.000695694,0.00006 +6-7-2019 3:00,10483347.79,0.001391387,0.001391387,0.00006 +6-7-2019 4:00,10483271.96,0.004869856,0.004869856,0.00006 +6-7-2019 5:00,10483195.27,0.038958846,0.038958846,0.00006 +6-7-2019 6:00,10483117.72,0.064699512,0.064699512,0.00006 +6-7-2019 7:00,10483039.33,0.050089945,0.050089945,0.00006 +6-7-2019 8:00,10482960.07,0.059133963,0.059133963,0.00006 +6-7-2019 9:00,10482879.96,0.042437315,0.042437315,0.00006 +6-7-2019 10:00,10482799,0.036871765,0.036871765,0.00006 +6-7-2019 11:00,10482717.18,0.031306216,0.031306216,0.00006 +6-7-2019 12:00,10482634.5,0.025044973,0.025044973,0.00006 +6-7-2019 13:00,10482550.97,0.021566504,0.021566504,0.00006 +6-7-2019 14:00,10482466.58,0.016696648,0.016696648,0.00006 +6-7-2019 15:00,10482381.34,0.018783729,0.018783729,0.00006 +6-7-2019 16:00,10482295.24,0.030610522,0.030610522,0.00006 +6-7-2019 17:00,10482208.29,0.054264107,0.054264107,0.00006 +6-7-2019 18:00,10482120.48,0.054959801,0.054959801,0.00006 +6-7-2019 19:00,10482031.82,0.048698558,0.048698558,0.00006 +6-7-2019 20:00,10481942.3,0.040350234,0.040350234,0.00006 +6-7-2019 21:00,10481851.93,0.028523441,0.028523441,0.00006 +6-7-2019 22:00,10481760.7,0.013913874,0.013913874,0.00006 +6-7-2019 23:00,10481668.62,0.004869856,0.004869856,0.00006 +7-7-2019 0:00,10481575.68,0.002782775,0.002782775,0.00006 +7-7-2019 1:00,10481481.89,0.000695694,0.000695694,0.00006 +7-7-2019 2:00,10481387.24,0.000695694,0.000695694,0.00006 +7-7-2019 3:00,10481291.74,0.001391387,0.001391387,0.00006 +7-7-2019 4:00,10481195.38,0.004869856,0.004869856,0.00006 +7-7-2019 5:00,10481098.17,0.038958846,0.038958846,0.00006 +7-7-2019 6:00,10481000.1,0.064699512,0.064699512,0.00006 +7-7-2019 7:00,10480901.18,0.050089945,0.050089945,0.00006 +7-7-2019 8:00,10480801.41,0.059133963,0.059133963,0.00006 +7-7-2019 9:00,10480700.78,0.042437315,0.042437315,0.00006 +7-7-2019 10:00,10480599.3,0.036871765,0.036871765,0.00006 +7-7-2019 11:00,10480496.96,0.031306216,0.031306216,0.00006 +7-7-2019 12:00,10480393.77,0.025044973,0.025044973,0.00006 +7-7-2019 13:00,10480289.72,0.021566504,0.021566504,0.00006 +7-7-2019 14:00,10480184.82,0.016696648,0.016696648,0.00006 +7-7-2019 15:00,10480079.06,0.018783729,0.018783729,0.00006 +7-7-2019 16:00,10479972.46,0.030610522,0.030610522,0.00006 +7-7-2019 17:00,10479864.99,0.054264107,0.054264107,0.00006 +7-7-2019 18:00,10479756.68,0.054959801,0.054959801,0.00006 +7-7-2019 19:00,10479647.51,0.048698558,0.048698558,0.00006 +7-7-2019 20:00,10479537.48,0.040350234,0.040350234,0.00006 +7-7-2019 21:00,10479426.6,0.028523441,0.028523441,0.00006 +7-7-2019 22:00,10479314.87,0.013913874,0.013913874,0.00006 +7-7-2019 23:00,10479202.29,0.004869856,0.004869856,0.00006 +8-7-2019 0:00,10479088.85,0.002782775,0.002782775,0.00006 +8-7-2019 1:00,10478974.56,0.000695694,0.000695694,0.00006 +8-7-2019 2:00,10478859.41,0.000695694,0.000695694,0.00006 +8-7-2019 3:00,10478743.41,0.001391387,0.001391387,0.00006 +8-7-2019 4:00,10478626.56,0.004869856,0.004869856,0.00006 +8-7-2019 5:00,10478508.85,0.038958846,0.038958846,0.00006 +8-7-2019 6:00,10478390.29,0.064699512,0.064699512,0.00006 +8-7-2019 7:00,10478270.88,0.050089945,0.050089945,0.00006 +8-7-2019 8:00,10478150.61,0.059133963,0.059133963,0.00006 +8-7-2019 9:00,10478029.5,0.042437315,0.042437315,0.00006 +8-7-2019 10:00,10477907.52,0.036871765,0.036871765,0.00006 +8-7-2019 11:00,10477784.7,0.031306216,0.031306216,0.00006 +8-7-2019 12:00,10477661.02,0.025044973,0.025044973,0.00006 +8-7-2019 13:00,10477536.49,0.021566504,0.021566504,0.00006 +8-7-2019 14:00,10477411.11,0.016696648,0.016696648,0.00006 +8-7-2019 15:00,10477284.87,0.018783729,0.018783729,0.00006 +8-7-2019 16:00,10477157.79,0.030610522,0.030610522,0.00006 +8-7-2019 17:00,10477029.84,0.054264107,0.054264107,0.00006 +8-7-2019 18:00,10476901.05,0.054959801,0.054959801,0.00006 +8-7-2019 19:00,10476771.41,0.048698558,0.048698558,0.00006 +8-7-2019 20:00,10476640.91,0.040350234,0.040350234,0.00006 +8-7-2019 21:00,10476509.56,0.028523441,0.028523441,0.00006 +8-7-2019 22:00,10476377.36,0.013913874,0.013913874,0.00006 +8-7-2019 23:00,10476244.3,0.004869856,0.004869856,0.00006 +9-7-2019 0:00,10476110.39,0.002782775,0.002782775,0.00006 +9-7-2019 1:00,10475975.64,0.000695694,0.000695694,0.00006 +9-7-2019 2:00,10475840.02,0.000695694,0.000695694,0.00006 +9-7-2019 3:00,10475703.56,0.001391387,0.001391387,0.00006 +9-7-2019 4:00,10475566.25,0.004869856,0.004869856,0.00006 +9-7-2019 5:00,10475428.08,0.038958846,0.038958846,0.00006 +9-7-2019 6:00,10475289.06,0.064699512,0.064699512,0.00006 +9-7-2019 7:00,10475149.2,0.050089945,0.050089945,0.00006 +9-7-2019 8:00,10475008.47,0.059133963,0.059133963,0.00006 +9-7-2019 9:00,10474866.9,0.042437315,0.042437315,0.00006 +9-7-2019 10:00,10474724.48,0.036871765,0.036871765,0.00006 +9-7-2019 11:00,10474581.2,0.031306216,0.031306216,0.00006 +9-7-2019 12:00,10474437.08,0.025044973,0.025044973,0.00006 +9-7-2019 13:00,10474292.1,0.021566504,0.021566504,0.00006 +9-7-2019 14:00,10474146.27,0.016696648,0.016696648,0.00006 +9-7-2019 15:00,10473999.59,0.018783729,0.018783729,0.00006 +9-7-2019 16:00,10473852.06,0.030610522,0.030610522,0.00006 +9-7-2019 17:00,10473703.68,0.054264107,0.054264107,0.00006 +9-7-2019 18:00,10473554.45,0.054959801,0.054959801,0.00006 +9-7-2019 19:00,10473404.37,0.048698558,0.048698558,0.00006 +9-7-2019 20:00,10473253.44,0.040350234,0.040350234,0.00006 +9-7-2019 21:00,10473101.65,0.028523441,0.028523441,0.00006 +9-7-2019 22:00,10472949.02,0.013913874,0.013913874,0.00006 +9-7-2019 23:00,10472795.53,0.004869856,0.004869856,0.00006 +10-7-2019 0:00,10472641.2,0.002782775,0.002782775,0.00006 +10-7-2019 1:00,10472486.01,0.000695694,0.000695694,0.00006 +10-7-2019 2:00,10472329.98,0.000695694,0.000695694,0.00006 +10-7-2019 3:00,10472173.09,0.001391387,0.001391387,0.00006 +10-7-2019 4:00,10472015.36,0.004869856,0.004869856,0.00006 +10-7-2019 5:00,10471856.77,0.038958846,0.038958846,0.00006 +10-7-2019 6:00,10471697.34,0.064699512,0.064699512,0.00006 +10-7-2019 7:00,10471537.05,0.050089945,0.050089945,0.00006 +10-7-2019 8:00,10471375.92,0.059133963,0.059133963,0.00006 +10-7-2019 9:00,10471213.94,0.042437315,0.042437315,0.00006 +10-7-2019 10:00,10471051.1,0.036871765,0.036871765,0.00006 +10-7-2019 11:00,10470887.42,0.031306216,0.031306216,0.00006 +10-7-2019 12:00,10470722.89,0.025044973,0.025044973,0.00006 +10-7-2019 13:00,10470557.51,0.021566504,0.021566504,0.00006 +10-7-2019 14:00,10470391.28,0.016696648,0.016696648,0.00006 +10-7-2019 15:00,10470224.2,0.018783729,0.018783729,0.00006 +10-7-2019 16:00,10470056.27,0.030610522,0.030610522,0.00006 +10-7-2019 17:00,10469887.49,0.054264107,0.054264107,0.00006 +10-7-2019 18:00,10469717.87,0.054959801,0.054959801,0.00006 +10-7-2019 19:00,10469547.39,0.048698558,0.048698558,0.00006 +10-7-2019 20:00,10469376.07,0.040350234,0.040350234,0.00006 +10-7-2019 21:00,10469203.9,0.028523441,0.028523441,0.00006 +10-7-2019 22:00,10469030.88,0.013913874,0.013913874,0.00006 +10-7-2019 23:00,10468857.01,0.004869856,0.004869856,0.00006 +11-7-2019 0:00,10468682.29,0.002782775,0.002782775,0.00006 +11-7-2019 1:00,10468506.72,0.000695694,0.000695694,0.00006 +11-7-2019 2:00,10468330.31,0.000695694,0.000695694,0.00006 +11-7-2019 3:00,10468153.05,0.001391387,0.001391387,0.00006 +11-7-2019 4:00,10467974.94,0.004869856,0.004869856,0.00006 +11-7-2019 5:00,10467795.98,0.038958846,0.038958846,0.00006 +11-7-2019 6:00,10467616.18,0.064699512,0.064699512,0.00006 +11-7-2019 7:00,10467435.53,0.050089945,0.050089945,0.00006 +11-7-2019 8:00,10467254.03,0.059133963,0.059133963,0.00006 +11-7-2019 9:00,10467071.68,0.042437315,0.042437315,0.00006 +11-7-2019 10:00,10466888.48,0.036871765,0.036871765,0.00006 +11-7-2019 11:00,10466704.44,0.031306216,0.031306216,0.00006 +11-7-2019 12:00,10466519.55,0.025044973,0.025044973,0.00006 +11-7-2019 13:00,10466333.82,0.021566504,0.021566504,0.00006 +11-7-2019 14:00,10466147.23,0.016696648,0.016696648,0.00006 +11-7-2019 15:00,10465959.8,0.018783729,0.018783729,0.00006 +11-7-2019 16:00,10465771.53,0.030610522,0.030610522,0.00006 +11-7-2019 17:00,10465582.4,0.054264107,0.054264107,0.00006 +11-7-2019 18:00,10465392.43,0.054959801,0.054959801,0.00006 +11-7-2019 19:00,10465201.62,0.048698558,0.048698558,0.00006 +11-7-2019 20:00,10465009.95,0.040350234,0.040350234,0.00006 +11-7-2019 21:00,10464817.45,0.028523441,0.028523441,0.00006 +11-7-2019 22:00,10464624.09,0.013913874,0.013913874,0.00006 +11-7-2019 23:00,10464429.89,0.004869856,0.004869856,0.00006 +12-7-2019 0:00,10464234.84,0.002782775,0.002782775,0.00006 +12-7-2019 1:00,10464038.95,0.000695694,0.000695694,0.00006 +12-7-2019 2:00,10463842.21,0.000695694,0.000695694,0.00006 +12-7-2019 3:00,10463644.62,0.001391387,0.001391387,0.00006 +12-7-2019 4:00,10463446.19,0.004869856,0.004869856,0.00006 +12-7-2019 5:00,10463246.92,0.038958846,0.038958846,0.00006 +12-7-2019 6:00,10463046.8,0.064699512,0.064699512,0.00006 +12-7-2019 7:00,10462845.83,0.050089945,0.050089945,0.00006 +12-7-2019 8:00,10462644.02,0.059133963,0.059133963,0.00006 +12-7-2019 9:00,10462441.36,0.042437315,0.042437315,0.00006 +12-7-2019 10:00,10462237.86,0.036871765,0.036871765,0.00006 +12-7-2019 11:00,10462033.51,0.031306216,0.031306216,0.00006 +12-7-2019 12:00,10461828.32,0.025044973,0.025044973,0.00006 +12-7-2019 13:00,10461622.28,0.021566504,0.021566504,0.00006 +12-7-2019 14:00,10461415.4,0.016696648,0.016696648,0.00006 +12-7-2019 15:00,10461207.68,0.018783729,0.018783729,0.00006 +12-7-2019 16:00,10460999.11,0.030610522,0.030610522,0.00006 +12-7-2019 17:00,10460789.69,0.054264107,0.054264107,0.00006 +12-7-2019 18:00,10460579.44,0.054959801,0.054959801,0.00006 +12-7-2019 19:00,10460368.33,0.048698558,0.048698558,0.00006 +12-7-2019 20:00,10460156.39,0.040350234,0.040350234,0.00006 +12-7-2019 21:00,10459943.6,0.028523441,0.028523441,0.00006 +12-7-2019 22:00,10459729.97,0.013913874,0.013913874,0.00006 +12-7-2019 23:00,10459515.49,0.004869856,0.004869856,0.00006 +13-07-2019 0:00,10459300.17,0.002782775,0.002782775,0.00006 +13-07-2019 1:00,10459084.01,0.000695694,0.000695694,0.00006 +13-07-2019 2:00,10458867,0.000695694,0.000695694,0.00006 +13-07-2019 3:00,10458649.15,0.001391387,0.001391387,0.00006 +13-07-2019 4:00,10458430.46,0.004869856,0.004869856,0.00006 +13-07-2019 5:00,10458210.92,0.038958846,0.038958846,0.00006 +13-07-2019 6:00,10457990.54,0.064699512,0.064699512,0.00006 +13-07-2019 7:00,10457769.32,0.050089945,0.050089945,0.00006 +13-07-2019 8:00,10457547.26,0.059133963,0.059133963,0.00006 +13-07-2019 9:00,10457324.35,0.042437315,0.042437315,0.00006 +13-07-2019 10:00,10457100.6,0.036871765,0.036871765,0.00006 +13-07-2019 11:00,10456876.01,0.031306216,0.031306216,0.00006 +13-07-2019 12:00,10456650.58,0.025044973,0.025044973,0.00006 +13-07-2019 13:00,10456424.3,0.021566504,0.021566504,0.00006 +13-07-2019 14:00,10456197.18,0.016696648,0.016696648,0.00006 +13-07-2019 15:00,10455969.23,0.018783729,0.018783729,0.00006 +13-07-2019 16:00,10455740.43,0.030610522,0.030610522,0.00006 +13-07-2019 17:00,10455510.78,0.054264107,0.054264107,0.00006 +13-07-2019 18:00,10455280.3,0.054959801,0.054959801,0.00006 +13-07-2019 19:00,10455048.98,0.048698558,0.048698558,0.00006 +13-07-2019 20:00,10454816.81,0.040350234,0.040350234,0.00006 +13-07-2019 21:00,10454583.8,0.028523441,0.028523441,0.00006 +13-07-2019 22:00,10454349.96,0.013913874,0.013913874,0.00006 +13-07-2019 23:00,10454115.27,0.004869856,0.004869856,0.00006 +14-07-2019 0:00,10453879.74,0.002782775,0.002782775,0.00006 +14-07-2019 1:00,10453643.37,0.000695694,0.000695694,0.00006 +14-07-2019 2:00,10453406.16,0.000695694,0.000695694,0.00006 +14-07-2019 3:00,10453168.11,0.001391387,0.001391387,0.00006 +14-07-2019 4:00,10452929.22,0.004869856,0.004869856,0.00006 +14-07-2019 5:00,10452689.49,0.038958846,0.038958846,0.00006 +14-07-2019 6:00,10452448.92,0.064699512,0.064699512,0.00006 +14-07-2019 7:00,10452207.5,0.050089945,0.050089945,0.00006 +14-07-2019 8:00,10451965.25,0.059133963,0.059133963,0.00006 +14-07-2019 9:00,10451722.16,0.042437315,0.042437315,0.00006 +14-07-2019 10:00,10451478.24,0.036871765,0.036871765,0.00006 +14-07-2019 11:00,10451233.47,0.031306216,0.031306216,0.00006 +14-07-2019 12:00,10450987.86,0.025044973,0.025044973,0.00006 +14-07-2019 13:00,10450741.41,0.021566504,0.021566504,0.00006 +14-07-2019 14:00,10450494.13,0.016696648,0.016696648,0.00006 +14-07-2019 15:00,10450246,0.018783729,0.018783729,0.00006 +14-07-2019 16:00,10449997.04,0.030610522,0.030610522,0.00006 +14-07-2019 17:00,10449747.24,0.054264107,0.054264107,0.00006 +14-07-2019 18:00,10449496.6,0.054959801,0.054959801,0.00006 +14-07-2019 19:00,10449245.12,0.048698558,0.048698558,0.00006 +14-07-2019 20:00,10448992.8,0.040350234,0.040350234,0.00006 +14-07-2019 21:00,10448739.64,0.028523441,0.028523441,0.00006 +14-07-2019 22:00,10448485.65,0.013913874,0.013913874,0.00006 +14-07-2019 23:00,10448230.82,0.004869856,0.004869856,0.00006 +15-07-2019 0:00,10447975.15,0.002782775,0.002782775,0.00006 +15-07-2019 1:00,10447718.65,0.000695694,0.000695694,0.00006 +15-07-2019 2:00,10447461.3,0.000695694,0.000695694,0.00006 +15-07-2019 3:00,10447203.12,0.001391387,0.001391387,0.00006 +15-07-2019 4:00,10446944.11,0.004869856,0.004869856,0.00006 +15-07-2019 5:00,10446684.25,0.038958846,0.038958846,0.00006 +15-07-2019 6:00,10446423.56,0.064699512,0.064699512,0.00006 +15-07-2019 7:00,10446162.03,0.050089945,0.050089945,0.00006 +15-07-2019 8:00,10445899.67,0.059133963,0.059133963,0.00006 +15-07-2019 9:00,10445636.47,0.042437315,0.042437315,0.00006 +15-07-2019 10:00,10445372.43,0.036871765,0.036871765,0.00006 +15-07-2019 11:00,10445107.55,0.031306216,0.031306216,0.00006 +15-07-2019 12:00,10444841.84,0.025044973,0.025044973,0.00006 +15-07-2019 13:00,10444575.3,0.021566504,0.021566504,0.00006 +15-07-2019 14:00,10444307.92,0.016696648,0.016696648,0.00006 +15-07-2019 15:00,10444039.7,0.018783729,0.018783729,0.00006 +15-07-2019 16:00,10443770.65,0.030610522,0.030610522,0.00006 +15-07-2019 17:00,10443500.76,0.054264107,0.054264107,0.00006 +15-07-2019 18:00,10443230.04,0.054959801,0.054959801,0.00006 +15-07-2019 19:00,10442958.48,0.048698558,0.048698558,0.00006 +15-07-2019 20:00,10442686.08,0.040350234,0.040350234,0.00006 +15-07-2019 21:00,10442412.86,0.028523441,0.028523441,0.00006 +15-07-2019 22:00,10442138.79,0.013913874,0.013913874,0.00006 +15-07-2019 23:00,10441863.9,0.004869856,0.004869856,0.00006 +16-07-2019 0:00,10441588.16,0.002782775,0.002782775,0.00006 +16-07-2019 1:00,10441311.6,0.000695694,0.000695694,0.00006 +16-07-2019 2:00,10441034.2,0.000695694,0.000695694,0.00006 +16-07-2019 3:00,10440755.96,0.001391387,0.001391387,0.00006 +16-07-2019 4:00,10440476.9,0.004869856,0.004869856,0.00006 +16-07-2019 5:00,10440196.99,0.038958846,0.038958846,0.00006 +16-07-2019 6:00,10439916.26,0.064699512,0.064699512,0.00006 +16-07-2019 7:00,10439634.69,0.050089945,0.050089945,0.00006 +16-07-2019 8:00,10439352.29,0.059133963,0.059133963,0.00006 +16-07-2019 9:00,10439069.05,0.042437315,0.042437315,0.00006 +16-07-2019 10:00,10438784.99,0.036871765,0.036871765,0.00006 +16-07-2019 11:00,10438500.09,0.031306216,0.031306216,0.00006 +16-07-2019 12:00,10438214.35,0.025044973,0.025044973,0.00006 +16-07-2019 13:00,10437927.79,0.021566504,0.021566504,0.00006 +16-07-2019 14:00,10437640.39,0.016696648,0.016696648,0.00006 +16-07-2019 15:00,10437352.16,0.018783729,0.018783729,0.00006 +16-07-2019 16:00,10437063.1,0.030610522,0.030610522,0.00006 +16-07-2019 17:00,10436773.2,0.054264107,0.054264107,0.00006 +16-07-2019 18:00,10436482.48,0.054959801,0.054959801,0.00006 +16-07-2019 19:00,10436190.92,0.048698558,0.048698558,0.00006 +16-07-2019 20:00,10435898.53,0.040350234,0.040350234,0.00006 +16-07-2019 21:00,10435605.31,0.028523441,0.028523441,0.00006 +16-07-2019 22:00,10435311.26,0.013913874,0.013913874,0.00006 +16-07-2019 23:00,10435016.38,0.004869856,0.004869856,0.00006 +17-07-2019 0:00,10434720.66,0.002782775,0.002782775,0.00006 +17-07-2019 1:00,10434424.12,0.000695694,0.000695694,0.00006 +17-07-2019 2:00,10434126.74,0.000695694,0.000695694,0.00006 +17-07-2019 3:00,10433828.54,0.001391387,0.001391387,0.00006 +17-07-2019 4:00,10433529.5,0.004869856,0.004869856,0.00006 +17-07-2019 5:00,10433229.64,0.038958846,0.038958846,0.00006 +17-07-2019 6:00,10432928.94,0.064699512,0.064699512,0.00006 +17-07-2019 7:00,10432627.42,0.050089945,0.050089945,0.00006 +17-07-2019 8:00,10432325.06,0.059133963,0.059133963,0.00006 +17-07-2019 9:00,10432021.88,0.042437315,0.042437315,0.00006 +17-07-2019 10:00,10431717.87,0.036871765,0.036871765,0.00006 +17-07-2019 11:00,10431413.02,0.031306216,0.031306216,0.00006 +17-07-2019 12:00,10431107.35,0.025044973,0.025044973,0.00006 +17-07-2019 13:00,10430800.85,0.021566504,0.021566504,0.00006 +17-07-2019 14:00,10430493.52,0.016696648,0.016696648,0.00006 +17-07-2019 15:00,10430185.36,0.018783729,0.018783729,0.00006 +17-07-2019 16:00,10429876.38,0.030610522,0.030610522,0.00006 +17-07-2019 17:00,10429566.56,0.054264107,0.054264107,0.00006 +17-07-2019 18:00,10429255.92,0.054959801,0.054959801,0.00006 +17-07-2019 19:00,10428944.45,0.048698558,0.048698558,0.00006 +17-07-2019 20:00,10428632.15,0.040350234,0.040350234,0.00006 +17-07-2019 21:00,10428319.03,0.028523441,0.028523441,0.00006 +17-07-2019 22:00,10428005.07,0.013913874,0.013913874,0.00006 +17-07-2019 23:00,10427690.29,0.004869856,0.004869856,0.00006 +18-07-2019 0:00,10427374.69,0.002782775,0.002782775,0.00006 +18-07-2019 1:00,10427058.25,0.000695694,0.000695694,0.00006 +18-07-2019 2:00,10426740.99,0.000695694,0.000695694,0.00006 +18-07-2019 3:00,10426422.9,0.001391387,0.001391387,0.00006 +18-07-2019 4:00,10426103.99,0.004869856,0.004869856,0.00006 +18-07-2019 5:00,10425784.25,0.038958846,0.038958846,0.00006 +18-07-2019 6:00,10425463.68,0.064699512,0.064699512,0.00006 +18-07-2019 7:00,10425142.29,0.050089945,0.050089945,0.00006 +18-07-2019 8:00,10424820.07,0.059133963,0.059133963,0.00006 +18-07-2019 9:00,10424497.03,0.042437315,0.042437315,0.00006 +18-07-2019 10:00,10424173.16,0.036871765,0.036871765,0.00006 +18-07-2019 11:00,10423848.46,0.031306216,0.031306216,0.00006 +18-07-2019 12:00,10423522.94,0.025044973,0.025044973,0.00006 +18-07-2019 13:00,10423196.6,0.021566504,0.021566504,0.00006 +18-07-2019 14:00,10422869.43,0.016696648,0.016696648,0.00006 +18-07-2019 15:00,10422541.43,0.018783729,0.018783729,0.00006 +18-07-2019 16:00,10422212.62,0.030610522,0.030610522,0.00006 +18-07-2019 17:00,10421882.97,0.054264107,0.054264107,0.00006 +18-07-2019 18:00,10421552.51,0.054959801,0.054959801,0.00006 +18-07-2019 19:00,10421221.22,0.048698558,0.048698558,0.00006 +18-07-2019 20:00,10420889.1,0.040350234,0.040350234,0.00006 +18-07-2019 21:00,10420556.16,0.028523441,0.028523441,0.00006 +18-07-2019 22:00,10420222.4,0.013913874,0.013913874,0.00006 +18-07-2019 23:00,10419887.82,0.004869856,0.004869856,0.00006 +19-07-2019 0:00,10419552.41,0.002782775,0.002782775,0.00006 +19-07-2019 1:00,10419216.18,0.000695694,0.000695694,0.00006 +19-07-2019 2:00,10418879.12,0.000695694,0.000695694,0.00006 +19-07-2019 3:00,10418541.25,0.001391387,0.001391387,0.00006 +19-07-2019 4:00,10418202.55,0.004869856,0.004869856,0.00006 +19-07-2019 5:00,10417863.03,0.038958846,0.038958846,0.00006 +19-07-2019 6:00,10417522.69,0.064699512,0.064699512,0.00006 +19-07-2019 7:00,10417181.52,0.050089945,0.050089945,0.00006 +19-07-2019 8:00,10416839.53,0.059133963,0.059133963,0.00006 +19-07-2019 9:00,10416496.73,0.042437315,0.042437315,0.00006 +19-07-2019 10:00,10416153.1,0.036871765,0.036871765,0.00006 +19-07-2019 11:00,10415808.65,0.031306216,0.031306216,0.00006 +19-07-2019 12:00,10415463.38,0.025044973,0.025044973,0.00006 +19-07-2019 13:00,10415117.28,0.021566504,0.021566504,0.00006 +19-07-2019 14:00,10414770.37,0.016696648,0.016696648,0.00006 +19-07-2019 15:00,10414422.64,0.018783729,0.018783729,0.00006 +19-07-2019 16:00,10414074.08,0.030610522,0.030610522,0.00006 +19-07-2019 17:00,10413724.71,0.054264107,0.054264107,0.00006 +19-07-2019 18:00,10413374.52,0.054959801,0.054959801,0.00006 +19-07-2019 19:00,10413023.5,0.048698558,0.048698558,0.00006 +19-07-2019 20:00,10412671.67,0.040350234,0.040350234,0.00006 +19-07-2019 21:00,10412319.02,0.028523441,0.028523441,0.00006 +19-07-2019 22:00,10411965.55,0.013913874,0.013913874,0.00006 +19-07-2019 23:00,10411611.26,0.004869856,0.004869856,0.00006 +20-07-2019 0:00,10411256.15,0.002782775,0.002782775,0.00006 +20-07-2019 1:00,10410900.22,0.000695694,0.000695694,0.00006 +20-07-2019 2:00,10410543.48,0.000695694,0.000695694,0.00006 +20-07-2019 3:00,10410185.91,0.001391387,0.001391387,0.00006 +20-07-2019 4:00,10409827.53,0.004869856,0.004869856,0.00006 +20-07-2019 5:00,10409468.33,0.038958846,0.038958846,0.00006 +20-07-2019 6:00,10409108.31,0.064699512,0.064699512,0.00006 +20-07-2019 7:00,10408747.47,0.050089945,0.050089945,0.00006 +20-07-2019 8:00,10408385.82,0.059133963,0.059133963,0.00006 +20-07-2019 9:00,10408023.35,0.042437315,0.042437315,0.00006 +20-07-2019 10:00,10407660.06,0.036871765,0.036871765,0.00006 +20-07-2019 11:00,10407295.96,0.031306216,0.031306216,0.00006 +20-07-2019 12:00,10406931.04,0.025044973,0.025044973,0.00006 +20-07-2019 13:00,10406565.3,0.021566504,0.021566504,0.00006 +20-07-2019 14:00,10406198.75,0.016696648,0.016696648,0.00006 +20-07-2019 15:00,10405831.38,0.018783729,0.018783729,0.00006 +20-07-2019 16:00,10405463.19,0.030610522,0.030610522,0.00006 +20-07-2019 17:00,10405094.19,0.054264107,0.054264107,0.00006 +20-07-2019 18:00,10404724.38,0.054959801,0.054959801,0.00006 +20-07-2019 19:00,10404353.75,0.048698558,0.048698558,0.00006 +20-07-2019 20:00,10403982.3,0.040350234,0.040350234,0.00006 +20-07-2019 21:00,10403610.04,0.028523441,0.028523441,0.00006 +20-07-2019 22:00,10403236.96,0.013913874,0.013913874,0.00006 +20-07-2019 23:00,10402863.07,0.004869856,0.004869856,0.00006 +21-07-2019 0:00,10402488.37,0.002782775,0.002782775,0.00006 +21-07-2019 1:00,10402112.85,0.000695694,0.000695694,0.00006 +21-07-2019 2:00,10401736.51,0.000695694,0.000695694,0.00006 +21-07-2019 3:00,10401359.37,0.001391387,0.001391387,0.00006 +21-07-2019 4:00,10400981.41,0.004869856,0.004869856,0.00006 +21-07-2019 5:00,10400602.63,0.038958846,0.038958846,0.00006 +21-07-2019 6:00,10400223.05,0.064699512,0.064699512,0.00006 +21-07-2019 7:00,10399842.65,0.050089945,0.050089945,0.00006 +21-07-2019 8:00,10399461.43,0.059133963,0.059133963,0.00006 +21-07-2019 9:00,10399079.41,0.042437315,0.042437315,0.00006 +21-07-2019 10:00,10398696.57,0.036871765,0.036871765,0.00006 +21-07-2019 11:00,10398312.92,0.031306216,0.031306216,0.00006 +21-07-2019 12:00,10397928.46,0.025044973,0.025044973,0.00006 +21-07-2019 13:00,10397543.19,0.021566504,0.021566504,0.00006 +21-07-2019 14:00,10397157.1,0.016696648,0.016696648,0.00006 +21-07-2019 15:00,10396770.21,0.018783729,0.018783729,0.00006 +21-07-2019 16:00,10396382.5,0.030610522,0.030610522,0.00006 +21-07-2019 17:00,10395993.98,0.054264107,0.054264107,0.00006 +21-07-2019 18:00,10395604.65,0.054959801,0.054959801,0.00006 +21-07-2019 19:00,10395214.51,0.048698558,0.048698558,0.00006 +21-07-2019 20:00,10394823.56,0.040350234,0.040350234,0.00006 +21-07-2019 21:00,10394431.8,0.028523441,0.028523441,0.00006 +21-07-2019 22:00,10394039.23,0.013913874,0.013913874,0.00006 +21-07-2019 23:00,10393645.85,0.004869856,0.004869856,0.00006 +22-07-2019 0:00,10393251.66,0.002782775,0.002782775,0.00006 +22-07-2019 1:00,10392856.66,0.000695694,0.000695694,0.00006 +22-07-2019 2:00,10392460.85,0.000695694,0.000695694,0.00006 +22-07-2019 3:00,10392064.23,0.001391387,0.001391387,0.00006 +22-07-2019 4:00,10391666.81,0.004869856,0.004869856,0.00006 +22-07-2019 5:00,10391268.57,0.038958846,0.038958846,0.00006 +22-07-2019 6:00,10390869.53,0.064699512,0.064699512,0.00006 +22-07-2019 7:00,10390469.68,0.050089945,0.050089945,0.00006 +22-07-2019 8:00,10390069.02,0.059133963,0.059133963,0.00006 +22-07-2019 9:00,10389667.55,0.042437315,0.042437315,0.00006 +22-07-2019 10:00,10389265.28,0.036871765,0.036871765,0.00006 +22-07-2019 11:00,10388862.2,0.031306216,0.031306216,0.00006 +22-07-2019 12:00,10388458.31,0.025044973,0.025044973,0.00006 +22-07-2019 13:00,10388053.61,0.021566504,0.021566504,0.00006 +22-07-2019 14:00,10387648.11,0.016696648,0.016696648,0.00006 +22-07-2019 15:00,10387241.8,0.018783729,0.018783729,0.00006 +22-07-2019 16:00,10386834.68,0.030610522,0.030610522,0.00006 +22-07-2019 17:00,10386426.76,0.054264107,0.054264107,0.00006 +22-07-2019 18:00,10386018.04,0.054959801,0.054959801,0.00006 +22-07-2019 19:00,10385608.5,0.048698558,0.048698558,0.00006 +22-07-2019 20:00,10385198.16,0.040350234,0.040350234,0.00006 +22-07-2019 21:00,10384787.02,0.028523441,0.028523441,0.00006 +22-07-2019 22:00,10384375.07,0.013913874,0.013913874,0.00006 +22-07-2019 23:00,10383962.32,0.004869856,0.004869856,0.00006 +23-07-2019 0:00,10383548.76,0.002782775,0.002782775,0.00006 +23-07-2019 1:00,10383134.4,0.000695694,0.000695694,0.00006 +23-07-2019 2:00,10382719.23,0.000695694,0.000695694,0.00006 +23-07-2019 3:00,10382303.26,0.001391387,0.001391387,0.00006 +23-07-2019 4:00,10381886.49,0.004869856,0.004869856,0.00006 +23-07-2019 5:00,10381468.91,0.038958846,0.038958846,0.00006 +23-07-2019 6:00,10381050.53,0.064699512,0.064699512,0.00006 +23-07-2019 7:00,10380631.35,0.050089945,0.050089945,0.00006 +23-07-2019 8:00,10380211.36,0.059133963,0.059133963,0.00006 +23-07-2019 9:00,10379790.57,0.042437315,0.042437315,0.00006 +23-07-2019 10:00,10379368.98,0.036871765,0.036871765,0.00006 +23-07-2019 11:00,10378946.58,0.031306216,0.031306216,0.00006 +23-07-2019 12:00,10378523.39,0.025044973,0.025044973,0.00006 +23-07-2019 13:00,10378099.39,0.021566504,0.021566504,0.00006 +23-07-2019 14:00,10377674.59,0.016696648,0.016696648,0.00006 +23-07-2019 15:00,10377248.99,0.018783729,0.018783729,0.00006 +23-07-2019 16:00,10376822.58,0.030610522,0.030610522,0.00006 +23-07-2019 17:00,10376395.38,0.054264107,0.054264107,0.00006 +23-07-2019 18:00,10375967.38,0.054959801,0.054959801,0.00006 +23-07-2019 19:00,10375538.57,0.048698558,0.048698558,0.00006 +23-07-2019 20:00,10375108.97,0.040350234,0.040350234,0.00006 +23-07-2019 21:00,10374678.56,0.028523441,0.028523441,0.00006 +23-07-2019 22:00,10374247.36,0.013913874,0.013913874,0.00006 +23-07-2019 23:00,10373815.36,0.004869856,0.004869856,0.00006 +24-07-2019 0:00,10373382.55,0.002782775,0.002782775,0.00006 +24-07-2019 1:00,10372948.95,0.000695694,0.000695694,0.00006 +24-07-2019 2:00,10372514.55,0.000695694,0.000695694,0.00006 +24-07-2019 3:00,10372079.35,0.001391387,0.001391387,0.00006 +24-07-2019 4:00,10371643.35,0.004869856,0.004869856,0.00006 +24-07-2019 5:00,10371206.55,0.038958846,0.038958846,0.00006 +24-07-2019 6:00,10370768.96,0.064699512,0.064699512,0.00006 +24-07-2019 7:00,10370330.56,0.050089945,0.050089945,0.00006 +24-07-2019 8:00,10369891.37,0.059133963,0.059133963,0.00006 +24-07-2019 9:00,10369451.39,0.042437315,0.042437315,0.00006 +24-07-2019 10:00,10369010.6,0.036871765,0.036871765,0.00006 +24-07-2019 11:00,10368569.02,0.031306216,0.031306216,0.00006 +24-07-2019 12:00,10368126.64,0.025044973,0.025044973,0.00006 +24-07-2019 13:00,10367683.47,0.021566504,0.021566504,0.00006 +24-07-2019 14:00,10367239.49,0.016696648,0.016696648,0.00006 +24-07-2019 15:00,10366794.73,0.018783729,0.018783729,0.00006 +24-07-2019 16:00,10366349.16,0.030610522,0.030610522,0.00006 +24-07-2019 17:00,10365902.81,0.054264107,0.054264107,0.00006 +24-07-2019 18:00,10365455.65,0.054959801,0.054959801,0.00006 +24-07-2019 19:00,10365007.7,0.048698558,0.048698558,0.00006 +24-07-2019 20:00,10364558.96,0.040350234,0.040350234,0.00006 +24-07-2019 21:00,10364109.42,0.028523441,0.028523441,0.00006 +24-07-2019 22:00,10363659.09,0.013913874,0.013913874,0.00006 +24-07-2019 23:00,10363207.96,0.004869856,0.004869856,0.00006 +25-07-2019 0:00,10362756.04,0.002782775,0.002782775,0.00006 +25-07-2019 1:00,10362303.33,0.000695694,0.000695694,0.00006 +25-07-2019 2:00,10361849.82,0.000695694,0.000695694,0.00006 +25-07-2019 3:00,10361395.52,0.001391387,0.001391387,0.00006 +25-07-2019 4:00,10360940.42,0.004869856,0.004869856,0.00006 +25-07-2019 5:00,10360484.54,0.038958846,0.038958846,0.00006 +25-07-2019 6:00,10360027.86,0.064699512,0.064699512,0.00006 +25-07-2019 7:00,10359570.39,0.050089945,0.050089945,0.00006 +25-07-2019 8:00,10359112.12,0.059133963,0.059133963,0.00006 +25-07-2019 9:00,10358653.07,0.042437315,0.042437315,0.00006 +25-07-2019 10:00,10358193.22,0.036871765,0.036871765,0.00006 +25-07-2019 11:00,10357732.58,0.031306216,0.031306216,0.00006 +25-07-2019 12:00,10357271.15,0.025044973,0.025044973,0.00006 +25-07-2019 13:00,10356808.93,0.021566504,0.021566504,0.00006 +25-07-2019 14:00,10356345.92,0.016696648,0.016696648,0.00006 +25-07-2019 15:00,10355882.12,0.018783729,0.018783729,0.00006 +25-07-2019 16:00,10355417.53,0.030610522,0.030610522,0.00006 +25-07-2019 17:00,10354952.15,0.054264107,0.054264107,0.00006 +25-07-2019 18:00,10354485.98,0.054959801,0.054959801,0.00006 +25-07-2019 19:00,10354019.01,0.048698558,0.048698558,0.00006 +25-07-2019 20:00,10353551.26,0.040350234,0.040350234,0.00006 +25-07-2019 21:00,10353082.73,0.028523441,0.028523441,0.00006 +25-07-2019 22:00,10352613.4,0.013913874,0.013913874,0.00006 +25-07-2019 23:00,10352143.28,0.004869856,0.004869856,0.00006 +26-07-2019 0:00,10351672.38,0.002782775,0.002782775,0.00006 +26-07-2019 1:00,10351200.69,0.000695694,0.000695694,0.00006 +26-07-2019 2:00,10350728.21,0.000695694,0.000695694,0.00006 +26-07-2019 3:00,10350254.94,0.001391387,0.001391387,0.00006 +26-07-2019 4:00,10349780.89,0.004869856,0.004869856,0.00006 +26-07-2019 5:00,10349306.04,0.038958846,0.038958846,0.00006 +26-07-2019 6:00,10348830.42,0.064699512,0.064699512,0.00006 +26-07-2019 7:00,10348354,0.050089945,0.050089945,0.00006 +26-07-2019 8:00,10347876.8,0.059133963,0.059133963,0.00006 +26-07-2019 9:00,10347398.81,0.042437315,0.042437315,0.00006 +26-07-2019 10:00,10346920.04,0.036871765,0.036871765,0.00006 +26-07-2019 11:00,10346440.48,0.031306216,0.031306216,0.00006 +26-07-2019 12:00,10345960.14,0.025044973,0.025044973,0.00006 +26-07-2019 13:00,10345479.01,0.021566504,0.021566504,0.00006 +26-07-2019 14:00,10344997.09,0.016696648,0.016696648,0.00006 +26-07-2019 15:00,10344514.4,0.018783729,0.018783729,0.00006 +26-07-2019 16:00,10344030.91,0.030610522,0.030610522,0.00006 +26-07-2019 17:00,10343546.65,0.054264107,0.054264107,0.00006 +26-07-2019 18:00,10343061.6,0.054959801,0.054959801,0.00006 +26-07-2019 19:00,10342575.76,0.048698558,0.048698558,0.00006 +26-07-2019 20:00,10342089.15,0.040350234,0.040350234,0.00006 +26-07-2019 21:00,10341601.75,0.028523441,0.028523441,0.00006 +26-07-2019 22:00,10341113.56,0.013913874,0.013913874,0.00006 +26-07-2019 23:00,10340624.6,0.004869856,0.004869856,0.00006 +27-07-2019 0:00,10340134.85,0.002782775,0.002782775,0.00006 +27-07-2019 1:00,10339644.32,0.000695694,0.000695694,0.00006 +27-07-2019 2:00,10339153.01,0.000695694,0.000695694,0.00006 +27-07-2019 3:00,10338660.91,0.001391387,0.001391387,0.00006 +27-07-2019 4:00,10338168.04,0.004869856,0.004869856,0.00006 +27-07-2019 5:00,10337674.38,0.038958846,0.038958846,0.00006 +27-07-2019 6:00,10337179.95,0.064699512,0.064699512,0.00006 +27-07-2019 7:00,10336684.73,0.050089945,0.050089945,0.00006 +27-07-2019 8:00,10336188.73,0.059133963,0.059133963,0.00006 +27-07-2019 9:00,10335691.96,0.042437315,0.042437315,0.00006 +27-07-2019 10:00,10335194.4,0.036871765,0.036871765,0.00006 +27-07-2019 11:00,10334696.06,0.031306216,0.031306216,0.00006 +27-07-2019 12:00,10334196.95,0.025044973,0.025044973,0.00006 +27-07-2019 13:00,10333697.05,0.021566504,0.021566504,0.00006 +27-07-2019 14:00,10333196.38,0.016696648,0.016696648,0.00006 +27-07-2019 15:00,10332694.93,0.018783729,0.018783729,0.00006 +27-07-2019 16:00,10332192.7,0.030610522,0.030610522,0.00006 +27-07-2019 17:00,10331689.69,0.054264107,0.054264107,0.00006 +27-07-2019 18:00,10331185.9,0.054959801,0.054959801,0.00006 +27-07-2019 19:00,10330681.34,0.048698558,0.048698558,0.00006 +27-07-2019 20:00,10330176,0.040350234,0.040350234,0.00006 +27-07-2019 21:00,10329669.88,0.028523441,0.028523441,0.00006 +27-07-2019 22:00,10329162.99,0.013913874,0.013913874,0.00006 +27-07-2019 23:00,10328655.32,0.004869856,0.004869856,0.00006 +28-07-2019 0:00,10328146.87,0.002782775,0.002782775,0.00006 +28-07-2019 1:00,10327637.65,0.000695694,0.000695694,0.00006 +28-07-2019 2:00,10327127.65,0.000695694,0.000695694,0.00006 +28-07-2019 3:00,10326616.88,0.001391387,0.001391387,0.00006 +28-07-2019 4:00,10326105.33,0.004869856,0.004869856,0.00006 +28-07-2019 5:00,10325593,0.038958846,0.038958846,0.00006 +28-07-2019 6:00,10325079.91,0.064699512,0.064699512,0.00006 +28-07-2019 7:00,10324566.03,0.050089945,0.050089945,0.00006 +28-07-2019 8:00,10324051.39,0.059133963,0.059133963,0.00006 +28-07-2019 9:00,10323535.97,0.042437315,0.042437315,0.00006 +28-07-2019 10:00,10323019.77,0.036871765,0.036871765,0.00006 +28-07-2019 11:00,10322502.81,0.031306216,0.031306216,0.00006 +28-07-2019 12:00,10321985.07,0.025044973,0.025044973,0.00006 +28-07-2019 13:00,10321466.55,0.021566504,0.021566504,0.00006 +28-07-2019 14:00,10320947.27,0.016696648,0.016696648,0.00006 +28-07-2019 15:00,10320427.21,0.018783729,0.018783729,0.00006 +28-07-2019 16:00,10319906.38,0.030610522,0.030610522,0.00006 +28-07-2019 17:00,10319384.78,0.054264107,0.054264107,0.00006 +28-07-2019 18:00,10318862.41,0.054959801,0.054959801,0.00006 +28-07-2019 19:00,10318339.27,0.048698558,0.048698558,0.00006 +28-07-2019 20:00,10317815.35,0.040350234,0.040350234,0.00006 +28-07-2019 21:00,10317290.67,0.028523441,0.028523441,0.00006 +28-07-2019 22:00,10316765.21,0.013913874,0.013913874,0.00006 +28-07-2019 23:00,10316238.99,0.004869856,0.004869856,0.00006 +29-07-2019 0:00,10315711.99,0.002782775,0.002782775,0.00006 +29-07-2019 1:00,10315184.23,0.000695694,0.000695694,0.00006 +29-07-2019 2:00,10314655.7,0.000695694,0.000695694,0.00006 +29-07-2019 3:00,10314126.39,0.001391387,0.001391387,0.00006 +29-07-2019 4:00,10313596.32,0.004869856,0.004869856,0.00006 +29-07-2019 5:00,10313065.48,0.038958846,0.038958846,0.00006 +29-07-2019 6:00,10312533.88,0.064699512,0.064699512,0.00006 +29-07-2019 7:00,10312001.5,0.050089945,0.050089945,0.00006 +29-07-2019 8:00,10311468.36,0.059133963,0.059133963,0.00006 +29-07-2019 9:00,10310934.45,0.042437315,0.042437315,0.00006 +29-07-2019 10:00,10310399.77,0.036871765,0.036871765,0.00006 +29-07-2019 11:00,10309864.33,0.031306216,0.031306216,0.00006 +29-07-2019 12:00,10309328.12,0.025044973,0.025044973,0.00006 +29-07-2019 13:00,10308791.14,0.021566504,0.021566504,0.00006 +29-07-2019 14:00,10308253.4,0.016696648,0.016696648,0.00006 +29-07-2019 15:00,10307714.89,0.018783729,0.018783729,0.00006 +29-07-2019 16:00,10307175.62,0.030610522,0.030610522,0.00006 +29-07-2019 17:00,10306635.58,0.054264107,0.054264107,0.00006 +29-07-2019 18:00,10306094.77,0.054959801,0.054959801,0.00006 +29-07-2019 19:00,10305553.21,0.048698558,0.048698558,0.00006 +29-07-2019 20:00,10305010.87,0.040350234,0.040350234,0.00006 +29-07-2019 21:00,10304467.78,0.028523441,0.028523441,0.00006 +29-07-2019 22:00,10303923.92,0.013913874,0.013913874,0.00006 +29-07-2019 23:00,10303379.29,0.004869856,0.004869856,0.00006 +30-07-2019 0:00,10302833.91,0.002782775,0.002782775,0.00006 +30-07-2019 1:00,10302287.76,0.000695694,0.000695694,0.00006 +30-07-2019 2:00,10301740.85,0.000695694,0.000695694,0.00006 +30-07-2019 3:00,10301193.17,0.001391387,0.001391387,0.00006 +30-07-2019 4:00,10300644.74,0.004869856,0.004869856,0.00006 +30-07-2019 5:00,10300095.54,0.038958846,0.038958846,0.00006 +30-07-2019 6:00,10299545.58,0.064699512,0.064699512,0.00006 +30-07-2019 7:00,10298994.86,0.050089945,0.050089945,0.00006 +30-07-2019 8:00,10298443.38,0.059133963,0.059133963,0.00006 +30-07-2019 9:00,10297891.13,0.042437315,0.042437315,0.00006 +30-07-2019 10:00,10297338.13,0.036871765,0.036871765,0.00006 +30-07-2019 11:00,10296784.37,0.031306216,0.031306216,0.00006 +30-07-2019 12:00,10296229.85,0.025044973,0.025044973,0.00006 +30-07-2019 13:00,10295674.57,0.021566504,0.021566504,0.00006 +30-07-2019 14:00,10295118.52,0.016696648,0.016696648,0.00006 +30-07-2019 15:00,10294561.72,0.018783729,0.018783729,0.00006 +30-07-2019 16:00,10294004.17,0.030610522,0.030610522,0.00006 +30-07-2019 17:00,10293445.85,0.054264107,0.054264107,0.00006 +30-07-2019 18:00,10292886.78,0.054959801,0.054959801,0.00006 +30-07-2019 19:00,10292326.94,0.048698558,0.048698558,0.00006 +30-07-2019 20:00,10291766.35,0.040350234,0.040350234,0.00006 +30-07-2019 21:00,10291205.01,0.028523441,0.028523441,0.00006 +30-07-2019 22:00,10290642.9,0.013913874,0.013913874,0.00006 +30-07-2019 23:00,10290080.04,0.004869856,0.004869856,0.00006 +31-07-2019 0:00,10289516.42,0.002782775,0.002782775,0.00006 +31-07-2019 1:00,10288952.05,0.000695694,0.000695694,0.00006 +31-07-2019 2:00,10288386.92,0.000695694,0.000695694,0.00006 +31-07-2019 3:00,10287821.04,0.001391387,0.001391387,0.00006 +31-07-2019 4:00,10287254.4,0.004869856,0.004869856,0.00006 +31-07-2019 5:00,10286687.01,0.038958846,0.038958846,0.00006 +31-07-2019 6:00,10286118.86,0.064699512,0.064699512,0.00006 +31-07-2019 7:00,10285549.96,0.050089945,0.050089945,0.00006 +31-07-2019 8:00,10284980.3,0.059133963,0.059133963,0.00006 +31-07-2019 9:00,10284409.89,0.042437315,0.042437315,0.00006 +31-07-2019 10:00,10283838.72,0.036871765,0.036871765,0.00006 +31-07-2019 11:00,10283266.81,0.031306216,0.031306216,0.00006 +31-07-2019 12:00,10282694.14,0.025044973,0.025044973,0.00006 +31-07-2019 13:00,10282120.72,0.021566504,0.021566504,0.00006 +31-07-2019 14:00,10281546.54,0.016696648,0.016696648,0.00006 +31-07-2019 15:00,10280971.62,0.018783729,0.018783729,0.00006 +31-07-2019 16:00,10280395.94,0.030610522,0.030610522,0.00006 +31-07-2019 17:00,10279819.51,0.054264107,0.054264107,0.00006 +31-07-2019 18:00,10279242.33,0.054959801,0.054959801,0.00006 +31-07-2019 19:00,10278664.4,0.048698558,0.048698558,0.00006 +31-07-2019 20:00,10278085.72,0.040350234,0.040350234,0.00006 +31-07-2019 21:00,10277506.28,0.028523441,0.028523441,0.00006 +31-07-2019 22:00,10276926.1,0.013913874,0.013913874,0.00006 +31-07-2019 23:00,10276345.17,0.004869856,0.004869856,0.00006 +1-8-2019 0:00,10275763.49,0.002782775,0.002782775,0.00006 +1-8-2019 1:00,10275181.06,0.000695694,0.000695694,0.00006 +1-8-2019 2:00,10274597.89,0.000695694,0.000695694,0.00006 +1-8-2019 3:00,10274013.96,0.001391387,0.001391387,0.00006 +1-8-2019 4:00,10273429.29,0.004869856,0.004869856,0.00006 +1-8-2019 5:00,10272843.86,0.038958846,0.038958846,0.00006 +1-8-2019 6:00,10272257.7,0.064699512,0.064699512,0.00006 +1-8-2019 7:00,10271670.78,0.050089945,0.050089945,0.00006 +1-8-2019 8:00,10271083.12,0.059133963,0.059133963,0.00006 +1-8-2019 9:00,10270494.71,0.042437315,0.042437315,0.00006 +1-8-2019 10:00,10269905.55,0.036871765,0.036871765,0.00006 +1-8-2019 11:00,10269315.65,0.031306216,0.031306216,0.00006 +1-8-2019 12:00,10268725,0.025044973,0.025044973,0.00006 +1-8-2019 13:00,10268133.61,0.021566504,0.021566504,0.00006 +1-8-2019 14:00,10267541.47,0.016696648,0.016696648,0.00006 +1-8-2019 15:00,10266948.59,0.018783729,0.018783729,0.00006 +1-8-2019 16:00,10266354.96,0.030610522,0.030610522,0.00006 +1-8-2019 17:00,10265760.59,0.054264107,0.054264107,0.00006 +1-8-2019 18:00,10265165.48,0.054959801,0.054959801,0.00006 +1-8-2019 19:00,10264569.62,0.048698558,0.048698558,0.00006 +1-8-2019 20:00,10263973.02,0.040350234,0.040350234,0.00006 +1-8-2019 21:00,10263375.67,0.028523441,0.028523441,0.00006 +1-8-2019 22:00,10262777.59,0.013913874,0.013913874,0.00006 +1-8-2019 23:00,10262178.76,0.004869856,0.004869856,0.00006 +2-8-2019 0:00,10261579.19,0.002782775,0.002782775,0.00006 +2-8-2019 1:00,10260978.87,0.000695694,0.000695694,0.00006 +2-8-2019 2:00,10260377.82,0.000695694,0.000695694,0.00006 +2-8-2019 3:00,10259776.03,0.001391387,0.001391387,0.00006 +2-8-2019 4:00,10259173.49,0.004869856,0.004869856,0.00006 +2-8-2019 5:00,10258570.21,0.038958846,0.038958846,0.00006 +2-8-2019 6:00,10257966.2,0.064699512,0.064699512,0.00006 +2-8-2019 7:00,10257361.44,0.050089945,0.050089945,0.00006 +2-8-2019 8:00,10256755.95,0.059133963,0.059133963,0.00006 +2-8-2019 9:00,10256149.71,0.042437315,0.042437315,0.00006 +2-8-2019 10:00,10255542.74,0.036871765,0.036871765,0.00006 +2-8-2019 11:00,10254935.03,0.031306216,0.031306216,0.00006 +2-8-2019 12:00,10254326.58,0.025044973,0.025044973,0.00006 +2-8-2019 13:00,10253717.39,0.021566504,0.021566504,0.00006 +2-8-2019 14:00,10253107.46,0.016696648,0.016696648,0.00006 +2-8-2019 15:00,10252496.8,0.018783729,0.018783729,0.00006 +2-8-2019 16:00,10251885.4,0.030610522,0.030610522,0.00006 +2-8-2019 17:00,10251273.26,0.054264107,0.054264107,0.00006 +2-8-2019 18:00,10250660.39,0.054959801,0.054959801,0.00006 +2-8-2019 19:00,10250046.78,0.048698558,0.048698558,0.00006 +2-8-2019 20:00,10249432.44,0.040350234,0.040350234,0.00006 +2-8-2019 21:00,10248817.36,0.028523441,0.028523441,0.00006 +2-8-2019 22:00,10248201.54,0.013913874,0.013913874,0.00006 +2-8-2019 23:00,10247584.99,0.004869856,0.004869856,0.00006 +3-8-2019 0:00,10246967.71,0.002782775,0.002782775,0.00006 +3-8-2019 1:00,10246349.69,0.000695694,0.000695694,0.00006 +3-8-2019 2:00,10245730.94,0.000695694,0.000695694,0.00006 +3-8-2019 3:00,10245111.45,0.001391387,0.001391387,0.00006 +3-8-2019 4:00,10244491.23,0.004869856,0.004869856,0.00006 +3-8-2019 5:00,10243870.28,0.038958846,0.038958846,0.00006 +3-8-2019 6:00,10243248.6,0.064699512,0.064699512,0.00006 +3-8-2019 7:00,10242626.18,0.050089945,0.050089945,0.00006 +3-8-2019 8:00,10242003.03,0.059133963,0.059133963,0.00006 +3-8-2019 9:00,10241379.15,0.042437315,0.042437315,0.00006 +3-8-2019 10:00,10240754.54,0.036871765,0.036871765,0.00006 +3-8-2019 11:00,10240129.2,0.031306216,0.031306216,0.00006 +3-8-2019 12:00,10239503.13,0.025044973,0.025044973,0.00006 +3-8-2019 13:00,10238876.33,0.021566504,0.021566504,0.00006 +3-8-2019 14:00,10238248.79,0.016696648,0.016696648,0.00006 +3-8-2019 15:00,10237620.53,0.018783729,0.018783729,0.00006 +3-8-2019 16:00,10236991.54,0.030610522,0.030610522,0.00006 +3-8-2019 17:00,10236361.82,0.054264107,0.054264107,0.00006 +3-8-2019 18:00,10235731.37,0.054959801,0.054959801,0.00006 +3-8-2019 19:00,10235100.19,0.048698558,0.048698558,0.00006 +3-8-2019 20:00,10234468.29,0.040350234,0.040350234,0.00006 +3-8-2019 21:00,10233835.65,0.028523441,0.028523441,0.00006 +3-8-2019 22:00,10233202.29,0.013913874,0.013913874,0.00006 +3-8-2019 23:00,10232568.2,0.004869856,0.004869856,0.00006 +4-8-2019 0:00,10231933.39,0.002782775,0.002782775,0.00006 +4-8-2019 1:00,10231297.85,0.000695694,0.000695694,0.00006 +4-8-2019 2:00,10230661.58,0.000695694,0.000695694,0.00006 +4-8-2019 3:00,10230024.59,0.001391387,0.001391387,0.00006 +4-8-2019 4:00,10229386.87,0.004869856,0.004869856,0.00006 +4-8-2019 5:00,10228748.43,0.038958846,0.038958846,0.00006 +4-8-2019 6:00,10228109.26,0.064699512,0.064699512,0.00006 +4-8-2019 7:00,10227469.37,0.050089945,0.050089945,0.00006 +4-8-2019 8:00,10226828.75,0.059133963,0.059133963,0.00006 +4-8-2019 9:00,10226187.41,0.042437315,0.042437315,0.00006 +4-8-2019 10:00,10225545.35,0.036871765,0.036871765,0.00006 +4-8-2019 11:00,10224902.56,0.031306216,0.031306216,0.00006 +4-8-2019 12:00,10224259.05,0.025044973,0.025044973,0.00006 +4-8-2019 13:00,10223614.82,0.021566504,0.021566504,0.00006 +4-8-2019 14:00,10222969.87,0.016696648,0.016696648,0.00006 +4-8-2019 15:00,10222324.19,0.018783729,0.018783729,0.00006 +4-8-2019 16:00,10221677.79,0.030610522,0.030610522,0.00006 +4-8-2019 17:00,10221030.68,0.054264107,0.054264107,0.00006 +4-8-2019 18:00,10220382.84,0.054959801,0.054959801,0.00006 +4-8-2019 19:00,10219734.28,0.048698558,0.048698558,0.00006 +4-8-2019 20:00,10219085,0.040350234,0.040350234,0.00006 +4-8-2019 21:00,10218435,0.028523441,0.028523441,0.00006 +4-8-2019 22:00,10217784.28,0.013913874,0.013913874,0.00006 +4-8-2019 23:00,10217132.84,0.004869856,0.004869856,0.00006 +5-8-2019 0:00,10216480.69,0.002782775,0.002782775,0.00006 +5-8-2019 1:00,10215827.81,0.000695694,0.000695694,0.00006 +5-8-2019 2:00,10215174.22,0.000695694,0.000695694,0.00006 +5-8-2019 3:00,10214519.91,0.001391387,0.001391387,0.00006 +5-8-2019 4:00,10213864.88,0.004869856,0.004869856,0.00006 +5-8-2019 5:00,10213209.13,0.038958846,0.038958846,0.00006 +5-8-2019 6:00,10212552.67,0.064699512,0.064699512,0.00006 +5-8-2019 7:00,10211895.49,0.050089945,0.050089945,0.00006 +5-8-2019 8:00,10211237.6,0.059133963,0.059133963,0.00006 +5-8-2019 9:00,10210578.99,0.042437315,0.042437315,0.00006 +5-8-2019 10:00,10209919.66,0.036871765,0.036871765,0.00006 +5-8-2019 11:00,10209259.62,0.031306216,0.031306216,0.00006 +5-8-2019 12:00,10208598.86,0.025044973,0.025044973,0.00006 +5-8-2019 13:00,10207937.39,0.021566504,0.021566504,0.00006 +5-8-2019 14:00,10207275.21,0.016696648,0.016696648,0.00006 +5-8-2019 15:00,10206612.31,0.018783729,0.018783729,0.00006 +5-8-2019 16:00,10205948.7,0.030610522,0.030610522,0.00006 +5-8-2019 17:00,10205284.38,0.054264107,0.054264107,0.00006 +5-8-2019 18:00,10204619.34,0.054959801,0.054959801,0.00006 +5-8-2019 19:00,10203953.59,0.048698558,0.048698558,0.00006 +5-8-2019 20:00,10203287.13,0.040350234,0.040350234,0.00006 +5-8-2019 21:00,10202619.96,0.028523441,0.028523441,0.00006 +5-8-2019 22:00,10201952.07,0.013913874,0.013913874,0.00006 +5-8-2019 23:00,10201283.48,0.004869856,0.004869856,0.00006 +6-8-2019 0:00,10200614.17,0.002782775,0.002782775,0.00006 +6-8-2019 1:00,10199944.16,0.000695694,0.000695694,0.00006 +6-8-2019 2:00,10199273.43,0.000695694,0.000695694,0.00006 +6-8-2019 3:00,10198602,0.001391387,0.001391387,0.00006 +6-8-2019 4:00,10197929.85,0.004869856,0.004869856,0.00006 +6-8-2019 5:00,10197257,0.038958846,0.038958846,0.00006 +6-8-2019 6:00,10196583.44,0.064699512,0.064699512,0.00006 +6-8-2019 7:00,10195909.17,0.050089945,0.050089945,0.00006 +6-8-2019 8:00,10195234.19,0.059133963,0.059133963,0.00006 +6-8-2019 9:00,10194558.5,0.042437315,0.042437315,0.00006 +6-8-2019 10:00,10193882.11,0.036871765,0.036871765,0.00006 +6-8-2019 11:00,10193205.01,0.031306216,0.031306216,0.00006 +6-8-2019 12:00,10192527.2,0.025044973,0.025044973,0.00006 +6-8-2019 13:00,10191848.69,0.021566504,0.021566504,0.00006 +6-8-2019 14:00,10191169.47,0.016696648,0.016696648,0.00006 +6-8-2019 15:00,10190489.55,0.018783729,0.018783729,0.00006 +6-8-2019 16:00,10189808.92,0.030610522,0.030610522,0.00006 +6-8-2019 17:00,10189127.59,0.054264107,0.054264107,0.00006 +6-8-2019 18:00,10188445.55,0.054959801,0.054959801,0.00006 +6-8-2019 19:00,10187762.81,0.048698558,0.048698558,0.00006 +6-8-2019 20:00,10187079.36,0.040350234,0.040350234,0.00006 +6-8-2019 21:00,10186395.22,0.028523441,0.028523441,0.00006 +6-8-2019 22:00,10185710.37,0.013913874,0.013913874,0.00006 +6-8-2019 23:00,10185024.81,0.004869856,0.004869856,0.00006 +7-8-2019 0:00,10184338.55,0.002782775,0.002782775,0.00006 +7-8-2019 1:00,10183651.6,0.000695694,0.000695694,0.00006 +7-8-2019 2:00,10182963.94,0.000695694,0.000695694,0.00006 +7-8-2019 3:00,10182275.58,0.001391387,0.001391387,0.00006 +7-8-2019 4:00,10181586.51,0.004869856,0.004869856,0.00006 +7-8-2019 5:00,10180896.75,0.038958846,0.038958846,0.00006 +7-8-2019 6:00,10180206.29,0.064699512,0.064699512,0.00006 +7-8-2019 7:00,10179515.13,0.050089945,0.050089945,0.00006 +7-8-2019 8:00,10178823.27,0.059133963,0.059133963,0.00006 +7-8-2019 9:00,10178130.71,0.042437315,0.042437315,0.00006 +7-8-2019 10:00,10177437.45,0.036871765,0.036871765,0.00006 +7-8-2019 11:00,10176743.49,0.031306216,0.031306216,0.00006 +7-8-2019 12:00,10176048.83,0.025044973,0.025044973,0.00006 +7-8-2019 13:00,10175353.48,0.021566504,0.021566504,0.00006 +7-8-2019 14:00,10174657.43,0.016696648,0.016696648,0.00006 +7-8-2019 15:00,10173960.68,0.018783729,0.018783729,0.00006 +7-8-2019 16:00,10173263.24,0.030610522,0.030610522,0.00006 +7-8-2019 17:00,10172565.1,0.054264107,0.054264107,0.00006 +7-8-2019 18:00,10171866.26,0.054959801,0.054959801,0.00006 +7-8-2019 19:00,10171166.73,0.048698558,0.048698558,0.00006 +7-8-2019 20:00,10170466.5,0.040350234,0.040350234,0.00006 +7-8-2019 21:00,10169765.58,0.028523441,0.028523441,0.00006 +7-8-2019 22:00,10169063.97,0.013913874,0.013913874,0.00006 +7-8-2019 23:00,10168361.66,0.004869856,0.004869856,0.00006 +8-8-2019 0:00,10167658.65,0.002782775,0.002782775,0.00006 +8-8-2019 1:00,10166954.96,0.000695694,0.000695694,0.00006 +8-8-2019 2:00,10166250.57,0.000695694,0.000695694,0.00006 +8-8-2019 3:00,10165545.48,0.001391387,0.001391387,0.00006 +8-8-2019 4:00,10164839.71,0.004869856,0.004869856,0.00006 +8-8-2019 5:00,10164133.24,0.038958846,0.038958846,0.00006 +8-8-2019 6:00,10163426.09,0.064699512,0.064699512,0.00006 +8-8-2019 7:00,10162718.24,0.050089945,0.050089945,0.00006 +8-8-2019 8:00,10162009.7,0.059133963,0.059133963,0.00006 +8-8-2019 9:00,10161300.47,0.042437315,0.042437315,0.00006 +8-8-2019 10:00,10160590.55,0.036871765,0.036871765,0.00006 +8-8-2019 11:00,10159879.94,0.031306216,0.031306216,0.00006 +8-8-2019 12:00,10159168.64,0.025044973,0.025044973,0.00006 +8-8-2019 13:00,10158456.65,0.021566504,0.021566504,0.00006 +8-8-2019 14:00,10157743.97,0.016696648,0.016696648,0.00006 +8-8-2019 15:00,10157030.61,0.018783729,0.018783729,0.00006 +8-8-2019 16:00,10156316.55,0.030610522,0.030610522,0.00006 +8-8-2019 17:00,10155601.81,0.054264107,0.054264107,0.00006 +8-8-2019 18:00,10154886.39,0.054959801,0.054959801,0.00006 +8-8-2019 19:00,10154170.27,0.048698558,0.048698558,0.00006 +8-8-2019 20:00,10153453.47,0.040350234,0.040350234,0.00006 +8-8-2019 21:00,10152735.98,0.028523441,0.028523441,0.00006 +8-8-2019 22:00,10152017.81,0.013913874,0.013913874,0.00006 +8-8-2019 23:00,10151298.95,0.004869856,0.004869856,0.00006 +9-8-2019 0:00,10150579.41,0.002782775,0.002782775,0.00006 +9-8-2019 1:00,10149859.19,0.000695694,0.000695694,0.00006 +9-8-2019 2:00,10149138.27,0.000695694,0.000695694,0.00006 +9-8-2019 3:00,10148416.68,0.001391387,0.001391387,0.00006 +9-8-2019 4:00,10147694.4,0.004869856,0.004869856,0.00006 +9-8-2019 5:00,10146971.44,0.038958846,0.038958846,0.00006 +9-8-2019 6:00,10146247.8,0.064699512,0.064699512,0.00006 +9-8-2019 7:00,10145523.47,0.050089945,0.050089945,0.00006 +9-8-2019 8:00,10144798.46,0.059133963,0.059133963,0.00006 +9-8-2019 9:00,10144072.77,0.042437315,0.042437315,0.00006 +9-8-2019 10:00,10143346.4,0.036871765,0.036871765,0.00006 +9-8-2019 11:00,10142619.35,0.031306216,0.031306216,0.00006 +9-8-2019 12:00,10141891.62,0.025044973,0.025044973,0.00006 +9-8-2019 13:00,10141163.2,0.021566504,0.021566504,0.00006 +9-8-2019 14:00,10140434.11,0.016696648,0.016696648,0.00006 +9-8-2019 15:00,10139704.34,0.018783729,0.018783729,0.00006 +9-8-2019 16:00,10138973.89,0.030610522,0.030610522,0.00006 +9-8-2019 17:00,10138242.76,0.054264107,0.054264107,0.00006 +9-8-2019 18:00,10137510.95,0.054959801,0.054959801,0.00006 +9-8-2019 19:00,10136778.47,0.048698558,0.048698558,0.00006 +9-8-2019 20:00,10136045.31,0.040350234,0.040350234,0.00006 +9-8-2019 21:00,10135311.47,0.028523441,0.028523441,0.00006 +9-8-2019 22:00,10134576.95,0.013913874,0.013913874,0.00006 +9-8-2019 23:00,10133841.76,0.004869856,0.004869856,0.00006 +10-8-2019 0:00,10133105.89,0.002782775,0.002782775,0.00006 +10-8-2019 1:00,10132369.35,0.000695694,0.000695694,0.00006 +10-8-2019 2:00,10131632.13,0.000695694,0.000695694,0.00006 +10-8-2019 3:00,10130894.24,0.001391387,0.001391387,0.00006 +10-8-2019 4:00,10130155.67,0.004869856,0.004869856,0.00006 +10-8-2019 5:00,10129416.43,0.038958846,0.038958846,0.00006 +10-8-2019 6:00,10128676.51,0.064699512,0.064699512,0.00006 +10-8-2019 7:00,10127935.92,0.050089945,0.050089945,0.00006 +10-8-2019 8:00,10127194.66,0.059133963,0.059133963,0.00006 +10-8-2019 9:00,10126452.72,0.042437315,0.042437315,0.00006 +10-8-2019 10:00,10125710.12,0.036871765,0.036871765,0.00006 +10-8-2019 11:00,10124966.84,0.031306216,0.031306216,0.00006 +10-8-2019 12:00,10124222.89,0.025044973,0.025044973,0.00006 +10-8-2019 13:00,10123478.27,0.021566504,0.021566504,0.00006 +10-8-2019 14:00,10122732.98,0.016696648,0.016696648,0.00006 +10-8-2019 15:00,10121987.02,0.018783729,0.018783729,0.00006 +10-8-2019 16:00,10121240.39,0.030610522,0.030610522,0.00006 +10-8-2019 17:00,10120493.09,0.054264107,0.054264107,0.00006 +10-8-2019 18:00,10119745.12,0.054959801,0.054959801,0.00006 +10-8-2019 19:00,10118996.48,0.048698558,0.048698558,0.00006 +10-8-2019 20:00,10118247.17,0.040350234,0.040350234,0.00006 +10-8-2019 21:00,10117497.2,0.028523441,0.028523441,0.00006 +10-8-2019 22:00,10116746.55,0.013913874,0.013913874,0.00006 +10-8-2019 23:00,10115995.24,0.004869856,0.004869856,0.00006 +11-8-2019 0:00,10115243.27,0.002782775,0.002782775,0.00006 +11-8-2019 1:00,10114490.63,0.000695694,0.000695694,0.00006 +11-8-2019 2:00,10113737.32,0.000695694,0.000695694,0.00006 +11-8-2019 3:00,10112983.34,0.001391387,0.001391387,0.00006 +11-8-2019 4:00,10112228.71,0.004869856,0.004869856,0.00006 +11-8-2019 5:00,10111473.4,0.038958846,0.038958846,0.00006 +11-8-2019 6:00,10110717.43,0.064699512,0.064699512,0.00006 +11-8-2019 7:00,10109960.8,0.050089945,0.050089945,0.00006 +11-8-2019 8:00,10109203.51,0.059133963,0.059133963,0.00006 +11-8-2019 9:00,10108445.55,0.042437315,0.042437315,0.00006 +11-8-2019 10:00,10107686.93,0.036871765,0.036871765,0.00006 +11-8-2019 11:00,10106927.64,0.031306216,0.031306216,0.00006 +11-8-2019 12:00,10106167.69,0.025044973,0.025044973,0.00006 +11-8-2019 13:00,10105407.09,0.021566504,0.021566504,0.00006 +11-8-2019 14:00,10104645.82,0.016696648,0.016696648,0.00006 +11-8-2019 15:00,10103883.89,0.018783729,0.018783729,0.00006 +11-8-2019 16:00,10103121.3,0.030610522,0.030610522,0.00006 +11-8-2019 17:00,10102358.04,0.054264107,0.054264107,0.00006 +11-8-2019 18:00,10101594.13,0.054959801,0.054959801,0.00006 +11-8-2019 19:00,10100829.56,0.048698558,0.048698558,0.00006 +11-8-2019 20:00,10100064.34,0.040350234,0.040350234,0.00006 +11-8-2019 21:00,10099298.45,0.028523441,0.028523441,0.00006 +11-8-2019 22:00,10098531.9,0.013913874,0.013913874,0.00006 +11-8-2019 23:00,10097764.7,0.004869856,0.004869856,0.00006 +12-8-2019 0:00,10096996.84,0.002782775,0.002782775,0.00006 +12-8-2019 1:00,10096228.32,0.000695694,0.000695694,0.00006 +12-8-2019 2:00,10095459.15,0.000695694,0.000695694,0.00006 +12-8-2019 3:00,10094689.32,0.001391387,0.001391387,0.00006 +12-8-2019 4:00,10093918.83,0.004869856,0.004869856,0.00006 +12-8-2019 5:00,10093147.69,0.038958846,0.038958846,0.00006 +12-8-2019 6:00,10092375.89,0.064699512,0.064699512,0.00006 +12-8-2019 7:00,10091603.44,0.050089945,0.050089945,0.00006 +12-8-2019 8:00,10090830.33,0.059133963,0.059133963,0.00006 +12-8-2019 9:00,10090056.58,0.042437315,0.042437315,0.00006 +12-8-2019 10:00,10089282.16,0.036871765,0.036871765,0.00006 +12-8-2019 11:00,10088507.1,0.031306216,0.031306216,0.00006 +12-8-2019 12:00,10087731.38,0.025044973,0.025044973,0.00006 +12-8-2019 13:00,10086955.01,0.021566504,0.021566504,0.00006 +12-8-2019 14:00,10086177.99,0.016696648,0.016696648,0.00006 +12-8-2019 15:00,10085400.31,0.018783729,0.018783729,0.00006 +12-8-2019 16:00,10084621.99,0.030610522,0.030610522,0.00006 +12-8-2019 17:00,10083843.01,0.054264107,0.054264107,0.00006 +12-8-2019 18:00,10083063.39,0.054959801,0.054959801,0.00006 +12-8-2019 19:00,10082283.11,0.048698558,0.048698558,0.00006 +12-8-2019 20:00,10081502.19,0.040350234,0.040350234,0.00006 +12-8-2019 21:00,10080720.62,0.028523441,0.028523441,0.00006 +12-8-2019 22:00,10079938.39,0.013913874,0.013913874,0.00006 +12-8-2019 23:00,10079155.52,0.004869856,0.004869856,0.00006 +13-08-2019 0:00,10078372.01,0.002782775,0.002782775,0.00006 +13-08-2019 1:00,10077587.84,0.000695694,0.000695694,0.00006 +13-08-2019 2:00,10076803.03,0.000695694,0.000695694,0.00006 +13-08-2019 3:00,10076017.57,0.001391387,0.001391387,0.00006 +13-08-2019 4:00,10075231.46,0.004869856,0.004869856,0.00006 +13-08-2019 5:00,10074444.71,0.038958846,0.038958846,0.00006 +13-08-2019 6:00,10073657.32,0.064699512,0.064699512,0.00006 +13-08-2019 7:00,10072869.28,0.050089945,0.050089945,0.00006 +13-08-2019 8:00,10072080.59,0.059133963,0.059133963,0.00006 +13-08-2019 9:00,10071291.26,0.042437315,0.042437315,0.00006 +13-08-2019 10:00,10070501.29,0.036871765,0.036871765,0.00006 +13-08-2019 11:00,10069710.67,0.031306216,0.031306216,0.00006 +13-08-2019 12:00,10068919.41,0.025044973,0.025044973,0.00006 +13-08-2019 13:00,10068127.51,0.021566504,0.021566504,0.00006 +13-08-2019 14:00,10067334.96,0.016696648,0.016696648,0.00006 +13-08-2019 15:00,10066541.78,0.018783729,0.018783729,0.00006 +13-08-2019 16:00,10065747.95,0.030610522,0.030610522,0.00006 +13-08-2019 17:00,10064953.48,0.054264107,0.054264107,0.00006 +13-08-2019 18:00,10064158.37,0.054959801,0.054959801,0.00006 +13-08-2019 19:00,10063362.62,0.048698558,0.048698558,0.00006 +13-08-2019 20:00,10062566.23,0.040350234,0.040350234,0.00006 +13-08-2019 21:00,10061769.21,0.028523441,0.028523441,0.00006 +13-08-2019 22:00,10060971.54,0.013913874,0.013913874,0.00006 +13-08-2019 23:00,10060173.23,0.004869856,0.004869856,0.00006 +14-08-2019 0:00,10059374.29,0.002782775,0.002782775,0.00006 +14-08-2019 1:00,10058574.71,0.000695694,0.000695694,0.00006 +14-08-2019 2:00,10057774.49,0.000695694,0.000695694,0.00006 +14-08-2019 3:00,10056973.64,0.001391387,0.001391387,0.00006 +14-08-2019 4:00,10056172.15,0.004869856,0.004869856,0.00006 +14-08-2019 5:00,10055370.02,0.038958846,0.038958846,0.00006 +14-08-2019 6:00,10054567.26,0.064699512,0.064699512,0.00006 +14-08-2019 7:00,10053763.86,0.050089945,0.050089945,0.00006 +14-08-2019 8:00,10052959.83,0.059133963,0.059133963,0.00006 +14-08-2019 9:00,10052155.16,0.042437315,0.042437315,0.00006 +14-08-2019 10:00,10051349.86,0.036871765,0.036871765,0.00006 +14-08-2019 11:00,10050543.92,0.031306216,0.031306216,0.00006 +14-08-2019 12:00,10049737.36,0.025044973,0.025044973,0.00006 +14-08-2019 13:00,10048930.16,0.021566504,0.021566504,0.00006 +14-08-2019 14:00,10048122.32,0.016696648,0.016696648,0.00006 +14-08-2019 15:00,10047313.86,0.018783729,0.018783729,0.00006 +14-08-2019 16:00,10046504.76,0.030610522,0.030610522,0.00006 +14-08-2019 17:00,10045695.04,0.054264107,0.054264107,0.00006 +14-08-2019 18:00,10044884.68,0.054959801,0.054959801,0.00006 +14-08-2019 19:00,10044073.69,0.048698558,0.048698558,0.00006 +14-08-2019 20:00,10043262.08,0.040350234,0.040350234,0.00006 +14-08-2019 21:00,10042449.83,0.028523441,0.028523441,0.00006 +14-08-2019 22:00,10041636.96,0.013913874,0.013913874,0.00006 +14-08-2019 23:00,10040823.45,0.004869856,0.004869856,0.00006 +15-08-2019 0:00,10040009.32,0.002782775,0.002782775,0.00006 +15-08-2019 1:00,10039194.56,0.000695694,0.000695694,0.00006 +15-08-2019 2:00,10038379.18,0.000695694,0.000695694,0.00006 +15-08-2019 3:00,10037563.16,0.001391387,0.001391387,0.00006 +15-08-2019 4:00,10036746.52,0.004869856,0.004869856,0.00006 +15-08-2019 5:00,10035929.26,0.038958846,0.038958846,0.00006 +15-08-2019 6:00,10035111.37,0.064699512,0.064699512,0.00006 +15-08-2019 7:00,10034292.85,0.050089945,0.050089945,0.00006 +15-08-2019 8:00,10033473.71,0.059133963,0.059133963,0.00006 +15-08-2019 9:00,10032653.94,0.042437315,0.042437315,0.00006 +15-08-2019 10:00,10031833.55,0.036871765,0.036871765,0.00006 +15-08-2019 11:00,10031012.54,0.031306216,0.031306216,0.00006 +15-08-2019 12:00,10030190.91,0.025044973,0.025044973,0.00006 +15-08-2019 13:00,10029368.65,0.021566504,0.021566504,0.00006 +15-08-2019 14:00,10028545.77,0.016696648,0.016696648,0.00006 +15-08-2019 15:00,10027722.26,0.018783729,0.018783729,0.00006 +15-08-2019 16:00,10026898.14,0.030610522,0.030610522,0.00006 +15-08-2019 17:00,10026073.4,0.054264107,0.054264107,0.00006 +15-08-2019 18:00,10025248.03,0.054959801,0.054959801,0.00006 +15-08-2019 19:00,10024422.05,0.048698558,0.048698558,0.00006 +15-08-2019 20:00,10023595.44,0.040350234,0.040350234,0.00006 +15-08-2019 21:00,10022768.22,0.028523441,0.028523441,0.00006 +15-08-2019 22:00,10021940.38,0.013913874,0.013913874,0.00006 +15-08-2019 23:00,10021111.92,0.004869856,0.004869856,0.00006 +16-08-2019 0:00,10020282.84,0.002782775,0.002782775,0.00006 +16-08-2019 1:00,10019453.14,0.000695694,0.000695694,0.00006 +16-08-2019 2:00,10018622.83,0.000695694,0.000695694,0.00006 +16-08-2019 3:00,10017791.9,0.001391387,0.001391387,0.00006 +16-08-2019 4:00,10016960.35,0.004869856,0.004869856,0.00006 +16-08-2019 5:00,10016128.19,0.038958846,0.038958846,0.00006 +16-08-2019 6:00,10015295.41,0.064699512,0.064699512,0.00006 +16-08-2019 7:00,10014462.02,0.050089945,0.050089945,0.00006 +16-08-2019 8:00,10013628.01,0.059133963,0.059133963,0.00006 +16-08-2019 9:00,10012793.39,0.042437315,0.042437315,0.00006 +16-08-2019 10:00,10011958.16,0.036871765,0.036871765,0.00006 +16-08-2019 11:00,10011122.31,0.031306216,0.031306216,0.00006 +16-08-2019 12:00,10010285.85,0.025044973,0.025044973,0.00006 +16-08-2019 13:00,10009448.78,0.021566504,0.021566504,0.00006 +16-08-2019 14:00,10008611.09,0.016696648,0.016696648,0.00006 +16-08-2019 15:00,10007772.8,0.018783729,0.018783729,0.00006 +16-08-2019 16:00,10006933.89,0.030610522,0.030610522,0.00006 +16-08-2019 17:00,10006094.37,0.054264107,0.054264107,0.00006 +16-08-2019 18:00,10005254.24,0.054959801,0.054959801,0.00006 +16-08-2019 19:00,10004413.5,0.048698558,0.048698558,0.00006 +16-08-2019 20:00,10003572.16,0.040350234,0.040350234,0.00006 +16-08-2019 21:00,10002730.2,0.028523441,0.028523441,0.00006 +16-08-2019 22:00,10001887.64,0.013913874,0.013913874,0.00006 +16-08-2019 23:00,10001044.46,0.004869856,0.004869856,0.00006 +17-08-2019 0:00,10000200.68,0.002782775,0.002782775,0.00006 +17-08-2019 1:00,9999356.296,0.000695694,0.000695694,0.00006 +17-08-2019 2:00,9998511.302,0.000695694,0.000695694,0.00006 +17-08-2019 3:00,9997665.702,0.001391387,0.001391387,0.00006 +17-08-2019 4:00,9996819.495,0.004869856,0.004869856,0.00006 +17-08-2019 5:00,9995972.684,0.038958846,0.038958846,0.00006 +17-08-2019 6:00,9995125.267,0.064699512,0.064699512,0.00006 +17-08-2019 7:00,9994277.246,0.050089945,0.050089945,0.00006 +17-08-2019 8:00,9993428.62,0.059133963,0.059133963,0.00006 +17-08-2019 9:00,9992579.391,0.042437315,0.042437315,0.00006 +17-08-2019 10:00,9991729.559,0.036871765,0.036871765,0.00006 +17-08-2019 11:00,9990879.124,0.031306216,0.031306216,0.00006 +17-08-2019 12:00,9990028.086,0.025044973,0.025044973,0.00006 +17-08-2019 13:00,9989176.447,0.021566504,0.021566504,0.00006 +17-08-2019 14:00,9988324.206,0.016696648,0.016696648,0.00006 +17-08-2019 15:00,9987471.364,0.018783729,0.018783729,0.00006 +17-08-2019 16:00,9986617.921,0.030610522,0.030610522,0.00006 +17-08-2019 17:00,9985763.878,0.054264107,0.054264107,0.00006 +17-08-2019 18:00,9984909.236,0.054959801,0.054959801,0.00006 +17-08-2019 19:00,9984053.994,0.048698558,0.048698558,0.00006 +17-08-2019 20:00,9983198.153,0.040350234,0.040350234,0.00006 +17-08-2019 21:00,9982341.714,0.028523441,0.028523441,0.00006 +17-08-2019 22:00,9981484.677,0.013913874,0.013913874,0.00006 +17-08-2019 23:00,9980627.043,0.004869856,0.004869856,0.00006 +18-08-2019 0:00,9979768.811,0.002782775,0.002782775,0.00006 +18-08-2019 1:00,9978909.983,0.000695694,0.000695694,0.00006 +18-08-2019 2:00,9978050.558,0.000695694,0.000695694,0.00006 +18-08-2019 3:00,9977190.538,0.001391387,0.001391387,0.00006 +18-08-2019 4:00,9976329.922,0.004869856,0.004869856,0.00006 +18-08-2019 5:00,9975468.711,0.038958846,0.038958846,0.00006 +18-08-2019 6:00,9974606.906,0.064699512,0.064699512,0.00006 +18-08-2019 7:00,9973744.507,0.050089945,0.050089945,0.00006 +18-08-2019 8:00,9972881.515,0.059133963,0.059133963,0.00006 +18-08-2019 9:00,9972017.929,0.042437315,0.042437315,0.00006 +18-08-2019 10:00,9971153.751,0.036871765,0.036871765,0.00006 +18-08-2019 11:00,9970288.98,0.031306216,0.031306216,0.00006 +18-08-2019 12:00,9969423.618,0.025044973,0.025044973,0.00006 +18-08-2019 13:00,9968557.664,0.021566504,0.021566504,0.00006 +18-08-2019 14:00,9967691.12,0.016696648,0.016696648,0.00006 +18-08-2019 15:00,9966823.985,0.018783729,0.018783729,0.00006 +18-08-2019 16:00,9965956.26,0.030610522,0.030610522,0.00006 +18-08-2019 17:00,9965087.945,0.054264107,0.054264107,0.00006 +18-08-2019 18:00,9964219.042,0.054959801,0.054959801,0.00006 +18-08-2019 19:00,9963349.549,0.048698558,0.048698558,0.00006 +18-08-2019 20:00,9962479.469,0.040350234,0.040350234,0.00006 +18-08-2019 21:00,9961608.801,0.028523441,0.028523441,0.00006 +18-08-2019 22:00,9960737.545,0.013913874,0.013913874,0.00006 +18-08-2019 23:00,9959865.703,0.004869856,0.004869856,0.00006 +19-08-2019 0:00,9958993.274,0.002782775,0.002782775,0.00006 +19-08-2019 1:00,9958120.259,0.000695694,0.000695694,0.00006 +19-08-2019 2:00,9957246.659,0.000695694,0.000695694,0.00006 +19-08-2019 3:00,9956372.473,0.001391387,0.001391387,0.00006 +19-08-2019 4:00,9955497.703,0.004869856,0.004869856,0.00006 +19-08-2019 5:00,9954622.349,0.038958846,0.038958846,0.00006 +19-08-2019 6:00,9953746.411,0.064699512,0.064699512,0.00006 +19-08-2019 7:00,9952869.89,0.050089945,0.050089945,0.00006 +19-08-2019 8:00,9951992.786,0.059133963,0.059133963,0.00006 +19-08-2019 9:00,9951115.1,0.042437315,0.042437315,0.00006 +19-08-2019 10:00,9950236.831,0.036871765,0.036871765,0.00006 +19-08-2019 11:00,9949357.982,0.031306216,0.031306216,0.00006 +19-08-2019 12:00,9948478.551,0.025044973,0.025044973,0.00006 +19-08-2019 13:00,9947598.54,0.021566504,0.021566504,0.00006 +19-08-2019 14:00,9946717.948,0.016696648,0.016696648,0.00006 +19-08-2019 15:00,9945836.777,0.018783729,0.018783729,0.00006 +19-08-2019 16:00,9944955.027,0.030610522,0.030610522,0.00006 +19-08-2019 17:00,9944072.698,0.054264107,0.054264107,0.00006 +19-08-2019 18:00,9943189.791,0.054959801,0.054959801,0.00006 +19-08-2019 19:00,9942306.306,0.048698558,0.048698558,0.00006 +19-08-2019 20:00,9941422.243,0.040350234,0.040350234,0.00006 +19-08-2019 21:00,9940537.604,0.028523441,0.028523441,0.00006 +19-08-2019 22:00,9939652.388,0.013913874,0.013913874,0.00006 +19-08-2019 23:00,9938766.596,0.004869856,0.004869856,0.00006 +20-08-2019 0:00,9937880.228,0.002782775,0.002782775,0.00006 +20-08-2019 1:00,9936993.286,0.000695694,0.000695694,0.00006 +20-08-2019 2:00,9936105.769,0.000695694,0.000695694,0.00006 +20-08-2019 3:00,9935217.677,0.001391387,0.001391387,0.00006 +20-08-2019 4:00,9934329.012,0.004869856,0.004869856,0.00006 +20-08-2019 5:00,9933439.774,0.038958846,0.038958846,0.00006 +20-08-2019 6:00,9932549.962,0.064699512,0.064699512,0.00006 +20-08-2019 7:00,9931659.579,0.050089945,0.050089945,0.00006 +20-08-2019 8:00,9930768.623,0.059133963,0.059133963,0.00006 +20-08-2019 9:00,9929877.096,0.042437315,0.042437315,0.00006 +20-08-2019 10:00,9928984.998,0.036871765,0.036871765,0.00006 +20-08-2019 11:00,9928092.33,0.031306216,0.031306216,0.00006 +20-08-2019 12:00,9927199.091,0.025044973,0.025044973,0.00006 +20-08-2019 13:00,9926305.283,0.021566504,0.021566504,0.00006 +20-08-2019 14:00,9925410.906,0.016696648,0.016696648,0.00006 +20-08-2019 15:00,9924515.96,0.018783729,0.018783729,0.00006 +20-08-2019 16:00,9923620.446,0.030610522,0.030610522,0.00006 +20-08-2019 17:00,9922724.364,0.054264107,0.054264107,0.00006 +20-08-2019 18:00,9921827.714,0.054959801,0.054959801,0.00006 +20-08-2019 19:00,9920930.498,0.048698558,0.048698558,0.00006 +20-08-2019 20:00,9920032.716,0.040350234,0.040350234,0.00006 +20-08-2019 21:00,9919134.367,0.028523441,0.028523441,0.00006 +20-08-2019 22:00,9918235.453,0.013913874,0.013913874,0.00006 +20-08-2019 23:00,9917335.974,0.004869856,0.004869856,0.00006 +21-08-2019 0:00,9916435.931,0.002782775,0.002782775,0.00006 +21-08-2019 1:00,9915535.324,0.000695694,0.000695694,0.00006 +21-08-2019 2:00,9914634.152,0.000695694,0.000695694,0.00006 +21-08-2019 3:00,9913732.418,0.001391387,0.001391387,0.00006 +21-08-2019 4:00,9912830.121,0.004869856,0.004869856,0.00006 +21-08-2019 5:00,9911927.262,0.038958846,0.038958846,0.00006 +21-08-2019 6:00,9911023.841,0.064699512,0.064699512,0.00006 +21-08-2019 7:00,9910119.859,0.050089945,0.050089945,0.00006 +21-08-2019 8:00,9909215.316,0.059133963,0.059133963,0.00006 +21-08-2019 9:00,9908310.212,0.042437315,0.042437315,0.00006 +21-08-2019 10:00,9907404.549,0.036871765,0.036871765,0.00006 +21-08-2019 11:00,9906498.326,0.031306216,0.031306216,0.00006 +21-08-2019 12:00,9905591.545,0.025044973,0.025044973,0.00006 +21-08-2019 13:00,9904684.205,0.021566504,0.021566504,0.00006 +21-08-2019 14:00,9903776.306,0.016696648,0.016696648,0.00006 +21-08-2019 15:00,9902867.851,0.018783729,0.018783729,0.00006 +21-08-2019 16:00,9901958.838,0.030610522,0.030610522,0.00006 +21-08-2019 17:00,9901049.268,0.054264107,0.054264107,0.00006 +21-08-2019 18:00,9900139.143,0.054959801,0.054959801,0.00006 +21-08-2019 19:00,9899228.461,0.048698558,0.048698558,0.00006 +21-08-2019 20:00,9898317.225,0.040350234,0.040350234,0.00006 +21-08-2019 21:00,9897405.434,0.028523441,0.028523441,0.00006 +21-08-2019 22:00,9896493.088,0.013913874,0.013913874,0.00006 +21-08-2019 23:00,9895580.189,0.004869856,0.004869856,0.00006 +22-08-2019 0:00,9894666.736,0.002782775,0.002782775,0.00006 +22-08-2019 1:00,9893752.73,0.000695694,0.000695694,0.00006 +22-08-2019 2:00,9892838.172,0.000695694,0.000695694,0.00006 +22-08-2019 3:00,9891923.062,0.001391387,0.001391387,0.00006 +22-08-2019 4:00,9891007.401,0.004869856,0.004869856,0.00006 +22-08-2019 5:00,9890091.189,0.038958846,0.038958846,0.00006 +22-08-2019 6:00,9889174.426,0.064699512,0.064699512,0.00006 +22-08-2019 7:00,9888257.113,0.050089945,0.050089945,0.00006 +22-08-2019 8:00,9887339.25,0.059133963,0.059133963,0.00006 +22-08-2019 9:00,9886420.839,0.042437315,0.042437315,0.00006 +22-08-2019 10:00,9885501.878,0.036871765,0.036871765,0.00006 +22-08-2019 11:00,9884582.37,0.031306216,0.031306216,0.00006 +22-08-2019 12:00,9883662.314,0.025044973,0.025044973,0.00006 +22-08-2019 13:00,9882741.711,0.021566504,0.021566504,0.00006 +22-08-2019 14:00,9881820.561,0.016696648,0.016696648,0.00006 +22-08-2019 15:00,9880898.864,0.018783729,0.018783729,0.00006 +22-08-2019 16:00,9879976.622,0.030610522,0.030610522,0.00006 +22-08-2019 17:00,9879053.835,0.054264107,0.054264107,0.00006 +22-08-2019 18:00,9878130.503,0.054959801,0.054959801,0.00006 +22-08-2019 19:00,9877206.626,0.048698558,0.048698558,0.00006 +22-08-2019 20:00,9876282.205,0.040350234,0.040350234,0.00006 +22-08-2019 21:00,9875357.242,0.028523441,0.028523441,0.00006 +22-08-2019 22:00,9874431.735,0.013913874,0.013913874,0.00006 +22-08-2019 23:00,9873505.685,0.004869856,0.004869856,0.00006 +23-08-2019 0:00,9872579.094,0.002782775,0.002782775,0.00006 +23-08-2019 1:00,9871651.961,0.000695694,0.000695694,0.00006 +23-08-2019 2:00,9870724.287,0.000695694,0.000695694,0.00006 +23-08-2019 3:00,9869796.073,0.001391387,0.001391387,0.00006 +23-08-2019 4:00,9868867.318,0.004869856,0.004869856,0.00006 +23-08-2019 5:00,9867938.024,0.038958846,0.038958846,0.00006 +23-08-2019 6:00,9867008.191,0.064699512,0.064699512,0.00006 +23-08-2019 7:00,9866077.819,0.050089945,0.050089945,0.00006 +23-08-2019 8:00,9865146.909,0.059133963,0.059133963,0.00006 +23-08-2019 9:00,9864215.462,0.042437315,0.042437315,0.00006 +23-08-2019 10:00,9863283.477,0.036871765,0.036871765,0.00006 +23-08-2019 11:00,9862350.955,0.031306216,0.031306216,0.00006 +23-08-2019 12:00,9861417.897,0.025044973,0.025044973,0.00006 +23-08-2019 13:00,9860484.303,0.021566504,0.021566504,0.00006 +23-08-2019 14:00,9859550.174,0.016696648,0.016696648,0.00006 +23-08-2019 15:00,9858615.511,0.018783729,0.018783729,0.00006 +23-08-2019 16:00,9857680.313,0.030610522,0.030610522,0.00006 +23-08-2019 17:00,9856744.581,0.054264107,0.054264107,0.00006 +23-08-2019 18:00,9855808.315,0.054959801,0.054959801,0.00006 +23-08-2019 19:00,9854871.517,0.048698558,0.048698558,0.00006 +23-08-2019 20:00,9853934.187,0.040350234,0.040350234,0.00006 +23-08-2019 21:00,9852996.324,0.028523441,0.028523441,0.00006 +23-08-2019 22:00,9852057.93,0.013913874,0.013913874,0.00006 +23-08-2019 23:00,9851119.005,0.004869856,0.004869856,0.00006 +24-08-2019 0:00,9850179.55,0.002782775,0.002782775,0.00006 +24-08-2019 1:00,9849239.565,0.000695694,0.000695694,0.00006 +24-08-2019 2:00,9848299.05,0.000695694,0.000695694,0.00006 +24-08-2019 3:00,9847358.006,0.001391387,0.001391387,0.00006 +24-08-2019 4:00,9846416.434,0.004869856,0.004869856,0.00006 +24-08-2019 5:00,9845474.333,0.038958846,0.038958846,0.00006 +24-08-2019 6:00,9844531.705,0.064699512,0.064699512,0.00006 +24-08-2019 7:00,9843588.55,0.050089945,0.050089945,0.00006 +24-08-2019 8:00,9842644.869,0.059133963,0.059133963,0.00006 +24-08-2019 9:00,9841700.661,0.042437315,0.042437315,0.00006 +24-08-2019 10:00,9840755.927,0.036871765,0.036871765,0.00006 +24-08-2019 11:00,9839810.669,0.031306216,0.031306216,0.00006 +24-08-2019 12:00,9838864.886,0.025044973,0.025044973,0.00006 +24-08-2019 13:00,9837918.578,0.021566504,0.021566504,0.00006 +24-08-2019 14:00,9836971.747,0.016696648,0.016696648,0.00006 +24-08-2019 15:00,9836024.393,0.018783729,0.018783729,0.00006 +24-08-2019 16:00,9835076.516,0.030610522,0.030610522,0.00006 +24-08-2019 17:00,9834128.117,0.054264107,0.054264107,0.00006 +24-08-2019 18:00,9833179.196,0.054959801,0.054959801,0.00006 +24-08-2019 19:00,9832229.754,0.048698558,0.048698558,0.00006 +24-08-2019 20:00,9831279.791,0.040350234,0.040350234,0.00006 +24-08-2019 21:00,9830329.308,0.028523441,0.028523441,0.00006 +24-08-2019 22:00,9829378.305,0.013913874,0.013913874,0.00006 +24-08-2019 23:00,9828426.783,0.004869856,0.004869856,0.00006 +25-08-2019 0:00,9827474.742,0.002782775,0.002782775,0.00006 +25-08-2019 1:00,9826522.182,0.000695694,0.000695694,0.00006 +25-08-2019 2:00,9825569.105,0.000695694,0.000695694,0.00006 +25-08-2019 3:00,9824615.511,0.001391387,0.001391387,0.00006 +25-08-2019 4:00,9823661.4,0.004869856,0.004869856,0.00006 +25-08-2019 5:00,9822706.772,0.038958846,0.038958846,0.00006 +25-08-2019 6:00,9821751.629,0.064699512,0.064699512,0.00006 +25-08-2019 7:00,9820795.97,0.050089945,0.050089945,0.00006 +25-08-2019 8:00,9819839.796,0.059133963,0.059133963,0.00006 +25-08-2019 9:00,9818883.108,0.042437315,0.042437315,0.00006 +25-08-2019 10:00,9817925.906,0.036871765,0.036871765,0.00006 +25-08-2019 11:00,9816968.191,0.031306216,0.031306216,0.00006 +25-08-2019 12:00,9816009.962,0.025044973,0.025044973,0.00006 +25-08-2019 13:00,9815051.222,0.021566504,0.021566504,0.00006 +25-08-2019 14:00,9814091.969,0.016696648,0.016696648,0.00006 +25-08-2019 15:00,9813132.205,0.018783729,0.018783729,0.00006 +25-08-2019 16:00,9812171.93,0.030610522,0.030610522,0.00006 +25-08-2019 17:00,9811211.145,0.054264107,0.054264107,0.00006 +25-08-2019 18:00,9810249.85,0.054959801,0.054959801,0.00006 +25-08-2019 19:00,9809288.045,0.048698558,0.048698558,0.00006 +25-08-2019 20:00,9808325.731,0.040350234,0.040350234,0.00006 +25-08-2019 21:00,9807362.909,0.028523441,0.028523441,0.00006 +25-08-2019 22:00,9806399.579,0.013913874,0.013913874,0.00006 +25-08-2019 23:00,9805435.741,0.004869856,0.004869856,0.00006 +26-08-2019 0:00,9804471.397,0.002782775,0.002782775,0.00006 +26-08-2019 1:00,9803506.546,0.000695694,0.000695694,0.00006 +26-08-2019 2:00,9802541.189,0.000695694,0.000695694,0.00006 +26-08-2019 3:00,9801575.326,0.001391387,0.001391387,0.00006 +26-08-2019 4:00,9800608.959,0.004869856,0.004869856,0.00006 +26-08-2019 5:00,9799642.087,0.038958846,0.038958846,0.00006 +26-08-2019 6:00,9798674.711,0.064699512,0.064699512,0.00006 +26-08-2019 7:00,9797706.832,0.050089945,0.050089945,0.00006 +26-08-2019 8:00,9796738.449,0.059133963,0.059133963,0.00006 +26-08-2019 9:00,9795769.565,0.042437315,0.042437315,0.00006 +26-08-2019 10:00,9794800.178,0.036871765,0.036871765,0.00006 +26-08-2019 11:00,9793830.289,0.031306216,0.031306216,0.00006 +26-08-2019 12:00,9792859.9,0.025044973,0.025044973,0.00006 +26-08-2019 13:00,9791889.01,0.021566504,0.021566504,0.00006 +26-08-2019 14:00,9790917.62,0.016696648,0.016696648,0.00006 +26-08-2019 15:00,9789945.731,0.018783729,0.018783729,0.00006 +26-08-2019 16:00,9788973.343,0.030610522,0.030610522,0.00006 +26-08-2019 17:00,9788000.456,0.054264107,0.054264107,0.00006 +26-08-2019 18:00,9787027.071,0.054959801,0.054959801,0.00006 +26-08-2019 19:00,9786053.189,0.048698558,0.048698558,0.00006 +26-08-2019 20:00,9785078.809,0.040350234,0.040350234,0.00006 +26-08-2019 21:00,9784103.933,0.028523441,0.028523441,0.00006 +26-08-2019 22:00,9783128.562,0.013913874,0.013913874,0.00006 +26-08-2019 23:00,9782152.694,0.004869856,0.004869856,0.00006 +27-08-2019 0:00,9781176.332,0.002782775,0.002782775,0.00006 +27-08-2019 1:00,9780199.475,0.000695694,0.000695694,0.00006 +27-08-2019 2:00,9779222.124,0.000695694,0.000695694,0.00006 +27-08-2019 3:00,9778244.28,0.001391387,0.001391387,0.00006 +27-08-2019 4:00,9777265.943,0.004869856,0.004869856,0.00006 +27-08-2019 5:00,9776287.113,0.038958846,0.038958846,0.00006 +27-08-2019 6:00,9775307.791,0.064699512,0.064699512,0.00006 +27-08-2019 7:00,9774327.978,0.050089945,0.050089945,0.00006 +27-08-2019 8:00,9773347.674,0.059133963,0.059133963,0.00006 +27-08-2019 9:00,9772366.88,0.042437315,0.042437315,0.00006 +27-08-2019 10:00,9771385.595,0.036871765,0.036871765,0.00006 +27-08-2019 11:00,9770403.821,0.031306216,0.031306216,0.00006 +27-08-2019 12:00,9769421.558,0.025044973,0.025044973,0.00006 +27-08-2019 13:00,9768438.807,0.021566504,0.021566504,0.00006 +27-08-2019 14:00,9767455.568,0.016696648,0.016696648,0.00006 +27-08-2019 15:00,9766471.841,0.018783729,0.018783729,0.00006 +27-08-2019 16:00,9765487.627,0.030610522,0.030610522,0.00006 +27-08-2019 17:00,9764502.927,0.054264107,0.054264107,0.00006 +27-08-2019 18:00,9763517.741,0.054959801,0.054959801,0.00006 +27-08-2019 19:00,9762532.07,0.048698558,0.048698558,0.00006 +27-08-2019 20:00,9761545.914,0.040350234,0.040350234,0.00006 +27-08-2019 21:00,9760559.273,0.028523441,0.028523441,0.00006 +27-08-2019 22:00,9759572.148,0.013913874,0.013913874,0.00006 +27-08-2019 23:00,9758584.54,0.004869856,0.004869856,0.00006 +28-08-2019 0:00,9757596.45,0.002782775,0.002782775,0.00006 +28-08-2019 1:00,9756607.877,0.000695694,0.000695694,0.00006 +28-08-2019 2:00,9755618.822,0.000695694,0.000695694,0.00006 +28-08-2019 3:00,9754629.285,0.001391387,0.001391387,0.00006 +28-08-2019 4:00,9753639.268,0.004869856,0.004869856,0.00006 +28-08-2019 5:00,9752648.771,0.038958846,0.038958846,0.00006 +28-08-2019 6:00,9751657.793,0.064699512,0.064699512,0.00006 +28-08-2019 7:00,9750666.337,0.050089945,0.050089945,0.00006 +28-08-2019 8:00,9749674.401,0.059133963,0.059133963,0.00006 +28-08-2019 9:00,9748681.988,0.042437315,0.042437315,0.00006 +28-08-2019 10:00,9747689.096,0.036871765,0.036871765,0.00006 +28-08-2019 11:00,9746695.728,0.031306216,0.031306216,0.00006 +28-08-2019 12:00,9745701.882,0.025044973,0.025044973,0.00006 +28-08-2019 13:00,9744707.561,0.021566504,0.021566504,0.00006 +28-08-2019 14:00,9743712.763,0.016696648,0.016696648,0.00006 +28-08-2019 15:00,9742717.491,0.018783729,0.018783729,0.00006 +28-08-2019 16:00,9741721.743,0.030610522,0.030610522,0.00006 +28-08-2019 17:00,9740725.522,0.054264107,0.054264107,0.00006 +28-08-2019 18:00,9739728.827,0.054959801,0.054959801,0.00006 +28-08-2019 19:00,9738731.658,0.048698558,0.048698558,0.00006 +28-08-2019 20:00,9737734.017,0.040350234,0.040350234,0.00006 +28-08-2019 21:00,9736735.904,0.028523441,0.028523441,0.00006 +28-08-2019 22:00,9735737.32,0.013913874,0.013913874,0.00006 +28-08-2019 23:00,9734738.264,0.004869856,0.004869856,0.00006 +29-08-2019 0:00,9733738.737,0.002782775,0.002782775,0.00006 +29-08-2019 1:00,9732738.741,0.000695694,0.000695694,0.00006 +29-08-2019 2:00,9731738.275,0.000695694,0.000695694,0.00006 +29-08-2019 3:00,9730737.34,0.001391387,0.001391387,0.00006 +29-08-2019 4:00,9729735.936,0.004869856,0.004869856,0.00006 +29-08-2019 5:00,9728734.064,0.038958846,0.038958846,0.00006 +29-08-2019 6:00,9727731.725,0.064699512,0.064699512,0.00006 +29-08-2019 7:00,9726728.919,0.050089945,0.050089945,0.00006 +29-08-2019 8:00,9725725.646,0.059133963,0.059133963,0.00006 +29-08-2019 9:00,9724721.908,0.042437315,0.042437315,0.00006 +29-08-2019 10:00,9723717.703,0.036871765,0.036871765,0.00006 +29-08-2019 11:00,9722713.034,0.031306216,0.031306216,0.00006 +29-08-2019 12:00,9721707.901,0.025044973,0.025044973,0.00006 +29-08-2019 13:00,9720702.304,0.021566504,0.021566504,0.00006 +29-08-2019 14:00,9719696.243,0.016696648,0.016696648,0.00006 +29-08-2019 15:00,9718689.719,0.018783729,0.018783729,0.00006 +29-08-2019 16:00,9717682.734,0.030610522,0.030610522,0.00006 +29-08-2019 17:00,9716675.286,0.054264107,0.054264107,0.00006 +29-08-2019 18:00,9715667.377,0.054959801,0.054959801,0.00006 +29-08-2019 19:00,9714659.007,0.048698558,0.048698558,0.00006 +29-08-2019 20:00,9713650.177,0.040350234,0.040350234,0.00006 +29-08-2019 21:00,9712640.887,0.028523441,0.028523441,0.00006 +29-08-2019 22:00,9711631.138,0.013913874,0.013913874,0.00006 +29-08-2019 23:00,9710620.93,0.004869856,0.004869856,0.00006 +30-08-2019 0:00,9709610.265,0.002782775,0.002782775,0.00006 +30-08-2019 1:00,9708599.141,0.000695694,0.000695694,0.00006 +30-08-2019 2:00,9707587.56,0.000695694,0.000695694,0.00006 +30-08-2019 3:00,9706575.523,0.001391387,0.001391387,0.00006 +30-08-2019 4:00,9705563.029,0.004869856,0.004869856,0.00006 +30-08-2019 5:00,9704550.08,0.038958846,0.038958846,0.00006 +30-08-2019 6:00,9703536.676,0.064699512,0.064699512,0.00006 +30-08-2019 7:00,9702522.817,0.050089945,0.050089945,0.00006 +30-08-2019 8:00,9701508.505,0.059133963,0.059133963,0.00006 +30-08-2019 9:00,9700493.739,0.042437315,0.042437315,0.00006 +30-08-2019 10:00,9699478.519,0.036871765,0.036871765,0.00006 +30-08-2019 11:00,9698462.848,0.031306216,0.031306216,0.00006 +30-08-2019 12:00,9697446.724,0.025044973,0.025044973,0.00006 +30-08-2019 13:00,9696430.149,0.021566504,0.021566504,0.00006 +30-08-2019 14:00,9695413.123,0.016696648,0.016696648,0.00006 +30-08-2019 15:00,9694395.647,0.018783729,0.018783729,0.00006 +30-08-2019 16:00,9693377.721,0.030610522,0.030610522,0.00006 +30-08-2019 17:00,9692359.346,0.054264107,0.054264107,0.00006 +30-08-2019 18:00,9691340.521,0.054959801,0.054959801,0.00006 +30-08-2019 19:00,9690321.249,0.048698558,0.048698558,0.00006 +30-08-2019 20:00,9689301.529,0.040350234,0.040350234,0.00006 +30-08-2019 21:00,9688281.361,0.028523441,0.028523441,0.00006 +30-08-2019 22:00,9687260.747,0.013913874,0.013913874,0.00006 +30-08-2019 23:00,9686239.687,0.004869856,0.004869856,0.00006 +31-08-2019 0:00,9685218.181,0.002782775,0.002782775,0.00006 +31-08-2019 1:00,9684196.23,0.000695694,0.000695694,0.00006 +31-08-2019 2:00,9683173.834,0.000695694,0.000695694,0.00006 +31-08-2019 3:00,9682150.995,0.001391387,0.001391387,0.00006 +31-08-2019 4:00,9681127.711,0.004869856,0.004869856,0.00006 +31-08-2019 5:00,9680103.985,0.038958846,0.038958846,0.00006 +31-08-2019 6:00,9679079.816,0.064699512,0.064699512,0.00006 +31-08-2019 7:00,9678055.206,0.050089945,0.050089945,0.00006 +31-08-2019 8:00,9677030.153,0.059133963,0.059133963,0.00006 +31-08-2019 9:00,9676004.66,0.042437315,0.042437315,0.00006 +31-08-2019 10:00,9674978.727,0.036871765,0.036871765,0.00006 +31-08-2019 11:00,9673952.354,0.031306216,0.031306216,0.00006 +31-08-2019 12:00,9672925.541,0.025044973,0.025044973,0.00006 +31-08-2019 13:00,9671898.289,0.021566504,0.021566504,0.00006 +31-08-2019 14:00,9670870.6,0.016696648,0.016696648,0.00006 +31-08-2019 15:00,9669842.472,0.018783729,0.018783729,0.00006 +31-08-2019 16:00,9668813.908,0.030610522,0.030610522,0.00006 +31-08-2019 17:00,9667784.906,0.054264107,0.054264107,0.00006 +31-08-2019 18:00,9666755.469,0.054959801,0.054959801,0.00006 +31-08-2019 19:00,9665725.596,0.048698558,0.048698558,0.00006 +31-08-2019 20:00,9664695.288,0.040350234,0.040350234,0.00006 +31-08-2019 21:00,9663664.545,0.028523441,0.028523441,0.00006 +31-08-2019 22:00,9662633.368,0.013913874,0.013913874,0.00006 +31-08-2019 23:00,9661601.758,0.004869856,0.004869856,0.00006 +1-9-2019 0:00,9660569.715,0.002782775,0.002782775,0.00006 +1-9-2019 1:00,9659537.239,0.000695694,0.000695694,0.00006 +1-9-2019 2:00,9658504.331,0.000695694,0.000695694,0.00006 +1-9-2019 3:00,9657470.992,0.001391387,0.001391387,0.00006 +1-9-2019 4:00,9656437.223,0.004869856,0.004869856,0.00006 +1-9-2019 5:00,9655403.022,0.038958846,0.038958846,0.00006 +1-9-2019 6:00,9654368.392,0.064699512,0.064699512,0.00006 +1-9-2019 7:00,9653333.333,0.050089945,0.050089945,0.00006 +1-9-2019 8:00,9652297.845,0.059133963,0.059133963,0.00006 +1-9-2019 9:00,9651261.929,0.042437315,0.042437315,0.00006 +1-9-2019 10:00,9650225.586,0.036871765,0.036871765,0.00006 +1-9-2019 11:00,9649188.815,0.031306216,0.031306216,0.00006 +1-9-2019 12:00,9648151.617,0.025044973,0.025044973,0.00006 +1-9-2019 13:00,9647113.994,0.021566504,0.021566504,0.00006 +1-9-2019 14:00,9646075.945,0.016696648,0.016696648,0.00006 +1-9-2019 15:00,9645037.471,0.018783729,0.018783729,0.00006 +1-9-2019 16:00,9643998.573,0.030610522,0.030610522,0.00006 +1-9-2019 17:00,9642959.25,0.054264107,0.054264107,0.00006 +1-9-2019 18:00,9641919.505,0.054959801,0.054959801,0.00006 +1-9-2019 19:00,9640879.336,0.048698558,0.048698558,0.00006 +1-9-2019 20:00,9639838.745,0.040350234,0.040350234,0.00006 +1-9-2019 21:00,9638797.733,0.028523441,0.028523441,0.00006 +1-9-2019 22:00,9637756.299,0.013913874,0.013913874,0.00006 +1-9-2019 23:00,9636714.444,0.004869856,0.004869856,0.00006 +2-9-2019 0:00,9635672.169,0.002782775,0.002782775,0.00006 +2-9-2019 1:00,9634629.475,0.000695694,0.000695694,0.00006 +2-9-2019 2:00,9633586.361,0.000695694,0.000695694,0.00006 +2-9-2019 3:00,9632542.829,0.001391387,0.001391387,0.00006 +2-9-2019 4:00,9631498.879,0.004869856,0.004869856,0.00006 +2-9-2019 5:00,9630454.512,0.038958846,0.038958846,0.00006 +2-9-2019 6:00,9629409.727,0.064699512,0.064699512,0.00006 +2-9-2019 7:00,9628364.526,0.050089945,0.050089945,0.00006 +2-9-2019 8:00,9627318.91,0.059133963,0.059133963,0.00006 +2-9-2019 9:00,9626272.878,0.042437315,0.042437315,0.00006 +2-9-2019 10:00,9625226.431,0.036871765,0.036871765,0.00006 +2-9-2019 11:00,9624179.57,0.031306216,0.031306216,0.00006 +2-9-2019 12:00,9623132.295,0.025044973,0.025044973,0.00006 +2-9-2019 13:00,9622084.607,0.021566504,0.021566504,0.00006 +2-9-2019 14:00,9621036.506,0.016696648,0.016696648,0.00006 +2-9-2019 15:00,9619987.993,0.018783729,0.018783729,0.00006 +2-9-2019 16:00,9618939.069,0.030610522,0.030610522,0.00006 +2-9-2019 17:00,9617889.734,0.054264107,0.054264107,0.00006 +2-9-2019 18:00,9616839.988,0.054959801,0.054959801,0.00006 +2-9-2019 19:00,9615789.832,0.048698558,0.048698558,0.00006 +2-9-2019 20:00,9614739.267,0.040350234,0.040350234,0.00006 +2-9-2019 21:00,9613688.293,0.028523441,0.028523441,0.00006 +2-9-2019 22:00,9612636.91,0.013913874,0.013913874,0.00006 +2-9-2019 23:00,9611585.12,0.004869856,0.004869856,0.00006 +3-9-2019 0:00,9610532.923,0.002782775,0.002782775,0.00006 +3-9-2019 1:00,9609480.319,0.000695694,0.000695694,0.00006 +3-9-2019 2:00,9608427.308,0.000695694,0.000695694,0.00006 +3-9-2019 3:00,9607373.893,0.001391387,0.001391387,0.00006 +3-9-2019 4:00,9606320.072,0.004869856,0.004869856,0.00006 +3-9-2019 5:00,9605265.846,0.038958846,0.038958846,0.00006 +3-9-2019 6:00,9604211.217,0.064699512,0.064699512,0.00006 +3-9-2019 7:00,9603156.184,0.050089945,0.050089945,0.00006 +3-9-2019 8:00,9602100.748,0.059133963,0.059133963,0.00006 +3-9-2019 9:00,9601044.91,0.042437315,0.042437315,0.00006 +3-9-2019 10:00,9599988.67,0.036871765,0.036871765,0.00006 +3-9-2019 11:00,9598932.029,0.031306216,0.031306216,0.00006 +3-9-2019 12:00,9597874.987,0.025044973,0.025044973,0.00006 +3-9-2019 13:00,9596817.544,0.021566504,0.021566504,0.00006 +3-9-2019 14:00,9595759.703,0.016696648,0.016696648,0.00006 +3-9-2019 15:00,9594701.462,0.018783729,0.018783729,0.00006 +3-9-2019 16:00,9593642.822,0.030610522,0.030610522,0.00006 +3-9-2019 17:00,9592583.785,0.054264107,0.054264107,0.00006 +3-9-2019 18:00,9591524.35,0.054959801,0.054959801,0.00006 +3-9-2019 19:00,9590464.518,0.048698558,0.048698558,0.00006 +3-9-2019 20:00,9589404.29,0.040350234,0.040350234,0.00006 +3-9-2019 21:00,9588343.666,0.028523441,0.028523441,0.00006 +3-9-2019 22:00,9587282.646,0.013913874,0.013913874,0.00006 +3-9-2019 23:00,9586221.232,0.004869856,0.004869856,0.00006 +4-9-2019 0:00,9585159.424,0.002782775,0.002782775,0.00006 +4-9-2019 1:00,9584097.222,0.000695694,0.000695694,0.00006 +4-9-2019 2:00,9583034.627,0.000695694,0.000695694,0.00006 +4-9-2019 3:00,9581971.64,0.001391387,0.001391387,0.00006 +4-9-2019 4:00,9580908.26,0.004869856,0.004869856,0.00006 +4-9-2019 5:00,9579844.489,0.038958846,0.038958846,0.00006 +4-9-2019 6:00,9578780.327,0.064699512,0.064699512,0.00006 +4-9-2019 7:00,9577715.775,0.050089945,0.050089945,0.00006 +4-9-2019 8:00,9576650.833,0.059133963,0.059133963,0.00006 +4-9-2019 9:00,9575585.502,0.042437315,0.042437315,0.00006 +4-9-2019 10:00,9574519.781,0.036871765,0.036871765,0.00006 +4-9-2019 11:00,9573453.673,0.031306216,0.031306216,0.00006 +4-9-2019 12:00,9572387.177,0.025044973,0.025044973,0.00006 +4-9-2019 13:00,9571320.294,0.021566504,0.021566504,0.00006 +4-9-2019 14:00,9570253.025,0.016696648,0.016696648,0.00006 +4-9-2019 15:00,9569185.37,0.018783729,0.018783729,0.00006 +4-9-2019 16:00,9568117.329,0.030610522,0.030610522,0.00006 +4-9-2019 17:00,9567048.903,0.054264107,0.054264107,0.00006 +4-9-2019 18:00,9565980.093,0.054959801,0.054959801,0.00006 +4-9-2019 19:00,9564910.899,0.048698558,0.048698558,0.00006 +4-9-2019 20:00,9563841.322,0.040350234,0.040350234,0.00006 +4-9-2019 21:00,9562771.362,0.028523441,0.028523441,0.00006 +4-9-2019 22:00,9561701.02,0.013913874,0.013913874,0.00006 +4-9-2019 23:00,9560630.297,0.004869856,0.004869856,0.00006 +5-9-2019 0:00,9559559.192,0.002782775,0.002782775,0.00006 +5-9-2019 1:00,9558487.707,0.000695694,0.000695694,0.00006 +5-9-2019 2:00,9557415.843,0.000695694,0.000695694,0.00006 +5-9-2019 3:00,9556343.598,0.001391387,0.001391387,0.00006 +5-9-2019 4:00,9555270.975,0.004869856,0.004869856,0.00006 +5-9-2019 5:00,9554197.974,0.038958846,0.038958846,0.00006 +5-9-2019 6:00,9553124.595,0.064699512,0.064699512,0.00006 +5-9-2019 7:00,9552050.839,0.050089945,0.050089945,0.00006 +5-9-2019 8:00,9550976.706,0.059133963,0.059133963,0.00006 +5-9-2019 9:00,9549902.197,0.042437315,0.042437315,0.00006 +5-9-2019 10:00,9548827.313,0.036871765,0.036871765,0.00006 +5-9-2019 11:00,9547752.053,0.031306216,0.031306216,0.00006 +5-9-2019 12:00,9546676.42,0.025044973,0.025044973,0.00006 +5-9-2019 13:00,9545600.412,0.021566504,0.021566504,0.00006 +5-9-2019 14:00,9544524.031,0.016696648,0.016696648,0.00006 +5-9-2019 15:00,9543447.277,0.018783729,0.018783729,0.00006 +5-9-2019 16:00,9542370.152,0.030610522,0.030610522,0.00006 +5-9-2019 17:00,9541292.654,0.054264107,0.054264107,0.00006 +5-9-2019 18:00,9540214.786,0.054959801,0.054959801,0.00006 +5-9-2019 19:00,9539136.547,0.048698558,0.048698558,0.00006 +5-9-2019 20:00,9538057.938,0.040350234,0.040350234,0.00006 +5-9-2019 21:00,9536978.959,0.028523441,0.028523441,0.00006 +5-9-2019 22:00,9535899.612,0.013913874,0.013913874,0.00006 +5-9-2019 23:00,9534819.897,0.004869856,0.004869856,0.00006 +6-9-2019 0:00,9533739.813,0.002782775,0.002782775,0.00006 +6-9-2019 1:00,9532659.363,0.000695694,0.000695694,0.00006 +6-9-2019 2:00,9531578.546,0.000695694,0.000695694,0.00006 +6-9-2019 3:00,9530497.362,0.001391387,0.001391387,0.00006 +6-9-2019 4:00,9529415.814,0.004869856,0.004869856,0.00006 +6-9-2019 5:00,9528333.9,0.038958846,0.038958846,0.00006 +6-9-2019 6:00,9527251.622,0.064699512,0.064699512,0.00006 +6-9-2019 7:00,9526168.98,0.050089945,0.050089945,0.00006 +6-9-2019 8:00,9525085.975,0.059133963,0.059133963,0.00006 +6-9-2019 9:00,9524002.607,0.042437315,0.042437315,0.00006 +6-9-2019 10:00,9522918.876,0.036871765,0.036871765,0.00006 +6-9-2019 11:00,9521834.785,0.031306216,0.031306216,0.00006 +6-9-2019 12:00,9520750.332,0.025044973,0.025044973,0.00006 +6-9-2019 13:00,9519665.518,0.021566504,0.021566504,0.00006 +6-9-2019 14:00,9518580.345,0.016696648,0.016696648,0.00006 +6-9-2019 15:00,9517494.812,0.018783729,0.018783729,0.00006 +6-9-2019 16:00,9516408.921,0.030610522,0.030610522,0.00006 +6-9-2019 17:00,9515322.671,0.054264107,0.054264107,0.00006 +6-9-2019 18:00,9514236.063,0.054959801,0.054959801,0.00006 +6-9-2019 19:00,9513149.099,0.048698558,0.048698558,0.00006 +6-9-2019 20:00,9512061.777,0.040350234,0.040350234,0.00006 +6-9-2019 21:00,9510974.1,0.028523441,0.028523441,0.00006 +6-9-2019 22:00,9509886.067,0.013913874,0.013913874,0.00006 +6-9-2019 23:00,9508797.68,0.004869856,0.004869856,0.00006 +7-9-2019 0:00,9507708.938,0.002782775,0.002782775,0.00006 +7-9-2019 1:00,9506619.842,0.000695694,0.000695694,0.00006 +7-9-2019 2:00,9505530.393,0.000695694,0.000695694,0.00006 +7-9-2019 3:00,9504440.591,0.001391387,0.001391387,0.00006 +7-9-2019 4:00,9503350.437,0.004869856,0.004869856,0.00006 +7-9-2019 5:00,9502259.931,0.038958846,0.038958846,0.00006 +7-9-2019 6:00,9501169.075,0.064699512,0.064699512,0.00006 +7-9-2019 7:00,9500077.868,0.050089945,0.050089945,0.00006 +7-9-2019 8:00,9498986.311,0.059133963,0.059133963,0.00006 +7-9-2019 9:00,9497894.405,0.042437315,0.042437315,0.00006 +7-9-2019 10:00,9496802.15,0.036871765,0.036871765,0.00006 +7-9-2019 11:00,9495709.547,0.031306216,0.031306216,0.00006 +7-9-2019 12:00,9494616.597,0.025044973,0.025044973,0.00006 +7-9-2019 13:00,9493523.299,0.021566504,0.021566504,0.00006 +7-9-2019 14:00,9492429.655,0.016696648,0.016696648,0.00006 +7-9-2019 15:00,9491335.665,0.018783729,0.018783729,0.00006 +7-9-2019 16:00,9490241.329,0.030610522,0.030610522,0.00006 +7-9-2019 17:00,9489146.649,0.054264107,0.054264107,0.00006 +7-9-2019 18:00,9488051.624,0.054959801,0.054959801,0.00006 +7-9-2019 19:00,9486956.256,0.048698558,0.048698558,0.00006 +7-9-2019 20:00,9485860.544,0.040350234,0.040350234,0.00006 +7-9-2019 21:00,9484764.49,0.028523441,0.028523441,0.00006 +7-9-2019 22:00,9483668.095,0.013913874,0.013913874,0.00006 +7-9-2019 23:00,9482571.357,0.004869856,0.004869856,0.00006 +8-9-2019 0:00,9481474.279,0.002782775,0.002782775,0.00006 +8-9-2019 1:00,9480376.86,0.000695694,0.000695694,0.00006 +8-9-2019 2:00,9479279.102,0.000695694,0.000695694,0.00006 +8-9-2019 3:00,9478181.005,0.001391387,0.001391387,0.00006 +8-9-2019 4:00,9477082.569,0.004869856,0.004869856,0.00006 +8-9-2019 5:00,9475983.794,0.038958846,0.038958846,0.00006 +8-9-2019 6:00,9474884.683,0.064699512,0.064699512,0.00006 +8-9-2019 7:00,9473785.234,0.050089945,0.050089945,0.00006 +8-9-2019 8:00,9472685.45,0.059133963,0.059133963,0.00006 +8-9-2019 9:00,9471585.329,0.042437315,0.042437315,0.00006 +8-9-2019 10:00,9470484.873,0.036871765,0.036871765,0.00006 +8-9-2019 11:00,9469384.083,0.031306216,0.031306216,0.00006 +8-9-2019 12:00,9468282.958,0.025044973,0.025044973,0.00006 +8-9-2019 13:00,9467181.5,0.021566504,0.021566504,0.00006 +8-9-2019 14:00,9466079.709,0.016696648,0.016696648,0.00006 +8-9-2019 15:00,9464977.585,0.018783729,0.018783729,0.00006 +8-9-2019 16:00,9463875.13,0.030610522,0.030610522,0.00006 +8-9-2019 17:00,9462772.344,0.054264107,0.054264107,0.00006 +8-9-2019 18:00,9461669.227,0.054959801,0.054959801,0.00006 +8-9-2019 19:00,9460565.779,0.048698558,0.048698558,0.00006 +8-9-2019 20:00,9459462.002,0.040350234,0.040350234,0.00006 +8-9-2019 21:00,9458357.897,0.028523441,0.028523441,0.00006 +8-9-2019 22:00,9457253.462,0.013913874,0.013913874,0.00006 +8-9-2019 23:00,9456148.7,0.004869856,0.004869856,0.00006 +9-9-2019 0:00,9455043.611,0.002782775,0.002782775,0.00006 +9-9-2019 1:00,9453938.195,0.000695694,0.000695694,0.00006 +9-9-2019 2:00,9452832.453,0.000695694,0.000695694,0.00006 +9-9-2019 3:00,9451726.385,0.001391387,0.001391387,0.00006 +9-9-2019 4:00,9450619.992,0.004869856,0.004869856,0.00006 +9-9-2019 5:00,9449513.275,0.038958846,0.038958846,0.00006 +9-9-2019 6:00,9448406.234,0.064699512,0.064699512,0.00006 +9-9-2019 7:00,9447298.87,0.050089945,0.050089945,0.00006 +9-9-2019 8:00,9446191.183,0.059133963,0.059133963,0.00006 +9-9-2019 9:00,9445083.174,0.042437315,0.042437315,0.00006 +9-9-2019 10:00,9443974.843,0.036871765,0.036871765,0.00006 +9-9-2019 11:00,9442866.191,0.031306216,0.031306216,0.00006 +9-9-2019 12:00,9441757.219,0.025044973,0.025044973,0.00006 +9-9-2019 13:00,9440647.927,0.021566504,0.021566504,0.00006 +9-9-2019 14:00,9439538.316,0.016696648,0.016696648,0.00006 +9-9-2019 15:00,9438428.386,0.018783729,0.018783729,0.00006 +9-9-2019 16:00,9437318.137,0.030610522,0.030610522,0.00006 +9-9-2019 17:00,9436207.571,0.054264107,0.054264107,0.00006 +9-9-2019 18:00,9435096.689,0.054959801,0.054959801,0.00006 +9-9-2019 19:00,9433985.489,0.048698558,0.048698558,0.00006 +9-9-2019 20:00,9432873.974,0.040350234,0.040350234,0.00006 +9-9-2019 21:00,9431762.144,0.028523441,0.028523441,0.00006 +9-9-2019 22:00,9430649.999,0.013913874,0.013913874,0.00006 +9-9-2019 23:00,9429537.539,0.004869856,0.004869856,0.00006 +10-9-2019 0:00,9428424.766,0.002782775,0.002782775,0.00006 +10-9-2019 1:00,9427311.68,0.000695694,0.000695694,0.00006 +10-9-2019 2:00,9426198.282,0.000695694,0.000695694,0.00006 +10-9-2019 3:00,9425084.572,0.001391387,0.001391387,0.00006 +10-9-2019 4:00,9423970.55,0.004869856,0.004869856,0.00006 +10-9-2019 5:00,9422856.218,0.038958846,0.038958846,0.00006 +10-9-2019 6:00,9421741.575,0.064699512,0.064699512,0.00006 +10-9-2019 7:00,9420626.624,0.050089945,0.050089945,0.00006 +10-9-2019 8:00,9419511.363,0.059133963,0.059133963,0.00006 +10-9-2019 9:00,9418395.793,0.042437315,0.042437315,0.00006 +10-9-2019 10:00,9417279.916,0.036871765,0.036871765,0.00006 +10-9-2019 11:00,9416163.731,0.031306216,0.031306216,0.00006 +10-9-2019 12:00,9415047.24,0.025044973,0.025044973,0.00006 +10-9-2019 13:00,9413930.443,0.021566504,0.021566504,0.00006 +10-9-2019 14:00,9412813.34,0.016696648,0.016696648,0.00006 +10-9-2019 15:00,9411695.932,0.018783729,0.018783729,0.00006 +10-9-2019 16:00,9410578.22,0.030610522,0.030610522,0.00006 +10-9-2019 17:00,9409460.204,0.054264107,0.054264107,0.00006 +10-9-2019 18:00,9408341.884,0.054959801,0.054959801,0.00006 +10-9-2019 19:00,9407223.262,0.048698558,0.048698558,0.00006 +10-9-2019 20:00,9406104.338,0.040350234,0.040350234,0.00006 +10-9-2019 21:00,9404985.112,0.028523441,0.028523441,0.00006 +10-9-2019 22:00,9403865.586,0.013913874,0.013913874,0.00006 +10-9-2019 23:00,9402745.759,0.004869856,0.004869856,0.00006 +11-9-2019 0:00,9401625.632,0.002782775,0.002782775,0.00006 +11-9-2019 1:00,9400505.206,0.000695694,0.000695694,0.00006 +11-9-2019 2:00,9399384.481,0.000695694,0.000695694,0.00006 +11-9-2019 3:00,9398263.459,0.001391387,0.001391387,0.00006 +11-9-2019 4:00,9397142.138,0.004869856,0.004869856,0.00006 +11-9-2019 5:00,9396020.521,0.039090878,0.039090878,0.00006 +11-9-2019 6:00,9394898.608,0.064699512,0.064699512,0.00006 +11-9-2019 7:00,9393776.398,0.050089945,0.050089945,0.00006 +11-9-2019 8:00,9392653.894,0.059133963,0.059133963,0.00006 +11-9-2019 9:00,9391531.095,0.042751794,0.042751794,0.00006 +11-9-2019 10:00,9390408.002,0.036871765,0.036871765,0.00006 +11-9-2019 11:00,9389284.615,0.031306216,0.031306216,0.00006 +11-9-2019 12:00,9388160.936,0.025133763,0.025133763,0.00006 +11-9-2019 13:00,9387036.964,0.021566504,0.021566504,0.00006 +11-9-2019 14:00,9385912.701,0.016696648,0.016696648,0.00006 +11-9-2019 15:00,9384788.146,0.018783729,0.018783729,0.00006 +11-9-2019 16:00,9383663.301,0.030610522,0.030610522,0.00006 +11-9-2019 17:00,9382538.166,0.054264107,0.054264107,0.00006 +11-9-2019 18:00,9381412.741,0.054959801,0.054959801,0.00006 +11-9-2019 19:00,9380287.028,0.048698558,0.048698558,0.00006 +11-9-2019 20:00,9379161.027,0.040350234,0.040350234,0.00006 +11-9-2019 21:00,9378034.737,0.028523441,0.028523441,0.00006 +11-9-2019 22:00,9376908.161,0.013913874,0.013913874,0.00006 +11-9-2019 23:00,9375781.298,0.004869856,0.004869856,0.00006 +12-9-2019 0:00,9374654.149,0.002782775,0.002782775,0.00006 +12-9-2019 1:00,9373526.715,0.000695694,0.000695694,0.00006 +12-9-2019 2:00,9372398.996,0.000695694,0.000695694,0.00006 +12-9-2019 3:00,9371270.993,0.001391387,0.001391387,0.00006 +12-9-2019 4:00,9370142.707,0.004869856,0.004869856,0.00006 +12-9-2019 5:00,9369014.137,0.038958846,0.038958846,0.00006 +12-9-2019 6:00,9367885.285,0.064699512,0.064699512,0.00006 +12-9-2019 7:00,9366756.151,0.050089945,0.050089945,0.00006 +12-9-2019 8:00,9365626.736,0.059133963,0.059133963,0.00006 +12-9-2019 9:00,9364497.04,0.042437315,0.042437315,0.00006 +12-9-2019 10:00,9363367.064,0.036871765,0.036871765,0.00006 +12-9-2019 11:00,9362236.808,0.031306216,0.031306216,0.00006 +12-9-2019 12:00,9361106.273,0.025044973,0.025044973,0.00006 +12-9-2019 13:00,9359975.46,0.021566504,0.021566504,0.00006 +12-9-2019 14:00,9358844.369,0.016696648,0.016696648,0.00006 +12-9-2019 15:00,9357713.001,0.018783729,0.018783729,0.00006 +12-9-2019 16:00,9356581.357,0.030610522,0.030610522,0.00006 +12-9-2019 17:00,9355449.436,0.054264107,0.054264107,0.00006 +12-9-2019 18:00,9354317.24,0.054959801,0.054959801,0.00006 +12-9-2019 19:00,9353184.769,0.048698558,0.048698558,0.00006 +12-9-2019 20:00,9352052.024,0.040350234,0.040350234,0.00006 +12-9-2019 21:00,9350919.005,0.028523441,0.028523441,0.00006 +12-9-2019 22:00,9349785.712,0.013913874,0.013913874,0.00006 +12-9-2019 23:00,9348652.148,0.004869856,0.004869856,0.00006 +13-09-2019 0:00,9347518.311,0.002782775,0.002782775,0.00006 +13-09-2019 1:00,9346384.203,0.000695694,0.000695694,0.00006 +13-09-2019 2:00,9345249.824,0.000695694,0.000695694,0.00006 +13-09-2019 3:00,9344115.175,0.001391387,0.001391387,0.00006 +13-09-2019 4:00,9342980.256,0.004869856,0.004869856,0.00006 +13-09-2019 5:00,9341845.068,0.038958846,0.038958846,0.00006 +13-09-2019 6:00,9340709.612,0.064699512,0.064699512,0.00006 +13-09-2019 7:00,9339573.888,0.050089945,0.050089945,0.00006 +13-09-2019 8:00,9338437.896,0.059133963,0.059133963,0.00006 +13-09-2019 9:00,9337301.638,0.042437315,0.042437315,0.00006 +13-09-2019 10:00,9336165.114,0.036871765,0.036871765,0.00006 +13-09-2019 11:00,9335028.324,0.031306216,0.031306216,0.00006 +13-09-2019 12:00,9333891.269,0.025044973,0.025044973,0.00006 +13-09-2019 13:00,9332753.95,0.021566504,0.021566504,0.00006 +13-09-2019 14:00,9331616.367,0.016696648,0.016696648,0.00006 +13-09-2019 15:00,9330478.521,0.018783729,0.018783729,0.00006 +13-09-2019 16:00,9329340.412,0.030610522,0.030610522,0.00006 +13-09-2019 17:00,9328202.041,0.054264107,0.054264107,0.00006 +13-09-2019 18:00,9327063.409,0.054959801,0.054959801,0.00006 +13-09-2019 19:00,9325924.516,0.048698558,0.048698558,0.00006 +13-09-2019 20:00,9324785.362,0.040350234,0.040350234,0.00006 +13-09-2019 21:00,9323645.949,0.028523441,0.028523441,0.00006 +13-09-2019 22:00,9322506.277,0.013913874,0.013913874,0.00006 +13-09-2019 23:00,9321366.346,0.004869856,0.004869856,0.00006 +14-09-2019 0:00,9320226.157,0.002782775,0.002782775,0.00006 +14-09-2019 1:00,9319085.711,0.000695694,0.000695694,0.00006 +14-09-2019 2:00,9317945.009,0.000695694,0.000695694,0.00006 +14-09-2019 3:00,9316804.05,0.001391387,0.001391387,0.00006 +14-09-2019 4:00,9315662.835,0.004869856,0.004869856,0.00006 +14-09-2019 5:00,9314521.365,0.038958846,0.038958846,0.00006 +14-09-2019 6:00,9313379.641,0.064699512,0.064699512,0.00006 +14-09-2019 7:00,9312237.664,0.050089945,0.050089945,0.00006 +14-09-2019 8:00,9311095.433,0.059133963,0.059133963,0.00006 +14-09-2019 9:00,9309952.949,0.042437315,0.042437315,0.00006 +14-09-2019 10:00,9308810.213,0.036871765,0.036871765,0.00006 +14-09-2019 11:00,9307667.226,0.031306216,0.031306216,0.00006 +14-09-2019 12:00,9306523.988,0.025044973,0.025044973,0.00006 +14-09-2019 13:00,9305380.5,0.021566504,0.021566504,0.00006 +14-09-2019 14:00,9304236.761,0.016696648,0.016696648,0.00006 +14-09-2019 15:00,9303092.774,0.018783729,0.018783729,0.00006 +14-09-2019 16:00,9301948.538,0.030610522,0.030610522,0.00006 +14-09-2019 17:00,9300804.055,0.054264107,0.054264107,0.00006 +14-09-2019 18:00,9299659.324,0.054959801,0.054959801,0.00006 +14-09-2019 19:00,9298514.346,0.048698558,0.048698558,0.00006 +14-09-2019 20:00,9297369.122,0.040350234,0.040350234,0.00006 +14-09-2019 21:00,9296223.652,0.028523441,0.028523441,0.00006 +14-09-2019 22:00,9295077.938,0.013913874,0.013913874,0.00006 +14-09-2019 23:00,9293931.979,0.004869856,0.004869856,0.00006 +15-09-2019 0:00,9292785.776,0.002782775,0.002782775,0.00006 +15-09-2019 1:00,9291639.33,0.000695694,0.000695694,0.00006 +15-09-2019 2:00,9290492.641,0.000695694,0.000695694,0.00006 +15-09-2019 3:00,9289345.711,0.001391387,0.001391387,0.00006 +15-09-2019 4:00,9288198.538,0.004869856,0.004869856,0.00006 +15-09-2019 5:00,9287051.125,0.038958846,0.038958846,0.00006 +15-09-2019 6:00,9285903.472,0.064699512,0.064699512,0.00006 +15-09-2019 7:00,9284755.579,0.050089945,0.050089945,0.00006 +15-09-2019 8:00,9283607.447,0.059133963,0.059133963,0.00006 +15-09-2019 9:00,9282459.076,0.042437315,0.042437315,0.00006 +15-09-2019 10:00,9281310.468,0.036871765,0.036871765,0.00006 +15-09-2019 11:00,9280161.622,0.031306216,0.031306216,0.00006 +15-09-2019 12:00,9279012.539,0.025044973,0.025044973,0.00006 +15-09-2019 13:00,9277863.22,0.021566504,0.021566504,0.00006 +15-09-2019 14:00,9276713.666,0.016696648,0.016696648,0.00006 +15-09-2019 15:00,9275563.877,0.018783729,0.018783729,0.00006 +15-09-2019 16:00,9274413.853,0.030610522,0.030610522,0.00006 +15-09-2019 17:00,9273263.596,0.054264107,0.054264107,0.00006 +15-09-2019 18:00,9272113.105,0.054959801,0.054959801,0.00006 +15-09-2019 19:00,9270962.382,0.048698558,0.048698558,0.00006 +15-09-2019 20:00,9269811.427,0.040350234,0.040350234,0.00006 +15-09-2019 21:00,9268660.24,0.028523441,0.028523441,0.00006 +15-09-2019 22:00,9267508.823,0.013913874,0.013913874,0.00006 +15-09-2019 23:00,9266357.175,0.004869856,0.004869856,0.00006 +16-09-2019 0:00,9265205.298,0.002782775,0.002782775,0.00006 +16-09-2019 1:00,9264053.192,0.000695694,0.000695694,0.00006 +16-09-2019 2:00,9262900.857,0.000695694,0.000695694,0.00006 +16-09-2019 3:00,9261748.294,0.001391387,0.001391387,0.00006 +16-09-2019 4:00,9260595.504,0.004869856,0.004869856,0.00006 +16-09-2019 5:00,9259442.488,0.038958846,0.038958846,0.00006 +16-09-2019 6:00,9258289.245,0.064699512,0.064699512,0.00006 +16-09-2019 7:00,9257135.777,0.050089945,0.050089945,0.00006 +16-09-2019 8:00,9255982.084,0.059133963,0.059133963,0.00006 +16-09-2019 9:00,9254828.167,0.042437315,0.042437315,0.00006 +16-09-2019 10:00,9253674.026,0.036871765,0.036871765,0.00006 +16-09-2019 11:00,9252519.662,0.031306216,0.031306216,0.00006 +16-09-2019 12:00,9251365.075,0.025044973,0.025044973,0.00006 +16-09-2019 13:00,9250210.267,0.021566504,0.021566504,0.00006 +16-09-2019 14:00,9249055.237,0.016696648,0.016696648,0.00006 +16-09-2019 15:00,9247899.986,0.018783729,0.018783729,0.00006 +16-09-2019 16:00,9246744.515,0.030610522,0.030610522,0.00006 +16-09-2019 17:00,9245588.825,0.054264107,0.054264107,0.00006 +16-09-2019 18:00,9244432.916,0.054959801,0.054959801,0.00006 +16-09-2019 19:00,9243276.788,0.048698558,0.048698558,0.00006 +16-09-2019 20:00,9242120.443,0.040350234,0.040350234,0.00006 +16-09-2019 21:00,9240963.881,0.028523441,0.028523441,0.00006 +16-09-2019 22:00,9239807.102,0.013913874,0.013913874,0.00006 +16-09-2019 23:00,9238650.106,0.004869856,0.004869856,0.00006 +17-09-2019 0:00,9237492.896,0.002782775,0.002782775,0.00006 +17-09-2019 1:00,9236335.471,0.000695694,0.000695694,0.00006 +17-09-2019 2:00,9235177.831,0.000695694,0.000695694,0.00006 +17-09-2019 3:00,9234019.978,0.001391387,0.001391387,0.00006 +17-09-2019 4:00,9232861.913,0.004869856,0.004869856,0.00006 +17-09-2019 5:00,9231703.634,0.039055034,0.039055034,0.00006 +17-09-2019 6:00,9230545.144,0.064699512,0.064699512,0.00006 +17-09-2019 7:00,9229386.443,0.050089945,0.050089945,0.00006 +17-09-2019 8:00,9228227.531,0.059133963,0.059133963,0.00006 +17-09-2019 9:00,9227068.409,0.042780561,0.042780561,0.00006 +17-09-2019 10:00,9225909.077,0.036871765,0.036871765,0.00006 +17-09-2019 11:00,9224749.537,0.031306216,0.031306216,0.00006 +17-09-2019 12:00,9223589.788,0.025044973,0.025044973,0.00006 +17-09-2019 13:00,9222429.832,0.021566504,0.021566504,0.00006 +17-09-2019 14:00,9221269.669,0.016696648,0.016696648,0.00006 +17-09-2019 15:00,9220109.299,0.018783729,0.018783729,0.00006 +17-09-2019 16:00,9218948.724,0.030610522,0.030610522,0.00006 +17-09-2019 17:00,9217787.943,0.054264107,0.054264107,0.00006 +17-09-2019 18:00,9216626.958,0.054959801,0.054959801,0.00006 +17-09-2019 19:00,9215465.769,0.048698558,0.048698558,0.00006 +17-09-2019 20:00,9214304.376,0.040350234,0.040350234,0.00006 +17-09-2019 21:00,9213142.78,0.028523441,0.028523441,0.00006 +17-09-2019 22:00,9211980.982,0.013913874,0.013913874,0.00006 +17-09-2019 23:00,9210818.983,0.004869856,0.004869856,0.00006 +18-09-2019 0:00,9209656.782,0.002782775,0.002782775,0.00006 +18-09-2019 1:00,9208494.381,0.000695694,0.000695694,0.00006 +18-09-2019 2:00,9207331.78,0.000695694,0.000695694,0.00006 +18-09-2019 3:00,9206168.98,0.001391387,0.001391387,0.00006 +18-09-2019 4:00,9205005.981,0.004869856,0.004869856,0.00006 +18-09-2019 5:00,9203842.784,0.03975662,0.03975662,0.00006 +18-09-2019 6:00,9202679.389,0.064699512,0.064699512,0.00006 +18-09-2019 7:00,9201515.798,0.050089945,0.050089945,0.00006 +18-09-2019 8:00,9200352.01,0.059133963,0.059133963,0.00006 +18-09-2019 9:00,9199188.027,0.042841044,0.042841044,0.00006 +18-09-2019 10:00,9198023.849,0.036871765,0.036871765,0.00006 +18-09-2019 11:00,9196859.476,0.031306216,0.031306216,0.00006 +18-09-2019 12:00,9195694.909,0.025044973,0.025044973,0.00006 +18-09-2019 13:00,9194530.149,0.021566504,0.021566504,0.00006 +18-09-2019 14:00,9193365.196,0.016696648,0.016696648,0.00006 +18-09-2019 15:00,9192200.052,0.018783729,0.018783729,0.00006 +18-09-2019 16:00,9191034.715,0.030610522,0.030610522,0.00006 +18-09-2019 17:00,9189869.188,0.054264107,0.054264107,0.00006 +18-09-2019 18:00,9188703.471,0.055013599,0.055013599,0.00006 +18-09-2019 19:00,9187537.564,0.048969052,0.048969052,0.00006 +18-09-2019 20:00,9186371.468,0.040350234,0.040350234,0.00006 +18-09-2019 21:00,9185205.183,0.028640888,0.028640888,0.00006 +18-09-2019 22:00,9184038.71,0.013913874,0.013913874,0.00006 +18-09-2019 23:00,9182872.051,0.004869856,0.004869856,0.00006 +19-09-2019 0:00,9181705.204,0.002782775,0.002782775,0.00006 +19-09-2019 1:00,9180538.172,0.000695694,0.000695694,0.00006 +19-09-2019 2:00,9179370.953,0.000695694,0.000695694,0.00006 +19-09-2019 3:00,9178203.551,0.001391387,0.001391387,0.00006 +19-09-2019 4:00,9177035.963,0.004869856,0.004869856,0.00006 +19-09-2019 5:00,9175868.192,0.039876325,0.039876325,0.00006 +19-09-2019 6:00,9174700.238,0.065467646,0.065467646,0.00006 +19-09-2019 7:00,9173532.102,0.050089945,0.050089945,0.00006 +19-09-2019 8:00,9172363.784,0.059503818,0.059503818,0.00006 +19-09-2019 9:00,9171195.284,0.043786726,0.043786726,0.00006 +19-09-2019 10:00,9170026.604,0.037320715,0.037320715,0.00006 +19-09-2019 11:00,9168857.743,0.031617818,0.031617818,0.00006 +19-09-2019 12:00,9167688.703,0.025653301,0.025653301,0.00006 +19-09-2019 13:00,9166519.485,0.021566504,0.021566504,0.00006 +19-09-2019 14:00,9165350.088,0.016696648,0.016696648,0.00006 +19-09-2019 15:00,9164180.513,0.018783729,0.018783729,0.00006 +19-09-2019 16:00,9163010.761,0.030610522,0.030610522,0.00006 +19-09-2019 17:00,9161840.833,0.054264107,0.054264107,0.00006 +19-09-2019 18:00,9160670.729,0.055236059,0.055236059,0.00006 +19-09-2019 19:00,9159500.45,0.049086849,0.049086849,0.00006 +19-09-2019 20:00,9158329.996,0.040826931,0.040826931,0.00006 +19-09-2019 21:00,9157159.368,0.028769302,0.028769302,0.00006 +19-09-2019 22:00,9155988.566,0.013913874,0.013913874,0.00006 +19-09-2019 23:00,9154817.592,0.004869856,0.004869856,0.00006 +20-09-2019 0:00,9153646.445,0.002782775,0.002782775,0.00006 +20-09-2019 1:00,9152475.127,0.000695694,0.000695694,0.00006 +20-09-2019 2:00,9151303.638,0.000695694,0.000695694,0.00006 +20-09-2019 3:00,9150131.978,0.001391387,0.001391387,0.00006 +20-09-2019 4:00,9148960.148,0.004869856,0.004869856,0.00006 +20-09-2019 5:00,9147788.15,0.040339317,0.040339317,0.00006 +20-09-2019 6:00,9146615.982,0.068239232,0.068239232,0.00006 +20-09-2019 7:00,9145443.647,0.050812481,0.050812481,0.00006 +20-09-2019 8:00,9144271.144,0.0608469,0.0608469,0.00006 +20-09-2019 9:00,9143098.474,0.043952064,0.043952064,0.00006 +20-09-2019 10:00,9141925.638,0.037582818,0.037582818,0.00006 +20-09-2019 11:00,9140752.637,0.031845043,0.031845043,0.00006 +20-09-2019 12:00,9139579.47,0.026065491,0.026065491,0.00006 +20-09-2019 13:00,9138406.139,0.021566504,0.021566504,0.00006 +20-09-2019 14:00,9137232.644,0.016696648,0.016696648,0.00006 +20-09-2019 15:00,9136058.986,0.018783729,0.018783729,0.00006 +20-09-2019 16:00,9134885.166,0.030610522,0.030610522,0.00006 +20-09-2019 17:00,9133711.183,0.054264107,0.054264107,0.00006 +20-09-2019 18:00,9132537.039,0.054959801,0.054959801,0.00006 +20-09-2019 19:00,9131362.734,0.048890759,0.048890759,0.00006 +20-09-2019 20:00,9130188.269,0.0404129,0.0404129,0.00006 +20-09-2019 21:00,9129013.645,0.028750544,0.028750544,0.00006 +20-09-2019 22:00,9127838.861,0.013913874,0.013913874,0.00006 +20-09-2019 23:00,9126663.919,0.004869856,0.004869856,0.00006 +21-09-2019 0:00,9125488.82,0.002782775,0.002782775,0.00006 +21-09-2019 1:00,9124313.563,0.000695694,0.000695694,0.00006 +21-09-2019 2:00,9123138.15,0.000695694,0.000695694,0.00006 +21-09-2019 3:00,9121962.58,0.001391387,0.001391387,0.00006 +21-09-2019 4:00,9120786.856,0.004869856,0.004869856,0.00006 +21-09-2019 5:00,9119610.976,0.040100584,0.040100584,0.00006 +21-09-2019 6:00,9118434.943,0.067131742,0.067131742,0.00006 +21-09-2019 7:00,9117258.756,0.050408584,0.050408584,0.00006 +21-09-2019 8:00,9116082.416,0.059217265,0.059217265,0.00006 +21-09-2019 9:00,9114905.923,0.043126949,0.043126949,0.00006 +21-09-2019 10:00,9113729.279,0.036893556,0.036893556,0.00006 +21-09-2019 11:00,9112552.484,0.031306216,0.031306216,0.00006 +21-09-2019 12:00,9111375.538,0.025044973,0.025044973,0.00006 +21-09-2019 13:00,9110198.443,0.021566504,0.021566504,0.00006 +21-09-2019 14:00,9109021.198,0.016696648,0.016696648,0.00006 +21-09-2019 15:00,9107843.804,0.018783729,0.018783729,0.00006 +21-09-2019 16:00,9106666.263,0.030610522,0.030610522,0.00006 +21-09-2019 17:00,9105488.574,0.054264107,0.054264107,0.00006 +21-09-2019 18:00,9104310.738,0.054959801,0.054959801,0.00006 +21-09-2019 19:00,9103132.755,0.048698558,0.048698558,0.00006 +21-09-2019 20:00,9101954.627,0.040350234,0.040350234,0.00006 +21-09-2019 21:00,9100776.355,0.028523441,0.028523441,0.00006 +21-09-2019 22:00,9099597.937,0.013913874,0.013913874,0.00006 +21-09-2019 23:00,9098419.376,0.004869856,0.004869856,0.00006 +22-09-2019 0:00,9097240.671,0.002782775,0.002782775,0.00006 +22-09-2019 1:00,9096061.824,0.000695694,0.000695694,0.00006 +22-09-2019 2:00,9094882.835,0.000695694,0.000695694,0.00006 +22-09-2019 3:00,9093703.705,0.001391387,0.001391387,0.00006 +22-09-2019 4:00,9092524.433,0.004869856,0.004869856,0.00006 +22-09-2019 5:00,9091345.022,0.039039662,0.039039662,0.00006 +22-09-2019 6:00,9090165.47,0.06477761,0.06477761,0.00006 +22-09-2019 7:00,9088985.78,0.050089945,0.050089945,0.00006 +22-09-2019 8:00,9087805.952,0.059133963,0.059133963,0.00006 +22-09-2019 9:00,9086625.985,0.042896264,0.042896264,0.00006 +22-09-2019 10:00,9085445.882,0.036871765,0.036871765,0.00006 +22-09-2019 11:00,9084265.642,0.031306216,0.031306216,0.00006 +22-09-2019 12:00,9083085.266,0.025044973,0.025044973,0.00006 +22-09-2019 13:00,9081904.754,0.021566504,0.021566504,0.00006 +22-09-2019 14:00,9080724.108,0.016696648,0.016696648,0.00006 +22-09-2019 15:00,9079543.328,0.018783729,0.018783729,0.00006 +22-09-2019 16:00,9078362.414,0.030610522,0.030610522,0.00006 +22-09-2019 17:00,9077181.368,0.054264107,0.054264107,0.00006 +22-09-2019 18:00,9076000.189,0.054959801,0.054959801,0.00006 +22-09-2019 19:00,9074818.878,0.048698558,0.048698558,0.00006 +22-09-2019 20:00,9073637.436,0.040350234,0.040350234,0.00006 +22-09-2019 21:00,9072455.864,0.028523441,0.028523441,0.00006 +22-09-2019 22:00,9071274.162,0.013913874,0.013913874,0.00006 +22-09-2019 23:00,9070092.331,0.004869856,0.004869856,0.00006 +23-09-2019 0:00,9068910.371,0.002782775,0.002782775,0.00006 +23-09-2019 1:00,9067728.282,0.000695694,0.000695694,0.00006 +23-09-2019 2:00,9066546.067,0.000695694,0.000695694,0.00006 +23-09-2019 3:00,9065363.724,0.001391387,0.001391387,0.00006 +23-09-2019 4:00,9064181.256,0.004869856,0.004869856,0.00006 +23-09-2019 5:00,9062998.662,0.038958846,0.038958846,0.00006 +23-09-2019 6:00,9061815.942,0.064699512,0.064699512,0.00006 +23-09-2019 7:00,9060633.099,0.050089945,0.050089945,0.00006 +23-09-2019 8:00,9059450.131,0.059133963,0.059133963,0.00006 +23-09-2019 9:00,9058267.04,0.042661323,0.042661323,0.00006 +23-09-2019 10:00,9057083.827,0.036871765,0.036871765,0.00006 +23-09-2019 11:00,9055900.492,0.031306216,0.031306216,0.00006 +23-09-2019 12:00,9054717.035,0.025044973,0.025044973,0.00006 +23-09-2019 13:00,9053533.458,0.021566504,0.021566504,0.00006 +23-09-2019 14:00,9052349.761,0.016696648,0.016696648,0.00006 +23-09-2019 15:00,9051165.944,0.018783729,0.018783729,0.00006 +23-09-2019 16:00,9049982.008,0.030610522,0.030610522,0.00006 +23-09-2019 17:00,9048797.954,0.054264107,0.054264107,0.00006 +23-09-2019 18:00,9047613.782,0.054959801,0.054959801,0.00006 +23-09-2019 19:00,9046429.493,0.048698558,0.048698558,0.00006 +23-09-2019 20:00,9045245.087,0.040350234,0.040350234,0.00006 +23-09-2019 21:00,9044060.566,0.028523441,0.028523441,0.00006 +23-09-2019 22:00,9042875.929,0.013913874,0.013913874,0.00006 +23-09-2019 23:00,9041691.178,0.004869856,0.004869856,0.00006 +24-09-2019 0:00,9040506.312,0.002782775,0.002782775,0.00006 +24-09-2019 1:00,9039321.333,0.000695694,0.000695694,0.00006 +24-09-2019 2:00,9038136.242,0.000695694,0.000695694,0.00006 +24-09-2019 3:00,9036951.038,0.001391387,0.001391387,0.00006 +24-09-2019 4:00,9035765.722,0.004869856,0.004869856,0.00006 +24-09-2019 5:00,9034580.296,0.038958846,0.038958846,0.00006 +24-09-2019 6:00,9033394.759,0.064699512,0.064699512,0.00006 +24-09-2019 7:00,9032209.112,0.050089945,0.050089945,0.00006 +24-09-2019 8:00,9031023.356,0.059133963,0.059133963,0.00006 +24-09-2019 9:00,9029837.492,0.04268159,0.04268159,0.00006 +24-09-2019 10:00,9028651.52,0.036871765,0.036871765,0.00006 +24-09-2019 11:00,9027465.44,0.031306216,0.031306216,0.00006 +24-09-2019 12:00,9026279.253,0.025044973,0.025044973,0.00006 +24-09-2019 13:00,9025092.961,0.021566504,0.021566504,0.00006 +24-09-2019 14:00,9023906.563,0.016696648,0.016696648,0.00006 +24-09-2019 15:00,9022720.06,0.018783729,0.018783729,0.00006 +24-09-2019 16:00,9021533.452,0.030610522,0.030610522,0.00006 +24-09-2019 17:00,9020346.741,0.054264107,0.054264107,0.00006 +24-09-2019 18:00,9019159.927,0.054959801,0.054959801,0.00006 +24-09-2019 19:00,9017973.011,0.048698558,0.048698558,0.00006 +24-09-2019 20:00,9016785.993,0.040350234,0.040350234,0.00006 +24-09-2019 21:00,9015598.873,0.028523441,0.028523441,0.00006 +24-09-2019 22:00,9014411.653,0.013913874,0.013913874,0.00006 +24-09-2019 23:00,9013224.333,0.004869856,0.004869856,0.00006 +25-09-2019 0:00,9012036.913,0.002782775,0.002782775,0.00006 +25-09-2019 1:00,9010849.395,0.000695694,0.000695694,0.00006 +25-09-2019 2:00,9009661.778,0.000695694,0.000695694,0.00006 +25-09-2019 3:00,9008474.064,0.001391387,0.001391387,0.00006 +25-09-2019 4:00,9007286.253,0.004869856,0.004869856,0.00006 +25-09-2019 5:00,9006098.345,0.038958846,0.038958846,0.00006 +25-09-2019 6:00,9004910.342,0.064699512,0.064699512,0.00006 +25-09-2019 7:00,9003722.244,0.050089945,0.050089945,0.00006 +25-09-2019 8:00,9002534.051,0.059133963,0.059133963,0.00006 +25-09-2019 9:00,9001345.764,0.042926496,0.042926496,0.00006 +25-09-2019 10:00,9000157.384,0.036871765,0.036871765,0.00006 +25-09-2019 11:00,8998968.911,0.031306216,0.031306216,0.00006 +25-09-2019 12:00,8997780.346,0.025044973,0.025044973,0.00006 +25-09-2019 13:00,8996591.69,0.021566504,0.021566504,0.00006 +25-09-2019 14:00,8995402.943,0.016696648,0.016696648,0.00006 +25-09-2019 15:00,8994214.105,0.018783729,0.018783729,0.00006 +25-09-2019 16:00,8993025.178,0.030610522,0.030610522,0.00006 +25-09-2019 17:00,8991836.162,0.054264107,0.054264107,0.00006 +25-09-2019 18:00,8990647.058,0.054959801,0.054959801,0.00006 +25-09-2019 19:00,8989457.866,0.048698558,0.048698558,0.00006 +25-09-2019 20:00,8988268.586,0.040350234,0.040350234,0.00006 +25-09-2019 21:00,8987079.22,0.028523441,0.028523441,0.00006 +25-09-2019 22:00,8985889.768,0.013913874,0.013913874,0.00006 +25-09-2019 23:00,8984700.231,0.004869856,0.004869856,0.00006 +26-09-2019 0:00,8983510.609,0.002782775,0.002782775,0.00006 +26-09-2019 1:00,8982320.903,0.000695694,0.000695694,0.00006 +26-09-2019 2:00,8981131.113,0.000695694,0.000695694,0.00006 +26-09-2019 3:00,8979941.241,0.001391387,0.001391387,0.00006 +26-09-2019 4:00,8978751.286,0.004869856,0.004869856,0.00006 +26-09-2019 5:00,8977561.25,0.038958846,0.038958846,0.00006 +26-09-2019 6:00,8976371.132,0.064699512,0.064699512,0.00006 +26-09-2019 7:00,8975180.934,0.050089945,0.050089945,0.00006 +26-09-2019 8:00,8973990.656,0.059133963,0.059133963,0.00006 +26-09-2019 9:00,8972800.299,0.042772987,0.042772987,0.00006 +26-09-2019 10:00,8971609.864,0.036871765,0.036871765,0.00006 +26-09-2019 11:00,8970419.35,0.031306216,0.031306216,0.00006 +26-09-2019 12:00,8969228.759,0.025044973,0.025044973,0.00006 +26-09-2019 13:00,8968038.091,0.021566504,0.021566504,0.00006 +26-09-2019 14:00,8966847.347,0.016696648,0.016696648,0.00006 +26-09-2019 15:00,8965656.528,0.018783729,0.018783729,0.00006 +26-09-2019 16:00,8964465.633,0.030610522,0.030610522,0.00006 +26-09-2019 17:00,8963274.665,0.054264107,0.054264107,0.00006 +26-09-2019 18:00,8962083.622,0.054959801,0.054959801,0.00006 +26-09-2019 19:00,8960892.507,0.048698558,0.048698558,0.00006 +26-09-2019 20:00,8959701.318,0.040350234,0.040350234,0.00006 +26-09-2019 21:00,8958510.059,0.028523441,0.028523441,0.00006 +26-09-2019 22:00,8957318.727,0.013913874,0.013913874,0.00006 +26-09-2019 23:00,8956127.326,0.004869856,0.004869856,0.00006 +27-09-2019 0:00,8954935.854,0.002782775,0.002782775,0.00006 +27-09-2019 1:00,8953744.312,0.000695694,0.000695694,0.00006 +27-09-2019 2:00,8952552.702,0.000695694,0.000695694,0.00006 +27-09-2019 3:00,8951361.024,0.001391387,0.001391387,0.00006 +27-09-2019 4:00,8950169.278,0.004869856,0.004869856,0.00006 +27-09-2019 5:00,8948977.465,0.038958846,0.038958846,0.00006 +27-09-2019 6:00,8947785.586,0.064699512,0.064699512,0.00006 +27-09-2019 7:00,8946593.641,0.050089945,0.050089945,0.00006 +27-09-2019 8:00,8945401.631,0.059133963,0.059133963,0.00006 +27-09-2019 9:00,8944209.557,0.042695775,0.042695775,0.00006 +27-09-2019 10:00,8943017.418,0.036871765,0.036871765,0.00006 +27-09-2019 11:00,8941825.216,0.031306216,0.031306216,0.00006 +27-09-2019 12:00,8940632.952,0.025044973,0.025044973,0.00006 +27-09-2019 13:00,8939440.626,0.021566504,0.021566504,0.00006 +27-09-2019 14:00,8938248.238,0.016696648,0.016696648,0.00006 +27-09-2019 15:00,8937055.789,0.018783729,0.018783729,0.00006 +27-09-2019 16:00,8935863.28,0.030610522,0.030610522,0.00006 +27-09-2019 17:00,8934670.711,0.054264107,0.054264107,0.00006 +27-09-2019 18:00,8933478.084,0.054959801,0.054959801,0.00006 +27-09-2019 19:00,8932285.398,0.048698558,0.048698558,0.00006 +27-09-2019 20:00,8931092.654,0.040350234,0.040350234,0.00006 +27-09-2019 21:00,8929899.853,0.028523441,0.028523441,0.00006 +27-09-2019 22:00,8928706.996,0.013913874,0.013913874,0.00006 +27-09-2019 23:00,8927514.082,0.004869856,0.004869856,0.00006 +28-09-2019 0:00,8926321.114,0.002782775,0.002782775,0.00006 +28-09-2019 1:00,8925128.09,0.000695694,0.000695694,0.00006 +28-09-2019 2:00,8923935.013,0.000695694,0.000695694,0.00006 +28-09-2019 3:00,8922741.882,0.001391387,0.001391387,0.00006 +28-09-2019 4:00,8921548.698,0.004869856,0.004869856,0.00006 +28-09-2019 5:00,8920355.462,0.038958846,0.038958846,0.00006 +28-09-2019 6:00,8919162.175,0.064699512,0.064699512,0.00006 +28-09-2019 7:00,8917968.836,0.050089945,0.050089945,0.00006 +28-09-2019 8:00,8916775.447,0.059133963,0.059133963,0.00006 +28-09-2019 9:00,8915582.008,0.04253185,0.04253185,0.00006 +28-09-2019 10:00,8914388.52,0.036871765,0.036871765,0.00006 +28-09-2019 11:00,8913194.984,0.031306216,0.031306216,0.00006 +28-09-2019 12:00,8912001.399,0.025044973,0.025044973,0.00006 +28-09-2019 13:00,8910807.767,0.021566504,0.021566504,0.00006 +28-09-2019 14:00,8909614.089,0.016696648,0.016696648,0.00006 +28-09-2019 15:00,8908420.364,0.018783729,0.018783729,0.00006 +28-09-2019 16:00,8907226.594,0.030610522,0.030610522,0.00006 +28-09-2019 17:00,8906032.779,0.054264107,0.054264107,0.00006 +28-09-2019 18:00,8904838.919,0.054959801,0.054959801,0.00006 +28-09-2019 19:00,8903645.016,0.048698558,0.048698558,0.00006 +28-09-2019 20:00,8902451.071,0.040350234,0.040350234,0.00006 +28-09-2019 21:00,8901257.082,0.028523441,0.028523441,0.00006 +28-09-2019 22:00,8900063.052,0.013913874,0.013913874,0.00006 +28-09-2019 23:00,8898868.981,0.004869856,0.004869856,0.00006 +29-09-2019 0:00,8897674.869,0.002782775,0.002782775,0.00006 +29-09-2019 1:00,8896480.717,0.000695694,0.000695694,0.00006 +29-09-2019 2:00,8895286.525,0.000695694,0.000695694,0.00006 +29-09-2019 3:00,8894092.295,0.001391387,0.001391387,0.00006 +29-09-2019 4:00,8892898.027,0.004869856,0.004869856,0.00006 +29-09-2019 5:00,8891703.722,0.038958846,0.038958846,0.00006 +29-09-2019 6:00,8890509.379,0.064699512,0.064699512,0.00006 +29-09-2019 7:00,8889315,0.050089945,0.050089945,0.00006 +29-09-2019 8:00,8888120.586,0.059133963,0.059133963,0.00006 +29-09-2019 9:00,8886926.136,0.042838182,0.042838182,0.00006 +29-09-2019 10:00,8885731.653,0.036871765,0.036871765,0.00006 +29-09-2019 11:00,8884537.135,0.031306216,0.031306216,0.00006 +29-09-2019 12:00,8883342.584,0.025044973,0.025044973,0.00006 +29-09-2019 13:00,8882148,0.021566504,0.021566504,0.00006 +29-09-2019 14:00,8880953.385,0.016696648,0.016696648,0.00006 +29-09-2019 15:00,8879758.738,0.018783729,0.018783729,0.00006 +29-09-2019 16:00,8878564.06,0.030610522,0.030610522,0.00006 +29-09-2019 17:00,8877369.353,0.054264107,0.054264107,0.00006 +29-09-2019 18:00,8876174.615,0.054959801,0.054959801,0.00006 +29-09-2019 19:00,8874979.849,0.048698558,0.048698558,0.00006 +29-09-2019 20:00,8873785.055,0.040350234,0.040350234,0.00006 +29-09-2019 21:00,8872590.233,0.028523441,0.028523441,0.00006 +29-09-2019 22:00,8871395.384,0.013913874,0.013913874,0.00006 +29-09-2019 23:00,8870200.508,0.004869856,0.004869856,0.00006 +30-09-2019 0:00,8869005.607,0.002782775,0.002782775,0.00006 +30-09-2019 1:00,8867810.68,0.000695694,0.000695694,0.00006 +30-09-2019 2:00,8866615.729,0.000695694,0.000695694,0.00006 +30-09-2019 3:00,8865420.754,0.001391387,0.001391387,0.00006 +30-09-2019 4:00,8864225.755,0.004869856,0.004869856,0.00006 +30-09-2019 5:00,8863030.734,0.038958846,0.038958846,0.00006 +30-09-2019 6:00,8861835.69,0.064699512,0.064699512,0.00006 +30-09-2019 7:00,8860640.625,0.050089945,0.050089945,0.00006 +30-09-2019 8:00,8859445.539,0.059133963,0.059133963,0.00006 +30-09-2019 9:00,8858250.433,0.042885551,0.042885551,0.00006 +30-09-2019 10:00,8857055.307,0.036871765,0.036871765,0.00006 +30-09-2019 11:00,8855860.162,0.031306216,0.031306216,0.00006 +30-09-2019 12:00,8854664.999,0.025044973,0.025044973,0.00006 +30-09-2019 13:00,8853469.818,0.021566504,0.021566504,0.00006 +30-09-2019 14:00,8852274.619,0.016696648,0.016696648,0.00006 +30-09-2019 15:00,8851079.404,0.018783729,0.018783729,0.00006 +30-09-2019 16:00,8849884.173,0.030610522,0.030610522,0.00006 +30-09-2019 17:00,8848688.927,0.054264107,0.054264107,0.00006 +30-09-2019 18:00,8847493.666,0.054959801,0.054959801,0.00006 +30-09-2019 19:00,8846298.39,0.048698558,0.048698558,0.00006 +30-09-2019 20:00,8845103.102,0.040350234,0.040350234,0.00006 +30-09-2019 21:00,8843907.8,0.028523441,0.028523441,0.00006 +30-09-2019 22:00,8842712.486,0.013913874,0.013913874,0.00006 +30-09-2019 23:00,8841517.16,0.004869856,0.004869856,0.00006 +1-10-2019 0:00,8840321.823,0.002782775,0.002782775,0.00006 +1-10-2019 1:00,8839126.476,0.000695694,0.000695694,0.00006 +1-10-2019 2:00,8837931.119,0.000695694,0.000695694,0.00006 +1-10-2019 3:00,8836735.753,0.001391387,0.001391387,0.00006 +1-10-2019 4:00,8835540.378,0.004869856,0.004869856,0.00006 +1-10-2019 5:00,8834344.995,0.038958846,0.038958846,0.00006 +1-10-2019 6:00,8833149.605,0.064699512,0.064699512,0.00006 +1-10-2019 7:00,8831954.207,0.050089945,0.050089945,0.00006 +1-10-2019 8:00,8830758.804,0.059133963,0.059133963,0.00006 +1-10-2019 9:00,8829563.395,0.042821514,0.042821514,0.00006 +1-10-2019 10:00,8828367.982,0.036871765,0.036871765,0.00006 +1-10-2019 11:00,8827172.564,0.031306216,0.031306216,0.00006 +1-10-2019 12:00,8825977.142,0.025044973,0.025044973,0.00006 +1-10-2019 13:00,8824781.717,0.021566504,0.021566504,0.00006 +1-10-2019 14:00,8823586.29,0.016696648,0.016696648,0.00006 +1-10-2019 15:00,8822390.861,0.018783729,0.018783729,0.00006 +1-10-2019 16:00,8821195.431,0.030610522,0.030610522,0.00006 +1-10-2019 17:00,8820000,0.054264107,0.054264107,0.00006 +1-10-2019 18:00,8818804.569,0.054959801,0.054959801,0.00006 +1-10-2019 19:00,8817609.139,0.048698558,0.048698558,0.00006 +1-10-2019 20:00,8816413.71,0.040350234,0.040350234,0.00006 +1-10-2019 21:00,8815218.283,0.028523441,0.028523441,0.00006 +1-10-2019 22:00,8814022.858,0.013913874,0.013913874,0.00006 +1-10-2019 23:00,8812827.436,0.004869856,0.004869856,0.00006 +2-10-2019 0:00,8811632.018,0.002782775,0.002782775,0.00006 +2-10-2019 1:00,8810436.605,0.000695694,0.000695694,0.00006 +2-10-2019 2:00,8809241.196,0.000695694,0.000695694,0.00006 +2-10-2019 3:00,8808045.793,0.001391387,0.001391387,0.00006 +2-10-2019 4:00,8806850.395,0.004869856,0.004869856,0.00006 +2-10-2019 5:00,8805655.005,0.039138412,0.039138412,0.00006 +2-10-2019 6:00,8804459.622,0.064794905,0.064794905,0.00006 +2-10-2019 7:00,8803264.247,0.050193041,0.050193041,0.00006 +2-10-2019 8:00,8802068.881,0.059133963,0.059133963,0.00006 +2-10-2019 9:00,8800873.524,0.042860179,0.042860179,0.00006 +2-10-2019 10:00,8799678.177,0.036871765,0.036871765,0.00006 +2-10-2019 11:00,8798482.84,0.031306216,0.031306216,0.00006 +2-10-2019 12:00,8797287.514,0.025044973,0.025044973,0.00006 +2-10-2019 13:00,8796092.2,0.021566504,0.021566504,0.00006 +2-10-2019 14:00,8794896.898,0.016696648,0.016696648,0.00006 +2-10-2019 15:00,8793701.61,0.018783729,0.018783729,0.00006 +2-10-2019 16:00,8792506.334,0.030610522,0.030610522,0.00006 +2-10-2019 17:00,8791311.073,0.054403152,0.054403152,0.00006 +2-10-2019 18:00,8790115.827,0.055355817,0.055355817,0.00006 +2-10-2019 19:00,8788920.596,0.048915342,0.048915342,0.00006 +2-10-2019 20:00,8787725.381,0.040350234,0.040350234,0.00006 +2-10-2019 21:00,8786530.182,0.028547732,0.028547732,0.00006 +2-10-2019 22:00,8785335.001,0.013913874,0.013913874,0.00006 +2-10-2019 23:00,8784139.838,0.004869856,0.004869856,0.00006 +3-10-2019 0:00,8782944.693,0.002782775,0.002782775,0.00006 +3-10-2019 1:00,8781749.567,0.000695694,0.000695694,0.00006 +3-10-2019 2:00,8780554.461,0.000695694,0.000695694,0.00006 +3-10-2019 3:00,8779359.375,0.001391387,0.001391387,0.00006 +3-10-2019 4:00,8778164.31,0.004869856,0.004869856,0.00006 +3-10-2019 5:00,8776969.266,0.03957076,0.03957076,0.00006 +3-10-2019 6:00,8775774.245,0.065365294,0.065365294,0.00006 +3-10-2019 7:00,8774579.246,0.050810725,0.050810725,0.00006 +3-10-2019 8:00,8773384.271,0.059386043,0.059386043,0.00006 +3-10-2019 9:00,8772189.32,0.0436135,0.0436135,0.00006 +3-10-2019 10:00,8770994.393,0.037054339,0.037054339,0.00006 +3-10-2019 11:00,8769799.492,0.031437375,0.031437375,0.00006 +3-10-2019 12:00,8768604.616,0.02546656,0.02546656,0.00006 +3-10-2019 13:00,8767409.767,0.021566504,0.021566504,0.00006 +3-10-2019 14:00,8766214.945,0.016696648,0.016696648,0.00006 +3-10-2019 15:00,8765020.151,0.018783729,0.018783729,0.00006 +3-10-2019 16:00,8763825.385,0.030664774,0.030664774,0.00006 +3-10-2019 17:00,8762630.647,0.054688333,0.054688333,0.00006 +3-10-2019 18:00,8761435.94,0.056250669,0.056250669,0.00006 +3-10-2019 19:00,8760241.262,0.04946593,0.04946593,0.00006 +3-10-2019 20:00,8759046.615,0.040980859,0.040980859,0.00006 +3-10-2019 21:00,8757852,0.028715914,0.028715914,0.00006 +3-10-2019 22:00,8756657.416,0.013913874,0.013913874,0.00006 +3-10-2019 23:00,8755462.865,0.004869856,0.004869856,0.00006 +4-10-2019 0:00,8754268.347,0.002782775,0.002782775,0.00006 +4-10-2019 1:00,8753073.864,0.000695694,0.000695694,0.00006 +4-10-2019 2:00,8751879.414,0.000695694,0.000695694,0.00006 +4-10-2019 3:00,8750685,0.001391387,0.001391387,0.00006 +4-10-2019 4:00,8749490.621,0.004869856,0.004869856,0.00006 +4-10-2019 5:00,8748296.278,0.039827051,0.039827051,0.00006 +4-10-2019 6:00,8747101.973,0.066952722,0.066952722,0.00006 +4-10-2019 7:00,8745907.705,0.051120118,0.051120118,0.00006 +4-10-2019 8:00,8744713.475,0.060254471,0.060254471,0.00006 +4-10-2019 9:00,8743519.283,0.044136318,0.044136318,0.00006 +4-10-2019 10:00,8742325.131,0.038075369,0.038075369,0.00006 +4-10-2019 11:00,8741131.019,0.032200653,0.032200653,0.00006 +4-10-2019 12:00,8739936.948,0.027072874,0.027072874,0.00006 +4-10-2019 13:00,8738742.918,0.021566504,0.021566504,0.00006 +4-10-2019 14:00,8737548.929,0.016696648,0.016696648,0.00006 +4-10-2019 15:00,8736354.984,0.018783729,0.018783729,0.00006 +4-10-2019 16:00,8735161.081,0.030809343,0.030809343,0.00006 +4-10-2019 17:00,8733967.221,0.055562033,0.055562033,0.00006 +4-10-2019 18:00,8732773.406,0.056804991,0.056804991,0.00006 +4-10-2019 19:00,8731579.636,0.050035425,0.050035425,0.00006 +4-10-2019 20:00,8730385.911,0.041295374,0.041295374,0.00006 +4-10-2019 21:00,8729192.233,0.028762483,0.028762483,0.00006 +4-10-2019 22:00,8727998.601,0.013913874,0.013913874,0.00006 +4-10-2019 23:00,8726805.016,0.004869856,0.004869856,0.00006 +5-10-2019 0:00,8725611.48,0.002782775,0.002782775,0.00006 +5-10-2019 1:00,8724417.992,0.000695694,0.000695694,0.00006 +5-10-2019 2:00,8723224.553,0.000695694,0.000695694,0.00006 +5-10-2019 3:00,8722031.164,0.001391387,0.001391387,0.00006 +5-10-2019 4:00,8720837.825,0.004979979,0.004979979,0.00006 +5-10-2019 5:00,8719644.538,0.040352336,0.040352336,0.00006 +5-10-2019 6:00,8718451.302,0.068669373,0.068669373,0.00006 +5-10-2019 7:00,8717258.118,0.051150966,0.051150966,0.00006 +5-10-2019 8:00,8716064.987,0.061092175,0.061092175,0.00006 +5-10-2019 9:00,8714871.91,0.044239476,0.044239476,0.00006 +5-10-2019 10:00,8713678.886,0.038346323,0.038346323,0.00006 +5-10-2019 11:00,8712485.918,0.032549937,0.032549937,0.00006 +5-10-2019 12:00,8711293.004,0.027812346,0.027812346,0.00006 +5-10-2019 13:00,8710100.147,0.021578241,0.021578241,0.00006 +5-10-2019 14:00,8708907.346,0.016696648,0.016696648,0.00006 +5-10-2019 15:00,8707714.602,0.018783729,0.018783729,0.00006 +5-10-2019 16:00,8706521.916,0.031575164,0.031575164,0.00006 +5-10-2019 17:00,8705329.289,0.056475358,0.056475358,0.00006 +5-10-2019 18:00,8704136.72,0.057488072,0.057488072,0.00006 +5-10-2019 19:00,8702944.211,0.050259867,0.050259867,0.00006 +5-10-2019 20:00,8701751.762,0.041426172,0.041426172,0.00006 +5-10-2019 21:00,8700559.374,0.028799082,0.028799082,0.00006 +5-10-2019 22:00,8699367.048,0.013913874,0.013913874,0.00006 +5-10-2019 23:00,8698174.784,0.004869856,0.004869856,0.00006 +6-10-2019 0:00,8696982.582,0.002782775,0.002782775,0.00006 +6-10-2019 1:00,8695790.443,0.000695694,0.000695694,0.00006 +6-10-2019 2:00,8694598.369,0.000695694,0.000695694,0.00006 +6-10-2019 3:00,8693406.359,0.001391387,0.001391387,0.00006 +6-10-2019 4:00,8692214.414,0.00509663,0.00509663,0.00006 +6-10-2019 5:00,8691022.535,0.040506316,0.040506316,0.00006 +6-10-2019 6:00,8689830.722,0.069331594,0.069331594,0.00006 +6-10-2019 7:00,8688638.976,0.051179551,0.051179551,0.00006 +6-10-2019 8:00,8687447.298,0.06168439,0.06168439,0.00006 +6-10-2019 9:00,8686255.688,0.044418169,0.044418169,0.00006 +6-10-2019 10:00,8685064.146,0.038776367,0.038776367,0.00006 +6-10-2019 11:00,8683872.674,0.033271882,0.033271882,0.00006 +6-10-2019 12:00,8682681.273,0.02869125,0.02869125,0.00006 +6-10-2019 13:00,8681489.941,0.02181206,0.02181206,0.00006 +6-10-2019 14:00,8680298.682,0.016751029,0.016751029,0.00006 +6-10-2019 15:00,8679107.493,0.019019316,0.019019316,0.00006 +6-10-2019 16:00,8677916.378,0.032923382,0.032923382,0.00006 +6-10-2019 17:00,8676725.335,0.05722841,0.05722841,0.00006 +6-10-2019 18:00,8675534.367,0.057850099,0.057850099,0.00006 +6-10-2019 19:00,8674343.472,0.050485174,0.050485174,0.00006 +6-10-2019 20:00,8673152.653,0.041588831,0.041588831,0.00006 +6-10-2019 21:00,8671961.909,0.028848607,0.028848607,0.00006 +6-10-2019 22:00,8670771.241,0.013913874,0.013913874,0.00006 +6-10-2019 23:00,8669580.65,0.004869856,0.004869856,0.00006 +7-10-2019 0:00,8668390.136,0.002892555,0.002892555,0.00006 +7-10-2019 1:00,8667199.701,0.000695694,0.000695694,0.00006 +7-10-2019 2:00,8666009.344,0.000695694,0.000695694,0.00006 +7-10-2019 3:00,8664819.066,0.001479167,0.001479167,0.00006 +7-10-2019 4:00,8663628.868,0.005315214,0.005315214,0.00006 +7-10-2019 5:00,8662438.75,0.040920492,0.040920492,0.00006 +7-10-2019 6:00,8661248.714,0.071871369,0.071871369,0.00006 +7-10-2019 7:00,8660058.759,0.055768935,0.055768935,0.00006 +7-10-2019 8:00,8658868.887,0.064568463,0.064568463,0.00006 +7-10-2019 9:00,8657679.097,0.044586361,0.044586361,0.00006 +7-10-2019 10:00,8656489.391,0.039068312,0.039068312,0.00006 +7-10-2019 11:00,8655299.769,0.033704567,0.033704567,0.00006 +7-10-2019 12:00,8654110.232,0.028938353,0.028938353,0.00006 +7-10-2019 13:00,8652920.78,0.021929039,0.021929039,0.00006 +7-10-2019 14:00,8651731.414,0.016804346,0.016804346,0.00006 +7-10-2019 15:00,8650542.134,0.019122624,0.019122624,0.00006 +7-10-2019 16:00,8649352.942,0.033125359,0.033125359,0.00006 +7-10-2019 17:00,8648163.838,0.057294148,0.057294148,0.00006 +7-10-2019 18:00,8646974.822,0.057903437,0.057903437,0.00006 +7-10-2019 19:00,8645785.895,0.050513263,0.050513263,0.00006 +7-10-2019 20:00,8644597.057,0.044073879,0.044073879,0.00006 +7-10-2019 21:00,8643408.31,0.033510036,0.033510036,0.00006 +7-10-2019 22:00,8642219.654,0.016196921,0.016196921,0.00006 +7-10-2019 23:00,8641031.089,0.005653542,0.005653542,0.00006 +8-10-2019 0:00,8639842.616,0.003043629,0.003043629,0.00006 +8-10-2019 1:00,8638654.236,0.000695694,0.000695694,0.00006 +8-10-2019 2:00,8637465.949,0.000695694,0.000695694,0.00006 +8-10-2019 3:00,8636277.756,0.001391387,0.001391387,0.00006 +8-10-2019 4:00,8635089.658,0.00521454,0.00521454,0.00006 +8-10-2019 5:00,8633901.655,0.040617154,0.040617154,0.00006 +8-10-2019 6:00,8632713.747,0.070949116,0.070949116,0.00006 +8-10-2019 7:00,8631525.936,0.056981429,0.056981429,0.00006 +8-10-2019 8:00,8630338.222,0.065684303,0.065684303,0.00006 +8-10-2019 9:00,8629150.605,0.046114741,0.046114741,0.00006 +8-10-2019 10:00,8627963.087,0.038605977,0.038605977,0.00006 +8-10-2019 11:00,8626775.667,0.032914967,0.032914967,0.00006 +8-10-2019 12:00,8625588.347,0.028309295,0.028309295,0.00006 +8-10-2019 13:00,8624401.127,0.021607351,0.021607351,0.00006 +8-10-2019 14:00,8623214.007,0.016700762,0.016700762,0.00006 +8-10-2019 15:00,8622026.989,0.018830957,0.018830957,0.00006 +8-10-2019 16:00,8620840.073,0.032078811,0.032078811,0.00006 +8-10-2019 17:00,8619653.259,0.05684447,0.05684447,0.00006 +8-10-2019 18:00,8618466.548,0.057523522,0.057523522,0.00006 +8-10-2019 19:00,8617279.94,0.050260838,0.050260838,0.00006 +8-10-2019 20:00,8616093.437,0.041663781,0.041663781,0.00006 +8-10-2019 21:00,8614907.039,0.031577525,0.031577525,0.00006 +8-10-2019 22:00,8613720.747,0.016092824,0.016092824,0.00006 +8-10-2019 23:00,8612534.56,0.005652883,0.005652883,0.00006 +9-10-2019 0:00,8611348.48,0.003045729,0.003045729,0.00006 +9-10-2019 1:00,8610162.508,0.000695694,0.000695694,0.00006 +9-10-2019 2:00,8608976.644,0.000695694,0.000695694,0.00006 +9-10-2019 3:00,8607790.888,0.001391387,0.001391387,0.00006 +9-10-2019 4:00,8606605.241,0.005140028,0.005140028,0.00006 +9-10-2019 5:00,8605419.704,0.040478245,0.040478245,0.00006 +9-10-2019 6:00,8604234.278,0.070533046,0.070533046,0.00006 +9-10-2019 7:00,8603048.962,0.05708247,0.05708247,0.00006 +9-10-2019 8:00,8601863.758,0.066277892,0.066277892,0.00006 +9-10-2019 9:00,8600678.667,0.049727973,0.049727973,0.00006 +9-10-2019 10:00,8599493.688,0.040343749,0.040343749,0.00006 +9-10-2019 11:00,8598308.822,0.03493432,0.03493432,0.00006 +9-10-2019 12:00,8597124.071,0.028384925,0.028384925,0.00006 +9-10-2019 13:00,8595939.434,0.021609519,0.021609519,0.00006 +9-10-2019 14:00,8594754.913,0.016708316,0.016708316,0.00006 +9-10-2019 15:00,8593570.507,0.018852734,0.018852734,0.00006 +9-10-2019 16:00,8592386.218,0.032493328,0.032493328,0.00006 +9-10-2019 17:00,8591202.046,0.057029832,0.057029832,0.00006 +9-10-2019 18:00,8590017.992,0.057618081,0.057618081,0.00006 +9-10-2019 19:00,8588834.056,0.056742286,0.056742286,0.00006 +9-10-2019 20:00,8587650.239,0.052755626,0.052755626,0.00006 +9-10-2019 21:00,8586466.542,0.034596475,0.034596475,0.00006 +9-10-2019 22:00,8585282.965,0.016559857,0.016559857,0.00006 +9-10-2019 23:00,8584099.508,0.005859846,0.005859846,0.00006 +10-10-2019 0:00,8582916.173,0.003090215,0.003090215,0.00006 +10-10-2019 1:00,8581732.96,0.000695694,0.000695694,0.00006 +10-10-2019 2:00,8580549.869,0.000695694,0.000695694,0.00006 +10-10-2019 3:00,8579366.901,0.001391387,0.001391387,0.00006 +10-10-2019 4:00,8578184.058,0.005193737,0.005193737,0.00006 +10-10-2019 5:00,8577001.338,0.040574177,0.040574177,0.00006 +10-10-2019 6:00,8575818.744,0.072036861,0.072036861,0.00006 +10-10-2019 7:00,8574636.276,0.057815762,0.057815762,0.00006 +10-10-2019 8:00,8573453.933,0.066560333,0.066560333,0.00006 +10-10-2019 9:00,8572271.718,0.049884471,0.049884471,0.00006 +10-10-2019 10:00,8571089.629,0.038028088,0.038028088,0.00006 +10-10-2019 11:00,8569907.669,0.032347744,0.032347744,0.00006 +10-10-2019 12:00,8568725.838,0.027778835,0.027778835,0.00006 +10-10-2019 13:00,8567544.136,0.021601694,0.021601694,0.00006 +10-10-2019 14:00,8566362.564,0.016696648,0.016696648,0.00006 +10-10-2019 15:00,8565181.122,0.018783729,0.018783729,0.00006 +10-10-2019 16:00,8563999.811,0.031842735,0.031842735,0.00006 +10-10-2019 17:00,8562818.632,0.056670794,0.056670794,0.00006 +10-10-2019 18:00,8561637.586,0.057415882,0.057415882,0.00006 +10-10-2019 19:00,8560456.672,0.050898515,0.050898515,0.00006 +10-10-2019 20:00,8559275.892,0.04710526,0.04710526,0.00006 +10-10-2019 21:00,8558095.246,0.033253138,0.033253138,0.00006 +10-10-2019 22:00,8556914.734,0.016170039,0.016170039,0.00006 +10-10-2019 23:00,8555734.358,0.005645879,0.005645879,0.00006 +11-10-2019 0:00,8554554.118,0.003041152,0.003041152,0.00006 +11-10-2019 1:00,8553374.015,0.000695694,0.000695694,0.00006 +11-10-2019 2:00,8552194.048,0.000695694,0.000695694,0.00006 +11-10-2019 3:00,8551014.22,0.001391387,0.001391387,0.00006 +11-10-2019 4:00,8549834.53,0.005000995,0.005000995,0.00006 +11-10-2019 5:00,8548654.978,0.040150228,0.040150228,0.00006 +11-10-2019 6:00,8547475.567,0.06945637,0.06945637,0.00006 +11-10-2019 7:00,8546296.295,0.056993354,0.056993354,0.00006 +11-10-2019 8:00,8545117.165,0.065544308,0.065544308,0.00006 +11-10-2019 9:00,8543938.176,0.050238225,0.050238225,0.00006 +11-10-2019 10:00,8542759.329,0.042022402,0.042022402,0.00006 +11-10-2019 11:00,8541580.624,0.036086495,0.036086495,0.00006 +11-10-2019 12:00,8540402.063,0.02789757,0.02789757,0.00006 +11-10-2019 13:00,8539223.645,0.021578159,0.021578159,0.00006 +11-10-2019 14:00,8538045.373,0.016696648,0.016696648,0.00006 +11-10-2019 15:00,8536867.245,0.018783729,0.018783729,0.00006 +11-10-2019 16:00,8535689.262,0.031515591,0.031515591,0.00006 +11-10-2019 17:00,8534511.426,0.056208871,0.056208871,0.00006 +11-10-2019 18:00,8533333.737,0.056938766,0.056938766,0.00006 +11-10-2019 19:00,8532156.196,0.050325302,0.050325302,0.00006 +11-10-2019 20:00,8530978.802,0.044628911,0.044628911,0.00006 +11-10-2019 21:00,8529801.557,0.031642978,0.031642978,0.00006 +11-10-2019 22:00,8528624.462,0.015400087,0.015400087,0.00006 +11-10-2019 23:00,8527447.516,0.005394305,0.005394305,0.00006 +12-10-2019 0:00,8526270.721,0.002964416,0.002964416,0.00006 +12-10-2019 1:00,8525094.077,0.000695694,0.000695694,0.00006 +12-10-2019 2:00,8523917.584,0.000695694,0.000695694,0.00006 +12-10-2019 3:00,8522741.244,0.001391387,0.001391387,0.00006 +12-10-2019 4:00,8521565.057,0.004869856,0.004869856,0.00006 +12-10-2019 5:00,8520389.024,0.039693333,0.039693333,0.00006 +12-10-2019 6:00,8519213.144,0.067622334,0.067622334,0.00006 +12-10-2019 7:00,8518037.42,0.055012665,0.055012665,0.00006 +12-10-2019 8:00,8516861.85,0.062657383,0.062657383,0.00006 +12-10-2019 9:00,8515686.437,0.045916132,0.045916132,0.00006 +12-10-2019 10:00,8514511.18,0.038621744,0.038621744,0.00006 +12-10-2019 11:00,8513336.081,0.033509283,0.033509283,0.00006 +12-10-2019 12:00,8512161.139,0.027850982,0.027850982,0.00006 +12-10-2019 13:00,8510986.355,0.021580821,0.021580821,0.00006 +12-10-2019 14:00,8509811.731,0.016696648,0.016696648,0.00006 +12-10-2019 15:00,8508637.266,0.018801975,0.018801975,0.00006 +12-10-2019 16:00,8507462.961,0.031740508,0.031740508,0.00006 +12-10-2019 17:00,8506288.817,0.056464685,0.056464685,0.00006 +12-10-2019 18:00,8505114.834,0.057259905,0.057259905,0.00006 +12-10-2019 19:00,8503941.014,0.056739179,0.056739179,0.00006 +12-10-2019 20:00,8502767.356,0.051474854,0.051474854,0.00006 +12-10-2019 21:00,8501593.861,0.033914249,0.033914249,0.00006 +12-10-2019 22:00,8500420.53,0.016314859,0.016314859,0.00006 +12-10-2019 23:00,8499247.363,0.005784069,0.005784069,0.00006 +13-10-2019 0:00,8498074.362,0.003057987,0.003057987,0.00006 +13-10-2019 1:00,8496901.526,0.000725762,0.000725762,0.00006 +13-10-2019 2:00,8495728.856,0.000695694,0.000695694,0.00006 +13-10-2019 3:00,8494556.353,0.001391387,0.001391387,0.00006 +13-10-2019 4:00,8493384.018,0.004936395,0.004936395,0.00006 +13-10-2019 5:00,8492211.85,0.040010235,0.040010235,0.00006 +13-10-2019 6:00,8491039.852,0.069360906,0.069360906,0.00006 +13-10-2019 7:00,8489868.022,0.057773136,0.057773136,0.00006 +13-10-2019 8:00,8488696.362,0.065229861,0.065229861,0.00006 +13-10-2019 9:00,8487524.873,0.049323507,0.049323507,0.00006 +13-10-2019 10:00,8486353.555,0.039895357,0.039895357,0.00006 +13-10-2019 11:00,8485182.408,0.032470305,0.032470305,0.00006 +13-10-2019 12:00,8484011.434,0.026791464,0.026791464,0.00006 +13-10-2019 13:00,8482840.632,0.021566504,0.021566504,0.00006 +13-10-2019 14:00,8481670.004,0.016696648,0.016696648,0.00006 +13-10-2019 15:00,8480499.55,0.018783729,0.018783729,0.00006 +13-10-2019 16:00,8479329.271,0.030610522,0.030610522,0.00006 +13-10-2019 17:00,8478159.167,0.054445336,0.054445336,0.00006 +13-10-2019 18:00,8476989.239,0.055638979,0.055638979,0.00006 +13-10-2019 19:00,8475819.487,0.049437122,0.049437122,0.00006 +13-10-2019 20:00,8474649.912,0.041036665,0.041036665,0.00006 +13-10-2019 21:00,8473480.515,0.028671303,0.028671303,0.00006 +13-10-2019 22:00,8472311.297,0.013913874,0.013913874,0.00006 +13-10-2019 23:00,8471142.257,0.004869856,0.004869856,0.00006 +14-10-2019 0:00,8469973.396,0.002782775,0.002782775,0.00006 +14-10-2019 1:00,8468804.716,0.000695694,0.000695694,0.00006 +14-10-2019 2:00,8467636.216,0.000695694,0.000695694,0.00006 +14-10-2019 3:00,8466467.898,0.001391387,0.001391387,0.00006 +14-10-2019 4:00,8465299.762,0.004869856,0.004869856,0.00006 +14-10-2019 5:00,8464131.808,0.039450823,0.039450823,0.00006 +14-10-2019 6:00,8462964.037,0.066267524,0.066267524,0.00006 +14-10-2019 7:00,8461796.449,0.052485047,0.052485047,0.00006 +14-10-2019 8:00,8460629.047,0.059692292,0.059692292,0.00006 +14-10-2019 9:00,8459461.828,0.043967785,0.043967785,0.00006 +14-10-2019 10:00,8458294.796,0.037974991,0.037974991,0.00006 +14-10-2019 11:00,8457127.949,0.032292628,0.032292628,0.00006 +14-10-2019 12:00,8455961.29,0.02659414,0.02659414,0.00006 +14-10-2019 13:00,8454794.817,0.021566504,0.021566504,0.00006 +14-10-2019 14:00,8453628.532,0.016696648,0.016696648,0.00006 +14-10-2019 15:00,8452462.436,0.018783729,0.018783729,0.00006 +14-10-2019 16:00,8451296.529,0.030636156,0.030636156,0.00006 +14-10-2019 17:00,8450130.812,0.054592362,0.054592362,0.00006 +14-10-2019 18:00,8448965.285,0.055847343,0.055847343,0.00006 +14-10-2019 19:00,8447799.948,0.049422263,0.049422263,0.00006 +14-10-2019 20:00,8446634.804,0.040904977,0.040904977,0.00006 +14-10-2019 21:00,8445469.851,0.028637588,0.028637588,0.00006 +14-10-2019 22:00,8444305.091,0.013913874,0.013913874,0.00006 +14-10-2019 23:00,8443140.524,0.004869856,0.004869856,0.00006 +15-10-2019 0:00,8441976.151,0.002782775,0.002782775,0.00006 +15-10-2019 1:00,8440811.973,0.000695694,0.000695694,0.00006 +15-10-2019 2:00,8439647.99,0.000695694,0.000695694,0.00006 +15-10-2019 3:00,8438484.202,0.001391387,0.001391387,0.00006 +15-10-2019 4:00,8437320.611,0.004869856,0.004869856,0.00006 +15-10-2019 5:00,8436157.216,0.039058651,0.039058651,0.00006 +15-10-2019 6:00,8434994.019,0.064786096,0.064786096,0.00006 +15-10-2019 7:00,8433831.02,0.050916505,0.050916505,0.00006 +15-10-2019 8:00,8432668.22,0.059320363,0.059320363,0.00006 +15-10-2019 9:00,8431505.619,0.043658799,0.043658799,0.00006 +15-10-2019 10:00,8430343.218,0.037308782,0.037308782,0.00006 +15-10-2019 11:00,8429181.017,0.031905956,0.031905956,0.00006 +15-10-2019 12:00,8428019.018,0.025968527,0.025968527,0.00006 +15-10-2019 13:00,8426857.22,0.021566504,0.021566504,0.00006 +15-10-2019 14:00,8425695.624,0.016696648,0.016696648,0.00006 +15-10-2019 15:00,8424534.231,0.018783729,0.018783729,0.00006 +15-10-2019 16:00,8423373.042,0.030610522,0.030610522,0.00006 +15-10-2019 17:00,8422212.057,0.05449419,0.05449419,0.00006 +15-10-2019 18:00,8421051.276,0.055596542,0.055596542,0.00006 +15-10-2019 19:00,8419890.701,0.049340477,0.049340477,0.00006 +15-10-2019 20:00,8418730.331,0.040981606,0.040981606,0.00006 +15-10-2019 21:00,8417570.168,0.028656625,0.028656625,0.00006 +15-10-2019 22:00,8416410.212,0.013913874,0.013913874,0.00006 +15-10-2019 23:00,8415250.463,0.004869856,0.004869856,0.00006 +16-10-2019 0:00,8414090.923,0.002782775,0.002782775,0.00006 +16-10-2019 1:00,8412931.591,0.000695694,0.000695694,0.00006 +16-10-2019 2:00,8411772.469,0.000695694,0.000695694,0.00006 +16-10-2019 3:00,8410613.557,0.001391387,0.001391387,0.00006 +16-10-2019 4:00,8409454.856,0.004869856,0.004869856,0.00006 +16-10-2019 5:00,8408296.366,0.039327299,0.039327299,0.00006 +16-10-2019 6:00,8407138.087,0.065644245,0.065644245,0.00006 +16-10-2019 7:00,8405980.022,0.050921182,0.050921182,0.00006 +16-10-2019 8:00,8404822.169,0.059344736,0.059344736,0.00006 +16-10-2019 9:00,8403664.529,0.043738736,0.043738736,0.00006 +16-10-2019 10:00,8402507.104,0.037489641,0.037489641,0.00006 +16-10-2019 11:00,8401349.894,0.031738882,0.031738882,0.00006 +16-10-2019 12:00,8400192.898,0.026106352,0.026106352,0.00006 +16-10-2019 13:00,8399036.119,0.021566504,0.021566504,0.00006 +16-10-2019 14:00,8397879.557,0.016696648,0.016696648,0.00006 +16-10-2019 15:00,8396723.212,0.018783729,0.018783729,0.00006 +16-10-2019 16:00,8395567.084,0.030699846,0.030699846,0.00006 +16-10-2019 17:00,8394411.175,0.054803869,0.054803869,0.00006 +16-10-2019 18:00,8393255.485,0.056280669,0.056280669,0.00006 +16-10-2019 19:00,8392100.014,0.04957642,0.04957642,0.00006 +16-10-2019 20:00,8390944.763,0.041003742,0.041003742,0.00006 +16-10-2019 21:00,8389789.733,0.028662327,0.028662327,0.00006 +16-10-2019 22:00,8388634.925,0.013913874,0.013913874,0.00006 +16-10-2019 23:00,8387480.338,0.004869856,0.004869856,0.00006 +17-10-2019 0:00,8386325.974,0.002782775,0.002782775,0.00006 +17-10-2019 1:00,8385171.833,0.000695694,0.000695694,0.00006 +17-10-2019 2:00,8384017.916,0.000695694,0.000695694,0.00006 +17-10-2019 3:00,8382864.223,0.001391387,0.001391387,0.00006 +17-10-2019 4:00,8381710.755,0.004869856,0.004869856,0.00006 +17-10-2019 5:00,8380557.512,0.039302387,0.039302387,0.00006 +17-10-2019 6:00,8379404.496,0.065578386,0.065578386,0.00006 +17-10-2019 7:00,8378251.706,0.054564042,0.054564042,0.00006 +17-10-2019 8:00,8377099.143,0.060941744,0.060941744,0.00006 +17-10-2019 9:00,8375946.808,0.04403369,0.04403369,0.00006 +17-10-2019 10:00,8374794.702,0.037950511,0.037950511,0.00006 +17-10-2019 11:00,8373642.825,0.031734711,0.031734711,0.00006 +17-10-2019 12:00,8372491.177,0.026297968,0.026297968,0.00006 +17-10-2019 13:00,8371339.76,0.021566504,0.021566504,0.00006 +17-10-2019 14:00,8370188.573,0.016696648,0.016696648,0.00006 +17-10-2019 15:00,8369037.618,0.018783729,0.018783729,0.00006 +17-10-2019 16:00,8367886.895,0.031025314,0.031025314,0.00006 +17-10-2019 17:00,8366736.404,0.055639142,0.055639142,0.00006 +17-10-2019 18:00,8365586.147,0.056648094,0.056648094,0.00006 +17-10-2019 19:00,8364436.123,0.049853453,0.049853453,0.00006 +17-10-2019 20:00,8363286.334,0.041122573,0.041122573,0.00006 +17-10-2019 21:00,8362136.78,0.028760973,0.028760973,0.00006 +17-10-2019 22:00,8360987.461,0.014789036,0.014789036,0.00006 +17-10-2019 23:00,8359838.378,0.005392381,0.005392381,0.00006 +18-10-2019 0:00,8358689.532,0.00297947,0.00297947,0.00006 +18-10-2019 1:00,8357540.924,0.000695694,0.000695694,0.00006 +18-10-2019 2:00,8356392.553,0.000695694,0.000695694,0.00006 +18-10-2019 3:00,8355244.421,0.001391387,0.001391387,0.00006 +18-10-2019 4:00,8354096.528,0.004869856,0.004869856,0.00006 +18-10-2019 5:00,8352948.875,0.039467141,0.039467141,0.00006 +18-10-2019 6:00,8351801.462,0.066538964,0.066538964,0.00006 +18-10-2019 7:00,8350654.289,0.057323197,0.057323197,0.00006 +18-10-2019 8:00,8349507.359,0.06452633,0.06452633,0.00006 +18-10-2019 9:00,8348360.67,0.049324551,0.049324551,0.00006 +18-10-2019 10:00,8347214.224,0.039527735,0.039527735,0.00006 +18-10-2019 11:00,8346068.021,0.03330194,0.03330194,0.00006 +18-10-2019 12:00,8344922.062,0.027485559,0.027485559,0.00006 +18-10-2019 13:00,8343776.348,0.021566504,0.021566504,0.00006 +18-10-2019 14:00,8342630.878,0.016696648,0.016696648,0.00006 +18-10-2019 15:00,8341485.654,0.018918954,0.018918954,0.00006 +18-10-2019 16:00,8340340.676,0.031843777,0.031843777,0.00006 +18-10-2019 17:00,8339195.945,0.056120504,0.056120504,0.00006 +18-10-2019 18:00,8338051.462,0.058800681,0.058800681,0.00006 +18-10-2019 19:00,8336907.226,0.05933962,0.05933962,0.00006 +18-10-2019 20:00,8335763.239,0.050469784,0.050469784,0.00006 +18-10-2019 21:00,8334619.5,0.033312228,0.033312228,0.00006 +18-10-2019 22:00,8333476.012,0.016102004,0.016102004,0.00006 +18-10-2019 23:00,8332332.774,0.005685882,0.005685882,0.00006 +19-10-2019 0:00,8331189.787,0.003029842,0.003029842,0.00006 +19-10-2019 1:00,8330047.051,0.0007888,0.0007888,0.00006 +19-10-2019 2:00,8328904.567,0.000695694,0.000695694,0.00006 +19-10-2019 3:00,8327762.336,0.001391387,0.001391387,0.00006 +19-10-2019 4:00,8326620.359,0.004869856,0.004869856,0.00006 +19-10-2019 5:00,8325478.635,0.039715304,0.039715304,0.00006 +19-10-2019 6:00,8324337.165,0.068831565,0.068831565,0.00006 +19-10-2019 7:00,8323195.95,0.062601564,0.062601564,0.00006 +19-10-2019 8:00,8322054.991,0.071643526,0.071643526,0.00006 +19-10-2019 9:00,8320914.289,0.060561765,0.060561765,0.00006 +19-10-2019 10:00,8319773.843,0.050257444,0.050257444,0.00006 +19-10-2019 11:00,8318633.654,0.043639178,0.043639178,0.00006 +19-10-2019 12:00,8317493.723,0.029949509,0.029949509,0.00006 +19-10-2019 13:00,8316354.051,0.021988584,0.021988584,0.00006 +19-10-2019 14:00,8315214.638,0.016696648,0.016696648,0.00006 +19-10-2019 15:00,8314075.484,0.019035579,0.019035579,0.00006 +19-10-2019 16:00,8312936.591,0.032771256,0.032771256,0.00006 +19-10-2019 17:00,8311797.959,0.059756533,0.059756533,0.00006 +19-10-2019 18:00,8310659.588,0.07056705,0.07056705,0.00006 +19-10-2019 19:00,8309521.479,0.066628546,0.066628546,0.00006 +19-10-2019 20:00,8308383.633,0.054169828,0.054169828,0.00006 +19-10-2019 21:00,8307246.05,0.035267574,0.035267574,0.00006 +19-10-2019 22:00,8306108.731,0.01715688,0.01715688,0.00006 +19-10-2019 23:00,8304971.676,0.00624201,0.00624201,0.00006 +20-10-2019 0:00,8303834.886,0.003171883,0.003171883,0.00006 +20-10-2019 1:00,8302698.362,0.000811471,0.000811471,0.00006 +20-10-2019 2:00,8301562.104,0.000695694,0.000695694,0.00006 +20-10-2019 3:00,8300426.112,0.001391387,0.001391387,0.00006 +20-10-2019 4:00,8299290.388,0.00492912,0.00492912,0.00006 +20-10-2019 5:00,8298154.932,0.040119735,0.040119735,0.00006 +20-10-2019 6:00,8297019.744,0.072325118,0.072325118,0.00006 +20-10-2019 7:00,8295884.825,0.069858088,0.069858088,0.00006 +20-10-2019 8:00,8294750.176,0.080863112,0.080863112,0.00006 +20-10-2019 9:00,8293615.797,0.076110322,0.076110322,0.00006 +20-10-2019 10:00,8292481.689,0.065406717,0.065406717,0.00006 +20-10-2019 11:00,8291347.852,0.060704799,0.060704799,0.00006 +20-10-2019 12:00,8290214.288,0.037324684,0.037324684,0.00006 +20-10-2019 13:00,8289080.995,0.024698034,0.024698034,0.00006 +20-10-2019 14:00,8287947.976,0.016974722,0.016974722,0.00006 +20-10-2019 15:00,8286815.231,0.020389224,0.020389224,0.00006 +20-10-2019 16:00,8285682.76,0.035593645,0.035593645,0.00006 +20-10-2019 17:00,8284550.564,0.075501974,0.075501974,0.00006 +20-10-2019 18:00,8283418.643,0.085522153,0.085522153,0.00006 +20-10-2019 19:00,8282286.999,0.078116024,0.078116024,0.00006 +20-10-2019 20:00,8281155.631,0.059860128,0.059860128,0.00006 +20-10-2019 21:00,8280024.54,0.037375452,0.037375452,0.00006 +20-10-2019 22:00,8278893.727,0.01775352,0.01775352,0.00006 +20-10-2019 23:00,8277763.192,0.006425395,0.006425395,0.00006 +21-10-2019 0:00,8276632.936,0.003222629,0.003222629,0.00006 +21-10-2019 1:00,8275502.96,0.000831579,0.000831579,0.00006 +21-10-2019 2:00,8274373.264,0.000695694,0.000695694,0.00006 +21-10-2019 3:00,8273243.849,0.001391387,0.001391387,0.00006 +21-10-2019 4:00,8272114.715,0.004989277,0.004989277,0.00006 +21-10-2019 5:00,8270985.863,0.040419536,0.040419536,0.00006 +21-10-2019 6:00,8269857.293,0.074693311,0.074693311,0.00006 +21-10-2019 7:00,8268729.007,0.073550483,0.073550483,0.00006 +21-10-2019 8:00,8267601.004,0.083848767,0.083848767,0.00006 +21-10-2019 9:00,8266473.285,0.078827034,0.078827034,0.00006 +21-10-2019 10:00,8265345.851,0.06839185,0.06839185,0.00006 +21-10-2019 11:00,8264218.702,0.063996508,0.063996508,0.00006 +21-10-2019 12:00,8263091.839,0.039501961,0.039501961,0.00006 +21-10-2019 13:00,8261965.263,0.025208924,0.025208924,0.00006 +21-10-2019 14:00,8260838.973,0.017144677,0.017144677,0.00006 +21-10-2019 15:00,8259712.972,0.020755784,0.020755784,0.00006 +21-10-2019 16:00,8258587.259,0.037568045,0.037568045,0.00006 +21-10-2019 17:00,8257461.834,0.080330204,0.080330204,0.00006 +21-10-2019 18:00,8256336.699,0.089378484,0.089378484,0.00006 +21-10-2019 19:00,8255211.854,0.0801498,0.0801498,0.00006 +21-10-2019 20:00,8254087.299,0.060528515,0.060528515,0.00006 +21-10-2019 21:00,8252963.036,0.037757655,0.037757655,0.00006 +21-10-2019 22:00,8251839.064,0.018073981,0.018073981,0.00006 +21-10-2019 23:00,8250715.385,0.006476038,0.006476038,0.00006 +22-10-2019 0:00,8249591.998,0.003230305,0.003230305,0.00006 +22-10-2019 1:00,8248468.905,0.000834932,0.000834932,0.00006 +22-10-2019 2:00,8247346.106,0.000695694,0.000695694,0.00006 +22-10-2019 3:00,8246223.602,0.001391387,0.001391387,0.00006 +22-10-2019 4:00,8245101.392,0.004990567,0.004990567,0.00006 +22-10-2019 5:00,8243979.479,0.040415791,0.040415791,0.00006 +22-10-2019 6:00,8242857.862,0.074631795,0.074631795,0.00006 +22-10-2019 7:00,8241736.541,0.073095677,0.073095677,0.00006 +22-10-2019 8:00,8240615.519,0.083931717,0.083931717,0.00006 +22-10-2019 9:00,8239494.794,0.078212942,0.078212942,0.00006 +22-10-2019 10:00,8238374.368,0.065853818,0.065853818,0.00006 +22-10-2019 11:00,8237254.241,0.06153838,0.06153838,0.00006 +22-10-2019 12:00,8236134.414,0.038400366,0.038400366,0.00006 +22-10-2019 13:00,8235014.888,0.024415648,0.024415648,0.00006 +22-10-2019 14:00,8233895.662,0.016946729,0.016946729,0.00006 +22-10-2019 15:00,8232776.738,0.020464417,0.020464417,0.00006 +22-10-2019 16:00,8231658.116,0.037112804,0.037112804,0.00006 +22-10-2019 17:00,8230539.796,0.080916713,0.080916713,0.00006 +22-10-2019 18:00,8229421.78,0.093602511,0.093602511,0.00006 +22-10-2019 19:00,8228304.068,0.085278332,0.085278332,0.00006 +22-10-2019 20:00,8227186.66,0.065313487,0.065313487,0.00006 +22-10-2019 21:00,8226069.557,0.040406166,0.040406166,0.00006 +22-10-2019 22:00,8224952.76,0.019291126,0.019291126,0.00006 +22-10-2019 23:00,8223836.269,0.006968593,0.006968593,0.00006 +23-10-2019 0:00,8222720.084,0.003378653,0.003378653,0.00006 +23-10-2019 1:00,8221604.207,0.000880779,0.000880779,0.00006 +23-10-2019 2:00,8220488.637,0.000695694,0.000695694,0.00006 +23-10-2019 3:00,8219373.376,0.001637708,0.001637708,0.00006 +23-10-2019 4:00,8218258.425,0.007463257,0.007463257,0.00006 +23-10-2019 5:00,8217143.782,0.052970254,0.052970254,0.00006 +23-10-2019 6:00,8216029.45,0.098926077,0.098926077,0.00006 +23-10-2019 7:00,8214915.428,0.097608131,0.097608131,0.00006 +23-10-2019 8:00,8213801.718,0.095234697,0.095234697,0.00006 +23-10-2019 9:00,8212688.32,0.090199548,0.090199548,0.00006 +23-10-2019 10:00,8211575.234,0.078526586,0.078526586,0.00006 +23-10-2019 11:00,8210462.461,0.079828882,0.079828882,0.00006 +23-10-2019 12:00,8209350.001,0.048071641,0.048071641,0.00006 +23-10-2019 13:00,8208237.856,0.026134145,0.026134145,0.00006 +23-10-2019 14:00,8207126.026,0.017370317,0.017370317,0.00006 +23-10-2019 15:00,8206014.511,0.020068867,0.020068867,0.00006 +23-10-2019 16:00,8204903.311,0.036785147,0.036785147,0.00006 +23-10-2019 17:00,8203792.429,0.074826334,0.074826334,0.00006 +23-10-2019 18:00,8202681.863,0.093154262,0.093154262,0.00006 +23-10-2019 19:00,8201571.614,0.083769439,0.083769439,0.00006 +23-10-2019 20:00,8200461.684,0.063274353,0.063274353,0.00006 +23-10-2019 21:00,8199352.073,0.038798744,0.038798744,0.00006 +23-10-2019 22:00,8198242.781,0.018394429,0.018394429,0.00006 +23-10-2019 23:00,8197133.809,0.006619271,0.006619271,0.00006 +24-10-2019 0:00,8196025.157,0.003265218,0.003265218,0.00006 +24-10-2019 1:00,8194916.826,0.000850616,0.000850616,0.00006 +24-10-2019 2:00,8193808.817,0.000695694,0.000695694,0.00006 +24-10-2019 3:00,8192701.13,0.001413838,0.001413838,0.00006 +24-10-2019 4:00,8191593.766,0.005165287,0.005165287,0.00006 +24-10-2019 5:00,8190486.725,0.042263694,0.042263694,0.00006 +24-10-2019 6:00,8189380.008,0.0800195,0.0800195,0.00006 +24-10-2019 7:00,8188273.615,0.080496355,0.080496355,0.00006 +24-10-2019 8:00,8187167.547,0.088414593,0.088414593,0.00006 +24-10-2019 9:00,8186061.805,0.08407179,0.08407179,0.00006 +24-10-2019 10:00,8184956.389,0.073866318,0.073866318,0.00006 +24-10-2019 11:00,8183851.3,0.07041474,0.07041474,0.00006 +24-10-2019 12:00,8182746.538,0.042886713,0.042886713,0.00006 +24-10-2019 13:00,8181642.103,0.025735938,0.025735938,0.00006 +24-10-2019 14:00,8180537.998,0.017153611,0.017153611,0.00006 +24-10-2019 15:00,8179434.221,0.020061939,0.020061939,0.00006 +24-10-2019 16:00,8178330.773,0.035113977,0.035113977,0.00006 +24-10-2019 17:00,8177227.656,0.066327121,0.066327121,0.00006 +24-10-2019 18:00,8176124.87,0.079660541,0.079660541,0.00006 +24-10-2019 19:00,8175022.415,0.076062677,0.076062677,0.00006 +24-10-2019 20:00,8173920.291,0.059007047,0.059007047,0.00006 +24-10-2019 21:00,8172818.5,0.037077603,0.037077603,0.00006 +24-10-2019 22:00,8171717.042,0.017815862,0.017815862,0.00006 +24-10-2019 23:00,8170615.917,0.006381786,0.006381786,0.00006 +25-10-2019 0:00,8169515.127,0.003196623,0.003196623,0.00006 +25-10-2019 1:00,8168414.671,0.000830998,0.000830998,0.00006 +25-10-2019 2:00,8167314.55,0.000695694,0.000695694,0.00006 +25-10-2019 3:00,8166214.766,0.001391387,0.001391387,0.00006 +25-10-2019 4:00,8165115.317,0.004901688,0.004901688,0.00006 +25-10-2019 5:00,8164016.206,0.040024229,0.040024229,0.00006 +25-10-2019 6:00,8162917.431,0.072802004,0.072802004,0.00006 +25-10-2019 7:00,8161818.995,0.07224214,0.07224214,0.00006 +25-10-2019 8:00,8160720.898,0.084062604,0.084062604,0.00006 +25-10-2019 9:00,8159623.14,0.078534977,0.078534977,0.00006 +25-10-2019 10:00,8158525.721,0.069498723,0.069498723,0.00006 +25-10-2019 11:00,8157428.643,0.065999845,0.065999845,0.00006 +25-10-2019 12:00,8156331.905,0.040965642,0.040965642,0.00006 +25-10-2019 13:00,8155235.51,0.02567986,0.02567986,0.00006 +25-10-2019 14:00,8154139.456,0.017394205,0.017394205,0.00006 +25-10-2019 15:00,8153043.744,0.020779302,0.020779302,0.00006 +25-10-2019 16:00,8151948.376,0.036594693,0.036594693,0.00006 +25-10-2019 17:00,8150853.351,0.075558004,0.075558004,0.00006 +25-10-2019 18:00,8149758.671,0.084684828,0.084684828,0.00006 +25-10-2019 19:00,8148664.335,0.074716939,0.074716939,0.00006 +25-10-2019 20:00,8147570.345,0.057009426,0.057009426,0.00006 +25-10-2019 21:00,8146476.701,0.036161595,0.036161595,0.00006 +25-10-2019 22:00,8145383.403,0.017265281,0.017265281,0.00006 +25-10-2019 23:00,8144290.453,0.006147909,0.006147909,0.00006 +26-10-2019 0:00,8143197.85,0.003132734,0.003132734,0.00006 +26-10-2019 1:00,8142105.595,0.000808601,0.000808601,0.00006 +26-10-2019 2:00,8141013.689,0.000695694,0.000695694,0.00006 +26-10-2019 3:00,8139922.132,0.001391387,0.001391387,0.00006 +26-10-2019 4:00,8138830.925,0.004869856,0.004869856,0.00006 +26-10-2019 5:00,8137740.069,0.039474025,0.039474025,0.00006 +26-10-2019 6:00,8136649.563,0.069274529,0.069274529,0.00006 +26-10-2019 7:00,8135559.409,0.065949118,0.065949118,0.00006 +26-10-2019 8:00,8134469.607,0.07422025,0.07422025,0.00006 +26-10-2019 9:00,8133380.158,0.060099086,0.060099086,0.00006 +26-10-2019 10:00,8132291.062,0.046103623,0.046103623,0.00006 +26-10-2019 11:00,8131202.32,0.03844846,0.03844846,0.00006 +26-10-2019 12:00,8130113.933,0.0268445,0.0268445,0.00006 +26-10-2019 13:00,8129025.9,0.021566504,0.021566504,0.00006 +26-10-2019 14:00,8127938.223,0.016696648,0.016696648,0.00006 +26-10-2019 15:00,8126850.901,0.018789939,0.018789939,0.00006 +26-10-2019 16:00,8125763.937,0.031072442,0.031072442,0.00006 +26-10-2019 17:00,8124677.329,0.055768072,0.055768072,0.00006 +26-10-2019 18:00,8123591.079,0.057212539,0.057212539,0.00006 +26-10-2019 19:00,8122505.188,0.05161521,0.05161521,0.00006 +26-10-2019 20:00,8121419.655,0.044753824,0.044753824,0.00006 +26-10-2019 21:00,8120334.482,0.030965678,0.030965678,0.00006 +26-10-2019 22:00,8119249.668,0.015515647,0.015515647,0.00006 +26-10-2019 23:00,8118165.215,0.005718961,0.005718961,0.00006 +27-10-2019 0:00,8117081.124,0.003126915,0.003126915,0.00006 +27-10-2019 1:00,8115997.393,0.001053627,0.001053627,0.00006 +27-10-2019 2:00,8114914.025,0.000810398,0.000810398,0.00006 +27-10-2019 3:00,8113831.02,0.001391387,0.001391387,0.00006 +27-10-2019 4:00,8112748.378,0.004869856,0.004869856,0.00006 +27-10-2019 5:00,8111666.1,0.038958846,0.038958846,0.00006 +27-10-2019 6:00,8110584.186,0.065488389,0.065488389,0.00006 +27-10-2019 7:00,8109502.638,0.054671589,0.054671589,0.00006 +27-10-2019 8:00,8108421.454,0.067997922,0.067997922,0.00006 +27-10-2019 9:00,8107340.637,0.05316274,0.05316274,0.00006 +27-10-2019 10:00,8106260.187,0.057181486,0.057181486,0.00006 +27-10-2019 11:00,8105180.103,0.057159175,0.057159175,0.00006 +27-10-2019 12:00,8104100.388,0.043635849,0.043635849,0.00006 +27-10-2019 13:00,8103021.041,0.028450739,0.028450739,0.00006 +27-10-2019 14:00,8101942.062,0.017802634,0.017802634,0.00006 +27-10-2019 15:00,8100863.453,0.022020153,0.022020153,0.00006 +27-10-2019 16:00,8099785.214,0.042690823,0.042690823,0.00006 +27-10-2019 17:00,8098707.346,0.089606739,0.089606739,0.00006 +27-10-2019 18:00,8097629.848,0.100610143,0.100610143,0.00006 +27-10-2019 19:00,8096552.723,0.092868609,0.092868609,0.00006 +27-10-2019 20:00,8095475.969,0.078721016,0.078721016,0.00006 +27-10-2019 21:00,8094399.588,0.052472736,0.052472736,0.00006 +27-10-2019 22:00,8093323.58,0.025756338,0.025756338,0.00006 +27-10-2019 23:00,8092247.947,0.013281577,0.013281577,0.00006 +28-10-2019 0:00,8091172.687,0.008702855,0.008702855,0.00006 +28-10-2019 1:00,8090097.803,0.002261083,0.002261083,0.00006 +28-10-2019 2:00,8089023.294,0.000893663,0.000893663,0.00006 +28-10-2019 3:00,8087949.161,0.001391387,0.001391387,0.00006 +28-10-2019 4:00,8086875.405,0.00545811,0.00545811,0.00006 +28-10-2019 5:00,8085802.026,0.044416466,0.044416466,0.00006 +28-10-2019 6:00,8084729.025,0.088257716,0.088257716,0.00006 +28-10-2019 7:00,8083656.402,0.098944471,0.098944471,0.00006 +28-10-2019 8:00,8082584.157,0.090513281,0.090513281,0.00006 +28-10-2019 9:00,8081512.293,0.085463828,0.085463828,0.00006 +28-10-2019 10:00,8080440.808,0.069406044,0.069406044,0.00006 +28-10-2019 11:00,8079369.703,0.064998135,0.064998135,0.00006 +28-10-2019 12:00,8078298.98,0.050956818,0.050956818,0.00006 +28-10-2019 13:00,8077228.638,0.035562918,0.035562918,0.00006 +28-10-2019 14:00,8076158.678,0.018415618,0.018415618,0.00006 +28-10-2019 15:00,8075089.101,0.024289945,0.024289945,0.00006 +28-10-2019 16:00,8074019.907,0.059856394,0.059856394,0.00006 +28-10-2019 17:00,8072951.097,0.114281204,0.114281204,0.00006 +28-10-2019 18:00,8071882.671,0.124504075,0.124504075,0.00006 +28-10-2019 19:00,8070814.63,0.16800252,0.16800252,0.00006 +28-10-2019 20:00,8069746.975,0.167342864,0.167342864,0.00006 +28-10-2019 21:00,8068679.706,0.112498587,0.112498587,0.00006 +28-10-2019 22:00,8067612.823,0.055263567,0.055263567,0.00006 +28-10-2019 23:00,8066546.327,0.024821612,0.024821612,0.00006 +29-10-2019 0:00,8065480.219,0.010151507,0.010151507,0.00006 +29-10-2019 1:00,8064414.498,0.002559275,0.002559275,0.00006 +29-10-2019 2:00,8063349.167,0.00093263,0.00093263,0.00006 +29-10-2019 3:00,8062284.225,0.002068701,0.002068701,0.00006 +29-10-2019 4:00,8061219.673,0.007181907,0.007181907,0.00006 +29-10-2019 5:00,8060155.511,0.056231644,0.056231644,0.00006 +29-10-2019 6:00,8059091.74,0.117900306,0.117900306,0.00006 +29-10-2019 7:00,8058028.36,0.133342706,0.133342706,0.00006 +29-10-2019 8:00,8056965.373,0.116007119,0.116007119,0.00006 +29-10-2019 9:00,8055902.778,0.102055223,0.102055223,0.00006 +29-10-2019 10:00,8054840.576,0.091994609,0.091994609,0.00006 +29-10-2019 11:00,8053778.768,0.099565436,0.099565436,0.00006 +29-10-2019 12:00,8052717.354,0.052825052,0.052825052,0.00006 +29-10-2019 13:00,8051656.334,0.036815197,0.036815197,0.00006 +29-10-2019 14:00,8050595.71,0.019000833,0.019000833,0.00006 +29-10-2019 15:00,8049535.482,0.025411497,0.025411497,0.00006 +29-10-2019 16:00,8048475.65,0.074699224,0.074699224,0.00006 +29-10-2019 17:00,8047416.215,0.149597722,0.149597722,0.00006 +29-10-2019 18:00,8046357.178,0.206214764,0.206214764,0.00006 +29-10-2019 19:00,8045298.538,0.223787507,0.223787507,0.00006 +29-10-2019 20:00,8044240.297,0.192993375,0.192993375,0.00006 +29-10-2019 21:00,8043182.456,0.130297263,0.130297263,0.00006 +29-10-2019 22:00,8042125.013,0.064535076,0.064535076,0.00006 +29-10-2019 23:00,8041067.971,0.029039889,0.029039889,0.00006 +30-10-2019 0:00,8040011.33,0.012115473,0.012115473,0.00006 +30-10-2019 1:00,8038955.09,0.00320172,0.00320172,0.00006 +30-10-2019 2:00,8037899.252,0.00167321,0.00167321,0.00006 +30-10-2019 3:00,8036843.816,0.002974257,0.002974257,0.00006 +30-10-2019 4:00,8035788.783,0.009471302,0.009471302,0.00006 +30-10-2019 5:00,8034734.154,0.072719647,0.072719647,0.00006 +30-10-2019 6:00,8033679.928,0.159091661,0.159091661,0.00006 +30-10-2019 7:00,8032626.107,0.196791231,0.196791231,0.00006 +30-10-2019 8:00,8031572.692,0.144301003,0.144301003,0.00006 +30-10-2019 9:00,8030519.681,0.144520248,0.144520248,0.00006 +30-10-2019 10:00,8029467.077,0.14198142,0.14198142,0.00006 +30-10-2019 11:00,8028414.88,0.162908361,0.162908361,0.00006 +30-10-2019 12:00,8027363.09,0.110030842,0.110030842,0.00006 +30-10-2019 13:00,8026311.707,0.043046815,0.043046815,0.00006 +30-10-2019 14:00,8025260.733,0.019572289,0.019572289,0.00006 +30-10-2019 15:00,8024210.168,0.030472471,0.030472471,0.00006 +30-10-2019 16:00,8023160.012,0.099680081,0.099680081,0.00006 +30-10-2019 17:00,8022110.266,0.1936965,0.1936965,0.00006 +30-10-2019 18:00,8021060.931,0.265587552,0.265587552,0.00006 +30-10-2019 19:00,8020012.007,0.26722867,0.26722867,0.00006 +30-10-2019 20:00,8018963.494,0.225411124,0.225411124,0.00006 +30-10-2019 21:00,8017915.393,0.149610135,0.149610135,0.00006 +30-10-2019 22:00,8016867.705,0.074348321,0.074348321,0.00006 +30-10-2019 23:00,8015820.43,0.034904484,0.034904484,0.00006 +31-10-2019 0:00,8014773.569,0.014240225,0.014240225,0.00006 +31-10-2019 1:00,8013727.122,0.004535511,0.004535511,0.00006 +31-10-2019 2:00,8012681.09,0.002587476,0.002587476,0.00006 +31-10-2019 3:00,8011635.474,0.003743456,0.003743456,0.00006 +31-10-2019 4:00,8010590.273,0.013715156,0.013715156,0.00006 +31-10-2019 5:00,8009545.488,0.102867618,0.102867618,0.00006 +31-10-2019 6:00,8008501.121,0.226511497,0.226511497,0.00006 +31-10-2019 7:00,8007457.171,0.276868014,0.276868014,0.00006 +31-10-2019 8:00,8006413.639,0.185189106,0.185189106,0.00006 +31-10-2019 9:00,8005370.525,0.191520192,0.191520192,0.00006 +31-10-2019 10:00,8004327.831,0.217817867,0.217817867,0.00006 +31-10-2019 11:00,8003285.556,0.254073806,0.254073806,0.00006 +31-10-2019 12:00,8002243.701,0.190121555,0.190121555,0.00006 +31-10-2019 13:00,8001202.267,0.10041344,0.10041344,0.00006 +31-10-2019 14:00,8000161.255,0.04768507,0.04768507,0.00006 +31-10-2019 15:00,7999120.664,0.109128861,0.109128861,0.00006 +31-10-2019 16:00,7998080.495,0.242172378,0.242172378,0.00006 +31-10-2019 17:00,7997040.75,0.351604098,0.351604098,0.00006 +31-10-2019 18:00,7996001.427,0.344716167,0.344716167,0.00006 +31-10-2019 19:00,7994962.529,0.324320121,0.324320121,0.00006 +31-10-2019 20:00,7993924.055,0.268332219,0.268332219,0.00006 +31-10-2019 21:00,7992886.006,0.18055084,0.18055084,0.00006 +31-10-2019 22:00,7991848.383,0.08962929,0.08962929,0.00006 +31-10-2019 23:00,7990811.185,0.040710313,0.040710313,0.00006 +1-11-2019 0:00,7989774.414,0.016501105,0.016501105,0.00006 +1-11-2019 1:00,7988738.071,0.005493383,0.005493383,0.00006 +1-11-2019 2:00,7987702.155,0.003137499,0.003137499,0.00006 +1-11-2019 3:00,7986666.667,0.005049497,0.005049497,0.00006 +1-11-2019 4:00,7985631.608,0.020944978,0.020944978,0.00006 +1-11-2019 5:00,7984596.978,0.130734573,0.130734573,0.00006 +1-11-2019 6:00,7983562.777,0.270752496,0.270752496,0.00006 +1-11-2019 7:00,7982529.008,0.336729773,0.336729773,0.00006 +1-11-2019 8:00,7981495.669,0.275224335,0.275224335,0.00006 +1-11-2019 9:00,7980462.761,0.290622854,0.290622854,0.00006 +1-11-2019 10:00,7979430.285,0.319607498,0.319607498,0.00006 +1-11-2019 11:00,7978398.242,0.42616353,0.42616353,0.00006 +1-11-2019 12:00,7977366.632,0.369744855,0.369744855,0.00006 +1-11-2019 13:00,7976335.455,0.201966138,0.201966138,0.00006 +1-11-2019 14:00,7975304.712,0.116105836,0.116105836,0.00006 +1-11-2019 15:00,7974274.404,0.276089147,0.276089147,0.00006 +1-11-2019 16:00,7973244.531,0.311857894,0.311857894,0.00006 +1-11-2019 17:00,7972215.094,0.341200158,0.341200158,0.00006 +1-11-2019 18:00,7971186.092,0.321713851,0.321713851,0.00006 +1-11-2019 19:00,7970157.528,0.288436811,0.288436811,0.00006 +1-11-2019 20:00,7969129.4,0.231096357,0.231096357,0.00006 +1-11-2019 21:00,7968101.711,0.148493396,0.148493396,0.00006 +1-11-2019 22:00,7967074.459,0.06994136,0.06994136,0.00006 +1-11-2019 23:00,7966047.646,0.03057872,0.03057872,0.00006 +2-11-2019 0:00,7965021.273,0.012273195,0.012273195,0.00006 +2-11-2019 1:00,7963995.34,0.003466282,0.003466282,0.00006 +2-11-2019 2:00,7962969.847,0.001916125,0.001916125,0.00006 +2-11-2019 3:00,7961944.794,0.002597412,0.002597412,0.00006 +2-11-2019 4:00,7960920.184,0.008969454,0.008969454,0.00006 +2-11-2019 5:00,7959896.015,0.066404705,0.066404705,0.00006 +2-11-2019 6:00,7958872.289,0.141339317,0.141339317,0.00006 +2-11-2019 7:00,7957849.005,0.176277323,0.176277323,0.00006 +2-11-2019 8:00,7956826.166,0.164815881,0.164815881,0.00006 +2-11-2019 9:00,7955803.77,0.201532598,0.201532598,0.00006 +2-11-2019 10:00,7954781.819,0.214607394,0.214607394,0.00006 +2-11-2019 11:00,7953760.313,0.287270767,0.287270767,0.00006 +2-11-2019 12:00,7952739.253,0.252159107,0.252159107,0.00006 +2-11-2019 13:00,7951718.639,0.12713034,0.12713034,0.00006 +2-11-2019 14:00,7950698.471,0.063646282,0.063646282,0.00006 +2-11-2019 15:00,7949678.751,0.125934168,0.125934168,0.00006 +2-11-2019 16:00,7948659.479,0.233621333,0.233621333,0.00006 +2-11-2019 17:00,7947640.654,0.280384252,0.280384252,0.00006 +2-11-2019 18:00,7946622.279,0.276102212,0.276102212,0.00006 +2-11-2019 19:00,7945604.353,0.255943627,0.255943627,0.00006 +2-11-2019 20:00,7944586.877,0.208139144,0.208139144,0.00006 +2-11-2019 21:00,7943569.851,0.136077125,0.136077125,0.00006 +2-11-2019 22:00,7942553.276,0.064806432,0.064806432,0.00006 +2-11-2019 23:00,7941537.152,0.028926662,0.028926662,0.00006 +3-11-2019 0:00,7940521.481,0.011806846,0.011806846,0.00006 +3-11-2019 1:00,7939506.261,0.003214377,0.003214377,0.00006 +3-11-2019 2:00,7938491.495,0.001470969,0.001470969,0.00006 +3-11-2019 3:00,7937477.183,0.002316292,0.002316292,0.00006 +3-11-2019 4:00,7936463.324,0.007601381,0.007601381,0.00006 +3-11-2019 5:00,7935449.92,0.060881232,0.060881232,0.00006 +3-11-2019 6:00,7934436.971,0.131669553,0.131669553,0.00006 +3-11-2019 7:00,7933424.477,0.173017118,0.173017118,0.00006 +3-11-2019 8:00,7932412.44,0.162148876,0.162148876,0.00006 +3-11-2019 9:00,7931400.859,0.195112074,0.195112074,0.00006 +3-11-2019 10:00,7930389.735,0.227337876,0.227337876,0.00006 +3-11-2019 11:00,7929379.07,0.299403542,0.299403542,0.00006 +3-11-2019 12:00,7928368.862,0.259673751,0.259673751,0.00006 +3-11-2019 13:00,7927359.113,0.140358444,0.140358444,0.00006 +3-11-2019 14:00,7926349.823,0.071392265,0.071392265,0.00006 +3-11-2019 15:00,7925340.993,0.15865089,0.15865089,0.00006 +3-11-2019 16:00,7924332.623,0.252563857,0.252563857,0.00006 +3-11-2019 17:00,7923324.714,0.291349736,0.291349736,0.00006 +3-11-2019 18:00,7922317.266,0.284591171,0.284591171,0.00006 +3-11-2019 19:00,7921310.281,0.260896738,0.260896738,0.00006 +3-11-2019 20:00,7920303.757,0.213996223,0.213996223,0.00006 +3-11-2019 21:00,7919297.696,0.139639219,0.139639219,0.00006 +3-11-2019 22:00,7918292.099,0.066224988,0.066224988,0.00006 +3-11-2019 23:00,7917286.966,0.029785415,0.029785415,0.00006 +4-11-2019 0:00,7916282.297,0.012111044,0.012111044,0.00006 +4-11-2019 1:00,7915278.092,0.003184223,0.003184223,0.00006 +4-11-2019 2:00,7914274.354,0.001403212,0.001403212,0.00006 +4-11-2019 3:00,7913271.081,0.002208718,0.002208718,0.00006 +4-11-2019 4:00,7912268.275,0.007441899,0.007441899,0.00006 +4-11-2019 5:00,7911265.936,0.058575615,0.058575615,0.00006 +4-11-2019 6:00,7910264.064,0.124744539,0.124744539,0.00006 +4-11-2019 7:00,7909262.66,0.163383635,0.163383635,0.00006 +4-11-2019 8:00,7908261.725,0.157005923,0.157005923,0.00006 +4-11-2019 9:00,7907261.259,0.195629116,0.195629116,0.00006 +4-11-2019 10:00,7906261.263,0.229055747,0.229055747,0.00006 +4-11-2019 11:00,7905261.736,0.304514383,0.304514383,0.00006 +4-11-2019 12:00,7904262.68,0.264938211,0.264938211,0.00006 +4-11-2019 13:00,7903264.096,0.142365308,0.142365308,0.00006 +4-11-2019 14:00,7902265.983,0.07149224,0.07149224,0.00006 +4-11-2019 15:00,7901268.342,0.156032835,0.156032835,0.00006 +4-11-2019 16:00,7900271.173,0.255314147,0.255314147,0.00006 +4-11-2019 17:00,7899274.478,0.293235649,0.293235649,0.00006 +4-11-2019 18:00,7898278.257,0.285045068,0.285045068,0.00006 +4-11-2019 19:00,7897282.509,0.26107269,0.26107269,0.00006 +4-11-2019 20:00,7896287.237,0.212200924,0.212200924,0.00006 +4-11-2019 21:00,7895292.439,0.137487317,0.137487317,0.00006 +4-11-2019 22:00,7894298.118,0.065652767,0.065652767,0.00006 +4-11-2019 23:00,7893304.272,0.029047131,0.029047131,0.00006 +5-11-2019 0:00,7892310.904,0.011920413,0.011920413,0.00006 +5-11-2019 1:00,7891318.012,0.003198136,0.003198136,0.00006 +5-11-2019 2:00,7890325.599,0.001365882,0.001365882,0.00006 +5-11-2019 3:00,7889333.663,0.002181859,0.002181859,0.00006 +5-11-2019 4:00,7888342.207,0.007786024,0.007786024,0.00006 +5-11-2019 5:00,7887351.229,0.059661517,0.059661517,0.00006 +5-11-2019 6:00,7886360.732,0.130081324,0.130081324,0.00006 +5-11-2019 7:00,7885370.715,0.174023558,0.174023558,0.00006 +5-11-2019 8:00,7884381.178,0.163167945,0.163167945,0.00006 +5-11-2019 9:00,7883392.123,0.203664242,0.203664242,0.00006 +5-11-2019 10:00,7882403.55,0.240397899,0.240397899,0.00006 +5-11-2019 11:00,7881415.46,0.321814574,0.321814574,0.00006 +5-11-2019 12:00,7880427.852,0.280870654,0.280870654,0.00006 +5-11-2019 13:00,7879440.727,0.152537814,0.152537814,0.00006 +5-11-2019 14:00,7878454.086,0.07979524,0.07979524,0.00006 +5-11-2019 15:00,7877467.93,0.18941633,0.18941633,0.00006 +5-11-2019 16:00,7876482.259,0.266589669,0.266589669,0.00006 +5-11-2019 17:00,7875497.073,0.305873616,0.305873616,0.00006 +5-11-2019 18:00,7874512.373,0.297515443,0.297515443,0.00006 +5-11-2019 19:00,7873528.159,0.268449109,0.268449109,0.00006 +5-11-2019 20:00,7872544.432,0.216430444,0.216430444,0.00006 +5-11-2019 21:00,7871561.193,0.140527529,0.140527529,0.00006 +5-11-2019 22:00,7870578.442,0.066954953,0.066954953,0.00006 +5-11-2019 23:00,7869596.179,0.029661297,0.029661297,0.00006 +6-11-2019 0:00,7868614.405,0.012116166,0.012116166,0.00006 +6-11-2019 1:00,7867633.12,0.003237265,0.003237265,0.00006 +6-11-2019 2:00,7866652.326,0.001395316,0.001395316,0.00006 +6-11-2019 3:00,7865672.022,0.002237225,0.002237225,0.00006 +6-11-2019 4:00,7864692.209,0.008175007,0.008175007,0.00006 +6-11-2019 5:00,7863712.887,0.061329477,0.061329477,0.00006 +6-11-2019 6:00,7862734.057,0.135514979,0.135514979,0.00006 +6-11-2019 7:00,7861755.72,0.184316481,0.184316481,0.00006 +6-11-2019 8:00,7860777.876,0.16981018,0.16981018,0.00006 +6-11-2019 9:00,7859800.525,0.211682273,0.211682273,0.00006 +6-11-2019 10:00,7858823.668,0.23914738,0.23914738,0.00006 +6-11-2019 11:00,7857847.306,0.29293502,0.29293502,0.00006 +6-11-2019 12:00,7856871.438,0.274284701,0.274284701,0.00006 +6-11-2019 13:00,7855896.067,0.150401,0.150401,0.00006 +6-11-2019 14:00,7854921.191,0.081447892,0.081447892,0.00006 +6-11-2019 15:00,7853946.811,0.215432428,0.215432428,0.00006 +6-11-2019 16:00,7852972.929,0.291185424,0.291185424,0.00006 +6-11-2019 17:00,7851999.544,0.323707068,0.323707068,0.00006 +6-11-2019 18:00,7851026.657,0.311567474,0.311567474,0.00006 +6-11-2019 19:00,7850054.269,0.285372818,0.285372818,0.00006 +6-11-2019 20:00,7849082.38,0.23281921,0.23281921,0.00006 +6-11-2019 21:00,7848110.99,0.150539177,0.150539177,0.00006 +6-11-2019 22:00,7847140.1,0.071731808,0.071731808,0.00006 +6-11-2019 23:00,7846169.711,0.032144906,0.032144906,0.00006 +7-11-2019 0:00,7845199.822,0.012897459,0.012897459,0.00006 +7-11-2019 1:00,7844230.435,0.003450291,0.003450291,0.00006 +7-11-2019 2:00,7843261.551,0.001757341,0.001757341,0.00006 +7-11-2019 3:00,7842293.168,0.002562721,0.002562721,0.00006 +7-11-2019 4:00,7841325.289,0.010105306,0.010105306,0.00006 +7-11-2019 5:00,7840357.913,0.070883712,0.070883712,0.00006 +7-11-2019 6:00,7839391.041,0.159673349,0.159673349,0.00006 +7-11-2019 7:00,7838424.674,0.215809709,0.215809709,0.00006 +7-11-2019 8:00,7837458.811,0.188844299,0.188844299,0.00006 +7-11-2019 9:00,7836493.454,0.227916948,0.227916948,0.00006 +7-11-2019 10:00,7835528.603,0.265519811,0.265519811,0.00006 +7-11-2019 11:00,7834564.259,0.360046625,0.360046625,0.00006 +7-11-2019 12:00,7833600.421,0.323134996,0.323134996,0.00006 +7-11-2019 13:00,7832637.091,0.17678525,0.17678525,0.00006 +7-11-2019 14:00,7831674.269,0.098797994,0.098797994,0.00006 +7-11-2019 15:00,7830711.955,0.25182278,0.25182278,0.00006 +7-11-2019 16:00,7829750.15,0.29370375,0.29370375,0.00006 +7-11-2019 17:00,7828788.855,0.329397498,0.329397498,0.00006 +7-11-2019 18:00,7827828.07,0.320475371,0.320475371,0.00006 +7-11-2019 19:00,7826867.795,0.293972512,0.293972512,0.00006 +7-11-2019 20:00,7825908.031,0.242787294,0.242787294,0.00006 +7-11-2019 21:00,7824948.778,0.159265515,0.159265515,0.00006 +7-11-2019 22:00,7823990.038,0.077059628,0.077059628,0.00006 +7-11-2019 23:00,7823031.809,0.034487628,0.034487628,0.00006 +8-11-2019 0:00,7822074.094,0.01408645,0.01408645,0.00006 +8-11-2019 1:00,7821116.892,0.004082875,0.004082875,0.00006 +8-11-2019 2:00,7820160.204,0.002235433,0.002235433,0.00006 +8-11-2019 3:00,7819204.03,0.003501802,0.003501802,0.00006 +8-11-2019 4:00,7818248.371,0.014524977,0.014524977,0.00006 +8-11-2019 5:00,7817293.228,0.09715294,0.09715294,0.00006 +8-11-2019 6:00,7816338.6,0.222982064,0.222982064,0.00006 +8-11-2019 7:00,7815384.489,0.290405354,0.290405354,0.00006 +8-11-2019 8:00,7814430.895,0.196784789,0.196784789,0.00006 +8-11-2019 9:00,7813477.818,0.19341262,0.19341262,0.00006 +8-11-2019 10:00,7812525.258,0.201669825,0.201669825,0.00006 +8-11-2019 11:00,7811573.217,0.2498236,0.2498236,0.00006 +8-11-2019 12:00,7810621.695,0.204129544,0.204129544,0.00006 +8-11-2019 13:00,7809670.692,0.101932143,0.101932143,0.00006 +8-11-2019 14:00,7808720.209,0.051898899,0.051898899,0.00006 +8-11-2019 15:00,7807770.246,0.111310946,0.111310946,0.00006 +8-11-2019 16:00,7806820.804,0.277935633,0.277935633,0.00006 +8-11-2019 17:00,7805871.883,0.365756705,0.365756705,0.00006 +8-11-2019 18:00,7804923.484,0.36194509,0.36194509,0.00006 +8-11-2019 19:00,7803975.607,0.338972742,0.338972742,0.00006 +8-11-2019 20:00,7803028.253,0.27448066,0.27448066,0.00006 +8-11-2019 21:00,7802081.422,0.175623349,0.175623349,0.00006 +8-11-2019 22:00,7801135.114,0.085327521,0.085327521,0.00006 +8-11-2019 23:00,7800189.331,0.038273913,0.038273913,0.00006 +9-11-2019 0:00,7799244.073,0.015492185,0.015492185,0.00006 +9-11-2019 1:00,7798299.339,0.004991216,0.004991216,0.00006 +9-11-2019 2:00,7797355.131,0.002782552,0.002782552,0.00006 +9-11-2019 3:00,7796411.45,0.00364949,0.00364949,0.00006 +9-11-2019 4:00,7795468.295,0.018635055,0.018635055,0.00006 +9-11-2019 5:00,7794525.667,0.110702277,0.110702277,0.00006 +9-11-2019 6:00,7793583.566,0.241993694,0.241993694,0.00006 +9-11-2019 7:00,7792641.994,0.312873003,0.312873003,0.00006 +9-11-2019 8:00,7791700.95,0.25462844,0.25462844,0.00006 +9-11-2019 9:00,7790760.435,0.273618484,0.273618484,0.00006 +9-11-2019 10:00,7789820.45,0.307215018,0.307215018,0.00006 +9-11-2019 11:00,7788880.995,0.415071311,0.415071311,0.00006 +9-11-2019 12:00,7787942.07,0.355265787,0.355265787,0.00006 +9-11-2019 13:00,7787003.676,0.205456577,0.205456577,0.00006 +9-11-2019 14:00,7786065.813,0.116501033,0.116501033,0.00006 +9-11-2019 15:00,7785128.483,0.309430765,0.309430765,0.00006 +9-11-2019 16:00,7784191.685,0.33427575,0.33427575,0.00006 +9-11-2019 17:00,7783255.419,0.371951178,0.371951178,0.00006 +9-11-2019 18:00,7782319.687,0.355673887,0.355673887,0.00006 +9-11-2019 19:00,7781384.489,0.327249352,0.327249352,0.00006 +9-11-2019 20:00,7780449.826,0.270086396,0.270086396,0.00006 +9-11-2019 21:00,7779515.697,0.17815619,0.17815619,0.00006 +9-11-2019 22:00,7778582.103,0.088240908,0.088240908,0.00006 +9-11-2019 23:00,7777649.045,0.040430548,0.040430548,0.00006 +10-11-2019 0:00,7776716.523,0.016491345,0.016491345,0.00006 +10-11-2019 1:00,7775784.538,0.005585942,0.005585942,0.00006 +10-11-2019 2:00,7774853.091,0.003276159,0.003276159,0.00006 +10-11-2019 3:00,7773922.181,0.005207194,0.005207194,0.00006 +10-11-2019 4:00,7772991.809,0.027172168,0.027172168,0.00006 +10-11-2019 5:00,7772061.976,0.147069925,0.147069925,0.00006 +10-11-2019 6:00,7771132.682,0.320073331,0.320073331,0.00006 +10-11-2019 7:00,7770203.927,0.40607925,0.40607925,0.00006 +10-11-2019 8:00,7769275.713,0.281721367,0.281721367,0.00006 +10-11-2019 9:00,7768348.039,0.250508905,0.250508905,0.00006 +10-11-2019 10:00,7767420.906,0.24149905,0.24149905,0.00006 +10-11-2019 11:00,7766494.315,0.310303262,0.310303262,0.00006 +10-11-2019 12:00,7765568.265,0.25247953,0.25247953,0.00006 +10-11-2019 13:00,7764642.758,0.126798286,0.126798286,0.00006 +10-11-2019 14:00,7763717.795,0.061682655,0.061682655,0.00006 +10-11-2019 15:00,7762793.374,0.139440123,0.139440123,0.00006 +10-11-2019 16:00,7761869.497,0.351093072,0.351093072,0.00006 +10-11-2019 17:00,7760946.165,0.4209121,0.4209121,0.00006 +10-11-2019 18:00,7760023.378,0.417608015,0.417608015,0.00006 +10-11-2019 19:00,7759101.136,0.391958681,0.391958681,0.00006 +10-11-2019 20:00,7758179.439,0.32618848,0.32618848,0.00006 +10-11-2019 21:00,7757258.289,0.213740435,0.213740435,0.00006 +10-11-2019 22:00,7756337.686,0.100326205,0.100326205,0.00006 +10-11-2019 23:00,7755417.63,0.045559921,0.045559921,0.00006 +11-11-2019 0:00,7754498.122,0.018749196,0.018749196,0.00006 +11-11-2019 1:00,7753579.161,0.006590454,0.006590454,0.00006 +11-11-2019 2:00,7752660.75,0.004399751,0.004399751,0.00006 +11-11-2019 3:00,7751742.887,0.007820808,0.007820808,0.00006 +11-11-2019 4:00,7750825.574,0.036735146,0.036735146,0.00006 +11-11-2019 5:00,7749908.811,0.171234642,0.171234642,0.00006 +11-11-2019 6:00,7748992.599,0.352820045,0.352820045,0.00006 +11-11-2019 7:00,7748076.938,0.445324761,0.445324761,0.00006 +11-11-2019 8:00,7747161.828,0.371995902,0.371995902,0.00006 +11-11-2019 9:00,7746247.27,0.36592176,0.36592176,0.00006 +11-11-2019 10:00,7745333.264,0.378135663,0.378135663,0.00006 +11-11-2019 11:00,7744419.811,0.518083497,0.518083497,0.00006 +11-11-2019 12:00,7743506.912,0.453160188,0.453160188,0.00006 +11-11-2019 13:00,7742594.566,0.278213577,0.278213577,0.00006 +11-11-2019 14:00,7741682.775,0.212440935,0.212440935,0.00006 +11-11-2019 15:00,7740771.539,0.38956082,0.38956082,0.00006 +11-11-2019 16:00,7739860.857,0.397540034,0.397540034,0.00006 +11-11-2019 17:00,7738950.732,0.426342792,0.426342792,0.00006 +11-11-2019 18:00,7738041.162,0.40880514,0.40880514,0.00006 +11-11-2019 19:00,7737132.149,0.373831624,0.373831624,0.00006 +11-11-2019 20:00,7736223.694,0.308366734,0.308366734,0.00006 +11-11-2019 21:00,7735315.795,0.200479616,0.200479616,0.00006 +11-11-2019 22:00,7734408.455,0.096239446,0.096239446,0.00006 +11-11-2019 23:00,7733501.674,0.042149913,0.042149913,0.00006 +12-11-2019 0:00,7732595.451,0.017486928,0.017486928,0.00006 +12-11-2019 1:00,7731689.788,0.006049166,0.006049166,0.00006 +12-11-2019 2:00,7730784.684,0.003535081,0.003535081,0.00006 +12-11-2019 3:00,7729880.141,0.006040166,0.006040166,0.00006 +12-11-2019 4:00,7728976.159,0.031363512,0.031363512,0.00006 +12-11-2019 5:00,7728072.738,0.153208067,0.153208067,0.00006 +12-11-2019 6:00,7727169.879,0.328906207,0.328906207,0.00006 +12-11-2019 7:00,7726267.582,0.427414941,0.427414941,0.00006 +12-11-2019 8:00,7725365.848,0.516237891,0.516237891,0.00006 +12-11-2019 9:00,7724464.676,0.396961124,0.396961124,0.00006 +12-11-2019 10:00,7723564.069,0.404330456,0.404330456,0.00006 +12-11-2019 11:00,7722664.026,0.56029097,0.56029097,0.00006 +12-11-2019 12:00,7721764.547,0.435214769,0.435214769,0.00006 +12-11-2019 13:00,7720865.633,0.271235664,0.271235664,0.00006 +12-11-2019 14:00,7719967.284,0.389115626,0.389115626,0.00006 +12-11-2019 15:00,7719069.502,0.408764333,0.408764333,0.00006 +12-11-2019 16:00,7718172.286,0.412194383,0.412194383,0.00006 +12-11-2019 17:00,7717275.636,0.440781685,0.440781685,0.00006 +12-11-2019 18:00,7716379.554,0.422633047,0.422633047,0.00006 +12-11-2019 19:00,7715484.04,0.387743666,0.387743666,0.00006 +12-11-2019 20:00,7714589.094,0.319465034,0.319465034,0.00006 +12-11-2019 21:00,7713694.717,0.206234036,0.206234036,0.00006 +12-11-2019 22:00,7712800.909,0.098049504,0.098049504,0.00006 +12-11-2019 23:00,7711907.67,0.042547771,0.042547771,0.00006 +13-11-2019 0:00,7711015.002,0.017799569,0.017799569,0.00006 +13-11-2019 1:00,7710122.904,0.006079431,0.006079431,0.00006 +13-11-2019 2:00,7709231.377,0.003655834,0.003655834,0.00006 +13-11-2019 3:00,7708340.421,0.006236482,0.006236482,0.00006 +13-11-2019 4:00,7707450.038,0.032296584,0.032296584,0.00006 +13-11-2019 5:00,7706560.226,0.154201726,0.154201726,0.00006 +13-11-2019 6:00,7705670.988,0.326969988,0.326969988,0.00006 +13-11-2019 7:00,7704782.323,0.420692541,0.420692541,0.00006 +13-11-2019 8:00,7703894.231,0.497851985,0.497851985,0.00006 +13-11-2019 9:00,7703006.714,0.3901376,0.3901376,0.00006 +13-11-2019 10:00,7702119.772,0.390309964,0.390309964,0.00006 +13-11-2019 11:00,7701233.404,0.540115076,0.540115076,0.00006 +13-11-2019 12:00,7700347.612,0.465081452,0.465081452,0.00006 +13-11-2019 13:00,7699462.396,0.301938485,0.301938485,0.00006 +13-11-2019 14:00,7698577.757,0.401329911,0.401329911,0.00006 +13-11-2019 15:00,7697693.694,0.417760305,0.417760305,0.00006 +13-11-2019 16:00,7696810.209,0.41205984,0.41205984,0.00006 +13-11-2019 17:00,7695927.302,0.441178276,0.441178276,0.00006 +13-11-2019 18:00,7695044.973,0.429345116,0.429345116,0.00006 +13-11-2019 19:00,7694163.223,0.392016211,0.392016211,0.00006 +13-11-2019 20:00,7693282.052,0.318000339,0.318000339,0.00006 +13-11-2019 21:00,7692401.46,0.204678743,0.204678743,0.00006 +13-11-2019 22:00,7691521.449,0.098837451,0.098837451,0.00006 +13-11-2019 23:00,7690642.018,0.042709657,0.042709657,0.00006 +14-11-2019 0:00,7689763.169,0.017989276,0.017989276,0.00006 +14-11-2019 1:00,7688884.9,0.00621877,0.00621877,0.00006 +14-11-2019 2:00,7688007.214,0.00377604,0.00377604,0.00006 +14-11-2019 3:00,7687130.11,0.0066448,0.0066448,0.00006 +14-11-2019 4:00,7686253.589,0.034605478,0.034605478,0.00006 +14-11-2019 5:00,7685377.651,0.162968069,0.162968069,0.00006 +14-11-2019 6:00,7684502.297,0.342958493,0.342958493,0.00006 +14-11-2019 7:00,7683627.527,0.443787993,0.443787993,0.00006 +14-11-2019 8:00,7682753.341,0.531475196,0.531475196,0.00006 +14-11-2019 9:00,7681879.741,0.408222015,0.408222015,0.00006 +14-11-2019 10:00,7681006.726,0.406777282,0.406777282,0.00006 +14-11-2019 11:00,7680134.297,0.546697373,0.546697373,0.00006 +14-11-2019 12:00,7679262.455,0.470393181,0.470393181,0.00006 +14-11-2019 13:00,7678391.199,0.314862083,0.314862083,0.00006 +14-11-2019 14:00,7677520.531,0.404061757,0.404061757,0.00006 +14-11-2019 15:00,7676650.451,0.419931594,0.419931594,0.00006 +14-11-2019 16:00,7675780.958,0.409729159,0.409729159,0.00006 +14-11-2019 17:00,7674912.055,0.435689312,0.435689312,0.00006 +14-11-2019 18:00,7674043.74,0.418174716,0.418174716,0.00006 +14-11-2019 19:00,7673176.015,0.382412613,0.382412613,0.00006 +14-11-2019 20:00,7672308.88,0.314914597,0.314914597,0.00006 +14-11-2019 21:00,7671442.336,0.206189646,0.206189646,0.00006 +14-11-2019 22:00,7670576.382,0.098985802,0.098985802,0.00006 +14-11-2019 23:00,7669711.02,0.043348809,0.043348809,0.00006 +15-11-2019 0:00,7668846.249,0.01825499,0.01825499,0.00006 +15-11-2019 1:00,7667982.071,0.006381547,0.006381547,0.00006 +15-11-2019 2:00,7667118.485,0.003877643,0.003877643,0.00006 +15-11-2019 3:00,7666255.493,0.007150696,0.007150696,0.00006 +15-11-2019 4:00,7665393.094,0.036485557,0.036485557,0.00006 +15-11-2019 5:00,7664531.289,0.170082774,0.170082774,0.00006 +15-11-2019 6:00,7663670.078,0.357570099,0.357570099,0.00006 +15-11-2019 7:00,7662809.462,0.463223171,0.463223171,0.00006 +15-11-2019 8:00,7661949.442,0.555550092,0.555550092,0.00006 +15-11-2019 9:00,7661090.017,0.427333907,0.427333907,0.00006 +15-11-2019 10:00,7660231.189,0.42978336,0.42978336,0.00006 +15-11-2019 11:00,7659372.957,0.567748117,0.567748117,0.00006 +15-11-2019 12:00,7658515.323,0.492371389,0.492371389,0.00006 +15-11-2019 13:00,7657658.286,0.344628023,0.344628023,0.00006 +15-11-2019 14:00,7656801.847,0.428105107,0.428105107,0.00006 +15-11-2019 15:00,7655946.006,0.442813857,0.442813857,0.00006 +15-11-2019 16:00,7655090.764,0.431240688,0.431240688,0.00006 +15-11-2019 17:00,7654236.122,0.454721777,0.454721777,0.00006 +15-11-2019 18:00,7653382.079,0.434818325,0.434818325,0.00006 +15-11-2019 19:00,7652528.636,0.398656325,0.398656325,0.00006 +15-11-2019 20:00,7651675.794,0.328832859,0.328832859,0.00006 +15-11-2019 21:00,7650823.553,0.214595883,0.214595883,0.00006 +15-11-2019 22:00,7649971.914,0.104180085,0.104180085,0.00006 +15-11-2019 23:00,7649120.876,0.046074912,0.046074912,0.00006 +16-11-2019 0:00,7648270.441,0.019370324,0.019370324,0.00006 +16-11-2019 1:00,7647420.609,0.006916433,0.006916433,0.00006 +16-11-2019 2:00,7646571.38,0.004758217,0.004758217,0.00006 +16-11-2019 3:00,7645722.754,0.009346336,0.009346336,0.00006 +16-11-2019 4:00,7644874.733,0.043140829,0.043140829,0.00006 +16-11-2019 5:00,7644027.316,0.192079784,0.192079784,0.00006 +16-11-2019 6:00,7643180.505,0.40159107,0.40159107,0.00006 +16-11-2019 7:00,7642334.298,0.521165288,0.521165288,0.00006 +16-11-2019 8:00,7641488.698,0.610763075,0.610763075,0.00006 +16-11-2019 9:00,7640643.704,0.462923667,0.462923667,0.00006 +16-11-2019 10:00,7639799.316,0.451091639,0.451091639,0.00006 +16-11-2019 11:00,7638955.536,0.582257079,0.582257079,0.00006 +16-11-2019 12:00,7638112.364,0.503450177,0.503450177,0.00006 +16-11-2019 13:00,7637269.799,0.365381712,0.365381712,0.00006 +16-11-2019 14:00,7636427.843,0.445119548,0.445119548,0.00006 +16-11-2019 15:00,7635586.496,0.46526394,0.46526394,0.00006 +16-11-2019 16:00,7634745.758,0.452442575,0.452442575,0.00006 +16-11-2019 17:00,7633905.63,0.47385047,0.47385047,0.00006 +16-11-2019 18:00,7633066.112,0.445814174,0.445814174,0.00006 +16-11-2019 19:00,7632227.204,0.403514867,0.403514867,0.00006 +16-11-2019 20:00,7631388.908,0.331020785,0.331020785,0.00006 +16-11-2019 21:00,7630551.223,0.215235289,0.215235289,0.00006 +16-11-2019 22:00,7629714.15,0.102382453,0.102382453,0.00006 +16-11-2019 23:00,7628877.69,0.044262407,0.044262407,0.00006 +17-11-2019 0:00,7628041.842,0.018641968,0.018641968,0.00006 +17-11-2019 1:00,7627206.608,0.006586391,0.006586391,0.00006 +17-11-2019 2:00,7626371.987,0.004402667,0.004402667,0.00006 +17-11-2019 3:00,7625537.98,0.007820885,0.007820885,0.00006 +17-11-2019 4:00,7624704.588,0.040475425,0.040475425,0.00006 +17-11-2019 5:00,7623871.811,0.181660099,0.181660099,0.00006 +17-11-2019 6:00,7623039.649,0.385716739,0.385716739,0.00006 +17-11-2019 7:00,7622208.102,0.504672559,0.504672559,0.00006 +17-11-2019 8:00,7621377.172,0.605334719,0.605334719,0.00006 +17-11-2019 9:00,7620546.859,0.463219428,0.463219428,0.00006 +17-11-2019 10:00,7619717.163,0.41215426,0.41215426,0.00006 +17-11-2019 11:00,7618888.084,0.570916676,0.570916676,0.00006 +17-11-2019 12:00,7618059.623,0.493106574,0.493106574,0.00006 +17-11-2019 13:00,7617231.781,0.363704247,0.363704247,0.00006 +17-11-2019 14:00,7616404.557,0.441247597,0.441247597,0.00006 +17-11-2019 15:00,7615577.953,0.460704658,0.460704658,0.00006 +17-11-2019 16:00,7614751.968,0.447322285,0.447322285,0.00006 +17-11-2019 17:00,7613926.603,0.473450184,0.473450184,0.00006 +17-11-2019 18:00,7613101.858,0.456330191,0.456330191,0.00006 +17-11-2019 19:00,7612277.735,0.414860832,0.414860832,0.00006 +17-11-2019 20:00,7611454.233,0.339849335,0.339849335,0.00006 +17-11-2019 21:00,7610631.353,0.219052345,0.219052345,0.00006 +17-11-2019 22:00,7609809.094,0.103556407,0.103556407,0.00006 +17-11-2019 23:00,7608987.459,0.045516666,0.045516666,0.00006 +18-11-2019 0:00,7608166.446,0.019134011,0.019134011,0.00006 +18-11-2019 1:00,7607346.057,0.006795238,0.006795238,0.00006 +18-11-2019 2:00,7606526.292,0.004747764,0.004747764,0.00006 +18-11-2019 3:00,7605707.151,0.008475553,0.008475553,0.00006 +18-11-2019 4:00,7604888.634,0.040387105,0.040387105,0.00006 +18-11-2019 5:00,7604070.743,0.179241851,0.179241851,0.00006 +18-11-2019 6:00,7603253.478,0.375298265,0.375298265,0.00006 +18-11-2019 7:00,7602436.838,0.486394627,0.486394627,0.00006 +18-11-2019 8:00,7601620.825,0.578199337,0.578199337,0.00006 +18-11-2019 9:00,7600805.438,0.443765553,0.443765553,0.00006 +18-11-2019 10:00,7599990.679,0.43508485,0.43508485,0.00006 +18-11-2019 11:00,7599176.547,0.568050242,0.568050242,0.00006 +18-11-2019 12:00,7598363.044,0.49159156,0.49159156,0.00006 +18-11-2019 13:00,7597550.169,0.360013671,0.360013671,0.00006 +18-11-2019 14:00,7596737.923,0.429763347,0.429763347,0.00006 +18-11-2019 15:00,7595926.306,0.444306799,0.444306799,0.00006 +18-11-2019 16:00,7595115.319,0.423936386,0.423936386,0.00006 +18-11-2019 17:00,7594304.962,0.445142361,0.445142361,0.00006 +18-11-2019 18:00,7593495.235,0.423350664,0.423350664,0.00006 +18-11-2019 19:00,7592686.14,0.384062405,0.384062405,0.00006 +18-11-2019 20:00,7591877.676,0.319601709,0.319601709,0.00006 +18-11-2019 21:00,7591069.844,0.207855173,0.207855173,0.00006 +18-11-2019 22:00,7590262.644,0.099709355,0.099709355,0.00006 +18-11-2019 23:00,7589456.077,0.042860995,0.042860995,0.00006 +19-11-2019 0:00,7588650.142,0.018092748,0.018092748,0.00006 +19-11-2019 1:00,7587844.842,0.006234745,0.006234745,0.00006 +19-11-2019 2:00,7587040.175,0.00372943,0.00372943,0.00006 +19-11-2019 3:00,7586236.142,0.006495105,0.006495105,0.00006 +19-11-2019 4:00,7585432.745,0.034438761,0.034438761,0.00006 +19-11-2019 5:00,7584629.982,0.160959146,0.160959146,0.00006 +19-11-2019 6:00,7583827.855,0.345219395,0.345219395,0.00006 +19-11-2019 7:00,7583026.364,0.453266768,0.453266768,0.00006 +19-11-2019 8:00,7582225.509,0.542349891,0.542349891,0.00006 +19-11-2019 9:00,7581425.291,0.380208724,0.380208724,0.00006 +19-11-2019 10:00,7580625.71,0.324285733,0.324285733,0.00006 +19-11-2019 11:00,7579826.767,0.497571266,0.497571266,0.00006 +19-11-2019 12:00,7579028.462,0.47936267,0.47936267,0.00006 +19-11-2019 13:00,7578230.795,0.350963215,0.350963215,0.00006 +19-11-2019 14:00,7577433.767,0.433229979,0.433229979,0.00006 +19-11-2019 15:00,7576637.378,0.449228374,0.449228374,0.00006 +19-11-2019 16:00,7575841.629,0.434120091,0.434120091,0.00006 +19-11-2019 17:00,7575046.521,0.461105091,0.461105091,0.00006 +19-11-2019 18:00,7574252.052,0.458223607,0.458223607,0.00006 +19-11-2019 19:00,7573458.225,0.416642317,0.416642317,0.00006 +19-11-2019 20:00,7572665.038,0.352473919,0.352473919,0.00006 +19-11-2019 21:00,7571872.494,0.232086592,0.232086592,0.00006 +19-11-2019 22:00,7571080.591,0.110900607,0.110900607,0.00006 +19-11-2019 23:00,7570289.331,0.049615475,0.049615475,0.00006 +20-11-2019 0:00,7569498.714,0.02103137,0.02103137,0.00006 +20-11-2019 1:00,7568708.741,0.007975415,0.007975415,0.00006 +20-11-2019 2:00,7567919.411,0.006339993,0.006339993,0.00006 +20-11-2019 3:00,7567130.725,0.013717339,0.013717339,0.00006 +20-11-2019 4:00,7566342.684,0.054020712,0.054020712,0.00006 +20-11-2019 5:00,7565555.287,0.226618271,0.226618271,0.00006 +20-11-2019 6:00,7564768.537,0.464187216,0.464187216,0.00006 +20-11-2019 7:00,7563982.431,0.593882288,0.593882288,0.00006 +20-11-2019 8:00,7563196.972,0.658200401,0.658200401,0.00006 +20-11-2019 9:00,7562412.16,0.408220827,0.408220827,0.00006 +20-11-2019 10:00,7561627.995,0.352355474,0.352355474,0.00006 +20-11-2019 11:00,7560844.477,0.540051601,0.540051601,0.00006 +20-11-2019 12:00,7560061.606,0.379253755,0.379253755,0.00006 +20-11-2019 13:00,7559279.384,0.289177302,0.289177302,0.00006 +20-11-2019 14:00,7558497.811,0.451407005,0.451407005,0.00006 +20-11-2019 15:00,7557716.886,0.493618315,0.493618315,0.00006 +20-11-2019 16:00,7556936.611,0.482630274,0.482630274,0.00006 +20-11-2019 17:00,7556156.986,0.507138801,0.507138801,0.00006 +20-11-2019 18:00,7555378.011,0.483208511,0.483208511,0.00006 +20-11-2019 19:00,7554599.686,0.44183549,0.44183549,0.00006 +20-11-2019 20:00,7553822.013,0.364935034,0.364935034,0.00006 +20-11-2019 21:00,7553044.991,0.236564262,0.236564262,0.00006 +20-11-2019 22:00,7552268.62,0.113007791,0.113007791,0.00006 +20-11-2019 23:00,7551492.902,0.050017519,0.050017519,0.00006 +21-11-2019 0:00,7550717.837,0.021299232,0.021299232,0.00006 +21-11-2019 1:00,7549943.424,0.008528159,0.008528159,0.00006 +21-11-2019 2:00,7549169.665,0.006932326,0.006932326,0.00006 +21-11-2019 3:00,7548396.56,0.014024712,0.014024712,0.00006 +21-11-2019 4:00,7547624.109,0.053881279,0.053881279,0.00006 +21-11-2019 5:00,7546852.312,0.221552612,0.221552612,0.00006 +21-11-2019 6:00,7546081.17,0.451657019,0.451657019,0.00006 +21-11-2019 7:00,7545310.684,0.582525405,0.582525405,0.00006 +21-11-2019 8:00,7544540.854,0.683539447,0.683539447,0.00006 +21-11-2019 9:00,7543771.68,0.5293859,0.5293859,0.00006 +21-11-2019 10:00,7543003.162,0.503058863,0.503058863,0.00006 +21-11-2019 11:00,7542235.301,0.626000025,0.626000025,0.00006 +21-11-2019 12:00,7541468.098,0.542943144,0.542943144,0.00006 +21-11-2019 13:00,7540701.552,0.420841715,0.420841715,0.00006 +21-11-2019 14:00,7539935.665,0.486648458,0.486648458,0.00006 +21-11-2019 15:00,7539170.436,0.5043486,0.5043486,0.00006 +21-11-2019 16:00,7538405.866,0.486025699,0.486025699,0.00006 +21-11-2019 17:00,7537641.955,0.509333849,0.509333849,0.00006 +21-11-2019 18:00,7536878.704,0.493781565,0.493781565,0.00006 +21-11-2019 19:00,7536116.113,0.447050856,0.447050856,0.00006 +21-11-2019 20:00,7535354.183,0.36590082,0.36590082,0.00006 +21-11-2019 21:00,7534592.914,0.238255988,0.238255988,0.00006 +21-11-2019 22:00,7533832.306,0.112999197,0.112999197,0.00006 +21-11-2019 23:00,7533072.359,0.049422708,0.049422708,0.00006 +22-11-2019 0:00,7532313.075,0.020880646,0.020880646,0.00006 +22-11-2019 1:00,7531554.453,0.008279986,0.008279986,0.00006 +22-11-2019 2:00,7530796.494,0.006534524,0.006534524,0.00006 +22-11-2019 3:00,7530039.198,0.012510367,0.012510367,0.00006 +22-11-2019 4:00,7529282.566,0.050268122,0.050268122,0.00006 +22-11-2019 5:00,7528526.598,0.207323216,0.207323216,0.00006 +22-11-2019 6:00,7527771.294,0.422300832,0.422300832,0.00006 +22-11-2019 7:00,7527016.655,0.542664655,0.542664655,0.00006 +22-11-2019 8:00,7526262.681,0.636100905,0.636100905,0.00006 +22-11-2019 9:00,7525509.373,0.486624198,0.486624198,0.00006 +22-11-2019 10:00,7524756.731,0.361564175,0.361564175,0.00006 +22-11-2019 11:00,7524004.755,0.51337795,0.51337795,0.00006 +22-11-2019 12:00,7523253.446,0.499538717,0.499538717,0.00006 +22-11-2019 13:00,7522502.804,0.308841055,0.308841055,0.00006 +22-11-2019 14:00,7521752.829,0.433639175,0.433639175,0.00006 +22-11-2019 15:00,7521003.523,0.459578322,0.459578322,0.00006 +22-11-2019 16:00,7520254.885,0.442858135,0.442858135,0.00006 +22-11-2019 17:00,7519506.915,0.474448782,0.474448782,0.00006 +22-11-2019 18:00,7518759.614,0.457324505,0.457324505,0.00006 +22-11-2019 19:00,7518012.983,0.419609805,0.419609805,0.00006 +22-11-2019 20:00,7517267.022,0.345656268,0.345656268,0.00006 +22-11-2019 21:00,7516521.731,0.223137301,0.223137301,0.00006 +22-11-2019 22:00,7515777.11,0.104941762,0.104941762,0.00006 +22-11-2019 23:00,7515033.161,0.045268275,0.045268275,0.00006 +23-11-2019 0:00,7514289.882,0.019054401,0.019054401,0.00006 +23-11-2019 1:00,7513547.276,0.006770837,0.006770837,0.00006 +23-11-2019 2:00,7512805.341,0.004799866,0.004799866,0.00006 +23-11-2019 3:00,7512064.08,0.008729727,0.008729727,0.00006 +23-11-2019 4:00,7511323.491,0.042006695,0.042006695,0.00006 +23-11-2019 5:00,7510583.575,0.184927295,0.184927295,0.00006 +23-11-2019 6:00,7509844.333,0.389850449,0.389850449,0.00006 +23-11-2019 7:00,7509105.765,0.512917828,0.512917828,0.00006 +23-11-2019 8:00,7508367.871,0.609546568,0.609546568,0.00006 +23-11-2019 9:00,7507630.652,0.479551021,0.479551021,0.00006 +23-11-2019 10:00,7506894.108,0.462370676,0.462370676,0.00006 +23-11-2019 11:00,7506158.24,0.586871068,0.586871068,0.00006 +23-11-2019 12:00,7505423.048,0.510867378,0.510867378,0.00006 +23-11-2019 13:00,7504688.532,0.384289971,0.384289971,0.00006 +23-11-2019 14:00,7503954.693,0.442645172,0.442645172,0.00006 +23-11-2019 15:00,7503221.531,0.455864211,0.455864211,0.00006 +23-11-2019 16:00,7502489.046,0.429231602,0.429231602,0.00006 +23-11-2019 17:00,7501757.239,0.45726198,0.45726198,0.00006 +23-11-2019 18:00,7501026.11,0.440536186,0.440536186,0.00006 +23-11-2019 19:00,7500295.66,0.404576536,0.404576536,0.00006 +23-11-2019 20:00,7499565.888,0.337690887,0.337690887,0.00006 +23-11-2019 21:00,7498836.796,0.219751306,0.219751306,0.00006 +23-11-2019 22:00,7498108.384,0.104080962,0.104080962,0.00006 +23-11-2019 23:00,7497380.652,0.045115335,0.045115335,0.00006 +24-11-2019 0:00,7496653.6,0.019243943,0.019243943,0.00006 +24-11-2019 1:00,7495927.229,0.006932733,0.006932733,0.00006 +24-11-2019 2:00,7495201.539,0.004814575,0.004814575,0.00006 +24-11-2019 3:00,7494476.531,0.009384621,0.009384621,0.00006 +24-11-2019 4:00,7493752.204,0.044218024,0.044218024,0.00006 +24-11-2019 5:00,7493028.56,0.195456801,0.195456801,0.00006 +24-11-2019 6:00,7492305.599,0.408958032,0.408958032,0.00006 +24-11-2019 7:00,7491583.321,0.533157641,0.533157641,0.00006 +24-11-2019 8:00,7490861.726,0.626668164,0.626668164,0.00006 +24-11-2019 9:00,7490140.815,0.486215794,0.486215794,0.00006 +24-11-2019 10:00,7489420.588,0.46110976,0.46110976,0.00006 +24-11-2019 11:00,7488701.045,0.578053773,0.578053773,0.00006 +24-11-2019 12:00,7487982.188,0.496249573,0.496249573,0.00006 +24-11-2019 13:00,7487264.015,0.377769019,0.377769019,0.00006 +24-11-2019 14:00,7486546.529,0.437594863,0.437594863,0.00006 +24-11-2019 15:00,7485829.728,0.46181635,0.46181635,0.00006 +24-11-2019 16:00,7485113.614,0.452981243,0.452981243,0.00006 +24-11-2019 17:00,7484398.186,0.482041179,0.482041179,0.00006 +24-11-2019 18:00,7483683.446,0.46205786,0.46205786,0.00006 +24-11-2019 19:00,7482969.393,0.417713428,0.417713428,0.00006 +24-11-2019 20:00,7482256.028,0.348097101,0.348097101,0.00006 +24-11-2019 21:00,7481543.351,0.218132723,0.218132723,0.00006 +24-11-2019 22:00,7480831.363,0.102903386,0.102903386,0.00006 +24-11-2019 23:00,7480120.064,0.04426997,0.04426997,0.00006 +25-11-2019 0:00,7479409.454,0.018665394,0.018665394,0.00006 +25-11-2019 1:00,7478699.533,0.006521623,0.006521623,0.00006 +25-11-2019 2:00,7477990.303,0.004338981,0.004338981,0.00006 +25-11-2019 3:00,7477281.763,0.007472525,0.007472525,0.00006 +25-11-2019 4:00,7476573.914,0.037638141,0.037638141,0.00006 +25-11-2019 5:00,7475866.756,0.170009803,0.170009803,0.00006 +25-11-2019 6:00,7475160.29,0.358499033,0.358499033,0.00006 +25-11-2019 7:00,7474454.515,0.47513859,0.47513859,0.00006 +25-11-2019 8:00,7473749.433,0.572505335,0.572505335,0.00006 +25-11-2019 9:00,7473045.043,0.459589078,0.459589078,0.00006 +25-11-2019 10:00,7472341.346,0.445639981,0.445639981,0.00006 +25-11-2019 11:00,7471638.343,0.563141275,0.563141275,0.00006 +25-11-2019 12:00,7470936.033,0.448301783,0.448301783,0.00006 +25-11-2019 13:00,7470234.417,0.240971346,0.240971346,0.00006 +25-11-2019 14:00,7469533.496,0.336780519,0.336780519,0.00006 +25-11-2019 15:00,7468833.269,0.436517681,0.436517681,0.00006 +25-11-2019 16:00,7468133.738,0.426666377,0.426666377,0.00006 +25-11-2019 17:00,7467434.902,0.447451703,0.447451703,0.00006 +25-11-2019 18:00,7466736.761,0.426482099,0.426482099,0.00006 +25-11-2019 19:00,7466039.318,0.390386538,0.390386538,0.00006 +25-11-2019 20:00,7465342.57,0.321530429,0.321530429,0.00006 +25-11-2019 21:00,7464646.52,0.208047811,0.208047811,0.00006 +25-11-2019 22:00,7463951.166,0.097887299,0.097887299,0.00006 +25-11-2019 23:00,7463256.511,0.041725398,0.041725398,0.00006 +26-11-2019 0:00,7462562.553,0.017367104,0.017367104,0.00006 +26-11-2019 1:00,7461869.294,0.005895227,0.005895227,0.00006 +26-11-2019 2:00,7461176.733,0.003373126,0.003373126,0.00006 +26-11-2019 3:00,7460484.872,0.00564409,0.00564409,0.00006 +26-11-2019 4:00,7459793.71,0.030191487,0.030191487,0.00006 +26-11-2019 5:00,7459103.248,0.145287604,0.145287604,0.00006 +26-11-2019 6:00,7458413.485,0.309191777,0.309191777,0.00006 +26-11-2019 7:00,7457724.424,0.411902941,0.411902941,0.00006 +26-11-2019 8:00,7457036.063,0.500841613,0.500841613,0.00006 +26-11-2019 9:00,7456348.403,0.406858458,0.406858458,0.00006 +26-11-2019 10:00,7455661.445,0.399763152,0.399763152,0.00006 +26-11-2019 11:00,7454975.189,0.526949166,0.526949166,0.00006 +26-11-2019 12:00,7454289.635,0.459082528,0.459082528,0.00006 +26-11-2019 13:00,7453604.784,0.337407953,0.337407953,0.00006 +26-11-2019 14:00,7452920.635,0.389835063,0.389835063,0.00006 +26-11-2019 15:00,7452237.19,0.408050689,0.408050689,0.00006 +26-11-2019 16:00,7451554.449,0.381553925,0.381553925,0.00006 +26-11-2019 17:00,7450872.411,0.403890727,0.403890727,0.00006 +26-11-2019 18:00,7450191.078,0.384484601,0.384484601,0.00006 +26-11-2019 19:00,7449510.45,0.346650247,0.346650247,0.00006 +26-11-2019 20:00,7448830.526,0.283162723,0.283162723,0.00006 +26-11-2019 21:00,7448151.309,0.183290527,0.183290527,0.00006 +26-11-2019 22:00,7447472.796,0.08633041,0.08633041,0.00006 +26-11-2019 23:00,7446794.99,0.036703686,0.036703686,0.00006 +27-11-2019 0:00,7446117.891,0.014597955,0.014597955,0.00006 +27-11-2019 1:00,7445441.498,0.004678352,0.004678352,0.00006 +27-11-2019 2:00,7444765.813,0.002480742,0.002480742,0.00006 +27-11-2019 3:00,7444090.834,0.003622753,0.003622753,0.00006 +27-11-2019 4:00,7443416.564,0.018655552,0.018655552,0.00006 +27-11-2019 5:00,7442743.002,0.102433387,0.102433387,0.00006 +27-11-2019 6:00,7442070.149,0.233134481,0.233134481,0.00006 +27-11-2019 7:00,7441398.004,0.320540446,0.320540446,0.00006 +27-11-2019 8:00,7440726.569,0.403627281,0.403627281,0.00006 +27-11-2019 9:00,7440055.843,0.350421175,0.350421175,0.00006 +27-11-2019 10:00,7439385.827,0.35684165,0.35684165,0.00006 +27-11-2019 11:00,7438716.521,0.481423891,0.481423891,0.00006 +27-11-2019 12:00,7438047.926,0.432629375,0.432629375,0.00006 +27-11-2019 13:00,7437380.042,0.306702013,0.306702013,0.00006 +27-11-2019 14:00,7436712.87,0.360423292,0.360423292,0.00006 +27-11-2019 15:00,7436046.409,0.380305916,0.380305916,0.00006 +27-11-2019 16:00,7435380.659,0.353395171,0.353395171,0.00006 +27-11-2019 17:00,7434715.623,0.379739068,0.379739068,0.00006 +27-11-2019 18:00,7434051.299,0.360919674,0.360919674,0.00006 +27-11-2019 19:00,7433387.688,0.326620199,0.326620199,0.00006 +27-11-2019 20:00,7432724.79,0.266212927,0.266212927,0.00006 +27-11-2019 21:00,7432062.606,0.171192145,0.171192145,0.00006 +27-11-2019 22:00,7431401.136,0.080689679,0.080689679,0.00006 +27-11-2019 23:00,7430740.38,0.03426153,0.03426153,0.00006 +28-11-2019 0:00,7430080.339,0.013797836,0.013797836,0.00006 +28-11-2019 1:00,7429421.014,0.003933998,0.003933998,0.00006 +28-11-2019 2:00,7428762.403,0.002098989,0.002098989,0.00006 +28-11-2019 3:00,7428104.508,0.003087696,0.003087696,0.00006 +28-11-2019 4:00,7427447.33,0.014142568,0.014142568,0.00006 +28-11-2019 5:00,7426790.868,0.085829049,0.085829049,0.00006 +28-11-2019 6:00,7426135.122,0.198018527,0.198018527,0.00006 +28-11-2019 7:00,7425480.094,0.282849601,0.282849601,0.00006 +28-11-2019 8:00,7424825.783,0.368731147,0.368731147,0.00006 +28-11-2019 9:00,7424172.19,0.330646837,0.330646837,0.00006 +28-11-2019 10:00,7423519.315,0.347460091,0.347460091,0.00006 +28-11-2019 11:00,7422867.158,0.469308444,0.469308444,0.00006 +28-11-2019 12:00,7422215.72,0.420902368,0.420902368,0.00006 +28-11-2019 13:00,7421565.001,0.2933919,0.2933919,0.00006 +28-11-2019 14:00,7420915.002,0.347656466,0.347656466,0.00006 +28-11-2019 15:00,7420265.722,0.362687829,0.362687829,0.00006 +28-11-2019 16:00,7419617.163,0.340386639,0.340386639,0.00006 +28-11-2019 17:00,7418969.324,0.369289036,0.369289036,0.00006 +28-11-2019 18:00,7418322.206,0.354692498,0.354692498,0.00006 +28-11-2019 19:00,7417675.809,0.323360626,0.323360626,0.00006 +28-11-2019 20:00,7417030.133,0.266136933,0.266136933,0.00006 +28-11-2019 21:00,7416385.179,0.174083749,0.174083749,0.00006 +28-11-2019 22:00,7415740.947,0.081902475,0.081902475,0.00006 +28-11-2019 23:00,7415097.438,0.035653244,0.035653244,0.00006 +29-11-2019 0:00,7414454.651,0.014635789,0.014635789,0.00006 +29-11-2019 1:00,7413812.588,0.004536975,0.004536975,0.00006 +29-11-2019 2:00,7413171.248,0.002464863,0.002464863,0.00006 +29-11-2019 3:00,7412530.631,0.003800969,0.003800969,0.00006 +29-11-2019 4:00,7411890.739,0.018775021,0.018775021,0.00006 +29-11-2019 5:00,7411251.571,0.111705331,0.111705331,0.00006 +29-11-2019 6:00,7410613.128,0.250372801,0.250372801,0.00006 +29-11-2019 7:00,7409975.41,0.345014758,0.345014758,0.00006 +29-11-2019 8:00,7409338.417,0.414870903,0.414870903,0.00006 +29-11-2019 9:00,7408702.15,0.361890802,0.361890802,0.00006 +29-11-2019 10:00,7408066.61,0.347781982,0.347781982,0.00006 +29-11-2019 11:00,7407431.795,0.479578952,0.479578952,0.00006 +29-11-2019 12:00,7406797.707,0.448420071,0.448420071,0.00006 +29-11-2019 13:00,7406164.347,0.225850239,0.225850239,0.00006 +29-11-2019 14:00,7405531.713,0.323360965,0.323360965,0.00006 +29-11-2019 15:00,7404899.808,0.407322315,0.407322315,0.00006 +29-11-2019 16:00,7404268.63,0.383200094,0.383200094,0.00006 +29-11-2019 17:00,7403638.181,0.410351903,0.410351903,0.00006 +29-11-2019 18:00,7403008.46,0.411877345,0.411877345,0.00006 +29-11-2019 19:00,7402379.468,0.38541413,0.38541413,0.00006 +29-11-2019 20:00,7401751.206,0.321445036,0.321445036,0.00006 +29-11-2019 21:00,7401123.673,0.208603473,0.208603473,0.00006 +29-11-2019 22:00,7400496.871,0.101043979,0.101043979,0.00006 +29-11-2019 23:00,7399870.798,0.044450607,0.044450607,0.00006 +30-11-2019 0:00,7399245.456,0.018656163,0.018656163,0.00006 +30-11-2019 1:00,7398620.845,0.006389188,0.006389188,0.00006 +30-11-2019 2:00,7397996.966,0.00373474,0.00373474,0.00006 +30-11-2019 3:00,7397373.817,0.007743657,0.007743657,0.00006 +30-11-2019 4:00,7396751.401,0.037984693,0.037984693,0.00006 +30-11-2019 5:00,7396129.717,0.179875248,0.179875248,0.00006 +30-11-2019 6:00,7395508.766,0.372827204,0.372827204,0.00006 +30-11-2019 7:00,7394888.547,0.494168365,0.494168365,0.00006 +30-11-2019 8:00,7394269.061,0.565788433,0.565788433,0.00006 +30-11-2019 9:00,7393650.309,0.377059866,0.377059866,0.00006 +30-11-2019 10:00,7393032.291,0.319901858,0.319901858,0.00006 +30-11-2019 11:00,7392415.007,0.42337734,0.42337734,0.00006 +30-11-2019 12:00,7391798.457,0.380911566,0.380911566,0.00006 +30-11-2019 13:00,7391182.642,0.226023951,0.226023951,0.00006 +30-11-2019 14:00,7390567.562,0.365452167,0.365452167,0.00006 +30-11-2019 15:00,7389953.218,0.454322069,0.454322069,0.00006 +30-11-2019 16:00,7389339.609,0.452321179,0.452321179,0.00006 +30-11-2019 17:00,7388726.736,0.487946963,0.487946963,0.00006 +30-11-2019 18:00,7388114.6,0.47149935,0.47149935,0.00006 +30-11-2019 19:00,7387503.2,0.435165624,0.435165624,0.00006 +30-11-2019 20:00,7386892.537,0.360208718,0.360208718,0.00006 +30-11-2019 21:00,7386282.612,0.236938684,0.236938684,0.00006 +30-11-2019 22:00,7385673.424,0.113468439,0.113468439,0.00006 +30-11-2019 23:00,7385064.974,0.050062116,0.050062116,0.00006 +1-12-2019 0:00,7384457.262,0.021018337,0.021018337,1.00E-04 +1-12-2019 1:00,7383850.288,0.008241001,0.008241001,1.00E-04 +1-12-2019 2:00,7383244.054,0.00649728,0.00649728,1.00E-04 +1-12-2019 3:00,7382638.559,0.013482556,0.013482556,1.00E-04 +1-12-2019 4:00,7382033.803,0.053037563,0.053037563,1.00E-04 +1-12-2019 5:00,7381429.787,0.222555673,0.222555673,1.00E-04 +1-12-2019 6:00,7380826.511,0.453108358,0.453108358,1.00E-04 +1-12-2019 7:00,7380223.975,0.588908891,0.588908891,1.00E-04 +1-12-2019 8:00,7379622.18,0.69030671,0.69030671,1.00E-04 +1-12-2019 9:00,7379021.126,0.543068021,0.543068021,1.00E-04 +1-12-2019 10:00,7378420.814,0.509964492,0.509964492,1.00E-04 +1-12-2019 11:00,7377821.243,0.622464156,0.622464156,1.00E-04 +1-12-2019 12:00,7377222.414,0.55327786,0.55327786,1.00E-04 +1-12-2019 13:00,7376624.327,0.440876589,0.440876589,1.00E-04 +1-12-2019 14:00,7376026.983,0.489263395,0.489263395,1.00E-04 +1-12-2019 15:00,7375430.382,0.505356212,0.505356212,1.00E-04 +1-12-2019 16:00,7374834.523,0.493945018,0.493945018,1.00E-04 +1-12-2019 17:00,7374239.409,0.526836112,0.526836112,1.00E-04 +1-12-2019 18:00,7373645.038,0.498304558,0.498304558,1.00E-04 +1-12-2019 19:00,7373051.411,0.453295679,0.453295679,1.00E-04 +1-12-2019 20:00,7372458.529,0.374539294,0.374539294,1.00E-04 +1-12-2019 21:00,7371866.391,0.249675606,0.249675606,1.00E-04 +1-12-2019 22:00,7371274.998,0.119926627,0.119926627,1.00E-04 +1-12-2019 23:00,7370684.351,0.053949384,0.053949384,1.00E-04 +2-12-2019 0:00,7370094.449,0.022996336,0.022996336,1.00E-04 +2-12-2019 1:00,7369505.294,0.010378086,0.010378086,1.00E-04 +2-12-2019 2:00,7368916.884,0.009269002,0.009269002,1.00E-04 +2-12-2019 3:00,7368329.221,0.019349503,0.019349503,1.00E-04 +2-12-2019 4:00,7367742.305,0.066206469,0.066206469,1.00E-04 +2-12-2019 5:00,7367156.135,0.259238008,0.259238008,1.00E-04 +2-12-2019 6:00,7366570.714,0.506187616,0.506187616,1.00E-04 +2-12-2019 7:00,7365986.04,0.634539838,0.634539838,1.00E-04 +2-12-2019 8:00,7365402.114,0.723796295,0.723796295,1.00E-04 +2-12-2019 9:00,7364818.936,0.468753028,0.468753028,1.00E-04 +2-12-2019 10:00,7364236.507,0.387325842,0.387325842,1.00E-04 +2-12-2019 11:00,7363654.827,0.578021796,0.578021796,1.00E-04 +2-12-2019 12:00,7363073.897,0.519231872,0.519231872,1.00E-04 +2-12-2019 13:00,7362493.715,0.394203696,0.394203696,1.00E-04 +2-12-2019 14:00,7361914.284,0.470495757,0.470495757,1.00E-04 +2-12-2019 15:00,7361335.602,0.484236626,0.484236626,1.00E-04 +2-12-2019 16:00,7360757.672,0.460178111,0.460178111,1.00E-04 +2-12-2019 17:00,7360180.491,0.483882586,0.483882586,1.00E-04 +2-12-2019 18:00,7359604.062,0.465516361,0.465516361,1.00E-04 +2-12-2019 19:00,7359028.384,0.421218644,0.421218644,1.00E-04 +2-12-2019 20:00,7358453.458,0.346149055,0.346149055,1.00E-04 +2-12-2019 21:00,7357879.284,0.223787351,0.223787351,1.00E-04 +2-12-2019 22:00,7357305.862,0.105744159,0.105744159,1.00E-04 +2-12-2019 23:00,7356733.192,0.04540366,0.04540366,1.00E-04 +3-12-2019 0:00,7356161.275,0.019013437,0.019013437,1.00E-04 +3-12-2019 1:00,7355590.112,0.006816568,0.006816568,1.00E-04 +3-12-2019 2:00,7355019.701,0.004962245,0.004962245,1.00E-04 +3-12-2019 3:00,7354450.045,0.008794033,0.008794033,1.00E-04 +3-12-2019 4:00,7353881.142,0.043767738,0.043767738,1.00E-04 +3-12-2019 5:00,7353312.993,0.191862816,0.191862816,1.00E-04 +3-12-2019 6:00,7352745.599,0.414007038,0.414007038,1.00E-04 +3-12-2019 7:00,7352178.96,0.540376659,0.540376659,1.00E-04 +3-12-2019 8:00,7351613.076,0.616233542,0.616233542,1.00E-04 +3-12-2019 9:00,7351047.948,0.469421011,0.469421011,1.00E-04 +3-12-2019 10:00,7350483.575,0.367150277,0.367150277,1.00E-04 +3-12-2019 11:00,7349919.958,0.507242306,0.507242306,1.00E-04 +3-12-2019 12:00,7349357.098,0.427950163,0.427950163,1.00E-04 +3-12-2019 13:00,7348794.994,0.29199804,0.29199804,1.00E-04 +3-12-2019 14:00,7348233.647,0.446819126,0.446819126,1.00E-04 +3-12-2019 15:00,7347673.057,0.481488493,0.481488493,1.00E-04 +3-12-2019 16:00,7347113.225,0.460667124,0.460667124,1.00E-04 +3-12-2019 17:00,7346554.15,0.488656259,0.488656259,1.00E-04 +3-12-2019 18:00,7345995.833,0.470210572,0.470210572,1.00E-04 +3-12-2019 19:00,7345438.275,0.432621697,0.432621697,1.00E-04 +3-12-2019 20:00,7344881.475,0.358619964,0.358619964,1.00E-04 +3-12-2019 21:00,7344325.435,0.232957635,0.232957635,1.00E-04 +3-12-2019 22:00,7343770.153,0.113037552,0.113037552,1.00E-04 +3-12-2019 23:00,7343215.631,0.049166931,0.049166931,1.00E-04 +4-12-2019 0:00,7342661.868,0.021630806,0.021630806,1.00E-04 +4-12-2019 1:00,7342108.866,0.008555163,0.008555163,1.00E-04 +4-12-2019 2:00,7341556.624,0.006959087,0.006959087,1.00E-04 +4-12-2019 3:00,7341005.142,0.014433576,0.014433576,1.00E-04 +4-12-2019 4:00,7340454.422,0.055951958,0.055951958,1.00E-04 +4-12-2019 5:00,7339904.462,0.231131214,0.231131214,1.00E-04 +4-12-2019 6:00,7339355.264,0.468949733,0.468949733,1.00E-04 +4-12-2019 7:00,7338806.828,0.60974841,0.60974841,1.00E-04 +4-12-2019 8:00,7338259.154,0.689067957,0.689067957,1.00E-04 +4-12-2019 9:00,7337712.242,0.439434777,0.439434777,1.00E-04 +4-12-2019 10:00,7337166.092,0.381612335,0.381612335,1.00E-04 +4-12-2019 11:00,7336620.706,0.529114364,0.529114364,1.00E-04 +4-12-2019 12:00,7336076.083,0.416868617,0.416868617,1.00E-04 +4-12-2019 13:00,7335532.223,0.26935936,0.26935936,1.00E-04 +4-12-2019 14:00,7334989.126,0.441881194,0.441881194,1.00E-04 +4-12-2019 15:00,7334446.794,0.51327707,0.51327707,1.00E-04 +4-12-2019 16:00,7333905.226,0.49279605,0.49279605,1.00E-04 +4-12-2019 17:00,7333364.423,0.530574798,0.530574798,1.00E-04 +4-12-2019 18:00,7332824.384,0.515066208,0.515066208,1.00E-04 +4-12-2019 19:00,7332285.11,0.47506113,0.47506113,1.00E-04 +4-12-2019 20:00,7331746.602,0.394010712,0.394010712,1.00E-04 +4-12-2019 21:00,7331208.86,0.256595995,0.256595995,1.00E-04 +4-12-2019 22:00,7330671.883,0.122618873,0.122618873,1.00E-04 +4-12-2019 23:00,7330135.672,0.054890029,0.054890029,1.00E-04 +5-12-2019 0:00,7329600.229,0.023612378,0.023612378,1.00E-04 +5-12-2019 1:00,7329065.551,0.0111336,0.0111336,1.00E-04 +5-12-2019 2:00,7328531.641,0.010351122,0.010351122,1.00E-04 +5-12-2019 3:00,7327998.498,0.021364053,0.021364053,1.00E-04 +5-12-2019 4:00,7327466.123,0.070485215,0.070485215,1.00E-04 +5-12-2019 5:00,7326934.515,0.267840239,0.267840239,1.00E-04 +5-12-2019 6:00,7326403.676,0.52142113,0.52142113,1.00E-04 +5-12-2019 7:00,7325873.605,0.669654659,0.669654659,1.00E-04 +5-12-2019 8:00,7325344.303,0.78136912,0.78136912,1.00E-04 +5-12-2019 9:00,7324815.77,0.622518084,0.622518084,1.00E-04 +5-12-2019 10:00,7324288.005,0.592613633,0.592613633,1.00E-04 +5-12-2019 11:00,7323761.011,0.701134111,0.701134111,1.00E-04 +5-12-2019 12:00,7323234.786,0.624897684,0.624897684,1.00E-04 +5-12-2019 13:00,7322709.331,0.491166545,0.491166545,1.00E-04 +5-12-2019 14:00,7322184.646,0.529664316,0.529664316,1.00E-04 +5-12-2019 15:00,7321660.732,0.535292127,0.535292127,1.00E-04 +5-12-2019 16:00,7321137.589,0.501516057,0.501516057,1.00E-04 +5-12-2019 17:00,7320615.217,0.528320267,0.528320267,1.00E-04 +5-12-2019 18:00,7320093.617,0.507515417,0.507515417,1.00E-04 +5-12-2019 19:00,7319572.788,0.464142213,0.464142213,1.00E-04 +5-12-2019 20:00,7319052.73,0.385231647,0.385231647,1.00E-04 +5-12-2019 21:00,7318533.445,0.24822238,0.24822238,1.00E-04 +5-12-2019 22:00,7318014.933,0.116388228,0.116388228,1.00E-04 +5-12-2019 23:00,7317497.193,0.051270231,0.051270231,1.00E-04 +6-12-2019 0:00,7316980.226,0.021750029,0.021750029,1.00E-04 +6-12-2019 1:00,7316464.033,0.009347827,0.009347827,1.00E-04 +6-12-2019 2:00,7315948.613,0.008269546,0.008269546,1.00E-04 +6-12-2019 3:00,7315433.966,0.016221446,0.016221446,1.00E-04 +6-12-2019 4:00,7314920.094,0.057947041,0.057947041,1.00E-04 +6-12-2019 5:00,7314406.996,0.23088157,0.23088157,1.00E-04 +6-12-2019 6:00,7313894.673,0.462547677,0.462547677,1.00E-04 +6-12-2019 7:00,7313383.124,0.596086922,0.596086922,1.00E-04 +6-12-2019 8:00,7312872.351,0.702963583,0.702963583,1.00E-04 +6-12-2019 9:00,7312362.353,0.564871487,0.564871487,1.00E-04 +6-12-2019 10:00,7311853.13,0.528052184,0.528052184,1.00E-04 +6-12-2019 11:00,7311344.684,0.644394443,0.644394443,1.00E-04 +6-12-2019 12:00,7310837.013,0.564658514,0.564658514,1.00E-04 +6-12-2019 13:00,7310330.119,0.454242347,0.454242347,1.00E-04 +6-12-2019 14:00,7309824.002,0.491320777,0.491320777,1.00E-04 +6-12-2019 15:00,7309318.661,0.497048172,0.497048172,1.00E-04 +6-12-2019 16:00,7308814.098,0.463757221,0.463757221,1.00E-04 +6-12-2019 17:00,7308310.312,0.484148837,0.484148837,1.00E-04 +6-12-2019 18:00,7307807.304,0.46177506,0.46177506,1.00E-04 +6-12-2019 19:00,7307305.074,0.42022985,0.42022985,1.00E-04 +6-12-2019 20:00,7306803.622,0.337394559,0.337394559,1.00E-04 +6-12-2019 21:00,7306302.948,0.219910656,0.219910656,1.00E-04 +6-12-2019 22:00,7305803.054,0.1036087,0.1036087,1.00E-04 +6-12-2019 23:00,7305303.938,0.043999539,0.043999539,1.00E-04 +7-12-2019 0:00,7304805.601,0.018452361,0.018452361,1.00E-04 +7-12-2019 1:00,7304308.044,0.006475814,0.006475814,1.00E-04 +7-12-2019 2:00,7303811.267,0.004378849,0.004378849,1.00E-04 +7-12-2019 3:00,7303315.27,0.007055687,0.007055687,1.00E-04 +7-12-2019 4:00,7302820.053,0.037341225,0.037341225,1.00E-04 +7-12-2019 5:00,7302325.617,0.164632726,0.164632726,1.00E-04 +7-12-2019 6:00,7301831.961,0.350713021,0.350713021,1.00E-04 +7-12-2019 7:00,7301339.086,0.46484216,0.46484216,1.00E-04 +7-12-2019 8:00,7300846.993,0.563629293,0.563629293,1.00E-04 +7-12-2019 9:00,7300355.681,0.469201087,0.469201087,1.00E-04 +7-12-2019 10:00,7299865.151,0.453667891,0.453667891,1.00E-04 +7-12-2019 11:00,7299375.403,0.577139501,0.577139501,1.00E-04 +7-12-2019 12:00,7298886.438,0.510599242,0.510599242,1.00E-04 +7-12-2019 13:00,7298398.255,0.398367175,0.398367175,1.00E-04 +7-12-2019 14:00,7297910.854,0.438839962,0.438839962,1.00E-04 +7-12-2019 15:00,7297424.237,0.447793076,0.447793076,1.00E-04 +7-12-2019 16:00,7296938.403,0.418744392,0.418744392,1.00E-04 +7-12-2019 17:00,7296453.353,0.442287217,0.442287217,1.00E-04 +7-12-2019 18:00,7295969.086,0.422229869,0.422229869,1.00E-04 +7-12-2019 19:00,7295485.604,0.383997203,0.383997203,1.00E-04 +7-12-2019 20:00,7295002.906,0.316171563,0.316171563,1.00E-04 +7-12-2019 21:00,7294520.992,0.202403234,0.202403234,1.00E-04 +7-12-2019 22:00,7294039.863,0.094726137,0.094726137,1.00E-04 +7-12-2019 23:00,7293559.52,0.040261638,0.040261638,1.00E-04 +8-12-2019 0:00,7293079.961,0.016550575,0.016550575,1.00E-04 +8-12-2019 1:00,7292601.188,0.005598841,0.005598841,1.00E-04 +8-12-2019 2:00,7292123.201,0.003167975,0.003167975,1.00E-04 +8-12-2019 3:00,7291646,0.004845921,0.004845921,1.00E-04 +8-12-2019 4:00,7291169.585,0.026866534,0.026866534,1.00E-04 +8-12-2019 5:00,7290693.957,0.133905056,0.133905056,1.00E-04 +8-12-2019 6:00,7290219.115,0.291899454,0.291899454,1.00E-04 +8-12-2019 7:00,7289745.06,0.394735436,0.394735436,1.00E-04 +8-12-2019 8:00,7289271.793,0.491759502,0.491759502,1.00E-04 +8-12-2019 9:00,7288799.313,0.416033,0.416033,1.00E-04 +8-12-2019 10:00,7288327.621,0.396177129,0.396177129,1.00E-04 +8-12-2019 11:00,7287856.717,0.537201356,0.537201356,1.00E-04 +8-12-2019 12:00,7287386.601,0.462864285,0.462864285,1.00E-04 +8-12-2019 13:00,7286917.274,0.310237787,0.310237787,1.00E-04 +8-12-2019 14:00,7286448.735,0.391411386,0.391411386,1.00E-04 +8-12-2019 15:00,7285980.985,0.414240114,0.414240114,1.00E-04 +8-12-2019 16:00,7285514.025,0.388056291,0.388056291,1.00E-04 +8-12-2019 17:00,7285047.854,0.411298597,0.411298597,1.00E-04 +8-12-2019 18:00,7284582.472,0.394591444,0.394591444,1.00E-04 +8-12-2019 19:00,7284117.881,0.360732491,0.360732491,1.00E-04 +8-12-2019 20:00,7283654.079,0.299619806,0.299619806,1.00E-04 +8-12-2019 21:00,7283191.068,0.193394657,0.193394657,1.00E-04 +8-12-2019 22:00,7282728.848,0.092186871,0.092186871,1.00E-04 +8-12-2019 23:00,7282267.419,0.039993871,0.039993871,1.00E-04 +9-12-2019 0:00,7281806.78,0.016219979,0.016219979,1.00E-04 +9-12-2019 1:00,7281346.933,0.005365636,0.005365636,1.00E-04 +9-12-2019 2:00,7280887.878,0.002995424,0.002995424,1.00E-04 +9-12-2019 3:00,7280429.614,0.004530346,0.004530346,1.00E-04 +9-12-2019 4:00,7279972.142,0.025100002,0.025100002,1.00E-04 +9-12-2019 5:00,7279515.463,0.132026831,0.132026831,1.00E-04 +9-12-2019 6:00,7279059.576,0.290559533,0.290559533,1.00E-04 +9-12-2019 7:00,7278604.482,0.400261996,0.400261996,1.00E-04 +9-12-2019 8:00,7278150.181,0.480749613,0.480749613,1.00E-04 +9-12-2019 9:00,7277696.673,0.401650534,0.401650534,1.00E-04 +9-12-2019 10:00,7277243.959,0.402632726,0.402632726,1.00E-04 +9-12-2019 11:00,7276792.038,0.546914409,0.546914409,1.00E-04 +9-12-2019 12:00,7276340.911,0.487019918,0.487019918,1.00E-04 +9-12-2019 13:00,7275890.579,0.380190423,0.380190423,1.00E-04 +9-12-2019 14:00,7275441.04,0.421887063,0.421887063,1.00E-04 +9-12-2019 15:00,7274992.297,0.423779896,0.423779896,1.00E-04 +9-12-2019 16:00,7274544.348,0.397596544,0.397596544,1.00E-04 +9-12-2019 17:00,7274097.194,0.423709599,0.423709599,1.00E-04 +9-12-2019 18:00,7273650.836,0.407377238,0.407377238,1.00E-04 +9-12-2019 19:00,7273205.273,0.376491511,0.376491511,1.00E-04 +9-12-2019 20:00,7272760.506,0.314665371,0.314665371,1.00E-04 +9-12-2019 21:00,7272316.534,0.201033687,0.201033687,1.00E-04 +9-12-2019 22:00,7271873.359,0.096106426,0.096106426,1.00E-04 +9-12-2019 23:00,7271430.981,0.041215236,0.041215236,1.00E-04 +10-12-2019 0:00,7270989.399,0.017150613,0.017150613,1.00E-04 +10-12-2019 1:00,7270548.614,0.005918449,0.005918449,1.00E-04 +10-12-2019 2:00,7270108.627,0.003340378,0.003340378,1.00E-04 +10-12-2019 3:00,7269669.436,0.005582779,0.005582779,1.00E-04 +10-12-2019 4:00,7269231.043,0.030891016,0.030891016,1.00E-04 +10-12-2019 5:00,7268793.448,0.153980692,0.153980692,1.00E-04 +10-12-2019 6:00,7268356.651,0.33106977,0.33106977,1.00E-04 +10-12-2019 7:00,7267920.653,0.446321824,0.446321824,1.00E-04 +10-12-2019 8:00,7267485.452,0.550297561,0.550297561,1.00E-04 +10-12-2019 9:00,7267051.051,0.444359679,0.444359679,1.00E-04 +10-12-2019 10:00,7266617.448,0.449879869,0.449879869,1.00E-04 +10-12-2019 11:00,7266184.645,0.571076085,0.571076085,1.00E-04 +10-12-2019 12:00,7265752.641,0.510692188,0.510692188,1.00E-04 +10-12-2019 13:00,7265321.436,0.398810293,0.398810293,1.00E-04 +10-12-2019 14:00,7264891.031,0.436935151,0.436935151,1.00E-04 +10-12-2019 15:00,7264461.427,0.441981113,0.441981113,1.00E-04 +10-12-2019 16:00,7264032.623,0.4144567,0.4144567,1.00E-04 +10-12-2019 17:00,7263604.619,0.440673833,0.440673833,1.00E-04 +10-12-2019 18:00,7263177.415,0.420508431,0.420508431,1.00E-04 +10-12-2019 19:00,7262751.013,0.379775411,0.379775411,1.00E-04 +10-12-2019 20:00,7262325.412,0.310810199,0.310810199,1.00E-04 +10-12-2019 21:00,7261900.612,0.199496761,0.199496761,1.00E-04 +10-12-2019 22:00,7261476.614,0.094014025,0.094014025,1.00E-04 +10-12-2019 23:00,7261053.418,0.040079195,0.040079195,1.00E-04 +11-12-2019 0:00,7260631.023,0.01635365,0.01635365,1.00E-04 +11-12-2019 1:00,7260209.431,0.005636454,0.005636454,1.00E-04 +11-12-2019 2:00,7259788.642,0.003170718,0.003170718,1.00E-04 +11-12-2019 3:00,7259368.655,0.004941422,0.004941422,1.00E-04 +11-12-2019 4:00,7258949.471,0.027106067,0.027106067,1.00E-04 +11-12-2019 5:00,7258531.09,0.136710206,0.136710206,1.00E-04 +11-12-2019 6:00,7258113.512,0.296290511,0.296290511,1.00E-04 +11-12-2019 7:00,7257696.738,0.402312523,0.402312523,1.00E-04 +11-12-2019 8:00,7257280.767,0.502591327,0.502591327,1.00E-04 +11-12-2019 9:00,7256865.601,0.431850775,0.431850775,1.00E-04 +11-12-2019 10:00,7256451.238,0.430258889,0.430258889,1.00E-04 +11-12-2019 11:00,7256037.68,0.556559607,0.556559607,1.00E-04 +11-12-2019 12:00,7255624.927,0.498050453,0.498050453,1.00E-04 +11-12-2019 13:00,7255212.979,0.387323077,0.387323077,1.00E-04 +11-12-2019 14:00,7254801.835,0.430183634,0.430183634,1.00E-04 +11-12-2019 15:00,7254391.497,0.438396158,0.438396158,1.00E-04 +11-12-2019 16:00,7253981.964,0.411801631,0.411801631,1.00E-04 +11-12-2019 17:00,7253573.237,0.438182653,0.438182653,1.00E-04 +11-12-2019 18:00,7253165.315,0.423732533,0.423732533,1.00E-04 +11-12-2019 19:00,7252758.2,0.386277393,0.386277393,1.00E-04 +11-12-2019 20:00,7252351.891,0.315080471,0.315080471,1.00E-04 +11-12-2019 21:00,7251946.389,0.204627131,0.204627131,1.00E-04 +11-12-2019 22:00,7251541.693,0.096332545,0.096332545,1.00E-04 +11-12-2019 23:00,7251137.804,0.041801607,0.041801607,1.00E-04 +12-12-2019 0:00,7250734.722,0.017498644,0.017498644,1.00E-04 +12-12-2019 1:00,7250332.448,0.005980573,0.005980573,1.00E-04 +12-12-2019 2:00,7249930.981,0.003403663,0.003403663,1.00E-04 +12-12-2019 3:00,7249530.322,0.005833291,0.005833291,1.00E-04 +12-12-2019 4:00,7249130.471,0.031521946,0.031521946,1.00E-04 +12-12-2019 5:00,7248731.428,0.154288835,0.154288835,1.00E-04 +12-12-2019 6:00,7248333.193,0.331678949,0.331678949,1.00E-04 +12-12-2019 7:00,7247935.767,0.449025207,0.449025207,1.00E-04 +12-12-2019 8:00,7247539.149,0.541686198,0.541686198,1.00E-04 +12-12-2019 9:00,7247143.341,0.375376322,0.375376322,1.00E-04 +12-12-2019 10:00,7246748.342,0.348652204,0.348652204,1.00E-04 +12-12-2019 11:00,7246354.152,0.495897992,0.495897992,1.00E-04 +12-12-2019 12:00,7245960.772,0.404100917,0.404100917,1.00E-04 +12-12-2019 13:00,7245568.201,0.268895147,0.268895147,1.00E-04 +12-12-2019 14:00,7245176.441,0.429397855,0.429397855,1.00E-04 +12-12-2019 15:00,7244785.49,0.450066929,0.450066929,1.00E-04 +12-12-2019 16:00,7244395.35,0.429278612,0.429278612,1.00E-04 +12-12-2019 17:00,7244006.021,0.455077351,0.455077351,1.00E-04 +12-12-2019 18:00,7243617.502,0.43678383,0.43678383,1.00E-04 +12-12-2019 19:00,7243229.795,0.396436857,0.396436857,1.00E-04 +12-12-2019 20:00,7242842.898,0.325694351,0.325694351,1.00E-04 +12-12-2019 21:00,7242456.813,0.210868093,0.210868093,1.00E-04 +12-12-2019 22:00,7242071.54,0.100824016,0.100824016,1.00E-04 +12-12-2019 23:00,7241687.078,0.043718695,0.043718695,1.00E-04 +13-12-2019 0:00,7241303.429,0.018400109,0.018400109,1.00E-04 +13-12-2019 1:00,7240920.591,0.006325755,0.006325755,1.00E-04 +13-12-2019 2:00,7240538.566,0.003856543,0.003856543,1.00E-04 +13-12-2019 3:00,7240157.353,0.007031295,0.007031295,1.00E-04 +13-12-2019 4:00,7239776.953,0.036274485,0.036274485,1.00E-04 +13-12-2019 5:00,7239397.367,0.169564763,0.169564763,1.00E-04 +13-12-2019 6:00,7239018.593,0.359048103,0.359048103,1.00E-04 +13-12-2019 7:00,7238640.633,0.479836829,0.479836829,1.00E-04 +13-12-2019 8:00,7238263.486,0.590078668,0.590078668,1.00E-04 +13-12-2019 9:00,7237887.153,0.499174287,0.499174287,1.00E-04 +13-12-2019 10:00,7237511.634,0.481533161,0.481533161,1.00E-04 +13-12-2019 11:00,7237136.929,0.602224088,0.602224088,1.00E-04 +13-12-2019 12:00,7236763.038,0.540504801,0.540504801,1.00E-04 +13-12-2019 13:00,7236389.962,0.43190607,0.43190607,1.00E-04 +13-12-2019 14:00,7236017.7,0.463891333,0.463891333,1.00E-04 +13-12-2019 15:00,7235646.254,0.46105953,0.46105953,1.00E-04 +13-12-2019 16:00,7235275.622,0.426732641,0.426732641,1.00E-04 +13-12-2019 17:00,7234905.806,0.448278951,0.448278951,1.00E-04 +13-12-2019 18:00,7234536.805,0.428771166,0.428771166,1.00E-04 +13-12-2019 19:00,7234168.62,0.392686742,0.392686742,1.00E-04 +13-12-2019 20:00,7233801.251,0.320496046,0.320496046,1.00E-04 +13-12-2019 21:00,7233434.698,0.208794087,0.208794087,1.00E-04 +13-12-2019 22:00,7233068.961,0.099315981,0.099315981,1.00E-04 +13-12-2019 23:00,7232704.04,0.042967703,0.042967703,1.00E-04 +14-12-2019 0:00,7232339.936,0.018057672,0.018057672,1.00E-04 +14-12-2019 1:00,7231976.649,0.006195464,0.006195464,1.00E-04 +14-12-2019 2:00,7231614.179,0.003712556,0.003712556,1.00E-04 +14-12-2019 3:00,7231252.526,0.00652807,0.00652807,1.00E-04 +14-12-2019 4:00,7230891.69,0.034517533,0.034517533,1.00E-04 +14-12-2019 5:00,7230531.672,0.161790272,0.161790272,1.00E-04 +14-12-2019 6:00,7230172.472,0.342027206,0.342027206,1.00E-04 +14-12-2019 7:00,7229814.089,0.451634974,0.451634974,1.00E-04 +14-12-2019 8:00,7229456.525,0.553512216,0.553512216,1.00E-04 +14-12-2019 9:00,7229099.779,0.447584548,0.447584548,1.00E-04 +14-12-2019 10:00,7228743.851,0.404055499,0.404055499,1.00E-04 +14-12-2019 11:00,7228388.742,0.568042206,0.568042206,1.00E-04 +14-12-2019 12:00,7228034.452,0.510925245,0.510925245,1.00E-04 +14-12-2019 13:00,7227680.98,0.414879539,0.414879539,1.00E-04 +14-12-2019 14:00,7227328.328,0.441338769,0.441338769,1.00E-04 +14-12-2019 15:00,7226976.496,0.456884784,0.456884784,1.00E-04 +14-12-2019 16:00,7226625.482,0.42367515,0.42367515,1.00E-04 +14-12-2019 17:00,7226275.289,0.446140554,0.446140554,1.00E-04 +14-12-2019 18:00,7225925.915,0.431019159,0.431019159,1.00E-04 +14-12-2019 19:00,7225577.362,0.393855934,0.393855934,1.00E-04 +14-12-2019 20:00,7225229.629,0.327546638,0.327546638,1.00E-04 +14-12-2019 21:00,7224882.716,0.211674225,0.211674225,1.00E-04 +14-12-2019 22:00,7224536.624,0.100165065,0.100165065,1.00E-04 +14-12-2019 23:00,7224191.353,0.043430379,0.043430379,1.00E-04 +15-12-2019 0:00,7223846.902,0.017960845,0.017960845,1.00E-04 +15-12-2019 1:00,7223503.273,0.006028152,0.006028152,1.00E-04 +15-12-2019 2:00,7223160.465,0.003513882,0.003513882,1.00E-04 +15-12-2019 3:00,7222818.479,0.005991145,0.005991145,1.00E-04 +15-12-2019 4:00,7222477.314,0.031201344,0.031201344,1.00E-04 +15-12-2019 5:00,7222136.972,0.147969529,0.147969529,1.00E-04 +15-12-2019 6:00,7221797.451,0.313603994,0.313603994,1.00E-04 +15-12-2019 7:00,7221458.752,0.422049241,0.422049241,1.00E-04 +15-12-2019 8:00,7221120.876,0.507923638,0.507923638,1.00E-04 +15-12-2019 9:00,7220783.823,0.361907626,0.361907626,1.00E-04 +15-12-2019 10:00,7220447.592,0.391075977,0.391075977,1.00E-04 +15-12-2019 11:00,7220112.184,0.545194295,0.545194295,1.00E-04 +15-12-2019 12:00,7219777.599,0.497625212,0.497625212,1.00E-04 +15-12-2019 13:00,7219443.837,0.386942741,0.386942741,1.00E-04 +15-12-2019 14:00,7219110.899,0.428415874,0.428415874,1.00E-04 +15-12-2019 15:00,7218778.785,0.433199674,0.433199674,1.00E-04 +15-12-2019 16:00,7218447.494,0.408537813,0.408537813,1.00E-04 +15-12-2019 17:00,7218117.027,0.436608213,0.436608213,1.00E-04 +15-12-2019 18:00,7217787.384,0.419140083,0.419140083,1.00E-04 +15-12-2019 19:00,7217458.566,0.381594288,0.381594288,1.00E-04 +15-12-2019 20:00,7217130.571,0.315579543,0.315579543,1.00E-04 +15-12-2019 21:00,7216803.402,0.203779583,0.203779583,1.00E-04 +15-12-2019 22:00,7216477.057,0.097006961,0.097006961,1.00E-04 +15-12-2019 23:00,7216151.538,0.041844616,0.041844616,1.00E-04 +16-12-2019 0:00,7215826.843,0.017740222,0.017740222,1.00E-04 +16-12-2019 1:00,7215502.974,0.006056287,0.006056287,1.00E-04 +16-12-2019 2:00,7215179.93,0.003454752,0.003454752,1.00E-04 +16-12-2019 3:00,7214857.711,0.005956416,0.005956416,1.00E-04 +16-12-2019 4:00,7214536.319,0.03162706,0.03162706,1.00E-04 +16-12-2019 5:00,7214215.752,0.151457945,0.151457945,1.00E-04 +16-12-2019 6:00,7213896.012,0.319422748,0.319422748,1.00E-04 +16-12-2019 7:00,7213577.098,0.423146737,0.423146737,1.00E-04 +16-12-2019 8:00,7213259.01,0.520027443,0.520027443,1.00E-04 +16-12-2019 9:00,7212941.749,0.441292741,0.441292741,1.00E-04 +16-12-2019 10:00,7212625.315,0.432098688,0.432098688,1.00E-04 +16-12-2019 11:00,7212309.707,0.555028046,0.555028046,1.00E-04 +16-12-2019 12:00,7211994.927,0.497496788,0.497496788,1.00E-04 +16-12-2019 13:00,7211680.974,0.389425398,0.389425398,1.00E-04 +16-12-2019 14:00,7211367.848,0.423154681,0.423154681,1.00E-04 +16-12-2019 15:00,7211055.55,0.430953756,0.430953756,1.00E-04 +16-12-2019 16:00,7210744.08,0.400115439,0.400115439,1.00E-04 +16-12-2019 17:00,7210433.437,0.424538267,0.424538267,1.00E-04 +16-12-2019 18:00,7210123.623,0.407241672,0.407241672,1.00E-04 +16-12-2019 19:00,7209814.637,0.371015887,0.371015887,1.00E-04 +16-12-2019 20:00,7209506.479,0.304417159,0.304417159,1.00E-04 +16-12-2019 21:00,7209199.15,0.196321703,0.196321703,1.00E-04 +16-12-2019 22:00,7208892.649,0.092839828,0.092839828,1.00E-04 +16-12-2019 23:00,7208586.977,0.040432696,0.040432696,1.00E-04 +17-12-2019 0:00,7208282.135,0.016675144,0.016675144,1.00E-04 +17-12-2019 1:00,7207978.121,0.005760079,0.005760079,1.00E-04 +17-12-2019 2:00,7207674.937,0.003167476,0.003167476,1.00E-04 +17-12-2019 3:00,7207372.582,0.004834923,0.004834923,1.00E-04 +17-12-2019 4:00,7207071.057,0.026185081,0.026185081,1.00E-04 +17-12-2019 5:00,7206770.362,0.132116692,0.132116692,1.00E-04 +17-12-2019 6:00,7206470.496,0.282944221,0.282944221,1.00E-04 +17-12-2019 7:00,7206171.461,0.372861306,0.372861306,1.00E-04 +17-12-2019 8:00,7205873.256,0.458137207,0.458137207,1.00E-04 +17-12-2019 9:00,7205575.881,0.390776365,0.390776365,1.00E-04 +17-12-2019 10:00,7205279.337,0.385254885,0.385254885,1.00E-04 +17-12-2019 11:00,7204983.624,0.502746521,0.502746521,1.00E-04 +17-12-2019 12:00,7204688.741,0.412387564,0.412387564,1.00E-04 +17-12-2019 13:00,7204394.69,0.324947901,0.324947901,1.00E-04 +17-12-2019 14:00,7204101.469,0.357004662,0.357004662,1.00E-04 +17-12-2019 15:00,7203809.08,0.365877028,0.365877028,1.00E-04 +17-12-2019 16:00,7203517.523,0.337310454,0.337310454,1.00E-04 +17-12-2019 17:00,7203226.797,0.375510114,0.375510114,1.00E-04 +17-12-2019 18:00,7202936.903,0.36601843,0.36601843,1.00E-04 +17-12-2019 19:00,7202647.84,0.336349632,0.336349632,1.00E-04 +17-12-2019 20:00,7202359.61,0.286225794,0.286225794,1.00E-04 +17-12-2019 21:00,7202072.212,0.186079988,0.186079988,1.00E-04 +17-12-2019 22:00,7201785.647,0.088435032,0.088435032,1.00E-04 +17-12-2019 23:00,7201499.914,0.03794842,0.03794842,1.00E-04 +18-12-2019 0:00,7201215.013,0.015254182,0.015254182,1.00E-04 +18-12-2019 1:00,7200930.945,0.004917561,0.004917561,1.00E-04 +18-12-2019 2:00,7200647.711,0.002686304,0.002686304,1.00E-04 +18-12-2019 3:00,7200365.309,0.003936895,0.003936895,1.00E-04 +18-12-2019 4:00,7200083.741,0.020614895,0.020614895,1.00E-04 +18-12-2019 5:00,7199803.006,0.115199469,0.115199469,1.00E-04 +18-12-2019 6:00,7199523.104,0.256276829,0.256276829,1.00E-04 +18-12-2019 7:00,7199244.036,0.352126465,0.352126465,1.00E-04 +18-12-2019 8:00,7198965.802,0.438929469,0.438929469,1.00E-04 +18-12-2019 9:00,7198688.402,0.396724519,0.396724519,1.00E-04 +18-12-2019 10:00,7198411.836,0.385887243,0.385887243,1.00E-04 +18-12-2019 11:00,7198136.105,0.51138121,0.51138121,1.00E-04 +18-12-2019 12:00,7197861.207,0.453469561,0.453469561,1.00E-04 +18-12-2019 13:00,7197587.144,0.354615228,0.354615228,1.00E-04 +18-12-2019 14:00,7197313.916,0.400223148,0.400223148,1.00E-04 +18-12-2019 15:00,7197041.523,0.410013252,0.410013252,1.00E-04 +18-12-2019 16:00,7196769.965,0.389389735,0.389389735,1.00E-04 +18-12-2019 17:00,7196499.241,0.414064891,0.414064891,1.00E-04 +18-12-2019 18:00,7196229.353,0.392458074,0.392458074,1.00E-04 +18-12-2019 19:00,7195960.301,0.3548289,0.3548289,1.00E-04 +18-12-2019 20:00,7195692.083,0.29120409,0.29120409,1.00E-04 +18-12-2019 21:00,7195424.702,0.188390534,0.188390534,1.00E-04 +18-12-2019 22:00,7195158.156,0.08940683,0.08940683,1.00E-04 +18-12-2019 23:00,7194892.446,0.038467253,0.038467253,1.00E-04 +19-12-2019 0:00,7194627.572,0.015193093,0.015193093,1.00E-04 +19-12-2019 1:00,7194363.535,0.004863458,0.004863458,1.00E-04 +19-12-2019 2:00,7194100.334,0.002668451,0.002668451,1.00E-04 +19-12-2019 3:00,7193837.969,0.003886763,0.003886763,1.00E-04 +19-12-2019 4:00,7193576.44,0.020057057,0.020057057,1.00E-04 +19-12-2019 5:00,7193315.749,0.109833579,0.109833579,1.00E-04 +19-12-2019 6:00,7193055.894,0.243006438,0.243006438,1.00E-04 +19-12-2019 7:00,7192796.877,0.331930992,0.331930992,1.00E-04 +19-12-2019 8:00,7192538.696,0.419331421,0.419331421,1.00E-04 +19-12-2019 9:00,7192281.353,0.366575985,0.366575985,1.00E-04 +19-12-2019 10:00,7192024.847,0.366527909,0.366527909,1.00E-04 +19-12-2019 11:00,7191769.179,0.483211778,0.483211778,1.00E-04 +19-12-2019 12:00,7191514.348,0.431687614,0.431687614,1.00E-04 +19-12-2019 13:00,7191260.355,0.31605282,0.31605282,1.00E-04 +19-12-2019 14:00,7191007.2,0.351133522,0.351133522,1.00E-04 +19-12-2019 15:00,7190754.883,0.355103716,0.355103716,1.00E-04 +19-12-2019 16:00,7190503.405,0.332391603,0.332391603,1.00E-04 +19-12-2019 17:00,7190252.764,0.357735728,0.357735728,1.00E-04 +19-12-2019 18:00,7190002.962,0.339351322,0.339351322,1.00E-04 +19-12-2019 19:00,7189753.999,0.305156175,0.305156175,1.00E-04 +19-12-2019 20:00,7189505.874,0.249553902,0.249553902,1.00E-04 +19-12-2019 21:00,7189258.588,0.163322296,0.163322296,1.00E-04 +19-12-2019 22:00,7189012.141,0.077782832,0.077782832,1.00E-04 +19-12-2019 23:00,7188766.533,0.033120808,0.033120808,1.00E-04 +20-12-2019 0:00,7188521.765,0.013299217,0.013299217,1.00E-04 +20-12-2019 1:00,7188277.835,0.003547624,0.003547624,1.00E-04 +20-12-2019 2:00,7188034.746,0.001842969,0.001842969,1.00E-04 +20-12-2019 3:00,7187792.495,0.002906791,0.002906791,1.00E-04 +20-12-2019 4:00,7187551.085,0.012103534,0.012103534,1.00E-04 +20-12-2019 5:00,7187310.514,0.076004411,0.076004411,1.00E-04 +20-12-2019 6:00,7187070.783,0.173015698,0.173015698,1.00E-04 +20-12-2019 7:00,7186831.892,0.247118007,0.247118007,1.00E-04 +20-12-2019 8:00,7186593.842,0.334365405,0.334365405,1.00E-04 +20-12-2019 9:00,7186356.632,0.316922351,0.316922351,1.00E-04 +20-12-2019 10:00,7186120.262,0.337991643,0.337991643,1.00E-04 +20-12-2019 11:00,7185884.733,0.452784359,0.452784359,1.00E-04 +20-12-2019 12:00,7185650.044,0.414571964,0.414571964,1.00E-04 +20-12-2019 13:00,7185416.197,0.289472449,0.289472449,1.00E-04 +20-12-2019 14:00,7185183.19,0.333261316,0.333261316,1.00E-04 +20-12-2019 15:00,7184951.024,0.343549188,0.343549188,1.00E-04 +20-12-2019 16:00,7184719.699,0.32133405,0.32133405,1.00E-04 +20-12-2019 17:00,7184489.216,0.346741702,0.346741702,1.00E-04 +20-12-2019 18:00,7184259.574,0.335552856,0.335552856,1.00E-04 +20-12-2019 19:00,7184030.774,0.307621069,0.307621069,1.00E-04 +20-12-2019 20:00,7183802.815,0.254094674,0.254094674,1.00E-04 +20-12-2019 21:00,7183575.698,0.164611164,0.164611164,1.00E-04 +20-12-2019 22:00,7183349.423,0.077729425,0.077729425,1.00E-04 +20-12-2019 23:00,7183123.99,0.033776544,0.033776544,1.00E-04 +21-12-2019 0:00,7182899.399,0.013659065,0.013659065,1.00E-04 +21-12-2019 1:00,7182675.651,0.003755589,0.003755589,1.00E-04 +21-12-2019 2:00,7182452.744,0.001898733,0.001898733,1.00E-04 +21-12-2019 3:00,7182230.68,0.00302565,0.00302565,1.00E-04 +21-12-2019 4:00,7182009.459,0.012999278,0.012999278,1.00E-04 +21-12-2019 5:00,7181789.08,0.085432143,0.085432143,1.00E-04 +21-12-2019 6:00,7181569.544,0.200373983,0.200373983,1.00E-04 +21-12-2019 7:00,7181350.851,0.288232582,0.288232582,1.00E-04 +21-12-2019 8:00,7181133.001,0.378392308,0.378392308,1.00E-04 +21-12-2019 9:00,7180915.994,0.344821789,0.344821789,1.00E-04 +21-12-2019 10:00,7180699.831,0.362629536,0.362629536,1.00E-04 +21-12-2019 11:00,7180484.51,0.489147437,0.489147437,1.00E-04 +21-12-2019 12:00,7180270.034,0.440493627,0.440493627,1.00E-04 +21-12-2019 13:00,7180056.4,0.321189475,0.321189475,1.00E-04 +21-12-2019 14:00,7179843.611,0.365341631,0.365341631,1.00E-04 +21-12-2019 15:00,7179631.665,0.366793338,0.366793338,1.00E-04 +21-12-2019 16:00,7179420.563,0.344074269,0.344074269,1.00E-04 +21-12-2019 17:00,7179210.305,0.370780499,0.370780499,1.00E-04 +21-12-2019 18:00,7179000.892,0.353950305,0.353950305,1.00E-04 +21-12-2019 19:00,7178792.322,0.325670368,0.325670368,1.00E-04 +21-12-2019 20:00,7178584.597,0.26698927,0.26698927,1.00E-04 +21-12-2019 21:00,7178377.716,0.173916316,0.173916316,1.00E-04 +21-12-2019 22:00,7178171.68,0.082143255,0.082143255,1.00E-04 +21-12-2019 23:00,7177966.489,0.035119865,0.035119865,1.00E-04 +22-12-2019 0:00,7177762.142,0.014273874,0.014273874,1.00E-04 +22-12-2019 1:00,7177558.64,0.004120409,0.004120409,1.00E-04 +22-12-2019 2:00,7177355.983,0.002213344,0.002213344,1.00E-04 +22-12-2019 3:00,7177154.171,0.003319951,0.003319951,1.00E-04 +22-12-2019 4:00,7176953.205,0.015032137,0.015032137,1.00E-04 +22-12-2019 5:00,7176753.083,0.092059292,0.092059292,1.00E-04 +22-12-2019 6:00,7176553.807,0.209467954,0.209467954,1.00E-04 +22-12-2019 7:00,7176355.377,0.293439582,0.293439582,1.00E-04 +22-12-2019 8:00,7176157.792,0.383686052,0.383686052,1.00E-04 +22-12-2019 9:00,7175961.053,0.347894887,0.347894887,1.00E-04 +22-12-2019 10:00,7175765.159,0.364397243,0.364397243,1.00E-04 +22-12-2019 11:00,7175570.112,0.491959606,0.491959606,1.00E-04 +22-12-2019 12:00,7175375.91,0.441408262,0.441408262,1.00E-04 +22-12-2019 13:00,7175182.555,0.322236979,0.322236979,1.00E-04 +22-12-2019 14:00,7174990.046,0.363553661,0.363553661,1.00E-04 +22-12-2019 15:00,7174798.383,0.368446968,0.368446968,1.00E-04 +22-12-2019 16:00,7174607.566,0.347324589,0.347324589,1.00E-04 +22-12-2019 17:00,7174417.596,0.370379492,0.370379492,1.00E-04 +22-12-2019 18:00,7174228.473,0.354742631,0.354742631,1.00E-04 +22-12-2019 19:00,7174040.196,0.323097539,0.323097539,1.00E-04 +22-12-2019 20:00,7173852.766,0.266217307,0.266217307,1.00E-04 +22-12-2019 21:00,7173666.183,0.173992983,0.173992983,1.00E-04 +22-12-2019 22:00,7173480.446,0.082137336,0.082137336,1.00E-04 +22-12-2019 23:00,7173295.557,0.0353174,0.0353174,1.00E-04 +23-12-2019 0:00,7173111.515,0.013996838,0.013996838,1.00E-04 +23-12-2019 1:00,7172928.321,0.00405091,0.00405091,1.00E-04 +23-12-2019 2:00,7172745.973,0.002184249,0.002184249,1.00E-04 +23-12-2019 3:00,7172564.473,0.003275457,0.003275457,1.00E-04 +23-12-2019 4:00,7172383.821,0.014710041,0.014710041,1.00E-04 +23-12-2019 5:00,7172204.016,0.089943353,0.089943353,1.00E-04 +23-12-2019 6:00,7172025.059,0.205575737,0.205575737,1.00E-04 +23-12-2019 7:00,7171846.95,0.292735668,0.292735668,1.00E-04 +23-12-2019 8:00,7171669.689,0.383127515,0.383127515,1.00E-04 +23-12-2019 9:00,7171493.276,0.348410564,0.348410564,1.00E-04 +23-12-2019 10:00,7171317.71,0.366643217,0.366643217,1.00E-04 +23-12-2019 11:00,7171142.993,0.491971107,0.491971107,1.00E-04 +23-12-2019 12:00,7170969.125,0.443821728,0.443821728,1.00E-04 +23-12-2019 13:00,7170796.104,0.306976468,0.306976468,1.00E-04 +23-12-2019 14:00,7170623.932,0.353154686,0.353154686,1.00E-04 +23-12-2019 15:00,7170452.609,0.370801841,0.370801841,1.00E-04 +23-12-2019 16:00,7170282.134,0.343602891,0.343602891,1.00E-04 +23-12-2019 17:00,7170112.508,0.372859954,0.372859954,1.00E-04 +23-12-2019 18:00,7169943.731,0.361304371,0.361304371,1.00E-04 +23-12-2019 19:00,7169775.803,0.32683169,0.32683169,1.00E-04 +23-12-2019 20:00,7169608.723,0.268910006,0.268910006,1.00E-04 +23-12-2019 21:00,7169442.493,0.173707094,0.173707094,1.00E-04 +23-12-2019 22:00,7169277.112,0.083318302,0.083318302,1.00E-04 +23-12-2019 23:00,7169112.58,0.036114679,0.036114679,1.00E-04 +24-12-2019 0:00,7168948.897,0.014558416,0.014558416,1.00E-04 +24-12-2019 1:00,7168786.064,0.004345287,0.004345287,1.00E-04 +24-12-2019 2:00,7168624.08,0.002324689,0.002324689,1.00E-04 +24-12-2019 3:00,7168462.946,0.003479072,0.003479072,1.00E-04 +24-12-2019 4:00,7168302.661,0.016301515,0.016301515,1.00E-04 +24-12-2019 5:00,7168143.227,0.097230617,0.097230617,1.00E-04 +24-12-2019 6:00,7167984.642,0.221683079,0.221683079,1.00E-04 +24-12-2019 7:00,7167826.907,0.312229781,0.312229781,1.00E-04 +24-12-2019 8:00,7167670.021,0.408020925,0.408020925,1.00E-04 +24-12-2019 9:00,7167513.986,0.363444015,0.363444015,1.00E-04 +24-12-2019 10:00,7167358.802,0.371108633,0.371108633,1.00E-04 +24-12-2019 11:00,7167204.467,0.493039137,0.493039137,1.00E-04 +24-12-2019 12:00,7167050.982,0.438107758,0.438107758,1.00E-04 +24-12-2019 13:00,7166898.348,0.323826819,0.323826819,1.00E-04 +24-12-2019 14:00,7166746.565,0.362496584,0.362496584,1.00E-04 +24-12-2019 15:00,7166595.632,0.366634383,0.366634383,1.00E-04 +24-12-2019 16:00,7166445.549,0.339758959,0.339758959,1.00E-04 +24-12-2019 17:00,7166296.318,0.362326382,0.362326382,1.00E-04 +24-12-2019 18:00,7166147.937,0.34719899,0.34719899,1.00E-04 +24-12-2019 19:00,7166000.407,0.314451118,0.314451118,1.00E-04 +24-12-2019 20:00,7165853.727,0.25913007,0.25913007,1.00E-04 +24-12-2019 21:00,7165707.899,0.168065659,0.168065659,1.00E-04 +24-12-2019 22:00,7165562.922,0.079133215,0.079133215,1.00E-04 +24-12-2019 23:00,7165418.796,0.033755076,0.033755076,1.00E-04 +25-12-2019 0:00,7165275.521,0.013695689,0.013695689,1.00E-04 +25-12-2019 1:00,7165133.098,0.003830879,0.003830879,1.00E-04 +25-12-2019 2:00,7164991.525,0.002007032,0.002007032,1.00E-04 +25-12-2019 3:00,7164850.805,0.003121968,0.003121968,1.00E-04 +25-12-2019 4:00,7164710.936,0.01362886,0.01362886,1.00E-04 +25-12-2019 5:00,7164571.918,0.085134592,0.085134592,1.00E-04 +25-12-2019 6:00,7164433.752,0.197536224,0.197536224,1.00E-04 +25-12-2019 7:00,7164296.438,0.283164228,0.283164228,1.00E-04 +25-12-2019 8:00,7164159.975,0.373826193,0.373826193,1.00E-04 +25-12-2019 9:00,7164024.365,0.302173552,0.302173552,1.00E-04 +25-12-2019 10:00,7163889.606,0.295202402,0.295202402,1.00E-04 +25-12-2019 11:00,7163755.699,0.399518171,0.399518171,1.00E-04 +25-12-2019 12:00,7163622.645,0.403783615,0.403783615,1.00E-04 +25-12-2019 13:00,7163490.442,0.308496007,0.308496007,1.00E-04 +25-12-2019 14:00,7163359.092,0.358705931,0.358705931,1.00E-04 +25-12-2019 15:00,7163228.594,0.369012741,0.369012741,1.00E-04 +25-12-2019 16:00,7163098.948,0.349591566,0.349591566,1.00E-04 +25-12-2019 17:00,7162970.155,0.375577193,0.375577193,1.00E-04 +25-12-2019 18:00,7162842.214,0.36065926,0.36065926,1.00E-04 +25-12-2019 19:00,7162715.126,0.327527544,0.327527544,1.00E-04 +25-12-2019 20:00,7162588.891,0.269564441,0.269564441,1.00E-04 +25-12-2019 21:00,7162463.508,0.175237714,0.175237714,1.00E-04 +25-12-2019 22:00,7162338.978,0.084106028,0.084106028,1.00E-04 +25-12-2019 23:00,7162215.3,0.035795801,0.035795801,1.00E-04 +26-12-2019 0:00,7162092.476,0.014320515,0.014320515,1.00E-04 +26-12-2019 1:00,7161970.504,0.004311432,0.004311432,1.00E-04 +26-12-2019 2:00,7161849.385,0.002332765,0.002332765,1.00E-04 +26-12-2019 3:00,7161729.12,0.003518724,0.003518724,1.00E-04 +26-12-2019 4:00,7161609.707,0.016658364,0.016658364,1.00E-04 +26-12-2019 5:00,7161491.148,0.100791206,0.100791206,1.00E-04 +26-12-2019 6:00,7161373.442,0.229135037,0.229135037,1.00E-04 +26-12-2019 7:00,7161256.589,0.322609961,0.322609961,1.00E-04 +26-12-2019 8:00,7161140.59,0.41946668,0.41946668,1.00E-04 +26-12-2019 9:00,7161025.444,0.374933617,0.374933617,1.00E-04 +26-12-2019 10:00,7160911.152,0.393222869,0.393222869,1.00E-04 +26-12-2019 11:00,7160797.713,0.52200598,0.52200598,1.00E-04 +26-12-2019 12:00,7160685.127,0.469428136,0.469428136,1.00E-04 +26-12-2019 13:00,7160573.396,0.353335222,0.353335222,1.00E-04 +26-12-2019 14:00,7160462.518,0.396171003,0.396171003,1.00E-04 +26-12-2019 15:00,7160352.493,0.400399673,0.400399673,1.00E-04 +26-12-2019 16:00,7160243.323,0.374707794,0.374707794,1.00E-04 +26-12-2019 17:00,7160135.006,0.400290169,0.400290169,1.00E-04 +26-12-2019 18:00,7160027.544,0.386250799,0.386250799,1.00E-04 +26-12-2019 19:00,7159920.935,0.350898047,0.350898047,1.00E-04 +26-12-2019 20:00,7159815.181,0.288425989,0.288425989,1.00E-04 +26-12-2019 21:00,7159710.28,0.188045741,0.188045741,1.00E-04 +26-12-2019 22:00,7159606.234,0.089157297,0.089157297,1.00E-04 +26-12-2019 23:00,7159503.042,0.038324486,0.038324486,1.00E-04 +27-12-2019 0:00,7159400.704,0.015428298,0.015428298,1.00E-04 +27-12-2019 1:00,7159299.22,0.004955978,0.004955978,1.00E-04 +27-12-2019 2:00,7159198.591,0.002780288,0.002780288,1.00E-04 +27-12-2019 3:00,7159098.816,0.004110914,0.004110914,1.00E-04 +27-12-2019 4:00,7158999.896,0.021449374,0.021449374,1.00E-04 +27-12-2019 5:00,7158901.83,0.120585963,0.120585963,1.00E-04 +27-12-2019 6:00,7158804.619,0.27216288,0.27216288,1.00E-04 +27-12-2019 7:00,7158708.263,0.382143288,0.382143288,1.00E-04 +27-12-2019 8:00,7158612.761,0.476235609,0.476235609,1.00E-04 +27-12-2019 9:00,7158518.114,0.344244598,0.344244598,1.00E-04 +27-12-2019 10:00,7158424.321,0.317842074,0.317842074,1.00E-04 +27-12-2019 11:00,7158331.383,0.434492643,0.434492643,1.00E-04 +27-12-2019 12:00,7158239.301,0.359261157,0.359261157,1.00E-04 +27-12-2019 13:00,7158148.073,0.222904644,0.222904644,1.00E-04 +27-12-2019 14:00,7158057.7,0.378500988,0.378500988,1.00E-04 +27-12-2019 15:00,7157968.182,0.422323517,0.422323517,1.00E-04 +27-12-2019 16:00,7157879.519,0.412015925,0.412015925,1.00E-04 +27-12-2019 17:00,7157791.711,0.450822048,0.450822048,1.00E-04 +27-12-2019 18:00,7157704.759,0.436726153,0.436726153,1.00E-04 +27-12-2019 19:00,7157618.661,0.400981875,0.400981875,1.00E-04 +27-12-2019 20:00,7157533.419,0.330808118,0.330808118,1.00E-04 +27-12-2019 21:00,7157449.032,0.216615725,0.216615725,1.00E-04 +27-12-2019 22:00,7157365.501,0.106020611,0.106020611,1.00E-04 +27-12-2019 23:00,7157282.824,0.045366487,0.045366487,1.00E-04 +28-12-2019 0:00,7157201.004,0.019210682,0.019210682,1.00E-04 +28-12-2019 1:00,7157120.038,0.006894797,0.006894797,1.00E-04 +28-12-2019 2:00,7157039.928,0.004676425,0.004676425,1.00E-04 +28-12-2019 3:00,7156960.674,0.009769604,0.009769604,1.00E-04 +28-12-2019 4:00,7156882.275,0.043900242,0.043900242,1.00E-04 +28-12-2019 5:00,7156804.732,0.198635211,0.198635211,1.00E-04 +28-12-2019 6:00,7156728.044,0.41303445,0.41303445,1.00E-04 +28-12-2019 7:00,7156652.212,0.551363446,0.551363446,1.00E-04 +28-12-2019 8:00,7156577.236,0.663753547,0.663753547,1.00E-04 +28-12-2019 9:00,7156503.116,0.545383288,0.545383288,1.00E-04 +28-12-2019 10:00,7156429.851,0.512666436,0.512666436,1.00E-04 +28-12-2019 11:00,7156357.443,0.623108956,0.623108956,1.00E-04 +28-12-2019 12:00,7156285.89,0.556345954,0.556345954,1.00E-04 +28-12-2019 13:00,7156215.193,0.452171243,0.452171243,1.00E-04 +28-12-2019 14:00,7156145.352,0.485649072,0.485649072,1.00E-04 +28-12-2019 15:00,7156076.367,0.497762908,0.497762908,1.00E-04 +28-12-2019 16:00,7156008.238,0.46971978,0.46971978,1.00E-04 +28-12-2019 17:00,7155940.965,0.498266189,0.498266189,1.00E-04 +28-12-2019 18:00,7155874.548,0.479376032,0.479376032,1.00E-04 +28-12-2019 19:00,7155808.987,0.439123691,0.439123691,1.00E-04 +28-12-2019 20:00,7155744.283,0.36555627,0.36555627,1.00E-04 +28-12-2019 21:00,7155680.434,0.237518151,0.237518151,1.00E-04 +28-12-2019 22:00,7155617.442,0.113775473,0.113775473,1.00E-04 +28-12-2019 23:00,7155555.306,0.050457323,0.050457323,1.00E-04 +29-12-2019 0:00,7155494.027,0.021548196,0.021548196,1.00E-04 +29-12-2019 1:00,7155433.603,0.008707307,0.008707307,1.00E-04 +29-12-2019 2:00,7155374.036,0.007320099,0.007320099,1.00E-04 +29-12-2019 3:00,7155315.326,0.015277189,0.015277189,1.00E-04 +29-12-2019 4:00,7155257.472,0.057103705,0.057103705,1.00E-04 +29-12-2019 5:00,7155200.474,0.233764623,0.233764623,1.00E-04 +29-12-2019 6:00,7155144.333,0.473169251,0.473169251,1.00E-04 +29-12-2019 7:00,7155089.048,0.613277739,0.613277739,1.00E-04 +29-12-2019 8:00,7155034.62,0.725765378,0.725765378,1.00E-04 +29-12-2019 9:00,7154981.048,0.594168931,0.594168931,1.00E-04 +29-12-2019 10:00,7154928.333,0.550342319,0.550342319,1.00E-04 +29-12-2019 11:00,7154876.475,0.659336185,0.659336185,1.00E-04 +29-12-2019 12:00,7154825.473,0.585044095,0.585044095,1.00E-04 +29-12-2019 13:00,7154775.328,0.481229758,0.481229758,1.00E-04 +29-12-2019 14:00,7154726.039,0.51084289,0.51084289,1.00E-04 +29-12-2019 15:00,7154677.608,0.518298553,0.518298553,1.00E-04 +29-12-2019 16:00,7154630.033,0.488714389,0.488714389,1.00E-04 +29-12-2019 17:00,7154583.315,0.516346677,0.516346677,1.00E-04 +29-12-2019 18:00,7154537.453,0.494007049,0.494007049,1.00E-04 +29-12-2019 19:00,7154492.449,0.447952333,0.447952333,1.00E-04 +29-12-2019 20:00,7154448.301,0.369490648,0.369490648,1.00E-04 +29-12-2019 21:00,7154405.01,0.240007141,0.240007141,1.00E-04 +29-12-2019 22:00,7154362.576,0.114226706,0.114226706,1.00E-04 +29-12-2019 23:00,7154320.999,0.050950165,0.050950165,1.00E-04 +30-12-2019 0:00,7154280.279,0.021632943,0.021632943,1.00E-04 +30-12-2019 1:00,7154240.415,0.009022134,0.009022134,1.00E-04 +30-12-2019 2:00,7154201.409,0.007565375,0.007565375,1.00E-04 +30-12-2019 3:00,7154163.26,0.015102117,0.015102117,1.00E-04 +30-12-2019 4:00,7154125.967,0.055753807,0.055753807,1.00E-04 +30-12-2019 5:00,7154089.532,0.225396793,0.225396793,1.00E-04 +30-12-2019 6:00,7154053.954,0.45644119,0.45644119,1.00E-04 +30-12-2019 7:00,7154019.233,0.590714244,0.590714244,1.00E-04 +30-12-2019 8:00,7153985.369,0.695522047,0.695522047,1.00E-04 +30-12-2019 9:00,7153952.362,0.484561511,0.484561511,1.00E-04 +30-12-2019 10:00,7153920.212,0.398524808,0.398524808,1.00E-04 +30-12-2019 11:00,7153888.919,0.553608641,0.553608641,1.00E-04 +30-12-2019 12:00,7153858.484,0.427741585,0.427741585,1.00E-04 +30-12-2019 13:00,7153828.905,0.293941674,0.293941674,1.00E-04 +30-12-2019 14:00,7153800.184,0.444276709,0.444276709,1.00E-04 +30-12-2019 15:00,7153772.32,0.488699362,0.488699362,1.00E-04 +30-12-2019 16:00,7153745.313,0.466333191,0.466333191,1.00E-04 +30-12-2019 17:00,7153719.163,0.490288817,0.490288817,1.00E-04 +30-12-2019 18:00,7153693.871,0.473353498,0.473353498,1.00E-04 +30-12-2019 19:00,7153669.436,0.433846364,0.433846364,1.00E-04 +30-12-2019 20:00,7153645.858,0.359864363,0.359864363,1.00E-04 +30-12-2019 21:00,7153623.137,0.233503595,0.233503595,1.00E-04 +30-12-2019 22:00,7153601.274,0.111144296,0.111144296,1.00E-04 +30-12-2019 23:00,7153580.268,0.048836507,0.048836507,1.00E-04 +31-12-2019 0:00,7153560.119,0.020874907,0.020874907,1.00E-04 +31-12-2019 1:00,7153540.828,0.008064308,0.008064308,1.00E-04 +31-12-2019 2:00,7153522.394,0.006158415,0.006158415,1.00E-04 +31-12-2019 3:00,7153504.817,0.011881561,0.011881561,1.00E-04 +31-12-2019 4:00,7153488.098,0.049240688,0.049240688,1.00E-04 +31-12-2019 5:00,7153472.236,0.204513764,0.204513764,1.00E-04 +31-12-2019 6:00,7153457.231,0.428980208,0.428980208,1.00E-04 +31-12-2019 7:00,7153443.084,0.57077863,0.57077863,1.00E-04 +31-12-2019 8:00,7153429.794,0.689960507,0.689960507,1.00E-04 +31-12-2019 9:00,7153417.361,0.556279556,0.556279556,1.00E-04 +31-12-2019 10:00,7153405.786,0.50881851,0.50881851,1.00E-04 +31-12-2019 11:00,7153395.068,0.615059566,0.615059566,1.00E-04 +31-12-2019 12:00,7153385.208,0.543006493,0.543006493,1.00E-04 +31-12-2019 13:00,7153376.205,0.439104044,0.439104044,1.00E-04 +31-12-2019 14:00,7153368.059,0.46955531,0.46955531,1.00E-04 +31-12-2019 15:00,7153360.771,0.509024189,0.509024189,1.00E-04 +31-12-2019 16:00,7153354.34,0.495105355,0.495105355,1.00E-04 +31-12-2019 17:00,7153348.767,0.509744904,0.509744904,1.00E-04 +31-12-2019 18:00,7153344.051,0.484135954,0.484135954,1.00E-04 +31-12-2019 19:00,7153340.193,0.437378359,0.437378359,1.00E-04 +31-12-2019 20:00,7153337.192,0.360347986,0.360347986,1.00E-04 +31-12-2019 21:00,7153335.048,0.234917204,0.234917204,1.00E-04 +31-12-2019 22:00,7153333.762,0.114569593,0.114569593,1.00E-04 diff --git a/examples/heating_and_cooling/model/Heating and cooling and elec network with return network with costs.esdl b/examples/heating_and_cooling/model/Heating and cooling and elec network with return network with costs.esdl new file mode 100644 index 000000000..ae90d942a --- /dev/null +++ b/examples/heating_and_cooling/model/Heating and cooling and elec network with return network with costs.esdl @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/heating_and_cooling/model/Heating and cooling network with return network with costs.esdl b/examples/heating_and_cooling/model/Heating and cooling network with return network with costs.esdl new file mode 100644 index 000000000..702ed0249 --- /dev/null +++ b/examples/heating_and_cooling/model/Heating and cooling network with return network with costs.esdl @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/heating_and_cooling/src/run_case.py b/examples/heating_and_cooling/src/run_case.py index 2b7556e9f..cb06f066a 100644 --- a/examples/heating_and_cooling/src/run_case.py +++ b/examples/heating_and_cooling/src/run_case.py @@ -5,10 +5,18 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.util import run_esdl_mesido_optimization +from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing from mesido.workflows.utils.adapt_profiles import ( adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, ) +import numpy as np + +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.optimization.goal_programming_mixin_base import Goal + logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) @@ -145,6 +153,711 @@ def constraints(self, ensemble_member): # heat_to_discharge_test(heat_problem, results) +class HeatCoolingGrowWorkflow(TestCase): + + def heating_cooling_case(self): + """ + In this case we have a network with an air-water hp, a WKO (warm and cold well) and both + hot and cold demand. The heat and cold demand was balanced such that the seasonal storage + gets utilized as intended while minizing the TCO. + """ + import os + import sys + + from mesido.workflows.utils.error_types import NetworkErrors + + root_folder = os.path.join(Path(__file__).resolve().parent.parent.parent.parent, "tests") + sys.path.insert(1, root_folder) + + from utils_tests import ( + demand_matching_test, + energy_conservation_test, + heat_to_discharge_test, + ) + + base_folder = Path(__file__).resolve().parent.parent + + class MinElectcost(Goal): + + priority = 2 + + order = 1 + + def __init__(self, asset_name: str): + self.function_nominal = 1.0e6 + self.asset_name = asset_name + + def function( + self, + optimization_problem: CollocatedIntegratedOptimizationProblem, + ensemble_member: int, + ): + + parameters = optimization_problem.parameters(ensemble_member) + canonical, sign = optimization_problem.alias_relation.canonical_signed( + f"{self.asset_name}.Heat_source" + ) + heat_source = ( + optimization_problem.state_vector(canonical, ensemble_member) + * optimization_problem.variable_nominal(canonical) + * sign + ) + + assert len(optimization_problem.get_electricity_carriers().keys()) <= 1 + + price_profile = optimization_problem.get_timeseries( + f"{list(optimization_problem.get_electricity_carriers().values())[0]['name']}" + ".price_profile" + ) + timesteps_hr = np.diff(optimization_problem.times()) / 3600 + + sum = 0.0 + for i in range(1, len(optimization_problem.times())): + sum += ( + price_profile.values[i] + * heat_source[i] + * timesteps_hr[i - 1] + / parameters[f"{self.asset_name}.cop"] + ) + + return sum + + class UpdatedProblem(EndScenarioSizingStaged, CollocatedIntegratedOptimizationProblem): + + # TODO: Issue sizing pipes connected to demands, available pipe classes are updated in + # read(), ESDLAdditionalVarsMixin before the code below. This means the + # incorrect demand values are then used. + def read(self): + super().read() + + # Set the peak of the heating demand since the specified profile is normalized to 1 + # TODO --> use new profile in esdl, but issue with cold profile. So for now + # reading in profiles from file. Also currently we cannot use a combination of + # esdl and csv profile inputs, potentially needed? + for d in self.energy_system_components["heat_demand"]: + target = self.get_timeseries(f"{d}.target_heat_demand") + for ii in range(len(target.values)): + target.values[ii] = target.values[ii] * 7.0e6 + + self.io.set_timeseries( + f"{d}.target_heat_demand", + self.io._DataStore__timeseries_datetimes, + target.values, + 0, + ) + # Cold demand specified profile is not normalized + # Cold demand value is reduced to get the correct balance between the heat and cold + # demand such that the seasonal storage is utilized + + for d in self.energy_system_components["cold_demand"]: + # TODO -->> locally do not have access to proifle uploaded in mapediotr + target = self.get_timeseries(f"{d}.target_cold_demand") + for ii in range(len(target.values)): + # target.values[ii] = target.values[ii] * 0.25 + target.values[ii] = target.values[ii] * 0.65 + if ( + target.times[ii] < 4.5 * 30.0 * 24.0 * 60.0 * 60 # 4 + or target.times[ii] > 7.5 * 30.0 * 24.0 * 60.0 * 60 # 7 + ): + target.values[ii] *= 0.01 + + max_cold_val = max(target.values) + ind_max_cold_val = np.where(target.values == max_cold_val)[0][0] + factor_sin_wave = [] + for ii in range(1, 24): + factor_sin_wave.append(np.sin(2.0 * np.pi * float(ii) / 24.0)) + target.values[ind_max_cold_val + (ii - 12)] += ( + -1.0e6 * factor_sin_wave[ii - 1] + ) + + self.io.set_timeseries( + f"{d}.target_cold_demand", + self.io._DataStore__timeseries_datetimes, + target.values, + 0, + ) + + def goals(self): + + goals = super().goals().copy() + + for ac in self.energy_system_components.get("air_water_heat_pump_elec", []): + goals.append(MinElectcost(ac)) + + return goals + + solution = run_end_scenario_sizing( + UpdatedProblem, + base_folder=base_folder, + # esdl_file_name="Heating and cooling network with return network with costs.esdl", + esdl_file_name=( + "Heating and cooling and elec network with return network with costs.esdl" + ), + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + # input_timeseries_file="timeseries_4.csv", + input_timeseries_file="timeseries_4_elect_cost.csv", + error_type_check=NetworkErrors.HEAT_AND_COOL_NETWORK_ERRORS, + ) + + results = solution.extract_results() + + # TODO: ThThis code still has to be moved to a test case in a seperate PR + demand_matching_test(solution, results) + energy_conservation_test(solution, results) + heat_to_discharge_test(solution, results) + + total_opex = 0.0 + total_capex = 0.0 + for asset in [ + *solution.energy_system_components.get("airco", []), + *solution.energy_system_components.get("air_water_heat_pump", []), + *solution.energy_system_components.get("air_water_heat_pump_elec", []), + *solution.energy_system_components.get("low_temperature_ates", []), + ]: + # investment + installation costs costs + if asset not in solution.energy_system_components["low_temperature_ates"]: + investment_cost = ( + solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + .attributes["costInformation"] + .investmentCosts.value + * results[f"{asset}__max_size"] + / 1.0e6 + ) + total_capex += investment_cost + assert abs(investment_cost - results[f"{asset}__investment_cost"]) < 1.0e-8 + installation_cost = ( + solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + .attributes["costInformation"] + .installationCosts.value + ) + total_capex += installation_cost + assert installation_cost == results[f"{asset}__installation_cost"] + + # fixed costs per year + fixed_operational_cost = ( + ( + solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + .attributes["costInformation"] + .fixedMaintenanceCosts.value + + solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + .attributes["costInformation"] + .fixedOperationalCosts.value + ) + * results[f"{asset}__max_size"] + / 1.0e6 + ) + total_opex += fixed_operational_cost * solution.parameters(0)[f"{asset}.technical_life"] + assert ( + abs(fixed_operational_cost - results[f"{asset}__fixed_operational_cost"]) < 1.0e-8 + ) + + # variable operational cost + timesteps_hr = np.diff(solution.times()) / 3600 + if asset not in solution.energy_system_components["low_temperature_ates"]: + var_op_costs = ( + solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + .attributes["costInformation"] + .variableOperationalCosts.value + / 1.0e6 + ) + assert var_op_costs > 0 + else: + var_op_costs = 0.0 + factor = 1.0 + if asset in [ + *solution.energy_system_components.get("air_water_heat_pump", []), + *solution.energy_system_components.get("air_water_heat_pump_elec", []), + ]: + factor = solution.esdl_assets[ + solution.esdl_asset_name_to_id_map[f"{asset}"] + ].attributes["COP"] + assert factor >= 1.0 + variable_operational_cost = 0.0 + for ii in range(1, len(solution.times())): + variable_operational_cost += ( + var_op_costs * results[f"{asset}.Heat_flow"][ii] * timesteps_hr[ii - 1] / factor + ) + + if asset in solution.energy_system_components.get("air_water_heat_pump_elec", []): + price_profile = solution.get_timeseries( + f"{list(solution.get_electricity_carriers().values())[0]['name']}.price_profile" + ) + # elec costs: not included in the __variable_operational_cost variable yet + elect_cost = 0.0 + for ii in range(1, len(solution.times())): + elect_cost += ( + price_profile.values[ii] + * results[f"{asset}.Heat_flow"][ii] + * timesteps_hr[ii - 1] + / solution.parameters(0)[f"{asset}.cop"] + ) + + pump_power = 0.0 + for ii in range(1, len(solution.times())): + # pump power + pump_power += ( + price_profile.values[ii] + * results[f"{asset}.Pump_power"][ii] + * timesteps_hr[ii - 1] + / solution.parameters(0)[f"{asset}.pump_efficiency"] + ) + + variable_operational_cost += pump_power + + total_opex += ( + variable_operational_cost * solution.parameters(0)[f"{asset}.technical_life"] + ) + assert ( + abs(variable_operational_cost - results[f"{asset}__variable_operational_cost"]) + < 1.0e-8 + ) + + for asset in solution.energy_system_components["heat_pipe"]: + total_capex += results[f"{asset}__investment_cost"] + + # cold demand + investment_cost = 0.0 + for asset in solution.energy_system_components.get("cold_demand", []): + investment_cost += ( + results[f"{asset}__max_size"] + * solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + .attributes["costInformation"] + .investmentCosts.value + / 1.0e6 + ) + assert abs(investment_cost - results[f"{asset}__investment_cost"]) < 1.0e-8 + installation_cost = 0.0 + for asset in solution.energy_system_components.get("cold_demand", []): + installation_cost += ( + solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + .attributes["costInformation"] + .installationCosts.value + ) + assert abs(installation_cost - results[f"{asset}__installation_cost"]) < 1.0e-8 + total_capex += investment_cost + installation_cost + + assert ( + abs( + solution.objective_value + + ( + results["CoolingDemand_1__installation_cost"] + + results["CoolingDemand_1__investment_cost"] + ) + / 1.0e6 + - (total_capex + total_opex + elect_cost) / 1.0e6 + ) + < 1.0e-6 + ) + + # -------------------------------------------------------------------------------------- + # Do not delete the code below. It is used for creating plots (also used for conference + # presentations) + + # create_plots = False + # if create_plots: + + # import matplotlib.pyplot as plt + # legend_used = [ + # "ATES", + # "Heat demand", + # "Heat pump", + # "Cooling demand", + # "Cold producer", + # ] + # # ------------------------------------------------------------------------------------ + # # Peak day + # times_steps = ( + # solution.get_timeseries(f"HeatingDemand_1.target_heat_demand").times[1 :] + # - solution.get_timeseries(f"HeatingDemand_1.target_heat_demand").times[0 : -1] + # ) + # index_start_peak_day = [None] * 2 + # index_end_peak_day = [None] * 2 + # index_start_peak_day[0] = np.where(times_steps == 3600.0)[0][0] + # index_end_peak_day[1] = np.where(times_steps == 3600.0)[0][-1] + 2 + # index_start_peak_day[1] = index_end_peak_day[1] - 24 + # index_end_peak_day[0] = index_start_peak_day[0] + 24 + + # for ip in range(len(index_start_peak_day)): + # times_peak_day = ( + # solution.get_timeseries(f"HeatingDemand_1.target_heat_demand") + # .times[index_start_peak_day[ip]: index_end_peak_day[ip]] + # - min( + # solution.get_timeseries(f"HeatingDemand_1.target_heat_demand") + # .times[index_start_peak_day[ip]: index_end_peak_day[ip]] + # ) + # ) / 3600.0 + + # fig_1 = plt.figure() + # plt.plot( + # times_peak_day[1:], + # results["ATES_1.Heat_flow"][ + # index_start_peak_day[ip] + 1: index_end_peak_day[ip] + # ] / 1.0e6, + # # marker="x", + # ) + # plt.plot( + # times_peak_day[1:], + # ( + # results["HeatingDemand_1.Heat_flow"][ + # index_start_peak_day[ip] + 1: index_end_peak_day[ip] + # ] + # + results["HeatingDemand_2.Heat_flow"][ + # index_start_peak_day[ip] + 1: index_end_peak_day[ip] + # ] + # ) / 1.0e6, + # # marker="H", + # linestyle="dotted", + # ) + # plt.plot( + # times_peak_day[1:], + # results["HeatPump_1.Heat_flow"][ + # index_start_peak_day[ip] + 1: index_end_peak_day[ip] + # ] / 1.0e6, + # # marker=">", + # ) + + # plt.plot( + # times_peak_day[1:], + # results["CoolingDemand_1.Heat_flow"][ + # index_start_peak_day[ip] + 1: index_end_peak_day[ip] + # ] / 1.0e6, + # # marker="*", + # linestyle="dotted", + # ) + # plt.plot( + # times_peak_day[1:], + # results["Airco_1.Heat_flow"][ + # index_start_peak_day[ip] + 1: index_end_peak_day[ip] + # ] / 1.0e6, + # # marker="o", + # ) + + # plt.legend( + # legend_used, prop={'size': 10}, loc='center left', bbox_to_anchor=(1, 0.5) + # ) + + # plt.yticks(np.linspace(-6, 14, 11)) + # plt.xlabel("Time [hourly]", fontsize=12) + # plt.ylabel("Power [MW]", fontsize=12) + # plt.tight_layout() + # plt.savefig(f"All_in_one_peak_day_ip{ip}") + # plt.show() + # plt.close() + # # ---------------------------------------------------------------------------------- + # # Seasonal + # times_seasonal = ( + # solution.get_timeseries(f"HeatingDemand_1.target_heat_demand") + # .times[1:index_start_peak_day[0]] # index_end_peak_day + # ) / 3600.0 / 24.0 + # times_seasonal = np.append( + # times_seasonal, + # solution.get_timeseries(f"HeatingDemand_1.target_heat_demand") + # .times[index_end_peak_day[0] : index_start_peak_day[1]] / 3600.0 / 24.0 + # ) + # times_seasonal = np.append( + # times_seasonal, + # solution.get_timeseries(f"HeatingDemand_1.target_heat_demand") + # .times[index_end_peak_day[1] : ] / 3600.0 / 24.0 + # ) + + # fig_2 = plt.figure() + + # temp_season = (results["ATES_1.Heat_flow"][1 : index_start_peak_day[0]]) + # temp_season = np.append( + # temp_season, results["ATES_1.Heat_flow"][ + # index_end_peak_day[0] : index_start_peak_day[1] + # ] + # ) + # temp_season = np.append( + # temp_season, results["ATES_1.Heat_flow"][index_end_peak_day[1]:] + # ) + # plt.plot( + # times_seasonal, + # temp_season / 1.0e6, + # # marker="x", + # ) + + # temp_season = ( + # results["HeatingDemand_1.Heat_flow"][1 : index_start_peak_day[0]] + # + results["HeatingDemand_2.Heat_flow"][1 : index_start_peak_day[0]] + # ) + # temp_season = np.append( + # temp_season, + # results["HeatingDemand_1.Heat_flow"][ + # index_end_peak_day[0] : index_start_peak_day[1] + # ] + # + results["HeatingDemand_2.Heat_flow"][ + # index_end_peak_day[0] : index_start_peak_day[1] + # ] + # ) + # temp_season = np.append( + # temp_season, + # results["HeatingDemand_1.Heat_flow"][index_end_peak_day[1] :] + # + results["HeatingDemand_2.Heat_flow"][index_end_peak_day[1] :] + # ) + # plt.plot( + # times_seasonal, + # temp_season / 1.0e6, + # # marker="H", + # linestyle="dotted", + # ) + + # temp_season = (results["HeatPump_1.Heat_flow"][1 : index_start_peak_day[0]]) + # temp_season = np.append( + # temp_season, + # results["HeatPump_1.Heat_flow"][index_end_peak_day[0] : index_start_peak_day[1]], + # ) + # temp_season = np.append( + # temp_season, + # results["HeatPump_1.Heat_flow"][index_end_peak_day[1] :], + # ) + # plt.plot( + # times_seasonal, + # temp_season / 1.0e6, + # # marker=">", + # ) + + # temp_season = (results["CoolingDemand_1.Heat_flow"][1 : index_start_peak_day[0]]) + # temp_season = np.append( + # temp_season, + # results["CoolingDemand_1.Heat_flow"][ + # index_end_peak_day[0] : index_start_peak_day[1] + # ], + # ) + # temp_season = np.append( + # temp_season, + # results["CoolingDemand_1.Heat_flow"][index_end_peak_day[1] :], + # ) + # plt.plot( + # times_seasonal, + # temp_season / 1.0e6, + # # marker="*", + # linestyle="dotted", + # ) + + # temp_season = (results["Airco_1.Heat_flow"][1 : index_start_peak_day[0]]) + # temp_season = np.append( + # temp_season, + # results["Airco_1.Heat_flow"][index_end_peak_day[0] : index_start_peak_day[1]] + # ) + # temp_season = np.append( + # temp_season, + # results["Airco_1.Heat_flow"][index_end_peak_day[1] :] + # ) + # plt.plot( + # times_seasonal, + # temp_season / 1.0e6, + # # marker="o", + # ) + + # plt.legend(legend_used, prop={'size': 10}, loc='center left', bbox_to_anchor=(1, 0.5)) + + # plt.xlabel("Time [daily]", fontsize=12) + # plt.ylabel("Power [MW]", fontsize=12) + # plt.tight_layout() + # plt.savefig("All_in_one_seasonal") + # plt.show() + # plt.close() + + # # ------------------------------------------------------------------------------------ + # # ATES goodies + # # seasonal + # fig_4 = plt.figure() + + # temp_season = (results["ATES_1.Stored_volume"][0 : index_start_peak_day[0]]) + # temp_season = np.append( + # temp_season, + # results["ATES_1.Stored_volume"][index_end_peak_day[0] : index_start_peak_day[1]], + # ) + # temp_season = np.append( + # temp_season, + # results["ATES_1.Stored_volume"][index_end_peak_day[1] :], + # ) + # plt.plot( + # # this was done so that one can see the start == end value + # np.append(0, times_seasonal), + # temp_season, + # # marker="+", + # color="red", + # ) + + # max_volume_warm_well = max(temp_season) - min(temp_season) + # cold_well_volume = -temp_season + # cold_well_volume = cold_well_volume + max_volume_warm_well + # plt.plot( + # # this was done so that one can see the start == end value + # np.append(0, times_seasonal), + # cold_well_volume, + # # marker="x", + # color="cyan", + # ) + + # plt.legend( + # ["Warm well", "Cold well"], + # prop={'size': 10}, + # loc='center left', + # bbox_to_anchor=(1, 0.5), + # ) + # plt.xlabel("Time [daily]", fontsize=12) + # plt.ylabel("ATES stored volume [m$^3$]", fontsize=12) + # plt.tight_layout() + # plt.savefig("ATES_volume_seasonal") + # plt.show() + # plt.close() + + # # peak day + # for ip in range(len(index_start_peak_day)): + # cold_well_volume = ( + # -results["ATES_1.Stored_volume"][ + # index_start_peak_day[ip] : index_end_peak_day[ip] + # ] + # ) + # cold_well_volume = cold_well_volume + max_volume_warm_well + + # fig_warm_cold_well_peak, ax1 = plt.subplots() + + # color = 'tab:red' + # ax1.set_xlabel('Time [hourly]', fontsize=12) + # ax1.set_ylabel('Warm well stored volume [m$^3$]', color=color, fontsize=12) + # ax1.plot( + # times_peak_day, + # results["ATES_1.Stored_volume"][ + # index_start_peak_day[ip] : index_end_peak_day[ip] + # ], + # color=color, + # ) + # ax1.tick_params(axis='y', labelcolor=color) + + # ax2 = ax1.twinx() # instantiate a second Axes that shares the same x-axis + + # color = 'tab:cyan' + # # we already handled the x-label with ax1 + # ax2.set_ylabel('Cold well stored volume [m$^3$]', color=color, fontsize=12) + # ax2.plot(times_peak_day, cold_well_volume, color=color) + # ax2.tick_params(axis='y', labelcolor=color) + # # Line below needed otherwise the right y-label is slightly clipped + # fig_warm_cold_well_peak.tight_layout() + # plt.savefig(f"ATES_volume_warm_cold_well_peak_day_ip{ip}") + # plt.show() + # plt.close() + # # ------------------------------------------------------------------------------------ + # # Demands + # # heat dmemand + # # peak day + + # fig_tot_heat_demand_peak_day = plt.figure() + # plt.plot( + # times_peak_day[1:], + # ( + # results["HeatingDemand_1.Heat_flow"][ + # index_start_peak_day[0] + 1: index_end_peak_day[0] + # ] + # + results["HeatingDemand_2.Heat_flow"][ + # index_start_peak_day[0] + 1: index_end_peak_day[0] + # ] + # ) + # / 1.0e6, + # # marker="H", + # color="red", + # linestyle="dotted", + # ) + # plt.xlabel("Time [hourly]", fontsize=12) + # plt.ylabel("Power [MW]", fontsize=12) + # plt.tight_layout() + # plt.savefig(f"Total_heat_demand_profile_peak_day_ip{0}") + # plt.show() + # plt.close() + + # # Demands + # # cold dmemand + # # peak day + + # fig_tot_cold_demand_peak_day = plt.figure() + # plt.plot( + # times_peak_day[1:], + # ( + # results["CoolingDemand_1.Heat_flow"][ + # index_start_peak_day[1] + 1: index_end_peak_day[1] + # ] + # ) + # / 1.0e6, + # # marker="H", + # color="cyan", + # linestyle="dotted", + # ) + # plt.xlabel("Time [hourly]", fontsize=12) + # plt.ylabel("Power [MW]", fontsize=12) + # plt.tight_layout() + # plt.savefig(f"Total_cold_demand_profile_peak_day_ip{1}") + # plt.show() + # plt.close() + + # # heating demand + # # seasonal + # fig_6 = plt.figure() + # temp_season = ( + # results["HeatingDemand_1.Heat_flow"][1 : index_start_peak_day[0]] + # + results["HeatingDemand_2.Heat_flow"][1 : index_start_peak_day[0]] + # ) + # temp_season = np.append( + # temp_season, + # results["HeatingDemand_1.Heat_flow"][ + # index_end_peak_day[0] : index_start_peak_day[1] + # ] + # + results["HeatingDemand_2.Heat_flow"][ + # index_end_peak_day[0] : index_start_peak_day[1] + # ], + # ) + # temp_season = np.append( + # temp_season, + # results["HeatingDemand_1.Heat_flow"][index_end_peak_day[1] :] + # + results["HeatingDemand_2.Heat_flow"][index_end_peak_day[1] :], + # ) + # plt.plot( + # times_seasonal, + # temp_season / 1.0e6, + # # marker="H", + # color="red", + # linestyle="dotted", + # ) + # plt.xlabel("Time [daily]", fontsize=12) + # plt.ylabel("Power [MW]", fontsize=12) + # plt.tight_layout() + # plt.savefig("Total_heat_demand_profile_seasonal") + # plt.show() + # plt.close() + + # fig_tot_cool_demand = plt.figure() + # temp_season = results["CoolingDemand_1.Heat_flow"][1 : index_start_peak_day[0]] + # temp_season = np.append( + # temp_season, + # results["CoolingDemand_1.Heat_flow"][ + # index_end_peak_day[0] : index_start_peak_day[1] + # ], + # ) + # temp_season = np.append( + # temp_season, results["CoolingDemand_1.Heat_flow"][index_end_peak_day[1] :] + # ) + # plt.plot( + # times_seasonal, + # temp_season / 1.0e6, + # # marker="*", + # color="cyan", + # linestyle="dotted", + # ) + # plt.xlabel("Time [daily]", fontsize=12) + # plt.ylabel("Power [MW]", fontsize=12) + # plt.tight_layout() + # plt.savefig("Total_cool_demand_profile_seasonal") + # plt.show() + # plt.close() + + if __name__ == "__main__": - test_cold_demand = HeatColdDemand() - test_cold_demand.heating_cooling_case() + + # test_cold_demand = HeatColdDemand() + # test_cold_demand.heating_cooling_case() + + t2 = HeatCoolingGrowWorkflow() + t2.heating_cooling_case() diff --git a/heat_producer) b/heat_producer) new file mode 100644 index 000000000..e69de29bb diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index fd087fe9e..95d8c5fb3 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -663,8 +663,8 @@ def pre(self): min(heat_losses), max(heat_losses), ) - self._pipe_heat_loss_nominals[heat_loss_var_name] = np.median( - [x for x in heat_losses if x > 0] + self._pipe_heat_loss_nominals[heat_loss_var_name] = abs( + np.median([x for x in heat_losses if abs(x) > 0]) ) for ensemble_member in range(self.ensemble_size): @@ -833,7 +833,7 @@ def _make_max_size_var(name, lb, ub, nominal): ub = bounds[f"{asset_name}.Heat_airco"][1] # Note that we only enforce the upper bound in state enabled if it was explicitly # specified for the demand - lb = 0.0 if np.isinf(bounds[f"{asset_name}.Heat_airco"][1]) else ub + lb = 0.0 if parameters[f"{asset_name}.state"] != 1 else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) for asset_name in self.energy_system_components.get("cold_demand", []): @@ -2060,6 +2060,25 @@ def __max_size_constraints(self, ensemble_member): ) ) + cold_asset_type = ["airco", "cold_demand"] + for cat in cold_asset_type: + for cld in self.energy_system_components.get(cat, []): + max_var_types.add(cat) + max_var = self._asset_max_size_map[cld] + max_cold = self.extra_variable(max_var, ensemble_member) + cold_flow = self.__state_vector_scaled(f"{cld}.Heat_flow", ensemble_member) + constraint_nominal = max( + self.variable_nominal(f"{cld}.Heat_flow"), + self.variable_nominal(f"{cld}.HeatIn.Heat") if cat == "cold_demand" else 0.0, + ) + constraints.append( + ( + (np_ones * max_cold - cold_flow) / constraint_nominal, + 0.0, + np.inf, + ) + ) + for a in [ *self.energy_system_components.get("ates", []), *self.energy_system_components.get("low_temperature_ates", []), diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 7f70b1719..8baa4392a 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -195,47 +195,48 @@ class _AssetToComponentBase: "DN1200": "Steel-S1-DN-1200", } # A map of the esdl assets to the asset types in pycml + # NOTE: the dictionary below is populated in an alphabetical order component_map = { "Airco": "airco", "ATES": "ates", "Battery": "electricity_storage", "Bus": "electricity_node", + "CheckValve": "check_valve", + "Compressor": "compressor", + "CoolingDemand": "cold_demand", "ElectricBoiler": "heat_source_elec", "ElectricityCable": "electricity_cable", "ElectricityDemand": "electricity_demand", "ElectricityProducer": "electricity_source", "Electrolyzer": "electrolyzer", "Export": "export", - "Compressor": "compressor", - "GenericConsumer": "heat_demand", - "CoolingDemand": "cold_demand", - "HeatExchange": "heat_exchanger", - "HeatingDemand": "heat_demand", - "HeatPump": "heat_pump", + "GasConversion": "gas_substation", + "GasDemand": "gas_demand", "GasHeater": "gas_boiler", "GasProducer": "gas_source", - "GasDemand": "gas_demand", - "GasConversion": "gas_substation", "GasStorage": "gas_tank_storage", + "GenericConversion": "generic_conversion", + "GenericConsumer": "heat_demand", "GenericProducer": "heat_source", "GeothermalSource": "heat_source", - "Losses": "heat_demand", + "HeatExchange": "heat_exchanger", + "HeatingDemand": "heat_demand", "HeatProducer": "heat_source", + "HeatPump": "heat_pump", + "HeatStorage": "heat_buffer", "Import": "import", - "ResidualHeatSource": "heat_source", - "GenericConversion": "generic_conversion", "Joint": "node", + "Losses": "heat_demand", "Pipe": "pipe", "Pump": "pump", "PressureReducingValve": "gas_substation", "PVInstallation": "electricity_source", - "HeatStorage": "heat_buffer", + "ResidualHeatSource": "heat_source", "Sensor": "skip", + "Transformer": "transformer", "Valve": "control_valve", "WindPark": "electricity_source", "WindTurbine": "electricity_source", - "Transformer": "transformer", - "CheckValve": "check_valve", } # Dictionary mapping asset types to cost attribute requirements @@ -296,20 +297,23 @@ class _AssetToComponentBase: }, } + # NOTE: the dictionary below is populated in an alphabetical order COST_VALIDATION_COMPONENT_TO_ASSET_TYPE = { - "HeatPump": "heat_pump", - "HeatingDemand": "heat_demand", - "ResidualHeatSource": "heat_source", + "Airco": "heat_pump", + "ATES": "ates", + "CoolingDemand": "heat_demand", + "Electrolyzer": "electrolyzer", + "ElectricBoiler": "heat_source", + "GasDemand": "gas_demand", + "GasStorage": "gas_tank_storage", "GeothermalSource": "heat_source", + "HeatExchange": "heat_exchanger", + "HeatingDemand": "heat_demand", + "HeatPump": "heat_pump", "HeatProducer": "heat_source", "HeatStorage": "heat_buffer", - "ATES": "ates", "Pipe": "pipe", - "HeatExchange": "heat_exchanger", - "GasDemand": "gas_demand", - "GasStorage": "gas_tank_storage", - "Electrolyzer": "electrolyzer", - "ElectricBoiler": "heat_source", + "ResidualHeatSource": "heat_source", } COST_ATTRIBUTE_TO_STRING = { diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index e591a2b37..88c36417c 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -531,6 +531,13 @@ def convert_airco(self, asset: Asset) -> Tuple[Type[Airco], MODIFIERS]: """ assert asset.asset_type in {"Airco"} + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.COLD_ASSET_TYPE_NOT_SUPPORTED, + asset.id, + f"Asset named {asset.name}: This is a cooling asset and it should be replaced with a" + " supported asset", + ) + max_ = asset.attributes["power"] if asset.attributes["power"] else math.inf q_nominal = self._get_connected_q_nominal(asset) @@ -563,6 +570,13 @@ def convert_cold_demand(self, asset: Asset) -> Tuple[Type[ColdDemand], MODIFIERS """ assert asset.asset_type in {"CoolingDemand"} + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.COLD_ASSET_TYPE_NOT_SUPPORTED, + asset.id, + f"Asset named {asset.name}: This is a cooling asset and it should be replaced with a" + " supported asset", + ) + max_demand = asset.attributes["power"] if asset.attributes["power"] else math.inf q_nominal = self._get_connected_q_nominal(asset) @@ -1406,10 +1420,20 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: ) # if no maxStorageTemperature is specified we assume a "regular" HT ATES model + low_temp_ates_max_storage_temp_deg = 30.0 if ( asset.attributes["maxStorageTemperature"] - and asset.attributes["maxStorageTemperature"] <= 30.0 + and asset.attributes["maxStorageTemperature"] <= low_temp_ates_max_storage_temp_deg ): + max_store_temp = asset.attributes["maxStorageTemperature"] + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.COLD_ASSET_TYPE_NOT_SUPPORTED, + asset.id, + f"Asset named {asset.name}: For this ATES the maxStorageTemperature has been set to" + f" {max_store_temp} degrees Celcius, please increase the value such that" + f" maxStorageTemperature > {low_temp_ates_max_storage_temp_deg} degrees Celcius", + ) + modifiers.update( dict( Heat_low_temperature_ates=dict( @@ -1423,6 +1447,7 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: "ATES in use: WKO (koude-warmteopslag, cold and heat storage) since the" " maximum temperature has been specified to be <= 30 degrees Celcius" ) + return LowTemperatureATES, modifiers else: modifiers.update( @@ -2583,6 +2608,13 @@ def convert_air_water_heat_pump_elec( """ assert asset.asset_type in {"HeatPump"} + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.ELECT_ASSET_TYPE_NOT_SUPPORTED, + asset.id, + f"Asset named {asset.name}: This is an asset that includes electricity and it should be" + " replaced with a supported asset", + ) + max_supply = asset.attributes["power"] if not max_supply: diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index cf2c78889..74a156d56 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -391,10 +391,7 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) """ # Import is done under the function instead of the top of the file # to avoid circular import issue - from mesido.workflows.utils.error_types import ( - HEAT_NETWORK_ERRORS, - potential_error_to_error, - ) + from mesido.workflows.utils.error_types import NetworkErrors, potential_error_to_error if profile.id in self._df: return self._df[profile.id] @@ -434,7 +431,7 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) f"Asset named {asset.name}: Database {profile.database}" f" is not available in the host.", ) - potential_error_to_error(HEAT_NETWORK_ERRORS) + potential_error_to_error(NetworkErrors.HEAT_NETWORK_ERRORS) time_series_data.load_influxdb( profile.measurement, @@ -453,7 +450,7 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) f" in {profile.measurement} is not available in the database.", ) - potential_error_to_error(HEAT_NETWORK_ERRORS) + potential_error_to_error(NetworkErrors.HEAT_NETWORK_ERRORS) for x in time_series_data.profile_data_list: if len(x) != 2: diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 8e91c8e4f..02356747a 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -145,6 +145,19 @@ def pre(self): ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational + elif asset_name in [*self.energy_system_components.get("cold_demand", [])]: + nominal_fixed_operational = ( + bounds[f"{asset_name}.Cold_demand"][1] + if not np.isinf(bounds[f"{asset_name}.Cold_demand"][1]) + else bounds[f"{asset_name}.HeatIn.Heat"][1] + ) + nominal_fixed_operational = ( + nominal_fixed_operational + if isinstance(nominal_fixed_operational, float) + else max(nominal_fixed_operational.values) + ) + nominal_variable_operational = nominal_fixed_operational + nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("heat_source", [])]: nominal_fixed_operational = self.variable_nominal(f"{asset_name}.Heat_source") nominal_fixed_operational = ( @@ -434,6 +447,7 @@ def pre(self): for asset in [ *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_demand", []), + *self.energy_system_components.get("cold_demand", []), *self.energy_system_components.get("ates", []), *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), @@ -460,6 +474,7 @@ def pre(self): for asset in [ *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_demand", []), + *self.energy_system_components.get("cold_demand", []), *self.energy_system_components.get("heat_pipe", []), *self.energy_system_components.get("ates", []), *self.energy_system_components.get("low_temperature_ates", []), @@ -921,6 +936,8 @@ def __variable_operational_cost_constraints(self, ensemble_member): parameters = self.parameters(ensemble_member) + timesteps_hr = np.diff(self.times()) / 3600 + for asset in [ *self.energy_system_components.get("ates", []), *self.energy_system_components.get("low_temperature_ates", []), @@ -994,11 +1011,9 @@ def __variable_operational_cost_constraints(self, ensemble_member): else: price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) - timesteps = np.diff(self.times()) / 3600.0 - sum = 0.0 for i in range(1, len(self.times())): - sum += price_profile.values[i] * pump_power[i] * timesteps[i - 1] / eff + sum += price_profile.values[i] * pump_power[i] * timesteps_hr[i - 1] / eff constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) @@ -1012,7 +1027,6 @@ def __variable_operational_cost_constraints(self, ensemble_member): variable_operational_cost_coefficient = parameters[ f"{s}.variable_operational_cost_coefficient" ] - timesteps = np.diff(self.times()) / 3600.0 pump_power = self.__state_vector_scaled(f"{s}.Pump_power", ensemble_member) eff = parameters[f"{s}.pump_efficiency"] @@ -1058,10 +1072,10 @@ def __variable_operational_cost_constraints(self, ensemble_member): sum += ( variable_operational_cost_coefficient * nominator_vector[i] - * timesteps[i - 1] + * timesteps_hr[i - 1] / denominator ) - sum += price_profile.values[i] * pump_power[i] * timesteps[i - 1] / eff + sum += price_profile.values[i] * pump_power[i] * timesteps_hr[i - 1] / eff constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) @@ -1077,7 +1091,6 @@ def __variable_operational_cost_constraints(self, ensemble_member): variable_operational_cost_coefficient = parameters[ f"{hp}.variable_operational_cost_coefficient" ] - timesteps = np.diff(self.times()) / 3600 pump_power = self.__state_vector_scaled(f"{hp}.Pump_power", ensemble_member) eff = parameters[f"{hp}.pump_efficiency"] @@ -1096,13 +1109,31 @@ def __variable_operational_cost_constraints(self, ensemble_member): sum = 0.0 for i in range(1, len(self.times())): sum += ( - variable_operational_cost_coefficient * elec_consumption[i] * timesteps[i - 1] + variable_operational_cost_coefficient + * elec_consumption[i] + * timesteps_hr[i - 1] ) - sum += price_profile.values[i] * pump_power[i] * timesteps[i - 1] / eff + sum += price_profile.values[i] * pump_power[i] * timesteps_hr[i - 1] / eff if hp not in self.energy_system_components.get("heat_pump_elec", []): # assuming that if heatpump has electricity port, the cost for the electricity # are already made by the electricity producer and transport - sum += price_profile.values[i] * elec_consumption[i] * timesteps[i - 1] + sum += price_profile.values[i] * elec_consumption[i] * timesteps_hr[i - 1] + + constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + + for ac in self.energy_system_components.get("airco", []): + heat_airco = self.__state_vector_scaled(f"{ac}.Heat_airco", ensemble_member) + variable_operational_cost_var = self._asset_variable_operational_cost_map[ac] + variable_operational_cost = self.extra_variable( + variable_operational_cost_var, ensemble_member + ) + nominal = self.variable_nominal(variable_operational_cost_var) + variable_operational_cost_coefficient = parameters[ + f"{ac}.variable_operational_cost_coefficient" + ] + sum = 0.0 + for i in range(1, len(self.times())): + sum += variable_operational_cost_coefficient * heat_airco[i] * timesteps_hr[i - 1] constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) @@ -1121,9 +1152,10 @@ def __variable_operational_cost_constraints(self, ensemble_member): ] sum = 0.0 - timesteps = np.diff(self.times()) / 3600.0 for i in range(1, len(self.times())): - sum += variable_operational_cost_coefficient * gas_mass_flow[i] * timesteps[i - 1] + sum += ( + variable_operational_cost_coefficient * gas_mass_flow[i] * timesteps_hr[i - 1] + ) constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) @@ -1139,11 +1171,13 @@ def __variable_operational_cost_constraints(self, ensemble_member): variable_operational_cost_coefficient = parameters[ # euro / g f"{gs}.variable_operational_cost_coefficient" ] - timesteps = np.diff(self.times()) + timesteps_sec = np.diff(self.times()) sum = 0.0 for i in range(1, len(self.times())): sum += ( - variable_operational_cost_coefficient * gas_produced_g_s[i] * timesteps[i - 1] + variable_operational_cost_coefficient + * gas_produced_g_s[i] + * timesteps_sec[i - 1] ) # [euro/g] * [g/s] * [s] constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) @@ -1159,11 +1193,10 @@ def __variable_operational_cost_constraints(self, ensemble_member): variable_operational_cost_coefficient = parameters[ # euro / Wh f"{es}.variable_operational_cost_coefficient" ] - timesteps = np.diff(self.times()) / 3600.0 # convert dt from [s] to [hr] sum = 0.0 for i in range(1, len(self.times())): sum += ( - variable_operational_cost_coefficient * elec_produced_w[i] * timesteps[i - 1] + variable_operational_cost_coefficient * elec_produced_w[i] * timesteps_hr[i - 1] ) # [euro/Wh] * [W] * [hr] constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) @@ -1179,13 +1212,12 @@ def __variable_operational_cost_constraints(self, ensemble_member): # variable_operational_cost_coefficient = parameters[ # f"{a}.variable_operational_cost_coefficient" # ] - # timesteps = np.diff(self.times()) / 3600.0 # # sum = 0.0 # # for i in range(1, len(self.times())): # varOPEX_dt = (variable_operational_cost_coefficient * heat_ates[i] - # * timesteps[i - 1]) + # * timesteps_hr[i - 1]) # constraints.append(((varOPEX-varOPEX_dt)/nominal,0.0, np,inf)) # #varOPEX would be a variable>0 for everyt timestep # sum += varOPEX @@ -1206,12 +1238,11 @@ def __variable_operational_cost_constraints(self, ensemble_member): ] sum = 0.0 - timesteps = np.diff(self.times()) / 3600.0 for i in range(1, len(self.times())): sum += ( variable_operational_cost_coefficient * power_consumer[i] - * timesteps[i - 1] # gas_mass_flow unit is g/s + * timesteps_hr[i - 1] # gas_mass_flow unit is g/s ) constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) diff --git a/src/mesido/potential_errors.py b/src/mesido/potential_errors.py index caebebf4e..5eb1aea04 100644 --- a/src/mesido/potential_errors.py +++ b/src/mesido/potential_errors.py @@ -44,6 +44,8 @@ class MesidoAssetIssueType(Enum): HEAT_EXCHANGER_POWER = "heat_exchanger.capacity" HEAT_DEMAND_STATE = "heat_demand.state" ASSET_PROFILE_MULTIPLIER = "asset_profile.multiplier" + COLD_ASSET_TYPE_NOT_SUPPORTED = "cold_asset.type" + ELECT_ASSET_TYPE_NOT_SUPPORTED = "elect_asset.type" class PotentialErrors: diff --git a/src/mesido/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py index 4cbe9451b..f04fd46a6 100644 --- a/src/mesido/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -40,57 +40,70 @@ def __init__( "operational": { "heat_source", "ates", + "low_temperature_ates", "heat_pump", "pump", "heat_exchanger", "heat_buffer", "gas_source", # TODO still to add other costs for this asset_type "electricity_source", # TODO still to add other costs for this asset_type + "airco", }, "fixed_operational": { "heat_source", "ates", + "low_temperature_ates", "heat_buffer", "heat_pump", "heat_exchanger", "pump", + "airco", "heat_demand", }, "investment": { "heat_source", "ates", + "low_temperature_ates", "heat_buffer", "heat_demand", + "cold_demand", "heat_exchanger", "heat_pump", "heat_pipe", "gas_pipe", "electricity_cable", "pump", + "airco", }, "installation": { "heat_source", "ates", + "low_temperature_ates", "heat_buffer", "heat_demand", + "cold_demand", "heat_exchanger", "heat_pump", "heat_pipe", "gas_pipe", "electricity_cable", "pump", + "airco", }, "annualized": { "heat_source", "ates", + "low_temperature_ates", "heat_buffer", "heat_demand", + "cold_demand", "heat_exchanger", "heat_pump", "heat_pipe", "gas_pipe", "electricity_cable", "pump", + "airco", }, } diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 0c083c2c2..f8bc19ee0 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -16,7 +16,7 @@ from mesido.workflows.utils.adapt_profiles import ( adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, ) -from mesido.workflows.utils.error_types import HEAT_NETWORK_ERRORS, potential_error_to_error +from mesido.workflows.utils.error_types import NetworkErrors, potential_error_to_error from mesido.workflows.utils.helpers import main_decorator, run_optimization_problem_solver import numpy as np @@ -231,7 +231,9 @@ class EndScenarioSizing( 2. minimize TCO = Capex + Opex*lifetime """ - def __init__(self, error_type_check: str = HEAT_NETWORK_ERRORS, *args, **kwargs) -> None: + def __init__( + self, error_type_check: str = NetworkErrors.HEAT_NETWORK_ERRORS, *args, **kwargs + ) -> None: reset_potential_errors() # This needed to clear the Singleton which is persistent # Set error type check before calling super().__init__ so it's available during init @@ -295,7 +297,7 @@ def read(self): ( self.__indx_max_peak, self.__heat_demand_nominal, - _, + self.__cold_demand_nominal, ) = adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day(self, self.__day_steps) logger.info("HeatProblem read") @@ -306,9 +308,11 @@ def bounds(self): return bounds def variable_nominal(self, variable): - try: + if variable in self.__heat_demand_nominal: return self.__heat_demand_nominal[variable] - except KeyError: + elif variable in self.__cold_demand_nominal: + return self.__cold_demand_nominal[variable] + else: return super().variable_nominal(variable) def energy_system_options(self): @@ -324,18 +328,22 @@ def path_goals(self): goals = super().path_goals().copy() bounds = self.bounds() - for demand in self.energy_system_components["heat_demand"]: - target = self.get_timeseries(f"{demand}.target_heat_demand") - if bounds[f"{demand}.HeatIn.Heat"][1] < max(target.values): - logger.warning( - f"{demand} has a flow limit, {bounds[f'{demand}.HeatIn.Heat'][1]}, " - f"lower that wat is required for the maximum demand {max(target.values)}" - ) - # TODO: update this caclulation to bounds[f"{demand}.HeatIn.Heat"][1]/ dT * Tsup & move - # to potential_errors variable - state = f"{demand}.Heat_demand" + demand_type = ["heat_demand", "cold_demand"] + for dtype in demand_type: + for demand in self.energy_system_components.get(dtype, []): + target = self.get_timeseries(f"{demand}.target_{dtype}") + if bounds[f"{demand}.HeatIn.Heat"][1] < max(target.values): + logger.warning( + f"{demand} has a flow limit, {bounds[f'{demand}.HeatIn.Heat'][1]}, " + f"lower than what is required for the maximum demand {max(target.values)}" + ) + # TODO: + # update this caclulation to bounds[f"{demand}.HeatIn.Heat"][1]/ dT * Tsup & move + # to potential_errors variable + state = f"{demand}.{dtype[0].upper() + dtype[1:]}" + + goals.append(TargetHeatGoal(state, target)) - goals.append(TargetHeatGoal(state, target)) return goals def goals(self): @@ -371,6 +379,34 @@ def constraints(self, ensemble_member): if i < self.__indx_max_peak or i > (self.__indx_max_peak + 23): constraints.append((vars[i], 0.0, 0.0)) + # TODO: confirm if volume or heat balance is required over year. This will + # determine if cyclic contraint below is for stored_heat or stored_volume + # Add stored_heat cyclic constraint, this will also ensure that the total heat + # change in the wko is 0 over the timeline + # Note: + # - WKO in cooling mode: Hot well is being charged with heat and the cold well is + # being discharged + # - WKO in heating mode: Cold well is being charged and the hot well is being + # discharged. + # for a in self.energy_system_components.get("low_temperature_ates", []): + # stored_heat = self.state_vector(f"{a}.Stored_heat") + # constraints.append(((stored_heat[-1] - stored_heat[0]), 0.0, 0.0)) + # This code below might be needed + # Add stored_heat cyclic constraint, this will also ensure that the volume + # into the lower temp & out of the higher temp is the same as the volume + # out of the lower temp & into the higher temp over the timeline. + # Note: + # - Volume increase: Hot well is being charged and the cold well is being + # discharged. -> WKO in cooling mode + # - Volume decrease: Cold well is being charged and the hot well is being + # discharged. -> WKO in heating mode + + for ates_id in self.energy_system_components.get("low_temperature_ates", []): + stored_volume = self.state_vector(f"{ates_id}.Stored_volume") + volume_usage = 0.0 + volume_usage = stored_volume[0] - stored_volume[-1] + constraints.append((volume_usage, 0.0, 0.0)) + return constraints def history(self, ensemble_member): @@ -614,7 +650,6 @@ def energy_system_options(self): def bounds(self): bounds = super().bounds() - if self._stage == 2: bounds.update(self.__boolean_bounds) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 9f2fbc649..dc64a259c 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -317,6 +317,7 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) results = self.extract_results() parameters = self.parameters(0) + diff_times = np.diff(self.times()) # ------------------------------------------------------------------------------------------ # KPIs @@ -469,9 +470,7 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) or asset.asset_type == "GasHeater" ): heat_source_energy_wh[asset.name] = np.sum( - results[f"{asset.name}.Heat_source"][1:] - * (self.times()[1:] - self.times()[0:-1]) - / 3600 + results[f"{asset.name}.Heat_source"][1:] * diff_times / 3600 ) # TODO: ATES, HEAT pump show Secondary_heat and Primary_heat and tank storage # elif ATES: @@ -481,7 +480,7 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) # elif asset.asset_type == "HeatStorage": # Heat discharged # heat_source_energy_wh[asset.name] = np.sum( # np.clip(results[f"{asset.name}.Heat_buffer"][1:], -np.inf, 0.0) - # * (self.times()[1:] - self.times()[0:-1]) + # * diff_times # / 3600 # ) if not discounted_annualized_cost: @@ -731,41 +730,36 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) if asset_name in self.energy_system_components.get("heat_source", []): try: total_energy_produced_locally_wh[subarea.name] += np.sum( - results[f"{asset_name}.Heat_source"][1:] - * (self.times()[1:] - self.times()[0:-1]) - / 3600.0 + results[f"{asset_name}.Heat_source"][1:] * diff_times / 3600.0 ) except KeyError: total_energy_produced_locally_wh[subarea.name] = np.sum( - results[f"{asset_name}.Heat_source"][1:] - * (self.times()[1:] - self.times()[0:-1]) - / 3600.0 + results[f"{asset_name}.Heat_source"][1:] * diff_times / 3600.0 ) if asset_name in self.energy_system_components.get("heat_demand", []): flow_variable = results[f"{asset_name}.Heat_demand"][1:] elif asset_name in self.energy_system_components.get("heat_buffer", []): flow_variable = results[f"{asset_name}.Heat_buffer"][1:] - elif asset_name in self.energy_system_components.get("ates", []): + elif asset_name in [ + *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), + ]: flow_variable = results[f"{asset_name}.Heat_ates"][1:] elif asset_name in self.energy_system_components.get("heat_pipe", []): flow_variable = ( np.ones(len(self.times())) * results[f"{asset_name}__hn_heat_loss"] ) else: - flow_variable = "" - if ( - asset_name in self.energy_system_components.get("heat_demand", []) - or asset_name in self.energy_system_components.get("heat_buffer", []) - or asset_name in self.energy_system_components.get("ates", []) - or asset_name in self.energy_system_components.get("heat_pipe", []) - ): + flow_variable = np.array([]) + + if flow_variable.any(): try: total_energy_consumed_locally_wh[subarea.name] += np.sum( - flow_variable * (self.times()[1:] - self.times()[0:-1]) / 3600.0 + flow_variable * diff_times / 3600.0 ) except KeyError: total_energy_consumed_locally_wh[subarea.name] = np.sum( - flow_variable * (self.times()[1:] - self.times()[0:-1]) / 3600.0 + flow_variable * diff_times / 3600.0 ) # end Calculate the total energy consumed/produced in an area # end if placed loop @@ -1033,15 +1027,20 @@ def _write_updated_esdl( if name in [ *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_pump", []), + *self.energy_system_components.get("airco", []), ]: asset = self._name_to_asset(energy_system, name) asset_placement_var = self._asset_aggregation_count_var_map[name] placed = np.round(results[asset_placement_var][0]) >= 1.0 max_size = results[self._asset_max_size_map[name]][0] - if asset.name in self.energy_system_components.get("ates", []): + if asset.name in [ + *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), + ]: asset.maxChargeRate = results[f"{name}__max_size"][0] asset.maxDischargeRate = results[f"{name}__max_size"][0] elif asset.name in self.energy_system_components.get("heat_buffer", []): @@ -1051,7 +1050,10 @@ def _write_updated_esdl( * parameters[f"{name}.rho"] * parameters[f"{name}.dT"] ) - elif asset.name in self.energy_system_components.get("heat_pump", []): + elif asset.name in [ + *self.energy_system_components.get("heat_pump", []), + *self.energy_system_components.get("airco", []), + ]: # Note: The heat capacity and not the electrical capacity # TODO: in the future we need to cater for varying COP as well asset.power = results[f"{name}__max_size"][0] @@ -1158,8 +1160,10 @@ def _write_updated_esdl( *self.energy_system_components.get("heat_pipe", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), + *self.energy_system_components.get("airco", []), ]: try: # If the asset has been placed @@ -1181,7 +1185,11 @@ def _write_updated_esdl( port, port_prim, port_sec = 3 * [None] if isinstance(asset, esdl.Transport) or isinstance(asset, esdl.Consumer): port = [port for port in asset.port if isinstance(port, esdl.InPort)][0] - elif isinstance(asset, esdl.Producer) or isinstance(asset, esdl.ElectricBoiler): + elif ( + isinstance(asset, esdl.Producer) + or isinstance(asset, esdl.Airco) + or isinstance(asset, esdl.ElectricBoiler) + ): port = [port for port in asset.port if isinstance(port, esdl.OutPort)][0] elif isinstance(asset, esdl.Conversion): primary_inports = [ @@ -1246,8 +1254,10 @@ def _write_updated_esdl( *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), + *self.energy_system_components.get("airco", []), ]: variables_one_hydraulic_system.append("Pump_power") variables_two_hydraulic_system.append("Pump_power") diff --git a/src/mesido/workflows/utils/error_types.py b/src/mesido/workflows/utils/error_types.py index 6b4815550..931cefa39 100644 --- a/src/mesido/workflows/utils/error_types.py +++ b/src/mesido/workflows/utils/error_types.py @@ -2,11 +2,19 @@ from mesido.potential_errors import MesidoAssetIssueType, get_potential_errors +from strenum import StrEnum + + # Convert potentials errors to errors for the following networks/definitions -HEAT_NETWORK_ERRORS = "heat_network" -HEAT_AND_COOL_NETWORK_ERRORS = "heat_and_cool_network" -CUSTOM_ERRORS = "custom_errors" # an example of custom stuff that can be added in the future -NO_POTENTIAL_ERRORS_CHECK = "no_potential_errors" +class NetworkErrors(StrEnum): + """ + Enumeration for network type errors. + """ + + HEAT_NETWORK_ERRORS = "heat_network" + HEAT_AND_COOL_NETWORK_ERRORS = "heat_and_cool_network" + CUSTOM_ERRORS = "custom_errors" # an example of custom stuff that can be added in the future + NO_POTENTIAL_ERRORS_CHECK = "no_potential_errors" def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: @@ -39,6 +47,8 @@ def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: "defined", MesidoAssetIssueType.HEAT_DEMAND_STATE: "Heating Demand state set to OPTIONAL", MesidoAssetIssueType.ASSET_PROFILE_MULTIPLIER: "Incorrect asset profile multiplier", + MesidoAssetIssueType.COLD_ASSET_TYPE_NOT_SUPPORTED: "Unsupported assets are being used.", + MesidoAssetIssueType.ELECT_ASSET_TYPE_NOT_SUPPORTED: "Unsupported assets are being used.", } return type_and_general_meassage[issue_type] @@ -51,7 +61,7 @@ def potential_error_to_error(network_check_type: Enum) -> None: """ errors_on_types = { - HEAT_NETWORK_ERRORS: [ + NetworkErrors.HEAT_NETWORK_ERRORS: [ MesidoAssetIssueType.HEAT_PRODUCER_POWER, MesidoAssetIssueType.HEAT_DEMAND_POWER, MesidoAssetIssueType.COLD_DEMAND_POWER, @@ -65,8 +75,10 @@ def potential_error_to_error(network_check_type: Enum) -> None: MesidoAssetIssueType.HEAT_EXCHANGER_POWER, MesidoAssetIssueType.HEAT_DEMAND_STATE, MesidoAssetIssueType.ASSET_PROFILE_MULTIPLIER, + MesidoAssetIssueType.COLD_ASSET_TYPE_NOT_SUPPORTED, + MesidoAssetIssueType.ELECT_ASSET_TYPE_NOT_SUPPORTED, ], - HEAT_AND_COOL_NETWORK_ERRORS: [ + NetworkErrors.HEAT_AND_COOL_NETWORK_ERRORS: [ MesidoAssetIssueType.HEAT_DEMAND_POWER, MesidoAssetIssueType.COLD_DEMAND_POWER, MesidoAssetIssueType.HEAT_DEMAND_TYPE, @@ -77,8 +89,8 @@ def potential_error_to_error(network_check_type: Enum) -> None: MesidoAssetIssueType.ASSET_PROFILE_MULTIPLIER, ], # Example of extra error types / groups that can be added. This one is not used yet. - CUSTOM_ERRORS: [MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY], - NO_POTENTIAL_ERRORS_CHECK: [], + NetworkErrors.CUSTOM_ERRORS: [MesidoAssetIssueType.ASSET_PROFILE_CAPABILITY], + NetworkErrors.NO_POTENTIAL_ERRORS_CHECK: [], } # Error checking: diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index 6237f90df..0e28bbd4c 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -7,10 +7,7 @@ from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption from mesido.techno_economic_mixin import TechnoEconomicMixin -from mesido.workflows.utils.error_types import ( - HEAT_AND_COOL_NETWORK_ERRORS, - potential_error_to_error, -) +from mesido.workflows.utils.error_types import NetworkErrors, potential_error_to_error import numpy as np @@ -173,7 +170,7 @@ def read(self): """ super().read() - potential_error_to_error(HEAT_AND_COOL_NETWORK_ERRORS) + potential_error_to_error(NetworkErrors.HEAT_AND_COOL_NETWORK_ERRORS) def path_goals(self): """ diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index a2b677202..5e9272ed5 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -6,7 +6,7 @@ from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.network_common import NetworkSettings from mesido.util import run_esdl_mesido_optimization -from mesido.workflows.utils.error_types import NO_POTENTIAL_ERRORS_CHECK +from mesido.workflows.utils.error_types import NetworkErrors import numpy as np @@ -48,7 +48,7 @@ def solver_options(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_electrolyzer_general.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -272,7 +272,7 @@ def solver_options(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_minimum_electrolyzer_power.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -346,7 +346,7 @@ def test_electrolyzer_constant_efficiency(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_electrolyzer_general.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -398,7 +398,7 @@ def test_electrolyzer_equality_constraint(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_equality_constraints.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -478,7 +478,7 @@ def test_electrolyzer_equality_constraint_inactive_line(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_minimum_electrolyzer_power.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 069734e39..b34f48642 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -13,7 +13,7 @@ run_end_scenario_sizing, ) from mesido.workflows.grow_workflow import EndScenarioSizingHeadLossStaged -from mesido.workflows.utils.error_types import NO_POTENTIAL_ERRORS_CHECK +from mesido.workflows.utils.error_types import NetworkErrors import numpy as np @@ -39,7 +39,7 @@ def setUpClass(cls) -> None: esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here ) cls.results = cls.solution.extract_results() @@ -168,7 +168,7 @@ def test_end_scenario_sizing_staged(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here, ) solution_staged = run_end_scenario_sizing( @@ -178,7 +178,7 @@ def test_end_scenario_sizing_staged(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here, ) results = solution_staged.extract_results() @@ -281,7 +281,7 @@ def solver_options(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here ) results = solution.extract_results() @@ -324,7 +324,7 @@ def __init__(self, *args, **kwargs): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here ) results = solution.extract_results() @@ -379,7 +379,7 @@ def test_end_scenario_sizing_pipe_catalog(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -415,7 +415,7 @@ def test_end_scenario_sizing_pipe_catalog(self): esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, ) original_problem.pre() original_problem_pipe_classes = original_problem.get_unique_pipe_classes() @@ -471,7 +471,7 @@ def test_end_scenario_sizing_pipe_catalog_with_templates(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -506,7 +506,7 @@ def test_end_scenario_sizing_pipe_catalog_with_templates(self): esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, ) original_problem.pre() original_problem_pipe_classes = original_problem.get_unique_pipe_classes() diff --git a/tests/test_gas_electricity.py b/tests/test_gas_electricity.py index 3d340d4cc..2034a6674 100644 --- a/tests/test_gas_electricity.py +++ b/tests/test_gas_electricity.py @@ -5,7 +5,7 @@ from mesido.esdl.edr_pipe_class import EDRGasPipeClass from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.workflows.utils.error_types import NO_POTENTIAL_ERRORS_CHECK +from mesido.workflows.utils.error_types import NetworkErrors from mesido.workflows.utils.helpers import run_optimization_problem_solver import numpy as np @@ -57,7 +57,7 @@ def test_gas_elect(self): esdl_file_name="gas_elect_loop_tree.esdl", profile_reader=ProfileReaderFromFile, input_timeseries_file="HeatingDemand_W_manual.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, ) results = solution.extract_results() @@ -70,7 +70,7 @@ def test_gas_elect(self): esdl_file_name="gas_elect_loop_tree.esdl", profile_reader=ProfileReaderFromFile, input_timeseries_file="HeatingDemand_W_manual_HighDemand.csv", - error_type_check=NO_POTENTIAL_ERRORS_CHECK, + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, ) results_high_demand = solution_high_demand.extract_results() diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 62e44d9ab..ea71b6885 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -217,6 +217,6 @@ def test_max_producer_esdl_scaled_profile(self): if __name__ == "__main__": a = TestProducerMaxProfile() - a.test_max_producer_scaled_profile() + # a.test_max_producer_scaled_profile() a.test_max_producer_esdl_unscaled_profile() - a.test_max_producer_esdl_scaled_profile() + # a.test_max_producer_esdl_scaled_profile() diff --git a/tests/utils_tests.py b/tests/utils_tests.py index e5c785b45..b42118929 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -299,7 +299,7 @@ def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): test.assertTrue( expr=all( results[f"{p}.HeatIn.Heat"][indices] - <= (results[f"{p}.Q"][indices] + 1e-7) * rho * cp * temperature + <= (results[f"{p}.Q"][indices] + 1e-6) * rho * cp * temperature ) ) test.assertTrue( From adc847a7a9a608c3308fd961b2b60748187b5e64 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Fri, 30 Jan 2026 10:50:00 +0100 Subject: [PATCH 332/376] bug ates variable operational cost ASSET_COST_REQUIREMENTS dictionary for ATES in asset_to_component_base is updated Existing test_end_scenario_sizin is updated so that the calculation of variable operational cost of ates is verified. --- CHANGELOG.md | 1 - src/mesido/esdl/asset_to_component_base.py | 5 +++-- tests/test_end_scenario_sizing.py | 24 +++++++++++++++++++--- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8006f0014..9792b0d9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,6 @@ - Adding constraint so that all heating demands are placed at the end of the simulation - Sizing of airco - Heating and cooling example with input costs - - HeatSourceElec (e-boiler with 2 ports) is supported for DTK and its cost attributes are supported in Mesido - Cost attributes of ElecHeatSourceElec (e-boiler with 3 ports) are supported in Mesido diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 8baa4392a..4bfd696e5 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -273,8 +273,9 @@ class _AssetToComponentBase: "ates": { # HT-ATES (high) "investmentCosts": "required", "installationCosts": "required", + "variableOperationalCosts": "required", "fixedMaintenanceCosts": "optional", - "fixedOperationalCosts": "required", + "fixedOperationalCosts": "optional", }, "pipe": { "investmentCosts": "optional", @@ -283,7 +284,7 @@ class _AssetToComponentBase: "investmentCosts": "required", "installationCosts": "required", "fixedMaintenanceCosts": "optional", - "fixedOperationalCosts": "required", + "fixedOperationalCosts": "optional", }, "gas_demand": { "variableOperationalCosts": "required", diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index b34f48642..1799e360e 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -39,7 +39,6 @@ def setUpClass(cls) -> None: esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here ) cls.results = cls.solution.extract_results() @@ -100,6 +99,27 @@ def test_end_scenario_sizing(self): ) np.testing.assert_array_less(heat_flow_charging[heat_flow_discharging > 1e3], 1e3) + # Check variable operational cost of ates + timesteps_hr = np.diff(self.solution.times()) / 3600.0 + variable_operational_cost = 0.0 + for a in self.solution.energy_system_components.get("ates", []): + esdl_asset = self.solution.esdl_assets[self.solution.esdl_asset_name_to_id_map[f"{a}"]] + costs_esdl_asset = esdl_asset.attributes["costInformation"] + var_op_costs = costs_esdl_asset.variableOperationalCosts.value / 1.0e6 # EUR/Wh_th + self.assertNotEqual(0.0, var_op_costs) + for ii in range(1, len(self.solution.times())): + variable_operational_cost += ( + var_op_costs + * ( + self.results[f"{a}.Heat_flow_charging"][ii] + + self.results[f"{a}.Heat_flow_discharging"][ii] + ) + * timesteps_hr[ii - 1] + ) + np.testing.assert_allclose( + variable_operational_cost, self.results[f"{a}__variable_operational_cost"] + ) + # Check whether buffer tank is only active in peak day peak_day_indx = self.solution.parameters(0)["peak_day_index"] for b in self.solution.energy_system_components.get("heat_buffer", []): @@ -168,7 +188,6 @@ def test_end_scenario_sizing_staged(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here, ) solution_staged = run_end_scenario_sizing( @@ -178,7 +197,6 @@ def test_end_scenario_sizing_staged(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, # Pass the error type here, ) results = solution_staged.extract_results() From e7c7dca4c018c3d805dc705cd0a61733e8f6276d Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Mon, 2 Feb 2026 09:27:05 +0100 Subject: [PATCH 333/376] Gasboiler for dtk (#385) Created a new asset type named gas_heat_source_gas which is connected to a gas pipe with gas usage (asset with 3 ports) and rename gas_boiler asset as heat_source_gas for gas heater which not connected to gas pipe (asset with 2 ports). Variable operation cost is liked to consumed gas normal volume (EUR/Nm3). --- CHANGELOG.md | 3 + .../src/run_example.py | 4 +- .../model/Demo_areas with return network.esdl | 598 ------------------ manual_run/testing_bugs/model/test2.esdl | 68 -- src/mesido/esdl/asset_to_component_base.py | 71 ++- src/mesido/esdl/esdl_heat_model.py | 91 ++- src/mesido/financial_mixin.py | 15 +- .../pycml/component_library/milp/__init__.py | 6 +- .../component_library/milp/heat/__init__.py | 2 + .../milp/heat/heat_source_gas.py | 47 ++ .../milp/multicommodity/__init__.py | 4 +- .../milp/multicommodity/gas_boiler.py | 69 -- .../multicommodity/gas_heat_source_gas.py | 41 ++ src/mesido/workflows/io/write_output.py | 5 +- .../model/gas_elect_loop_tree.esdl | 8 +- .../src/run_gas_elect.py | 6 +- ...er.esdl => sourcesink_with_gasboiler.esdl} | 47 +- .../sourcesink_with_gasboiler_no_gas.esdl | 67 ++ tests/test_gas_boiler.py | 94 ++- tests/test_gas_electricity.py | 32 +- 20 files changed, 452 insertions(+), 826 deletions(-) delete mode 100644 manual_run/testing_bugs/model/Demo_areas with return network.esdl delete mode 100644 manual_run/testing_bugs/model/test2.esdl create mode 100644 src/mesido/pycml/component_library/milp/heat/heat_source_gas.py delete mode 100644 src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py create mode 100644 src/mesido/pycml/component_library/milp/multicommodity/gas_heat_source_gas.py rename tests/models/source_pipe_sink/model/{sourcesink_withgasboiler.esdl => sourcesink_with_gasboiler.esdl} (58%) create mode 100644 tests/models/source_pipe_sink/model/sourcesink_with_gasboiler_no_gas.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 9792b0d9d..b62ac1c32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ - Adding constraint so that all heating demands are placed at the end of the simulation - Sizing of airco - Heating and cooling example with input costs +- HeatSourceGas (gas boiler with 2 ports)is supported for DTK and its cost attributes are supported in Mesido +- Cost attributes of GasHeatSourceGas (gas boiler with 3 ports) are supported in Mesido - HeatSourceElec (e-boiler with 2 ports) is supported for DTK and its cost attributes are supported in Mesido - Cost attributes of ElecHeatSourceElec (e-boiler with 3 ports) are supported in Mesido @@ -19,6 +21,7 @@ - New data structute for specifying database connection inputs - Costs of available pipe classes are updated based on the asset measures and templates if they are provided. - The charging and discharging variable for electricity storage is created without a binary variable using the convex hull description. +- Gas Boiler asset is renamed as HeatSourceGas ## Fixed - Bug: Write updated esdl for 2 port heat pump diff --git a/examples/gas_electricity_network/src/run_example.py b/examples/gas_electricity_network/src/run_example.py index 99857a72f..0b0fe284b 100644 --- a/examples/gas_electricity_network/src/run_example.py +++ b/examples/gas_electricity_network/src/run_example.py @@ -91,14 +91,14 @@ def read(self): # power_cons = results[f"{asset_name}.Power_elec"] # print(f"{asset_name} power consumed: {power_cons}") - # for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: + # for asset_name in [*solution.energy_system_components.get("gas_heat_source_gas", [])]: # power_cons = results[f"{asset_name}.Gas_demand_mass_flow"] # print(f"{asset_name} gas consumed: {power_cons}") # # Check gas consumption vs production balance # total_gas_demand_g = [0] * len(np.diff(solution.times())) # total_gas_source_g = [0] * len(np.diff(solution.times())) - # for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: + # for asset_name in [*solution.energy_system_components.get("gas_heat_source_gas", [])]: # for ii in range(1, len(results[f"{asset_name}.Gas_demand_mass_flow"])): # total_gas_demand_g[ii - 1] += ( # results[f"{asset_name}.Gas_demand_mass_flow"][ii] diff --git a/manual_run/testing_bugs/model/Demo_areas with return network.esdl b/manual_run/testing_bugs/model/Demo_areas with return network.esdl deleted file mode 100644 index 7bf80977f..000000000 --- a/manual_run/testing_bugs/model/Demo_areas with return network.esdl +++ /dev/null @@ -1,598 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/manual_run/testing_bugs/model/test2.esdl b/manual_run/testing_bugs/model/test2.esdl deleted file mode 100644 index 01a586d8f..000000000 --- a/manual_run/testing_bugs/model/test2.esdl +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 4bfd696e5..b739209bc 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -92,13 +92,25 @@ def get_internal_energy(asset_name: str, carrier: esdl.Carrier) -> float: def get_energy_content(asset_name: str, carrier: esdl.Carrier) -> float: # Return the heating value + # If carrier is None, then we return heating value of Groningen gas energy_content_j_kg = 0.0 # [J/kg] density_kg_m3 = ( get_density(asset_name, carrier, temperature_degrees_celsius=20.0, pressure_pa=1.0e5) / 1000.0 ) - if str(NetworkSettings.NETWORK_TYPE_GAS).upper() in str(carrier.name).upper(): - # Groningen gas: 31,68 MJ/m3 LCV + + # The input attribute `carrier` is `None` for assets whose commodity of interest + # (e.g., heat_source_gas) does not have an associated carrier. + # In such cases, we fall back to returning the gas energy content at the specified + # pressure and temperature. + cond_gas = False + try: + cond_gas = str(NetworkSettings.NETWORK_TYPE_GAS).upper() in str(carrier.name).upper() + except AttributeError: + cond_gas = carrier is None + + if cond_gas: + # Groningen gas: 31,68 MJ/Nm3 LCV energy_content_j_kg = 31.68 * 10.0**6 / density_kg_m3 # LCV / lower heating value elif str(NetworkSettings.NETWORK_TYPE_HYDROGEN).upper() in str(carrier.name).upper(): # This value can be lower / higher heating value depending on the case @@ -106,7 +118,7 @@ def get_energy_content(asset_name: str, carrier: esdl.Carrier) -> float: energy_content_j_kg = 120.0 * 10.0**6 / density_kg_m3 else: raise logger.error( - f"Neither gas/hydrogen was used in the carrier " f"name of pipe {asset_name}." + f"Neither gas/hydrogen was used in the carrier at asset named {asset_name}." ) return energy_content_j_kg @@ -122,6 +134,25 @@ def get_density( # used in the head_loss_class for the calculation of the friction factor # (linked to _kinematic_viscosity). Thus, when updating the default value of # temperature_degrees_celsius ensure it is also updated in the head_loss_class. + + # The input attribute `carrier` is `None` for assets whose commodity of interest + # (e.g., heat_source_gas) does not have an associated carrier. + # In such cases, we fall back to returning the gas density at the specified + # pressure and temperature. + if carrier is None: + logger.warning( + f"Neither gas/hydrogen/heat was used in the carrier at asset named {asset_name}." + ) + density = cP.CoolProp.PropsSI( + "D", + "T", + 273.15 + temperature_degrees_celsius, + "P", + pressure_pa, + NetworkSettings.NETWORK_COMPOSITION_GAS, + ) + return density * 1.0e3 # to convert from kg/m3 to g/m3 + if pressure_pa is None: if isinstance(carrier, esdl.HeatCommodity): pressure_pa = 16.0e5 # 16bar is expected to be the upper limit in networks @@ -141,6 +172,16 @@ def get_density( ) return density # kg/m3 elif NetworkSettings.NETWORK_TYPE_GAS in carrier.name: + # TODO: A bug has been identified here. Ideally, this elif condition should use a + # case‑insensitive comparison to detect the commodity name: + # str(NetworkSettings.NETWORK_TYPE_GAS).upper() in str(carrier.name).upper(). + # However, updating the condition causes the unit test + # `test_gas_network_pipe_split_head_loss` in `test_head_loss.py` to fail. + # The reason is that in the test ESDL, the commodity name is defined as "gas", + # whereas NetworkSettings.NETWORK_TYPE_GAS returns "Gas". With a case‑insensitive + # comparison, this elif condition no longer matches, causing the code to use the + # default density from the else branch (6.2). That value makes the test pass. + # This indicates a potential underlying bug in the head‑loss calculation logic. density = cP.CoolProp.PropsSI( "D", "T", @@ -160,9 +201,10 @@ def get_density( ) else: logger.warning( - f"Neither gas/hydrogen/heat was used in the carrier " f"name of pipe {asset_name}" + f"Neither gas/hydrogen/heat was used in the carrier at asset named {asset_name}." ) density = 6.2 # natural gas at about 8 bar + return density * 1.0e3 # to convert from kg/m3 to g/m3 @@ -212,7 +254,7 @@ class _AssetToComponentBase: "Export": "export", "GasConversion": "gas_substation", "GasDemand": "gas_demand", - "GasHeater": "gas_boiler", + "GasHeater": "heat_source_gas", "GasProducer": "gas_source", "GasStorage": "gas_tank_storage", "GenericConversion": "generic_conversion", @@ -252,7 +294,7 @@ class _AssetToComponentBase: "fixedOperationalCosts": "optional", }, "heat_source": { # Includes GeothermalSource, ResidualHeatSource, HeatProducer, - # ElectricBoiler + # GasHeater, ElectricBoiler "investmentCosts": "required", "installationCosts": "required", "variableOperationalCosts": "required", @@ -306,6 +348,7 @@ class _AssetToComponentBase: "Electrolyzer": "electrolyzer", "ElectricBoiler": "heat_source", "GasDemand": "gas_demand", + "GasHeater": "heat_source", "GasStorage": "gas_tank_storage", "GeothermalSource": "heat_source", "HeatExchange": "heat_exchanger", @@ -1025,7 +1068,7 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: return q_nominal elif ( len(asset.in_ports) == 2 and len(asset.out_ports) == 1 - ): # for gas_boiler or elec_heat_source_elec + ): # for gas_heat_source_gas or elec_heat_source_elec q_nominals = {} try: for port in asset.in_ports: @@ -1489,6 +1532,7 @@ def get_variable_opex_costs(self, asset: Asset) -> float: ] gas_assets = {"GasDemand", "GasStorage", "GasProducer", "Electrolyzer"} + gas_boiler = {"GasHeater"} cost_attributes = asset.attributes["costInformation"] cost_infos = {field: getattr(cost_attributes, field) for field in cost_fields} @@ -1515,7 +1559,11 @@ def get_variable_opex_costs(self, asset: Asset) -> float: ) self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") continue - if per_unit != UnitEnum.WATTHOUR and asset.asset_type not in gas_assets: + if ( + per_unit != UnitEnum.WATTHOUR + and asset.asset_type not in gas_assets + and asset.asset_type not in gas_boiler + ): message = ( f"Expected the specified OPEX for asset {asset.name} of type {asset.asset_type}" f" to be per Wh, but they are provided in {per_unit} instead." @@ -1529,6 +1577,13 @@ def get_variable_opex_costs(self, asset: Asset) -> float: ) self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") continue + if asset.asset_type in gas_boiler and per_unit != UnitEnum.CUBIC_METRE: + message = ( + f"Expected the specified OPEX for asset {asset.name} of type {asset.asset_type}" + f" to be per EURO/m3, but they are provided in {unit}/{per_unit} instead." + ) + self._log_and_add_potential_issue(message, asset.id, cost_error_type="incorrect") + continue if cost_value < 0.0: message = ( f"Specified OPEX for asset {asset.name} of type {asset.asset_type} " diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 88c36417c..40b1f35a7 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -32,8 +32,8 @@ ElectricitySource, ElectricityStorage, Electrolyzer, - GasBoiler, GasDemand, + GasHeatSourceGas, GasNode, GasPipe, GasSource, @@ -48,6 +48,7 @@ HeatPumpElec, HeatSource, HeatSourceElec, + HeatSourceGas, LowTemperatureATES, Node, Pump, @@ -682,9 +683,7 @@ def convert_pipe(self, asset: Asset) -> Tuple[Union[Type[HeatPipe], Type[GasPipe f"Gas are allowed" ) - def convert_gas_pipe( - self, asset: Asset - ) -> Tuple[Union[Type[HeatPipe], Type[GasPipe]], MODIFIERS]: + def convert_gas_pipe(self, asset: Asset) -> Tuple[Type[GasPipe], MODIFIERS]: """ This function converts the pipe object in esdl to a set of modifiers that can be used in a pycml object. Most important: @@ -1110,9 +1109,12 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD ) return HeatExchanger, modifiers - def convert_heat_pump( - self, asset: Asset - ) -> Tuple[Union[Type[HeatPump], Type[HeatSource], Type[AirWaterHeatPumpElec]], MODIFIERS]: + def convert_heat_pump(self, asset: Asset) -> Tuple[ + Union[ + Type[AirWaterHeatPump], Type[AirWaterHeatPumpElec], Type[HeatPump], Type[HeatPumpElec] + ], + MODIFIERS, + ]: """ This function converts the HeatPump object in esdl to a set of modifiers that can be used in a pycml object. Most important: @@ -1273,7 +1275,6 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS # get price per unit of energy, # assume cost of 1. if nothing is given (effectively milp loss minimization) # TODO: Use an attribute or use and KPI for CO2 coefficient of a source - q_nominal = self._get_connected_q_nominal(asset) if isinstance(q_nominal, dict): q_nominal = q_nominal["Q_nominal"] @@ -1316,6 +1317,10 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS elif asset.asset_type == "HeatPump": modifiers["cop"] = asset.attributes["COP"] return AirWaterHeatPump, modifiers + elif asset.asset_type == "GasHeater": + efficiency = asset.attributes["efficiency"] if asset.attributes["efficiency"] else 1.0 + modifiers["efficiency"] = efficiency + return HeatSourceGas, modifiers elif asset.asset_type == "ElectricBoiler": efficiency = asset.attributes["efficiency"] if asset.attributes["efficiency"] else 1.0 modifiers["efficiency"] = efficiency @@ -2412,7 +2417,9 @@ def convert_compressor(self, asset: Asset) -> Tuple[Type[Compressor], MODIFIERS] return Compressor, modifiers - def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: + def convert_heat_source_gas( + self, asset: Asset + ) -> Tuple[Union[Type[HeatSourceGas], Type[GasHeatSourceGas]], MODIFIERS]: """ This function converts the GasHeater object in esdl to a set of modifiers that can be used in a pycml object. @@ -2455,9 +2462,37 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: logger.error(f"{asset.asset_type} '{asset.name}' has no max power specified. ") assert max_supply > 0.0 + _, modifiers = self.convert_heat_source(asset) + + density_gas_no_carrier = get_density( + asset.name, None, temperature_degrees_celsius=20.0, pressure_pa=8.0 * 1.01325 * 1.0e5 + ) + + density_normal_no_carrier = get_density( + asset.name, None, temperature_degrees_celsius=0.0, pressure_pa=1.01325 * 1.0e5 + ) + + energy_content_no_carrier = get_energy_content(asset.name, None) + + # Todo: usually _get_connected_q_nominal() function in asset_to_component_base.py is + # used to define q_nominal_gas variable. _get_connected_q_nominal() function requires + # a carrier with GasCommodity as an input. However, hear_source_gas asset has no + # carrier with gas commodity. Hence, q_nominal_gas_no_carrier is defined from the + # maximum power that GasHeater asset can produce. Later we can consider to move + # q_nominal_gas definition into _get_connected_q_nominal() function. + q_nominal_gas_no_carrier = (max_supply / modifiers["efficiency"]) / ( + density_gas_no_carrier * energy_content_no_carrier / 1000.0 + ) + modifiers.update( + dict( + density=density_gas_no_carrier, + density_normal=density_normal_no_carrier, + energy_content=energy_content_no_carrier, + Q_nominal_gas=q_nominal_gas_no_carrier, + ) + ) if len(asset.in_ports) == 1: - heat_source_object, modifiers = self.convert_heat_source(asset) - return heat_source_object, modifiers + return HeatSourceGas, modifiers id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ "id_number_mapping" @@ -2466,32 +2501,30 @@ def convert_gas_boiler(self, asset: Asset) -> Tuple[GasBoiler, MODIFIERS]: for port in asset.in_ports: if isinstance(port.carrier, esdl.GasCommodity): density = get_density(asset.name, port.carrier) + density_normal = get_density( + asset.name, + port.carrier, + temperature_degrees_celsius=0.0, + pressure_pa=1.01325 * 1.0e5, + ) energy_content = get_energy_content(asset.name, port.carrier) # TODO: CO2 coefficient q_nominals = self._get_connected_q_nominal(asset) - if not asset.attributes["efficiency"]: - raise _ESDLInputException( - f"{asset.name} has no efficiency specified, this is required for the model" + modifiers.update( + dict( + id_mapping_carrier=id_mapping, + density=density, + density_normal=density_normal, + energy_content=energy_content, + GasIn=dict(Q=dict(min=0.0, nominal=q_nominals["Q_nominal_gas"])), + Q_nominal_gas=q_nominals["Q_nominal_gas"], ) - - modifiers = dict( - efficiency=asset.attributes["efficiency"], - Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), - id_mapping_carrier=id_mapping, - density=density, - energy_content=energy_content, - GasIn=dict(Q=dict(min=0.0, nominal=q_nominals["Q_nominal_gas"])), - Q_nominal_gas=q_nominals["Q_nominal_gas"], - **self._generic_modifiers(asset), - **self._generic_heat_modifiers(0.0, max_supply, q_nominals["Q_nominal"]), - **self._supply_return_temperature_modifiers(asset), - **self._rho_cp_modifiers, - **self._get_cost_figure_modifiers(asset), ) - return GasBoiler, modifiers + + return GasHeatSourceGas, modifiers def convert_heat_source_elec( self, asset: Asset diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 02356747a..9a3368d7a 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -1046,8 +1046,6 @@ def __variable_operational_cost_constraints(self, ensemble_member): else: price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) - # ToDo: Currently the variable operational cost unit for gas boiler is euro/Wh_gas - # but this can be changed to euro/Nm3 nominator_vector = None denominator = 1.0 if s in self.energy_system_components.get( @@ -1055,9 +1053,16 @@ def __variable_operational_cost_constraints(self, ensemble_member): ) or s in self.energy_system_components.get("air_water_heat_pump_elec", []): nominator_vector = heat_source denominator = parameters[f"{s}.cop"] - elif s in self.energy_system_components.get("gas_boiler", []): - nominator_vector = heat_source - denominator = parameters[f"{s}.efficiency"] + elif s in [ + *self.energy_system_components.get("heat_source_gas", []), + *self.energy_system_components.get("gas_heat_source_gas", []), + ]: + density_normal = parameters[f"{s}.density_normal"] + nominator_vector = ( + self.__state_vector_scaled(f"{s}.Gas_demand_mass_flow", ensemble_member) + / density_normal + * 3600.0 + ) # [Nm3/h] elif s in [ *self.energy_system_components.get("heat_source_elec", []), *self.energy_system_components.get("elec_heat_source_elec", []), diff --git a/src/mesido/pycml/component_library/milp/__init__.py b/src/mesido/pycml/component_library/milp/__init__.py index 7d9da61fe..6557874c1 100644 --- a/src/mesido/pycml/component_library/milp/__init__.py +++ b/src/mesido/pycml/component_library/milp/__init__.py @@ -30,6 +30,7 @@ from .heat.heat_pump import HeatPump from .heat.heat_source import HeatSource from .heat.heat_source_elec import HeatSourceElec +from .heat.heat_source_gas import HeatSourceGas from .heat.heat_two_port import HeatTwoPort from .heat.low_temperature_ates import LowTemperatureATES from .heat.node import Node @@ -37,7 +38,7 @@ from .multicommodity.airwater_heat_pump_elec import AirWaterHeatPumpElec from .multicommodity.elec_heat_source_elec import ElecHeatSourceElec from .multicommodity.electrolyzer import Electrolyzer -from .multicommodity.gas_boiler import GasBoiler +from .multicommodity.gas_heat_source_gas import GasHeatSourceGas __all__ = [ "Airco", @@ -58,7 +59,8 @@ "ElectricitySource", "ElectricityStorage", "Electrolyzer", - "GasBoiler", + "HeatSourceGas", + "GasHeatSourceGas", "GasDemand", "GasNode", "GasPipe", diff --git a/src/mesido/pycml/component_library/milp/heat/__init__.py b/src/mesido/pycml/component_library/milp/heat/__init__.py index dc98565a6..3f6bc28e2 100644 --- a/src/mesido/pycml/component_library/milp/heat/__init__.py +++ b/src/mesido/pycml/component_library/milp/heat/__init__.py @@ -14,6 +14,7 @@ from .heat_pump import HeatPump from .heat_source import HeatSource from .heat_source_elec import HeatSourceElec +from .heat_source_gas import HeatSourceGas from .heat_two_port import HeatTwoPort from .low_temperature_ates import LowTemperatureATES from .node import Node @@ -28,6 +29,7 @@ "ColdDemand", "ControlValve", "HeatDemand", + "HeatSourceGas", "GeothermalSource", "HeatExchanger", "HeatFourPort", diff --git a/src/mesido/pycml/component_library/milp/heat/heat_source_gas.py b/src/mesido/pycml/component_library/milp/heat/heat_source_gas.py new file mode 100644 index 000000000..4a692eb03 --- /dev/null +++ b/src/mesido/pycml/component_library/milp/heat/heat_source_gas.py @@ -0,0 +1,47 @@ +from mesido.pycml import Variable +from mesido.pycml.component_library.milp.heat.heat_source import HeatSource +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + +from numpy import nan + + +@add_variables_documentation_automatically +class HeatSourceGas(HeatSource): + """ + The heat source gas component represents the operational behavior of gas boilers. + It functions as a heat source that supplies thermal energy to the connected heat network. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ + + def __init__(self, name, **modifiers): + super().__init__( + name, + **modifiers, + ) + self.component_subtype = "heat_source_gas" + self.efficiency = nan + self.density = nan # Gas density [g/m3] at 8 bar + self.density_normal = nan # gas density [g/m3] in normal condition + self.energy_content = nan # Gas energy content [J/kg] at 8 bar + self.Q_nominal_gas = nan + + self.add_variable( + Variable, "Gas_demand_mass_flow", min=0.0, nominal=self.Q_nominal_gas * self.density + ) # [g/s] + + # Heat_source [J/s] = mass_flow [g/s] / 1000 [g/kg] * energy_content [J/kg] * efficiency [-] + self.add_equation( + ( + ( + self.Gas_demand_mass_flow / 1000.0 * self.energy_content * self.efficiency + - self.Heat_source + ) + / self.Heat_nominal + ) + ) diff --git a/src/mesido/pycml/component_library/milp/multicommodity/__init__.py b/src/mesido/pycml/component_library/milp/multicommodity/__init__.py index 0464ce520..7dc481a3c 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/__init__.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/__init__.py @@ -1,11 +1,11 @@ from .airwater_heat_pump_elec import AirWaterHeatPumpElec from .elec_heat_source_elec import ElecHeatSourceElec from .electrolyzer import Electrolyzer -from .gas_boiler import GasBoiler +from .gas_heat_source_gas import GasHeatSourceGas __all__ = [ "AirWaterHeatPumpElec", "ElecHeatSourceElec", "Electrolyzer", - "GasBoiler", + "GasHeatSourceGas", ] diff --git a/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py b/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py deleted file mode 100644 index 0c7c7fc54..000000000 --- a/src/mesido/pycml/component_library/milp/multicommodity/gas_boiler.py +++ /dev/null @@ -1,69 +0,0 @@ -from mesido.pycml import Variable -from mesido.pycml.component_library.milp.gas.gas_base import GasPort -from mesido.pycml.component_library.milp.heat.heat_source import HeatSource -from mesido.pycml.pycml_mixin import add_variables_documentation_automatically - -from numpy import nan - - -@add_variables_documentation_automatically -class GasBoiler(HeatSource): - """ - The source component is there to insert thermal power (Heat) into the network. - - The heat to discharge constraints are set in the HeatMixin. We enforce that the outgoing - temperature of the source matches the absolute thermal power, Q * cp * rho * T_sup == Heat, - similar as with the demands. This allows us to guarantee that the flow can always carry, as - the heat losses further downstream in the network are over-estimated with T_ret where in - reality this temperature drops. It also implicitly assumes that the temperature drops in the - network are small and thus satisfy minimum temperature requirements. - - Variables created: - {add_variable_names_for_documentation_here} - - Parameters: - name : The name of the asset. \n - modifiers : Dictionary with asset information. - """ - - def __init__(self, name, **modifiers): - super().__init__( - name, - **modifiers, - ) - - self.efficiency = nan - - self.Q_nominal_gas = nan - - self.component_subtype = "gas_boiler" - - self.energy_content = nan # [J/kg] - self.density = 2.5e3 # H2 density [g/m3] at 30bar - - self.id_mapping_carrier = -1 - - # Assumption: heat in/out and added is nonnegative - # Heat in the return (i.e. cold) line is zero - self.add_variable(GasPort, "GasIn") - self.add_variable( - Variable, "Gas_demand_mass_flow", min=0.0, nominal=self.Q_nominal_gas * self.density - ) # [g/s] - - self.add_equation( - ( - (self.GasIn.mass_flow - self.Gas_demand_mass_flow) - / (self.Q_nominal_gas * self.density) - ) - ) - - # Heat_source [J/s] = mass_flow [g/s] / 1000 [g/kg] * energy_content [J/kg] * efficiency [-] - self.add_equation( - ( - ( - self.GasIn.mass_flow / 1000.0 * self.energy_content * self.efficiency - - self.Heat_source - ) - / self.Heat_nominal - ) - ) diff --git a/src/mesido/pycml/component_library/milp/multicommodity/gas_heat_source_gas.py b/src/mesido/pycml/component_library/milp/multicommodity/gas_heat_source_gas.py new file mode 100644 index 000000000..78ecd2ff9 --- /dev/null +++ b/src/mesido/pycml/component_library/milp/multicommodity/gas_heat_source_gas.py @@ -0,0 +1,41 @@ +from mesido.pycml.component_library.milp.gas.gas_base import GasPort +from mesido.pycml.component_library.milp.heat.heat_source_gas import HeatSourceGas +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + + +@add_variables_documentation_automatically +class GasHeatSourceGas(HeatSourceGas): + """ + The gas heat source gas component is used to model the source behaviour of gas boilers + with gas input port. It functions as a heat source gas that supplies thermal energy + to the connected heat network. Besides, it models the gas consumed by the asset. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + + + """ + + def __init__(self, name, **modifiers): + super().__init__( + name, + **modifiers, + ) + self.component_subtype = "gas_heat_source_gas" + + self.id_mapping_carrier = -1 + + # Assumption: heat in/out and added is nonnegative + # Heat in the return (i.e. cold) line is zero + self.add_variable(GasPort, "GasIn") + + self.add_equation( + ( + (self.GasIn.mass_flow - self.Gas_demand_mass_flow) + / (self.Q_nominal_gas * self.density) + ) + ) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index dc64a259c..0261b82c8 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -1189,6 +1189,7 @@ def _write_updated_esdl( isinstance(asset, esdl.Producer) or isinstance(asset, esdl.Airco) or isinstance(asset, esdl.ElectricBoiler) + or isinstance(asset, esdl.GasHeater) ): port = [port for port in asset.port if isinstance(port, esdl.OutPort)][0] elif isinstance(asset, esdl.Conversion): @@ -1209,8 +1210,8 @@ def _write_updated_esdl( port_sec = secondary_outports[0] else: logger.error( - f"Write to influxdb does not cater for asset: {asset_name}, with" - f" {len(primary_inports)} primary inport(s) and" + f"Write to influxdb does not cater for asset: {asset_name}, " + f"with {len(primary_inports)} primary inport(s) and" f" {len(secondary_outports)} secondary outport(s)." ) traceback.print_exc() diff --git a/tests/models/gas_electricity_network/model/gas_elect_loop_tree.esdl b/tests/models/gas_electricity_network/model/gas_elect_loop_tree.esdl index 72e8301d5..015271565 100644 --- a/tests/models/gas_electricity_network/model/gas_elect_loop_tree.esdl +++ b/tests/models/gas_electricity_network/model/gas_elect_loop_tree.esdl @@ -19,8 +19,8 @@ - - + + @@ -78,8 +78,8 @@ - - + + diff --git a/tests/models/gas_electricity_network/src/run_gas_elect.py b/tests/models/gas_electricity_network/src/run_gas_elect.py index 3756f1ba1..be207d85a 100644 --- a/tests/models/gas_electricity_network/src/run_gas_elect.py +++ b/tests/models/gas_electricity_network/src/run_gas_elect.py @@ -119,7 +119,7 @@ # np.testing.assert_array_less(np.array(pipe_diameters), np.array(pipe_diameters_high_demand)) # # # Test: Check the burning efficiency of gas heaters - # for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: + # for asset_name in [*solution.energy_system_components.get("gas_heat_source_gas", [])]: # np.testing.assert_allclose( # parameters[f"{asset_name}.energy_content"] # * results[f"{asset_name}.GasIn.mass_flow"] @@ -131,7 +131,7 @@ # # Test: Check gas consumption vs production balance # total_gas_demand_g = [0] * len(np.diff(solution.times())) # total_gas_source_g = [0] * len(np.diff(solution.times())) - # for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: + # for asset_name in [*solution.energy_system_components.get("gas_heat_source_gas", [])]: # for ii in range(1, len(results[f"{asset_name}.Gas_demand_mass_flow"])): # total_gas_demand_g[ii - 1] += ( # results[f"{asset_name}.Gas_demand_mass_flow"][ii] @@ -231,7 +231,7 @@ # solution.esdl_asset_name_to_id_map[f"{asset}"] # ].attributes["COP"] # if asset in [ - # *solution.energy_system_components.get("gas_boiler", []), + # *solution.energy_system_components.get("gas_heat_source_gas", []), # ]: # factor = solution.esdl_assets[ # solution.esdl_asset_name_to_id_map[f"{asset}"] diff --git a/tests/models/source_pipe_sink/model/sourcesink_withgasboiler.esdl b/tests/models/source_pipe_sink/model/sourcesink_with_gasboiler.esdl similarity index 58% rename from tests/models/source_pipe_sink/model/sourcesink_withgasboiler.esdl rename to tests/models/source_pipe_sink/model/sourcesink_with_gasboiler.esdl index 337bec5e8..5a32d9644 100644 --- a/tests/models/source_pipe_sink/model/sourcesink_withgasboiler.esdl +++ b/tests/models/source_pipe_sink/model/sourcesink_with_gasboiler.esdl @@ -1,27 +1,27 @@ - + - + - - + + - + - + - - + + @@ -39,32 +39,43 @@ - - - + + + - - - + + + + + + + + + + + + + + - + - + - - + + diff --git a/tests/models/source_pipe_sink/model/sourcesink_with_gasboiler_no_gas.esdl b/tests/models/source_pipe_sink/model/sourcesink_with_gasboiler_no_gas.esdl new file mode 100644 index 000000000..82216bfb2 --- /dev/null +++ b/tests/models/source_pipe_sink/model/sourcesink_with_gasboiler_no_gas.esdl @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_gas_boiler.py b/tests/test_gas_boiler.py index ce35e687a..6c5f9c560 100644 --- a/tests/test_gas_boiler.py +++ b/tests/test_gas_boiler.py @@ -12,7 +12,42 @@ class TestGasBoiler(TestCase): - def test_gas_boiler(self): + + def asset_cost_calculation_tests(self, solution, results, parameters): + # Check the cost components of GasHeater + for asset in [ + *solution.energy_system_components.get("heat_source", []), + ]: + esdl_asset = solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + costs_esdl_asset = esdl_asset.attributes["costInformation"] + + # investment cost + investment_cost_info = costs_esdl_asset.investmentCosts.value + investment_cost = investment_cost_info * results[f"{asset}__max_size"] / 1.0e6 + np.testing.assert_allclose( + investment_cost, results[f"{asset}__investment_cost"], atol=1.0e-7 + ) + + # installation cost + installation_cost = costs_esdl_asset.installationCosts.value + np.testing.assert_allclose(installation_cost, results[f"{asset}__installation_cost"]) + + # variable operational cost + timesteps_hr = np.diff(solution.times()) + variable_operational_cost = 0.0 + var_op_costs = costs_esdl_asset.variableOperationalCosts.value + for ii in range(1, len(solution.times())): + variable_operational_cost += ( + var_op_costs + * results[f"{asset}.Gas_demand_mass_flow"][ii] + / parameters[f"{asset}.density_normal"] + * timesteps_hr[ii - 1] + ) + np.testing.assert_allclose( + variable_operational_cost, results[f"{asset}__variable_operational_cost"] + ) + + def test_gas_heat_source_gas(self): """ This tests checks the gas boiler for the standard checks and the energy conservation over the commodity change. @@ -22,6 +57,7 @@ def test_gas_boiler(self): 2. energy conservation in the network 3. heat to discharge 4. energy conservation over the commodity + 5. GasHeater cost components """ import models.source_pipe_sink.src.double_pipe_heat as example @@ -32,7 +68,7 @@ def test_gas_boiler(self): heat_problem = run_esdl_mesido_optimization( SourcePipeSink, base_folder=base_folder, - esdl_file_name="sourcesink_withgasboiler.esdl", + esdl_file_name="sourcesink_with_gasboiler.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.csv", @@ -45,6 +81,7 @@ def test_gas_boiler(self): energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) + # check energy conservation over the commodity np.testing.assert_array_less(0.0, results["GasHeater_f713.Heat_source"]) np.testing.assert_array_less(0.0, results["GasProducer_82ec.Gas_source_mass_flow"]) np.testing.assert_array_less( @@ -64,8 +101,59 @@ def test_gas_boiler(self): parameters["Pipe_a7b5.diameter"] ** 2 / 4 * math.pi * v_max_gas, ) + # check the cost components of GasHeater + self.asset_cost_calculation_tests(heat_problem, results, parameters) + + def test_heat_source_gas(self): + """ + This tests checks the gas boiler without gas inlet port for the standard checks + and GasHeater cost components + + Checks: + 1. demand is matched + 2. energy conservation in the network + 3. heat to discharge + 4. energy conservation over the commodity + 5. GasHeater cost components + + """ + import models.source_pipe_sink.src.double_pipe_heat as example + from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_esdl_mesido_optimization( + SourcePipeSink, + base_folder=base_folder, + esdl_file_name="sourcesink_with_gasboiler_no_gas.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.csv", + ) + results = solution.extract_results() + parameters = solution.parameters(0) + + demand_matching_test(solution, results) + energy_conservation_test(solution, results) + heat_to_discharge_test(solution, results) + + # check energy conservation over the commodity + np.testing.assert_array_less(0.0, results["GasHeater_f713.Heat_source"]) + np.testing.assert_array_less(0.0, results["GasHeater_f713.Gas_demand_mass_flow"]) + np.testing.assert_array_less( + parameters["GasHeater_f713.energy_content"] + * results["GasHeater_f713.Gas_demand_mass_flow"] + * parameters["GasHeater_f713.efficiency"] + / 1000.0, # [J/kg] * [g/s] / 1000.0 = [J/s] + results["GasHeater_f713.Heat_source"] + 1.0e-6, + ) + + # Check the cost components of GasHeater + self.asset_cost_calculation_tests(solution, results, parameters) + if __name__ == "__main__": a = TestGasBoiler() - a.test_gas_boiler() + a.test_gas_heat_source_gas() + a.test_heat_source_gas() diff --git a/tests/test_gas_electricity.py b/tests/test_gas_electricity.py index 2034a6674..aabed7735 100644 --- a/tests/test_gas_electricity.py +++ b/tests/test_gas_electricity.py @@ -31,8 +31,8 @@ def test_gas_elect(self): - Investment cost of GasBoiler assets in EUR/MW refers to euro-per-watt-thermal - Variable operational cost of HeatPump assets in EUR/MWh refers to euro-per-watt-electricity-per-hour - - Variable operational cost of GasBoiler assets in EUR/MWh refers - to euro-per-watt-gas-per-hour + - Variable operational cost of GasBoiler assets in EUR/Nm3 refers + to euro-per-watt-gas-per-normal-volume Checks: @@ -116,7 +116,7 @@ def test_gas_elect(self): np.testing.assert_array_less(np.array(pipe_diameters), np.array(pipe_diameters_high_demand)) # Test: Check the burning efficiency of gas heaters - for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: + for asset_name in [*solution.energy_system_components.get("gas_heat_source_gas", [])]: np.testing.assert_allclose( parameters[f"{asset_name}.energy_content"] * results[f"{asset_name}.GasIn.mass_flow"] @@ -128,7 +128,7 @@ def test_gas_elect(self): # Test: Check gas consumption vs production balance total_gas_demand_g = [0] * len(np.diff(solution.times())) total_gas_source_g = [0] * len(np.diff(solution.times())) - for asset_name in [*solution.energy_system_components.get("gas_boiler", [])]: + for asset_name in [*solution.energy_system_components.get("gas_heat_source_gas", [])]: total_gas_demand_g += results[f"{asset_name}.Gas_demand_mass_flow"][1:] * np.diff( solution.times() ) @@ -174,7 +174,9 @@ def test_gas_elect(self): pipe_classes[iter].investment_costs * parameters[f"{asset}.length"] ) total_capex += investment_cost - np.testing.assert_allclose(investment_cost, results[f"{asset}__investment_cost"]) + np.testing.assert_allclose( + investment_cost, results[f"{asset}__investment_cost"], atol=1.0e-6 + ) # installation cost if asset in solution.energy_system_components["heat_source"]: @@ -191,23 +193,27 @@ def test_gas_elect(self): timesteps_hr = np.diff(solution.times()) / 3600 variable_operational_cost = 0.0 if asset in solution.energy_system_components["heat_source"]: - var_op_costs = costs_esdl_asset.variableOperationalCosts.value / 1.0e6 - assert var_op_costs > 0 + nominator_vector = results[f"{asset}.Heat_flow"] factor = 1.0 if asset in [ *solution.energy_system_components.get("air_water_heat_pump_elec", []), ]: + var_op_costs = costs_esdl_asset.variableOperationalCosts.value / 1.0e6 + assert var_op_costs > 0 factor = esdl_asset.attributes["COP"] if asset in [ - *solution.energy_system_components.get("gas_boiler", []), + *solution.energy_system_components.get("gas_heat_source_gas", []), ]: - factor = esdl_asset.attributes["efficiency"] + var_op_costs = costs_esdl_asset.variableOperationalCosts.value + assert var_op_costs > 0 + nominator_vector = ( + results[f"{asset}.Gas_demand_mass_flow"] + / parameters[f"{asset}.density_normal"] + * 3600 + ) for ii in range(1, len(solution.times())): variable_operational_cost += ( - var_op_costs - * results[f"{asset}.Heat_flow"][ii] - * timesteps_hr[ii - 1] - / factor + var_op_costs * nominator_vector[ii] * timesteps_hr[ii - 1] / factor ) np.testing.assert_allclose( variable_operational_cost, results[f"{asset}__variable_operational_cost"] From 016ef879d14539581f379f1030a11b9ea98fcc91 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Mon, 2 Feb 2026 16:56:57 +0100 Subject: [PATCH 334/376] Reducing loops over timestep in profile averaging (#414) --- src/mesido/esdl/profile_parser.py | 7 +++-- src/mesido/workflows/utils/adapt_profiles.py | 30 ++++++++++---------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 74a156d56..d8da97366 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -459,16 +459,17 @@ def _load_profile_timeseries_from_database(self, profile: esdl.InfluxDBProfile) "profile for each asset" ) + x_0, x_1 = map(list, zip(*time_series_data.profile_data_list)) if not time_series_data.profile_data_list[0][0].tzinfo: index = pd.DatetimeIndex( - data=[x[0] for x in time_series_data.profile_data_list], + data=x_0, tz=datetime.timezone.utc, ) logger.warning("No timezone specified for the input profile: default UTC has been used") else: - index = pd.DatetimeIndex(data=[x[0] for x in time_series_data.profile_data_list]) + index = pd.DatetimeIndex(data=x_0) - data = [x[1] for x in time_series_data.profile_data_list] + data = x_1 series = pd.Series(data=data, index=index) self._df[profile.id] = series diff --git a/src/mesido/workflows/utils/adapt_profiles.py b/src/mesido/workflows/utils/adapt_profiles.py index 4f1369342..152ae5dc5 100644 --- a/src/mesido/workflows/utils/adapt_profiles.py +++ b/src/mesido/workflows/utils/adapt_profiles.py @@ -18,6 +18,7 @@ def set_data_with_averages( variable_name: str, ensemble_member: int, new_date_times: np.array, + new_date_timestamps: list, problem: object, ): try: @@ -32,19 +33,17 @@ def set_data_with_averages( ) return - new_data = [] - data_timestamps = data.times - new_date_timestamps = [ - (new_dt - problem.io.datetimes[0]).total_seconds() for new_dt in new_date_times - ] + data_timestamps = list(data.times) - values_for_mean = [0.0] - for dt, val in zip(data_timestamps, data.values): - if dt in new_date_timestamps: - new_data.append(np.mean(values_for_mean)) - values_for_mean = [val] - else: - values_for_mean.append(val) + new_data = [data_timestamps[0]] + i_start = data_timestamps.index(new_date_timestamps[0]) + for t in range(0, len(new_date_timestamps) - 1): + try: + i_end = data_timestamps.index(new_date_timestamps[t + 1]) + except ValueError: + i_end = len(data_timestamps) + new_data.append(np.mean(data.values[i_start:i_end])) + i_start = i_end # At this point new_data[0] = 0.0. This value is not utilized. The heat demand value # new_data[1] at new_date_times[1] is active from new_date_times[0] up to new_date_times[1]. To @@ -52,9 +51,6 @@ def set_data_with_averages( # an artificial value below new_data[0] = new_data[1] - # last datetime is not in input data, so we need to take the mean of the last bit - new_data.append(np.mean(values_for_mean)) - datastore.set_timeseries( variable=variable_name, datetimes=new_date_times, @@ -343,11 +339,15 @@ def select_profiles_for_update( """ timeseries_names = problem.io.get_timeseries_names() + new_date_timestamps = [ + (new_dt - problem.io.datetimes[0]).total_seconds() for new_dt in new_date_times + ] for var_name in timeseries_names: set_data_with_averages( datastore=new_datastore, variable_name=var_name, ensemble_member=ensemble_member, new_date_times=new_date_times, + new_date_timestamps=new_date_timestamps, problem=problem, ) From 1fe58a0aa22591affac732f6d8d85f4481d613a4 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 4 Feb 2026 15:53:13 +0100 Subject: [PATCH 335/376] 404 improve vectorization for summations over timestep (#409) added vectorization when summation over timesteps is applied fix indeed additional slicing of priceprofile is required vectorizing adding constraint for multiple timesteps removing for loop over time in asset_sizing_mixin --- CHANGELOG.md | 4 +- src/mesido/asset_sizing_mixin.py | 28 +++--- src/mesido/financial_mixin.py | 127 +++++++++++--------------- src/mesido/workflows/grow_workflow.py | 13 ++- 4 files changed, 77 insertions(+), 95 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b62ac1c32..63ed06837 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2025-12-08 +# [Unreleased-main] - 2026-02-04 ## Added - ATES variable cost calculation utilizing a split ates charging and discharging variable. @@ -22,11 +22,13 @@ - Costs of available pipe classes are updated based on the asset measures and templates if they are provided. - The charging and discharging variable for electricity storage is created without a binary variable using the convex hull description. - Gas Boiler asset is renamed as HeatSourceGas +- Improvement: Loops over timesteps are vectorized. ## Fixed - Bug: Write updated esdl for 2 port heat pump - Bug: 2 port heatpump write result profiles to database - Bug: setting of self._pipe_heat_loss_nominals was not accounting for negative values when T_ground > carrier temperature +- Additional slicing of priceprofile is required # [0.1.15] - 2025-11-19 diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 95d8c5fb3..709c15040 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -1956,15 +1956,13 @@ def __max_size_constraints(self, ensemble_member): logger.error(f"Unexpected state: {state_val}") sys.exit(1) - for i in range(0, len(self.times())): - constraints.append( - ( - (profile_scaled[i] * max_heat_var - heat_source[i]) - / constraint_nominal, - 0.0, - np.inf, - ) + constraints.append( + ( + (profile_scaled * max_heat_var - heat_source) / constraint_nominal, + 0.0, + np.inf, ) + ) # Option 2: Normalised profile (0.0-1.0) shape that scales with maximum size of the # producer # Note: If the asset is not optional then the profile will be scaled to the @@ -1993,15 +1991,13 @@ def __max_size_constraints(self, ensemble_member): # for ProfileContraint. Future addition can be to use a different unit/quantity # etc. so that the profile is used in a normalised way and scale to max_size - for i in range(0, len(self.times())): - constraints.append( - ( - (profile_scaled[i] * max_heat - heat_source[i]) - / constraint_nominal, - 0.0, - np.inf, - ) + constraints.append( + ( + (profile_scaled * max_heat - heat_source) / constraint_nominal, + 0.0, + np.inf, ) + ) else: RuntimeError(f"{s}: Unforeseen error in adding a profile contraint") else: diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 9a3368d7a..09783d792 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -975,16 +975,14 @@ def __variable_operational_cost_constraints(self, ensemble_member): else: price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) - sum = 0.0 - for i in range(1, len(self.times())): - sum += ( - variable_operational_cost_coefficient - * (heat_charge[i] + heat_discharge[i]) - * timesteps[i - 1] - ) - sum += price_profile.values[i] * pump_power[i] * timesteps[i - 1] / eff + sum_ = ca.sum1( + variable_operational_cost_coefficient + * (heat_charge[1:] + heat_discharge[1:]) + * timesteps + ) + sum_ += ca.sum1(price_profile.values[1:] * pump_power[1:] * timesteps / eff) - constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + constraints.append(((variable_operational_cost - sum_) / nominal, 0.0, 0.0)) for asset in [ *self.energy_system_components.get("pump", []), @@ -1011,11 +1009,9 @@ def __variable_operational_cost_constraints(self, ensemble_member): else: price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) - sum = 0.0 - for i in range(1, len(self.times())): - sum += price_profile.values[i] * pump_power[i] * timesteps_hr[i - 1] / eff + sum_ = ca.sum1(price_profile.values[1:] * pump_power[1:] * timesteps_hr / eff) - constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + constraints.append(((variable_operational_cost - sum_) / nominal, 0.0, 0.0)) for s in self.energy_system_components.get("heat_source", []): heat_source = self.__state_vector_scaled(f"{s}.Heat_source", ensemble_member) @@ -1072,17 +1068,14 @@ def __variable_operational_cost_constraints(self, ensemble_member): ) # [W] else: nominator_vector = heat_source - sum = 0.0 - for i in range(1, len(self.times())): - sum += ( - variable_operational_cost_coefficient - * nominator_vector[i] - * timesteps_hr[i - 1] - / denominator - ) - sum += price_profile.values[i] * pump_power[i] * timesteps_hr[i - 1] / eff - constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + sum_ = ( + ca.sum1(variable_operational_cost_coefficient * nominator_vector[1:] * timesteps_hr) + / denominator + ) + sum_ += ca.sum1(price_profile.values[1:] * pump_power[1:] * timesteps_hr / eff) + + constraints.append(((variable_operational_cost - sum_) / nominal, 0.0, 0.0)) for hp in [ *self.energy_system_components.get("heat_pump", []), @@ -1111,20 +1104,15 @@ def __variable_operational_cost_constraints(self, ensemble_member): else: price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) - sum = 0.0 - for i in range(1, len(self.times())): - sum += ( - variable_operational_cost_coefficient - * elec_consumption[i] - * timesteps_hr[i - 1] - ) - sum += price_profile.values[i] * pump_power[i] * timesteps_hr[i - 1] / eff - if hp not in self.energy_system_components.get("heat_pump_elec", []): - # assuming that if heatpump has electricity port, the cost for the electricity - # are already made by the electricity producer and transport - sum += price_profile.values[i] * elec_consumption[i] * timesteps_hr[i - 1] - - constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + sum_ = ca.sum1( + variable_operational_cost_coefficient * elec_consumption[1:] * timesteps_hr + ) + sum_ += ca.sum1(price_profile.values[1:] * pump_power[1:] * timesteps_hr / eff) + if hp not in self.energy_system_components.get("heat_pump_elec", []): + # assuming that if heatpump has electricity port, the cost for the electricity + # are already made by the electricity producer and transport + sum_ += ca.sum1(price_profile.values[1:] * elec_consumption[1:] * timesteps_hr) + constraints.append(((variable_operational_cost - sum_) / nominal, 0.0, 0.0)) for ac in self.energy_system_components.get("airco", []): heat_airco = self.__state_vector_scaled(f"{ac}.Heat_airco", ensemble_member) @@ -1136,11 +1124,9 @@ def __variable_operational_cost_constraints(self, ensemble_member): variable_operational_cost_coefficient = parameters[ f"{ac}.variable_operational_cost_coefficient" ] - sum = 0.0 - for i in range(1, len(self.times())): - sum += variable_operational_cost_coefficient * heat_airco[i] * timesteps_hr[i - 1] + sum_ = ca.sum1(variable_operational_cost_coefficient * heat_airco[1:] * timesteps_hr) - constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + constraints.append(((variable_operational_cost - sum_) / nominal, 0.0, 0.0)) for demand in self.energy_system_components.get("gas_demand", []): gas_mass_flow = self.__state_vector_scaled( @@ -1156,13 +1142,8 @@ def __variable_operational_cost_constraints(self, ensemble_member): f"{demand}.variable_operational_cost_coefficient" ] - sum = 0.0 - for i in range(1, len(self.times())): - sum += ( - variable_operational_cost_coefficient * gas_mass_flow[i] * timesteps_hr[i - 1] - ) - - constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + sum_ = ca.sum1(variable_operational_cost_coefficient * gas_mass_flow[1:] * timesteps_hr) + constraints.append(((variable_operational_cost - sum_) / nominal, 0.0, 0.0)) for gs in self.energy_system_components.get("gas_source", []): gas_produced_g_s = self.__state_vector_scaled( @@ -1177,14 +1158,11 @@ def __variable_operational_cost_constraints(self, ensemble_member): f"{gs}.variable_operational_cost_coefficient" ] timesteps_sec = np.diff(self.times()) - sum = 0.0 - for i in range(1, len(self.times())): - sum += ( - variable_operational_cost_coefficient - * gas_produced_g_s[i] - * timesteps_sec[i - 1] - ) # [euro/g] * [g/s] * [s] - constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + sum_ = ca.sum1( + variable_operational_cost_coefficient * gas_produced_g_s[1:] * timesteps_sec + ) + # [euro/g] * [g/s] * [s] + constraints.append(((variable_operational_cost - sum_) / nominal, 0.0, 0.0)) for es in self.energy_system_components.get("electricity_source", []): elec_produced_w = self.__state_vector_scaled( @@ -1198,12 +1176,10 @@ def __variable_operational_cost_constraints(self, ensemble_member): variable_operational_cost_coefficient = parameters[ # euro / Wh f"{es}.variable_operational_cost_coefficient" ] - sum = 0.0 - for i in range(1, len(self.times())): - sum += ( - variable_operational_cost_coefficient * elec_produced_w[i] * timesteps_hr[i - 1] - ) # [euro/Wh] * [W] * [hr] - constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + sum_ = ca.sum1( + variable_operational_cost_coefficient * elec_produced_w[1:] * timesteps_hr + ) # [euro/Wh] * [W] * [hr] + constraints.append(((variable_operational_cost - sum_) / nominal, 0.0, 0.0)) # for a in self.heat_network_components.get("ates", []): # TODO: needs to be replaced with the positive or abs value of this, see varOPEX, @@ -1242,15 +1218,13 @@ def __variable_operational_cost_constraints(self, ensemble_member): f"{electrolyzer}.variable_operational_cost_coefficient" ] - sum = 0.0 - for i in range(1, len(self.times())): - sum += ( - variable_operational_cost_coefficient - * power_consumer[i] - * timesteps_hr[i - 1] # gas_mass_flow unit is g/s - ) + sum_ = ca.sum1( + variable_operational_cost_coefficient + * power_consumer[1:] + * timesteps_hr # gas_mass_flow unit is g/s + ) - constraints.append(((variable_operational_cost - sum) / nominal, 0.0, 0.0)) + constraints.append(((variable_operational_cost - sum_) / nominal, 0.0, 0.0)) # for a in self.heat_network_components.get("ates", []): # TODO: needs to be replaced with the positive or abs value of this, see varOPEX, @@ -1636,7 +1610,12 @@ def __revenue_constraints(self, ensemble_member): carrier_name = attr["name"] cost_multiplier = 1.0 # priceprofile gas is in EUR/g if carrier_name is not None: - price_profile = self.get_timeseries(f"{carrier_name}.price_profile").values + price_profile_timeseries = self.get_timeseries(f"{carrier_name}.price_profile") + # The slicing is required if the timeseries wasn't adapted in the read + mask = (price_profile_timeseries.times >= self.times()[0]) & ( + price_profile_timeseries.times <= self.times()[-1] + ) + price_profile = price_profile_timeseries.values[mask] if demand in self.energy_system_components.get("gas_demand", []): energy_flow = self.__state_vector_scaled( @@ -1652,12 +1631,10 @@ def __revenue_constraints(self, ensemble_member): variable_revenue = self.extra_variable(variable_revenue_var, ensemble_member) nominal = self.variable_nominal(variable_revenue_var) - sum = 0.0 timesteps = np.diff(self.times()) * cost_multiplier - for i in range(1, len(self.times())): - sum += price_profile[i] * energy_flow[i] * timesteps[i - 1] + sum_ = ca.sum1(price_profile[1:] * energy_flow[1:] * timesteps) - constraints.append(((variable_revenue - sum) / (nominal), 0.0, 0.0)) + constraints.append(((variable_revenue - sum_) / (nominal), 0.0, 0.0)) return constraints diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index f8bc19ee0..531154a61 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -375,9 +375,16 @@ def constraints(self, ensemble_member): vars = self.state_vector(f"{b}.Heat_buffer") symbol_stored_heat = self.state_vector(f"{b}.Stored_heat") constraints.append((symbol_stored_heat[self.__indx_max_peak], 0.0, 0.0)) - for i in range(len(self.times())): - if i < self.__indx_max_peak or i > (self.__indx_max_peak + 23): - constraints.append((vars[i], 0.0, 0.0)) + + ind_peak = int(self.__indx_max_peak) + constraints.append((vars[:ind_peak], 0.0, 0.0)) + constraints.append( + ( + vars[ind_peak + 24 :], + 0.0, + 0.0, + ) + ) # TODO: confirm if volume or heat balance is required over year. This will # determine if cyclic contraint below is for stored_heat or stored_volume From 1849956c0ba49958c111a2746dd5f76e8ffe27f0 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Thu, 5 Feb 2026 08:43:05 +0100 Subject: [PATCH 336/376] Heat exchanger attributes in optimized esdl (#422) fix bug in heat exchanger post processing for DTK --- CHANGELOG.md | 1 + src/mesido/workflows/io/write_output.py | 3 + .../model/heat_exchanger_with_costs.esdl | 313 ++++++++++++++++++ tests/test_end_scenario_sizing.py | 37 +++ ...est_multiple_in_and_out_port_components.py | 1 + 5 files changed, 355 insertions(+) create mode 100644 tests/models/heat_exchange/model/heat_exchanger_with_costs.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 63ed06837..3a39f8e00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ - Bug: Write updated esdl for 2 port heat pump - Bug: 2 port heatpump write result profiles to database - Bug: setting of self._pipe_heat_loss_nominals was not accounting for negative values when T_ground > carrier temperature +- Bug: heat exchanger state and capacity are updated in optimized esdl file - Additional slicing of priceprofile is required diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 0261b82c8..e87336b6c 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -1031,6 +1031,7 @@ def _write_updated_esdl( *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_pump", []), *self.energy_system_components.get("airco", []), + *self.energy_system_components.get("heat_exchanger", []), ]: asset = self._name_to_asset(energy_system, name) asset_placement_var = self._asset_aggregation_count_var_map[name] @@ -1050,6 +1051,8 @@ def _write_updated_esdl( * parameters[f"{name}.rho"] * parameters[f"{name}.dT"] ) + elif asset.name in self.energy_system_components.get("heat_exchanger", []): + asset.capacity = max_size elif asset.name in [ *self.energy_system_components.get("heat_pump", []), *self.energy_system_components.get("airco", []), diff --git a/tests/models/heat_exchange/model/heat_exchanger_with_costs.esdl b/tests/models/heat_exchange/model/heat_exchanger_with_costs.esdl new file mode 100644 index 000000000..8148e8eaa --- /dev/null +++ b/tests/models/heat_exchange/model/heat_exchanger_with_costs.esdl @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 1799e360e..719e8d6a6 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -24,6 +24,43 @@ class TestEndScenarioSizing(TestCase): + def test_heat_exchanger_sizing(self): + """ + Check heat exchanger can be sized in EndScenarioSizingStaged problem. + After optimization asset state and capacity attributes are changed. + + Checks: + - max_size variable of the asset is calculated + - heat exchanger state attribute is changed + - heat exchanger capacity attribute is updated + """ + import models.heat_exchange.src.run_heat_exchanger as run_heat_exchanger + + base_folder = Path(run_heat_exchanger.__file__).resolve().parent.parent + + solution = run_end_scenario_sizing( + EndScenarioSizingStaged, + base_folder=base_folder, + esdl_file_name="heat_exchanger_with_costs.esdl", + esdl_parser=ESDLFileParser, + ) + results = solution.extract_results() + + # Check heat exchanger is sized + np.testing.assert_allclose( + max(results["HeatExchange_39ed.Secondary_heat"]), results["HeatExchange_39ed__max_size"] + ) + + # Check heat exchanger state attribute is changed from OPTIONAL + # to ENABLED after the optimization + energy_system = solution._ESDLMixin__energy_system_handler.energy_system + asset = solution._name_to_asset(energy_system, "HeatExchange_39ed") + np.testing.assert_equal(esdl.AssetStateEnum.ENABLED, asset.state) + + # Check heat exchanger capacity attribute is updated + # with max_size variable after the optimization + np.testing.assert_allclose(results["HeatExchange_39ed__max_size"], asset.capacity) + @classmethod def setUpClass(cls) -> None: import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 78d46e315..4850a9a80 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -12,6 +12,7 @@ class TestHEX(TestCase): + def test_heat_exchanger(self): """ Check the modelling of the heat exchanger component which allows two hydraulically From 1fcba99f25776ed90cd30dc43834bde9174b2f1e Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Thu, 5 Feb 2026 11:17:57 +0100 Subject: [PATCH 337/376] formatting (#423) new release --- CHANGELOG.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a39f8e00..0d604ff29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,16 @@ -# [Unreleased-main] - 2026-02-04 +# [Unreleased-main] - 2026-02-05 + +## Added +- xxx + +## Changed +- xxx + +## Fixed +- xxx + + +# [0.1.16] - 2026-02-05 ## Added - ATES variable cost calculation utilizing a split ates charging and discharging variable. From 29876a3b566b9b4382c4e38590815139eb1381fa Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 24 Feb 2026 15:53:51 +0100 Subject: [PATCH 338/376] Fix git pipeline (#436) fix pipeline issues due to setuptools versioning --- setup.py | 5 ++++- tox.ini | 9 +++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index 82a0baec0..c913a76e6 100644 --- a/setup.py +++ b/setup.py @@ -59,13 +59,16 @@ "pyecore >= 0.13.2", "pymoca >= 0.9.0", "rtc-tools-gil-comp == 2.6.1", + # setuptools version limitations currently: + # < 81.0.0 needed for pandapipes (still to be removed) + # < 82.0.0 needed for pkg_resources (used in rtctools) + "setuptools <= 80.9.0", "pyesdl == 25.7", "pandas >= 1.3.1, < 2.0", "casadi-gil-comp == 3.6.7", "StrEnum == 0.4.15", "CoolProp==6.6.0", ], - tests_require=["pytest", "pytest-runner", "numpy"], include_package_data=True, python_requires=">=3.10,<3.12", cmdclass=versioneer.get_cmdclass(), diff --git a/tox.ini b/tox.ini index 2df141d2d..98cf1930a 100644 --- a/tox.ini +++ b/tox.ini @@ -15,10 +15,10 @@ deps = pytest-ordering pytest-timeout numpy - pandapipes==0.10.0 - pandapower==2.14.6 - deepdiff==7.0.1 -extras = all + pandapipes == 0.10.0 + pandapower == 2.14.6 + deepdiff == 7.0.1 + pip == 25.3 # Main tests part 1 (typical normal test) [testenv:test_env_main_1] @@ -43,6 +43,7 @@ deps = flake8-comprehensions == 3.15.0 flake8-import-order == 0.18.2 pep8-naming == 0.13.3 + setuptools == 80.9.0 commands = flake8 examples src tests setup.py --exclude=pandapipeesdlparser.py From c719b734d5603901d35ef5aa47592011a0d1ecd8 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 25 Feb 2026 08:42:56 +0100 Subject: [PATCH 339/376] 426 db connections structure (#438) * spelling mistake --- CHANGELOG.md | 4 ++-- examples/PoCTutorial/src/run_grow_tutorial.py | 4 ++-- examples/municipality/src/run_municipality.py | 4 ++-- manual_run/testing_bugs/src/run_grow.py | 6 +++--- src/mesido/esdl/esdl_mixin.py | 16 ++++++++-------- src/mesido/workflows/gas_elect_workflow.py | 4 ++-- src/mesido/workflows/grow_workflow.py | 4 ++-- src/mesido/workflows/io/write_output.py | 4 ++-- .../multicommodity_simulator_workflow.py | 4 ++-- src/mesido/workflows/simulator_workflow.py | 4 ++-- tests/test_head_loss.py | 4 ++-- .../test_multiple_in_and_out_port_components.py | 6 +++--- 12 files changed, 32 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d604ff29..5f097da22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2026-02-05 +# [Unreleased-main] - 2026-02-24 ## Added - xxx @@ -7,7 +7,7 @@ - xxx ## Fixed -- xxx +- DBAccesType naming convention # [0.1.16] - 2026-02-05 diff --git a/examples/PoCTutorial/src/run_grow_tutorial.py b/examples/PoCTutorial/src/run_grow_tutorial.py index ce9184ef4..6b02e8f42 100644 --- a/examples/PoCTutorial/src/run_grow_tutorial.py +++ b/examples/PoCTutorial/src/run_grow_tutorial.py @@ -1,6 +1,6 @@ from pathlib import Path -from mesido.esdl.esdl_mixin import DBAccesType +from mesido.esdl.esdl_mixin import DBAccessType from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing @@ -16,7 +16,7 @@ class EndScenarioSizingStagedHighs(EndScenarioSizingStaged): "write_result_db_profiles": True, "database_connections": [ { - "access_type": DBAccesType.WRITE, # DBAccesType.READ or DBAccesType.READ_WRITE + "access_type": DBAccessType.WRITE, # DBAccessType.READ or DBAccessType.READ_WRITE "influxdb_host": "localhost", "influxdb_port": 8086, "influxdb_username": None, diff --git a/examples/municipality/src/run_municipality.py b/examples/municipality/src/run_municipality.py index fab2efcf6..dc529d66d 100644 --- a/examples/municipality/src/run_municipality.py +++ b/examples/municipality/src/run_municipality.py @@ -1,6 +1,6 @@ from pathlib import Path -from mesido.esdl.esdl_mixin import DBAccesType +from mesido.esdl.esdl_mixin import DBAccessType from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing @@ -15,7 +15,7 @@ kwargs = { "database_connections": [ { - "access_type": DBAccesType.READ, # DBAccesType.WRITE or DBAccesType.READ_WRITE + "access_type": DBAccessType.READ, # DBAccessType.WRITE or DBAccessType.READ_WRITE "influxdb_host": "required_user_input", "influxdb_port": 1234, "influxdb_username": "required_user_input", diff --git a/manual_run/testing_bugs/src/run_grow.py b/manual_run/testing_bugs/src/run_grow.py index 7e92dc40f..1d2f76623 100644 --- a/manual_run/testing_bugs/src/run_grow.py +++ b/manual_run/testing_bugs/src/run_grow.py @@ -2,7 +2,7 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing -from mesido.esdl.esdl_mixin import DBAccesType +from mesido.esdl.esdl_mixin import DBAccessType if __name__ == "__main__": import time @@ -13,7 +13,7 @@ kwargs = { "database_connections": [ { - "access_type": DBAccesType.READ, # or DBAccesType.WRITE or DBAccesType.READ_WRITE + "access_type": DBAccessType.READ, # or DBAccessType.WRITE or DBAccessType.READ_WRITE "influxdb_host": "required_user_input", "influxdb_port": 1234, "influxdb_username": "required_user_input", @@ -22,7 +22,7 @@ "influxdb_verify_ssl": False, }, { - "access_type": DBAccesType.WRITE, # or DBAccesType.WRITE or DBAccesType.READ_WRITE + "access_type": DBAccessType.WRITE, # or DBAccessType.WRITE or DBAccessType.READ_WRITE "influxdb_host": "localhost", "influxdb_port": 8086, "influxdb_username": None, diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index 208a9f378..d8d4ced2b 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -45,7 +45,7 @@ DEFAULT_END_TIMESTAMP = "2018-01-01T00:00:00+00:00" -class DBAccesType(StrEnum): +class DBAccessType(StrEnum): """ Enumeration for database access types """ @@ -118,8 +118,8 @@ def __init__(self, *args, **kwargs) -> None: self.__energy_system_handler: esdl.esdl_handler.EnergySystemHandler = esdl_parser.get_esh() self._esdl_measures: Dict[str, Asset] = esdl_parser.get_measures() self._database_credentials: Optional[Dict[str, Tuple[str, str]]] = { - DBAccesType.READ: [], - DBAccesType.WRITE: [], + DBAccessType.READ: [], + DBAccessType.WRITE: [], } profile_reader_class = kwargs.get("profile_reader", InfluxDBProfileReader) @@ -131,7 +131,7 @@ def __init__(self, *args, **kwargs) -> None: database_connection_info = kwargs.get("database_connections", {}) read_only_dbase_credentials: Dict[str, Tuple[str, str]] = {} # for profile reader for dbconnection in database_connection_info: - if dbconnection["access_type"] != DBAccesType.WRITE: + if dbconnection["access_type"] != DBAccessType.WRITE: database_host_port = "{}:{}".format( dbconnection["influxdb_host"], dbconnection["influxdb_port"], @@ -140,7 +140,7 @@ def __init__(self, *args, **kwargs) -> None: dbconnection["influxdb_username"], dbconnection["influxdb_password"], ) - if dbconnection["access_type"] != DBAccesType.READ_WRITE: + if dbconnection["access_type"] != DBAccessType.READ_WRITE: self._database_credentials[dbconnection["access_type"]].append( { "influxdb_host": dbconnection["influxdb_host"], @@ -151,8 +151,8 @@ def __init__(self, *args, **kwargs) -> None: "influxdb_verify_ssl": dbconnection["influxdb_verify_ssl"], } ) - elif dbconnection["access_type"] == DBAccesType.READ_WRITE: - both_read_and_write = [DBAccesType.READ, DBAccesType.WRITE] + elif dbconnection["access_type"] == DBAccessType.READ_WRITE: + both_read_and_write = [DBAccessType.READ, DBAccessType.WRITE] for rw in both_read_and_write: self._database_credentials[rw].append( { @@ -167,7 +167,7 @@ def __init__(self, *args, **kwargs) -> None: else: logger.error( f"Database access type {dbconnection['access_type']} is not recognized. " - f"Please use DBAccesType.READ, DBAccesType.WRITE or DBAccesType.READ_WRITE." + f"Please use DBAccessType.READ, DBAccessType.WRITE or DBAccessType.READ_WRITE." ) sys.exit(1) diff --git a/src/mesido/workflows/gas_elect_workflow.py b/src/mesido/workflows/gas_elect_workflow.py index eeda5d9ed..f05ad27a7 100644 --- a/src/mesido/workflows/gas_elect_workflow.py +++ b/src/mesido/workflows/gas_elect_workflow.py @@ -2,7 +2,7 @@ import os from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from mesido.esdl.esdl_mixin import DBAccesType +from mesido.esdl.esdl_mixin import DBAccessType from mesido.esdl.esdl_mixin import ESDLMixin from mesido.head_loss_class import HeadLossOption from mesido.network_common import NetworkSettings @@ -200,7 +200,7 @@ def main(runinfo_path, log_level): "write_result_db_profiles": False, "database_connections": [ { - "access_type": DBAccesType.WRITE, + "access_type": DBAccessType.WRITE, "influxdb_host": "localhost", "influxdb_port": 8086, "influxdb_username": None, diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 531154a61..230176771 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -6,7 +6,7 @@ from typing import Dict from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from mesido.esdl.esdl_mixin import DBAccesType +from mesido.esdl.esdl_mixin import DBAccessType from mesido.esdl.esdl_mixin import ESDLMixin from mesido.head_loss_class import HeadLossOption from mesido.potential_errors import reset_potential_errors @@ -871,7 +871,7 @@ def main(runinfo_path, log_level): "write_result_db_profiles": False, "database_connections": [ { - "access_type": DBAccesType.WRITE, + "access_type": DBAccessType.WRITE, "influxdb_host": "localhost", "influxdb_port": 8086, "influxdb_username": None, diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index e87336b6c..2903c8e69 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -18,7 +18,7 @@ import mesido.esdl.esdl_parser from mesido.constants import GRAVITATIONAL_CONSTANT from mesido.esdl.edr_pipe_class import EDRPipeClass -from mesido.esdl.esdl_mixin import DBAccesType +from mesido.esdl.esdl_mixin import DBAccessType from mesido.financial_mixin import calculate_annuity_factor from mesido.network_common import NetworkSettings from mesido.post_processing.post_processing_utils import pipe_pressure, pipe_velocity @@ -60,7 +60,7 @@ def __init__(self, **kwargs): sys.exit(1) if self.write_result_db_profiles: - database_connection_write = self._database_credentials.get(DBAccesType.WRITE, []) + database_connection_write = self._database_credentials.get(DBAccessType.WRITE, []) if len(database_connection_write) == 0: logger.error("The connections settings for writing to a database is empty") diff --git a/src/mesido/workflows/multicommodity_simulator_workflow.py b/src/mesido/workflows/multicommodity_simulator_workflow.py index 21e274646..a078625da 100644 --- a/src/mesido/workflows/multicommodity_simulator_workflow.py +++ b/src/mesido/workflows/multicommodity_simulator_workflow.py @@ -5,7 +5,7 @@ import esdl -from mesido.esdl.esdl_mixin import DBAccesType +from mesido.esdl.esdl_mixin import DBAccessType from mesido.esdl.esdl_mixin import ESDLMixin from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile @@ -833,7 +833,7 @@ def main(runinfo_path, log_level): "write_result_db_profiles": False, "database_connections": [ { - "access_type": DBAccesType.WRITE, + "access_type": DBAccessType.WRITE, "influxdb_host": "localhost", "influxdb_port": 8086, "influxdb_username": None, diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index 934aee2f1..4b9f3274d 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -3,7 +3,7 @@ import esdl -from mesido.esdl.esdl_mixin import DBAccesType +from mesido.esdl.esdl_mixin import DBAccessType from mesido.esdl.esdl_mixin import ESDLMixin from mesido.head_loss_class import HeadLossOption from mesido.techno_economic_mixin import TechnoEconomicMixin @@ -359,7 +359,7 @@ def main(runinfo_path, log_level): "write_result_db_profiles": False, "database_connections": [ { - "access_type": DBAccesType.WRITE, + "access_type": DBAccessType.WRITE, "influxdb_host": "localhost", "influxdb_port": 8086, "influxdb_username": None, diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index a1af43c44..e54fd7f0a 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -3,7 +3,7 @@ import mesido._darcy_weisbach as darcy_weisbach from mesido.constants import GRAVITATIONAL_CONSTANT -from mesido.esdl.esdl_mixin import DBAccesType +from mesido.esdl.esdl_mixin import DBAccessType from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption @@ -84,7 +84,7 @@ def energy_system_options(self): "write_result_db_profiles": False, "database_connections": [ { - "access_type": DBAccesType.WRITE, + "access_type": DBAccessType.WRITE, "influxdb_host": "localhost", "influxdb_port": 8086, "influxdb_username": None, diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 4850a9a80..f3dc1a13f 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -1,7 +1,7 @@ from pathlib import Path from unittest import TestCase -from mesido.esdl.esdl_mixin import DBAccesType +from mesido.esdl.esdl_mixin import DBAccessType from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.util import run_esdl_mesido_optimization @@ -55,7 +55,7 @@ def energy_system_options(self): "write_result_db_profiles": False, "database_connections": [ { - "access_type": DBAccesType.WRITE, + "access_type": DBAccessType.WRITE, "influxdb_host": "localhost", "influxdb_port": 8086, "influxdb_username": None, @@ -353,7 +353,7 @@ def energy_system_options(self): "write_result_db_profiles": False, "database_connections": [ { - "access_type": DBAccesType.WRITE, + "access_type": DBAccessType.WRITE, "influxdb_host": "localhost", "influxdb_port": 8086, "influxdb_username": None, From ec5c2f8b44793698c70337c616a6bbccc7eb338a Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Wed, 25 Feb 2026 08:48:07 +0100 Subject: [PATCH 340/376] E-boiler KPI Update ElectricBoiler asset is added to KPI of output esdl --- src/mesido/workflows/io/write_output.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 2903c8e69..488d39760 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -466,8 +466,8 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) or asset.asset_type == "GenericProducer" or asset.asset_type == "ResidualHeatSource" or asset.asset_type == "GeothermalSource" - or asset.asset_type == "ResidualHeatSource" or asset.asset_type == "GasHeater" + or asset.asset_type == "ElectricBoiler" ): heat_source_energy_wh[asset.name] = np.sum( results[f"{asset.name}.Heat_source"][1:] * diff_times / 3600 From 762275c58709a31c7c37d44ff5ee642aa0d54868 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 25 Feb 2026 09:48:43 +0100 Subject: [PATCH 341/376] update changelog (#439) --- CHANGELOG.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f097da22..2c446f870 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2026-02-24 +# [Unreleased-main] - 2026-02-25 ## Added - xxx @@ -7,7 +7,20 @@ - xxx ## Fixed -- DBAccesType naming convention +- xxx + + +# [0.1.17] - 2026-02-25 + +## Added +- xxx + +## Changed +- xxx + +## Fixed +- DBAccesType naming convention +- eboiler KPI # [0.1.16] - 2026-02-05 From 42ef73251f58a5c2738da3736fac0f958abb3a7f Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 25 Feb 2026 10:10:19 +0100 Subject: [PATCH 342/376] Speed up on timeseries check from influx (#433) Speed up timeseries delta time check, from 0.5s for the PoCtutorial to <0.1s. Timeseries check linearly grows with the number of profiles. --- CHANGELOG.md | 2 +- src/mesido/esdl/profile_parser.py | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c446f870..1e2ec2f9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ - xxx ## Changed -- xxx +- Speed-up timeseries check in from InfluxDB ## Fixed - xxx diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index d8da97366..23d939b52 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -315,7 +315,6 @@ def _load_profiles_from_source( ] ) series = unique_series[index_of_unique_profile] - self._check_profile_time_series(profile_time_series=series, profile=profile) container = profile.eContainer() asset = container.eContainer() converted_dataframe = self._convert_profile_to_correct_unit( @@ -506,12 +505,15 @@ def _check_profile_time_series( # Error check: ensure that the profile data has a time resolution of 3600s (1hour) as # expected - for d1, d2 in zip(profile_time_series.index, profile_time_series.index[1:]): - if d2 - d1 != pd.Timedelta(hours=1): - raise RuntimeError( - f"The timestep for variable {profile.field} between {d1} and {d2} isn't " - f"exactly 1 hour" - ) + idx = profile_time_series.index + dt = idx.to_series().diff()[1:] + problem_timesteps = idx[:-1][dt != pd.Timedelta(hours=1)] + if not problem_timesteps.empty: + raise RuntimeError( + f"The timestep for variable {profile.field} at timestamp(s) {problem_timesteps} " + f"isn't " + f"exactly 1 hour" + ) # Check if any NaN values exist if profile_time_series.isnull().any().any(): raise Exception( From 75814fd493a3e375faa86cb1d2ff005bddcaa462 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 25 Feb 2026 10:21:23 +0100 Subject: [PATCH 343/376] 417 parsing timeseries for ensembles (#434) The parsing of timeseries for ensembles, supported when providing as csv inputs. --- CHANGELOG.md | 2 +- src/mesido/esdl/esdl_mixin.py | 25 +- src/mesido/esdl/profile_parser.py | 70 ++- .../case_2a_ensemble/input/ensemble.csv | 3 + .../forecast_high_prob/timeseries_import.csv | 4 + .../forecast_low_prob/timeseries_import.csv | 4 + .../unit_cases/case_2a_ensemble/model/2a.esdl | 521 ++++++++++++++++++ .../case_2a_ensemble/output/.gitignore | 2 + .../unit_cases/case_2a_ensemble/src/run_2a.py | 183 ++++++ tests/test_profile_parsing.py | 47 ++ tests/utils_tests.py | 14 +- 11 files changed, 842 insertions(+), 33 deletions(-) create mode 100644 tests/models/unit_cases/case_2a_ensemble/input/ensemble.csv create mode 100644 tests/models/unit_cases/case_2a_ensemble/input/forecast_high_prob/timeseries_import.csv create mode 100644 tests/models/unit_cases/case_2a_ensemble/input/forecast_low_prob/timeseries_import.csv create mode 100644 tests/models/unit_cases/case_2a_ensemble/model/2a.esdl create mode 100644 tests/models/unit_cases/case_2a_ensemble/output/.gitignore create mode 100644 tests/models/unit_cases/case_2a_ensemble/src/run_2a.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e2ec2f9b..bae68ff7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # [Unreleased-main] - 2026-02-25 ## Added -- xxx +- Parsing of ensemble profiles when using input profiles from csv. ## Changed - Speed-up timeseries check in from InfluxDB diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index d8d4ced2b..52cc77ad2 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -2,6 +2,7 @@ import copy import dataclasses import logging +import os import sys from datetime import timedelta from pathlib import Path @@ -71,6 +72,8 @@ class ESDLMixin( for example demand profiles. """ + csv_ensemble_mode: bool = False + esdl_run_info_path: Path = None esdl_pi_validate_timeseries: bool = False @@ -691,6 +694,19 @@ def read(self) -> None: None """ super().read() + ensemble_size = 1 + self.__ensemble = None + if self.csv_ensemble_mode: + self.__ensemble = np.genfromtxt( + os.path.join(self._input_folder, "ensemble.csv"), + delimiter=",", + deletechars="", + dtype=None, + names=True, + encoding=None, + ) + ensemble_size = len(self.__ensemble) + energy_system_components = self.energy_system_components esdl_carriers = self.esdl_carriers self.hot_cold_pipe_relations() @@ -701,7 +717,8 @@ def read(self) -> None: esdl_asset_id_to_name_map=self.esdl_asset_id_to_name_map, esdl_assets=self.esdl_assets, carrier_properties=esdl_carriers, - ensemble_size=self.ensemble_size, + ensemble_size=ensemble_size, + ensemble=self.__ensemble, ) def write(self) -> None: @@ -826,3 +843,9 @@ def filter_asset_measures( filtered_assets[asset_id] = asset_type return filtered_assets + + def ensemble_member_probability(self, ensemble_member): + if self.csv_ensemble_mode: + return self.__ensemble["probability"][ensemble_member] + else: + return 1.0 diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 23d939b52..0c7385089 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -58,6 +58,7 @@ def read_profiles( esdl_assets: Dict[str, Asset], carrier_properties: Dict[str, Dict], ensemble_size: int, + ensemble, ) -> None: """ This function takes a datastore and a dictionary of milp network components and loads a @@ -91,6 +92,7 @@ def read_profiles( esdl_asset_id_to_name_map=esdl_asset_id_to_name_map, carrier_properties=carrier_properties, ensemble_size=ensemble_size, + ensemble=ensemble, ) try: @@ -181,6 +183,7 @@ def _load_profiles_from_source( esdl_asset_id_to_name_map: Dict[str, str], carrier_properties: Dict[str, Dict], ensemble_size: int, + ensemble: None | np.ndarray, ) -> None: """ This function must be implemented by the child. It must load the available @@ -240,6 +243,7 @@ def _load_profiles_from_source( esdl_asset_id_to_name_map: Dict[str, str], carrier_properties: Dict[str, Dict], ensemble_size: int, + ensemble: None | np.ndarray, ) -> None: profiles: Dict[str, np.ndarray] = dict() logger.info("Reading profiles from InfluxDB") @@ -616,6 +620,7 @@ def _load_profiles_from_source( esdl_asset_id_to_name_map: Dict[str, str], carrier_properties: Dict[str, Dict], ensemble_size: int, + ensemble: None | np.ndarray, ) -> None: if self._file_path.suffix == ".xml": logger.warning( @@ -630,6 +635,7 @@ def _load_profiles_from_source( energy_system_components=energy_system_components, carrier_properties=carrier_properties, ensemble_size=ensemble_size, + ensemble=ensemble, ) else: raise _ProfileParserException( @@ -641,25 +647,27 @@ def _load_csv( energy_system_components: Dict[str, Set[str]], carrier_properties: Dict[str, Dict], ensemble_size: int, + ensemble, ) -> None: - data = pd.read_csv(self._file_path) - if len(data.filter(like="Unnamed").columns) > 0: - raise Exception( - f"An unnamed column has been found in profile source file: {self._file_path}" - ) + data_dict = {} + if ensemble_size > 1: + input_folder = self._file_path.parent + file_name = self._file_path.name + for i, ensemble_name, _ in ensemble: + data_dict[i] = pd.read_csv(Path(input_folder / ensemble_name / file_name)) + else: + data_dict[0] = pd.read_csv(self._file_path) - try: - timeseries_import_times = [ - datetime.datetime.strptime(entry.replace("Z", ""), "%Y-%m-%d %H:%M:%S").replace( - tzinfo=datetime.timezone.utc + for data in data_dict.values(): + if len(data.filter(like="Unnamed").columns) > 0: + raise Exception( + f"An unnamed column has been found in profile source file: {self._file_path}" ) - for entry in data["DateTime"].to_numpy() - ] - except ValueError: + try: timeseries_import_times = [ - datetime.datetime.strptime(entry.replace("Z", ""), "%Y-%m-%dT%H:%M:%S").replace( + datetime.datetime.strptime(entry.replace("Z", ""), "%Y-%m-%d %H:%M:%S").replace( tzinfo=datetime.timezone.utc ) for entry in data["DateTime"].to_numpy() @@ -668,48 +676,58 @@ def _load_csv( try: timeseries_import_times = [ datetime.datetime.strptime( - entry.replace("Z", ""), "%d-%m-%Y %H:%M" + entry.replace("Z", ""), "%Y-%m-%dT%H:%M:%S" ).replace(tzinfo=datetime.timezone.utc) for entry in data["DateTime"].to_numpy() ] except ValueError: - raise _ProfileParserException("Date time string is not in a supported format") + try: + timeseries_import_times = [ + datetime.datetime.strptime( + entry.replace("Z", ""), "%d-%m-%Y %H:%M" + ).replace(tzinfo=datetime.timezone.utc) + for entry in data["DateTime"].to_numpy() + ] + except ValueError: + raise _ProfileParserException( + "Date time string is not in a supported format" + ) - logger.warning("Timezone specification not supported yet: default UTC has been used") + logger.warning("Timezone specification not supported yet: default UTC has been used") - self._reference_datetimes = timeseries_import_times + self._reference_datetimes = timeseries_import_times - for ensemble_member in range(ensemble_size): + for e_m in range(ensemble_size): + data_em = data_dict[e_m] for component_type, var_name in self.component_type_to_var_name_map.items(): for component_name in energy_system_components.get(component_type, []): try: column_name = f"{component_name.replace(' ', '')}" - values = data[column_name].to_numpy() + values = data_em[column_name].to_numpy() if np.isnan(values).any(): raise Exception( f"Column name: {column_name}, NaN exists in the profile source" f" file {self._file_path}." - f" Detials: {data[data[column_name].isnull()]}" + f" Detials: {data_em[data_em[column_name].isnull()]}" ) except KeyError: pass else: - self._profiles[ensemble_member][component_name + var_name] = values + self._profiles[e_m][component_name + var_name] = values for properties in carrier_properties.values(): carrier_name = properties.get("name") try: - values = data[carrier_name].to_numpy() + values = data_em[carrier_name].to_numpy() if np.isnan(values).any(): raise Exception( f"Carrier name: {carrier_name}, NaN exists in the profile source file" - f" {self._file_path}. Details: {data[data[carrier_name].isnull()]}" + f" {self._file_path}. Details: " + f"{data_em[data_em[carrier_name].isnull()]}" ) except KeyError: pass else: - self._profiles[ensemble_member][ - carrier_name + self.carrier_profile_var_name - ] = values + self._profiles[e_m][carrier_name + self.carrier_profile_var_name] = values def _load_xml(self, energy_system_components, esdl_asset_id_to_name_map): timeseries_import_basename = self._file_path.stem diff --git a/tests/models/unit_cases/case_2a_ensemble/input/ensemble.csv b/tests/models/unit_cases/case_2a_ensemble/input/ensemble.csv new file mode 100644 index 000000000..c26cb83ee --- /dev/null +++ b/tests/models/unit_cases/case_2a_ensemble/input/ensemble.csv @@ -0,0 +1,3 @@ +Unnamed: 0,name,probability +0,forecast_high_prob,0.7 +1,forecast_low_prob,0.3 diff --git a/tests/models/unit_cases/case_2a_ensemble/input/forecast_high_prob/timeseries_import.csv b/tests/models/unit_cases/case_2a_ensemble/input/forecast_high_prob/timeseries_import.csv new file mode 100644 index 000000000..1e9ee86c7 --- /dev/null +++ b/tests/models/unit_cases/case_2a_ensemble/input/forecast_high_prob/timeseries_import.csv @@ -0,0 +1,4 @@ +DateTime,HeatingDemand_7484,HeatingDemand_c6c8,HeatingDemand_6f99 +2013-05-19 22:00:00,350000,350000,350000 +2013-05-19 23:00:00,350000,350000,350000 +2013-05-20 00:00:00,350000,350000,350000 diff --git a/tests/models/unit_cases/case_2a_ensemble/input/forecast_low_prob/timeseries_import.csv b/tests/models/unit_cases/case_2a_ensemble/input/forecast_low_prob/timeseries_import.csv new file mode 100644 index 000000000..74e7a9e13 --- /dev/null +++ b/tests/models/unit_cases/case_2a_ensemble/input/forecast_low_prob/timeseries_import.csv @@ -0,0 +1,4 @@ +DateTime,HeatingDemand_7484,HeatingDemand_c6c8,HeatingDemand_6f99 +2013-05-19 22:00:00,350000,350000,300000 +2013-05-19 23:00:00,350000,350000,300000 +2013-05-20 00:00:00,350000,350000,300000 diff --git a/tests/models/unit_cases/case_2a_ensemble/model/2a.esdl b/tests/models/unit_cases/case_2a_ensemble/model/2a.esdl new file mode 100644 index 000000000..1410c2520 --- /dev/null +++ b/tests/models/unit_cases/case_2a_ensemble/model/2a.esdl @@ -0,0 +1,521 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases/case_2a_ensemble/output/.gitignore b/tests/models/unit_cases/case_2a_ensemble/output/.gitignore new file mode 100644 index 000000000..c4697e99f --- /dev/null +++ b/tests/models/unit_cases/case_2a_ensemble/output/.gitignore @@ -0,0 +1,2 @@ +diag.xml +timeseries_export.xml diff --git a/tests/models/unit_cases/case_2a_ensemble/src/run_2a.py b/tests/models/unit_cases/case_2a_ensemble/src/run_2a.py new file mode 100644 index 000000000..ed69bd82d --- /dev/null +++ b/tests/models/unit_cases/case_2a_ensemble/src/run_2a.py @@ -0,0 +1,183 @@ +from mesido.asset_sizing_mixin import AssetSizingMixin +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.physics_mixin import PhysicsMixin + +import numpy as np + +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.optimization.control_tree_mixin import ControlTreeMixin +from rtctools.optimization.goal_programming_mixin import Goal, GoalProgrammingMixin +from rtctools.optimization.linearized_order_goal_programming_mixin import ( + LinearizedOrderGoalProgrammingMixin, +) +from rtctools.util import run_optimization_problem + + +class TargetDemandGoal(Goal): + priority = 1 + + order = 1 + + def __init__(self, state, target, index): + self.state = state + self.index = index + + self.targets = target + self.function_nominal = np.median(target[0].values[index]) + + def function(self, optimization_problem, ensemble_member): + """Note that for path goals, the ensemble member index is not passed to the call + to :func:`OptimizationProblem.state`. This call returns a time-independent symbol + that is also independent of the active ensemble member. Path goals are + applied to all times and all ensemble members simultaneously.""" + nom = optimization_problem.variable_nominal(self.state) + vector_state = ( + nom * optimization_problem.state_vector(self.state, ensemble_member)[self.index] + ) + + return self.targets[ensemble_member].values[self.index] - vector_state + + +class TargetDemandPathGoal(Goal): + priority = 1 + + order = 2 + + def __init__(self, state, target): + self.state = state + + self.target_min = target + self.target_max = target + self.function_range = (0.0, 2.0 * max(target.values)) + self.function_nominal = np.median(target.values) + + def function(self, optimization_problem, ensemble_member): + """Path goals are applied to all timeseries and ensemble members simultaneously, + therefore the goals ensemble independent and only one target for all the ensembles can be + applied.""" + + return optimization_problem.state(self.state) + + +class MinimizeSourcesSizeGoal(Goal): + priority = 2 + + order = 2 + + def __init__(self, source): + self.target_max = 0.0 + self.function_range = (0.0, 10e6) + self.source = source + self.function_nominal = 1e5 + + def function(self, optimization_problem, ensemble_member): + return optimization_problem.extra_variable(f"{self.source}__max_size", ensemble_member) + + +class _GoalsAndOptions: + + def goals(self): + goals = super().goals().copy() + + for i in range(len(self.times())): + for demand in self.energy_system_components["heat_demand"]: + target = [ + self.get_timeseries( + f"{demand}.target_heat_demand", ensemble_member=ensemble_member + ) + for ensemble_member in range(self.ensemble_size) + ] + state = f"{demand}.Heat_demand" + + goals.append(TargetDemandGoal(state, target, i)) + + return goals + + +class HeatProblem( + _GoalsAndOptions, + PhysicsMixin, + LinearizedOrderGoalProgrammingMixin, + GoalProgrammingMixin, + ESDLMixin, + CollocatedIntegratedOptimizationProblem, +): + + def energy_system_options(self): + options = super().energy_system_options() + options["heat_loss_disconnected_pipe"] = True + self.heat_network_settings["minimum_velocity"] = 0.0001 + + return options + + def solver_options(self): + options = super().solver_options() + options["solver"] = "highs" + return options + + +class HeatProblemEnsemble( + AssetSizingMixin, + HeatProblem, + ControlTreeMixin, +): + csv_ensemble_mode = True + + def goals(self): + goals = super().goals().copy() + for s in self.energy_system_components["heat_source"]: + goals.append(MinimizeSourcesSizeGoal(s)) + + return goals + + def __fixed_max_size(self): + constraints = [] + for heat_source in self.energy_system_components["heat_source"]: + max_size_prev = self.extra_variable(f"{heat_source}__max_size", ensemble_member=0) + for e_m in range(self.ensemble_size - 1): + max_size = self.extra_variable(f"{heat_source}__max_size", ensemble_member=e_m + 1) + constraints.append((max_size - max_size_prev, 0.0, 0.0)) + max_size_prev = max_size + return constraints + + def __update_target_demand_constraint(self, ensemble_member): + """ + This constraint method adds upper limits to the demand heat production based on the + target of a specific ensemble. This requires the first ensemble to always have the + timeseries with the largest values. + """ + constraints = [] + for demand in self.energy_system_components["heat_demand"]: + var = self.state_vector(f"{demand}.Heat_demand", ensemble_member=ensemble_member) + nom = self.variable_nominal(f"{demand}.Heat_demand") + target = np.asarray( + self.get_timeseries(f"{demand}.target_heat_demand", ensemble_member).values + ) + + constraints.append((var * nom / nom, 0.0, target / nom)) + return constraints + + def constraints(self, ensemble_member): + constraints = super().constraints(ensemble_member).copy() + constraints.extend(self.__fixed_max_size()) + constraints.extend(self.__update_target_demand_constraint(ensemble_member)) + return constraints + + def path_constraints(self, ensemble_member): + constraints = super().path_constraints(ensemble_member).copy() + + return constraints + + +if __name__ == "__main__": + run_optimization_problem( + HeatProblem, + esdl_file_name="2a.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.xml", + ) diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index fd7439185..0184657c6 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -315,6 +315,53 @@ def test_loading_profile_from_esdl(self): atol=1e-2, ) + def test_loading_profiles_ensemble_members(self): + """ + This test constructs multiple ensemble members based on an "ensemble_member" CSV file + that describes the probability of the ensemble member and the name and number. + The profiles related to each ensemble member are read from the respective CSV files and + saved in for each member. + The test checks if the profiles read match the profiles from the CVS files and if the + ensemble_member_size is set accordingly. + """ + import models.unit_cases.case_2a_ensemble.src.run_2a as run_2a + from models.unit_cases.case_2a_ensemble.src.run_2a import HeatProblemEnsemble + + base_folder = Path(run_2a.__file__).resolve().parent.parent + model_folder = base_folder / "model" + input_folder = base_folder / "input" + + problem = HeatProblemEnsemble( + base_folder=base_folder, + model_folder=model_folder, + input_folder=input_folder, + esdl_file_name="2a.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.csv", + ) + + problem.pre() + + # check that the ensemble size is set at 2, which is based on the ensemble.csv + np.testing.assert_equal(problem.ensemble_size, 2) + prob_0 = problem.ensemble_member_probability(0) + prob_1 = problem.ensemble_member_probability(1) + np.testing.assert_allclose(prob_0, 0.7) + np.testing.assert_allclose(prob_1, 0.3) + + # check that the timeseries are loaded for all ensemble sizes and that the timeseries are + # equal to a heating demand of 350000 except for HeatingDemand_6f99 at the second + # ensemble, where it is equal to 300000. + timeseries_names = problem.io.get_timeseries_names() + for t_name in timeseries_names: + for e_m in range(problem.ensemble_size): + t_series = problem.get_timeseries(t_name, e_m) + if e_m == 1 and t_name == "HeatingDemand_6f99.target_heat_demand": + np.testing.assert_allclose(t_series.values, [300000] * 3) + else: + np.testing.assert_allclose(t_series.values, [350000] * 3) + if __name__ == "__main__": # unittest.main() diff --git a/tests/utils_tests.py b/tests/utils_tests.py index b42118929..3946b4b8b 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -21,21 +21,25 @@ def feasibility_test(solution): ) -def demand_matching_test(solution, results, atol=1.0e-3, rtol=1.0e-6): +def demand_matching_test(solution, results, ensemble_member=0, atol=1.0e-3, rtol=1.0e-6): """ "Test function to check whether the milp demand of each consumer is matched""" for d in solution.energy_system_components.get("heat_demand", []): if len(solution.times()) > 0: len_times = len(solution.times()) else: len_times = len(solution.get_timeseries(f"{d}.target_heat_demand").values) - target = solution.get_timeseries(f"{d}.target_heat_demand").values[0:len_times] + target = solution.get_timeseries(f"{d}.target_heat_demand", ensemble_member).values[ + 0:len_times + ] np.testing.assert_allclose(target, results[f"{d}.Heat_demand"], atol=atol, rtol=rtol) for d in solution.energy_system_components.get("cold_demand", []): if len(solution.times()) > 0: len_times = len(solution.times()) else: len_times = len(solution.get_timeseries(f"{d}.target_cold_demand").values) - target = solution.get_timeseries(f"{d}.target_cold_demand").values[0:len_times] + target = solution.get_timeseries(f"{d}.target_cold_demand", ensemble_member).values[ + 0:len_times + ] np.testing.assert_allclose(target, results[f"{d}.Cold_demand"], atol=atol, rtol=rtol) for d in solution.energy_system_components.get("gas_demand", []): timeseries_name = f"{d}.target_gas_demand" @@ -44,7 +48,7 @@ def demand_matching_test(solution, results, atol=1.0e-3, rtol=1.0e-6): len_times = len(solution.times()) else: len_times = len(solution.get_timeseries(timeseries_name).values) - target = solution.get_timeseries(timeseries_name).values[0:len_times] + target = solution.get_timeseries(timeseries_name, ensemble_member).values[0:len_times] np.testing.assert_allclose( target, results[f"{d}.Gas_demand_mass_flow"], atol=atol, rtol=rtol ) @@ -55,7 +59,7 @@ def demand_matching_test(solution, results, atol=1.0e-3, rtol=1.0e-6): len_times = len(solution.times()) else: len_times = len(solution.get_timeseries(timeseries_name).values) - target = solution.get_timeseries(timeseries_name).values[0:len_times] + target = solution.get_timeseries(timeseries_name, ensemble_member).values[0:len_times] np.testing.assert_allclose( target, results[f"{d}.Electricity_demand"], atol=atol, rtol=rtol ) From 509af4745408a4c848c2493930b29db4ef7ee2c3 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Fri, 6 Mar 2026 10:27:07 +0100 Subject: [PATCH 344/376] PV asset takes profile constraints Maximum profile constraint for PV asset is taken into account. --- CHANGELOG.md | 1 + src/mesido/asset_sizing_mixin.py | 238 +++++++++++------- src/mesido/esdl/profile_parser.py | 3 +- .../input/timeseries_with_pv.csv | 4 + .../model/pv_with_csv_profile.esdl | 37 +++ .../source_sink_cable/src/example.py | 88 +++++-- tests/test_electric_source_sink.py | 59 ++++- 7 files changed, 319 insertions(+), 111 deletions(-) create mode 100644 tests/models/unit_cases_electricity/source_sink_cable/input/timeseries_with_pv.csv create mode 100644 tests/models/unit_cases_electricity/source_sink_cable/model/pv_with_csv_profile.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index bae68ff7f..e370cd21b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Added - Parsing of ensemble profiles when using input profiles from csv. +- Maximum profile constraint for PV asset is considered in PV sizing ## Changed - Speed-up timeseries check in from InfluxDB diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 709c15040..0e1c35928 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -1857,6 +1857,133 @@ def __electricity_cable_topology_path_constraints(self, ensemble_member): return constraints + def __producer_constraints( + self, + asset: str, + variable_suffix: str, + source: ca.MX, + max_power: ca.MX, + constraint_nominal: float, + ensemble_member: int, + ) -> list: + """ + Apply production‑capacity constraints based on an asset’s time‑series profile. + + This method caps heat or electricity output using either: + - an absolute profile in Watts (fixed maximum or optional scaling), or + - a normalized (0–1) profile that scales with installed capacity. + + Parameters + ---------- + asset : Name of the asset. + variable_suffix : Timeseries suffix indicating the maximum production profile + (e.g., "maximum_heat_source", "maximum_electricity_source"). + source : Vector of path_variables of produced energy to be constrained. + max_power : Installed or decision‑variable capacity of the asset. + constraint_nominal : Normalization constant for constraints. + ensemble_member : Ensemble index used to retrieve asset parameters. + + Returns + ------- + constraints : The function returns a list of profile‑based capacity constraints. + """ + constraints = [] + if f"{asset}.{variable_suffix}" in self.io.get_timeseries_names(): + timeseries = self.get_timeseries(f"{asset}.{variable_suffix}") + if len(self.times()) < len(timeseries.times): + idx_start = np.where(timeseries.times == self.times()[0])[0][0] + idx_end = np.where(timeseries.times == self.times()[-1])[0][0] + profile_non_scaled = timeseries.values[idx_start : idx_end + 1] + else: + profile_non_scaled = timeseries.values + max_profile_non_scaled = max(profile_non_scaled) + profile_scaled = profile_non_scaled / max_profile_non_scaled + + # Cap the energy produced via a profile. Two profile options below. + # Option 1: Profile specified in absolute values [W] via a ProfileConstraint + esdl_asset_attributes = self.esdl_assets[ + self.esdl_asset_name_to_id_map[asset] + ].attributes["constraint"] + if ( + len(esdl_asset_attributes) > 0 + and hasattr(esdl_asset_attributes.items[0], "maximum") + and esdl_asset_attributes.items[0].maximum.profileQuantityAndUnit.reference.unit + == esdl.UnitEnum.WATT + ): + parameters = self.parameters(ensemble_member) + asset_state = parameters[f"{asset}.state"] + + if asset_state == AssetStateEnum.ENABLED: # Enabled asset + constraints.append( + ( + (max_power - max_profile_non_scaled) / constraint_nominal, + 0.0, + np.inf, + ) + ) + max_power_var = ( + max_profile_non_scaled # maximum heat power or maximum electric power + ) + + elif asset_state == AssetStateEnum.OPTIONAL: # Optional asset + max_power_var = max_power + + else: + state_val = asset_state + logger.error(f"Unexpected state: {state_val}") + sys.exit(1) + + constraints.append( + ( + (profile_scaled * max_power_var - source) / constraint_nominal, + 0.0, + np.inf, + ) + ) + # Option 2: Normalised profile (0.0-1.0) shape that scales with maximum size of the + # producer + # Note: If the asset is not optional then the profile will be scaled to the + # installed capacity + elif ( + # profile is specified without units (xlm/csv) + len(esdl_asset_attributes) == 0 + or ( + esdl_asset_attributes.items[ + 0 + ].maximum.profileQuantityAndUnit.reference.physicalQuantity + == esdl.PhysicalQuantityEnum.COEFFICIENT + and ( + esdl_asset_attributes.items[0].maximum.profileQuantityAndUnit.reference.unit + == esdl.UnitEnum.PERCENT + or esdl_asset_attributes.items[ + 0 + ].maximum.profileQuantityAndUnit.reference.unit + == esdl.UnitEnum.NONE + ) + ) # profile from esdl + ): + # TODO: currently this can only be used with a csv file since units must be set + # for ProfileContraint. Future addition can be to use a different unit/quantity + # etc. so that the profile is used in a normalised way and scale to max_size + constraints.append( + ( + (profile_scaled * max_power - source) / constraint_nominal, + 0.0, + np.inf, + ) + ) + else: + RuntimeError(f"{asset}: Unforeseen error in adding a profile constraint") + else: + constraints.append( + ( + (np.ones(len(self.times())) * max_power - source) / constraint_nominal, + 0.0, + np.inf, + ) + ) + return constraints + def __max_size_constraints(self, ensemble_member): """ This function makes sure that the __max_size variable is at least as large as needed. For @@ -1919,95 +2046,16 @@ def __max_size_constraints(self, ensemble_member): max_heat = self.extra_variable(max_var, ensemble_member) heat_source = self.__state_vector_scaled(f"{s}.Heat_source", ensemble_member) constraint_nominal = self.variable_nominal(f"{s}.Heat_source") - - if f"{s}.maximum_heat_source" in self.io.get_timeseries_names(): - profile_non_scaled = self.get_timeseries(f"{s}.maximum_heat_source").values - max_profile_non_scaled = max(profile_non_scaled) - profile_scaled = profile_non_scaled / max_profile_non_scaled - - # Cap the heat produced via a profile. Two profile options below. - # Option 1: Profile specified in absolute values [W] via a ProfileConstraint - esdl_asset_attributes = self.esdl_assets[ - self.esdl_asset_name_to_id_map[s] - ].attributes["constraint"] - if ( - len(esdl_asset_attributes) > 0 - and hasattr(esdl_asset_attributes.items[0], "maximum") - and esdl_asset_attributes.items[0].maximum.profileQuantityAndUnit.reference.unit - == esdl.UnitEnum.WATT - ): - parameters = self.parameters(ensemble_member) - - if parameters[f"{s}.state"] == AssetStateEnum.ENABLED: # Enabled asset - constraints.append( - ( - (max_heat - max_profile_non_scaled) / constraint_nominal, - 0.0, - np.inf, - ) - ) - max_heat_var = max_profile_non_scaled - - elif parameters[f"{s}.state"] == AssetStateEnum.OPTIONAL: # Optional asset - max_heat_var = max_heat - - else: - state_val = parameters[f"{s}.state"] - logger.error(f"Unexpected state: {state_val}") - sys.exit(1) - - constraints.append( - ( - (profile_scaled * max_heat_var - heat_source) / constraint_nominal, - 0.0, - np.inf, - ) - ) - # Option 2: Normalised profile (0.0-1.0) shape that scales with maximum size of the - # producer - # Note: If the asset is not optional then the profile will be scaled to the - # installed capacity - elif ( - # profile is specified without units (xlm/csv) - len(esdl_asset_attributes) == 0 - or ( - esdl_asset_attributes.items[ - 0 - ].maximum.profileQuantityAndUnit.reference.physicalQuantity - == esdl.PhysicalQuantityEnum.COEFFICIENT - and ( - esdl_asset_attributes.items[ - 0 - ].maximum.profileQuantityAndUnit.reference.unit - == esdl.UnitEnum.PERCENT - or esdl_asset_attributes.items[ - 0 - ].maximum.profileQuantityAndUnit.reference.unit - == esdl.UnitEnum.NONE - ) - ) # profile from esdl - ): - # TODO: currently this can only be used with a csv file since units must be set - # for ProfileContraint. Future addition can be to use a different unit/quantity - # etc. so that the profile is used in a normalised way and scale to max_size - - constraints.append( - ( - (profile_scaled * max_heat - heat_source) / constraint_nominal, - 0.0, - np.inf, - ) - ) - else: - RuntimeError(f"{s}: Unforeseen error in adding a profile contraint") - else: - constraints.append( - ( - (np_ones * max_heat - heat_source) / constraint_nominal, - 0.0, - np.inf, - ) + constraints.extend( + self.__producer_constraints( + s, + "maximum_heat_source", + heat_source, + max_heat, + constraint_nominal, + ensemble_member, ) + ) # Constraint the aggregation_count to 0.0 when asset is not placed. And also ensure the # max_size_var is a factor of single_doublet_power @@ -2142,12 +2190,14 @@ def __max_size_constraints(self, ensemble_member): f"{d}.Electricity_source", ensemble_member ) constraint_nominal = self.variable_nominal(f"{d}.Electricity_source") - - constraints.append( - ( - (np_ones * max_power - electricity_source) / constraint_nominal, - 0.0, - np.inf, + constraints.extend( + self.__producer_constraints( + d, + "maximum_electricity_source", + electricity_source, + max_power, + constraint_nominal, + ensemble_member, ) ) diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 0c7385089..428b999fc 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -220,6 +220,7 @@ class InfluxDBProfileReader(BaseProfileReader): esdl.esdl.GasProducer: ".maximum_gas_source", esdl.esdl.ResidualHeatSource: ".maximum_heat_source", esdl.esdl.GeothermalSource: ".maximum_heat_source", + esdl.esdl.PVInstallation: ".maximum_electricity_source", } def __init__( @@ -330,7 +331,6 @@ def _load_profiles_from_source( var_base_name = asset.name if variable_suffix in [ self.asset_type_to_variable_name_conversion[esdl.esdl.GasProducer], - self.asset_type_to_variable_name_conversion[esdl.esdl.ElectricityProducer], ]: logger.error( f"Profiles for {var_base_name} from esdl has not been tested yet but only" @@ -346,7 +346,6 @@ def _load_profiles_from_source( var_base_name = asset.name if var_base_name in [ self.asset_type_to_variable_name_conversion[esdl.esdl.GasProducer], - self.asset_type_to_variable_name_conversion[esdl.esdl.ElectricityProducer], ]: logger.error(f"Profiles for {var_base_name} from esdl has not been tested yet") sys.exit(1) diff --git a/tests/models/unit_cases_electricity/source_sink_cable/input/timeseries_with_pv.csv b/tests/models/unit_cases_electricity/source_sink_cable/input/timeseries_with_pv.csv new file mode 100644 index 000000000..7e5571c47 --- /dev/null +++ b/tests/models/unit_cases_electricity/source_sink_cable/input/timeseries_with_pv.csv @@ -0,0 +1,4 @@ +DateTime,ElectricityDemand_2af6,PV +1-1-2019 00:00,100,150 +1-1-2019 01:00,300,250 +1-1-2019 02:00,100,150 diff --git a/tests/models/unit_cases_electricity/source_sink_cable/model/pv_with_csv_profile.esdl b/tests/models/unit_cases_electricity/source_sink_cable/model/pv_with_csv_profile.esdl new file mode 100644 index 000000000..811a2ff59 --- /dev/null +++ b/tests/models/unit_cases_electricity/source_sink_cable/model/pv_with_csv_profile.esdl @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases_electricity/source_sink_cable/src/example.py b/tests/models/unit_cases_electricity/source_sink_cable/src/example.py index 7883c2136..eca3786ea 100644 --- a/tests/models/unit_cases_electricity/source_sink_cable/src/example.py +++ b/tests/models/unit_cases_electricity/source_sink_cable/src/example.py @@ -37,15 +37,36 @@ def function( return optimization_problem.state(self.state) +class MinimizeElecProduction(Goal): + priority = 3 + + order = 1 + + def function(self, optimization_problem, ensemble_member): + sum_ = 0 + for source in optimization_problem.energy_system_components.get("electricity_source", []): + if source not in optimization_problem.energy_system_components.get("solar_pv", []): + sum_ += optimization_problem.state(f"{source}.Electricity_source") + return sum_ + + +class MinimizeElecProductionSize(Goal): + priority = 2 + + order = 1 + + def __init__(self, source): + self.source = source + self.target_max = 0.0 + self.function_range = (0.0, 2.0 * 1e6) + self.function_nominal = 1e3 + + def function(self, optimization_problem, ensemble_member): + return optimization_problem.extra_variable(f"{self.source}__max_size", ensemble_member) + + class _GoalsAndOptions: def path_goals(self): - """ - Add goal to meet the specified power demands in the electricity network. - - Returns - ------- - Extended goals list. - """ goals = super().path_goals().copy() for demand in self.energy_system_components["electricity_demand"]: @@ -63,6 +84,52 @@ def energy_system_options(self): return options +class ElectricityProblemPV( + _GoalsAndOptions, + TechnoEconomicMixin, + LinearizedOrderGoalProgrammingMixin, + GoalProgrammingMixin, + ESDLMixin, + CollocatedIntegratedOptimizationProblem, +): + """ + Problem to check the behaviour of a simple source, cable, demand network. + """ + + def path_goals(self): + goals = super().path_goals().copy() + goals.append(MinimizeElecProduction()) + return goals + + def goals(self): + """ + Add goal to minimize max_size of electricity producers while ensuring + that they are equal to each other. + + Returns + ------- + Extended goals list. + """ + goals = super().goals().copy() + for source in self.energy_system_components["electricity_source"]: + goals.append(MinimizeElecProductionSize(source=source)) + + return goals + + def constraints(self, ensemble_member): + constraints = super().constraints(ensemble_member) + elec_prod_size = self.extra_variable("ElectricityProducer_edde__max_size", ensemble_member) + pv_size = self.extra_variable("PV__max_size", ensemble_member) + nom = self.variable_nominal("PV__max_size") + constraints.append(((elec_prod_size - pv_size) / nom, 0.0, 0.0)) + return constraints + + def energy_system_options(self): + options = super().energy_system_options() + options["include_electric_cable_power_loss"] = False + return options + + class ElectricityProblem( _GoalsAndOptions, TechnoEconomicMixin, @@ -98,13 +165,6 @@ def read(self): self.set_timeseries(f"{d}.target_electricity_demand", new_timeseries) def path_goals(self): - """ - Modified targets for the demand matching goal to push up the current in the system. - - Returns - ------- - list with goals. - """ goals = super().path_goals().copy() for demand in self.energy_system_components["electricity_demand"]: diff --git a/tests/test_electric_source_sink.py b/tests/test_electric_source_sink.py index f2c0e1fae..d6c312c01 100644 --- a/tests/test_electric_source_sink.py +++ b/tests/test_electric_source_sink.py @@ -7,7 +7,7 @@ import numpy as np -from utils_tests import electric_power_conservation_test +from utils_tests import demand_matching_test, electric_power_conservation_test # TODO: still have to make test where elecitricity direction is switched: # e.g. 2 nodes, with at each node a producer and consumer, first one node medium demand, second @@ -15,6 +15,63 @@ class TestMILPElectricSourceSink(TestCase): + + def test_source_sink_pv_csv_profile(self): + """ + Tests for an electricity network that consist out of 1 PV and 1 Electricity Producer + as electricity sources, a cable and a sink. PV has profile that is read from input csv. + Electricity Producer has no profile constraint. + We check that scaled PV constraint profile is upper bound of PV production + and profile constraint scaling functionality in asset sizing works. + + Checks: + - Check demand matching and energy conservation + - Check profile constraint scaling functionality works. + """ + + import models.unit_cases_electricity.source_sink_cable.src.example as example + from models.unit_cases_electricity.source_sink_cable.src.example import ElectricityProblemPV + + base_folder = Path(example.__file__).resolve().parent.parent + + solution = run_esdl_mesido_optimization( + ElectricityProblemPV, + base_folder=base_folder, + esdl_file_name="pv_with_csv_profile.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_with_pv.csv", + ) + results = solution.extract_results() + + tol = 1e-6 + + demand_matching_test(solution, results) + electric_power_conservation_test(solution, results) + + # Test that scaled PV constraint profile is upper bound of + # PV production and profile constraint scaling functionality + # in asset sizing works + profile_non_scaled = solution.get_timeseries("PV.maximum_electricity_source").values + max_profile_non_scaled = max(profile_non_scaled) + profile_scaled = profile_non_scaled / max_profile_non_scaled + + # Check that realized PV profile is scaled version of PV profile constraint + np.testing.assert_array_less( + results["PV.Electricity_source"], profile_scaled * results["PV__max_size"] + tol + ) + + # Check that maximum of realized PV profile smaller than maximum of PV profile constraint + np.testing.assert_array_less( + results["PV__max_size"], + max(solution.get_timeseries("PV.maximum_electricity_source").values) + tol, + ) + + # Check electricity producers max sizes are equal + np.testing.assert_allclose( + results["PV__max_size"], results["ElectricityProducer_edde__max_size"] + ) + def test_source_sink(self): """ Tests for an electricity network that consist out of a source, a cable and a sink. From 2737ea9fc94d962423c4e1bd6f2a43a2a5d81238 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Tue, 10 Mar 2026 17:16:58 +0100 Subject: [PATCH 345/376] 418 asset max size and esdl attribute used (#419) Cater for max size specification for OPTIONAL assets via the esdl constraints: DTK assets only --- CHANGELOG.md | 3 +- heat_producer) | 0 manual_run/testing_bugs/src/run_grow.py | 1 + setup.py | 2 +- src/mesido/asset_sizing_mixin.py | 51 +-- src/mesido/esdl/asset_to_component_base.py | 6 +- src/mesido/esdl/esdl_additional_vars_mixin.py | 25 +- src/mesido/esdl/esdl_heat_model.py | 240 ++++++++++--- src/mesido/esdl/esdl_mixin.py | 85 ++++- src/mesido/esdl/profile_parser.py | 46 ++- src/mesido/potential_errors.py | 1 + src/mesido/workflows/gas_elect_workflow.py | 3 +- src/mesido/workflows/grow_workflow.py | 3 +- src/mesido/workflows/utils/error_types.py | 2 + .../model/testing_network_1_all_enabled.esdl | 329 +++++++++++++++++ .../model/testing_network_1_all_optional.esdl | 333 ++++++++++++++++++ ...etwork_1_all_optional_excluding_pipes.esdl | 333 ++++++++++++++++++ .../model/testing_network_1_supply_only.esdl | 210 +++++++++++ tests/models/esdl_constraints/src/run_1.py | 31 ++ tests/test_esdl_constraints.py | 295 ++++++++++++++++ tests/test_potential_errors.py | 2 + tests/test_producer_profiles.py | 4 +- tests/test_profile_parsing.py | 8 +- 23 files changed, 1932 insertions(+), 81 deletions(-) delete mode 100644 heat_producer) create mode 100644 tests/models/esdl_constraints/model/testing_network_1_all_enabled.esdl create mode 100644 tests/models/esdl_constraints/model/testing_network_1_all_optional.esdl create mode 100644 tests/models/esdl_constraints/model/testing_network_1_all_optional_excluding_pipes.esdl create mode 100644 tests/models/esdl_constraints/model/testing_network_1_supply_only.esdl create mode 100644 tests/models/esdl_constraints/src/run_1.py create mode 100644 tests/test_esdl_constraints.py diff --git a/CHANGELOG.md b/CHANGELOG.md index e370cd21b..33a60d3b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,9 @@ -# [Unreleased-main] - 2026-02-25 +# [Unreleased-main] - 2026-03-10 ## Added - Parsing of ensemble profiles when using input profiles from csv. - Maximum profile constraint for PV asset is considered in PV sizing +- Cater for input via esdl constraints to specify the upper limit for OPTIONAL assets in DTK ## Changed - Speed-up timeseries check in from InfluxDB diff --git a/heat_producer) b/heat_producer) deleted file mode 100644 index e69de29bb..000000000 diff --git a/manual_run/testing_bugs/src/run_grow.py b/manual_run/testing_bugs/src/run_grow.py index 1d2f76623..06668149a 100644 --- a/manual_run/testing_bugs/src/run_grow.py +++ b/manual_run/testing_bugs/src/run_grow.py @@ -11,6 +11,7 @@ base_folder = Path(__file__).resolve().parent.parent kwargs = { + "use_esdl_ranged_constraint": True, # default value in the code is set to False "database_connections": [ { "access_type": DBAccessType.READ, # or DBAccessType.WRITE or DBAccessType.READ_WRITE diff --git a/setup.py b/setup.py index c913a76e6..e8af0ab9d 100644 --- a/setup.py +++ b/setup.py @@ -63,7 +63,7 @@ # < 81.0.0 needed for pandapipes (still to be removed) # < 82.0.0 needed for pkg_resources (used in rtctools) "setuptools <= 80.9.0", - "pyesdl == 25.7", + "pyesdl == 26.2", "pandas >= 1.3.1, < 2.0", "casadi-gil-comp == 3.6.7", "StrEnum == 0.4.15", diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 0e1c35928..e3c6948fb 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -10,6 +10,8 @@ from mesido.base_component_type_mixin import BaseComponentTypeMixin from mesido.demand_insulation_class import DemandInsulationClass from mesido.esdl.asset_to_component_base import AssetStateEnum +from mesido.esdl.common import Asset +from mesido.esdl.esdl_additional_vars_mixin import get_asset_contraints from mesido.head_loss_class import HeadLossOption from mesido.network_common import NetworkSettings from mesido.pipe_class import CableClass, GasPipeClass, PipeClass @@ -801,13 +803,14 @@ def _make_max_size_var(name, lb, ub, nominal): ub = bounds[f"{asset_name}.Heat_source"][1] # Update bound to account for profile constraint being used instead of 1 value - esdl_asset_attributes = self.esdl_assets[ - self.esdl_asset_name_to_id_map[asset_name] - ].attributes["constraint"] + asset = self.esdl_assets[self.esdl_asset_name_to_id_map[asset_name]] + asset_profile_constraints, qty_asset_profile_constraints = get_asset_contraints( + self, asset, esdl.ProfileConstraint + ) if ( - len(esdl_asset_attributes) > 0 - and hasattr(esdl_asset_attributes.items[0], "maximum") - and esdl_asset_attributes.items[0].maximum.profileQuantityAndUnit.reference.unit + qty_asset_profile_constraints > 0 + and hasattr(asset_profile_constraints[0], "maximum") + and asset_profile_constraints[0].maximum.profileQuantityAndUnit.reference.unit == esdl.UnitEnum.WATT and parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL # Optional asset ): @@ -1859,7 +1862,7 @@ def __electricity_cable_topology_path_constraints(self, ensemble_member): def __producer_constraints( self, - asset: str, + asset: Asset, variable_suffix: str, source: ca.MX, max_power: ca.MX, @@ -1875,7 +1878,7 @@ def __producer_constraints( Parameters ---------- - asset : Name of the asset. + asset : Asset object. variable_suffix : Timeseries suffix indicating the maximum production profile (e.g., "maximum_heat_source", "maximum_electricity_source"). source : Vector of path_variables of produced energy to be constrained. @@ -1888,8 +1891,8 @@ def __producer_constraints( constraints : The function returns a list of profile‑based capacity constraints. """ constraints = [] - if f"{asset}.{variable_suffix}" in self.io.get_timeseries_names(): - timeseries = self.get_timeseries(f"{asset}.{variable_suffix}") + if f"{asset.name}.{variable_suffix}" in self.io.get_timeseries_names(): + timeseries = self.get_timeseries(f"{asset.name}.{variable_suffix}") if len(self.times()) < len(timeseries.times): idx_start = np.where(timeseries.times == self.times()[0])[0][0] idx_end = np.where(timeseries.times == self.times()[-1])[0][0] @@ -1901,17 +1904,17 @@ def __producer_constraints( # Cap the energy produced via a profile. Two profile options below. # Option 1: Profile specified in absolute values [W] via a ProfileConstraint - esdl_asset_attributes = self.esdl_assets[ - self.esdl_asset_name_to_id_map[asset] - ].attributes["constraint"] + asset_profile_constraints, qty_asset_profile_constraints = get_asset_contraints( + self, asset, esdl.ProfileConstraint + ) if ( - len(esdl_asset_attributes) > 0 - and hasattr(esdl_asset_attributes.items[0], "maximum") - and esdl_asset_attributes.items[0].maximum.profileQuantityAndUnit.reference.unit + qty_asset_profile_constraints > 0 + and hasattr(asset_profile_constraints[0], "maximum") + and asset_profile_constraints[0].maximum.profileQuantityAndUnit.reference.unit == esdl.UnitEnum.WATT ): parameters = self.parameters(ensemble_member) - asset_state = parameters[f"{asset}.state"] + asset_state = parameters[f"{asset.name}.state"] if asset_state == AssetStateEnum.ENABLED: # Enabled asset constraints.append( @@ -1946,16 +1949,16 @@ def __producer_constraints( # installed capacity elif ( # profile is specified without units (xlm/csv) - len(esdl_asset_attributes) == 0 + qty_asset_profile_constraints == 0 or ( - esdl_asset_attributes.items[ + asset_profile_constraints[ 0 ].maximum.profileQuantityAndUnit.reference.physicalQuantity == esdl.PhysicalQuantityEnum.COEFFICIENT and ( - esdl_asset_attributes.items[0].maximum.profileQuantityAndUnit.reference.unit + asset_profile_constraints[0].maximum.profileQuantityAndUnit.reference.unit == esdl.UnitEnum.PERCENT - or esdl_asset_attributes.items[ + or asset_profile_constraints[ 0 ].maximum.profileQuantityAndUnit.reference.unit == esdl.UnitEnum.NONE @@ -1973,7 +1976,7 @@ def __producer_constraints( ) ) else: - RuntimeError(f"{asset}: Unforeseen error in adding a profile constraint") + RuntimeError(f"{asset.name}: Unforeseen error in adding a profile constraint") else: constraints.append( ( @@ -2048,7 +2051,7 @@ def __max_size_constraints(self, ensemble_member): constraint_nominal = self.variable_nominal(f"{s}.Heat_source") constraints.extend( self.__producer_constraints( - s, + self.esdl_assets[self.esdl_asset_name_to_id_map[s]], "maximum_heat_source", heat_source, max_heat, @@ -2192,7 +2195,7 @@ def __max_size_constraints(self, ensemble_member): constraint_nominal = self.variable_nominal(f"{d}.Electricity_source") constraints.extend( self.__producer_constraints( - d, + self.esdl_assets[self.esdl_asset_name_to_id_map[d]], "maximum_electricity_source", electricity_source, max_power, diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index b739209bc..426308b4d 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -141,7 +141,8 @@ def get_density( # pressure and temperature. if carrier is None: logger.warning( - f"Neither gas/hydrogen/heat was used in the carrier at asset named {asset_name}." + f"Neither gas/hydrogen/heat was specified at asset named {asset_name}. " + "Gas properties will be used." ) density = cP.CoolProp.PropsSI( "D", @@ -201,7 +202,8 @@ def get_density( ) else: logger.warning( - f"Neither gas/hydrogen/heat was used in the carrier at asset named {asset_name}." + f"Neither gas/hydrogen/heat was specified in the carrier at asset named {asset_name}. " + "Gas properties will be used." ) density = 6.2 # natural gas at about 8 bar diff --git a/src/mesido/esdl/esdl_additional_vars_mixin.py b/src/mesido/esdl/esdl_additional_vars_mixin.py index 926d43d8f..290bd174e 100644 --- a/src/mesido/esdl/esdl_additional_vars_mixin.py +++ b/src/mesido/esdl/esdl_additional_vars_mixin.py @@ -1,8 +1,9 @@ import logging -from typing import List +from typing import List, Union import esdl +from mesido.esdl.common import Asset from mesido.network_common import NetworkSettings from mesido.pipe_class import PipeClass @@ -285,3 +286,25 @@ def temperature_regimes(self, carrier): self.__temperature_options[carrier] = temperature_options return temperature_options + + +def get_asset_contraints( + self, asset: Asset, constraint_type: esdl.Constraint +) -> Union[List[esdl.Constraint], int]: + """ + Get the contraints at an asset and the qty thereof. + + Arg: + asset: mesido common asset with all attributes + constraint type: the type of contraint specified (e.g. esdl.RangedConstraint, + esdl.ProfileConstraint) + + Returns: + - Contraints of a specific type + - Number of constraints of specific type that exists + """ + + asset_constraints = [ + cnst for cnst in asset.attributes["constraint"] if isinstance(cnst, constraint_type) + ] + return asset_constraints, len(asset_constraints) diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 40b1f35a7..2d3d1cc26 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -2,6 +2,7 @@ import inspect import logging import math +import sys from typing import Any, Dict, Tuple, Type, Union import esdl @@ -14,6 +15,7 @@ get_energy_content, ) from mesido.esdl.common import Asset +from mesido.esdl.esdl_additional_vars_mixin import get_asset_contraints from mesido.esdl.esdl_model_base import _ESDLModelBase from mesido.potential_errors import MesidoAssetIssueType, get_potential_errors from mesido.pycml.component_library.milp import ( @@ -57,6 +59,9 @@ WindPark, ) +# Importing workflow utilities at module import time can create circular +# imports when workflows import ESDL mixins. Import locally where needed. + from scipy.optimize import fsolve logger = logging.getLogger("mesido") @@ -157,6 +162,8 @@ def __init__( self.primary_port_name_convention = kwargs["primary_port_name_convention"] if "secondary_port_name_convention" in kwargs.keys(): self.secondary_port_name_convention = kwargs["secondary_port_name_convention"] + self.energy_system_esdl_version = kwargs.get("energy_system_esdl_version", None) + self.use_esdl_ranged_constraint = kwargs.get("use_esdl_ranged_constraint", False) @property def _rho_cp_modifiers(self) -> Dict: @@ -323,6 +330,123 @@ def _generic_heat_modifiers(min_heat=None, max_heat=None, q_nominal=None) -> Dic return modifiers + def _validate_attribute_value_not_zero( + self, + asset: Asset, + max_size_attribute: str, + max_value_attribute: float, + constraint_attribute: bool = False, + ) -> None: + """ + This function checks if the asset attribute type value > 0, else raise error if aplicable + + Args: + asset: mesido common asset with all attributes + max_size_attribute: type of attribute e.g. powrr, volume etc. + max_value_attribute: value that of the attribute, + constraint_attribute: Does the atrribute value originate from a constraint + """ + + msg = None + if not constraint_attribute: # value comes from asset attribute directly + msg = f"Asset named {asset.name}: The attribute {max_size_attribute} must be > 0." + else: # value comes from asset constraint attribute + msg = ( + f"Asset named {asset.name}: The maximum value in the range " + f"constraint for attribute {max_size_attribute} must be > 0." + ) + if not max_value_attribute > 0.0: + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.ASSET_UPPER_LIMIT, + asset.id, + msg, + ) + # Raise the potential error here if applicable, with feedback to user + # Else a normal error exit might occer which will not give feedback to the + # user + # Import occurs here to prevent circular reference + from mesido.workflows.utils.error_types import potential_error_to_error + + potential_error_to_error(self._error_type_check) + + def _get_asset_max_size_input(self, asset: Asset, max_size_attribute: str) -> float: + """ + This function gets the max size value that is used as an upper limit for an asset's size + + Args: + asset: mesido common asset with all attributes + max_size_attribute: type of attribute (power or volume etc.) used as max size + + Returns: value that should be used as the max size value for an asset + """ + + asset_range_constraints, qty_asset_range_constraints = get_asset_contraints( + self, asset, esdl.RangedConstraint + ) + + if ( + self.energy_system_esdl_version is not None + and self.energy_system_esdl_version >= "v2602" + and self.use_esdl_ranged_constraint + # "v2602" contains the items needed for the ranged constraint implementation in MESIDO + ): + if asset.attributes["state"] == esdl.AssetStateEnum.OPTIONAL: + if qty_asset_range_constraints > 1: + logger.error( + f"Asset named {asset.name}: The code currently does not cater for more than" + " 1 RangedConstraint" + ) + sys.exit(1) + elif qty_asset_range_constraints == 0: + logger.warning( + "Expected a range contraint (upper size limit) for asset named " + f"{asset.name}, but none has been specified." + ) + get_potential_errors().add_potential_issue( + MesidoAssetIssueType.ASSET_UPPER_LIMIT, + asset.id, + f"Asset named {asset.name}: The upper limit of the asset size has to be " + "specified via a maximum value in a range constraint.", + ) + # Raise the potential error here if applicable, with feedback to user + # Else a normal error exit might occer which will not give feedback to the user + # Import occurs here to prevent circular reference + from mesido.workflows.utils.error_types import potential_error_to_error + + potential_error_to_error(self._error_type_check) + else: + logger.warning( + f"For asset named {asset.name}, the range constraint value is used for the " + f"asset's upper limit for the attribute {max_size_attribute}." + ) + max_value_range = asset_range_constraints[0].range.maxValue + + self._validate_attribute_value_not_zero( + asset, max_size_attribute, max_value_range, True + ) + + return max_value_range + + elif asset.attributes["state"] == esdl.AssetStateEnum.ENABLED: + if qty_asset_range_constraints > 0: + logger.warning( + f"The constraint that has been assigned to asset name {asset.name} is not " + "being used because the asset state has been specified as ENABLED." + ) + + max_value_attribute = asset.attributes[max_size_attribute] + + self._validate_attribute_value_not_zero( + asset, max_size_attribute, max_value_attribute + ) + + return max_value_attribute + + else: + exit(f"{asset.name}: asset state DISABLED is not supported yet") + else: # Catering for backwards compatibility + return asset.attributes[max_size_attribute] + def convert_heat_buffer(self, asset: Asset) -> Tuple[Type[HeatBuffer], MODIFIERS]: """ This function converts the buffer object in esdl to a set of modifiers that can be used in @@ -385,35 +509,34 @@ def convert_heat_buffer(self, asset: Asset) -> Tuple[Type[HeatBuffer], MODIFIERS f"Volume with value of {asset.attributes['volume']} m3 will be used." ) - capacity = 0.0 - if asset.attributes["volume"]: - capacity = ( - asset.attributes["volume"] - * self.rho - * self.cp - * (supply_temperature - return_temperature) + asset_capacity_joule = 0.0 + asset_volume_m3 = self._get_asset_max_size_input(asset, "volume") + + if asset_volume_m3: + asset_capacity_joule = ( + asset_volume_m3 * self.rho * self.cp * (supply_temperature - return_temperature) ) elif asset.attributes["capacity"]: - capacity = asset.attributes["capacity"] + asset_capacity_joule = self._get_asset_max_size_input(asset, "capacity") else: logger.error( f"{asset.asset_type} '{asset.name}' has both not capacity and volume specified. " f"Please specify one of the two" ) - assert capacity > 0.0 + assert asset_capacity_joule > 0.0 min_fraction_tank_volume = self.min_fraction_tank_volume if self.get_state(asset) == 0 or self.get_state(asset) == 2: min_fraction_tank_volume = 0.0 # We assume that the height equals the radius of the buffer. r = ( - capacity + asset_capacity_joule * (1 + min_fraction_tank_volume) / (self.rho * self.cp * (supply_temperature - return_temperature) * math.pi) ) ** (1.0 / 3.0) - min_heat = capacity * min_fraction_tank_volume - max_heat = capacity * (1 + min_fraction_tank_volume) + min_heat = asset_capacity_joule * min_fraction_tank_volume + max_heat = asset_capacity_joule * (1 + min_fraction_tank_volume) assert max_heat > 0.0 # default is set to 10MW @@ -764,9 +887,7 @@ def convert_gas_pipe(self, asset: Asset) -> Tuple[Type[GasPipe], MODIFIERS]: return GasPipe, modifiers - def convert_heat_pipe( - self, asset: Asset - ) -> Tuple[Union[Type[HeatPipe], Type[GasPipe]], MODIFIERS]: + def convert_heat_pipe(self, asset: Asset) -> Tuple[Type[HeatPipe], MODIFIERS]: """ This function converts the pipe object in esdl to a set of modifiers that can be used in a pycml object. Most important: @@ -1030,13 +1151,18 @@ def convert_heat_exchanger(self, asset: Asset) -> Tuple[Type[HeatExchanger], MOD f"transfer heat from primary to secondary.", ) + asset_power = None + asset_capacity = None if asset.asset_type == "GenericConversion": - max_power = asset.attributes["power"] if asset.attributes["power"] else math.inf + asset_power = self._get_asset_max_size_input(asset, "power") + max_power = asset_power if asset_power else math.inf else: # DTK requires capacity as the maximum power reference and not based on # heatTransferCoefficient. Power could also be based on heatTransferCoefficient if we # use an option to select it. - max_power = asset.attributes["capacity"] if asset.attributes["capacity"] else math.inf + asset_capacity = self._get_asset_max_size_input(asset, "capacity") + max_power = asset_capacity if asset_capacity else math.inf + if max_power == math.inf: get_potential_errors().add_potential_issue( MesidoAssetIssueType.HEAT_EXCHANGER_POWER, @@ -1179,10 +1305,10 @@ def convert_heat_pump(self, asset: Asset) -> Tuple[ else: cop = asset.attributes["COP"] - if not asset.attributes["power"]: + power_secondary = self._get_asset_max_size_input(asset, "power") + if not power_secondary: raise _ESDLInputException(f"{asset.name} has no power specified") else: - power_secondary = asset.attributes["power"] power_electrical = power_secondary / cop params_t = self._supply_return_temperature_modifiers(asset) @@ -1266,10 +1392,22 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS "ElectricBoiler", } - max_supply = asset.attributes["power"] + aggregation_count = 0 + if asset.asset_type == "GeothermalSource": + max_supply = asset.attributes["power"] + aggregation_count = self._get_asset_max_size_input(asset, "aggregationCount") + + if not aggregation_count: + logger.error( + f"{asset.asset_type} '{asset.name}' has no aggregation count specified." + ) + assert int(aggregation_count) == aggregation_count and aggregation_count > 0 + + else: + max_supply = self._get_asset_max_size_input(asset, "power") if not max_supply: - logger.error(f"{asset.asset_type} '{asset.name}' has no max power specified. ") + logger.error(f"{asset.asset_type} '{asset.name}' has no max power specified.") assert max_supply > 0.0 # get price per unit of energy, @@ -1289,15 +1427,15 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS ) if asset.asset_type == "GeothermalSource": - modifiers["nr_of_doublets"] = asset.attributes["aggregationCount"] + modifiers["nr_of_doublets"] = aggregation_count modifiers["Heat_source"] = dict( min=0.0, - max=max_supply * asset.attributes["aggregationCount"], + max=max_supply * aggregation_count, nominal=max_supply / 2.0, ) modifiers["Heat_flow"] = dict( min=0.0, - max=max_supply * asset.attributes["aggregationCount"], + max=max_supply * aggregation_count, nominal=max_supply / 2.0, ) try: @@ -1381,6 +1519,7 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: hfr_charge_max = asset.attributes.get("maxChargeRate", math.inf) hfr_discharge_max = asset.attributes.get("maxDischargeRate", math.inf) + single_doublet_power = hfr_discharge_max # We assume the efficiency is realized over a period of 100 days @@ -1395,28 +1534,31 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: cp = self.cp q_max_ates = hfr_discharge_max / (cp * rho * dt) - q_nominal = min( - self._get_connected_q_nominal(asset), q_max_ates * asset.attributes["aggregationCount"] - ) + aggregation_count = self._get_asset_max_size_input(asset, "aggregationCount") + if not aggregation_count: + logger.error(f"{asset.asset_type} '{asset.name}' has no aggregation count specified.") + assert int(aggregation_count) == aggregation_count and aggregation_count > 0 + + q_nominal = min(self._get_connected_q_nominal(asset), q_max_ates * aggregation_count) modifiers = dict( Q=dict( - min=-q_max_ates * asset.attributes["aggregationCount"], - max=q_max_ates * asset.attributes["aggregationCount"], + min=-q_max_ates * aggregation_count, + max=q_max_ates * aggregation_count, nominal=q_nominal, ), single_doublet_power=single_doublet_power, heat_loss_coeff=(1.0 - efficiency ** (1.0 / 100.0)) / (3600.0 * 24.0), - nr_of_doublets=asset.attributes["aggregationCount"], + nr_of_doublets=aggregation_count, Stored_heat=dict( min=0.0, - max=hfr_charge_max * asset.attributes["aggregationCount"] * 180.0 * 24 * 3600.0, - nominal=hfr_charge_max * asset.attributes["aggregationCount"] * 30.0 * 24 * 3600.0, + max=hfr_charge_max * aggregation_count * 180.0 * 24 * 3600.0, + nominal=hfr_charge_max * aggregation_count * 30.0 * 24 * 3600.0, ), **self._generic_modifiers(asset), **self._generic_heat_modifiers( - -hfr_discharge_max * asset.attributes["aggregationCount"], - hfr_charge_max * asset.attributes["aggregationCount"], + -hfr_discharge_max * aggregation_count, + hfr_charge_max * aggregation_count, q_nominal, ), **self._supply_return_temperature_modifiers(asset), @@ -1458,8 +1600,8 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: modifiers.update( dict( Heat_ates=dict( - min=-hfr_charge_max * asset.attributes["aggregationCount"], - max=hfr_discharge_max * asset.attributes["aggregationCount"], + min=-hfr_charge_max * aggregation_count, + max=hfr_discharge_max * aggregation_count, nominal=hfr_discharge_max / 2.0, ), T_amb=asset.attributes["aquiferMidTemperature"], @@ -2456,7 +2598,16 @@ def convert_heat_source_gas( """ assert asset.asset_type in {"GasHeater"} - max_supply = asset.attributes["power"] + max_supply = None + is_one_in_port = True if len(asset.in_ports) == 1 else False + if is_one_in_port: + max_supply = self._get_asset_max_size_input(asset, "power") + else: + # TODO: range constraint to be added instead of using this value for OPTIONAL asset + # The implementation of range constraints has not been tested for assets with more + # than one port, this should still be done. We need to be sure to check the proper + # quantity is used. + max_supply = asset.attributes["power"] if not max_supply: logger.error(f"{asset.asset_type} '{asset.name}' has no max power specified. ") @@ -2491,7 +2642,7 @@ def convert_heat_source_gas( Q_nominal_gas=q_nominal_gas_no_carrier, ) ) - if len(asset.in_ports) == 1: + if is_one_in_port: return HeatSourceGas, modifiers id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ @@ -2564,7 +2715,12 @@ def convert_heat_source_elec( """ assert asset.asset_type in {"ElectricBoiler"} - max_supply = asset.attributes["power"] + max_supply = None + is_one_in_port = True if len(asset.in_ports) == 1 else False + if is_one_in_port: + max_supply = self._get_asset_max_size_input(asset, "power") + else: # TODO: range constraint to be added instead of using this value for OPTIONAL asset + max_supply = asset.attributes["power"] if not max_supply: logger.error(f"{asset.asset_type} '{asset.name}' has no max power specified. ") @@ -2572,7 +2728,7 @@ def convert_heat_source_elec( _, modifiers = self.convert_heat_source(asset) modifiers["elec_power_nominal"] = max_supply - if len(asset.in_ports) == 1: + if is_one_in_port: return HeatSourceElec, modifiers id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ @@ -2700,6 +2856,8 @@ def __init__( assets: Dict[str, Asset], name_to_id_map: Dict[str, str], converter_class=AssetToHeatComponent, + esdl_version=str, + esdl_ranged_constraint_usage=bool, **kwargs, ): super().__init__(None) @@ -2710,6 +2868,8 @@ def __init__( **{ "primary_port_name_convention": self.primary_port_name_convention, "secondary_port_name_convention": self.secondary_port_name_convention, + "energy_system_esdl_version": esdl_version, + "esdl_ranged_constraint_usage": esdl_ranged_constraint_usage, }, } ) diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index 52cc77ad2..db6b3afc6 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -16,6 +16,7 @@ from mesido.esdl.asset_to_component_base import _AssetToComponentBase from mesido.esdl.common import Asset from mesido.esdl.edr_pipe_class import EDRGasPipeClass, EDRPipeClass +from mesido.esdl.esdl_additional_vars_mixin import get_asset_contraints from mesido.esdl.esdl_heat_model import ESDLHeatModel from mesido.esdl.esdl_model_base import _ESDLModelBase from mesido.esdl.esdl_parser import ESDLStringParser @@ -80,6 +81,8 @@ class ESDLMixin( __max_supply_temperature: Optional[float] = None + __esdl_ranged_constraint_usage: bool = False + # TODO: remove this once ESDL allows specifying a minimum pipe size for an optional pipe. __minimum_pipe_size_name: str = "DN150" @@ -104,6 +107,8 @@ def __init__(self, *args, **kwargs) -> None: kwargs : esdl_string or esdl_file_name must be provided """ + self.__use_esdl_ranged_constraint: bool = kwargs.get("use_esdl_ranged_constraint", False) + self.esdl_parser_class: type = kwargs.get("esdl_parser", ESDLStringParser) esdl_string = kwargs.get("esdl_string", None) model_folder = kwargs.get("model_folder") @@ -182,11 +187,13 @@ def __init__(self, *args, **kwargs) -> None: energy_system=self.__energy_system_handler.energy_system, file_path=input_file_path, database_credentials=read_only_dbase_credentials, + use_esdl_ranged_contraint=self._ESDLMixin__use_esdl_ranged_constraint, ) else: # read from a file, no database credentials needed self.__profile_reader: BaseProfileReader = profile_reader_class( energy_system=self.__energy_system_handler.energy_system, file_path=input_file_path, + use_esdl_ranged_contraint=self._ESDLMixin__use_esdl_ranged_constraint, ) # This way we allow users to adjust the parsed ESDL assets @@ -197,7 +204,13 @@ def __init__(self, *args, **kwargs) -> None: name_to_id_map = {a.name: a.id for a in assets.values()} if isinstance(self, PhysicsMixin): - self.__model = ESDLHeatModel(assets, name_to_id_map, **self.esdl_heat_model_options()) + self.__model = ESDLHeatModel( + assets=assets, + name_to_id_map=name_to_id_map, + esdl_version=self._ESDLMixin__energy_system_handler.energy_system.esdlVersion, + use_esdl_ranged_constraint=self._ESDLMixin__use_esdl_ranged_constraint, + **self.esdl_heat_model_options(), + ) else: assert isinstance(self, QTHMixin) @@ -258,6 +271,74 @@ def pre(self) -> None: ) self.name_to_esdl_id_map[esdl_asset.name] = esdl_id + def _get_pipe_max_size_input( + self, + asset: Asset, + ) -> str: + """ + This function gets the upper limit for the pipe DN. Either from the asset attribute input + DN size or from the PipeDiameterConstraint, depending on what is applicable. + Args: + asset: mesido common asset with all attributes + max_size_attribute: type of attribute e.g. powrr, volume etc. + max_value_attribute: value that of the attribute, + constraint_attribute: Does the atrribute value originate from a constraint + """ + # Backward compatibility: + # PipeDiameterConstraint vs pipe diameter attribute, as the value to be used for the + # maximum size of the pipe. We check the esdl version to determine which attribute to use + # for the maximum size of the pipe. + # While the front end is being updated to accomodate easy use of PipeDiameterConstraint: + # - If the esdl version caters for PipeDiameterConstraint: + # - check if a constraint exists, then use it. + # - if the contraint does not exist then use the diameter specific in the asset attribute + # - If PipeDiameterConstraint does not + esdl_version = self._ESDLMixin__energy_system_handler.energy_system.esdlVersion + # "v2602" contains the items needed for the ranged constraint implementation in MESIDO + if esdl_version is not None and esdl_version >= "v2602": + pipe_constraint, qty_pipe_constraint = get_asset_contraints( + self, asset, esdl.PipeDiameterConstraint + ) + + if qty_pipe_constraint > 1: + logger.exit( + f"More than 1 pipe diameter constraint has been specified to " + f"pipe named {asset.name}, currenlty only the 1st constraint is being used" + ) + exit(1) + elif ( + qty_pipe_constraint == 0 + or pipe_constraint[0].maximum == esdl.PipeDiameterEnum.VALUE_SPECIFIED + ): + logger.warning( + "Expected a pipe diameter contraint (upper size limit) for pipe named " + f"{asset.name}, but none has been specified. Therefore, the pipe diameter " + "specified in the asset attribute is being used." + ) + # Do not delete the code below. This will be enforced late, once the front end has + # been updated for this + + # get_potential_errors().add_potential_issue( + # MesidoAssetIssueType.ASSET_UPPER_LIMIT, + # asset.id, + # f"Pipe named {asset.name}: The upper limit of the pipe size has to be + # specified via a maximum value in a pipe diameter constraint." + # ) + # Raise the potential error here if applicable, with feedback to user + # Else a normal error exit might occer which will not give feedback to the user + # potential_error_to_error(self._error_type_check) + + return asset.attributes["diameter"].name + else: + logger.warning( + f"For pipe named {asset.name}, the pipe diameter constraint max value is " + "used for the pipe's diameter upper limit, instead of the pipe diameter " + "specified (if any) in the asset attribute." + ) + return pipe_constraint[0].maximum.name + else: + return asset.attributes["diameter"].name + def __override_pipe_classes_dicts( self, asset: Asset, @@ -280,7 +361,7 @@ def __override_pipe_classes_dicts( assert len(min_size_idx) == 1 min_size_idx = min_size_idx[0] - max_size = asset.attributes["diameter"].name + max_size = self._get_pipe_max_size_input(asset) max_size_idx = [idx for idx, pipe in enumerate(pipe_classes) if pipe.name == max_size] assert len(max_size_idx) == 1 diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 428b999fc..8639e327d 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -11,6 +11,7 @@ from esdl.units.conversion import ENERGY_IN_J, POWER_IN_W, convert_to_unit from mesido.esdl.common import Asset +from mesido.esdl.esdl_additional_vars_mixin import get_asset_contraints from mesido.potential_errors import MesidoAssetIssueType, get_potential_errors import numpy as np @@ -44,12 +45,15 @@ def __init__( self, energy_system: esdl.EnergySystem, file_path: Optional[Path], + use_esdl_ranged_contraint: bool = False, ): self._profiles: Dict[int, Dict[str, np.ndarray]] = defaultdict(dict) self._energy_system: esdl.EnergySystem = energy_system self._file_path: Optional[Path] = file_path self._reference_datetimes: Optional[pd.DatetimeIndex] = None + self._use_esdl_ranged_constraint = use_esdl_ranged_contraint + def read_profiles( self, io: DataStore, @@ -110,9 +114,41 @@ def read_profiles( for component_type, var_name in self.component_type_to_var_name_map.items(): for component in energy_system_components.get(component_type, []): profile = self._profiles[ensemble_member].get(component + var_name, None) - asset_power = esdl_assets[esdl_asset_names_to_ids[component]].attributes[ - "power" - ] + asset = esdl_assets[esdl_asset_names_to_ids[component]] + asset_state = asset.attributes["state"] + + asset_power = None + if asset_state == esdl.AssetStateEnum.ENABLED: + asset_power = asset.attributes["power"] + elif asset_state == esdl.AssetStateEnum.OPTIONAL: + if ( + self._energy_system.esdlVersion is not None + and self._energy_system.esdlVersion >= "v2602" + and self._use_esdl_ranged_constraint + # "v2602" contains the items needed for the ranged constraint + # implementation in MESIDO + ): + range_constraints, qty_range_constraints = get_asset_contraints( + self, asset, esdl.RangedConstraint + ) + if qty_range_constraints == 1: + asset_power = range_constraints[0].range.maxValue + else: + logger.error( + f"Asset named {asset.name}: The code currently only " + f"caters for 1 RangedConstraint but {qty_range_constraints} " + "have been specified" + ) + sys.exit(1) + else: + asset_power = asset.attributes["power"] + else: + logger.warning( + f"Read profiles: asset {component} has a state {asset_state.name} " + "and currently the code only caters for asset states ENABLED or " + "OPTIONAL" + ) + if profile is not None: values = profile else: @@ -227,11 +263,13 @@ def __init__( self, energy_system: esdl.EnergySystem, file_path: Optional[Path], + use_esdl_ranged_contraint: bool = False, database_credentials: Optional[Dict[str, Tuple[str, str]]] = None, ): super().__init__( energy_system=energy_system, file_path=file_path, + use_esdl_ranged_contraint=use_esdl_ranged_contraint, ) self._df = pd.DataFrame() self._database_credentials = ( @@ -607,10 +645,12 @@ def __init__( self, energy_system: esdl.EnergySystem, file_path: Path, + use_esdl_ranged_contraint: bool = False, ): super().__init__( energy_system=energy_system, file_path=file_path, + use_esdl_ranged_contraint=use_esdl_ranged_contraint, ) def _load_profiles_from_source( diff --git a/src/mesido/potential_errors.py b/src/mesido/potential_errors.py index 5eb1aea04..4f992e4e0 100644 --- a/src/mesido/potential_errors.py +++ b/src/mesido/potential_errors.py @@ -46,6 +46,7 @@ class MesidoAssetIssueType(Enum): ASSET_PROFILE_MULTIPLIER = "asset_profile.multiplier" COLD_ASSET_TYPE_NOT_SUPPORTED = "cold_asset.type" ELECT_ASSET_TYPE_NOT_SUPPORTED = "elect_asset.type" + ASSET_UPPER_LIMIT = "asset.upper_limit_size" class PotentialErrors: diff --git a/src/mesido/workflows/gas_elect_workflow.py b/src/mesido/workflows/gas_elect_workflow.py index f05ad27a7..946aa1caf 100644 --- a/src/mesido/workflows/gas_elect_workflow.py +++ b/src/mesido/workflows/gas_elect_workflow.py @@ -2,8 +2,7 @@ import os from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from mesido.esdl.esdl_mixin import DBAccessType -from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_mixin import DBAccessType, ESDLMixin from mesido.head_loss_class import HeadLossOption from mesido.network_common import NetworkSettings from mesido.techno_economic_mixin import TechnoEconomicMixin diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 230176771..d33abac59 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -6,8 +6,7 @@ from typing import Dict from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from mesido.esdl.esdl_mixin import DBAccessType -from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_mixin import DBAccessType, ESDLMixin from mesido.head_loss_class import HeadLossOption from mesido.potential_errors import reset_potential_errors from mesido.techno_economic_mixin import TechnoEconomicMixin diff --git a/src/mesido/workflows/utils/error_types.py b/src/mesido/workflows/utils/error_types.py index 931cefa39..61099a931 100644 --- a/src/mesido/workflows/utils/error_types.py +++ b/src/mesido/workflows/utils/error_types.py @@ -49,6 +49,7 @@ def mesido_issue_type_gen_message(issue_type: MesidoAssetIssueType) -> str: MesidoAssetIssueType.ASSET_PROFILE_MULTIPLIER: "Incorrect asset profile multiplier", MesidoAssetIssueType.COLD_ASSET_TYPE_NOT_SUPPORTED: "Unsupported assets are being used.", MesidoAssetIssueType.ELECT_ASSET_TYPE_NOT_SUPPORTED: "Unsupported assets are being used.", + MesidoAssetIssueType.ASSET_UPPER_LIMIT: " Asset upper limit input incompatibility.", } return type_and_general_meassage[issue_type] @@ -77,6 +78,7 @@ def potential_error_to_error(network_check_type: Enum) -> None: MesidoAssetIssueType.ASSET_PROFILE_MULTIPLIER, MesidoAssetIssueType.COLD_ASSET_TYPE_NOT_SUPPORTED, MesidoAssetIssueType.ELECT_ASSET_TYPE_NOT_SUPPORTED, + MesidoAssetIssueType.ASSET_UPPER_LIMIT, ], NetworkErrors.HEAT_AND_COOL_NETWORK_ERRORS: [ MesidoAssetIssueType.HEAT_DEMAND_POWER, diff --git a/tests/models/esdl_constraints/model/testing_network_1_all_enabled.esdl b/tests/models/esdl_constraints/model/testing_network_1_all_enabled.esdl new file mode 100644 index 000000000..924822c4b --- /dev/null +++ b/tests/models/esdl_constraints/model/testing_network_1_all_enabled.esdl @@ -0,0 +1,329 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/esdl_constraints/model/testing_network_1_all_optional.esdl b/tests/models/esdl_constraints/model/testing_network_1_all_optional.esdl new file mode 100644 index 000000000..d405cc21d --- /dev/null +++ b/tests/models/esdl_constraints/model/testing_network_1_all_optional.esdl @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/esdl_constraints/model/testing_network_1_all_optional_excluding_pipes.esdl b/tests/models/esdl_constraints/model/testing_network_1_all_optional_excluding_pipes.esdl new file mode 100644 index 000000000..91cc01e8e --- /dev/null +++ b/tests/models/esdl_constraints/model/testing_network_1_all_optional_excluding_pipes.esdl @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/esdl_constraints/model/testing_network_1_supply_only.esdl b/tests/models/esdl_constraints/model/testing_network_1_supply_only.esdl new file mode 100644 index 000000000..0b02daad0 --- /dev/null +++ b/tests/models/esdl_constraints/model/testing_network_1_supply_only.esdl @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/esdl_constraints/src/run_1.py b/tests/models/esdl_constraints/src/run_1.py new file mode 100644 index 000000000..d864ee8fe --- /dev/null +++ b/tests/models/esdl_constraints/src/run_1.py @@ -0,0 +1,31 @@ +from pathlib import Path + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.workflows import EndScenarioSizingStaged + +# from rtctools.util import run_optimization_problem + + +class NetworkProblem(EndScenarioSizingStaged): + ... + # Nothing to be added for now + + +if __name__ == "__main__": + base_folder = Path(__file__).resolve().parent.parent + model_folder = base_folder / "model" + + problem = EndScenarioSizingStaged( + # base_folder=base_folder, + # model_folder=model_folder, + esdl_parser=ESDLFileParser, + esdl_file_name="testing_network_1.esdl", + ) + problem.pre() + + # For potential future + # This network has not been setup to be able to optimize yet + # solution = run_optimization_problem( + # problem, + # ) + # results = solution.extract_results() diff --git a/tests/test_esdl_constraints.py b/tests/test_esdl_constraints.py new file mode 100644 index 000000000..08ce0e742 --- /dev/null +++ b/tests/test_esdl_constraints.py @@ -0,0 +1,295 @@ +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser + +import numpy as np + + +class TestRangedConstraints(TestCase): + """ + Check that RangedConstraint are correctly handled. + + """ + + def test_asset_max_capacity(self): + """ + Test that RangeConstraints or asset attribute input values are used as upper limits for + assets variables, depending if the asset is ENABLED or OPTIONAL. + OPTIONAL: use RangeConstraint specified at the asset, instead of the asset input attribute + ENABLED: use asset attribute input values + + In the esdl files the asset input value (power, volume or aggregation) count has been + specified to be smaller than the values specified in the RangedCosntraints + + Notes regarding the esdl files: + - testing_network_1_all_enabled: All the assets are enabled. + - testing_network_1_all_optional_excluding_pipes: + - All assets OPTIONAL and pipes are ENABLED + - Pipe 1 and 2 have PipeDiameterConstraint values + - All pipes (including pipe 1 & 2) have a Diameter specified that is smaller than + PipeDiameterConstraint value + - testing_network_1_all_optional: + - All the assets, including the pipes are OPTIONAL + - Pipe 1 & 2 have a PipeDiameterConstraint values. + - All the pipes (including pipe 1 & 2) have a Diameter attribute value specified. The + PipeDiameterConstraint value is larger than the pipe Diameter specified. + + Checks: + * Heat assets (excluding the pipes) + - Power and capacity: + - OPTIONAL assets: Check that the RangedContraint value is used for max size, and that + this values is larger than the asset attribute input value + - ENABLED assets: Check that the asset attribute input value is used for max size, and + that this values is smaller than the RangedContraint value + - Aggregation count assets: + - OPTIONAL assets: Check that the RangedContraint value is used for aggregation count + and that this values is larger than the asset attribute input value + - ENABLED assets: Check that the asset attribute input value is used for aggregation + count, and that this values is smaller than the RangedContraint value + - Volume assets: + - OPTIONAL assets: Check that the RangedContraint value is used for volume and the max + capacity of a buffer tank, and that this volume is larger than the asset attribute + input value + - ENABLED assets: # Check that the asset attribute input value is used for volume and + the max capacity of a buffer tank, and that this volume is smaler than the + RangedContraint value + - All OPTIONAL assets: Check the range contraint name + + * Pipes: + - Pipe DN size: + - OPTIONAL with PipeDiameterConstraint value and Diameter specified: Check that the + available pipe classes go up to PipeDiameterConstraint value and that this value is + larger than the Diameter specified + - OPTIONAL with only a Diameter specified: Check that the available pipe classes go up + to the Diameter specified + - ENABLED pipes: Check that the pipe has a diameter as specified in the attribute + Diameter value + + """ + import models.esdl_constraints.src.run_1 as run_1 + from models.esdl_constraints.src.run_1 import NetworkProblem + + base_folder = Path(run_1.__file__).resolve().parent.parent + model_folder = base_folder / "model" + + kwargs = {"use_esdl_ranged_constraint": True} + + # the esdl version must be >= "v2602" + esdl_files = { + "testing_network_1_all_enabled.esdl", + "testing_network_1_all_optional_excluding_pipes.esdl", + "testing_network_1_all_optional.esdl", + } + + for esdl_file in esdl_files: + problem = NetworkProblem( + base_folder=base_folder, + model_folder=model_folder, + esdl_parser=ESDLFileParser, + esdl_file_name=esdl_file, + **kwargs, + ) + + problem.pre() + + all_optional = False + if "all_optional" in esdl_file: + all_optional = True + + # ------------------------------------------------------------------------------------- + # Check the assets exlcuding the pipes + + asset_tested = { + # assets where power or capcicity is used for upper limit of size + "power_assets": [ + "HeatPump_6e86", + "HeatProducer_1c31", + "GasHeater_11d9", + "ElectricBoiler_ac4c", + "HeatExchange_1cf5", + ], + # assets where aggregation count is used for upper limit + "aggregation_assets": ["GeothermalSource_0a38", "ATES_49ac"], + # assets where volume is used for upper limit of size + "volume_assets": ["HeatStorage_50b6"], + } + + for key, asset_names in asset_tested.items(): + + for asset_name in asset_names: + esdl_asset = problem._esdl_assets[ + problem.esdl_asset_name_to_id_map[f"{asset_name}"] + ] + range_contraint_max = None + asset_input_max = None + + if "power_assets" == key: + power_or_capacity = "" + if asset_name == "HeatExchange_1cf5": + power_or_capacity = "capacity" + else: + power_or_capacity = "power" + + range_contraint_max = esdl_asset.attributes["constraint"][0].range.maxValue + asset_input_max = esdl_asset.attributes[power_or_capacity] + + if all_optional: + # Check that the RangedContraint value is used for max size, and that + # this values is larger than the asset attribute input value + np.testing.assert_equal( + problem.bounds()[f"{asset_name}__max_size"][1], + range_contraint_max, + ) + np.testing.assert_array_less( + asset_input_max, + problem.bounds()[f"{asset_name}__max_size"][1], + ) + # Check the range contraint name + np.testing.assert_equal( + esdl_asset.attributes["constraint"][0].attributeReference, + power_or_capacity, + ) + else: + # Check that the asset attribute input value is used for max size, and + # that this values is smaller than the RangedContraint value + np.testing.assert_equal( + problem.bounds()[f"{asset_name}__max_size"][1], + asset_input_max, + ) + np.testing.assert_array_less( + problem.bounds()[f"{asset_name}__max_size"][1], + range_contraint_max, + ) + + asset_variable = "" + if asset_name == "HeatPump_6e86": + asset_variable = "Secondary_heat" + else: + asset_variable = "Heat_flow" + # Check that the correct value is used for heat flow variable bound + np.testing.assert_equal( + problem.bounds()[f"{asset_name}__max_size"][1], + problem.bounds()[f"{asset_name}.{asset_variable}"][1], + ) + + if "aggregation_assets" == key: + + range_contraint_max = esdl_asset.attributes["constraint"][0].range.maxValue + asset_input_max = esdl_asset.attributes["aggregationCount"] + + if all_optional: + # Check that the RangedContraint value is used for aggregation count, + # and that this values is larger than the asset attribute input value + np.testing.assert_equal( + problem.bounds()[f"{asset_name}_aggregation_count"][1], + range_contraint_max, + ) + np.testing.assert_array_less( + asset_input_max, + problem.bounds()[f"{asset_name}_aggregation_count"][1], + ) + else: + # Check that the asset attribute input value is used for aggregation + # count, and that this values is smaller than the RangedContraint value + np.testing.assert_equal( + problem.bounds()[f"{asset_name}_aggregation_count"][1], + asset_input_max, + ) + np.testing.assert_array_less( + problem.bounds()[f"{asset_name}_aggregation_count"][1], + range_contraint_max, + ) + # Check the range contraint name + np.testing.assert_equal( + esdl_asset.attributes["constraint"][0].attributeReference, + "aggregationCount", + ) + + if "volume_assets" == key: + range_contraint_max = esdl_asset.attributes["constraint"][0].range.maxValue + asset_input_max = esdl_asset.attributes["volume"] + + if all_optional: + # Check that the RangedContraint value is used for volume and the max + # capacity of a buffer tank, and that this volume is larger than the + # asset attribute input value + asset_max_capacity = ( + problem.parameters(0)[f"{asset_name}.rho"] + * range_contraint_max + * problem.parameters(0)[f"{asset_name}.cp"] + * problem.parameters(0)[f"{asset_name}.dT"] + ) + np.testing.assert_equal( + asset_max_capacity, + problem.bounds()[f"{asset_name}__max_size"][1], + ) + np.testing.assert_array_less( + asset_input_max, + problem.parameters(0)[f"{asset_name}.volume"], + ) + np.testing.assert_almost_equal( + problem.parameters(0)[f"{asset_name}.volume"], + range_contraint_max, + ) + # Check the range contraint name + np.testing.assert_equal( + esdl_asset.attributes["constraint"][0].attributeReference, + "volume", + ) + else: + # Check that the asset attribute input value is used for volume and the + # max capacity of a buffer tank, and that this volume is smaler than the + # RangedContraint + asset_max_capacity = ( + problem.parameters(0)[f"{asset_name}.rho"] + * asset_input_max + * problem.parameters(0)[f"{asset_name}.cp"] + * problem.parameters(0)[f"{asset_name}.dT"] + ) + np.testing.assert_equal( + asset_max_capacity, + problem.bounds()[f"{asset_name}__max_size"][1], + ) + np.testing.assert_array_less( + problem.parameters(0)[f"{asset_name}.volume"], + range_contraint_max, + ) + np.testing.assert_almost_equal( + problem.parameters(0)[f"{asset_name}.volume"], + asset_input_max, + ) + + # ------------------------------------------------------------------------------------- + # Check the pipes with and without PipeDiameterConstraint + pipes_with_ranged_constraint = [""] + + if esdl_file == "testing_network_1_all_optional.esdl": + pipes_with_ranged_constraint = ["Pipe1", "Pipe1_ret", "Pipe2", "Pipe2_ret"] + + for pipe_name in problem.energy_system_components.get("heat_pipe", []): + esdl_asset = problem._esdl_assets[ + problem.esdl_asset_name_to_id_map[f"{pipe_name}"] + ] + + pipe_classes = list(problem._heat_pipe_topo_pipe_class_map[f"{pipe_name}"]) + pipe_input_size = esdl_asset.attributes["diameter"].name + + if pipe_name in pipes_with_ranged_constraint: + range_contraint_max = esdl_asset.attributes["constraint"][0].maximum.name + np.testing.assert_equal(pipe_classes[-1].name, range_contraint_max) + np.testing.assert_array_less( + int(pipe_input_size.replace("DN", "")), + int(range_contraint_max.replace("DN", "")), + ) + else: + np.testing.assert_equal(pipe_classes[-1].name, pipe_input_size) + elif esdl_file == "testing_network_1_all_optional_excluding_pipes.esdl": + for pipe_name in problem.energy_system_components.get("heat_pipe", []): + (problem.parameters(0)[f"{pipe_name}.diameter"], 0.695) # DN700 + + +if __name__ == "__main__": + + a = TestRangedConstraints() + a.test_asset_max_capacity() diff --git a/tests/test_potential_errors.py b/tests/test_potential_errors.py index de9795e22..7dcf3bb70 100644 --- a/tests/test_potential_errors.py +++ b/tests/test_potential_errors.py @@ -25,10 +25,12 @@ def __init__( self, energy_system: esdl.EnergySystem, file_path: Optional[Path], + use_esdl_ranged_contraint: bool = False, ): super().__init__( energy_system=energy_system, file_path=file_path, + use_esdl_ranged_contraint=use_esdl_ranged_contraint, ) self._loaded_profiles = pd.read_csv( file_path, diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index ea71b6885..62e44d9ab 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -217,6 +217,6 @@ def test_max_producer_esdl_scaled_profile(self): if __name__ == "__main__": a = TestProducerMaxProfile() - # a.test_max_producer_scaled_profile() + a.test_max_producer_scaled_profile() a.test_max_producer_esdl_unscaled_profile() - # a.test_max_producer_esdl_scaled_profile() + a.test_max_producer_esdl_scaled_profile() diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index 0184657c6..b5479a5e9 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -26,9 +26,15 @@ def __init__( self, energy_system: esdl.EnergySystem, file_path: Optional[Path], + use_esdl_ranged_contraint: bool, database_credentials: Optional[Dict[str, Tuple[str, str]]] = None, ): - super().__init__(energy_system, file_path, database_credentials=database_credentials) + super().__init__( + energy_system, + file_path, + use_esdl_ranged_contraint=use_esdl_ranged_contraint, + database_credentials=database_credentials, + ) self._loaded_profiles = pd.read_csv( file_path, index_col="DateTime", From 5fd0827f30333c14a63d58ca9f96d68fe221273b Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 11 Mar 2026 10:15:53 +0100 Subject: [PATCH 346/376] Update pipe DN lower size - initial usage (#443) Initial implementation of lower pipe DN size adaption per pipe via measures --- CHANGELOG.md | 1 + src/mesido/esdl/esdl_mixin.py | 41 +- ...ork_all_optional_pipe_catalog_pipe_DN.esdl | 574 ++++++++++++++++++ tests/test_end_scenario_sizing.py | 57 ++ 4 files changed, 666 insertions(+), 7 deletions(-) create mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog_pipe_DN.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 33a60d3b6..3066b9392 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Parsing of ensemble profiles when using input profiles from csv. - Maximum profile constraint for PV asset is considered in PV sizing - Cater for input via esdl constraints to specify the upper limit for OPTIONAL assets in DTK +- Initial implementation of adaptable pipe DN lower limit per pipe ## Changed - Speed-up timeseries check in from InfluxDB diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index db6b3afc6..be2623dbc 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -85,6 +85,7 @@ class ESDLMixin( # TODO: remove this once ESDL allows specifying a minimum pipe size for an optional pipe. __minimum_pipe_size_name: str = "DN150" + __use_user_defined_minimum_pipe_size: bool = False def __init__(self, *args, **kwargs) -> None: """ @@ -271,6 +272,15 @@ def pre(self) -> None: ) self.name_to_esdl_id_map[esdl_asset.name] = esdl_id + def find_index_of_pipe_or_next_up(self, pipes, target_dn): + """ + Find the index of the first pipe in the ordered pipes that meets the specified size + """ + for ii, p in enumerate(pipes): + if float(p.name.replace("DN", "")) >= target_dn: + return ii + return None + def _get_pipe_max_size_input( self, asset: Asset, @@ -356,17 +366,29 @@ def __override_pipe_classes_dicts( c = override_classes[p] = [] c.append(no_pipe_class) - min_size = self.__minimum_pipe_size_name - min_size_idx = [idx for idx, pipe in enumerate(pipe_classes) if pipe.name == min_size] - assert len(min_size_idx) == 1 - min_size_idx = min_size_idx[0] - - max_size = self._get_pipe_max_size_input(asset) + max_size_name = self._get_pipe_max_size_input(asset) - max_size_idx = [idx for idx, pipe in enumerate(pipe_classes) if pipe.name == max_size] + max_size_idx = [ + idx for idx, pipe in enumerate(pipe_classes) if pipe.name == max_size_name + ] assert len(max_size_idx) == 1 max_size_idx = max_size_idx[0] + # Update the minimum pipe DN size if user specified limit is allowed + # TODO: in the future the lower limit will make use of PipeDiameterConstriant + if self._ESDLMixin__use_user_defined_minimum_pipe_size: + user_defined_lower_limit_dn_mm = 40.0 + pipe_dn_max_vs_min_ratio = 10.0 # Relates to area ratio of 100.0 + max_size_dn_mm = float(pipe_classes[max_size_idx].name.replace("DN", "")) + min_dn_by_factor_mm = max_size_dn_mm / pipe_dn_max_vs_min_ratio + min_dn_mm = max(min_dn_by_factor_mm, user_defined_lower_limit_dn_mm) + min_size_idx = self.find_index_of_pipe_or_next_up(pipe_classes, min_dn_mm) + else: # use default minimum pipe DN size + min_size_idx = self.find_index_of_pipe_or_next_up( + pipe_classes, float(self.__minimum_pipe_size_name.replace("DN", "")) + ) + assert min_size_idx + if max_size_idx < min_size_idx: logger.warning( f"{p} has an upper DN size smaller than the used minimum size " @@ -422,6 +444,11 @@ def override_pipe_classes(self) -> None: pipe_classes[i], investment_costs=pipe_diameter_cost_map[pipe_class.name], ) + if ( + not self._ESDLMixin__use_user_defined_minimum_pipe_size + and float(pipe_classes[i].name.replace("DN", "")) != 20.0 + ): + self._ESDLMixin__use_user_defined_minimum_pipe_size = True else: del pipe_classes[i] diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog_pipe_DN.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog_pipe_DN.esdl new file mode 100644 index 000000000..7491031a7 --- /dev/null +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_pipe_catalog_pipe_DN.esdl @@ -0,0 +1,574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 719e8d6a6..538e8901d 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -410,6 +410,62 @@ def __init__(self, *args, **kwargs): abs(results[f"{pipe}.dH"][ii]) + tol, ) + def test_end_scenario_sizing_pipe_catalog_lower_pipe_dn(self): + """ + Check that the temporary implementation of allowing the reduction of the lower pipe limit + via measures + """ + + import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates + + base_folder = Path(run_ates.__file__).resolve().parent.parent + + class ReducedDemandProblem(EndScenarioSizing): + def read(self): + super().read() + + # Reduce the heating demand to allwo usage of smaller pipes + for d in self.energy_system_components["heat_demand"]: + target = self.get_timeseries(f"{d}.target_heat_demand") + target.values[:] = target.values[:] / 1.0e2 + + self.io.set_timeseries( + f"{d}.target_heat_demand", + self.io._DataStore__timeseries_datetimes, + target.values, + 0, + ) + + solution = run_end_scenario_sizing( + ReducedDemandProblem, + base_folder=base_folder, + esdl_file_name="test_case_small_network_all_optional_pipe_catalog_pipe_DN.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="Warmte_test.csv", + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, + ) + + results = solution.extract_results() + parameters = solution.parameters(0) + + # Check min DN in the available pipe classes and the resulting pipe size + pipes_to_check = ["Pipe2", "Pipe2_ret", "Pipe4", "Pipe4_ret"] # user input minimum DN + for pipe in solution.energy_system_components.get("heat_pipe"): + available_pipe_classes = solution.pipe_classes(pipe) + + if pipe in pipes_to_check: + np.testing.assert_equal(available_pipe_classes[0].name == "DN40", True) + np.testing.assert_equal(parameters[f"{pipe}.diameter"], 0.0431) + np.testing.assert_equal(results[f"{pipe}__hn_diameter"], 0.0431) + elif pipe not in ["Pipe1", "Pipe1_ret"]: # this Pipe1 is not placed + if available_pipe_classes[0].name == "None": + np.testing.assert_equal(available_pipe_classes[1].name == "DN50", True) + else: + np.testing.assert_equal(available_pipe_classes[0].name == "DN50", True) + np.testing.assert_allclose(parameters[f"{pipe}.diameter"], 0.0545, atol=1e-6) + np.testing.assert_allclose(results[f"{pipe}__hn_diameter"], 0.0545, atol=1e-6) + def test_end_scenario_sizing_pipe_catalog(self): """ Checks that the problem uses different pipe costs when a pipe catalog is provided along @@ -657,6 +713,7 @@ def calculate_objective_value_end_scenario_sizing_all_optional(self, solution): a.test_end_scenario_sizing_staged() a.test_end_scenario_sizing_discounted() a.test_end_scenario_sizing_head_loss() + a.test_end_scenario_sizing_pipe_catalog_lower_pipe_dn() a.test_end_scenario_sizing_pipe_catalog() a.test_end_scenario_sizing_pipe_catalog_with_templates() print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) From 274841be9559bffbdfd38350ad60f3955781ebbf Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 11 Mar 2026 16:49:46 +0100 Subject: [PATCH 347/376] Cleanup after stage 1 in staged approach (#444) delete solution after stage 1 in staged workflow --- CHANGELOG.md | 1 + src/mesido/workflows/grow_workflow.py | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3066b9392..b1a4281ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ ## Changed - Speed-up timeseries check in from InfluxDB +- Delete solution after stage 1 in a staged workflow ## Fixed - xxx diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index d33abac59..38a8ed0d5 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -1,3 +1,4 @@ +import gc import locale import logging import os @@ -846,6 +847,9 @@ def run_end_scenario_sizing( priorities_output = solution._priorities_output + del solution + gc.collect() + solution = run_optimization_problem_solver( end_scenario_problem_class, solver_class=solver_class, From 0929235f35c2cfb653e6ae87bad2331e25e4c0c3 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Thu, 12 Mar 2026 08:52:08 +0100 Subject: [PATCH 348/376] new release --- CHANGELOG.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1a4281ee..327abe81d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,16 @@ -# [Unreleased-main] - 2026-03-10 +# [Unreleased-main] - 2026-03-12 + +## Added +- xxx + +## Changed +- xxx + +## Fixed +- xxx + + +# [0.1.18] - 2026-03-12 ## Added - Parsing of ensemble profiles when using input profiles from csv. From 89e486cbff777328eb9c541607434c63425afb64 Mon Sep 17 00:00:00 2001 From: Jaimepatt Date: Thu, 12 Mar 2026 17:20:14 +0100 Subject: [PATCH 349/376] 421 geothermal asset e consumption (#424) The goal of the PR is to allow geothermal assets to use electricity. The regular geothermal source can now take a COP value to compute power consumption costs. The new electric geothermal source has the previous functionality plus it accepts an electricity carrier in port. --------- Co-authored-by: Femke Janssen --- src/mesido/esdl/asset_to_component_base.py | 1 + src/mesido/esdl/esdl_heat_model.py | 21 ++- src/mesido/esdl/esdl_model_base.py | 13 +- .../pycml/component_library/milp/__init__.py | 2 + .../milp/heat/geothermal_source.py | 23 ++- .../milp/heat/geothermal_source_elec.py | 35 +++++ .../model/sourcesink_with_geo.esdl | 57 +++++++ .../model/sourcesink_with_geo_elec.esdl | 70 +++++++++ .../sourcesink_with_geo_elec_no_cop.esdl | 70 +++++++++ tests/test_multicommodity.py | 145 +++++++++++++++++- tests/utils_tests.py | 1 + 11 files changed, 422 insertions(+), 16 deletions(-) create mode 100644 src/mesido/pycml/component_library/milp/heat/geothermal_source_elec.py create mode 100644 tests/models/source_pipe_sink/model/sourcesink_with_geo.esdl create mode 100644 tests/models/source_pipe_sink/model/sourcesink_with_geo_elec.esdl create mode 100644 tests/models/source_pipe_sink/model/sourcesink_with_geo_elec_no_cop.esdl diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 426308b4d..532ab7f63 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -900,6 +900,7 @@ def _get_connected_i_nominal_and_max(self, asset: Asset) -> Tuple[float, float]: or asset.asset_type == "Electrolyzer" or asset.asset_type == "ElectricBoiler" or asset.asset_type == "HeatPump" + or asset.asset_type == "GeothermalSource" ): for port in asset.in_ports: if isinstance(port.carrier, esdl.ElectricityCommodity): diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 2d3d1cc26..1af489b50 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -42,6 +42,7 @@ GasSubstation, GasTankStorage, GeothermalSource, + GeothermalSourceElec, HeatBuffer, HeatDemand, HeatExchanger, @@ -1450,8 +1451,24 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS f"{asset.asset_type} '{asset.name}' has no desired flow rate specified. " f"'{asset.name}' will not be actuated in a constant manner" ) - - return GeothermalSource, modifiers + modifiers["elec_power_nominal"] = max_supply + modifiers["cop"] = asset.attributes["COP"] if asset.attributes["COP"] else 0.0 + if len(asset.in_ports) == 2: + for port in asset.in_ports: + if isinstance(port.carrier, esdl.ElectricityCommodity): + min_voltage = port.carrier.voltage + i_max, i_nom = self._get_connected_i_nominal_and_max(asset) + modifiers.update( + min_voltage=min_voltage, + ElectricityIn=dict( + Power=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), + I=dict(min=0.0, max=i_max, nominal=i_nom), + V=dict(min=min_voltage, nominal=min_voltage), + ), + ) + return GeothermalSourceElec, modifiers + else: + return GeothermalSource, modifiers elif asset.asset_type == "HeatPump": modifiers["cop"] = asset.attributes["COP"] return AirWaterHeatPump, modifiers diff --git a/src/mesido/esdl/esdl_model_base.py b/src/mesido/esdl/esdl_model_base.py index 66b06d94f..83a96247e 100644 --- a/src/mesido/esdl/esdl_model_base.py +++ b/src/mesido/esdl/esdl_model_base.py @@ -180,7 +180,7 @@ def __set_primary_secondary_heat_ports(): f"milp(4) and electricity (1) ports" ) elif ( - asset.asset_type == "HeatPump" + (asset.asset_type == "HeatPump") and len(asset.out_ports) == 1 and len(asset.in_ports) in [1, 2] ): @@ -201,11 +201,12 @@ def __set_primary_secondary_heat_ports(): ) else: raise Exception( - f"{asset.name} has incorrect number of in/out ports. HeatPumps are allows " - f"to have 1 in and 1 out port for air-water HP, 2 in ports and 2 out ports " - f"when modelling a water-water HP, or 3 in ports and 2 out ports when the " - f"electricity connection of the water-water HP is modelled." + f"{asset.name} has incorrect number of in/out ports. HeatPumps allow " + f"to have 1 in and 1 out port for air-water HP, 2 in ports and 2 out " + f"ports when modelling a water-water HP, or 3 in ports and 2 out ports " + f"when the electricity connection of the water-water HP is modelled." ) + elif ( asset.asset_type == "GasHeater" and len(asset.out_ports) == 1 @@ -226,6 +227,7 @@ def __set_primary_secondary_heat_ports(): ) elif ( asset.asset_type == "ElectricBoiler" + or asset.asset_type == "GeothermalSource" and len(asset.out_ports) == 1 and len(asset.in_ports) == 2 ): @@ -258,6 +260,7 @@ def __set_primary_secondary_heat_ports(): raise Exception( f"{asset.name} must have one inport for electricity and one outport for gas" ) + elif ( asset.in_ports is None and isinstance(asset.out_ports[0].carrier, esdl.ElectricityCommodity) diff --git a/src/mesido/pycml/component_library/milp/__init__.py b/src/mesido/pycml/component_library/milp/__init__.py index 6557874c1..77e4a40c8 100644 --- a/src/mesido/pycml/component_library/milp/__init__.py +++ b/src/mesido/pycml/component_library/milp/__init__.py @@ -21,6 +21,7 @@ from .heat.cold_demand import ColdDemand from .heat.control_valve import ControlValve from .heat.geothermal_source import GeothermalSource +from .heat.geothermal_source_elec import GeothermalSourceElec from .heat.heat_buffer import HeatBuffer from .heat.heat_demand import HeatDemand from .heat.heat_exchanger import HeatExchanger @@ -68,6 +69,7 @@ "GasSubstation", "GasTankStorage", "GeothermalSource", + "GeothermalSourceElec", "HeatExchanger", "HeatFourPort", "HeatPipe", diff --git a/src/mesido/pycml/component_library/milp/heat/geothermal_source.py b/src/mesido/pycml/component_library/milp/heat/geothermal_source.py index a91a4099e..b01049fbf 100644 --- a/src/mesido/pycml/component_library/milp/heat/geothermal_source.py +++ b/src/mesido/pycml/component_library/milp/heat/geothermal_source.py @@ -1,3 +1,4 @@ +from mesido.pycml import Variable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan @@ -9,11 +10,14 @@ class GeothermalSource(HeatSource): """ The geothermal source component is used to model geothermal doublets. It is equivilent to a - normal source with the only difference being in the modelling of doublets. The main reason for - this component instead of using just a regular source is that to have the integer behaviour of - increasing the amount of doublets. In the HeatMixin an integer is created _aggregation_count to - model the amount of doublets and the maximum power will scale with this integer instead of - continuous. This will also ensure that the cost will scale with this integer. + normal source with the only difference being the modelling of doublets and power consumption. + The main reason for this component instead of using just a regular source is that to have the + integer behaviour of increasing the amount of doublets. In the HeatMixin an integer is created + _aggregation_count to model the amount of doublets and the maximum power will scale with this + integer instead of continuous. This will also ensure that the cost will scale with this integer. + The power consumption is computed through a COP calculation, directly linked to the heat source + production. COP is set to a default value of 0 in order to ensure power and its associated costs + are only inlcuded in the computations intentionally. Variables created: {add_variable_names_for_documentation_here} @@ -31,4 +35,13 @@ def __init__(self, name, **modifiers): self.target_flow_rate = nan self.single_doublet_power = nan + self.cop = nan + self.elec_power_nominal = nan self.nr_of_doublets = 1.0 + + self.add_variable(Variable, "Power_elec", min=0.0, nominal=self.elec_power_nominal) + + if self.cop == 0.0: + self.add_equation((self.Power_elec)) + else: + self.add_equation(((self.Power_elec * self.cop - self.Heat_source) / self.Heat_nominal)) diff --git a/src/mesido/pycml/component_library/milp/heat/geothermal_source_elec.py b/src/mesido/pycml/component_library/milp/heat/geothermal_source_elec.py new file mode 100644 index 000000000..8b9b6996c --- /dev/null +++ b/src/mesido/pycml/component_library/milp/heat/geothermal_source_elec.py @@ -0,0 +1,35 @@ +from mesido.pycml.component_library.milp.electricity.electricity_base import ElectricityPort +from mesido.pycml.component_library.milp.heat.geothermal_source import GeothermalSource +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + +from numpy import nan + + +@add_variables_documentation_automatically +class GeothermalSourceElec(GeothermalSource): + """ + The geothermal source electric asset is almost identical to the geothermal source one. The + only difference is that this one includes an electricity in port. The electricity power + calculation that it inherits from the geothermal source asset needs to be satisfied by an + electricity carrier supplied through this new in port. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ + + def __init__(self, name, **modifiers): + super().__init__( + name, + **modifiers, + ) + + self.component_subtype = "geothermal_source_elec" + self.min_voltage = nan + + self.add_variable(ElectricityPort, "ElectricityIn") + + self.add_equation(((self.ElectricityIn.Power - self.Power_elec) / self.elec_power_nominal)) diff --git a/tests/models/source_pipe_sink/model/sourcesink_with_geo.esdl b/tests/models/source_pipe_sink/model/sourcesink_with_geo.esdl new file mode 100644 index 000000000..f69ec9059 --- /dev/null +++ b/tests/models/source_pipe_sink/model/sourcesink_with_geo.esdl @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/source_pipe_sink/model/sourcesink_with_geo_elec.esdl b/tests/models/source_pipe_sink/model/sourcesink_with_geo_elec.esdl new file mode 100644 index 000000000..c5afad368 --- /dev/null +++ b/tests/models/source_pipe_sink/model/sourcesink_with_geo_elec.esdl @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/source_pipe_sink/model/sourcesink_with_geo_elec_no_cop.esdl b/tests/models/source_pipe_sink/model/sourcesink_with_geo_elec_no_cop.esdl new file mode 100644 index 000000000..a164e3e6d --- /dev/null +++ b/tests/models/source_pipe_sink/model/sourcesink_with_geo_elec_no_cop.esdl @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index d38742a96..bbb2013d1 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -324,8 +324,145 @@ def solver_options(self): np.testing.assert_allclose(var_opex_hp_calc, var_opex_hp) -if __name__ == "__main__": +class TestGeothermalSourceElec(TestCase): - test_cold_demand = TestMultiCommodityHeatPump() - test_cold_demand.test_air_to_water_heat_pump_elec_min_elec() - # test_cold_demand.test_heat_pump_elec_min_elec() + def test_geothermal_source(self): + """ + This tests the electric behavior of the regular geothermal source asset. + + It first does the standard checks, and then the equations that are added to the geothermal + asset, including the electricity power consumption. + + """ + import models.source_pipe_sink.src.double_pipe_heat as example + from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink + + base_folder = Path(example.__file__).resolve().parent.parent + + heat_problem = run_esdl_mesido_optimization( + SourcePipeSink, + base_folder=base_folder, + esdl_file_name="sourcesink_with_geo.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.csv", + ) + results = heat_problem.extract_results() + parameters = heat_problem.parameters(0) + + # Standard checks. + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + electric_power_conservation_test(heat_problem, results) + + # Equations check + np.testing.assert_allclose( + parameters["GeothermalSource_a77b.cop"] * results["GeothermalSource_a77b.Power_elec"], + results["GeothermalSource_a77b.Heat_source"], + ) + + # Variable operational cost check. + np.testing.assert_allclose( + parameters["GeothermalSource_a77b.variable_operational_cost_coefficient"] + * sum(results["GeothermalSource_a77b.Heat_source"][1:]) + / parameters["GeothermalSource_a77b.cop"], + results["GeothermalSource_a77b__variable_operational_cost"], + ) + + def test_geothermal_source_elec(self): + """ + This tests checks the electric geothermal producer asset with an electricity port. + + It does all the same checks as with the regular geothermal asset, plus tests on the + electricity in port. + """ + import models.source_pipe_sink.src.double_pipe_heat as example + from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink + + base_folder = Path(example.__file__).resolve().parent.parent + + heat_problem = run_esdl_mesido_optimization( + SourcePipeSink, + base_folder=base_folder, + esdl_file_name="sourcesink_with_geo_elec.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.csv", + ) + results = heat_problem.extract_results() + parameters = heat_problem.parameters(0) + + # Standard checks. + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + electric_power_conservation_test(heat_problem, results) + + # Equations check + np.testing.assert_allclose( + results["ElectricityProducer_4dde.ElectricityOut.Power"], + results["GeothermalSource_a77b.ElectricityIn.Power"], + ) + np.testing.assert_allclose( + parameters["GeothermalSource_a77b.cop"] * results["GeothermalSource_a77b.Power_elec"], + results["GeothermalSource_a77b.Heat_source"], + ) + + # Test electricity port + np.testing.assert_allclose( + results["GeothermalSource_a77b.ElectricityIn.Power"], + results["GeothermalSource_a77b.Power_elec"], + ) + + # Variable operational cost check. + np.testing.assert_allclose( + parameters["GeothermalSource_a77b.variable_operational_cost_coefficient"] + * sum(results["GeothermalSource_a77b.Heat_source"][1:]) + / parameters["GeothermalSource_a77b.cop"], + results["GeothermalSource_a77b__variable_operational_cost"], + ) + + def test_geothermal_source_elec_no_cop(self): + """ + This tests checks the electric geothermal producer asset when no cop is provided. + + It is the same test case as with the regular one, but in this case, the cop is not + provided and it assigned a value of 0.0, resulting in no power related costs. + """ + import models.source_pipe_sink.src.double_pipe_heat as example + from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink + + base_folder = Path(example.__file__).resolve().parent.parent + + heat_problem = run_esdl_mesido_optimization( + SourcePipeSink, + base_folder=base_folder, + esdl_file_name="sourcesink_with_geo_elec_no_cop.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.csv", + ) + results = heat_problem.extract_results() + + # Standard checks. + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + electric_power_conservation_test(heat_problem, results) + + # Equations check + np.testing.assert_allclose( + results["ElectricityProducer_4dde.ElectricityOut.Power"], + results["GeothermalSource_a77b.ElectricityIn.Power"], + ) + np.testing.assert_allclose(results["ElectricityProducer_4dde.ElectricityOut.Power"], 0.0) + + # Test electricity port + np.testing.assert_allclose( + results["GeothermalSource_a77b.ElectricityIn.Power"], + results["GeothermalSource_a77b.Power_elec"], + ) + + # Variable operational cost check. + np.testing.assert_allclose(0.0, results["GeothermalSource_a77b__variable_operational_cost"]) diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 3946b4b8b..d50ba5b64 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -374,6 +374,7 @@ def electric_power_conservation_test(solution, results, atol=1e-2): "elec_heat_source_elec", "heat_pump_elec", "air_water_heat_pump_elec", + "geothermal_source_elec", ] ) producers = solution.energy_system_components_get(["electricity_source"]) From 98408333958318e53aa7d71fede86b703d4a9756 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 26 Mar 2026 14:31:57 +0100 Subject: [PATCH 350/376] Changelog updated with electricity geothermal (#451) --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 327abe81d..d71145be7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # [Unreleased-main] - 2026-03-12 ## Added -- xxx +- Electricity consumption calculation of geothermal assets, using the defined COP. +- Geothermal electricity asset that can be connected to the electricity grid. ## Changed - xxx From b893aa587ad6280fc86162800c91745db2287147 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 26 Mar 2026 16:54:33 +0100 Subject: [PATCH 351/376] Head loss equation reduction (#446) Reduced the number of equations for LinearizedEqualityConstraints headloss. And started with the work on a cleaner method to add the big_m equality constraints. --- CHANGELOG.md | 4 +- src/mesido/head_loss_class.py | 130 ++++++++++++---------------------- tests/test_head_loss.py | 4 ++ tests/test_hydraulic_power.py | 12 +++- 4 files changed, 61 insertions(+), 89 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d71145be7..a2e3e71e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,11 @@ -# [Unreleased-main] - 2026-03-12 +# [Unreleased-main] - 2026-03-26 ## Added - Electricity consumption calculation of geothermal assets, using the defined COP. - Geothermal electricity asset that can be connected to the electricity grid. ## Changed -- xxx +- Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. ## Fixed - xxx diff --git a/src/mesido/head_loss_class.py b/src/mesido/head_loss_class.py index ed5731da5..f67f4a4a7 100644 --- a/src/mesido/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -202,6 +202,9 @@ def function(self, optimization_problem, ensemble_member): and not parameters[f"{pipe}.length"] == 0.0 ): sum_ += optimization_problem.state(f"{pipe}.Hydraulic_power") + for pipe in optimization_problem.energy_system_components.get("gas_pipe", []): + if not parameters[f"{pipe}.length"] == 0.0: + sum_ += optimization_problem.state(f"{pipe}.Hydraulic_power") return sum_ @@ -338,6 +341,14 @@ def _hpwr_minimization_goal_class(self) -> Type[Goal]: """ return _MinimizeHydraulicPower + @staticmethod + def _symmetric_big_m_constraints(expr, slack, nominal): + """Return paired bigM constraints that enforce expr == 0 when slack is inactive.""" + return [ + ((expr + slack) / nominal, 0.0, np.inf), + ((expr - slack) / nominal, -np.inf, 0.0), + ] + def initialize_variables_nominals_and_bounds( self, optimization_problem, commodity_type, pipe_name, network_settings ): @@ -407,7 +418,9 @@ def initialize_variables_nominals_and_bounds( # We need to creat linear line segments for the - and + volumetric flow rate # possibilites. Line number 1, 2, N for the - & + side is created discharge_type = ["neg_discharge", "pos_discharge"] - for ii_line in range(network_settings["n_linearization_lines"] * 2): + for ii_line in range( + network_settings["n_linearization_lines"] * len(discharge_type) + ): if ii_line < network_settings["n_linearization_lines"]: dtype = discharge_type[0] line_number = ii_line + 1 @@ -640,19 +653,11 @@ def _hn_pipe_head_loss( return [((-1 * dh - expr) / constraint_nominal, 0.0, 0.0)] else: constraint_nominal = (constraint_nominal * big_m) ** 0.5 - - return [ - ( - (-1 * dh - expr + is_disconnected * big_m) / constraint_nominal, - 0.0, - np.inf, - ), - ( - (-1 * dh - expr - is_disconnected * big_m) / constraint_nominal, - -np.inf, - 0.0, - ), - ] + return self._symmetric_big_m_constraints( + -1 * dh - expr, + is_disconnected * big_m, + constraint_nominal, + ) else: return expr * np.sign(discharge) @@ -823,23 +828,8 @@ def _hn_pipe_head_loss( for ii_line_used in range(len(pipe_linear_line_segment)): ii_start = ii_line_used * n_timesteps ii_end = ii_start + n_timesteps - constraints.append( - ( - ( - head_loss_vec[ii_start:ii_end] - - ( - a_vec[ii_start:ii_end] * discharge_vec[ii_start:ii_end] - + b_vec[ii_start:ii_end] - ) - + is_disconnected_vec[ii_start:ii_end] * big_m_lin - + big_m_lin - * (1 - is_line_segment_active[ii_line_used][0:n_timesteps]) - ) - / constraint_nominal[ii_start:ii_end], - 0.0, - np.inf, - ), - ) + # lower bound constraint (weak inequality constraint, value >= 0.0) is + # already added in the LINEARIZED_N_LINES_WEAK_INEQUALITY section. constraints.append( ( ( @@ -1016,48 +1006,19 @@ def _hydraulic_power( # value. Therefore, the flow direction is taken into account for the situation # when the hydraulic_power_linearized is negative (hydraulic_power_linearized = # f(discharge)) - return [ - ( - ( - hydraulic_power - - hydraulic_power_linearized - + (is_disconnected + (1.0 - flow_dir)) * big_m - ) - / constraint_nominal, - 0.0, - np.inf, - ), - ( - ( - hydraulic_power - - hydraulic_power_linearized - - (is_disconnected + (1.0 - flow_dir)) * big_m - ) - / constraint_nominal, - -np.inf, - 0.0, - ), - ( - ( - hydraulic_power - + hydraulic_power_linearized - + (is_disconnected + flow_dir) * big_m - ) - / constraint_nominal, - 0.0, - np.inf, - ), - ( - ( - hydraulic_power - + hydraulic_power_linearized - - (is_disconnected + flow_dir) * big_m - ) - / constraint_nominal, - -np.inf, - 0.0, - ), - ] + constraints = self._symmetric_big_m_constraints( + hydraulic_power - hydraulic_power_linearized, + (is_disconnected + (1.0 - flow_dir)) * big_m, + constraint_nominal, + ) + constraints.extend( + self._symmetric_big_m_constraints( + hydraulic_power + hydraulic_power_linearized, + (is_disconnected + flow_dir) * big_m, + constraint_nominal, + ) + ) + return constraints else: return abs(hydraulic_power_linearized) @@ -1429,23 +1390,20 @@ def _pipe_head_loss_constraints( # be overly tight, we include an additional factor of 2. big_m = 2 * 2 * max_head_loss - constraints.append( - ( - (-dh - head_loss + (1 - flow_dir) * big_m) / big_m, - 0.0, - np.inf, + constraints.extend( + self._symmetric_big_m_constraints( + -dh - head_loss, + (1 - flow_dir) * big_m, + big_m, ) ) - constraints.append(((dh - head_loss + flow_dir * big_m) / big_m, 0.0, np.inf)) - - constraints.append( - ( - (-dh - head_loss - (1 - flow_dir) * big_m) / big_m, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + dh - head_loss, + flow_dir * big_m, + big_m, ) ) - constraints.append(((dh - head_loss - flow_dir * big_m) / big_m, -np.inf, 0.0)) return constraints diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index e54fd7f0a..9c27133b1 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -794,19 +794,23 @@ def energy_system_options(self): np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_1_pos_discharge"][0:2], 1.0, + atol=1e-12, ) np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_1_pos_discharge"][2:4], 0.0, + atol=1e-12, ) # Gas demand for the last 2 timesteps fall on the 2nd linear line segment np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_2_pos_discharge"][0:2], 0.0, + atol=1e-12, ) np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_2_pos_discharge"][2:4], 1.0, + atol=1e-12, ) def test_gas_substation(self): diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index a52e6eed1..96a7586f2 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -424,6 +424,16 @@ def read(self): new_timeseries = self.get_timeseries(f"{d}.target_gas_demand").values * 1.39 self.set_timeseries(f"{d}.target_gas_demand", new_timeseries) + def path_goals(self): + path_goals = super().path_goals().copy() + path_goals.append( + self._gn_head_loss_class._hpwr_minimization_goal_class( + self, + self.gas_network_settings, + ) + ) + return path_goals + def energy_system_options(self): options = super().energy_system_options() @@ -499,7 +509,7 @@ def energy_system_options(self): np.testing.assert_allclose( pipe_hp[k] * pipe_mass[k + 1] / pipe_mass[k], pipe_hp[k + 1] ) - elif pipe_mass[k] == 0: + elif pipe_mass[k] >= -1e-8: np.testing.assert_array_less(0.0, pipe_hp[k + 1]) elif pipe_mass[k] < 0: raise RuntimeWarning("The mass flow cannot be negative for this test case") From 1000b7654dad69e1bfcc951052ac016a213f0cf9 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Fri, 27 Mar 2026 09:02:18 +0100 Subject: [PATCH 352/376] Generalizing state_vector_scaled (#440) Generalizing state_vector_scaled in the BaseProblemMixin, to be used across all scripts. --- CHANGELOG.md | 3 ++- src/mesido/asset_sizing_mixin.py | 9 +-------- src/mesido/base_problem_mixin.py | 10 ++++++++++ src/mesido/electricity_physics_mixin.py | 9 +-------- src/mesido/financial_mixin.py | 9 +-------- src/mesido/gas_physics_mixin.py | 10 ---------- src/mesido/heat_physics_mixin.py | 9 +-------- src/mesido/physics_mixin.py | 9 +-------- src/mesido/workflows/grow_workflow.py | 6 ------ .../workflows/multicommodity_simulator_workflow.py | 6 ------ src/mesido/workflows/rollout_workflow.py | 5 +---- src/mesido/workflows/simulator_workflow.py | 14 ++++++-------- .../ates_temperature/src/run_ates_temperature.py | 12 +----------- .../src/run_ates.py | 12 +----------- .../unit_cases_electricity/battery/src/example.py | 14 +++----------- 15 files changed, 29 insertions(+), 108 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2e3e71e5..246982e9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,8 @@ - Geothermal electricity asset that can be connected to the electricity grid. ## Changed -- Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. +- Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. +- The method __state_vector_scaled has been moved to BaseProblemMixin, allowing the same method to be used across different problem classes as _BaseProblemMixin__state_vector_scaled. ## Fixed - xxx diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index e3c6948fb..5f857eb12 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -1291,14 +1291,7 @@ def __get_maximum_total_head_loss(self): return min(max_sum_dh_pipes, max_dh_network_options) def __state_vector_scaled(self, variable, ensemble_member): - """ - This functions returns the casadi symbols scaled with their nominal for the entire time - horizon. - """ - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) + return self._BaseProblemMixin__state_vector_scaled(variable, ensemble_member) def __pipe_topology_constraints(self, ensemble_member): """ diff --git a/src/mesido/base_problem_mixin.py b/src/mesido/base_problem_mixin.py index e0b816dd2..46c543c0a 100644 --- a/src/mesido/base_problem_mixin.py +++ b/src/mesido/base_problem_mixin.py @@ -26,3 +26,13 @@ def compiler_options(self): options = super().compiler_options() options["resolve_parameter_values"] = True return options + + def __state_vector_scaled(self, variable: str, ensemble_member: int): + """ + This functions returns the casadi symbols scaled with their nominal for the entire time + horizon. + """ + canonical, sign = self.alias_relation.canonical_signed(variable) + return ( + self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign + ) diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 82ab9464a..682c4787e 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -280,14 +280,7 @@ def __get_abs_max_bounds(*bounds): return max_ def __state_vector_scaled(self, variable, ensemble_member): - """ - This functions returns the casadi symbols scaled with their nominal for the entire time - horizon. - """ - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) + return self._BaseProblemMixin__state_vector_scaled(variable, ensemble_member) def __update_electricity_producer_upper_bounds(self): # TODO: When a profile is assigned via esdl, this code below needs to be aligned with diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 09783d792..ccee158a2 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -797,14 +797,7 @@ def __get_abs_max_bounds(*bounds): return max_ def __state_vector_scaled(self, variable, ensemble_member): - """ - This functions returns the casadi symbols scaled with their nominal for the entire time - horizon. - """ - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) + return self._BaseProblemMixin__state_vector_scaled(variable, ensemble_member) def __investment_cost_constraints(self, ensemble_member): """ diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index 7565b3a08..cc3290889 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -523,16 +523,6 @@ def __gas_node_hydraulic_power_mixing_path_constraints(self, ensemble_member): return constraints - def __state_vector_scaled(self, variable, ensemble_member): - """ - This functions returns the casadi symbols scaled with their nominal for the entire time - horizon. - """ - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) - def __flow_direction_path_constraints(self, ensemble_member): """ This function adds constraints to set the direction in pipes and determine whether a pipe diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 43441cfd8..051146d44 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -3083,14 +3083,7 @@ def __constraints_temperature_heat_to_discharge_bypass_secondary( return constraints def __state_vector_scaled(self, variable, ensemble_member): - """ - This functions returns the casadi symbols scaled with their nominal for the entire time - horizon. - """ - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) + return self._BaseProblemMixin__state_vector_scaled(variable, ensemble_member) def _hn_pipe_nominal_discharge(self, energy_system_options, parameters, pipe: str) -> float: """ diff --git a/src/mesido/physics_mixin.py b/src/mesido/physics_mixin.py index 520f47998..abdda0d3b 100644 --- a/src/mesido/physics_mixin.py +++ b/src/mesido/physics_mixin.py @@ -292,11 +292,4 @@ def constraints(self, ensemble_member): return constraints def __state_vector_scaled(self, variable, ensemble_member): - """ - This functions returns the casadi symbols scaled with their nominal for the entire time - horizon. - """ - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) + return self._BaseProblemMixin__state_vector_scaled(variable, ensemble_member) diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 38a8ed0d5..1b46d2a49 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -419,12 +419,6 @@ def constraints(self, ensemble_member): def history(self, ensemble_member): return AliasDict(self.alias_relation) - def __state_vector_scaled(self, variable, ensemble_member): - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) - def solver_options(self): options = super().solver_options() if options["solver"] == "highs": diff --git a/src/mesido/workflows/multicommodity_simulator_workflow.py b/src/mesido/workflows/multicommodity_simulator_workflow.py index a078625da..ad4a44dd0 100644 --- a/src/mesido/workflows/multicommodity_simulator_workflow.py +++ b/src/mesido/workflows/multicommodity_simulator_workflow.py @@ -643,12 +643,6 @@ def priority_completed(self, priority): f"The heating demand is not matched, objective value is {self.objective_value}" ) - def __state_vector_scaled(self, variable, ensemble_member): - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) - # TODO: post will be created later # def post(self): # super().post() diff --git a/src/mesido/workflows/rollout_workflow.py b/src/mesido/workflows/rollout_workflow.py index 83d8c5627..f11c2c64c 100644 --- a/src/mesido/workflows/rollout_workflow.py +++ b/src/mesido/workflows/rollout_workflow.py @@ -689,10 +689,7 @@ def bounds(self): return bounds def __state_vector_scaled(self, variable, ensemble_member): - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) + return self._BaseProblemMixin__state_vector_scaled(variable, ensemble_member) def solver_success(self, solver_stats, log_solver_failure_as_error): success, log_level = super().solver_success(solver_stats, log_solver_failure_as_error) diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index 4b9f3274d..e4a009d9c 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -241,8 +241,12 @@ def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) for ates in self.energy_system_components.get("ates", []): - stored_heat_joules = self.__state_vector_scaled(f"{ates}.Stored_heat", ensemble_member) - heat_ates_watts = self.__state_vector_scaled(f"{ates}.Heat_ates", ensemble_member) + stored_heat_joules = self._BaseProblemMixin__state_vector_scaled( + f"{ates}.Stored_heat", ensemble_member + ) + heat_ates_watts = self._BaseProblemMixin__state_vector_scaled( + f"{ates}.Heat_ates", ensemble_member + ) constraints.append( ( (stored_heat_joules[-1] - stored_heat_joules[0]) @@ -301,12 +305,6 @@ def solver_options(self): return options - def __state_vector_scaled(self, variable, ensemble_member): - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) - # ------------------------------------------------------------------------------------------------- class NetworkSimulatorHIGHS(NetworkSimulator): diff --git a/tests/models/ates_temperature/src/run_ates_temperature.py b/tests/models/ates_temperature/src/run_ates_temperature.py index e28f07be5..ff9bb9232 100644 --- a/tests/models/ates_temperature/src/run_ates_temperature.py +++ b/tests/models/ates_temperature/src/run_ates_temperature.py @@ -203,23 +203,13 @@ def constraints(self, ensemble_member): # stored_volume only to be used if temperature loss ates is also dependent on # stored_volume instead of stored_heat constraints.append((heat_ates[0], 0.0, 0.0)) - ates_temperature_disc = self.__state_vector_scaled( + ates_temperature_disc = self._BaseProblemMixin__state_vector_scaled( f"{a}__temperature_ates_disc", ensemble_member ) constraints.append(((ates_temperature_disc[-1] - ates_temperature_disc[0]), 0.0, 0.0)) return constraints - def __state_vector_scaled(self, variable, ensemble_member): - """ - This functions returns the casadi symbols scaled with their nominal for the entire time - horizon. - """ - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) - def read(self): """ Reads the yearly profile with hourly time steps and adapt to a 5 day averaged profile. diff --git a/tests/models/test_case_small_network_with_ates/src/run_ates.py b/tests/models/test_case_small_network_with_ates/src/run_ates.py index 7b59298e1..aba120440 100644 --- a/tests/models/test_case_small_network_with_ates/src/run_ates.py +++ b/tests/models/test_case_small_network_with_ates/src/run_ates.py @@ -219,7 +219,7 @@ def constraints(self, ensemble_member): # Constraints for investment speed, please note that we need to enforce index 0 to be 0. for s in self.energy_system_components.get("heat_source", []): - inv_made = self.__state_vector_scaled( + inv_made = self._BaseProblemMixin__state_vector_scaled( f"{s}__cumulative_investments_made_in_eur", ensemble_member ) nominal = self.variable_nominal(f"{s}__cumulative_investments_made_in_eur") @@ -237,16 +237,6 @@ def constraints(self, ensemble_member): return constraints - def __state_vector_scaled(self, variable, ensemble_member): - """ - This functions returns the casadi symbols scaled with their nominal for the entire time - horizon. - """ - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) - def times(self, variable=None): """ For the purposes of this test we take only 25 timesteps to speed up the test. diff --git a/tests/models/unit_cases_electricity/battery/src/example.py b/tests/models/unit_cases_electricity/battery/src/example.py index 4e845f80c..931d8af58 100644 --- a/tests/models/unit_cases_electricity/battery/src/example.py +++ b/tests/models/unit_cases_electricity/battery/src/example.py @@ -80,7 +80,9 @@ def constraints(self, ensemble_member): for bat in self.energy_system_components.get("electricity_storage", []): stored_elec = self.state_vector(f"{bat}.Stored_electricity") constraints.append((stored_elec[0], 0.0, 0.0)) - power_in = self.__state_vector_scaled(f"{bat}.Power_discharging", ensemble_member) + power_in = self._BaseProblemMixin__state_vector_scaled( + f"{bat}.Power_discharging", ensemble_member + ) constraints.append((power_in[0], 0.0, 0.0)) return constraints @@ -92,16 +94,6 @@ def solver_options(self): pass - def __state_vector_scaled(self, variable, ensemble_member): - """ - This functions returns the casadi symbols scaled with their nominal for the entire time - horizon. - """ - canonical, sign = self.alias_relation.canonical_signed(variable) - return ( - self.state_vector(canonical, ensemble_member) * self.variable_nominal(canonical) * sign - ) - if __name__ == "__main__": elect = run_optimization_problem( From aa0ae9589780a427985fe2aabf5120f12468887d Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 31 Mar 2026 14:49:03 +0200 Subject: [PATCH 353/376] Integrated heat storage and e-conversion asset (#396) A new asset is created for an integrated heat storage that can be charged using electricity. It is an heatbuffer with an additional electricity port. A new component is added with the name heat_buffer_elec that is a sub-component of heat_buffer. It can only be charged by electricity and discharge to the connected heat network. ChargeEfficiency attribute from esdl is parsed to define the efficiency of conversion of electricty to heat. --------- Co-authored-by: tolga-akan --- CHANGELOG.md | 5 +- src/mesido/esdl/asset_to_component_base.py | 1 + src/mesido/esdl/esdl_heat_model.py | 59 +++++- src/mesido/esdl/esdl_model_base.py | 11 +- .../pycml/component_library/milp/__init__.py | 2 + .../milp/heat/heat_buffer.py | 21 +- .../milp/multicommodity/__init__.py | 2 + .../milp/multicommodity/heat_buffer_elec.py | 58 ++++++ .../input/timeseries_import_ebuffer.csv | 10 + .../model/sourcesink_with_heater_ebuffer.esdl | 182 ++++++++++++++++++ .../src/run_case.py | 86 +++++++++ .../input/timeseries_import.csv | 90 ++++----- tests/test_heat.py | 1 + ...est_multiple_in_and_out_port_components.py | 79 ++++++++ tests/utils_tests.py | 21 +- 15 files changed, 561 insertions(+), 67 deletions(-) create mode 100644 src/mesido/pycml/component_library/milp/multicommodity/heat_buffer_elec.py create mode 100644 tests/models/heat_electricity_components/input/timeseries_import_ebuffer.csv create mode 100644 tests/models/heat_electricity_components/model/sourcesink_with_heater_ebuffer.esdl create mode 100644 tests/models/heat_electricity_components/src/run_case.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 246982e9c..920783864 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Added - Electricity consumption calculation of geothermal assets, using the defined COP. - Geothermal electricity asset that can be connected to the electricity grid. +- Addition of heat buffer asset with electric charging (i.e. HeatBufferElec). ## Changed - Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. @@ -59,9 +60,9 @@ - Clean up of old code and removing duplicates. - Minimize TCO objective in the grow_workflow is now only based on capex and opex that can be influenced. - Removed the requirement of "_ret" for the return network pipes, for ESDLversion 21.10 and later. The relation between supply and return pipes is now based on the "related" attribute in the esdl. -- Addtion of cooling assests (airco and low_temperature_ates) in the grow_workflow for heating and cooling networks +- Addition of cooling assests (airco and low_temperature_ates) in the grow_workflow for heating and cooling networks - Inclusion of airco and low_temperature_ates in write_output -- New data structute for specifying database connection inputs +- New data structure for specifying database connection inputs - Costs of available pipe classes are updated based on the asset measures and templates if they are provided. - The charging and discharging variable for electricity storage is created without a binary variable using the convex hull description. - Gas Boiler asset is renamed as HeatSourceGas diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 532ab7f63..8191a5a25 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -901,6 +901,7 @@ def _get_connected_i_nominal_and_max(self, asset: Asset) -> Tuple[float, float]: or asset.asset_type == "ElectricBoiler" or asset.asset_type == "HeatPump" or asset.asset_type == "GeothermalSource" + or asset.asset_type == "HeatStorage" ): for port in asset.in_ports: if isinstance(port.carrier, esdl.ElectricityCommodity): diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 1af489b50..f63b20af6 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -44,6 +44,7 @@ GeothermalSource, GeothermalSourceElec, HeatBuffer, + HeatBufferElec, HeatDemand, HeatExchanger, HeatPipe, @@ -448,7 +449,25 @@ def _get_asset_max_size_input(self, asset: Asset, max_size_attribute: str) -> fl else: # Catering for backwards compatibility return asset.attributes[max_size_attribute] - def convert_heat_buffer(self, asset: Asset) -> Tuple[Type[HeatBuffer], MODIFIERS]: + def _get_min_voltage(self, asset: Asset) -> float: + """ + Args: + asset: mesido common asset with all attributes + + Returns: + value: minimum voltage of electric carrier in V + """ + min_voltage = None + for port in asset.in_ports: + if isinstance(port.carrier, esdl.ElectricityCommodity): + min_voltage = port.carrier.voltage + if min_voltage is None: + raise RuntimeError(f"{asset.name} has no inport with electricity commodity") + return min_voltage + + def convert_heat_buffer( + self, asset: Asset + ) -> Tuple[Union[Type[HeatBufferElec], Type[HeatBuffer]], MODIFIERS]: """ This function converts the buffer object in esdl to a set of modifiers that can be used in a pycml object. Most important: @@ -553,6 +572,8 @@ def convert_heat_buffer(self, asset: Asset) -> Tuple[Type[HeatBuffer], MODIFIERS ) q_nominal = self._get_connected_q_nominal(asset) + if isinstance(q_nominal, dict): + q_nominal = q_nominal["Q_nominal"] modifiers = dict( height=r, @@ -568,7 +589,31 @@ def convert_heat_buffer(self, asset: Asset) -> Tuple[Type[HeatBuffer], MODIFIERS **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), ) + if len(asset.in_ports) == 2 and len(asset.out_ports) == 1: + min_voltage = self._get_min_voltage(asset) + i_max, i_nom = self._get_connected_i_nominal_and_max(asset) + max_elec_power = hfr_charge_max + charging_efficiency = asset.attributes.get("chargeEfficiency", 1.0) + if charging_efficiency <= 0.0: + logger.error( + f"'chargeEfficiency' attribute is not defined in esdl for {asset.name}." + f" 1.0 is taken as default." + ) + charging_efficiency = 1.0 + + modifiers.update( + dict( + elec_power_nominal=max_elec_power / 2.0, + ElectricityIn=dict( + Power=dict(min=0.0, max=max_elec_power, nominal=max_elec_power / 2.0), + I=dict(min=0.0, max=i_max, nominal=i_nom), + V=dict(min=min_voltage, nominal=min_voltage), + ), + charging_efficiency=charging_efficiency, + ) + ) + return HeatBufferElec, modifiers return HeatBuffer, modifiers def convert_heat_demand(self, asset: Asset) -> Tuple[Type[HeatDemand], MODIFIERS]: @@ -1454,9 +1499,7 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS modifiers["elec_power_nominal"] = max_supply modifiers["cop"] = asset.attributes["COP"] if asset.attributes["COP"] else 0.0 if len(asset.in_ports) == 2: - for port in asset.in_ports: - if isinstance(port.carrier, esdl.ElectricityCommodity): - min_voltage = port.carrier.voltage + min_voltage = self._get_min_voltage(asset) i_max, i_nom = self._get_connected_i_nominal_and_max(asset) modifiers.update( min_voltage=min_voltage, @@ -2755,9 +2798,7 @@ def convert_heat_source_elec( # TODO: CO2 coefficient q_nominal = self._get_connected_q_nominal(asset) - for port in asset.in_ports: - if isinstance(port.carrier, esdl.ElectricityCommodity): - min_voltage = port.carrier.voltage + min_voltage = self._get_min_voltage(asset) i_max, i_nom = self._get_connected_i_nominal_and_max(asset) modifiers.update( @@ -2834,9 +2875,7 @@ def convert_air_water_heat_pump_elec( # TODO: CO2 coefficient q_nominal = self._get_connected_q_nominal(asset) - for port in asset.in_ports: - if isinstance(port.carrier, esdl.ElectricityCommodity): - min_voltage = port.carrier.voltage + min_voltage = self._get_min_voltage(asset) i_max, i_nom = self._get_connected_i_nominal_and_max(asset) cop = asset.attributes["COP"] if asset.attributes["COP"] else 1.0 diff --git a/src/mesido/esdl/esdl_model_base.py b/src/mesido/esdl/esdl_model_base.py index 83a96247e..fb798f1a2 100644 --- a/src/mesido/esdl/esdl_model_base.py +++ b/src/mesido/esdl/esdl_model_base.py @@ -226,8 +226,11 @@ def __set_primary_secondary_heat_ports(): f"Heat out_ports " ) elif ( - asset.asset_type == "ElectricBoiler" - or asset.asset_type == "GeothermalSource" + ( + asset.asset_type == "ElectricBoiler" + or asset.asset_type == "HeatStorage" + or asset.asset_type == "GeothermalSource" + ) and len(asset.out_ports) == 1 and len(asset.in_ports) == 2 ): @@ -241,8 +244,8 @@ def __set_primary_secondary_heat_ports(): port_map[p.id] = getattr(component, out_suf) else: raise Exception( - f"{asset.name} has does not have 1 electricity in_port 1 gas in port " - f"and 1 Heat out_ports " + f"{asset.name} has does not have 1 electricity in_port 1 electric " + f"in port and 1 Heat out_ports " ) elif asset.asset_type == "Electrolyzer": if len(asset.out_ports) == 1 and len(asset.in_ports) == 1: diff --git a/src/mesido/pycml/component_library/milp/__init__.py b/src/mesido/pycml/component_library/milp/__init__.py index 77e4a40c8..c159c29d6 100644 --- a/src/mesido/pycml/component_library/milp/__init__.py +++ b/src/mesido/pycml/component_library/milp/__init__.py @@ -40,6 +40,7 @@ from .multicommodity.elec_heat_source_elec import ElecHeatSourceElec from .multicommodity.electrolyzer import Electrolyzer from .multicommodity.gas_heat_source_gas import GasHeatSourceGas +from .multicommodity.heat_buffer_elec import HeatBufferElec __all__ = [ "Airco", @@ -47,6 +48,7 @@ "AirWaterHeatPumpElec", "ATES", "HeatBuffer", + "HeatBufferElec", "CheckValve", "ColdDemand", "Compressor", diff --git a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py index d9b700876..dd79f10c3 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_buffer.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_buffer.py @@ -8,7 +8,7 @@ @add_variables_documentation_automatically -class HeatBuffer(_StorageComponent): +class _HeatBufferComponent(_StorageComponent): """ The buffer component is to model milp storage in a tank. This means that we model a tank of hot water being filled and radiating milp away (heat loss) over the hot surfaces. We assume that the @@ -94,4 +94,23 @@ def __init__(self, name, **modifiers): (self.Heat_loss - self.Stored_heat * self.heat_loss_coeff) / self._nominal_heat_loss ) + +@add_variables_documentation_automatically +class HeatBuffer(_HeatBufferComponent): + """ + HeatBuffer component represents the operational behavior of conventional heat buffer. + It sets heat_flow equal to heat_buffer. + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + + """ + + def __init__(self, name, **modifiers): + super().__init__(name, **modifiers) + self.add_equation((self.Heat_flow - self.Heat_buffer) / self.Heat_nominal) diff --git a/src/mesido/pycml/component_library/milp/multicommodity/__init__.py b/src/mesido/pycml/component_library/milp/multicommodity/__init__.py index 7dc481a3c..baf5cb4bd 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/__init__.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/__init__.py @@ -2,10 +2,12 @@ from .elec_heat_source_elec import ElecHeatSourceElec from .electrolyzer import Electrolyzer from .gas_heat_source_gas import GasHeatSourceGas +from .heat_buffer_elec import HeatBufferElec __all__ = [ "AirWaterHeatPumpElec", "ElecHeatSourceElec", "Electrolyzer", "GasHeatSourceGas", + "HeatBufferElec", ] diff --git a/src/mesido/pycml/component_library/milp/multicommodity/heat_buffer_elec.py b/src/mesido/pycml/component_library/milp/multicommodity/heat_buffer_elec.py new file mode 100644 index 000000000..c531a7fdf --- /dev/null +++ b/src/mesido/pycml/component_library/milp/multicommodity/heat_buffer_elec.py @@ -0,0 +1,58 @@ +from mesido.pycml import Variable +from mesido.pycml.component_library.milp.electricity.electricity_base import ElectricityPort +from mesido.pycml.component_library.milp.heat.heat_buffer import _HeatBufferComponent +from mesido.pycml.pycml_mixin import add_variables_documentation_automatically + +from numpy import nan + + +@add_variables_documentation_automatically +class HeatBufferElec(_HeatBufferComponent): + """ + The HeatBufferElec component represents a heat buffer that can be charged exclusively + using electricity. This asset cannot be charged by water flow through the inlet/outlet pipes + + Variables created: + {add_variable_names_for_documentation_here} + + Parameters: + name : The name of the asset. \n + modifiers : Dictionary with asset information. + """ + + def __init__(self, name, **modifiers): + super().__init__( + name, + **modifiers, + ) + + self.component_subtype = "heat_buffer_elec" + self.elec_power_nominal = nan + self.charging_efficiency = nan + + self.add_variable(ElectricityPort, "ElectricityIn") + self.add_variable(Variable, "Power_elec", min=0.0, nominal=self.elec_power_nominal) + self.add_variable( + Variable, + "Heat_elec_charging", + min=0.0, + max=2.0 * self.elec_power_nominal, + nominal=self.elec_power_nominal, + ) + # + # Buffer can only discharge into heat network. It cannot be charged by heat network + self.Heat_flow.max = 0.0 + # + self.add_equation(((self.ElectricityIn.Power - self.Power_elec) / self.elec_power_nominal)) + # + self.add_equation( + ( + (self.Power_elec * self.charging_efficiency - self.Heat_elec_charging) + / self.elec_power_nominal + ) + ) + + # Heat flow balance of the buffer + self.add_equation( + (self.Heat_flow + self.Heat_elec_charging - self.Heat_buffer) / self.Heat_nominal + ) diff --git a/tests/models/heat_electricity_components/input/timeseries_import_ebuffer.csv b/tests/models/heat_electricity_components/input/timeseries_import_ebuffer.csv new file mode 100644 index 000000000..0ecdce863 --- /dev/null +++ b/tests/models/heat_electricity_components/input/timeseries_import_ebuffer.csv @@ -0,0 +1,10 @@ +DateTime,demand +19-5-2013 22:00,150000 +19-5-2013 23:00,150000 +20-5-2013 00:00,150000 +20-5-2013 01:00,100000 +20-5-2013 02:00,100000 +20-5-2013 03:00,100000 +20-5-2013 04:00,70000 +20-5-2013 05:00,70000 +20-5-2013 06:00,70000 diff --git a/tests/models/heat_electricity_components/model/sourcesink_with_heater_ebuffer.esdl b/tests/models/heat_electricity_components/model/sourcesink_with_heater_ebuffer.esdl new file mode 100644 index 000000000..b96b007cf --- /dev/null +++ b/tests/models/heat_electricity_components/model/sourcesink_with_heater_ebuffer.esdl @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/heat_electricity_components/src/run_case.py b/tests/models/heat_electricity_components/src/run_case.py new file mode 100644 index 000000000..a77ecee81 --- /dev/null +++ b/tests/models/heat_electricity_components/src/run_case.py @@ -0,0 +1,86 @@ +from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.techno_economic_mixin import TechnoEconomicMixin + +import numpy as np + +from rtctools.optimization.collocated_integrated_optimization_problem import ( + CollocatedIntegratedOptimizationProblem, +) +from rtctools.optimization.goal_programming_mixin import Goal +from rtctools.optimization.linearized_order_goal_programming_mixin import ( + LinearizedOrderGoalProgrammingMixin, +) +from rtctools.optimization.single_pass_goal_programming_mixin import SinglePassGoalProgrammingMixin +from rtctools.util import run_optimization_problem + + +class TargetDemandGoal(Goal): + priority = 1 + + order = 2 + + def __init__(self, state, target): + self.state = state + + self.target_min = target + self.target_max = target + self.function_range = (0.0, 2.0 * max(target.values)) + self.function_nominal = np.median(target.values) + + def function(self, optimization_problem, ensemble_member): + return optimization_problem.state(self.state) + + +class MinimizeSourcesHeatGoal(Goal): + priority = 3 + + order = 1 + + def __init__(self, source): + self.target_max = 0.0 + self.function_range = (0.0, 10e6) + self.source = source + self.function_nominal = 1e6 + + def function(self, optimization_problem, ensemble_member): + return optimization_problem.state(f"{self.source}.Heat_source") + + +class _GoalsAndOptions: + def path_goals(self): + goals = super().path_goals().copy() + + for demand in self.energy_system_components["heat_demand"]: + target = self.get_timeseries(f"{demand}.target_heat_demand") + state = f"{demand}.Heat_demand" + + goals.append(TargetDemandGoal(state, target)) + + for s in self.energy_system_components["heat_source"]: + goals.append(MinimizeSourcesHeatGoal(s)) + + return goals + + +class HeatBufferProblem( + _GoalsAndOptions, + TechnoEconomicMixin, + LinearizedOrderGoalProgrammingMixin, + SinglePassGoalProgrammingMixin, + ESDLMixin, + CollocatedIntegratedOptimizationProblem, +): + pass + + +if __name__ == "__main__": + solution = run_optimization_problem( + HeatBufferProblem, + esdl_file_name="sourcesink_with_heater_ebuffer.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import_ebuffer.csv", + ) + results = solution.extract_results() diff --git a/tests/models/source_pipe_sink/input/timeseries_import.csv b/tests/models/source_pipe_sink/input/timeseries_import.csv index bc4127ae1..c72e09583 100644 --- a/tests/models/source_pipe_sink/input/timeseries_import.csv +++ b/tests/models/source_pipe_sink/input/timeseries_import.csv @@ -1,46 +1,46 @@ DateTime,demand,elec -2013-05-19 22:00:00,150000.0,10.0 -2013-05-19 23:00:00,150000.0,10.0 -2013-05-20 00:00:00,150000.0,10.0 -2013-05-20 01:00:00,150000.0,10.0 -2013-05-20 02:00:00,150000.0,10.0 -2013-05-20 03:00:00,150000.0,10.0 -2013-05-20 04:00:00,150000.0,10.0 -2013-05-20 05:00:00,150000.0,10.0 -2013-05-20 06:00:00,150000.0,10.0 -2013-05-20 07:00:00,150000.0,10.0 -2013-05-20 08:00:00,150000.0,10.0 -2013-05-20 09:00:00,150000.0,10.0 -2013-05-20 10:00:00,150000.0,10.0 -2013-05-20 11:00:00,150000.0,10.0 -2013-05-20 12:00:00,150000.0,10.0 -2013-05-20 13:00:00,150000.0,10.0 -2013-05-20 14:00:00,100000.0,10.0 -2013-05-20 15:00:00,100000.0,10.0 -2013-05-20 16:00:00,100000.0,10.0 -2013-05-20 17:00:00,100000.0,10.0 -2013-05-20 18:00:00,100000.0,10.0 -2013-05-20 19:00:00,100000.0,10.0 -2013-05-20 20:00:00,100000.0,10.0 -2013-05-20 21:00:00,100000.0,10.0 -2013-05-20 22:00:00,100000.0,10.0 -2013-05-20 23:00:00,100000.0,10.0 -2013-05-21 00:00:00,100000.0,10.0 -2013-05-21 01:00:00,100000.0,10.0 -2013-05-21 02:00:00,100000.0,10.0 -2013-05-21 03:00:00,50000.0,10.0 -2013-05-21 04:00:00,50000.0,10.0 -2013-05-21 05:00:00,50000.0,10.0 -2013-05-21 06:00:00,50000.0,10.0 -2013-05-21 07:00:00,50000.0,10.0 -2013-05-21 08:00:00,50000.0,10.0 -2013-05-21 09:00:00,50000.0,10.0 -2013-05-21 10:00:00,50000.0,10.0 -2013-05-21 11:00:00,50000.0,10.0 -2013-05-21 12:00:00,50000.0,10.0 -2013-05-21 13:00:00,50000.0,10.0 -2013-05-21 14:00:00,50000.0,10.0 -2013-05-21 15:00:00,50000.0,10.0 -2013-05-21 16:00:00,50000.0,10.0 -2013-05-21 17:00:00,50000.0,10.0 -2013-05-21 18:00:00,50000.0,10.0 +19-5-2013 22:00,150000,10 +19-5-2013 23:00,150000,10 +20-5-2013 00:00,150000,10 +20-5-2013 01:00,150000,10 +20-5-2013 02:00,150000,10 +20-5-2013 03:00,150000,10 +20-5-2013 04:00,150000,10 +20-5-2013 05:00,150000,10 +20-5-2013 06:00,150000,10 +20-5-2013 07:00,150000,10 +20-5-2013 08:00,150000,10 +20-5-2013 09:00,150000,10 +20-5-2013 10:00,150000,10 +20-5-2013 11:00,150000,10 +20-5-2013 12:00,150000,10 +20-5-2013 13:00,150000,10 +20-5-2013 14:00,100000,10 +20-5-2013 15:00,100000,10 +20-5-2013 16:00,100000,10 +20-5-2013 17:00,100000,10 +20-5-2013 18:00,100000,10 +20-5-2013 19:00,100000,10 +20-5-2013 20:00,100000,10 +20-5-2013 21:00,100000,10 +20-5-2013 22:00,100000,10 +20-5-2013 23:00,100000,10 +21-5-2013 00:00,100000,10 +21-5-2013 01:00,100000,10 +21-5-2013 02:00,100000,10 +21-5-2013 03:00,50000,10 +21-5-2013 04:00,50000,10 +21-5-2013 05:00,50000,10 +21-5-2013 06:00,50000,10 +21-5-2013 07:00,50000,10 +21-5-2013 08:00,50000,10 +21-5-2013 09:00,50000,10 +21-5-2013 10:00,50000,10 +21-5-2013 11:00,50000,10 +21-5-2013 12:00,50000,10 +21-5-2013 13:00,50000,10 +21-5-2013 14:00,50000,10 +21-5-2013 15:00,50000,10 +21-5-2013 16:00,50000,10 +21-5-2013 17:00,50000,10 +21-5-2013 18:00,50000,10 diff --git a/tests/test_heat.py b/tests/test_heat.py index 39a06f0d6..d21898fcc 100644 --- a/tests/test_heat.py +++ b/tests/test_heat.py @@ -12,6 +12,7 @@ class TestHeat(TestCase): + def test_heat_loss(self): """ This is a test to check whether the network (pipes) are dissipating milp as we expect. diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index f3dc1a13f..b8cb84ad2 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -407,6 +407,85 @@ def energy_system_options(self): ) +class Buffer(TestCase): + def test_elec_heat_buffer_elec(self): + """ + This tests checks the functionality of heat_buffer_elec: buffer that + can be charged only by the electricity energy. Buffer discharges to + heat network. + + Checks: + 1. utils tests + 2. buffer can be charged by electricity + 3. buffer can be discharged to network + 4. the heat flow balance of buffer + 5. buffer charging_efficiency is considered + 6. buffer stored heat calculation is linked to Heat_loss and Heat_buffer + 7. upper bounds of Heat_elec_charging and Heat_flow_discharging + """ + + import models.heat_electricity_components.src.run_case as example + from models.heat_electricity_components.src.run_case import HeatBufferProblem + + base_folder = Path(example.__file__).resolve().parent.parent + + epsilon = 1e-8 + + heat_problem = run_esdl_mesido_optimization( + HeatBufferProblem, + base_folder=base_folder, + esdl_file_name="sourcesink_with_heater_ebuffer.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import_ebuffer.csv", + ) + results = heat_problem.extract_results() + parameters = heat_problem.parameters(0) + + demand_matching_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + + # Check that buffer is charged by electricity + np.testing.assert_array_less(1000.0, sum(results["HeatStorage.Heat_elec_charging"])) + + # Check that buffer discharged heat to the network and is not charged by it. + np.testing.assert_array_less(results["HeatStorage.Heat_flow"], -1000.0) + + # Check the heat flow balance of buffer + np.testing.assert_allclose( + results["HeatStorage.Heat_buffer"], + results["HeatStorage.Heat_flow"] + results["HeatStorage.Heat_elec_charging"], + atol=epsilon, + ) + + # Check that charging_efficiency is considered at heat buffer electricity consumption + np.testing.assert_allclose( + results["HeatStorage.Heat_elec_charging"], + results["HeatStorage.Power_elec"] * parameters["HeatStorage.charging_efficiency"], + atol=epsilon, + ) + + # Check that derivative of stored heat is coming from heat loss and heat_buffer + np.testing.assert_allclose( + results["HeatStorage.Heat_loss"][1:] - results["HeatStorage.Heat_buffer"][1:], + -np.diff(results["HeatStorage.Stored_heat"]) / 3600.0, + atol=epsilon, + ) + + # Check maxChargeRate and maxDischargeRate are parsed and define the upper bounds + # of Heat_elec_charging and Heat_flow_discharging, respectively + esdl_asset = heat_problem.esdl_assets[heat_problem.esdl_asset_name_to_id_map["HeatStorage"]] + np.testing.assert_allclose( + esdl_asset.attributes["maxChargeRate"], + heat_problem.bounds()["HeatStorage.Heat_elec_charging"][1], + ) + np.testing.assert_allclose( + esdl_asset.attributes["maxDischargeRate"], + heat_problem.bounds()["HeatStorage.Heat_flow_discharging"][1], + ) + + if __name__ == "__main__": import time diff --git a/tests/utils_tests.py b/tests/utils_tests.py index d50ba5b64..1da2d4e00 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -204,11 +204,20 @@ def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): atol=atol, ) except KeyError: - np.testing.assert_allclose( - results[f"{d}.Heat_buffer"], - results[f"{d}.HeatIn.Heat"] - results[f"{d}.HeatOut.Heat"], - atol=atol, - ) + if d in solution.energy_system_components.get("heat_buffer_elec", []): + np.testing.assert_allclose( + results[f"{d}.Heat_buffer"], + results[f"{d}.HeatIn.Heat"] + - results[f"{d}.HeatOut.Heat"] + + results[f"{d}.Heat_elec_charging"], + atol=atol, + ) + else: + np.testing.assert_allclose( + results[f"{d}.Heat_buffer"], + results[f"{d}.HeatIn.Heat"] - results[f"{d}.HeatOut.Heat"], + atol=atol, + ) supply_temp, return_temp, dt = _get_component_temperatures(solution, results, d) indices = results[f"{d}.HeatIn.Q"] >= 0 if isinstance(supply_temp, float): @@ -428,6 +437,8 @@ def energy_conservation_test(solution, results, atol=1e-3, atol_total=1e-1): for d in solution.energy_system_components.get("heat_buffer", []): energy_sum -= results[f"{d}.Heat_buffer"] + if d in solution.energy_system_components.get("heat_buffer_elec", []): + energy_sum += results[f"{d}.Heat_elec_charging"] for d in solution.energy_system_components.get("heat_source", []): energy_sum += results[f"{d}.Heat_source"] From d69cdd8b0016e80661a4246297a83951ae2c40dd Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:20:15 +0200 Subject: [PATCH 354/376] Discrete variables (#255) The discrete path variables for assets are moved to pycml object variable creation. Only discrete path variables that are linked to system variables (e.g. temperature) are now created in the Mixins. All non-path discrete variables remain in the Mixins. --- CHANGELOG.md | 1 + examples/pipe_diameter_sizing/src/example.py | 1 + src/mesido/component_type_mixin.py | 3 + src/mesido/electricity_physics_mixin.py | 46 ++----- src/mesido/esdl/asset_to_component_base.py | 1 + src/mesido/esdl/esdl_heat_model.py | 20 ++- src/mesido/esdl/esdl_mixin.py | 10 +- src/mesido/gas_physics_mixin.py | 31 +---- src/mesido/heat_physics_mixin.py | 126 +++++------------- src/mesido/pycml/__init__.py | 2 + .../milp/electricity/electricity_storage.py | 7 +- .../component_library/milp/gas/gas_pipe.py | 4 +- .../milp/gas/gas_tank_storage.py | 9 ++ .../milp/heat/_storage_component.py | 6 +- .../milp/heat/check_valve.py | 3 + .../milp/heat/control_valve.py | 3 + .../milp/heat/heat_exchanger.py | 3 + .../component_library/milp/heat/heat_pipe.py | 7 +- .../component_library/milp/heat/heat_pump.py | 4 +- .../milp/multicommodity/electrolyzer.py | 17 ++- src/mesido/pycml/model_base.py | 9 +- src/mesido/pycml/pycml_mixin.py | 19 ++- src/mesido/workflows/grow_workflow.py | 8 +- .../multicommodity_simulator_workflow.py | 6 +- src/mesido/workflows/rollout_workflow.py | 4 +- .../src/run_ates_temperature.py | 4 +- tests/models/heatpump/src/run_heat_pump.py | 2 +- tests/test_electricity_storage.py | 11 +- tests/test_electrolyzer.py | 26 ++-- tests/test_head_loss.py | 12 +- tests/test_heat.py | 6 +- tests/test_multicommodity.py | 8 +- tests/test_multicommodity_simulator.py | 4 +- ...est_multiple_in_and_out_port_components.py | 10 +- tests/test_pipe_diameter_sizing.py | 5 +- tests/test_temperature_ates_hp.py | 10 +- tests/test_varying_temperature.py | 4 +- tests/test_warmingup_unit_cases.py | 4 +- tests/utils_tests.py | 9 +- 39 files changed, 236 insertions(+), 229 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 920783864..2d5ff84dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ ## Changed - Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. - The method __state_vector_scaled has been moved to BaseProblemMixin, allowing the same method to be used across different problem classes as _BaseProblemMixin__state_vector_scaled. +- The creation of discrete variables for individual assets has been moved to the pycml classes. ## Fixed - xxx diff --git a/examples/pipe_diameter_sizing/src/example.py b/examples/pipe_diameter_sizing/src/example.py index a97b9f965..e546bff38 100644 --- a/examples/pipe_diameter_sizing/src/example.py +++ b/examples/pipe_diameter_sizing/src/example.py @@ -131,6 +131,7 @@ def solver_options(self): self._qpsol = CachingQPSol() options["casadi_solver"] = self._qpsol options["solver"] = "highs" + return options diff --git a/src/mesido/component_type_mixin.py b/src/mesido/component_type_mixin.py index dd967e69d..f73ac9e35 100644 --- a/src/mesido/component_type_mixin.py +++ b/src/mesido/component_type_mixin.py @@ -107,6 +107,9 @@ def pre(self): other_pipe = pipes_map[other_pipe_port] if f"{other_pipe}.Q" not in alias_relation.canonical_variables: alias_relation.add(f"{p}.Q", f"{sign_prefix}{other_pipe}.Q") + if self.has_related_pipe(p): + cold_pipe = self.hot_to_cold_pipe(p) + alias_relation.add(f"{p}.__flow_direct_var", f"{cold_pipe}.__flow_direct_var") node_to_node_logical_link_map = {} diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 682c4787e..919ada860 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -57,16 +57,12 @@ def __init__(self, *args, **kwargs): # Variable for when in time an asset switched on due to meeting a requirement self.__asset_is_switched_on_map = {} - self.__asset_is_switched_on_var = {} - self.__asset_is_switched_on_bounds = {} self.__electricity_producer_upper_bounds = {} self._electricity_cable_topo_cable_class_map = {} # Boolean path-variable for the charging of storage assets - self.__storage_charging_var = {} - self.__storage_charging_bounds = {} self.__storage_charging_map = {} self.__set_point_var = {} @@ -75,11 +71,8 @@ def __init__(self, *args, **kwargs): # Boolean path-variable for the equality constraint of the electrolyzer self.__electrolyzer_is_active_linear_segment_map = {} - self.__electrolyzer_is_active_linear_segment_var = {} - self.__electrolyzer_is_active_linear_segment_bounds = {} - self.__electricity_storage_discharge_var = {} + self.__electricity_storage_discharge_bounds = {} - self.__electricity_storage_discharge_nominals = {} self.__electricity_storage_discharge_map = {} # Map for setting node nominals in case of logical links. @@ -124,10 +117,7 @@ def pre(self): for asset in [ *self.energy_system_components.get("electrolyzer", []), ]: - var_name = f"{asset}__asset_is_switched_on" - self.__asset_is_switched_on_map[asset] = var_name - self.__asset_is_switched_on_var[var_name] = ca.MX.sym(var_name) - self.__asset_is_switched_on_bounds[var_name] = (0.0, 1.0) + self.__asset_is_switched_on_map[asset] = f"{asset}.__asset_is_switched_on" if options["electrolyzer_efficiency"] == ElectrolyzerOption.LINEARIZED_THREE_LINES_EQUALITY: for asset in [ @@ -136,20 +126,15 @@ def pre(self): self.__electrolyzer_is_active_linear_segment_map[asset] = {} n_lines = 3 for n_line in range(n_lines): - var_name = f"{asset}__line_{n_line}_active" - + var_name = f"{asset}.__line_{n_line}_active" self.__electrolyzer_is_active_linear_segment_map[asset][ f"line_{n_line}" ] = var_name - self.__electrolyzer_is_active_linear_segment_var[var_name] = ca.MX.sym(var_name) - self.__electrolyzer_is_active_linear_segment_bounds[var_name] = (0.0, 1.0) if options["electricity_storage_discrete_charge_variables"]: for asset in [*self.energy_system_components.get("electricity_storage", [])]: - var_name = f"{asset}__is_charging" + var_name = f"{asset}.__is_charging" self.__storage_charging_map[asset] = var_name - self.__storage_charging_var[var_name] = ca.MX.sym(var_name) - self.__storage_charging_bounds[var_name] = (0.0, 1.0) for asset in [*self.energy_system_components.get("electricity_source", [])]: if isinstance(self.bounds()[f"{asset}.Electricity_source"][1], Timeseries): @@ -212,11 +197,7 @@ def path_variables(self): """ variables = super().path_variables.copy() - variables.extend(self.__asset_is_switched_on_var.values()) - variables.extend(self.__storage_charging_var.values()) variables.extend(self.__set_point_var.values()) - variables.extend(self.__electrolyzer_is_active_linear_segment_var.values()) - variables.extend(self.__electricity_storage_discharge_var.values()) return variables @@ -225,22 +206,14 @@ def variable_is_discrete(self, variable): All variables that only can take integer values should be added to this function. """ - if variable in self.__electrolyzer_is_active_linear_segment_var: - return True - if variable in self.__asset_is_switched_on_var: - return True - if variable in self.__storage_charging_var: - return True - else: - return super().variable_is_discrete(variable) + return super().variable_is_discrete(variable) def variable_nominal(self, variable): """ In this function we add all the nominals for the variables defined/added in the HeatMixin. """ - if variable in self.__electricity_storage_discharge_nominals: - return self.__electricity_storage_discharge_nominals[variable] - elif variable in self.__bus_variable_nominal: + + if variable in self.__bus_variable_nominal: return self.__bus_variable_nominal[variable] else: return super().variable_nominal(variable) @@ -252,9 +225,6 @@ def bounds(self): """ bounds = super().bounds() - bounds.update(self.__electrolyzer_is_active_linear_segment_bounds) - bounds.update(self.__asset_is_switched_on_bounds) - bounds.update(self.__storage_charging_bounds) bounds.update(self.__electricity_producer_upper_bounds) bounds.update(self.__set_point_bounds) bounds.update(self.__electricity_storage_discharge_bounds) @@ -559,7 +529,7 @@ def __electricity_storage_path_constraints(self, ensemble_member): power_charging_max = self.bounds()[f"{asset}.Power_charging"][1] if options["electricity_storage_discrete_charge_variables"]: - is_charging = self.state(f"{asset}__is_charging") + is_charging = self.state(f"{asset}.__is_charging") constraints.append( ( (power_discharging - (1 - is_charging) * power_discharging_max) / power_nom, diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 8191a5a25..41deafd53 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -352,6 +352,7 @@ class _AssetToComponentBase: "GasDemand": "gas_demand", "GasHeater": "heat_source", "GasStorage": "gas_tank_storage", + "GenericProducer": "heat_source", "GeothermalSource": "heat_source", "HeatExchange": "heat_exchanger", "HeatingDemand": "heat_demand", diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index f63b20af6..7d36b2de8 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -150,6 +150,7 @@ def __init__( cp=4200.0, min_fraction_tank_volume=0.05, v_max_gas=15.0, + energy_system_options=None, **kwargs, ): super().__init__(*args, **kwargs) @@ -160,6 +161,7 @@ def __init__( self.cp = cp self.v_max_gas = v_max_gas self.min_fraction_tank_volume = min_fraction_tank_volume + self.energy_system_options = dict() if not energy_system_options else energy_system_options if "primary_port_name_convention" in kwargs.keys(): self.primary_port_name_convention = kwargs["primary_port_name_convention"] if "secondary_port_name_convention" in kwargs.keys(): @@ -583,6 +585,9 @@ def convert_heat_buffer( Stored_heat=dict(min=min_heat, max=max_heat), Heat_buffer=dict(min=-hfr_discharge_max, max=hfr_charge_max), init_Heat=min_heat, + include_discrete_charge_var=self.energy_system_options.get( + "heat_storage_charging_variables", False + ), **self._generic_modifiers(asset), **self._generic_heat_modifiers(-hfr_discharge_max, hfr_charge_max, q_nominal), **self._supply_return_temperature_modifiers(asset), @@ -1017,7 +1022,11 @@ def convert_heat_pipe(self, asset: Asset) -> Tuple[Type[HeatPipe], MODIFIERS]: modifiers = dict( length=length, diameter=diameter, - disconnectable=self._is_disconnectable_pipe(asset), + disconnectable=( + self._is_disconnectable_pipe(asset) + if not self.energy_system_options.get("all_pipes_disconnectable", False) + else True + ), insulation_thickness=insulation_thicknesses, conductivity_insulation=conductivies_insulation, **self._generic_modifiers(asset), @@ -1615,6 +1624,9 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: max=hfr_charge_max * aggregation_count * 180.0 * 24 * 3600.0, nominal=hfr_charge_max * aggregation_count * 30.0 * 24 * 3600.0, ), + include_discrete_charge_var=self.energy_system_options.get( + "heat_storage_charging_variables", False + ), **self._generic_modifiers(asset), **self._generic_heat_modifiers( -hfr_discharge_max * aggregation_count, @@ -1975,6 +1987,9 @@ def convert_electricity_storage( min_voltage=v_min, max_capacity=max_capacity, Stored_electricity=dict(min=0.0, max=max_capacity), + include_discrete_charge_var=self.energy_system_options.get( + "electricity_storage_discrete_charge_variables", False + ), ElectricityIn=dict( V=dict(min=v_min, nominal=v_min), I=dict(min=-i_max, max=i_max, nominal=i_nom), @@ -2407,6 +2422,8 @@ def equations(x): Q_nominal=q_nominal, density=density, efficiency=eff_max, + include_asset_is_switched_on=self.energy_system_options["include_asset_is_switched_on"], + electrolyzer_efficiency_option=self.energy_system_options["electrolyzer_efficiency"], GasOut=dict( Q=dict( min=0.0, @@ -2472,6 +2489,7 @@ def convert_gas_tank_storage(self, asset: Asset) -> Tuple[Type[GasTankStorage], Q_nominal=q_nominal, density=density, volume=asset.attributes["workingVolume"], + discharge_var=self.energy_system_options.get("gas_storage_discharge_variables", False), # Gas_tank_flow=dict(min=-hydrogen_specific_energy*asset.attributes["maxDischargeRate"], # max=hydrogen_specific_energy*asset.attributes["maxChargeRate"]), # TODO: Fix -> Gas network is currenlty non-limiting, mass flow is decoupled from the diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index be2623dbc..493b0e781 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -203,14 +203,16 @@ def __init__(self, *args, **kwargs) -> None: # Although we work with the names, the FEWS import data uses the component IDs self.__timeseries_id_map = {a.id: a.name for a in assets.values()} name_to_id_map = {a.name: a.id for a in assets.values()} - if isinstance(self, PhysicsMixin): self.__model = ESDLHeatModel( - assets=assets, - name_to_id_map=name_to_id_map, + assets, + name_to_id_map, esdl_version=self._ESDLMixin__energy_system_handler.energy_system.esdlVersion, use_esdl_ranged_constraint=self._ESDLMixin__use_esdl_ranged_constraint, - **self.esdl_heat_model_options(), + **dict( + energy_system_options=self.energy_system_options(), + **self.esdl_heat_model_options(), + ), ) else: assert isinstance(self, QTHMixin) diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index cc3290889..967d592d7 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -1,8 +1,6 @@ import copy import logging -import casadi as ca - from mesido.base_component_type_mixin import BaseComponentTypeMixin from mesido.base_problem_mixin import BaseProblemMixin from mesido.head_loss_class import HeadLossClass, HeadLossOption @@ -116,7 +114,6 @@ def __init__(self, *args, **kwargs): self._gn_pipe_to_head_loss_map = {} # Boolean path-variable for the direction of the flow, inport to outport is positive flow. - self.__gas_flow_direct_var = {} self.__gas_flow_direct_bounds = {} self._gas_pipe_to_flow_direct_map = {} @@ -127,7 +124,6 @@ def __init__(self, *args, **kwargs): # self._gas_pipe_disconnect_map = {} # Boolean variables for the linear line segment options per pipe. - # TDOD: change name to _gas_pipe_... self.__gas_pipe_linear_line_segment_var = {} # value 0/1: line segment - not active/active self.__gas_pipe_linear_line_segment_var_bounds = {} self._gas_pipe_linear_line_segment_map = {} @@ -136,13 +132,9 @@ def __init__(self, *args, **kwargs): self._gas_pipe_topo_pipe_class_map = {} - # self.__gas_pipe_disconnect_var = {} - # self.__gas_pipe_disconnect_var_bounds = {} self._gas_pipe_disconnect_map = {} - self.__gas_storage_discharge_var = {} self.__gas_storage_discharge_bounds = {} - self.__gas_storage_discharge_nominals = {} self.__gas_storage_discharge_map = {} # Map for setting port variable nominals in the case they were not set during the model @@ -231,10 +223,10 @@ def _get_min_bound(bound): ] = initialized_vars[10][pipe_linear_line_segment_var_name] # Integer variables - flow_dir_var = f"{pipe_name}__gas_flow_direct_var" + flow_dir_var = f"{pipe_name}.__gas_flow_direct_var" self._gas_pipe_to_flow_direct_map[pipe_name] = flow_dir_var - self.__gas_flow_direct_var[flow_dir_var] = ca.MX.sym(flow_dir_var) + # self.__gas_flow_direct_var[flow_dir_var] = ca.MX.sym(flow_dir_var) # Fix the directions that are already implied by the bounds on milp # Nonnegative milp implies that flow direction Boolean is equal to one. @@ -263,17 +255,14 @@ def _get_min_bound(bound): if options["gas_storage_discharge_variables"]: for storage in self.energy_system_components.get("gas_tank_storage", []): + # updating bounds bound_storage_q = -self.bounds()[f"{storage}.GasIn.Q"][0] if isinstance(bound_storage_q, Timeseries): bound_storage_q = copy.deepcopy(bound_storage_q) bound_storage_q.values[bound_storage_q.values < 0] = 0.0 - var_name = f"{storage}__Q_discharge" + var_name = f"{storage}.__Q_discharge" self.__gas_storage_discharge_map[storage] = var_name - self.__gas_storage_discharge_var[var_name] = ca.MX.sym(var_name) self.__gas_storage_discharge_bounds[var_name] = (0, bound_storage_q) - self.__gas_storage_discharge_nominals[var_name] = self.variable_nominal( - f"{storage}.GasIn.Q" - ) # Setting the node nominals using the connected assets. for node, connected_assets in self.energy_system_topology.gas_nodes.items(): @@ -343,10 +332,7 @@ def path_variables(self): """ variables = super().path_variables.copy() variables.extend(self.__gas_pipe_head_loss_var.values()) - variables.extend(self.__gas_flow_direct_var.values()) - # variables.extend(self.__gas_pipe_disconnect_var.values()) # still to be implemented variables.extend(self.__gas_pipe_linear_line_segment_var.values()) - variables.extend(self.__gas_storage_discharge_var.values()) return variables @@ -354,10 +340,7 @@ def variable_is_discrete(self, variable): """ All variables that only can take integer values should be added to this function. """ - if ( - variable in self.__gas_flow_direct_var - or variable in self.__gas_pipe_linear_line_segment_var - ): + if variable in self.__gas_pipe_linear_line_segment_var: return True else: return super().variable_is_discrete(variable) @@ -369,8 +352,6 @@ def variable_nominal(self, variable): if variable in self.__gas_pipe_head_loss_nominals: return self.__gas_pipe_head_loss_nominals[variable] - elif variable in self.__gas_storage_discharge_nominals: - return self.__gas_storage_discharge_nominals[variable] elif variable in self.__gas_node_variable_nominal: return self.__gas_node_variable_nominal[variable] else: @@ -599,7 +580,7 @@ def __gas_storage_discharge_path_constraints(self, ensemble_member): if options["gas_storage_discharge_variables"]: for storage in self.energy_system_components.get("gas_tank_storage", []): storage_charge_var = self.state(f"{storage}.GasIn.Q") - storage_discharge_var_name = f"{storage}__Q_discharge" + storage_discharge_var_name = f"{storage}.__Q_discharge" storage_discharge_var = self.state(storage_discharge_var_name) nominal = self.variable_nominal(storage_discharge_var_name) diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 051146d44..84ce1f32e 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -111,7 +111,6 @@ def __init__(self, *args, **kwargs): "pipe_minimum_pressure": -np.inf, "pipe_maximum_pressure": np.inf, "heat_exchanger_bypass": False, - "storage_charging_variables": False, } self._hn_head_loss_class = HeadLossClass(self.heat_network_settings) self.__pipe_head_bounds = {} @@ -122,30 +121,15 @@ def __init__(self, *args, **kwargs): self._hn_pipe_to_head_loss_map = {} # Boolean path-variable for the direction of the flow, inport to outport is positive flow. - self.__heat_flow_direct_var = {} self.__heat_flow_direct_bounds = {} self._heat_pipe_to_flow_direct_map = {} # Boolean path-variable to determine whether flow is going through a pipe. - self.__heat_pipe_disconnect_var = {} - self.__heat_pipe_disconnect_var_bounds = {} self._heat_pipe_disconnect_map = {} - # Boolean path-variable for the status of the check valve - self.__check_valve_status_var = {} - self.__check_valve_status_var_bounds = {} - self.__check_valve_status_map = {} - # Boolean path-variable for the status of the control valve - self.__control_valve_direction_var = {} - self.__control_valve_direction_var_bounds = {} self.__control_valve_direction_map = {} - # Boolean path-variable to disable the hex for certain moments in time - self.__disabled_hex_map = {} - self.__disabled_hex_var = {} - self.__disabled_hex_var_bounds = {} - # To avoid artificial energy generation at t0 self.__buffer_t0_bounds = {} @@ -191,9 +175,6 @@ def __init__(self, *args, **kwargs): self.__ates_max_stored_heat_bounds = {} self.__ates_max_stored_heat_nominals = {} - self.__ates_is_charging_var = {} - self.__ates_is_charging_bounds = {} - # Integer variable whether discrete temperature option has been selected self.__carrier_selected_var = {} self.__carrier_selected_var_bounds = {} @@ -259,7 +240,6 @@ def _get_min_bound(bound): # Set structure used instead of list. Purpose: to make lookup faster when there are many # pipes in the network. - set_self_hot_pipes = set(self.hot_pipes) for pipe_name in self.energy_system_components.get("heat_pipe", []): commodity = self.energy_system_components_commodity.get(pipe_name) @@ -302,14 +282,9 @@ def _get_min_bound(bound): pipe_linear_line_segment_var_name ] = initialized_vars[10][pipe_linear_line_segment_var_name] - neighbour = self.has_related_pipe(pipe_name) - if neighbour and pipe_name not in set_self_hot_pipes: - flow_dir_var = f"{self.cold_to_hot_pipe(pipe_name)}__flow_direct_var" - else: - flow_dir_var = f"{pipe_name}__flow_direct_var" + flow_dir_var = f"{pipe_name}.__flow_direct_var" self._heat_pipe_to_flow_direct_map[pipe_name] = flow_dir_var - self.__heat_flow_direct_var[flow_dir_var] = ca.MX.sym(flow_dir_var) # Fix the directions that are already implied by the bounds on heat # Nonnegative heat implies that flow direction Boolean is equal to one. @@ -328,46 +303,17 @@ def _get_min_bound(bound): heat_out_lb <= 0.0 and heat_out_ub <= 0.0 ): self.__heat_flow_direct_bounds[flow_dir_var] = (0.0, 0.0) - else: - self.__heat_flow_direct_bounds[flow_dir_var] = (0.0, 1.0) if parameters[f"{pipe_name}.disconnectable"]: - neighbour = self.has_related_pipe(pipe_name) - if neighbour and pipe_name not in set_self_hot_pipes: - disconnected_var = f"{self.cold_to_hot_pipe(pipe_name)}__is_disconnected" - else: - disconnected_var = f"{pipe_name}__is_disconnected" - + disconnected_var = f"{pipe_name}.__is_disconnected" self._heat_pipe_disconnect_map[pipe_name] = disconnected_var - self.__heat_pipe_disconnect_var[disconnected_var] = ca.MX.sym(disconnected_var) - self.__heat_pipe_disconnect_var_bounds[disconnected_var] = (0.0, 1.0) if heat_in_ub <= 0.0 and heat_out_lb >= 0.0: raise Exception(f"Heat flow rate in/out of pipe '{pipe_name}' cannot be zero.") - # Integers for disabling the HEX temperature constraints - for hex in [ - *self.energy_system_components.get("heat_exchanger", []), - *self.energy_system_components.get("heat_pump", []), - ]: - disabeld_hex_var = f"{hex}__disabled" - self.__disabled_hex_map[hex] = disabeld_hex_var - self.__disabled_hex_var[disabeld_hex_var] = ca.MX.sym(disabeld_hex_var) - self.__disabled_hex_var_bounds[disabeld_hex_var] = (0, 1.0) - - for v in self.energy_system_components.get("check_valve", []): - status_var = f"{v}__status_var" - - self.__check_valve_status_map[v] = status_var - self.__check_valve_status_var[status_var] = ca.MX.sym(status_var) - self.__check_valve_status_var_bounds[status_var] = (0.0, 1.0) - for v in self.energy_system_components.get("control_valve", []): - flow_dir_var = f"{v}__flow_direct_var" - + flow_dir_var = f"{v}.__flow_direct_var" self.__control_valve_direction_map[v] = flow_dir_var - self.__control_valve_direction_var[flow_dir_var] = ca.MX.sym(flow_dir_var) - self.__control_valve_direction_var_bounds[flow_dir_var] = (0.0, 1.0) for ates, ( (hot_pipe, _hot_pipe_orientation), @@ -435,13 +381,6 @@ def _get_min_bound(bound): self.__ates_max_stored_heat_bounds[ates_max_stored_heat_var_name] = (0, max_heat) self.__ates_max_stored_heat_nominals[ates_max_stored_heat_var_name] = max_heat / 2 - if self.heat_network_settings["storage_charging_variables"]: - ates_is_charging_var_name = f"{ates}__is_charging" - self.__ates_is_charging_var[ates_is_charging_var_name] = ca.MX.sym( - ates_is_charging_var_name - ) - self.__ates_is_charging_bounds[ates_is_charging_var_name] = (0.0, 1.0) - for _carrier, temperatures in self.temperature_carriers().items(): carrier_id_number_mapping = str(temperatures["id_number_mapping"]) temp_var_name = carrier_id_number_mapping + "_temperature" @@ -651,6 +590,7 @@ def energy_system_options(self): options["include_demand_insulation_options"] = False options["include_ates_temperature_options"] = False options["include_ates_yearly_change_option"] = False + options["heat_storage_charging_variables"] = False return options @@ -691,21 +631,15 @@ def path_variables(self): """ variables = super().path_variables.copy() variables.extend(self.__pipe_head_loss_var.values()) - variables.extend(self.__heat_flow_direct_var.values()) - variables.extend(self.__heat_pipe_disconnect_var.values()) - variables.extend(self.__check_valve_status_var.values()) - variables.extend(self.__control_valve_direction_var.values()) variables.extend(self.__demand_insulation_class_var.values()) variables.extend(self.__pipe_linear_line_segment_var.values()) variables.extend(self.__temperature_regime_var.values()) variables.extend(self.__carrier_selected_var.values()) variables.extend(self.__ates_temperature_disc_var.values()) variables.extend(self.__ates_temperature_selected_var.values()) - variables.extend(self.__disabled_hex_var.values()) variables.extend(self.__pipe_heat_loss_path_var.values()) variables.extend(self.__ates_temperature_ordering_var.values()) variables.extend(self.__ates_temperature_disc_ordering_var.values()) - variables.extend(self.__ates_is_charging_var.values()) variables.extend(self.__carrier_temperature_disc_ordering_var.values()) return variables @@ -714,18 +648,12 @@ def variable_is_discrete(self, variable): All variables that only can take integer values should be added to this function. """ if ( - variable in self.__heat_flow_direct_var - or variable in self.__heat_pipe_disconnect_var - or variable in self.__check_valve_status_var - or variable in self.__control_valve_direction_var - or variable in self.__demand_insulation_class_var + variable in self.__demand_insulation_class_var or variable in self.__pipe_linear_line_segment_var or variable in self.__carrier_selected_var or variable in self.__ates_temperature_selected_var - or variable in self.__disabled_hex_var or variable in self.__ates_temperature_ordering_var or variable in self.__ates_temperature_disc_ordering_var - or variable in self.__ates_is_charging_var or variable in self.__carrier_temperature_disc_ordering_var ): return True @@ -754,9 +682,6 @@ def bounds(self): """ bounds = super().bounds() bounds.update(self.__heat_flow_direct_bounds) - bounds.update(self.__heat_pipe_disconnect_var_bounds) - bounds.update(self.__check_valve_status_var_bounds) - bounds.update(self.__control_valve_direction_var_bounds) bounds.update(self.__buffer_t0_bounds) bounds.update(self.__demand_insulation_class_var_bounds) bounds.update(self.__pipe_linear_line_segment_var_bounds) @@ -765,7 +690,6 @@ def bounds(self): bounds.update(self.__carrier_selected_var_bounds) bounds.update(self.__ates_temperature_disc_var_bounds) bounds.update(self.__ates_temperature_selected_var_bounds) - bounds.update(self.__disabled_hex_var_bounds) bounds.update(self.__pipe_head_loss_bounds) bounds.update(self.__pipe_head_loss_zero_bounds) @@ -773,7 +697,6 @@ def bounds(self): bounds.update(self.__ates_temperature_disc_ordering_var_bounds) bounds.update(self.__carrier_temperature_disc_ordering_var_bounds) bounds.update(self.__ates_max_stored_heat_bounds) - bounds.update(self.__ates_is_charging_bounds) for k, v in self.__pipe_head_bounds.items(): bounds[k] = self.merge_bounds(bounds[k], v) @@ -1283,6 +1206,8 @@ def __flow_direction_path_constraints(self, ensemble_member): minimum_velocity = self.heat_network_settings["minimum_velocity"] maximum_velocity = self.heat_network_settings["maximum_velocity"] + set_self_hot_pipes = set(self.hot_pipes) + # Also ensure that the discharge has the same sign as the heat. for p in self.energy_system_components.get("heat_pipe", []): flow_dir_var = self._heat_pipe_to_flow_direct_map[p] @@ -1295,6 +1220,16 @@ def __flow_direction_path_constraints(self, ensemble_member): else: is_disconnected = self.state(is_disconnected_var) + if self.has_related_pipe(p) and p not in set_self_hot_pipes: + hot_pipe = self.cold_to_hot_pipe(p) + + hot_pipe_flow_var = self.state(f"{hot_pipe}.__flow_direct_var") + constraints.append((flow_dir - hot_pipe_flow_var, 0.0, 0.0)) + + if is_disconnected_var is not None: + disconnected_var_hot = self.state(f"{hot_pipe}.__is_disconnected") + constraints.append((is_disconnected - disconnected_var_hot, 0.0, 0.0)) + q_pipe = self.state(f"{p}.Q") heat_in = self.state(f"{p}.HeatIn.Heat") heat_out = self.state(f"{p}.HeatOut.Heat") @@ -1354,7 +1289,7 @@ def __flow_direction_path_constraints(self, ensemble_member): np.inf, ) ) - big_m = 2.0 * np.max( + big_m = np.max( np.abs( ( *self.bounds()[f"{p}.HeatIn.Heat"], @@ -1675,6 +1610,9 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): carrier = parameters[f"{p}.carrier_id"] temperatures = self.temperature_regimes(carrier) + # TODO: flowdir can be 1 or 0 when Q==0.0, so heat needs to be explicitely set to be + # negative or possitive based on flowdir + for heat in [scaled_heat_in, scaled_heat_out]: if self.energy_system_options()["neglect_pipe_heat_losses"]: temp = parameters[f"{p}.temperature"] @@ -1825,8 +1763,8 @@ def __ates_temperature_path_constraints(self, ensemble_member): if ates_asset in self.energy_system_components.get("low_temperature_ates", []): continue - if self.heat_network_settings["storage_charging_variables"]: - is_buffer_charging = self.variable(f"{ates_asset}__is_charging") + if options["heat_storage_charging_variables"]: + is_buffer_charging = self.variable(f"{ates_asset}.__is_charging") else: flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) @@ -2111,8 +2049,8 @@ def __ates_temperature_changing_path_constraints(self, ensemble_member): if options["include_ates_temperature_options"] and len(supply_temperatures) != 0: soil_temperature = parameters[f"{ates}.T_amb"] - if self.heat_network_settings["storage_charging_variables"]: - is_buffer_charging = self.variable(f"{ates}__is_charging") + if options["heat_storage_charging_variables"]: + is_buffer_charging = self.variable(f"{ates}.__is_charging") else: flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) @@ -2336,6 +2274,7 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): constraints = [] parameters = self.parameters(ensemble_member) bounds = self.bounds() + options = self.energy_system_options() for b, ( (hot_pipe, _hot_pipe_orientation), @@ -2371,8 +2310,8 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) if b in self.energy_system_components.get("ates", []): - if self.heat_network_settings["storage_charging_variables"]: - is_buffer_charging = self.variable(f"{b}__is_charging") + if options["heat_storage_charging_variables"]: + is_buffer_charging = self.variable(f"{b}.__is_charging") # TODO: check if below is necessary. # flow_big_m = q_nominal * 10 @@ -2951,7 +2890,7 @@ def __constraints_temperature_heat_to_discharge_bypass_secondary( # Getting var for disabled constraints small_m = 0 # 0W tol = 1e-5 * big_m # W - is_disabled = self.state(self.__disabled_hex_map[heat_exchanger]) + is_disabled = self.state(f"{heat_exchanger}.__disabled") # Constraints to set the disabled integer, note we only set it for the primary # side as the secondary side implicetly follows from the energy balance constraints. @@ -3130,7 +3069,7 @@ def __check_valve_head_discharge_path_constraints(self, ensemble_member): maximum_velocity = self.heat_network_settings["maximum_velocity"] for v in self.energy_system_components.get("check_valve", []): - status_var = self.__check_valve_status_map[v] + status_var = f"{v}.__status_var" status = self.state(status_var) q = self.state(f"{v}.Q") @@ -3550,6 +3489,7 @@ def __storage_hydraulic_power_path_constraints(self, ensemble_member): constraints = [] parameters = self.parameters(ensemble_member) + options = self.energy_system_options() for b, ( (hot_pipe, hot_pipe_orientation), @@ -3564,8 +3504,8 @@ def __storage_hydraulic_power_path_constraints(self, ensemble_member): flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) * hot_pipe_orientation if b in self.energy_system_components.get("ates", []): - if self.heat_network_settings["storage_charging_variables"]: - is_buffer_charging = self.variable(f"{b}__is_charging") + if options["heat_storage_charging_variables"]: + is_buffer_charging = self.variable(f"{b}.__is_charging") big_m = ( 2.0 diff --git a/src/mesido/pycml/__init__.py b/src/mesido/pycml/__init__.py index c1192f04e..dcf60bf83 100644 --- a/src/mesido/pycml/__init__.py +++ b/src/mesido/pycml/__init__.py @@ -3,6 +3,7 @@ Connector, ConstantInput, ControlInput, + DiscreteVariable, FlattenedModel, Model, SymbolicParameter, @@ -14,6 +15,7 @@ "Connector", "ConstantInput", "ControlInput", + "DiscreteVariable", "FlattenedModel", "Model", "SymbolicParameter", diff --git a/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py b/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py index a5aa86533..015ba4f74 100644 --- a/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py +++ b/src/mesido/pycml/component_library/milp/electricity/electricity_storage.py @@ -1,4 +1,4 @@ -from mesido.pycml import Variable +from mesido.pycml import DiscreteVariable, Variable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan @@ -32,6 +32,7 @@ def __init__(self, name, **modifiers): self.min_voltage = nan self.charge_efficiency = 1.0 self.discharge_efficiency = 1.0 + self.include_discrete_charge_var = False self.add_variable(ElectricityPort, "ElectricityIn") @@ -50,6 +51,10 @@ def __init__(self, name, **modifiers): nominal=self.ElectricityIn.Power.nominal, max=self.ElectricityIn.Power.max, ) + + if self.include_discrete_charge_var: + self.add_variable(DiscreteVariable, "__is_charging", min=0.0, max=1.0) + self.add_variable( Variable, "Power_charging", diff --git a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py index c9f4ddece..c487c6374 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py @@ -1,4 +1,4 @@ -from mesido.pycml import Variable +from mesido.pycml import DiscreteVariable, Variable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan, pi @@ -44,6 +44,8 @@ def __init__(self, name, **modifiers): self.add_variable(Variable, "dH") self.add_variable(Variable, "Q", nominal=self.Q_nominal) + self.add_variable(DiscreteVariable, "__gas_flow_direct_var", min=0.0, max=1.0) + # Flow should be preserved self.add_equation(((self.GasIn.Q - self.GasOut.Q) / self.Q_nominal)) self.add_equation(((self.Q - self.GasOut.Q) / self.Q_nominal)) diff --git a/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py b/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py index 7e791bef4..74a8b46ec 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_tank_storage.py @@ -26,6 +26,7 @@ def __init__(self, name, **modifiers): super().__init__(name, **modifiers) self.component_type = "gas_tank_storage" + self.discharge_var = False self.min_head = 30.0 self.density = 2.5e3 # H2 density [g/m3] at 30bar @@ -47,6 +48,14 @@ def __init__(self, name, **modifiers): max=self.density_max_storage * self.volume, nominal=self._nominal_stored_gas, ) + if self.discharge_var: + self.add_variable( + Variable, + "__Q_discharge", + nominal=self.GasIn.Q.nominal, + min=0.0, + max=-self.GasIn.Q.min, + ) self.add_equation( ((self.GasIn.mass_flow - self.Gas_tank_flow) / (self.Q_nominal * self.density)) diff --git a/src/mesido/pycml/component_library/milp/heat/_storage_component.py b/src/mesido/pycml/component_library/milp/heat/_storage_component.py index 443017993..2f816f153 100644 --- a/src/mesido/pycml/component_library/milp/heat/_storage_component.py +++ b/src/mesido/pycml/component_library/milp/heat/_storage_component.py @@ -1,4 +1,4 @@ -from mesido.pycml import Variable +from mesido.pycml import DiscreteVariable, Variable from mesido.pycml.component_library.milp._internal.heat_component import BaseAsset from mesido.pycml.pycml_mixin import add_variables_documentation_automatically @@ -26,6 +26,7 @@ def __init__(self, name, **modifiers): self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop self.pump_efficiency = 0.5 + self.include_discrete_charge_var = False self.Heat_nominal = self.cp * self.rho * self.dT * self.Q_nominal @@ -42,6 +43,9 @@ def __init__(self, name, **modifiers): (self.Heat_flow - (self.HeatIn.Heat - self.HeatOut.Heat)) / self.Heat_nominal ) + if self.include_discrete_charge_var: + self.add_variable(DiscreteVariable, "__is_charging", min=0.0, max=1.0) + self.add_variable( Variable, "Heat_flow_charging", diff --git a/src/mesido/pycml/component_library/milp/heat/check_valve.py b/src/mesido/pycml/component_library/milp/heat/check_valve.py index 3b882fb68..735cddd36 100644 --- a/src/mesido/pycml/component_library/milp/heat/check_valve.py +++ b/src/mesido/pycml/component_library/milp/heat/check_valve.py @@ -1,3 +1,4 @@ +from mesido.pycml import DiscreteVariable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from ._non_storage_component_source_type import _NonStorageComponentSourceType @@ -31,4 +32,6 @@ def __init__(self, name, **modifiers): self.component_type = "check_valve" + self.add_variable(DiscreteVariable, "__status_var", min=0.0, max=1.0) + self.add_equation((self.HeatIn.Heat - self.HeatOut.Heat) / self.Heat_nominal) diff --git a/src/mesido/pycml/component_library/milp/heat/control_valve.py b/src/mesido/pycml/component_library/milp/heat/control_valve.py index 138166a4b..a336a1cba 100644 --- a/src/mesido/pycml/component_library/milp/heat/control_valve.py +++ b/src/mesido/pycml/component_library/milp/heat/control_valve.py @@ -1,3 +1,4 @@ +from mesido.pycml import DiscreteVariable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from ._non_storage_component import _NonStorageComponent @@ -23,6 +24,8 @@ def __init__(self, name, **modifiers): self.component_type = "control_valve" + self.add_variable(DiscreteVariable, "__flow_direct_var", min=0.0, max=1.0) + self.add_equation( (self.HeatOut.Hydraulic_power - self.HeatIn.Hydraulic_power) / (self.Q_nominal * self.nominal_pressure) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py index 0c63afed2..33b7cdd02 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_exchanger.py @@ -1,3 +1,4 @@ +from mesido.pycml import DiscreteVariable from mesido.pycml.component_library.milp._internal import BaseAsset from mesido.pycml.component_library.milp.heat.heat_four_port import HeatFourPort from mesido.pycml.pycml_mixin import add_variables_documentation_automatically @@ -46,6 +47,8 @@ def __init__(self, name, **modifiers): self.minimum_pressure_drop = 1.0e5 # 1 bar of pressure drop self.pump_efficiency = 0.5 + self.add_variable(DiscreteVariable, "__disabled", min=0.0, max=1.0) + self.add_equation( ((self.Primary_heat * self.efficiency - self.Secondary_heat) / self.nominal) ) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_pipe.py b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py index ff4f814db..2d436a1c9 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_pipe.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py @@ -1,4 +1,4 @@ -from mesido.pycml import Variable +from mesido.pycml import DiscreteVariable, Variable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from numpy import nan, pi @@ -59,6 +59,11 @@ def __init__(self, name, **modifiers): self.Heat_loss = nan + self.add_variable(DiscreteVariable, "__flow_direct_var", min=0.0, max=1.0) + + if self.disconnectable: + self.add_variable(DiscreteVariable, "__is_disconnected", min=0.0, max=1.0) + # rho * ff * length * area / 2 / diameter * velocity**3 ff = 0.02 # Order of magnitude expected with 0.05-2.5m/s in 20mm-1200mm diameter pipe velo = self.Q_nominal / self.area diff --git a/src/mesido/pycml/component_library/milp/heat/heat_pump.py b/src/mesido/pycml/component_library/milp/heat/heat_pump.py index 1743842ca..1da93eff5 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_pump.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pump.py @@ -1,4 +1,4 @@ -from mesido.pycml import Variable +from mesido.pycml import DiscreteVariable, Variable from mesido.pycml.component_library.milp._internal import BaseAsset from mesido.pycml.component_library.milp.heat.heat_four_port import HeatFourPort from mesido.pycml.pycml_mixin import add_variables_documentation_automatically @@ -46,6 +46,8 @@ def __init__(self, name, **modifiers): self.add_variable(Variable, "Power_elec", min=0.0) + self.add_variable(DiscreteVariable, "__disabled", min=0.0, max=1.0) + self.add_equation( ((self.Primary_heat + self.Power_elec - self.Secondary_heat) / self.nominal) ) diff --git a/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py index 08eade878..4507aea12 100644 --- a/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py +++ b/src/mesido/pycml/component_library/milp/multicommodity/electrolyzer.py @@ -1,4 +1,5 @@ -from mesido.pycml import Variable +from mesido.electricity_physics_mixin import ElectrolyzerOption +from mesido.pycml import DiscreteVariable, Variable from mesido.pycml.component_library.milp._internal import BaseAsset from mesido.pycml.component_library.milp._internal.electricity_component import ( ElectricityComponent, @@ -42,6 +43,11 @@ def __init__(self, name, **modifiers): self.b_eff_coefficient = nan self.c_eff_coefficient = nan + self.include_asset_is_switched_on = False + self.electrolyzer_efficiency_option = ( + ElectrolyzerOption.LINEARIZED_THREE_LINES_WEAK_INEQUALITY + ) + self.minimum_load = nan self.density = 2.5 # H2 density [kg/m3] at 30bar @@ -67,3 +73,12 @@ def __init__(self, name, **modifiers): self.add_equation( (self.GasOut.mass_flow - self.Gas_mass_flow_out) / self.nominal_gass_mass_out ) + + if self.include_asset_is_switched_on: + self.add_variable(DiscreteVariable, "__asset_is_switched_on", min=0.0, max=1.0) + if ( + self.electrolyzer_efficiency_option + == ElectrolyzerOption.LINEARIZED_THREE_LINES_EQUALITY + ): + for n in range(3): + self.add_variable(DiscreteVariable, f"__line_{n}_active", min=0.0, max=1.0) diff --git a/src/mesido/pycml/model_base.py b/src/mesido/pycml/model_base.py index 4347022d1..23770ce23 100644 --- a/src/mesido/pycml/model_base.py +++ b/src/mesido/pycml/model_base.py @@ -107,6 +107,13 @@ def has_derivative(self): return hasattr(self, "_derivative") +class DiscreteVariable(BaseVariable): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.discrete = True + self.python_type = int + + class ControlInput(BaseVariable): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -200,7 +207,7 @@ def add_variable(self, type_, var_name, *dimensions, **kwargs): else: var = self._variables[var_name] = type_(f"{self.__prefix}{var_name}", **kwargs) - if isinstance(var, (Variable, ControlInput, ConstantInput)) and ( + if isinstance(var, (DiscreteVariable, Variable, ControlInput, ConstantInput)) and ( isinstance(var.value, (ca.MX, BaseVariable)) or not np.isnan(var.value) ): # For states and algebraic states, we move the "value" part to an equation diff --git a/src/mesido/pycml/pycml_mixin.py b/src/mesido/pycml/pycml_mixin.py index ea2766ea0..ba73fb41d 100644 --- a/src/mesido/pycml/pycml_mixin.py +++ b/src/mesido/pycml/pycml_mixin.py @@ -98,9 +98,24 @@ def get_names_for_class(current_class_: Type) -> List[str]: dynamic_names_of_port = DYNAMIC_NAME_CACHE[port_class_name] for dynamic_name_of_port in dynamic_names_of_port: dynamic_names.append(f"{port_name}.{dynamic_name_of_port}") - elif node.args[0].id == "Variable": + elif node.args[0].id == "Variable" or node.args[0].id == "DiscreteVariable": # This is a variable for this component, save its name. - dynamic_names.append(node.args[1].value) + # TODO: later we might want to specify the restrictions on the + # variables, discrete/continuous, min/max, or the if statement + # related to it. + if isinstance(node.args[1], ast.Constant): + dynamic_names.append(node.args[1].value) + elif isinstance(node.args[1], ast.JoinedStr): + str_full = "" + for i in range(len(node.args[1].values)): + str_part = node.args[1].values[i] + if isinstance(str_part, ast.Constant): + str_full += str_part.value + elif isinstance(str_part, ast.FormattedValue): + str_full += f"{{{str_part.value.id}}}" + else: + raise RuntimeError(f"Unknown case:\n{ast.dump(node)}") + dynamic_names.append(str_full) else: raise RuntimeError(f"Unknown case:\n{ast.dump(node)}") else: diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 1b46d2a49..993f7d765 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -812,9 +812,9 @@ def run_end_scenario_sizing( if p not in solution.cold_pipes and parameters[f"{p}.area"] > 0.0: lb = [] ub = [] - bounds_pipe = bounds[f"{p}__flow_direct_var"] + bounds_pipe = bounds[f"{p}.__flow_direct_var"] for i in range(len(t)): - r = results[f"{p}__flow_direct_var"][i] + r = results[f"{p}.__flow_direct_var"][i] # bound to roughly represent 4km of milp losses in pipes lb.append( r @@ -830,9 +830,9 @@ def run_end_scenario_sizing( boolean_bounds[f"{p}__flow_direct_var"] = (Timeseries(t, lb), Timeseries(t, ub)) if not producer_input_timeseries: try: - r = results[f"{p}__is_disconnected"] + r = results[f"{p}.__is_disconnected"] r_low = np.zeros(len(r)) - boolean_bounds[f"{p}__is_disconnected"] = ( + boolean_bounds[f"{p}.__is_disconnected"] = ( Timeseries(t, r_low), Timeseries(t, r), ) diff --git a/src/mesido/workflows/multicommodity_simulator_workflow.py b/src/mesido/workflows/multicommodity_simulator_workflow.py index ad4a44dd0..9a7f94c6f 100644 --- a/src/mesido/workflows/multicommodity_simulator_workflow.py +++ b/src/mesido/workflows/multicommodity_simulator_workflow.py @@ -5,8 +5,7 @@ import esdl -from mesido.esdl.esdl_mixin import DBAccessType -from mesido.esdl.esdl_mixin import ESDLMixin +from mesido.esdl.esdl_mixin import DBAccessType, ESDLMixin from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.head_loss_class import HeadLossOption @@ -300,7 +299,7 @@ def __create_asset_list_controls(self, asset_types_to_include, assets_without_co "electricity_source": "Electricity_source", "gas_demand": "Gas_demand_mass_flow", "gas_source": "Gas_source_mass_flow", - "gas_tank_storage": {"charge": "Gas_tank_flow", "discharge": "__Q_discharge"}, + "gas_tank_storage": {"charge": "Gas_tank_flow", "discharge": ".__Q_discharge"}, "electricity_storage": { "charge": "Power_charging", "discharge": ".Power_discharging", @@ -522,6 +521,7 @@ def energy_system_options(self): options["estimated_velocity"] = 7.5 options["gas_storage_discharge_variables"] = True + options["electricity_storage_discharge_variables"] = True return options diff --git a/src/mesido/workflows/rollout_workflow.py b/src/mesido/workflows/rollout_workflow.py index f11c2c64c..bab4bc6f3 100644 --- a/src/mesido/workflows/rollout_workflow.py +++ b/src/mesido/workflows/rollout_workflow.py @@ -263,7 +263,9 @@ def energy_system_options(self): options["include_ates_yearly_change_option"] = True options["yearly_investments"] = True options["min_fraction_tank_volume"] = 0.0 - options["storage_charging_variables"] = False + options["heat_storage_charging_variables"] = False + options["all_pipes_disconnectable"] = True # by default pipes are not disconnectable if + # they connect to producers or consumers. return options diff --git a/tests/models/ates_temperature/src/run_ates_temperature.py b/tests/models/ates_temperature/src/run_ates_temperature.py index ff9bb9232..4b23420d8 100644 --- a/tests/models/ates_temperature/src/run_ates_temperature.py +++ b/tests/models/ates_temperature/src/run_ates_temperature.py @@ -154,7 +154,7 @@ def energy_system_options(self): self.heat_network_settings["head_loss_option"] = HeadLossOption.NO_HEADLOSS options["neglect_pipe_heat_losses"] = True options["include_ates_temperature_options"] = True - self.heat_network_settings["storage_charging_variables"] = True + options["heat_storage_charging_variables"] = True return options def temperature_carriers(self): @@ -182,7 +182,7 @@ def path_constraints(self, ensemble_member): *self.energy_system_components.get("heat_pump"), *self.energy_system_components.get("heat_exchanger"), ]: - disabled_var = self.state(f"{asset}__disabled") + disabled_var = self.state(f"{asset}.__disabled") sum_disabled_vars += disabled_var constraints.append((sum_disabled_vars, 1.0, 2.0)) diff --git a/tests/models/heatpump/src/run_heat_pump.py b/tests/models/heatpump/src/run_heat_pump.py index f32243ce5..f4334c7e3 100644 --- a/tests/models/heatpump/src/run_heat_pump.py +++ b/tests/models/heatpump/src/run_heat_pump.py @@ -124,7 +124,7 @@ def solver_options(self): options = super().solver_options() options["solver"] = "highs" highs_options = options["highs"] = {} - highs_options["mip_rel_gap"] = 0.001 + highs_options["mip_rel_gap"] = 0.0001 return options def temperature_carriers(self): diff --git a/tests/test_electricity_storage.py b/tests/test_electricity_storage.py index ecbea0684..e5f219bb3 100644 --- a/tests/test_electricity_storage.py +++ b/tests/test_electricity_storage.py @@ -70,7 +70,9 @@ def energy_system_options(self): storage_name = solution.energy_system_components.get("electricity_storage")[0] charge_eff = parameters[f"{storage_name}.charge_efficiency"] discharge_eff = parameters[f"{storage_name}.discharge_efficiency"] + eff_power_change_bat = results[f"{storage_name}.Effective_power_charging"] + power_bat_network = results[f"{storage_name}.ElectricityIn.Power"] power_discharging = results[f"{storage_name}.Power_discharging"] power_charging = results[f"{storage_name}.Power_charging"] @@ -86,18 +88,21 @@ def energy_system_options(self): np.testing.assert_allclose(power_charging[1:], power_charging_disc[1:], atol=tol) for sol in [solution, solution_disc]: - count_discrete_path, count_discrete_var = 0.0, 0.0 + count_discrete_path, count_discrete_var, count_discrete_state = 0.0, 0.0, 0.0 for var in sol.path_variables: if sol.variable_is_discrete(var.name()): count_discrete_path += 1 for var in sol.extra_variables: if sol.variable_is_discrete(var.name()): count_discrete_var += 1 + for var in sol.algebraic_states: + if sol.variable_is_discrete(var): + count_discrete_state += 1 np.testing.assert_allclose(count_discrete_var, 7.0) if sol == solution: - np.testing.assert_allclose(0.0, count_discrete_path, atol=tol) + np.testing.assert_allclose(0.0, count_discrete_state, atol=tol) else: - np.testing.assert_allclose(1.0, count_discrete_path, atol=tol) + np.testing.assert_allclose(1.0, count_discrete_state, atol=tol) is_charging = np.asarray([float(i > 0) for i in power_charging]) # if battery is charging (1), ElectricityIn.Power and effective_power charging should be diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index 5e9272ed5..a00d6e9b1 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -290,7 +290,7 @@ def solver_options(self): ) # Check that the electrolyzer is switched off np.testing.assert_allclose( - results["Electrolyzer_fc66__asset_is_switched_on"][-1], + results["Electrolyzer_fc66.__asset_is_switched_on"][-1], 0, ) # Check that the input power is greater than 0 @@ -305,7 +305,7 @@ def solver_options(self): ) # Check that the electrolyzer is switched off np.testing.assert_allclose( - results["Electrolyzer_fc66__asset_is_switched_on"][:-1], + results["Electrolyzer_fc66.__asset_is_switched_on"][:-1], np.ones(2), ) # Check electrolyzer input power @@ -404,13 +404,13 @@ def test_electrolyzer_equality_constraint(self): results = solution.extract_results() # Check that there is only one activated line per timestep - for timestep in range(len(results["Electrolyzer_fc66__line_0_active"])): + for timestep in range(len(results["Electrolyzer_fc66.__line_0_active"])): np.testing.assert_allclose( ( - results["Electrolyzer_fc66__line_0_active"][timestep] - + results["Electrolyzer_fc66__line_1_active"][timestep] - + results["Electrolyzer_fc66__line_2_active"][timestep] - + (1 - results["Electrolyzer_fc66__asset_is_switched_on"][timestep]) + results["Electrolyzer_fc66.__line_0_active"][timestep] + + results["Electrolyzer_fc66.__line_1_active"][timestep] + + results["Electrolyzer_fc66.__line_2_active"][timestep] + + (1 - results["Electrolyzer_fc66.__asset_is_switched_on"][timestep]) ), 1.0, ) @@ -420,8 +420,8 @@ def test_electrolyzer_equality_constraint(self): for idx in range(3): np.testing.assert_allclose( ( - results[f"Electrolyzer_fc66__line_{idx}_active"][idx] - + (1 - results["Electrolyzer_fc66__asset_is_switched_on"][idx]) + results[f"Electrolyzer_fc66.__line_{idx}_active"][idx] + + (1 - results["Electrolyzer_fc66.__asset_is_switched_on"][idx]) ), 1.0, ) @@ -487,10 +487,10 @@ def test_electrolyzer_equality_constraint_inactive_line(self): # such that no line should be active np.testing.assert_allclose( ( - results["Electrolyzer_fc66__line_0_active"][-1] - + results["Electrolyzer_fc66__line_1_active"][-1] - + results["Electrolyzer_fc66__line_2_active"][-1] - + (1 - results["Electrolyzer_fc66__asset_is_switched_on"][-1]) + results["Electrolyzer_fc66.__line_0_active"][-1] + + results["Electrolyzer_fc66.__line_1_active"][-1] + + results["Electrolyzer_fc66.__line_2_active"][-1] + + (1 - results["Electrolyzer_fc66.__asset_is_switched_on"][-1]) ), 1.0, ) diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 9c27133b1..4ead4d77f 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -399,27 +399,27 @@ def energy_system_options(self): np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_1_neg_discharge"], 0.0, - atol=1e-10, + atol=1e-6, ) np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_2_neg_discharge"], 0.0, - atol=1e-10, + atol=1e-6, ) np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_2_pos_discharge"], 0.0, - atol=1e-10, + atol=1e-6, ) np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_1_pos_discharge"], 1.0, - atol=1e-10, + atol=1e-6, ) np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_2_pos_discharge"], 0.0, - atol=1e-10, + atol=1e-6, ) if pipe not in ["Pipe4", "Pipe4_ret"]: @@ -450,7 +450,7 @@ def energy_system_options(self): results["Pipe4.HeatIn.Q"] / (solution.parameters(0)["Pipe4.diameter"] ** 2 / 4.0 * np.pi), 0.0, - atol=1e-07, + atol=1e-03, ) elif ( solution.heat_network_settings["head_loss_option"] diff --git a/tests/test_heat.py b/tests/test_heat.py index d21898fcc..6160c736b 100644 --- a/tests/test_heat.py +++ b/tests/test_heat.py @@ -326,8 +326,8 @@ def test_disconnected_network_pipe(self): self.assertLess(q_disconnected[1], q_connected[1]) self.assertAlmostEqual(q_disconnected[1], 0.0, 5) - np.testing.assert_allclose(results_connected["Pipe1__is_disconnected"], 0.0) - np.testing.assert_allclose(results_disconnected["Pipe1__is_disconnected"][1], 1.0) + np.testing.assert_allclose(results_connected["Pipe1.__is_disconnected"], 0.0) + np.testing.assert_allclose(results_disconnected["Pipe1.__is_disconnected"][1], 1.0) np.testing.assert_allclose(q_connected[2:], q_disconnected[2:]) @@ -375,7 +375,7 @@ def test_disconnected_pipe_darcy_weisbach(self): # Without any constraints on the maximum or minimum head/pressure # (loss) in the system, we expect equal results. np.testing.assert_allclose(q_linear, q_dw) - np.testing.assert_allclose(results_dw["Pipe1__is_disconnected"][1], 1.0) + np.testing.assert_allclose(results_dw["Pipe1.__is_disconnected"][1], 1.0) if __name__ == "__main__": diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index bbb2013d1..52261eadf 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -196,11 +196,11 @@ def test_heat_pump_elec_min_elec(self): heatpump_power = results["GenericConversion_3d3f.Power_elec"] heatpump_heat_prim = results["GenericConversion_3d3f.Primary_heat"] heatpump_heat_sec = results["GenericConversion_3d3f.Secondary_heat"] - heatpump_disabled = results["GenericConversion_3d3f__disabled"] + heatpump_disabled = results["GenericConversion_3d3f.__disabled"] # heatdemand_sec = results["HeatingDemand_18aa.Heat_demand"] heatdemand_prim = results["HeatingDemand_3322.Heat_demand"] elec_prod_power = results["ElectricityProducer_ac2e.ElectricityOut.Power"] - # pipe_sec_out_hp_disconnected = results["Pipe_408e__is_disconnected"] + # pipe_sec_out_hp_disconnected = results["Pipe_408e.__is_disconnected"] # check that heatpump is not used: np.testing.assert_allclose(heatpump_power, np.zeros(len(heatpump_power)), atol=tol) @@ -299,10 +299,10 @@ def solver_options(self): heatpump_power = results["GenericConversion_3d3f.Power_elec"] heatpump_heat_sec = results["GenericConversion_3d3f.Secondary_heat"] - heatpump_disabled = results["GenericConversion_3d3f__disabled"] + heatpump_disabled = results["GenericConversion_3d3f.__disabled"] heatdemand_sec = results["HeatingDemand_18aa.Heat_demand"] var_opex_hp = results["GenericConversion_3d3f__variable_operational_cost"] - # pipe_sec_out_hp_disconnected = results["Pipe_408e__is_disconnected"] + # pipe_sec_out_hp_disconnected = results["Pipe_408e.__is_disconnected"] # check that heatpump is not used when electricity price is high: price_profile = solution.get_timeseries("Electr.price_profile").values diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py index a1768f044..8a0c5771e 100644 --- a/tests/test_multicommodity_simulator.py +++ b/tests/test_multicommodity_simulator.py @@ -625,8 +625,8 @@ def test_multi_commodity_simulator_sequential_staged(self): if len(key.split("__")) > 1 and key.split("__")[1] == "gas_flow_direct_var": # For the scenario when Q is -0 and 0 then gas_flow_direct_var 0 or 1 for the same # volumetric flow rate of zero. So only check gas_flow_direct_var when Q != zero - zero_staged = results_staged[f"{key.split('__')[0]}.GasIn.Q"] != 0 - zero_unstaged = results_unstaged[f"{key.split('__')[0]}.GasIn.Q"] != 0 + zero_staged = results_staged[f"{key.split('__')[0]}GasIn.Q"] != 0 + zero_unstaged = results_unstaged[f"{key.split('__')[0]}GasIn.Q"] != 0 np.testing.assert_allclose(value[zero_staged], value_staged[zero_unstaged]) else: np.testing.assert_allclose(value, value_staged, atol=1e-4) diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index b8cb84ad2..ca57bf37a 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -82,7 +82,7 @@ def energy_system_options(self): prim_heat = results["HeatExchange_39ed.Primary_heat"] sec_heat = results["HeatExchange_39ed.Secondary_heat"] - disabled = results["HeatExchange_39ed__disabled"] + disabled = results["HeatExchange_39ed.__disabled"] # We check the energy converted betweeen the commodities eff = parameters["HeatExchange_39ed.efficiency"] @@ -170,8 +170,8 @@ def energy_system_options(self): hex_active = "HeatExchange_e410_copy" hex_bypass = "HeatExchange_e410" - np.testing.assert_allclose(results[f"{hex_active}__disabled"][:-1], 0) - np.testing.assert_allclose(results[f"{hex_bypass}__disabled"][:-1], 1) + np.testing.assert_allclose(results[f"{hex_active}.__disabled"][:-1], 0) + np.testing.assert_allclose(results[f"{hex_bypass}.__disabled"][:-1], 1) np.testing.assert_array_less(0.001, results[f"{hex_active}.Primary.Q"][:-1]) np.testing.assert_array_less(0.001, results[f"{hex_bypass}.Primary.Q"][:-1]) @@ -292,8 +292,8 @@ def times(self, variable=None) -> np.ndarray: hex_active = "HeatExchange_e410_copy" hex_bypass = "HeatExchange_e410" - np.testing.assert_allclose(results[f"{hex_active}__disabled"][:-1], 0) - np.testing.assert_allclose(results[f"{hex_bypass}__disabled"][:-1], 1) + np.testing.assert_allclose(results[f"{hex_active}.__disabled"][:-1], 0) + np.testing.assert_allclose(results[f"{hex_bypass}.__disabled"][:-1], 1) np.testing.assert_array_less(0.001, results[f"{hex_active}.Primary.Q"][:-1]) np.testing.assert_array_less(0.001, results[f"{hex_bypass}.Primary.Q"][:-1]) diff --git a/tests/test_pipe_diameter_sizing.py b/tests/test_pipe_diameter_sizing.py index ab841e4ba..c6f78afec 100644 --- a/tests/test_pipe_diameter_sizing.py +++ b/tests/test_pipe_diameter_sizing.py @@ -118,6 +118,7 @@ def test_half_network_gone(self): 2.0e-4, parameters[f"{pipe}.temperature"], ) + c_v = parameters[f"{pipe}.length"] * ff / (2 * 9.81) / pc.inner_diameter dh_max = c_v * pc.maximum_velocity**2 dh_manual = dh_max * results[f"{pipe}.Q"][1:] / pc.area / pc.maximum_velocity @@ -128,7 +129,9 @@ def test_half_network_gone(self): for pipe in diameters.keys(): if pipe in pipes_removed: hydraulic_power_sum += sum(abs(results[f"{pipe}.Hydraulic_power"])) - self.assertEqual(hydraulic_power_sum, 0.0, "Hydraulic power exists for a removed pipe") + np.testing.assert_allclose( + hydraulic_power_sum, 0.0, err_msg="Hydraulic power exists for a removed pipe", atol=1e-9 + ) # Hydraulic power = delta pressure * Q = f(Q^3), where delta pressure = f(Q^2) # The linear approximation of the 3rd order function should overestimate the hydraulic diff --git a/tests/test_temperature_ates_hp.py b/tests/test_temperature_ates_hp.py index 67e1c0782..739c66fd5 100644 --- a/tests/test_temperature_ates_hp.py +++ b/tests/test_temperature_ates_hp.py @@ -61,7 +61,7 @@ def test_ates_temperature(self): energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) - ates_charging = results["ATES_cb47__is_charging"] # =1 if charging + ates_charging = results["ATES_cb47.__is_charging"] # =1 if charging ates_temperature = results["ATES_cb47.Temperature_ates"] ates_temperature_disc = results["ATES_cb47__temperature_ates_disc"] carrier_temperature = results["41770304791669983859190_temperature"] @@ -74,8 +74,8 @@ def test_ates_temperature(self): heat_ates = results["ATES_cb47.Heat_ates"] heat_loss_ates = results["ATES_cb47.Heat_loss"] ates_stored_heat = results["ATES_cb47.Stored_heat"] - hex_disabled = results["HeatExchange_32ba__disabled"] - hp_disabled = results["HeatPump_7f2c__disabled"] + hex_disabled = results["HeatExchange_32ba.__disabled"] + hp_disabled = results["HeatPump_7f2c.__disabled"] # geo_source = results["GeothermalSource_4e5b.Heat_source"] objective = solution.objective_value @@ -97,6 +97,10 @@ def test_ates_temperature(self): np.testing.assert_allclose(objective_calc / 1e4, objective) + np.testing.assert_array_less( + 1, sum(heat_ates < -1e6), err_msg="The ATES is not actively " "used during this test" + ) + np.testing.assert_array_less(ates_temperature_disc - tol, ates_temperature) np.testing.assert_array_less( ates_temperature_disc - tol, diff --git a/tests/test_varying_temperature.py b/tests/test_varying_temperature.py index a00dc464a..b11fcf061 100644 --- a/tests/test_varying_temperature.py +++ b/tests/test_varying_temperature.py @@ -49,6 +49,8 @@ def test_1a_temperature_variation(self): test = TestCase() test.assertTrue(heat_problem.solver_stats["success"], msg="Optimisation did not succeed") # Check that the highest supply temperature is selected + heat_to_discharge_test(heat_problem, results) + demand_matching_test(heat_problem, results) np.testing.assert_allclose(results[f"{3625334968694477359}_temperature"], 85.0) np.testing.assert_allclose(results[f"{3625334968694477359}_85.0"], 1.0) @@ -317,7 +319,7 @@ def test_hex_temperature_variation_disablehex(self): # Check that the problem has an infeasible temperature for the hex np.testing.assert_allclose(results[f"{33638164429859421}_temperature"], 69.0) # Verify that the hex is disabled - np.testing.assert_allclose(results["HeatExchange_39ed__disabled"], 1.0) + np.testing.assert_allclose(results["HeatExchange_39ed.__disabled"], 1.0) np.testing.assert_allclose(results["HeatExchange_39ed.Primary_heat"], 0.0) demand_matching_test(heat_problem, results) diff --git a/tests/test_warmingup_unit_cases.py b/tests/test_warmingup_unit_cases.py index 3a53f1665..e4572efc8 100644 --- a/tests/test_warmingup_unit_cases.py +++ b/tests/test_warmingup_unit_cases.py @@ -156,9 +156,9 @@ def test_3a(self): heat_to_discharge_test(heat_problem, results) # We only check the flow directions for the time-steps that there is flow in the pipe. - inds = np.round(1 - results["Pipe_e53a__is_disconnected"]).astype(bool) + inds = np.round(1 - results["Pipe_e53a.__is_disconnected"]).astype(bool) np.testing.assert_allclose( - np.round(results["Pipe_e53a__flow_direct_var"][inds]) * 2.0 - 1.0, + np.round(results["Pipe_e53a.__flow_direct_var"][inds]) * 2.0 - 1.0, np.sign(results["Pipe_e53a.Q"][inds]), ) diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 1da2d4e00..9b963a070 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -175,7 +175,6 @@ def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): # return_t = solution.parameters(0)[f"{d}.T_return"] supply_t, return_t, dt = _get_component_temperatures(solution, results, d) - # TODO: fix hardcoded atol np.testing.assert_allclose( results[f"{d}.HeatOut.Heat"], results[f"{d}.Q"] * rho * cp * supply_t, @@ -457,13 +456,13 @@ def energy_conservation_test(solution, results, atol=1e-3, atol_total=1e-1): for p in solution.energy_system_components.get("heat_pipe", []): if ( - f"{p}__is_disconnected" in results.keys() - or f"{solution.cold_to_hot_pipe(p)}__is_disconnected" in results.keys() + f"{p}.__is_disconnected" in results.keys() + or f"{solution.cold_to_hot_pipe(p)}.__is_disconnected" in results.keys() ): if p in solution.cold_pipes: - p_discon = results[f"{solution.cold_to_hot_pipe(p)}__is_disconnected"].copy() + p_discon = results[f"{solution.cold_to_hot_pipe(p)}.__is_disconnected"].copy() else: - p_discon = results[f"{p}__is_disconnected"].copy() + p_discon = results[f"{p}.__is_disconnected"].copy() p_discon[p_discon < 0.5] = 0 # fix for discrete value sometimes being 0.003 or so. np.testing.assert_allclose( From 11e95b9e66be3474b5613e9d615dbfaf61bbd642 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 9 Apr 2026 15:39:47 +0200 Subject: [PATCH 355/376] 24 requiring unique esdl asset id instead of name (#437) ESDL asset IDs are now used instead of asset names as identifiers for the asset. Therefore variable names and parameters do now start with the asset id. Asset IDs need to be unique while asset names no longer need to be unique in ESDL. CSVs to load profiles still contain asset names in the headers. --- CHANGELOG.md | 1 + examples/pandapipes/model/Test_Tree_S1C1.esdl | 2 +- examples/pipe_diameter_sizing/src/example.py | 5 +- src/mesido/asset_sizing_mixin.py | 14 +- src/mesido/esdl/esdl_additional_vars_mixin.py | 6 +- src/mesido/esdl/esdl_mixin.py | 33 +-- src/mesido/esdl/esdl_model_base.py | 22 +- src/mesido/esdl/esdl_parser.py | 15 +- src/mesido/esdl/profile_parser.py | 44 ++-- src/mesido/physics_mixin.py | 20 +- src/mesido/workflows/io/write_output.py | 207 +++++++++--------- .../multicommodity_simulator_workflow.py | 22 +- src/mesido/workflows/simulator_workflow.py | 6 +- .../src/run_ates_temperature.py | 5 +- .../input/timeseries.xml | 2 +- .../basic_source_and_demand/model/model.esdl | 2 +- .../src/heat_comparison.py | 3 +- .../src/qth_comparison.py | 8 +- .../src/qth_minimize_temperatures.py | 8 +- tests/models/insulation/src/run_insulation.py | 5 +- .../pipe_test/src/run_hydraulic_power.py | 24 +- .../source_pipe_sink/src/double_pipe_heat.py | 8 +- .../src/double_pipe_heat.py | 8 +- .../case_1a/model/1a_name_duplicate.esdl | 166 ++++++++++++++ tests/models/unit_cases/case_3a/src/run_3a.py | 3 +- .../electrolyzer/src/example.py | 8 +- .../heat_pump_elec/src/run_hp_elec.py | 37 ++-- .../source_sink_cable/src/example.py | 19 +- tests/test_asset_is_realized.py | 40 ++-- tests/test_ates.py | 10 +- tests/test_cable_topology_optimization.py | 6 +- tests/test_cold_demand.py | 54 +++-- tests/test_elec_boiler.py | 44 ++-- tests/test_electric_bus.py | 49 +++-- tests/test_electric_source_sink.py | 113 +++++----- tests/test_electricity_storage.py | 4 +- tests/test_electrolyzer.py | 185 +++++++++------- tests/test_end_scenario_sizing.py | 47 ++-- tests/test_end_scenario_sizing_annualized.py | 20 +- tests/test_esdl_constraints.py | 63 +++--- tests/test_esdl_parsing.py | 65 ++++++ tests/test_gas_boiler.py | 52 +++-- tests/test_gas_electricity.py | 45 ++-- tests/test_gas_multi_demand_source_node.py | 14 +- tests/test_gas_pipe_topology_optimization.py | 21 +- tests/test_gas_source_sink.py | 9 +- tests/test_head_loss.py | 166 ++++++++------ tests/test_heat.py | 51 +++-- tests/test_hydraulic_power.py | 58 ++--- tests/test_insulation.py | 50 +++-- tests/test_logical_links.py | 46 ++-- tests/test_max_size_and_optional_assets.py | 75 ++++--- tests/test_multicommodity.py | 178 +++++++++------ tests/test_multicommodity_simulator.py | 183 ++++++++++------ ...est_multiple_in_and_out_port_components.py | 101 +++++---- tests/test_network_simulator.py | 4 +- tests/test_pipe_diameter_sizing.py | 36 +-- tests/test_producer_profiles.py | 40 ++-- tests/test_profile_parsing.py | 26 ++- tests/test_roll_out.py | 12 +- tests/test_setpoint_constraints.py | 64 +++--- tests/test_temperature_ates_hp.py | 70 +++--- tests/test_updated_esdl_post_process.py | 15 +- tests/test_updated_esdl_pre_process.py | 33 +-- tests/test_validation_pandapipes.py | 15 +- tests/test_varying_temperature.py | 14 +- tests/test_warmingup_unit_cases.py | 10 +- 67 files changed, 1716 insertions(+), 1075 deletions(-) create mode 100644 tests/models/unit_cases/case_1a/model/1a_name_duplicate.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d5ff84dd..2647f9034 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. - The method __state_vector_scaled has been moved to BaseProblemMixin, allowing the same method to be used across different problem classes as _BaseProblemMixin__state_vector_scaled. - The creation of discrete variables for individual assets has been moved to the pycml classes. +- The code base uses asset id's instead of asset names expect for csv inputs where the asset names are still accepted. ## Fixed - xxx diff --git a/examples/pandapipes/model/Test_Tree_S1C1.esdl b/examples/pandapipes/model/Test_Tree_S1C1.esdl index ba3c6a9b6..fc2d4c572 100644 --- a/examples/pandapipes/model/Test_Tree_S1C1.esdl +++ b/examples/pandapipes/model/Test_Tree_S1C1.esdl @@ -14,7 +14,7 @@ - + diff --git a/examples/pipe_diameter_sizing/src/example.py b/examples/pipe_diameter_sizing/src/example.py index e546bff38..ae3e9bea0 100644 --- a/examples/pipe_diameter_sizing/src/example.py +++ b/examples/pipe_diameter_sizing/src/example.py @@ -194,8 +194,9 @@ def temperature_regimes(self, carrier): profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.xml", ) + name_id_map = heat_problem.esdl_asset_name_to_id_map results = heat_problem.extract_results() - print("Q: ", results["Pipe_2927_ret.HeatIn.Q"]) - print("Heat: ", results["Pipe_2927_ret.HeatIn.Heat"]) + print("Q: ", results[f"{name_id_map['Pipe_2927_ret']}.HeatIn.Q"]) + print("Heat: ", results[f"{name_id_map['Pipe_2927_ret']}.HeatIn.Heat"]) print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 5f857eb12..fe226930e 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -803,7 +803,8 @@ def _make_max_size_var(name, lb, ub, nominal): ub = bounds[f"{asset_name}.Heat_source"][1] # Update bound to account for profile constraint being used instead of 1 value - asset = self.esdl_assets[self.esdl_asset_name_to_id_map[asset_name]] + + asset = self.esdl_assets[asset_name] asset_profile_constraints, qty_asset_profile_constraints = get_asset_contraints( self, asset, esdl.ProfileConstraint ) @@ -1884,8 +1885,8 @@ def __producer_constraints( constraints : The function returns a list of profile‑based capacity constraints. """ constraints = [] - if f"{asset.name}.{variable_suffix}" in self.io.get_timeseries_names(): - timeseries = self.get_timeseries(f"{asset.name}.{variable_suffix}") + if f"{asset.id}.{variable_suffix}" in self.io.get_timeseries_names(): + timeseries = self.get_timeseries(f"{asset.id}.{variable_suffix}") if len(self.times()) < len(timeseries.times): idx_start = np.where(timeseries.times == self.times()[0])[0][0] idx_end = np.where(timeseries.times == self.times()[-1])[0][0] @@ -1907,7 +1908,7 @@ def __producer_constraints( == esdl.UnitEnum.WATT ): parameters = self.parameters(ensemble_member) - asset_state = parameters[f"{asset.name}.state"] + asset_state = parameters[f"{asset.id}.state"] if asset_state == AssetStateEnum.ENABLED: # Enabled asset constraints.append( @@ -2042,9 +2043,10 @@ def __max_size_constraints(self, ensemble_member): max_heat = self.extra_variable(max_var, ensemble_member) heat_source = self.__state_vector_scaled(f"{s}.Heat_source", ensemble_member) constraint_nominal = self.variable_nominal(f"{s}.Heat_source") + constraints.extend( self.__producer_constraints( - self.esdl_assets[self.esdl_asset_name_to_id_map[s]], + self.esdl_assets[s], "maximum_heat_source", heat_source, max_heat, @@ -2188,7 +2190,7 @@ def __max_size_constraints(self, ensemble_member): constraint_nominal = self.variable_nominal(f"{d}.Electricity_source") constraints.extend( self.__producer_constraints( - self.esdl_assets[self.esdl_asset_name_to_id_map[d]], + self.esdl_assets[d], "maximum_electricity_source", electricity_source, max_power, diff --git a/src/mesido/esdl/esdl_additional_vars_mixin.py b/src/mesido/esdl/esdl_additional_vars_mixin.py index 290bd174e..df06cc98e 100644 --- a/src/mesido/esdl/esdl_additional_vars_mixin.py +++ b/src/mesido/esdl/esdl_additional_vars_mixin.py @@ -178,7 +178,7 @@ def __limit_list_available_heat_pipe_classes_max_power( *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_pump", []), ]: - esdl_asset = self.esdl_assets[self.esdl_asset_name_to_id_map[asset]] + esdl_asset = self.esdl_assets[asset] for constraint in esdl_asset.attributes.get("constraint", []): if constraint.name == "setpointconstraint": time_unit = constraint.range.profileQuantityAndUnit.perTimeUnit @@ -194,7 +194,7 @@ def __limit_list_available_heat_pipe_classes_max_power( time_hours = 365 * 24 else: logger.error( - f"{asset} has a setpoint constaint specified with unknown" + f"{esdl_asset.name} has a setpoint constraint specified with unknown" f"per time unit" ) @@ -253,7 +253,7 @@ def temperature_regimes(self, carrier): *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_demand", []), ]: - esdl_asset = self.esdl_assets[self.esdl_asset_name_to_id_map[asset]] + esdl_asset = self.esdl_assets[asset] parameters = self.parameters(0) for i in range(len(esdl_asset.attributes["constraint"].items)): constraint = esdl_asset.attributes["constraint"].items[i] diff --git a/src/mesido/esdl/esdl_mixin.py b/src/mesido/esdl/esdl_mixin.py index 493b0e781..2a94f780a 100644 --- a/src/mesido/esdl/esdl_mixin.py +++ b/src/mesido/esdl/esdl_mixin.py @@ -268,9 +268,9 @@ def pre(self) -> None: super().pre() for esdl_id, esdl_asset in self.esdl_assets.items(): if esdl_asset.name in self.name_to_esdl_id_map: - raise RuntimeWarning( + logger.warning( f"Found multiple ESDL assets with name {esdl_asset.name} in the " - f"input ESDL. This is not supported in the optimization." + f"input ESDL, therefore name_to_esdl_id_map cannot be used." ) self.name_to_esdl_id_map[esdl_asset.name] = esdl_id @@ -362,7 +362,7 @@ def __override_pipe_classes_dicts( Overrides the pipe class dictionaries based on the minimum pipe sizes that are required. """ - p = asset.name + p = asset.id if asset.attributes["state"].name == "OPTIONAL": c = override_classes[p] = [] @@ -733,32 +733,35 @@ def hot_cold_pipe_relations(self): ), "Pipes can only have related supply/return pipe" related = True if asset.attributes["port"][0].carrier.supplyTemperature: # hot_pipe - if asset.name not in self.__hot_cold_pipe_relations.keys(): - self.__hot_cold_pipe_relations[asset.name] = related_asset[0].name + if asset.id not in self.__hot_cold_pipe_relations.keys(): + self.__hot_cold_pipe_relations[asset.id] = related_asset[0].id elif asset.attributes["port"][0].carrier.returnTemperature: # cold_pipe - if related_asset[0].name not in self.__hot_cold_pipe_relations.keys(): - self.__hot_cold_pipe_relations[related_asset[0].name] = asset.name - if not related and asset.name not in self.__unrelated_pipes: - self.__unrelated_pipes.append(asset.name) + if related_asset[0].id not in self.__hot_cold_pipe_relations.keys(): + self.__hot_cold_pipe_relations[related_asset[0].id] = asset.id + if not related and asset.id not in self.__unrelated_pipes: + self.__unrelated_pipes.append(asset.id) else: pipes = self.energy_system_components.get("heat_pipe", []) - for pipe in pipes: + for pipe_id in pipes: related = False # test if hot_pipe + pipe = self.esdl_asset_id_to_name_map[pipe_id] if not pipe.endswith("_ret"): cold_pipe = f"{pipe}_ret" - if cold_pipe in pipes: + cold_pipe_id = self.esdl_asset_name_to_id_map[cold_pipe] + if cold_pipe_id in pipes: related = True if pipe not in self.__hot_cold_pipe_relations.keys(): - self.__hot_cold_pipe_relations[pipe] = cold_pipe + self.__hot_cold_pipe_relations[pipe_id] = cold_pipe_id elif pipe.endswith("_ret"): hot_pipe = pipe[:-4] - if hot_pipe in pipes: + hot_pipe_id = self.esdl_asset_name_to_id_map[hot_pipe] + if hot_pipe_id in pipes: related = True if hot_pipe not in self.__hot_cold_pipe_relations.keys(): - self.__hot_cold_pipe_relations[hot_pipe] = pipe + self.__hot_cold_pipe_relations[hot_pipe_id] = pipe_id if not related and pipe not in self.__unrelated_pipes: - self.__unrelated_pipes.append(pipe) + self.__unrelated_pipes.append(pipe_id) @property def hot_to_cold_pipe_map(self) -> Dict: diff --git a/src/mesido/esdl/esdl_model_base.py b/src/mesido/esdl/esdl_model_base.py index fb798f1a2..2ce9556e1 100644 --- a/src/mesido/esdl/esdl_model_base.py +++ b/src/mesido/esdl/esdl_model_base.py @@ -66,7 +66,7 @@ def _esdl_convert( for asset in list(assets_sorted.values()): pycml_type, modifiers = converter.convert(asset) - self.add_variable(pycml_type, asset.name, **modifiers) + self.add_variable(pycml_type, asset.id, **modifiers) in_suf = "HeatIn" out_suf = "HeatOut" @@ -136,7 +136,7 @@ def __set_primary_secondary_heat_ports(): port_map[p.id] = getattr(component.Secondary, out_suf) for asset in non_node_assets: - component = getattr(self, asset.name) + component = getattr(self, asset.id) # We assume that every component has 2 ports. Essentially meaning that we are dealing # with a single commodity for a component. Exceptions, assets that deal with multiple # have to be specifically specified what port configuration is expected in the model. @@ -328,9 +328,8 @@ def __set_pipe_port_connections( type_node_assets: list of node assets of a specific commodity. """ if connected_to.id in list(port_map.keys()) and ( - assets[name_to_id_map[port_map[connected_to.id].name.split(".")[0]]].asset_type - == "Pipe" - or assets[name_to_id_map[port_map[connected_to.id].name.split(".")[0]]].asset_type + assets[port_map[connected_to.id].name.split(".")[0]].asset_type == "Pipe" + or assets[port_map[connected_to.id].name.split(".")[0]].asset_type == "ElectricityCable" ): self.connect(getattr(component, node_suffixes)[i], port_map[connected_to.id]) @@ -353,7 +352,7 @@ def __set_pipe_port_connections( count += 1 self.connect_logical_links( getattr(component, node_suffixes)[i], - getattr(getattr(self, connected_node_asset.name), node_suffixes)[idx], + getattr(getattr(self, connected_node_asset.id), node_suffixes)[idx], ) else: # If the Connected asset is not of type pipe, there might be @@ -364,7 +363,7 @@ def __set_pipe_port_connections( connections.add(conn) for asset in [*node_assets, *bus_assets, *gas_node_assets]: - component = getattr(self, asset.name) + component = getattr(self, asset.id) i = 1 if len(asset.in_ports) != 1 or len(asset.out_ports) != 1: @@ -437,13 +436,8 @@ def __set_pipe_port_connections( if ( asset.asset_type == "Pipe" or asset.asset_type == "ElectricityCable" - or assets[ - name_to_id_map[port_map[connected_to.id].name.split(".")[0]] - ].asset_type - == "Pipe" - or assets[ - name_to_id_map[port_map[connected_to.id].name.split(".")[0]] - ].asset_type + or assets[port_map[connected_to.id].name.split(".")[0]].asset_type == "Pipe" + or assets[port_map[connected_to.id].name.split(".")[0]].asset_type == "ElectricityCable" ): self.connect(port_map[port.id], port_map[connected_to.id]) diff --git a/src/mesido/esdl/esdl_parser.py b/src/mesido/esdl/esdl_parser.py index 338f7bd94..9183862a4 100644 --- a/src/mesido/esdl/esdl_parser.py +++ b/src/mesido/esdl/esdl_parser.py @@ -131,19 +131,18 @@ def read_esdl(self) -> None: if isinstance(el, esdl.Asset): if hasattr(el, "name") and el.name: el_name = el.name + el_id = el.id else: - el_name = el.id + el_name = el_id = el.id - if "." in el_name: + if "." in el_id: # Dots indicate hierarchy, so would be very confusing - raise ValueError(f"Dots in component names not supported: '{el_name}'") + raise ValueError(f"Dots in component id not supported: '{el_id}'") - if el_name in component_names: - raise Exception( - f"Asset names have to be unique: '{el_name}' already exists" - ) + if el_id in component_names: + raise Exception(f"Asset ids have to be unique: '{el_id}' already exists") else: - component_names.add(el_name) + component_names.add(el_id) # For some reason `esdl_element.assetType` is `None`, so use the class name asset_type = el.__class__.__name__ diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 8639e327d..69fd2e37e 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -106,15 +106,11 @@ def read_profiles( "No profiles were provided so no timeframe for the profiles could be deduced" ) - esdl_asset_names_to_ids = dict( - zip(esdl_asset_id_to_name_map.values(), esdl_asset_id_to_name_map.keys()) - ) - for ensemble_member in range(ensemble_size): for component_type, var_name in self.component_type_to_var_name_map.items(): - for component in energy_system_components.get(component_type, []): - profile = self._profiles[ensemble_member].get(component + var_name, None) - asset = esdl_assets[esdl_asset_names_to_ids[component]] + for component_id in energy_system_components.get(component_type, []): + profile = self._profiles[ensemble_member].get(component_id + var_name, None) + asset = esdl_assets[component_id] asset_state = asset.attributes["state"] asset_power = None @@ -144,7 +140,7 @@ def read_profiles( asset_power = asset.attributes["power"] else: logger.warning( - f"Read profiles: asset {component} has a state {asset_state.name} " + f"Read profiles: asset {asset.name} has a state {asset_state.name} " "and currently the code only caters for asset states ENABLED or " "OPTIONAL" ) @@ -156,13 +152,13 @@ def read_profiles( # We don't set a default profile for source targets continue logger.warning( - f"No profile provided for {component=} and " + f"No profile provided for {asset.name} and " f"{ensemble_member=}, using the assets power value instead" ) values = np.array([asset_power] * len(self._reference_datetimes)) io.set_timeseries( - variable=component + var_name, + variable=component_id + var_name, datetimes=self._reference_datetimes, values=values, ensemble_member=ensemble_member, @@ -171,15 +167,15 @@ def read_profiles( if component_type in ["heat_demand", "cold_demand"]: max_profile_value = max(values) if asset_power < max_profile_value and asset_power != 0.0: - asset_id = esdl_asset_names_to_ids[component] + asset_name = esdl_asset_id_to_name_map[component_id] get_potential_errors().add_potential_issue( ( MesidoAssetIssueType.HEAT_DEMAND_POWER if component_type == "heat_demand" else MesidoAssetIssueType.COLD_DEMAND_POWER ), - asset_id, - f"Asset named {component}: The installed capacity of" + component_id, + f"Asset named {asset_name}: The installed capacity of" f" {round(asset_power / 1.0e6, 3)}MW should be larger than the" " maximum of the heat demand profile " f"{round(max_profile_value / 1.0e6, 3)}MW", @@ -187,11 +183,11 @@ def read_profiles( elif component_type in ["heat_source"]: max_profile_value = max(values) if asset_power < max_profile_value: - asset_id = esdl_asset_names_to_ids[component] + asset_name = esdl_asset_id_to_name_map[component_id] get_potential_errors().add_potential_issue( MesidoAssetIssueType.HEAT_PRODUCER_POWER, - asset_id, - f"Asset named {component}: The installed capacity of" + component_id, + f"Asset named {asset_name}: The installed capacity of" f" {round(asset_power / 1.0e6, 3)}MW should be equal or larger than" " the maximum of the heat producer maximum profile constraint" f" {round(max_profile_value / 1.0e6, 3)}MW", @@ -366,12 +362,12 @@ def _load_profiles_from_source( if isinstance(container, esdl.ProfileConstraint): variable_suffix = self.asset_type_to_variable_name_conversion[type(asset)] - var_base_name = asset.name + var_base_name = asset.id if variable_suffix in [ self.asset_type_to_variable_name_conversion[esdl.esdl.GasProducer], ]: logger.error( - f"Profiles for {var_base_name} from esdl has not been tested yet but only" + f"Profiles for {asset.name} from esdl has not been tested yet but only" " for heat sources" ) sys.exit(1) @@ -381,11 +377,11 @@ def _load_profiles_from_source( var_base_name = container.name elif isinstance(container, esdl.Port): asset = container.energyasset - var_base_name = asset.name + var_base_name = asset.id if var_base_name in [ self.asset_type_to_variable_name_conversion[esdl.esdl.GasProducer], ]: - logger.error(f"Profiles for {var_base_name} from esdl has not been tested yet") + logger.error(f"Profiles for {asset.name} from esdl has not been tested yet") sys.exit(1) try: variable_suffix = self.asset_type_to_variable_name_conversion[type(asset)] @@ -672,6 +668,7 @@ def _load_profiles_from_source( elif self._file_path.suffix == ".csv": self._load_csv( energy_system_components=energy_system_components, + esdl_asset_id_to_name_map=esdl_asset_id_to_name_map, carrier_properties=carrier_properties, ensemble_size=ensemble_size, ensemble=ensemble, @@ -684,6 +681,7 @@ def _load_profiles_from_source( def _load_csv( self, energy_system_components: Dict[str, Set[str]], + esdl_asset_id_to_name_map, carrier_properties: Dict[str, Dict], ensemble_size: int, ensemble, @@ -741,8 +739,10 @@ def _load_csv( for component_type, var_name in self.component_type_to_var_name_map.items(): for component_name in energy_system_components.get(component_type, []): try: - column_name = f"{component_name.replace(' ', '')}" + asset_name = esdl_asset_id_to_name_map[component_name] + column_name = f"{asset_name.replace(' ', '')}" values = data_em[column_name].to_numpy() + if np.isnan(values).any(): raise Exception( f"Column name: {column_name}, NaN exists in the profile source" @@ -818,7 +818,7 @@ def variable(self, pi_header): location_id = pi_header.find("pi:locationId", self.ns).text try: - component_name = self.__id_map[location_id] + component_name = location_id except KeyError: parameter_id = pi_header.find("pi:parameterId", self.ns).text qualifiers = pi_header.findall("pi:qualifierId", self.ns) diff --git a/src/mesido/physics_mixin.py b/src/mesido/physics_mixin.py index abdda0d3b..af54d9631 100644 --- a/src/mesido/physics_mixin.py +++ b/src/mesido/physics_mixin.py @@ -132,9 +132,7 @@ def bounds(self): bounds.update(self._change_setpoint_bounds) return bounds - def __setpoint_constraint( - self, ensemble_member, component_name, windowsize_hr, setpointchanges - ): + def __setpoint_constraint(self, ensemble_member, component_id, windowsize_hr, setpointchanges): r"""Constraints that can switch only every n time steps of setpoint. A component can only switch setpoint every hours. Apply the constraint every timestep from after the first time step onwards [from i=1]. @@ -153,16 +151,16 @@ def __setpoint_constraint( """ assert windowsize_hr > 0 assert windowsize_hr % 1 == 0 - assert component_name in sum(self.energy_system_components.values(), []) + assert component_id in sum(self.energy_system_components.values(), []) # Find the component type comp_type = next( iter( [ comptype - for comptype, compnames in self.energy_system_components.items() - for compname in compnames - if compname == component_name + for comptype, comp_ids in self.energy_system_components.items() + for comp_id in comp_ids + if comp_id == component_id ] ) ) @@ -175,8 +173,8 @@ def __setpoint_constraint( for var_name in control_vars: # Retrieve the relevant variable names - variable_name = f"{component_name}{var_name}" - var_name_setpoint = self._component_to_change_setpoint_map[component_name] + variable_name = f"{component_id}{var_name}" + var_name_setpoint = self._component_to_change_setpoint_map[component_id] # Get the timewise symbolic variables of Heat_source sym_var = self.__state_vector_scaled(variable_name, ensemble_member) @@ -284,9 +282,9 @@ def constraints(self, ensemble_member): """ constraints = super().constraints(ensemble_member) - for component_name, params in self._timed_setpoints.items(): + for component_id, params in self._timed_setpoints.items(): constraints.extend( - self.__setpoint_constraint(ensemble_member, component_name, params[0], params[1]) + self.__setpoint_constraint(ensemble_member, component_id, params[0], params[1]) ) return constraints diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 488d39760..d7e88ee05 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -356,102 +356,103 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) logger.error("Variable optimizer_sim has not been set") for _key, asset in self.esdl_assets.items(): - asset_placement_var = self._asset_aggregation_count_var_map[asset.name] + asset_id = asset.id + asset_placement_var = self._asset_aggregation_count_var_map[asset_id] placed = np.round(results[asset_placement_var][0]) >= 1.0 cost_type_prefix = "" if not discounted_annualized_cost: - if np.isnan(parameters[f"{asset.name}.technical_life"]) or np.isclose( - parameters[f"{asset.name}.technical_life"], 0.0 + if np.isnan(parameters[f"{asset_id}.technical_life"]) or np.isclose( + parameters[f"{asset_id}.technical_life"], 0.0 ): capex_factor = 1.0 else: - capex_factor = optim_time_horizon / parameters[f"{asset.name}.technical_life"] + capex_factor = optim_time_horizon / parameters[f"{asset.id}.technical_life"] if capex_factor < 1.0: capex_factor = 1.0 else: cost_type_prefix = "EAC - " - asset_life_years = parameters[f"{asset.name}.technical_life"] - discount_rate = parameters[f"{asset.name}.discount_rate"] / 100.0 + asset_life_years = parameters[f"{asset_id}.technical_life"] + discount_rate = parameters[f"{asset_id}.discount_rate"] / 100.0 capex_factor = calculate_annuity_factor(discount_rate, asset_life_years) if placed: try: asset_timehorizon_capex_breakdown[asset.asset_type] += ( - results[f"{asset.name}__installation_cost"][0] - + results[f"{asset.name}__investment_cost"][0] + results[f"{asset_id}__installation_cost"][0] + + results[f"{asset_id}__investment_cost"][0] ) * capex_factor tot_timehorizon_install_cost_euro += ( - results[f"{asset.name}__installation_cost"][0] + results[f"{asset_id}__installation_cost"][0] ) * capex_factor tot_timehorizon_invest_cost_euro += ( - results[f"{asset.name}__investment_cost"][0] + results[f"{asset_id}__investment_cost"][0] ) * capex_factor if ( - results[f"{asset.name}__variable_operational_cost"][0] > 0.0 - or results[f"{asset.name}__fixed_operational_cost"][0] > 0.0 + results[f"{asset_id}__variable_operational_cost"][0] > 0.0 + or results[f"{asset_id}__fixed_operational_cost"][0] > 0.0 ): asset_opex_breakdown[asset.asset_type] += ( - results[f"{asset.name}__variable_operational_cost"][0] - + results[f"{asset.name}__fixed_operational_cost"][0] + results[f"{asset_id}__variable_operational_cost"][0] + + results[f"{asset_id}__fixed_operational_cost"][0] ) asset_timehorizon_opex_breakdown[asset.asset_type] += ( - results[f"{asset.name}__variable_operational_cost"][0] - + results[f"{asset.name}__fixed_operational_cost"][0] + results[f"{asset_id}__variable_operational_cost"][0] + + results[f"{asset_id}__fixed_operational_cost"][0] ) * optim_time_horizon tot_variable_opex_cost_euro += results[ - f"{asset.name}__variable_operational_cost" - ][0] - tot_fixed_opex_cost_euro += results[ - f"{asset.name}__fixed_operational_cost" + f"{asset_id}__variable_operational_cost" ][0] + tot_fixed_opex_cost_euro += results[f"{asset_id}__fixed_operational_cost"][ + 0 + ] tot_timehorizon_variable_opex_cost_euro += ( - results[f"{asset.name}__variable_operational_cost"][0] + results[f"{asset_id}__variable_operational_cost"][0] * optim_time_horizon ) tot_timehorizon_fixed_opex_cost_euro += ( - results[f"{asset.name}__fixed_operational_cost"][0] * optim_time_horizon + results[f"{asset_id}__fixed_operational_cost"][0] * optim_time_horizon ) except KeyError: try: asset_timehorizon_capex_breakdown[asset.asset_type] = ( - results[f"{asset.name}__installation_cost"][0] - + results[f"{asset.name}__investment_cost"][0] + results[f"{asset_id}__installation_cost"][0] + + results[f"{asset_id}__investment_cost"][0] ) * capex_factor tot_timehorizon_install_cost_euro += ( - results[f"{asset.name}__installation_cost"][0] + results[f"{asset_id}__installation_cost"][0] ) * capex_factor tot_timehorizon_invest_cost_euro += ( - results[f"{asset.name}__investment_cost"][0] + results[f"{asset_id}__investment_cost"][0] ) * capex_factor if ( - results[f"{asset.name}__variable_operational_cost"][0] > 0.0 - or results[f"{asset.name}__fixed_operational_cost"][0] > 0.0 + results[f"{asset_id}__variable_operational_cost"][0] > 0.0 + or results[f"{asset_id}__fixed_operational_cost"][0] > 0.0 ): asset_opex_breakdown[asset.asset_type] = ( - results[f"{asset.name}__variable_operational_cost"][0] - + results[f"{asset.name}__fixed_operational_cost"][0] + results[f"{asset_id}__variable_operational_cost"][0] + + results[f"{asset_id}__fixed_operational_cost"][0] ) asset_timehorizon_opex_breakdown[asset.asset_type] = ( asset_opex_breakdown[asset.asset_type] * optim_time_horizon ) tot_variable_opex_cost_euro += results[ - f"{asset.name}__variable_operational_cost" + f"{asset_id}__variable_operational_cost" ][0] tot_fixed_opex_cost_euro += results[ - f"{asset.name}__fixed_operational_cost" + f"{asset_id}__fixed_operational_cost" ][0] tot_timehorizon_variable_opex_cost_euro += ( - results[f"{asset.name}__variable_operational_cost"][0] + results[f"{asset_id}__variable_operational_cost"][0] * optim_time_horizon ) tot_timehorizon_fixed_opex_cost_euro += ( - results[f"{asset.name}__fixed_operational_cost"][0] + results[f"{asset_id}__fixed_operational_cost"][0] * optim_time_horizon ) @@ -469,8 +470,8 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) or asset.asset_type == "GasHeater" or asset.asset_type == "ElectricBoiler" ): - heat_source_energy_wh[asset.name] = np.sum( - results[f"{asset.name}.Heat_source"][1:] * diff_times / 3600 + heat_source_energy_wh[asset_id] = np.sum( + results[f"{asset_id}.Heat_source"][1:] * diff_times / 3600 ) # TODO: ATES, HEAT pump show Secondary_heat and Primary_heat and tank storage # elif ATES: @@ -478,8 +479,8 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) # summed_discharge = np.abs(np.sum(np.clip(heat_ates, -np.inf, 0.0))) # elif Heat pump # elif asset.asset_type == "HeatStorage": # Heat discharged - # heat_source_energy_wh[asset.name] = np.sum( - # np.clip(results[f"{asset.name}.Heat_buffer"][1:], -np.inf, 0.0) + # heat_source_energy_wh[asset_id] = np.sum( + # np.clip(results[f"{asset_id}.Heat_buffer"][1:], -np.inf, 0.0) # * diff_times # / 3600 # ) @@ -679,45 +680,45 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) # part of the subarea. energy_breakdown = {} for asset in subarea.asset: - asset_name = asset.name - asset_type = self.get_asset_from_asset_name(asset_name).asset_type + asset_id = asset.id + asset_type = self.esdl_assets[asset_id].asset_type - asset_placement_var = self._asset_aggregation_count_var_map[asset.name] + asset_placement_var = self._asset_aggregation_count_var_map[asset_id] placed = np.round(results[asset_placement_var][0]) >= 1.0 if placed: if asset_type == "Joint": continue try: - energy_breakdown[asset_type] += np.sum(results[f"{asset_name}.Heat_source"]) + energy_breakdown[asset_type] += np.sum(results[f"{asset_id}.Heat_source"]) except KeyError: try: energy_breakdown[asset_type] = np.sum( - results[f"{asset_name}.Heat_source"] + results[f"{asset_id}.Heat_source"] ) except KeyError: try: energy_breakdown[asset_type] += np.sum( - results[f"{asset_name}.Secondary_heat"] + results[f"{asset_id}.Secondary_heat"] ) except KeyError: try: energy_breakdown[asset_type] = np.sum( - results[f"{asset_name}.Secondary_heat"] + results[f"{asset_id}.Secondary_heat"] ) except KeyError: pass # Create KPIs by using applicable costs for the specific asset - area_investment_cost += results[self._asset_investment_cost_map[asset_name]][0] - area_installation_cost += results[ - self._asset_installation_cost_map[asset_name] - ][0] + area_investment_cost += results[self._asset_investment_cost_map[asset_id]][0] + area_installation_cost += results[self._asset_installation_cost_map[asset_id]][ + 0 + ] area_variable_opex_cost += results[ - self._asset_variable_operational_cost_map[asset_name] + self._asset_variable_operational_cost_map[asset_id] ][0] area_fixed_opex_cost += results[ - self._asset_fixed_operational_cost_map[asset_name] + self._asset_fixed_operational_cost_map[asset_id] ][0] if discounted_annualized_cost: @@ -727,27 +728,27 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) # Calculate the total energy [Wh] consumed/produced in an are. # Note: milp losses of buffers, ATES' and pipes are included in the area energy # consumption - if asset_name in self.energy_system_components.get("heat_source", []): + if asset_id in self.energy_system_components.get("heat_source", []): try: total_energy_produced_locally_wh[subarea.name] += np.sum( - results[f"{asset_name}.Heat_source"][1:] * diff_times / 3600.0 + results[f"{asset_id}.Heat_source"][1:] * diff_times / 3600.0 ) except KeyError: total_energy_produced_locally_wh[subarea.name] = np.sum( - results[f"{asset_name}.Heat_source"][1:] * diff_times / 3600.0 + results[f"{asset_id}.Heat_source"][1:] * diff_times / 3600.0 ) - if asset_name in self.energy_system_components.get("heat_demand", []): - flow_variable = results[f"{asset_name}.Heat_demand"][1:] - elif asset_name in self.energy_system_components.get("heat_buffer", []): - flow_variable = results[f"{asset_name}.Heat_buffer"][1:] - elif asset_name in [ + if asset_id in self.energy_system_components.get("heat_demand", []): + flow_variable = results[f"{asset_id}.Heat_demand"][1:] + elif asset_id in self.energy_system_components.get("heat_buffer", []): + flow_variable = results[f"{asset_id}.Heat_buffer"][1:] + elif asset_id in [ *self.energy_system_components.get("ates", []), *self.energy_system_components.get("low_temperature_ates", []), ]: - flow_variable = results[f"{asset_name}.Heat_ates"][1:] - elif asset_name in self.energy_system_components.get("heat_pipe", []): + flow_variable = results[f"{asset_id}.Heat_ates"][1:] + elif asset_id in self.energy_system_components.get("heat_pipe", []): flow_variable = ( - np.ones(len(self.times())) * results[f"{asset_name}__hn_heat_loss"] + np.ones(len(self.times())) * results[f"{asset_id}__hn_heat_loss"] ) else: flow_variable = np.array([]) @@ -952,10 +953,8 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) # end KPIs - def _name_to_asset(self, energy_system, name): - return next( - (x for x in energy_system.eAllContents() if hasattr(x, "name") and x.name == name) - ) + def _id_to_asset(self, energy_system, id): + return next((x for x in energy_system.eAllContents() if hasattr(x, "id") and x.id == id)) def _remove_result_profiles( self, @@ -971,7 +970,7 @@ def _remove_result_profiles( *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), ]: - asset = self._name_to_asset(energy_system, asset_name) + asset = self._id_to_asset(energy_system, asset_name) for iport in range(len(asset.port)): if isinstance(asset.port[iport], esdl.OutPort) or isinstance( asset.port[iport], esdl.InPort @@ -1023,8 +1022,9 @@ def _write_updated_esdl( # Placement heat_pipes = set(self.energy_system_components.get("heat_pipe", [])) for _, attributes in self.esdl_assets.items(): - name = attributes.name - if name in [ + asset_id = attributes.id + asset_name = attributes.name + if asset_id in [ *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("ates", []), *self.energy_system_components.get("low_temperature_ates", []), @@ -1033,41 +1033,41 @@ def _write_updated_esdl( *self.energy_system_components.get("airco", []), *self.energy_system_components.get("heat_exchanger", []), ]: - asset = self._name_to_asset(energy_system, name) - asset_placement_var = self._asset_aggregation_count_var_map[name] + asset = self._id_to_asset(energy_system, asset_id) + asset_placement_var = self._asset_aggregation_count_var_map[asset_id] placed = np.round(results[asset_placement_var][0]) >= 1.0 - max_size = results[self._asset_max_size_map[name]][0] + max_size = results[self._asset_max_size_map[asset_id]][0] - if asset.name in [ + if asset_id in [ *self.energy_system_components.get("ates", []), *self.energy_system_components.get("low_temperature_ates", []), ]: - asset.maxChargeRate = results[f"{name}__max_size"][0] - asset.maxDischargeRate = results[f"{name}__max_size"][0] - elif asset.name in self.energy_system_components.get("heat_buffer", []): + asset.maxChargeRate = results[f"{asset_id}__max_size"][0] + asset.maxDischargeRate = results[f"{asset_id}__max_size"][0] + elif asset_id in self.energy_system_components.get("heat_buffer", []): asset.capacity = max_size asset.volume = max_size / ( - parameters[f"{name}.cp"] - * parameters[f"{name}.rho"] - * parameters[f"{name}.dT"] + parameters[f"{asset_id}.cp"] + * parameters[f"{asset_id}.rho"] + * parameters[f"{asset_id}.dT"] ) - elif asset.name in self.energy_system_components.get("heat_exchanger", []): + elif asset_id in self.energy_system_components.get("heat_exchanger", []): asset.capacity = max_size - elif asset.name in [ + elif asset_id in [ *self.energy_system_components.get("heat_pump", []), *self.energy_system_components.get("airco", []), ]: # Note: The heat capacity and not the electrical capacity # TODO: in the future we need to cater for varying COP as well - asset.power = results[f"{name}__max_size"][0] + asset.power = results[f"{asset_id}__max_size"][0] else: asset.power = max_size if not placed: asset.delete(recursive=True) else: asset.state = esdl.AssetStateEnum.ENABLED - elif name not in heat_pipes: # because heat pipes are updated below - logger.warning(f"ESDL update: asset {name} has not been updated") + elif asset_id not in heat_pipes: # because heat pipes are updated below + logger.warning(f"ESDL update: asset {asset_id} has not been updated") # Pipes: edr_pipe_properties_to_copy = ["innerDiameter", "outerDiameter", "diameter", "material"] @@ -1100,7 +1100,7 @@ def _write_updated_esdl( assert isinstance(pipe_class, EDRPipeClass) asset_edr = esh_edr.load_from_string(pipe_class.xml_string) - asset = self._name_to_asset(energy_system, pipe) + asset = self._id_to_asset(energy_system, pipe) asset.state = esdl.AssetStateEnum.ENABLED try: @@ -1116,7 +1116,7 @@ def _write_updated_esdl( for prop in edr_pipe_properties_to_copy: setattr(asset, prop, getattr(asset_edr, prop)) else: - asset = self._name_to_asset(energy_system, pipe) + asset = self._id_to_asset(energy_system, pipe) asset.delete(recursive=True) # ------------------------------------------------------------------------------------------ @@ -1157,7 +1157,7 @@ def _write_updated_esdl( esdl.Storage, ] - for asset_name in [ + for asset_id in [ *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_demand", []), *self.energy_system_components.get("heat_pipe", []), @@ -1170,9 +1170,9 @@ def _write_updated_esdl( ]: try: # If the asset has been placed - asset = self._name_to_asset(energy_system, asset_name) + asset = self._id_to_asset(energy_system, asset_id) asset_class = asset.__class__.__name__ - asset_id = asset.id + asset_name = asset.name capability = [c for c in capabilities if c in asset.__class__.__mro__][ 0 ].__name__ @@ -1230,7 +1230,7 @@ def _write_updated_esdl( # These variables exist for all the assets. Variables that only exist for # specific # assets are only added later, like Pump_power - commodity = self.energy_system_components_commodity.get(asset_name) + commodity = self.energy_system_components_commodity.get(asset_id) variables_one_hydraulic_system = [f"{commodity}In.Q"] variables_two_hydraulic_system = [ @@ -1254,7 +1254,7 @@ def _write_updated_esdl( variables_one_hydraulic_system.append(f"{commodity}In.H") variables_two_hydraulic_system.append(f"Primary.{commodity}In.H") variables_two_hydraulic_system.append(f"Secondary.{commodity}In.H") - if asset_name in [ + if asset_id in [ *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("ates", []), @@ -1265,10 +1265,10 @@ def _write_updated_esdl( ]: variables_one_hydraulic_system.append("Pump_power") variables_two_hydraulic_system.append("Pump_power") - elif asset_name in [*self.energy_system_components.get("pump", [])]: + elif asset_id in [*self.energy_system_components.get("pump", [])]: variables_one_hydraulic_system = ["Pump_power"] variables_two_hydraulic_system = ["Pump_power"] - if asset_name in [ + if asset_id in [ *self.energy_system_components.get("heat_pipe", []), *self.energy_system_components.get("gas_pipe", []), ]: @@ -1276,13 +1276,13 @@ def _write_updated_esdl( variables_two_hydraulic_system.append("PostProc.Velocity") # Velocity at the pipe outlet [m/s] post_processed["PostProc.Velocity"] = pipe_velocity( - asset_name, commodity, results, parameters + asset_id, commodity, results, parameters ) variables_one_hydraulic_system.append("PostProc.Pressure") # TODO: seems unnecessary, pipes always only have 1 hydraulic system variables_two_hydraulic_system.append("PostProc.Pressure") post_processed["PostProc.Pressure"] = pipe_pressure( - asset_name, commodity, results, parameters + asset_id, commodity, results, parameters ) # Pa # Depending on the port set, different carriers are assigned @@ -1354,24 +1354,21 @@ def _write_updated_esdl( try: # For all components dealing with one hydraulic system if isinstance( - results[f"{asset_name}." + variables_one_hydraulic_system[0]][ - ii - ], + results[f"{asset_id}." + variables_one_hydraulic_system[0]][ii], numbers.Number, ): variables_names = variables_one_hydraulic_system except KeyError: # For all components dealing with two hydraulic system if isinstance( - results[f"{asset_name}." + variables_two_hydraulic_system[0]][ - ii - ], + results[f"{asset_id}." + variables_two_hydraulic_system[0]][ii], numbers.Number, ): variables_names = variables_two_hydraulic_system except Exception: logger.error( - f"During the influxDB profile writing for asset: {asset_name}," + f"During the influxDB profile writing for asset: " + f"{asset_name}," f" the following error occured:" ) traceback.print_exc() @@ -1458,7 +1455,7 @@ def _write_updated_esdl( else: logger.warning( f"No profile units will be written to the ESDL for: " - f"{asset_name}. + {variable}" + f"{asset_id}. + {variable}" ) # Write result OUTPUT profiles on the optimized esdl @@ -1476,7 +1473,7 @@ def _write_updated_esdl( conversion_factor = 1.0 if variable not in ["PostProc.Velocity", "PostProc.Pressure"]: data_row.append( - results[f"{asset_name}." + variable][ii] * conversion_factor + results[f"{asset_id}." + variable][ii] * conversion_factor ) # The variable evaluation below seems unnecessary, but it would be # used we expand the list of post process type variables @@ -1497,7 +1494,7 @@ def _write_updated_esdl( "simulationRun": simulation_id, "simulation_type": type(self).__name__, "assetId": asset_id, - "assetName": asset_name, + "assetName": asset.name, "assetClass": asset_class, "capability": capability, } diff --git a/src/mesido/workflows/multicommodity_simulator_workflow.py b/src/mesido/workflows/multicommodity_simulator_workflow.py index 9a7f94c6f..58228bbb1 100644 --- a/src/mesido/workflows/multicommodity_simulator_workflow.py +++ b/src/mesido/workflows/multicommodity_simulator_workflow.py @@ -325,8 +325,8 @@ def __create_asset_list_controls(self, asset_types_to_include, assets_without_co asset.asset_type for asset in self.esdl_assets.values() if asset.asset_type not in assets_without_control - if asset.name not in assets_list - if asset.name not in available_timeseries + if asset.id not in assets_list + if asset.id not in available_timeseries ] assert ( len(unused_asset) == 0 @@ -355,7 +355,7 @@ def __create_merit_path_goals(self, asset_info, max_value_merit, index_start_of_ asset_merit = asset_info["asset_merit"] asset_variable_map = asset_info["asset_variable_map"] for asset in assets_list: - index_s = asset_merit["asset_name"].index(f"{asset}") + index_s = asset_merit["asset_id"].index(f"{asset}") marginal_priority = ( index_start_of_priority + max_value_merit - asset_merit["merit_order"][index_s] ) @@ -378,7 +378,7 @@ def __create_merit_path_goals(self, asset_info, max_value_merit, index_start_of_ ) elif asset in assets_to_include.get("conversion", []): variable_name = f"{asset}.{asset_variable_map[asset]}" - index_s = asset_merit["asset_name"].index(f"{asset}_prod") + index_s = asset_merit["asset_id"].index(f"{asset}_prod") marginal_priority_source = ( index_start_of_priority + max_value_merit - asset_merit["merit_order"][index_s] ) @@ -434,7 +434,7 @@ def __create_merit_path_goals(self, asset_info, max_value_merit, index_start_of_ # discharging acts as producer # Marginal costs for discharging should be larger than marginal cost for charging # TODO: add check on the marginal costs for charging/discharging - index_s = asset_merit["asset_name"].index(f"{asset}_discharge") + index_s = asset_merit["asset_id"].index(f"{asset}_discharge") marginal_priority = ( index_start_of_priority + max_value_merit - asset_merit["merit_order"][index_s] ) @@ -548,14 +548,14 @@ def constraints(self, ensemble_member): def __merit_controls(self, assets_list): attributes = { - "asset_name": [], + "asset_id": [], "merit_order": [], } assets = self.esdl_assets for a in assets.values(): - if a.name in assets_list: - attributes["asset_name"].append(a.name) + if a.id in assets_list: + attributes["asset_id"].append(a.id) try: attributes["merit_order"].append( a.attributes["costInformation"].marginalCosts.value @@ -566,7 +566,7 @@ def __merit_controls(self, assets_list): # maximisation gas, therefore a merit_order with a very small adjusted # value is used (e.g. 1e-6) to ensure these goals are right after each # other and no other goals are in between. - attributes["asset_name"].append(f"{a.name}_prod") + attributes["asset_id"].append(f"{a.id}_prod") attributes["merit_order"].append( a.attributes["costInformation"].marginalCosts.value - 1e-6 ) @@ -579,7 +579,7 @@ def __merit_controls(self, assets_list): attributes["merit_order"].append( a.attributes["controlStrategy"].marginalDischargeCosts.value ) - attributes["asset_name"].append(f"{a.name}_discharge") + attributes["asset_id"].append(f"{a.id}_discharge") except AttributeError: raise Exception(f"Asset: {a.name} does not have a merit order specified") @@ -588,7 +588,7 @@ def __merit_controls(self, assets_list): if attributes["merit_order"][-1] <= 0.0: raise Exception( "The specified producer usage merit order must be a " - f"positve integer value, producer name:{a.name}, current " + f"positive integer value, producer name:{a.name}, current " f"specified merit value: {last_merit_order}" ) diff --git a/src/mesido/workflows/simulator_workflow.py b/src/mesido/workflows/simulator_workflow.py index e4a009d9c..7e3d2f8e7 100644 --- a/src/mesido/workflows/simulator_workflow.py +++ b/src/mesido/workflows/simulator_workflow.py @@ -205,7 +205,7 @@ def path_goals(self): # order) index_start_of_priority = 3 for src in self.energy_system_components[prod_asset]: - index_s = producer_merit["producer_name"].index(f"{src}") + index_s = producer_merit["producer_id"].index(f"{src}") producer_priority = ( index_start_of_priority + number_of_source_producers @@ -263,7 +263,7 @@ def constraints(self, ensemble_member): def producer_merit_controls(self): attributes = { - "producer_name": [], + "producer_id": [], "merit_order": [], } assets = self.esdl_assets @@ -275,7 +275,7 @@ def producer_merit_controls(self): or a.asset_type == "GasHeater" or a.asset_type == "GeothermalSource" ): - attributes["producer_name"].append(a.name) + attributes["producer_id"].append(a.id) try: attributes["merit_order"].append( a.attributes["costInformation"].marginalCosts.value diff --git a/tests/models/ates_temperature/src/run_ates_temperature.py b/tests/models/ates_temperature/src/run_ates_temperature.py index 4b23420d8..eb2b4e2d0 100644 --- a/tests/models/ates_temperature/src/run_ates_temperature.py +++ b/tests/models/ates_temperature/src/run_ates_temperature.py @@ -325,9 +325,10 @@ class HeatProblemMaxFlow(HeatProblem): def read(self): super().read() - demand_timeseries = self.get_timeseries("HeatingDemand_1.target_heat_demand") + heat_demand_id = self.esdl_asset_name_to_id_map["HeatingDemand_1"] + demand_timeseries = self.get_timeseries(f"{heat_demand_id}.target_heat_demand") demand_timeseries.values[2] = demand_timeseries.values[2] * 2 - self.set_timeseries("HeatingDemand_1.target_heat_demand", demand_timeseries) + self.set_timeseries(f"{heat_demand_id}.target_heat_demand", demand_timeseries) if __name__ == "__main__": diff --git a/tests/models/basic_source_and_demand/input/timeseries.xml b/tests/models/basic_source_and_demand/input/timeseries.xml index 69225d6b3..958f200fc 100644 --- a/tests/models/basic_source_and_demand/input/timeseries.xml +++ b/tests/models/basic_source_and_demand/input/timeseries.xml @@ -4,7 +4,7 @@
instantaneous - 921eb017-927b-4789-98c8-41adbd70552c + demand 8b8909b9-1388-409b-bec4-f8a491b88208 5317d120-2e6e-415d-a3bc-bdd6268997d3 diff --git a/tests/models/basic_source_and_demand/model/model.esdl b/tests/models/basic_source_and_demand/model/model.esdl index d334625d4..1ed365b15 100644 --- a/tests/models/basic_source_and_demand/model/model.esdl +++ b/tests/models/basic_source_and_demand/model/model.esdl @@ -15,7 +15,7 @@ - + diff --git a/tests/models/basic_source_and_demand/src/heat_comparison.py b/tests/models/basic_source_and_demand/src/heat_comparison.py index 94959b682..1f1c408b8 100644 --- a/tests/models/basic_source_and_demand/src/heat_comparison.py +++ b/tests/models/basic_source_and_demand/src/heat_comparison.py @@ -86,7 +86,8 @@ class HeatESDL( ): def bounds(self): bounds = super().bounds() - bounds["source.Heat_source"] = (75000.0, 125000.0) + source_id = self.esdl_asset_name_to_id_map["source"] + bounds[f"{source_id}.Heat_source"] = (75000.0, 125000.0) return bounds diff --git a/tests/models/basic_source_and_demand/src/qth_comparison.py b/tests/models/basic_source_and_demand/src/qth_comparison.py index 30022503c..5fe47f046 100644 --- a/tests/models/basic_source_and_demand/src/qth_comparison.py +++ b/tests/models/basic_source_and_demand/src/qth_comparison.py @@ -30,13 +30,15 @@ class TargetDemandGoal(Goal): order = 1 def __init__(self, optimization_problem): - self.target_min = optimization_problem.get_timeseries("demand.target_heat_demand") - self.target_max = optimization_problem.get_timeseries("demand.target_heat_demand") + demand_id = optimization_problem.esdl_asset_name_to_id_map["demand"] + self.target_min = optimization_problem.get_timeseries(f"{demand_id}.target_heat_demand") + self.target_max = optimization_problem.get_timeseries(f"{demand_id}.target_heat_demand") self.function_range = (0.0, 2e5) self.function_nominal = 1e5 def function(self, optimization_problem, ensemble_member): - return optimization_problem.state("demand.Heat_demand") + demand_id = optimization_problem.esdl_asset_name_to_id_map["demand"] + return optimization_problem.state(f"{demand_id}.Heat_demand") class _GoalsAndOptions: diff --git a/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py b/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py index c7d3c89e0..050628dd5 100644 --- a/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py +++ b/tests/models/basic_source_and_demand/src/qth_minimize_temperatures.py @@ -26,13 +26,15 @@ class TargetDemandGoal(Goal): order = 1 def __init__(self, optimization_problem): - self.target_min = optimization_problem.get_timeseries("demand.target_heat_demand") - self.target_max = optimization_problem.get_timeseries("demand.target_heat_demand") + demand_id = optimization_problem.esdl_asset_name_to_id_map["demand"] + self.target_min = optimization_problem.get_timeseries(f"{demand_id}.target_heat_demand") + self.target_max = optimization_problem.get_timeseries(f"{demand_id}.target_heat_demand") self.function_range = (0.0, 2e5) self.function_nominal = 1e5 def function(self, optimization_problem, ensemble_member): - return optimization_problem.state("demand.Heat_demand") + demand_id = optimization_problem.esdl_asset_name_to_id_map["demand"] + return optimization_problem.state(f"{demand_id}.Heat_demand") class MinimizeSourceTemperature(Goal): diff --git a/tests/models/insulation/src/run_insulation.py b/tests/models/insulation/src/run_insulation.py index 6f7602349..b91f8c45b 100644 --- a/tests/models/insulation/src/run_insulation.py +++ b/tests/models/insulation/src/run_insulation.py @@ -173,12 +173,13 @@ def insulation_levels(self): return attributes def demand_insulation_classes(self, demand_insualtion): + name_to_id = self.esdl_asset_name_to_id_map available_demand_insulation_classes = [] for ii in range(len(self.insulation_levels()["insulation_level"])): available_demand_insulation_classes.append( DemandInsulationClass( self.insulation_levels()["insulation_level"][ii], - "HeatingDemand_e6b3", + name_to_id["HeatingDemand_e6b3"], self.insulation_levels()["Tmin_deg"][ii], self.insulation_levels()["scaling_factor"][ii], self.insulation_levels()["insulation_cost_euro"][ii], @@ -188,7 +189,7 @@ def demand_insulation_classes(self, demand_insualtion): available_demand_insulation_classes.append( DemandInsulationClass( self.insulation_levels()["insulation_level"][2], - "HeatingDemand_f15e", + name_to_id["HeatingDemand_f15e"], self.insulation_levels()["Tmin_deg"][2], self.insulation_levels()["scaling_factor"][2], self.insulation_levels()["insulation_cost_euro"][2], diff --git a/tests/models/pipe_test/src/run_hydraulic_power.py b/tests/models/pipe_test/src/run_hydraulic_power.py index 2c22454d9..b3ec67b1e 100644 --- a/tests/models/pipe_test/src/run_hydraulic_power.py +++ b/tests/models/pipe_test/src/run_hydraulic_power.py @@ -181,6 +181,8 @@ def post(self): parameters = self.parameters(0) data_milp = {} # Data storage + name_id_map = self.esdl_asset_name_to_id_map + # Pressure drop [Pa] data_milp = {"Pipe1_supply_dPress": results["Pipe1.dH"] * parameters["Pipe1.rho"] * 9.81} data_milp.update( @@ -194,16 +196,16 @@ def post(self): # Mass flow [kg/s] data_milp.update( { - "Pipe1_supply_mass_flow": results["HeatingDemand_1.Heat_demand"] - / parameters["HeatingDemand_1.cp"] - / parameters["HeatingDemand_1.dT"] + "Pipe1_supply_mass_flow": results[f"{name_id_map['HeatingDemand_1']}.Heat_demand"] + / parameters[f"{name_id_map['HeatingDemand_1']}.cp"] + / parameters[f"{name_id_map['HeatingDemand_1']}.dT"] } ) data_milp.update( { - "Pipe1_return_mass_flow": results["HeatingDemand_1.Heat_demand"] - / parameters["HeatingDemand_1.cp"] - / parameters["HeatingDemand_1.dT"] + "Pipe1_return_mass_flow": results[f"{name_id_map['HeatingDemand_1']}.Heat_demand"] + / parameters[f"{name_id_map['HeatingDemand_1']}.cp"] + / parameters[f"{name_id_map['HeatingDemand_1']}.dT"] } ) @@ -228,12 +230,14 @@ def post(self): data_milp.update({"Pipe1_return_dT": parameters["Pipe1_ret.dT"]}) # Heat source, demand and loss [W] - data_milp.update({"Heat_source": results["ResidualHeatSource_1.Heat_source"]}) - data_milp.update({"Heat_demand": results["HeatingDemand_1.Heat_demand"]}) + data_milp.update( + {"Heat_source": results[f"{name_id_map['ResidualHeatSource_1']}.Heat_source"]} + ) + data_milp.update({"Heat_demand": results[f"{name_id_map['HeatingDemand_1']}.Heat_demand"]}) data_milp.update( { - "Heat_loss": results["ResidualHeatSource_1.Heat_source"] - - results["HeatingDemand_1.Heat_demand"] + "Heat_loss": results[f"{name_id_map['ResidualHeatSource_1']}.Heat_source"] + - results[f"{name_id_map['HeatingDemand_1']}.Heat_demand"] } ) diff --git a/tests/models/source_pipe_sink/src/double_pipe_heat.py b/tests/models/source_pipe_sink/src/double_pipe_heat.py index 451db196a..dd1ad7765 100644 --- a/tests/models/source_pipe_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_sink/src/double_pipe_heat.py @@ -24,13 +24,15 @@ class TargetDemandGoal(Goal): order = 2 def __init__(self, optimization_problem): - self.target_min = optimization_problem.get_timeseries("demand.target_heat_demand") - self.target_max = optimization_problem.get_timeseries("demand.target_heat_demand") + demand_id = optimization_problem.esdl_asset_name_to_id_map["demand"] + self.target_min = optimization_problem.get_timeseries(f"{demand_id}.target_heat_demand") + self.target_max = optimization_problem.get_timeseries(f"{demand_id}.target_heat_demand") self.function_range = (0.0, 2e5) self.function_nominal = 1e5 def function(self, optimization_problem, ensemble_member): - return optimization_problem.state("demand.Heat_demand") + demand_id = optimization_problem.esdl_asset_name_to_id_map["demand"] + return optimization_problem.state(f"{demand_id}.Heat_demand") class MinimizeProduction(Goal): diff --git a/tests/models/source_pipe_split_sink/src/double_pipe_heat.py b/tests/models/source_pipe_split_sink/src/double_pipe_heat.py index 3a331fb16..f076f2092 100644 --- a/tests/models/source_pipe_split_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_split_sink/src/double_pipe_heat.py @@ -18,13 +18,15 @@ class TargetDemandGoal(Goal): order = 2 def __init__(self, optimization_problem): - self.target_min = optimization_problem.get_timeseries("demand.target_heat_demand") - self.target_max = optimization_problem.get_timeseries("demand.target_heat_demand") + demand_id = optimization_problem.esdl_asset_name_to_id_map["demand"] + self.target_min = optimization_problem.get_timeseries(f"{demand_id}.target_heat_demand") + self.target_max = optimization_problem.get_timeseries(f"{demand_id}.target_heat_demand") self.function_range = (0.0, 2e6) self.function_nominal = 1e5 def function(self, optimization_problem, ensemble_member): - return optimization_problem.state("demand.Heat_demand") + demand_id = optimization_problem.esdl_asset_name_to_id_map["demand"] + return optimization_problem.state(f"{demand_id}.Heat_demand") class MinimizeProduction(Goal): diff --git a/tests/models/unit_cases/case_1a/model/1a_name_duplicate.esdl b/tests/models/unit_cases/case_1a/model/1a_name_duplicate.esdl new file mode 100644 index 000000000..c351666e7 --- /dev/null +++ b/tests/models/unit_cases/case_1a/model/1a_name_duplicate.esdl @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases/case_3a/src/run_3a.py b/tests/models/unit_cases/case_3a/src/run_3a.py index 79e055fbc..21b4da615 100644 --- a/tests/models/unit_cases/case_3a/src/run_3a.py +++ b/tests/models/unit_cases/case_3a/src/run_3a.py @@ -333,8 +333,9 @@ class HeatProblemProdProfile(HeatProblemESDLProdProfile): def read(self): super().read() + heat_demand_id = self.esdl_asset_name_to_id_map["HeatingDemand_a3b8"] for s in self.energy_system_components["heat_source"]: - demand_timeseries = self.get_timeseries("HeatingDemand_a3b8.target_heat_demand") + demand_timeseries = self.get_timeseries(f"{heat_demand_id}.target_heat_demand") new_timeseries = np.ones(len(demand_timeseries.values)) * 1 ind_hlf = int(len(demand_timeseries.values) / 2) new_timeseries[ind_hlf : ind_hlf + 1] = np.ones(1) * 0.10 diff --git a/tests/models/unit_cases_electricity/electrolyzer/src/example.py b/tests/models/unit_cases_electricity/electrolyzer/src/example.py index 4d88de903..d594c97a4 100644 --- a/tests/models/unit_cases_electricity/electrolyzer/src/example.py +++ b/tests/models/unit_cases_electricity/electrolyzer/src/example.py @@ -65,9 +65,7 @@ def goals(self): # TODO: these goals should incorperate the timestep for demand in self.energy_system_components.get("electricity_demand", []): - carrier_name = ( - self.esdl_assets[self.esdl_asset_name_to_id_map[demand]].in_ports[0].carrier.name - ) + carrier_name = self.esdl_assets[demand].in_ports[0].carrier.name price_profile = f"{carrier_name}.price_profile" # price_profile = f"{demand}.electricity_price" state = f"{demand}.Electricity_demand" @@ -79,9 +77,7 @@ def goals(self): for demand in self.energy_system_components.get("gas_demand", []): # Code below: When profile is assigned to carrier instead of using .csv file - carrier_name = ( - self.esdl_assets[self.esdl_asset_name_to_id_map[demand]].in_ports[0].carrier.name - ) + carrier_name = self.esdl_assets[demand].in_ports[0].carrier.name price_profile = f"{carrier_name}.price_profile" # price_profile = f"{demand}.gas_price" state = f"{demand}.Gas_demand_mass_flow" diff --git a/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py b/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py index 5f4c7a23a..431d7fdd9 100644 --- a/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py +++ b/tests/models/unit_cases_electricity/heat_pump_elec/src/run_hp_elec.py @@ -142,26 +142,32 @@ def esdl_assets(self): def parameters(self, ensemble_member): parameters = super().parameters(ensemble_member) + hp_id = self.esdl_asset_name_to_id_map["GenericConversion_3d3f"] + cable_id = self.esdl_asset_name_to_id_map["ElectricityCable_9d3b"] + producer_id = self.esdl_asset_name_to_id_map["ElectricityProducer_ac2e"] # all assets on same electricity grid should have same minimum voltage set by carrier, # these values also continue in the bounds, thus preferably this should be changed in ESDL - parameters["GenericConversion_3d3f.min_voltage"] = 230.0 - parameters["ElectricityCable_9d3b.min_voltage"] = 230.0 - parameters["ElectricityProducer_ac2e.min_voltage"] = 230.0 + parameters[f"{hp_id}.min_voltage"] = 230.0 + parameters[f"{cable_id}.min_voltage"] = 230.0 + parameters[f"{producer_id}.min_voltage"] = 230.0 return parameters def bounds(self): bounds = super().bounds() + hp_id = self.esdl_asset_name_to_id_map["GenericConversion_3d3f"] + cable_id = self.esdl_asset_name_to_id_map["ElectricityCable_9d3b"] + producer_id = self.esdl_asset_name_to_id_map["ElectricityProducer_ac2e"] # all assets on same electricity grid should have same minimum voltage set by carrier, # these values also continue in the bounds, thus preferably this should be changed in ESDL - bound_conv = bounds["GenericConversion_3d3f.ElectricityIn.V"] - bounds["GenericConversion_3d3f.ElectricityIn.V"] = (230.0, bound_conv[1]) - bound_cable_in = bounds["ElectricityCable_9d3b.ElectricityIn.V"] - bounds["ElectricityCable_9d3b.ElectricityIn.V"] = (230.0, bound_cable_in[1]) - bound_cable_out = bounds["ElectricityCable_9d3b.ElectricityOut.V"] - bounds["ElectricityCable_9d3b.ElectricityOut.V"] = (230.0, bound_cable_out[1]) - bound_prod_out = bounds["ElectricityProducer_ac2e.ElectricityOut.V"] - bounds["ElectricityProducer_ac2e.ElectricityOut.V"] = (230.0, bound_prod_out[1]) + bound_conv = bounds[f"{hp_id}.ElectricityIn.V"] + bounds[f"{hp_id}.ElectricityIn.V"] = (230.0, bound_conv[1]) + bound_cable_in = bounds[f"{cable_id}.ElectricityIn.V"] + bounds[f"{cable_id}.ElectricityIn.V"] = (230.0, bound_cable_in[1]) + bound_cable_out = bounds[f"{cable_id}.ElectricityOut.V"] + bounds[f"{cable_id}.ElectricityOut.V"] = (230.0, bound_cable_out[1]) + bound_prod_out = bounds[f"{producer_id}.ElectricityOut.V"] + bounds[f"{producer_id}.ElectricityOut.V"] = (230.0, bound_prod_out[1]) return bounds @@ -310,9 +316,12 @@ def energy_system_options(self): input_timeseries_file="timeseries_elec.csv", ) results = sol.extract_results() - print(results["GenericConversion_3d3f.Power_elec"]) - print(results["GenericConversion_3d3f__variable_operational_cost"]) - print(results["ResidualHeatSource_aec9.Heat_source"]) + name_to_id_map = sol.esdl_asset_name_to_id_map + hp_id = name_to_id_map["GenericConversion_3d3f"] + source_id = name_to_id_map["ResidualHeatSource_aec9"] + print(results[f"{hp_id}.Power_elec"]) + print(results[f"{hp_id}__variable_operational_cost"]) + print(results[f"{source_id}.Heat_source"]) # print(results["Pipe3__hn_diameter"]) # print(sol.bounds()["Pipe3__hn_diameter"]) # run_optimization_problem(ElectricityProblem) diff --git a/tests/models/unit_cases_electricity/source_sink_cable/src/example.py b/tests/models/unit_cases_electricity/source_sink_cable/src/example.py index eca3786ea..296e85bb9 100644 --- a/tests/models/unit_cases_electricity/source_sink_cable/src/example.py +++ b/tests/models/unit_cases_electricity/source_sink_cable/src/example.py @@ -118,9 +118,13 @@ def goals(self): def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) - elec_prod_size = self.extra_variable("ElectricityProducer_edde__max_size", ensemble_member) - pv_size = self.extra_variable("PV__max_size", ensemble_member) - nom = self.variable_nominal("PV__max_size") + + name_to_id = self.esdl_asset_name_to_id_map + elec_prod_size = self.extra_variable( + f"{name_to_id['ElectricityProducer_edde']}__max_size", ensemble_member + ) + pv_size = self.extra_variable(f"{name_to_id['PV']}__max_size", ensemble_member) + nom = self.variable_nominal(f"{name_to_id['PV']}__max_size") constraints.append(((elec_prod_size - pv_size) / nom, 0.0, 0.0)) return constraints @@ -184,9 +188,12 @@ def bounds(self): Dict with the bounds. """ bounds = super().bounds() - bounds["ElectricityProducer_b95d.Electricity_source"] = (0.0, 100000.0) - bounds["ElectricityCable_238f.ElectricityIn.Power"] = (0.0, 100000.0) - bounds["ElectricityCable_238f.ElectricityOut.Power"] = (0.0, 100000.0) + name_to_id_map = self.esdl_asset_name_to_id_map + producer_id = name_to_id_map["ElectricityProducer_b95d"] + cable_id = name_to_id_map["ElectricityCable_238f"] + bounds[f"{producer_id}.Electricity_source"] = (0.0, 100000.0) + bounds[f"{cable_id}.ElectricityIn.Power"] = (0.0, 100000.0) + bounds[f"{cable_id}.ElectricityOut.Power"] = (0.0, 100000.0) return bounds diff --git a/tests/test_asset_is_realized.py b/tests/test_asset_is_realized.py index a32e5fc52..80b22a2b8 100644 --- a/tests/test_asset_is_realized.py +++ b/tests/test_asset_is_realized.py @@ -45,52 +45,52 @@ def test_asset_is_realized(self): ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + prod_1_id = name_to_id_map["HeatProducer_1"] + prod_2_id = name_to_id_map["HeatProducer_2"] # First we test whether the investments made are below cap cap = 2.5e5 + 1.0e-3 # some small tolerance, CBC... np.testing.assert_allclose( - True, np.diff(results["HeatProducer_1__cumulative_investments_made_in_eur"]) <= cap + True, np.diff(results[f"{prod_1_id}__cumulative_investments_made_in_eur"]) <= cap ) np.testing.assert_allclose( - True, np.diff(results["HeatProducer_2__cumulative_investments_made_in_eur"]) <= cap + True, np.diff(results[f"{prod_2_id}__cumulative_investments_made_in_eur"]) <= cap ) # Now we test if the investments made are greater then the needed investments once the # asset is realized - inds_1 = np.where(np.round(results["HeatProducer_1__asset_is_realized"]) == 1) + inds_1 = np.where(np.round(results[f"{prod_1_id}__asset_is_realized"]) == 1) np.testing.assert_allclose( True, ( - results["HeatProducer_1__cumulative_investments_made_in_eur"][inds_1] - >= results["HeatProducer_1__investment_cost"] - + results["HeatProducer_1__installation_cost"] + results[f"{prod_1_id}__cumulative_investments_made_in_eur"][inds_1] + >= results[f"{prod_1_id}__investment_cost"] + + results[f"{prod_1_id}__installation_cost"] - 1.0e-3 ), ) - inds_2 = np.where(np.round(results["HeatProducer_2__asset_is_realized"]) == 1) + inds_2 = np.where(np.round(results[f"{prod_2_id}__asset_is_realized"]) == 1) np.testing.assert_allclose( True, ( - results["HeatProducer_2__cumulative_investments_made_in_eur"][inds_2] - >= results["HeatProducer_2__investment_cost"] - + results["HeatProducer_2__installation_cost"] + results[f"{prod_2_id}__cumulative_investments_made_in_eur"][inds_2] + >= results[f"{prod_2_id}__investment_cost"] + + results[f"{prod_2_id}__installation_cost"] - 1.0e-3 ), ) # Here we test that the asset is not used until it is actually realized - inds_not_1 = np.where(np.round(results["HeatProducer_1__asset_is_realized"]) == 0) - np.testing.assert_allclose( - results["HeatProducer_1.Heat_source"][inds_not_1], 0.0, atol=1e-6 - ) - inds_not_2 = np.where(np.round(results["HeatProducer_2__asset_is_realized"]) == 0) - np.testing.assert_allclose( - results["HeatProducer_1.Heat_source"][inds_not_2], 0.0, atol=1e-6 - ) + inds_not_1 = np.where(np.round(results[f"{prod_1_id}__asset_is_realized"]) == 0) + np.testing.assert_allclose(results[f"{prod_1_id}.Heat_source"][inds_not_1], 0.0, atol=1e-6) + inds_not_2 = np.where(np.round(results[f"{prod_2_id}__asset_is_realized"]) == 0) + np.testing.assert_allclose(results[f"{prod_1_id}.Heat_source"][inds_not_2], 0.0, atol=1e-6) # Here we test that the asset is actually used once it is realized - np.testing.assert_allclose(results["HeatProducer_1.Heat_source"][inds_1] > 0.0, True) - np.testing.assert_allclose(results["HeatProducer_2.Heat_source"][inds_2] > 0.0, True) + np.testing.assert_allclose(results[f"{prod_1_id}.Heat_source"][inds_1] > 0.0, True) + np.testing.assert_allclose(results[f"{prod_2_id}.Heat_source"][inds_2] > 0.0, True) if __name__ == "__main__": diff --git a/tests/test_ates.py b/tests/test_ates.py index 150960447..1e6b6a76b 100644 --- a/tests/test_ates.py +++ b/tests/test_ates.py @@ -42,15 +42,17 @@ def test_ates(self): ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map - stored_heat = results["ATES_033c.Stored_heat"] - heat_loss = results["ATES_033c.Heat_loss"] - heat_ates = results["ATES_033c.Heat_ates"] + ates_id = name_to_id_map["ATES_033c"] + stored_heat = results[f"{ates_id}.Stored_heat"] + heat_loss = results[f"{ates_id}.Heat_loss"] + heat_ates = results[f"{ates_id}.Heat_ates"] summed_charge = np.sum(np.clip(heat_ates, 0.0, np.inf)) summed_discharge = np.abs(np.sum(np.clip(heat_ates, -np.inf, 0.0))) # Test if the milp loss is as expected - coeff = solution.parameters(0)["ATES_033c.heat_loss_coeff"] + coeff = solution.parameters(0)[f"{ates_id}.heat_loss_coeff"] np.testing.assert_allclose(heat_loss, coeff * stored_heat) np.testing.assert_array_less(summed_discharge, summed_charge) diff --git a/tests/test_cable_topology_optimization.py b/tests/test_cable_topology_optimization.py index 6363d9421..c0ae7cf53 100644 --- a/tests/test_cable_topology_optimization.py +++ b/tests/test_cable_topology_optimization.py @@ -34,6 +34,7 @@ def test_electricity_network_topology(self): ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map for demand in heat_problem.energy_system_components.get("electricity_demand", []): target = heat_problem.get_timeseries(f"{demand}.target_electricity_demand").values @@ -47,5 +48,6 @@ def test_electricity_network_topology(self): ] for cable in removed_cables: - np.testing.assert_allclose(results[f"{cable}__investment_cost"], 0.0) - np.testing.assert_allclose(results[f"{cable}__en_max_current"], 0.0) + cable_id = name_to_id_map[cable] + np.testing.assert_allclose(results[f"{cable_id}__investment_cost"], 0.0) + np.testing.assert_allclose(results[f"{cable_id}__en_max_current"], 0.0) diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 2013d485a..3fbffe671 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -128,6 +128,9 @@ def test_airco(self): ) results = heat_problem.extract_results() parameters = heat_problem.parameters(0) + name_to_id_map = heat_problem.esdl_asset_name_to_id_map + + hp_id = name_to_id_map["HeatPump_b97e"] demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) @@ -135,10 +138,10 @@ def test_airco(self): # Check how variable operation cost is calculated np.testing.assert_allclose( - parameters["HeatPump_b97e.variable_operational_cost_coefficient"] - * sum(results["HeatPump_b97e.Heat_source"][1:]) - / parameters["HeatPump_b97e.cop"], - results["HeatPump_b97e__variable_operational_cost"], + parameters[f"{hp_id}.variable_operational_cost_coefficient"] + * sum(results[f"{hp_id}.Heat_source"][1:]) + / parameters[f"{hp_id}.cop"], + results[f"{hp_id}__variable_operational_cost"], ) def test_wko(self): @@ -219,6 +222,11 @@ def constraints(self, ensemble_member): input_timeseries_file="timeseries_2.csv", ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map + + ates_id = name_to_id_map["ATES_226d"] + pipe1_id = name_to_id_map["Pipe1"] + pipe1_ret_id = name_to_id_map["Pipe1_ret"] demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) @@ -226,15 +234,19 @@ def constraints(self, ensemble_member): # Check cyclic constraint np.testing.assert_allclose( - results["ATES_226d.Stored_heat"][0], results["ATES_226d.Stored_heat"][-1] + results[f"{ates_id}.Stored_heat"][0], results[f"{ates_id}.Stored_heat"][-1] ) # Check heat loss and gain tol_value = 1.0e-6 np.testing.assert_array_less( - 0.0, results["Pipe1.HeatIn.Heat"] - results["Pipe1.HeatOut.Heat"] + tol_value + 0.0, + results[f"{pipe1_id}.HeatIn.Heat"] - results[f"{pipe1_id}.HeatOut.Heat"] + tol_value, ) np.testing.assert_array_less( - results["Pipe1_ret.HeatIn.Heat"] - results["Pipe1_ret.HeatOut.Heat"] - tol_value, 0.0 + results[f"{pipe1_ret_id}.HeatIn.Heat"] + - results[f"{pipe1_ret_id}.HeatOut.Heat"] + - tol_value, + 0.0, ) # ------------------------------------------------------------------------------------------ @@ -254,6 +266,11 @@ def energy_system_options(self): input_timeseries_file="timeseries_2.csv", ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map + + ates_id = name_to_id_map["ATES_226d"] + pipe1_id = name_to_id_map["Pipe1"] + pipe1_ret_id = name_to_id_map["Pipe1_ret"] demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) @@ -261,15 +278,17 @@ def energy_system_options(self): # Check cyclic constraint np.testing.assert_allclose( - results["ATES_226d.Stored_heat"][0], results["ATES_226d.Stored_heat"][-1] + results[f"{ates_id}.Stored_heat"][0], results[f"{ates_id}.Stored_heat"][-1] ) # Check heat loss and gain tol_value = 1.0e-6 np.testing.assert_allclose( - 0.0, results["Pipe1.HeatIn.Heat"] - results["Pipe1.HeatOut.Heat"], atol=1e-6 + 0.0, results[f"{pipe1_id}.HeatIn.Heat"] - results[f"{pipe1_id}.HeatOut.Heat"], atol=1e-6 ) np.testing.assert_allclose( - 0.0, results["Pipe1_ret.HeatIn.Heat"] - results["Pipe1_ret.HeatOut.Heat"], atol=1e-6 + 0.0, + results[f"{pipe1_ret_id}.HeatIn.Heat"] - results[f"{pipe1_ret_id}.HeatOut.Heat"], + atol=1e-6, ) # ------------------------------------------------------------------------------------------ @@ -311,12 +330,13 @@ def read(self): input_timeseries_file="timeseries_peak_overlap.csv", ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map cold_demand_timeseries = heat_problem.get_timeseries( - "CoolingDemand_15e8.target_cold_demand" + f"{name_to_id_map['CoolingDemand_15e8']}.target_cold_demand" ) heat_demand_timeseries = heat_problem.get_timeseries( - "HeatingDemand_9b90.target_heat_demand" + f"{name_to_id_map['HeatingDemand_9b90']}.target_heat_demand" ) max_cold_idx = np.argmax(cold_demand_timeseries.values) max_heat_idx = np.argmax(heat_demand_timeseries.values) @@ -383,12 +403,13 @@ def read(self): input_timeseries_file="timeseries_peak_back_to_back.csv", ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map cold_demand_timeseries = heat_problem.get_timeseries( - "CoolingDemand_15e8.target_cold_demand" + f"{name_to_id_map['CoolingDemand_15e8']}.target_cold_demand" ) heat_demand_timeseries = heat_problem.get_timeseries( - "HeatingDemand_9b90.target_heat_demand" + f"{name_to_id_map['HeatingDemand_9b90']}.target_heat_demand" ) max_cold_idx = np.argmax(cold_demand_timeseries.values) max_heat_idx = np.argmax(heat_demand_timeseries.values) @@ -455,12 +476,13 @@ def read(self): input_timeseries_file="timeseries_cold_peak_before.csv", ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map cold_demand_timeseries = heat_problem.get_timeseries( - "CoolingDemand_15e8.target_cold_demand" + f"{name_to_id_map['CoolingDemand_15e8']}.target_cold_demand" ) heat_demand_timeseries = heat_problem.get_timeseries( - "HeatingDemand_9b90.target_heat_demand" + f"{name_to_id_map['HeatingDemand_9b90']}.target_heat_demand" ) max_cold_idx = np.argmax(cold_demand_timeseries.values) max_heat_idx = np.argmax(heat_demand_timeseries.values) diff --git a/tests/test_elec_boiler.py b/tests/test_elec_boiler.py index 802bb8ca5..0bba5ab7b 100644 --- a/tests/test_elec_boiler.py +++ b/tests/test_elec_boiler.py @@ -22,7 +22,7 @@ def asset_cost_calculation_tests(self, solution, results): for asset in [ *solution.energy_system_components.get("heat_source", []), ]: - esdl_asset = solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + esdl_asset = solution.esdl_assets[asset] costs_esdl_asset = esdl_asset.attributes["costInformation"] # investment cost @@ -78,18 +78,21 @@ def test_elec_heat_source_elec(self): ) results = heat_problem.extract_results() parameters = heat_problem.parameters(0) + name_to_id_map = heat_problem.esdl_asset_name_to_id_map demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) electric_power_conservation_test(heat_problem, results) - np.testing.assert_array_less(0.0, results["ElectricBoiler_9aab.Heat_source"]) - np.testing.assert_array_less(0.0, results["ElectricityProducer_4dde.ElectricityOut.Power"]) + e_boiler_id = name_to_id_map["ElectricBoiler_9aab"] + elec_producer_id = name_to_id_map["ElectricityProducer_4dde"] + + np.testing.assert_array_less(0.0, results[f"{e_boiler_id}.Heat_source"]) + np.testing.assert_array_less(0.0, results[f"{elec_producer_id}.ElectricityOut.Power"]) np.testing.assert_allclose( - parameters["ElectricBoiler_9aab.efficiency"] - * results["ElectricBoiler_9aab.Power_consumed"], - results["ElectricBoiler_9aab.Heat_source"], + parameters[f"{e_boiler_id}.efficiency"] * results[f"{e_boiler_id}.Power_consumed"], + results[f"{e_boiler_id}.Heat_source"], ) # Check the cost components of ElectricBoiler @@ -122,16 +125,18 @@ def test_heat_source_elec(self): ) results = heat_problem.extract_results() parameters = heat_problem.parameters(0) + name_to_id_map = heat_problem.esdl_asset_name_to_id_map demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) - np.testing.assert_array_less(0.0, results["ElectricBoiler_9aab.Heat_source"]) + e_boiler_id = name_to_id_map["ElectricBoiler_9aab"] + + np.testing.assert_array_less(0.0, results[f"{e_boiler_id}.Heat_source"]) np.testing.assert_allclose( - parameters["ElectricBoiler_9aab.efficiency"] - * results["ElectricBoiler_9aab.Power_consumed"], - results["ElectricBoiler_9aab.Heat_source"], + parameters[f"{e_boiler_id}.efficiency"] * results[f"{e_boiler_id}.Power_consumed"], + results[f"{e_boiler_id}.Heat_source"], ) # Check the cost components of ElectricBoiler @@ -163,25 +168,28 @@ def test_air_water_hp_elec(self): ) results = heat_problem.extract_results() parameters = heat_problem.parameters(0) + name_to_id_map = heat_problem.esdl_asset_name_to_id_map demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) electric_power_conservation_test(heat_problem, results) - np.testing.assert_array_less(0.0, results["HeatPump_d8fd.Heat_source"]) - np.testing.assert_array_less(0.0, results["ElectricityProducer_4dde.ElectricityOut.Power"]) + hp_id = name_to_id_map["HeatPump_d8fd"] + elec_producer_id = name_to_id_map["ElectricityProducer_4dde"] + np.testing.assert_array_less(0.0, results[f"{hp_id}.Heat_source"]) + np.testing.assert_array_less(0.0, results[f"{elec_producer_id}.ElectricityOut.Power"]) np.testing.assert_array_less( - parameters["HeatPump_d8fd.cop"] * results["HeatPump_d8fd.Power_elec"], - results["HeatPump_d8fd.Heat_source"] + 1.0e-6, + parameters[f"{hp_id}.cop"] * results[f"{hp_id}.Power_elec"], + results[f"{hp_id}.Heat_source"] + 1.0e-6, ) # Check how variable operation cost is calculated np.testing.assert_allclose( - parameters["HeatPump_d8fd.variable_operational_cost_coefficient"] - * sum(results["HeatPump_d8fd.Heat_source"][1:]) - / parameters["HeatPump_d8fd.cop"], - results["HeatPump_d8fd__variable_operational_cost"], + parameters[f"{hp_id}.variable_operational_cost_coefficient"] + * sum(results[f"{hp_id}.Heat_source"][1:]) + / parameters[f"{hp_id}.cop"], + results[f"{hp_id}__variable_operational_cost"], ) diff --git a/tests/test_electric_bus.py b/tests/test_electric_bus.py index ce8178856..b13c24e9b 100644 --- a/tests/test_electric_bus.py +++ b/tests/test_electric_bus.py @@ -48,17 +48,23 @@ def test_voltages_and_power_network1(self): input_timeseries_file="timeseries.csv", ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + bus_id = name_to_id_map["Bus_f262"] + cable_de_id = name_to_id_map["ElectricityCable_de9a"] + cable_ad_id = name_to_id_map["ElectricityCable_1ad0"] + demand_id = name_to_id_map["ElectricityDemand_e527"] # electric power conservation system and no dissipation of power and current in bus electric_power_conservation_test(solution, results) - v1 = results["Bus_f262.ElectricityConn[1].V"] - v2 = results["Bus_f262.ElectricityConn[2].V"] - v_outgoing_cable = results["ElectricityCable_de9a.ElectricityIn.V"] - v_incoming_cable = results["ElectricityCable_1ad0.ElectricityOut.V"] - v_demand = results["ElectricityDemand_e527.ElectricityIn.V"] - p_demand = results["ElectricityDemand_e527.ElectricityIn.Power"] - i_demand = results["ElectricityDemand_e527.ElectricityIn.I"] + v1 = results[f"{bus_id}.ElectricityConn[1].V"] + v2 = results[f"{bus_id}.ElectricityConn[2].V"] + v_outgoing_cable = results[f"{cable_de_id}.ElectricityIn.V"] + v_incoming_cable = results[f"{cable_ad_id}.ElectricityOut.V"] + v_demand = results[f"{demand_id}.ElectricityIn.V"] + p_demand = results[f"{demand_id}.ElectricityIn.Power"] + i_demand = results[f"{demand_id}.ElectricityIn.I"] # Incoming voltage == outgoing voltage of bus self.assertTrue(all(v1 == v2)) @@ -69,7 +75,7 @@ def test_voltages_and_power_network1(self): # check if minimum voltage is reached np.testing.assert_array_less( - solution.parameters(0)["ElectricityDemand_e527.min_voltage"] - 1.0e-3, v_demand + solution.parameters(0)[f"{demand_id}.min_voltage"] - 1.0e-3, v_demand ) # Check that current is high enough to carry the power np.testing.assert_array_less(p_demand - 1e-12, v_demand * i_demand) @@ -103,25 +109,26 @@ def test_unidirectional_cable(self): input_timeseries_file="timeseries_uni.csv", ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + demand_1_id = name_to_id_map["ElectricityDemand_e527"] + demand_2_id = name_to_id_map["ElectricityDemand_281a"] + prod_1_id = name_to_id_map["ElectricityProducer_a215"] + prod_2_id = name_to_id_map["ElectricityProducer_17a1"] + cable_id = name_to_id_map["ElectricityCable_d16c"] # electric power conservation system and no dissipation of power and current in bus electric_power_conservation_test(solution, results) - demand_1 = "ElectricityDemand_e527" - demand_2 = "ElectricityDemand_281a" - prod_1 = "ElectricityProducer_a215" - prod_2 = "ElectricityProducer_17a1" - unidirectional_cable = "ElectricityCable_d16c" - - p_demand_1 = results[f"{demand_1}.ElectricityIn.Power"] - p_demand_2 = results[f"{demand_2}.ElectricityIn.Power"] - cable_power_bound = solution.bounds()[f"{unidirectional_cable}.ElectricityIn.Power"][0] + p_demand_1 = results[f"{demand_1_id}.ElectricityIn.Power"] + p_demand_2 = results[f"{demand_2_id}.ElectricityIn.Power"] + cable_power_bound = solution.bounds()[f"{cable_id}.ElectricityIn.Power"][0] - bound_prod_1 = solution.bounds()[f"{prod_1}.Electricity_source"][1] - bound_prod_2 = solution.bounds()[f"{prod_2}.Electricity_source"][1] - target_demand_1 = solution.get_timeseries(f"{demand_1}.target_electricity_demand").values + bound_prod_1 = solution.bounds()[f"{prod_1_id}.Electricity_source"][1] + bound_prod_2 = solution.bounds()[f"{prod_2_id}.Electricity_source"][1] + target_demand_1 = solution.get_timeseries(f"{demand_1_id}.target_electricity_demand").values target_demand_1[target_demand_1 > bound_prod_1] = bound_prod_1 - target_demand_2 = solution.get_timeseries(f"{demand_2}.target_electricity_demand").values + target_demand_2 = solution.get_timeseries(f"{demand_2_id}.target_electricity_demand").values target_demand_2[target_demand_2 > (bound_prod_1 + bound_prod_2)] = ( bound_prod_1 + bound_prod_2 ) diff --git a/tests/test_electric_source_sink.py b/tests/test_electric_source_sink.py index d6c312c01..618534c8f 100644 --- a/tests/test_electric_source_sink.py +++ b/tests/test_electric_source_sink.py @@ -46,31 +46,35 @@ def test_source_sink_pv_csv_profile(self): tol = 1e-6 + name_to_id_map = solution.esdl_asset_name_to_id_map + + pv_id = name_to_id_map["PV"] + e_prod_id = name_to_id_map["ElectricityProducer_edde"] + demand_matching_test(solution, results) electric_power_conservation_test(solution, results) # Test that scaled PV constraint profile is upper bound of # PV production and profile constraint scaling functionality # in asset sizing works - profile_non_scaled = solution.get_timeseries("PV.maximum_electricity_source").values + profile_non_scaled = solution.get_timeseries(f"{pv_id}.maximum_electricity_source").values max_profile_non_scaled = max(profile_non_scaled) profile_scaled = profile_non_scaled / max_profile_non_scaled # Check that realized PV profile is scaled version of PV profile constraint np.testing.assert_array_less( - results["PV.Electricity_source"], profile_scaled * results["PV__max_size"] + tol + results[f"{pv_id}.Electricity_source"], + profile_scaled * results[f"{pv_id}__max_size"] + tol, ) # Check that maximum of realized PV profile smaller than maximum of PV profile constraint np.testing.assert_array_less( - results["PV__max_size"], - max(solution.get_timeseries("PV.maximum_electricity_source").values) + tol, + results[f"{pv_id}__max_size"], + max(solution.get_timeseries(f"{pv_id}.maximum_electricity_source").values) + tol, ) # Check electricity producers max sizes are equal - np.testing.assert_allclose( - results["PV__max_size"], results["ElectricityProducer_edde__max_size"] - ) + np.testing.assert_allclose(results[f"{pv_id}__max_size"], results[f"{e_prod_id}__max_size"]) def test_source_sink(self): """ @@ -103,52 +107,56 @@ def test_source_sink(self): ) results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map + + demand_id = name_to_id_map["ElectricityDemand_2af6"] + cable_id = name_to_id_map["ElectricityCable_238f"] # Test energy conservation electric_power_conservation_test(solution, results) - max_ = solution.bounds()["ElectricityDemand_2af6__max_size"][0] - v_min = solution.parameters(0)["ElectricityCable_238f.min_voltage"] + max_ = solution.bounds()[f"{demand_id}__max_size"][0] + v_min = solution.parameters(0)[f"{cable_id}.min_voltage"] # Test if capping is ok - power_consumed = results["ElectricityDemand_2af6.ElectricityIn.Power"] + power_consumed = results[f"{demand_id}.ElectricityIn.Power"] smallerthen = all(power_consumed <= np.ones(len(power_consumed)) * max_) self.assertTrue(smallerthen) biggerthen = all(power_consumed >= np.zeros(len(power_consumed))) self.assertTrue(biggerthen) - power_loss = results["ElectricityCable_238f.Power_loss"] + power_loss = results[f"{cable_id}.Power_loss"] biggerthen = all(power_loss >= np.zeros(len(power_loss))) self.assertTrue(biggerthen) # Test that voltage goes down - v_in = results["ElectricityCable_238f.ElectricityIn.V"] - v_out = results["ElectricityCable_238f.ElectricityOut.V"] + v_in = results[f"{cable_id}.ElectricityIn.V"] + v_out = results[f"{cable_id}.ElectricityOut.V"] np.testing.assert_array_less(v_out, v_in) biggerthen = all(v_out >= (v_min - tol) * np.ones(len(v_out))) self.assertTrue(biggerthen) - for source in solution.energy_system_components.get("electricity_source", []): + for source_id in solution.energy_system_components.get("electricity_source", []): np.testing.assert_allclose( - results[f"{source}.Electricity_source"], - results[f"{source}.ElectricityOut.Power"], + results[f"{source_id}.Electricity_source"], + results[f"{source_id}.ElectricityOut.Power"], atol=1.0e-6, ) - for demand in solution.energy_system_components.get("electricity_demand", []): + for demand_id in solution.energy_system_components.get("electricity_demand", []): np.testing.assert_allclose( - results[f"{demand}.Electricity_demand"], - results[f"{demand}.ElectricityIn.Power"], + results[f"{demand_id}.Electricity_demand"], + results[f"{demand_id}.ElectricityIn.Power"], atol=1.0e-6, ) np.testing.assert_allclose( - results[f"{demand}.ElectricityIn.V"], - parameters[f"{demand}.min_voltage"], + results[f"{demand_id}.ElectricityIn.V"], + parameters[f"{demand_id}.min_voltage"], atol=1.0e-3, ) np.testing.assert_allclose( - results[f"{demand}.ElectricityIn.V"] * results[f"{demand}.ElectricityIn.I"], - results[f"{demand}.ElectricityIn.Power"], + results[f"{demand_id}.ElectricityIn.V"] * results[f"{demand_id}.ElectricityIn.I"], + results[f"{demand_id}.ElectricityIn.Power"], atol=1.0e-3, ) @@ -185,27 +193,29 @@ def test_source_sink_max_curr(self): ) results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map + + demand_id = name_to_id_map["ElectricityDemand_2af6"] + cable_id = name_to_id_map["ElectricityCable_238f"] + producer_id = name_to_id_map["ElectricityProducer_b95d"] # Test energy conservation electric_power_conservation_test(solution, results) max_power_transport = ( - parameters["ElectricityCable_238f.min_voltage"] - * parameters["ElectricityCable_238f.max_current"] + parameters[f"{cable_id}.min_voltage"] * parameters[f"{cable_id}.max_current"] ) # This max is based on max current and voltage requirement at consumer - v_min = parameters["ElectricityCable_238f.min_voltage"] # set as minimum voltage for cables + v_min = parameters[f"{cable_id}.min_voltage"] # set as minimum voltage for cables tolerance = 1e-10 # due to computational comparison # Test if capping is ok (capping based on max power as result of v_min*Imax) - power_consumed = results["ElectricityDemand_2af6.ElectricityIn.Power"] + power_consumed = results[f"{demand_id}.ElectricityIn.Power"] smallerthen = all( power_consumed - tolerance <= np.ones(len(power_consumed)) * max_power_transport ) self.assertTrue(smallerthen) - demand_target = solution.get_timeseries( - "ElectricityDemand_2af6.target_electricity_demand" - ).values + demand_target = solution.get_timeseries(f"{demand_id}.target_electricity_demand").values np.testing.assert_allclose( power_consumed, np.minimum(demand_target, np.ones(len(power_consumed)) * max_power_transport), @@ -213,38 +223,38 @@ def test_source_sink_max_curr(self): biggerthen = all(power_consumed >= np.zeros(len(power_consumed))) self.assertTrue(biggerthen) - power_loss = results["ElectricityCable_238f.Power_loss"] + power_loss = results[f"{cable_id}.Power_loss"] biggerthen = all(power_loss >= np.zeros(len(power_loss))) self.assertTrue(biggerthen) # Test that voltage goes down - v_in = results["ElectricityCable_238f.ElectricityIn.V"] - v_out = results["ElectricityCable_238f.ElectricityOut.V"] + v_in = results[f"{cable_id}.ElectricityIn.V"] + v_out = results[f"{cable_id}.ElectricityOut.V"] np.testing.assert_array_less(v_out, v_in) biggerthen = all(v_out >= v_min * np.ones(len(v_out)) - tolerance) self.assertTrue(biggerthen) # Test that max current is not exceeded and is constant along path (since no nodes included) - current_demand = results["ElectricityDemand_2af6.ElectricityIn.I"] - current_producer = results["ElectricityProducer_b95d.ElectricityOut.I"] - current_cable = results["ElectricityCable_238f.ElectricityOut.I"] + current_demand = results[f"{demand_id}.ElectricityIn.I"] + current_producer = results[f"{producer_id}.ElectricityOut.I"] + current_cable = results[f"{cable_id}.ElectricityOut.I"] np.testing.assert_allclose(current_demand, current_cable) np.testing.assert_allclose(current_cable, current_producer) biggerthen = all( - parameters["ElectricityCable_238f.max_current"] * np.ones(len(current_demand)) + parameters[f"{cable_id}.max_current"] * np.ones(len(current_demand)) >= current_demand - tolerance ) self.assertTrue(biggerthen) - for demand in solution.energy_system_components.get("electricity_demand", []): + for demand_id in solution.energy_system_components.get("electricity_demand", []): np.testing.assert_allclose( - results[f"{demand}.ElectricityIn.V"], - parameters[f"{demand}.min_voltage"], + results[f"{demand_id}.ElectricityIn.V"], + parameters[f"{demand_id}.min_voltage"], atol=1.0e-3, ) np.testing.assert_allclose( - results[f"{demand}.ElectricityIn.V"] * results[f"{demand}.ElectricityIn.I"], - results[f"{demand}.ElectricityIn.Power"], + results[f"{demand_id}.ElectricityIn.V"] * results[f"{demand_id}.ElectricityIn.I"], + results[f"{demand_id}.ElectricityIn.Power"], atol=1.0e-3, ) @@ -276,24 +286,27 @@ def test_transformer(self): ) results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map + + demand_id = name_to_id_map["ElectricityDemand_2af6"] + transformer_id = name_to_id_map["Transformer_0185"] + cable_1fe5_id = name_to_id_map["ElectricityCable_1fe5"] + cable_22c9_id = name_to_id_map["ElectricityCable_22c9"] # Check power conservation including power conservation in transformer electric_power_conservation_test(solution, results) # Check that the cables have two different voltage levels - assert ( - parameters["ElectricityDemand_2af6.min_voltage"] - != parameters["Transformer_0185.min_voltage"] - ) + assert parameters[f"{demand_id}.min_voltage"] != parameters[f"{transformer_id}.min_voltage"] np.testing.assert_allclose( - parameters["Transformer_0185.min_voltage"], - results["ElectricityCable_1fe5.ElectricityOut.V"], + parameters[f"{transformer_id}.min_voltage"], + results[f"{cable_1fe5_id}.ElectricityOut.V"], atol=-1.0e-3, ) np.testing.assert_allclose( - parameters["ElectricityDemand_2af6.min_voltage"], - results["ElectricityCable_22c9.ElectricityOut.V"], + parameters[f"{demand_id}.min_voltage"], + results[f"{cable_22c9_id}.ElectricityOut.V"], atol=1.0e-3, ) diff --git a/tests/test_electricity_storage.py b/tests/test_electricity_storage.py index e5f219bb3..038b5f05a 100644 --- a/tests/test_electricity_storage.py +++ b/tests/test_electricity_storage.py @@ -44,6 +44,7 @@ def test_source_sink_storage(self): results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map feasibility_test(solution) @@ -78,7 +79,8 @@ def energy_system_options(self): power_charging = results[f"{storage_name}.Power_charging"] stored_el = results[f"{storage_name}.Stored_electricity"] - power_cable_bat = results["ElectricityCable_91c1.ElectricityOut.Power"] + cable_id = name_to_id_map["ElectricityCable_91c1"] + power_cable_bat = results[f"{cable_id}.ElectricityOut.Power"] np.testing.assert_allclose(power_cable_bat, power_bat_network, atol=tol) np.testing.assert_allclose(power_bat_network, power_charging - power_discharging, atol=tol) diff --git a/tests/test_electrolyzer.py b/tests/test_electrolyzer.py index a00d6e9b1..3d327a12d 100644 --- a/tests/test_electrolyzer.py +++ b/tests/test_electrolyzer.py @@ -52,6 +52,14 @@ def solver_options(self): ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + pipe_id = name_to_id_map["Pipe_6ba6"] + gas_demand_id = name_to_id_map["GasDemand_0cf3"] + elec_demand_id = name_to_id_map["ElectricityDemand_9d15"] + electrolyzer_id = name_to_id_map["Electrolyzer_fc66"] + wind_park_id = name_to_id_map["WindPark_7f14"] + gas_storage_id = name_to_id_map["GasStorage_e492"] # TODO: potential move this code to the head loss test case (does not contain a hydrogen # network optimization). For now this was not done, because it would imply adding a @@ -61,15 +69,15 @@ def solver_options(self): # occours in the calculation of the gas kinematic viscosity. # - Check head loss contraint - v_inspect = results["Pipe_6ba6.GasOut.Q"] / solution.parameters(0)["Pipe_6ba6.area"] + v_inspect = results[f"{pipe_id}.GasOut.Q"] / solution.parameters(0)[f"{pipe_id}.area"] head_loss_max = darcy_weisbach.head_loss( solution.gas_network_settings["maximum_velocity"], - solution.parameters(0)["Pipe_6ba6.diameter"], - solution.parameters(0)["Pipe_6ba6.length"], + solution.parameters(0)[f"{pipe_id}.diameter"], + solution.parameters(0)[f"{pipe_id}.length"], solution.energy_system_options()["wall_roughness"], 20.0, network_type=NetworkSettings.NETWORK_TYPE_HYDROGEN, - pressure=solution.parameters(0)["Pipe_6ba6.pressure"], + pressure=solution.parameters(0)[f"{pipe_id}.pressure"], ) for iv in range(len(v_inspect)): np.testing.assert_allclose( @@ -79,31 +87,31 @@ def solver_options(self): atol=1e-12, ) np.testing.assert_allclose( - -results["Pipe_6ba6.dH"][iv], 2.1760566566624733, rtol=1e-6, atol=1e-12 + -results[f"{pipe_id}.dH"][iv], 2.1760566566624733, rtol=1e-6, atol=1e-12 ) gas_price_profile = "Hydrogen.price_profile" - state = "GasDemand_0cf3.Gas_demand_mass_flow" + state = f"{gas_demand_id}.Gas_demand_mass_flow" nominal = solution.variable_nominal(state) * np.median( solution.get_timeseries(gas_price_profile).values ) gas_revenue = ( np.sum( solution.get_timeseries(gas_price_profile).values - * results["GasDemand_0cf3.Gas_demand_mass_flow"] + * results[f"{gas_demand_id}.Gas_demand_mass_flow"] ) / nominal ) elec_price_profile = "elec.price_profile" - state = "ElectricityDemand_9d15.ElectricityIn.Power" + state = f"{elec_demand_id}.ElectricityIn.Power" nominal = solution.variable_nominal(state) * np.median( solution.get_timeseries(elec_price_profile).values ) electricity_revenue = ( np.sum( solution.get_timeseries(elec_price_profile).values - * results["ElectricityDemand_9d15.ElectricityIn.Power"] + * results[f"{elec_demand_id}.ElectricityIn.Power"] ) / nominal ) @@ -114,79 +122,76 @@ def solver_options(self): ) tol = 1.0e-6 # Check that the electrolyzer only consumes electricity and does not produce. - np.testing.assert_array_less(-results["Electrolyzer_fc66.ElectricityIn.Power"], tol) + np.testing.assert_array_less(-results[f"{electrolyzer_id}.ElectricityIn.Power"], tol) # Check that windfarm does not produce more than the specified maximum profile - ub = solution.get_timeseries("WindPark_7f14.maximum_electricity_source").values - np.testing.assert_array_less(results["WindPark_7f14.ElectricityOut.Power"], ub + tol) + ub = solution.get_timeseries(f"{wind_park_id}.maximum_electricity_source").values + np.testing.assert_array_less(results[f"{wind_park_id}.ElectricityOut.Power"], ub + tol) # Check that the wind farm setpoint matches with the production np.testing.assert_allclose( - results["WindPark_7f14.ElectricityOut.Power"], ub * results["WindPark_7f14__set_point"] + results[f"{wind_park_id}.ElectricityOut.Power"], + ub * results[f"{wind_park_id}__set_point"], ) # Checks on the storage timestep = 3600.0 np.testing.assert_allclose( - np.diff(results["GasStorage_e492.Stored_gas_mass"]), - results["GasStorage_e492.Gas_tank_flow"][1:] * timestep, + np.diff(results[f"{gas_storage_id}.Stored_gas_mass"]), + results[f"{gas_storage_id}.Gas_tank_flow"][1:] * timestep, rtol=1e-6, atol=1e-8, ) - np.testing.assert_allclose(results["GasStorage_e492.Stored_gas_mass"][0], 0.0) - np.testing.assert_allclose(results["GasStorage_e492.Gas_tank_flow"][0], 0.0) - - for cable in solution.energy_system_components.get("electricity_cable", []): - ub = solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{cable}"]].attributes[ - "capacity" - ] - np.testing.assert_array_less(results[f"{cable}.ElectricityOut.Power"], ub + tol) - lb = ( - solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{cable}"]] - .in_ports[0] - .carrier.voltage - ) + np.testing.assert_allclose(results[f"{gas_storage_id}.Stored_gas_mass"][0], 0.0) + np.testing.assert_allclose(results[f"{gas_storage_id}.Gas_tank_flow"][0], 0.0) + + for cable_id in solution.energy_system_components.get("electricity_cable", []): + ub = solution.esdl_assets[cable_id].attributes["capacity"] + np.testing.assert_array_less(results[f"{cable_id}.ElectricityOut.Power"], ub + tol) + lb = solution.esdl_assets[cable_id].in_ports[0].carrier.voltage tol = 1.0e-2 - np.testing.assert_array_less(lb - tol, results[f"{cable}.ElectricityOut.V"]) + np.testing.assert_array_less(lb - tol, results[f"{cable_id}.ElectricityOut.V"]) np.testing.assert_array_less( - results[f"{cable}.ElectricityOut.Power"], - results[f"{cable}.ElectricityOut.V"] * results[f"{cable}.ElectricityOut.I"] + tol, + results[f"{cable_id}.ElectricityOut.Power"], + results[f"{cable_id}.ElectricityOut.V"] * results[f"{cable_id}.ElectricityOut.I"] + + tol, ) # Electrolyser - coef_a = solution.parameters(0)["Electrolyzer_fc66.a_eff_coefficient"] - coef_b = solution.parameters(0)["Electrolyzer_fc66.b_eff_coefficient"] - coef_c = solution.parameters(0)["Electrolyzer_fc66.c_eff_coefficient"] + coef_a = solution.parameters(0)[f"{electrolyzer_id}.a_eff_coefficient"] + coef_b = solution.parameters(0)[f"{electrolyzer_id}.b_eff_coefficient"] + coef_c = solution.parameters(0)[f"{electrolyzer_id}.c_eff_coefficient"] a, b = solution._get_linear_coef_electrolyzer_mass_vs_epower_fit( coef_a, coef_b, coef_c, n_lines=3, electrical_power_min=max( - solution.parameters(0)["Electrolyzer_fc66.minimum_load"], - 0.01 * solution.bounds()["Electrolyzer_fc66.ElectricityIn.Power"][1], + solution.parameters(0)[f"{electrolyzer_id}.minimum_load"], + 0.01 * solution.bounds()[f"{electrolyzer_id}.ElectricityIn.Power"][1], ), - electrical_power_max=solution.bounds()["Electrolyzer_fc66.ElectricityIn.Power"][1], + electrical_power_max=solution.bounds()[f"{electrolyzer_id}.ElectricityIn.Power"][1], ) # TODO: Add test below once the mass flow is coupled to the volumetric flow rate. Currently # the gas network is non-limiting (mass flow not coupled to volumetric flow rate) - # np.testing.assert_allclose(results["Electrolyzer_fc66.Gas_mass_flow_out"], - # results["Electrolyzer_fc66.GasOut.Q"] * - # milp_problem.parameters(0)["Electrolyzer_fc66.density"]) + # np.testing.assert_allclose(results[f"{electrolyzer_id}.Gas_mass_flow_out"], + # results[f"{electrolyzer_id}.GasOut.Q"] * + # milp_problem.parameters(0)[f"{electrolyzer_id}.density"]) for i in range(len(a)): np.testing.assert_array_less( - results["Electrolyzer_fc66.Gas_mass_flow_out"], - results["Electrolyzer_fc66.ElectricityIn.Power"] * a[i] + b[i] + 1.0e-3, + results[f"{electrolyzer_id}.Gas_mass_flow_out"], + results[f"{electrolyzer_id}.ElectricityIn.Power"] * a[i] + b[i] + 1.0e-3, ) # Check electrolyzer input power np.testing.assert_allclose( - results["Electrolyzer_fc66.ElectricityIn.Power"], + results[f"{electrolyzer_id}.ElectricityIn.Power"], [1.00000000e08, 1.00000000e08, 1.00000000e08], ) # Check electrolyzer output massflow np.testing.assert_allclose( - results["Electrolyzer_fc66.Gas_mass_flow_out"], [431.367058, 431.367058, 431.367058] + results[f"{electrolyzer_id}.Gas_mass_flow_out"], + [431.367058, 431.367058, 431.367058], ) # ----------------------------------------------------------------------------------------- @@ -199,12 +204,12 @@ def solver_options(self): - solution.get_timeseries(elec_price_profile).times[0:-1] ) / 3600.0 - * results["Pipe_6ba6.GasOut.mass_flow"][1:] + * results[f"{pipe_id}.GasOut.mass_flow"][1:] * 0.1, ) np.testing.assert_allclose( gas_tranport_cost, - results["GasDemand_0cf3__variable_operational_cost"], + results[f"{gas_demand_id}__variable_operational_cost"], ) # Check storage cost fix opex 10 euro/kgH2/year -> 10*23.715 = 237.15euro/m3 @@ -212,21 +217,21 @@ def solver_options(self): storage_fixed_opex = 237.15 * 500000.0 np.testing.assert_allclose( storage_fixed_opex, - sum(results["GasStorage_e492__fixed_operational_cost"]), + sum(results[f"{gas_storage_id}__fixed_operational_cost"]), ) # Check electrolyzer fixed opex, based on installed size of 500MW and 10euro/kW electrolyzer_fixed_opex = 1.0 * 500.0e6 / 1.0e3 np.testing.assert_allclose( electrolyzer_fixed_opex, - sum(results["Electrolyzer_fc66__fixed_operational_cost"]), + sum(results[f"{electrolyzer_id}__fixed_operational_cost"]), ) # Check electrolyzer investment cost, based on installed size of 500MW and 20euro/kW electrolyzer_investment_cost = 20.0 * 500.0e6 / 1.0e3 np.testing.assert_allclose( electrolyzer_investment_cost, - sum(results["Electrolyzer_fc66__investment_cost"]), + sum(results[f"{electrolyzer_id}__investment_cost"]), ) # ----------------------------------------------------------------------------------------- # TODO: add check on the electricity power conservation @@ -276,47 +281,50 @@ def solver_options(self): ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + electrolyzer_id = name_to_id_map["Electrolyzer_fc66"] # Check that the input power is 0 np.testing.assert_allclose( - results["Electrolyzer_fc66.ElectricityIn.Power"][-1], + results[f"{electrolyzer_id}.ElectricityIn.Power"][-1], 0.0, atol=5e-5, ) # Check that the output gas is 0 np.testing.assert_allclose( - results["Electrolyzer_fc66.Gas_mass_flow_out"][-1], + results[f"{electrolyzer_id}.Gas_mass_flow_out"][-1], 0.0, ) # Check that the electrolyzer is switched off np.testing.assert_allclose( - results["Electrolyzer_fc66.__asset_is_switched_on"][-1], + results[f"{electrolyzer_id}.__asset_is_switched_on"][-1], 0, ) # Check that the input power is greater than 0 np.testing.assert_array_less( np.zeros(2), - results["Electrolyzer_fc66.ElectricityIn.Power"][:-1], + results[f"{electrolyzer_id}.ElectricityIn.Power"][:-1], ) # Check that the output gas is 0 np.testing.assert_array_less( np.zeros(2), - results["Electrolyzer_fc66.Gas_mass_flow_out"][:-1], + results[f"{electrolyzer_id}.Gas_mass_flow_out"][:-1], ) # Check that the electrolyzer is switched off np.testing.assert_allclose( - results["Electrolyzer_fc66.__asset_is_switched_on"][:-1], + results[f"{electrolyzer_id}.__asset_is_switched_on"][:-1], np.ones(2), ) # Check electrolyzer input power np.testing.assert_allclose( - results["Electrolyzer_fc66.ElectricityIn.Power"], + results[f"{electrolyzer_id}.ElectricityIn.Power"], [1.00000000e08, 1.00000000e08, -3.59365315e-05], atol=1e-4, ) # Check electrolyzer output massflow np.testing.assert_allclose( - results["Electrolyzer_fc66.Gas_mass_flow_out"], + results[f"{electrolyzer_id}.Gas_mass_flow_out"], [431.367058, 431.367058, 0.0], atol=1e-4, ) @@ -350,23 +358,26 @@ def test_electrolyzer_constant_efficiency(self): ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + electrolyzer_id = name_to_id_map["Electrolyzer_fc66"] # Electrolyser - efficiency = solution.parameters(0)["Electrolyzer_fc66.efficiency"] + efficiency = solution.parameters(0)[f"{electrolyzer_id}.efficiency"] np.testing.assert_allclose( - results["Electrolyzer_fc66.Gas_mass_flow_out"] * efficiency * 3600, - results["Electrolyzer_fc66.ElectricityIn.Power"], + results[f"{electrolyzer_id}.Gas_mass_flow_out"] * efficiency * 3600, + results[f"{electrolyzer_id}.ElectricityIn.Power"], ) # Check input power values. Not really needed since the massflow check is equivalent np.testing.assert_allclose( - results["Electrolyzer_fc66.ElectricityIn.Power"], + results[f"{electrolyzer_id}.ElectricityIn.Power"], [1.00000000e08, 1.00000000e08, 1.00000000e08], atol=1e-4, ) # Check output massflow values np.testing.assert_allclose( - results["Electrolyzer_fc66.Gas_mass_flow_out"], + results[f"{electrolyzer_id}.Gas_mass_flow_out"], [440.91710758, 440.91710758, 440.91710758], atol=1e-4, ) @@ -402,15 +413,18 @@ def test_electrolyzer_equality_constraint(self): ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + electrolyzer_id = name_to_id_map["Electrolyzer_fc66"] # Check that there is only one activated line per timestep - for timestep in range(len(results["Electrolyzer_fc66.__line_0_active"])): + for timestep in range(len(results[f"{electrolyzer_id}.__line_0_active"])): np.testing.assert_allclose( ( - results["Electrolyzer_fc66.__line_0_active"][timestep] - + results["Electrolyzer_fc66.__line_1_active"][timestep] - + results["Electrolyzer_fc66.__line_2_active"][timestep] - + (1 - results["Electrolyzer_fc66.__asset_is_switched_on"][timestep]) + results[f"{electrolyzer_id}.__line_0_active"][timestep] + + results[f"{electrolyzer_id}.__line_1_active"][timestep] + + results[f"{electrolyzer_id}.__line_2_active"][timestep] + + (1 - results[f"{electrolyzer_id}.__asset_is_switched_on"][timestep]) ), 1.0, ) @@ -420,34 +434,34 @@ def test_electrolyzer_equality_constraint(self): for idx in range(3): np.testing.assert_allclose( ( - results[f"Electrolyzer_fc66.__line_{idx}_active"][idx] - + (1 - results["Electrolyzer_fc66.__asset_is_switched_on"][idx]) + results[f"{electrolyzer_id}.__line_{idx}_active"][idx] + + (1 - results[f"{electrolyzer_id}.__asset_is_switched_on"][idx]) ), 1.0, ) # Check that the output massflow lies on the line segment - coef_a = solution.parameters(0)["Electrolyzer_fc66.a_eff_coefficient"] - coef_b = solution.parameters(0)["Electrolyzer_fc66.b_eff_coefficient"] - coef_c = solution.parameters(0)["Electrolyzer_fc66.c_eff_coefficient"] + coef_a = solution.parameters(0)[f"{electrolyzer_id}.a_eff_coefficient"] + coef_b = solution.parameters(0)[f"{electrolyzer_id}.b_eff_coefficient"] + coef_c = solution.parameters(0)[f"{electrolyzer_id}.c_eff_coefficient"] a, b = solution._get_linear_coef_electrolyzer_mass_vs_epower_fit( coef_a, coef_b, coef_c, n_lines=3, electrical_power_min=max( - solution.parameters(0)["Electrolyzer_fc66.minimum_load"], - 0.01 * solution.bounds()["Electrolyzer_fc66.ElectricityIn.Power"][1], + solution.parameters(0)[f"{electrolyzer_id}.minimum_load"], + 0.01 * solution.bounds()[f"{electrolyzer_id}.ElectricityIn.Power"][1], ), - electrical_power_max=solution.bounds()["Electrolyzer_fc66.ElectricityIn.Power"][1], + electrical_power_max=solution.bounds()[f"{electrolyzer_id}.ElectricityIn.Power"][1], ) for idx in range(3): np.testing.assert_allclose( - results["Electrolyzer_fc66.Gas_mass_flow_out"][idx], - results["Electrolyzer_fc66.ElectricityIn.Power"][idx] * a[idx] + b[idx], + results[f"{electrolyzer_id}.Gas_mass_flow_out"][idx], + results[f"{electrolyzer_id}.ElectricityIn.Power"][idx] * a[idx] + b[idx], ) # Check hardcoded values np.testing.assert_allclose( - results["Electrolyzer_fc66.Gas_mass_flow_out"], + results[f"{electrolyzer_id}.Gas_mass_flow_out"], [431.367058, 1285.95625642, 1673.61498453], atol=1e-4, ) @@ -482,27 +496,30 @@ def test_electrolyzer_equality_constraint_inactive_line(self): ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + electrolyzer_id = name_to_id_map["Electrolyzer_fc66"] # Input power to the electrolyzer is below the minimum one, # such that no line should be active np.testing.assert_allclose( ( - results["Electrolyzer_fc66.__line_0_active"][-1] - + results["Electrolyzer_fc66.__line_1_active"][-1] - + results["Electrolyzer_fc66.__line_2_active"][-1] - + (1 - results["Electrolyzer_fc66.__asset_is_switched_on"][-1]) + results[f"{electrolyzer_id}.__line_0_active"][-1] + + results[f"{electrolyzer_id}.__line_1_active"][-1] + + results[f"{electrolyzer_id}.__line_2_active"][-1] + + (1 - results[f"{electrolyzer_id}.__asset_is_switched_on"][-1]) ), 1.0, ) # Check that the input power is 0 np.testing.assert_allclose( - results["Electrolyzer_fc66.ElectricityIn.Power"][-1], + results[f"{electrolyzer_id}.ElectricityIn.Power"][-1], 0.0, atol=1e-4, ) # Check that the output gas is 0 np.testing.assert_allclose( - results["Electrolyzer_fc66.Gas_mass_flow_out"][-1], + results[f"{electrolyzer_id}.Gas_mass_flow_out"][-1], 0.0, atol=1e-4, ) diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 538e8901d..869705c9b 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -45,21 +45,24 @@ def test_heat_exchanger_sizing(self): esdl_parser=ESDLFileParser, ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + hex_id = name_to_id_map["HeatExchange_39ed"] # Check heat exchanger is sized np.testing.assert_allclose( - max(results["HeatExchange_39ed.Secondary_heat"]), results["HeatExchange_39ed__max_size"] + max(results[f"{hex_id}.Secondary_heat"]), results[f"{hex_id}__max_size"] ) # Check heat exchanger state attribute is changed from OPTIONAL # to ENABLED after the optimization energy_system = solution._ESDLMixin__energy_system_handler.energy_system - asset = solution._name_to_asset(energy_system, "HeatExchange_39ed") + asset = solution._id_to_asset(energy_system, hex_id) np.testing.assert_equal(esdl.AssetStateEnum.ENABLED, asset.state) # Check heat exchanger capacity attribute is updated # with max_size variable after the optimization - np.testing.assert_allclose(results["HeatExchange_39ed__max_size"], asset.capacity) + np.testing.assert_allclose(results[f"{hex_id}__max_size"], asset.capacity) @classmethod def setUpClass(cls) -> None: @@ -78,6 +81,7 @@ def setUpClass(cls) -> None: input_timeseries_file="Warmte_test.csv", ) cls.results = cls.solution.extract_results() + cls.name_to_id_map = cls.solution.esdl_asset_name_to_id_map def test_end_scenario_sizing(self): """ @@ -125,12 +129,12 @@ def test_end_scenario_sizing(self): # Check whether cyclic ates constraint is working and split between the charging and # discharging heat_flow variables - for a in self.solution.energy_system_components.get("ates", []): - stored_heat = self.results[f"{a}.Stored_heat"] + for a_id in self.solution.energy_system_components.get("ates", []): + stored_heat = self.results[f"{a_id}.Stored_heat"] np.testing.assert_allclose(stored_heat[0], stored_heat[-1], atol=1.0) - heat_ates = self.results[f"{a}.Heat_ates"] - heat_flow_charging = self.results[f"{a}.Heat_flow_charging"] - heat_flow_discharging = self.results[f"{a}.Heat_flow_discharging"] + heat_ates = self.results[f"{a_id}.Heat_ates"] + heat_flow_charging = self.results[f"{a_id}.Heat_flow_charging"] + heat_flow_discharging = self.results[f"{a_id}.Heat_flow_discharging"] np.testing.assert_allclose( heat_ates, heat_flow_charging - heat_flow_discharging, atol=1.0 ) @@ -139,8 +143,8 @@ def test_end_scenario_sizing(self): # Check variable operational cost of ates timesteps_hr = np.diff(self.solution.times()) / 3600.0 variable_operational_cost = 0.0 - for a in self.solution.energy_system_components.get("ates", []): - esdl_asset = self.solution.esdl_assets[self.solution.esdl_asset_name_to_id_map[f"{a}"]] + for a_id in self.solution.energy_system_components.get("ates", []): + esdl_asset = self.solution.esdl_assets[a_id] costs_esdl_asset = esdl_asset.attributes["costInformation"] var_op_costs = costs_esdl_asset.variableOperationalCosts.value / 1.0e6 # EUR/Wh_th self.assertNotEqual(0.0, var_op_costs) @@ -148,24 +152,24 @@ def test_end_scenario_sizing(self): variable_operational_cost += ( var_op_costs * ( - self.results[f"{a}.Heat_flow_charging"][ii] - + self.results[f"{a}.Heat_flow_discharging"][ii] + self.results[f"{a_id}.Heat_flow_charging"][ii] + + self.results[f"{a_id}.Heat_flow_discharging"][ii] ) * timesteps_hr[ii - 1] ) np.testing.assert_allclose( - variable_operational_cost, self.results[f"{a}__variable_operational_cost"] + variable_operational_cost, self.results[f"{a_id}__variable_operational_cost"] ) # Check whether buffer tank is only active in peak day peak_day_indx = self.solution.parameters(0)["peak_day_index"] - for b in self.solution.energy_system_components.get("heat_buffer", []): - heat_buffer = self.results[f"{b}.Heat_buffer"] + for b_id in self.solution.energy_system_components.get("heat_buffer", []): + heat_buffer = self.results[f"{b_id}.Heat_buffer"] for i in range(len(self.solution.times())): if i < peak_day_indx or i > (peak_day_indx + 23): np.testing.assert_allclose(heat_buffer[i], 0.0, atol=1.0e-6) - heat_flow_charging = self.results[f"{b}.Heat_flow_charging"] - heat_flow_discharging = self.results[f"{b}.Heat_flow_discharging"] + heat_flow_charging = self.results[f"{b_id}.Heat_flow_charging"] + heat_flow_discharging = self.results[f"{b_id}.Heat_flow_discharging"] np.testing.assert_allclose( heat_buffer, heat_flow_charging - heat_flow_discharging, atol=1.0 ) @@ -512,7 +516,7 @@ def test_end_scenario_sizing_pipe_catalog(self): np.testing.assert_equal( solution_pipe_class_cost_map.items() <= pipe_diameter_cost_map.items(), True ) - + # # Test 2: Check that the pipe classes generated by instantiating the same problem with # different esdl that does not have measures will actually use the original EDR # pipe classes. Then we are sure that (rest of the) EDR pipe classes have not been used @@ -546,7 +550,7 @@ def test_end_scenario_sizing_pipe_catalog(self): solution.get_optimized_pipe_class(pipe) .inner_diameter: solution.get_optimized_pipe_class(pipe) .name - for pipe in solution.hot_pipes + for pipe in [*solution.hot_pipes, *solution.unrelated_pipes] } # Assert that the same specific investment costs have been use between the measure and the # solution parameters @@ -685,9 +689,8 @@ def calculate_objective_value_end_scenario_sizing_all_optional(self, solution): *solution.energy_system_components.get("heat_pump", []), *solution.energy_system_components.get("heat_pipe", []), ]: - asset_id = solution.esdl_asset_name_to_id_map[asset] - asset_state = solution.esdl_assets[asset_id].attributes["state"] - asset_type = solution.esdl_assets[asset_id].asset_type + asset_state = solution.esdl_assets[asset].attributes["state"] + asset_type = solution.esdl_assets[asset].asset_type if not ( (asset_type == "HeatingDemand") and (asset_state == esdl.AssetStateEnum.ENABLED) ): diff --git a/tests/test_end_scenario_sizing_annualized.py b/tests/test_end_scenario_sizing_annualized.py index 1da591a64..8175b9486 100644 --- a/tests/test_end_scenario_sizing_annualized.py +++ b/tests/test_end_scenario_sizing_annualized.py @@ -96,27 +96,23 @@ def test_end_scenario_sizing_annualized(self): ) results = solution_annualized_cost.extract_results() + name_to_id_map = solution_annualized_cost.esdl_asset_name_to_id_map heat_producers = [1, 2] # Number of decimal positions for test accuracy decimal = 4 for i in heat_producers: + producer_id = name_to_id_map[f"HeatProducer_{i}"] investment_and_installation_cost = ( - results[f"HeatProducer_{i}__investment_cost"] - + results[f"HeatProducer_{i}__installation_cost"] + results[f"{producer_id}__investment_cost"] + + results[f"{producer_id}__installation_cost"] ) + esdl_asset = solution_annualized_cost.esdl_assets[producer_id] # These are the same parameters used by the model from the ESDL file: - asset_id = solution_annualized_cost.esdl_asset_name_to_id_map[f"HeatProducer_{i}"] - years_asset_life = solution_annualized_cost.esdl_assets[asset_id].attributes[ - "technicalLifetime" - ] - discount_rate = ( - solution_annualized_cost.esdl_assets[asset_id] - .attributes["costInformation"] - .discountRate.value - ) / 100 + years_asset_life = esdl_asset.attributes["technicalLifetime"] + discount_rate = (esdl_asset.attributes["costInformation"].discountRate.value) / 100 # TODO: Handle if NoneType discount_factor = calculate_annuity_factor(discount_rate, years_asset_life) - annualized_capex = results[f"HeatProducer_{i}__annualized_capex"] + annualized_capex = results[f"{producer_id}__annualized_capex"] # # Assertion 3: annualized capex matches the discounted investment # # and installation cost np.testing.assert_almost_equal( diff --git a/tests/test_esdl_constraints.py b/tests/test_esdl_constraints.py index 08ce0e742..9dc005db4 100644 --- a/tests/test_esdl_constraints.py +++ b/tests/test_esdl_constraints.py @@ -92,6 +92,7 @@ def test_asset_max_capacity(self): ) problem.pre() + name_to_id_map = problem.esdl_asset_name_to_id_map all_optional = False if "all_optional" in esdl_file: @@ -118,9 +119,8 @@ def test_asset_max_capacity(self): for key, asset_names in asset_tested.items(): for asset_name in asset_names: - esdl_asset = problem._esdl_assets[ - problem.esdl_asset_name_to_id_map[f"{asset_name}"] - ] + asset_id = name_to_id_map[asset_name] + esdl_asset = problem._esdl_assets[asset_id] range_contraint_max = None asset_input_max = None @@ -138,12 +138,12 @@ def test_asset_max_capacity(self): # Check that the RangedContraint value is used for max size, and that # this values is larger than the asset attribute input value np.testing.assert_equal( - problem.bounds()[f"{asset_name}__max_size"][1], + problem.bounds()[f"{asset_id}__max_size"][1], range_contraint_max, ) np.testing.assert_array_less( asset_input_max, - problem.bounds()[f"{asset_name}__max_size"][1], + problem.bounds()[f"{asset_id}__max_size"][1], ) # Check the range contraint name np.testing.assert_equal( @@ -154,11 +154,11 @@ def test_asset_max_capacity(self): # Check that the asset attribute input value is used for max size, and # that this values is smaller than the RangedContraint value np.testing.assert_equal( - problem.bounds()[f"{asset_name}__max_size"][1], + problem.bounds()[f"{asset_id}__max_size"][1], asset_input_max, ) np.testing.assert_array_less( - problem.bounds()[f"{asset_name}__max_size"][1], + problem.bounds()[f"{asset_id}__max_size"][1], range_contraint_max, ) @@ -169,8 +169,8 @@ def test_asset_max_capacity(self): asset_variable = "Heat_flow" # Check that the correct value is used for heat flow variable bound np.testing.assert_equal( - problem.bounds()[f"{asset_name}__max_size"][1], - problem.bounds()[f"{asset_name}.{asset_variable}"][1], + problem.bounds()[f"{asset_id}__max_size"][1], + problem.bounds()[f"{asset_id}.{asset_variable}"][1], ) if "aggregation_assets" == key: @@ -182,22 +182,22 @@ def test_asset_max_capacity(self): # Check that the RangedContraint value is used for aggregation count, # and that this values is larger than the asset attribute input value np.testing.assert_equal( - problem.bounds()[f"{asset_name}_aggregation_count"][1], + problem.bounds()[f"{asset_id}_aggregation_count"][1], range_contraint_max, ) np.testing.assert_array_less( asset_input_max, - problem.bounds()[f"{asset_name}_aggregation_count"][1], + problem.bounds()[f"{asset_id}_aggregation_count"][1], ) else: # Check that the asset attribute input value is used for aggregation # count, and that this values is smaller than the RangedContraint value np.testing.assert_equal( - problem.bounds()[f"{asset_name}_aggregation_count"][1], + problem.bounds()[f"{asset_id}_aggregation_count"][1], asset_input_max, ) np.testing.assert_array_less( - problem.bounds()[f"{asset_name}_aggregation_count"][1], + problem.bounds()[f"{asset_id}_aggregation_count"][1], range_contraint_max, ) # Check the range contraint name @@ -215,21 +215,21 @@ def test_asset_max_capacity(self): # capacity of a buffer tank, and that this volume is larger than the # asset attribute input value asset_max_capacity = ( - problem.parameters(0)[f"{asset_name}.rho"] + problem.parameters(0)[f"{asset_id}.rho"] * range_contraint_max - * problem.parameters(0)[f"{asset_name}.cp"] - * problem.parameters(0)[f"{asset_name}.dT"] + * problem.parameters(0)[f"{asset_id}.cp"] + * problem.parameters(0)[f"{asset_id}.dT"] ) np.testing.assert_equal( asset_max_capacity, - problem.bounds()[f"{asset_name}__max_size"][1], + problem.bounds()[f"{asset_id}__max_size"][1], ) np.testing.assert_array_less( asset_input_max, - problem.parameters(0)[f"{asset_name}.volume"], + problem.parameters(0)[f"{asset_id}.volume"], ) np.testing.assert_almost_equal( - problem.parameters(0)[f"{asset_name}.volume"], + problem.parameters(0)[f"{asset_id}.volume"], range_contraint_max, ) # Check the range contraint name @@ -242,21 +242,21 @@ def test_asset_max_capacity(self): # max capacity of a buffer tank, and that this volume is smaler than the # RangedContraint asset_max_capacity = ( - problem.parameters(0)[f"{asset_name}.rho"] + problem.parameters(0)[f"{asset_id}.rho"] * asset_input_max - * problem.parameters(0)[f"{asset_name}.cp"] - * problem.parameters(0)[f"{asset_name}.dT"] + * problem.parameters(0)[f"{asset_id}.cp"] + * problem.parameters(0)[f"{asset_id}.dT"] ) np.testing.assert_equal( asset_max_capacity, - problem.bounds()[f"{asset_name}__max_size"][1], + problem.bounds()[f"{asset_id}__max_size"][1], ) np.testing.assert_array_less( - problem.parameters(0)[f"{asset_name}.volume"], + problem.parameters(0)[f"{asset_id}.volume"], range_contraint_max, ) np.testing.assert_almost_equal( - problem.parameters(0)[f"{asset_name}.volume"], + problem.parameters(0)[f"{asset_id}.volume"], asset_input_max, ) @@ -267,12 +267,11 @@ def test_asset_max_capacity(self): if esdl_file == "testing_network_1_all_optional.esdl": pipes_with_ranged_constraint = ["Pipe1", "Pipe1_ret", "Pipe2", "Pipe2_ret"] - for pipe_name in problem.energy_system_components.get("heat_pipe", []): - esdl_asset = problem._esdl_assets[ - problem.esdl_asset_name_to_id_map[f"{pipe_name}"] - ] + for pipe_id in problem.energy_system_components.get("heat_pipe", []): + esdl_asset = problem._esdl_assets[pipe_id] + pipe_name = esdl_asset.name - pipe_classes = list(problem._heat_pipe_topo_pipe_class_map[f"{pipe_name}"]) + pipe_classes = list(problem._heat_pipe_topo_pipe_class_map[f"{pipe_id}"]) pipe_input_size = esdl_asset.attributes["diameter"].name if pipe_name in pipes_with_ranged_constraint: @@ -285,8 +284,8 @@ def test_asset_max_capacity(self): else: np.testing.assert_equal(pipe_classes[-1].name, pipe_input_size) elif esdl_file == "testing_network_1_all_optional_excluding_pipes.esdl": - for pipe_name in problem.energy_system_components.get("heat_pipe", []): - (problem.parameters(0)[f"{pipe_name}.diameter"], 0.695) # DN700 + for pipe_id in problem.energy_system_components.get("heat_pipe", []): + (problem.parameters(0)[f"{pipe_id}.diameter"], 0.695) # DN700 if __name__ == "__main__": diff --git a/tests/test_esdl_parsing.py b/tests/test_esdl_parsing.py index e3df28f76..c5a3afe55 100644 --- a/tests/test_esdl_parsing.py +++ b/tests/test_esdl_parsing.py @@ -48,6 +48,71 @@ def test_from_string_and_from_file_are_equal(self): # are exactly the same object np.testing.assert_equal(results_from_file_as_dict, results_from_string_as_dict) + def test_duplicate_asset_names_with_different_ids(self): + """ + This test checks that MESIDO correctly handles ESDL assets that have the same name + but different unique identifiers. The test verifies that: + 1. The ESDL contains two pipes with the same name "Pipe" + 2. These pipes have different IDs ("pipe-1" and "pipe-2") + 3. MESIDO creates separate asset entries for each pipe using their respective IDs + 4. Both pipes are correctly available in the problem's asset maps + """ + import models.unit_cases.case_1a.src.run_1a as example + from models.unit_cases.case_1a.src.run_1a import ( + HeatProblem, + ) + + base_folder = Path(example.__file__).resolve().parent.parent + + # Run the optimization problem + problem = run_optimization_problem( + HeatProblem, + base_folder=base_folder, + esdl_file_name="1a_name_duplicate.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.xml", + ) + + # Verify that the ESDL parser correctly identified both pipes + # Even though they have the same name, they should have different IDs + pipe_1_id = "Pipe1" + pipe_2_id = "Pipe2" + + # Verify both pipes are in the heat_pipe component list + heat_pipes = problem.energy_system_components.get("heat_pipe", []) + assert ( + pipe_1_id in heat_pipes + ), f"Pipe {pipe_1_id} not found in energy_system_components heat_pipe list" + assert ( + pipe_2_id in heat_pipes + ), f"Pipe {pipe_2_id} not found in energy_system_components heat_pipe list" + + # Verify that both pipes have the same name in the ESDL + pipe_1_asset = problem.esdl_assets[pipe_1_id] + pipe_2_asset = problem.esdl_assets[pipe_2_id] + + assert ( + pipe_1_asset.name == pipe_2_asset.name + ), "Expected pipe_1 and pipe_2 name to be the same" + + # Verify that the IDs are different + assert pipe_1_id != pipe_2_id, "Expected different IDs for the two pipes" + + # Verify that we can access parameters for both pipes using their IDs + parameters = problem.parameters(0) + + # Both pipes should have diameter parameters accessible via their IDs + pipe_1_diameter_key = f"{pipe_1_id}.diameter" + pipe_2_diameter_key = f"{pipe_2_id}.diameter" + + assert ( + pipe_1_diameter_key in parameters + ), f"Expected diameter parameter for pipe_1: {pipe_1_diameter_key}" + assert ( + pipe_2_diameter_key in parameters + ), f"Expected diameter parameter for pipe_2: {pipe_2_diameter_key}" + if __name__ == "__main__": unittest.main() diff --git a/tests/test_gas_boiler.py b/tests/test_gas_boiler.py index 6c5f9c560..0505ffd4a 100644 --- a/tests/test_gas_boiler.py +++ b/tests/test_gas_boiler.py @@ -15,22 +15,22 @@ class TestGasBoiler(TestCase): def asset_cost_calculation_tests(self, solution, results, parameters): # Check the cost components of GasHeater - for asset in [ + for asset_id in [ *solution.energy_system_components.get("heat_source", []), ]: - esdl_asset = solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + esdl_asset = solution.esdl_assets[asset_id] costs_esdl_asset = esdl_asset.attributes["costInformation"] # investment cost investment_cost_info = costs_esdl_asset.investmentCosts.value - investment_cost = investment_cost_info * results[f"{asset}__max_size"] / 1.0e6 + investment_cost = investment_cost_info * results[f"{asset_id}__max_size"] / 1.0e6 np.testing.assert_allclose( - investment_cost, results[f"{asset}__investment_cost"], atol=1.0e-7 + investment_cost, results[f"{asset_id}__investment_cost"], atol=1.0e-7 ) # installation cost installation_cost = costs_esdl_asset.installationCosts.value - np.testing.assert_allclose(installation_cost, results[f"{asset}__installation_cost"]) + np.testing.assert_allclose(installation_cost, results[f"{asset_id}__installation_cost"]) # variable operational cost timesteps_hr = np.diff(solution.times()) @@ -39,12 +39,12 @@ def asset_cost_calculation_tests(self, solution, results, parameters): for ii in range(1, len(solution.times())): variable_operational_cost += ( var_op_costs - * results[f"{asset}.Gas_demand_mass_flow"][ii] - / parameters[f"{asset}.density_normal"] + * results[f"{asset_id}.Gas_demand_mass_flow"][ii] + / parameters[f"{asset_id}.density_normal"] * timesteps_hr[ii - 1] ) np.testing.assert_allclose( - variable_operational_cost, results[f"{asset}__variable_operational_cost"] + variable_operational_cost, results[f"{asset_id}__variable_operational_cost"] ) def test_gas_heat_source_gas(self): @@ -76,20 +76,25 @@ def test_gas_heat_source_gas(self): results = heat_problem.extract_results() parameters = heat_problem.parameters(0) bounds = heat_problem.bounds() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map + + gas_heater_id = name_to_id_map["GasHeater_f713"] + gas_producer_id = name_to_id_map["GasProducer_82ec"] + pipe_id = name_to_id_map["Pipe_a7b5"] demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) # check energy conservation over the commodity - np.testing.assert_array_less(0.0, results["GasHeater_f713.Heat_source"]) - np.testing.assert_array_less(0.0, results["GasProducer_82ec.Gas_source_mass_flow"]) + np.testing.assert_array_less(0.0, results[f"{gas_heater_id}.Heat_source"]) + np.testing.assert_array_less(0.0, results[f"{gas_producer_id}.Gas_source_mass_flow"]) np.testing.assert_array_less( - parameters["GasHeater_f713.energy_content"] - * results["GasHeater_f713.GasIn.mass_flow"] - * parameters["GasHeater_f713.efficiency"] + parameters[f"{gas_heater_id}.energy_content"] + * results[f"{gas_heater_id}.GasIn.mass_flow"] + * parameters[f"{gas_heater_id}.efficiency"] / 1000.0, # [J/kg] * [g/s] / 1000.0 = [J/s] - results["GasHeater_f713.Heat_source"] + 1.0e-6, + results[f"{gas_heater_id}.Heat_source"] + 1.0e-6, ) # check if the maximum gas velocity set in problem is used to determine bounds on pipes @@ -97,8 +102,8 @@ def test_gas_heat_source_gas(self): "maximum_velocity" ] # m/s maximum velocity set in problem. np.testing.assert_allclose( - bounds["Pipe_a7b5.GasIn.Q"][1], - parameters["Pipe_a7b5.diameter"] ** 2 / 4 * math.pi * v_max_gas, + bounds[f"{pipe_id}.GasIn.Q"][1], + parameters[f"{pipe_id}.diameter"] ** 2 / 4 * math.pi * v_max_gas, ) # check the cost components of GasHeater @@ -132,20 +137,23 @@ def test_heat_source_gas(self): ) results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map + + gas_heater_id = name_to_id_map["GasHeater_f713"] demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) # check energy conservation over the commodity - np.testing.assert_array_less(0.0, results["GasHeater_f713.Heat_source"]) - np.testing.assert_array_less(0.0, results["GasHeater_f713.Gas_demand_mass_flow"]) + np.testing.assert_array_less(0.0, results[f"{gas_heater_id}.Heat_source"]) + np.testing.assert_array_less(0.0, results[f"{gas_heater_id}.Gas_demand_mass_flow"]) np.testing.assert_array_less( - parameters["GasHeater_f713.energy_content"] - * results["GasHeater_f713.Gas_demand_mass_flow"] - * parameters["GasHeater_f713.efficiency"] + parameters[f"{gas_heater_id}.energy_content"] + * results[f"{gas_heater_id}.Gas_demand_mass_flow"] + * parameters[f"{gas_heater_id}.efficiency"] / 1000.0, # [J/kg] * [g/s] / 1000.0 = [J/s] - results["GasHeater_f713.Heat_source"] + 1.0e-6, + results[f"{gas_heater_id}.Heat_source"] + 1.0e-6, ) # Check the cost components of GasHeater diff --git a/tests/test_gas_electricity.py b/tests/test_gas_electricity.py index aabed7735..9f17cbcae 100644 --- a/tests/test_gas_electricity.py +++ b/tests/test_gas_electricity.py @@ -147,68 +147,69 @@ def test_gas_elect(self): ] total_opex = 0.0 total_capex = 0.0 - for asset in [ + for asset_id in [ *solution.energy_system_components.get("heat_source", []), *solution.energy_system_components.get("electricity_cable", []), *solution.energy_system_components.get("gas_pipe", []), ]: - esdl_asset = solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] + esdl_asset = solution.esdl_assets[f"{asset_id}"] costs_esdl_asset = esdl_asset.attributes["costInformation"] # investment cost investment_cost = 0.0 - if asset in [ + if asset_id in [ *solution.energy_system_components.get("heat_source", []), *solution.energy_system_components.get("electricity_cable", []), ]: investment_cost_info = costs_esdl_asset.investmentCosts.value - if asset in solution.energy_system_components["heat_source"]: - investment_cost = investment_cost_info * results[f"{asset}__max_size"] / 1.0e6 - elif asset in solution.energy_system_components["electricity_cable"]: - investment_cost = investment_cost_info * parameters[f"{asset}.length"] - elif asset in solution.energy_system_components["gas_pipe"]: - if parameters[f"{asset}.diameter"] > 0: + if asset_id in solution.energy_system_components["heat_source"]: + investment_cost = investment_cost_info * results[f"{asset_id}__max_size"] / 1.0e6 + elif asset_id in solution.energy_system_components["electricity_cable"]: + investment_cost = investment_cost_info * parameters[f"{asset_id}.length"] + elif asset_id in solution.energy_system_components["gas_pipe"]: + if parameters[f"{asset_id}.diameter"] > 0: for iter in range(len(pipe_classes)): - if pipe_classes[iter].inner_diameter == parameters[f"{asset}.diameter"]: + if pipe_classes[iter].inner_diameter == parameters[f"{asset_id}.diameter"]: investment_cost = ( - pipe_classes[iter].investment_costs * parameters[f"{asset}.length"] + pipe_classes[iter].investment_costs + * parameters[f"{asset_id}.length"] ) total_capex += investment_cost np.testing.assert_allclose( - investment_cost, results[f"{asset}__investment_cost"], atol=1.0e-6 + investment_cost, results[f"{asset_id}__investment_cost"], atol=1.0e-6 ) # installation cost - if asset in solution.energy_system_components["heat_source"]: - if results[f"{asset}__max_size"] < 1e-8: + if asset_id in solution.energy_system_components["heat_source"]: + if results[f"{asset_id}__max_size"] < 1e-8: installation_cost = 0 else: installation_cost = costs_esdl_asset.installationCosts.value total_capex += installation_cost np.testing.assert_allclose( - installation_cost, results[f"{asset}__installation_cost"] + installation_cost, results[f"{asset_id}__installation_cost"] ) # variable operational cost timesteps_hr = np.diff(solution.times()) / 3600 variable_operational_cost = 0.0 - if asset in solution.energy_system_components["heat_source"]: - nominator_vector = results[f"{asset}.Heat_flow"] + if asset_id in solution.energy_system_components["heat_source"]: + nominator_vector = results[f"{asset_id}.Heat_flow"] factor = 1.0 - if asset in [ + if asset_id in [ *solution.energy_system_components.get("air_water_heat_pump_elec", []), ]: var_op_costs = costs_esdl_asset.variableOperationalCosts.value / 1.0e6 assert var_op_costs > 0 factor = esdl_asset.attributes["COP"] - if asset in [ + if asset_id in [ *solution.energy_system_components.get("gas_heat_source_gas", []), ]: var_op_costs = costs_esdl_asset.variableOperationalCosts.value assert var_op_costs > 0 nominator_vector = ( - results[f"{asset}.Gas_demand_mass_flow"] - / parameters[f"{asset}.density_normal"] + results[f"{asset_id}.Gas_demand_mass_flow"] + / parameters[f"{asset_id}.density_normal"] * 3600 ) for ii in range(1, len(solution.times())): @@ -216,7 +217,7 @@ def test_gas_elect(self): var_op_costs * nominator_vector[ii] * timesteps_hr[ii - 1] / factor ) np.testing.assert_allclose( - variable_operational_cost, results[f"{asset}__variable_operational_cost"] + variable_operational_cost, results[f"{asset_id}__variable_operational_cost"] ) total_opex += variable_operational_cost diff --git a/tests/test_gas_multi_demand_source_node.py b/tests/test_gas_multi_demand_source_node.py index 7c9b340f2..9f99ba1b2 100644 --- a/tests/test_gas_multi_demand_source_node.py +++ b/tests/test_gas_multi_demand_source_node.py @@ -42,6 +42,12 @@ def energy_system_options(self): input_timeseries_file="timeseries.csv", ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map + + gas_demand_47d0_id = name_to_id_map["GasDemand_47d0"] + gas_demand_7978_id = name_to_id_map["GasDemand_7978"] + gas_producer_3573_id = name_to_id_map["GasProducer_3573"] + gas_producer_a977_id = name_to_id_map["GasProducer_a977"] # Test head at node for node, connected_pipes in heat_problem.energy_system_topology.gas_nodes.items(): @@ -56,8 +62,8 @@ def energy_system_options(self): # Test if head is going down np.testing.assert_allclose( - results["GasDemand_47d0.Gas_demand_mass_flow"] - + results["GasDemand_7978.Gas_demand_mass_flow"], - results["GasProducer_3573.Gas_source_mass_flow"] - + results["GasProducer_a977.Gas_source_mass_flow"], + results[f"{gas_demand_47d0_id}.Gas_demand_mass_flow"] + + results[f"{gas_demand_7978_id}.Gas_demand_mass_flow"], + results[f"{gas_producer_3573_id}.Gas_source_mass_flow"] + + results[f"{gas_producer_a977_id}.Gas_source_mass_flow"], ) diff --git a/tests/test_gas_pipe_topology_optimization.py b/tests/test_gas_pipe_topology_optimization.py index 72b7d528b..0b2a893e8 100644 --- a/tests/test_gas_pipe_topology_optimization.py +++ b/tests/test_gas_pipe_topology_optimization.py @@ -45,13 +45,24 @@ def energy_system_options(self): ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map for demand in solution.energy_system_components.get("gas_demand", []): target = solution.get_timeseries(f"{demand}.target_gas_demand").values np.testing.assert_allclose(target, results[f"{demand}.Gas_demand_mass_flow"]) - removed_pipes = ["Pipe_a718", "Pipe_9a6f", "Pipe_2927", "Pipe_8592"] - remained_pipes = ["Pipe_51e4", "Pipe_6b39", "Pipe_f9b0", "Pipe_96bc"] + removed_pipes = [ + name_to_id_map["Pipe_a718"], + name_to_id_map["Pipe_9a6f"], + name_to_id_map["Pipe_2927"], + name_to_id_map["Pipe_8592"], + ] + remained_pipes = [ + name_to_id_map["Pipe_51e4"], + name_to_id_map["Pipe_6b39"], + name_to_id_map["Pipe_f9b0"], + name_to_id_map["Pipe_96bc"], + ] for pipe in removed_pipes: np.testing.assert_allclose(results[f"{pipe}__gn_diameter"], 0.0, atol=1.0e-6) np.testing.assert_allclose(results[f"{pipe}__investment_cost"], 0.0, atol=1.0e-6) @@ -61,8 +72,10 @@ def energy_system_options(self): np.testing.assert_array_less(0.0, results[f"{pipe}__investment_cost"]) np.testing.assert_equal(True, None is not results[f"{pipe}__gn_max_discharge"]) - np.testing.assert_allclose(results["GasProducer_c92e.GasOut.Q"], 0.0, atol=1e-10) - np.testing.assert_array_less(0.0, results["GasProducer_17aa.GasOut.Q"]) + producer_unused_id = name_to_id_map["GasProducer_c92e"] + producer_used_id = name_to_id_map["GasProducer_17aa"] + np.testing.assert_allclose(results[f"{producer_unused_id}.GasOut.Q"], 0.0, atol=1e-10) + np.testing.assert_array_less(0.0, results[f"{producer_used_id}.GasOut.Q"]) if __name__ == "__main__": diff --git a/tests/test_gas_source_sink.py b/tests/test_gas_source_sink.py index a4ab006f4..7cea6cbe3 100644 --- a/tests/test_gas_source_sink.py +++ b/tests/test_gas_source_sink.py @@ -47,14 +47,19 @@ def energy_system_options(self): input_timeseries_file="timeseries.csv", ) results = soltion.extract_results() + name_to_id_map = soltion.esdl_asset_name_to_id_map + + gas_producer_id = name_to_id_map["GasProducer_0876"] + gas_demand_id = name_to_id_map["GasDemand_a2d8"] + pipe_id = name_to_id_map["Pipe_4abc"] # Test if mass conserved np.testing.assert_allclose( - results["GasProducer_0876.GasOut.Q"], results["GasDemand_a2d8.GasIn.Q"] + results[f"{gas_producer_id}.GasOut.Q"], results[f"{gas_demand_id}.GasIn.Q"] ) # Test if head is going down - np.testing.assert_array_less(results["Pipe_4abc.GasOut.H"], results["Pipe_4abc.GasIn.H"]) + np.testing.assert_array_less(results[f"{pipe_id}.GasOut.H"], results[f"{pipe_id}.GasIn.H"]) if __name__ == "__main__": diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 4ead4d77f..79f06af40 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -105,29 +105,37 @@ def energy_system_options(self): **kwargs, ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map - pipes = ["Pipe1"] - for itime in range(len(results[f"{pipes[0]}.dH"])): - v_max = solution.heat_network_settings["maximum_velocity"] - pipe_diameter = solution.parameters(0)[f"{pipes[0]}.diameter"] - pipe_wall_roughness = solution.energy_system_options()["wall_roughness"] - temperature = solution.parameters(0)[f"{pipes[0]}.temperature"] - pipe_length = solution.parameters(0)[f"{pipes[0]}.length"] + pipe1_id = name_to_id_map["Pipe1"] + source_id = name_to_id_map["source"] + demand_id = name_to_id_map["demand"] + pipe1_ret_id = name_to_id_map["Pipe1_ret"] + + v_max = solution.heat_network_settings["maximum_velocity"] + pipe_diameter = solution.parameters(0)[f"{pipe1_id}.diameter"] + pipe_wall_roughness = solution.energy_system_options()["wall_roughness"] + temperature = solution.parameters(0)[f"{pipe1_id}.temperature"] + pipe_length = solution.parameters(0)[f"{pipe1_id}.length"] + + for itime in range(len(results[f"{pipe1_id}.dH"])): v_points = np.linspace( 0.0, v_max, solution.heat_network_settings["n_linearization_lines"] + 1, ) v_inspect = ( - results[f"{pipes[0]}.Q"][itime] / solution.parameters(0)[f"{pipes[0]}.area"] + results[f"{pipe1_id}.Q"][itime] / solution.parameters(0)[f"{pipe1_id}.area"] ) idx = [] linearized_idx = [] idx.append( - (results["Pipe1.Q"][itime] / solution.parameters(0)["Pipe1.area"]) >= v_points + (results[f"{pipe1_id}.Q"][itime] / solution.parameters(0)[f"{pipe1_id}.area"]) + >= v_points ) idx.append( - (results["Pipe1.Q"][itime] / solution.parameters(0)["Pipe1.area"]) < v_points + (results[f"{pipe1_id}.Q"][itime] / solution.parameters(0)[f"{pipe1_id}.area"]) + < v_points ) linearized_idx.append(np.where(idx[0])[0][-1]) linearized_idx.append(np.where(idx[1])[0][0]) @@ -187,30 +195,32 @@ def energy_system_options(self): if head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY: np.testing.assert_array_less( - dh_manual_linear, -results[f"{pipes[0]}.dH"][itime] + 1e-6 + dh_manual_linear, -results[f"{pipe1_id}.dH"][itime] + 1e-6 ) elif head_loss_option_setting == HeadLossOption.LINEARIZED_N_LINES_EQUALITY: np.testing.assert_allclose( - -results[f"{pipes[0]}.dH"][itime], dh_manual_linear, rtol=1e-5, atol=1e-7 + -results[f"{pipe1_id}.dH"][itime], dh_manual_linear, rtol=1e-5, atol=1e-7 ) - for pipe in pipes: - velocities = results[f"{pipe}.Q"] / solution.parameters(0)[f"{pipe}.area"] - for ii in range(len(results[f"{pipe}.dH"])): - np.testing.assert_array_less( - darcy_weisbach.head_loss( - velocities[ii], - pipe_diameter, - pipe_length, - pipe_wall_roughness, - temperature, - ), - -results[f"{pipe}.dH"][ii], - ) + velocities = results[f"{pipe1_id}.Q"] / solution.parameters(0)[f"{pipe1_id}.area"] + for ii in range(len(results[f"{pipe1_id}.dH"])): + np.testing.assert_array_less( + darcy_weisbach.head_loss( + velocities[ii], + pipe_diameter, + pipe_length, + pipe_wall_roughness, + temperature, + ), + -results[f"{pipe1_id}.dH"][ii], + ) - pump_power = results["source.Pump_power"] + pump_power = results[f"{source_id}.Pump_power"] pump_power_post_process = ( - results["source.dH"] / GRAVITATIONAL_CONSTANT * 1.0e5 * results["source.Q"] + results[f"{source_id}.dH"] + / GRAVITATIONAL_CONSTANT + * 1.0e5 + * results[f"{source_id}.Q"] ) # The pump power should be overestimated compared to the actual head loss due to the @@ -219,14 +229,16 @@ def energy_system_options(self): np.testing.assert_array_less(pump_power_post_process, pump_power) sum_hp = ( - results["demand.HeatOut.Hydraulic_power"] - results["demand.HeatIn.Hydraulic_power"] + results[f"{demand_id}.HeatOut.Hydraulic_power"] + - results[f"{demand_id}.HeatIn.Hydraulic_power"] ) sum_hp += ( - results["Pipe1.HeatOut.Hydraulic_power"] - results["Pipe1.HeatIn.Hydraulic_power"] + results[f"{pipe1_id}.HeatOut.Hydraulic_power"] + - results[f"{pipe1_id}.HeatIn.Hydraulic_power"] ) sum_hp += ( - results["Pipe1_ret.HeatOut.Hydraulic_power"] - - results["Pipe1_ret.HeatIn.Hydraulic_power"] + results[f"{pipe1_ret_id}.HeatOut.Hydraulic_power"] + - results[f"{pipe1_ret_id}.HeatIn.Hydraulic_power"] ) np.testing.assert_allclose(abs(sum_hp), pump_power, atol=1.0e-3) @@ -318,10 +330,17 @@ def energy_system_options(self): input_timeseries_file="timeseries_import.csv", ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + pipe1_id = name_to_id_map["Pipe1"] + pipe2_id = name_to_id_map["Pipe2"] + pipe3_id = name_to_id_map["Pipe3"] + pipe4_id = name_to_id_map["Pipe4"] + pipe4_ret_id = name_to_id_map["Pipe4_ret"] demand_matching_test(solution, results) - pipes = ["Pipe1", "Pipe2", "Pipe3", "Pipe4"] + pipes = [pipe1_id, pipe2_id, pipe3_id, pipe4_id] # Only evaluate 1 pipe and 1 timestep for now to reduce the test case computational time ipipe = 0 itime = 0 @@ -395,7 +414,7 @@ def energy_system_options(self): for pipe in pipes: # Check that only one linear line segment is active for the head loss # linearization - if pipe not in ["Pipe4"]: # Pipe 4 has no flow rate + if pipe not in [pipe4_id]: # Pipe 4 has no flow rate np.testing.assert_allclose( results[f"{pipe}__pipe_linear_line_segment_num_1_neg_discharge"], 0.0, @@ -422,7 +441,7 @@ def energy_system_options(self): atol=1e-6, ) - if pipe not in ["Pipe4", "Pipe4_ret"]: + if pipe not in [pipe4_id, pipe4_ret_id]: velocities = results[f"{pipe}.Q"] / solution.parameters(0)[f"{pipe}.area"] for ii in range(len(results[f"{pipe}.dH"])): np.testing.assert_array_less( @@ -435,7 +454,7 @@ def energy_system_options(self): ), abs(results[f"{pipe}.dH"][ii]), ) - elif pipe in ["Pipe4", "Pipe4_ret"]: + elif pipe in [pipe4_id, pipe4_ret_id]: np.testing.assert_allclose( results["Pipe2.dH"][ii], results[f"{pipe}.dH"][ii] ) @@ -447,8 +466,8 @@ def energy_system_options(self): and counter_linearized_n_lines_weak_ineq_runs == 1 ): np.testing.assert_allclose( - results["Pipe4.HeatIn.Q"] - / (solution.parameters(0)["Pipe4.diameter"] ** 2 / 4.0 * np.pi), + results[f"{pipe4_id}.HeatIn.Q"] + / (solution.parameters(0)[f"{pipe4_id}.diameter"] ** 2 / 4.0 * np.pi), 0.0, atol=1e-03, ) @@ -458,15 +477,15 @@ def energy_system_options(self): and counter_linearized_n_lines_weak_ineq_runs == 2 ): np.testing.assert_allclose( - results["Pipe4.HeatIn.Q"] - / (solution.parameters(0)["Pipe4.diameter"] ** 2 / 4.0 * np.pi), + results[f"{pipe4_id}.HeatIn.Q"] + / (solution.parameters(0)[f"{pipe4_id}.diameter"] ** 2 / 4.0 * np.pi), 0.005, # Keep this value hard-coded to prevent future errors ) else: # LINEARIZED_N_LINES_EQUALITY np.testing.assert_array_less( solution.heat_network_settings["minimum_velocity"], - results["Pipe4.HeatIn.Q"] - / (solution.parameters(0)["Pipe4.diameter"] ** 2 / 4.0 * np.pi), + results[f"{pipe4_id}.HeatIn.Q"] + / (solution.parameters(0)[f"{pipe4_id}.diameter"] ** 2 / 4.0 * np.pi), ) # Checking that all the runs were done if counter_total_runs not in [ @@ -539,14 +558,17 @@ def energy_system_options(self): input_timeseries_file="timeseries.csv", ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + pipe_4abc_id = name_to_id_map["Pipe_4abc"] # Check the head loss variable np.testing.assert_allclose( - results["Pipe_4abc.GasOut.H"] - results["Pipe_4abc.GasIn.H"], - results["Pipe_4abc.dH"], + results[f"{pipe_4abc_id}.GasOut.H"] - results[f"{pipe_4abc_id}.GasIn.H"], + results[f"{pipe_4abc_id}.dH"], ) - pipes = ["Pipe_4abc"] + pipes = [pipe_4abc_id] v_max = solution.gas_network_settings["maximum_velocity"] pipe_diameter = solution.parameters(0)[f"{pipes[0]}.diameter"] pipe_wall_roughness = solution.energy_system_options()["wall_roughness"] @@ -696,15 +718,21 @@ def energy_system_options(self): input_timeseries_file="timeseries.csv", ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + pipe1_id = name_to_id_map["Pipe1"] + gas_demand_id = name_to_id_map["GasDemand_a2d8"] # Check the head loss variable np.testing.assert_allclose( - results["Pipe1.GasOut.H"] - results["Pipe1.GasIn.H"], - results["Pipe1.dH"], + results[f"{pipe1_id}.GasOut.H"] - results[f"{pipe1_id}.GasIn.H"], + results[f"{pipe1_id}.dH"], + ) + np.testing.assert_allclose( + -results[f"{pipe1_id}.dH"], results[f"{pipe1_id}.__head_loss"] ) - np.testing.assert_allclose(-results["Pipe1.dH"], results["Pipe1.__head_loss"]) - pipes = ["Pipe1"] + pipes = [pipe1_id] v_max = solution.gas_network_settings["maximum_velocity"] pipe_diameter = solution.parameters(0)[f"{pipes[0]}.diameter"] pipe_wall_roughness = solution.energy_system_options()["wall_roughness"] @@ -764,13 +792,13 @@ def energy_system_options(self): # Gas flow balance np.testing.assert_allclose( - results["GasDemand_a2d8.Gas_demand_mass_flow"], - solution.get_timeseries("GasDemand_a2d8.target_gas_demand").values, + results[f"{gas_demand_id}.Gas_demand_mass_flow"], + solution.get_timeseries(f"{gas_demand_id}.target_gas_demand").values, ) # demand_matching_test(solution, results) # TODO still to be updated for gas networks # Check that the aproximated head loss matches the maunally calculated value - np.testing.assert_allclose(dh_manual_linear, -results["Pipe1.dH"], atol=1e-6) + np.testing.assert_allclose(dh_manual_linear, -results[f"{pipe1_id}.dH"], atol=1e-6) for pipe in pipes: velocities = results[f"{pipe}.Q"] / solution.parameters(0)[f"{pipe}.area"] @@ -837,26 +865,30 @@ def test_gas_substation(self): ) results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map + + pipe1_id = name_to_id_map["Pipe1"] + pipe2_id = name_to_id_map["Pipe2"] demand_matching_test(solution, results) - assert parameters["Pipe1.pressure"] >= parameters["Pipe2.pressure"] + assert parameters[f"{pipe1_id}.pressure"] >= parameters[f"{pipe2_id}.pressure"] - for pipe in solution.energy_system_components.get("gas_pipe", []): - dh = results[f"{pipe}.dH"] - vel = results[f"{pipe}.Q"] / (np.pi * (parameters[f"{pipe}.diameter"] / 2.0) ** 2) + for pipe_id in solution.energy_system_components.get("gas_pipe", []): + dh = results[f"{pipe_id}.dH"] + vel = results[f"{pipe_id}.Q"] / (np.pi * (parameters[f"{pipe_id}.diameter"] / 2.0) ** 2) for i in range(len(solution.times())): analytical_dh = ( vel[i] / solution.gas_network_settings["maximum_velocity"] * darcy_weisbach.head_loss( solution.gas_network_settings["maximum_velocity"], - parameters[f"{pipe}.diameter"], - parameters[f"{pipe}.length"], + parameters[f"{pipe_id}.diameter"], + parameters[f"{pipe_id}.length"], solution.energy_system_options()["wall_roughness"], 20.0, network_type=NetworkSettings.NETWORK_TYPE_GAS, - pressure=parameters[f"{pipe}.pressure"], + pressure=parameters[f"{pipe_id}.pressure"], ) ) np.testing.assert_allclose(abs(dh[i]), abs(analytical_dh), atol=1.0e-6) @@ -886,26 +918,30 @@ def test_compressor(self): ) results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map + + pipe1_id = name_to_id_map["Pipe1"] + pipe2_id = name_to_id_map["Pipe2"] demand_matching_test(solution, results) - assert parameters["Pipe1.pressure"] <= parameters["Pipe2.pressure"] + assert parameters[f"{pipe1_id}.pressure"] <= parameters[f"{pipe2_id}.pressure"] - for pipe in solution.energy_system_components.get("gas_pipe", []): - dh = results[f"{pipe}.dH"] - vel = results[f"{pipe}.Q"] / (np.pi * (parameters[f"{pipe}.diameter"] / 2.0) ** 2) + for pipe_id in solution.energy_system_components.get("gas_pipe", []): + dh = results[f"{pipe_id}.dH"] + vel = results[f"{pipe_id}.Q"] / (np.pi * (parameters[f"{pipe_id}.diameter"] / 2.0) ** 2) for i in range(len(solution.times())): analytical_dh = ( vel[i] / solution.gas_network_settings["maximum_velocity"] * darcy_weisbach.head_loss( solution.gas_network_settings["maximum_velocity"], - parameters[f"{pipe}.diameter"], - parameters[f"{pipe}.length"], + parameters[f"{pipe_id}.diameter"], + parameters[f"{pipe_id}.length"], solution.energy_system_options()["wall_roughness"], 20.0, network_type=NetworkSettings.NETWORK_TYPE_GAS, - pressure=parameters[f"{pipe}.pressure"], + pressure=parameters[f"{pipe_id}.pressure"], ) ) np.testing.assert_allclose(abs(dh[i]), abs(analytical_dh), atol=1.0e-6) diff --git a/tests/test_heat.py b/tests/test_heat.py index 6160c736b..8235ea816 100644 --- a/tests/test_heat.py +++ b/tests/test_heat.py @@ -37,8 +37,10 @@ def test_heat_loss(self): ) results = case.extract_results() - source = results["source.Heat_source"] - demand = results["demand.Heat_demand"] + name_to_id_map = case.esdl_asset_name_to_id_map + + source = results[f"{name_to_id_map['source']}.Heat_source"] + demand = results[f"{name_to_id_map['demand']}.Heat_demand"] # With non-zero milp losses in pipes, the demand should always be # strictly lower than what is produced. @@ -50,7 +52,9 @@ def test_heat_loss(self): # Check emission information is passed to parameters parameters = case.parameters(0) - np.testing.assert_allclose(parameters["source.emission_coeff"], 20 * 1e-6 * 3600) + np.testing.assert_allclose( + parameters[f"{name_to_id_map['source']}.emission_coeff"], 20 * 1e-6 * 3600 + ) def test_zero_heat_loss(self): """ @@ -230,10 +234,20 @@ def _get_min_max_pressure(case): min_, max_ = _get_min_max_pressure(case_min_max_pressure) self.assertGreater(min_, self.min_pressure * 0.99) self.assertLess(max_, self.max_pressure * 1.01) - target = case_default.get_timeseries("demand.target_heat_demand").values + default_name_to_id_map = case_default.esdl_asset_name_to_id_map + default_demand_id = default_name_to_id_map["demand"] + target = case_default.get_timeseries(f"{default_demand_id}.target_heat_demand").values self.assertLess( - np.sum((case_default.extract_results()["demand.Heat_demand"] - target) ** 2), - np.sum((case_min_max_pressure.extract_results()["demand.Heat_demand"] - target) ** 2), + np.sum( + (case_default.extract_results()[f"{default_demand_id}.Heat_demand"] - target) ** 2 + ), + np.sum( + ( + case_min_max_pressure.extract_results()[f"{default_demand_id}.Heat_demand"] + - target + ) + ** 2 + ), ) @@ -306,7 +320,9 @@ def test_disconnected_network_pipe(self): input_timeseries_file="timeseries_import.csv", ) results_connected = case_connected.extract_results() - q_connected = results_connected["Pipe1.Q"] + connected_name_to_id_map = case_connected.esdl_asset_name_to_id_map + pipe1_connected_id = connected_name_to_id_map["Pipe1"] + q_connected = results_connected[f"{pipe1_connected_id}.Q"] case_disconnected = run_esdl_mesido_optimization( self.ModelDisconnected, @@ -317,7 +333,9 @@ def test_disconnected_network_pipe(self): input_timeseries_file="timeseries_import.csv", ) results_disconnected = case_disconnected.extract_results() - q_disconnected = results_disconnected["Pipe1.Q"] + disconnected_name_to_id_map = case_disconnected.esdl_asset_name_to_id_map + pipe1_disconnected_id = disconnected_name_to_id_map["Pipe1"] + q_disconnected = results_disconnected[f"{pipe1_disconnected_id}.Q"] # Sanity check, as we rely on the minimum velocity being strictly # larger than zero for the discharge constraint to disconnect the @@ -326,8 +344,12 @@ def test_disconnected_network_pipe(self): self.assertLess(q_disconnected[1], q_connected[1]) self.assertAlmostEqual(q_disconnected[1], 0.0, 5) - np.testing.assert_allclose(results_connected["Pipe1.__is_disconnected"], 0.0) - np.testing.assert_allclose(results_disconnected["Pipe1.__is_disconnected"][1], 1.0) + np.testing.assert_allclose( + results_connected[f"{pipe1_connected_id}.__is_disconnected"], 0.0 + ) + np.testing.assert_allclose( + results_disconnected[f"{pipe1_disconnected_id}.__is_disconnected"][1], 1.0 + ) np.testing.assert_allclose(q_connected[2:], q_disconnected[2:]) @@ -359,7 +381,8 @@ def test_disconnected_pipe_darcy_weisbach(self): input_timeseries_file="timeseries_import.csv", ) results_linear = case_linear.extract_results() - q_linear = results_linear["Pipe1.Q"] + linear_name_to_id_map = case_linear.esdl_asset_name_to_id_map + q_linear = results_linear[f"{linear_name_to_id_map['Pipe1']}.Q"] case_dw = run_esdl_mesido_optimization( self.ModelDisconnectedDarcyWeisbach, @@ -370,12 +393,14 @@ def test_disconnected_pipe_darcy_weisbach(self): input_timeseries_file="timeseries_import.csv", ) results_dw = case_dw.extract_results() - q_dw = results_dw["Pipe1.Q"] + dw_name_to_id_map = case_dw.esdl_asset_name_to_id_map + pipe1_dw_id = dw_name_to_id_map["Pipe1"] + q_dw = results_dw[f"{pipe1_dw_id}.Q"] # Without any constraints on the maximum or minimum head/pressure # (loss) in the system, we expect equal results. np.testing.assert_allclose(q_linear, q_dw) - np.testing.assert_allclose(results_dw["Pipe1.__is_disconnected"][1], 1.0) + np.testing.assert_allclose(results_dw[f"{pipe1_dw_id}.__is_disconnected"][1], 1.0) if __name__ == "__main__": diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index 96a7586f2..932f8ec38 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -317,15 +317,16 @@ def energy_system_options(self): # TODO: add check on values for hydraulic power. results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map demand_matching_test(solution, results) - pipe = "Pipe_4abc" - pipe_hp_in = results[f"{pipe}.GasIn.Hydraulic_power"] - pipe_hp_out = results[f"{pipe}.GasOut.Hydraulic_power"] - pipe_hp = results[f"{pipe}.Hydraulic_power"] + pipe_id = name_to_id_map["Pipe_4abc"] + pipe_hp_in = results[f"{pipe_id}.GasIn.Hydraulic_power"] + pipe_hp_out = results[f"{pipe_id}.GasOut.Hydraulic_power"] + pipe_hp = results[f"{pipe_id}.Hydraulic_power"] - pipe_mass = results["Pipe_4abc.GasIn.mass_flow"] + pipe_mass = results[f"{pipe_id}.GasIn.mass_flow"] # due to non linearity, every timestep on new linearized line, a doubled mass flow should # result in more than doubled hydraulic power @@ -342,16 +343,16 @@ def energy_system_options(self): # TODO: use mass flow to get calculated hydraulic power - rho = parameters[f"{pipe}.rho"] - d = parameters[f"{pipe}.diameter"] - area = parameters[f"{pipe}.area"] - length = parameters[f"{pipe}.length"] - pressure = parameters[f"{pipe}.pressure"] + rho = parameters[f"{pipe_id}.rho"] + d = parameters[f"{pipe_id}.diameter"] + area = parameters[f"{pipe_id}.area"] + length = parameters[f"{pipe_id}.length"] + pressure = parameters[f"{pipe_id}.pressure"] wall_roughness = solution.energy_system_options()["wall_roughness"] v_max = solution.gas_network_settings["maximum_velocity"] temperature = 20.0 - v_inspect = results[f"{pipe}.GasOut.Q"] / solution.parameters(0)[f"{pipe}.area"] + v_inspect = results[f"{pipe_id}.GasOut.Q"] / solution.parameters(0)[f"{pipe_id}.area"] calc_hp_accurate = [ rho @@ -395,9 +396,9 @@ def energy_system_options(self): a = np.diff(calc_hp_v_points) / np.diff(v_points_volumetric) b = calc_hp_v_points[1:] - a * v_points_volumetric[1:] - np.testing.assert_allclose(pipe_hp[0], a[0] * results[f"{pipe}.GasOut.Q"][0] + b[0]) - np.testing.assert_allclose(pipe_hp[1], a[1] * results[f"{pipe}.GasOut.Q"][1] + b[1]) - np.testing.assert_allclose(pipe_hp[2], a[2] * results[f"{pipe}.GasOut.Q"][2] + b[2]) + np.testing.assert_allclose(pipe_hp[0], a[0] * results[f"{pipe_id}.GasOut.Q"][0] + b[0]) + np.testing.assert_allclose(pipe_hp[1], a[1] * results[f"{pipe_id}.GasOut.Q"][1] + b[1]) + np.testing.assert_allclose(pipe_hp[2], a[2] * results[f"{pipe_id}.GasOut.Q"][2] + b[2]) def test_hydraulic_power_gas_multi_demand(self): """ @@ -457,23 +458,32 @@ def energy_system_options(self): # TODO: add check on values for hydraulic power. results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map - pipes = ["Pipe_7c53", "Pipe_f1a4", "Pipe_0e39", "Pipe_c50f"] - for pipe in pipes: - pipe_hp_in = results[f"{pipe}.GasIn.Hydraulic_power"] - pipe_hp_out = results[f"{pipe}.GasOut.Hydraulic_power"] - pipe_hp = results[f"{pipe}.Hydraulic_power"] + pipe_7c53_id = name_to_id_map["Pipe_7c53"] + pipe_f1a4_id = name_to_id_map["Pipe_f1a4"] + pipe_0e39_id = name_to_id_map["Pipe_0e39"] + pipe_c50f_id = name_to_id_map["Pipe_c50f"] - pipe_mass = results[f"{pipe}.GasIn.mass_flow"] + pipes = [pipe_7c53_id, pipe_f1a4_id, pipe_0e39_id, pipe_c50f_id] + pipes_demand = [pipe_7c53_id, pipe_c50f_id] + pipes_source = [pipe_0e39_id, pipe_f1a4_id] + + for pipe_id in pipes: + pipe_hp_in = results[f"{pipe_id}.GasIn.Hydraulic_power"] + pipe_hp_out = results[f"{pipe_id}.GasOut.Hydraulic_power"] + pipe_hp = results[f"{pipe_id}.Hydraulic_power"] + + pipe_mass = results[f"{pipe_id}.GasIn.mass_flow"] np.testing.assert_allclose(pipe_hp, pipe_hp_in - pipe_hp_out, atol=1e-8) - if pipe in ["Pipe_7c53", "Pipe_c50f"]: + if pipe_id in pipes_demand: # connected to demand, thus hydraulic_power should be 0 np.testing.assert_allclose(0, pipe_hp_out) v_max = solution.gas_network_settings["maximum_velocity"] - v_inspect = results[f"{pipe}.GasOut.Q"] / solution.parameters(0)[f"{pipe}.area"] + v_inspect = results[f"{pipe_id}.GasOut.Q"] / solution.parameters(0)[f"{pipe_id}.area"] v_points = [ i * v_max / solution.gas_network_settings["n_linearization_lines"] for i in range(solution.gas_network_settings["n_linearization_lines"] + 1) @@ -560,12 +570,10 @@ def energy_system_options(self): "For this test to succeed the flow should increase over time" ) np.testing.assert_array_less( - 0.5, ind_check, f"{pipe} is not checked between multiple lines" + 0.5, ind_check, f"{pipe_id} is not checked between multiple lines" ) # balance of hydraulic power - pipes_demand = ["Pipe_7c53", "Pipe_c50f"] - pipes_source = ["Pipe_0e39", "Pipe_f1a4"] balance = np.zeros(3) for p in pipes_demand: balance += results[f"{p}.GasIn.Hydraulic_power"] diff --git a/tests/test_insulation.py b/tests/test_insulation.py index f1d09da89..525f43dd2 100644 --- a/tests/test_insulation.py +++ b/tests/test_insulation.py @@ -69,6 +69,14 @@ def test_insulation_heatdemand(self): input_timeseries_file="timeseries_import.xml", ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map + + demand_f15e_id = name_to_id_map["HeatingDemand_f15e"] + demand_e6b3_id = name_to_id_map["HeatingDemand_e6b3"] + source_6783_id = name_to_id_map["ResidualHeatSource_6783"] + source_4539_id = name_to_id_map["ResidualHeatSource_4539"] + hp_cd41_id = name_to_id_map["HeatPump_cd41"] + storage_bce7_id = name_to_id_map["HeatStorage_bce7"] test = TestCase() test.assertTrue(heat_problem.solver_stats["success"], msg="Optimisation did not succeed") @@ -76,21 +84,21 @@ def test_insulation_heatdemand(self): # Check that only the demand for insulation A has been selected for every time step np.testing.assert_allclose( 1.0, - results["HeatingDemand_f15e__demand_insulation_class_A"], + results[f"{demand_f15e_id}__demand_insulation_class_A"], err_msg="The lowest demand (insulation level A) has not been selected for every time" " step", ) np.testing.assert_allclose( 1.0, - results["HeatingDemand_e6b3__demand_insulation_class_A"], + results[f"{demand_e6b3_id}__demand_insulation_class_A"], err_msg="The lowest demand (insulation level A) has not been selected for every time" " step", ) other_demand_insulation_class = ( - results["HeatingDemand_f15e__demand_insulation_class_B"] - + results["HeatingDemand_e6b3__demand_insulation_class_B"] - + results["HeatingDemand_f15e__demand_insulation_class_C"] - + results["HeatingDemand_e6b3__demand_insulation_class_C"] + results[f"{demand_f15e_id}__demand_insulation_class_B"] + + results[f"{demand_e6b3_id}__demand_insulation_class_B"] + + results[f"{demand_f15e_id}__demand_insulation_class_C"] + + results[f"{demand_e6b3_id}__demand_insulation_class_C"] ) np.testing.assert_allclose( 0.0, @@ -99,13 +107,13 @@ def test_insulation_heatdemand(self): ) # Check that the heat sources (not connected to HP) + HP secondary > demand tot_src = ( - results["ResidualHeatSource_6783.Heat_source"] - + results["ResidualHeatSource_4539.Heat_source"] - + results["HeatPump_cd41.Secondary_heat"] - - results["HeatStorage_bce7.Heat_buffer"] + results[f"{source_6783_id}.Heat_source"] + + results[f"{source_4539_id}.Heat_source"] + + results[f"{hp_cd41_id}.Secondary_heat"] + - results[f"{storage_bce7_id}.Heat_buffer"] ) / 1.0e6 tot_dmnd = ( - results["HeatingDemand_f15e.Heat_demand"] + results["HeatingDemand_e6b3.Heat_demand"] + results[f"{demand_f15e_id}.Heat_demand"] + results[f"{demand_e6b3_id}.Heat_demand"] ) / 1.0e6 np.testing.assert_array_less( (tot_dmnd - tot_src), 0.0, err_msg="The heat source is not sufficient" @@ -114,15 +122,15 @@ def test_insulation_heatdemand(self): # factor. Insulation level "A" should be active, which is index=0 in the insulation_levels # attributes index np.testing.assert_allclose( - heat_problem.base_demand_load("HeatingDemand_f15e")[0:5] + heat_problem.base_demand_load(f"{demand_f15e_id}")[0:5] * heat_problem.insulation_levels()["scaling_factor"][0], - results["HeatingDemand_f15e.Heat_demand"], + results[f"{demand_f15e_id}.Heat_demand"], err_msg="The scaled demand value is incorrect: HeatingDemand_f15e.Heat_demand", ) np.testing.assert_allclose( - heat_problem.base_demand_load("HeatingDemand_e6b3")[0:5] + heat_problem.base_demand_load(f"{demand_e6b3_id}")[0:5] * heat_problem.insulation_levels()["scaling_factor"][0], - results["HeatingDemand_e6b3.Heat_demand"], + results[f"{demand_e6b3_id}.Heat_demand"], err_msg="The scaled demand value is incorrect: HeatingDemand_e6b3.Heat_demand", ) @@ -149,6 +157,10 @@ def test_insulation_heatdemand_b(self): input_timeseries_file="timeseries_import.xml", ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map + + heating_demand_f15e_id = name_to_id_map["HeatingDemand_f15e"] + heating_demand_e6b3_id = name_to_id_map["HeatingDemand_e6b3"] test = TestCase() test.assertTrue(heat_problem.solver_stats["success"], msg="Optimisation did not succeed") @@ -156,13 +168,13 @@ def test_insulation_heatdemand_b(self): # Check that only the demand for insulation A has been selected for every time step np.testing.assert_allclose( 1.0, - results["HeatingDemand_e6b3__demand_insulation_class_A"], + results[f"{heating_demand_e6b3_id}__demand_insulation_class_A"], err_msg="The lowest demand (insulation level A) has not been selected for every time" " step", ) other_demand_insulation_class = ( - abs(results["HeatingDemand_e6b3__demand_insulation_class_B"]) - + results["HeatingDemand_e6b3__demand_insulation_class_C"] + abs(results[f"{heating_demand_e6b3_id}__demand_insulation_class_B"]) + + results[f"{heating_demand_e6b3_id}__demand_insulation_class_C"] ) np.testing.assert_allclose( @@ -174,7 +186,7 @@ def test_insulation_heatdemand_b(self): # Check that insulation level C is active for HeatingDemand_f15e np.testing.assert_allclose( 1.0, - results["HeatingDemand_f15e__demand_insulation_class_C"], + results[f"{heating_demand_f15e_id}__demand_insulation_class_C"], err_msg="The lowest demand (insulation level C) has not been selected for every time" " step", ) diff --git a/tests/test_logical_links.py b/tests/test_logical_links.py index ffd043427..6eca7497c 100644 --- a/tests/test_logical_links.py +++ b/tests/test_logical_links.py @@ -35,12 +35,18 @@ def test_logical_links_electricity(self): input_timeseries_file="timeseries.csv", ) results = problem.extract_results() + name_to_id_map = problem.esdl_asset_name_to_id_map + + demand_281a_id = name_to_id_map["ElectricityDemand_281a"] + demand_e527_id = name_to_id_map["ElectricityDemand_e527"] + prod_17a1_id = name_to_id_map["ElectricityProducer_17a1"] + prod_a215_id = name_to_id_map["ElectricityProducer_a215"] np.testing.assert_allclose( - results["ElectricityDemand_281a.Electricity_demand"] - + results["ElectricityDemand_e527.Electricity_demand"], - results["ElectricityProducer_17a1.Electricity_source"] - + results["ElectricityProducer_a215.Electricity_source"], + results[f"{demand_281a_id}.Electricity_demand"] + + results[f"{demand_e527_id}.Electricity_demand"], + results[f"{prod_17a1_id}.Electricity_source"] + + results[f"{prod_a215_id}.Electricity_source"], ) def test_logical_links_gas(self): @@ -67,12 +73,18 @@ def test_logical_links_gas(self): input_timeseries_file="timeseries.csv", ) results = problem.extract_results() + name_to_id_map = problem.esdl_asset_name_to_id_map + + demand_47d0_id = name_to_id_map["GasDemand_47d0"] + demand_7978_id = name_to_id_map["GasDemand_7978"] + prod_a977_id = name_to_id_map["GasProducer_a977"] + prod_3573_id = name_to_id_map["GasProducer_3573"] np.testing.assert_allclose( - results["GasDemand_47d0.Gas_demand_mass_flow"] - + results["GasDemand_7978.Gas_demand_mass_flow"], - results["GasProducer_a977.Gas_source_mass_flow"] - + results["GasProducer_3573.Gas_source_mass_flow"], + results[f"{demand_47d0_id}.Gas_demand_mass_flow"] + + results[f"{demand_7978_id}.Gas_demand_mass_flow"], + results[f"{prod_a977_id}.Gas_source_mass_flow"] + + results[f"{prod_3573_id}.Gas_source_mass_flow"], ) def test_logical_links_nodes(self): @@ -97,12 +109,16 @@ def test_logical_links_nodes(self): input_timeseries_file="timeseries.csv", ) results = problem.extract_results() + name_to_id_map = problem.esdl_asset_name_to_id_map + + producer_id = name_to_id_map["GasProducer_0876"] + demand_id = name_to_id_map["GasDemand_a2d8"] demand_matching_test(problem, results) # We check that no artificial gas in created np.testing.assert_allclose( - results["GasProducer_0876.GasOut.Q"], results["GasDemand_a2d8.GasIn.Q"] + results[f"{producer_id}.GasOut.Q"], results[f"{demand_id}.GasIn.Q"] ) # We test conservaiton of flow at the nodes @@ -180,17 +196,21 @@ def test_logical_links_network_hybrid(self): input_timeseries_file="timeseries_short.csv", ) results = problem.extract_results() + name_to_id_map = problem.esdl_asset_name_to_id_map + + cable_id = name_to_id_map["ElectricityCable_e388"] + bus_id = name_to_id_map["Bus_24cf"] + wind_park_id = name_to_id_map["WindPark_9074"] assert all( - results["ElectricityCable_e388.ElectricityIn.V"] - == results["Bus_24cf.ElectricityConn[3].V"] + results[f"{cable_id}.ElectricityIn.V"] == results[f"{bus_id}.ElectricityConn[3].V"] ) assert ( np.sum( np.abs( - results["WindPark_9074.ElectricityOut.V"] - - results["Bus_24cf.ElectricityConn[3].V"] + results[f"{wind_park_id}.ElectricityOut.V"] + - results[f"{bus_id}.ElectricityConn[3].V"] ) ) != 0.0 diff --git a/tests/test_max_size_and_optional_assets.py b/tests/test_max_size_and_optional_assets.py index 01a263696..e3f73f601 100644 --- a/tests/test_max_size_and_optional_assets.py +++ b/tests/test_max_size_and_optional_assets.py @@ -59,26 +59,33 @@ def test_max_size_and_aggr_count(self): results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map + + producer_1_id = name_to_id_map["HeatProducer_1"] + producer_2_id = name_to_id_map["HeatProducer_2"] + geo_id = name_to_id_map["GeothermalSource_50cf"] + ates_id = name_to_id_map["ATES_033c"] + buffer_id = name_to_id_map["HeatStorage_74c1"] # Producer 1 and geothermal source should not produce due to higher cost # Producer 2 should produce - heat_1 = results["HeatProducer_1.Heat_source"] - heat_2 = results["HeatProducer_2.Heat_source"] - heat_geo = results["GeothermalSource_50cf.Heat_source"] - prod_1_placed = results["HeatProducer_1_aggregation_count"] - prod_2_placed = results["HeatProducer_2_aggregation_count"] - geo_placed = results["GeothermalSource_50cf_aggregation_count"] - var_cost_1 = results["HeatProducer_1__variable_operational_cost"] - var_cost_2 = results["HeatProducer_2__variable_operational_cost"] - fix_cost_1 = results["HeatProducer_1__fixed_operational_cost"] - fix_cost_2 = results["HeatProducer_2__fixed_operational_cost"] - inst_cost_1 = results["HeatProducer_1__installation_cost"] - inst_cost_2 = results["HeatProducer_2__installation_cost"] - inv_cost_1 = results["HeatProducer_1__investment_cost"] - inv_cost_2 = results["HeatProducer_2__investment_cost"] - max_size_1 = results["HeatProducer_1__max_size"] - max_size_2 = results["HeatProducer_2__max_size"] - max_size_geo = results["GeothermalSource_50cf__max_size"] + heat_1 = results[f"{producer_1_id}.Heat_source"] + heat_2 = results[f"{producer_2_id}.Heat_source"] + heat_geo = results[f"{geo_id}.Heat_source"] + prod_1_placed = results[f"{producer_1_id}_aggregation_count"] + prod_2_placed = results[f"{producer_2_id}_aggregation_count"] + geo_placed = results[f"{geo_id}_aggregation_count"] + var_cost_1 = results[f"{producer_1_id}__variable_operational_cost"] + var_cost_2 = results[f"{producer_2_id}__variable_operational_cost"] + fix_cost_1 = results[f"{producer_1_id}__fixed_operational_cost"] + fix_cost_2 = results[f"{producer_2_id}__fixed_operational_cost"] + inst_cost_1 = results[f"{producer_1_id}__installation_cost"] + inst_cost_2 = results[f"{producer_2_id}__installation_cost"] + inv_cost_1 = results[f"{producer_1_id}__investment_cost"] + inv_cost_2 = results[f"{producer_2_id}__investment_cost"] + max_size_1 = results[f"{producer_1_id}__max_size"] + max_size_2 = results[f"{producer_2_id}__max_size"] + max_size_geo = results[f"{geo_id}__max_size"] # Test if source 1 and the geothermal source is off and 2 is producing np.testing.assert_allclose(heat_1, 0.0, atol=1e-6) @@ -92,12 +99,12 @@ def test_max_size_and_aggr_count(self): # Geothermal should not be placed while only having an investment cost (high) input np.testing.assert_allclose(geo_placed, 0.0) np.testing.assert_allclose( - solution.parameters(0)["GeothermalSource_50cf.investment_cost_coefficient"], + solution.parameters(0)[f"{geo_id}.investment_cost_coefficient"], 100.0, # euro/W, value was specifcially chosen this high top prevent its usage atol=1.0e-6, ) np.testing.assert_allclose( - 0.0, solution.parameters(0)["GeothermalSource_50cf.installation_cost"], atol=1.0e-9 + 0.0, solution.parameters(0)[f"{geo_id}.installation_cost"], atol=1.0e-9 ) # Test that max size is correct, note that we use an equality check as due to the cost @@ -109,7 +116,7 @@ def test_max_size_and_aggr_count(self): # Test that investmentcost is correctly linked to max size np.testing.assert_allclose( inv_cost_2, - solution.parameters(0)["HeatProducer_2.investment_cost_coefficient"] * max_size_2, + solution.parameters(0)[f"{producer_2_id}.investment_cost_coefficient"] * max_size_2, ) # Test that cost only exist for 2 and not for 1. Note the tolerances @@ -118,18 +125,18 @@ def test_max_size_and_aggr_count(self): np.testing.assert_allclose( var_cost_2, np.sum( - results["HeatProducer_2.Heat_source"][1:] + results[f"{producer_2_id}.Heat_source"][1:] * (solution.times()[1:] - solution.times()[:-1]) / 3600 ) - * parameters["HeatProducer_2.variable_operational_cost_coefficient"], + * parameters[f"{producer_2_id}.variable_operational_cost_coefficient"], atol=1000.0, rtol=1.0e-2, ) np.testing.assert_allclose(fix_cost_1, 0.0, atol=1.0e-6) np.testing.assert_allclose( fix_cost_2, - max_size_2 * parameters["HeatProducer_2.fixed_operational_cost_coefficient"], + max_size_2 * parameters[f"{producer_2_id}.fixed_operational_cost_coefficient"], atol=1.0e-6, ) np.testing.assert_allclose(inst_cost_1, 0.0, atol=1e-9) @@ -137,7 +144,7 @@ def test_max_size_and_aggr_count(self): np.testing.assert_allclose(inv_cost_1, 0.0, atol=1e-9) np.testing.assert_allclose( inv_cost_2, - max_size_2 * parameters["HeatProducer_2.investment_cost_coefficient"], + max_size_2 * parameters[f"{producer_2_id}.investment_cost_coefficient"], atol=1.0, rtol=1.0e-2, ) @@ -146,13 +153,13 @@ def test_max_size_and_aggr_count(self): # losses as the buffer has a minimum fraction volume of 5%. # Therefore, we can check the max_size constraint. np.testing.assert_allclose( - True, results["HeatStorage_74c1.Stored_heat"] <= results["HeatStorage_74c1__max_size"] + True, results[f"{buffer_id}.Stored_heat"] <= results[f"{buffer_id}__max_size"] ) np.testing.assert_allclose( - True, abs(results["ATES_033c.Heat_ates"]) <= results["ATES_033c__max_size"] + True, abs(results[f"{ates_id}.Heat_ates"]) <= results[f"{ates_id}__max_size"] ) - np.testing.assert_allclose(results["ATES_033c_aggregation_count"], 1.0) - np.testing.assert_allclose(results["HeatStorage_74c1_aggregation_count"], 1.0) + np.testing.assert_allclose(results[f"{ates_id}_aggregation_count"], 1.0) + np.testing.assert_allclose(results[f"{buffer_id}_aggregation_count"], 1.0) import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates from models.test_case_small_network_ates_buffer_optional_assets.src.run_ates import ( @@ -176,11 +183,15 @@ def test_max_size_and_aggr_count(self): ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + ates_id = name_to_id_map["ATES_033c"] + buffer_id = name_to_id_map["HeatStorage_74c1"] - np.testing.assert_allclose(results["ATES_033c.Heat_ates"], 0.0, atol=1.0e-6) - np.testing.assert_allclose(results["HeatStorage_74c1.Stored_heat"], 0.0, atol=1.0e-3) - np.testing.assert_allclose(results["ATES_033c_aggregation_count"], 0.0, atol=1.0e-6) - np.testing.assert_allclose(results["HeatStorage_74c1_aggregation_count"], 0.0, atol=1.0e-6) + np.testing.assert_allclose(results[f"{ates_id}.Heat_ates"], 0.0, atol=1.0e-6) + np.testing.assert_allclose(results[f"{buffer_id}.Stored_heat"], 0.0, atol=1.0e-3) + np.testing.assert_allclose(results[f"{ates_id}_aggregation_count"], 0.0, atol=1.0e-6) + np.testing.assert_allclose(results[f"{buffer_id}_aggregation_count"], 0.0, atol=1.0e-6) demand_matching_test(solution, results) energy_conservation_test(solution, results) diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index 52261eadf..f0575c406 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -46,26 +46,35 @@ def test_heat_pump_elec_min_heat(self): input_timeseries_file="timeseries_import.xml", ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map demand_matching_test(solution, results) energy_conservation_test(solution, results, atol_total=11) heat_to_discharge_test(solution, results) - v_min_hp = solution.parameters(0)["GenericConversion_3d3f.min_voltage"] - i_max = solution.parameters(0)["ElectricityCable_9d3b.max_current"] - cop = solution.parameters(0)["GenericConversion_3d3f.COP"] - - heatsource_prim = results["ResidualHeatSource_61b8.Heat_source"] - heatsource_sec = results["ResidualHeatSource_aec9.Heat_source"] - heatpump_power = results["GenericConversion_3d3f.Power_elec"] - heatpump_heat_prim = results["GenericConversion_3d3f.Primary_heat"] - heatpump_heat_sec = results["GenericConversion_3d3f.Secondary_heat"] - heatdemand_sec = results["HeatingDemand_18aa.Heat_demand"] - heatdemand_prim = results["HeatingDemand_3322.Heat_demand"] - elec_prod_power = results["ElectricityProducer_ac2e.ElectricityOut.Power"] - - heatpump_voltage = results["GenericConversion_3d3f.ElectricityIn.V"] - heatpump_current = results["GenericConversion_3d3f.ElectricityIn.I"] + gc_id = name_to_id_map["GenericConversion_3d3f"] + cable_id = name_to_id_map["ElectricityCable_9d3b"] + heatsource_prim_id = name_to_id_map["ResidualHeatSource_61b8"] + heatsource_sec_id = name_to_id_map["ResidualHeatSource_aec9"] + heatdemand_sec_id = name_to_id_map["HeatingDemand_18aa"] + heatdemand_prim_id = name_to_id_map["HeatingDemand_3322"] + elec_prod_id = name_to_id_map["ElectricityProducer_ac2e"] + + v_min_hp = solution.parameters(0)[f"{gc_id}.min_voltage"] + i_max = solution.parameters(0)[f"{cable_id}.max_current"] + cop = solution.parameters(0)[f"{gc_id}.COP"] + + heatsource_prim = results[f"{heatsource_prim_id}.Heat_source"] + heatsource_sec = results[f"{heatsource_sec_id}.Heat_source"] + heatpump_power = results[f"{gc_id}.Power_elec"] + heatpump_heat_prim = results[f"{gc_id}.Primary_heat"] + heatpump_heat_sec = results[f"{gc_id}.Secondary_heat"] + heatdemand_sec = results[f"{heatdemand_sec_id}.Heat_demand"] + heatdemand_prim = results[f"{heatdemand_prim_id}.Heat_demand"] + elec_prod_power = results[f"{elec_prod_id}.ElectricityOut.Power"] + + heatpump_voltage = results[f"{gc_id}.ElectricityIn.V"] + heatpump_current = results[f"{gc_id}.ElectricityIn.I"] np.testing.assert_allclose(heatsource_sec, 0.0, atol=1.0e-3) @@ -112,26 +121,35 @@ def test_heat_pump_elec_min_heat_curr_limit(self): input_timeseries_file="timeseries_import.xml", ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) - v_min_hp = solution.parameters(0)["GenericConversion_3d3f.min_voltage"] - i_max = solution.parameters(0)["ElectricityCable_9d3b.max_current"] - cop = solution.parameters(0)["GenericConversion_3d3f.COP"] - - heatsource_prim = results["ResidualHeatSource_61b8.Heat_source"] - heatsource_sec = results["ResidualHeatSource_aec9.Heat_source"] - heatpump_power = results["GenericConversion_3d3f.Power_elec"] - heatpump_heat_prim = results["GenericConversion_3d3f.Primary_heat"] - heatpump_heat_sec = results["GenericConversion_3d3f.Secondary_heat"] - heatdemand_sec = results["HeatingDemand_18aa.Heat_demand"] - heatdemand_prim = results["HeatingDemand_3322.Heat_demand"] - elec_prod_power = results["ElectricityProducer_ac2e.ElectricityOut.Power"] - - heatpump_voltage = results["GenericConversion_3d3f.ElectricityIn.V"] - heatpump_current = results["GenericConversion_3d3f.ElectricityIn.I"] + gc_id = name_to_id_map["GenericConversion_3d3f"] + cable_id = name_to_id_map["ElectricityCable_9d3b"] + heatsource_prim_id = name_to_id_map["ResidualHeatSource_61b8"] + heatsource_sec_id = name_to_id_map["ResidualHeatSource_aec9"] + heatdemand_sec_id = name_to_id_map["HeatingDemand_18aa"] + heatdemand_prim_id = name_to_id_map["HeatingDemand_3322"] + elec_prod_id = name_to_id_map["ElectricityProducer_ac2e"] + + v_min_hp = solution.parameters(0)[f"{gc_id}.min_voltage"] + i_max = solution.parameters(0)[f"{cable_id}.max_current"] + cop = solution.parameters(0)[f"{gc_id}.COP"] + + heatsource_prim = results[f"{heatsource_prim_id}.Heat_source"] + heatsource_sec = results[f"{heatsource_sec_id}.Heat_source"] + heatpump_power = results[f"{gc_id}.Power_elec"] + heatpump_heat_prim = results[f"{gc_id}.Primary_heat"] + heatpump_heat_sec = results[f"{gc_id}.Secondary_heat"] + heatdemand_sec = results[f"{heatdemand_sec_id}.Heat_demand"] + heatdemand_prim = results[f"{heatdemand_prim_id}.Heat_demand"] + elec_prod_power = results[f"{elec_prod_id}.ElectricityOut.Power"] + + heatpump_voltage = results[f"{gc_id}.ElectricityIn.V"] + heatpump_current = results[f"{gc_id}.ElectricityIn.I"] # check that heatpump isnot providing enough energy to secondary side for demanded np.testing.assert_array_less( @@ -184,22 +202,29 @@ def test_heat_pump_elec_min_elec(self): input_timeseries_file="timeseries_import.xml", ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) electric_power_conservation_test(solution, results) + gc_id = name_to_id_map["GenericConversion_3d3f"] + heatsource_prim_id = name_to_id_map["ResidualHeatSource_61b8"] + heatdemand_prim_id = name_to_id_map["HeatingDemand_3322"] + elec_prod_id = name_to_id_map["ElectricityProducer_ac2e"] + tol = 1e-6 - heatsource_prim = results["ResidualHeatSource_61b8.Heat_source"] - # heatsource_sec = results["ResidualHeatSource_aec9.Heat_source"] - heatpump_power = results["GenericConversion_3d3f.Power_elec"] - heatpump_heat_prim = results["GenericConversion_3d3f.Primary_heat"] - heatpump_heat_sec = results["GenericConversion_3d3f.Secondary_heat"] - heatpump_disabled = results["GenericConversion_3d3f.__disabled"] - # heatdemand_sec = results["HeatingDemand_18aa.Heat_demand"] - heatdemand_prim = results["HeatingDemand_3322.Heat_demand"] - elec_prod_power = results["ElectricityProducer_ac2e.ElectricityOut.Power"] + + heatsource_prim = results[f"{heatsource_prim_id}.Heat_source"] + # heatsource_sec = results[f"{name_to_id_map['ResidualHeatSource_aec9']}.Heat_source"] + heatpump_power = results[f"{gc_id}.Power_elec"] + heatpump_heat_prim = results[f"{gc_id}.Primary_heat"] + heatpump_heat_sec = results[f"{gc_id}.Secondary_heat"] + heatpump_disabled = results[f"{gc_id}.__disabled"] + # heatdemand_sec = results[f"{name_to_id_map['HeatingDemand_18aa']}.Heat_demand"] + heatdemand_prim = results[f"{heatdemand_prim_id}.Heat_demand"] + elec_prod_power = results[f"{elec_prod_id}.ElectricityOut.Power"] # pipe_sec_out_hp_disconnected = results["Pipe_408e.__is_disconnected"] # check that heatpump is not used: @@ -239,6 +264,7 @@ def test_air_to_water_heat_pump_elec_min_elec(self): input_timeseries_file="timeseries_import.xml", ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map demand_matching_test(solution, results) energy_conservation_test(solution, results) @@ -246,14 +272,15 @@ def test_air_to_water_heat_pump_elec_min_elec(self): electric_power_conservation_test(solution, results) tol = 1e-6 + hp_id = name_to_id_map["HeatPump_0ce6"] # TODO add addtional checks for air to water heat pump like COP etc, and maybe add other # heat sources # check that electricity contraint for power is working np.testing.assert_allclose( - results["HeatPump_0ce6.Power_elec"], - results["HeatPump_0ce6.ElectricityIn.I"] * results["HeatPump_0ce6.ElectricityIn.V"], + results[f"{hp_id}.Power_elec"], + results[f"{hp_id}.ElectricityIn.I"] * results[f"{hp_id}.ElectricityIn.V"], atol=tol, ) @@ -292,16 +319,20 @@ def solver_options(self): ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) - heatpump_power = results["GenericConversion_3d3f.Power_elec"] - heatpump_heat_sec = results["GenericConversion_3d3f.Secondary_heat"] - heatpump_disabled = results["GenericConversion_3d3f.__disabled"] - heatdemand_sec = results["HeatingDemand_18aa.Heat_demand"] - var_opex_hp = results["GenericConversion_3d3f__variable_operational_cost"] + gc_id = name_to_id_map["GenericConversion_3d3f"] + heatdemand_sec_id = name_to_id_map["HeatingDemand_18aa"] + + heatpump_power = results[f"{gc_id}.Power_elec"] + heatpump_heat_sec = results[f"{gc_id}.Secondary_heat"] + heatpump_disabled = results[f"{gc_id}.__disabled"] + heatdemand_sec = results[f"{heatdemand_sec_id}.Heat_demand"] + var_opex_hp = results[f"{gc_id}__variable_operational_cost"] # pipe_sec_out_hp_disconnected = results["Pipe_408e.__is_disconnected"] # check that heatpump is not used when electricity price is high: @@ -348,8 +379,11 @@ def test_geothermal_source(self): input_timeseries_file="timeseries_import.csv", ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map parameters = heat_problem.parameters(0) + geothermal_id = name_to_id_map["GeothermalSource_a77b"] + # Standard checks. demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) @@ -358,16 +392,16 @@ def test_geothermal_source(self): # Equations check np.testing.assert_allclose( - parameters["GeothermalSource_a77b.cop"] * results["GeothermalSource_a77b.Power_elec"], - results["GeothermalSource_a77b.Heat_source"], + parameters[f"{geothermal_id}.cop"] * results[f"{geothermal_id}.Power_elec"], + results[f"{geothermal_id}.Heat_source"], ) # Variable operational cost check. np.testing.assert_allclose( - parameters["GeothermalSource_a77b.variable_operational_cost_coefficient"] - * sum(results["GeothermalSource_a77b.Heat_source"][1:]) - / parameters["GeothermalSource_a77b.cop"], - results["GeothermalSource_a77b__variable_operational_cost"], + parameters[f"{geothermal_id}.variable_operational_cost_coefficient"] + * sum(results[f"{geothermal_id}.Heat_source"][1:]) + / parameters[f"{geothermal_id}.cop"], + results[f"{geothermal_id}__variable_operational_cost"], ) def test_geothermal_source_elec(self): @@ -391,8 +425,12 @@ def test_geothermal_source_elec(self): input_timeseries_file="timeseries_import.csv", ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map parameters = heat_problem.parameters(0) + geothermal_id = name_to_id_map["GeothermalSource_a77b"] + e_producer_id = name_to_id_map["ElectricityProducer_4dde"] + # Standard checks. demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) @@ -401,26 +439,26 @@ def test_geothermal_source_elec(self): # Equations check np.testing.assert_allclose( - results["ElectricityProducer_4dde.ElectricityOut.Power"], - results["GeothermalSource_a77b.ElectricityIn.Power"], + results[f"{e_producer_id}.ElectricityOut.Power"], + results[f"{geothermal_id}.ElectricityIn.Power"], ) np.testing.assert_allclose( - parameters["GeothermalSource_a77b.cop"] * results["GeothermalSource_a77b.Power_elec"], - results["GeothermalSource_a77b.Heat_source"], + parameters[f"{geothermal_id}.cop"] * results[f"{geothermal_id}.Power_elec"], + results[f"{geothermal_id}.Heat_source"], ) # Test electricity port np.testing.assert_allclose( - results["GeothermalSource_a77b.ElectricityIn.Power"], - results["GeothermalSource_a77b.Power_elec"], + results[f"{geothermal_id}.ElectricityIn.Power"], + results[f"{geothermal_id}.Power_elec"], ) # Variable operational cost check. np.testing.assert_allclose( - parameters["GeothermalSource_a77b.variable_operational_cost_coefficient"] - * sum(results["GeothermalSource_a77b.Heat_source"][1:]) - / parameters["GeothermalSource_a77b.cop"], - results["GeothermalSource_a77b__variable_operational_cost"], + parameters[f"{geothermal_id}.variable_operational_cost_coefficient"] + * sum(results[f"{geothermal_id}.Heat_source"][1:]) + / parameters[f"{geothermal_id}.cop"], + results[f"{geothermal_id}__variable_operational_cost"], ) def test_geothermal_source_elec_no_cop(self): @@ -444,6 +482,10 @@ def test_geothermal_source_elec_no_cop(self): input_timeseries_file="timeseries_import.csv", ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map + + geothermal_id = name_to_id_map["GeothermalSource_a77b"] + e_producer_id = name_to_id_map["ElectricityProducer_4dde"] # Standard checks. demand_matching_test(heat_problem, results) @@ -453,16 +495,16 @@ def test_geothermal_source_elec_no_cop(self): # Equations check np.testing.assert_allclose( - results["ElectricityProducer_4dde.ElectricityOut.Power"], - results["GeothermalSource_a77b.ElectricityIn.Power"], + results[f"{e_producer_id}.ElectricityOut.Power"], + results[f"{geothermal_id}.ElectricityIn.Power"], ) - np.testing.assert_allclose(results["ElectricityProducer_4dde.ElectricityOut.Power"], 0.0) + np.testing.assert_allclose(results[f"{e_producer_id}.ElectricityOut.Power"], 0.0) # Test electricity port np.testing.assert_allclose( - results["GeothermalSource_a77b.ElectricityIn.Power"], - results["GeothermalSource_a77b.Power_elec"], + results[f"{geothermal_id}.ElectricityIn.Power"], + results[f"{geothermal_id}.Power_elec"], ) # Variable operational cost check. - np.testing.assert_allclose(0.0, results["GeothermalSource_a77b__variable_operational_cost"]) + np.testing.assert_allclose(0.0, results[f"{geothermal_id}__variable_operational_cost"]) diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py index 8a0c5771e..b48f590b1 100644 --- a/tests/test_multicommodity_simulator.py +++ b/tests/test_multicommodity_simulator.py @@ -109,17 +109,23 @@ def test_multi_commodity_simulator_priorities_el(self): problem_scaling_check(logs_list, logger) bounds = solution.bounds() results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + prod_1_id = name_to_id_map["ElectricityProducer_a215"] + prod_2_id = name_to_id_map["ElectricityProducer_17a1"] + dem_1_id = name_to_id_map["ElectricityDemand_e527"] + dem_2_id = name_to_id_map["ElectricityDemand_281a"] checks_all_mc_simulations(solution, results) - prod_1 = results["ElectricityProducer_a215.Electricity_source"] - prod_2 = results["ElectricityProducer_17a1.Electricity_source"] - dem_1 = results["ElectricityDemand_e527.Electricity_demand"] - dem_2 = results["ElectricityDemand_281a.Electricity_demand"] + prod_1 = results[f"{prod_1_id}.Electricity_source"] + prod_2 = results[f"{prod_2_id}.Electricity_source"] + dem_1 = results[f"{dem_1_id}.Electricity_demand"] + dem_2 = results[f"{dem_2_id}.Electricity_demand"] # check producer with highest priority (lowest marginal costs is maximizing production) np.testing.assert_allclose( - prod_1, bounds["ElectricityProducer_a215.Electricity_source"][1], atol=1e-3, rtol=1e-6 + prod_1, bounds[f"{prod_1_id}.Electricity_source"][1], atol=1e-3, rtol=1e-6 ) # check producer with second highest priority is only producing to meet profile of demand prod_2_target = dem_1 - prod_1 @@ -147,26 +153,32 @@ def test_multi_commodity_simulator_prod_profile(self): bounds = solution.bounds() results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + prod_1_id = name_to_id_map["ElectricityProducer_a215"] + prod_2_id = name_to_id_map["ElectricityProducer_17a1"] + dem_1_id = name_to_id_map["ElectricityDemand_e527"] + dem_2_id = name_to_id_map["ElectricityDemand_281a"] checks_all_mc_simulations(solution, results) - prod_1 = results["ElectricityProducer_a215.Electricity_source"] - prod_2 = results["ElectricityProducer_17a1.Electricity_source"] - dem_1 = results["ElectricityDemand_e527.Electricity_demand"] - dem_2 = results["ElectricityDemand_281a.Electricity_demand"] + prod_1 = results[f"{prod_1_id}.Electricity_source"] + prod_2 = results[f"{prod_2_id}.Electricity_source"] + dem_1 = results[f"{dem_1_id}.Electricity_demand"] + dem_2 = results[f"{dem_2_id}.Electricity_demand"] # check producer with highest priority (lowest marginal costs is maximizing production) is # producing at max capacity, except when demand profile + max demand of other demand is # lower than prod_2 profile and max capacity prod_1 np.testing.assert_allclose( prod_1[1:], - bounds["ElectricityProducer_a215.Electricity_source"][1], + bounds[f"{prod_1_id}.Electricity_source"][1], atol=1e-3, rtol=1e-6, ) np.testing.assert_allclose( prod_1[0], - bounds["ElectricityDemand_281a.Electricity_demand"][1] + dem_1[0] - prod_2[0], + bounds[f"{dem_2_id}.Electricity_demand"][1] + dem_1[0] - prod_2[0], atol=1e-3, rtol=1e-6, ) @@ -196,15 +208,21 @@ def test_multi_commodity_simulator_prod_profile(self): results = solution.extract_results() bounds = solution.bounds() + name_to_id_map = solution.esdl_asset_name_to_id_map + + prod_1_id = name_to_id_map["GasProducer_3573"] + prod_2_id = name_to_id_map["GasProducer_a977"] + dem_1_id = name_to_id_map["GasDemand_47d0"] + dem_2_id = name_to_id_map["GasDemand_7979"] checks_all_mc_simulations(solution, results) - prod_1 = results["GasProducer_3573.Gas_source_mass_flow"] - prod_2 = results["GasProducer_a977.Gas_source_mass_flow"] - dem_1 = results["GasDemand_47d0.Gas_demand_mass_flow"] - dem_2 = results["GasDemand_7979.Gas_demand_mass_flow"] - prod_1_bound = bounds["GasProducer_3573.Gas_source_mass_flow"][1] - dem_2_bound = bounds["GasDemand_7979.Gas_demand_mass_flow"] + prod_1 = results[f"{prod_1_id}.Gas_source_mass_flow"] + prod_2 = results[f"{prod_2_id}.Gas_source_mass_flow"] + dem_1 = results[f"{dem_1_id}.Gas_demand_mass_flow"] + dem_2 = results[f"{dem_2_id}.Gas_demand_mass_flow"] + prod_1_bound = bounds[f"{prod_1_id}.Gas_source_mass_flow"][1] + dem_2_bound = bounds[f"{dem_2_id}.Gas_demand_mass_flow"] # check producer with highest marginal cost (prod_2) is only producing to match demand # profile of dem_1 + the max of dem_2, @@ -235,23 +253,26 @@ def test_multi_commodity_simulator_emerge(self): bounds = solution.bounds() results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + electrolyzer_id = name_to_id_map["Electrolyzer_6327"] + gas_demand_id = name_to_id_map["GasDemand_4146"] + el_demand_id = name_to_id_map["ElectricityDemand_f833"] + windfarm_id = name_to_id_map["WindPark_9074"] + tol = 1.0e-6 # all_mc_checks cannot be used because max electricity production of windfarm is larger # than the max electricity take off at electrolyzer (due to mas gas demand) and the max # electricity demand. # checks_all_mc_simulations(solution, results) - tol = 1.0e-6 - esdl_electrolyzer = solution._esdl_assets[ - solution.esdl_asset_name_to_id_map["Electrolyzer_6327"] - ] - demand_gas = results["GasDemand_4146.Gas_demand_mass_flow"] - demand_el = results["ElectricityDemand_f833.Electricity_demand"] - electrolyzer_power = results["Electrolyzer_6327.Power_consumed"] - electrolyzer_gas = results["Electrolyzer_6327.Gas_mass_flow_out"] - windfarm_power = results["WindPark_9074.Electricity_source"] + esdl_electrolyzer = solution._esdl_assets[electrolyzer_id] + demand_gas = results[f"{gas_demand_id}.Gas_demand_mass_flow"] + demand_el = results[f"{el_demand_id}.Electricity_demand"] + electrolyzer_power = results[f"{electrolyzer_id}.Power_consumed"] + electrolyzer_gas = results[f"{electrolyzer_id}.Gas_mass_flow_out"] + windfarm_power = results[f"{windfarm_id}.Electricity_source"] windfarm_target = solution.get_timeseries( - "WindPark_9074.maximum_electricity_source" + f"{windfarm_id}.maximum_electricity_source" ).values[: len(windfarm_power)] # cap on el consumption by electricity_demand (due to cap, 1.3GW) and by electrolyzer # (due to cap of gas demand) @@ -265,11 +286,11 @@ def test_multi_commodity_simulator_emerge(self): # demand gas maximised when sufficient power available to convert electricity to gas cap_electrolyzer_power = ( - cap_el_consumption - bounds["ElectricityDemand_f833.Electricity_demand"][1] + cap_el_consumption - bounds[f"{el_demand_id}.Electricity_demand"][1] ) index_gas_max = windfarm_power >= cap_electrolyzer_power np.testing.assert_allclose( - demand_gas[index_gas_max], bounds["Electrolyzer_6327.Gas_mass_flow_out"][1] + demand_gas[index_gas_max], bounds[f"{electrolyzer_id}.Gas_mass_flow_out"][1] ) # due to priority settings, electricity demand only consuming if demand_gas maximised and # enough windfarm power @@ -313,20 +334,25 @@ def energy_system_options(self): results = solution.extract_results() bounds = solution.bounds() + name_to_id_map = solution.esdl_asset_name_to_id_map tol = 1.0e-6 checks_all_mc_simulations(solution, results) - esdl_electrolyzer = solution._esdl_assets[ - solution.esdl_asset_name_to_id_map["Electrolyzer_6327"] - ] - demand_gas = results["GasDemand_4146.Gas_demand_mass_flow"] - demand_el = results["ElectricityDemand_f833.Electricity_demand"] - electrolyzer_power = results["Electrolyzer_6327.Power_consumed"] - electrolyzer_gas = results["Electrolyzer_6327.Gas_mass_flow_out"] - windfarm_power = results["WindPark_9074.Electricity_source"] - prod_power = results["ElectricityProducer_4850.Electricity_source"] + electrolyzer_id = name_to_id_map["Electrolyzer_6327"] + gas_demand_id = name_to_id_map["GasDemand_4146"] + el_demand_id = name_to_id_map["ElectricityDemand_f833"] + windfarm_id = name_to_id_map["WindPark_9074"] + producer_id = name_to_id_map["ElectricityProducer_4850"] + + esdl_electrolyzer = solution._esdl_assets[electrolyzer_id] + demand_gas = results[f"{gas_demand_id}.Gas_demand_mass_flow"] + demand_el = results[f"{el_demand_id}.Electricity_demand"] + electrolyzer_power = results[f"{electrolyzer_id}.Power_consumed"] + electrolyzer_gas = results[f"{electrolyzer_id}.Gas_mass_flow_out"] + windfarm_power = results[f"{windfarm_id}.Electricity_source"] + prod_power = results[f"{producer_id}.Electricity_source"] prod_power_cap = 3e8 # W check_electrolyzer_efficiency(tol, electrolyzer_gas, electrolyzer_power, esdl_electrolyzer) @@ -335,7 +361,7 @@ def energy_system_options(self): cap_electrolyzer_power = 444880000.0 index_gas_max = windfarm_power >= cap_electrolyzer_power np.testing.assert_allclose( - demand_gas[index_gas_max], bounds["Electrolyzer_6327.Gas_mass_flow_out"][1] + demand_gas[index_gas_max], bounds[f"{electrolyzer_id}.Gas_mass_flow_out"][1] ) # due to priority settings, electricity demand only consuming if demand_gas maximised and # enough windfarm power @@ -378,17 +404,20 @@ def test_multi_commodity_simulator_emerge_storage(self): feasibility_test(solution) electric_power_conservation_test(solution, results) + name_to_id_map = solution.esdl_asset_name_to_id_map # checks_all_mc_simulations(solution, results) tol = 1.0e-6 - esdl_electrolyzer = solution._esdl_assets[ - solution.esdl_asset_name_to_id_map["Electrolyzer_6327"] - ] - demand_gas = results["GasDemand_4146.Gas_demand_mass_flow"] - electrolyzer_power = results["Electrolyzer_6327.Power_consumed"] - electrolyzer_gas = results["Electrolyzer_6327.Gas_mass_flow_out"] - storage_gas_mass_flow = results["GasStorage_9172.Gas_tank_flow"] + electrolyzer_id = name_to_id_map["Electrolyzer_6327"] + gas_demand_id = name_to_id_map["GasDemand_4146"] + gas_storage_id = name_to_id_map["GasStorage_9172"] + + esdl_electrolyzer = solution._esdl_assets[electrolyzer_id] + demand_gas = results[f"{gas_demand_id}.Gas_demand_mass_flow"] + electrolyzer_power = results[f"{electrolyzer_id}.Power_consumed"] + electrolyzer_gas = results[f"{electrolyzer_id}.Gas_mass_flow_out"] + storage_gas_mass_flow = results[f"{gas_storage_id}.Gas_tank_flow"] check_electrolyzer_efficiency(tol, electrolyzer_gas, electrolyzer_power, esdl_electrolyzer) @@ -400,7 +429,7 @@ def test_multi_commodity_simulator_emerge_storage(self): # gas_demand is limited by pipe size. # storage is not charging if gas demand is not maximised at bound # storage is charging if electrolyzer produces more gas than max of demand. - gas_demand_bound = solution.bounds()["GasDemand_4146.Gas_demand_mass_flow"] + gas_demand_bound = solution.bounds()[f"{gas_demand_id}.Gas_demand_mass_flow"] storage_not_charging = demand_gas != gas_demand_bound[1] np.testing.assert_array_less(storage_gas_mass_flow[storage_not_charging], 0.0 + tol) storage_charging = electrolyzer_gas >= gas_demand_bound[1] @@ -437,6 +466,7 @@ def test_multi_commodity_simulator_emerge_battery(self): ) problem_scaling_check(logs_list, logger, order_diff=1e7) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map feasibility_test(solution) electric_power_conservation_test(solution, results) @@ -444,16 +474,20 @@ def test_multi_commodity_simulator_emerge_battery(self): checks_all_mc_simulations(solution, results) tol = 1.0e-6 - esdl_electrolyzer = solution._esdl_assets[ - solution.esdl_asset_name_to_id_map["Electrolyzer_6327"] - ] - demand_gas = results["GasDemand_4146.Gas_demand_mass_flow"] - electrolyzer_power = results["Electrolyzer_6327.Power_consumed"] - electrolyzer_power_bound = solution.bounds()["Electrolyzer_6327.Power_consumed"][1] - electrolyzer_gas = results["Electrolyzer_6327.Gas_mass_flow_out"] - windfarm_power = results["WindPark_9074.Electricity_source"] - storage_gas_mass_flow = results["GasStorage_9172.Gas_tank_flow"] - battery_power = results["Battery_4688.ElectricityIn.Power"] + electrolyzer_id = name_to_id_map["Electrolyzer_6327"] + gas_demand_id = name_to_id_map["GasDemand_4146"] + gas_storage_id = name_to_id_map["GasStorage_9172"] + windfarm_id = name_to_id_map["WindPark_9074"] + battery_id = name_to_id_map["Battery_4688"] + + esdl_electrolyzer = solution._esdl_assets[electrolyzer_id] + demand_gas = results[f"{gas_demand_id}.Gas_demand_mass_flow"] + electrolyzer_power = results[f"{electrolyzer_id}.Power_consumed"] + electrolyzer_power_bound = solution.bounds()[f"{electrolyzer_id}.Power_consumed"][1] + electrolyzer_gas = results[f"{electrolyzer_id}.Gas_mass_flow_out"] + windfarm_power = results[f"{windfarm_id}.Electricity_source"] + storage_gas_mass_flow = results[f"{gas_storage_id}.Gas_tank_flow"] + battery_power = results[f"{battery_id}.ElectricityIn.Power"] check_electrolyzer_efficiency(tol, electrolyzer_gas, electrolyzer_power, esdl_electrolyzer) @@ -498,6 +532,7 @@ def test_multi_commodity_simulator_emerge_head_losses(self): results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map feasibility_test(solution) electric_power_conservation_test(solution, results) @@ -505,16 +540,20 @@ def test_multi_commodity_simulator_emerge_head_losses(self): checks_all_mc_simulations(solution, results) tol = 1.0e-6 - esdl_electrolyzer = solution._esdl_assets[ - solution.esdl_asset_name_to_id_map["Electrolyzer_6327"] - ] - demand_gas = results["GasDemand_4146.Gas_demand_mass_flow"] - electrolyzer_power = results["Electrolyzer_6327.Power_consumed"] - electrolyzer_power_bound = solution.bounds()["Electrolyzer_6327.Power_consumed"][1] - electrolyzer_gas = results["Electrolyzer_6327.Gas_mass_flow_out"] - windfarm_power = results["WindPark_9074.Electricity_source"] - storage_gas_mass_flow = results["GasStorage_9172.Gas_tank_flow"] - battery_power = results["Battery_4688.ElectricityIn.Power"] + electrolyzer_id = name_to_id_map["Electrolyzer_6327"] + gas_demand_id = name_to_id_map["GasDemand_4146"] + gas_storage_id = name_to_id_map["GasStorage_9172"] + windfarm_id = name_to_id_map["WindPark_9074"] + battery_id = name_to_id_map["Battery_4688"] + + esdl_electrolyzer = solution._esdl_assets[electrolyzer_id] + demand_gas = results[f"{gas_demand_id}.Gas_demand_mass_flow"] + electrolyzer_power = results[f"{electrolyzer_id}.Power_consumed"] + electrolyzer_power_bound = solution.bounds()[f"{electrolyzer_id}.Power_consumed"][1] + electrolyzer_gas = results[f"{electrolyzer_id}.Gas_mass_flow_out"] + windfarm_power = results[f"{windfarm_id}.Electricity_source"] + storage_gas_mass_flow = results[f"{gas_storage_id}.Gas_tank_flow"] + battery_power = results[f"{battery_id}.ElectricityIn.Power"] check_electrolyzer_efficiency(tol, electrolyzer_gas, electrolyzer_power, esdl_electrolyzer) @@ -653,11 +692,13 @@ def test_multi_commodity_simulator_sequential_staged(self): ) results_unstaged_bounded = solution_unstaged_bounded.extract_results() + name_to_id_map = solution_unstaged_bounded.esdl_asset_name_to_id_map + battery_id = name_to_id_map["Battery_4688"] check_different = np.sum( np.abs( - results_staged_bounded["Battery_4688.Stored_electricity"] - - results_unstaged_bounded["Battery_4688.Stored_electricity"] + results_staged_bounded[f"{battery_id}.Stored_electricity"] + - results_unstaged_bounded[f"{battery_id}.Stored_electricity"] ) ) @@ -679,8 +720,8 @@ def times(self, variable=None) -> np.ndarray: results_unstaged_bounded_win = solution_unstaged_bounded_win.extract_results() np.testing.assert_allclose( - results_staged_bounded["Battery_4688.Stored_electricity"][19], - results_unstaged_bounded_win["Battery_4688.Stored_electricity"][-1], + results_staged_bounded[f"{battery_id}.Stored_electricity"][19], + results_unstaged_bounded_win[f"{battery_id}.Stored_electricity"][-1], ) diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index ca57bf37a..fba151fea 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -79,13 +79,16 @@ def energy_system_options(self): results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map - prim_heat = results["HeatExchange_39ed.Primary_heat"] - sec_heat = results["HeatExchange_39ed.Secondary_heat"] - disabled = results["HeatExchange_39ed.__disabled"] + hex_id = name_to_id_map["HeatExchange_39ed"] + + prim_heat = results[f"{hex_id}.Primary_heat"] + sec_heat = results[f"{hex_id}.Secondary_heat"] + disabled = results[f"{hex_id}.__disabled"] # We check the energy converted betweeen the commodities - eff = parameters["HeatExchange_39ed.efficiency"] + eff = parameters[f"{hex_id}.efficiency"] demand_matching_test(solution, results) heat_to_discharge_test(solution, results) @@ -103,12 +106,12 @@ def energy_system_options(self): np.testing.assert_array_less(-prim_heat[:-1], 0.0) np.testing.assert_array_less( - parameters["HeatExchange_39ed.Secondary.T_supply"], - parameters["HeatExchange_39ed.Primary.T_supply"], + parameters[f"{hex_id}.Secondary.T_supply"], + parameters[f"{hex_id}.Primary.T_supply"], ) np.testing.assert_array_less( - parameters["HeatExchange_39ed.Secondary.T_return"], - parameters["HeatExchange_39ed.Primary.T_return"], + parameters[f"{hex_id}.Secondary.T_return"], + parameters[f"{hex_id}.Primary.T_return"], ) def test_heat_exchanger_bypass(self): @@ -163,21 +166,22 @@ def energy_system_options(self): ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + hex_active_id = name_to_id_map["HeatExchange_e410_copy"] + hex_bypass_id = name_to_id_map["HeatExchange_e410"] demand_matching_test(solution, results) energy_conservation_test(solution, results) - hex_active = "HeatExchange_e410_copy" - hex_bypass = "HeatExchange_e410" + np.testing.assert_allclose(results[f"{hex_active_id}.__disabled"][:-1], 0) + np.testing.assert_allclose(results[f"{hex_bypass_id}.__disabled"][:-1], 1) - np.testing.assert_allclose(results[f"{hex_active}.__disabled"][:-1], 0) - np.testing.assert_allclose(results[f"{hex_bypass}.__disabled"][:-1], 1) + np.testing.assert_array_less(0.001, results[f"{hex_active_id}.Primary.Q"][:-1]) + np.testing.assert_array_less(0.001, results[f"{hex_bypass_id}.Primary.Q"][:-1]) - np.testing.assert_array_less(0.001, results[f"{hex_active}.Primary.Q"][:-1]) - np.testing.assert_array_less(0.001, results[f"{hex_bypass}.Primary.Q"][:-1]) - - np.testing.assert_allclose(results[f"{hex_bypass}.Heat_flow"][:-1], 0, atol=1e-9) - np.testing.assert_array_less(1e5, results[f"{hex_active}.Heat_flow"][:-1]) + np.testing.assert_allclose(results[f"{hex_bypass_id}.Heat_flow"][:-1], 0, atol=1e-9) + np.testing.assert_array_less(1e5, results[f"{hex_active_id}.Heat_flow"][:-1]) def test_heat_exchanger_bypass_varying_temperature(self): """ @@ -281,6 +285,10 @@ def times(self, variable=None) -> np.ndarray: ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + hex_active_id = name_to_id_map["HeatExchange_e410_copy"] + hex_bypass_id = name_to_id_map["HeatExchange_e410"] demand_matching_test(solution, results) energy_conservation_test(solution, results) @@ -289,17 +297,14 @@ def times(self, variable=None) -> np.ndarray: temp_hex = results["8725433194681736500139_temperature"] # check heat exchanger 1 is bypassed - hex_active = "HeatExchange_e410_copy" - hex_bypass = "HeatExchange_e410" + np.testing.assert_allclose(results[f"{hex_active_id}.__disabled"][:-1], 0) + np.testing.assert_allclose(results[f"{hex_bypass_id}.__disabled"][:-1], 1) - np.testing.assert_allclose(results[f"{hex_active}.__disabled"][:-1], 0) - np.testing.assert_allclose(results[f"{hex_bypass}.__disabled"][:-1], 1) + np.testing.assert_array_less(0.001, results[f"{hex_active_id}.Primary.Q"][:-1]) + np.testing.assert_array_less(0.001, results[f"{hex_bypass_id}.Primary.Q"][:-1]) - np.testing.assert_array_less(0.001, results[f"{hex_active}.Primary.Q"][:-1]) - np.testing.assert_array_less(0.001, results[f"{hex_bypass}.Primary.Q"][:-1]) - - np.testing.assert_allclose(results[f"{hex_bypass}.Heat_flow"][:-1], 0, atol=1e-6) - np.testing.assert_array_less(1e5, results[f"{hex_active}.Heat_flow"][:-1]) + np.testing.assert_allclose(results[f"{hex_bypass_id}.Heat_flow"][:-1], 0, atol=1e-6) + np.testing.assert_array_less(1e5, results[f"{hex_active_id}.Heat_flow"][:-1]) # check lowest temperatures are picked (due to minimum heatloss). # check temperatures on bypass side are the same. @@ -377,15 +382,20 @@ def energy_system_options(self): results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map + + hp_id = name_to_id_map["GenericConversion_3d3f"] + res_heat_id = name_to_id_map["ResidualHeatSource_aec9"] + pipe3_id = name_to_id_map["Pipe3"] - prim_heat = results["GenericConversion_3d3f.Primary_heat"] - sec_heat = results["GenericConversion_3d3f.Secondary_heat"] - power_elec = results["GenericConversion_3d3f.Power_elec"] + prim_heat = results[f"{hp_id}.Primary_heat"] + sec_heat = results[f"{hp_id}.Secondary_heat"] + power_elec = results[f"{hp_id}.Power_elec"] # Check that only the minimum velocity is flowing through the secondary source. - cross_sectional_area = parameters["Pipe3.area"] + cross_sectional_area = parameters[f"{pipe3_id}.area"] np.testing.assert_allclose( - results["ResidualHeatSource_aec9.Q"] / cross_sectional_area, + results[f"{res_heat_id}.Q"] / cross_sectional_area, 1.0e-3, atol=2.5e-5, ) @@ -395,14 +405,14 @@ def energy_system_options(self): energy_conservation_test(solution, results) # We check the energy converted betweeen the commodities - np.testing.assert_allclose(power_elec * parameters["GenericConversion_3d3f.COP"], sec_heat) + np.testing.assert_allclose(power_elec * parameters[f"{hp_id}.COP"], sec_heat) np.testing.assert_allclose(power_elec + prim_heat, sec_heat) # Check that the heat pump upper bound for key in solution.esdl_assets.keys(): if solution.esdl_assets[key].asset_type == "HeatPump": np.testing.assert_equal( - solution.bounds()["GenericConversion_3d3f.Heat_flow"][1], + solution.bounds()[f"{hp_id}.Heat_flow"][1], solution.esdl_assets[key].attributes["power"], ) @@ -440,49 +450,52 @@ def test_elec_heat_buffer_elec(self): input_timeseries_file="timeseries_import_ebuffer.csv", ) results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map parameters = heat_problem.parameters(0) + storage_id = name_to_id_map["HeatStorage"] + demand_matching_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) energy_conservation_test(heat_problem, results) # Check that buffer is charged by electricity - np.testing.assert_array_less(1000.0, sum(results["HeatStorage.Heat_elec_charging"])) + np.testing.assert_array_less(1000.0, sum(results[f"{storage_id}.Heat_elec_charging"])) # Check that buffer discharged heat to the network and is not charged by it. - np.testing.assert_array_less(results["HeatStorage.Heat_flow"], -1000.0) + np.testing.assert_array_less(results[f"{storage_id}.Heat_flow"], -1000.0) # Check the heat flow balance of buffer np.testing.assert_allclose( - results["HeatStorage.Heat_buffer"], - results["HeatStorage.Heat_flow"] + results["HeatStorage.Heat_elec_charging"], + results[f"{storage_id}.Heat_buffer"], + results[f"{storage_id}.Heat_flow"] + results[f"{storage_id}.Heat_elec_charging"], atol=epsilon, ) # Check that charging_efficiency is considered at heat buffer electricity consumption np.testing.assert_allclose( - results["HeatStorage.Heat_elec_charging"], - results["HeatStorage.Power_elec"] * parameters["HeatStorage.charging_efficiency"], + results[f"{storage_id}.Heat_elec_charging"], + results[f"{storage_id}.Power_elec"] * parameters[f"{storage_id}.charging_efficiency"], atol=epsilon, ) # Check that derivative of stored heat is coming from heat loss and heat_buffer np.testing.assert_allclose( - results["HeatStorage.Heat_loss"][1:] - results["HeatStorage.Heat_buffer"][1:], - -np.diff(results["HeatStorage.Stored_heat"]) / 3600.0, + results[f"{storage_id}.Heat_loss"][1:] - results[f"{storage_id}.Heat_buffer"][1:], + -np.diff(results[f"{storage_id}.Stored_heat"]) / 3600.0, atol=epsilon, ) # Check maxChargeRate and maxDischargeRate are parsed and define the upper bounds # of Heat_elec_charging and Heat_flow_discharging, respectively - esdl_asset = heat_problem.esdl_assets[heat_problem.esdl_asset_name_to_id_map["HeatStorage"]] + esdl_asset = heat_problem.esdl_assets[storage_id] np.testing.assert_allclose( esdl_asset.attributes["maxChargeRate"], - heat_problem.bounds()["HeatStorage.Heat_elec_charging"][1], + heat_problem.bounds()[f"{storage_id}.Heat_elec_charging"][1], ) np.testing.assert_allclose( esdl_asset.attributes["maxDischargeRate"], - heat_problem.bounds()["HeatStorage.Heat_flow_discharging"][1], + heat_problem.bounds()[f"{storage_id}.Heat_flow_discharging"][1], ) diff --git a/tests/test_network_simulator.py b/tests/test_network_simulator.py index c86550f7a..8f3cce93c 100644 --- a/tests/test_network_simulator.py +++ b/tests/test_network_simulator.py @@ -52,6 +52,8 @@ def times(self, variable=None) -> np.ndarray: results = solution.extract_results() + name_id_map = solution.esdl_asset_name_to_id_map + # General checks demand_matching_test(solution, results) energy_conservation_test(solution, results) @@ -60,7 +62,7 @@ def times(self, variable=None) -> np.ndarray: # Check that producer 1 (merit oder = 2) is not used # and is does not contribute to the heating demands 1, 2 and 3 np.testing.assert_allclose( - results["HeatProducer_1.Heat_source"], + results[f"{name_id_map['HeatProducer_1']}.Heat_source"], 0.0, err_msg="Heat producer 1 should be completely disabled " ", due to producer 2 being sufficient for " diff --git a/tests/test_pipe_diameter_sizing.py b/tests/test_pipe_diameter_sizing.py index c6f78afec..16c788b7d 100644 --- a/tests/test_pipe_diameter_sizing.py +++ b/tests/test_pipe_diameter_sizing.py @@ -61,6 +61,7 @@ def test_half_network_gone(self): self.assertTrue((feasibility == "Optimal")) parameters = problem.parameters(0) + name_to_id_map = problem.esdl_asset_name_to_id_map diameters = {p: parameters[f"{p}.diameter"] for p in problem.hot_pipes} assert len(problem.unrelated_pipes) == 0 results = problem.extract_results() @@ -74,8 +75,18 @@ def test_half_network_gone(self): "More/less than 4 pipes have been removed", ) # Check that the correct/specific 4 pipes on the left or 4 on the right have been removed - pipes_removed = ["Pipe_8592", "Pipe_2927", "Pipe_9a6f", "Pipe_a718"] - pipes_remained = ["Pipe_96bc", "Pipe_51e4", "Pipe_6b39", "Pipe_f9b0"] + pipes_removed = [ + name_to_id_map["Pipe_8592"], + name_to_id_map["Pipe_2927"], + name_to_id_map["Pipe_9a6f"], + name_to_id_map["Pipe_a718"], + ] + pipes_remained = [ + name_to_id_map["Pipe_96bc"], + name_to_id_map["Pipe_51e4"], + name_to_id_map["Pipe_6b39"], + name_to_id_map["Pipe_f9b0"], + ] self.assertTrue( all( (elem in [k for k, d in diameters.items() if (d == 0.0)] for elem in pipes_remained) @@ -102,7 +113,7 @@ def test_half_network_gone(self): ) for pipe in problem.energy_system_components.get("heat_pipe", []): - if results[f"{pipe}__hn_diameter"] <= 1e-12: + if results[f"{pipe}__hn_diameter"] <= 1e-10: # TODO: At the moment it is so that a pipe which is not placed (diameter == 0.) can # have head loss since there is an equivalent solution where simultaniously the # is_disconnected variable is also true disabling the head_loss constraints. @@ -118,7 +129,6 @@ def test_half_network_gone(self): 2.0e-4, parameters[f"{pipe}.temperature"], ) - c_v = parameters[f"{pipe}.length"] * ff / (2 * 9.81) / pc.inner_diameter dh_max = c_v * pc.maximum_velocity**2 dh_manual = dh_max * results[f"{pipe}.Q"][1:] / pc.area / pc.maximum_velocity @@ -126,9 +136,9 @@ def test_half_network_gone(self): # Ensure that the removed pipes do not have predicted hydraulic power values hydraulic_power_sum = 0.0 - for pipe in diameters.keys(): - if pipe in pipes_removed: - hydraulic_power_sum += sum(abs(results[f"{pipe}.Hydraulic_power"])) + for pipe_id in diameters.keys(): + if pipe_id in pipes_removed: + hydraulic_power_sum += sum(abs(results[f"{pipe_id}.Hydraulic_power"])) np.testing.assert_allclose( hydraulic_power_sum, 0.0, err_msg="Hydraulic power exists for a removed pipe", atol=1e-9 ) @@ -139,15 +149,15 @@ def test_half_network_gone(self): # function (delta pressure). hydraulic_power_sum = 0.0 hydraulic_power_post_process = 0.0 - for pipe in diameters.keys(): - if pipe in pipes_remained: - hydraulic_power_sum += sum(abs(results[f"{pipe}.Hydraulic_power"])) + for pipe_id in diameters.keys(): + if pipe_id in pipes_remained: + hydraulic_power_sum += sum(abs(results[f"{pipe_id}.Hydraulic_power"])) hydraulic_power_post_process += sum( abs( - results[f"{pipe}.dH"] - * parameters[f"{pipe}.rho"] + results[f"{pipe_id}.dH"] + * parameters[f"{pipe_id}.rho"] * 9.81 - * results[f"{pipe}.HeatOut.Q"] + * results[f"{pipe_id}.HeatOut.Q"] ) ) diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 62e44d9ab..2a393af2b 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -50,16 +50,18 @@ def test_max_producer_scaled_profile(self): input_timeseries_file="timeseries_import.xml", ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + producer_id = name_to_id_map["GeothermalSource_b702"] demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) tol = 1e-8 - heat_producer = results["GeothermalSource_b702.Heat_source"] - size_producer = results["GeothermalSource_b702__max_size"] + heat_producer = results[f"{producer_id}.Heat_source"] + size_producer = results[f"{producer_id}__max_size"] heat_producer_profile_scaled = solution.get_timeseries( - "GeothermalSource_b702.maximum_heat_source" + f"{producer_id}.maximum_heat_source" ).values heat_producer_profile_full = heat_producer_profile_scaled * size_producer @@ -89,7 +91,7 @@ def test_max_producer_esdl_unscaled_profile(self): class HeatProblemESDLProdProfileAdaptedTCO(BeseProblemProdProfile): def read(self): super().read() - set_producer = "HeatProducer_b702" + set_producer = self.esdl_asset_name_to_id_map["HeatProducer_b702"] producer_timeseries = self.get_timeseries( f"{set_producer}.maximum_heat_source" ).values @@ -118,22 +120,22 @@ def goals(self): esdl_parser=ESDLFileParser, ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + producer_id = name_to_id_map["HeatProducer_b702"] demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results, atol=1.0) tol = 1e-4 - heat_produced = results["HeatProducer_b702.Heat_source"] + heat_produced = results[f"{producer_id}.Heat_source"] if problem_class == BeseProblemProdProfile: heat_production_upper_limit = solution.get_timeseries( - "HeatProducer_b702.maximum_heat_source" + f"{producer_id}.maximum_heat_source" ).values np.testing.assert_equal( - solution.esdl_assets[ - solution.esdl_asset_name_to_id_map["HeatProducer_b702"] - ].attributes["power"], - results["HeatProducer_b702__max_size"], + solution.esdl_assets[producer_id].attributes["power"], + results[f"{producer_id}__max_size"], ) np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) np.testing.assert_array_less( @@ -150,13 +152,13 @@ def goals(self): ) # checking that the upper production limit was not achieved for all entries elif problem_class == HeatProblemESDLProdProfileAdaptedTCO: heat_production_upper_limit = ( - solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values - / max(solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values) - * results["HeatProducer_b702__max_size"] + solution.get_timeseries(f"{producer_id}.maximum_heat_source").values + / max(solution.get_timeseries(f"{producer_id}.maximum_heat_source").values) + * results[f"{producer_id}__max_size"] ) np.testing.assert_allclose( max(heat_production_upper_limit), - results["HeatProducer_b702__max_size"], + results[f"{producer_id}__max_size"], atol=1e-9, ) np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) @@ -195,16 +197,18 @@ def test_max_producer_esdl_scaled_profile(self): esdl_parser=ESDLFileParser, ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + producer_id = name_to_id_map["HeatProducer_b702"] demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) tol = 1e-8 - heat_produced = results["HeatProducer_b702.Heat_source"] + heat_produced = results[f"{producer_id}.Heat_source"] heat_production_upper_limit = ( - solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values - / max(solution.get_timeseries("HeatProducer_b702.maximum_heat_source").values) - * results["HeatProducer_b702__max_size"] + solution.get_timeseries(f"{producer_id}.maximum_heat_source").values + / max(solution.get_timeseries(f"{producer_id}.maximum_heat_source").values) + * results[f"{producer_id}__max_size"] ) # check that heat produced is smaller than the profile diff --git a/tests/test_profile_parsing.py b/tests/test_profile_parsing.py index b5479a5e9..0daecf1fd 100644 --- a/tests/test_profile_parsing.py +++ b/tests/test_profile_parsing.py @@ -167,12 +167,14 @@ def test_loading_from_influx(self): input_timeseries_file="influx_mock.csv", ) problem.pre() + name_to_id_map = problem.esdl_asset_name_to_id_map np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) # the three demands in the test ESDL for demand_name in ["HeatingDemand_2ab9", "HeatingDemand_6662", "HeatingDemand_506c"]: - profile_values = problem.get_timeseries(f"{demand_name}.target_heat_demand").values + demand_id = name_to_id_map[demand_name] + profile_values = problem.get_timeseries(f"{demand_id}.target_heat_demand").values self.assertEqual(profile_values[0], profile_values[1]) self.assertEqual(len(profile_values), 26) @@ -203,12 +205,16 @@ def test_loading_from_csv(self): ) problem.pre() + name_to_id_map = problem.esdl_asset_name_to_id_map + np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) expected_array = np.array([1.0e8] * 3) np.testing.assert_equal( expected_array, - problem.get_timeseries("WindPark_7f14.maximum_electricity_source").values, + problem.get_timeseries( + f"{name_to_id_map['WindPark_7f14']}.maximum_electricity_source" + ).values, ) expected_array = np.array([1.0] * 3) @@ -241,12 +247,14 @@ def test_loading_from_xml(self): input_timeseries_file="timeseries.xml", ) problem.pre() + name_to_id_map = problem.esdl_asset_name_to_id_map np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) expected_array = np.array([1.5e5] * 16 + [1.0e5] * 13 + [0.5e5] * 16) np.testing.assert_equal( - expected_array, problem.get_timeseries("demand.target_heat_demand").values + expected_array, + problem.get_timeseries(f"{name_to_id_map['demand']}.target_heat_demand").values, ) def test_loading_from_csv_with_influx_profiles_given(self): @@ -273,13 +281,15 @@ def test_loading_from_csv_with_influx_profiles_given(self): input_timeseries_file="timeseries.csv", ) problem.pre() + name_to_id_map = problem.esdl_asset_name_to_id_map np.testing.assert_equal(problem.io.reference_datetime.tzinfo, datetime.timezone.utc) expected_array = np.array([1.0e8] * 3) + wind_park_id = name_to_id_map["WindPark_7f14"] np.testing.assert_equal( expected_array, - problem.get_timeseries("WindPark_7f14.maximum_electricity_source").values, + problem.get_timeseries(f"{wind_park_id}.maximum_electricity_source").values, ) expected_array = np.array([1.0] * 3) @@ -314,9 +324,9 @@ def test_loading_profile_from_esdl(self): os.path.join(input_folder, "SpaceHeat&HotWater_PowerProfile_2000_2010.csv") ) expected_values = expected_values_file["Ruimte&Tap_W"] - for asset in problem.energy_system_components.get("heat_source"): + for asset_id in problem.energy_system_components.get("heat_source"): np.testing.assert_allclose( - problem.get_timeseries(f"{asset}.maximum_heat_source").values, + problem.get_timeseries(f"{asset_id}.maximum_heat_source").values, expected_values * 1e6, atol=1e-2, ) @@ -349,6 +359,8 @@ def test_loading_profiles_ensemble_members(self): problem.pre() + name_to_id = problem.esdl_asset_name_to_id_map + # check that the ensemble size is set at 2, which is based on the ensemble.csv np.testing.assert_equal(problem.ensemble_size, 2) prob_0 = problem.ensemble_member_probability(0) @@ -363,7 +375,7 @@ def test_loading_profiles_ensemble_members(self): for t_name in timeseries_names: for e_m in range(problem.ensemble_size): t_series = problem.get_timeseries(t_name, e_m) - if e_m == 1 and t_name == "HeatingDemand_6f99.target_heat_demand": + if e_m == 1 and t_name == f"{name_to_id['HeatingDemand_6f99']}.target_heat_demand": np.testing.assert_allclose(t_series.values, [300000] * 3) else: np.testing.assert_allclose(t_series.values, [350000] * 3) diff --git a/tests/test_roll_out.py b/tests/test_roll_out.py index 14a699b1e..3e0112687 100644 --- a/tests/test_roll_out.py +++ b/tests/test_roll_out.py @@ -50,11 +50,13 @@ class RollOutTimeStep(RollOutProblem): def read(self): super().read() # m = [3, 5, 5] - m = [1, 2, 2] - for i in range(1, 4): - demand_timeseries = self.get_timeseries(f"HeatingDemand_{i}.target_heat_demand") - demand_timeseries.values[:] = demand_timeseries.values[:] * m[i - 1] - self.set_timeseries(f"HeatingDemand_{i}.target_heat_demand", demand_timeseries) + m = [1.5, 1.5, 1.5] + i = 0 + for d in self.energy_system_components.get("heat_demand", []): + demand_timeseries = self.get_timeseries(f"{d}.target_heat_demand") + demand_timeseries.values[:] = demand_timeseries.values[:] * m[i] + self.set_timeseries(f"{d}.target_heat_demand", demand_timeseries) + i += 1 def solver_options(self): options = super().solver_options() diff --git a/tests/test_setpoint_constraints.py b/tests/test_setpoint_constraints.py index f75546ae0..63e1e4d17 100644 --- a/tests/test_setpoint_constraints.py +++ b/tests/test_setpoint_constraints.py @@ -29,7 +29,7 @@ def test_setpoint_constraints(self): from models.unit_cases.case_3a.src.run_3a import HeatProblemSetPointConstraints base_folder = Path(run_3a.__file__).resolve().parent.parent - + name_id_map = {"GeothermalSource_b702": "b702bda3-632c-43ff-9867-72cda41f442f"} _heat_problem_3 = run_esdl_mesido_optimization( HeatProblemSetPointConstraints, base_folder=base_folder, @@ -37,9 +37,11 @@ def test_setpoint_constraints(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.xml", - **{"timed_setpoints": {"GeothermalSource_b702": (21, 1)}}, + **{"timed_setpoints": {name_id_map["GeothermalSource_b702"]: (21, 1)}}, ) results_3 = _heat_problem_3.extract_results() + name_to_id_map_3 = _heat_problem_3.esdl_asset_name_to_id_map + geo_source_3_id = name_to_id_map_3["GeothermalSource_b702"] _heat_problem_4 = run_esdl_mesido_optimization( HeatProblemSetPointConstraints, @@ -48,9 +50,11 @@ def test_setpoint_constraints(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.xml", - **{"timed_setpoints": {"GeothermalSource_b702": (21, 0)}}, + **{"timed_setpoints": {name_id_map["GeothermalSource_b702"]: (21, 0)}}, ) results_4 = _heat_problem_4.extract_results() + name_to_id_map_4 = _heat_problem_4.esdl_asset_name_to_id_map + geo_source_4_id = name_to_id_map_4["GeothermalSource_b702"] # Here we check whehter the ESDLAdditionalVarsMixin is working as intended when # a constraint for the setpoints is specified @@ -67,29 +71,30 @@ def test_setpoint_constraints(self): profile_reader=ProfileReaderFromFile, input_timeseries_file="timeseries_import.xml", ) - results_4 = _heat_problem_4.extract_results() + name_to_id_map_esdl = sol_esdl_setpoints.esdl_asset_name_to_id_map + geo_source_esdl_id = name_to_id_map_esdl["GeothermalSource_b702"] esdl_results = sol_esdl_setpoints.extract_results() np.testing.assert_array_less( abs( - esdl_results["GeothermalSource_b702.Heat_source"][2:] - - esdl_results["GeothermalSource_b702.Heat_source"][1:-1] + esdl_results[f"{geo_source_esdl_id}.Heat_source"][2:] + - esdl_results[f"{geo_source_esdl_id}.Heat_source"][1:-1] ), 1.0e-6, ) # Check that solution has one setpoint change a = abs( - results_3["GeothermalSource_b702.Heat_source"][2:] - - results_3["GeothermalSource_b702.Heat_source"][1:-1] + results_3[f"{geo_source_3_id}.Heat_source"][2:] + - results_3[f"{geo_source_3_id}.Heat_source"][1:-1] ) np.testing.assert_array_less((a >= 1.0).sum(), 2) # the 1.0 value is a manual threshold # Check that solution has no setpoint change np.testing.assert_array_less( abs( - results_4["GeothermalSource_b702.Heat_source"][2:] - - results_4["GeothermalSource_b702.Heat_source"][1:-1] + results_4[f"{geo_source_4_id}.Heat_source"][2:] + - results_4[f"{geo_source_4_id}.Heat_source"][1:-1] ), 1.0e-3, ) @@ -114,6 +119,8 @@ def test_run_small_ates_timed_setpoints_2_changes(self): base_folder = Path(run_ates.__file__).resolve().parent.parent + name_id_map = {"HeatProducer_1": "324b0371-b738-4f55-a978-3306ee81638c"} + solution = run_esdl_mesido_optimization( HeatProblemSetPoints, base_folder=base_folder, @@ -121,11 +128,14 @@ def test_run_small_ates_timed_setpoints_2_changes(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - **{"timed_setpoints": {"HeatProducer_1": (24 * 365, 2)}}, + **{"timed_setpoints": {name_id_map["HeatProducer_1"]: (24 * 365, 2)}}, ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + heat_producer_id = name_to_id_map["HeatProducer_1"] check = abs( - results["HeatProducer_1.Heat_source"][2:] - results["HeatProducer_1.Heat_source"][1:-1] + results[f"{heat_producer_id}.Heat_source"][2:] + - results[f"{heat_producer_id}.Heat_source"][1:-1] ) # check if there are less than 3 switches, a solution might be found with less # than 2 switches @@ -150,6 +160,8 @@ def test_run_small_ates_timed_setpoints_0_changes(self): base_folder = Path(run_ates.__file__).resolve().parent.parent + name_id_map = {"HeatProducer_1": "324b0371-b738-4f55-a978-3306ee81638c"} + solution = run_esdl_mesido_optimization( HeatProblemSetPoints, base_folder=base_folder, @@ -157,11 +169,15 @@ def test_run_small_ates_timed_setpoints_0_changes(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - **{"timed_setpoints": {"HeatProducer_1": (24 * 365, 0)}}, # not change at all - works + **{"timed_setpoints": {name_id_map["HeatProducer_1"]: (24 * 365, 0)}}, # not change + # at all - works ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + heat_producer_id = name_to_id_map["HeatProducer_1"] check = abs( - results["HeatProducer_1.Heat_source"][2:] - results["HeatProducer_1.Heat_source"][1:-1] + results[f"{heat_producer_id}.Heat_source"][2:] + - results[f"{heat_producer_id}.Heat_source"][1:-1] ) np.testing.assert_array_less(check, 1.0e-5) @@ -187,6 +203,8 @@ def test_run_small_ates_timed_setpoints_multiple_constraints(self): base_folder = Path(run_ates.__file__).resolve().parent.parent + name_id_map = {"HeatProducer_1": "324b0371-b738-4f55-a978-3306ee81638c"} + for ihrs in range(20 * 24 - 1, 20 * 24 + 2): solution = run_esdl_mesido_optimization( HeatProblemSetPoints, @@ -195,26 +213,22 @@ def test_run_small_ates_timed_setpoints_multiple_constraints(self): esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, input_timeseries_file="Warmte_test.csv", - **{"timed_setpoints": {"HeatProducer_1": (ihrs, 1)}}, + **{"timed_setpoints": {name_id_map["HeatProducer_1"]: (ihrs, 1)}}, ) results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + prod_id = name_to_id_map["HeatProducer_1"] + dem_id = name_to_id_map["HeatingDemand_1"] np.testing.assert_equal( max(solution.times()[1:] - solution.times()[0:-1]), 20.0 * 24.0 * 3600.0 ) - diff = ( - results["HeatProducer_1.Heat_source"][2:] - - results["HeatProducer_1.Heat_source"][1:-1] - ) + diff = results[f"{prod_id}.Heat_source"][2:] - results[f"{prod_id}.Heat_source"][1:-1] ires = [idx + 2 for idx, val in enumerate(diff) if abs(val) > 1e-5] for ii in range(1, len(ires)): - check = ( - solution.get_timeseries("HeatingDemand_1.target_heat_demand", 0).times[ires[ii]] - - solution.get_timeseries("HeatingDemand_1.target_heat_demand", 0).times[ - ires[ii - 1] - ] - ) + demand_times = solution.get_timeseries(f"{dem_id}.target_heat_demand", 0).times + check = demand_times[ires[ii]] - demand_times[ires[ii - 1]] # The following checks should be true because the setpoint changes occur at # the during ihrs time intervals if ihrs == 20 * 24 - 1: diff --git a/tests/test_temperature_ates_hp.py b/tests/test_temperature_ates_hp.py index 739c66fd5..e3394d0c5 100644 --- a/tests/test_temperature_ates_hp.py +++ b/tests/test_temperature_ates_hp.py @@ -52,6 +52,13 @@ def test_ates_temperature(self): results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map + + ates_id = name_to_id_map["ATES_cb47"] + hex_id = name_to_id_map["HeatExchange_32ba"] + hp_id = name_to_id_map["HeatPump_7f2c"] + geo_src_id = name_to_id_map["GeothermalSource_4e5b"] + gen_prod_id = name_to_id_map["GenericProducer_4dfe"] times = solution.times() @@ -61,37 +68,38 @@ def test_ates_temperature(self): energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) - ates_charging = results["ATES_cb47.__is_charging"] # =1 if charging - ates_temperature = results["ATES_cb47.Temperature_ates"] - ates_temperature_disc = results["ATES_cb47__temperature_ates_disc"] + ates_charging = results[f"{ates_id}.__is_charging"] # =1 if charging + ates_temperature = results[f"{ates_id}.Temperature_ates"] + ates_temperature_disc = results[f"{ates_id}__temperature_ates_disc"] + carrier_temperature = results["41770304791669983859190_temperature"] temperature_regimes = solution.temperature_regimes(41770304791669983859190) - ates_temperature_loss = results["ATES_cb47.Temperature_loss"] - ates_temperature_change_charging = results["ATES_cb47.Temperature_change_charging"] + ates_temperature_loss = results[f"{ates_id}.Temperature_loss"] + ates_temperature_change_charging = results[f"{ates_id}.Temperature_change_charging"] - # heat_pump_sec = results["HeatPump_7f2c.Secondary_heat"] - heat_ates = results["ATES_cb47.Heat_ates"] - heat_loss_ates = results["ATES_cb47.Heat_loss"] - ates_stored_heat = results["ATES_cb47.Stored_heat"] - hex_disabled = results["HeatExchange_32ba.__disabled"] - hp_disabled = results["HeatPump_7f2c.__disabled"] + # heat_pump_sec = results[f"{hp_id}.Secondary_heat"] + heat_ates = results[f"{ates_id}.Heat_ates"] + heat_loss_ates = results[f"{ates_id}.Heat_loss"] + ates_stored_heat = results[f"{ates_id}.Stored_heat"] + hex_disabled = results[f"{hex_id}.__disabled"] + hp_disabled = results[f"{hp_id}.__disabled"] - # geo_source = results["GeothermalSource_4e5b.Heat_source"] + # geo_source = results[f"{geo_src_id}.Heat_source"] objective = solution.objective_value objective_calc = ( sum( - parameters["GeothermalSource_4e5b.variable_operational_cost_coefficient"] - * results["GeothermalSource_4e5b.Heat_source"] + parameters[f"{geo_src_id}.variable_operational_cost_coefficient"] + * results[f"{geo_src_id}.Heat_source"] ) + sum( - parameters["HeatPump_7f2c.variable_operational_cost_coefficient"] - * results["HeatPump_7f2c.Power_elec"] + parameters[f"{hp_id}.variable_operational_cost_coefficient"] + * results[f"{hp_id}.Power_elec"] ) + sum( - parameters["GenericProducer_4dfe.variable_operational_cost_coefficient"] - * results["GenericProducer_4dfe.Heat_source"] + parameters[f"{gen_prod_id}.variable_operational_cost_coefficient"] + * results[f"{gen_prod_id}.Heat_source"] ) ) @@ -106,7 +114,7 @@ def test_ates_temperature(self): ates_temperature_disc - tol, sum( [ - results[f"ATES_cb47__temperature_disc_{temp}"] * temp + results[f"{ates_id}__temperature_disc_{temp}"] * temp for temp in temperature_regimes ] ), @@ -171,25 +179,29 @@ def test_ates_max_flow(self): results = solution.extract_results() parameters = solution.parameters(0) bounds = solution.bounds() + name_to_id_map = solution.esdl_asset_name_to_id_map + + ates_id = name_to_id_map["ATES_cb47"] + heat_demand_id = name_to_id_map["HeatingDemand_1"] # energy_conservation_test(solution, results) # heat_to_discharge_test(solution, results) - ates_flow = results["ATES_cb47.Q"] - ates_flow_bound = bounds["ATES_cb47.Q"][1] + ates_flow = results[f"{ates_id}.Q"] + ates_flow_bound = bounds[f"{ates_id}.Q"][1] - ates_heat = results["ATES_cb47.Heat_ates"] - ates_heat_bound = bounds["ATES_cb47.Heat_ates"][1] + ates_heat = results[f"{ates_id}.Heat_ates"] + ates_heat_bound = bounds[f"{ates_id}.Heat_ates"][1] - heat_demand = results["HeatingDemand_1.Heat_demand"] - target = solution.get_timeseries("HeatingDemand_1.target_heat_demand").values + heat_demand = results[f"{heat_demand_id}.Heat_demand"] + target = solution.get_timeseries(f"{heat_demand_id}.target_heat_demand").values demand_not_matched = (heat_demand - target) < -1 - ates_temperature = results["ATES_cb47.Temperature_ates"] - ates_temp_ret = parameters["ATES_cb47.T_return"] - cp = parameters["ATES_cb47.cp"] - rho = parameters["ATES_cb47.rho"] + ates_temperature = results[f"{ates_id}.Temperature_ates"] + ates_temp_ret = parameters[f"{ates_id}.T_return"] + cp = parameters[f"{ates_id}.cp"] + rho = parameters[f"{ates_id}.rho"] np.testing.assert_allclose(abs(ates_flow[demand_not_matched]), ates_flow_bound) np.testing.assert_array_less(abs(ates_heat[demand_not_matched]), ates_heat_bound) diff --git a/tests/test_updated_esdl_post_process.py b/tests/test_updated_esdl_post_process.py index d71c87b80..0f5054ea0 100644 --- a/tests/test_updated_esdl_post_process.py +++ b/tests/test_updated_esdl_post_process.py @@ -371,6 +371,7 @@ def test_updated_esdl_eac(self): results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map problem = EndScenarioSizingDiscountedStaged( esdl_file_name=esdl_name, @@ -416,7 +417,7 @@ def test_updated_esdl_eac(self): ) # Check if EAC calculation is matching with KPI values - asset = "ResidualHeatSource_72d7" + asset_id = name_to_id_map["ResidualHeatSource_72d7"] for ii in range(len(energy_system.instance[0].area.KPIs.kpi)): kpi_name = energy_system.instance[0].area.KPIs.kpi[ii].name @@ -435,10 +436,10 @@ def test_updated_esdl_eac(self): if string_items_asset.label == "ResidualHeatSource": value = string_items_asset.value - investment_cost = results[f"{asset}__investment_cost"] - installation_cost = results[f"{asset}__installation_cost"] - asset_life_years = parameters[f"{asset}.technical_life"] - discount_rate = parameters[f"{asset}.discount_rate"] / 100.0 + investment_cost = results[f"{asset_id}__investment_cost"] + installation_cost = results[f"{asset_id}__installation_cost"] + asset_life_years = parameters[f"{asset_id}.technical_life"] + discount_rate = parameters[f"{asset_id}.discount_rate"] / 100.0 annuity_factor = calculate_annuity_factor(discount_rate, asset_life_years) capex_eac = (investment_cost + installation_cost) * annuity_factor @@ -453,8 +454,8 @@ def test_updated_esdl_eac(self): if string_items_asset.label == "ResidualHeatSource": value = string_items_asset.value - var_opex_cost = results[f"{asset}__variable_operational_cost"] - fix_opex_cost = results[f"{asset}__fixed_operational_cost"] + var_opex_cost = results[f"{asset_id}__variable_operational_cost"] + fix_opex_cost = results[f"{asset_id}__fixed_operational_cost"] opex_eac = var_opex_cost + fix_opex_cost diff --git a/tests/test_updated_esdl_pre_process.py b/tests/test_updated_esdl_pre_process.py index c5d0392e9..3e9f31802 100644 --- a/tests/test_updated_esdl_pre_process.py +++ b/tests/test_updated_esdl_pre_process.py @@ -52,6 +52,7 @@ def test_updated_esdl(self): esdl_file_name="PoC Tutorial.esdl", esdl_parser=ESDLFileParser, ) + name_to_id_map = problem.esdl_asset_name_to_id_map # This code below is used to do manual check. Do not delete # problem_scaling_check(logs_list, logger) @@ -72,32 +73,36 @@ def test_updated_esdl(self): # Test that the correct demand profile is assigned to a demand as expected. Note that the # demand profiles are the adapted profiles (peak-hourly, rest-5daily). Therefore the # expected max and average hard-coded values are compared to the problem values. + demand_b0ff_id = name_to_id_map["HeatingDemand_b0ff"] + demand_8fbe_id = name_to_id_map["HeatingDemand_8fbe"] + demand_08fd_id = name_to_id_map["HeatingDemand_08fd"] + np.testing.assert_allclose( 8857200.0, - max(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values), + max(problem.get_timeseries(f"{demand_b0ff_id}.target_heat_demand").values), # demand4_MW, multiplier 0.75, same demand profile as demand HeatingDemand_08fd, but # with a different multiplier. So one would expect that this value differs from # HeatingDemand_08fd ) np.testing.assert_allclose( 724680.0, # demand5_MW, multiplier 0.33 - max(problem.get_timeseries("HeatingDemand_8fbe.target_heat_demand").values), + max(problem.get_timeseries(f"{demand_8fbe_id}.target_heat_demand").values), ) np.testing.assert_allclose( 805200.0, # demand4_MW, multiplier 0.5 - max(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values), + max(problem.get_timeseries(f"{demand_08fd_id}.target_heat_demand").values), ) np.testing.assert_allclose( 3484288.0247, # demand4_MW, multiplier 5.5 - np.average(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values), + np.average(problem.get_timeseries(f"{demand_b0ff_id}.target_heat_demand").values), ) np.testing.assert_allclose( 285078.111, # demand5_MW, multiplier 0.3 - np.average(problem.get_timeseries("HeatingDemand_8fbe.target_heat_demand").values), + np.average(problem.get_timeseries(f"{demand_8fbe_id}.target_heat_demand").values), ) np.testing.assert_allclose( 316753.457, # demand4_MW, multiplier 0.5 - np.average(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values), + np.average(problem.get_timeseries(f"{demand_08fd_id}.target_heat_demand").values), ) # Check that the correct multiplier value was used @@ -105,14 +110,12 @@ def test_updated_esdl(self): # HeatingDemand_08fd: multiplier 0.5 # HeatingDemand_b0ff: multplier 5.5 np.testing.assert_allclose( - max(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values) / 0.5, - max(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values) / 5.5, + max(problem.get_timeseries(f"{demand_08fd_id}.target_heat_demand").values) / 0.5, + max(problem.get_timeseries(f"{demand_b0ff_id}.target_heat_demand").values) / 5.5, ) np.testing.assert_allclose( - np.average(problem.get_timeseries("HeatingDemand_08fd.target_heat_demand").values) - / 0.5, - np.average(problem.get_timeseries("HeatingDemand_b0ff.target_heat_demand").values) - / 5.5, + np.average(problem.get_timeseries(f"{demand_08fd_id}.target_heat_demand").values) / 0.5, + np.average(problem.get_timeseries(f"{demand_b0ff_id}.target_heat_demand").values) / 5.5, ) # Test limiting the pipe classes for a pipe connected to a heat demand/producer @@ -120,12 +123,14 @@ def test_updated_esdl(self): # Check that Pipe4 has 2 of pipe classes available, and that DN0 has not been # included in the list of avialbel pipe classes. Pipe4 started as an optional pipe with # DN900 as the starting point for the upper limit. - for key in problem._heat_pipe_topo_pipe_class_map["Pipe4"].keys(): + for key in problem._heat_pipe_topo_pipe_class_map[name_to_id_map["Pipe4"]].keys(): np.testing.assert_equal(key.name in ["DN150", "DN200"], True) # Pipe connected to a producer # initially DN900 np.testing.assert_equal( - [*problem._heat_pipe_topo_pipe_class_map["Pipe1"].keys()][-1].name == "DN400", True + [*problem._heat_pipe_topo_pipe_class_map[name_to_id_map["Pipe1"]].keys()][-1].name + == "DN400", + True, ) diff --git a/tests/test_validation_pandapipes.py b/tests/test_validation_pandapipes.py index a91da05a8..8e144f713 100644 --- a/tests/test_validation_pandapipes.py +++ b/tests/test_validation_pandapipes.py @@ -85,6 +85,11 @@ def times(self, variable=None) -> np.ndarray: ) results = solution.extract_results() + name_to_id = solution.esdl_asset_name_to_id_map + + pipe_id = name_to_id["Pipe1"] + demand_id = name_to_id["demand_1"] + demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) @@ -120,14 +125,14 @@ def times(self, variable=None) -> np.ndarray: profile_demand_load_watt["0"] = raw_profile_demand_load_watt["demand_1"] demand_power = profile_demand_load_watt["0"].to_numpy() / total_consumers - profile_demand_load_watt = pd.DataFrame(results["demand_1.Heat_demand"]) + profile_demand_load_watt = pd.DataFrame(results[f"{demand_id}.Heat_demand"]) # Setup supply mass flow for panda_pipes average_temperature_kelvin = (supply_temperature + return_temperature) / 2.0 + 273.15 cp_joule_kgkelvin = pp.get_fluid(net).get_heat_capacity(average_temperature_kelvin) # Enforce mass flow rate instead of cacluting it from Q = m_dot... - mesido_demand_flow_kg_s = results["Pipe1.Q"] * 988.0 + mesido_demand_flow_kg_s = results[f"{pipe_id}.Q"] * 988.0 demand_flow = mesido_demand_flow_kg_s supply_flow = demand_flow * total_consumers / total_producers @@ -229,16 +234,16 @@ def times(self, variable=None) -> np.ndarray: # Compare head losses # Hard coded value of 9 used below, since the last data entry has value close to 0, and # a comparison is not of importance - for ii in range(len(results["Pipe1.dH"][:9])): + for ii in range(len(results[f"{pipe_id}.dH"][:9])): np.testing.assert_array_less( pandapipes_head_loss_m[ii][0], 0.0 ) # check that values are negative # check that mesido > pandapipes within % np.testing.assert_array_less( - results["Pipe1.dH"][ii] / pandapipes_head_loss_m[ii][0], 1.08 + results[f"{pipe_id}.dH"][ii] / pandapipes_head_loss_m[ii][0], 1.08 ) np.testing.assert_array_less( - 1.0, results["Pipe1.dH"][ii] / pandapipes_head_loss_m[ii][0] + 1.0, results[f"{pipe_id}.dH"][ii] / pandapipes_head_loss_m[ii][0] ) # Check cp value np.testing.assert_allclose(4200.0, cp_joule_kgkelvin) diff --git a/tests/test_varying_temperature.py b/tests/test_varying_temperature.py index b11fcf061..fc0f2acb1 100644 --- a/tests/test_varying_temperature.py +++ b/tests/test_varying_temperature.py @@ -315,12 +315,15 @@ def test_hex_temperature_variation_disablehex(self): # optimization with only one option in temperature which is infeasible for the hex. # therefore optimization should disable the heat exchanger results = heat_problem.extract_results() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map + hex_id = name_to_id_map["HeatExchange_39ed"] # Check that the problem has an infeasible temperature for the hex np.testing.assert_allclose(results[f"{33638164429859421}_temperature"], 69.0) # Verify that the hex is disabled - np.testing.assert_allclose(results["HeatExchange_39ed.__disabled"], 1.0) - np.testing.assert_allclose(results["HeatExchange_39ed.Primary_heat"], 0.0) + + np.testing.assert_allclose(results[f"{hex_id}.__disabled"], 1.0) + np.testing.assert_allclose(results[f"{hex_id}.Primary_heat"], 0.0) demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results, atol=25, atol_total=25) @@ -391,21 +394,22 @@ def test_heat_pump_varying_temperature(self): results = heat_problem.extract_results() parameters = heat_problem.parameters(0) + name_to_id_map = heat_problem.esdl_asset_name_to_id_map + hp_id = name_to_id_map["GenericConversion_3d3f"] demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results, atol=20) expected_cop = ( - parameters["GenericConversion_3d3f.efficiency"] + parameters[f"{hp_id}.efficiency"] * (273.15 + results[f"{7212673879469902607010}_temperature"]) / (results[f"{7212673879469902607010}_temperature"] - 70.0) ) np.testing.assert_allclose( expected_cop, - results["GenericConversion_3d3f.Secondary_heat"] - / results["GenericConversion_3d3f.Power_elec"], + results[f"{hp_id}.Secondary_heat"] / results[f"{hp_id}.Power_elec"], ) # Note that CBC struggles heavily and tends to crash, therefore excluded from pipeline diff --git a/tests/test_warmingup_unit_cases.py b/tests/test_warmingup_unit_cases.py index e4572efc8..41160df57 100644 --- a/tests/test_warmingup_unit_cases.py +++ b/tests/test_warmingup_unit_cases.py @@ -151,15 +151,19 @@ def test_3a(self): parameters = heat_problem.parameters(0) bounds = heat_problem.bounds() + name_to_id_map = heat_problem.esdl_asset_name_to_id_map + demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) # We only check the flow directions for the time-steps that there is flow in the pipe. - inds = np.round(1 - results["Pipe_e53a.__is_disconnected"]).astype(bool) + inds = np.round(1 - results[f"{name_to_id_map['Pipe_e53a']}.__is_disconnected"]).astype( + bool + ) np.testing.assert_allclose( - np.round(results["Pipe_e53a.__flow_direct_var"][inds]) * 2.0 - 1.0, - np.sign(results["Pipe_e53a.Q"][inds]), + np.round(results[f"{name_to_id_map['Pipe_e53a']}.__flow_direct_var"][inds]) * 2.0 - 1.0, + np.sign(results[f"{name_to_id_map['Pipe_e53a']}.Q"][inds]), ) for buffer in heat_problem.energy_system_components.get("heat_buffer", []): From 6b51321488f44465b11fc31406cf7804993be74d Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 15 Apr 2026 12:02:03 +0200 Subject: [PATCH 356/376] fix for getting profile unit and quantity (#457) --- CHANGELOG.md | 17 +++++++++++++++-- src/mesido/asset_sizing_mixin.py | 25 ++++++++++++++++--------- 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2647f9034..4b56f9e56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2026-03-26 +# [Unreleased-main] - 2026-04-13 ## Added - Electricity consumption calculation of geothermal assets, using the defined COP. @@ -12,7 +12,20 @@ - The code base uses asset id's instead of asset names expect for csv inputs where the asset names are still accepted. ## Fixed -- xxx +- ProfileConstraints: Use already available function to get profile quantity and unit + + +# [0.1.18.1] - 2026-04-13 + +## Added +- Electricity consumption calculation of geothermal assets, using the defined COP. +- Geothermal electricity asset that can be connected to the electricity grid. + +## Changed +- xxx + +## Fixed +- ProfileConstraints: Use already available function to get profile quantity and unit # [0.1.18] - 2026-03-12 diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index fe226930e..d42d6f632 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -12,6 +12,7 @@ from mesido.esdl.asset_to_component_base import AssetStateEnum from mesido.esdl.common import Asset from mesido.esdl.esdl_additional_vars_mixin import get_asset_contraints +from mesido.esdl.profile_parser import InfluxDBProfileReader from mesido.head_loss_class import HeadLossOption from mesido.network_common import NetworkSettings from mesido.pipe_class import CableClass, GasPipeClass, PipeClass @@ -811,7 +812,9 @@ def _make_max_size_var(name, lb, ub, nominal): if ( qty_asset_profile_constraints > 0 and hasattr(asset_profile_constraints[0], "maximum") - and asset_profile_constraints[0].maximum.profileQuantityAndUnit.reference.unit + and InfluxDBProfileReader._get_profile_quantity_and_unit( + asset_profile_constraints[0].maximum + ).unit == esdl.UnitEnum.WATT and parameters[f"{asset_name}.state"] == AssetStateEnum.OPTIONAL # Optional asset ): @@ -1904,7 +1907,9 @@ def __producer_constraints( if ( qty_asset_profile_constraints > 0 and hasattr(asset_profile_constraints[0], "maximum") - and asset_profile_constraints[0].maximum.profileQuantityAndUnit.reference.unit + and InfluxDBProfileReader._get_profile_quantity_and_unit( + asset_profile_constraints[0].maximum + ).unit == esdl.UnitEnum.WATT ): parameters = self.parameters(ensemble_member) @@ -1945,16 +1950,18 @@ def __producer_constraints( # profile is specified without units (xlm/csv) qty_asset_profile_constraints == 0 or ( - asset_profile_constraints[ - 0 - ].maximum.profileQuantityAndUnit.reference.physicalQuantity + InfluxDBProfileReader._get_profile_quantity_and_unit( + asset_profile_constraints[0].maximum + ).physicalQuantity == esdl.PhysicalQuantityEnum.COEFFICIENT and ( - asset_profile_constraints[0].maximum.profileQuantityAndUnit.reference.unit + InfluxDBProfileReader._get_profile_quantity_and_unit( + asset_profile_constraints[0].maximum + ).unit == esdl.UnitEnum.PERCENT - or asset_profile_constraints[ - 0 - ].maximum.profileQuantityAndUnit.reference.unit + or InfluxDBProfileReader._get_profile_quantity_and_unit( + asset_profile_constraints[0].maximum + ).unit == esdl.UnitEnum.NONE ) ) # profile from esdl From 31400b6b85e323f5edee1db26cc1813bb35e8231 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Thu, 16 Apr 2026 18:51:00 +0200 Subject: [PATCH 357/376] Datasource to output profile (datasource_to_output_profile) (#460) Used DataSource to indicate that output profiles are coming from the optimizer. Hence, source of output profiles will be clearly indicated in optimized esdl. --------- Co-authored-by: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> --- CHANGELOG.md | 4 +++- setup.py | 2 +- src/mesido/workflows/io/write_output.py | 8 ++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b56f9e56..9d6cceac5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,17 @@ -# [Unreleased-main] - 2026-04-13 +# [Unreleased-main] - 2026-04-16 ## Added - Electricity consumption calculation of geothermal assets, using the defined COP. - Geothermal electricity asset that can be connected to the electricity grid. - Addition of heat buffer asset with electric charging (i.e. HeatBufferElec). +- DataSource is assigned to output profiles ## Changed - Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. - The method __state_vector_scaled has been moved to BaseProblemMixin, allowing the same method to be used across different problem classes as _BaseProblemMixin__state_vector_scaled. - The creation of discrete variables for individual assets has been moved to the pycml classes. - The code base uses asset id's instead of asset names expect for csv inputs where the asset names are still accepted. +- Updated pyESDL to v26.3 ## Fixed - ProfileConstraints: Use already available function to get profile quantity and unit diff --git a/setup.py b/setup.py index e8af0ab9d..6c879ddfd 100644 --- a/setup.py +++ b/setup.py @@ -63,7 +63,7 @@ # < 81.0.0 needed for pandapipes (still to be removed) # < 82.0.0 needed for pkg_resources (used in rtctools) "setuptools <= 80.9.0", - "pyesdl == 26.2", + "pyesdl == 26.3", "pandas >= 1.3.1, < 2.0", "casadi-gil-comp == 3.6.7", "StrEnum == 0.4.15", diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index d7e88ee05..4fd1ae730 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -1458,6 +1458,14 @@ def _write_updated_esdl( f"{asset_id}. + {variable}" ) + # Write the source of profiles (Optimizer) + profile_attributes.dataSource = esdl.esdl.DataSource( + id=str(uuid.uuid4()), + name="Optimizer", + description="This was created in the optimizer", + type=esdl.DataSourceTypeEnum.MODEL, + ) + # Write result OUTPUT profiles on the optimized esdl asset.port[index_outport].profile.append(profile_attributes) From 684d41038a81d30c8bb67e198d762d7d24a2adf2 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Fri, 17 Apr 2026 11:26:34 +0200 Subject: [PATCH 358/376] updating check on which demands are not matched (#461) Updating check on which demands are not matched in the grow_workflow --- CHANGELOG.md | 3 ++- src/mesido/workflows/grow_workflow.py | 26 ++++++++++++++++++-------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d6cceac5..465962573 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2026-04-16 +# [Unreleased-main] - 2026-04-17 ## Added - Electricity consumption calculation of geothermal assets, using the defined COP. @@ -12,6 +12,7 @@ - The creation of discrete variables for individual assets has been moved to the pycml classes. - The code base uses asset id's instead of asset names expect for csv inputs where the asset names are still accepted. - Updated pyESDL to v26.3 +- Updated the GROW workflow to provide feedback on which heat demands are not matched in priority 1. ## Fixed - ProfileConstraints: Use already available function to get profile quantity and unit diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 993f7d765..6582eac12 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -475,6 +475,8 @@ def priority_completed(self, priority): ) ) if priority == 1 and self.objective_value > 1e-6: + results = self.extract_results() + self.__heat_demand_match_check(results) raise RuntimeError("The heating demand is not matched") if self._workflow_progress_status is not None: @@ -529,14 +531,7 @@ def post(self): logger.error("Unkown error occured when evaluating self._stage for _write_updated_esdl") sys.exit(1) - for d in self.energy_system_components.get("heat_demand", []): - realized_demand = results[f"{d}.Heat_demand"] - target = self.get_timeseries(f"{d}.target_heat_demand").values - timesteps = np.diff(self.get_timeseries(f"{d}.target_heat_demand").times) - parameters[f"{d}.target_heat_demand"] = target.tolist() - delta_energy = np.sum((realized_demand - target)[1:] * timesteps / 1.0e9) - if delta_energy >= 1.0: - logger.warning(f"For demand {d} the target is not matched by {delta_energy} GJ") + self.__heat_demand_match_check(results) if os.path.exists(self.output_folder) and self._save_json: bounds = self.bounds() @@ -544,6 +539,21 @@ def post(self): solver_stats = self.solver_stats self._write_json_output(results, parameters, bounds, aliases, solver_stats) + def __heat_demand_match_check(self, results): + parameters = self.parameters(0) + id_to_name_map = self.esdl_asset_id_to_name_map + for d in self.energy_system_components.get("heat_demand", []): + realized_demand = results[f"{d}.Heat_demand"] + target = self.get_timeseries(f"{d}.target_heat_demand").values + parameters[f"{d}.target_heat_demand"] = target.tolist() + timesteps = np.diff(self.get_timeseries(f"{d}.target_heat_demand").times) + delta_energy = np.sum((target - realized_demand)[1:] * timesteps / 1.0e9) + if delta_energy >= 1.0: + logger.warning( + f"For demand {id_to_name_map[d]} the target is not matched by" + f" {delta_energy} GJ" + ) + class EndScenarioSizingHIGHS(EndScenarioSizing): """ From e02806b2a84482be2f5ce6a5a8c12b4933bbe5f1 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Fri, 17 Apr 2026 13:54:39 +0200 Subject: [PATCH 359/376] Removed test files that are no longer used (#462) --- CHANGELOG.md | 1 + .../model/absolute_heat_3car.esdl | 135 ------ tests/models/emerge/model/EMERGE_2.esdl | 119 ----- tests/models/emerge/model/emerge_solar.esdl | 112 ----- .../model/testing_network_1_supply_only.esdl | 210 --------- .../model/PoC_tutorial_incl_ATES.esdl | 439 ------------------ .../case_1a_t_var/input/timeseries_import.xml | 178 ------- .../unit_cases/case_1a_t_var/model/1a.esdl | 171 ------- .../case_1a_t_var/output/.gitignore | 2 - .../unit_cases/case_1a_t_var/src/run_1a.py | 75 --- .../bus_networks/model/Electric_bus1.PNG | Bin 490614 -> 0 bytes .../bus_networks/model/Electric_bus1.esdl | 41 -- .../model/h2_original_without_profiles.esdl | 100 ---- .../electrolyzer/model/h2_profiles2030.esdl | 116 ----- .../model/h2_profiles2030_costs_included.esdl | 137 ------ 15 files changed, 1 insertion(+), 1835 deletions(-) delete mode 100644 tests/models/absolute_heat/model/absolute_heat_3car.esdl delete mode 100644 tests/models/emerge/model/EMERGE_2.esdl delete mode 100644 tests/models/emerge/model/emerge_solar.esdl delete mode 100644 tests/models/esdl_constraints/model/testing_network_1_supply_only.esdl delete mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES.esdl delete mode 100644 tests/models/unit_cases/case_1a_t_var/input/timeseries_import.xml delete mode 100644 tests/models/unit_cases/case_1a_t_var/model/1a.esdl delete mode 100644 tests/models/unit_cases/case_1a_t_var/output/.gitignore delete mode 100644 tests/models/unit_cases/case_1a_t_var/src/run_1a.py delete mode 100644 tests/models/unit_cases_electricity/bus_networks/model/Electric_bus1.PNG delete mode 100644 tests/models/unit_cases_electricity/bus_networks/model/Electric_bus1.esdl delete mode 100644 tests/models/unit_cases_electricity/electrolyzer/model/h2_original_without_profiles.esdl delete mode 100644 tests/models/unit_cases_electricity/electrolyzer/model/h2_profiles2030.esdl delete mode 100644 tests/models/unit_cases_electricity/electrolyzer/model/h2_profiles2030_costs_included.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 465962573..3b90ff1e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - The code base uses asset id's instead of asset names expect for csv inputs where the asset names are still accepted. - Updated pyESDL to v26.3 - Updated the GROW workflow to provide feedback on which heat demands are not matched in priority 1. +- Removed old test files that are no longer used. ## Fixed - ProfileConstraints: Use already available function to get profile quantity and unit diff --git a/tests/models/absolute_heat/model/absolute_heat_3car.esdl b/tests/models/absolute_heat/model/absolute_heat_3car.esdl deleted file mode 100644 index 95e681090..000000000 --- a/tests/models/absolute_heat/model/absolute_heat_3car.esdl +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/models/emerge/model/EMERGE_2.esdl b/tests/models/emerge/model/EMERGE_2.esdl deleted file mode 100644 index 4134bc6ae..000000000 --- a/tests/models/emerge/model/EMERGE_2.esdl +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/models/emerge/model/emerge_solar.esdl b/tests/models/emerge/model/emerge_solar.esdl deleted file mode 100644 index a48cb4640..000000000 --- a/tests/models/emerge/model/emerge_solar.esdl +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/models/esdl_constraints/model/testing_network_1_supply_only.esdl b/tests/models/esdl_constraints/model/testing_network_1_supply_only.esdl deleted file mode 100644 index 0b02daad0..000000000 --- a/tests/models/esdl_constraints/model/testing_network_1_supply_only.esdl +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES.esdl deleted file mode 100644 index 0a793614a..000000000 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/PoC_tutorial_incl_ATES.esdl +++ /dev/null @@ -1,439 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/models/unit_cases/case_1a_t_var/input/timeseries_import.xml b/tests/models/unit_cases/case_1a_t_var/input/timeseries_import.xml deleted file mode 100644 index c488fb3a6..000000000 --- a/tests/models/unit_cases/case_1a_t_var/input/timeseries_import.xml +++ /dev/null @@ -1,178 +0,0 @@ - - - 0.0 - -
- instantaneous - - 2ab92324-f86e-4976-9a6e-f7454b77ba3c - 3f514c6b-fd11-4821-9e6c-4a4d13d46762 - - - - -999.0 - W -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- instantaneous - - 6662aebb-f85e-4df3-9f7e-c58993586fba - 5f607bc1-31a6-4bc8-8911-aefd4d2cfc4d - - - - -999.0 - W -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- instantaneous - - 506c41ac-d415-4482-bf10-bf12f17aeac6 - ee56b88f-a264-4389-ba57-6f2b52a05e1c - - - - -999.0 - W -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
diff --git a/tests/models/unit_cases/case_1a_t_var/model/1a.esdl b/tests/models/unit_cases/case_1a_t_var/model/1a.esdl deleted file mode 100644 index 317649cb8..000000000 --- a/tests/models/unit_cases/case_1a_t_var/model/1a.esdl +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/models/unit_cases/case_1a_t_var/output/.gitignore b/tests/models/unit_cases/case_1a_t_var/output/.gitignore deleted file mode 100644 index c4697e99f..000000000 --- a/tests/models/unit_cases/case_1a_t_var/output/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -diag.xml -timeseries_export.xml diff --git a/tests/models/unit_cases/case_1a_t_var/src/run_1a.py b/tests/models/unit_cases/case_1a_t_var/src/run_1a.py deleted file mode 100644 index 169108f58..000000000 --- a/tests/models/unit_cases/case_1a_t_var/src/run_1a.py +++ /dev/null @@ -1,75 +0,0 @@ -from mesido.esdl.esdl_additional_vars_mixin import ESDLAdditionalVarsMixin -from mesido.esdl.esdl_mixin import ESDLMixin -from mesido.esdl.esdl_parser import ESDLFileParser -from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.physics_mixin import PhysicsMixin - -import numpy as np - -from rtctools.optimization.collocated_integrated_optimization_problem import ( - CollocatedIntegratedOptimizationProblem, -) -from rtctools.optimization.goal_programming_mixin import Goal, GoalProgrammingMixin -from rtctools.optimization.linearized_order_goal_programming_mixin import ( - LinearizedOrderGoalProgrammingMixin, -) -from rtctools.util import run_optimization_problem - - -class TargetDemandGoal(Goal): - priority = 1 - - order = 2 - - def __init__(self, state, target): - self.state = state - - self.target_min = target - self.target_max = target - self.function_range = (0.0, 2.0 * max(target.values)) - self.function_nominal = np.median(target.values) - - def function(self, optimization_problem, ensemble_member): - return optimization_problem.state(self.state) - - -class _GoalsAndOptions: - def path_goals(self): - goals = super().path_goals().copy() - - for demand in self.energy_system_components["heat_demand"]: - target = self.get_timeseries(f"{demand}.target_heat_demand") - state = f"{demand}.Heat_demand" - - goals.append(TargetDemandGoal(state, target)) - - return goals - - -class HeatProblem( - _GoalsAndOptions, - ESDLAdditionalVarsMixin, - PhysicsMixin, - LinearizedOrderGoalProgrammingMixin, - GoalProgrammingMixin, - ESDLMixin, - CollocatedIntegratedOptimizationProblem, -): - # __temperature_options = {} - - def solver_options(self): - options = super().solver_options() - options["solver"] = "highs" - return options - - -if __name__ == "__main__": - sol = run_optimization_problem( - HeatProblem, - esdl_file_name="1a.esdl", - esdl_parser=ESDLFileParser, - profile_reader=ProfileReaderFromFile, - input_timeseries_file="timeseries_import.xml", - ) - results = sol.extract_results() - a = 1 diff --git a/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus1.PNG b/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus1.PNG deleted file mode 100644 index 5e17271f2e9bd9b645aa639d8dc95bea85951b27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 490614 zcmV)tK$pLXP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L|D{PpK~#8N?EMFL zT-lW-2x?|$ccyz?_x8?AcklFW&umvscbDnz+A@;5s#H~yN-Fu3lu9X;M!sZH>8;Xx zpUk8;Nl%dQ-bWw;;k}PQz=Cjwr>C&Ug^r$qn+Jc6L9QCCL z+8W?7*C6J$%6+(3eCDQ!j4OXD;jaoIOx1g)D6IZTW z!A6hEmo8#_bOdf!?!38H+T|MBLM|lzcEr7{avkQS>nK(6Tk7<6UTgL{AzLFNZkcNx zY4rE?ZA^N5(c9gHuJ$&xCu2y+d=6OaB{w$~QPbvRaBU#_GA4g}fucj3PK?!z~~`AvN3i(kZ{_YdHMix;tL=N|mzCx44?ed}BJ(wDx3FN?hX z>MNKW8^ud6ynuUt@pHWM)|)tZU_TZwFQTrt3h9m%rlzMbJT!=ODgmF{iICTcM8Jh~ z*t6okwnn`0$}>)cd`LzD@+>Wgy3G1sROWxs)`V0vAkVG$+UK|=e3t1%L_TkUr@0dL zx?;E*%i)vfW0&>hYAn<9=<{4-{%u489v4Q2hv9O$aKDWCyW6(m=#eA1?Y7(SZpSf`10(!bS5%M^6u5i9{y@o{>a&0-~IZ&tgt#$g| zdh5nW+9RH;Izsdj&+Rp5bQPa@P}Xl-(50W{>z&O11K z_z?Pfx-mIAj2-X23!BA^(__Q3HbQt`)~VgriaF5_7j0%-^f@p$If|}CaA|FBemwJq z*Grw040;d`dJzf8It&HT)7_2f)2DGs^h*A5~mmpQ(;xF|Yl1m)$Wc>IZnao1gU z;L(R3gvD&aW%&$cbaWIo)s=Yh#piMRcW%R7cifKS$B*fG_U+w+haR{e@4WpM%qA1s zQYq1MAL63St8?ehVRCXxY)==zZP~b!}H?2QC`i(^|*unK|(TWX*`A;}Ov_wMckvE9Nu*J1z4x;kU^g zZIZcI4QEq1Lar8c%RK~=gBa*&M|UEGPMHT?Z3%St4x+7l6n%r@SM-iyU~mL!@lmYd zDNKxuA2oa$w(tmov0j}cxw<4hCjQP;y}_KVgtx5(9!J@-Ud>(~*O6YIs|gNkA-o;3 zR>mr1&6L2~TDfHRGoR<&b$i7I_mmm_#@{!IoUXypd=k6&ZHLL(h`#waq9ZNvMLjrt zXg@+Rd4Bz2c*Cut-`_{L-GiaAepFUg;P}xa2>Lu|Pq&Nz*RDEyOy>3Q(9nu!(kFgK zcW1l$7;&+m)DfI3tNC@*X+iO4;^Hgz_4ced*H#Iysi&(09jQ2y;(zdZxGwnDCG*oE zepW!Pp-rwYcRs7gzp1zRnUK9{!~Vedfc&QTXF;zU)fJ`Ky=x~1`uot8PN7hI<5MRK zM6cP<)Yz!{ZE#=^iwg_DhaW7hxUD-r5WjWt{G#ZwOX@>y=9m}1XiRkVa7PC$9Rny& z8r#^cl!#cmM=&xziFxtwKG1vmaOrF-k1YXd6atjSh8B1QfKie20d$Iz=@BD8*4KeE zZW|VNzlp`SpT*dzgNXXPq6CNJyEg{Z_`3}aW|*4l5EH|cKM8V$Ab=ArnJG^M>?1kXY0G-X#En^)dEyJF+BCui{jvZ4P|9@ zsH$p4U7bb0OMutaH3E;@kE+T_R9BV5FJR&7bz~;Esjdn~#qe@b49Xad^!K8yxDdrB zkE356csnP$e3pNsqQL3MwAK_N;IhGEsYgs4k?c8dmZ-uGI@RH^R-c4JoLv4l$1(SF zDRF+>ttP}HL7Y94ao#q1%+AcfV+hjZ-k0t_DGDIaDga4--&$3m*AcYKb;z~l0<&D9 zVk4-GiSad3N-IPZR9{aIdPH%iV?k9$1b;pO#5A({8zLz=r={}53L|AC1YS;Y40+u~ z?`I_>0KqNbfzBKMot803hW!ZpTmphzh{s|W9UD=gWOPuO&;iamLIlWkT5PSY_^sdi zEyPkWT>0P%67e`*cJ1 z0~cR^8uRuRjLZGRgRLmu^Dtii!SCRWpZ_s}PBYHU&*}C1nvURCU;lsN;V=FZJS6h) zm;R}Oxora6oHhIPGn}IYp3#6;91#m#GUqLoC$9n&Syx75x)D(wApkAmYgHXVM}g<& z`c+*;9g+7P0)BtE3jV$ubSx)DCd9EDuSK-CX-RJoaApE(S>Q#d#jn90aoTfq2SKB? z>ZAsKI4;@OyTo>m4-cTOrW(x+bto=8i4y`?2p|SzZtUN;7cRRMBYj;Oz^JRK!pY-@ zFf}raOO=JVP*a4t;T{Z&U131$Mgn@&%M5^~#F_NSZ@QfhBohgpw-+v4QXP_e@ZZ!i zABv2Rjfw7wp`)V{RW-Hv#y7sM0l9Qr3U}Ul2cCTLNlbEn3&?xz)mQQ0gAc&%cEjuO z;3;|UuDkBkbInXm;MG@N!tJ+z2d}*H3OdCZS~z!J*GVWCfY0TS_2&{`<~O_tm9QKB zm;P6H9{F!ne9!!k2)}=;zL)Sa=+lgp*e{-w!A4%^0-dK#9v$sz9Ut0~gaBFw5NX2* zxF~!U5ofd5vO>{Cg-i3qsg9{DHH{x0To52Oj=uIddXr&9;=MTKnZw%+^C%CT#R1D4 zoQW9}I?m$D?_EUK;1n97XYh*?i`ZM!kM6dZ-orqDze@LL1c^zr%-5=G=5KIZfLEeK z)?=B@QLZIki`p-937l?OpQ8dGInU+u{(&-hLSh#!HJNoM_u_9AC*CgLO#om1`Tssj z2Bal$V);4oo znK_L`vHxevPNHLY95rnNhBh`=YTE}9?jOap*w@Qv#b>^9dFgB`k1Ydf1SV~5{irCf zP^YRV6~S49so# z!$16EJn+CHNF=(&m_+2YZ{t7xr$4~gzy2*8I#htp&S6ACNdabcXsoM6b5*e@z$yVX zdDoQ)BOLIcy0T0s=kcRQu}>ys@u>nage~Y2<;<)NBV5c_dBnI!gIm z90@|{l-mTD(utv?9TtZpAfw{kzD|EPcz0A@Wy`L2tZ2l%QJ5gEW9sy<{0YXDPU6?yF ztI=tKqz~nP`3GMg6vzF=7oNvgzxq{ia2|xi;SkU@i^|G6{K=pEiL8%q{VdN@Sy6#c zfBMrJ;bR2);+2aSpBO_;bv1tev!CJVr^I2JoY1KDyZ~)xROk!^{C-5lxo!(*KqMWu zwX&XDDV%GXB^76fQOBS>PZ|I^Qw5!jux2r?u5)DS9jx8PMY<7lo#^||j zg+v2x0s37UIi-`=F5}GX!PL|g&d$u>!Ya`+z8{T5R@?)HAZ>cEA9JD)W>N`^_V=N) zZvc*VW2Jwi!swo_GxNK%Z3zvkE!31?x+8_bz8>LQF#FXfwlf_Iq3Gmsg#BJvOwAfNp))lzIgUNMccQwyR5Mzw z=0?2t?lzn{c|vsWI2Oh6ximU}#j~^M?M!2jIFkWK%hli9pzzugGN=6v3OZVm6tFcc z`ettKtY-76e+ZxmWEK}ME(d@3?}34S%^uu+=XdeabI%|a4r6})9EOKSbS^Xq`25;e zzoJ>@nwlE)3z+!CCq9AlvNBx{&CSiY>&`pz#V>wQgA*4nEaD7xlH4Do=^g1dcm3jSx?QB$ROK*=jtX*9Q${e2% zAZnB$ToL<3qg|>F<=+)9NE}?q}^-e@7C&)FeLj z#wB>-ljsutG0>exlYayc7M;Tm?-_9b=g>VcgVE6`Ly)$wei+^91O|G$)#;?1nVZ7k zbP|aP0<~-BaA2?;o=7RY;$zU~a5a^|L^G)PT)K^&fpNW~qYW_vPD) z>lS9u1e`I`PjJR(8aKG6i1?w@+q~wru9erQHdoGL^nSi@&i9FZ>FaJsED{pXdrJI~ zD)obkPMt!l)v7^f29k>k3pIE%Bery_4(cqf5!!3NM|>}@8;M91ljD<1pV;6b=eg3J z6pXVSr^V;8GMkp_H?*@^DNXjHA>EI3S1-=E?YJ^Ev2?PP$CiOKik1kv0^+Rr&?81> zN)+Dt!#lC~-piP4sKR`0ss4NJKov6coB)D(b2((cLp4`3!=4JJ$U~4*YMCoPoSbgCaM54e#YSl z;>|a=9trxzh>3*!NGGET;L=gQX3dz%VYVPG4r+I2$MWJz3+N?a ziHZSOao!sgF2JNLQbv54;$}o8EDM;WNoq_CzLOO$bUFjQ-5pEQYhwqqKm?v)0qq2uKo)rXqfE3S4kon{|%Tp&A<-Q)lFYj0w~4 zs~w?G2-~;6hgV;H6?^yYK}ksoe)-E^;`P^GM6naJK+6{CfNNG<))k|RETv<4QJ7_r4jE4wdp>&_L1uYx*0uAz3>vVs)xnZFd5$#5 zbVMmtRh4-3(MRyDTW`hJZ@C5c-+w=xPKUmiJ=9e~m;lF}az6)f&o6#~C!Tmh_1@2Z_EX$-*IlZ|o_gv@?2^y8 z-5#|M6BD%avc{9LPQ*sG$AVfW#;TnSuWk8Uu;MlNcYGFsH~$Ml2fl?^^ZU#1bNrdz z=xh_mQGi-|Dy~5)RuQasF!pl(@`u=NzKo|U7V%Kwd2DY!ho0dn0a_h+v*s+`uA9Rv zRcCSki8(w_a2D3sxcpWMUGbp)KA(Fy*@uS<7w~579Q+BE9uJ_vK7%j5cLAZkX_R{B zP~ezDsD0WHq#bUVLazYK7Ed?sIdM_t@sjhX3s0hVGGrx`s4K=Xf_K`#PCM}3Lf-u(Bo!fRyKjg>07l>zy}IX^bggUQh$ zj1Tu?LgsmUGOkGqW*<8{I@PDKS}dx^7!W*h{J2)~&_CLWV>C8^=%FB-&pBXy$pV+z zDLTc2pxdccIGYX5Tp1t5LSr@NYRixkJy$Qd!pO$vN~HifU-uAtVsXr$o?f9_v&WW# zG)iyp2zp!&jJ7u6OiLXW#LzQ)#;ELBYZGQXt(Xvpzdsq)2kNo4z#)Lf-eN+lxdnEc zSF=$@=Uz<+wo=JnG&P##9L=h{d2Sj^drKosO$}%%G|yef*u-9f`Z<36a$^2uoEG~yjFEQ{Q`IrL9Z^R z`~}Hgn~2x8Y}j)b!1V}0NnC!HrAO=oqT>@3Wx#CKMoVS*SwExL@hCoAC3S0bT)KP- z$y{)^)N59W3WLfhD)YtA;n|>Qq+OhRW?&eFW|oB!YAPpn=$)cuYc{Dj9oN@K`?~b+KxY!2@xbzL(`lqqOZu<& zB=9f$5eZ160?yN-nEHF^1dWOlbjGmXjLKqaa#9_JOg82N)YjICLvuHN^rIgkoo>_U zQo)H6;s8A^bM>$Stc*qa0%weBA%anjLmTqmu9J^kL%RCRub7Fs9r#SfpX?#Y^hJ;v#A^#3KExKk1 z&KUJ$>DxxFc@7KWm zU_FAx@+{W~0A=(fbzOs&xH3b{5+VMZB|w|eQMtl3@Ap-~nmCTq*meXa%5xmGjQGY& zQ4)O*j&5;CQLJNW*7nLlr6StH9)N7)xDx`RDoHft*mA3CgMhz)ghnw3&x zFUa8>*S)+}SyCvv`D))$z7Xs%lh2;PWF#m6C8@n3)H?)XSFT*^Jn&$d;tS6|kFS00 zt1{0Y7ogUJcF{+Sg8%D(`9GtwybQCmnaDSF&e5aCaL+xzL~Cm+V$mobe&``BfozlC za|@W;v112z?cSpSq(~&H>x2OquKj?s6(P5Mxt-#AB;hq7(Yz1Iy0?*RIfAyp)u1lR z+O<+6=#hEOa_LS)1aO|7I&J7Y}a`&=PJ+Rplw0FfBU`* zc;wU>>^DtgXVY0cQhXjyl`o*ZYY;;{X|)}L-EE?`dr=>n#dr2D!W5cB*T5upn&xra zo<#w&6WC{-!wZ$?V2aEdg0vHkGw`-e;H9!DJXv-g`>p5kboqJgHqF7=*^lUWGm0bc z!aG*FVxBW&=1vu(*!wQ*{U=wvmzA3IUbOTc)ofaDM1Wm)nU?zUy{4{1Xy|zVn(t7o z{l`(2+HLrrYotimmv8*qvSY4Cu1m+zscYV&RJY0X^c^#Nud(YO8aj=y$0FaUO6@Ux z&pBL(68TO4#I@JM*HlmRH_5+QI=WKaZPf_JT+4b=fqo()zJ_asZDN)^>kn*LqPnUItpe06X0zyyBj}TRxRG*4 zu44uZ2gRnj-*uq&Tk^YqU5@Ho#16dEf~3=jvMJdX=KotUXA#&B;R z?A^l~%ccpK3w94;Y+@1@p2c`Dh}qHtoGUB9oV8g2+WA8}a9Rxh za90Yw9SO}AWgl1;tT+Wwv8LDWkF8pUxR$uxVKg@h*lTIhl1oQRGnyM4#UMB|dzL*X zL0u%$2A?kmyWNkydk<;}BYVxZZQG4M{nJ0k{r5j2-}9lOq5;4C+y5R14jh+BQi$iC zdkK#`@`Ps6Sl;RP$K`WwG&MA$sk#)7#%nVtbk^00v(&F}Mz~PvVAyMmb)m5DjEjcp zY=Q`urR6$p`O+2(A|&5iQ9iRtp|e167P2>rqfsLcFaa8Cir3GaZeb1%G2B6i1%WaP+&(0~`^BNdQVGn*bpDyqI|*NF(s=O~=q7PBFf z1L*WHLg#Y2aqqqNujnzObN13pFXEwx9@H|s69vbW9Aw+uZ{x(VW7xZA58jsl-Xnk6 zE5Z_jv9S?RSQ&5@^tuoWWXf;oG-{J@G^mPML6Jd(?Pdtq1+O7H|M)j#Z&stia$f>> z*1m_tN$2=70Kzd=19%g&X1os05w15HH1-m*9GAb%tSW&5om^&U`D}mji=X4kCw~Qx z+pW>~3yX{Jc-;8>=RYrc$GIG#zj*P2JcnWJOJkNQyS|6y*-v$~W4^uu7k0dc*?2_3 zQdB@%ZOT~b->5XS^&!&TuV8R`avW3RquLLb3({!l>0pyUX7T*SdUgoX=;#l``qBJ+ z14=(px-9nBnvs$*S~1q5mk6}Eez{H=Jo1<-GR}m6Vd~WE{J37x=&-9ECdXkEg}1E) zX>>%zadmYR;aKDAuzCfgIT<*r*XPe3y5)H$f0@x`mTa{sGq06%mgQjtV)-_LjvIpy zyw5JNjSS2+H`a??snx%S4;{qYZ@qDxn}v-#_?1`ed#Yo-B}g8kf_Mp&-jFX%v7D0Pko0cgu$iTAa{DZn?aBv7duTSSI zvs-V!`!@dLfBg5j|Gs<0rh0W=vnT66{D=P_zgw(8jt4Wv&p-DZ?z=D3cgFH-1~8tI zHA4M*ys9EIf}NAGwILa|`(Tu1k2UehQKH0d$G;R^&Q^&u_bk z_P%Mj6XU4$j=~xlMO)7(`iH0R)$JE?%6S$Q{XJahVK!e)u#6uzSq)w3}x{hhVKy+oeI6J!I1p-{IVVkWnJ0_jX`5YVwYUc z5ySWDI}V_(eZS#*W&xVziJgY;5fGjVy<-R({qkC2_#OEB#dk0OY0kD%1Y%ZQZ>)@9 z$-Vj-q8r#7n-CwsXx^j^*0p0kwL^O%nT#%8@P zmNxQtXy57kFblR?z>K<$_racDUejuJmap^ttPWVMH;sgX{j$F6>T1QODc7F(#)f)0 z#Fsk1u%NzUwpY8cUUYO*lj;lxjIQTkK=jN-qOUED1@Xt^ zN0&~RIkpU>_4ba7@}9!P)LBf8OyX>P73Poc$E>{tXIdICBM$0ND!Rgn&6k82O{c8| zwY9ZKrDRfVvR93nEvwb3r5DXC1*vU9B%E5#c=3GfHDmVdz=4A}e!M__t67|2JDQtq zuvk3e#O}Z?w|r9xLEd=dJv215;?`Sl!(Dg%Kpf)l;+bb&lJA(2Om-t6V6vu4CYMYi zzf%AP4Yf>Q?N!Q|z>GSC?ItBKAbCOVd$+M~PrITm0*m9+>yHm3= zjOMQu*|F65kP~fgV}+0_1QB$0Sgy%lC8qINUJww4;TM2RXI^{1L~$CGL~%@* z4WT18(9@0RU&&tf@7ayLJ9l8mwrzO(jW@7&*G>g+J;_Y) zfzO!bydkGWlv)|WUZ>VvlQoPE?`lS$j!~wTeGGH6GiVSc_Rxb53Lv`|_x|#i_}u3{ zhkBWB1ZoEl9>ixq`&o?)WyhMYF;f#3=Z$0|J9q8D4}S1NeD8aAYh<3FZ|>|F`Hd08 zqhSG;84{4T$jXL$Ds3ucvM3T1(J{T**)$plI?h}Z?0+QF6`!dpeOX&{)Ve#`&?7=a zK>`rg(eqj7JH1;aoDzcC3`W5D3Vo#JV$J%1Ghgs8oq=^mYnB z92^vIHlgK~GXe@m2M6?eRPTtv=REEf2YsU?LD}-o(a;bq53dAitQiikcdUK*NosXJCk(P1p zYwv_9a2lU{?J_!s&*4bx9G)zm!}i9raHnT5CC=%61q*n)@f;pFbza5Qc3K&q_nOYE z1JcgpxN{Nz@tMoG=hy=7J#h{{JbVFEGs+McgDG-6;uXuZ8hQiX235gx{yJ9Rs#7%|FB%LgTCP=!5K5rB&TBl zmi`ZcSSIMYavd@7$RHTs%Y8jp2-IkI8O)%qHu?;OATATgtXP?t5MlplN&sxPtSk0> z&P>lNW$UkP?_i*s<&H-0ZRDU|bYby=X2p7C9F&kvd>-n))~6a#`S}Wz{Y4on|E2;h zPc|WG%h+>rD5ioA%;B_){KG`mML+rG*Ye+$uk*&=YbLS8`oGzRd8-Hc~?9$mX z$JUlR3Q!xLJcG&8bC@FgQ$sa|1+0w>c4MH6rF@y%>$QaaSG85;@OVPnD`xmRYY6G^ zoem$op1?9F%Q8r^$Bge2lzsf;pTM?l?+P%8>*om2?!Nnn_|+3n3aW3$-2%!8*34!H zyxyp0*ouoQ5eOs@3MI7;zpVHad=9H3Z(h5mdBw=mfy*zy;ezAqOjXknp^>KHVFaG9 z(-9$6cs7N-5s*ev!V6IZOhIqNc=0n_Tv2C>l5vofgPA5WcNu+tv%<)c*UFNY^rjXT z!3h;gsMdvsAJr^7aOHnl4l5UrWqlCJ@h7PVfpSa~4eP*}iR2i$8_UJ%Uq3sjnG&~I z%M@OH@kNA#K}-sunHe9&jC=^W3nhCn0Pc?F|vtY@^Dii!8F>_ReDmo8mYrS+zOzTG?ClR4}b2hst1Ypa$#o)gga zg}?b5nTy+$FvKh%^78`PEG;d|K!Eh`Bog5{c-{{`{6Nor`QinfojxtkB?X7ojG!nX z_Cy+ufr`wNI5Uf4Xu3O6TE4JWDa4Hk=Oh(5jf0j3H&?;gC?bF;1G>4TLA@${_G)sT z&}b2yZ7Mji3CUhlOaLkk7a2Xt!l&!kw=xKmE6mh(ccqa`C-MF7e_yxWn8|VQW@ctl zUDE)+->@ed-!h+l_1(;2n7N`7dB!HQvvcq&wA8a>?JcJ<4(~$vb)8bU0 zKeQ9`rg}9xyq4^B5lpf~jnwNKIkF&aN_4S%yA@@hDnr?yi^yN+d)xv+fVt>GWqp)! zChH^n8Z^^wFwR>goYOvMHM|`q2u)TYHra$&r+_6#sS+qK8^4hN00S5V5RUrdRU^?9 z5{J-9GMcx{1p8X55VqB=c%8PB1QPu+ucpR^LnI9Kr5}6rQ7vmE zDFWFYd9c))rHd66<@)c%^XIj1@he~XvX=ewyFAX!&gwQGJGO6!*B21*b4KS-hw7!4 zHT04fZgYkSZ!PEWMuqw&;rq?2vv5}>;b(uU?SG&G4W@j)2q9vT|M@IVjVZ#kpc zuP?lN5f7f^c}BHQac}eNx*)CCdmdlgegUbD2@DSos}p>7ZXTya4-JfTAwJbCK#kzS z7=-*r)|P8Pn&^$>umg#dM|2}N2+%S;`D@G#EWEl76speDVsY??dSjzPZ%=Totzvt^Dg?@1dPn#usRi5YaKJK?v9 zvm6hI0lC_%vzBlW$--DsE(;>W8tu(x(+J9#IZLMpiPg`5v=qw(3*j{94o@$@Es#DInltVia+Cf#oc=wS*0h z+$)L>?RtF~1Y#`nVBRF>CAolIstIhLF^Rro&&TXGK?F9uVaOa(O;v3)i zhVHl3*w~1Ujt;!?^2^#o$?`@Xbb=CzI9yJr{+k&$)_8{l@@zx_k$8hag^lbf$WjO| z0emu{%3GNfbLRAo3eQEO!7PQAEXrR-_*pYgCP$Jn=$>Y>PFSMR*%n_aL+aJiRYobd z8aOi2my~g0c9}s8yQ~%dH%rtwch+O#Y7;}mzB$tH6QCVAd`Por*@K2-Vc|Sx59-h!)Qm3BjMmg7rpL#$?2uX3p8lIh9zur4)^x816|x|0q39@P zWxSb9%hf$xu??H6=krA&Sbw9fjB`hLC;26&u&Dh zGb8S1I32}EjfBzF%ZRgGbbBrQt@RuKed-NyO01&aS&gvT_o(l+sotOri1Ul3vs??g zuj^h}Nx8OERP|1m*wa2SyNsXeXv=OMm_U`AN)Y+@%gNI zPX4{+t6#>xJ-fAZi3fl0^yz7x*QsPmGx;H>Ro0zIrV410H+HVSC6XCU-%H_&da!M-zDs7SwM4Q9!>GHaHP+y0BLQpI69Ka3`l$R z65^fX=&84Qp82Bh7ntN>|~)$n&W!fmhAbmNwFl@ru4-;FEjaQ8%om&-k7asEN%burm4#h4;o_IICOM@;T{S zQlDvdPVSAQS|L9f$~)Chq5jzn0NUumbCPU`HkH2@5#YlfynNl#9`vHk?Lo@sM#>?& zX9=L`d-7Q_5wlNxv)9PaFSgXQn`e9V^Bk{J|gL(MO*WKo-)^5~OY4z6Zbed;dup9G`yr1w8qyXRv?YApvr3 zJy%PM6HSdxu$i0SwVA}&HYnK1F9D;WB@m*6$;?jfdz{c7I-X)|d;(?mgS>R-2`Cr!fa}!rad9-wgpIu|oUXRd03D`~A$Hi>XMx!L0*j%*H zKp6HzEwDV<2-CgwXnkI;wOO1VSy1`E#d~E`hf09`AS@S+>b_Z>c}$KynpNZdr`9Rw zO~?+_TTaCkwu=wpN(}Ng^o7Njv?F(e?< zQd19WaVcDN;`oSTkYQ$Q)hO~->!dY>#@K6xqp1WwM?L(u291U@o68D^wVaxKVZedk zSt}Ss{X>1ld7u9te~bEz=O9taiuXn5kP$fh?=Jc8ZUJTr&T?L71p%E!>cN3z98+Sa z7OIMIMxG@zx7olCH-a`gsB;)JVs9(=`g{GgSMm6xk0{~I?Ccqtzi)^={Uv_>^Pk~| zKm4JVQtwp|HYV@AD)v@@+N&?)$k9Wh(-J5vEz$l(X3Mw*1N*FF;Sf>+8rdJiDiD^1 zF=L&*hg@NK70Vo%)nt`QHdtcx*{u@J2RgSb>E*iAjj7XZqF2Y3M(Nt)iVWxM;)f`U zUcvs>1?)D@;iPu~f&N8|PtD*p%N#86DbWof!~^0uwol>Jib-^K_iO(%dvuncqde>3 zfnL1dJT5W?Z*&MlohjWr)!IIaQ@&XQ+Ghj+PU8(Z@6gz3BzmWD%6%60_=Nag!*IkW z@n+Q|o-d!pyA5-wjh{nuWDK3-UIAz|D?rC@WOK3tq)k*K(q)3nQl2RRT%{*WMcx-xrgIY`S2_aO7QLof-j zvA3|iW8;wpIy!u~1Zp04V7aGkGm=R3h;v(t-}#;2#h1SHRlNQ7PH||1a5_Uu67t0_ zeifCKjhaa#0SN#5JKwoe-g^vBKKU$8o-BdK6McLa*%50Hr!8ClvNX0V?aZwmOwrS@vK~Aapk;+lJ*lrbCTo?*kLuID=EUMg5zR5 z`!Ytfr$hT5OT`IcS>pIuhHjURkd_bSfzxNj$+`Q^J8|gHL3LQzM|SM!aom6Zeen4* zieTT~eY&CaKwpoHTZT-8`<}heML(0vvB< zW4MP%x&aPD%xFtSF&!C(S=`$%HboF#Gkl$DY5hvif)wYsL&xGk++4U0p&mb(U0))kAEC5zx*;98yeIZWVs{fh1(+I z?iL5VEvfg&tjFn*AbYh-R#4A0oeFj764(nMyyj1>NjNWGjl+|`c}F?MruEsOiN z;jFzy=UDFebDIV>e`g6$);h8vjUa%u@C~UK_SV{M+(gHgu0URC?a}=&Iffn z=LEC3na28!T^k)P&L`4Ys~$G^4DVBQl}LVokHX((K+V6jS#bXQs|i2LwN7?XkIjsD zIDlb!Mhj!ZxFin$r3K@%BF<5QGDedl96x?U0ersz^6uVlvEgYAwvad};&rI= zM7^X=A@#TDa-;j=v(b#Y2m#tggC+T*I!K-gol1hRH8TJV*swQE=05EP?~OqgI?d}H zQwtv=IeZy`-b+Z0T*k=EBHG(KVNZ{ty?=PAT+1rPhID)BEy8^y=& z_K40Hk03Tl(u=ErgRG1s*~on@D`aJ?T!WRdSXmjbCHx=(4~arnV`Z!%DrsiW(*RAV_05V`s;Z0V z%>Sk{%4obgqyh{G%*Yx=)<%|dW!a-vlg)rM3NsJfOqy9TIvYyWDhr6t09hO3%7%7* z&tbE|h_cI6i*zcrZ2UKR&=7KwW&091mIS!kD<=0v=ZTS5Mw_W1v@c1N1WQS|xi=%o z`3}EEm}K!1V6en=tr9tcGy-VuZ&h&ely3CM{xfdlKoSuu#5DI@>+VF6I4X5DHM#-x z#S3fSC&^{*z2_G=uz$a1S6VC<-2cGC8ja=#u9M^Auv@M8#x1v?wzftU8V@=~Y`$j` zJ~MD{z5Y6O?%0XC+B#84nTB?ffDDMC=D0Cp#hUNyU2{~hbP|x65EQAdt}(RVj0%9s}ps>93v!6(JZee12aQFy8lEhZ8bHEaJ)wahW@|HOk1^ny6j zKDSE@zO2=R03f-?!Tx?s5G*ymXQDwR zv&oW&P&x&;(*SeNz4eYPNaJzl%&hiAZ7O(h6NPg^=XB2XP^WWFXgT^Ou9FTv_qSZD zG&pE)R0oI7Q2u)vyV9gi(t0IRj1Uu;G4mRezhq}@OC}UlaE`16p4l6lO0_A)^~r() zl$MqX01Ilch=d>yKl~sL9N3SNl46;=Z{VJL?$KZr=QQ^_n>}+zY`y5f;v#(FlOGol z)``mk_*hY3wX`4@U@&1s_w0(tLWsyU(s9clOGfy)7D=dLG+ulyEKVoa=~{Z*P~^90 z8~8nfXO1`ZKlR&M=i)W04Qr}UrAF9S&hL` zR-|o{uF{VvP7=N%2=6Po0YM46;?(9yVY133BWR}j7BVxWM$m8Drl@o z?1H)1_WLA*PK_J%k)zitR#raGBu_mK_#`w>ebB% zD@>ANqjk$B@r~FQn<1y$95~Ar2AG&h<2tzpfaM77r`pY&z^(Rj39wjk6udYF{z$K~nM`0&b=tpjNp)!U@VK$Xz+^nT-rdYJvEkkbtcJ7 zXO!hJlFfoN0uefPY`kZ)CbN75G|UF%Ue`wU0YS5WocA81d`k*s=TxWp+I2i%GW+f9>HF+AOHBrICA)~Zs__KpZb)N zOFZ((!>F&XQ&9Wv+i&Y<_&fOUL#601E-uEGzx-v~e*5j%v17YtUgpF}8XF$caz>Bc zg0Ro23s5;7=4ez=fJhVC>*o49BV#5&VOz;yQA{q^K?M(=Zua$6RoNH+hSV)?Q-B60c4NOd&A{XY|$ zNoT*~dd>vjCy0CIndk76pZr+$5_JpN7Fl+^Z|@#_@k?LO{mbru;9l%Mum^2zDb2X? zyF)`Gu-hFtcyK?Sc;XSfwe3xfl#>L2bAD9x5;N~^n+2Yh`c=mvE4*KBUBkc2z*O#2 zbqSw^=p0*pu|AXh?;44Y5p|HPMJ2Kl`^yq$k`1v$TFXJ@oJQZx3cpW~#?8Z7sgf-p zXS9AZ2Qvp;H>?mLQ9^rL5@G5rThqEaYa^nLKXr}(d-e&rnk%$_x3{|;y#pOck3|rl zwCG06xj^GLa{Y1*afnEK(20PrS?%45=gN7!WEa#P%5$e~AURDYPx+ zJz>=n$HM1vAwo7eM$XPlD zk?!cig2#>z&M#~QNXsxNl9HbLIaQPu!)Iq%!i_sUG~g`VFgG>As@h%e<;9hn}EF`1!)lhV&C}2tqSP488u5POq5!Vz)uR{}HkXsi?}LRC~r8dfog z@sKJ_8ZSCTadDhEKI~mHiehJlr6$~S=-qAa;K-qaN*jIj$YEGo%<6RWV1JRVwN?8p zHhR4E)?4_*Cq5~F>r1E>&^LEx8slT5+HimWefMce4H^Fa?Z5rENQmRbC<+hu>ycQ6 zPW=4*oc48)InD2;V%mBT&T@&6CA!xh6;*Y^f^H00zP4Rw(rBZ?ucSq5?B-M@4Ps~@=_jmC?8hhYJp z%mx{a>w2Q&z6H;Zk~tUWNrrrgdfQrk5-pVl@+?mw=3xKs2JM-gi))f3D5T{#`V4=M zJ!uR)br{%50uzEbIzQ~uWBEUAp_bo>Q|5Jxc-#VzV*&t%b^pE94$eF3R03n_E`kQ` z7vyx<@ySnqLTq0`-!CXAz}h3(tlLns);AN}DU>c-MqC2;Yg_E$1P#teUBV1m3K{<;& z2d=BNf1)!y zQJ-Aze99LBFb1eH?L4ddlDs!21{j3(IBlW_23P3%tv;yFsK+=Ke(`}kqMNx6w(7pK z!t-%`GQe!D5xpV4)<&6(bC0tm`w9mzucg>-VN{Z?#Ce8}kJR@xjdWjf1qb z7;}f+jjDD z5jeib(iMULDoi@59{D#NRgxZX^WDwX7*nnnq;;lZ>S%1H1Z=B?&p+n1!D^}(r*2?V zi5+m6rMw<#FcM*~;w5u(K{*L4d=}pIxjs`TdNkh!V%Q6s_hxEwjnIYq~ zY2&^;A0sC{EzS@@HG8`HH+q!G}d26vt>m z6%N1u;)^fhkw+d;`uySHVa={_Q%6RwFI~KV)013hZJND{1Tv9ymWti1axBEiD5;4!C%N~)=S(2Z zY&Ii;j=B<%(1&&UTcy+)A*CZp=aSiL5(!aHFmu4DBAKD+;9k6P5xxDrx)JdkufL}3 zp1=S5zlYtscU{B$NN3P*6FnO8FW;kPw8qCVD^B@Lcb7)y`v(SfQ)_0uj1>KiN^PnS z=^p;>DCTUb$rN%MnI75m*RW;O{4D{ip(u$hS+anWD7}{V;9iDav~#; zrutKCiKX(SUIX_F^9%S1_+-tek~(&DRM@vl{jnNo;5f7N@xJ@+!>2y=DeZ+cn@pIR znnZbNG5+TBpTm3aZj<-##kX&}4bMFF6aoRiKCAoh&uodG;DJ53@BVx6^{;1&X+z`a>B_L266^O58@B+1Dzc#A!}PJpJ|1LB(yIB;Ds%avUh^mn*j z4qxBs{9a3V4(dP#M^+1Hvl4=gjnqvf1t9}$cDs(PK6p-^n|^U56wv)08K7n0%IMl| zL^!5w7a~Zd|G;r37$g9tPTkD0aP|yl-K{vc`z@q9d&REyuUqoSY+7ro8w27$&x^jf zZjjd9Jqo8Yh?b^iILwU*y66gJL4^dxl5l~ix#~ynUcir`UJpI(u z;spBz%ynw-Sz|*pEX_@-IBgAOYMAMG=3W;SJQrM`RlrwXWI-RID07zMaRD)VK0E%>+pyAx?#6k z&}uO+i=)+|QB!8ZqJAfwRx_+-X7pO%bJ;OA*r(-;%y=*YrP-9FbCPbA{ahpoA@%L} z=m;(fC}Rl^BhC2@uXMgQ1JHPo_WGT7-jO-^J&lNQvuSIK3E#W>F1+&cOPCOcnCER1 zM~IGCf3GOzWL!%c>CCd;JJSri^@=H1+C}lP4}^8@`SXi=&hd4E5dtHU((u3I@~qga z$1?@80)O+fa+H&UP%EyIKxRL&VI5U*;9>N)i1?La#!nv9fWw^^7e`fyJ8+mR% z(?hx1kqgpzp9`|CJWhv#S;KM85oTrRFc8!*P{xQfbuIs!&%@|DYYCli0z5{yc@EAU zfZ`A6xpZA!ozB14UVBx0tE{ay z{HuTUuaqF9sHhZfcZM4K?DVwuoTZaV9659due|gU-g)~?6rMVvd;2ky%I!wtk+5d_ z31C=yxmxKe0WclM^-2}FHVJI`JOY*mt(?&HL~y*?GnUs$QpNLgyxE6EpvX20x99*e zD2KWB<=OH4hUZvA`1}d@;vv6+-A>VK3DL)7Ud(35H*#>klW~{9zK(QSbyiy}tPU{e zn$d5sCUltD>(04Ly{o}U-rLd`F;Glazl6-8?x7^&lLTt3Z(bdos6c33=IKV4>Of z)z-`=gy*NORev}qNX38)^;1OjL3cYD8zXMqyXWafjw_-kE+!*5zvnGXw=}^m;Hzq#Y#R4Ws}sBv zY466YxqkB?jajRhfFi5aiB^*tZcDQ&N28nGtdK>H42tH)de~Z>N_+43$2B9CdkrM^ zc;%Hhao>Fp;b%X)SIZpz{saylJRz^YwIpxjx#wQRU;gE1aOltp-H^JW!K$CBtgMIK z?t|50ht-r}Z6uo{9})4O^pp}<26~nw3eEs0`eP-%1{AxcXwh) zoFV@HS|vm`a#YH7l6sw)v*%uT4llj*0^WUh8=T_MpE*0DeI=yR&y+L-HFHH-D-wM( zgiLB|Y^H(9om-5UF@oh4@Dp*j>iBWabDy8B>^Iwtv_(S#mI%n`{8nhdgiaf?$?9C+ zpuwVE&<#dKClDyGKULRzYrVckXENU?(ugoHaBg89wRN>PcI=oE!uWiCS=$4cTbzek z0D5_OnKF20H_coW(8g>jjbK+>TCQCH1U#4($9O_Oe2;)Ml84-kzBGbA zZkXLaDC5NEnGiGLmbH^p3KJHkhelP(jbd9%Gp!EPti0XV!{=H>2|~@W`xJ$ZnF) zY&`41-{Wu4k>4lv4(ly5x@2>5g1S(Fk{dDjxhnqg~g}v!qR5- ztX^R$EXS6c+jC#DT|0N+?YG{>Q%^mKJMOq$d(D{fS`;Vh_|YSH`l(-`q_h~FUETPv zpZo-V_@nQOEw^HHYz$t%N6Wie$*_2SLFc5;>(#72_i<#Fm#m{?zjX@$^2oDbxGf&wbmgWA#TIK(nxMz&p?s!=Q3qTT-zZ5+T2enBF-=gqoM++HGt$GQCG7( z*9=3e(Roy20dywB78^=PKf|?6zl8Rh^PO2^?lrer`@qi=q>+GxcE775t>YJE>1Al` zc}3mN>mWrt=M?8Kok^o0Cg&^t6auwgvT6=Rk(g*%E_+l~#>l(y441&)Euc7D3{R*E zk?s}*CM%RE#6Dz9_^~!C;~_M3ti{T>3QOcNE2A+130WCeBmAi5^{mFq*tI%KBneU0 zV~Hf$Nd9|#tt9py0{u<$?`uI?L#O;^=rBS-Rzh&UOxncFS5aj}dm)o?o!?53#p)KV z5HgrP^OVo7N9&kJxyzksAhSEE`NFdz4n+)oMp`L!Bzf^%TrTgse|~r&aeLYiTyY zBH)a_Ra#oDfXwGhXx|$%UxkI0c<{kT@bJS==-y{fJn@VGvA@EJ6UCZQOQ-vl!7(K_ zSyyMl=Rf~N0cOYLyItt$7}n3YTz+xfO{l9Z5k=X!!U5(4;H1!cyD)Rm*D zvKS7zR=c?oE%j9}*NTH^H!H=k(PE>}f$eHbsDrEfSID{8_-XW6%8h_DvgR@KLPzy_ zB8Xcdbc~p>a@i~z1>Q{7i3W|--fRXnIyZq9HK-~m*L12Qo@ zh=cq0DcMIP=tnFRRJNg!fgZFk0UsK2zr97kU`!jjSy|~ z^kE!1b_9_~7=uHD;&gW*A3xFwc{CFSP>*CrWQ0o^Uxz>>n(wLbh z6CpSMrp~2MSJ6@Dcn3u<`^=e*P?;IcmM~|Zt2(U;-bfmA?Q`Jy2+-AGmG80)H_Hl3 zdVBsxwr6-Pqt9o|@3W6}wY|Jn69txX?fKafMx}K=$-U`z4YHQF?l~SEo$cr!>eq!hX~Xf8yoPWAOAo>TEU4E+LxM*Vsp>BAAIk7xaSwYKuK|_X3ide>`{E?GoR6F z0G_8^K*Gx}y?`fv^_ZUj;DH0U_x@kt%{O1i!9(xk?RVeO{n0u)GOV#AEgI<>La(nA zNm~Q~rvM=Vk|}ux0cIjiBn(*FzHn?a|U|3;tLi12s#%;_{TI~HURQa~8VQ^>|k z=aE$A1cS`3t+h5O+-I&Q6$Oc<+7po#qNVg*Z5ZfGDv%=)M_W9+Jm*<%b#``U)0Gsx zV$)K}zS*e`ctUIv`*v3wm+Ty-gUmV0HVV!~&7!O^XSv@Xg98j+Q9pMMN0xwEHJn3* zIN^K~_UI{ieC6=8R>H&Q<7?E7nF-)*g9QRQRss}CWpekbtc=PMxf&~@fTHsFYOIW8 ziCm49ac!2!isUYs*I$OKuRJcPtR zD|!aFz0&nnlkk}_=*bEZ&T)bU>an$Y!zlE*2;x|JACmRq_j}eI~}mqkC%x2G_F;60?$oiKH-Pask%_O~WIh(OQa#y}b~S+Q6L z>^3**#K9nA)0Q|vGU!YRJ8dm!sIM0zWI`|yUH;tz2af6{)3vqYEGBy3a0GDct+(Tr zTfTuKM^5TzT&^&F`OEw9qaXfA`_g!=egSm^bI(2Z3cmZ@yHQhP((eZXaahc)s46dm zt)&sR22l*6^zs!toq-IZuG9A@%(O8ZL(28Ck}{N+R-#O#q_|8Bq8Kc<7_Vf8YIntg z6UEHz1It2qUbm@2YtdOQ#k%=?2EFC)8N9X`(Ow-{;1Or@nhO19NyfmmDgg^gJm^Sl z<{&#zz`Jse@tiDGVuXVrlqEK7I`2wGU~a6%iKB2#glAo?m}_mu>4AQX3=Lg<9-`mc zQc1n$wT^s{MhADWuSX-JnynDsNZ>>e#WFCCHyur71~ho41a$m7`*O1Sn}2CwX?Qb{ z(OR_DkbLNroUbC|=;W*~zE9w`T3K~g_*)M4R*5d%jHAHoBS_2b4`vSqv#jhJB6Dy! z6hu50)odv@uwSj`f#XXsb=O^YXjUxu;8-&I^;^I7Te{UlUthmEP_(Ik_Gf>lbC6}! zmqbVga_60Q$}=3)NcFK3NAb&he~F*|^lvqz&mKdPJ@tyd3_5+VzuyAu(_$-MYC^Eo ziZ)+ntQl#h^QL36bZ@H(GnJYJHOMNiC7HD-4%*T-9{fHx>CKcLr8L5xjs`Vrri^(c zDB0li=}8Fa632<;NInPmxylGj`(!vgkt%HWBW%I{`+CK)i`XWgykhz`hnoMgt0pkpOK`Hfta)yf^S5}B+=+o%V9 z{hJJ6vVul@6$bm673TUP8!2_xM(r9u+uBfpCQ~Cyt!@<9LnwC!;q?o67tlu%BBSpa z3Cjtos~8jsxm&gDdRo9!HgL3+2eVVuQ7q?Xzkf)8WzZwKJg@~V3I>u52y%?scgEoB zdcGHdB0(eV-)4M9j@Je80menY^z?~N=^a%7W@LABg=LS9zOl7I8nb6)JtTE~ZFLPy zbycb~jc#Bw!a--2fD^H*q7*f9Zm&12nXde6u-SYlFRw*Qi#V`t{bHnkh;M%LHl@zz z_3=9dZ~x`L{Qtzr?1oeR`<=IU;Lrd3FY)lhk7@53%QH>QRsm-fu(vcRg64H(jC7S6 zfc$G@nT^L(nTg!V1T85p77*EjU@)a)l6#HJ@HI4;G9XI9f7M=={aX?;5to!E?!*3nYkH^4)($AbgDzZX!?3(Lm!1?$5|t>;`GpAW^~$Ue*LxsaO?0dXE zI`^A#oL7^~y}On6oQ^fwT-l3sLm2=D5#lkW?SB06$MLz(eGUiq@6)W=nR91w{?d8u z-n$#yw!O17OEL#DRRL$~3Xn#b?CQWm(NQd%JcucAqNyYNotgeIBPD;M!VDez-nbT- zRZ%MbiE&Jh3@NC{UKfK?40^0(yz@aCjq>EwjNYfUrdXdR0T)S++Bc%FL{1W_!Hy44GZYKL^1RpEY%H{(Jf2Y!dywF_%)zM8tIKVJGF9nFhGj^{kwO{^UIW+*VfkJ5$@4fUaH`Z&w+n0T(~G8Vg_CEJI+?IbK)R*Pgv3P zx3wt!L@CPttPHicRwLHPGO7$9X89GV@p*4X_rEOizOv6XRV;n>T4vs5;d@KpBNLv_ z(g1sXk+u>jYhiZ>*we)S?31Kz*aaY7CNWd0bAMJbHLpw#gXp6d>y-7)?g; z#%r%(=k|BC479SMLI8D4117ZdWW3zW!OSRwvXO8ovv$N!hx$(5YpzTG@O<<+(##l&-e9mY7O=r#E>ggp&H;Q}KT%nCK5H#v0_1+f2)VXg1JWi$ zCUgER5}B++Z~w;kJ|p-iK#O_ps>2u%%Vw1#k~HH>4n zFf85xVqyP=fEslbSxCv&N*hKN>&<44H+oP9k&K7yisVR6n?9FalHO(1!LnwRR1!4$?Av zhION|vKrQ=IziJ`Epy0T@O6s}QrK-nbA2t!OUnfS2DG#>yH{E6?-PWTmp9;n2Oh;Q zesRCPW-{589ORj2UexdLvn*|V`stT&#~t6t;ln58^|?&Ick`o#zeC`qL>O2!&m zItWZxla@7WNNDJ(d^u4%lNsiyYZk4+Ynv4+X7+W^@!5=Xv6VuQMj`~V7H;NXlRT-9 zgEChLZn>biNh|?cmKK&JFoRtwSj|nE9rf6)80u-q*dQBiLr6x0O1jb1*od9)y{A1M zj2=@d+>B_@TE|%dhID|!p^!46F``aINZINJ*i8$sL&lSiRJKt#A&QLq!`(>3^UV;J zfiSZbvNx(DvK5M)+f@W*jxmFi*<-L2Nm1Nc=l^>#x6#mtTHaneiAP z_~66L93&Y5iDGgO8pIg;lkz|s`_Rr+7Gd$oZp_5OYSfb5eW<%hAdMxDv93Oi9BS}m zupiShAExB`a!Vc=XiACBQ`Wmx)>S@8j$PA@KA)cws8;)MCVZg?Hm3=kzy zkZboHw4&ke8U<+z)c&+gvuWAw2pEaB3rHha&IUeL6OJ3Vr3gDM=n`<$*PghBotM&0 z7T$PJd&0QkbKGasN)+lLIOaj?799p4>oIe807T_0w}imv7@2^@08Yx z)MIzOO+i`~s1-XxaQegt75~HNJp4`eU^0*t4@H$pn1LV$m~X~Gy~e7kXgCb7-6Hcf z!xgYuLY<8WZ345$4B|0B*PRM$NizdB+0W2_92fs_Ol;k7U$^L~xW3+>h+??A9fR^3 zgRbW`x&JTi9c|$Glka1!)r>&88`bIc>G;{3b`3})Fk)$=rKJ_7#wK`eEn1Vk*+`X< zuo>RmSf^wUZUJZ9Y?^zP5#(flpCE{RV?X-QPf=FJezZ8=d~-X#^rf$%qM}iI%bs}R zS^Vwa{sM;%6)b

6D3h=!Aechd4eX2#4DQFg3v3+yuL+EK-tWa6r$;D6E}q$ z1h$$QlzgJaWY*2CJ35ARY_ivBB;3r~;qaldyc});XN>-_cO~DM1IyGhf{6jy-vsIars>k`O)zW-~}R%&Z9&7#ABO z90a(-Vq}X>6`-Q51U(%o?N3O=qH5U5(8v-ZMyyMUiZp{kR=JPjU~k*p!kp5!CX-1d z1uSw$d^Qwkn2BzDY;ROJjw}JAW2?@srxmGaKucva42{2@ezUcN*G0;G){t{97~R*p zB4bbIhvYh$^14#Z&QXD9=h$Yzf|2m~aw`Le)hv$P2%4LkP+wQKG&`;yoagzazyxwh z0bzcZP41Vy4VimqMr&4_)HBf_riTVJqr#HM#x`RGf1^S|5>JQdqJcr276)}+^ys;= zlS%}X3({C>N1#RrbT!bC57Kz>vn=(~=;Q|11D_kq=NRB(38JO?q!@OVx@8zVscUm> z70;V#rZ?_A(@lVz%hwHJwFR82N9pVuy`L3=8}^v7uhcL16_xcwT}0qbmRmmS)f{`i z-=5}{Fj36SPG19fvt_d+N~)}^z^Ri3c=nm6anC*Xh^;Ks-{2mMM~@s?4hD3zr}2Xy zd|&MekNNop3=WPcNQ;F-A{m{;zHm~7+hr|e$0=CRil%#)GHC+Ps=rc+Xx&v?M*Wf9 zM0q`@ie;#DKs_xr7$53~!)Al2sd-siNZ@6&2srA%00EQCH!?_)op)?_5N%|Ym36Pg z0o?yme2MznYVjrN^n1*D4GFL^`t8+(Te(mo0_qu1afws+) z+}6Oz56S;5Gm^em@r8P2J^dz|wyF@M1%@l&NtVKCE6()wg-YS?FPHbTK&=|li3SB~ zJp;!3gmQ}-_MOpBBv7aA$vpSX*`7$qj|Q8})!Jt4tTtnJgG0oL_bQvQtJb;<(kMqn z3hf~@c>)LpuV#s86WM=GR^en^0Ezf5Bn4rXK35M>r^G~O+iap6#HKMbUm^Z3g#=Qx zXB#=F``H(pP9~JGksy_&jqCwuFrL}18=e1Iq0PvY(r4CJS2Bc-L>T5K@xi@rj1Kgo zyDg4U0bov>6_sVBC^~rp^)*#U$ykgDXzLe!>9CklT3m?2lPA@lvoten?=D^BUXjCS zwOYj&E!AzqxQ}k`7CRir#rg`IEkB7)uMeiK5ktG1E6ld70BNaYFWl~s05mJ?azS2k zu5UC0!+~Zr({65n#oR0x?vMxU6(iH28%bL%ZUt)DYakGc$GdU+?RVf;zj|6GLaR)K z7TkO9gPJMx`;(}zx8mnNzfbo*BWq*!dx1bwL6X(#P;k|1l84|Dr%QgHPAH9ae*b|Q z4>7z{lHB8s3g6t+fEII$07=sHcdQG}vck_1c$Sq`z}i?P%Ae!{#^c8YsRSZo$c+~8 zR)91L6#+AdbjEqFM%O~o=Ophl!VnM#h|G{{eSTeGJ+mx2I!E^AT3L+o4KH9Gocwf3 zNuN*fz=f83ej3*SG0J|A6Q@p{QiUYWtuVBOdx@d2$esBHO!tX{kk|Y{I@zW3jU41yCG3sXVTvdvF+)J| z3iczhZ*48dMxTY5rTW+EGXg$l$atPLodS7}HiYNOZ{XJwVOif{pNOn=ZpP0_iXj0P zQ>Ul2Eb+>fj4`KSr=y?m+_T^5;KBFt<{NL~wbx$5OD{aHEU(mGxd#nB9jCduvzV9| zM_pY#o_OL{c=p+6^>y|)?%2Lvd!KkPyV=}qQfGn8WX$Gww55<1&=c`G6`T=R@;+Gh zPsU5mVYLS?7rX~8Xn9=h;ZybS?X#fGy%GTPv#qtKbSkq-rY51+>*GAY`V}<#1qJ)*t6Q zGmzu51~+q%x}SO=6bvk{AI^Vf543!nrB_SOV=IIKC$5i;_;LJ<2CT!4hz!;#DLb!^9@9see`x zRui}^4dVaE8fs|5o<=9$w**!8G`g^}wpGg>bAej5D+qTWfH+GZ#ZP0e6?IoC9ud9X zn_;(JMPHND&1rANtFOGQ{nZaX@Bkiu=pnrE`s=D+R_m$F9(qTTxQ#~e=X-& z5Z!kE)FF&E)WFj@u%VJi0cq?z8$rOIfYaesc18AWao~(@d^3_1rzhYPz-MYy&}6r} z(9qC={rivVo@GDz$2TP61*u96MHsPk!>x zaQLt+v``xFy|)KXJ@uR*SGQ);2#&}+*;HSrtc?VPxr&Jfi2VlvgXU%S-L%w}!qQMH z2-z&xV?!{=?Af(Fa_b2JCqZaKU9Bv_)h8JZnr1QNdN@JyH#poXkftnnsl;+LEng9^ zL;YJ2}QCU%rCYiJCvWVDs!OYo}3yYdfV`*V58WrGf*GLchYPPzrnq_MjE?&@U z9T#v$pvdS;*iXt<84I!!_b+^a&ow zyqaH1zpR%yUqyF$TQWg53UxT0leIuWuJH5PUrbP+_Z|aD+QG%sK*0!ak2nW0xz4c1p#h_| zNKO=eNvO9odx6%gv&7fhTpmQ5oQRn0+GCmj9e&Ouz>DmI1Z?^5=L*lyHPMv}YgIv% z5%fq%oxY<-4r_#Zu(wtmSodco*y~Nl(cjahb}JGP5ann^N#RKx z*tZumVrMw_*_TFE)AbzF{DT<;ZfQWh%eBKkTirT9bjNyg@McJMe7L5V>5R#`i}#vg z?JEE&`Ex-_RtSnth2DmD%owB<34mLTm9a9pYgLxW^;j9pS7Bvz3IHSXqA^Qk8H&Q& zRt1d}iCr+S0va>db71-31ZhD(H%%`W|E^`(cBpNM$l6&dd-MrNJ0;iS7%D{Dh)2sF zS+d(Hx|{2d6-I2^V9D@C^;lLkC?so%frgzmtthQ;&^hgJ*;jxu_M`2pv*Eo;({gVb z#qJNtb!RGivdpp_X;wmvt{cR@An$X%{^I99$2Y(64egO7qb&DgyhI(Jm;KKk)c^GV z1_%0e@7JI!vq^szoaNpdZ8fv={ChpNS;t3%rA-=uV~-zoHmk1&y4i9PRR5ekzEzdw z7#|+g5^PpwF?cm3`i5IPwOU$qUrCas^vYT#P#cl!r(U3r-Ld^WoR)hU7#P%yVp&Ry24=Rrf3+J#{RfL(EG9=SosNF!x`ei zg-V|HL*Pk=ihVt9c@Erf%WtVi&~4Yfd^U5i?l+xEYK=6XAC0tb>Ku}>6UUAjE3>It zKzi3zLn%t)!%G+8b~?0|u(-GgEoSrbK2%$EaBmQ1&1TQeVq|PsuhZvt>9zrM+WsyO zfe~)BW<3VSU&)I0M{GAuMZtl%UQUN1Eh|Il{>5t517BQd=s`S}& z<`ri>=Gu5)(Q3l;b1iXfS!%~9IOjY8T5b<0L1a7}6leSDUV&F+9(qR?@a=|C{LkX|CRpQpB=@MTsltzb_yc_Rj_=^T?czAvZ35uu z@s+Q91-o|b7Q2^5eSN*y!-w#&#H)7oRH7K08Le*)P&Bb8<+_Ba^zn zS?=#K1Djo=1ZVUMSlX=FB5~TNAG+c}4EJ_uX;W2siS7Y4(3RxFvw^>+973VwT-GDRYUAzOtF-+{4Wl)noFksl$9? z9~h+VNJh{;B=dWURP)yYmw)sUX@=jnGNaBh^t-CzO%fz#OCB>48!;o*E%Tq*GqDW} zgwQYAY?T_<7T1s_9Apk#s|xVRLt(t$6hR>1Ly04Vr|V;Q#}vTGSVtF8=hJSl7lh3f9UplnwE3)%p}l9tMK*ZE zwa#AH-i~%mjSl0e=n(~J0?0aJ0qt!ip&MDi88~D`-QK->lq_p}xDUhqJsNOjA9Yhh zJ&qkdsB7QWYC}zRwU(Cip08ZKg7XX1#S2;qkv}erVmoGJ9Qp+GIeSLd&8B@Ude&3o>j}TlMeng&P*YVU;HnPXjGCFcojVWUv!DGuKK}7f;tOB+67IeCVSSyz zCLZt7(#6|vzf-_mCYwef3CL}?-LAwT1Z{42SpNN8R8=*}ciHgVg;uK*MTMu(YG(G& zr4NWvG8%Z6+~r;$4K`orBFRwuI?>WttJxT4&j`*oTH3glkOYO!z8wlJDublns_Z#qL{ ziej|eUY8+WV3}7!Kzerk8S!z6flDSk3>~=D4n`zs41rjbxBs46M&O6L7ftpMav6vpYh*kVM&y?g{6v( zEAO9kGLqSxl8(7W3|VVUkvfq1C9~HfSslmiEnH0*Lus$gu+JIx<;dsR&yq`=vvB!C z0cE53m+$xD|G2XYAKTt3e>?Fn_jlrtiU#q?l0p2*sb2iy;S~OGe*}MYq6?ob>cpvF zk2s@Um~X7c;@)>KEo*jA#v}Bwa(IOcPHzl`Jo>T+N;8A|CZC&B>k>?y2 zdq!YRmPa;5D)L)ulVlDsC`n*ut1DCxNdTJf7?U($W?~FG-g{S`Ypdv$cJ!nZ80=1K zG@VSQql5k0?`&$Q#opaJFf!1kWnt|3W(hsZ={Iw*^p!*}Zm}CI5$1E_IB?TqmSE;y z-_4TjGhvX6dX$0Hlz<4`VxX@FUBj78u&)6q|JY=5NpfC`berJ~kmF!w(1)PH6DUV$ zqFVQ)3)81?pH_B=tv(!?}4=<_fDPI3?S zR6qITlUnLnS6hSUo_!Y2KldCw9?#OJuO8HE3>pm$4U6CIg3HcL;Ww^_xDFWbT+9E= z6&)YZFU-_)To^RvTF)PAGBgf|A9Q+b1jmjZUIEhj1*9?9&a!4Qx-xL&@whNEHK9Qv z29rulisilS*dzKX6$@j2eok3m>uYN@U35(u-7|2 zFpBbI|C&JUW2251bS0xJZsdA|iZSMHMQvpnYHRA1wx1a#mLjrj@R?^`!if_luv$HM z<(0Sa7k}|rsI8R=tH5X!1qEf=XZFAYk1d0p#zqTnz4bQy)n9!U$B&mNs0)YN71UWR zPE?hZ=|<87TP%sAG37&H#ME9}EQV%foiG2JAkI>GLcm##5`36Vt%yX@dW~BF(6T}h zSy#smubZwh47tKc0UbOxH0Ew@z11L%Srf8Nx|=HDGuLQ|2m80OtXcVeNCb?`tcAo; zGFn(v@ahQ5VxSY`lJn9CGNMFBCwJUwkp1E?#3CUqUS6dyjR5E()8$vAIUh0tJv*a& z)iBCBEXHzv?yM?}tu9+!@8Gp8$ZvCO$d1O|lbDPl%e3gg{n{BCDRLb;*4BE>>iAnT zwAIVc`R{Ay%t+*3SSrkV^W5G^M)m3F>73M(2}UfLMYyptBF<-)Ml#65;6^4&S10Jh5z&J zPW;nd9r&j^+vVS#_#bw4;?n}uN}_`}>viD#(LFdT4*5ubKhnMZ+B;^X;I~3-?S1Iz z8^n|tmU*s0OA{_^dr>#lp6+PV9-|R?oenEYFpbK;Rs(5t0=i^=+D)}^RF}b1){Llt zAkCVsF{XyX`LEBPH2j4+KiKQR=xV-B$`w98W>yH)ax+MLrhMjJ0X-gZFj8#^jE;43f7oK<3Wdptc~CQ-uF;bS%Jy1 zQSDtL0Mx$PoU!9)S?0*B+~_DXI)j?YV_A44AdX5{oNu{L3W1iZxkB}_5%@F`+9S?w zl6-82VT}PH20sb3SG*_J5p{9jQEntIj;%PU-0O_jL>5PTOEU^jp3uIpuD1A+F7;xh zx6=@$l@y**k|-mP#_#cY(;4RTr>*02C2%BY%hv&2iI4!YxK}mwQ!tRDdUj&?zYq`aRYnTGk!oH(qm%VCL0B4FcY*Ap!{Q!;8+E`ZKCJfSC&x5 zM=Ws1O0`5<_5RYh()Na&%?JfeNR7A=>uEuFtQOvMDLhUAXe^Vyj%Um75S(#cD$sM9 zRnHNq{qDYyg0$xwqWHgvz4&j%ju5CZqxShzDg3iN9r$Ov+wp(j)rNmA|NXzd-+@=` zz33i44g26cK36`7b7GHHI~ZW969B?;?6=-}3tj$}dVACn^kD>7-^w4Ocr zqXT{NHwmB1t|TG5ckRUJ(17ZnK@rmLlMv+Oi4)i-x`BZ@g0uz!umouYWDHuiTCBR2 zM?-ys+Kb$SHe+sN7~@d^ap`u{w-4!_Xhyb|^066FI>Vyyy5a%D8(LRn!ILW5+|-Er znrb-hPGwfiur_8u5C7WjL6Dh|V2GPj-*e9c_|~^>SF#WG#gQ)m?YDR03t#w(X3$)& zkN~?EaNm6oVCT-gu-W_ye7GlCQ)4q)`b`wO}4+DLEY*wAPd%ETWXAGsQd zm(N|fd1x7qDY8Ct zYXX*Od0OgZO_D46UaiC9}Aa4Jlb4rZjUsn#}4^9nexg$Z^emQc2kcXLGc<#zE#3GL2ib;(TpT@b;Q=9`ppK9)TW6YQky2PQ@FN%|NWSPG-l2I;Aoo$_Lxz7 zy*Y|MKao<~k}Is(`2FME*cY2d^S}cBzejp;_Tsf5jU;ca0!FrP-;M(Z4k$?m+e%nU zo%P=sNYY;GrGGPMMP1pJNa(f|+V4g-)=k`VRyhBe0AN*CZV)zCGWyM|cAuZ6&DVg; z2G$NYs?P;!EQK6eDs3JRUBfLmJOb4A?cJ*k#3Ow@8aV2g_oydWf%w>?kEmbR($a$3 z>MFF0zs0f9{yPD;r%s;Ko?(`==N}iwMlj#njOmgBIQz#?o>~K>O{Qal6noGo3W;^% zMmMyYP~kc(q|g<>WM!XN7%782&+;V}>&B5I86uGP-#@O|F#@&5MjIY^>)8yPvH3RQ`#ryafijYwZhzNhFyM>JD_tXbWUDI8FC*C7YmIoBiAyBniodPJiKgm@i$!KM^=YrSIYygGIpFLqz*f#^DZC2RO z%*_>fZH!KEoSB6q7$DOc??LZt1B;N3l%G`m;*jM!H$1e@LVoXo`|d-*sS{e_m|Gvs zELK(#-0XwDdvWo+)>xBWty9LJO`IV{8@cH;ogt(9`>2J$j6^UjU*)`^1HtQK3ZBj( z$2tFb{zDRGdP#nu?4h#GsigVeEPv!&T`PONu26rtGAyTAvI->u5hKa|(cHk#MucV9 z+-f7+yK?D+4^h;97N4yc#y{WJjejQcrzL~f7CfyaBJ4>UoWG1n?+EJbZn)xU6ni_- z-s-|x(S7rx%g&0Pm>(I${MlJdio*AH_3P%-MoRuhr8d=vXm>wGhlerSnZ||E6Ih4@ zuwbgi;<3HBu;X={-}esYYDzFG0Pga_Ib5DOjm3}`=gSIk{@6a8t*^j&8M{kU*RtU; z8tFRdK+V@Gk=>K4@rN?rMaJcc)aL{cbdvbY*&ME5Ky(sItGTzc{Y}@v(IJE=IdW`*eCksyEl~-QV{qUZ9?s>5<%={1H z_19j--~7$z;g$1dv;WM1z46AI_{oodgoXLDdTwq}vS;^hJo&39w4CUTx86{e#$Yg{ zjt_;Uac#+jW?Z5^83ShbWQB9?ajtxj*3%Z#rhoR1?cKc#HdzPE zym1>A>H$`UXfLCz+l_*A0z8tK40g3CeLoo<`C67}NcS%D+hmS-(M`~n2&!+vfF$Qz zyMRQpJhGL5b6_(E=g$1O^Wyu2w3kKon&`CN_JrO?U%T9Im&`+v-gdc9mWIl;_IGAV zF?r3s>5W%F@tj;Atk@yROUD0TP_I#dqC>N1(eXx9#P%rJg%OY;E8}Ve8%Iz!JGI0cD{=*n=nGbyXqgXvmC{ ztp;}MDYyeA@OaA+3)(d(U=;Wuh*A(QbDf#VUUBX_2jlQX8pIFGl=-eVH>uw^|5Ue$ zU1P9=wqEBG;g z6U*{yU>cs$^Jo;1_HPaugEW>ZHa9n+rlv-983{7-{kH7Ez!NJd$Q;Z5>xj>-+gNcg z*!+9jsPJB?OBhUGzhv%v3<%N2Ga#fuPCl3Q^K(D9mgIu8NwK3``^=ItFvqgrws;uL zjSbkbV~6f-nT$oWr;fd9NzuRN=0-gK+_Sp&(`{+g)>Nacq!`>nWnz3%x1%|6{5b0C z>J35Km2>mBD8BW=&eze?-ifAk|Ek%vj}f3zhD0ec&2Mx=xx&dobWD2wR4csONS${V+F~P*qw8uPAnA zF?cN+X^=(44K?#8KOZu|g{`3i4pY6-^qK_Val`4{EZ=%Un+H?5XAE$SDyYpY2nv;q$I_&c z!~9Z3X3>~Nzw6FBbn{>2!(A}TEa76*xW3DMYDzZOu2A;tSaE~s+J+_GO_$8zU zPHQO}S*K19^x<5|aa`E`Di$gVab{>hK-!Riw6o&Gjv?GLfa;sHsWq7+gG-xQpAl#A z;=33?Zo1qx3O^Yp#1kPeeKHZjDWETT#&VMxvB_PYD;lW4Bw^xZd_To z)?hJ1=h^2%#b1e2wgl4Z@2EkrURO?r}wZ zL`RKmjqIV$g87Xc{4B{w_7OVg@Ss~C`jg^sr zsCG40Mgc{uvoew;ay3>)vP5o!eQ0%-Nb~iwL`HWiIP)Y0c=^i3pRE%AqzW!e8QiTE zh>~?t<|&^w0RVkW?Q66*p*%8OvBS3fRWt&~UvV7GHV)yX-H14#TW?h{5^ z#_SoZLimhyy&HU<@&`xS@Rh=Z0<~Y&#qd1=X_UK4WB6rR5YN=d@LVgaGbWeijnEAC zC(q!1`R~<08g&(WEm>|&A`GL0;EeBc-@tStrsQz+Me^CWuSYafD7u8zD-15^>oPvN zM&)@hYsP>NOQ*SBH|viQq;Y!rgT1$%y zpZw&XigDWppN|c=nfKVomQ41@xf6m|EvT!igt?xZ&X%aNlxR6p6fM&cJ*3a zx(8IP06X@cSuD;?1Ig8dK#VMui9{Cyfs_Ehklc$$0A{O_nv|4OW9QC&C@ZUh-=B~N z7La>jEpeudL>J$ZQ<=RF3Zo~=3>OXjoydfc);J)>o&8M&XE#DuPQ&1_iu3FB;vyN~ za*P?HG_32r4&W zGlk<#CC!L9o4gsN)4jdqxiF&6=5?cI_YX;!HDh^hM_WRpTvX5mX3AE&!A!29aBM|S zQ1Nr^F{tAdL(KWk5=sSTH#i4W7s4E(|NC3M~Go&#*F*pu@{5^BT_5d>xwo6&R7PRWrt0Q6G3J(_8`Th znQREJA>YAf=IXg;p29nCy@t`z5d;LVy}Rul?A^O}=@USkIM@$8^pNQL9r|zHr^DgG z7ryXC6crXKu@D&;AARJJ6=T3))oZW5sub2g`2P3AfwOBgnk7UtaxL7boSP>HeI5m8 z*PFr5Iy+u-tp<3EKEpZ6&vBk+gApw8C7}d^Yx$pFOBlf8cRL9za@TNAm*^{>M!xxb zlSBR5YfLsp_Iu=?hnX#A%37LgF)0oeGg-_gF`LE`&+76r9D4tNf?U$_CuJ>=l`;Q3 zYe`18F0Fq7E!3;drIJ}CBwEASWN?+GiEJNW$x~9ECwoz{Kzt(y=bM&?rR2KX+ZB)# zu)Xv4+jxKfJ{&u8SV1gH>_-NARR5J0p3?GA_QbSWEEw+X(o(Jb>*Jc>eKAwUd*XUw z_93f}SR%$CU!<$~A4h59WF>;bq{uIae?Z2gy$mi#FtzrS;$e_67x|3~@n)j--> z2mK~8lyZ;2wp2n%iU`h(uJ1;KRYF-^&oO0-0p~NzNtvN%r5Cf=oZp=5>y1^ejLLdq zW}mubY(RW%xevC5xa>AGH`Kw@SP!4aovEl8>eJQ{?%mi}SA*;(*nGV^oj@!clxN(l z`(H-50l(D>r^6w5BeVIvR)QHEmuIK74d8590TNw(XzUzDi9t2Y$Hv>^I9GN8=ZcSF zD&|LDNBo)_;?1+1z%7Wcs-jHm4c` za8&|ZGfM@X`jBXl!wwR0tc+@r8kvkYRJ59Hkk5PMS{ZSxtF6}_x%EmgHzO%=hU|79 zii(Qy)?3?g&pr3y)?2@gPkrjI@VmeJd-&h~_kWLn^Kbs&xbx2Mqq4FI(P&zk9;*tE zsY1vHXSw&nsBp+-5eLC|m->%Vxal9uMDx?l*CSL+tbg}7S}{94i7QvG8Z$EAv4kZH z(!TrM@8a2Ko<^(Hvh<0qJ7^f0w!bV6PjlDW*R z8JP-Q%{7PzJm}VbLgQ!l4@-Kr42-3MEW2fWI`=q>dn_9HHX65$h>op%KP_{TQ8=NN3V$P`iyZ1Cw>H;lq%I!_WRKMJMSM~W=YPK|!}j>U9qGeMo^i~M z4Wn1|!5Nng7k0ggOD{c+#iM&M?`p+D#VMQ}8qiIylLFFiCV2?=V(aN2z_d8d3#Sfg z=4`&V15@L}+E6_x&*%KX?E>CPa7nKD!<_ZaV=a(&cJ7>(iP$Slu)ov<=XP;`8(R@- z<(4Vs878y(BFzTm>P|YH>?0$<$Q}D!$&g8j<0RlL=ySs>#?>caty@6D?CcqFs*MdO z4>HIeJ$eLx^Tp30k%(jW?%fKk(&@IPPXIQX1CKxcgnaJk(kq$cn*zRe@7jeP(c^^$ z$M7eA@+S(wvd^D?+0Q|zoWH}87=l8V!-iH0;|{Q?5H(L2vEIw+2?e0DwOIV;)qPe984HCyc|SVcSnWaBcAjlPpF zTB#$BJDo)W(608B66dTn&y5cDsdCe7>IQD7!9ASz?B1zC1nRyKS>KbRgPN5*S#Uyp zuPTk+yX~#0C@xgCQBsGKosQR~&rbX!2AyoRh3fEU{i5u(^S>F4VlQL+aNr*{)jq-5 zcm|w#!o_fTir}yo!d73R`h-lfw6AOF5DJ6LWQrwgZ2ndc`J&}`0=USa%?xsO{&&fL zGZV*knEgFIF9uHtL|7HTYhpzQKgVZB@X--n9efa^Jyc+ZU3>$x!-?aLD4IKmU>Tgl z=(&szp1yDemf`cul6`%xaz~?sI*UPwvuDoeT=%*%eVV)nqiefSp)O&tlw>Is0yef- zF_@kmQxe`Vk-*?Jfws|kjD$fXZuimCp2+A8(J!51+jLtHv1<$*@qK=dpYKn^Fd%*i zU+4SW{v&%XmYuiD`=@iZ+1bcJ@OEK#8e;(;dPgVW>>D@CrhRNA6~$ajBQCuAB4(|% z7;KBmBwVTNJa#i`t13`kRRgzM7IyofX1k04%w~k3ED%U2%cI9b5|1vlm@PO}a0)H8 z70ND{VTH*!JTX}yq-GEp8nRDjQX z=C3tc`n~V{7{Bv7zmL1_`k^vZl96)zdpq&RfAn!2IdV!%9tjY+7hTb*lNx&Q zh{|BA52b}29MlLpBjaINU~Wd4Wr5!;WwU9K`N1AODsFDTo{88-RUv8S>>qf)8AY>a z9Vv~RF=IlyV;VCWz#Dl^Tzhm#X#fe#T+LOP9vN}iZuHz)VL*ZH{3(;@(=Tfov`%=ugxmpO5>L7GX< z&EFUk$9pys#2LAtnZ7P@lDoitW%}h=jdv!|C$?i|a%`DABzvsoys}J;I>BicJ5XN( zYlS#bHKb9lP?DB5S(|ifRBz@yA39ESL}PAodJM8@>PUN>@VK1H4m%+8irIPY? zwH}M?!Ow7${NMiV-$r5KDg5LoKfyE4JS&d%RfgJu-Y)#~Z-0!JUw(P%mCSL^J-@)N zy*tr2*sCmPq|5jFd>Vn~!Nz=ov(AooEvaM%U-y6%0K++-1xxw&biLvbkVePP$o6On zsjUH|$7eQ~K@fh98^4oQpV;EeO{+VxwS{6LLE)+51PNGyW89JyMfjW z0AC!Pn6^D6hC<4fWYX444L1AZS0jvYc@S34#~1_h)FP?I&* zmWbl@*IvnNpe^rlI~7xNlQLtD4sUiX*@TBDBRnS zK&-2sEY;mBs?7M`B*gQ|bIivDYs-?($kiLvH{E{PkD^|%Rle>0SZ^|nNkN4Rhj(GVt`rlp*tszzsc_j$-Beel^teu^ z7tyFF2RVrmc)4C7fQdxfmCU1|z6q9QF;JE!RlqvvIg@}Bn24GYEKYJAAbFn%+SE{o z%Ca&vHHe{ilS#5uOA@!T_l&(}EW;$jWMyR|s;f=9vGyYmKPCqJ=K?PFp{TGz_knxo zogMJ`;>*8Jux2t@VG<`K=3BkLg%6xjFxK04x2KjD_^(C8QKsX-QpdIGqBklu|Bn=y849i+0RL&RujA{IlK5p`>mf_j!vv5e5j zdHE!0lI!fzkz!{>^-@z;C2_}sfzd~TZsKRoP4p{pJ9U1^+u|2>?mufXY! zHtk_`wf9`3;I~R@Q+)_@^Alvc<|AQiJa_i{nW<}kZPa70IvWq}?Osr8$*pPId4 zoo$Jwew>wSn$JQ@zQjq*wkBM!5PJKBui$ak%-KTAqC)@IoOlQl1VziZl_Z>%x0_}>LNslE_uw_|LeM@#8g zdQ06;-=Z^hb$?Q>3tvlJh8pklSQV-;p^6B;(0k^hglz7_^>l@X6 zdg`9d9H$qrz&>&wmxB+L_H9EFC?2dJ6NEh3NB#U~3<`X3w;bk%pE{sZ(AXPRqbg z$mHtjNWkZ6)!NKfiyeMH9cV$UTL^e~E`lgBLRu|0rK)#YP1;;cKtRfCM&?!wx=adA ze7>h?V|g(APIG;o7|2!uPd;UBWcJMHH?LQCt?a$C*aS$L%y75_Ma#8k-*0ZV;of^6 z5<~tC{Pd^4z%PIKAY87nd}et0Gb{}y80Bv5UWaAP=1M99M(9W@&bnKpiTP1UyBJj( zqKFvq8+96}Y-m_LZWrd~uR3uVXD4IWxCwe`aj_b#8#$=3NP|jxaz;7Z;t_R**lR|R zOa(~CL`y-|FlL*Lu5L=?yo{z%xiC}2y=zF+k`SZckznR5vxkn+bNPoaBnj!%=w;NE ziR>GW;VQz<(}`pxjzI=>Qd`JM+Mv&TGo=x$2@Pq+QEh;q=Qj)Z6Gxb}^h&OiL)1W` z3YHHC(%sk=9>f21pj-DvBPh#CmL@qX+&fL*<6n{gZbt`hJr+ijCyDvqPMl}iVRbQP zI@3xz5bEqzl8;;kzg1EtAkEvEc{Z%mr;{8NCzpLKB&DDeM5aV#^-3iakmMfgm4S^6 z55Z}(Xhb_DfHq-qA>|hEyvB3qGv+>Z&gN5CJ*13Yv!_qPEBfs1x8B4f4?m1oUwu{g6nf{K zw-JvgG#JG_&H8!;r1bXa*szo>Dtd?xveCTe7&z)mkj!(=Zbay`Gb0^xtlWT?Lj6Zw z$Y?eD;MlBBy_6E$8*F7JyGHFT^%P5j3D}t7r+tcwzKY8{XXzX>WorkMdexp~GYL0x zZ!EjyJ+Vj8uy0PzO<=|>A;BpD4EyqUKLo+rdv}9lOEM8U_aU(*1ZiYxj3;Bt2)dbr zppJ7ROUKVmwcRck8XFpv#+%@u?GH~s^%Mp~C-%1s2yPdD#L}Xrk?hmso`BSE3L1HD z2G^S}0q$2P&oA8`L+3~s(WyECI9L1Atjfx`Yx&=~;ubb%GKJ{^QAH}6I>a9BHlg-b~ zE7LYv592|W^=%C)$YwxC znPUh>v-gxQyvKCZFNV5U7bRI1jV9(tA>0c_**sgwN_72`pNf)>fW5v{8!%^Prd1K- zAB->`KXw#0`OIbyI%5QXq|YZf>yU-ZjY`RgM(1(aD9c|uf2%1+-X|lCR1P%4`H`#} z6*@(9FzEEqVW1*sc`LzL?uO>SkzS3?Q}NQU8I5JWFiJ|@L8p>Yc4p0Jd!#+EYuUC)ZznmPz?-um0 zE5CQ57k|9djz8PhioJVEF={bkZgdD|1)60A3{8guL>7E&2V}^(TDfd_pq%oTi^tuI@x!~Gvg6;WcI9_i?u$UQvmCuX> zAk3J>RNSIV#d%0_zs(*cZ^#V*-RQxRM>^1-{p@FTzaaj1Rb?gayZ2r^@W6eV@kq-v z4f_2`q5tBGFJkxZJqU+F7$WJ5IM<0Kl9G_mtwADQfA0O{iyD1#&aQ{GY%TG$REslV ztjDQ~*pSb@F=o$L^^gfdu>9Vv^F1ohnuJBV8MU+Jy7UzTPfA!Jx|I%C{&j3tSPI1~ z9_O9*@XB0d^qoNxGT+j>9y0GlcZpqCFuIYq?e*c%r4Ki|=2Zl~JyzVhxta!thm=$iQ$pe6doQt5xeh zb8;FGq>-64m&G$HEN$x%ADN(xjGNU}l_)7H6z~0nrC`aL` z0%eFM5lLnXmZjb_apFlf;U%D!xwD!NLg97OPhiZWXu>sB4~ zp)|0>$|Lz52ELfZ$}+0|I)u82MW!4Y^89WQGco4lzBt@ z&+05ziCtXUCv!8$1)B-y%T8dx>42?!cttktWBOyF;E47~quJxMqu0h-<*m&|Q3z5J zi5>+#O^qfcA!!xB#dI@oHebQ$jf;Y1FB9M6Was{9mWCSCRaGhde=raQ`^1cX?|Oxq zGv0qBl7d|Zt)ih4&50Vg&WZzZ#tT!-BtWc5z$WRD$KdtGb;|&5C%}E*`2AF>R{)tu z?v;IUnG#XH-qzNShWbX`U(P5h!TV&?guAp8q`8}`b#I3JChU(&IQdzkLcqLPqe=xt zqsc{<sy3z6+DqNm}(Q!IFEJq$O z^+Q(pj0qHI(AaN4(8Ne(rc}~w2%0u4`Wt?k%gi3hd|=s2CK@WgA+vF^;q)42fa`lJ`d@g9`Mx=|MHKy4(AI)4mik6*XS@Vebv zj?GM3#yQT|5IzI0butpt$mbsGfiyB3MtuTg%B-mP^i?W;(|vV_TQbe*+!KtYWh|+T zhFQ`cL8>FA40#I+=M95CTXp>Chd;#Yue~NVtV5k6GV!qwja!CTS}a&Nx1c(RS(Itf zVO-CVfEVtT26X^6NMtZ4jD-Dl%=WUcXe-Nid{%KLM5h^*2hy=&BwDKs#NJY0YuTwh zW3DM?YAAFR$ufAo`ihwZ0zqakw!)cWpn&5`kiu-Pf~KWwWr=Yz9u*+(RbOHwYjm^1 zu_Ry(dF*3_{8MuCKEc zZbzwRrq_G+obTLn#fV%-iE0E`b#=Dm*wG{UJWd@yiip>Rfwm+jhX--w(EGZF-#|~N z?yY+4@Ie7?X7TZu8JGJLkdvDUiV8pu$@mZ;=Ko$+l<-J=5odE1{BDQL<(TSu&75uV zK~O;*&ENpDe%!3t=dy{<;@%Sbc_Tu9n1L9QhOjR`JBIl}l9q^!b-=cAlku$-o|ki4 zOT=aEu&RK*G5ri?8Ur4e*uDw15t}(KkB#C&$uUec%lhjZS+TkG$H>~~w>9gAl5Uqc zr~)o-2IwI`Bg}zq#gQpWn<~ct69#P&# z6Z4}GMoYP84oi#H1wDMG@)#uek+yGt0GF{qBhqCvaSp;mqX3 z(ks^<+-HJOAD&}qh(sU}c*r*76^CxUYg|XPG)S(Sb^k2mq4UD5n$c(16P@F7JqfQ( z9TP5SIu>j`<}+O@h5sAL2nmEpyT3v|$oT2l>O8Xun6A)Gd%33{0rplz>Di~kHOX_a zq>BBpBm!aZghrin-1vLOLXZ}TgmCWSIm}(W0>{WADtphtKYl^}{Q+h#e4x$Te2qjR zbC*8A@cd;|bk1V`$x_5ii!m)qd{*Wpf!S$UAEd;emia#_prNg&53TL_fNO&i??s79 z4@x5990pUU@kY?t;zYg4f+o>drsigq7Lz!{bWYVVwkeR{c(}!xXssc8npw*YbC2~v z+S%C|q~-S$icwT6OTQrQFI=3 zYP2M1eqPIhMn*;vjf7PP1wD@C$TJ;8+Apqs&e!}ov6?WrWvR?;erxpprbT{ROaBDW zu%aRVeP;KmU*b2^mbhlJOr5Xtl1xJv^K9-$W}`rntvUe6|PP8_K+EmeV|d9 zj|}W+PitQ{y8GDw=ZB-YTmjW)p22#e=aO@i5te;=++&X{jTBaMY~~=#DA$bJ<%G*& zS1?>#S&9=!55m+`kKz6d3o$ciBu1lsJbv`Bmd>(AEtkk(Gs3+lxit{8yM28!elJg$nd5JJ(=2T)g3DW^fGzvJmQu?3=zFY}k#6(55wJAK94a@QBfV`= zOpOg|PcC}_O9ec$ys=C4@5ImmN=}_bO?fGj(UAHg2lnq5eeXqYI<5{pGhw-Xn%y!- z!?NCt%8w}oXw)GguM=L;dEEZwX6ZZXF}9m9NDvfo=5=I1rO|c$Iz;_qzxa)^zH`|! zjf8s_=5khSrEp#_5Xry>eOkMcR$Xny;O5;dVQ1O$^*pPK<~qz+#INWZM1A|vvTgnt zd!)E4HrWSRhDeZ-3n*?>SSp!FbfdoBjFQqqm>Wbnvkp4Pk!G}x3zR)*+1Dr>6qmUc zRmBA;D=kHfxka3uv|i`dmSARt_Z|!+QC(k;T3<6-N8NCr^Q{1A6#m;fWJgI=Ioi^F z_}R~XiMQT*PZm=Qb#-R^;0Hg(zx#Lp4!`$%zmHpP`6hPldVfVJCP83xa|=ujwaW^D z4k#mnWDjBnATFSkhEvO`!~tRi*=SOJ6vFJ3Hmb7xW}S=@!3eXTbY=-KL$(IZ9`Rlj zyvg_Zy320WUJaw8#caZ?SM132udAaGKJ z$rKp?>M+^Sj`qHR&4V-ovv3EhMDNvlLa4O~C~L8xS#)i)$t<9ZL|wH_)#2j?1$e{ug}BiJl7+% z6Wpha_UPh;MV*&nnGbvS?197KSeiK-Kgga(I(`#3%dM)>b;f_Q%q}j^hh>d+iwTwG zBuHyOJQ5c0)_vUojl%I`#)}zNR_nBnCJ~)%UIB&-Whr~+aLU>@lT3!BGz{WqGV8g& zK~fX;19DF?C7lrmTK&JgǿtAIOtwSR3jA&_(VMemzV!ebF&CLqvhD$zaAvf$B^ zDnV;=fzs?VK)hy9O+XPd#@w))pf&#<2*yc_G(Idk)@ngnNwI(#63;j_li4e4hFc`O z@ceUl`|Y_5bo3kU7eL0{fZseJYl62iyV%d>+l9(&4Ah*>Zg+ z=er_vmn2BcoQ1qD@llotjB>8$?}AVV5~ML`PX8%am*fhW9^-zO_|RL+j?4KPB-5ns zqgti`EhArpz?z%Qv!Y_Nl^t_ar!h_rg~4Ii`^J`S^vB%pAmZ_@XF}w;SlVc_c~B(^ z$8Hw%*~Gn`1f;P9Dd)yG0HpfmLmc-ZY{y6S;wzWVqOX|_w z+zOLLoRF?o*r#Q%&#we$x#F01qRuG_A(BK>lMTm@7i(YISH5x!e)`j&W6!SrV$`eg z-g|rT)Kf1AP&>H%dmI~|F9eIZ87^_Sh|II)S&VjS#4nmDU*Oo#IgN+{BPG7k#Jt%; zpuz|SCno_{?z5v%`H_%;S)wfC7HQ3?w5fo!)KBh-fQ9#I5oOJ2`|#)xE`M-sS~!tN z=ti)$H8o4GTs;_}qyv$R1k~YWUj#`Rs95r^>v|+x_QQxs)-j>tVqXS9fYEnyg=4{f z3uepMQ^H7PTP%!@REF_vwVLYR$m+r!{n^8*U{^~}%akyHz$r*(L9ZPy`L~i++{iqT z@1}zpRy)pR&Q-E+(RkC)5_I3l`B~n~`5JF)$5*Qc@rZK@Z-!>^OWP#=ymSbk6+p&v zN51ww)40Ay@b*S<8c#JQ@i&KqIKKTD&L7){GXW2#1+*;ge-{hoCov;)j7{F5j&&Fw zqg^NurBUsVp~e+J4atzKb~IXSXd*ZhV3rTc^2Ka2X~fmh$gFV2IpezF_)uT@Tn>%O z=CX~g2hzATM!!5~N399gZ4EF#T#vvzKJ?rBF*`M@rGzYN{wRT2?y-1o9wS48%EHHe z(qhpFV(c-L=Se~$W+DvdhP=ieDem*Onfa5ki4B>6oy&#Wo(I|M+qEp%8I(9r%) z>LzQQf;I~0I@gq6oLI7Al3Vja*AR{&?~NHj0yO##Ng4lC zPZExP56U~MP}@-l=a>NGGZA=a1F-a((OOrO>7O(>=SGFkMfcN`Yw*}w#Ln-)Lk~Tu z^5BCH;wL};5pKQpoA|*GzONM_n>iL`4X}(hnTR3X-X(rX#u=q!%KZWf)Y|30lVQJ7 zyLY$6GGrD8*SQ&?UGuj#X}?o5N!1gptpT0$0`^FmzZx4PU-xyD!s#f2wXQ&YMwU}%=0gKqZn>_oh_6IIlzhk0 zsPn{LSE9dd^t)NnpsM&W_PSEN=KS|by*@VBgH}rmD#}W=5{lq&w67bc#s(ChI;kx@ z>{;ErXP0KyJCZRihi8U5>UFGG10AWj0yQPOkn=MTAN0uB2QyVRvoq70;kp?*k8_P> z;tBDkV%*d};8uWfBlhiP3g;GCFsU;*Zn@)_EA+3pK{fXyX2Rflf~gc{PDf-dj1BfF zlP3dQETiVSAM9?!NPicG`nu%(UJSOUFwmaV*T#khGyqRR7els90yp-n8az|d@t^MN zL7&)`WbY7a(}O5Y3P`&dy=SRpFI=vm7;_6OCRrdYO{!qHNLX$`;eyN^6dHQI&ax!} zIxf+8(Uk@6cR<=(+c;z&k&g9ihIF_)*%b(1=Ph8UAiaQ z!w)}>7hZT3<>g`o<-FZ;%{H4KPe1*F?x&Xf+v#+lC>jrHWl_`lq;g<(RJ|>ky(kzhV-$g4gn*3Cjci{8CEV9Y_xq6Nn*l6l&5&lEyEp^# z8UA$&Nb3~PIiE+>&4WP9=kqDURsJzPK8|oOprvCZW5|xtjS3ZXrU|r8dkjdJlD&5} ztY)HKjfUUVaz;KQd0#gpm+$L7A_644+LFHkX4ffy>%E`jW$Qb7@K^Yxmu1D@0rP1N*IH!@&0P2<&fha0EW|2635kvEr z5t_V!((ZYbcb!3bs~?fRG1!LAp|opW%O3~MUPLU_fyz@gNWS$Z7WZw#S+@<-W20Co zK8A(TJ!ABleBoSS#(~5b)S*V7 zSxcyssH@pKNe8TrgadN@?0@ARjC`HWE2*m)xlf7n&&=6JRenw8R_aO4AEWCx5(fNO zB1t{W>?E0Rqhb?V!wqOm)uFk&1=e9F?9*>A+l4Z5*pDAShQ}XyNJV?9>BReeOEYO>2eT!! zvoq@4_xBHAa9~h_9o!?$W65lAPN2Yy4y7xR*&FRfMeVfcShv_^&V}~gumCli0JYi- zIGU`4f1nJ`_$fHNh44BBKshrEwggA(Ire-%CVJFTb4vB;YG97S=gaeZk|oL#SrUB@ zj-gX}9ll=D>X*Rht}<~H)_`5^p&Wikwb+b|?q)eGCDU8pxaRufIT#Qj z$qa#0zTW59j}CMxNMkmWeTXcBC++^R!-vpVUz^$HClZu-Qm8$HBn%?o1A{pX)UH?q zYTpFx%eaRGz=Z?83@OOyD9+8#Z#omRk%M}8a$-^$uj6u^QNK$weCs{KzYD^7N9N{ z1(27DeyAufM^#lN>~^~n0_7eF0bl{2M|%tN4}$S?0{ADb%@}dmVCx;#-n5V90*B4W z;NTPnhfZT)Uy0Stv zH#Wm+kp&QK*DP25Z*PSVoCf@Hw912Ma5thM-UQdQJlKn?XV3D*ecq31Pc1yb5GpF_ zP*NhwA)H?R4Q3KcOKWh?J@@No*SWt>35oMmUn|C?x=1GA%955`kVYfH@#6j(nmH1K z%Y7@1Cg{x)rH&1_zzsa{dnT zwuq7s`V31R=^QZ~SfyRJJ=xFa^=bK`cu-53+|%}&hD&T3~SG$ZX8iK3*TTWTa4 zks>8}f+Q%CAVH7-;l20WXtejIS+6@g`<3gi z1|SI!aiR;EFEih}@7{CI|Cs;b^Faj-`uTwmDC+q)UD8q8lo^&7U_{=H`AdyT=8&<% z&2OH7VsicQ%J+B1&7dW1E7Oq4ltEonG=1&Ye+O7!wy|UQHR*S!qZVlzYc+-}y+zN{ z&)u#u1Un&KJzEprdIdNkSI|PFXwU9lLSxcPm#+5_r2g{s4>v20U`2t3$?g{5pDirLwJ4iXsUq4z@{oAR<-X76oO^Qmx?14Rqa#c$%6d zE?C@?F!PUVLE%}It~9)Ann6)@C-;hJ287)#z#l2b~e!(u{tyQhK5!5;k{qX z&_sA2J&4hXLxI{ZPxIxO{BN7y&XUf}a?&AQzr{k!QFBj{zwi87r;!vp?Y~D*ekioJn=P^EE!SB6vnf;rd*1P^Q53CUn)tu7uSa?o;6X=IgIZTUh6i0d9>*9hr5CyvX-<~liZaHn*P zPDyFkEr7J4p&1z&ot0tzg5l9g1#2@3)Q-!*z_@gE^^32$Ma3&Y{UN+$*$Wb68*8q# z0#l4FgeV1(mFlWWsjAYAzqRX*Mb4nhCwkTrib{EHl~jgGrFpW!6@)D*S7YLzZIL?N zG@`M%rDF0Mq>csx?XrJ=jsmn_$oIbYL)o}-=S|l`ZCxuZT8iXHvNFMt#M4h24=Gt5>dY$htmdrUUz_%bWjybG-7tG~gG_|HX^P{{ zq)}m0t2U^BjZ~l>HAZ{%`+8OQd$=gbSgBq~+Zl`SJ}@ph!9rba@|P@Gc~ z-((R&lbC`uH30g$yUd~D93NJY<`^)fTN2451&A8RXwa|vsnJr~GWBw+&PBiKJ~u<3 z^9)qzd+9oqTBE#&+8$4Ax~CjEbNNN>7|rNYQWM?YNBCXSzvdjP7kYt_;Q+%SbNu~^ zj$M}_1AZ2{({)KS+=vKRe;Ma>>Y8NkWJd}CMyz+nkw^t8WjF-={t5}jn=CYub6`y@FDa6e0>H9Y<`mTa zW_(0`bM=Z`xo}Fi==l7ay-?3FrpII4!2q{lQZk?WK zj1$kVN5_$R7{+9wYrh>~%!xb!qUigUNP48LyUM^>OA~44Wj3dm>tM(h3}pZ|*$*%| zx}D<)*Aeojd!4l&zn$&~*8uK1{d0V|&f) z@fibWk$}&@K0R8As&c&AF8SdM?OLlGF zuAn=Sj)D&K%GB7f%ubEV-1MaWJ0W}b?3P;H3wf^5NLbdtwN7Rx#$t6J(?(vtlt&>UJL+iSRR}RufMrLLD_$g^@Y%&`9 zL_!UPv2kOxDagw)WC`m~D4+wQlOL}~wo)PbfB{b)G$H(o;sU9x(2XUWRFJd!;0yuu zrTep`q`aa+ifZztp|?R=&W79p*b1Z~S|*KZcqI~j_8ZO3VR`Vu$K=2M*N>^2)tzHb_HI7{-`LBvLp1rI>D9MJE&BZfWw0^mzb} zZdGPP#pu@oxH2WH&y?rNdFBUxHdZfPe#hZXAJkTsOH*BqMLuAk{l zv>QtwpX0sOXheTMWz9!X#53cg5>q3+wz^7aC>znuc4D}1p6Ys$B7IvEx*jmp)zE{* zl;{a-f~W?YK$mVDFm^$Lk==rV|A)G{yrj^gIL`4K{qOR-mt~;0(47PFr*De0u#kQRM?Zl-l1&xI7( z<_gt;sv~et4KT0f=Q?#JMAY!=FIRW9>t2adj`e_nZ2DFWUOsLiY2Jv zAkKa2davoPmBW2Gk~5qyjkC=%^4|CYqDHav_q!_ZC{TN6)WBMU_o#%LX%3ur9P*oK zXECG+0SS9*r7S;3jvYQ=@6Ak%$oVs88V;(@Jl_04DHy~%O;^*itAJbKUS z6Y;pi>}in@HME#pI4K7D`{!rf@(v93OP8)lYbsFV1ED zvo?s*xvnYI*MP9$o({V=93C(#_UUW%E93Pc{g=NxA!{b{-X{$I*Bzwr&VD|_bOUEX2NC*4oxjvrTW7MFmhG2N1A6`tb5OBe3V3vKadF$WZn0ivtJf^0AM7Odh=de(~w%fBN*CoV#?+ zK<3q}@7R4{q-J`CKP(`PYr1mf9hsS)k(93Ii0aTN?2K09svtpynpz?Uc<8gAG4m25 zv$-p9#m^2SreXAw%CsYn!9{2G`0^}zhZD%0kCn&lxgFTGO}1^>WQ~gB?d|gJJ6Gk`0Qtdwx!|pr zi`B()v8h@v_jSm{)2HO*?358n^yq$o!!hbjr_7UaVkvIA##ai`IB*~kY3b8F#(9qH zGejmC+r^@)t07LUxut(Mmb;#FD+2fdc%vh6V!55;2x}@(mrk{eO%+M}M1>?LYNS10 zZgZZw<)pFkHyIa1>N0HtfY@+vr!g|J#s^i$<9OlOkM?(4l#8^ss)|YjO(R2nGCtUC zpJi>64P;~yI)AT!XVlm>2fN}ne~c(i=L7^H^tPi7!}!>^jE|1n-wr^-W=oEi!WOmJLj(C03396c3S-tb!X7SuSVw4 zhe5D2X;cr%(RE$oF4V7)VM9bd`+Jxx)>@|)`y)w=So_<>P?%5@s9dXqK)4D&m%E5iRq%i-OP`0o`pJ9vNZ+jn6w71r+wRu1f(T4hZ zsjR4&e_A&l?_Iep7beDJCLEC7k#Sjb^5pp&0L@}DI(9<(`bT8{zI}374GAv9r|7UP z8j)j1k4R-{u?%$U=G5O~6s0+b56MVxhxHW#tuiQ3Y2&@FEYro-tcHGDno^%MLAT$$ z9U-+b7;IPIRHw#9g)~%GO4!?^z^GSxr&AKU*yaklZbj<*YQz(2lyInBjvXtJni^Fy zfmWmD|N7UzW%A&IkIQ$z`vZCU=@-@T^If}6KxDHgD9sIZ<{@B`+yv5e?7HxvE1;kN z9S`JUdAZqw(kBO*)I6e>C^Yh}$+dNW2Ac|0*HK@id1l#gsMVnfHOh*5Gs4YA{8625 z;>Y_$M$@#qOXvPl1IEH2KfGBDkEp-N(g9X-T)1#vjo4J0WlNQh+wUw}7*{o-$@hmb zaxvq^yu@srmJ<09IJ;Hp>xA*jBQ0u-Q8PnSh&e=h;6fg+Y{8=iXzrR%NsNX92E2$W z!OR&~(B0bNlMV%C@%Dtg@#E#5#AKu& zBp_o~#${l}m$T{Z46pFgkn7m=FW9I4gsZ)>VoUC}4yCB;_P z)33UW)Yyi)S~cK0%*eC7G7&W=UYoAt)>yU4l=*;q)u(Z`q~;feDHwk{u0ZiaIPWh zQCmyx0wUkeYm5)+^^`d<*SmDSvetRlfIfg30^tkKj9ScOqTQOD59;&7SVtED{xc6! zu3?RZ*_vAXeg*gI*S{?v|ARlUECtFumO8BN?DS~^0@mz*p4{lRZKMyG5D{hmq$Bg! zb%~q6-2kA&Npx+^=)A$+F#T;dY=!OD*n!TR0=Kk=T|kP^>k>fD0t=g@(DQdUx;b753^x_jhTzxtJI+qO;i?b|D_zy6x++OZ!^)+`g?WD5YTyJtu@^acfFhs?Wt_|PEn)4 zu+L)#7@mv5{5(0hf4@xVg#*%B>MNwNx?JjONbU1VIIK#yYh=~I8Q(`*A>gdO-XryO z^=6b2wW0n5FQyr0BYl!Q-64_7s{_>hr&Up>>ZP&SckRB`zqLhv^w&R;2OfAxAIL!| zEv+*a$nSsuuVv4k!{Yb1>FbB&#TVaDMNXsd8fo#QL$jG6jmd>#rdJmmHwGFkLW`#> zriF9Z_{g#6-fa_AMM*T1w4Dw$B8&5Dwj=Hv%rW&KQUde&S9(EjRdz_}Rw<~z}U^;`r&21b%lG_t< z#EAs8s$#{Xjv>Q*FoPpQIWAYI5kp~8KSs(55wf*!ysjI0vl-lMrqq|=J#A`gl$=8c ztQ7)vTre^bDf2gb%)>g|*Dc4#M-1rg*}c>B1z?UIH&F2o_ayCK=eIk;=`}$LBXb$A zGsX<{ilk~SwiXbm_~UJDH>JAZLB|l=ylJBvCpY(5V)Nxb0ggm+F_O`}p2o(TK-WT2 ztze9({chbLsDFD>!PheuFeNI?^p?)!?C@Szm9r&ObGlS|gT@0x?aC>N6q*ZjJ$>38ve0erC^2 zqC@Bl$ZVL$)WxvrV=SVpNxj1110!zsI^db%*(T~j|ESFGO@DWqWtO!8b15lGNd-2{ zU0BOV@u40AwnhwxG$F^GCH}}3NMT^Cqs|UPiG76>G8+RO8@IKL0}rD+ta?8)O$j3^ zrR&rmt&xgku~hX`OT&amnok5Ia7v%Uh2#yjWyttDlQMO3LVO{giO16*M-LyA-8;8S zqpn?2(+?dvASK253ZAOfP%4rfeIG|l+gPhqB#NaeQgIF3PEAh8#K^GBs_s7@kI9wB zYPnc)OfIM$6Y~3{sjCFs}JD$CUv+iwmIQX@%;!{`H~(JF?1 zpS$$B&YU?jKQotiuwICS&?oI0@Ya93bllOO0O9O0zE$CQ@!WWZM1h^=>&!!J0JqQF zvgmK&%pz*BD9~(A8{_`kdRy?enzU5dY!VQ%4gh2uH*S=*s*fLf=t0@5dY78C zR4OG8KlG65<@>ERZJ`5jcINaM1&Jfl*^w~f5_HUJ*+w5a(dUiLNg!c4B|iWs>|TIc z`WdF9#5_v^5d;{rf5Q!=Q4TRRG9brQFU(Gk$;p{1IyrFQfb~y|L?XJUmg_#OpKEKMe~LFAJk#Tzh7!=ny+0W>5bq1_V?5%x>ufl`X%|vPwun+ zYN^zaG&TmLv9`uY3;<~cZuFW_mTAgik5MRJQ`*ZA?i24NlalXo6dZ~z&1y$avj#Or zD9}!Of&p-u8!a0`QwcpuNL45|0~I5NiBB;+V@e@vKTLSWhSw?s$*3t=huzH5Cs6(v zHToKcbX>nTvm?6l(EX-=l6->NuN7m*IO@3pSV4U}uidgC$r;I$Wt4>D&v~alM42VnP=p==bqKqo{^{Y|DSvA zIUT3%Qc_fG&6$aAV<@_%M*YKi=tqn=nBKD20n)7-J^+m7sF|Nl zdw3ht^GZP+pb|oumFW9BBh-x!NRM7Ob)Tg00#b3Zq1zM7Sj)T*Rl2Xbz~(UblpN}i z&|p}6gMMimZj!3$I+N(xHtD-McoR5tWcZ=2IzK-C!}hmPFhAnGBGwJ#}%BNI&nhYy?8+`^>)cceJ+=qYvp3V zBgb_P?bq+At*KTp*DI~jufG z*2%^VZ%hAR|BBbZ(9odOJ~0QJXF=-%_FSTpnS1oD2%iUhU>7)sD|3(e>(uPs3Bl$d zl^A{M_P!%rAI>i#$)xt8gWb+Uc#riOs43C4=~eq9W`rKpno&}*XV*>%c+%ux)b#@P zdeuf5>gkZ_@nNYbEwPAepU!ayq#*#}bnn-4Td(|oS3>s%jP@JWh>Ff>bTbi9NSpxK zqr;;HpfI}Kj_K(cDJ?0L#~yoB_Ub%(x~p zL(-*dn0of0uUTRtoo{L{96YesN+voKi1l}O&A;a}2LRk0=nhh831TrnAO_+%d2&wt zexLON)(2^?Wga|RqWG5&Y?C#*3tOS<^*uyPtwH~5TLW3}tfxXzyLG5hY8 z07|pUYDtJlWj_Es+;QDJc}P$zliJob+byw6?XI9}r4l$7k%oQ+YE>1|(>o@A{^wtj zmtJ~fKC(7tK&-sHLB8;XFUiL~_Hp^@SHC9DKmV!%OEn&KToUmG6n57XtMPfA+B{n@SkeW=Fkg8sJ%xHT z81P_Pga$pOn>PkAUVb*HepO`lIaT_kH<)3rpTS5bG>iaM_Oew`N^A(aaA`PsOXK`ESWt3!v`G!QQ?)Ea6^K+q zrU9sNeFjU20Wvina2i-0q0VX2y-0C9dibyrKj7^$+I-!lq0)_ogYwENuZS^k>U(1Y zJ*I5CbzX|D`M)RYe)(wyk=JQ>aXc{R=@Izii?67HKVV+|aov=it=hw=OqK?C?fJc1zzkrBE(`?K$- zaGgZz0Gq6dr~()3i>dbpJ9DtUctIlv;XTHJHH1+d^^!$XBEggbwt;qO9BG!~(F!S@ zs1)DH7FR&Flnh-Sl8&BMwKsC4urODSA0Jmc#4Cr@9*L=uH8R*E{^kbRv3;wwg#9vn zZdj62t8(}9X<0%LGEF5 zN>7Xo$Y6KUbSAnZ6Qq$AootI(C!#^rCLFmIT@A=O3cXr`Nk3-TnDh)bfqUBTP|d5;W~jQze(pB=3`6o6fOJ^Q#?a9Gwj3}a_6 zT#@k!edq>!rlh-jL}C$G&`Km63K=5Yp^E5@*I$!YUwPSz<{o_T5!te7lcf{D_*Gq1 zZ3g^sPp9M`J7(U1{=R+%AFEHP4>%(#1>s1*A5{aTNUF+9C9(+Eu$*Y!FfbIMaPL=y z-80iGZRZoNpzBt|JL{K{x&rC!8kC>^`~i99nHQwGx=A9D4k;)olh1zk&*VS-r~jgh z?hys9-kZk7=Zi>XX_*8X(!DxJ&tbu5Pr#K5>5i?W*r=h5q9po-0g`57T)c>vsNO(N z%8U+gW37Y&elxnyoH`+==Z-5_@|ib3;Pr@K6=73-t)+*MMoGjBHC3Bu z*X_DjDk$Vuofq9%o8sSAL5X4H_x1EhqAg}oQix^lRJ|R)=c_7|I9}l88Uw0KITtdK zq$*_`EKQ|H%)rG9N=Sjw#xdhF|SBzb83z-jHngjnq03nOStZ);sf%=&;CFj`ocdj zfcD_$|3C7?U;Z;WyyayX8R?UE-b<$r(jSSsg`AwD^2=X7AV2!+AIZ<}{h7S^=9~6D z$Jvu}de2?DX{1x2a3&x$mZnzh#TTBJzxu1cGGdQE{KG$#Z|G)E#0(;mn69;p=g;U` zy1kw|w|cB5NHb@S8aV7-XV0FqxfN5xt7RUTC8EoVuCq}C^dSgv+qBV(Jo~1SBUYc2 z$@I3A0OaXuNdzi;9Uw&0VybIm&9##BLpVdv$zqF4^(11pF5NzN=fz?F9WaL)jx|!g zENZ6u(b-!unlYZ;fC6KQk<4BT>#w&aUwjQk5{lGIbFWAC_a8B7I^mPIg zbwXHlWnqh_fE5UHg9}ef9IH-p4Git^$h9IBLjWX z?D5=%$}@E`b!tRRh^C?IjLc}B z(8&4!?ANb77u89f`pnR0us320#ar$y5s5P&AUp}w6^ggvs4+JNn+pX3F}KfTij!7O z=8fC?jsOC2B2b2b1BTZII@{E~=+S4m>l#SwOSM~SG7-Je!Cuv!N2R2wz>M;-flhOr zkirWSE8|4eJCkV>-JAJ001e$u#Dp|Ox71bu8S{(x537;y_j#=sqv{q~Y0Rv?M^I{V zNNw1$5&i8!=~TOQT>pP&Y*RpPnl8KQ)nbHeyZm3nXxX%pp$+00TZhYg7H;lEU zAU|LB@82(V^^Gz$eab*zCJ@eFvRQH{p>x@LL(we|9sfB8-MumANAC#lB<94zIPdcm6f$p-{6sV-%Wd?e)H}-(xS?3 zlWuq|y7`_yIjf4wVWEW^;&V3sbLY-k zp*kDFN({u+K2{T?QENtFKBNppP1-1s#~Fk%*sjK!%X3&r(h<^p>40uOONXEr+1Md$ z^6A{eiIe&MVgjHiQ-Q1kx3z#Ffrpn=u86KZ+Iz6+;}yPB(d?y!Yoc*-do*N3B}VGg zTqmg@*$OxA6KMv_blMuuPv>=vU!s9Vq*GTciLhVlQq^*_J68_(*Zukshrd?pP898Lzr5-rn*WgEy}ZWChVQsnp!z}_<$Pm=?1l%b??H7H{6rby{*-1 zSF=Id@$q3PDa?~sUw+>DXB8Kh$&*h!Zfliv+~poD*XikLGYE%N7x9cpL!QysAjKHu zUPskHRDrM!9Y>lLuVueZ^uWp{^x5>{Ak%%_){FkV*#3XJf_*_mIsi~_%8~G3fzj$m z#|tGG&r=Xo?E1M(A<7Ja2hM_}u9f>SRz^xN^tatW8d(xJ?Z(x(#+IS32qK7~o@6@0 zrfZVOBK2xyEntIX12bfxuU|UalVzOmZu=CSXx3c862L_Nw$27|K$j&gY+S*scDo3 zy-uHAgTHpZm&Z*5ofaM@%87ziJmYM(g!$t^j}7$Tc%O96>0)yMT`QKWQ3;$4No}l5 zV)29=JeVi<+;g9N=R4msvJj6aVyT(D{?niS!lG^bKaoN1kH}gynvjNuMu~*Os}MyS zG6fGCB#}8nzBX|cpe+a3@XRTYrJH_!&QUXp60Kp~gz^<+?UU*8A*=U5X}~t;^)$*6 z1z@n+kY466;sMf<3iR>|O035cksFFWtINw|ziyxyoumo?-dba=s*p~~i4!Mf?qs^p z1P9SJ`t$AFwMX{u-D3tWhFZke=<3m3si5$f8>G@fF5^C)e{&_hvGnSCz!P3)g|~49 zX{1>(e&q6Fc;T6H`}}GMX~rQnN?V(&7o2|>#_1kQ1;#SQ=FD@!bA}PfITK?e);tu} zE^5wj4v>0KSy3)sZ7A1PX{@W3V>w4uXLXp-jN-&-ZmO@51N-+{!T;ey2c*8H(md0q zOckV3XpT`w9Rq1Hl{!ah&dlbX>6u=x-`^is!EMNQD*DMMK5OWUB86TfeU7L>dvbn?NMO^|#>3DDvBlh?J0h!xz zt00Y3eA1pVfaooU!AiOr>}3?lQ*TSO{#NLvDHz8?PecK4eYU~F{~JhCF>h=$-q_{! zr~;f@I&L&@(;9FDKt`&SvBOb!lwknCP`z-Sp^z~FGu5tB{!8T^^;8!KGQ1g=Q|{IvD+1FtyJiRHl+Y9mI&#d zl5f%P^q5ykhZ<$WQ>wqG2W4ogUp&Ej*|vR)oVsvI=8pHt$)Q%68j4EyuaN=y;yhXf?4Hlj2h{vR^x?F9XqcWg6g=iYl_-i0-a!ki2V(kzh zGJ(#&s-jdH8yaNiwk=lgIWjUjKeLy2T)22nMn?xN%FnZ+9w{1$SqVu&?ok7Swbhm8 zV46};*&d6U4kQ}L>qC8=l8iJf;3gBGR=QO$)>KtlU)w>Qd(>`aKikz1Y%U^wAy28a z1o9==k!Q`QV>9!8&t{7y+?Ovcz5<~(elf7Yd#oj*S{UVS=VS`?Mntlyd2<74*sr9i z78e!B;oO4~iG-{*1gViDebg;?m;;l&G83FRLYf+65bdgmNH;urV%8jJnW>E&^mHXl zg{H=SuUB4w?KKJbRe$vMs@?Z<`RP6PSgIo_k54FwfBD51%yCyzTq4gr{funcyxFpe z(4CWGlhU0^XNOQz2l+5oJZ zh1O2i>-;_qvT1^j({x47QayJK$lN*TPEP2S=vYV%IK0;=Upx}meiU@6=y6b$6l{PY zHIM^71pxk_f{kv8#uVkpQ!+3(E@NYJH-W5MlWFPc8I^FjP3r5LrK!;`ptXQ!pqxkqDP=VkutBz%x2~)xUp8%6FHKRF1oZcT{=7jqHM~aI zM~JlB+FJ26dDI}^V;)76Sh%^)=BeBDuT+Tekeg4c(g$4=vRcAiz`Mg-AaVu+7J2*W zIvd?IoOPq?0uT?Q+(P~HZdaJgF<-qEs^37^fFjeeXESDl#dFH~#JR#VxiN(~Vl^Su zn|bPM4P;f9mq=ZCu|!&YHs|nk_jDvIU6{FvXP-4cKpLY0F^szUs&Z+lF0;sKr;ZH@ zy&Lwlpik;5^!wBx1JK1nEoP(v{H|Za@@4(aq;UtlJW*H za}GclX~eI+`l|fk2Y1Vcw>Ovpka+-D_zd9ggN}}^*gL6=X82z7Z@hlh7k zpB>~MFqg4DiJG~M_fnGf?$_C#05M2N_XldGoc)7&fPn{a;~c;TY;@s<8|kYnQHpR!I#;Wo*1(I(v1lbhV2o&?tqa z`BJSq;^aFgWb&O!8GnZc*P{|W)heaE83gla7q)IrzHh_6^93U4ailL z7Rr&sM~pR=^l6AGh+soZGQw-Bd&-Lo6+q=kQ>}hq$fw}0)l%X1?>``saAba_FYkEo z*YC=41&i@^-9uH6)Bmcds7Ug2kC_t+9R(>8byt9G3_)t)8uWf4M*<|0u9qZhCJ{9f z4Qf?M1BW0fleKm=ge(UbQ7uI=R3xEfzSPF|N@44!>rJWWB|1?k!9<>T>+_bhNpKkO zz3c^}{VBU{A{Pst%i6Q_eKnY&M$bK#YeWy!(U0}_s_n=)yd|5qY>>l84q3DnD)m&d z-Rug7LjRiRzBSn2qvIF1k_~_wPGeFSjZQy951S5CJzcD0ykX-eX;(WHJ3AZ>+h?dx zdhvx9aeE$Kz% zYp9X>>MCidYm%0hHj4&LOrDhSi4(FITjWZlyL;5q0{#AoG&MD;LiDJ@!po6P10>98 zY)2~2LT3_N+J%A=HrbF$n=uyM=mn*>1}Q1Ms-TBPuak(Z7TaS@q)PlPy0AJ1RbeG% z!-nm0-+jN5yYBjdJow;a^4e?b44~b8_m6c^7AeT>pTF;E9m@$RE31?c)YlpL(901F z8)M;`H+sp(#UKWpX5RmjqR$ych(T1X0PWEJy=J`f-1qLzDPIdQP7r(_+?oCrWS3uTj!e^OcRiV^mW=j;&8&yMwfNB>%Hro?Vkr-=mo9; z3Vp7FdIke+dToOW49vsYlf3B~mMcZupOgbHe@70#`dtNV-;!-Fd`BI3TS=pJC^4QYJ2rOaD35*H=g7{CnpmmI#Z_*CbW76;iLyyl<>W z0osH`;GFM>o@zzfdJLE)-bv05}tj{#4?{_6k zZ$jxF@Ov#Ka=0g96y5YtYpSa?hmbjh)v%tLoRUH{+JkBj(C~dF2WtiL5WoQuWy%ED z2gin~yXmmj0;G5Mr4kZr@mcTDWTZuE)Hd6(ZL75E`WYMSF~=zmPU`hGyuDuaPskju zZqIt9VtWYd%U`9oPO-E^@+?von<|pV;R90CaWhD>XxdP|G&LNwb+b^PRWcwTfui-0 zx4u$>ezgG=ut4TOG}G-fWW(U-BQ1AC^>>)Qj%tSt>Gz=1ao!OTEh@+}5{TmBBI`Fv zMp!0D!>QP>`)FrZhjc-V*4?GH?TFbW=qhv>DX7#N@i%&IO#dIc^`GAJW7)iQtMn<* z;vjW(-@bhoQNxzG|Chg%?|=XMa!l>L!UQXdr4g$IT7!(bwZ8E-sFprNK(Dk`d_xjAGJqHJ(=yFyfn?+pf9RoT=@MOm4|ViZ*0n6Hm_ zsjr(9sx+-PUQqsJBlcIP3;s#xa(i%{YS^_ZfFbSCY5_)uB!0F-B3D)iqy*l1L;eb=5USu(1-x!OnP_ zgw^n{;`NMsx4c=E>~XN@=zRVxd9)btcp^H~a3?|qs}WwDeLHtbUd~bTI&IvrUbbx9 zAhQ!=_MMZ%eNtanC;0`%5)8D+q;6KUVjyA`3bq(PBRX?TK^nQ)B}IiMMBVaobEHGB z8L!dV(`uk46RJE5j4>2a1eD*z#Dsa5P^@jyuz|eox&iT-bXR$Lx~vXuFk{BT$9un= zUUVNOA%%_}T5L$9?_n?!31AJA8sOZcqvTjCqymN&Gy#$rOSk?`t0~OoHeGY1-_lxw zc}hK;)vGnp6t~jVp};j`Ogr@FG$68VOlC z&EMpMeZ{=YYRq7~P_HpFGh-3)++6B=w#o)I829hrr^aKGt#JcsCr?YFz10j8xA9z- z%+K$RNV8=RupiKr-&>g{Ew$-+N9z&x4W2W`xkYewtpGm4x)w-Hzrnnr4hxbIBDd7rSi!n(&~EGC!z3MTv?RE>xE?YFUQ6F2&M<(Pf{^AS z@kMJT&=rt^krK%tRZx4jMY`VYy#Y+!DH(Y;U5_?!s!ygbPs{XsGxj>*?bLgxrE4N3 z$=&}=jLw=bU>6f{was69uqIkQEDLBA6%3K&99kw)Gz}BhLE9{x3004s> z@*g5;Fh&9_h%i%P(1WvyyL|3q_=sBa9Vuqt#a}EuKR02X&1M=1c4GEI_t^#3qX**haJV;&k-G9QHwF43g&;U|oFp#q59Mt>nRJ$k?4qHTwbG*%7`ShnhCExt3uNbIv4$4

dgrkr!p+j%>)gSEbH0DoUCxy1Jt5XV!N-d3ZSm)OXRgk2tzu}@j(BSAUUAX@O7XH{Km+2O&t(e45PUC26AXMv_2;G1Hj?a09GUGm-gS%Ms_Ap@nWN+$@_O{;WLq7ypaA`s3dfPsJWdk^-eh z7ioQN2N5;oZ^B_G^#MKs1ai=IqZvk#uz>ITxx7E`T%?w3Rc6ZK#nH5MB6aN0e()Dn(N>*v?$4* z{~tDi)v%TJDnyd>`kiq!1008^-kYyZ$1v&@Z)c+v^%cvZ{u~84=7ER9FgzisVq|5vl8{l7Oe|nu8`&hrseWs(atWu!7HC_Qq!M zGM}jJ)^j-rFg7vVX9QcMJaR63WM8VybQaDZvPmY#hK;mnW_s!d$M|v%+H>IS#8#tD z_O(}Dkxd&nT2=}fDfEB~D=6XmiQwU+JA7b|)YVj4S|dzz?7@IDoMdICd9FZgDWOiyTX$6LjO%MBQ^tpSq`sy?a*iAnpQq7krVs4f zEv3bUM#!*G$|h^iSDkOs7M>~gpuaLt0`=uLur+22;{$;Xsf|Rm0BfW*ItR~!gJ(#~ zl#hS>59BYu{tfxT-FI6Qj2g2C9(X{$p&*UOoIUH`{962K$Nl?%_wQ8i$0QL?SUvSi zFTP~NSENTyPE06(i(1M)!4S85`nxXZZyahwNu#Qp`+L&$*#wlxmg5<_eQq&v_G*QokMbuC0N%RSb7m-XfHcdklYm81jG_U+y+kw8E$oI7jYD^jBJ3W`m^8M|G;BM~*2 zRwdM}-+_@wx)V{_>~a4v3LuNTZ0Lvi7Z8@McmQh&1ss64KuxJ_&^`K0EQ+ji#_fCW zl;Bt)VuxhX=W;Ei*OH=a*RA&em_i2;p`f-BW5_<|=mPy00wBM>-$k_0WezY72vwpukeB~8O@&ISBszP^<3U3hELQJMnT^TM|!XZbtAQdiX&d5SQQ`#0zYF%G5A{ZIZrqM7?3oJ9qAay#DH|^7X&^s%+i5RmR6B ztq&9)<(Zk|R#&;p$-Yz9PxOa#{Bhdp(g>r1sq zZJk9uwE{byMFSz62sTSB5s}=^V{)MTu+)syNc$-@jIRzz|JBv4HCrtqtuZsT5g^%j zsb9*5E97whF)2zGN`t>dJhf`HH+H@8Ld-LAiJFF+kx2; zy<_(7{Bs=Czo~V{p_HwI7ZboccCPga)X!!*Xzqkye^66BJ$b$V=?#a1`Cq@6c5*t$ znn0jMHf-1^YuCQ5z+rIy<@5v`92$|J8sFu`1(tRfjkHTDHE00C0UN6&$wZHM6v$Ln z)k%w9Q=p;7QufG!C$a%hi+XDoOvPf+B|<){b79ck28cQq*p9km=UD&%|MW>jK~$oV zkOGP$a`eyvqhD=luD6gf-U~LXzNs#0KesxR{K3mnX&UfIU1ObsiSBD-w`0eC`TEzt zC7=A{r{#-Z{Bt>Q;F$dCSC7g|FTE)>HC{a@eICG--f8qyi^s1620Gri>*h%mB+{f~ zr3N9aKgJR^|31aw)Rhe>fGsU1&2Y0+l>@BQsMSq`=vX8eup(qYm#48om3@nO22s9% zU5t7*C35f&AKa&kWv3iEct9EyjIk-8AZJF0BroTPRFo8{qEW-jHmI;g*r4F22pgaX zgIH-%k-WWbU79&>?{15VRg{(5WmI$GXyrh^wTbaD1+S$#76Z7iY<@C{ z2M33&QD|I28qq`2-z>E?fo5AwKp{+y0;x75|uTB`Bmk3S|q z{NWGf?z``nS6+U}+8IRA*^zYb9`q^e2j>fHa!)?-nDufa#q-y{zJA|~0cl{=$~^Yi zV`>DQmt2?t&!4rq2#6Vq_VF{ zVkg_A?OZ}SFZRg5hZLN-N!$6P6poe}Kx+(@N^R3I@px$4lV*%{oHWieV_uPZ2OuMp zgj8t^IK1@e(rhD;{SBaVVsgv`GOeNRxV=tPjsGWuWoBwrrlu#=FdwzFx|JO4cPD0N zEuC&^VoYY|Q}n3M-n4PO_?nw!WT02Nbe>gL0%(rOfPz8*8v8v?PzWoI96l-ywKYi!OEB`lgSXYw!h0(Oa8x+dR21`xWtxgtl`YLnGx8O8ns4?Ha2{`U9fx#wOHqM5a|UIlLZZs^R7R8?h0`OWV{(qhfAa^5 z5T!@&8$646y`pLi;T2zvMaFlqDKjS+bGP~SK?wKBW|Ls-=jQ<9&9%a;b?y3f{$oUv z{z9s9T;DflDAo@^{zGgqLIy-6nET`3-jo_V3Jyq#G;g%dlN%ywDmYiVIub_IfC1q| zLtDMoW^7@2Qip~vX$$#v%@;^^94T-l#ZT*#(7R#Xn`;7UKhW(_E zlV(|^0O!b|gVtj!)u!u8_v6xH)qw@M5@~6+9&_3E<|cqw_7rb@fgG#bF8+>V*7J;L zm;<(;)hHbjG^qmt?4oC}CX&*NCZ_-?-?mL^YHH-_m8-_GOON1(AACqE$}8+#UJHjqYU6#| z$U@Gl4a0ZxIslzL7#kO0fivq)0)xLzg07C~{KE#w-2V|AwMN0;v~V4{*+pj8Riy!) zf-_o7Vf(fQy*6iX+PHmowS@HdBz2QVQc_$jTefVuR=2i>#(ESkKJ?JT z3Ya?WMe<{5zSrK~Cezb%GCF$V8emurAx#q2#&9?xK3_;0>(yBI2aHZVb0Z@(jY6n5)Y25(FM zWdEwBJvJZrNl{gvw6%BX;%<<8@4Zi+eDZm{|Co;bWAgm-FU!+UKQF)h<*!r`?9p+$ z4$}GtCnX$>OI2l+_!{fXDB)UBNY2KAfgVs$Mem@2`DhwOZBHU*1|xkyjHE+B8b!nd zDV>;V@Y18Ks-i-Y`m9rNB8@!;(n$5fa3Lx{4+^~Bc=E`>#)CJghBV$*=>7XU6S@(M z$+Q}FJ@Ke{J1|@`$39&Xm#{{|cpaxl1}uUxKA8SJShC{!eH{woPMnxsQDG%s#_`b+ z33(gL>$#X`dqtvSOL`O0fXtM<4?@_SNxvd;#@uFIU~HH{>?nBs7h{4=4uh2x8-R}G zx9c++9=tJ9aJ#}w-!4)kg*wOP#s(SFxtTo&Oz$XAC!&&RsIdtUsUZr( zS`0VWN}!=yq5-cNLTvtcWRD-8F$T)LFMP|0LtgvQ?@E6>BJW=P;L{v2`sU_N7@ahL ztg5QgQg$#Z=+X1)tFOruPd+KXc;Hv^!=L?J?*7HEgyKTvp#6)9_f+jP^$z6T2um3KhYr7Q}yCMp<{F5{UHLm zlLAOPkT@VsB}dGul{r`NY-3;Wd;$8jS%BFSBaY{MQ~G0;03curgyafZcjs+r0&KAtbxMSwlP8IJqRxsI?7jc`oCE;eUR zcaIUXoIiVZK{j3bHI9vq%I81-Ide$G+uP;j+(|17!d4*)_p1l)x2EO2J>5bYEY)BVjEwu%G(%0R6Ls}yTjsU;kZ!H?ebq@s8uldrK zzAXR!zyEik_XdUClarIyFnH_MZARaU2jKYZSs5B$4N86bosApSe6Xd>*db}!+@X`! z@=LP@oE{{EB%R0@0}V45i*KQ{M_$MKjwdCP>4ncj*9t+%mQ5SYlkRJ7G|*xxfTKh6 zz@*IbUGci~PWM^wG&j(-QVE=Ek^0UGX=rYinp%$nvq$BbXI``#Jfdh{{_JZme%>(yM?}anA3UCzHh-fpIyS-FvXG}hP4n1Ux1pMe2Yc6gPu$C>9f(9@}4jfHaE_#j1y z)Kq$LE#)1uD1;i$Y?8(rriO4+b*X`5w@~n62X!w&pU0jb#`9`Ai*LA=}AT}%L8 zfH0f{+!wC_Xz*tBq~hj;NuNh=nqHxegE4q2Sn`%1wY3d!;&uB@J&$YP|0({52&8GA z^aiDT4aBODc1r}AnpB(>P*d;Ou}vx=v*}l0IDcNI0D9A;0@XHOagLA%98+M{(ok-N z=&+c^r+lB%CbDP`(!wC5O#Zf5Z2vL5cSjBfyy#tUqceFvM^+;AC;;|A#>ahXy1$n3VWn zT>K*;sT{47qR}#`ov4?-O9LNDGLT!9)^l;m@5z_u+C1CSm^VB#o)-og_1x4klEzB? znK?f*=E`D1{WXLfZ>?P`(-WhrS0*f7pC}d48yNcDe(NpOE$Ot!`7s@}o~ zTggG)XDAewveGi$vn#~sZ!v(u`XU>qPJtLL1F9;^uSqHymrk__(AR*<%xjOwqWZb8 zIZZR~3&GjRye9Gx^+T?rW7M82(XqmtfLXQx&LSg)66z{Y$(N}99iOd~&Ka-tPDNyJ z%$>NSlRlNY)*$R)2_1JvlKho%$TYYNLD9J`8O_6-? zW}DdUihwcbyBFy_LpqqHDdFo*DtI?Va+(6VJ*$_uMP>^=e$FhUD?bpR(R*rKNRN zht}6Ormqj%-_97uEY}32WyMc&4~3uGZv(Nuk6Z(3 z(Awf%qdpApA33ru-X>Z5+H1yqM0z6M2g4!bpBdp?Oo-mG2#nE6$Ni>joEM%8pcwBZ z9%>lU@ID9YbW>@MS(@WYj=2*jtOo^*q|^gpfVutdN`;h|sLmyt=&okOXi))l0I&hU zech%^(jcuQ9W|IASLUmEh$3F|{9|OWHlP=F{odOY16QitSbIdOJo?Po7~S&2T_xkb zk_x2xY?~UjY^XGCkEn6$tIX5!uC>DIe z41^HHJALl7y!-2$J+ak?Uy?U|`d{Sfum5v-@%#U$?0e-qa{kPT`FB_Mz}pTeBO8K< z6vP~)P+-^{Je;Fo>={cb{KG%|Bl*4G`#t%y&woLF^pkt##g|`^y$26UaczT?2iv4L z)+xE|eG0^eZUAN3Qro2)TmP^T8qCeksu897w>@2-$JnJ*PX&BF+eeP%9F`y7bGJP8 z^y3n2X)z`<(y*R?_8Ix}FML71_r32KML*GnQ>V{LA{G%(MVk7a=mz>B)A6=aVZES} z_zoO7tZQ=&l^!(~NK###>t>DN3~AK&=raZB5?1b|7zy~Qqs=o$wALtwEm1KWH^7;zoVE<96P=MBcy2BOV{B01}9HVnO*TOoFyp?9; zp}zoTICR+a0qaXe&D;b!ep+d4-0-%M<&dERVMlFMnT!tgNjMagZCf@AOtd2dJ*wBz z5q8)E0UE4}l^&y`qxL+HAD@+}>Ei~{`2Rjwnp5et?WwW;8wC3KY=VtpJ%0jbN(E~p zILDm#=GO^(4J8i^#fQWn$T4btCn9!}98a?}0?z1-7FJN~Z#-stxTUE;!mULL&O$P* zU@&t|W()R1hw6CNlLKVv#R^Htp@aJsRI2{gb4p9g)s{ITKDBMA`)pSue6X+Uno~1d zY!B7Fi^v&7W7s$tz<^$KB+tPu#nCxQh#S216~3jYKtZ&h6c^ zN51u~Z^^UIKCAyfX4ywX?7}TX=vPLB^pPweIxol+0&r0pk^QW(N60qAxrfsXr=FET z#DZpjWS^fYyl-uNEHHHId(BcpiBfBe0>R$i`5AWoICti(+TsDl0}mR&U&G|Y3qT?G zfBSF$O+N97Ps#fA8x6GK9F*nD;#b`@}eP*1weTIR?fP-GUOMw8j3u&tFX6qrgas4{WXO4zL=J6nmPDH4$ zGhs$A-%qpdp&?bKll>M=3tx2yUMrE{m8f_|z2aBnqoSf-7yJwIqaXduQa@>U4IMuW zkfBiAqKuC|`n34{t=Gm8%Klia!+;uT0oe~8A&M1Kl#bViu|PSck_j0f?zdEkYmqbs zX^a8hsc^t+=?>I{?b@;3n#c~R(L0!o&FAkb=uyLKIY14=nox9e*->LWbGt@_G$p{9 zzZ%+VQc%*~CH`&=1#IJ4$$>%2oT3hh2+B&lp-YL8(EuhEm~X2oj4=&LNxfpuMpO}z zZVG6@VL|#S1_dCLC=p~B^k%{XL?nqQ*Kz^%N`y6)RPY?q-#3r5J+pMTe?a-Li{~;^ z?7q4>EV{twA@DGOu0W3{6#$fo1|T!sP+>|Hzy{#9M(p}q&Zdo$=9%E-C0zut4^ZvH zgW8qQxt-AKtFv{S{Va_fM3p$~U2ETbL!Ny6G22*4_k{o_`+Rjvh+ZryxO&CZyf1Q`A1H}2lpE0-_Gg|l;V{`9O|P;hqX0`&>YPjgzyVT4aQ2iC1y zXM`S~`OIgG@*Z-cAN}a3W;{@1b~qEsF{gT+e_bg?N!;jd84dTeFMnELt%=LsCN_3ne%i5casn}Cvwg=CJ><5f- zdZy+aJz^~gjujo14!tjk;H+NRjPIM*oCD4PW?|AF72r|h4mlBN*pEH(u>7|_{$ts{ zf4`-FFLazcch*2PK#df3oXC)ikk$xLBcg`QOcns|O;1kgeRN4Ys^h88nSJUb#>UkX z$2mqxN47Hz9ZWd{&NudJz!~!=yC!iVp`8W2*C>&2`|Z^b<~1aHIB^`D?ZcYR-;eDWy;22aQnk3TI1`33VINgtOkU6GlYQ#XLGrKGQKQrg?Q z6`0jYZH*$@P()Ixlo``*gX1PV06h12J>&C>Hl0#ZW1de-{p*O|wDX>)^$RRE4Uf z*&mSR=7<_C0Zac}zkaKMGFTp|)k`LO<@?|Nk*r<2S-jquji*z~S5Z-;%CO#2i?Sa+ zo?y~(0C5fo#%Loy-T`UHb@L#Vl$_pO+qa9asXa5L}2J~R4=Vuc#Y%}}H+ zhm_JTHdh553$a$+j_|DesXfFSrN0MYB$CZDb0Q9Ss|>I$5ZNX=4|`SSeNnSS9gxw~ zlWL@3-Ki_$`Lj6#*4X4Z&n+Tr>7GelPkyh^=pL4`#`-!Vo{1^QPwMB0q_dW9_^i%p z92BF2{R+%lEfRKM|2{Rc%B;51VL9XexUWcKl>{5A#n)IX-Ugkos=%R{XCuCN@q)bj zu6w%D@v&~%`skl5DRFQ9{3lj;s3QOM)hlxT%qdHu8q)hAwWdvtk-FMidHIDGS(LO}gdT*(0!HLT_Z{>e z20+?5^1%Qze%H-I%)OaM-O0Rgbl6G+`vV__tnl2h2QGKlAPdkZ3o9fC~ zSaJ>@w2T&N%i`3o>YnOQx-a)2O5RUeS3K>Ab%gz%UbZ-}7Ms^@!hJE{0cU}l0twfb zOWfahEhW_NJ0`8eWs*2iCG96F(%@`X_o1Nz350W{rCDvL<_d{=t8DMbh^D_FX~{U{ znptl;X4!SbZo)oC9e9hbS3oo%6LJ=-Ne<{<((0C$Jp3)2T|rRIX-43AwT=+Pi6gE>ul^vWk0W=jTS*0 zHf)e@ee;`^K2B5)0NtHR>hp&5C~EqTv2`2skL1?HaDdun)Fx9laf9uHKGZox%^9{4 zdV3|h8IXsq$G*W@cl-U-kVI5%-4?$Avh3P4$g^^DkIBxRJ7mq*zV~RWQVkkU`tOJ>y!3#2??(fP-~j-NNuQ5LZNmws(NMDu0slxzazi=<-_vO zLysGANFvdrfGtOU^rL&^;K97>V>>V<;nsu#-zp=@a04QY4WZyv`}JC~6El-iRFE$v zMTM4<)UU=Un@DAOnH1*bS!2lJf;=hEu^7_{53z{zeJE-?5~On6G|qZ1jDh3`GtPL; ztgt>qF=5aUKE^5KNlpOQ@``_h2=Bg{rWe*mbsI2=9!?4K+IcbDNQ$h z|1Ag`9-A_$Ohk4w?|(IyhGez<78_Xk1AFL_XXA8akjhjE$h*3bhhsaSE#@u;06oiK zV$A$b&U60XO^Aq%^mSUXJSlUe!&FsPTAe~=S*gtdo42~rXU;`PYDk}}L_{+8}DU*YV`A@9i z(BHmv{+#r8!B*R4RL%%A_7t>}dXsnTn2kp;;8z18Ccd_W6t#9qL3^*{QCGIiNZC?S zkQx?$?}$ad0ca;@XDr={XYACP`s>O}_cL}J7)pS5kEdC3^Nz`u&6}*A!`tk!_niZy zGu9lC$bOHMf3-vkKAtZ{pDq;7GpawT-PbmA2fA&Zq4jX8E3tjTh<0=iTFSegLxhZI z?qc%{=YU1u)EG}20z*39DRcG_DS6-0pBE6oVW(aT&as#p)B`Z{>e}rd>ynn?7OC#9 zmFj_7X_)qicP=2|GcoDB+~W#j{F-)I6{l^^Nb*8YGTyZ0MVIK3Lbv5 zgg(hU&^<)Z67hC>-kEa(AcKS1jW}%~AtQnPjlP218_cQc?1i*#fzEHKFO+1eNqWa( z(mfKE_U<}qiR4K*QYx(hU61;E?DMvsSo^Abow`n<&NxKK_<(Ub`h;L9aUzyJpI3fy-+l7T(@z=U$NBRYZir-L z9$X7{5zh>EYoZ=}A3Ap3+O@K6>sBLg0W_1sibIl`GfGZA0%vztm}{ojbsgfQ&YlO$ zjhwj&;I18KvFZx9-(C&r!v0a4qb(Y_sc#|~G0fkmpL|@_{NyJ;k%qbk3)SM$!Ak&f z$Wu=}t*@OlI#PRG<7=9Qdd)L z8{D8Seo|W6RN;hF!L*?e2$Sk&+&$eRiBlcYenubO+1n8PeEf7$eDQz;gE32A+`fIc zJo@P4a`7X2*O10x~N2zqi9Sbr*R)VZ9)zceQXK;tdr zUp$VGpU?}&nS09-JY-I@P(sPf5$9TNSGWhp0KyFC{#Q#V=;nFF@y_ceoB6vuOB=KK z-vuNhmR6PZJ*y$kGbKupjQA}*5n&y5#iKV|n3k zSUpLhq{m+$(OZ{uZWf(05V;KYS(8@!<$@`a))gGq*oTVSQ5ni1A1iFWDNhHAa0T zb#uK$Zbo(Q9q~!!K#kN6H%P}^rwp9c&z>9kJ1YZch9o{2mzJc?jfjGYC7!z@>|y9G z&IcewR2PO-s4wbQ9og5Jvii#Es!ACf88ntf`n*CcL5=j(_^29-y;e?vt|7u!Szc-m zQl2MHm8pqwtB=Z@`%4L_!M5(R_5ti901o9KZugTZ&b{II!;!{%F>sNstJU6OtpEV| zejG!9Q**p2xp<74=O|v$33uJhim#kb^YqYO| zHQm8l{0kmq{%%*%n4>AYG1}SHK0|!}oQZy7k^^ z)U<`Kwo3cCr1Z?Bq&*pymX@F~JHGzF!YT+r!7#8%j51Y29;HoZ6<}3)e%G48|pYB}5K| zYHT&z*iVh8e`^qsroTgvwMpps$3|pqc))tP@E+c3yoEHqC31l*mAg;+8Q0jA(v7pe z%+lR5qbRo{+z;u6L|B&c1g=!*&jclGn{NK@zpI;_zUR!t)fT>&jT5qi_He+ScUZ@d zv_r;^=jy9CChht>-BJ(nbP`3yx#3(R=>{<3!Irj|M-dM-=|@Dom~U?9EF>toq3#YD z?Nz|00tj2b_I0ZRfoh+W8@##HC^C-JtDzL@t1Hq?QI8xp7Nt#_Hri{nI3RT?8VQ>> z_TpY^dE)im=>;a9WG?tc@8k_K+{^_5}6Hh!LyLazZJ=|ohldSQ~0|P4=Y?YR64N~~u z3Z&o<3#9Om3#9(ON@>mYSk#l}$~q@%<`57;GD9?Nv9(X?JoRJ?k;^zjx;N2)u0+(< zh}+oSSxM_#ej6tU1~DxGhy-%aM7JIKan|h4wjFY0I8Q=nW3CaUzw2_euTUzRa%^vM zd)|ocr~2GUspdSgaoA58-&E+v2;5j-mxTOY+3@yyX{@c3<_0z1w{Nw^%di1@z0Fck zP@sEtjT}07P!8CbH4BzH8s{VRqvxu=k2wc zw2b@XJ#@1XEmapR#1?r^J1XZfnGxh?$vr~aoTXU`2A365DM4_EE z$ooVuSxYeZW=6uC{RevjavsK;-+-)((g^;>NxD!L3!hJeyOcy!clYYQ@GQ953)s5r z*S~H23rl4~p!=PAfPyhK2^Y>-*m~0>?G?-urW@tgN#WU>bS) z>8Iq&U;dIQ9k&oLllJ)W6EZY(9i(-2jVa)0lOk0{H8r&geB#$UyKXmstHMI&fut$O zp~6lZhZtdrXwYsn`!ievQ67{EMq645#jI`u8hUE42-W+m(u#o%j|YNM;q|aSBory% z(>d2Au}kf)AZ#&-D6pdrAaSNc2FC_vcqFYiaORr74X~@$2{TTmTyw zW)#+AKw(JZeXFjllviJU#iAU2x&X!odMu(>S6M1=y!x`$&+Og1$7+fo!RYPjRYUo- z)Eka`?br>lH|`Io}QWLsQA2YuA8N zVnWv+l+@7{pCnqNW=!ENrN0f)9%o}-Y7_q;4-AD?YAw{jTh3erq*Zne-4T#h*)=Tj z!7({LHX#>^j>@H@d*xItWGRqDWYGmMU=kUlK>x10?y`-Ddm#0Zf_=t2d%rPnVyZ); zmCe%pbd6Mgv(#$RA_p6!t*KUmwT0Gd!3=1~p5{{-9sPate7P>nZ}eMO^`+bUj&L67 z#?<=2fa^B4cTxuXdn}rc&L-uY#@Ogo0K~QXRADb<4IOAbB>uUO48Hq!r`~KO0!XX& z71%S)PTfWrQ}(n_eR0~ZP~D4z4CfrWBwIhjm^h-(2>s#nG>ErRzgNM=_)xD*j}6J_ zK%W7%hWdI5>wZrpic$j@B}r8^mdDnZOiWD7&-&#ZtQ80>04168h1$@m$q7r3$9YA& z5z@Pdd(vb+tPgCV4h2l;O&nW9xtK@n{iJ2`nNi)Fi6C6NSA8G5D|^33_#6EXFvC$| z^RxBlbU)Toq@mQJV?;i1qfWVR(v^t&&Gi0*gM~Sgk zh&(&L(XZ={^|@5Eg1O2%q;|o)uP)~-CI-m5l2&U9p$_x5Khp zOMc27Xx)yKbPh{P--t{rC_5KumP?0r%9(ILrl+QD9ow@F2CP>Q&9Z;`)1S`Y#o`Ak zV0h14{a$IW_DJAJg)|*15N}bw=@}dc%vX$O)`{D^T}+r4=(1l(A@6xBYFRX`2r@OE}p)?*>lAaM|WeB zpj(-*IKSFknqAMwAx`!JHZjg=Y+SeBzg=NX`8;*{n?rJCKAQw*z^RjS(x`Ux8oUIA z<9F}gZIiO1qFhRfi)HPbZz^E>x#jLwR8(018s}gF&rF|^Xf!U(&0Y!k1Jd5sZjqWh zT}(Z!0FZ~lK&M(&Nm?Q5;=jrJkRTA@AsWJFhd~H{A=L^+)rkHB}X|W6Ne4(Z$7PS5;OlWyOUOZVBjy(_>LFQc{l|J+dT7!KK zXQ$Ppr2Ad0%y?T!Faj|MDX_-4&m5cE6_f#a{Ar^x{X1Mc&xN^8ONeyd_3fov;y?kM zQDbJ~!*kU6kFiUd3BQMP!tMS^kKsAHr3$fD0GI$iyq|bJxmK>5d9_qTlg}CzzY0yG zoygZxk~WYMHeWWZdsB@LHLBHscAh!UjPLeTh=E4dg4?ssl)<54Y40DF!aD%ciu6016{Jm! zjmar}=4aHNnkq;upIH=MNzglZ< zjq`;1MI3={V`fA_0O6oVf{}WuYpay1&T6UYsgtV7I;kC~ljcym!8y(VxA7+mMP$mN zQ>v4C6}&C zc2bMc)Ap}|GsYzy0b4rSfIh}yhLOyC?@$od77iGw#c}SOXTPO;66fLQan=d@7vPNa zX_zqyCg9+rPAoq!Po8?}DS7$jm*wsCZ^@&NJZugjT0Uhu-}?IcjQRGz|H+?7AP}&! z9u6G5ur$8$#v3xLV+jBx+o?l;&uY%v)fQ3PiHJ?tJgLe@^5Kv)6SLaU`dl*gsw0$g zKzxVI1FLv?|4H6`p#*U^(bl6k;}yao@BbC6>T zQ_WLPJ}LM9>}T?eU)(1TKm3S1_Sj=mQ&V$8&A|Ed7bO~rs)7kxft%Y6-YJ1J0Cp_^ zo7?+tLNtlO-w+ByH(U&D9*(g*Ewa%&6!a)^0O8O`zjV#IN7JY|i(PD&C0Q{(1!`N>c2 zv7Ty9G>ue9Uvo&R%GKD2wMb9KwHwF`QaTBVrnSd(15+SKJsQ;MyA-%h z^rac$*c=LUqo}W~laY}zOLqihLr1zCkoNAo@5%VsM7psxX|5L0TX}S5ApyX!K@pL3 z^YGoOaE}zK;y3^VrK3`iZUn4m4Q1i>x#bAoO+*5Uf1VrBGnnmo_GWbGxU(sevckQ= zyveh;`QD+W#ko=JYOJtHGu{-7TZ)RVPd4IEL)yT}K0j0VJ-`{wPf6Xyc*Y2KyN*m@ zZc(gVke4gv3hs?jQs*Q zu4(SXNfSUQ^ER%)nJD@A=&&S{NqO~^S1fbm(MKP(^!g_rf84y@Z>n*GvFU&`Jm6fr zr!F1gXor=Lh}jZzV!2{$eT`|hS-1Byg|&gh3t``2a|fh3ttp5MWRLk`0yqcQb;Vna zxj3#s4?T?6mhUH`ywc{%06C22iuMu-%&C5L0VyBJn3RrIOKDJbjDj?rjp0C@)C5bU zF`0gu#=d8B5tQ5vUoU0zH{=}47Sx0YL$fEjcyW4{vV)aMj#u9M;;yQR6QNt!%f ziN@Mxa&l(b>z{*j&!0PQsl>esWTq!4jkKh!ME7FVb(7-?YI-}ZZy~xATL*_$eQmAe z964wWxIOiCGC9<55x%kEe%ZQZvt_%~RFq4v?nnI{v9t{YnAN$DUZ&=g`ZO9{Ujwd7 ztV#A4zJu|@R$%=^e2r42whv_xW00$KW~5j08679~L)I1%LhMX3wYs`G1;P}-8Q=>6 zTz%y){zC1epI9GR?3f}2sz3YL&nyU$X}j__WG~eF+;`u7vTxr$DOO-hkm9vhUzNwz z-klmxH|HmH6#EAq)~0(2y2r`V_((oj;aOmFV0W6`p=&ui<)c)1aT98R?rOeOUcc`w0Fo<)ofwHe-H3UZ-b^x}wv;R5AnvmWko&<7u3FAJl z8|P1c{A0_-ednDkI-xJg(@#Am>({Thnu5#&HXUdp@k(dk*oRR_DWgc1ylEn2%i8Sq z91L^vQVG2iP3oWMm*nZxHA;TKS@cqy(e!uCE&y2d;WJ?XdgT`Ia{puhMIL$jld@&k&t%7*C**5i|G%ZREoA^L znH-Qvq(l6^h*XqUTYoWH4P;(F$`J#Ho@yu?u7#)?MnO=3ij#Rw#}kFUkcZI`sLxS!MAGn_C4v|sVKuDtW$*4?Mrr~Jl((rta*yUn zLtUdxOdMB(c1{<`@ThNB3m$cMfG{nWV}`9o<+-a{Il;5kc1*z=y{qa zRX1sz7TNEyo>*6w!>wx#U{4ef!w~|R^lvV_=J-6|iik--zk_J6rFOZTYm$iC=1wZz z9-Tu(f2mQksEdwaTS!4=NDYkkHdC}`PM^7{AIY6Q_&w5?PMtiJuF>jD851Q!%8b*D zJE2N?dN?Il&YhCqytni<68VEVx;3hXP0!8xml{++6T;uTMl`KP!4$OlZeZ(ngu1k$ z;SrfVenNrT37J!XHaj(Kzt8-$b|$@D=AGWQZJXS4&pq>`%-^&DNsU;A&2J)LORakVE4mZCVT`UA4o&G+ z0q7{mmFzdNetRW?t}kdgA`KHBSAgZy8Z)BV)#oZFR(i8?8b7l}7i zDc)#}g!;l#GFT-AL*>$V+$X8aH%1{zk*x2iQ&5pEk8m6JrNpr{y6GDj@K|3)oRQVl z^%4lhB-J&fd)+CydUa*`DP4LpCdt-_OpK0*&*!%uw={n4)^!Jo5{%fSUP4xqY-^Q0 zJ9p~qUTX>sNShiRl789~MOy5&G6gKy&J#DF=kQ5PU*s^7d@d{+7Hj>`%X=;|Qf9-4X?QeZset7o}!C(3l=T}Fqb~^Ew#4X%@%ZFecwG!Ml=BMFjc7Qt2azO$IeA z3FTvW;+1z8WT-KN41^}v{M$9Fz-i1KtXec`K9a$P%;w%uxmEJ=9+b^HJ}0lO|1a{y z%l}Fqdj22FFP{2;%e{~P4=QWs<$sW$KmPxeUp@0b%TurYmOSy&f0RwTzA8uapOu|^ z-cTj?wj4TmSQ3d|sVFT`W8p@FhI_D-O`W8jItlGLsX#(OFDX1!3jqNP?Qm12<(yOR zhO)(z);SMWtu{lA4LoYRm-)My!ZlD}O_A-k&6^~Q(pAMb+}mk+@jJF|(FN9N^Q%cW zjp8ER5CRcZwkKt5Y}O3y<$^TlAP=AR0`W+?Cduu(ZdEL0qn2n|)SfM4VRescbTLP6 zH5HQQz`eS?w<59cNk5;s0s(3t0MgW~ut~z?wU99g0HyYflmIt{#^-pC2Gnlf!McKc z#IJLL!fz+?K(v(&ezAH5NBCY0Xiv$JMZv$ZJNEY)fd>8lW+%tgAPGxLL#6l{YAihk zB9Qm{_|31=Ot~0PCr->-4>M}uXqcaHX~NvmQX{d7ZIUc}N~S|)a^>WVqOhBp$+8cA zBNmNVs$}*YfIwh&d`yn3kcP->fVBGVp*xcDSl+1{+2Dw!#m`QR%E|s7IiVZgg#P|u zU!M^$;hb_(y3!ysO*IScF4M=HyP-b8c6>r&^?Nq*RXdPzlZqVpDlngB4-eAQNKiABvKHIbdPImqdmst zwXB%2u@iFY^vW7r6QRF&@v^n!!3jX0(1Qo|%chMRGrban>@nSeFgOA%4KaQ=+MA~6ZJq|@YRLB*c#ZA_;& zyX|owfwT`!m=~6@sFa(4# zPqlR7YpXe~}vwIb3JTaPu-i82YaHY$2MZC&$O)YJhv$2(WA$YYN_D$hRq ztfi`C9z@wl9RmE|#df=~50&WPlizHOD0MSi?7`V4tVkW@#AN77kluDZ97>%TY>mA$ zFgErZW8*^XLr{AYv0@U`l)Wwc4u0Q&*<&yM(+n`SGWppfe_y`$)Bj2Ceen0>SpF92 z=^0aSQ!M@_1>MmbClU8z>4<<#eOBpfOH(^9G$9cPS?F^_8V=vl8xL7@!+ONB;$7x#+XpFDeJ}>*|ue~^(V0uK3zeLDb0(2U zso^$fAPtJ*W5;q<1k%VM$9ooTt~Xll#h&%82y9ds+<;WZC{V2+L>Dk1h=}X$M8IxW zh`{lzeUJ1g=P4{_?NFf3 z_c8V;K~Kq{1-~;}0R6B6QU~XjLYtO|QSVO<_sftf>b6io{GLX08qFya(ES;FK$V^8@xVL!mD-wS3f0NK-e@`M${3Dque@ot(9-sfl zg%1o4E1d7Sk=zF*Peki{X`Y;Is*&Tm&Wznv-wXAoi9Xzb*6j%28R;8Vz%?nSb?#lv z-7jbBDr|q?n#_ydSZ&!CTsKA)_0Avr*vI5w{i}av0xf@KMU{bD=K#c|677=00aD|a z#z(59NhPwsQ9AXt%&}ZdNK;`hK_Lz!B-s?PrYZ$VUURy*eP$`)d9uccGN2<#H+P-^ zg6^l^W7LNMP-y41`)iFn0Rz^l33mJLTNQI4HIztAv{0H)s^RVeIzG(u$NT?p`TxH1 z&*gu4?O({ZOMl>c&g}}!m+=cJiJgl}-_=3szp94ad!w%BBD~i$)+8k@M{WPJmJyF`r#@-fV3hYj zEbsEbV!@d5A0dD@3>vz{-S|q=}^1--Ctkd1J}fk zmq>KHTsQD8YmWNL%P(0c_F%woP5&so{MNU=r3?L-rIF!%5){`F;z`nbGFjw5ML5f2I*iT>@TBl${%>MySuNb3S&UfffCBUBG4AICZLLyc*BS|0H1p)#2`d19U(*_YLp|?BOK0rr zOj+$4brdNz+G%Y-0sKN^-5sfu#L-_!@R9$A1Rq>u(z);Za%vzv|K$rG7$($d^mO%D zjhplQ0c6yJT_`v#7s_&FPK^q#jk>htKsxH>2DENRh|V?k4C{IwlT(Q{{oOn{=c%*n z;F%8ZA*^B49?wvCIv8F(D!rQvHaIp(X;I z32igvB58KU8vC1d!de8B-|lZNCFr1vK(15{SKS0S2HqK#wzCN-*Z16{Y`9VihRUSr zxL-Oi_1^UPJ1vhiKP|t#^}oo+_Iy%akF9q-XElTt5#Ep)O08ZtIUH2K{X*QSv%fHRZS z#}l)&y6&ds@&~Ewk=!5)6}H_zmT1udsM=B>VMot?HQ&X2jQUY%0qN^XS`7h|?eAyg?5Y|JFhtVxkRCm-GbMD~QRJO%dVhKk zR==Uwn|W`U(jD_iBJWWNJ^l}`fwaM+56JnE)cmh3d~mNAW!+ufW}rFGACNXPeOyi} za6Qu=mbu{pbENTJ|In~hb-4qr+Y##AYPv^c81j(O5jowJl2dw3$7g2kdOBKlJ~r2z z&cLzv`OkmefZ2)JUY$bf`sbpU;nyA1e|EvDBpb>O|!=kl~*VO2eo}yxk4rjZ{iaOQD4NL(u{V>-6gX z`^4WDl=@-6RF5}F)kK3d&#K{i<^2I{n^QaGmkp1|o3V}Jn^PU?a!%w-n{4aYEkCaQ zxol7EmFU@a*Yj3W0CZeWPItZ#AtjZHz0NWebgj1qed4XJk)YROc0)&^Lt?QG17}@b zBQh{Bt$SNonwwP*Ci+|f8iHeTZtk2#$5wIxUSK+Om=9q$?(R$}Ks#!{D-_T@Fx(ao!ewi zuxGIDSaY^6bbloB$R5JyVR;Vvnq~XeEpqJ0A*rjXlp}`@$;&UjBtB1*^rVtjvpG64 ze2o+Y0E+&2{`u$S+u#1S?A*E2-gDFQrVq!**0XgAFl;zk^>p&c4-;1 zTBKwwWME*mdO$5D7|%V)R@=O(eZkYi#s&h%8%o*=xv48LvN@M}HR$Pi$f@~Mukx~& z_lWx$cz)|ew@R-0}6<^In=x`XfmEKSYk{Ey-gC0 zsBz!fqu^^yH>7FXltxES=-io8V^cS&fiX2EXI0Ujkm2Fu_Wsb&aee=koIZ8dl=eyv zNDD}ph*OuPhLm&tD-{3&#un^@+!p|p&Bwr}OUesCpA<+og6#2JZDGxjItr1CHM`c= zcpl7OqI^87?E3~Z;OT_?W1*-P_e=dD_v!XNa~p65nGDg1wAbq9^D>3&AgY0aTMn>8 zI2RzuSYzx`(-R9ct5Jj#B`#yCuK;K7*8zAqd*-awN}<1qn)&K0B^LDC8h{AI?LHO~ zi}=*#&n z&Eh+u#`wi9i^jPDncI=xD+5wH*&siu{e|3B_9NNVbwK*w8FW3jaHLE=eeloZe|qJg z$!89IUW!J`UC&!B;W}E+C8TV;S`Ky}Rh>JS-cuT@#9LP(jWuMjluAKfzEoFLOKS|q z)zNFf%aOV|1<780M!gd^z2^vyNov!qA@d5NX&f-eb|ezEeqfDk_INByr9Bpr{;q`8 zmyHkh$iz^ej12Z$4LiLesX@y>mSc5k)cMlHdTgLaqPiXddD9aLQacrxBqBG>H2@fE z&&on{Ut~Ry-N4+(35f1yp8=$e>2CwZit=-%v@lO4-w2;xPyog?<8UH!o*gZNVez4d z9+Xdh@>BAwUp**WHgDE(8eA}{wrkfe`Nc1OAuqrDie-S2y7})M=l|W#zf)pV9X@4;_TA`aSD1J_!dHsLC2B7YLE}gmvz;Xj$w<3HO-^q77zw`LZ z|4Mf6f52$HZ@5mKV8(cpY%?nMs9t9u#qRn%GS5SpjI=F)JcPbIL|%I4NgtS)c#7$N z#X_M53ZogiTog6njPyn(ThP;B9BmbHe!aH#A9bOQY2OtU_vjRw~VJRZ6rPmeo2n1k=oO z)P3PpV6%1`=i3#48D3g*=<&M^rB;h-q&VjAxOts@P{P`+sXZ!(z5AuIo*seJ&DGlV zcSgOc&(x@{ExHzIBwEeCj34WnJ&g2tm^s^fTBW?FQVP1uq;{&w>ba=vasxECDx_dO zQ1giVuWNrx{>PX9ncQ3Vfc=i!xrh3X$-mw7yYdfT`lt3U|L=C*?FjeRaj8q%&v!`h zR79#r>m|3dQ1TN65^ry_G{U;dGASu2P@AYkii^voyu3zgYnv2^sa}Ysq`Q0MhCQsN zCY}12`I?)s7oIXl0}Iy@xdU{IPH>&5SFwg@{>bee2q-z0QzVje@b&>Bid zCPJZ4wyva6`H!f+1LQfq-_Y9_sH_9#3TqFi2>+j{)A^fy6Q?GQ z1M1PRmDs0nW)rm|a|<2>Y(nf#x8us?OBNXT@sID3{QN@s%2&Q3n>KB<{$<#m8~|E} zjvwdjlTSWjZ9X6jflqWc);llM^C(Ah?ahRH%Ht!cgv7&I(+~( z1)`$^J?1&2co|QkbB};J^D^tbru#E71~+>Xvjyc(bcvK0fN|!WS*h5w(@oNecskFA zjgHhRo+ZzR%`&dz?y!%t)_CSL;Ux;?wjq%YiBYytqycaWkmI{E(+wTzPezRhgE`XL zoTlVwljrqp$*gH`m?oDpY8ij1p7B^W*H=p{644EKOo7SDz04~;_VH%1H&vm4gG{+%6N zzd`hU($`t{)McCVXWnsHs6ef5+M@tw^_pcv-a*so|FrdE@;|@w|C7J};y;!jl;0yQ zCnK)sdu9XjtH#IVU#|Zx`FY)gMw{<;-bw|65Yifn>Jc$4ovf5Y-Fb2(l`GAi&AN}Y zON+Nr3iFQ{`(d?$u1F-Qd)sx#V?5qt5wnVl8cT2N>$@H`tE+30Kp<+VkIrig$;|OH za%F{d{2a$;^z*tuoS2@JxtU3s93Qs`IyE~Tx<+t#86~;S3jkY>0?=g=6aYmY?`zxFP^s_Q2aH`YD!ZQ1q zxgF0u^NjUUJbCh@we0xM|M@=~(MfA8W)U@Xreo`nBHh%~C`S$-mSi$vb!~%vT@uu1 z7xOnQxZf>TJ_2d)uaI>^Rs?g$iEhzbGNkr4Kxw&kXUi4zJvJ4YXqg#kjxfjA%Y2Z; zkrA}O+`m<^HKsZ{5cbQ3ix+MLX|1!x66&l`gQVNi7iltDSdc3tBg3{3@OTnN{_0o1 zVjfW^RmC{~YSgXaeaj3@I)WF46bqOR@!+xHV*Im#P-7DFHQW+dx>aGYX>N<~x7#@j z3E&KJ01DzU67b$yL`IcbUf~<^tEd0jHNf=nD{JJn-R=NuHHF{cx2^-Ve<{^@67*+!8=O>Oh4WkYT% zK6EXG#d&Wa)hfp)MrB5Y9y~n#7I_kJxVq{a#}lOHpSUX^}$*_E~?QwQs&5 z`}XXTL25H~-7i|Vv4oH&39}S+B$*is%Q@zB!&Lvk_ifLzdPA=MI)X3hqj zbgDa>`~i!mZP~mm+}u^`X>g`zEl1~@hrejNxEg^Osl*YdtJ69 zcT4D0tLu3y6{z;BrW#~__c6)oEtHmVodbiN;#d7!TAXJof#v0u;thqRvuoG@7<*eL z=;H6bzDc9kZ))^OW25KVdp>W-q@!ct+G`65871e=T@onvS8|a4Ohb5_8%}z2T87N9 zrB5b%J5jG|j#mX>2Etq%ki4FLPw!ccMx1Nd5tKDhZx2(dfwZj8Il?@`VcAStynY@% z+Nn0iiP;%>=juCVGZHOW%IWs{>#xhtfBs7;E32}G)xY<9zh^-0?z`_+{ZXmUq2K!Z z{_Lkem7bm+%P@f9l7N7(sZQea^{A_{W(l9rv>B?*KSI`2PIExAqwAe_OrZufB{mkEcbNY zYxiLkGn`Y2d9P}*T{D}uQyA;>m&+s1|8LiT645OPKiojooe+L2Gotpy%fBVHWxMP; zA#T8eaE-HDexe9cQS7ad7axfTzr7!&+i(@hq>mSx{xx-Dwd|jIGS;Ls)Y}(ukI2 zM@lo#p{{^A0~_ivSyl?cIG%HgDP}M-Lwo z$aMNraWe?`Ez)2}x5}(d;~t1yM!XHu;%hdl=E(^NLC)ERey5{ncw?!5pub);9F~x$ z-lBLgG$wS7Tl7_*K~k@aIuBn{z13F~7UWq(jg;BUvEyFH`nwFE0#xZAHZ?jR!`(?U zd`5K~VLRhJ!0h<&fP$3{^Zc&lxX>Pz)A|g~D@eQg>XUM5&qg_;bNlj+_43ZkkICgj zJLOzghk-OwfuQ2|^tc19+mSq#nl9Ck!wSsxd7o>jk_+Vp7Qq9gF&{~XPbm;Rt-xzk zuLaudl#Vy+l9cGS)^-JFHyUlQb#`^Mi?_Pi^e%H|Df;tU6~3ED9czM21B}r&p1&IE zytk0k>Tj!{W5|#o@-onqQr$EtZT;<1HBc)xGYzg_XQe^|>-DW$kQ7YvSl<=h=!09)-UlfF$Bq~s@Eg+g zYr2sGdnt}u z(HfDQ!w03Tq*xb5QkohYWbdvWl5Exc?Mxa-%RPEnjp>nVo<%pYdNdtNHZH(XG7`}F zbA5rcxZOY-uUR3i&Y@Q7u6*@Y+lK-mD#x>l>3oaoYexC+5*c%%cL46p?}Ze=sYl8F z3>z+Kk9>djdkAwIYFd9~zNG*R*=DZe(@-xZ#f9?P%P&euH%roGNDB>l8^znyU_E&_ zXUC512823t5ua(tI*M0SsC*;!3^>RwT|9pLgT!e;Sjm@(|^*IjbgckhyCo_W@cFfuuu1Bc*{ zj(4z8_Xah%oH1SvvH2bKnJ&iwWi42mpRQl#JH%35YUpvE+voo-2nIb7Md~!jh8Y|h zkkDXQs>kakcqY1NkFn(lKrDKuU5bY*WP8UhdEEbu{Ic#LxxeONd7%CgSsU3P#Uqu{ zey+o6#mYvjto9211+smTMIExyX$8h=@}T8p1x6;n>(|j zXd1fm#obmrHrm@M1Dy%o8(U0z z)^D-rhwQGCj@&5_7b*^)#KlR=ghv3LmYxUGUuFilqt+H$8qTP9k(UAhQdMr%^(el zPLxWdw?U2Ve)BHB^wNvg$^8f4|DJ5ww88qL{qh(0S;+axC!aJ$ka?V%qqkM3c{1V{ zUriNhK(oX^0(fBK3OC}l>vkoyct3^vGJ0(_N@1XcWrpUAf$AbtR?c+~cD2hucT#fm z*2?`)|D$W*==sg=AnN@Pe%rZ@Up@0bD#&=t#upHgHjc|xkp}g(fB`kDC!1Hk2vIWn z3UO{`lm(?13p9zhv0fT#8>FGWQJOsgRhA06GV<@UrKe|Hnw!J2apPurYu!3ktP0pW z`d!bxQKl8lO-Ortr$l0HGBiA5hWm04qPm9M{Tb8WB3V|`_+D#~O)&n41Ps|NJmJ$qzoeDnryBf_Qyn6f%F9WT)v?HKpN?OTqEPaCVzZ< z#A-N7i;JYHyu>0%nctUo7}QF0MZQJgsK>%cz(dAn{_eXgOKV-pfg|bMxpP*(!MGE( zjQE=*&{Qiy&-^p2$W435GOigJqK=V*Vx2EAIvzWG!1^H(Ndv?==k@D(6)}ONQ?CkOXVG?ODpPB zAT}^;5wa7ra|X~5(kzW_H6FKnq_14P-v3YU`H6YLzpDU^J!Z?6Ek?CXD-P$Lq355T zoX}@PgY*`ir>eK?--YMvqN3{t{RRNTp~8A|qQyLW*4BrK1muI3wEpp#{(($_Xj<<` zuLMSdQZ!bvWHacMO6&QA6pfV0tD!gLJ4HW`|GMpu z2Loxy(}5QydRBFZ%Xcj%L+_4C;!KC^_U(~I)_)+VdsIN0n*2KdLPnpzQb%H@5Iu{x z_egP3vC;7J8W|?kr8U%hq(uQ+TU)oJQiE34#yJVyN5kQ`_<~^x26g`!7+Q4gyB(MG z{IQW?W82QoN`i2K{hJ6`b7O<q@N*L-#q%y{vL{u@`jNcSPqm{-cooPE$E4VK13hYroZl0I-=;e6tL zhkHAuLk;S9u=$RFGeg~4DDM~1?DcrvIR)sWr9N#p#X70Pyr$NLANgQ@pwmr5Q(i-%-gES;MQ6?=> zube(TXZgU8g*^J`BbL5IQ$!+b_uO-j6c!d5^I7Kc-n;LpF)$>NfC2(f)v^~1H_4!o z^W2?K1>;uNHZWihC;N3r7)WZQNJ}E3mmQ{Du24S#dmctL#ioQ+&1+OwqDqP0P}etc zXl)@vdEt#exCV@%#=jFJAG^io3F+PL;YU>CQo`H%lf5%v+efQ8_{st)jeEo_YFddHSg*<>-;4#(?E^t|NFJ z+0TJ~O{=23OkXdz`ZXA`NCTN38?rRM{rmRXoOGf=fGE-qG3pp6e^s6V832#VZ#{8*kfhOv(E@sbR{-5wYOhq^VvY!hEDar`%Bq4Z;zug#(h)|KXY7syMq7-RU z?};Ir?d@~~1;@3M3bRn!Bk3$qjI#!a5Lt?z%G>MSG>|r`ij}p?IrOPwP0*jGyrfVS zZO|H(I^Si^f{5SNmA|1{qM;UB*JsbJyg$%N4h#iqov4wbrk3A@2q2^Ymb3*xqeH6; zNTcTBCLo|2$xu(qm}p6jJ-C0jZrX7(dK_jn1fmp6Yt&~jHrQtoSiIK73dl-Iie+|c zLiX?7BV|Pe_I+^$ZuAer7)pD>JEXd@QrB6T95}Fl(K@xOmoFJJ+o&2>$EPNZm;=Hb z`X(LMdp&t#R_2aRD`+}lK#BR5QXtiE2kO$0NZ+uGj!(*o8U1Yqo2SOcjahA6f4ei8 zkYsyI=5!4|aQ_3cZta_@JCc%48EJ9GM^QS`@~0@7NboA!Zv zi5+W{RFgiR_KfGVfbdM6^-8)unF1J>f$9Q_EKuX-u-AShH;WnLs^dE2YDmpHfMNq} zlGCdI7n0J75-BP!lg38Bw6=9Ex{s|?h`=4o$(7E|>%>`rF#uX= zd6m>R&>J+Y{~xn@wYu5{DJ?3r6w83G*;1=n&nr2|emZ^XjJ2^yJL|6RHGnpv^&@?q zs(*ILfxWw>R)HG(8~ZEHC)n%qjvbXfyLO7#(_|oRzc64+Z6YfHcjVnE9-}ClcZ^`D(o9+LJqM;M1*`bXSpprfDmK`@MkdHvx>I!=$ zHSUy540I(Fcy(Ai2%^4ZtEAeAuIc-|UHZHyZU2U`6o(^D=&m;E>#J0^t9`qOJ$oxc z5QEfr$nfal=d7bliHCeP_sBSM`;OZY=JSFeEjCjk;XXCCCP%I@@38n!&Yh6rqI~)M z=RPOJ#l@B?M4>kfTx_P!L9sVcg!a(#(o+Br7GCsJN>j;EBTL8}6u=jo1Ju_TSZ+X# z2S(mC>0Op9s)j0HEBm~~gzv==Cl!f^M0x|Sxwe4=SO94l9U6_P0Z(roT3qOZ<}|c^TmN=FN53cYJU8JQxE8MImrwmYRsI`n5@V=foGiso z#`6H2Hdp3LOLL=?6cw9S(A%ufNip6s+(Mk#N+*vNc7*7vrjaP)Q|OVt(UcL zylMjri}LE2znj{zCj-Ux-0 zlaE19%?5@H;|o|J)sdPq027flLh_{Zl5T3P3o`1)90Aa^TWavlwSast&JGj?jUCw# ziB4ypgWyeS52UH{nWqLA^*0xzs0Entn|{5I#UcoJONp)$fgoy>4bm7FqEE~%QcCwJ z2m$Z{fVuwkxV0$IYm^pGgV9)1Lmag%AI<%P>bHL0yKz87^Cbc zKi3*=gsqil=D9uwi8Qgy*igSkS&tk(B(bo9T0OtdIp+pZ!?CBsSkeHt@o32AGIaB# zfAV*Z&PAL70l#0~UjLRweu?m*a{(;v?QKhfG>);cF>7R-J*SAs&FRK=Vq{Qe6|_w$ zSYmVQ9UK;4uRF-PUGXUR>l@YI937L>3TDsy8fA7Grnxcc=}cL~czSwPzVn^$NM(76 z8kBRE&h*!R{nwVt0%27SY4mze9Hd9#2n@CO#QS!gRQy$`HMB1Mf`Y6!>!n-A_2#ip z3;PQ7Yi!_b*|Q~UmTRy$xdl#^+`!pnUt1RStN@+$Ju{YQ)1Cx^M9gtwCRqAW& zt)E%Wkt0%)pCg{~T+6n=aTQmPM!O?yuaz9=55O4p*KRft>DIe;Y_klJ6H^m1Gd^nB z5a|D?+HBNtqq});LP6fTH{Y~6ZT88`dC}9Jo*OY=g9JSF#_l~cJ$-{MxEcrjcjrTo?AZ>NTNNE(HQR_Xb^J+l%%1F>B9<|F7v9JNQ zvB7TLZ@bM7<1-T@>6$e52E>`qkf{;PS}I#_rQ+CKkm&&!-Ec==XP4^6bTju`)vpVR ze&2#14FRYHBTc#>CM`O4=F~~^j{n~8{k|^l3TcbQ%;WjUBaayCBeiLy5^=Dx!r;>u z3D`#IdI9soMj7>_H&B}6Li>v`>hvi{=Tf)ZYed=F6}eug8cz!bIE|BuXkc9Nz=%o= z_Ak^9z(w={^!Id{VQs8;)(7FndIbK4_0X%==|l*bYKkPkyEbW1kC9o4l6RF*|!w zrlw|PRE@cbiQ{to_!$FhoR^IENW3j+3{`-c!LFoUPsGNahO1qvq|LGA9?V73BKSUx zVcJQMKEdDHw{4ZFF*RmKhori)+|tre{AFdOQlXnvPls+g<0JOo-rc(lu!S1SjU~$f zkj@q6K_-hD*V(SGrvX4+dJgFt;B|m6p8;@Yr}J7Gk=`3~d?B!e^TDqmh{)JNo*O9l ziIn2-a3Vu)=Vc1l)l_`g3|BT?w{uvhq=V5H%nhV*4!?ylSXEx8iMj%XT09z?v{K-TRF zAgy;~Tu!LbccCgxW&-devWJ5WnVFuDXP$ma_NmbYK~-gCrTpbz{-vcl!rJEXcy4G` z%lZw4f>L%@sT6!X-#}W?rwgsAb+^8rJ?;q4Fy^7zbgr(~9E5k6piA0~YP{SRINN1ZGf;uNj;rpjTl^jYi|r({r;81jyO3eY@V#QK%tfSMR4>OU$~y7%qcxkE|{3+5yK zg=u@NhrM`yPN=XSv$Q_^wpA& zK-%pK`yx((iIHC2S5p!ThNRhQ*&D5-gLKE?zD^r!;{ecS%-V>zMs*(uSp7K8fYIS} z`aT>OkPcG1Pq>{ zr#~&f|N9@8Kl$uuJoVJ9k%oAEpa550))NMADNzHy$7*{(_Gr_$fqCgVCurpE>>6)yX_o$uzFF-SXGo8_?=|LHX_1h8@gOb@=iM*irt zYvkjfN&ovtf8s88Kd?sL+@Fq^{p^V~^825d|4ha?|Lwo8kxzYojePN&`kPNJ%pl3N zIM?;?^Z!JeYKm29MSnxsqc*&0ZEI$MZBJ7 zGxBqe9@ghDEQ9(?xIWmLQthpBYHn^>#{JndXY}``3=rUX0ifmQ9@WJjQHfdff}Smd zJt;Y?#xMr>umXGXpEqoH+bGznmCDb}vD6S4uOJm*-ZBp?;^neI@H)o(O%X9Q4y|{L zf}M0a?~Oo>R9(^;(=~!OdxiMURD_)Sg~68-86(2CSOhIoxK02G!1IRaQI@p%YRuT> z95;|g)CeHEY2yZ~bD$3&H4x@y#S^OlfxcrH;CEs(caBRJFI)3wj0cL#0cQ}hz&6&^ z9+8&j1_}ND+4~PT$?ogE7aYHR-u>))KYsh3?bVal>m=K<*OG%wOO{0CNKq6;5+ndo zOke;(5P`@!hZzhozyO2EIj7D!S6Axl3SHHqI_I1w2Vek_XV3TCzCG17x6=fYl2!Pe zPh%?Fx^?gWf6n=x@H+vYIzru6W|93nxwdXkCij^hv*ErjBguJh;|AHWZL{R(9G8-U zTq(>sCIh;Du3>ka6QY2W)+tuKl()GO> zkVclUs{_)Wg&A6E_fM&=gqHte;R%`6J>Zr+GSjRu-R}vsZbZu3`=zCCP$mZZ<+NV! z%lo#@gEWF^R74Cw1QHHg4_Z@GleD#^<^A`!$UASpEp>Hu)|Z&MzX99y*i<}FYT(R3 z+VAH|#dnIYf;7`zRAZDGC;?=i!Vtonqx zYVlY~+FM&}*mQ#e9LO#x4=3ABhO4_ht@={+zrM%VSar|f!>s1P-eJ!)rqJEnV>u|^fiuI<|_i23IFH>8TbTL_cXv1Tp6m>3P!8xhyU z_?Y$4@_n}=;0EBNuMM!;)EKfrGrpQzx#G26Z>9VlNV|UNZi(AmzLEY8BL;!bfq+Cx z?`u-QS)c9!S_gX7-|JRii+fC<+gdHu_h?i9FA}V`aY>Afg2|Kh%pOTa9A@6d0^Bzu z_)!GNQ@ZZ>uFSoJ(4IxfBRbaW^EV<(gESQ*5lPp{$moD6lt&+VSk|sxC)>7dljFxv z*ygRRfj(K0X0%Z*T{tg4o^!r_^rIiDlYCkdM2iwvBbP)mT>=YexJeV@xB?v96T{Hp z41-{adb@KyI0j{Ul!d`g7OQ_h-t$z?3T7vl5Fo>3WJv zq#-87MJ2LP4McZmmpap`_*>{ft1^Nb`g8_+)sZHf)*Q28+01+CQKPjIC!fBSfZs2b zm6cLiRwlV8Pa0DYnT(E>CMhq2)FIbqq2=f1O0*$lppbRJ8Ysxil^g|jMfrIW_SZ?D zDj6KX<+8(z3G0`&L;Ad3zdySag?|GYQ3#${&J`FXGop?4mhB^Ruvlg+Q}_(~k4!e@ zk&98BqW}SbkO83}GeMdSu2utW!4%&QX<Zh;5)qD_h{aY7($1Ydr@y7|nvzEX6Vv^Da<;Wu&Zx{zPR*BzwD#Vbd1;01gOcnW zG*AYC$=T+lfi$;|fP2%dYXTtFs^?4J-1PK}>YK0;{E$h^9_USl2Blk(z4cP_XqlAX zRV>v%D3!>bYH4K_psraeD4a?P?iuX64m;}2E`j-36H4*f?+JBcu%%RjBpUu=Mubn#@_IU^5#Unxv$(T!O){f|*veTTQA9 zo7MgVZQ))2OGY)aRu9DsC-Ob6{C@D5O_ z46)D624@`ZhadmY^dM`OHV1m*88KrFuPd;Fw@UsFq+Or%cci2rke_bWH5Rp&1N=@S z-ebItURT~jl}@KVPgaZ;3j}@M8m%|K3z9K-1?bnDo}8GsXW#)6IwWdt`ufo0VNbv! z?Wx3qy@b%(MdcaQegMmx`Tc8>GiuO0z*(j+JFR1&NsVWZ)f_{C>N-Qr5qaZ{wespK zFUzKPHySwu(H~ctP^L06JR~Vaz@+qXaIMi4gQ`CW5SE$AaRsA5<39Z&nb`mgjMMa8 za18-NIu*C!az-1kpC>y22mypSS&OR|m5q-9gNOmZM;QprRXN9w$cdweZ2l4HS0f-H z(w+g*5Y8D#n&Tflc=tRAdTRZ(K*^PFJh(>wAOFua@`r!1Mjn23jXb_?jXd$jwerfA zHP*WZ==%KE*2w?zzc^qm^Zk&5Jow@o`Li#rk^keLtdT$dOQ%fI>w7sT_xyJ5`@Vv( z61$FEAEu^5IUcB~lsW}QHB}BN@Ze05A##C!ca7=Q$@5&DxBs!hvF+vbW6gG?)#$ z)uCeGJEgzYGkBd2CRsR~RfPFwUhnY|oIIHB0Fqv>BW?f%z(M&lgcy|cS1a5p zAiLTkpJZ~FowyoC&ecAMv=Yg6*&3T-jnd$+mB#ui3*4ZzseMnW15~IE5iE;DsuQa0 z`_=hjy?KE&evg%RRu|YkCDPrUR%fd@r3RwOge)uMEZkeJOG*_vWu^dG8kzxdo8N!m z`qx;;Nj*1YdScv|9?9G?{vj3)sB?B$N=r&4t{`nve+wXHr6A4Gvm=&m%G7h{V(Uwr zV_8JFC%o3#Hz2`V(3h5*9<)-*kr4%H{Eoo^nd$41>7hZH(%;R1dCD!hZ=5%ow0-;b z$s6m|sSa5y>({Th{uAEgK6vl2I)%-_h{TT9Nq9$vg!Yw4w7S>=2JTvC{j%@aZ`t?r zZcWaaw673_tTY3uRbo;0`IvFpR$ zTLRKnD$w$$&vrD z)NdN>*S$PFZF~1tWX{OQQEdTjKR#VN>^BDBOtQA0ru-d9TZO3KjNgWT(A(J}>6Rvm zHL8CTsI!20x3M{@K2h81`ga72!3b2Vx%xaau+)Yg(_>H}!~g9qi# zJ8qZX`mIk|6FAPuU)_196crU&Jv0wC@s$rROS7U+(vg6&P-UJGQn2ZkGp0C47$lrd zfD}j;mZ?DLNo)M?QV``{B+`)03c3JsmQB-RJM&$9s)U@Zn>oVz8R*er+oMm0^2#0s z2hhqh(+TE38WhKe`z?CzeO~Hx#{%LnIU#Sp``hy%=;h7cKnZa{8o+D)-m86Q*}{AI zn+ejs`^2^HhdkurSJucs|JQ5eKmF<&d1k}4--&Qe?)km>{+~#BNtwg~wble)Q<5(w z1$k0hTqS%h9eq>5jWk4Q(>>0V|o(JWrCts2;eBq07#~pV{byYwr^|gl|eq6r% z<*!L1(P_~{D=X=8N*_5cz>n{U$68eBHyS`An?>ejYIIn}^?El1oNNV6%?&}n^@0(- zh1#8K-xd!`JQ6atI=2UMr4LFoFj{e46RZ;$_!v;l&|ymTSYs##nBT~TP{PJ*WJ;Ld zk-ZKw#a$C*ucCFu))UF_X|hjbb#ag=7h-Op+t=Z)TchZ2NeVUo%%=;Lot*EX@%pai zgmWQ~5YY8Wf80tlf9xB+7ZA2s#2qCHh@(uQzbmZ@Sb>WIUh5H1U_wbFVBq3~ORK&= zt9cM=F`|78eRZWv*F;)>GuN3?QCD!9M~4RF$l*iQ+j02dehd6Sw-0g1nVD(J#F0HK zFD_Imu-*@%)sQ2Rd4wIUtFue!jm&1y^?FQBP8bWCyRHz77g6(B=*(k-;Kg2i{q@)7i?`h-fAv>? zrTXJxV-o(t7rr1lIXUyco1h;hTB%rr0$|-os<$aO4^h&n_P`AJBH7=+4Z?nAKN7Gs zhDsvF{%VQVI{}~8c!TtHUt8AZ3eS`MNa!9VfZ+8VO9|0obeTI=gkvUp6LO*__oo8T z_|C3Nz0!87U7E&I5=@7r(qAQI6;S0j#H8z2)G(-U)+EPZ=G}%l@}|XX(N9DE4x}wF^pVjbK!O9`X}GUl z(#>(3O&g+IQS}u`k)hsp-2((ko!~cm4!?_vp1Ar-oLuO}YOy;v`x^9v% zU@O48-fE|%go-|!pPGo-{>jw0{R-UL)qYbYWz|-Co?gdTt*q%j8&nWha1AKSmgsPi zqQYlKd%O?$)YVpW;&X5BkLybY;T`u9$o2!2p!GXjcNec$T&SXAe2P`P9WT% z1Q%L*uY2w#=0NE&2s%Wn3hfv;kT{RNfnm- z#mYMsv~&M5pT_`TKv3F{3{hH29~8O@odWQi(C;L=Mqgth4sl7`22*ptY0f`2HLl;^ zVdXCg&QceCV?g1P?v*kYztNzVnVe`NR_nL`xL3 zUHy$OzWAbSQCkA58xL#<4r)AHFaFXTTh~@Gk#SG{Hj3#MT~Fu()*6lr!5?fO8QAPH zwrt^gQ$>P90b^Q&f?G0zK;ft1f>0J zmxKo*Ql|E|ptwk?s_LYvNgci{8+I!Na0Uqofk-lToI}pZJPXG7s>`hWDf>E(4|MB& zi(B^W$ie-pleSy62&G%;mXtk5=8Z}Z0z&(D@07iJ_ENrHf!@b4+bq#2D9E*CT^n zmKgCO?ZUQNpi}*O{3>vOn{>&1A6Z~*9+@<3oZD+nFbba^pXWw=Coe%4V|Rk8gX3z? z7^v;;DTDwPfq2e6vwiDEWKI9MxU|evNYipaZCahZUNsDYI0o;-Sq9)i%@0V!>7p#jC1x1xYPG(Z_3PHD^4w~SYg@K#mfh;q(T6lT z*u6MV)8F#Q^Z#%j1bOv^xdKR|zYG$PZ#}d|?tW~c0L17mdv*J@Anj}St&x|vI3`A7d`jr{JPIc1Vw-^+2_^LzBAe`K@A$b2CDd%qk#azgI8=U(~x*S{rS`qJ%k_ucnek6Iv*kmsL!O@84Q{;hoSlfNz7 zHt&>ZBq@yzO;VI!Vwr?!*l+ds^aq_hc36Bhl?Kk}4eIadmTh_uo_ykQS^Mfs^4cpe z$zzW`Dy1dG2HLFjRIfYbhz;S8IeM#k;OuqlMq;Qn5l)>ZyQ_h>54bEzK=kH z1rQ97Dfm=picAybys*mgJ%BR+S!O^1Nrv=&3UZu=SJw8`y}|iJ^>`eA!FR4g04tQ_ zt|oeJrM&vRWRSdGM`;oy@s}Kvx{4wjY)$%~u^VJZRvYPE&4c4p21t-7+0}v@~qs*Pm`um$U$=bEA%L%oCJU7zcV}qq% zd-W9sXFC+Y?Gy$$@87@Q`gs9alr3I3e|~O9tn7jQ090oVx1Jswk(tSHnVp%kLGe(a zkMyhK+?uc~1z>zgonCYbfzVq=3i7d>KkNK9=DIO6k)Bk}vs-~>sKOzsLhoi@%b%9~ z9Y|YTs4lTV)ap}H^#EIAFi>ax_dGw`r@CuCDC!*;MW{rforr3fNKK*oQOB&RXdXN0 zdZ2=Zz-L24*le6z#!o9#M=ECc!K;<(Mg?0>@PMFIM|0eC@x0De|BehF0r%^zg36XP zL+6vydsZ*X?DD;7WYZEIe(RSgFE5uTo_tbDN=s#CW>)fY3*?Xg_>bk+e)ZSn@ZrN& zf|UKBj=8NRB~1#JyiUe0e2f`q#TF5_!M|!8aGVjl;B%W5M~Up3HR>fB7xeZJHENCq z?LvXb>Fm6S=Pf~<&cSnkW{V4uyxz_0~;br!uNtKhIo)fllub$O`*XT1-Jm{jOm zJFsuBl{mr(#C3-)ls+EH7paY3&4Z{5Gghc|_ZKUOs;@9Zz?#YgNy`b5ZTh#!pr8<1 z)B$1xli_6((;q@sguq00YTT6;E8nV^D<52Fh*}zb29~0b-()<$8sV561If%TEhT)$ z_7)jMJumlpoI9MxNL_`I>Hu{6`+CfQz>wd{>>2%s=p8b30JNrT^Dj%`~d_vCTQUiEdfN}{nrwr+l35>ZD7WPT=7&=cqj06iI; zP}x=1K+{VGt`~74h!lFs{ObTSb-Xk53&(6!!^WCf%>!Zq3sSXS4O$^&&8B<06mh@j4lJ4nl33rC2GE^xw0o6aTgfzEw+k7)JSwBf|#`iTgHcM$~wUm`rO28jb z@Y5vC>MsNpP&j3`-s_V9BPH#=nrg{AanyVfvS&vRAGCqeJ!!}jQr4@MQb5(3jN5Av ziBO&hc!@<-mrczq$U3j&LGOzfPMjzhWh7XSpYw}l`pOwz&OC%5ir$n9llK2IK zx}JxIbv*-=6azHYmR(m+YB|BygGD$tK+O>Pa346+ zlpNCZ=VdIom>3ja(NQbwpusu20guu&BVSM_vPqq@wnW5~U8do}kZ|FG>P!)VBuhav zADbPJfU=7QYn{!nH=SOmRs{r5(8e2?(a@#9q0a~RXvPQz8h}4#sNT9Mv z7k1b-DuxIqskb+5Fz^L~VrfyK84>!=sD&p30U(1laA=@UcBmrabzb^rr3DvCY6g(Y?&y?+T7BfR#WGC5-@P*e`E3YoO^9Jtif%5S4`VH+HtSsm@$^ zX%hfvd~8CR;%XG<936y=+=S}HvkGo5@7O43+FIv98bht?ItJvV2hh3^$!T*)NpJ*b zb)C$rgMSL9$J3`J5)R8}KJyuQ_uY5pz4zXgyYIeR?!5C(o3;7igFldazxO@){O3O} z>(;H4v;xY^2bl!QLw}Yc>o+RcH1;U#3|mDYq(#>q6(Km)HnLy|V1~WxRlS%_MkT2> zlf8-^1?*++53lcDO3(qE6LU*5N8Utxqf$9oBcW4`GWyZPH8S$im?z*`Ool!lUGRDS z-Fv=YIw!iMYotqh2D_!HJ0VHE7A-AZ3ucaG%HZI%jE$c*fuPFkJvS<}0Mz-y7C2;t z1g#O4`O$ksuQU$jV!<$UOmm{qM%(0{JSH>a!!kWKWIzlXh#xaGIw-RfW5)i<{IQ%9 z$Bjg5e8?dVfw+zPec{6DvT5j1%E6Kf05jJP6%dRmiK|c6rcST1@XpSzh?Hxk57>MG zWWhi{LZPrsjE=~to=b}Y+lU{#;t<49;Y4N0Ri{^-ZPnGRKVC;idR^C_wEP`NyDE$% zVqFi=L)qCZj7lPd7HbSyaH&UMqx2sk80mG4#e~2T)pG17>@a>%GFYkl(y_bfG^@A^ z)=RWe!M(2C(K)*Y&PX>WY(H8h(k-wT=AS8$Y*GKQSM3`aHAYgvIl%W4u<;tBv|3p+ z(OW0e!Q(PCsYYQ|9iN#(Pk`o1e4Mkm3<7@c z+2^bwyrZLIZmT*EGHmo)KoOjMGB`aLg_`_Bc2lxnCu>E$r!hF{=R07P%Sbh53bmrp zwT7#lj2Rac9HA@{ z(vasiu8}wPI6Z1!--%>q(jI*F|7OuZ*XWS>3WZV%unx<^4?iUv-+5mhqdo}+<5E%K zmxBjR$V)H2Cg1wjcWpl2i4#TEe|GP^57^M^wXeS^Kls6;a^!G#EVtVVG`zDY${i2`NZ2W5Ws#m6KXP>`p_l4dz_5c<;%CGd7KBJ5AZiLGb7`pqc$(7G3b|ux+=?t zb1fW(y6D2FoSt*E*2x;;oM!$W)(y11C90cBONykfrdrqE2`Mkr`_tfG-~jOd+-vH} zQNkP#FdkC?MMQTs+1BL*oriT=j$rvw63}FvGIBGkf!c_$yHG01-5QP>N*u54hXvl^BEhd zvt6Kplk6qg4KwXeiJCJF4T1}XWMm;btD=r+Zt&Inq8Tg zn3Q3%X}WH(6|o@v6bl*RZ>F?1GM1!5Qi?U2V_|7jKhGhux_KGAH8YVsx%}31GTE-+ zWvWh^XG=Z7*#em^kk6CqNj(moJ!x%=QoKL*+ z|DFdy04y({gt#E>^Iu&f>lIjK6M-Nb0b2^HvO(J2k2}YPEM#8hKED(&MEIP0eviKR zkEOJ_1 z3)3Ydtrx4U6)j{L)nZM0F4s*Hyftf&JwSs~}d2lSR*E5Cv!03Q@phkj~ z#lrAN*ukczrY*vHs~+eGz!`lI=nNc)=B9)ifhHRg3F8yWuTKp?XLDRS)tT+Z7|^FU z7p0@TfQTExo=iuHX62#2ZkuyPO&gxw_e~*$!m*Mf$_=HT3 zjp=hvqjgVTzZ9l#K7j}`*t!P*Y11-0J}T#RZ(o=kRiJjpvTMvl%QZS}S|Q`{lj*_vO^-^Ky6I{jw)GTS6mHuR1~X z5lqj+z3no8Z&sW$&Jya`$(>ExUK_QsaA09k5GA&5zL@ z8XU0FC6pP)%1VmVFa*o<)Yy2lvhbWSr$p5GRp-jx#ES_EsJ%I<4xR(9_&mxIhnh4x zDN1fIH=VTYsDgt*MdJwtkYsZPd%9$FpvNv0rIP?PYGhFueBS+@SKt0G^B@S;MlYa* zEC6Xx@GHmylwBh(NK{be{7%?sCF8x##!Lv;V@t)wXTBWZmnpNlkS??)t{J z<#&JQ_vP)kug*7%MqB0XyT2!oKKhijw-1TmACo`&qd$?)fBuVd>{x;IwRI_wgLoty zic4`pfepfLiDrOnz1}#vFxN4ohXzo3lqJgfokrcf6;tP^@@|Z>QSgQaA$R}XM+O>VF z&Ab`x=`bQ1h%`_f+2@I*R7sekXuft3BI}gE1Hiy*b90>lX+)5&*9o(%qZ&Y{;ulj^ zyr*5AUmU+sU8M~+ZEJ2fid#3xaw{H0Zpm&E=%M@uLJ<1S_G2UcH92OCk3;&o=v==UrG_x))fXMM zf7@DI&uz5s>mQJc&LJyN^a5MgD0Kk-m7fkK0-P~fCsiv0!7#%>)BR7fPM1%uImwJjW*c&XGRqnmcIU8 z>FVz?IofqnB4=VU^3k}oo@$rf&HLp3(nlqBMuGFGHrbijD|Z*(FOO9{Ewfin$%ulo zfy=`(cwtzE&JWA*1qE!E#$@2bA?dl?FRAesiFd`NrlnSXZQE~2d8$IXhx=t)c&|KG z`iz8n!v@^Ho9}?Mj?p0*9iNfm$q5;r88I1~o|37VGcvC0taoBWMyF{&rZtd z?3j$rj@$c&riW!@3~;70G$q3d_<4RrWnf}VM#ceu(+fbEmk`9Ptqn>rpf;gx;eCVL zitLa@((OL`4V-bmppyq^pi`zthvm%Fgb9@*ut-zNpZ)wmrvfSk-{=c66o7QHU{ox@ z(72ihKdsIUJwCJ;iF*4B*bOLK0>kplcouZWm(Cc2; zmN@fqE2Jgt`>6x9|M@_gLul2lei5xdqeI=&rywmB3E3>+pugTSX`_Q(#^{Lu^$dL}5TndP%-@u>odH2Y+1Y)mTEkz%e5 ztd0-~T)K48GG_Gtq|@z^ms_lx^|Ty6c0?Y0-~rjXb*sL1Rs#MSsVh7twfTpP9gh+V z%N8v0137WZf=HLUH(@Ekz|j{($r(2Z2Z`Ee%B5&7B!cNgxauv-!xVl7PO=#3o#K4R zoWU~5;vlt)qNHBh{f@1BZkq=|FK+S%N{CAw@>_qhM!x&_T=}AhJo@??c|$=QL?AZ< zq;XE}`F;P9|0qBAbN{E@amSaXtgKe=&wy;)xJ|zHwQtJv&%ZWrhyZC{{_a8v$v>$^yS`dl_1bzdTG_Y+b*Net^uof&rh=@) zS9r)kFU~X(H3lxj&PRFQN`MIOVZ8vjLv>XK`d9OS=?Wr=BL@%2vBQUify89bI5y6F zUst=l^Y#W=t3Z}g%c0&bNh{!|i5rUL-p;fUp3o~W(%WIi#iyH;jFqk7?DN&<=w~7= zo>|J_N{0fGM9Aman?@v-XicE(#0@DL7wpaNGxs&!Z)EH!{{?6V>T4Bzw;7NHoZam5 zm&^yo97o-#^kY$JN$NdNhqW;rl(#p$CC@zbjP;HUbhX;r!f||a{Tr%NawI=5R}LT8 zZ%y~(LwyT=C(bYZeDlB2WX{;I&k_B9BDy$G+&e%Mx&Y_O9Dy5Dw3&j^rmV-lOV>VZ zdl(!XY)^%*&yj(qUt~2801e>B1-b6}vc9z8VYyIQB$xMXl`{FzT4A#zIJkJv z8NiH61RN8b0V|ExW1$0Y)EUSWjzy-Yu|}OA)zJjkx>WB4yBcI)`lw0cnS}IQQJt3s z(wb-6Way(&8ToKb^1F)Uvqx@|$l16|UzwG>u0naR{9*ar(J#tfdEb_b&Pqx3rlg{- zQVNTUq_Ht7$^N8#a>pM^bw`c7UbkMJt9VJuTB~GI!Pl$;E;p0bH$5sXgDvt}`D^mI z179-P8s0ALV;#~w+9DexTjY3ig-ofxvA%wzd?)`txwq&cx$W?mdJnq zK<$4vkVZyqpr>7i`#T+So4Ivq_9@k5{jg-#T$}23jFkv}4rCj~wym}p5Jqw(^F8P& z2t^=jqY43ksIjhG>Z{8nf&ZZUf(jf081A0LS4%38A_$v#teYhS%K&F2dzQm5D-q^> z643Wo6pFv5Qr5K0mJ1Az!xx%O2F@p>GKD@h zqU~<;Jf$J@v2hX2Sn79C5=GR@Wr74O*u_O*w#4;Z=*g)uK!}2�HWFuO7Jk;+N(@ z(39)Dff51(<3IU7*T}#54{PLCeq)V%;*;L;sV_SHYJjvmzOzRDxBq>O-1qGDgEY>` zJ--)TxlL}n?TadRNFvdp_hMW^!Gt{i*wdCJqeqQMAw#D(Z{B6)jL_?^Ten_Bb6mZQd^QMb;T#t(OtYT9dZ?-7|fEw!C*lH637a1&)JwPY``}l2IID9?YVvj zuW?U;3RsLa~hC`K$8OXTx0008YN=uB`psu>g zN->kF1m1c3Z5ucYBOuvam?{BjcK)gatgLa7^QVlC2q8c}bNvANd5+RtKvZ^Q+;N^1 z#43 zyXSu=>&d+r+?UL2V6W?QtU<~dgXJe3@T~u4J!WULZd5oI^bTv4@3Z+=k{w0zK!GJrw76GKew0I^Nmy7ww0zuU+0f{#@8Ym}-vT4&MdHwaZ z_L}>^ru3+8PbkRrx@JF%LiGSTkRVi3NP)TTbuwp0r9Wq*vIU*c(UP(NBf67ygYI+I z=pw-WI>gZ}eg%*8QWV*6Y|6N6o604>wNMIsOT{-CkmLmgiYfp!DEGZU+At-JA5BQj zpik~D`o84!=1XimA+P)2ly@SVq;|k3hZ2Y7&-Z>_Lfv6$@9dG5R<+f=Ba#|O%O`jK zq1;n&zkKcFw`5ynmkf=M%J8t075mN{NJ|X2$;o7{JXHLcL%qt zjLQo(ugJc{L76-=Bj43yeXsaIsp_efy6$>;vHDfn;M*)MLuoyaWAbRhGjiOYFO^MI z@?`mQvbS-+H1$9|zkD{0N|Ng8dSiFYo>kY9h$t|tQ=O*!TLHGi?AvGHivB)8Huur% zes~Fbf|d;k)hGkxSOj74xhM_)S$U8-qf&}8WvU?>biYSn-&LCh%W*Ukmc6@oNeexW zo!&%ENLu}|CIz~2^}Aeui)+WIC0I)d%un&>q zw*bBTJ?W%n*a#|keSRgv`UaGcsPPvcmjpfM3eM<1BcPFO!%4Id6z6%?00FDQyd1?6 zb?PgGjRBSNegwN``$f;0lHqL7w^Fexoc=Bu8&sRx-8%pLP_IL7M|tO9Z=3y_=V`AP z>`BYSaG#L_(c(j3!T|2vXS0RhguV~emP>=bPLlDMOpXrAn&fP;be{GbP@8J2kg1k3 z85pXSmg!1QV3sMd@j_|p^4liLra>o*77B%|Yz6i%oUMX_0)c@AM*?F@|3p(FX1zMg zp--ZQWLqc+V-U4v-Wmf7lp`CNL3TKL)P{3o$XXzlF;iy=L)WYd6oVP5fte*J%}gk- zuhfO%)RL0T!KhLjZRe&SZ!u$vB$_JbLC}NGIsIZ@VCkth*T`q?SR;RayNdqh|Gng| z?_DEncRI&;=w*k&@ws=rkGY(149>|tzrvzJvSGtU`Q#^mM=C277hVa26LI6URAWdw+SKWrxpwTsQjb%!Gy0n< z<>U!f3`DinaFP)uGk5&RA&Xk>*s_B+>klW)am1R`@c3=55h0{J6q1i?6qAAnKnK@yH3mLY>>BH5 zVJSrUHL4+O@Yfi-A(393`->MY8aRU@86b7DALt1JH+}ls)9PfT5^)LDluD@5aYR`k zodinMxd9ljTesFg8vTgrM5C0K6w036yQROY-I&m-E6a@BhceWD$Y17Wub}i*gBpy0a!%5FlEinBmZM1ZfQ4#d+9l#yKF!>t3JB7W&f2K%YB%LG|Uz zKpJ|LY*RuNJPf;;dTL~7P-fL|ooQF+PK_7CvdxI;YpuNwZN3-Sx?VY{Qrqnihd{r7 zvAbO^4E4*!{vP=Npr&i@(&U(2x_Ch@4G+o(;d=R~woESiD(&@XZMDsaDl9CT`*qHv zx2I1Mx+c7?+0Tl!#~_5MF+GJXA%oULuR>e1l`dx97gw-fkXn&xfUpA_24NL}726jp zTsO;!txt7qAiv_=Oed*b48*D=H>SG2wNz?H6o5=ONaRdhS}vy-5Pcwvfi#}48myD= z7Tza$=>j>>d|1Ak`)#=^@4K=tutCAlv-0oX{$=rZ2h`6PH#;*tJR`}04g+Zq7C$O? z9Q&%Q^SveMp-veYSqRcfJL}}-nsxHogSW|hp)Im8uu1-G-)CiQ-FgZ11m)SP7i4dI zkAk#m`F7sD@}h#avDpdf8y%88k$v)5@iS825s+7_*U2C3`n0@Q`ntSYu}*G3`ZamB z`bDX3_uKinU~DOYir?o`$11jvF%eKkH2{Cf1ocA#qkru+1scr?im%P`Un|%PXI@mX z0h7AI!)7}OEE9kMs4?^Nr~Pp0^!a_QEh)2~VYOv|QJih7u+jb87>UU4T|2Gpk;;w5 z>{utI-U`N;57^Vr@N~!b;xE1!gd?n50=!9k-kprf3L16l|-~b#)o?C8gYGKu&gL8R$uU_R8^EnXM2l1 zKQ`EFjH&pEFt=7$mdj9Ik6u>=wwZu7=>(0*3P$R6-@u+7kLY>#S|!uRS3ZJ!ILNL24R-yf){kdsFb*~S~_?yv#KB}D~RZV?Uz<*BEhG)iQKoYSj@ zL__sPe!{tMj%0B-fA{<{1;-6=3;3tcjkRZtZ0d-SU1YQR6+~qlFwTwNO$HHXpMPh* zz7hfG(Zk{|Jt@KJ5{WkirCq_$=;(-L7Tw3k3eK9FTcozO&Y^8iHZAB2TJ3{n4 zM)o@qU=$c-FsvsCWhi~6oVZngH#O~}su(GW1Edjwr9Xr6tFpp;IehS-4TOeFrmm*a z2tbmmJcm>Py5$xwND7tbSotGskip=rBlbP|#3>oOdC^#uKLHCy01%J>R09UNr#M_* zpIJ)M3D$K?CdS5BmDT*=#~&M+Q#MEgkWEibTV@NHnw+v|Bd@{oSlKZsCvS2#t)gQ{ z*VmL>7#p=R$BWHzxtNH^B?W31eN}R9uuraha9MsdGbJBHgL0<4P%i44_@JXzP7kwI z+I9V<=6;#;7#tjyl!8#NK*&!^SVuUXMh2s6E2;W~AW}-5RDyu*`n!#>an4!K7Qh)a z_w?98*u&bj3JzVzH)V~^ou8v)$mly#A1afoXpz*kR7g#)PfACsrDCj35*O4ieAIsp zICCW%q@_=F%J@eLxGs$vIQ!D!FN?p!FIytp4WKtI=Xv87u z$OLJ-qk9c_J*)58rJ!nTVtN5c%S)HZbJZ`)S5Dj|+afznUax&airdO0*w?TCq}^M1 zzr0cVmIA#AiKq@c5IZ0b7d|S!be+6d@v{8U?oY}4fz7h9{yll6;&nOLbVL&UEh`3T zi~^|lg>1I!fI48A_mh%ifEsNXWRkk{{u1aVV2qzaDVJxk(sW3@ts!&>evS#git5L3 zWq|>Gd>ZscL`?+&Q@&rKxOwPd?_03?-hALfk9u6pLn5uwqFd(~j z?2u@%&h`d6d9mO;pXK+ne=__3@%Jbn1;DxN%0FrO+X~X)WgtTakmystU{Jvr!Bd?NGVb?sw6y*`&I=(d{j66;f^RiaVB z&xM3XxK4j>V}mi|PfbnA zm5(mZ?J|)y4%pI-f2Lk0TPxK_9+8=Fj)At+bcwx|4a_nnHmc5ZdzG}MTg*A=>P*Yq z8`jHL{`$-Ed%yR4HsE^Gd+!;Om%qN=N?S4=LKI9IO8!{b1{7yrBrd!$KB|*WBnidF z#^eWbGodX8T#-HF$Ko72&X!;`$jJW4HhA16(iVB_&c_rW?hh%#MF!Q2a$l zrCB%FVhbO~1u#dJ$m{h?VZ#FY*qi`z_r4QNVLf<#25F9lrM<1yva~CG7W~ceODYjH07p;M*nm@R z2O!{l>4Efeu2`E!lB1x+t*g#-;90lygAnERA_Q8voP#-!jefm`wGvSSic)B8 zPMLANeCg8M)wuc~nDXw%cXbbcMGhV~V4!F<`W95Q2=2j$6HWBovUCg2Q;Q z*1$K;C>cny++n>Q{BF(}MV1ZH+LBRYLOZa3zZ#E(Uh^KQt*X%bchv6BKv&y>asre- z*U~cYWhV_Z8S|3IeYp|A*>%Oi*b%F;y!PfOkNqR^+ddE%YUrsm6<&y{H^6`Cg zVRTq7HU?z2yF)HtIB#WA%+<`v$*~@1qM)puVFi)Rx^6Nb%*~_xyln}6@DmaCmf8^l zDh7UZf06ZKz&d5ktWoA?xz~3oAtFm@m>b}^S!+2|Um%Pl=*DkqiZ)1tuTpR0p6_TczqHBOzwloeFOQJobj@)V4 zzHO_OHZtQTKR;hS{pnB3!w)|!U;FA;te=IM&@QQS__X%u`AvHXZV^kOC8u-n;UfDvK80l%U6l}2U*SVKO(l9(> zy-&+It(KirFh|)V8+Rp}31N^Zbj6g?tu(3#Nb}eGBv%awY@Qg{#)gm-5+g!y3xz;B|y|Q~Q4#KjRO|!=Q=(WI?bxZaT z1?5#g&6)=UG7cd7wM^l-=Ae;L@>fcO?vDmvwe^2Zj*od7bt0oYW@o15sVAS1fBSF$ zoqX$C-?r@6YQQhopW|P=cv(h9Ms;r|tptJ6MlzNVCs6K_oh`I=r0WF7_ZpCv?n^x0g!qlXV0KxY6t4bATHI6nKnF8_e@U0K)qhD49WT6UsgHRhZU z0VKHK?t?{}sP%cz*LW^d^f|I=^k-$4lP~q)K3e2Z_3Sm|A>#_r`g-MDqEXJYBn=F? zuLrvNjqJk!kd_R0rpFfX??%S2m?T+r9*>gwdqJMNHQ z`lVlzPkiDNa^m=L%i{n9@{znKGu_}e_#DSxu>FQl%^XT%=y-juvk z|DN1m^oV@$;Ro`de*R!m?Z-r)aWE@ z3aTKtQjn%L9AE~Muo155{^(SFGX#D`q+4}yEF8A#A}IAC+8XZfFiQQ!*f?*N zkllCu0@lrO{r@}*EP1_mF+uMIYRaWbff{{ckcS|niZA+f{ZPGx@3c~oMz)N3y^N~C z7ummew~gnT9UrlNJVr?zQu~xp+%i5wd1Fxa&~w?`Z1$^M&!f31D&wkCn4$RO6HiD_ zd)n4)s9JS$U4_Ks5g8mDSkk|m2Wf6L4dM_8M20S;WZ;|vr&$GH8Gy`Frt_s~6e5qL zMd48ZIYGw07|`tR+_A$Ly6BN0@B-x>k4%Bar=krnD!c)|ce>`7Eon z(g*hd{Y&2pWmkYRS4Y9O9|(SbAzsBb`M#-R&@lTy%EXnER;QMhb6ziRMM9_jRd6kqe1Ea zc*qloEhW7l4M@xBHmOWk%Tpz<%G!!`vLm=tYT9e1PXW@{lI)Ml=7!DkRK;_$wsNghr>dm0xBnU-wv<4!6^SI}#L+{R0l?=#=NLom z+I}QThl~w+4Pd}J#b2m3n{dP!zA1ON5hw(^ z2-fLm0kDl~>mVM<+$+pDWpFUQoBRDgDf!z1(wKKPHq>piXPb?zt4`{DbyjxQ)8W`J zY}Ab~Hm+2#olX@(iTOn4M_z{>q+O+~C{O*LkOjngy1LDGhj7LToKuOn`2NZk%QEV< zI5j!G0HpP%o29m<+DaXp)$atPC3R22HXRBDW#69NYP-sf;B2tB(+Gr~e)?%6rE5~( zB^FixWuR9+{OHoM{#6D@%a@kf3h6x?k>RsVGBTqmdPbGPRJ|mv>@fqBc}RSsP-5*h zGBP@34h8AHS6_Kq-r2BW?yH;!P9T!`z^Ry42eP>-ZZ*vqKblTW*)0(%LHRjK?dr{B zV*@NOP-G)e9FFs}_zmYXC=|dP#@1B^INz;_s2RGT0v5;#mI7)`$r^d)^?xxBjINjL z<7Noo?ViU=&;ApceDkSmK$fyLU@xQK2-4>MSe8HE{?Qik7?wt^gVU9)L3b z&1d*Ge7K^h;*~2O z$@KKBOiZY=*xqg|hx}fC3z@+o-G~fRhBvH!8l*8;ZyB|2H97;GZRTXV z=Yt{Td;n8K<1^0{K}q090azAeYvj6Eowi=1?AM68M)dr$8*14L9G8;augEdLTg9{r0v|X-Sh%IYA`Gfbhk@Y zS+VThz0+QU^aZDZ(#P!M*)eq;lbvIYd1ZQ6D;ChPGTa>NKO~6c>M5v-8Gt@I=nNcg zRpkw^=Q-905oAgqI`y7VQccg}Xn(f}gSP3LWuHJCLH}J^ogj#fLIIzgKIH&t9^6a7 z7Q($HWBJ1$URCrceVn%DR8sFltCciDszYYVhFW*D$)&?P<49bP+DLFkmW8jN^=G@#|x$pb;$<)-81@xYL z@<}N#FP9o!oBThS3OCxwUq)^;hOUo5CtKLBkVc`eTv965VNBO80G!uYzZiKNDWV{* zJ*E3yK_^U;{fpQHoXO5~n>0lN>S&gkE@VGj52}K@t~MvL;)?aC>i57t>~)@t344j4 z3^PRe4d}6EG8?IoKPxPznl+pqs_ zV;_u8>1!$jQ_?#)rtj^O(Xnai9O##Ukuez_QIMt}u5Wl$8arB~TERkbU4_*6s?@m* zT7P^;SCjPX`J_AI($SfeK6SDPoB-6K4SIc(VG9CvcQi?JM??~xVM(+Gr9Mz2jg5(U z;;fZQGSw;NWfkHp%{5)%x|U#;C6I?5bhAj=pYsw*>8Wt(*7Zj~ zt&{S~))otb-|PoEhs+rP9|q3j%(v-pASjxBUYtL+m>`F%6R*+pW+xq|AKlDvZ}L?b zumha2@2DWLa(?|RpC`Kl{XXp4?p}d-ir!6FAj#q__>NmFf73x4Ykz>=DAiqEtw{wT zE!Gc9$u;bueY$rnP-sEK>jY@%Br>WB#OH%tO9=Ow_2S-lulKA(D1na!YmK~yvRbme z$(Z_^$*8o?ttYR~Eh)NYPfd(21ZnDv)YsQqt3^s}H6SgOP>^&0kga&@%{OJwo;{M6mnV1K^-bBZVS_O*wlt^Y@kbt#haP;u9BJ4dVe-m+eDo2_ zUZ>S58?^E|oNgG98hw?vci59;yPXJD#O@igSSf>LA@!be{h581Xl#%^1;)_V0^9(~ zI9-jQfH7-Ae!}b)uW}5OKF1-;OW+4mkL>rXL|mQ0^|pJa=Wn1>e?z8YMdXoeysxH8 zm3e`bmln(6Lx+r=5@siQV{5C*t)ZAkWJ-$Z(HkEbGEldB*AB@$aZK{{`SRidN$6T8 zipQF!@8rr{HjQ%e{rmPAa3PwX2`tDD!Cc0wgLJ!nAjjIPIv1ATHqf72!X-c!@+eCux+ z)z>Hy*}Z$WtY5!gjvqfRx7~J|eC=z_*p}~q|NE+wyXQeF`*v(}!~!yz_h~gkKm)); zFa^D3HbeCix}G)DruG1aIRYiThAkj_;n3%|+WBPbegt4f)Rgx&seXgpivBd#H4ZE~ z4qHR-B`klLpC#av()X~oyv})n=w1Stu`aQ7=u`VXeXg>pObT0yq`aqEe3K0loNbiY z`J{AS>G1?!O9^1E?QDlp-Pgo)z3CqEha04!At6mo?M5&)$Z%){Wrz#BG6lfpzV1r) zdl2`vOz@WZ8KgtkXEf0w0e^$k)%qk92ufXfvG^+st>453?zS~KwBU0>G~8w+s{XLx zmR0A3tbesn--{0CFQZ(1b@dX9wO(^>OG!uPkc1m!l7IZLv_=bZrQ#X6)3O*Vo!t8;}_up#yn+Vd# zhC!zf=?8sf^wX0ui>YntR{IHKBLk}GJ?m>v+FtQG&PoK3O*;d+ld@FSYNnmMmBQM= zPY9QSFkC06{dsb6>slEZ3kn0TlhZ3Hdn}M}vpQFk zBjWSbNqKphZT6KuK$mST%@%1|sp0~JStdmd6{S)*QYc{;fVo1nl=oo(Su_ALB0esN zLpg*i$mow>q=#NyBd>1r22-~}_%6QF z{r+7q{a3lL;T2C{<|RMc^qySavrDFn^QBjvei)@9mEKHL*$2;>-pnq?zyZSn;`(#_ z$Ozj$CQ6s_zU73#gX093T3-bMXtrp%$33NNgn2R{zt1RlDIeLrW4n|T6&eVOt5Mvg zO59glZU4W2&u#-!FqSbW{e|bAHDZ*y>PnmW(yB(Fzq`ZsN_S_cWzcv;6!g9R`fD}| zEgp|cVSb+E=jNz0)odBGeYI zCg!tgk?sL0xXC4tNZ-JqOzL-?CyQ56D3>DvnH?XMzPX+`G6IZf`OCljOL_E>M{H~h znYHJid(HxWS3X?Wa|3w@*Kj2cp)2e|^aNEJtT6&RtWiMsyn~o=UtJ(aUoxPwD5(6f+Y@{(Cmk31Bstz94LyzGZw^YW>XtfRP{QH3 zw6ydXIP(H5H(Pr9CZwxxR8q~|y6#g_ui&hvwpMB?E5uh>VoZTly0|Q=+1D&vxVENK z^%`csM!>M9szPdO1D@xynDq3GORBX~a!#DE^J!Ng!+k<;V-xXB_)dh9Zr0gq*6lT- zpEW;5??1YO^+#VCEWJ0v!i(d0;rs<-m*be}_I63CPQfnXY@_!)&u2BF=Z+u7e&c%J zvvE%r)2Rsi#YR|!=GeUF_6vKbS$#$JnPp%+K6@+VZxl#tj_LU}nGMB0btzDbE0~}< zqd@@#rFsNC0dFunUN<;HH|ae{=^iBDPEZv6ims(P!S3&ktodbxwZnIy1F-w}i0r{8 z1)%`7M59yba=pJV6QoU#4oPo1B_jj9vS;^BsVGx_H^z9NBH6n6eH;884*KQrp@aJV zd<)W6S5?Z^ty`?0dbN*hKw5I9SUP5EWOUdsr|OPb$z$)SsI<7|10Tu=NV5hww!#tWwTt|zgLFxPe{Dvq-AQdHyO&) zEhWX_c1pnttYO&LtGHI39d>QpYXo4+zII$UsEWD1fNR$op&p%HBEFjp9gU@c9!l3p zqZ94UJ|_$$RKI5x@UJFXK}HBixS<~BY8jBGVkMEPguINsD_jp8JR*T!fCOn!Aj`4L zaA&=SF~g9V)0Xi(z>q*gpj?%qe!j83+M+s8&0fr4PIVu!ERqRp2sc;{*S4)&rKzcD zzB~r@#ZV|L>({>_ue|b#{OO;5N}hS`|g+T-u+#5oWCnMIk`3y2gjZ) zNFp9J`g_v)IHzRzV!97e(nLwGG3QGFx1?upo{4Vk}}lC$me_efH%E90S1-U`={`#uc)8lrGXA$9Mo{rBs#`+n~*~ zI`9nI+_7z|kwgskb{nuNEiSY&NABONFTH5JgM)qDRu(y;$0AFJE@XhZd%vR5s114s zbmNp!s#~gHy0IZFBO@d7=KA$kZVFhR(EA72b_Z7@JU0Wwn$B%=h*5j7fX@fFx5L(vWD9+B(0Km6S?FX^8}VHEN@;-gmAQI+A<4)HO#~3s#|^ z`#Jl){JXBQRLV*#j9x$Ue3p}rjv>2FRb^@y)P|T2((}PD;rsY^cHsC%gtdS#<7Su8 z#ho4PGCMnSUD-4$Bu8v)V`oF$}}q0^nMGSsJjSXY|@G}UJc&Y;z2 z#1wtrh?8yhIL-v4MU zn$4bOA7dplGd`^L`h>AbPpRD^fIK-mC?!StlBae&KQC8K96M_57yZ2*a}@l%c2dgA zOU>3Nn-bR*M7ai}AuXrMrT1K;5r`Ox$oZsnoK{e?3?08KjqTOaH_$yF`CZN9gUgqt zQ=JZ|^KrVoE|{AY!y&9!KoC)fkLMP=Pj8;RPnB{+-^a`afR{^24ciNfhbTK4iTa{r zrUVdUWm0E?0odGhSD7P{NuW8gMK=KF#Q9W}ZI)Nwx(d|DZoT;4tsxWP zm>fGZgZ8~ge@>o$^si;GJ}lEmj?1M@?|Xu=<>W(kDrfiYmi7||q*DPI*OlwRhQrZt z1`zwr*YlrW?cCkOxrD07=gDG#A1#IN@TM~SF5${vMsZ8Iy3c`@nK zzYLwGU+2n)t81jD?1~vIP+>1T_O$}QaLN%EpZ(@I4+OYoJ~E)a9yQEaB#4**?}edpe!yr><+}o^fxuuMq_=05O6d5C;?%6sTiaVh$E1PdO(~ z%CSTHr70e>=h$QJJT!#z#+iYBIjg|>ygHQA3gBIk*3x_P`_ho8g1?S|A(?4z5*QvY z@7pS;#zyVDn8VknI+WkWdZT<62eG=UN{Wk$B+}4e&t(Q($P{;Xc325kCV2q@p#l4Z z`-wgWkdfK->l$Uu3T%7XYw}ug7&v(!4q|U-yImjmIsvS>r_uTf(^KgE<_6!29Yu>e zQyHLo&K=f^FzmQR^(i2N-#}J4rTc~RW?e!&0*OLqu&b#zDaX35b$ zAL_li&?SlSg!qz`lA~*|w6x5!W@!cNUZCW9rGH>jh9{?_XLMM)p|aM$y`v-2KQyMV z>GM6~(%Cs8sZ^KLtL@6m&66XC4@h-+u?_uS?E0dIxeovVuh%ohskph8eV26+s4kb% z;u7)IH+Y`^V#0a1w)RTS@nce!bI^!02vVgRmp`BD5zEHv+M#^XB|Bpb3FVL3wqPX> zd^L1DgSlahbk`Pwo}sjmz<^he^isn9VI8xF0IdruEIi)7m~fnw?qzyAGkF2<=Lo7} zLvIBL@RFZ(kcQr32=yRff$9#ucT@t)+*_9f zhW=UtrPzDcfY)cQN8ELVPmbRK5cEpYAhf3psJL9X5{(263}s&|*n-&XIB;xCZu~V_3cZ0KX=wRzv|1B-@w&+9 zEM#t^rkmk*M7t22U~WEj>n-ZQK&MQ!vq@1p&l8PjAy8s65BAgvqC_QBk#CFAVUcqT zNo~~@S^Lg^n+Hzxi9NAyjl917`sSWx3&-GC95b^A?SZHMrR>_fRuYMJsVJ|N8g<&b z3-jdM!Ts{1_ulgaV@nDBY8SR_lF4HSWuV3>;la@1{7@^7;tlEla~*JIJQ*^V5on2x zvR5}c)Vny_ZloK7#62ccF`|lRtiM|ZJ6jjrbNUcqWh9fq%o-?r>Bm~l!<6yYF91K23#F4d5G%8qGWapP^iW?C9 z;SWDv;JmsIA~qOZvMdcjzp-}W^fK>^**2f}#D6pPRfZcMKXzPx^EZCOGT9$|a78w3 zct`HM^ULz~+wa=3aGoc|$BarJu+W}vvz|AGmXc+%{WAy1=FgqqrN1enjtWj^=5OLP z2hcBWSjm#Y%9sk)m@@Wy55jR+GlA0Mwr*TS?Rl*i5#CGr8NF+OGaNVq56-$<`EgvK z_J2s%BE4jcZvcQzkEt`NMzN~2&}Qwee`B5O+P=lgFiuZTr~&Df%JOoDZM3jZD4WR7 zIVrQ#Gp4sX6ts{LBk&LohmG-&IV?wy9FgtYw&^}ExAnliqSTiXkFA^ElPxOruDQe^ z>@|ARW>gm= z^mJPZ?bOtaeD8bTlmGmm|Fiu1um8Hu+Wf8G`Yrj+cfKQM&Nv{I2fuM-XiyRj-0Q2? zzC&$B(qC;EY{&>GwQ=-_Z&mjbeM0}E(NwF$GchzEGm{f`jZJ6Gfi%`PK%V2ScCE0t z0bZH<61xI<49vzB;L*LsKBM%t*BB)G%xQMtkM#8SNUS?9CpvSD6vPXREhgPF-4afR zq^P=B@(R?6_Ny-I8jk+bLodbiivvH4n<>+1Vm;1jce|7Zh@^twN zQk*K4>6vp9kGCi=FO$5ST&XB7lyG&4F*Flw%?9I{0zi(`l$t&FdOcGB$M_J8{T$y^4#=#a~lpzQy(Ej@5|S20dR`LkSe4>&c*x=^9<_<6{MO zluF}ZW`i_@HHWRI%49X!H1sIf8U{;zF`Rb%td&+aWD36*avb{NGWQIllc?GOur6hb zZUs`Z zvVsb`=7eITmKHfX#{=L79qFa^^3hiM@C0el@i)(wN&mU149`a8RP9ljNEJ)xX}`yN zua%}5bzZxwrA?7L5zy5=er!Xroz2%~tV~=GoH;gVK#dj=Bpf$Vj>h;#x_0iuSs#fi zVJpvTNviVfQU|2p%4*zA?Fu)IUJ(Yy#_G#;AvplcDUDP`8&jmNHx=dLI*Lx2iXLBY z4y-OP*P*5+m^9m9m zb!b=P-`VcmYohtkB3sl=oKa7+L5tiWC7ooxn`CVoDF&|Ilh%N;>@doSyJIIBSu2dnYNPKT|2i+yphuB z26OuTHI)j?wizvNXS!9&)CnysDKfx4HqdKKTQqUQAewvfxExmyMnv~{Zv!ZN>l-3tnmp2YLp&cs4g`i zIHur<*ZOrY#(D-N|0WN$uIm_(RIfuIGONzusnHSr-f07A7&h42hK5FD$M)^=&AaZh zY#=4ME&3XSHedP5SDYZjT;PSiNUlXgz$efx6HG(@1}U}Cdx<`0ZCuqO%Q*-N#@bRg zc7y&6dJbUNZV4z>peQDX7J|Zm_moIhfzSt|#zL=ENmP?uHQhz8c@upV2*6QeY3@rd2 zH&Xy#B4wRY^43yvp7? z_GU_|D^x$K4aq$Atq}AVnc_fMt_3+QtE9Rbu*R5*)jZG{*hW6zsdk}b>r9`AcK=388y6GSqnoAXF90f5=d?WBEP#g2w7sjx zr`iB}y%L*G8977OBfvQ%A!e)BWzkYO zEYN6NFRVJJ7+EA+@gNS>e#C$l&LJfxIN`7lLT-T}1)Q(E}o% zI0|m0DXBoNzPem;a<kOV=zjuvnPym*hW#j*O zj@Nh(@8vUm)*V!hJo3WN%Z~luk%Hm_;;Z$kLs%`oa!NTBU}kKP9zD0=`f6iw{BY+E zPcXKee6(eYTsnMMW&!~jfw_?gZ&q}7wSuB$!~xgZty5<+ApK0e*L46R9>dZP?%yY; zrp9f<4E3ZX6^mH?@7_JT<-oo@)*KqsjWec>Xm3xiloS`s!2|nkP&M@4OFaN~wwY@d zvMRDJ=#>IUp&&5u{67vM|90P(EjWj)9n$gCO=p7@gkzHtA~Wd%5i9u&)<|Q$ItvP} zTM|)AnV&gx+M=F3nDdrQBy1nqu;BCOB^-{(`t@(g?Mt$D?K)L39dhzyuHM>r;w0Aas3!b&-*iw67&KCWZbLv)N3KDblT*3jrW#Zh78Ea-%0n%woBxh#r-|lP4o&hOp z_XbgY-hWS+fB>r&nHi)qXP|i3fd_ z1Reqy$x5{i>_-LJ=wlo?w^!EdK4l7yJeg0L<~y)8YRoBVfv}~sC1L%Ry}jL*WdIar zmW?7%@f-7F*7{zFU?%_u=sbX!drXG)0@R#--jxNtdUTzYcUFmSIw)-)r~{h?%z8fR zm!^r7_*;Wg8>yFiwV#1tqk@WNBLeB_y7fdLfV8&0UU{bUb=er$EHzE_(im%$vQUX^ z@okeo+VLk6Z1>Bk?t$v&a@pW}Th`XRAo+nrsYiy8`l5z#DtM5&# zD6bNK^|doYZ?>?$$uLsEgP#P@r@xbZ)Z05?`(!l__8W5(q4Osom%YZ&Ma-L`TEXkL zp<7$kMi7)kU(*Uf!1ZQ1>F9d;l>MbAtm4J3W^&K1MFAS$nO(+uv*l+Aq`_j^-`OI4 zDzF!lC8Dg+`o!bvKeaR&Lp9km-g`Zzeyb74)ad0VsOqvhd%bTpV(Usl5&E6`%O0IS z_6qGa1J@aa67(|$L;Z8r?W+cB>^D6R0yzzJ4%MlFJn~MxCpU;Yfd%Ug&zGorW2$s-j#f%S(+-t(OK# zb%1%T3a9P&DgQc<=5fFn9!EM0oDP&zC^ zD{XX@kKRBWS1V7cE3=X`nANJPYs4RD6u$z>1IJ#MN1y#~^2m$-cph9Klqx=~pzE>M z9RT*!n``9hIpP0#j@NikW?3Whz%&0)*1q${ay)l~eqV{y>h%cus*U>I6xv*dA=_c; zQ-wCF=XmbuVY#yT`uf#A+O}qiX;zS4?ra2q^5Kz(I z)uN6$02UBN_P}*qc?=B=+JyUc3bY_wpvTPTtCxo#epEjB$=|ZQ20-JHNW^V0^ouV% zZ~v~=y>a(v$SsccmIa|=Vv;PQKQ0l^O#Qjn%xxzjK9J`r1uRgQ3sFSg?@=0~HvR_AV5>V_o81`NT z*4$5?TkN}6D+G#Ii+gu%m$x^(CFMnVHq))Xrph9}44vJ#XP2(SS`(=DAwp=OC#$>D zSRd>3y)-8uJ90=$3i2$o!#cBbR2>DQCUo0xys=K=@tEp1z2|jx#v+x_`wzKDIHdYg z_atBr9a*ferCXX80I{)AW~>2}PMH8e+;T|z(kgB;NGnb|L#>A)D;Xb?v+b>NrmJ11 zbPe~b4jvxV?`=-WbI(32M~)npnVD%@r#$GhD=99Kg9i@S95wd=IZ%Vz3)UCT;7UPu zH+>mxdd(3=Yp8QWIbk#$w9yV}=3#cF4Y;LM_cJ14La$vmKtpH{H{t@-Su1rITp=UR zc~cGqqcC7J`}ixBezl{meXWw;S1i$UNdsoRR|cf@jM~G&goHX8#25EVt%7yGzft0e zv;m5nSOJzatM8KBDh^PhP89 zD}S;7^OE0`FKubZAw@SC7|Xanu3kb9xX&Tj9x7w#Ga-YUOm^D2d;O-xq`tmE>Z&R& zsFiu_TOkCyutik&P}PDj)1GdZRI1fTq*hyI1%U`ba)^A~e%4F@4ATDL&O>$1!3lif z6TyHRsmiwiCJyaN0wv1{I-S5R!Eq{_68ims$V`w%FoOz&2EC_lK;7$DH$#5vAWeam z1J0U-8E2j8l&x117bGyqn9+yTtGW#xhOYBG&Mgph8g~7rfHPe?_+PAVvSu#mzph}a zzMuA~2DQ&&wHc76IG}Z9K#lLj7j47`@>N;+Xm4M)RkF|~a}gQps0_)NkGMEcIDBAY4lc<;3m8!wbtPlYj?eQ^1*(4&SUnMfqefjp+hxU{55 zf9RB+%$PoxGHFgV8GYr6Zy=Y`kMhAN=VtnY}K`B=UC+zpxFDroN7RBVb_GDBYL8l*uC?|%O zO^?y8D>`bM-|Ge)re1 z{ats+Gq3-f1%PWc^5_fyTwY%PM{@A!%L+t~OKD-D_^ZpU^v69X7Pv*U)bU>o91N%- z87(W6GkbQ(kKTRP6O1h-Ki1D&*}GTHDyW{&`@S=&v(3;awTPnViT#29rVo@`aFezrwCL@bL z2AXX23kte^;TQg`&6KLBsIYTCdi1D*v`^aJamjmd>|c5LC3)nbha{lSzyA8`vU}G~ zqq1&S#|cN6>(9PyYiY6PSoaJd$M7;h6~#+ng2+D(PUdeQSb+kiJkbF?juN$fp}(2u zv)MR#Un*2({R&=8otffXXJ+YKn@!`p0dn<)hs~JJ2Tph`se4?{8>fOSAPxPLM;gdn z;`>%AoHK@r_pAPF64gmewA%!L54#lHyb6=JA5Z<&FA{QW4BE$A^29?2gL+*!H_p(pe@uWBcW$nzeE$ zdeC|~XC_AFE62YfJ0rWLyuCtRt9?U(+1+w_YTPO+zNP>FWa+cgJ=iX7-A(dP{$ui9 z;5`YaYHV-f;5DdSr%&BoCphr{G5~U>zA~_(dW>-iv}O?Kr23&%^*8q8dK^eH)KoxGYMs3%38+xMP5D08EgfStjykVu4?^WR zrlY-r!mAZNPeqgM6Folnknuf?*y-zml>kGe)z@67|Z-)FdK^i_V;0rq~IcjgSgwMx6x*|W;|8C}kWY&itT(*Q(m+s$&VEu9+ zEnk{v%BAltOphrUK9`cg)2iratF7;2infa|b2c2m;~!@ZggynOkRMd^>IGeH@m z`yf+5W^M1DJw|*$w4}X74Y8tNjON%JNTXbfQm=`TK^YtBlegb`Q=*L#iK}x9B_>1( z44j)9A2GBGKw}d#X9J^5sRKfpOtU(oC?lLG966j#XwxIAcxv+xt5c`IE9Zcfrg%Aa zMv+YkNmaSz6wtGrY`xy7jBpP?t4g%9p5hpj=Uk?d+;~q z&u{w&^6cyXMV?vvZ{*RJ{*m1G^xvNcWA{Jv_vPUi{$KLYb3ZTlKKlQa=U@LFIehY2 zDX&t4Ren;+OUjHkm<61DUMy%9m`|P8Wz=QUHh^?jWcMKXAJuUy=9eI<}T+Pqml zP~d#3wpPZ}(a%<(D;3IoQqizwFPVsMqzP@UdVT#e(%Wg7hpk)Qmyy0s%j%%OjYhV+ z!y05=kVf<D`0bb7brDj@6a0r;R;!0nAF%C zWVzh(T~`21^ni8hxo18PP~tiO$}%IF);w;RutGi7!gY!=Cfmyh46ilp3fBpMMh{?T z*7+cANi-xZ02;^0>pIf)Pfs6vJ)xk7emb(BHww_~_p5PI93@3?v$qoI1$l|u`%smnb+{P2pdfpG)h znfnYtMi%RAQ&cV=-X*hx`rKS5t*75%WAp-B*DHXu%JuwP{8Hn0yVi3G6Wa1wObzyE-|^wLYJ12!As2 z&_?Y6_lNg(B%R^oqeJ~_7kUhs8Ec~I5}pU70gwq4(VM*3j5MUHEoFPyD*)q)yIv?y zBO^`eK2-yh(`QofUzg0;E}Zk?mKrIJl}mATi4+v6{i+QZFoV>>3sBsAnUJ2|aU&lg zQx}fLrL3Y-ZFZj2RF+9YDlCteJuUA9Hc22+AuXyiT4TCLyTkIIHvOsudqVPV;C*?m zdaaZvON=OLVz^%(Dt=rx_%_Os=3}xkvPqs+P&P5#C$p2Ia&P_vvZ3y6nNdKOYz@oP zC9lca@^wndXX+~hZ^3E_p+|Jj6cv@&_<_}C9ATy` zD=xT3cis}wwMCg3gk~LW&9)|33(Qkw58?Q&=7HTItBe0d$$R#CW6e5QjS6Y3F0jBC zy4P(}xDj#p33h?|g5HKzGMxf|F1`m{!FCe#;IoVQJ2xsn4UmQ&Gk~Uk&0tSjMg|o` ztG;3;XGlQ@Bq3zg&~LZ8r14hC)q5W_U`8*03}PI$v0m@LKB1hwRrP+4`i$v0kaq3$ z;#}}Y;HmJJ$tp=U$BbFdeL&`rmzyhfb#)5{ynS@#ij{HEdqmU} zz&0{6EX_>`b7sbddJUxQ+q+i^3-ZLLKO{FNM|SPpDP8UAi1c(QKs#;>Y6S)PwrMGm z;o`!Y1>>VB6a`f%?1U;B()Y$nsNdHLBTktbl>9?dk+WY)kMA*dDQJ*09j5u4sn0T=e`v^uz)H=7Bi*`02^2BhI!b$4{Aq3K%{NF#DT zpa#KTUZ76ZGL6Xk8lVLhqvebOrFH}Xk|Af50G|t06z*x2;ZUF7< zIeGP!wesmt|AjpM_~TaYMmAx?TW=YqenUfpy%$muO5pzKKmDiD7-_U=t)Fh(Rgb58(R8ByUcK5q9a^E0eHST6aS zc}zY}HjO6Zr83nB4j11`Sxxp{jK~zv^b04^_G!&D8GRD<-gY_&B zq=E1UXKk^}@=Aq>JAe>o(?Hn?3*eYTX2vvT0i^{pXJk$0pNrZ4bR+sOO9CLFGxqvU z2!IClKCNa@J0-Fs!=o0w%G_sU)h2Xror?tI%KGQ!OmmY0#{T(iTWha3*t%W;q!p^f zdWU3O_4({zznoTw5*mI$T3c(gv^FPgt>RqnSN;CX(@)Fox8E+G_{1mV=YH zSLDt+?vUr6dD;eeQ=UngCZ#8f&DA7;L-`NJnDHEx1J%_ybjkFeG3b@o0cP}aa9>;} zhc$&>#9mOLk$L?Vi0UfV7&_Jq{Bs<@S+u6W*d`M}-T(UAp%Tx|R9ug+w&_19FD;c5 zCr?U6r2>EzuQ`q0TmGO8Mnb z;)wkBt)Gs;g=wSi5wE z#my1|W~@JY@$q>GYHaX4o zquu|T3eXTp(pbaTaP}p-H`7YD{g5R44T`;Xs`nJ90$cfB$`{uC7q<6}2)GGB0-X=Zrd~ zP^8D9?j?HwQxX8JRvk)c-~n|+iYS4|jEYfK=&z}eg4~m;jO(Pau|-;2`=zVvYWB>P z+S-V`^2!@>#~pvI&h@kM-~aos$rrzPryM+ZQUbw*JoeZ#^107_PRh&c?fo2sL7v6M z)pF!Wt{gv}CuOBoQd{HG-&>-Jze?gkb(9rl!*t{Y9_K|D9GL}ks?~vBY|-1oY^b&0 znpWV~UsfQe4(ySS-rwX2#+DQ7SIf`0ezog~6r+?etdu*3D;a)VY-xNL@c?P`q~Y*# z?zYK1KpNl`)~A+K^Qu6a1BlLwPe0RaWq8i@?Tpn)d)*;vD_$oZ{$tV^clxq0QWz^z z@|ls^Yyrg3&&I&?dIf;=VoGk&ZP~H+-hE$cYU(V~2?+{L z_~77(eCktwCVTemvHipOa}Dpj^G;d+#v9gSz=Pw{TSM;;J!cqUBCas0vAzM2FjWFT zP!5Z&6|!MOZnMD{@8?=TozF4c>t>(P<54z>0nRQN<(fetf@0=4MO>{oE+mNoY1=K#%_*BfEY5zX&Z=O}YNQ?}5n!`^|_F7xv(`ftjE zor(>$JF1VU=2+@jD-j&=X5Gg=ALag~Qd3oBbIp>;4lB=F9V_9D3*;m8VwIMZNl9^$ z4Rx+6IHq<=_lG+4tm(e?q@;VA45Zy#_yg-pd&l>l{2>1!`P#{E$&vU`=^yHlhOUsj zSoMnBSMZ<|B=Tf$V3&O9;FslO?6?Fv>Sd#TE*qr1QMJx0YEtRAyk5T6`qL6!jYb~D z^@9D7?2i*nadeF7E7eojdMan!eP`gUzEb?^3se{9NOc9l*VPU4Ztoftf2ctU^K%xg zhg&HGd&s6ydBk2P@J4V3(wj^lYb6iL=?Q>PM$KAVu>SPeUFjCnwS1?0J=-G{5-r&- zWd~l9MENf1h^~y`lIu=@4jYOc!0%$eFb2uVo~_P*=u>;w6o#(9OwaA+XEJ|MAgxFB z5~GGj`a4v=#3kC`lw?x^*WDU7CP&Nq>%Owm#v1@=1SyvCU2d7!9;{P9?l3mui?5Wi z@kWFyzF1>eQZXm6>OSAB=K^t1sIJngsYn={zi`e8bT0zXu3Wh!qob;423Jqk1F7QJ z=!p7cP15Lh<{l>0#{lX;6~DobIBPeuGLS|OTF0q68S5;UGiCc_rm0khPATX)RkO1G zv}wKgg9_{hJ7h$G8UT%1K&|Q=X4Xs->8IZSgG@ON|GubBbysJH5gnAP;-8%vm*S#A zIdSZm)Yqz$8*MP>oAMVN@g6n2!+q*}cBq4|uTdUHj|ZtkN{Fa)&b(PH1QfTw^rX}j z9+m3cgBE?q;l`1&43j!$AX}WMW@e)Ks*Mn!y0TJ2p_m%RE@1#?HaK$t*QjjWx<|fn z+wHP-*Ip?otdh6i-fST4p@*K3XtYgAN^0fze(w)t!`tskM8Tf(S*JWD5o;A+tzUdK zitPP9iPS@8;($yPBu+1XGk?=HqQ8;sfkoQXsq}o03cr=(h00G_PgqNNz6|6YS75%^ zde6MT*i!Q2_ui8a_wJQ5<>fM=_uNaNdPz@LhtXd{Z%r1EIaq*eD3;4hiyh*SspUZ$ z_m+OOL}P>0RFth4r11dI#G*vx=0JU{Mp{eWmiWfsk=PsmNfPh=p0t&0P@twpQ8$wj z0F<1t_hw&L1j7$oW3Wm=e^r?@sR96;QKI<42iJl#22cZ_h=>x@7}ovpsZV`cUViZ< zr*uf2vf7#&E6Jf}?Uh$vkq00AfjYH&Bp3)9@lKV#hm0CSx-rz0GD4-#XJFLpR6|R) zk+Q2$xidJNHNRX&kn3t-Oz(>kZ)Cim--)ud;qe*Qg3kclph%~eF#9`D&U}t6SmyKD z0w8k69$Y)ij_&|Gp=4P<4m;jL15a5PgFRX2D>6!YOe2U<07>s5&I9aKfJLssa@Q(T z0JQ8?Yp&O0u_w7EtX0?BaeLm%z0~;}R~hQhAT6hjUblV&f~V90JRhi$)2gQ@)VQ(M z2^>I>!yGuW!fm=%S@#4eAeN%ck$@c8J{|-k$O_X>MmbcsUN16c_P4#o*nb-W>HstZ ztapRib+B*3>}5Tx`aZy!*S&Iu`%Cb^NTd`9c6VN7VayaNFE9E=?@kTx?uB0Iv{CAaCMOpOgo-(Z*I zw-!ioN0qeWZ_EW9xNZ(pbE)lH_nZid05&r9755LPmA#r&ds$IZWZ5*YYp|H~^o>g_ z(IO>9#n!8y8L+xl!Z}k)OEm;~5242&{|UmO)jr6;4fOZUx1B6lhYA2G4<-O%<>gV` zANj9H!}?#7niqdrB5(e>w3cqPz^2!^BG^rQFLbe0Z|FVXn$tgwji79i@5%h$l}blS z_kZ^$AvXCEL7BbQc7-?Z_?7IO>(n@ImXDUg?7h!O6)9^~2hYAg;kzA@wCE%||yMGUFPo2&5s+ zr^=*fvR20XeKIlNmyxrI-p@8zmd)$^3#C8-U9GhB#>KBdgSkKSz+Cz8viwkyq+8mB z!x{_*U+D26|MM)X5LMW`9t>nOno^@fImuN}*3mJnhAU;l|6|BretDhz?(hG;qzd?Z=nY2(SF4Yw^Qdv?g^;M;k2&-|)xOr?a zm%2Uke7(fxmQ*>+gxSt1|E4s+nlx*Qtq%i6KV$U^R7*#Bq0Hvz$mLx-J;B&=lG(2| zs*abJQnj+io^De>sfaqo3VO(Pa8C3rv586f!<3hE;`l<4W=)_i27Ge$wc);QD=*?R z7|3MQ8OP9^Ojyc#B@Y4w1N{TisLlrcaP5H{N$vlpG(7r$k%mXs=->ZEQhUE99l?{P zaOk_D_s>Ai+&#jKDuIt>CnL=vUSTAdFSo7 z<=}yXl1imy-P$+g)t6tEH`l*mJ(!gAzW&Y5k2}YI42wl z7%DMj?7IcuyM*vQfEb_S8lztvB9?M{4T|K1>Oy~Ajnu37)X61EJ*?o2HJ#G+Lhym! z0~jG8Afd;Sp5Au-9WX}1;s}@ruy{S_W3-HEyHnEbUI*(-8y}Zbx<+OcG(pi1aN{+% zFAZSj1-e!%#R}5+Th-n#T>}czMn~lGf$eg>x>Tkh%}^(h;LOC>sDZES$At?Q<*m2g zk~iO2XC+uX*g6FHD0A=8V=!F0zq{SQ7-S#JO~l{=*vW*^C~lcE{r?q5o%J4>jo{v? z?gXf11AqPvc!TuFh$!ZCG3>M4=dkMCwq*R8&#gxIEPEL6TJNh@kfz|Gp-Gxs72Njy z)v^k0EfHyKu9sLxScbaWWJK?EG_5+e zEg*w>??;9Qq-`WE>5*>f*ZO`4^wmH=6n}_(Nm_cRG;u%w$xUXh_B8st!;gt z*JLqi)A##*L8&Rtw<;d5W8XBwdt7(<93`8iL`TpSelGe&gN(p7HIlt=L8apE z<-{XFBc^K%`Xt@jYGA7Aa|M2`?G=V5I0gZ)xfQ)xlNeS3CGX>qac`96Dn zsRzOTnb{eAFJxg+%h)w4KqFYupzEFWni)hwRt(aR)>9SI$AIe#%|;|LbT%QKr|TuP zOn(}5{=MfKB-~W1pk$8`7<8z?>CuhU+tVeNE;)b_aznyJ6RZYMk#S&wiC4L41&dALpI^wAR=f6OcapVoE;US_?gZZ z|KEVCuV^eS$B!4u+i$-wufM)t3JaYcwRP*>mf!!w zKa#qj9(#^VWZ%AH3evtQ-}uJ2rKzdY`qkF2e@{`l0+V=Jjd4PX^>-GWJSKhxNjQ4$ zd1VTls-c4B=Y{9)B{&QKHFqQOel|=pNOZr@83e12GQbw63FTi=J%4TB z%mr!5onMr8-$DC+91*fOC>}N$jvalBL}vmDu%nR%bFyY;W-arz*n{$|4R5ZO2OfA( z*TZ_b_uhNu^Pm5Ml?KCt%FMSTM~>KBEPBzt^rhS7(1HEdLjdW>{{8zTKQGS=>ZCf| z{BG+zOQ(g=0_~}UBpU-(4#>4`jX1!c^Q9J?4ADwTL~QM-Q(%M{+51NCTS)I0C4AX{ z3vfocAOJiYAhA9%7|UhT_#EqjYn|=P^F+LtSuuryaeqU;;DrH=O3%zSb zWV9gYnALT1MnUb&$gq((@mjxvH2TtVZ!$fo8A-VUh*Ko@xcd|WvIVbK~ksMlP>#z%HGf^ z5JXYd$ebW#IVP{A1Y5y6fNr01MXnM0k?dGUYf2rci0*ZV=m3WUfKPxcT0O^lr^XkZ z>R$WR3Z=>Pmll_lNiY<*$_+1Ia4Q4~`gFSAN+}x~lTuw-ZDSqEOA4i-zS{O+w(Vj4 zM^(RAPiThiLT4M%Q--jwDEY-vcLRu4wyMrBdYuXwSJ$&Qtz}^j3?jS-2S3^1vwMP* zg=7LWS11Qe_$en^7+3;a<1D)0pDD3momDObf~(7>(Gy69lb|9cw#(V))e6Vsd|7Mg zD@YbtfAl?)g>v;DHh_pf8THjZa4P$H`^<(A=*hg693TGx8yl}aF7dtJl7`3rSI0g+ z_V*>Q=X=srpYNQno-4M%4OroCkilH6B$4+5@VTe>beZ3~QlYe&b4&V{_l;H~Hyfm} zwyB)3nT=ho(xJys#v&$=T#)teNvjS6xV7Clojw730-a0Ld}`BP@5sh?-nQcd-fZrTDs!BE79qOHB*_|(m2=8+90d<}VrX};jQMY+(jRY>DFp);Po9(?>OJ%VW6Q}$ zdcV#q0G(9eg2UsKO%z)u1!pMR8ODfm&KLxk)Y2$*RluD|?o-${Iv|7JgHsIP#t@hS z(9aVk0i>|uJeJjxkJgrE1L~FMshD|AVgQfb|3v7Zu4p-@Qk^_O-9u z`yI#h13O+I5R|8%e%j_roj%PRwU6ZDg^TKVk4r1V;8m&gsB=e87TF`%4QY}`IcJlC za2+i}rRNXhn*026LjM4UHnTU4`)3h41@~UjY1SG>nyh2y^Q_6JDk;|caz>SNrH29V zl>Hims_8Fy{AS$8}^a5;TEO#E!#n zRc9mnIKw?;eL9VTe`aFD%C(sP$bf751cUWH)nOZCxVO_tlTIEvBxS`#R({kF3QEqg zBbFJya^+)-)6*ikhaGpaW)@7yS-bw7;_U3F}G6{zLk zWRO;(f0Mm~GNYjEVriaSI(b0OCZjSwI&9JUWK+`Cc41+$8o@Vo?SEJP^iTgp{_B7J zukyt&eo-O{*glvmL1DcUcwy#dJQ`K!rp4(;!@*al23hsM(j|noKtLj`wt=~J-D+zR zYCDKRJ99j1%=yQ;#8D=I!7M(450uM043VqPrlE`Dv4r(LN28PjUOy2?fB%$%->c&F z9Kv%jHBvs=*4C@nIIK2M*Jgf>l;$3lNG&~`i)SNQ>)0E5oY9L*Ibr|}0)=iSA6@F& zX~0J&i!6H-rxND3%wquDD4Fiod+v1&S@&H3wkFjNs;{y$1_brEk6zh-eoI|txl~lt z8eq-7rb`Lnwy>~7!u3vXUiPuCOXjX6_7D99FylHCg@+IgolBsK5>NIx>!(HSSdadG zFa5C8gEIU}mp+hqJZ?co*DuJtu9TNs$y&}!()h~1mdG>zhcv$WZ>70lt#mY2JGxbM zBK}3a`dk6EF$rIVv}cS9@)BB8xX+ZSW`FNW1lCr1x!8Nz!NMDnn+4JUXJnTFUX(Rb zik)l>Ti=;q*GsH1WCS6+MpXrR&FeU;5!Nzxjcek}ovXCr;7-*@rQOHnf~2bw{XTau zq1>J!~0s>4mo zcAi*RQNUSIq2%W1f)2*5bdlaOz*II!JAS-Se(-}w+0n4;lm;uH+q7xrG$R9%L=rIj~$Yh!edtcVBjqKUd#zjFJ*(2 z6w!bWWjhCOhcBb0~l#hYrbm@4c&Qq}J9pBp*Nj z^FJ>e-`*hKyXU*|^{;4^(CJbwr1W)K(tg;SZJk?UJs&pkS`Gk%e)Ts?3^C%mn$1ylJn|#PcgSl zpR;SEAg!{a|E82Y7SDk+KwqG1&`3*Wh6jy;|C9nW$W6L*zeEyE#>V^VE3e3N&psmu z_U^Wll*#c?xp?t{jg)ZvO0gFJHqLc)u-7UjaCBVKkee;sNA?B)%=Qz6FZyo>Ow`)m zq7RGx1=zj!8WSJ*GxS970-5tYxzRM%x+KYB4+QccF#NKnb^d|-yqHBwno zWgyw>+Ab!Phw_=yA_eQTD|j4xwUTZOs_ux{T8Ei*Y_Qu#dGL2q_wwYh+ULO@r)N+1 z5+jJnn7eGKt9`J~xQ+xHv$JUkY>Hg>IKi>n6Vg=pwzT+)q(iSUjD6^6bRzdG6>w(P zt;D|Y9s(RT6nu&D^`!)&CC1wT_OVS~-?Lh|Ss;zF#gV=a85!tO{oZW)nbLN8rEKP% z-d_SuP8NCbfXHfv>& z0X6T8no;rV=UPscNou%O+S;3)86M00(Ci2A2c(h8?xsFhog2WJHGq>go{LQIyz^R< z-5d}q(E~U7j^WI1=Hb)MxWu-E=cqHWAf!M ze@#C7+0RK~VTC=1a(?;c*W{jizNesUmjpvi^444LDLA`F?!EVZ*|6a~DJ`wF@)1hd zf>mWwRd`$)YD+BwY17c>&Wjrdm_pfQp06uzWB{X<%`TQLP8mUkMJ+8Vtj5V*F#P4Z zV60#vbIWsZ_KC`6E5IQ&+7N=AEiIJ~_wDlpW6Q}$>V%%#xlJZY@}*w^SoZn4f`SEv zQEt>43mXXF_i|l`{BYijDSucV+tgu)JYhBTYAB>mcVE9bA&`M|q}z-fq_3c$H{R^ zFfmrXf!V9z4;8PA(Dt!o^jmOcdm+3Oau;6rD-o@<_E)X@uk#$i=jnG=EV`*G9( zr2Ot^?bY>Y0h48pg8?Rh#C)6XbgR7g&ISq8R?2`yPE%4Ba@?}R;|Em z{VL(E0V%kNAT3Xiyffzj4w{3d+k>$^wI|X0qXbj6Ii}AaIdW7EA37rSHPu#LOF8WkU3;)4pE!D0jvhK7Wkm&6dJf}m=Jm;zX4ThD zneXD{R_rwbrr4xu14gJzs;GR`V?J2OCuE@QtEpmQ@M9K#$ObqL*TF*Czrsslom z1=foOgCo@zUi+JWlMUq_UIQrgHSA7JX_1tbR(f9F#RO0deSblIp+pqudFjLDgma_k z*{V(SceBPBnol*+{=IvQNGs^8kue2m@x}%@d~m<)+ObWxZ`&ffcJ8o>qWb!J8vu`; z`0&H4JOC?t=vyyex@@+H&u3?~C?BURkt&_`ctF~twbFvmqBa4?pZlK*xH?gPf71JR zdI{hg9Zx{*da`Lo7^CY5{k)uSv{Jb-kfu6Hb=6RByYu9hb0Rba-z zYDbsdyh;F90A|+uQmwvxxX!9;@TGXp?$LFu(FMYKRegtUw31dmF8g~mcJ*e8lc}$g z5I$OcowVzEI5j&XA1>mb@t_~Av#VWRe(5Fok^;2bZoAE7-MZH$oo<m}gd`eok+!U?*>}EkuYBe+pHt`hTb3bfjH+YRJ#N{xmtI;cci#CGV{UZc zU*ikOJ@UiQru^c^`t6;8FYOCvX(ZK9drAFUp(N>}kWDzn!8jH-F zS~4JWMk!P5x2j4V`W&iIo^+ltwKjBkEjD#$r~& z`0!4=5n$v8W|LaH-$}jx>FllyX6oQ(9Cg-~7fm z&-^UuaY+5X|V6Ae!0A~=VFiVFLp#)B$>IIZy z<}sEM97Uq;7&^D{9YetLtBKfB!a|7_{Rc-5?vvtzJS+cYpf#m0$BrD5;=+6>D=9XR zM)r(#2B4{_u9k*Cy$#uhSLNP{i1s>3O@WUnx+8X>|@umK_ze#3_!T(J_X?c29oNiRVRhO__SAO4}u zPNQ6&s6Ni-haX(F{$uX7*EPPG!oEkxa?cGYsAJDwa)7y0I_vd0))smdqL|eZAw(L& zQtt~`PnZ`FSc!~JoR(NLZdv%+TD3c&h#WqA)cV}I^twkAO;S=;D&@t6Mg+2b%NAR6 zFlXY}z-Ii;+i%IqV@K3ZmP%Ch9nNKMhMn>fCy0};I^x=lH+G8ahT{S&A!YT<`J%@U zUFPmp>uaOBWbX5h(^W0LBIcf5)ydc|O7gJ}l%c}R%dz=>oW-Sd3BtM1|BMbp4-xzX zbQ{5eUv*M-neN46S?zFefEq)^>#M75)}hyTdkOvvrL(Lt)|+KN^fx9I95W;Kq}qvy z+7EwiwSh9gNS``}jcVsYde11E<9@xrX_ML!Mj#DappsEYtEJ>;pN)@=SU?C{lf6di zbtY&wPeh@%fWO!g?wx@%kKeeg=zVY*D?8KImrX-oau1!#hQ)oOmCE&iG%IUtPsw19 zGmo(~6_;p40cglC^s`dV-mjpIfE|g2K=9dkDsKNFQNB5QdePZOOQ7)l7oQvas%GaoH;G^x_<}=KK=Al^8EA9%gZmnEC=@O zm2{goNMlc(J#$8S`g@GvD*{=Zk%H8kKZ4Fem*JBw6}+{+ef5hB(CM{Xlbl(a^kXqe z&Xh>kDRqF(H8~_A`gh<|gS1XpDNxfJ@9`N|0CG*E<W(r_VnrU;gsfB^FB?cWvX~}@wf|^#q37&I+6>c!So3ck#Y@4=4%KbE1{dh1uogIyJDFN zJqAuSK#j$NadT_>o5FS0Q0YZqzLeN|Q%M=EtC90Z4jZGR7Z_VkKHRZg&YUv2uga}gn%2H^+}=+bq>*FIQlIMLC7LlH|R7S>0=b(1>MkQPu* z;swsgrZIGyeh%14aY!i}f~D@h`|h)B+3uY?WbJFOtK+%VUSoC?nUklP6}4`yzV{7z z{q?m{RaGg2^bw7Ws-xYf#ffMidTKDuh0Q4A$ zo%y^ua(XPv3!Gu7eZ~OD0OJ&_mb#AEFO+;N=e#-M)Yg-UB;$roaUCbXx*PTK{_M5F zZ)M-Lr(zOq2w5Lm-pOMEE8)mMkBklVOMP9n?A*S^%C{$m73dTdSO$syE6N2=DPX58 znY92}3>o<=A9^#mQC1GPhg2z(iXX7V`ktAd)wOxb{?gNEds?Nt&msHB23@Na7o@rW zpY9#74DlIVw`WzR`<(JzoJfFTYinBG-te~EfB*e9GwsPIpEPzy*h_!#gC8hhJ!sKN z9%R#+Q%$C~ysq^Pi{4jyeb7B*^XW4~7ZV_0FRcXJo2}8c2vaQU(7paE5eR|meL-n% z?)C%$E0M{mvr=AGVXVk4Ep0M1JRt`T9JC(Dr0OSZX)>-30w77j*VfJNOI=O1uCI3K zS7~oPidX;i$IhUMC>q^?Ne~XM=1AfG6{L>=aRUz!X6fSUR%Rw|svd*NH#?z0F)Vx33Xf4bci^&;mu*=uSX<!LQi|iYC)P2f^@bhKw~ep z*ggvd)z=K@x>o;zbFYF2)SwwYT*Lp!R=Wv04H zJ~(v96NoJ*KcZi4&n}rR%#*?3Lc@;YrztwA_m9~gu7jWX9xtKE+M=}SHXBsEng{E% zy{*NDm&f#cAOwjvgpDW5qo8nW&!_aH80`s5I*C|m19Ihr( zX_4<5SUB?}r9g+Z$T6&ZQk`IcCQcyVi$O7mENfkJ49k}5F|yYI4jMhE%t0aQ-_qz1 z24O@v=1L6{-$~z^3kU(EfHSYa&r-sBaX4^J*@rghI8Z0Yj~+GxBuZr=zvxgyK<`q$ z8i<`cw_9^F<;SoN)fsg|-88Wc$eugD- zRE-PZ?2PV>)4Db%=VPMpe*ipt7FmDp(Wcnnbw(nQF@Sf^s03$O07qH*3bvWpY*$VU^`T~%~Z;H{k z6E2bFwt8tDs+aPP<8mUkOX}Nms*X)q2Gtf?$7l|J>KI@B?Id&65ss7CK9=7crx(Jf?C)KP z5XefX?REodp5L=VSt&@fS(jq-h4-n=H^=?;lKXZzo37=A_oqfl%k?)D}(&Yzr0Ni zYL|3%jaffiQ=&uaYWz}|r^-K6Z{?LvjX9;53z_U#^v1ww&o5MT7!k4yWC*+#0D=Qy z%3YmW{>`xgZ$vq8%!w%Cd{g2TsV&ui=Nc{XvW>Y4#&8?~#AG6x^fQo&0N9uvgyW9m z%Ji_4h7Vh>Uv|&8Ci?$<6QahLn}!f8XT6&$|`jVY~QX1yw7^r0AC09?zY!2UAknYz?Uwm5}2AX=M@K=zm#t< z)EH+Ez{-8){<_8orwC(7Gw@;t2_=9tz*@?FjWt7W8o&qV0YUjP$eA*trUsw&lVyGe z0EH8Vvd(;dG2uH5{HOy}n|DBbg@=q;60l}#R?nN?KtBqBiQ4>w7FlxFb*Av$jE`6_ zqfY;_ml6uBi0-m)V!GeVp__ZpvcfsC-t-!A4s`_w?K-TsWQKLeXDqX?*9h>*K7_Ta zthhkl*|1(VD@Z$VV4q2@0u%@vnwpwyeK5GcC_m47OsZ6G4Kq_v*GySisT39#$c`P` z#pkQDHMG=&iUo*eD3#3I+fM1>tX$r^MJ^PclxbaCtatbIKv(|_vpg1Of;2r=1dui{ zCKsxTX4*1v3OF+#T?#xIQ0m_Q70KNFML)8} z(Yxpp{%xgZYDif(z9Jgy^G)yEi1W!hpu~u*5x>)PYG1EqiOYZ{{Q~nJ8Xb6L?`rhLxGG<*Ii#DIASG-dTrh30a{#Rh?$lO3?h^<;^4T!N88`3Be*~8|E2nzxR-$A zhRTJ6NgM+m#B=D+hMEEit29OQcs+4RkL&Z(3#)>{gSm1n@1R6uDZQ?%%ceydn{BR~ zn@z)pqvvqw0Ehe*2*9wRrnmJyc8>Z!)~D&l7IpkP+oV8!i9Ne_s$Hp)Tm_BKJ@>5C zR+SqIAXyox+hIN3vulU>9QZ&0Ue+1a8rTvt(LY{gHqFV%58GVM>@|yj(4pWRLY>9z z&h?7Z3tDNuN9K2~MhGM~DNysWA*+$)K$=UbPoLRPUx&0c$1R&fFv4MJjM<)oQvXKA zg4i0;^-Hh=pAS2ST_Kp59n8F`GPfq_J40s@uq9w}OTTj|vGZxLga_q?VPCZ*)rT6J znwF1NS*5p<2R@%MXx*$*2c)ovuOczMJ!zZn32ykqd zf9S>e;Ih=J!yBmgSwl6(oJ_>n=%93_o8|DK12%6c67FUfEG#&62K-+Mp`3Y_OY{pru>dAuoARRQZy z1NenPNy*PImSVt}B5W2C86Ee=U>Mj`lrm--Ii3fk;T&czeA|%v8k;e@6wMWkn3dwx z6x#cV1iNgG7)owB--TgmfYux*1CWPN!Jt@Ovl>8@D8CP(T!ZI( z)v&kt6g=b|lbHj1<)bavN!h<`t6b3gI#yjKJ^Gt4x|TIkz`$>SvC`{WcnQ%C90HuZ z)ja5v86F%m=a8uW2OnIqOj$M&Nvt7cVC)zF-7l*AJGt}DI}LE*AXipYST>FMW-~K0 z^2*Dv$Z!AF@5p`M|Gqr(@S}43?SCZ?Jn(?^&7C`YPS<9)8B;(Z{WshPoV!-NXHa0{ z^iXzageDp5hyN#QT98l8KlMg>fT73O5b4c)KldHr zM+PtR`Nf3u0@V8obuShkwzZCP?EVh^k}-BN!=<*S%pjCqODIC=0BbT>cC|dxj<0JJ zk`&GfYIL0B?9VPG>=8g2ztxr1Iv?hUs&m0Ur#uTF%kScPFyhG&&og_in!dE*5t-KCH;asq8l67tn{ur2@o@{r zF*h*#!SBretz@1%S`v1>z3zjTv`6*+)-k^1xYX)8ArN5H`2aIrlQeHzU!<)|T{{_j zY*nJ4;}`^#(8bNV7NPJb6Aoa5)Pf*cw$tkh*CZGSDJZY@bpDqTfJB`yEYWC8Dizc- zQ<1r$zN#`=zizFO5Opi)0*n#S@742o@%iU1%1<_i^Ir_4vBz*W8mpJjpgWFaq3x&4 z=dpE^Joa^8+vk)iRxP0Sf^1sm=h;^YU-`0h?wl+4*A3FJ|J>3@t0+;R*xIdNeMFtl zu{s531g@{G28xd7NoDGUlvh=(y8N`gXHcqY>!hqW-|R5Jk-j<{GAl1vosEvl)PZEz zTmXjvR0g_QRTs2NBGxGNzB=145KzS%81S98q2FC?EwcH&_oOkPzbg_@9jWVA?;F>W zb%tGGT`e{Mf2jxHuC=wrf(O}amLM)!(`?`6Mg{*Or1mIKmb>8lRwIDZM7YkbI{@G7 zdsZU?rV4q2G=$=q^8X0F6#{Hij>jaJX^Y@0BhTnVEry$4}cCmw7i%aM9vGP%mGCxn|2=+$oxK=6z>XFzHF}_ zN;B_^Wr5$|J7fAg^Ud`Jwg_kR0%Lp8?c>K}qwKQGv^#|!+AA+O3|D{8{q4QTLLOBK z-k(w6-od5^kj>4_t3Z5N0oAAEu}2?MrVz7ri?BL)@SuG6I}b_Gg-cd|=9j31-0~~0ydq!z@|R6uP)@wOv_#%Kc)+S~H8(dK7#kZMGfxVkjd(o>QNdzE zrL!ItfZc#A9aq**K0yex0KhW-UJ4ZJ0E;c&DgasTc?VoHnI|iw0^dpGck)H}JJLyo zJB$nW<{c{#Kq>e0Y(jVdo&aBNV|4@zN>lE&4g>bvx;5~xf*+-f?_{riuEUFlV$J(v zq~QJ-Dh5JsCD;845$87@1&RI0S#}W@ ziY`#eYc!p(2J$ZPH=kRDT0&t6cTDPasvHo~4N)PC{1Pf5?l-rDH9V9al1zG7*WbO| zA3z%IDXukE8%Vnn?6R<1_k8c@`_D_u25BWq)%y1oAZ@FE4-JN7ky^RGpM;DuKu(p~HPA27!L%^oAh z1mMBEdA+wa4Apjb+*ow;X`3fnoyCl7R3C}UlM`PoQ5)8(quDVLvYA)+@tNx_V4_|;s=kiQ= zJZmG;)hrPmBexeCA*u6|W3o6iB{P#wqv?YxQ{%CSWBAD=rMD*_FFgO8g{H!1&-=GK zcV*FDL_RWo4SRIXtuk~hsN+D|$NnNdyvPfrjVMo^8coT}SXw5A61vZ0R&WQ9)*tP$ zYUG4HQV_(gM4o$(LWuR^rmKW0qNZcSJHf9kqQ$5BK>>Qvo}~NOjN=$ebsj8SUu7;v zOLvcdsASJWp`ZrwwKYm_q(^3EX-0kJzKRj<=Kya^>z?aV9^MmFFsyn#jqw3k4xe{g zWqCet79khNZFYOrF?SAcQn{n|;k}3w<8$`yN3Qht$cAp@+4)gPt@!TCqXtkLTx*hv zYcZ#Yh|<)xUK!q0Wqx%Zz;CKqlB2yQqzgF+EgKpdQfBnLZQACh2C1&Burjnub5jdF%8kPaw7zx%p~KRmv#J9gyZV4*7@zB7KpN%uG*ht)l%O7z7@D z^l|Iqbo}^91>>sBZsp6MT>j->{-u27%U_Y6p0I6bK-VY#=5OTk#fx{tv&c#N!4G~Q zufO)XeUDPGcs3BU>15JC8o-ROM!*>bTnIZNcY{*;Fk%${d>$~DSWB!K7%GaC*EJS$ ztI7(@CHEZbh41yKQZPi^yuP2iCh)5AOt|G;&k}i`RM2$7njDW46-tS<$GXTGAQ9gz zNIGW}IH4)I12|OZeDIT(*av&j_DuCAYUE#&<`OMgav<^*d z16_quZH^}nZ(4dn!J+=n)nKPw^|i{%l=FLpWRjOw$h#31OkM!Fs<~s#ya4Q(4+LMZ z1uG`ua}GG;JnNl3gW{3R=L#j;H$7c8M}R@Xg9oA^^8}$VC;R(UE_5g#Z?b3N_u%i$ zC%y6R&B=DcYtilRmUabPG??}R0bYb55?}{Nqea8zi$&(OqcufKV}o2gf7Yr6uFOwc zL4%`54%^>x<=;FXhM;^PjrT>~n1^_4y(6E<{UOI05ajZH#)bPKFUYxYnJruIl741JMZE`#5WFd_`*C2vC;gdL z>7Q2cvfN}kjHhnmMGDkv{THPx;Fm;V+;iOX(V*%d9c`UbUr{Uxlw5s(cPt>rgW^QI zQ-{h=^O7`^!{QV&VXe%KXRK0Pdvl}pay@_UtmUUsC3azI+|E^%mr8kQu}oP1*ggZZ z$Pl*$1Y=Aw5n8@rJS^nEi~ZJ(8>$02CHZ#%HT~Q2#&uq^`SgB?@o=mEG7jNZ<)gZ; z7#H|F=@fhQ8>Fxax(n}&5rzmP43ZSr!h4N@Bv&8XFKq*9$f89%1AXh9`I$h7feK2L;j?CqN(jo8MtAaqs=g z)(1*)M{l7eQm9Mkwx?TlleDa^u2_!cujM_tcI}$!POQ_n6|lWqU`TKF!96H6M`Q`P zm_4e$651HnHN{#)CttV{R0^1q?} zsC?vlZHZhjyCADm(=xe~mgI8heF3%jT8*SP+6|m7Om@q1yk2J0DtID$mmik%=b|FmeSr{06a<)*2vpr^z0VQQdFk)jG zTc4xg8k15*7^M-VwqF+~iX)aPgqnFkwtj<&=WjMC$~={ptT>7ae?HIsU6=68(YzW4 zF^NLZ;(F=_2MR(qOQ?8vlE@Q># zB-PNX1`;fqwA`|M{vW9yBBHA#Vx zkN?$Q8t{7W-S^CLNfo{$M~>({X?D1(iu0_2AgVPYI1ze)GZef2Fu5@fICB+BcU<=p zfUF6;sg_Kf1Ee9w3}#NDj%<&uOWYrZLo-myJ6khz)`bfA(M(DK7jf09#AOCe86a$m za9%n5N6~x62I@39meuY$j+#qBRqsY0G>c$ zzleO!^AZP7=q>^q2FaN44tUM*%mD!1u%YaC$wziieRq^VQwBqwG7#x@LOZj7DM}5` z*`olA{p8-C@3U{&1MCs@IE2#3yB4x8^U~IP^BcS$;~vs~gWZ1fq~(VGTj!6;x~?&D z;V@Y6+xwLT9E5UG^oYI9m@z*nFIE&u=Y{>^7$oY9KaybnK;{P0`> zI@+bWqErGZt47lUGCw^oeYA2od&U|e18guhppc=2PO5A!I(N=O>o8no2BNlacn@R% zz?ahZ3HqC$sKut6T^OY@6bBQ^{JD&{S zE4Bsi zZ%AolKJAG2C^MF?ee(5}`!$Zhf1;_%>tbZc_O?f|KT7Gv3rf#Asyf1lDa((?X*|_$yx4dYdV#J|{mLmvi>yYk3`0C6a}tRIX3 ze4lZoQYeu@=sb8c_A4i{36RE^lEXQX8BiJ4Yk({g>XvvkXy?a~UkcU;8U7&3>9ZG1 zHtV_v93XEjkBKqU{ebZ&pU$@*;{F)F4cx1I#VE{P2RwUS|ACV}j~QE3_J*zHkxzMP zzlFr#zKsmLw|Onc+Nv5CdI0ur-KHMEvP?`)NN-p{aa*GVS`@43SYrTo z`L|1sUddUgdXgDhqn>{kH-ms^oDmu|5{ppBV zdiOf82rn+oiLa}}3Wrejj_??mLu*U3oIiKo8gQ0gE|Di5f6Nr$g@yHPVC#PAx#wP% zhaY}iBC(`3wC)M@Nqb9+^_OX?E-~u{%qDwsm@KS-B%lu}lgMTa?q=w!DYi)h-0&Gf z&_U)~`D{6T%VJFGmPG@`1p<%g0>P#4HllVt9w>GByiF*&SVv&q+1@k@Gf_nqFB?jQ zRh7(9Y*0*Cl!UlBO8&ib_FnoK0-VjAJ0{S$KGR%#lU%)2BzNvJU+tEHp!L%yWV*51 zz+difc+sFL;pu_6t@r&ND2(N0W%6(T?H^e|hslX8VW4Xc;6>4fNF*X3``CYxqM{;; z^#|Au^vC7*e((3CxvAMKJgi;3YIrl27MHC-XkTy4ERr-DCcKpSBPOfFS^^DTJPa?-p$K^yv}1uH_x3i6e>x&>jNQ3^G%B2q*P&`2OS>lnekz} z9&i=%cSvhPt#mfmi@&W|1zF5;s;0+=WiZ}nC8N7Lop^l{Xx6~fNw_8?tG=evybl)g zx8+%aQJXiU*)d*F-Hp&HGX|J-&s&kpCB~CIff9lBpOB({WyDt9bn6{+3I1Z`!1a0* za@%*hM|loH8m&*<0}L~9o{`W8DtA%^v)mENI+rMTk)EK?YwXTD`%jL3`|Uf%4_R;7 z?*=FWn5~ZvTV%zm@?p2BHPoYksycQ5-n7~rkXEW7EigPOvkKC#*Oto7b4TP#xLfA+ zH#6y!DUgL$VI3bEu_6h~DMAm!SY`DIIa>0(oUeUDx`SKQNSTV+^V@55S~e!+yoMHLTA_gb1D;40!Y# zr1|uy@-FvTDQtwo$Ubp-*Ikcyb&-J*_uY{r$g*&k190(jvd%G3vd{OLGlz$v(AOIH zLl&_|n2)ee0eVlp#8WDFCnA!Z_uWnFXqz}AMX?um=ps;H?vk7g{z`)L#XHUc(#}U; zkPCH3rPHrGCo|(Y=J_Zd&qz~ai#4qWI5Cd!H1g9rsxDYg5&L~m*GaDN6Pg)G%aroR zu}n(mWmr~-8X8U-7{Is%P@9_=wh-34071tPu)>}|uDhU$+_JPPwO6iO+uB9@Kagdq z)UZ{T#dG1#J;XYXqHwCL+RK>8v!PqCha5gvVQYupvAO)5@nEk+kw;rzK`-L{=r@T0 z93IMVpjaa(0PAU8-)0yuKxRPf1qyxuh^f{%u0+p3deVggJ}aVz=aTbO+58}yQM<%* zJCP|)%N*7a`k0rlwO_(J2H0@qVw2vVdpc26Ue|xn#5-b~ApHkJ3vG}F`eHIOH7Rdh z-{}Fyc+k+$AiwiFzayXh>}TbPC!VnNUC6;bZr*xJR#unHh!N=tSb9ek@1%|mkp&p0 z$5VZ#uVhC7ah_b}h~g^r3-|c}x9~#xEuv4mhG6u)p4K`Ae#+PN^SJ6DmYW`r7++vN zd}Kux)eVx=6)|GfpIe%e%u+-_)%{g`99V6X@s(~_^OwkaYmv;Xg=OrjqW-nr`>|PA z?6NQ?I)!weeA*_kDCb1eu z%K3x}daOV!j!a@;2NNP}hDB>uVkN9jR9nooE&@q7>>iM59crTmMP+!_?81|{C(H(-u(l&^$7 z0xhx?Qn!}^gMcJtgmvO|FFph8`BgFSS|5DInlvD;pv-NAj8aeD68UK~Onv^@XXWha zQ?f8MW|k%tzoUl_$${5ik@CwIrK-F{{GFY$I6G}U=PF7|q}4n~kf!9%Ov=o{qJ=xYRa++4R6woF&&tH; zkfanuuCMJZ8nWAg7Y-{c7G z3#FeOS3sqTJstsmAH|ZtQ9j&fVx0q)Sa)M-l|gzQ!aIdWnULUo1wYJ)(~I|Fd-Yv- zS4YhyQ^@aH`gKg%*N*IT3bpV#d5QEL=$f)U2g&gQyH18#Mno{Sv>lQCE#=U&TM0go0L|+j`z6N3<@0+H1`2>E-Wk`^dOu`yq5F}&j@OL6gnVSb z?xkaVP~^z_Zq;+!#ot7&<7G}^#85uQbBqu5tGpeS*~u~MM>syJARQj6d-3iw>saAM>#C&|gv0ybbs=4Y ztnEZhLHx+Q7C1OlhWhn4RJWoLJ%(_Mcow>drOR%CW%Oj668o{VWf zl-cZ(sVh;Ly%Lw1>jRdfmRxJyJB)IsLE@>96#=<(XJ_&sOo0iyc(F)IRmp=n@XS;I zyRFClLPe4kh2Uj%5>z zAki0*unOFKKnd>zn;eTM_nP!|fDKdua}tNM~{;_UCTkxMf*dC&rMrWJ68Io*-2}( zx~TtR!KXqQc@_P!uvvc*zT{L~x^T{ls>GuT4u=%Ls<1~mV|1V#zEiG$|G)R_oT1Ypfdc#z(Bzj z+GzOz@6635Sp+aC$a$-*NUj7rw}G^Q(Mf4}AH_pzb3hu!LmKpc6S`;CbS*S#*2CRn^T{Z|NgoEQU1qQ{ulZBiI57FJo1@W{5dE@^2{ z8LaEeTXEi=7n;&%jI?I=H{*Q7JRC9Q)q}lJ&*y}AR%8-;Ej#25{(>yPc$X`Wn6K=; zgaS$)Sw6l5A%6gK7`9N1;G?4yZkX1+zSw9Lq`j&%J_w?SNOMn_w6y4)d5rmPL~dH~ z#bRl%DYp4=_xOY6C5#W?AHAZh_L6}#^b9%-xR-e#0kjG4G!2JTmq`vd6*OxuImRwR;`Mp( zXpCgi7MjNI?)IDH15>fl!hn^(^v8Q;ppP>87&IadaMSY`I^J)^M&6BLSA;8io!?2$ zo_W9P#+?i10eu1B{C@BGeu#B|F~Q%W&(zg!sUSDszAo>+_pYtE+#?naS{2RFv0=G! z^P2Sb^~rDj)^Az#6YF}f!>JFjruz1{sM@W+ABUD#LZ%5Lw|VBlI)(b3&CV8p8J(fAouw zAcPUd)_X?L+|{mTSyu&MdeH%D_v2B+Yc{;;H*f|>gC?#a`Db3=F zjuXO|TiJ`r!Fpd-T51DSeCd+?zp|pj@73f7($wn~eQ^FB+Abl2;+mi-B=2|<=jjIdJD|`Vf9mO1Q zwe$b%bKDyy?S{T&pYx*882M@~vU=&f+`P{aNJ1xXoINdzO|>$viU#jsUI|qg0__S$ zbwi^-TrDuf!v$P;!iaO8pPw_}Ra;vppZUz^q^7#o3NRdc^N=c1m*m>j>vxk_2~|Qd zMxgOG9;xAU%DkbBx5eP=_ycyc*Hk`YEU|L4p1jUy6Z6P*SS!8GvnE&@T{T5!NbtTU zVBa5z1WX}?Z&;aj{dZ=3RLV<=d}RZzLZ~(eq(S7R zWu|6id1+DBR#%i(w?NvI469Jy+$hYGwz0lum1?t#hn#FaAph;c-^o`me@#mLr?-vY zeu?p?2agkm=TwO!U!a#9O9jgC;p}nTi{R@t{^wrE1c(qW=AAqqw^X_p!9N-s8zdNr zN?Ji~uJXSdMIr;z(cU3lElw}Zz1A-0Q5GnDo^7Saz=#~cNa*#9F0pSIEA}4X*1acI zX~*l;x~p=`ZxROShT6NIbB_ex7xtpQ2cd6-nWfS(Nlf|-oW+;x?mHT&5Nho!k;b-0 z16^KYo{z{YY;X5lI57r4gc)b#3Pv{g3BcHL ziR00`dIQE9fLc7BD5zMEd!VajbPo&;>;z2Y#jyqeqVDtIT|gcIka#vc4Hg=v@1Ff0 zyAd*r{X@R9r{cRs>?JdN>+g^ff*yn689q)l0j(F%b@Is(LfYs%M|-Deq(^+6sz660 z(x>uld?;Z+4G$Y(rFh%C?y(}TYsKmCdL{XTQtyr#O~ zSHApZ2?PRL-`IK3M-5{$A(7~47=$VGW_g|}OGfqg7p5mH@_>+Tau4}@pf_etpw8AN z)k$Jo0R7&3AkWcxsR=&j$lVNPZiha|D0%Ful{USMo5di&^M**JejMyg5`2(?O&zr*q-2$97jn`<=$P_?TP^Yqit z%EJ#oB8LwjQ6RRkYf?33`RnWIa^lDx@n zLdjuF5gvHC`g|mvUf!3mLP#;@cwF}KCUHMP7??XRVdOAtpMh|mCl_eD#5v1(+$u6- zKus0<6;-lps;bNawYsuup92I)Y_C@E)vQV-joeF%FIWKr3K0O(CKaUhDPTVI#zAF% zQJESA+zm;4Yl|E|a>)K)bpEW~LzN7?X$t&YW`~6o!vky8>scX$4GJO(0T%XwNYIo9 zr=7t5ydDsOo*YoZf7!2up}wEcl5E0)iEt$L9}gt|H)TSV(!B&F=R@6HHs*y`zzI<@ z>$k4U?Dw3T1u!iuSXwutiMk8YCX}M1Q&N$d+5xuqLtY>a>KmJqdF9#b3eYwcWV!jp ziwpB|eJh7^zsHU1*CaLEC*>XI!)Am-3ksU|A)s@&RP|oWscTp@5U781&+OJaBf}#KLSiNx3oT)eF@1h+M)}F0@s;fPN0+f) zfCf4-bU4M(cps;w&%K<*LW%EF{c~tAzc-D&G@w8P5aNO!3!zh8DB^21eT!Tm(`mBS zJw)$4!pevGBUbq|(5-+b)NRFo@ZgOqaHGgo_IC;;-hGg9(Yf-~sh)xnNZ$*2ZP7};_Jj8J!{HHwdf0&;b2MXsza%gVyE=`2LAOpT;ueR;vc9giP9qPk6;&~5>JCik7t z>8y%x*spwh?=X0m#xiMJv(awFONt3Tl3H|nXUxw`%i7q8TvcIorMuk}FTzL07W);b z5vo`iP$RT4vDP9JbM3O(cwTOtcu5vhjWV*~vqBaFm? zhzZ+bL!tyQiG&!s`99Et25IyQq308EvhFhh&akXusl$Rxh$A2k#_r|?WE0m1o1Est zu4U9E{$|7TZn^L50K6u%W)0xR-zOu0k@VM=$VAyixqjx9{QAD~)n1bux|vp07%s=- zyY`i$JpS{~zaURN^|U1?;T&1PmGBtbZf$ z`8^2X&U)q?bCfSE5~~~Q2jwW+%gcLHvGV-6bCyTMXOvdAN_HW?gabZlYif|EpL)V7 zxXmaSBlnElH1ndV(m17njD+`?GDmXN-Z=2OHJ(3v>ZBYwbjZq&10dYrbQ-G9#XFtPUbgx>Y6HdmzSd_7t&}AO5w{P#?0*p4x*v)_}p6ibUsvZmv_uE2@#!&#LJ(_81`W0O*IpCOO6 zc|aP)LuMA1UFP%x&S-mocIkW0lEk)L@~7d$}PhWdyCJ>k;pa%!JDmGpgwzcI6nK5P&z6+ zQbmvOV)hLRnEPD_YdMPZULGQz4^K!>vjY?<`Vj7J6kkAP$!NPI7P@6{sYBw+^`<{K zRT&T3zdLjbrJA85;-9_fd9HEvgtSkd^E}r!c~+W6Pwx1f=GHB-5-BgQ6dH#YQgxGS z>*|}Ny|KpD7oHS&s}*EYu-+fmchfz=IL37Cp)2I_dFBLO!q{L;Agmo?&H#R1N;mhg zVq)YNZ-pqLL|P6`Drv?_uaL6cj_cR2*&d)WYwjAh{C0gF=Gy`1wdU!gIGPn+$a*%b z3T*jy4rQOqCHOCT3u`dn{^MB)FD565HHch=;I*tPJc_QTk2TGB!GleHkTY^P%u29JOpE1w(ie*#CTxoS*l~)*8gM7qt_z^*C^&j-v3v> z`c?U~0<-$YCe!myo;V>t`SDMz6&H>CQ>u@#zULQaC86uGN9AXCTZ7PVjlC2J`J|+{ z$a3b1m?Mg3WN5%C6q6Z{eq9e8Z7tGJTVo)tS9KT)#CWz>V18Ba0;u6l^ID%?M5GeY zNa#;Q4SfX5)7VT(l}@Kh-Rk_D3TXXzD@Tp+!jYwz46HQY7f?$rHYzx4lFgDgWpSuk zrZyGLZYqP{?OrQY5=pl!SQ;w0hX)5r2zhDat4o=Q zqHmY+z}O5OXIlnyhy~B$XOrCxYt+wB@DPZAAS{`b+oXJJ?j%7E8l*wQQv=8-@?iid zNC{A$MVUlrqj?L+v%sTfin_G+{pG9uS`~dMDG^biCL0@D>*Tg=bQk~(;b%YlxjgdlBUVzFhPr?AH=mRr{qTp< zuYxD{AZ+NlXP=kve)l1H=ILi-Al_##cD!Z%`Wt|=Q3Yp!V>~g0H^orO@tPX2*a?CG z_fZ8(#DxQ#a?j@yLW=u2xoNv!&)Q?%5&q&Tp$Ja1;xk`5*E|yqe(5QcJ4c*jO)!T5 zpKOCdE=ZeEfC}FLJkUR8jG`Y3&Ypbo2}$a>%uc8Uwq{z!OR|?_$E0XAEyu+Ec}vycr7Y+z&9z zCImBzfUDFp?kMPHjn(-=Y2OPZLtMi?Fu<&P4v)I+7Zu3+-4oeF`R+ayDwAWQmWx}+ z0l%m6Xzsf*ZyS2QE3qE^SLbAQ=I)peC`fBa-(T^N+B_hwbx3*L(u&;Bxx9J)sN6bx zSZ=CPbyN4ujqwq=eZ|?UdmSq`R^*qhkIR2J`ls@L9QmmH_G`Z<|JPsrGx_hH{^#;9 zUioeL%=!N&4_EwL{^PMfl`mZSlC+21JS&G^v)@?X1G;9g&@->_M3iRQnNVpJF93Um zHQ;_1K97>Imq*EqP%KFn_d2&1b#!!!->+alq4)3r0Qo2$A5z}cCGD-v7GCM(_OzHB zAcPo?A)c6Q{)7xep~dU#Ds!w?qB8K-02+B0!anH>Me!3t5CH-hb&z>G_=)l(WC3HE zd+y#|20XS|BjTX)|5!+s=2W-DM>?b->f2iw3y7&Xo-wkow_c zp6BW^N2Pr5py#>vWU-V~T$E@uVbM2UZzP)Ac&R%v~@9{mOqS;_k|C0eLg;q(%T;i zn0~@|v2KxL^r^CbX{yt)_W8eKw03&2VUXt;Fh+%NS7Zh$EhCn~v=3cGuR(9ba7Re} zM*vHMtIaY#gRpRb8k-HpYi)kkXnKBBGE2&=R~tQ<)Na(jRx2Y{0y256_im2b_?55> zuI(Q7$Zv%Qx@1xAqL)BtDnP)jB!q_wSED$1)BEw@@SZ0-O$ z?sLa$lx1EZ2F%g=DS0>k+h~O|FruW~WwCbkBIz=@+HpG4z56?iNGgiVO{r+rc zivs>j^7hdqo?vWGI&nhY)6IITuTRDX`mF#BA&M9SzVn^$8c_2oFn{EiKbKE@;uBI) zR%W?5xoa??-|hDK43u5Fc3m0ytW|4tO6iZTF{CNuZ`61&R+=M7&V|24cavhIx(X-v}%2$9w|-3Be%gI;O(R+CgM7 z8waG-DKk7T8|xb~uX`4c4238rbidFGjcSe0JpC(~8XvWMu*;V&%7wG14aChTIK#6r zt>CSyqTF&#jln9z=6+4}b;>BK%=3c+;r^}(UjWx|Tw7X@ z>%Bd4BNCLi=k{*N!cjX^D_^Soy8N*0r*fp>sQm7me<=Umul~9G%a?y!{=>2VQ~vPC zAIopO`n&Rr?F$fUS zl|7ChG_e=j+d9oN<^=%q5#Ap9bkR#RsB01B0fPzNe%3ifj0n}onBZFQ2{}aGVbIBr zl7Q#H)5ytiLbz4QY^t(#6;<}uXi|n|BQmhG zyWa4dpwMi&w8YD$uC7tiL#hONjQeiX+|(|C?!b<{=n~#Zj9dU^#)_g27~F`uFkY^6 zlh13GkC+?yX1}g=CpXvmEvgM?(o|MmDcGBKQ{^ZIo!*!NE|q`T??9<>bPWn{jAati z-xrg3Z`4{-y7kG1V1fAuH5D-dC=-Et^OmfhV(nX`hl$31)2ZrV-N5 zIHFUa1ubR&5UUEGj*?!V_HUqipoZOdcw2Yb8^&bZDOwQQ(bw28)yQ9Sn+{??0 z^6syI1=9Y z`@jEtW-wq)-g)O8i=ZMRDi&706YjC7F+e&xI))^BzJZ9$O%2P^+>|WOPs{xDgypFH z@|V9%d=J8seF1cPb za> z|BhV=d0v}MvC%fkjKVP1wx(_W$2;%5CyOgLWPBg_XzBF0bo&Ex=~Ahbl$1(OSDS6b zd>h`BPAuqHT6Wn$ZsMO?2@Jty;7n1nSH;F``XE3WL|7$>_4MH)oC2YWB@W9F?*ife zcgi7q=lfudajkZ_=dcjAUD*cO&kBi=JGqIKQWVPpD!(*VZW4 zE}oZn-?+bgwT;(alkP_!mGAudpNp@f!(yKwdgy!dKmX6aEuZ<+r=+5!*futn8VV9z zySlw+6QGTCNeDztnS<+Xg|LpJ=)njWCyEa2HyIc}j{sqPF^UpsoFDM;6@S24EowBaXm^`&-pMF{%d*osH)f11&(@#DwFTeDn0=*h( zX=;>!zw2(%3hqThZ$o{(bhNjd0V(^pvD}B->hu{eD|k|7OV}_<#~%BuP=a|Ptos5T zRuvM3fPIX2+VVIR0DCF%5Z(Y&sFdjf0$9(x8F=<0<{S@>0dD3d;8P)2U?oJo-n)3n zysY>2%3H-}tQ7yM0&cfo+W5qz^p1Fgt-WYBkTx_uD_2&R{LsvKCx++d<3Kp*_ zfZxw?Zm>wsrZ395fg<@<>37VF_J4Wm{~?c*|5zIRC33L&75Q%YL(&$gl(ddLN-7>$ zngs`x`e=fkj7xt=fzQ^yg@*wecH{AoS-usZ>}GU((8S(tZE2Iv&XA|#zZ>=S4M|N+ zohh8TRe>==(!3tt?*cO3ABD8N^1?R$#d*L2)%j2=;Xx>!<{fA#-BYH$bH;0|8lr)W=6$Wtd}JZLD(h2&+db;!?$G~}B3XqV$WcIAcJ*S&(JSZ8 z;CAr9>vH1Q5oxHakzQ4T7iY$0ZE?45TM_CNfZ$RPG^uPV@S^U@Ou%GbX3b)6HZh0zfrJ(%>|uOqU7TTY-GPAdP4D zdVVZJxc*`C5nZq_2sU%J(g^c{nX$3GJU=XM^O*7eIf^OgU^d+fs&dB$27%=n<&uQ- zd`fLD@ja}Cj@9*EzSM*Y^6Bzo**tOFa?iZL*lzT$erH0#Ldo}kAoD6%E*D>t&wTpR z^6hVZ%M?>`8>_2oES!-BiMa>H48RD4<97kno`eUElmy>&_M`h(iBvoGTOKmX(6PM zv3G$1_kvk-f9^>SlkDHNLM#f*hV*?1w|Y?CGcPhL*GR@JUCF-aR)~y~=%4LjfLQzH z*;4^vLQ>ZR^TU3+UqMNzGT?!^W{yy@P;?`KE*-bItyQ_d1JAKnUK(S(s_%HMvqj#z zd{)*Kw7GKuPfCtYN>zHwO6cbTuH6VQ=Jh%K()z}o3XdDhOR_mVDH|$yH^)b1y|Y!W zt5Dm|vHI4UOy8K5H=;-6|NZK}mjBz+|GoV0Z~lLzwDXLvwQh;VR1u=7vF^iIXPu27 z`A`ErDuaT$H&xNYg3g=~_GtTd7v7#tSmX)qBXlQwEI(+Xd46Z7zFRc0P3hl@(mH?L z-BD?4RbHCeZrNpxXB4cmUb8&~tXn)}E^y^D)-mhesm|xK|HDJz?eGu!!0ooy;aw<6 zoz)kO|FFKPnwiW5WnijR;tM)oD~(&tr~lysG^l5`Txz-$K>52RnJTP@9hD);d-waC z`T)@QaM~2Xp7wh2sVu->J#rx%Ur93z*QXV!oA8W_o>tOy82p$a|l zS}ZTlTSrYDY;xM{>~07Yd$?bV#=}= z=Ezeuu~+3DpuVSt7C%%dtdNXeOADv$_i>4cA)=U^JTGVc;;91MVYo&&A_4{-jcW;a z#=vI!QGdkxqIGxsCEnjB{VLDW`u+aU&Yrl168EK>UPhA-l9CbCt2>*;-_feTJYpDw5Pgi`UI4ACs!D$Oi(g22dAVG_ab5SxxXP?m z1!xE5;a~nz{^qa$T0Zx8e`kgbf0s`_@$rw#pMCVB^1Z+Ro>Z2XS!BuN_=F4$^huWi13nO zRq+}~h)_0!yb~6Hvepe*F``TqP7?kVH&GPPr3!Y$XFS`2t^Rja2u*}ufOWE;b@`W#aLB9U= zugmupygl;p!%|dqN!QKz)~dR9zzFa}^oDf<>ik-@MqN9O5Ovm*`}}}lOX}7!%{S&Q zF-GKu0e1If);jhuV5~IE$zB4(QKH(dq7~j^)&`+8gnPiynH#Gzr~rgm{Skzzt{rzB zc@Y2#4~zq*9EF~L0bGPU&dp3)o&f?9!J6*tvC55e(^Im5wM?(MM+;j5{a)^w)9zsV z{j-VZ+s!)lV2FYZW45Q*LssxX#~a|q_(P1X8;ZnQH6f|%^{!ypV{USZ>k;7GBdq&{ z`@u`#PwX9cZS)4aWJaH_kUWxGw{GhgPn*>{`#rIEFXC_mav49ME@iq6N}-T6o> zNUKXbea^f8xv!4wWUsO`da0VDt&hpz$ruDdU_|3 z{Jor#%xx2$@^|H5k^kp&|ATqb{)d--OCGOzN;-n7*anK7JZ+uTUuNFI~4!j2pLFo>$0*cNhaCf*~YvH-Akip zXkt8E9>%}DoviDf{mruZ90Y$e#Ye}(OEzM>WV}&WP@br=H>meWWc-qt>5zd%ouidq zTJ`(`r08;mbdQ%wWnD$VRX53F!<*L9)NI}w41I(#$8}v2c>*tS^C1CereNlbX*N*~ zp59G_3qtgmBxH~>;WJ}tGn4^j<|oJOdSn;M4UO>25AqV^N_N|+e z7^I@HW4xTz`_Obh7zoL^bLXY4rA5M_pn33?W+!A}W>ShT6-j+{r38E`M55b#}H(n*Md88A&LZ?rw989A@CB z$X5dbxULb>SUL@$wKX@nsuEkZwKYg*NG}PBgO?9=E=m)To!$!{i z=wNi)eRq(K1?z#ip%74ZpTcay(A?kSL^C<#=id&}=wX|QEs0kzo$tMW)V6Zs)n z$*GDmra*0A1#nfEbt|#nBop%;vfNiAt6i65=6b)3Z0crNb1E}=(p;VNX1c780o7d! ziIe8i8*jZMGqdXk(9-D{i9{08(e9I$<|cEwM*JO?)S5k@R?$ioEn@7+FY+2pVyyd> zIS^{aKxThGn*b>=R}xVP0pPoMToQdz18!DeL?@2EK-t2wP>|+=Fqn%KG-$6iMVq*4 z&Z9gK6Yc^pP(5LCFd?r^jM7O=G>h9Sj1H!Pkj1Lc;>$kAMqvE#2Ell?-G6K0@jV#q zZUA>1>Gu%&mTa!?73uDj!MFpWuU@$-cdlI*Q6VF3Z6c>ndxEjO==PyQa-*n7x=);t z7oK=Ro_XdOv*gSu2=OYzk5Y`)Eu=sZ=E%72ri{Zh8BdgMuk+c&{Nbf>^ELJ&<`t#W zV%R;-XA^>e>l4Z>2ydb~QX(F;&<-k$VKf+4;5MlOHhYcTFR}Ijf`l3Xa8g^97QL?h z2S>Um+3RjW1QRa}h<|D=)>*heP)%G!SZT%OOFVPc+Fyj40N<0WcUi5^*($u7DF3}qYWvSf&w|PY4?UoEm#U0Sqf}+|E(XHqocB7%{kX5!xqDS2OFhrmqz~_S9-3QM zwH8URCnA~5wCA|zBfO!6uXZ#!m7kHH37rEgD4{aiE271V0AdtCAX0&FLTl-uV1g)y zF(nF+G&j_#qT6O30Sp!?Liv>Ev+wEujs_2LBRD3G(YPBq6w zpQWpik3N)2D)^k#-@+TWRYZh6qR+#3%pin*qtBE(M-PY# z^ezmwfA9x?Aa%N?aoAK;RLEDq`W1Qnu}AHmH{ZG;D=W)--IVUVL0wnPX8gejM-HN+ z$9m5NJj(Rt&PLrMeUj{tN^g(yq)15TT=&69%BqgW$)i)e5X6w6=K<-HBMBKz?!U?> z#wpS=h{Va(_p=G(IgXU5K0ESh8%To&6?_fP-?OeVAmo9p&8om28IrY;w4&WP$t;Ey zsHtLFAW%zfw8_LqSZ3E_PJY_8xTH7QCBCLgh{yF%bgDt(sj!7Q4U6!DHfRy9k-AQ zepQ^WC^*Yr4*>XgH#X$$p&?mOpmxgxi0zBcofBzo6;XxNRSNSRRDJ5zxl803!)#)0 zpvaRPychFk%@7`mQ1UvTON=8SLkJ(Q^SOkl6t4n+iM0Wk?~epc+0Vy3-VXt0t<3lX z0)8Jf*_h}WBh=F>bLw7#(X+2mI3bujYoEPLwN}D-F+Nyz%p4xD7dc9XQ-O=Q;kT^% zqbePyDC`0vXzM`9bBt((9OSX}^~MZDXTLih%XL+(u7vz@B^r`t{mk`Xj!xkDavD*4 z0j_+s8%S$Vz>plDmMgmcZoT%DY$}gjTUd}QQxo!*zfEozpOSZ!&%XE8^}9m5d9+Rb z`r>EgkB`!oM9`TqIui(mJ} zpz;uRY~f30T-&E2!}!DJO)jVsghvVMEBukYM-M2BW0Xw)Aofo_8t5OekVguL6jJ_u zWMoc)p}6&hbQE&ues~cGZKh`%vLcs12b-(RIENCL{dq1SQwU>ZoLSS{hp~^~tq-a4 znheUwgetxB%Da|YBsgCzCxgF|z}zKI9iS-oqO?uqugXaEMXz&CRmKCJ=h`OD*nPdu z@f`1vz^7ka@2FH3l{Y2c-1!C3)?Ymo4{-aIwLG zgek#=7{@u@e*2D9Nv5nno-{mjB_)^T=#j&^UOOb(6O^*zA~|;KsDiX5dFiDWrRdxl z^Q83zyDe||)bS(MJCk<jT$s2vi`HhI>EsbSTGCeVBQ6GH2uNz*{ZN%?mR6`c~8%oXCmiwF!hVID=WIj9% zor)y9c`4r#|&5tHk&SCGsy6nP-hK!jFFR zKTEZOdAw^JfV6-6Z~v|3qg9lb%aJ2Tf=v$7ZJ{tr$%x;IqDiP8xy}$+cTW za)|k%jYWs@D`YL++sUB;t2R2c)nC}wosKUK3C>{%A!ImTC~ht}@|_4U)zeh(CFLmJ z+QVQ#dPtyIb?;!;PLLK~)dyMB8%#MKBnFtCN1OdIxu!31wfcgr>fbZdGcvT;BmJwp zc)>h~`wwk&-7O+Ax2lX~EhH(c_UH}x2$k%gYqbImx9)>s(6o+9LY-|bDj@ta0wBXO zqGX-o8EoCu{NKvK>gP-bC>G^wG^eC2gfIi~5(n*iqW~%<$aOKG#JLmXS{9wkdYA8Q zCjE{r5d97UpDIJ{?-UHuR0$>l)+&u{xy?z$W}*%J>3zxF=_TAzK_S13;3PMV#mnE> ziwXi<#q?UwYK@%NMaKr<9*No^%!V06MI8ggWjOj+9NTefF6daumRm z%LBn95W?gD_dp20WVnPi&k+jr=!xF_9OaBYa0s$Oj*azoQ=)Q9W)p6@Hj#b@N^ zrBkvtG-M%fCw*GBpi|2+J=J4zq?dhLjr%)a#N8L z780gB0ib~5hZ2}QCh#x375NNz5PJl9KwdLr1%*3mWw1|y-FTm*7F3~C`mh^Me^^x8 zULt;fkAmg}&oR$Ov1mdn%gUs)_OdB-USqo(p~q0}z9$$|fOAyNpFW{FPqP&(SeP0! z55S=}4#<%5tC3W{v^3P|@0F@z+bt8i-!ERcApWj)1yY9$q~R$7@L|L$w81q8$}_yh z^pCL-tI$gUDDFpr1|peGC`en--#PI5YnGEo82r2fp#E4?o_*$NnaHHAhz8;OtUEWK zEFZypZQaH~rlaNV7k(Q+!GxFqafhn9+3Ra5aSM?jQU!oyS-V$3ZBMvoNwN` zwY3_YgMw?f^fSU2iTwDxzxzA+{ont6D=>CL`TTnd+}2kXTI5!O~_#8j)(|1#Feq8 z(Rf?Md0hwI^%?d_^xfHa7($JEljBvydhif*#2 zjaBm2;TL5?6_VxoC7E0pk;GExj_>b9gguU5jmYekxLm0{BWvB|GCt9`E8q)H*GOAi zn=GjCE|g)s^Y(2;+T-RmAR%{UaZa#?P)c)gWSOmI(mQ5i^CL2eMi?am5O?A^8W5tyT+7HV^rJEvoX6AykqIg zeqV^|$xXvs=e0Q)FBD*`7rE!46r0Q6Aswx)l1?V%>Xl8~B@-jhSgFEdZ$1?gON)5wWqfX#Wy=#dAP}+UFkdfIIKqk=yUS zEw}F6lHo<=Z|kG7@%E;*Z)j|#cY)Yj&c?rv4CP;lCuN@wuvw1=m{NI!EL z5@TH3dENo59ZrdBm4%KGqfdq>`z5i^DSay#VqNl<_5awZK3FVm3U&qu3+rJ=$SS$= zASEzCP&YgEnQKxtV$|k)>Po6v_Bf38}*H=}p zH(RC0jkRU-vennssU9|{`WV%={qpK7FI({xHzaw#`xp6#Cx>+^jWiiyl&<#R(|0cwb6Ot?QT`->}R}R!h;PcgC_w3 zt#_e^9`Ruk?+K9hHC0J>SBJ^a>({QCu9kaH{kf~NQ(k-Z71f`|t@$}XjefL5aB#5B zjvPKL4}JH$s(PvJwe=Z#Kh+wqsocWAII6!BQW;EGtc9Da&P3js*Ld)J*8WQ8GWVQI ztgo)x%Z>qV>mJDa&gvqYSL8wNclILggKmso21qM3QVAn~CrE>V_OCR^@Iq83r^cK- zh3P33)+4f!Ny?g{TdbAy^RqI#5SPK_!g`lbC?vVwEYq7Yxl(;fuAe_Bi@jAcyy4Fe z)RwEIcS;qY!Khrjw!hp9CKj|_Uso%aiY`b=@g?gzj;kMc^^!6s;` z(gnbMh$Uwd?+2toFeY*@cz(biN+!UNBv{DY_gT*c^W$0bzH@s?2n-(9%b#An1p z0}utpAbz9{XuL6_>Ge!UW#AGpFR_iDPo|_%Vrwx~(+uInsf-gL`LD^g!mC8t%8vdzJaH>pd{THRSv8Lc2c7&_aZ2Y3?C**dkj?EuqV*;qF@L;p2$lFAf}(UACr@-xbpH#gME^4ye6sPbB>`q_zN$K=@2 zBlZmBdbAZFY4d$Z+^O-skrV(vUysXn44JCioFL!~Lw02Svy#jyKeA9p_gI>nmA`-JAuHU5 zlgK?-L#!pLIwq9Igmhl;JmUqk(9%5X1U(CV3gErlT4Me%LUApB+dHa0jq!@ewA}0S zlFkdD9i0nsMg_=102){WM-o+s^MEv`vSMbYBr-qcvl9L3jSkQ20gmzIS_$`c=|t_nBR&g;@||p?L1i{A zjSceLGfx{xOAf@%-4FFfdZeSRNfn#p($^C(j{|OQHwS?Yj{>)IFeeO@;Tk9W5sw?8 zBTOtF6F0FHVsQ}CL|i`>^KFx=!~&t}80Ez87o_pq1d@9m=Hi9`ApEn>ac|z4kWmuK8FS)^vFfH1gBD^1$i^ZE z!*>rD0PFAd*AK|kPd_a`{_#)bsi&TnmXrb#r6~b@8&m>@QiTGCIlhlV9Y>) zEf#CQJYz>_BbFWjwlQJAsxo90MaIz`Hn z90f37rXLhIWBrkc4Pe<})c8k0058kk>~Q+TG4A9USl*~rOpPk@RG^d-E<^cd@_4B5 zX9ka~Jq95pm^1bPMhk#9b8Z#5a`xopkn)k?v^DwkcXdjzyGyDnD@>sxtZ|?(roili zv^6zYN#l}BMN+50%zE`rPFt^`Xfz@N0|U11i9YZ;*hd>1n-(67RWtj2sMv||!6g(n zWB}(T6r^y|5FEN z;rR;b7%G)o-$kkKD3>;0tMr6>b?=RPj`?mxZW^GuUHA4tmiJ~~q&$SVL5{{le#`M{ zYpS=f?fHojD=SXE+2+cUHIF6?5}s0BQ7-e7BX$qK9flt&=s7u869&*?v8dH1D6}R3 zCHd)(Myn6o&#GL<`}(Y44ZW+9{i-`fyJTu4Eq#%obSppecc>1aI@lOtg~>ikKiToF zyAXUE4;G$W3gCF{880F%lXf)dLhyYm^|H3{(vU~Q=VpvoV8TAnsNx;!_DL|%ZOyL9 zlVktD)7cwTSVU3J)&UD4WCG6tKS4)Bf5R}s{Jvk%_kPIqHhqq8m&(O}>M5#sEGqEF z+v)|*INtm99eMfXm*mk$ACd0vZj~?7^7d9CK+>s*eEQngz9#W_-1^UskB>^Rg7(^) z8jGqRtpv{*GHxIiHbW4_`0#L{GZFE|xbHSD7U`h#hu*Y9kKH2DOqgeK+T3wQ-@;*o zyw25ObBVEG5Aqwx5309Qa^EWwZ&%WNH!(J12IE~ongWT{ddbYIqB-pVH8(#Eptg}7 zlucDgmv!K#XU7$&MJ-HnzhMmS{YTbAGQAO%nX7S`z8;s+E1~@NS*hA;aGkVCE9AI+ z`<60`Iq6bH1xTBlnXq{6nyL!hXtQG(8P6mw4mzSB0c$oB=?pqC`jt+vCy&8~k!35r z{C`*%u5Bt^IQJAV2hdoBLf!ni$=7UV`;Iae$4bBbclJwo)1qC?#$d4gvawmjSO@Ms z%RNGQ#OjmlfpN*ge)PF4_e=$`*ERf>Sy$O8Ip^3&C_k=sBAWn)glPJkDkU1|v_wR(ye=4U=ow6j-uYc|9^6hVb*ETd2IY0HO&&c6JhwX0; z?sfe52`h8Fq=Mp(e*f(YMczPcF9P6^ucr5qDS0s!R2BsX$j^&QauZUFysoW5=dv^W(NhA?nl5X|rIJ81eFMfd>9h zRZ{cBbyLw!ucraC{{CKZ(DzHMcM9oXtRTmY-yBe&LtdBH_5YBGcNtLyyQht6Pfm5E z-mUksan9c7I_3a2T3!H@Da69{{msoQX566C+HME?BBJ+X z&t;DTync0A`Md(AjmZgFR-wvgoSRVU8=aJzJ%Cp>)$Va^)9{R>r)Ondm9^`2D2^1rgq&ZS5P2IK9($*$Ezw(0kP{DKH(#Yt% z#0Q70*HhHLKg+!t?UbL`I#y*Kpb!uG*dicvKYNiq8xN`uqH@{Qlei!H z8p^$e7`E1$%(Z;sWL#4HQ3(h9)&hlmwE^WDfB|?ux}KN5wHFy5*^(RRUAzwt11dKc z;!%9igg!i=d!Ka~_O;7^>NOZ*(ZvB_*#|ji7}$crpv=rnS>cdh{Nm^Gr7wL+PMtn2 zM~@$uLx&E@*|TS5MAsap^MCr2pUC$fddQkox2sIc45wv!+A$1{Du6~7#DZO>`!Fx= z81r1rHFA}|y`CKcV4*wF?-3(-zPVv9k=F(|c6lLkfoLTPhvi=HlEWK2ZNBg@rgd$w zpK{k(Aw;-uUXbPzKx%ld&kBhU2E!(!XTVioi`*zbFB=g`w=T%!%&4T7x~(wC{^QN7 ztmoSJm52ef*_DXQPIb!AN_$?Q#`8pzKABg*l@GP&9(dE{=Vm0Ro2jVif}GF=vb?+? z^|e(}TdjhP5}`U74oG`OdZRruHIlqL_?$yY#)5)7e80jMWf@mzu7`>RhTA$j_SGdo zjuSQ+^}Oe91b`e)CroLKsp@O(x5(%6*KA9MXj59ZFS8+50?Bu zASgpanH}?tw=ArRWk*McS&;+X-4@gQ7k}{=QdU-O6@gxQ=@t3G_rEVS)itK5VgX!P zUbB!eVxL#%=4FChjF(@QWhGBAwig{eYWZrnW4$sFk6Xwrn-ax&YB*t@)y9Sfv7Q^v zjndK9B8mQ9i~Yyz)z;i34K-ELSg*=^$SLVMu49@#c8n{+m(VNLQdIvBlY#+|B%Zql z01g&zt4t=M*A7HOmUs3+DU94Vqwh(gHu+c%pmYkx;I(_u-Zbv#v~+WK@^tE0Rd0B$F9do-i)! zYu<%+IIw;Wsse^5Fng{nFKvEauBt+E&DSbx%2(XHG`#$j;-_Dl7vS=uy+B&s(6q!A z_^l7bE4h6hgP$=@0Zteymj*}iDhE)rHfycOI;@=-g_?$8@>ZSa;u^N zO7P?}hgiq=>ovE_4IuZhAAxi?d<@j5l;Y+j|K-vq^q-An(J#6sFI(& zJ&el6O!*M&yI;qRyk@M}QB{)q2LqCsic50AFY%R~sR~80m#m6n?&nbX;K96A8S96S zS=C0ba{#*w`KmIyRU$pAGD3VWA28(i_+77aJZIU!0SV8Qi+{9Ce3^1-iBw2KdyOOAwJ*`J&0ibj!ow7N7XRG>R_OZCQD6P6D-c+#l z{BzIBfdj8vc;ZQ2R}U!&`|8)eCSUsMSLAb_`<#6AqaRhB{G7^^F)PLY#V>wQeyF+} zQBaiApPtfn*Q-FdTY<0Y(~JkYYVJC5bZQD3?cN@QIYpO3M`5hJu3_#>htd6n9OrKU z8*&_A==mKb1A%%TFpp03AapLmb@v2mP;$9lMrWNey@b3hE8y8w#pTBNqjFU@!SbRL znlh=1Q)=0_1+cvDQ}$=ECI~lfbX)>GWp4meY6CZdF&y zyZ4!|_Kt$JsRIY(^e=v)fHP>-pU54e%<#)Ey&w&>)zYLutf@``OwezPJst_llTSP$ zbyek3Szc;R1M6n4NJ)t42`P_Nkogy-d5o9>6W0*Dzct=a4<&uQEeU_`%+EgclD!|H1isg-i z2c)K^TG#c2g^55XPo9utx~4nZJMt=4w{P9Dv2+{Hy6=iXZc%~S_2yc+b^LX?66iFq zw0jR?!KW+TveS8XSoC>i)gGg9qe0;0u)fW{=T09U;rT z5YPx+lr8p?d4g0J7d|)niFJU&fPy%xdoX*vK2S0lFl71Hk;p*7V4=G^ta7nJq5-Eu zFk?a#2HsxAjPQBFzIs%l?q^I#Q!+X;D9ObxPZ|ABiK5Gu5?QE_;AFY9^_NOzQ;C#U zS134B#WAjO(PKQ{4^gGFxVTi>8>$^8F=u_5aZ^DF>zI(fE@Xr13-BJUnNYwrrn0(P zb(^5SQ-+gqlR4y@k#kR8+9}nA-hAT?3u~NG*>3k&kVeyKdRMhJ*2rMBxzoSDy!iEYE~zl60Wa^q^hK_ucFF zB;!x|n>v3kIKUwOn=Yr%b1{~K3QTEP5c0K2f1=;Q5#7@GUdM$C7vy{2`<^`Y0qT7D{^PgK4NBSURh(k_M{ShxKIcI$#zeOBT69J%X z;LJmRh0v*?-Mne=Gz@eAHA1!X0Xo(q`o6m!$YrxVMhK+G^)B(-^oLBVj`EE;nC!Os-TMmk9-X z1MA);dc)(j5>JP$n%{m7gge$878YIfUsfR28;eP0*=4Cx!jnd|wE3AydFJV-r8gQ@ zB|Eia0#?LtEDaCc`%q~NK-5xxPTHz>R{3Lr#1uI4-R$0JUIgQz zcnJ%c68~0-MwJAw^6oHofLivmxCBGP`h;RRoQPW~W@6f(e(Fhi_SvUx%-UOgPkcKg&u=r0nt~X{@U=FK&HpjS07R-@Ri5zY7Ec zQdyzu{NW4$?vi;GsJGmTP9g*XKstecLi3ks|&OxQCw_d7qk z5&WF+7}hM~#QMz!z#k;FwzNo3s8vHriNTlqG$3-fMM!#`5Z@V#)RW`dz?{*M7DX z5|tZ$;cheXW&dt2A*_5hzpvN&aC+%#xyKKF@B?{LK^bAL z z+_}xA{vho^oMw1^iqkun(&CtHWYn>HJ z`vPg?j}5M<;-A&znvk&-6{gvRMDR{cO;1Q>A#9DVz3$~jcK@{|8JlgD#dMP_jCaWN zm0n4$cX)c`VoO!hGu$L26KPdM_E$i}J?8YeDMO2kzsKKciL)IF7#8QIEa!xC^i;zW zk~;xxR+s@HP>IEusLf+o=GP4b=GmP&{lEWeAJQX92Qe z1q$R)2yye$`^s_4>qhrjd{|~!z~Po^Piq89Z+QV{8BqfIz|$0I^f5DAJ6( zuDa4JapdZ)|zDrlP? zAF+_sD*ddnw#q7OE$R5R=rf-`ch*WLXU_@5I5IaVnS@Y2=n%s9OGAkP^B89r9pIT^ zZ2dhx^YVIqZ!f~znbvtBWQ87Ngt zRjOQsLl)I=^X9F)g0xrnMV*2-*1y-mbyzNA(Z~+viKvP7nJKx^P$gITVhR8k4ZOMM zqa%}2x6iz^y+9fsxwa7pq)|9zDi)Cm1v!Lm4JuH>2)N&nM-<4-&8t>%EYMtK`v#9E zVZ-brr%Getb5jUmfrYpC5e}>C20rs)gh0|uw4=R4qLF@25Ri|o{CglOHOkis#b>+- z-ATtI3P|FTn$-0^6R}(~!W#Ql0BGCg@;@cQbJo&VER`)6q*m8ZSD;(^;wed`CKRO1 zJ#cX561i+41=*eLZ4&BeG~EFH0?(s=qJ{G5yf{2a*D+qroV5pVz{^AEJO))j170#G zMWNR|qtDkkg{<^%>l?fEUA_azBbo*oPJVIr`l7NPyo9KfLJwp*JRNV^c3$J;0b}eN zRIt<0)+&eIeB&;?ao}~ibm6=ecblCYGlLb4xZix^fJH+MQV}~R^2sIkIf^*p_sA(% z{<9AWW9Pd7RzByq%?MauDt%qeR;>{)O715{cV$JDsO#l3eI9t)xDY)8y+_AJx1r-@7xrH zVDg>sd`JH4fBh?Y_St9T>tFktT)cSRs%|^_9>(>6d`>~zcOH7kiXDwljL6i?xC{)$ zt>+nqK`=<0%n!Ehn_ruLj!vigr{xrTT;mds5R6ag^SS4kb3Vs|3V7zXnHP9Edof?T zDwlYUaJ%Y%k-!5fAhj=$24OWz5cW9dggu(~K>-g*pzD+4az&Mys^H{XQEE6pyk<+-~l(W1Yd9g$v*M zN#rbi78i@xuIX&G=984cr{db?>atncriRm!ipQic+G7Cj1>J~v(g11P190eW6y5`2 z676oYm||j!r&R&N%SGeqy(}{H)TpYevQG2lpJj))Qr)vp0o512@I|Aa{q$#+Ye>G# z@K9QYRFDABGHC@pnPC$Sj2pm~zH#JsF()Y1@nEZNMpfV_45JKtG?9=|{k^xFn?=r^ z^#o&k(H#{o*L6J&DDa9Z18Z$=vNjNu>`e^xTZkHYYJju_RldnjE4pyb)`eFmdt)4( zfFA#cS~+e%~LdYCQL0Q=-u7UE4~zt|l0ModAlQpZZHO9MWv(NL!Wrc9R5{UFFO zumnutx;YLoYrJOsA4X2BdT*e^LL73viG`43@oliZo6g zZoYNXDqjX$ouqq!Z{8e)4}dUMSs@u+yBN^mH-rp5sPNx>M5F*kAG&Gn}PT2G;Px?;*ms9qh}uZrqTBD&nLaWb+#SkDQ=XIR&-?zD^^Gx>1s! z5X`=)0!Nh#2M@ev`Q6=}?bcSQxv^drrDZDsPm^X+fR@smeob#+Bv zeDOu|p8e=YKiukVJa6|w|HezUurMceDwEn&$4n$sGJ+ng`glARk*Lai_@rwL&DJOO zL#A))xMI}sazwbqns5twC33<_IfrgYIDB^08Af8$;r0I6*LxAqLD)D2+upBHecvDr z>R+jsp~c|cFB3Wl2--;X%eAT^xz<=E%c_KvbUr?#N^*ffZD7p_djz1(Z1&3Bd_cyQ zbisIpJx1rNB{tkDBbk(i_IMpI1w4IJ0;H5RM3cmXG6)*KPEU;4#>Wak@rH&v1&V|H zGDcT(Uh1X3G5~ICLocu&D!Bz z5&AT+M)32z7)-o8*!jpYijcFa3cM;|c(EhxH8P&)mA;;!u90%NTy##Fl{dM>+%L|~ zNTR>bO7Pd$R!gJhI{GYU6l*cXYW!VY;#0yvMJ~vlJNW?)AdTW7fHc>b0Rhqogjop`5{AP`>zm ztNKV7_&#LD`y~n~wRid?K3G`36y^JAZq4^wV$BksXjWjhvlxg~Wz16y#Huom>{696 zov$im>F!k-hmPp?y{kl01u|bT5I)aWC6cO>HL1hWGwXn}=CA@ZUzId>wCKJGDrikw zewf!-J!k>|(zA|UcV!pPS}FvdGsob%y|?KHMXXcw39Ce_%Bw@F$g09>ZAZ4&ErqC( z%4ZfAmkZjH?ty*?(98AQQw?~iKdQ1XDl;QPW{g^#o3)}y=w}q&YHw+jBZuCUnTZiu zou9R4+~_G&%AW}7^m;D{uNChB0HE42V~PO~MZG`NX#f#V9^R6@_yzh8`x~Vl@az<# zKq2pucwbE73ee{C9o>0DUZH0oLl|GjxTpKdbddZxRv#7tGzn)8t4yOF1NrP!-z23Z z*N{#qIlA2ClFRb=Yv2TeD5u!%}-#J$$(V(2gnOzxm&6NLxpcS2Gtz$g(5Drj)>qKs52q7VUYb`}l4 zXTYI9VqrRX+Po4FlM3EoGI$uaEe<6XDT<|qQR=<6o!7tl9RvW^p(t)UzeUktmnn&O ze=eRsE2oYfwjvkfI$k91a!shSb(<%RMU1PQlI1=H?1UTPH6l#v_O07C_Jtld-+D`G zs;cFapZuhpK7HECao5z;$g8isB1aVfQAr5UMpej}=~)?wJE0VeEg=nfrtn5upA(q0 zGDk|J=Z*^ul<-Gf)bxxR9@2T!-=g4%tgnlt(;}6XBKMQ8_S$Q5=hP{gPzqeSXw{MM zida8Up*9B0@$6RY>)yPOwzp0 z%Bb=+_htPfoYRAGp~-es-;caT*641+%LPk>!+G8JK@lK~cR;wB0;5bjrh=ZP^LIVm zIv0Q^D&8SrcI>$<;vD>heTyJK5yIN{>&LbicXhA^-5C zlKGf5rp%Z$Dp-q6%*vI{7P)!$ zh|IUBVipaUrxK+uTOnM&u_D83BRiA`_rTLm{!5am1&?|7u!%hZNW+-1m%+k|;AQ)5 zK93i*t4n2$FYE~j^3m|{oB@-n$|^bIKPs)0-k=CDbw5=Z0dQ1TjICDeI2UxQGR|Gv zaSke?D&vGV5G&W;tIOoC%19N-+|LPTtQ$BfM;o4#_ISB8b=68!ON;me%3G2;)*j>Y zK@cDi?^!f5pvrB#)K-?6H;3HG-i}5|(`U(JJv}HQToTU?{FH(hD5g%%ZM}v2Q78f9 zQL;B=>yPz?S8YW3(7<3~*WOt94kBX6Z)2V2dKpsvG1DIgf}NHZ7Y&Ey+}YF8-PLBT zg^2DU=bXN3%d?YKkPAaHx*SF-FYh376tF}D5r7IEz;cn47h4L5zALhyXd0?2<^^eb zy&3Bi(BYXQOcA|}99Q%~3`!$IY0K?JzoeiDd zdCJ_%aU`0O%(*^1B&)hO$xkz&HZ>{Z3e>0$x!*8}{mfq`b8pK5*jl7mg$N&`ZwJ=bd-nr;j5&ES%2c!S zfLwwpvG_=iL|M))B4U6L`3|5CYVUO~g0f(Swoo__LiD*;Y|aM_~+rZCuBOSmIEpK9_DjsvW)aPGLENxd%$v?c48Ixz;az@r&}+uY5(B!6)RA zM;YlN?0`0 zHboExacN0Jg@zOtdxNn(=p6-X>xU1?dQ*dp>Ahc5hDPPOvHmiOb_r8fr52@^I@Da_2p7zK_Kh zC6E>cG?j-xVO%1I#Ku?uwa=Bv$$^NTunKb7ik@BPe9rgn9{L?q2JhbE-Z}oh``s*p z@6fxF{ZL4_vVk+@WfU7q>D=Sp^|~&bkVk>;fHXC>Ss0@iILJrjrj?eIOJKB8V$0j* z?LT&kEvtgOSmAii5~Whpaaqc%%cQwU=cPaMA$rXgtguTeHEBK7Iy?MQSyn1_m8G^m z;1$T`7@p*ax01{P8?T0jgb{S4E+L~k$dg)1hmEFIgAntGf_HV5~2vKSre3!_kzxkWLk&5zi`yP&(s>%w>bH!jt zR2v3#LhDll{nD$l+rkG`hUK=YdS9gT#dvpA6{&1=44>?r*6Wt@bI`cI->&|^xq$&P;d$O7>MnhL;5gEBWUV#){Qac9Se zEiCiNCmy$ugXxi^^-qfgd=`dC*eIcmzE%Y}(XcGc&6?tu&&qv22Mpkw-~5(5_Sj=8 z+)`%k!Satq2IcZDP~HM)v?2&7LuAZtBhn8kXS3xJ*O?VB8Zt{CN%*rfb8;)&3wZ06 z$n300M~BFnGoD~`iDZ4IY!CwHZg0yxZiNGLP{sWoW zo|=+|;ZfQLl>oS1BocKf~Ca(?iVJXH51``hcl@=Gr5((Hs8K2{fIWm(_D`WGsXgMZCU z3>!_4q>L7($7E5-%|`}|QDDLSoclnt`W;GbLvxc9bQ#m%nY45B`u8@Fw?)hodB+Cy z6>MjZaXx|v5ru)0K!`mBNT?#WA8%T3tXJCGdxGfH#eO>$Ef()#uSQ zrn(rWT{a>}NhLzw5` zsw&FmYhV3}rJJ}1^5!dF`HDQDI@+M}Ywr2Z+ix3a#b8G3BdQVu!p-Q}Mo-53Yxunv zq0`2?>Wy#i7Mh5T4e)lWIA%W!|Ho+DR&oBWbH@D+dB%L6>*U}&+y~%?$CiG!`{CES z(S3n5XmF)P#%AtWL1w0BWO>N}XcQ5-qJn5;Mg^KBnomf2F`z(=M%Ui=+fG%ITx*r- zrJ&5M^~%h(ewnx$m4Q|A+qMgi*h01Rq?#?hl@OOgj+<}YP-LGpM4vs-gE}!N!dPFZ zzQaW9WP*+*D%7fgmBzxmSo7Je6x+b9N;BI5Wk9%0sfg$1)bM>msbI?dmK$G<7Y}zZ zg%n6^#XCX#GfdUo?7A4d8EeQuCb?mQsvzc;bhXX8W!Yf?x}RfF2B3uke(UcA)z(zW z$>YZqNR&Cssx`SDxC_#FzjR_yrl+Q@6n?&*Oz-EQoa?l%F+vGOG9#u?VwK@<7og#p z!NW*sBZ`fMbLxg-JPEy{JwfiK$|lAHFNd`mP(};*gDBy@Ypc*v&4CuBzV z{B+hiyy|$|r^kk6SiwIEEBg%V~3{Lr-85k9OZlp%~Ic+J>rj`cgZt6~80eOJ-wu6HWCAy6>D6W6Q3OU$&R32;pm6QyWNn%W| zOY3tfh&mcSCC_%hBxeRM$m@|e<;B2j^4_oClZ|&avv`C9#XrlBk!aM1w5NPs_;6kR0whBu_LxDJMcFq-(fSx-&kz zfA&6hiTMhVOG!0455Wx|BU~z>K#cG!iW*>~f!8B9@K6KP_Oli-UO+B|Ngyc zfR&-4X-n+)rBwc9$=ZL66rL}aj%0~cw_lRVx)N#kbx5o?VIhW@;TahlFU-?;zl4V} z7>r3nU4ztCRZ454^7b}WB3tV%I)#uka&Ygi6_rKk3w*}9fiN(_`%wTXNJG9lYYA&V z{2+U+c@YIiFf7B1F!n@Uex&zx70`SH&q8N$3L!Xam-R{oX1p-DA#!^iDDWHWYpS#l znvBif4>QwFrR|E6OLFnTdGp}SjAtz0mOR_z$BxMK=&-CW&0A5W;!77ToE|{LvjSoX zRpUMJkdR|vh(XLHyN`}PhD658BB`Q51F9I<;mg_gWDL^^Krku+N_u(%P8h$+YU`D$ z&w$S58rZUb%Zo6QBljRYhgR&xHlcI!oo|0z zPMtm>{fRy~d+xOS`+xuMtlbOq^-Be8Kl$;GO=h@9Pe^%O!12tjtgTvKH5Z)4dsLQn zG?)>S;$QbOC;KNyKgW<^M&R82p}%Xr26auFex>_~eU*EifjIp>UQ={P_q)trsM)FZ z=z0P9J@j|>ZBo|(X-vD}g8kBcgESgVrvg&Zg*GYTXr=D~)f z(18aNC+ra4y;y;v-`e`1s(|V9AW zvHuXr^`(1yVBwYNxnQ=NG$S!dJ3Nd;fJ*1Fmy%2o2v|~(#vZ4w#me%kg+RIhe0*Y3 zLc`u5t$uh`s)zdIdkv4uqb*O#mn**`54SugC4=qapPZNU(yBaE_fxr)sFu#jm^|G2 zw0x%g%W^zkBu}3c?g*zi*+8?2DcTUX>M z-*a-j_l&$5J}d`(?KDnLBg^`<;r|BRfDoR=qCpOT-~|6DFd zFUjoEg#4oEF?qJ*IXMo? z0yHWY;PZHj3EP2Rv3AH4LRlEgX)^3Zt^!?MU29==g?fsbn%bqKuU;Z^J6quVV<7)T znKVU;rNLJ!t-c2F1p?OJ3@;WX^u6BsK@&NCcrrUW0@BdXEGeyTGYxG9;2m5n;gt`cO8`Jhf_YKk@dYIuMbMn)i8={ri$9=+(1D28t*P0EUyz5R8edB4>$7Zf7Lw26rzth>#l*R9Pb>YMwmRx7NW)_>HJp-+ z0u`$6M0~pN`ji3bGvn0@b|~{xU^_Q6YrV+!Q%?VW4y-vF8yh+{Q<6!iC85F~ok|N8 z8)4{Jow00Dfe!)3X359=@LW(i&#D4ul~v6pfGZoiR|OKkK{zEILP~n)JqW{EToj>M zU4p?O98l=I+B1CE1V96j4eRV_8Th8P0qg;G>$t9~s*xu4CL&-sF;ypT)vP5t`ud7yNymeDz>N{8fQ=Rc+3>fNllw;8o@=D-UdAjRasTr!1iPcH@gTwz`p6z^5g2Ua?mTHmLyWf-pzQZ!LFs5MZ zF?l0!R8Ge($RjOJ%PXC)OKP}Z&POiD&l?_-(>>>;Re$%>mp&(@u?iWQO3K3uHosN= zZK;Y^h;J+)|F!5-QXIP|gOh#oi~`EPI``KyFcy;$yultJj}ZI`5C-3(5CVplfh~ib z33=r^%(od0b=_d3VNGzJ$O{0T6>!)Cq(LaUt*t0$s?=v@J%L0%>gnm1cKyxnbhTAw ztWF>HEcoG8WehFkugd6~*`+Gu1F8}kU96DcRGD-Rl}JOVSXz2&rA1|Wm(Kxb>9opV zkN5l_h+b-u$e?s}2Bo#RO$tU++7d4UjY-W1@esJTXXH62bjYLeD$T4 zTaAa+sj_%a`NL8Vzz6)h3M2%-Fk_wq6)M;f8H8Q~(6VAAd+;MKLN?-ALhcMJ-*%s2 zV4z^I}TI$n$$IvPBc^XN~^7Y(b)rA8SC$e96k zYdm>QylE5{iT0>02nQq)kLW#|dvg!&&s?D7Xa7D#-#Q{{dcz@WozmRcD6J|lC&!d0 z6RMqaeLiCTDGFk`QLxLxK_{mtXfuJx0qoL zkJ#US@{{t=L*JE`UV6zYG#R-au#nF;B|B>Cz5?cI4{*3v-gop0CbET=o{JZ z;Dn-=Tjaw42DN>LvKK<{3#37VD@`&yf3LzC3fuDZlx*lrZ%j?d%Ic~t0@Swh7`S%7 zW%=W)buzr!EsLopxn6u!uGJOG)Jo8Lr;!(T_u7?831(_#Xnar?kVk0RE(f7`xYxVe znryJG{AYHK);`DzJajcHv+Z%hy|%_8n_MN11>=G(HYwnO#mspKCJtCMMz{wfHOr1N z5*V@9d5F!5B@SlKbLO7sUBhj_?xRF8uBYx>bDL0)^5P% zeH_dQ6&tb6VX4ELl};ustdcRJXa<$<$bVuyyQ+)y`6->7pD8om#D){PfS}@Uuj?3d z06O=@+C7v?>A%C)=VQ-<#9JK~X>XVJPM-7xV|&q^LvPBBv!`XTu~x>FX?Q-P5^D(S zlqF1ithW!7=4R()c6vr4;jkP#c2s`$)1T_RjTmr4@$Xlld+GdHDLQ{nqG1)dsie$I zj?0|#haLsCFTU`C1pGQTT^(}y(j}>_u9Ai6aTC1s{yKm5jJ)#lOHy4~W;sNryyEfH z_qXCXJ<3#7XnH-{2TdqU6ahkD6V`&&HLL<2VeYHDWS%dt`E!Z=hfqMNKtSMubMw}6 za~?cN&m%P8B`5({4ttb;bo)AFU4>>L#uGQOoA9ITcVr${M>2A)twC;76Hb@&7 zo0Nw1&f+0}w9=$c{6w|9Rt0v)!lm-_mM5itv`bFMOXM@9 zUy|yvcA31gDF^(A<%Pyar8In6F7;iOPhI}J%q&jI?RRd;bKNh>Qyot$*c*@ou|x9t z@~_Hkp#$=4_w#b5|C|gh4@>uWk9_pP$E9tkLjg@jB1ylT3Z0Xm)juIM$vXLtg2TFG zt(=RTm9Lb3L(-GFenwIj%J^{e%aeBtt!EblFUPMY833nB7EM$i)o0IY_SXCo+Qdjj<@E z$_=2OilP*p%AS|K2t}77GPO1J1{|`1#9lW@&d8Fszg$?(d!&#^{MvA|0x6#m@KnGAT5zHY4TS~b+yVWe?-B<$cN%J z!%ImM>O^A1daC*TJ<`xSwp*ArynwZX+$T~7qvlm*D zA44qBR~SRN4}1mVo?{3i&o`-jwZmjLsTj2WA^$U@G9;Z)(3W;8I-;XEg*@u^OU7sPT}X!@f37bQl+n>)Gj@B) z0z77&ZLRY3Q%}mbzx6Ho(wDv@-~ayi<?P8N2y-+*ue{u$s0<<;Va0`UU=ms2{O-OQylKT5gN=|OH$kcqNtVU~Ov;M5i ztwklXp-Ro_&O#*7M7u03I7KT8IW{-etkgZO&wR`@A2FGL8!RvM;Gk$l_5d3r+hS&* zb(DWLE8pR}FjiunsUkO$8nlH?^UCg~DpN*tbIG!a^Arxj;=bE+r+d34K!FBj_+FL_ zKnvb9p3D8r6u%y)JgrZeGJVrx(TD+B%Hn?z2lGaZG|D1jSNt9pHdhz`(C~Vql!tW8 z*dT;*06-CLUhkGmK?I(TgIT{k&OZO|E`-vrIi&CA62gfZ#fSWKRH^kEqt88z?* zBk$?yF^~ll1Dwq&(Hkx^7?=9$N^2lLF`SaMrFjErgs?2DQam#{Wc~SSDl6ppkwbE+ z=$wUpxS=ThFxjm{_TLl{as-3+)s^VF$|~)wN(IIP;@G_yKJ$m-1H-3!r?2+184%zF z6ucpp-V&?xtW)>`N(8w|C<*WY%0Y7v@|M`Iw7wuzc)te~x$vST6Wjan&8qUXrV7bh z6_@1Ju~%hner6j;OMB#{QQ5J1bXJN6TI9D5{I4>$vLS~fMe<7pX~hGL(yw6V;f81B zdEXn-HPtHzdrrtFiasktOUp90epUXy?icb(>kCp7E0sgtN8~4sx~3*aWqM;qe$e<6 z`Bmq$GQK$}zvy~G{=V_2axPIMgX<}|cIUb*USE;Z110iU_cPKv)@K#h5~+xk$1CL1 zm%kuitNM2tRB2(vvEIweoHKPN{+$K`bNto)$n$NK(bdhL*W zv+}$0XyfD3Hx^gG#3L76`^nx{AvJW zUGCb@wSyu@fdMMz5>eswaO$uSxk7U<>5*4bQf5843JrPe= zPxs?)vYB(N3wQ`R2%(Ea2)N&2El^3WOZkH<2Xl$fX+Dghn0vuP-~~Nx)uu@1{=Qqu zbel0j|8G@F`J7N)&gu8yGptc`1ajYqG_tTs{T(7C+-D->kt)j+{VDVS*dgbK(nA&{ z!~Nhd$lUSKj6_rxn_)G3uO#{`vWGFopv5!gVUcTr$7qDP|8X!%V2+8 z=BFkUppD7QSY}5~b~Z7`yh}oVm%Oi_zteQ6O$BGU2ZcYZIMcOj*23t|{_M}>__3ol z-WYbCd+s?a5;CUx)`2%(moI(!OY+%-V^K5 z=k2qI77DZx(z#>KenZ6Apz|?L@M1m#AY)LahzSvF=y{pJUR&P)I*j1C_i^=n3?H0F z&f;Vt^f-GzK4|)gTa07mO1F$%4H=DW1SPfHxq~_8BRpfn3)?HK5e5f9Tc4ehtI9yu z78h(0aBg(2f2#>SYlt17V{>c<6$v_ys$ftYqrc#O_sq z-tPfGyL#oSF>4fkiWs;BL0lr98VfX)c(Qw)!SG+}&wr>SZguC)z;Q(z{ot$d6bq9lK{wszfesyyNobK0E`HC z1$frHv2NMtRE>pD*jdkbS_qM(dKhu?SVO(`EBlku&L~ZtRp+Hk0U|wq_&)bGp%mz} zJV39q%DWxxx&HXh{MrRoHm-nU&|e56IKq&+GrE<;pu(4Wx~2PAEWoR*DkUGB!_G zbW%oA1JXXwEPs09WAdjbKPElH-LkQ=D93}xD7$ip5ZtuN zXAE_P9_SQAs>I_IblGWi1AyXfbUjbJ7y1!E6t5RRcDM1(M??C4c(sXKAd(2f+J5en z)UhChZ&1g8_m6g|zSiA(7XV;9<9y85VB&-pPkciDw}118^7+qy!HT!6Z?4L)zFRmNw(EzI30rsQ zjGfgg(-h47LjY(l!FK^)c+lLIRPa~!Uc8&=h8p9!=!F1j_Mq1sp_^l5>#SAXT;(*n zNbY)l(Dae1wP6{*5|z$GQqr?y5>AgxOYeyEP3cCx8j<+g-VEA$r!BY0*qkyEMgH6v zK!z)HU4`S#H=dJgEj6;DD1CNj*1T?`vjd*h8oj80t05q2}n||}+WnULvtdjVM z-@v zi|)$Yw9JlWOlcs5#_>2+>-~3HoTxY%Y_3+JQfdl8puI_Y!$DI*uWVk;TLtL-9&X+l zp$-Geq|?fz`M(R$7)v_f6V?V30EhujvY9CWl}$y-;(W}{B?M28UYD7jn=@czCd1;uV)<`Erp0u4A5HY%hBE;6b^0`lKw^Ro%;1Q*x9!$Aj{l z_9$WbBt(V00vDv=$zdMr>+9v2XP%Z=q{k|Bm8wG1P)A6fPs&hkI(C9ItXq@gqw@Uo z&nY-7F@eSBXV0A3YFvJ=4E%4FCT!oc&ru@Wb;-YYxd35=ve|s;-v|keFRU#97~X2u z8Xh?QhL;dJNvyGuc{Kcu6)IfjNsg)5+RS-Agw7qDYeO{9FAU+U-{mU{@EqzUtE#X zeHHS{=BFgHFfCuH__nl9gvCGIFGpf$<)z?Z>784a^wNrazy6m}(O)48i&N6nUn`$3 z{+xWb`Ui3>d{W-f>sm(IvAJn)R9Hil*6 z`c>s0DKqf2CK}`qkN%N)$x_3;R>3ix>QWGRK)zb`9r;G(Lvk>1NWz(b%&IJGPqoV5 zm3~>ish>Yu|Cs!J%OcPh-O;=B*Vg`Adtf14Sf_#O%|YX=W9mfJ!S(lKVFll{`r&|sl>USK015i02G z3QBET@isa8o1(5viPUsnv?`4)9W4@x4j53P=UAcr;O>_w1`-a(rM|97swyg_wXt3z z-JK@?Q#s(9J&gq)Adwq7mrYjKL)QrR7)}n_y1}T5@rLj{3RIBW13=%+lS;uLOP^4^ zBKtWY3Xx5Z4$0ias02D&rN7rHSr0g)dH&4!h_p1+%Vh-!t&O!-?1BOofKCi#6_+nc zd2x|cmKIwvk2%#V;9<>Tsm^|^+Q!1lX&r)6dU;K-IA=a&xO1 z@T}_3hYuZ+?|ttf^Om8X(IahWC}VTP9OI=M8cJEwo4)RL(`}g#bhBR7SuHY4*M9c1 z{w9fWM|Z?vhT((1nR7m4k6Ea&&J(&ff3q%#a=H6`oj;3MvAJ!qB7bI}$dQvSk)t`1 zO3PU0{f9t)q`h}s=B`c1tLG-fuh4}?juqLK;q8G#aDk4H?g##F^azBlIZ5_Q%34mJ)+?#Ia~;5s>on9 zCw~Sd4nd8p6ya^I^{vedZ&WG_~He#x>S}c@(%@6 zL7*Z~LONQTrM%>_#WhnI$oiZqGiDPxVU62256=Wc@i(a;Y}N(pr!~N^#fnqKr_k`x z{Tz4hyesQ#>!!qG&7nV2CQTFRF;fuveJmB0yTLg6o43Yqr?6w(cz#Nq@8x*}#1SH4 z-U|h$p4TWbC-g#z2lO`w~gHL~vjX~rWIaB&Y)j&y&s2U7jLI>*)a zJ@^G=*TG9nsN^q5lI{&jBHpWjwlKp2b4E^DZt)Q2c2#-zIv!Ky3(HGO+kkR%-0_|f z<_JiuO;1Uyu7S4kgpq%2RyrpZq-i864Vj>ftgK3TLKU6aDG4bxj`mCKaG$h~&r57> zN!l_!$^%1kO~+@tvs!BVs-&`4<-klrMps5<`TB}AwSMc)O^MF;O6R0s0@FP*ePu?j zy?spvRuXdK&RcRvl@pA114DgsvG<~Uyy%nCKcNchP~3RpNV->I>29g&tuTt{|HnoX zvOKFYY<^6dlZ{e0P$N$_JuS~RKPL^nHP$C>cx*sw^qCq4>LfIx{ByWR!o3~FTM+Q@ zSokfx-gs7?dGaFW6rhIk?uNVbnT6OW-`Y=g$85sb(cGl`F&ML4GcWLwkHX;rX;yg` z9^P;JoCinrHtQZQlg4nd)cH%KwYx#OLqQ8^92n3!P{8zIc+Q5$=OjKjEPj7jnwna5 zEL+6a+$7DFmnEQlov^#yIkY*`&oR(+R2P{t?R5?0$}bAaj0`0#l&&|ZYsuegAyv#d zfSoY5+;oa;B2ve^?|N-6Um)KSIY#LC(Ibbf-x&JJ^k~X}man5j&YwB0K&@7R+Ii*4 zbuy%%W28KL>Xe0WcC<8FbxLH-;>?7}WI!RFYWCQ;DyG3ez(B>3BS$Q6y^v#b^QvSN z2w)`2eK&X^$}uwD)w}Xlwa!P#bVmoOHf0+x3jB93;FL?F$++nm%o)WdP}V6z0Vu)4 z2Or01hit}RosTRJTNVl+1+ zHy&Y+_xw!|vYEN>sJ&$M9C$YLZss!kIk^rwO&S8gE#_;yYb?QVN(E}ygPcnk#WKl3 z+r!~@!YOH4v45kQ7k#8QFe7v8^YWu-r{!4joOJcg$fc$!dGxgznO&JxkhZ^gbbu6q zZe%Wg7pPHsdr=j$4OO@{R8SD|NGWv?JsvljVJDW`_XX7O=$SWdB_vlby&>zZ7i4ll z7wEb&x2)@W#%pCj1tyENkb@HISFT)@-bjxmRl&)gT*y$jZa8ATO$h6Tbn{PKkb|{{ zA_7#m!5al5Nkx6;Mo&hvz{3_(cF_9HFg6H~#zq9Bu|QZj^vR&PYP>fp=T4tAkcLNs z3P-6ynmdkJIok5lQp@e3A4_r31t-B)m0*|@N(79~EKs^IQT7NW2zBc7_;leaV8RPZ zeoEf5^Y7!Zu*R!b&7+D{hy0gRBB^7R8`?N%OsG>g6fWpgEWbhup}+uoUEu3=jZ0k1 zJeo_}<2+=HP&X)G4$lT51cYK1lH-Gimg-eu1<=7(Kw*bWs1TiRZIJ61&dGZR4|;;J zz3AqlH)ZAQNg1s!Q6bQx>yk>3Ex)ni87}35G|KU_*Ly-C3tL2~XZ==Jl$rq{)a{qf z&JH=H0?A5BtMZAL?NU*Z0nXQ7d(A3b1-g~#hr_05o;!0!f_|T^QHqs#JqHRbR$a*J z{DY?n8+$?y+4GK|3YfsQkVI9|0*zS58*J^d4{e>n2UMXV&K)Z{YaXKo$`)30s`>T6 zZw#E(nOEH_$HbGkci3rxQpmBfj#qoc)_V3kVjW-B`P|TXxf=Az+QPiefqS03v^oW5 zE=Vg&67D!-z|6qe(3DiBr=>wZ^G(c4_w=&)xu;IOX}A_d^pC%Q7{!Vl*+4`#CLN z<}8=b9}G)-XP0!ewVT&J9Kd_ygxRB@-rdh0#GK)=!D7FgH_a+Ib4`EL_&``?9~B+> z45JQ&(r>LucJZc>zld&u2R8fuc#Wy3OH=~IovJD;4Q$Z{C8GQJ+}ShITwiM*g0|*H zsVFa#P@vm#c-|`594J5bJ8S2$$S>*o$b0UsYZzrNzZg4)^$obSp^17$4So z8cjNK0q<>ZPq%r)))Z*HefyTB7@br={k?}ClINd)-kN?7E2w%$0UDk(bnh>I@e3Bp z2uSC^>()?PE8qC~*X6Ot9<%C>Z@h6(e*V*+h|kxd-&vByr3EWKLccTW1jNHC+w@st zUAi_^H_J9mx#)k6`nh)MDnbAb&qkAioZMV6>!9rd*vYC0r^Ge~Sd`1$$89jsn zaa2GD9}u;M^M*Cy^_~6FMiF z1;)A!oMjOqN@i_n^ln6Xx0$sHd=?Y}frMVF8wLEGrsO6E;h7>|`){2-GD{SBz@!@{`k=^| zPiDye^*WzTZUK>(o`25%MX_I6T$F^qe^Jo|6Z%wlyr}`Cpzxbl974886zPkN>i=_wTbN}3D0GJWlh8LC+=Y@D2-VgCRv2Nu7x=-0- z05rm#v3{G9ro6yilkg6dH$Xe<3kw~Bo^eJAqbxhT#H@D+K~*m9N6?{s;c+aa;@XWH zH+AkNt=d}l`vJ(7_1`N!ez|q%McJ4flesKU8cnU6hbE+S3#8>zZOZ%eeAJ>~Zakfl z8;w>-dU?3%ae1NrWyy??pVsdbM(`LjXmU6qk(6If z1y0K23hW+keoUTjdsckOHUn|U1B`1HVy(Ox!uVxE|32nvzXY#h&0t_6S2lZo_9Bc3 z9j&d>9Z)5+fCkQlJch&lQdwIrk+~X)tyD?H9#t93@>FF6z)_XatCW9Wu2>GYJ}J$E z7o@eXTpBv7rJ=D=Iy-|_rSUd|tueh*hQa`$JX` zq`Rx#D(R9|fC0sfC?S=bJw6#?ezritjyY3)kHUvnfpz0`4TQ`>={H`W0Hs@X4c1pu zfj{@)yH<5j&+j((l&BvF`;>RoZ(ECis_F4jiN|76TT>%73ZziBS9nw5TF{J2z?~epbC&O!k zQ9XO?3no$^6qxWFi0!J6jQB6a%3={>MJ{F*$MK#9b!^Ua)J|t{7l``<-{BxcH)c`&-|%HaUEU z33^xmJ#*%?dD-ZT_VB~Ml=J7#$kOt>Ia-*DzTT*{I*5gQ29#M}7^U**PZmTU6iZvh1$zhf6f!z{J!a2$CJ`6fXW@YZE3luD@vM<} zuv7J?!U{fR(?=#(XQkXXEU%xNl^%VF>Ge^m_sz;vZ_dcljcFNJD+HuDlwJ&(my91^ z!{Q33bm!XQylkWfWL-D<;@rJnJ41T?e!?mNYMCoOnOf_S>CKo-UyIA+)tDsKwu8Lz zWUch2f^tI_=dTM0)#F;8GtsBaCmOKDWw~d{9J}sX!}2URoqPm0N*TpMm{9(Y#U|e- z<$6FGlbU;t3)1+U{$7MBvLWc9(bd*uVPes6NEz#hGT#x)L!&h9!2_>JOJlux)mS(! z%}o|2Mz{d^YJ|{46`*ufUz9*go!*1Ivr)NrA61$5bKp56><@5*;vG>XolOrT&R&Rs zfH4&agk%sxftL~T)fU@^*$<;LD@jAizN}%2>p9qv_SyPq)FG(FnJ3Ib{G zzI#WO6<|b_X=5GD7SyAuZu62& z%ka>UH0wH^n*)qFO|j?j!0W%o#h32h-~DZO{Q%6^cUH_t*U^WStA~(AiKDU=po|b* z3Zt-Icn(5m;U@?M)-zr=3%OCAlIn|?wGD3?MhO@_Iih>5;k_u@6EM*F){XsFV1GMZ$ z{rwrKZK#*7fo6#=?62zce#ojcE>uX*Y`Fx+%cU_?Diw95(%9G};huQGp_%(7fY{8; zvI5X4tI9~Ri^)mVN2c+j%}akg=|rTIT#}A9KvCNAWyh3P`8!&qNx@@FGtH^%C5AWS zZce!OoMGt28jp8jH#vr(m*O9UrD5RdQ%WcwFkr5LjU4qZrM-&Ba2{iFwy_d@VrnEU z6Uq;3s;i9$hdP=pI;W++MqYd66{~Pc+mqSxA?sa94=h3$UwP$aIdbTbg{+@Ddse!A zT~?hJ-c27fLjBUJUrUK|;VQP1mWe zD3cS%ju;&~a!3xpaX>DfKWlk?>~r1???-J_nVdU)!gwqm`P^~eFEMxMe^gw>$V=MG zP&{%Epy{)sOYuA5jyh>5J!wX^LihvgXj%biSb^B-lgH(-j`^hvXD#B0YLESWI?l7x za_7D6={)8|Q*idDfBL6)3+KJ_&f5mGT3Z|BiN_zaYK<7U0AqODFa~5FL! z`C+N-nvuiBGct2s6^FILW6|+=jm&Mg#4b}rL>a{O%V*^Jh2yfOAjVa`#%6~kv9#Z6 zl2tN#C8z+c-wKFKUysY^)u6QwaIcBZR!d~4&6H{YLLmnVcmkl%-EN_79aO4O#z`fh zy{x2o$1FxyCzs7?O=XqQ68hqGJ)0Nc*HLwGhqb{4X%NkqEs40T);wvHS3P>0w1_BA!JyEb_IZXj&a9YNbVfn_6yC?V|@GLed2GXSI5q3edCdCnQL#7D>`rVN%I0@ zd(mwLYgf;lmZi=PnHhe6$*Rl`3CrQmW>YROQbbfyru~7}^)BHxM}fv$y1cYvfGziP zgaB)puoD!Hu>MPEBc=MW{_!t)e5)&Kva-Bt_i%y0&igyzcB~%^5`Z4o3d#;Zh`mJ! zvip1=80mNoDIfzJTF*XZ)?-=LZW>%;P3N64Jop>vo#eM%jv?Kb2z;kl02LY^T$mia zYG^vUvA({w68CpdmN^%sK>*`*9sdoz=i2g$&c&k53Fjshq@~6HSl-}kKOoIQBr`MO zADxw^;Th?lU6eRV4=_)U+QHy|A7G7w*gcktHD8!|IFs$;(0YKqZnVQNg)7UyJ{ z$b)U(HT}Q-o$05-Ub_`5ph6?_WFcS}AHXL^6FbM`}_=`v}I6wBr63v#)nSp41ke)?PFnSGGCW~-~4=G{MY z`i%VQsb5*?esb@6V{rpumo645NGX=4x*B=m`RDAtsa_ZhhvdL(ugT?$7o?`D$~;mO zcL3DyB}3Tv7)L3Q?s<(8GRgXGMRc92QirT&&AIE2P-kQ$=@`59WWpm)Nq;^UNGrZ1S5}v0Wnoq}mKSAZZpKn5&Yw9Y(V$=aexDi4 zXgd%K`4wCY8&7sY8td&=fz@R>Zr!*cvkH9pey$+`<2Rs{f@y?4a~?_z4oF2=sa&99 z;h-}g{XP1OU0w2=>PXK&_pA)|M(-P>aX)ALD=p{Dn#!w=mkpMg6Z+g@#A&Z8lKPSp z1%oum0cyjtM1iK6Nuf0pedqvU^fmL+*Dy4^^76~_m9Koo>IiU*=sI}x;a|#c|MqXo zzx#LpPJaILpIbO7>lvW-?DNmtb?$*@ZC>XNBRY{3r0t+rVmPq;I@QbYkabWfPyfFc z@FMyFV>rdI_55Y0(pVQ)mGIs1Tv28BT5FxGk7O(i5(SLV$dUOz3w!jsUoIuqnq}-tkIXOj$kK3| zOs|F{u}XvMEh`@uy6IX8$Nh5S#Dv3LoiwA`mGV37^dNFH}QKTa;$q$(>E2+8Pg^ef|Os;{%0pJipH$$@@L@`b@x zSCmWX~8Q}Vf}zLyJ-a|zE}JlG)v zeNnS6ZEkKBq$F}=lwn5vP6K8y(9UN`1#y|;v$A&lh`jgu>z-h2FM8+13AtWTAxa2#J+ZFFGWknazaOINnCrPS zuepv_e|MXC%?N{Xuj3slR}COd#Coi}KH!nR0d6Fhvu+=>;!p7qo)4v|kOONg`3Jdq zAsE$GiHKNIT3z1;#34%Y*AGpZH!K%`?FXdQs)8O>0Cp}`D%}(RKl1(qO7i`>@5ErQ zwU({5&yjY0j=jfP9oxri+S*;2+BIdZw33z*DN>?9N+1C+fFKEgARb6$;32*D@N$@! z=1tCdI_C<$#YF%B|MW>jK~x;8Lv>emb#--hcZJS5r^z!fU*FID_rIsQ=3m`iJ>8Fh z{KvVN*H!=ehhMn&es4@le11`8l}}ABO-o^uiP#@wQoSIa{a;u_1 z4q9!rO5ScgBGJ*vMi^wb@p^cEQo%K0T>xk173C2Ao38kNl4Lxw%kj8o+uRysS$msb z>g!uP!Am9rFj3+@Kd(?aCmsz|%!Vii;!74vS>tsnQ{d6)Ym!iR)UHpJ#!sRU$l}6^ z@$urKBDr$qiWC(UOQ2I_hw>6a*T}sZPUyV%h82M1n;eZrRhEZ>a^m=L35P;52H#R8 zc6=yd{jad1d(D?i^x`7T06FgUJv=L_G6rQXpt=A&gYb3wI3argdB)Q=48KX;*IsiB z!50Y)#N*0ZfiLoVcw|I%06b|>Oy${v>Rz4gt*SqqHqc|m$8?XCDu}BnEj9y&mEG69 zLUa!O7Yp-pEN_jfp+SF(?JL?3O$^1YADDr(*AFT14O#?Ewnf}9g5FdaYu+?#JMa*w z@!#-s`k10zkHq_|+BJFi^x_N!JEW(h(Y)?KeXr|RE?c!q^6K^q(uh7nCIXP-kuHnQ zaEf#}GKB~eZIAqpogg61z$WaRuwvZC$mP$;bxm7Fk9P5NG3_ecOgi9uBkMz$!){5MsjoQin$W@!LaIb*$5Nkt)|=LSLsk7DX~ zUc@!9kc3+36|=oJjXA;UMeKB@c?LYOiH%tW{SuEQlqrwNds(h2JU|G23uDpub+7M) zzExXJ8SmJmn|`RFQWi@Ktn9uQ5Zj49K5|6fy>v-#)Yi&ET5gdi>3m>)rB#Gka+RSn zHmUL2FdC|l0WdtTk%4TkV*?Ussh6g*T&XL(B=ri?YI4p)-Lz0b zeJ;XM)0Jlgg!|n4S^1J=ZFbmFe+8r_D)*yrXO= zp+bHyp+7tip>HUD@HUD)W!prRxeRrMq`sk9diw_zuuc+!q4Z>_JdS1=Gz(57<}AFy^gcv>^2LMSnRfHb^m$b9$nM5x2$ zANi*!`Oz-F$wtDr;aSLRih-aca{Z(M!YV6Jkh(Y1=b5O7Ks^d*wf^f=m_^yiEz<|Rc1X3$-nnX+83xPl<`3OtNC*REK85}=G{#Tbpg0{@FC zFLOa!xLZMy>H1)v#83`l!hs}-7xMfLoc>K6LU zv=pc=S1{2Vk+S}9}u!2pzHt5Lr?myTudguOw`%+n5DZlb7zhe3xJe-P-=)QR0rc}rN zjoyu^mJZUGbgC(lw?ZyjcR-nkGNO()p9+~0xqkJsEX+*mm<*bgEvyWd zQs-F6=;V*99BT|YCkJs5&rEv-thMohesh_R3_IoY-T5b}7z-bv7!hSgco^}JZI{UF zZWP-j$~ZEOp-Y_4hA|74UfWaoWh`}5a(_b4*r;0>(Z(iICc!y9x}gxBg%VZvG}ri zFR6HF|6Nm@QQ6pzP+stok*^6DOMhO-T{{R$^22sh{3IjkGg|z)GG*2Rz>g3{LMzk3 zA@>CMTU&%7-H)osz@$kac0KEyldS+EcM9c^qv(R{@pEs$$9CX7?$GReEEFt7o=mtFR%DslkZjiKrZxLk)c(+=lYBc zu8c{;s8513Ju-WHL1ypFN!4(zlqAaayJ5Na{ykZ{xh7qSpj-=Hk&7J{#5d3&!_#p& z)p1(>Am@ux9xau#ZKtKVOXXIdUz&PqL_HpM}?o!X4zM)i+j) zf9Rn%ZL=!lyz-8X&rJR<>vyxoI**s6s^_}Yb(TnjuKU*Z4haUM64&+cN%b}ZV0MR< zzqJMQ`5UFxr?MxgAkptLFByQvTH9>MT&o;77_(wp=gywB9#j}by8|885+pw_*Q(A^ z%mDx}9*-)BDpjR+d-()UfZt=JqtYM-B)np@dBJl6fbz9hP6>t_76i7pTtyPC+j4aoE za$IUF%k+IKrM9YEN)@~{H`dFf@*fJ30c;^W(5&&O%FKn?8S7_>;*YV1u(@}$l$RJ* zkeShFuNjL{`4Gf)F?d=j`p!1V&(D);1(~CR1EvEtH`Gc^WrY=UD*E>{)bG^ll6v>ADJQf+!hu0dz>yITU1Kc%iZ*`w*SM z4Ntbx{Hp6w*557d@AMkXtebqQYcc!6AiE_zUX<7$n?|W~UJfvZrG+Yw>$;(C>q{)@ z3(OF{G&L&2b5V&d;}P2)9MYF9xza4t3!Sn!?30=Y}s82QJ5zd0DuI@+&pO;lL|A$vTjV)>stC5RUiQtDDEuebdUz2h*9dbsiEE~ zI5yN&S@J9mfqS}wRy>5l8-8W5Rb|CeQm9O~p}{J)Wpa~0&Vh9YM#_d~ZUJUg>q{?Q zfif|yV-eHEYGGfxDOkjrT*O|)Z^#Wp5O{r`PFOZ6d7cWsTt?t3OoWzDm;^;TU12s0 zkZw>IEY&_;PYfZO!9b_1uM_f^oi~!-2HF%r)|Xk)5}pwO3K+~J+{e1woqVlnaXaM1Dz8wyoP zyLM8V6p&GQlY$-)|J_h{QL1y!TC?zUA-of@uLw!T;+M%|%6zjYJL-z0uSbs_-TH^=}=AMBI45P336_Y-jCeHrBu^@siQpKXqQ<-LpzJh7$7L zp=ac#Dire*WA-`Uk1It+CZxgxknIH0st2c}JRXuCH9jqG2Tw_r0wVv|tkfj~awc$0 zp00mZ>PG71-(32%eD>-e$jQKYX&md2i;;YJtMjzH+WwXl#LJ~wfm~j^NS<$bO@37S zl$`CpAR}v|GPpFP*EuUcto)JuwE7vz3*{@IY>`90H{>%{KQFKO4$0R`zbS9}UXiY` zPRZ*nl+Wh;k$m>rAILktcVuwf@veBy&2|J3qpuyjB&0GSpz9!rVWz1l&p} zWnx`rsf1J+M(OHks(l2cLF2k_=rLGWkZ-92QRR0i_n}U|^=YhD<)1vRww7jzM-`+g z&|xlVvysu@sJw_s8FT}}rkGP&%oy0xJ-r>^M)nYDPN4&M3n7f~60GnPDFeh&7|hCl z`y0*J3y)&$a6W5^^@d_i`S^Z)W{BRD21xb!DfJ%kw@J0WZ;OI3yhh|}PUv1|%nEX^ znNAT3D7YVt%hd3r9w}rkp}~{-o6Ziu@o3gtQo-81f{tu;5cCUx1Rfp?P3hyp`%=WC zPQl~ZGp9|4%}Ce6$nbA$>m;J}Pvj>w= z<+C~m=n(Y4%cLVR{umPh0_ol~M`!e#=ZZDi)2(`ju7g{*Z&+2vY!3{_gou9bbDxtZ zzyEzXclM0+tUGq}sDZav4;_-20^T_V(S(N*8cKQ$;}y}hM0g{73XqZdoL+<;1@K3I z+0KLP61p2}&?`g|eFL2g&s|u-VN@{z>ks2NVDTWs%b6c^_BPc?*eAAzb-wLcbk3Q+mp$nkEz#FK_Kr zMot;IXcP_EYq+CJggqt}+bx{Yy{Y9kOpeR#h6=fV_<31ZMP`1+@upeW<3iAW=XJeQ z>R;2ByA`woB34A?Rz#BPK8dV8%uNf9R!MTC&tjajIjG7vJvC_|5ilOF35M95EK-uo zS+p(Xx#mSn9dxSBq1cju=qSM68=5c%JZe~3hx;D|Y1Y$684N%z=x18Amc^ zN%hIzE-MvJPaKpuyp{)Xz&weM#zV>bQL&MtAb8Q-Ifhu+ga^=-o`p%c2MaPC5bcHt z_XIHEamvIHQwgt+W9e~1NSPy;57rqNW~faSCuNL;gm_(#&k%-|e61kceJ7MwJZX~? zQ|58V=D@N=I6#@zTCWcUOqm2*b|KHMDL$JFSpCeWYME21an2P z3lvBgjh6)t24Gt#L_){%GKmJ`R1%G+-qlIrqe39C{?Xegd^!dvKt z6YA<#fxi9Py>;uR1UlLt$s@&>wmvm3@4ofC+^s2-6;)a&=SbPG7!!wdAj)bvz_B1GVy#x@Va>#A|N6 z2>yWrfU-=u48|$KqnHa6JwO6pl~mpXU&L_5`a+?$kRlcS7z@)axQ|19eSK0{sj@wy zz+Ss%#*~NAbUfd z9dhdANvpI+eirEl7)LOYpny~0!#w1vb8740VL5I<8ipQ>H|cw8J0kRr(0s1LHBks@ zbWJe>_%TL5JZFUJdhr^*v#>6G7mN+imWrl*Aq(ln3(vcfT9BHe0r)g8{z$^c$^AT? zSo3%W$90|KdFR<_UDKyv;K74;vj%Dyj1q~s0kw2P9(w|#RB2(J%@u8kC@|EaI@=|c zlX%Y#AAVa79ePcEprGaSsZ$C@f|iTw_3W9*JY6ai89zLpgm+@Fqg4SFeXZ%df<>?2 zLKyTc*HHBr<_NbM zny1XYF^Sx(b5nAw^pf1r1x}6{N-W<|NF=u0yyJcGrX|*V2GAyNM`U_6Bok}80d6#J zIWN%bv#K@O9(agICf*LDxeXm#D{~E`u_37jNfjpqG7}i@4NFH|sWg>d)5)o`4Vvj% zPA@hcuWj-ljN$9zWwB#nkF+;QTV1*MTbs<9bVtDx%r4%|=8vqMTAzg{! zZ{qmzyil%!wIs#t9p>)pgQb1!1?&3dDo0btf%op0`E1Rl?aSHcxsF5^fiu0a@z z>yGAkgjygp2qnnofJq{lyV{j0=!VX8&y1w+6fM3k)7LJ_-LrcOfpqiL*6ZtKzV}fk zgf$H>qnDSHF|}ssfZv`+fgU*vR6{L1{f0CtI7{`Mc@gu`TzW+c&%CK~(f7z2+6@tU z2vhZXUe<|yr`O)8eZX#rHPG4M^hw;&x~FqHsN{`85en4oTJEl=vrReVq!#{_U0jAR+zt-n;iCz7Us}n_rVZ%Ka00yZwlK z`qF3QTsTK+2b<(X@Ql3H^tuf8_ZawrZ(iy+FHhJ0Os;fXlDUORy??!YzxpTAsQ>2Z z@17|BhI9=pk0m6mKf8Q1cnW;HspPV*@vFx7Q$t$td=PEnC?L94R1ri$fFEH9AoK{& z?{*g4y%PMZD;SizTHWUgsJ#GBCW^(zrJirMjn^edfg)9i9I~ z3W2zkOio+n%94_Dxpw)Yh3WNB)PlX(yLEm58sse%736M$G%5z7be9zuNY2%(vZVWq ziidzPdXUma<JtrDl{v@gq0Yz*&~O z4x^ZbN-MFpST`7SQ4Akegw4!rINw6+RfazDz5bSG=6kDN+RJnkM@o@squo#bA>Y9Wspsz;LpIv?Y* zJU1iD3#wDjPT6nCNsFs4$2?|ZY)K{F-QUtEmE~pf)*G+Oo39^|OXtqYh^`%gt=Dgi zbPNgMqd79V2#R?}W0kdY;Ms5>?5D2AwdhNWAsxDV@1BfL&*hme4P(3DFeSs(zynowy#9Xp``c8VJI@MRvjTw_n{SQA?q|CH-Se5A|r(g%bXJ9!f zQ5D8joue|e(rchCl_6(OWqQpf%QJ$-KURJ@oXdX4bADVqL|DP!aM4N$zB$dR>FE=)|7mwb^_}eP257 zlUJF|!Mvd41{9=GEea4pl}WGrW+Jns>ROue)yWN2Fy2!|+zX8DL?50wArG!ylU4H7 zHUubyV8vC>dggwtHP*EiH_`EAUJ0qS^1~ayaj91UQ`x1XQeSXh$UE}_X6Z!bCp>Pg zx|Z=&rC)O=BBYr4F@+*!oUrH;15aoX9*k_2A}?azSx4;6gN~K=B0`g}6t6EY$jZW; zfzMZ8eo>-5Vd-dZm4dt+@zqyb8Ex`YY12Vy^rD_i^a9>AnwXMnwi8IBH3wm5?f}x7MrWm9pwU2D&)k&$Jtv`=WjPYKB3~-{ z3t3-Vl&WC9JXQUaly;ZdJ)4t0`OV9}Ez5V7<)e>3QlRITpEbWMKW=zVs)l^hyQns6US+Jc2f(;Kr_*N@4bL6wh> zDu2jJWKsI(sbq3huYpGf-ebz0-Uslv6L5k6Pk8bGVW}QPt_5!gpb_oEvp8#$aDOK^ z34)h8#YcAbn!tNa=IZsRQptKlSD=u{ojdnb4rcF78&!GJOa5O9FIrn$lb&$I`nF-1 zvT^7O8J`@BMI6tlevUVkYLugcL>$G^T5aq=D*up$=rR;V>F!c_80*t<>XS&QORiqN zELG*@7P6Q+uIYph1W0MCE|LxfdU5nM1(_7}$hK1SZjbf#H7mN(*WWMkBrPQH?AKb@ zEixUDWqQvpbSY2L-(grHACs`X?XJVU0EV>mL62bFwd#MfMocfu;6+Ljg=OorVoyMF zJ94~uPNhopG2{Y3iP{NX&$1n{Kl$BmjB3VzHwunm_@In`!t&O<(=k3(8lRMw;TZ)p zA&IUkvR`YG-q{|h>mHYjl_L^g>QRtZy9M;@g?d*iB)QPJk)P(=9D%>Mpx{iw#me%M z(xNOaKJ2}doDXc|r+Hr!!b>->S|_tpEpq$%QCV%xlkt@fiLW75(iFx$i%RM0$jSvJV^MT z8g+<@V{?;Evs4xip)PnUxL4}J3haHMVZa!pjkSJx)EiVFdi=t z&~9lgsB5~ZR@ePidH?9%^VRO<<;ikKhfHI+*D=A$gR+T74Mu{+hp-y*B2W~(m>A=N zSF7sUi4BnE9pacuc-jbuEWL18YV$A1UMfAZ2C-}hbu5`H1T}k%J%ksxS3x+>=JngX z5bKEQObDkv3%5NIO2^nxLb?K-a{byB3wykF>AYaQYxOltQ9+)BJKHSBWO;5{&YwM_ z%4@BGR7>7}_gy)E{`{^$8r4f@b*}UKd(7K`Eca{3bU{5 zy8YYJ*_9<+@ewkZT4ABwsAu8_nEPTAqrMpZExEYeOJ*XOuN3Kt=;f@Ds)C~1HpJO9QnVlH6{hF_`lj@+MHjMN-E*|rMOd^7(v&|>H-CZ&}J89wM zAH1KvS8=BUopnveYD~u*0~`I-`Xk*E_P0o6NV{_1vWk&hIliU>b^i8 zqgRmjLVh-BD0tNXC^$0E!&29}ON0$#FyQ)5DDln)iJi#h**p_r=-M{r%Rd}>#SN*LtVA~_tcmw0t(~^bHpM?H76`DYytH3#w4} zt76_42`j@JGi%cO2e8>WCZrY)?zlHTT zyCK3?shmg-BH$cBfKUWfW>S23Zsrr(Zhd$WfYri|4rq;MA`}inYr0f9q!f03&NaDw z{*1(;5%D!ON@;PSReU9HgmA3$XHQFAZMDrEVcU0Z-;wj@&g}}MVena7T{r7D;c@P} z!=fp-Qq&~3~gzW^<8b;@&cDPsmviwK#QtR7txZ|9> z(DH`7;Xf&j$xc~Wn3D45qw-9}kK|(Tk~9uBNnu}+oaj0u4?b{|zUkXDaxIo8KWlwa z0bi-)_ZG;)?FE^pb0|@l|LKmn^bwG9RF63v>nBhd6`xvJe{n1;RYCTKbsngn_-p0MJRm~>YzHFBX|1E;FUV&R(wd6 zF}}xm=vD?qzE}YyRTfjvPbbz0xon(k)n!%2SwSL-jd|!HD5HdC^L}^>$dxB|4dCj^ z9C#Rd1x5wz#K^ztC~@ zILb8h%zTgQyibh{TJ_Jfr%y|;v)!t$qW5eu3h1>k)L4~p3bm*nwY;(>AAI<}e60W5 z&x7#BySHyyTF>C{i0;ci)iXmDF4(KQ3Lpizw@93gx!*5h%-gGrZ2h}q&%fkc*?o1L zVuZl^2pDpzomZKmo%N4VgYUh(%n;r!DlA%&l05=U-kEntXUCYrn4s4XeoTI{*L@F~ z(3=5?6aexv=E~}z=-Mnh_$e2{YKQh~AzuB&U2_P+T!zUBB!<$7!CT{mge2u&| z=XYHb6%rlk%(`dCM<0EtiuDZ@2mxuWDUlXcC}DUc=z1*%02-FOxv2@Mt*(@7S1w6@ zZjOaTL{)&y&!_@ZTPx?zoHnBAba6p}OvbgB|S*hK4j;YL+yMPY#n06GrJ!@#&a zv~J~F&QI$1Y(%PLwpHZ`{k(Rgd}BR{>SjeCS>kNU^;{xGAE8P(Uqs*4r)!k{ScDHC zD7FjVAe3QsW!Z!Yxq|QMoGmUaNzmVELdEgWdVs?$DTzW-o+tD9*X7-d7d(O3PV~{y zqw?$pwaOOX;Ec5wW;+^ zAgy9>TACExmBu^esm9mkdo|C?YYNcH20J9VxGF0EsqRKO-Fi&Uc3+m-WTSMAcS+xD zzkKkKW27SFF+Sg?=Ny(-DxZ-Hp$js9dtN^L_(K_58zRkN~EJf z71x07l@u`R64p_yrfvm3_7r`U027&%l23%#2P1=0RjEKTsQf+40wM=RQ&TH4G_1Nu zXHYu)9V&z7t%UyML7Dg|MrI4dWdky|38UtN`XdT7?`3wQr@GR03 zZ&LRS`?;aM-ojre$DBeWoMZP7cS^s?6+9&XxnwdS3y<;M+Z`XPeo8bCI`jDGu1BD^r_d+El5HAs$8vH zmLpddq`7-ud_A-B+L>9IU7eNK3IOTx3Wuap?@E;<7CL2O^5Fm>;Fom3u*}{m&ou>L zVR=!eH}ca)X8NRWW#_!Op&NcHATo19X(=dUtA2@^H_iDzJW(eJ1w+~9Y@uiaR=V4% zBu9L#;Dx9U-m?trW;%&0;&BlFX$ z2*e|H4Hnj*3KkUGHdO}v_2tsl?o&qBFDpxnSwH`74wN!tzuEBQuk=P#q0kMFPoIblWlW>v}LUMCC$@VKkcA>L$2L~Dzgd46NMMG z!|#_sXNL-c9)0$ZG?wK_*~KGH701%68NFwGPL3MY&nUZJb^Wx0vtsMK|Hypokr3Lf z$@Cn_E$8TWc-CU!fUO@q;>;;)CDU)bh;ymX#G2TT@Cz@pxz)9dP{K$+ZxzZu4^df6 zX<|5G?{ezIG4Uxt>*?+?Kt@UNaaAIQl5s0b-J(h>N(BI6ZkC+1-GMX?_(4y&`w&T4wCl{n+YSE}^Y)*Wmvof`~ zBx@7na%*kPywN1v-_*VI0Y#EjQE`tCRBqhUeRa3DTRwhpAI7%v&4vN$-FHp7rNU>o7<8O)&j9F-U+*+Ct>WETDAt?4LIX#3lQWyt?mYkc^_jZZ3hBu8cme@uE zVw7cm58(+J*86z<_LHO*pHKOc@}dLqh-FLT<4ZEXur5u_Ey{-8mgC1xN;H~OUKuq2 zTv=9XrPV2cPkWi4{^ZA|jIJ%tS(V1uUVT*>RdKGXu96eSkI9AeXQZ{MUWQ|ts}TZ1 z0Nxn(tgoiWIS~61?@CKWj_Ck^6*ID_4EHJzpH2Yc;D#rPJxxRi{1BOAA@#bp2rak5 z10KK6L{{~Y@P7qT7)a?`1z6yH2sy`7fs#rS^{~&WDh$suncCA~vIp?V`L-@M6l~c7 zS0E8Jqf2u`om{ze(OM48P7a$92mV0OpPr5utF#+d-iZSu+vu&`9E=4;LGInUDN{NQ z5e0+Y;h;rTbopv^E{jZ8*-bh9{UG!+UwMuJGk4uE4~&OXsO=%BCW;^uRGq5TsRck= z8uV$RVN%ZnL}5^+nkKp*x^PV8?r!wVhwIy^q)0v-29nh3k-sSPsh5tcKn&fLw=XWr zxuPWr4K7GS*Q`8yWLlQ)&g@&LV=58$I5gkAB3xL@wxS=U9rd!WOHK)J>mL}Nt45@1?h ziK1-QsqrBxQze;LWfGCQI&=~023lR3m*x3cDJ?FRYgeyIRaJ$AyE_%2jTsq8)5Qg| z#XCikX=`JxHOypOcn`(GTVC z|NZ|~KJ%I1l}~^Ax8=fxix%zym@wd@0*~CiE%(|bIToyHX;G!o5y;i543dY}V8uX| z0s*;OP#_;2Kkf;}b|OIDz5IMx?(CG8o_$u|5;;^baijq?yl(j{5D~t^Y60hH7BI}K!nd>XH&n_8H*d(t8_D+{Oi##NU!8)quzai_GyTAD z5)1~Ehwsd@Y|K^hB98|n1Rx8gnze(GhN_QVc?7n%dqNUuqVidhbgObZK=Gjs9un_r zS0xvVuJ4iGe$s?75ug?fggt@NCq)3X+1XXAHtF|wOKxs~T)A>Z+S^;Dsjk|>d@1a) zG^=ZGdR#^lF**G9o6_FeD)Y0`Qc+$e=X7n~P>{Z?f0Mg;_3}kChHeMa915EE2;-|) z*r3TERnp=47@GhqLwe0@b69#*ZgLM~CZ4EZLy4^|01^sovX3&{*;)6=HSIxHP#)Y^ zbWtoHSg+^ux77Clgpz*^02%0Pl}`O{fFhs_Ly#-q%wyK5x{~rY_qT+NqWA;)P^b;; zrH>VBJKSk`u^s+)15&i8C&a ziCnsP!3r(SjEzX3wORS+Yx1h{N$YrFe zBsyDXbG>wRcF4@sw1pt<=ewsKw1{Hu(aVzdN67&Nn1NQ4udD?;z6T|nya+(czQ91v zIPsa~tF_nLI!ZTY@i%)8AjgbGh4Fxf;$Hf;7jYiO2MXO#adm)p z7xb6>gmsSnqE9{j_MBWSS(c)vW$8@ZkjUh!l(jF&(QDH(b0=oK($c}u;}YSC{YyG= zvk94;bOsK=KQ}wK3DBVBx$fYNHd#p2$?crua_8DHnOyWs zjAAG&mDb!kGE;AiE!$GCC@is9Oa^e<#|NyMkK@hRx^N7njSWhE&J{U+^oSJXNY3@Es?f|@2vK=?xi!nAzX$z}*lfhd5;j4sdMN0(q9F6L^9m~OX8pXoJ+Sf+ z$4o(x{;0lNQW?%8iO%D;sd#5LA{Iq90hWq%L9kzBf)PuMZZs5qgad!?=AJMNKs1W9 z`wlx1;YT!2L>PNrGo1_wQn@qOA;ZH%79M)|@L`#PId3S8EiEnbo4@fJQde7RfbGzs zL-OXEZwP&gR#(=nZxzkbiId(r8T%pej9scEGA>wjQ5+FW6t>~HC~V;-;?C*4mK*Bi z&ZUcSrc}^F5ps&z_%|6oc?Ni?cFG4yCoFt~v~)Fa|g<+^~@8 zF$GMCxK$Mk>$;<`ijCu%p|c+Q!d znK8rER)uKN3}`C`n%0a6;Y}T%=*WcBrR1em?h>SVQCVVAx+dlnq%Auj?Z%qi(f7Su zStt*#oR$yP*ET`g#|pwex^r7Tx_?i3=KGH*Nqja;q=SOAObR)B2)={z3LoihYfxpP z)szm_4d9J)2H~|U?$?&$;@RH!gfM=zELhgaZnaY3ZVOyUxasQ^qCh@iE zyNxQi@c>Yt1W^sLuWv||@2GhvsM45o^|FPqv41J_F&gVJgTwUru;r=z?3riGlZJtU z@W-R?ylv+rON$E&rKGq>I#m$|6ww+db)M4+`NDp4qbZmpi=b$w`Wsam>!dFnu>FNB zbV8-FQ~L1Ob3OK>+iHQrF@z$M8=WmcgD?`{HOIS)(%Vsw$IA($Pk%?&B1TSfhB0`e zzc_2uzhy4~Nbo$6ch5NR8UH$;=`-v4<~||Hx9jh0&xAT9*r`f+cb66OxP9xE=@$DP z^}~K9SH8QqSCSsNoP>~3#TQlwI**L$pph+CmDJgWjU+Nm2!1$mYXgq8smi%96^ zNa&(NkR!ZP5xxu3a<5*L!u;#f=~rM8>yy@&W;yiQYpV39f;U7H#E>QVxBD99`jyL) zd;Plfgn|<74$45ZN0t3axpniV&xYphG*^UTJ!UKh+)9ZShq|bnohQ|tP zRY#LD!sM`pHGJkXpRxW!2oa8&>T3B%zw#>v;8<%_RaNrF8?Q^LDin9`-gB&AVO1)W zQAP3mdEIY=V0w7^0B0zUyq|$(1+J;<&yv_xfefo+N!)xy86iFO;#DQGn0rm$y>Q+W zi0wr8UVmMJ-~Fz<^qGGzFMs1NEacP+ka-cFpvL0MQhw!xK2!fE!Y~mCuF-=cJjA?X zSV;GjvZhebu!8PXT`iT^8}aDFs*-!&5BfWVkd^G#^-d@e;YZB1J#Wg~TJD4b3_|FL z-#4q{(12B`bBiEQu&7_32TwBV0|HQ3Q6E*H2(|t2gWZ*UhVKwo7#~Q;U}Eb&qS`CH z%GPFQjfjFsEgq5>bMn$$p!GN)jh<`1kr`Q3kakOz+Izhrx!>iN`?(k7LE%;T=-%B& zA`FNOV4p24Yz+^`fU-D0XZbgTWHGLcv72|o_@jujCTtFLe5AqjO&E)OE$tGH#61DjK~g+EE`dNq>g$@NrmEV) z`iE4(uB$3{ycPXXCs%tTuZ(b13a?aEl*`pi7p+Lk%G{I_?)b{fQdeCmm6a9dZ7x!v zM&sVWsME40eGXCy`2uhPfH3bwiCERc&K4O^r4e2_qJTVot^ikjM-hP3&%Maif-jOgzcnXmOw20_c-jFIg zQi*~O@FN$rLU{K9Zd@CFO0k@fU)OOcAc=Ut@`OoQTU#~xcTgTA4l^F<9v&FzH=}a; zm<%NomJbGKnAY_&KQSW1@jkhH@q#qhE3j1Et*N0-E}T81I#1HT@#3uNp3@UDl2RZj zmEf)PU#l!HvEP=L7Fl&v4Dc#f@YqQ@b;UeT3m8J_J`0OsTlA>^qXwxSzwy`@<06kd?^?tm=JyJh*u zCArYGZCQRo8)?8jwiYsgHhnv4d1{GuC%3M9u3S3%8)Qm1WVW%w4|Jo@cLM7L7E~;$ zgiBdI*2aP%`E+tPAr+;?x}g;`D&Sh4pRsC;FFgO86_8k(ow9rf+~ic!BgUSpYgiEH z6bMqW5o`BB9F*3^ONm7tz&X(0r;H9O-qytoIK#U@DPgR`ggBsh>{%Jzfw(RVg-TU0 z7s#o)wYLg-2p1I9?Y(K^X3@dxL^v4U285H>JHi;aCdwNE96^V-qqCVlIZ0ig)AGk( z_=0&(NsdMlE-NiFkmg#|`uqFk`t@s4QBh%GS3@db=-XsgBl4Tl1*Sd+pv$~t%79>g z?zkXqy#y?R7zSyfDXKhLg)RNP0c=$c#u{qmPDzQC-uD7yJJHS856R41ugh@GMG2Mf zt`{0a$Yc4Xqh>j#g@N~c><_`1DVfc>4eMAD%9F0Jq!Pk`a|ws^x?U#2N=L{VW1I@6 zc0-&`GBfK9i#Bu1zksUkj3DH^Qkcjk3KelJ+D;G>5=Kzz9%7BKXWexIAPIH0TLai^ zth^YBV*N3puU6{2!>a*iH-jB=Ta}bm1;sPdTZ@MThZSJOoV>Kh0ci!X38@;KmRSXb zck(XD{kjUd8}!SqrW(1?(JJpNAWKyW2{R&e`+ML0t`rm$%Ixgi=J)(dWJ164V=6H+ z-t0ZIzSg0!ij znB`;A*Q}@@-zj0QV>mlDD5VP04!`x5L_$I7X!A*1bCX3jPhCdz;+5D-@*4H3ZN)(M3DvSk!N1lItxqo`duah z@Zl-P5J`au3)vLn!*aU3K&HW;08Oc%A2gw_a9@i+P`!g^v-RB@vgni4 zd4i(6i_Vi7By}yKV-YTy?m6TA;K^JQp6l>vzsYthy3_8{J=-Sn-X0kp%3LY&7m>`9 z23;&$mhi}J@ekaTnvN9-CuXE)kzQj51JWESlYyls3uPpvkq5GThnXo^8SIjqstB(u zh@nKko0vW}Gbph|RY)*=0 z(>vb20admM3B>XaqfIS6N>~OV8R1Zu07>xxBn+;R!tp za;#Dil_%X$x&2Ny1r%WEu@bEc4kDDpO)INzR=FVsj#%TA=~J->P{IbWwY zHXn*Ag-Ez3pLw0XTVlhbe9^ZpU3e01$J`-kv8a>iYnD^aSH;<7cqq5Ly8%9BHh8ft zbj%o#?hR!w6c3;m3%?*; zv5=<~G$Fi?N}P-hUZ!jgs>#M<1CPuZA&z&-3*^DY<8o84O=x85_mR;FDNj5;NP|k^ zlQN?BTW_qEJGx(Q$NS`lD(Nfw-*@%CA1Qxx4?=az94_~SAQktWo72|a}UaS zV-TZcKHd|?jror$uSg9`+>RLkK3!Yz3k*rSojZQVS}{+W@*J$p@S^P${DUU$9q0^5 zU46481}8ni)#DP?Bk`I=dgIa&3aPwnkm`zZ^O$w`6x^nO1^R|I)z?_KBmCKVj3)an z->6kVS9x)v^)92SJG_pT6M(dHXPun1`N>h4QGMd%@ncp(IyfVLR9GRBvkVj6B}V0wWB2w8)djgU=bD&btN#~dCFf9CgizjrDH z&O8wrf_%oPh4!hS%b(r3{#A|`+549 zAd@jfB8yB;_XI5Eq1&$tagQq9%KwNGIjB^OoeuP+L?WT2C42#Xyd}doIH5No3Y1!=RMB0|42JfL5(@ztn@$O*!Ah&Z%*{=M_imrKrvvexG@Q#F98*Lso_xk~m8|vs~WlSY^zRlvN#MUM3{AbH*KM1SFc=_#=07r9M$nsnjRaGMb%XZ zcRYRSr1cwx2;oHTQt@O?ilcc*H}2!^CBl_4bOcrTBMcE_gA zi#Kz+05A};hCXVWUN_{8&MCas@)T9h5DfvSG~=K00zwX*-xBiGUD1Ou`BXPo>34iX@wcKiQ1DS=P6F$Sbv+AY83Lq8ey6+Bf!+<%cpdvm>9Q0NU06?T|x$s_u1N1r-1#a_4B0o4BoV2 z)y-7+j<^fQBTqtLqxjKxX?#EGE+86Qr_#K@2=&Q8h9 z#IW>sbsF;~r-RTVs;qhC#_b14Bdm$yE0ofwDJ|eE-Qon{Ju{^pFAPUDh%$cf`yeE}}c!o!Qqe2wW*ixQjAP0*Tf;1CYMfi6%R7r17 zzbb+6+87@?^rn34Ti=oM=gwP0V2*d+ecwVNnUB;1Ws%>Y7_?R9o6_bhy|N*MA2uD$ zmSC2?(rZQr2q=CK2}xL)8&wve+T7FP*Y5#XvzN{q;PL`vJJAR4yd$?x9hdRz7bQ}1 z-4mR-MD?-if=klf+4jgf+)rYiV}-{vyWQGioUr_{CJ0%g9fQ~PGLeNBsUS5&jmLU| zFho#EjWq?R!b6Ip2BA#RJI=3we7lfLhPB`{AOs%=CIt= zWa5#Yc|Nc-rF%q%R)jn!qj ztNip`725B;`V+aIe^EZt&)ft4eD2&?`TgJjeFJH~_j|u5Kls6uQeWS=afY6w0FxFF z6o2s=t9>J#GpEFQmCZ8+cWC?IhH|6WW9S<>;1J-Q2tE{0U{hXExvwCtt1Bv%l{FRy zURkVsNR?*RF%<|25B1uYfV7~$RjSI0H$fV*_R__R^6axeGjc2Tp;*%(x?aK9D=)uf zmHJ+K=|wrBJgLpsC}Rp>2%m(9(>5Whpd4cgM4vO1SoTr4Q+aJ%&jp-$$ViHQ&_64z zvYuzA5ik1?;|_AhqCix(xW*?y9UzFjEkK&>(Uf{>mQg}%3jS+cW zK|p;~g@iiVHa|}%3z6<>hpD|SZ83As`G?Kyg!18);+7b8RZ*v(E&N+KGu2&Rsf zM$0!NWD&X0SX-q)El=hq#x_A3t#TG7$F_{YfP%9w9Rn(KkBg9q;(SSkv~is}cX z(>P#w)C^;^YC^_Pe8cvF>Xhh{fb&6pM)T;Z3`>1(2zf%tD$TglzuQ;RwT2PW?xpfA z($Olz@!dxUuvZA##c1wclj~u`B+`Mj74p}%Tu=Xdx7Ytgr%!naM3;(UW70b1m(bGw zS9nY%^3!6AG`W6QGTp)+=Vq;l$a+*2fzljVOT=~KP1$#&GYN?=wtHUBB_}_vQKrWl zWPa2qvkO5PyA`r3k>SO1>54Wh7@QKynPzjq7zi0exkgE|q8c0C4uk;-!F)zfhD4OA zf%WEXX>V_nzTRG;xiO_=2@}XvyyS5}8hIpy_mJ!#jr7}dVh!J79n=NR=AdjVN$-Fb z01BJKOK|Q7aa|NJ5l<<;R1;VtDwOx^oal0x1DDs5VV1c7A8HGD4ubz|!1xh}uGh)f#2vrP~=Si&a zsw`eOBM*-5&9nC2(Ic{c=7bFAUdouSMiG&Ut0$zhvC65s{|} zuz03><804_RmsxZPXquq>s?t!93K21+x|N96rzbMj< zf>dO@F3_m!OaV6hB9;G8K@i1;f;xYlN(c9*uTxP`v4XUDPr$Vs8XB9G-q?`%S~{hq zq*N-(%EjN@U`8msF|I*@s;GFPwph<5cmZ zFa)hV2rV2O=rb=00BuayJ)ngBh!O}dAPkyHjuv9B$}iq<_ORPrmOSyku8u9^LkVxf z3E>w!BLIl}H9TsBUiIpCc)B*j9d$h8x-Rj$A>UE~8iWGPo~A)Ba*6j$_ogDB;R`fO zCt?Gz&wCKMNRQ3-mL}_w*sJeQT~#GH*RLzMZI|g09V`id1*s-A((FY!385a{Bso4O6wTPv?fbLZX`5TYPd&=ZLD36v{bu{Ft0MbxMJp zzRO0grc-oE`AbJypFe#EjMV59cxrj4E#E&TaXkza@Hz8zb+$^<}uozH`gN%}h<| z2Ar4m-Y&V5b5d^A7t8YWl;wqy!!|q{wNn0G*K?^?f!gSLhfLq-k?C8iu-uMVnSMNN z!NF=3Dg#-&t|`7j*bUw^fDcwStYug;oEY_LO9UoFfr24HRg8MOgQh$Xiu3+^@9k)f z$`+(?x%c1yz`TzmBO{jRpNJHJUQfLr3ND{x!KA4%;bMfWP)QO+DqUI5M4Sf^cCx&@ zYF-ClbF;kl#vAhWuYFCv^rbJ!GtWFDKmGBKokIEAHY6af;Y7K=KEYt_ZEp@-|H?h{Kgh&iK!U|=HxwT>)3Umm0 zrLYY73t0)3G~zyZ;ZUTotlK&#??l%Y0@TU~qnLZFDGT?te6lhNfpe8u6eZRyifm_H zk$Ie*lEfGf+D+LY*M>Y9O7VBL>w9$tR56X&=M%|3E6d-f$_U?)EI%_gWYuFSV^5{9 zAysf8iXmZG$W%~-&qqf`Ofg7(Zvffi!lG4oTpu5m)uqLa0#DBO6cp$kapcJ3f;5Pb z$FbRYx!v9*_gm`aUMwp2%Jb#km6P(p?9^r%exf4?cY{B__S&nGn{(afC^giW|E98A zPjG+oHE4gqTv~3R?qRDGsQ=A+V9wxwUh~gqti@=kbJvw<4~oc-ZLF_Tuokm0MK2Jx z9rg6YrPQ!YCl!G38AgdQ1uDa;#IlzN{lW+aV8)mJMh9 zP>hIqb@G?>oK}^csz?)ZWjrJeWDmysrCWId^Peu~7!P=Y^)#c8lZU~IdlRllei_g2 z{+97cM!RJoqVJ}9#>7zE_BV>Wuc6*@@&KoV$dT6vNFm&JYzXkyBXbj@QmDX$eL=;; z+RAeCrqSaJqXm_xi9A8axq0)3lM-@(-ZOL|4ByL(^Kvi6*s|M$FlNFYBMNR@Lo|Gd zB5llXi?3N_YPXV(pN>0ggE8w;5Zb07s72*HtV3!o>{X5u%|+O^0ZLtiG2NfT)J#YV zvHwLQ_Aoj~LielJ_o+mvG_73VHL0KP2+~U8qtZMXkgiW4>=D34nf=rUB031Ln4-w;DNYcuY{pcN;2@4M@Wh1NftV(V#Mx zSbx6)G*#dfoVnwO0NJeAs0_dXXn4;K7AV0$s4@pI!-5%B0cT-+2YAm^LKto;2>LII zFQG^7+qwPCotbJ}pO%9Fw*- zWjd+=<>ltdn{T{j7UtB0xna&?0D2uG^ZM-KIe0IgnXnVmFJ1CB44U= z&Pet3(;MI{?-9V{MIBWI(p#d6?bQnw#^?pab|UiC?wllF?c5{zYJkML{BzP$RcMBc z)cw8}V*Fr+smzVf@T3tYLY@gtg;Ag}O0fR1R62?N`{2FMYoL(Pn*~o7g2n(y^2UNC)@(*yx0m#`XuKK|^zkazmBRd%<>jpmY16x>)X17RVia zUyNTIme;XS2E3xYTnh5@%?p@*OioUia_a@2b|h7xs1^v{fS3Zo2Ob8=c-@RdpyRRWJtUfS!g zH{~`J#8K)#s`9c|=e1t}jd|;~;a>n9&cpa(vc==MdH+lRoxMgL4k5CPRqAg?b*~M_ zq7v;6NPBa=)KrvNUpRUwF3wEqTI!RcyzA1|)F7u$9Fv-AA{SIwq0gKGniI#4N_(qM ziVF)QPr=%_KI>qAkLCPOVH(5rK^6pIZ=w&Ow@fQP!dQgYj(hWYHV584Kpr8FPA|wY z<3V`(=T(24(y@$(oltSs6CfABPjzjohtlJ0B#8&M*Z4tP|DKqbHe-+17(6aW`{?5j z?AkN>Y)J(oVQa-yEn&X`A6;`8`^e3wqU7Z8fYJEifVF5UD=n7tl0sRYn=%6gYXMyf zT@E0|noliY#s1^H@%oyPdYk>Y6Cta(mOZ1t$%=E~ElzJ#y%%DwBai!BkMv_0O@E$f zSl1N>+z#EpUWJ9w9ROxHdis>NV6cHdrJl1RNP{YL!pm9yd05GCp7m0ag5{JcPwM+iGeYyLlcg+;?u@wkk)2BT*D25u+q+ zN)oLu0+dw}n2C`$E1@z3D^&0p8+JQ_5#Xs}Lj#5gF+qXh@5f;hdm$JYjG22!@to;% zxD^^v*tb&*Fl8UMskOzIVs`P-ELb$3ZcS&5uFe%uNG%}-C7l|1+Q zRV%_!rQaQX`z_-Sl&&r*F1Cih@T)-;ii8YpryNaB&8QNE!D*|InVX%H_3ohD%eyGI z+nQ8CoZjM1OO8!QV{&}oKw9t2qAV%jy*m__dt)PVPv3KOeop39MtCVt6cxC9>5?=z zH*b9M@K|12G+-1%FnY{QIx!D`0786B`Bz}&%wP)crE9&ySvP zSb1}Y@(scvuju|DTySxIM(*A7&XM1*18|1!bVI=z26)yRVYV2wBP#!riKI2h&-TDT zgHG7j7q!$5#uELI-2dsRNmG2gH=-K0RB%;b3eXr(is^h2g|xo5w(S_~6{K-Zynf58 z=xc-09SlepedbgT!3Y;rz-~r!4;^W0Bq7xl-6_aZAQ_Y?)maJSb-za!z`%g4OaDDG z1et;%$y)Z)7%RzuV56mRxUCsYX`^omVtg3f~p><7Ud5USh*WfO2f*w-gfK`otl4g-oCA!7(iJUBd8CPug? z>g$%V!Gu}uNUp{*Nch5q^XKKniQ{tj&K{8imaleF26HY-pyZl)_Ua2SSfw&|&1OSR8-=7*ETm`$p0cjy8WYASTg11c*a6NN zJG>eQG0snAfcr@(z`ZD4y2f@|U#WA6=L{vE^~rlsSR}nq48{a1j1nFN7+?*fOfJn$ z$(#ZeN{$EGTjlx{Rk%nrkA&sg{qypcaIdewx^YY}Ql#nHkdv|Wjgeu$=O-dc>RC4FZj3Ua{@S0JK#`Q|$ z!NCaR_1m3@Ynvy$t=^jI;5$wQ3ezgb=H@8@-dePL&W<`PG+W1EXK(4 z_H?XKu)Sm#=freBbT?Pqya4>jH^nOLHmGOM6Y)Yw76qgz8j}uKHwzdjpTJPoT2rJz zOTpdfu*p*R4W6dd-=va(Grh)8yw41x7|+<(Tq|Sbh(0?Z_jo1vE%|Xy9v(b_yuB&| zpH>Bw2$YTYXHQQI)7ZOD0{#{&ph9)a&W;X?@HwYzzAG5CLP!_Rowe{r6lE%3=3T!g zr%s$ug}*>@u3eRj7tY(99pv%RM;|*zWtE43rf4{%{7U6ksLRIG^c9_tzG%OKtg$_L z@%Rk|H{x-cvOj8!u!jDvbrRFDwsob-F;yGG!47Ljw5I%nijg}V*@859>-+D&CpT~1 zG`U6OLRX-}dWN!A(UC0ISmlNnh%%4b=%D24yiwqUu=VtFSYH_Ls2FPofs}m$xJM3> zKe?TuBc1piyp2c?3-N8OH^YNtNEo$u$z-fxZ?WGng7G^HGDESgQF8y$kd6WC*VVZR z-83CU^%8Wn-i~Ig=E@!(R=^5S!*FIrX_VLC0cC!WGw1^BeXikNe^($4svL?-+l&e+ z4*;~EWK|iL8)bZ>!L>_-H(Hg)g*my|P%LZRZ8AUOC<6es!G++qO|A!)8g=3LWX)e} zAZ>a%DE(`-_FZUPm7ZjDV@vJ+04xE}@R|YEB9VxJ$=!xDZg*q?X>530`+zc-G57Ye zzOq63!T|#(gjBc|d9Tg5UxYwrGh-FvzF3?;sj$XW;-2Jr5GG^AGwMsM8rMO*KgvI$ z2FXa5DL;5tDH=lV+3$b;_ob$?Tm`3J-hShd{7?V%pU7YQ`B$t*Q~H5o+Y|0KP~BFY zZ}XMPXicc7qK@EaQxm>Jk1oL3!)lFZZR}G4)_zg`<+Jjo-}!g)m4EtArQ$1Jk#}Ez z-4l%MM0bzABa_G8mf+bV`W~fw4wazq5LNN85CX*GI$k`dwJqQ?WqRpr5AZ}D+;)oA z<5DcrZJq(ve(Jr`31N%^#u|lCR#95FTca2oVBk&;Ou|B27p5m9s(`Gaw#Go&H3ez2 zQxnqCP%8yFS0&Keq(Xhr#_Pg`a}sRxiNB@UT7n!sa>POb+gcQ0-Mq6cP$N7CK9gQN zWM+CsmKGLeb$L}*SD-cf%>8~$LE6CR{(-cLjX5ow@9!)&u0K<_)pLxAf z-w6QJ<)i&Yk)G#NyT#j{dJaT6aEg5db6 zz9%of_<~is{NDGzD?fblNd;$DC9dH4`RAUMveI&CX>OACwie0D&6SfUPj2jr{XYO` z_wL;{5KG~rpwH=V#o8y|j*{(ek1M<`7~1gcXM3P`0knEmCyFH=l`9k$p;Dkl5{3NA z2b;`;x3)^Jw@3L#rXyRBhM{&;!EqoIu>QHsHS3T$bqh)1Q3YV7gD7&3=cb0G)z@Tg z1Da|oGs*~f6>BHliY(c>Px#vj8{R%j$0eSL)fzW;t#Xg4T`W1X_WwgXDuPn~Vo$F`hPVPBb zSAj!*8sAMQlZr34>2E7NuL<}|tTf8Za+l1_2P{8r^p(RcZkx4eKaO;e=H#8-u&}sjWIz(JxLIA(7d_Rf5Hu8zAheN94`bg> z`FmVq(<77+q%1rZnK7SzN>tq~QBVQzNqbeEJqJw2dH<~y_4bo^&t89%_3fat6rhYS z-2uygf-z81zp?nTR9`1|fN@eWjN+a91nuCj)=4ofDMNh-OKYer?alP8ZW z5Ib*GGusu2m8ekf?rgV00$4z=UDY+>Ym`B(^}5z*Qk{s$rJ=4)u3x>nZ8X8V@4hEf zQy3D$TizEX-vJA2n>0H!yXo1PP#RaDwqGEPDv$lsdcUPbS(%@eWhHnoJ%z?~PVuaz zA9ebES1w(a{%HTkC(Z%?Mj51Nk307K%NjC%rt2TYKiE*R$xB#6>0ZuVlU^IeornhZ zGQ}qb!g^m-XyDtKtkPbzy0WCaqF)*s>ZPr%RTk&xBpD6K#9+*t_U2r>V!22t=I{zC z+F?vesG@{nvAn#(3`(<;PJyn}YqK|+8hz5)5mtVsN{9y-%S4e#Qd(P-534dx1O?&P zjG5>=VubyfBW0h+4R$j-$0R=+SXZ#LU~}71Bw_e^*nLc`Yf*Ks95$ zSLx@mcQAlJ!#b8B3Nh*PabJutK?M}-nMdTV{>^;&%5&{`*z3EMx$JBBJ0Q@i4;$at zHI}+2^>bg@HLLJAH5}7-9kA-86C(+ko51_oA@3+itFN!KwJ@Uln?fNFO}_K<^Q^LT zC>Ydraa{N8f`JDBN1p-}nmYr|_cIR-BM1>BwC(i1qi` z{h2%Zf|1Kl+nQ_*-rRF^bj*IA?v;jT_9#&D>;8!9{Z^Ld<^KJ9_M2>Ovm21cbKh4v z&pY8&?g_R_XH&JbRMJL)h^7`B19y$EUH~!}gv_w9u{Ow`Tb`e`IjpNu#b4J3G62u9 zdyY%!3V<*#u*Y|Vd%BTLso$j%x}qD|(bKN{f-q@aLwL>b08xbz0|rJ#bWA)(sblOC zG8%(Me}F!q`tGCwsGbCP^E&?*nSyQg;;YQp`71NN!rVAI_d^|od1g)k=T3Fz7U!Ha zJ%#fyIy1)RsZ^bE*C37FX{Cu_X`1Nv1VQ^tx@nhMWo-IUYsmcUjNDKVa$6DW4Haw@ z;46TDw3m?Us zf+G8MxF8J+4~?!(2vD&xmbB9PqazebaD+PlB8dA{fhXq%VL~X>L3__kF%J4He};S+ zD@3A;59Z@_{y`J(3vr-+Wuw%)>%5ggjFHlf->unE@ddVxWwWA}{1uk)y!%-Q-ggiEdRoN-rEXk6}8% z+7BwddRjjHZ~nFX7ytR+k^kgB`CrPXKJ_X2TYu|+EC1-f`G3iGKJz)N7>?@FlQ@lplcJQl8{?MQ}{fay~4F<=Rw7{fu4}`ZwLdtsog=s%o?OXm9gfA zI_Xx0s4y=_mE~4hn4&UWk6b)|Ryx|-OliV{geL`s13>l4D=({(J!Wgs>%bb0hnUdn z^misNZB3QFo2nSDD<58%nR&!R(~z8yVg*=UvL##Unw*n)T?4lptK?RDlPpb7>RubM z{e?V8KTtw*b8@W0UHX9%$y&fD!hU0pP-IY+00FEQc-mfg35pTFLrLLUT$A}D=fJHl zNW??xIPFBt6~(iHfe!1DML)Rw+#CzrjOkh!=nY$F8(~otg`sE+VQr%dU}%C%RX`N_ z!>Z5&+NVZ`tqNZHeIh*(@in()?M)jRnvt$xuT)i3s&d*R9V#2#kYg`mzoHb9v#}kp zVV@vpP-O9lTd^k$GCGbJD-4LL9E3kGuIWGx-b{EKea=vjD71tTGu;zFI4F5&C`hBK zUl58(z9@ScFlE&r+Zt41eK>D;?Fc&zDW7gEzGU-Eh^E(jcoFZ++QXxmu3WnW(8ajJ zdru7Z8AxkuZIQB)BFif)Eh?1S>PoBLIyIb-$sq--iGG>U{YcS}?oi0q4n`JaP^u9a zZ*-`u%Ru|%q-by;&p!Bo7C`eRpQvsf33ck4_gnZWy&Bzj;=LIs_Fh*@ozSO_Ii%Wb zTxB5nuX_QF6g{!jlYXZF1J~ql@>6N%&u8ma6a<5M_EAsUfi!f$`w#Bvo|=_}^1~kG z!-3{n12rh{cn_Ip0BY*|G8X78DDlV!KEsPfl}@}?moJ{z{oE`gv9PUw^aHQG!a5poZ$@?OVk&RQ@q_?^tW%x?kB=FcHui!` zg9H8gzD>qYS=&^erbWhn6bk!!Ao$C$>f^ng3cTveq`92vu|nf58TAhxa|3C3*;9ac zIx$aXMAAJ&`1!6u8dMk?x3I_HLY;({Gv|Np2T|;UhSd}XNgW)7|B@;Jlzm=XTrdW+ ztp5`30TUXW>&_VV7+tNB7t(+=u@ ziPE2l&>YcAc9E6?pGkm{_kWJh{2K^4e>!$+y4# zE&2TCe_#Ia5C2#e7nTf!b70M*08Cdf;8^@r5g?q6YGhVH$wQfA{;A?sdig|F)f=;+ zymLq7zy81dU*tdiPydDiv~>Ef{`TLNKlx|>lSE&9Ufw^lxBhA$oIWl0b$nL*ewj|Q zex{S7g!OL-vxcnKIYKO=<4R$J^pGgKzK&`7XW0@86us#HYFJIF(CGd*`x7RdiIML_ z2KaQJ_xM%u?Q=?T6YjJyql$GnWM#E$DoU-#)U`_&q_we5<|fCiu*l&z-;jjz5!Mnt zgz!4y`G=>ze&~>SqP9B#K-P~)*JtYcT2pHUr+4cr3xIqsF^SqXk}l&6*VL3`tb4U2fLM#%pHM2sh>*@mC@4PN-%a&3<~_9n7z%_4g{KKP zRSOA)Wna@`gZ)mF2YN-Sjsq|wOpqdH$f3O)T#ww=<)sD7$&N=u(yQw|qVmux)_J@W z1kk|HMBW`yBCZjV(6L@!ySH!Zvu62BJPQV;0o9lKl>lp2H$dkTUa*%!ZmCBmkVfwL z($b=g>OSiacS*M@@PxKGZH^qHIfey#<5Acq9Vju!gzMsI!LVbwXsT}`<1xY+$caZx z$03xMaZ8sYT$5;#Odhk%;uQKF`r2mX3D;3_3XxTt3}e5rrYMPzK4N@P&v(Hg*C5}L zb2j(c1`)oR?CUkB0eh8P%XGuZFCroPFedO$H0`G45#C@c-llWs0_;p=-hUzjbiaFj z51C$VJh99SMp=P0s5m|%%@h$?I`|?YhaBO1*D3#I*>wqWBAnQd?!dbW+g7gd&yh9)CTu z{s3xt(a1aM3Uo?Xl{G+EeQmWRmq$VYS)QAgvZ4a1Dld_MzfJ0DYvqiBVSa-rjS6pA z&N2MZaJ{Uw#1y&h4vOMXpaX>`70gnlZB^&yUcnW)f9e%#-j7x38Tc%`7 zbqX31gClZFmAc!0pR8`=Wbr;@3VuHPaI5tlAnH~GPCu}wFU-v-n5~tVDwJC)zwLqG zzfrFSi(alMDm%X7~@YXxICr=zu5@)gL_JMYZtQxeqm!!=WL+Fa`J`^D#LmuPfw z3kchZC?L|@=#!G1ORAJ?Q#50P;MpiI01(%J!M-MJ2rnGQN4#F-6AdWHMBz(+R$5Eo z;e!9N-|$$X;G~~Ng*DD2BzZ)?cMY9btpQ+I!+qsB)?1P9@YF@{zN>t*0!4MD(%DpF zyu$^7j#0*mU_k~0)bO0U%It24F#w=hufz=F#W*rXD20??C*N>pG-;*e>H9@5CO{FM zt0CoQ05sNqwjqPr92D9Bv@9wY z=f$h+8rXRzu1nc?LQ`4y<}p){nZ7Rh8&Coen@BZ?Y!HShr@{Ev&wswiDfr?2ony4c z0K|T$h!9mk$!iBlGd6fcS-*g4!auDa-8THrA_6wNi`zLh;0NfF6c@=Fq?tEuaOe~9 zrbSm&*`3pcnwFaeVJTUeo0S_XsP2^K%G%_(RoEkBY-DCY0bY{=wMU6XKO3VRz^3xQ4|EA_HYqV0cq5fRbqZw zD6Umxua^18B`lp-Upkd30F1H`Ob0+NHvrUU~if{g#mZ)1Us-lw=e|4#F{-o0{Zb{>y(QqbiKB{8{BI1?LzV2+K(K zR%9ey8z_6#Ip?II@Zz4!?eCSiA0E7xvTM?icTQR_9GAg!r{$gkE-xUq6McN-h`f90 zlH91PlX)En=lw>kDiRgbObJs4hevF$YmK=wPlwJERhA&E>Oob^@KAY<^ETuHNW!jo z#$c1v%o>X(_wss%$0hpnO;3!P=j_a>lXCLJaVr{v5>5{t@>GUYk*_Q(v8r#^uU)lB zfvM3!t8Q12OAgx!xqSJO6&j%E$A>#4&lA>-cLC)oRj^rfgRa3ls=VI6a7@-zX-x-d z$+2;1OnS?dY^gLpCE>|=SyfO8K;vIPh7)NpEO&3;+<4;M9XHn3tkN9KW4*>Y8vu@lNkLw&<-w9yn0_w<@NMnpP4fa{nP_-;P9i;V zYorV)+RZ*?+-Pu*;l(@-DDA5Bu$PDu8BQvoGVh}k(&*%CJbYF{!3o8pGAc?EIWRPz zPB-?jepA;jb3!OE;EQ`=zyT-$)BtbXi);7dp;KiP9?@8I(LlHXZ@mUyAHWgDQsjgK z6e}$}((7F_k?Sd=im2C^@fpe;GT-%R00QDl(NI8o!XY#8ksh&|DusJJ(2ZPuWqtjo zzW<Qz~aXOcNW_vz{in!$Q6VUO@DJcmwh+s23cZ~)TW zF#tfacfz_SJ86R5*=n+c-ggzn1u~)gok$1wJ()A~1@iaN7t-gMzZnO-Et!nofG~^@ z6u`-($N~VJU595;Vjqy#W(C)FF#KbD1gs3H9-h9}e%{G7 zs#+6n&u2&XaB4iTFCka1n-?=}EbxwEm?aNyyLt>5a2#)1W^X&c2T(JQS%WmFK!IB0 zcu2YyDSN*a1noCbm2qVD(fknk52n5XSkJ9`}9VqEAR+3%A3K9{ZUP?N77cmtWRLmi^ zIo0+2*G(P7+UlmK%AVKvp9tw#uzAQkz?+7r%k#V}3BgO@05++4tMpxAWSK05Sg^Wu zJtAaa=FD$8=tqE5R#sRD%FUaAvuU&T5i&tFNVnI^ZmG4V%u4W6K*S479TfRWuSk8t zd8y4iD{VE!l8g<=vB{Xv|m> zTPiua=S(E~RdFAe75#ozK^sbATScDnjS+oj!o*pZ>1#97@!q@dS-}DN8KsU9p>lJR z6SA&A^-g1rtgFByPi@OMDYXoG%agrO=h&>QDWB$^D+)enT8n~;m(R;%w%x&AbehSB zWH4on_d*zn@Wv43kP6Uf6irwVxvS*Nq9hSkv}!Nn)XKJ>ZJ?v^wUqvu_H(1$lT+9pphwjEJ$ zq@<)=f<7mo%WJGsiG9sJq)a$Q9{}25A4P@IK-TE6fg^xZ`sXnPD=4O150FOapI5%j zBc$^~7$rO%g%pn#4W!vGBf5tORpoksFPdCaNTxx7np-phFozVw{LG>p>@9wbR)te(NlcQJ_)wce0gte zC{oFKMd|zZhl4h*>>CUP!-H|Tc_aJYX$N%x(inrK^?82@$!`KE95_ej9sDzCi! zlKkNN-srFVOO7+)cP=OdM8cy0UjV}N-=`AyA$@=lU_j57ef4urz?Q}|XijdDqePN$^odYp<%nLllov%#9IeP+WP)TA`{BuoP z0MJ1YpejD^e`Elm+36Ws8K01wovm_H2YGd2-T)Q=j$F3HQrl+OBROt_PbL=v_T7vM z_9Z=+kV!xq)*5~X;~}JnW{U@XU>(AWOISv~3fw`xFUt8N);<+92q2PAt^bQ|A}dO; zjfLZrCM-6AdWs^{?6~j_g3P+qS|{`e!=g%<5pMh4C0-Av`Ce8W_^zKy+Z z!0pB!s}vO)DYfqv|BeN2X=zzh9Kw%XZ+1}MpYq1t2;B@;@Pi-{%SQ%!%&X>5 zkAXM$dyEJOaV)chPM|arLdM#)u(82}d3ASt0OknEB}6VA$l}RbU0jm2nORxYwT*R| z;w0|(fV9BSgp}@6@etqWj7$wCxm%JWtE$LNsX|ZXJrve#4)z=&R`e-LD4$Io z<7^3qiBKgJd&Q~^F%|3@XpK#Zt&UJNVnFG>hr!4HP zwW-d+9m4^?EY0fptL%8{r$3b;1+a|`^>XdXWebt?x2htjd-L?k<5FK&YjOwqmwqq8 zuUk|R@9fm|HM-yl$h?R=wm={v)#atqP5z|ESV1U;coYc1qDV)#@@@ba9>>(YJsL}bFH-d8l+DF0MSDf zog(D!paB}5Gdxr1NI?ZAy`3!M7|BE07b`_Cy-F|nC@wG0eaW5C&{brs4X$0 zZl<-)=Tz-%D!FRwA>*FV&oSh~tD>FT=dfWo+A~O_+GE3bw}m~X1FQX}{-p*PnSC@j zZEBK!Ff+0`Gc9Wh(5#4vf-OQJ>76!8e%fM-#Fm<6aK1}MXJQJ_oN7*3fAO9H(AK7> zRLDC$YN$p;C=n>t3z3VKrWoLKvjk%@iGOPjH3y!RELz5C9Kazhmj z6jt~t<@mEHfPmt)va%{&9c@+tFnvt3A=Vew>hP>$P{RWc-*&)RyD31-f#Y#e0IiC^ zUM$eV$(SXuSCo|+NL!kjG@w2b@3-oXh530_$+JrN4JFqpRzelXqP#pA1X$>MQgnv) z4W-4!(nSP`%FRdaqu?$W2ufvDeO4fibCby_>&Mm6RBuWS#JfZAQ;Y@>`AZlfDU3kq z5g~}_&p{N474^_DMJY99sh@__56>m!nCnpVgIg@^fT5900RRD#dLb< zyQsf01HOI_z(U5k#sb@SDyvLq()~k-F8c?fNEx!6_i)YwY+SQ-oVpHOa`_i>l+bRB ze%VBz{B;m~Ww5W`a_GWsRH}6JLzCTvFAv0Q?IG7OpaE1FL-synVxU*Y5`LaO9xgFf zW<=T{-3D3A+#)Bo+e3`=o)#~jpDQwsax3N!h(UV z)r~4+%c`)>OwZc6qcZ~r@Y1V9LNK1ig*jPM)O@R|NS1W5&dp58Ei2EufBiz-17)4? zwiyML!zxhdtAbJi7;~QqWt%wJK~*}4ZMGy%T|_YZOyPAuFJztw1xpZu4#7obECeeH z+mqR3No)e{gAl{bZY>9tsOpvMiQrTJ=78)5tkfa7LJ?50^iRi7FqAKjo9%v2~d?iO8vn z6VJu|T%4YfWo3|eYHQ{FiXK++*ceKcZldmf{jM@FzZH8 zr?)pM6&1Bs5M*Rz{t-a79W^$#Nn=g5bTn3*m7jHNr2B|Hh;m0RXQ~VYT%{XHcn2D0y{Z_ZAf}ekw}LFA!@CY4MQI~+k_NOCO2Be%7I57g{rY#4@;l@I8$2$R$ipTy z6KgoXaruBtwb+5=sp^k)zwvbFQtV3K^z}` z@V?5SnDkI1*$ zmgT9y>Lz`$VNw3Z(GmG41=G^AynkbZ(R6*I1yZypEdFMvG&<{$GWQt5;I(de8_^82 z<3ln(Jt@yV`;7D`sHNBk2AcHug|Az+QRNxw-@*6Y6bpW9#>K8S`^+i>ZmdZ&#wo8s zHnEm_+R?dags$>zV>|%@HmlI19(5R> z<9dLYK7BTNsqNNd{YevgG?iW{s>42KeBc|rJ*{JyIw$Y~ z=GqOZ_991zXti)r<{_Ogq@Kq!5E?n4zIOhSr}qZgEwP~4Fn9>KK8%Cw!Yr{S6ME)ljqaoJrJm=- zAlW^(o%Na02<*xB-BSXtcG6ijEBmpni$=j4@$8o;-lhk?~#?|HA!~& z%S=Z=?v#{T>3uISwiA7L{FvOkbU_wt%4J;lir2Ha#M)slm}kP7uo(8K;G{t(;SF&W zRxnf7`^&i~UVt(}P7!=4l7LS_8d=*|Be`z+y`26v+_b##aVD$FP zI^Gn)0UY=0+TXG+^%`6cPap~dYu8a4%AIG-ARt_#kunXfy^h7j1q+R1{%9rP9)t$M z!%&)1m0{N5!t|7Zw0nhD<%W*y{M^H06o9mZu1{Zb+*6ihOY~f88=R2!u@Sl5TqEm~ zK_gsl zFG>!eguO;1XBr%HKc0yY%W$wm+L{}rM`hvcm|k12KdftcEZHxUgZ-w&VS%3>Nm!`# zgpMOQieC3g#1qoe(k^Xnx`qd*J;7Ke>g`QhI5+JAX!uXz3wU?Gt`7{AE`Q@)2>T~| z(7ZING^T?sa{5e>)UigHLaw;R6ad$-DxD~d^bp)G3cJQ9mop6Aq%0*Ju@lSL@asm4>vrjIB4WGo)FH9(krCPgh1vBxpC zb*n<3L*audse}2}gR?=@V(CRb*e_WZk8)84frz3&3Eyg~) zY0uQg3bV*v-bldJ;u_x*%@m_?e{fEpv5V* zPN5d_IO)7%gh5VPKH~=8n9%umL0VMjkK9H=pwr)#bpa?suExWU>L`o_>!-Wf>8r`w z59ogr>g(qIo1UTjf%YC_s?R3-`m8!6-Z`ETPcZwO!Z=i$>{GCfTyw|OC5+lpU9Y?! z=b?WN=*8J zo$GHf+%ulcjpsQVcz^%nolz2qqrSPm zW}Bd^O9wp`v-=PBhNSZBv-0Yf|2ui}>;G5+0GoE2B3GN|qOGz(p812nXOwgJJGQvI zCh_NuP%g0~V*yG~rdSy*3NP{N2sN+YWFkkw_A8TUQ6bT+n+!!r*O@YiR0f`jP(CPs zO)i;xO*Wu&&1UnO0Y=)Z3T*S4$6=QW+K!~x!4ulq+N^-=jwN;9y>r)TOs;E?0yU>k zoRB~G{Xeh-V@ma>9yIa_{F5 ze`A(51%D`u6nbC`Ab(Bq21xU+SVx!%Oc!!3WBkiC5vq0CF)FFwf9DkqjyvZw^FdUB{LpBkni@(%`*aL*r7gPkCt#L(@(K#Re@d z%*(WbHB;8(@vK4~Kh*b{93N37MtROQ;L6sO&YQzSlwa#yvrh;+Vs5?GMJD1pW=&U~ zPkvzPy4($+ASG0e^!b}j;78k=Oo2e?W9_yQ-U=$X7r+5vF{VI+zga^VqoT@7CkNv) zKQnD}=yf0DRkSxM#l>YZFff``*dx@?&?>DhZ8k3>G4Cew3VuucPMNa^Dxfv98>`%_X$AF_@x^( zm>UdI7;M<@Joh+N2Zsk`3a{VDkPIpqMj4KGZzya!-c<7AyeVBvqw!u-4*N3ji*&-f zO;{roP+g$AE3Erw$_%^*dEiNAU*k1jn4hy;>dtlrm@TT*tL*i9)`KMW1mIvufo^KJ z>dP%-@;8qT%m4Mtb#&yhKpMOdL)7Z(ih{FV3AD9X4@G!7 zhCJqxwctK0>je3VQQGyUrGm7W0z70V{M?H-V@xA&th=RZ%Nj%;Sn7rHl$LTlwz{W- z?M?}J!tGnhjdIRM1^}u?lB!$kx~9k$Ucy2ktP)|+q2umAeLmcRRV|E`tb|E=Hp9r@bVo{+k_x{X!i9IGqqX2C|; zYZT{Z9XTOc~tFaKg%VuPx0v)dQzh@tzu!#hD3NnwyaY z{cc7D!)Sk4##AAh86(VN!mfkDyf8N_gUJy&ceX^n{N?8ir1geXY1GeV6m;_a`tY#a z^ZVt4++0r}wj&)rZ24;Ig?Td5^04v}N-H27U`5{`^S0`GNM9om-Zcaf%o&D?a3trh zx#aR@HP5JmHWWz;7g!}Mtm`Rr?UH#^RMB)ibL8G&sV}wl=6W~Vs`9KVCY9n4@>o<6 z)}4ADg;=;Zb7I80d;AIY*bZy|}+{voC z9kGt!akPO*U6Z>d3?lV~7tAQb`l46Qu1mk`T4x>YrWF95jKV@yM#BSHH@EKahor5w z%|f`nt_>0LX`zF(_pIbzyDA|CQ+BTM%n{|O zIkVI4SCUz;Xrw_8T$0IbdWYO(5)aLL$yZzJ)U@ggbU*AnyR#;(Ygh(@%7(2I&eF`Bz@tQNPZUGff(zzjpprs=35yMV8G2f1S$h?=}3p^(v z-Ek7A?xO2I)Y&e6f4k`{`vTHR5+l+$7V!jD`%9`+FE?3veXj|^s=G8ZEvu^hVeLhD zFU(W5ksPog3p2!fhT=d1JjtM5R^-PyU>5h@`_KR)z0Lqy)C&p)s~x(RKW8WUwvLq9=mE@t58>;y!P@L`J>-|QoitqKa#v0s;fB`z(8w@ z9C_=!{IPz{cc+eB(a+jc`3OlvtxqnT$(5&m{I>kn6VJ)D%O%p$7Lr4+otI~xJ|tYij#3O~ z(gA5-azNU(tCb2!6+n)RD~(A}VU2wKE6>W|Cl5*V$QikL{G>M++krkhazyT5I46sx zg%VQ%g-{_*ALW0l&L|dwvcNS42YSuAh_yF;z9B-` z$iZw=pv8Ivlo9s8`7mMDxP>_=^F~3&W69d2?;hShz#ZqgfHC#jn;YEY}5Ty(1G+5%-oO*;2*ev_xl@6fn+NW9u8LyyFQN8dNad)nhzmG-P0Mf0eqpk~pO6t1Y4FNvdYYJ?wI?wayy4j8} zPEaWlgO1nrUBaUu=BqgnHn3hKB^R9p>WH&GpDUm=6Et{`*mqsJ-PtD;5p0rz&jEa^mk z7yLQY={L_I#w`rT7#Mb&Q@PiJT<9^~v)w&m2`bn`R>c&wX1j*=o%G(UWs0&`-s}cY z1El?f3rXpU^qOv$ZiHFeBS?cs5T(Kz@9qki=PaZE2XN--2wVAUDoBGED+^0hzRx-u zPXN*;{RFcmeh**5pz*lZItT)k4)zVmsJ<`q-db3=@>W4FbH|u7p0p&` zZe7ERnIm*iuX%FGvjM=n3T6232>~{WzuXcJJO@ zlS%sm(&(F3t_mgIw1W+MER(*KI;+~~HDM?Tgxrt-y|TC{Ys$@62@~X6!oHq3C zDqAcTNeKsj@lY4qzRGH*`GM&Z2(&A~%pVP*{jq3mNBZmFxVe6s%j0g0%9p-sdG?>`hUjrH~N z#_NY9FE4N76XyWH#bbo#IPZ@)ZFp!*{^~DZ(ep3M^3sa*^u*;?{y$$(3ex|^!LN1)om%n`C1v!4?vNDE{ zoIh6}|MS22vb^%rNhvC*QU#+&E}k!ufAz1vrogaHiVJJyiNAP30pSaB;#jWaU9XhC z`ua<9?8sFGc|AJL32AE$N=b2@lor*>=RfewgqP{ z;blXS1Ngw)5w?^Ar-~yXB&pY!P-T+PlJr~@msnR^1Lln2bgL?+d%93W2}{GvhN8@G z5Z2qROZEyDR`;4-N@X^b)Zb%u#DJBq@KDwpVe#yiF2yjTBD zSo84tsZp7q9F@6o<@bXF78>j|?x|$!Md!4;wZ;qp?mF8op+KRW0MhmX*5T7ACFJ6H zUEd}403OPUiVErOrW&m`AoHS;kvZ}EL()*+XxGSeeH1|ybHNyE;<;K z$)N#RnV(U9dP*uvi)}67{XgVYMpT`4+_uT7y$kry_&+;5+{5{Trm{;^&c(a>B zm`=w3yE~<=u|}f0_K-j8>+A9$CBkoCKpIpOAC-o&Ug=&^h0qgV?VSj7jILB$DgMFv zkc>}dPF9?mnv{jPIayH!_ohzBN>4}@6dV!0L)FHQKHUGRjU@9@9AbIpj!aFjsZv7; z;zb2$J>v7VTKEFb#-=Mg^<%m4@}J4M=f5BqU;b0M_QuyF=dC9mq4M+3O3s`5-)U5E z^gAk8GcSyv7lOfI*(86A7-w?G5Mp>JupFQqSUFhT6fh<7x2)1vA|@12*)BXS8$wWH zp{4M`UOf)k5>`_-IqwGJCJCJPLGg7Dtao?s+%xa)OE114KmOs9QdLpD@vUjx(^ib5w4_;n{nx%GvDkyXLOG3oB=mCEu) zyVpPZl`qJNlljsUiEjaEKhX1!ymLiCWv7C*V)?^A_^~SYR9Rh;mtHz6-}&}yQgy9F zlI6A1_|2!}{kIQ$g0Y?G{WE9eUVgqTcXrD3Nai8}5bF#@4hv?l3Q4?Y{A~sT4}nJ$ zTYy@oun3F*2+eIllzvBH5Ug$cRShy5LWlwQDB=JZOIHp7ZLFbhfBW0Iw&J>89~!kj zR^W55xmxaDI4XDR%H`(Ru&gdSUNb_@Z*~XeUh#Fg)m*24I~4<6kTyIvF2SMwDIQW1 zpOp4t1%}G=@$B8|@X4b7H}gq&9-+didk&@S!Gm{I8B1Cl0X#$GT2bJH@7{awf$?hk z71q~OOG`tYHAF^vr^z)fHQJh+q_wG0+FP1UVV_oI3{R|I|E{mCmWH|-X{@W2NLQzf z#{0|z<2C-NgwV%80ASutu5CKOUjZj50@)a!xUYp(DNhCv?S|hr>X-yNyH%;3^aNy? zsHZ2PvasE99KEjV64l~(7K+;738N`E{5#PfHIKO0Zy@rY-HNSv&r=P1gokyijPX_E zn%5G=%8W4zPJ0NI)UorGU6)X^&Oy2|rQ>N8`1Bk=3|NmP+&U-EcCBsF4?9-me|KVZ zN08?70b1TrD*yvNyn<@B=qPwry$oqV!gz>@3=Bu7TI2}BSHA)WkL3q6I=8>~TPql2Lnf9CD zQ{6laIw_M=~w)R4l z-yc|NlH@{AhUX%WRCi1zCJ&eO=*Xzd>ZZQyuakR2arrPsQ19EJ8=VlL`}f|n!VvRw z>$*9XHvt+%C9LM=b|s&A(}t4+a_X7S%G=-hm-5c{eobEf%714$X+QY%|6bnt?!T0y zPyWUxT{-mUn>lGOfBC$QJ*AC%sl>s9i?^QV>0$O{VA zo`3F?jE_&tiQ{?l@=Iq_k@A~@J*B_FbN0reb9$e1@`LZaA!klpvCtqA-k*K?ZTaa> z4$JlHWpd?8vHZK=`lc!$5i2qf?~Ta0(*^RG&wSVN(a1mh=}+E~S6)6V(Fh)dn1x<` z=i9GKt1lpJEde=oB1ewCb6F0(cFw$eM~+;VuC6{$kXE5!?&OJF`R;e#u+X^WrDeHv zu}t6Tq>f9u)YZ1jZ~ph6liC;Fk(oF5R#=35wf8PukXscMve@1I$l6FH@+WCvnNWq> zS&Nwkk$K*9&C+isJrw5WodARgbOajZ!HL}ucC^WZ`wvWcNj)gH|K0C?S3+Igrqu8~ zVC`d7DDMyT%e{(xxzpYxx0SEm92v5;N$<&<-2r)U?ugtg$+56=6j2wXv5xyk#;iJ{ zmmJB43iTSb3Kr&c?c9uX%lc5#LLcX5rZ+;Df|g_Az824Z=k{G`Zt_WWRh5*Nl}TYi zp)@u&nG$>F_Du`P%gfD`%a<<7^{bZ@tX0Uu^tdS}G>Oi;eocz<^Ca)u73pa6se(SH zz^zd(T{ti2&z-eiWI5NbOJ2@(3nj(N;x!NHgg2{Sl`TT)(%0KgWZtx{Hd~LoRk-1U ztOHXDl`uTGJZ3w>`$7?r?(P9kFqVnvnHC82NKJK(%E`T4Q(Tqn`brM{?F^tAS}eqc8b}1s5ekigv^U&sIpel|RQ@I@Hc?Z!>Gkv?FOUY|t+6~L1xoN&lzl?% z*p~ox3^6oBW<68T0)XY}BmB$nJ5*<2Kaz(QRQ?=lsZ*dvG}2c6i02)Q_3Qq1dJSSU zq?$Gc##F;1=kZ(iKE6c*m=uPf}4cVX`(RG*{e67LQ$Wvs~EV?Sp! z#OwG1m^jajZrjLh*SOC4Uf)C9hep(-A7E_Fq*ns;NK+u~0p85MBj+rtIx(U3N!2^% zX6NMH_wI{I*Nqh_7S8+XE3ZgdMalkwG^k);Txv)9B(M(+t|KdD3ec(~w%Fp?$U2>1 z{3yQ^XCOhD=9llk=O`BYd2qQ8RoGLO`p)e;GBvfTLTG6VI7_9Djvi@f@R@~{MTSL? z5~f&KN>2UQK-y1!@BgR*pmxjT4iEHfg0zxTKicx$FA}kVdODiTdPi(I{W-`NAdF!^ zmEyfJk8B953(X4wOZ#axw0LK|9+p`II5|c1C!-o78`HfP8@k=sWI1JniG%`~!}5E- z_c{3&|KeBW$tRzbrluxSX1xj>%+Ah8Z=`24><4c}ZzQH*>74w=Z~UeF!RLQy)gI^O z<`oPT$#c)1RK>H-&YPK;Uwh0Xe(38cNIAg!;b*BauwAg#G6U_kM6zxO?9u5Xb66@H)j58qLx zwM4?*F;9?IQ|*(}r}E|NPrPhiG!*=kC-TkPmzz_m%5q5lpTG1OsV(!#SZhF*3yS2y z=`-G7YzLxxme+#xFX0b4~`i4 z<_cAUebUv@u8JJid`C#YGx4n9$$kF$=PbmHFf|%J-@pH^F~JYWOY7;9d!@Nf*kfs) ztj)~II-azFUb%n$oZPP{lpCunwzgf61|`NOq&nfWaPg8O*%02evH3+=QlPdrH>)%w zOA8d#8I^#)%?u;%dvRb`v!V>|y=R|OKg#p{Y3|$r1V~&* z8BJYhyCIaap?IHJ;SEsKHx$l1n*MrqYOnQhNBylE8`Rp#YH7J6MD z0;u8P!TW$Q5398q*>r6768g^g;E}U}J!RJ%Fsn*9EeqnR?4iK1_b{qauqR#7V~$Wx zQL4!?swyjyg1kKQ*xguJv=F(|3eZYRO3XW(o0B6K&Yw50>cntD6|$hN#TL~~`Yr4| zn-JW+97Jhw4{}-nXOW(6+Y6Dv0U0R|n5d8mpL({oPyU-rBT^a}m%pQ6Efu8EKP|BE zK>iPBbban3+!3P;`=a4IOeyOKc(mRYm3c`LqmN2#fU<6MyIgQqk9H#T9D9S)^S=WF_nw?9X-O3 zSGx^^bb%e-OSiZfIaqju*pp7nj_mj0UdVk8h?WphLSPl_k|&zV>xj@|JS~D{b3|`S~_ltf<4jXf{oi~kW1;8A0O3r7bJ0Sgv1Ljq?`%vYm*Fogp zH^1=>`N#kGAMYrK$K^n>c3m$LTc7pjJi9Di2G%R%m z=WWAyJ!jUW8NVfl68ofI z_sCA+6MG>G_0Z>}89AN=au?inn$Y`3f*nHcnA;Bxui5nElr=y8$xnVF-%w%kr7wL+ zjvhIpfNROl;rKwo+56A`!06q>FUp;UYPsFjA$M!b zGHxa0Zw1<{fC&2tFo9tVk22l_uLHo=;rGjh3+D}>xduI+5qW~b{q|dL%8G)tU}uNq zT-WhyYSjHRBxS`#Ml%W;HbGjXN7k0+jgB69M_L*iwgqV@09GhqLviSAs4(x5J5JdU zVcir+BG+j*UJ?Uo?F|;PvzzLUsnp)qCM~{p>C3W!NIb6KR%Ia-3<)jsy0%M%xFI)O z07Wq=syI5zs`qa)5xH*kk+SNl`o2_x?CWfNWK2-DPyn%vr++s*5V3ODl?u?#oH{8p z6JxTrFsC4GNs{_ZmoHy3pmz4m8F}^9SLB5ko|lW~&PZ=4USP(o+03cYtvkL#0rq?tb@TzsK$-giAW&i66=R&$B+c=rO44<$a#(e z1BU=#Jd$2I77d{>KH>#S|8A4?9RP7nC0BPeX5pP=4Q$uv48m~37;l&B#vGDH(NtGu zhP=h4r5z15)6>)PyTALp^7sDU-`jtX22~9u6sTq2;JSCE!m2k8%|~QxS{1iRya$;V z6(KFe6VnhFMHX;|g(SUF*?t{VJe!?e*5_JQp_AErmP#Wd3;KKmQdie(?sYZ^G4c_e z+-qWL?diDP%vkv=Ohw-XzeEN zr=h-GUVY`PoIX{!8B#VoGbdG*&GO{;Ustg6l$GVbqyViy5;dhF&=Hi^51q0~jZb{- zMLBjfM}i&QIyOnEuWhvu%B1cmK-#db(VEI83qLfFHa(%rNuK0fQ^hHfwC`(cTIBFs z7bO(zk+PCT18iUW>I)VUiKnlr2?022ML}MF{gQ!60ApFH&Ou_tz}bo8xmF0}``>#* zzWL1;<*A<@R)x1g_nE$9b3lIj)1y|b> z{;E6&Z(6Fij(#k}#uJY1#>11e9O>ziZ-4t+@<)I4NAmg4e_p=$#Xprxm#$jj0r$As z*(x{7^X0+$qw?OXPs#mDC*+2%i#xSta<`&L?({`GLE4alG#XJCddQA!sYpRu$H=tI zsVul#ct!4(=E}0Jb>@etiqYYu+`e^lN3uJL2%a8_D|snmyCE#w^aY}S7{D*}o?ZkG3^qB%IS3*0x@IN< zz_zxwOG``VBS36B8XcWCV3(htyV+VK6TvIHTIvj(K|Ch_ZMU8@KzdRYTerUxMp3sK zs*QWg)&f=#`6yV=nVZzl$tz=Q%S#I6XU{w>mlS*zN@?6W9{GZPb%k{*ntlr-p7-rAov558#=z4TP zhvP-+?+zGGj8pqGPnt*S`Kd(o4f+t*ZYsZSZ9MSY z^#wbP_hb0Q*bA{oop*20b=+wDglA;0JFSS&jUVdA@I1VN=o)y)ErdFtAYHG?e-9{F z2Y|Wfd(r5S0<=)jJlCXeAfMdOK%Rwq0_0b^#az6uu^$A;j42NY_-f5F*;ffwOfZDge{mp{`X+^PdX&4JjaG}-{jHOfWN|p34tKzoM zDWfwn8K2r-P_c>P1O1k(Lvu>X))HfU5a0}@JYYkBq0e_2|}LHF%8xr9QJtM$U4{*qDNk?-3kOI-lJ zNaR>x8YHYh?UQnorxT%;VSke`QUtZvb7mr#F^m#GMo0|I07WZPG8&Isp4m`;M7sPPQlTKJx?CB5Fl1nB zEYUB+sx)=^RRF0XWX-DeH;KNe1lt2LIWi~{s_gdY8t&ESh=l`A;S2?TJ>5~E@%CVH zSlZjWrLNX5fk3Y+V}vwK8E_mP8ds%1Zh2?1fgu?h9JTOF!W;(&$HeCgsnQoVK={&& zr=-5F&BD$mC#S^k@3CuAwx9L_H1D3$ahUJzl^eCS7RKlW#CD>OH}chPR#nNuMq!_9 ziSP>==#t}?9wN090rpu#PH0P$%^ivry~`-^k6`us-A)7mLkS=kl(mZ0mbFXk3oqbj zg109ieL9|QwKVwX+}xZA3qTqcz3+VcJ30?(z5J#oWH~t?x2uZe{TF{|-n8|xA-Pju zA@|Ditn%ZXNcSTkZFGD>!o%YRu+n8mwgk|tADon_=^43Oa9QqOIVo#>Ju;=r3sqvn zU4bp$KZGMnGtYsit-P#UN=r)3W9QFvXSJz~bB3^(j6D1OpI_4EN z_7AHbKT0T@ME!#Dw8caj|dII6Km^u3UuSo{e?M^OcUxnqLz1usum(%1`loB@TY z#kq`s4#t%K`ECB28ylppxnA0pdc(SJWBoFqK%2rc=p)HQ-1G&EX9o$)XmUNObKch0 zraZJoV*PyzWc#fLCM^{j>L_I6P|&aYKkD?eOnv8H6ha0E6fl+4HOTpZf~XPI1C@`U zPxTE9NORAC6eU+=^_~Lalp;sl9WE~z8X`?b<=*Ccbihs=kWa-#<)53+qH844>*Ou5 zPEhtu7tl54<>5&s)bchAOpxs=R4yn%j3Oa<5xUuIv@gw5c)_s@?P?1 zcOuIRWZYG*63U5eWE>c)ozhht@LRsEH;wnfJI46K8@$eekmt-h035wMeH>DW@pjh% ze{*h67h#P-NyY~(N(z0>3!LH21&lrS!V4B6|Jtjs$`7A>QeHoF$iD9g?o%^sFRIW* z(>C4y2p~(RzU4Ye&Ie?8w%5F8UK8gM3kvIKA{Mh`Pm*tMuCJ+5f#qa>nIVb_VFRWR zW1Z^jv+$R;R^15Q@kfBzb~HRXFTJX?R#uctuPQ^7v~I~eE_u)WspP!yCAoU&FXh_n ze<@*KnN4zg+?0+{4Xn5E6B~2&wS=H($dmm1_llkV?wH) zdHQK9z~CNiaPlnOTn@q}&2y$i?hKar-e8*nVU+vf{%$K14VhO=|K=I^m%k^66Pw>r zCLD6lH!C5HS@ko%pBPjCr{Ip*beI)HB0MqfD1|T}_94$hb8WztOZ-i^8HusHn|ls_ zQ>uNSe@M=sFO@TAisjU)Liy%5UNz5JJmvt;8NKejo;%OAl=vO@a_4k5q~`ghKKO(ioHsp4Z5OI3+TpYwEbgmk-AdBd^~z@vP6a-i3) z#Whh55VQclbj#d!#B~uW0@Jtg-FuE^?)@?-^@xBWh=@OZE2nx1!K3rHJRBIL0${`lTB zLMBTU?2XJV%FVVWxm#N%>$=b9rY8*mceFOy8cfYga}VAztn26c_3IY$1kcB)fWli_ zQ)4Bxm*=Ntd2UKdiVLk`Uo5HsaCAsI+gjwvk$23Z-PGWOJN8DxvZCkXVLN;Jq?DHw zN^gLkUv(zzX>8BF8B~RAH>KsXA=;cI6)gBwaRivBHbT!ttP86~7wIzP$m_b9h<>BK z<`(JdQn@|0@CX>oL_-7$e!o!RlAiOdCJLHrDrXPkelfyecIH2IC&k7cFwX3q+<+maY+MmVdQx?c3R}y8 z4&_e@#%Uvv`o6yi#2hj&A>BXSsgi!h3I14Y>v|m5ecY#W?0BKt ztOp+efYc3mEbC`Cx&-_kXJDLZEWcftBF|^-bLvaRWZ(xtlhYAa3HNXt_)A|HM9q2(tmsS*j8LOCX+l4oGhe7-hmZtl$5o0dr66$t7?G)iwc zC`BiplZxu1R3tSQiyLw_N;Z-2wFka{eV zUj#ylC1e2wG+oGkQp8$9QG&U8ZB7^)7FQ=Wyw1QG`3qG4;_vM?^iK5d{d@B4v(L)u z)2CHwoRKS+E|}L0@WFv_LFk@1aYFv=&;HD;dal4h;M0(u5Hwf0!}?C?Z@Bx$|AQ3R()_My&!sC-JD6=I%Trd!o=bk+!KmEy3`Oy#Gkr!V$BTbC~3+MFu zO(vREzOWPwS_tEZ$B%o0v7N~B)pBxVrL9e7Qu6*IXrIIs0PJ>>QQ@m&Vx0e+(6LDT=o6iJFs-+JlGZYHTQ%^l5 zSFc_*fSr1fW5{RoLkU@rhGb3OXF&lG28K0Nrf>V|LDSmIv@FffD6eUd&XxvK?5SSKe!^Rb7k7DORhE{Q6)<#4ety34 z=Y%XTud1?JDfxN%($d^yA$OE^Cnt?+jTqUYJz?`!P=fu<*AK~vzB?d|ijK{V_0q3O z5Y_Weoj4|yrNssumC>Mi z@HMaRUE;i*a>>wt`gEMgWyP?QNuDNp0@iD>!&j$xp;rb+NWEH<4?OS*h6MN~G^PLT zdeY`q#taPfn^EQ2pFM4nBCAXv9Kc7N#`5jYWu$FQl zL~h=^t!uAiQ;5)f7KJS2bF6K6$y~442tq;yh}U!MhG0%y(}`uTGvU&&0+LXP#|39D z;VEMr)>hZH(2{B(w!Z(rfLx^TYiRYABRg52+rNt%n!l9)b22osUHo z8jteU@^Te=Jw2*~ZWTHJ9^Qi@5Eve2rytJS!o1Gy?3}FWe*@B(?^G}7n1Zw>1!?$}*oSc;SHO zy|$y?NUxNYRjOQ@R{6Gjpa#{~`=p~o*RjfUO6~(9$d^go7f$XC-z9{qXzU-X>F^_f z8UUEkbD|soWU0A8RzyH~7eyyh-`6Fq^%OF_Pd-C4w_CP1$`VSu5w|k8Z#U&hQmq^erBMMr{H=|$Q((JUHJ9EbJBWEVY zrM1N;=g*up598$MkW7v!NK5uTmR$Ix$oQtt8$Rp?1d-^A4GvK|RRXWdb}f;Bdx`)-(s6a9B2Ibc1}khyM}0HLOMxRA-L8TO+U zB2j=r3ly4VTfaQrua+OB>zY)I)YA4&v9s=tdp=ylW=PgOZiPxJ^32?#|$i)coxqd@uQ2B z=$K}9RhOu}}3@dJ*7|F>?){soxQS0zm5v2PHz-vx425YbzToYU_c) zb9Q#tid235i6`VsfA(i`>eMM~$;7dCV_DvO>kW&dx_<4NT)ucoe(9Hf$s(@~6r`Cq zZM1I_r1h=ni!Qau@Z8P?B=8sjl7gx%_4f^^0(Zk+<{%HeXp^IC)QEZQyq*h>Ub`yT z)zx*6fUuotXlPEFeE~W3^zZ-w*!vIQ$j&3*6IJYP#Ky*ZyLWfrjd<}QUd+yoxOd;3 zxjSY@cZ{U5qNK61lt!c^O7xUSiJokF@7ad!z4t&jymtjtKow9x6->c<@46f9Ey;ZO z%Y)Nhs6GW0y3rJ+J4ecB0w{CL_hsfk%|DIVF&rp0N`BaPV4MM{t@y>C%C2|rldAk{ z4U0ry4k&Qj_4ZwJ7Rhg#xM^!P28P$`{(ctHP+e+~Co{loYE@WOxhWPg;a=a0jOF-H zpKRZ@RaPutF8<02Gq@Ypua`USxKsZ5pZ`VvMsCsPf|ai85CgW*R$LveE9(gFpl_9uCXN z{Cv5%d$%VLTSy=zxwLDSea5(g6R+=y6`V;7F@vdHV~G*KnBqKRXo&(-mgDt)F9G-w zv80S8_WAI+7%7Z?S;k(eR-*-&PGsDYk&Z~MG^pb@G|+#QJS6tGc=3uFnd==FPg2|2FPTdO(tKSC6hkILXYw>T0T!HU)!}nZcx2 zUG2B`j|~sV*g%hwPH>NLv@rHJTO!0>q&x;v4d|b}daL*ygLPZyi8!0+nu$~uS^o)6 zqu2M%CuC?UeWl{}tAnCI%?perl1QY(W{6fRm>{@dgMP^-%sPwcI2<@i_RBhb@z=N0sWrilSTz)>N5q za^7RE;H@|=U;bE*Pal)EmPQ-0PIfpJc=kjaWNc7yvYx}>J2+A0EKhwmqQjE_%B zU0wKUwTdeptt|?obe-y&!nRUMO<(~~2(X$Q9g^YR4w)G4m$8vS^%2|EX|I=l)eja- ztF6468Dgz6`wTjMdapVaM0YlO>jZR#WtMae8{p7;V|4E7qd=z7#AkS{{rQC81?85_ zLC03LDe#~_i~j1^@5ZLJN1BAWZrGvtzb~br%gT&ECByTauZo^;WlqY~?4svuRIra^ z(#agocYg@fpd(^So8yJ=f!z|_9n1R4=hA~(?RQ2W&>A)0F)}hLcl_wb^3qE$No9G3 ztXjEBe)iL!TA4D(-o3l!jW=GmaZFUGA&A@fU( zI+!#u|GLT^$wG0zG0;`InVDe`sV-KhdX~*-k%})F>1|iz*xo8DSFDtO`1^m5?|%1o z`GY_BL;3pGzacNb{Ho++=jqz$w34v8+FE(>g%>5H&YpXa79Z4eC-O|xkSJcGI{r9l z)8oT(^l+}c_R2b0_RI=dyLyjQSJuc#UzbJryv`?HFe2vIr~x1nMV)(>0_k4;F0Xs| zd6(FJwJTe1aK74x4RT@MJ~^(6b990J8KRLmn*b(@xKk>tj%9Pb?qfA@L?(Hi*ZaK$ z$Ao?X9BzygYZ4|g)+$2Am+vA2d@}$I;r;bhrP9?NmD3)^2EFLzkMesQ8ZVFrrT^6A zv8y0$a%{wgOuK)lN3Er&&-&85Y{z0HuWdj&hR5WjI`(Hv^W|hySVk0d;$T;o73#fr z2E}vEmo8m2Fp6BhblHB#L9~-#2*1bZjtmc~u24r0ZNV7;3qb(DU;OiDA441y zsq!f0(bw`mBgjyIU$2fH!(nfvbcwR4=Ef#DawJ{tWv?d~OC;Uhqf%H{BKcXA4i=j8 z2~cZk3`?W#CHjwu-m|AD6?XM94i&F!Qpd^b+Fik^bu)@yYka47Jy$X}0Dy|l>0Zj42HBkm?q#t^pyk3LwI`jkVj9z*K zUlmdi09skbe$|<|YUeAB6eLs|u!=j@4EDsU#FoJ1wr$&FgZdG)P_b?(ZS3tGQ1@bu z+;-b-a_60Q$dykn%AP&D`Z3i9$L+TL+%K^k%-+9%l^>TvYy z!|qQE&Tu@55H>b8T114NFcjjgYQ9Z$kWHf$kH)|F`eau++uI~q?bn;Ah<=g1X-H*d zos^fW;-#EY6+l}{lOg)pv^A_?@r&lSK}gpV!C>((mQ`%21OkzuIsp|qhs;o;04YNN zM0%a`QV2EbL^A7wL3L`i*;VNn zlv5{9o6&|qgkkL+EfIAX%Ov%1jy(JH3R&~fe%Z4-Lk=HOfKXE}$0x>QME4vHqkVrz ziy3etugHWNY@&Ze2PxTL{gJ`xRmD6yJgf$6+8W`RJ2j#Xwo6z-nIgswVP+fblaMoz zao}HG50m5M#H9Vq`w+)*pMBpn4m_Vdsh>S;0_`l{NgX!-9oxfnqcWnPmeR$uDJcfJ zVnJB4az%}}^{c5NAMThtFw_+QZH+q6Rk^7K3;<^scFNKg1I}FGJ?-i|W0)PL#&rAF zdWdSAkq=&msll?T z^;O08Uh7MN3`W1->-qCLbecJ2s^0)(1P$DBZpa77M$w06?2>I!vq4_p?+R-XhomJ^ zZ&7v1N8L4zF3QNrlu)R}NI|>+St6-X9aUOXC_x2804_k8m7?o+kR?DLaj#>q57H)r z9{{`9-+KuqO6(bWT)h5{<7z}Z`gwdmmiQ`~bREB!H ztfz9H0*C3*p*f%P>z0l%nKLJ7z%!-dAgb$ZF_kt1idxlQqi4HKeTpgi1Lq-Y;2Gjy z9zJwX?z#JJdF-)ArQBC;$pFT0L}n|gVu2c&GfHfICB;%)RHVSHKw6udq@uiB0rF<) zAUM<7Bz69BsjaS1M?N4scWkpE`1EfP$cepfBgY^UM)_dOwZsa2VmwnoD^gpMqkDs3 za+1CAstf301JscbW38hb=tZNI13lvUW9$?3f!BH5N`ZK(xvoa4iyX2a^z3|g4ZBB` z59`JCm9G>1J>ZNIRoYtO_fD(;=J35^d(*6(RQ*%FBdqreLYKh=!c|>^(%$PRb(nPAheWi1 z%o*ey{0#-gJTfn2`dJ+?Mv}4yG{!C{S8zyZ)TM8sp`lHU(}*V+OC&8VeNtLlWkW&f zKcP>-=4{x4a-x2}tso7t=#454izMAZRQYBFhl6ndI5J-6cdMio$I40^A`;d0bL!+N z`Q+nI%rIA1SIdg!E9I#to-`&sYl4m`dBiuMdEDjpIfe< z+aiq(`uWYRQc_eY{wj4o)aVT;K#bIfB{RK9fkUrk94(am9G@IX$(If5_RHpVd(;k`emV&ZMWyWNqzr{c7B|a6p~D%3@pBH%kz~`}rJW z1H&lkexcdfSgYnSVo8gB1`aT#As8t3BQ)LP;|`HcvIis~ovOE~3Wz;_p4+6Z&oia@ za&h@};0lhJ^^tNe^v!sEf4mr(fjSV7l8`}UJ@OfDZymu^ z27*(%*xcOh3C0o$!>udItE8+j*Uq2o1IPk|6WwP@{pgXg`#5VW6A8{N4r*PQlZ}r5 zJI@DFr1GqT23(D3#;2fBfq7d?vw<^XXS>CjGXl{LleGFs3NjiQ!(rJo@0nW!0jSJi zyacoS4jtI1psrDMMu+Mp1!w9+QYuH89$Dbl=0-WBAT9OqA(4Zs)V=gIy(yNv9qzrD$bSpdc( zgMG43e_vLV?_|$s%bs09kF(YrRZr1>7JFR?wjDh|88QSRWPI4)_)f8(lSo+mrq}ho zfHL$CzXJfdz>V@kUSq^1`W&dvi9e59A?9P~^#Oj!OhFvtoNJb~ow(=ebzQ6*vguqG z!FA8qsE|qLnw>U;#IIuw@;XXu(LZhi0rtwqx@z^MR1Y^s6m-Mb*es)?!|Jc8-!==% zILa%0Qst*dRo92=LS~^+YJA6?cgptdJIs!_$BQq%D62kNskk8|<-Rhx^Nu^@r+3{Y z14F&K=ISLYD?^GD*thB4?NXnOK<#G&(va-7L8)!&kYKRZ%DE_I?9>fO6FpH7lsy~h z<10(g*tpmOViKbGE~}&0LWA83$GWJf!a$c77@JS1<1Z^wqgh|;I1;+(P*`r{@V6PH zAplYs?ug2I-QQa&D2bMOr{po|sMHM#&WADk>88iogDH~iNV9H!zzGe@(5^oA=wovG z?LUxLUwPe1HYm46VyXB!2KomKq@fVV_%x*xL_fFeBYFGH&GO7sD{NTw#tjG5(D&$G?3dJ( zLOqv_vTWIE`SFjQS0ENrCqjW#R+)jqr=MCbZ@#(3{(bkIE$VF5sxoVrk5=uMWzT#h zFFe0if#V7VWGU)Ev>NbRyLzuYrLTYS#dY%fYn${n`u%Tjv^iP;wzu?Lo_%JOo!4ux zu2-PiX2x?VGHQtRt2H#pDZSs!Nb>?>3(2Qz*UF{cyJd!cH3ibKpKn8LZ?ZH5gH4$d zMxU$&Whty3H*0gVg7L#JVYtvYtVv2}FlLpd1y=5}n0^idY6Lyn;^?b+X5+d(Ppe~p z`ORl#qOV6r2b}Q{v9GJ{?3b)1DtWBv9hRQaF*!CmBFEL?J*NAM=r#eFNYHPd-ao^MNb@M+&FG zfVs!_#R`=GWSHo8VK}*E$aEcISIL0k>_sDW#)ugEy$cB$VuBBph66TXwSz^G00P&5 z5M0g8&6B#iCM*B<0%VBB@NuEZCE^oSBsz!`v-kuMVy<5#nvlriJaF_ZM^ zr=O8~?z`VI9WKM3d+=J`)1>RbNNr~QKlB!XMuHZ(3edJ}-Y5qT?w2*IKa$Ea-J{{4 zl{S+}r(%VS-sVjk4Q%&P3LOn!cOTFXHl(`6$)>TFm_0^zjroA=2P$B2~y~P6U-sgWXXY=a${M%m1J&!GG-V81OXn+p=#43=tt|R*6U;6J6SSH zloMya(60m)-Btjv*B}HqD4_%ZCR)dQFFJr8KRX}2FX+maNNCmvYctz6tbWMZbEoHk zGmcL`{lxmre({T6=$hCp`}gg$HT3k;Ps_i2>szv0*IVrIcVGRgY}mL?F+-CPQ~mOn zzm!KGeN;xqh7|mrmg!?tGCVRMt-1zEbDe(k&kUrcHuXr3FJNp?L?RmML(odK z(dlzAjQW$07eDQv)Fh5DSw62t$A;qE)6+AhzCJ2lU8A00ERjT`T~bw9Wd;gj0iuU2 z7iFgkx#u;vI`$-)s+Kp0_4Coljw zQTN|>pM3pmUz6vTJtv#iZ;+KMSJ;qiQs0@GnREIvXJ$@W)X-g*z1=+$3WVhDpS>*i z-TRuX{b;XL=|1c3=#=_Uv)u8+WtKJT)7Nd^mMY)<&J%Lx^cng7_n%RK^`VrPRjY#T zklj0v$~XV{5ee6YWqfQ@*Y}V*U%l!?h2_pWo>Q=OSodtBy!pl^dEow64UkNXjma;5 z{-P;qM<&P}V8a)5qoL(PDY|rPZ=^>tP9p+vUIf{tp!7`P6`p>vfeW zFnmXzd3vQWS3dZ_oATb{4eZd0l+&+<9Fq1LhRQUlWolrn{d}P=%3pUrNqS&e<7Gno+)+pP=d5-N7juoB{_mx15IsNJo5TT}z z0l`s%5X03mM706n){CM}DU}qKIcthYNcE93e+i(nxMAk#Q>gci1#i}|TnfPkHr3Zk zpd`~uCL!ve{F8y)vE^Weg@vjsYNb^Hw-*>oBn=HwDOP`=D1E;HSo&pf+!C=eBAf@{ z3w_Fc_j-*h1US&~M9bZ0#U9|9)Rg2%RZ+IoR_o8|k8mCIj@-(F^#?d3+CDisVGdx> zUm+oXnO#>h?29(vQh^#{Gbm$>mCACT5xO*l>MVP8_@-j z<|MKoycWIBUN&MD^=ISn_fiRZjybC?!!g%Ji81Vwu|6;73ZaTG>!73m68L54QuaTU z39MDG*SKQerD8xe=Jy6@RcE5J(KklIaYa#(XMz-Rf&=q`3~FsTA9TpAATB?vt$QI!R4Smp5O1MLvA*T|=oT#KnTA#T?ws zW0T`@a%M^{UrN3ofrE@5eK;X?=HeHfD=3Yc>I!24Yi{oF1Y`3_Fc^{SOouu<9w_{_ zgERy~fTG5+@VdXZQivMC995FG$BbkA{l6KB5((GMMdPY3bDx259D~^J!0Ce-==kv& zNjZE--hT59S^nX2V|?7UZL2)=&?EAH|KDF!kn@uD#>5_Ep;01Shm{NK_l*qns$nQr zp!SLau_xt7YLT2hc|v~hgJ)#t_M>X3i{<@yH_M9UTkQ9Mv@M&DNPA0Edeo2<=9bG} z{pGz9s;RX)=pzcSo_%Je0kl8;)1Sx(?{Af~qj{=a*2}9eeq;s-#k*<4K~*+e6mp0{q;@q%rmQWAGOH;`JcWkO^xkpNXH}+ZkA0O4=G4nC8tlH zlP`Vg9{JkWey-oQOuqfC$K`9c{oFt&K#|Xie|}3LBdUX@RGFTmUv1qwPcXKS0P@Zs zIwaG6zmb)Aea}JyKqGrbFAU=!8UbfZ7{SK)H3fYJ%KUjpq^?rI0NeVTVzb>BJlme!yv0*D+oz~|*76;PWd;6rg-NR&s#v!G^VN3SFSvz&|j0Dt)hO{C6zT#j+)Tw|Ho|3t; z%>5R*B`A|95*$&7tU(WVIDE)bmn|_D5gq0V16v7D z#=Zupm*LiRwT+%&ERnzpSydU3)B}6$Iw*Yu*pfwvzs6W009Km5*RlqQ98rXI&1dm^ z445f^<{JDyKxMV+rLato4qGtyvp6WHqdLN7oE18>=44++`Z}#QI9c|^fv%{G5A}Kq zpEK0cKIeDnYp>6V70W89JvKruf{F!@6s38-cCkYFnGv<vvgegDDGLy|$3S1d`FJarFSoum^Z_kDfto5S zO?T}+dy&Kq<)60{q#X@+NJd3K4y9+xqfb38|NJliB2Vi{mzVntiQcNdGd`P5O#cp) z%G7H^MzELz@JO?;_0Y9>*Gcm`6hdBJfdm4P>p<8-($dl^73DShkTV3Pu-HZP-vUTu zL6UZ-wGg?&sIjp~+tcJruSnVzq|szNrR((g zv17VEr_9i_w6t3K`&-}owrt+C+3rg`vnjn2tVuF)Fh2Hn>Kcvc=e9(ox}ru_t=J_G zJ@}@aJT@ik*X)yb-`*;Z{NinS>WL4eE>JHgrpD#=+n+M<)}e;1Gum<$q%|pcdgbMH zs$f2nqQVNPEDy@vKYK+!cyF5=JyM_`ZG*h}@>&@k=rM4(e$8&nu8|?zyC>5!X@E3J zcv@RJZ9w%aFK@8kO&6rGH^U80R$dtk($=m%AmRF`l{tnRTGhyQtD`?^Woll}Z%IV& z@0bGK6D1`#-LG~!Bg6XDJio_7c(#xRQI2Q5KI){iUK|5^^FafG4-Hj?X2>XeAt=K7 zwCs-VJ4$^46Yknw#xa#JLN>DuA}-I1*HWNjf7-odQ#6hdAkFdKp+sZJ}zk68`X)W z4AGyTY7P<6Tz~}zm1oC2H$$7iaR6LU?hGgk>NCN)vge>WA{obOKH>djL|gSbWAE|J z3Zx12)gYAF;Z(%yYjja@aj8^R)_Q`mM8bSEf|U#dkJMG`{j0Y13DBL_`O96-3daJlNeT{atP1FE5cQUx|@9d0k7q%$bWBFU`o@zt5MULyw~m z08nH*AiC(H%(qcNPeq|bu#fXRi}{2#36LhELEw`11}X*?1JLl}LZPtQlUA8lAcXTw zu!W5O`1pi@v510RNH)l{xoeX^0(O#M5y9}E{`4+MOG`^SF>vza34MR71w=rs zR}WD25dYdlV$V%=I(mrmNuK3Gz6{S2c2t5(uom*(rI_CsD`d|)8C_825dDzhgPqv= z>wI$oQ>?gqmTR(s;U2F+EI_9IRYgw9ya7!<&*@=vW+F128Xd{~ZlNr^6(;v4sRf)V z_#Yb|lQU<}8u0g8CjhRu-+o&jeBc3D{n08bQ#_^no7tGZdgKxHk&aw_A3^wMo_X4; zqTGYeojx|HK8@a=wifkwoPd3+UQc`69^>4xGq(h!r8ag+dUd_*IFu^SzVM>_@P|K? zS6_Wq4j)c2Mng&oZ^Z#B#R2S6B|yD08x#;ll#kluM94VNafJxYTrQ)712V0K(E!0 z#%#8kq9PfK>sN~v);Z2fLp5t3LI*V-x(`@Ol*3}YSsz~OW+CBy%;jMn)~RtKP(V#S zAdnIf)+R>KD|;MO2Z6{i1Tl*_U`oSDitokaxlQPLo9XJ1lNkqPCR}Hq9s3%DzO?iu znwM7DIV|ICopLt!sGQ%nMgbe^n^MA3+v{Y|7ZV)Bs8T*wJDcGl(oM+@1|Mk->b*3_ zXyNC@{RU7_`b;**o&)c_!DsCy=%OYCJB#f-n@?D;WbBdo%Ax{(zf@NErMbDw6Obj6 zy1EuQc<`_k<*TErYmhwv_?p*A(|ZOeCJTvk>H=JT4}fD&0fy=Aqm(dES!O+FeF`|I zCMQha#_Cq8dSZVjFb1+_8PTg7v_n)()RRpf}u5uewwLY(<4+Wn{?F)D#H? zYiy2QOH){NY=*2~w?>W}J|xrX^u=H6EfLnD>KSwb4l7K9kkycdb;-QQuJAju?ejUp zo}!=c=(9Y5h@qAJq0Vr!;EdPdzd_(ZpnP;>)QGk&U%KdI&L&0;gi(=2R+0hVj46oi zZR0cW{|M9ru%3JFIqO5~(BH)$^so^yqGZxNjGI997rktNKfoS*3MIwGa$w&cNjBDKrAb18MsWVjsW~}uaog%+%iXWnT@zm`#|8Xy&3&|<7Lw5h^{Du>ATgoMO4=^ zth?Ck4d;fv;ryV`w?LBWJ+Jda0AK(|u4}&6aV@M(K-hfOj-ExIkQqiF(C-J6B|y8W zF=83o!Jz?by8=Tb0`cgBo$4FB@WKl=53{SQQ!ZRQFQ4lF@W<#6g#?65+m%l)$%*Mn z^?|lnS>y5J$K>NrFPp9G>Q;QxqTd~?lqvfnZ6xqQhoWo$AcAFVA-(xLylPJe56SlYXq z6u^zozAO0y<;^B#vnNt8(UxW@D=U}sO1;TFi|b9JhTrF_lH!6qquO;J)Ncw%yIBW= z$PpPRXv@tB@VLLXN^mMWqRr+s;Up)MP2+lrc!jIf_^UHftIjV9pk5UPgJBm_I?3x` z=z=h(LJjys5B*%e@|C|-ko162w_;GS8E#Dz4 zKinbjy}MafF5jlkK#@iH#)b#wr5D#&8R7ahdt`j5&&to9eP+32W)w@e8o(~yE7cVa z;Ogq=QHNo_EL*lxjm-{Ovu3yM;}2x_t~6ANXyT! zvMkxUwFlHtZI{g(56e4mZt{)?fGm0?_sR0X?DX`N2W*vF0nM8sU1z;dELw4GzngIY!A?tr^2~`Va zRYnotRA&rv%=V%ziqQ}Qoh=q^r~hbRpx^W=rHn`-qvakLH%6A=G{pv5=;Ijc?=zru zX5)u)%2yy0qazkDb6d@B|%6vni{Xm zOwV`l+Od%#%XZePW5xZoUXf(>xV{GchLZwNMqgM!M;#=3*OK~-MGEIeS>IA;(-snX z>ly-;Qd(Fbm6btHFqTL{p{S%BPMrm5H5TAvUy%J>=pLbaaXP7npacqsmuwKTN2_O< z8k^M_!*=7S1I}WfKaTiub*8eiGW9wJ%t>e6G8zSviQT*R*tu0!R#^#DGNd|G@=PB) zF8%sB9c@vmuM0|ZI3&z4tFA1UGzDqJh4~7|MkJ~rt*X4t`kUw;hngLUNs;rWCt5YDsdAzg=*8bgKyGh*y#ClWHUfU_3$ zsjO^Ke@AAYdwTJL-dDAi5Qi{xl)w;KQT8V6gzPbTy6Eq6KM!z4$s-^vH#M?7J15Q)iguI?PD~mzb5viSwLp-GU=#PkeZC|OjBJYgr2oAnAPrKGlwhN5P0Nw@R(>SUJ^#Es z`sicw&O7f~zt)v2mq1gqm%lUzB`a(ufFGq*py5bFQL#Ej80G$fUg;fblkQ>N9OHgz z=OeZ%dy)3(gQ%9G(sBt$7uTBx8&*q8kE9>XFvH?1!p{>( zb2oYX&p01!A}7jr;|>Rre-!l0_Cm1SjoGqeY4ik~1 zXuaN-j0CI7jerBDpP&8gZh7E=2jrQjpOs(z>QQ;{!H49Yd+w3fUw_@oDPo=Fv9VDL z4)pc*Nx3f|8#f%1ci-A1>sIel<4`JNgS|4)-65kx1M<=fYYeDWmQ`BM!{}h2WTh8K zIMg7$oo&(st6X!79NM2DeY(aQ8^W@GZNtIxAP^DIS)ybfCyQI)3Yd_i} z>(=a-r=EIGUU_+qf~*SNhhu73yJXkSbOmJljUlqRiSout%b*Mmjj18blPz0P6^I>> zH{aMGFTb?TB2<(fmHTRC%jQ&Bv3$3J!VLYa9yN?h$L_co0bEVfuXgybe0mf8Y8TWY zI1voW7*R@fR47ZO+ylcA@4evlv`-x!2m&zfeeF#Kti09_tbRDP zF3mfUMVtUioS^a!`YX**2vk)_ojNpq`n-Gfb7^!ZKtYfopw~Gv&|@VzO=`qoYs4r; z!Zc0~sB<)b1p=91$bSeL#Dg@Pn&T=bvr=THA*dkD8OIQNucJNvQo2NaX*q2JQr|x! z$EK&O2M&fuBH++H`-`(}Q0>Kw7ZwDb?m_0{^r_S4WLtTR$1{i(^fyKqXN2BD93Y%2 z^o2#Q0p;erEIxCejG(K~Nzk|7O13tHXWgy(6E-?}_Ly&0l#{7WOR@Euc>%I`p_-(& zwn?%wvklBx*|uJT6LFu*%IGCHbCBQwByhxP%JQYMD9f@dt?CotJW-JVQ)m3a8lWm6 zJ2Opw`O8P-z=1>Re3zS}zIoFo*|1@wR8&;S)YLI`+UC!o8JWQOa~3fl9OzSjA!37! zsgUVzYtsD|wb^C#eP*Vmiod*6##ImZcecvp$e?5#J#tGy8a5i8!rBAG6BKQ#)qC4I zchANP*)*4lk9Fj`fp>yLz0n}X5hQLyh4^QU#U*^ zHVFm;rn`2l)4lB3XDvJDW>wk$WIq6DtR;GCDerd1#tf?M4C^y&mcgD@85`)9$>IL% z1mX~9bVPwv7p2?qWHMon-{gHi3dUAoA7a}( z%(v0!7E~QYFwf0GCMyJIIsqQ~9i^H39hOAZKZ!D6*ee3uw1k)rOmP0(8v~+xz4Pfx z)+8m503NQ@d{g}w0E$gyEjr*VV5R&~UGMZ6ws)ytq96?LAAj)dA*V@AO_2{jcu$^N zw#>@00qgi_w4*%t-1G9xGtXEeiow&A(e~&*VtDnv_ueayKlZ5lM0qwx6mUn7qOL~I zsqPvH70(pbU;Ihz1ubZVu!CC91Iz7{c5}wYIV6Pg-j-X6TOwE4E z{09mgbPYu=-vkj8>{ zl)HjY-B>Jsex|R2Xg~GTWT8yq%x?M{5k8X*1#yB?8=cr_EVZDNI@BlxOPy$J?0KQc z97=6c_k~uXRF!*Jm28@As++lHR~l>mGNji#IKTkYMhVx~nK8iW?eEib92hdDDb``^ zLH3EDL3?Yvf};sj1U>2u(5rxBKiI{1i#DmL4#`6gz9B1@?^Hw5DV@*+w>HUeZ-jA`)kxM&v$V}Q%8LBALJ>(1_=HAoeL&n3(fVw;Fdih?QO^h7FXnPfC zkEl*#P_jE9+1-~IDE1A8m$DZeFM3EY;v@Qe^Rlz#z}`KQdT_rS+`C&=sKH^4u@3sx zNL7@T%7%4hMORqX74X&>ZM5>f%JOpg@cs8BFEjl*;+psaJ;^hsX+OT&famHAEuXNA zG5C^B$-W>?2vt4L(m3WkHg5lzwSHm5!5MeD0kTV0Dp`5eC!z1^NqU4 zI@JCjo0_owiJVv9i(SCKqVE+JRP-j-0x(DaxptUyBb&zW(5bQCLCNFD$gq{7`Tc&i zi4WQ!VI1z4Uw+xL9d)&JvSRsiS**`D z3sefBqm5KZU+;Afy~KHcwFUAR@?1&fg+4#8tWmshPp~0?7fJ{DZl^5R8yEr#Y+ZCF zH$tW#S27!my2hM%EWl_V&B)%FO9ArVET!)JDKe+Iog~%EqF^-4pH+z03ex=CtvA z$)H(zs6IP@CM^p$1=2DCVcD{KuiSUvee&fme@Q{wQ-(Hg6*zMb%WUbULy>Zm<}99} zPH7*nlcs4kRMQ!Aq_#&vP?F8R+-!Q;vh~5Bh{*(S^W(oSR_YX(=49ol6WXglO`T>B zK;|X9miJ_5W{bb9$R6P50i>}|a5yRzn2?rbGhj4{R-v4zwKlQ}{dqAp)n0R^_WP;N^7=^NAS>RiuD% z{@u1|zp*d=^E?E~@;`Y*H6 zh6YEBs(o*Z8-wp>=g~ObMBp96A^J2q+z(G#vCvjE45wTHfFKHU~GTSupFNpv+tW88&$`5 zRC-z?PARE6(UhHfMNsEE2+*}OIQt=Xe-I%jE6TlxoT4nlVRLP)Qe9G?e58D-1bxEV zzzL$HHvT>@g>*DGm_x>Q)G0W#vfA1E5~=k|Q9-U8J$h7a+qfq%i(lR{@`4gaKrsEx^}!m;hScjmAt;c{flY62Zn5FA-~ayi zP42w&PC0z|@S=LxspO$7ud1^ADqACK;_5l;UhZjckrTQeDTPZtbU^9@)iN=7jUa>p z)3*Yo**#R7hJ6OmwA2T#+n>n@flSH>$->2FNcawb2ho3q68Eb9@cIld0qnH5w^@G= zC5dFGs9fT3E0}n$1mUTaB4bNN55UpnXRxzJkW|+Pjy+Cs{Ix>MPX!9j_Ja!2@Z|u4 zn>KBdty{Lq_H8>XlLmhR&UoxWkQ9)Hf9rxY%l<_p2EeWZPI?~PEBuFwoI|!=7n?mt z&vPxM>H91Q60P$l$ng>a=iDcHn#k06y(U(ykJaMsvtOp2@< z)(_>g$q-^SG}OrtfA|Br^M^l_!u-71--=Z@y{kZsEUSCqkA<7V^5D-OwDQJ}KfPpS zlGq)v0_CsOB~)EydY`un&$vA6fWykE;LJ@}uxD%Z{-SFa57L@@3UZ)tQ4zZylN|IBnC+ryATqI1l* zm@g_apP1oQ1yrq{UtjIB$cNYcy_G_PG|^|A4=#=8DL8P z55s{su3IbL{HK4EKl;NzQswZV`uHEouYUEorQh8ltL!l%I<>*z)%D1n6$VqX*@wE@ zrN5_FqD`&({8}x0MwZR%`xA;8nkoqtrAtNDK{GO4QQZR(mBy$^w6Vo{+9-FxLGkJ< zv|9e*VO`^Dl-qix4QcI>ZgtE7aGz&@7Aw}TrV9UTTAF;UhCLpLB_kJBua+x^4@q?Y zUMW3t#K2O$0*4|6PYlAO?`3po&~zM*+nSG7$$>q)rN6sVfv`G6l-jD{CP)%2a~u{M zj;{BgsI41hfZ>e+<^Z&jfnEtzSK0i%NPV3Qs3SF^Aa0-+>fh=)APtfYn!kH>?Nn8i zOG$ptf*=ib52I%ykVb$Dhl{yo$47?rzsKji1_^gB%}{F?9*f!s^!ge>dr<%Y|MW>j zK~(zWRAYmj-?LFpGSf@-RIpqfgZwlja#-vWVu|`J|=|_)9LtU-y%d12ZDoYL0 z00;C0LD1l^H8x0hN4uwPPF8G&lddO#8sE{bYusi60?yRt;2*GlTmUnluqG)*jfBIN z;W#!uVY8%ga4%jwFB5vd@U?Js$!b7mvn~8L*NQF*Vyl++G=>P zUm8NSs)|1{0tn`L20{%szv{pK*Z*qS6M$H3-y+B5%a>$oV$6UZgb~hX_UScunl8BN z|Clf1ln=5`(AVe%_itY38!zY({1Dc@?K6G9>68WD@Ay%b_Ds-A1lXNDy0G8Ednu*l z8GDWJ;Q3NoitRz@pXNTZ)?%Lp{f+>3zB}>tI(`Kp4X}m|@qC@W-vVH&%REVh^zYmk zN;v^J_#fyfumR<*RP#}lMCAlQx%g+wfnG27l}V8TvePGy$+@#<~~J6gg<{)FC58l|Qf}1GJf=s9?tHa}x=Q z0f&bTPoEB@f9=t0>{6elIHe0tbl9%nUu-2eri2nIo23!zl%YJPEUY!!CSU!#zq6i* zC!To1qBk@tGc^4tKlzE(IJ?K`Qw+AIhToax!k%cXMZxD;dE6i+HY)w?O;@up$qI(W zseey*?gxrPl`&-(m5Y?tBULg|NnFc^@x-+D{$(Wv$4F_f0FD6(B2 zt@yy|=^_8XNhZPuvlnHNO*pV>m|budD-*;0)`xcJz+TzDb(3t~yvce*p!_B?N6#Wr z#*Y-d@jEidHKpoQ=rcr@(NCNVNaG;V3=1v*FO~t2a#gY$Q+>U1x;W=5c}VR2L|S_K zrDUo4(iH49clF8fwy0d#v|LV=7upb7h?y#K6;xGKD5#uSR4@?&f#yhqR24gsQJgT! zaGbt@rDtheNEipe_p>+YcO#&NLx|pD@A5Ys+o(F|^D#1_H_*9cz!<8_nxgcZQYQXR z`4jzS{0$)JM0p)1TS|4j&W(9L`MKGWlbtL1`9)GzRv~_Woz&O2N_+d@9FRtEva@qo z0gpP*4N>c7qd%*vv_PV28@SiZI5Q?YW}7Jhge(HkFg7-Bc9{|-F9&SC1ExUwPHJib zHZP45ILJX-TB7RIUC%zvTH$*LIFS7b2mJ~ZebS%+rCFVFDna7!1GFlCb)UC1MQlG)P7YQ6l7KW_dz9N!NrC=1w#JC+{1~>zn-Rbl0b43*s3^hSH&pAo zH@becKePVWe1cA)_bc4csNk#9>;U@;;x_;`CGK6F-DU&nO=Ff|nD5kUa@Tb{5rvl! zOvM&KhCvWH_WRpf+wHpv_HWy=$$G!Pug><}ci$~5SFY4G*kGlOkb~gsxlH6d{|gt+ zTgDII=<*YgWo*}b0I1^LJEeCS7Pw{)0!EUh)VE-ZzTfsU&bsbJKvpt(1slLQFcXYS zmh;`o=p+T5(TD*G-Um>?_Z#eY^frRci0C?Jb{=K*=m5v&To3;EKEO2R&w7miyDQi$ zuGIlBiTy?Zua%E0P`e5S^*hM?H7KAofUNo^8mY5cbyk+%)MzET6H{Yy`i#@Ay!tKEH5UV7nqdFX)$EGu59Hu>=v|G(t**I$!RC}iJXRZ$^dyX`iM zu29+lGN;rsQN)N1T<$BkI{VhvfjJ;-A%PjPqOw{_3RKC~E-p2GGXglX=o89NHz1Ba z4aH>2ysj}`h|m$mKrtknO{0dLdg*!$<%#nL3sZvvXd-#@MJ^GX6bxf^ake>7zpm$atA$<*BGb+Ej;g~xnU*3K z)w%KlV#&z4Et_RJHAQMu4qNFJ`UsGgo0Dy&QQ_Je*}8e7RQgJ7pRhm80a2$Ven5J> z&`TJpua%O*d@E~AIdo9`vutCO|8++jje%;#@(+c9#e6n_3W5d%vK9l<$V}mYVG~>( z?Fv9`YM@WfrtX$=2e->Hb)4eCc}K59#qVW<7AqOieyP&Wni?LGQ&pvMLa%pxWXQ6F zWFBGsBeR!m)`f%DLTFI!Q+=g+($NvgIbTa9IH;5s;k4ALBZM_P3D0$<;;3KYBc^xqdL0ibr?grX7oEw8ctZEGAi^LOpmqx zO4VmUDK09N!a@aiH4O&HVnJHGG&HnY*?&RSQ70gwz|5Dg;HFXmr#fN1YLfs;1gNfD zfq8WH0mU7RGa=xC!|g>H5_{0MMxd6@1MJ0C+3>fsXU|K9*v-GRJIFgzwyLW7tjI<+Cke6eXI>DM6nI2UKxTV2nqm`GH=pN0s-+6sjB0(>s z2e75+1waiX30`cCH!J7}z#n$9NuB3*1)9kaO`s3(i}0K9;rjar4G2RBa^d_%8}7|> z?Nsm^Rgl~qiKw$1u<}WO3TvLVoj5ady#VM4DnRxVdoJy5>NhG7BtY0mX`2GHXP9@~7$DvjskOP5%wLVF9RTQe zD3~Lgm5gshaGRhJ_rdG$Ci)p?`7XW}z1^%nDt;$WzZfYiuU#*RQwDPx;}kI8c(O z^#dTYfo;Fp!r`32ATC?!|_uXql z=l<~@|5*;{gJ6~l=Tci+D_{BYSF90uquyDa_>F&$(yggrp9EM zIScNA1Hp{3pgP)aWREBew8xZRd3~3c5D~NJyDC4FD^YSQ(;!m5h&9M_CEC`kz~E*| zYd&v+BSPr`!_RSmSm#8?P^`V`kWTCM_Nx;%vwF2B5L-w-Ub|MN*RPYpcixey);4tv zdS(CqeX?cK1}Q1Xm2F$M%I=-pZP+x=${ZGt`+rrM>MX+vNE@3Sxj<i#{5n1QIEl3k{&8!iCqA}^sm)X$wP~PnG`K7c(fkdR;fY?Ifud0*c{9N&u6-cBZ zByDQ{0s8cmTuQQH=fxLZFm}ew47K;Qb!y9#pKr#2?WZrvs(2Kfh3f(mtaRoYVjq%O z1C$R#&;!N3uQ*@Iit$Bnon?aNwXWsOY+S8_5 zeHII_HQtQyx#&QLJ#k@5ee?i+68;+?4Vrrb-?YR~Aw`yIaB#@UuEEBspN+%IbpQle zW3l~?ixB|(Km@r57q_OMURtfa}mG-1L^@we7Dy*#S71nN+N>eWRzfi1gv>wW#h$cwgpsY8GRL? z5n%Cpt(Ww)HcEGUi}iDs7UtQ0YpAV}o{p&Wv_~Zpsx<~uMnm~Z3#B<+J7?Bg{O84r z=?6e-LE3`0ifSG1S)y`4gwJ3tkYNObvfl9<$wq?_SU+ug&Ww%$oPA>8?Ak#ljlB$+ zP`%nUKo{*<%a%PW%a<>g>gs9(XLtYXr*c5;F4zN>*JaC=$y;x}Ay+`r%bbxRUTc+oieH5!dbVU8d4^Pb#P8oP*cgw9G~9}Vg-@@|lx|?a5wk;rK}Fh8RXAqwVQlP? z-obWhoA4Vri%jQug0Q4yGE+j4a+#PIRb+fX)+lQ3R6~a1fI{)x&Y2toB%?r(Jj`+NZ(z%hx71j6gGXG-V2n* zjTnX-6(XU*ic+hiMv;8|YhRa&@(NQd)H{FU8-Fi%-uYuQbn#`ytVsxN$nbJ6DL*Bf zh9kF7_6s9{0>lBtz*NpQIHOc zH(rwlbrdm_iRk!Uq4yAAHrUr~pq)r)L><5*M^fczYN|8@iQGDUG}Q{kR;^s2I&GHS zQQvRbSiKg1Wku2;jZ714p5cb@9OuQA$?Jed{m!}8t@s$QK$`}@3g5-pPl~h^r@NIvrq0I;?LLuqRIf_`1`(8VnA8< zCHoMEgi;ttGH`lu=#nk1>8p2-eVRmYekKwElhtMcpG3jjFA0Yqg9gPS!%DsZJ*Biv0@+fEeO0{^Bo;!Efiz zUHZF)**y7+@j46o}S_r~ zuj&zW38iOVpXCbo)MaaQfOMYP(&X71KMTQ;?bh|i%vws%C=bQA!_PxckafoqCL2YM z7fv>TS^|}TDguOyA<0N2E*S<{-Pm$WKpI(bdf`|v!^5NI=lx8b^zVN6JGx$WnDf6^ zfA{LEuh>Y2*!4&72Op2jpljo}X0n)+nl1#=T>pzbL=c6*Ci{9JdyViKbOU=9eLyCP z4ERFd8858Mx zj$hYnOjQa&9)DGptX;cSe*BZ4Sm|OU61K4$%shie|EZ^*()&?kW$=6k!Ei`~?)=f6 za`Eyx^}8-OEl)#(HjbsdFvqIF?3`7cGS_rZ9l>kxwS9X2cJF4dlYh+z(`zGZY}^j& zXSfL|q<^4KzED(DB(CI^S4nDVmAtoMt9<8s-;*zW=}QJ$s2#pl2aBJJhZF&(vm+@f zmR4i~SbqZ>V6a;{$HKF8`pK0w&MQ+H670&A@##Lfd?}X6=~Mgp`RA6&U;p)A%kTZ( z@5vwh!5^rD^!gkMbRHngl3o#G1Z7D!jWWtWAnXam=96%wQ!1-!jakiRnanPP_=kTZ z!opyopd6?_Zj02}tP8K}SgaWNMpcPLcw)a3`e}dyw4+C5`SK5KHX2R}Bo61#UowLd@2p_-ICl)4>m1WNNXZhJu=$iJ zQF4G84ZKh%CsSUrkYGSy9qee1*!_&XzrSfh12XG@bqhGNtVPT|WaixD=&%h8A7o^~ zV4u{hv8&&)U5;(vCZFD5X6@9PH8Q?^yUf(r%hZU1t^QtFzkZ!m_)4XhGA4EEV()pp z03Ihs24vUH?ZytdRzGi*0=*ADcwfTI7}EU-0Dw$}p0w4gR$imv*Z0HJ33*XPS&4zP z6Kd!dI-Ee;DPtRjlp+3JP7DvpvB_D6M_3otX^S7P(AMh=wTAq|3w$j`GFtUBhlXXQ zu|dwI?2&T{4o{t&kz*4hGCtHRBWi484LbWOR=f_fg`E4KI%eFv`1`&Tg3-nSgLD8^ zH@6&!edYD~`NW(9)%DC~g5o^(USp%MUz9o$^~Qi`$uo9c&p-dXeCu1^lHI#^&%SEm z1CYnMj5aq)Woe<5=O>@p_$&lnPU#fRAo}P=*&1)9aPO%IVF++rOQQvNuv;7kh=zu& zDv3-zV98#uKn`C7(7&Xu2KqTh_pYBEn@vObZipoy1fhZo0-24fV^1ENJE94u#}{6B zNuBg-m1F1)GOPfESYM_??JmG80^6b2`KZ{QRJ+W+W{*>@Ot#$XwbzNg*Jl~*vWx>3 z@V+6Nt)Ej{=~Dof?triUPPJh@meIuq5G-IH5a{D~8AlIG`jNwyErdS+y<|S#JkJUJ zKv`mW)*)TD^PeMGGW^5&#*|#m@K;wzAn2EHW7tT?TwP5M9a&MzoMVsGYJ@*y6K4qn)26Q@x z8>D$s7yeZ4(g3tsq3ki#Og3#U0Of%Y^&u@jXul^IOC%7EbaV__X;N9v5!=x9zWke3UN~k%dYHw)gEEfYe?-5TDaY_>W{~A& zXGmsxnrv9VUJfca8m$Y+*`h+D-S+}w3kd-4vO1V2vofW>B;Wc}Q`Fh5t*$b{me_k9 zFJ#)r26SKdbV{49r>2IGG>7Z0Ckw(5qW4@2AaiVZK>B;SWT>ZIx@Q?>VUgt7L1aTo zH~=h}gA4|s4+9r}UvbU|I2;=qkYn9W*;717>r|au*|9X)v^3SZ49TAC>Xb88WinWl zD}{MEvT5T6bH+AqSg-oKK`vf6ZyB=8jC9$n_j~7#9g>=QR9aixX0Phn0Wk{wMWrQ0 zR!X{1Ml)&AXF=&AWyb7F3_T7Qx&edEp1M)pj{}H9!Mq^1QUV=J53o=7KcgG0*KD3( zP9mZA1pPsYyH_xXbI!}ol(eI1#@^@!$_56eWPJR%m2ES)_{zths7}LSn!V`@9N6Gj zUU|i;ePCOA@WF>H8cwe+^NZem;|;Uli4N>N{>`ZFgBB`y)L9DZ-lq?SK%L!}8@%^R zB?O1)H)CB8&?5+Uvuuq^EtEgDwlrC0jDBiZ6J0_VhJ23?4_b+tW2aQt(C-wfliG4v zY8l+?Feoo|pC@|TdfzLHqX_0-eXfwT)3 z&&kMWztn~6^!<(xNKg{sjL&l&@X|HJex|~OSz<5}@-y~0ne|0x5g@}T9LkW%5<1!M zD5K2=~GI@$~w<{?7fuKdJFoScS)cp3~_wGnVb#pt_t) z*Rf;M;!}T}U6Um%tH)?07MkAL(N>&@D+eVf#%BQUNfc`FV!0c9@GP56M!nicJrm-*B{>FYee*!(i4_rfQo1&Yo~^KDba4_jWWut?~+ zqRa_Le#ya-ejd&Mk&&Ppf9lGKzR>SNPtWHWoVh|7RFiHpN-l2HF`7^KOpFnZ5gWWa zQY$0=QkgEwl9RqdIitqwih?tohm4F2GZ2sd>M>chYLzuKKlj{o))z`Cu6xjLfx!W! zu@>nmgownScjRgWo_~qRLyQ6lHIf)L_y(dADaRWTy*>;hr4G#sc)iN3K97RaKwo8j zRjGv3VTMwf{eq+Bxel0R21B9(p_^BXsM zg0Y31PcMkH{&#ma&=&Ysx12%@~3ssYfg@2{SQ4k=CY0i<)++WMyPpe+tgNd(iKI zGqY{$77HYf!YX_dAk86b@|iPaEULwsPWj+$R?D2cCD1>X@zT8>Rvm+r!3Y8Rm#pV! z_PgeDpym@Rrz~S`W}4|Vuh#&20KgR$fjQu8bo7KwA3LqK_q;j4i&Eq5tg+s-V*Q)fapm%5%k)4<0#hSoAP^@I6~EDYvSgyq-eqfK zO_;raNl_iT&lNaR$Ff;LSwx*<><|50E~(48v(6xDdU#xBZgd0pJ8XT^jtw%f0vPtX z4>u`hZ*`qw=NN+BKYQ=cPwaO<{?z2STvn%^gLOy%30uo-tf!w{CPgKs7C3MZK-wpt zQaNzK^hqpdLZ@D5SiuBA7T0dzwBwXx6X{(dD9br{+Lah_&z)==ffi%Hu6CFe7o!^h zbM!9K^TvH(yc1+nYgT_GX-86|%2#6j%1E%vA;Uozjg5{-rT*<`%0cm~9iw6dFwP)* z3%uix&T}5@A)YUR92d-Zy$FcBQdhT^K(j2LmA+;Fi0tEDe{`9W9q_niuo*TcTjp|ST^iL%tJ>7JDL4Llx z_wKv$_M2~5>8I1?1OZ8xG^yR7RGdEa_+SmsrBVSXdz1g>cYs@TIr=cZSC{wm447MI z1FO|Ww>5_y_VgHA**n}O9pmb&PpB@M&Q_d~DPMT>SC7i`&p&7LK{#Q^3O@Pd#uVm4 z2N4Ty!h7$&Bg=I0|LRvynDfbOl){2*;LMd$-Ne<=JPD278juzm$&zqKrK0S?*)wzw z912)m-gy0WOLsF=7*I*X)jcSEp+^tJlc?+wWm@g8vN>yu?@b$%rlu|_DkzeGztWg& z=oeaOW6vin9F#tF>@fNy0+%-yAm}R zuj{&G%tP!!WC&y7vOEI9iMlmZ7Fd~p+n`G()n$(2+E6kmXEaNj&z@sH@~kLl#}Q~GFrz!aLV_p7Qhple`CM#oObF$HI5&t9}XvDgZg zL5RaI5yY_V1e^xk>L9dg%Cer)4Dh@7KC$+S5=P*JN+ za1TgGMu&&ZNv$b?QP1f$jlYJ^QXI#enQ;1?)WM}90{zt0y7X*~H!7S5``aaLXjj`b zFbHGgam!$Ek7)@3xS$KzV^HdosiC5VAhD4@m~Qe0_e&|?5MZkI)dmT{fcXxFv zusmsVM~jO~Z2Z#GPdz2?z4yM9l~>5f=$QSDU_Sc5EtBS2N5_VZ^u%p7=?TKd z=axNd46yJ_eEZwqww^+I_c_o5|MD;YA`kuI7gDb}g+Lr@xU{51{FRl`rSE}IiN3sm zk6DA6p3e&#Pv(qP2p6n!-eeCMPEDqbpUp1o@9?|vEhsN%KgWZ!o{^|@jfSOdqDmU4 z)h8QImDI-7_U{*#Eql%)_H3|Z6y{oNc`r7>R4=TIUcMv^30S)2<(E-mSlbZH_D;5ln_tqra0q(20~V z0@Pfm#T7sr)ftd@oT{mi?QjGa~tQ2-Y4jW9&e}*OKNJWl>2-J&WNxB00>}Ks{SV{ldGVkpOVugKpOgky+uU1 z!H2WNjJpimm*|+@E(mrMpsK!v)C6Ph^*Kq4+6J;(I14zYmg&;(LjZ@#I*G{&*Js1L zefib^&+i--U%$;uV}wMo+OJN!I#CABF6cU0*w4Tr#wUS7pVk8a7+?$E0b;LEZNOf4 z`O-zHsjikC+nxSPdeQ#VfBH|>GfqZ?_uY5jeX?`sPRov9v)zLL1c5KcQZO5Cq4KTI zLeM{e7o0;XI&5ar65HsT5rTm1Z-!8}&jzRoW*D8m3eRkaVf+eyoMF^$*5&|XtW$!Y zD-m6nZiUBZB?Kf4q|{aGHC)q807>>Ypt7T*Q`W6pZ*y`9%D1$%ir-&j0ecvB89PM< z3uF`=pX&cEUUp`uaZlX96xSQjz0J%roOt%R+1DiY9nYWF5?sY*J7Dh`u}`vskH}uf z2DA4G)BybW{cx|tIJ#f$P*XT0BYj;)B(iV!PRUY`Mn5yz&a@+`Rzf&9#IX2j%Zj=s z>i8E8{!-I1^ZBD(4?$vv(9btV7h6SOw<7PT1$J5*6|i))%7}vCsi_I86grxgW(gBm z7qhZ6<=pwR7QFfLm%l9O>FF{(IUxu2x!r&NeTHeysUJnTDlHR;L}3}Gc?d=)ieYWuz%R^MCFUF5c~p&yMa*tB_oIpM&|?M7&FDaYH0|} zA^0&e#Nk%y8E%%=$qM7#aI$BruSXBd?%Mb4-!FKT`YpwQamOfz!(rK|;OzF>Z@1YK zAm6O4EKfk@N?}p46qJ@pL0P$!)~dql&btm=EtS*_WlOlL(iR_1FHr-caWKA+@dKbS zAMK6TUzJ^|4o#r7%un_Lq%5lRRJyI8}`X6E^j0;l#H#Y5Dvv#v%aRn8P<$+;u@ zqNk`Rb*BL|ocKiG1A{PcJ@^d>_W&E7*(XV!4+ZLHhIVkNp z`aSCKTi>c0L$9nEY>xoQZguz|yg-clrB`1A!yILC{)%#Qk^wLT4iKW` zfEurZAm7yFlsPQ%fhz-PBf~M|AyYD~plw*eTI}lpX+`ZzlTAaSeS;Q-ozXqSy-!iY z{L!ja);ov;!r##Q>@gfODmwshIG9{7#+yF1t`4ZgTcxNFkd~`!r_}+parYXr2&w`l zbO#P;Kpk#K0(eG@IzczE=3v!z%cKyu1nfriJ8O^6rK||RPVWm5Z0lnpICGOWBa!gE z^d7U`iL6sn*~0bJluMwh-0maJ9cw85;J#x+-Gh=c)*H{FMr|g~2huVEy4$yHGh0g^ z$*+F-OLNp%Zb&a2;xY2l64#_;l?u}okuucJJWW@+f1JY)uC++z`zH$2W8MRL%_PiPP z+ocY6PglED7SN|2RKQVRo~!Hdntnp}pqs7_cIfY$LbHF14JPU9_&HYi-JJI(7RzE+ zl?X$=W3P?C4f=^}Ol>e|Gt^iYnVC8A-~$iJH@@)=Bcb``H@_(_Jpa7C&eegY^QNY3 zouT*myq>Nuo2N(5C*PTjZ86(n*|SmuX80aA8n6M-Vb=)=K{A7`i3NxQUHS|ajO1o# zt7KVERCPs}q#imbHC2_;ug@7~O9!axz0rL&JThWHmJw9$eZ!^!0vF1rv8I`G#_(yc zd(lCaK{#kt1%ZkZ%S;Z9j>&noHI$XMwzpU-)?fYQU#d^^rk#^p;XzP<;0ioPHb&v(sgshHc2s`;&_gy4jcPr7_+`&NYpjkRzW=@rmxrOVHsH5sMiq&BUg&Su zE&3bX>avtOeZtOl5ZraMrdRF1t}&P#EA^VGj%d~EiydnPVn$@-$-Q!cePEdGTlt@bS>O+W^ zXiKwHsllqL2}tsD(;Sdy*|ajh6c?2k0RTpq5*8MOyO}q5u%e9V>GWJ0NqO zwZdAUcd05j)${L*71vp$8Qh%G>M}LhpHGkmdo1S(xLGV1_Y$i~r++~AXnkd|wCTPF z2zm{C9ag7*qOMNPWMs&dEn7Un*g|qe_0g%#8)Y;-Rr;zEJDBvGjScl%sSiWZ8H`Pd z=EQ)Wmu3G#GBG@05n#$cDXp@8m_Vh1s6lhQU}Qtc)?T=9$rGsYyR&D{Ss4^MGxmCM zg6MIh48;X${0pH-?CX{qq}6rxnZZ9bJS3OYI9@(;#!4P5^gis{yT`I)fHC*rzYFs7 ztpBV&RImSCC^_oP^yzbKQpYAMBV95wGHvY;T!{y2I3#3307<^A0~Q1Tc*V2DLUCVL zsi0mXmm4$l&wlnZ%fKykFe?v`R-^iwCjQUzo+T1=DC>uz`LSdIzb;{YvQA+`WGn*D zgoEdXvpk}@B@zx9ICFstL2ELBkl_%l^I}V;50;E{cUzMJu4`b6o~a&n%m;LT^(e@r z0>J%!xBeU}{LX#ff}-~|RF-Q%EtZlWF)DZ6)2zcwmo7_biBG=vwXeymFTZHzZ(J)$ z2TJ7vfxw)ySq^&b00?f-#e(x?jJH^*++1z5o)ijjFDynnUT_Ch(ES z_`+t%d6NmORiD|fx{eGPe@EYA@5xj;Wy*y{D8hRhsw#Ai#@a#je4q4;>ROpnoqa6d z6OY8pl7cjD8WGet-+V{z`pHk_SHFB%Hm+N3>?#1B`AQq}%gQCoU#H-#MUF(eBvk<# zMmDp(OMC;m@H|d_sf27=q{}a3qm#00=T3R&?YC_s_UjGZxM7_=+&}!oKa|w8BQkUH zq+Kfph*@b9qa!vczeAN*A}V_n7U|Zsv@B_FANBxbUUChjHAXtr_*6@UPmM?f*nyhT@BV@+Z2V?lP)$Uzs{^ zon3PL*zxQ7g=~(KWp>-Gl(oJJ0*r-wl6Vau?PeSl-b=)u#$*KcP(}(s9O62mp9kSw z03r;Hv@sM4Br9_ct8z^|?`b}9K`Ba_j2Y3uF0NbeKL&fDYadZSGgVU~=TcJSllAL8 z!Pr7_Wh4D+yJfr}M|$I;nvjL`c0{G2E+_}~?2_Vw0_!{2YyX`m(__OjF)}E=l0sRd zpLIZuSD?JesN36`!a{@j;X?=QJ!Sgep+JoSF{d=#>%ayOnZ~J$z0O#WcAVa{P(Y69 zdW{EZeG1Y7o&A!rL?8{e$f1cTIn&=GXLaA5ZE2Jf3J}}${Ge>c_QZlTt_v1A3_I++ zdAS7&=JxA7NU?0riWSQ(3x~sE4yHPgtO2ssI9UWntOQ1ZKN%6$20@yMkpbmjGEU5!qI!ej(D*q7H_4_3 zOX;~Rupp$_xR|v#)ZHrMgT2z%)gev#e)b|kBKkZbW`eDyh|#=@1J<$ z2`N%PmVjvNaq9GO_3ffo`pD;@_dBCavjiL0_nBfZTguhhFWxV;#Yd$gC&jUw9``FL zVK3_5Cv(QSa_zq7=O`eiM4#dQeR@v^Ap_}9AGS$-5dE1wOpoD^-V;~oy_=XAo|8!< zfIvF~{^&wJ2G?Y5HVTqCC$eW`t^(B+YA>2(a$@}I+KNA@Dnd{E-PgY%on3ma>QlhP z_~HxCOM|Wvs`lP^;|&9r(ChcA@Al#Q@5$}ozukB+@YTtxa~%^3&`zH@ZEaWh`Tk0u z0@lPtTwE6wF;qeXiXHoI89%)i7ubv4c%;6#)ewGPYMECBDNN4D$=FC zH(SEfIrC=E_!}8EWJy38wfj+BobSK?zLjD@3i84GAJ|a9ob35a8w-kyCA%sh=?2a^ zCAFz%j*&eQ?UTH&=3AOgtDnr2`oThJjy77<|5v~IrR>&opBx`kgB`LBOL^JA;D9;8 zfK7Ub?z!h)OP7u-P~&}M%-jVWFGQD%iVDSF-5_mkls$R@vsk$X(z?1vq^5?bu0Hgp zh$%oaVK-C4!bTy3Llk7O%v1?ugfY~l#@&rh=?9s$0o~Ah_v}^&<^x%-PRy3g zTO>U#-3c0~Glv6|$oau}hOLf1NGo}4s<*7(LRlgV7tS8WYf-iDdhQqoG6g6kKw4{9 z6|yR%&(m;KgmZxzF%o1p2~GJZ(o%DzYYNh?M#4O=(?i%l3?Zi(9K+M7&MMT{INDyB zvxQ`=sY#A2D7dhHzb6n&Myy}$(0&;yEs!o!xNcb~4Y6a`<$ zCdQ;s*JxJyQQ5kAqZ~~+WV2`}hh$D1!><7=FtlMvnVIH}e@JvNycT^I`}_fEL}158 zhGnL;Q7-IQBc~ecWlUe=MrPgDwRiVQZtGmIb)! zdY=y;PL*Jw&H{_&Q!B4*f5z(lwb@~~}79h3` zbX^%Z)BQakow$>6Q;=1Xqid$k$ch+fO8-itGAGuYWoz{{_MOH0oxWTvXS(*Ci*)W5 zE1ZKm;bGlJ4MAP=YCDDpdSz;A+MFQ*M~MJ@>@htxE_eUzr}B4y_jl$jkwHVRVOPn5 zrKP3W>!?<_aQ=+3v@x@lXTdBaK-!O0aKZvLeo0L^Y>aKNx8bxo;BMjb;I&r9r?$J+ zSD<=f9$kNvg07?#m40yMFGBT?&Lv8Zjj2~>k7vu@L+a?UCT_I1n@kS+zh2iPYpPKl zOJj8Qcx}AE;D;|mS!0KSGculM6rkWhV}Af=jD`UqlQ}b1RNX`97b*x?zpQNnmTp;? zD}8N^3Iy7uytLSKOLkV4l^_?;=cz!fy|vjgI+?1E@^Z3e|K8n}{Rc$gr@*Ybf8QRP z@0FQ$M4IXWeaV9~_8oo??27Tc`g0ujD1wGrkf?QzBM1 z5`V7vbKDPW1yK-6+lFi38D-;=Frj||#nzXrdmBCM`hxgG05j_~*4F}@{Y6J4*nU(o zN4h5#X+B;coyW_icibm~y@k>@UU_pMjfG3k8QG^dUVGJ|3^eZ2WVvA9S#gQv`6?w- z!N<{tb_Hin=FCgd+q$K=uio>bmP$gS*;3o$vxmNO$4)t@Mx3aPQ?stdPZbi`K+4RX ze)?&7>7|zxxNS2dasJ#{D{E^}0F|i63qwHUCp%jWK~slxDG2ihXRcfWX-HFJhxp1W zq}*3#&94qq(9MxOu$V|gH-)OrsrEW=S6t8nIHTWyIZ{wL^Sj>!YW>9v1Ss9&FQld$ z1vFQA5(%?8I{Gj5^Zn7VjH%(BIj~*M?O10Fb~8meGOUIL_M~<-xPUVNlYz6C&vKaYP0sMB0lT4IjNpgM<_E+$9bKok(8f-)k?)z{rAK{e3xHS8ipb1|%B0OBLN@q!{I zJAlH$;lKdFJlY%znDSbx!RSjR3>#%uSYxfVM9pQxazpro}NSp5q0__t+#Ua z+5lhtI|@i^4$H;WZ_8QT9}}u~$gsJuv)8IVDOsYD$8`OSj+P0G)tx>CoE7Dj zl9#6racxNTvco`Ep&-p)Rb@iSTt`Q{T)8}V-;qhM9%OY~=~E6=`qYT$S_u{Ffpy`o zsbmEG4YhVyodMU7Q$_>$k9{4%1A1HP)QPvUA$1xcHDVqi-x==+-wJ`bkv_$U+8!zl zaQKJRDP=y+9t+^r6bxXt!jVii((LVG60Q(aw&S|aIPsoUFzZ0 zIBR4_OkXJQLSK-zYinsTy+pvZu0o%?I)U^slbL9-Kv$F6Wbabx`NX33(Wa~HdpPgt zb^>YWDX;gqLe>qk49fNh$^eL+?9#`UZ64Qs#C{=5?t&5C!?+jpD%tXD7;sH&9uV8GY~37Ryj@6;R)Ny>q}lAD<( zb=6fWm1c7WI$AuxE0F*m&1u$qPQ}cKuH$iC1F0z~=GWoZlBIp~&9~&h{sYGBN@n-* z#~+iQ-t|)>5&^K$FBN;7I(<_8Hiv1{y{A-IQS$Hj5JBl^sFKF~EmHUHf04km|APdc z`R}Fn-QSnyyfwO3l3#a#Fg}y&4JtwivH~1T2T?-l@t*mF;18KR2rek^j9nM=32c_F z;d&>V787)i7jzVXhq|gV-KX^q8Hw)s%U3QM0n0*%(|h)^{KcRDx#M%gFGMVHM`8ZCJZT%8HAmucOucH};^bL;08WYfOw( zBI!PYt(+hM_T347H`sk=<{3=N1XqlyG)`~0td2YBjFWTace?!yoNLLU9qFKtc<#?K3sxl&kC zYTzu}Un?24O;^hr=M$K^GTS?(dbCXHr)~`$Kf|r-`tqbxofDh{l#ok%4$bf8O`ELt z{gHy`#f(4|oRgC$Rl$%%)d}$iXRgczXh#oJ5rT7zv^W{GCQo90iV3ljrpDaL7-kj0d_qR8udT@_ zT5)KTDcOlVhwRnn7}Dbss)%B35m?1$?A{H`4`nVTtt^hS2*no!59qO{nCZ|~K=Rg@H2 z6qSRgk8C zJE6w$+`%1kwlG_!^qS*K9+8R;2Vi;GgT+c@aMT#W#?=|?tgn*}bwVwxr;ZstcQ~4m z^6)Q!5kTQ}eMEb4;9RLvFxObaOsyLONltJi-=eYXtJrd5_A5GvV2F*$PzMTU%!!oK zCwpVxxfo$^D=cU1@u)f~taV7TptoPB-z@gP(T5osrp4tSeqcSe-0MiBQC@!e6$^SY zm(+bNl`G6{g|U`{;1lEkFTUvX$x!M94S%CLhYVxyYHhTUFSURyb;Qn`PF!see=xTd zz)jg60F=HoBIsWCV=;nGar9-W1%JpeHHGwHxb;h6)B% z=Rv~33_eP9-O(;y_ajz@y41Gycgxs7w~P+-$e^D42k*ZxjrAcpKB0S6LHGE`pam;S ziV6)dMf7h3lF(hu-lH0T_Yq`TEJy<^VUNk`bg1rTEz)lWLm+DpW>A9aWLtjr)1O*7 zEyOcVJ@u57m6qA-*#qbgGO=zz0MIr$HEun;09f}qH>)oYDtDaqa7C_!kG?6jum6q& zp8kSK?Hm6=B57|cfLpi^jr;35{{(o-a}O(6fHdkF!(g()+5nuf-i=fRfUWzT;BM?1 zSxB(|_yYKnbNo@g&*&+V0MQ23B~4+yue54R%g3K4KiY+Z``oH}``h38mf;LQ8)c}F znUGnhj2_^Ym6a(WeSS93er&+(a#X=RWu34$vW8BKkI0njjehmBIA_2qdX{tM-f|z< zE0ij__k#I)&i)En|1UZloot!21U|U=i~77`b+z^D`!XcZlqwBVvt^CP3#5IzOhUtj z($<|X)0Kzi?Dh}k)WNkf*^rq$NMj*ln4nj!uCBI*%I|&myH?)F0PI3F@Lr(Il|q$* zk}}DutdaCki>EQ2PbhoLRYejUFOd3qYB_I4D0{4~E7k`;Eaw%8v&o=cWkBXPzVUTg zq2LTwqf@75jL`>U?ru;P5jC$2xK8A-vbjT{kOI{bsjF|1?(X@R9_NBIB-+v|g?VMV z7^|(R-!0j~AjB??#RvcS)nWf3727IaNa=ArFch4>WsvlI7b zUE>MH7LqHQHrjl(iP9ozQ}C6kpoi zbI|4J*yezOj*?6x1F>wIWq58}&o4#*XEyj+byq|IM5LkK?h}L&v22W92Y<&;n3*}L zPW}bErw|d4p;-3pGt#8M3Mb9gU9=HAaQ}VMq-()FVA!O;gfR%bhAa+ikU_QCnHjpS zqH=oXxQz67UL|e;Ak>x@=;t@svt(vpG6&}e_@)oBRY7QDt;1Lse@~JX95$;oP{+5< z=af5PH*Qt=x9N|r4h4A;3my^SM<2zn6#%1E5vcCsJ@!5YX9Q9p1A>~I{d(%;3CkdJ zPfnjcW!d+L0$;KdZsrVq1qo4u0!;KFI&-lAfna2BTchgC7Rz4mRL46SX^;ukM?@<3n3@%_Eg0|Ru;RMPGj7{^Z zFRcEJF{`pqdV8ds636DS0XMR40OXs|#TIl69hJ~fnlw%4O5d?+8SN^T;fWd<8LO7@ zwn7R0k#{>vZ8 zxpSx0c$66P6qKG9)eyM{=~pJ}6XlstAs46usH~`wwzfeJaOTSOAPr{7#>NioQEF~f zrL2plI-h~XH#b|SQ2`n?@~vtpopW>?$EKjuAW0U&i=Bxc2+AnJLB|NiU*~Uw@EmCr zMLD)NhGbZ;^GtEBTw3|2Tz+eroZqotPO4KoJvl97>THq~aO<{tFU~j3q>Jfya-}|4 zZFTNm2g5g=CjGgYHu{Ce#>TC_o^ycqoiZEx#k{`56^tyAdW?K5pmTrE8UREjD(C%t zhy&07#uy$HFC}5~Wf5J$Xrnx-FOU5_&W*#^n5IUp(g;C#t|)FO)2s4Q>^qEjg~sc7 z_WgCj=cw^wv<3!_xjNTnNz}j$=-!;lPPfdM7Z6KEE^gi=Cl2h9q2fH5819#>%yikm zPaT8SX6ey2IyTTV2c-3PG+W;SJx8!GVqDR0b-{ofIeb7aT)0NI5r3RNe?j$^8t#^B zRRu0c!+{|JZ48fUO!?Ofq&0N)OWqRor4_gLOZ(u6%&22|Ve=|Em!ByU>ezBF_AI-) zOy6G*Koqo5#^+JWcjd}up_i|z-f>1^*UXKHevUfOp|U)w$T=iFb?8j*qBj=dfZdef zTY%GCLmsyl(_(-1ug*ZnG;XVOm8+5O*eirKt0@45} z5DJm4Oh#wS6{k0u@VSTvYH%C`3Lg-B!>g_TxvvS3U(h{ySA|9S^ ztLoA0^fcMDaf2~!L)2ke#@=pYkhGBr>VvIW{gI>|+Hbv~rmsA{XFlQFxsJBxi0Xk} zb?&FFhlz~YAO67~7=g{+y?d=E>+G2`1}2%wb<3lj=a-96QXK z<+^B>aqR(>NCu!45C9sQi}y(5{>P;8z!TD3ve)zcu1U~>5M<0C7=e&w@$1tO-q%<| z_9#=Ti?XCabv@awMcFM6!7kz_V7~}l)z?<*+Nw5CdwLOB_l1teXruh-CqI(E_=~?V zrpncmEk(iVa%oo32@O7e+d_bfOd>O7;duaL5|F2~o8HWh<_5=? zAW)`zJK_FXgzz18mDv)gKO$`tMFz^wuYE(N0!L-&cu4wB*GuO~1&_11WI>R2;Pq44mEk9 zMO#?pUZ2hHaOnN&3=>(q*^T~r6ATq;^s%7<86WDiOxdx4K{=PQN6uy(k{LDV6U>8A zB~R%mBrNn1#C`@5K<4MRqxlyU|fdVodj^(|J&y2jHV->k6ixX-q3)esU1 z=NgETCGSKyL^{q~IfqaL3S)Zu08v)X7-P)1xAc}kI>PK903P3OJ(_Xncb({GQ1;|T z=A8agSovV%x^}+yTy))7ACiK=-r`(2apbUE+q<2tG==wc>Xs4V%xI>QXJ_RsLjkCW8ZLiO9B=o;O z8CQUkb=c&S6He)!dr&4ft?!3e3JU4DYbkj#$6j?W!2uY;aGof=q3k%3-d$?pd&0p= z3HU2)NHqP`Gbd&Yh?DW+c`kHNc0`58JMX+J_uPGtJpS0@@?XFBMJqwVvEQ_5laYOp zmB9IhMxS1G`T^;C{Ifs%Gh=9D-VxCYh5LlFRih3S z?~A8MU+AE{0g%RgNwQ$*g81)9B$wTrzFBHL7b|4#P2cJD0+z7D*zx(+ z3+G8T4FDbtsN<^7h3v+~iw@BW*qxh0h?dQeAUYBBOaSGFl^N_IxCh z^;yz46_D2Ha)}&shFT*DK^oBjGDXXlJ!=h- z+OA`4ycszf?UjCqdc@%u=)Rf-A<6H)Tl}=vd=SM$-Mel_hxGLj(oj0E4WnY=bsOsVQRV z`}hOpfB5hr-H-dPbE074!T{r}um)*LcS>NcWkXRE00V1eEzU3p!?ScnU&s4USgz7{C1VY6#%thbDp*XtJ}lp=IcqNLA&I&$tY>((5W8`ul1cgh_o`=nH< zS-}}i@i<&whKwE^92Wad%eduP(|;nPhe6~$fU^+5S?@LFDz?w!8tt8DL%&j~VAk)e7uGo-ga@X7qTn zLP-*PvR%H(Zy5-NoI?@b)7ogd(d!!G1shgP*1tCB8Q7ZdKu=<` z37(LNCqU!%9kF7w1Xb^l*`PO@YzdVM?DN>Qyp#f&5B8qG8-NR&;pmTrok!MHbDdw; zY=eQ3GpEm3+48xw=d6#Eo*%N`*bOHO1o>2#Ws2?lRDYAvp^xcComFOZ0nq#vK1o-A zQ>lIsK@xh=j*Sn?9R9C!}#-{pwe(^piea=INpr86R=Sop(w! z8l7E9=!Q?^!i952$IrcVGm!+qBh}cL{CRx=(+~Pw0pNfI+9kN}H^Sb^dkn0oedn`S zulRXnoLQ^!>ua%so@T9}>mv$eDIKN4haS_9Kk+U(Ch$X527!_J_UYxz7v%i8Q*!bA z+-f1(is-wC#Hn5PE1A$1z?sUm`vXveKA)lB^y~SpZG$yz!B_Q{v9Y|?^@Yl_51Kv( z$a25%Dfm5WWT~qe_}n^wjszoV(sv>#W1YoT>ex3^Cv7KubMVM@AdSUYT3V`r>?3*p zxn=Sg^8{3xQj?nuI4dA~R^gY-U|5cZJ3Ni%%}Qo_r&JDC%(;-Il+Z|))U}t%z>w1* zO0zR_s{p7(PpG-4KAG|jhFwEP>mEc7MrWC1T=E7lA=6P_UZsXB5(CU)#T%p{-Q6Qn zTvR6h$|`Bs^MSa4Y#JLo`OLvw!4b#VBr3-OS_quE!UD%B#+h`;M{Z?#$E_2bL<|*~ zvnl;|MxE)iX$R!|u8nej-&Q$YmM_P8I*kRYx1-g{VjM$RWX=J=2B(|SLgs_Hp9@GK z%V-X~I%e_r4+Ve%CdH2OK*-AQT1rft6$tj}J&iwL*`tj3?YG~x=u#|DgAJ0BM;d4` zJT(2&+)acYClIBL;^(_?6!~tH_jRRqF+!6pP3Zum*!z}9D1T+nmN^AA4yz){5aVNwoKL(hYp3$^XER|tWm-k z`#K`hG}uQdn}uN#KuNa51Dv_SvvL5Mt{FWKqOjK3tmL(qX)eWv`0eUi*U>51d)IXdt< zkTyCZ=Tdgb>8diB?(VdViTig~f?cZXm!RY^O@SVOZ&c6y)Yzz;RbX~r|2-E8$+_|( zIbWDHMPjHWy=iE1!}6Tf45b^K~-6?^mnz&Kv$b| zw>DiJVmzr}0qCfTyrbsO6R3(0Ud?yVlVq7R70T`StOd)YbT7hk%&a^1=zO~3 zW`xhBBn>_8>QefQjRkZOYo<+gJ7aUO2|SB)XU|#&6p+ky8(EqH696l~0=7j0VAu=9 z9M+o(AgC=pubB?JtRj`4l8(U5?BW* zeJsq+wHc3x5AHWYBdg-+jCy=ua)SNEZnvmDh`sLsfldWhv@hi67s%h;_BE?2;Qs91 zwabDMBrx82=Pl!Eh&>2mO-@Z1P$OGx&r#pkshOC%s$Ttq;FDqK9TAosq&>r^K`lNpQ@L^ z(_tAn-5^~j{ZcocE-8(xB`}`qfHagD*&u4kcj@AT;_|+G?~#{YdeJgQ`T6trojIf+ zC6Zh2m#nIwq=lkOnmvmb${q`Q8*XVfE!dqaZM_k79)?t5q$fsgEXYBwn@rL%dKV{hZtv(jfmstwJ4Gj z6u}~ufh#y0jjCW!v|iWyc@&f{PA5*|q=Jv*9c^-apkI!UjLNBSt(@PxMb1#x7^JL` z5{wS(O9SwbeKKVm1H3w5a#ZjG15oU92iQ#8vO=MXvIJf1pr#!6aPXJj}b`>=8xJwI3sgUndcbK)G5 z0rn^{09UsH)YyA?Rn(CnI|i@;tixEweIjZI@aH~ZXfP5^&38@GfDgea5Q%JWZZt>3 zvQap=es9Lc8x^-qf->R-GsAk#U2QFv39)CYiX8_EXNvO$oB^&H^}bOq3MmMN!6I`W z-yJL5FKF4hk9-&RmU3j)%hmVmbL%ZDkntl2<;>Pio`|vp9Yp5LEasqzySuB~)-LBC3)0wgQ);YFHb>-yI$p;{$XpL!{ktn6 z1!+q)FRiq#PkIN3t!y1Rr{8&A@7=k~6ggjzCFhUslQZgYe>`){oPlHyoLShz673G!T(|iTyFuC*1aPk-9eDNJP6gU=(eP0XC4CO$on`nyf)@KSZp??s45q~iE%ozUE z=HVaUbRt=qnX+o-N-H;_fu9mZ29W#xHFDQociC)5z@BRdzyJN)W%H&DR-M2&k<`>w z*|KGu4WflLv`hC0!49a(+ttyc+-M;nV0wfAmhKTN#a4a79<;vB;%q4`%oRrIxHdVN z1HvVSDo5(oX}7ZJ93%Xg?>=*`v3vAZ2$dM^3PK13)K@T<38rAc(!x4BUMK@Yceb}i zWqfQ@ZB&l|Gnb8!??WdOWF$BUsfMjnwGoS1ZwUqFV%058^>vb)m0>{b(1HC|r8!b> zrPg`+x75Rj#+nVgtdTeCPJt#pf%xHW;$PBrqPh|9KVUHIQr`@)2QYT; zFTq9hxNGaVx9n?d0|3FH)6dnvt8Z~5_g&w^Gh?IV#Oes6oG^c=61q3K!~9#g+)T=mLCp6sc8PijU}%I`DJ(8_N*gN!awOa?Da}jMN3f8jxAsU$Ur0hz*J?MHQtF1X zCEQuA5478i69=hTdd`R{Q>yVdfBo0;!yo=ojvh_3h?M&}i~~+Oi`Z3uUJ`DINI?O; zX%XGb@pIGW2Wj11LsD8=rBbfWV5b2!YurrI>0WAKK%+VGp=xtby{`B3BmlHwbs8pB zK^;>kfr$RO+%!3*M*8^lF*%_MVOl}K-<4F($*X{qvUm7u5j%T z%WzGUKk+O>`izP0GS3j_kv_TkvXoxJeIqjq0Rc>vT))jG)X#Uatgv%ARNKLv6p5xE zl<9+eZJ@Om5L-w-UAsmu?ARvLnQ1au<&ey9zO2hYWtnBV7L%E{c;TY1e`jVN_bC>n zvG*Vgp^VoEL{!LNyMK43rKjKKrFrT9#R_1rv46z&$yo&-r*(gy?rN8_WX$#6o>Cbb z>^DZj#T@jtwJO*o=n(t-EMl$qj@~B9mMV3h(^rCX)UInR_O-f}@}iS^-?(?*|Ni%7 z{kk>M6bZ}TJ$vQ0+rB2dcJ7jii79#PvB%~4=bp1??H;RFuaJzMgVOvaUA+&|Kl(;?OtiK8y8VtQtT8R%=_EtWzEN{IX?MW=8-6+X`Sw6bxWL zQPxK$4PVf;C9HL3H;@)w_CHGP`+unG)+hBrzm?yj3-M*xr?K~ndw^enzGVFdOLJ`h zkiEqx=h+$?s;={3X|9xKAGXp)$W&tQ&u1Z=YqJ9JisA#(HC`j5y=5{L%#iU&j&z-@ zzKTV@fPrjO1r9*tCPHoL1;!EyGtZcJ=4BXfwPbfj#XmB)esd|MwqJo-TlLkMFwD<@ zK;U9eO)waQ+L9wEy?CM-QY!=pECevpRL z*0zYRv_e8bvJ$=44+D7xM$Btb+-mWPMtxpoWLTZVzJ58Q;OxSt6>{mlm*m2hkK~Lh zfs->QRSD0SQo^C+ns5ln3|aq<8kwH<7K?D=Ji|IRJkV#oJV=9n1{ozBPu`CKZ%{*C znR8ewsCzD?=gcWTSSV_2G`4D}V;vv&ps5*BpSRQrBDxoQ(Co~2V;op#L{RCS@M7sq zN>riLl_}V$^IyG(DDIBd7AyCuDay3#!q6=Q0EtkeKmj+g&m>;>d?J0^J8H`rI1MoI z`plaZ&Kc*B>>>mXGz&u(;u_Y3g7G3iqQKFBtnPtIea7Wk2kaRyHtP{9>|+8i2rQBq zB+d~QDh!lQK{xBtoLc>kUcH|qr3G^8;6C|y!+K9Jwvc?he!ZOAy;H_>Go-Doz*s9w z^D-^yuvjvN@$oS$xi#Y$bI<00v{~^2X`Q`&QrWRILB9-29(&X=)O~URa8@6bGYUK@ z^CP3gUazV4+rIb8EG0S!+`;JE5OjhpJnIg15^$<%(5H0P*1-+zJ3cEKthDzN)PeDl zwON|JHzANg%=p(;OI=Ns1cL!}_FHA<#BnP(N_6mS-Do(rE+r*Ze*EK~$Y1@{U&${X zc|>YL^~SLHlb`&=0=o2_QE_wIZMVt$@4aiz80`R%D(u_4*FKZaB7;B)B=bQ}pFVpP znDhKu2l3B5piUJ*q`6M2!<^XYM-QY+nL3}`4+0|bff_(Xt*^kcbCmNf=AgW>eXk|+1@7g)fJX~L5F=- z*@VxH=>1@QQ69*Ci6zKtZEKfi75uwxn>Sm_ODthr{K2|suMybbUxtD=H(twDB4iC~ z6{s-~8C$`=rVQ~$Z3X8~<_)&W()4{+ox^_v(g-|yy$5?m;E0Nkh1M+RPQZZ%cSnj-<7~K|D6P1{CCo@_BQDZUt5y| zZ0IjT$Hv|>t`!mxTgU2S5IlCT&HCdzAnYo(d&9GyPmg{U!aif1Ld!t8j5OuQ>HVwa z)Zul~cT)YxSsd~ObK>*?U`$I&N|Ne3L-LD@C9^stM;qEDwW-(BFy3lOZ|jzl-iA5A zYAL0DGD8|iie;du+p;20Jn@9hZzbBCI4z6+0358{X_UAw-4P7?FU_^Ljr| zf|GDuffP)Q=ML?XQ-Ml3srT=g{yq|JkWK1XtY5cQL06r0*tMyGP=Gej8P(0+ZDScy z4(v0-Mkz{(?um74SIh2QJ7w?Q-BMaiHl^AAh9ixmh4aBZLXqHHB$HX;y8&1*<*}w> z4}e%_XSdvU-$Mc$6%OaAlc&_-au}7)oH=KGL=2#%goVMWWb?efCmEqEzzAaWz7Y_h z{EkSr%Q{7LKdEcdwMi6_l0^Vc{Ig+jB#|yY-`LAk8KX>%6>EvtHJ`_Gsnzcxvep<1 zm||x?#YR-;6O=#EIt*T!I?#owJ1lE?vypG^CmA@hFn55C09p` z26ujr-D`Y4K(H?0mq3lauBp*_L~te<`U)Fmy#8>HlP6CaOC63Bju<|`3u@=S_{A^E zqmMqSwx-ttm4Iz1$iMQHugK$%Jt~J(|8-F!uFsil0`}~cmtU4&{_>Y{LBZ=#e~&Ta z4ynGRRJ^k#?9AhgbAn@q3_DSBV`gm#NVBeGN<_I2I98#Gd}9`Lm|L$8aB&}~ZeY&V zDRq(;bI|w2NQK4hS?)Rd33_w@Bzge-=yh$$2)d-35^B9>Y^jlSB%xDpL;#qkW6LP_ zqGzYjbPD%%G56rNMa+Lu`v~Zc&5SZjj`BX%Gnp~=OKjFT_5hT1c6G@cufJ|YBMr5+ zaz@u7dk7u^_cO^}g;Za#rd?u-8@=a_ZOAj*K=6Xk<66kb0mKon_u+?FX}_KaSzGtq zVudUqOwuGA@R_L4;TjX^5;E_vzxJBkamO7dk3ROe0=rt{y5PNu?wfn?cly+ts&b@$ z_rnri_xBRneZMsMj$9Y0u!RDt*0>q8u-Z&~3v4)g3)WUDf$%4=r;FChw@6H1 z>2=gsWlB#+iOl3|moqz7$Vh9UG#@LpVb@Qq}4TlX621u zk{a!ktd4f69Ill5DOGA7K!(6m2tgy)2c|QAJ5Cpv0C^K-ha=U$eHQFwK1P( zsISZF<<}{IOFeWz>iiYfH=_pxBz`m6fv!3*x#~ZC!>C*R7wsGFx*PC27%c&4@GY6g$BS6P^?4tBGgQN6vG16@L}#v1eqWXyu< z_$<$S(i(D@0s(jQj`CUjOgU1l?f{h66e?Izr_B1(^!JfEztk((jW&h_WI~Ys)99}{gZ<_eoIyIH4r3}M&18!MdN0Us)6+-fKN(%Xy$aO@ z7ade!eRB_^^>d$FZ)?PKe{VEA=l2Nb!n1Br@JO(SiUP_u<8?@1x8pFz{w`j44*?=d zJ{^Fz#Ck7IOb4nS=lfV^7Kprs-}iYJNSv@YMjE5f&}AUTuj**;P(4Q5!HI<6ze|0& z&6_vNJ@?#WWx;>^$A7Hru+{k=AzbcokyphFmrO;FVB5$Af_7!jl341Z{7cu;0e9-lXOWg|(Z zre(#-m2&sp&h>x)`#+HT?!Vs#O(*I-a}RXYv8hP~i*43>7}e`&txA_R-#%%pVr;?n zx|H9cYbg_Tua9eHEt4hd?QECUi24)igTYwt=#X;Lp`WL9j-9V9&6H?YnT$koWV-T* z3=it{%=nFp{|l~yKqyV957kL&X|X3TiCAX_psz((Z+=Biz z=BCy5=1KoRw?zWn1x1~HdRm%A4oU4YeIA1!dwlZA$7;A7x=_Gy?7eoyQOs=y41$43 zOxa^{AdR_cwY80smy@T!sMDC`h*o0Y7b>N@6~d;6c`95}Zc#z6YyP|l&K1$2;h|w8 zfap|31s!!=utoyaRkD2fhgQN-wXiZz1Cx+PA$x608z{Iv3Ar!!Qr{l^GqbJ5vGrX z{Xw4|vwyfRIO&T9XEB07XQ(RI0E1MWI+_^Y8@WeU9X~xsKqSDpUY&A>vfpR-#!8?( z-WxAH>Ua&87t4$St;?Hlj9lcCwQJ?<_HA;!pg=wzo0wf$3m-&Wr>Cb>uLZn8+W43O zH0G9_)O$AOK_1fF(=SDB-nxIWLSI^2uYT|3gv|8!8p9-+H1q%^UqN4igzExw?AY|| z6(o1SSV+%9s6rjj#SaEDSniIW;9YQm6Nf zfKUgS8(q5u3~`3&GY3@77qw>29pqO89mDk@dF#zLgH|Wuggiy!7IW^3+pL+Fp9<$tP{@9LKryXJv5E zVfBWsna`v&mdq`|yhJ65@xuAhKSd=4V2t&~UTIK00>B~2L8)IvZ78qB-tig&9bW6n z0vf7+7}G=LkIV9DjFf|_QxrHcP5>gH`403&Ur( z%yeU?s;TrDjWkhMulux+m_wt07l)j3n!1W&%XGVe0;1Y=wRJXc2=W>tS9jliuViLs z+uz;e*z_@LerBEs4hUIJGBJs$-{%uRzsnAJvknCB$8ocA4|QMwYn1b`W|tbAVTib9 zl(l6l)M>?t!2YnnEY07(Io$^7I z2?b@R6x5z6$dHqvYME5f7JE;T_TGM}>hRY4ixr!f);(ZO)ro;Vnd$D7X?2)JhlXq& zkol>pQ1IKL2C_}}Um#l|6{#lCV2%v5*UE{hVYwU^QKqzy66o-3U)p?vGe$-Tz|A_r zfg)o>=8XN2$XRPgA5i|M_X!I9##+C$wlrF%5+=>dm*k7N0fKG$-e&r0~;RG@}~>GqpIm;J#9@5>_(KWxAaoinVCCZ*m_J@u5)=tC5; zR&5~w113;i%bDOR5c21qz&Ue}B;^OX6C0QXx};`nbezc_Z+$wsv_IR2FTd;n^-!Fp?TA;@v+^hqn_+p=Yg zJpR~YRw9fqn38f>zV`KR7}Y#w!W@8{lc#5-u`yx*$Xy5c4wU_e)h^FxD_p(7K7yK` zY`be?tYi_pUZ;Rt^#egYK#Nl{Tw`mJwgfMG#Ls~AnoTLgven=;`e4kZ#q7TqD7`$%*kffn)R$I)>8Gk;~vxnts-f@dw{J&Ct&y7 zpaTDLA9!BqPkc{)2Bg&#x`aZ>0pMS!@SJKZvZT4SNQNf@GS*wBcBxW2kNK_#X+(r! zZYnJ)xeCY%i%X2f5vqM-b1W;DtZH>wBb}bc@Yf+(?cGKqax2On>nAg$x;0nECI_T3 z+#v6~{kElYckkY188xB+O^soxSBD*E80H@rtbP13vmr)}l0UJ6hJ2ty@^bU7$E>q+ zbWtF!vtvj?!LStO=GeR$KFb=%)sg#kD0?Cn)VGsWNL1_m>lBCKr_&T9nG_Tr%Fmo$ zJ^!wj@Eni^Q3%NlTSV+Kl;&+O>T#ExjtRtSQ4ck@)xY+l{3QCjcIFWK=XDdpV zmO2{tmvF6eFZCQTOpt&;>|y;}xe#y^N;lNO9&6)91n>dvzLh#ExZ?SFo>KzB&=??B zfQqs4>pcMomVNtwl@-7I zlBBMERBG~eNN-C(&YqmUx)0IyTuUh6{oHv*JV)+70T)1u4NTR4`FTDaO+=abR+Qt0 z8Ea8rXO$V#6JrV%6Ejg(RaMEVRUe73%xC9EaEHFaLA5m;{7i}B?YG}OE&h2UWCI#&d={*T|GZ?Swx-H}_k08o@drScfGVYne*Ye~fEvG&x@Ue!uv9{@H9=@*oZA=oprx zM>326215$ll$)8DH#%`EgiWP@2Zy-5rD@)4{&fh3l5$MS_P9s!nVWc!c5Gr)N{R|( z)ym~^aPKZTqK?a&)vM*h4?mF9!w2kM1LOv~+AQlv>11|hh8#Y0K*oo4KgE1@LYY-W zlqtaE=gZt@UyM^i68<1fRY{Zdfm+m&y?t7MfM>n&pe=t-7#$D zC|4CrI8foaHf~J%tmKRmN6IR^&L@#LPHTw)NZ1-NvQ9riK=-asL0gt(A_yjstuw>k z*DD?BJg~nO%%?<6|1;t@0Y=$VL7GOe}4ByIbD>aKx5oW zg?w4t<=qGVST?@!FOt3EWjVC!A$jJT{||ZYJO7)cZ+}%vkFJqzuYOnFd*BbGJbkT# zBziv`phnM0qXMY8&qDXKu0wh^14U^@CW9l@P+n+*t>-+aIDs$-CnFN{8)bUEWg~m% z*p)WuH$x>YuB+-Ni1k^yOm+1okmfD$YxdkTSp z*EJ)6G_tC(@B25oS+s;($wEB3CiQ=J#b} zH~~mQNw&2{EgBaNN2Q>t+e#ac*0)M(WB2D0pdo3ky;44;Ajbn>ErkTy3Z$#A&9WH) zFE$<&#Baa#mH{llQC?n-eDAy8HOJX4O=F{yUBd__&Zapur==x6DJ!d4G)U|29+TQ& zqm-1C8bcRRYkFibhHOZ$MR6;I?-Zv^vXY_imCi*{L$v+aV=s zo8;|#|1Xu_m$V&k>pp3b-j*ua_S*Ml@B8=4a8Hw*J2NBorTb;|6Mrpl-}C>IoSm=9 z%(O$M0<&tTI$PGyr1utp4dAZSdk@XFv2p4;jJ^Ny&kW&jjJbfJF;MMSpwMZQ^^gJK z;9*M^I*90x43A1pO;8?u-~sESotZgdq*K z=}TXd*I$24)~s2r7~H3ib;?K)I@LZ6^>s^cn==oRHOn>5iT=k4Ynf~3KEP7xjv^q# z)}%lTeH8z^k!VA$vBtKlBN_jhUc!B|>I3~;bSdOU^y@)RvzP-Xl939%x)!%@*`n(< zC`Z-tUJOX{680nafsClv^|H4qhh(36z5m~2aWc@^BI857GC49JBYmCH)fBSd(^ELW zjK1MPIiWTi;lHOxhp+zZ3Nzb=RW}Uu%mry39UUs|GCDe9!Fu!?$G||Jy#M~Y)*p_I zCZMus&mQ^7kAH0CkhQ^p?Oy^12Gm-eLI3!Kl)91y!tN7zLw5s8(A|)`kWDka5qF)g znBA)=w2YG5n>FX}`aAXoBr&xL%eqvnx)bm$C=29P&OJ4cpqVB6f{(XC_)RB_NyzETt zyP%gX{_}YjMvq%YKT5ilxZ&^+Nkh?~P`wllrBAR&da;&a6quEEbyi=@arW$a1^qpy zB)N7<y{~ZXCf1VrXh7$(pL3sco7K)t53*TWZRBC__OX<7H)Z_IxA^<&xsiUaL z(nW$5Hd~G$1=k8&T zvuQ?3p95f$06{!6oMYG>s&1T9UeB|kr;TR^*k@f)2E+d6dlMN&>sKqumoxkK$R{`0 zuO?f!ilnEDM58pK&91y_N3%L5?RvftL&RPOAnkN%o}5eBEhht&R(eRkTI_2&6r`1R zI1G(mdVevJ9(Bk=CWZ!OMjhr8x<(rPIr8Dde=g5{>wl4#{`LPO2iGl=&S*rsn<{1X zlYb*?pZS^$cGk<8lQUA0zFuDY$?xiG|7UsYp8qUuHHC8V>=_Hl4XTq?Ra#&fXQN}+ zHAa>cz-D_V!Tm>Qm}k~nL;)-JiHr^rddl_YqrCPywr$%c+qZ3(it-8rX3G?W0X~i# zIch)eQvKu}fUrC7yi=Xa_l%90b@l#x@5yR?rbPw$YDYR`RGnCy)xqvIV>#?@4%vQU zFEit3zUxA`2LLqIC6Ru9*Q|S#J{tO`W1qDv%tvfi9bI2hblvA6e5Xa8b&sGs+0XQX zQRYv!3KE2HLqxB8E}7Rt2TnK6b7^t05rYltzRS(dHjox=Zj`~EcF*%kMrxS>r|0KY zSwioQWzuxddcF7GBzYOqb&8EHD$JMkBdIc}V2d@2UGG<0PER>AZXy55NINP6s*@N< zpPQ8-d-v?RD%-Yhk+PCv%XHB~;yx?(NNZcGw05*wu-@I9hYlT-XP$ma)~#7>f!s%a z`Ad2F>8DjSZnfSuf-M&=UbOve)lSjYtAujcW%d*H7X1MWGu0nXP;~xYE%qXS2EbC5 zvERU2d^U-n{pCec?N?o-`h~Jfe1(rczE+j9l*cEZek|wCpRu4@w6#f^BJ~1E3d7Xr zy%znu5u>ObH*l(Y5&IX*21|wyC?Ktop_zIaJQYq1 z(qe_afa1|z7+!vDC@d8hvb+c02Ss>lLtrksr>d7Z0CFO{MF(-md zG=jNj_uhMtIqNXvxCa{(=Ncxht{58DcmWt!Rn0{6mUYjh~P4UorNQ>?IO8}ymL+{LxTe;?;= zy=fLz%(qM@jxbUW2%TN8$r`T#f0<0>WXQQ)JG_BdGO}xzNM4@PuXg#G17I04b$H{i z!!l_t5jmqkai*HNh=ntnz|KWlV+!q^=Lq9G~R_qM$F z{r|VDdhD;{?R$SuRy}c>>|6eG+5h3a^2#0mUy}nX9+32n>TtdKJq2`sD(j#9x;*#2 z|6MXRJR{?Mt)}~FkgqH&G|*tdhy}9M>=B4S!gVzgReeHsbYytg8tUCDjD-%y96*=9 zY11YnG=Lc7!w)}{H{N)|synh3VEp-?|GClVcXf5kJMX+}bId4j;+zj2JYb|lufF<< z7=8cvxMe;46+UTc2uOEpM7k8PdYwNGWOcz2bCP0%An`)>%!ztC!*$VxydGUcA0VVF zvCkVB8c@HZy+r|D%wX%;_qo!j-_LhL_`<$tuTv82enx|Wv_aK-ivhUYcWftRp?h}k zlKh-(*|cGUY*@cu3i6@#ZZl^;aT#4=F(Y{)Xwry6!_}+W(S=l3*E6PKu-~Yk)Zx`mYKs!n)8WhiARs8+^eO5-w z3<@GCUiTRV5UL9)NK@ymzC}7ahdseqBI#%!u(@gFzH&P!Shs@eu;CCcrGuQT5W#2T zq2xZBY+9e=2qpl*uHaA`fK{hCHgm-$p){hGxi|{e+QUw5I$~vWdJkLlTDsM7>Fa3G z_o}0%zbDE(G1O-=I?yeHol)s&uD8!73k3jj82i*oCv&FH#8ss6_bgtnZd_Gj{;~oy z^06h4$sA1(Q!;i@t@ zaWq9PZrkDw#1;~_UrqI)j5y_hl;Pt1Qcb|v3-=muR?txx_UMOpTp|5cv-_WvSJ|MUN3 z^6WSNXUm?gefq0Xc67CbN)O2T=l@AoKl!)P8qBq8q~tNAPT)dK@I;3p@M%^3L%;;G z0R~T>Idj$mD)SvUdjKo|;f3?(jb?u5jvWTX=q&@NZQs6K!Pwhs1IjFePWd9l7ce~@ zKAa-=-g~dCQ|C1!Bg4Sld+)w0X=z7i$%WdbyRFH3YjJ=mcTS|E2qJ{a={HNafQi>@ zT;X#nat@h3aI=c&L|An@)d_Z=HP7B%AMMc=)zOXv2OvaOL85{K7c4Kf09prYSMQ(K zK8{43{;$P2q`Wq&dJ@}ysujzve4SEJ1FhD(1`nY2(W+JQ@Gl;g z?|%2YvVPqfGuSxBp-{*gk6(V_c_}U`)Zb6r^m?2XultPfH=?7tIYrXk#DMEXX49%8 zQdUx7P7%O}+I-vi>O6Zbid!u>>GpZ`ZG+4jFl(aztI!hL@%`6*vFAeZS|FS!kV=^a!DZERG0N7otfDo$Bp z_qV&fMYg~BBYEbV|Ie!c&6Q=}{&$kO^*N)DzHt7Glx1v@cOU#C36<=#J;sc(cGc|+ zjc1gHd!PAlN|lLfL!;lQ`xgdf0!62eUt@`!@8CO6sgp&2X&_Lej^=*pRA-NSN#6?~ z?Woo zW~?bna$5r4>xy;Uq-(q^>!3M^UaxTl8^E4r4c8O>F|7Y(%pd&kvJYTS8 z$MufsH}hWan|<%?^qzTVx_5ftn4UHo&8SiS37La-K=Dpt+5&tm%Fo34d zo^?UVK3R-VQ$TfYyj+rf4?TWqQNE-c+;8*lcx~c3Nt8$!r@C9toW8XDcDaL|p?O_{ z=#z2gL=6u}k*>|6ylk@tV}re}-)}X-+&FASL~VxK^GW5d0j zGCevhp33q#NYiK7r9g}77>2MPK6pUdBVlP$-z?S=l)jFr>b#JFyq;*Y&G<__bU@0B z3rz2_f9d@t_=b*f{0ai?*waxxe^o`9+^67-u@n$-y!+k-3%tOR{@{ZT$RiIuXg#Kh z2jzw~D@{S1bI#6)`hGR>>X2kR!M_0@1bzJ#xmIdydVgW>ah;SC2K2qY%3^6$;7B>; zTFGTEn`(Y&^ z^JsHlOBDnvsG$#!;7`y?AXfE@+D+&4K5i0!&ib8HW-@lI9;6|yJ^fPHKIjUJt~H_T zv9ezm>_;%*x}i_c8S`5GI`;*pzXu<9K(=n#BCV~h7LCJr5HHudaUGCu5HVhp(d9h)oN!L!-{-J_ zkybVG{GP$q^sKDqc<;UU)u9^`e?z@pH-nsESR@lg$%N~5tXA}TQOMNMSLGbGKB;xf zoGl3FYpyLec0!&*NC6Lu-!f{RQUhYnb9ED(uH?S1k4j<+b^xmM2vCOQtV6PF^yMY@ z3#=sU*A{i$AP}L?BKfoIyrCuofZPkWb1Wx)ZR%jCBML2hb$PMmXJ@Ljq4$-Zh5l}v z6*a6*%1o_C=GC$JVDlz-Fm^fFwM#z8$dI1gJjqEpYUSMYXCO^YEwX#p9wXwRANS0e zb2f`IkwB!U-LKzmvy^3DFC~Zmqm=FZ7Ykr)ZBn-5pGwJreCJpA=b02)Fz?Z}(A$<)}OoSL7MjBO9dvp4>}1WFIu9y@>T zoDFnt^3__#$L=!*R~?q7hFY85MQM8+HE5}m{N0UKIfU2Fi2QqReeA<0&7`N~T# z$(DCEOKoMTy{|*}6y=PJJ$dHor{uY3o;G5L4k(yo%n|_tGRmBf;2=ZT$@;>Q>^w940H69A z^C#vFtk83I;R0E*ZUbh2@+W^Rcm47X)os3o)wT2>kWU*zN8810FnfgH1(frP-%0fd z>xcbVm3PzvzRAH}fHtl$%SF+nW#Xphn3bd|98Yi+O&|he?&q(nS zsjw0h-EcwOa8Ez|wEWp;{!DJa{Wi(W%rL-3)P#l20o^g>k`B9%oA4g!)XU1sjA7Fa zj4dZ*-u(Wsl$2D&`;b(T;KW*)*BTwU^$>syn~{vmQdGBy3ari!7=H)iHuH zYin7a?${Bc$PM~lYeKDNPDP{jh9oLtuD83rO#xl2fx+amO={qoc|>Lh5W!EB5Q^PW z{Wvdr54aEfbh}3gucK6rGC`OgQ96_%M*XV%IM2d+0cj{Bs6K-XGNWK)x^2ODgy z*9dUG8iqv-34KeQ!E4eV^u|5it?~K8+xl#&PQTjv^?Vjr2`7Fo?$XF#llS^bB z*WBfVHA#6QWmuGLEJjJy7{PW*Z^~MNB^W#U6x!5Dbt@UBm#A4m_e##Ro8X)?yf;U6 zR9Q)}_&inWxEz+_M^cO)eUz+$0=6TE56QvTUX#|{yX5TteeOVP74rV>-7>a!uXywv zCue76etJrdD{v@0c1&^(AC!ak`)N5jKO@EL4bqjlLHcty$WXxs87bT#!}@a|Z-aDaZII~k4bpgUgLrl(fVFM^NGkXJ zt^~5aA*H*nlgGdJFXf3J{A+ppfxnWMZ~Y^A^gI8nD@gnGSO1AT{{8<$Ucd9xvgM&K z%j4JmAM)~TerZV_a84u}md2(=$T51&2H?mgIzP)D*a~Ksy}!_V zO6L6FfdlgOum7#?<5>l32j!#w~oKl;&+06L~yfmvT?Oonj5)5QgOmi=bdAN^-!PE%4Si3~|!d#jxf z9UQ7DH?px#O3xRb7i%vZX)}%j{6NOtFx>rfpZl!bcI&NDQdnTw;pKWv0d+&e!&VOI z1b(d=!@n?sLiZhehu|>*U#ION(Z*6b&5Xu?zs_s{Jz=Y5f=xUi7b+_)wM@JtToWxj z_@mibSyo!TYv)cmb|iI?463eL{mOb6lrPm0tYJn7Sc$*xC$fOt!=M5X#sT$oQSo$T z!PB0BHVOAuna@>Qb4)yysZv>RNGh@qTV;^rBYZ4HpF3-=tEqNvAdLqV>*BeEv|g@ zT5wi~Fmo+rfXLAKDUsA`BI9)Fy{R!UMwSI<9OVoc;XGDfo%DLj>0k+6E4?&KRMfu{ z9N>F$@0x4k^G4PpIBbysEQNVCYtFBZmqm#6{x9dutyNf~0Nq4}$v7+Ir5QRaE38!D zqYm79tgUqs7snC6<`9{dFf12V?9A*^KT;vjL`& z{vKVE)$;1gFIgEIAdf&>;$CnB=P#nVu1oL9T8d1!E8VJpNBdNE?r*s{H8fHZzWN>a^$ z>qd2~UBK9K!ko2GuuXDu3N3p=*#`=U&4EL`-sNbQ6LU88b182j!?4=ShV>~7538aW zwGt@68RcX!Mq=<|5KHx{y}uw@8Txf zStkYn_52tr(*8sf-CmD4QTmm7)2cfcsUh*l;{^j#f0G6~ByR6|qD zI^)^6ozGQtUG=IXGBGk}!?=Tue#y(uv~n{_SK4)7g?tJKI@%;P<**z(k|Go8@C*h6 z(yTykSOM1iR|wWVeEV%Vv3;A=ZhTA1_V1IdltZ#zb!SaMo=gk{rKS9C@$CQI#q5`N zcN}C*mc@bB2MWRfWUCbb+_}0qul0a7mVmSc;*jCKZYeIzm(;@tjk&qbQ>kET zn|M9d(o0{ON=;RzY<+u^l|MorwrGP@czyt97+J}@B|fvL>d&t34&A>oBMPBcw122y zUVQ0A`P$dMWg=n`~*W&6}F+x7DIf;0na^kfs%rbK@&{#IXqk93W+O6REh zK7g|+JUp@$Rtqae50|Q2ji;Aq_xFA1Y z{0$A3<#D@Fj*!wVYm3tvy8)wXO^TSEHu4e7PE(-fZ>f;cu^}^zHMO-eHaTI9qZ{9R zO@8r7$G2 zy6NriHK#D~fP$N-J%XZ5jH(gIhe3{h$Zj7POb8@8TN_=Up(7| z`h8eP4ScS!XX0hQJ~QatkL2?%C-h*9sxwiij&EL0mh9TGU5+13wQB@?_qH|}h)X+u z%t~AUX|SF))qADr@F8i>%#_n9De}RlE9+M~y>X+AsUsCoqknYwE;+E{8EGxQU8?u~ zD+5rJHHK0)$Y`O0EU!BNTdQ2~DcCFBAdzDmq-Iwfs1e)oIoNS&0y-X0m(XEZZ0 zE|cn1jSci#fbjL#UNh!loKS!cK{_(JfeHmyE0FuNHTjG*f&SH%>;(h>>|269Zhv=# zwMnTK{XO(+vTl>tGCg~>H6A&ZnxgBhb`hlU{-N$Rqe_46l~?4%^rYz{bntR}KCJ!? zrD$szSwe5&u->zVnyMu|HdiZrcY-MNJ-S`1BYYRgz5ue!m~%VVC$h2(cC|@BZGU!V zhD@sd>QehQsOzXj!4*IaQk{al9Mfs-tsyI&g-EPc0b6-Vk(IbYHj;c^o+01~AEb-c z4dxmISJAEU2#bky(oD8Hi^9g@Z#Qa`rr#v$d5qu5=Jsf)N(|0?`xtC0-FQ zWW%JZ_21Q%<+5kjPVuNNp=30w*F_Z&wg>-);5ijriaS)+8&|B~=4;5|~(L z5|K$=m_2#YJrFZWbb1Ylgx-GJt@6b$eo_AX&ps=!zy6x+*|W=NS<^EzmeeLwh5`eX z6Fo`3$IkyZsIsXjtB}TkI_xfBY&jvD7L9aCdU~!jH#V69VaR8|Q@U8fvR+QMBPcO8 z3JxevJhbO=hf|F>86yQWt8t>^0BzW2`()`FEy&H3MsJmYA!%mY>!&RHG5$w zB@Sg(S+Vue?A^Un_V3+eL5T6OaRq+MGl5;HFz6Dc%^WqdKvtfo#uYFO#XGM-fm4#x zX27ggntV0l^QvP6_=I%|Fs9%#8fun?x>}?0Mh5iz;Bb+B;op8=TxzRzE$F`?Ejf8| zX>%|R4$7V(v^e(ML!w|r$ylHCxe&1<7}FH+8x?UM_c0c)y0=qEzwCH(i0)YUF~xf9SyLQn=~!QnlxI3^)OxI?^}DiRyUyq8s44 zQXvyZsbpVHyo8d^E8ZLjYKa*&${%05<5Lp$6ZH^@DhQ?_s4J`3dCcH3?8lOO-soHh37b>I7*I+W?w7XpJ?VL^fXtAF*cjHPaJ za?)7sd2lol6RkPdornCvJCCo907L!Yj+URbAqG?*Nh z>t6+U;fSFJSECzn;s{{5Wx>#4-r8FIj;T`btzHqN(OZX3?N%L@d>({K6?Eb0Q>$lq z1kh1RUR|yZrGnJtYrhiVp5SN`9HlSS?OL&m^h2YQ8T1Y4rHtS0e4oh5VwE+WZPq`A z&LWe>?+3eMW>+Jv3|MY9T7KrI+3$62_2_#B`+JQfCNYbaD6yd5{279-R)Mqd{8(%F zb7Za|mAm=oAM5_!ZhfGXJW}cyiG<~Qx~Gea3gv{p#yJS=u;#GcoCkjp`%b@m9i^|n zY8!MP*0sUBwX;b9*!4OF1_spM%CvwE0V8j{u3PmPdvyDrF#h|25~3%)dZ)rNVfhRI*_F9B}!jZ=A)xaOA=GH1O5ozgWDme{0ETBZx# zeeebGg^x=^ZMFq^@dcV{OQgCaMSadJ^BI$$;m1ifJo?BZvTyHRTU;~-zVQ5WvVGfD z*Bh58IQ(TX`o7$O(X}Rd9Z~TNd0Zdx)kZVcw?v?GKa+bn+Vcy_PuJDii%1Ve65X+zq4~hD#|IDtTe^M`EcG_ zo9fL`#G!Lr7*`}}h>Xcm4RBRXid1B&1E*4%eb^etspVd61Z8Y=)Uto?y#2Op-uRa6 zSHR_0kY-f5`dO5|OpOgodfIU{*e@A-Cie-4lE!@oR8EhNSdY!_T|2GB55Tfg+2fT6 zN}8+#QE3zsP4@hI@$VR31#(Tb6{hs5;Z8Yx*dl8+p6Ym?1q@=f9@)2Nx4il08?sv! zJJRH@x1J%7It#nDZ?l1_$g|HpEjzYtQNUJf8N$S)w6s*7f9^R+)z3&hv|nC%@p;M6 zd&Kvq=Df0^LSB6F1$7GdTHSm`+A$lZ3s6jco;Y4aa;tJur8@8ELKblSqEg&1%BgS^ zaRQ0PT`AL~;{^F2*l48`^wMW_tq2A<)ToZCM;%NnW2v+6&Dwz(b0xa{l>{(P!}&_H ztpMKKD@s%7gQQ=8h$pY7M2KF;yqp}PI5&nzb#5*JX(7K1L|d%+9tJU-g@MjaIj(E> zJzamI4v8BOTS?Aud|GqunGg0UzqY@xaM6mR4j*z9sR#5WD9&>vQ!f<{{8LgMgpi55GWj|!a}tY4K4R1y4U zTN3`R3G*MJ-_= zrO3$Gh-HTFz56ct$xm;V|L`CFgWCIA`9Sw~GSIRC*R5fzX6x-dW2 z*T@RH)`ROIAOz6Fmjw$DI36GAm(iha86E7hpDBkAn(sx$QeT?_OVuBBrE0&82S9;a zxY_n4J!q_ddd91Aj~c6V;<|Si1<9i^iB8o>XnJ+Te}T~qsr4SUAQ8`q(rU`N@k7yv zTto76{J6*lGCWShB9yh8Hf^+qWcQo5R2n<`q~K$cO-qmTN?}*4)Qyz8KIE&B`Yzq9 z12EOJt6@1}uPMDefAl3te=tl@4w#|zMO*%0cc~MnUmsn?rkDS#9^X2^G{B7vcf;ip4A?J`1% zkN(8TtSl{-gX%OAg!m{x8bWpwc1g;^$QClo2Ua{9;{%>Di!j52*cELxit~MYcgvyu zdrfgWAdTUh$JG&Lb_>pLe|M)0bVQ}Qg_`dg3Hm%XlZ_s`{d;yvcKUI9hLP6T!fJ{i zfV4fkcN<9vLYd`})FVc0)1_++b|#|q&Ytg62aht#MDRs+2XF?734|3m^OUQu$2v(A zGDk$zVbzS^!$Mm(I5uvtznq|mae@dyIJEcIs!(pq_qEbddVa`&h15ytXj|N)Ztq)3 z*f%ia)fS|g(M-NKIM_JkFmbX^Tk6#T*5@B?30VeuW>TGFZ;b^Jay?SI zQJJ5cw{=uhkZ1i<=clGb^xCDUNMy(AhGD<|*2^-w`TJ70<$qbspuyO9cAd%_FDDLA zb24fLZ~Z;lao<0XN51)6R_^%N_x^Y3XsVERFPvZ4Wve>?X-_=$v^4Aejp}oud=Y?l z=+GhSv1Lzw{p(+s%F2qx;q-k21F~huPWjOfe`w{5%wPJ^4cE(m{q(2hy6dj9!P9+x z>M+ss($i&>@H``@Tp6Gb_(5kl&mN$LxUo1=E*LLeUOr<(_Kd0vBIRx+x(J{P-3RDf z4a+F&k=c(S)r$~1B(7sX8stUB8z;Ya``dEAPY^&_oCqz>DxBCSOi+OK4Ax%SvEy=& z`q$+Z6>{>_NhAItz>=F+D08!O=8q%?S@92J`hLIqHU#fmfiR1_CT`thSuQ(a-dXT38v zg8qC0CRTpm++e|7h=RPuS!(NYtW0#dQ8Gwhf0sljt0Xj~zQ7cfZ`qgl+paRH=WmT? z)13Z2Y#ns`4OQ7z0_pZFKMt~iz9~v50B9(wC!c&$UVPyN*Bh8D3>d9$?~~&$py*l? zt}!dtDdl|u_lJBH(m0ka&0W>f(HT`IxkUc*OMhjJ-2k=MUVBac=5PK+ZoTzZ8z!3E zNRA<<{3YHebWwRHf;5DU@AcN{vnrL&&S6(DwvyD;1jJKSW3;Jues!#(up_FI47hMx z9G4S}H&Iq6k}1MyM_PhbM?N;#D@FOal5+5X9N4!{3i1oBya)y4_PJLpHlvMx zApNdnF>tyuxZGRn$;p;rbo+IEK*B&I_*lxpiy%#%VVp5aBFOwP>jXp4qu&K*o1PKw z1z;}JSTE_vQl+}Q)Xvq^*d(V?f;5I#695PV{F0TCF0JY)GFvS*<&b1& zXBkMN1aw%zFbd7eYE;o0MXow+WVLYMAg{3K`IR^-D+r*FGAk6f-%}dzmuyhOR~u)r za(mBegv=bJLe`k<@~o~EVXf0&fa4ZcP-){G)==8GoKSvC)*5C|o+}v=_7ZE75e9%l zBKkPxWTgoPQoMYHXm#N{6P#Mx;c4cTD#s z6&PM!%Q)B0I+U3i5jFOrf0N7ftDV?*uLR%ucLtE?L2FA}dj<_MkT>qzAiw_6208LV zoQmJ=b;}7rjnYS_M=k%Ye=3{r`W<=b8~;+Cz3KO)FYJ{M-g74bA^Sx&3K_A)ZzwJO3pDnGA4WW9*`gW;0I_x-BVqq4qow^s!gmkyoTZOdQa4Wr~DdSM8J;ga~SQ||CH7R)ke~%Lpd0B zVx>&wCvt5Fwi)1#-{e!D$0~#tbTE7j1zaaj#LFIWYKWe|)RWkomJHI^{E&e|}z`96oed($msaiN^cf)+>|7^^)} zXQj-6I$M7{Po5?J&(9_@7q%wjtXsWp0I@dl>HexHEw+YvGP;pqqh+z_m*k!f_jc$y zX_D6F#`r9umVkk^dT))bp$2t4aEdQE)Y(<*FN!kcgOn6kfOcWyv(o$aUrY7Y_zW~= znn9WG2BcOJvS45O)CT!~{>}!u>-%w15VzN@B=o59KCYu;`#+Yd1D}@4Q~KKtF86Q z;lru&*rSij+nYC8j|y2c24s&74Os9AJ zXA6w3x{h$X0D|N@-J%MGF zvg1flpOMmMc9_3*J?#g`LLWh3quD1Bt4CwURMw=u&u6t>5IM#zCca!QT0Q!KN^4LHy|6n_r2@o#vAXKXP$Xp9#A85^UXJ} z38c04^oi$Vl1)Q0Vx3aa*C2t(^(7Gr4ChE>z$@KqL~)MaQU`=4Od@xK1N~~KeMVwI zQ}~|UJN4dOoZW(9Ad21|Q-^KAu}lVO2n>g?u$7in8R&8YV=IZbHXxPdl~&&5oYRa& zO_@2)i3_7E+-PJLluywc#o)m%m9QFe*uF6AL}2+z=8UWw4Vy#*0ewx(MDvuI(I(TB z_&wZ&OdB)D>PU&#lv?JAYv^rjT>{c3hWjO?%4GAVw=A;n^;Fq?-MM|Ml{Ql9I5RbA zr39R}sLg}w%n+aq0lG$RIk@hHf=eD(BB@G zR&{6$r0KQCg8beecdWhD_FbU{hCK-|MehTo{XME6qpB$V21vU* zyDSRqfV8TrN|VBZLdnU_HbNT?>dm2B$FVtZV84~*hV>Z{4X-Q8lmKOST>D4lFrdtF zAR+l+?Io@a%KUI{0RLChkAWeedenI-vWtrQRbog=rQr0DL>_qsjM) z3`KXe#Y)HkV#8{v0Ri+U8W31`ovl4xg9J?Yf7UDgO#n8iqS;rA88o*;osM^P-$+G; z$iAh+uxB>iF8(e5+JF%>`wXGJ5|WVh0BMkk!20OW^Vc2zKV>Agec?+if8g-Yb9~3` zx64ycJ!!z|!i9Hb&z?Qjds?OT0LKefxf`y(UUGAD%`y8x_5RrCusUrI%99El=remk zZSNbezorg;ll7wpb^kLTug&ztsQ6R9yYbb%|y>91p1aJe96*|c|2Z0MR%;?d@*VWfZtG~vwcujTH z7NBF^6(wZRrY4zEyLnDQ;`x$XIbE0~GlK&%Lz$z3HD=a5@xt3AK*K3(D+E@VoR8KKytf;V1?)v2~ z<)=Ts*+_!=2l}p>Hh--LJP2g;`qf^*AR5p;49QtPJOz>?oNk`vo%KrQiiWZ!~QdE#lykdjKL6_t;~PtqG(d!LB~Zj`q8PqH9garsXNv@r{v9yGZ4^9^&sS zkk+;)-3Vu`)Qsq9r#hjO;?a-xng8|~qfdV1;fKXnS0`uA#GA#bGd_Ffqz&V3i>k5e z?R5odL~1Bg%gW4_rlzQLb&a}$vE?M(+9kDBwNhQdAi=m{#h4Hc#Xu(-A~I5xJmq9( z390RZf;=0rh@qzE#aQH$fCy1~BC-wiX9X2tCDdxKRvK$6ECPe^asz2&gM9{Ew!Hn8 z)k|;NvPoWe{#on!gFFN#Gs^nN91RT)OH-gp!A^!{)hIu>GLY75_lbsBhMdB31{h;D zNW2H5(C%HbA$OC$wiZ>2J~?vufYemQsrs#~P|ryN?l5yt^gGfloSAl1e4YyH4WciD z63(M3hfGoSwMSG@daYCq!jY=7Qkhn83P?L};DD_w4n{rf-MdeU6^tbxfH=zB%8TMr z_ZHaJR`DIKR#-c*Rk?w8fE8s^I6rRhU5((V64hp11FDlhhRGk??YP; zkcLq9Na-X4uPb-_BZ-vVAm>i@FMNyT4}x*D4SeNqzM^_*i;Y)dA3po+b5dMXY+1Oo zr%%c^zwr$lb~`ySVZiqM`ExQeJz-Sg1ZIdRJLNI7H}U2q$>{fGL7#s{sJK zhH^(L020>=zeg`nAwh2ydY|*cY6m!XTZ;&pB1)P9RVx#cAn18Y9-Dlg#Y}`%jVRb5 z3eNXxZ}Le+Nue~TZ6K2du><8}bCcupzJlF%M+W7bI?3nq(&WOvx8-!sF`4e~vwI9# zQXtSM4?OUoeBldUFx#7%emu_XH!@-~>5>oDDuD+;8bA~$6lV{;0)sF2xmooS&ZaTS zqBkiIUPjkYC19jJl*H>j!I_P?1Wi7XkB20JH1-JPidpcgt}$pFSmGY_a7G_oRk*D0rWvpMWxdiVftevbmV+AL{~ z7D{Upo&MS-+ujekNOY!5Vlx%eI$0|I_8h4#K5qM!&u70?=c_&}%QR4(cx@jC+3>Az z-78=H>ZH8->Pe~h4I7)@T0xqVO>+Z9*P(&6yBQCF z!FAuePX6pOe*@t*zac z0I|!7udZ3ItH9Fnj!_IZ2jWpc-9*m9psWyD`z>#8vbtolI;8d~M_Z1)i_Jjxj5%n@ z*KNvc;qz7!Sj>p50@NIkR##JH#06IFsDOp2Khb_Ndw{n5+#CZdII7G9D#*>2I&ZBs z_yP)Qj#!qB8u2S34&feIbXWl@Lx=%o007DuxnK055jk?ZA4^1)ISRc;m0hELABI6P zP!skrG8mL-Lf$YoJYfG{kej9VKh4SwAZy^BKL7l4QdeDJJq!>{P+mZ(Bu&02=1*F~ zJ0NYpo|{NLf&n0+PsAAmz`At)M!#A{My8Y%msnw#>R+k29Q_n4ElU<1%qk%k)amytb7 zHN6+Et5(OYSeg`+5OH@~iwHWiLxDRpF##i-EBW&hh0mmdg3%O?O`=kP5^}P95e0Ci zg#~t>PR>kI4nUv4!X4Fr4)n>{XscWp8jyF-o{{OPsYPAi+ubRn!-JN|1Vp{8_y4n> z{jB`?pZ~c6wufxI4Qms9=s3uUAg!}4VwDoiZwz|M>^jL(2Wl0VMVFQ`ULyK8Dr6`z z_o`D%xhUV~a`)pCxwa({q&b4UqI5qw@Q95iI9ym*DEHlaj|E==W@d}ue_sZ4&F>KylitB0sjKsfzplpSt+C&03ge*a5*?%erdPEh>#$W=v0edQ z{6Diu%k}pS6}hG_7|X-Cmg6-r-Beeu>p#PSMhz_m;vZifW8?AyILo%oS#-Kgy61h; zf3isiPBxpgk9ef6K22cYV7DyW)jBqxr0in*A)GMIKNXG>$fgq!>ZScZDLq?U07`FT>HQe9nTfE418 zH32jXtlk&W`ZU86)y2R9&iLFo=<->F8RwV?tJ^&>(bvXV^%QjJ&jwGq98FCXe{Hq& zDEONk>NheG1_^K5x<$6W^R{f=@{SGS9#R0uFl(r&Uw!oz2?gr(bK~VUJO}!N!utKY zbxlDa!XRAOM4{J*K6i_rr$`+fD0Nv=%s0V#WPZ!rZ*SIhlyC3F8DVzbZ=!J>h0pUP zV`fZ-OYVKI^)MQhcS0!;b8p56du3*PWQk1Zy&LF=T=E&lzC{_5w<78MfA@qvLwOj% zf)&@{I!c%!$8}ZWtt^qo2A_<%^`s>nOF)_)A6_^sBlT~IXUA_F7-C>GJz=h(seFS3 z_3!knEhl@Q+#sL&zt#t&ovYg*9T{skT54L@~?h>qOywln4XBNF*8n*b?x%u0=-xCsx9(dh>E~ ziui2wBQwdIGC=}QQPp$k+;K|SV+znBAvs%`FXuB3%lW2;g*&Ps?d&-jQztYU3R)>V z)e?@br}6}QOU4Z6m{KpwQ40!+pdJF7@7)YIG!nrq zBcRfM%=PFi~_1O{XCAygmI zM_ZkjYJTG-p!6D-4bb}jOyato3QC20I9C3lVGsJ6^tz>U0oy6)D)4NoNO~fR-&QjqgEc$4jcnYrRYtf4}zh| zx!GC9?9M&Th0?5S4dU4u2Wl;a|6R_W=vlb(l@Ea0?98+gM}6&UUzflA+rO3FyZ2Z* zs8ec96F&X7uxG{?mYnS1=$hv_64XiFkBP4#;6pzQ{a<9#aIBnj0o2%IfVVg}SlKbb zQRDTMIVm=`5a)~j5i9f4b0xl({Y}YZGIf5UV51+}ykcM5#Q0P~@p6pES}Jj3?nU(VhT#NSvXWK#sqrKpKMz&bqS|oaIQ<6_WK)(%3q! zz7ybV9&qN9$%bq>new)r+WUq~RUea~37?Gg*T{55s>~Gam+s+OX{gJRpigy=>P4=- zt}Ih(N{^_nS>JiDAGH{}BLl5jEX-iJ{r20h2&DD)#g!!q#^OBXt8eaQlnx;aj|JBKVw5v<9|6ie*O+^KT#Z-J?ROsC{Rn2 zWz{JCBctXpm{BJUp@BuARY?GbXu2O77&L|@*wNfR$4y{sq?f54CqW;AoEyq^)^bpafinWrV0}gWI{8k3V@geF91aEQrJ=UkKoT=j$Z9S5d{x#s zB3v)um#CYS-s$g_yiSFCWMlz)PspS(Hz@fT&|?MYK>0@kdjIwOWK8R8J@Wc1FBt<> zd1fX&ZqvUo!)*{?<#!3Lp=r3hoIHf$$ z#S;u*#uNc4f=ib>l0n+3>5#M*eak?QPXQL7$PF;9R@M`wAuvpmq2u}j>7SD6!J>sL zU)@1Z+NO=0tXGy&W5!)XTjTWc1G>lAL+r6-@4c>F08`=~VqX&YL7&(@TL}InmZ>KS z?}d&ZhiNryf?0^@RL;-mEC(#;J*Foswu&(ql!-SfSTVL<{a%UZ;ruvtTqmDLzzZh1 zsflr!?eCS7o-#SN=WRK=f2*7ap!uq0Qa^K`H7J9+=jq`Fn8Aqau#7tP%#n$S33FC= z?AR&$_U$w3{bR?DNp^O&_375@d(eS39*@12gRC1M(*bFT=W`QY+ogM>v7z29RvIpSDeXKCiU)l#8!2+w=ImoDo)lzHr)D)TdlE~lCY{uk393t zbMo>lFUx>F>_kPh8ljx3s-s&nqaP2DhU9fb#WUntvN*0*0BYXWA{id-vyH<>WTw|+ zk3J$l`{_>4~f)54c`(ul4sBma@_cX$iGo0?K-O zC)81xlF`vwH9nA-oRpcFQ}%OobVl0S`;2V}>VKj=oR8j;x>5z17+%vT~G9@^6O(0ua|3i+lDpnOn5$>+VC;EX~EO>{c3+-@Zy5{1JAu;sf$Q*Bh$>g=qxM~Lf&B@;zQ2FdET ziI6L3TFo^;CIS#yYZMO0gpv%X{9&D>*&oH*9c!_B-lPDnxUfLViwmV7KUeA%40c9B z<}h+yI9Cp{lYQ^9Y*X%@yrcGeo(-=9prZUSU^s1*=f&sCxJRZbDWV4ufR2J?bODs_ zo8NjzL zNShfh6Mx#D7zk=Qq@bwE9W1R@)*GZTr!9K?BFp1&Y{$Ztul^u&hNItslcwu07W7NI z%RP4!^lx?E5p$N%0mhiC|Bur|6#;_2VSO(LrqC($5mVO0zPOwo;qMMnz)FHcXCpM~ zmX@`<2_OfDkYF7EN

0eJ&kAy)Io}fHQOgl?9!YBv%y3WND7fs_vapXLh=)O=imT zW#-U!nJmnd=}Z}MRk2dbAY2h!N9lv84>8|oXRrn*KdD%4SL42!3_PKwoL)|KVO zGZmM)_n*keN0tL=fFXhr_#d=(IKgPv3I26-q3vSl?%nqPXU?9M-o9ShxoemF@P->C zJ?*$v!@RG)AhMbRaK?ItPM_dDWsQvuUJGio*W9iVAPLzG!ETtU@%ivOxb{W1Qne)! zvTtfvVE;D8ZMQY7ze5LA=N+@sMt?(|G`AN@^KjlJesNB0+a;`wjudzAk*vrT2~Foo z>rAmkX7uxBYNU5Ap!cs#dNSUY`Sh(atU!#C#-aWy8SE&Q_OVJS={hWp6)n*UrnZd*LdcPeOOzRCRGI~>LZjdt2eJT+3;&sSe**2V4!JkYL%B> zd_!J+ZKDj0j$WdaE+>FAm>vsa{c`+cQude`?N$^Ykif*Hi|UGHQXTA`Jc)EPS=9OH z(c|*n?|es|dHN}9sGgagvT{Y{)BWO>pUcSLfYC8K2iY`AC22Tz`o`RZa>eQ@k5pE8 zmoPo{_KwTY(6j-v^XF-ZUO4f>ful7&eZl}5(MJ>r=cCS^!J?G9kjYssNQ)bHuQ>uJ z0BV`3{WXxI8-c&kBhjRQi~3|M8@X&YE#4CbkqCWC$$tlsP~L^(0;ov57OtIM0GiJ^ zPx5b$Z^ zK^h|=5XcM2m;xx{YplvjC@~g14@$U*n2{M~_7bEdc5Zd(2o%JJM=!rV06@?xGncPD z99;8ST8r>m^x+UB03aE2oEm#F%9p&By`k4mxgnWIMnUjeKs`}W0PIbw8@?{sXZ8{-ful}<*bg5tT#xzP`^RCv*IAlv-f|IzQ$)3 zu6%6=*+$ly4J>!L@5#b*K%cPYY0^iZpiBA5zX_lLa8~ndS^w;bimXGXC)p!zue%aK zUs1lEm@!yR7*0)37J9Kw*I3Mt&QoyK5|B~VeRW^a3mIqm~KoyC$@`h1;H&}ollC2N~E;3LLKiu>Fypg8{FI!wQ)C9 zrSa;5)!KtkYL|(raoM|XkKFj99~qe( zL3y%j%w6o%|4$rpz2s1b4u6r18^JStMQn9|z~?H~87$81#i;6}xF1z**Nd$MpwVXG z3|&VUe-RJfx|d#KW2ubsmSjt)R{`MU+I;Eesa#`d3{Mp*=qi!^p$ZwCte1iLM(Z;h z>nxK~hc?Mv)^-^fu9lt?`nj{JL#EURnZ8&B$2mIYJo>&S8JupAp)u8??IqG&&j^|- zdp4F$D@oDsnx)_827(OQ++3XAf4SpBb-YfVI4LzXHPYOiP(!VbEFcR99HI~y z70I9!7v#EvG{=b2AdYj0!;XXO{2hk^$AWAI(HZLxO1Sx?H{K6bXHHS2IyYpsmQzlNf}*O*PPNj`)kLGYZwS{3ds>A8Jks#1d9Rz` z#E?xJRKUO1V@iP?#3kGZALUbeKOy7r`)Y;p3*k_+40d-&Sy6!vkgX{%wEF@mjo+V3 z=cmlN4ZSq@rDok@^Y@J>Ko(1;-qv@2eTuxYr@i~1S38^j^ z9vZRW&UzlnAZ@JUfRSHv>~ilNF@2zGHLA~#vS9#OMfPE-%1N~>bz(2b<-|D`kz*JIVQH&Y-3(Q@+v~4H z=m(}U0${&Vpu>^2P@@DrB@$DIZ?LUJrbY&3W@1!M7H7-3*PoO#J2%Q~ZkqHEoYHGI zNzy5ag1%*6wnxLZC)_?0frP7Fb$apvfe3wUWYdz5QzuX8UXPk2>Z`@Qs&vaAHs5Ogs6E}~$Iz_+u0@Z}o(^>XI? zNt=(hOa1O2DL{Mh!3QPn*fDwV{$I;qe(6i{yTALd<>x>9xsiP(AI1v#-g|Ope$ImH zHJ)mz^Hf=>yW6$63H!<_cGR}8z6tnsw?~!@xO7HiYA+S2sf~3z9|8cf0CliPniEPK zR}vT+5x`dWjDo81I+R;`A3&k`DCklAt*V?9V}Eq}F4vlD@HY5t`u@WYKO~Po_Nd(dP>S4he}}yO z`bilZomd+q-hxDX`lPJQ9S~iMV%fBwX4i*)HB#T5FD>nUV?JYJ5gB2Y&UM#)UtWIs zWs91?_{c!b*{KN|qUmfzq9l}Cun~!{xZP*OHmU-x($aG2?2PxOO-`Ozm6Ju2`{3Z9 zW#pV}8WDXW`F`Dyls*k~#-zVXfsXzhjI~NvOCY{@Snz64N$q>`j+h~`(liBZ7$Xz` zY>#B5=<%Xa-pEka)5+Cyp=ii>5qVBr*!hP`x zsPUa~uIfrMETiQ18WX!OI8Rx6-%>5(M2P{8IVF>^rq$O{j4? zV&Uno{vaUG+7dDcgfc|HLD*j{5VaKNWyzawzAi@(ACLokc8RB=)Ybxq$Vv(oRJu7+ z+%G`8uRP!S%Xs!{0cdgQwddDVQ*N`81~DW!P93@?)u5ytJ}9}_de1@uTWbI@KzSEz zpt|OoP|SKQJR8f5s*}iiv1eRaAYT35#Q~&oVf{1Ofi=ME;$bW<;Cz;$TIG3@ z#md*|Emb?Ql1?8V8kEWLF`4M;lqqkeoIJi?&Tf2G=9(I0daz%HW2zhU`g&B~cA;ar zzExZkP9gh%4CP8C!OMX()_74-v1QYe4}z-nd?$i5_G+lPQHqO-Y=li9&?=EgkJ|9z z#o%bNkXiHAHb_}PuGHu=U2W<6Cvt7e}Dz8wa*EP^tQ{^oaVn3jt=A?{h85h7%`G8XH{ef}>vN@01r`8<+2X7dEOXeMoB` z{@c^rC%(>sk4-j>xoJ77$YFY1&jHuajW)EGN_T&|l{gkDK>Mn0$nSplyK?v4cUz78 zt+(DPKmEy1Y-3WV>>M}))6=sCps0IyyUz&akiq6=$;r;KY#ODGCr+GQb%_$6LpF~Y zZq7!<=;6%boRT@C>;&m1i>8|q1%xADjq7BrY8@7^rCA_01kQ15Al@(KcKuf?t*Si8 zwvb6l{A@~nD7~b=jGi60_acCYMjUW;;Bh)A4|2+h;)83IVM6-mXrB{?3Ue z#Y>Bp-i!FT6a?zEI_Kiw5d|0AH!I)Kzxh>xB)-p0I2ReCW=j5ALozhbr|WCR9PHJQ zI3ypefsx@62{wf!9Bi`E2cBtE0YqtGzJjzj9ElE9Lp|z34GwA3+yvnXiPk1qcQ(!xD!vr74^5z_oFYi3qahoYy^q}BcQHa_ zKOh7lOWx5IGg1q{y)(b(qc|=FX*(1E{k=ty<_473A`VFVoqw@GzW?P7a_pr`Y5E-r z9##NW=zg9=8PV4mNK>iL{+{aBusYxI)_~O>1j1k;tn)&Ev+#V_C%U$*L`a`KU>g=# z3kXmiyil5x{M_8c*>gBhkoEA~37l~*^t1(1^fhGT2nbOY%jc58M{lk++nOkx58!9? z+q#DmOY#Zo(o;P?Hf90|$h-ow(;0{5?5?-u?A~|eOjfE4hXT^0&MtNZ;ve?(NN<;w zE)RCKS-Imtce~9Tb%cKp^|VQUd#h#IxCV>vN0y)2MkyG3j%zw{N5>43(g#&1tAn_m#mBo@u+S> z2d(zGej?YdTn?lm*nez!tLk41vgul69kS*c8yl=lk+R0Z!b0)+eAarBsq5sHpZ{F8 zZ+XW8A8rSFx=Z~vX83h=slTWC2wR8Gfn9UE7DpU^hTw)**CYA@9Y8PJasZ8TU%T$M zhy`t_+Tc8H=g00C*;}Ykg2M%u_`{*8Jj---&(}%cWUWkkkIHmqs*Lni$rR-UvkeQ2470YN(g`9o+d6~=KCw=W|&qEB6FR*Jz zCo=3Bn~R=w`!3g#s5M%8oH~6*$}7j@rI!a}bYx0~heuWMt{td_d-|ok{o^w?EhE}3 zr9D9jOssA(tXArK@+I2cr1!AT=5~GSTi=q$9(`0cZrmtusq_1*d+(7y`lCOR+itr} zI&}j(2Tl#WV`ST?WnQT_jr#bi$||X@^r>+eR%d;wLv*zaiZvLs)5qlzkI)s5oo9q1a$Fl6c;6s@!#jzIdIAWX^H2+ zc$0}UXWb0>rRV2bD8&o~6hJaawXa_W2L@H)&s-5Wa}FHI6Z0p;t4>IJEUM0Zp_N?) z8+>wb|30bpDDbMUll_nFEy>xp)kt4=m-UZ9f)oFoIO8eng!=|?XMZJr zrsIfG)&(fz^<;Q)05Hg8N&sxEG3Pz@K0OEL1px3K{*5?njoe2V$H?%IMZHookhL6_ zfV8$ADN~s&${o2h!75JvKZj6Fprr8)}jhK98JeX_A@IQJD`1<-qNT5DA!Gv^@RPQ#QYD@7}%UEGHifW`_*K zr$DZ@#-jk+ujgo%reI7u)xNp`vgM?sV@SN-fRyCtNNq`W+%Bx*et#m@khG}2Y`r*o zW)Y;d_@#51ku>Znf-UH6BN16xpJZlRTY}Qv+a+`Jb7r@#YD)FWJ$K(NufF=K+PGq~ zxiFD3zi)PCW|6aiYAb>ttWPHZLEw;)80<^8wS_LQstnZ?7N}7jz&@t(37vs|WMpoO zdnexW9Mk5?1SV_C4aIrSsw zYNThr!FtAqhH7N;$VQndIG}*4O8Vym(mUyuu8~T6eO_#rR1c)M`qYq*ti%#o)Uj8( zC#qzs=D20l21nE%=`5E(ZG84B*X~zaUQ={b8me;Qze~7Z*P5tBT6%o&!TT~XF)6`d zSZEv{8=cgj@#*~+AL8YuySGmoI{Ov;d^~^}V*_&9I;3`_LIRWP2h;+?Invy%K&CSe zw9?bkjQXBUMqT@Bue>66-F254ghXaO$Eo32w8h#~md^&^lu{a*pHm>69eryCX=l%# zGaybj&1sY-o5mnulnf3yo7$qUWRnzdSV^CYLP!?U$z%W+eoBTT`P$b*P$D?JTo;O` znX)#$R<4muL_nP&>nCz~FCcHRMp7JlGBWY3T9z~_h*>To%J=0p+$#(+P8s#- z^?KjwWE)3l}cV z0lJa{+G(#kBt+?W?wzdxV^e(N_19GgjL6jZh%`6)_46{+dCId$cia#;&LYvd41w|+ zfV7^^noMZBI&}>HCMun;PFrS1x`D>V`dTxV_MEGVtw+V8fBIabjB(KC;MV77_qB};t-XH1*#*$IM_SA{x?O9s5RK>c5nW>hJ#dr(S3GOZ$+@jmQ_l-w zOtPcSdZKKUHIrCs!usQy0sQpdCB6sY`!$s3*m)^o1zbYQ49Gy21IiQ2_9)9^h%Ymu z7DfMk{v5<1t1s_c?nnk{W1R=3diVciAP7M9ZvCY|X)W?m^rZFY#z9);_TQ4GqFZ!b zbx9j#a9v#s-(qzK>}%-nx{4wT;IJkEXSN1bp+gZ{uloFPws3~fb*vXgF7S*K*Au#f zfCK;^eaO0_l-pr!>uHZ#_PEij`cZY-vTI&Hlin}RZJB7@V^kcF)r}}Pqx^PkWY`#D zr$&cmPQlWtl3Y2Hc1X?~-6tn&D`jSQNM?oxWxB6NCI5o}rh9O#(537p%IV#zCCHxj zsUJcH?S>n!H|qV$$|@-+D3Ir$e@-5H@IfgnEnRp@7mwN5IcaJPN==PVs;cx}MtWQU z*lLB0TTxM|l;vYPFZPdqBG-nH&1KvSvsRe}%I_GD(Wk#-R7Ou**a)h~_;yE{ZQb_j z>-szN-~3I5e>1an$+>m^P|ZQs#yraO3 zF<1{i@PLiSnw*?m5`@K8Q~g9KuM@n7-IuH~Hp=nKuzT!XYzKCZtT+CgmH6pv9GeEa zV_R#;Y<5qV+VyZK-ev&kQs2d@jMRo$JBaEp^pK;sutR(XJ^*8vcwKuWB;5lcY3?tT zqQ(O<&|VXtCqo;#yGLZh*yTn^=~aX(mh%s?Q_)u+5B%oiExOnH4qW0- zBd|n5=kNA6SR%8dTO~YQEd5jUGC1wG&+8oXN~o1elz7k*v-?NQqJwq!v zz8GDy3(-iYzWw(^t;4M)h@k<05#b3cse&4xl2*!*iTtvDY7|gWE(`fgxFxE4c5T2s z`C!ij(#f#!+!-Jaame;<+w8Nu+G0{!Q6_mgS>mm(FyqDb*O%uBw6=g^vQQWbBji{i z^Sf5Tc=WbKq({LH<&3SNX3Ns`b;hi8592}kps_b5fG1cPn>=bb)HzMO&le?L{?Y2A zyzKH>4AwnCim-y^rIE*_V$In4cgR2@3XBL6VBA<2@wKrKjZ8Q%Yl5}Qx=P$%ypFO( zBA{km6W(KefBGKQWb&Tm-#F9tl||A}Q)yWsuI8&q9McFdl9+Sz@5t-1nHL5_(8RoqxUG3s2FO}58ha@vSeG#PD zOvvtb85`)8@xeYL7@@2=Pr+JKJ*<#^vnd3HxEFOLIj$_IWE}hre%ZNWr)=G_W#MVW z55E6_{rly)=bl^m&Bf!yiPO^FKHv(tu0-&ke7>NR78grZQI6`Qcy>GSIe#MmBg7wX zg0h}jr31R&`}J>(EDARI)ouo*t3&Nm zTS%CDn)n$;oQ5CLP_x7)(pSd*Baqbk=-~P6I?dxBYpZ)x2R%KO~pQrw} z+JF6Q0wE6DBlP^VDN!y-6%~FVLFm?i&-N*S6?6fWA_Ps@BLs%rGWGa01Suf~iRnFv zHaAGK*(>!~RgZ8USeY4}#QB_ci#?^H2!F-0bCreC)&enC{5uZmz8xEg%6OzuP8{DV zXLh|VQ{F5Y8uwcdTJH(H_b1eb(QCHKQpU9i{cH5HK{zrv8<75K)ula^;w#Ux@630g z9JMlno7ta=Xun8C`WA8XKC_IIWF_o#VatK2Sw4rAndBBE_7K41iIZs}t_(#FFk$ z5dNL~8Wx#lpvb_fvU0oj^^i_gprqzeNGK3Xy{m#E+kn!k%06t4@^Z7&7_v>II1av+ zeuqS%>D>GZz?8!oz1Cee@1IU8lG$m%uOmVB@1CVoirWXIEP8O_^I7a~mNes6{ zp`SXrbp9D-5I_0xk7Zb$AJ)p%_7c6P>vD8>$krHrX|bSw*HFNW1P;zSn>We+Jv)tL zqF)UXWv^T(%G?1DPT6CvI!}NpxBGmh5)Cm2EKd7R4-TITxd&qwmg{%q_pr+0%q4=N zE0_2j90*9r-d^&Vx@Q1rMDRstfdQ4Hh7&s0OI z*Iu2QA}tm~xaiz*zkS8=9;9RdN9GK&ieOWtu90C~Bg+#B8R)MplY8#EOTP1+@0idx zd(%xfS$XOF{M^DTulz^`X|p3$(wOnz3qq<$smY z&DYEO+qTKs-MeMx*fF`#)*&CNbF`X+DERE`jMUXsThPUMPRoiuKb|3u1Ce-->XAwX z<7CeK-mh=|9}<+U|VzY68DHgMjh z=L^7vzL-(acHzZ`WG)(#6RI!fA|aU?8!?+jIqganIAr36`e2reN^ySfB1r2_C?V^P zH0k+<&1tPFjStyI#~TB&UMJUUC7doL?QxJ6kX^g>$hK`;jfjElG0%hRI&|=$Jo&^E z3s33d!PtqRp($6ubv060SR#2DN34%KlBD-Pk>9+~Z$C3WDmB$r^6D$E$ll#MWw^K9 zsz@e>2BaW6Lw4=ht{{Jh?AX3dHoo^48YXcpjkUQ>%`eDI=^+^&s5Wp$*<IjhjwOYwN_Nk+91MbJJoy{ZiOIC}|&)xoJpocTjwzrLGVEN`5t*{r*aE9D za0U|{V1-gKn|r3pX6beJF3zyJQgJ{f5uH|Fg~W7m*Q>$-oY6-{v~J6gD@}BO^pfQf7{rvtuPk3jFkZI2DN{F8rOpLD_Fn>;-2XHcc{q)n&yJ zsE@N!l2yftPA)l1Nuh-2MtSndCyXVkw|BrCkSjeLYG1M`Q3d-rJv?{%z52R3EPB`- zBYRe*K!UpVTmzIih=~f^6uvr8%s7kBAzON%uT&@-Y}I?iux29sL^#P-x%Hx4lwRqK zh0S15dYTB7uT%g=^rmrt5+kGROZwpeaOOl7r5RXvoL}etfJN&K(0iB+tjJOuD`T>e z)a$lV6$SRm?`cs`%(~`TC9^dWtXU0PBWr77eB4-mueQ2L^)b_NB(SINg(i-3SH!{2Fmm+VywJ7iHKfopwDJv88wBoYD zL8jVQ=e4re#All<1c7*#Q1Fwnhup@3NBZ33Ybm~ldG-XqSQlj8$?$ zTP~Z;z9I7jIaHN?20f4Ur8)LKoHag=SxH@17TIZ;Y`61_sv~x)zso?{snR@|>uQ&= zp+N&cj<~(g5lA^YBSF1Z&!r$uzaQU`K1xOd9oV~D{Iyl)SfgVS?}e4q>)z?S0uO-)&A%=fv#$Bv}PnNt_po6+kndOZ;vL(!xAz0-QPt8$K5IW+;nA3eo_;GyUx{GFmS~Qw`ENQ*GcZ&eE9e>L;(K@EI^jjyGk> z$)j6jHg~Udj?|fMMTcNl8>`pcEG5S!OK|2*~90)WVa%iTY4xrl*Y-n36XDiQBzKqTyC6ja+MUI|tDj zKtW@`FCFb|y7AhqSrn%-aRCF+CBsnF8_qywcOA*Qm}SnGT#s-b+>s zCppekSGH*Maj*eaWWbE9BGj~OR%A7TLqQ)BiyKgc(y{AM$DYhroE5LwYOd`)dLOC5 z#&IGmLnIpTl^jW0D)cff%mh(qDlr?9EY4;lLWM(>2og944i-^hntp=~UTIRnxgJ#K z0_PaV&douF=z$@ufBxs6l`nkZ3sPKEXwPjunE6;=WNm{CuvAb$NeI`?ccp}i*+?jK z0}C!njn`VamA)>Ke)y_IpA{t?03pgwR@?JNZzb!CjBs*>>Pm(6OerBi6lN@Xy#m#g zdKTLnr+frpNLDe~;F+P*dsmas+^VISG47qMiHdw%H;eDn*I4g>g5O~6(tru?p>M!j zUTCBW7ugz58n|C+O|akTdBq8SOM%D34?QeD{_&4(cF*(AzaYImefFA_4$84-CkAD( zrA&Go(j=x%_UY40v%Vb3Anm>Lv(g)Q(m+t<_6^dJzCqq!W>(r{=?3xa+#tDcxl`&R zuiU*s{?qTT4@mpKAE)21-Vq0B;dlN}&To8r2}oNafHjp5i;Cnztw-MX*UN`VK{A47 zlr51-b6XQca?w>dK>UP6h|DSLfJiv6;aRiy&>6*T!=co-{xMyjv7`(b z&Ht@_-PfKH17ZxAMla!@5P=UXAYz7Kr|NLi!zWX2(UBDlx*h=u}|MXRo=w7uUIZeDWlkX8kxlr*Eqm!3b)>PU6K z?%liPzWeTzTW+~k{h8b3AzkaKsYhf+^=$HS`t&*J>zi-|T2~{C$f>Dmkb<0S@s{fS z)@Pf%7Cw>Rj8OSQmbOm;7HqpmkEBZa@goZ$EntD?!v_yYh61HPL%md0l*{H#Z^=+! zw=~rIBqvLON@bah5BJIJm?DZzL9JoYCeFxdaBduM%OZwZP|Pfp3Z@1K_= zdL8Hq0`%Jf>#UFO2CqB5G^RMz)!qMt`iO_YvK)(pto3 z#jAfZto$CmLG=e~m`r@L?pf!1AtZFhR2NK-56f6vrA##CN#CIE(V6v4eq2uYyn+5Q znf4r&>8e!eo$`y{o3GEKVxa<|TS%rSCb*WP?|J! zr7sWCI56;SZDaD{%VUzBF=^!kSCUQZP-9=zKJc+Adjw1t_cV!boqN-oCe--0*2>WE zpv<3`m-A}4X(|us#(Uz4$K=jm{?b^dUVQNd+5FDi2Fxf!<6xc|2Jmv(H2&tKz^`Ox z7SS0}@X^+YbhdX$Oo5Y=VPd1Qk$Ynyn^)D++$5z%1**Wx6s)C5c4mh4E8#4VZQwm- zh!zw8iV9}{V@v9v-X|K@Q7R4Um=KX!t{ibSg3==+hNH`8*`oJVSk@+Mm`nb4CLGMtSgo2j%mh|AKgHYpj`gJq}8g0BH>0?)v( z2pwyWHRnbIf{+0q+eoiZ;`}|X4MX9uGA4px{zfSZPPs(^gK9X{sfMkQXB7*#$k5>G z*ct&==<&*m3ORJ>kj>{wJDw)R#U(bskt_oP_ubC(!TTS`=~Jf-2*Oy~A5pMg_>wel z`HBQKenEVDekK!rEv82jk7SVc;fD$kyN^ii!T*;5q2|LIZPlU$c)>pzj+xBpr`eCrK&fR-d5Y}+ay?A|3G78fnauyH@o z&5-}lM+xx4Ak)Z?zHxdM(Lt;u)|fqi6@pDTU8YBLUGbB0V?Yc#IoYwmIRk`Ia=W+> zR5!NzHF$ zA`pns2gKMBx8u~QbBn-gwZiC|fq_XG9-fhjiFpNor*to#HsSxt%=Pw8NNa1C+DnfV zW~bY;q+B!k`+Oq583CvbbVO{hIspO)q*=M6{;s;R!m_X1wr*9Bze|oEQ%8Sd)MlLl z(vGGal3y*|Kf(U@Mci%fN4?J+cq^GAF zNQ0~3bD#U11z_9MpR2B_vQb&5&zzMH-n}62fB2rh=UqKdzX82C+oRgMNJ#Zcq3My8 zg2=0pcxJyeZqL+)qCXOO2{=DN?RtEsB*HM-dd5eFWiC)Dr&6~_hc`tUhoRHYyTmt! zl`*ev`z60eJVPmx5q?`5Co?bkTm9H^ITm_L>PC-U@;4+Ws^=WcSKC-6BfS;UKi4Gf z{ay*w3@>KmT)i?9oTeC_VhpLq>O=ND+MM)JdyjCQY7bjFN>OCN^!a zZrEgJ>2e3)0N@ylw5i0Tvn?htd0D1F9Rn6MnY5l*tCf-=lsWqAY9!^*LCMR?ut-!K zkSukG0dGW;Nc%(K%!bDq<+Xqv%5KQ4t@Pb4Cq#e&UN|W@z?>VWhV;AvBR*IEW}?@E zvxAc1Zz!JlKjK~$gIbN9Up>>rnLbwt+V zIDP6=9HceW*)yk1mHWrNbQJSy1cwvKan=XVg=fmR1Ts&F5x3uj@Yy_Xo;}e&x9eT2 zK3ZjNRyLQPw1!%RkwZ>>iS+&<&XW;GB$)y1v^av$6IJ}fX(@fvo;Fac_ z*QD{SKNH`tH;C{4zbEyN{Y&Zb9h1{Z?@tD494DumrM2iA28L>OZIJ%F_z-C~;B+}z z&vM7fviSM9uE3VxmFZ2lxB{}v%0h;XlE@GBp3U|2+H5*wT2$Rb#+5Zd5QJ#7MZS~v z80!e;RM=t7Ng^Xmpd?|vT_So8)(V+j7%8m`N}m@%41l)eGi)u!SsUHRH&znX-LS5w znci+WSymvk?J*gLy-~rN+w0wgAWo>!uTFBBfi%j9ag=)0#<0FK()IVcR$-(hIJo3{ zCI}=4>~Vs0&bhG#fHdr7O-+py7Z>ZJD3i)cwKWRT$XF26NIq5r(gp?@Pc$uKV>7CI z=VWs7gzlkJa`NO^Id|^eC3}(o2doY1dw6eCQ&e)Zvc*%7Zg%f#9qCWx>I62?%=F_6 zAgx2XbnQV{L-y>Lg8D-T_M2~$otY{9YP(poP~;ywdc?@I%1Vmm<(FQxN~q;BX$bq9 z^1yJwYZW}sIt5(e*P+ATc=HW;pilREfvP=s>B=iot3LxR;1K`)8zX(>wd(jvC zxBda^n>*1Kk&~JGrLFF$1cyo`I-~k8$v1|TF*EYcCBH|i1`f&5;G3=>&8HykP~cVZ zjvT$@ZwM@rb%Pm3QZh7AFJtYcGBQxDz&cAp4RKz9Fn#oe$EB(u#e({Yw)~?K?jw4R z&ujJ;iO-v;G6~(~7!-;-9z_^(?2z%aoer8$^lgfEx~4+|3t4*;_Ng^ zW`>7{EmOv(bi2=v5ShUU;rxHN1|~A+APPc+hm0IfHSB(5sOYm{fe~$Db_g}ll#x}G z7OFx^mCCYW8SHXbRJ@NY0FEtA3jdEn;P*JBl!#H@ay2E7C@IR}$WrhbIKdEzP;!Vt zB+CO3gB^^Xs^n{oXF-Tq=ea7RM1j!|vG3vX_e8O5RAr%r>T8T`4TeIV;r#qbb%2-8 zd@#QbrTzWyUoVd-7=zH^=Rg0M%?%=GlAE0)fAmLxY$F|*p|TzaOmM;GMvH25-EQB< zUE(EK7Rd(y^NfQ5D>;M-E2It>%#Zxr?b&^F(kpG@7IQ?2X1ZVd+Qin08ZIJ?ZtH}5 zKzX8*`AYsfLb)17I~h3Qm~-D*qt5U6jIf@wK>=D_RhfjEo9w$KvNaNM9U2<4b-)1S z)w_RNDzjnBD*u(gPSwGT40WKw@d(o!Utd(571Vs?G;S=%0p zml6@Usw+yDmSr5I|nkG;P_k83km_lx1CCt|XWPphkv`^F<=PQeEwp(maL<=Uz4-m@Jk7{RG&pn=Aoo zeVsc7OIvVGfD@l=)@$aDJ) zg#Amfv#vDDvet`bk39r1^>fu9Xow%`~+eMrQ9b>DsR z@BZDtldpgM>$cqsj1l4cs&}+ip5vXtU(qgi5OGdKrTCNeDKpC_Jmur_2 zpScMf005n2{|&4FiO~2!ScayWW#FXxJ@Y;ZO|QRSy_`Vn-!bQrk?wLik-k%A3-?J| zBfeOv1-t-DO`bxjE=f_FzV`jN7GVvL=m`6(rAfh=w>nK~>Qbe?^SCsQWm+E{J$o(F zg%X>oklxYC)q%A4bRpE#j>@*3Lz0;}e_7V1<;2@HDA}GAc zE|>m+PTfdROQ+v=@7;3prLD6$B!MeW>JP&CmuLa0dJGIN~(C|LVS9nFGSe z2Kv%=>Y5>Hm3WX9U8yH&xr1v0mpO?^uCZWWPS@Jf%GTZ z?-hKkwXABr#CmabU94B6jCEpx1y#Dqe?g!NBiN9wJ0{*RB zQm>VNuZFF$w6s)y{p(-rUhR} zitNL-ewwOu%{JCuWYJBy|H%xy@xS}c(LyglD#E^NsjaYc@EOqdx71duZe)B$x@DL< zqn9!`u14seof;XEX?4U-sDn9AHf?Oo^|fvSkg`G8gFVKm*V7)c8C8RwQJEYbT$Dt{ z$3(Gvrh-iZ^wyW>EuNd}fPCS;d+(JOUU*UJ>Kdi0vPz1JiqwzE(EU;(qobn>D=~f$ z@Hlbetd%c9o!{3tCgT%xGCvtkV~a z&UJg;C$ct425FtKRtr!c+`mt}o=Ta}_17K=%kksKrKB)ldOF)>Vr0;MKdEaU7G_?{ zTv0|xxP68r=ug&YsG)XAYX?3SfmX6*-KwAACfK`YkN&OK)*XH4*IoBL`LF-=zsXHE z-z+b^^pg4w7j-y3#GvjYU!%{?#W}GV)^eiy#O+#=#cURSU2&#VW~b_YDzKoo+iQ~r zy+uIWY*|t-EOrQ>Hag!egD2JY&j*Yi|2IJ%;z(qc-n4R=&D$pzUU*2xqD2z&GaEHt zS%6_@lnc(ua*CHUrteX~scQD3Sw^rS6bBln|aTJQO6rSzO=FhDz9nX)>N zhQTI+v~kmzeCu21Rnd@5TU&1$67A`e^0t0S`dE$ZNgu{*#O`6>8K0AUF4_hA@m$d>l zo;lHTO5Xqz4snC8G}jih4bjzwJ=oi&;4)Rx)6=9S*eC;Cu}d8Z7h%ETj8N9aIfH($ zQI{Jd*$UuuwE~MHQA%c&@fk#epw34LT`sajR2C-*WlGe;?KKDyO)@29MBEH!TXUSP z(YG+CYIJ1O`pGCAgT3i7`VU`tL1KE3FPy)i&U26C=H!UCrbf=3j%PStdF2(k;f5O) z%T@t$>1r(KU8Ed>2wPg}VfpTNzGG!P&Ve&AJ9}E!)QKgTk<}cmIih-vi~vwa4`#WQ zoCxj_5jy}o^X8%o%p&wMRu>ycwuWh4D=2(2M3B2&O}6w(h3lekg-n&(_gJg6Hh64} z0My-Bv@pobkh83C%fM;+{*v#nl|z>1NNrhx_#C#zafhw(eOK_EmzOV}``j1g zbD#a3Y}&Zdz;@!ndob+uxw^gIImozCJ_`X6WI!1En0^=7M-#6RX>YETnCG~Jv!0cf z)L%-t>WKKgl`^Ida^kTZNPF+XoD8;Z6wluOhXJF8{c)lYHxRXwjF)VXytg*U!Dkd? z?YS~ae|q1@=5ZaBJN}tO)4wC9w>~HDZ+k~R*uC2oa9xdjuzkC{w|~E!&CZg^+$`zL zinHLt4ocR&Efg@Pk)D~^@ezyYj}NGB>;T9Fq$e7Z;hqiyF|*^NCX>TzmnpewiL)Rw zu7Z6R2Y=O;T_d>0`P*BY%u%Eq@=8mPu|>>FV_5Z>WBcS(&M}$N^Q~pBDnWy2D}6LY zwr5yZoh<>&oH+vUT(a(TEn1nC>KJSh{hBtcTla}`UhL_9y}wUA`J{nC)*#L-PVbpB zrx!q%OW&mewUZ}LDX8Y?n--RH3$2avPeK0BqEeO7Ut$iO>vfju9Y+V z=n8^58AlFDd2W2})q3f%|9_XI<&JT7$8p_9R0i$PJ$hi@KG~;$>Fv#%q?aIs0yEei z5ANG5J9liCcQ$X9I4js6$_D z++WJK%vju}tv(RIXJ88{=j=@==R~+?QBd@mrfMOFx zG8QY5^KU*Qlm0AekCsSFbA{jozs^5FkrExS< z8YkiZ6&J%X&flDtgJct!4FQz;ln5OA&giQE%8BI zPI`O$q^YY<3S;h|=vtJlwhr+OdZcl3{T34ov$3O6I=kA8t>@;OZaY3#s zx1-iuHQe7LgWc^m2-$71A{b$uc7P2IJJ~s7?NR`^(sx;nK&=nsUXxyADtTfig)Z~O5 zI&i>1`}y z_pR@2tz&+J9#SPrCd zoSq3wOVM`?993=KAgxCfFjZX&qCQH2EChy0htbiK`o}Wp-!G?2^WC99)ld@ap{a$r)R}a$A`}95&)S=W7CwXygksXW#&H3f`IFo=C$aRbfQ}+&KR*kBE zAPB;#bj|Ni?;e)X$g$!)jYY82?S9blKQ_F(Ul zO&c1Xu`FFj$B^Xb6-s$tx-=<3jj40HWM8T9{1`D%nww@!$`xf*Qka)3W%_R`XI1Ai z`8}V=+Jq8C_Dn~lRYv=|EXdri`zxk?2@KXj-TTdry7ofNmMI$@8j!y3PVqO?oBtLL zHpc;4ti^&SZlAG4bYGHjf)TMj99*&w2#8a%I5RV?{&KH8_4G4x`)#*b$!@>yGxR9F zTttCbq&+NW&R*2<@4fe~OifQ15giEt0xz5&+e604&E`Q|gKhvyLAAc{>R!S>;uz$5-$nm+S@{Y3DhvSKif!GlE2&K1h&wj-ZmNOSH0Q+fsEgh0?BNR5P~$0XG(A? zU!qf0(tV;{dMCXyS$j-o^Y_YRqw4=tEhha_b*l$yAAazGbatMRty`z$kw@m#sh(I< zw9Ju?o?fYK@BP>ih@?e&q@Xh*f%Wc98&suCHcbr+tUwM(o0u4r+FFnG96k5k^YY9y zPfLnA>}16f57OYwvtl#4-DgKIT2THINyG_T>p^tJX>3J_0H`ABxRI_eEiROIHoa+0 z-wj?hp7n7u41ikl0w!94qM!+$5-*}PM08;wO9p5B+gJhhCm<0TWv<`(J6T+qxkg9E ztY4DX(ik7~RjaX%H|4X*U{oYJgyKL!0l17hzg8WYBr=C&;d%jiD4dnZCU_mq{G1nu z7I4Np_3Mz#FT>Ud;XzSBz71F< z8%v`(3}8o&9F;G9>C2LymVQaeq1!=*0HPqkS*JP&WI!7{Wl~eZGrzn881Z-|aI8XV zw-!n5HZ^d?x#F!TmLAm^^vgNNN+9in_s_~ice>Oa`A-Ir07}tg8|36NY>(?LXT9+< zOUO(3{L;O@D>da$%4l~)=F}ORYmdpC>g9>i5t(Rdk!inQPV2otb@;F=;JR8lw|l3Y z-@QxDWMznF&u*zwP*|9otqyvrRbK4avE3roj9bae%QFIl>hdz{V{Z00NM|$@&%CH! zVjr?6gAFyd_Q{-m6#EW6e4?^g&K=k$r*eyicMjoE6j|0$f)WW=U~wrc{)a>h(5QnPf#}t&|lPNnK@;>EXov_=&7tAf#cP z4Rl7OuT4Rc{;o6JWWS^Awy!;6BZugdWDabf0=Pc?8*@XMBMNY1t*#27Er|II7BulJ znGtJ!X=H;3`y?D~m0Nysi@f>98@9hVsDc2j9XxnY9)9#;>D1T1uj`HDL;df6;yBnb8F&$#2=bgKka1t zK{>heC5c9JBs^B)%J!HQdB+Gtl7EjBbnKLp?me!5E9>32EK6j~;8DpB@00!$@hlb6 z(OWMuy(hh0Ve!Svq_iPR>ilIA*6%{uwcB@GPP*EfrEM@IM;Z@HTYHnV1}derB1Q5% zdnA#qv1Lkq%9#r3obpJ|kXKq2h>gv*%Y5Z=IazpE#=@l%p7u%iY(S#36{`nn9IzI( zwav&|Z}v!U&x8%LTx&KB0}<@(mAt4sD7qFUBibXi!|H%e=DI%oD-jlEs81cmSX3Rc zc`GXv0NH--cKF$IA8nev8x}jGxy8MkzOK%z= zaIMZdS(VAjNu&M;C|Vl5Eo}WM(C+WrzEuj;fhfw)HG!#Xe6V+M;i8OM6fmI#$T;D! z8fl0{2#d@x6Ge5d6?QKAn1}$`uws7K(QXbaK#jlv($U^2!RDZmqhOrLJ{V|Fqh;ki zy79=M8M%XsDJK<_5=NcBC2p`}aWZ~HY>9@ry#^u6Knb0vD9fU5uZ@D^DD450=~)>yg&Q&Q}URC_aEMHgFO1^V^UjFYr%_G zUVhDnQBxX&!{~M_VQZu;rb)qTeXSZ6??U!ZoksoX_I(hHe5krYyxWST=+11(zV5i> z-k2s08M>!ys%=jbgm8|PKpMxp=Vzq5=`E?;^Z$-#vUbLS+DDyHBZJnJxj||d`p`;u z|0@MPcSuF3Ub+Vct=DR{r&DGWOpFc=*t4+`Kh=dJR4CNd$@`U+@_t5!E8x0Xnc2Kq zPHx*Or!vyzWOI`YR+j6tepEUYY&F!^87+8;0`$4bG1I#^nT`XQ6yJJR3PE?vAyKpwLB zop&T0i7W;i(D(QmfV8$K^F-BuQeA<~4pbJJ4JSYupLv#M!|b^Zw{ra}m2f>IJ_M01wRc2)JDe|WU#ME{IOa&Sietp`QMgp-mS9Lvt9BUvm_RaXU80&1REf3 z|6b^k1;}*++}m5Et+QE*+Y02Kg8RhZQ6a%dk(4#3NNIbjglCGaFD^P;CY_^|GSpry zlffeCZY`D9e6PshOt(yTcx0;EE6oGdvZHy6^v<vZwjKpF>>;4srgqX0DMcGsRw zgXz)R9%oQ=14Y-G9FO!$VOOivuk+lr(14<8HTE;pbGEsNkU+hE!}Zt8UUkCBW`F{5Ii0;+)nlkAVc=B zupr+CP~xQ2*LoIM!7hz_P>u)CB8p_6Szl#Y3xL9M4yYqst5+2nC23A3Y4LCRUVtGP zpP!bIGu-*16$3tW?v_->u|I@5S=HXA49i3)v~iWSsTWOqL)JAH@w0sWLUwBLB+%?jS1u}mw$n?L)rKa>6Hghtg+vu7Bs zz`?oL&r?&A)&tSxua^dIwO&j7*>P>$7xo~TWXt|7{GKc-;LP@|?yH)k8It$&ue6JR+W5|J!0ljnYSY)UJd~WF>(lWUg|9 zw526v(02Wf%Gbl47!*Z&kNKVw($fSaX#Oe{&5*f$|fKP+opJT^l zRG-U-Sy`@t>uTlP?%i^F$98Fb;|&?Ft&zcsGRaO)vvNl=pe+qGy02h$%(v%poCaOKUG~2YEGB!LUbE^MOG&NYDi6AaI(e1U4utr#~M^jTIFDF|Ha zqADpVU1AR*Y5KtrejwlZ&bQ48M&CM;o115Q4?9ipjlD>a?eyvMR$e|fK4(EP2uIMl zQ1jD2>UNM#n_9@GAqKiiOQajdVw_j3+yTZ&ctjQb_yQ{-*8m-RBl$LwXCG6p1OX{~Cl->fwxD!&hNPpTS$d+)#snJaXp~4- zqj;m02J#*(en{$vN+dR2CC%fd;vZF;sGm7%`)CuCG+|F<>ay5s*^M2Q``Ss zLL+{?AFa}NvQ>`7Qsp~Gzb_N#2Bc%oyLOQFo+_u&ktx}=uUo2XhSg~wUh)uDBN(@E zXOCojObA2}MhB2hV}3#MgTGSgQAB_0zu=xk3p8q?LH?8uLID*2AFt`)gFKgYOozv$#!OZ`Kn|f8nS_q1D$I8^(R?2X!&v6 ztFjN9vrd_#YotbvYp}LN{Oa6xM8l>q$Z*h4K~^gD@IjkDvU$@cQ&<>uN_=v&Gi2+Q zcO)EYwlbj9L;J;3QR2$1gp&e!1(74i2_>6`(`-(9((9AO8q-U3bL(~T?{)-2kbpYg z3R0m$A2znVOUXGf=#-Li&;H^sz9h^#>+R{Y@)=5LoJcG4&wll*d*w*VA^SH6r2#+t z>CfclmtS2xH_r`Wur=8+H{-pW;7F|Xn3$a+GdA5v!!@D1STiM2?7 ztW|o5EF}=ez@+I0ZV}5KRjX1~1C_W&SywP;^{i8d&5V;82_p+pCp$jFg=|_Z{vCAP ztrS6Iy-@N8C|R*QQeQ_FjX;E3whZC-)`N*drLPB^IqQdU7d+GCgY|Rn+U`?PS{JuuH>&|=SQ=j^@+OENm9)=X1Zg!dDS)r2wK7>8 zbmv$NNPAabGZw3r-c4VYy0`yl15Wg)K_)^uBJ})MI!7&0C~q9dix0tedeAI`mh*E- z_g9#{&x-U(UDtrj4)n^IqkHA-!R>NF_x;$&MS6Ka0E7X1bpJm8{BxG+rX2DE)l(;G zYh_~RPMO`e&lPZ8t-Pz}g>+={@F6LBd$VkP?m2brRlg{Z9O&+l&dAcfU`RH|y0Gq@ z>tAm{KSRYotpIIid`xC0Mhzgjz19(!9btzYAL=upLFVlEk;9UcsUR&Dw!d+nvB6%M z8XdAB!h3h`l9{pLCEt&%Z=OKNv=wwPAX(=F+oOqC--nwOr z0=nR$zD1lpM__Dn>V$&x8R_eraMiU4fw7qx_kd_zho4^rbVzk|y`-k3sx3Px$B(B= zFxn=aJtIrbnJCcs*VP52ytq*JVww>>B;JotY9J|^eK7hfd}Mo{^oDw*=L_!qE{gr$<=inQV_?wa*ng-&PkiTAK%dIYFCGNi!!Am zJ4MQ~4l96Cz0PP3^^4X!lZH?!WdO9MY{~aRh6jgaa(YaLPKITyqf7=yswFyG?&>3d zRKnb}nT~qdm;bW-EbSJ_4Q0ykK!@t1F3D~=E{~KvBCk}uDt&_;a;V{e1QdwD$R6%) zmh!eTsp=||iP1shmDpXoTV5`HR$eW7R-Pz+Qr_`xl*m+_#8i%k_R9<9&&%G%oicxN zLQXY#^k_Ubz5}L}FzS)q? zwjeq}*~O6~N36%hQ&qL-)DU&sv15;X^{antPCJZkIBy*M92pt5=G9($xLoeDBWzSl zfyZK&y;^_8c717% z8UXhO+_+O!W+hmx&)zObJv<7CvlkTm%Io=ZLWwNv319>mBYH>~t!2~HXpr$`om%E= z0lX&)0G!vyoK#UV)aHHhsd_)$jin5JLpL|oF-y;t`@Q|*n4;9!=T3;FxQBXEF zH*47hz*&pmyDVFyBdmLPB zCHcU=K~C3fkl}(25;@|=4 z-nvC<_wJUCT8|964Amtt5>(ySW3!Yl-7{A!WEscR9?eEVa=IWxfm%F^<@Q=f22?0* zhZT-%M2DvwI-qMiQwIBbWT>ZIf7dJFmXI(@4HA{&!h$84Gz2?>PHFXD1fkeEf|JZ6 zWq+ZQ^YoeAyih8}yuf6T1}PWSE9^^zA=DF-^J;hFdKUqltw#TjjxMir-&LD2F?nJU z=tZNw5(tFF?{AT|wgKtt9=+szi9$bHLqkZiGcxqKG7q%OH6ZqhtiP-$NW(wDAMvTJ zq~ZfVjkU{9{H*4tM(aZ>D=jsO{&*Y3#qlcy&qv2q|BQ^vsf4UB>m53ObiM^E)aFGR zn>s!5yJ8`z*H9((<$2aqnh4Ye`v+unXi%orUpTXOqfA#E zmY%^9qn~&4l|KsUoUfIx$vSzn<^{R0;MX!T-V^s_Bh89S%H^rDr{uAM$0XVtly4vU zo|Ls#8b~V)<;rVSugT%2eFoBQ&%9F}DSlWs)xIJ3=G`M-*!$N~F;Fg%Nv}Lx@wmKH z@VM+KdsTjsb*ogiWXN=Bn#}b!%lKSO0s|%TruTLE;qf2K@z(uP(vdDZ{F~)r1&FU! zzb2FChUCH02iFeLIB)`@(P_Ey#%hqtX>4q?2nmilgEe1y`Bi!Gg%@o@R+g2>V~;*2-~RS@<&N8b zX%0I|KhdFs^^Lh=;g*$q(+~_6K#k20_*=`tXX0qF>5*=A-YFZio-JR6McC_#GOUb@ zzAz&3t0}>VE2((43x*}Aq3H#~*tRM#s8cWoa18}~*0}5QR7%>hBT`*iE)ydIGCa^{ zG`N(&j1Kg;eg@GhsL;uZ;d~M`!g04$zl%eiED$NwRumiK9f}mT#?z-x%DV|{jfqEF zTe~_L+49cYo8_%HUsnKrN=i#gjHT(X{_3yfYhU}i{{J1u7{&8M(b5M&&qQ8c?&3MA zLC2Awnw(i+YXqFR8|}*pr8p3XtmVL|nV6WAhI*fPOLGl)bwf&^0H-i7TPn-diLWY` z)PwtMeoR+e#L7;&XE+S>H8n27qzENHjs>J6uxJt4LrL;n8a<^}zU8)tFDL8)vQ$PO zqaXtV2oQ^toK#7B6jr-#X;Z-FQ2<82qEn*CS|nRUSt4thS!HCt_ztXd>g-oq(;@v# zde68|iNBB1w^&~zeg!Tq%}w@9$%6CTlS>=VD(LT3AUQldWNeL;wNzA8i_ceY!+4*2 z_F3s9NTU1i=9_Pp!@6!bUqODp%~hlv7VyBcqZE(5PM>77HE0dw(CIIiJzErgUIbUj zgjzOS0V>0g>CNQ1B|gt^X|2>Btdg3YmC}@^;M41sU~Re7mKRDy9qV%oL5J0Vv=82Y zU(U}>%XDG3oY?l93><$znvegLRPTys)fg~MX=3x?I1}S=VVr88zOr}gH^_&9I3VNa zdkW&nn9WsfkkO)e-x(kedVbEs`O0?ub16FVS;;PYS<-aPB;g2Dq+PCO2-B*}Z$^bViyCmtSO@wP)q4Qs7-?1T}7Z=W2xrKhD=&L#>?K z_L`h%ZI+RR-@Cou5%wfOI+*p!N{S@?*ijohG2GuR{hd+kZ=}2(!leCs_ehoM9mWwP zemC|d0U?}1r|*uRW20kM8qPkUuNM-LcQ$X7lHwx$eYae2S(jwYCMM<-cu!gH*p&pu z5cKuT%+e7$&cVJvd-j68hSzp=jY>y{ey5J1OU|>L0PJdO>aAa|wm8dlms`N;6Iowb zPmqR~u2q`>@mXS@c28HgL|Vh~vd7WUMZgb<-+SlI%8A)&dH=n4)mDtip~Hve_19jL zS=B|3|M0Hbmw~|nX$m%45WlChOS;q^*qEcm&*(IUV(gq-ss7c7&GgefNpLrDCLA)P z{_gbXh@8$nCNs4e>Yu1>o~w5Cl|KrJO?#xazd+vbzAUeK6%fr2>h~ub?U%ApfjnFG zoV-x>qO|lh%75MdIceyqld+LLIat3}9x8fNa$9pGEto2I=G`qR;l0v4?v<^LTjjI6 z|5C=z49o83?ec8lqp~ymW!aSWjC}v-4HD}2$;5E0jLk)4=v1qe_GHQ(Id{p8X+M?6 z%N~>GDxa30X8ufmobgjh3GS2np<4M#*3YjDq;U{&+Pry2o_cCla&u>G5hXr^)d)bX zs$Id)$0VBun9Ngy?HR0beei3Qt`l_x7{Xd|No+ely-R?Dl1M4vVjEsyfW^&eYK!gzoY7v3PnQRng zUO2Wm*p!8>HFZuDhX_4PM{!aLb*}xjHocyV86d5-IUs{Q9R?7pD$0!UvaF=o7|&oo zI({_ON@Cp34`4tE(PQI8jBq%K-g3=uAi~PK)R~D>=|gGTW>IuN@#T(#2M@{5e)@BH z_~D1G7m)r1G9M2;^oV@vOMfXh{^&-V-Sfcx_sbi4?KA^>JRTchUZ&p%B};FTMRCnp zh#T^&5u6N|AKjP&mpix)<^=)LstdDB;r7Ks(%Tl6U_kF#v{iaLW0HO}#pt0SpXga& z$3nEw8x_A z+z;3~NT$-qVIydAV*Z4@^UfAwoI-42)(wnv7~zzZBMQQ9l^@=4y*a9YH2NAJd-PG+ zzHNuR_~MH;;1qUHGUd!hB#=U+l-@tGXKw2}QEbiY9)vZI`E6uE$&8bs;2tdZ{z!vY z_fdtFIQ#WE`pdJ$S5au?$b4Up)qpg;Ddv0(2b*N5AWKGk71AFrlvwRE;!poGsoMF^ z7PDWK+c!v^0xn7xTTS{9rGKn>bO-$}40b+|q4b|jgIlHx5)gu7ZhCYrg3hHZl3+~Yes>P+@A$;L^eG5*d;jGGVAs;pDFyk3 z;w>*UM}OTjBA>`5;s(+>TbqnPB5~+C>k~Fe<{4g;i|^&N{H{CFY`T?f8f_#_6$yKk zN*36;nX!rvB}HR`^cX4Zc^a>I9Mr&gWV{NA22dtW_rZ^tHnZ&_+v*TqD^}_6(*- zdh2FsoQ%&DOO*Pt<8n0kmeh?Lz2t95<}xgi(aCDbi5-!bs-Kr_6|cx#uv!MfRni-6 zl6|$i<(bmwWKaEWDQzp1zu5QJ;*ZtHNMEPCQTD3bl6kw-bXCh!6;H|QwXaCSh=OYc zUb~xi$+r%EN6wB9$UV7t%RLIfHWs}odnz}}!O$)l9g9hLKz-xsdYglm(RN6_d*lZS z^7hHG*giSXx>s(`ze{e(x>c&Wi{)@|zucGq>njIo9I@DxIuApVnK^0-?{X2dWa(3B z?e3F;*vE%NBs1Eh2)If7<5!=WZJjBS=t!*^?^3zDWB}?8!)!U zv9Vd{?_YcLb|o1ep3(2I3THXtz%Vczv#u(h_3F_3Gt?EcTKP_Oo_H=f8EI0SpR1r6 zqjS*+S%y_X4?x(7@H&bcFb|-q%u=wOvEQ6~Cz97%Unva=4%#F7%+~4$*W< zRFhdbdETrsvO>+C5_4!E{HU{;eX8({P^Q3sp9o0!e*jx`-VroO$%o#|_+7E7%91jgAaUNY}5gy3C@piQmOd_&y9h=GpRu}8ua1Xff9snKL3jnPHPRXb@dnk*owDka>an{jl4!$!wsztB6BOH{${yrJ( zjYxkqTiWWLmBx&}63@OkvB+AbZ0Em_qSQZAaCVPm)*O;F1+F{a1!?qI z(QieT44?%_3pO=NX>pOUE24*xhWdK@4v7aD@zRn~>n$XxMv$vS!E|v^q4=}2q*y_D ze{PPPI&?rTY+wHj8#CA(z&4zgDxKMBc8}fm(AA1%7~7(9CL=}8ZGYXsty322Cc_Hg zc*a3}7AXh!Nlj&iKJPA>P+dOQ-DZKgv4I|$81A?7$>M@M*|U3>#8mIJF7(E-?kHdesV0*~4!8^%Ge?Nd{?vt=H+ifM)RA0eT z%9<`vKd7}OD2ERplIw5y;Syg3U4%^_h!5a%18PW%ey%YxsvSuDZdWVVo}l^-etO`- zOM&7*AG6a&WqhVz+9m?hJX#^$C!E=77r7s*1`aC_d(#!9`4prbZhTd|%YZaviR?dk z$?qdm6;jxhAx~94EiYz0Aam8ZG99gymZ(P_&VNLnFMB~sqJ^?of!7byZ4BWj`nxUlp5@*u@NitJbwI`%?KLl>sq295(QueV8How6cLWMw=m9J=wv=nsAPoV zb=-X`-XAFH_wC(heL*+e@FV^CO9=$xj`^bxKV(D>IONVj`5C~Q;i$0naqu|+=CQGf zRkJl-sW9A{89i$`SX+}5;}Y;UNJDk0-7|UvM+SPOs=P!pGtydIc+^+Zs+3$~P#dXjdb^pln}Bwvk@& ztP=qW&p52t;H*{thLh(}@YPV3y$BNBgor)shjY6{s~xsRvUH7g)yA5LBYf&4GwLon zXn-<;B%3$AEhQyo($dmukx|ysr$7A}dHU(64ES@vJXca&B7gapU$*zm&(B%o_z%8+ zodqd)HuVY$7+y-2j$i_VS1A!@Pmu{r2C5gYx8C*ydx3jRnKHo^p38EqoN;!?IBP3G z8M2l1>LGx%i0XnwFpg7#W5BUmkj8i7J`csYP$FUMZ8dGF%Hbc*I+hrTQS=cSpJ7*x0zu5QKc^=+R^H+;h*$_jM0_<};tM zph)t;8l0cM$i8?rLN<-ENrIbh*)(*+#KgSxu0TR^IU%E#laniX#}25DS{OHzw0A#| z^%DoA0mKMCQ&|#iX%tUYxiqSs#6My1Iz%@WC52LulPRS(KBCwvYbGEc>giOQ>NCHk zw5U)#m1RcyLlsFh=wHmHIReNU8t#{dhB|rqrI)Piok7-Rr6scItv9W;V&le*@*`c( z$pK|b&ii`%R%8OFPZh@HMo-ZtK}e|dBMUauP3UjN?z#QVMAsvgR#ZpPE|U1U3BQU|F4sw{z_?^sgU5*`i;AC6Z+qpCq43N-K+A;j9aCq>8La|q{*JzZE}0&?XuIe zRYKhj@=pCGD>*Fe&Xdgzo8@)|Xs_13BHhzrdA8zd+3I^!%6baqt-8157imA019cnK z4h+kK`S;5k`nRIqLTMV;dobK6r|U{o@9vS|j$-MW3s{-t^=UtniF5rDo+**G*;;wM z?j?Dk^dae)kIA9XZn>}US62tpIA*3MCDPg^jg6f$J~pKWb#1+ANU*C&$; zrj>Mu^kH8;(<8lUk?9JVJ2@?9&z{x|bz0uNaDLTJjdRdk3PnFr+RH^r0dd{x{QBy= z1|r;y$K?*nTLTU1h=rQOOFg_AN5?n-(1?OgE078Y15!~|V*Pay{r|C{KHc;+#`;*5 zlVZI{^c>)fLmB}ofu-El2zRQn#%RB#N(jn#0NP+zOeRLv=&SK2i?e&zPGh|cQ+M6g za;bty5V8U_`Nxd0j(;<4pHdl5-Z2T(REXcFKusMdBIb~0WTYK4=jy`+$BL|@Q>w-- zd;a+sjCHB5Rvm=)4*BLcziXwc%-f;I?8i6XEV(&3OR|+28Cmi$bo@$BED_S3yNP~M@BP|4Kk`gi05JsTd#XIjde`(bF8&l8mfw=Mgd=QO|bzg0tYy8 ztV`#5+=R7OSDbEOa-}j|z6&6)IyY5;&r&iJ{sy@B*VRa~f~5Ywe%;HLvNdv?JA2j` zxBl=C|4{z(fBs{e#l(7nWahv8mrom$Dda#LWYPBS-6P-r_IK?6G1PCXF@E&Xhvm?L zy%r?}$Z;=l4(e;FEDLPcq~8nhLWUwAhTcH-h)8g5)QZ8ep#(PV^2`3$zE*qso{^d+V>mi?~_S&ZqDxBBqvmNjI{@( zCt9X^I8~wz+a>IMQ(9|Y*603$R93#Efb4b2s@iH9v-J7`1!e&`*4pi=&zBQOtxDVU zvj+i)Lvm8r|4C1&>Yt05Axim(a`SU7dK4W$u6hg|N_LmMQJr_xvb^Z2ftqp|FU*m- z%yc<@_>e2$x>~ugZ=cDjbp~tz*l9{c+afYOrXWe5=W;#k{2uW1%+pUBL+0}epq_vJ zS=H;itUMGFEf{`Zd-WB0<&~G^z`nh<&MAd->%W3k4qZZ@8~OozNKld)W&}tGC{u?1 z)vtclDpn{1OFmeGl$*Qh&nuO=xf2Hd+zu)yu15buB2r%;l%nhmsV&ugyn;jhiCn!n zAgw#vEF%MIe}W;|vtx(6_`>s6jytNh5s)^npb8dhf(qqDy2r~)ZHy7YoeEvskl0j} zm)U3u^gfyOR!E(Ae&OJfebUv@sq47I)-$9;*I)kw8J`@H(`QcE+|>X0AOE9~;Z#*r zxUMq-MGdNJR;sp&1{YUDAymmQGT8OpltEJ zBc8re88{h|%I<8rBlmXs+Tm}?&oXb7chnx8@)pZ{-aZ-aE|=!98Uo|7RmxT3(fkTkh9T<(%g#tMkk%P)vT{e5@u0mvcwoPNMwxUli=#7U zku5g`ktme3QCf+^3GHpbTP?L!WdhwT(QQDOIg09BeD}NGv(X1bLvg3MSB*YHq){rT zPoI^$@4i=_efD_+X!H$!<};r)2Ot`aKZ93Zeno!pgX@6O0&~8Pud+y5>ndfStyKmTEF1m4-uK$-DoIZ}E+uMghI=~fK9f~pCJVD! zDzgq6AZL^T&mJIVKs@2O0G3$~{N&%f#`>Y^sxE0dj<4Tt1x5|lX9mC^`?Gjnb>1Qi zfCBQ8#LsaP9AnlTgg0(~cLcCvC4G8czzOV#%=lX^TjPcE7xcROY~%uf?7n;M5no-M z8BogTwr$;}fb4sVS#;?4tE)Zo@BjUOlrMkzujO0c`i{*$BO^;70aB26- zx`{?IUJ90Lz}kMN*Bh>{w5TQk7;+T$EKY#|R2QcgBMp&{u{-7;wf9nv3J_+mb5D}r z<48yyj!<)>-jg${25Hc^Jvv>OWh{%6JzWNjlGjD2+LHQ? zURS++C6XQOlO8?q#PFb;NhDBFh_Kn>?1!XCv0!Hy_PH+<)kA+12Q^1 zU`&tn$n-!$6mHf%<~OSFK1K`ZGapd>(no38GP>SKp{k1|sB4dG8tVoiNR`Rmci$~v z``Xv!r59hc3^XOk%T-E{`Et{rS1PbW5|DE{=o6ltyt?wr&dw3Z&nu9E%p>~!mv^W? zk*gO6q*2;GI@l|ovJxW|JEZ=Ifi(SH7ga+YG5Z}omJ=g`_WQv;^>x&T8R%90rC^SV z6xs$TSv-=ODlzqOT2#MMvYW`*O~3))u&+-6)wQzVL-F$kR_f zrG7`$0uksIekS@I1oU7sZEk6nSkmk=M~p;7^^Ij?7xYlZ(G+>*r5EM!zTHdiL84R? z=E##zJR$qlziU!^?e-e%1oo&|b$4eZi9|$o>4bj2dG#aDz4eq#`qHImqT1Sl-2CPB zlHhc%gs01;O+jJXjOv`pcIlXnO3z%2v`y>hPZmqZT!R8A^^>RCWn@MHClb*qt4XSNd<1#cfxNwJ8e*iEji*kUT+kJL~ zO^;&{QsKL9jMdlo2C=MPtAUEB3lT=n#+P%eL{@Krd zZlD(0eaag@|M@S-{r5j$8IH2Da(#B~_IE%Sbm`yx=69^b0A~PWOw<&Ee6?(iS1R;K zkhxo~M`F2yKAgt-I*BM)W)4%gKHI6WA(PU=d^rM9AAMx>MDg4ytE|X6BrOVpSQpNkh5ZU(RBydyMYi5p7ra05d>9!%8*o8s?Mh&R z=)0A|mgijJBqs~KTQFVLRj2_`!whpG4yYSjqjNwC^TG=+%9Bq%Wuq4;XJiodjX%7> z40C)qE>2;O{N-Q%mGvk>283>%(LGjDQZ9M9c}5<@{>J%iQGiNR(g=2z0ZV`{zLy11 z6ln2GoYF+VFo6oUo-@wHJ>yyM`gloMvF#o1buz$SPQrmY>&pXxuB9>n-GW{Mqy-fW z^Xzf9Cr3x(1Rni;y6)l`nnayuYea=U=NtuB>(S>-$zx-uf(g};v&{`Mr$BgG!NmCR z#cUeS1i;MqT+0ESc7sp%)MeJEBR%>$C&LCV0ua=lj}P?B`0lp8LrA>ebPNWC{=nKzr%M7vvBA;16_v{iWP? z>#bHYMxZY$JVW~fA3x!8&O~9Rgl&z{R+}X z2D;U*wOOSQv+e+04Ry6fl!HBj*ouC&#Jz&Q7K=rsqqE(7id%IZLok<~mSzEDm`V+x z>CabQeN}RDa@4npmtgaIY)psRPe!tEuEcXA*jE^~37q@YwpNuD%j>VcA_sPDm#kwc zQjmS=7@C^0LP<+KBw0rf8<9y)M!M>3cN@=|Y^*MkU|n3NJA!T>g;XmVlGFLAGE<%^ zgJWI=I0{y$@?8Ao^%DRUGupc68)WoUOomTIWr+D?C;XOa8<-8qM0<^#@Z`!=cb$yQ zw943kPbU5Ox?lBq&8XgrV#=4b@oc8 zf*&_yd9BIuNUvnYI;}S?Fmd$@iN)ACq6VlZp3D_lPoxgRtgA5SNi=4ylJ|_yB zk|=OTdx!P3t@XgLk!7L`i)>bNoq{WM#xasOyS?qLrmO%|rG4-W)__-<>T9L7 zu|b{vHkp_hmoqMeARHJ|obT(ezd?3v-yw~GMoCRcF(yvO(7yiq>+&~$^A)-4u6raD z3hDj0U<^jZ#U;k-M%fy@0+8xJe?K*K!pd4!8iM*!3mH42x~#3W97N_Ktu0n!N&|2~ zKEy3?IhJ}@it@7cIjVA3@YDp|y#gf5xac$H{?iLqotq*p>U=F%R%pZ?3Y44?4wc!5 z<76ayPa$z(B!jInT{D#F0YG@2+qn?_#`)+?O9pYt0*C>OEM}dOgdyhiEH?Q(;;*f; z9!XBR<4eClR+c(XY9M(nAdHa=FFgN(F#&RLkDqzw8F~1jhYXN$ z0Hzt?K+vU2*DPg~5V#O&U5?ZvQT~7I{daI=_mw7yayIslx3e)DFJA1vKXzX9dl5ao zre}BJ&70}o>FJpsO{-h&C3UydGA+uRmLp|JN+czcqW3Ho%lj$-1@FB{0O>t46X^{y zk?XIv$WUJ|>1tDpe6k z<3VG>X6n)Vy_zYiI{|5>La_E;0Jdq-7p2eINT~Zsu}wD2OZ%S3`L;SN zghM;B30VKa=r5y-G**qGySEhi4%c#6=A$w^%G&Ab>cSI`{{pYP^0MsPFKdFE=qwnoh5{W5{3|rCJ(x8qQ!)NoM+_4lv znu_d)nOFc***F^Nu7R|i?A4l0l*E95=3be5{e3-XZ)rxWtfPD;fw`#()gi1&tF1nR zH(uWZpVN-)HQR`Khz{&b@ZT`7jP2K8zOxm~oz;yRfb) zkxxDOl<4U~U(MpNvbuz**lOcSXmztAKO@&1_Pa6M)rdm}_T%+Euc1cvmea?Ns+2wl zO1A*FgZuWPy|Gpa-uA!o21fe2Zu%UBdmNpru3-TqUc25;@pmU>Z-*xhtZchzUiDr8O+sSDBFbG zhVQz>mn{e^_FyDeg{IJ6!|&N=>TuTgvi{u_kj7(f?k(B;mQYtWFO#UyOQv-2cOt=5 z20hUa21ujShcYr@!m!WYJdtik!gFS%CL_8KS*NnNxU2?XB?pZmdP!LKa;s<>g$5MK zD>7+%Vk#pMVbp+1hfH%cHkhu+B5t=B>NI-e0k>>C7G<8QK79%&jva+tHloR7R5v0n zT&AfpB0>)iYtz_pn9%`7(r8c?7dSU98jUpmi?8iOSky`*h)j`@pcs^5{LP7hb@Aeb zYj<(uSYKb0=OLSv7$RiIqcQ!8DDj{F>}U9u7|#@@%CMIe-(&BpU;grOeE<9RqoJV@ z&CM-%WA9#(ee#}D74P};m#)_wyjv-aI}z4s7)5=yJ5us&ScAw^qK?*PoE7E5{&c;a zZQ81U5di`MroxpQR|IPg0ww`gTX}gIW#juCXMTo#%ElZc8Zlx-g=u#L4aNL+rrt3c zYjiFO!64sfy$>5}Zf6MV?+J)udSq#&i0OmlBm}t@6)I<@;YzPju zU4a;}Th))1i$=u6U}O6Lf-|FMK)^^UA!p91!>8rZ&?e=XUN`Je)}*cWZrSFV$_Av zs+GwsmU9!z3}$5bv;QV*$#w&z@f-wv>D;6OvlTI#RzrTJqwKz7pc>ul zcEY(z#|7s(BXR-R_p@S%(g8U?w;=OnTGm+#fj~(2?%v)WZF$3n?`)euM;lvPQ0LM) zva+(FnFmJu=T3$7Vv$G|9#2Sgau~DIv)Z)1{NTJHaTNQq8J%aR;`K(*-_wh})>_@u zw%hYQl-rX{AnlsuGtnC$Et^uu@$6&<839B|k*L@=tnH%xznQEL-->j?ULyHI~t zzS~eIHc-L&%sEV3icX7CFhzTfnO4bE0++>xVFt&ZJ+I@7U-}|`_`~}Is67uedkp6D zc;t~sltH?bNaXEz-jX?%Rhy5||I)Qr6lOqK20HP`!#_jA*(w}8bP#(5M79bLV~I#_ zTa$pZ26f5~_jTgP!Tm~J(%aF3r=NTR9Zj`2J)fe4J!ZKt5{I=F>PAa!R84!Fo5Re) zEP}2^(K8*0&kSO0aWj*8d-MRh6Gt|^RuqD_mhe8q_ejNGH}>jvkVZZTo;$eID}b;M zu3#JTQ%R(h(jQT+y{dX9?y#`H(CM#u^bl!f!QMfRg7dGz|fOU0CH zz-YV~(-Xs(T=5{g?f~#W55GZVMfSJFc9^oK<$7K-{GN5X4kw(i$Thd`9!R5SetK#Z zW^-H&e)f^6oar$x%GDNU!S)BEHjTnMy3zay+zWS}_Q(m7nDVPJaM$friXgEeAQCT3BrR(ruY7z}68e%kH>G>XMtI^ad8f|_t*{7;gSpZAD{rrE&fEbVR{&oZpMPYpo+4e|%tH$+s zNU5-m(oJ~K=q82v;e!Y8vTSsxPqG$m5~08tzW=@NX@9eS{Kqfgr$7A}hE2nw5Yt#) zSwnYskM^(n;R%JjV!(n6Pmj9VQ{FJqb=(@`~g z8S)ho2$qq2TX3PxE2YV<65 zuwguF4!t&+YXS<3dli-Vy1c$Fd&OcVrN&6gJFy8EEvJFHlYPDj%&14y(ID%?W$M-@*i6@A zIw>8H)P=0so)klnK#U|?R*MC#EiE`9_d;gQeWc`XXwd8m>NU2=C^nm}L{jNl#Nv|} z52Xe8#o=;|Y5&5(J~0OUKCCP)UYh}%j{^1oowG{1Tmbe)F+ayzC z8=%stQz8-92Gz3~B~Ib{KllM2`_*HZn$DtA_T+~id=SIK!(yxaR5LTm?K+lnP?vFE zo{+Usy7njpPE5nR{|Dd4Ku059f8|B&7v1G|T4ikx;}?%Uf}j8FA#^s^X-a#G*mggA z=s}Fxhw<1i9!7KRnQbHBtQRNufXiY+GJXRna&J)5Az7yzZD+9Bc?$XQ9z>Q#6i^x2 z%#}&2o`+d$nvS?UfY|aVQj2!^T?-bRomfkGaH0JSE_BvlC2SFW#}rjF63YV4w03Og zS#v(tnavMkHryj%Pwr*Tfz+xEf#vNi@tbXz>l%gd_PKeGAPJ*P#*A|vpvS9$PSlL1J7o)s0Wa#7nK}LyUWUi zry*3jxVI91hT(4-863mgIp~!kFboJNBALUu)2v1v*%(QUKPv{D-D<|uPd$m5d{)z< zii>5ilo-_Fa*@6y2LhC+ro0#E|5;=%i)r?lWLy?Wh9B#r;K zzx^Hj{O6D2xo2O%M?dJ+nVs>^0&p!LS)}DRh6Q2+e_9Ogn|J(24{_lMkR zm{x1)Y0?7ft=JlibBE3o&L;|sw%G&k>tFjSzVlDt!pA=LXWD3*DX#=<1ZIrNlBw?V zpZ~l@*O<~rVvScsIY0E^!^&hw1Cbz&;EehHtPdzvcud=56p>(Zt94Q?G}M?@JkoYn z$E9f4vM!ClY`ATEcE_UR#OPp=`)L88=220!0xpgSxU8d!q1#IslCJcd%JP! z_%Q*gM=>LMfDKvMld4ldENg^V@5u=J+NyC6NY-?cnw`z;*$B0`R}rLb^tRz*)e)?l zO@<(i`&lfR+SRr$u0#fTf{wvX?fgcRoF!3+Rn{ySM~6FV;jxa0p|_x9POJrOX>L&l$rC4zYbx<){^1|+ z@BjV3$G`el{|dkV`@gSE;U_2aT2D+6S6I{U$Q-;2SAHjDI7j#zGaT-;4lWQ(qQ7ql9d)PW8Q!{2;)hb17=yGJ8tc!Z zrKv%qWZWy6rcZJZl7{4xNtk;3v={D%fb>*6j$9^sdPO5;_)Z&E1BmjtE*aC@t}aTPl~Pbmw)+}>inawq7#vO4V~1S zXZ##NT0CkTO{3HO2S2tFvm8f#7?;Ig8r?kpbu z`Oo0Dn(){!1*Fw&57PJ^ohsBltQ#$jrcw7XmGfMGCoY`Yhb2or(rXTcmhLoLtyKZm z_>us#Ik8QboXR3Ox#kfaZNc(j6)wN<2+j{SV?FJ~@@g8>7ZO^R7Fz1NEs)4wY`Iu3 zR$GtY!hvTLq=gp?Bq2thFGwrwvpwj`xUcJ;T?J_z{PndZjEt-z6k5lsC}0||rGtMf zNoNX_{LLRAkk%B=pic(YKGSFL&?}SB{1B2;K?P|9ylhgvCX269wcO=;bJ7Y#KO!JRu|@!Y@)BLU26cyXjBT)XqYqnO~ZUE zVhIZ0Q^UN!_2&1v@WlY7f+iTGhiH9`(V_xdWAR|h&B>D|HO++^5xv-a|I1(gGL9WP zuHbffcm!Yi(wCKikBZyva^t5z`Ki+DD}!bzjAx&DR#OYe62?t%W8(s*r~S!rWy&MVFp8qSQCl`DV#o2iIwP`%YSYNSlYn$a|)_jwM22Xkk=0`~HVT&eIk z2rei_?-zyVphD1S+BWlxDQ8qfroK-2Wgasvubi#%^5r*i_H3=v858_78pgE7M;?9z z2M-+3ImO<6Pd@P&e(Se>O92U^NQ{tCXuLAI#^@}WSoz(Rl~tKHQ=*9Duv4XJo4EL zW~XxKXlp_J*=i)hLCof}8d+uY(%6^_ovqE9{=2cVtOO}TgM(V{bh2dF2&+|GxWi-+lMtU;pcWt>icZgMBiW zX5kSq$69)pYxEEGV^KgN_u#zPLeyhM_95-Yr=NNXhxWap^1AHRRVR+!1k!ri8u9vT zui)t6gPJY%>@!bkDrEWdDHrOkG12pMu&~sn^tUIo0@U)8Sj$G_{(P9&@MyE=I|+gW z7JCt2vLd%2d(ucP&YgS}=a0XP1xFKdYhDFVbAbU&%{h@>bs@28#rSf+GC;Cs&FGxB z5~fDxryZCbAHZy|Q^96wnxv7~X8Q!7d9=+}QTOaBNaJz!>RT8KUBubOd35*BXzc-0 z3FfA!Hl>GbB?Ko-SLuySeqhobnG(}3#{5XmYWUzQ5f&82XWaT67?Ngxs_E&Oilb>% z{`5$2A=Bf+zx2Lr1=zUgqtS>Ol}z)f6sQrX{P~~#IbMA6MFq0FSJLgXDfKUY@k>1Tz=Jq^aKEzhG2N7MKn##? z$oIy^{IbDa5s)(>0FG4LQ=;To!Tw|KB_YV|2x~63O8?yIpa;(Hc4*`A(y>Vd3+)l6 zClc4j*4P8i+B6zf1WZN%ghFGB^MRE7MdA@7;rDqSrt%Sl7=5NF1cjPLDT<-|Jw`ED zQ>Sc=p`bfr3{Rh32jH0pE6BXM-4?QIR{}`&Os4a&ZA7`tp(B097RCr7QAVDA3WOU4} z?KWr-uP-ku=?*~}opzja1i-&|^ii3I>1$8+=7Ve1Hr%I7W5s=HdU6s=(Q#~8hOl8C z(ml=yq|w=DiBF(qmp~c;UnHAX>VLA3t;!y@G&iRN8T>u&pLFO1#JIUy!QRPd!Rsdj zF6(EFp8Iw}BTj2PWK5aoL{Yjte!_hJfo%r3lzAw6m0oY9gk!eC1|C%|BgM+GHj!bB^_Ap=-owUS*wTD)^Y!jeyT3fZeSr zkU7~qVw}rR!u8A4b~c(W_KYkF?Zc3~#u_uL*j2y$#iRJ! zzx`VrJ9ND-wyVrqmcnV7k1vajo5Q-3>xRW`whd(&AX^rD)^rrl9%-&gV2j;Ox zW^DQl_$)}uk%%YM+g|Cxv1NWQz1IrD!V!c5<6;y>MG@XiDnjL0T(C4eD?Qi%n!gkD z`((q4z&0|7k)eK(0gRXm&7vpdb!B9fjfe)~7;6Xy3;nEUK+Vo zRU!3sb!ZwJY2nMqt|%No8k0=LF?ydyJ{bi`*-vn>6_}&Y_~H2|M(-Deks^XVeol>7 zd5z$V#5Mu13$aL8_NJVGDr2@rdcKDShhVqc@r5tki~ssx{}_+`@-d`zK3u_*Pd=$> zRICH2I#VS|)2cOBq2RcDcSF}zRn-}7(%abBgtV-+xI9OnOB9tTK9AK@xL3LN>)@01 zVPe>o-wWR-C}s0*g3hfBFn*3L12j!o&P79>AWD16ZL`L<6RzDEF$#tSpf%Li;?ThZ z+6$2&jo^USMIsT>N;CDx<8)wgCXdmP5wwZH-rdy=o6V+mosT~9h|I&SK^g(9&tZjA z4Bp}%ML;u`pTx>U1}g%XXlzrblmoSlh(DQ8Dt@E=x>9M6WD(3vVpjH2_Wxq&mrUi2yQOJhKn#1kVgNwrX!e}fVEt4)M z7Gx}!8td;`{o0!+PvYv~LwNJ}5v zn@kBWZLy#!)fN*xUXP|WzheOCIVa}k*D!Ghq$SDZ493MKX_CFh)Y*K?RPPUE=VAoX z(h)M=hSZ5wY!SgaZN8RE3NTBI%Nz~pYm5eGqGS3R%R%@)86x?5DL^ZTL+vC+$myV< zjaIs5!V&gP%OE3jooUm}&CQx!zzl`6OhXia_TwM@2oL}KVX<#Mg;0qTi4LNrr6ssL z@;mX^O_4e}uvw%3`pYk%>exXH_sBj|2GU3#($QFlBm4JiKehfYS$poC>lW%F&q%*A zdY9gp?(?$$&n-?OKjB2qU6167*o#Y>Yr-6}^{Dl~0^4-$rq_$oJpP6fhA_=Bz2ZWC zj`aD>m>cgxIM#(=egM(sVU4tnEi%eg0D=AK6X@86C2~tvM!BA|ay`zOW~7$Pn2Go6 zZ)Mh9dj96n8_Mcf{yodo0D4kh0ci1?bk99hGP`{+n)c8`efS^#hiCDB{2%+oaOp-@ z*SKsRGuo4DCqRuPBK@)K2Z}_bEf(FCXj*92gmkVz`oZWI4LtsTv3}}yj&mCVDDu-t z#tGKqh>S-xJ%?$IMK1~$X=$$WTekt=*`SroK~Xt3nSi)4F=b_HBB>rG8hJ${K^gkQ zcqCZ?|DT2iqhwTUMhjYvQ`rFAvN5o+GJl6g9vStF3ij!hB*0=l0_$deaR2@2?dd^% zeLWt0-~o+%FznBxueT3h`qEcKasNy=JC_&=b#)DR{q;Rcd3$c-oXlNO_=^QX5Jt}4 zPi&31BNGz~SX;Z9<#M}&5nXz@tivXRt{ERxG-UK+>f6Bs`*HN>5iKy@Dt(LNOT&_5 zZuCB-K={!lbAl;~TSt2c=m-v&&ZtqLEq;?iI(ju|M|!WbH8OI>d2htl$b%`{RDc9s zWXo!AZ^wZH2SrJJ6Hh<=v>IAmmt%aaRnPWfD`9@D9DUx4)`4xHAX{}9Ts|wbB zl2nOCr$vCSZLmY0hv~WzR}{X+rlM>JUix}bXp9nkF?v#rBJx=ffHD%PBnt9eNW#N4 zMsT_vVarY>8T2T_qjj)HfLNDC$s5EN81snXO(W%6b8`|G3=a*8f=y#G5!TvJMlJgK z`Za1XI53FkpL?hVm_k3RYfF*5%N_uqG)0yR4BT3cHcU|+a!^Io{JdS2Eq z(+6Xs7ksc<92hkX2{`P-=wKf_wh?`XY`V{Vh5Hr9i0ja3FX9^IXYC_{+9Z7|C;7Sa zmsH0X?b|yQracY~o6+4;58FUz#dG9CF%~0`cDIF283LkkP{81|^-`GIY290?V;C8` zD!?n7oxq_(2XX%oejp%CbXHrtd^U?GfAuS*MW2*|G+x_ie-~bP=_Rx_)FR;Ax}3mBxE{#v%{7q{`?>VD8C;l~nZmr+jD_RR zVK&x_=t7^SAQo+9f}$$Vi?D71(i#GLFqA#5qhNsN<~Y<3>ab>cq$r z*?J3>NTc^inSaLp0^Bogn3y(UdEg9IJC153knh(AUQ<@b((jOTu$KTWoHW!u_n2i6 zXq@cS^S9IEp@;hM-~2a^x&hWzD zkJ1=UqbC`FYkvE@(_2Ykp$E~K8{WoHAgJtAtg*V&gGzyv#9WZ{lxRIfB%($oy)*=D zT2LxVi*;s|&I=a&6NG!*E{w^7r9q)aq$n&kH01y3Wh^w-ZPHMFF=dMjmUS}9LMQ)U zT*x#m8TC*qbgxrW4jEk}QHK$5EvBduP|zs+?svYc8;jj$Q=^&``ft4P2JXH09|eF# z)N{$#UViBneEG`+Y7Z(a(q}*WIUGB7Oj8?K(EWa9YrI|IJ@Ni4IaZce#bENlH7uK^ zj1wt`t)s)JI&(@>`Uukej;-q;IG&6GFnYR`*Pr80AkX>0zuSQef9scl6g}q zq|zs-E{?-ee%ht z@eNU4PyXr&9N71U0yd^TGUbYEiK%g7nc6ba*fFsf|rZj}GO`F&jz z9xKdp4k}MFW)Xyu_=HXm8`&Cr3T%x8eC6M-M0hP^#-x!~c#ak&Y#@6p*&Q3|>oh%W zdQyOl%c;z$rojQ^(kbl;MDKBdU2jR(BqJK*!Js-$=H}+~`57Hou3SPkoq$6ObvCUp zdU_enT8)Nqey|(oMhCGpH7U>5IF-J4m-?kqSeKTbEYw%6CZkvt@Hsb`QvkrNWeS$0G7^k9b+-}xo6VwXX^zrm0CI1We=?+Rdti-c?G1&xtJR0=w}-6 zfHJnSPg7vT1aEsQCR$stCrRE~ki{CdB4A4=W12S2^hQ#Y``k{v_`>sI zz(q78gRMVE=tDB9rP(RG`pQeNjtpxWS@Hh3cQBrT+AN?rKoIZ(- zwVh?AtgN0xFc?E$?*N+WYSC7I7S54=(M1j=^>GSFrZa`(!S%S^K2;P(|1JG(u)16V z#?Bk+ShfI|pI<}f4pZo(shsxC>T7QjFmGH3{Gn7P?*&Msj^N%-=O?o;O7}S0Zv<+z zt64*R;`mW~`qQ5h8)xtJnqTU8MwH8)0-SpnFJ02Uylm=TTrZ{KmU%kd*QF6^hp9)M z9Hk(Qx}NO?m~vcx-8+$hV?6vtAz zr>mm_(^GS*Ja_YW;DLVpxBu-E3ebM*xAx-Tp)oOb7X=`!$nWh8q{Y$`FvYS;b8mF< z??-8lBru${>BBb~l%0sO(9Df!7@N-_l}I5x9#Nxmx4<;dbLrBX8rfu|&Mn3j!C4Wk z@!z@Jq^A5;dTgw(Yi%2gPwld>3!X)bMlzVfHqvoc3`;RG42)A6m5g?1>X-bRN{^p& zIpmqT3ypDUyv)PQF|NLiaeA5F( zFDi|1ro)^RBeSlqPHP%AHqNWEywiR;?^l_bSrXt{Su~B$ifmIO-7RXYE1^UxDn?ZR zJz@|Lq$MLEeZ72qi$Y+*^h3@KqxV&0>{&Fu9UCO2P@`3tTjezS#W_SO{jJyYRczm&2}#&fb56!IVmujHXQOEWPHUFcpLbIiFD}i)K-1jFSC}5fS!+BYPvC0f}3z z0)QD&EB{UFYaImBXt>`PMK4N^X#rr?ksA*4wRvTMEZh=21k9p|R0I|G*)cEAAl~uWKnvtS4QN@tU1X zD@jboItpiND_pXsFV~*MmD*ZEz;&lm1Z*1u*k(rsl*-y+@2KPQyQImVozBDUbZA5P zp}_$qsmW*Jc;@M+(BIdm`%US+a=wP-S+VaL$3{Wg#yR}sKmMaexVg5u-rthH#q~>l zQLbM}+C}Fc8}w3VjhP3u$$kMS_ZA{%CBM59;dk64eaiaCtb}4VNBL3guW7VzS0ZM! zQ$Sj?&ZSc4=ZA88@?L;6iaOy&`!xfkbdRGj5=MKAsnhq}_kFFQr>(TpBQLfdfgYXn z<>#ivBI9sdhtbnigMa#`0!XVpeSF)ph8>ISOI%xYTyp;`{oN_q>zC3|oHupg@{7N~ zOh$Cj%BWK48`;jc5`sH2MNZ6Hu{3x_SsfWw%dUA5U$AXTdAt*0@3nlWRe<1L0c!iU z1Zl4M4)mqmXdK_VKlD9LheLb&&_La-B) zD*~)GM3Lq7H=JTnx|~k^|GC+%J>6R!q@iaG0OuA{6R8|XflegQLkI+dm=xvp+;h+2KmX_djPb;9RL!jEFKxhOmjqaTcx(O@Kl9EJbSHWk+1I|FH~Sz{_4>qPncjOwu% zK0M~Zi6e)Ul9`^`+8P09P8%jCGO(COwdv`e*IvcmYwt6<%2e2NBC7R8WWcNwL!X81 ztRKDAUdEatwj*%L^UH|QLA}7*!MR)(D*~3zIm}qzrqw)$TdX7(7w?IfL?BS|y%^<&oKz^Z`sd}k*X z4j;z!-HNasKZf;FCoy&6ILz|@$6k67sc2Y$V^&%54(#8D<1z>9s!!opPdu)XwA{6H z$D;6FxppEXYmjlF!;RSxKl;&+#DF~nzkf{A4J{5QPMtcfsgF#BXN^wjL47bD98=a; z>MTmcEn`72&GERlmMamCtkR?=U&TF#LdQBC>~!q+%Ub>EgAZb4boAOxy7h5Y<{InmnWa>I zZVH`j)b00u|9hG(LXh^o?|oNv!2!c-tyBt5{C*|YDUIfl>6NWcmZv7MDtcsUX$;v7 zAEGNJL%Vq=qCjo2519osCYPL;S@vUfE{c`eh!TB-mhY7AzXjoiVNA?ev?gsj-m6sp zMxS%eb)h33LWAH2Bb`IJClm~!si{p2(Tw(c+Kq$hX7S_-Y>p|kwnp(gzq1#QJ=TYC zI4_&d{PpyZok%#H#qb9xn#Pc2b2tf8R)EeOq&<$!^&&Vow5c|Yo(_)FcIjESdlaJx zjDpRJ0ZuOrqhb8rTY0<74;o&VFI`4F7F7}v+W?6{TC}FZD0Qn;SUhhX>VO0%|DlH-Mt}bx1_lO{D5Sl;P0z)H%#WnoKXvk? z(u8+)bt9jj)*7vunUxPDTjT8r0qE@Ps-`^e^x*h1V(G96h#u_H&6P$V4S3Vg0IE+N zza>cH=e2osSAzhot;s=X3~}zTaJn3*lnURY(Mdo@Ff?|Jt&t7ZX`r#bi3V3O6}J2! z^V^=+Uc)P55R%;DM?dSPWwxrx@Fva13>Wl=SqTmpdkS&l*h=W6cOq@qHTTG^z&Mv znY)!xAt_*ikr*2FY$(r~r2=5xxu;W&N86y*urYm<=U}v;01~X4wm2ccC?NOd7a`e2 zBor`4*D7z&a_Wm$StQ z*AZ*jxEIqfq63X{uzdba$(XV6a(inF+L{`XPbU?mFHGlj+-;2w=sbE9!vf0BS5;|a zYa_sQr*iSgVPyBbhPgARF>e_`M!-Jna-ss9q5;1)0CvefG?k9)b#tDw5w=C{*VI<6 z>0vbbn5N9^3OWe>;U7MOKl-Epf{%aV6ZrC1zp5$8bi_FAR;?#2Jvc{MlT3$U>GQc$ z;qx}j-bcqqergt%uiU)<^0ygH%kM%o&Fv1Nud55D&PLfQcOm-m8!Yb?NTW~>&|yXv z;L`qLoa4!OLibnF@-qdJQMF2r<)tM=MUMnR0)(!em%?^MtiLAF6Tw-j{P;&d)OItk zyztx|Mb%W-$)3cN%BZaGQlQAab(Xcj+-vhbOi#$Y&&d9@GGJ&sZzW__WP~fWI)c=i z9ocnHfk-4gfb*l>Dhta|L|2Cmzh8;OR?L`Kb!#uS?2<#79?L(&TC~xrAvA;;Ma$fz zZ;Emcjc~iwCdSo}8W_8ETowI$RScqBZXMshuMdCthlkMCCKE^iz?@8?(n+wLkV@H; z%zmJvY4!5JNy%@!gT845X@U7Zq;e5`4qSvxCt_5IsaiWRaBlZ_>#etyD1$6P+B|ln zGOsWX8Ync3N$%k?4{2>07oqV26{Y31!{;y;nD)ZsYVb1hO2fMJ(DSZusON~r5mOu) zA=~%HK78@sFY4w*Vi4Arv3C{O_!xkerN%_xfAxI#tJ8RhrAg=(R zS+m43C4*TuF^-9NNM7^k=Xh-dc)VVolWB9ANI*U#pOeq?FRzzG8(RToqk~{hQ)>sh zWzF9xY$qrqyJAu1MS&OT@JogL(pXEjTaB$va;}M-0K>%vEY1~rfRSyo2+}wnKDR@z zuh0)}rw410NaW-g9Ynywny?Y{e7PNMf8C6hKX1n1j|6M4FPh}F?3y(m3)HHyz)n{O? zufw#@hn0~LT&$_Vn@5fq0cRL}t>|zQa@Pn%rlu`e4D{i=xf|!2PGB`3L~>d7&oUyB=Fnax3@LrB zD4nrG=t~{n^jcg%8T-417vx;CLxv#DGS!Zj@Q|UNDV2Me&cmJ}^q6sAZijk(yW{-% zH(|C+;otn5LwNY%0r-76EG-%Lw%JM;O&f~mcC7&X-4I6phI5wNj;0Z$`4_qn&-;+c z779f*eM*c$MtsV_%iTJ-aPMSJu-3xwaltj(uZA2AxZN!-o#z`RAY09%zFD z{R-qrFyeH$@zIa|sn(qFo@f-Y#%O*0;;#)`dLYbhL9lUc0d{d zfKu&uoGp0rw=jYjg`)9AW3oIlR0Q}0CG0g7@Ci5&qlzRI=g(cZ$xvoGliTgqS~G%q zzZh-jHa76`%P$Lv{{qgQt&=%)M0=p^-MbHgKuFI)+W0^G!~djI@{A&K{xJ2Jjx7SW zXea;|8>tWXX}t;S2Po#wI=#ozd0#4pw9f)dqfw-7+&QY`1cjQUZhh9;*wi2;rBqmp z!|Pzw#HgN)pjg=g#W+`%Ri<8v5S(o{77FU*nrSF7%0?idAX0?qVV^3adnLWJ*J07N z1B|lo^x!@>ozG)rs1GsOAGn|J{`eX_tE=fG*2cV8n#^hswesgcu_q?bx=SgKeUS-7 zCq#$ww?lrc3!qwzhBaEt-=a}N!V3b*N}XHTiHy>0kCR=tY8Z`w)QE;ZXi(|?qJZaP z#sn~hF_E<-W5U`Fw~PZLtsEB;^f2{rOQT%A%g<>G3;BOWL`l-oC19wjp;lQIS$mjG z#W0mkYwZ^!qqDiR%tJq#8|raVz!S%X&tOK@6A3^T1^6(+cID7PL%?+>a^;OTuyNo3 zlKb}|Q+pPf9x ze)XiL#&fL~Bj!Bl5MY)7!LQ*nyba-6Ckv%h_6w(VRCSn9h727-=gwV3Zih{^w-diV zitf%X^tRNhLu;!&=|kCG-b;{1;oSBJknst?r|n+c=jg~+J^`^2r=}-y>GI9(h;DUk zoZFDOl2k_}&&U0&w)!+)diF`Y_VNqZvxOYm_qy&uM%P=3(0Rd>?6Bzabcs`rSx@=t z8LUJDIM;jyTjT(Gl1DeamRz%8I?<1K zs2#p+FQO|qN9Trf-Kg=o4E0Q@+>=Q!=tHoYM`5>GF+DxC>rtA^m#^Y`-y6W6e6$*e z4tX#?x2!bO*9YJhLT{)q$uziD9i!SPW~DIWTo5I9AvYNYX*F5*BKc`R(KhS#0Cu*CQ7+ z1YQ#*{iQE`Nt*)y-QWE^zVf9n3Q#lQ$dRM?y?_7v_}jnzd##0|fy6cfY&e}xXEe?6 z#TQ>iU@Rd2zb@eHg3R?hPb2wtk;%!WiXt4vgUnA%Eo3TGd_15jLu^8uiH+Y9q)`aK zSg%OK>Q>P-radx+kN+k(;~XL*9_il$z5-h#qpzfO_xnkPi_Z3THQHEvMg`_^ z+F>#EYdRk5C}|iLjUWEC^)xAX*^Xd;8y+&C{6)stS2+t zqbn8GxA{_8EDB&b-`{~thhD+D!>s8z`g^jEk)e?NEh|koTAZKN=FCBx1>VL{w11)n z%^z(-(?=T7_fH-0)@;s1C>;}@tRJTOay)6|R6@&7Cjp%xH2x+t2>~oa%4piz-U5$X z-WPon3IuR|eN~-=V?K{MB`mVA`(U<=tFX_8!-U{nffZM z9zA3Txb9Tm5}t=GiNkq z@`0Z|fPedM|1JLD5B`Ia-_TK5Jg95O{T@v(E`4ryDgYTi%Yvv zn>G!PCxm(dwvM6BT?L)LN%CHUH14&uqnM?^RxYIuJK9lnIs|3^q5V^|opyS>{mxaa ztS-Up^=PRJ&sSvW=Kf%GJ-aD%C{o9B-O|~`{j_**xrr?1XQr?ev|%o4LT=fG)Vc$~ z>SY0VXONqiyr3Ln+KHklP#$PbBhClw})A;`P#b_8`#Olg|76ldu;8qgLWYHI&)Vctp z8+pGB@3vDMgSrw$P14{zh*MjZFD`ntQyow5Z;<0;t|yV7;3MjapKkd#uB7 zn#7P5W6NnX%YAs&gLvuEW!+4cm)Df~{xAOGFYx)#eO?>?@}7$u&FRypwP|o)U!NL! z!zPmwf-oFUhOeLh>}UGDbSfirdK$;YfMAauvd{4uaUL>y#+oxDCH9*vY%RdT`bvQs zod$jZX{4miig7wWmDSX!Tq0ZmZU!51sT6C;3Tc7H>97<63;mpc9xADjfHSf+lJPB> z5MzDgoH{M&Nqq8GPs(2NC;0f^d|ZsM)7P#P%3Q@>F;74JtN`^5z4kx&5C0K+UVTMb z3Lk#>VSM2WUlQfEtOipo8WV%3ZP&F|e1rX>$@UIS_|2v)N`AR#iul6AI3&Pmj{u}2hYz8@yHi^+ zMEq_s7`@tajcI(v_9`J~A-ytV>cdQ1GuG;=arNNcAso4M^svfWZHFd5^6Rp8)_ocoqs&Hoabf?nxcvOXxU}a< z%#U>-yWv%tSa&12Zbx)cY?j4AO_vM`z{}=`aB=T5Sm`(^HbjS}NtWB>I}rl3&{9A0 z$v$kHc@4|GCy`z--vrXg>NuFQ80wgEx#!tu&ne<&3V_pLQ(D;4x}DuR-hA_I{Oo5Y zeDV|Zc>Q%J*4I`sKb_xk+9T_VqRBMc!r2d0G_6%B`R$tqXeUwxY0RySO>OSRPN2r< z6zRlSr$(}mw=N5?-sK4BZXK5{T@eK{0n3O9BLh7G*nFC1LPC-v$ShFD-lyzaB>G@l z+IiVvN~48`4jsmie)uCi{@7#q#y7r+FZ|<|aQf6~jhrw_!ZfyTed}BJz2EzNeB>kl z6+ij$PcSIwVt+YOe-nr>weL4It#LacNy@^)s$t5_b_Z+vJWd-tvWZif6q(_QN@*uT z!;*&oc18mY8lNa6Q&%%=W|Q{gn#|_ZfZ`lseHiN>KmJ#LiN}BOsO)1F-PhO`uXyzI z^x(N?p2i_DI(vJ21(4l~Pk;I!#3*gi2FZPW1NghYBdNeg@TpII8h`!QAJ^V!q0qR3 zI`-5f)x6s}qGULv&!@+al=nqq52Nd58X?ok!tR^NL5iOtIftqBjIuJ4up=PGZ6XrV z2*vFHG?i;!&|*(Q(({ujg8h;h*`x7nbj`(U8kg&JnmQHKkquA@Cgi#Z&MGxl3DS7Z zkN_L9h*ffs&Yo$KB-MyV#;@Pslz_6;R7|OvS4aCWD@KVCDHZjZEw(j#RwY8+(-#$x zNRpVzEH0c8P#|-kEeU8q6o1p@@`=$sRZ&_x=W%W#qhK`dmv!NEAZ)QCY_`e&i(w(p zoB*D+gIq5~T7JHEJ7aQPWLyZS2*Ok2V$7tX$Rxr77;gysr_E2veW%4}O2&{&#*s_K zwWk@uBU5qhx*odKF~K#>>$yI^Zdy0ozK=8KgU# zk?j#fO~!>0a60qotYL2`?h$;A>5bLZRcLIezsZU4)|+o4m53`y8?)V6&p{P=CX8q^ z`pGfmnjh&Gy*L)qsF~66=37@Wzp#GCWLBxvtn6bGXc8bh+S{t@+3*@alr3c^AdTQ^ zDjUbrY#xgQN7lpRt%IbpHbyHZI4&$5v)|n{> zCRaU$I|)=WcS9P+Ga5~^S4bjq1EjTJe0CJ6 z$pV4M^=BcAG7*nqB9*|hY#LY29><~>EKBqAyT;PFTL+^vOfe+IKPmm`8E0KsAp$5M zPBsLO$AdrkgFir5mnd-ooyFtQrHdLlWBN&Zdpo}NwXfl`pZSdbzt`(iCClgu6)P1j z4e8O*QCO{3F|Nh9$WCio<7DpFv(MRXNhVXMO{;|Ekq5^yIOc#D>N zjJ6bw=Q1g-1QrA+k*>M){)^(-#k#a^F>(_b0crDdO2NOJlmDNc!R)nuX%vzX(Xm)b zT^i>q>y2Haf3H6~dEQ(TbOvyZ=sFqd)Ujmr_D;s6R5(W&&1G6KSv=F>ttAs4Q-hO# z3F@L^NU;`CL6}?*!KBe|aE>#rIWKm`s>6)6a0tuc@O8owiV@(tQ@MEPAkH7$uT8Tr zghFU}`DGkGc1($}N)OiI3=Rw;EQV?6!Exc3T1mLg-s``5H>rlo3A@@9BV ztVeBuLx5{|JiIB*vh<)1Wi)L!`gJCgGwAO#p|`a`_OjkB_ks__SZ)QD1mDVA=t ztcze^)4j2$+v4H^&duj>&NqVd_CZX~I+0uVDoD#N$r$7Y5f__#e5pr47}FOEpzLN_ zoA0OB99o|?x#&h_Rrade1ZiUe(nuIGx#ZGwrR7?}OEYlCAMhgkYu8Joa=di80n2d2XNGiFHld5A7Pu9EBS- zQ-R2q7YPM5&5-pWI6MQGo~+}ylI%zpXH$8q-TS@oR%{O1pA zl=YQYUe)L=Dc+l#ThZIohdD8{IZtUQac+^-Eg{Ou=M-=@(5ba8WWg(KB|(M7Iy6gn zy&Aek1~WfP0*9@r_6wgWoQG*1(SY}s#2`BrMgUkd$a=m)O~K9A$9tf`&th~Mp~@sF z*L$7e@itQE%B2X>I8Oos>aSehdA~;*467@v7#ZwS_A(kEyf-rTEyKLD;@vszCZ-v_DrW9Rl{o%{=&Qwpv=@%0ySl5)Tr(58cK}B5kRn}?QR)ioJShD3HUId%gWeIV_|Mq$(=|z zLRlIfzN>)kt&=Bl;m8rJHZ&JD^vErV=NIKUR{}xzUdlj$})G|WtwGLy<>p?IO5QZMqBhu+u7{i18 z7#ir4zXPZ~eF}T`yatEWg3y>>0Ns%G0vr%w%NOb_tTn>|)w zWGo8pK-ToL|L2uA-@G=9c6M-YrURCGkd3nA(J12MV>)-K=eBah?55BG%35p!wTwK! z(tBeK@QQ%6r3oLBV?Bt^k7%@vQ7hJ_1r~cXm9csJja#rX9#a4pTOGZgF3B1-bGG3c zOXSVp8=0&^WAJsu_q_A1aHV@N<7~#FwI2C+4~6@?(wc(ZN)CdWaWTAo_MK6L8wodk z?T0qhiI5nmY>XZBI7G>WRM{vv+rr^Mkmho^@h|?xzfeK|8dtmr0yow$e(kGY!{7h? z-z(^EZEeGkfAnLmKdY*$#_{7P1jIe2{gWnTEz#>pCMia2*vOZCzij>O1(rquEJg+_ zff?)0s4TaPrr8RS3L4!;?^AdlzE6sMraG3d_uCZ`j<8864g4aAq>)e0KEW};7(qZ0 z4A7|Ld*#=6CsIsz^gGP(yX{zB+IdksRSXFz^_gL-WOXe%uk7;7Lc~)wqYd^ z73FOV(xT}Jm_=_G?axJN+F>d^br1Wc&B$*r3OHMld9yMp*CL>;_=Vz3Uisrc{$rIBCr)gdp9I@%J7Dc= zEr7Hwo)7Pjz)T|?vL6tXZ5l^;ozd#j?{HsX?Ww~&44c(~<>dlWGNjhd0LXL=%usf@gr&j=`qYg??NM-I!s#qN!4{hQjjeUvPw&g*NaC@hO1$eNv< z-SK`~deB)OiAKaO3u=8B$+}1uwN-lmt_t;qg@kjR2>a#Ut~uu@d3kozbMpUdAvh;Q zXU+?FT;X2SZ!1GPYl1W#o6lOM}R*xG|d;KyKE8(TN7MhW8tOkD#x9>@~yp z+;c53$D1%?s>ZofuVT?ug@gde;&s(4OXL}h=1pjijT`Eha=9lSnZY3eOke%#C3JSJ zVIn&Nzt^kipXr4})4O>vlG5FM1^3;zp}D2>hE_r#LSZ5JZh1xDEoqJ?xs=uQ8ub{+$s;v!p43GYHI~*TZgm6#0sPB< z`7bqHiN(^Ih8Yau$MZ!uEc2IczV5V zj0wO?L<=d8nn@rA{z^83ONU;@`alO}vxV2op8*+y-3jA{p^f8NbjEV%B@1LUr~fwk zTu~YYr1eJScjy3{pU1k>f(^&0GCr36Hq+;*Lo2yYrtnTqq%qpp0ng~p85%1U&PUD# zZNnhooh=~P{F%{gM#S%y0mk2TkMts&2xFt>2+r4^#!_Tl$FX$0ijo)oHQwEdx$btH zKXVEfs?Hb!t~-_Gy?e1Dz-;*Cm(cM1^EWxC$@I$pgKjZ~OV=)+6C-9!_bjxu5TjB+ z8EZhf))_r#YV>xIPmVGBAKFd5@OZq4gk?U<9&F?vXEcpYNT#P7?cbFMNksbl2GP^n zgn)GyYVCeQnAHLk04VzZ4%XHh&BMPO`9YkO}8sO98dLgN7~ui^P^ zeN5e_LvnW=c}BvuQ3PuI?P3-MB|RBMWMNe7TBer|Yj6fM!1p?)csdve(vCMK5fXCJ$Q7x!F% zFSww_fyZIfUP8>N-|c7`y+P4vT0^PqT|%H%Ie!ZYSg&wIxjm`0u{948DR|gK+Hbts zZYMN!B3?1xFOw z4BK?nVV>G#*JJLPK&)6rj;H+>yw57RHnjni2WUE?DLHxre$D4|)XL zBsG1E>-+6@-o~Z3F5&W3F-o^#sJ(jiExC`l5~}cCcyF3XFg=Ckg;`uYwGZoEO_)za z4fj9_Qyv*9D@t*1?ut)hd}aot6FxX5^XQJ}ufJFR*`hF-M&L)LvGYw;xOn;iRy~D! z$>Q%ZlE!(-{cEQO_cTUx?Pepk&^wgt<5K8z=MX?PEc1XQBqQx&5cV_**f5R+@0M`= zFq)JIk6~G#+aYX>3}{5ObgYU(T~BA@)ICj z3~PA3+*ov6XyDQ=vW*mI`1u?eRc8t@8)jR3TVQIf(&tE!#z;f?y>BPnTbNGGd+qBb zan_p5d1Hfmd3i(D(C*Y&o6Qb%v^41Y-1YhPYbrY-4k3Bg{8SDnjvqAyY17#hx;om> zSa%j7zYEz|NXfP+jI{O3Tt9U10OkZB8L>N-%eaeawY};HE3ajyJ|!b~CY8P|zJkkF z&I?9JD%&I1V{|O2b(95%wy%Dj68~xXA zM_A*w;A||UJZ4QutXbvt8`oJONXud}H-$5&H}K=1Ttt06YsID!76sGT*r-5?#16Z8 zP!X}2B%>!&`58^gE1gt3k-!Hqn$|d;#z4lc%r2z^Y9u=WX$2!?W)n!8%1;@3lDW7z zmW)miu(7{YBpenaV_u_H@AbiSCex4!AN}Y@@v{eis>V9gVcA&pp@$yA$3OlFRGq21 zR%iDX$V8aC&enLd^7&A1UzV5GD~_PkupAHg;kWOcK!ip?$Za)bYpm2UL}yZ8Z!i9@ z-~WAWbY3I{U;}hg@85gxy}1AT-_v?qo_}R!Rp&q18fi@X92Qta@hEW7l%yNc1V*=* zx}K zFe6nv4MHkDg2`Ps%;bC|8KI$Cp!z?n(YmP5A%@5}PFarQ8x7w@d?Ky@IkA+)bCwrz z$a@qQuWoHX5YR0xE+FJ{Yb1>20^tEMTAA8jf3{lYbp&YvYEA)a zfzzijcjyq-Uw_>Ybls82K7#6MU|;}mi|$-E+0 z2&4%JONPg^Hm$a%8m&!@3fPKl$dl=avL&}RH)%up>0I*qd)tYwEp;ZgA{k}f?hT+u zM;(Eh!(qqT(jwm3L1s$nL0wEoCiNwSwj@guv_5;AwmG{cyf@aeT0}R;!olm&wA%t{ z3oUTZH0j^c*8@wP$gR4uV3YBf5Ky&Z*7V8J&r~9zr9NbqESOw&A-5*rcHM>GQtx&0 zlEJKf$L+-K;muN!CE|;4*jEsZE^AbS1L3gS(bvu+NM}q8$ADn0!J+dv4By2OAL!U-c4$?Rgl|UpvhKY$AAzvCQi=-qafrxAb%yXt< zOHPgpsI%NGc{?I$pN7C`M37O6-aC>cuo3W96u@`;pb^Ga0u2of8ZrCgyh}KZmb=^{aT`fd}#Z?|&a(`qG#2`fD$1ixE{=VsJ49l8z{^ zfJ%pn^y3}ctIgWea8o3#r~rpss}$U9Wq{GEPH;lv4a10=e2+#k!IDdi;q97(vN)T4 zX~sl3mF|0$2#iTW_OA6q&L~mPr04pIIX4 zMLre7q0#;LRMlq?P6^Oj%;6UUPv8yr0YsN$xcbi9xcc^0Os`BKv>e9t#aX=hcEMS| zc`>^*i@`uY%rOTtb5qDK&Y~-B!u{<(MSo%d)63JchiqVBWdXj)F<25-B&U*?nVwYk z;_S>6?70Li*%`FQ+~`flU`kEFHZg;7(QyaeXW*HhfHOA-b9xG+nG{;0R*X(WF*1>t z?@V6b%bP^OI^*)3^RoZ4CQXDSCS-gp0z<9`HELweRdTTPNHh{wCQLT|H+tqf5k_k{ zZ&~cGO_LeTl>etO&e!QEC>rIQ^X%nk>8ii}+O7!ayo|p`&P{;m8SPWH)}$Dz^I~wF zZ>z`o#wsk%&1wX++`&j=GZ_it%&Fse=9#CIB46u!q9J8LrR1G<1#H#>`*EIq5sd)X zor-|9w@#hJtboE;Qw_p(r`3_db;`Mar;UF3{27_xUPPyn-Qg3vYuPZGMx%Lk^}ISL zjrQ+KB$b|p+Y>}*YYRr{gkn9S!S#J8H{?!08malGvuTZ#aV}d&O`7^x{2tp}w6`{E zs^fStfJ}T`fnD+a?Sy0Jll8^OuJ+d4w2lfjvN73@=me_tpksiz!0mQvO)$9+_&ao7 zZk0K*o5J64$=)?4dMtS@-Mvzf=FT_4=BvZ-U^Sc*jquDjUw@CRjJXZbQFAs-uDFp{ zwFpS--t_%SgkUVWX1z{ElHKqiv1U>Fe+FrK(;mYN4I@#IMq%`9er^FXGYev*&5PkQ ztsdyk_I6b?R2;i`uy0y6cS#JWb7*c_LMmxo@V%WdeWm9E7ER;83}ziNP}@&{n?YJ3 znl?Ub#)K^L;xnLPTM&S@ZX3acv&XS4%8zu_$;l8xb0+;xsf^8cBQ$G5Y|4#Tb_`MZ zJjof91xUu5H9G`;jA&ea4~Ry{xX0)j*|kodJf%brWaVSM+1%WU0MHMq^zXKibcIGh zB?pa(*_k=mEn5Qs0+;J-jWXw$YORDIWo(VNd+;1w6ScKx#jbi4ue|b#0{p6~YIsGt zBolFsYy|y2ZLIDZ9Z>pWdITBaq5;cPz=H9*`5yS1mFa?_l(u5A4$$Zh==+f$48IWm9@&Ry<#&J5^DDe&tAbaIDgR6!UvIq+ zrc4li0d%K*9eAYwS-c>h`+5J9I1}nXcQT5OYe21m`*?H$iHU5XZ%;aj)zFwSJ{BWs zY8c5pk4B@{X6ViiMt`TLCgHMM)uB=P+;1fu7tSk=Ip-p4qS)*1Ix{3As74M15!NX( zT0Ab}dZ+V+W6w23BaZb}e*3Tz0Yw5{WRh_u0hkj#wJJbuRp#l^!W`yjrnS!c`WzO3 z#?;ojnko$SG5u>l+FD!n`=mLiWW|V0Mg(NEwV=7-EEfD?9QSl$rLhj@PoFdfTz4oJ zj~vFi1N*RCeF{?p-P$zU=owTh+6G~$6G<_!2M30bO673zqH#2hHEX*SO^ZgeuvwgF zJ$q8-N$C73y7YsP9(wsq{w_L@3EFGCVL2J_}OqhKao=BmeKi* zB^aI(0`^}^2~dlSdEgVB#&vFVJ-aE~ zkJ$2tHR55v3ljv21|Y3JeFE*#1K0meaZfkF5p96o*$Ah(pr>r^dbn~;*FWQ#Z-qJ6 zgv;LV7R3mp5uG!dHj%xN0>yEeO{cIXAnnrrm#`WM zX`RMIE`jK@^QLnY&oj2rjo{pnHp))sLWrj#3e>oW$3q30YXbM><)vLucfHlYbXZ38 zNTt8NegTV%YrEn#{7`l-i;L?!BJ3zV)>hX900lG^qG;stFBzfA*&4}~cDLF?(CbIS znOHQYX&yA9>7ft!y_!zsu?#7&V81CErbRHps1Jz~w63hIW{jVq;Y)DEXjtic6xIR| zoTyPOfTi>^{C}oE5)d-=Pzhih!jCuYp zu0#X_d&U?K@6p*bPuP_ zVc)e#dO{naugm;C-&})b0Uf14gL`T?Jg!mVogQz$eHH6#E3jG3x^|47XQ>p&g&>Sz zjD}1BG;>_K5Rmz|lhjF`qnPq|JBGUUOOta1Y=e3&URe*Utqi*5T;Y)Fl+yW0{lc{5 zWdUadxyu67sL%M`)a0asG4oKL8oHT81hoRzI@;SXL6CN>rNdM@j-mb@v^9$nW;Q7y ziKZP2*ogJEVxplMD@P7u<>(zPwNWpOG@x zL?axb1~{zEst4)7qQliT)C@HzMv@Y@FF6K&=A_vAKPVJupuXq9^U$5m37h(kP6c4Gpc}S5I8P zkA8GP44XySShF(GdbFwCZZ}CLXGLo2BA$O~5zS3=n4YSflAlVlZHLs!?-yZ;W_L0O z>(tOq16vd$kVYXLe<~Nfp7O}&MTNGQ&tgLq#EQH&FGeX}V>E5627X2HFLVi5D@4}P zxtJ=_L@cQk{wx&bU#6q6=7;^KZl_*orw73q+XS3He+f%V>zJC_9jf7XTiAytO(}UT zk(fd(HYtCnH@*IT6_T;AZ9^po2@>cbcbbP})3$3AfC_`)%QAt(5Mqg#EVY zS>38Nz^$Zk-xiIo1Q-bvh0JSIMo78W0yX@t(_KnI+P~fR@9@{BJ}zMG&oGcS;rx{g zI(C<@UdH5l9?^vuqKk1nI`kNRG4MFNIUkzGn{j`~Pf_iyg)L#l#7r6!i&>lqR^cm6 z|Aev00515PSg`jalJ&tO;uR(M<%X}}HQQb|CS3y3j^p?FlnI4Vy z?@A>e&&xjPM|;Cr*ax?6%>SY65Tps{VtpB@^ry0EOePsg6Oa}OXboB}Ly@%+3ta#F zL^P-l2u9Ed&=MivP3J8Y-J1n)FapbTV(N)lz_aCgqp*x=Y|M{@{LY0-m1oCMcV{wb zwF}Ai7!^I{6CFjpS?PXrJ3<}J3<2#6mkk@IJF@OA%d({2gU1ayUGY@6u#sqE;HTv}Yh z(%d{2Md+nWO@_tz;CYOHqf|7Na%NOEY}q(ulgJ7P)94_PS zt8BQrdvk%tH6v$?n(Y>I)q5qe=meq>d3K`sisEsHV6}Q>gNz$~=lv#(TrMqbTpOL8 z9ZY##US7qhso*_l%^3-5m}0oTzJBdfcjw?-q^FP01lF9f^#sXC!l59-0YB^m?bj&s z2i41t5JvRtvyI3?I3Q&zcmke^kCL{W(4DUXc85xg+kR{A<+E4D@&vYydG8X65s z5{i`nF0Y3K1&L^6Tjjfz#6o_h0Qbu^lwQ-Vg!fwX&@x?aR6s4kD*+^dS)~ejQ@Uf- z-@z0e#=Ui4$ItqnfP2cX^=O&Z2|QwY9G|cI3clTbKR$Z=FYw*=9}8&9;^LbZamH7T zPgZ>f|4@6c{C^EH3ptz#G~=sH-&T-zej+WpqzVtUdy3>ryuRV!#b~9#Wj?*bfoi;Q$h({iN7zg(6!_mWsw6X8gPdz1otO+wY zF=Pd(agA4>IgS1<(Tg4nOs&wc*IX`_|i+5eSaSIfB~W zg(=M3e>5wkLcMT1LZ_$8)Q51`eKSZSK$~iUJyb6`>#XS5ZrvBk&%x(MuxE4CDWGGm zSaRKtB~w)aq&e$%1*EZ|c5HD7`FV#*Zq19>%7`}5=KIX1>rXorsFmuKQn?AFG3C%= zUclpzU%=-+cL|Zmk`5*t>)9+8yme)FqiHM-LO?jM|!P5LJHcW!rgFeho=PLqf6yHJ{{PUd%&J79( zEGSxzJ-sh17G+ez?+swgH>So1L*Kh`6xkXJOpPCWLXhrmHmE#_s*|TsTU~`y$B*Oa z!To3z1?X{y4Zrh#l$n_oT)tdc)Qizpw-`>E;vw^gWH9u;Rbrr4dhq;3wni2C!KyDJ!wO#L}*+xLgmueTg1pLOKX(Pn;?YsU<6*J@A12?Ax4s9Q@3sgJ$z4_ zam&UZE{j4?AzWu`ECE`Ka#=;WF{-BxJ6Q`?W@Pi4nZiOU`$~-8qL4P6DJe{2D?RU4 zqR&UJpV7A>HM?D&AEPx)BO`F*XN#;;;}c@EP{)3~?(D|l)6mFpnwuLYznOa_lPZk9 zd8cPFklGwc>x@ibJTr;;OiK6N4VO*!;rZ(zje94fX>8J8$r|9C=3EK-#Bk@FkY~>M z!Fe<+V?u^Tjbw6M1SrwNd^_V(E<6_rbQm$^?-_lDze5nGMh-!{bwF9yG-^gev1E?l zO6W{n4f%2L)B#*Pdkib-xMqRybw0y@04g%ClGXFbp#wN|>Lh|=ejRH9wPON?nj7ok z8XZDdz#c&+@1b-Z>6~_ssDp*zhrheHun1dAD<1vkH!;`WkE=~h2tN6wA>g`GDFp%byar5UE~mYepm52YZLfVBA7 zR-_+0BLlffIG5?55q+U8Gh}a1#Ud5eEpuNP4~GyKA5#*M%AM`+V0Li{;Yd_j&FJfWXD{Zo5961hj6~54vVoMvQsG~8o5=IMB)0qq|Hq!F^|z_x0AfA{q^Jgc) zy11~6wY4=(JG`6VjL`;0kd+LCY>ngNh|2!NhR0+zWZDpoSk{XbQt}F$H4Qj|Hb$<> z(;6uRZUkveo1)RAMxH1J0vCD=X&^J=Rr(zY6;-i5tNcCw9wQD+c}zvaN~Ay!sMZY0 zdzxNUb{!N(D+tgSrHhI&TMF`aCK-gs-11u;dJl$%Jnv5w76E`=jBcBNP|~xrhZ>D> zKBJwaG;SxQAnnrv(qdClB-0Tzcl&{SWGp3Zhn>Ec|@#KSmt|;jz#c#M&2GVv1IbmHwKl}unf62f?NTp4vMJ+8d@mdv@VM&#nMza<3p(cwrPXsBa$QFwk$@gD7j zKPq5np#`p7BdqQ^*hib-we`yWuyu=@qHw=ZMpb(=+_@&D&7W9xVsgoa+=>f{HM608 zT&XZ>7GE@BI%6tC=>i?{?_rIy6+c79$Dy1}12=84FuD?c^rpS?ng#d70$zBnrcE^u z+#IK8=8(y+V18jyDfrox(`L0QQ_cDF=Xc%sn#f(mnVNMx_x$?xLjTf9wVg1U#@e*L zSXz6Ll`7Hqvowrn&>@P(Ha!5(!sck#b|8%sopvFUy)kBdUh}haIA3=P7i*4U)oGD2 z%p)-wRM2H~j$4U;zFR<^Yz8D3QBYXe47e$z5(x!rB!Zw3Lg2=0SQq2G(&J58@CyrT zzc&5O%%g7fx3_8(g2q0D(UPv#c37?Sj2eHBQADPCvKB9!okb#%7qB&fP%w$00IpCd zt$*FFkp9Ntpjp=A5PC$Zc6auQ^r-YuIyw~;cD9IdXSOS7Gy2W#ghlCdbCr!JjZgx$ zik)*iJm~c!2?HbUN^u^EsGrpq} zh@TqJ3WEKR01!Jyo!Cc18@ouvnI_rVBL?S&f{qC%V*{9hybtDOiJE&>Az>@ zXW*ZlMN4>8_F*xKvw`a%tvNCZ|I{=Zf`fR`ydN*yj;PdxI?$5{Ymc?kJ)CLwo3~NFzB&qEea!N<#Vl4q0X2Qy|Nzi;nL|tSji+Ya}D4Yg#;pDS;uT7?HABW#yhT! z$#e`Zn?))5*$mj|UW&qffKG^@0L@gq;CP&tab}GyqX`q46zpQ(us3Yo-n}^W;)@7Y zRpBl9H%{(8OXOSo_H6=e*&bPYBVvGy1Z9s&go7Fdce~x9GaRB9<_zafVV+zSow2-Y zStx#g6#ZRY7-(;}X&?Jg-hGh9xy!YvI>A$PH5za-1EWWsqDJ?zn?mO)vsrAz%^0>-!D_FE+tQ)6XIrr^8wvLj zudN4GXFa@PbEnq?pl$dNUa-J5ZQLhqWU>m4!PgDnv(MC{#`iL8Gj-QrWBplZu^Uq} zR$MsrJXYI}A(!mI_{zYh?>3JgM{7iE#i=1!r{&&e`!pT$9_Dh7yRC@IU}ePU;UIEj zq|%w6TZF^00+VSK!N8oz82bDAG{=6onb|H~zKZUiE4cp$7vS>D%S5WY!L==sLR;UosgE>;GlZUxfF%vb|9iu1F_;WiK zhr@?~&UOs7R$m8cl$P2$^mLox@q`sQ5gNIjYil<``Pfo=|D2K8F5o0R+C7 z;kDjMCMTB!biIAoK-W$WlFG0aa%pKv0Blx3r#zdnF-?6MAM&_uaZtm)3O| z2_p~$NlJxpVEFR;OkZU5!X@V%6XPzX40UOQ<@Z?Q!Zfea?@)Lyf*t0~^PCi>r!a+* ztd0D=0z>51^+Qw~jAAGwr2Gz}Zp?Tn?$4D9zsGB4Y8s6$ULzxcWC0{-Wb}{eGnx{5 zi|2N`LXbvwvrs_B$xp-21&4rL_Q{)`ox;YY4P1KrGA_Jz5!uxomM*Vg{jCjLlz-ER zxN`N1zRpz0+=76gTt&uQ8opFdN>xj#Ivmk?PPSC0q0$*mVzfht4&k*|UdD6JJfk&mU;o`Yj5}iXzc4LZZv! zi9&f%<>`)vC-AmY(ZxF$Q{U%WZMK`Q?Gz-u?XPO%F(tMa@E+w={PMqwYe^r{Oh zZO5_JbO^J7cEnfBo6g@B*^l1j%~byP96YcOGm{zk?6Lutcxu_hXevLC>gsj;$CMWbn= z2pqG$o1$sA0%>GrjOR&2aKoEIWj8Md$&$RbEJnk^`~q_M354c`Z#$ZHLt2%#KQucm zzw1{f$V@hQ{kJKF$lAE3`c!%_ZDVe3RiigXO5=8fOp0MKsse$e=Gv?HNrVzDkqCU= z06Z=~Tuw3igUL=+?N58$TNeB=o#~Ij_&hbA<&=jiOhSZC~?d zkk%w%s^RQebhUM&v$+k;^>y;^YP2^u!aQu!n$MQzCN$JmqoKZ5&NC$7!=V7gY92vn zTQgc38_?Y@hP73UZ84gdnpXN7gZ|ELS+{IhzWMp=LiTi9(~Yr?-=-DFlloF4=VbyDS95RGwjvP18rUcNawf0KuX|<}uUF zDlrsDLc`jkfVWWhNGaCkt_J6BirOUq$#B864A6&I@xVBIk%}ftE%{02o42Y1d!PI7ZYsZo))W*`8 zPS8()Hj$gqjJP{JsGDbG-(~A2?sFlpUG*LHp3%MSrck#KU{Q)0BDW)&YAn~wl=9S! z9V*#?}g zuEE)=(>QzPq)KhoDKymyaB8eZW9?ZC4OtM6OY7jgzmN$ zG}P6?Ix>W#a-M2AC;O$acS_ZnQyA>&ghk%lF9t-_sT1(phBbw!^f$_dzti2)3cJ;3 z_^e7LnVc!K4=8!9kn*^qDU9#t!TCVr==}MMGOs4oQ1Q4)<4;=SB*y)PIxBk87;(Ct z)I1ssP}ax38NoNW~62fDCa!m?N{ zzT^Z3Vgz7e9Q8Kg$GwlBe%u68B884fWlp}fa6#|P$-F#gG2!w{k7>WkB1og8Q)yUb z{%)MBjP`nAVF3{tFM^cPXMDGXWtaK2>BSU-P$ zb{YZMi}P(wceQEul@ljaR_f~!6q{?TNr0RD_FHcnM`OtXxtq+$%#{G>GF45sEcU}q$ey`tKWyUx&z2Z`VmMjXl!*-w5^EO2&y~tO zGx-ecqSO+xsMcFhftL>QoG6;wnpNC)|3$p;!Z|Ve#rXC4(9zba4P$rvAPsvYGJ&KR zV>$VKD&ErTxs}Ay6BvydE7SL@ut!2?EC%~b-}Qmn2}olaBKw<_-aickM$pJ!#ojyw zYT0ZCfw|rB2o$7M$w>SQom#V&Nhhx7M;A#&SXX#EK#es}cM?q_(C~Sq7#OgiR)ASo znWh*i^jH;KH?Jm%JhS^-&yaPsJp>vH1gVN{Y9wWq^tQHp}NrU!%}y57~#29CPdSFs;Wd#>80xkVCy)n23)n zWv>+9##Aw*!tR5AWP>3*YPT#d>zbPjeZ7$Ok36E80n2}u$Nc8$)%*I1-Xg{gJB z*XB9tjzb=YrbL!T@02l0z$3wyYot%J6Bv0bDq01YV_r=&Bnb(}Ui+oF?aE?D5XaB# zCO|6)Sz1%qt|cu-Z%iYxO#dpq-`x;CuOh(;2~SjE(@-YsUYW;}05+S9;ljC{8xGtj z7=0-RX%r>!kiCa#bF2;93Z#*2$|QQCGb;KbHGv^{CY|!{CIMWPvIG;Pxe|p2%*zBD zvY#x;Uq<$d`iq8=)n=_Y1BKr1NGKq4!67jn<3&CwO!{u~nn&zVX1{r8s@5eSWTO9;xfAcqg zgZ9>DEH5oyd$n*7sIflZV>TgS8%EANh`H`I1#5Q;uw6cW9G8wA#d2*eE->{noxXN8 zH;zk}-qdWA(!Kjmgc&0v!&cOZ9`c*n^#6lnbl*+6TOf_Pj1EHrG&*INy>YvQJVha2 z03Dnx4Om)U)-oldNbH>)Bpz8ix1u1BPSi-yr$CK$*GBjGew9K-%P4Z*9?ZlCFgfo) zX3d4rQg6lNds_)XUuMmH9jK+(ora$)m3zYSK%aW*No7c)QNi?~(m|fgW#z%oqosWv zZC&e1BEo1}Pgj>HkD#FP-R*xw1$OS-1vIuK#bBJ0-`||}a4Vtm^`^3Dk9@GAX^rC< zn6iTAuSL^#0@4`KB7sQh{Zp~c&CX-ZWykrZYAlPvHzluy=SFrR<*{4@tSxjPFx#&^ z*2p-?xxtV+4eQ$}NM+uAB}|V@KXf_+=E7{Ae zBZKJg?!c+zN6^*Uqzqt89Wy*{d@?C9$qL}y1gT3XuB*wBQ! zvvoKwpp=Y|<$K`eljCXpl0Dfs{S@Y)Ul_S{aTnY;?^9#`S+e{d9T67#pX0Th{ zU8dksm^NYbKI_8>ssaLPO6$TH?J6jvLQ`szhA<-`AlJwmvO;gO%}Q21n*#Q{_EC*& zF(OA`MiPc(ywFU(^z(O1_&eiXx%YuKLvUJ&@cT@OA~>}PC}Zs#Q$Y*Nnj>m_u#U*+ zyL3txp{_>GxTy=y%x=4)`IxAZe%0s4$OGd0QR zJ}A5wzpOvEZ3JG?fpJ+|v)Ag}Ty}YevDl`_Sn*(l%IUPDrltnJ`qi&+@4ffpkN^0O z;q&=5a$9=P$Ypw$bA)MKH}(vIwRZ!sy?OE!-l?hr1_laX?OH1wriQPqoELz(TTG8L zn!;aOU5(Ms4@pFdva2ACP7$|RQ_#8Yf^Lg4rZV&4PILk1Ip-)Dxap{3^o(siZUxX- zXLj|SN*%KA;LW$L=>+Z3dhqYV3M>aJgcp5`A7D@+vDnErpYC&XK z(=Ql7V>E5VG$ik5t_{@g9ZY*{?_I#zx&^qLGYT?Fujf`0O=mG0|KQZ66{RZ?g7sS8 zw4H!7f-Xj~Qj<4m@@bGzxvh(myLe;|)J6^c`1Fi) z3jh-!)>>rr=wNCR1Nm+eI0F0^%?`MRb099 z=Cx7Uy@N{QP3@CM(wK~T{=%UUf_|Sexsg#(fsmP$`rUAvx&#RIDFE0lk_$%UNI6di zz0%jIV92P)C>v87$!J&V*<{2^8+rD%D#1d)X-0U=bIq{bPQhl>c-#$7>75AghtKkM zX_J*<%hIoDaeRJ-XV{G~5}k-aor#Pg8xQGU5{K|RbU5(eMTwKCPrv}v-6}awFT z!Z)RbYTDe~43=|Qti_{PR00oU{ozf@o*OaViz}7>NCweN7IV{6`nwy${aA^PU$3nq z(1~0#zAANW^7{dwTc2t97~HPVYfSPR?jJ=b1?w*v*>w*0YAcI!0DLz^^_Gm?n#+od z$M<5Rw@m=;^rmPU*VUL^z}HAg9VLxiuYgRKMS(2)snO|?%Vty$vK0uM+aEuE49`CO z6f9=5Ml*{CYrNRQ?&&9gg-0KG7*9O$1fF^38NBw|YiMX_kk78^9>oX*4PCaH;lD|c zfLwE61M4zh;H%o9z|c@sS|J~Lg!3@ zWQC5C+fU&yrs=1mHp~Tku-0@CbAc|H6Sc6q?+%B3%kmhlZsdta$93!I4NytzM?dn#-h{#AsEryy;8-ks?Cj!t0I}`vwLBGC` zIBgcx)|?R#)}Sd)+<16hQQ5$U`?}EA)sC7or_fkiEugdqWHK~9=M7=nnMr`>VDlN6 z+G-7>fUK1}yno+K#3@B#!_ zC@G=Fwc0K2PwJ)HCC@IENRc|9UQG(w7=5J5XA!gj=eVpVBjCjd7!@oVXBQOg?R!7p zZAr$W2*|VMv)pO@0F@Y{W_&)JmrNC9B)HJKXBcVGBk6cVz^m*xZU=&1mpnVafVHr) z@MU7-nzrk6SXIch7nOa22FA+rqV}&UmF4ASLr2er^XHM9NW(9`Q3`aGgd#VgOo10# z&tf$d!*m%_U{S_X6Bvvd@5Pl$2kX+3S*@j76QE89*}BDq+3V?+WTT8LT{Y)?B?qI1 zOnGEEg3*|45*kECMiIfxH8KJkG9<-eghjd_)wn)NXB=Ci+Cp(kA-YG5*%@VB4*B#s<8 zB04Fo>5j#Ndl0ieUV7;z?BBm1ZEd1YygrS*@f-wWqobp!uBs9|RIO=aJlH(nCwrB9 zbU=-|o1S-xyqkdSot73{>FU9}{nj(V7;b|n z>`^CW>3Z0ya9uF_gyclyp`b?INqBSa{DwxxwmROC|K7U#raB@fvlFs5f^f^eNn#PE zSr^w&CCB{2oJP`k9duaQ`$bvFrZz)J&Vti4ijdwXj>gdBn`f|6VdhT zGh=$B73Yta0lw(o^CTtdu)#$KyUKsO|Mf3-pJZm`WivnqO~4#Ee8;cw;O^q zQur%NBtaSt9>2$h$y5}iwbgzoaO1dLR)4gUU;z!Hf>78Wp-O(QbByG4*&iPo#l^uq2M5hH7{;xsu%Y!(;UH_bSj=JkY7 zFFzaxHt*M~_$BrIWLzbR%rqi%-r8Z>t+K~)-Fe>1z zuBHlYjdi*i8J)9IAxJy4Z?703r0Typ-I21fVazO6$w6?YUg>k^F*7r(ER9rxevjO% z+pd6{fQd#VjY=xg#F!ZRGCm;z2dv);iQ!L%L>iT)^61E=-E?J(tfZkR2TvL1%lLNGnE$21J(xp6&)vS-@WE_|FzkqW+ zt(cc$~fNK zbNn)nWECy-baRZ&0=g3s0nYD%!(m}=R@og{+qX17hxzG3B$8uHLo_J&#YXi^d-lsd z5D?Inm1n*th9=XcjSkME|MZ{!69NLp*uZ)#r!q?|Xq?hH5DW&<-`_9b?L~b5``^c> zKm8B5@4ovmGCZuGCDBb-KI0gXYmt4ZbR4#ma=>=w&_QFsb%*li$g0Y)v1%ZC(Tb!A{7l`KA(kYZ~$j( zs&V?n3Di|riQer)E*U{u-ZwgDCBiI?QCVkoeYH3~){m~Z9ckGk%h$tpQdkoSB?BQa zW6w}VvFM~A11N|97 zq-FgCbU$YnjB}`6_aUR_P^mBjfO`~66X+;p?@z~2m+lE{uFq&BBY4^q^mc6n*+(@+ z-`bCbo*G=-`y^(Pg9@&KOLrdVAX&(CZUi%l0ZgpB4MAF|+;d>x8~Eu@eu7LQqNyni z!;;dPeRaww1$&qE^eo|b|MgXL_g&PS)fO=2#11NyT$#+(%q=3AG{wb&pcC1D54Zo*HYz3 zxvQy(gYD|UW|T{Nqm+%Kk=!cff*^#^pn>MoaEalSjD~-0!C9#&HNP0_G#a*hMob~m zbh!RD_?u~9UF(cyY$}()D!(vcu?%Opb z*R>iB;_}OnVa+yzIoTUa)8-?SfQ*Dq7f!r^3mpwul6h20Ug8#z zMu%r5Y?dVLp|{*6_hK|QWH4mCmeb`%li7os5jVOlE_wbISu33w?KlflTeXfesr9$3 z-r|M0>o$Z-dUTuSTfQzvlc-~mIxbtiK5z(HI-esWg;TUS>vdfOT`!@%f% zK1jldSbidb(UD=CIduxpJoOan1duJwObJK}VkVn}*HP#T$QD)BQ4^ke@=0}ePsGE9 z=iG^Kk1eDc_hF>B5$z-GI1@DCgs%_D%+C4`ay@YF#iKCTT7bv*t6IPQc@LD{6u)6ttd<rT!=B)DT zxs@>OaUgEofb{(;G#EM)K{zJuhJ$7#Y*wvw_$8hgHUnK2L+X6zb z%*?Vj9k2ADp+qtu8nB#~9x?JeTbt0<)Cjx9EJk%)pFdMf2t;Yfw=_4Sp{@?uR2-RT z;QAPGvnP;_jJe?&?p33+_@0q)euOz6zhd4{3DHBeMgihNcImYI4g3N0Aag`K+d)ovo?C(BL4#ficX;>uDM1 zm?+-7jQe3ROuIYV6u>dX?1~u66sGGi0z#vCD{n515wFLs5tdRVO#_~hmAx3*~CBl8XJ2HWo=$xhb87xgCH6pY$H>QoYj0xGNQsaJg6f)cFX#r`olQ~QzB8KO@m2hnZY$jzV zHjQ-Sti22SUG1nD8$vW0yUEdRBy5ZykbRU)iUe15YLFS1ZLvP_iBD`2_Wz^&@|VB7 zHe*E>U%rG%IS)AlnC8nA;nKa6LcpfPBV+!}0B?r}*VBU7d?YQ=X8g7xbplSrgQCyn znU~b`O$Z>)XJVo+5~4Svn^H*&HO=Gtm%7O@D0`WJG?Hzxo}2qc8CM2f<$gcSnq-EA!h^(57?cE&;LE7ASHx})U$j;lg1!?T9c28eV7y5d8 zbt4++?N%jAnsOF^M`ZISZEf-9b6KXyh>_)9!80$OgUhp`3Xz*xe_tOiUc9)YjkA)2 zs63U*!0QcSW_s2zZDlKAKDj@YMQ7xL7EMcFI2kq^G$SFyA_+t$vNy(xfOAAsf zTz>UQtOR63o(Uo_H(+>p4 z2(-92u}+L6B1}y*0$<$JxuLV}h7md|o7f5n+s;VkdFZKg4s{ji_OGp_UuR*;V>}Yl zG`Ovzl2ml81ES-O1>vRNr`M9rzL`3wpO?8hlS^y5oWnYb?v6GbI(Sf1Ujo;nbyURW zp*{g;?KpMngp9upIkpFoYbhQB0|N@|s9&}^Xh5)*kr5Ue@x^P(iy=kwkd<^2OHBI~ zpfs~ZCI+)D26m|~jbM+Uk2S%IV!$iYpgoC{n9PPKGdeDw`Gt(el^6WQ{tC6TvL&n=7>xNX? zyk^<}98b1OAkmEWR2|#g`eiqS(1hT`CtAQ0ckN!xh_Al6Ipc#SglsXWWQQiSX9CV zl3)GoXFtQyBZqMD{N{-6g$oxoBfvH+M%L{_m*iQK(T}X!L67W9VYzpi8&d*GmxhP2 z-qC@JH8qBS>rRDWtx~`ii|1ucj-a!tUb7Ai@96^~jL;-QUX7G3%}%5K?Ahxejqj7- zh(K;qz*;omM^9%5s!yN5)Pw+o*!WH7+fE41$V_Y%TWqMm3#ZI2IPT~`v)_!-i0q33 z0?UC?sn97#KvtyEXDgcJ`8n-R_U4t#ct_R*9pN62NBjD{@Z2+a_UR|l-qxy7VIlOS59)0xYc~!-di+*8K(D z@;8Fyco3%kK6JLXz-AdiHj`3kUoJVW_31sLKUx~=H9I3G`*~Ju+5#ro2GGhqrDP8w zF$+srZsnZaN^~z|y10zf#F7V7(-s;3QDmk@5LmkXU*4d7A-3`|8v=hP8~n03`wL*riXf@yGd?#a{;k>!>49pb1oy3UDC-B6-8+p z8qx{GdXwEe=rIe0)^PG<7JeTATCO6Xmds4R6wiI2qG_b#?~SH4>b0}bYO4~6l!7!q zqiOlOB8Km!Bd=lA@4{3*iRj$UBXqkVo~aJ_B33nADm|E9LZ-(|X0x(LC8rSz#L!w_ zt?Y;83ybV>BmLbN=ervJ`<~ox;{9Ug}>upx0$2AuaWnU_O zdbPzUVvQC-2c=N-FTkU_(eQk?BP0_UXst$l%~`ZJx1e7($36j3eLek~p8e$Hk{C_r zZVA-LphlxBEDDZ9AnXAa4S3*@zxL5V%^!E$EvOUa*wNa8naM1MIYwdtScZqx8#XB$ z_Dm+BWE90Q;`kCw5PW$oL-6vM6l+4{J=WhSBcnVc0$CD}kZPV$AfI_aJ$l7+l?oLp zi7%8bv!_`}HQtMwocBTqNEwmcisg~dlnReEddavvmy+)?5=R0DGCUSPKO_54!0Qr# z)~dB0FTMDprna(ywlbs1o?ND-{}pY_&n#fdGvjd{XA07sL5YM$R@il%0{p9%NzM>PX3XPM$o8haP%Jfd45R zmU;EP?|uhw?A@!nkYMWfe((3t-rk|0ul(R#qU}t;B72~$E7sGHX|?>>hDEEZH=ZDGOHsMxslnit;n095#V~_n(hWAw^ zyy15v;{|}mHD(lnDiwmaf&Z{z%hb4X{z1_%X2$G57puCJ$Cop=Pm zb5pWsHa4QIxe2|U?dWK0(bRWFI9XfE9)+#)es5=|yw|3+%)F1%^zp5vSZ~dKkGFEp zZYQj3V?A#o?!b&k_Kw~&m^7V%H77Rr;?4HCeWo5YzL%8nqxAKnGzMRXXSxduma{l_ z{3R?7R4EuEC?g9b*&zA3v87H-Y`C$~aRT>bqCqV({?QMApfxG1jbV6^ig~d0tcDg# zqiGaAByL`*)H3{ID*~RTG3FCRAja0>^3qKk-JKp26IXHO%sH8GIWY?I6_bc~QaN;e zfTC%<&aUtT?1I=m^E;!>CxJ+EG9*Cl#^RgI$vBB|vThm1iWpP;|MXlyKWlW3yCu$8 z9}=lZ#U2@YO_^So%aNXav$BZDc-B-^tD#Qg(LUS{%TO<@!-KGo48t@qh=IN#rRuj^ zeQ-O+P<`eUeDqO&_+o!277>qG`jvQu#7ARJvoZ`88}TwXp3Job zxuxe~#EpuS9yg}+vCx@O&0@_}aV`Bi3-@=g)ud5Gqx2AZ6A5|=#%}tqJR_z&+WT48 zHmc8(W6RH4P5s)}@65?#7!*Je@VYTIky037l`K!MXsOxk+Q^9#i5;#m|~DqrJEiX_RyH z$Fkb1lfY~xG=?>KHcK*>nC4sjO~21C>nKx^o+N;n&QHQ7&(uBCg^|84wD~O9G~1Mh@?r0E}r{OzD~t9p-ks(J01SOG}HABQSlj zOANUOA9w)AjvZ6Iapm$wye0NX5b!9U9aYRhE$<%unZ#7Tfq%?2cR`Tt_6M zGL3ejZKxS_<~G#&htN50gCiA0QuaZkaps=K`b&Z-Qt5MDq%wsj?A!HMWEAbuM<2x( zzVMHD;K2v9jRb2eDO?l5v4EbFP7$NuEfwzR#dKymPhyD}R#tCzY~1SLIwT)~)9FB` z==hgkei=;-wF1&a2Z)X!v+u$E`_bFcilE1i-mZ3as!UC0#dhn%+3G3`4-O(Gdj$2z zsgo!5`b+oHTM3=`Oy8!>VKi2^lEPS8bnnaCIA5|tIDGiLY+$RRcoT|tgJKMwGuX`TWUY^tf5P0yd> zF*mn{)z$L?q%SMc3xV6*>>|R^1p2zW;N61gKq>Xbps@&;K6(6@D32hP7v^x}@F5&L zupgamtpeC;l=eCr3MfT#GU&eP90cdCkzV!slj@i0kBr(Sw&+tv0LJf;X{yM2M}w3` z64ST>Y^=-(TG{u0-G$GJX^Ujeq}Q?ZITwW~xs0qBd0=T^ats)S^ak;KAO4$Y#p+gh675>QU2G8)}SjvUrhn~htfNYjwNc=3|< zzA6Q26xKE^XEV4^br|bI-Iy0cXDbhESo8z?rQN9$uR-)ncPyvb8%%NB=xfKt+7no} zj%X%9@%I8_Au)DSN_?@?g9Z=5LvL>{4mPyO+8I#eVbHNXI4g>mtq=^xmE**8AQ~a8 z+aw8$t+!b~T7$AYGHTDylzyjRfC}h#nhn>PkuYV8QCEVqgc!f}NlVLx&E@o_8Y^xAf3*47o4su*`eQ zZLrPCvt=rAQ1+gk5)~1wDPS8K!g;yxyH&$h4%j9Gh4w6de@qPO9`rVz*)sb6L6TCC zwltI1G{|f!CcvOiY}=FQ?r7J4r(@$v+(q_B0=e?@6xUL~VS;_68(lqhsIj%9%G-y= zkXdZdF~jlX8Y1{$-}Rsq-FoSoh&&zPJ;kEp3&ZO@qkBcgbu9* zq%)7Cg)WB~d-v=?M)rhJS)+{&_1ZpzZ8L`DZ*xYqwLS~?yrIBsPhW428BnC(&6*_BptAgtqJ3#@8jG`2*!%h( z^;j2E9hqX%($t_4F_Mauo+siZb6p4AW-%7sHU)j9^WI3tXHM z1(V(TNvQmo8ba@H>2od$jdFtASVRn!vhOn6g3OPskDQ&%Xf0DZ5y7m0FxIeDpE|DK zf;AO<&aBItpPEEY44=b?4k(FCe0)s46P0y3ju&5iLDqZj+77V&K_h@EIdK7LrTx+v zm7(#^erYT5ur`_A4y2LvV>dD_7?BGkGaB_;cUo}1yA>O@5xtgTB#%IaMiXDFigAYEasg6b4gTVM#PdtI2{`9B%8v8u{$)EhG z7<&!cyq9%4oImX4xi~YWb&F3w{WL!Iv5(=Yr=C*gyVcbd1=Ex(tp6#qYpBndo=K2K z=F{7$f1#&8;2Z@bH%8BKJDGI55gh2pIlEnZq-kSo1Hg5sLa=tBrtUgmi`jjsJ#$L# zxm`iK(S3bTWN|vD&dA2PS}e~_V0!I!XR*=@$)q%m@9-Z&$1beA%&hFrP zqSJ&9zrOA|)b-Wlu)7my0{w6%j3drBz*$UfXGWa3HkhSW2_WK}vK!O6QDj!^3e=2j-t8o^GNeF{KrFW|`f}Zg;I;EG zik4n;$Zxn*?m2PnC?+Qos!&Ns+St&bO{$4Nc~K_WxQE1m95YCD$86 z@|WiY_07s=*(*vjsC5OqdC<0B-*^k7qaLIZNo`tMem&bsDxHBNo>6b7k#c>%NfD%V zCw;I^@05xt`JRbl+@u_(UX8pM%pfLbX?V~Q_<0UfXk%zBy%1Uw##rmxZ9q!6TWKji6SE-S+~afIDYIH9(w3OrQv6KB_k8%$Fh9KWwR7mXXV+J zKdW2GxMLJvM)F;jo1WvXg!^718q#NWLH;f17m#PAVC^mfwvDQ@m^yh1o-@a_iEuHU z{evjfNn;+D>KV2WVdH&fcaTVrI*I_T0Mfb@^rU3JDFtbap3>1_?ruc$U?UDV+i*kx zT0p>FJe^QNoAPlhl7YD8cfDg?OlEU9cX1tWzIkQawPAE_IxxS+8XRJO{5eG#ER3;daz?iU4~zEk885=NDu!!`heRR`mq8b8zxzM4=``!STUYim1ut)xS$jUUyrHAgwW+#PH;Z;XoTn zaCS&*(~9@Z#mmOlYYsCmRvpGhZ#$;vCow*2-XST;F3Ef=JQ-0$V`H~fvv~geWlT>m z8v=u!2qSG>orCb&NkzT2LZRo_)N;lUwA@Yk?$_?cfB)bAbNsKr^V=9{KWq4zcUy+q zYSGnP2b)zkw)pmu%AznWlIfA{tpdy~H#}El%gU#sO7cMV#@40=Rg6lpFF@np6vuiI1VXi?mZT+%SV>AUhAIc8+g%n0C)%l{KN2Yeoc!~kJq_6ep6u~0r7 zKu`cf(Cfyy7|7#e9*oKF7Sbt)5E&0B>C8^|h_~OqD#rh;&ZUSL5yfj_y5qDc^F;!* z#YGi@gwpFS3Tw#1q8nIKR=y8cDg=6cqGRHjtb)R20<~;LjK67(=Hn zJLoBQrKa)Uy^%zt*@Le&h46phAIE>UH;(`FcoYW(q!G0J?*iJ2@~=hyuTxbLQ7KlLz4CI-!F3PBP8k>~UuwmhR`FpHWq;byr&tmN+>sX><)cM6&WYm-f z?X=uK0T1hu8MWHV_$09E>FE<&q6W`B`z)S*>PbBG-~+h#-h0)^WfbvS-})9FeBfvD z?*h2xxd__WYmW@m1oz+j?sqlf_FehQS~5o9itKiD94mMXkITID$^3JPL1@<+RNFwi z%u^p`1lUhb<}olZtm%|Lxc`2<_~MJ&)cTiV7rpYzEBf1|2h+;p0zz36&2_>EW%=_e z7uNr=apX7fa^|W^^G?$ zbK(eQL{G5io6)_#--T?AsYprUKZ!Epm53vqA~-9ZBgVpgn+`Unu`?=Os7W^Keoq~1mHYC$Y)G;$E}77E6A``4 z->&o^kq9$qn8KK!NGhq9X{cZS?Q`2Pn@?+N9)dAO@0uGM(ACiaw^Obq6oA+1z^kvk zta|}d;*IWSJ7ES0+lnxQ#%K=gLjK~!KOKZww>?8%GWNKFl6d9WJmwR>@o&*i}PzxQ4I z=m+=VOJBSfFTLwJ}(g9;K0_sZ?=-8EE4wzB$`$PX_TIn7q*$5g;W_KOXN4_KGQf@7USvM zU>DZyX3WjcB0W9+t`ms3^RnoI7A(ld^wwLOd)3_PU~Sss;`&X|w4F*kJ|*+gt`zp$ z^?31&bYr-+$`G{NP5H(bKZ|?rxd*@X|N5WbHy~|T42Ry9It&dC-!h%_hRhMM&}~%we~h6;&W&^tMt2}5ZK*R@N5(z(PNQi|nPkdiBt4aeCf z^56IDNnDqICh~t15cen5<2cr3!u@qt{ORd21>!WsjG|;kVZ9L}X-0JG{2l=b!419a zbiR?nlLnnS1_huJSP@tnjV14!qyoiSG^RiP;0Hg%SHJodO=omC9B682z_-5nO}zg4 z>l&@vD}d|gKYv*Ei+=qMk7n6Fe)z*5Xa*3$Ab}cd$W9zTj{5orxLt0o)nUV1*48sx zOQIXL6VSP5>ePtguA<>te^ZNdGG`$Wq4;{4zz@L6%xsU;KZrzr+^3>9!M%bOgur9t|VV@@%if z5?Hr7HD&S5BS#GZ*PY0fH}>Mvk;7Q4t-(Tj^9KsBB}lhF?o;9a^EDD%Y$fraPv^c} z=1%WG3u=a&(BvOLZ`c8MBBVqgrQ<^|Mi9kXGe$f!xdNvH$BJ`jrw0M}#`=cZ*i4g5 zMPss$2tbp)gboopAWDCCJ7H=gTY4~soup8VjF(24bbZVI>=^2jJ>RS6=5GXKo-HgC zBH5K5Y^>cN>ohl!QL@5u(F1I4VHz4x5H;BU|7Y(%pyN8T^iWjS_xdjTUHgr%^IKl_ zdh5NpzRS;E_INzmo|&GWp3b?Y4(g~ZwbZRv&Vix=DT<`ToHId!$T_1>g-|(1R22$2 zXE00Z{@(s}p~xb509FworS{BOYZFAF>eM;^`Tu|KZ-;L;3P}4vrt2_@3JWx=#xH=j zucuoZcE2r{q$d@Zu`_1sT}jkABYQEOkm)+go2yS_Ix}n8qqbH|wH9Gs09M3P4DVQz zVcH|v8mppvu6v#07_ERKT87z*1DGp6h~Z?jra>~A7944U+j9m(-U{47&-J&y`3;m6 zox-};Ud16q|0PuT{1YaK8?{dtEo=C-q|Y-|$Ao+$()Gjj5<7VvUH z($l%t$LYdzI9V_bm-DJ;G8f@y7EY#6_gld9m<`g(A~Ce~br?SArQ)5aMs(PYRNvJ? zQI660=m=(ddoUyaCxOWDNFRI?w>Ra{H71HEC6hVm(>j2BkA;PcHyur54V%s8L#K%a z?^(4{vKethq5`F7j7qz$;sn}j&lm!iTP2@HkY=eSEq@VetD0mj_ZyC@kudeNq@)}+ zOI9RJjP#Md9(0*omBoo*t+KQj6~%>`Rx%))?~weRDJM;JHQGb1OFmE15PJ6r9%xi~ zJ5BJ(^V4YClD+8fBtM~|Cg}$aL`F@N3__GO)7)8`#_?vPggt&3bzpkva?wZrjp;J{ z{L)AQ*H_rpCBQ(=Cji^gQj<1N#lR;3&|H5}e(VWI&*>QH*FVe;ym(v=1jT?@dR;W0 z7g}m@uHp=)1*|QXDw7nD))q^rD`xM*H!J?dera>|4qQ0C59doyVJfShf$Dw7cw9fxF)YLYjmNw7-ss(5i3Egy zV-$hL+R-CNaOTVzu$L2!)~B9)3Sautm(beUs_!MpJ#p+9KKHrL$)3`qHU)vx#*G`V zj2QtKjW@DA5)AVEOjk_x_Mx9Oh+;6aF4Ar9yaLQvPe-6c0GghM>3T|%4vh>Cp{Ax* z2}8QO{_ zuq_pJ6w34RI6Kf}szRx$48@(bs0wtTBjH6WA)tV3oB)b;Fj*Q&zQK9UIhv0X ziuIW!|KPJF(6C&egbkEA`lh+158k2`m z88HTF){$bE6NMO!HekYDj-jD;bkDTIKUuHsx4QakWxsdej^jrUvwJ5J(V!|&Za&twMzGWO(wiR?#Wy%OfiA}kw(U6wyJG^K9kOAyTV!(O zPu+Q=qi^s-oG6&Z$rB@aN7JZ`o$<9(#476hI{v^|%XQH-Dm*q=ofeQb zEymf{*dRhE5TO&mxt|Kbpq6H8yCjmxbTeLgh$f zG-Hrbai^6in_0J(ABUyp*42g8oIZq|@4j)3eC-Q=tsw1R{fmE&Z5v*{=5HtVY&AU3 ztrpg-m@11ONY-WHHBL)Ny z{r!EK#`y3<58;tV9>Lvr-;Ebvd{Or2gcxxx`0|&(g4)_z{Tx5T)(pS&;GWWYgX!P=0uABR^UU+@n>+&(WvxVR{A?uKU(df8%@v_{<%$0q5$Q@CzHdj@D z%K#g}+N}g^1Q!v}5#bt{qbH9bcw|3te2U}|neuY3n>0kZ$vI@?iJd}DF>BSo-BDgvtQ#e3(?$iMGNs_lU;Z-gl}(B%EU9=zn*)38oywqPbmNTF^!AUy z>YvA-{r8V>?ASa!o|t;R*ksRW^Iq*ySojgPZ<`UNoRaUq{+d=2_Qt9Hlti`9TkH!v0hQuh6P$D8CUiD+2PQ?6hyU~ScC0ZDMom8X@M zf(ENm?Nhc;0lLHpprHk>axfwPTO*ARGQ3&Bz(nYwP@ zy;)&YF4o(RF)@zjWDcLJD8$s*RglKI zqn+JaqxOG_{LZd!{G%+%y#5d6J-LE3I#}30u#1r&bF)T@Y&KcXvK~2(1TZutnQod5 zG&8`A&yZ=1fj~g-o9T~@4Gs9rXFj8;p8WgXy?gP)AN~-h3Qj5e;$QvMUumjhru_n= z2S57JkFjs>elgAll*N%vdzrn%l&f>+E@-bj8h`|9E{6jhZRy6_Au*)rfaAP2Rh`zk zNGAgKouxz({Qv@$i9~DF_-JZf|A%>` zGlP{|vUWJX=EOE4pdld+=QZoi_SO@5L>e}SmVfrPR zHI42uSE0j^q$Kv%8jXtPJtr20^TKVZM~r=>#|2al*)h`7jy?fup{b^vY55h5&37pn zn{bq4EKrNYv_*iP*zgk_=$m!o4mONsk?k%4XHh}6OdDZXk`sfhOzd6M*4nCGY!0B& zjZ?@@GuStx1R_s9c>(3+Gja|u>S}9sGhb_QoZ%`=IV=$h}$tW5dE$A?{ zBH&m)t$-UZL7A!ixEl2QK8qMN3ecJ=5T}!fis>c{mj9_l?w{!ImMJde5Rl-6|eIWmF}u(qWe-cs4-pb!~N>+0;tncXpS%ub9W=yAd) z26py!4T-@z-rt95He?l94x~{C)LOgyQ5s%-&2mko7ye`~Muvt2oQ+{xKn2N5=oQa= ze@uW1(>pI;UY<~6>5&0xn=3m|QB#fmrImQ&OfA+I)#JT7I~uJHbUK_U?r`J%X73eg zvN`qjN6G^^fiyLW>>Zl2O!h;jG?EDA?AZmqex{L`hJXwIp z9(znd4GB2dP?vygNX;2e&$L7b_{;e2L02ljX~RTcq; z;LKs}vzCq2 zwr_kD=7082(e@Ai0Zjkv{|eLp^1r0z@BKXmYi+0&T{DNW<-j>cq9n_9g7 z+z+l55(U|;0)U-1&5|KtiZAw_BWFNoeY#g8>(A-fqi{`;z-6`BG$e4*Ry=Y)O77gpVtl3+F?;|6gStkJlNoRe0)mTBnLzZ8(q^%5>NG_;Zqzhr#w>Zu_i1&_N&+Y?bzUgpr7>eR!|+5nOt7`^{yh031> z;mx!m;59Pp#^;nykxUaJFk+@GSYmXlQ7q4!#34)PfRUs@TD#U2yV|`>vmyg zdM4*+S_Y);uQ9{k)&PeXI9=9uSgjqfJ7rxhrWXf14mey_CG$GTMwSC<5qVZ@vB1_B zBoyn8gq0z4HjAB+&t=`ZbvSbPh^EyMIMF!GfCAQz?H54x*rSi3rMX#a#lH5nui>Sa zUeYwys)|zl>wo>P@%pQ;qNZ958Mj*u-V|o%7c|n-*w`wc{e@ES^WeBl%lP#74agkr z)hJ#>u8ZlBO#7lRigwj5Ny)rSYFhy^^)fAqdrdANiP2xL>^)(hQ|=?FwL~N^p@axh zWe$-vVb{)`+LMg{l6w6Ib@?<%D4ElK^bJEA=v^h{3J^?aN;ffcDSQpiFe1L*^1v64~gM%Zeub&ZMHluY=QJHj=6&1?-m`_?qE(i0{6Y()r zl=sWVe3dyXSLx~&;PWYsrY!|&l+th#%}FstasXAn@j66?ZP(oI(7+%jWP#1f!kzOv z#Bdo$_o!>JXPWVOZk4!(L_vq!WgZR4g3T{v&S)Az!E)Zfm89@=A!>?mKgIry^QSD~;YfWmRh| zlg+qV!5KH`47-#XE3zSXHdY{!)%)sycA=tX#Ei9Fq@^cKvAd%gUQr|zDlig#7=8A3 ziGoK_aAbreXyi4r28Tuf)3q|pkV~I=t{{ymc1~M|>X(ao)TPn*jETX{43MSQtSpO( zZYMHJ6zb?dbP(Bz2vMnam$$dTsA~QJ~8f+8Z{$08yp-$yQM=T zU}QQZ@ximtJcHL>drkJ=lmMt{1ynYhUD=$Qnwr(AOX_>3Hxk&q^UgbX;rZv$P+y0D z-;4k9U;c}pg8+@7&uX=5q-{vPYh+{$bv0t#IGqX%336!^v#f#jZv;UEX*V)po$W0$ zH?Qs~xk%K_{&8Y3wl|9*+Ksbwvl*UiKWT&piDk-dOjVrbc#l zbf^Q7X_y{|6?QQI3Al{DXC(=XAx(hE-e))CIHB=OVhMsu>dB>n99|<|r$a55+U}4q zi1Nelpys_NQT6WQ=z8xt3~qT7LtEcA1YD~Xg0*wUk1h+?v~__P^yvuNwE&ILH1{ta zf#>{vN#VzYD{L<6@}OsYIi_v$+!0=0a52t6>Uuz)Qx)9swpY zCpfl@oKZN|To0^;{7}HwZ}R9McH!Jv-4{qE5{rj5osr<0PKV_JA^8f|2XzVSFzJA} z+0;G?_X*ZuS+&P#yN(5WABH1A436a2?~w=RApvbn^gC((3I50qOr}-V!5ZliUIXn0 zvH&xU!WMh4M&uYpFl4*Ytf%~u-`*mHs-0ZAruyzR2G%7;Q@GM!zQazIN*l8t6eFx z3r`+HDjL8rm0W+HdL)+;ckp*^%wuB{=o5o35E@jrNYgEXdi zvS!0nc^VC61*j`IiQ1y$C_i-+#||Ha+ZB|t9?>=kmo6<|08MZ5!oqn(qCE=IGBo_$ zU_*9`*0|W3(#89ZR+*#Aq#ICSGP=eTx|>P;`E3!U!HMH7@1*IR#qwitCF8I#CUWFfMGM} zjT<&EqPI6=|Gs_tlR$?AWJ>-aKz48-?F1%>B_RfX5~SrCSqRHqb;G^3d`7K%x+9pMokn$46?Sajj`eT6f#;rm7Ek=@S8}g!D+^_DQ6W0p zEecW#3s394GL4Hhc%7yO1$;)|wUQ7(IK&VQ$#Z4;vC+NVNEnG>l!JY1jU3~AE-V?y zB^$->^5EEekK)De{0lt&m4B%6{ttc^dmi{hIJUixvnL8}X@re{Et}Fm+G&Dk?>3nK z`SlSr^Y8pW5oxZ`_c?y>-E01)B0$ad(;p#NTXxNuGvY~dqfSc=8W}mWRHDV-g08p| zp+rRc8Ip{K&M5^^G6(7SS&pE^=pcY2kmLFp8yi*D(P$*Bl=i_;K%EXo&vLcGnqxZC zSci7AQM8P3ZqgY?&=+OP2f603fTggE3-2ql-t#$FPfGfITYC#S1OT!fODf{k)-B1f zSJUJ(-yat&67`84;S>PJo^`U%GlOqP_6oMn7#*RLXGnt)Mq{y5lCf?9oSmAoXb9Yw zNZ4V9v$YJSvc0G~u~EfbaRAnaB6vC)9Ke3*p5BBcf;*;z~i*x3t#vm+=6mBq0DWq zXs)kCe=>%V!9KLMG|M7Rs?opn<~f0x64h#+#_`j$VuZv|C7T@q+{byOu;g+~PW~Fl zPn<_ZMGr#3{6oX^c9wq%nI4Tm8l^bYgXSJD>|=F?4?0`?IWdJP z%E&0jMdD+w+fN`O;vA@jH*c7QbY zJ!>pInHB+J&E==iTv3RY$|AH@6{|E>l%TStSgCPK&lIBQ^cfTvmx_@j>waWXjLF>6 zmWM{iWX~|6y`@f57+Jv26b7=Y5qvQfX*qyKq0yv3#b#CzlbOH&GYAb$ri{=V81;L! zZqI3MRH}2{Gl3aF?b0zJc=K2Vw24wTI`3+P1|bzXBbNjZ^x`w+im&k+={+U$92GQs zr?Gw}pEQwNK^lei2Y#W;bi>U=v7LER$fEku~fQyQfQ5? zzF!)pA=VFnYCv>rA7(>-T-xyt=A2fH$k-Bqa2^nNIPLbl3_c!YR160M*bCS)8pEZ+ zG*XiIWEdL#F1yz6@jB+`&t8|!z&?j}-FYYO6k$}1PF6=xq^tJHcM!OdAY^iKN}Ecv#ShsXAAa~@Y}>XCJ^>X> zYveOXQ;du8Dqx3zW9c)>Md;~g4Gn>k(LCjAEdHm1L75*dO`57p=aIF!N{v7Q=O>OXOqrJI-(97H~^Q+r4CO5T#~Br$V7CzOpQuXlCNRR_XlOaB%@yU5)zzT zg#eqtpS5~S!!)v;nfXAb#~V30W3m=Hn(MITSD(cTi$LwAyZ&F;`NB70v$Ub#8Mr1T z^3uKohJb4|l1=G9cH$_yAAU#)LY9KC8-g^E&OiDC_}<%~?@`C0=pehyk(TB%)LKeW z>u*GJ%z=0!rq7i?DijQ8WRhdc=yE>JBhD34=ra{^e1bhh6NvGeE6xpbu_FwQTJO3IK~o{pu9# z=?)_yK#jF(Y~jO3;*p>SVXs^VQ<9@0b>yE8J(qqa%lF@i96}IwWHVDDz zQb!}#V#scS%T$4`In9g{2*fXdW_c} z!NTG9Fz&8Ed_vBhV|`k9MljX90JC`y1}AJ7^HpOc(YgrIM0#UEL9=bx_WoAv+`dht zU!VW{mtbu-%OJ!tJV1t+DEzXqvnkyD_uU7J#iTuLmfkoOU?ehz_cou!7r%H}Hr+|3 z*X72`Nxqf`ZTsnkkMZ)$)3BJY7G>uu!DKI5K84Y=x@s zy?s|b%LK}!0?e4|$VRKvgM;W9_iB2i(K&9lIO1ZI2K_jH{-U8WS?)-O%RkiGC?n;v zoYdCVqe(!C5s3LD< zWYIH0C(}@@Ej3~kGUb!R25mQtMzL1HErusSo#A)fq_7yA{bR_?=;~+{r5@05UAEk^R_jqVb?OTCy6QySM-gml`=)O=E66nS1zMkfW#Ijrq) zIcz#U8Fs|wj4HAy5FEW{M#)uDOHqzrI zBHAM0R>shI-%qc+ZvLI$f$8t1qi*JZ`cL6}=zets1q8G(#jd8|42rudVTxGQL6s12 z#<6!f>|(q6wZ|+$ZRTLK^hO8Q4CnX4*|SPE!!>GmjOcC1q8+S2)! zuW){{Zj4m^NzrADG&-Gj%*?XMd+u!pGRHZNk&Fo&vd5zVR99A_xTpv|j~#tXH4V8j zkceO)l|bRCQ)sBEf>ZQVMAkCvja^PBPKYhDbH{cZ+|TCNjhLPp%c=Z{fR0gjGD&M{ zbe4V#SewvNv;#-q`5E4Q_CFJh+l=v9zLv`R2mCj;>G(@){s-~JY!d-fUh zCZZVWOQ5l?8ZW-^yi)UryfSDs_D9DtG-%xYdvIVxHu_mS@W2H;`|LS*Jt@@J)v0G} zt&hu>e}m%UbFg;F0+Y?j=z5kDE+BWZ2bIx;p`!hyWI2#VAy8{dxnLW;Hk7(lj6fPe zEQ`TskYG@`;D$Eq2fK51ba0k#t$AY;n`rV7$XV44M$UM|43+h^0X z6}K3dOH=x8R(PJc7$O9VOs6Cuv(ywRZ8;5Gf@&HxxnHBPPDp>ZSLYCh(Y8lt~3C%Q^Jc3Z!wLZtqT~<4li_U|K-u6w}PdM-`~?y9g?2Wbk_O zA=l#iii?4?97rQD<9u@oFe4EQz3F3O(9po7@pz-XmcZ%$`|roAufBRET0|r0`0_NJntj&VVHo9P33gH7A_IOl#|EEK{cu+pI9(jHE5G}N5@TP5pX;iiKJuw{CQ(g!L;?UvDs_% zqmjf#PaJ&fr>Hu*NdWC}lpS~jC${|3@Vyl3k)yl$CPvQK= z4VXQ41cT+p7_2BpH+77RVN3u-ls(c!!lL)g|MdSmA%88-rHAAR_tt{IL$`+)_5e)*2ou{5q$*x#5=K}L-7 zsnc9eNXy?*S0cK|By)`_|Uq%2A?qvjOAsMeD2M=KPuASJodzU(u`g@{C zb%!*%w*7&1Cl$vN9or6T^#t%C!71}c`HsnT1fOh77IeDiB`f$GBAm+Q; zFqulCXDp!aH9pTRl<`WqQjPF=$q>fWj6A|=a-2JNNfzf-R>2!dTbnGtstUAK{cQwk zg(xj4HyoE62|*e?=J^~{bYz)ZsaM*KgoWH5Q3RwB&R(;hW}(tzEgh+a1I|vZjbULl zfBLMgn$D=KRf`5iK0>3Dgb143P_rlv7QyvI_SJSu;xVi+GSyYFI1AeXV zV$Y@XVmvV&DOX1r-?wq&Mtu9*-&TL%;5PM=+!p;tr--)rs4LcJzROgn z5i?~VbzNUi$+=G_O2i`|SLPDy=y!TP;B5p>Dk8xA583c}+~_ab8e zfu%Z(pwi((=Y!E<1k%{3n(M5$uNT2cP;Aklo{!9rY;gTafwPP-VniKEc0_erta4wc zQ-dtNZq`k^?eg4{+Wvv}nMB0HQz1h~)h1Ql996YdJ{%=NKBBWVB?9_+(@yBaho5q7ty?{R{8$>EEpq5OLE;)trNb*yY_IM+ZRvPMsrQdo(`g{_C z1jkJ1>A%_pP}6_JXqgT8Fq2GbZCd|$9D%V`!*kqfaShhM73|W!JM>)Tb8sUinMJPA zw5~2MnybpuTK?%G54jy6t-iDXg{Mv%j?0aN6C0a*D?lTc}2&AQ>7OcOiRj)S1DdWcH-PIz`+~ZWmo6j*ZK8AqLgH-a`j0)B$Ob_%afe7o; zrh5|0)-7}=Q!uZQ)2>0lULe`4>5Y@agE(J!7;|ELkM;KGKFm2yBf~G(JUx|P4W8De z1p{h`yRGeTi-8i6-^tF%$lT2IbY9W9rAK39qejHo%dD)dOzYB^Qc4iQerZKTXYl#Y ze;xy31B{G~pYP$bh;X?GaAKp zNCS+KVXi|mD6ZrnVRW0$5Rw?!t)2RuF6No?NUy%b+JP?9B2!(SMsd3Khx?xOrpJk& zV~Yn8!Z1bE=wO+_=;+E$&P03=mB+T=;QF6n*Nfl8;kWNYUEvNr zw(OB{?{9BWz(%lkD*@Yuty?hh!t;nf{2;pTyEolOP4uhzAOB<6<@cc93!l%cq!mo} z=JR6oI2V@H3bk+a%SQ-i zn10VzAn{04_c695phN1T%lYp++^c8k=e;OlfF0Z`z<92!b@$S{S9@(9=f-$no(> znaGnE7@mgB?t!(d6H^mcn_sTgL0WK=X&g1xeR+X2O1EriZQV%}e@aM1ZUoXOO+9XT zh>h1h&==q@PQgKx9V7XJM2DZ?<>PEfv`}Qi-^dc@XT-D5M9Rtp%8x$mo=M=JGVsmJ=F#G$2Xhu@)(yG~`%U z!1P95Yd*##Da#p+;OB0XLX!b$F^^4+WU@k%YMK3rwC=6GOs|3Zhfxd`x;wips$cRs zXlRi%(0lXEH}Sv& z4=6a}p&sw4H2H^JKq3Fe6i0%9_V#vkby=11QBz8X22oL7jzfoz;N6Xz@WJ~Zq{%kM zNAuRtH!Bgp2M%*%nuue`oLo-02Ix>BxMOP~Ms%m;p7S{fkV$~jX))_Qa5K&st^*(U zy;Za!VWg4-B4pe)np=#5&d#!KYI!GTGBJ$yraHX)^FP&;uMeL7l7LSV#~HsrBY{8y z&Gijvsw&ac?(BObSi2p7jVY0o;qQGxz%JKs}T}%Fh!BhL+;<%&*Wx=`#4jB{jz^?-(*c`EGFw^ zIzNXK5AH3DvXi^w=#j(dG&c)4>k^$%qu?nO^`WM+47D|4FFLH~3Hy{Wn(M1C8H2~= zKy_sWni?Bqj~PRM?~S8q*+Njw$Q*GH)BFk2cE9k|D`}4JJn;K?|EVwFZTXo=bA0cy zKgS18eGzZ`^grnDFMj8r`fLj?(I-9CQIo2w3N>3t&^5R1Dr#O*^)Yz&lE5$D!dkkOs%2)8# z`Zr*=rPE5Zxt$nLoUlu!Up8ZI5F^8~*i$nIhEni)M5#nVYQ(Lz)YQ!4#EBupYgtKp zQoRTz(`hbLtiKJ?)E$PkzZ1T(h83g{!O=F2q-EbPYrw|F#xX6%<&?-6f%b6B;Pba$ z{9{cB3|ioD*f2geAqxM3;j>*%&Ye3i_d<}yX3Hy!&l6I%st&Eesrl5%E6+WJ|MZ{! z6F&FZzk*fPq0xI*E3GwUC@(2B9G6^Vc6PyV{8tjDJbIn^c0Y z5Lq{gC`mTbO{baG$m@-I9ftR^77`?Zi0s$NZduc!7!9v04`GV~8nQu-almExokkKC z@aZAg>S#ttK5O)zr4o~I2?%Jn3JB{UA&Hp{%td*L@c*P??rI_xa|4{#cA0lQhVyDU zAxNVa)$eww(#_l>LDGoa=d7&*XZLNzWWa+#c`bV!vV~OqY|m0{uGE~&^13(vq}He+UHMy~y$0yxe|)|W6n>Hhog)27eIj~zo?&Ossz+6>uaeJh36 z9q_tzy%^2M<%BhTww4;if?fp00H=q4>Da6!d>*MD0q9nTtgU*nsq)_sf?_BJ9UbTn z`3>(aS8+PH7E=0rjIWh+`~+6U`+hPx1e>K5`_}yc8z25}II{6UI6JvEjo+Uw9UWFQ z)>SFVgwZ`x`a8`kGyC^pTE^t!$f)6X+(=li!@Y$m zk|YBmIAaZ<(b#_)g_$1Su2$W@jh;t7lGXt&3jCB9t0xIx(1+gsUc<4wkuXZhwj|}H zC9s-X1O&FCi>dey3x@g=Xl-s(W_iEIg;Xr0`ig6HAQeM(RfPb!8YE@Sj}515evR&b zC5Z+7I#&Y%{&;_GOAR(Y@`u>)(C?%4z_G`zRP)myr;tHO3Ms5g=*g6}_EOEehV~ z^`%mq^uj)VWBUBis2RzDtE^{yE~6u3I9pwUiw8cyd_xrm#(FgBmMas@n#y=3Jlz&q zpgzpc=Fb3n_Ur|%n=$J%j-#871 z5i>?M8SPaMs!f!1hgnkg3t*`&Qco@;1)P^;*K4mWl;5j0oip<} zl3uW;+ar--%6QDTOyL?(aduW;jq#5nG`3iv= z_gkhXPQ`+li3Bm#mu^*)`97uz5!|qV{?l}@5dWE{pTbXn`cnmKzyJHck1u}lizqmC zTAs_tSG?Z=j~~{~F1W4fxye3yjJ#jG^dZg(up@hA_Wj;Y3Hw}X-&`{%ml4`OTwiRk z-zIalv#|`F=2kJ_`tV_n%(j_>#(byQBy+q-qsRG1({<)v z0W>#5E_87umOls}xL4R6R``7a+hmgmqP4=L*-)5!Pl z-HZC_N_AMx&d!Mr7&W~2T!igrw4t_quf4e#&wTa&&?s5$(YN(}>rZaF5=pbxpVHS( zZGBXKU;op8FMEhp$CcQMY?>1SBF~kcz;x4T42)Zmn6)A}eWMJxt8#}`z!hs8I1pDt z@_q+;!d@Aa9vnMz80+6yr+rP#tt|+9-RKDhkcfno?Q#E}U0Q_6K0hqJqoP@Q(^OEy zLt}XB%{e^#>^zPi>x08?*WA-wa)9$WKK$@E0s=4L(4k5B?)-AOiKIP=6smFrNVig| zbG(Ks0n?Tn5{RUGro{)d$rt!chA`{4D5xlB0rw#q~We8bIfdOI;P zGAfEAzjU2Tmp{VfuxU0kF7hD{q0^74b{%c4NXpn` z>m!0RrX0=+NSYZOz{J?7?t$6kk&*76UUYRE@45L3_i|sdPops;51E#0n4TC{2S(=m zV&SN!O|3Pl)@l!yE3iJ~&O5(@Jv%;7hGvJ;h3+`n>XKU96Onm923Gc8BiRPmfu>W5 zal$cYy${cGyHXsN3L{aRhfK}Qo?qF*xl6`6w)`NV(`Nf7w#X=fOMoXMC5(>cbIggc z81Q&uw={!v|G6~G%@$s(+fuJJM622NNFYKd08{*ofF{?>#fz8GKQL+7H*GZ_je5pr z^J-*-teP28hFs*f0ycs*xBD8vc3Er+rtW6QeF%1=(Xd8m**e3>*8Ob|UN<8~j4soe zvfP@;Rk(K2X^)lKSCean(e`j8g7fE$Yay3An10J^BuMM9n6-SsVX9X4`K2IjC>29* zGKS+vjwmB!X-N^<%_g{1pRFknioF#WqK`J%&;(%v_$hAKnL5JLQb7Q^cfcC|sf?T5* z>Pcw0@sWog!uD++Xi5N6UL0)=%hruh8Md@c;E5*|@ci?$@Oq;fP2(cSCm%SMgV8j* zeOhx{2@okp*JLD#R4BE%={9`0*+PPm?jg@L_sR)8+1HB&Qv>E@ zGaMfsK<}tb(8-m_NN$yQC#vBLx1n3+7}J*WImlFX_S{9>sP9XnXBZV_DHC`xT4Y#Bhn8}qvi?=4p$e*o>F zg=L&p1-Oy=W-hd)@n%lVG?9CQCc2&K%eKxfxd5 zYXIA^Be*O^xgp?MjqKl#-<&*&59{i%(AI|0PT8BHF(m_`(Vrm$`E3Pf*}@DAMwm&c z!-&yp$fCIR>AdTxFNRO{0}=|d7BUM>#4x%+1S~Srg;f8w zAbNCk4AZh;r+eaJK#XH_d>Fn7_H_6JqG=-Dfo6C@R%HcSjskbNgPyPPi8(`WV78PL zmEy?W9jG{U7?r1wiSjss+LBYKFE2u4WvNIR>dMPdRd^I_Ri_OB&nG1$0BNTf{Ov~4 zR(TqYWrZ-Cy0kx<(b(Kbrl#iecB&9?hs4O~kB6^FZ`6-O&}F#y7zvAl^%jEvnU5K0##Ax zU_4RruvnW-U}vd1c0LOs2xiuA9V@s|W7tZz%nImgGxG1HsE zob1`t$+&_zZs$K;99Yn>J~|x zdJvDrWWVrZdS)hPn?dK{<;$3yo|4baqF45QhsC5d^|Tk_;Q*4cFjBFA;E@1&;~{jk zHo)9m2TN-s%q@+uwzuhCN{3uN0h(-Kuqo)ap|NoHO@lNF9X(z)$ak30HyVbouNgz8 z<2ZYK8|KgK#b~%5sd*>5XFJd}SdPx2qU&tpWkFiDB!VOt5k%WzLBWY*c;=a>@r%bE zMR`dP0xr8M!%h}_HznwAepD+wpi(Bpyg26X&^u_nX^z1Q69@X)Xr4ioBipo~wB zB0MG&YeEbxgLB+!@lMpj5jG(v8_2>!eo-45H|Ne@k~y|~G>uK0D=KPm^zdO67Mwy+ zVG)XpOHo--jk?-qG&QxOt<8oulNBdL37G5BJ$BUFD$1OxTMCp6K+sJ~4#2CUwir&? zsMs8p1_iIf=zS{*ql9f$MY5T-qgy~)uZ+`5tX@VkGBT~iF8Lg!>yC@D9Pqjk@_V&L zjr&9@7DTsSHYkHV$4Hop$2urY@%t1g%6KHCRQN7)!)=YCQ4}nRVrBY~Q4cv9rc^Y% zMrJyMJYsN)v1w?>86~3;+|^X2N{L{Nij{f!J^_*} zrZzg)jf8+8B!>R4^Qc`WxL~S#XLF5`&1A-e3Y#pCq~E`|{{zgM8ZfFf&Bls6B6@)J zWUB>fB?8iTo*tRA1ZA^M8_w01W5L{_ku`olYli4ljD#a%*k4;a#A13)-4XpsM!BVR z+?PeyF)GLYPOH(QJTHL-YsKg1X0-`7BS;Qg2b^6@N6o!&9wSzC-1?kW^{g9>@9h*i zGU!O)HE|#3{~7(ILqVBIm$|Qy7+0>g2H3?=jEdpM`nr4$60JCFc34~MG*YeKW$-;K z341qjEv=@3J#DgJAf$W%Y!Gj>ocR1FCg-lxpNaSonu-tO?fZXE4bjcN_zSdFp1S5e zHh@vbhzG5&26f=vRouBP&If3Q`yhvBoaw^YJsZ`bqExfY2;5D14f5c8Xxa6V0r zO$fkoq}NYp3z8wXI(Xw^H;{pq*G(rNoqvgdGp!e8e)P!q8{KoRLfz>W9a*^j89e=! z|A)@|lbasYUTCMb{QL??t32?UzP9g`Z|m=`-Tm)iD%lNRN3D!!daW~p&IoK5+m5?eK!);9dW(+ya_S- zrZ6Py(CGe`6DsiO>D+6CcuY-AqNTYR?`_(o>Csy@zlWNtDm9$CLteu@$4KabrGlr2 zD?5#i^Mv&=%Q=T`h48xweE950iju4Gx)#FkB2bD5$RfCBY6h<-GY$l?1i^ksm$LN| zP%*MaC6`Z4$WqCCFV8{1OveQcU7LV3ml*L(4{5KJxhg=A=_%PYYGlgFK3A^d6Jv}N z^A|5&&Ur5&&|t)>wXs1#M)tg*9+(;%!TFMtSZFt4LVj20Vb-(F2%UAE-MuI_*l+U{ zraX2hlA3-q?Xu&1X#p-&7i-!hDeO-iKaQO{cHqGNeK4C$dJjBUNY7fB!qbJ?4EjuA z;g!GfVAcrFSyXr$9i8n0=<>@-p<(`O0d_p+MFD4AtDHafP7CZEW{tYu%-p6oIbdy7 zkiJ%p*Hi2@!0QmnevQ|rMqXQ8n&oj7QAwZI2XmW6f!K0cDg>3RJYqg?)jSbr~fGsP+_S+}~{;VT)%G_j%a`y_+@mz#; zpLE)hjhXt0K+P&+lwn8B_qZ(kK0n*pVL^LciLM3eA4Zou>Pum+E>vBV$pTT*pY{fI zYUEo6kS#u&8K>TV;tCkcS1J!YCqS)6uZi=VV@oGyC~j5Whsd-U$$7DH7u;!(Ht)em zq6Nb#6MCjP5twSc(o-!bkk%Vbr^z^E<7VHG-tGwMYHRTDLl5Cw-})wg@cr-MXFvT3 zUVr6f^d{rV=4f=|6gKtj?;A#4-8BB&UoF z_D?FBHeLr;%%rKXWCzRVpwYo-+Hy>f$>gXOGxMj>-zok5ljt89M`>v_o_+dV-2MIM zR9=2zE9$Enl%AEK$_NDID@-$ES}~O|(`}62LqNz)hsM)4zy3H*96qCq-srtI5)uWG zP~nSTd<^B~CIRUAfi%kaczzBQdgg})1^mmVIgm=Csi6VI0)QK9Dm2QHYmEXoJEkjX ztxG)Zou>iLNRrQL)>LeQlaym?@cp7`lFIniz!rq?80iBLy9X-*vMfE$Hgf{+zP{ zW|l^fRyr6>>$J2X@x=3A50xhNl(irLJ=)f6S8zg!l0JB+bs1$?KDeswIID4I;LonJX>uK}m z&8V%b!~FdG;$Lz*xHg9eh7j}zU>9S`-qnsUYXQY@<1>sIJd<37pQjTeCz8<+M*Dj)IW~;R(IHF>_G4^7=1O-+=E;!!KP5V`Uz_yiTQkVW zCQC2e9w*uxM88=Yt{J0@kf^OszK^z6=CwrFuQcQQ8y!I|OLIDlz~KIJ5vG7~t}!A= z@NaaaqiOR?qG_XuMS2hp#6%*91Y>fpm7SbMLY>Qc=xUkI%~d6`Ux+P|H3m15u-gW= zT?}-$3)9o-#?xFQ*X;}0fQ?}7Rsy!{2-|NdVB^}Pu5g>15O&-=3$u!>c};om5a2|o zg08!6IGs+7_UC)>*)E(ti(oi}_SR-}wN%4WQ=~%OV-(#dkh97AxR0@isnI>(NScdx z;@yY;n;`(pMc#Y#k6S{wEX;C6S)}eLJbSOw0oN!?N%r2Ziuo;sb zB}mP?keIi^J5`+_Gnt z)W+-pJ~%LluFffZ``eeWZQBBBs@=+-vm8b2%^qC4;V|xr1^YUpeM#B05S0aUq z@Fx>Z%NL{-g;J=EhhQ6JJ=yiZCnHQJWNljZy$%izVp0sfv$bV7fARn(hldd#bHO*h z^0{u6XsEZZ5x$5+ltrIz#Q7YIqK=Kt=AFt%VRR`H?ZuHJrTE%cAIG~J_u=%(5}Z0- zf|JL~U}|DbgGtk5NUzH9ds37ri|1Kv`Vdcq#W<^5cHjNs7_|J+|cgd_Wz2kp>wx1LBkm5u3Z zG?01zgn&M>BAKd-VKX(Pi~Hq0lxV<%;h_=y`Jdm1qM{~DPR?lxTU74+Ou7|B_U5tFOX zVZ}aQH24Cd5R9&KErp=<7y}} zhv`Jn8Z(*O+Ekp4y5(ouaZs(mEJGNgk+UTVGb7m`jggApSP+9fF^u#kFr12`Hy)Pv zTpLyGk$K!JhUr0LAOH zH{t>=^nLO>=M48E&Qqf?zMVpYk;FAu$SdSNl92$0WDZu87UTHQBRDDJZE0)8^u#El zp`b=6$#8w>-~pUIRRD*KH(NsF>M-E@7^U?3+_1`b6QnIA=jrPXqDR0PNpiHNU-ZCW zPgF^X95ySg?PeuRO30Y5CXz-+0JA7sTUs$bF(cPyoEppid&9$1Fjbw#=3oBhb+Ya0 zFW}_c_rP=fU7UIUak#CWsuu|Cs7olRR9cVFSvop8Bl>tw^vkULKCThH5S{&OC@*`! zcy|<|y-D;e_Pxp;n~YF*I@(*|^SE>^5d7x!2n4MCW^4=>WnEn^D#FFWLPNl{T3HI% zh6NxRJ%dlHP@k&)pc7%4Jv>*T9m09;65Wu_a7n3spGYP#dlMOReAcXMw|7{z{G?MI zg0y#x0VUTqiNDl@ooFlDdqe50JuZ6q zDpNA;L9Tm($AGsJ;Q_%@leO?o)gUlkhvZBbhU3kca93e8)`Y%!HwGr`NX}YU25G!m zrpQnMvo5Va5z!5O)4T6t{knB%uCGBN?2`?p8-BM_`=%A1I;G4m^a`d^aIW7}2;gGT zQ5-!whwpsnk|-sDHhH+=@Zw`x+r#Ocfy3Ubg}+O$WhII9q|g@oWa`rL1!vZ?ixj(x9OX^LKlsSVYYwW9P3@y=U&aQtuy zc5FL=?|l0y{P>42;>e+5F)ZEi*gLU(>mgZVJFwyHy*PQSNR@Of8o^(G_CXxnTOjYT zq4Z28_UtOq{BO6-uCMcY-g#@c{Qnd}zJP2}VVpTtgVuoTCx5j1GdR* zm3^NCtIDP*N|rbw2O3;q06kAT}H7>S}TN^eI%9mt%5#LTl0X?A|Tw^b9)M+hJ~NLuY3v zE?xdm_d^;!rq)(;b#$QJVnN*sAdOLn^Kw2$-q?h?Pxkv%ET;QX*z1u02QeUeoJILj zMjyK)3ScruGl4b1bW#jy0%tmhGS60@SJ;aoF}MeM;tI(4zTv(k=s}M8ok%TNm$U&0 zmX}L4y;Z_BM8^WjZ+gUbVTndVZMD|dw>C8hAhIARKwzXl-K5^q(ugLpbLwS|l0okH z@#8X%tgp%4VZdhIUdQ(bv!DQc?Zr(B;` zKEJfBM83jC!L>EDvX2j|UNt(nc1RHAwOdhn^u6nZRQ#Pqdl1|G4y=dXll?|)K+(0s zffz>W8Zqkjp}%)jNk|6m9t@e=G3u0cfATa&MJEl*yo(<^h~&Zj7-c%L{C}XV6ulmY zIvBI(6~)!rhWg4fG}Vf|DYj)UN5&b!eS;10S%x!OSBH_35=>WA;KJ$CxFEKw5#U;_ z5Ulb1zfFLRX^*V`b&5{aw8tgSATJSpz#1{9xlSE4oUd#H5eje|`efc+TzpEoA0K`A z5&Bd8vOWcTHCJo8qv3Zi3iTKXQRu|Yu1mgIiO8Pl6yWLYY+99m<#lTfUD$%q_|?`~ zf$0WBCtHykYsbK(9RuSw%r+HbrtX+ANTcCF1A)y(nP$bXq1BRRIEsaXc=3f7)Z-NN zIJKEvGU7*zDBOE~_A|Wt$}5^Sk&K4bi%CPw=%)Mn1`vyl;g`RhM?=GuC|obxE~ln{ zto1QFdqFnIlu~*cUduAV=GMMM8ZfQalbWyaJB?nyk<=%A=o(qM_X0z$>BiPqH+ve; z1ZPT3JvOS|<=B{QSz6FrEo>R!?r((4XB8kZx@>yJatHgtkm)g>Xd1nLy?x_2b-D?E z@+Ut*yKwaI8NBw&HoWx0R=n{17X0d$@1V801!2D* z+ulElXP(}K*IwO@7oXpZhaX-CdzXN!k}ACT;wC)&&}(?(wVeXWO7OOTwJ(49G5p{M zFW|`GGT3Zx?AU$`FFdyeue`h+PdzE;dF2C`TH53q`|$a{`MChIQz#VRweGdu*uA?% z$p{V|Diu(;0PR2$zYDLwz8kN;x(m-g`#vldhXC+?JpJ@m+;`7w3edJ~J0-^71$_3i z52K)<0WAVZH*Gp5ubJ{YNC zGvk%0-w6Vk!oWH_dgjw$p<0cd47lUxnTD5UI=p!!W@SlfN})r53z;TY>v3EvyiZ0) z3I533=oW*{BjAjwoFT7U>uQV)w73}4-p*DTpZwB?RJ@CTkmD=&q>Pd6{Mo7sj_m~; zW*K);-pT|iii%$CT!2}&WI!4t$o*o>djy=&@U5+`LeZH*R8>}L8dI;#3D)J10o2xM z!O%3O$&v^VScALJ zX~sfZ111v!E|$ssV9H}#ES;`swBP0`)E}ht_a~XTFofxV7w5_gapB}aoTZo8+Jy=+ z>PTo*QdFcsl7MQ*j_nH4It7R|2nahZhGmMGDgtg=TUy|BIJ6JhQjkXAN@HkF03aiV z{bHoLoDTg=Q)44qni>)GdIfCpd34LX_M=Mx3TsC#txbrDG0(blMsLWfmWl@9bvYDJ zlf7*q5x(a64heu`Tb_0S8Ex`xm~GQ;X;a&P83VK(>S}9Y5uizNyWAM)>%)iuHKTFA zRl?|0#<|1PLiT%of6HcNgk##{Ku<#Ep4_)z)|&u^VMcldG_l6BR=^VL24^NGbbjT2 z{6-s@2Lpas&FS_OnQ>zz*&#aR#PMSS$akSm*2Cn;pp2badqojIGE=FfxJa3_x&IJg z8{JzjLI-+>r2{T^SZmXki>93w9l>at(f&^--AE*ffxUatciQ`a?HJt=}MnPsSbhN`Gb7pLGZ1D<>58lth{DQtuBjM4g)^rXH4I;T^3u2Eyj(!2! zGXfMxWd6^}y18`bjEWK9TCIF|^r)Wud{q@@oGx`t7(JIygLFqD@Y-1SUAJoIBXtUO zBzvbZdx!O5(NF}DP*`jSV}{X{4mvt6Ubv`4Bvv!CMjAB**yy`i4@<%yW`D3|J0Re5 zwHY=HHjxm8edVYtjlMS*;kdFy!DAO&GH!;Y_bQvCcd{CxY4%U+Kyt*4o~pf=Kd>2h zWGh=n&S>mpdWY}^skFIRjvP85#^Fx&@UXchH>;M0Iyhy6sjsQT=1m*$?QeYxufF^e z+GUdt$_?2XE7ap{6ryMJW^iB#cKaxLl5Cw$|rN5OhIKoqA3AsGakDZ)F(%M zpD2Ndd$b1LgatmIM;qGa8%>+nXxg-)qA`-*)PyLpAsjtgjnDn{!|-|hn!aOdY{rRW z#WMd-;N;O#j1LXq?(aX3r=NTmg#{HjdgzRRpqKILE1S{UXvRH1eHD-X{4H4*Em}YJ zyZ_&Bh#^{yV@FTpo_k)zL-)UqsMn_oq_wpjkN5D4J7C~c=0r1aV|qCy7{StnWidmXzJL5oA4zx<66oHQd_xzfjLx>DAA z8PQ=QTBZQrs=71+Bv+?NJz=EQ&Hnz?2sdutC%umz0Y==!35rPk5f9&(rHau#GVIc+ zmJ4{|d#FUY*HhteJZZSvThr0Wpa3X-Zz`G4;%u^svi@u}iaP_+7=a-W3k7`gGlr?r zVKGv>6sR$Bz+O1eT{AU0f^%ojt22pv!ABon*0v6Bzx9@;{VhE> z=lDMM)d~2n1!)wfPbx?{ybH5k=4Fj1_Dl1~8mhd>{dlR^x_i;n*N+JS1WYf#w08^6 z&P-!^d=vxneIyN`1C)SlWOxMIw{M46j7c7>>1e2{llQb}O*jE6qlv*_02SrsICc6o zm>$k_u-Vxe+0*+4Y=xD6-RpLsvZ74KxwNEMboe0w0RSkCogc5h@-n&v2+?uW-qr#;(+iz4XZ=p}rxNH6 zhhT1P#+g$mwU(CAKN1?`qmKxfBQl0vZ4I)%$^4d1XYWtOWo$|`WtGo`Aed|7__3n` zrW>^0bg(xmd$$`K-hMmn^iHjU<*_G)?npNpn%WSH_o*&0I_MOgo}O2S+|s?Dj?aNe z4~9+_AoS3~80xTMW^f$+dk@0#hkpqFU3Xz3(TlmM8N^>-huG84Vy1Txqb3XHl7pC* zXC8a`WrUx43d7E;Ag$lpf&P#W{ax)CXsky<=J>F^3se2QI6EY^tEKJX!H`xon*ROS*WKE?rV0Lg2kw+eZ`!D|z37NxF^1C`~ z7*X%+#H`tj1p!i*j~&CWWo;M%uGPwi`}gBwWhG{tn?JSnYY_od)B((rSgjM1`h_X+ z1Zs4SP)~*A88KL*WG^>yuuYUtp1swSZtJpC-!XE}YiA>BOKq{HJW`jY+XAf4dCPn7 zh@N$t>#w&}@{j;^wWS#yU3F*jF<{=2aN-Mkedd>oQgh`V4y;g zDhGi@v#rpN@HC#^R{rq#!;kjp@#S_2!6@L1YALD`h??YoP zNHyBqz_@U@PpSAPCuYRxn-K#wqDqR&b*+Kgn6 z&S=`rf;37)k88!+G)Bh)V=YMa(YuhIxZJQt<>#E&iOU;b#*E8~fx&J8bDi>;Po`%Y zqiNpZMs!-+m3sQ}JGRp};S|UD-lPBx&r7t~(peG_me^3mYG66E1 zap#>+;~QW96~>1L@h5-$6a3kq-GjUCd~WWe)DnssQ|6- z-t`Q=`Hd&=pa1jsW&NDSzP-or;)|Q{?mPRGLb$4`8fLQ<&p!J;_UtXg)bxTfPyWvD zd(ev&#LQRgm@vfAC}c z6J0hq0+?23mf8$>W_ zX0AFd`;p99reQ3jIQV|Du+eLl-5YByh0Z2|mNYxu+JQ9Q7g;xXubwX1k3|_6@0ZI< zK-MdjD4M|l`QVbf8jGVEU+#d*H>(;G?AT4u{ zD1nZ@rO{Pp3Xmk}!ioJj+gPP(QOngVlklcCyf$g?ZP8xDdiyaZ*E8p~<9u}yX2ymU zH1e7v0tjlvP$%2t!oqnRI(P^kF-$*{y>EPMRDe*urh1ZGWbfWRSJ+b5ty_mz#PB7_ zNI(D<+g%WJ_#9T%zXVa!6JwYd9a5v8bpLO^^(KmoIC)aRBkN0;F~dE5xd`U1 z5E^Nm<6f&pqs3v?5qDT*|9uwwWh{$}&d46U7srks(RAX`fgWwbe{lak*+1XJ-rc)2 z{g(4&Zf;@ODAaNXQy!gSps}8YwX8#Z3DgVdZmO@<$Y!m8?)sW)%*b=vy=$ic##T+a z98jPb#7i%}C~L!uzMlB198olu%PYh%6kRhjbA7F2<~T0^Zn=_yzT^ldd?C0$`#Fp@ zHDTQDM9+?02tM!toPYesm=AqJJBcO5PIPSct8Jn_`dQLq+WRiXM+Kp5Bo84Xdi+PJ_z5BehAMOzlgZlo^g3^ z=;4Rq`_6aZyX#I2$(rhs@9s&Y$46^WDFVP^&pd=E*it=ga_v;Tknf(K zW=Ku5qGn#Bo@_2Xsww(he=Ip7P@{u7zi9N;qceL0i)2 zJ10u7Kkp5W-qg-$pVBBBDc)Nls{v^h(HKnq1XtIBo@^liN;kK@YM8Ny&`c_h%kRp@ zSW|{^Q4om{AAA#ahUd5~GA5HZYC$Lx(8BtB57wqF$Mk3vT9_u~@|*JSG6>8D*CG+~*#_uAPPG>l>2!JC32Dag2}8qP^XTr=Q#;e>=VS`WO-k z8VJ28JY9xYU*3YP@9tHP3_IkvwRK(rY15)G1A#dH?Z5pBnwq*WI5?{3pp1=8VPfhm z{!&2NQ%`Ng6Hjcwv(Ih60@6P7nFq1|K&1fd^!wAFnZ(58lz_+e*znF_1!*kqo|~Ol zK==H!oAHZB-@-2*+a#cCN^1y=Jf}v&_mMy(7ej??Vx-@v96E3iM-Cmr>60h4t;et! zj7*=SV@T<#WdmbGiF<~rvH*^jYE8Z7ezeqUmMx5|`DG(!8pK-Upc@H+6Nv{%oUxje zho!^Z~tW}JC9E7yWFFGfUP)Kpht-@d)7S4xXcD|rHIqZ|S(O3$2v&uK?2Iak5w`?{9X-XeY15JcP7$j?X_0?AeR0PyEC@(7&;IRWX0XYPS zZ1PNCe7itehBTwSz6?zzN6}Jx9MXGsO5xD;H zGZ?5SL*J=WNNji)soi@KxchDl*VJL?bRiP!)}c=T$)wz$?+4$*P)P|Ux}yrx!q2@Z zpvr$W-O+AGNajrRsb?^oNa4KfN&c^Y9TU4hz`5E|48Havym#G&!B`Yy(FojM`~t#{ zJc^-K69z37gqg}H`@*2lcV#VetxSkS1a$T9-;d$)a-_CyMf{C7G!2*_&GV%%A@t)P zW3;vw^P^*!9~^=EfBX*&3YeRd^|w%2iSq_vYb_)juo0|%8UR~d#+NNssONI66(=|w zll3#+FS;ZiL3dE*Xwao3IPB9okm|;O>;pVM?Ew-baSvE&?_TaWclK;LZP(PS!6fc; zr2ePP&|X`tQSxm3!oTq~zdh|>86FzN^whL|Kle_)mP>8y(BP1)eX)D`QvyEIwcm6y z-%Jlsl5EjgqnU;>ZlQ4#yi0%@gChiMcQDn6X^p&D=4tcGml{Kgki&kowKQYX#*O&Z zVn9_C9Air6pz1%T2_94vXDKs>YvijQVSVc*)~(y8 zsgV4;(YP21(_YvZ^+w0+%&anc(Kw?~?XcP4w58bzhx_8Xp%SFgdza}M$J9OcSxWCm zIi%Uio)r~^Vr`U7`xfB=@0E2pd?t)gt~PS0AdSk@W>!5z>T|Yp=@cWm zMNT1<;n~!i`_YtHG4PkC(2J>?Z%Fx)- z+=7Ps2CZv#SZ!K=$a`YMDd-D`p0%K>vr{u!$gG+j{UA_d8k^U}Ch=s+yqzFZGv~&A5?KQ>78q@5UQd(A840BrxN(&26T~(FM(*{b`*3VL~wH89K_GtiY-23V1q#kCL$4bso z3IQ6|exR!!p0*;{f2_(>oszjbkO-l^;9Z%sCMAaA`L)S)IHVZ@*=dg>y&=>cdmSHt zw6cxIeUYi(S_9i$r%uQAx?%;DOv`6PE&KZDz-8tL`|FYIk)LfY-YWJ*Jx17WV{{n9 zgS}b%>pO2G3M@rGGn(cXJs9b?FUzKW zhh2;gO%q~D%L;}Ey`QmwN26#ZMTKansTQNau8W0v+%LWGJf45uy z{mq-?|J#rhrJ?8>nw_jE}^RGtZWGBFyzG*(pYZhxP19H=}N9veV>L^jxomHV&VO5t@n!_1)%=S?ibCimwrToUk=8~ErI<&#Jb zqs{EXrcFoi-g}gz*tqc!-h6W}KKS4mCa30Qz6P*+cOf=xI4JvT0ru}Nl}#sx;n5jX zR&`?Yd&lK(hvaW3uxr;LRlK#;jo7=J3i&k5&CS@iXAeTr1orGbjn`h=p@5HItgX$B z&6|(t_kZv~ffze=2!(pUCekmwuo)(k7;$3g5vaZU?g1t7=v9FKpZ@H7LFeQd94^}$p zY$4MYz5f(?wW9*0=z*d~iRpuFm8Z~ASEMO;1VIW4ZlD~N3O7DBZe|a&n~6rPB&xVV zVfDVRWfYAfLx}2_yrV^T0QJ_X>CoeSp*zEvh;P-mB{nB z+AK6*p(mD~XZ--dB8gwvyN#_F*aM2h5u$0v>j5-;USC zpksuASr-=tpfJngtQc2ext~3Ic54dFaxEbyM6ohb!SuiE`=fqgis8)Q0A^VmCk9%& zho>=63ncqczXl+!GTaBRoQt(s(*g`T0!3!f1bw)_yb#ur4ktlJ~IB zR}ce9xi`NTw$65~VJD6H4tcJO9^S5+G|uJr+7j4geXz!r*+Vq4$Yy!)z(E0KWt#nS zrtq}ZokapZ87qgfE}BFdWxSX%ba?+>J(tVn(C3klBbg1Psbg7R77<&hv91P94R!h* zd?$dgI0`0o$O4L@!+H-Vj)XXIM;)4&~*SZ*zvaL3yo9mkdGS)5^hDCo|xUd}4 z=PK8DCoe~RhaT1-_}V@N>DU~4Oe5(`B3v$|4CgrQC3mC21X8s!F^&h2hYM|qknl~F2SHzCTs$nP}Ve{Lk) z$C$QFTJhC@9V206!`o?*Yi?SWRqAGi04SZ}S+;CicrL=om(SV;51Ah2CwpG;HPR~^ zz5hnSNE>VAScshuNF%_eAxtJnr+`JKax&GD&zhcD_Cq6`c+~IGs3)TrtOsJBDl&{! ziNVYowaT(mjqt2n_c|KIm}L}#Mm^J1rluy9P-EAwU83xJmIY}{1rCbQ=5aZ%yFXIl z&kArk+gyvejy8;nVYeJeBNcyh)OfGWM@mC|a3|6rjpPM$^8NE3JEp~WVN{96C0lKD zcC>2^9u50k4tkgAeDS#*0?MoqQbOim}2X+*);XGR)7%! zDA^P_1|FwVYsSd9SXo*uat7um_I>MAfZ8kf#I^?c9Aq7g1Vf0)_y?S_kAws$MnkaM zx=>kFCEs7JX{8~bJN=zy#R}NS_{lV1+D$8Y`|}YphFYyIbjJro*BiHPpp$@(fu$K1 z)TRBRD@MC)@c;0K3Ye06_K98+L$`MjJ^?mTDk(wy)fX{*;s9nmUYu_;;lon}`0&JWL%_9K z`9uJli~&gkon-p$XpuFuyv`#?>j}HjS-TJA`=1jXSt<6014T70*nYAC_doM29@}^T zk8C=I``p=r)0_91&pME^7mSJ%th#|JEBptl<2vLvjrhrEdpKDur?f%YZBcWWFOWd*y@kM z-gr{l{>NP`7g-cP$I7h&>QGOJYW;dQV2(Lf!HSnN_0j% z5)XDEXsyEhlYq6I#01tJ4xZFW6y){i?@leUu(Ln|Kit8#t# zp$E0Tq_wF@3z9d!^A0v|dKd3*ct`WPsVvwnp7mx-*&q#PWvV+0h>wNUc**C`XxgQZ(Laz+ z%~iS)=g7zeMg;(k3fSTQ`vrhy-b2NufQ^426=0`nA?Zj|f8V60P7aUG>U#r$q!^RK z`W}*QWX_R&p5c+%E9d8X=;6$KFF%(NzMmu~{F!-;-t_0nxhdtGd-gY0D?5KNOiT;C<_ybEZBP~84DsQh8$VtjP{#c zgf&^L&0-Bl_S(H!p~pET;DC*0nO4CRgt%aEDhykcT|kCnEW>5)tCSEE^?!_HL{;#^G$CP%Jy9xfG9@vjAWlq23NYfbjn zL^sYhRN=z0J(w1QC<9msR9&Jg+4TCO9MijLOkcY6A>1y9f{4tsVX4AEGOFM|67VD7 zcET?}u2aT+qZqwC@hBX28!9U+(bQ0{f9IH=kTGZdSkN!?zTKi??`p?eqT9<#iqNC! zfdd%fvl4(tG9}hj?ccv&qe3D19HW;c5E<+fkSlZ2dO`Fosjz2zp)c*kl~U zNKFJ>@_x6bRk=D$dXID#Uvfd?UjRbiw&xmM$@P(W=1Cwyysp-e(@Lv znoXj6W-%o?A^PN#^7_v(TwaN@3+FH$l>OxAKgU>EDHc4k7TLE7jL!Vf-x{zC^bDfVS= zr|kLb)*-oTCq{z-9j7q?R1*Sd0^j={CgnRP`ui|8C?HJc<48jtf_LAI3!@{5J@gO; zWgp3av`HCXg3RHTCOO9tM&fY{RfysI@WYsubM`kkA@Sx*NWS$fCgeQ}emADioWfL5 zA*Qx(!?}$cap}MTL%_9KSqj*0bq}_Xk8F=Eq61o&)q5F`R#&zc8{T^Z&ul%6pS^Vm z-+ygCzWvf3eEI1Q@a1QB;)~Dhz!#oQ%a`Q;UwLLbzV^&k-1X8<-1E*+Jh?^WnTHTh z_2c-4AH!=d#)p?KVs2^-_NGFV?|BkKJ$|&6Zb#Af$56KSDHO`jx|3UxiupASvG9YR z%j?geWY-e{rfN}l`VE}k{;0hED5?&wU-sjUy8tNu9r0_sZlJ%No6{TEao zeo1s#i-183OvNAI)cX&kSk80gt-IlFEyDOnKU#|4$C(cvk$Eq=VCNIq`m6teWAFYH zZc{P*9aT8E?k<$<{1r-fKZ&-gZL&|=1rSzZ>*N0e<@;Vh$?m80JtsHahw3A*%C$a? zy{~>tudOHI5P)|Qr3apa-7PwE+Kln@N!-EIqNRhLi_o)5#mvGv(#Jmd!2RkGB9-vg z&F?9x$dkW%T$@AEE5&A(M~@uR9&0T4rm>dIxW!`JWO5X{cG>VR|K)qAs)~tn?GeLn zIdn6?)+7-&sdcf3iWuKZ*KR&Sqb?0t!deI7YH!h0!qu`I8j0W93P)S5j6+!G zw$b(6DoNjGQX>sCq)8@1&nek7+46wQn@ms4F2v3VYXvzT>~-fBVAfGvq-m=x;AYyY zwoPcPfVrwrne+%owZ1vzg`>-&jDlswMH+o!%^1^EnBuDE^>k^93W1_s4A)W7A#9Lr z5o4{fsY!_)2q0L~aHG8-)!U;rM15iqX5Tvj*_hlvqiJ(KF|@|V)JV&IPquW#`%xC| zH{5IU5jy%3WOx){uwZV&#X~zZ<#Kotq$!~Cd&HPuK0>(M9W#~CpXK!?upsDQ3gRI# z9CwSMyGw)w7^apMrGOt9=-2*fe0{GNxmz}G7J$~JO_rH8!#cBpL{!FS9DBu>wh36f zLL5TE5E;K{IE3B1c4OV^>-6&(X{ceNax2P8OSR^T^@U`4ZE334xyP)UrQ^JuFy)wQ zk|ZCDiqUDps2KaX8NJ^~2+~N@b6uUQ*fBAYsO&p*Hn5JqqpnzMGMP5a@1c=O;XEc# zvkFif92&?=7ZC_Cb&A9=ycYI;B!NK4W7BpBeF74>A95d{Gm9x$6xvI-BI;;1x1*`q zB06wfK+1wPfnIv>{AU=GV5Y)Y8pcV+DDrjF+DJ(DftU>y`!?14;P=ogx!g` z@hQxb(N_T2d}Ez}GzZ4Z%P`T@jQMf7uf|3U%Y5sP#RM=9V6eUcfoGnE{qe`pDXcWDN4k&TYXi*U+9S$911!*!TdkOwzp0UyW7#-IhHwI6g!X(p<1=x)U zIO~4tB>`*evA}v)0cYJW3vk=C36muyxFlFy^G>neq_`828zzb2sQG#2J3L??7&!$bcWF@F~t3pe5DJ3m58;bzQEjcerV^wvkv zD&UbdW0NC&n3)(6Jd(u8&G*Anb4;0MJ?&*UuimFqlGMy!n%jrj6IZ6*FmHAVx#;J$@|@ zo?wlU9i|acJ`y>1>0_Kde_2_s7S3MKV*c5gIh6@fT;n1mqqFL5%t+s2WXcG%{B4t& znRD7ae7S>)kF_iGpfi<=4T`JEOBJNiGtDAgHpAca?nacHDU^*jEQX%|ID@_Ch9Y|t z0Rro=ve#{1B5RyRveVL_h9K)$lpU(eqNbZL#lV4*U_$NlGIBik)d(GbCI%`#xV=pr>E%k|4>umb1{%dher_$ zM+I+7R;Eu zHr$(1q7O#j_%~&3Tuhmq93Irakz&6;9?F^z4tXuDGk6ZZCnKcvpA;Dz8N|?ljH8^l zPr&!c&|rG3^U%Ekr%ixOO?qCK>csYtIVSUiDT7AuHxd$dut_^3;#aSqwUb@yRM6;e z)oHD5<@q_Em(G9wZk2tZ%hI9_faQSnatG6O-A<;ZT6NtyAkFl*zIKjp&tpjTh5oQl_J$yOV<7=?@>70SM~}?uKG6}qbnrz)j|5!klb=!9BdAw;WpCs9 z9ud28T;>_qR%Q&ZyskFqI40z8Om*gb-y`dI z1QRm1CkA8<2rwi#WU3_r=d|dN8NV9~=2l!1Pj~WX@?MROWdPTgp4)?OymkzCzEh0vZ?47CAhmIPju?rD|=UKQhoGI=fkb)Z;k3{`+V=^{&27 zkVY`qCg5$LCz=LnuYX4aLUXfoa*mg<)uE&mN{{}@neu=1~88c%;3evVd{@;~|XjJyj){9cdXPrWe=Q7O^eoYXxtzC{8y1x%l{vl2^e|~Ojl>|b$jD68 z9gE7Ol?9(}XROYbtGTR(cN?2U8!01}9No9>c%?_dD^* zE1j@fQ>v8L`k=Ai)Fi06CEb;N>BL+~f{9)%N!9|SQA)x+F!y(?$n;27nb^>^ zkp~t}&e~)H?l56mln2vOdj_JPXme|(JO)!TKZEHSI)bgWIG8Dw25-Mn!-vJ-R8|y% z4|+c@fB2F1Y0C&xi!NSF%lQkJF?TjCv-1})J9i$lvuDNVo74KQ(XqKjnZmFrrc7!f zBX>ri=eJG9L}_1;aaiu45yLf1Z!F1xYHMqiWiH@hy0lm83-<5bE#U2l*2b{0EH_W1 zJ;+G7U$NH7Euet)ZJh!f*e@-6KCdM7%rnJ^=~F&2;vBL+5ny;_U*vh|MbCf_qwimh z1Vs6{35q;+!)v>hLV^Oef?yw+pv|NaG2Sc3^EzNAzmtZaBvUkCNhm@?)!JC9ziZ8L zR_Z(>nr<<+yw-N45=jMDEchq$AB}28)@Tg#eAFZCc|*WQuty`DWHQR`=@PIg*F!zS zYhubg`-SCmkSRDBPaq^lVD|k}=Wt&mILpXNAk8EDe*GF`QLwfxnC!)n7;@87lb9Mw z|D^t-0mz6Suh(v~DbbG6QC?n-Xf$>mP)j9x5b-##ovVJQf-LqtV*_Uv(DVOSKp5HC zuKeAbCe#SJujzNh|7RLo^C!K+SI#ez`I|DHEfJnq&n?39@YyEgH`cj~CNZrsAi$ke z)m;tcYI`usrSn4O8yzT&n&*=8NKtxmOOx6$oX_mznwfWWAaE{n><7m4c9%$I&74 zGvLR>*u>)K=XQ`$kj$AO`7E1NC*+#a_3^jYNkj4Zyy)!egvXmsdAxAxvN|)3j&lS3 znDYtfh{Z59IEr}zmlqE2#Q9@;u^>QgCe^1PjrDDl^7qM9KgN0oF+4b~>HGuz=~Vwd z5!OFGzHK z{TTK6G1bRTwyDhk9ZwKz%--Y`Q*l_KW zfZZ3LNuQ6P?_1Ar!!w)r;o#nNVwZi0&f5K`Job|4=;H#2BN*)qV<7Irh4TwAmA;S4 zL$AQ!QHQ>myq=6;On_Qn)TOMGHAh~>?rm^IPPp=XUAZrs9Xq~c=>3igXWeRXzb{mHJdtqs7#r6;0R~mlSrky!;5^h_& zDhHmA=>|Lp3+1!xC#WFPy;COfz3&xiH0{tKH^#?h^SF?ow+pyeQ`tS!28XnOc3Kq26hr(Z5Rr{1I4bkx zwnoz`6r8bLKy=uSWN$>-&jJCTdYK8VKIwxx?IW?3R2ZF;|0uxwPyn4MJpws`7}jpF zu`?<2DGLi1F)yGlBLsI-Gw0KaPGn+oP6>5L{xLQ>qcv-k0a2z@b{S!Pnh|)qT{18* zrT3D{LBPwtPfbnDN*f;W$(|66Xdfm^n+a7F<)|nv#`sX*mHj7Mm}X4_ijE~3_%!(V zlhGER01kq)kXww(X!x2nyPOc9+04zbw$>?FVpNHH9SyY%Ffh7~H4!wV@?T8n968rP`yA>786A;Y83jZiju$frmcIp*^Y$ar)9EgfSDK?_ri zeKrC5T<0<`GIJv{2Q%lRbAXPOcr5L>yOB`O(*e_2SEA>lb09PKbj@=eWUYCEPkOpp zqo#~?0y_EsxBvq>8X^L6MutWfM?bfN?4)FmW9x-{$;;M4I0npW=YE+_feip$A}*Q)^P zRsy!QY?_^n#}Sk@%NpgT=4QOS>y$>jGSRQEym$cL+f;#{?rKxub^j7jc4M*OUIB9i zc0brsi?6?W^vb!v`s{Z6YRh3bqkZU&IZ<)wc{H8bi2iO51_g-qMIE?&@jNUQJ2e&3 zYpE7M?-l@;MA*|Hx=nOSN4eI0?S19z>a;uk{v&89*@eD%Safh1wmtn>nL8wpN@-nK z#r~JjaOz#z59G6sD#QYIOpK4p_ohJ_oAT39MQ~**--jMLuYwK)NJtVe!&LIV*16jD(y1BV?Dzmfa zFg<+^>~%w7dgj>pyb6oBRRrL%@S8OSWOz(V8sKS7Uhl-JQaAb8>FKkYKDyFDRr zE=HY0d!R5fPbHd>%zQSMlty(d^%ZEZFI6LuBqrHL+N}^8A*_4h_o?T2HL01a5RMPq zqA=x(kqPei1XpPg+^mi?raz{I#;h2`@+__)5s}X@J&|DR%DC}7q9fRLrLCp}j`mj3 zF|{yN6o^7Qp=t62h8e);BPf&azjDqM#Mx!hH2LKsOhyOiB|Y3u$Mw-lrZ&xpfq(wY zQOt?4Kbq>f0+g0YD49-GG}>qLkxJRyNghI{;k*awC-;9(dm4$ZoM*odO*Lo}l zx7!1U!zF9M1Dnk)uf;JrIW79dn1Vn1xFqw8j*PLs0o5zR!!xQ=C3hq-Dy+A6o9xp)(ri?+%hIjI25(Ne7S zwgFocigr99AaA$KH8+xBC(M=mQMT_zw3ci^WAO&jQ&kup>W8zn5KV>ei48WdY`GN& zUO|1qW|_Mdq{4OqXIo&c*&#o-D#1y&&m#J=MTt&kCr7nD*wG^TukIKkjuuUK9PW*4 z)Gg|4mUB2@soJB2BJH)JE35Y74sML}T6tJ+5%h_16hnx)(v4;Ci$W$aqXOnaqVmpO z4B5ikl7V;(MW;_;=Z3u|?A+OmQ>Xl*oNv6D40bbDTAN3k&Dd>6i-g<^@>I zYii2Ggn+uyIeFd$b7@fpoF#)p0_+I#6zEYVRR#vgA~~S|@zUkxqZV~S}`H16rx@yiCxnlVObSjWLV zj9z(?d@yB^DRoS(i_7P;=Z%r{2;isZmB!#LjhZbA0UABV+J0cs<4fgdbZxgoSa0BH zyPDd`x;xFNXsuqX&7mGx-hiSIK=ZlKp_e{Ks}drRG^DAb5G_^3=vpKqA@JjSZg#BM zH;SY)Oij$^pu@>41}e!ovhQD`Su$5H9{2#~s>Ohjd9)lz8{RpS&PFOdC45y@7VbGzI*S*op;`;*(z9G`-D&=9YHEy8AFbF)Q;W zHzy|@1q%!31dL8=b87;!rC`iRqS1bM1KsF!u#tKl+62_nfxzqmMpXF>R$`8&470w- ztWwj@ndK(L2K!EwMU+m7%wduEd!hU@3-E!QsxBa?w##M`)j}f`Mx76Zm zFCR)r)C8zKx2GJ|U>w7#AcD3^M4a^k#!~p`!^_GB%zzMU6sgnVf=PTG)##`@088C& z!8m0YOvN;s6%v4y3=1F=pwIaic3RL;dsya9mqypRgD$Z>s?lDxPbFY$QO4EYZlBh_ zv0pFyB+`-WXf2h`kxVHh0IUE_C7WSyI)QD;RJjb zmrZPZxF3Vbm|jTc?_4-EP^iec3AdJ?5M+B)>lSDzWWJvYlJxJS>#nK_;!9sThQI&! z*W=&(o6Q2&8bvv;ZG&qb6BE<$xPypAN#~pU0wg7Wb1aF{(ApD;tTjlhh<0l-X(PIp^L%Kt&^q40y^& zD8P*M2TXJ1d(#9MCCW5Nf&inrvs63+DwtBW*8R_ngvO?&rci0pmrM7$ok9YSbjo|W z-iP}=fn!v3K$@IkWq?Lu+G9s;u^P*kszQ)Rq+JYYrpNQy(J@DbY4q8ACE|4;=<}#o zJfDN0j-(phk(kzeW$vFKZCXGwBWY*LPKzNI*VnSgC|g{KK9sKk!=oi8x=!}e$$@^H ztuDdYx^g9GxI9qGr zl{L)0AQzyKtIE#135eNj(*knRQRUJ(2vJU%(FfuwL z`}pOYN(DHl7>Q zS>LoXGotll2IIJ#+)9v^k-?|{(@zm#bNWKqaI_lVcp;tQm`-o3Os6&)fvhzW*0cR^ zYdya9%8_(LO}_v2!?JD%#ujJjwFlP~bwh{DiI(yLod=neWky~zbBeXH$!Gu}w^bdK zA=z{KQc0PUR?PsRBba~Z=O}(_n`ZT-WG>P!&N$PC21n%gQGJbiqhIDmpi4f>dP>$y zir(XSdSgLl!Damsn@5U^UC+Nqc7QWJxEK)rs=T>s;n#4kl{52 z$TyU9@urG=dG_CUgY=A%J&7RA*VT;nx)Q`>5%p%}W%EX7XJ*mXmc-Y;UVwk{Pd4C= zJ6^}X{@3pbNNd38=U&ZZk&v#}#{{IkbnB}s|0w~4Z?xCMRF)*7TS+Sim4 zr8oM>LCH0(K&8L7{$wgv!4FwB2c{X zMwk+X%nf#}d+Gh%kv^!xuZa9}ReobA%N;a|jvqaW%E~JFe=o+ym>xMJ&#(`T4UIT{ z?3kuF(WAwFX-xClzU>25hDzwc!f@F`$T;XU*Q>#1ZLUy2#)v-+J{old3lVt_ok5x! z+1@PQcjKB5(!6T}XaN-2d)BQG8lcQdaEqZw&%Dv~+-@NSe~7g0qAUn}8L1`+W*R1e znzAYy+)GCIcSh65{*@sfq23@k%NW6H1=1)UyH)2#J_l>N_?bwEhWypNWmrJcR9^}+ zelKQ3e@zY!tO(Lb9#XXido$A}yHn}({%J8PrpLyVX)XiOc#UMFB&eL9OZSDO0g{ww zb^rbM<`^py_q4J;}{l3Fidsz#OJ}t)Jul(qUn5l{IUj zv!p|#t+W@~s!q%M8kAsz>C8^~JJTK0^`hx}q$5DnapiAZ%h}IsIbq!@fkIHeC;QrH z&@r>e+-AawBL^_h6UXF;JQD$Kj1UuGXlh=7%+)D0)K<&>byOo_`5a7nJb&RL+%8w% z#AP>%@+;AmH^VK@kDA%Tf=flyh%bS~9bojFD{UnWqtX=9z0iT72sk#Mi%pfyxT) zl{Ps#C?Gni2J!&=-LZ+fJU^0FO^B^9KR${Xvbf6c3#410o0gyRAiHa({Y5U4y?@*e z$p&l$YquM)MPhO6D{aBIUfP=#L956sy^&z+dmBpdg~vDJ+pitNeR+U8ra#`jweCtp z?He!d#rs9An3^|Ed1oqoT-GD|a5^nwSISNC|_ z@^^lY!uiTQ#w*z9+Q>JfvR5OsDP{!7=h;%{3WMyG@5+3C`kdLnXRak9Q2~!mQzI;b zk*<%V$pr*G_QkyK#f#1Qa6ZD%63Nn|O3=p?8lM>j-0wqd1<+1HbG)-#+1*lCYx-lcsyMy~n?#DEYm=Urtq?P^-1 zRl!-Rzgqy}@*5z%UPFUJdJXI$qkUvr>hR$}@8XmEyW`V#u!b}m?Z$!q`!%JpxTpxF zB_%Mmw!+%giPq*u_(X}bM-jmoi)h0EH|lEyxchvX*1}Y3-A`nrWF(3kDUB;K2=aFV zgEaeMm)1k^y-F-1AdRVyMsq1!2vS(vM$h`Ku1DjZ$ZKXFvhHhYaz0sM+9&t^%0oV%N;Hsezpx0*GeV`NY=QC~zsG^3fNwUc z&h=m#AR`wpH&g7c?lIg`*syk5Ko05frwEj814wI#^dgW<(|yxuRCY=Ed8N6tTqEn1 z0zUth)J{e;<`>Q)9*@K6aA50}tvFLysPz#aW~D?92=HW$)@pS3S_?rtZ2se?trl=5b`k5NxX+|m9~FzDysQ+b zPZel%hR-1%2Qr_hf3YpeY7Kunqr5V=TboJe}jM<|@az~H3TF_W|@SE4PF zU6H(sBvrWrw0L|7Zg&_}RW<17?10N*hqJ?^Y~Fk>d|qjAo!`71V-LHhoR0FEAS0rE;b-et~1koSYl)mLiN?%8l0b@uS$Y`ym2 z8su7Z+SxE(>_ZSj%H!;bYirv*_v!Am0Yp zo6)6 z)|eOw2tYGtVIoLmG>@TV*2hhVLZ1=EI%jFYtjw9oiE&KHf|*MtaOvXOr@{W+vHF8X z0h_T#qtR=GG{#IzAZ_vBz@Vn3M7?5shthfC-D0RGyCX=3y<(te*Bg*P;Ce8?-w7tP z-fMB+A$u$%bVhS)sc6)wjr7mCrQobaxCh#r%EbV6sc~g=J)Z_)RE^O}jW#S9?|fxB zkj949sdz*TV3(3HxUB8yOUV2XV_DNhd zb}yXHkgSb93=dCZZtlFch{=_3jkS&JhsL_(TO^Ym`-naBG{$8atJ;;YZ5>(IXO`f>bpm+2Y+rOb?bJMhyT&G_lgRs~eo{yhz{zQ3^) zUwmRKzVo`+@(S{n0x>IowyO<4+1`YE_E@e1YWM7E$9LX7laA&+w+pWwszJ~2RnnyF zgY3U-apLH-XlsY15p#+LkOWMzww3dAIdGN{;um{s73^YP5QrH)lZ>!rj1C}gXVa>5 zC-IjdNTcDvv;lgwh%|3>@mECNN3S-E#@<%-Itndw_{{n!`@3(C#0 z6iU`GnszHd8l|#349lR|06e9|Gf}CLtqhZ*8ZiQpCIvK45fq6qMJF{77my{-&)^(J zV$9Zf{Y1|IGlD~UzG<|Kk56bTfQ6+|-1oh6Xg& zR->V|N=aihswU5$^v1DJ5CtcWqrI&KeM#AS!XdPZk=$W1t28&(qqe3RAu)KDJLp|y zdRaCw=6*v^Hr<<0@{l>7b47zK+S7~nnDO44k8ppt$J6^O!Q+CZ1#?~(#$}(&{%*Uq zQ$eIrgyzVRBRFyV1m@bF_ZwW|y?9ntxYifY)|Ng%*>KD6$Ag!YvsrTMP_mfXxQl3@tzI)Ms z=n%$Cty;$xefnt(78GF8(B4S=N@?rcfL`8pY1j)FeB)?`@JfB>(!(9;^SNJ*$3C* z^N+oYZ@zp;KwFu7u2rLQBp>GEYwCAL{wucSR@<`i4Ykhq4W6LjvZ2&Ck1v^n@br|cD+-^@HQdL9{} z!^tQ5o$0;mpfEabj$#PXDBLI=M1md78lvV#$PJhvZ0Sj8bkMsU5M@r9W^Tyoy0g~n z-n&#-heAL{4;vZTD49h-WtC|*Iytcbzwd%<4Cmo-r>Tn9I_;5)aCCHB6@9*W;;uvw zY9l>{3i)Q_R)MsVa1!-N4_pGqjKGve(Sfgh8HE5 zzJqj-I7OG3Do*P4^4enp@R;scQ&owo@=|om93^Q;nSitt$BtrrXh1=L$7#cH0dlPZ z4p_(5*-(M5&Q7gy`pqJsrrqLlxvxlRX&K&J|0dqs^d2ISh`#5;k3JUt6-7&n8Flq7 zXlQIhLsJ_pX0eClJ(+9ed}ZBRz#kA`DR zK(3@aKK@Hgi5)N=^2^UK5}V#lr#mW0YlQ7T{zn06KJ+DG7?3?B_3lP=%jXy!_y6oC z=-a;!Q(`NOwwciV!V3sLa6fwFJ)?FThL<=;R+3K?q{+R|fzE6v+F#z@4g?3g5Fhr+ zYZ3JH#jlI7-E0rG$<6O$-@0x1@-yj1)!%-za9N^|dv;s!tyhlVPwsjQ|NRF~;=6C1 z!S~)N!CyV_8h-z)Kf{0h%1`k}-+lyt^1WZ;kMDXE|Ltq{;`hG%6a0@KKdWhwKiE`( z&pz-v{@|PU<0}Hde!A0iT_lZi?|!THV`IbXFFm_cNksa`W)^4k^#`*Q{9X^NZB1HU z#W~5niljqy9?{X8t?$!+PnS`oQ}{b|F4K`iCsQa#2M~pXAYNi3%}Bg?C+D&tEuAAC zP{W0VvfOALVjOV;%)Y5iod~^Vq-^3l z1_yDz_&6?{+>aTzLsJmBDUk5P_&iJ48V9ehzu~4x84#mrM4mCzDfvw2>>W5)dJ<^;tpBM=Z zKc-rd7=Wxww*#m-=(%@vZ(Pcq$$bBAlTqM}^u9GNP=+;Q>ZMZK@3Q3~!Q ztVv@eYi3ZcMfQ>9KpMrLT>U=)qY7awN0K zgu>IOl?5{UV67f&dmS=POUHYygnFOrjZRyatTnF7wyIO=FyY$FtjmlLq|xb{D^31N zqJSk5)crtfQ)z$5xoLZtDhrf3I+ykvTz5=MA`@w*PagqSk9?NB=-%J5S$pf*tX3K4 zQyNX18XdyK@Sy%)Q&TO^CvDiVR~tdvuspkrv(RE`$G5(9r^t8kr7wL2U;N^i@wKmh zLtlIH$*1)_JjTZ6t^r4khE-L{xy8`#kvX17$aRJzn$}oWR)x9-+26deEAMBc=;4uR z%nLYMn)-Rq+4A01kY;Lu^H2T+BX%nWqe1l7RwMDsE7yRu)Sg`!_xUg*cElXBgXG!z z@4OSKojWijYiOl4pDmvhNF$+J&p;HhQ3w2!>{WZ!?($AnBQV~A@Q?#30cy01XulDx zkpSdo0Gof~2YBMe?HaZE>PrW;$@Egtlo9Q1w!H=4dE+F${=!~-@$t<9${xlaediI4 zu6^zKefa9LyYQFyyo5jf?l15cKY0#+@zWRZhu?Zg0NXwI>xb6k8!sNfw_ZJhAAQhZ zm@=6W_GHUM)9%}N0*%h-;;c44xW_s=ObW~xIBJ)Dg3evVDOvN3>)7AfCi@7TzA~oF z)Db(Ry{-rW0dARo&iP2lBYIwN6YJTszbhYE7Nk)K)R;%!A%+qQd5I*M5=3Olg~;d` zz1lRQc+=V~UN-K002+m#AqZp?&emFskk6&xoqa7_KrE_e54Dz-Ni;S_RMFmw!{xe& z&d!to!TkCcc|@63MUsX}IbXSzAdStfTl;J)MAOQ(XBt5m?~9Y1DM0gLI1#9^9*hyr zlx&o2fW0)DmJ3@W4H1H^F>aP(m=TywivpY;AHjmD9_K0wG3T;f0clM6;T+(#kWGi1 z5Yr}uVATSKx6tY z0UN=ak&({2B!W4n3TBVx%?hde$p&ezDik?&#VbxPd8dE{vM=W1{9unl1!<0}P3%dH z-JguY*4~B_G8f4{YZfDywU9%pxICvZl$DkuB=e6ovvgcrYKyhedMFUkUUob_{O}|F zKYLOhKYkns_U_WiC|_gyk<2kWdrqTZ*9b$0+z6x%%DyquX@Tck-_ZB;9Y2cL3(v#%wXat8e4a zzW*zc$MJh#`Vl_+;2Zd{05px(8AQ=Ca_`~H($QgQX;Axu z88~$8WY1Mbm`HyCO)VXmeOG zB1nbJ4UPHNX?CWnbXud_5Ep3rrf)L5ErUfvi;J9_d8Z6e&~4W|(g6Dj$%f2p;UZ!r z<<(c`@Y-vmXld@dCACOr&;CXf{s21KS-70L=P#zww6&>AyOkiVD3n4)ECT0vmBB(! zi+{XPHifHof~4LjdB}7!j;W!cMMI`fNk91BYttI9XKSP}Lc$TIC$g}ejR0qSZtYEU zanEK=HJV9wV~WN~e=nv)!Hx+SqX9)pgR@>aZ$!Zv8)~!0jhm8pq8jc*tEN58&Ccbl ztaz}8*Z;r0|NM?LzwUd{`5W$C%lDPfeQB?=mhE$oEX%TGOR^;^P$Cr>MN&giA|;Vj zph${gm}iEZoO*KT>FL~PwFj)Gf#HIj3Y!uN_{{Nr_0?D8#TQ;s!}Hfe8Zmbs}3 zBWVDnWpzL1buXq9FdULczmR0p$2)PSI03@ELwnUJwBQsKKv zO7(oRI;^*oP2;@~kg(=f76?wM-kX~--C7FLV0c8|pfAghnduohf38MOpH_#f>|h8s zC3y$sG_zJI9|i#N+ydR|BeqYhFxU}jDVCj#fdSQJ#$)S6j&5NS|OK_ z+2$shYiyMHVZY4jvsq|wmFY(wk(sBSl(`efWERoA0V&Y*n{UWcZ>L;Phk2p3Nhb6) z<3IYb0kox&u*~aPDEb)t$-M$;nFU=7>hHMuYo+4&V$IfGf*+>iEL< zpD`c=qvJ<^QoAQ`;%|_BeB|4&$$$Fezp*k#>rH!pK>p%Yzr6pkugFiQU4{bz^i@jI_J$@G#tVH5{G1|{WW zy?dKZS=C-K(~nIfyEa7YL^vGr}iN`Z(jlQM#V=tLhiRTpnr6+E?9Oh1fG=$zX&+NdiKn-P(ohNnf zL?cmP0OS=w6un})E+}~tDBEGMj87Z>yYmr z8yzzTFgKpF=*>6-m-S~}0fWgz&id!LpE!bCDbw2Zz2Np_B-#&JMX?P z@4o*pGo|;gUf;~*tc(Qxy3Z?DU;s3-{M3BI%m_oQ^|R`_gq4utxX_TthdmPZ^jI{D zNO*BQ?I!5BVp+r;&!(wUgQE*Loy_0J>>M^h|1uaBpyhTA=xyrw39#{8Fi4OFg!@~q zZ^&$ghgnwW^cH(=ICo?|Fp~Ln%mRUA(*jugn>Ffqj4;?td84|jBKrIfazE=V*P6LolHP< zvbC02TRba*0j$lp-a0OyyZ>|Yh=PaHr%&6gNMvAOaO+8l0&vP5cLFAd&OW0yY1}er z#oq(wmRC0A(&g*cPgco63FKvc{e=q`^_*^G>`G;HbVj`1u=EUgrK`K&sPxn7gADmc zq#HsIFMCsgx>x@;)MNXZ=V{r~I|R;(GBuW#g4*Lk(5C=7Zoe~fDc!4cYO4#XJ0|p5 z74(@DdOD@h)h=@(1#Yph%;?X;c-nr>r}TBYA94!H3w?bu)7dF=TL7)nEE;mVPW!D0 zepR(>+KJ^Z88;39_s>Lj8=5`-$kXz`cW#tA0*YJ#(-v?8h<)nGR{7QYzhl4)uy+3o z12+RZ{lBp|DxiZn%*#@l z9!pt|NGSz>Q2+zRJQz?XLElSx6XYK$eNG8|ZVa6qQD6ZeAbW#@34`o@$`*i^(C1Hp zh$wma_a3xx9T)?YxZC+0262cQoIXFCGINOaym8V1TG)aJAgs65{>|Qr`1fEj>Y1ZfX1y0kv;N~z z)uAqWwHj$r9Z!E7Gq%=Lk6b(Yf?R1lE6ZiyP2UfJ(((gZ^@W8+b?|R?P&U>#WIU5L zT~@y4b`vULc)l^fh(2o^7oyJeX&SkguG8BoX#?EQU&5**48fDchI|5 z{@E#AgQ0Lr{JyXZ4tmAo@k&p3uMG5i6|@EQ|3fm^r#dR2Hc{^-{-2XQ8@S`(Y+Di| zR#wU=j?&*7h|a`z{2qJ3?~1}}N`DXe9l@sYOu~GWQh%dTxfdWUyWp4DN~`o2PDp$1 zHCG?VJAX!+vM)+#rPlr*z0joZ3%Guso0I}J?@Pzz3lF?tAn3!CEI!wJ6Ho$3L5oiY zjk#xk`r|Y5%OCxU{PHLML4j7i3kzh4=-+tHAOG;A{L-I(S^mRsf6D1k`|#(jHw{XE zJ{S25m!a8z{=%RUnQ(ree(+6c^d`1e{_Y3FQ3ThAdfKe5ieM}{BGlJrdat;Kih`|T zEDtP=_yunFtWx3q_$0J+LFHfmU3*EzAPvU_MM$R0?SpPbiliebLQ0mbj8ea&Q~_Yv zLj#@0{8l^{3}{>11$pVkRW;r-=J4K%W4_;k14*9~inr2@IXOws!jv?mCvPj#dZ$6! zx#XlYWXEJ^PVet7z=xDM*|Flaq0la_KWd1Ge0+*Ysed0jTusb=mPC65fHMp2eWvB=($rU#q>6b+n}^}Uq~;4M<yKm0E7}@n8V1* zPy&OKFfpDJSlGBe))I~Zf}@GSr@kNO5s=3a=c2@75gCbujkT^QBax8(zW5r;?4?H) z>;d$~?em#E#`6GJGsa*EV60${HBH9u%9ZOju#|EcN8Xn8wGDeFl#IT8{cXF404aoj z!=_r48-M$m&2Fk@@8MtAJf5{xD@zLf3RcpTBo#NS=H4S&5E>Wtu&bQ-?l3Zl6avWLry%I_5E1nVS)YZ9|+f z1gqXwAJBdWYnDI48JS{U1^1x^%sj3(v&%$S{DU$AY7g^VE5hf{*B&3)e;@8HlXhK2ihkB+aIjnV>p5MYjiw)p-^cZ^R?{(EOE-Pa zP9YFXi4&1-2b|GEr#gl8J=9|})k;fbcN5Ns;r#rh3v5STZI#dKm;PS8?y&0JNWgTf z@e$~~sg`r#FbM%7bQl#{j^kZD;JUjYZPFMUlgn!J6m$X5&P1Pd^?~{e$K}o8pGa`| z{PyptJc3BX{j+zMhWak~=yzT+5JW#36#3;q=}#X#BmeEw-;n?E$$ymJ{L&-Viw0T9 zuYK+T`P36FyJo?P0*K>vWYd08-}j$C`X%{~fAE*`8-MeVeCTUO^mD%|zw&2ali&a6 zmu`A5rIUXOWxt-^A3yMl9BUumTK&5p=>E-%7p-@>U;WX6ma{^s^ll}H=ti<_v|nYJ zzqh4xZdG`HP(d1j&1w={6@xTpilD40e{lPtYJ`jDBoqFAGvGAt;#`%M8x&v1P;8Jc zQ|pW8f&rtqX?b~73WYiG`-A3qR_mDWci@cDYvdgYSazfIe(WU^YQ%d+^HO^obJOlL zNGnQ5J|g~w&K;Y*RMHEcE#eR7+5lIV>(9uw*PoM3?|@~>ENiCsiN20?b(}6YpO@<| zKPlHUvJQ%0i1o$A%=UKg2 zClt2Gw&Pq(NlfwX#mgqEtLyfxx98Sb|J|l4 zy~`?BEOQ6&x=G%>A?zo9Ub*(R1zK>-ed-Wn^kGeV<>i;gbi0c^F6=Omy8bBt)W7puqTw?Wqv9DDkT9Sl8I=WygLJ(gf9oyP{i|kxD>-mr zAqPrYCfn)PFpyR#$l7Q|uD|-MTpa9?g*^sZqu*mWsuA3EYNb-E@9)m)n$yo*S)7;4 zosDv-w_TR!od|#N`{EE()OYT4ouyy^NcP&F!4xkW#6#(tR zg-r{fRdVo|1kDJ*0qn{@lYTZzCm{gwDL89tYO^8O*o)HhNB?l$1RtRf_vt-BN8L{8 z>|qjsCg7V=*jsVD?<7}2`(GNe*D^=#*FOI}`Hvs@y!_Tz z9+!{(w9Y>F4<2~K==savM|mYw{G8wK>3P1`;Mv**Hy;+XxPIOAKK;f7=)8ji;_GSM z))~7AdNQm&VaU^Kw(54DJwZ&e(e}Mj_wOv1ia{EYAr>|Bh;Ego1mV3fu~DDdSAW8k zDA6y6bYy3QhRuXR5B9aIQr=17PNraKaaoKVHS zrRT7lOsSAfyB(l)w?JCsXjVLPeXbiEffNJ=$KtgCj@OfMxft}y#j%X_PZb#$*VM7O z)YmE3jy`XhvyEiTGHE#V^RsgfFmVBANRh44`ptG_FWOtkrbXwvbv+DKy%va1Qa0op z?3DoPtz;eEBFeiLS0R;eHRvpg8*$I=0v9!(Q ziHG!k>L}3P;C6rZ7b48NiGsi_p|7r~u13LI+WH}b1b28X+R{W}a43Me5;2xtu?Vjs1*e|*ZxF+iZE1>)R zbATSuz@O!VKCMxeQt5$}NA|C`8I z6sR$k)wo3|6Y78gbgt3%}?iKG8?z@rRiMO*t0HeuBmfc zd4LXQHjzk}u`Zq`*?daWE-Dz^n8;ZvaVbzL7fK$_A0$Yl*H^z2hDRKU((k4Oo2)#{ zlhquns~5!Q>E8*`be|CTWZ%JF2HP3HEbi^mJ>|WzpGx0zKtd)Bdk;lE*W|3DoA0fg z;7lh~A5fwMnDi>3E&h!lRm9(K)eZnb`o;!Z&PiX>Y3bGL3-q-by}p|BD;3_CAInK18aJJ{uFuUa3(7hyWpyl-rR7blbf_eARy;0Ux+e1r>sHq2 zHt&q=nb#YVGiT1oK>vWPe|(zq>!iGpfEZxaO0n*7{q zO7&fG1x82rYN!1qdZ9%!i(c2y-b;?R49IV9F*{OLSPqg5C~cQJI`YwnYvh+d_IE}E z!eHu3KpL;1obi*7HOqhh?6-`LAHYWDuK2m1b18R3KCbWK{5a2N&i8HYf}4-cjf>LS z+9qHB`q$<2fBAX&uKGBPY#HoqvYyuc0~^rM5{=h6aB_;@1_87#3(PLuc5p=!lIvZ^XfFN z%V$2bDKEW*VqKN@-aXg>*VnJVFS*>heosusOK6+-6QZrXqZ7BBO}kqljo!4b$&dsV znY-b#$yZv9C8&5^WWkszbV;45OX_f6@(s$m{(E(K$)T}UXKPIr--6Jd=+vepaq!ykNK-gx~@1-g+P2HrF1 z6Q9>7Np)^>hu7Jj5%teZS+mh|q>)+_XODeb{8%7{zJRO&#ufHZ|PM@?=N0`*; zQKCT~2cJ4_oIIScTX7h858p$Nq1$~a6%^@&I%?c|BL8lmcaXxl;UH5kK5lh zs(U7rl?AnT)g0^VYci~$-|kg#KppR9%k&RfDPxo1fD;I1UsY?*s}cGa*?W91jz8?4 z?CFUrf)NpQkf>a+o=3`URZpT%r>w7V(g`3daARDMQNruK<=U9rMdW%^frs1YmdZpf zXQ02*0K{H`4xz`mI6NJ~n(_nuwVk=zTRHx2t54f-r7 zSNiPsle-JjCS-Izc*~hI=BH(rhFm{;FL|p3r2X+OAgxp=UHtSjT{iEG{<7cw>a+4$ z`q=hlX;jg_-~U3t{NV#{SgGSLf9xyrsV7=*5Qpp`AAj5dX~>gjySH}4%?HEQUwrXJ zsjsV*a4;Zm9z80LJ@%Nf1^ar{?^V6BTaXuj1Kl;ya@rUmX}hX4S+kqa0zg#?Ej5++ zGF5>z6j&x6u?PfB^_6@9n;a!gl#5C9MbZ&BgME|e=W_!o10wQPem=8>8A-&KTx)G%#qJ(`0#P=c2(y(fc%i;_yxOH}y-8krcA*6gj#O}kql4QU!n%i!#Q z>n10wm00SMoYC<+Q~58fT#(E2b8kr|Qojol~FyB(AW5kU=jZ+*VdOnywl!^6_v+9Jn}zAn!^ z^@J4i8K*xg7MAw5R(b2#n=;tnE8SgPa$Nr%@bp?X1v+_3bO>fR(ye>PY1YrH18WR; zWZY75q1-IXd?_Poa7a#|GKYYIl0KYcx3!96T60c8S}HBMi5sk8uzU6Q`J}nILxzUJ z#_UyU=m!S;;`ar1WFKxhCAgG1q%t zt>C1_Rc}?wq!=3>vJ!6^h}}N#pan;ntOoPlZlw(8Fbcsndd{q`r>vZPTU5^zt%Okv zyMS{|2Ge@==zSw#L0PfdkfH!)y=sR%ZM71QMUA1gnghnwY&xTB!Pz6G*A$p-sGZqV z8@HzGZm*I@Kw5`_wA;z1(X-r?o_0W*>eCBL3J~XKWo@P)%c@h0-!+lT>z+>wJ+0Lo zkO)P>K_kWBo&^<{!MI7_0ey5Qff;t65@RxUfF?>_d6ww6Vi_X(tn{AlCFnN-SdZ8MvBTm4!vh z#~o4-de!zjc+E8hXVCWp^k9A5F%WxVQL?#$3=V~i#(!wYCm}tLn@bxf&0Y{Fq%Rgy z5W9a>Fn4|s1$~2_VQdSec+~)}y9v@*L$GBhmwWf^%XgF5N?TRrAw@aaIw&9d#`9a5 zw9|W&fFSyJ$Uf*(qmS%A{qYy&LkjXf{Y>YsfQypF&mQTulE(k?iNBX$`jfwvKlsk; zVq_uvd>?=R*kg@$e!uheBl2`j@7B(^`FQ!2m*rIz^!eM@t{Dm8H^2E!Ij=s(h=MkM zf0tpD9qU7NN8GRLL+uPUnKmy-KStCqBUtWs&ngwFQ6L{OeOUIrZc-IUL%2Yu%hQm% z*G5K>l2RT~#acA1HqQh@T>-eWnsRkeDN!2n_RCm0dDFRISSKgu#OJ#xANj~T^28Gb zbuO2z7v><3_ur>H=53V;Q@Z8nQ7%)Hc^RLHOJdG1y%RC1P3K&V^j>l|K^k=YT~q4B z?n)riVuPuRy=j24&BaBzszBkI8pd@9F6J*l700xEiR_bH(5qk%LM+=(Xq%%#_g7M^!1EJ9Ap1$(=>QE>I1VW!52@ZJs|@oaM$U*wJRRmZ7ljN7 zYZw4QbkRr(dYkk;u=P2DQ;);HE&6|6N7O&y8@~ z2K!1&t!##T2ApoX&MnC+Nb4VUN*3L8YNb-I@27NfULA;41%?nSZTbdeMbD-9T{wlQ zWWusC)f`tYUzSWNDc)}9KGADNWY}%(9h8ujLvQkZ2F|)EDQe#V3R&j_ZEY-uu9MRH zx|>jDM3x6Vhl5SvimYHdHe!JQ?h*6M7~Ny~TE7o{h;s#r5PQn)bMLg^FZlgFxqSJG zYi8`y6?$c^%GIk7HC1M-AQ0KScvTjc+(}0$YYc`GG8h1$>3vdwMvrnixELSJTKP9@ ztOUckx7ao}yY??pSdZuc(LgT06>KFSzx3YhC3hF3Ig(lQxdyXa$6k?vnG-kt9_gJp zA>LfGF=V@a=3a8PV@Uq++YWKaAO7&9+|Ph%7qC<+fU(a$*JD77j2NYhzwy@(TInNY zi>0rH_=8@w-}#59({QTPmz|deC5m1-rjD(I=_dRf6bCnozL3G53@OG-OUQn8dZ-dFpKCO z(%+*?U@gYhx!t!)g|-$*c}Q9nzjwDaS~W-`I#0uPKtG&FMEQr?#i)X0!=s>KY-A%? zKSC9opBrKgyaQd5Q3JKx#=zLl6qe+%$1cl}BP-(Z%vN2yzu$pw-Q0XvmEX9^?lsJi zUgQcX87oArd@r)nD89K~X&X`Zh|zVB^MXpqC0^IU@E@cWfc2Fb|`tIhvH&7 zF4vB|C~KoBnNugn4WQ9$MkHu_HfBKYK(l6h$Z)1t@>AnRM_F~xZGw>MY>h4NfV zgIL3CD4Y*UXxPMTULqj`BZ^r9deP{eS)Q9#P&Q;BZ6ceLnS53TdOD=3zD|Y)`tAQK z^Rx2Oi!Vr5yKYpd{T29??}O>_lrcx1KYL1!zV@p0bhOE_H(rz4vuD-G2|MHqy03UI zV23C*=SC?9eOwN?MxC8M=kDumvl7fmGUW==c9VgAj|}$r8IUTnSQeQqDT4-77@MWu zI~XgC(US5Z)fc<%mvMDEp>_rkPmX7-hmW44g+ktb%JxROxpc96Z{y)Zmx!g~KIY*fD$!MR5V z8VQL$Q*;hxh8D}<(BMtqQwHh0h=rH9;Q1Am3 z75oo&**YX(;P#n!T43894hCd(6=JiSLD;+cyPvtN+wz0;O9|w)Ywy^+Gf1Dxb#!Kn zv2l1fDm^{@($&)^*;K|du*LI17o(f$@s9<4M#x5{ntNLQjQ+)ou1kDXuAj_Cr7Z;a z0;Iuo9bf9Y$)Scgc?QR0-`;&*x+4+6+d#}og&Vc-Emk~pNw6A{kt8((haU%?2 zuIBxpyI(v*9_vGnN5bOkQJd3G7P(jTMyu(sVFhXBePie?T2mm^x!rYu@5E>Ey#)PB zzsCfBKz+=rK^j83F3{6#&R{W{<~WL8i(X-HVQe&Tc8ifaqGe>?$OJfb;_l~y0MzE@ zsKs7UB{ixBbh0XAR_VcaQ7%@VO#_HHtb`**d{MelqRXu^FddL{RraRcZIITG9hJU< zZ^yZp3Zxtmh;Xf3Gm+m-RcvoR^RTg@ttdbvleT?NrW~e5W~ikW2e}Y1{*g80&df!lF5@ z4$g?DPxY8OF`+Wji#s4Ze}8v_1qLtzZs&Bb1u%|YhViX*9XKG%={E*!;V82%2n)EVAMECOZ!{EXTS1)UcP z({h1c+m&Tm&yUN7Iw=wlY1XAhAy_cQzXl zQ|Wh;34xK4j7y~l<=e}POS*msCEhV4$sPr3KFD_5?`5^ZdL=095Z`oJP<5c$2?~vl z>|IL9dl@_(A0Bdbj&Xp>ogn(CA_0I}hrJ&ihu%%<^%R3a#wMyxH$7_A_8Q#@p;Q%; zC4vBqHL3Q%cF}SH`|$G0#hYfG6&V|;fbe+3($dx;eZ9Rq`Yj!Ch<^yA(U*%YBWn$? zcC$PGPZD%gYkQ}{!%{k+0V$wKK?NSX~u%PxG27%LFsRCSfe2-+wMi*(Hk8! zdqc@Jw#|)n2Ay4$(%-uYY_+4Qs0_BAaoDNL_8}Mu0;K9enw}I+7fu=F3?NSwHO_1? za!+{!#`ktNKQ{`eGM(5z+6IZp;^K;AvpLCR#%!?fK_6?Y8>;+9%~+OxcV^yK!b*7a zrt!}ANXuB#)kyCqcN?T3&EpBz^LM1dvT2koa?KWbo|%#LOj0h)IQ<-RTeF1#atyal zEcGflYqs~gf99Q)K(a@2`3W;{)f@~UO~zy9m=m#O9Xo=9b3^zWSv0^9%zUL0<8qKT zt^XhF>6F&SI`I$oZi6(ySEqus433k_ewo&FlglQgy{$=}e)37_?rM{xZ@emv4GuFE z1E9;_gAhFNs^g3yCWBP`J*AMh1k%*O>(=uO4mjmTCS>pQvkjDO4J#&s?TjX9HT_^2 z_t1?QhoypZhEv6Rf6|iXH z^rbU;T@Ev(+vgpmu*Lvs^cFG-!1bK&u@L?9ww<^2Rk{~Uiu;3~+k3{5us&mkjN=G# zZDXmJUF+>e@a?mGg9fp0)ShzAo!}9&7E*Huv#zV~t#jhvjm2 zi(J+9dPVmpl+6%&>;=>y4{_6_l}Zt$(c{KhYU$_nmw z(6_X{uqi#?XqSc$)k)*;HORpC^*MCkJ{bhMkFr9a0`oxyW+4TanWXA`1pqLYrF74@ zy{}XNc9u;m>o*5*k)3zzLr+j51PD{7n#zWu)*Aaxh<@xfx@T{Pnem{7EY@f$E8|AT zUp@QuyYIdy8=F^lop&}mI%_?|=g&9FK>whv5x43E_8fY}ueORHN*Yc9eTLP0T3chYBTf(hg`J6jouYo)g$_wB_#|flt+I2S$c>tBKmZPZrmweK z9(ewgfuP_0=a=Q|N|6TdzkA7MH&tLtB%||O{&H#EaMDl+C-REE19i#yofA8C`+4+6> z$y0K^txp!`=j3Pa-Ao(^Nc+xrz9YTeU9zBd;`FIg#_|YA<6x%b_}Hin_I6p1Gc7KV zR85X1jnJ&PP9TM&Drzzl-EQaF);lW9yM+C`DEz71c#=^v* zqP9EGqmK7rhdE{RP!L5Wf=XWjC6Kquz*a6e0%3KIh|cf2G4%J;ho)3HQC<}eE$Y87 zANb5P4kESL?39E;`k^%tO#Y3&VZ7^(aWAhphB_wjFUb_&9D{1K&qlgy?f>B&g5$&X+v$`ILx7 z{i>|@ndf$|!~tnF7MOFphTSCU?X|TBNddZ?h(4q-w-3_PkOjPI>~hwFRemsYucf(J z*4Ngye&ZZJR{(QSpY6u^Q}WIeKeVwSj10NlrJyb7ldE&HM!aEVhkHatyRrqTNlm-z z(@F$($WFB>qZ10!V3s7KH#s2}79e1{0n%UyB&$3(J5w=8d+(ihWhpr)4ZmA2=l^Ss zod1>c(tdxl1YhsJ={{B>tj~C$&jLRr`PQ>N(DVZTLe8G z#rx^>sdmah%Q*@3wp!^`@oxzFg3%ph?X2AbJ)y6;SB`Tf0y#}Q8k5b9&8;W1|3Mk# z`oMan`$Pv&nXJmLAKc; z<)J^=A@%{Z#&usGIpOqt{r1<6IJ44rp~810U_i@cD+2~8$cO&vS^0$ze@_0xZ+$}k z?+<-ee&P52T;;R!fBp8SW74^ z1%ov*m&?f1cvd2zfP%eF8SLveCgS`kc6!pd4Cdz-BpQj@V0cDv6x3gwS3l3~-fxRO z1N4_Mje2@iC+@VXfWeAE8a)!!cjH7r!B3-|m9?mY>TLd=1IeE45dAEa3TU#NQN^Nd zs+6FUrCxtR|4%R4%F1uS#EEPDa&%AD>BW0TFkQP!u+jf4)~5(i6t$ zPy_w_(%jG>4YlXDrM;!uD8Frvlde&S4*(hEGoZFX+T)K} zwyQYTsk@_Hj=ui7baiyt5Z^c7cuo8RY8(9_>|T=7eQJoHL=6!?XW@Bn~WQI2=(Z9+PUGLVKCGB z%-zoAUduK}a|tNyB~b83)Vbzfjw?VTBYRLFEfMtUd8G|hl^?IY`l>Y4*Bk3>`LU_` zYoqS8yz}t4<@$?H$XaepF7PW=&+*0cJ1CSsRE4?4aT&BJP<#bM_#{IKRw(L7uYG$A@ zYJ`$$d<^RWR=QaKz$A9ng3ffaZHGzBF6e#2 zHk1S1a=F(5fg%Z8Zcc&uTtr2E5&fB;P0CcEGC~V_$K$%UsBmCykUc^d7lUuiR;+32 zkU#sus|JLA|AC|OXU}xGf~MW%{uc)2kH7zx{ObMRk^lVBFW)5p?K9ty5C8K^2Ikz} zznjn>2bl@y^{3x?NuE8~Bx6~DG z@4xq+EG_6hRUfuXeY7`TdsS-Aot4$4Im@8UO;5@|UyrmjHArWBn>01l%gMKnnjT!7 zo3$iShx&A_EiK|195hT~ZCL6LyWRhCvBB}G2MPL@S5#FD(kL_VcQzO(qs)N*0~nfE z*rnxE2QAL#>C(m2ZHkBfv{40T+?2E`r`&j6mD!9T;rCqzMjrGrF>zh|{#l8~5(Y+M z%N+^`_6H)&A?p}VR@|F*FF+dS)~F5?=ek=qjm%+g#wqt?5iS<=-YY=6_Qny}9O{<^ z{T+WJ>XTUN-n9huZb=~5Dv5MNu3f8cW*T#s!lAHjIyNML3hMl4o_^X`f^w;dIjZah zPwP2jPQ#%=(XnO$8JT!Y>du~($D2q@tImg={?1V@yTP4r#0 z;G}BN^9%MgTZRIC=XO5#QUKeO(Pm4svz16g=}nWSP-D+Me+ zPM$a+^|iHn?l;rduPrJF8|;y5XO0?K$m;x@TvYvc?c7^(<@^a*Q-i%&LWS=p-tlQ^ zNZ)!U4UkrwE=Wc}8qWMiz$4d=zbu!VYhwBF(i@lw5f)e-; z>_;+md^Z6vzy$j=)ZcNaftZ_YgEO^-%Vb6MIp(u_lUR{CyK?1iSzo^_b7iHCR6JzH zro|tKiO(C7fdS9<%*yibMrV+%rg{O;YXNk1!0$Axr<(xM4dmFrc~Y>eybv$zEx2L}4(+ee&|$KUzJ3-YH7sCEHOy9pre z55ITJN*;glkN#Tz;~#!e*JG8K55yv zwdDl^X){w367YJYzpGt_J-tTY_P_(*kz`c;y27Mo*G{Tm6$}Qg*M4TEAhWYnmhE5i zh)@j}Q+;XvT3O(-B9KN(6ek6e031>p#pydK&mJ7KnDNyUrsUDz-7MKuQbscwiyXnS zIHM2a%9U$&k1<>@wNUaxDa)M#Y*(+ouL^Wg!r`b)Oy(rHFj!GGEwtP$12Z0}OXn)e zrrisWhSa3;(pT_GP|w%xIvA=*AxYfz^QTD1G9N2#eU@3 zrzJc*ONdir;Pt^Y;4F?1#I-G0hs3ZiG+r7 z1!>9LI!G%@B0pt4z3Y*nT&+DJSDMbrih@XVY4N*8)#iouI;$bYdgt2Pk{O7K=jk39 zda_%h=hY!oePZ`c?;GnGN18o>j$ls$#*7d~e^N2y>|1?q>cAG~lI;%o81D# zMM*~jav4U*n^+d@M-FiO$Twe*hhIG_o{k19*|ZFMG9hV|%{3U_9e)py_SrxG zjQqnt{=Izvd*9Wc{~(|I)F*d>w5@}EJU%`y=gyv$*I#?pGHKk4iELaZvkARl_%%KY zHh%Yk2V`tifng#ljrHf$*3{^}olreJYIq^YmXSz09LcFvGNOKx+0cf!x z0L^hmL%Q*cZ@v@4CdPPYbd$4Td<-q^YLbw5z*75U&tSePpWsjCqqe3-hCG8-A6ji6 zQZ)xn-IQ65s#46%j7W63T>-)V*)-;mb&RLwd}_kgP?yTR0%=Y*ZB+b=WC-1_BfU5z z6ElvnW)b2XU9LYP7yCM8HJ_J-d7{s1G-lEgw@jn^=iChmFEvPTqC?{G*ewC~L?SM^ zv9tmtuQb%2litoYV``))4d(&?0?jy%1Z6(#707NVS)-|*UQO$rD0N5^VcU?_PZkeZ z*)UOL`^>0_%|Sp#(H|w zU|pm9v8Vo&9DCzcNhTF|mN*3a$*q92N(3-T;Kxdv)LFFazQa6t|ZaYL!Y#lPLfAri@`!Dp}FIO32q1JemC zYzhA^5!(Z$;_@6zWyBwlm8IpaU3=r`?Cg~DHRsiMr?!4`gpdbpS4^y}O{GaR*4tWF$1~ud3ggG9DOi zqv3!gLk`)C-Cw^-t&5W%1u2Aj`_zq8KBb@+R!1BcViKBX_c^!nWdCzhT{K94=k zIw*clHGMpMf)#1!D-Ek+szevaZkUa(kn^{oGIG?IVxK<<2Hq zP+w|wWl7$?zOxjoc&x2mHa(lmFUZ)~oMf{zYI}0x@%W{+rCrx?ukJmU-aGw2)kWwr zsuc*z;egxobGfH?R&>AX`eI!Xbo6(t4JH6EHY_9Qc4N)E(}Dfl6>Pe(lO`gT-Pm!j zx8wr@(pVd0R^gIR5W{s5bb;h+FK|{WJ-vPMwWl2x#ozw=^YX_(J|mxddB_z&m5a?n zd#p)*{~IsKZ~V1C zZA*vg2?B@AT_msxfe~3|^dy0KBM$lQw`5?jTP|;|%aDSzzx~qR=+B|8-M90ANTj8u zMP7aNWm%e^GW&$hf>Z=wD;o`pe`r9SdFm;F7|1g)XzeJcPo9voXHLtTN8hlL$B8`S zs&=2X=_ZV?3HG%~LiK;~8SDzusC`f9MMGx`4J4Zm<$kLQw-VvAi`fYbLZH9H%E5vG z{rl*cT)DKledFDZ&wS=H^6S6;Yx37${DMswzf;H6tJkGan3HHUDwC6WqdIk13~vSr zr9!V)f59hps%+g1b*bDdkcN=y^UmKqlcOk1v1cGP>jWdUw5Xt19RZvQ!10p)bk@sgB?UflwBOJ7# z2g$CM5-J=P!Qcn=UO)=Ndg5HM3+Qb|R*pJ9`a3ERF=y-$~gxqh4 zAc|`j!NIq{f&~|Deum}30CWIW`O!Dvk<+KoN;n+e`pu04kVbY2N2Yjv#;~Y*Yi%MY z7uaj6%l3+fQl{8>n+%W0!042WO%bf8C4fg+Rbjck0W;9O&q$tYLiq!RQXB8+}4W}neR)qn@b z9~iXfU+MSWE#bNFtRR+I*Y$ES;E~I1^|C%cXCUpOZ$K{fw8=VI+J$+U(KSRsfB>`G z!Eoxy!lFboqPBsH~-(%jM}0l(gh%&6+%3AHgdp9gc;BEvr0KkP5=m)rBZ8^W`N zsA{m~j0FiZ6JALz^c(YaaJp6oyH2T2*x4g}*o1R~RXkuBTzB%O4+=;lut949`Zb{7 zjFNK;FjlcX$cVpH+bSRb-pdAzKJ=|u`Ey@$Y_F zfBskbKY#6ynEK}E zcPRFaIOLTVWn*o{umc$4JKz7d_yfMJ-M91LH9b8&#=Je9OIuaJK+9>XZkf!DNxBXQu_v&)1xlg}G@fcYNZBCuCT03p&E>+3Y3+ikaiecNYD|n?M>! zG_EfKoZ1+#(&hgw*cSn|3cj z8qz&AEW=CgRIiYMFm|B0W{CD$_EHTH!oQ2oMRtDJ2t?dI=Wa=8u2BN%E}6=Y$vbaX zH>>9I<*SlP#HIdxjrF!H6mr|MGcbnK+f&j}>gW{(vKu1P`zgh3khbNN^wpoV22#p> zC>bHM0w9Fxu_*ae#NJCr10_roKYJI$LRK#m3!9@0=qvp$2Ev{=eq2FXbvm4ioyxSG-A?Jv0xfjCy-XZ*M>-Us{aPRFWGxPMB@Lb63xLwOZO2os66Q>6->h06# zIid=@vZnAmDXcMi3^5{*Lk#!m-s*1L23RotZi}w{BIpgN^JXI%^qK%^NU`h&+X4X( z*Nl+qggMxT#OwVxDS2k4;*7v(mj0eDGs+zAsbOAJ{eSlCS$X)Ohi#DQ*S_{OdH%=| zNv9Iq0B3Q2QO44vk{`P0k=(QUSIN80``$vYXlHe<^0aT|doIggeit;0DI@wc)1-j1s z37q*#fdqRE!V=15?{zkfb-?;CaK`#rT~$E6ESr&lTzl1e3$)nzb z`NH&eHniwCx*Z!Eo03Xrq~9|nkw{dM3Dx1&b3g713iy3uBxq50W7)(;RB>MqQdk?< zLG~eiaG7L85(VAE>OWZUdRak2u15NrPT0D04_Y1)(fdb00-Xf_C@0224mU_+M3#b- zz@P-Tsuoxq1WImoZ7@UZM=zgsvT0vCA|L+l(S7Hp6$JqH+2{M@h9H%PRAoR zHrkfZfQ++R3es5j#SBF8cQ_$9xHv)VF|tNvCU{@*^%eo!dVNv&9oY-^PpL7%h>-E1 z@242WE(*jUr%qH)90Ew|?`SdSx%Bh?#R<=4ON#fsC^$iP%Mk)3ZfBxYN783fNk7n? z79(y-#jGqN6$wf@8nOr@&NzVv>;~tJ0Je%*wUq8X_6iO|5n$Z_#~uR<*aH_^7R&$u zd|F9FK~(N<@qXKVE{e-NGSR>B83gqf<{bwZdqICP(abM?@r&}wPkvH9@rh5!_rL#r z1wr%M_5=Vnrg|7DULQtv#Rm0<<&wAGssr`{X~@u+Gw;kzk5(!j8MP&Ohdg9`aX~i5 zv$Co`OKJFFcpObro}0Jw{%VeBBrM?}1-@I({GRvJMR*oC*bIV)Jf{2}xCuZFW@Z>+ zqpEje!$bCO*dmK8a{CG2%UTJmj)Mu-?R)N|0I&d73v;uwtRQjSKO`5sT4Y`KqJc35 zY8z8|xv1B+p?hIj*Uy5!p6A9|DqTA`g$4Z`^XtkFm>(Il5C{Zz1!f3ymDqP9zJBx5 z@XuKPcS9$Y3t-E7xXd~3kwnxZ$?-u+&iC&eOSDoi!Kw2y*n3L#gaYoez~NyN?j<^l z)*ftl`7=0-AdPdP3I@drJoQMVKU5#=!p46exF~Cy>(2UeCly|H3QYAPr{Vg_&uq_Lv+^$bf>ex|;LS-_@<)ZCsXT6{9T9sqaTmTCKIiOsRi3 zr|)@Aza!xHn?84YUV8~;wxh|Yes8Pp^8vY!$S4LErv*z0QfG z=|eBQG1UsjH>F0M1q8|uK*ijnh(DmtWF~D&aZL>@MrgOPM(@y&HT6CI*rW3O?|o0c z{G~71uuq~}%#!-MzxzAM=x5!@+>$0?N?pg(ol58I5iB6y{{7yLvTqoC2lpRjI%j+u^-hYSA`L;#R3nvJW z%`?W?Wkyu#`Z_EEXah`Ilzf-_IleWr;!a7xJ7A76K@|=vFPfX0HHHHTpiT zAZ;Fyrg{dp$&L7kEa>MK9ew&Aa--vtj3(sTRfjOE(j%*Dhn|hw*)!}zvL$Yg>u$np z(|R3a*^KpeX7u0m=>p2#zQav8XEGbm@$(sO-*ZsHy#`!4z--QD*D*75eJmrFx?APy ziPz-n@mFOdoiGqhKQ`t4uz>QOa$r^}u~<|l)ka=(8M=P`+I3xfGX~_`-bhPRtZb~W88%9*9)sQc*_QaPp4&eGB2L~ zUO9d0q;$2nN?S{l{X3mXs$Qrbq#*z`=Cjg=d>@f@qM!gVGG}h7=whQir7Ad-+ls!5 zO~!)3nWL8>tia6I(;~j!Hi;?Pg;tmogGRsn0H_i9EX}69^x_Nh^ixktS7)cx)z-={ z{>T3)M~*ya29AcmZ+!jh@|6Dl>Xj=NEv+`{Sjq9;dq20CY+aoRJ^yhTn~6$dQ5BYp zf^w6Af=`;VyZ5GHwB3GxH>EAFAY;M3Hw{3VTI}DRnP$$7Iy0Ag+vV!1H)Jh0Dhsm! zfoWrdyypZW%k>hNXp+%<(t6V>J;)sNbah!HD9X@nZR4B*h$hB%MnK&_8ksV{7z10K z0q~T0bsEsKSyJ9!b4UOqyq7$8j@{qCyq26Z304es9SKrb;{>~=>UFoK8d>0T7&dkNWKN@blu@ZS5%_NnSY_93N` z%>1e}i&w3%cDT>n|E2jkS(}=Wi|Y7p=$>0w0Jf>R{7U0lxpM9;xv0-&wJ<453etFe z>GRo3@N>wPt*@eT$c;F2-|}W z4k-{A9%_2iJu`+@-YaBqwHYZ)UDq3@W|_1&0N-Hr(bUQyk1w8v0BIT8*_?fDvc z^NrW#tvBD?mXOycQ>xP-`GU9Lt)p+qF_n7DlJ`MO^dbo|)`|Mp~i z>!%nWwXzQ*xma8_12&;RF1_H@_f&Ro?xX}_eX_i=v}=~O{FtAawumZ25~06mcy9SR zCmRN_L@K0!DtDtd%?+eEJ#1YDs2~F&S{GHLH=2yd^aND@qxL%t7=xTAvq_mzg)yre zekPZdTq0zSk~RJtBimWqS5VMm$YCKIO(qmP1&kB`kQWIDhu-ft8B&l-;E294xA*QQ=p+CogcI~h0g8>dqD%nM zl<-;9*X45#Lb$%YbngcNq|tlHXoq_V(jtK&nVFut$(DFM9-~Tr@r4)EIo>%(jbII+ zCmxIKxE^|r)*yhGnzX(n9P!<I;N*ZrdU)QG#63IC|PpbfgfX6@rGq(6$@w@0t z8yf7_bKie3a_K?&c`6>Y`B`rFuTmkPOJloRug-pgV+lx$QAMD7a5pF2@f)0=E?EJF zr=#oqy=_)n3hfqpxdz{=+cACj#Mhe=K*LjvLCfik=USQmej9X z?v%(%byYF|HJ`smb$Lm^|BwnJDX3H_?Zdp6AdT;K*gP{58TN`-?G%87fau-GOftXo zbVFN7M(v2rEF;_XXI0Si?2QM&+C*y>U#zU2jmCe|Gt$wCiL_E(=Yy_ zyz#~x_PHY?VfpGm{)7DLul}n1@CV;Fkaux&Q#Lnlj$qx+@w1=(T$YyBB&CXXbTljD zv#}~jG8)7)Gbl}&ysObZ3?L05n-*Mdbvb`0n?`RMGt*d1lzITFF=Ry&5eAL(Hzwl4 z3hDMacT(Kn9DiMQTT#ZZuZYQzW|_&b4;geqqutCUU# znMb4h8HdJUFg$K`^#fgPRx{nx)hPu9f;6ztEnJYo%mr6q<|+zOsq>zi7?(L_;Hk6p zoo|0zCR7PdjVdsN6;AI1V)sLV8|MiqEx%vY2*fDpn}|A1C|ZX((~(3ZWaAEQ1*Aa+ zGThT*P9vp6Zjy-xEyGEG$?bD)N1ReduLAoa6aMY?x(@_Mi;q}FnCo!62IOvlwCVh~ zTrJBmUDJKeaMJ$1zMBFwP%Q&`2o{!J4}AnU%w*y!0co+E(^KZAKdX`8n4?D*_4|$C z5gn?!l=CU}I1vo=dA$l6*42TiJm|Qo_Ai@?8^ChAf0YXRnSQ8D^5#LxdkN0UXeKRT z-=K{IA-DnvbNdc{AM9yzf>15zOuykv1bY-92EDGIU#$>40Ei<`*#FpBPKeHLS_oaN~&Cn&+%S@G{9L@ z*Mp6%>FrQ3aQ7=c$f(t|bZ+;k8Cd)J^YVM&eog-9$7keIPj|}aUiP^Hu-)V@Uh&JP zpY4%9dALS??>nz=mp3BxpdCBkvS$Wuhp=WkD< z5A|Ds-R8^1f@-sU`W$Mk_uqoi`n?3!5dz6!)sxJ_b$gE0$bCe=X_DNp^ngf8)YIjZ zYUv52BSDGyRe7lM0Fo@ej!nG{=+p@!YsRGRV8AE2TwWdbRk?cgsw=SvhGbGV0D$Uz z%{h7g$aB)t+$=ra-SXHYKUKi?F{=SzSzeS!A9+N+rvMGbxv{=3AO7%%<#YGnFa7=f z_W1=>!pt(Gynu3*Saedt;ew*#%1hlUIk=8gDyt7MEBTp>Bo+qT6_bllO4y!@xf<-l z0@9ks(lR)^+ch;ZV$nqKsrlax+N-bnc&X_hh)xD9K#N z0Aw}CJMX?Hb8`#g8|bkOSS(Sb^v>wVb>p&^D90%(@p6zxsZm7tP{h|~_lmmck?@E# zH8#mpPd+8DDM(wMD_E9iG8>c5wq_&wfcpQ%=by74FpMQxG_q~Q{l?w|utB^4VFL~j znJuDgWYRpnol<}Pth6;ZNK%0fj>5vyx`MP-cR=PMgM)sF4Etp~6_ZKWqaq{n!yo)W zL7IZn(d732FACSdxdKYd|5lCgegZv|SQQ09Ylx`lZBf&Fc{S?d0xld&C+?+6;Er9nh_oPu;%QFH{mY;u7?gmIBK!WWkJpg9d z6}J*+0)Z3iIER9P9oJ(ZP4$C0>8ll7$qxiXoT zORLMOD^!=Lqd_#6sBSuulBI=33s}DQ?mM!vcENNG0m`CX<@cMgLl$Q3`rmoy9b-Im z3o`8|#WhFh&D^-sN7D3qg=%$Y(wSEfcI`GOlFNN_`I2K4r&z2YM8;GWI@z zjqgW?8bO6RsMvJ3@2W%qTV%{2gn=IaO5G{B{?e0j?adcuGo7$!PS$Kif%&3>rCGiA zJbUC;!PyO<esk#2{`5l|uv#a0rVw1i(fwAv&V;ncNNG-m|ZHCMi9Kc&=Asv+WXH zYQ60q^U!Rq_(y7F_#RwWHNqOD)E*Yi{8(mt)XvS%_U;IFkjxqO^-lJI?BHyclTWtEXO8sA{Vxq|Q|&)fT8gaj<0@IcQDBkk*( zmzQ5&k&`Dkw!Zb?j{g1&dLEOKn;4a`*{DP<^R$12DYV=ygENEDke;}y?D4RGwEE1L z^h^!Ao%+RH#;Y*x;C!Vp0M7u)!djxfhVVPHe1c@Gw!As(_@OBtSQ&E zxZClwpNp)muS-~g3KOBELakpMv1sl#`FzncJ-tv6Qn)V?516@9gty8Q&h z%JYkO`Xm)rAnG45#g8LwJ#zXCagY%HO(gd)gEWS?W32Xy=-z3N7NxvI?Zvw8(MpeZ z-hJ2hDFMXN>w(E{Z89epBg4k$d}hy{*8Ldk`53+k5;&L)I{l9mO^# z)yZ?ae|rgf%K(z@MH=#RqpIJ?X6wBJM6fscKlg&)QDT&gju;&_J+{t3>Mjf365%ce zt&r>ptq?t?OBq)}295P@#0O=q6jTksT$j*&U;Yf-gscODZAUYyt)SSvWz4v@YYX!R z%C4%Nx>9#qE)Dfs9~yoNuOs-o*E7FWNhK1-CJJaSKL{Go)fmurLd7;NB^$&~yY(*X2u^RCW6#EnJ4cMqe2*T2L4YMiPP@YNobG=(K znpS%bv*+OM6>N7)@KYfCt8M9&Z#{R)K-D%_``Qr$T$C&VzR0ru{&!xt9yWgd-nU=3 z-+xH|{yX1z(OzGC?}xwng8bd%Z^`l6RvGp|R(5OGNzjl=qNs1c%A^5m=)w2ixn6O* zOY!*G`|qp2Hfw$TgI(&kx15!cfew2H`D9dbiJkUsA{~*m>aUpkdIT{`pW#e_5_Wo> zZ+9;Q$L!HZeky^mtf6T1{#~T61w3*7I}+o@CQnBwuhC z(lBgGYPex}eEaDKWkVO}!i*DzB%4;r(C<4ffo!W}#^bWNSzTWTjB1n{`3D%#i{s(2 zp;Ge893aYZFs5YCQ0D1aXe$EhC>djNB%<8kZoMHyC&%=)^V5^k)KKq$w554{ZP1)^ zCfnyS2^s8Tu;NRyJU3(6G`?dukcJ~fb2&hb|D!A*b^!1V4fINXPlp9HPM$a+DFugf zbCs1mc6KUQQO7SCRp(C~$J%qJZJx(OCbm7?+e-M<2{WLm=RkQ31R|y9SFPX}(v!hR zfl|eVB*UtYywD6+3(}k(Sr`fT0%=)&enc$q6i7>`!q1J4*|niZ0h}Z1EW%Jli5I#S zP>+K^G`*C;^Ds$T*C|f+UQWZE25Dq#$YNI$DTN9hy#&xHy`Fj1S8KXwuC$z&t8cv| z7v}aRhZvi1=A60d&uXMSGbORSf(iYu^@(x0+@s*Dy~Rk2g2Mp=X-_}(lsWQbgZjF= zrLn$Vd_KMQ@o~!%F+YvoCv0k0XNP3dDXFimQy`}f_J}@%RD1_WszeCjS_ObQ?)1#k zPfHnIicB`8c)CWj@vvl6Sf{LI)-g^#dJ-R_9B}cOtZ{liSvx@+;n1qO16DeBKLq_^ z<(9fHc8g9^R+&@(!r1Qg+=7F8-s(t_jfABUVk^oRHy9P8zuOoYmJ7OWmgqg6cc}AO z6KI8kc-`GpoTE; z8Zbo(Xz=D56m;+*;^of50Gym1dnS~j>t^^n?eg1X_5 z>GyZvy*Ws--$8|5UhhAoY5v|;1!p7XpG}Nr)DKGP|05Q#E{vrmqkdf^q#zb7q&kK+ z6Ku%B{DOYQgyNG?fpwBVJwZ2!+}xfwa-XH;)S)69K;+i#LW|;nv@YqXeQV2Uau}n$ z-OV!4S|?FGsbV^xntr!vQG+_8Q0I5Fw@HH<7|Ku{dhkK{U%&aA^8N3B&mw`vgHo>_ zeD8Zkn>jl>BTqf?xct`t`d?Pk$aj!o!+G@#^jidMUKMOcff|kAlfkjhPF2Rut1sdqfo`WF18k4@&VU4=RE*_8KL_P6n>gGGc?xr%ln;*PPt}(n2^m z>X2mADDMDisu=bHX@C#*Gm&rppG$5glGBY)limZjC0%{DWWeRoOkfq^yP%d&i4u?4`shF&+EN|`B$`14r z^K4452V=UDO33BLb8`L2BeFU-yC+D?O-_mD06-e#Bf)XCRjQZPXQ$ z*a=W$#t-K*uIq+j-Q8W?+k>yMw*()PiMam0QzDUw*2}a3>G!hV zZw#&{_z>}^9#ZFU^cJ%UdkOcRy@^gVu4Lt}6FW1TN#Ch@boH0GI zS0?^m3;M;fX=>BS6qlFY-%Y_5h6b5~)^n)9Eg7$ne@OcJ`ixxU(KpV^SD!jAfBxgw zEX($xZyb@|{@Qc$yI(&dfB3BzEDX_4-ZHW_Gdv{FGb=LZ2o z2|Q3f?N`5R#6MudA&W|5()-oT=(eAct&O>vXV|jWymuq zJzX8r-QHp?G85T^EG^92{->vyIc#2^S5k^sR+ca9YF`LC-N!}npm7#)Ad4G?n?uBz zpVZ~DNHM-4Rm|QFbv*T?C?_1tW{tRmC>{T&uG)&!F+I{y5O<4DtkwzRNh438JoXsqsPFGOI;#;EohV(iB3<3}K6ixD_k!#o?DHCA+m6atbh=X{e zxv^f}c#U$$IeSe&|3;Rs9Haq?{GAQv*c3mrR4}w;umDQ@e|jt>b5l7fOpH5&xHIa& zb$40GVojcL8Z3Kw6JAw!6J|H{qPfkVX6+%Lkc?$mx~z>6(XC)5-V}P-v4FWo&w%0dB>i)~-VD zr3yC7M8O@I7o2~xyp*a{bMX3bcqgMC26Jg5C!2#^a{a|8WPRS5e^vULa)IG-H>Tc7 z1&}suAZ^CjB^d*7X+Z%Z_Dum={rMVsh>I{@IiN4fJ~21HIjH;;lE;cY8siLBDKVSe6sV-;&cOPe@y9i`3MdlUH7TSvEE|TV6HH<#P9j!AZRd0m^gE7Um-F|eDmYl)ARiziPjrs*3sQkNylxlG z?-?pb83AQhkbL~^@BZ#KnnfOZ=pp&5zxpeS5EhT)$B)a$KK3#B^YdiSX_Kp@5z$W^s68( zv8Ya9h1oPRRAj2iSQQQSVFGDLZ8|5u#m-%`X|P(3&&IdzGyPTov=xh1B1AD~X9_Yo zJuZpmt~*jbQH=y9nkACNC*2YoH_@yBPz5JxNDVDP0l*#s3793xuHY2FCR@$1u(%*2BkB~ZK`gx{ z>t9kE!(i#P)eHNAv`}tZ>e2;Q-C3#de*bvEz6(~zHPxRmJ$7`o%S$i4X!Aj-9)Spi z8KEyce?)3)&Pyhlwrt=}9)3ve(1P_gd51i5lYXow)bsD1o29yJgcKlw2*D{X~U{99b?}p$b;5WG)JiF0URmH!sc2BAm?!A#rsb5D{KbcUlw%8$&W$g0Zt#kpXdHPQ&kY>cd;mxLT&(Jf8 zu-fiTV*%%Yg0n=(8B|~N;VGvk5JP`zwdL7v!uOHE z2iP+AF5vgctoo?*C0Bbeczz;3B{k<8<*m1lOH)&$fwaPSN@gdrvb0c;x#^tbN7K^Z z(n09yp5D`pbG- zOc)+XUuW`F1JWWE+MsBy=jLHq>)X7KqR=N z>%!&y9RiU-$hq4bs)oDZSkT(%sRc z0IE;Y$&}QcuaQ??e#zEyM|-<8H?&AwONR`3hO9LB$aBwH#=51cMQYBRmh)%NTCWMw z^-?*1=A_h|Iwp8vqP#&mttgj+YPZNpTV_tzcVTLJYo}Ir5cG?L_1ttn zmj?L^q+PgRbnJko{b=|BY0Nrv)18$HnYf{`DVbH>d129^gC~&5{7JH8A>G5r-+WWz zk(hL}bx3Vpoy`Ece(joF$Ft8oW0fS#hGPIfHj?XzMI)wPu$PmQc?tR4GZs8A`eq5X zKr3yas>fky5(bU6x{wC1>%4Jb0pQN#qpv)7Ldm0?e_4Jc1CF2 zJg<#RgJo{@8VF{k)psdo;_(5nOT`jV0*U(p@PigWS~Lw_bEX$s-PfHnNmL}mkcXV8`b?CRy{mmWNkI)&YGVI zA<&C2JZ~dkRurVAQ)zvFoecDL>hp9e&LumE0v_m!_mO-+pq^!IOP z!N`^Y#yZ}}I&nL9B);4sV{;CZ4GxVBw@$_7a`Sn)s33)!T&ViT<`nEN-`kmK;S~kO zQ!NsX`F9Z8RC>(K&5GZv>t8`vlR8T@_1B$0Clh0711%^8GSEHsC#9#OReCym6mY3? z9*j#Ql95#pm(qK3I~Gk(7i(Y5keebw6Pv9tH;nR4L3#IGmDzKe{C` zmBH71F;?&nxq;?a}>umuBPZosTurl*(fv*MA6 zu{**Txh-QUqxt80(IsTt4Wy}a1ZfCPL8+pwR`vvGy3dK;*!; zdo_U*n7S4A$o+)#1Dp_zy8es!g?9Yfjyt+ zfIYuHU%(x+G8;j#ML1vwH1J}HC-E*dfH@D&u>xJ^lp6v z$cTcp#`LtS?yN@oMyF(QT0z>_!q7fWf_84R(Q+cOx9!5%LwULqF`SD%`^iO7DCd?Sx{#*t2JDT#zA#z`TnRx(8D}ShJ#aH916EeWKVrd`8A_>LVEraXcJ{K~EkRF_MW*c1tNYD*G;d)|+--5}ZkLVYU=#>@ z6f&%GKfWmR{?T9RWbhBB>=9i@^+hxsFa}(RK)^E99tPAdU6eK$cNJ(2dk8E#BP(Vn z$7Ha-Pa5m%tUcuHnNy~NVk1F$?X?#z*tWQ^sQNrBt*y<{t};16DfF0)8sPpE1CfC6 z`=}#lP%LaDl&p*?FazvR{!vWJ^OFc2Q7DvIdwaWOz^F52nDi^JykaMgf}tTU;Pa{T zk(Xn~j>&KR)^FMCySuxkr>DpI#`qlm{mZ}n%SI#;)RTsVu|)yjPk-_gYm$ag1h6)( z1`CjuN+qqyj?XPe+<-~ISsYd=>ecn)V9^7GmouU{QL`2K^rtt(?|<7eUJ&f@&i3!xn+71w&flO%#$c|hQ-Af` zTXMOhK~@&$%}Fo@%%$#oUh){6ZInQ=M_~0T?S-u5xTua(U2Ux#d*gNKZd0eIxn7Pu z^OUh1LHa=ShZ39Cn&Z;c*s8!Os%yO93W8>4R;4hdU}$1q&t>QAvO-~1W@j%bkeida z`Spr`RbBzuSbj#bqXqlUa!Dp9B$r!oeeZ74+}tJpL9!(700;$0#GL3ml+k45Eh_5b zuouOs@cq52xK(NEd))*=BPjTZww3N7^ zVFZko3j_&He_?|Kv5Jl-&a4UlF8zO*a7{&_hoPQ8N24C6fm088ZQQbLh)K zni))U8auX0Aa(<3l?u^J=AKn^tgWs|Qf*u$=vQaqMnwiTYE7@{+VPj=a%Yn)t5dXB z#wC)QlBNUD*D_`hlZ>rz&kW34eBspyCK&K`v_<_1b>y1^w!&=87G9XX^Fhh8b zWOw)+Dsd=_4D=|N(7lO2fem0B4)+LF!*P{@-e>kS&za~mP4#JA1IYBa6XfFeQ)6kz zw#Rhs=(Cs_P3i9wlF!8T_bKapp(hpxh-ZWF43`%d^!p~&2D`UFEGPh9PekQP(>b|% z_L!{dJz)e;`RneKKpv1vCIm`vg4U%6!NRxSepg1+fdtGI--926pN9UZ7Q~4Iy)kuS=C1 z>!BD7{UCreO5m~2WQi)BbvUZ~9)hoM-@%L=AXtHK1`|DfVvNLKrt-UG`*7bw_v!oZ zz9Su~XIq*Y#oI?Izf;aXJ2|Q#kjkZgY1O~g)t*<-roNE+Ft5Dwf(&^EWVSFP=~Tu_ zCA-?&WK?Y*eutHKs?R``3H}k!^*&!$r;&k-j!HI@R%b40Su(O`*RNeu<#Am` z!Xf#SKlu|YJ4E?1(Dony@gEFOk&*c8FMiQVD^NgW((eEBKQ|!9>%RNI0|vsny1J}< z;~)Ov@8zrd-k(1Funn!|yC(9^tP%_gOp&Ar$>0^EWkn$ZjiLsPGm8L21K`9l#AsOk zX}dZNs`wpX=e*B}v@OXOzj#qCp4@FX&=)Ie#R%*smb$hH+VD9!`lO@Q~+OY0F2*FO|F=f|LtxHAkEj;V_6IoN4dh}cLq!qoB?JA8c*+ArT|zX z^X69xsp2MrVg1#e6AZ_L!Q0n9Gf^+6PzXb3`fBQ|gYY0Srp z=o+ElhR@*V?SQnff6%HJsyQ~+)+Li*mY`Sn*bN&4m|4q>%H@tmxir`%tJ4l}EB?J) zVhYmQGVVIF8fj6zKaz*4dCqzqnob{;GsoXFU32d2S@8@G$m+_Hz+xF5iAb{owVHG1 z41}dKDeGz4+}Kc{7PKHzOH-3ovgC5(W}g{?9SJy8_GG?TpR9KrV>i-|-Gt|i^KU>; z_d6`Mlra*d!O@`Pko!WV3_bpwmbl%@ z9231?RB({#hmoFu$%WNh8*<&#-R%U#`nz>a3`#y7k!ke@7iTBs!hFG6LK+(yL{0>uHk1(;Fi zPH6?rwZ*c-;xVcK?$>_p*NoAGxg%%JoH3BbmyrSco!|a#85|t6*W&o1tUDDc_V@PK zOqWmp*`LXmzx-vneEE_p(t@IZAn(ukgn)Yp265$MB>Z4gT1>Y z;e|#S@^#C_iyKvyJYKnS)tn~!z?gxNQ=?md{;brTIc3iGcw$7nece)5*P_6E@g~so zK@&jQKqvJ2UDg|f!p%@(s78Xwt|LR{=+T!16CBY-_Mw3~q|BJmZ-lZWOIGS2-;Pig z1kE^o0~k?Pkf!Gk;3Dh38z8XrEj@3Q9lt9RzUL;<`;&x3V~6w`IN|##%SJbujw{o1 zA2hiYkjDCeB!?l?Jb$V=xG%Q@(jc{}W* zOXsJg?*Il`*Qch$Gv)w^OPgzQb$U{+Us#c=moFRm0`wHWlT1-HbKy83af*ig;(_IC zuu3OSU&pgyuM>bFhyn2n&y01=J^-`<(pV3i{w#*^GqLp>hUTyS?_Hh5bH0HfmJhumzVN ztY2onGEcU2s5O2ML<{D~xjmmP;WVt74qKS28?aqdr-!Q0DG- zZHGYsY3zfTug|Jw2q2dGsRt!|Zf-0qk)T%sjJ)V>G`|=7;&yI_P0;gXe*SedKMNa5@AOLboq;DUTa{ox|jHn)iP9MBMHC453FCNdJv1Jonni$KdPRkkS zn^E1yh$8>cpz5ttmMyz@>7u;)%FC+HS|y{v6PD~F&pz#pMbY(C>L2A(BeGPOu-D#) zlK?n_)B~VI-xsBZM04Cum|nA2UwK77^{G$U>!;P>roZe%ANpNsZ*7q;f9Xpl%tb%9 z&mpD%{`>D4i2K$zzbRk+>Q_xU{apV>qwLDcs$|vqCwgS;husDd8LwHj9c~@1}&88pM}v zk*PvXu5FRnRC2I4XwHB2rI+N`n{UeTx8AaW>nDyMm&mYBor$0f^!G@ApE{2JLO@!3 zW1aLhpOt~eQ_|mX(x|jy-{ar?4X0#qi=rEvb$;(@J7;B7lu*Ia1hBI*s;&KM4a9v4 zVn-b(y|`v>UnZTB5SSlbj9Dch?M@0#6eVFHZ@-mtp``O_h#j^%x9d54f^Oq{i_fik zkmk2Ya6+9AfHedznOMj&GPeWL$WBl$R_TF5Pd1a%l%hk70FvmFE)q;YB0_ep`1f)- zaFC`p3c?aV*t&i{)g=&Tm1cV&1e%_j*t(L+4nXO+I{yTccC(vq!fOdSP_8u4!ia@4 z=HxiR(HqZ;AdL-S*R{<)r2nhfqt4iz*}{~(qK?Xt$D@u)TpH`n%b8OrWL<$U!nlBd z*JJY{R~BZC?RI`z9iK#8PM+>0mz{YrT?8PZ^XheWgbEauf#uN=P2nX9bS zOCY5-q@&jKq}w&#YXPM3GaXV#zpqp6z1K2brO)@E1ic8+MR(nsGThr__N-*3*Bwi@hcKg0+1(40X9j5eAu?M=a|dwLAU z@RZHYy)PUL>K7!9)ZyaAO#@Hm&8(#dfQzQ;-}sH+uo4U$@cR0C`SoA_b@~0@`#t%E zU-$+2o4@{R>q8^*hr)z3Wkgv-si8#3#Nhxy z5MYsobP};h-_Kt)@VX=Xf zg}h|u)gf_HNG`(6w4Q0-p$2KKxwv@edtA>SffR&H8Ah6g4>;dcr{LPL7v*wmtt`#X znUUna+-sIci~?nkBT1h=x9XzO7cXA4vR@iOnPYU~*imV3X)@Y;8e@CAyTs?CIrW1H z(kQj0e{*K$f&_=1LCZvZ=p~|5afeuji2gDfgWJVsVCmjND5qi`oKqHf-b&h_lZN?n zNSz4>q#bM|k`hU3#1AD%Q@w<-p=Xxbc$hHB`cbAi+^hFXjZsl-l!1be(vt0aE$C!e zFNum4&lBgdPk}l2m6Fb&IuzmlR?F7lH1Zr+BaYs7va8nrq`;lhw^TGN5xq`Id2aQY zK*3L`zMJE_+d*$N_trabGe|SyBh?9OD+)AL6{M-%E4>e;a!??xHZ?8%V+GTjRH|%b zQgSgJm$iv;S)APoJYunk>Xw{qHfFbj>n*5Wrhm`v9+nHwg7RRVDLrSfw^AC(o+qPL z?lAIyS`7$70OIXB6l^ZcEy!p(BSV9I^5m0GN;Z{JkTfH`U7hBLbg15>H1o})MH8mk=%I>08e%1_ z1Q4gEWK(s}1$CtE7EsHN=OpAG-X23#dH~V@jYSsg;(O4MVbvLoSt&0EUNZvP^j2h5k-<9vTLn(TWHy9k7jUbDDEbG6%MLW-Z;4{3P4d!DUgx%&d zC^2NNV%V$pOtH}V`ua`#ajye?diBZ`BRGVi5xo}l4=EVaHKOOs=%Ad+gz6WvW0Rx$ zyKGW2$(Y1L`u*NsV*@WeFYD7C&&bi&U$a2Yee{lTVpp$RmUuL3#;JIqEJjCj^476q z^2kqrDsQ~;hGn`)3x4mr-?bhyK7?MffBxrxmVfha{*65M+;fH?|LLn=mGA0n&YwST zDD^C*VG8D$twu=-**iW9;os%pjMtm`hZx_^aepS3&nHk=X0Hu zTgD>#@JFks;oR%sAp;8YTjiQ#v(c*huRODT(mj@OHR6Xs8b`A-FynDOcLd-C9Y0Kt z+-nTqYCIxWYu=LUFFz@(>TGcTbF&FaF7>*8#@!ZQqEluU3RM$`T)yNu1c`V|o_Xp? zb$)!3Psbz@@JL^Gk9a(x4+e(Y3MjiIboA#UTOB^?- z?QzC$u1opT-1(;@} z6`*%FSP2~Ear6M9lhNZ`GwX%EBId>oDtM=KeLNYFi7mE21ZSNZeR{NJa_Jqy?~06o zQ5e8f@8YCadH`@JeWQuI)R6*Q%&DGQD@@7N+7k+vlGe9WdLK$Zj9KBVSE^S@S{s(h`=#3cm4j4;f`MN9$88Mgu zdCsgqo+E3KXSN@y2zwp?J{k`jpeIO2Z+V^i0&g9AQ;t0QtfW&(S)QM@aUe%udqrM) z;dy!Lsi$nF5QHPpSmV?bav3Z4qFSM^yGtg=vyzHCy&U)&wY9aDjiVR%^;ce!haP;e zVvt5j>zV?yi($W9JN<@isBT+Of5`2%2Q6fxAEfVb1M<{5YD^<&TqD7heiNrYJ;he;F_6ZY7CCI0nSPV z9|6Wzg24C@uIEsta6bud_|;b!Q5!I-zAcr6)gJG@`<~4{Bco=_vbt`uTZJ(Nr|J)m zZ2>W|WMi?A+I{qEhl2SQ)2+qqAQ`psRK$W=Kls7-4SU`9-n;J@7=sr7jVdOIU zfIu>37@nEJwAEv~^_F@58-p)3Yp?-CC)Oe055X)ua5*Qkgf!;2YfOpWMk}!^14~|cP zhdTI_2(mX}1SWt;A2op@BA&&AeU2R?fXEmxW<9NnJ9vSN`%j0fHhzo_SC#SBYOU9PGo(py!pm!(%;uB zqsh1o=(9d^@`QA@wOUWwDFt85bS&gY9X+G^hFL_l3hD+XzllrBwA%4RYu*N(j;o6(>FN1nUe>km@Ud6|^Mnti2YU6vlO zVWyKiS#2SY2oJyj*J=BYpJ4^l!BC@wGphe)4i{tNtqPRx0A1Bt+(JtG1hun))C54TYA2LYaeJ@tk6^Mmh|aQy_^80D4Hy_8eH z<902#BiNp}+7EORw$bf8sujw((Rq|TQW1q6sHQrhctEa5l|oqURX{NZ&zm){{ayOp z0GG^%3v@MEAd9|HNMLwvmaMA+G%|0IP{8KlHq_P0eSA2XpX0}m%j1teq6W(WX*3u! zljX1f`is)1&L+kQvXD=F{Nr-ux##Tf|M-vpDBt_;0~QrS>3rtXpO&+yPg?}=oww;V zgOzT|Qu-D-ip5mvB-G*9*?U1*1ao#Wu@QX$PTf28r$i$vt3M6M=x~R`-ui+BAN`LK z{OP}!$ZMaJw6|Fm84g*!InCzilxz+j#+lQL^6ax4GCW-UL)q<6%&ShoyNZJ6rKfvZ zre?+^JvUsj@*G}jlfaD6z!22;Zif6`OY>M#hURw9f;n{jL7AL(o;9UHt8=qfzQb&y z<>eKtyC0v89SQ=G5G9YJgEFT^8b_v*BcGqJ(Gq9RoRKr9P8#!4E;VAo0ZMX*y4%&k zXf@jV4-!zL%yD*hMS{Vwy!7Hr;`4c!eOR3o%c6?=@m2+AFVx>* zpNFA9F_J;s4S;=6KpKDt=a^>k!n|} zOpMDbFTN;mz4@j&;!O<=`ZslK)G-SBJaYWlF*$bhsGQQjK|+y=NA)}g&By}$(utVq zb$YC^X_UZqw6z-xS3Dk9yY#k|LsHSv*4k@j;)>fAF_dM!WZfHXDWOL}fp z0F>T~QiSv)J*A4c#XMp7KYTaDZkRCP*VS^-yRB2CI zQ3x8ZE-%W(;E-(SXRIzQ$kJWNrs1ULM#qi8`rL(0YA8s{3jprWr zQbO2jpu+7t?xkRN0UER~(C*=O4F@H;OwvYpkg+ph>~cQU3is4Qss2E>Bw|qu^6l03 z<#zo1XYb3EOBW>)iR!Z&u%1w|sjOXshy*OD;KBDGSm^+HukB@DXOrq+wWsm0Opc{w zzL1w`Z2t6=+z0xj#Ov?>?(gKJ8a1404k+?rVuTQZas>`DPj9~QhWxi*`4ySd*EKgc z$v6M`8}iD_FI#^O$`yx|xdWRU7xfEfBmuqgh#Kh8QCn!m8_fd6*i))RmMf%2kdvp} zrRo&7I>qU>XC?H|zY+gG-DfiVga1R~4Ub5;w?RBDXRSWg>VtK26wd+RnM%#8F~1;> zJ$Bi^)j=LFzkEd+8W#1snGKee_)@njpvvmQV@n;HZmaS0E4>olMKM>(v2vN>i2=7Sx!iLk-2c zZbY1&{?&{ZdnN-exZmwV%jkWlF*Mc)}Sfd%JR=AWiiL zO0E*U@j(G;oLgLt5jFFN38Zl@w+hl2hE9al)7PVVF)vdJf{q=1!vNXxTtOz(Kt27` z6Glr+uOfhMRt?qs^rZCm^cdZ|pNwwSDTAAv98-g>>qwucw?jc&BxnJ_uFg)Wt8X?U zthvIhG&eSzodW3K!1Hg&E6BP5yZ~)R&QaprLvTdD(%VNKkxhLLOOyFML0U3DEe)9& zSAAKHG%837jVplA?_Zf$@RE$m##qMAuk`z{rvyl;NU7!^ix?dVtDSW+07RuBnt%+1 z`-sC*mHjOf-iz}Q^LAOeB6H0kg&EW9fJXnd*Iu;@SinCd%?j2V>dqUjKF|0qT?+&K zeX4)b($&>z%+Hkk6?Co4PE8n*2(1e+rZImAkj{EsT3R&XkVhYVv`UaxFme-!O^hIh zENmGVzEgq^6bud9_qrYPv-2{R88t9h`aVkE0=)h0*JNN}jR zDqVA@NgPTW5KUI^DjK-5|Yw*2?vNR>M&h8gs` ztnBeNbX8FxKO(R`*m6z=d)f`J?3Ur)>v;dY_f?-Hw5SYWv=I7iOfk}ZJ*o(CGJo?of79ldQToV%f%wvwzGNkflamgE6n_hc z!}9<6SO3aD9JTO2`N>b@Ti^PYMJFK@K|w;M05Bs;1Q08a81R4C%;?9ks9jg1gE$ox z-;!}~0cpPP{44Ri@MghBYH`X1x9jw zHtzb~yDfpqCW(&+%#o|+pdOj*vDee922_E#Iz0phh$?l}pEQCUuQzN!%?%VCHUXps z0x>yrrdE!=e$*QKpM3l=X=-ecOe!Wb`HcHMtWpjdq|pmkiT?PYfHX3KF?Glw7b&kk zxL1Pih7FPIUNz+=MUa+HMGRQM+_yM0sd`{R&Yn3fr%s)c83jb?xH|C)pcrWZ+uzFk zjIsMM@VLFTO*+~;44|#AEE=erR#3<18Zc1fmrKVj!$iQatFz0pM%XRJ%AD5kn4X-H zan-40<0!f3Z-5pUy2|YoAZ<%}wg8CZ)ciNe26S zEZYenDe0$d@oI0>?^un=*c4Uau^6zcpmue zfU^MSl#DsPb(tQ$6GDKGlFFgBa|f19|6Te1HEnAOxFPP z-TVy*Oqkv3r?)iVHRgPDKMAz^{^E0=vmUaKeB{I8@p!hr#)-Dkl>1x1^;-tscri>S zls^9ZfB)|d#E}k!0Sje=LZO_59sp>NX=o;*S^B_W(Mm;zg(>McXBYz()mb0Xb zB^~IH&%UeCJT=}^gn^_t1j4D8xk$fSmAg!{7UO*bXX$_-?mq4UJjfZD;K*D>lM`aeg z+rzDA3Nx}YJ0}-CJ;w3~Ek8}{`I*$#fKB($xLX1pe{ihZf(+FhY)Tv-|FBn*A+N19 z97du`L{Pi~z0%s!DjglYy2pYtGLlxuYT5u1L#m5ItS2XKuqn>Y-Vn$;NDDLga^7xI1Zn(ao(!euZH={ZLY?x{r%y{zo${5%d5MHW^3aceEH9|D zO@^(rt=Y0~l)6!t_`>tg%S$i3AjglrDIIOCQkcve=tCe8nVnQXr*@{jtxcW(7p1PQ z&fa(K%o!_rq}Sm3wd?x(S~;qp&+l-QuwmGO9X)CKf99jDDUgH?e?O3x%1=p)?(1_d zy0RLnOHE1NXbDIwf`_tlOoV~X$wXYDcly!tV+zJo zl1@Y=5eXX2IZjW3Y#N!a>4MD7&8n_+m@ujGSyY*t$eAy)*K=|cvS}L=<8ryTT`u*s z-<50{YmVRm!2mZ#QfvzBor%Ow(lc0-N9RInGymm-G^6CtoRgrx(bkjO+Pm9wdmzmb zGC_1FibK5cxsO71Hxas!wm_o90vBd4N`wasAGS-U|Zaw_286 zE`VQp#R7fmPsF39b8qFia&c2KsigS(d&J+>qV}?V&*#PYdsX+)b4?J2y-(5$-}1g+ z`LF-gDD!{iSAIpl@P)sUvuDq#;+u1*_EqWq!{7hCeC5kumPa3X#JKG0!W&%ve_BAdkZIk{VHmy>4ncFY%?$ifYFJ zY0&YvhE1@3qvXbJ966q9ASe>q#tkNp8j&Y>MGrRG_x0Ao=QvS7jp{uu|H| z*-=R@_37&?D+Rri63DekJRLUH#%hjt-+f2MVHwnGf~KDJ274d9Qi*U_ozJiWv>}V` z_x1G3NF*lNY)+yhF^THG{r+L`djm3>8I^&7AsOiRm;?eLi9`|-@JFPxb3l4~2Bo(b z8Ir!ffDHBz>*ofHMH2B1g(cvPNWiBOh^zA(laX*rfnmlZ63MF3&q*$~;0n-?*|}8- z1|w2eTc_vSt%_Oht5t6PyE^o5=cK*0Rc6$2ryr@iquoFr_Nb$sUZyvVy4|b$uD0g9 zQMj)w*un4-WQ1~=@1;4rtE0n+IZB;-18I6rm%3Yw0dQHbeSeTPb=x4VRzX^KR`0cb zCg5RR0qv%OoHYfYzx*e21nEC8+A8XN#PEX zj@uA)j`3o6dMxQg00o;-&G9qcyGx66`m7={+}Ew=s6bNBul#w9M%5qD`^fkh_&NwY zm6uuG_o+{QQvU6~{kQVH?|o0c@%69ESHJpC^2j5PN=r+NInaZHgYwjqPul#EC!Tmh zUVix%1vKNT)MgEg0n8Fxv(5k_r8f|CjX`%Pv0K!UYTcsVZgD^wM*bESS&^6lwlF>m z0})hbkLbi+3zy$h>NMDTZbv;Z$~d2!R>wCXOH0?);Xb&U$4eJ4%h>3Qgo5Kzn3EuM##i8eai~w$ z$Fk~#EGsBbkUSUB*K%L(El>;2G)j1sL9EkNZA`MtG=RrOLRL@AdLw{9qi@Xbl}tP; zVcm%SK?Np5{o?ZuSWg8F@P7SwXjq+3bxh;>e!$QFaEhj^+kwZ)lKyKwo#K(f#*z_sXFD9PH|nUUfdZTU(@G|3A>%F9Ur8CjGqw2KM$U zy_}w2(S1E;fU@>{tvWqR3iKlK@=GsCb7Q^a)#+j%mx|F3>z<@{0B}m(wVP5Z6~NLx z0ci>j>8bi4fHa35xYe={w>oR*Acf#oJm@t?yfRWJM~WaVrw%wyJ0u~wRLqPRq&t*6 zQi6A3epXiI3bM$|s_6-7ZEBPkpMPF9R+i+#!i+4=PRo)?KAV!RwibE$#TQL~dp)|Y z_5aMv0;JKC*4)%&e_Ok-D#L+cIeYG`*{b3k9M~SQVQp&bo_ppQvv;K+$Us_QTCTqN zqFipPm(_IAXxmHgN2z2crlo7NaN8iQMx{-`9w3dZ(PqFSSK1q7b9l%yMy205n#meV zAQ9h6^%cZOmo8nFAy2=IG!IJfwLbAZ(<7lb`z1ZJ|9)VPvCkP$Zvj%ZzeKZXE3n?7 z3ie>R;0p}2oHd6Fn@*ITtQ?<@V+asrMi}(grPqIuvZ$c%Vqb?`JN}AX?C-S9X|-Ul zTA{R)eqYKh-450-;|ofCD`c{u?^{sk&c%l9DmD{T0ohEg4Cl{FAbZXk96fSQyx}uO zeee3dLm+mpzB+TD-PX_Dl!E|i2>xnB?Iv^3N}uh1GOo4&QVM1UyXjzT8n%_uH@8{} zXnS1!7i>FwFx1zkdr-e~uv13#v$GIfK*Z;Aes@y&sb01Xs|N3A5Yhzx_ zs*!w2jouf&@CEtGSH2=OL>|}It$YAw0+ZC@!lIt^tVAQxn`rd;2{5Cv7jTvc4q162 zAPVGNM7jVhGGENosnkj0=5zA^SvW4nh@y_xuqt(&u1X$`Wzx2y_oa>aD8livg0#1d zOGn3LSzWEXbY#Edz4v}5vDk*3JL|AXW~as^W_0{}gOMUg^DlHtTP`Lwsl%B~JD<+U z;9S3D{mQSQD2b&m8J~3&5k`*z=rBCO_IP1d9k2NXV}T@_cCYD!!^;g4oNSkvIs``e~5at`~lQ>RiGGX(gSi`mtbRSuuqy4-pQU!MEylqQh(5QMn9SzdgcvAfRUE&+) z7O(#F_9>WCfOqQDSxG6tb^~Y#<(GxRqJ)B!JicW#0HaWeH;y%1psTQPtV2DHXIb$Rl`i&uX z%1PYs!QB!_Kf=0}aRRC-kprZWAt7@@`646|lcOmsYin$%le1?}+YsZ~iJXknSC&!R zqPC=^xlvww^%cvcO^&6l91eCbhF?S5{`zaL%KY4n{SJ2Eyq@3qC;^5}3pCPmOqL?1 z_N}(AP6ETj)=Nzl$d${Nqb_dM8T4C44Gt?kybR1HfXnf|-`drH^Coe)ZG0bzh|w}b3%D(R5Jl)snx zt9w=DgqQ1_ESZ9`;M92;&Z(pooJDIT5K!@`|J0{;Mtw0)&shl;&Kr<(`>cB{q1jsT zM{6X|+i=Ukt{}>k?!-*z<#;<>&fo%L)$lN;niU98}Ga z>*BGY@1uu$WY{Y{#VYti_-|A&z*5VsOLX^MAn-oQn11P(e#x9M3;+kEAe4%H`O9Cn z3>hUNC<{PZC>S)QK?L#!IGZrg1HvECi}JLbGhx<>+afXNLvQFn0ZAaX-_vPR(B*$G z6&4@{fSXU|Y^asbK5Jza)$~Ll4&zjhIhEyXX^aX;r>Etc-&~h$_FxG_{Qh_3$tTxT z(K_Fip4aQ&XSj6{q#a&NFKm_pEk&oKgfYS3X6|OZqKdjg8tQQO)jouq0!?LNH zer0yr249cP2lu@%cSC|RO%jOr-_pjMpD9@H1Wm!LU4R1{lXN_wgmRwIR80E1+O2Hi zwO3x+25C&8AMy;!8~VFMWLRdWax$kvIZ$z6Z&6Ud7}wI@6$K?r)W+LUYuT9M?@{6- zzJ94WSEFlvcaVn6&aKJJ?2<%AB69M?Nz(`PPvA`0jJuM(gQHQT%*J_+DoACpG)fZ? z=I?CS78;CUE5wNKH=^UEpLHt&fccjQ(hz_?#&}%sEymgH`tPQoYf zjp5V^v{Lbikv@<$_WOtA=+W1$6p^wY_Jr3vsB36g2Ksu9Ef|XS^$SZj_&DVENF)@r zo-+o0_Vx70jP9KY1$^8iX67ZLap}?DLq;;}8AE57q1mP1&IXxXb6F&@=R8#j7?0*(CF=#J0kR@#dG?(^zo{FT^}2jHFZYH zLE1zvFQe(K4PmW@GWzZ7Z%br2EG?gImh-=IUTS{1MuA$bbbYy1MpY*lpIg!XVr!#A zo#Ish1(1U53!q;5jH?lxLF_Sm5nB$kq^I?)%~r#Cb$gEuOII)l<-T+Mx9=$8!{7^y zrQ!zu$fmBXUNEAVwdEy!-VV8y+j|d6(5qA?xqR<&tdXIT_#Vib!4`FYM^?n`ZY})X6jd%ynNlbwa z>!*Bu+$}jMkjCD!OqJT|@@KoBpewOo_!RiYwwKh;AOQiON`#&44cTp1o2b9z9+v)% zeGbSYi$r!D;Df%0-e>pdXmOT91b5oq~C0bOgOqc-Ha+MxZ<-g{S8 zmKLq&dSuuqfj&xH`z0Duy_!kM#m&{NSMGk?N1C0vXP^AUC#*)FgA<`{ohIw0g?WiZ zBWBd-J42}z!C6sg493}FC>v~z{M>bMYzYf%u=$KF(!C-h7zdO%fDYpj-I|@Y*Jtk~ zEJEsetV(b9Voxm26l64;k-GCW^5&aIt>-Kf49Lp-tSrqI ztgjQW#k|hO#zqBSAz7X;NG=iH{+_G?Kpa{EiggVNK6jLDP{bOCG)^s^6Y zBhI~KFOl^om;wvrK+`F+>$lqr!+WvgWX}5a zbA76(U{&Mydwp)P3@PI4)9Y4nb(;}=bQDf#sJ~PC)xQ`C4B785C^%c6E6BxgKrYP9 zZP_OG&o~H)M`8l&sM`Qt$l6$!WZTN$H!+iu%#z2kSqqdfDjmE~(Tz@}nQF=zW}*sltS0=KXtSjY>fpS*p&- zkgG92EYdseli(hdz_2&cn^wHnl+A7q_R7^0ugRrmW^vIAH7zLxbN9OB(FSRfP4f@P zl`GW|h|uo=BiHa?k1EdkZJ|7uz73+7%=5~pqdPzvnY79Atggp#o8ROg?3b>#W;t{6 zxU@9Z%ffVi$6DSCq*+;6Mh*XXQkLiF;n91Z%UZNJn}|s)oY3{XD(mZ)6C)UtxL6=`nnkZ81=WvqHBf;VHS^7Si_)O({&Af*(PeI$ckNvo4s&8!u`tuamM z{Ux$U){;!mZqDQf4y3gmB9N9&7-+1vTbZ;abKds?X?b`*xKX;k)FvZm24!?aZIjw&>@BvOnU7}M zarE`M?`7Bb680n2FrLbb6Kaoqio)-1BcQTu1Gbr^MHa9l5p3aQ}BC|PNb5t;u zzK85zCLWUDP>XnaPutMvVNat(1D%ox-sla+8Q<@j@wdcqzYKMqmGJ!G1!+jIP^fQ$kEc3^zSY|eAe9QAWA?YBRw8>yH~h=#=1+o}rD5n~Hdv9dn}2npRUtm)TYd0CCD8XQUu)LEHg z?vt+f5p^1px;D?9IVDG5f87WbO4l?&5PCAp$vLJ*)rnQ-wzIWK&YU`K1SGA^%@U7{ z*f7{cB&@*iv^3P$8+&6EDXK2bh&+$@1lYOWycfQDVU%NyH-ZZWU$9*RNeO8wUwislz`rJuOQL)HX+ga;c|H z))ZXs1=1!Iq(yTF1JY^~q`~kwJ~b`N3v+U*zeBE_cvaTNGe*8tn)L&ug@VI!O|PR; zphiX!of{qUOQ@z_LT~lS@ab+DZf|pRl$FIfL|-`kw>p=JXO3Oxv(S6&J$l$!AJsTi zypCQQ1CHtku&)7mA>HF-cT1l`C1TH8K^hKNO0N$f!#ScyrgLMmHa05PPQ4+U>in+g z8lX(p?Q;%7=%F0Tj#{Z@`SCOL&zPeY3he}GIOOO${1|i;SrMKS8Kz3_X{n%RJZ%cn z<_)t0}i@U5(2=0`B_{sALEAWK&|z!jy$YcTwkJP3>mO3N6i^gM9JFc3uY*xU%t1xg-eUHqQe znSu@Bo}FD(=ltMG9&z+%XBQ-+jsOd5VrEQI3tm@6gp`6b1OU{UOSl^J!ywS{10?sN zTUtH5RdP6V)7~ zwhDyCH`Sq%q$N zHZAVCbDsvx=$j1no6ffih#vHRv;E(KZu)%Cx9IzFp@h!L*gOEeB3q~v{JX&zI%xZ7 zzpOwk=#_XZD%Y;RU2*>a`xU*PPN>Z(i9`d07F1VV>TZ{7uRkXnft%SCO9eJYX!rqG zZaT6W0qC`66o5@kSsa3%F_xMhh<)Ebty=r44GM{WCkmB0048BE?>6ZKMT0( zo+BIWuq%?O>ahELD^4)ahrP`614wN%H3EWkk5&UBaFQs=a&$tItt~#&2E*!F;QvY0 zrMHqzqwG4Ox)eXgs%-S%7Pt+0%{FbS9$nYxzq+(!K2mu(>_G{Ag^W^|o}SuzIy;ZG zwN>k#b^9D^Yi-8sJ?I2bygiO!9mDj0%`jR zb|W1Lm_22!vu3cFRFJ`pNI)1VtswZI3FmGjzH}dhJ>2f|?FjmcVC1m+1Ch|M&98iS zt19De9QSd7)H_q^NCs{DVF4r*BvF=>7zrAfK}iCX099n8Fr2Ozr3w#Vgd?X_3jvD3(+JGe)bKf1lIT*x*W0ZD(0I&y6` ziUY?5F_5567a%MV460)@W`r*MjyipuGMEzy(hxYg>9eC@%gT`rDm}-$DTfWDl?%Fg zGCyv5do-TZd+RvmmSG!!y4fkE0qo)glDXI+=zjf4Rv00JW1{we=5@#Bz*MGSPMJLqx7r(bgbvPs<)dv!8M-B?4jjC_Jeme;Ati1%? zOi(TN0qZlXM(A}WNK3Gfxo&Rv`*s9f#QyO0cUl|R1=S6A>$s1(F{Oi2`8Tt0a@mZe z)o2YXC?fKVGED1<78UVe^I22IyG7cH%9Weu_V-e;St#mU!Xi_8<4L_5YosE5qPN9J zS~)o6oQe!olu}^$AsX>@)|yh^iwTGuPb32edHZ`+5uUGERzO8#-`1TvfaB`bpUZ;} zUXp?Sd3DgIWqdZSV9cE;qa36m-uW&$tW^96HPQYbed| z(DAP>%v&kX=zK_G%lE$I5%H#5Y{uKwtJk)kVr9pri}S&gM)#t2!M z$SM$gOX}-tB^4XdeddrP%&9|1FoLWaY>#WJ8!iBCN%9j5lFm&^Q&W?X2bF$TrNVv! zkfK|xsaf|mS$Udr%X>`GEm2A^6dbvIR=E(^A#lX|ZZg*T|BU{g3=RXKp^xYF{GZn% zIH&YRxqWt0L3UKZTq<~PKpN*qrV)L1SV3B;@O&*$;DtGEr=hf-w37c9#dNp6mS7$F zo2*HZ4HaMqKtu2QyBq9T!R|{28U22f@cUMEFnxp8YgQ>p1K1EOA{$job%EggkS*!r0(NE^4AFB~ST0>?=G78cFh8LzMWi^+z9yy3a&)!m7oQRL_lVDTPJ+{i9HecD&35xTy5H@Z?vxx9NJ|Y5slVE7 zzHjMT_}_ACk{Su9PeEzttp}R+63Quq1jGG9Hg6NVQK^l&o#Vbz#YSWaW#{dzHwHw1 zcay|aS(f*`@NarLh?eb^DdYDzLqvhy{$46LB3AmO4rcLOP)78lVf4Knb*4xY3b@J@ z66b>B3#&_i(RwB5zER@i0W;Xu9PhsWb6HT}lz%AXP=wL0T@iAjxE2+M3moiQXDWqcn%T9SQpEXC@j|2V9+@ z-j>4W#WZ4v4N)xK}u9VQ;^L0zM1=RMVdYs0;Z0#$a5$ z9s_CUrwbQkZD~=~bieKg(wJ@5tl+99HSMY+tCi$-$bIJ<<=!`I9v(KX3-= za}N81JIXpaZ!*gcGv@6AH3uB~I?hWl|G@xhq4`?z4?84v?$>l@mvDHG>@u5(oqoqvWgRE4Y=zKpN2`YC6f94K$y%8E4km z3o}p|C^Au{iE@C7nVQ<0{;q;zrQ{GW$E=^d6fFvdOdZYsFn>k;g9^%8%-KZY!x+iA zlqw>WDd$KjBMP0U8#VA`*(zoIv9e4BX_PybKJ3D@I)8Bm9DTF;Fb=Nd5zu|*%FpGo z$JV8xenDntr)7L5A+cpj1a}U%b^~dluL-Nz(^3J=J19svou*$`w zBbF^HUH=3n0yy5|StBPvoOS1v!7?+)ks14cX=&4b0vN%`DC9G$v?B86(br|Luh+6~ z83iN50k49uyc&DToMUqC>^YSh1&0@8YHDRykk;PTVFT~ozH>hz>xXV}$~7VL=(PP! zrlfQ~7VixuAe4!^eO9?}jbv^p1Es7Az*a1oBLa_JAhJ)?84zI^`I6U=rGj|G?XzP< zI`v%2OET}47)T2YNU)!|jyHOx4y$l~an{RA(va#wTJ^#nBgn}7H5}|pK^m{ScZp|N3%7f^o6tId4*;1L`^yM`6f6L$Tz!T;gy)8hhXogZfih(RHGIcj zenU}UYh~|`sKZ-&Pbw9H(+~sTYjE!9&%xFjNkl>l%ID-t-D$aY>_yr1^zQroZ&fHk zhpcU3;pU;%MC;)W@Oym*s*CR_l82D7Bn#+vZ>kaeA=*QNxeo?NGuxaxCqduttv7c< z4g#c+_`vssgP}A#`oE=0QT$@1j=FaNXb!{UowL_qnV@2oeg$g7!vPEKRZ9d??QtKA zgvMc<5datc1ilX40D7@*Cs`B}CU1u)OQS01nnRjRYZ%S$n@x+XG)unVl$RE!3)c6so=(Wc zp?(f`lSOMWhSC%CRd`7P?=pWkAn}#F9x=RFy4m?8wvm>Ao z*3uKlj#@e8WNu6rXQ|uH*bKMa)U+%v5s_b&w$@fTcJxh|%H#B1xCx|%4HZvoaTWYNzY;kVyz9c|eTV`7Iv%7w* zR=i{SnbR|}q&jguH!7C~x@2w1DGM+CUYz%#!9Lm8+;r`0+U+1KmySE6U~c!bRIryk zTbxS^f~fr+>FqGT0mtZ8vN=${Q?5+^8rdvtIXa>eTh95gKkzT8pds)>YeeaNsZ{9U zC4fZl9M^&$!r*W_|@jg`fgW-$*+AgqD3jdEMJ0}AipumS}Ad$Ib7 z{f7R+534jVy_ax5t(P~|B;kd_(G$L(K*=8%Id9bwl>qvKklO}nTYe|Wf!zXx|6BGK zDq|QuK#xB71>b>WPI-0CL5k@d)e+v#Ch_*P>i$buYs*0&*re+aTB-fH&p-+d{HlD3 zq~JKwq>a+t?_wR+CZ|lm?e9c)0AG|r>{mBTw3^TIw4601UAo}_cqmW68BsQe6rjZ- zdAA!u;lUE&hxMj(W*P=Mof?%`G-D~vgRDIr8@r+ouNq%fxCM2d$7W(T%?5J=X-G(4 z*EKO>Y>IA1{ay=MzP5bS_1sH^IdR2o8X2RNrLDd+mF0y6nVFxkxoU3jz1tF+Q-d|u zFH>r;t2y3(|7Wtfu_->kSJLV{7S|m6jGzJxjev&YnmY)YpvS_~FK@p7x;*{llhWPU zB>|sTVv&%f5>Xqq(bGSuKNAuTMdjStvvT_6DVd#KP~(4dCJm4l3ZKQgadN@)u&~BGADC-UYuX? zdjV-a@1QIzh^U5n?9!#nl1aubYwUJE5wpM8N%aegL09Z>RGp(t1>nw2SR>ePfEk|$ z@Z)!tINIi?1Oba}_THjD!2bz4mp+e5g+L7iOhp=R{0d4pnJu}jI`v|}BNx?2Agf9? zt@Pd>grKVcX~|@A>&fgqu3x(*Dg7HIk;Tjl?}6BjKFxy|6T-c>XA;)uJLPT*51WLS z>m-n=5pQ3Ot)5)a#{{iWi9P>P6R*wJx002ovPDHLkV1gGi8pHqq diff --git a/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus1.esdl b/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus1.esdl deleted file mode 100644 index d97941c7c..000000000 --- a/tests/models/unit_cases_electricity/bus_networks/model/Electric_bus1.esdl +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/models/unit_cases_electricity/electrolyzer/model/h2_original_without_profiles.esdl b/tests/models/unit_cases_electricity/electrolyzer/model/h2_original_without_profiles.esdl deleted file mode 100644 index e2c677d35..000000000 --- a/tests/models/unit_cases_electricity/electrolyzer/model/h2_original_without_profiles.esdl +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/models/unit_cases_electricity/electrolyzer/model/h2_profiles2030.esdl b/tests/models/unit_cases_electricity/electrolyzer/model/h2_profiles2030.esdl deleted file mode 100644 index 4f022e624..000000000 --- a/tests/models/unit_cases_electricity/electrolyzer/model/h2_profiles2030.esdl +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/models/unit_cases_electricity/electrolyzer/model/h2_profiles2030_costs_included.esdl b/tests/models/unit_cases_electricity/electrolyzer/model/h2_profiles2030_costs_included.esdl deleted file mode 100644 index cdec70db1..000000000 --- a/tests/models/unit_cases_electricity/electrolyzer/model/h2_profiles2030_costs_included.esdl +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 2b155269e651b110e2c38a326612846a4b0e4c59 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 21 Apr 2026 18:44:31 +0200 Subject: [PATCH 360/376] Generlizing bigm constraints (#449) Centralised methods to add big_m equality and inequality constraints have been created. Those methods can be used by any class that inherits BaseProblemMixin. --- CHANGELOG.md | 1 + src/mesido/asset_sizing_mixin.py | 167 ++----- src/mesido/base_problem_mixin.py | 49 ++ src/mesido/electricity_physics_mixin.py | 89 ++-- src/mesido/financial_mixin.py | 52 +- src/mesido/gas_physics_mixin.py | 15 +- src/mesido/heat_physics_mixin.py | 461 +++++------------- src/mesido/physics_mixin.py | 22 +- ...est_multiple_in_and_out_port_components.py | 2 +- 9 files changed, 271 insertions(+), 587 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b90ff1e6..8995c7afe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Geothermal electricity asset that can be connected to the electricity grid. - Addition of heat buffer asset with electric charging (i.e. HeatBufferElec). - DataSource is assigned to output profiles +- Generic methods to create equality and inequality constraints using big-M formulation. ## Changed - Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index d42d6f632..68889a003 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -1350,29 +1350,12 @@ def __pipe_topology_constraints(self, ensemble_member): big_m = 2.0 * max(max_discharges.values()) for pc, var_name in pipe_classes.items(): pipe_class_discharge_ordering = self.extra_variable(var_name, ensemble_member) - - constraints.append( - ( - ( - max_discharge - - max_discharges[pc.name] - + pipe_class_discharge_ordering * big_m - ) - / median_discharge, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - max_discharge - - max_discharges[pc.name] - - (1.0 - pipe_class_discharge_ordering) * big_m - ) - / median_discharge, - -np.inf, - 0.0, + constraints.extend( + self._big_m_ineq_constraints( + max_discharge - max_discharges[pc.name], + pipe_class_discharge_ordering, + big_m, + median_discharge, ) ) @@ -1387,20 +1370,12 @@ def __pipe_topology_constraints(self, ensemble_member): pipe_class_cost_ordering = self.extra_variable(var_name, ensemble_member) # should be one if >= than cost_symbol - constraints.append( - ( - (cost_sym - costs[pc.name] + pipe_class_cost_ordering * big_m) - / self.variable_nominal(cost_sym_name), - 0.0, - np.inf, - ) - ) - constraints.append( - ( - (cost_sym - costs[pc.name] - (1.0 - pipe_class_cost_ordering) * big_m) - / self.variable_nominal(cost_sym_name), - -np.inf, - 0.0, + constraints.extend( + self._big_m_ineq_constraints( + cost_sym - costs[pc.name], + pipe_class_cost_ordering, + big_m, + self.variable_nominal(cost_sym_name), ) ) @@ -1435,24 +1410,12 @@ def __pipe_topology_constraints(self, ensemble_member): pipe_class_heat_loss_ordering = self.extra_variable(var_name, ensemble_member) # should be one if >= than heat_loss_symbol - constraints.append( - ( - (heat_loss_sym - heat_loss + pipe_class_heat_loss_ordering * big_m) - / self.variable_nominal(heat_loss_sym_name), - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - heat_loss_sym - - heat_loss - - (1.0 - pipe_class_heat_loss_ordering) * big_m - ) - / self.variable_nominal(heat_loss_sym_name), - -np.inf, - 0.0, + constraints.extend( + self._big_m_ineq_constraints( + heat_loss_sym - heat_loss, + pipe_class_heat_loss_ordering, + big_m, + self.variable_nominal(heat_loss_sym_name), ) ) @@ -1541,29 +1504,12 @@ def __gas_pipe_topology_constraints(self, ensemble_member): big_m = 2.0 * max(max_discharges.values()) for pc, var_name in pipe_classes.items(): pipe_class_discharge_ordering = self.extra_variable(var_name, ensemble_member) - - constraints.append( - ( - ( - max_discharge - - max_discharges[pc.name] - + pipe_class_discharge_ordering * big_m - ) - / median_discharge, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - max_discharge - - max_discharges[pc.name] - - (1.0 - pipe_class_discharge_ordering) * big_m - ) - / median_discharge, - -np.inf, - 0.0, + constraints.extend( + self._big_m_ineq_constraints( + max_discharge - max_discharges[pc.name], + pipe_class_discharge_ordering, + big_m, + median_discharge, ) ) @@ -1578,20 +1524,12 @@ def __gas_pipe_topology_constraints(self, ensemble_member): pipe_class_cost_ordering = self.extra_variable(var_name, ensemble_member) # should be one if >= than cost_symbol - constraints.append( - ( - (cost_sym - costs[pc.name] + pipe_class_cost_ordering * big_m) - / self.variable_nominal(cost_sym_name), - 0.0, - np.inf, - ) - ) - constraints.append( - ( - (cost_sym - costs[pc.name] - (1.0 - pipe_class_cost_ordering) * big_m) - / self.variable_nominal(cost_sym_name), - -np.inf, - 0.0, + constraints.extend( + self._big_m_ineq_constraints( + cost_sym - costs[pc.name], + pipe_class_cost_ordering, + big_m, + self.variable_nominal(cost_sym_name), ) ) @@ -1684,25 +1622,12 @@ def __electricity_cable_topology_constraints(self, ensemble_member): big_m = 2.0 * max(max_currents.values()) for cc, var_name in cable_classes.items(): cable_class_current_ordering = self.extra_variable(var_name, ensemble_member) - - constraints.append( - ( - (max_current - max_currents[cc.name] + cable_class_current_ordering * big_m) - / median_current, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - max_current - - max_currents[cc.name] - - (1.0 - cable_class_current_ordering) * big_m - ) - / median_current, - -np.inf, - 0.0, + constraints.extend( + self._big_m_ineq_constraints( + max_current - max_currents[cc.name], + cable_class_current_ordering, + big_m, + median_current, ) ) @@ -1720,20 +1645,12 @@ def __electricity_cable_topology_constraints(self, ensemble_member): pipe_class_cost_ordering = self.extra_variable(var_name, ensemble_member) # should be one if >= than cost_symbol - constraints.append( - ( - (cost_sym - costs[cc.name] + pipe_class_cost_ordering * big_m) - / self.variable_nominal(cost_sym_name), - 0.0, - np.inf, - ) - ) - constraints.append( - ( - (cost_sym - costs[cc.name] - (1.0 - pipe_class_cost_ordering) * big_m) - / self.variable_nominal(cost_sym_name), - -np.inf, - 0.0, + constraints.extend( + self._big_m_ineq_constraints( + cost_sym - costs[cc.name], + pipe_class_cost_ordering, + big_m, + self.variable_nominal(cost_sym_name), ) ) diff --git a/src/mesido/base_problem_mixin.py b/src/mesido/base_problem_mixin.py index 46c543c0a..ac2d1412d 100644 --- a/src/mesido/base_problem_mixin.py +++ b/src/mesido/base_problem_mixin.py @@ -1,5 +1,54 @@ +import numpy as np + + class BaseProblemMixin: + @staticmethod + def _symmetric_big_m_constraints(expr, slack, nominal): + """Return paired bigM constraints that enforce expr == 0 when slack is inactive. + + Parameters + ---------- + expr: casadi expression + The expression that should be constrained to zero. + slack: casadi variable + The slack variable that should be zero when the constraint is active. + nominal: float + The nominal value of the variable, used for scaling the constraints. + + Returns + ------- + List of two tuples describing the constraints + """ + return [ + ((expr + slack) / nominal, 0.0, np.inf), + ((expr - slack) / nominal, -np.inf, 0.0), + ] + + @staticmethod + def _big_m_ineq_constraints(expr, slack, big_m, nominal): + """Return paired bigM constraints that enforce expr =< 0 when a binary slack is active + and expr >= 0 when a binary slack is inactive. + + Parameters + ---------- + expr: casadi expression + The expression that should be upper or lower constrained to zero. + slack: casadi variable + The slack variable that should be zero when the expr is lower constrained + to zero. + nominal: float + The nominal value of the variable, used for scaling the constraints. + + Returns + ------- + List of two tuples describing the constraints + """ + return [ + ((expr + slack * big_m) / nominal, 0.0, np.inf), + ((expr - (1.0 - slack) * big_m) / nominal, -np.inf, 0.0), + ] + def goal_programming_options(self): """ Here we set the goal programming configuration. We use soft constraints for consecutive diff --git a/src/mesido/electricity_physics_mixin.py b/src/mesido/electricity_physics_mixin.py index 919ada860..51dbdb4b2 100644 --- a/src/mesido/electricity_physics_mixin.py +++ b/src/mesido/electricity_physics_mixin.py @@ -372,20 +372,11 @@ def __electricity_cable_mixing_path_constraints(self, ensemble_member): res = cc_data.resistance exp = current * res * length * i_max is_selected = self.variable(cc_name) - constraints.append( - ( - (power_loss - exp + big_m * (1 - is_selected)) - / constraint_nominal, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - (power_loss - exp - big_m * (1 - is_selected)) - / (constraint_nominal), - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + power_loss - exp, + big_m * (1 - is_selected), + constraint_nominal, ) ) else: @@ -440,18 +431,11 @@ def __voltage_loss_path_constraints(self, ensemble_member): for var_size, variable in variables.items(): if var_size != "None": expr = resistances[var_size] * c_length * current - constraints.append( - ( - (v_loss - expr + big_m * (1 - variable)) / constraint_nominal, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - (v_loss - expr - big_m * (1 - variable)) / constraint_nominal, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + v_loss - expr, + big_m * (1 - variable), + constraint_nominal, ) ) @@ -754,30 +738,13 @@ def __electrolyzer_path_constaint(self, ensemble_member): is_line_segment_active = self.state(var_name) # Equality constraint to map the input power to the output massflow # of the electrolyzer - constraints.append( - ( - ( - gas_mass_flow_out_vect[n_line] - - gass_mass_out_linearized_vect[n_line] - - (1 - is_line_segment_active) * big_m - ) - / nominal, - -np.inf, - 0.0, - ), - ) - # - constraints.append( - ( - ( - gas_mass_flow_out_vect[n_line] - - gass_mass_out_linearized_vect[n_line] - + (1 - is_line_segment_active) * big_m - ) - / nominal, - 0.0, - np.inf, - ), + constraints.extend( + self._symmetric_big_m_constraints( + gas_mass_flow_out_vect[n_line] + - gass_mass_out_linearized_vect[n_line], + (1 - is_line_segment_active) * big_m, + nominal, + ) ) is_line_segment_active_sum += is_line_segment_active # Constraint to ensure that only one line is active, if the electrolyzer @@ -786,11 +753,12 @@ def __electrolyzer_path_constaint(self, ensemble_member): (is_line_segment_active_sum + (1 - asset_is_switched_on), 1.0, 1.0), ) - constraints.append( - ((gas_mass_flow_out + asset_is_switched_on * big_m) / big_m, 0.0, np.inf) - ) - constraints.append( - ((gas_mass_flow_out - asset_is_switched_on * big_m) / big_m, -np.inf, 0.0) + constraints.extend( + self._symmetric_big_m_constraints( + gas_mass_flow_out, + asset_is_switched_on * big_m, + big_m, + ) ) # Add constraints to ensure the electrolyzer is switched off when it reaches a power @@ -809,11 +777,12 @@ def __electrolyzer_path_constaint(self, ensemble_member): np.inf, ) ) - constraints.append( - ((power_consumed + asset_is_switched_on * big_m) / big_m, 0.0, np.inf) - ) - constraints.append( - ((power_consumed - asset_is_switched_on * big_m) / big_m, -np.inf, 0.0) + constraints.extend( + self._symmetric_big_m_constraints( + power_consumed, + asset_is_switched_on * big_m, + big_m, + ) ) return constraints diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index ccee158a2..c26f10f18 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -4,6 +4,7 @@ import casadi as ca from mesido.base_component_type_mixin import BaseComponentTypeMixin +from mesido.base_problem_mixin import BaseProblemMixin from mesido.esdl.asset_to_component_base import AssetStateEnum import numpy as np @@ -16,7 +17,9 @@ logger = logging.getLogger("mesido") -class FinancialMixin(BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem): +class FinancialMixin( + BaseProblemMixin, BaseComponentTypeMixin, CollocatedIntegratedOptimizationProblem +): """ The FinancialMixin is used to instantiate variables for the different cost components of the assets in the energy network and to set constraints to compute them based upon the usage and @@ -1382,8 +1385,13 @@ def __cumulative_investments_made_in_eur_path_constraints(self, ensemble_member) ) / max(self.get_aggregation_count_max(asset), 1.0) ) - constraints.append(((heat_flow + asset_is_realized * big_m) / big_m, 0.0, np.inf)) - constraints.append(((heat_flow - asset_is_realized * big_m) / big_m, -np.inf, 0.0)) + constraints.extend( + self._symmetric_big_m_constraints( + heat_flow, + asset_is_realized * big_m, + big_m, + ) + ) return constraints @@ -1443,28 +1451,11 @@ def __cumulative_capex_made_in_eur_constraints(self, ensemble_member): if self.variable_nominal(self._asset_investment_cost_map[asset]) > 1.0e2: capex_sym = capex_sym + investment_cost_sym - constraints.append( - ( - ( - cumulative_investments_made - - capex_sym - + (1.0 - asset_is_realized) * big_m - ) - / nominal, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - cumulative_investments_made - - capex_sym - - (1.0 - asset_is_realized) * big_m - ) - / nominal, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + cumulative_investments_made - capex_sym, + (1.0 - asset_is_realized) * big_m, + nominal, ) ) @@ -1495,11 +1486,12 @@ def __cumulative_capex_made_in_eur_constraints(self, ensemble_member): ) / max(self.get_aggregation_count_max(asset), 1.0) ) - constraints.append( - ((heat_flow + asset_is_realized * big_m) / big_m, 0.0, np.inf) - ) - constraints.append( - ((heat_flow - asset_is_realized * big_m) / big_m, -np.inf, 0.0) + constraints.extend( + self._symmetric_big_m_constraints( + heat_flow, + asset_is_realized * big_m, + big_m, + ) ) return constraints diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index 967d592d7..4cc2ab080 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -538,20 +538,7 @@ def __flow_direction_path_constraints(self, ensemble_member): # Note we only need one on the milp as the desired behaviour is propegated by the # constraints heat_in - heat_out - heat_loss == 0. - constraints.append( - ( - (q_in - big_m * flow_dir) / big_m, - -np.inf, - 0.0, - ) - ) - constraints.append( - ( - (q_in + big_m * (1 - flow_dir)) / big_m, - 0.0, - np.inf, - ) - ) + constraints.extend(self._big_m_ineq_constraints(q_in, 1 - flow_dir, big_m, big_m)) # Pipes that are connected in series should have the same milp direction. for pipes in self.energy_system_topology.pipe_series: diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 84ce1f32e..05754126a 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -923,30 +923,12 @@ def __heat_matching_demand_insulation_constraints(self, ensemble_member): # Adding constraints for the entire time horizon per demand insulation for iclasses in range(len(demand_profile_for_this_class)): for itstep in range(len(demand_profile_for_this_class[iclasses])): - constraints.append( - ( - ( - heat_demand[itstep] - - demand_profile_for_this_class[iclasses][itstep] - + big_m[iclasses] - * (1.0 - is_insulation_active[iclasses][itstep]) - ) - / nominal[iclasses], - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - heat_demand[itstep] - - demand_profile_for_this_class[iclasses][itstep] - - big_m[iclasses] - * (1.0 - is_insulation_active[iclasses][itstep]) - ) - / nominal[iclasses], - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + heat_demand[itstep] + - demand_profile_for_this_class[iclasses][itstep], + big_m[iclasses] * (1.0 - is_insulation_active[iclasses][itstep]), + nominal[iclasses], ) ) except KeyError: @@ -1150,20 +1132,11 @@ def __heat_loss_path_constraints(self, ensemble_member): constraint_nominal = (big_m * heat_loss_nominal) ** 0.5 # Force heat loss to `heat_loss` when pipe is connected. - constraints.append( - ( - (heat_in - heat_out - heat_loss - is_disconnected * big_m) - / constraint_nominal, - -np.inf, - 0.0, - ) - ) - constraints.append( - ( - (heat_in - heat_out - heat_loss + is_disconnected * big_m) - / constraint_nominal, - 0.0, - np.inf, + constraints.extend( + self._symmetric_big_m_constraints( + heat_in - heat_out - heat_loss, + is_disconnected * big_m, + constraint_nominal, ) ) return constraints @@ -1299,26 +1272,18 @@ def __flow_direction_path_constraints(self, ensemble_member): ) # Note we only need one on the heat as the desired behaviour is propegated by the # constraints heat_in - heat_out - heat_loss == 0. - constraints.append( - ( - (heat_in - big_m * flow_dir) / big_m, - -np.inf, - 0.0, - ) - ) - constraints.append( - ( - (heat_in + big_m * (1 - flow_dir)) / big_m, - 0.0, - np.inf, - ) - ) + constraints.extend(self._big_m_ineq_constraints(heat_in, 1 - flow_dir, big_m, big_m)) # If a pipe is disconnected, the discharge should be zero if is_disconnected_var is not None: big_m = 2.0 * (maximum_discharge + minimum_discharge) - constraints.append(((q_pipe - (1 - is_disconnected) * big_m) / big_m, -np.inf, 0.0)) - constraints.append(((q_pipe + (1 - is_disconnected) * big_m) / big_m, 0.0, np.inf)) + constraints.extend( + self._symmetric_big_m_constraints( + q_pipe, + (1 - is_disconnected) * big_m, + big_m, + ) + ) big_m = 2.0 * np.max( np.abs( ( @@ -1327,15 +1292,19 @@ def __flow_direction_path_constraints(self, ensemble_member): ) ) ) - constraints.append( - ((heat_in - (1 - is_disconnected) * big_m) / big_m, -np.inf, 0.0) - ) - constraints.append(((heat_in + (1 - is_disconnected) * big_m) / big_m, 0.0, np.inf)) - constraints.append( - ((heat_out - (1 - is_disconnected) * big_m) / big_m, -np.inf, 0.0) + constraints.extend( + self._symmetric_big_m_constraints( + heat_in, + (1 - is_disconnected) * big_m, + big_m, + ) ) - constraints.append( - ((heat_out + (1 - is_disconnected) * big_m) / big_m, 0.0, np.inf) + constraints.extend( + self._symmetric_big_m_constraints( + heat_out, + (1 - is_disconnected) * big_m, + big_m, + ) ) # Pipes that are connected in series should have the same heat direction. @@ -1393,28 +1362,11 @@ def __demand_heat_to_discharge_path_constraints(self, ensemble_member): else: for return_temperature in return_temperatures: ret_temperature_is_selected = self.state(f"{ret_carrier}_{return_temperature}") - constraints.append( - ( - ( - heat_out - - discharge * cp * rho * return_temperature - + (1.0 - ret_temperature_is_selected) * big_m - ) - / heat_nominal, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - heat_out - - discharge * cp * rho * return_temperature - - (1.0 - ret_temperature_is_selected) * big_m - ) - / heat_nominal, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + heat_out - discharge * cp * rho * return_temperature, + (1.0 - ret_temperature_is_selected) * big_m, + heat_nominal, ) ) @@ -1466,28 +1418,11 @@ def __source_heat_to_discharge_path_constraints(self, ensemble_member): for supply_temperature in supply_temperatures: sup_temperature_is_selected = self.state(f"{sup_carrier}_{supply_temperature}") - constraints.append( - ( - ( - heat_out - - discharge * cp * rho * supply_temperature - + (1.0 - sup_temperature_is_selected) * big_m - ) - / constraint_nominal, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - heat_out - - discharge * cp * rho * supply_temperature - - (1.0 - sup_temperature_is_selected) * big_m - ) - / constraint_nominal, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + heat_out - discharge * cp * rho * supply_temperature, + (1.0 - sup_temperature_is_selected) * big_m, + constraint_nominal, ) ) @@ -1533,28 +1468,11 @@ def __cold_demand_heat_to_discharge_path_constraints(self, ensemble_member): else: for sup_temperature in supply_temperatures: sup_temperature_is_selected = self.state(f"{sup_carrier}_{sup_temperature}") - constraints.append( - ( - ( - heat_out - - discharge * cp * rho * sup_temperature - + (1.0 - sup_temperature_is_selected) * big_m - ) - / heat_nominal, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - heat_out - - discharge * cp * rho * sup_temperature - - (1.0 - sup_temperature_is_selected) * big_m - ) - / heat_nominal, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + heat_out - discharge * cp * rho * sup_temperature, + (1.0 - sup_temperature_is_selected) * big_m, + heat_nominal, ) ) @@ -1627,28 +1545,11 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): else: for temperature in temperatures: temperature_is_selected = self.state(f"{carrier}_{temperature}") - constraints.append( - ( - ( - heat - - pipe_q * (cp * rho * temperature) - + (1.0 - temperature_is_selected) * big_m - ) - / big_m, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - heat - - pipe_q * (cp * rho * temperature) - - (1.0 - temperature_is_selected) * big_m - ) - / big_m, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + heat - pipe_q * (cp * rho * temperature), + (1.0 - temperature_is_selected) * big_m, + big_m, ) ) else: @@ -1663,19 +1564,9 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): carrier = parameters[f"{p}.carrier_id"] temperatures = self.temperature_regimes(carrier) if len(temperatures) == 0: - constraints.append( - ( - (heat - pipe_q * (cp * rho * temp) - big_m * (1 - flow_dir)) - / big_m, - -np.inf, - 0.0, - ) - ) - constraints.append( - ( - (heat - pipe_q * (cp * rho * temp) + big_m * flow_dir) / big_m, - 0.0, - np.inf, + constraints.extend( + self._big_m_ineq_constraints( + heat - pipe_q * (cp * rho * temp), flow_dir, big_m, big_m ) ) elif len(temperatures) > 0: @@ -1807,18 +1698,11 @@ def __ates_temperature_path_constraints(self, ensemble_member): temp_selected = self.state(f"{ates_asset}__temperature_disc_{temperature}") variable_sum += temp_selected big_m = 2.0 * max(supply_temperatures) - constraints.append( - ( - (temperature - ates_temperature_disc + (1.0 - temp_selected) * big_m), - 0.0, - np.inf, - ) - ) - constraints.append( - ( - (temperature - ates_temperature_disc - (1.0 - temp_selected) * big_m), - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + temperature - ates_temperature_disc, + (1.0 - temp_selected) * big_m, + 1.0, ) ) if len(supply_temperatures) > 0: @@ -1828,43 +1712,21 @@ def __ates_temperature_path_constraints(self, ensemble_member): big_m = 2.0 * max(supply_temperatures) sup_temperature_disc = self.state(f"{sup_carrier}_temperature") - constraints.append( - ( - ( - max(supply_temperatures) - - sup_temperature_disc - + big_m * (1.0 - is_buffer_charging) - ), - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - max(supply_temperatures) - - sup_temperature_disc - - big_m * (1.0 - is_buffer_charging) - ), - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + max(supply_temperatures) - sup_temperature_disc, + big_m * (1.0 - is_buffer_charging), + 1.0, ) ) # Equality constraint if discharging using big_m; # discr_temp_carrier == discr_temp_ates - constraints.append( - ( - ates_temperature_disc - sup_temperature_disc + is_buffer_charging * big_m, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ates_temperature_disc - sup_temperature_disc - is_buffer_charging * big_m, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + ates_temperature_disc - sup_temperature_disc, + is_buffer_charging * big_m, + 1.0, ) ) # inequality constraint when charging, carrier temperature>= ates temperature @@ -2102,20 +1964,11 @@ def __ates_temperature_changing_path_constraints(self, ensemble_member): # selected, to ensure temperature does not further drop and requires # ates_dt_charging to cover the difference if ates_temperature == min(supply_temperatures): - constraints.append( - ( - (ates_dt_loss + big_m * (1 - ates_temperature_is_selected)) - / ates_temperature_loss_nominal, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - (ates_dt_loss - big_m * (1 - ates_temperature_is_selected)) - / ates_temperature_loss_nominal, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + ates_dt_loss, + big_m * (1 - ates_temperature_is_selected), + ates_temperature_loss_nominal, ) ) else: @@ -2376,18 +2229,11 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): heat_nominal * cp * rho * max(supply_temperatures) * q_nominal ) ** 0.5 temperature_var = self.state(f"{sup_carrier}_temperature") - constraints.append( - ( - (heat_in - max_discharge * cp * rho * temperature_var) / constraint_nominal, - -np.inf, - 0.0, - ) - ) - constraints.append( - ( - (heat_in + max_discharge * cp * rho * temperature_var) / constraint_nominal, - 0.0, - np.inf, + constraints.extend( + self._symmetric_big_m_constraints( + heat_in, + max_discharge * cp * rho * temperature_var, + constraint_nominal, ) ) for supply_temperature in supply_temperatures: @@ -2496,11 +2342,12 @@ def __network_temperature_path_constraints(self, ensemble_member): temperature_var = self.state(f"{int(number)}_temperature") big_m = 2.0 * self.bounds()[f"{int(number)}_temperature"][1] # Constraints for setting the temperature variable to the chosen temperature - constraints.append( - (temperature - temperature_var + (1.0 - temp_selected) * big_m, 0.0, np.inf) - ) - constraints.append( - (temperature - temperature_var - (1.0 - temp_selected) * big_m, -np.inf, 0.0) + constraints.extend( + self._symmetric_big_m_constraints( + temperature - temperature_var, + (1.0 - temp_selected) * big_m, + 1.0, + ) ) if len(temperature_regimes) > 0: # Constraint to ensure that one single temperature is chosen for every timestep @@ -2592,20 +2439,13 @@ def __constraints_temperature_heat_to_discharge_bypass( """ constraints = [] - constraints.append( - ( - (heat_out - expr + (2.0 - sum_temp_selec) * big_m) / constraint_nominal, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - (heat_out - expr - (2.0 - sum_temp_selec) * big_m) / constraint_nominal, - -np.inf, - 0.0, + + constraints.extend( + self._symmetric_big_m_constraints( + heat_out - expr, (2.0 - sum_temp_selec) * big_m, constraint_nominal ) ) + return constraints def __constraints_temperature_heat_to_discharge_bypass_primary( @@ -3144,12 +2984,14 @@ def __control_valve_head_discharge_path_constraints(self, ensemble_member): # - 1 means positive discharge, and negative dH # - 0 means negative discharge, and positive dH # It's a control valve, so the dH is of arbitrary magnitude. - constraints.append((q + (1 - flow_dir) * maximum_discharge, 0.0, np.inf)) - constraints.append((q - flow_dir * maximum_discharge, -np.inf, 0.0)) + constraints.extend( + self._big_m_ineq_constraints(q, 1 - flow_dir, maximum_discharge, 1.0) + ) if self.heat_network_settings["head_loss_option"] != HeadLossOption.NO_HEADLOSS: - constraints.append((-dh + (1 - flow_dir) * maximum_head_loss, 0.0, np.inf)) - constraints.append((-dh - flow_dir * maximum_head_loss, -np.inf, 0.0)) + constraints.extend( + self._big_m_ineq_constraints(-dh, 1 - flow_dir, maximum_head_loss, 1.0) + ) return constraints @@ -3218,28 +3060,11 @@ class and the selected temperature in the network. temp=temperature, ) big_m = 2.0 * heat_loss - constraints.append( - ( - ( - heat_loss_sym - - heat_loss * np.ones((len(self.times()), 1)) - + (1.0 - temperature_is_selected) * big_m - ) - / constraint_nominal, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - heat_loss_sym - - heat_loss * np.ones((len(self.times()), 1)) - - (1.0 - temperature_is_selected) * big_m - ) - / constraint_nominal, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + heat_loss_sym - heat_loss * np.ones((len(self.times()), 1)), + (1.0 - temperature_is_selected) * big_m, + constraint_nominal, ) ) else: @@ -3258,30 +3083,12 @@ class and the selected temperature in the network. big_m = 2.0 * max(heat_losses) for pc_var_name in pipe_classes.values(): pc = self.__pipe_topo_pipe_class_var[pc_var_name] - constraints.append( - ( - ( - heat_loss_sym - - heat_losses[count] * np.ones(len(self.times())) - + (1.0 - pc) * big_m * np.ones(len(self.times())) - + (1.0 - temperature_is_selected) * big_m - ) - / constraint_nominal, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - ( - heat_loss_sym - - heat_losses[count] * np.ones(len(self.times())) - - (1.0 - pc) * big_m * np.ones(len(self.times())) - - (1.0 - temperature_is_selected) * big_m - ) - / constraint_nominal, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + heat_loss_sym - heat_losses[count] * np.ones(len(self.times())), + (1.0 - pc) * big_m * np.ones(len(self.times())) + + (1.0 - temperature_is_selected) * big_m, + constraint_nominal, ) ) count += 1 @@ -3404,22 +3211,12 @@ def __heat_pump_cop_path_constraints(self, ensemble_member): + sec_sup_not_selected ) - constraints.append( - ( - (sec_heat - cop_carnot * elec + not_selected * big_m) - / nominal, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - (sec_heat - cop_carnot * elec - not_selected * big_m) - / nominal, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + sec_heat - cop_carnot * elec, not_selected * big_m, nominal ) ) + return constraints def __ates_temperature_ordering_path_constraints(self, ensemble_member): @@ -3517,35 +3314,19 @@ def __storage_hydraulic_power_path_constraints(self, ensemble_member): if self.heat_network_settings["head_loss_option"] != HeadLossOption.NO_HEADLOSS: # During charging we want a minimum pressure drop like a demand - constraints.append( - ( - (min_dp * discharge - (hp_in - hp_out) + (1.0 - is_buffer_charging) * big_m) - / big_m, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - (min_dp * discharge - (hp_in - hp_out) - (1.0 - is_buffer_charging) * big_m) - / big_m, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + min_dp * discharge - (hp_in - hp_out), + (1.0 - is_buffer_charging) * big_m, + big_m, ) ) - constraints.append( - ( - (pump_power - (hp_out - hp_in) + is_buffer_charging * big_m) / big_m, - 0.0, - np.inf, - ) - ) - constraints.append( - ( - (pump_power - (hp_out - hp_in) - is_buffer_charging * big_m) / big_m, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + pump_power - (hp_out - hp_in), + is_buffer_charging * big_m, + big_m, ) ) else: diff --git a/src/mesido/physics_mixin.py b/src/mesido/physics_mixin.py index af54d9631..836d2ae1c 100644 --- a/src/mesido/physics_mixin.py +++ b/src/mesido/physics_mixin.py @@ -241,23 +241,11 @@ def __setpoint_constraint(self, ensemble_member, component_id, windowsize_hr, se # Constraining setpoint_is_free to 1 when value of # backward_heat_rate_expression < 0, otherwise # setpoint_is_free's value can be 0 and 1 - constraints.append( - ( - (backward_heat_rate_expression[i - 1] + setpoint_is_free[i] * big_m) - / nominal, - 0.0, - np.inf, - ) - ) - # Constraining setpoint_is_free to 1 when value of - # backward_heat_rate_expression > 0, otherwise - # setpoint_is_free's value can be 0 and 1 - constraints.append( - ( - (backward_heat_rate_expression[i - 1] - setpoint_is_free[i] * big_m) - / nominal, - -np.inf, - 0.0, + constraints.extend( + self._symmetric_big_m_constraints( + backward_heat_rate_expression[i - 1], + setpoint_is_free[i] * big_m, + nominal, ) ) diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index fba151fea..0cf644f2d 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -99,7 +99,7 @@ def energy_system_options(self): # Note that we are not testing the last element as we exploit the last timestep for # checking the disabled boolean and the assert statement doesn't work for a difference of # zero - np.testing.assert_allclose(prim_heat[-1], 0.0, atol=1e-5) + np.testing.assert_allclose(prim_heat[-1], 0.0, atol=1e-4) np.testing.assert_allclose(disabled[-1], 1.0) np.testing.assert_allclose(disabled[:-1], 0.0) # Check that heat is flowing through the hex From 93089bf5fc2e419943595aa54d556328f279a86b Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Fri, 24 Apr 2026 09:23:53 +0200 Subject: [PATCH 361/376] Heat source varying temp (#330) (#341) Work done to implement the feature of allowing a variable temperature profile at the out port of a producer. This is still experimental as now the profiles are only active on the outports of producers. --- CHANGELOG.md | 1 + src/mesido/heat_physics_mixin.py | 177 +++++++++++++++--- .../input/timeseries_prod_test.csv | 46 +++++ .../model/sourcesink_prof_test.esdl | 57 ++++++ .../model/sourcesink_prof_test_2prod.esdl | 71 +++++++ tests/test_heat.py | 76 +++++++- tests/utils_tests.py | 41 +++- 7 files changed, 445 insertions(+), 24 deletions(-) create mode 100644 tests/models/source_pipe_sink/input/timeseries_prod_test.csv create mode 100644 tests/models/source_pipe_sink/model/sourcesink_prof_test.esdl create mode 100644 tests/models/source_pipe_sink/model/sourcesink_prof_test_2prod.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 8995c7afe..48d0c61a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Addition of heat buffer asset with electric charging (i.e. HeatBufferElec). - DataSource is assigned to output profiles - Generic methods to create equality and inequality constraints using big-M formulation. +- First implementation of a temperature profile for a producer. (experimental) ## Changed - Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 05754126a..c79ef3452 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -389,14 +389,22 @@ def _get_min_bound(bound): if len(temperature_regimes) == 0: temperature = temperatures["temperature"] self.__temperature_regime_var_bounds[temp_var_name] = (temperature, temperature) - elif len(temperature_regimes) == 1: - temperature = temperature_regimes[0] - self.__temperature_regime_var_bounds[temp_var_name] = (temperature, temperature) else: - self.__temperature_regime_var_bounds[temp_var_name] = ( - min(temperature_regimes), - max(temperature_regimes), - ) + if max(temperature_regimes) >= temperatures["temperature"]: + logger.error( + f"The temperature provided for carrier with name " + f"{temperatures['name']} and id {temperatures['id']} is " + f"smaller than the largest value in the temperature regime " + f"provided for this carrier, please update the esdl." + ) + if len(temperature_regimes) == 1: + temperature = temperature_regimes[0] + self.__temperature_regime_var_bounds[temp_var_name] = (temperature, temperature) + else: + self.__temperature_regime_var_bounds[temp_var_name] = ( + min(temperature_regimes), + max(temperature_regimes), + ) for temperature_regime in temperature_regimes: carrier_selected_var = carrier_id_number_mapping + f"_{temperature_regime}" @@ -1398,6 +1406,7 @@ def __source_heat_to_discharge_path_constraints(self, ensemble_member): sup_carrier = parameters[f"{s}.T_supply_id"] supply_temperatures = self.temperature_regimes(sup_carrier) + big_m = 2.0 * self.bounds()[f"{s}.HeatOut.Heat"][1] big_m = ( big_m @@ -1405,26 +1414,91 @@ def __source_heat_to_discharge_path_constraints(self, ensemble_member): else 2.0 * self.bounds()[f"{s}.Heat_source"][1] * parameters[f"{s}.T_supply"] / dt ) - if len(supply_temperatures) == 0: + # Check to see if the out carrier has a temperature profile assigned to it. + temp_out_profile, _, _, _ = self.__get_out_port_carrier_temp_profile( + parameters, s, "heat_source" + ) + + if temp_out_profile is None: + if len(supply_temperatures) == 0: + constraints.append( + ( + (heat_out - discharge * cp * rho * parameters[f"{s}.T_supply"]) + / heat_nominal, + 0.0, + 0.0, + ) + ) + else: + for supply_temperature in supply_temperatures: + sup_temperature_is_selected = self.state( + f"{sup_carrier}_{supply_temperature}" + ) + + constraints.extend( + self._symmetric_big_m_constraints( + heat_out - discharge * cp * rho * supply_temperature, + (1.0 - sup_temperature_is_selected) * big_m, + constraint_nominal, + ) + ) + + return constraints + + def __source_heat_to_discharge_variable_temp_constraints(self, ensemble_member): + """ + Adds the same type of constraints to the source as + __source_heat_to_discharge_path_constraints for cases where the out carrier + has a prescribed temperature profile. An important difference is that these + are conventional constraints, since every timestep will have a specific value. + + TODO: This has not yet been tested and developed for cases with multiple sources on the + same network and only one contains the temperature profile. With the current + implementation, all source on the same network should have this same temperature profile. + """ + + constraints = [] + parameters = self.parameters(ensemble_member) + + for s in self.energy_system_components.get("heat_source", []): + heat_nominal = parameters[f"{s}.Heat_nominal"] + cp = parameters[f"{s}.cp"] + rho = parameters[f"{s}.rho"] + dt = parameters[f"{s}.dT"] + + big_m = 2.0 * self.bounds()[f"{s}.HeatOut.Heat"][1] + big_m = ( + big_m + if big_m != np.inf + else 2.0 * self.bounds()[f"{s}.Heat_source"][1] * parameters[f"{s}.T_supply"] / dt + ) + + temp_out_profile, sup_carrier_name, temp_out_prof_start_idx, temp_out_prof_end_idx = ( + self.__get_out_port_carrier_temp_profile(parameters, s, "heat_source") + ) + + if ( + temp_out_profile is not None + ): # Case where the out carrier has a temp profile assigned to it. + heat_out_vector = self.__state_vector_scaled(f"{s}.HeatOut.Heat", ensemble_member) + discharge_vector = self.__state_vector_scaled(f"{s}.Q", ensemble_member) + constraints.append( ( - (heat_out - discharge * cp * rho * parameters[f"{s}.T_supply"]) + ( + heat_out_vector + - discharge_vector + * cp + * rho + * temp_out_profile.values[ + temp_out_prof_start_idx : temp_out_prof_end_idx + 1 + ] + ) / heat_nominal, 0.0, 0.0, ) ) - else: - for supply_temperature in supply_temperatures: - sup_temperature_is_selected = self.state(f"{sup_carrier}_{supply_temperature}") - - constraints.extend( - self._symmetric_big_m_constraints( - heat_out - discharge * cp * rho * supply_temperature, - (1.0 - sup_temperature_is_selected) * big_m, - constraint_nominal, - ) - ) return constraints @@ -1478,6 +1552,56 @@ def __cold_demand_heat_to_discharge_path_constraints(self, ensemble_member): return constraints + def __get_out_port_carrier_temp_profile(self, parameters, asset_name, asset_type): + """ + This function finds the carrier lined to the asset's out port and grabs the + temperature profile assigned to it, if there is one assigned to it. + It returns the temperature as a timeseries, the name of the carrier, and the + start and end index of the temperature profile according to the problem's timeseries + (this last one only relevant for problems that are sliced). + """ + # TODO: modify profile parser so the temperature profile is not called a price profile. + # TODO: modify this and the profile parser to incorporate the esdl option to + # use power instead of temperature. + # TODO: the start/end indices are needed for a very specific problem-times slicing case. + # Modify the way problems are sliced to remove this. + + try: + carriers = self.esdl_carriers + carriers_ids = carriers.keys() + except AttributeError: + carriers = None + carriers_ids = [] + sup_carrier_name = None + temp_out_profile = None + temp_out_prof_start_idx = None + temp_out_prof_end_idx = None + carrier_id_types = {"heat_source": ".T_supply_id", "heat_pipe": ".carrier_id"} + for carrier_id in carriers_ids: + if ( + carriers[carrier_id]["id_number_mapping"] + == parameters[f"{asset_name}{carrier_id_types[asset_type]}"] + ): + sup_carrier_name = carriers[carrier_id]["name"] + try: + temp_out_profile = self.get_timeseries(f"{sup_carrier_name}.price_profile") + temp_out_prof_start_idx = int( + np.where( + self.get_timeseries(f"{sup_carrier_name}.price_profile").times + == self.times()[0] + )[0] + ) + temp_out_prof_end_idx = int( + np.where( + self.get_timeseries(f"{sup_carrier_name}.price_profile").times + == self.times()[-1] + )[0] + ) + except KeyError: + pass + + return temp_out_profile, sup_carrier_name, temp_out_prof_start_idx, temp_out_prof_end_idx + def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): """ This function adds constraints linking the flow to the thermal power at the pipe assets. @@ -1532,7 +1656,13 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): # negative or possitive based on flowdir for heat in [scaled_heat_in, scaled_heat_out]: - if self.energy_system_options()["neglect_pipe_heat_losses"]: + temp_out_profile, _, _, _ = self.__get_out_port_carrier_temp_profile( + parameters, p, "heat_pipe" + ) + if ( + self.energy_system_options()["neglect_pipe_heat_losses"] + and temp_out_profile is None + ): temp = parameters[f"{p}.temperature"] if len(temperatures) == 0: constraints.append( @@ -1552,7 +1682,7 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): big_m, ) ) - else: + elif not self.energy_system_options()["neglect_pipe_heat_losses"]: # Note that during cold delivery the line can be colder than the ground # temperature. # In this case we have to bound the heat flowing in the line with the ground @@ -3484,6 +3614,9 @@ def constraints(self, ensemble_member): constraints.extend(self.__heat_matching_demand_insulation_constraints(ensemble_member)) constraints.extend(self.__ates_max_stored_heat_constraints(ensemble_member)) + constraints.extend( + self.__source_heat_to_discharge_variable_temp_constraints(ensemble_member) + ) return constraints diff --git a/tests/models/source_pipe_sink/input/timeseries_prod_test.csv b/tests/models/source_pipe_sink/input/timeseries_prod_test.csv new file mode 100644 index 000000000..ee57a729f --- /dev/null +++ b/tests/models/source_pipe_sink/input/timeseries_prod_test.csv @@ -0,0 +1,46 @@ +DateTime,demand,elec,heat +19-5-2013 22:00,150000,10,70 +19-5-2013 23:00,150000,10,72.0 +20-5-2013 00:00,150000,10,74 +20-5-2013 01:00,150000,10,76 +20-5-2013 02:00,150000,10,80 +20-5-2013 03:00,150000,10,82 +20-5-2013 04:00,150000,10,84 +20-5-2013 05:00,150000,10,86 +20-5-2013 06:00,150000,10,82 +20-5-2013 07:00,150000,10,80 +20-5-2013 08:00,150000,10,78 +20-5-2013 09:00,150000,10,76 +20-5-2013 10:00,150000,10,74 +20-5-2013 11:00,150000,10,70 +20-5-2013 12:00,150000,10,70 +20-5-2013 13:00,150000,10,70 +20-5-2013 14:00,100000,10,70 +20-5-2013 15:00,100000,10,70 +20-5-2013 16:00,100000,10,70 +20-5-2013 17:00,100000,10,70 +20-5-2013 18:00,100000,10,70 +20-5-2013 19:00,100000,10,70 +20-5-2013 20:00,100000,10,70 +20-5-2013 21:00,100000,10,70 +20-5-2013 22:00,100000,10,70 +20-5-2013 23:00,100000,10,70 +21-5-2013 00:00,100000,10,70 +21-5-2013 01:00,100000,10,70 +21-5-2013 02:00,100000,10,70 +21-5-2013 03:00,50000,10,70 +21-5-2013 04:00,50000,10,70 +21-5-2013 05:00,50000,10,70 +21-5-2013 06:00,50000,10,70 +21-5-2013 07:00,50000,10,70 +21-5-2013 08:00,50000,10,70 +21-5-2013 09:00,50000,10,70 +21-5-2013 10:00,50000,10,70 +21-5-2013 11:00,50000,10,70 +21-5-2013 12:00,50000,10,70 +21-5-2013 13:00,50000,10,70 +21-5-2013 14:00,50000,10,70 +21-5-2013 15:00,50000,10,70 +21-5-2013 16:00,50000,10,70 +21-5-2013 17:00,50000,10,70 +21-5-2013 18:00,50000,10,70 diff --git a/tests/models/source_pipe_sink/model/sourcesink_prof_test.esdl b/tests/models/source_pipe_sink/model/sourcesink_prof_test.esdl new file mode 100644 index 000000000..cfdf8eb8e --- /dev/null +++ b/tests/models/source_pipe_sink/model/sourcesink_prof_test.esdl @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/source_pipe_sink/model/sourcesink_prof_test_2prod.esdl b/tests/models/source_pipe_sink/model/sourcesink_prof_test_2prod.esdl new file mode 100644 index 000000000..74e38c648 --- /dev/null +++ b/tests/models/source_pipe_sink/model/sourcesink_prof_test_2prod.esdl @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_heat.py b/tests/test_heat.py index 8235ea816..96652c71a 100644 --- a/tests/test_heat.py +++ b/tests/test_heat.py @@ -97,6 +97,81 @@ def energy_system_options(self): energy_conservation_test(case, results) heat_to_discharge_test(case, results) + def test_heat_prod_profile(self): + """ + Test to ensure a carrier on the outport of a producer with a temperature profile + follows said profile. Two cases are run, the first one with just one producer + and one consumer. The second one has two producers connected in series. The main goal + of the second case is to ensure the system runs when one of the producers has a + prescribed out temperature equal to its in one (effectively bypassing it). + + Checks: + - demand matching + - energy conservation + - heat to discharge + - Checks that the temperatures coming out of the producer match the input profile. + + """ + import models.source_pipe_sink.src.double_pipe_heat as double_pipe_heat + from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink + + class Model(SourcePipeSink): + def energy_system_options(self): + options = super().energy_system_options() + options["neglect_pipe_heat_losses"] = True + + return options + + base_folder = Path(double_pipe_heat.__file__).resolve().parent.parent + + case = run_esdl_mesido_optimization( + Model, + base_folder=base_folder, + esdl_file_name="sourcesink_prof_test.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_prod_test.csv", + ) + + results = case.extract_results() + parameters = case.parameters(0) + + demand_matching_test(case, results) + energy_conservation_test(case, results) + heat_to_discharge_test(case, results) + + heat_flow_out_pipe1 = results["Pipe1.HeatOut.Heat"] + vol_flow_pipe1 = results["Pipe1.HeatIn.Q"] + cp = parameters["Pipe1.cp"] + rho = parameters["Pipe1.rho"] + temp_pipe1 = heat_flow_out_pipe1 / (cp * rho * vol_flow_pipe1) + temp_input_prof = case.get_timeseries("heat.price_profile").values + np.testing.assert_array_almost_equal(temp_pipe1, temp_input_prof) + + case = run_esdl_mesido_optimization( + Model, + base_folder=base_folder, + esdl_file_name="sourcesink_prof_test_2prod.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_prod_test.csv", + ) + + results = case.extract_results() + parameters = case.parameters(0) + + demand_matching_test(case, results) + energy_conservation_test(case, results) + heat_to_discharge_test(case, results) + + heat_flow_out_pipe1 = results["Pipe1.HeatOut.Heat"] + vol_flow_pipe1 = results["Pipe1.HeatIn.Q"] + cp = parameters["Pipe1.cp"] + rho = parameters["Pipe1.rho"] + temp_pipe1 = heat_flow_out_pipe1 / (cp * rho * vol_flow_pipe1) + temp_input_prof = case.get_timeseries("heat.price_profile").values + np.testing.assert_array_almost_equal(temp_pipe1, temp_input_prof) + class TestMinMaxPressureOptions(TestCase): import models.source_pipe_sink.src.double_pipe_heat as double_pipe_heat @@ -404,6 +479,5 @@ def test_disconnected_pipe_darcy_weisbach(self): if __name__ == "__main__": - a = TestHeat() a.test_heat_loss() diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 9b963a070..21ae6ef4a 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -7,6 +7,36 @@ import numpy as np +def __get_out_port_temp_profile(solution, asset_name, asset_type): + """ + Returns the temperature profile specified (if any) for the carrier assigned to + the carrier on the out port. + """ + + parameters = solution.parameters(0) + try: + carriers = solution.esdl_carriers + carriers_ids = carriers.keys() + except AttributeError: + carriers = None + carriers_ids = [] + sup_carrier_name = None + temp_out_profile = None + carrier_id_types = {"heat_source": ".T_supply_id", "heat_pipe": ".carrier_id"} + for carrier_id in carriers_ids: + if ( + carriers[carrier_id]["id_number_mapping"] + == parameters[f"{asset_name}{carrier_id_types[asset_type]}"] + ): + sup_carrier_name = carriers[carrier_id]["name"] + try: + temp_out_profile = solution.get_timeseries(f"{sup_carrier_name}.price_profile") + except KeyError: + pass + + return temp_out_profile + + def feasibility_test(solution): feasibility = solution.solver_stats["return_status"] @@ -162,6 +192,7 @@ def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): results[f"{d}.HeatOut.Heat"], results[f"{d}.Q"] * rho * cp * supply_t ) + supply_temp_profiles = [] for d in solution.energy_system_components.get("heat_source", []): cp = solution.parameters(0)[f"{d}.cp"] rho = solution.parameters(0)[f"{d}.rho"] @@ -175,6 +206,12 @@ def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): # return_t = solution.parameters(0)[f"{d}.T_return"] supply_t, return_t, dt = _get_component_temperatures(solution, results, d) + temp_profile = __get_out_port_temp_profile(solution, d, "heat_source") + if temp_profile is not None: + supply_t = temp_profile.values + supply_temp_profiles.append(temp_profile.values) + print(d, max(abs(results[f"{d}.HeatOut.Heat"] - results[f"{d}.Q"] * rho * cp * supply_t))) + np.testing.assert_allclose( results[f"{d}.HeatOut.Heat"], results[f"{d}.Q"] * rho * cp * supply_t, @@ -297,7 +334,9 @@ def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): rho = solution.parameters(0)[f"{p}.rho"] carrier_id = solution.parameters(0)[f"{p}.carrier_id"] indices = results[f"{p}.Q"] > 0 - if f"{carrier_id}_temperature" in results.keys(): + if supply_temp_profiles: + temperature = max(temp for prof in supply_temp_profiles for temp in prof) + elif f"{carrier_id}_temperature" in results.keys(): temperature = np.clip( results[f"{carrier_id}_temperature"][indices], solution.parameters(0)[f"{p}.T_ground"], From 672cc75ee5c90cd99f1fae757e78c49652858ebe Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Tue, 28 Apr 2026 15:11:20 +0200 Subject: [PATCH 362/376] Airco sizing test (#452) Make a test for airco to check sizing and cost calculations work. --- CHANGELOG.md | 3 +- .../wko/input/timeseries_high_cold_demand.csv | 9 +++ tests/models/wko/model/airco.esdl | 12 ++- tests/models/wko/src/example.py | 75 ++++++++++++++++++- tests/test_cold_demand.py | 57 ++++++++++---- 5 files changed, 134 insertions(+), 22 deletions(-) create mode 100644 tests/models/wko/input/timeseries_high_cold_demand.csv diff --git a/CHANGELOG.md b/CHANGELOG.md index 48d0c61a2..aeea203fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2026-04-17 +# [Unreleased-main] - 2026-04-28 ## Added - Electricity consumption calculation of geothermal assets, using the defined COP. @@ -7,6 +7,7 @@ - DataSource is assigned to output profiles - Generic methods to create equality and inequality constraints using big-M formulation. - First implementation of a temperature profile for a producer. (experimental) +- Test is added to check airco sizing and cost calculation ## Changed - Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. diff --git a/tests/models/wko/input/timeseries_high_cold_demand.csv b/tests/models/wko/input/timeseries_high_cold_demand.csv new file mode 100644 index 000000000..d82ed1a0b --- /dev/null +++ b/tests/models/wko/input/timeseries_high_cold_demand.csv @@ -0,0 +1,9 @@ +DateTime,HeatingDemand_9b90,CoolingDemand_15e8 +01-01-2019 00:00, 50000., 150000. +01-01-2019 01:00, 100000., 150000. +01-01-2019 02:00, 1200000., 150000. +01-01-2019 03:00, 2000000., 2000000. +01-01-2019 04:00, 150000., 1500000. +01-01-2019 05:00, 150000., 1000000. +01-01-2019 06:00, 150000., 500000. + diff --git a/tests/models/wko/model/airco.esdl b/tests/models/wko/model/airco.esdl index 6ef9f433b..01687bc20 100644 --- a/tests/models/wko/model/airco.esdl +++ b/tests/models/wko/model/airco.esdl @@ -1,5 +1,5 @@ - + @@ -271,10 +271,18 @@ - + + + + + + + + + diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index 0e28bbd4c..d89ad60e8 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -80,7 +80,7 @@ class MinimizeSourcesHeatGoal(Goal): over the full horizon and not per time-step. """ - priority = 3 + priority = 2 order = 1 @@ -113,6 +113,48 @@ def function( return optimization_problem.state(f"{self.source}.Heat_source") +class MinimizeInvestmentCost(Goal): + """ + Goal that minimizes the investment cost for the asset. + + The objective is computed as the asset's investment cost coefficient + multiplied by its maximum installed size. + """ + + priority = 3 + order = 1 + + def __init__(self, source): + """ + The constructor of the goal. + + Parameters + ---------- + source : string of the source name that is going to be minimized + """ + + self.source = source + self.target_max = 0.0 + self.function_range = (0.0, 2.0 * 1e6) + self.function_nominal = 1e6 + + def function(self, optimization_problem, ensemble_member): + """ + Compute the investment cost as objective. + + Parameters + ---------- + optimization_problem : The optimization class containing the variables'. + ensemble_member : the ensemble member. + + Returns + ------- + Investment cost objective value. + """ + + return optimization_problem.extra_variable(f"{self.source}__investment_cost") + + class _GoalsAndOptions: """ A goals class that we often use if we specify multiple problem classes. @@ -143,7 +185,7 @@ def path_goals(self): return goals -class HeatProblem( +class HeatColdProblem( _GoalsAndOptions, TechnoEconomicMixin, LinearizedOrderGoalProgrammingMixin, @@ -225,9 +267,36 @@ def energy_system_options(self): return options +class HeatColdProblemSizing(HeatColdProblem): + """ + Heat–cold optimization problem variant that includes asset sizing. + + This class extends the base HeatColdProblem by adding an investment + cost minimization goal for selected assets. + """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + def goals(self): + """ + Add goal to minimize the investment cost of selected asset + + Returns + ------- + Extended goals list. + """ + + goals = super().goals().copy() + for source in self.energy_system_components["airco"]: + goals.append(MinimizeInvestmentCost(source=source)) + + return goals + + if __name__ == "__main__": elect = run_optimization_problem( - HeatProblem, + HeatColdProblem, esdl_file_name="airco.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 3fbffe671..9e92992c8 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -39,7 +39,7 @@ def test_insufficient_capacity(self): """ import models.wko.src.example as example - from models.wko.src.example import HeatProblem + from models.wko.src.example import HeatColdProblem logger, logs_list = create_log_list_scaling("mesido") @@ -50,7 +50,7 @@ def test_insufficient_capacity(self): unittest.mock.patch("mesido.potential_errors.POTENTIAL_ERRORS", PotentialErrors()), ): _ = run_esdl_mesido_optimization( - HeatProblem, + HeatColdProblem, base_folder=base_folder, esdl_file_name="LT_wko_error_check.esdl", esdl_parser=ESDLFileParser, @@ -83,12 +83,12 @@ def test_cold_demand(self): """ import models.wko.src.example as example - from models.wko.src.example import HeatProblem + from models.wko.src.example import HeatColdProblem base_folder = Path(example.__file__).resolve().parent.parent heat_problem = run_esdl_mesido_optimization( - HeatProblem, + HeatColdProblem, base_folder=base_folder, esdl_file_name="LT_wko.esdl", esdl_parser=ESDLFileParser, @@ -106,37 +106,42 @@ def test_airco(self): This test is to check the basic physics for a network which includes an airco. In this case we have a network with an air-water hp, a low temperature ates and both hot and cold demand. In this case the demands are matched and the low temperature ates is utilized. + Only airco is optional. Airco sizing is done by minimization of airco investment cost Checks: 1. demand is matched 2. energy conservation in the network 3. heat to discharge + 4. variable operational and investment cost calculations + 5. airco sizing """ import models.wko.src.example as example - from models.wko.src.example import HeatProblem + from models.wko.src.example import HeatColdProblemSizing base_folder = Path(example.__file__).resolve().parent.parent heat_problem = run_esdl_mesido_optimization( - HeatProblem, + HeatColdProblemSizing, base_folder=base_folder, esdl_file_name="airco.esdl", esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, - input_timeseries_file="timeseries.csv", + input_timeseries_file="timeseries_high_cold_demand.csv", ) results = heat_problem.extract_results() parameters = heat_problem.parameters(0) name_to_id_map = heat_problem.esdl_asset_name_to_id_map hp_id = name_to_id_map["HeatPump_b97e"] + ac_id = name_to_id_map["Airco_23d6"] demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) - # Check how variable operation cost is calculated + # Check variable operation cost calculation + np.testing.assert_array_less(1e3, results[f"{hp_id}__variable_operational_cost"]) np.testing.assert_allclose( parameters[f"{hp_id}.variable_operational_cost_coefficient"] * sum(results[f"{hp_id}.Heat_source"][1:]) @@ -144,6 +149,26 @@ def test_airco(self): results[f"{hp_id}__variable_operational_cost"], ) + np.testing.assert_array_less(1e3, results[f"{ac_id}__variable_operational_cost"]) + np.testing.assert_allclose( + parameters[f"{ac_id}.variable_operational_cost_coefficient"] + * sum(results[f"{ac_id}.Heat_airco"][1:]), + results[f"{ac_id}__variable_operational_cost"], + ) + + # Check investment cost calculation + np.testing.assert_array_less(1e3, results[f"{ac_id}__investment_cost"]) + np.testing.assert_allclose( + parameters[f"{ac_id}.investment_cost_coefficient"] * results[f"{ac_id}__max_size"], + results[f"{ac_id}__investment_cost"], + ) + + # Check airco sizing + np.testing.assert_allclose( + max(results[f"{ac_id}.Heat_airco"]), + results[f"{ac_id}__max_size"], + ) + def test_wko(self): """ This test is to check the basic physics for a network which includes cold demand. In this @@ -168,13 +193,13 @@ def test_wko(self): - pipe heat losses excluded: excpect no heat losses or gains """ import models.wko.src.example as example - from models.wko.src.example import HeatProblem + from models.wko.src.example import HeatColdProblem base_folder = Path(example.__file__).resolve().parent.parent # ------------------------------------------------------------------------------------------ # Pipe heat losses inlcuded - class HeatingCoolingProblem(HeatProblem): + class HeatingCoolingProblem(HeatColdProblem): def energy_system_options(self): options = super().energy_system_options() @@ -300,11 +325,11 @@ def test_heat_cold_demand_peak_overlap(self): both peaks are on the same day. """ import models.wko.src.example as example - from models.wko.src.example import HeatProblem + from models.wko.src.example import HeatColdProblem base_folder = Path(example.__file__).resolve().parent.parent - class DiscretizationProblem(HeatProblem): + class DiscretizationProblem(HeatColdProblem): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.day_steps = 1 @@ -373,11 +398,11 @@ def test_heat_cold_demand_peak_back_to_back(self): both peaks are on consecutive days. """ import models.wko.src.example as example - from models.wko.src.example import HeatProblem + from models.wko.src.example import HeatColdProblem base_folder = Path(example.__file__).resolve().parent.parent - class DiscretizationProblem(HeatProblem): + class DiscretizationProblem(HeatColdProblem): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.day_steps = 1 @@ -446,11 +471,11 @@ def test_heat_cold_peak_before(self): the cold peak happens before the heat one. """ import models.wko.src.example as example - from models.wko.src.example import HeatProblem + from models.wko.src.example import HeatColdProblem base_folder = Path(example.__file__).resolve().parent.parent - class DiscretizationProblem(HeatProblem): + class DiscretizationProblem(HeatColdProblem): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.day_steps = 1 From fbb2f43830ae67e39af6335bb264bfc8dc3276b2 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Tue, 5 May 2026 14:36:08 +0200 Subject: [PATCH 363/376] Utils Test for Cost Calculations (#455) A new general function in utilts test is created to check all the cost components in the problem. Function can also verify objective function of the problem if required. --- tests/test_cold_demand.py | 34 +-- tests/test_elec_boiler.py | 80 ++---- tests/test_end_scenario_sizing.py | 142 ++++------ tests/test_gas_boiler.py | 66 ++--- tests/test_gas_electricity.py | 136 +++------ tests/test_max_size_and_optional_assets.py | 52 +--- tests/test_producer_profiles.py | 4 +- tests/utils_tests.py | 315 +++++++++++++++++++++ 8 files changed, 489 insertions(+), 340 deletions(-) diff --git a/tests/test_cold_demand.py b/tests/test_cold_demand.py index 9e92992c8..2158e9efa 100644 --- a/tests/test_cold_demand.py +++ b/tests/test_cold_demand.py @@ -20,7 +20,12 @@ from utils_test_scaling import create_log_list_scaling -from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test +from utils_tests import ( + cost_calculation_test, + demand_matching_test, + energy_conservation_test, + heat_to_discharge_test, +) logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) @@ -112,8 +117,9 @@ def test_airco(self): 1. demand is matched 2. energy conservation in the network 3. heat to discharge - 4. variable operational and investment cost calculations - 5. airco sizing + 4. cost calculation + 5. variable operational and investment cost calculations + 6. airco sizing """ import models.wko.src.example as example @@ -130,7 +136,6 @@ def test_airco(self): input_timeseries_file="timeseries_high_cold_demand.csv", ) results = heat_problem.extract_results() - parameters = heat_problem.parameters(0) name_to_id_map = heat_problem.esdl_asset_name_to_id_map hp_id = name_to_id_map["HeatPump_b97e"] @@ -140,28 +145,11 @@ def test_airco(self): energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) - # Check variable operation cost calculation + # Check investment cost and variable operation cost calculation np.testing.assert_array_less(1e3, results[f"{hp_id}__variable_operational_cost"]) - np.testing.assert_allclose( - parameters[f"{hp_id}.variable_operational_cost_coefficient"] - * sum(results[f"{hp_id}.Heat_source"][1:]) - / parameters[f"{hp_id}.cop"], - results[f"{hp_id}__variable_operational_cost"], - ) - np.testing.assert_array_less(1e3, results[f"{ac_id}__variable_operational_cost"]) - np.testing.assert_allclose( - parameters[f"{ac_id}.variable_operational_cost_coefficient"] - * sum(results[f"{ac_id}.Heat_airco"][1:]), - results[f"{ac_id}__variable_operational_cost"], - ) - - # Check investment cost calculation np.testing.assert_array_less(1e3, results[f"{ac_id}__investment_cost"]) - np.testing.assert_allclose( - parameters[f"{ac_id}.investment_cost_coefficient"] * results[f"{ac_id}__max_size"], - results[f"{ac_id}__investment_cost"], - ) + cost_calculation_test(heat_problem, results) # Check airco sizing np.testing.assert_allclose( diff --git a/tests/test_elec_boiler.py b/tests/test_elec_boiler.py index 0bba5ab7b..812d4f627 100644 --- a/tests/test_elec_boiler.py +++ b/tests/test_elec_boiler.py @@ -8,6 +8,7 @@ import numpy as np from utils_tests import ( + cost_calculation_test, demand_matching_test, electric_power_conservation_test, energy_conservation_test, @@ -17,40 +18,6 @@ class TestElecBoiler(TestCase): - def asset_cost_calculation_tests(self, solution, results): - # Check the cost components - for asset in [ - *solution.energy_system_components.get("heat_source", []), - ]: - esdl_asset = solution.esdl_assets[asset] - costs_esdl_asset = esdl_asset.attributes["costInformation"] - - # investment cost - investment_cost_info = costs_esdl_asset.investmentCosts.value - investment_cost = investment_cost_info * results[f"{asset}__max_size"] / 1.0e6 - np.testing.assert_allclose( - investment_cost, results[f"{asset}__investment_cost"], atol=1.0e-7 - ) - - # installation cost - installation_cost = costs_esdl_asset.installationCosts.value - np.testing.assert_allclose(installation_cost, results[f"{asset}__installation_cost"]) - - # variable operational cost - timesteps_hr = np.diff(solution.times()) / 3600.0 - variable_operational_cost = 0.0 - var_op_costs = costs_esdl_asset.variableOperationalCosts.value - for ii in range(1, len(solution.times())): - variable_operational_cost += ( - var_op_costs - * results[f"{asset}.Power_consumed"][ii] - * timesteps_hr[ii - 1] - / 1e6 - ) - np.testing.assert_allclose( - variable_operational_cost, results[f"{asset}__variable_operational_cost"] - ) - def test_elec_heat_source_elec(self): """ This tests checks the elec heat sourc elec for the standard checks and the energy @@ -60,8 +27,8 @@ def test_elec_heat_source_elec(self): 1. demand is matched 2. energy conservation in the network 3. heat to discharge - 4. energy conservation over the heat and electricity commodity - 5. ElectricBoiler cost components + 4. electric power conservation + 5. e-boiler cost calculation is checked """ import models.source_pipe_sink.src.double_pipe_heat as example from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink @@ -80,13 +47,19 @@ def test_elec_heat_source_elec(self): parameters = heat_problem.parameters(0) name_to_id_map = heat_problem.esdl_asset_name_to_id_map + e_boiler_id = name_to_id_map["ElectricBoiler_9aab"] + elec_producer_id = name_to_id_map["ElectricityProducer_4dde"] + demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) electric_power_conservation_test(heat_problem, results) - e_boiler_id = name_to_id_map["ElectricBoiler_9aab"] - elec_producer_id = name_to_id_map["ElectricityProducer_4dde"] + # Check the cost calculations of ElectricBoiler + np.testing.assert_array_less(99.0, results[f"{e_boiler_id}__investment_cost"]) + np.testing.assert_array_less(99.0, results[f"{e_boiler_id}__installation_cost"]) + np.testing.assert_array_less(10.0, results[f"{e_boiler_id}__variable_operational_cost"]) + cost_calculation_test(heat_problem, results) np.testing.assert_array_less(0.0, results[f"{e_boiler_id}.Heat_source"]) np.testing.assert_array_less(0.0, results[f"{elec_producer_id}.ElectricityOut.Power"]) @@ -95,9 +68,6 @@ def test_elec_heat_source_elec(self): results[f"{e_boiler_id}.Heat_source"], ) - # Check the cost components of ElectricBoiler - self.asset_cost_calculation_tests(heat_problem, results) - def test_heat_source_elec(self): """ This tests checks the heat sourc elec for the standard checks and the energy conservation @@ -107,8 +77,7 @@ def test_heat_source_elec(self): 1. demand is matched 2. energy conservation in the network 3. heat to discharge - 4. energy conservation over the heat and electricity commodity - 5. ElectricBoiler cost components + 4. e-boiler cost calculation is checked """ import models.source_pipe_sink.src.double_pipe_heat as example from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink @@ -126,12 +95,17 @@ def test_heat_source_elec(self): results = heat_problem.extract_results() parameters = heat_problem.parameters(0) name_to_id_map = heat_problem.esdl_asset_name_to_id_map + e_boiler_id = name_to_id_map["ElectricBoiler_9aab"] demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) - e_boiler_id = name_to_id_map["ElectricBoiler_9aab"] + # Check the cost calculations of ElectricBoiler + np.testing.assert_array_less(99.0, results[f"{e_boiler_id}__investment_cost"]) + np.testing.assert_array_less(99.0, results[f"{e_boiler_id}__installation_cost"]) + np.testing.assert_array_less(10.0, results[f"{e_boiler_id}__variable_operational_cost"]) + cost_calculation_test(heat_problem, results) np.testing.assert_array_less(0.0, results[f"{e_boiler_id}.Heat_source"]) np.testing.assert_allclose( @@ -139,9 +113,6 @@ def test_heat_source_elec(self): results[f"{e_boiler_id}.Heat_source"], ) - # Check the cost components of ElectricBoiler - self.asset_cost_calculation_tests(heat_problem, results) - def test_air_water_hp_elec(self): """ This tests checks the air-water hp elec for the standard checks and the energy conservation @@ -152,6 +123,7 @@ def test_air_water_hp_elec(self): 2. energy conservation in the network 3. heat to discharge 4. energy conservation over the commodity + 5. cost calculation is checked """ import models.source_pipe_sink.src.double_pipe_heat as example from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink @@ -169,13 +141,17 @@ def test_air_water_hp_elec(self): results = heat_problem.extract_results() parameters = heat_problem.parameters(0) name_to_id_map = heat_problem.esdl_asset_name_to_id_map + hp_id = name_to_id_map["HeatPump_d8fd"] demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) electric_power_conservation_test(heat_problem, results) - hp_id = name_to_id_map["HeatPump_d8fd"] + # Check costs of heatpump + np.testing.assert_array_less(100.0, results[f"{hp_id}__variable_operational_cost"]) + cost_calculation_test(heat_problem, results) + elec_producer_id = name_to_id_map["ElectricityProducer_4dde"] np.testing.assert_array_less(0.0, results[f"{hp_id}.Heat_source"]) np.testing.assert_array_less(0.0, results[f"{elec_producer_id}.ElectricityOut.Power"]) @@ -184,14 +160,6 @@ def test_air_water_hp_elec(self): results[f"{hp_id}.Heat_source"] + 1.0e-6, ) - # Check how variable operation cost is calculated - np.testing.assert_allclose( - parameters[f"{hp_id}.variable_operational_cost_coefficient"] - * sum(results[f"{hp_id}.Heat_source"][1:]) - / parameters[f"{hp_id}.cop"], - results[f"{hp_id}__variable_operational_cost"], - ) - if __name__ == "__main__": TestElecBoiler = TestElecBoiler() diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 869705c9b..6e0fd6775 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -19,7 +19,7 @@ from rtctools.util import run_optimization_problem -from utils_tests import demand_matching_test +from utils_tests import cost_calculation_test, demand_matching_test class TestEndScenarioSizing(TestCase): @@ -91,6 +91,7 @@ def test_end_scenario_sizing(self): Checks: - demand matching + - cost components - that the available pipe classes were adapted - minimum velocity setting - Cyclic behaviour for ATES @@ -107,12 +108,38 @@ def test_end_scenario_sizing(self): # Is the timeline correctly converted, correct peak day, correct amount of timesteps, etc. # Check whether expected assets are disabled # Check the optimal size of assets - # Check the cost breakdown, check whether all the enabled assets are in the cost breakdown # Check that computation time is within expected bounds + name_to_id_map = self.solution.esdl_asset_name_to_id_map + hp_1_id = name_to_id_map["HeatProducer_1"] + hp_2_id = name_to_id_map["HeatProducer_2"] + a_id = name_to_id_map["ATES_033c"] + ht_id = name_to_id_map["HeatStorage_74c1"] + hd_1_id = name_to_id_map["HeatingDemand_1"] + hd_2_id = name_to_id_map["HeatingDemand_2"] + hd_3_id = name_to_id_map["HeatingDemand_3"] + # Check whehter the heat demand is matched demand_matching_test(self.solution, self.results) + # Check the cost calculations + np.testing.assert_array_less(1e3, self.results[f"{hp_1_id}__investment_cost"]) + np.testing.assert_array_less(1e3, self.results[f"{hp_1_id}__installation_cost"]) + np.testing.assert_array_less(1e3, self.results[f"{hp_2_id}__investment_cost"]) + np.testing.assert_array_less(1e3, self.results[f"{hp_2_id}__installation_cost"]) + np.testing.assert_array_less(1e3, self.results[f"{hp_2_id}__variable_operational_cost"]) + np.testing.assert_array_less(1e3, self.results[f"{a_id}__investment_cost"]) + np.testing.assert_array_less(1e3, self.results[f"{a_id}__installation_cost"]) + np.testing.assert_array_less(1e3, self.results[f"{a_id}__variable_operational_cost"]) + np.testing.assert_array_less(1e3, self.results[f"{ht_id}__investment_cost"]) + np.testing.assert_array_less(1e3, self.results[f"{ht_id}__installation_cost"]) + np.testing.assert_array_less(1e3, self.results[f"{hd_1_id}__installation_cost"]) + np.testing.assert_array_less(1e3, self.results[f"{hd_2_id}__installation_cost"]) + np.testing.assert_array_less(1e3, self.results[f"{hd_3_id}__installation_cost"]) + for pipe_id in self.solution.energy_system_components.get("heat_pipe", []): + np.testing.assert_array_less(1e3, self.results[f"{pipe_id}__investment_cost"]) + cost_calculation_test(self.solution, self.results, check_objective_function=True) + # Check that indeed the available pipe classes were adapted based on expected flow # Pipe connected to a demand assert self.solution.pipe_classes("Pipe2")[0].name == "DN150" # initially DN->None @@ -140,27 +167,6 @@ def test_end_scenario_sizing(self): ) np.testing.assert_array_less(heat_flow_charging[heat_flow_discharging > 1e3], 1e3) - # Check variable operational cost of ates - timesteps_hr = np.diff(self.solution.times()) / 3600.0 - variable_operational_cost = 0.0 - for a_id in self.solution.energy_system_components.get("ates", []): - esdl_asset = self.solution.esdl_assets[a_id] - costs_esdl_asset = esdl_asset.attributes["costInformation"] - var_op_costs = costs_esdl_asset.variableOperationalCosts.value / 1.0e6 # EUR/Wh_th - self.assertNotEqual(0.0, var_op_costs) - for ii in range(1, len(self.solution.times())): - variable_operational_cost += ( - var_op_costs - * ( - self.results[f"{a_id}.Heat_flow_charging"][ii] - + self.results[f"{a_id}.Heat_flow_discharging"][ii] - ) - * timesteps_hr[ii - 1] - ) - np.testing.assert_allclose( - variable_operational_cost, self.results[f"{a_id}__variable_operational_cost"] - ) - # Check whether buffer tank is only active in peak day peak_day_indx = self.solution.parameters(0)["peak_day_index"] for b_id in self.solution.energy_system_components.get("heat_buffer", []): @@ -174,17 +180,6 @@ def test_end_scenario_sizing(self): heat_buffer, heat_flow_charging - heat_flow_discharging, atol=1.0 ) - obj = self.calculate_objective_value_end_scenario_sizing_all_optional(self.solution) - excluded_costs_in_obj = self.calculate_heat_demand_costs_end_scenario_sizing() # Fixed - # costs excluded in the optim objective function - - # Since all assets are optional, the objective value should be close to the calculated tco - # excluding heating demands. - np.testing.assert_allclose(obj / 1.0e6, self.solution.objective_value) - np.testing.assert_array_less( - self.solution.objective_value, (obj + excluded_costs_in_obj) / 1.0e6 - ) - def test_end_scenario_sizing_staged(self): """ Check if the EndScenarioSizingStagedHIGHS workflow is behaving as expected. This is an @@ -242,13 +237,41 @@ def test_end_scenario_sizing_staged(self): results = solution_staged.extract_results() + name_to_id_map = solution_staged.esdl_asset_name_to_id_map + hp_1_id = name_to_id_map["HeatProducer_1"] + hp_2_id = name_to_id_map["HeatProducer_2"] + a_id = name_to_id_map["ATES_033c"] + ht_id = name_to_id_map["HeatStorage_74c1"] + hd_1_id = name_to_id_map["HeatingDemand_1"] + hd_2_id = name_to_id_map["HeatingDemand_2"] + hd_3_id = name_to_id_map["HeatingDemand_3"] + # Check whehter the heat demand is matched demand_matching_test(solution_staged, results) + # Check the cost calculations + np.testing.assert_array_less(1e3, results[f"{hp_1_id}__investment_cost"]) + np.testing.assert_array_less(1e3, results[f"{hp_1_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{hp_2_id}__investment_cost"]) + np.testing.assert_array_less(1e3, results[f"{hp_2_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{hp_2_id}__variable_operational_cost"]) + np.testing.assert_array_less(1e3, results[f"{a_id}__investment_cost"]) + np.testing.assert_array_less(1e3, results[f"{a_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{a_id}__variable_operational_cost"]) + np.testing.assert_array_less(1e3, results[f"{ht_id}__investment_cost"]) + np.testing.assert_array_less(1e3, results[f"{ht_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{hd_1_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{hd_2_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{hd_3_id}__installation_cost"]) + for pipe_id in solution_staged.energy_system_components.get("heat_pipe", []): + np.testing.assert_array_less(1e3, results[f"{pipe_id}__investment_cost"]) + cost_calculation_test(solution_staged, results, check_objective_function=True) + # Check whether cyclic ates constraint is working for a in solution_staged.energy_system_components.get("ates", []): stored_heat = results[f"{a}.Stored_heat"] np.testing.assert_allclose(stored_heat[0], stored_heat[-1], atol=1.0) + # Check that the ATES is placed and that the size should match the single_doublet_power np.testing.assert_allclose( results[f"{a}__max_size"], @@ -269,9 +292,6 @@ def test_end_scenario_sizing_staged(self): if i < peak_day_indx or i > (peak_day_indx + 23): np.testing.assert_allclose(heat_buffer[i], 0.0, atol=1.0e-6) - obj = self.calculate_objective_value_end_scenario_sizing_all_optional(solution_staged) - np.testing.assert_allclose(obj / 1.0e6, solution_staged.objective_value) - # comparing results of staged and unstaged problem definition. For larger systems there # might be a difference in the value but that would either be a difference within the # MIPgap (thus checking best bound objective is still smaller or equal than objective of @@ -516,7 +536,7 @@ def test_end_scenario_sizing_pipe_catalog(self): np.testing.assert_equal( solution_pipe_class_cost_map.items() <= pipe_diameter_cost_map.items(), True ) - # + # Test 2: Check that the pipe classes generated by instantiating the same problem with # different esdl that does not have measures will actually use the original EDR # pipe classes. Then we are sure that (rest of the) EDR pipe classes have not been used @@ -659,52 +679,6 @@ def test_end_scenario_sizing_pipe_catalog_with_templates(self): ] np.testing.assert_allclose(cost_map_from_measures, investment_cost_specific) - def calculate_heat_demand_costs_end_scenario_sizing(self): - excluded_costs_in_obj = 0.0 # Fixed costs excluded in the optim objective function - years = self.solution.parameters(0)["number_of_years"] - for asset in [*self.solution.energy_system_components.get("heat_demand", [])]: - technical_lifetime = self.solution.parameters(0)[f"{asset}.technical_life"] - factor = years / technical_lifetime - if factor < 1.0: - factor = 1.0 - if asset in [*self.solution.energy_system_components.get("heat_demand", [])]: - excluded_costs_in_obj += ( - self.results[f"{self.solution._asset_installation_cost_map[asset]}"] * factor - ) - return excluded_costs_in_obj - - def calculate_objective_value_end_scenario_sizing_all_optional(self, solution): - # If heating demand asset's state is enabled, then exclude the costs since it is not - # part of the TCO calculation. This is because we do not size heating demand assets in - # the optimization - results = solution.extract_results() - obj = 0.0 - years = solution.parameters(0)["number_of_years"] - for asset in [ - *solution.energy_system_components.get("heat_source", []), - *solution.energy_system_components.get("ates", []), - *solution.energy_system_components.get("heat_buffer", []), - *solution.energy_system_components.get("heat_demand", []), - *solution.energy_system_components.get("heat_exchanger", []), - *solution.energy_system_components.get("heat_pump", []), - *solution.energy_system_components.get("heat_pipe", []), - ]: - asset_state = solution.esdl_assets[asset].attributes["state"] - asset_type = solution.esdl_assets[asset].asset_type - if not ( - (asset_type == "HeatingDemand") and (asset_state == esdl.AssetStateEnum.ENABLED) - ): - technical_lifetime = solution.parameters(0)[f"{asset}.technical_life"] - factor = years / technical_lifetime - if factor < 1.0: - factor = 1.0 - obj += results[f"{solution._asset_fixed_operational_cost_map[asset]}"] * years - obj += results[f"{solution._asset_variable_operational_cost_map[asset]}"] * years - obj += results[f"{solution._asset_investment_cost_map[asset]}"] * factor - obj += results[f"{solution._asset_installation_cost_map[asset]}"] * factor - - return obj - if __name__ == "__main__": import time diff --git a/tests/test_gas_boiler.py b/tests/test_gas_boiler.py index 0505ffd4a..54328ee33 100644 --- a/tests/test_gas_boiler.py +++ b/tests/test_gas_boiler.py @@ -8,45 +8,16 @@ import numpy as np -from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test +from utils_tests import ( + cost_calculation_test, + demand_matching_test, + energy_conservation_test, + heat_to_discharge_test, +) class TestGasBoiler(TestCase): - def asset_cost_calculation_tests(self, solution, results, parameters): - # Check the cost components of GasHeater - for asset_id in [ - *solution.energy_system_components.get("heat_source", []), - ]: - esdl_asset = solution.esdl_assets[asset_id] - costs_esdl_asset = esdl_asset.attributes["costInformation"] - - # investment cost - investment_cost_info = costs_esdl_asset.investmentCosts.value - investment_cost = investment_cost_info * results[f"{asset_id}__max_size"] / 1.0e6 - np.testing.assert_allclose( - investment_cost, results[f"{asset_id}__investment_cost"], atol=1.0e-7 - ) - - # installation cost - installation_cost = costs_esdl_asset.installationCosts.value - np.testing.assert_allclose(installation_cost, results[f"{asset_id}__installation_cost"]) - - # variable operational cost - timesteps_hr = np.diff(solution.times()) - variable_operational_cost = 0.0 - var_op_costs = costs_esdl_asset.variableOperationalCosts.value - for ii in range(1, len(solution.times())): - variable_operational_cost += ( - var_op_costs - * results[f"{asset_id}.Gas_demand_mass_flow"][ii] - / parameters[f"{asset_id}.density_normal"] - * timesteps_hr[ii - 1] - ) - np.testing.assert_allclose( - variable_operational_cost, results[f"{asset_id}__variable_operational_cost"] - ) - def test_gas_heat_source_gas(self): """ This tests checks the gas boiler for the standard checks and the energy conservation over @@ -56,8 +27,8 @@ def test_gas_heat_source_gas(self): 1. demand is matched 2. energy conservation in the network 3. heat to discharge - 4. energy conservation over the commodity - 5. GasHeater cost components + 4. cost calculation of gas heater is checked + 5. check pipe bounds """ import models.source_pipe_sink.src.double_pipe_heat as example @@ -86,6 +57,12 @@ def test_gas_heat_source_gas(self): energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) + # Check the cost calculations of gas heater + np.testing.assert_array_less(99.0, results[f"{gas_heater_id}__investment_cost"]) + np.testing.assert_array_less(99.0, results[f"{gas_heater_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{gas_heater_id}__variable_operational_cost"]) + cost_calculation_test(heat_problem, results) + # check energy conservation over the commodity np.testing.assert_array_less(0.0, results[f"{gas_heater_id}.Heat_source"]) np.testing.assert_array_less(0.0, results[f"{gas_producer_id}.Gas_source_mass_flow"]) @@ -106,9 +83,6 @@ def test_gas_heat_source_gas(self): parameters[f"{pipe_id}.diameter"] ** 2 / 4 * math.pi * v_max_gas, ) - # check the cost components of GasHeater - self.asset_cost_calculation_tests(heat_problem, results, parameters) - def test_heat_source_gas(self): """ This tests checks the gas boiler without gas inlet port for the standard checks @@ -118,8 +92,7 @@ def test_heat_source_gas(self): 1. demand is matched 2. energy conservation in the network 3. heat to discharge - 4. energy conservation over the commodity - 5. GasHeater cost components + 4. cost calculation of gas heater is checked """ import models.source_pipe_sink.src.double_pipe_heat as example @@ -145,6 +118,12 @@ def test_heat_source_gas(self): energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) + # Check the cost calculations of gas heater + np.testing.assert_array_less(99.0, results[f"{gas_heater_id}__investment_cost"]) + np.testing.assert_array_less(99.0, results[f"{gas_heater_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{gas_heater_id}__variable_operational_cost"]) + cost_calculation_test(solution, results) + # check energy conservation over the commodity np.testing.assert_array_less(0.0, results[f"{gas_heater_id}.Heat_source"]) np.testing.assert_array_less(0.0, results[f"{gas_heater_id}.Gas_demand_mass_flow"]) @@ -156,9 +135,6 @@ def test_heat_source_gas(self): results[f"{gas_heater_id}.Heat_source"] + 1.0e-6, ) - # Check the cost components of GasHeater - self.asset_cost_calculation_tests(solution, results, parameters) - if __name__ == "__main__": diff --git a/tests/test_gas_electricity.py b/tests/test_gas_electricity.py index 9f17cbcae..bcab0910f 100644 --- a/tests/test_gas_electricity.py +++ b/tests/test_gas_electricity.py @@ -1,8 +1,6 @@ from pathlib import Path from unittest import TestCase -from mesido.esdl.asset_to_component_base import _AssetToComponentBase -from mesido.esdl.edr_pipe_class import EDRGasPipeClass from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile from mesido.workflows.utils.error_types import NetworkErrors @@ -11,6 +9,7 @@ import numpy as np from utils_tests import ( + cost_calculation_test, demand_matching_test, electric_power_conservation_test, energy_conservation_test, @@ -37,13 +36,12 @@ def test_gas_elect(self): Checks: 1. utils test: demand_matching_test, energy_conservation_test, heat_to_discharge_test, - electric_power_conservation_test, gas_pipes_head_loss_test + electric_power_conservation_test, gas_pipes_head_loss_test, cost_calculation_test, 2. gas pipe diameter value in resulting parameters are updated with optimized values in results 3. higher heating demand require larger size of gas pipes 4. heat source energy of gas boiler is equal to consumed gas energy * efficiency 5. gas consumption is equal to production - 6. manually calculated TCO is equal to Objective function value """ import models.gas_electricity_network.src.run_gas_elect as example from models.gas_electricity_network.src.run_gas_elect import GasElectProblem @@ -62,6 +60,13 @@ def test_gas_elect(self): results = solution.extract_results() parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map + gh_1_id = name_to_id_map["GasHeater_1"] + hp_2_id = name_to_id_map["HeatPump_2"] + pipe_prod_id = name_to_id_map["Pipe_prod"] + pipe_dem_1_id = name_to_id_map["Pipe_dem_1"] + cable_prod_id = name_to_id_map["ElectricityCable_prod"] + cable_dem_2_id = name_to_id_map["ElectricityCable_dem_2"] solution_high_demand = run_optimization_problem_solver( GasElectProblem, @@ -74,20 +79,54 @@ def test_gas_elect(self): ) results_high_demand = solution_high_demand.extract_results() + name_to_id_map_high_demand = solution_high_demand.esdl_asset_name_to_id_map + gh_1_id_hd = name_to_id_map_high_demand["GasHeater_1"] + hp_2_id_hd = name_to_id_map_high_demand["HeatPump_2"] + pipe_prod_id_hd = name_to_id_map["Pipe_prod"] + pipe_dem_1_id_hd = name_to_id_map["Pipe_dem_1"] + cable_prod_id_hd = name_to_id_map["ElectricityCable_prod"] + cable_dem_2_id_hd = name_to_id_map["ElectricityCable_dem_2"] - # Test: Utils_tests demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) electric_power_conservation_test(solution, results) gas_pipes_head_loss_test(solution, results) + # Check the cost calculations + np.testing.assert_array_less(0.99, results[f"{gh_1_id}__investment_cost"]) + np.testing.assert_array_less(0.99, results[f"{gh_1_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{gh_1_id}__variable_operational_cost"]) + np.testing.assert_array_less(2.99, results[f"{hp_2_id}__investment_cost"]) + np.testing.assert_array_less(0.99, results[f"{hp_2_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{hp_2_id}__variable_operational_cost"]) + np.testing.assert_array_less(1e3, results[f"{pipe_prod_id}__investment_cost"]) + np.testing.assert_array_less(1e3, results[f"{pipe_dem_1_id}__investment_cost"]) + np.testing.assert_array_less(1e2, results[f"{cable_prod_id}__investment_cost"]) + np.testing.assert_array_less(1e2, results[f"{cable_dem_2_id}__investment_cost"]) + cost_calculation_test(solution, results, check_objective_function=True) + demand_matching_test(solution_high_demand, results_high_demand) energy_conservation_test(solution_high_demand, results_high_demand) heat_to_discharge_test(solution_high_demand, results_high_demand) electric_power_conservation_test(solution_high_demand, results_high_demand) gas_pipes_head_loss_test(solution_high_demand, results_high_demand) + # Check the cost calculations + np.testing.assert_array_less(0.99, results[f"{gh_1_id_hd}__investment_cost"]) + np.testing.assert_array_less(0.99, results[f"{gh_1_id_hd}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{gh_1_id_hd}__variable_operational_cost"]) + np.testing.assert_array_less(2.99, results[f"{hp_2_id_hd}__investment_cost"]) + np.testing.assert_array_less(0.99, results[f"{hp_2_id_hd}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{hp_2_id_hd}__variable_operational_cost"]) + np.testing.assert_array_less(1e3, results[f"{pipe_prod_id_hd}__investment_cost"]) + np.testing.assert_array_less(1e3, results[f"{pipe_dem_1_id_hd}__investment_cost"]) + np.testing.assert_array_less(1e2, results[f"{cable_prod_id_hd}__investment_cost"]) + np.testing.assert_array_less(1e2, results[f"{cable_dem_2_id_hd}__investment_cost"]) + cost_calculation_test( + solution_high_demand, results_high_demand, check_objective_function=True + ) + # Test: Check if gas pipe diameter value in resulting parameters are # updated with optimized values in results for pipe in solution.energy_system_components.get("gas_pipe", []): @@ -138,93 +177,6 @@ def test_gas_elect(self): ) np.testing.assert_allclose(total_gas_source_g, total_gas_demand_g) - # Test: Check if manually calculated TCO is equal to Objective function value - pipe_classes = [ - EDRGasPipeClass.from_edr_class( - name, edr_class_name, solution.gas_network_settings["maximum_velocity"] - ) - for name, edr_class_name in _AssetToComponentBase.STEEL_S1_PIPE_EDR_ASSETS.items() - ] - total_opex = 0.0 - total_capex = 0.0 - for asset_id in [ - *solution.energy_system_components.get("heat_source", []), - *solution.energy_system_components.get("electricity_cable", []), - *solution.energy_system_components.get("gas_pipe", []), - ]: - esdl_asset = solution.esdl_assets[f"{asset_id}"] - costs_esdl_asset = esdl_asset.attributes["costInformation"] - - # investment cost - investment_cost = 0.0 - if asset_id in [ - *solution.energy_system_components.get("heat_source", []), - *solution.energy_system_components.get("electricity_cable", []), - ]: - investment_cost_info = costs_esdl_asset.investmentCosts.value - if asset_id in solution.energy_system_components["heat_source"]: - investment_cost = investment_cost_info * results[f"{asset_id}__max_size"] / 1.0e6 - elif asset_id in solution.energy_system_components["electricity_cable"]: - investment_cost = investment_cost_info * parameters[f"{asset_id}.length"] - elif asset_id in solution.energy_system_components["gas_pipe"]: - if parameters[f"{asset_id}.diameter"] > 0: - for iter in range(len(pipe_classes)): - if pipe_classes[iter].inner_diameter == parameters[f"{asset_id}.diameter"]: - investment_cost = ( - pipe_classes[iter].investment_costs - * parameters[f"{asset_id}.length"] - ) - total_capex += investment_cost - np.testing.assert_allclose( - investment_cost, results[f"{asset_id}__investment_cost"], atol=1.0e-6 - ) - - # installation cost - if asset_id in solution.energy_system_components["heat_source"]: - if results[f"{asset_id}__max_size"] < 1e-8: - installation_cost = 0 - else: - installation_cost = costs_esdl_asset.installationCosts.value - total_capex += installation_cost - np.testing.assert_allclose( - installation_cost, results[f"{asset_id}__installation_cost"] - ) - - # variable operational cost - timesteps_hr = np.diff(solution.times()) / 3600 - variable_operational_cost = 0.0 - if asset_id in solution.energy_system_components["heat_source"]: - nominator_vector = results[f"{asset_id}.Heat_flow"] - factor = 1.0 - if asset_id in [ - *solution.energy_system_components.get("air_water_heat_pump_elec", []), - ]: - var_op_costs = costs_esdl_asset.variableOperationalCosts.value / 1.0e6 - assert var_op_costs > 0 - factor = esdl_asset.attributes["COP"] - if asset_id in [ - *solution.energy_system_components.get("gas_heat_source_gas", []), - ]: - var_op_costs = costs_esdl_asset.variableOperationalCosts.value - assert var_op_costs > 0 - nominator_vector = ( - results[f"{asset_id}.Gas_demand_mass_flow"] - / parameters[f"{asset_id}.density_normal"] - * 3600 - ) - for ii in range(1, len(solution.times())): - variable_operational_cost += ( - var_op_costs * nominator_vector[ii] * timesteps_hr[ii - 1] / factor - ) - np.testing.assert_allclose( - variable_operational_cost, results[f"{asset_id}__variable_operational_cost"] - ) - total_opex += variable_operational_cost - - np.testing.assert_allclose( - solution.objective_value, (total_capex[0] + total_opex) / 1.0e6, atol=1.0e-6 - ) - if __name__ == "__main__": diff --git a/tests/test_max_size_and_optional_assets.py b/tests/test_max_size_and_optional_assets.py index e3f73f601..f0529dd6d 100644 --- a/tests/test_max_size_and_optional_assets.py +++ b/tests/test_max_size_and_optional_assets.py @@ -7,7 +7,12 @@ import numpy as np -from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test +from utils_tests import ( + cost_calculation_test, + demand_matching_test, + energy_conservation_test, + heat_to_discharge_test, +) class TestMaxSizeAggregationCount(TestCase): @@ -58,9 +63,7 @@ def test_max_size_and_aggr_count(self): ) results = solution.extract_results() - parameters = solution.parameters(0) name_to_id_map = solution.esdl_asset_name_to_id_map - producer_1_id = name_to_id_map["HeatProducer_1"] producer_2_id = name_to_id_map["HeatProducer_2"] geo_id = name_to_id_map["GeothermalSource_50cf"] @@ -76,13 +79,10 @@ def test_max_size_and_aggr_count(self): prod_2_placed = results[f"{producer_2_id}_aggregation_count"] geo_placed = results[f"{geo_id}_aggregation_count"] var_cost_1 = results[f"{producer_1_id}__variable_operational_cost"] - var_cost_2 = results[f"{producer_2_id}__variable_operational_cost"] fix_cost_1 = results[f"{producer_1_id}__fixed_operational_cost"] - fix_cost_2 = results[f"{producer_2_id}__fixed_operational_cost"] inst_cost_1 = results[f"{producer_1_id}__installation_cost"] inst_cost_2 = results[f"{producer_2_id}__installation_cost"] inv_cost_1 = results[f"{producer_1_id}__investment_cost"] - inv_cost_2 = results[f"{producer_2_id}__investment_cost"] max_size_1 = results[f"{producer_1_id}__max_size"] max_size_2 = results[f"{producer_2_id}__max_size"] max_size_geo = results[f"{geo_id}__max_size"] @@ -113,41 +113,17 @@ def test_max_size_and_aggr_count(self): np.testing.assert_allclose(max_size_1, 0.0) np.testing.assert_allclose(max_size_geo, 0.0) - # Test that investmentcost is correctly linked to max size - np.testing.assert_allclose( - inv_cost_2, - solution.parameters(0)[f"{producer_2_id}.investment_cost_coefficient"] * max_size_2, - ) - # Test that cost only exist for 2 and not for 1. Note the tolerances # to avoid test failing when heat losses slightly change np.testing.assert_allclose(var_cost_1, 0.0, atol=1e-9) - np.testing.assert_allclose( - var_cost_2, - np.sum( - results[f"{producer_2_id}.Heat_source"][1:] - * (solution.times()[1:] - solution.times()[:-1]) - / 3600 - ) - * parameters[f"{producer_2_id}.variable_operational_cost_coefficient"], - atol=1000.0, - rtol=1.0e-2, - ) np.testing.assert_allclose(fix_cost_1, 0.0, atol=1.0e-6) - np.testing.assert_allclose( - fix_cost_2, - max_size_2 * parameters[f"{producer_2_id}.fixed_operational_cost_coefficient"], - atol=1.0e-6, - ) np.testing.assert_allclose(inst_cost_1, 0.0, atol=1e-9) np.testing.assert_allclose(inst_cost_2, 100000.0) np.testing.assert_allclose(inv_cost_1, 0.0, atol=1e-9) - np.testing.assert_allclose( - inv_cost_2, - max_size_2 * parameters[f"{producer_2_id}.investment_cost_coefficient"], - atol=1.0, - rtol=1.0e-2, - ) + np.testing.assert_array_less(1e3, results[f"{producer_2_id}__investment_cost"]) + np.testing.assert_array_less(1e3, results[f"{producer_2_id}__variable_operational_cost"]) + np.testing.assert_array_less(1e3, results[f"{producer_2_id}__fixed_operational_cost"]) + cost_calculation_test(solution, results) # Since the buffer and ates are not optional they must consume some heat to compensate # losses as the buffer has a minimum fraction volume of 5%. @@ -188,15 +164,15 @@ def test_max_size_and_aggr_count(self): ates_id = name_to_id_map["ATES_033c"] buffer_id = name_to_id_map["HeatStorage_74c1"] + demand_matching_test(solution, results) + energy_conservation_test(solution, results) + heat_to_discharge_test(solution, results) + np.testing.assert_allclose(results[f"{ates_id}.Heat_ates"], 0.0, atol=1.0e-6) np.testing.assert_allclose(results[f"{buffer_id}.Stored_heat"], 0.0, atol=1.0e-3) np.testing.assert_allclose(results[f"{ates_id}_aggregation_count"], 0.0, atol=1.0e-6) np.testing.assert_allclose(results[f"{buffer_id}_aggregation_count"], 0.0, atol=1.0e-6) - demand_matching_test(solution, results) - energy_conservation_test(solution, results) - heat_to_discharge_test(solution, results) - if __name__ == "__main__": import time diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 2a393af2b..7654ecd21 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -141,12 +141,12 @@ def goals(self): np.testing.assert_array_less( 3, np.sum( - np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-10) + np.isclose(heat_produced, heat_production_upper_limit, atol=1e-1, rtol=1e-8) ), ) np.testing.assert_array_less( np.sum( - np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-10) + np.isclose(heat_produced, heat_production_upper_limit, atol=1e-1, rtol=1e-8) ), 20, ) # checking that the upper production limit was not achieved for all entries diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 21ae6ef4a..7ffaabd0c 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -1,7 +1,13 @@ +import json +from pathlib import Path from unittest import TestCase +import esdl + from mesido._darcy_weisbach import friction_factor, head_loss from mesido.constants import GRAVITATIONAL_CONSTANT +from mesido.esdl.asset_to_component_base import _AssetToComponentBase +from mesido.esdl.edr_pipe_class import EDRGasPipeClass from mesido.head_loss_class import HeadLossOption import numpy as np @@ -635,3 +641,312 @@ def gas_pipes_head_loss_test(solution, results, atol=1e-12): np.testing.assert_allclose( results[f"{pipe}.dH"][itime], -dh_manual_linear, atol=atol ) + + +def _get_esdl_scaled_cost(cost_esdl_info, uni_enum): + """ + Scale an ESDL-defined cost to the appropriate unit basis. + + This function converts a cost value defined in ESDL to a unit-consistent + value by accounting for the `perUnit` and `perMultiplier` specified in + the ESDL. + + Parameters + ---------- + cost_esdl_info : ESDL cost object containing the cost information. + uni_enum : esdl.UnitEnum. Target unit enum. + + Returns + ------- + float + Cost value scaled to the requested unit basis. + + """ + + costs_esdl = cost_esdl_info.value if cost_esdl_info is not None else 0.0 + per_unit = ( + cost_esdl_info.profileQuantityAndUnit.perUnit + if cost_esdl_info is not None + else esdl.UnitEnum.NONE + ) + if uni_enum == per_unit: + per_multiplier = cost_esdl_info.profileQuantityAndUnit.perMultiplier + if esdl.MultiplierEnum.KILO == per_multiplier: + per_scaler = 1.0e3 + elif esdl.MultiplierEnum.MEGA == per_multiplier: + per_scaler = 1.0e6 + else: + raise RuntimeWarning(f"{per_multiplier} is not supported as unit per multiplier.") + else: # CUBIC_METRE or METRE or NONE + per_scaler = 1.0 + cost_scaled = costs_esdl / per_scaler + return cost_scaled + + +def _find_pipe_cost_in_edr(edr_pipes: dict, inner_diameter: float) -> float: + """ + Searches the EDR pipes dictionary for a Steel-S1 pipe + with the specified inner diameter and returns its investment cost. + + This function is used if the pipe is optional. + + Parameters + ---------- + edr_pipes : dict. Dictionary containing EDR pipe definitions. + inner_diameter : float. Inner diameter of the pipe. + + Returns + ------- + float. Investment cost of the matching pipe. + + """ + + for pipe_type in list(edr_pipes.keys()): + if "Steel-S1" in pipe_type: + pipe_class = edr_pipes[pipe_type] + if pipe_class["inner_diameter"] == inner_diameter: + return pipe_class["investment_costs"] + raise ValueError(f"No pipe found with inner_diameter={inner_diameter}") + + +def cost_calculation_test(solution, results, check_objective_function=False, atol=1e-8): + """ + Compute CAPEX/OPEX per asset to verify against costs in `results`. + + The test iterates over relevant assets in `solution`: + - Investment costs (including special handling for gas pipes via EDR pipe classes and + length-/size-/volume-based scaling for pipes, cables, buffers, etc.), + - Installation costs (skipped for transport assets), + - Fixed operational + maintenance costs (size-based and accumulated over technical life), + - Variable operational costs (time-integrated using timestep durations, with asset-specific + logic such as COP or fuel/flow conversions). + - Objective function contribution if `calc_objective` is True + + Parameters + ---------- + solution : object. Solved energy system model wrapper providing information. + results : dict. Dictionary with per-asset computed outputs + check_objective_function : bool. If True, validate asset contributions to objective value. + atol : float. Absolute tolerance used for numerical comparisons where applicable. + + """ + + parameters = solution.parameters(0) + transport_assets = [ + *solution.energy_system_components.get("heat_pipe", []), + *solution.energy_system_components.get("gas_pipe", []), + *solution.energy_system_components.get("electricity_cable", []), + ] + + demand_assets = [ + *solution.energy_system_components.get("heat_demand", []), + *solution.energy_system_components.get("cold_demand", []), + ] + + assets = [ + *solution.energy_system_components.get("heat_source", []), + *solution.energy_system_components.get("ates", []), + *solution.energy_system_components.get("low_temperature_ates", []), + *solution.energy_system_components.get("heat_pump", []), + *solution.energy_system_components.get("pump", []), + *solution.energy_system_components.get("heat_exchanger", []), + *solution.energy_system_components.get("heat_buffer", []), + *solution.energy_system_components.get("airco", []), + *demand_assets, + *transport_assets, + ] + + gas_pipe_classes = [ + EDRGasPipeClass.from_edr_class( + name, edr_class_name, solution.gas_network_settings["maximum_velocity"] + ) + for name, edr_class_name in _AssetToComponentBase.STEEL_S1_PIPE_EDR_ASSETS.items() + ] + + edr_pipes = json.load(open(Path(__file__).parent.parent / "src/mesido/esdl/_edr_pipes.json")) + + total_investment_cost = 0.0 + total_installation_cost = 0.0 + total_fixed_operational_cost = 0.0 + total_variable_operational_cost = 0.0 + objective = 0.0 + for asset in assets: + esdl_asset = solution.esdl_assets[asset] + costs_esdl_asset = esdl_asset.attributes["costInformation"] + if costs_esdl_asset is None: + continue + + # Investment Cost + investment_cost = 0.0 + if asset not in solution.energy_system_components.get("gas_pipe", []): + investment_cost_info = _get_esdl_scaled_cost( + costs_esdl_asset.investmentCosts, esdl.UnitEnum.WATT + ) + if asset in solution.energy_system_components.get("heat_buffer", []): + np.testing.assert_allclose( + ( + parameters[f"{asset}.investment_cost_coefficient"] + * parameters[f"{asset}.cp"] + * parameters[f"{asset}.rho"] + * parameters[f"{asset}.dT"] + ), + investment_cost_info, + ) + elif ( + asset in solution.energy_system_components.get("heat_pipe", []) + and esdl_asset.attributes["state"] == esdl.AssetStateEnum.OPTIONAL + ): + investment_cost_info = _find_pipe_cost_in_edr( + edr_pipes, parameters[f"{asset}.diameter"] + ) + else: + np.testing.assert_allclose( + parameters[f"{asset}.investment_cost_coefficient"], investment_cost_info + ) + + if asset in solution.energy_system_components.get("gas_pipe", []): + if parameters[f"{asset}.diameter"] > 0: + for iter in range(len(gas_pipe_classes)): + if gas_pipe_classes[iter].inner_diameter == parameters[f"{asset}.diameter"]: + investment_cost = ( + gas_pipe_classes[iter].investment_costs * parameters[f"{asset}.length"] + ) + elif asset in [ + *solution.energy_system_components.get("heat_pipe", []), + *solution.energy_system_components.get("electricity_cable", []), + ]: + investment_cost = investment_cost_info * parameters[f"{asset}.length"] + elif asset in solution.energy_system_components.get("heat_buffer", []): + heat_buffer_volume = results[f"{asset}__max_size"] / ( + parameters[f"{asset}.cp"] * parameters[f"{asset}.rho"] * parameters[f"{asset}.dT"] + ) + investment_cost = investment_cost_info * heat_buffer_volume + else: + investment_cost = investment_cost_info * results[f"{asset}__max_size"] + total_investment_cost += investment_cost + np.testing.assert_allclose( + investment_cost, results[f"{asset}__investment_cost"], atol=1.0e-6 + ) + + # Installation Cost + installation_cost = 0.0 + if asset in transport_assets: + np.testing.assert_allclose(0.0, results[f"{asset}__installation_cost"]) + else: + if results[f"{asset}__max_size"] > 1e-8: + installation_cost = ( + costs_esdl_asset.installationCosts.value + if costs_esdl_asset.installationCosts is not None + else 0.0 + ) + np.testing.assert_allclose(installation_cost, results[f"{asset}__installation_cost"]) + total_installation_cost += installation_cost + + # Fixed Operational Cost + fixed_operational_cost = 0.0 + if asset in transport_assets: + np.testing.assert_allclose(0.0, results[f"{asset}__fixed_operational_cost"]) + else: + fix_op_costs_esdl = _get_esdl_scaled_cost( + costs_esdl_asset.fixedOperationalCosts, esdl.UnitEnum.WATT + ) + fix_maint_costs_esdl = _get_esdl_scaled_cost( + costs_esdl_asset.fixedMaintenanceCosts, esdl.UnitEnum.WATT + ) + np.testing.assert_allclose( + parameters[f"{asset}.fixed_operational_cost_coefficient"], + fix_op_costs_esdl + fix_maint_costs_esdl, + ) + fixed_operational_cost = (fix_op_costs_esdl + fix_maint_costs_esdl) * results[ + f"{asset}__max_size" + ] + np.testing.assert_allclose( + fixed_operational_cost, results[f"{asset}__fixed_operational_cost"] + ) + total_fixed_operational_cost += fixed_operational_cost + + # Variable Operational Cost + var_op_costs_esdl = _get_esdl_scaled_cost( + costs_esdl_asset.variableOperationalCosts, esdl.UnitEnum.WATTHOUR + ) + np.testing.assert_allclose( + parameters[f"{asset}.variable_operational_cost_coefficient"], var_op_costs_esdl + ) + timesteps_hr = np.diff(solution.times()) / 3600.0 + variable_operational_cost = 0.0 + if asset in transport_assets: + np.testing.assert_allclose(0.0, results[f"{asset}__variable_operational_cost"]) + else: + denominator = 1.0 + if asset in [ + *solution.energy_system_components.get("ates", []), + *solution.energy_system_components.get("low_temperature_ates", []), + *solution.energy_system_components.get("heat_buffer", []), + ]: + nominator_vector = ( + results[f"{asset}.Heat_flow_charging"] + + results[f"{asset}.Heat_flow_discharging"] + ) + elif asset in [ + *solution.energy_system_components.get("heat_source", []), + ]: + heat_source = results[f"{asset}.Heat_source"] + + if asset in [ + *solution.energy_system_components.get("air_water_heat_pump", []), + *solution.energy_system_components.get("air_water_heat_pump_elec", []), + ]: + nominator_vector = heat_source + denominator = esdl_asset.attributes["COP"] + + elif asset in [ + *solution.energy_system_components.get("heat_source_gas", []), + *solution.energy_system_components.get("gas_heat_source_gas", []), + ]: + density_normal = parameters[f"{asset}.density_normal"] + nominator_vector = ( + results[f"{asset}.Gas_demand_mass_flow"] / density_normal * 3600.0 + ) # [Nm3/h] + elif asset in [ + *solution.energy_system_components.get("heat_source_elec", []), + *solution.energy_system_components.get("elec_heat_source_elec", []), + ]: + nominator_vector = results[f"{asset}.Power_consumed"] # [W] + else: + nominator_vector = heat_source + elif asset in solution.energy_system_components.get("airco", []): + nominator_vector = results[f"{asset}.Heat_airco"] + elif asset in demand_assets: + nominator_vector = results[f"{asset}.Heat_demand"] + else: + raise AssertionError( + f"Asset '{esdl_asset.name}' is not handled in the variable operational" + f" cost calculation of cost_calculation_test." + ) + + variable_operational_cost = sum( + var_op_costs_esdl * nominator_vector[1:] * timesteps_hr / denominator + ) + + np.testing.assert_allclose( + variable_operational_cost, results[f"{asset}__variable_operational_cost"] + ) + total_variable_operational_cost += variable_operational_cost + + if check_objective_function: + technical_lifetime = solution.parameters(0)[f"{asset}.technical_life"] + number_of_years = solution._number_of_years + if esdl_asset.attributes["state"] == esdl.AssetStateEnum.OPTIONAL: + factor = max(1.0, number_of_years / technical_lifetime) + objective += ( + (investment_cost + installation_cost) * factor + + (fixed_operational_cost + variable_operational_cost) * number_of_years + ) / 1e6 + else: + objective += ( + (fixed_operational_cost + variable_operational_cost) * number_of_years / 1e6 + ) + + # Check the objective value + if check_objective_function: + np.testing.assert_allclose(solution.objective_value, objective) From 2ab31fef808b9680c280910b8fdfbf9fe5f15150 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 7 May 2026 15:00:53 +0200 Subject: [PATCH 364/376] Ensembles - grow workflow (#458) EndScenarioSizing for ensembles has been created as inheritance class from EndScenarioSizing to allow for uncertainty modelling. It accomodates the goals being a weighted average of each ensemble and different demand profiles for different ensembles. With the explicit requirement that the first ensemble should have the largest heat demand profile. Priority 1, no longer goes to 0 for demand matching as this is partially covered by constraints. Furthermore, constraints are added that allow the selection of asset types for which the sizing has to be equal among all ensembles. --- CHANGELOG.md | 1 + src/mesido/asset_sizing_mixin.py | 24 +- src/mesido/financial_mixin.py | 12 +- .../workflows/endscenariosizing_ensemble.py | 109 + .../workflows/goals/minimize_tco_goal.py | 4 +- src/mesido/workflows/goals/rollout_goal.py | 16 +- src/mesido/workflows/grow_workflow.py | 47 +- src/mesido/workflows/io/write_output.py | 7 +- src/mesido/workflows/rollout_workflow.py | 32 +- .../input/ensemble.csv | 4 + .../input/forecast_high_prob/Warmte_test.csv | 8761 +++++++++++++++++ .../input/forecast_low_prob/Warmte_test.csv | 8761 +++++++++++++++++ .../Warmte_test.csv | 8761 +++++++++++++++++ ...rk_with_ates_with_buffer_all_optional.esdl | 2 +- .../unit_cases/case_2a_ensemble/src/run_2a.py | 2 +- tests/test_end_scenario_sizing_ensemble.py | 211 + ...est_multiple_in_and_out_port_components.py | 2 +- tests/utils_tests.py | 6 +- tox.ini | 2 +- 19 files changed, 26705 insertions(+), 59 deletions(-) create mode 100644 src/mesido/workflows/endscenariosizing_ensemble.py create mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/input/ensemble.csv create mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/input/forecast_high_prob/Warmte_test.csv create mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/input/forecast_low_prob/Warmte_test.csv create mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/input/forecast_low_prob_high_dem/Warmte_test.csv create mode 100644 tests/test_end_scenario_sizing_ensemble.py diff --git a/CHANGELOG.md b/CHANGELOG.md index aeea203fd..b3716ff48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - Generic methods to create equality and inequality constraints using big-M formulation. - First implementation of a temperature profile for a producer. (experimental) - Test is added to check airco sizing and cost calculation +- Workflow of EndScenarioSizing with demand uncertainty is added. ## Changed - Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 68889a003..afe36cb9d 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -1341,7 +1341,9 @@ def __pipe_topology_constraints(self, ensemble_member): # These are the constraints to order the discharge capabilities of the pipe classes for p, pipe_classes in self.__heat_pipe_topo_pipe_class_discharge_ordering_map.items(): - max_discharge = self.extra_variable(self._heat_pipe_topo_max_discharge_map[p]) + max_discharge = self.extra_variable( + self._heat_pipe_topo_max_discharge_map[p], ensemble_member + ) max_discharges = { pc.name: pc.maximum_discharge for pc in self._heat_pipe_topo_pipe_class_map[p] } @@ -1429,7 +1431,9 @@ def __pipe_topology_constraints(self, ensemble_member): constraints.append((sum(variables.values()), 1.0, 1.0)) # set the max discharge - max_discharge = self.extra_variable(self._heat_pipe_topo_max_discharge_map[p]) + max_discharge = self.extra_variable( + self._heat_pipe_topo_max_discharge_map[p], ensemble_member + ) max_discharges = {pc.name: pc.maximum_discharge for pc in pipe_classes} max_discharge_expr = sum( variables[pc_name] * max_discharges[pc_name] for pc_name in variables @@ -1495,7 +1499,9 @@ def __gas_pipe_topology_constraints(self, ensemble_member): # These are the constraints to order the discharge capabilities of the pipe classes for p, pipe_classes in self.__gas_pipe_topo_pipe_class_discharge_ordering_map.items(): - max_discharge = self.extra_variable(self._gas_pipe_topo_max_discharge_map[p]) + max_discharge = self.extra_variable( + self._gas_pipe_topo_max_discharge_map[p], ensemble_member + ) max_discharges = { pc.name: pc.maximum_discharge for pc in self._gas_pipe_topo_pipe_class_map[p] } @@ -1543,7 +1549,9 @@ def __gas_pipe_topology_constraints(self, ensemble_member): constraints.append((sum(variables.values()), 1.0, 1.0)) # set the max discharge - max_discharge = self.extra_variable(self._gas_pipe_topo_max_discharge_map[p]) + max_discharge = self.extra_variable( + self._gas_pipe_topo_max_discharge_map[p], ensemble_member + ) max_discharges = {pc.name: pc.maximum_discharge for pc in pipe_classes} max_discharge_expr = sum( variables[pc_name] * max_discharges[pc_name] for pc_name in variables @@ -1612,7 +1620,9 @@ def __electricity_cable_topology_constraints(self, ensemble_member): c, cable_classes, ) in self.__electricity_cable_topo_cable_class_current_ordering_map.items(): - max_current = self.extra_variable(self._electricity_cable_topo_max_current_map[c]) + max_current = self.extra_variable( + self._electricity_cable_topo_max_current_map[c], ensemble_member + ) max_currents = { cc.name: cc.maximum_current for cc in self._electricity_cable_topo_cable_class_map[c] @@ -1664,7 +1674,9 @@ def __electricity_cable_topology_constraints(self, ensemble_member): constraints.append((sum(variables.values()), 1.0, 1.0)) # set the max discharge - max_current = self.extra_variable(self._electricity_cable_topo_max_current_map[c]) + max_current = self.extra_variable( + self._electricity_cable_topo_max_current_map[c], ensemble_member + ) max_currents = {cc.name: cc.maximum_current for cc in cable_classes} max_current_expr = sum( variables[cc_name] * max_currents[cc_name] for cc_name in variables diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index c26f10f18..713bd567b 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -1276,7 +1276,7 @@ def __installation_cost_constraints(self, ensemble_member): # no support for joints right now continue installation_cost_sym = self.extra_variable( - self._asset_installation_cost_map[asset_name] + self._asset_installation_cost_map[asset_name], ensemble_member ) nominal = self.variable_nominal(self._asset_installation_cost_map[asset_name]) installation_cost = parameters[f"{asset_name}.installation_cost"] @@ -1422,15 +1422,15 @@ def __cumulative_capex_made_in_eur_constraints(self, ensemble_member): time_start = i * 3600 * 8760 time_end = (i + 1) * 3600 * 8760 var_name = self.__cumulative_investments_made_in_eur_map[asset][i] - cumulative_investments_made = self.extra_variable(var_name) + cumulative_investments_made = self.extra_variable(var_name, ensemble_member) nominal = self.variable_nominal(var_name) var_name = self._asset_is_realized_map[asset][i] - asset_is_realized = self.extra_variable(var_name) + asset_is_realized = self.extra_variable(var_name, ensemble_member) installation_cost_sym = self.extra_variable( - self._asset_installation_cost_map[asset] + self._asset_installation_cost_map[asset], ensemble_member ) investment_cost_sym = self.extra_variable( - self._asset_investment_cost_map[asset] + self._asset_investment_cost_map[asset], ensemble_member ) big_m = ( @@ -1540,7 +1540,7 @@ def __annualized_capex_constraints(self, ensemble_member): continue symbol_name = self._annualized_capex_var_map[asset_name] - symbol = self.extra_variable(symbol_name) + symbol = self.extra_variable(symbol_name, ensemble_member) investment_cost_symbol_name = self._asset_investment_cost_map[asset_name] investment_cost_symbol = self.extra_variable( diff --git a/src/mesido/workflows/endscenariosizing_ensemble.py b/src/mesido/workflows/endscenariosizing_ensemble.py new file mode 100644 index 000000000..22a54098d --- /dev/null +++ b/src/mesido/workflows/endscenariosizing_ensemble.py @@ -0,0 +1,109 @@ +from mesido.workflows import EndScenarioSizingStaged + +import numpy as np + + +class EndScenarioSizingStagedEnsemble( + EndScenarioSizingStaged, +): + # currently the goals are as in endscenariosizing, however, state goals are ensemble_member + # independent. + # TODO: for robustness the demand matching goals should be reviewed. + + csv_ensemble_mode = True + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + self._heat_pipes_fixed_size = True + self._asset_types_fixed_size = kwargs.get( + "_asset_types_fixed_size", ["heat_source", "ates", "heat_buffer"] + ) + self._asset_subtypes_not_included_fixed_size = kwargs.get( + "_asset_subtypes_not_included_fixed_size", ["geothermal"] + ) + + def goals(self): + goals = super().goals().copy() + + return goals + + def __fixed_max_size_assets(self): + constraints = [] + sub_asset_not_included = [ + asset + for asset_type in self._asset_subtypes_not_included_fixed_size + for asset in self.energy_system_components.get(asset_type, []) + ] + for asset_type in self._asset_types_fixed_size: + for asset in self.energy_system_components.get(asset_type, []): + if asset not in sub_asset_not_included: + max_size_0 = self.extra_variable(f"{asset}__max_size", ensemble_member=0) + aggregation_0 = self.get_aggregation_count_var(asset, 0) + for e_m in range(self.ensemble_size - 1): + max_size = self.extra_variable( + f"{asset}__max_size", ensemble_member=e_m + 1 + ) + constraints.append((max_size - max_size_0, 0.0, 0.0)) + aggregation = self.get_aggregation_count_var(asset, e_m + 1) + constraints.append((aggregation - aggregation_0, 0.0, 0.0)) + return constraints + + def __fixed_max_size_pipes(self): + constraints = [] + set_self_hot_pipes = set(self.hot_pipes) + for heat_pipe in self.energy_system_components["heat_pipe"]: + if heat_pipe in self._heat_pipe_topo_pipe_class_map.keys(): + pipe_classes = self._heat_pipe_topo_pipe_class_map[heat_pipe] + for pc in pipe_classes: + neighbour = self.has_related_pipe(heat_pipe) + if neighbour and heat_pipe not in set_self_hot_pipes: + var_name = f"{self.cold_to_hot_pipe(heat_pipe)}__hn_pipe_class_{pc.name}" + else: + var_name = f"{heat_pipe}__hn_pipe_class_{pc.name}" + max_size_0 = self.extra_variable(var_name, ensemble_member=0) + for e_m in range(self.ensemble_size - 1): + max_size = self.extra_variable(var_name, ensemble_member=e_m + 1) + constraints.append((max_size - max_size_0, 0.0, 0.0)) + return constraints + + def __update_target_demand_constraint(self, ensemble_member): + """ + This constraint method adds upper limits to the demand heat production based on the + target of a specific ensemble. This requires the first ensemble to always have the + timeseries with the largest values as the goals are only dependent on the first ensemble. + """ + constraints = [] + for demand in self.energy_system_components["heat_demand"]: + target_0 = np.asarray(self.get_timeseries(f"{demand}.target_heat_demand", 0).values) + target = np.asarray( + self.get_timeseries(f"{demand}.target_heat_demand", ensemble_member).values + ) + if any(target > target_0): + exit( + f"Target demand of ensemble {ensemble_member} for demand " + f"{self.esdl_asset_id_to_name_map[demand]} is larger than the target demand " + f"of ensemble 0. Please ensure that the first ensemble has the largest " + f"target demand timeseries as the demand matching goals are only dependend " + f"on the first ensemble." + ) + + var = self.state_vector(f"{demand}.Heat_demand", ensemble_member=ensemble_member) + nom = self.variable_nominal(f"{demand}.Heat_demand") + + constraints.append((var * nom / nom, 0.0, target / nom)) + return constraints + + def constraints(self, ensemble_member): + constraints = super().constraints(ensemble_member).copy() + constraints.extend(self.__fixed_max_size_assets()) + if self._heat_pipes_fixed_size: + constraints.extend(self.__fixed_max_size_pipes()) + constraints.extend(self.__update_target_demand_constraint(ensemble_member)) + + return constraints + + def path_constraints(self, ensemble_member): + constraints = super().path_constraints(ensemble_member).copy() + + return constraints diff --git a/src/mesido/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py index f04fd46a6..824b31d10 100644 --- a/src/mesido/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -157,7 +157,9 @@ def _calculate_cost( factor = self.number_of_years / technical_lifetime if factor < 1.0: factor = 1.0 - extra_var = optimization_problem.extra_variable(cost_type_map[asset]) + extra_var = optimization_problem.extra_variable( + cost_type_map[asset], ensemble_member=ensemble_member + ) # For the GROW workflow, we do not add any costs for the asset HeatingDemand in the # TCO minimization calculation since this is not sized. Thus, we need to exclude diff --git a/src/mesido/workflows/goals/rollout_goal.py b/src/mesido/workflows/goals/rollout_goal.py index 063a8e5a8..bf536e371 100644 --- a/src/mesido/workflows/goals/rollout_goal.py +++ b/src/mesido/workflows/goals/rollout_goal.py @@ -101,7 +101,9 @@ def capex_assets(self, optimization_problem, ensemble_member): for asset_name in optimization_problem.energy_system_components.get(asset_type, []): tech_lifetime = parameters[f"{asset_name}.technical_life"] if asset_type == "heat_pipe": - is_placed = optimization_problem.get_asset_is__realized_symbols(asset_name) + is_placed = optimization_problem.get_asset_is__realized_symbols( + asset_name, ensemble_member + ) investment_cost_coeff = bounds[f"{asset_name}__hn_cost"][1] length = parameters[f"{asset_name}.length"] @@ -109,7 +111,9 @@ def capex_assets(self, optimization_problem, ensemble_member): costs = investment_cost_coeff * length else: # Yearly depreciation for all assets based on total investment + installation - is_placed = optimization_problem.get_asset_fraction__placed_symbols(asset_name) + is_placed = optimization_problem.get_asset_fraction__placed_symbols( + asset_name, ensemble_member + ) investment_cost_coeff = parameters[f"{asset_name}.investment_cost_coefficient"] installation_cost = parameters[f"{asset_name}.installation_cost"] size = bounds[optimization_problem._asset_max_size_map[asset_name]][1] @@ -156,15 +160,17 @@ def fixed_operational_costs(self, optimization_problem, ensemble_member: int) -> if asset_type != "heat_pipe": for source in optimization_problem.energy_system_components.get(asset_type, []): obj += self.fixed_opex_of_asset( - optimization_problem, source, bounds, parameters + optimization_problem, source, bounds, parameters, ensemble_member ) return obj - def fixed_opex_of_asset(self, optimization_problem, asset_name, bounds, parameters): + def fixed_opex_of_asset( + self, optimization_problem, asset_name, bounds, parameters, ensemble_member + ): obj = 0 - is_placed = optimization_problem.get_asset_is__realized_symbols(asset_name) + is_placed = optimization_problem.get_asset_is__realized_symbols(asset_name, ensemble_member) fixed_operational_cost_coeff = parameters[ f"{asset_name}.fixed_operational_cost_coefficient" ] diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 6582eac12..7d0ee635f 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -76,13 +76,17 @@ def _mip_gap_settings(mip_gap_name: str, problem) -> Dict[str, float]: """Creating the same MIP gap settings for all solvers.""" options = {} - if hasattr(problem, "_stage"): - if problem._stage == 1: - options[mip_gap_name] = 0.005 + if hasattr(problem, "_EndScenarioSizing__priority"): + if problem._EndScenarioSizing__priority == 1: + options[mip_gap_name] = 1e-5 else: - options[mip_gap_name] = 0.01 - else: - options[mip_gap_name] = 0.02 + if hasattr(problem, "_stage"): + if problem._stage == 1: + options[mip_gap_name] = 0.005 + else: + options[mip_gap_name] = 0.01 + else: + options[mip_gap_name] = 0.02 return options @@ -474,7 +478,8 @@ def priority_completed(self, priority): self.solver_stats, ) ) - if priority == 1 and self.objective_value > 1e-6: + + if priority == 1 and self.objective_value > 1e-6 and not self.csv_ensemble_mode: results = self.extract_results() self.__heat_demand_match_check(results) raise RuntimeError("The heating demand is not matched") @@ -500,8 +505,6 @@ def post(self): ) super().post() - results = self.extract_results() - parameters = self.parameters(0) # bounds = self.bounds() # Optimized ESDL # Assume there are either no stages (write updated ESDL) or a maximum of 2 stages @@ -531,22 +534,28 @@ def post(self): logger.error("Unkown error occured when evaluating self._stage for _write_updated_esdl") sys.exit(1) - self.__heat_demand_match_check(results) + for e_m in range(self.ensemble_size): + results = self.extract_results(e_m) + parameters = self.parameters(e_m) + + self.__heat_demand_match_check(results, e_m) - if os.path.exists(self.output_folder) and self._save_json: - bounds = self.bounds() - aliases = self.alias_relation._canonical_variables_map - solver_stats = self.solver_stats - self._write_json_output(results, parameters, bounds, aliases, solver_stats) + if os.path.exists(self.output_folder) and self._save_json: + bounds = self.bounds() + aliases = self.alias_relation._canonical_variables_map + solver_stats = self.solver_stats + self._write_json_output(results, parameters, bounds, aliases, solver_stats, e_m) - def __heat_demand_match_check(self, results): - parameters = self.parameters(0) + def __heat_demand_match_check(self, results, e_m=0): + parameters = self.parameters(e_m) id_to_name_map = self.esdl_asset_id_to_name_map for d in self.energy_system_components.get("heat_demand", []): realized_demand = results[f"{d}.Heat_demand"] - target = self.get_timeseries(f"{d}.target_heat_demand").values + target = self.get_timeseries(f"{d}.target_heat_demand", ensemble_member=e_m).values parameters[f"{d}.target_heat_demand"] = target.tolist() - timesteps = np.diff(self.get_timeseries(f"{d}.target_heat_demand").times) + timesteps = np.diff( + self.get_timeseries(f"{d}.target_heat_demand", ensemble_member=e_m).times + ) delta_energy = np.sum((target - realized_demand)[1:] * timesteps / 1.0e9) if delta_energy >= 1.0: logger.warning( diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 4fd1ae730..439aa33bf 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -1088,7 +1088,7 @@ def _write_updated_esdl( if not optimizer_sim: pipe_class = self.get_optimized_pipe_class(pipe) - if parameters[f"{pipe}.diameter"] != 0.0 or any(np.abs(results[f"{pipe}.Q"]) > 1.0e-9): + if parameters[f"{pipe}.diameter"] != 0.0 or any(np.abs(results[f"{pipe}.Q"]) > 1.0e-6): # if not isinstance(pipe_class, EDRPipeClass): # assert pipe_class.name == f"{pipe}_orig" # continue @@ -1643,6 +1643,7 @@ def _write_json_output( bounds: Union[AliasDict, Dict], aliases: OrderedDict, solver_stats: Dict, + ensemble_member: int, ): """ The results, parameters, bounds are saved as json files which can be used for further @@ -1656,7 +1657,9 @@ def _write_json_output( :return: """ - workdir = self.output_folder + workdir = os.path.join(self.output_folder, f"{ensemble_member}") + if not os.path.exists(workdir): + os.mkdir(workdir) parameters_dict = dict() parameter_path = os.path.join(workdir, "parameters.json") diff --git a/src/mesido/workflows/rollout_workflow.py b/src/mesido/workflows/rollout_workflow.py index bab4bc6f3..89bd81b0f 100644 --- a/src/mesido/workflows/rollout_workflow.py +++ b/src/mesido/workflows/rollout_workflow.py @@ -347,7 +347,7 @@ def __yearly_asset_is_placed_constraints(self, ensemble_member): constraints = [] for asset, _asset_is_placed_var in self._asset_is_realized_map.items(): - asset_is_placed_vector = self.get_asset_is__realized_symbols(asset) + asset_is_placed_vector = self.get_asset_is__realized_symbols(asset, ensemble_member) constraints.append( ( @@ -358,7 +358,9 @@ def __yearly_asset_is_placed_constraints(self, ensemble_member): ) for asset, _asset_fraction_placed_var in self._asset_fraction_placed_map.items(): - asset_fraction_placed_vector = self.get_asset_fraction__placed_symbols(asset) + asset_fraction_placed_vector = self.get_asset_fraction__placed_symbols( + asset, ensemble_member + ) constraints.append( ( (asset_fraction_placed_vector[1:] - asset_fraction_placed_vector[:-1]), @@ -371,8 +373,8 @@ def __yearly_asset_is_placed_constraints(self, ensemble_member): asset, _asset_fraction_placed_name, ) in self._asset_fraction_placed_map.items(): - asset_fraction_placed = self.get_asset_fraction__placed_symbols(asset) - asset_is_placed_name = self.get_asset_is__realized_symbols(asset) + asset_fraction_placed = self.get_asset_fraction__placed_symbols(asset, ensemble_member) + asset_is_placed_name = self.get_asset_is__realized_symbols(asset, ensemble_member) constraints.append((asset_is_placed_name - asset_fraction_placed, -np.inf, 0.0)) return constraints @@ -394,7 +396,9 @@ def __demand_matching_constraints(self, ensemble_member): end_index += 1 else: demand_states = demand_states[:-1] - asset_is_realized = self.extra_variable(f"{d}__asset_is_realized_{year}") + asset_is_realized = self.extra_variable( + f"{d}__asset_is_realized_{year}", ensemble_member + ) # demand matching constraints.append( ( @@ -415,7 +419,7 @@ def __all_demands_placed_constraints(self, ensemble_member): constraints = [] for d in self.energy_system_components.get("heat_demand", []): - asset_realized_vector = self.get_asset_is__realized_symbols(d) + asset_realized_vector = self.get_asset_is__realized_symbols(d, ensemble_member) # ensure asset is placed at end of optimization constraints.append((asset_realized_vector[-1], 1.0, 1.0)) @@ -443,7 +447,7 @@ def __yearly_investment_constraints(self, ensemble_member): for asset in self.energy_system_components.get(asset_type, []): # cumulative_investements_made does not yet cather for fraction_placed cumulative_inv = self.extra_variable( - f"{asset}__cumulative_investments_made_in_eur_year_{y}" + f"{asset}__cumulative_investments_made_in_eur_year_{y}", ensemble_member ) cumulative_capex += cumulative_inv @@ -477,7 +481,9 @@ def __yearly_pipe_length_constraints(self, ensemble_member): for y in range(self._years): cumulative_pipe_length = 0 for p in self.energy_system_components.get("heat_pipe", []): - pipe_placement = self.extra_variable(self._asset_is_realized_map[p][y]) + pipe_placement = self.extra_variable( + self._asset_is_realized_map[p][y], ensemble_member + ) pipe_length = parameters[f"{p}.length"] cumulative_pipe_length += pipe_placement * pipe_length used_length_year = cumulative_pipe_length - total_length @@ -510,7 +516,7 @@ def __minimum_operational_constraints(self, ensemble_member): f"The function {self.__minimum_operational_constraints.__name__} is not tested yet." ) - geo_is_placed = self.get_asset_is__realized_symbols(asset) + geo_is_placed = self.get_asset_is__realized_symbols(asset, ensemble_member) heat_produced = self.__state_vector_scaled(f"{asset}.Heat_source", ensemble_member) max_heat = bounds[f"{asset}.Heat_source"][1] max_heat_year = max_heat * 8760 # 8760 hours in a year @@ -632,14 +638,14 @@ def path_constraints(self, ensemble_member): return constraints - def get_asset_is__realized_symbols(self, asset_name): + def get_asset_is__realized_symbols(self, asset_name, ensemble_member): symbols = [f"{asset_name}__asset_is_realized_{year}" for year in range(self._years)] - return self.extra_variable_vector(symbols, 0) + return self.extra_variable_vector(symbols, ensemble_member) - def get_asset_fraction__placed_symbols(self, asset_name): + def get_asset_fraction__placed_symbols(self, asset_name, ensemble_member): symbols = [f"{asset_name}__fraction_placed_{year}" for year in range(self._years)] - return self.extra_variable_vector(symbols, 0) + return self.extra_variable_vector(symbols, ensemble_member) def extra_variable_vector(self, symbols, ensemble_member): states = [] diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/input/ensemble.csv b/tests/models/test_case_small_network_ates_buffer_optional_assets/input/ensemble.csv new file mode 100644 index 000000000..63063ef89 --- /dev/null +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/input/ensemble.csv @@ -0,0 +1,4 @@ +Unnamed: 0,name,probability +0,forecast_low_prob_high_dem,0.1 +1,forecast_high_prob,0.6 +2,forecast_low_prob,0.3 diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/input/forecast_high_prob/Warmte_test.csv b/tests/models/test_case_small_network_ates_buffer_optional_assets/input/forecast_high_prob/Warmte_test.csv new file mode 100644 index 000000000..2f8f5fbbf --- /dev/null +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/input/forecast_high_prob/Warmte_test.csv @@ -0,0 +1,8761 @@ +DateTime,HeatingDemand_1,HeatingDemand_2,HeatingDemand_3 +1-1-2019 00:00,486811.32,226606.7,226606.7 +1-1-2019 01:00,486696.76,226553.36,226553.36 +1-1-2019 02:00,510651.96,237704.34,237704.34 +1-1-2019 03:00,715027.92,332839.66,332839.66 +1-1-2019 04:00,893322.08,415834.12,415834.12 +1-1-2019 05:00,989320.64,460520.68,460520.68 +1-1-2019 06:00,1127108.24,524659.72,524659.72 +1-1-2019 07:00,3416599.04,1590399.04,1590399.04 +1-1-2019 08:00,4087582.4,1902736.16,1902736.16 +1-1-2019 09:00,5759533.44,2681015.84,2681015.84 +1-1-2019 10:00,4662851.2,2170519.04,2170519.04 +1-1-2019 11:00,1992970.88,927711.68,927711.68 +1-1-2019 12:00,2259119.68,1051601.84,1051601.84 +1-1-2019 13:00,1880074.08,875159.2,875159.2 +1-1-2019 14:00,1744167.68,811895.84,811895.84 +1-1-2019 15:00,2708684.16,1260870.4,1260870.4 +1-1-2019 16:00,3138867.52,1461117.12,1461117.12 +1-1-2019 17:00,2669267.36,1242522.08,1242522.08 +1-1-2019 18:00,6723284.48,3129633.92,3129633.92 +1-1-2019 19:00,4774974.72,2222711.68,2222711.68 +1-1-2019 20:00,3312878.4,1542117.92,1542117.92 +1-1-2019 21:00,3040562.88,1415357.12,1415357.12 +1-1-2019 22:00,1634692.32,760935.84,760935.84 +1-1-2019 23:00,478077,222540.96,222540.96 +2-1-2019 00:00,486811.32,226606.7,226606.7 +2-1-2019 01:00,486696.76,226553.36,226553.36 +2-1-2019 02:00,510651.96,237704.34,237704.34 +2-1-2019 03:00,715027.92,332839.66,332839.66 +2-1-2019 04:00,893322.08,415834.12,415834.12 +2-1-2019 05:00,989320.64,460520.68,460520.68 +2-1-2019 06:00,1127108.24,524659.72,524659.72 +2-1-2019 07:00,3416599.04,1590399.04,1590399.04 +2-1-2019 08:00,4087582.4,1902736.16,1902736.16 +2-1-2019 09:00,5759533.44,2681015.84,2681015.84 +2-1-2019 10:00,4662851.2,2170519.04,2170519.04 +2-1-2019 11:00,1992970.88,927711.68,927711.68 +2-1-2019 12:00,2259119.68,1051601.84,1051601.84 +2-1-2019 13:00,1880074.08,875159.2,875159.2 +2-1-2019 14:00,1744167.68,811895.84,811895.84 +2-1-2019 15:00,2708684.16,1260870.4,1260870.4 +2-1-2019 16:00,3138867.52,1461117.12,1461117.12 +2-1-2019 17:00,2669267.36,1242522.08,1242522.08 +2-1-2019 18:00,6723284.48,3129633.92,3129633.92 +2-1-2019 19:00,4774974.72,2222711.68,2222711.68 +2-1-2019 20:00,3312878.4,1542117.92,1542117.92 +2-1-2019 21:00,3040562.88,1415357.12,1415357.12 +2-1-2019 22:00,1634692.32,760935.84,760935.84 +2-1-2019 23:00,478077,222540.96,222540.96 +3-1-2019 00:00,486811.32,226606.7,226606.7 +3-1-2019 01:00,486696.76,226553.36,226553.36 +3-1-2019 02:00,510651.96,237704.34,237704.34 +3-1-2019 03:00,715027.92,332839.66,332839.66 +3-1-2019 04:00,893322.08,415834.12,415834.12 +3-1-2019 05:00,989320.64,460520.68,460520.68 +3-1-2019 06:00,1127108.24,524659.72,524659.72 +3-1-2019 07:00,3416599.04,1590399.04,1590399.04 +3-1-2019 08:00,4087582.4,1902736.16,1902736.16 +3-1-2019 09:00,5759533.44,2681015.84,2681015.84 +3-1-2019 10:00,4662851.2,2170519.04,2170519.04 +3-1-2019 11:00,1992970.88,927711.68,927711.68 +3-1-2019 12:00,2259119.68,1051601.84,1051601.84 +3-1-2019 13:00,1880074.08,875159.2,875159.2 +3-1-2019 14:00,1744167.68,811895.84,811895.84 +3-1-2019 15:00,2708684.16,1260870.4,1260870.4 +3-1-2019 16:00,3138867.52,1461117.12,1461117.12 +3-1-2019 17:00,2669267.36,1242522.08,1242522.08 +3-1-2019 18:00,6723284.48,3129633.92,3129633.92 +3-1-2019 19:00,4774974.72,2222711.68,2222711.68 +3-1-2019 20:00,3312878.4,1542117.92,1542117.92 +3-1-2019 21:00,3040562.88,1415357.12,1415357.12 +3-1-2019 22:00,1634692.32,760935.84,760935.84 +3-1-2019 23:00,478077,222540.96,222540.96 +4-1-2019 00:00,486811.32,226606.7,226606.7 +4-1-2019 01:00,486696.76,226553.36,226553.36 +4-1-2019 02:00,510651.96,237704.34,237704.34 +4-1-2019 03:00,715027.92,332839.66,332839.66 +4-1-2019 04:00,893322.08,415834.12,415834.12 +4-1-2019 05:00,989320.64,460520.68,460520.68 +4-1-2019 06:00,1127108.24,524659.72,524659.72 +4-1-2019 07:00,3416599.04,1590399.04,1590399.04 +4-1-2019 08:00,4087582.4,1902736.16,1902736.16 +4-1-2019 09:00,5759533.44,2681015.84,2681015.84 +4-1-2019 10:00,4662851.2,2170519.04,2170519.04 +4-1-2019 11:00,1992970.88,927711.68,927711.68 +4-1-2019 12:00,2259119.68,1051601.84,1051601.84 +4-1-2019 13:00,1880074.08,875159.2,875159.2 +4-1-2019 14:00,1744167.68,811895.84,811895.84 +4-1-2019 15:00,2708684.16,1260870.4,1260870.4 +4-1-2019 16:00,3138867.52,1461117.12,1461117.12 +4-1-2019 17:00,2669267.36,1242522.08,1242522.08 +4-1-2019 18:00,6723284.48,3129633.92,3129633.92 +4-1-2019 19:00,4774974.72,2222711.68,2222711.68 +4-1-2019 20:00,3312878.4,1542117.92,1542117.92 +4-1-2019 21:00,3040562.88,1415357.12,1415357.12 +4-1-2019 22:00,1634692.32,760935.84,760935.84 +4-1-2019 23:00,478077,222540.96,222540.96 +5-1-2019 00:00,467419.6,217580.02,217580.02 +5-1-2019 01:00,469400.84,218502.26,218502.26 +5-1-2019 02:00,460506.12,214361.84,214361.84 +5-1-2019 03:00,478082.36,222543.46,222543.46 +5-1-2019 04:00,677331.68,315292.36,315292.36 +5-1-2019 05:00,811555.92,377772.64,377772.64 +5-1-2019 06:00,911358.64,424230,424230 +5-1-2019 07:00,1782708.16,829836.08,829836.08 +5-1-2019 08:00,3525098.24,1640904.48,1640904.48 +5-1-2019 09:00,7112772.48,3310937.6,3310937.6 +5-1-2019 10:00,7306648.32,3401184.96,3401184.96 +5-1-2019 11:00,3293434.88,1533067.2,1533067.2 +5-1-2019 12:00,3037492.8,1413928,1413928 +5-1-2019 13:00,2200487.52,1024309.12,1024309.12 +5-1-2019 14:00,2014431.68,937701.44,937701.44 +5-1-2019 15:00,2777007.68,1292674.4,1292674.4 +5-1-2019 16:00,2979665.28,1387010.08,1387010.08 +5-1-2019 17:00,2989072,1391388.64,1391388.64 +5-1-2019 18:00,3030518.08,1410681.44,1410681.44 +5-1-2019 19:00,3063018.56,1425810.24,1425810.24 +5-1-2019 20:00,3078996.48,1433247.68,1433247.68 +5-1-2019 21:00,2419815.84,1126404.56,1126404.56 +5-1-2019 22:00,1046864,487306.64,487306.64 +5-1-2019 23:00,587616.52,273530.7,273530.7 +6-1-2019 00:00,585904.12,272733.58,272733.58 +6-1-2019 01:00,582375.6,271091.06,271091.06 +6-1-2019 02:00,628883.96,292740.36,292740.36 +6-1-2019 03:00,792317.28,368817.28,368817.28 +6-1-2019 04:00,920271.2,428378.68,428378.68 +6-1-2019 05:00,997841.12,464486.92,464486.92 +6-1-2019 06:00,1102304.72,513113.84,513113.84 +6-1-2019 07:00,1953461.92,909320.64,909320.64 +6-1-2019 08:00,3690676.8,1717979.84,1717979.84 +6-1-2019 09:00,7323845.76,3409190.72,3409190.72 +6-1-2019 10:00,7378420.48,3434594.88,3434594.88 +6-1-2019 11:00,3367957.12,1567756.48,1567756.48 +6-1-2019 12:00,3110990.4,1448140.8,1448140.8 +6-1-2019 13:00,2230049.6,1038069.92,1038069.92 +6-1-2019 14:00,2040740.32,949947.92,949947.92 +6-1-2019 15:00,2855762.24,1329334,1329334 +6-1-2019 16:00,3018138.56,1404918.88,1404918.88 +6-1-2019 17:00,3046110.08,1417939.36,1417939.36 +6-1-2019 18:00,3061616.64,1425157.6,1425157.6 +6-1-2019 19:00,3076649.6,1432155.2,1432155.2 +6-1-2019 20:00,3074835.52,1431310.72,1431310.72 +6-1-2019 21:00,2415269.6,1124288.32,1124288.32 +6-1-2019 22:00,1091721.92,508187.68,508187.68 +6-1-2019 23:00,639257.68,297569.28,297569.28 +7-1-2019 00:00,678250.88,315720.24,315720.24 +7-1-2019 01:00,726380.96,338124.4,338124.4 +7-1-2019 02:00,939534.72,437345.72,437345.72 +7-1-2019 03:00,1108468.48,515983.04,515983.04 +7-1-2019 04:00,1198291.12,557794.8,557794.8 +7-1-2019 05:00,1198880.4,558069.08,558069.08 +7-1-2019 06:00,1250748.8,582213.32,582213.32 +7-1-2019 07:00,3590931.84,1671549.44,1671549.44 +7-1-2019 08:00,3966086.4,1846180.8,1846180.8 +7-1-2019 09:00,5726268.16,2665531.04,2665531.04 +7-1-2019 10:00,4500094.72,2094757.6,2094757.6 +7-1-2019 11:00,1862308.64,866889.44,866889.44 +7-1-2019 12:00,2098063.04,976631.28,976631.28 +7-1-2019 13:00,1704591.52,793473.44,793473.44 +7-1-2019 14:00,1549623.84,721337.2,721337.2 +7-1-2019 15:00,2475834.4,1152480.72,1152480.72 +7-1-2019 16:00,2913875.84,1356385.44,1356385.44 +7-1-2019 17:00,2466442.4,1148108.8,1148108.8 +7-1-2019 18:00,6658262.4,3099367.04,3099367.04 +7-1-2019 19:00,4567589.44,2126175.52,2126175.52 +7-1-2019 20:00,2868741.76,1335375.84,1335375.84 +7-1-2019 21:00,2751068.48,1280600.08,1280600.08 +7-1-2019 22:00,1422190.72,662018.32,662018.32 +7-1-2019 23:00,466567.96,217183.58,217183.58 +8-1-2019 00:00,471306.64,219389.4,219389.4 +8-1-2019 01:00,474055,220668.74,220668.74 +8-1-2019 02:00,475082.28,221146.92,221146.92 +8-1-2019 03:00,485323.88,225914.3,225914.3 +8-1-2019 04:00,676541.44,314924.54,314924.54 +8-1-2019 05:00,845478.64,393563.4,393563.4 +8-1-2019 06:00,1048646.88,488136.56,488136.56 +8-1-2019 07:00,2972268.48,1383566.72,1383566.72 +8-1-2019 08:00,3640552.64,1694647.52,1694647.52 +8-1-2019 09:00,5464404.48,2543635.2,2543635.2 +8-1-2019 10:00,4152331.52,1932876.48,1932876.48 +8-1-2019 11:00,1623709.6,755823.6,755823.6 +8-1-2019 12:00,1988056,925423.84,925423.84 +8-1-2019 13:00,1641896.64,764289.44,764289.44 +8-1-2019 14:00,1540502.88,717091.52,717091.52 +8-1-2019 15:00,2467316.96,1148515.84,1148515.84 +8-1-2019 16:00,2913957.44,1356423.52,1356423.52 +8-1-2019 17:00,2460350.88,1145273.28,1145273.28 +8-1-2019 18:00,6667617.28,3103721.28,3103721.28 +8-1-2019 19:00,4582158.72,2132957.44,2132957.44 +8-1-2019 20:00,3027919.04,1409471.68,1409471.68 +8-1-2019 21:00,3017209.6,1404486.4,1404486.4 +8-1-2019 22:00,1652629.28,769285.44,769285.44 +8-1-2019 23:00,526451,245058.6,245058.6 +9-1-2019 00:00,552668.88,257262.88,257262.88 +9-1-2019 01:00,536784.04,249868.6,249868.6 +9-1-2019 02:00,555280.16,258478.4,258478.4 +9-1-2019 03:00,726432.8,338148.56,338148.56 +9-1-2019 04:00,976232.96,454428.48,454428.48 +9-1-2019 05:00,1098630.16,511403.36,511403.36 +9-1-2019 06:00,1259520.48,586296.56,586296.56 +9-1-2019 07:00,3442833.6,1602611.04,1602611.04 +9-1-2019 08:00,3971282.24,1848599.52,1848599.52 +9-1-2019 09:00,5790821.12,2695579.84,2695579.84 +9-1-2019 10:00,4486154.88,2088268.32,2088268.32 +9-1-2019 11:00,1922284.96,894808,894808 +9-1-2019 12:00,2166745.6,1008602.4,1008602.4 +9-1-2019 13:00,1695049.44,789031.76,789031.76 +9-1-2019 14:00,1492574.72,694781.36,694781.36 +9-1-2019 15:00,2603101.12,1211722.32,1211722.32 +9-1-2019 16:00,3105002.56,1445353.28,1445353.28 +9-1-2019 17:00,2704684.16,1259008.4,1259008.4 +9-1-2019 18:00,6848810.88,3188065.6,3188065.6 +9-1-2019 19:00,4938088.32,2298639.68,2298639.68 +9-1-2019 20:00,3324139.2,1547359.68,1547359.68 +9-1-2019 21:00,3197868.8,1488581.76,1488581.76 +9-1-2019 22:00,1726562.4,803700.72,803700.72 +9-1-2019 23:00,582050.4,270939.72,270939.72 +10-1-2019 00:00,577782.76,268953.16,268953.16 +10-1-2019 01:00,590964.04,275088.96,275088.96 +10-1-2019 02:00,685878.08,319270.62,319270.62 +10-1-2019 03:00,1082155.12,503734.36,503734.36 +10-1-2019 04:00,1236146.88,575416.24,575416.24 +10-1-2019 05:00,1333800.08,620873.04,620873.04 +10-1-2019 06:00,1479973.76,688915.68,688915.68 +10-1-2019 07:00,3923696.64,1826448.64,1826448.64 +10-1-2019 08:00,4223789.12,1966139.52,1966139.52 +10-1-2019 09:00,6074853.76,2827794.56,2827794.56 +10-1-2019 10:00,4960844.8,2309232.64,2309232.64 +10-1-2019 11:00,2265901.92,1054758.8,1054758.8 +10-1-2019 12:00,2470439.04,1149969.2,1149969.2 +10-1-2019 13:00,2000098.4,931029.44,931029.44 +10-1-2019 14:00,1852819.52,862472.48,862472.48 +10-1-2019 15:00,2850737.28,1326995.12,1326995.12 +10-1-2019 16:00,3329958.08,1550068.16,1550068.16 +10-1-2019 17:00,2950722.56,1373537.28,1373537.28 +10-1-2019 18:00,6999592.96,3258253.12,3258253.12 +10-1-2019 19:00,5192801.28,2417206.56,2417206.56 +10-1-2019 20:00,3714398.4,1729022.08,1729022.08 +10-1-2019 21:00,3413091.2,1588766.24,1588766.24 +10-1-2019 22:00,1833909.12,853669.76,853669.76 +10-1-2019 23:00,607395.32,282737.58,282737.58 +11-1-2019 00:00,591881.12,275515.8,275515.8 +11-1-2019 01:00,587068.36,273275.54,273275.54 +11-1-2019 02:00,595366.64,277138.3,277138.3 +11-1-2019 03:00,935967.6,435685.32,435685.32 +11-1-2019 04:00,1074238,500049,500049 +11-1-2019 05:00,1132565.52,527200,527200 +11-1-2019 06:00,1253368.16,583432.68,583432.68 +11-1-2019 07:00,3479768,1619803.68,1619803.68 +11-1-2019 08:00,3881315.2,1806720.64,1806720.64 +11-1-2019 09:00,5746083.2,2674754.56,2674754.56 +11-1-2019 10:00,4437298.88,2065526.08,2065526.08 +11-1-2019 11:00,1926143.36,896604.08,896604.08 +11-1-2019 12:00,2149471.36,1000561.44,1000561.44 +11-1-2019 13:00,1805347.04,840374.32,840374.32 +11-1-2019 14:00,1624322.56,756108.88,756108.88 +11-1-2019 15:00,2614290.56,1216931.04,1216931.04 +11-1-2019 16:00,3053157.12,1421219.68,1421219.68 +11-1-2019 17:00,2608429.92,1214202.72,1214202.72 +11-1-2019 18:00,6768069.12,3150480.96,3150480.96 +11-1-2019 19:00,4832801.28,2249629.6,2249629.6 +11-1-2019 20:00,3319956.8,1545412.8,1545412.8 +11-1-2019 21:00,3106351.04,1445981.12,1445981.12 +11-1-2019 22:00,1650380.8,768238.8,768238.8 +11-1-2019 23:00,544497.12,253459,253459 +12-1-2019 00:00,535368.12,249209.52,249209.52 +12-1-2019 01:00,534534.72,248821.56,248821.56 +12-1-2019 02:00,529418.04,246439.74,246439.74 +12-1-2019 03:00,647093.12,301216.58,301216.58 +12-1-2019 04:00,848841.76,395128.92,395128.92 +12-1-2019 05:00,1016631.68,473233.72,473233.72 +12-1-2019 06:00,1146702.16,533780.52,533780.52 +12-1-2019 07:00,1997708,929916.8,929916.8 +12-1-2019 08:00,3712401.28,1728092.48,1728092.48 +12-1-2019 09:00,7264643.84,3381632.32,3381632.32 +12-1-2019 10:00,7206578.56,3354604.16,3354604.16 +12-1-2019 11:00,3425053.44,1594334.56,1594334.56 +12-1-2019 12:00,3117875.2,1451345.6,1451345.6 +12-1-2019 13:00,2182974.88,1016156.96,1016156.96 +12-1-2019 14:00,1937593.12,901933.76,901933.76 +12-1-2019 15:00,2774558.08,1291534.16,1291534.16 +12-1-2019 16:00,2945647.68,1371174.88,1371174.88 +12-1-2019 17:00,2960871.36,1378261.44,1378261.44 +12-1-2019 18:00,2981450.88,1387841.12,1387841.12 +12-1-2019 19:00,2983847.68,1388956.64,1388956.64 +12-1-2019 20:00,2969292.16,1382181.12,1382181.12 +12-1-2019 21:00,2301636.96,1071393.2,1071393.2 +12-1-2019 22:00,1012478.72,471300.6,471300.6 +12-1-2019 23:00,581243.24,270564,270564 +13-1-2019 00:00,567816.4,264313.88,264313.88 +13-1-2019 01:00,572787.12,266627.68,266627.68 +13-1-2019 02:00,568731.16,264739.68,264739.68 +13-1-2019 03:00,748261.12,348309.4,348309.4 +13-1-2019 04:00,848810.88,395114.56,395114.56 +13-1-2019 05:00,927548.56,431766.28,431766.28 +13-1-2019 06:00,999894.48,465442.76,465442.76 +13-1-2019 07:00,1836044.48,854663.84,854663.84 +13-1-2019 08:00,3526273.28,1641451.36,1641451.36 +13-1-2019 09:00,6925290.24,3223665.92,3223665.92 +13-1-2019 10:00,6476746.88,3014872.96,3014872.96 +13-1-2019 11:00,3098472.64,1442313.76,1442313.76 +13-1-2019 12:00,2830196.16,1317433.2,1317433.2 +13-1-2019 13:00,1939104.64,902637.36,902637.36 +13-1-2019 14:00,1730583.68,805572.56,805572.56 +13-1-2019 15:00,2547028.32,1185620.96,1185620.96 +13-1-2019 16:00,2698405.12,1256085.6,1256085.6 +13-1-2019 17:00,2694716.48,1254368.56,1254368.56 +13-1-2019 18:00,2866362.24,1334268.32,1334268.32 +13-1-2019 19:00,2816409.28,1311015.52,1311015.52 +13-1-2019 20:00,2820228.48,1312793.44,1312793.44 +13-1-2019 21:00,2178544.96,1014094.88,1014094.88 +13-1-2019 22:00,970977.76,451982.2,451982.2 +13-1-2019 23:00,561011.76,261146.4,261146.4 +14-1-2019 00:00,555194.76,258438.62,258438.62 +14-1-2019 01:00,590794.36,275010,275010 +14-1-2019 02:00,607111.16,282605.28,282605.28 +14-1-2019 03:00,786268.64,366001.64,366001.64 +14-1-2019 04:00,906422.48,421932.28,421932.28 +14-1-2019 05:00,1031240.88,480034.2,480034.2 +14-1-2019 06:00,1169400.72,544346.48,544346.48 +14-1-2019 07:00,3204952,1491879.04,1491879.04 +14-1-2019 08:00,3802752.32,1770150.24,1770150.24 +14-1-2019 09:00,5609470.72,2611162.88,2611162.88 +14-1-2019 10:00,4071745.92,1895364.64,1895364.64 +14-1-2019 11:00,1362657.28,634305.8,634305.8 +14-1-2019 12:00,2036910.72,948165.28,948165.28 +14-1-2019 13:00,1466463.68,682626.8,682626.8 +14-1-2019 14:00,1563656.16,727869.04,727869.04 +14-1-2019 15:00,2536044.16,1180507.84,1180507.84 +14-1-2019 16:00,3075626.88,1431679.36,1431679.36 +14-1-2019 17:00,2733260.48,1272310.32,1272310.32 +14-1-2019 18:00,6870209.92,3198026.88,3198026.88 +14-1-2019 19:00,4770659.2,2220703.2,2220703.2 +14-1-2019 20:00,3300529.28,1536369.6,1536369.6 +14-1-2019 21:00,3194337.28,1486937.92,1486937.92 +14-1-2019 22:00,1714849.28,798248.32,798248.32 +14-1-2019 23:00,598162.12,278439.58,278439.58 +15-1-2019 00:00,595956.84,277413.06,277413.06 +15-1-2019 01:00,591461.12,275320.32,275320.32 +15-1-2019 02:00,668563.92,311211.1,311211.1 +15-1-2019 03:00,953721.04,443949.36,443949.36 +15-1-2019 04:00,1077338.72,501492.4,501492.4 +15-1-2019 05:00,1158370.72,539212.08,539212.08 +15-1-2019 06:00,1298968.4,604659.32,604659.32 +15-1-2019 07:00,3448770.88,1605374.88,1605374.88 +15-1-2019 08:00,3861600,1797543.2,1797543.2 +15-1-2019 09:00,5710908.8,2658381.6,2658381.6 +15-1-2019 10:00,4404049.92,2050049.28,2050049.28 +15-1-2019 11:00,1899447.04,884177.04,884177.04 +15-1-2019 12:00,2166186.56,1008342.32,1008342.32 +15-1-2019 13:00,1748564.96,813942.72,813942.72 +15-1-2019 14:00,1552160.48,722518,722518 +15-1-2019 15:00,2477790.24,1153391.36,1153391.36 +15-1-2019 16:00,2911244.16,1355160.32,1355160.32 +15-1-2019 17:00,2460456.8,1145322.48,1145322.48 +15-1-2019 18:00,6655724.8,3098185.6,3098185.6 +15-1-2019 19:00,4608048.32,2145008.8,2145008.8 +15-1-2019 20:00,2957942.08,1376897.92,1376897.92 +15-1-2019 21:00,2916207.04,1357470.72,1357470.72 +15-1-2019 22:00,1556285.6,724438.32,724438.32 +15-1-2019 23:00,515556.88,239987.54,239987.54 +16-1-2019 00:00,504506.8,234843.8,234843.8 +16-1-2019 01:00,499900.04,232699.4,232699.4 +16-1-2019 02:00,498044.64,231835.7,231835.7 +16-1-2019 03:00,527282.48,245445.66,245445.66 +16-1-2019 04:00,772265.76,359483.44,359483.44 +16-1-2019 05:00,952242.64,443261.2,443261.2 +16-1-2019 06:00,1120738.4,521694.64,521694.64 +16-1-2019 07:00,3068392,1428311.52,1428311.52 +16-1-2019 08:00,3752713.92,1746857.6,1746857.6 +16-1-2019 09:00,5623310.72,2617605.44,2617605.44 +16-1-2019 10:00,4238799.68,1973126.72,1973126.72 +16-1-2019 11:00,1830370.4,852022.48,852022.48 +16-1-2019 12:00,2162797.12,1006764.32,1006764.32 +16-1-2019 13:00,1780111.84,828627.6,828627.6 +16-1-2019 14:00,1620022.24,754107.2,754107.2 +16-1-2019 15:00,2625065.44,1221946.64,1221946.64 +16-1-2019 16:00,3063202.56,1425895.84,1425895.84 +16-1-2019 17:00,2602630.08,1211503.04,1211503.04 +16-1-2019 18:00,6815119.36,3172382.72,3172382.72 +16-1-2019 19:00,4896741.12,2279393.12,2279393.12 +16-1-2019 20:00,3173246.72,1477120.8,1477120.8 +16-1-2019 21:00,3087904.64,1437394.4,1437394.4 +16-1-2019 22:00,1673841.6,779159.68,779159.68 +16-1-2019 23:00,569761.24,265219.18,265219.18 +17-1-2019 00:00,565089.28,263044.44,263044.44 +17-1-2019 01:00,559658.08,260516.26,260516.26 +17-1-2019 02:00,567116.28,263988,263988 +17-1-2019 03:00,780514.72,363323.24,363323.24 +17-1-2019 04:00,1048459.6,488049.36,488049.36 +17-1-2019 05:00,1167061.76,543257.76,543257.76 +17-1-2019 06:00,1314423.6,611853.4,611853.4 +17-1-2019 07:00,3501580.48,1629957.12,1629957.12 +17-1-2019 08:00,4005558.72,1864554.88,1864554.88 +17-1-2019 09:00,5913176.32,2752535.04,2752535.04 +17-1-2019 10:00,4656570.88,2167595.68,2167595.68 +17-1-2019 11:00,2143628.16,997841.52,997841.52 +17-1-2019 12:00,2370339.52,1103373.68,1103373.68 +17-1-2019 13:00,2150092,1000850.48,1000850.48 +17-1-2019 14:00,1484124.48,690847.92,690847.92 +17-1-2019 15:00,2900743.04,1350272.16,1350272.16 +17-1-2019 16:00,3417443.2,1590792.16,1590792.16 +17-1-2019 17:00,3083032.96,1435126.56,1435126.56 +17-1-2019 18:00,7099571.2,3304792.96,3304792.96 +17-1-2019 19:00,5358722.24,2494441.6,2494441.6 +17-1-2019 20:00,3839911.68,1787447.68,1787447.68 +17-1-2019 21:00,3580809.92,1666837.76,1666837.76 +17-1-2019 22:00,1900281.76,884565.6,884565.6 +17-1-2019 23:00,658873.48,306700.2,306700.2 +18-1-2019 00:00,664175.8,309168.4,309168.4 +18-1-2019 01:00,727808.88,338789.12,338789.12 +18-1-2019 02:00,1053278.72,490292.64,490292.64 +18-1-2019 03:00,1416105.12,659185.44,659185.44 +18-1-2019 04:00,1603397.28,746368.4,746368.4 +18-1-2019 05:00,1704341.28,793356.96,793356.96 +18-1-2019 06:00,1891617.12,880532.32,880532.32 +18-1-2019 07:00,4633362.88,2156792.48,2156792.48 +18-1-2019 08:00,4752344.32,2212177.44,2212177.44 +18-1-2019 09:00,6523434.24,3036605.44,3036605.44 +18-1-2019 10:00,4981384.32,2318793.76,2318793.76 +18-1-2019 11:00,2358035.2,1097646.08,1097646.08 +18-1-2019 12:00,2661079.52,1238710.8,1238710.8 +18-1-2019 13:00,2209653.76,1028575.84,1028575.84 +18-1-2019 14:00,2053105.44,955703.76,955703.76 +18-1-2019 15:00,3208532.16,1493545.6,1493545.6 +18-1-2019 16:00,3761387.84,1750895.2,1750895.2 +18-1-2019 17:00,3409155.52,1586934.24,1586934.24 +18-1-2019 18:00,7399921.92,3444603.52,3444603.52 +18-1-2019 19:00,5761618.56,2681986.56,2681986.56 +18-1-2019 20:00,4343329.6,2021784.32,2021784.32 +18-1-2019 21:00,4010033.6,1866637.92,1866637.92 +18-1-2019 22:00,2176682.56,1013228,1013228 +18-1-2019 23:00,741288.8,345063.96,345063.96 +19-1-2019 00:00,764145.36,355703.44,355703.44 +19-1-2019 01:00,896453.68,417291.84,417291.84 +19-1-2019 02:00,1286985.12,599081.12,599081.12 +19-1-2019 03:00,1541331.04,717477.04,717477.04 +19-1-2019 04:00,1698557.44,790664.64,790664.64 +19-1-2019 05:00,1842476.32,857657.68,857657.68 +19-1-2019 06:00,2031511.52,945652.08,945652.08 +19-1-2019 07:00,3022650.24,1407018.88,1407018.88 +19-1-2019 08:00,4915117.76,2287947.2,2287947.2 +19-1-2019 09:00,8583741.44,3995661.44,3995661.44 +19-1-2019 10:00,8432076.16,3925062.72,3925062.72 +19-1-2019 11:00,4426121.92,2060323.68,2060323.68 +19-1-2019 12:00,4209994.24,1959717.76,1959717.76 +19-1-2019 13:00,3196664.96,1488021.6,1488021.6 +19-1-2019 14:00,2867702.08,1334892,1334892 +19-1-2019 15:00,3737372.16,1739716.16,1739716.16 +19-1-2019 16:00,3979265.28,1852315.36,1852315.36 +19-1-2019 17:00,4125369.6,1920325.92,1920325.92 +19-1-2019 18:00,4207550.72,1958580.48,1958580.48 +19-1-2019 19:00,4254460.8,1980416.8,1980416.8 +19-1-2019 20:00,4311811.52,2007112.96,2007112.96 +19-1-2019 21:00,3396841.28,1581201.92,1581201.92 +19-1-2019 22:00,1594841.44,742385.68,742385.68 +19-1-2019 23:00,985293.52,458646.12,458646.12 +20-1-2019 00:00,1080468,502949.08,502949.08 +20-1-2019 01:00,1446256,673220.32,673220.32 +20-1-2019 02:00,1710119.2,796046.48,796046.48 +20-1-2019 03:00,1920568.32,894008.88,894008.88 +20-1-2019 04:00,2077138.72,966891.12,966891.12 +20-1-2019 05:00,2304345.28,1072653.68,1072653.68 +20-1-2019 06:00,2563496.8,1193286.96,1193286.96 +20-1-2019 07:00,3489571.84,1624367.2,1624367.2 +20-1-2019 08:00,5389988.48,2508995.68,2508995.68 +20-1-2019 09:00,8724614.4,4061237.12,4061237.12 +20-1-2019 10:00,8674356.48,4037842.56,4037842.56 +20-1-2019 11:00,4406869.76,2051361.76,2051361.76 +20-1-2019 12:00,3934455.04,1831456.64,1831456.64 +20-1-2019 13:00,2557919.68,1190690.64,1190690.64 +20-1-2019 14:00,2128677.28,990881.92,990881.92 +20-1-2019 15:00,3652633.92,1700271.2,1700271.2 +20-1-2019 16:00,4194786.24,1952638.72,1952638.72 +20-1-2019 17:00,4309683.2,2006122.24,2006122.24 +20-1-2019 18:00,4470986.88,2081207.84,2081207.84 +20-1-2019 19:00,4464036.48,2077972.64,2077972.64 +20-1-2019 20:00,4538275.52,2112530.08,2112530.08 +20-1-2019 21:00,3667343.04,1707118.24,1707118.24 +20-1-2019 22:00,1774422.72,825979.36,825979.36 +20-1-2019 23:00,1098824.72,511493.92,511493.92 +21-1-2019 00:00,1338082.4,622866.44,622866.44 +21-1-2019 01:00,1737855.68,808957.68,808957.68 +21-1-2019 02:00,2017688.64,939217.52,939217.52 +21-1-2019 03:00,2237784.64,1041670.56,1041670.56 +21-1-2019 04:00,2450866.72,1140858.24,1140858.24 +21-1-2019 05:00,2780394.56,1294251.12,1294251.12 +21-1-2019 06:00,3042027.2,1416038.88,1416038.88 +21-1-2019 07:00,5922972.16,2757095.36,2757095.36 +21-1-2019 08:00,5906243.2,2749307.84,2749307.84 +21-1-2019 09:00,7233811.84,3367280.32,3367280.32 +21-1-2019 10:00,5480659.84,2551202.4,2551202.4 +21-1-2019 11:00,3502544.32,1630405.76,1630405.76 +21-1-2019 12:00,3319811.2,1545345.28,1545345.28 +21-1-2019 13:00,2602725.76,1211547.76,1211547.76 +21-1-2019 14:00,2410257.76,1121955.44,1121955.44 +21-1-2019 15:00,3578686.4,1665849.44,1665849.44 +21-1-2019 16:00,4158965.76,1935964.64,1935964.64 +21-1-2019 17:00,3859654.72,1796637.76,1796637.76 +21-1-2019 18:00,7692306.56,3580705.92,3580705.92 +21-1-2019 19:00,6124148.48,2850741.12,2850741.12 +21-1-2019 20:00,4699821.44,2187728.48,2187728.48 +21-1-2019 21:00,4236042.88,1971843.68,1971843.68 +21-1-2019 22:00,2332378.72,1085703.12,1085703.12 +21-1-2019 23:00,828534.96,385676.28,385676.28 +22-1-2019 00:00,996049.76,463653,463653 +22-1-2019 01:00,1196342.32,556887.56,556887.56 +22-1-2019 02:00,1666939.52,775946.8,775946.8 +22-1-2019 03:00,1912427.2,890219.2,890219.2 +22-1-2019 04:00,2050754.4,954609.52,954609.52 +22-1-2019 05:00,2184150.08,1016704,1016704 +22-1-2019 06:00,2516518.08,1171418.72,1171418.72 +22-1-2019 07:00,5427587.84,2526497.76,2526497.76 +22-1-2019 08:00,5434794.88,2529852.48,2529852.48 +22-1-2019 09:00,7163351.68,3334481.6,3334481.6 +22-1-2019 10:00,6018060.16,2801358.08,2801358.08 +22-1-2019 11:00,3876129.28,1804306.56,1804306.56 +22-1-2019 12:00,3851508.8,1792845.76,1792845.76 +22-1-2019 13:00,3249406.4,1512571.84,1512571.84 +22-1-2019 14:00,2981279.04,1387761.12,1387761.12 +22-1-2019 15:00,4091670.08,1904639.2,1904639.2 +22-1-2019 16:00,4542621.44,2114553.44,2114553.44 +22-1-2019 17:00,4144835.84,1929387.2,1929387.2 +22-1-2019 18:00,7851181.44,3654661.12,3654661.12 +22-1-2019 19:00,6321235.84,2942483.84,2942483.84 +22-1-2019 20:00,4870116.16,2266999.52,2266999.52 +22-1-2019 21:00,4388273.28,2042705.12,2042705.12 +22-1-2019 22:00,2395257.76,1114973.04,1114973.04 +22-1-2019 23:00,833088.4,387795.88,387795.88 +23-1-2019 00:00,970158.64,451600.92,451600.92 +23-1-2019 01:00,1118415.92,520613.48,520613.48 +23-1-2019 02:00,1558360.16,725403.92,725403.92 +23-1-2019 03:00,1785350.24,831066,831066 +23-1-2019 04:00,1950371.2,907881.92,907881.92 +23-1-2019 05:00,2085584,970822.24,970822.24 +23-1-2019 06:00,2440868.48,1136204.32,1136204.32 +23-1-2019 07:00,5438216.96,2531445.6,2531445.6 +23-1-2019 08:00,5549922.56,2583443.68,2583443.68 +23-1-2019 09:00,7217022.72,3359464.96,3359464.96 +23-1-2019 10:00,6026422.4,2805250.56,2805250.56 +23-1-2019 11:00,3755155.52,1747994.24,1747994.24 +23-1-2019 12:00,3754715.84,1747789.6,1747789.6 +23-1-2019 13:00,3178545.92,1479587.36,1479587.36 +23-1-2019 14:00,2904278.72,1351918.08,1351918.08 +23-1-2019 15:00,4012927.36,1867984.8,1867984.8 +23-1-2019 16:00,4488149.44,2089196.8,2089196.8 +23-1-2019 17:00,4108194.88,1912331.2,1912331.2 +23-1-2019 18:00,7846485.12,3652474.56,3652474.56 +23-1-2019 19:00,6325961.6,2944683.52,2944683.52 +23-1-2019 20:00,4909365.12,2285269.6,2285269.6 +23-1-2019 21:00,4449006.72,2070976.32,2070976.32 +23-1-2019 22:00,2431508.48,1131847.44,1131847.44 +23-1-2019 23:00,854157.52,397603.4,397603.4 +24-1-2019 00:00,989821.04,460753.6,460753.6 +24-1-2019 01:00,1183746.72,551024.4,551024.4 +24-1-2019 02:00,1647069.12,766697.2,766697.2 +24-1-2019 03:00,1898444.48,883710.4,883710.4 +24-1-2019 04:00,2057830.08,957902.96,957902.96 +24-1-2019 05:00,2210271.04,1028863.28,1028863.28 +24-1-2019 06:00,2602756.8,1211562,1211562 +24-1-2019 07:00,5583795.2,2599211.2,2599211.2 +24-1-2019 08:00,5548288,2582682.56,2582682.56 +24-1-2019 09:00,7293076.48,3394867.52,3394867.52 +24-1-2019 10:00,6144926.08,2860412.48,2860412.48 +24-1-2019 11:00,3952597.44,1839901.76,1839901.76 +24-1-2019 12:00,3879846.4,1806036.96,1806036.96 +24-1-2019 13:00,3281896.64,1527696,1527696 +24-1-2019 14:00,2917308.48,1357983.2,1357983.2 +24-1-2019 15:00,4161297.28,1937050.08,1937050.08 +24-1-2019 16:00,4635978.88,2158010.56,2158010.56 +24-1-2019 17:00,4260156.16,1983068.16,1983068.16 +24-1-2019 18:00,7956814.08,3703832,3703832 +24-1-2019 19:00,6511846.4,3031211.52,3031211.52 +24-1-2019 20:00,5101113.92,2374526.56,2374526.56 +24-1-2019 21:00,4600271.36,2141389.12,2141389.12 +24-1-2019 22:00,2521444.8,1173712,1173712 +24-1-2019 23:00,899658.24,418783.52,418783.52 +25-1-2019 00:00,1032009.04,480391.8,480391.8 +25-1-2019 01:00,1269902.32,591129.16,591129.16 +25-1-2019 02:00,1735379.52,807804.96,807804.96 +25-1-2019 03:00,1975677.44,919661.76,919661.76 +25-1-2019 04:00,2123506.08,988474.8,988474.8 +25-1-2019 05:00,2317723.84,1078881.6,1078881.6 +25-1-2019 06:00,2726705.92,1269259.36,1269259.36 +25-1-2019 07:00,5754099.84,2678486.56,2678486.56 +25-1-2019 08:00,5616139.52,2614267.04,2614267.04 +25-1-2019 09:00,7307540.48,3401600.32,3401600.32 +25-1-2019 10:00,6182522.88,2877913.92,2877913.92 +25-1-2019 11:00,3895429.12,1813290.4,1813290.4 +25-1-2019 12:00,3775678.08,1757547.2,1757547.2 +25-1-2019 13:00,3136066.56,1459813.44,1459813.44 +25-1-2019 14:00,2824448,1314757.44,1314757.44 +25-1-2019 15:00,3946771.84,1837190.08,1837190.08 +25-1-2019 16:00,4375284.16,2036659.36,2036659.36 +25-1-2019 17:00,3955255.68,1841139.36,1841139.36 +25-1-2019 18:00,7704346.24,3586310.72,3586310.72 +25-1-2019 19:00,6053656.96,2817928.32,2817928.32 +25-1-2019 20:00,4504110.72,2096626.88,2096626.88 +25-1-2019 21:00,3956271.36,1841612,1841612 +25-1-2019 22:00,2111898.72,983071.52,983071.52 +25-1-2019 23:00,685303.44,319003.14,319003.14 +26-1-2019 00:00,675596.4,314484.58,314484.58 +26-1-2019 01:00,672227.36,312916.36,312916.36 +26-1-2019 02:00,918326.88,427473.64,427473.64 +26-1-2019 03:00,1255509.52,584429.44,584429.44 +26-1-2019 04:00,1426442.08,663997.2,663997.2 +26-1-2019 05:00,1517155.52,706223.6,706223.6 +26-1-2019 06:00,1623739.68,755837.52,755837.52 +26-1-2019 07:00,2462804.96,1146415.68,1146415.68 +26-1-2019 08:00,4314789.44,2008499.2,2008499.2 +26-1-2019 09:00,8064789.76,3754093.76,3754093.76 +26-1-2019 10:00,8343093.76,3883641.6,3883641.6 +26-1-2019 11:00,4314577.6,2008400.8,2008400.8 +26-1-2019 12:00,3933004.48,1830781.76,1830781.76 +26-1-2019 13:00,2887833.6,1344262.88,1344262.88 +26-1-2019 14:00,2514638.72,1170543.68,1170543.68 +26-1-2019 15:00,3414784.32,1589554.24,1589554.24 +26-1-2019 16:00,3601067.2,1676267.52,1676267.52 +26-1-2019 17:00,3654731.84,1701247.84,1701247.84 +26-1-2019 18:00,3650443.2,1699251.68,1699251.68 +26-1-2019 19:00,3672568.96,1709550.88,1709550.88 +26-1-2019 20:00,3615588.8,1683027.04,1683027.04 +26-1-2019 21:00,2830442.88,1317548,1317548 +26-1-2019 22:00,1263688.56,588236.64,588236.64 +26-1-2019 23:00,739855.12,344396.52,344396.52 +27-1-2019 00:00,723220,336653.04,336653.04 +27-1-2019 01:00,738329.92,343686.6,343686.6 +27-1-2019 02:00,1013531.76,471790.76,471790.76 +27-1-2019 03:00,1184391.44,551324.6,551324.6 +27-1-2019 04:00,1290449.84,600693.84,600693.84 +27-1-2019 05:00,1385272.96,644833.2,644833.2 +27-1-2019 06:00,1504742.08,700445.12,700445.12 +27-1-2019 07:00,2368379.2,1102461.2,1102461.2 +27-1-2019 08:00,4115099.2,1915545.12,1915545.12 +27-1-2019 09:00,7898794.88,3676824.64,3676824.64 +27-1-2019 10:00,7922320.64,3687775.68,3687775.68 +27-1-2019 11:00,4023905.6,1873095.04,1873095.04 +27-1-2019 12:00,3785235.52,1761996.32,1761996.32 +27-1-2019 13:00,2841330.24,1322616.24,1322616.24 +27-1-2019 14:00,2400299.36,1117319.92,1117319.92 +27-1-2019 15:00,3370178.88,1568790.72,1568790.72 +27-1-2019 16:00,3661432.32,1704366.88,1704366.88 +27-1-2019 17:00,3646696.64,1697507.52,1697507.52 +27-1-2019 18:00,3657611.2,1702588.32,1702588.32 +27-1-2019 19:00,3641232,1694963.84,1694963.84 +27-1-2019 20:00,3643443.84,1695993.28,1695993.28 +27-1-2019 21:00,2874176.32,1337905.52,1337905.52 +27-1-2019 22:00,1335234.64,621540.84,621540.84 +27-1-2019 23:00,789236.32,367383.08,367383.08 +28-1-2019 00:00,771936.32,359330.08,359330.08 +28-1-2019 01:00,830708.88,386688.2,386688.2 +28-1-2019 02:00,1086793.36,505893.48,505893.48 +28-1-2019 03:00,1266312.24,589458,589458 +28-1-2019 04:00,1375233.6,640160.08,640160.08 +28-1-2019 05:00,1465062.08,681974.56,681974.56 +28-1-2019 06:00,1614455.52,751515.92,751515.92 +28-1-2019 07:00,4205028.8,1957406.56,1957406.56 +28-1-2019 08:00,4283601.6,1993981.44,1993981.44 +28-1-2019 09:00,6226135.68,2898215.36,2898215.36 +28-1-2019 10:00,5002380.48,2328567.2,2328567.2 +28-1-2019 11:00,2385712.48,1110529.52,1110529.52 +28-1-2019 12:00,2610049.28,1214956.64,1214956.64 +28-1-2019 13:00,2090679.2,973194.08,973194.08 +28-1-2019 14:00,1693274.24,788205.36,788205.36 +28-1-2019 15:00,3131939.84,1457892.48,1457892.48 +28-1-2019 16:00,3570806.72,1662181.44,1662181.44 +28-1-2019 17:00,3268322.88,1521377.76,1521377.76 +28-1-2019 18:00,7267043.2,3382749.12,3382749.12 +28-1-2019 19:00,5577045.76,2596069.12,2596069.12 +28-1-2019 20:00,4002521.6,1863141.12,1863141.12 +28-1-2019 21:00,3739578.24,1740743.04,1740743.04 +28-1-2019 22:00,2066291.04,961841.52,961841.52 +28-1-2019 23:00,703846.88,327634.98,327634.98 +29-1-2019 00:00,704858.8,328106.04,328106.04 +29-1-2019 01:00,805674.24,375034.76,375034.76 +29-1-2019 02:00,1089678.24,507236.32,507236.32 +29-1-2019 03:00,1379931.68,642347,642347 +29-1-2019 04:00,1570897.92,731240.24,731240.24 +29-1-2019 05:00,1658373.76,771959.44,771959.44 +29-1-2019 06:00,1824207.2,849153.6,849153.6 +29-1-2019 07:00,4520114.24,2104076.48,2104076.48 +29-1-2019 08:00,4525792.64,2106719.52,2106719.52 +29-1-2019 09:00,6476201.6,3014619.2,3014619.2 +29-1-2019 10:00,5346016,2488526.88,2488526.88 +29-1-2019 11:00,2670581.12,1243133.68,1243133.68 +29-1-2019 12:00,2868677.76,1335346.08,1335346.08 +29-1-2019 13:00,2342347.68,1090343.76,1090343.76 +29-1-2019 14:00,2081044.48,968709.28,968709.28 +29-1-2019 15:00,3282147.52,1527812.8,1527812.8 +29-1-2019 16:00,3824514.56,1780280.32,1780280.32 +29-1-2019 17:00,3508889.28,1633359.36,1633359.36 +29-1-2019 18:00,7426584.32,3457014.08,3457014.08 +29-1-2019 19:00,5726567.68,2665670.72,2665670.72 +29-1-2019 20:00,4245583.36,1976284.48,1976284.48 +29-1-2019 21:00,3876218.88,1804348.32,1804348.32 +29-1-2019 22:00,2132655.84,992733.92,992733.92 +29-1-2019 23:00,727226.56,338518.04,338518.04 +30-1-2019 00:00,733891.28,341620.4,341620.4 +30-1-2019 01:00,871860.32,405843.88,405843.88 +30-1-2019 02:00,1202826.56,559905.88,559905.88 +30-1-2019 03:00,1494031.52,695459.52,695459.52 +30-1-2019 04:00,1644479.2,765491.68,765491.68 +30-1-2019 05:00,1750687.2,814930.64,814930.64 +30-1-2019 06:00,1925092.96,896115.04,896115.04 +30-1-2019 07:00,4719758.4,2197008.8,2197008.8 +30-1-2019 08:00,4736637.76,2204866.4,2204866.4 +30-1-2019 09:00,6629996.16,3086209.28,3086209.28 +30-1-2019 10:00,5506498.56,2563230.24,2563230.24 +30-1-2019 11:00,2820862.4,1313088.64,1313088.64 +30-1-2019 12:00,3121896.64,1453217.44,1453217.44 +30-1-2019 13:00,2549002.24,1186539.52,1186539.52 +30-1-2019 14:00,2256714.4,1050482.08,1050482.08 +30-1-2019 15:00,3495775.04,1627254.72,1627254.72 +30-1-2019 16:00,4014031.36,1868498.72,1868498.72 +30-1-2019 17:00,3682413.12,1714133.28,1714133.28 +30-1-2019 18:00,7524395.52,3502544.64,3502544.64 +30-1-2019 19:00,5879366.4,2736796.8,2736796.8 +30-1-2019 20:00,4425596.16,2060079.04,2060079.04 +30-1-2019 21:00,4018613.12,1870631.52,1870631.52 +30-1-2019 22:00,2178743.2,1014187.2,1014187.2 +30-1-2019 23:00,732030.48,340754.28,340754.28 +31-1-2019 00:00,757953.36,352821.12,352821.12 +31-1-2019 01:00,874007.68,406843.48,406843.48 +31-1-2019 02:00,1234409.44,574607.56,574607.56 +31-1-2019 03:00,1530196.96,712294.24,712294.24 +31-1-2019 04:00,1717063.84,799279.2,799279.2 +31-1-2019 05:00,1852161.76,862166.16,862166.16 +31-1-2019 06:00,2121495.04,987538.72,987538.72 +31-1-2019 07:00,4997112.32,2326114.72,2326114.72 +31-1-2019 08:00,4913003.52,2286962.88,2286962.88 +31-1-2019 09:00,6878514.56,3201892.48,3201892.48 +31-1-2019 10:00,5813505.28,2706139.2,2706139.2 +31-1-2019 11:00,3443059.52,1602716.16,1602716.16 +31-1-2019 12:00,3559282.56,1656817.12,1656817.12 +31-1-2019 13:00,2924230.08,1361205.28,1361205.28 +31-1-2019 14:00,2618131.84,1218719.12,1218719.12 +31-1-2019 15:00,3862017.92,1797737.92,1797737.92 +31-1-2019 16:00,4350059.52,2024917.44,2024917.44 +31-1-2019 17:00,3980706.24,1852986.4,1852986.4 +31-1-2019 18:00,7742249.6,3603953.92,3603953.92 +31-1-2019 19:00,6152050.56,2863729.28,2863729.28 +31-1-2019 20:00,4729812.48,2201689.44,2201689.44 +31-1-2019 21:00,4258415.68,1982257.76,1982257.76 +31-1-2019 22:00,2300002.24,1070632.32,1070632.32 +31-1-2019 23:00,793746.4,369482.48,369482.48 +1-2-2019 00:00,871312.4,405588.8,405588.8 +1-2-2019 01:00,1000098.48,465537.64,465537.64 +1-2-2019 02:00,1414752,658555.56,658555.56 +1-2-2019 03:00,1645576.64,766002.56,766002.56 +1-2-2019 04:00,1785405.44,831091.68,831091.68 +1-2-2019 05:00,1924402.08,895793.44,895793.44 +1-2-2019 06:00,2170127.2,1010176.48,1010176.48 +1-2-2019 07:00,5080768.64,2365056.64,2365056.64 +1-2-2019 08:00,5065535.68,2357965.6,2357965.6 +1-2-2019 09:00,6914301.44,3218550.72,3218550.72 +1-2-2019 10:00,5724449.28,2664684.32,2664684.32 +1-2-2019 11:00,3235502.4,1506100.16,1506100.16 +1-2-2019 12:00,3406059.2,1585492.64,1585492.64 +1-2-2019 13:00,2781610.24,1294816.8,1294816.8 +1-2-2019 14:00,2466648.96,1148204.96,1148204.96 +1-2-2019 15:00,3623441.6,1686682.56,1686682.56 +1-2-2019 16:00,4088870.08,1903335.84,1903335.84 +1-2-2019 17:00,3744904.96,1743222.72,1743222.72 +1-2-2019 18:00,7564526.72,3521225.28,3521225.28 +1-2-2019 19:00,5931569.92,2761097.28,2761097.28 +1-2-2019 20:00,4484997.44,2087729.92,2087729.92 +1-2-2019 21:00,4021123.2,1871800,1871800 +1-2-2019 22:00,2190619.84,1019715.76,1019715.76 +1-2-2019 23:00,736542.96,342854.76,342854.76 +2-2-2019 00:00,745728,347130.36,347130.36 +2-2-2019 01:00,846471.76,394025.68,394025.68 +2-2-2019 02:00,1242092.8,578184.08,578184.08 +2-2-2019 03:00,1520071.84,707581.12,707581.12 +2-2-2019 04:00,1668260,776561.44,776561.44 +2-2-2019 05:00,1772400.32,825037.92,825037.92 +2-2-2019 06:00,1907788,888059.76,888059.76 +2-2-2019 07:00,2879092.16,1340194,1340194 +2-2-2019 08:00,4735704.64,2204431.84,2204431.84 +2-2-2019 09:00,7848259.84,3653301.12,3653301.12 +2-2-2019 10:00,8579242.24,3993567.04,3993567.04 +2-2-2019 11:00,4906571.2,2283968.8,2283968.8 +2-2-2019 12:00,4359989.76,2029539.68,2029539.68 +2-2-2019 13:00,3285360,1529308.32,1529308.32 +2-2-2019 14:00,2877761.92,1339574.8,1339574.8 +2-2-2019 15:00,2886823.36,1343792.64,1343792.64 +2-2-2019 16:00,3998665.92,1861346.4,1861346.4 +2-2-2019 17:00,4058164.16,1889042.4,1889042.4 +2-2-2019 18:00,4106081.92,1911347.84,1911347.84 +2-2-2019 19:00,4127324.8,1921235.84,1921235.84 +2-2-2019 20:00,4113994.24,1915030.88,1915030.88 +2-2-2019 21:00,3298661.12,1535499.84,1535499.84 +2-2-2019 22:00,1502323.2,699319.12,699319.12 +2-2-2019 23:00,882904.08,410984.6,410984.6 +3-2-2019 00:00,929278.64,432571.64,432571.64 +3-2-2019 01:00,1306706.8,608261.4,608261.4 +3-2-2019 02:00,1483298.24,690463.2,690463.2 +3-2-2019 03:00,1666067.68,775540.88,775540.88 +3-2-2019 04:00,1831759.84,852669.28,852669.28 +3-2-2019 05:00,2040242.4,949716.24,949716.24 +3-2-2019 06:00,2208720.64,1028141.36,1028141.36 +3-2-2019 07:00,3278454.72,1526094.08,1526094.08 +3-2-2019 08:00,4940649.92,2299832,2299832 +3-2-2019 09:00,7329031.04,3411604.16,3411604.16 +3-2-2019 10:00,7699858.56,3584221.12,3584221.12 +3-2-2019 11:00,3485090.24,1622281.12,1622281.12 +3-2-2019 12:00,3491397.44,1625216.96,1625216.96 +3-2-2019 13:00,2153312,1002349.28,1002349.28 +3-2-2019 14:00,1601000,745252.4,745252.4 +3-2-2019 15:00,2162152.16,1006464.16,1006464.16 +3-2-2019 16:00,3527346.56,1641950.88,1641950.88 +3-2-2019 17:00,3886602.24,1809181.6,1809181.6 +3-2-2019 18:00,4148697.6,1931185.12,1931185.12 +3-2-2019 19:00,4265253.76,1985440.64,1985440.64 +3-2-2019 20:00,4237795.52,1972658.88,1972658.88 +3-2-2019 21:00,3310179.52,1540861.44,1540861.44 +3-2-2019 22:00,1496732,696716.56,696716.56 +3-2-2019 23:00,907083.2,422239.84,422239.84 +4-2-2019 00:00,902774.32,420234.12,420234.12 +4-2-2019 01:00,1244098.4,579117.68,579117.68 +4-2-2019 02:00,1476852.16,687462.64,687462.64 +4-2-2019 03:00,1661449.76,773391.28,773391.28 +4-2-2019 04:00,1797482.08,836713.28,836713.28 +4-2-2019 05:00,1939644.8,902888.72,902888.72 +4-2-2019 06:00,2119102.72,986425.2,986425.2 +4-2-2019 07:00,4921080,2290722.88,2290722.88 +4-2-2019 08:00,4760068.8,2215773.12,2215773.12 +4-2-2019 09:00,5867541.76,2731293.12,2731293.12 +4-2-2019 10:00,5361446.4,2495709.76,2495709.76 +4-2-2019 11:00,2716432,1264476.96,1264476.96 +4-2-2019 12:00,2995590.08,1394422.72,1394422.72 +4-2-2019 13:00,2551147.2,1187538.24,1187538.24 +4-2-2019 14:00,2260739.2,1052355.84,1052355.84 +4-2-2019 15:00,2555952.64,1189775.12,1189775.12 +4-2-2019 16:00,3946190.4,1836919.36,1836919.36 +4-2-2019 17:00,3588826.24,1670569.28,1670569.28 +4-2-2019 18:00,7457152.64,3471243.52,3471243.52 +4-2-2019 19:00,5753564.16,2678236.8,2678236.8 +4-2-2019 20:00,4235323.2,1971508.16,1971508.16 +4-2-2019 21:00,3857959.68,1795848.8,1795848.8 +4-2-2019 22:00,2090961.92,973325.68,973325.68 +4-2-2019 23:00,698380.32,325090.34,325090.34 +5-2-2019 00:00,703450.8,327450.6,327450.6 +5-2-2019 01:00,811863.84,377916,377916 +5-2-2019 02:00,1058051.12,492514.2,492514.2 +5-2-2019 03:00,1358702.08,632464.84,632464.84 +5-2-2019 04:00,1509310.24,702571.6,702571.6 +5-2-2019 05:00,1601618.08,745540.16,745540.16 +5-2-2019 06:00,1759435.36,819002.8,819002.8 +5-2-2019 07:00,4398983.36,2047690.72,2047690.72 +5-2-2019 08:00,4434999.36,2064456,2064456 +5-2-2019 09:00,5654949.12,2632332.48,2632332.48 +5-2-2019 10:00,5049577.6,2350537.28,2350537.28 +5-2-2019 11:00,2543155.84,1183818.32,1183818.32 +5-2-2019 12:00,2815517.12,1310600.24,1310600.24 +5-2-2019 13:00,2280620.8,1061610.48,1061610.48 +5-2-2019 14:00,1988282.08,925529.12,925529.12 +5-2-2019 15:00,2262839.84,1053333.36,1053333.36 +5-2-2019 16:00,3635813.44,1692441.44,1692441.44 +5-2-2019 17:00,3299933.12,1536091.84,1536091.84 +5-2-2019 18:00,7231580.16,3366241.6,3366241.6 +5-2-2019 19:00,5453788.8,2538694.4,2538694.4 +5-2-2019 20:00,4031072,1876431.04,1876431.04 +5-2-2019 21:00,3724855.68,1733890.08,1733890.08 +5-2-2019 22:00,2015084.64,938005.36,938005.36 +5-2-2019 23:00,687691.2,320114.68,320114.68 +6-2-2019 00:00,688333.36,320413.58,320413.58 +6-2-2019 01:00,727480.8,338636.4,338636.4 +6-2-2019 02:00,1005041.84,467838.8,467838.8 +6-2-2019 03:00,1305108.24,607517.28,607517.28 +6-2-2019 04:00,1448797.12,674403.2,674403.2 +6-2-2019 05:00,1539080,716429.2,716429.2 +6-2-2019 06:00,1715065.28,798348.96,798348.96 +6-2-2019 07:00,4329170.88,2015193.92,2015193.92 +6-2-2019 08:00,4404633.28,2050321.12,2050321.12 +6-2-2019 09:00,5600295.04,2606891.68,2606891.68 +6-2-2019 10:00,4927495.04,2293708.8,2293708.8 +6-2-2019 11:00,2373019.36,1104621.12,1104621.12 +6-2-2019 12:00,2662345.92,1239300.16,1239300.16 +6-2-2019 13:00,2119338.08,986534.64,986534.64 +6-2-2019 14:00,1812914.4,843896.88,843896.88 +6-2-2019 15:00,2069598.88,963381.44,963381.44 +6-2-2019 16:00,3430000.32,1596637.28,1596637.28 +6-2-2019 17:00,3102190.4,1444044.32,1444044.32 +6-2-2019 18:00,7082243.2,3296726.4,3296726.4 +6-2-2019 19:00,5237758.4,2438133.76,2438133.76 +6-2-2019 20:00,3723152,1733096.8,1733096.8 +6-2-2019 21:00,3394240.96,1579991.52,1579991.52 +6-2-2019 22:00,1806856.48,841076.96,841076.96 +6-2-2019 23:00,596112.36,277485.42,277485.42 +7-2-2019 00:00,587748.48,273592.1,273592.1 +7-2-2019 01:00,589654.96,274479.56,274479.56 +7-2-2019 02:00,599262.92,278952.02,278952.02 +7-2-2019 03:00,843283.28,392541.48,392541.48 +7-2-2019 04:00,1076393.2,501052.2,501052.2 +7-2-2019 05:00,1162885.52,541313.72,541313.72 +7-2-2019 06:00,1286019.04,598631.36,598631.36 +7-2-2019 07:00,3534023.68,1645059.2,1645059.2 +7-2-2019 08:00,3917368.96,1823503.2,1823503.2 +7-2-2019 09:00,5103987.2,2375864.48,2375864.48 +7-2-2019 10:00,4117816.96,1916809.92,1916809.92 +7-2-2019 11:00,1792090.72,834203.68,834203.68 +7-2-2019 12:00,2130609.92,991781.52,991781.52 +7-2-2019 13:00,1562540.64,727350,727350 +7-2-2019 14:00,1176729.84,547758.24,547758.24 +7-2-2019 15:00,1058353.28,492654.88,492654.88 +7-2-2019 16:00,2884976.32,1342933.12,1342933.12 +7-2-2019 17:00,2658151.68,1237347.76,1237347.76 +7-2-2019 18:00,6866945.92,3196507.2,3196507.2 +7-2-2019 19:00,4965071.36,2311200.48,2311200.48 +7-2-2019 20:00,3348979.2,1558922.56,1558922.56 +7-2-2019 21:00,3276441.28,1525156.8,1525156.8 +7-2-2019 22:00,1761136,819794.4,819794.4 +7-2-2019 23:00,579480.36,269743.34,269743.34 +8-2-2019 00:00,568197.76,264491.42,264491.42 +8-2-2019 01:00,567786.68,264300.08,264300.08 +8-2-2019 02:00,588962.64,274157.32,274157.32 +8-2-2019 03:00,812545.52,378233.32,378233.32 +8-2-2019 04:00,1078126,501858.84,501858.84 +8-2-2019 05:00,1182566.64,550475.16,550475.16 +8-2-2019 06:00,1336086.08,621937.12,621937.12 +8-2-2019 07:00,3553705.92,1654221.12,1654221.12 +8-2-2019 08:00,3883078.72,1807541.6,1807541.6 +8-2-2019 09:00,5021162.56,2337310.08,2337310.08 +8-2-2019 10:00,4041826.56,1881437.28,1881437.28 +8-2-2019 11:00,1740542.56,810208.4,810208.4 +8-2-2019 12:00,2052573.28,955456.16,955456.16 +8-2-2019 13:00,1570699.04,731147.52,731147.52 +8-2-2019 14:00,1297228,603849.12,603849.12 +8-2-2019 15:00,1530580.16,712472.56,712472.56 +8-2-2019 16:00,2768936.64,1288917.36,1288917.36 +8-2-2019 17:00,2462305.12,1146182.96,1146182.96 +8-2-2019 18:00,6636909.44,3089427.2,3089427.2 +8-2-2019 19:00,4669220.16,2173483.68,2173483.68 +8-2-2019 20:00,3032552.64,1411628.48,1411628.48 +8-2-2019 21:00,2970991.68,1382972.48,1382972.48 +8-2-2019 22:00,1565910.4,728918.48,728918.48 +8-2-2019 23:00,508248.72,236585.62,236585.62 +9-2-2019 00:00,492781.88,229385.98,229385.98 +9-2-2019 01:00,490991.28,228552.44,228552.44 +9-2-2019 02:00,494698.32,230278.04,230278.04 +9-2-2019 03:00,520169.12,242134.46,242134.46 +9-2-2019 04:00,746860.8,347657.64,347657.64 +9-2-2019 05:00,890671.12,414600.16,414600.16 +9-2-2019 06:00,1043322,485657.92,485657.92 +9-2-2019 07:00,1956774.72,910862.64,910862.64 +9-2-2019 08:00,3585976.64,1669242.88,1669242.88 +9-2-2019 09:00,6195900.16,2884141.12,2884141.12 +9-2-2019 10:00,6139256.96,2857774.08,2857774.08 +9-2-2019 11:00,2929206.4,1363521.92,1363521.92 +9-2-2019 12:00,2673673.76,1244573.52,1244573.52 +9-2-2019 13:00,1604500.96,746882.08,746882.08 +9-2-2019 14:00,1261419.52,587180.56,587180.56 +9-2-2019 15:00,1501542.24,698955.68,698955.68 +9-2-2019 16:00,2626748,1222729.84,1222729.84 +9-2-2019 17:00,2836365.12,1320304.72,1320304.72 +9-2-2019 18:00,2911309.76,1355190.88,1355190.88 +9-2-2019 19:00,2891659.84,1346044.16,1346044.16 +9-2-2019 20:00,2902806.4,1351232.64,1351232.64 +9-2-2019 21:00,2247408.48,1046150.16,1046150.16 +9-2-2019 22:00,982195.6,457204.04,457204.04 +9-2-2019 23:00,561865.36,261543.74,261543.74 +10-2-2019 00:00,558525.64,259989.14,259989.14 +10-2-2019 01:00,561026.48,261153.22,261153.22 +10-2-2019 02:00,572830.4,266647.88,266647.88 +10-2-2019 03:00,751147.04,349652.84,349652.84 +10-2-2019 04:00,909894.4,423548.4,423548.4 +10-2-2019 05:00,1048243.52,487948.84,487948.84 +10-2-2019 06:00,1124945.04,523652.76,523652.76 +10-2-2019 07:00,1936481.76,901416.48,901416.48 +10-2-2019 08:00,3499879.36,1629165.28,1629165.28 +10-2-2019 09:00,6196769.28,2884545.28,2884545.28 +10-2-2019 10:00,6051650.56,2816994.24,2816994.24 +10-2-2019 11:00,2990130.88,1391881.6,1391881.6 +10-2-2019 12:00,2933065.28,1365317.92,1365317.92 +10-2-2019 13:00,1933530.4,900042.64,900042.64 +10-2-2019 14:00,1633726.88,760486.48,760486.48 +10-2-2019 15:00,1682852.96,783354.4,783354.4 +10-2-2019 16:00,2941046.72,1369033.28,1369033.28 +10-2-2019 17:00,3120369.92,1452506.72,1452506.72 +10-2-2019 18:00,3244928.96,1510487.84,1510487.84 +10-2-2019 19:00,3299075.2,1535692.48,1535692.48 +10-2-2019 20:00,3274222.4,1524123.84,1524123.84 +10-2-2019 21:00,2517331.04,1171796.88,1171796.88 +10-2-2019 22:00,1144076.4,532558.24,532558.24 +10-2-2019 23:00,667708.68,310812.92,310812.92 +11-2-2019 00:00,660585.76,307497.28,307497.28 +11-2-2019 01:00,655857.44,305296.3,305296.3 +11-2-2019 02:00,786787.36,366243.12,366243.12 +11-2-2019 03:00,949439.76,441956.48,441956.48 +11-2-2019 04:00,1096811.12,510556.64,510556.64 +11-2-2019 05:00,1193076.8,555367.56,555367.56 +11-2-2019 06:00,1338872.8,623234.32,623234.32 +11-2-2019 07:00,3592173.44,1672127.52,1672127.52 +11-2-2019 08:00,3776711.68,1758028.48,1758028.48 +11-2-2019 09:00,4634196.16,2157180.64,2157180.64 +11-2-2019 10:00,3960811.84,1843725.6,1843725.6 +11-2-2019 11:00,1540476.8,717079.44,717079.44 +11-2-2019 12:00,1773045.12,825337.92,825337.92 +11-2-2019 13:00,1191894.8,554817.28,554817.28 +11-2-2019 14:00,558386.76,259924.46,259924.46 +11-2-2019 15:00,764933.44,356070.24,356070.24 +11-2-2019 16:00,2633422.4,1225836.64,1225836.64 +11-2-2019 17:00,2546241.92,1185254.8,1185254.8 +11-2-2019 18:00,6769511.04,3151152,3151152 +11-2-2019 19:00,4427524.8,2060976.64,2060976.64 +11-2-2019 20:00,3365651.52,1566683.36,1566683.36 +11-2-2019 21:00,3299061.76,1535686.24,1535686.24 +11-2-2019 22:00,1800756.32,838237.44,838237.44 +11-2-2019 23:00,634445.8,295329.32,295329.32 +12-2-2019 00:00,590701.24,274966.58,274966.58 +12-2-2019 01:00,618470.72,287893.06,287893.06 +12-2-2019 02:00,778028.96,362166.12,362166.12 +12-2-2019 03:00,1084245.52,504707.44,504707.44 +12-2-2019 04:00,1342889.92,625104.36,625104.36 +12-2-2019 05:00,1348304.8,627624.88,627624.88 +12-2-2019 06:00,1456432.8,677957.52,677957.52 +12-2-2019 07:00,3789609.28,1764032.16,1764032.16 +12-2-2019 08:00,3997266.24,1860694.88,1860694.88 +12-2-2019 09:00,5080312.64,2364844.48,2364844.48 +12-2-2019 10:00,4252425.28,1979469.28,1979469.28 +12-2-2019 11:00,1741690.24,810742.64,810742.64 +12-2-2019 12:00,2010581.76,935909.36,935909.36 +12-2-2019 13:00,1507358.88,701663.36,701663.36 +12-2-2019 14:00,1090451.68,507596.4,507596.4 +12-2-2019 15:00,1463590.24,681289.28,681289.28 +12-2-2019 16:00,2778606.08,1293418.48,1293418.48 +12-2-2019 17:00,2529830.4,1177615.36,1177615.36 +12-2-2019 18:00,6754278.4,3144061.76,3144061.76 +12-2-2019 19:00,4602859.84,2142593.44,2142593.44 +12-2-2019 20:00,3121013.76,1452806.24,1452806.24 +12-2-2019 21:00,3133203.2,1458480.48,1458480.48 +12-2-2019 22:00,1685032,784368.64,784368.64 +12-2-2019 23:00,562533.44,261854.74,261854.74 +13-2-2019 00:00,546449.36,254367.7,254367.7 +13-2-2019 01:00,551276.8,256614.84,256614.84 +13-2-2019 02:00,557553.52,259536.56,259536.56 +13-2-2019 03:00,757708.96,352707.32,352707.32 +13-2-2019 04:00,1029259.04,479111.68,479111.68 +13-2-2019 05:00,1139826.08,530579.76,530579.76 +13-2-2019 06:00,1282682.88,597078.36,597078.36 +13-2-2019 07:00,3414688,1589509.28,1589509.28 +13-2-2019 08:00,3800426.88,1769067.68,1769067.68 +13-2-2019 09:00,4877828.48,2270589.28,2270589.28 +13-2-2019 10:00,3960991.36,1843809.12,1843809.12 +13-2-2019 11:00,1725998.72,803438.32,803438.32 +13-2-2019 12:00,2088302.56,972087.68,972087.68 +13-2-2019 13:00,1599022.72,744332,744332 +13-2-2019 14:00,1272337.28,592262.64,592262.64 +13-2-2019 15:00,1443717.76,672038.8,672038.8 +13-2-2019 16:00,2728666.88,1270172.08,1270172.08 +13-2-2019 17:00,2512823.52,1169698.96,1169698.96 +13-2-2019 18:00,6768454.4,3150660.48,3150660.48 +13-2-2019 19:00,4664421.44,2171249.92,2171249.92 +13-2-2019 20:00,3214995.52,1496554.08,1496554.08 +13-2-2019 21:00,3219424,1498615.68,1498615.68 +13-2-2019 22:00,1753905.76,816428.8,816428.8 +13-2-2019 23:00,599801.96,279202.94,279202.94 +14-2-2019 00:00,620837.2,288994.62,288994.62 +14-2-2019 01:00,607293.88,282690.34,282690.34 +14-2-2019 02:00,687449.92,320002.32,320002.32 +14-2-2019 03:00,1118490.08,520647.96,520647.96 +14-2-2019 04:00,1305672.64,607779.92,607779.92 +14-2-2019 05:00,1429247.36,665302.96,665302.96 +14-2-2019 06:00,1558555.52,725494.96,725494.96 +14-2-2019 07:00,4047670.4,1884157.6,1884157.6 +14-2-2019 08:00,4054661.44,1887412,1887412 +14-2-2019 09:00,4894451.52,2278327.68,2278327.68 +14-2-2019 10:00,4108552.64,1912497.76,1912497.76 +14-2-2019 11:00,1603529.28,746429.84,746429.84 +14-2-2019 12:00,1878527.04,874438.96,874438.96 +14-2-2019 13:00,1343982.88,625613.08,625613.08 +14-2-2019 14:00,1030479.36,479679.76,479679.76 +14-2-2019 15:00,1186209.2,552170.64,552170.64 +14-2-2019 16:00,2508926.08,1167884.56,1167884.56 +14-2-2019 17:00,2484800.96,1156654.64,1156654.64 +14-2-2019 18:00,6905945.6,3214661.12,3214661.12 +14-2-2019 19:00,5013195.2,2333601.28,2333601.28 +14-2-2019 20:00,3556598.08,1655567.52,1655567.52 +14-2-2019 21:00,3511068.48,1634373.76,1634373.76 +14-2-2019 22:00,1944408.16,905106.16,905106.16 +14-2-2019 23:00,651769.76,303393.52,303393.52 +15-2-2019 00:00,620633.44,288899.78,288899.78 +15-2-2019 01:00,658519.04,306535.24,306535.24 +15-2-2019 02:00,828945.28,385867.28,385867.28 +15-2-2019 03:00,1146511.2,533691.52,533691.52 +15-2-2019 04:00,1305759.36,607820.32,607820.32 +15-2-2019 05:00,1415665.44,658980.72,658980.72 +15-2-2019 06:00,1599207.84,744418.16,744418.16 +15-2-2019 07:00,4089275.84,1903524.48,1903524.48 +15-2-2019 08:00,4005815.68,1864674.56,1864674.56 +15-2-2019 09:00,4331078.72,2016081.6,2016081.6 +15-2-2019 10:00,3135952,1459760.32,1459760.32 +15-2-2019 11:00,774148.24,360359.68,360359.68 +15-2-2019 12:00,1334215.84,621066.52,621066.52 +15-2-2019 13:00,522001.36,242987.36,242987.36 +15-2-2019 14:00,191791.16,89277.22,89277.22 +15-2-2019 15:00,361786,168408.44,168408.44 +15-2-2019 16:00,1692831.84,787999.44,787999.44 +15-2-2019 17:00,2192467.84,1020575.84,1020575.84 +15-2-2019 18:00,6343621.76,2952904.32,2952904.32 +15-2-2019 19:00,4074995.2,1896876.8,1896876.8 +15-2-2019 20:00,3102704.32,1444283.52,1444283.52 +15-2-2019 21:00,3271527.68,1522869.6,1522869.6 +15-2-2019 22:00,1818724.8,846601.6,846601.6 +15-2-2019 23:00,607763.44,282908.88,282908.88 +16-2-2019 00:00,570631,265624.06,265624.06 +16-2-2019 01:00,618331.24,287828.16,287828.16 +16-2-2019 02:00,672123.68,312868.1,312868.1 +16-2-2019 03:00,1005879.36,468228.6,468228.6 +16-2-2019 04:00,1197820.56,557575.68,557575.68 +16-2-2019 05:00,1395162.56,649436.72,649436.72 +16-2-2019 06:00,1530251.84,712319.76,712319.76 +16-2-2019 07:00,2367649.12,1102121.36,1102121.36 +16-2-2019 08:00,3934914.88,1831670.72,1831670.72 +16-2-2019 09:00,6448487.04,3001717.76,3001717.76 +16-2-2019 10:00,6734549.76,3134878.08,3134878.08 +16-2-2019 11:00,2866449.28,1334308.56,1334308.56 +16-2-2019 12:00,2615343.52,1217421.12,1217421.12 +16-2-2019 13:00,1524782.88,709774.08,709774.08 +16-2-2019 14:00,1175551.52,547209.72,547209.72 +16-2-2019 15:00,1147848.64,534314.16,534314.16 +16-2-2019 16:00,2417059.04,1125121.36,1125121.36 +16-2-2019 17:00,2708218.24,1260653.68,1260653.68 +16-2-2019 18:00,3083957.76,1435557.12,1435557.12 +16-2-2019 19:00,3317441.28,1544241.76,1544241.76 +16-2-2019 20:00,3353278.72,1560924,1560924 +16-2-2019 21:00,2646337.44,1231848.48,1231848.48 +16-2-2019 22:00,1238753.04,576629.4,576629.4 +16-2-2019 23:00,748761.6,348542.4,348542.4 +17-2-2019 00:00,755513.76,351685.52,351685.52 +17-2-2019 01:00,825200.96,384124.28,384124.28 +17-2-2019 02:00,1058335.2,492646.36,492646.36 +17-2-2019 03:00,1260061.28,586548.28,586548.28 +17-2-2019 04:00,1362599.04,634278.64,634278.64 +17-2-2019 05:00,1538240.16,716038.24,716038.24 +17-2-2019 06:00,1600386.88,744966.96,744966.96 +17-2-2019 07:00,2460065.44,1145140.24,1145140.24 +17-2-2019 08:00,3997782.4,1860935.2,1860935.2 +17-2-2019 09:00,6822058.88,3175613.12,3175613.12 +17-2-2019 10:00,6906805.12,3215061.76,3215061.76 +17-2-2019 11:00,3017846.08,1404782.72,1404782.72 +17-2-2019 12:00,2678863.04,1246988.88,1246988.88 +17-2-2019 13:00,1459344.64,679313.04,679313.04 +17-2-2019 14:00,1021882.48,475677.96,475677.96 +17-2-2019 15:00,903138.88,420403.76,420403.76 +17-2-2019 16:00,2194868.16,1021693.28,1021693.28 +17-2-2019 17:00,2585484.64,1203522,1203522 +17-2-2019 18:00,2732925.76,1272154.8,1272154.8 +17-2-2019 19:00,2825968.96,1315465.6,1315465.6 +17-2-2019 20:00,3059779.2,1424302.56,1424302.56 +17-2-2019 21:00,2383511.68,1109505.12,1109505.12 +17-2-2019 22:00,1112795.52,517997.24,517997.24 +17-2-2019 23:00,700560.88,326105.32,326105.32 +18-2-2019 00:00,714078.56,332397.7,332397.7 +18-2-2019 01:00,730790.8,340177.2,340177.2 +18-2-2019 02:00,967595.68,450407.88,450407.88 +18-2-2019 03:00,1198383.68,557837.84,557837.84 +18-2-2019 04:00,1270962.4,591622.68,591622.68 +18-2-2019 05:00,1387961.12,646084.6,646084.6 +18-2-2019 06:00,1549192.32,721136.32,721136.32 +18-2-2019 07:00,3930204.48,1829477.92,1829477.92 +18-2-2019 08:00,3925626.56,1827347.2,1827347.2 +18-2-2019 09:00,4871795.52,2267780.96,2267780.96 +18-2-2019 10:00,3912728.64,1821343.2,1821343.2 +18-2-2019 11:00,1339053.12,623318.36,623318.36 +18-2-2019 12:00,1596586.72,743198.16,743198.16 +18-2-2019 13:00,1052557.04,489956.76,489956.76 +18-2-2019 14:00,744097.76,346371.44,346371.44 +18-2-2019 15:00,875260.08,407426.4,407426.4 +18-2-2019 16:00,2240641.6,1043000.4,1043000.4 +18-2-2019 17:00,2147435.52,999613.68,999613.68 +18-2-2019 18:00,6578600.32,3062284.8,3062284.8 +18-2-2019 19:00,3955290.88,1841155.68,1841155.68 +18-2-2019 20:00,3065983.68,1427190.24,1427190.24 +18-2-2019 21:00,3149894.08,1466250.08,1466250.08 +18-2-2019 22:00,1680991.04,782487.6,782487.6 +18-2-2019 23:00,510447.92,237609.32,237609.32 +19-2-2019 00:00,501178.76,233294.64,233294.64 +19-2-2019 01:00,507493,236233.84,236233.84 +19-2-2019 02:00,513775.08,239158.12,239158.12 +19-2-2019 03:00,586707.72,273107.66,273107.66 +19-2-2019 04:00,887028.08,412904.32,412904.32 +19-2-2019 05:00,1042851.04,485438.68,485438.68 +19-2-2019 06:00,1220155.52,567972.48,567972.48 +19-2-2019 07:00,3208449.6,1493507.04,1493507.04 +19-2-2019 08:00,3630169.28,1689814.08,1689814.08 +19-2-2019 09:00,4517684.16,2102945.12,2102945.12 +19-2-2019 10:00,3462819.2,1611914.24,1611914.24 +19-2-2019 11:00,1378197.44,641539.8,641539.8 +19-2-2019 12:00,1765190.08,821681.6,821681.6 +19-2-2019 13:00,1199076.64,558160.48,558160.48 +19-2-2019 14:00,995943.44,463603.56,463603.56 +19-2-2019 15:00,851797.04,396504.56,396504.56 +19-2-2019 16:00,2482556.32,1155609.84,1155609.84 +19-2-2019 17:00,2343826.24,1091032,1091032 +19-2-2019 18:00,6533566.08,3041321.6,3041321.6 +19-2-2019 19:00,4104246.08,1910492.8,1910492.8 +19-2-2019 20:00,3034905.92,1412723.68,1412723.68 +19-2-2019 21:00,2944974.4,1370861.6,1370861.6 +19-2-2019 22:00,1592446.88,741271.04,741271.04 +19-2-2019 23:00,529239.44,246356.66,246356.66 +20-2-2019 00:00,520521.32,242298.42,242298.42 +20-2-2019 01:00,521913.96,242946.7,242946.7 +20-2-2019 02:00,527558.88,245574.36,245574.36 +20-2-2019 03:00,632195.44,294281.8,294281.8 +20-2-2019 04:00,898828.32,418397.24,418397.24 +20-2-2019 05:00,1067665.68,496989.64,496989.64 +20-2-2019 06:00,1224017.44,569770.16,569770.16 +20-2-2019 07:00,3250911.68,1513272.8,1513272.8 +20-2-2019 08:00,3692578.24,1718865.12,1718865.12 +20-2-2019 09:00,4574950.72,2129602.56,2129602.56 +20-2-2019 10:00,3506193.92,1632104.64,1632104.64 +20-2-2019 11:00,1295546.72,603066.48,603066.48 +20-2-2019 12:00,1695163.52,789084.8,789084.8 +20-2-2019 13:00,1213977.92,565096.8,565096.8 +20-2-2019 14:00,727414.08,338605.28,338605.28 +20-2-2019 15:00,975839.84,454245.48,454245.48 +20-2-2019 16:00,2361151.68,1099096.8,1099096.8 +20-2-2019 17:00,2169229.28,1009758.64,1009758.64 +20-2-2019 18:00,6397061.12,2977779.52,2977779.52 +20-2-2019 19:00,3941568.96,1834768.32,1834768.32 +20-2-2019 20:00,2888334.08,1344495.84,1344495.84 +20-2-2019 21:00,2848872.32,1326126.8,1326126.8 +20-2-2019 22:00,1553865.28,723311.6,723311.6 +20-2-2019 23:00,520368.6,242227.34,242227.34 +21-2-2019 00:00,500794.72,233115.88,233115.88 +21-2-2019 01:00,503887.16,234555.36,234555.36 +21-2-2019 02:00,511883.52,238277.6,238277.6 +21-2-2019 03:00,579779.84,269882.78,269882.78 +21-2-2019 04:00,819511.68,381476,381476 +21-2-2019 05:00,1002316.72,466570.32,466570.32 +21-2-2019 06:00,1180936.8,549716.48,549716.48 +21-2-2019 07:00,3132998.08,1458384.96,1458384.96 +21-2-2019 08:00,3577296.96,1665202.72,1665202.72 +21-2-2019 09:00,4445373.44,2069285.12,2069285.12 +21-2-2019 10:00,3358666.88,1563431.84,1563431.84 +21-2-2019 11:00,1328971.28,618625.36,618625.36 +21-2-2019 12:00,1638138.88,762540.32,762540.32 +21-2-2019 13:00,1127898.8,525027.64,525027.64 +21-2-2019 14:00,804710.96,374586.4,374586.4 +21-2-2019 15:00,1065834.48,496137.2,496137.2 +21-2-2019 16:00,2456029.6,1143261.68,1143261.68 +21-2-2019 17:00,2217784,1032360.24,1032360.24 +21-2-2019 18:00,6396240,2977397.44,2977397.44 +21-2-2019 19:00,3892810.56,1812071.52,1812071.52 +21-2-2019 20:00,2749454.72,1279848.72,1279848.72 +21-2-2019 21:00,2683892.64,1249330.08,1249330.08 +21-2-2019 22:00,1433168.64,667128.28,667128.28 +21-2-2019 23:00,467454.12,217596.06,217596.06 +22-2-2019 00:00,458915.88,213621.6,213621.6 +22-2-2019 01:00,457861.48,213130.8,213130.8 +22-2-2019 02:00,457225.64,212834.8,212834.8 +22-2-2019 03:00,462169.08,215135.92,215135.92 +22-2-2019 04:00,576661.44,268431.22,268431.22 +22-2-2019 05:00,749766.8,349010.32,349010.32 +22-2-2019 06:00,905998.48,421734.88,421734.88 +22-2-2019 07:00,2715339.84,1263968.48,1263968.48 +22-2-2019 08:00,3334847.68,1552344.32,1552344.32 +22-2-2019 09:00,4249696.64,1978199.2,1978199.2 +22-2-2019 10:00,3038752.64,1414514.56,1414514.56 +22-2-2019 11:00,1109739.6,516574.84,516574.84 +22-2-2019 12:00,1499971.36,698224.48,698224.48 +22-2-2019 13:00,1028915.2,478951.6,478951.6 +22-2-2019 14:00,719537.2,334938.72,334938.72 +22-2-2019 15:00,859039.6,399875.92,399875.92 +22-2-2019 16:00,2177525.6,1013620.4,1013620.4 +22-2-2019 17:00,1986363.04,924635.84,924635.84 +22-2-2019 18:00,6198643.84,2885418.24,2885418.24 +22-2-2019 19:00,3544649.6,1650005.6,1650005.6 +22-2-2019 20:00,2828402.24,1316598,1316598 +22-2-2019 21:00,2719602.88,1265953.04,1265953.04 +22-2-2019 22:00,1462132.48,680610.72,680610.72 +22-2-2019 23:00,490659.84,228398.14,228398.14 +23-2-2019 00:00,490653.92,228395.4,228395.4 +23-2-2019 01:00,503301.4,234282.68,234282.68 +23-2-2019 02:00,507859.76,236404.56,236404.56 +23-2-2019 03:00,542414.84,252489.66,252489.66 +23-2-2019 04:00,820325.44,381854.8,381854.8 +23-2-2019 05:00,957528.32,445721.6,445721.6 +23-2-2019 06:00,1180148.32,549349.48,549349.48 +23-2-2019 07:00,2058119.36,958037.76,958037.76 +23-2-2019 08:00,3563423.36,1658744.48,1658744.48 +23-2-2019 09:00,6108663.04,2843532.8,2843532.8 +23-2-2019 10:00,5314129.92,2473683.84,2473683.84 +23-2-2019 11:00,2571734.88,1197121.6,1197121.6 +23-2-2019 12:00,2092405.76,973997.84,973997.84 +23-2-2019 13:00,539185.44,250986.38,250986.38 +23-2-2019 14:00,696025.6,323994.26,323994.26 +23-2-2019 15:00,670455.2,312091.46,312091.46 +23-2-2019 16:00,1976174.08,919893.04,919893.04 +23-2-2019 17:00,2476787.36,1152924.32,1152924.32 +23-2-2019 18:00,2632099.36,1225220.72,1225220.72 +23-2-2019 19:00,2696795.2,1255336.08,1255336.08 +23-2-2019 20:00,2922759.04,1360520.48,1360520.48 +23-2-2019 21:00,2509972.96,1168371.84,1168371.84 +23-2-2019 22:00,1007657.52,469056.44,469056.44 +23-2-2019 23:00,593823,276419.76,276419.76 +24-2-2019 00:00,615029.24,286291.1,286291.1 +24-2-2019 01:00,630108.44,293310.36,293310.36 +24-2-2019 02:00,748315.28,348334.64,348334.64 +24-2-2019 03:00,950516,442457.44,442457.44 +24-2-2019 04:00,1178376.72,548524.8,548524.8 +24-2-2019 05:00,1396116.16,649880.72,649880.72 +24-2-2019 06:00,1503347.2,699795.84,699795.84 +24-2-2019 07:00,2404090.88,1119084.72,1119084.72 +24-2-2019 08:00,3698962.56,1721836.64,1721836.64 +24-2-2019 09:00,5883987.2,2738947.84,2738947.84 +24-2-2019 10:00,4913990.72,2287422.56,2287422.56 +24-2-2019 11:00,1697599.36,790218.64,790218.64 +24-2-2019 12:00,1667737.12,776318.08,776318.08 +24-2-2019 13:00,1050485.6,488992.48,488992.48 +24-2-2019 14:00,780756.32,363435.68,363435.68 +24-2-2019 15:00,673658.48,313582.52,313582.52 +24-2-2019 16:00,1890861.6,880180.64,880180.64 +24-2-2019 17:00,2190750.72,1019776.64,1019776.64 +24-2-2019 18:00,2539474.56,1182104.72,1182104.72 +24-2-2019 19:00,2784777.6,1296291.28,1296291.28 +24-2-2019 20:00,2987414.72,1390617.28,1390617.28 +24-2-2019 21:00,2385956.48,1110643.28,1110643.28 +24-2-2019 22:00,1138188.96,529817.64,529817.64 +24-2-2019 23:00,723107.68,336600.72,336600.72 +25-2-2019 00:00,733098.48,341251.36,341251.36 +25-2-2019 01:00,750535.68,349368.24,349368.24 +25-2-2019 02:00,1034332.64,481473.4,481473.4 +25-2-2019 03:00,1199258.32,558244.88,558244.88 +25-2-2019 04:00,1347362.24,627186.16,627186.16 +25-2-2019 05:00,1402151.68,652690.2,652690.2 +25-2-2019 06:00,1509900,702846.16,702846.16 +25-2-2019 07:00,4006941.76,1865198.88,1865198.88 +25-2-2019 08:00,3717413.44,1730425.6,1730425.6 +25-2-2019 09:00,4002776,1863259.52,1863259.52 +25-2-2019 10:00,2664317.44,1240217.76,1240217.76 +25-2-2019 11:00,605474.68,281843.5,281843.5 +25-2-2019 12:00,738108.24,343583.36,343583.36 +25-2-2019 13:00,242827.88,113034.4,113034.4 +25-2-2019 14:00,342485.08,159424.01,159424.01 +25-2-2019 15:00,409834.32,190774.54,190774.54 +25-2-2019 16:00,1326801.52,617615.36,617615.36 +25-2-2019 17:00,1494010.4,695449.6,695449.6 +25-2-2019 18:00,6116950.4,2847390.72,2847390.72 +25-2-2019 19:00,3323215.36,1546929.76,1546929.76 +25-2-2019 20:00,2933535.68,1365536.96,1365536.96 +25-2-2019 21:00,3011830.08,1401982.4,1401982.4 +25-2-2019 22:00,1662857.6,774046.72,774046.72 +25-2-2019 23:00,590742.72,274985.94,274985.94 +26-2-2019 00:00,591799.44,275477.82,275477.82 +26-2-2019 01:00,607164,282629.92,282629.92 +26-2-2019 02:00,621426.64,289269.04,289269.04 +26-2-2019 03:00,1049722.16,488637.08,488637.08 +26-2-2019 04:00,1253592.4,583537.04,583537.04 +26-2-2019 05:00,1387729.44,645976.76,645976.76 +26-2-2019 06:00,1554918.4,723801.84,723801.84 +26-2-2019 07:00,3875421.12,1803976.96,1803976.96 +26-2-2019 08:00,3780975.04,1760013.12,1760013.12 +26-2-2019 09:00,4406885.12,2051369.12,2051369.12 +26-2-2019 10:00,3185163.2,1482667.68,1482667.68 +26-2-2019 11:00,756085.84,351951.8,351951.8 +26-2-2019 12:00,1144005.36,532525.28,532525.28 +26-2-2019 13:00,565531.24,263250.22,263250.22 +26-2-2019 14:00,296201.76,137879.49,137879.49 +26-2-2019 15:00,446891.56,208024.38,208024.38 +26-2-2019 16:00,1485590.72,691530.32,691530.32 +26-2-2019 17:00,1631237.12,759327.52,759327.52 +26-2-2019 18:00,6176238.08,2874988.16,2874988.16 +26-2-2019 19:00,3489038.72,1624118.88,1624118.88 +26-2-2019 20:00,2883462.72,1342228.16,1342228.16 +26-2-2019 21:00,2981787.84,1387997.76,1387997.76 +26-2-2019 22:00,1652586.56,769265.6,769265.6 +26-2-2019 23:00,569837.6,265254.8,265254.8 +27-2-2019 00:00,573518.68,266968.26,266968.26 +27-2-2019 01:00,578374.68,269228.7,269228.7 +27-2-2019 02:00,597689.56,278219.64,278219.64 +27-2-2019 03:00,956046.64,445031.88,445031.88 +27-2-2019 04:00,1165350.8,542461.32,542461.32 +27-2-2019 05:00,1242129.04,578201,578201 +27-2-2019 06:00,1340628.4,624051.56,624051.56 +27-2-2019 07:00,3550701.76,1652822.88,1652822.88 +27-2-2019 08:00,3486294.08,1622841.44,1622841.44 +27-2-2019 09:00,3840444.8,1787695.68,1787695.68 +27-2-2019 10:00,2295080.8,1068341.28,1068341.28 +27-2-2019 11:00,221526.78,103118.91,103118.91 +27-2-2019 12:00,534969.44,249023.9,249023.9 +27-2-2019 13:00,159708.83,74343.17,74343.17 +27-2-2019 14:00,62040.19,28879.2,28879.2 +27-2-2019 15:00,238618.04,111074.75,111074.75 +27-2-2019 16:00,445193.04,207233.74,207233.74 +27-2-2019 17:00,1035469.84,482002.76,482002.76 +27-2-2019 18:00,5369955.84,2499670.72,2499670.72 +27-2-2019 19:00,2389638.24,1112357.04,1112357.04 +27-2-2019 20:00,2451598.88,1141199.2,1141199.2 +27-2-2019 21:00,2369687.2,1103070.16,1103070.16 +27-2-2019 22:00,1295046.72,602833.8,602833.8 +27-2-2019 23:00,404359.32,188225.96,188225.96 +28-2-2019 00:00,405255.6,188643.18,188643.18 +28-2-2019 01:00,452484.52,210627.86,210627.86 +28-2-2019 02:00,505506.6,235309.22,235309.22 +28-2-2019 03:00,598480.24,278587.64,278587.64 +28-2-2019 04:00,907067.76,422232.6,422232.6 +28-2-2019 05:00,942326.88,438645.48,438645.48 +28-2-2019 06:00,1279569.12,595628.96,595628.96 +28-2-2019 07:00,3317604.16,1544317.6,1544317.6 +28-2-2019 08:00,2833638.4,1319035.44,1319035.44 +28-2-2019 09:00,4231581.12,1969766.56,1969766.56 +28-2-2019 10:00,3138175.68,1460795.04,1460795.04 +28-2-2019 11:00,1070571.2,498342.08,498342.08 +28-2-2019 12:00,1090465.36,507602.68,507602.68 +28-2-2019 13:00,1071064.56,498571.8,498571.8 +28-2-2019 14:00,715731.44,333167.14,333167.14 +28-2-2019 15:00,723036.72,336567.72,336567.72 +28-2-2019 16:00,1183798,551048.28,551048.28 +28-2-2019 17:00,1942654.72,904289.92,904289.92 +28-2-2019 18:00,6143644.8,2859816.32,2859816.32 +28-2-2019 19:00,3297523.84,1534970.4,1534970.4 +28-2-2019 20:00,2539783.52,1182248.4,1182248.4 +28-2-2019 21:00,2501657.76,1164501.36,1164501.36 +28-2-2019 22:00,1311938.32,610696.6,610696.6 +28-2-2019 23:00,431686.84,200946.72,200946.72 +1-3-2019 00:00,431873.24,201033.46,201033.46 +1-3-2019 01:00,434743.72,202369.64,202369.64 +1-3-2019 02:00,448643.32,208839.8,208839.8 +1-3-2019 03:00,468280.16,217980.6,217980.6 +1-3-2019 04:00,577747.36,268936.7,268936.7 +1-3-2019 05:00,754842.64,351373.12,351373.12 +1-3-2019 06:00,924691.12,430436.2,430436.2 +1-3-2019 07:00,2688273.28,1251369.28,1251369.28 +1-3-2019 08:00,2652407.52,1234673.92,1234673.92 +1-3-2019 09:00,4188178.24,1949562.88,1949562.88 +1-3-2019 10:00,3089854.72,1438302.08,1438302.08 +1-3-2019 11:00,1306362.8,608101.24,608101.24 +1-3-2019 12:00,1795454.4,835769.36,835769.36 +1-3-2019 13:00,1312623.28,611015.44,611015.44 +1-3-2019 14:00,974786.4,453755.12,453755.12 +1-3-2019 15:00,1075977.04,500858.52,500858.52 +1-3-2019 16:00,1552540.32,722694.88,722694.88 +1-3-2019 17:00,2328601.12,1083944.8,1083944.8 +1-3-2019 18:00,6485349.76,3018877.44,3018877.44 +1-3-2019 19:00,3837999.68,1786557.6,1786557.6 +1-3-2019 20:00,2865674.88,1333948.24,1333948.24 +1-3-2019 21:00,2843058.24,1323420.4,1323420.4 +1-3-2019 22:00,1575111.52,733201.52,733201.52 +1-3-2019 23:00,521550.36,242777.4,242777.4 +2-3-2019 00:00,542679.12,252612.72,252612.72 +2-3-2019 01:00,519781.44,241954.02,241954.02 +2-3-2019 02:00,519968.4,242041.04,242041.04 +2-3-2019 03:00,631811.04,294102.88,294102.88 +2-3-2019 04:00,826197.68,384588.28,384588.28 +2-3-2019 05:00,998146.72,464629.2,464629.2 +2-3-2019 06:00,1115762,519378.12,519378.12 +2-3-2019 07:00,1940419.36,903249.36,903249.36 +2-3-2019 08:00,2857648,1330211.68,1330211.68 +2-3-2019 09:00,5873126.4,2733892.48,2733892.48 +2-3-2019 10:00,5508602.88,2564209.92,2564209.92 +2-3-2019 11:00,2495453.12,1161613.04,1161613.04 +2-3-2019 12:00,1936446.88,901400.16,901400.16 +2-3-2019 13:00,961471.52,447557.16,447557.16 +2-3-2019 14:00,1013713.2,471875.2,471875.2 +2-3-2019 15:00,922332.48,429338.24,429338.24 +2-3-2019 16:00,1250488.4,582092.24,582092.24 +2-3-2019 17:00,2460727.04,1145448.48,1145448.48 +2-3-2019 18:00,2507144.96,1167055.52,1167055.52 +2-3-2019 19:00,2504071.36,1165624.72,1165624.72 +2-3-2019 20:00,2500144.8,1163796.96,1163796.96 +2-3-2019 21:00,1953584.16,909377.44,909377.44 +2-3-2019 22:00,844785.68,393240.88,393240.88 +2-3-2019 23:00,488645.88,227460.68,227460.68 +3-3-2019 00:00,467650.08,217687.3,217687.3 +3-3-2019 01:00,454752.56,211683.6,211683.6 +3-3-2019 02:00,459843.92,214053.58,214053.58 +3-3-2019 03:00,455275.88,211927.2,211927.2 +3-3-2019 04:00,612821.28,285263.36,285263.36 +3-3-2019 05:00,710043.92,330519.72,330519.72 +3-3-2019 06:00,818600.48,381051.8,381051.8 +3-3-2019 07:00,1645159.68,765808.4,765808.4 +3-3-2019 08:00,2549226.24,1186644.16,1186644.16 +3-3-2019 09:00,5179134.72,2410844.96,2410844.96 +3-3-2019 10:00,4464873.6,2078362.08,2078362.08 +3-3-2019 11:00,2124971.36,989156.88,989156.88 +3-3-2019 12:00,1926360.16,896704.96,896704.96 +3-3-2019 13:00,1153877.6,537120.6,537120.6 +3-3-2019 14:00,816704.56,380169.36,380169.36 +3-3-2019 15:00,656097.52,305408.02,305408.02 +3-3-2019 16:00,944412.32,439616.24,439616.24 +3-3-2019 17:00,2111528.8,982899.44,982899.44 +3-3-2019 18:00,2201365.76,1024717.76,1024717.76 +3-3-2019 19:00,2225133.6,1035781.52,1035781.52 +3-3-2019 20:00,2225847.2,1036113.68,1036113.68 +3-3-2019 21:00,1685274.72,784481.6,784481.6 +3-3-2019 22:00,699491.12,325607.4,325607.4 +3-3-2019 23:00,380879.32,177296.22,177296.22 +4-3-2019 00:00,384597.12,179026.82,179026.82 +4-3-2019 01:00,378520.16,176198.04,176198.04 +4-3-2019 02:00,380050.48,176910.4,176910.4 +4-3-2019 03:00,384394.44,178932.46,178932.46 +4-3-2019 04:00,395066.2,183900.1,183900.1 +4-3-2019 05:00,488455.72,227372.14,227372.14 +4-3-2019 06:00,749160,348727.84,348727.84 +4-3-2019 07:00,2301849.12,1071491.92,1071491.92 +4-3-2019 08:00,2396175.52,1115400.16,1115400.16 +4-3-2019 09:00,3792880.32,1765554.88,1765554.88 +4-3-2019 10:00,2731000.96,1271258.64,1271258.64 +4-3-2019 11:00,1016784.48,473304.92,473304.92 +4-3-2019 12:00,1523092,708986.96,708986.96 +4-3-2019 13:00,919479.04,428010,428010 +4-3-2019 14:00,719269.2,334813.96,334813.96 +4-3-2019 15:00,605377.2,281798.16,281798.16 +4-3-2019 16:00,1144424.16,532720.04,532720.04 +4-3-2019 17:00,1999852.96,930915.28,930915.28 +4-3-2019 18:00,6108813.44,2843602.56,2843602.56 +4-3-2019 19:00,3025108.16,1408163.36,1408163.36 +4-3-2019 20:00,2561126.24,1192183.36,1192183.36 +4-3-2019 21:00,2526693.6,1176155.28,1176155.28 +4-3-2019 22:00,1326294.08,617379.04,617379.04 +4-3-2019 23:00,422684.96,196756.4,196756.4 +5-3-2019 00:00,451545.88,210190.94,210190.94 +5-3-2019 01:00,449726.92,209344.2,209344.2 +5-3-2019 02:00,449719.52,209340.76,209340.76 +5-3-2019 03:00,458697.88,213520.12,213520.12 +5-3-2019 04:00,593973.56,276489.86,276489.86 +5-3-2019 05:00,792547.6,368924.48,368924.48 +5-3-2019 06:00,1033941.68,481291.4,481291.4 +5-3-2019 07:00,2746361.92,1278409.04,1278409.04 +5-3-2019 08:00,2262412.8,1053134.64,1053134.64 +5-3-2019 09:00,3724529.28,1733738.08,1733738.08 +5-3-2019 10:00,2747451.84,1278916.48,1278916.48 +5-3-2019 11:00,945113.2,439942.44,439942.44 +5-3-2019 12:00,1308466.88,609080.68,609080.68 +5-3-2019 13:00,869593.12,404788.56,404788.56 +5-3-2019 14:00,444559.24,206938.7,206938.7 +5-3-2019 15:00,464773.84,216348.42,216348.42 +5-3-2019 16:00,579292.12,269655.74,269655.74 +5-3-2019 17:00,1706901.44,794548.56,794548.56 +5-3-2019 18:00,6025868.8,2804992.96,2804992.96 +5-3-2019 19:00,3048746.56,1419166.72,1419166.72 +5-3-2019 20:00,2712277.76,1262543.36,1262543.36 +5-3-2019 21:00,2643428.48,1230494.4,1230494.4 +5-3-2019 22:00,1409877.76,656286.68,656286.68 +5-3-2019 23:00,420581.16,195777.1,195777.1 +6-3-2019 00:00,409236,190496.02,190496.02 +6-3-2019 01:00,439217.04,204451.96,204451.96 +6-3-2019 02:00,453381.6,211045.42,211045.42 +6-3-2019 03:00,455238.48,211909.8,211909.8 +6-3-2019 04:00,583581.84,271652.58,271652.58 +6-3-2019 05:00,710872.8,330905.48,330905.48 +6-3-2019 06:00,896667.76,417391.52,417391.52 +6-3-2019 07:00,2558102.72,1190776,1190776 +6-3-2019 08:00,2418456.48,1125771.84,1125771.84 +6-3-2019 09:00,3822145.6,1779177.6,1779177.6 +6-3-2019 10:00,2574951.36,1198618.8,1198618.8 +6-3-2019 11:00,873232.4,406482.56,406482.56 +6-3-2019 12:00,1317259.76,613173.72,613173.72 +6-3-2019 13:00,845296.4,393478.56,393478.56 +6-3-2019 14:00,543718.2,253096.38,253096.38 +6-3-2019 15:00,610607.92,284232.98,284232.98 +6-3-2019 16:00,893956.88,416129.64,416129.64 +6-3-2019 17:00,1727224.32,804008.88,804008.88 +6-3-2019 18:00,5883163.52,2738564.8,2738564.8 +6-3-2019 19:00,2765519.04,1287326.56,1287326.56 +6-3-2019 20:00,2278247.36,1060505.52,1060505.52 +6-3-2019 21:00,2246928.48,1045926.72,1045926.72 +6-3-2019 22:00,1189190.8,553558.6,553558.6 +6-3-2019 23:00,353799.32,164690.69,164690.69 +7-3-2019 00:00,372128.92,173222.96,173222.96 +7-3-2019 01:00,383870.76,178688.7,178688.7 +7-3-2019 02:00,381003.68,177354.1,177354.1 +7-3-2019 03:00,384829.88,179135.16,179135.16 +7-3-2019 04:00,395265.2,183992.74,183992.74 +7-3-2019 05:00,476783.92,221939.02,221939.02 +7-3-2019 06:00,687250,319909.28,319909.28 +7-3-2019 07:00,2269425.28,1056398.96,1056398.96 +7-3-2019 08:00,2336218.72,1087490.88,1087490.88 +7-3-2019 09:00,3470945.28,1615696.8,1615696.8 +7-3-2019 10:00,2331447.52,1085269.76,1085269.76 +7-3-2019 11:00,734012.4,341676.8,341676.8 +7-3-2019 12:00,1290933.68,600919.08,600919.08 +7-3-2019 13:00,879009.36,409171.68,409171.68 +7-3-2019 14:00,144740.34,67375.45,67375.45 +7-3-2019 15:00,514061.04,239291.22,239291.22 +7-3-2019 16:00,745551.36,347048.04,347048.04 +7-3-2019 17:00,1641296.8,764010.24,764010.24 +7-3-2019 18:00,5886183.68,2739970.88,2739970.88 +7-3-2019 19:00,2786582.4,1297131.36,1297131.36 +7-3-2019 20:00,2444602.72,1137942.64,1137942.64 +7-3-2019 21:00,2517096,1171687.52,1171687.52 +7-3-2019 22:00,1324693.52,616633.96,616633.96 +7-3-2019 23:00,401155.12,186734.42,186734.42 +8-3-2019 00:00,402154.68,187199.74,187199.74 +8-3-2019 01:00,418555.68,194834.26,194834.26 +8-3-2019 02:00,441848.04,205676.66,205676.66 +8-3-2019 03:00,446718.88,207943.98,207943.98 +8-3-2019 04:00,540934.28,251800.5,251800.5 +8-3-2019 05:00,696141.36,324048.1,324048.1 +8-3-2019 06:00,862769.6,401612.2,401612.2 +8-3-2019 07:00,2517455.84,1171855.2,1171855.2 +8-3-2019 08:00,2451956.32,1141365.76,1141365.76 +8-3-2019 09:00,3482819.2,1621224,1621224 +8-3-2019 10:00,2176641.12,1013208.64,1013208.64 +8-3-2019 11:00,742333.76,345550.32,345550.32 +8-3-2019 12:00,1420269.6,661123.92,661123.92 +8-3-2019 13:00,618359.8,287841.44,287841.44 +8-3-2019 14:00,539663.16,251208.78,251208.78 +8-3-2019 15:00,716212.48,333391.06,333391.06 +8-3-2019 16:00,1026516.64,477835.12,477835.12 +8-3-2019 17:00,1923399.68,895326.88,895326.88 +8-3-2019 18:00,6039571.84,2811371.2,2811371.2 +8-3-2019 19:00,3026148.16,1408647.36,1408647.36 +8-3-2019 20:00,2507640.16,1167286,1167286 +8-3-2019 21:00,2563077.6,1193091.68,1193091.68 +8-3-2019 22:00,1367636.32,636623.52,636623.52 +8-3-2019 23:00,416471.44,193864.04,193864.04 +9-3-2019 00:00,408354.56,190085.7,190085.7 +9-3-2019 01:00,426397.88,198484.76,198484.76 +9-3-2019 02:00,437437.96,203623.8,203623.8 +9-3-2019 03:00,425720.84,198169.58,198169.58 +9-3-2019 04:00,503061.28,234170.92,234170.92 +9-3-2019 05:00,657723.76,306165,306165 +9-3-2019 06:00,775305.12,360898.2,360898.2 +9-3-2019 07:00,1596889.44,743338.96,743338.96 +9-3-2019 08:00,2490182.08,1159159.28,1159159.28 +9-3-2019 09:00,5095121.92,2371737.76,2371737.76 +9-3-2019 10:00,4385599.04,2041460.64,2041460.64 +9-3-2019 11:00,2009538.72,935423.92,935423.92 +9-3-2019 12:00,1897932.8,883472.16,883472.16 +9-3-2019 13:00,1117237.28,520064.88,520064.88 +9-3-2019 14:00,874449.68,407049.2,407049.2 +9-3-2019 15:00,763204.72,355265.6,355265.6 +9-3-2019 16:00,93816.83,43670.97,43670.97 +9-3-2019 17:00,2020360.64,940461.36,940461.36 +9-3-2019 18:00,2491540.48,1159791.76,1159791.76 +9-3-2019 19:00,2516249.76,1171293.84,1171293.84 +9-3-2019 20:00,2458925.76,1144610,1144610 +9-3-2019 21:00,1881382.88,875768.4,875768.4 +9-3-2019 22:00,793764.96,369491.12,369491.12 +9-3-2019 23:00,451802.16,210310.22,210310.22 +10-3-2019 00:00,444352.36,206842.4,206842.4 +10-3-2019 01:00,478832.2,222892.48,222892.48 +10-3-2019 02:00,508344.92,236630.4,236630.4 +10-3-2019 03:00,582223.8,271020.48,271020.48 +10-3-2019 04:00,745222.48,346895,346895 +10-3-2019 05:00,875680.96,407622.36,407622.36 +10-3-2019 06:00,1004776.96,467715.48,467715.48 +10-3-2019 07:00,1848901.6,860648.64,860648.64 +10-3-2019 08:00,2645295.84,1231363.68,1231363.68 +10-3-2019 09:00,5486052.48,2553712.64,2553712.64 +10-3-2019 10:00,4977828.48,2317138.72,2317138.72 +10-3-2019 11:00,2489300.32,1158749.04,1158749.04 +10-3-2019 12:00,2043559.2,951260.16,951260.16 +10-3-2019 13:00,1266307.76,589455.8,589455.8 +10-3-2019 14:00,1158532.08,539287.24,539287.24 +10-3-2019 15:00,1135703.04,528660.52,528660.52 +10-3-2019 16:00,1309685.52,609647.96,609647.96 +10-3-2019 17:00,2798356.16,1302612.08,1302612.08 +10-3-2019 18:00,3010863.04,1401532.16,1401532.16 +10-3-2019 19:00,3026520.96,1408820.8,1408820.8 +10-3-2019 20:00,2974816.64,1384752.8,1384752.8 +10-3-2019 21:00,2198085.92,1023191.04,1023191.04 +10-3-2019 22:00,966142,449731.2,449731.2 +10-3-2019 23:00,579389.04,269700.86,269700.86 +11-3-2019 00:00,601608.72,280043.94,280043.94 +11-3-2019 01:00,610972.12,284402.52,284402.52 +11-3-2019 02:00,670142.88,311946.04,311946.04 +11-3-2019 03:00,850941.28,396106.24,396106.24 +11-3-2019 04:00,1027354.16,478224.96,478224.96 +11-3-2019 05:00,1111577.6,517430.36,517430.36 +11-3-2019 06:00,1226655.04,570997.92,570997.92 +11-3-2019 07:00,3193301.44,1486455.52,1486455.52 +11-3-2019 08:00,2656612.8,1236631.6,1236631.6 +11-3-2019 09:00,4338699.84,2019629.44,2019629.44 +11-3-2019 10:00,3245351.36,1510684.64,1510684.64 +11-3-2019 11:00,1245948.48,579978.84,579978.84 +11-3-2019 12:00,1686291.68,784954.88,784954.88 +11-3-2019 13:00,1225681.12,570544.6,570544.6 +11-3-2019 14:00,752877.76,350458.48,350458.48 +11-3-2019 15:00,950514.64,442456.8,442456.8 +11-3-2019 16:00,1309451.76,609539.08,609539.08 +11-3-2019 17:00,2199237.12,1023726.96,1023726.96 +11-3-2019 18:00,6394260.48,2976476.16,2976476.16 +11-3-2019 19:00,3550341.44,1652655.04,1652655.04 +11-3-2019 20:00,2920700.48,1359562.08,1359562.08 +11-3-2019 21:00,2926498.88,1362261.28,1362261.28 +11-3-2019 22:00,1604814.4,747028,747028 +11-3-2019 23:00,575896.32,268075.04,268075.04 +12-3-2019 00:00,552592.12,257227.08,257227.08 +12-3-2019 01:00,542292.8,252432.88,252432.88 +12-3-2019 02:00,548340.84,255248.16,255248.16 +12-3-2019 03:00,797717.6,371331.04,371331.04 +12-3-2019 04:00,964224.48,448838.64,448838.64 +12-3-2019 05:00,1046011.44,486909.8,486909.8 +12-3-2019 06:00,1202469.76,559739.76,559739.76 +12-3-2019 07:00,3102324.8,1444106.88,1444106.88 +12-3-2019 08:00,2620504.32,1219823.36,1219823.36 +12-3-2019 09:00,4161390.72,1937093.28,1937093.28 +12-3-2019 10:00,3076592.64,1432128.64,1432128.64 +12-3-2019 11:00,1159128.32,539564.76,539564.76 +12-3-2019 12:00,1637045.44,762031.28,762031.28 +12-3-2019 13:00,1125899.28,524096.88,524096.88 +12-3-2019 14:00,777241.12,361799.36,361799.36 +12-3-2019 15:00,835656.96,388991.48,388991.48 +12-3-2019 16:00,1144392.96,532705.52,532705.52 +12-3-2019 17:00,2068662.4,962945.52,962945.52 +12-3-2019 18:00,6318293.12,2941113.92,2941113.92 +12-3-2019 19:00,3472434.24,1616389.76,1616389.76 +12-3-2019 20:00,2994886.08,1394095.2,1394095.2 +12-3-2019 21:00,2937621.44,1367439.04,1367439.04 +12-3-2019 22:00,1561051.04,726656.56,726656.56 +12-3-2019 23:00,527383.48,245492.72,245492.72 +13-3-2019 00:00,515399.4,239914.22,239914.22 +13-3-2019 01:00,506170.48,235618.2,235618.2 +13-3-2019 02:00,521538.68,242772.04,242772.04 +13-3-2019 03:00,622845.16,289929.32,289929.32 +13-3-2019 04:00,847620.8,394560.56,394560.56 +13-3-2019 05:00,982302.64,457253.88,457253.88 +13-3-2019 06:00,1107723.84,515636.48,515636.48 +13-3-2019 07:00,2940672,1368858.72,1368858.72 +13-3-2019 08:00,2575038.08,1198659.2,1198659.2 +13-3-2019 09:00,4116657.6,1916270.56,1916270.56 +13-3-2019 10:00,3087602.88,1437254.08,1437254.08 +13-3-2019 11:00,1299654.16,604978.4,604978.4 +13-3-2019 12:00,1760170.72,819345.12,819345.12 +13-3-2019 13:00,1226770.48,571051.68,571051.68 +13-3-2019 14:00,837746.96,389964.36,389964.36 +13-3-2019 15:00,834827.2,388605.24,388605.24 +13-3-2019 16:00,1122570.8,522547.56,522547.56 +13-3-2019 17:00,2084530.72,970332,970332 +13-3-2019 18:00,6345887.36,2953958.72,2953958.72 +13-3-2019 19:00,3513641.6,1635571.52,1635571.52 +13-3-2019 20:00,2778548.8,1293392,1293392 +13-3-2019 21:00,2722695.04,1267392.32,1267392.32 +13-3-2019 22:00,1431521.44,666361.52,666361.52 +13-3-2019 23:00,487472.4,226914.42,226914.42 +14-3-2019 00:00,478944.76,222944.9,222944.9 +14-3-2019 01:00,478239.12,222616.4,222616.4 +14-3-2019 02:00,480032,223450.96,223450.96 +14-3-2019 03:00,485365.92,225933.86,225933.86 +14-3-2019 04:00,699436,325581.72,325581.72 +14-3-2019 05:00,858505.36,399627.24,399627.24 +14-3-2019 06:00,1053813.12,490541.4,490541.4 +14-3-2019 07:00,2854852.8,1328910.64,1328910.64 +14-3-2019 08:00,2533465.76,1179307.84,1179307.84 +14-3-2019 09:00,4073462.08,1896163.52,1896163.52 +14-3-2019 10:00,2947784.64,1372169.6,1372169.6 +14-3-2019 11:00,1098801.84,511483.32,511483.32 +14-3-2019 12:00,1471483.2,684963.44,684963.44 +14-3-2019 13:00,983242.72,457691.48,457691.48 +14-3-2019 14:00,653853.84,304363.62,304363.62 +14-3-2019 15:00,696859.04,324382.2,324382.2 +14-3-2019 16:00,1114043.2,518578,518578 +14-3-2019 17:00,2081365.92,968858.8,968858.8 +14-3-2019 18:00,6268324.48,2917854.08,2917854.08 +14-3-2019 19:00,3407811.84,1586308.64,1586308.64 +14-3-2019 20:00,2675233.12,1245299.2,1245299.2 +14-3-2019 21:00,2607204.32,1213632.32,1213632.32 +14-3-2019 22:00,1373973.76,639573.6,639573.6 +14-3-2019 23:00,444844.4,207071.42,207071.42 +15-3-2019 00:00,469669.28,218627.22,218627.22 +15-3-2019 01:00,465400.56,216640.16,216640.16 +15-3-2019 02:00,468822.28,218232.94,218232.94 +15-3-2019 03:00,480462.04,223651.16,223651.16 +15-3-2019 04:00,634883.12,295532.9,295532.9 +15-3-2019 05:00,765431.52,356302.2,356302.2 +15-3-2019 06:00,964395.84,448918.4,448918.4 +15-3-2019 07:00,2755868.16,1282834.08,1282834.08 +15-3-2019 08:00,2409739.52,1121714.08,1121714.08 +15-3-2019 09:00,3789067.2,1763779.84,1763779.84 +15-3-2019 10:00,2408245.12,1121018.4,1121018.4 +15-3-2019 11:00,773696.32,360149.28,360149.28 +15-3-2019 12:00,1234931.52,574850.52,574850.52 +15-3-2019 13:00,826301.28,384636.52,384636.52 +15-3-2019 14:00,509784.96,237300.74,237300.74 +15-3-2019 15:00,584169.8,271926.26,271926.26 +15-3-2019 16:00,846304.4,393947.76,393947.76 +15-3-2019 17:00,1822240.8,848238.32,848238.32 +15-3-2019 18:00,6033448.32,2808520.96,2808520.96 +15-3-2019 19:00,3106419.52,1446013.12,1446013.12 +15-3-2019 20:00,2580274.88,1201096.96,1201096.96 +15-3-2019 21:00,2570400.8,1196500.64,1196500.64 +15-3-2019 22:00,1323008.08,615849.48,615849.48 +15-3-2019 23:00,390384.08,181720.58,181720.58 +16-3-2019 00:00,416659.96,193951.82,193951.82 +16-3-2019 01:00,440368.68,204988.02,204988.02 +16-3-2019 02:00,439733.88,204692.54,204692.54 +16-3-2019 03:00,451522.12,210179.86,210179.86 +16-3-2019 04:00,523023.2,243463.06,243463.06 +16-3-2019 05:00,713592.08,332171.26,332171.26 +16-3-2019 06:00,873556.8,406633.56,406633.56 +16-3-2019 07:00,1592387.04,741243.12,741243.12 +16-3-2019 08:00,2449042.56,1140009.28,1140009.28 +16-3-2019 09:00,5066222.72,2358285.44,2358285.44 +16-3-2019 10:00,4336134.72,2018435.36,2018435.36 +16-3-2019 11:00,2034961.76,947258.16,947258.16 +16-3-2019 12:00,1843076,857936.8,857936.8 +16-3-2019 13:00,1083780.88,504491.2,504491.2 +16-3-2019 14:00,736720.72,342937.52,342937.52 +16-3-2019 15:00,519300.8,241730.28,241730.28 +16-3-2019 16:00,662392.28,308338.2,308338.2 +16-3-2019 17:00,2086447.2,971224.16,971224.16 +16-3-2019 18:00,2277933.12,1060359.28,1060359.28 +16-3-2019 19:00,2304413.12,1072685.52,1072685.52 +16-3-2019 20:00,2286445.76,1064321.92,1064321.92 +16-3-2019 21:00,1754728.32,816811.68,816811.68 +16-3-2019 22:00,717118.56,333812.84,333812.84 +16-3-2019 23:00,364498.12,169670.92,169670.92 +17-3-2019 00:00,350780.04,163285.23,163285.23 +17-3-2019 01:00,421637.12,196268.64,196268.64 +17-3-2019 02:00,479921.96,223399.76,223399.76 +17-3-2019 03:00,486250.52,226345.64,226345.64 +17-3-2019 04:00,613494.4,285576.66,285576.66 +17-3-2019 05:00,813967.6,378895.28,378895.28 +17-3-2019 06:00,974298,453527.8,453527.8 +17-3-2019 07:00,1697633.6,790234.72,790234.72 +17-3-2019 08:00,2504113.76,1165644.4,1165644.4 +17-3-2019 09:00,5168856,2406060.32,2406060.32 +17-3-2019 10:00,4338402.88,2019491.04,2019491.04 +17-3-2019 11:00,2096271.2,975797.28,975797.28 +17-3-2019 12:00,1878664.48,874502.96,874502.96 +17-3-2019 13:00,1112303.6,517768.24,517768.24 +17-3-2019 14:00,475087.04,221149.12,221149.12 +17-3-2019 15:00,261040.4,121512.17,121512.17 +17-3-2019 16:00,245745.08,114392.33,114392.33 +17-3-2019 17:00,2086648.16,971317.6,971317.6 +17-3-2019 18:00,2557954.88,1190707.12,1190707.12 +17-3-2019 19:00,2656086.24,1236386.48,1236386.48 +17-3-2019 20:00,2832213.76,1318372.4,1318372.4 +17-3-2019 21:00,2177289.6,1013510.48,1013510.48 +17-3-2019 22:00,978019.04,455259.88,455259.88 +17-3-2019 23:00,549244.68,255668.94,255668.94 +18-3-2019 00:00,542511.24,252534.54,252534.54 +18-3-2019 01:00,548904.16,255510.4,255510.4 +18-3-2019 02:00,631926.88,294156.8,294156.8 +18-3-2019 03:00,826747.44,384844.16,384844.16 +18-3-2019 04:00,935370.24,435407.2,435407.2 +18-3-2019 05:00,1043677.52,485823.36,485823.36 +18-3-2019 06:00,1210012.56,563250.96,563250.96 +18-3-2019 07:00,2996597.76,1394892,1394892 +18-3-2019 08:00,2253558.4,1049012.96,1049012.96 +18-3-2019 09:00,3784749.12,1761769.6,1761769.6 +18-3-2019 10:00,2845317.76,1324472.32,1324472.32 +18-3-2019 11:00,911117.68,424117.84,424117.84 +18-3-2019 12:00,1579368,735182.96,735182.96 +18-3-2019 13:00,1251278.48,582459.96,582459.96 +18-3-2019 14:00,295044.74,137340.91,137340.91 +18-3-2019 15:00,645576.6,300510.66,300510.66 +18-3-2019 16:00,863202.16,401813.56,401813.56 +18-3-2019 17:00,1964889.6,914640,914640 +18-3-2019 18:00,6263774.72,2915735.68,2915735.68 +18-3-2019 19:00,3377540.48,1572217.6,1572217.6 +18-3-2019 20:00,2907984.32,1353643.04,1353643.04 +18-3-2019 21:00,3077309.44,1432462.24,1432462.24 +18-3-2019 22:00,1731500.32,805999.28,805999.28 +18-3-2019 23:00,563003.24,262073.4,262073.4 +19-3-2019 00:00,567929.8,264366.7,264366.7 +19-3-2019 01:00,645345.2,300402.92,300402.92 +19-3-2019 02:00,905151.92,421340.84,421340.84 +19-3-2019 03:00,1198690.8,557980.76,557980.76 +19-3-2019 04:00,1385714.4,645038.76,645038.76 +19-3-2019 05:00,1500338.88,698395.52,698395.52 +19-3-2019 06:00,1654980.32,770379.84,770379.84 +19-3-2019 07:00,3879812.16,1806020.96,1806020.96 +19-3-2019 08:00,2865537.28,1333884.24,1333884.24 +19-3-2019 09:00,4367019.2,2032812,2032812 +19-3-2019 10:00,3400683.2,1582990.24,1582990.24 +19-3-2019 11:00,1082572.72,503928.76,503928.76 +19-3-2019 12:00,1401096.32,652198.96,652198.96 +19-3-2019 13:00,438884.4,204297.1,204297.1 +19-3-2019 14:00,442251.16,205864.28,205864.28 +19-3-2019 15:00,718777.68,334585.18,334585.18 +19-3-2019 16:00,916408.16,426580.56,426580.56 +19-3-2019 17:00,1757217.12,817970.24,817970.24 +19-3-2019 18:00,6258892.16,2913463.04,2913463.04 +19-3-2019 19:00,3511728,1634680.64,1634680.64 +19-3-2019 20:00,2873796.16,1337728.64,1337728.64 +19-3-2019 21:00,3042510.72,1416263.84,1416263.84 +19-3-2019 22:00,1679251.84,781678,781678 +19-3-2019 23:00,524425.4,244115.74,244115.74 +20-3-2019 00:00,538797.2,250805.68,250805.68 +20-3-2019 01:00,501932.76,233645.6,233645.6 +20-3-2019 02:00,503571.12,234408.26,234408.26 +20-3-2019 03:00,645206.56,300338.34,300338.34 +20-3-2019 04:00,845911.28,393764.8,393764.8 +20-3-2019 05:00,950817.84,442597.92,442597.92 +20-3-2019 06:00,1079137.12,502329.48,502329.48 +20-3-2019 07:00,2878823.36,1340068.88,1340068.88 +20-3-2019 08:00,2418337.6,1125716.56,1125716.56 +20-3-2019 09:00,3934468.16,1831462.72,1831462.72 +20-3-2019 10:00,2752598.08,1281312,1281312 +20-3-2019 11:00,1012745.44,471424.72,471424.72 +20-3-2019 12:00,1508844.8,702354.88,702354.88 +20-3-2019 13:00,951237.76,442793.4,442793.4 +20-3-2019 14:00,584273.44,271974.54,271974.54 +20-3-2019 15:00,600671.88,279607.88,279607.88 +20-3-2019 16:00,785860.72,365811.76,365811.76 +20-3-2019 17:00,1767760.48,822878.08,822878.08 +20-3-2019 18:00,6042212.48,2812600.32,2812600.32 +20-3-2019 19:00,3095986.24,1441156.32,1441156.32 +20-3-2019 20:00,2540192.64,1182439.12,1182439.12 +20-3-2019 21:00,2542077.44,1183316.32,1183316.32 +20-3-2019 22:00,1428939.04,665159.44,665159.44 +20-3-2019 23:00,455959.72,212245.52,212245.52 +21-3-2019 00:00,477006.6,222042.66,222042.66 +21-3-2019 01:00,523801.56,243825.38,243825.38 +21-3-2019 02:00,521674.08,242835,242835 +21-3-2019 03:00,570642.56,265629.48,265629.48 +21-3-2019 04:00,839075.76,390582.88,390582.88 +21-3-2019 05:00,1019759.12,474689.52,474689.52 +21-3-2019 06:00,1043769.52,485866.2,485866.2 +21-3-2019 07:00,2801778.24,1304205.04,1304205.04 +21-3-2019 08:00,2344291.2,1091248.56,1091248.56 +21-3-2019 09:00,3835812.16,1785539.2,1785539.2 +21-3-2019 10:00,2596668.16,1208727.92,1208727.92 +21-3-2019 11:00,898228.08,418117.84,418117.84 +21-3-2019 12:00,1415582.56,658942.2,658942.2 +21-3-2019 13:00,850125.84,395726.64,395726.64 +21-3-2019 14:00,512070.68,238364.74,238364.74 +21-3-2019 15:00,566413.2,263660.7,263660.7 +21-3-2019 16:00,737172.4,343147.72,343147.72 +21-3-2019 17:00,1752216,815642.24,815642.24 +21-3-2019 18:00,6058942.08,2820387.84,2820387.84 +21-3-2019 19:00,3123646.08,1454031.84,1454031.84 +21-3-2019 20:00,2645363.04,1231394.88,1231394.88 +21-3-2019 21:00,2797353.92,1302145.36,1302145.36 +21-3-2019 22:00,1545710.72,719515.84,719515.84 +21-3-2019 23:00,487361.72,226862.9,226862.9 +22-3-2019 00:00,499961.44,232727.96,232727.96 +22-3-2019 01:00,496832,231271.22,231271.22 +22-3-2019 02:00,483647.44,225133.92,225133.92 +22-3-2019 03:00,561639.24,261438.48,261438.48 +22-3-2019 04:00,772055.04,359385.28,359385.28 +22-3-2019 05:00,886948.4,412867.24,412867.24 +22-3-2019 06:00,1065969.12,496199.96,496199.96 +22-3-2019 07:00,2857761.92,1330264.8,1330264.8 +22-3-2019 08:00,2502891.36,1165075.44,1165075.44 +22-3-2019 09:00,4115339.2,1915656.96,1915656.96 +22-3-2019 10:00,2826158.4,1315553.68,1315553.68 +22-3-2019 11:00,749989.2,349113.88,349113.88 +22-3-2019 12:00,1295933.36,603246.4,603246.4 +22-3-2019 13:00,427657.28,199070.98,199070.98 +22-3-2019 14:00,63834.63,29714.5,29714.5 +22-3-2019 15:00,246250.16,114627.44,114627.44 +22-3-2019 16:00,73489.12,34208.59,34208.59 +22-3-2019 17:00,141033.1,65649.76,65649.76 +22-3-2019 18:00,4219810.88,1964287.68,1964287.68 +22-3-2019 19:00,2228199.68,1037208.72,1037208.72 +22-3-2019 20:00,2567364.96,1195087.44,1195087.44 +22-3-2019 21:00,2659618.4,1238030.4,1238030.4 +22-3-2019 22:00,1381584.64,643116.44,643116.44 +22-3-2019 23:00,403938.04,188029.86,188029.86 +23-3-2019 00:00,391716.8,182340.98,182340.98 +23-3-2019 01:00,388320.08,180759.82,180759.82 +23-3-2019 02:00,389397.72,181261.46,181261.46 +23-3-2019 03:00,426842,198691.48,198691.48 +23-3-2019 04:00,589399.16,274360.44,274360.44 +23-3-2019 05:00,701865.2,326712.52,326712.52 +23-3-2019 06:00,824265.68,383688.92,383688.92 +23-3-2019 07:00,1578957.12,734991.6,734991.6 +23-3-2019 08:00,2411460.96,1122515.28,1122515.28 +23-3-2019 09:00,5010360.96,2332282.24,2332282.24 +23-3-2019 10:00,4209060.48,1959283.52,1959283.52 +23-3-2019 11:00,1955310.24,910180.96,910180.96 +23-3-2019 12:00,1796382.4,836201.36,836201.36 +23-3-2019 13:00,1088283.68,506587.2,506587.2 +23-3-2019 14:00,652395.92,303685,303685 +23-3-2019 15:00,461862.92,214993.42,214993.42 +23-3-2019 16:00,538894.24,250850.88,250850.88 +23-3-2019 17:00,2120448,987051.36,987051.36 +23-3-2019 18:00,2525681.92,1175684.32,1175684.32 +23-3-2019 19:00,2606161.12,1213146.72,1213146.72 +23-3-2019 20:00,2693719.68,1253904.56,1253904.56 +23-3-2019 21:00,2120980.48,987299.04,987299.04 +23-3-2019 22:00,967934.96,450565.76,450565.76 +23-3-2019 23:00,561740.72,261485.72,261485.72 +24-3-2019 00:00,616331.24,286897.12,286897.12 +24-3-2019 01:00,654569.52,304696.78,304696.78 +24-3-2019 02:00,892327.2,415371.08,415371.08 +24-3-2019 03:00,1072998.56,499472.04,499472.04 +24-3-2019 04:00,1288589.84,599828,599828 +24-3-2019 05:00,1374730.08,639925.64,639925.64 +24-3-2019 06:00,1481354.4,689558.32,689558.32 +24-3-2019 07:00,1998595.52,930329.92,930329.92 +24-3-2019 08:00,2554186.56,1188953.04,1188953.04 +24-3-2019 09:00,5763098.24,2682675.36,2682675.36 +24-3-2019 10:00,5250606.4,2444114.24,2444114.24 +24-3-2019 11:00,2162047.84,1006415.68,1006415.68 +24-3-2019 12:00,2239223.2,1042340.08,1042340.08 +24-3-2019 13:00,999074.24,465060.88,465060.88 +24-3-2019 14:00,69277.06,32247.9,32247.9 +24-3-2019 15:00,20621.17,9598.98,9598.98 +24-3-2019 16:00,23139.18,10771.1,10771.1 +24-3-2019 17:00,850251.12,395784.96,395784.96 +24-3-2019 18:00,2269820,1056582.8,1056582.8 +24-3-2019 19:00,2676457.76,1245869.12,1245869.12 +24-3-2019 20:00,2734207.68,1272751.44,1272751.44 +24-3-2019 21:00,2146556.64,999204.56,999204.56 +24-3-2019 22:00,974965.92,453838.64,453838.64 +24-3-2019 23:00,553019.12,257425.84,257425.84 +25-3-2019 00:00,529263.12,246367.7,246367.7 +25-3-2019 01:00,486430.64,226429.48,226429.48 +25-3-2019 02:00,564870.84,262942.74,262942.74 +25-3-2019 03:00,741381.44,345107.04,345107.04 +25-3-2019 04:00,857055.84,398952.48,398952.48 +25-3-2019 05:00,991640.16,461600.36,461600.36 +25-3-2019 06:00,1118826.8,520804.76,520804.76 +25-3-2019 07:00,2939249.28,1368196.48,1368196.48 +25-3-2019 08:00,2233038.08,1039460.96,1039460.96 +25-3-2019 09:00,3551548.48,1653216.96,1653216.96 +25-3-2019 10:00,2325437.76,1082472.4,1082472.4 +25-3-2019 11:00,910062.4,423626.6,423626.6 +25-3-2019 12:00,1460681.28,679935.28,679935.28 +25-3-2019 13:00,1015801.36,472847.2,472847.2 +25-3-2019 14:00,658041.92,306313.14,306313.14 +25-3-2019 15:00,686345.28,319488.1,319488.1 +25-3-2019 16:00,827819.68,385343.32,385343.32 +25-3-2019 17:00,1918136.16,892876.8,892876.8 +25-3-2019 18:00,6158565.12,2866761.6,2866761.6 +25-3-2019 19:00,3151216.96,1466865.92,1466865.92 +25-3-2019 20:00,2692288.64,1253238.4,1253238.4 +25-3-2019 21:00,2691748.16,1252986.72,1252986.72 +25-3-2019 22:00,1429684.8,665506.6,665506.6 +25-3-2019 23:00,436503.12,203188.62,203188.62 +26-3-2019 00:00,429314.56,199842.42,199842.42 +26-3-2019 01:00,430436.48,200364.66,200364.66 +26-3-2019 02:00,459124.96,213718.94,213718.94 +26-3-2019 03:00,520900.52,242474.92,242474.92 +26-3-2019 04:00,905033.44,421285.64,421285.64 +26-3-2019 05:00,1041148.72,484646.2,484646.2 +26-3-2019 06:00,1181474.4,549966.6,549966.6 +26-3-2019 07:00,2886572.16,1343675.84,1343675.84 +26-3-2019 08:00,2365153.28,1100959.6,1100959.6 +26-3-2019 09:00,3881392.32,1806756.48,1806756.48 +26-3-2019 10:00,2744002.24,1277310.56,1277310.56 +26-3-2019 11:00,1002734.8,466764.92,466764.92 +26-3-2019 12:00,1529129.44,711797.36,711797.36 +26-3-2019 13:00,984450.96,458253.92,458253.92 +26-3-2019 14:00,602880.12,280635.8,280635.8 +26-3-2019 15:00,632333.68,294346.16,294346.16 +26-3-2019 16:00,815397.6,379560.92,379560.92 +26-3-2019 17:00,1880117.76,875179.6,875179.6 +26-3-2019 18:00,6179809.28,2876650.88,2876650.88 +26-3-2019 19:00,3260599.04,1517782.4,1517782.4 +26-3-2019 20:00,2714303.68,1263486.24,1263486.24 +26-3-2019 21:00,2703909.44,1258647.6,1258647.6 +26-3-2019 22:00,1439218.4,669944.4,669944.4 +26-3-2019 23:00,440652.08,205119.96,205119.96 +27-3-2019 00:00,431841.52,201018.7,201018.7 +27-3-2019 01:00,447587.48,208348.32,208348.32 +27-3-2019 02:00,480249.8,223552.36,223552.36 +27-3-2019 03:00,492099.56,229068.34,229068.34 +27-3-2019 04:00,740255.52,344582.84,344582.84 +27-3-2019 05:00,869173.2,404593.04,404593.04 +27-3-2019 06:00,1064731.36,495623.72,495623.72 +27-3-2019 07:00,1578892.16,734961.44,734961.44 +27-3-2019 08:00,1999904.48,930939.28,930939.28 +27-3-2019 09:00,3092825.6,1439685.12,1439685.12 +27-3-2019 10:00,1848017.76,860237.2,860237.2 +27-3-2019 11:00,581340.08,270609.06,270609.06 +27-3-2019 12:00,1079528.96,502511.92,502511.92 +27-3-2019 13:00,758430.16,353043.08,353043.08 +27-3-2019 14:00,433791,201926.16,201926.16 +27-3-2019 15:00,478578.6,222774.42,222774.42 +27-3-2019 16:00,595811.28,277345.3,277345.3 +27-3-2019 17:00,696543.92,324235.5,324235.5 +27-3-2019 18:00,5606382.72,2609725.28,2609725.28 +27-3-2019 19:00,2702633.28,1258053.68,1258053.68 +27-3-2019 20:00,2456196.48,1143339.6,1143339.6 +27-3-2019 21:00,2495956.96,1161847.68,1161847.68 +27-3-2019 22:00,1348930.72,627916.24,627916.24 +27-3-2019 23:00,407081.56,189493.16,189493.16 +28-3-2019 00:00,397658.28,185106.68,185106.68 +28-3-2019 01:00,395171.04,183948.92,183948.92 +28-3-2019 02:00,394533.12,183651.94,183651.94 +28-3-2019 03:00,399249,185847.16,185847.16 +28-3-2019 04:00,527278.8,245444.02,245444.02 +28-3-2019 05:00,724534.08,337264.72,337264.72 +28-3-2019 06:00,872415.76,406102.44,406102.44 +28-3-2019 07:00,1779968.16,828560.64,828560.64 +28-3-2019 08:00,2151507.36,1001508.96,1001508.96 +28-3-2019 09:00,3375354.56,1571200,1571200 +28-3-2019 10:00,2201567.84,1024811.76,1024811.76 +28-3-2019 11:00,767601.04,357312.04,357312.04 +28-3-2019 12:00,1327710,618038.16,618038.16 +28-3-2019 13:00,880250.16,409749.24,409749.24 +28-3-2019 14:00,486857.4,226628.16,226628.16 +28-3-2019 15:00,509363.88,237104.72,237104.72 +28-3-2019 16:00,578878.04,269462.98,269462.98 +28-3-2019 17:00,658297.72,306432.22,306432.22 +28-3-2019 18:00,5695953.92,2651420.16,2651420.16 +28-3-2019 19:00,2846440.32,1324994.64,1324994.64 +28-3-2019 20:00,2488920.96,1158572.24,1158572.24 +28-3-2019 21:00,2555186.08,1189418.48,1189418.48 +28-3-2019 22:00,1472494.08,685433.92,685433.92 +28-3-2019 23:00,474375.2,220817.8,220817.8 +29-3-2019 00:00,483394.64,225016.26,225016.26 +29-3-2019 01:00,490841.96,228482.96,228482.96 +29-3-2019 02:00,503943.16,234581.44,234581.44 +29-3-2019 03:00,708696.88,329892.64,329892.64 +29-3-2019 04:00,1006830.24,468671.24,468671.24 +29-3-2019 05:00,1203490.48,560214.96,560214.96 +29-3-2019 06:00,1318995.36,613981.56,613981.56 +29-3-2019 07:00,1778374.56,827818.88,827818.88 +29-3-2019 08:00,1985210.72,924099.36,924099.36 +29-3-2019 09:00,2614940.96,1217233.52,1217233.52 +29-3-2019 10:00,1238676.16,576593.56,576593.56 +29-3-2019 11:00,67231.88,31295.89,31295.89 +29-3-2019 12:00,289339.82,134685.33,134685.33 +29-3-2019 13:00,99164.53,46160.28,46160.28 +29-3-2019 14:00,56608.81,26350.94,26350.94 +29-3-2019 15:00,120399.51,56044.99,56044.99 +29-3-2019 16:00,35507.4,16528.4,16528.4 +29-3-2019 17:00,36481.88,16982.02,16982.02 +29-3-2019 18:00,1741117.76,810476.16,810476.16 +29-3-2019 19:00,1271211.2,591738.4,591738.4 +29-3-2019 20:00,1764107.68,821177.76,821177.76 +29-3-2019 21:00,2083275.36,969747.84,969747.84 +29-3-2019 22:00,1196804.48,557102.72,557102.72 +29-3-2019 23:00,377367.92,175661.7,175661.7 +30-3-2019 00:00,418875.56,194983.16,194983.16 +30-3-2019 01:00,443017,206220.8,206220.8 +30-3-2019 02:00,423111.88,196955.12,196955.12 +30-3-2019 03:00,427610.84,199049.36,199049.36 +30-3-2019 04:00,682308.32,317608.94,317608.94 +30-3-2019 05:00,769475.04,358184.36,358184.36 +30-3-2019 06:00,830296.72,386496.36,386496.36 +30-3-2019 07:00,829848.32,386287.6,386287.6 +30-3-2019 08:00,2102131.36,978524.96,978524.96 +30-3-2019 09:00,3757713.28,1749185.12,1749185.12 +30-3-2019 10:00,2521910.88,1173928.96,1173928.96 +30-3-2019 11:00,831151.92,386894.48,386894.48 +30-3-2019 12:00,721941.04,336057.68,336057.68 +30-3-2019 13:00,44512.63,20720.26,20720.26 +30-3-2019 14:00,33539.11,15612.18,15612.18 +30-3-2019 15:00,44606.24,20763.84,20763.84 +30-3-2019 16:00,38993.29,18151.06,18151.06 +30-3-2019 17:00,46564.99,21675.62,21675.62 +30-3-2019 18:00,941865.04,438430.52,438430.52 +30-3-2019 19:00,1554431.2,723575.04,723575.04 +30-3-2019 20:00,1914931.04,891384.8,891384.8 +30-3-2019 21:00,1487944.16,692625.76,692625.76 +30-3-2019 22:00,622198.36,289628.26,289628.26 +30-3-2019 23:00,352861.4,164254.1,164254.1 +31-3-2019 00:00,357082.32,166218.92,166218.92 +31-3-2019 01:00,380268.08,177011.7,177011.7 +31-3-2019 02:00,372453.48,173374.06,173374.06 +31-3-2019 03:00,377877.24,175898.78,175898.78 +31-3-2019 04:00,560294.08,260812.34,260812.34 +31-3-2019 05:00,640367.48,298085.84,298085.84 +31-3-2019 06:00,1533584.16,713870.88,713870.88 +31-3-2019 07:00,2421295.84,1127093.36,1127093.36 +31-3-2019 08:00,4666068.8,2172016.8,2172016.8 +31-3-2019 09:00,3797770.24,1767831.04,1767831.04 +31-3-2019 10:00,1496925.28,696806.48,696806.48 +31-3-2019 11:00,921199.68,428810.96,428810.96 +31-3-2019 12:00,928002.96,431977.8,431977.8 +31-3-2019 13:00,577760.44,268942.78,268942.78 +31-3-2019 14:00,25606.48,11919.61,11919.61 +31-3-2019 15:00,19824.37,9228.08,9228.08 +31-3-2019 16:00,22302.42,10381.59,10381.59 +31-3-2019 17:00,36344.68,16918.15,16918.15 +31-3-2019 18:00,319543.42,148744.87,148744.87 +31-3-2019 19:00,1410309.44,656487.56,656487.56 +31-3-2019 20:00,1629976,758740.56,758740.56 +31-3-2019 21:00,757327.04,352529.56,352529.56 +31-3-2019 22:00,445631.72,207437.92,207437.92 +31-3-2019 23:00,446802.08,207982.7,207982.7 +1-4-2019 00:00,447279.16,208204.82,208204.82 +1-4-2019 01:00,547469.48,254842.6,254842.6 +1-4-2019 02:00,794947.6,370041.64,370041.64 +1-4-2019 03:00,930221.44,433010.48,433010.48 +1-4-2019 04:00,1059884.8,493367.76,493367.76 +1-4-2019 05:00,1214506.24,565342.72,565342.72 +1-4-2019 06:00,3167522.56,1474455.84,1474455.84 +1-4-2019 07:00,2264256.32,1053992.8,1053992.8 +1-4-2019 08:00,3325454.72,1547972.16,1547972.16 +1-4-2019 09:00,1617713.44,753032.4,753032.4 +1-4-2019 10:00,55545.24,25855.85,25855.85 +1-4-2019 11:00,134829.03,62761.81,62761.81 +1-4-2019 12:00,362316.48,168655.34,168655.34 +1-4-2019 13:00,92158.65,42899.1,42899.1 +1-4-2019 14:00,166820.24,77653.47,77653.47 +1-4-2019 15:00,56120.83,26123.79,26123.79 +1-4-2019 16:00,22302.42,10381.59,10381.59 +1-4-2019 17:00,906153.04,421806.88,421806.88 +1-4-2019 18:00,755088.96,351487.76,351487.76 +1-4-2019 19:00,1425740.16,663670.36,663670.36 +1-4-2019 20:00,1918402.4,893000.64,893000.64 +1-4-2019 21:00,1127252.08,524726.64,524726.64 +1-4-2019 22:00,364685.04,169757.92,169757.92 +1-4-2019 23:00,421164.16,196048.48,196048.48 +2-4-2019 00:00,450056.52,209497.62,209497.62 +2-4-2019 01:00,465425.32,216651.7,216651.7 +2-4-2019 02:00,545851.32,254089.34,254089.34 +2-4-2019 03:00,639376.24,297624.38,297624.38 +2-4-2019 04:00,733915.92,341631.88,341631.88 +2-4-2019 05:00,814072,378943.88,378943.88 +2-4-2019 06:00,2490565.12,1159337.76,1159337.76 +2-4-2019 07:00,2216086.72,1031570.08,1031570.08 +2-4-2019 08:00,3538055.68,1646936,1646936 +2-4-2019 09:00,2078274.24,967419.68,967419.68 +2-4-2019 10:00,267402.4,124473.66,124473.66 +2-4-2019 11:00,446099.84,207655.84,207655.84 +2-4-2019 12:00,879450,409376.84,409376.84 +2-4-2019 13:00,582059.8,270944.1,270944.1 +2-4-2019 14:00,546242.6,254271.46,254271.46 +2-4-2019 15:00,276832.74,128863.37,128863.37 +2-4-2019 16:00,85711.39,39897.95,39897.95 +2-4-2019 17:00,3652561.92,1700237.6,1700237.6 +2-4-2019 18:00,2144676,998329.28,998329.28 +2-4-2019 19:00,2334624.32,1086748.64,1086748.64 +2-4-2019 20:00,2360221.6,1098663.92,1098663.92 +2-4-2019 21:00,1286266.24,598746.4,598746.4 +2-4-2019 22:00,398079.24,185302.64,185302.64 +2-4-2019 23:00,392184.24,182558.54,182558.54 +3-4-2019 00:00,387375.84,180320.3,180320.3 +3-4-2019 01:00,390860,181942.14,181942.14 +3-4-2019 02:00,424509.08,197605.5,197605.5 +3-4-2019 03:00,564117.84,262592.22,262592.22 +3-4-2019 04:00,726024.72,337958.6,337958.6 +3-4-2019 05:00,871349.2,405605.92,405605.92 +3-4-2019 06:00,2614565.6,1217058.96,1217058.96 +3-4-2019 07:00,2538491.68,1181647.12,1181647.12 +3-4-2019 08:00,3779882.56,1759504.48,1759504.48 +3-4-2019 09:00,2410120.16,1121891.36,1121891.36 +3-4-2019 10:00,526409.6,245039.36,245039.36 +3-4-2019 11:00,839000.08,390547.64,390547.64 +3-4-2019 12:00,1328280.48,618303.72,618303.72 +3-4-2019 13:00,1110898.16,517114.08,517114.08 +3-4-2019 14:00,880907.92,410055.48,410055.48 +3-4-2019 15:00,705318.32,328319.88,328319.88 +3-4-2019 16:00,360683.84,167895.38,167895.38 +3-4-2019 17:00,4746774.4,2209584.96,2209584.96 +3-4-2019 18:00,2780334.08,1294222.64,1294222.64 +3-4-2019 19:00,2681977.12,1248438.48,1248438.48 +3-4-2019 20:00,2683240.96,1249026.72,1249026.72 +3-4-2019 21:00,1433249.44,667165.96,667165.96 +3-4-2019 22:00,469434.6,218517.98,218517.98 +3-4-2019 23:00,489211.4,227723.92,227723.92 +4-4-2019 00:00,494242.36,230065.78,230065.78 +4-4-2019 01:00,503802.68,234516.04,234516.04 +4-4-2019 02:00,694460,323265.48,323265.48 +4-4-2019 03:00,910888.96,424011.36,424011.36 +4-4-2019 04:00,1076408.96,501059.52,501059.52 +4-4-2019 05:00,1200098.72,558636.24,558636.24 +4-4-2019 06:00,3236451.84,1506541.92,1506541.92 +4-4-2019 07:00,2778247.04,1293251.44,1293251.44 +4-4-2019 08:00,4073554.24,1896206.24,1896206.24 +4-4-2019 09:00,2903424.96,1351520.48,1351520.48 +4-4-2019 10:00,808005.52,376119.96,376119.96 +4-4-2019 11:00,1046188.56,486992.24,486992.24 +4-4-2019 12:00,1486212.96,691819.92,691819.92 +4-4-2019 13:00,907701.2,422527.52,422527.52 +4-4-2019 14:00,750943.76,349558.16,349558.16 +4-4-2019 15:00,717854.96,334155.64,334155.64 +4-4-2019 16:00,404069.92,188091.26,188091.26 +4-4-2019 17:00,4779356.48,2224751.52,2224751.52 +4-4-2019 18:00,2812974.4,1309416.48,1309416.48 +4-4-2019 19:00,2700820.48,1257210,1257210 +4-4-2019 20:00,2723784,1267899.2,1267899.2 +4-4-2019 21:00,1491313.76,694194.32,694194.32 +4-4-2019 22:00,486854.8,226626.96,226626.96 +4-4-2019 23:00,479720.2,223305.82,223305.82 +5-4-2019 00:00,480102.72,223483.88,223483.88 +5-4-2019 01:00,487457.56,226907.52,226907.52 +5-4-2019 02:00,664576,309354.68,309354.68 +5-4-2019 03:00,932690.4,434159.76,434159.76 +5-4-2019 04:00,1126259.92,524264.84,524264.84 +5-4-2019 05:00,1312389.92,610906.8,610906.8 +5-4-2019 06:00,3379641.28,1573195.52,1573195.52 +5-4-2019 07:00,2625412.32,1222107.92,1222107.92 +5-4-2019 08:00,3973858.24,1849798.56,1849798.56 +5-4-2019 09:00,2649332.32,1233242.56,1233242.56 +5-4-2019 10:00,447185.04,208161,208161 +5-4-2019 11:00,300531.38,139894.91,139894.91 +5-4-2019 12:00,1106790,515201.72,515201.72 +5-4-2019 13:00,717830,334144.02,334144.02 +5-4-2019 14:00,546272.4,254285.34,254285.34 +5-4-2019 15:00,552424.44,257149.08,257149.08 +5-4-2019 16:00,179954.76,83767.47,83767.47 +5-4-2019 17:00,4421584.32,2058211.68,2058211.68 +5-4-2019 18:00,2443722.24,1137532.8,1137532.8 +5-4-2019 19:00,2502294.88,1164797.84,1164797.84 +5-4-2019 20:00,2528058.56,1176790.64,1176790.64 +5-4-2019 21:00,1354565.44,630539.24,630539.24 +5-4-2019 22:00,420178.76,195589.8,195589.8 +5-4-2019 23:00,411204.6,191412.38,191412.38 +6-4-2019 00:00,402768.36,187485.38,187485.38 +6-4-2019 01:00,402959.28,187574.26,187574.26 +6-4-2019 02:00,405414.16,188717,188717 +6-4-2019 03:00,535228.96,249144.72,249144.72 +6-4-2019 04:00,679297.92,316207.64,316207.64 +6-4-2019 05:00,782218.88,364116.52,364116.52 +6-4-2019 06:00,1633735.68,760490.64,760490.64 +6-4-2019 07:00,2540833.76,1182737.28,1182737.28 +6-4-2019 08:00,5129929.6,2387940.64,2387940.64 +6-4-2019 09:00,4235154.24,1971429.92,1971429.92 +6-4-2019 10:00,1658599.84,772064.64,772064.64 +6-4-2019 11:00,1177129.04,547943.96,547943.96 +6-4-2019 12:00,1425827.36,663711.04,663711.04 +6-4-2019 13:00,706561.92,328898.84,328898.84 +6-4-2019 14:00,385442.12,179420.16,179420.16 +6-4-2019 15:00,211588.64,98492.78,98492.78 +6-4-2019 16:00,100317.7,46697.07,46697.07 +6-4-2019 17:00,442579.4,206017.1,206017.1 +6-4-2019 18:00,1757453.12,818080,818080 +6-4-2019 19:00,2108031.04,981271.36,981271.36 +6-4-2019 20:00,1729962.08,805283.28,805283.28 +6-4-2019 21:00,723536.64,336800.4,336800.4 +6-4-2019 22:00,380558.64,177146.92,177146.92 +6-4-2019 23:00,371758.16,173050.38,173050.38 +7-4-2019 00:00,348019.6,162000.27,162000.27 +7-4-2019 01:00,338782.64,157700.56,157700.56 +7-4-2019 02:00,339664.84,158111.22,158111.22 +7-4-2019 03:00,414875.68,193121.24,193121.24 +7-4-2019 04:00,534787.28,248939.1,248939.1 +7-4-2019 05:00,684860.8,318797.14,318797.14 +7-4-2019 06:00,1514112.48,704807.04,704807.04 +7-4-2019 07:00,2306719.04,1073759.04,1073759.04 +7-4-2019 08:00,4513611.84,2101049.28,2101049.28 +7-4-2019 09:00,3295611.52,1534080.32,1534080.32 +7-4-2019 10:00,936782.32,436064.48,436064.48 +7-4-2019 11:00,113494.17,52830.61,52830.61 +7-4-2019 12:00,142416.43,66293.69,66293.69 +7-4-2019 13:00,74511.25,34684.38,34684.38 +7-4-2019 14:00,39161.69,18229.45,18229.45 +7-4-2019 15:00,21931.46,10208.92,10208.92 +7-4-2019 16:00,24428.61,11371.32,11371.32 +7-4-2019 17:00,44160.71,20556.45,20556.45 +7-4-2019 18:00,549763.48,255910.4,255910.4 +7-4-2019 19:00,1103204.56,513532.72,513532.72 +7-4-2019 20:00,1007417.76,468944.72,468944.72 +7-4-2019 21:00,416962.6,194092.66,194092.66 +7-4-2019 22:00,187909.88,87470.52,87470.52 +7-4-2019 23:00,200095.32,93142.74,93142.74 +8-4-2019 00:00,275418.6,128205.11,128205.11 +8-4-2019 01:00,295912.6,137744.9,137744.9 +8-4-2019 02:00,310278.36,144432.05,144432.05 +8-4-2019 03:00,314495.7,146395.17,146395.17 +8-4-2019 04:00,342005,159200.55,159200.55 +8-4-2019 05:00,538654.04,250739.02,250739.02 +8-4-2019 06:00,1797625.76,836780.16,836780.16 +8-4-2019 07:00,1962345.28,913455.76,913455.76 +8-4-2019 08:00,1966510.56,915394.64,915394.64 +8-4-2019 09:00,973342.08,453082.8,453082.8 +8-4-2019 10:00,50386.95,23454.71,23454.71 +8-4-2019 11:00,56796.4,26438.26,26438.26 +8-4-2019 12:00,101014.77,47021.56,47021.56 +8-4-2019 13:00,41787.58,19451.78,19451.78 +8-4-2019 14:00,71224.86,33154.6,33154.6 +8-4-2019 15:00,25989.34,12097.83,12097.83 +8-4-2019 16:00,22302.42,10381.59,10381.59 +8-4-2019 17:00,412914.4,192208.26,192208.26 +8-4-2019 18:00,472489.96,219940.24,219940.24 +8-4-2019 19:00,794553.68,369858.28,369858.28 +8-4-2019 20:00,1121180.56,521900.4,521900.4 +8-4-2019 21:00,599997.6,279293.98,279293.98 +8-4-2019 22:00,79083.42,36812.68,36812.68 +8-4-2019 23:00,152411.93,70946.51,70946.51 +9-4-2019 00:00,181121.74,84310.7,84310.7 +9-4-2019 01:00,225869.04,105140.19,105140.19 +9-4-2019 02:00,291075.54,135493.29,135493.29 +9-4-2019 03:00,320187.1,149044.48,149044.48 +9-4-2019 04:00,345469.48,160813.25,160813.25 +9-4-2019 05:00,535020.68,249047.78,249047.78 +9-4-2019 06:00,1748506.4,813915.44,813915.44 +9-4-2019 07:00,1976888.8,920225.68,920225.68 +9-4-2019 08:00,2411388.48,1122481.68,1122481.68 +9-4-2019 09:00,1572998.08,732217.76,732217.76 +9-4-2019 10:00,213871.34,99555.37,99555.37 +9-4-2019 11:00,367694.32,171158.7,171158.7 +9-4-2019 12:00,601351.88,279924.34,279924.34 +9-4-2019 13:00,287392.18,133778.72,133778.72 +9-4-2019 14:00,261793.54,121862.75,121862.75 +9-4-2019 15:00,227087.9,105707.55,105707.55 +9-4-2019 16:00,24427.95,11371.01,11371.01 +9-4-2019 17:00,2401898.24,1118064,1118064 +9-4-2019 18:00,1279646.4,595664.96,595664.96 +9-4-2019 19:00,1698599.04,790683.92,790683.92 +9-4-2019 20:00,1861274.08,866407.92,866407.92 +9-4-2019 21:00,1049299.2,488440.2,488440.2 +9-4-2019 22:00,341572.84,158999.39,158999.39 +9-4-2019 23:00,358567.96,166910.46,166910.46 +10-4-2019 00:00,367571.4,171101.5,171101.5 +10-4-2019 01:00,381996.16,177816.08,177816.08 +10-4-2019 02:00,401030.52,186676.46,186676.46 +10-4-2019 03:00,473525.16,220422.1,220422.1 +10-4-2019 04:00,683715.76,318264.12,318264.12 +10-4-2019 05:00,811565.44,377777.08,377777.08 +10-4-2019 06:00,2306111.04,1073476.08,1073476.08 +10-4-2019 07:00,2064693.12,961097.68,961097.68 +10-4-2019 08:00,2709112.32,1261069.68,1261069.68 +10-4-2019 09:00,1281955.84,596740,596740 +10-4-2019 10:00,50386.95,23454.71,23454.71 +10-4-2019 11:00,86407.36,40221.93,40221.93 +10-4-2019 12:00,300801.34,140020.57,140020.57 +10-4-2019 13:00,90107.96,41944.53,41944.53 +10-4-2019 14:00,131316.33,61126.69,61126.69 +10-4-2019 15:00,50631.7,23568.64,23568.64 +10-4-2019 16:00,22302.42,10381.59,10381.59 +10-4-2019 17:00,745342.96,346951.04,346951.04 +10-4-2019 18:00,737418.48,343262.28,343262.28 +10-4-2019 19:00,1355722.56,631077.76,631077.76 +10-4-2019 20:00,1821304.64,847802.4,847802.4 +10-4-2019 21:00,1082108.56,503712.68,503712.68 +10-4-2019 22:00,342852.76,159595.15,159595.15 +10-4-2019 23:00,376038.8,175043.02,175043.02 +11-4-2019 00:00,421262.96,196094.48,196094.48 +11-4-2019 01:00,438145.8,203953.3,203953.3 +11-4-2019 02:00,509433.84,237137.28,237137.28 +11-4-2019 03:00,723172.16,336630.72,336630.72 +11-4-2019 04:00,861480.48,401012.12,401012.12 +11-4-2019 05:00,1031516.32,480162.4,480162.4 +11-4-2019 06:00,2724376.96,1268175.2,1268175.2 +11-4-2019 07:00,2115855.52,984913.44,984913.44 +11-4-2019 08:00,3042926.4,1416457.44,1416457.44 +11-4-2019 09:00,1387374.24,645811.48,645811.48 +11-4-2019 10:00,50893.95,23690.72,23690.72 +11-4-2019 11:00,143590.35,66840.14,66840.14 +11-4-2019 12:00,400269.88,186322.36,186322.36 +11-4-2019 13:00,253167.12,117847.23,117847.23 +11-4-2019 14:00,203780.12,94857.99,94857.99 +11-4-2019 15:00,110221.47,51307.2,51307.2 +11-4-2019 16:00,108298.19,50411.92,50411.92 +11-4-2019 17:00,1985414.72,924194.32,924194.32 +11-4-2019 18:00,1432074.88,666619.16,666619.16 +11-4-2019 19:00,1961249.92,912945.84,912945.84 +11-4-2019 20:00,2241417.28,1043361.44,1043361.44 +11-4-2019 21:00,1264779.28,588744.4,588744.4 +11-4-2019 22:00,389379.44,181252.96,181252.96 +11-4-2019 23:00,412894.8,192199.18,192199.18 +12-4-2019 00:00,411068.24,191348.92,191348.92 +12-4-2019 01:00,415479.92,193402.52,193402.52 +12-4-2019 02:00,421621.44,196261.34,196261.34 +12-4-2019 03:00,651682.68,303352.96,303352.96 +12-4-2019 04:00,753220.96,350618.2,350618.2 +12-4-2019 05:00,881495.2,410328.8,410328.8 +12-4-2019 06:00,2511330.4,1169003.68,1169003.68 +12-4-2019 07:00,2264285.6,1054006.56,1054006.56 +12-4-2019 08:00,3256841.92,1516033.44,1516033.44 +12-4-2019 09:00,1664299.2,774717.68,774717.68 +12-4-2019 10:00,368527.68,171546.62,171546.62 +12-4-2019 11:00,412716.84,192116.32,192116.32 +12-4-2019 12:00,1047400.16,487556.24,487556.24 +12-4-2019 13:00,810806,377423.6,377423.6 +12-4-2019 14:00,797769.92,371355.44,371355.44 +12-4-2019 15:00,684200.48,318489.74,318489.74 +12-4-2019 16:00,97025.6,45164.63,45164.63 +12-4-2019 17:00,3333836.16,1551873.6,1551873.6 +12-4-2019 18:00,2136591.36,994565.76,994565.76 +12-4-2019 19:00,2685988.16,1250305.44,1250305.44 +12-4-2019 20:00,2820137.6,1312751.12,1312751.12 +12-4-2019 21:00,1572738.56,732097.04,732097.04 +12-4-2019 22:00,501286.64,233344.86,233344.86 +12-4-2019 23:00,508063.2,236499.3,236499.3 +13-4-2019 00:00,503896.68,234559.82,234559.82 +13-4-2019 01:00,513879.96,239206.9,239206.9 +13-4-2019 02:00,795489.04,370293.68,370293.68 +13-4-2019 03:00,988501.12,460139.24,460139.24 +13-4-2019 04:00,1216984.48,566496.4,566496.4 +13-4-2019 05:00,1319188.32,614071.4,614071.4 +13-4-2019 06:00,2017882.88,939308.08,939308.08 +13-4-2019 07:00,2377771.68,1106833.28,1106833.28 +13-4-2019 08:00,4985302.72,2320617.6,2320617.6 +13-4-2019 09:00,3509311.68,1633555.84,1633555.84 +13-4-2019 10:00,1128174.4,525155.96,525155.96 +13-4-2019 11:00,993222.64,462337.08,462337.08 +13-4-2019 12:00,1649959.84,768042.88,768042.88 +13-4-2019 13:00,1332544.96,620288.8,620288.8 +13-4-2019 14:00,1091135.52,507914.68,507914.68 +13-4-2019 15:00,850503.12,395902.28,395902.28 +13-4-2019 16:00,757360.72,352545.24,352545.24 +13-4-2019 17:00,914198.32,425551.84,425551.84 +13-4-2019 18:00,2717939.84,1265178.8,1265178.8 +13-4-2019 19:00,3065734.72,1427074.56,1427074.56 +13-4-2019 20:00,2365199.2,1100980.96,1100980.96 +13-4-2019 21:00,1108634.24,516060.24,516060.24 +13-4-2019 22:00,662533.4,308403.9,308403.9 +13-4-2019 23:00,667247.68,310598.32,310598.32 +14-4-2019 00:00,739968.72,344449.36,344449.36 +14-4-2019 01:00,978488.8,455478.6,455478.6 +14-4-2019 02:00,1154839.76,537568.48,537568.48 +14-4-2019 03:00,1289079.12,600055.8,600055.8 +14-4-2019 04:00,1355409.28,630931.96,630931.96 +14-4-2019 05:00,1453891.04,676774.4,676774.4 +14-4-2019 06:00,2231244.32,1038626.08,1038626.08 +14-4-2019 07:00,2844215.68,1323959.2,1323959.2 +14-4-2019 08:00,5904923.52,2748693.76,2748693.76 +14-4-2019 09:00,4576071.68,2130124,2130124 +14-4-2019 10:00,1255572.16,584458.6,584458.6 +14-4-2019 11:00,917973.04,427308.92,427308.92 +14-4-2019 12:00,1336183.2,621982.28,621982.28 +14-4-2019 13:00,455978.68,212254.34,212254.34 +14-4-2019 14:00,56846.46,26461.56,26461.56 +14-4-2019 15:00,21789.02,10142.61,10142.61 +14-4-2019 16:00,23860.36,11106.8,11106.8 +14-4-2019 17:00,57943.58,26972.26,26972.26 +14-4-2019 18:00,1162852.08,541298.16,541298.16 +14-4-2019 19:00,2324127.52,1081862.32,1081862.32 +14-4-2019 20:00,2031609.44,945697.68,945697.68 +14-4-2019 21:00,902349.28,420036.2,420036.2 +14-4-2019 22:00,492949.92,229464.18,229464.18 +14-4-2019 23:00,511313.28,238012.16,238012.16 +15-4-2019 00:00,553771,257775.9,257775.9 +15-4-2019 01:00,712566.8,331694.04,331694.04 +15-4-2019 02:00,849696.72,395526.88,395526.88 +15-4-2019 03:00,1022471.04,475951.92,475951.92 +15-4-2019 04:00,1072065.44,499037.68,499037.68 +15-4-2019 05:00,1202078.24,559557.68,559557.68 +15-4-2019 06:00,3132458.88,1458133.92,1458133.92 +15-4-2019 07:00,2338483.36,1088545.04,1088545.04 +15-4-2019 08:00,3536752.96,1646329.6,1646329.6 +15-4-2019 09:00,1952317.6,908787.92,908787.92 +15-4-2019 10:00,71486.12,33276.2,33276.2 +15-4-2019 11:00,352111.72,163905.15,163905.15 +15-4-2019 12:00,627745.84,292210.58,292210.58 +15-4-2019 13:00,215545.92,100334.86,100334.86 +15-4-2019 14:00,309008.18,143840.79,143840.79 +15-4-2019 15:00,105355.97,49042.36,49042.36 +15-4-2019 16:00,22302.42,10381.59,10381.59 +15-4-2019 17:00,1323504.8,616080.64,616080.64 +15-4-2019 18:00,723566.32,336814.2,336814.2 +15-4-2019 19:00,1302366.48,606240.96,606240.96 +15-4-2019 20:00,1800957.6,838331.04,838331.04 +15-4-2019 21:00,1030604.4,479737.92,479737.92 +15-4-2019 22:00,282857.78,131667.98,131667.98 +15-4-2019 23:00,335197.02,156031.48,156031.48 +16-4-2019 00:00,371492.72,172926.84,172926.84 +16-4-2019 01:00,381979.68,177808.42,177808.42 +16-4-2019 02:00,390440.6,181746.92,181746.92 +16-4-2019 03:00,494577.4,230221.74,230221.74 +16-4-2019 04:00,683274.16,318058.56,318058.56 +16-4-2019 05:00,827471.84,385181.4,385181.4 +16-4-2019 06:00,2309946.56,1075261.44,1075261.44 +16-4-2019 07:00,2059514.88,958687.36,958687.36 +16-4-2019 08:00,3085771.84,1436401.6,1436401.6 +16-4-2019 09:00,1731959.36,806212.88,806212.88 +16-4-2019 10:00,265500.42,123588.28,123588.28 +16-4-2019 11:00,284935.64,132635.21,132635.21 +16-4-2019 12:00,372542.16,173415.32,173415.32 +16-4-2019 13:00,231485.88,107754.78,107754.78 +16-4-2019 14:00,283124.12,131791.96,131791.96 +16-4-2019 15:00,221830.5,103260.29,103260.29 +16-4-2019 16:00,27831.72,12955.44,12955.44 +16-4-2019 17:00,2465797.92,1147808.72,1147808.72 +16-4-2019 18:00,1228499.76,571856.64,571856.64 +16-4-2019 19:00,1591238.24,740708.56,740708.56 +16-4-2019 20:00,1792083.36,834200.16,834200.16 +16-4-2019 21:00,941558.4,438287.8,438287.8 +16-4-2019 22:00,268487.58,124978.78,124978.78 +16-4-2019 23:00,331452.92,154288.64,154288.64 +17-4-2019 00:00,364760.48,169793.02,169793.02 +17-4-2019 01:00,361806.84,168418.14,168418.14 +17-4-2019 02:00,367250.72,170952.22,170952.22 +17-4-2019 03:00,361067.92,168074.14,168074.14 +17-4-2019 04:00,487306.84,226837.36,226837.36 +17-4-2019 05:00,613830.92,285733.3,285733.3 +17-4-2019 06:00,1951124.96,908232.72,908232.72 +17-4-2019 07:00,2106951.84,980768.96,980768.96 +17-4-2019 08:00,2824703.04,1314876.32,1314876.32 +17-4-2019 09:00,1563667.52,727874.48,727874.48 +17-4-2019 10:00,133793.26,62279.68,62279.68 +17-4-2019 11:00,305932.62,142409.13,142409.13 +17-4-2019 12:00,565968.52,263453.76,263453.76 +17-4-2019 13:00,297934.14,138685.9,138685.9 +17-4-2019 14:00,311884.36,145179.61,145179.61 +17-4-2019 15:00,275386.74,128190.31,128190.31 +17-4-2019 16:00,37667.31,17533.83,17533.83 +17-4-2019 17:00,2611152.16,1215470.08,1215470.08 +17-4-2019 18:00,1289093.52,600062.56,600062.56 +17-4-2019 19:00,1681726.88,782830.24,782830.24 +17-4-2019 20:00,1828031.04,850933.44,850933.44 +17-4-2019 21:00,909956.96,423577.56,423577.56 +17-4-2019 22:00,269693.36,125540.05,125540.05 +17-4-2019 23:00,277520.62,129183.59,129183.59 +18-4-2019 00:00,266372.84,123994.37,123994.37 +18-4-2019 01:00,267280.76,124417.02,124417.02 +18-4-2019 02:00,281841.34,131194.84,131194.84 +18-4-2019 03:00,294765.26,137210.83,137210.83 +18-4-2019 04:00,301255.64,140232.04,140232.04 +18-4-2019 05:00,327749.38,152564.67,152564.67 +18-4-2019 06:00,1535799.2,714902,714902 +18-4-2019 07:00,1776269.12,826838.8,826838.8 +18-4-2019 08:00,1343421.92,625351.92,625351.92 +18-4-2019 09:00,844445.36,393082.4,393082.4 +18-4-2019 10:00,50386.95,23454.71,23454.71 +18-4-2019 11:00,52675.83,24520.17,24520.17 +18-4-2019 12:00,98406.29,45807.33,45807.33 +18-4-2019 13:00,30842.84,14357.09,14357.09 +18-4-2019 14:00,32566.38,15159.38,15159.38 +18-4-2019 15:00,19824.37,9228.08,9228.08 +18-4-2019 16:00,22302.42,10381.59,10381.59 +18-4-2019 17:00,60944.01,28368.93,28368.93 +18-4-2019 18:00,114855.52,53464.31,53464.31 +18-4-2019 19:00,203455.42,94706.85,94706.85 +18-4-2019 20:00,351217.04,163488.68,163488.68 +18-4-2019 21:00,298672.6,139029.66,139029.66 +18-4-2019 22:00,34456.52,16039.23,16039.23 +18-4-2019 23:00,19332.82,8999.27,8999.27 +19-4-2019 00:00,15325.34,7133.82,7133.82 +19-4-2019 01:00,42138.08,19614.93,19614.93 +19-4-2019 02:00,99531.17,46330.95,46330.95 +19-4-2019 03:00,139292.27,64839.42,64839.42 +19-4-2019 04:00,146521.18,68204.41,68204.41 +19-4-2019 05:00,172454.64,80276.22,80276.22 +19-4-2019 06:00,749092.8,348696.6,348696.6 +19-4-2019 07:00,1260692.72,586842.24,586842.24 +19-4-2019 08:00,1105834.24,514756.84,514756.84 +19-4-2019 09:00,853242.96,397177.64,397177.64 +19-4-2019 10:00,50386.95,23454.71,23454.71 +19-4-2019 11:00,52156.08,24278.23,24278.23 +19-4-2019 12:00,96365.19,44857.21,44857.21 +19-4-2019 13:00,29736.56,13842.13,13842.13 +19-4-2019 14:00,26935.76,12538.38,12538.38 +19-4-2019 15:00,19824.37,9228.08,9228.08 +19-4-2019 16:00,22302.42,10381.59,10381.59 +19-4-2019 17:00,36344.68,16918.15,16918.15 +19-4-2019 18:00,65156.54,30329.84,30329.84 +19-4-2019 19:00,69122.46,32175.94,32175.94 +19-4-2019 20:00,75061.7,34940.61,34940.61 +19-4-2019 21:00,82809.23,38547.02,38547.02 +19-4-2019 22:00,33866.64,15764.64,15764.64 +19-4-2019 23:00,16520.32,7690.07,7690.07 +20-4-2019 00:00,6347.58,2954.75,2954.75 +20-4-2019 01:00,6101.31,2840.11,2840.11 +20-4-2019 02:00,8895.03,4140.57,4140.57 +20-4-2019 03:00,36290.68,16893.02,16893.02 +20-4-2019 04:00,85913.58,39992.07,39992.07 +20-4-2019 05:00,149782.21,69722.4,69722.4 +20-4-2019 06:00,547630.08,254917.34,254917.34 +20-4-2019 07:00,949149.76,441821.52,441821.52 +20-4-2019 08:00,945509.68,440127.04,440127.04 +20-4-2019 09:00,482667.12,224677.6,224677.6 +20-4-2019 10:00,60518.11,28170.68,28170.68 +20-4-2019 11:00,43778.83,20378.68,20378.68 +20-4-2019 12:00,37170.69,17302.65,17302.65 +20-4-2019 13:00,29736.56,13842.13,13842.13 +20-4-2019 14:00,25606.48,11919.61,11919.61 +20-4-2019 15:00,19824.37,9228.08,9228.08 +20-4-2019 16:00,22302.42,10381.59,10381.59 +20-4-2019 17:00,36344.68,16918.15,16918.15 +20-4-2019 18:00,64429.22,29991.27,29991.27 +20-4-2019 19:00,65255.22,30375.77,30375.77 +20-4-2019 20:00,57821.08,26915.24,26915.24 +20-4-2019 21:00,47908.9,22301.2,22301.2 +20-4-2019 22:00,33866.64,15764.64,15764.64 +20-4-2019 23:00,16520.32,7690.07,7690.07 +21-4-2019 00:00,5782.11,2691.52,2691.52 +21-4-2019 01:00,3304.06,1538.01,1538.01 +21-4-2019 02:00,2253.21,1048.85,1048.85 +21-4-2019 03:00,4023.02,1872.68,1872.68 +21-4-2019 04:00,26710.6,12433.57,12433.57 +21-4-2019 05:00,72171.11,33595.06,33595.06 +21-4-2019 06:00,367377.88,171011.4,171011.4 +21-4-2019 07:00,606045.24,282109.14,282109.14 +21-4-2019 08:00,478299.8,222644.64,222644.64 +21-4-2019 09:00,368624.48,171591.7,171591.7 +21-4-2019 10:00,61182.02,28479.73,28479.73 +21-4-2019 11:00,43778.83,20378.68,20378.68 +21-4-2019 12:00,37170.69,17302.65,17302.65 +21-4-2019 13:00,29736.56,13842.13,13842.13 +21-4-2019 14:00,25606.48,11919.61,11919.61 +21-4-2019 15:00,19824.37,9228.08,9228.08 +21-4-2019 16:00,22302.42,10381.59,10381.59 +21-4-2019 17:00,36344.68,16918.15,16918.15 +21-4-2019 18:00,64429.22,29991.27,29991.27 +21-4-2019 19:00,65255.22,30375.77,30375.77 +21-4-2019 20:00,57821.08,26915.24,26915.24 +21-4-2019 21:00,47908.9,22301.2,22301.2 +21-4-2019 22:00,33866.64,15764.64,15764.64 +21-4-2019 23:00,16520.32,7690.07,7690.07 +22-4-2019 00:00,5782.11,2691.52,2691.52 +22-4-2019 01:00,3304.06,1538.01,1538.01 +22-4-2019 02:00,3302.98,1537.51,1537.51 +22-4-2019 03:00,8892.87,4139.56,4139.56 +22-4-2019 04:00,41684.81,19403.94,19403.94 +22-4-2019 05:00,109586.2,51011.48,51011.48 +22-4-2019 06:00,225257.74,104855.64,104855.64 +22-4-2019 07:00,429212.32,199794.8,199794.8 +22-4-2019 08:00,248576.18,115710.19,115710.19 +22-4-2019 09:00,509442.16,237141.18,237141.18 +22-4-2019 10:00,50386.95,23454.71,23454.71 +22-4-2019 11:00,47026.62,21890.51,21890.51 +22-4-2019 12:00,75089.17,34953.4,34953.4 +22-4-2019 13:00,29736.56,13842.13,13842.13 +22-4-2019 14:00,25606.48,11919.61,11919.61 +22-4-2019 15:00,19824.37,9228.08,9228.08 +22-4-2019 16:00,22302.42,10381.59,10381.59 +22-4-2019 17:00,36344.68,16918.15,16918.15 +22-4-2019 18:00,64429.22,29991.27,29991.27 +22-4-2019 19:00,65593.33,30533.16,30533.16 +22-4-2019 20:00,62760.72,29214.6,29214.6 +22-4-2019 21:00,50564.26,23537.25,23537.25 +22-4-2019 22:00,33866.64,15764.64,15764.64 +22-4-2019 23:00,16520.32,7690.07,7690.07 +23-4-2019 00:00,5782.11,2691.52,2691.52 +23-4-2019 01:00,4403.34,2049.72,2049.72 +23-4-2019 02:00,3100.32,1443.17,1443.17 +23-4-2019 03:00,3876.02,1804.25,1804.25 +23-4-2019 04:00,19241.01,8956.53,8956.53 +23-4-2019 05:00,43603.93,20297.27,20297.27 +23-4-2019 06:00,126920.24,59080.34,59080.34 +23-4-2019 07:00,321162.66,149498.6,149498.6 +23-4-2019 08:00,278326.56,129558.75,129558.75 +23-4-2019 09:00,471573.84,219513.78,219513.78 +23-4-2019 10:00,50386.95,23454.71,23454.71 +23-4-2019 11:00,48532.79,22591.62,22591.62 +23-4-2019 12:00,91917.19,42786.71,42786.71 +23-4-2019 13:00,30127.25,14023.99,14023.99 +23-4-2019 14:00,31747.8,14778.34,14778.34 +23-4-2019 15:00,26999.18,12567.9,12567.9 +23-4-2019 16:00,22302.42,10381.59,10381.59 +23-4-2019 17:00,50857.2,23673.61,23673.61 +23-4-2019 18:00,87751.87,40847.78,40847.78 +23-4-2019 19:00,111123.57,51727.12,51727.12 +23-4-2019 20:00,151641.45,70587.85,70587.85 +23-4-2019 21:00,129110.9,60100.07,60100.07 +23-4-2019 22:00,34387.33,16007.02,16007.02 +23-4-2019 23:00,18518.71,8620.31,8620.31 +24-4-2019 00:00,7983.68,3716.34,3716.34 +24-4-2019 01:00,14123.85,6574.54,6574.54 +24-4-2019 02:00,20266.48,9433.88,9433.88 +24-4-2019 03:00,34867.61,16230.59,16230.59 +24-4-2019 04:00,43335.54,20172.34,20172.34 +24-4-2019 05:00,54667.52,25447.29,25447.29 +24-4-2019 06:00,169583.64,78939.8,78939.8 +24-4-2019 07:00,347870.6,161930.92,161930.92 +24-4-2019 08:00,287734.98,133938.28,133938.28 +24-4-2019 09:00,328859.22,153081.28,153081.28 +24-4-2019 10:00,50386.95,23454.71,23454.71 +24-4-2019 11:00,45004.18,20949.07,20949.07 +24-4-2019 12:00,59565.14,27727.09,27727.09 +24-4-2019 13:00,29736.56,13842.13,13842.13 +24-4-2019 14:00,25606.48,11919.61,11919.61 +24-4-2019 15:00,19824.37,9228.08,9228.08 +24-4-2019 16:00,22302.42,10381.59,10381.59 +24-4-2019 17:00,36344.68,16918.15,16918.15 +24-4-2019 18:00,64429.22,29991.27,29991.27 +24-4-2019 19:00,65255.22,30375.77,30375.77 +24-4-2019 20:00,59726.18,27802.05,27802.05 +24-4-2019 21:00,50650.38,23577.33,23577.33 +24-4-2019 22:00,33866.64,15764.64,15764.64 +24-4-2019 23:00,16520.32,7690.07,7690.07 +25-4-2019 00:00,5969.53,2778.77,2778.77 +25-4-2019 01:00,5766.08,2684.06,2684.06 +25-4-2019 02:00,4330.34,2015.74,2015.74 +25-4-2019 03:00,26788.79,12469.96,12469.96 +25-4-2019 04:00,47567.1,22142.1,22142.1 +25-4-2019 05:00,92795.64,43195.61,43195.61 +25-4-2019 06:00,214917.52,100042.36,100042.36 +25-4-2019 07:00,399185.44,185817.56,185817.56 +25-4-2019 08:00,389065.08,181106.6,181106.6 +25-4-2019 09:00,693396.88,322770.56,322770.56 +25-4-2019 10:00,50386.95,23454.71,23454.71 +25-4-2019 11:00,50797.87,23645.99,23645.99 +25-4-2019 12:00,96451.16,44897.23,44897.23 +25-4-2019 13:00,33819.52,15742.71,15742.71 +25-4-2019 14:00,43678.43,20331.95,20331.95 +25-4-2019 15:00,48138.36,22408.01,22408.01 +25-4-2019 16:00,22302.42,10381.59,10381.59 +25-4-2019 17:00,154096.27,71730.56,71730.56 +25-4-2019 18:00,227846.26,106060.57,106060.57 +25-4-2019 19:00,403798.48,187964.88,187964.88 +25-4-2019 20:00,547940.48,255061.82,255061.82 +25-4-2019 21:00,321927,149854.42,149854.42 +25-4-2019 22:00,48694.69,22666.98,22666.98 +25-4-2019 23:00,49873.8,23215.85,23215.85 +26-4-2019 00:00,69632.12,32413.19,32413.19 +26-4-2019 01:00,118054.17,54953.25,54953.25 +26-4-2019 02:00,119460.8,55608.03,55608.03 +26-4-2019 03:00,125669.94,58498.35,58498.35 +26-4-2019 04:00,126074.23,58686.53,58686.53 +26-4-2019 05:00,134893.16,62791.67,62791.67 +26-4-2019 06:00,533262.64,248229.4,248229.4 +26-4-2019 07:00,934991.04,435230.72,435230.72 +26-4-2019 08:00,939978.4,437552.32,437552.32 +26-4-2019 09:00,1004458,467567,467567 +26-4-2019 10:00,50386.95,23454.71,23454.71 +26-4-2019 11:00,82186.37,38257.09,38257.09 +26-4-2019 12:00,176901.58,82346.25,82346.25 +26-4-2019 13:00,42714.72,19883.35,19883.35 +26-4-2019 14:00,82050.3,38193.74,38193.74 +26-4-2019 15:00,55550.44,25858.27,25858.27 +26-4-2019 16:00,22302.42,10381.59,10381.59 +26-4-2019 17:00,256331.08,119320.02,119320.02 +26-4-2019 18:00,221545.48,103127.62,103127.62 +26-4-2019 19:00,365453.24,170115.5,170115.5 +26-4-2019 20:00,595541.88,277219.88,277219.88 +26-4-2019 21:00,318152.22,148097.27,148097.27 +26-4-2019 22:00,47747.37,22226.01,22226.01 +26-4-2019 23:00,49231.9,22917.05,22917.05 +27-4-2019 00:00,80471.96,37459.04,37459.04 +27-4-2019 01:00,118763.49,55283.43,55283.43 +27-4-2019 02:00,122847.66,57184.58,57184.58 +27-4-2019 03:00,123821.77,57638.03,57638.03 +27-4-2019 04:00,131899,61397.92,61397.92 +27-4-2019 05:00,142346.39,66261.09,66261.09 +27-4-2019 06:00,510438.04,237604.76,237604.76 +27-4-2019 07:00,1208009.36,562318.56,562318.56 +27-4-2019 08:00,1558311.2,725381.12,725381.12 +27-4-2019 09:00,1634031.2,760628.32,760628.32 +27-4-2019 10:00,318761.82,148381.03,148381.03 +27-4-2019 11:00,146186.98,68048.85,68048.85 +27-4-2019 12:00,395543.32,184122.18,184122.18 +27-4-2019 13:00,174134.34,81058.12,81058.12 +27-4-2019 14:00,68696.84,31977.82,31977.82 +27-4-2019 15:00,20772.87,9669.6,9669.6 +27-4-2019 16:00,22302.42,10381.59,10381.59 +27-4-2019 17:00,39693.47,18476.99,18476.99 +27-4-2019 18:00,206022.02,95901.57,95901.57 +27-4-2019 19:00,723947.28,336991.56,336991.56 +27-4-2019 20:00,704139.44,327771.14,327771.14 +27-4-2019 21:00,382618.72,178105.9,178105.9 +27-4-2019 22:00,178144.92,82925.01,82925.01 +27-4-2019 23:00,185535.94,86365.47,86365.47 +28-4-2019 00:00,188058.02,87539.47,87539.47 +28-4-2019 01:00,209080.76,97325.39,97325.39 +28-4-2019 02:00,227729.74,106006.33,106006.33 +28-4-2019 03:00,229636.52,106893.94,106893.94 +28-4-2019 04:00,264871.16,123295.36,123295.36 +28-4-2019 05:00,375089.8,174601.24,174601.24 +28-4-2019 06:00,724091.6,337058.76,337058.76 +28-4-2019 07:00,1665837.76,775433.92,775433.92 +28-4-2019 08:00,2513737.76,1170124.4,1170124.4 +28-4-2019 09:00,2346183.04,1092129.12,1092129.12 +28-4-2019 10:00,568216.92,264500.34,264500.34 +28-4-2019 11:00,267942.26,124724.93,124724.93 +28-4-2019 12:00,556320.88,258962.8,258962.8 +28-4-2019 13:00,250527.7,116618.6,116618.6 +28-4-2019 14:00,64218.58,29893.22,29893.22 +28-4-2019 15:00,20500.24,9542.7,9542.7 +28-4-2019 16:00,23602.49,10986.76,10986.76 +28-4-2019 17:00,43253.73,20134.26,20134.26 +28-4-2019 18:00,219519.88,102184.72,102184.72 +28-4-2019 19:00,832508.32,387525.8,387525.8 +28-4-2019 20:00,1016513.76,473178.88,473178.88 +28-4-2019 21:00,459532.84,213908.78,213908.78 +28-4-2019 22:00,229952.86,107041.18,107041.18 +28-4-2019 23:00,260826.26,121412.51,121412.51 +29-4-2019 00:00,275636.1,128306.37,128306.37 +29-4-2019 01:00,323400.9,150540.5,150540.5 +29-4-2019 02:00,334120.66,155530.44,155530.44 +29-4-2019 03:00,486707.36,226558.3,226558.3 +29-4-2019 04:00,567380.68,264111.06,264111.06 +29-4-2019 05:00,594866.76,276905.6,276905.6 +29-4-2019 06:00,1217767.68,566860.92,566860.92 +29-4-2019 07:00,1895641.76,882405.76,882405.76 +29-4-2019 08:00,2051306.88,954866.64,954866.64 +29-4-2019 09:00,1299462.56,604889.24,604889.24 +29-4-2019 10:00,81952.19,38148.07,38148.07 +29-4-2019 11:00,97426.14,45351.08,45351.08 +29-4-2019 12:00,242604.2,112930.26,112930.26 +29-4-2019 13:00,132723.05,61781.5,61781.5 +29-4-2019 14:00,141060.7,65662.6,65662.6 +29-4-2019 15:00,89840.68,41820.11,41820.11 +29-4-2019 16:00,22302.42,10381.59,10381.59 +29-4-2019 17:00,1047435.76,487572.8,487572.8 +29-4-2019 18:00,299367.76,139353.26,139353.26 +29-4-2019 19:00,975410.08,454045.44,454045.44 +29-4-2019 20:00,1230365.44,572725.08,572725.08 +29-4-2019 21:00,706368.72,328808.9,328808.9 +29-4-2019 22:00,177382.96,82570.33,82570.33 +29-4-2019 23:00,175364.04,81630.54,81630.54 +30-4-2019 00:00,175894.64,81877.51,81877.51 +30-4-2019 01:00,213934.46,99584.75,99584.75 +30-4-2019 02:00,227552.22,105923.7,105923.7 +30-4-2019 03:00,251325.98,116990.2,116990.2 +30-4-2019 04:00,264073.94,122924.27,122924.27 +30-4-2019 05:00,269502.02,125450.99,125450.99 +30-4-2019 06:00,794984.4,370058.76,370058.76 +30-4-2019 07:00,1606719.2,747914.64,747914.64 +30-4-2019 08:00,1426952.96,664235,664235 +30-4-2019 09:00,1338532.24,623075.88,623075.88 +30-4-2019 10:00,115623.53,53821.81,53821.81 +30-4-2019 11:00,213820.94,99531.9,99531.9 +30-4-2019 12:00,479503.04,223204.76,223204.76 +30-4-2019 13:00,255347.16,118862.02,118862.02 +30-4-2019 14:00,218702.02,101804.01,101804.01 +30-4-2019 15:00,200936.7,93534.41,93534.41 +30-4-2019 16:00,31545.57,14684.21,14684.21 +30-4-2019 17:00,1620109.92,754147.92,754147.92 +30-4-2019 18:00,402675.28,187442.06,187442.06 +30-4-2019 19:00,1288513.68,599792.68,599792.68 +30-4-2019 20:00,1609835.52,749365.36,749365.36 +30-4-2019 21:00,859497.6,400089.12,400089.12 +30-4-2019 22:00,220794.64,102778.1,102778.1 +30-4-2019 23:00,254638.18,118532,118532 +1-5-2019 00:00,308877.5,143779.95,143779.95 +1-5-2019 01:00,354811.44,165161.82,165161.82 +1-5-2019 02:00,366316.12,170517.18,170517.18 +1-5-2019 03:00,359656.12,167416.99,167416.99 +1-5-2019 04:00,460348.92,214288.66,214288.66 +1-5-2019 05:00,507424.28,236201.86,236201.86 +1-5-2019 06:00,1134473.6,528088.24,528088.24 +1-5-2019 07:00,1821823.36,848043.92,848043.92 +1-5-2019 08:00,1991922.72,927223.84,927223.84 +1-5-2019 09:00,1447648.8,673868.72,673868.72 +1-5-2019 10:00,123604.11,57536.71,57536.71 +1-5-2019 11:00,270060.34,125710.88,125710.88 +1-5-2019 12:00,309157.4,143910.28,143910.28 +1-5-2019 13:00,65368.8,30428.64,30428.64 +1-5-2019 14:00,162394.09,75593.13,75593.13 +1-5-2019 15:00,128844.06,59975.86,59975.86 +1-5-2019 16:00,33731.06,15701.53,15701.53 +1-5-2019 17:00,1584274.72,737467.04,737467.04 +1-5-2019 18:00,412995.16,192245.88,192245.88 +1-5-2019 19:00,1314776.72,612017.84,612017.84 +1-5-2019 20:00,1740133.44,810018,810018 +1-5-2019 21:00,981767.92,457004.96,457004.96 +1-5-2019 22:00,292396.4,136108.11,136108.11 +1-5-2019 23:00,337041.24,156889.94,156889.94 +2-5-2019 00:00,381052.24,177376.7,177376.7 +2-5-2019 01:00,395653.68,184173.56,184173.56 +2-5-2019 02:00,407634.48,189750.52,189750.52 +2-5-2019 03:00,548095.6,255134.04,255134.04 +2-5-2019 04:00,668477.52,311170.84,311170.84 +2-5-2019 05:00,706012.64,328643.12,328643.12 +2-5-2019 06:00,1370853.12,638120.92,638120.92 +2-5-2019 07:00,1952226.88,908745.68,908745.68 +2-5-2019 08:00,2360632.8,1098855.36,1098855.36 +2-5-2019 09:00,1446703.2,673428.56,673428.56 +2-5-2019 10:00,131337.19,61136.4,61136.4 +2-5-2019 11:00,292963.22,136371.99,136371.99 +2-5-2019 12:00,583201.68,271475.64,271475.64 +2-5-2019 13:00,360544.04,167830.3,167830.3 +2-5-2019 14:00,311713.78,145100.2,145100.2 +2-5-2019 15:00,256715.72,119499.07,119499.07 +2-5-2019 16:00,35505.17,16527.37,16527.37 +2-5-2019 17:00,2342745.12,1090528.8,1090528.8 +2-5-2019 18:00,457485.36,212955.72,212955.72 +2-5-2019 19:00,1595841.92,742851.44,742851.44 +2-5-2019 20:00,1889863.52,879716.08,879716.08 +2-5-2019 21:00,1006672.32,468597.76,468597.76 +2-5-2019 22:00,297473.58,138471.53,138471.53 +2-5-2019 23:00,324254.92,150938,150938 +3-5-2019 00:00,331611.54,154362.47,154362.47 +3-5-2019 01:00,330066.8,153643.42,153643.42 +3-5-2019 02:00,337746.56,157218.28,157218.28 +3-5-2019 03:00,352841.96,164245.06,164245.06 +3-5-2019 04:00,489121.04,227681.84,227681.84 +3-5-2019 05:00,579305.04,269661.78,269661.78 +3-5-2019 06:00,1294220.72,602449.16,602449.16 +3-5-2019 07:00,1929326.24,898085.68,898085.68 +3-5-2019 08:00,2342081.76,1090220.08,1090220.08 +3-5-2019 09:00,1548709.28,720911.6,720911.6 +3-5-2019 10:00,196679.76,91552.83,91552.83 +3-5-2019 11:00,399045,185752.18,185752.18 +3-5-2019 12:00,743533.28,346108.68,346108.68 +3-5-2019 13:00,468236.48,217960.26,217960.26 +3-5-2019 14:00,414174.16,192794.7,192794.7 +3-5-2019 15:00,394942.12,183842.34,183842.34 +3-5-2019 16:00,110108.86,51254.79,51254.79 +3-5-2019 17:00,2958983.04,1377382.56,1377382.56 +3-5-2019 18:00,882787.12,410930.16,410930.16 +3-5-2019 19:00,2066883.36,962117.28,962117.28 +3-5-2019 20:00,2299603.04,1070446.4,1070446.4 +3-5-2019 21:00,1260948.24,586961.12,586961.12 +3-5-2019 22:00,414451.76,192923.92,192923.92 +3-5-2019 23:00,399097,185776.4,185776.4 +4-5-2019 00:00,402776.6,187489.22,187489.22 +4-5-2019 01:00,404341.32,188217.58,188217.58 +4-5-2019 02:00,411986.88,191776.54,191776.54 +4-5-2019 03:00,609481.68,283708.78,283708.78 +4-5-2019 04:00,725722.64,337818,337818 +4-5-2019 05:00,795561.04,370327.16,370327.16 +4-5-2019 06:00,782372.96,364188.24,364188.24 +4-5-2019 07:00,1961788.48,913196.56,913196.56 +4-5-2019 08:00,3249755.52,1512734.88,1512734.88 +4-5-2019 09:00,2682643.04,1248748.32,1248748.32 +4-5-2019 10:00,740104.88,344512.72,344512.72 +4-5-2019 11:00,353001.84,164319.46,164319.46 +4-5-2019 12:00,857575.28,399194.32,399194.32 +4-5-2019 13:00,816975.36,380295.36,380295.36 +4-5-2019 14:00,437594.44,203696.64,203696.64 +4-5-2019 15:00,19824.37,9228.08,9228.08 +4-5-2019 16:00,125997.18,58650.65,58650.65 +4-5-2019 17:00,37525.48,17467.81,17467.81 +4-5-2019 18:00,357684.4,166499.16,166499.16 +4-5-2019 19:00,1677650.88,780932.88,780932.88 +4-5-2019 20:00,1663079.36,774149.84,774149.84 +4-5-2019 21:00,738905.92,343954.76,343954.76 +4-5-2019 22:00,405202.76,188618.6,188618.6 +4-5-2019 23:00,410420.16,191047.24,191047.24 +5-5-2019 00:00,417000.56,194110.36,194110.36 +5-5-2019 01:00,432185.2,201178.7,201178.7 +5-5-2019 02:00,666782.4,310381.8,310381.8 +5-5-2019 03:00,694942.56,323490.14,323490.14 +5-5-2019 04:00,817373.2,380480.6,380480.6 +5-5-2019 05:00,844482.32,393099.6,393099.6 +5-5-2019 06:00,1035533.68,482032.52,482032.52 +5-5-2019 07:00,2148652.32,1000180.16,1000180.16 +5-5-2019 08:00,4038572.48,1879922.56,1879922.56 +5-5-2019 09:00,3000678.72,1396791.36,1396791.36 +5-5-2019 10:00,1196262.24,556850.28,556850.28 +5-5-2019 11:00,910678.8,423913.56,423913.56 +5-5-2019 12:00,1344771.36,625980.12,625980.12 +5-5-2019 13:00,286428.72,133330.23,133330.23 +5-5-2019 14:00,531297.04,247314.46,247314.46 +5-5-2019 15:00,371296.56,172835.52,172835.52 +5-5-2019 16:00,308238.5,143482.51,143482.51 +5-5-2019 17:00,480735.72,223778.56,223778.56 +5-5-2019 18:00,562167.96,261684.6,261684.6 +5-5-2019 19:00,2217795.84,1032366,1032366 +5-5-2019 20:00,1894167.2,881719.44,881719.44 +5-5-2019 21:00,841987.44,391938.28,391938.28 +5-5-2019 22:00,470753.04,219131.72,219131.72 +5-5-2019 23:00,471425.4,219444.68,219444.68 +6-5-2019 00:00,464751.08,216337.82,216337.82 +6-5-2019 01:00,689016.32,320731.5,320731.5 +6-5-2019 02:00,861950.72,401231,401231 +6-5-2019 03:00,1009261.04,469802.8,469802.8 +6-5-2019 04:00,1101666.4,512816.64,512816.64 +6-5-2019 05:00,1134163.84,527944.04,527944.04 +6-5-2019 06:00,1863842.4,867603.44,867603.44 +6-5-2019 07:00,2205238.72,1026520.72,1026520.72 +6-5-2019 08:00,3562769.6,1658440,1658440 +6-5-2019 09:00,2192350.4,1020521.12,1020521.12 +6-5-2019 10:00,425063.28,197863.5,197863.5 +6-5-2019 11:00,688296.72,320396.48,320396.48 +6-5-2019 12:00,1104150.16,513972.92,513972.92 +6-5-2019 13:00,767806.32,357407.56,357407.56 +6-5-2019 14:00,492610.28,229306.08,229306.08 +6-5-2019 15:00,540005,251367.94,251367.94 +6-5-2019 16:00,189064.52,88008,88008 +6-5-2019 17:00,3639990.08,1694385.76,1694385.76 +6-5-2019 18:00,1108360.8,515932.88,515932.88 +6-5-2019 19:00,2313874.08,1077089.6,1077089.6 +6-5-2019 20:00,2541930.24,1183247.68,1183247.68 +6-5-2019 21:00,1479335.04,688618.32,688618.32 +6-5-2019 22:00,485572.28,226029.96,226029.96 +6-5-2019 23:00,467075.72,217419.92,217419.92 +7-5-2019 00:00,461413.48,214784.22,214784.22 +7-5-2019 01:00,486339.96,226387.28,226387.28 +7-5-2019 02:00,644677.44,300092.08,300092.08 +7-5-2019 03:00,843237.04,392519.96,392519.96 +7-5-2019 04:00,1006988.64,468745.04,468745.04 +7-5-2019 05:00,1064411.52,495474.92,495474.92 +7-5-2019 06:00,1910666.72,889399.68,889399.68 +7-5-2019 07:00,2233904.96,1039864.64,1039864.64 +7-5-2019 08:00,3550360.96,1652664.16,1652664.16 +7-5-2019 09:00,2100588.16,977806.72,977806.72 +7-5-2019 10:00,409659.92,190693.36,190693.36 +7-5-2019 11:00,635190.72,295676.12,295676.12 +7-5-2019 12:00,1064164.32,495359.84,495359.84 +7-5-2019 13:00,683067.44,317962.34,317962.34 +7-5-2019 14:00,565034.68,263019.04,263019.04 +7-5-2019 15:00,465334.08,216609.2,216609.2 +7-5-2019 16:00,120531.75,56106.55,56106.55 +7-5-2019 17:00,3359999.36,1564052.32,1564052.32 +7-5-2019 18:00,731255.6,340393.48,340393.48 +7-5-2019 19:00,2064611.84,961059.92,961059.92 +7-5-2019 20:00,2419043.2,1126044.8,1126044.8 +7-5-2019 21:00,1433434.08,667251.84,667251.84 +7-5-2019 22:00,450269.64,209596.84,209596.84 +7-5-2019 23:00,430221.88,200264.78,200264.78 +8-5-2019 00:00,399311.8,185876.4,185876.4 +8-5-2019 01:00,394735.68,183746.24,183746.24 +8-5-2019 02:00,397789.96,185168,185168 +8-5-2019 03:00,566963.32,263916.78,263916.78 +8-5-2019 04:00,663641.12,308919.52,308919.52 +8-5-2019 05:00,734133.52,341733.2,341733.2 +8-5-2019 06:00,1560863.04,726569.04,726569.04 +8-5-2019 07:00,2090056.16,972904.08,972904.08 +8-5-2019 08:00,2998308.16,1395688,1395688 +8-5-2019 09:00,1731969.44,806217.68,806217.68 +8-5-2019 10:00,318929.3,148458.97,148458.97 +8-5-2019 11:00,573947.04,267167.64,267167.64 +8-5-2019 12:00,957978,445930.96,445930.96 +8-5-2019 13:00,696954.8,324426.78,324426.78 +8-5-2019 14:00,573200.44,266820.12,266820.12 +8-5-2019 15:00,429116.44,199750.18,199750.18 +8-5-2019 16:00,118986.72,55387.35,55387.35 +8-5-2019 17:00,3274573.12,1524287.04,1524287.04 +8-5-2019 18:00,648158.28,301712.44,301712.44 +8-5-2019 19:00,1906343.68,887387.36,887387.36 +8-5-2019 20:00,2358270.08,1097755.36,1097755.36 +8-5-2019 21:00,1174736,546830,546830 +8-5-2019 22:00,359548.04,167366.7,167366.7 +8-5-2019 23:00,353336.72,164475.37,164475.37 +9-5-2019 00:00,349444.4,162663.51,162663.51 +9-5-2019 01:00,363400.8,169160.12,169160.12 +9-5-2019 02:00,365157.12,169977.66,169977.66 +9-5-2019 03:00,404154.92,188130.8,188130.8 +9-5-2019 04:00,600895.2,279711.82,279711.82 +9-5-2019 05:00,647378.68,301349.48,301349.48 +9-5-2019 06:00,1245566.64,579801.16,579801.16 +9-5-2019 07:00,1797973.44,836941.92,836941.92 +9-5-2019 08:00,1847007.68,859767.04,859767.04 +9-5-2019 09:00,1242111.84,578193,578193 +9-5-2019 10:00,54233.76,25245.37,25245.37 +9-5-2019 11:00,193933.7,90274.54,90274.54 +9-5-2019 12:00,349172.12,162536.76,162536.76 +9-5-2019 13:00,236658.76,110162.72,110162.72 +9-5-2019 14:00,163310.78,76019.83,76019.83 +9-5-2019 15:00,101177.89,47097.49,47097.49 +9-5-2019 16:00,22419.39,10436.04,10436.04 +9-5-2019 17:00,1571716.16,731621.04,731621.04 +9-5-2019 18:00,268384.36,124930.73,124930.73 +9-5-2019 19:00,1155134.24,537705.56,537705.56 +9-5-2019 20:00,1556489.92,724533.28,724533.28 +9-5-2019 21:00,912166.72,424606.16,424606.16 +9-5-2019 22:00,216164.3,100622.71,100622.71 +9-5-2019 23:00,244034.46,113596.06,113596.06 +10-5-2019 00:00,280299.74,130477.23,130477.23 +10-5-2019 01:00,321757.84,149775.65,149775.65 +10-5-2019 02:00,324768.32,151176.99,151176.99 +10-5-2019 03:00,332284.4,154675.66,154675.66 +10-5-2019 04:00,370486.28,172458.36,172458.36 +10-5-2019 05:00,500345.32,232906.68,232906.68 +10-5-2019 06:00,1204986.32,560911.24,560911.24 +10-5-2019 07:00,1888125.6,878907.04,878907.04 +10-5-2019 08:00,2128576.16,990834.72,990834.72 +10-5-2019 09:00,1537586.24,715733.84,715733.84 +10-5-2019 10:00,213467.32,99367.29,99367.29 +10-5-2019 11:00,372007.8,173166.58,173166.58 +10-5-2019 12:00,652660.72,303808.22,303808.22 +10-5-2019 13:00,349982.2,162913.86,162913.86 +10-5-2019 14:00,326727.44,152088.97,152088.97 +10-5-2019 15:00,253624.58,118060.17,118060.17 +10-5-2019 16:00,24337.6,11328.95,11328.95 +10-5-2019 17:00,2408930.72,1121337.52,1121337.52 +10-5-2019 18:00,74487.73,34673.43,34673.43 +10-5-2019 19:00,1085766.48,505415.4,505415.4 +10-5-2019 20:00,1849581.6,860965.12,860965.12 +10-5-2019 21:00,1093587.44,509056.08,509056.08 +10-5-2019 22:00,332830.62,154929.96,154929.96 +10-5-2019 23:00,358044.32,166666.7,166666.7 +11-5-2019 00:00,368956.32,171746.18,171746.18 +11-5-2019 01:00,377738.72,175834.28,175834.28 +11-5-2019 02:00,394538.68,183654.56,183654.56 +11-5-2019 03:00,458169.36,213274.1,213274.1 +11-5-2019 04:00,632102,294238.32,294238.32 +11-5-2019 05:00,659830.92,307145.94,307145.94 +11-5-2019 06:00,900622.64,419232.48,419232.48 +11-5-2019 07:00,2147954.56,999855.28,999855.28 +11-5-2019 08:00,4029749.12,1875815.36,1875815.36 +11-5-2019 09:00,3135405.76,1459505.76,1459505.76 +11-5-2019 10:00,739465.76,344215.32,344215.32 +11-5-2019 11:00,395559.88,184129.9,184129.9 +11-5-2019 12:00,499376.32,232455.58,232455.58 +11-5-2019 13:00,31117.04,14484.73,14484.73 +11-5-2019 14:00,25606.48,11919.61,11919.61 +11-5-2019 15:00,19824.37,9228.08,9228.08 +11-5-2019 16:00,22302.42,10381.59,10381.59 +11-5-2019 17:00,36344.68,16918.15,16918.15 +11-5-2019 18:00,64443.16,29997.77,29997.77 +11-5-2019 19:00,278663.06,129715.39,129715.39 +11-5-2019 20:00,710603.6,330780.18,330780.18 +11-5-2019 21:00,438989.16,204345.88,204345.88 +11-5-2019 22:00,221117.58,102928.43,102928.43 +11-5-2019 23:00,298642.7,139015.75,139015.75 +12-5-2019 00:00,326153.86,151821.96,151821.96 +12-5-2019 01:00,366055.72,170395.96,170395.96 +12-5-2019 02:00,386570.44,179945.38,179945.38 +12-5-2019 03:00,570535.2,265579.46,265579.46 +12-5-2019 04:00,653201.6,304060.02,304060.02 +12-5-2019 05:00,604302.84,281298.04,281298.04 +12-5-2019 06:00,733972.8,341658.32,341658.32 +12-5-2019 07:00,1778162.4,827720.08,827720.08 +12-5-2019 08:00,2816191.68,1310914.08,1310914.08 +12-5-2019 09:00,2015878.72,938375.12,938375.12 +12-5-2019 10:00,675928.88,314639.4,314639.4 +12-5-2019 11:00,409348.32,190548.3,190548.3 +12-5-2019 12:00,593540.48,276288.24,276288.24 +12-5-2019 13:00,127116.04,59171.48,59171.48 +12-5-2019 14:00,26903.92,12523.56,12523.56 +12-5-2019 15:00,19824.37,9228.08,9228.08 +12-5-2019 16:00,22302.42,10381.59,10381.59 +12-5-2019 17:00,36344.68,16918.15,16918.15 +12-5-2019 18:00,64429.22,29991.27,29991.27 +12-5-2019 19:00,77637.22,36139.49,36139.49 +12-5-2019 20:00,323334.56,150509.61,150509.61 +12-5-2019 21:00,225524.08,104979.62,104979.62 +12-5-2019 22:00,140406.27,65357.97,65357.97 +12-5-2019 23:00,215327.98,100233.41,100233.41 +13-5-2019 00:00,342631.84,159492.32,159492.32 +13-5-2019 01:00,397231.64,184908.1,184908.1 +13-5-2019 02:00,559104.24,260258.52,260258.52 +13-5-2019 03:00,702214.56,326875.12,326875.12 +13-5-2019 04:00,810777.92,377410.52,377410.52 +13-5-2019 05:00,834840.08,388611.28,388611.28 +13-5-2019 06:00,1273332.88,592726.08,592726.08 +13-5-2019 07:00,1833640,853544.48,853544.48 +13-5-2019 08:00,1909111.04,888675.68,888675.68 +13-5-2019 09:00,920379.28,428429.04,428429.04 +13-5-2019 10:00,50386.95,23454.71,23454.71 +13-5-2019 11:00,59932.86,27898.26,27898.26 +13-5-2019 12:00,154069.49,71718.09,71718.09 +13-5-2019 13:00,80403.59,37427.22,37427.22 +13-5-2019 14:00,132618.71,61732.93,61732.93 +13-5-2019 15:00,56387.77,26248.04,26248.04 +13-5-2019 16:00,22302.42,10381.59,10381.59 +13-5-2019 17:00,549104.84,255603.82,255603.82 +13-5-2019 18:00,109511.97,50976.94,50976.94 +13-5-2019 19:00,762482.48,354929.36,354929.36 +13-5-2019 20:00,1161711.92,540767.44,540767.44 +13-5-2019 21:00,664835.08,309475.28,309475.28 +13-5-2019 22:00,103086.13,47985.75,47985.75 +13-5-2019 23:00,191375.56,89083.77,89083.77 +14-5-2019 00:00,250404.2,116561.1,116561.1 +14-5-2019 01:00,311405.28,144956.62,144956.62 +14-5-2019 02:00,355730.6,165589.68,165589.68 +14-5-2019 03:00,453794.2,211237.48,211237.48 +14-5-2019 04:00,663284.8,308753.66,308753.66 +14-5-2019 05:00,682034.88,317481.6,317481.6 +14-5-2019 06:00,1323677.28,616160.96,616160.96 +14-5-2019 07:00,1975830.08,919732.72,919732.72 +14-5-2019 08:00,2501447.04,1164403.2,1164403.2 +14-5-2019 09:00,1319640.72,614282,614282 +14-5-2019 10:00,50386.95,23454.71,23454.71 +14-5-2019 11:00,65768.38,30614.65,30614.65 +14-5-2019 12:00,135258.68,62961.81,62961.81 +14-5-2019 13:00,57240.79,26645.12,26645.12 +14-5-2019 14:00,120933,56293.33,56293.33 +14-5-2019 15:00,58601,27278.29,27278.29 +14-5-2019 16:00,24145.68,11239.61,11239.61 +14-5-2019 17:00,1029869.6,479395.92,479395.92 +14-5-2019 18:00,91839.81,42750.7,42750.7 +14-5-2019 19:00,837649.68,389919.08,389919.08 +14-5-2019 20:00,1181286.96,549879.44,549879.44 +14-5-2019 21:00,677349.2,315300.5,315300.5 +14-5-2019 22:00,141771.01,65993.26,65993.26 +14-5-2019 23:00,195483.16,90995.83,90995.83 +15-5-2019 00:00,244094.18,113623.86,113623.86 +15-5-2019 01:00,300914.68,140073.32,140073.32 +15-5-2019 02:00,374427.84,174293.12,174293.12 +15-5-2019 03:00,388570.28,180876.3,180876.3 +15-5-2019 04:00,597527.28,278144.08,278144.08 +15-5-2019 05:00,542628.96,252589.36,252589.36 +15-5-2019 06:00,995982.88,463621.84,463621.84 +15-5-2019 07:00,1589990.56,740127.68,740127.68 +15-5-2019 08:00,1090702.72,507713.28,507713.28 +15-5-2019 09:00,735374.32,342310.76,342310.76 +15-5-2019 10:00,50386.95,23454.71,23454.71 +15-5-2019 11:00,58895.22,27415.24,27415.24 +15-5-2019 12:00,118923.9,55358.11,55358.11 +15-5-2019 13:00,36543.06,17010.49,17010.49 +15-5-2019 14:00,47993.98,22340.8,22340.8 +15-5-2019 15:00,29325.57,13650.81,13650.81 +15-5-2019 16:00,22302.42,10381.59,10381.59 +15-5-2019 17:00,311156.22,144840.68,144840.68 +15-5-2019 18:00,131481.54,61203.59,61203.59 +15-5-2019 19:00,549878.92,255964.14,255964.14 +15-5-2019 20:00,955184,444630.36,444630.36 +15-5-2019 21:00,489188.88,227713.44,227713.44 +15-5-2019 22:00,45155.8,21019.65,21019.65 +15-5-2019 23:00,64314.35,29937.8,29937.8 +16-5-2019 00:00,158040.91,73566.77,73566.77 +16-5-2019 01:00,189249.54,88094.12,88094.12 +16-5-2019 02:00,246341.92,114670.14,114670.14 +16-5-2019 03:00,316135.14,147158.34,147158.34 +16-5-2019 04:00,401502,186895.94,186895.94 +16-5-2019 05:00,497956.52,231794.7,231794.7 +16-5-2019 06:00,947922,441249.96,441249.96 +16-5-2019 07:00,1713822.08,797770.24,797770.24 +16-5-2019 08:00,1830780.96,852213.6,852213.6 +16-5-2019 09:00,1400812.16,652066.64,652066.64 +16-5-2019 10:00,87996.2,40961.51,40961.51 +16-5-2019 11:00,83538.7,38886.58,38886.58 +16-5-2019 12:00,252877.68,117712.49,117712.49 +16-5-2019 13:00,60656.39,28235.05,28235.05 +16-5-2019 14:00,119803.76,55767.68,55767.68 +16-5-2019 15:00,66592.54,30998.28,30998.28 +16-5-2019 16:00,22302.42,10381.59,10381.59 +16-5-2019 17:00,899307.6,418620.32,418620.32 +16-5-2019 18:00,172511.08,80302.5,80302.5 +16-5-2019 19:00,766246.8,356681.68,356681.68 +16-5-2019 20:00,1135813.76,528712.04,528712.04 +16-5-2019 21:00,634418.44,295316.62,295316.62 +16-5-2019 22:00,109131.68,50799.91,50799.91 +16-5-2019 23:00,159187.9,74100.67,74100.67 +17-5-2019 00:00,168766.7,78559.53,78559.53 +17-5-2019 01:00,190166.14,88520.78,88520.78 +17-5-2019 02:00,222133.16,103401.18,103401.18 +17-5-2019 03:00,260147.3,121096.45,121096.45 +17-5-2019 04:00,286164.98,133207.46,133207.46 +17-5-2019 05:00,271864.08,126550.5,126550.5 +17-5-2019 06:00,815245.84,379490.28,379490.28 +17-5-2019 07:00,1624661.44,756266.64,756266.64 +17-5-2019 08:00,1427367.04,664427.72,664427.72 +17-5-2019 09:00,1277087.12,594473.68,594473.68 +17-5-2019 10:00,100034.37,46565.19,46565.19 +17-5-2019 11:00,195984.34,91229.1,91229.1 +17-5-2019 12:00,298972.84,139169.42,139169.42 +17-5-2019 13:00,183746.1,85532.31,85532.31 +17-5-2019 14:00,192766.74,89731.35,89731.35 +17-5-2019 15:00,143472.35,66785.21,66785.21 +17-5-2019 16:00,24556.47,11430.84,11430.84 +17-5-2019 17:00,1541423.52,717520.16,717520.16 +17-5-2019 18:00,264984.72,123348.22,123348.22 +17-5-2019 19:00,1087681.36,506306.84,506306.84 +17-5-2019 20:00,1471190.72,684827.2,684827.2 +17-5-2019 21:00,789507.36,367509.28,367509.28 +17-5-2019 22:00,182938.12,85156.2,85156.2 +17-5-2019 23:00,182943.44,85158.68,85158.68 +18-5-2019 00:00,217969.46,101463,101463 +18-5-2019 01:00,240269.6,111843.53,111843.53 +18-5-2019 02:00,277735.84,129283.75,129283.75 +18-5-2019 03:00,275997.62,128474.62,128474.62 +18-5-2019 04:00,272778.04,126975.96,126975.96 +18-5-2019 05:00,257543.82,119884.54,119884.54 +18-5-2019 06:00,697866.32,324851.1,324851.1 +18-5-2019 07:00,1512118.88,703879.04,703879.04 +18-5-2019 08:00,1843151.04,857971.84,857971.84 +18-5-2019 09:00,1345300.16,626226.2,626226.2 +18-5-2019 10:00,252785.4,117669.55,117669.55 +18-5-2019 11:00,43778.83,20378.68,20378.68 +18-5-2019 12:00,45266.26,21071.08,21071.08 +18-5-2019 13:00,29736.56,13842.13,13842.13 +18-5-2019 14:00,25606.48,11919.61,11919.61 +18-5-2019 15:00,19824.37,9228.08,9228.08 +18-5-2019 16:00,22302.42,10381.59,10381.59 +18-5-2019 17:00,36344.68,16918.15,16918.15 +18-5-2019 18:00,64429.22,29991.27,29991.27 +18-5-2019 19:00,65255.22,30375.77,30375.77 +18-5-2019 20:00,68266.83,31777.66,31777.66 +18-5-2019 21:00,49394.27,22992.63,22992.63 +18-5-2019 22:00,33866.64,15764.64,15764.64 +18-5-2019 23:00,18520.56,8621.17,8621.17 +19-5-2019 00:00,8835.15,4112.69,4112.69 +19-5-2019 01:00,27111.93,12620.38,12620.38 +19-5-2019 02:00,49164.81,22885.82,22885.82 +19-5-2019 03:00,115027.63,53544.43,53544.43 +19-5-2019 04:00,132957.95,61890.83,61890.83 +19-5-2019 05:00,117570.83,54728.27,54728.27 +19-5-2019 06:00,395810.56,184246.58,184246.58 +19-5-2019 07:00,1020272.64,474928.6,474928.6 +19-5-2019 08:00,1438284.48,669509.72,669509.72 +19-5-2019 09:00,1353024,629821.64,629821.64 +19-5-2019 10:00,255201.82,118794.37,118794.37 +19-5-2019 11:00,52570.3,24471.04,24471.04 +19-5-2019 12:00,137827.32,64157.5,64157.5 +19-5-2019 13:00,33157.38,15434.49,15434.49 +19-5-2019 14:00,25606.48,11919.61,11919.61 +19-5-2019 15:00,19824.37,9228.08,9228.08 +19-5-2019 16:00,22302.42,10381.59,10381.59 +19-5-2019 17:00,36344.68,16918.15,16918.15 +19-5-2019 18:00,64429.22,29991.27,29991.27 +19-5-2019 19:00,87670.45,40809.88,40809.88 +19-5-2019 20:00,234444.32,109131.93,109131.93 +19-5-2019 21:00,76914.54,35803.09,35803.09 +19-5-2019 22:00,43191.95,20105.49,20105.49 +19-5-2019 23:00,47297.96,22016.81,22016.81 +20-5-2019 00:00,66468.07,30940.34,30940.34 +20-5-2019 01:00,116088.33,54038.18,54038.18 +20-5-2019 02:00,118725.49,55265.75,55265.75 +20-5-2019 03:00,121490.64,56552.9,56552.9 +20-5-2019 04:00,128733.64,59924.47,59924.47 +20-5-2019 05:00,120540.79,56110.75,56110.75 +20-5-2019 06:00,410775.76,191212.76,191212.76 +20-5-2019 07:00,991172.48,461382.72,461382.72 +20-5-2019 08:00,803468,374007.84,374007.84 +20-5-2019 09:00,933788.56,434670.92,434670.92 +20-5-2019 10:00,55815.22,25981.53,25981.53 +20-5-2019 11:00,110694.01,51527.15,51527.15 +20-5-2019 12:00,218233.92,101586.11,101586.11 +20-5-2019 13:00,82583.83,38442.11,38442.11 +20-5-2019 14:00,88124.6,41021.28,41021.28 +20-5-2019 15:00,82165.58,38247.4,38247.4 +20-5-2019 16:00,22302.42,10381.59,10381.59 +20-5-2019 17:00,508665.36,236779.58,236779.58 +20-5-2019 18:00,89032.49,41443.9,41443.9 +20-5-2019 19:00,508931.84,236903.64,236903.64 +20-5-2019 20:00,884401.44,411681.64,411681.64 +20-5-2019 21:00,463427.2,215721.58,215721.58 +20-5-2019 22:00,73075.58,34016.08,34016.08 +20-5-2019 23:00,112665.7,52444.98,52444.98 +21-5-2019 00:00,127460.4,59331.78,59331.78 +21-5-2019 01:00,134150.71,62446.06,62446.06 +21-5-2019 02:00,137755.57,64124.09,64124.09 +21-5-2019 03:00,153331.42,71374.53,71374.53 +21-5-2019 04:00,184463.6,85866.3,85866.3 +21-5-2019 05:00,172167.2,80142.43,80142.43 +21-5-2019 06:00,500843.92,233138.74,233138.74 +21-5-2019 07:00,1155223.36,537747,537747 +21-5-2019 08:00,991954,461746.48,461746.48 +21-5-2019 09:00,1014081.76,472046.8,472046.8 +21-5-2019 10:00,78029.15,36321.93,36321.93 +21-5-2019 11:00,138558.59,64497.9,64497.9 +21-5-2019 12:00,266656.34,124126.36,124126.36 +21-5-2019 13:00,124343.43,57880.86,57880.86 +21-5-2019 14:00,139497.48,64934.95,64934.95 +21-5-2019 15:00,113016.88,52608.44,52608.44 +21-5-2019 16:00,22607.01,10523.38,10523.38 +21-5-2019 17:00,883570.16,411294.72,411294.72 +21-5-2019 18:00,149117.52,69413,69413 +21-5-2019 19:00,847355.92,394437.24,394437.24 +21-5-2019 20:00,1141083.84,531165.16,531165.16 +21-5-2019 21:00,625565.68,291195.74,291195.74 +21-5-2019 22:00,152007.28,70758.14,70758.14 +21-5-2019 23:00,150656.66,70129.45,70129.45 +22-5-2019 00:00,153528.98,71466.49,71466.49 +22-5-2019 01:00,175478.98,81684.03,81684.03 +22-5-2019 02:00,195809.32,91147.64,91147.64 +22-5-2019 03:00,199835.3,93021.69,93021.69 +22-5-2019 04:00,220616.72,102695.3,102695.3 +22-5-2019 05:00,202095.66,94073.88,94073.88 +22-5-2019 06:00,580866.4,270388.58,270388.58 +22-5-2019 07:00,1053290.4,490298.12,490298.12 +22-5-2019 08:00,749952,349096.52,349096.52 +22-5-2019 09:00,805356.16,374886.72,374886.72 +22-5-2019 10:00,50386.95,23454.71,23454.71 +22-5-2019 11:00,70993.17,33046.74,33046.74 +22-5-2019 12:00,134323.75,62526.61,62526.61 +22-5-2019 13:00,32638.14,15192.78,15192.78 +22-5-2019 14:00,40804.12,18993.99,18993.99 +22-5-2019 15:00,24932.89,11606.06,11606.06 +22-5-2019 16:00,22302.42,10381.59,10381.59 +22-5-2019 17:00,48543.3,22596.5,22596.5 +22-5-2019 18:00,65599.28,30535.93,30535.93 +22-5-2019 19:00,118666.1,55238.11,55238.11 +22-5-2019 20:00,288795.8,134432.08,134432.08 +22-5-2019 21:00,283847.42,132128.68,132128.68 +22-5-2019 22:00,36284.18,16889.99,16889.99 +22-5-2019 23:00,34014.24,15833.35,15833.35 +23-5-2019 00:00,94749.34,44105.04,44105.04 +23-5-2019 01:00,160413.77,74671.31,74671.31 +23-5-2019 02:00,182354.44,84884.51,84884.51 +23-5-2019 03:00,240752.2,112068.19,112068.19 +23-5-2019 04:00,240848.36,112112.95,112112.95 +23-5-2019 05:00,215443.68,100287.28,100287.28 +23-5-2019 06:00,407093.08,189498.52,189498.52 +23-5-2019 07:00,901527.68,419653.8,419653.8 +23-5-2019 08:00,802969.12,373775.56,373775.56 +23-5-2019 09:00,894853.36,416546.92,416546.92 +23-5-2019 10:00,50386.95,23454.71,23454.71 +23-5-2019 11:00,59446.86,27672.03,27672.03 +23-5-2019 12:00,99934.91,46518.89,46518.89 +23-5-2019 13:00,35351.23,16455.71,16455.71 +23-5-2019 14:00,59398.9,27649.7,27649.7 +23-5-2019 15:00,37615.32,17509.62,17509.62 +23-5-2019 16:00,22302.42,10381.59,10381.59 +23-5-2019 17:00,129167.16,60126.27,60126.27 +23-5-2019 18:00,64429.22,29991.27,29991.27 +23-5-2019 19:00,139615.34,64989.79,64989.79 +23-5-2019 20:00,319159.64,148566.21,148566.21 +23-5-2019 21:00,288051.94,134085.82,134085.82 +23-5-2019 22:00,36083.15,16796.41,16796.41 +23-5-2019 23:00,20273.82,9437.3,9437.3 +24-5-2019 00:00,36643.91,17057.44,17057.44 +24-5-2019 01:00,91415.29,42553.08,42553.08 +24-5-2019 02:00,137045.85,63793.72,63793.72 +24-5-2019 03:00,142102.36,66147.49,66147.49 +24-5-2019 04:00,163309.95,76019.45,76019.45 +24-5-2019 05:00,139011.44,64708.7,64708.7 +24-5-2019 06:00,346603.48,161341.09,161341.09 +24-5-2019 07:00,781150.32,363619.12,363619.12 +24-5-2019 08:00,676981.36,315129.3,315129.3 +24-5-2019 09:00,792677.12,368984.72,368984.72 +24-5-2019 10:00,50386.95,23454.71,23454.71 +24-5-2019 11:00,54602.05,25416.8,25416.8 +24-5-2019 12:00,91134.87,42422.55,42422.55 +24-5-2019 13:00,29736.56,13842.13,13842.13 +24-5-2019 14:00,30261.16,14086.32,14086.32 +24-5-2019 15:00,19824.37,9228.08,9228.08 +24-5-2019 16:00,22302.42,10381.59,10381.59 +24-5-2019 17:00,36344.68,16918.15,16918.15 +24-5-2019 18:00,64429.22,29991.27,29991.27 +24-5-2019 19:00,65255.22,30375.77,30375.77 +24-5-2019 20:00,62076.69,28896.19,28896.19 +24-5-2019 21:00,56388.28,26248.28,26248.28 +24-5-2019 22:00,33866.64,15764.64,15764.64 +24-5-2019 23:00,16520.32,7690.07,7690.07 +25-5-2019 00:00,7412.56,3450.49,3450.49 +25-5-2019 01:00,8254.08,3842.21,3842.21 +25-5-2019 02:00,31186.26,14516.95,14516.95 +25-5-2019 03:00,106349.2,49504.69,49504.69 +25-5-2019 04:00,150479.08,70046.79,70046.79 +25-5-2019 05:00,124274.94,57848.97,57848.97 +25-5-2019 06:00,390705.12,181870.08,181870.08 +25-5-2019 07:00,1041213.76,484676.52,484676.52 +25-5-2019 08:00,1345036,626103.32,626103.32 +25-5-2019 09:00,1332380.4,620212.2,620212.2 +25-5-2019 10:00,199293.2,92769.35,92769.35 +25-5-2019 11:00,43778.83,20378.68,20378.68 +25-5-2019 12:00,39406.83,18343.56,18343.56 +25-5-2019 13:00,29736.56,13842.13,13842.13 +25-5-2019 14:00,25606.48,11919.61,11919.61 +25-5-2019 15:00,19824.37,9228.08,9228.08 +25-5-2019 16:00,22302.42,10381.59,10381.59 +25-5-2019 17:00,36344.68,16918.15,16918.15 +25-5-2019 18:00,64429.22,29991.27,29991.27 +25-5-2019 19:00,68747.52,32001.41,32001.41 +25-5-2019 20:00,91139.2,42424.56,42424.56 +25-5-2019 21:00,52416.38,24399.4,24399.4 +25-5-2019 22:00,36530.63,17004.71,17004.71 +25-5-2019 23:00,25913.94,12062.73,12062.73 +26-5-2019 00:00,42128.68,19610.56,19610.56 +26-5-2019 01:00,103028.75,47959.04,47959.04 +26-5-2019 02:00,130987.78,60973.74,60973.74 +26-5-2019 03:00,126301.61,58792.37,58792.37 +26-5-2019 04:00,121869.48,56729.25,56729.25 +26-5-2019 05:00,109285.34,50871.44,50871.44 +26-5-2019 06:00,423139.76,196968.12,196968.12 +26-5-2019 07:00,1043170.64,485587.4,485587.4 +26-5-2019 08:00,1227264,571281.48,571281.48 +26-5-2019 09:00,1281655.92,596600.4,596600.4 +26-5-2019 10:00,212800.28,99056.79,99056.79 +26-5-2019 11:00,44751.81,20831.6,20831.6 +26-5-2019 12:00,43462.47,20231.42,20231.42 +26-5-2019 13:00,30423.55,14161.92,14161.92 +26-5-2019 14:00,25606.48,11919.61,11919.61 +26-5-2019 15:00,19824.37,9228.08,9228.08 +26-5-2019 16:00,22302.42,10381.59,10381.59 +26-5-2019 17:00,36344.68,16918.15,16918.15 +26-5-2019 18:00,64429.22,29991.27,29991.27 +26-5-2019 19:00,65255.22,30375.77,30375.77 +26-5-2019 20:00,68040.86,31672.46,31672.46 +26-5-2019 21:00,49556.41,23068.1,23068.1 +26-5-2019 22:00,34916.06,16253.14,16253.14 +26-5-2019 23:00,18862.62,8780.4,8780.4 +27-5-2019 00:00,10738.15,4998.52,4998.52 +27-5-2019 01:00,26752.07,12452.87,12452.87 +27-5-2019 02:00,43254.48,20134.61,20134.61 +27-5-2019 03:00,84642.12,39400.22,39400.22 +27-5-2019 04:00,115892.36,53946.96,53946.96 +27-5-2019 05:00,100133.67,46611.41,46611.41 +27-5-2019 06:00,166793.44,77640.99,77640.99 +27-5-2019 07:00,467184.28,217470.46,217470.46 +27-5-2019 08:00,379208.72,176518.56,176518.56 +27-5-2019 09:00,656687.76,305682.76,305682.76 +27-5-2019 10:00,50386.95,23454.71,23454.71 +27-5-2019 11:00,48958.67,22789.86,22789.86 +27-5-2019 12:00,112001.41,52135.74,52135.74 +27-5-2019 13:00,31754.83,14781.61,14781.61 +27-5-2019 14:00,38995.77,18152.21,18152.21 +27-5-2019 15:00,47954.31,22322.34,22322.34 +27-5-2019 16:00,22302.42,10381.59,10381.59 +27-5-2019 17:00,48442.55,22549.61,22549.61 +27-5-2019 18:00,64429.22,29991.27,29991.27 +27-5-2019 19:00,69066.59,32149.93,32149.93 +27-5-2019 20:00,118819.88,55309.69,55309.69 +27-5-2019 21:00,177299,82531.23,82531.23 +27-5-2019 22:00,34445.04,16033.88,16033.88 +27-5-2019 23:00,19217.12,8945.41,8945.41 +28-5-2019 00:00,19070.13,8876.99,8876.99 +28-5-2019 01:00,39173.02,18234.72,18234.72 +28-5-2019 02:00,88947.85,41404.49,41404.49 +28-5-2019 03:00,117299.35,54601.9,54601.9 +28-5-2019 04:00,128189.33,59671.1,59671.1 +28-5-2019 05:00,112445.41,52342.42,52342.42 +28-5-2019 06:00,209718.82,97622.4,97622.4 +28-5-2019 07:00,621462.64,289285.8,289285.8 +28-5-2019 08:00,637421.56,296714.54,296714.54 +28-5-2019 09:00,906581.12,422006.12,422006.12 +28-5-2019 10:00,78113.6,36361.24,36361.24 +28-5-2019 11:00,123277.6,57384.71,57384.71 +28-5-2019 12:00,228145.02,106199.65,106199.65 +28-5-2019 13:00,84090.97,39143.66,39143.66 +28-5-2019 14:00,84776.34,39462.7,39462.7 +28-5-2019 15:00,67795.82,31558.4,31558.4 +28-5-2019 16:00,22302.42,10381.59,10381.59 +28-5-2019 17:00,60970.03,28381.05,28381.05 +28-5-2019 18:00,64429.22,29991.27,29991.27 +28-5-2019 19:00,82774.4,38530.81,38530.81 +28-5-2019 20:00,228304.68,106273.96,106273.96 +28-5-2019 21:00,222666.42,103649.41,103649.41 +28-5-2019 22:00,35696.29,16616.33,16616.33 +28-5-2019 23:00,34008.02,15830.46,15830.46 +29-5-2019 00:00,94148.72,43825.46,43825.46 +29-5-2019 01:00,167776.26,78098.49,78098.49 +29-5-2019 02:00,199998.18,93097.52,93097.52 +29-5-2019 03:00,244214.16,113679.71,113679.71 +29-5-2019 04:00,282708.86,131598.68,131598.68 +29-5-2019 05:00,273349.42,127241.93,127241.93 +29-5-2019 06:00,401615.16,186948.58,186948.58 +29-5-2019 07:00,774467.2,360508.16,360508.16 +29-5-2019 08:00,489537,227875.48,227875.48 +29-5-2019 09:00,574769.76,267550.62,267550.62 +29-5-2019 10:00,50386.95,23454.71,23454.71 +29-5-2019 11:00,46948.63,21854.2,21854.2 +29-5-2019 12:00,73809.82,34357.86,34357.86 +29-5-2019 13:00,29736.56,13842.13,13842.13 +29-5-2019 14:00,25606.48,11919.61,11919.61 +29-5-2019 15:00,19824.37,9228.08,9228.08 +29-5-2019 16:00,22302.42,10381.59,10381.59 +29-5-2019 17:00,36344.68,16918.15,16918.15 +29-5-2019 18:00,64429.22,29991.27,29991.27 +29-5-2019 19:00,65255.22,30375.77,30375.77 +29-5-2019 20:00,62222.9,28964.25,28964.25 +29-5-2019 21:00,55056.15,25628.19,25628.19 +29-5-2019 22:00,33866.64,15764.64,15764.64 +29-5-2019 23:00,16520.32,7690.07,7690.07 +30-5-2019 00:00,5782.11,2691.52,2691.52 +30-5-2019 01:00,4730.57,2202.04,2202.04 +30-5-2019 02:00,3368.69,1568.1,1568.1 +30-5-2019 03:00,13621,6340.46,6340.46 +30-5-2019 04:00,28117.99,13088.69,13088.69 +30-5-2019 05:00,45885.13,21359.15,21359.15 +30-5-2019 06:00,62162.91,28936.32,28936.32 +30-5-2019 07:00,235220.46,109493.2,109493.2 +30-5-2019 08:00,260260.9,121149.32,121149.32 +30-5-2019 09:00,590246.04,274754.7,274754.7 +30-5-2019 10:00,50386.95,23454.71,23454.71 +30-5-2019 11:00,50446.2,23482.29,23482.29 +30-5-2019 12:00,157971.89,73534.63,73534.63 +30-5-2019 13:00,31274.19,14557.88,14557.88 +30-5-2019 14:00,39315.65,18301.12,18301.12 +30-5-2019 15:00,39556.05,18413.02,18413.02 +30-5-2019 16:00,22302.42,10381.59,10381.59 +30-5-2019 17:00,51504.42,23974.89,23974.89 +30-5-2019 18:00,64429.22,29991.27,29991.27 +30-5-2019 19:00,86944.4,40471.91,40471.91 +30-5-2019 20:00,121684.82,56643.29,56643.29 +30-5-2019 21:00,128079.67,59620.04,59620.04 +30-5-2019 22:00,33866.64,15764.64,15764.64 +30-5-2019 23:00,17765.87,8269.87,8269.87 +31-5-2019 00:00,7643.93,3558.19,3558.19 +31-5-2019 01:00,5274.68,2455.32,2455.32 +31-5-2019 02:00,7980.34,3714.78,3714.78 +31-5-2019 03:00,17894.68,8329.83,8329.83 +31-5-2019 04:00,28707.34,13363.03,13363.03 +31-5-2019 05:00,38197.76,17780.74,17780.74 +31-5-2019 06:00,54323.9,25287.33,25287.33 +31-5-2019 07:00,177592.7,82667.95,82667.95 +31-5-2019 08:00,165012.15,76811.81,76811.81 +31-5-2019 09:00,279867.44,130276.02,130276.02 +31-5-2019 10:00,50386.95,23454.71,23454.71 +31-5-2019 11:00,45863.23,21348.96,21348.96 +31-5-2019 12:00,69886.03,32531.38,32531.38 +31-5-2019 13:00,30192.38,14054.3,14054.3 +31-5-2019 14:00,26338.38,12260.3,12260.3 +31-5-2019 15:00,25216.5,11738.08,11738.08 +31-5-2019 16:00,22302.42,10381.59,10381.59 +31-5-2019 17:00,36383.82,16936.37,16936.37 +31-5-2019 18:00,64429.22,29991.27,29991.27 +31-5-2019 19:00,66972.13,31174.98,31174.98 +31-5-2019 20:00,75705.66,35240.36,35240.36 +31-5-2019 21:00,73652.54,34284.65,34284.65 +31-5-2019 22:00,33866.64,15764.64,15764.64 +31-5-2019 23:00,17117.45,7968.03,7968.03 +1-6-2019 00:00,8101.31,3771.09,3771.09 +1-6-2019 01:00,5813.64,2706.2,2706.2 +1-6-2019 02:00,22954.79,10685.27,10685.27 +1-6-2019 03:00,40434.95,18822.13,18822.13 +1-6-2019 04:00,76170.94,35456.95,35456.95 +1-6-2019 05:00,75655.02,35216.79,35216.79 +1-6-2019 06:00,217641.3,101310.24,101310.24 +1-6-2019 07:00,545562.12,253954.74,253954.74 +1-6-2019 08:00,536285.2,249636.36,249636.36 +1-6-2019 09:00,635543.64,295840.4,295840.4 +1-6-2019 10:00,87728.78,40837.03,40837.03 +1-6-2019 11:00,43778.83,20378.68,20378.68 +1-6-2019 12:00,37170.69,17302.65,17302.65 +1-6-2019 13:00,29736.56,13842.13,13842.13 +1-6-2019 14:00,25606.48,11919.61,11919.61 +1-6-2019 15:00,19824.37,9228.08,9228.08 +1-6-2019 16:00,22302.42,10381.59,10381.59 +1-6-2019 17:00,36344.68,16918.15,16918.15 +1-6-2019 18:00,64429.22,29991.27,29991.27 +1-6-2019 19:00,65255.22,30375.77,30375.77 +1-6-2019 20:00,57821.08,26915.24,26915.24 +1-6-2019 21:00,47908.9,22301.2,22301.2 +1-6-2019 22:00,33866.64,15764.64,15764.64 +1-6-2019 23:00,16520.32,7690.07,7690.07 +2-6-2019 00:00,5782.11,2691.52,2691.52 +2-6-2019 01:00,3304.06,1538.01,1538.01 +2-6-2019 02:00,1714.48,798.08,798.08 +2-6-2019 03:00,2892.23,1346.31,1346.31 +2-6-2019 04:00,3655.17,1701.45,1701.45 +2-6-2019 05:00,7351.28,3421.96,3421.96 +2-6-2019 06:00,53601.44,24951.03,24951.03 +2-6-2019 07:00,153010.25,71225.03,71225.03 +2-6-2019 08:00,73112.51,34033.28,34033.28 +2-6-2019 09:00,90022.67,41904.82,41904.82 +2-6-2019 10:00,50386.95,23454.71,23454.71 +2-6-2019 11:00,43778.83,20378.68,20378.68 +2-6-2019 12:00,37170.69,17302.65,17302.65 +2-6-2019 13:00,29736.56,13842.13,13842.13 +2-6-2019 14:00,25606.48,11919.61,11919.61 +2-6-2019 15:00,19824.37,9228.08,9228.08 +2-6-2019 16:00,22302.42,10381.59,10381.59 +2-6-2019 17:00,36344.68,16918.15,16918.15 +2-6-2019 18:00,64429.22,29991.27,29991.27 +2-6-2019 19:00,65255.22,30375.77,30375.77 +2-6-2019 20:00,57821.08,26915.24,26915.24 +2-6-2019 21:00,47908.9,22301.2,22301.2 +2-6-2019 22:00,33866.64,15764.64,15764.64 +2-6-2019 23:00,16520.32,7690.07,7690.07 +3-6-2019 00:00,5782.11,2691.52,2691.52 +3-6-2019 01:00,3304.06,1538.01,1538.01 +3-6-2019 02:00,825.61,384.31,384.31 +3-6-2019 03:00,825.61,384.31,384.31 +3-6-2019 04:00,1652.03,769.01,769.01 +3-6-2019 05:00,5782.11,2691.52,2691.52 +3-6-2019 06:00,46256.88,21532.19,21532.19 +3-6-2019 07:00,76819.45,35758.82,35758.82 +3-6-2019 08:00,59473.12,27684.25,27684.25 +3-6-2019 09:00,70211.32,32682.79,32682.79 +3-6-2019 10:00,50386.95,23454.71,23454.71 +3-6-2019 11:00,43778.83,20378.68,20378.68 +3-6-2019 12:00,37170.69,17302.65,17302.65 +3-6-2019 13:00,29736.56,13842.13,13842.13 +3-6-2019 14:00,25606.48,11919.61,11919.61 +3-6-2019 15:00,19824.37,9228.08,9228.08 +3-6-2019 16:00,22302.42,10381.59,10381.59 +3-6-2019 17:00,36344.68,16918.15,16918.15 +3-6-2019 18:00,64429.22,29991.27,29991.27 +3-6-2019 19:00,65255.22,30375.77,30375.77 +3-6-2019 20:00,57821.08,26915.24,26915.24 +3-6-2019 21:00,47908.9,22301.2,22301.2 +3-6-2019 22:00,33866.64,15764.64,15764.64 +3-6-2019 23:00,16520.32,7690.07,7690.07 +4-6-2019 00:00,5782.11,2691.52,2691.52 +4-6-2019 01:00,3304.06,1538.01,1538.01 +4-6-2019 02:00,825.61,384.31,384.31 +4-6-2019 03:00,1826.75,850.34,850.34 +4-6-2019 04:00,3776.83,1758.08,1758.08 +4-6-2019 05:00,7391.53,3440.69,3440.69 +4-6-2019 06:00,46256.88,21532.19,21532.19 +4-6-2019 07:00,82638.22,38467.41,38467.41 +4-6-2019 08:00,59473.12,27684.25,27684.25 +4-6-2019 09:00,70211.32,32682.79,32682.79 +4-6-2019 10:00,50386.95,23454.71,23454.71 +4-6-2019 11:00,43778.83,20378.68,20378.68 +4-6-2019 12:00,37170.69,17302.65,17302.65 +4-6-2019 13:00,29736.56,13842.13,13842.13 +4-6-2019 14:00,25606.48,11919.61,11919.61 +4-6-2019 15:00,19824.37,9228.08,9228.08 +4-6-2019 16:00,22302.42,10381.59,10381.59 +4-6-2019 17:00,36344.68,16918.15,16918.15 +4-6-2019 18:00,64429.22,29991.27,29991.27 +4-6-2019 19:00,65255.22,30375.77,30375.77 +4-6-2019 20:00,57821.08,26915.24,26915.24 +4-6-2019 21:00,47908.9,22301.2,22301.2 +4-6-2019 22:00,33866.64,15764.64,15764.64 +4-6-2019 23:00,16520.32,7690.07,7690.07 +5-6-2019 00:00,5782.11,2691.52,2691.52 +5-6-2019 01:00,3304.06,1538.01,1538.01 +5-6-2019 02:00,825.61,384.31,384.31 +5-6-2019 03:00,825.61,384.31,384.31 +5-6-2019 04:00,1652.03,769.01,769.01 +5-6-2019 05:00,5782.11,2691.52,2691.52 +5-6-2019 06:00,46256.88,21532.19,21532.19 +5-6-2019 07:00,76819.45,35758.82,35758.82 +5-6-2019 08:00,59473.12,27684.25,27684.25 +5-6-2019 09:00,70211.32,32682.79,32682.79 +5-6-2019 10:00,50386.95,23454.71,23454.71 +5-6-2019 11:00,43778.83,20378.68,20378.68 +5-6-2019 12:00,41080.46,19122.62,19122.62 +5-6-2019 13:00,29736.56,13842.13,13842.13 +5-6-2019 14:00,25606.48,11919.61,11919.61 +5-6-2019 15:00,19824.37,9228.08,9228.08 +5-6-2019 16:00,22302.42,10381.59,10381.59 +5-6-2019 17:00,36344.68,16918.15,16918.15 +5-6-2019 18:00,64429.22,29991.27,29991.27 +5-6-2019 19:00,65255.22,30375.77,30375.77 +5-6-2019 20:00,57821.08,26915.24,26915.24 +5-6-2019 21:00,47908.9,22301.2,22301.2 +5-6-2019 22:00,33866.64,15764.64,15764.64 +5-6-2019 23:00,16520.32,7690.07,7690.07 +6-6-2019 00:00,5782.11,2691.52,2691.52 +6-6-2019 01:00,3304.06,1538.01,1538.01 +6-6-2019 02:00,1334,620.97,620.97 +6-6-2019 03:00,2696.45,1255.18,1255.18 +6-6-2019 04:00,3489.76,1624.46,1624.46 +6-6-2019 05:00,7386.94,3438.56,3438.56 +6-6-2019 06:00,46256.88,21532.19,21532.19 +6-6-2019 07:00,103353.74,48110.32,48110.32 +6-6-2019 08:00,68113.87,31706.45,31706.45 +6-6-2019 09:00,70211.32,32682.79,32682.79 +6-6-2019 10:00,50386.95,23454.71,23454.71 +6-6-2019 11:00,43778.83,20378.68,20378.68 +6-6-2019 12:00,51584.43,24012.13,24012.13 +6-6-2019 13:00,29736.56,13842.13,13842.13 +6-6-2019 14:00,25606.48,11919.61,11919.61 +6-6-2019 15:00,19824.37,9228.08,9228.08 +6-6-2019 16:00,22302.42,10381.59,10381.59 +6-6-2019 17:00,36344.68,16918.15,16918.15 +6-6-2019 18:00,64429.22,29991.27,29991.27 +6-6-2019 19:00,65255.22,30375.77,30375.77 +6-6-2019 20:00,57821.08,26915.24,26915.24 +6-6-2019 21:00,47908.9,22301.2,22301.2 +6-6-2019 22:00,33866.64,15764.64,15764.64 +6-6-2019 23:00,16520.32,7690.07,7690.07 +7-6-2019 00:00,5782.11,2691.52,2691.52 +7-6-2019 01:00,3304.06,1538.01,1538.01 +7-6-2019 02:00,2970.24,1382.62,1382.62 +7-6-2019 03:00,3177.85,1479.26,1479.26 +7-6-2019 04:00,6108.98,2843.68,2843.68 +7-6-2019 05:00,18215.76,8479.29,8479.29 +7-6-2019 06:00,46256.88,21532.19,21532.19 +7-6-2019 07:00,118968.48,55378.86,55378.86 +7-6-2019 08:00,88008.28,40967.15,40967.15 +7-6-2019 09:00,70211.32,32682.79,32682.79 +7-6-2019 10:00,50386.95,23454.71,23454.71 +7-6-2019 11:00,43778.83,20378.68,20378.68 +7-6-2019 12:00,57485.03,26758.81,26758.81 +7-6-2019 13:00,29736.56,13842.13,13842.13 +7-6-2019 14:00,25606.48,11919.61,11919.61 +7-6-2019 15:00,19824.37,9228.08,9228.08 +7-6-2019 16:00,22302.42,10381.59,10381.59 +7-6-2019 17:00,36344.68,16918.15,16918.15 +7-6-2019 18:00,64429.22,29991.27,29991.27 +7-6-2019 19:00,65255.22,30375.77,30375.77 +7-6-2019 20:00,57821.08,26915.24,26915.24 +7-6-2019 21:00,47908.9,22301.2,22301.2 +7-6-2019 22:00,33866.64,15764.64,15764.64 +7-6-2019 23:00,16520.32,7690.07,7690.07 +8-6-2019 00:00,5782.11,2691.52,2691.52 +8-6-2019 01:00,4410.9,2053.24,2053.24 +8-6-2019 02:00,2512.84,1169.7,1169.7 +8-6-2019 03:00,2566.88,1194.86,1194.86 +8-6-2019 04:00,3392.15,1579.02,1579.02 +8-6-2019 05:00,13997.93,6515.92,6515.92 +8-6-2019 06:00,57618.9,26821.13,26821.13 +8-6-2019 07:00,206815.8,96271.06,96271.06 +8-6-2019 08:00,110429.39,51403.99,51403.99 +8-6-2019 09:00,252551.14,117560.5,117560.5 +8-6-2019 10:00,62266.08,28984.35,28984.35 +8-6-2019 11:00,43778.83,20378.68,20378.68 +8-6-2019 12:00,41772.58,19444.79,19444.79 +8-6-2019 13:00,31357.82,14596.81,14596.81 +8-6-2019 14:00,25606.48,11919.61,11919.61 +8-6-2019 15:00,19824.37,9228.08,9228.08 +8-6-2019 16:00,22302.42,10381.59,10381.59 +8-6-2019 17:00,36344.68,16918.15,16918.15 +8-6-2019 18:00,64429.22,29991.27,29991.27 +8-6-2019 19:00,65255.22,30375.77,30375.77 +8-6-2019 20:00,57821.08,26915.24,26915.24 +8-6-2019 21:00,47908.9,22301.2,22301.2 +8-6-2019 22:00,33866.64,15764.64,15764.64 +8-6-2019 23:00,16520.32,7690.07,7690.07 +9-6-2019 00:00,5782.11,2691.52,2691.52 +9-6-2019 01:00,4022.38,1872.39,1872.39 +9-6-2019 02:00,3096.33,1441.32,1441.32 +9-6-2019 03:00,3405.73,1585.34,1585.34 +9-6-2019 04:00,19171.87,8924.35,8924.35 +9-6-2019 05:00,25836.22,12026.55,12026.55 +9-6-2019 06:00,76195.9,35468.57,35468.57 +9-6-2019 07:00,247988.68,115436.71,115436.71 +9-6-2019 08:00,158317.78,73695.63,73695.63 +9-6-2019 09:00,328105.8,152730.56,152730.56 +9-6-2019 10:00,64582.33,30062.55,30062.55 +9-6-2019 11:00,43778.83,20378.68,20378.68 +9-6-2019 12:00,37442.31,17429.09,17429.09 +9-6-2019 13:00,29736.56,13842.13,13842.13 +9-6-2019 14:00,25606.48,11919.61,11919.61 +9-6-2019 15:00,19824.37,9228.08,9228.08 +9-6-2019 16:00,22302.42,10381.59,10381.59 +9-6-2019 17:00,36344.68,16918.15,16918.15 +9-6-2019 18:00,64429.22,29991.27,29991.27 +9-6-2019 19:00,65255.22,30375.77,30375.77 +9-6-2019 20:00,59328.18,27616.78,27616.78 +9-6-2019 21:00,47908.9,22301.2,22301.2 +9-6-2019 22:00,33866.64,15764.64,15764.64 +9-6-2019 23:00,16520.32,7690.07,7690.07 +10-6-2019 00:00,7125.75,3316.98,3316.98 +10-6-2019 01:00,5209.92,2425.18,2425.18 +10-6-2019 02:00,2761.61,1285.51,1285.51 +10-6-2019 03:00,8043.85,3744.35,3744.35 +10-6-2019 04:00,18937.95,8815.46,8815.46 +10-6-2019 05:00,19982.56,9301.72,9301.72 +10-6-2019 06:00,46256.88,21532.19,21532.19 +10-6-2019 07:00,128965.19,60032.26,60032.26 +10-6-2019 08:00,67472.47,31407.88,31407.88 +10-6-2019 09:00,70211.32,32682.79,32682.79 +10-6-2019 10:00,50386.95,23454.71,23454.71 +10-6-2019 11:00,43778.83,20378.68,20378.68 +10-6-2019 12:00,43344.77,20176.63,20176.63 +10-6-2019 13:00,29736.56,13842.13,13842.13 +10-6-2019 14:00,25606.48,11919.61,11919.61 +10-6-2019 15:00,19824.37,9228.08,9228.08 +10-6-2019 16:00,22302.42,10381.59,10381.59 +10-6-2019 17:00,36344.68,16918.15,16918.15 +10-6-2019 18:00,64429.22,29991.27,29991.27 +10-6-2019 19:00,65255.22,30375.77,30375.77 +10-6-2019 20:00,57821.08,26915.24,26915.24 +10-6-2019 21:00,47908.9,22301.2,22301.2 +10-6-2019 22:00,33866.64,15764.64,15764.64 +10-6-2019 23:00,16520.32,7690.07,7690.07 +11-6-2019 00:00,5782.11,2691.52,2691.52 +11-6-2019 01:00,3304.06,1538.01,1538.01 +11-6-2019 02:00,955.77,444.91,444.91 +11-6-2019 03:00,2625.46,1222.13,1222.13 +11-6-2019 04:00,3490.26,1624.69,1624.69 +11-6-2019 05:00,7533.2,3506.64,3506.64 +11-6-2019 06:00,46256.88,21532.19,21532.19 +11-6-2019 07:00,107598.59,50086.27,50086.27 +11-6-2019 08:00,86357.38,40198.66,40198.66 +11-6-2019 09:00,133854.49,62308.18,62308.18 +11-6-2019 10:00,50386.95,23454.71,23454.71 +11-6-2019 11:00,43852.98,20413.2,20413.2 +11-6-2019 12:00,61272.41,28521.81,28521.81 +11-6-2019 13:00,29736.56,13842.13,13842.13 +11-6-2019 14:00,25606.48,11919.61,11919.61 +11-6-2019 15:00,19824.37,9228.08,9228.08 +11-6-2019 16:00,22302.42,10381.59,10381.59 +11-6-2019 17:00,36344.68,16918.15,16918.15 +11-6-2019 18:00,64429.22,29991.27,29991.27 +11-6-2019 19:00,65255.22,30375.77,30375.77 +11-6-2019 20:00,57821.08,26915.24,26915.24 +11-6-2019 21:00,47908.9,22301.2,22301.2 +11-6-2019 22:00,33866.64,15764.64,15764.64 +11-6-2019 23:00,16520.32,7690.07,7690.07 +12-6-2019 00:00,5977.9,2782.66,2782.66 +12-6-2019 01:00,5237.19,2437.87,2437.87 +12-6-2019 02:00,2779.86,1294,1294 +12-6-2019 03:00,3214.5,1496.32,1496.32 +12-6-2019 04:00,16395.05,7631.76,7631.76 +12-6-2019 05:00,21851.83,10171.85,10171.85 +12-6-2019 06:00,46256.88,21532.19,21532.19 +12-6-2019 07:00,126091.74,58694.68,58694.68 +12-6-2019 08:00,102547.18,47734.88,47734.88 +12-6-2019 09:00,177133.88,82454.37,82454.37 +12-6-2019 10:00,50386.95,23454.71,23454.71 +12-6-2019 11:00,44792.83,20850.69,20850.69 +12-6-2019 12:00,68006.28,31656.36,31656.36 +12-6-2019 13:00,30891.33,14379.66,14379.66 +12-6-2019 14:00,25606.48,11919.61,11919.61 +12-6-2019 15:00,28277.25,13162.83,13162.83 +12-6-2019 16:00,22302.42,10381.59,10381.59 +12-6-2019 17:00,36344.68,16918.15,16918.15 +12-6-2019 18:00,64429.22,29991.27,29991.27 +12-6-2019 19:00,65255.22,30375.77,30375.77 +12-6-2019 20:00,57821.08,26915.24,26915.24 +12-6-2019 21:00,50116.84,23328.98,23328.98 +12-6-2019 22:00,33866.64,15764.64,15764.64 +12-6-2019 23:00,17095.63,7957.88,7957.88 +13-6-2019 00:00,8155.54,3796.34,3796.34 +13-6-2019 01:00,8327.28,3876.28,3876.28 +13-6-2019 02:00,22607.71,10523.71,10523.71 +13-6-2019 03:00,25653.43,11941.46,11941.46 +13-6-2019 04:00,37039.45,17241.57,17241.57 +13-6-2019 05:00,38683.68,18006.93,18006.93 +13-6-2019 06:00,48113.45,22396.42,22396.42 +13-6-2019 07:00,190417.32,88637.71,88637.71 +13-6-2019 08:00,185257.5,86235.86,86235.86 +13-6-2019 09:00,438039.6,203903.86,203903.86 +13-6-2019 10:00,50386.95,23454.71,23454.71 +13-6-2019 11:00,46343.57,21572.55,21572.55 +13-6-2019 12:00,76676.62,35692.34,35692.34 +13-6-2019 13:00,30595.81,14242.1,14242.1 +13-6-2019 14:00,29931.73,13932.98,13932.98 +13-6-2019 15:00,29268.29,13624.15,13624.15 +13-6-2019 16:00,22302.42,10381.59,10381.59 +13-6-2019 17:00,36344.68,16918.15,16918.15 +13-6-2019 18:00,64429.22,29991.27,29991.27 +13-6-2019 19:00,65297.34,30395.38,30395.38 +13-6-2019 20:00,70915.03,33010.36,33010.36 +13-6-2019 21:00,67847.01,31582.23,31582.23 +13-6-2019 22:00,33866.64,15764.64,15764.64 +13-6-2019 23:00,18026.54,8391.21,8391.21 +14-6-2019 00:00,8059.4,3751.59,3751.59 +14-6-2019 01:00,13408.44,6241.52,6241.52 +14-6-2019 02:00,27721.68,12904.22,12904.22 +14-6-2019 03:00,39483.45,18379.22,18379.22 +14-6-2019 04:00,48879.92,22753.2,22753.2 +14-6-2019 05:00,56013.29,26073.73,26073.73 +14-6-2019 06:00,58175.74,27080.33,27080.33 +14-6-2019 07:00,229517.12,106838.34,106838.34 +14-6-2019 08:00,239238.7,111363.67,111363.67 +14-6-2019 09:00,509232.04,237043.36,237043.36 +14-6-2019 10:00,50386.95,23454.71,23454.71 +14-6-2019 11:00,45837.38,21336.93,21336.93 +14-6-2019 12:00,67459.88,31402.02,31402.02 +14-6-2019 13:00,29736.56,13842.13,13842.13 +14-6-2019 14:00,25606.48,11919.61,11919.61 +14-6-2019 15:00,19824.37,9228.08,9228.08 +14-6-2019 16:00,22302.42,10381.59,10381.59 +14-6-2019 17:00,36344.68,16918.15,16918.15 +14-6-2019 18:00,64429.22,29991.27,29991.27 +14-6-2019 19:00,65255.22,30375.77,30375.77 +14-6-2019 20:00,57821.08,26915.24,26915.24 +14-6-2019 21:00,47908.9,22301.2,22301.2 +14-6-2019 22:00,33866.64,15764.64,15764.64 +14-6-2019 23:00,16520.32,7690.07,7690.07 +15-6-2019 00:00,5782.11,2691.52,2691.52 +15-6-2019 01:00,3304.06,1538.01,1538.01 +15-6-2019 02:00,825.61,384.31,384.31 +15-6-2019 03:00,2173.77,1011.87,1011.87 +15-6-2019 04:00,3468.08,1614.36,1614.36 +15-6-2019 05:00,7436.59,3461.67,3461.67 +15-6-2019 06:00,50645.98,23575.29,23575.29 +15-6-2019 07:00,189068.9,88010.03,88010.03 +15-6-2019 08:00,85932.75,40000.99,40000.99 +15-6-2019 09:00,147624.13,68717.83,68717.83 +15-6-2019 10:00,53787.52,25037.65,25037.65 +15-6-2019 11:00,43778.83,20378.68,20378.68 +15-6-2019 12:00,39247.54,18269.41,18269.41 +15-6-2019 13:00,29887.33,13912.31,13912.31 +15-6-2019 14:00,25606.48,11919.61,11919.61 +15-6-2019 15:00,19824.37,9228.08,9228.08 +15-6-2019 16:00,22302.42,10381.59,10381.59 +15-6-2019 17:00,36344.68,16918.15,16918.15 +15-6-2019 18:00,64429.22,29991.27,29991.27 +15-6-2019 19:00,65255.22,30375.77,30375.77 +15-6-2019 20:00,57821.08,26915.24,26915.24 +15-6-2019 21:00,47908.9,22301.2,22301.2 +15-6-2019 22:00,33866.64,15764.64,15764.64 +15-6-2019 23:00,16520.32,7690.07,7690.07 +16-6-2019 00:00,7576.78,3526.93,3526.93 +16-6-2019 01:00,5603.68,2608.47,2608.47 +16-6-2019 02:00,7682.86,3576.31,3576.31 +16-6-2019 03:00,22064.92,10271.04,10271.04 +16-6-2019 04:00,20823.32,9693.09,9693.09 +16-6-2019 05:00,19167.97,8922.53,8922.53 +16-6-2019 06:00,65287,30390.56,30390.56 +16-6-2019 07:00,172914.34,80490.21,80490.21 +16-6-2019 08:00,69978.85,32574.58,32574.58 +16-6-2019 09:00,99800.78,46456.45,46456.45 +16-6-2019 10:00,50625.49,23565.75,23565.75 +16-6-2019 11:00,43778.83,20378.68,20378.68 +16-6-2019 12:00,37170.69,17302.65,17302.65 +16-6-2019 13:00,29736.56,13842.13,13842.13 +16-6-2019 14:00,25606.48,11919.61,11919.61 +16-6-2019 15:00,19824.37,9228.08,9228.08 +16-6-2019 16:00,22302.42,10381.59,10381.59 +16-6-2019 17:00,36344.68,16918.15,16918.15 +16-6-2019 18:00,64429.22,29991.27,29991.27 +16-6-2019 19:00,65255.22,30375.77,30375.77 +16-6-2019 20:00,57821.08,26915.24,26915.24 +16-6-2019 21:00,47908.9,22301.2,22301.2 +16-6-2019 22:00,33866.64,15764.64,15764.64 +16-6-2019 23:00,16520.32,7690.07,7690.07 +17-6-2019 00:00,5782.11,2691.52,2691.52 +17-6-2019 01:00,3304.06,1538.01,1538.01 +17-6-2019 02:00,825.61,384.31,384.31 +17-6-2019 03:00,2414.3,1123.84,1123.84 +17-6-2019 04:00,3825.01,1780.51,1780.51 +17-6-2019 05:00,7276.46,3387.13,3387.13 +17-6-2019 06:00,46256.88,21532.19,21532.19 +17-6-2019 07:00,92757.95,43178.08,43178.08 +17-6-2019 08:00,59473.12,27684.25,27684.25 +17-6-2019 09:00,70211.32,32682.79,32682.79 +17-6-2019 10:00,50386.95,23454.71,23454.71 +17-6-2019 11:00,43778.83,20378.68,20378.68 +17-6-2019 12:00,37170.69,17302.65,17302.65 +17-6-2019 13:00,29736.56,13842.13,13842.13 +17-6-2019 14:00,25606.48,11919.61,11919.61 +17-6-2019 15:00,19824.37,9228.08,9228.08 +17-6-2019 16:00,22302.42,10381.59,10381.59 +17-6-2019 17:00,36344.68,16918.15,16918.15 +17-6-2019 18:00,64429.22,29991.27,29991.27 +17-6-2019 19:00,65255.22,30375.77,30375.77 +17-6-2019 20:00,57821.08,26915.24,26915.24 +17-6-2019 21:00,47908.9,22301.2,22301.2 +17-6-2019 22:00,33866.64,15764.64,15764.64 +17-6-2019 23:00,16520.32,7690.07,7690.07 +18-6-2019 00:00,5782.11,2691.52,2691.52 +18-6-2019 01:00,3304.06,1538.01,1538.01 +18-6-2019 02:00,825.61,384.31,384.31 +18-6-2019 03:00,825.61,384.31,384.31 +18-6-2019 04:00,1652.03,769.01,769.01 +18-6-2019 05:00,5782.11,2691.52,2691.52 +18-6-2019 06:00,46256.88,21532.19,21532.19 +18-6-2019 07:00,76819.45,35758.82,35758.82 +18-6-2019 08:00,59473.12,27684.25,27684.25 +18-6-2019 09:00,70211.32,32682.79,32682.79 +18-6-2019 10:00,50386.95,23454.71,23454.71 +18-6-2019 11:00,43778.83,20378.68,20378.68 +18-6-2019 12:00,37170.69,17302.65,17302.65 +18-6-2019 13:00,29736.56,13842.13,13842.13 +18-6-2019 14:00,25606.48,11919.61,11919.61 +18-6-2019 15:00,19824.37,9228.08,9228.08 +18-6-2019 16:00,22302.42,10381.59,10381.59 +18-6-2019 17:00,36344.68,16918.15,16918.15 +18-6-2019 18:00,64429.22,29991.27,29991.27 +18-6-2019 19:00,65255.22,30375.77,30375.77 +18-6-2019 20:00,57821.08,26915.24,26915.24 +18-6-2019 21:00,47908.9,22301.2,22301.2 +18-6-2019 22:00,33866.64,15764.64,15764.64 +18-6-2019 23:00,16520.32,7690.07,7690.07 +19-6-2019 00:00,5782.11,2691.52,2691.52 +19-6-2019 01:00,3304.06,1538.01,1538.01 +19-6-2019 02:00,825.61,384.31,384.31 +19-6-2019 03:00,825.61,384.31,384.31 +19-6-2019 04:00,1652.03,769.01,769.01 +19-6-2019 05:00,5782.11,2691.52,2691.52 +19-6-2019 06:00,46256.88,21532.19,21532.19 +19-6-2019 07:00,76819.45,35758.82,35758.82 +19-6-2019 08:00,59473.12,27684.25,27684.25 +19-6-2019 09:00,70211.32,32682.79,32682.79 +19-6-2019 10:00,50386.95,23454.71,23454.71 +19-6-2019 11:00,43778.83,20378.68,20378.68 +19-6-2019 12:00,37170.69,17302.65,17302.65 +19-6-2019 13:00,29736.56,13842.13,13842.13 +19-6-2019 14:00,25606.48,11919.61,11919.61 +19-6-2019 15:00,19824.37,9228.08,9228.08 +19-6-2019 16:00,22302.42,10381.59,10381.59 +19-6-2019 17:00,36344.68,16918.15,16918.15 +19-6-2019 18:00,64429.22,29991.27,29991.27 +19-6-2019 19:00,65255.22,30375.77,30375.77 +19-6-2019 20:00,57821.08,26915.24,26915.24 +19-6-2019 21:00,47908.9,22301.2,22301.2 +19-6-2019 22:00,33866.64,15764.64,15764.64 +19-6-2019 23:00,16520.32,7690.07,7690.07 +20-6-2019 00:00,5782.11,2691.52,2691.52 +20-6-2019 01:00,3304.06,1538.01,1538.01 +20-6-2019 02:00,825.61,384.31,384.31 +20-6-2019 03:00,825.61,384.31,384.31 +20-6-2019 04:00,1652.03,769.01,769.01 +20-6-2019 05:00,5782.11,2691.52,2691.52 +20-6-2019 06:00,46256.88,21532.19,21532.19 +20-6-2019 07:00,76819.45,35758.82,35758.82 +20-6-2019 08:00,59473.12,27684.25,27684.25 +20-6-2019 09:00,70211.32,32682.79,32682.79 +20-6-2019 10:00,50386.95,23454.71,23454.71 +20-6-2019 11:00,43778.83,20378.68,20378.68 +20-6-2019 12:00,37170.69,17302.65,17302.65 +20-6-2019 13:00,29736.56,13842.13,13842.13 +20-6-2019 14:00,25606.48,11919.61,11919.61 +20-6-2019 15:00,19824.37,9228.08,9228.08 +20-6-2019 16:00,22302.42,10381.59,10381.59 +20-6-2019 17:00,36344.68,16918.15,16918.15 +20-6-2019 18:00,64429.22,29991.27,29991.27 +20-6-2019 19:00,65255.22,30375.77,30375.77 +20-6-2019 20:00,57821.08,26915.24,26915.24 +20-6-2019 21:00,47908.9,22301.2,22301.2 +20-6-2019 22:00,33866.64,15764.64,15764.64 +20-6-2019 23:00,16520.32,7690.07,7690.07 +21-6-2019 00:00,5782.11,2691.52,2691.52 +21-6-2019 01:00,3304.06,1538.01,1538.01 +21-6-2019 02:00,825.61,384.31,384.31 +21-6-2019 03:00,825.61,384.31,384.31 +21-6-2019 04:00,1652.03,769.01,769.01 +21-6-2019 05:00,6186.85,2879.93,2879.93 +21-6-2019 06:00,46256.88,21532.19,21532.19 +21-6-2019 07:00,76819.45,35758.82,35758.82 +21-6-2019 08:00,59473.12,27684.25,27684.25 +21-6-2019 09:00,70211.32,32682.79,32682.79 +21-6-2019 10:00,50386.95,23454.71,23454.71 +21-6-2019 11:00,43778.83,20378.68,20378.68 +21-6-2019 12:00,38955.04,18133.25,18133.25 +21-6-2019 13:00,29736.56,13842.13,13842.13 +21-6-2019 14:00,25606.48,11919.61,11919.61 +21-6-2019 15:00,19824.37,9228.08,9228.08 +21-6-2019 16:00,22302.42,10381.59,10381.59 +21-6-2019 17:00,36344.68,16918.15,16918.15 +21-6-2019 18:00,64429.22,29991.27,29991.27 +21-6-2019 19:00,65255.22,30375.77,30375.77 +21-6-2019 20:00,57821.08,26915.24,26915.24 +21-6-2019 21:00,47908.9,22301.2,22301.2 +21-6-2019 22:00,33866.64,15764.64,15764.64 +21-6-2019 23:00,16520.32,7690.07,7690.07 +22-6-2019 00:00,5782.11,2691.52,2691.52 +22-6-2019 01:00,3304.06,1538.01,1538.01 +22-6-2019 02:00,825.61,384.31,384.31 +22-6-2019 03:00,1190.73,554.27,554.27 +22-6-2019 04:00,3616.45,1683.43,1683.43 +22-6-2019 05:00,7334.36,3414.09,3414.09 +22-6-2019 06:00,46417.39,21606.91,21606.91 +22-6-2019 07:00,76960.8,35824.62,35824.62 +22-6-2019 08:00,59473.12,27684.25,27684.25 +22-6-2019 09:00,70211.32,32682.79,32682.79 +22-6-2019 10:00,50386.95,23454.71,23454.71 +22-6-2019 11:00,43778.83,20378.68,20378.68 +22-6-2019 12:00,37170.69,17302.65,17302.65 +22-6-2019 13:00,29736.56,13842.13,13842.13 +22-6-2019 14:00,25606.48,11919.61,11919.61 +22-6-2019 15:00,19824.37,9228.08,9228.08 +22-6-2019 16:00,22302.42,10381.59,10381.59 +22-6-2019 17:00,36344.68,16918.15,16918.15 +22-6-2019 18:00,64429.22,29991.27,29991.27 +22-6-2019 19:00,65255.22,30375.77,30375.77 +22-6-2019 20:00,57821.08,26915.24,26915.24 +22-6-2019 21:00,47908.9,22301.2,22301.2 +22-6-2019 22:00,33866.64,15764.64,15764.64 +22-6-2019 23:00,16520.32,7690.07,7690.07 +23-6-2019 00:00,5782.11,2691.52,2691.52 +23-6-2019 01:00,3304.06,1538.01,1538.01 +23-6-2019 02:00,825.61,384.31,384.31 +23-6-2019 03:00,825.61,384.31,384.31 +23-6-2019 04:00,1652.03,769.01,769.01 +23-6-2019 05:00,5782.11,2691.52,2691.52 +23-6-2019 06:00,46256.88,21532.19,21532.19 +23-6-2019 07:00,76819.45,35758.82,35758.82 +23-6-2019 08:00,59473.12,27684.25,27684.25 +23-6-2019 09:00,70211.32,32682.79,32682.79 +23-6-2019 10:00,50386.95,23454.71,23454.71 +23-6-2019 11:00,43778.83,20378.68,20378.68 +23-6-2019 12:00,37170.69,17302.65,17302.65 +23-6-2019 13:00,29736.56,13842.13,13842.13 +23-6-2019 14:00,25606.48,11919.61,11919.61 +23-6-2019 15:00,19824.37,9228.08,9228.08 +23-6-2019 16:00,22302.42,10381.59,10381.59 +23-6-2019 17:00,36344.68,16918.15,16918.15 +23-6-2019 18:00,64429.22,29991.27,29991.27 +23-6-2019 19:00,65255.22,30375.77,30375.77 +23-6-2019 20:00,57821.08,26915.24,26915.24 +23-6-2019 21:00,47908.9,22301.2,22301.2 +23-6-2019 22:00,33866.64,15764.64,15764.64 +23-6-2019 23:00,16520.32,7690.07,7690.07 +24-6-2019 00:00,5782.11,2691.52,2691.52 +24-6-2019 01:00,3304.06,1538.01,1538.01 +24-6-2019 02:00,825.61,384.31,384.31 +24-6-2019 03:00,825.61,384.31,384.31 +24-6-2019 04:00,1652.03,769.01,769.01 +24-6-2019 05:00,5782.11,2691.52,2691.52 +24-6-2019 06:00,46256.88,21532.19,21532.19 +24-6-2019 07:00,76819.45,35758.82,35758.82 +24-6-2019 08:00,59473.12,27684.25,27684.25 +24-6-2019 09:00,70211.32,32682.79,32682.79 +24-6-2019 10:00,50386.95,23454.71,23454.71 +24-6-2019 11:00,43778.83,20378.68,20378.68 +24-6-2019 12:00,37170.69,17302.65,17302.65 +24-6-2019 13:00,29736.56,13842.13,13842.13 +24-6-2019 14:00,25606.48,11919.61,11919.61 +24-6-2019 15:00,19824.37,9228.08,9228.08 +24-6-2019 16:00,22302.42,10381.59,10381.59 +24-6-2019 17:00,36344.68,16918.15,16918.15 +24-6-2019 18:00,64429.22,29991.27,29991.27 +24-6-2019 19:00,65255.22,30375.77,30375.77 +24-6-2019 20:00,57821.08,26915.24,26915.24 +24-6-2019 21:00,47908.9,22301.2,22301.2 +24-6-2019 22:00,33866.64,15764.64,15764.64 +24-6-2019 23:00,16520.32,7690.07,7690.07 +25-6-2019 00:00,5782.11,2691.52,2691.52 +25-6-2019 01:00,3304.06,1538.01,1538.01 +25-6-2019 02:00,825.61,384.31,384.31 +25-6-2019 03:00,825.61,384.31,384.31 +25-6-2019 04:00,1652.03,769.01,769.01 +25-6-2019 05:00,5782.11,2691.52,2691.52 +25-6-2019 06:00,46256.88,21532.19,21532.19 +25-6-2019 07:00,76819.45,35758.82,35758.82 +25-6-2019 08:00,59473.12,27684.25,27684.25 +25-6-2019 09:00,70211.32,32682.79,32682.79 +25-6-2019 10:00,50386.95,23454.71,23454.71 +25-6-2019 11:00,43778.83,20378.68,20378.68 +25-6-2019 12:00,37170.69,17302.65,17302.65 +25-6-2019 13:00,29736.56,13842.13,13842.13 +25-6-2019 14:00,25606.48,11919.61,11919.61 +25-6-2019 15:00,19824.37,9228.08,9228.08 +25-6-2019 16:00,22302.42,10381.59,10381.59 +25-6-2019 17:00,36344.68,16918.15,16918.15 +25-6-2019 18:00,64429.22,29991.27,29991.27 +25-6-2019 19:00,65255.22,30375.77,30375.77 +25-6-2019 20:00,57821.08,26915.24,26915.24 +25-6-2019 21:00,47908.9,22301.2,22301.2 +25-6-2019 22:00,33866.64,15764.64,15764.64 +25-6-2019 23:00,16520.32,7690.07,7690.07 +26-6-2019 00:00,5782.11,2691.52,2691.52 +26-6-2019 01:00,3304.06,1538.01,1538.01 +26-6-2019 02:00,825.61,384.31,384.31 +26-6-2019 03:00,825.61,384.31,384.31 +26-6-2019 04:00,1652.03,769.01,769.01 +26-6-2019 05:00,5782.11,2691.52,2691.52 +26-6-2019 06:00,46256.88,21532.19,21532.19 +26-6-2019 07:00,76819.45,35758.82,35758.82 +26-6-2019 08:00,59473.12,27684.25,27684.25 +26-6-2019 09:00,70211.32,32682.79,32682.79 +26-6-2019 10:00,50386.95,23454.71,23454.71 +26-6-2019 11:00,43778.83,20378.68,20378.68 +26-6-2019 12:00,37170.69,17302.65,17302.65 +26-6-2019 13:00,29736.56,13842.13,13842.13 +26-6-2019 14:00,25606.48,11919.61,11919.61 +26-6-2019 15:00,19824.37,9228.08,9228.08 +26-6-2019 16:00,22302.42,10381.59,10381.59 +26-6-2019 17:00,36344.68,16918.15,16918.15 +26-6-2019 18:00,64429.22,29991.27,29991.27 +26-6-2019 19:00,65255.22,30375.77,30375.77 +26-6-2019 20:00,57821.08,26915.24,26915.24 +26-6-2019 21:00,47908.9,22301.2,22301.2 +26-6-2019 22:00,33866.64,15764.64,15764.64 +26-6-2019 23:00,16520.32,7690.07,7690.07 +27-6-2019 00:00,5782.11,2691.52,2691.52 +27-6-2019 01:00,3304.06,1538.01,1538.01 +27-6-2019 02:00,825.61,384.31,384.31 +27-6-2019 03:00,825.61,384.31,384.31 +27-6-2019 04:00,1652.03,769.01,769.01 +27-6-2019 05:00,5782.11,2691.52,2691.52 +27-6-2019 06:00,46256.88,21532.19,21532.19 +27-6-2019 07:00,76819.45,35758.82,35758.82 +27-6-2019 08:00,59473.12,27684.25,27684.25 +27-6-2019 09:00,70211.32,32682.79,32682.79 +27-6-2019 10:00,50386.95,23454.71,23454.71 +27-6-2019 11:00,43778.83,20378.68,20378.68 +27-6-2019 12:00,37170.69,17302.65,17302.65 +27-6-2019 13:00,29736.56,13842.13,13842.13 +27-6-2019 14:00,25606.48,11919.61,11919.61 +27-6-2019 15:00,19824.37,9228.08,9228.08 +27-6-2019 16:00,22302.42,10381.59,10381.59 +27-6-2019 17:00,36344.68,16918.15,16918.15 +27-6-2019 18:00,64429.22,29991.27,29991.27 +27-6-2019 19:00,65255.22,30375.77,30375.77 +27-6-2019 20:00,57821.08,26915.24,26915.24 +27-6-2019 21:00,47908.9,22301.2,22301.2 +27-6-2019 22:00,33866.64,15764.64,15764.64 +27-6-2019 23:00,16520.32,7690.07,7690.07 +28-6-2019 00:00,5782.11,2691.52,2691.52 +28-6-2019 01:00,3304.06,1538.01,1538.01 +28-6-2019 02:00,825.61,384.31,384.31 +28-6-2019 03:00,825.61,384.31,384.31 +28-6-2019 04:00,1652.03,769.01,769.01 +28-6-2019 05:00,5782.11,2691.52,2691.52 +28-6-2019 06:00,46256.88,21532.19,21532.19 +28-6-2019 07:00,76819.45,35758.82,35758.82 +28-6-2019 08:00,59473.12,27684.25,27684.25 +28-6-2019 09:00,70211.32,32682.79,32682.79 +28-6-2019 10:00,50386.95,23454.71,23454.71 +28-6-2019 11:00,43778.83,20378.68,20378.68 +28-6-2019 12:00,37170.69,17302.65,17302.65 +28-6-2019 13:00,29736.56,13842.13,13842.13 +28-6-2019 14:00,25606.48,11919.61,11919.61 +28-6-2019 15:00,19824.37,9228.08,9228.08 +28-6-2019 16:00,22302.42,10381.59,10381.59 +28-6-2019 17:00,36344.68,16918.15,16918.15 +28-6-2019 18:00,64429.22,29991.27,29991.27 +28-6-2019 19:00,65255.22,30375.77,30375.77 +28-6-2019 20:00,57821.08,26915.24,26915.24 +28-6-2019 21:00,47908.9,22301.2,22301.2 +28-6-2019 22:00,33866.64,15764.64,15764.64 +28-6-2019 23:00,16520.32,7690.07,7690.07 +29-6-2019 00:00,5782.11,2691.52,2691.52 +29-6-2019 01:00,3304.06,1538.01,1538.01 +29-6-2019 02:00,825.61,384.31,384.31 +29-6-2019 03:00,825.61,384.31,384.31 +29-6-2019 04:00,1652.03,769.01,769.01 +29-6-2019 05:00,5782.11,2691.52,2691.52 +29-6-2019 06:00,46256.88,21532.19,21532.19 +29-6-2019 07:00,76819.45,35758.82,35758.82 +29-6-2019 08:00,59473.12,27684.25,27684.25 +29-6-2019 09:00,70211.32,32682.79,32682.79 +29-6-2019 10:00,50386.95,23454.71,23454.71 +29-6-2019 11:00,43778.83,20378.68,20378.68 +29-6-2019 12:00,37170.69,17302.65,17302.65 +29-6-2019 13:00,29736.56,13842.13,13842.13 +29-6-2019 14:00,25606.48,11919.61,11919.61 +29-6-2019 15:00,19824.37,9228.08,9228.08 +29-6-2019 16:00,22302.42,10381.59,10381.59 +29-6-2019 17:00,36344.68,16918.15,16918.15 +29-6-2019 18:00,64429.22,29991.27,29991.27 +29-6-2019 19:00,65255.22,30375.77,30375.77 +29-6-2019 20:00,57821.08,26915.24,26915.24 +29-6-2019 21:00,47908.9,22301.2,22301.2 +29-6-2019 22:00,33866.64,15764.64,15764.64 +29-6-2019 23:00,16520.32,7690.07,7690.07 +30-6-2019 00:00,5782.11,2691.52,2691.52 +30-6-2019 01:00,3304.06,1538.01,1538.01 +30-6-2019 02:00,825.61,384.31,384.31 +30-6-2019 03:00,825.61,384.31,384.31 +30-6-2019 04:00,1652.03,769.01,769.01 +30-6-2019 05:00,5782.11,2691.52,2691.52 +30-6-2019 06:00,46256.88,21532.19,21532.19 +30-6-2019 07:00,76819.45,35758.82,35758.82 +30-6-2019 08:00,59473.12,27684.25,27684.25 +30-6-2019 09:00,70211.32,32682.79,32682.79 +30-6-2019 10:00,50386.95,23454.71,23454.71 +30-6-2019 11:00,43778.83,20378.68,20378.68 +30-6-2019 12:00,37170.69,17302.65,17302.65 +30-6-2019 13:00,29736.56,13842.13,13842.13 +30-6-2019 14:00,25606.48,11919.61,11919.61 +30-6-2019 15:00,19824.37,9228.08,9228.08 +30-6-2019 16:00,22302.42,10381.59,10381.59 +30-6-2019 17:00,36344.68,16918.15,16918.15 +30-6-2019 18:00,64429.22,29991.27,29991.27 +30-6-2019 19:00,65255.22,30375.77,30375.77 +30-6-2019 20:00,57821.08,26915.24,26915.24 +30-6-2019 21:00,47908.9,22301.2,22301.2 +30-6-2019 22:00,33866.64,15764.64,15764.64 +30-6-2019 23:00,16520.32,7690.07,7690.07 +1-7-2019 00:00,5782.11,2691.52,2691.52 +1-7-2019 01:00,3304.06,1538.01,1538.01 +1-7-2019 02:00,825.61,384.31,384.31 +1-7-2019 03:00,825.61,384.31,384.31 +1-7-2019 04:00,1652.03,769.01,769.01 +1-7-2019 05:00,5782.11,2691.52,2691.52 +1-7-2019 06:00,46256.88,21532.19,21532.19 +1-7-2019 07:00,76819.45,35758.82,35758.82 +1-7-2019 08:00,59473.12,27684.25,27684.25 +1-7-2019 09:00,70211.32,32682.79,32682.79 +1-7-2019 10:00,50386.95,23454.71,23454.71 +1-7-2019 11:00,43778.83,20378.68,20378.68 +1-7-2019 12:00,37170.69,17302.65,17302.65 +1-7-2019 13:00,29736.56,13842.13,13842.13 +1-7-2019 14:00,25606.48,11919.61,11919.61 +1-7-2019 15:00,19824.37,9228.08,9228.08 +1-7-2019 16:00,22302.42,10381.59,10381.59 +1-7-2019 17:00,36344.68,16918.15,16918.15 +1-7-2019 18:00,64429.22,29991.27,29991.27 +1-7-2019 19:00,65255.22,30375.77,30375.77 +1-7-2019 20:00,57821.08,26915.24,26915.24 +1-7-2019 21:00,47908.9,22301.2,22301.2 +1-7-2019 22:00,33866.64,15764.64,15764.64 +1-7-2019 23:00,16520.32,7690.07,7690.07 +2-7-2019 00:00,5782.11,2691.52,2691.52 +2-7-2019 01:00,3304.06,1538.01,1538.01 +2-7-2019 02:00,825.61,384.31,384.31 +2-7-2019 03:00,825.61,384.31,384.31 +2-7-2019 04:00,1652.03,769.01,769.01 +2-7-2019 05:00,5782.11,2691.52,2691.52 +2-7-2019 06:00,46256.88,21532.19,21532.19 +2-7-2019 07:00,76819.45,35758.82,35758.82 +2-7-2019 08:00,59473.12,27684.25,27684.25 +2-7-2019 09:00,70211.32,32682.79,32682.79 +2-7-2019 10:00,50386.95,23454.71,23454.71 +2-7-2019 11:00,43778.83,20378.68,20378.68 +2-7-2019 12:00,37170.69,17302.65,17302.65 +2-7-2019 13:00,29736.56,13842.13,13842.13 +2-7-2019 14:00,25606.48,11919.61,11919.61 +2-7-2019 15:00,19824.37,9228.08,9228.08 +2-7-2019 16:00,22302.42,10381.59,10381.59 +2-7-2019 17:00,36344.68,16918.15,16918.15 +2-7-2019 18:00,64429.22,29991.27,29991.27 +2-7-2019 19:00,65255.22,30375.77,30375.77 +2-7-2019 20:00,57821.08,26915.24,26915.24 +2-7-2019 21:00,47908.9,22301.2,22301.2 +2-7-2019 22:00,33866.64,15764.64,15764.64 +2-7-2019 23:00,16520.32,7690.07,7690.07 +3-7-2019 00:00,5782.11,2691.52,2691.52 +3-7-2019 01:00,3304.06,1538.01,1538.01 +3-7-2019 02:00,825.61,384.31,384.31 +3-7-2019 03:00,825.61,384.31,384.31 +3-7-2019 04:00,1652.03,769.01,769.01 +3-7-2019 05:00,5782.11,2691.52,2691.52 +3-7-2019 06:00,46256.88,21532.19,21532.19 +3-7-2019 07:00,76819.45,35758.82,35758.82 +3-7-2019 08:00,59473.12,27684.25,27684.25 +3-7-2019 09:00,70211.32,32682.79,32682.79 +3-7-2019 10:00,50386.95,23454.71,23454.71 +3-7-2019 11:00,43778.83,20378.68,20378.68 +3-7-2019 12:00,37170.69,17302.65,17302.65 +3-7-2019 13:00,29736.56,13842.13,13842.13 +3-7-2019 14:00,25606.48,11919.61,11919.61 +3-7-2019 15:00,19824.37,9228.08,9228.08 +3-7-2019 16:00,22302.42,10381.59,10381.59 +3-7-2019 17:00,36344.68,16918.15,16918.15 +3-7-2019 18:00,64429.22,29991.27,29991.27 +3-7-2019 19:00,65255.22,30375.77,30375.77 +3-7-2019 20:00,57821.08,26915.24,26915.24 +3-7-2019 21:00,47908.9,22301.2,22301.2 +3-7-2019 22:00,33866.64,15764.64,15764.64 +3-7-2019 23:00,16520.32,7690.07,7690.07 +4-7-2019 00:00,5782.11,2691.52,2691.52 +4-7-2019 01:00,3304.06,1538.01,1538.01 +4-7-2019 02:00,825.61,384.31,384.31 +4-7-2019 03:00,825.61,384.31,384.31 +4-7-2019 04:00,1652.03,769.01,769.01 +4-7-2019 05:00,5782.11,2691.52,2691.52 +4-7-2019 06:00,46256.88,21532.19,21532.19 +4-7-2019 07:00,76819.45,35758.82,35758.82 +4-7-2019 08:00,59473.12,27684.25,27684.25 +4-7-2019 09:00,70211.32,32682.79,32682.79 +4-7-2019 10:00,50386.95,23454.71,23454.71 +4-7-2019 11:00,43778.83,20378.68,20378.68 +4-7-2019 12:00,37170.69,17302.65,17302.65 +4-7-2019 13:00,29736.56,13842.13,13842.13 +4-7-2019 14:00,25606.48,11919.61,11919.61 +4-7-2019 15:00,19824.37,9228.08,9228.08 +4-7-2019 16:00,22302.42,10381.59,10381.59 +4-7-2019 17:00,36344.68,16918.15,16918.15 +4-7-2019 18:00,64429.22,29991.27,29991.27 +4-7-2019 19:00,65255.22,30375.77,30375.77 +4-7-2019 20:00,57821.08,26915.24,26915.24 +4-7-2019 21:00,47908.9,22301.2,22301.2 +4-7-2019 22:00,33866.64,15764.64,15764.64 +4-7-2019 23:00,16520.32,7690.07,7690.07 +5-7-2019 00:00,5782.11,2691.52,2691.52 +5-7-2019 01:00,3304.06,1538.01,1538.01 +5-7-2019 02:00,825.61,384.31,384.31 +5-7-2019 03:00,825.61,384.31,384.31 +5-7-2019 04:00,1652.03,769.01,769.01 +5-7-2019 05:00,5782.11,2691.52,2691.52 +5-7-2019 06:00,46256.88,21532.19,21532.19 +5-7-2019 07:00,76819.45,35758.82,35758.82 +5-7-2019 08:00,59473.12,27684.25,27684.25 +5-7-2019 09:00,70211.32,32682.79,32682.79 +5-7-2019 10:00,50386.95,23454.71,23454.71 +5-7-2019 11:00,43778.83,20378.68,20378.68 +5-7-2019 12:00,37170.69,17302.65,17302.65 +5-7-2019 13:00,29736.56,13842.13,13842.13 +5-7-2019 14:00,25606.48,11919.61,11919.61 +5-7-2019 15:00,19824.37,9228.08,9228.08 +5-7-2019 16:00,22302.42,10381.59,10381.59 +5-7-2019 17:00,36344.68,16918.15,16918.15 +5-7-2019 18:00,64429.22,29991.27,29991.27 +5-7-2019 19:00,65255.22,30375.77,30375.77 +5-7-2019 20:00,57821.08,26915.24,26915.24 +5-7-2019 21:00,47908.9,22301.2,22301.2 +5-7-2019 22:00,33866.64,15764.64,15764.64 +5-7-2019 23:00,16520.32,7690.07,7690.07 +6-7-2019 00:00,5782.11,2691.52,2691.52 +6-7-2019 01:00,3304.06,1538.01,1538.01 +6-7-2019 02:00,825.61,384.31,384.31 +6-7-2019 03:00,825.61,384.31,384.31 +6-7-2019 04:00,1652.03,769.01,769.01 +6-7-2019 05:00,5782.11,2691.52,2691.52 +6-7-2019 06:00,46256.88,21532.19,21532.19 +6-7-2019 07:00,76819.45,35758.82,35758.82 +6-7-2019 08:00,59473.12,27684.25,27684.25 +6-7-2019 09:00,70211.32,32682.79,32682.79 +6-7-2019 10:00,50386.95,23454.71,23454.71 +6-7-2019 11:00,43778.83,20378.68,20378.68 +6-7-2019 12:00,37170.69,17302.65,17302.65 +6-7-2019 13:00,29736.56,13842.13,13842.13 +6-7-2019 14:00,25606.48,11919.61,11919.61 +6-7-2019 15:00,19824.37,9228.08,9228.08 +6-7-2019 16:00,22302.42,10381.59,10381.59 +6-7-2019 17:00,36344.68,16918.15,16918.15 +6-7-2019 18:00,64429.22,29991.27,29991.27 +6-7-2019 19:00,65255.22,30375.77,30375.77 +6-7-2019 20:00,57821.08,26915.24,26915.24 +6-7-2019 21:00,47908.9,22301.2,22301.2 +6-7-2019 22:00,33866.64,15764.64,15764.64 +6-7-2019 23:00,16520.32,7690.07,7690.07 +7-7-2019 00:00,5782.11,2691.52,2691.52 +7-7-2019 01:00,3304.06,1538.01,1538.01 +7-7-2019 02:00,825.61,384.31,384.31 +7-7-2019 03:00,825.61,384.31,384.31 +7-7-2019 04:00,1652.03,769.01,769.01 +7-7-2019 05:00,5782.11,2691.52,2691.52 +7-7-2019 06:00,46256.88,21532.19,21532.19 +7-7-2019 07:00,76819.45,35758.82,35758.82 +7-7-2019 08:00,59473.12,27684.25,27684.25 +7-7-2019 09:00,70211.32,32682.79,32682.79 +7-7-2019 10:00,50386.95,23454.71,23454.71 +7-7-2019 11:00,43778.83,20378.68,20378.68 +7-7-2019 12:00,37170.69,17302.65,17302.65 +7-7-2019 13:00,29736.56,13842.13,13842.13 +7-7-2019 14:00,25606.48,11919.61,11919.61 +7-7-2019 15:00,19824.37,9228.08,9228.08 +7-7-2019 16:00,22302.42,10381.59,10381.59 +7-7-2019 17:00,36344.68,16918.15,16918.15 +7-7-2019 18:00,64429.22,29991.27,29991.27 +7-7-2019 19:00,65255.22,30375.77,30375.77 +7-7-2019 20:00,57821.08,26915.24,26915.24 +7-7-2019 21:00,47908.9,22301.2,22301.2 +7-7-2019 22:00,33866.64,15764.64,15764.64 +7-7-2019 23:00,16520.32,7690.07,7690.07 +8-7-2019 00:00,5782.11,2691.52,2691.52 +8-7-2019 01:00,3304.06,1538.01,1538.01 +8-7-2019 02:00,825.61,384.31,384.31 +8-7-2019 03:00,825.61,384.31,384.31 +8-7-2019 04:00,2786.9,1297.28,1297.28 +8-7-2019 05:00,7079.39,3295.4,3295.4 +8-7-2019 06:00,46256.88,21532.19,21532.19 +8-7-2019 07:00,76819.45,35758.82,35758.82 +8-7-2019 08:00,59473.12,27684.25,27684.25 +8-7-2019 09:00,70211.32,32682.79,32682.79 +8-7-2019 10:00,50386.95,23454.71,23454.71 +8-7-2019 11:00,43778.83,20378.68,20378.68 +8-7-2019 12:00,46618.02,21700.31,21700.31 +8-7-2019 13:00,29736.56,13842.13,13842.13 +8-7-2019 14:00,25606.48,11919.61,11919.61 +8-7-2019 15:00,19824.37,9228.08,9228.08 +8-7-2019 16:00,22302.42,10381.59,10381.59 +8-7-2019 17:00,36344.68,16918.15,16918.15 +8-7-2019 18:00,64429.22,29991.27,29991.27 +8-7-2019 19:00,65255.22,30375.77,30375.77 +8-7-2019 20:00,57821.08,26915.24,26915.24 +8-7-2019 21:00,47908.9,22301.2,22301.2 +8-7-2019 22:00,33866.64,15764.64,15764.64 +8-7-2019 23:00,16520.32,7690.07,7690.07 +9-7-2019 00:00,5782.11,2691.52,2691.52 +9-7-2019 01:00,4154.64,1933.95,1933.95 +9-7-2019 02:00,2909.22,1354.22,1354.22 +9-7-2019 03:00,3166.45,1473.96,1473.96 +9-7-2019 04:00,3979.01,1852.2,1852.2 +9-7-2019 05:00,7402.91,3445.99,3445.99 +9-7-2019 06:00,46256.88,21532.19,21532.19 +9-7-2019 07:00,86656.01,40337.66,40337.66 +9-7-2019 08:00,65500.16,30489.79,30489.79 +9-7-2019 09:00,70211.32,32682.79,32682.79 +9-7-2019 10:00,50386.95,23454.71,23454.71 +9-7-2019 11:00,43778.83,20378.68,20378.68 +9-7-2019 12:00,51376.33,23915.26,23915.26 +9-7-2019 13:00,29736.56,13842.13,13842.13 +9-7-2019 14:00,25606.48,11919.61,11919.61 +9-7-2019 15:00,19824.37,9228.08,9228.08 +9-7-2019 16:00,22302.42,10381.59,10381.59 +9-7-2019 17:00,36344.68,16918.15,16918.15 +9-7-2019 18:00,64429.22,29991.27,29991.27 +9-7-2019 19:00,65255.22,30375.77,30375.77 +9-7-2019 20:00,57821.08,26915.24,26915.24 +9-7-2019 21:00,47908.9,22301.2,22301.2 +9-7-2019 22:00,33866.64,15764.64,15764.64 +9-7-2019 23:00,16520.32,7690.07,7690.07 +10-7-2019 00:00,5782.11,2691.52,2691.52 +10-7-2019 01:00,3304.06,1538.01,1538.01 +10-7-2019 02:00,825.61,384.31,384.31 +10-7-2019 03:00,2511.18,1168.93,1168.93 +10-7-2019 04:00,3587.3,1669.86,1669.86 +10-7-2019 05:00,7459.97,3472.55,3472.55 +10-7-2019 06:00,46256.88,21532.19,21532.19 +10-7-2019 07:00,83855.29,39033.95,39033.95 +10-7-2019 08:00,63279.12,29455.91,29455.91 +10-7-2019 09:00,70211.32,32682.79,32682.79 +10-7-2019 10:00,50386.95,23454.71,23454.71 +10-7-2019 11:00,43778.83,20378.68,20378.68 +10-7-2019 12:00,55232.06,25710.08,25710.08 +10-7-2019 13:00,29736.56,13842.13,13842.13 +10-7-2019 14:00,25606.48,11919.61,11919.61 +10-7-2019 15:00,19824.37,9228.08,9228.08 +10-7-2019 16:00,22302.42,10381.59,10381.59 +10-7-2019 17:00,36344.68,16918.15,16918.15 +10-7-2019 18:00,64429.22,29991.27,29991.27 +10-7-2019 19:00,65255.22,30375.77,30375.77 +10-7-2019 20:00,61189.08,28483.02,28483.02 +10-7-2019 21:00,47908.9,22301.2,22301.2 +10-7-2019 22:00,33866.64,15764.64,15764.64 +10-7-2019 23:00,16520.32,7690.07,7690.07 +11-7-2019 00:00,6540.31,3044.46,3044.46 +11-7-2019 01:00,4959.46,2308.59,2308.59 +11-7-2019 02:00,2475.71,1152.42,1152.42 +11-7-2019 03:00,2469.69,1149.62,1149.62 +11-7-2019 04:00,3264.29,1519.5,1519.5 +11-7-2019 05:00,7115.4,3312.16,3312.16 +11-7-2019 06:00,46256.88,21532.19,21532.19 +11-7-2019 07:00,85244.52,39680.63,39680.63 +11-7-2019 08:00,65525.35,30501.51,30501.51 +11-7-2019 09:00,70211.32,32682.79,32682.79 +11-7-2019 10:00,50386.95,23454.71,23454.71 +11-7-2019 11:00,43778.83,20378.68,20378.68 +11-7-2019 12:00,49802.13,23182.48,23182.48 +11-7-2019 13:00,29736.56,13842.13,13842.13 +11-7-2019 14:00,25606.48,11919.61,11919.61 +11-7-2019 15:00,19824.37,9228.08,9228.08 +11-7-2019 16:00,22302.42,10381.59,10381.59 +11-7-2019 17:00,36344.68,16918.15,16918.15 +11-7-2019 18:00,64429.22,29991.27,29991.27 +11-7-2019 19:00,65255.22,30375.77,30375.77 +11-7-2019 20:00,57821.08,26915.24,26915.24 +11-7-2019 21:00,47908.9,22301.2,22301.2 +11-7-2019 22:00,33866.64,15764.64,15764.64 +11-7-2019 23:00,16520.32,7690.07,7690.07 +12-7-2019 00:00,5782.11,2691.52,2691.52 +12-7-2019 01:00,3304.06,1538.01,1538.01 +12-7-2019 02:00,825.61,384.31,384.31 +12-7-2019 03:00,825.61,384.31,384.31 +12-7-2019 04:00,3049.09,1419.33,1419.33 +12-7-2019 05:00,6934.22,3227.82,3227.82 +12-7-2019 06:00,46256.88,21532.19,21532.19 +12-7-2019 07:00,76819.45,35758.82,35758.82 +12-7-2019 08:00,59473.12,27684.25,27684.25 +12-7-2019 09:00,70211.32,32682.79,32682.79 +12-7-2019 10:00,50386.95,23454.71,23454.71 +12-7-2019 11:00,43778.83,20378.68,20378.68 +12-7-2019 12:00,43213.98,20115.75,20115.75 +12-7-2019 13:00,29736.56,13842.13,13842.13 +12-7-2019 14:00,25606.48,11919.61,11919.61 +12-7-2019 15:00,19824.37,9228.08,9228.08 +12-7-2019 16:00,22302.42,10381.59,10381.59 +12-7-2019 17:00,36344.68,16918.15,16918.15 +12-7-2019 18:00,64429.22,29991.27,29991.27 +12-7-2019 19:00,65255.22,30375.77,30375.77 +12-7-2019 20:00,57821.08,26915.24,26915.24 +12-7-2019 21:00,47908.9,22301.2,22301.2 +12-7-2019 22:00,33866.64,15764.64,15764.64 +12-7-2019 23:00,16520.32,7690.07,7690.07 +13-7-2019 00:00,5782.11,2691.52,2691.52 +13-7-2019 01:00,3304.06,1538.01,1538.01 +13-7-2019 02:00,1374.17,639.66,639.66 +13-7-2019 03:00,2299.86,1070.56,1070.56 +13-7-2019 04:00,3101.01,1443.49,1443.49 +13-7-2019 05:00,7022.23,3268.79,3268.79 +13-7-2019 06:00,48098.73,22389.56,22389.56 +13-7-2019 07:00,92764.76,43181.24,43181.24 +13-7-2019 08:00,59473.12,27684.25,27684.25 +13-7-2019 09:00,88621.18,41252.43,41252.43 +13-7-2019 10:00,50386.95,23454.71,23454.71 +13-7-2019 11:00,43778.83,20378.68,20378.68 +13-7-2019 12:00,37170.69,17302.65,17302.65 +13-7-2019 13:00,29736.56,13842.13,13842.13 +13-7-2019 14:00,25606.48,11919.61,11919.61 +13-7-2019 15:00,19824.37,9228.08,9228.08 +13-7-2019 16:00,22302.42,10381.59,10381.59 +13-7-2019 17:00,36344.68,16918.15,16918.15 +13-7-2019 18:00,64429.22,29991.27,29991.27 +13-7-2019 19:00,65255.22,30375.77,30375.77 +13-7-2019 20:00,57821.08,26915.24,26915.24 +13-7-2019 21:00,47908.9,22301.2,22301.2 +13-7-2019 22:00,33866.64,15764.64,15764.64 +13-7-2019 23:00,16520.32,7690.07,7690.07 +14-7-2019 00:00,5782.11,2691.52,2691.52 +14-7-2019 01:00,3641,1694.86,1694.86 +14-7-2019 02:00,2462.29,1146.17,1146.17 +14-7-2019 03:00,2482.18,1155.43,1155.43 +14-7-2019 04:00,3394.91,1580.3,1580.3 +14-7-2019 05:00,7284.72,3390.98,3390.98 +14-7-2019 06:00,48868.58,22747.92,22747.92 +14-7-2019 07:00,120789.89,56226.71,56226.71 +14-7-2019 08:00,61741.68,28740.25,28740.25 +14-7-2019 09:00,91513.51,42598.8,42598.8 +14-7-2019 10:00,50386.95,23454.71,23454.71 +14-7-2019 11:00,43778.83,20378.68,20378.68 +14-7-2019 12:00,38219.32,17790.78,17790.78 +14-7-2019 13:00,29736.56,13842.13,13842.13 +14-7-2019 14:00,25606.48,11919.61,11919.61 +14-7-2019 15:00,19824.37,9228.08,9228.08 +14-7-2019 16:00,22302.42,10381.59,10381.59 +14-7-2019 17:00,36344.68,16918.15,16918.15 +14-7-2019 18:00,64429.22,29991.27,29991.27 +14-7-2019 19:00,65255.22,30375.77,30375.77 +14-7-2019 20:00,57821.08,26915.24,26915.24 +14-7-2019 21:00,47908.9,22301.2,22301.2 +14-7-2019 22:00,33866.64,15764.64,15764.64 +14-7-2019 23:00,16520.32,7690.07,7690.07 +15-7-2019 00:00,5782.11,2691.52,2691.52 +15-7-2019 01:00,4483.66,2087.11,2087.11 +15-7-2019 02:00,2603.11,1211.73,1211.73 +15-7-2019 03:00,2682.13,1248.51,1248.51 +15-7-2019 04:00,3494.58,1626.7,1626.7 +15-7-2019 05:00,7424.44,3456.01,3456.01 +15-7-2019 06:00,46256.88,21532.19,21532.19 +15-7-2019 07:00,100098.69,46595.13,46595.13 +15-7-2019 08:00,73727.18,34319.4,34319.4 +15-7-2019 09:00,70211.32,32682.79,32682.79 +15-7-2019 10:00,50386.95,23454.71,23454.71 +15-7-2019 11:00,44026.01,20493.75,20493.75 +15-7-2019 12:00,62542.9,29113.21,29113.21 +15-7-2019 13:00,29736.56,13842.13,13842.13 +15-7-2019 14:00,25606.48,11919.61,11919.61 +15-7-2019 15:00,19824.37,9228.08,9228.08 +15-7-2019 16:00,22302.42,10381.59,10381.59 +15-7-2019 17:00,36344.68,16918.15,16918.15 +15-7-2019 18:00,64429.22,29991.27,29991.27 +15-7-2019 19:00,65255.22,30375.77,30375.77 +15-7-2019 20:00,58454.1,27209.91,27209.91 +15-7-2019 21:00,47908.9,22301.2,22301.2 +15-7-2019 22:00,33866.64,15764.64,15764.64 +15-7-2019 23:00,16520.32,7690.07,7690.07 +16-7-2019 00:00,6763.93,3148.56,3148.56 +16-7-2019 01:00,5159.56,2401.73,2401.73 +16-7-2019 02:00,2689.59,1251.98,1251.98 +16-7-2019 03:00,2662.38,1239.32,1239.32 +16-7-2019 04:00,6733.78,3134.52,3134.52 +16-7-2019 05:00,15915.47,7408.52,7408.52 +16-7-2019 06:00,46256.88,21532.19,21532.19 +16-7-2019 07:00,110915.63,51630.32,51630.32 +16-7-2019 08:00,82015.18,38177.4,38177.4 +16-7-2019 09:00,70211.32,32682.79,32682.79 +16-7-2019 10:00,50386.95,23454.71,23454.71 +16-7-2019 11:00,44618.58,20769.58,20769.58 +16-7-2019 12:00,64762.01,30146.18,30146.18 +16-7-2019 13:00,29736.56,13842.13,13842.13 +16-7-2019 14:00,25606.48,11919.61,11919.61 +16-7-2019 15:00,20212.1,9408.57,9408.57 +16-7-2019 16:00,22302.42,10381.59,10381.59 +16-7-2019 17:00,36344.68,16918.15,16918.15 +16-7-2019 18:00,64429.22,29991.27,29991.27 +16-7-2019 19:00,65255.22,30375.77,30375.77 +16-7-2019 20:00,57971.79,26985.39,26985.39 +16-7-2019 21:00,47908.9,22301.2,22301.2 +16-7-2019 22:00,33866.64,15764.64,15764.64 +16-7-2019 23:00,16520.32,7690.07,7690.07 +17-7-2019 00:00,7549.41,3514.19,3514.19 +17-7-2019 01:00,5699.58,2653.11,2653.11 +17-7-2019 02:00,3958.7,1842.74,1842.74 +17-7-2019 03:00,22547.66,10495.75,10495.75 +17-7-2019 04:00,28803.52,13407.8,13407.8 +17-7-2019 05:00,25337.99,11794.63,11794.63 +17-7-2019 06:00,46256.88,21532.19,21532.19 +17-7-2019 07:00,101486.03,47240.92,47240.92 +17-7-2019 08:00,64676.26,30106.27,30106.27 +17-7-2019 09:00,70211.32,32682.79,32682.79 +17-7-2019 10:00,50386.95,23454.71,23454.71 +17-7-2019 11:00,43778.83,20378.68,20378.68 +17-7-2019 12:00,37170.69,17302.65,17302.65 +17-7-2019 13:00,29736.56,13842.13,13842.13 +17-7-2019 14:00,25606.48,11919.61,11919.61 +17-7-2019 15:00,19824.37,9228.08,9228.08 +17-7-2019 16:00,22302.42,10381.59,10381.59 +17-7-2019 17:00,36344.68,16918.15,16918.15 +17-7-2019 18:00,64429.22,29991.27,29991.27 +17-7-2019 19:00,65255.22,30375.77,30375.77 +17-7-2019 20:00,57821.08,26915.24,26915.24 +17-7-2019 21:00,47908.9,22301.2,22301.2 +17-7-2019 22:00,33866.64,15764.64,15764.64 +17-7-2019 23:00,16520.32,7690.07,7690.07 +18-7-2019 00:00,5782.11,2691.52,2691.52 +18-7-2019 01:00,3304.06,1538.01,1538.01 +18-7-2019 02:00,825.61,384.31,384.31 +18-7-2019 03:00,825.61,384.31,384.31 +18-7-2019 04:00,1652.03,769.01,769.01 +18-7-2019 05:00,6101.01,2839.97,2839.97 +18-7-2019 06:00,46256.88,21532.19,21532.19 +18-7-2019 07:00,76996.37,35841.18,35841.18 +18-7-2019 08:00,59473.12,27684.25,27684.25 +18-7-2019 09:00,70211.32,32682.79,32682.79 +18-7-2019 10:00,50386.95,23454.71,23454.71 +18-7-2019 11:00,43778.83,20378.68,20378.68 +18-7-2019 12:00,43603.27,20296.96,20296.96 +18-7-2019 13:00,29736.56,13842.13,13842.13 +18-7-2019 14:00,25606.48,11919.61,11919.61 +18-7-2019 15:00,19824.37,9228.08,9228.08 +18-7-2019 16:00,22302.42,10381.59,10381.59 +18-7-2019 17:00,36344.68,16918.15,16918.15 +18-7-2019 18:00,64429.22,29991.27,29991.27 +18-7-2019 19:00,65255.22,30375.77,30375.77 +18-7-2019 20:00,57821.08,26915.24,26915.24 +18-7-2019 21:00,47908.9,22301.2,22301.2 +18-7-2019 22:00,33866.64,15764.64,15764.64 +18-7-2019 23:00,16520.32,7690.07,7690.07 +19-7-2019 00:00,5782.11,2691.52,2691.52 +19-7-2019 01:00,3304.06,1538.01,1538.01 +19-7-2019 02:00,825.61,384.31,384.31 +19-7-2019 03:00,1292.8,601.79,601.79 +19-7-2019 04:00,3138.53,1460.96,1460.96 +19-7-2019 05:00,6926.32,3224.15,3224.15 +19-7-2019 06:00,46256.88,21532.19,21532.19 +19-7-2019 07:00,77707.97,36172.43,36172.43 +19-7-2019 08:00,59473.12,27684.25,27684.25 +19-7-2019 09:00,70211.32,32682.79,32682.79 +19-7-2019 10:00,50386.95,23454.71,23454.71 +19-7-2019 11:00,43778.83,20378.68,20378.68 +19-7-2019 12:00,40392.64,18802.44,18802.44 +19-7-2019 13:00,29736.56,13842.13,13842.13 +19-7-2019 14:00,25606.48,11919.61,11919.61 +19-7-2019 15:00,19824.37,9228.08,9228.08 +19-7-2019 16:00,22302.42,10381.59,10381.59 +19-7-2019 17:00,36344.68,16918.15,16918.15 +19-7-2019 18:00,64429.22,29991.27,29991.27 +19-7-2019 19:00,65255.22,30375.77,30375.77 +19-7-2019 20:00,57821.08,26915.24,26915.24 +19-7-2019 21:00,47908.9,22301.2,22301.2 +19-7-2019 22:00,33866.64,15764.64,15764.64 +19-7-2019 23:00,16520.32,7690.07,7690.07 +20-7-2019 00:00,5782.11,2691.52,2691.52 +20-7-2019 01:00,3304.06,1538.01,1538.01 +20-7-2019 02:00,825.61,384.31,384.31 +20-7-2019 03:00,825.61,384.31,384.31 +20-7-2019 04:00,1652.03,769.01,769.01 +20-7-2019 05:00,5782.11,2691.52,2691.52 +20-7-2019 06:00,46256.88,21532.19,21532.19 +20-7-2019 07:00,76819.45,35758.82,35758.82 +20-7-2019 08:00,59473.12,27684.25,27684.25 +20-7-2019 09:00,74496.1,34677.33,34677.33 +20-7-2019 10:00,50386.95,23454.71,23454.71 +20-7-2019 11:00,43778.83,20378.68,20378.68 +20-7-2019 12:00,37170.69,17302.65,17302.65 +20-7-2019 13:00,29736.56,13842.13,13842.13 +20-7-2019 14:00,25606.48,11919.61,11919.61 +20-7-2019 15:00,19824.37,9228.08,9228.08 +20-7-2019 16:00,22302.42,10381.59,10381.59 +20-7-2019 17:00,36344.68,16918.15,16918.15 +20-7-2019 18:00,64429.22,29991.27,29991.27 +20-7-2019 19:00,65255.22,30375.77,30375.77 +20-7-2019 20:00,57821.08,26915.24,26915.24 +20-7-2019 21:00,47908.9,22301.2,22301.2 +20-7-2019 22:00,33866.64,15764.64,15764.64 +20-7-2019 23:00,16520.32,7690.07,7690.07 +21-7-2019 00:00,5782.11,2691.52,2691.52 +21-7-2019 01:00,3304.06,1538.01,1538.01 +21-7-2019 02:00,825.61,384.31,384.31 +21-7-2019 03:00,825.61,384.31,384.31 +21-7-2019 04:00,1652.03,769.01,769.01 +21-7-2019 05:00,5782.11,2691.52,2691.52 +21-7-2019 06:00,46256.88,21532.19,21532.19 +21-7-2019 07:00,76819.45,35758.82,35758.82 +21-7-2019 08:00,59473.12,27684.25,27684.25 +21-7-2019 09:00,70211.32,32682.79,32682.79 +21-7-2019 10:00,50386.95,23454.71,23454.71 +21-7-2019 11:00,43778.83,20378.68,20378.68 +21-7-2019 12:00,37170.69,17302.65,17302.65 +21-7-2019 13:00,29736.56,13842.13,13842.13 +21-7-2019 14:00,25606.48,11919.61,11919.61 +21-7-2019 15:00,19824.37,9228.08,9228.08 +21-7-2019 16:00,22302.42,10381.59,10381.59 +21-7-2019 17:00,36344.68,16918.15,16918.15 +21-7-2019 18:00,64429.22,29991.27,29991.27 +21-7-2019 19:00,65255.22,30375.77,30375.77 +21-7-2019 20:00,57821.08,26915.24,26915.24 +21-7-2019 21:00,47908.9,22301.2,22301.2 +21-7-2019 22:00,33866.64,15764.64,15764.64 +21-7-2019 23:00,16520.32,7690.07,7690.07 +22-7-2019 00:00,5782.11,2691.52,2691.52 +22-7-2019 01:00,3304.06,1538.01,1538.01 +22-7-2019 02:00,825.61,384.31,384.31 +22-7-2019 03:00,825.61,384.31,384.31 +22-7-2019 04:00,1652.03,769.01,769.01 +22-7-2019 05:00,5782.11,2691.52,2691.52 +22-7-2019 06:00,46256.88,21532.19,21532.19 +22-7-2019 07:00,76819.45,35758.82,35758.82 +22-7-2019 08:00,59473.12,27684.25,27684.25 +22-7-2019 09:00,70211.32,32682.79,32682.79 +22-7-2019 10:00,50386.95,23454.71,23454.71 +22-7-2019 11:00,43778.83,20378.68,20378.68 +22-7-2019 12:00,37170.69,17302.65,17302.65 +22-7-2019 13:00,29736.56,13842.13,13842.13 +22-7-2019 14:00,25606.48,11919.61,11919.61 +22-7-2019 15:00,19824.37,9228.08,9228.08 +22-7-2019 16:00,22302.42,10381.59,10381.59 +22-7-2019 17:00,36344.68,16918.15,16918.15 +22-7-2019 18:00,64429.22,29991.27,29991.27 +22-7-2019 19:00,65255.22,30375.77,30375.77 +22-7-2019 20:00,57821.08,26915.24,26915.24 +22-7-2019 21:00,47908.9,22301.2,22301.2 +22-7-2019 22:00,33866.64,15764.64,15764.64 +22-7-2019 23:00,16520.32,7690.07,7690.07 +23-7-2019 00:00,5782.11,2691.52,2691.52 +23-7-2019 01:00,3304.06,1538.01,1538.01 +23-7-2019 02:00,825.61,384.31,384.31 +23-7-2019 03:00,825.61,384.31,384.31 +23-7-2019 04:00,1652.03,769.01,769.01 +23-7-2019 05:00,5782.11,2691.52,2691.52 +23-7-2019 06:00,46256.88,21532.19,21532.19 +23-7-2019 07:00,76819.45,35758.82,35758.82 +23-7-2019 08:00,59473.12,27684.25,27684.25 +23-7-2019 09:00,70211.32,32682.79,32682.79 +23-7-2019 10:00,50386.95,23454.71,23454.71 +23-7-2019 11:00,43778.83,20378.68,20378.68 +23-7-2019 12:00,37170.69,17302.65,17302.65 +23-7-2019 13:00,29736.56,13842.13,13842.13 +23-7-2019 14:00,25606.48,11919.61,11919.61 +23-7-2019 15:00,19824.37,9228.08,9228.08 +23-7-2019 16:00,22302.42,10381.59,10381.59 +23-7-2019 17:00,36344.68,16918.15,16918.15 +23-7-2019 18:00,64429.22,29991.27,29991.27 +23-7-2019 19:00,65255.22,30375.77,30375.77 +23-7-2019 20:00,57821.08,26915.24,26915.24 +23-7-2019 21:00,47908.9,22301.2,22301.2 +23-7-2019 22:00,33866.64,15764.64,15764.64 +23-7-2019 23:00,16520.32,7690.07,7690.07 +24-7-2019 00:00,5782.11,2691.52,2691.52 +24-7-2019 01:00,3304.06,1538.01,1538.01 +24-7-2019 02:00,825.61,384.31,384.31 +24-7-2019 03:00,825.61,384.31,384.31 +24-7-2019 04:00,1652.03,769.01,769.01 +24-7-2019 05:00,5782.11,2691.52,2691.52 +24-7-2019 06:00,46256.88,21532.19,21532.19 +24-7-2019 07:00,76819.45,35758.82,35758.82 +24-7-2019 08:00,59473.12,27684.25,27684.25 +24-7-2019 09:00,70211.32,32682.79,32682.79 +24-7-2019 10:00,50386.95,23454.71,23454.71 +24-7-2019 11:00,43778.83,20378.68,20378.68 +24-7-2019 12:00,37170.69,17302.65,17302.65 +24-7-2019 13:00,29736.56,13842.13,13842.13 +24-7-2019 14:00,25606.48,11919.61,11919.61 +24-7-2019 15:00,19824.37,9228.08,9228.08 +24-7-2019 16:00,22302.42,10381.59,10381.59 +24-7-2019 17:00,36344.68,16918.15,16918.15 +24-7-2019 18:00,64429.22,29991.27,29991.27 +24-7-2019 19:00,65255.22,30375.77,30375.77 +24-7-2019 20:00,57821.08,26915.24,26915.24 +24-7-2019 21:00,47908.9,22301.2,22301.2 +24-7-2019 22:00,33866.64,15764.64,15764.64 +24-7-2019 23:00,16520.32,7690.07,7690.07 +25-7-2019 00:00,5782.11,2691.52,2691.52 +25-7-2019 01:00,3304.06,1538.01,1538.01 +25-7-2019 02:00,825.61,384.31,384.31 +25-7-2019 03:00,825.61,384.31,384.31 +25-7-2019 04:00,1652.03,769.01,769.01 +25-7-2019 05:00,5782.11,2691.52,2691.52 +25-7-2019 06:00,46256.88,21532.19,21532.19 +25-7-2019 07:00,76819.45,35758.82,35758.82 +25-7-2019 08:00,59473.12,27684.25,27684.25 +25-7-2019 09:00,70211.32,32682.79,32682.79 +25-7-2019 10:00,50386.95,23454.71,23454.71 +25-7-2019 11:00,43778.83,20378.68,20378.68 +25-7-2019 12:00,37170.69,17302.65,17302.65 +25-7-2019 13:00,29736.56,13842.13,13842.13 +25-7-2019 14:00,25606.48,11919.61,11919.61 +25-7-2019 15:00,19824.37,9228.08,9228.08 +25-7-2019 16:00,22302.42,10381.59,10381.59 +25-7-2019 17:00,36344.68,16918.15,16918.15 +25-7-2019 18:00,64429.22,29991.27,29991.27 +25-7-2019 19:00,65255.22,30375.77,30375.77 +25-7-2019 20:00,57821.08,26915.24,26915.24 +25-7-2019 21:00,47908.9,22301.2,22301.2 +25-7-2019 22:00,33866.64,15764.64,15764.64 +25-7-2019 23:00,16520.32,7690.07,7690.07 +26-7-2019 00:00,5782.11,2691.52,2691.52 +26-7-2019 01:00,3304.06,1538.01,1538.01 +26-7-2019 02:00,825.61,384.31,384.31 +26-7-2019 03:00,825.61,384.31,384.31 +26-7-2019 04:00,1652.03,769.01,769.01 +26-7-2019 05:00,5782.11,2691.52,2691.52 +26-7-2019 06:00,46256.88,21532.19,21532.19 +26-7-2019 07:00,76819.45,35758.82,35758.82 +26-7-2019 08:00,59473.12,27684.25,27684.25 +26-7-2019 09:00,70211.32,32682.79,32682.79 +26-7-2019 10:00,50386.95,23454.71,23454.71 +26-7-2019 11:00,43778.83,20378.68,20378.68 +26-7-2019 12:00,37170.69,17302.65,17302.65 +26-7-2019 13:00,29736.56,13842.13,13842.13 +26-7-2019 14:00,25606.48,11919.61,11919.61 +26-7-2019 15:00,19824.37,9228.08,9228.08 +26-7-2019 16:00,22302.42,10381.59,10381.59 +26-7-2019 17:00,36344.68,16918.15,16918.15 +26-7-2019 18:00,64429.22,29991.27,29991.27 +26-7-2019 19:00,65255.22,30375.77,30375.77 +26-7-2019 20:00,57821.08,26915.24,26915.24 +26-7-2019 21:00,47908.9,22301.2,22301.2 +26-7-2019 22:00,33866.64,15764.64,15764.64 +26-7-2019 23:00,16520.32,7690.07,7690.07 +27-7-2019 00:00,5782.11,2691.52,2691.52 +27-7-2019 01:00,3304.06,1538.01,1538.01 +27-7-2019 02:00,825.61,384.31,384.31 +27-7-2019 03:00,825.61,384.31,384.31 +27-7-2019 04:00,1652.03,769.01,769.01 +27-7-2019 05:00,5782.11,2691.52,2691.52 +27-7-2019 06:00,46256.88,21532.19,21532.19 +27-7-2019 07:00,76819.45,35758.82,35758.82 +27-7-2019 08:00,59473.12,27684.25,27684.25 +27-7-2019 09:00,70211.32,32682.79,32682.79 +27-7-2019 10:00,50386.95,23454.71,23454.71 +27-7-2019 11:00,43778.83,20378.68,20378.68 +27-7-2019 12:00,37170.69,17302.65,17302.65 +27-7-2019 13:00,29736.56,13842.13,13842.13 +27-7-2019 14:00,25606.48,11919.61,11919.61 +27-7-2019 15:00,19824.37,9228.08,9228.08 +27-7-2019 16:00,22302.42,10381.59,10381.59 +27-7-2019 17:00,36344.68,16918.15,16918.15 +27-7-2019 18:00,64429.22,29991.27,29991.27 +27-7-2019 19:00,65255.22,30375.77,30375.77 +27-7-2019 20:00,57821.08,26915.24,26915.24 +27-7-2019 21:00,47908.9,22301.2,22301.2 +27-7-2019 22:00,33866.64,15764.64,15764.64 +27-7-2019 23:00,16520.32,7690.07,7690.07 +28-7-2019 00:00,5782.11,2691.52,2691.52 +28-7-2019 01:00,3304.06,1538.01,1538.01 +28-7-2019 02:00,825.61,384.31,384.31 +28-7-2019 03:00,825.61,384.31,384.31 +28-7-2019 04:00,1652.03,769.01,769.01 +28-7-2019 05:00,5782.11,2691.52,2691.52 +28-7-2019 06:00,46256.88,21532.19,21532.19 +28-7-2019 07:00,76819.45,35758.82,35758.82 +28-7-2019 08:00,59473.12,27684.25,27684.25 +28-7-2019 09:00,70211.32,32682.79,32682.79 +28-7-2019 10:00,50386.95,23454.71,23454.71 +28-7-2019 11:00,43778.83,20378.68,20378.68 +28-7-2019 12:00,37170.69,17302.65,17302.65 +28-7-2019 13:00,29736.56,13842.13,13842.13 +28-7-2019 14:00,25606.48,11919.61,11919.61 +28-7-2019 15:00,19824.37,9228.08,9228.08 +28-7-2019 16:00,22302.42,10381.59,10381.59 +28-7-2019 17:00,36344.68,16918.15,16918.15 +28-7-2019 18:00,64429.22,29991.27,29991.27 +28-7-2019 19:00,65255.22,30375.77,30375.77 +28-7-2019 20:00,57821.08,26915.24,26915.24 +28-7-2019 21:00,47908.9,22301.2,22301.2 +28-7-2019 22:00,33866.64,15764.64,15764.64 +28-7-2019 23:00,16520.32,7690.07,7690.07 +29-7-2019 00:00,5782.11,2691.52,2691.52 +29-7-2019 01:00,3304.06,1538.01,1538.01 +29-7-2019 02:00,825.61,384.31,384.31 +29-7-2019 03:00,825.61,384.31,384.31 +29-7-2019 04:00,1652.03,769.01,769.01 +29-7-2019 05:00,5782.11,2691.52,2691.52 +29-7-2019 06:00,46256.88,21532.19,21532.19 +29-7-2019 07:00,76819.45,35758.82,35758.82 +29-7-2019 08:00,59473.12,27684.25,27684.25 +29-7-2019 09:00,70211.32,32682.79,32682.79 +29-7-2019 10:00,50386.95,23454.71,23454.71 +29-7-2019 11:00,43778.83,20378.68,20378.68 +29-7-2019 12:00,37170.69,17302.65,17302.65 +29-7-2019 13:00,29736.56,13842.13,13842.13 +29-7-2019 14:00,25606.48,11919.61,11919.61 +29-7-2019 15:00,19824.37,9228.08,9228.08 +29-7-2019 16:00,22302.42,10381.59,10381.59 +29-7-2019 17:00,36344.68,16918.15,16918.15 +29-7-2019 18:00,64429.22,29991.27,29991.27 +29-7-2019 19:00,65255.22,30375.77,30375.77 +29-7-2019 20:00,57821.08,26915.24,26915.24 +29-7-2019 21:00,47908.9,22301.2,22301.2 +29-7-2019 22:00,33866.64,15764.64,15764.64 +29-7-2019 23:00,16520.32,7690.07,7690.07 +30-7-2019 00:00,5782.11,2691.52,2691.52 +30-7-2019 01:00,3304.06,1538.01,1538.01 +30-7-2019 02:00,825.61,384.31,384.31 +30-7-2019 03:00,825.61,384.31,384.31 +30-7-2019 04:00,1652.03,769.01,769.01 +30-7-2019 05:00,5782.11,2691.52,2691.52 +30-7-2019 06:00,46256.88,21532.19,21532.19 +30-7-2019 07:00,76819.45,35758.82,35758.82 +30-7-2019 08:00,59473.12,27684.25,27684.25 +30-7-2019 09:00,70211.32,32682.79,32682.79 +30-7-2019 10:00,50386.95,23454.71,23454.71 +30-7-2019 11:00,43778.83,20378.68,20378.68 +30-7-2019 12:00,37170.69,17302.65,17302.65 +30-7-2019 13:00,29736.56,13842.13,13842.13 +30-7-2019 14:00,25606.48,11919.61,11919.61 +30-7-2019 15:00,19824.37,9228.08,9228.08 +30-7-2019 16:00,22302.42,10381.59,10381.59 +30-7-2019 17:00,36344.68,16918.15,16918.15 +30-7-2019 18:00,64429.22,29991.27,29991.27 +30-7-2019 19:00,65255.22,30375.77,30375.77 +30-7-2019 20:00,57821.08,26915.24,26915.24 +30-7-2019 21:00,47908.9,22301.2,22301.2 +30-7-2019 22:00,33866.64,15764.64,15764.64 +30-7-2019 23:00,16520.32,7690.07,7690.07 +31-7-2019 00:00,5782.11,2691.52,2691.52 +31-7-2019 01:00,3304.06,1538.01,1538.01 +31-7-2019 02:00,825.61,384.31,384.31 +31-7-2019 03:00,825.61,384.31,384.31 +31-7-2019 04:00,1652.03,769.01,769.01 +31-7-2019 05:00,5782.11,2691.52,2691.52 +31-7-2019 06:00,46256.88,21532.19,21532.19 +31-7-2019 07:00,76819.45,35758.82,35758.82 +31-7-2019 08:00,59473.12,27684.25,27684.25 +31-7-2019 09:00,70211.32,32682.79,32682.79 +31-7-2019 10:00,50386.95,23454.71,23454.71 +31-7-2019 11:00,43778.83,20378.68,20378.68 +31-7-2019 12:00,37170.69,17302.65,17302.65 +31-7-2019 13:00,29736.56,13842.13,13842.13 +31-7-2019 14:00,25606.48,11919.61,11919.61 +31-7-2019 15:00,19824.37,9228.08,9228.08 +31-7-2019 16:00,22302.42,10381.59,10381.59 +31-7-2019 17:00,36344.68,16918.15,16918.15 +31-7-2019 18:00,64429.22,29991.27,29991.27 +31-7-2019 19:00,65255.22,30375.77,30375.77 +31-7-2019 20:00,57821.08,26915.24,26915.24 +31-7-2019 21:00,47908.9,22301.2,22301.2 +31-7-2019 22:00,33866.64,15764.64,15764.64 +31-7-2019 23:00,16520.32,7690.07,7690.07 +1-8-2019 00:00,5782.11,2691.52,2691.52 +1-8-2019 01:00,3304.06,1538.01,1538.01 +1-8-2019 02:00,825.61,384.31,384.31 +1-8-2019 03:00,825.61,384.31,384.31 +1-8-2019 04:00,1652.03,769.01,769.01 +1-8-2019 05:00,5782.11,2691.52,2691.52 +1-8-2019 06:00,46256.88,21532.19,21532.19 +1-8-2019 07:00,76819.45,35758.82,35758.82 +1-8-2019 08:00,59473.12,27684.25,27684.25 +1-8-2019 09:00,70211.32,32682.79,32682.79 +1-8-2019 10:00,50386.95,23454.71,23454.71 +1-8-2019 11:00,43778.83,20378.68,20378.68 +1-8-2019 12:00,37170.69,17302.65,17302.65 +1-8-2019 13:00,29736.56,13842.13,13842.13 +1-8-2019 14:00,25606.48,11919.61,11919.61 +1-8-2019 15:00,19824.37,9228.08,9228.08 +1-8-2019 16:00,22302.42,10381.59,10381.59 +1-8-2019 17:00,36344.68,16918.15,16918.15 +1-8-2019 18:00,64429.22,29991.27,29991.27 +1-8-2019 19:00,65255.22,30375.77,30375.77 +1-8-2019 20:00,57821.08,26915.24,26915.24 +1-8-2019 21:00,47908.9,22301.2,22301.2 +1-8-2019 22:00,33866.64,15764.64,15764.64 +1-8-2019 23:00,16520.32,7690.07,7690.07 +2-8-2019 00:00,5782.11,2691.52,2691.52 +2-8-2019 01:00,3304.06,1538.01,1538.01 +2-8-2019 02:00,825.61,384.31,384.31 +2-8-2019 03:00,825.61,384.31,384.31 +2-8-2019 04:00,1652.03,769.01,769.01 +2-8-2019 05:00,5782.11,2691.52,2691.52 +2-8-2019 06:00,46256.88,21532.19,21532.19 +2-8-2019 07:00,76819.45,35758.82,35758.82 +2-8-2019 08:00,59473.12,27684.25,27684.25 +2-8-2019 09:00,70211.32,32682.79,32682.79 +2-8-2019 10:00,50386.95,23454.71,23454.71 +2-8-2019 11:00,43778.83,20378.68,20378.68 +2-8-2019 12:00,37170.69,17302.65,17302.65 +2-8-2019 13:00,29736.56,13842.13,13842.13 +2-8-2019 14:00,25606.48,11919.61,11919.61 +2-8-2019 15:00,19824.37,9228.08,9228.08 +2-8-2019 16:00,22302.42,10381.59,10381.59 +2-8-2019 17:00,36344.68,16918.15,16918.15 +2-8-2019 18:00,64429.22,29991.27,29991.27 +2-8-2019 19:00,65255.22,30375.77,30375.77 +2-8-2019 20:00,57821.08,26915.24,26915.24 +2-8-2019 21:00,47908.9,22301.2,22301.2 +2-8-2019 22:00,33866.64,15764.64,15764.64 +2-8-2019 23:00,16520.32,7690.07,7690.07 +3-8-2019 00:00,5782.11,2691.52,2691.52 +3-8-2019 01:00,3304.06,1538.01,1538.01 +3-8-2019 02:00,825.61,384.31,384.31 +3-8-2019 03:00,825.61,384.31,384.31 +3-8-2019 04:00,1652.03,769.01,769.01 +3-8-2019 05:00,5782.11,2691.52,2691.52 +3-8-2019 06:00,46256.88,21532.19,21532.19 +3-8-2019 07:00,76819.45,35758.82,35758.82 +3-8-2019 08:00,59473.12,27684.25,27684.25 +3-8-2019 09:00,70211.32,32682.79,32682.79 +3-8-2019 10:00,50386.95,23454.71,23454.71 +3-8-2019 11:00,43778.83,20378.68,20378.68 +3-8-2019 12:00,37170.69,17302.65,17302.65 +3-8-2019 13:00,29736.56,13842.13,13842.13 +3-8-2019 14:00,25606.48,11919.61,11919.61 +3-8-2019 15:00,19824.37,9228.08,9228.08 +3-8-2019 16:00,22302.42,10381.59,10381.59 +3-8-2019 17:00,36344.68,16918.15,16918.15 +3-8-2019 18:00,64429.22,29991.27,29991.27 +3-8-2019 19:00,65255.22,30375.77,30375.77 +3-8-2019 20:00,57821.08,26915.24,26915.24 +3-8-2019 21:00,47908.9,22301.2,22301.2 +3-8-2019 22:00,33866.64,15764.64,15764.64 +3-8-2019 23:00,16520.32,7690.07,7690.07 +4-8-2019 00:00,5782.11,2691.52,2691.52 +4-8-2019 01:00,3304.06,1538.01,1538.01 +4-8-2019 02:00,825.61,384.31,384.31 +4-8-2019 03:00,825.61,384.31,384.31 +4-8-2019 04:00,1652.03,769.01,769.01 +4-8-2019 05:00,5782.11,2691.52,2691.52 +4-8-2019 06:00,46256.88,21532.19,21532.19 +4-8-2019 07:00,76819.45,35758.82,35758.82 +4-8-2019 08:00,59473.12,27684.25,27684.25 +4-8-2019 09:00,70211.32,32682.79,32682.79 +4-8-2019 10:00,50386.95,23454.71,23454.71 +4-8-2019 11:00,43778.83,20378.68,20378.68 +4-8-2019 12:00,37170.69,17302.65,17302.65 +4-8-2019 13:00,29736.56,13842.13,13842.13 +4-8-2019 14:00,25606.48,11919.61,11919.61 +4-8-2019 15:00,19824.37,9228.08,9228.08 +4-8-2019 16:00,22302.42,10381.59,10381.59 +4-8-2019 17:00,36344.68,16918.15,16918.15 +4-8-2019 18:00,64429.22,29991.27,29991.27 +4-8-2019 19:00,65255.22,30375.77,30375.77 +4-8-2019 20:00,57821.08,26915.24,26915.24 +4-8-2019 21:00,47908.9,22301.2,22301.2 +4-8-2019 22:00,33866.64,15764.64,15764.64 +4-8-2019 23:00,16520.32,7690.07,7690.07 +5-8-2019 00:00,5782.11,2691.52,2691.52 +5-8-2019 01:00,3304.06,1538.01,1538.01 +5-8-2019 02:00,825.61,384.31,384.31 +5-8-2019 03:00,825.61,384.31,384.31 +5-8-2019 04:00,1652.03,769.01,769.01 +5-8-2019 05:00,5782.11,2691.52,2691.52 +5-8-2019 06:00,46256.88,21532.19,21532.19 +5-8-2019 07:00,76819.45,35758.82,35758.82 +5-8-2019 08:00,59473.12,27684.25,27684.25 +5-8-2019 09:00,70211.32,32682.79,32682.79 +5-8-2019 10:00,50386.95,23454.71,23454.71 +5-8-2019 11:00,43778.83,20378.68,20378.68 +5-8-2019 12:00,37170.69,17302.65,17302.65 +5-8-2019 13:00,29736.56,13842.13,13842.13 +5-8-2019 14:00,25606.48,11919.61,11919.61 +5-8-2019 15:00,19824.37,9228.08,9228.08 +5-8-2019 16:00,22302.42,10381.59,10381.59 +5-8-2019 17:00,36344.68,16918.15,16918.15 +5-8-2019 18:00,64429.22,29991.27,29991.27 +5-8-2019 19:00,65255.22,30375.77,30375.77 +5-8-2019 20:00,57821.08,26915.24,26915.24 +5-8-2019 21:00,47908.9,22301.2,22301.2 +5-8-2019 22:00,33866.64,15764.64,15764.64 +5-8-2019 23:00,16520.32,7690.07,7690.07 +6-8-2019 00:00,5782.11,2691.52,2691.52 +6-8-2019 01:00,3304.06,1538.01,1538.01 +6-8-2019 02:00,825.61,384.31,384.31 +6-8-2019 03:00,825.61,384.31,384.31 +6-8-2019 04:00,1652.03,769.01,769.01 +6-8-2019 05:00,5782.11,2691.52,2691.52 +6-8-2019 06:00,46256.88,21532.19,21532.19 +6-8-2019 07:00,76819.45,35758.82,35758.82 +6-8-2019 08:00,59473.12,27684.25,27684.25 +6-8-2019 09:00,70211.32,32682.79,32682.79 +6-8-2019 10:00,50386.95,23454.71,23454.71 +6-8-2019 11:00,43778.83,20378.68,20378.68 +6-8-2019 12:00,37170.69,17302.65,17302.65 +6-8-2019 13:00,29736.56,13842.13,13842.13 +6-8-2019 14:00,25606.48,11919.61,11919.61 +6-8-2019 15:00,19824.37,9228.08,9228.08 +6-8-2019 16:00,22302.42,10381.59,10381.59 +6-8-2019 17:00,36344.68,16918.15,16918.15 +6-8-2019 18:00,64429.22,29991.27,29991.27 +6-8-2019 19:00,65255.22,30375.77,30375.77 +6-8-2019 20:00,57821.08,26915.24,26915.24 +6-8-2019 21:00,47908.9,22301.2,22301.2 +6-8-2019 22:00,33866.64,15764.64,15764.64 +6-8-2019 23:00,16520.32,7690.07,7690.07 +7-8-2019 00:00,5782.11,2691.52,2691.52 +7-8-2019 01:00,3304.06,1538.01,1538.01 +7-8-2019 02:00,825.61,384.31,384.31 +7-8-2019 03:00,825.61,384.31,384.31 +7-8-2019 04:00,1652.03,769.01,769.01 +7-8-2019 05:00,5782.11,2691.52,2691.52 +7-8-2019 06:00,46256.88,21532.19,21532.19 +7-8-2019 07:00,76819.45,35758.82,35758.82 +7-8-2019 08:00,59473.12,27684.25,27684.25 +7-8-2019 09:00,70211.32,32682.79,32682.79 +7-8-2019 10:00,50386.95,23454.71,23454.71 +7-8-2019 11:00,43778.83,20378.68,20378.68 +7-8-2019 12:00,37170.69,17302.65,17302.65 +7-8-2019 13:00,29736.56,13842.13,13842.13 +7-8-2019 14:00,25606.48,11919.61,11919.61 +7-8-2019 15:00,19824.37,9228.08,9228.08 +7-8-2019 16:00,22302.42,10381.59,10381.59 +7-8-2019 17:00,36344.68,16918.15,16918.15 +7-8-2019 18:00,64429.22,29991.27,29991.27 +7-8-2019 19:00,65255.22,30375.77,30375.77 +7-8-2019 20:00,57821.08,26915.24,26915.24 +7-8-2019 21:00,47908.9,22301.2,22301.2 +7-8-2019 22:00,33866.64,15764.64,15764.64 +7-8-2019 23:00,16520.32,7690.07,7690.07 +8-8-2019 00:00,5782.11,2691.52,2691.52 +8-8-2019 01:00,3304.06,1538.01,1538.01 +8-8-2019 02:00,825.61,384.31,384.31 +8-8-2019 03:00,825.61,384.31,384.31 +8-8-2019 04:00,1652.03,769.01,769.01 +8-8-2019 05:00,5782.11,2691.52,2691.52 +8-8-2019 06:00,46256.88,21532.19,21532.19 +8-8-2019 07:00,76819.45,35758.82,35758.82 +8-8-2019 08:00,59473.12,27684.25,27684.25 +8-8-2019 09:00,70211.32,32682.79,32682.79 +8-8-2019 10:00,50386.95,23454.71,23454.71 +8-8-2019 11:00,43778.83,20378.68,20378.68 +8-8-2019 12:00,37170.69,17302.65,17302.65 +8-8-2019 13:00,29736.56,13842.13,13842.13 +8-8-2019 14:00,25606.48,11919.61,11919.61 +8-8-2019 15:00,19824.37,9228.08,9228.08 +8-8-2019 16:00,22302.42,10381.59,10381.59 +8-8-2019 17:00,36344.68,16918.15,16918.15 +8-8-2019 18:00,64429.22,29991.27,29991.27 +8-8-2019 19:00,65255.22,30375.77,30375.77 +8-8-2019 20:00,57821.08,26915.24,26915.24 +8-8-2019 21:00,47908.9,22301.2,22301.2 +8-8-2019 22:00,33866.64,15764.64,15764.64 +8-8-2019 23:00,16520.32,7690.07,7690.07 +9-8-2019 00:00,5782.11,2691.52,2691.52 +9-8-2019 01:00,3304.06,1538.01,1538.01 +9-8-2019 02:00,825.61,384.31,384.31 +9-8-2019 03:00,825.61,384.31,384.31 +9-8-2019 04:00,1652.03,769.01,769.01 +9-8-2019 05:00,5782.11,2691.52,2691.52 +9-8-2019 06:00,46256.88,21532.19,21532.19 +9-8-2019 07:00,76819.45,35758.82,35758.82 +9-8-2019 08:00,59473.12,27684.25,27684.25 +9-8-2019 09:00,70211.32,32682.79,32682.79 +9-8-2019 10:00,50386.95,23454.71,23454.71 +9-8-2019 11:00,43778.83,20378.68,20378.68 +9-8-2019 12:00,37170.69,17302.65,17302.65 +9-8-2019 13:00,29736.56,13842.13,13842.13 +9-8-2019 14:00,25606.48,11919.61,11919.61 +9-8-2019 15:00,19824.37,9228.08,9228.08 +9-8-2019 16:00,22302.42,10381.59,10381.59 +9-8-2019 17:00,36344.68,16918.15,16918.15 +9-8-2019 18:00,64429.22,29991.27,29991.27 +9-8-2019 19:00,65255.22,30375.77,30375.77 +9-8-2019 20:00,57821.08,26915.24,26915.24 +9-8-2019 21:00,47908.9,22301.2,22301.2 +9-8-2019 22:00,33866.64,15764.64,15764.64 +9-8-2019 23:00,16520.32,7690.07,7690.07 +10-8-2019 00:00,5782.11,2691.52,2691.52 +10-8-2019 01:00,3304.06,1538.01,1538.01 +10-8-2019 02:00,825.61,384.31,384.31 +10-8-2019 03:00,825.61,384.31,384.31 +10-8-2019 04:00,1652.03,769.01,769.01 +10-8-2019 05:00,5782.11,2691.52,2691.52 +10-8-2019 06:00,46256.88,21532.19,21532.19 +10-8-2019 07:00,76819.45,35758.82,35758.82 +10-8-2019 08:00,59473.12,27684.25,27684.25 +10-8-2019 09:00,70211.32,32682.79,32682.79 +10-8-2019 10:00,50386.95,23454.71,23454.71 +10-8-2019 11:00,43778.83,20378.68,20378.68 +10-8-2019 12:00,37170.69,17302.65,17302.65 +10-8-2019 13:00,29736.56,13842.13,13842.13 +10-8-2019 14:00,25606.48,11919.61,11919.61 +10-8-2019 15:00,19824.37,9228.08,9228.08 +10-8-2019 16:00,22302.42,10381.59,10381.59 +10-8-2019 17:00,36344.68,16918.15,16918.15 +10-8-2019 18:00,64429.22,29991.27,29991.27 +10-8-2019 19:00,65255.22,30375.77,30375.77 +10-8-2019 20:00,57821.08,26915.24,26915.24 +10-8-2019 21:00,47908.9,22301.2,22301.2 +10-8-2019 22:00,33866.64,15764.64,15764.64 +10-8-2019 23:00,16520.32,7690.07,7690.07 +11-8-2019 00:00,5782.11,2691.52,2691.52 +11-8-2019 01:00,3304.06,1538.01,1538.01 +11-8-2019 02:00,825.61,384.31,384.31 +11-8-2019 03:00,825.61,384.31,384.31 +11-8-2019 04:00,1652.03,769.01,769.01 +11-8-2019 05:00,5782.11,2691.52,2691.52 +11-8-2019 06:00,46256.88,21532.19,21532.19 +11-8-2019 07:00,76819.45,35758.82,35758.82 +11-8-2019 08:00,59473.12,27684.25,27684.25 +11-8-2019 09:00,70211.32,32682.79,32682.79 +11-8-2019 10:00,50386.95,23454.71,23454.71 +11-8-2019 11:00,43778.83,20378.68,20378.68 +11-8-2019 12:00,37170.69,17302.65,17302.65 +11-8-2019 13:00,29736.56,13842.13,13842.13 +11-8-2019 14:00,25606.48,11919.61,11919.61 +11-8-2019 15:00,19824.37,9228.08,9228.08 +11-8-2019 16:00,22302.42,10381.59,10381.59 +11-8-2019 17:00,36344.68,16918.15,16918.15 +11-8-2019 18:00,64429.22,29991.27,29991.27 +11-8-2019 19:00,65255.22,30375.77,30375.77 +11-8-2019 20:00,57821.08,26915.24,26915.24 +11-8-2019 21:00,47908.9,22301.2,22301.2 +11-8-2019 22:00,33866.64,15764.64,15764.64 +11-8-2019 23:00,16520.32,7690.07,7690.07 +12-8-2019 00:00,5782.11,2691.52,2691.52 +12-8-2019 01:00,3304.06,1538.01,1538.01 +12-8-2019 02:00,825.61,384.31,384.31 +12-8-2019 03:00,825.61,384.31,384.31 +12-8-2019 04:00,1652.03,769.01,769.01 +12-8-2019 05:00,5782.11,2691.52,2691.52 +12-8-2019 06:00,46256.88,21532.19,21532.19 +12-8-2019 07:00,76819.45,35758.82,35758.82 +12-8-2019 08:00,59473.12,27684.25,27684.25 +12-8-2019 09:00,70211.32,32682.79,32682.79 +12-8-2019 10:00,50386.95,23454.71,23454.71 +12-8-2019 11:00,43778.83,20378.68,20378.68 +12-8-2019 12:00,37170.69,17302.65,17302.65 +12-8-2019 13:00,29736.56,13842.13,13842.13 +12-8-2019 14:00,25606.48,11919.61,11919.61 +12-8-2019 15:00,19824.37,9228.08,9228.08 +12-8-2019 16:00,22302.42,10381.59,10381.59 +12-8-2019 17:00,36344.68,16918.15,16918.15 +12-8-2019 18:00,64429.22,29991.27,29991.27 +12-8-2019 19:00,65255.22,30375.77,30375.77 +12-8-2019 20:00,57821.08,26915.24,26915.24 +12-8-2019 21:00,47908.9,22301.2,22301.2 +12-8-2019 22:00,33866.64,15764.64,15764.64 +12-8-2019 23:00,16520.32,7690.07,7690.07 +13-8-2019 00:00,5782.11,2691.52,2691.52 +13-8-2019 01:00,3304.06,1538.01,1538.01 +13-8-2019 02:00,825.61,384.31,384.31 +13-8-2019 03:00,825.61,384.31,384.31 +13-8-2019 04:00,1652.03,769.01,769.01 +13-8-2019 05:00,5782.11,2691.52,2691.52 +13-8-2019 06:00,46256.88,21532.19,21532.19 +13-8-2019 07:00,76819.45,35758.82,35758.82 +13-8-2019 08:00,59473.12,27684.25,27684.25 +13-8-2019 09:00,70211.32,32682.79,32682.79 +13-8-2019 10:00,50386.95,23454.71,23454.71 +13-8-2019 11:00,43778.83,20378.68,20378.68 +13-8-2019 12:00,37170.69,17302.65,17302.65 +13-8-2019 13:00,29736.56,13842.13,13842.13 +13-8-2019 14:00,25606.48,11919.61,11919.61 +13-8-2019 15:00,19824.37,9228.08,9228.08 +13-8-2019 16:00,22302.42,10381.59,10381.59 +13-8-2019 17:00,36344.68,16918.15,16918.15 +13-8-2019 18:00,64429.22,29991.27,29991.27 +13-8-2019 19:00,65255.22,30375.77,30375.77 +13-8-2019 20:00,57821.08,26915.24,26915.24 +13-8-2019 21:00,47908.9,22301.2,22301.2 +13-8-2019 22:00,33866.64,15764.64,15764.64 +13-8-2019 23:00,16520.32,7690.07,7690.07 +14-8-2019 00:00,5782.11,2691.52,2691.52 +14-8-2019 01:00,3304.06,1538.01,1538.01 +14-8-2019 02:00,825.61,384.31,384.31 +14-8-2019 03:00,825.61,384.31,384.31 +14-8-2019 04:00,1652.03,769.01,769.01 +14-8-2019 05:00,5782.11,2691.52,2691.52 +14-8-2019 06:00,46256.88,21532.19,21532.19 +14-8-2019 07:00,76819.45,35758.82,35758.82 +14-8-2019 08:00,59473.12,27684.25,27684.25 +14-8-2019 09:00,70211.32,32682.79,32682.79 +14-8-2019 10:00,50386.95,23454.71,23454.71 +14-8-2019 11:00,43778.83,20378.68,20378.68 +14-8-2019 12:00,37170.69,17302.65,17302.65 +14-8-2019 13:00,29736.56,13842.13,13842.13 +14-8-2019 14:00,25606.48,11919.61,11919.61 +14-8-2019 15:00,19824.37,9228.08,9228.08 +14-8-2019 16:00,22302.42,10381.59,10381.59 +14-8-2019 17:00,36344.68,16918.15,16918.15 +14-8-2019 18:00,64429.22,29991.27,29991.27 +14-8-2019 19:00,65255.22,30375.77,30375.77 +14-8-2019 20:00,57821.08,26915.24,26915.24 +14-8-2019 21:00,47908.9,22301.2,22301.2 +14-8-2019 22:00,33866.64,15764.64,15764.64 +14-8-2019 23:00,16520.32,7690.07,7690.07 +15-8-2019 00:00,5782.11,2691.52,2691.52 +15-8-2019 01:00,3304.06,1538.01,1538.01 +15-8-2019 02:00,825.61,384.31,384.31 +15-8-2019 03:00,825.61,384.31,384.31 +15-8-2019 04:00,1652.03,769.01,769.01 +15-8-2019 05:00,5782.11,2691.52,2691.52 +15-8-2019 06:00,46256.88,21532.19,21532.19 +15-8-2019 07:00,76819.45,35758.82,35758.82 +15-8-2019 08:00,59473.12,27684.25,27684.25 +15-8-2019 09:00,70211.32,32682.79,32682.79 +15-8-2019 10:00,50386.95,23454.71,23454.71 +15-8-2019 11:00,43778.83,20378.68,20378.68 +15-8-2019 12:00,37170.69,17302.65,17302.65 +15-8-2019 13:00,29736.56,13842.13,13842.13 +15-8-2019 14:00,25606.48,11919.61,11919.61 +15-8-2019 15:00,19824.37,9228.08,9228.08 +15-8-2019 16:00,22302.42,10381.59,10381.59 +15-8-2019 17:00,36344.68,16918.15,16918.15 +15-8-2019 18:00,64429.22,29991.27,29991.27 +15-8-2019 19:00,65255.22,30375.77,30375.77 +15-8-2019 20:00,57821.08,26915.24,26915.24 +15-8-2019 21:00,47908.9,22301.2,22301.2 +15-8-2019 22:00,33866.64,15764.64,15764.64 +15-8-2019 23:00,16520.32,7690.07,7690.07 +16-8-2019 00:00,5782.11,2691.52,2691.52 +16-8-2019 01:00,3304.06,1538.01,1538.01 +16-8-2019 02:00,825.61,384.31,384.31 +16-8-2019 03:00,825.61,384.31,384.31 +16-8-2019 04:00,2710.62,1261.77,1261.77 +16-8-2019 05:00,7282.33,3389.86,3389.86 +16-8-2019 06:00,46256.88,21532.19,21532.19 +16-8-2019 07:00,76819.45,35758.82,35758.82 +16-8-2019 08:00,59473.12,27684.25,27684.25 +16-8-2019 09:00,70211.32,32682.79,32682.79 +16-8-2019 10:00,50386.95,23454.71,23454.71 +16-8-2019 11:00,43778.83,20378.68,20378.68 +16-8-2019 12:00,41054.82,19110.68,19110.68 +16-8-2019 13:00,29736.56,13842.13,13842.13 +16-8-2019 14:00,25606.48,11919.61,11919.61 +16-8-2019 15:00,19824.37,9228.08,9228.08 +16-8-2019 16:00,22302.42,10381.59,10381.59 +16-8-2019 17:00,36344.68,16918.15,16918.15 +16-8-2019 18:00,64429.22,29991.27,29991.27 +16-8-2019 19:00,65255.22,30375.77,30375.77 +16-8-2019 20:00,57821.08,26915.24,26915.24 +16-8-2019 21:00,47908.9,22301.2,22301.2 +16-8-2019 22:00,33866.64,15764.64,15764.64 +16-8-2019 23:00,16520.32,7690.07,7690.07 +17-8-2019 00:00,5782.11,2691.52,2691.52 +17-8-2019 01:00,3304.06,1538.01,1538.01 +17-8-2019 02:00,825.61,384.31,384.31 +17-8-2019 03:00,825.61,384.31,384.31 +17-8-2019 04:00,1652.03,769.01,769.01 +17-8-2019 05:00,5782.11,2691.52,2691.52 +17-8-2019 06:00,46256.88,21532.19,21532.19 +17-8-2019 07:00,76819.45,35758.82,35758.82 +17-8-2019 08:00,59473.12,27684.25,27684.25 +17-8-2019 09:00,77988.99,36303.24,36303.24 +17-8-2019 10:00,50386.95,23454.71,23454.71 +17-8-2019 11:00,43778.83,20378.68,20378.68 +17-8-2019 12:00,37170.69,17302.65,17302.65 +17-8-2019 13:00,29736.56,13842.13,13842.13 +17-8-2019 14:00,25606.48,11919.61,11919.61 +17-8-2019 15:00,19824.37,9228.08,9228.08 +17-8-2019 16:00,22302.42,10381.59,10381.59 +17-8-2019 17:00,36344.68,16918.15,16918.15 +17-8-2019 18:00,64429.22,29991.27,29991.27 +17-8-2019 19:00,65255.22,30375.77,30375.77 +17-8-2019 20:00,57821.08,26915.24,26915.24 +17-8-2019 21:00,47908.9,22301.2,22301.2 +17-8-2019 22:00,33866.64,15764.64,15764.64 +17-8-2019 23:00,16520.32,7690.07,7690.07 +18-8-2019 00:00,5782.11,2691.52,2691.52 +18-8-2019 01:00,3304.06,1538.01,1538.01 +18-8-2019 02:00,825.61,384.31,384.31 +18-8-2019 03:00,1377.92,641.41,641.41 +18-8-2019 04:00,2930.71,1364.22,1364.22 +18-8-2019 05:00,7023.56,3269.41,3269.41 +18-8-2019 06:00,46726.54,21750.82,21750.82 +18-8-2019 07:00,77103.78,35891.18,35891.18 +18-8-2019 08:00,59473.12,27684.25,27684.25 +18-8-2019 09:00,85968.34,40017.56,40017.56 +18-8-2019 10:00,50386.95,23454.71,23454.71 +18-8-2019 11:00,43778.83,20378.68,20378.68 +18-8-2019 12:00,37170.69,17302.65,17302.65 +18-8-2019 13:00,29736.56,13842.13,13842.13 +18-8-2019 14:00,25606.48,11919.61,11919.61 +18-8-2019 15:00,19824.37,9228.08,9228.08 +18-8-2019 16:00,22302.42,10381.59,10381.59 +18-8-2019 17:00,36344.68,16918.15,16918.15 +18-8-2019 18:00,64429.22,29991.27,29991.27 +18-8-2019 19:00,65255.22,30375.77,30375.77 +18-8-2019 20:00,57821.08,26915.24,26915.24 +18-8-2019 21:00,47908.9,22301.2,22301.2 +18-8-2019 22:00,33866.64,15764.64,15764.64 +18-8-2019 23:00,16520.32,7690.07,7690.07 +19-8-2019 00:00,5782.11,2691.52,2691.52 +19-8-2019 01:00,3304.06,1538.01,1538.01 +19-8-2019 02:00,825.61,384.31,384.31 +19-8-2019 03:00,1957.28,911.1,911.1 +19-8-2019 04:00,3243.95,1510.03,1510.03 +19-8-2019 05:00,7328.41,3411.32,3411.32 +19-8-2019 06:00,46256.88,21532.19,21532.19 +19-8-2019 07:00,76819.45,35758.82,35758.82 +19-8-2019 08:00,59473.12,27684.25,27684.25 +19-8-2019 09:00,70211.32,32682.79,32682.79 +19-8-2019 10:00,50386.95,23454.71,23454.71 +19-8-2019 11:00,43778.83,20378.68,20378.68 +19-8-2019 12:00,37720.73,17558.69,17558.69 +19-8-2019 13:00,29736.56,13842.13,13842.13 +19-8-2019 14:00,25606.48,11919.61,11919.61 +19-8-2019 15:00,19824.37,9228.08,9228.08 +19-8-2019 16:00,22302.42,10381.59,10381.59 +19-8-2019 17:00,36344.68,16918.15,16918.15 +19-8-2019 18:00,64429.22,29991.27,29991.27 +19-8-2019 19:00,65255.22,30375.77,30375.77 +19-8-2019 20:00,57821.08,26915.24,26915.24 +19-8-2019 21:00,47908.9,22301.2,22301.2 +19-8-2019 22:00,33866.64,15764.64,15764.64 +19-8-2019 23:00,16520.32,7690.07,7690.07 +20-8-2019 00:00,5782.11,2691.52,2691.52 +20-8-2019 01:00,3304.06,1538.01,1538.01 +20-8-2019 02:00,825.61,384.31,384.31 +20-8-2019 03:00,825.61,384.31,384.31 +20-8-2019 04:00,3155.76,1468.98,1468.98 +20-8-2019 05:00,7455.17,3470.32,3470.32 +20-8-2019 06:00,46256.88,21532.19,21532.19 +20-8-2019 07:00,76819.45,35758.82,35758.82 +20-8-2019 08:00,59473.12,27684.25,27684.25 +20-8-2019 09:00,70211.32,32682.79,32682.79 +20-8-2019 10:00,50386.95,23454.71,23454.71 +20-8-2019 11:00,43778.83,20378.68,20378.68 +20-8-2019 12:00,37170.69,17302.65,17302.65 +20-8-2019 13:00,29736.56,13842.13,13842.13 +20-8-2019 14:00,25606.48,11919.61,11919.61 +20-8-2019 15:00,19824.37,9228.08,9228.08 +20-8-2019 16:00,22302.42,10381.59,10381.59 +20-8-2019 17:00,36344.68,16918.15,16918.15 +20-8-2019 18:00,64429.22,29991.27,29991.27 +20-8-2019 19:00,65255.22,30375.77,30375.77 +20-8-2019 20:00,57821.08,26915.24,26915.24 +20-8-2019 21:00,47908.9,22301.2,22301.2 +20-8-2019 22:00,33866.64,15764.64,15764.64 +20-8-2019 23:00,16520.32,7690.07,7690.07 +21-8-2019 00:00,5782.11,2691.52,2691.52 +21-8-2019 01:00,3304.06,1538.01,1538.01 +21-8-2019 02:00,825.61,384.31,384.31 +21-8-2019 03:00,2959.11,1377.44,1377.44 +21-8-2019 04:00,4044.13,1882.51,1882.51 +21-8-2019 05:00,7979.94,3714.59,3714.59 +21-8-2019 06:00,47784.38,22243.24,22243.24 +21-8-2019 07:00,91291.08,42495.25,42495.25 +21-8-2019 08:00,62648.28,29162.26,29162.26 +21-8-2019 09:00,70211.32,32682.79,32682.79 +21-8-2019 10:00,50386.95,23454.71,23454.71 +21-8-2019 11:00,43778.83,20378.68,20378.68 +21-8-2019 12:00,38829.17,18074.66,18074.66 +21-8-2019 13:00,29736.56,13842.13,13842.13 +21-8-2019 14:00,25606.48,11919.61,11919.61 +21-8-2019 15:00,19824.37,9228.08,9228.08 +21-8-2019 16:00,22302.42,10381.59,10381.59 +21-8-2019 17:00,36344.68,16918.15,16918.15 +21-8-2019 18:00,64429.22,29991.27,29991.27 +21-8-2019 19:00,65255.22,30375.77,30375.77 +21-8-2019 20:00,57858.44,26932.63,26932.63 +21-8-2019 21:00,47908.9,22301.2,22301.2 +21-8-2019 22:00,33866.64,15764.64,15764.64 +21-8-2019 23:00,16520.32,7690.07,7690.07 +22-8-2019 00:00,5782.11,2691.52,2691.52 +22-8-2019 01:00,3861.15,1797.33,1797.33 +22-8-2019 02:00,3153.51,1467.93,1467.93 +22-8-2019 03:00,3221.58,1499.62,1499.62 +22-8-2019 04:00,4092.9,1905.21,1905.21 +22-8-2019 05:00,19640.75,9142.61,9142.61 +22-8-2019 06:00,58099.39,27044.79,27044.79 +22-8-2019 07:00,130872.99,60920.31,60920.31 +22-8-2019 08:00,102609.63,47763.95,47763.95 +22-8-2019 09:00,70211.32,32682.79,32682.79 +22-8-2019 10:00,50386.95,23454.71,23454.71 +22-8-2019 11:00,43778.83,20378.68,20378.68 +22-8-2019 12:00,59464.05,27680.03,27680.03 +22-8-2019 13:00,29736.56,13842.13,13842.13 +22-8-2019 14:00,25606.48,11919.61,11919.61 +22-8-2019 15:00,19824.37,9228.08,9228.08 +22-8-2019 16:00,22302.42,10381.59,10381.59 +22-8-2019 17:00,36344.68,16918.15,16918.15 +22-8-2019 18:00,64429.22,29991.27,29991.27 +22-8-2019 19:00,65255.22,30375.77,30375.77 +22-8-2019 20:00,57821.08,26915.24,26915.24 +22-8-2019 21:00,47908.9,22301.2,22301.2 +22-8-2019 22:00,33866.64,15764.64,15764.64 +22-8-2019 23:00,16520.32,7690.07,7690.07 +23-8-2019 00:00,5782.11,2691.52,2691.52 +23-8-2019 01:00,3960.35,1843.51,1843.51 +23-8-2019 02:00,3104.27,1445.01,1445.01 +23-8-2019 03:00,3170.68,1475.92,1475.92 +23-8-2019 04:00,4416.51,2055.85,2055.85 +23-8-2019 05:00,22787,10607.16,10607.16 +23-8-2019 06:00,58443.69,27205.06,27205.06 +23-8-2019 07:00,140436.14,65371.88,65371.88 +23-8-2019 08:00,116699.76,54322.79,54322.79 +23-8-2019 09:00,70211.32,32682.79,32682.79 +23-8-2019 10:00,50386.95,23454.71,23454.71 +23-8-2019 11:00,44635.28,20777.35,20777.35 +23-8-2019 12:00,67245.39,31302.18,31302.18 +23-8-2019 13:00,29736.56,13842.13,13842.13 +23-8-2019 14:00,25606.48,11919.61,11919.61 +23-8-2019 15:00,19824.37,9228.08,9228.08 +23-8-2019 16:00,22302.42,10381.59,10381.59 +23-8-2019 17:00,36344.68,16918.15,16918.15 +23-8-2019 18:00,64429.22,29991.27,29991.27 +23-8-2019 19:00,65255.22,30375.77,30375.77 +23-8-2019 20:00,57821.08,26915.24,26915.24 +23-8-2019 21:00,47908.9,22301.2,22301.2 +23-8-2019 22:00,33866.64,15764.64,15764.64 +23-8-2019 23:00,16520.32,7690.07,7690.07 +24-8-2019 00:00,5782.11,2691.52,2691.52 +24-8-2019 01:00,4174.56,1943.23,1943.23 +24-8-2019 02:00,2800.39,1303.56,1303.56 +24-8-2019 03:00,2862.25,1332.35,1332.35 +24-8-2019 04:00,3777.68,1758.48,1758.48 +24-8-2019 05:00,18687.55,8698.9,8698.9 +24-8-2019 06:00,79503.76,37008.36,37008.36 +24-8-2019 07:00,187104.7,87095.71,87095.71 +24-8-2019 08:00,63400.77,29512.54,29512.54 +24-8-2019 09:00,83055.38,38661.6,38661.6 +24-8-2019 10:00,50386.95,23454.71,23454.71 +24-8-2019 11:00,43778.83,20378.68,20378.68 +24-8-2019 12:00,37170.69,17302.65,17302.65 +24-8-2019 13:00,29736.56,13842.13,13842.13 +24-8-2019 14:00,25606.48,11919.61,11919.61 +24-8-2019 15:00,19824.37,9228.08,9228.08 +24-8-2019 16:00,22302.42,10381.59,10381.59 +24-8-2019 17:00,36344.68,16918.15,16918.15 +24-8-2019 18:00,64429.22,29991.27,29991.27 +24-8-2019 19:00,65255.22,30375.77,30375.77 +24-8-2019 20:00,57821.08,26915.24,26915.24 +24-8-2019 21:00,47908.9,22301.2,22301.2 +24-8-2019 22:00,33866.64,15764.64,15764.64 +24-8-2019 23:00,16520.32,7690.07,7690.07 +25-8-2019 00:00,5782.11,2691.52,2691.52 +25-8-2019 01:00,3304.06,1538.01,1538.01 +25-8-2019 02:00,825.61,384.31,384.31 +25-8-2019 03:00,825.61,384.31,384.31 +25-8-2019 04:00,1652.03,769.01,769.01 +25-8-2019 05:00,5782.11,2691.52,2691.52 +25-8-2019 06:00,46594.66,21689.43,21689.43 +25-8-2019 07:00,84019.73,39110.5,39110.5 +25-8-2019 08:00,59473.12,27684.25,27684.25 +25-8-2019 09:00,82910.71,38594.27,38594.27 +25-8-2019 10:00,50386.95,23454.71,23454.71 +25-8-2019 11:00,43778.83,20378.68,20378.68 +25-8-2019 12:00,37170.69,17302.65,17302.65 +25-8-2019 13:00,29736.56,13842.13,13842.13 +25-8-2019 14:00,25606.48,11919.61,11919.61 +25-8-2019 15:00,19824.37,9228.08,9228.08 +25-8-2019 16:00,22302.42,10381.59,10381.59 +25-8-2019 17:00,36344.68,16918.15,16918.15 +25-8-2019 18:00,64429.22,29991.27,29991.27 +25-8-2019 19:00,65255.22,30375.77,30375.77 +25-8-2019 20:00,57821.08,26915.24,26915.24 +25-8-2019 21:00,47908.9,22301.2,22301.2 +25-8-2019 22:00,33866.64,15764.64,15764.64 +25-8-2019 23:00,16520.32,7690.07,7690.07 +26-8-2019 00:00,5782.11,2691.52,2691.52 +26-8-2019 01:00,3304.06,1538.01,1538.01 +26-8-2019 02:00,825.61,384.31,384.31 +26-8-2019 03:00,825.61,384.31,384.31 +26-8-2019 04:00,1652.03,769.01,769.01 +26-8-2019 05:00,5782.11,2691.52,2691.52 +26-8-2019 06:00,46256.88,21532.19,21532.19 +26-8-2019 07:00,76819.45,35758.82,35758.82 +26-8-2019 08:00,59473.12,27684.25,27684.25 +26-8-2019 09:00,70211.32,32682.79,32682.79 +26-8-2019 10:00,50386.95,23454.71,23454.71 +26-8-2019 11:00,43778.83,20378.68,20378.68 +26-8-2019 12:00,37170.69,17302.65,17302.65 +26-8-2019 13:00,29736.56,13842.13,13842.13 +26-8-2019 14:00,25606.48,11919.61,11919.61 +26-8-2019 15:00,19824.37,9228.08,9228.08 +26-8-2019 16:00,22302.42,10381.59,10381.59 +26-8-2019 17:00,36344.68,16918.15,16918.15 +26-8-2019 18:00,64429.22,29991.27,29991.27 +26-8-2019 19:00,65255.22,30375.77,30375.77 +26-8-2019 20:00,57821.08,26915.24,26915.24 +26-8-2019 21:00,47908.9,22301.2,22301.2 +26-8-2019 22:00,33866.64,15764.64,15764.64 +26-8-2019 23:00,16520.32,7690.07,7690.07 +27-8-2019 00:00,5782.11,2691.52,2691.52 +27-8-2019 01:00,3304.06,1538.01,1538.01 +27-8-2019 02:00,825.61,384.31,384.31 +27-8-2019 03:00,825.61,384.31,384.31 +27-8-2019 04:00,1652.03,769.01,769.01 +27-8-2019 05:00,5782.11,2691.52,2691.52 +27-8-2019 06:00,46256.88,21532.19,21532.19 +27-8-2019 07:00,76819.45,35758.82,35758.82 +27-8-2019 08:00,59473.12,27684.25,27684.25 +27-8-2019 09:00,70211.32,32682.79,32682.79 +27-8-2019 10:00,50386.95,23454.71,23454.71 +27-8-2019 11:00,43778.83,20378.68,20378.68 +27-8-2019 12:00,37170.69,17302.65,17302.65 +27-8-2019 13:00,29736.56,13842.13,13842.13 +27-8-2019 14:00,25606.48,11919.61,11919.61 +27-8-2019 15:00,19824.37,9228.08,9228.08 +27-8-2019 16:00,22302.42,10381.59,10381.59 +27-8-2019 17:00,36344.68,16918.15,16918.15 +27-8-2019 18:00,64429.22,29991.27,29991.27 +27-8-2019 19:00,65255.22,30375.77,30375.77 +27-8-2019 20:00,57821.08,26915.24,26915.24 +27-8-2019 21:00,47908.9,22301.2,22301.2 +27-8-2019 22:00,33866.64,15764.64,15764.64 +27-8-2019 23:00,16520.32,7690.07,7690.07 +28-8-2019 00:00,5782.11,2691.52,2691.52 +28-8-2019 01:00,3304.06,1538.01,1538.01 +28-8-2019 02:00,825.61,384.31,384.31 +28-8-2019 03:00,825.61,384.31,384.31 +28-8-2019 04:00,1652.03,769.01,769.01 +28-8-2019 05:00,5782.11,2691.52,2691.52 +28-8-2019 06:00,46256.88,21532.19,21532.19 +28-8-2019 07:00,76819.45,35758.82,35758.82 +28-8-2019 08:00,59473.12,27684.25,27684.25 +28-8-2019 09:00,70211.32,32682.79,32682.79 +28-8-2019 10:00,50386.95,23454.71,23454.71 +28-8-2019 11:00,43778.83,20378.68,20378.68 +28-8-2019 12:00,37170.69,17302.65,17302.65 +28-8-2019 13:00,29736.56,13842.13,13842.13 +28-8-2019 14:00,25606.48,11919.61,11919.61 +28-8-2019 15:00,19824.37,9228.08,9228.08 +28-8-2019 16:00,22302.42,10381.59,10381.59 +28-8-2019 17:00,36344.68,16918.15,16918.15 +28-8-2019 18:00,64429.22,29991.27,29991.27 +28-8-2019 19:00,65255.22,30375.77,30375.77 +28-8-2019 20:00,57821.08,26915.24,26915.24 +28-8-2019 21:00,47908.9,22301.2,22301.2 +28-8-2019 22:00,33866.64,15764.64,15764.64 +28-8-2019 23:00,16520.32,7690.07,7690.07 +29-8-2019 00:00,5782.11,2691.52,2691.52 +29-8-2019 01:00,3304.06,1538.01,1538.01 +29-8-2019 02:00,825.61,384.31,384.31 +29-8-2019 03:00,825.61,384.31,384.31 +29-8-2019 04:00,1652.03,769.01,769.01 +29-8-2019 05:00,5782.11,2691.52,2691.52 +29-8-2019 06:00,46256.88,21532.19,21532.19 +29-8-2019 07:00,76819.45,35758.82,35758.82 +29-8-2019 08:00,59473.12,27684.25,27684.25 +29-8-2019 09:00,70211.32,32682.79,32682.79 +29-8-2019 10:00,50386.95,23454.71,23454.71 +29-8-2019 11:00,43778.83,20378.68,20378.68 +29-8-2019 12:00,37170.69,17302.65,17302.65 +29-8-2019 13:00,29736.56,13842.13,13842.13 +29-8-2019 14:00,25606.48,11919.61,11919.61 +29-8-2019 15:00,19824.37,9228.08,9228.08 +29-8-2019 16:00,22302.42,10381.59,10381.59 +29-8-2019 17:00,36344.68,16918.15,16918.15 +29-8-2019 18:00,64429.22,29991.27,29991.27 +29-8-2019 19:00,65255.22,30375.77,30375.77 +29-8-2019 20:00,57821.08,26915.24,26915.24 +29-8-2019 21:00,47908.9,22301.2,22301.2 +29-8-2019 22:00,33866.64,15764.64,15764.64 +29-8-2019 23:00,16520.32,7690.07,7690.07 +30-8-2019 00:00,5782.11,2691.52,2691.52 +30-8-2019 01:00,3304.06,1538.01,1538.01 +30-8-2019 02:00,825.61,384.31,384.31 +30-8-2019 03:00,825.61,384.31,384.31 +30-8-2019 04:00,1652.03,769.01,769.01 +30-8-2019 05:00,5782.11,2691.52,2691.52 +30-8-2019 06:00,46256.88,21532.19,21532.19 +30-8-2019 07:00,76819.45,35758.82,35758.82 +30-8-2019 08:00,59473.12,27684.25,27684.25 +30-8-2019 09:00,70211.32,32682.79,32682.79 +30-8-2019 10:00,50386.95,23454.71,23454.71 +30-8-2019 11:00,43778.83,20378.68,20378.68 +30-8-2019 12:00,37170.69,17302.65,17302.65 +30-8-2019 13:00,29736.56,13842.13,13842.13 +30-8-2019 14:00,25606.48,11919.61,11919.61 +30-8-2019 15:00,19824.37,9228.08,9228.08 +30-8-2019 16:00,22302.42,10381.59,10381.59 +30-8-2019 17:00,36344.68,16918.15,16918.15 +30-8-2019 18:00,64429.22,29991.27,29991.27 +30-8-2019 19:00,65255.22,30375.77,30375.77 +30-8-2019 20:00,57821.08,26915.24,26915.24 +30-8-2019 21:00,47908.9,22301.2,22301.2 +30-8-2019 22:00,33866.64,15764.64,15764.64 +30-8-2019 23:00,16520.32,7690.07,7690.07 +31-8-2019 00:00,5782.11,2691.52,2691.52 +31-8-2019 01:00,3304.06,1538.01,1538.01 +31-8-2019 02:00,825.61,384.31,384.31 +31-8-2019 03:00,825.61,384.31,384.31 +31-8-2019 04:00,1652.03,769.01,769.01 +31-8-2019 05:00,5782.11,2691.52,2691.52 +31-8-2019 06:00,46256.88,21532.19,21532.19 +31-8-2019 07:00,76819.45,35758.82,35758.82 +31-8-2019 08:00,59473.12,27684.25,27684.25 +31-8-2019 09:00,72906.49,33937.38,33937.38 +31-8-2019 10:00,50386.95,23454.71,23454.71 +31-8-2019 11:00,43778.83,20378.68,20378.68 +31-8-2019 12:00,37170.69,17302.65,17302.65 +31-8-2019 13:00,29736.56,13842.13,13842.13 +31-8-2019 14:00,25606.48,11919.61,11919.61 +31-8-2019 15:00,19824.37,9228.08,9228.08 +31-8-2019 16:00,22302.42,10381.59,10381.59 +31-8-2019 17:00,36344.68,16918.15,16918.15 +31-8-2019 18:00,64429.22,29991.27,29991.27 +31-8-2019 19:00,65255.22,30375.77,30375.77 +31-8-2019 20:00,57821.08,26915.24,26915.24 +31-8-2019 21:00,47908.9,22301.2,22301.2 +31-8-2019 22:00,33866.64,15764.64,15764.64 +31-8-2019 23:00,16520.32,7690.07,7690.07 +1-9-2019 00:00,5782.11,2691.52,2691.52 +1-9-2019 01:00,3304.06,1538.01,1538.01 +1-9-2019 02:00,825.61,384.31,384.31 +1-9-2019 03:00,825.61,384.31,384.31 +1-9-2019 04:00,1652.03,769.01,769.01 +1-9-2019 05:00,5782.11,2691.52,2691.52 +1-9-2019 06:00,46256.88,21532.19,21532.19 +1-9-2019 07:00,76819.45,35758.82,35758.82 +1-9-2019 08:00,59473.12,27684.25,27684.25 +1-9-2019 09:00,70211.32,32682.79,32682.79 +1-9-2019 10:00,50386.95,23454.71,23454.71 +1-9-2019 11:00,43778.83,20378.68,20378.68 +1-9-2019 12:00,37170.69,17302.65,17302.65 +1-9-2019 13:00,29736.56,13842.13,13842.13 +1-9-2019 14:00,25606.48,11919.61,11919.61 +1-9-2019 15:00,19824.37,9228.08,9228.08 +1-9-2019 16:00,22302.42,10381.59,10381.59 +1-9-2019 17:00,36344.68,16918.15,16918.15 +1-9-2019 18:00,64429.22,29991.27,29991.27 +1-9-2019 19:00,65255.22,30375.77,30375.77 +1-9-2019 20:00,57821.08,26915.24,26915.24 +1-9-2019 21:00,47908.9,22301.2,22301.2 +1-9-2019 22:00,33866.64,15764.64,15764.64 +1-9-2019 23:00,16520.32,7690.07,7690.07 +2-9-2019 00:00,5782.11,2691.52,2691.52 +2-9-2019 01:00,3304.06,1538.01,1538.01 +2-9-2019 02:00,825.61,384.31,384.31 +2-9-2019 03:00,825.61,384.31,384.31 +2-9-2019 04:00,1652.03,769.01,769.01 +2-9-2019 05:00,5782.11,2691.52,2691.52 +2-9-2019 06:00,46256.88,21532.19,21532.19 +2-9-2019 07:00,76819.45,35758.82,35758.82 +2-9-2019 08:00,59473.12,27684.25,27684.25 +2-9-2019 09:00,70211.32,32682.79,32682.79 +2-9-2019 10:00,50386.95,23454.71,23454.71 +2-9-2019 11:00,43778.83,20378.68,20378.68 +2-9-2019 12:00,37170.69,17302.65,17302.65 +2-9-2019 13:00,29736.56,13842.13,13842.13 +2-9-2019 14:00,25606.48,11919.61,11919.61 +2-9-2019 15:00,19824.37,9228.08,9228.08 +2-9-2019 16:00,22302.42,10381.59,10381.59 +2-9-2019 17:00,36344.68,16918.15,16918.15 +2-9-2019 18:00,64429.22,29991.27,29991.27 +2-9-2019 19:00,65255.22,30375.77,30375.77 +2-9-2019 20:00,57821.08,26915.24,26915.24 +2-9-2019 21:00,47908.9,22301.2,22301.2 +2-9-2019 22:00,33866.64,15764.64,15764.64 +2-9-2019 23:00,16520.32,7690.07,7690.07 +3-9-2019 00:00,5782.11,2691.52,2691.52 +3-9-2019 01:00,3304.06,1538.01,1538.01 +3-9-2019 02:00,825.61,384.31,384.31 +3-9-2019 03:00,825.61,384.31,384.31 +3-9-2019 04:00,1652.03,769.01,769.01 +3-9-2019 05:00,5782.11,2691.52,2691.52 +3-9-2019 06:00,46256.88,21532.19,21532.19 +3-9-2019 07:00,76819.45,35758.82,35758.82 +3-9-2019 08:00,59473.12,27684.25,27684.25 +3-9-2019 09:00,70211.32,32682.79,32682.79 +3-9-2019 10:00,50386.95,23454.71,23454.71 +3-9-2019 11:00,43778.83,20378.68,20378.68 +3-9-2019 12:00,40435.37,18822.33,18822.33 +3-9-2019 13:00,29736.56,13842.13,13842.13 +3-9-2019 14:00,25606.48,11919.61,11919.61 +3-9-2019 15:00,19824.37,9228.08,9228.08 +3-9-2019 16:00,22302.42,10381.59,10381.59 +3-9-2019 17:00,36344.68,16918.15,16918.15 +3-9-2019 18:00,64429.22,29991.27,29991.27 +3-9-2019 19:00,65255.22,30375.77,30375.77 +3-9-2019 20:00,58725.05,27336.03,27336.03 +3-9-2019 21:00,47908.9,22301.2,22301.2 +3-9-2019 22:00,33866.64,15764.64,15764.64 +3-9-2019 23:00,16520.32,7690.07,7690.07 +4-9-2019 00:00,5782.11,2691.52,2691.52 +4-9-2019 01:00,3304.06,1538.01,1538.01 +4-9-2019 02:00,1632.63,759.98,759.98 +4-9-2019 03:00,2082.13,969.22,969.22 +4-9-2019 04:00,2943.42,1370.14,1370.14 +4-9-2019 05:00,7179.43,3341.96,3341.96 +4-9-2019 06:00,47452.29,22088.65,22088.65 +4-9-2019 07:00,85386.99,39746.95,39746.95 +4-9-2019 08:00,63438.43,29530.07,29530.07 +4-9-2019 09:00,70211.32,32682.79,32682.79 +4-9-2019 10:00,50386.95,23454.71,23454.71 +4-9-2019 11:00,43778.83,20378.68,20378.68 +4-9-2019 12:00,56137.71,26131.64,26131.64 +4-9-2019 13:00,29736.56,13842.13,13842.13 +4-9-2019 14:00,25606.48,11919.61,11919.61 +4-9-2019 15:00,19824.37,9228.08,9228.08 +4-9-2019 16:00,22302.42,10381.59,10381.59 +4-9-2019 17:00,36344.68,16918.15,16918.15 +4-9-2019 18:00,64429.22,29991.27,29991.27 +4-9-2019 19:00,66972.78,31175.28,31175.28 +4-9-2019 20:00,65277.38,30386.09,30386.09 +4-9-2019 21:00,47908.9,22301.2,22301.2 +4-9-2019 22:00,33866.64,15764.64,15764.64 +4-9-2019 23:00,17152.98,7984.57,7984.57 +5-9-2019 00:00,7477.38,3480.66,3480.66 +5-9-2019 01:00,4967.1,2312.15,2312.15 +5-9-2019 02:00,2432.27,1132.2,1132.2 +5-9-2019 03:00,2432.52,1132.32,1132.32 +5-9-2019 04:00,3293.58,1533.14,1533.14 +5-9-2019 05:00,9359.46,4356.75,4356.75 +5-9-2019 06:00,54112.92,25189.12,25189.12 +5-9-2019 07:00,115436.53,53734.77,53734.77 +5-9-2019 08:00,75914.92,35337.77,35337.77 +5-9-2019 09:00,70211.32,32682.79,32682.79 +5-9-2019 10:00,50386.95,23454.71,23454.71 +5-9-2019 11:00,43778.83,20378.68,20378.68 +5-9-2019 12:00,56475.54,26288.9,26288.9 +5-9-2019 13:00,29736.56,13842.13,13842.13 +5-9-2019 14:00,25606.48,11919.61,11919.61 +5-9-2019 15:00,19824.37,9228.08,9228.08 +5-9-2019 16:00,22302.42,10381.59,10381.59 +5-9-2019 17:00,36344.68,16918.15,16918.15 +5-9-2019 18:00,64429.22,29991.27,29991.27 +5-9-2019 19:00,65255.22,30375.77,30375.77 +5-9-2019 20:00,60167.2,28007.34,28007.34 +5-9-2019 21:00,47908.9,22301.2,22301.2 +5-9-2019 22:00,33866.64,15764.64,15764.64 +5-9-2019 23:00,17089.39,7954.97,7954.97 +6-9-2019 00:00,8422.89,3920.79,3920.79 +6-9-2019 01:00,5865.72,2730.45,2730.45 +6-9-2019 02:00,12348.27,5748.02,5748.02 +6-9-2019 03:00,25298.57,11776.28,11776.28 +6-9-2019 04:00,24368.04,11343.12,11343.12 +6-9-2019 05:00,30655.7,14269.98,14269.98 +6-9-2019 06:00,79972.83,37226.7,37226.7 +6-9-2019 07:00,240186.54,111804.88,111804.88 +6-9-2019 08:00,252654.38,117608.56,117608.56 +6-9-2019 09:00,450993.04,209933.6,209933.6 +6-9-2019 10:00,50386.95,23454.71,23454.71 +6-9-2019 11:00,46922.74,21842.16,21842.16 +6-9-2019 12:00,88818.7,41344.38,41344.38 +6-9-2019 13:00,30164.98,14041.55,14041.55 +6-9-2019 14:00,34333.36,15981.9,15981.9 +6-9-2019 15:00,26950.8,12545.38,12545.38 +6-9-2019 16:00,22302.42,10381.59,10381.59 +6-9-2019 17:00,38901.28,18108.23,18108.23 +6-9-2019 18:00,78258.16,36428.53,36428.53 +6-9-2019 19:00,97139.63,45217.71,45217.71 +6-9-2019 20:00,132406.95,61634.36,61634.36 +6-9-2019 21:00,100978.89,47004.85,47004.85 +6-9-2019 22:00,35846.35,16686.18,16686.18 +6-9-2019 23:00,18484.61,8604.43,8604.43 +7-9-2019 00:00,9310.31,4333.87,4333.87 +7-9-2019 01:00,18795.97,8749.37,8749.37 +7-9-2019 02:00,24582.53,11442.97,11442.97 +7-9-2019 03:00,34852.03,16223.34,16223.34 +7-9-2019 04:00,42912.7,19975.51,19975.51 +7-9-2019 05:00,47841.19,22269.68,22269.68 +7-9-2019 06:00,247917.9,115403.76,115403.76 +7-9-2019 07:00,532712.2,247973.18,247973.18 +7-9-2019 08:00,398312.76,185411.32,185411.32 +7-9-2019 09:00,588133.36,273771.3,273771.3 +7-9-2019 10:00,101939.81,47452.15,47452.15 +7-9-2019 11:00,46728.23,21751.61,21751.61 +7-9-2019 12:00,46316.6,21560,21560 +7-9-2019 13:00,31974.42,14883.83,14883.83 +7-9-2019 14:00,25606.48,11919.61,11919.61 +7-9-2019 15:00,19824.37,9228.08,9228.08 +7-9-2019 16:00,22302.42,10381.59,10381.59 +7-9-2019 17:00,36344.68,16918.15,16918.15 +7-9-2019 18:00,64429.22,29991.27,29991.27 +7-9-2019 19:00,70744.93,32931.2,32931.2 +7-9-2019 20:00,70044.55,32605.17,32605.17 +7-9-2019 21:00,49771.03,23168.01,23168.01 +7-9-2019 22:00,36072.04,16791.24,16791.24 +7-9-2019 23:00,18757.76,8731.59,8731.59 +8-9-2019 00:00,17695.05,8236.9,8236.9 +8-9-2019 01:00,27016.7,12576.05,12576.05 +8-9-2019 02:00,33258.57,15481.59,15481.59 +8-9-2019 03:00,52559.24,24465.9,24465.9 +8-9-2019 04:00,54515.05,25376.31,25376.31 +8-9-2019 05:00,63040.43,29344.81,29344.81 +8-9-2019 06:00,344331.76,160283.62,160283.62 +8-9-2019 07:00,579600.2,269799.2,269799.2 +8-9-2019 08:00,370889.52,172646.04,172646.04 +8-9-2019 09:00,519672.32,241903.22,241903.22 +8-9-2019 10:00,91623.3,42649.9,42649.9 +8-9-2019 11:00,43778.83,20378.68,20378.68 +8-9-2019 12:00,37170.69,17302.65,17302.65 +8-9-2019 13:00,29736.56,13842.13,13842.13 +8-9-2019 14:00,25606.48,11919.61,11919.61 +8-9-2019 15:00,19824.37,9228.08,9228.08 +8-9-2019 16:00,22302.42,10381.59,10381.59 +8-9-2019 17:00,36344.68,16918.15,16918.15 +8-9-2019 18:00,64429.22,29991.27,29991.27 +8-9-2019 19:00,65255.22,30375.77,30375.77 +8-9-2019 20:00,64812.02,30169.47,30169.47 +8-9-2019 21:00,47908.9,22301.2,22301.2 +8-9-2019 22:00,33866.64,15764.64,15764.64 +8-9-2019 23:00,18910.88,8802.86,8802.86 +9-9-2019 00:00,13032.3,6066.43,6066.43 +9-9-2019 01:00,37708.31,17552.91,17552.91 +9-9-2019 02:00,57274.05,26660.6,26660.6 +9-9-2019 03:00,107725.65,50145.42,50145.42 +9-9-2019 04:00,144560.81,67291.87,67291.87 +9-9-2019 05:00,149582.75,69629.54,69629.54 +9-9-2019 06:00,338390.72,157518.11,157518.11 +9-9-2019 07:00,524966.24,244367.5,244367.5 +9-9-2019 08:00,414874.92,193120.88,193120.88 +9-9-2019 09:00,745032.56,346806.56,346806.56 +9-9-2019 10:00,50386.95,23454.71,23454.71 +9-9-2019 11:00,47822.38,22260.93,22260.93 +9-9-2019 12:00,90307.41,42037.36,42037.36 +9-9-2019 13:00,31196.05,14521.51,14521.51 +9-9-2019 14:00,35601.69,16572.3,16572.3 +9-9-2019 15:00,25960.1,12084.21,12084.21 +9-9-2019 16:00,22302.42,10381.59,10381.59 +9-9-2019 17:00,55425.25,25800,25800 +9-9-2019 18:00,120417.49,56053.37,56053.37 +9-9-2019 19:00,349320.08,162605.64,162605.64 +9-9-2019 20:00,599882.4,279240.36,279240.36 +9-9-2019 21:00,336989.92,156866.07,156866.07 +9-9-2019 22:00,52030.87,24219.94,24219.94 +9-9-2019 23:00,60687.83,28249.69,28249.69 +10-9-2019 00:00,96166.25,44764.61,44764.61 +10-9-2019 01:00,148694.73,69216.19,69216.19 +10-9-2019 02:00,154840.94,72077.2,72077.2 +10-9-2019 03:00,161479.97,75167.61,75167.61 +10-9-2019 04:00,155468.55,72369.35,72369.35 +10-9-2019 05:00,162025.13,75421.37,75421.37 +10-9-2019 06:00,693106.48,322635.4,322635.4 +10-9-2019 07:00,934504,435004,435004 +10-9-2019 08:00,1251696.88,582654.68,582654.68 +10-9-2019 09:00,1296561.12,603538.64,603538.64 +10-9-2019 10:00,50386.95,23454.71,23454.71 +10-9-2019 11:00,61985.29,28853.64,28853.64 +10-9-2019 12:00,100963.61,46997.74,46997.74 +10-9-2019 13:00,48129.15,22403.73,22403.73 +10-9-2019 14:00,93165.81,43367.93,43367.93 +10-9-2019 15:00,39732.33,18495.08,18495.08 +10-9-2019 16:00,22302.42,10381.59,10381.59 +10-9-2019 17:00,213570.46,99415.31,99415.31 +10-9-2019 18:00,224299.28,104409.48,104409.48 +10-9-2019 19:00,455930.88,212232.1,212232.1 +10-9-2019 20:00,672203.68,312905.3,312905.3 +10-9-2019 21:00,386650.84,179982.82,179982.82 +10-9-2019 22:00,68221.06,31756.35,31756.35 +10-9-2019 23:00,79277.58,36903.06,36903.06 +11-9-2019 00:00,122082.02,56828.18,56828.18 +11-9-2019 01:00,128126.08,59641.65,59641.65 +11-9-2019 02:00,134384.09,62554.71,62554.71 +11-9-2019 03:00,124353.41,57885.5,57885.5 +11-9-2019 04:00,108196.75,50364.71,50364.71 +11-9-2019 05:00,111352.8,51833.83,51833.83 +11-9-2019 06:00,500238.16,232856.76,232856.76 +11-9-2019 07:00,740155.36,344536.28,344536.28 +11-9-2019 08:00,979786.8,456082.72,456082.72 +11-9-2019 09:00,1109444.56,516437.36,516437.36 +11-9-2019 10:00,56423.61,26264.73,26264.73 +11-9-2019 11:00,105956.63,49321.95,49321.95 +11-9-2019 12:00,199722.14,92969.02,92969.02 +11-9-2019 13:00,88195.82,41054.43,41054.43 +11-9-2019 14:00,110462.62,51419.46,51419.46 +11-9-2019 15:00,83290.58,38771.09,38771.09 +11-9-2019 16:00,22380.89,10418.12,10418.12 +11-9-2019 17:00,606667.84,282398.92,282398.92 +11-9-2019 18:00,453225.84,210972.94,210972.94 +11-9-2019 19:00,597550.24,278154.76,278154.76 +11-9-2019 20:00,614360.84,285979.94,285979.94 +11-9-2019 21:00,321124.7,149480.91,149480.91 +11-9-2019 22:00,60276.13,28058.04,28058.04 +11-9-2019 23:00,55064.83,25632.23,25632.23 +12-9-2019 00:00,46756.95,21764.97,21764.97 +12-9-2019 01:00,66452.04,30932.88,30932.88 +12-9-2019 02:00,74267.7,34571.01,34571.01 +12-9-2019 03:00,75959.88,35358.7,35358.7 +12-9-2019 04:00,82733.03,38511.55,38511.55 +12-9-2019 05:00,87827.49,40882.99,40882.99 +12-9-2019 06:00,317940.94,147998.93,147998.93 +12-9-2019 07:00,489836.84,228015.06,228015.06 +12-9-2019 08:00,589150.92,274245,274245 +12-9-2019 09:00,667780.28,310846.28,310846.28 +12-9-2019 10:00,50386.95,23454.71,23454.71 +12-9-2019 11:00,47384.97,22057.31,22057.31 +12-9-2019 12:00,85218.83,39668.67,39668.67 +12-9-2019 13:00,29736.56,13842.13,13842.13 +12-9-2019 14:00,31584.63,14702.39,14702.39 +12-9-2019 15:00,19824.37,9228.08,9228.08 +12-9-2019 16:00,22302.42,10381.59,10381.59 +12-9-2019 17:00,36373.54,16931.59,16931.59 +12-9-2019 18:00,67698.4,31513.05,31513.05 +12-9-2019 19:00,77323.28,35993.36,35993.36 +12-9-2019 20:00,110400.73,51390.64,51390.64 +12-9-2019 21:00,87922.78,40927.34,40927.34 +12-9-2019 22:00,33866.64,15764.64,15764.64 +12-9-2019 23:00,17339.81,8071.54,8071.54 +13-9-2019 00:00,7492.66,3487.77,3487.77 +13-9-2019 01:00,5008.87,2331.59,2331.59 +13-9-2019 02:00,2982.44,1388.3,1388.3 +13-9-2019 03:00,11755.64,5472.15,5472.15 +13-9-2019 04:00,16009.77,7452.42,7452.42 +13-9-2019 05:00,30013.68,13971.12,13971.12 +13-9-2019 06:00,84993.51,39563.78,39563.78 +13-9-2019 07:00,218412.1,101669.05,101669.05 +13-9-2019 08:00,232088.78,108035.42,108035.42 +13-9-2019 09:00,441908.76,205704.9,205704.9 +13-9-2019 10:00,50386.95,23454.71,23454.71 +13-9-2019 11:00,46404.97,21601.14,21601.14 +13-9-2019 12:00,77659.82,36150.02,36150.02 +13-9-2019 13:00,30081.18,14002.54,14002.54 +13-9-2019 14:00,30470.98,14183.99,14183.99 +13-9-2019 15:00,25621.08,11926.4,11926.4 +13-9-2019 16:00,22302.42,10381.59,10381.59 +13-9-2019 17:00,36344.68,16918.15,16918.15 +13-9-2019 18:00,67725.59,31525.71,31525.71 +13-9-2019 19:00,118128.99,54988.08,54988.08 +13-9-2019 20:00,249800.44,116280.07,116280.07 +13-9-2019 21:00,223260.1,103925.76,103925.76 +13-9-2019 22:00,36468.9,16975.97,16975.97 +13-9-2019 23:00,28047.22,13055.75,13055.75 +14-9-2019 00:00,40836.61,19009.11,19009.11 +14-9-2019 01:00,74691.43,34768.25,34768.25 +14-9-2019 02:00,127407.91,59307.35,59307.35 +14-9-2019 03:00,134370.53,62548.39,62548.39 +14-9-2019 04:00,142439.82,66304.58,66304.58 +14-9-2019 05:00,149656.83,69664.03,69664.03 +14-9-2019 06:00,638455,297195.62,297195.62 +14-9-2019 07:00,1165959.36,542744.52,542744.52 +14-9-2019 08:00,978227.12,455356.76,455356.76 +14-9-2019 09:00,1279990.24,595824.96,595824.96 +14-9-2019 10:00,177304.62,82533.86,82533.86 +14-9-2019 11:00,44433.63,20683.49,20683.49 +14-9-2019 12:00,41842.04,19477.13,19477.13 +14-9-2019 13:00,29736.56,13842.13,13842.13 +14-9-2019 14:00,25606.48,11919.61,11919.61 +14-9-2019 15:00,19824.37,9228.08,9228.08 +14-9-2019 16:00,22302.42,10381.59,10381.59 +14-9-2019 17:00,36344.68,16918.15,16918.15 +14-9-2019 18:00,66203.71,30817.29,30817.29 +14-9-2019 19:00,109979.62,51194.62,51194.62 +14-9-2019 20:00,164389.39,76521.92,76521.92 +14-9-2019 21:00,59483.74,27689.19,27689.19 +14-9-2019 22:00,39156.11,18226.85,18226.85 +14-9-2019 23:00,50827.18,23659.63,23659.63 +15-9-2019 00:00,100272.88,46676.21,46676.21 +15-9-2019 01:00,141713.88,65966.65,65966.65 +15-9-2019 02:00,146345.78,68122.77,68122.77 +15-9-2019 03:00,149361.57,69526.6,69526.6 +15-9-2019 04:00,156188.83,72704.62,72704.62 +15-9-2019 05:00,167422.01,77933.58,77933.58 +15-9-2019 06:00,777887.28,362100.16,362100.16 +15-9-2019 07:00,1495060,695938.24,695938.24 +15-9-2019 08:00,1632404.8,759871.12,759871.12 +15-9-2019 09:00,1997804.32,929961.6,929961.6 +15-9-2019 10:00,347365,161695.57,161695.57 +15-9-2019 11:00,44384.36,20660.56,20660.56 +15-9-2019 12:00,37170.69,17302.65,17302.65 +15-9-2019 13:00,29736.56,13842.13,13842.13 +15-9-2019 14:00,25606.48,11919.61,11919.61 +15-9-2019 15:00,19824.37,9228.08,9228.08 +15-9-2019 16:00,22302.42,10381.59,10381.59 +15-9-2019 17:00,36344.68,16918.15,16918.15 +15-9-2019 18:00,65847.79,30651.61,30651.61 +15-9-2019 19:00,76365.41,35547.47,35547.47 +15-9-2019 20:00,95394.31,44405.28,44405.28 +15-9-2019 21:00,54558.31,25396.45,25396.45 +15-9-2019 22:00,36084,16796.81,16796.81 +15-9-2019 23:00,24193.56,11261.9,11261.9 +16-9-2019 00:00,28316.16,13180.94,13180.94 +16-9-2019 01:00,44192.34,20571.17,20571.17 +16-9-2019 02:00,52989.41,24666.13,24666.13 +16-9-2019 03:00,83211.8,38734.41,38734.41 +16-9-2019 04:00,93488.62,43518.19,43518.19 +16-9-2019 05:00,98963.17,46066.55,46066.55 +16-9-2019 06:00,326392.86,151933.2,151933.2 +16-9-2019 07:00,546766.68,254515.42,254515.42 +16-9-2019 08:00,675105.68,314256.16,314256.16 +16-9-2019 09:00,934377.28,434944.96,434944.96 +16-9-2019 10:00,59099.93,27510.53,27510.53 +16-9-2019 11:00,98245.29,45732.39,45732.39 +16-9-2019 12:00,207140.9,96422.4,96422.4 +16-9-2019 13:00,80773.13,37599.22,37599.22 +16-9-2019 14:00,87235.67,40607.49,40607.49 +16-9-2019 15:00,85942.92,40005.73,40005.73 +16-9-2019 16:00,22302.42,10381.59,10381.59 +16-9-2019 17:00,498233.84,231923.82,231923.82 +16-9-2019 18:00,470078.48,218817.7,218817.7 +16-9-2019 19:00,641462.88,298595.74,298595.74 +16-9-2019 20:00,766139.92,356631.88,356631.88 +16-9-2019 21:00,483747.56,225180.52,225180.52 +16-9-2019 22:00,139212.1,64802.1,64802.1 +16-9-2019 23:00,148626.48,69184.41,69184.41 +17-9-2019 00:00,149080.95,69395.97,69395.97 +17-9-2019 01:00,154100.75,71732.65,71732.65 +17-9-2019 02:00,163993.84,76337.79,76337.79 +17-9-2019 03:00,173369.22,80701.95,80701.95 +17-9-2019 04:00,175268.06,81585.84,81585.84 +17-9-2019 05:00,163991.56,76336.73,76336.73 +17-9-2019 06:00,801306.8,373001.76,373001.76 +17-9-2019 07:00,1363699.2,634790.76,634790.76 +17-9-2019 08:00,1366619.2,636150.08,636150.08 +17-9-2019 09:00,1240594.24,577486.44,577486.44 +17-9-2019 10:00,50386.95,23454.71,23454.71 +17-9-2019 11:00,67944.29,31627.51,31627.51 +17-9-2019 12:00,177268.12,82516.88,82516.88 +17-9-2019 13:00,80264.91,37362.66,37362.66 +17-9-2019 14:00,108413.38,50465.55,50465.55 +17-9-2019 15:00,69553.99,32376.82,32376.82 +17-9-2019 16:00,22302.42,10381.59,10381.59 +17-9-2019 17:00,569475.72,265086.3,265086.3 +17-9-2019 18:00,500260.68,232867.24,232867.24 +17-9-2019 19:00,736182.88,342687.12,342687.12 +17-9-2019 20:00,988316.4,460053.24,460053.24 +17-9-2019 21:00,667195.36,310574,310574 +17-9-2019 22:00,186565.04,86844.51,86844.51 +17-9-2019 23:00,180133.92,83850.88,83850.88 +18-9-2019 00:00,176413.8,82119.18,82119.18 +18-9-2019 01:00,180321.98,83938.41,83938.41 +18-9-2019 02:00,188192.1,87601.89,87601.89 +18-9-2019 03:00,268709.14,125081.92,125081.92 +18-9-2019 04:00,288965.6,134511.11,134511.11 +18-9-2019 05:00,380230.76,176994.32,176994.32 +18-9-2019 06:00,1237180.32,575897.32,575897.32 +18-9-2019 07:00,1780341.6,828734.56,828734.56 +18-9-2019 08:00,1735997.92,808092.88,808092.88 +18-9-2019 09:00,1217305.68,566645.88,566645.88 +18-9-2019 10:00,50386.95,23454.71,23454.71 +18-9-2019 11:00,58700.26,27324.49,27324.49 +18-9-2019 12:00,112334.89,52290.98,52290.98 +18-9-2019 13:00,95757.1,44574.15,44574.15 +18-9-2019 14:00,135537.69,63091.7,63091.7 +18-9-2019 15:00,64110.63,29842.97,29842.97 +18-9-2019 16:00,22616.86,10527.96,10527.96 +18-9-2019 17:00,817325.04,380458.16,380458.16 +18-9-2019 18:00,677991.92,315599.7,315599.7 +18-9-2019 19:00,1019115.12,474389.76,474389.76 +18-9-2019 20:00,1305527.92,607712.6,607712.6 +18-9-2019 21:00,797664.96,371306.56,371306.56 +18-9-2019 22:00,203912.34,94919.53,94919.53 +18-9-2019 23:00,193859,90239.78,90239.78 +19-9-2019 00:00,179706.22,83651.78,83651.78 +19-9-2019 01:00,210649.24,98055.5,98055.5 +19-9-2019 02:00,236331.9,110010.57,110010.57 +19-9-2019 03:00,244441.9,113785.71,113785.71 +19-9-2019 04:00,239381.46,111430.11,111430.11 +19-9-2019 05:00,250871.88,116778.81,116778.81 +19-9-2019 06:00,1206642.24,561682.12,561682.12 +19-9-2019 07:00,1737289.92,808694.32,808694.32 +19-9-2019 08:00,1709777.28,795887.36,795887.36 +19-9-2019 09:00,1407384.8,655126.16,655126.16 +19-9-2019 10:00,84892.92,39516.97,39516.97 +19-9-2019 11:00,146806.21,68337.09,68337.09 +19-9-2019 12:00,262853.82,122356.3,122356.3 +19-9-2019 13:00,104335.62,48567.39,48567.39 +19-9-2019 14:00,153253.78,71338.39,71338.39 +19-9-2019 15:00,111849.39,52064.99,52064.99 +19-9-2019 16:00,23481.33,10930.37,10930.37 +19-9-2019 17:00,1303035.68,606552.56,606552.56 +19-9-2019 18:00,897251.6,417663.28,417663.28 +19-9-2019 19:00,1276961.04,594414.92,594414.92 +19-9-2019 20:00,1623086.08,755533.28,755533.28 +19-9-2019 21:00,896204.72,417176,417176 +19-9-2019 22:00,224179.78,104353.85,104353.85 +19-9-2019 23:00,242716.8,112982.68,112982.68 +20-9-2019 00:00,302804.68,140953.11,140953.11 +20-9-2019 01:00,317932.8,147995.12,147995.12 +20-9-2019 02:00,322797.34,150259.52,150259.52 +20-9-2019 03:00,333309.9,155153.03,155153.03 +20-9-2019 04:00,440144.12,204883.52,204883.52 +20-9-2019 05:00,550763.32,256375.82,256375.82 +20-9-2019 06:00,1749599.04,814424,814424 +20-9-2019 07:00,2625831.36,1222303.12,1222303.12 +20-9-2019 08:00,2783981.44,1295920.64,1295920.64 +20-9-2019 09:00,1611707.36,750236.64,750236.64 +20-9-2019 10:00,85902.92,39987.11,39987.11 +20-9-2019 11:00,168989.08,78663.04,78663.04 +20-9-2019 12:00,260656.86,121333.64,121333.64 +20-9-2019 13:00,121834.59,56713.01,56713.01 +20-9-2019 14:00,181486.16,84480.33,84480.33 +20-9-2019 15:00,64968.39,30242.26,30242.26 +20-9-2019 16:00,22302.42,10381.59,10381.59 +20-9-2019 17:00,983665.2,457888.12,457888.12 +20-9-2019 18:00,537675.92,250283.74,250283.74 +20-9-2019 19:00,953440.88,443818.96,443818.96 +20-9-2019 20:00,1292005.52,601417.96,601417.96 +20-9-2019 21:00,684270.56,318522.4,318522.4 +20-9-2019 22:00,181482.26,84478.53,84478.53 +20-9-2019 23:00,171053.78,79624.15,79624.15 +21-9-2019 00:00,173442.36,80736,80736 +21-9-2019 01:00,220434.58,102610.5,102610.5 +21-9-2019 02:00,284358.98,132366.79,132366.79 +21-9-2019 03:00,273875.64,127486.87,127486.87 +21-9-2019 04:00,286743.08,133476.56,133476.56 +21-9-2019 05:00,330286.66,153745.73,153745.73 +21-9-2019 06:00,1166700.32,543089.48,543089.48 +21-9-2019 07:00,2339639.36,1089083.04,1089083.04 +21-9-2019 08:00,3097554.24,1441886.24,1441886.24 +21-9-2019 09:00,2149492.48,1000571.2,1000571.2 +21-9-2019 10:00,367446.96,171043.54,171043.54 +21-9-2019 11:00,43778.83,20378.68,20378.68 +21-9-2019 12:00,37311.24,17368.08,17368.08 +21-9-2019 13:00,29736.56,13842.13,13842.13 +21-9-2019 14:00,25606.48,11919.61,11919.61 +21-9-2019 15:00,19824.37,9228.08,9228.08 +21-9-2019 16:00,22302.42,10381.59,10381.59 +21-9-2019 17:00,36344.68,16918.15,16918.15 +21-9-2019 18:00,64429.22,29991.27,29991.27 +21-9-2019 19:00,69127.32,32178.2,32178.2 +21-9-2019 20:00,71049.9,33073.15,33073.15 +21-9-2019 21:00,49407.15,22998.63,22998.63 +21-9-2019 22:00,34678.42,16142.52,16142.52 +21-9-2019 23:00,18815.83,8758.61,8758.61 +22-9-2019 00:00,12019.88,5595.16,5595.16 +22-9-2019 01:00,29512.77,13737.95,13737.95 +22-9-2019 02:00,59082.4,27502.37,27502.37 +22-9-2019 03:00,114931.71,53499.77,53499.77 +22-9-2019 04:00,129227.1,60154.15,60154.15 +22-9-2019 05:00,123637.9,57552.44,57552.44 +22-9-2019 06:00,565403.44,263190.74,263190.74 +22-9-2019 07:00,1506452.32,701241.36,701241.36 +22-9-2019 08:00,1974577.44,919149.68,919149.68 +22-9-2019 09:00,1894916.48,882068.16,882068.16 +22-9-2019 10:00,307469.24,143124.44,143124.44 +22-9-2019 11:00,44498.81,20713.83,20713.83 +22-9-2019 12:00,41289.18,19219.78,19219.78 +22-9-2019 13:00,29736.56,13842.13,13842.13 +22-9-2019 14:00,25606.48,11919.61,11919.61 +22-9-2019 15:00,19824.37,9228.08,9228.08 +22-9-2019 16:00,22302.42,10381.59,10381.59 +22-9-2019 17:00,36344.68,16918.15,16918.15 +22-9-2019 18:00,67814.3,31567,31567 +22-9-2019 19:00,76013.54,35383.69,35383.69 +22-9-2019 20:00,103916.82,48372.44,48372.44 +22-9-2019 21:00,55954.83,26046.51,26046.51 +22-9-2019 22:00,35887.91,16705.53,16705.53 +22-9-2019 23:00,21528.82,10021.49,10021.49 +23-9-2019 00:00,21380.91,9952.64,9952.64 +23-9-2019 01:00,41303.24,19226.32,19226.32 +23-9-2019 02:00,48303.4,22484.84,22484.84 +23-9-2019 03:00,68774.81,32014.11,32014.11 +23-9-2019 04:00,81902.39,38124.9,38124.9 +23-9-2019 05:00,87879.34,40907.11,40907.11 +23-9-2019 06:00,342423.64,159395.42,159395.42 +23-9-2019 07:00,967635.92,450426.6,450426.6 +23-9-2019 08:00,789376.56,367448.32,367448.32 +23-9-2019 09:00,876617.84,408058.48,408058.48 +23-9-2019 10:00,50386.95,23454.71,23454.71 +23-9-2019 11:00,56887.98,26480.89,26480.89 +23-9-2019 12:00,117826.74,54847.4,54847.4 +23-9-2019 13:00,37189.1,17311.22,17311.22 +23-9-2019 14:00,77531.73,36090.39,36090.39 +23-9-2019 15:00,46975.42,21866.67,21866.67 +23-9-2019 16:00,22302.42,10381.59,10381.59 +23-9-2019 17:00,214214.64,99715.17,99715.17 +23-9-2019 18:00,287856.3,133994.75,133994.75 +23-9-2019 19:00,531684.04,247494.56,247494.56 +23-9-2019 20:00,703115.04,327294.32,327294.32 +23-9-2019 21:00,367264.56,170958.66,170958.66 +23-9-2019 22:00,63633.89,29621.05,29621.05 +23-9-2019 23:00,74917.39,34873.43,34873.43 +24-9-2019 00:00,95775.14,44582.56,44582.56 +24-9-2019 01:00,96586.37,44960.18,44960.18 +24-9-2019 02:00,92815.58,43204.9,43204.9 +24-9-2019 03:00,94497.28,43987.72,43987.72 +24-9-2019 04:00,95201.33,44315.45,44315.45 +24-9-2019 05:00,99515.22,46323.53,46323.53 +24-9-2019 06:00,463919.72,215950.84,215950.84 +24-9-2019 07:00,1196057.76,556755.12,556755.12 +24-9-2019 08:00,1011890.72,471026.84,471026.84 +24-9-2019 09:00,973507.92,453160,453160 +24-9-2019 10:00,50386.95,23454.71,23454.71 +24-9-2019 11:00,68649.42,31955.74,31955.74 +24-9-2019 12:00,173186.96,80617.12,80617.12 +24-9-2019 13:00,50257.83,23394.61,23394.61 +24-9-2019 14:00,96814.84,45066.52,45066.52 +24-9-2019 15:00,77454.96,36054.65,36054.65 +24-9-2019 16:00,22622.81,10530.73,10530.73 +24-9-2019 17:00,945380.8,440067.04,440067.04 +24-9-2019 18:00,698806.32,325288.64,325288.64 +24-9-2019 19:00,788008.08,366811.32,366811.32 +24-9-2019 20:00,878602,408982.04,408982.04 +24-9-2019 21:00,485337.48,225920.64,225920.64 +24-9-2019 22:00,126704.25,58979.8,58979.8 +24-9-2019 23:00,111293.62,51806.27,51806.27 +25-9-2019 00:00,100059.01,46576.66,46576.66 +25-9-2019 01:00,98173.01,45698.74,45698.74 +25-9-2019 02:00,98525.38,45862.76,45862.76 +25-9-2019 03:00,102774.27,47840.59,47840.59 +25-9-2019 04:00,113879.52,53009.99,53009.99 +25-9-2019 05:00,121813.71,56703.3,56703.3 +25-9-2019 06:00,560672,260988.26,260988.26 +25-9-2019 07:00,1337840.48,622753.8,622753.8 +25-9-2019 08:00,1114470.24,518776.72,518776.72 +25-9-2019 09:00,1024596.64,476941.44,476941.44 +25-9-2019 10:00,50386.95,23454.71,23454.71 +25-9-2019 11:00,98115.7,45672.06,45672.06 +25-9-2019 12:00,184083.56,85689.39,85689.39 +25-9-2019 13:00,60964.76,28378.6,28378.6 +25-9-2019 14:00,107639.39,50105.25,50105.25 +25-9-2019 15:00,84972.29,39553.91,39553.91 +25-9-2019 16:00,22302.42,10381.59,10381.59 +25-9-2019 17:00,998238,464671.68,464671.68 +25-9-2019 18:00,664360.64,309254.48,309254.48 +25-9-2019 19:00,753527.76,350761.04,350761.04 +25-9-2019 20:00,829528.08,386138.56,386138.56 +25-9-2019 21:00,428774.04,199590.82,199590.82 +25-9-2019 22:00,111440.99,51874.88,51874.88 +25-9-2019 23:00,97791.12,45520.97,45520.97 +26-9-2019 00:00,88829.57,41349.44,41349.44 +26-9-2019 01:00,86461.69,40247.21,40247.21 +26-9-2019 02:00,84945.04,39541.22,39541.22 +26-9-2019 03:00,88161.03,41038.24,41038.24 +26-9-2019 04:00,93399.73,43476.81,43476.81 +26-9-2019 05:00,99622.16,46373.3,46373.3 +26-9-2019 06:00,466480.36,217142.8,217142.8 +26-9-2019 07:00,1125462,523893.44,523893.44 +26-9-2019 08:00,969402.88,451249.16,451249.16 +26-9-2019 09:00,901326.08,419559.96,419559.96 +26-9-2019 10:00,50386.95,23454.71,23454.71 +26-9-2019 11:00,77858.09,36242.3,36242.3 +26-9-2019 12:00,175982.72,81918.52,81918.52 +26-9-2019 13:00,48707.46,22672.93,22672.93 +26-9-2019 14:00,94647.58,44057.68,44057.68 +26-9-2019 15:00,74921.6,34875.39,34875.39 +26-9-2019 16:00,22302.42,10381.59,10381.59 +26-9-2019 17:00,708168.72,329646.76,329646.76 +26-9-2019 18:00,523100.76,243499.14,243499.14 +26-9-2019 19:00,754869.36,351385.48,351385.48 +26-9-2019 20:00,853811.52,397442.28,397442.28 +26-9-2019 21:00,442216.6,205848.24,205848.24 +26-9-2019 22:00,113782.99,52965.06,52965.06 +26-9-2019 23:00,106102.09,49389.67,49389.67 +27-9-2019 00:00,97299.66,45292.2,45292.2 +27-9-2019 01:00,93397.03,43475.56,43475.56 +27-9-2019 02:00,95943.95,44661.14,44661.14 +27-9-2019 03:00,104171.63,48491.05,48491.05 +27-9-2019 04:00,107393.64,49990.86,49990.86 +27-9-2019 05:00,116186.45,54083.85,54083.85 +27-9-2019 06:00,534991.96,249034.4,249034.4 +27-9-2019 07:00,1255407.36,584381.84,584381.84 +27-9-2019 08:00,1050341.92,488925.6,488925.6 +27-9-2019 09:00,957418.64,445670.6,445670.6 +27-9-2019 10:00,50386.95,23454.71,23454.71 +27-9-2019 11:00,64132.9,29853.34,29853.34 +27-9-2019 12:00,150814.71,70203.02,70203.02 +27-9-2019 13:00,37595.52,17500.41,17500.41 +27-9-2019 14:00,81494.61,37935.08,37935.08 +27-9-2019 15:00,53287.06,24804.69,24804.69 +27-9-2019 16:00,22302.42,10381.59,10381.59 +27-9-2019 17:00,640125.2,297973.02,297973.02 +27-9-2019 18:00,572282.96,266393,266393 +27-9-2019 19:00,678219.68,315705.72,315705.72 +27-9-2019 20:00,743270.24,345986.24,345986.24 +27-9-2019 21:00,372547.96,173418.06,173418.06 +27-9-2019 22:00,82313.73,38316.37,38316.37 +27-9-2019 23:00,99059.99,46111.62,46111.62 +28-9-2019 00:00,93154.85,43362.83,43362.83 +28-9-2019 01:00,94259.15,43876.87,43876.87 +28-9-2019 02:00,92875.91,43232.99,43232.99 +28-9-2019 03:00,100067.12,46580.44,46580.44 +28-9-2019 04:00,106485.28,49568.04,49568.04 +28-9-2019 05:00,111415.23,51862.88,51862.88 +28-9-2019 06:00,588377.32,273884.86,273884.86 +28-9-2019 07:00,1469553.44,684065.2,684065.2 +28-9-2019 08:00,1916561.12,892143.6,892143.6 +28-9-2019 09:00,1624100.16,756005.36,756005.36 +28-9-2019 10:00,278244.44,129520.51,129520.51 +28-9-2019 11:00,48080.08,22380.89,22380.89 +28-9-2019 12:00,178582.28,83128.6,83128.6 +28-9-2019 13:00,86774.72,40392.93,40392.93 +28-9-2019 14:00,25606.48,11919.61,11919.61 +28-9-2019 15:00,19824.37,9228.08,9228.08 +28-9-2019 16:00,22302.42,10381.59,10381.59 +28-9-2019 17:00,85399.06,39752.57,39752.57 +28-9-2019 18:00,412262.48,191904.82,191904.82 +28-9-2019 19:00,543131,252823.04,252823.04 +28-9-2019 20:00,456547.6,212519.2,212519.2 +28-9-2019 21:00,190178.7,88526.63,88526.63 +28-9-2019 22:00,107889.74,50221.79,50221.79 +28-9-2019 23:00,104568.44,48675.76,48675.76 +29-9-2019 00:00,94404.42,43944.49,43944.49 +29-9-2019 01:00,93823.96,43674.29,43674.29 +29-9-2019 02:00,100325.33,46700.63,46700.63 +29-9-2019 03:00,108509.95,50510.49,50510.49 +29-9-2019 04:00,114896.08,53483.19,53483.19 +29-9-2019 05:00,128326.69,59735.03,59735.03 +29-9-2019 06:00,619971.6,288591.74,288591.74 +29-9-2019 07:00,1579679.68,735328,735328 +29-9-2019 08:00,2157800.96,1004438.64,1004438.64 +29-9-2019 09:00,1946526.56,906092.24,906092.24 +29-9-2019 10:00,381829.16,177738.38,177738.38 +29-9-2019 11:00,110025.53,51215.99,51215.99 +29-9-2019 12:00,268573.52,125018.78,125018.78 +29-9-2019 13:00,82102.35,38217.97,38217.97 +29-9-2019 14:00,27429.91,12768.4,12768.4 +29-9-2019 15:00,19824.37,9228.08,9228.08 +29-9-2019 16:00,22549.67,10496.69,10496.69 +29-9-2019 17:00,197315.7,91848.85,91848.85 +29-9-2019 18:00,500987.56,233205.62,233205.62 +29-9-2019 19:00,683228.72,318037.42,318037.42 +29-9-2019 20:00,555224.72,258452.54,258452.54 +29-9-2019 21:00,249243.28,116020.71,116020.71 +29-9-2019 22:00,110934.15,51638.95,51638.95 +29-9-2019 23:00,104000.76,48411.51,48411.51 +30-9-2019 00:00,101839.37,47405.39,47405.39 +30-9-2019 01:00,106522.5,49585.36,49585.36 +30-9-2019 02:00,108245.54,50387.43,50387.43 +30-9-2019 03:00,116272.3,54123.81,54123.81 +30-9-2019 04:00,135990.13,63302.3,63302.3 +30-9-2019 05:00,158520.6,73790.05,73790.05 +30-9-2019 06:00,617380.72,287385.72,287385.72 +30-9-2019 07:00,1508025.92,701973.68,701973.68 +30-9-2019 08:00,1182611.68,550496.08,550496.08 +30-9-2019 09:00,1101886.88,512919.24,512919.24 +30-9-2019 10:00,50386.95,23454.71,23454.71 +30-9-2019 11:00,89948.59,41870.33,41870.33 +30-9-2019 12:00,174343.88,81155.64,81155.64 +30-9-2019 13:00,37770.79,17581.99,17581.99 +30-9-2019 14:00,78370.08,36480.63,36480.63 +30-9-2019 15:00,55908.85,26025.11,26025.11 +30-9-2019 16:00,22673.64,10554.39,10554.39 +30-9-2019 17:00,737287.2,343201.16,343201.16 +30-9-2019 18:00,703956.32,327685.92,327685.92 +30-9-2019 19:00,809621.76,376872.36,376872.36 +30-9-2019 20:00,939856.32,437495.44,437495.44 +30-9-2019 21:00,524440.24,244122.68,244122.68 +30-9-2019 22:00,129721.56,60384.33,60384.33 +30-9-2019 23:00,117761.36,54816.95,54816.95 +1-10-2019 00:00,109980.64,51195.1,51195.1 +1-10-2019 01:00,115213.46,53630.93,53630.93 +1-10-2019 02:00,115268.29,53656.45,53656.45 +1-10-2019 03:00,125966.88,58636.56,58636.56 +1-10-2019 04:00,121672.38,56637.51,56637.51 +1-10-2019 05:00,123054.66,57280.94,57280.94 +1-10-2019 06:00,543046.92,252783.94,252783.94 +1-10-2019 07:00,1321409.52,615105.36,615105.36 +1-10-2019 08:00,1079974.48,502719.28,502719.28 +1-10-2019 09:00,981780.72,457010.88,457010.88 +1-10-2019 10:00,50386.95,23454.71,23454.71 +1-10-2019 11:00,72806.45,33890.81,33890.81 +1-10-2019 12:00,168884.32,78614.28,78614.28 +1-10-2019 13:00,49677.97,23124.68,23124.68 +1-10-2019 14:00,99878.36,46492.56,46492.56 +1-10-2019 15:00,79040.75,36792.83,36792.83 +1-10-2019 16:00,22709.12,10570.91,10570.91 +1-10-2019 17:00,997271.12,464221.56,464221.56 +1-10-2019 18:00,664018,309094.94,309094.94 +1-10-2019 19:00,770783.76,358793.52,358793.52 +1-10-2019 20:00,1049485.36,488526.8,488526.8 +1-10-2019 21:00,643211.48,299409.66,299409.66 +1-10-2019 22:00,161993.65,75406.73,75406.73 +1-10-2019 23:00,150457.02,70036.52,70036.52 +2-10-2019 00:00,159168.12,74091.46,74091.46 +2-10-2019 01:00,188463.02,87728,87728 +2-10-2019 02:00,214685.92,99934.54,99934.54 +2-10-2019 03:00,227144.22,105733.78,105733.78 +2-10-2019 04:00,234679.66,109241.46,109241.46 +2-10-2019 05:00,255519.86,118942.42,118942.42 +2-10-2019 06:00,954616.32,444366.12,444366.12 +2-10-2019 07:00,2014757.28,937853.12,937853.12 +2-10-2019 08:00,1469122.56,683864.64,683864.64 +2-10-2019 09:00,1167793.92,543598.56,543598.56 +2-10-2019 10:00,75878.05,35320.61,35320.61 +2-10-2019 11:00,121855.28,56722.65,56722.65 +2-10-2019 12:00,255739.36,119044.6,119044.6 +2-10-2019 13:00,51573.9,24007.22,24007.22 +2-10-2019 14:00,200430.16,93298.61,93298.61 +2-10-2019 15:00,131052.57,61003.9,61003.9 +2-10-2019 16:00,57380.76,26710.27,26710.27 +2-10-2019 17:00,2126416.32,989829.44,989829.44 +2-10-2019 18:00,1270785.04,591540.12,591540.12 +2-10-2019 19:00,1424912.48,663285.08,663285.08 +2-10-2019 20:00,1450076.16,674998.56,674998.56 +2-10-2019 21:00,791224.4,368308.52,368308.52 +2-10-2019 22:00,233435.92,108662.51,108662.51 +2-10-2019 23:00,266125.36,123879.18,123879.18 +3-10-2019 00:00,254763.5,118590.33,118590.33 +3-10-2019 01:00,240515.92,111958.19,111958.19 +3-10-2019 02:00,250862.4,116774.41,116774.41 +3-10-2019 03:00,243941.58,113552.82,113552.82 +3-10-2019 04:00,232723.96,108331.1,108331.1 +3-10-2019 05:00,248532.04,115689.64,115689.64 +3-10-2019 06:00,1120956.64,521796.2,521796.2 +3-10-2019 07:00,2162947.52,1006834.4,1006834.4 +3-10-2019 08:00,1984570.24,923801.36,923801.36 +3-10-2019 09:00,1374693.6,639908.64,639908.64 +3-10-2019 10:00,79063.71,36803.51,36803.51 +3-10-2019 11:00,106059.88,49370.01,49370.01 +3-10-2019 12:00,276513.42,128714.74,128714.74 +3-10-2019 13:00,158223.5,73651.75,73651.75 +3-10-2019 14:00,199967.46,93083.21,93083.21 +3-10-2019 15:00,184510.54,85888.15,85888.15 +3-10-2019 16:00,80626.99,37531.2,37531.2 +3-10-2019 17:00,2731276.48,1271387.12,1271387.12 +3-10-2019 18:00,1446387.52,673281.6,673281.6 +3-10-2019 19:00,1611589.92,750181.92,750181.92 +3-10-2019 20:00,1644761.6,765623.12,765623.12 +3-10-2019 21:00,864258.08,402305.04,402305.04 +3-10-2019 22:00,269142.94,125283.84,125283.84 +3-10-2019 23:00,259855.44,120960.59,120960.59 +4-10-2019 00:00,258329.52,120250.29,120250.29 +4-10-2019 01:00,261858.52,121893.01,121893.01 +4-10-2019 02:00,260471.58,121247.41,121247.41 +4-10-2019 03:00,263204.68,122519.62,122519.62 +4-10-2019 04:00,268699.4,125077.37,125077.37 +4-10-2019 05:00,279631.9,130166.35,130166.35 +4-10-2019 06:00,1325626.24,617068.24,617068.24 +4-10-2019 07:00,2423345.76,1128047.76,1128047.76 +4-10-2019 08:00,2421684.64,1127274.4,1127274.4 +4-10-2019 09:00,1686091.84,784862.16,784862.16 +4-10-2019 10:00,233914.76,108885.41,108885.41 +4-10-2019 11:00,372451.08,173372.92,173372.92 +4-10-2019 12:00,550506.24,256256.16,256256.16 +4-10-2019 13:00,265764.5,123711.2,123711.2 +4-10-2019 14:00,275717.02,128344.01,128344.01 +4-10-2019 15:00,296180.18,137869.46,137869.46 +4-10-2019 16:00,92449.17,43034.35,43034.35 +4-10-2019 17:00,3640708.16,1694719.84,1694719.84 +4-10-2019 18:00,1641553.28,764129.6,764129.6 +4-10-2019 19:00,1712992.16,797383.92,797383.92 +4-10-2019 20:00,1783562.56,830233.76,830233.76 +4-10-2019 21:00,976649.36,454622.32,454622.32 +4-10-2019 22:00,307377.56,143081.74,143081.74 +4-10-2019 23:00,292603.54,136204.57,136204.57 +5-10-2019 00:00,286107.54,133180.73,133180.73 +5-10-2019 01:00,291225.22,135562.96,135562.96 +5-10-2019 02:00,314734.38,146506.29,146506.29 +5-10-2019 03:00,312085.76,145273.38,145273.38 +5-10-2019 04:00,326958.84,152196.67,152196.67 +5-10-2019 05:00,413358.88,192415.18,192415.18 +5-10-2019 06:00,1268536.16,590493.24,590493.24 +5-10-2019 07:00,2714522.24,1263587.92,1263587.92 +5-10-2019 08:00,4294268.16,1998947.04,1998947.04 +5-10-2019 09:00,3457901.44,1609624.8,1609624.8 +5-10-2019 10:00,1028021.52,478535.64,478535.64 +5-10-2019 11:00,628860.84,292729.62,292729.62 +5-10-2019 12:00,1011866.24,471015.52,471015.52 +5-10-2019 13:00,485518.64,226004.96,226004.96 +5-10-2019 14:00,249481,116131.37,116131.37 +5-10-2019 15:00,130832.37,60901.4,60901.4 +5-10-2019 16:00,256269.5,119291.36,119291.36 +5-10-2019 17:00,1479616.8,688749.6,688749.6 +5-10-2019 18:00,1904891.36,886711.36,886711.36 +5-10-2019 19:00,1911125.92,889613.44,889613.44 +5-10-2019 20:00,1462865.92,680952,680952 +5-10-2019 21:00,615338.52,286435.06,286435.06 +5-10-2019 22:00,327323.22,152366.29,152366.29 +5-10-2019 23:00,310693.94,144625.5,144625.5 +6-10-2019 00:00,300661.98,139955.7,139955.7 +6-10-2019 01:00,302232.2,140686.61,140686.61 +6-10-2019 02:00,302166.66,140656.11,140656.11 +6-10-2019 03:00,306377.5,142616.24,142616.24 +6-10-2019 04:00,376768.28,175382.56,175382.56 +6-10-2019 05:00,448635.64,208836.24,208836.24 +6-10-2019 06:00,1236063.2,575377.32,575377.32 +6-10-2019 07:00,2704079.68,1258726.96,1258726.96 +6-10-2019 08:00,4376672.96,2037305.44,2037305.44 +6-10-2019 09:00,3659660.8,1703542.4,1703542.4 +6-10-2019 10:00,1307141.2,608463.44,608463.44 +6-10-2019 11:00,964248.8,448849.96,448849.96 +6-10-2019 12:00,1404252.32,653668.04,653668.04 +6-10-2019 13:00,878368.32,408873.28,408873.28 +6-10-2019 14:00,568296.64,264537.44,264537.44 +6-10-2019 15:00,399342.04,185890.48,185890.48 +6-10-2019 16:00,561324.04,261291.74,261291.74 +6-10-2019 17:00,1880559.84,875385.28,875385.28 +6-10-2019 18:00,2060223.84,959017.36,959017.36 +6-10-2019 19:00,2078101.28,967339.2,967339.2 +6-10-2019 20:00,1563920.48,727992.32,727992.32 +6-10-2019 21:00,669751.16,311763.7,311763.7 +6-10-2019 22:00,362471.64,168727.6,168727.6 +6-10-2019 23:00,344929.76,160562,160562 +7-10-2019 00:00,333403.36,155196.55,155196.55 +7-10-2019 01:00,332407.04,154732.77,154732.77 +7-10-2019 02:00,341980.32,159189.06,159189.06 +7-10-2019 03:00,433282.76,201689.6,201689.6 +7-10-2019 04:00,550333.6,256175.78,256175.78 +7-10-2019 05:00,608640,283316.98,283316.98 +7-10-2019 06:00,2053046.88,955676.48,955676.48 +7-10-2019 07:00,2926282.56,1362160.64,1362160.64 +7-10-2019 08:00,3703636.16,1724012.48,1724012.48 +7-10-2019 09:00,2273404.48,1058251.36,1058251.36 +7-10-2019 10:00,419790.48,195409.06,195409.06 +7-10-2019 11:00,668561.04,311209.72,311209.72 +7-10-2019 12:00,1091259.04,507972.2,507972.2 +7-10-2019 13:00,655189.52,304985.38,304985.38 +7-10-2019 14:00,606996.08,282551.72,282551.72 +7-10-2019 15:00,549562.56,255816.92,255816.92 +7-10-2019 16:00,367421.64,171031.76,171031.76 +7-10-2019 17:00,4925403.84,2292735.04,2292735.04 +7-10-2019 18:00,2132285.12,992561.36,992561.36 +7-10-2019 19:00,1999340.16,930676.64,930676.64 +7-10-2019 20:00,1980891.68,922088.88,922088.88 +7-10-2019 21:00,1031023.04,479932.8,479932.8 +7-10-2019 22:00,313146.76,145767.24,145767.24 +7-10-2019 23:00,292251.32,136040.62,136040.62 +8-10-2019 00:00,277392.16,129123.78,129123.78 +8-10-2019 01:00,274384.7,127723.83,127723.83 +8-10-2019 02:00,271536.2,126397.9,126397.9 +8-10-2019 03:00,269495.12,125447.77,125447.77 +8-10-2019 04:00,269210,125315.06,125315.06 +8-10-2019 05:00,277729.7,129280.91,129280.91 +8-10-2019 06:00,1460187.68,679705.44,679705.44 +8-10-2019 07:00,2488481.76,1158367.92,1158367.92 +8-10-2019 08:00,2680899.68,1247937.04,1247937.04 +8-10-2019 09:00,1694520.8,788785.52,788785.52 +8-10-2019 10:00,190403.82,88631.42,88631.42 +8-10-2019 11:00,372761.08,173517.24,173517.24 +8-10-2019 12:00,666222.24,310121,310121 +8-10-2019 13:00,355629.08,165542.43,165542.43 +8-10-2019 14:00,345857.52,160993.85,160993.85 +8-10-2019 15:00,370040.48,172250.84,172250.84 +8-10-2019 16:00,174572.44,81262.06,81262.06 +8-10-2019 17:00,3965846.4,1846069.28,1846069.28 +8-10-2019 18:00,1671545.92,778091.04,778091.04 +8-10-2019 19:00,1737425.76,808757.6,808757.6 +8-10-2019 20:00,1737481.6,808783.52,808783.52 +8-10-2019 21:00,964957.2,449179.76,449179.76 +8-10-2019 22:00,309154.76,143909.01,143909.01 +8-10-2019 23:00,280330.38,130491.52,130491.52 +9-10-2019 00:00,267887.32,124699.36,124699.36 +9-10-2019 01:00,268228.18,124858.02,124858.02 +9-10-2019 02:00,271993.9,126610.95,126610.95 +9-10-2019 03:00,273707.24,127408.49,127408.49 +9-10-2019 04:00,278736.46,129749.54,129749.54 +9-10-2019 05:00,292411.8,136115.31,136115.31 +9-10-2019 06:00,1493590.88,695254.24,695254.24 +9-10-2019 07:00,2540221.92,1182452.48,1182452.48 +9-10-2019 08:00,2750662.08,1280410.8,1280410.8 +9-10-2019 09:00,1736287.2,808227.52,808227.52 +9-10-2019 10:00,248189.72,115530.3,115530.3 +9-10-2019 11:00,450473.8,209691.88,209691.88 +9-10-2019 12:00,785256.64,365530.56,365530.56 +9-10-2019 13:00,430075.08,200196.44,200196.44 +9-10-2019 14:00,389897.72,181494.18,181494.18 +9-10-2019 15:00,417467.96,194327.92,194327.92 +9-10-2019 16:00,289361.6,134695.47,134695.47 +9-10-2019 17:00,4457383.36,2074875.52,2074875.52 +9-10-2019 18:00,1924136.48,895669.84,895669.84 +9-10-2019 19:00,1896115.2,882626.16,882626.16 +9-10-2019 20:00,1920535.2,893993.44,893993.44 +9-10-2019 21:00,1003317.68,467036.16,467036.16 +9-10-2019 22:00,317743.62,147907.06,147907.06 +9-10-2019 23:00,300701.44,139974.08,139974.08 +10-10-2019 00:00,292062.22,135952.59,135952.59 +10-10-2019 01:00,294147,136923.05,136923.05 +10-10-2019 02:00,298725.12,139054.12,139054.12 +10-10-2019 03:00,295993.78,137782.67,137782.67 +10-10-2019 04:00,301473.76,140333.57,140333.57 +10-10-2019 05:00,341883.28,159143.84,159143.84 +10-10-2019 06:00,1642970.4,764789.28,764789.28 +10-10-2019 07:00,2629380.16,1223954.96,1223954.96 +10-10-2019 08:00,2676611.52,1245940.8,1245940.8 +10-10-2019 09:00,1641725.28,764209.68,764209.68 +10-10-2019 10:00,159925.29,74443.92,74443.92 +10-10-2019 11:00,124485.46,57946.97,57946.97 +10-10-2019 12:00,491485.64,228782.56,228782.56 +10-10-2019 13:00,377722.4,175826.7,175826.7 +10-10-2019 14:00,339802.64,158175.35,158175.35 +10-10-2019 15:00,290426.52,135191.16,135191.16 +10-10-2019 16:00,131427.67,61178.52,61178.52 +10-10-2019 17:00,3906380.48,1818388.16,1818388.16 +10-10-2019 18:00,1686017.76,784827.52,784827.52 +10-10-2019 19:00,1665659.36,775350.8,775350.8 +10-10-2019 20:00,1684527.84,784134,784134 +10-10-2019 21:00,889423.92,414019.64,414019.64 +10-10-2019 22:00,262115.2,122012.49,122012.49 +10-10-2019 23:00,242697.62,112973.76,112973.76 +11-10-2019 00:00,228210.6,106230.18,106230.18 +11-10-2019 01:00,228574.32,106399.48,106399.48 +11-10-2019 02:00,246831.1,114897.86,114897.86 +11-10-2019 03:00,229263.7,106720.39,106720.39 +11-10-2019 04:00,222998.36,103803.92,103803.92 +11-10-2019 05:00,234610.72,109209.37,109209.37 +11-10-2019 06:00,1197366.56,557364.36,557364.36 +11-10-2019 07:00,2210576.48,1029005.36,1029005.36 +11-10-2019 08:00,2162304.16,1006534.96,1006534.96 +11-10-2019 09:00,1559323.68,725852.48,725852.48 +11-10-2019 10:00,150603.88,70104.88,70104.88 +11-10-2019 11:00,309840.92,144228.42,144228.42 +11-10-2019 12:00,592070.12,275603.82,275603.82 +11-10-2019 13:00,314372.22,146337.71,146337.71 +11-10-2019 14:00,314408.54,146354.6,146354.6 +11-10-2019 15:00,343911.16,160087.86,160087.86 +11-10-2019 16:00,145230.71,67603.72,67603.72 +11-10-2019 17:00,3787708.16,1763147.2,1763147.2 +11-10-2019 18:00,1408442.4,655618.48,655618.48 +11-10-2019 19:00,1364605.28,635212.6,635212.6 +11-10-2019 20:00,1366380,636038.76,636038.76 +11-10-2019 21:00,699259.92,325499.78,325499.78 +11-10-2019 22:00,196882.16,91647.03,91647.03 +11-10-2019 23:00,176893.18,82342.33,82342.33 +12-10-2019 00:00,168477.82,78425.06,78425.06 +12-10-2019 01:00,163412.32,76067.11,76067.11 +12-10-2019 02:00,164970.11,76792.25,76792.25 +12-10-2019 03:00,222171.18,103418.86,103418.86 +12-10-2019 04:00,224700.68,104596.34,104596.34 +12-10-2019 05:00,235655.06,109695.51,109695.51 +12-10-2019 06:00,869675.52,404826.88,404826.88 +12-10-2019 07:00,2054069.28,956152.56,956152.56 +12-10-2019 08:00,3425675.2,1594623.84,1594623.84 +12-10-2019 09:00,2730306.88,1270935.52,1270935.52 +12-10-2019 10:00,796037.68,370549,370549 +12-10-2019 11:00,583993.4,271844.18,271844.18 +12-10-2019 12:00,1053715.92,490496.16,490496.16 +12-10-2019 13:00,607891.24,282968.42,282968.42 +12-10-2019 14:00,334643.18,155773.68,155773.68 +12-10-2019 15:00,203816.72,94875.02,94875.02 +12-10-2019 16:00,397663.92,185109.3,185109.3 +12-10-2019 17:00,1515348.8,705382.48,705382.48 +12-10-2019 18:00,1664700.32,774904.4,774904.4 +12-10-2019 19:00,1703999.68,793198,793198 +12-10-2019 20:00,1308794.56,609233.2,609233.2 +12-10-2019 21:00,543647.76,253063.6,253063.6 +12-10-2019 22:00,282569.3,131533.71,131533.71 +12-10-2019 23:00,267225.52,124391.3,124391.3 +13-10-2019 00:00,261863.18,121895.18,121895.18 +13-10-2019 01:00,259803.44,120936.38,120936.38 +13-10-2019 02:00,254384.6,118413.95,118413.95 +13-10-2019 03:00,246357.3,114677.31,114677.31 +13-10-2019 04:00,235724.06,109727.62,109727.62 +13-10-2019 05:00,232362.98,108163.07,108163.07 +13-10-2019 06:00,924847.68,430509.08,430509.08 +13-10-2019 07:00,2229625.28,1037872.32,1037872.32 +13-10-2019 08:00,3657731.2,1702644,1702644 +13-10-2019 09:00,2868340.16,1335188.96,1335188.96 +13-10-2019 10:00,642976.36,299300.26,299300.26 +13-10-2019 11:00,157331.41,73236.48,73236.48 +13-10-2019 12:00,249131.02,115968.45,115968.45 +13-10-2019 13:00,36866.84,17161.21,17161.21 +13-10-2019 14:00,27047.35,12590.32,12590.32 +13-10-2019 15:00,20040.86,9328.85,9328.85 +13-10-2019 16:00,24218.43,11273.48,11273.48 +13-10-2019 17:00,288141.72,134127.62,134127.62 +13-10-2019 18:00,763258,355290.36,355290.36 +13-10-2019 19:00,1020759.92,475155.4,475155.4 +13-10-2019 20:00,828012.56,385433.12,385433.12 +13-10-2019 21:00,337360.88,157038.74,157038.74 +13-10-2019 22:00,144667.01,67341.31,67341.31 +13-10-2019 23:00,138197.54,64329.83,64329.83 +14-10-2019 00:00,161291.31,75079.8,75079.8 +14-10-2019 01:00,197860.62,92102.51,92102.51 +14-10-2019 02:00,207239.44,96468.27,96468.27 +14-10-2019 03:00,221006.82,102876.88,102876.88 +14-10-2019 04:00,219035.94,101959.44,101959.44 +14-10-2019 05:00,228691.14,106453.87,106453.87 +14-10-2019 06:00,1030849.76,479852.16,479852.16 +14-10-2019 07:00,2144393.6,998197.76,998197.76 +14-10-2019 08:00,2040148.32,949672.4,949672.4 +14-10-2019 09:00,1439768.48,670200.44,670200.44 +14-10-2019 10:00,108266.29,50397.07,50397.07 +14-10-2019 11:00,212665,98993.83,98993.83 +14-10-2019 12:00,412307.32,191925.68,191925.68 +14-10-2019 13:00,150501.19,70057.09,70057.09 +14-10-2019 14:00,196707.16,91565.57,91565.57 +14-10-2019 15:00,217553.34,101269.31,101269.31 +14-10-2019 16:00,65048.77,30279.67,30279.67 +14-10-2019 17:00,2672357.92,1243960.96,1243960.96 +14-10-2019 18:00,1124149.2,523282.24,523282.24 +14-10-2019 19:00,1080976.8,503185.84,503185.84 +14-10-2019 20:00,1064908.08,495706.04,495706.04 +14-10-2019 21:00,519186.84,241677.22,241677.22 +14-10-2019 22:00,134113.83,62428.9,62428.9 +14-10-2019 23:00,122684.85,57108.8,57108.8 +15-10-2019 00:00,136874.74,63714.08,63714.08 +15-10-2019 01:00,145640.82,67794.61,67794.61 +15-10-2019 02:00,137819.35,64153.79,64153.79 +15-10-2019 03:00,142357.45,66266.24,66266.24 +15-10-2019 04:00,154438.19,71889.71,71889.71 +15-10-2019 05:00,171663.28,79907.86,79907.86 +15-10-2019 06:00,737928.72,343499.8,343499.8 +15-10-2019 07:00,1759216.64,818901.04,818901.04 +15-10-2019 08:00,1302886.72,606483.16,606483.16 +15-10-2019 09:00,1109629.6,516523.56,516523.56 +15-10-2019 10:00,71164.8,33126.63,33126.63 +15-10-2019 11:00,139228.41,64809.69,64809.69 +15-10-2019 12:00,300197.44,139739.47,139739.47 +15-10-2019 13:00,115704.22,53859.37,53859.37 +15-10-2019 14:00,162926.7,75841.05,75841.05 +15-10-2019 15:00,195738.64,91114.75,91114.75 +15-10-2019 16:00,87071.62,40531.13,40531.13 +15-10-2019 17:00,2408963.2,1121352.56,1121352.56 +15-10-2019 18:00,1157252.32,538691.52,538691.52 +15-10-2019 19:00,1235046.64,574904.16,574904.16 +15-10-2019 20:00,1277209.2,594530.44,594530.44 +15-10-2019 21:00,673313.76,313422.06,313422.06 +15-10-2019 22:00,198166.32,92244.81,92244.81 +15-10-2019 23:00,207591.94,96632.35,96632.35 +16-10-2019 00:00,201615.64,93850.44,93850.44 +16-10-2019 01:00,201379.32,93740.43,93740.43 +16-10-2019 02:00,201159.24,93637.99,93637.99 +16-10-2019 03:00,211726.22,98556.83,98556.83 +16-10-2019 04:00,228236.84,106242.39,106242.39 +16-10-2019 05:00,242734.52,112990.94,112990.94 +16-10-2019 06:00,1056747.04,491907.12,491907.12 +16-10-2019 07:00,2111017.12,982661.28,982661.28 +16-10-2019 08:00,1705713.6,793995.76,793995.76 +16-10-2019 09:00,1314212.64,611755.24,611755.24 +16-10-2019 10:00,83417.91,38830.36,38830.36 +16-10-2019 11:00,195797.56,91142.17,91142.17 +16-10-2019 12:00,404874.52,188465.78,188465.78 +16-10-2019 13:00,239528.42,111498.53,111498.53 +16-10-2019 14:00,236770.84,110214.9,110214.9 +16-10-2019 15:00,251220.98,116941.31,116941.31 +16-10-2019 16:00,137591.92,64047.91,64047.91 +16-10-2019 17:00,3091474.24,1439055.84,1439055.84 +16-10-2019 18:00,1248157.2,581007,581007 +16-10-2019 19:00,1290527.36,600730,600730 +16-10-2019 20:00,1302656,606375.8,606375.8 +16-10-2019 21:00,677585.44,315410.52,315410.52 +16-10-2019 22:00,206544.7,96144.87,96144.87 +16-10-2019 23:00,194025.14,90317.12,90317.12 +17-10-2019 00:00,186708.84,86911.45,86911.45 +17-10-2019 01:00,186042.88,86601.44,86601.44 +17-10-2019 02:00,183741.08,85529.98,85529.98 +17-10-2019 03:00,193866.22,90243.14,90243.14 +17-10-2019 04:00,209941.72,97726.15,97726.15 +17-10-2019 05:00,219891.12,102357.52,102357.52 +17-10-2019 06:00,976154.16,454391.84,454391.84 +17-10-2019 07:00,2032677.76,946194.96,946194.96 +17-10-2019 08:00,2376973.6,1106461.76,1106461.76 +17-10-2019 09:00,1488545.28,692905.68,692905.68 +17-10-2019 10:00,80272.23,37366.07,37366.07 +17-10-2019 11:00,113017.55,52608.74,52608.74 +17-10-2019 12:00,295801.6,137693.22,137693.22 +17-10-2019 13:00,87583.47,40769.4,40769.4 +17-10-2019 14:00,206017.22,95899.35,95899.35 +17-10-2019 15:00,220305.72,102550.52,102550.52 +17-10-2019 16:00,448240.16,208652.14,208652.14 +17-10-2019 17:00,3452714.56,1607210.4,1607210.4 +17-10-2019 18:00,1528496.64,711502.72,711502.72 +17-10-2019 19:00,1556893.6,724721.28,724721.28 +17-10-2019 20:00,1650087.52,768102.32,768102.32 +17-10-2019 21:00,845627.04,393632.52,393632.52 +17-10-2019 22:00,258806.42,120472.27,120472.27 +17-10-2019 23:00,240495.4,111948.65,111948.65 +18-10-2019 00:00,218805.06,101851.97,101851.97 +18-10-2019 01:00,216798.62,100917.98,100917.98 +18-10-2019 02:00,216443.54,100752.71,100752.71 +18-10-2019 03:00,212519.42,98926.06,98926.06 +18-10-2019 04:00,213776.56,99511.25,99511.25 +18-10-2019 05:00,221659.46,103180.67,103180.67 +18-10-2019 06:00,1068850.56,497541.2,497541.2 +18-10-2019 07:00,2102796.64,978834.64,978834.64 +18-10-2019 08:00,2529303.52,1177370.24,1177370.24 +18-10-2019 09:00,1565361.28,728662.96,728662.96 +18-10-2019 10:00,130556.95,60773.2,60773.2 +18-10-2019 11:00,270777.5,126044.71,126044.71 +18-10-2019 12:00,570023.92,265341.52,265341.52 +18-10-2019 13:00,203189.72,94583.16,94583.16 +18-10-2019 14:00,285299.98,132804.81,132804.81 +18-10-2019 15:00,342380.12,159375.17,159375.17 +18-10-2019 16:00,752813.44,350428.56,350428.56 +18-10-2019 17:00,4141209.92,1927699.68,1927699.68 +18-10-2019 18:00,1604398.08,746834.24,746834.24 +18-10-2019 19:00,1608043.52,748531.28,748531.28 +18-10-2019 20:00,1583836.8,737263.12,737263.12 +18-10-2019 21:00,880968.96,410083.88,410083.88 +18-10-2019 22:00,277680.36,129257.93,129257.93 +18-10-2019 23:00,261093.26,121536.77,121536.77 +19-10-2019 00:00,253441.46,117974.95,117974.95 +19-10-2019 01:00,251932.78,117272.65,117272.65 +19-10-2019 02:00,248546.58,115696.4,115696.4 +19-10-2019 03:00,246092.46,114554.04,114554.04 +19-10-2019 04:00,242657.34,112955.01,112955.01 +19-10-2019 05:00,242790.62,113017.05,113017.05 +19-10-2019 06:00,939856.16,437495.36,437495.36 +19-10-2019 07:00,2251640.8,1048120.48,1048120.48 +19-10-2019 08:00,4514371.2,2101403.04,2101403.04 +19-10-2019 09:00,3359208.96,1563684.48,1563684.48 +19-10-2019 10:00,894170.08,416228.84,416228.84 +19-10-2019 11:00,482346.24,224528.22,224528.22 +19-10-2019 12:00,879802.56,409540.92,409540.92 +19-10-2019 13:00,438575.36,204153.22,204153.22 +19-10-2019 14:00,221733.24,103215,103215 +19-10-2019 15:00,138781.94,64601.86,64601.86 +19-10-2019 16:00,1126280,524274.16,524274.16 +19-10-2019 17:00,1474880.96,686545.04,686545.04 +19-10-2019 18:00,1607265.44,748168.88,748168.88 +19-10-2019 19:00,1656905.12,771275.84,771275.84 +19-10-2019 20:00,1290375.84,600659.44,600659.44 +19-10-2019 21:00,545987.44,254152.7,254152.7 +19-10-2019 22:00,293238.64,136500.2,136500.2 +19-10-2019 23:00,275718.24,128344.59,128344.59 +20-10-2019 00:00,263992.58,122886.4,122886.4 +20-10-2019 01:00,263858.8,122824.11,122824.11 +20-10-2019 02:00,268792.7,125120.81,125120.81 +20-10-2019 03:00,281349.3,130965.79,130965.79 +20-10-2019 04:00,293406.12,136578.16,136578.16 +20-10-2019 05:00,367994.64,171298.52,171298.52 +20-10-2019 06:00,1246327.92,580155.44,580155.44 +20-10-2019 07:00,2687023.68,1250787.6,1250787.6 +20-10-2019 08:00,5091574.08,2370086.4,2370086.4 +20-10-2019 09:00,3810447.36,1773732.16,1773732.16 +20-10-2019 10:00,1265896,589264.16,589264.16 +20-10-2019 11:00,771199.28,358986.96,358986.96 +20-10-2019 12:00,1100151.04,512111.32,512111.32 +20-10-2019 13:00,573032.4,266741.92,266741.92 +20-10-2019 14:00,298183.28,138801.9,138801.9 +20-10-2019 15:00,208696.56,97146.55,97146.55 +20-10-2019 16:00,1310153.92,609865.92,609865.92 +20-10-2019 17:00,1622806.88,755403.36,755403.36 +20-10-2019 18:00,1728347.2,804531.52,804531.52 +20-10-2019 19:00,1732220,806334.24,806334.24 +20-10-2019 20:00,1318398.72,613703.84,613703.84 +20-10-2019 21:00,561338.68,261298.58,261298.58 +20-10-2019 22:00,293290.72,136524.43,136524.43 +20-10-2019 23:00,272911.34,127038.01,127038.01 +21-10-2019 00:00,262451.54,122169.05,122169.05 +21-10-2019 01:00,265299.68,123494.83,123494.83 +21-10-2019 02:00,270148.5,125751.92,125751.92 +21-10-2019 03:00,273685.64,127398.44,127398.44 +21-10-2019 04:00,277146.64,129009.51,129009.51 +21-10-2019 05:00,298415,138909.76,138909.76 +21-10-2019 06:00,1536018.24,715004,715004 +21-10-2019 07:00,2575496.8,1198872.72,1198872.72 +21-10-2019 08:00,3778633.28,1758923.04,1758923.04 +21-10-2019 09:00,2054861.76,956521.44,956521.44 +21-10-2019 10:00,289343.1,134686.86,134686.86 +21-10-2019 11:00,394786.96,183770.1,183770.1 +21-10-2019 12:00,701132.48,326371.46,326371.46 +21-10-2019 13:00,383281.88,178414.58,178414.58 +21-10-2019 14:00,417683.4,194428.2,194428.2 +21-10-2019 15:00,475815.56,221488.26,221488.26 +21-10-2019 16:00,968750.72,450945.6,450945.6 +21-10-2019 17:00,4650054.08,2164562.24,2164562.24 +21-10-2019 18:00,1772371.04,825024.24,825024.24 +21-10-2019 19:00,1716283.52,798915.92,798915.92 +21-10-2019 20:00,1762672.16,820509.44,820509.44 +21-10-2019 21:00,927255.04,431629.6,431629.6 +21-10-2019 22:00,284802.56,132573.26,132573.26 +21-10-2019 23:00,267622.72,124576.18,124576.18 +22-10-2019 00:00,257048.46,119653.96,119653.96 +22-10-2019 01:00,256721.06,119501.56,119501.56 +22-10-2019 02:00,256406.04,119354.92,119354.92 +22-10-2019 03:00,259962.58,121010.46,121010.46 +22-10-2019 04:00,259432.18,120763.56,120763.56 +22-10-2019 05:00,258614.28,120382.84,120382.84 +22-10-2019 06:00,1336955.68,622341.96,622341.96 +22-10-2019 07:00,2394936.96,1114823.84,1114823.84 +22-10-2019 08:00,3323145.28,1546896.96,1546896.96 +22-10-2019 09:00,1803536.32,839531.44,839531.44 +22-10-2019 10:00,218594.32,101753.86,101753.86 +22-10-2019 11:00,299664.22,139491.24,139491.24 +22-10-2019 12:00,633948.96,295098.06,295098.06 +22-10-2019 13:00,344442.52,160335.19,160335.19 +22-10-2019 14:00,310296.94,144440.67,144440.67 +22-10-2019 15:00,439877.52,204759.4,204759.4 +22-10-2019 16:00,934864.16,435171.64,435171.64 +22-10-2019 17:00,4629610.24,2155045.92,2155045.92 +22-10-2019 18:00,1922038.24,894693.04,894693.04 +22-10-2019 19:00,1943873.6,904857.28,904857.28 +22-10-2019 20:00,2050776.16,954619.6,954619.6 +22-10-2019 21:00,1134400.48,528054.2,528054.2 +22-10-2019 22:00,376441.24,175230.34,175230.34 +22-10-2019 23:00,363937.88,169410.12,169410.12 +23-10-2019 00:00,359073.6,167145.81,167145.81 +23-10-2019 01:00,367272.2,170962.24,170962.24 +23-10-2019 02:00,364768.24,169796.64,169796.64 +23-10-2019 03:00,347038.84,161543.76,161543.76 +23-10-2019 04:00,434558.76,202283.54,202283.54 +23-10-2019 05:00,511280.72,237997,237997 +23-10-2019 06:00,1915230.4,891524.16,891524.16 +23-10-2019 07:00,2883336.64,1342169.68,1342169.68 +23-10-2019 08:00,4361405.12,2030198.72,2030198.72 +23-10-2019 09:00,2239658.4,1042542.72,1042542.72 +23-10-2019 10:00,334060.6,155502.5,155502.5 +23-10-2019 11:00,497827.8,231734.78,231734.78 +23-10-2019 12:00,781052.24,363573.44,363573.44 +23-10-2019 13:00,364940.44,169876.78,169876.78 +23-10-2019 14:00,256962.86,119614.11,119614.11 +23-10-2019 15:00,357466.84,166397.9,166397.9 +23-10-2019 16:00,673178.48,313359.06,313359.06 +23-10-2019 17:00,4753782.08,2212846.88,2212846.88 +23-10-2019 18:00,1806110.88,840729.84,840729.84 +23-10-2019 19:00,1794703.04,835419.68,835419.68 +23-10-2019 20:00,1775728.96,826587.28,826587.28 +23-10-2019 21:00,937106.48,436215.44,436215.44 +23-10-2019 22:00,281535.3,131052.37,131052.37 +23-10-2019 23:00,257386.62,119811.38,119811.38 +24-10-2019 00:00,254742.94,118580.76,118580.76 +24-10-2019 01:00,253856.56,118168.15,118168.15 +24-10-2019 02:00,255207.62,118797.05,118797.05 +24-10-2019 03:00,256843.1,119558.36,119558.36 +24-10-2019 04:00,254483.24,118459.87,118459.87 +24-10-2019 05:00,270129,125742.84,125742.84 +24-10-2019 06:00,1378739.04,641791.8,641791.8 +24-10-2019 07:00,2431564.48,1131873.44,1131873.44 +24-10-2019 08:00,3376452.8,1571711.2,1571711.2 +24-10-2019 09:00,1822948.48,848567.68,848567.68 +24-10-2019 10:00,229330.4,106751.43,106751.43 +24-10-2019 11:00,373291.12,173763.96,173763.96 +24-10-2019 12:00,525826.92,244768.12,244768.12 +24-10-2019 13:00,175532.02,81708.72,81708.72 +24-10-2019 14:00,243953.64,113558.43,113558.43 +24-10-2019 15:00,308445.98,143579.09,143579.09 +24-10-2019 16:00,504865.96,235011,235011 +24-10-2019 17:00,4083130.24,1900664,1900664 +24-10-2019 18:00,1359235.2,632712.88,632712.88 +24-10-2019 19:00,1319105.2,614032.72,614032.72 +24-10-2019 20:00,1560322.24,726317.36,726317.36 +24-10-2019 21:00,828905.92,385848.96,385848.96 +24-10-2019 22:00,247876.48,115384.48,115384.48 +24-10-2019 23:00,240718.84,112052.65,112052.65 +25-10-2019 00:00,234945.66,109365.29,109365.29 +25-10-2019 01:00,232510.48,108231.74,108231.74 +25-10-2019 02:00,235073.28,109424.7,109424.7 +25-10-2019 03:00,244434.24,113782.15,113782.15 +25-10-2019 04:00,250053.8,116397.99,116397.99 +25-10-2019 05:00,253629.36,118062.39,118062.39 +25-10-2019 06:00,1288422,599749.88,599749.88 +25-10-2019 07:00,2293011.52,1067377.92,1067377.92 +25-10-2019 08:00,3153072.64,1467729.76,1467729.76 +25-10-2019 09:00,1817590.88,846073.76,846073.76 +25-10-2019 10:00,227276.62,105795.41,105795.41 +25-10-2019 11:00,401602.76,186942.82,186942.82 +25-10-2019 12:00,621666.32,289380.64,289380.64 +25-10-2019 13:00,322439.34,150092.88,150092.88 +25-10-2019 14:00,355114.48,165302.9,165302.9 +25-10-2019 15:00,409772.92,190745.96,190745.96 +25-10-2019 16:00,804765.44,374611.72,374611.72 +25-10-2019 17:00,4515118.08,2101750.56,2101750.56 +25-10-2019 18:00,1536643.04,715294.8,715294.8 +25-10-2019 19:00,1475842.72,686992.72,686992.72 +25-10-2019 20:00,1441418.56,670968.56,670968.56 +25-10-2019 21:00,742816.88,345775.2,345775.2 +25-10-2019 22:00,220292.9,102544.54,102544.54 +25-10-2019 23:00,202473.16,94249.6,94249.6 +26-10-2019 00:00,192934.96,89809.65,89809.65 +26-10-2019 01:00,193355.54,90005.42,90005.42 +26-10-2019 02:00,183836,85574.15,85574.15 +26-10-2019 03:00,178365,83027.46,83027.46 +26-10-2019 04:00,180316.08,83935.67,83935.67 +26-10-2019 05:00,189876.72,88386.07,88386.07 +26-10-2019 06:00,795043.04,370086.04,370086.04 +26-10-2019 07:00,1983391.2,923252.48,923252.48 +26-10-2019 08:00,3942625.6,1835260,1835260 +26-10-2019 09:00,2671095.2,1243372.96,1243372.96 +26-10-2019 10:00,594182.12,276586.92,276586.92 +26-10-2019 11:00,103470.95,48164.89,48164.89 +26-10-2019 12:00,392892.12,182888.08,182888.08 +26-10-2019 13:00,31792.03,14798.93,14798.93 +26-10-2019 14:00,40322.64,18769.86,18769.86 +26-10-2019 15:00,56787.64,26434.18,26434.18 +26-10-2019 16:00,534501.08,248805.9,248805.9 +26-10-2019 17:00,880753.2,409983.44,409983.44 +26-10-2019 18:00,1005044.72,467840.12,467840.12 +26-10-2019 19:00,1060464.96,493637.8,493637.8 +26-10-2019 20:00,764882.24,356046.48,356046.48 +26-10-2019 21:00,303094.84,141088.18,141088.18 +26-10-2019 22:00,145661.64,67804.3,67804.3 +26-10-2019 23:00,190603.34,88724.3,88724.3 +27-10-2019 00:00,226649.68,105503.58,105503.58 +27-10-2019 01:00,243885.88,113526.89,113526.89 +27-10-2019 02:00,251448.8,117047.36,117047.36 +27-10-2019 03:00,252533.76,117552.4,117552.4 +27-10-2019 04:00,259480.16,120785.9,120785.9 +27-10-2019 05:00,274863.28,127946.62,127946.62 +27-10-2019 06:00,317476.92,147782.91,147782.91 +27-10-2019 07:00,1072174.56,499088.56,499088.56 +27-10-2019 08:00,2464064.64,1147002.08,1147002.08 +27-10-2019 09:00,4009942.72,1866595.52,1866595.52 +27-10-2019 10:00,3444597.12,1603432,1603432 +27-10-2019 11:00,1294357.92,602513,602513 +27-10-2019 12:00,1160107.44,540020.52,540020.52 +27-10-2019 13:00,640907.04,298336.98,298336.98 +27-10-2019 14:00,337909.12,157293.95,157293.95 +27-10-2019 15:00,338255.72,157455.26,157455.26 +27-10-2019 16:00,1445636.16,672931.84,672931.84 +27-10-2019 17:00,1801207.84,838447.52,838447.52 +27-10-2019 18:00,1900776.8,884796,884796 +27-10-2019 19:00,1932544.32,899583.6,899583.6 +27-10-2019 20:00,1962259.84,913415.92,913415.92 +27-10-2019 21:00,1566471.36,729179.68,729179.68 +27-10-2019 22:00,653520.52,304208.52,304208.52 +27-10-2019 23:00,378763.96,176311.54,176311.54 +28-10-2019 00:00,381425.88,177550.62,177550.62 +28-10-2019 01:00,409789.4,190753.62,190753.62 +28-10-2019 02:00,422682.12,196755.06,196755.06 +28-10-2019 03:00,513101.56,238844.6,238844.6 +28-10-2019 04:00,677699.12,315463.4,315463.4 +28-10-2019 05:00,757327.28,352529.68,352529.68 +28-10-2019 06:00,870487.68,405204.92,405204.92 +28-10-2019 07:00,2434003.68,1133008.88,1133008.88 +28-10-2019 08:00,3005548.48,1399058.4,1399058.4 +28-10-2019 09:00,3618055.04,1684175.2,1684175.2 +28-10-2019 10:00,2240211.36,1042800.16,1042800.16 +28-10-2019 11:00,241061.28,112212.06,112212.06 +28-10-2019 12:00,669106.64,311463.72,311463.72 +28-10-2019 13:00,476934.44,222009.1,222009.1 +28-10-2019 14:00,493796.64,229858.3,229858.3 +28-10-2019 15:00,327201.94,152309.81,152309.81 +28-10-2019 16:00,1543950.72,718696.48,718696.48 +28-10-2019 17:00,1802822.08,839198.96,839198.96 +28-10-2019 18:00,5789015.04,2694738.88,2694738.88 +28-10-2019 19:00,2706096.96,1259665.92,1259665.92 +28-10-2019 20:00,2458284.64,1144311.44,1144311.44 +28-10-2019 21:00,2504526.4,1165836.56,1165836.56 +28-10-2019 22:00,1343425.6,625353.64,625353.64 +28-10-2019 23:00,425382.56,198012.1,198012.1 +29-10-2019 00:00,428218.48,199332.22,199332.22 +29-10-2019 01:00,419931.6,195474.74,195474.74 +29-10-2019 02:00,419365.92,195211.4,195211.4 +29-10-2019 03:00,424256,197487.72,197487.72 +29-10-2019 04:00,638041.24,297003.02,297003.02 +29-10-2019 05:00,788448.96,367016.56,367016.56 +29-10-2019 06:00,1064985.84,495742.2,495742.2 +29-10-2019 07:00,2799049.6,1302934.72,1302934.72 +29-10-2019 08:00,3254536.32,1514960,1514960 +29-10-2019 09:00,3708863.04,1726445.44,1726445.44 +29-10-2019 10:00,2137658.24,995062.4,995062.4 +29-10-2019 11:00,295987.86,137779.92,137779.92 +29-10-2019 12:00,816177.52,379924,379924 +29-10-2019 13:00,359976.2,167565.99,167565.99 +29-10-2019 14:00,564322.64,262687.6,262687.6 +29-10-2019 15:00,355551.92,165506.53,165506.53 +29-10-2019 16:00,1556378.88,724481.68,724481.68 +29-10-2019 17:00,1900544.48,884687.92,884687.92 +29-10-2019 18:00,6005154.56,2795350.4,2795350.4 +29-10-2019 19:00,2961387.84,1378501.92,1378501.92 +29-10-2019 20:00,2584500.48,1203064,1203064 +29-10-2019 21:00,2650250.72,1233670.08,1233670.08 +29-10-2019 22:00,1449396.32,674682.16,674682.16 +29-10-2019 23:00,470984.88,219239.64,219239.64 +30-10-2019 00:00,469844.84,218708.96,218708.96 +30-10-2019 01:00,487999.36,227159.72,227159.72 +30-10-2019 02:00,479696,223294.6,223294.6 +30-10-2019 03:00,630313.6,293405.86,293405.86 +30-10-2019 04:00,849607.76,395485.48,395485.48 +30-10-2019 05:00,1040531.52,484358.96,484358.96 +30-10-2019 06:00,1183803.44,551050.84,551050.84 +30-10-2019 07:00,3236697.6,1506656.32,1506656.32 +30-10-2019 08:00,3571267.2,1662395.84,1662395.84 +30-10-2019 09:00,3959567.36,1843146.4,1843146.4 +30-10-2019 10:00,2635217.28,1226672.24,1226672.24 +30-10-2019 11:00,499588.48,232554.36,232554.36 +30-10-2019 12:00,1108399.44,515950.92,515950.92 +30-10-2019 13:00,455492.36,212028,212028 +30-10-2019 14:00,209686.7,97607.44,97607.44 +30-10-2019 15:00,417620.24,194398.8,194398.8 +30-10-2019 16:00,1824173.28,849137.84,849137.84 +30-10-2019 17:00,2226662.08,1036493.2,1036493.2 +30-10-2019 18:00,6285379.2,2925792.64,2925792.64 +30-10-2019 19:00,3523300.16,1640067.68,1640067.68 +30-10-2019 20:00,2895132.48,1347660.48,1347660.48 +30-10-2019 21:00,2915546.24,1357163.04,1357163.04 +30-10-2019 22:00,1584898.08,737757.12,737757.12 +30-10-2019 23:00,513277.84,238926.64,238926.64 +31-10-2019 00:00,505863.28,235475.26,235475.26 +31-10-2019 01:00,518650.68,241427.66,241427.66 +31-10-2019 02:00,534112.12,248624.84,248624.84 +31-10-2019 03:00,855685.28,398314.48,398314.48 +31-10-2019 04:00,1068023.52,497156.28,497156.28 +31-10-2019 05:00,1190729.84,554275.04,554275.04 +31-10-2019 06:00,1370423.36,637920.88,637920.88 +31-10-2019 07:00,3604927.36,1678064.16,1678064.16 +31-10-2019 08:00,3765699.52,1752902.4,1752902.4 +31-10-2019 09:00,4159147.84,1936049.44,1936049.44 +31-10-2019 10:00,3227377.6,1502317.92,1502317.92 +31-10-2019 11:00,1208494.4,562544.32,562544.32 +31-10-2019 12:00,1362903.52,634420.4,634420.4 +31-10-2019 13:00,597550.04,278154.66,278154.66 +31-10-2019 14:00,588065.8,273739.84,273739.84 +31-10-2019 15:00,926263.44,431168.12,431168.12 +31-10-2019 16:00,2494158.4,1161010.4,1161010.4 +31-10-2019 17:00,2578753.92,1200388.88,1200388.88 +31-10-2019 18:00,6705091.2,3121165.44,3121165.44 +31-10-2019 19:00,4197012.16,1953674.88,1953674.88 +31-10-2019 20:00,3225760.64,1501565.12,1501565.12 +31-10-2019 21:00,3192549.44,1486105.76,1486105.76 +31-10-2019 22:00,1783844.8,830365.2,830365.2 +31-10-2019 23:00,577967.48,269039.12,269039.12 +1-11-2019 00:00,570826,265714.82,265714.82 +1-11-2019 01:00,553428.04,257616.24,257616.24 +1-11-2019 02:00,682131.2,317526.52,317526.52 +1-11-2019 03:00,981804.72,457022.08,457022.08 +1-11-2019 04:00,1126271.36,524270.08,524270.08 +1-11-2019 05:00,1211891.36,564125.56,564125.56 +1-11-2019 06:00,1277251.6,594550.16,594550.16 +1-11-2019 07:00,3537618.88,1646732.8,1646732.8 +1-11-2019 08:00,3735162.24,1738687.52,1738687.52 +1-11-2019 09:00,4868044.8,2266034.88,2266034.88 +1-11-2019 10:00,3976709.76,1851126.08,1851126.08 +1-11-2019 11:00,1597755.52,743742.16,743742.16 +1-11-2019 12:00,1933033.28,899811.12,899811.12 +1-11-2019 13:00,1454808,677201.2,677201.2 +1-11-2019 14:00,1151997.92,536245.68,536245.68 +1-11-2019 15:00,1347888.48,627431.08,627431.08 +1-11-2019 16:00,2546481.76,1185366.48,1185366.48 +1-11-2019 17:00,2162705.6,1006721.84,1006721.84 +1-11-2019 18:00,6325216,2944336.64,2944336.64 +1-11-2019 19:00,3830679.04,1783149.76,1783149.76 +1-11-2019 20:00,2471269.76,1150355.92,1150355.92 +1-11-2019 21:00,2360337.6,1098717.76,1098717.76 +1-11-2019 22:00,1214203.12,565201.72,565201.72 +1-11-2019 23:00,343945.08,160103.64,160103.64 +2-11-2019 00:00,329561.86,153408.34,153408.34 +2-11-2019 01:00,320280.3,149087.86,149087.86 +2-11-2019 02:00,310945.74,144742.71,144742.71 +2-11-2019 03:00,306242.56,142553.41,142553.41 +2-11-2019 04:00,303538.98,141294.91,141294.91 +2-11-2019 05:00,308578.3,143640.69,143640.69 +2-11-2019 06:00,470683.76,219099.46,219099.46 +2-11-2019 07:00,1351572.32,629146,629146 +2-11-2019 08:00,2908139.52,1353715.2,1353715.2 +2-11-2019 09:00,5140873.92,2393035.2,2393035.2 +2-11-2019 10:00,4626642.24,2153664.32,2153664.32 +2-11-2019 11:00,1846815.68,859677.6,859677.6 +2-11-2019 12:00,1866328.32,868760.56,868760.56 +2-11-2019 13:00,1143400.24,532243.6,532243.6 +2-11-2019 14:00,648502.76,301872.74,301872.74 +2-11-2019 15:00,850621.36,395957.32,395957.32 +2-11-2019 16:00,1933043.68,899816.08,899816.08 +2-11-2019 17:00,2100953.44,977976.72,977976.72 +2-11-2019 18:00,2125715.04,989503.04,989503.04 +2-11-2019 19:00,2141519.36,996859.84,996859.84 +2-11-2019 20:00,2166035.36,1008271.76,1008271.76 +2-11-2019 21:00,1654182.88,770008.64,770008.64 +2-11-2019 22:00,685481.04,319085.84,319085.84 +2-11-2019 23:00,343632.92,159958.3,159958.3 +3-11-2019 00:00,341092.12,158775.6,158775.6 +3-11-2019 01:00,339813.4,158180.39,158180.39 +3-11-2019 02:00,354652.16,165087.71,165087.71 +3-11-2019 03:00,375192.92,174649.24,174649.24 +3-11-2019 04:00,433631.16,201851.78,201851.78 +3-11-2019 05:00,563179.68,262155.54,262155.54 +3-11-2019 06:00,686187.04,319414.52,319414.52 +3-11-2019 07:00,1580208.48,735574.16,735574.16 +3-11-2019 08:00,3115344.96,1450167.68,1450167.68 +3-11-2019 09:00,5436266.88,2530537.92,2530537.92 +3-11-2019 10:00,4559691.84,2122499.2,2122499.2 +3-11-2019 11:00,2150271.52,1000933.76,1000933.76 +3-11-2019 12:00,1873852.32,872263.04,872263.04 +3-11-2019 13:00,1151648.32,536082.88,536082.88 +3-11-2019 14:00,936544.08,435953.6,435953.6 +3-11-2019 15:00,973339.44,453081.56,453081.56 +3-11-2019 16:00,2052989.76,955650,955650 +3-11-2019 17:00,2179774.72,1014667.28,1014667.28 +3-11-2019 18:00,2235659.84,1040681.36,1040681.36 +3-11-2019 19:00,2263105.92,1053457.28,1053457.28 +3-11-2019 20:00,2296660.96,1069076.8,1069076.8 +3-11-2019 21:00,1781313.44,829186.88,829186.88 +3-11-2019 22:00,769609.84,358247.04,358247.04 +3-11-2019 23:00,410922.2,191280.92,191280.92 +4-11-2019 00:00,415151.6,193249.66,193249.66 +4-11-2019 01:00,413271.48,192374.52,192374.52 +4-11-2019 02:00,399239.68,185842.82,185842.82 +4-11-2019 03:00,389398.44,181261.8,181261.8 +4-11-2019 04:00,465129.8,216514.12,216514.12 +4-11-2019 05:00,549061.64,255583.68,255583.68 +4-11-2019 06:00,665188.4,309639.78,309639.78 +4-11-2019 07:00,2236214.56,1040939.6,1040939.6 +4-11-2019 08:00,2979549.44,1386956,1386956 +4-11-2019 09:00,4027319.68,1874684.32,1874684.32 +4-11-2019 10:00,2739542.72,1275234.72,1275234.72 +4-11-2019 11:00,903800.16,420711.6,420711.6 +4-11-2019 12:00,1374761.28,639940.08,639940.08 +4-11-2019 13:00,972411.2,452649.44,452649.44 +4-11-2019 14:00,693981.28,323042.6,323042.6 +4-11-2019 15:00,895902.32,417035.24,417035.24 +4-11-2019 16:00,2061479.2,959601.68,959601.68 +4-11-2019 17:00,1864984.32,868134.96,868134.96 +4-11-2019 18:00,6015906.56,2800355.52,2800355.52 +4-11-2019 19:00,2816713.6,1311157.2,1311157.2 +4-11-2019 20:00,2288565.92,1065308.72,1065308.72 +4-11-2019 21:00,2266759.52,1055158.08,1055158.08 +4-11-2019 22:00,1193004.48,555333.92,555333.92 +4-11-2019 23:00,355944.68,165689.33,165689.33 +5-11-2019 00:00,348474.56,162212.07,162212.07 +5-11-2019 01:00,351583.8,163659.38,163659.38 +5-11-2019 02:00,356054.28,165740.36,165740.36 +5-11-2019 03:00,372209.28,173260.38,173260.38 +5-11-2019 04:00,375499.36,174791.88,174791.88 +5-11-2019 05:00,506002.68,235540.12,235540.12 +5-11-2019 06:00,661400.76,307876.68,307876.68 +5-11-2019 07:00,2257741.76,1050960.32,1050960.32 +5-11-2019 08:00,3014564.8,1403255.36,1403255.36 +5-11-2019 09:00,4078390.72,1898457.44,1898457.44 +5-11-2019 10:00,2829632.96,1317171.04,1317171.04 +5-11-2019 11:00,1017147.84,473474,473474 +5-11-2019 12:00,1446432.8,673302.64,673302.64 +5-11-2019 13:00,1026902.48,478014.72,478014.72 +5-11-2019 14:00,792865.36,369072.36,369072.36 +5-11-2019 15:00,1051488.56,489459.36,489459.36 +5-11-2019 16:00,2167562.56,1008982.72,1008982.72 +5-11-2019 17:00,1912780.48,890383.76,890383.76 +5-11-2019 18:00,6145137.28,2860511.36,2860511.36 +5-11-2019 19:00,3053091.2,1421189.12,1421189.12 +5-11-2019 20:00,2367181.44,1101903.6,1101903.6 +5-11-2019 21:00,2308960.16,1074802,1074802 +5-11-2019 22:00,1219945.68,567874.76,567874.76 +5-11-2019 23:00,363069.6,169005.94,169005.94 +6-11-2019 00:00,356066.92,165746.25,165746.25 +6-11-2019 01:00,357125.56,166239.03,166239.03 +6-11-2019 02:00,359910.04,167535.2,167535.2 +6-11-2019 03:00,365918.28,170331.96,170331.96 +6-11-2019 04:00,370926.32,172663.2,172663.2 +6-11-2019 05:00,512675.16,238646.12,238646.12 +6-11-2019 06:00,675881.68,314617.44,314617.44 +6-11-2019 07:00,2287769.6,1064938.24,1064938.24 +6-11-2019 08:00,3088590.4,1437713.6,1437713.6 +6-11-2019 09:00,4189935.04,1950380.64,1950380.64 +6-11-2019 10:00,2913960.64,1356424.8,1356424.8 +6-11-2019 11:00,884249.84,411611.04,411611.04 +6-11-2019 12:00,1261492.64,587214.52,587214.52 +6-11-2019 13:00,1026376.8,477770.04,477770.04 +6-11-2019 14:00,796410.64,370722.68,370722.68 +6-11-2019 15:00,1099838.24,511965.76,511965.76 +6-11-2019 16:00,2336032,1087403.68,1087403.68 +6-11-2019 17:00,2139560.8,995948.08,995948.08 +6-11-2019 18:00,6277232.64,2922000.64,2922000.64 +6-11-2019 19:00,3295572.48,1534062.08,1534062.08 +6-11-2019 20:00,2556308.32,1189940.8,1189940.8 +6-11-2019 21:00,2527194.88,1176388.56,1176388.56 +6-11-2019 22:00,1329965.2,619087.96,619087.96 +6-11-2019 23:00,402496.56,187358.88,187358.88 +7-11-2019 00:00,397935.88,185235.9,185235.9 +7-11-2019 01:00,390894.32,181958.12,181958.12 +7-11-2019 02:00,399117.08,185785.72,185785.72 +7-11-2019 03:00,403393,187776.16,187776.16 +7-11-2019 04:00,476579.32,221843.78,221843.78 +7-11-2019 05:00,625577.16,291201.08,291201.08 +7-11-2019 06:00,764955.84,356080.64,356080.64 +7-11-2019 07:00,2441867.2,1136669.28,1136669.28 +7-11-2019 08:00,3176589.12,1478676.32,1478676.32 +7-11-2019 09:00,4334916.48,2017868.32,2017868.32 +7-11-2019 10:00,3061268.8,1424995.68,1424995.68 +7-11-2019 11:00,1125820.64,524060.36,524060.36 +7-11-2019 12:00,1561744,726979.12,726979.12 +7-11-2019 13:00,1198884.24,558070.88,558070.88 +7-11-2019 14:00,971358.56,452159.48,452159.48 +7-11-2019 15:00,1216606.56,566320.44,566320.44 +7-11-2019 16:00,2344752.16,1091463.04,1091463.04 +7-11-2019 17:00,2064753.44,961125.92,961125.92 +7-11-2019 18:00,6262662.4,2915217.92,2915217.92 +7-11-2019 19:00,3472161.28,1616262.72,1616262.72 +7-11-2019 20:00,2617096.64,1218237.04,1218237.04 +7-11-2019 21:00,2621307.68,1220197.36,1220197.36 +7-11-2019 22:00,1408349.44,655575.12,655575.12 +7-11-2019 23:00,437090.84,203462.24,203462.24 +8-11-2019 00:00,434084.72,202062.88,202062.88 +8-11-2019 01:00,446143.28,207676.04,207676.04 +8-11-2019 02:00,453789.44,211235.3,211235.3 +8-11-2019 03:00,496825,231267.98,231267.98 +8-11-2019 04:00,792871.36,369075.16,369075.16 +8-11-2019 05:00,950355.44,442382.72,442382.72 +8-11-2019 06:00,1159250.88,539621.76,539621.76 +8-11-2019 07:00,3166258.88,1473867.84,1473867.84 +8-11-2019 08:00,3623978.88,1686932.48,1686932.48 +8-11-2019 09:00,4128382.4,1921728.32,1921728.32 +8-11-2019 10:00,2781754.88,1294884.16,1294884.16 +8-11-2019 11:00,684831.28,318783.38,318783.38 +8-11-2019 12:00,1356852.16,631603.64,631603.64 +8-11-2019 13:00,713992.48,332357.66,332357.66 +8-11-2019 14:00,398786.56,185631.9,185631.9 +8-11-2019 15:00,900670.32,419254.68,419254.68 +8-11-2019 16:00,2434963.68,1133455.68,1133455.68 +8-11-2019 17:00,2439673.12,1135647.84,1135647.84 +8-11-2019 18:00,6563648,3055324.8,3055324.8 +8-11-2019 19:00,4042593.6,1881794.24,1881794.24 +8-11-2019 20:00,3127534.4,1455841.6,1455841.6 +8-11-2019 21:00,2987741.44,1390769.12,1390769.12 +8-11-2019 22:00,1561069.28,726664.88,726664.88 +8-11-2019 23:00,497742.2,231694.94,231694.94 +9-11-2019 00:00,489841.44,228017.2,228017.2 +9-11-2019 01:00,483387.2,225012.8,225012.8 +9-11-2019 02:00,475200.12,221201.8,221201.8 +9-11-2019 03:00,631715.84,294058.56,294058.56 +9-11-2019 04:00,812461.28,378194.08,378194.08 +9-11-2019 05:00,938753.76,436982.16,436982.16 +9-11-2019 06:00,1028634,478820.72,478820.72 +9-11-2019 07:00,1893453.76,881387.2,881387.2 +9-11-2019 08:00,3497301.44,1627965.44,1627965.44 +9-11-2019 09:00,6195247.36,2883837.12,2883837.12 +9-11-2019 10:00,5891286.4,2742345.6,2742345.6 +9-11-2019 11:00,2796949.76,1301957.12,1301957.12 +9-11-2019 12:00,2424442.08,1128558.08,1128558.08 +9-11-2019 13:00,1511319.04,703506.72,703506.72 +9-11-2019 14:00,1412445.12,657481.64,657481.64 +9-11-2019 15:00,1377075.84,641017.56,641017.56 +9-11-2019 16:00,2524707.2,1175230.72,1175230.72 +9-11-2019 17:00,2701967.68,1257743.92,1257743.92 +9-11-2019 18:00,2805680.32,1306021.52,1306021.52 +9-11-2019 19:00,2812796.48,1309333.84,1309333.84 +9-11-2019 20:00,2856076.8,1329480.48,1329480.48 +9-11-2019 21:00,2252138.72,1048352.16,1048352.16 +9-11-2019 22:00,1032986.96,480847,480847 +9-11-2019 23:00,626030.56,291412.14,291412.14 +10-11-2019 00:00,673517.04,313516.7,313516.7 +10-11-2019 01:00,685191.04,318950.84,318950.84 +10-11-2019 02:00,887383.36,413069.68,413069.68 +10-11-2019 03:00,1098214.48,511209.88,511209.88 +10-11-2019 04:00,1279800.08,595736.44,595736.44 +10-11-2019 05:00,1338032.8,622843.32,622843.32 +10-11-2019 06:00,1510358.88,703059.76,703059.76 +10-11-2019 07:00,2399593.92,1116991.44,1116991.44 +10-11-2019 08:00,3934336.96,1831401.76,1831401.76 +10-11-2019 09:00,6433026.56,2994521.6,2994521.6 +10-11-2019 10:00,6000921.6,2793380.16,2793380.16 +10-11-2019 11:00,2440372,1135973.28,1135973.28 +10-11-2019 12:00,2416697.76,1124953.04,1124953.04 +10-11-2019 13:00,1118089.6,520461.6,520461.6 +10-11-2019 14:00,682216.08,317566,317566 +10-11-2019 15:00,811634.56,377809.28,377809.28 +10-11-2019 16:00,2804064.32,1305269.04,1305269.04 +10-11-2019 17:00,3287696,1530395.84,1530395.84 +10-11-2019 18:00,3446552.64,1604342.24,1604342.24 +10-11-2019 19:00,3560804.48,1657525.12,1657525.12 +10-11-2019 20:00,3595447.68,1673651.68,1673651.68 +10-11-2019 21:00,2845344.64,1324484.64,1324484.64 +10-11-2019 22:00,1296530.64,603524.48,603524.48 +10-11-2019 23:00,754898.96,351399.28,351399.28 +11-11-2019 00:00,782355.84,364180.28,364180.28 +11-11-2019 01:00,892119.52,415274.28,415274.28 +11-11-2019 02:00,1077063.44,501364.16,501364.16 +11-11-2019 03:00,1223282.72,569428.12,569428.12 +11-11-2019 04:00,1313453.84,611402.08,611402.08 +11-11-2019 05:00,1348819.04,627864.24,627864.24 +11-11-2019 06:00,1479248.16,688577.92,688577.92 +11-11-2019 07:00,3893111.68,1812211.84,1812211.84 +11-11-2019 08:00,3943149.76,1835503.84,1835503.84 +11-11-2019 09:00,5116329.6,2381610.08,2381610.08 +11-11-2019 10:00,4238477.12,1972976.64,1972976.64 +11-11-2019 11:00,1779214.4,828209.76,828209.76 +11-11-2019 12:00,2061570.56,959644.24,959644.24 +11-11-2019 13:00,1672263.36,778425.04,778425.04 +11-11-2019 14:00,1516976.48,706140.16,706140.16 +11-11-2019 15:00,1855838.4,863877.68,863877.68 +11-11-2019 16:00,2964387.2,1379898.08,1379898.08 +11-11-2019 17:00,2573553.44,1197968,1197968 +11-11-2019 18:00,6778378.24,3155279.68,3155279.68 +11-11-2019 19:00,4553967.36,2119834.72,2119834.72 +11-11-2019 20:00,3110395.84,1447863.84,1447863.84 +11-11-2019 21:00,3086209.92,1436605.6,1436605.6 +11-11-2019 22:00,1659968.48,772701.76,772701.76 +11-11-2019 23:00,557500.68,259512,259512 +12-11-2019 00:00,554350.6,258045.66,258045.66 +12-11-2019 01:00,549114.88,255608.48,255608.48 +12-11-2019 02:00,571969.72,266247.22,266247.22 +12-11-2019 03:00,853406.32,397253.68,397253.68 +12-11-2019 04:00,1049771.76,488660.2,488660.2 +12-11-2019 05:00,1166109.52,542814.44,542814.44 +12-11-2019 06:00,1339027.2,623306.2,623306.2 +12-11-2019 07:00,3524662.08,1640701.44,1640701.44 +12-11-2019 08:00,3907941.76,1819115.04,1819115.04 +12-11-2019 09:00,5757992.96,2680298.88,2680298.88 +12-11-2019 10:00,4415271.04,2055272.64,2055272.64 +12-11-2019 11:00,1926773.76,896897.44,896897.44 +12-11-2019 12:00,2346283.68,1092175.92,1092175.92 +12-11-2019 13:00,1652174.88,769073.92,769073.92 +12-11-2019 14:00,1408639.84,655710.32,655710.32 +12-11-2019 15:00,2503697.76,1165450.8,1165450.8 +12-11-2019 16:00,3032203.52,1411466.08,1411466.08 +12-11-2019 17:00,2691347.2,1252800.16,1252800.16 +12-11-2019 18:00,6864947.2,3195576.96,3195576.96 +12-11-2019 19:00,4913624.96,2287252.64,2287252.64 +12-11-2019 20:00,3247067.52,1511483.36,1511483.36 +12-11-2019 21:00,3212134.72,1495222.56,1495222.56 +12-11-2019 22:00,1711042.72,796476.48,796476.48 +12-11-2019 23:00,568153.44,264470.82,264470.82 +13-11-2019 00:00,557680,259595.46,259595.46 +13-11-2019 01:00,553884.88,257828.86,257828.86 +13-11-2019 02:00,565567.32,263266.96,263266.96 +13-11-2019 03:00,824631.76,383859.4,383859.4 +13-11-2019 04:00,1032441.68,480593.16,480593.16 +13-11-2019 05:00,1123361.12,522915.4,522915.4 +13-11-2019 06:00,1276904.8,594388.8,594388.8 +13-11-2019 07:00,3401025.92,1583149.76,1583149.76 +13-11-2019 08:00,3787560,1763078.4,1763078.4 +13-11-2019 09:00,5574973.44,2595104.8,2595104.8 +13-11-2019 10:00,4142519.68,1928309.12,1928309.12 +13-11-2019 11:00,1762261.28,820318.32,820318.32 +13-11-2019 12:00,2131797.92,992334.56,992334.56 +13-11-2019 13:00,1694644.96,788843.36,788843.36 +13-11-2019 14:00,1485394.24,691438.96,691438.96 +13-11-2019 15:00,2531480.16,1178383.44,1178383.44 +13-11-2019 16:00,3036146.24,1413301.12,1413301.12 +13-11-2019 17:00,2655181.12,1235965.12,1235965.12 +13-11-2019 18:00,6854156.8,3190554.56,3190554.56 +13-11-2019 19:00,5003892.16,2329270.72,2329270.72 +13-11-2019 20:00,3298361.92,1535360.64,1535360.64 +13-11-2019 21:00,3183308.16,1481803.84,1481803.84 +13-11-2019 22:00,1686086.56,784859.52,784859.52 +13-11-2019 23:00,577017.64,268596.98,268596.98 +14-11-2019 00:00,563068.12,262103.6,262103.6 +14-11-2019 01:00,568251.96,264516.66,264516.66 +14-11-2019 02:00,591621.84,275395.14,275395.14 +14-11-2019 03:00,883029.92,411043.2,411043.2 +14-11-2019 04:00,1118123.68,520477.4,520477.4 +14-11-2019 05:00,1237434.24,576015.56,576015.56 +14-11-2019 06:00,1358308.48,632281.6,632281.6 +14-11-2019 07:00,3573362.56,1663371.36,1663371.36 +14-11-2019 08:00,3911445.76,1820746.24,1820746.24 +14-11-2019 09:00,5757728.64,2680175.52,2680175.52 +14-11-2019 10:00,4349442.24,2024630.08,2024630.08 +14-11-2019 11:00,1850508.8,861396.8,861396.8 +14-11-2019 12:00,2131764.96,992319.12,992319.12 +14-11-2019 13:00,1703614.88,793018.8,793018.8 +14-11-2019 14:00,1482493.92,690088.88,690088.88 +14-11-2019 15:00,2514330.88,1170400.4,1170400.4 +14-11-2019 16:00,2993368.96,1393388.8,1393388.8 +14-11-2019 17:00,2631924.8,1225139.68,1225139.68 +14-11-2019 18:00,6782535.04,3157215.04,3157215.04 +14-11-2019 19:00,4851862.4,2258502.4,2258502.4 +14-11-2019 20:00,3209815.04,1494142.56,1494142.56 +14-11-2019 21:00,3121142.72,1452866.4,1452866.4 +14-11-2019 22:00,1697803.68,790313.76,790313.76 +14-11-2019 23:00,576429.92,268323.42,268323.42 +15-11-2019 00:00,577002.44,268589.94,268589.94 +15-11-2019 01:00,582453,271127.1,271127.1 +15-11-2019 02:00,611899,284833.98,284833.98 +15-11-2019 03:00,928219.52,432078.6,432078.6 +15-11-2019 04:00,1184185.04,551228.44,551228.44 +15-11-2019 05:00,1287538.32,599338.56,599338.56 +15-11-2019 06:00,1431121.28,666175.24,666175.24 +15-11-2019 07:00,3729308.48,1735962.72,1735962.72 +15-11-2019 08:00,4007554.24,1865483.84,1865483.84 +15-11-2019 09:00,5876426.24,2735428.8,2735428.8 +15-11-2019 10:00,4540200.64,2113426.24,2113426.24 +15-11-2019 11:00,2020093.6,940337.04,940337.04 +15-11-2019 12:00,2306718.08,1073758.56,1073758.56 +15-11-2019 13:00,1887902.88,878803.44,878803.44 +15-11-2019 14:00,1672906.08,778724.16,778724.16 +15-11-2019 15:00,2731817.92,1271638.88,1271638.88 +15-11-2019 16:00,3204463.04,1491651.36,1491651.36 +15-11-2019 17:00,2829310.4,1317020.72,1317020.72 +15-11-2019 18:00,6913465.6,3218161.6,3218161.6 +15-11-2019 19:00,5021532.8,2337482.72,2337482.72 +15-11-2019 20:00,3517180.48,1637218.88,1637218.88 +15-11-2019 21:00,3282088.96,1527785.6,1527785.6 +15-11-2019 22:00,1776594.88,826990.4,826990.4 +15-11-2019 23:00,618846.2,288067.88,288067.88 +16-11-2019 00:00,623498.4,290233.42,290233.42 +16-11-2019 01:00,627390.52,292045.16,292045.16 +16-11-2019 02:00,711444,331171.42,331171.42 +16-11-2019 03:00,1117752.96,520304.88,520304.88 +16-11-2019 04:00,1308736.96,609206.44,609206.44 +16-11-2019 05:00,1432754.08,666935.44,666935.44 +16-11-2019 06:00,1564221.12,728132.24,728132.24 +16-11-2019 07:00,2431037.28,1131628.08,1131628.08 +16-11-2019 08:00,4166461.44,1939453.76,1939453.76 +16-11-2019 09:00,7885634.56,3670698.56,3670698.56 +16-11-2019 10:00,7918736,3686107.2,3686107.2 +16-11-2019 11:00,3827912.64,1781862.08,1781862.08 +16-11-2019 12:00,3468897.92,1614743.68,1614743.68 +16-11-2019 13:00,2451085.76,1140960.48,1140960.48 +16-11-2019 14:00,2144872.48,998420.64,998420.64 +16-11-2019 15:00,3113593.28,1449352.32,1449352.32 +16-11-2019 16:00,3364368,1566085.76,1566085.76 +16-11-2019 17:00,3467358.4,1614027.04,1614027.04 +16-11-2019 18:00,3447882.56,1604961.12,1604961.12 +16-11-2019 19:00,3337663.36,1553654.88,1553654.88 +16-11-2019 20:00,3289032.32,1531017.76,1531017.76 +16-11-2019 21:00,2555868.96,1189736.24,1189736.24 +16-11-2019 22:00,1160023.44,539981.44,539981.44 +16-11-2019 23:00,682542.64,317718.04,317718.04 +17-11-2019 00:00,669557.12,311673.44,311673.44 +17-11-2019 01:00,674769.28,314099.6,314099.6 +17-11-2019 02:00,872348,406070.88,406070.88 +17-11-2019 03:00,1047996.32,487833.76,487833.76 +17-11-2019 04:00,1206870.08,561788.08,561788.08 +17-11-2019 05:00,1448375.36,674206.88,674206.88 +17-11-2019 06:00,1524807.68,709785.44,709785.44 +17-11-2019 07:00,2393854.08,1114319.6,1114319.6 +17-11-2019 08:00,4136674.24,1925588.16,1925588.16 +17-11-2019 09:00,7885957.12,3670848.32,3670848.32 +17-11-2019 10:00,7691563.52,3580360,3580360 +17-11-2019 11:00,3573899.84,1663621.28,1663621.28 +17-11-2019 12:00,3298465.92,1535409.12,1535409.12 +17-11-2019 13:00,2270615.04,1056952.72,1056952.72 +17-11-2019 14:00,2050228,954364.4,954364.4 +17-11-2019 15:00,3022420.8,1406912.16,1406912.16 +17-11-2019 16:00,3270856.64,1522557.12,1522557.12 +17-11-2019 17:00,3376766.4,1571857.28,1571857.28 +17-11-2019 18:00,3418759.04,1591404.48,1591404.48 +17-11-2019 19:00,3451795.52,1606782.72,1606782.72 +17-11-2019 20:00,3423489.6,1593606.4,1593606.4 +17-11-2019 21:00,2647620.16,1232445.52,1232445.52 +17-11-2019 22:00,1200432.88,558791.68,558791.68 +17-11-2019 23:00,705354.16,328336.54,328336.54 +18-11-2019 00:00,712677.52,331745.52,331745.52 +18-11-2019 01:00,716424.8,333489.9,333489.9 +18-11-2019 02:00,957814.8,445855,445855 +18-11-2019 03:00,1104233.28,514011.6,514011.6 +18-11-2019 04:00,1217053.36,566528.4,566528.4 +18-11-2019 05:00,1288821.76,599935.96,599935.96 +18-11-2019 06:00,1448767.04,674389.2,674389.2 +18-11-2019 07:00,3805337.28,1771353.6,1771353.6 +18-11-2019 08:00,3998984.32,1861494.56,1861494.56 +18-11-2019 09:00,5875910.4,2735188.48,2735188.48 +18-11-2019 10:00,4513931.2,2101197.92,2101197.92 +18-11-2019 11:00,1938569.28,902388.16,902388.16 +18-11-2019 12:00,2194642.56,1021588.24,1021588.24 +18-11-2019 13:00,1760662.4,819574,819574 +18-11-2019 14:00,1574222.24,732787.6,732787.6 +18-11-2019 15:00,2613057.92,1216357.2,1216357.2 +18-11-2019 16:00,3068710.08,1428459.52,1428459.52 +18-11-2019 17:00,2629350.88,1223941.44,1223941.44 +18-11-2019 18:00,6768091.52,3150491.52,3150491.52 +18-11-2019 19:00,4706763.52,2190960.48,2190960.48 +18-11-2019 20:00,3022266.24,1406840.32,1406840.32 +18-11-2019 21:00,3037629.76,1413992,1413992 +18-11-2019 22:00,1646593.92,766476,766476 +18-11-2019 23:00,562721.36,261942.24,261942.24 +19-11-2019 00:00,549920.28,255983.42,255983.42 +19-11-2019 01:00,556279.36,258943.48,258943.48 +19-11-2019 02:00,573902.48,267146.88,267146.88 +19-11-2019 03:00,790788.56,368105.68,368105.68 +19-11-2019 04:00,1033289.28,480987.72,480987.72 +19-11-2019 05:00,1143842.88,532449.52,532449.52 +19-11-2019 06:00,1298000.4,604208.56,604208.56 +19-11-2019 07:00,3494696.96,1626752.96,1626752.96 +19-11-2019 08:00,3926651.52,1827824.32,1827824.32 +19-11-2019 09:00,5749603.2,2676393.28,2676393.28 +19-11-2019 10:00,4025049.6,1873627.52,1873627.52 +19-11-2019 11:00,1349832.64,628336.2,628336.2 +19-11-2019 12:00,2166982.72,1008712.64,1008712.64 +19-11-2019 13:00,1756110.4,817454.96,817454.96 +19-11-2019 14:00,1604355.52,746814.4,746814.4 +19-11-2019 15:00,2679738.24,1247396.48,1247396.48 +19-11-2019 16:00,3198081.28,1488680.8,1488680.8 +19-11-2019 17:00,2779765.12,1293958,1293958 +19-11-2019 18:00,6931742.08,3226669.44,3226669.44 +19-11-2019 19:00,5217064.32,2428500.96,2428500.96 +19-11-2019 20:00,3509233.92,1633519.68,1633519.68 +19-11-2019 21:00,3576502.72,1664832.96,1664832.96 +19-11-2019 22:00,1983508,923306.72,923306.72 +19-11-2019 23:00,681406.16,317189.02,317189.02 +20-11-2019 00:00,692118.4,322175.44,322175.44 +20-11-2019 01:00,774087.92,360331.6,360331.6 +20-11-2019 02:00,1107768.08,515657,515657 +20-11-2019 03:00,1424171.84,662940.44,662940.44 +20-11-2019 04:00,1600698.4,745112.08,745112.08 +20-11-2019 05:00,1677690.56,780951.2,780951.2 +20-11-2019 06:00,1842317.44,857583.76,857583.76 +20-11-2019 07:00,4581736.32,2132760.8,2132760.8 +20-11-2019 08:00,4535004.8,2111007.84,2111007.84 +20-11-2019 09:00,6236759.04,2903160,2903160 +20-11-2019 10:00,4500125.12,2094771.52,2094771.52 +20-11-2019 11:00,1786872,831774.4,831774.4 +20-11-2019 12:00,2416227.36,1124734,1124734 +20-11-2019 13:00,1378606.88,641730.28,641730.28 +20-11-2019 14:00,1437343.2,669071.6,669071.6 +20-11-2019 15:00,2861755.52,1332123.92,1332123.92 +20-11-2019 16:00,3572877.12,1663145.28,1663145.28 +20-11-2019 17:00,3263766.72,1519256.8,1519256.8 +20-11-2019 18:00,7207824,3355183.04,3355183.04 +20-11-2019 19:00,5398085.76,2512764.96,2512764.96 +20-11-2019 20:00,3926305.92,1827663.36,1827663.36 +20-11-2019 21:00,3618296,1684287.36,1684287.36 +20-11-2019 22:00,1950175.84,907790.88,907790.88 +20-11-2019 23:00,667985.52,310941.84,310941.84 +21-11-2019 00:00,666060.48,310045.72,310045.72 +21-11-2019 01:00,706268.4,328762.18,328762.18 +21-11-2019 02:00,977950.4,455227.96,455227.96 +21-11-2019 03:00,1258986.96,586048.16,586048.16 +21-11-2019 04:00,1401721.12,652489.8,652489.8 +21-11-2019 05:00,1483761.92,690679.04,690679.04 +21-11-2019 06:00,1650800.16,768434,768434 +21-11-2019 07:00,4201215.36,1955631.2,1955631.2 +21-11-2019 08:00,4339410.56,2019960,2019960 +21-11-2019 09:00,6288728.96,2927352,2927352 +21-11-2019 10:00,5127993.6,2387039.36,2387039.36 +21-11-2019 11:00,2441204.16,1136360.56,1136360.56 +21-11-2019 12:00,2640253.6,1229016.48,1229016.48 +21-11-2019 13:00,2124096.64,988749.6,988749.6 +21-11-2019 14:00,1944994.08,905378.88,905378.88 +21-11-2019 15:00,3099320.32,1442708.32,1442708.32 +21-11-2019 16:00,3613926.4,1682253.12,1682253.12 +21-11-2019 17:00,3267405.76,1520950.56,1520950.56 +21-11-2019 18:00,7199619.84,3351364.48,3351364.48 +21-11-2019 19:00,5479419.52,2550624.96,2550624.96 +21-11-2019 20:00,3954517.76,1840795.84,1840795.84 +21-11-2019 21:00,3574835.84,1664056.96,1664056.96 +21-11-2019 22:00,1941432.96,903721.2,903721.2 +21-11-2019 23:00,654115.72,304485.5,304485.5 +22-11-2019 00:00,638322.88,297134.1,297134.1 +22-11-2019 01:00,649887.56,302517.36,302517.36 +22-11-2019 02:00,806911.44,375610.68,375610.68 +22-11-2019 03:00,1103524.56,513681.64,513681.64 +22-11-2019 04:00,1219616,567721.24,567721.24 +22-11-2019 05:00,1300905.6,605560.96,605560.96 +22-11-2019 06:00,1453372,676532.8,676532.8 +22-11-2019 07:00,3810240.96,1773636.16,1773636.16 +22-11-2019 08:00,4062464,1891043.84,1891043.84 +22-11-2019 09:00,5947129.6,2768339.84,2768339.84 +22-11-2019 10:00,4555088.96,2120356.64,2120356.64 +22-11-2019 11:00,1422338.08,662086.92,662086.92 +22-11-2019 12:00,1949340.16,907401.92,907401.92 +22-11-2019 13:00,1676371.2,780337.12,780337.12 +22-11-2019 14:00,1244366.96,579242.68,579242.68 +22-11-2019 15:00,2541688.96,1183135.28,1183135.28 +22-11-2019 16:00,3131697.92,1457779.84,1457779.84 +22-11-2019 17:00,2740563.84,1275710.08,1275710.08 +22-11-2019 18:00,6923739.52,3222944,3222944 +22-11-2019 19:00,5063074.56,2356819.84,2356819.84 +22-11-2019 20:00,3598954.88,1675284,1675284 +22-11-2019 21:00,3352434.24,1560530.56,1560530.56 +22-11-2019 22:00,1786818.88,831749.6,831749.6 +22-11-2019 23:00,588917.84,274136.44,274136.44 +23-11-2019 00:00,572380.8,266438.56,266438.56 +23-11-2019 01:00,573782.96,267091.3,267091.3 +23-11-2019 02:00,593481.44,276260.78,276260.78 +23-11-2019 03:00,851966.4,396583.44,396583.44 +23-11-2019 04:00,1130673.84,526319.44,526319.44 +23-11-2019 05:00,1267299.92,589917.8,589917.8 +23-11-2019 06:00,1393171.2,648509.88,648509.88 +23-11-2019 07:00,2250154.56,1047428.56,1047428.56 +23-11-2019 08:00,3982715.2,1853921.44,1853921.44 +23-11-2019 09:00,7648546.56,3560336,3560336 +23-11-2019 10:00,7709384.96,3588656.32,3588656.32 +23-11-2019 11:00,3690529.92,1717911.68,1717911.68 +23-11-2019 12:00,3377357.12,1572132.16,1572132.16 +23-11-2019 13:00,2357462.08,1097379.36,1097379.36 +23-11-2019 14:00,2048411.84,953519.04,953519.04 +23-11-2019 15:00,2930034.88,1363907.36,1363907.36 +23-11-2019 16:00,3096722.56,1441498.88,1441498.88 +23-11-2019 17:00,3110257.92,1447799.84,1447799.84 +23-11-2019 18:00,3182731.84,1481535.36,1481535.36 +23-11-2019 19:00,3220076.16,1498919.2,1498919.2 +23-11-2019 20:00,3259040.64,1517056.96,1517056.96 +23-11-2019 21:00,2612325.44,1216016.08,1216016.08 +23-11-2019 22:00,1190820.8,554317.32,554317.32 +23-11-2019 23:00,698117.04,324967.84,324967.84 +24-11-2019 00:00,687998.08,320257.5,320257.5 +24-11-2019 01:00,714691.92,332683.26,332683.26 +24-11-2019 02:00,980396.08,456366.4,456366.4 +24-11-2019 03:00,1225110.32,570278.88,570278.88 +24-11-2019 04:00,1334731.92,621306.84,621306.84 +24-11-2019 05:00,1464037.6,681497.6,681497.6 +24-11-2019 06:00,1631609.44,759500.88,759500.88 +24-11-2019 07:00,2450859.36,1140855.12,1140855.12 +24-11-2019 08:00,4117235.2,1916539.36,1916539.36 +24-11-2019 09:00,7844014.72,3651325.12,3651325.12 +24-11-2019 10:00,7756130.56,3610415.68,3610415.68 +24-11-2019 11:00,3744389.44,1742982.72,1742982.72 +24-11-2019 12:00,3273584.32,1523826.72,1523826.72 +24-11-2019 13:00,2173329.12,1011666.96,1011666.96 +24-11-2019 14:00,1958069.6,911465.44,911465.44 +24-11-2019 15:00,2870422.4,1336158.24,1336158.24 +24-11-2019 16:00,3179196.16,1479889.92,1479889.92 +24-11-2019 17:00,3416676.16,1590434.88,1590434.88 +24-11-2019 18:00,3495395.84,1627078.24,1627078.24 +24-11-2019 19:00,3494083.84,1626467.36,1626467.36 +24-11-2019 20:00,3430771.84,1596996.32,1596996.32 +24-11-2019 21:00,2733867.2,1272592.64,1272592.64 +24-11-2019 22:00,1176297.52,547556.88,547556.88 +24-11-2019 23:00,688063.52,320287.96,320287.96 +25-11-2019 00:00,669736.16,311756.72,311756.72 +25-11-2019 01:00,677440.72,315343.14,315343.14 +25-11-2019 02:00,864694.64,402508.32,402508.32 +25-11-2019 03:00,1009323.68,469831.92,469831.92 +25-11-2019 04:00,1134688.32,528188.16,528188.16 +25-11-2019 05:00,1201332.88,559210.68,559210.68 +25-11-2019 06:00,1333985.12,620959.16,620959.16 +25-11-2019 07:00,3610900.8,1680844.8,1680844.8 +25-11-2019 08:00,3932188.16,1830401.44,1830401.44 +25-11-2019 09:00,5839313.92,2718152.96,2718152.96 +25-11-2019 10:00,4528078.08,2107783.52,2107783.52 +25-11-2019 11:00,1970503.84,917253.44,917253.44 +25-11-2019 12:00,2092500.96,974042.16,974042.16 +25-11-2019 13:00,1452281.92,676025.28,676025.28 +25-11-2019 14:00,787358.8,366509.16,366509.16 +25-11-2019 15:00,2304925.76,1072924.16,1072924.16 +25-11-2019 16:00,2969156.8,1382118.24,1382118.24 +25-11-2019 17:00,2656230.88,1236453.76,1236453.76 +25-11-2019 18:00,6782535.68,3157215.04,3157215.04 +25-11-2019 19:00,4626324.8,2153516.64,2153516.64 +25-11-2019 20:00,3110201.28,1447773.12,1447773.12 +25-11-2019 21:00,3070303.04,1429200.96,1429200.96 +25-11-2019 22:00,1652801.6,769365.76,769365.76 +25-11-2019 23:00,544869.76,253632.4,253632.4 +26-11-2019 00:00,526456.96,245061.44,245061.44 +26-11-2019 01:00,525288.32,244517.48,244517.48 +26-11-2019 02:00,530843.4,247103.28,247103.28 +26-11-2019 03:00,632670.48,294502.96,294502.96 +26-11-2019 04:00,896411.6,417272.32,417272.32 +26-11-2019 05:00,998560.72,464821.88,464821.88 +26-11-2019 06:00,1133023.68,527413.28,527413.28 +26-11-2019 07:00,3057965.76,1423458.24,1423458.24 +26-11-2019 08:00,3670954.88,1708799.36,1708799.36 +26-11-2019 09:00,5499190.4,2559828.16,2559828.16 +26-11-2019 10:00,4006672.64,1865073.44,1865073.44 +26-11-2019 11:00,1578259.36,734666.88,734666.88 +26-11-2019 12:00,1843590.88,858176.48,858176.48 +26-11-2019 13:00,1431390.08,666300.48,666300.48 +26-11-2019 14:00,1280059.84,595857.44,595857.44 +26-11-2019 15:00,2256400.8,1050336.32,1050336.32 +26-11-2019 16:00,2727808,1269772.32,1269772.32 +26-11-2019 17:00,2282554.24,1062510.24,1062510.24 +26-11-2019 18:00,6502376.32,3026803.2,3026803.2 +26-11-2019 19:00,4127069.76,1921117.28,1921117.28 +26-11-2019 20:00,2689288.64,1251841.92,1251841.92 +26-11-2019 21:00,2627056.16,1222873.28,1222873.28 +26-11-2019 22:00,1406223.04,654585.32,654585.32 +26-11-2019 23:00,455383.2,211977.18,211977.18 +27-11-2019 00:00,444240.36,206790.26,206790.26 +27-11-2019 01:00,438815.08,204264.82,204264.82 +27-11-2019 02:00,433629.24,201850.88,201850.88 +27-11-2019 03:00,441025.24,205293.66,205293.66 +27-11-2019 04:00,487708.32,227024.24,227024.24 +27-11-2019 05:00,688226.16,320363.68,320363.68 +27-11-2019 06:00,841053.2,391503.4,391503.4 +27-11-2019 07:00,2586613.76,1204047.6,1204047.6 +27-11-2019 08:00,3358855.36,1563519.84,1563519.84 +27-11-2019 09:00,5156823.68,2400459.52,2400459.52 +27-11-2019 10:00,3538009.28,1646914.24,1646914.24 +27-11-2019 11:00,1344528.64,625867.12,625867.12 +27-11-2019 12:00,1660456,772928.72,772928.72 +27-11-2019 13:00,1323699.68,616171.4,616171.4 +27-11-2019 14:00,1179573.6,549081.92,549081.92 +27-11-2019 15:00,2137275.84,994884.48,994884.48 +27-11-2019 16:00,2582009.6,1201904.32,1201904.32 +27-11-2019 17:00,2145101.12,998527.12,998527.12 +27-11-2019 18:00,6410588.8,2984076.8,2984076.8 +27-11-2019 19:00,3853075.84,1793575.36,1793575.36 +27-11-2019 20:00,2601051.04,1210768.08,1210768.08 +27-11-2019 21:00,2534335.52,1179712.56,1179712.56 +27-11-2019 22:00,1340092.08,623801.88,623801.88 +27-11-2019 23:00,430443.56,200367.96,200367.96 +28-11-2019 00:00,420925.28,195937.28,195937.28 +28-11-2019 01:00,423133.6,196965.24,196965.24 +28-11-2019 02:00,425450.16,198043.58,198043.58 +28-11-2019 03:00,426759.88,198653.24,198653.24 +28-11-2019 04:00,430647.64,200462.96,200462.96 +28-11-2019 05:00,607804.52,282928.08,282928.08 +28-11-2019 06:00,782468.96,364232.88,364232.88 +28-11-2019 07:00,2459343.04,1144804.16,1144804.16 +28-11-2019 08:00,3315536,1543355.04,1543355.04 +28-11-2019 09:00,5158934.72,2401441.92,2401441.92 +28-11-2019 10:00,3497578.56,1628094.4,1628094.4 +28-11-2019 11:00,1386785.6,645537.4,645537.4 +28-11-2019 12:00,1678481.12,781319.2,781319.2 +28-11-2019 13:00,1307072.16,608431.4,608431.4 +28-11-2019 14:00,1183389.2,550857.92,550857.92 +28-11-2019 15:00,2124718.24,989039.04,989039.04 +28-11-2019 16:00,2508300,1167593.28,1167593.28 +28-11-2019 17:00,2110837.6,982577.6,982577.6 +28-11-2019 18:00,6400032.64,2979163.2,2979163.2 +28-11-2019 19:00,3879330.24,1805796.64,1805796.64 +28-11-2019 20:00,2665089.6,1240577.52,1240577.52 +28-11-2019 21:00,2635246.56,1226685.76,1226685.76 +28-11-2019 22:00,1435036.96,667998,667998 +28-11-2019 23:00,464243.28,216101.48,216101.48 +29-11-2019 00:00,469838.48,218705.98,218705.98 +29-11-2019 01:00,491430.88,228757.04,228757.04 +29-11-2019 02:00,534099.32,248618.86,248618.86 +29-11-2019 03:00,551186.08,256572.66,256572.66 +29-11-2019 04:00,837016.64,389624.44,389624.44 +29-11-2019 05:00,928696.08,432300.4,432300.4 +29-11-2019 06:00,1175389.44,547134.2,547134.2 +29-11-2019 07:00,3124670.72,1454508.64,1454508.64 +29-11-2019 08:00,3697847.36,1721317.76,1721317.76 +29-11-2019 09:00,5411264,2518899.36,2518899.36 +29-11-2019 10:00,4008047.68,1865713.6,1865713.6 +29-11-2019 11:00,1461942.56,680522.24,680522.24 +29-11-2019 12:00,1816879.84,845742.72,845742.72 +29-11-2019 13:00,1575292.16,733285.6,733285.6 +29-11-2019 14:00,887780.96,413254.8,413254.8 +29-11-2019 15:00,2320973.92,1080394.4,1080394.4 +29-11-2019 16:00,3025933.76,1408547.68,1408547.68 +29-11-2019 17:00,2531680.96,1178476.8,1178476.8 +29-11-2019 18:00,6726891.52,3131313.28,3131313.28 +29-11-2019 19:00,4836951.68,2251561.6,2251561.6 +29-11-2019 20:00,3407365.44,1586100.8,1586100.8 +29-11-2019 21:00,3414511.68,1589427.36,1589427.36 +29-11-2019 22:00,1845975.68,859286.72,859286.72 +29-11-2019 23:00,645701.04,300568.54,300568.54 +30-11-2019 00:00,644807.24,300152.52,300152.52 +30-11-2019 01:00,661812.88,308068.48,308068.48 +30-11-2019 02:00,862076.96,401289.8,401289.8 +30-11-2019 03:00,1202631.2,559814.96,559814.96 +30-11-2019 04:00,1384085.44,644280.52,644280.52 +30-11-2019 05:00,1504329.6,700253.12,700253.12 +30-11-2019 06:00,1578075.68,734581.44,734581.44 +30-11-2019 07:00,2413318.88,1123380.16,1123380.16 +30-11-2019 08:00,4186857.92,1948948.32,1948948.32 +30-11-2019 09:00,7837831.04,3648446.4,3648446.4 +30-11-2019 10:00,7267383.04,3382907.84,3382907.84 +30-11-2019 11:00,3033535.04,1412085.76,1412085.76 +30-11-2019 12:00,2760213.12,1284856.72,1284856.72 +30-11-2019 13:00,1746265.44,812872.32,812872.32 +30-11-2019 14:00,1379509.44,642150.32,642150.32 +30-11-2019 15:00,2839347.52,1321693.2,1321693.2 +30-11-2019 16:00,3423725.44,1593716.48,1593716.48 +30-11-2019 17:00,3644884.8,1696664.16,1696664.16 +30-11-2019 18:00,3794580.48,1766346.4,1766346.4 +30-11-2019 19:00,3829384,1782547.04,1782547.04 +30-11-2019 20:00,3874224,1803419.68,1803419.68 +30-11-2019 21:00,3040693.44,1415417.92,1415417.92 +30-11-2019 22:00,1440642.4,670607.24,670607.24 +30-11-2019 23:00,880006.96,409636.08,409636.08 +1-12-2019 00:00,866856.88,403514.8,403514.8 +1-12-2019 01:00,1116377.68,519664.72,519664.72 +1-12-2019 02:00,1373494.72,639350.6,639350.6 +1-12-2019 03:00,1526034.4,710356.56,710356.56 +1-12-2019 04:00,1591748.64,740946.08,740946.08 +1-12-2019 05:00,1734565.76,807426.16,807426.16 +1-12-2019 06:00,1818953.28,846707.84,846707.84 +1-12-2019 07:00,2757237.12,1283471.44,1283471.44 +1-12-2019 08:00,4528043.52,2107766.88,2107766.88 +1-12-2019 09:00,8295465.6,3861472,3861472 +1-12-2019 10:00,8440999.68,3929216.64,3929216.64 +1-12-2019 11:00,4349267.2,2024548.32,2024548.32 +1-12-2019 12:00,3807505.28,1772362.56,1772362.56 +1-12-2019 13:00,2837135.68,1320663.6,1320663.6 +1-12-2019 14:00,2567520.48,1195159.92,1195159.92 +1-12-2019 15:00,3429479.04,1596394.24,1596394.24 +1-12-2019 16:00,3634288.64,1691731.84,1691731.84 +1-12-2019 17:00,3871036.48,1801935.84,1801935.84 +1-12-2019 18:00,3991380.48,1857955.2,1857955.2 +1-12-2019 19:00,3888847.04,1810226.72,1810226.72 +1-12-2019 20:00,3847788.8,1791114.56,1791114.56 +1-12-2019 21:00,3011321.28,1401745.6,1401745.6 +1-12-2019 22:00,1474596.64,686412.72,686412.72 +1-12-2019 23:00,913255.76,425113.12,425113.12 +2-12-2019 00:00,922569.28,429448.52,429448.52 +2-12-2019 01:00,1245274.4,579665.12,579665.12 +2-12-2019 02:00,1494255.2,695563.52,695563.52 +2-12-2019 03:00,1606118.24,747634.88,747634.88 +2-12-2019 04:00,1699709.44,791200.96,791200.96 +2-12-2019 05:00,1846902.24,859717.92,859717.92 +2-12-2019 06:00,2043641.44,951298.4,951298.4 +2-12-2019 07:00,4753656.64,2212788.32,2212788.32 +2-12-2019 08:00,4486197.76,2088288.64,2088288.64 +2-12-2019 09:00,6276051.2,2921450.56,2921450.56 +2-12-2019 10:00,4775040.96,2222742.88,2222742.88 +2-12-2019 11:00,1750904.48,815031.76,815031.76 +2-12-2019 12:00,2290435.84,1066179.2,1066179.2 +2-12-2019 13:00,1882355.84,876221.28,876221.28 +2-12-2019 14:00,1671411.68,778028.56,778028.56 +2-12-2019 15:00,2767008.64,1288019.92,1288019.92 +2-12-2019 16:00,3272288,1523223.2,1523223.2 +2-12-2019 17:00,2874748.48,1338172.08,1338172.08 +2-12-2019 18:00,6964442.88,3241891.2,3241891.2 +2-12-2019 19:00,5090103.04,2369401.6,2369401.6 +2-12-2019 20:00,3447019.2,1604559.36,1604559.36 +2-12-2019 21:00,3253204.48,1514340.32,1514340.32 +2-12-2019 22:00,1750251.84,814728,814728 +2-12-2019 23:00,585127.4,272372,272372 +3-12-2019 00:00,564407.24,262726.96,262726.96 +3-12-2019 01:00,561852.28,261537.66,261537.66 +3-12-2019 02:00,581365.6,270620.94,270620.94 +3-12-2019 03:00,841889.68,391892.76,391892.76 +3-12-2019 04:00,1099704.48,511903.52,511903.52 +3-12-2019 05:00,1368956,637237.84,637237.84 +3-12-2019 06:00,1598592.48,744131.76,744131.76 +3-12-2019 07:00,3998896.64,1861453.76,1861453.76 +3-12-2019 08:00,4201130.24,1955591.84,1955591.84 +3-12-2019 09:00,5933500.8,2761995.84,2761995.84 +3-12-2019 10:00,4614723.52,2148116.16,2148116.16 +3-12-2019 11:00,1583175.36,736955.28,736955.28 +3-12-2019 12:00,2016092,938474.48,938474.48 +3-12-2019 13:00,1531689.28,712988.8,712988.8 +3-12-2019 14:00,1358055.84,632163.88,632163.88 +3-12-2019 15:00,2723080.32,1267571.76,1267571.76 +3-12-2019 16:00,3320855.04,1545830.88,1545830.88 +3-12-2019 17:00,2943368.96,1370114.08,1370114.08 +3-12-2019 18:00,7047544.96,3280574.72,3280574.72 +3-12-2019 19:00,5216360.96,2428173.12,2428173.12 +3-12-2019 20:00,3644576.32,1696520.8,1696520.8 +3-12-2019 21:00,3516358.72,1636836.16,1636836.16 +3-12-2019 22:00,1907596.32,887970.56,887970.56 +3-12-2019 23:00,673080.08,313313.3,313313.3 +4-12-2019 00:00,650845.2,302963.14,302963.14 +4-12-2019 01:00,734158.32,341744.72,341744.72 +4-12-2019 02:00,1055391.36,491276,491276 +4-12-2019 03:00,1344468.32,625839.12,625839.12 +4-12-2019 04:00,1462920.48,680977.52,680977.52 +4-12-2019 05:00,1617387.2,752880.56,752880.56 +4-12-2019 06:00,1780476.48,828797.28,828797.28 +4-12-2019 07:00,4409518.08,2052594.56,2052594.56 +4-12-2019 08:00,4510317.76,2099516.16,2099516.16 +4-12-2019 09:00,6297854.08,2931599.68,2931599.68 +4-12-2019 10:00,4729048.96,2201333.28,2201333.28 +4-12-2019 11:00,1901447.52,885108.24,885108.24 +4-12-2019 12:00,2250132.16,1047418.24,1047418.24 +4-12-2019 13:00,1560415.36,726360.56,726360.56 +4-12-2019 14:00,1300721.92,605475.48,605475.48 +4-12-2019 15:00,2777767.68,1293028.08,1293028.08 +4-12-2019 16:00,3634912.96,1692022.4,1692022.4 +4-12-2019 17:00,3308433.28,1540048.8,1540048.8 +4-12-2019 18:00,7355296,3423830.08,3423830.08 +4-12-2019 19:00,5694790.4,2650878.72,2650878.72 +4-12-2019 20:00,4313606.4,2007948.48,2007948.48 +4-12-2019 21:00,3977496.64,1851492.32,1851492.32 +4-12-2019 22:00,2173143.52,1011580.64,1011580.64 +4-12-2019 23:00,749400.08,348839.64,348839.64 +5-12-2019 00:00,786724.4,366213.84,366213.84 +5-12-2019 01:00,894726.64,416487.96,416487.96 +5-12-2019 02:00,1298482.32,604433,604433 +5-12-2019 03:00,1530470.08,712421.36,712421.36 +5-12-2019 04:00,1665630.24,775337.28,775337.28 +5-12-2019 05:00,1750423.68,814808,814808 +5-12-2019 06:00,1896415.36,882765.92,882765.92 +5-12-2019 07:00,4684264.64,2180487.04,2180487.04 +5-12-2019 08:00,4701303.68,2188418.72,2188418.72 +5-12-2019 09:00,6651392.64,3096169.28,3096169.28 +5-12-2019 10:00,5719007.36,2662151.2,2662151.2 +5-12-2019 11:00,3167462.72,1474428.16,1474428.16 +5-12-2019 12:00,3242988.48,1509584.64,1509584.64 +5-12-2019 13:00,2705129.6,1259215.92,1259215.92 +5-12-2019 14:00,2355299.84,1096372.96,1096372.96 +5-12-2019 15:00,3359640.96,1563885.76,1563885.76 +5-12-2019 16:00,3763591.68,1751921.12,1751921.12 +5-12-2019 17:00,3282170.56,1527823.68,1527823.68 +5-12-2019 18:00,7260852.48,3379867.52,3379867.52 +5-12-2019 19:00,5525384.96,2572021.92,2572021.92 +5-12-2019 20:00,4037797.12,1879561.76,1879561.76 +5-12-2019 21:00,3723428.8,1733225.76,1733225.76 +5-12-2019 22:00,1998438.72,930256.8,930256.8 +5-12-2019 23:00,658122.88,306350.84,306350.84 +6-12-2019 00:00,646577.08,300976.34,300976.34 +6-12-2019 01:00,660719.24,307559.38,307559.38 +6-12-2019 02:00,846845.44,394199.64,394199.64 +6-12-2019 03:00,1152673.36,536560,536560 +6-12-2019 04:00,1296762.72,603632.4,603632.4 +6-12-2019 05:00,1388887.04,646515.56,646515.56 +6-12-2019 06:00,1561973.28,727085.84,727085.84 +6-12-2019 07:00,4024305.28,1873281.44,1873281.44 +6-12-2019 08:00,4227806.08,1968009.28,1968009.28 +6-12-2019 09:00,6214176,2892648.32,2892648.32 +6-12-2019 10:00,5055452.16,2353271.68,2353271.68 +6-12-2019 11:00,2435251.52,1133589.76,1133589.76 +6-12-2019 12:00,2610452.32,1215144.32,1215144.32 +6-12-2019 13:00,2122202.88,987868.24,987868.24 +6-12-2019 14:00,1954413.44,909763.52,909763.52 +6-12-2019 15:00,2963022.08,1379262.72,1379262.72 +6-12-2019 16:00,3377056.96,1571992.48,1571992.48 +6-12-2019 17:00,2900714.56,1350259.04,1350259.04 +6-12-2019 18:00,6918316.16,3220419.84,3220419.84 +6-12-2019 19:00,5016976.96,2335361.76,2335361.76 +6-12-2019 20:00,3502768,1630510.08,1630510.08 +6-12-2019 21:00,3091640.96,1439133.6,1439133.6 +6-12-2019 22:00,1669516.32,777146.24,777146.24 +6-12-2019 23:00,547822.08,255006.72,255006.72 +7-12-2019 00:00,522771.72,243345.98,243345.98 +7-12-2019 01:00,518529.4,241371.22,241371.22 +7-12-2019 02:00,517703.96,240986.98,240986.98 +7-12-2019 03:00,588397.08,273894.04,273894.04 +7-12-2019 04:00,817693.2,380629.48,380629.48 +7-12-2019 05:00,931263.04,433495.36,433495.36 +7-12-2019 06:00,1095718.48,510048,510048 +7-12-2019 07:00,1951321.92,908324.32,908324.32 +7-12-2019 08:00,3679051.52,1712568.32,1712568.32 +7-12-2019 09:00,7166279.04,3335844.48,3335844.48 +7-12-2019 10:00,7092750.72,3301617.28,3301617.28 +7-12-2019 11:00,3381641.28,1574126.4,1574126.4 +7-12-2019 12:00,3118742.4,1451748.96,1451748.96 +7-12-2019 13:00,2192052.32,1020382.4,1020382.4 +7-12-2019 14:00,1988638.72,925695.2,925695.2 +7-12-2019 15:00,2811311.68,1308642.72,1308642.72 +7-12-2019 16:00,2963713.6,1379584.48,1379584.48 +7-12-2019 17:00,2993443.2,1393423.52,1393423.52 +7-12-2019 18:00,3010972.48,1401583.2,1401583.2 +7-12-2019 19:00,3001401.28,1397127.68,1397127.68 +7-12-2019 20:00,2992687.36,1393071.52,1393071.52 +7-12-2019 21:00,2346901.92,1092463.6,1092463.6 +7-12-2019 22:00,1019634.4,474631.52,474631.52 +7-12-2019 23:00,570162.28,265405.88,265405.88 +8-12-2019 00:00,553337.04,257573.86,257573.86 +8-12-2019 01:00,550062.44,256049.6,256049.6 +8-12-2019 02:00,547825.08,255008.08,255008.08 +8-12-2019 03:00,703820.96,327622.92,327622.92 +8-12-2019 04:00,831111.6,386875.64,386875.64 +8-12-2019 05:00,920102.4,428300.16,428300.16 +8-12-2019 06:00,1046511.44,487142.52,487142.52 +8-12-2019 07:00,1887938.4,878820,878820 +8-12-2019 08:00,3572180.16,1662820.64,1662820.64 +8-12-2019 09:00,6984550.4,3251251.52,3251251.52 +8-12-2019 10:00,6552779.52,3050265.6,3050265.6 +8-12-2019 11:00,3031160,1410980.32,1410980.32 +8-12-2019 12:00,2846899.2,1325208.24,1325208.24 +8-12-2019 13:00,1899579.52,884238.8,884238.8 +8-12-2019 14:00,1533319.04,713747.52,713747.52 +8-12-2019 15:00,2574081.12,1198213.6,1198213.6 +8-12-2019 16:00,2773678.08,1291124.64,1291124.64 +8-12-2019 17:00,2805350.4,1305867.68,1305867.68 +8-12-2019 18:00,2815830.4,1310746.08,1310746.08 +8-12-2019 19:00,2834871.04,1319609.28,1319609.28 +8-12-2019 20:00,2855219.52,1329081.2,1329081.2 +8-12-2019 21:00,2270301.76,1056806.88,1056806.88 +8-12-2019 22:00,1016252,473056.96,473056.96 +8-12-2019 23:00,600434.68,279497.44,279497.44 +9-12-2019 00:00,605073.24,281656.64,281656.64 +9-12-2019 01:00,603284.72,280824.1,280824.1 +9-12-2019 02:00,603784.32,281056.68,281056.68 +9-12-2019 03:00,797865.92,371400.04,371400.04 +9-12-2019 04:00,922044.72,429204.32,429204.32 +9-12-2019 05:00,1054144.88,490695.88,490695.88 +9-12-2019 06:00,1217216.88,566604.56,566604.56 +9-12-2019 07:00,3288068.8,1530569.28,1530569.28 +9-12-2019 08:00,3827347.84,1781599.2,1781599.2 +9-12-2019 09:00,5597246.72,2605472.64,2605472.64 +9-12-2019 10:00,4213371.52,1961290.08,1961290.08 +9-12-2019 11:00,1763881.6,821072.48,821072.48 +9-12-2019 12:00,2093094.24,974318.24,974318.24 +9-12-2019 13:00,1718283.04,799846.8,799846.8 +9-12-2019 14:00,1672051.68,778326.48,778326.48 +9-12-2019 15:00,2591433.12,1206291.04,1206291.04 +9-12-2019 16:00,2945606.72,1371155.84,1371155.84 +9-12-2019 17:00,2505497.12,1166288.48,1166288.48 +9-12-2019 18:00,6709193.6,3123074.88,3123074.88 +9-12-2019 19:00,4543516.48,2114970.24,2114970.24 +9-12-2019 20:00,3087774.4,1437333.92,1437333.92 +9-12-2019 21:00,3118412.16,1451595.36,1451595.36 +9-12-2019 22:00,1643428.16,765002.48,765002.48 +9-12-2019 23:00,559217.4,260311.12,260311.12 +10-12-2019 00:00,543600.72,253041.7,253041.7 +10-12-2019 01:00,556174.2,258894.54,258894.54 +10-12-2019 02:00,584425.16,272045.14,272045.14 +10-12-2019 03:00,843578.88,392679.12,392679.12 +10-12-2019 04:00,1055541.28,491345.84,491345.84 +10-12-2019 05:00,1224816.56,570142.08,570142.08 +10-12-2019 06:00,1379962.88,642361.44,642361.44 +10-12-2019 07:00,3577426.56,1665262.88,1665262.88 +10-12-2019 08:00,4000724.48,1862304.64,1862304.64 +10-12-2019 09:00,5878250.24,2736277.44,2736277.44 +10-12-2019 10:00,4585766.08,2134636.96,2134636.96 +10-12-2019 11:00,2072596.16,964776.64,964776.64 +10-12-2019 12:00,2271875.2,1057539.44,1057539.44 +10-12-2019 13:00,1909605.76,888905.92,888905.92 +10-12-2019 14:00,1767287.52,822657.92,822657.92 +10-12-2019 15:00,2691649.28,1252940.64,1252940.64 +10-12-2019 16:00,3091879.36,1439244.64,1439244.64 +10-12-2019 17:00,2675231.68,1245298.48,1245298.48 +10-12-2019 18:00,6823187.2,3176137.92,3176137.92 +10-12-2019 19:00,4873820.8,2268723.84,2268723.84 +10-12-2019 20:00,3141117.76,1462164.64,1462164.64 +10-12-2019 21:00,3019232.32,1405428,1405428 +10-12-2019 22:00,1594061.6,742022.64,742022.64 +10-12-2019 23:00,525551.08,244639.72,244639.72 +11-12-2019 00:00,509009.32,236939.7,236939.7 +11-12-2019 01:00,504279,234737.74,234737.74 +11-12-2019 02:00,525615.72,244669.84,244669.84 +11-12-2019 03:00,592085.88,275611.18,275611.18 +11-12-2019 04:00,849294.96,395339.88,395339.88 +11-12-2019 05:00,1005028.96,467832.8,467832.8 +11-12-2019 06:00,1148371.2,534557.36,534557.36 +11-12-2019 07:00,3112650.24,1448913.28,1448913.28 +11-12-2019 08:00,3755016.32,1747929.6,1747929.6 +11-12-2019 09:00,5629895.68,2620670.4,2620670.4 +11-12-2019 10:00,4298805.12,2001058.88,2001058.88 +11-12-2019 11:00,1870242.4,870582.56,870582.56 +11-12-2019 12:00,2144099.2,998060.64,998060.64 +11-12-2019 13:00,1790448.64,833439.2,833439.2 +11-12-2019 14:00,1665013.44,775050.24,775050.24 +11-12-2019 15:00,2645151.2,1231296.16,1231296.16 +11-12-2019 16:00,3074429.12,1431121.76,1431121.76 +11-12-2019 17:00,2653767.52,1235307.12,1235307.12 +11-12-2019 18:00,6822279.68,3175715.52,3175715.52 +11-12-2019 19:00,4935316.8,2297349.6,2297349.6 +11-12-2019 20:00,3238476.16,1507484.32,1507484.32 +11-12-2019 21:00,3117670.08,1451250.08,1451250.08 +11-12-2019 22:00,1679595.52,781838,781838 +11-12-2019 23:00,554894.96,258299.08,258299.08 +12-12-2019 00:00,551674.64,256800.04,256800.04 +12-12-2019 01:00,564125.6,262595.86,262595.86 +12-12-2019 02:00,575540.16,267909.24,267909.24 +12-12-2019 03:00,771250.8,359010.96,359010.96 +12-12-2019 04:00,1035315.68,481931,481931 +12-12-2019 05:00,1170898.56,545043.72,545043.72 +12-12-2019 06:00,1332468.88,620253.36,620253.36 +12-12-2019 07:00,3546579.2,1650903.84,1650903.84 +12-12-2019 08:00,4013176.64,1868100.96,1868100.96 +12-12-2019 09:00,5866835.84,2730964.48,2730964.48 +12-12-2019 10:00,4168808.96,1940546.56,1940546.56 +12-12-2019 11:00,1704497.92,793429.92,793429.92 +12-12-2019 12:00,2143808.8,997925.52,997925.52 +12-12-2019 13:00,1502775.2,699529.52,699529.52 +12-12-2019 14:00,1333942.4,620939.32,620939.32 +12-12-2019 15:00,2723965.44,1267983.68,1267983.68 +12-12-2019 16:00,3194855.68,1487179.2,1487179.2 +12-12-2019 17:00,2801384.32,1304021.6,1304021.6 +12-12-2019 18:00,6908865.92,3216021.12,3216021.12 +12-12-2019 19:00,5032130.24,2342415.36,2342415.36 +12-12-2019 20:00,3400810.88,1583049.76,1583049.76 +12-12-2019 21:00,3228891.52,1503022.88,1503022.88 +12-12-2019 22:00,1730498.72,805533.04,805533.04 +12-12-2019 23:00,589445.08,274381.9,274381.9 +13-12-2019 00:00,582837.52,271306.12,271306.12 +13-12-2019 01:00,584837.48,272237.06,272237.06 +13-12-2019 02:00,604218.44,281258.72,281258.72 +13-12-2019 03:00,911375.84,424238,424238 +13-12-2019 04:00,1125846.64,524072.44,524072.44 +13-12-2019 05:00,1253802.4,583634.76,583634.76 +13-12-2019 06:00,1417376,659776.96,659776.96 +13-12-2019 07:00,3719338.56,1731321.76,1731321.76 +13-12-2019 08:00,4077786.24,1898176.32,1898176.32 +13-12-2019 09:00,6013408,2799192.32,2799192.32 +13-12-2019 10:00,4881162.56,2272141.6,2272141.6 +13-12-2019 11:00,2291315.36,1066588.48,1066588.48 +13-12-2019 12:00,2512785.6,1169681.12,1169681.12 +13-12-2019 13:00,2140389.92,996334,996334 +13-12-2019 14:00,1989696.96,926187.6,926187.6 +13-12-2019 15:00,2911215.68,1355147.2,1355147.2 +13-12-2019 16:00,3229180.8,1503157.44,1503157.44 +13-12-2019 17:00,2786569.92,1297125.76,1297125.76 +13-12-2019 18:00,6827925.12,3178343.36,3178343.36 +13-12-2019 19:00,4912239.36,2286607.36,2286607.36 +13-12-2019 20:00,3404540.48,1584785.76,1584785.76 +13-12-2019 21:00,3107837.76,1446673.12,1446673.12 +13-12-2019 22:00,1675202.08,779792.88,779792.88 +13-12-2019 23:00,563325.12,262223.26,262223.26 +14-12-2019 00:00,557859.2,259678.92,259678.92 +14-12-2019 01:00,560753.12,261025.98,261025.98 +14-12-2019 02:00,567697.4,264258.54,264258.54 +14-12-2019 03:00,761933.92,354674.04,354674.04 +14-12-2019 04:00,1007332.48,468905.04,468905.04 +14-12-2019 05:00,1150889.76,535729.84,535729.84 +14-12-2019 06:00,1268105.44,590292.8,590292.8 +14-12-2019 07:00,2084824.64,970468.88,970468.88 +14-12-2019 08:00,3783077.76,1760991.84,1760991.84 +14-12-2019 09:00,7392468.48,3441134.08,3441134.08 +14-12-2019 10:00,7327560.96,3410919.68,3410919.68 +14-12-2019 11:00,3305569.28,1538715.52,1538715.52 +14-12-2019 12:00,3217324.16,1497638.08,1497638.08 +14-12-2019 13:00,2325871.52,1082674.32,1082674.32 +14-12-2019 14:00,2305453.12,1073169.68,1073169.68 +14-12-2019 15:00,2967863.36,1381516.32,1381516.32 +14-12-2019 16:00,3229547.84,1503328.32,1503328.32 +14-12-2019 17:00,3185723.52,1482928.32,1482928.32 +14-12-2019 18:00,3181939.52,1481166.88,1481166.88 +14-12-2019 19:00,3231156.16,1504076.8,1504076.8 +14-12-2019 20:00,3237296.96,1506935.36,1506935.36 +14-12-2019 21:00,2573926.08,1198141.6,1198141.6 +14-12-2019 22:00,1158382.96,539217.76,539217.76 +14-12-2019 23:00,676766.08,315029.12,315029.12 +15-12-2019 00:00,674445.04,313948.66,313948.66 +15-12-2019 01:00,654502.4,304665.56,304665.56 +15-12-2019 02:00,780758.32,363436.64,363436.64 +15-12-2019 03:00,894566,416413.16,416413.16 +15-12-2019 04:00,1003195.52,466979.32,466979.32 +15-12-2019 05:00,1022859.6,476132.8,476132.8 +15-12-2019 06:00,1117743.68,520300.52,520300.52 +15-12-2019 07:00,1978001.76,920743.6,920743.6 +15-12-2019 08:00,3727783.04,1735252.64,1735252.64 +15-12-2019 09:00,7220616.96,3361138.24,3361138.24 +15-12-2019 10:00,6445272.32,3000221.76,3000221.76 +15-12-2019 11:00,3288999.36,1531002.24,1531002.24 +15-12-2019 12:00,3138689.6,1461034.4,1461034.4 +15-12-2019 13:00,2208387.68,1027986.48,1027986.48 +15-12-2019 14:00,2025657.12,942926.8,942926.8 +15-12-2019 15:00,2851670.72,1327429.44,1327429.44 +15-12-2019 16:00,2995361.6,1394316.48,1394316.48 +15-12-2019 17:00,3047770.88,1418712.48,1418712.48 +15-12-2019 18:00,3115111.68,1450059.2,1450059.2 +15-12-2019 19:00,3129184.96,1456610.08,1456610.08 +15-12-2019 20:00,3117461.44,1451152.8,1451152.8 +15-12-2019 21:00,2452301.76,1141526.64,1141526.64 +15-12-2019 22:00,1110378.56,516872.12,516872.12 +15-12-2019 23:00,660334.04,307380.12,307380.12 +16-12-2019 00:00,652684.4,303819.3,303819.3 +16-12-2019 01:00,687958.32,320238.96,320238.96 +16-12-2019 02:00,827855.28,385359.88,385359.88 +16-12-2019 03:00,981314.48,456793.84,456793.84 +16-12-2019 04:00,1117652.08,520257.92,520257.92 +16-12-2019 05:00,1168277.44,543823.68,543823.68 +16-12-2019 06:00,1251712.16,582661.8,582661.8 +16-12-2019 07:00,3431699.84,1597428.48,1597428.48 +16-12-2019 08:00,3781398.4,1760210.08,1760210.08 +16-12-2019 09:00,5667253.12,2638059.84,2638059.84 +16-12-2019 10:00,4366523.84,2032580.96,2032580.96 +16-12-2019 11:00,1868739.2,869882.88,869882.88 +16-12-2019 12:00,2096794.88,976040.88,976040.88 +16-12-2019 13:00,1753310.56,816151.76,816151.76 +16-12-2019 14:00,1635655.36,761384.24,761384.24 +16-12-2019 15:00,2551068.8,1187501.68,1187501.68 +16-12-2019 16:00,2985061.12,1389521.76,1389521.76 +16-12-2019 17:00,2502206.56,1164756.8,1164756.8 +16-12-2019 18:00,6696015.36,3116940.8,3116940.8 +16-12-2019 19:00,4540719.36,2113668,2113668 +16-12-2019 20:00,2986813.12,1390336.96,1390336.96 +16-12-2019 21:00,2932078.72,1364858.88,1364858.88 +16-12-2019 22:00,1565701.92,728821.44,728821.44 +16-12-2019 23:00,520308.76,242199.5,242199.5 +17-12-2019 00:00,523821.16,243834.46,243834.46 +17-12-2019 01:00,532213.32,247740.98,247740.98 +17-12-2019 02:00,558490.28,259972.66,259972.66 +17-12-2019 03:00,624984.76,290925.26,290925.26 +17-12-2019 04:00,854218.32,397631.68,397631.68 +17-12-2019 05:00,950533.36,442465.52,442465.52 +17-12-2019 06:00,1077398.4,501520.16,501520.16 +17-12-2019 07:00,2958390.08,1377106.4,1377106.4 +17-12-2019 08:00,3509295.68,1633548.48,1633548.48 +17-12-2019 09:00,5313781.76,2473522.24,2473522.24 +17-12-2019 10:00,3806755.52,1772013.6,1772013.6 +17-12-2019 11:00,1421604.32,661745.16,661745.16 +17-12-2019 12:00,1652758.08,769345.36,769345.36 +17-12-2019 13:00,1089395.28,507104.6,507104.6 +17-12-2019 14:00,1103121.92,513494.28,513494.28 +17-12-2019 15:00,1972261.92,918071.84,918071.84 +17-12-2019 16:00,2370668.64,1103526.96,1103526.96 +17-12-2019 17:00,1934999.2,900726.4,900726.4 +17-12-2019 18:00,6341326.08,2951835.84,2951835.84 +17-12-2019 19:00,3809672.64,1773371.52,1773371.52 +17-12-2019 20:00,2690162.24,1252248.56,1252248.56 +17-12-2019 21:00,2805453.76,1305915.92,1305915.92 +17-12-2019 22:00,1519188.48,707169.84,707169.84 +17-12-2019 23:00,506307.04,235681.78,235681.78 +18-12-2019 00:00,496431.48,231084.8,231084.8 +18-12-2019 01:00,497828.84,231735.3,231735.3 +18-12-2019 02:00,498327.88,231967.56,231967.56 +18-12-2019 03:00,511013.4,237872.58,237872.58 +18-12-2019 04:00,753628.32,350807.84,350807.84 +18-12-2019 05:00,891973.28,415206.28,415206.28 +18-12-2019 06:00,1096594.88,510456,510456 +18-12-2019 07:00,2968604.48,1381861.28,1381861.28 +18-12-2019 08:00,3649599.04,1698858.72,1698858.72 +18-12-2019 09:00,5473351.68,2547800.48,2547800.48 +18-12-2019 10:00,4169131.84,1940697.12,1940697.12 +18-12-2019 11:00,1645994.72,766197.12,766197.12 +18-12-2019 12:00,1936930.08,901625.12,901625.12 +18-12-2019 13:00,1549708.48,721376.72,721376.72 +18-12-2019 14:00,1504166.08,700177.12,700177.12 +18-12-2019 15:00,2467440,1148572.96,1148572.96 +18-12-2019 16:00,2923361.92,1360801.12,1360801.12 +18-12-2019 17:00,2535092.48,1180064.96,1180064.96 +18-12-2019 18:00,6719100.8,3127686.4,3127686.4 +18-12-2019 19:00,4551378.56,2118629.44,2118629.44 +18-12-2019 20:00,2943865.92,1370345.6,1370345.6 +18-12-2019 21:00,2890677.12,1345586.4,1345586.4 +18-12-2019 22:00,1546451.84,719860.8,719860.8 +18-12-2019 23:00,514996.44,239726.66,239726.66 +19-12-2019 00:00,506312.92,235684.56,235684.56 +19-12-2019 01:00,487704.16,227022.32,227022.32 +19-12-2019 02:00,480586.24,223708.98,223708.98 +19-12-2019 03:00,490619.04,228379.16,228379.16 +19-12-2019 04:00,702833.52,327163.26,327163.26 +19-12-2019 05:00,801045.92,372880.36,372880.36 +19-12-2019 06:00,959205.28,446502.2,446502.2 +19-12-2019 07:00,2785380.48,1296571.76,1296571.76 +19-12-2019 08:00,3488009.92,1623640.16,1623640.16 +19-12-2019 09:00,5299234.24,2466750.56,2466750.56 +19-12-2019 10:00,3739954.88,1740918.4,1740918.4 +19-12-2019 11:00,1357188,631759.88,631759.88 +19-12-2019 12:00,1591471.36,740816.88,740816.88 +19-12-2019 13:00,1228081.68,571662,571662 +19-12-2019 14:00,1124695.84,523536.68,523536.68 +19-12-2019 15:00,2008792.8,935076.56,935076.56 +19-12-2019 16:00,2361564.64,1099289.04,1099289.04 +19-12-2019 17:00,1981991.52,922600.88,922600.88 +19-12-2019 18:00,6262668.8,2915221.12,2915221.12 +19-12-2019 19:00,3661882.24,1704576.32,1704576.32 +19-12-2019 20:00,2402090.08,1118153.44,1118153.44 +19-12-2019 21:00,2358124.32,1097687.6,1097687.6 +19-12-2019 22:00,1280485.36,596055.48,596055.48 +19-12-2019 23:00,415765.2,193535.32,193535.32 +20-12-2019 00:00,411698.64,191642.34,191642.34 +20-12-2019 01:00,408518.92,190162.24,190162.24 +20-12-2019 02:00,407171.12,189534.84,189534.84 +20-12-2019 03:00,409397.16,190571.02,190571.02 +20-12-2019 04:00,418016.44,194583.24,194583.24 +20-12-2019 05:00,531240.28,247288,247288 +20-12-2019 06:00,697164.64,324524.44,324524.44 +20-12-2019 07:00,2311053.76,1075776.72,1075776.72 +20-12-2019 08:00,3162830.72,1472271.84,1472271.84 +20-12-2019 09:00,4990726.72,2323142.56,2323142.56 +20-12-2019 10:00,3252318.4,1513927.68,1513927.68 +20-12-2019 11:00,1256755.12,585009.28,585009.28 +20-12-2019 12:00,1572751.2,732102.88,732102.88 +20-12-2019 13:00,1230127.2,572614.12,572614.12 +20-12-2019 14:00,1062425.04,494550.16,494550.16 +20-12-2019 15:00,1996793.76,929491.2,929491.2 +20-12-2019 16:00,2384630.88,1110026.16,1110026.16 +20-12-2019 17:00,1998258.4,930172.96,930172.96 +20-12-2019 18:00,6266752.64,2917122.24,2917122.24 +20-12-2019 19:00,3654608,1701190.24,1701190.24 +20-12-2019 20:00,2560356,1191824.72,1191824.72 +20-12-2019 21:00,2550432.64,1187205.44,1187205.44 +20-12-2019 22:00,1364642.88,635230.16,635230.16 +20-12-2019 23:00,440559.52,205076.88,205076.88 +21-12-2019 00:00,447472,208294.58,208294.58 +21-12-2019 01:00,450826.2,209855.92,209855.92 +21-12-2019 02:00,467045.12,217405.72,217405.72 +21-12-2019 03:00,465013.88,216460.18,216460.18 +21-12-2019 04:00,546673.28,254471.94,254471.94 +21-12-2019 05:00,744979.04,346781.68,346781.68 +21-12-2019 06:00,906306,421878.04,421878.04 +21-12-2019 07:00,1796326.56,836175.44,836175.44 +21-12-2019 08:00,3484540.16,1622024.96,1622024.96 +21-12-2019 09:00,6777160.96,3154713.28,3154713.28 +21-12-2019 10:00,6345489.92,2953774.08,2953774.08 +21-12-2019 11:00,3019934.72,1405754.88,1405754.88 +21-12-2019 12:00,2671531.68,1243576.08,1243576.08 +21-12-2019 13:00,1873023.04,871876.96,871876.96 +21-12-2019 14:00,1753752.16,816357.36,816357.36 +21-12-2019 15:00,2527286.88,1176431.36,1176431.36 +21-12-2019 16:00,2639577.6,1228701.76,1228701.76 +21-12-2019 17:00,2677271.68,1246248.08,1246248.08 +21-12-2019 18:00,2720570.56,1266403.44,1266403.44 +21-12-2019 19:00,2710082.88,1261521.6,1261521.6 +21-12-2019 20:00,2753947.52,1281940.16,1281940.16 +21-12-2019 21:00,2136498.08,994522.4,994522.4 +21-12-2019 22:00,959875.76,446814.36,446814.36 +21-12-2019 23:00,547359.76,254791.52,254791.52 +22-12-2019 00:00,535250.72,249154.84,249154.84 +22-12-2019 01:00,551695.2,256809.6,256809.6 +22-12-2019 02:00,552499.68,257184.14,257184.14 +22-12-2019 03:00,677219.44,315240.14,315240.14 +22-12-2019 04:00,776799.28,361593.72,361593.72 +22-12-2019 05:00,873768.56,406732.16,406732.16 +22-12-2019 06:00,972161.28,452533.12,452533.12 +22-12-2019 07:00,1817618.4,846086.56,846086.56 +22-12-2019 08:00,3445910.08,1604043.04,1604043.04 +22-12-2019 09:00,6802711.68,3166606.72,3166606.72 +22-12-2019 10:00,6240470.4,2904888.32,2904888.32 +22-12-2019 11:00,2997620.48,1395367.84,1395367.84 +22-12-2019 12:00,2702480.32,1257982.56,1257982.56 +22-12-2019 13:00,1847374.08,859937.6,859937.6 +22-12-2019 14:00,1713243.52,797500.88,797500.88 +22-12-2019 15:00,2467651.84,1148671.76,1148671.76 +22-12-2019 16:00,2622486.08,1220745.76,1220745.76 +22-12-2019 17:00,2686148.16,1250379.92,1250379.92 +22-12-2019 18:00,2684207.04,1249476.48,1249476.48 +22-12-2019 19:00,2690428.48,1252372.4,1252372.4 +22-12-2019 20:00,2688601.92,1251522.32,1251522.32 +22-12-2019 21:00,2101009.28,978002.72,978002.72 +22-12-2019 22:00,962697.84,448128,448128 +22-12-2019 23:00,554503.6,258116.92,258116.92 +23-12-2019 00:00,549582.44,255826.16,255826.16 +23-12-2019 01:00,535182.2,249122.98,249122.98 +23-12-2019 02:00,539929.64,251332.82,251332.82 +23-12-2019 03:00,649763.44,302459.56,302459.56 +23-12-2019 04:00,754084.56,351020.24,351020.24 +23-12-2019 05:00,858669.44,399703.6,399703.6 +23-12-2019 06:00,985792.56,458878.4,458878.4 +23-12-2019 07:00,2772913.6,1290768.64,1290768.64 +23-12-2019 08:00,3516647.04,1636970.56,1636970.56 +23-12-2019 09:00,5367560.96,2498556.16,2498556.16 +23-12-2019 10:00,3949357.76,1838393.76,1838393.76 +23-12-2019 11:00,1578491.52,734774.88,734774.88 +23-12-2019 12:00,1841405.44,857159.2,857159.2 +23-12-2019 13:00,1508486.72,702188.32,702188.32 +23-12-2019 14:00,1313876.08,611598.56,611598.56 +23-12-2019 15:00,2250669.92,1047668.48,1047668.48 +23-12-2019 16:00,2659986.4,1238201.92,1238201.92 +23-12-2019 17:00,2205843.52,1026802.16,1026802.16 +23-12-2019 18:00,6478289.92,3015591.04,3015591.04 +23-12-2019 19:00,3889249.92,1810414.24,1810414.24 +23-12-2019 20:00,2717438.08,1264945.2,1264945.2 +23-12-2019 21:00,2679278.88,1247182.64,1247182.64 +23-12-2019 22:00,1437751.36,669261.48,669261.48 +23-12-2019 23:00,488351.4,227323.6,227323.6 +24-12-2019 00:00,487844.56,227087.66,227087.66 +24-12-2019 01:00,493187.52,229574.72,229574.72 +24-12-2019 02:00,490006.6,228094.08,228094.08 +24-12-2019 03:00,489786.12,227991.46,227991.46 +24-12-2019 04:00,698287.04,325046.96,325046.96 +24-12-2019 05:00,862444.8,401461.04,401461.04 +24-12-2019 06:00,1008138.4,469280.2,469280.2 +24-12-2019 07:00,2834455.68,1319416,1319416 +24-12-2019 08:00,3574211.84,1663766.4,1663766.4 +24-12-2019 09:00,5457911.68,2540613.28,2540613.28 +24-12-2019 10:00,4051805.12,1886082.24,1886082.24 +24-12-2019 11:00,1548855.52,720979.68,720979.68 +24-12-2019 12:00,1798448.96,837163.28,837163.28 +24-12-2019 13:00,1407998.08,655411.68,655411.68 +24-12-2019 14:00,1347421.44,627213.76,627213.76 +24-12-2019 15:00,2217379.36,1032172,1032172 +24-12-2019 16:00,2593627.2,1207312.24,1207312.24 +24-12-2019 17:00,2143247.36,997664.16,997664.16 +24-12-2019 18:00,6371966.08,2966098.24,2966098.24 +24-12-2019 19:00,3792376.32,1765320.16,1765320.16 +24-12-2019 20:00,2562387.2,1192770.24,1192770.24 +24-12-2019 21:00,2538312.32,1181563.76,1181563.76 +24-12-2019 22:00,1365517.92,635637.44,635637.44 +24-12-2019 23:00,442463.48,205963.14,205963.14 +25-12-2019 00:00,435443.52,202695.4,202695.4 +25-12-2019 01:00,441726.32,205620.02,205620.02 +25-12-2019 02:00,444532.64,206926.32,206926.32 +25-12-2019 03:00,448350.08,208703.32,208703.32 +25-12-2019 04:00,510630.72,237694.42,237694.42 +25-12-2019 05:00,699720.8,325714.3,325714.3 +25-12-2019 06:00,869569.52,404777.52,404777.52 +25-12-2019 07:00,2638503.84,1228202,1228202 +25-12-2019 08:00,3429164.16,1596248,1596248 +25-12-2019 09:00,5317527.68,2475265.6,2475265.6 +25-12-2019 10:00,3451974.08,1606865.92,1606865.92 +25-12-2019 11:00,1136037.36,528816.16,528816.16 +25-12-2019 12:00,1622675.36,755342.16,755342.16 +25-12-2019 13:00,1421932,661897.76,661897.76 +25-12-2019 14:00,1431615.68,666405.4,666405.4 +25-12-2019 15:00,2250723.2,1047693.12,1047693.12 +25-12-2019 16:00,2664705.76,1240398.8,1240398.8 +25-12-2019 17:00,2270948.32,1057107.92,1057107.92 +25-12-2019 18:00,6494942.72,3023342.72,3023342.72 +25-12-2019 19:00,3994727.04,1859512.64,1859512.64 +25-12-2019 20:00,2751355.52,1280733.52,1280733.52 +25-12-2019 21:00,2714341.44,1263503.76,1263503.76 +25-12-2019 22:00,1467143.04,682943.2,682943.2 +25-12-2019 23:00,497538.44,231600.08,231600.08 +26-12-2019 00:00,480939.2,223873.26,223873.26 +26-12-2019 01:00,478861.32,222906.02,222906.02 +26-12-2019 02:00,484527.88,225543.78,225543.78 +26-12-2019 03:00,491401.76,228743.54,228743.54 +26-12-2019 04:00,707959.44,329549.32,329549.32 +26-12-2019 05:00,849052.8,395227.16,395227.16 +26-12-2019 06:00,1094039.28,509266.32,509266.32 +26-12-2019 07:00,2927377.6,1362670.24,1362670.24 +26-12-2019 08:00,3677003.52,1711615.04,1711615.04 +26-12-2019 09:00,5520153.6,2569586.72,2569586.72 +26-12-2019 10:00,4175600,1943707.84,1943707.84 +26-12-2019 11:00,1782792.8,829875.52,829875.52 +26-12-2019 12:00,2075876.48,966303.44,966303.44 +26-12-2019 13:00,1727728.96,804243.68,804243.68 +26-12-2019 14:00,1626565.92,757153.12,757153.12 +26-12-2019 15:00,2532625.76,1178916.48,1178916.48 +26-12-2019 16:00,2938339.52,1367773.12,1367773.12 +26-12-2019 17:00,2477264.96,1153146.64,1153146.64 +26-12-2019 18:00,6679472.64,3109240.32,3109240.32 +26-12-2019 19:00,4598167.36,2140409.6,2140409.6 +26-12-2019 20:00,2990873.28,1392227.2,1392227.2 +26-12-2019 21:00,2940351.36,1368709.76,1368709.76 +26-12-2019 22:00,1593705.28,741856.88,741856.88 +26-12-2019 23:00,533117.92,248162.04,248162.04 +27-12-2019 00:00,521230.24,242628.42,242628.42 +27-12-2019 01:00,519381.84,241768,241768 +27-12-2019 02:00,514949.72,239704.9,239704.9 +27-12-2019 03:00,594828.08,276887.64,276887.64 +27-12-2019 04:00,817022.96,380317.48,380317.48 +27-12-2019 05:00,1015292.64,472610.52,472610.52 +27-12-2019 06:00,1225044.8,570248.36,570248.36 +27-12-2019 07:00,3319392,1545149.92,1545149.92 +27-12-2019 08:00,3967368.64,1846777.76,1846777.76 +27-12-2019 09:00,5798083.2,2698960.32,2698960.32 +27-12-2019 10:00,4109843.84,1913098.88,1913098.88 +27-12-2019 11:00,1498128,697366.32,697366.32 +27-12-2019 12:00,1910375.52,889264.24,889264.24 +27-12-2019 13:00,1312508.8,610962.08,610962.08 +27-12-2019 14:00,1146989.12,533914,533914 +27-12-2019 15:00,2592435.04,1206757.36,1206757.36 +27-12-2019 16:00,3139300.16,1461318.88,1461318.88 +27-12-2019 17:00,2769580.48,1289217.2,1289217.2 +27-12-2019 18:00,7016078.08,3265927.36,3265927.36 +27-12-2019 19:00,5187186.56,2414592.96,2414592.96 +27-12-2019 20:00,3556809.28,1655665.6,1655665.6 +27-12-2019 21:00,3468462.72,1614540.96,1614540.96 +27-12-2019 22:00,1901232.64,885008.32,885008.32 +27-12-2019 23:00,679960.4,316516.02,316516.02 +28-12-2019 00:00,646182,300792.44,300792.44 +28-12-2019 01:00,669339.16,311571.92,311571.92 +28-12-2019 02:00,971645.84,452293.2,452293.2 +28-12-2019 03:00,1330992.8,619566.24,619566.24 +28-12-2019 04:00,1500965.6,698687.12,698687.12 +28-12-2019 05:00,1570413.92,731014.8,731014.8 +28-12-2019 06:00,1749968.32,814595.92,814595.92 +28-12-2019 07:00,2631991.2,1225170.32,1225170.32 +28-12-2019 08:00,4524098.24,2105930.72,2105930.72 +28-12-2019 09:00,8360060.8,3891540.16,3891540.16 +28-12-2019 10:00,8571788.8,3990097.6,3990097.6 +28-12-2019 11:00,4556490.88,2121008.96,2121008.96 +28-12-2019 12:00,3908085.12,1819181.6,1819181.6 +28-12-2019 13:00,2920102.4,1359283.84,1359283.84 +28-12-2019 14:00,2683535.84,1249164.08,1249164.08 +28-12-2019 15:00,3460974.08,1611055.2,1611055.2 +28-12-2019 16:00,3671891.2,1709235.36,1709235.36 +28-12-2019 17:00,3696169.92,1720537.12,1720537.12 +28-12-2019 18:00,3761520.32,1750956.8,1750956.8 +28-12-2019 19:00,3773340.48,1756459.36,1756459.36 +28-12-2019 20:00,3777032.32,1758177.76,1758177.76 +28-12-2019 21:00,2994033.92,1393698.56,1393698.56 +28-12-2019 22:00,1387102.24,645684.76,645684.76 +28-12-2019 23:00,846199.84,393899.12,393899.12 +29-12-2019 00:00,843992.24,392871.48,392871.48 +29-12-2019 01:00,1079091.28,502308.12,502308.12 +29-12-2019 02:00,1298950.4,604650.88,604650.88 +29-12-2019 03:00,1515060.16,705248.16,705248.16 +29-12-2019 04:00,1624326.08,756110.56,756110.56 +29-12-2019 05:00,1749105.12,814194.08,814194.08 +29-12-2019 06:00,1880459.68,875338.72,875338.72 +29-12-2019 07:00,2810654.4,1308336.8,1308336.8 +29-12-2019 08:00,4597303.36,2140007.04,2140007.04 +29-12-2019 09:00,8431591.68,3924836.8,3924836.8 +29-12-2019 10:00,8736594.56,4066813.12,4066813.12 +29-12-2019 11:00,4714684.16,2194647.2,2194647.2 +29-12-2019 12:00,4088308.8,1903074.4,1903074.4 +29-12-2019 13:00,3074810.56,1431299.36,1431299.36 +29-12-2019 14:00,2795516.16,1301289.92,1301289.92 +29-12-2019 15:00,3528025.92,1642267.36,1642267.36 +29-12-2019 16:00,3691379.52,1718307.2,1718307.2 +29-12-2019 17:00,3702349.76,1723413.76,1723413.76 +29-12-2019 18:00,3763259.52,1751766.56,1751766.56 +29-12-2019 19:00,3743818.56,1742717.12,1742717.12 +29-12-2019 20:00,3688952,1717176.96,1717176.96 +29-12-2019 21:00,2880509.44,1340853.76,1340853.76 +29-12-2019 22:00,1340306.88,623901.92,623901.92 +29-12-2019 23:00,809518.64,376824.36,376824.36 +30-12-2019 00:00,820538.32,381953.92,381953.92 +30-12-2019 01:00,972692.8,452780.56,452780.56 +30-12-2019 02:00,1195937.6,556699.2,556699.2 +30-12-2019 03:00,1347599.36,627296.44,627296.44 +30-12-2019 04:00,1424759.84,663214.12,663214.12 +30-12-2019 05:00,1518690.56,706938.08,706938.08 +30-12-2019 06:00,1680480.64,782250.16,782250.16 +30-12-2019 07:00,4299094.08,2001193.28,2001193.28 +30-12-2019 08:00,4379879.36,2038797.92,2038797.92 +30-12-2019 09:00,6262255.36,2915028.48,2915028.48 +30-12-2019 10:00,4937109.76,2298184.64,2298184.64 +30-12-2019 11:00,1939737.44,902931.92,902931.92 +30-12-2019 12:00,2234972.16,1040361.2,1040361.2 +30-12-2019 13:00,1553762.72,723263.84,723263.84 +30-12-2019 14:00,1349160.16,628023,628023 +30-12-2019 15:00,2699420.16,1256558.08,1256558.08 +30-12-2019 16:00,3333493.76,1551714.24,1551714.24 +30-12-2019 17:00,2938518.4,1367856.64,1367856.64 +30-12-2019 18:00,7011414.4,3263756.16,3263756.16 +30-12-2019 19:00,5179378.56,2410958.08,2410958.08 +30-12-2019 20:00,3546043.2,1650654.08,1650654.08 +30-12-2019 21:00,3454294.72,1607945.92,1607945.92 +30-12-2019 22:00,1874962.72,872779.84,872779.84 +30-12-2019 23:00,640066.36,297945.68,297945.68 +31-12-2019 00:00,632978.56,294646.36,294646.36 +31-12-2019 01:00,660860.28,307625.1,307625.1 +31-12-2019 02:00,858265.2,399515.44,399515.44 +31-12-2019 03:00,1077138.16,501399,501399 +31-12-2019 04:00,1216454.08,566249.44,566249.44 +31-12-2019 05:00,1325419.04,616971.8,616971.8 +31-12-2019 06:00,1480058.4,688955.04,688955.04 +31-12-2019 07:00,4003134.4,1863426.56,1863426.56 +31-12-2019 08:00,4382422.72,2039981.92,2039981.92 +31-12-2019 09:00,6353316.48,2957416.96,2957416.96 +31-12-2019 10:00,5163092.16,2403377.12,2403377.12 +31-12-2019 11:00,2334007.04,1086461.2,1086461.2 +31-12-2019 12:00,2401025.6,1117657.84,1117657.84 +31-12-2019 13:00,1955689.76,910357.68,910357.68 +31-12-2019 14:00,1832252.64,852898.72,852898.72 +31-12-2019 15:00,2842502.4,1323161.76,1323161.76 +31-12-2019 16:00,3568267.2,1660999.36,1660999.36 +31-12-2019 17:00,3335693.12,1552738.08,1552738.08 +31-12-2019 18:00,7224321.28,3362862.4,3362862.4 +31-12-2019 19:00,5380440.32,2504551.04,2504551.04 +31-12-2019 20:00,3804522.56,1770974.4,1770974.4 +31-12-2019 21:00,3493694.72,1626286.56,1626286.56 +31-12-2019 22:00,1902987.36,885825.12,885825.12 +31-12-2019 23:00,1902987.36,885825.12,885825.12 diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/input/forecast_low_prob/Warmte_test.csv b/tests/models/test_case_small_network_ates_buffer_optional_assets/input/forecast_low_prob/Warmte_test.csv new file mode 100644 index 000000000..1d3c86d0a --- /dev/null +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/input/forecast_low_prob/Warmte_test.csv @@ -0,0 +1,8761 @@ +DateTime,HeatingDemand_1,HeatingDemand_2,HeatingDemand_3 +1-1-2019 00:00,389449.05600000004,181285.36000000002,181285.36000000002 +1-1-2019 01:00,389357.40800000005,181242.688,181242.688 +1-1-2019 02:00,408521.568,190163.472,190163.472 +1-1-2019 03:00,572022.336,266271.728,266271.728 +1-1-2019 04:00,714657.664,332667.29600000003,332667.29600000003 +1-1-2019 05:00,791456.5120000001,368416.544,368416.544 +1-1-2019 06:00,901686.5920000001,419727.776,419727.776 +1-1-2019 07:00,2733279.2320000003,1272319.232,1272319.232 +1-1-2019 08:00,3270065.92,1522188.928,1522188.928 +1-1-2019 09:00,4607626.752,2144812.672,2144812.672 +1-1-2019 10:00,3730280.9600000004,1736415.232,1736415.232 +1-1-2019 11:00,1594376.704,742169.344,742169.344 +1-1-2019 12:00,1807295.7440000002,841281.4720000001,841281.4720000001 +1-1-2019 13:00,1504059.2640000002,700127.36,700127.36 +1-1-2019 14:00,1395334.144,649516.672,649516.672 +1-1-2019 15:00,2166947.328,1008696.32,1008696.32 +1-1-2019 16:00,2511094.0160000003,1168893.6960000002,1168893.6960000002 +1-1-2019 17:00,2135413.888,994017.6640000001,994017.6640000001 +1-1-2019 18:00,5378627.584000001,2503707.136,2503707.136 +1-1-2019 19:00,3819979.776,1778169.3440000003,1778169.3440000003 +1-1-2019 20:00,2650302.72,1233694.336,1233694.336 +1-1-2019 21:00,2432450.304,1132285.6960000002,1132285.6960000002 +1-1-2019 22:00,1307753.8560000001,608748.672,608748.672 +1-1-2019 23:00,382461.60000000003,178032.768,178032.768 +2-1-2019 00:00,389449.05600000004,181285.36000000002,181285.36000000002 +2-1-2019 01:00,389357.40800000005,181242.688,181242.688 +2-1-2019 02:00,408521.568,190163.472,190163.472 +2-1-2019 03:00,572022.336,266271.728,266271.728 +2-1-2019 04:00,714657.664,332667.29600000003,332667.29600000003 +2-1-2019 05:00,791456.5120000001,368416.544,368416.544 +2-1-2019 06:00,901686.5920000001,419727.776,419727.776 +2-1-2019 07:00,2733279.2320000003,1272319.232,1272319.232 +2-1-2019 08:00,3270065.92,1522188.928,1522188.928 +2-1-2019 09:00,4607626.752,2144812.672,2144812.672 +2-1-2019 10:00,3730280.9600000004,1736415.232,1736415.232 +2-1-2019 11:00,1594376.704,742169.344,742169.344 +2-1-2019 12:00,1807295.7440000002,841281.4720000001,841281.4720000001 +2-1-2019 13:00,1504059.2640000002,700127.36,700127.36 +2-1-2019 14:00,1395334.144,649516.672,649516.672 +2-1-2019 15:00,2166947.328,1008696.32,1008696.32 +2-1-2019 16:00,2511094.0160000003,1168893.6960000002,1168893.6960000002 +2-1-2019 17:00,2135413.888,994017.6640000001,994017.6640000001 +2-1-2019 18:00,5378627.584000001,2503707.136,2503707.136 +2-1-2019 19:00,3819979.776,1778169.3440000003,1778169.3440000003 +2-1-2019 20:00,2650302.72,1233694.336,1233694.336 +2-1-2019 21:00,2432450.304,1132285.6960000002,1132285.6960000002 +2-1-2019 22:00,1307753.8560000001,608748.672,608748.672 +2-1-2019 23:00,382461.60000000003,178032.768,178032.768 +3-1-2019 00:00,389449.05600000004,181285.36000000002,181285.36000000002 +3-1-2019 01:00,389357.40800000005,181242.688,181242.688 +3-1-2019 02:00,408521.568,190163.472,190163.472 +3-1-2019 03:00,572022.336,266271.728,266271.728 +3-1-2019 04:00,714657.664,332667.29600000003,332667.29600000003 +3-1-2019 05:00,791456.5120000001,368416.544,368416.544 +3-1-2019 06:00,901686.5920000001,419727.776,419727.776 +3-1-2019 07:00,2733279.2320000003,1272319.232,1272319.232 +3-1-2019 08:00,3270065.92,1522188.928,1522188.928 +3-1-2019 09:00,4607626.752,2144812.672,2144812.672 +3-1-2019 10:00,3730280.9600000004,1736415.232,1736415.232 +3-1-2019 11:00,1594376.704,742169.344,742169.344 +3-1-2019 12:00,1807295.7440000002,841281.4720000001,841281.4720000001 +3-1-2019 13:00,1504059.2640000002,700127.36,700127.36 +3-1-2019 14:00,1395334.144,649516.672,649516.672 +3-1-2019 15:00,2166947.328,1008696.32,1008696.32 +3-1-2019 16:00,2511094.0160000003,1168893.6960000002,1168893.6960000002 +3-1-2019 17:00,2135413.888,994017.6640000001,994017.6640000001 +3-1-2019 18:00,5378627.584000001,2503707.136,2503707.136 +3-1-2019 19:00,3819979.776,1778169.3440000003,1778169.3440000003 +3-1-2019 20:00,2650302.72,1233694.336,1233694.336 +3-1-2019 21:00,2432450.304,1132285.6960000002,1132285.6960000002 +3-1-2019 22:00,1307753.8560000001,608748.672,608748.672 +3-1-2019 23:00,382461.60000000003,178032.768,178032.768 +4-1-2019 00:00,389449.05600000004,181285.36000000002,181285.36000000002 +4-1-2019 01:00,389357.40800000005,181242.688,181242.688 +4-1-2019 02:00,408521.568,190163.472,190163.472 +4-1-2019 03:00,572022.336,266271.728,266271.728 +4-1-2019 04:00,714657.664,332667.29600000003,332667.29600000003 +4-1-2019 05:00,791456.5120000001,368416.544,368416.544 +4-1-2019 06:00,901686.5920000001,419727.776,419727.776 +4-1-2019 07:00,2733279.2320000003,1272319.232,1272319.232 +4-1-2019 08:00,3270065.92,1522188.928,1522188.928 +4-1-2019 09:00,4607626.752,2144812.672,2144812.672 +4-1-2019 10:00,3730280.9600000004,1736415.232,1736415.232 +4-1-2019 11:00,1594376.704,742169.344,742169.344 +4-1-2019 12:00,1807295.7440000002,841281.4720000001,841281.4720000001 +4-1-2019 13:00,1504059.2640000002,700127.36,700127.36 +4-1-2019 14:00,1395334.144,649516.672,649516.672 +4-1-2019 15:00,2166947.328,1008696.32,1008696.32 +4-1-2019 16:00,2511094.0160000003,1168893.6960000002,1168893.6960000002 +4-1-2019 17:00,2135413.888,994017.6640000001,994017.6640000001 +4-1-2019 18:00,5378627.584000001,2503707.136,2503707.136 +4-1-2019 19:00,3819979.776,1778169.3440000003,1778169.3440000003 +4-1-2019 20:00,2650302.72,1233694.336,1233694.336 +4-1-2019 21:00,2432450.304,1132285.6960000002,1132285.6960000002 +4-1-2019 22:00,1307753.8560000001,608748.672,608748.672 +4-1-2019 23:00,382461.60000000003,178032.768,178032.768 +5-1-2019 00:00,373935.68,174064.016,174064.016 +5-1-2019 01:00,375520.672,174801.80800000002,174801.80800000002 +5-1-2019 02:00,368404.896,171489.472,171489.472 +5-1-2019 03:00,382465.88800000004,178034.768,178034.768 +5-1-2019 04:00,541865.344,252233.888,252233.888 +5-1-2019 05:00,649244.736,302218.112,302218.112 +5-1-2019 06:00,729086.912,339384.0,339384.0 +5-1-2019 07:00,1426166.528,663868.8640000001,663868.8640000001 +5-1-2019 08:00,2820078.592,1312723.584,1312723.584 +5-1-2019 09:00,5690217.984000001,2648750.08,2648750.08 +5-1-2019 10:00,5845318.656,2720947.9680000003,2720947.9680000003 +5-1-2019 11:00,2634747.904,1226453.76,1226453.76 +5-1-2019 12:00,2429994.2399999998,1131142.4000000001,1131142.4000000001 +5-1-2019 13:00,1760390.016,819447.2960000001,819447.2960000001 +5-1-2019 14:00,1611545.344,750161.152,750161.152 +5-1-2019 15:00,2221606.1440000003,1034139.52,1034139.52 +5-1-2019 16:00,2383732.224,1109608.064,1109608.064 +5-1-2019 17:00,2391257.6,1113110.912,1113110.912 +5-1-2019 18:00,2424414.464,1128545.152,1128545.152 +5-1-2019 19:00,2450414.848,1140648.192,1140648.192 +5-1-2019 20:00,2463197.184,1146598.144,1146598.144 +5-1-2019 21:00,1935852.672,901123.648,901123.648 +5-1-2019 22:00,837491.2000000001,389845.31200000003,389845.31200000003 +5-1-2019 23:00,470093.216,218824.56000000003,218824.56000000003 +6-1-2019 00:00,468723.29600000003,218186.86400000003,218186.86400000003 +6-1-2019 01:00,465900.48,216872.848,216872.848 +6-1-2019 02:00,503107.168,234192.288,234192.288 +6-1-2019 03:00,633853.824,295053.824,295053.824 +6-1-2019 04:00,736216.96,342702.944,342702.944 +6-1-2019 05:00,798272.8960000001,371589.536,371589.536 +6-1-2019 06:00,881843.7760000001,410491.07200000004,410491.07200000004 +6-1-2019 07:00,1562769.536,727456.5120000001,727456.5120000001 +6-1-2019 08:00,2952541.44,1374383.8720000002,1374383.8720000002 +6-1-2019 09:00,5859076.608,2727352.5760000004,2727352.5760000004 +6-1-2019 10:00,5902736.384000001,2747675.904,2747675.904 +6-1-2019 11:00,2694365.6960000005,1254205.1840000001,1254205.1840000001 +6-1-2019 12:00,2488792.32,1158512.6400000001,1158512.6400000001 +6-1-2019 13:00,1784039.6800000002,830455.9360000001,830455.9360000001 +6-1-2019 14:00,1632592.256,759958.3360000001,759958.3360000001 +6-1-2019 15:00,2284609.7920000004,1063467.2,1063467.2 +6-1-2019 16:00,2414510.848,1123935.104,1123935.104 +6-1-2019 17:00,2436888.0640000002,1134351.4880000001,1134351.4880000001 +6-1-2019 18:00,2449293.3120000004,1140126.08,1140126.08 +6-1-2019 19:00,2461319.68,1145724.16,1145724.16 +6-1-2019 20:00,2459868.416,1145048.5760000001,1145048.5760000001 +6-1-2019 21:00,1932215.6800000002,899430.6560000001,899430.6560000001 +6-1-2019 22:00,873377.536,406550.14400000003,406550.14400000003 +6-1-2019 23:00,511406.1440000001,238055.42400000003,238055.42400000003 +7-1-2019 00:00,542600.704,252576.192,252576.192 +7-1-2019 01:00,581104.768,270499.52,270499.52 +7-1-2019 02:00,751627.7760000001,349876.576,349876.576 +7-1-2019 03:00,886774.784,412786.43200000003,412786.43200000003 +7-1-2019 04:00,958632.8960000002,446235.8400000001,446235.8400000001 +7-1-2019 05:00,959104.32,446455.26399999997,446455.26399999997 +7-1-2019 06:00,1000599.04,465770.65599999996,465770.65599999996 +7-1-2019 07:00,2872745.472,1337239.5520000001,1337239.5520000001 +7-1-2019 08:00,3172869.12,1476944.6400000001,1476944.6400000001 +7-1-2019 09:00,4581014.528,2132424.832,2132424.832 +7-1-2019 10:00,3600075.776,1675806.08,1675806.08 +7-1-2019 11:00,1489846.912,693511.552,693511.552 +7-1-2019 12:00,1678450.432,781305.0240000001,781305.0240000001 +7-1-2019 13:00,1363673.216,634778.752,634778.752 +7-1-2019 14:00,1239699.0720000002,577069.76,577069.76 +7-1-2019 15:00,1980667.52,921984.576,921984.576 +7-1-2019 16:00,2331100.672,1085108.352,1085108.352 +7-1-2019 17:00,1973153.92,918487.04,918487.04 +7-1-2019 18:00,5326609.920000001,2479493.632,2479493.632 +7-1-2019 19:00,3654071.5520000006,1700940.4160000002,1700940.4160000002 +7-1-2019 20:00,2294993.408,1068300.672,1068300.672 +7-1-2019 21:00,2200854.784,1024480.0640000001,1024480.0640000001 +7-1-2019 22:00,1137752.5760000001,529614.656,529614.656 +7-1-2019 23:00,373254.368,173746.864,173746.864 +8-1-2019 00:00,377045.31200000003,175511.52000000002,175511.52000000002 +8-1-2019 01:00,379244.0,176534.992,176534.992 +8-1-2019 02:00,380065.824,176917.53600000002,176917.53600000002 +8-1-2019 03:00,388259.10400000005,180731.44,180731.44 +8-1-2019 04:00,541233.152,251939.63199999998,251939.63199999998 +8-1-2019 05:00,676382.912,314850.72000000003,314850.72000000003 +8-1-2019 06:00,838917.504,390509.248,390509.248 +8-1-2019 07:00,2377814.784,1106853.376,1106853.376 +8-1-2019 08:00,2912442.112,1355718.016,1355718.016 +8-1-2019 09:00,4371523.584000001,2034908.1600000001,2034908.1600000001 +8-1-2019 10:00,3321865.216,1546301.1840000001,1546301.1840000001 +8-1-2019 11:00,1298967.6800000002,604658.88,604658.88 +8-1-2019 12:00,1590444.8,740339.072,740339.072 +8-1-2019 13:00,1313517.312,611431.552,611431.552 +8-1-2019 14:00,1232402.304,573673.216,573673.216 +8-1-2019 15:00,1973853.568,918812.6720000001,918812.6720000001 +8-1-2019 16:00,2331165.952,1085138.816,1085138.816 +8-1-2019 17:00,1968280.704,916218.6240000001,916218.6240000001 +8-1-2019 18:00,5334093.824000001,2482977.0239999997,2482977.0239999997 +8-1-2019 19:00,3665726.976,1706365.952,1706365.952 +8-1-2019 20:00,2422335.2320000003,1127577.344,1127577.344 +8-1-2019 21:00,2413767.68,1123589.1199999999,1123589.1199999999 +8-1-2019 22:00,1322103.424,615428.352,615428.352 +8-1-2019 23:00,421160.80000000005,196046.88,196046.88 +9-1-2019 00:00,442135.10400000005,205810.304,205810.304 +9-1-2019 01:00,429427.2320000001,199894.88,199894.88 +9-1-2019 02:00,444224.128,206782.72,206782.72 +9-1-2019 03:00,581146.2400000001,270518.848,270518.848 +9-1-2019 04:00,780986.368,363542.784,363542.784 +9-1-2019 05:00,878904.128,409122.688,409122.688 +9-1-2019 06:00,1007616.3840000001,469037.2480000001,469037.2480000001 +9-1-2019 07:00,2754266.8800000004,1282088.8320000002,1282088.8320000002 +9-1-2019 08:00,3177025.7920000004,1478879.6160000002,1478879.6160000002 +9-1-2019 09:00,4632656.896000001,2156463.872,2156463.872 +9-1-2019 10:00,3588923.904,1670614.6560000002,1670614.6560000002 +9-1-2019 11:00,1537827.968,715846.4,715846.4 +9-1-2019 12:00,1733396.4800000002,806881.92,806881.92 +9-1-2019 13:00,1356039.5520000001,631225.408,631225.408 +9-1-2019 14:00,1194059.776,555825.088,555825.088 +9-1-2019 15:00,2082480.8960000002,969377.8560000001,969377.8560000001 +9-1-2019 16:00,2484002.048,1156282.624,1156282.624 +9-1-2019 17:00,2163747.328,1007206.72,1007206.72 +9-1-2019 18:00,5479048.704,2550452.4800000004,2550452.4800000004 +9-1-2019 19:00,3950470.6560000004,1838911.7440000002,1838911.7440000002 +9-1-2019 20:00,2659311.3600000003,1237887.744,1237887.744 +9-1-2019 21:00,2558295.04,1190865.408,1190865.408 +9-1-2019 22:00,1381249.92,642960.576,642960.576 +9-1-2019 23:00,465640.32000000007,216751.77599999998,216751.77599999998 +10-1-2019 00:00,462226.20800000004,215162.528,215162.528 +10-1-2019 01:00,472771.2320000001,220071.16800000003,220071.16800000003 +10-1-2019 02:00,548702.464,255416.496,255416.496 +10-1-2019 03:00,865724.0960000001,402987.488,402987.488 +10-1-2019 04:00,988917.504,460332.992,460332.992 +10-1-2019 05:00,1067040.064,496698.43200000003,496698.43200000003 +10-1-2019 06:00,1183979.0080000001,551132.5440000001,551132.5440000001 +10-1-2019 07:00,3138957.3120000004,1461158.912,1461158.912 +10-1-2019 08:00,3379031.296,1572911.6160000002,1572911.6160000002 +10-1-2019 09:00,4859883.008,2262235.648,2262235.648 +10-1-2019 10:00,3968675.84,1847386.1120000002,1847386.1120000002 +10-1-2019 11:00,1812721.536,843807.04,843807.04 +10-1-2019 12:00,1976351.232,919975.36,919975.36 +10-1-2019 13:00,1600078.72,744823.552,744823.552 +10-1-2019 14:00,1482255.6160000002,689977.984,689977.984 +10-1-2019 15:00,2280589.824,1061596.0960000001,1061596.0960000001 +10-1-2019 16:00,2663966.464,1240054.528,1240054.528 +10-1-2019 17:00,2360578.048,1098829.824,1098829.824 +10-1-2019 18:00,5599674.368000001,2606602.4960000003,2606602.4960000003 +10-1-2019 19:00,4154241.024,1933765.2480000001,1933765.2480000001 +10-1-2019 20:00,2971518.72,1383217.664,1383217.664 +10-1-2019 21:00,2730472.9600000004,1271012.992,1271012.992 +10-1-2019 22:00,1467127.296,682935.8080000001,682935.8080000001 +10-1-2019 23:00,485916.256,226190.064,226190.064 +11-1-2019 00:00,473504.896,220412.64,220412.64 +11-1-2019 01:00,469654.688,218620.432,218620.432 +11-1-2019 02:00,476293.31200000003,221710.64,221710.64 +11-1-2019 03:00,748774.0800000001,348548.25600000005,348548.25600000005 +11-1-2019 04:00,859390.4,400039.2,400039.2 +11-1-2019 05:00,906052.4160000001,421760.0,421760.0 +11-1-2019 06:00,1002694.5279999999,466746.1440000001,466746.1440000001 +11-1-2019 07:00,2783814.4000000004,1295842.9440000001,1295842.9440000001 +11-1-2019 08:00,3105052.16,1445376.512,1445376.512 +11-1-2019 09:00,4596866.5600000005,2139803.648,2139803.648 +11-1-2019 10:00,3549839.1040000003,1652420.864,1652420.864 +11-1-2019 11:00,1540914.688,717283.264,717283.264 +11-1-2019 12:00,1719577.088,800449.152,800449.152 +11-1-2019 13:00,1444277.6320000002,672299.456,672299.456 +11-1-2019 14:00,1299458.0480000002,604887.104,604887.104 +11-1-2019 15:00,2091432.448,973544.832,973544.832 +11-1-2019 16:00,2442525.696,1136975.744,1136975.744 +11-1-2019 17:00,2086743.936,971362.176,971362.176 +11-1-2019 18:00,5414455.296,2520384.768,2520384.768 +11-1-2019 19:00,3866241.024,1799703.6800000002,1799703.6800000002 +11-1-2019 20:00,2655965.44,1236330.24,1236330.24 +11-1-2019 21:00,2485080.832,1156784.8960000002,1156784.8960000002 +11-1-2019 22:00,1320304.6400000001,614591.04,614591.04 +11-1-2019 23:00,435597.696,202767.2,202767.2 +12-1-2019 00:00,428294.49600000004,199367.616,199367.616 +12-1-2019 01:00,427627.776,199057.24800000002,199057.24800000002 +12-1-2019 02:00,423534.43200000003,197151.79200000002,197151.79200000002 +12-1-2019 03:00,517674.49600000004,240973.26400000002,240973.26400000002 +12-1-2019 04:00,679073.408,316103.136,316103.136 +12-1-2019 05:00,813305.344,378586.976,378586.976 +12-1-2019 06:00,917361.728,427024.416,427024.416 +12-1-2019 07:00,1598166.4000000001,743933.4400000001,743933.4400000001 +12-1-2019 08:00,2969921.024,1382473.9840000002,1382473.9840000002 +12-1-2019 09:00,5811715.072000001,2705305.856,2705305.856 +12-1-2019 10:00,5765262.848,2683683.328,2683683.328 +12-1-2019 11:00,2740042.7520000003,1275467.648,1275467.648 +12-1-2019 12:00,2494300.16,1161076.4800000002,1161076.4800000002 +12-1-2019 13:00,1746379.904,812925.568,812925.568 +12-1-2019 14:00,1550074.4960000003,721547.008,721547.008 +12-1-2019 15:00,2219646.464,1033227.328,1033227.328 +12-1-2019 16:00,2356518.1440000003,1096939.9039999999,1096939.9039999999 +12-1-2019 17:00,2368697.088,1102609.152,1102609.152 +12-1-2019 18:00,2385160.704,1110272.8960000002,1110272.8960000002 +12-1-2019 19:00,2387078.1440000003,1111165.312,1111165.312 +12-1-2019 20:00,2375433.728,1105744.8960000002,1105744.8960000002 +12-1-2019 21:00,1841309.568,857114.56,857114.56 +12-1-2019 22:00,809982.976,377040.48,377040.48 +12-1-2019 23:00,464994.592,216451.2,216451.2 +13-1-2019 00:00,454253.12000000005,211451.10400000002,211451.10400000002 +13-1-2019 01:00,458229.696,213302.144,213302.144 +13-1-2019 02:00,454984.9280000001,211791.744,211791.744 +13-1-2019 03:00,598608.8960000001,278647.52,278647.52 +13-1-2019 04:00,679048.704,316091.64800000004,316091.64800000004 +13-1-2019 05:00,742038.8480000001,345413.02400000003,345413.02400000003 +13-1-2019 06:00,799915.584,372354.20800000004,372354.20800000004 +13-1-2019 07:00,1468835.584,683731.072,683731.072 +13-1-2019 08:00,2821018.624,1313161.0880000002,1313161.0880000002 +13-1-2019 09:00,5540232.192000001,2578932.736,2578932.736 +13-1-2019 10:00,5181397.504000001,2411898.3680000002,2411898.3680000002 +13-1-2019 11:00,2478778.112,1153851.0080000001,1153851.0080000001 +13-1-2019 12:00,2264156.9280000003,1053946.56,1053946.56 +13-1-2019 13:00,1551283.712,722109.888,722109.888 +13-1-2019 14:00,1384466.9440000001,644458.0480000001,644458.0480000001 +13-1-2019 15:00,2037622.656,948496.768,948496.768 +13-1-2019 16:00,2158724.0960000004,1004868.4800000001,1004868.4800000001 +13-1-2019 17:00,2155773.184,1003494.8480000001,1003494.8480000001 +13-1-2019 18:00,2293089.7920000004,1067414.6560000002,1067414.6560000002 +13-1-2019 19:00,2253127.424,1048812.416,1048812.416 +13-1-2019 20:00,2256182.784,1050234.752,1050234.752 +13-1-2019 21:00,1742835.968,811275.9040000001,811275.9040000001 +13-1-2019 22:00,776782.2080000001,361585.76,361585.76 +13-1-2019 23:00,448809.40800000005,208917.12,208917.12 +14-1-2019 00:00,444155.808,206750.896,206750.896 +14-1-2019 01:00,472635.488,220008.0,220008.0 +14-1-2019 02:00,485688.9280000001,226084.22400000005,226084.22400000005 +14-1-2019 03:00,629014.912,292801.31200000003,292801.31200000003 +14-1-2019 04:00,725137.984,337545.824,337545.824 +14-1-2019 05:00,824992.704,384027.36000000004,384027.36000000004 +14-1-2019 06:00,935520.576,435477.184,435477.184 +14-1-2019 07:00,2563961.6,1193503.232,1193503.232 +14-1-2019 08:00,3042201.856,1416120.192,1416120.192 +14-1-2019 09:00,4487576.576,2088930.304,2088930.304 +14-1-2019 10:00,3257396.736,1516291.712,1516291.712 +14-1-2019 11:00,1090125.824,507444.6400000001,507444.6400000001 +14-1-2019 12:00,1629528.5760000001,758532.224,758532.224 +14-1-2019 13:00,1173170.944,546101.4400000001,546101.4400000001 +14-1-2019 14:00,1250924.928,582295.2320000001,582295.2320000001 +14-1-2019 15:00,2028835.3280000002,944406.2720000001,944406.2720000001 +14-1-2019 16:00,2460501.504,1145343.4880000001,1145343.4880000001 +14-1-2019 17:00,2186608.384,1017848.256,1017848.256 +14-1-2019 18:00,5496167.936000001,2558421.504,2558421.504 +14-1-2019 19:00,3816527.3600000003,1776562.5600000003,1776562.5600000003 +14-1-2019 20:00,2640423.424,1229095.6800000002,1229095.6800000002 +14-1-2019 21:00,2555469.824,1189550.336,1189550.336 +14-1-2019 22:00,1371879.424,638598.656,638598.656 +14-1-2019 23:00,478529.696,222751.66400000002,222751.66400000002 +15-1-2019 00:00,476765.472,221930.448,221930.448 +15-1-2019 01:00,473168.896,220256.25600000002,220256.25600000002 +15-1-2019 02:00,534851.136,248968.88,248968.88 +15-1-2019 03:00,762976.832,355159.488,355159.488 +15-1-2019 04:00,861870.976,401193.92000000004,401193.92000000004 +15-1-2019 05:00,926696.576,431369.664,431369.664 +15-1-2019 06:00,1039174.72,483727.456,483727.456 +15-1-2019 07:00,2759016.704,1284299.904,1284299.904 +15-1-2019 08:00,3089280.0,1438034.56,1438034.56 +15-1-2019 09:00,4568727.04,2126705.2800000003,2126705.2800000003 +15-1-2019 10:00,3523239.936,1640039.424,1640039.424 +15-1-2019 11:00,1519557.6320000002,707341.6320000001,707341.6320000001 +15-1-2019 12:00,1732949.2480000001,806673.856,806673.856 +15-1-2019 13:00,1398851.968,651154.176,651154.176 +15-1-2019 14:00,1241728.384,578014.4,578014.4 +15-1-2019 15:00,1982232.1920000003,922713.0880000001,922713.0880000001 +15-1-2019 16:00,2328995.328,1084128.256,1084128.256 +15-1-2019 17:00,1968365.44,916257.984,916257.984 +15-1-2019 18:00,5324579.84,2478548.48,2478548.48 +15-1-2019 19:00,3686438.6560000004,1716007.04,1716007.04 +15-1-2019 20:00,2366353.6640000003,1101518.336,1101518.336 +15-1-2019 21:00,2332965.632,1085976.5760000001,1085976.5760000001 +15-1-2019 22:00,1245028.4800000002,579550.656,579550.656 +15-1-2019 23:00,412445.504,191990.032,191990.032 +16-1-2019 00:00,403605.44,187875.04,187875.04 +16-1-2019 01:00,399920.032,186159.52000000002,186159.52000000002 +16-1-2019 02:00,398435.71200000006,185468.56000000003,185468.56000000003 +16-1-2019 03:00,421825.984,196356.52800000002,196356.52800000002 +16-1-2019 04:00,617812.608,287586.75200000004,287586.75200000004 +16-1-2019 05:00,761794.1120000001,354608.96,354608.96 +16-1-2019 06:00,896590.72,417355.71200000006,417355.71200000006 +16-1-2019 07:00,2454713.6,1142649.216,1142649.216 +16-1-2019 08:00,3002171.136,1397486.08,1397486.08 +16-1-2019 09:00,4498648.576,2094084.352,2094084.352 +16-1-2019 10:00,3391039.744,1578501.3760000002,1578501.3760000002 +16-1-2019 11:00,1464296.32,681617.984,681617.984 +16-1-2019 12:00,1730237.6960000002,805411.456,805411.456 +16-1-2019 13:00,1424089.472,662902.0800000001,662902.0800000001 +16-1-2019 14:00,1296017.7920000001,603285.76,603285.76 +16-1-2019 15:00,2100052.352,977557.3119999999,977557.3119999999 +16-1-2019 16:00,2450562.048,1140716.672,1140716.672 +16-1-2019 17:00,2082104.0640000002,969202.432,969202.432 +16-1-2019 18:00,5452095.488000001,2537906.1760000004,2537906.1760000004 +16-1-2019 19:00,3917392.896,1823514.4960000003,1823514.4960000003 +16-1-2019 20:00,2538597.376,1181696.6400000001,1181696.6400000001 +16-1-2019 21:00,2470323.7120000003,1149915.52,1149915.52 +16-1-2019 22:00,1339073.2800000003,623327.7440000001,623327.7440000001 +16-1-2019 23:00,455808.992,212175.344,212175.344 +17-1-2019 00:00,452071.42400000006,210435.55200000003,210435.55200000003 +17-1-2019 01:00,447726.464,208413.00800000003,208413.00800000003 +17-1-2019 02:00,453693.02400000003,211190.40000000002,211190.40000000002 +17-1-2019 03:00,624411.776,290658.592,290658.592 +17-1-2019 04:00,838767.68,390439.488,390439.488 +17-1-2019 05:00,933649.408,434606.20800000004,434606.20800000004 +17-1-2019 06:00,1051538.8800000001,489482.72000000003,489482.72000000003 +17-1-2019 07:00,2801264.384,1303965.6960000002,1303965.6960000002 +17-1-2019 08:00,3204446.9760000003,1491643.904,1491643.904 +17-1-2019 09:00,4730541.056000001,2202028.032,2202028.032 +17-1-2019 10:00,3725256.704,1734076.5440000002,1734076.5440000002 +17-1-2019 11:00,1714902.5280000002,798273.216,798273.216 +17-1-2019 12:00,1896271.6160000002,882698.944,882698.944 +17-1-2019 13:00,1720073.6,800680.3840000001,800680.3840000001 +17-1-2019 14:00,1187299.584,552678.336,552678.336 +17-1-2019 15:00,2320594.432,1080217.728,1080217.728 +17-1-2019 16:00,2733954.5600000005,1272633.7280000001,1272633.7280000001 +17-1-2019 17:00,2466426.3680000002,1148101.2480000001,1148101.2480000001 +17-1-2019 18:00,5679656.960000001,2643834.3680000002,2643834.3680000002 +17-1-2019 19:00,4286977.792,1995553.2800000003,1995553.2800000003 +17-1-2019 20:00,3071929.3440000005,1429958.144,1429958.144 +17-1-2019 21:00,2864647.936,1333470.208,1333470.208 +17-1-2019 22:00,1520225.408,707652.48,707652.48 +17-1-2019 23:00,527098.784,245360.16000000003,245360.16000000003 +18-1-2019 00:00,531340.64,247334.72000000003,247334.72000000003 +18-1-2019 01:00,582247.104,271031.29600000003,271031.29600000003 +18-1-2019 02:00,842622.976,392234.112,392234.112 +18-1-2019 03:00,1132884.0960000001,527348.352,527348.352 +18-1-2019 04:00,1282717.824,597094.7200000001,597094.7200000001 +18-1-2019 05:00,1363473.0240000002,634685.568,634685.568 +18-1-2019 06:00,1513293.6960000002,704425.856,704425.856 +18-1-2019 07:00,3706690.304,1725433.9840000002,1725433.9840000002 +18-1-2019 08:00,3801875.4560000002,1769741.952,1769741.952 +18-1-2019 09:00,5218747.392000001,2429284.352,2429284.352 +18-1-2019 10:00,3985107.4560000002,1855035.008,1855035.008 +18-1-2019 11:00,1886428.1600000001,878116.8640000001,878116.8640000001 +18-1-2019 12:00,2128863.616,990968.6400000001,990968.6400000001 +18-1-2019 13:00,1767723.008,822860.672,822860.672 +18-1-2019 14:00,1642484.352,764563.008,764563.008 +18-1-2019 15:00,2566825.728,1194836.4800000002,1194836.4800000002 +18-1-2019 16:00,3009110.272,1400716.1600000001,1400716.1600000001 +18-1-2019 17:00,2727324.416,1269547.392,1269547.392 +18-1-2019 18:00,5919937.536,2755682.816,2755682.816 +18-1-2019 19:00,4609294.848,2145589.248,2145589.248 +18-1-2019 20:00,3474663.6799999997,1617427.4560000002,1617427.4560000002 +18-1-2019 21:00,3208026.8800000004,1493310.3360000001,1493310.3360000001 +18-1-2019 22:00,1741346.0480000002,810582.4,810582.4 +18-1-2019 23:00,593031.04,276051.168,276051.168 +19-1-2019 00:00,611316.2880000001,284562.75200000004,284562.75200000004 +19-1-2019 01:00,717162.9440000001,333833.47200000007,333833.47200000007 +19-1-2019 02:00,1029588.0960000001,479264.896,479264.896 +19-1-2019 03:00,1233064.8320000002,573981.6320000001,573981.6320000001 +19-1-2019 04:00,1358845.952,632531.712,632531.712 +19-1-2019 05:00,1473981.056,686126.1440000001,686126.1440000001 +19-1-2019 06:00,1625209.216,756521.664,756521.664 +19-1-2019 07:00,2418120.1920000003,1125615.104,1125615.104 +19-1-2019 08:00,3932094.208,1830357.7600000002,1830357.7600000002 +19-1-2019 09:00,6866993.152,3196529.1520000002,3196529.1520000002 +19-1-2019 10:00,6745660.928,3140050.1760000004,3140050.1760000004 +19-1-2019 11:00,3540897.5360000003,1648258.9440000001,1648258.9440000001 +19-1-2019 12:00,3367995.3920000005,1567774.208,1567774.208 +19-1-2019 13:00,2557331.9680000003,1190417.28,1190417.28 +19-1-2019 14:00,2294161.6640000003,1067913.6,1067913.6 +19-1-2019 15:00,2989897.728,1391772.928,1391772.928 +19-1-2019 16:00,3183412.224,1481852.2880000002,1481852.2880000002 +19-1-2019 17:00,3300295.68,1536260.736,1536260.736 +19-1-2019 18:00,3366040.576,1566864.384,1566864.384 +19-1-2019 19:00,3403568.64,1584333.4400000002,1584333.4400000002 +19-1-2019 20:00,3449449.216,1605690.368,1605690.368 +19-1-2019 21:00,2717473.024,1264961.536,1264961.536 +19-1-2019 22:00,1275873.152,593908.5440000001,593908.5440000001 +19-1-2019 23:00,788234.8160000001,366916.896,366916.896 +20-1-2019 00:00,864374.4,402359.264,402359.264 +20-1-2019 01:00,1157004.8,538576.2559999999,538576.2559999999 +20-1-2019 02:00,1368095.36,636837.184,636837.184 +20-1-2019 03:00,1536454.6560000002,715207.104,715207.104 +20-1-2019 04:00,1661710.976,773512.8960000001,773512.8960000001 +20-1-2019 05:00,1843476.224,858122.944,858122.944 +20-1-2019 06:00,2050797.44,954629.568,954629.568 +20-1-2019 07:00,2791657.472,1299493.76,1299493.76 +20-1-2019 08:00,4311990.784000001,2007196.5440000002,2007196.5440000002 +20-1-2019 09:00,6979691.5200000005,3248989.6960000005,3248989.6960000005 +20-1-2019 10:00,6939485.184,3230274.0480000004,3230274.0480000004 +20-1-2019 11:00,3525495.808,1641089.408,1641089.408 +20-1-2019 12:00,3147564.032,1465165.312,1465165.312 +20-1-2019 13:00,2046335.7440000002,952552.512,952552.512 +20-1-2019 14:00,1702941.824,792705.5360000001,792705.5360000001 +20-1-2019 15:00,2922107.136,1360216.96,1360216.96 +20-1-2019 16:00,3355828.9920000006,1562110.976,1562110.976 +20-1-2019 17:00,3447746.5600000005,1604897.7920000001,1604897.7920000001 +20-1-2019 18:00,3576789.504,1664966.272,1664966.272 +20-1-2019 19:00,3571229.1840000004,1662378.112,1662378.112 +20-1-2019 20:00,3630620.4159999997,1690024.0640000002,1690024.0640000002 +20-1-2019 21:00,2933874.432,1365694.5920000002,1365694.5920000002 +20-1-2019 22:00,1419538.176,660783.488,660783.488 +20-1-2019 23:00,879059.7760000001,409195.136,409195.136 +21-1-2019 00:00,1070465.92,498293.152,498293.152 +21-1-2019 01:00,1390284.544,647166.1440000001,647166.1440000001 +21-1-2019 02:00,1614150.912,751374.0160000001,751374.0160000001 +21-1-2019 03:00,1790227.7120000003,833336.4480000001,833336.4480000001 +21-1-2019 04:00,1960693.3760000002,912686.5920000001,912686.5920000001 +21-1-2019 05:00,2224315.648,1035400.8960000002,1035400.8960000002 +21-1-2019 06:00,2433621.7600000002,1132831.104,1132831.104 +21-1-2019 07:00,4738377.728,2205676.288,2205676.288 +21-1-2019 08:00,4724994.5600000005,2199446.272,2199446.272 +21-1-2019 09:00,5787049.472,2693824.256,2693824.256 +21-1-2019 10:00,4384527.872,2040961.92,2040961.92 +21-1-2019 11:00,2802035.4560000002,1304324.608,1304324.608 +21-1-2019 12:00,2655848.9600000004,1236276.2240000002,1236276.2240000002 +21-1-2019 13:00,2082180.608,969238.2080000001,969238.2080000001 +21-1-2019 14:00,1928206.2079999999,897564.352,897564.352 +21-1-2019 15:00,2862949.12,1332679.5520000001,1332679.5520000001 +21-1-2019 16:00,3327172.608,1548771.712,1548771.712 +21-1-2019 17:00,3087723.7760000005,1437310.208,1437310.208 +21-1-2019 18:00,6153845.248,2864564.736,2864564.736 +21-1-2019 19:00,4899318.784000001,2280592.896,2280592.896 +21-1-2019 20:00,3759857.1520000007,1750182.784,1750182.784 +21-1-2019 21:00,3388834.304,1577474.9440000001,1577474.9440000001 +21-1-2019 22:00,1865902.9760000003,868562.4960000002,868562.4960000002 +21-1-2019 23:00,662827.968,308541.02400000003,308541.02400000003 +22-1-2019 00:00,796839.8080000001,370922.4,370922.4 +22-1-2019 01:00,957073.8560000001,445510.04800000007,445510.04800000007 +22-1-2019 02:00,1333551.6160000002,620757.4400000001,620757.4400000001 +22-1-2019 03:00,1529941.76,712175.36,712175.36 +22-1-2019 04:00,1640603.52,763687.616,763687.616 +22-1-2019 05:00,1747320.0640000002,813363.2000000001,813363.2000000001 +22-1-2019 06:00,2013214.4640000002,937134.976,937134.976 +22-1-2019 07:00,4342070.272,2021198.2079999999,2021198.2079999999 +22-1-2019 08:00,4347835.904,2023881.9840000002,2023881.9840000002 +22-1-2019 09:00,5730681.3440000005,2667585.2800000003,2667585.2800000003 +22-1-2019 10:00,4814448.1280000005,2241086.464,2241086.464 +22-1-2019 11:00,3100903.424,1443445.2480000001,1443445.2480000001 +22-1-2019 12:00,3081207.04,1434276.608,1434276.608 +22-1-2019 13:00,2599525.12,1210057.472,1210057.472 +22-1-2019 14:00,2385023.2320000003,1110208.8960000002,1110208.8960000002 +22-1-2019 15:00,3273336.0640000002,1523711.36,1523711.36 +22-1-2019 16:00,3634097.1520000007,1691642.752,1691642.752 +22-1-2019 17:00,3315868.6720000003,1543509.76,1543509.76 +22-1-2019 18:00,6280945.152000001,2923728.896,2923728.896 +22-1-2019 19:00,5056988.672,2353987.072,2353987.072 +22-1-2019 20:00,3896092.9280000003,1813599.6160000002,1813599.6160000002 +22-1-2019 21:00,3510618.6240000003,1634164.0960000001,1634164.0960000001 +22-1-2019 22:00,1916206.2079999999,891978.432,891978.432 +22-1-2019 23:00,666470.7200000001,310236.704,310236.704 +23-1-2019 00:00,776126.912,361280.73600000003,361280.73600000003 +23-1-2019 01:00,894732.736,416490.784,416490.784 +23-1-2019 02:00,1246688.128,580323.136,580323.136 +23-1-2019 03:00,1428280.192,664852.8,664852.8 +23-1-2019 04:00,1560296.96,726305.5360000001,726305.5360000001 +23-1-2019 05:00,1668467.2000000002,776657.792,776657.792 +23-1-2019 06:00,1952694.784,908963.4560000001,908963.4560000001 +23-1-2019 07:00,4350573.568,2025156.4800000002,2025156.4800000002 +23-1-2019 08:00,4439938.0479999995,2066754.9440000001,2066754.9440000001 +23-1-2019 09:00,5773618.176,2687571.9680000003,2687571.9680000003 +23-1-2019 10:00,4821137.920000001,2244200.4480000003,2244200.4480000003 +23-1-2019 11:00,3004124.416,1398395.392,1398395.392 +23-1-2019 12:00,3003772.6720000003,1398231.6800000002,1398231.6800000002 +23-1-2019 13:00,2542836.736,1183669.888,1183669.888 +23-1-2019 14:00,2323422.9760000003,1081534.4640000002,1081534.4640000002 +23-1-2019 15:00,3210341.8880000003,1494387.84,1494387.84 +23-1-2019 16:00,3590519.5520000006,1671357.4400000002,1671357.4400000002 +23-1-2019 17:00,3286555.904,1529864.96,1529864.96 +23-1-2019 18:00,6277188.096000001,2921979.648,2921979.648 +23-1-2019 19:00,5060769.28,2355746.816,2355746.816 +23-1-2019 20:00,3927492.0960000004,1828215.6800000002,1828215.6800000002 +23-1-2019 21:00,3559205.376,1656781.056,1656781.056 +23-1-2019 22:00,1945206.784,905477.952,905477.952 +23-1-2019 23:00,683326.0160000001,318082.72000000003,318082.72000000003 +24-1-2019 00:00,791856.832,368602.88,368602.88 +24-1-2019 01:00,946997.376,440819.52,440819.52 +24-1-2019 02:00,1317655.296,613357.76,613357.76 +24-1-2019 03:00,1518755.584,706968.3200000001,706968.3200000001 +24-1-2019 04:00,1646264.0640000002,766322.368,766322.368 +24-1-2019 05:00,1768216.8320000002,823090.6240000001,823090.6240000001 +24-1-2019 06:00,2082205.44,969249.6000000001,969249.6000000001 +24-1-2019 07:00,4467036.16,2079368.9600000002,2079368.9600000002 +24-1-2019 08:00,4438630.4,2066146.0480000002,2066146.0480000002 +24-1-2019 09:00,5834461.184,2715894.0160000003,2715894.0160000003 +24-1-2019 10:00,4915940.864,2288329.984,2288329.984 +24-1-2019 11:00,3162077.952,1471921.408,1471921.408 +24-1-2019 12:00,3103877.12,1444829.568,1444829.568 +24-1-2019 13:00,2625517.3120000004,1222156.8,1222156.8 +24-1-2019 14:00,2333846.784,1086386.56,1086386.56 +24-1-2019 15:00,3329037.824,1549640.0640000002,1549640.0640000002 +24-1-2019 16:00,3708783.1040000003,1726408.448,1726408.448 +24-1-2019 17:00,3408124.9280000003,1586454.528,1586454.528 +24-1-2019 18:00,6365451.264,2963065.6,2963065.6 +24-1-2019 19:00,5209477.120000001,2424969.216,2424969.216 +24-1-2019 20:00,4080891.136,1899621.2480000001,1899621.2480000001 +24-1-2019 21:00,3680217.0880000005,1713111.296,1713111.296 +24-1-2019 22:00,2017155.8399999999,938969.6000000001,938969.6000000001 +24-1-2019 23:00,719726.5920000001,335026.81600000005,335026.81600000005 +25-1-2019 00:00,825607.2320000001,384313.44,384313.44 +25-1-2019 01:00,1015921.8560000001,472903.32800000004,472903.32800000004 +25-1-2019 02:00,1388303.6160000002,646243.968,646243.968 +25-1-2019 03:00,1580541.952,735729.408,735729.408 +25-1-2019 04:00,1698804.864,790779.8400000001,790779.8400000001 +25-1-2019 05:00,1854179.072,863105.2800000001,863105.2800000001 +25-1-2019 06:00,2181364.736,1015407.4880000001,1015407.4880000001 +25-1-2019 07:00,4603279.872,2142789.248,2142789.248 +25-1-2019 08:00,4492911.615999999,2091413.6320000002,2091413.6320000002 +25-1-2019 09:00,5846032.384000001,2721280.256,2721280.256 +25-1-2019 10:00,4946018.3040000005,2302331.136,2302331.136 +25-1-2019 11:00,3116343.296,1450632.32,1450632.32 +25-1-2019 12:00,3020542.464,1406037.76,1406037.76 +25-1-2019 13:00,2508853.248,1167850.752,1167850.752 +25-1-2019 14:00,2259558.4,1051805.952,1051805.952 +25-1-2019 15:00,3157417.472,1469752.0640000002,1469752.0640000002 +25-1-2019 16:00,3500227.328,1629327.4880000001,1629327.4880000001 +25-1-2019 17:00,3164204.544,1472911.4880000001,1472911.4880000001 +25-1-2019 18:00,6163476.992000001,2869048.5760000004,2869048.5760000004 +25-1-2019 19:00,4842925.568,2254342.656,2254342.656 +25-1-2019 20:00,3603288.576,1677301.504,1677301.504 +25-1-2019 21:00,3165017.088,1473289.6,1473289.6 +25-1-2019 22:00,1689518.9760000003,786457.216,786457.216 +25-1-2019 23:00,548242.752,255202.51200000002,255202.51200000002 +26-1-2019 00:00,540477.12,251587.66400000002,251587.66400000002 +26-1-2019 01:00,537781.888,250333.088,250333.088 +26-1-2019 02:00,734661.5040000001,341978.912,341978.912 +26-1-2019 03:00,1004407.616,467543.55199999997,467543.55199999997 +26-1-2019 04:00,1141153.664,531197.76,531197.76 +26-1-2019 05:00,1213724.416,564978.88,564978.88 +26-1-2019 06:00,1298991.744,604670.0160000001,604670.0160000001 +26-1-2019 07:00,1970243.968,917132.544,917132.544 +26-1-2019 08:00,3451831.5520000006,1606799.36,1606799.36 +26-1-2019 09:00,6451831.808,3003275.008,3003275.008 +26-1-2019 10:00,6674475.008,3106913.2800000003,3106913.2800000003 +26-1-2019 11:00,3451662.08,1606720.6400000001,1606720.6400000001 +26-1-2019 12:00,3146403.5840000003,1464625.408,1464625.408 +26-1-2019 13:00,2310266.8800000004,1075410.304,1075410.304 +26-1-2019 14:00,2011710.9760000003,936434.944,936434.944 +26-1-2019 15:00,2731827.4560000002,1271643.392,1271643.392 +26-1-2019 16:00,2880853.7600000002,1341014.016,1341014.016 +26-1-2019 17:00,2923785.472,1360998.272,1360998.272 +26-1-2019 18:00,2920354.5600000005,1359401.344,1359401.344 +26-1-2019 19:00,2938055.168,1367640.704,1367640.704 +26-1-2019 20:00,2892471.04,1346421.6320000002,1346421.6320000002 +26-1-2019 21:00,2264354.304,1054038.4000000001,1054038.4000000001 +26-1-2019 22:00,1010950.8480000001,470589.31200000003,470589.31200000003 +26-1-2019 23:00,591884.096,275517.216,275517.216 +27-1-2019 00:00,578576.0,269322.432,269322.432 +27-1-2019 01:00,590663.9360000001,274949.27999999997,274949.27999999997 +27-1-2019 02:00,810825.408,377432.608,377432.608 +27-1-2019 03:00,947513.152,441059.68,441059.68 +27-1-2019 04:00,1032359.8720000001,480555.072,480555.072 +27-1-2019 05:00,1108218.368,515866.56,515866.56 +27-1-2019 06:00,1203793.664,560356.096,560356.096 +27-1-2019 07:00,1894703.3600000003,881968.96,881968.96 +27-1-2019 08:00,3292079.3600000003,1532436.0960000001,1532436.0960000001 +27-1-2019 09:00,6319035.904,2941459.7120000003,2941459.7120000003 +27-1-2019 10:00,6337856.512,2950220.544,2950220.544 +27-1-2019 11:00,3219124.4800000004,1498476.0320000001,1498476.0320000001 +27-1-2019 12:00,3028188.416,1409597.056,1409597.056 +27-1-2019 13:00,2273064.1920000003,1058092.992,1058092.992 +27-1-2019 14:00,1920239.488,893855.936,893855.936 +27-1-2019 15:00,2696143.1040000003,1255032.5760000001,1255032.5760000001 +27-1-2019 16:00,2929145.856,1363493.504,1363493.504 +27-1-2019 17:00,2917357.3120000004,1358006.016,1358006.016 +27-1-2019 18:00,2926088.9600000004,1362070.6560000002,1362070.6560000002 +27-1-2019 19:00,2912985.6,1355971.0720000002,1355971.0720000002 +27-1-2019 20:00,2914755.072,1356794.624,1356794.624 +27-1-2019 21:00,2299341.056,1070324.416,1070324.416 +27-1-2019 22:00,1068187.712,497232.672,497232.672 +27-1-2019 23:00,631389.056,293906.46400000004,293906.46400000004 +28-1-2019 00:00,617549.056,287464.064,287464.064 +28-1-2019 01:00,664567.104,309350.56,309350.56 +28-1-2019 02:00,869434.6880000001,404714.784,404714.784 +28-1-2019 03:00,1013049.792,471566.4,471566.4 +28-1-2019 04:00,1100186.8800000001,512128.064,512128.064 +28-1-2019 05:00,1172049.664,545579.648,545579.648 +28-1-2019 06:00,1291564.4160000002,601212.736,601212.736 +28-1-2019 07:00,3364023.04,1565925.2480000001,1565925.2480000001 +28-1-2019 08:00,3426881.28,1595185.152,1595185.152 +28-1-2019 09:00,4980908.544,2318572.288,2318572.288 +28-1-2019 10:00,4001904.3840000005,1862853.7600000002,1862853.7600000002 +28-1-2019 11:00,1908569.9840000002,888423.616,888423.616 +28-1-2019 12:00,2088039.4239999999,971965.3119999999,971965.3119999999 +28-1-2019 13:00,1672543.36,778555.264,778555.264 +28-1-2019 14:00,1354619.392,630564.2880000001,630564.2880000001 +28-1-2019 15:00,2505551.872,1166313.984,1166313.984 +28-1-2019 16:00,2856645.376,1329745.152,1329745.152 +28-1-2019 17:00,2614658.304,1217102.208,1217102.208 +28-1-2019 18:00,5813634.5600000005,2706199.296,2706199.296 +28-1-2019 19:00,4461636.608,2076855.296,2076855.296 +28-1-2019 20:00,3202017.2800000003,1490512.8960000002,1490512.8960000002 +28-1-2019 21:00,2991662.592,1392594.432,1392594.432 +28-1-2019 22:00,1653032.8320000002,769473.216,769473.216 +28-1-2019 23:00,563077.5040000001,262107.984,262107.984 +29-1-2019 00:00,563887.04,262484.832,262484.832 +29-1-2019 01:00,644539.392,300027.808,300027.808 +29-1-2019 02:00,871742.5920000001,405789.05600000004,405789.05600000004 +29-1-2019 03:00,1103945.344,513877.60000000003,513877.60000000003 +29-1-2019 04:00,1256718.336,584992.192,584992.192 +29-1-2019 05:00,1326699.0080000001,617567.552,617567.552 +29-1-2019 06:00,1459365.76,679322.88,679322.88 +29-1-2019 07:00,3616091.3920000005,1683261.1840000001,1683261.1840000001 +29-1-2019 08:00,3620634.1119999997,1685375.6160000002,1685375.6160000002 +29-1-2019 09:00,5180961.28,2411695.3600000003,2411695.3600000003 +29-1-2019 10:00,4276812.8,1990821.504,1990821.504 +29-1-2019 11:00,2136464.896,994506.944,994506.944 +29-1-2019 12:00,2294942.208,1068276.864,1068276.864 +29-1-2019 13:00,1873878.1440000003,872275.008,872275.008 +29-1-2019 14:00,1664835.584,774967.4240000001,774967.4240000001 +29-1-2019 15:00,2625718.0160000003,1222250.24,1222250.24 +29-1-2019 16:00,3059611.648,1424224.256,1424224.256 +29-1-2019 17:00,2807111.424,1306687.4880000001,1306687.4880000001 +29-1-2019 18:00,5941267.456,2765611.2640000004,2765611.2640000004 +29-1-2019 19:00,4581254.144,2132536.5760000004,2132536.5760000004 +29-1-2019 20:00,3396466.6880000005,1581027.584,1581027.584 +29-1-2019 21:00,3100975.1040000003,1443478.6560000002,1443478.6560000002 +29-1-2019 22:00,1706124.672,794187.136,794187.136 +29-1-2019 23:00,581781.248,270814.432,270814.432 +30-1-2019 00:00,587113.0240000001,273296.32,273296.32 +30-1-2019 01:00,697488.256,324675.10400000005,324675.10400000005 +30-1-2019 02:00,962261.2480000001,447924.704,447924.704 +30-1-2019 03:00,1195225.216,556367.616,556367.616 +30-1-2019 04:00,1315583.36,612393.344,612393.344 +30-1-2019 05:00,1400549.76,651944.5120000001,651944.5120000001 +30-1-2019 06:00,1540074.368,716892.0320000001,716892.0320000001 +30-1-2019 07:00,3775806.7200000007,1757607.04,1757607.04 +30-1-2019 08:00,3789310.208,1763893.12,1763893.12 +30-1-2019 09:00,5303996.928,2468967.424,2468967.424 +30-1-2019 10:00,4405198.848,2050584.1920000003,2050584.1920000003 +30-1-2019 11:00,2256689.92,1050470.912,1050470.912 +30-1-2019 12:00,2497517.3120000004,1162573.952,1162573.952 +30-1-2019 13:00,2039201.7920000004,949231.616,949231.616 +30-1-2019 14:00,1805371.52,840385.6640000001,840385.6640000001 +30-1-2019 15:00,2796620.032,1301803.776,1301803.776 +30-1-2019 16:00,3211225.088,1494798.976,1494798.976 +30-1-2019 17:00,2945930.4960000003,1371306.624,1371306.624 +30-1-2019 18:00,6019516.416,2802035.7120000003,2802035.7120000003 +30-1-2019 19:00,4703493.12,2189437.44,2189437.44 +30-1-2019 20:00,3540476.9280000003,1648063.232,1648063.232 +30-1-2019 21:00,3214890.4960000003,1496505.216,1496505.216 +30-1-2019 22:00,1742994.5600000003,811349.76,811349.76 +30-1-2019 23:00,585624.384,272603.42400000006,272603.42400000006 +31-1-2019 00:00,606362.688,282256.896,282256.896 +31-1-2019 01:00,699206.1440000001,325474.784,325474.784 +31-1-2019 02:00,987527.552,459686.04800000007,459686.04800000007 +31-1-2019 03:00,1224157.568,569835.392,569835.392 +31-1-2019 04:00,1373651.0720000002,639423.36,639423.36 +31-1-2019 05:00,1481729.408,689732.9280000001,689732.9280000001 +31-1-2019 06:00,1697196.0320000001,790030.976,790030.976 +31-1-2019 07:00,3997689.8560000006,1860891.7760000003,1860891.7760000003 +31-1-2019 08:00,3930402.8159999996,1829570.304,1829570.304 +31-1-2019 09:00,5502811.648,2561513.984,2561513.984 +31-1-2019 10:00,4650804.224,2164911.3600000003,2164911.3600000003 +31-1-2019 11:00,2754447.6160000004,1282172.928,1282172.928 +31-1-2019 12:00,2847426.0480000004,1325453.6960000002,1325453.6960000002 +31-1-2019 13:00,2339384.0640000002,1088964.2240000002,1088964.2240000002 +31-1-2019 14:00,2094505.472,974975.2960000001,974975.2960000001 +31-1-2019 15:00,3089614.336,1438190.3360000001,1438190.3360000001 +31-1-2019 16:00,3480047.616,1619933.952,1619933.952 +31-1-2019 17:00,3184564.9920000006,1482389.12,1482389.12 +31-1-2019 18:00,6193799.68,2883163.136,2883163.136 +31-1-2019 19:00,4921640.448,2290983.424,2290983.424 +31-1-2019 20:00,3783849.9840000006,1761351.5520000001,1761351.5520000001 +31-1-2019 21:00,3406732.5439999998,1585806.208,1585806.208 +31-1-2019 22:00,1840001.7920000004,856505.8560000001,856505.8560000001 +31-1-2019 23:00,634997.1200000001,295585.984,295585.984 +1-2-2019 00:00,697049.92,324471.04000000004,324471.04000000004 +1-2-2019 01:00,800078.784,372430.112,372430.112 +1-2-2019 02:00,1131801.6,526844.4480000001,526844.4480000001 +1-2-2019 03:00,1316461.312,612802.0480000001,612802.0480000001 +1-2-2019 04:00,1428324.352,664873.344,664873.344 +1-2-2019 05:00,1539521.664,716634.752,716634.752 +1-2-2019 06:00,1736101.7600000002,808141.184,808141.184 +1-2-2019 07:00,4064614.912,1892045.3120000002,1892045.3120000002 +1-2-2019 08:00,4052428.5439999998,1886372.4800000002,1886372.4800000002 +1-2-2019 09:00,5531441.152000001,2574840.5760000004,2574840.5760000004 +1-2-2019 10:00,4579559.424000001,2131747.456,2131747.456 +1-2-2019 11:00,2588401.92,1204880.128,1204880.128 +1-2-2019 12:00,2724847.3600000003,1268394.112,1268394.112 +1-2-2019 13:00,2225288.1920000003,1035853.4400000001,1035853.4400000001 +1-2-2019 14:00,1973319.168,918563.968,918563.968 +1-2-2019 15:00,2898753.2800000003,1349346.0480000002,1349346.0480000002 +1-2-2019 16:00,3271096.0640000002,1522668.6720000003,1522668.6720000003 +1-2-2019 17:00,2995923.9680000003,1394578.176,1394578.176 +1-2-2019 18:00,6051621.376,2816980.224,2816980.224 +1-2-2019 19:00,4745255.936,2208877.824,2208877.824 +1-2-2019 20:00,3587997.9520000005,1670183.936,1670183.936 +1-2-2019 21:00,3216898.5600000005,1497440.0,1497440.0 +1-2-2019 22:00,1752495.872,815772.608,815772.608 +1-2-2019 23:00,589234.368,274283.808,274283.808 +2-2-2019 00:00,596582.4,277704.288,277704.288 +2-2-2019 01:00,677177.408,315220.544,315220.544 +2-2-2019 02:00,993674.2400000001,462547.26399999997,462547.26399999997 +2-2-2019 03:00,1216057.472,566064.8960000001,566064.8960000001 +2-2-2019 04:00,1334608.0,621249.152,621249.152 +2-2-2019 05:00,1417920.256,660030.3360000001,660030.3360000001 +2-2-2019 06:00,1526230.4000000001,710447.8080000001,710447.8080000001 +2-2-2019 07:00,2303273.728,1072155.2,1072155.2 +2-2-2019 08:00,3788563.712,1763545.472,1763545.472 +2-2-2019 09:00,6278607.872,2922640.896,2922640.896 +2-2-2019 10:00,6863393.792,3194853.632,3194853.632 +2-2-2019 11:00,3925256.9600000004,1827175.04,1827175.04 +2-2-2019 12:00,3487991.808,1623631.744,1623631.744 +2-2-2019 13:00,2628288.0,1223446.6560000002,1223446.6560000002 +2-2-2019 14:00,2302209.536,1071659.84,1071659.84 +2-2-2019 15:00,2309458.688,1075034.112,1075034.112 +2-2-2019 16:00,3198932.736,1489077.12,1489077.12 +2-2-2019 17:00,3246531.328,1511233.92,1511233.92 +2-2-2019 18:00,3284865.5360000003,1529078.272,1529078.272 +2-2-2019 19:00,3301859.84,1536988.6720000003,1536988.6720000003 +2-2-2019 20:00,3291195.3920000005,1532024.704,1532024.704 +2-2-2019 21:00,2638928.896,1228399.8720000002,1228399.8720000002 +2-2-2019 22:00,1201858.56,559455.296,559455.296 +2-2-2019 23:00,706323.264,328787.68,328787.68 +3-2-2019 00:00,743422.912,346057.31200000003,346057.31200000003 +3-2-2019 01:00,1045365.4400000001,486609.12000000005,486609.12000000005 +3-2-2019 02:00,1186638.592,552370.5599999999,552370.5599999999 +3-2-2019 03:00,1332854.144,620432.704,620432.704 +3-2-2019 04:00,1465407.8720000002,682135.4240000001,682135.4240000001 +3-2-2019 05:00,1632193.92,759772.9920000001,759772.9920000001 +3-2-2019 06:00,1766976.512,822513.088,822513.088 +3-2-2019 07:00,2622763.7760000005,1220875.2640000002,1220875.2640000002 +3-2-2019 08:00,3952519.936,1839865.6,1839865.6 +3-2-2019 09:00,5863224.832,2729283.328,2729283.328 +3-2-2019 10:00,6159886.848,2867376.896,2867376.896 +3-2-2019 11:00,2788072.1920000003,1297824.8960000002,1297824.8960000002 +3-2-2019 12:00,2793117.952,1300173.568,1300173.568 +3-2-2019 13:00,1722649.6,801879.4240000001,801879.4240000001 +3-2-2019 14:00,1280800.0,596201.92,596201.92 +3-2-2019 15:00,1729721.7280000001,805171.3280000001,805171.3280000001 +3-2-2019 16:00,2821877.248,1313560.704,1313560.704 +3-2-2019 17:00,3109281.7920000004,1447345.2800000003,1447345.2800000003 +3-2-2019 18:00,3318958.08,1544948.0960000001,1544948.0960000001 +3-2-2019 19:00,3412203.008,1588352.512,1588352.512 +3-2-2019 20:00,3390236.4159999997,1578127.104,1578127.104 +3-2-2019 21:00,2648143.6160000004,1232689.152,1232689.152 +3-2-2019 22:00,1197385.6,557373.248,557373.248 +3-2-2019 23:00,725666.56,337791.87200000003,337791.87200000003 +4-2-2019 00:00,722219.456,336187.29600000003,336187.29600000003 +4-2-2019 01:00,995278.72,463294.1440000001,463294.1440000001 +4-2-2019 02:00,1181481.728,549970.1120000001,549970.1120000001 +4-2-2019 03:00,1329159.8080000002,618713.0240000001,618713.0240000001 +4-2-2019 04:00,1437985.664,669370.6240000001,669370.6240000001 +4-2-2019 05:00,1551715.84,722310.976,722310.976 +4-2-2019 06:00,1695282.1760000002,789140.16,789140.16 +4-2-2019 07:00,3936864.0,1832578.304,1832578.304 +4-2-2019 08:00,3808055.04,1772618.4960000003,1772618.4960000003 +4-2-2019 09:00,4694033.408,2185034.4960000003,2185034.4960000003 +4-2-2019 10:00,4289157.12,1996567.808,1996567.808 +4-2-2019 11:00,2173145.6,1011581.568,1011581.568 +4-2-2019 12:00,2396472.0640000002,1115538.176,1115538.176 +4-2-2019 13:00,2040917.7600000002,950030.5920000001,950030.5920000001 +4-2-2019 14:00,1808591.3600000003,841884.6720000001,841884.6720000001 +4-2-2019 15:00,2044762.1120000002,951820.0960000001,951820.0960000001 +4-2-2019 16:00,3156952.3200000003,1469535.4880000001,1469535.4880000001 +4-2-2019 17:00,2871060.9920000006,1336455.424,1336455.424 +4-2-2019 18:00,5965722.112,2776994.816,2776994.816 +4-2-2019 19:00,4602851.328000001,2142589.44,2142589.44 +4-2-2019 20:00,3388258.5600000005,1577206.528,1577206.528 +4-2-2019 21:00,3086367.7440000004,1436679.04,1436679.04 +4-2-2019 22:00,1672769.536,778660.5440000001,778660.5440000001 +4-2-2019 23:00,558704.2559999999,260072.27200000003,260072.27200000003 +5-2-2019 00:00,562760.64,261960.47999999998,261960.47999999998 +5-2-2019 01:00,649491.072,302332.8,302332.8 +5-2-2019 02:00,846440.8960000002,394011.36000000004,394011.36000000004 +5-2-2019 03:00,1086961.664,505971.872,505971.872 +5-2-2019 04:00,1207448.192,562057.28,562057.28 +5-2-2019 05:00,1281294.4640000002,596432.128,596432.128 +5-2-2019 06:00,1407548.2880000002,655202.2400000001,655202.2400000001 +5-2-2019 07:00,3519186.6880000005,1638152.5760000001,1638152.5760000001 +5-2-2019 08:00,3547999.4880000004,1651564.8,1651564.8 +5-2-2019 09:00,4523959.296,2105865.984,2105865.984 +5-2-2019 10:00,4039662.08,1880429.824,1880429.824 +5-2-2019 11:00,2034524.672,947054.6560000001,947054.6560000001 +5-2-2019 12:00,2252413.696,1048480.192,1048480.192 +5-2-2019 13:00,1824496.64,849288.3840000001,849288.3840000001 +5-2-2019 14:00,1590625.664,740423.2960000001,740423.2960000001 +5-2-2019 15:00,1810271.872,842666.6880000001,842666.6880000001 +5-2-2019 16:00,2908650.7520000003,1353953.152,1353953.152 +5-2-2019 17:00,2639946.4960000003,1228873.472,1228873.472 +5-2-2019 18:00,5785264.1280000005,2692993.2800000003,2692993.2800000003 +5-2-2019 19:00,4363031.04,2030955.52,2030955.52 +5-2-2019 20:00,3224857.6,1501144.8320000002,1501144.8320000002 +5-2-2019 21:00,2979884.544,1387112.0640000002,1387112.0640000002 +5-2-2019 22:00,1612067.712,750404.2880000001,750404.2880000001 +5-2-2019 23:00,550152.96,256091.744,256091.744 +6-2-2019 00:00,550666.688,256330.86400000003,256330.86400000003 +6-2-2019 01:00,581984.64,270909.12000000005,270909.12000000005 +6-2-2019 02:00,804033.4720000001,374271.04000000004,374271.04000000004 +6-2-2019 03:00,1044086.5920000001,486013.824,486013.824 +6-2-2019 04:00,1159037.6960000002,539522.5599999999,539522.5599999999 +6-2-2019 05:00,1231264.0,573143.36,573143.36 +6-2-2019 06:00,1372052.2240000002,638679.1680000001,638679.1680000001 +6-2-2019 07:00,3463336.704,1612155.136,1612155.136 +6-2-2019 08:00,3523706.6240000003,1640256.8960000002,1640256.8960000002 +6-2-2019 09:00,4480236.032000001,2085513.3440000003,2085513.3440000003 +6-2-2019 10:00,3941996.032,1834967.04,1834967.04 +6-2-2019 11:00,1898415.488,883696.8960000002,883696.8960000002 +6-2-2019 12:00,2129876.736,991440.128,991440.128 +6-2-2019 13:00,1695470.4640000002,789227.712,789227.712 +6-2-2019 14:00,1450331.52,675117.5040000001,675117.5040000001 +6-2-2019 15:00,1655679.104,770705.152,770705.152 +6-2-2019 16:00,2744000.256,1277309.824,1277309.824 +6-2-2019 17:00,2481752.32,1155235.456,1155235.456 +6-2-2019 18:00,5665794.5600000005,2637381.12,2637381.12 +6-2-2019 19:00,4190206.7200000007,1950507.008,1950507.008 +6-2-2019 20:00,2978521.6,1386477.4400000002,1386477.4400000002 +6-2-2019 21:00,2715392.768,1263993.216,1263993.216 +6-2-2019 22:00,1445485.1840000001,672861.568,672861.568 +6-2-2019 23:00,476889.88800000004,221988.336,221988.336 +7-2-2019 00:00,470198.784,218873.68,218873.68 +7-2-2019 01:00,471723.968,219583.64800000002,219583.64800000002 +7-2-2019 02:00,479410.33600000007,223161.61600000004,223161.61600000004 +7-2-2019 03:00,674626.6240000001,314033.184,314033.184 +7-2-2019 04:00,861114.56,400841.76,400841.76 +7-2-2019 05:00,930308.4160000001,433050.976,433050.976 +7-2-2019 06:00,1028815.2320000001,478905.088,478905.088 +7-2-2019 07:00,2827218.944,1316047.36,1316047.36 +7-2-2019 08:00,3133895.168,1458802.56,1458802.56 +7-2-2019 09:00,4083189.7600000002,1900691.584,1900691.584 +7-2-2019 10:00,3294253.568,1533447.936,1533447.936 +7-2-2019 11:00,1433672.5760000001,667362.9440000001,667362.9440000001 +7-2-2019 12:00,1704487.936,793425.216,793425.216 +7-2-2019 13:00,1250032.5119999999,581880.0,581880.0 +7-2-2019 14:00,941383.8720000001,438206.592,438206.592 +7-2-2019 15:00,846682.6240000001,394123.90400000004,394123.90400000004 +7-2-2019 16:00,2307981.056,1074346.496,1074346.496 +7-2-2019 17:00,2126521.344,989878.2080000001,989878.2080000001 +7-2-2019 18:00,5493556.7360000005,2557205.7600000002,2557205.7600000002 +7-2-2019 19:00,3972057.0880000005,1848960.384,1848960.384 +7-2-2019 20:00,2679183.3600000003,1247138.0480000002,1247138.0480000002 +7-2-2019 21:00,2621153.024,1220125.4400000002,1220125.4400000002 +7-2-2019 22:00,1408908.8,655835.52,655835.52 +7-2-2019 23:00,463584.288,215794.67200000002,215794.67200000002 +8-2-2019 00:00,454558.20800000004,211593.136,211593.136 +8-2-2019 01:00,454229.34400000004,211440.064,211440.064 +8-2-2019 02:00,471170.112,219325.85600000003,219325.85600000003 +8-2-2019 03:00,650036.4160000001,302586.656,302586.656 +8-2-2019 04:00,862500.8,401487.07200000004,401487.07200000004 +8-2-2019 05:00,946053.3119999999,440380.128,440380.128 +8-2-2019 06:00,1068868.864,497549.696,497549.696 +8-2-2019 07:00,2842964.736,1323376.8960000002,1323376.8960000002 +8-2-2019 08:00,3106462.9760000003,1446033.2800000003,1446033.2800000003 +8-2-2019 09:00,4016930.048,1869848.0640000002,1869848.0640000002 +8-2-2019 10:00,3233461.248,1505149.824,1505149.824 +8-2-2019 11:00,1392434.0480000002,648166.7200000001,648166.7200000001 +8-2-2019 12:00,1642058.624,764364.9280000001,764364.9280000001 +8-2-2019 13:00,1256559.232,584918.0160000001,584918.0160000001 +8-2-2019 14:00,1037782.4,483079.29600000003,483079.29600000003 +8-2-2019 15:00,1224464.128,569978.0480000001,569978.0480000001 +8-2-2019 16:00,2215149.3120000004,1031133.8880000002,1031133.8880000002 +8-2-2019 17:00,1969844.0960000001,916946.368,916946.368 +8-2-2019 18:00,5309527.552000001,2471541.7600000002,2471541.7600000002 +8-2-2019 19:00,3735376.1280000005,1738786.9440000001,1738786.9440000001 +8-2-2019 20:00,2426042.112,1129302.784,1129302.784 +8-2-2019 21:00,2376793.344,1106377.984,1106377.984 +8-2-2019 22:00,1252728.32,583134.784,583134.784 +8-2-2019 23:00,406598.976,189268.496,189268.496 +9-2-2019 00:00,394225.504,183508.784,183508.784 +9-2-2019 01:00,392793.02400000003,182841.95200000002,182841.95200000002 +9-2-2019 02:00,395758.656,184222.43200000003,184222.43200000003 +9-2-2019 03:00,416135.29600000003,193707.568,193707.568 +9-2-2019 04:00,597488.64,278126.112,278126.112 +9-2-2019 05:00,712536.8960000001,331680.128,331680.128 +9-2-2019 06:00,834657.6000000001,388526.336,388526.336 +9-2-2019 07:00,1565419.776,728690.1120000001,728690.1120000001 +9-2-2019 08:00,2868781.3120000004,1335394.304,1335394.304 +9-2-2019 09:00,4956720.1280000005,2307312.896,2307312.896 +9-2-2019 10:00,4911405.568,2286219.264,2286219.264 +9-2-2019 11:00,2343365.12,1090817.536,1090817.536 +9-2-2019 12:00,2138939.008,995658.8160000001,995658.8160000001 +9-2-2019 13:00,1283600.7680000002,597505.664,597505.664 +9-2-2019 14:00,1009135.616,469744.4480000001,469744.4480000001 +9-2-2019 15:00,1201233.7920000001,559164.5440000001,559164.5440000001 +9-2-2019 16:00,2101398.4,978183.8720000001,978183.8720000001 +9-2-2019 17:00,2269092.0960000004,1056243.776,1056243.776 +9-2-2019 18:00,2329047.8079999997,1084152.704,1084152.704 +9-2-2019 19:00,2313327.872,1076835.328,1076835.328 +9-2-2019 20:00,2322245.12,1080986.112,1080986.112 +9-2-2019 21:00,1797926.784,836920.128,836920.128 +9-2-2019 22:00,785756.48,365763.232,365763.232 +9-2-2019 23:00,449492.288,209234.992,209234.992 +10-2-2019 00:00,446820.51200000005,207991.31200000003,207991.31200000003 +10-2-2019 01:00,448821.184,208922.576,208922.576 +10-2-2019 02:00,458264.32000000007,213318.304,213318.304 +10-2-2019 03:00,600917.6320000001,279722.27200000006,279722.27200000006 +10-2-2019 04:00,727915.52,338838.72000000003,338838.72000000003 +10-2-2019 05:00,838594.8160000001,390359.07200000004,390359.07200000004 +10-2-2019 06:00,899956.0320000001,418922.20800000004,418922.20800000004 +10-2-2019 07:00,1549185.408,721133.184,721133.184 +10-2-2019 08:00,2799903.488,1303332.2240000002,1303332.2240000002 +10-2-2019 09:00,4957415.424000001,2307636.224,2307636.224 +10-2-2019 10:00,4841320.448,2253595.3920000005,2253595.3920000005 +10-2-2019 11:00,2392104.704,1113505.28,1113505.28 +10-2-2019 12:00,2346452.224,1092254.336,1092254.336 +10-2-2019 13:00,1546824.32,720034.1120000001,720034.1120000001 +10-2-2019 14:00,1306981.504,608389.184,608389.184 +10-2-2019 15:00,1346282.368,626683.52,626683.52 +10-2-2019 16:00,2352837.376,1095226.624,1095226.624 +10-2-2019 17:00,2496295.936,1162005.376,1162005.376 +10-2-2019 18:00,2595943.168,1208390.272,1208390.272 +10-2-2019 19:00,2639260.16,1228553.984,1228553.984 +10-2-2019 20:00,2619377.92,1219299.0720000002,1219299.0720000002 +10-2-2019 21:00,2013864.8320000002,937437.504,937437.504 +10-2-2019 22:00,915261.12,426046.592,426046.592 +10-2-2019 23:00,534166.944,248650.336,248650.336 +11-2-2019 00:00,528468.608,245997.82400000002,245997.82400000002 +11-2-2019 01:00,524685.9519999999,244237.04,244237.04 +11-2-2019 02:00,629429.888,292994.496,292994.496 +11-2-2019 03:00,759551.8080000001,353565.184,353565.184 +11-2-2019 04:00,877448.8960000002,408445.31200000003,408445.31200000003 +11-2-2019 05:00,954461.4400000001,444294.04800000007,444294.04800000007 +11-2-2019 06:00,1071098.24,498587.456,498587.456 +11-2-2019 07:00,2873738.7520000003,1337702.016,1337702.016 +11-2-2019 08:00,3021369.3440000005,1406422.784,1406422.784 +11-2-2019 09:00,3707356.9280000003,1725744.512,1725744.512 +11-2-2019 10:00,3168649.472,1474980.4800000002,1474980.4800000002 +11-2-2019 11:00,1232381.4400000002,573663.552,573663.552 +11-2-2019 12:00,1418436.0960000001,660270.3360000001,660270.3360000001 +11-2-2019 13:00,953515.8400000001,443853.824,443853.824 +11-2-2019 14:00,446709.40800000005,207939.568,207939.568 +11-2-2019 15:00,611946.752,284856.192,284856.192 +11-2-2019 16:00,2106737.92,980669.3119999999,980669.3119999999 +11-2-2019 17:00,2036993.536,948203.8400000001,948203.8400000001 +11-2-2019 18:00,5415608.832,2520921.6,2520921.6 +11-2-2019 19:00,3542019.84,1648781.312,1648781.312 +11-2-2019 20:00,2692521.216,1253346.688,1253346.688 +11-2-2019 21:00,2639249.408,1228548.992,1228548.992 +11-2-2019 22:00,1440605.056,670589.952,670589.952 +11-2-2019 23:00,507556.6400000001,236263.456,236263.456 +12-2-2019 00:00,472560.992,219973.26400000002,219973.26400000002 +12-2-2019 01:00,494776.576,230314.448,230314.448 +12-2-2019 02:00,622423.168,289732.896,289732.896 +12-2-2019 03:00,867396.4160000001,403765.95200000005,403765.95200000005 +12-2-2019 04:00,1074311.936,500083.488,500083.488 +12-2-2019 05:00,1078643.84,502099.90400000004,502099.90400000004 +12-2-2019 06:00,1165146.24,542366.0160000001,542366.0160000001 +12-2-2019 07:00,3031687.424,1411225.7280000001,1411225.7280000001 +12-2-2019 08:00,3197812.9920000006,1488555.904,1488555.904 +12-2-2019 09:00,4064250.1119999997,1891875.584,1891875.584 +12-2-2019 10:00,3401940.2240000004,1583575.424,1583575.424 +12-2-2019 11:00,1393352.192,648594.1120000001,648594.1120000001 +12-2-2019 12:00,1608465.408,748727.488,748727.488 +12-2-2019 13:00,1205887.104,561330.688,561330.688 +12-2-2019 14:00,872361.344,406077.12000000005,406077.12000000005 +12-2-2019 15:00,1170872.192,545031.424,545031.424 +12-2-2019 16:00,2222884.864,1034734.784,1034734.784 +12-2-2019 17:00,2023864.32,942092.2880000002,942092.2880000002 +12-2-2019 18:00,5403422.720000001,2515249.408,2515249.408 +12-2-2019 19:00,3682287.872,1714074.752,1714074.752 +12-2-2019 20:00,2496811.008,1162244.992,1162244.992 +12-2-2019 21:00,2506562.56,1166784.384,1166784.384 +12-2-2019 22:00,1348025.6,627494.912,627494.912 +12-2-2019 23:00,450026.752,209483.79200000002,209483.79200000002 +13-2-2019 00:00,437159.488,203494.16000000003,203494.16000000003 +13-2-2019 01:00,441021.44000000006,205291.872,205291.872 +13-2-2019 02:00,446042.81600000005,207629.24800000002,207629.24800000002 +13-2-2019 03:00,606167.168,282165.856,282165.856 +13-2-2019 04:00,823407.2320000001,383289.34400000004,383289.34400000004 +13-2-2019 05:00,911860.8640000001,424463.808,424463.808 +13-2-2019 06:00,1026146.304,477662.688,477662.688 +13-2-2019 07:00,2731750.4000000004,1271607.424,1271607.424 +13-2-2019 08:00,3040341.504,1415254.144,1415254.144 +13-2-2019 09:00,3902262.7840000005,1816471.4239999999,1816471.4239999999 +13-2-2019 10:00,3168793.088,1475047.296,1475047.296 +13-2-2019 11:00,1380798.976,642750.656,642750.656 +13-2-2019 12:00,1670642.0480000002,777670.1440000001,777670.1440000001 +13-2-2019 13:00,1279218.176,595465.6,595465.6 +13-2-2019 14:00,1017869.824,473810.112,473810.112 +13-2-2019 15:00,1154974.208,537631.04,537631.04 +13-2-2019 16:00,2182933.504,1016137.6640000001,1016137.6640000001 +13-2-2019 17:00,2010258.816,935759.1680000001,935759.1680000001 +13-2-2019 18:00,5414763.5200000005,2520528.384,2520528.384 +13-2-2019 19:00,3731537.1520000007,1736999.936,1736999.936 +13-2-2019 20:00,2571996.416,1197243.2640000002,1197243.2640000002 +13-2-2019 21:00,2575539.2,1198892.544,1198892.544 +13-2-2019 22:00,1403124.608,653143.04,653143.04 +13-2-2019 23:00,479841.56799999997,223362.352,223362.352 +14-2-2019 00:00,496669.76,231195.696,231195.696 +14-2-2019 01:00,485835.10400000005,226152.27200000003,226152.27200000003 +14-2-2019 02:00,549959.9360000001,256001.85600000003,256001.85600000003 +14-2-2019 03:00,894792.0640000001,416518.368,416518.368 +14-2-2019 04:00,1044538.112,486223.93600000005,486223.93600000005 +14-2-2019 05:00,1143397.888,532242.368,532242.368 +14-2-2019 06:00,1246844.416,580395.968,580395.968 +14-2-2019 07:00,3238136.3200000003,1507326.08,1507326.08 +14-2-2019 08:00,3243729.1520000002,1509929.6,1509929.6 +14-2-2019 09:00,3915561.216,1822662.1440000003,1822662.1440000003 +14-2-2019 10:00,3286842.112,1529998.208,1529998.208 +14-2-2019 11:00,1282823.424,597143.872,597143.872 +14-2-2019 12:00,1502821.6320000002,699551.1680000001,699551.1680000001 +14-2-2019 13:00,1075186.304,500490.464,500490.464 +14-2-2019 14:00,824383.488,383743.808,383743.808 +14-2-2019 15:00,948967.36,441736.51200000005,441736.51200000005 +14-2-2019 16:00,2007140.864,934307.648,934307.648 +14-2-2019 17:00,1987840.7680000002,925323.7119999999,925323.7119999999 +14-2-2019 18:00,5524756.48,2571728.896,2571728.896 +14-2-2019 19:00,4010556.16,1866881.024,1866881.024 +14-2-2019 20:00,2845278.464,1324454.016,1324454.016 +14-2-2019 21:00,2808854.784,1307499.0080000001,1307499.0080000001 +14-2-2019 22:00,1555526.528,724084.9280000001,724084.9280000001 +14-2-2019 23:00,521415.808,242714.81600000002,242714.81600000002 +15-2-2019 00:00,496506.752,231119.82400000002,231119.82400000002 +15-2-2019 01:00,526815.2320000001,245228.192,245228.192 +15-2-2019 02:00,663156.224,308693.824,308693.824 +15-2-2019 03:00,917208.96,426953.216,426953.216 +15-2-2019 04:00,1044607.4880000001,486256.256,486256.256 +15-2-2019 05:00,1132532.352,527184.576,527184.576 +15-2-2019 06:00,1279366.272,595534.528,595534.528 +15-2-2019 07:00,3271420.6720000003,1522819.584,1522819.584 +15-2-2019 08:00,3204652.544,1491739.648,1491739.648 +15-2-2019 09:00,3464862.976,1612865.2800000003,1612865.2800000003 +15-2-2019 10:00,2508761.6,1167808.256,1167808.256 +15-2-2019 11:00,619318.5920000001,288287.744,288287.744 +15-2-2019 12:00,1067372.672,496853.216,496853.216 +15-2-2019 13:00,417601.088,194389.888,194389.888 +15-2-2019 14:00,153432.928,71421.776,71421.776 +15-2-2019 15:00,289428.8,134726.752,134726.752 +15-2-2019 16:00,1354265.472,630399.552,630399.552 +15-2-2019 17:00,1753974.2719999999,816460.672,816460.672 +15-2-2019 18:00,5074897.408,2362323.456,2362323.456 +15-2-2019 19:00,3259996.16,1517501.4400000002,1517501.4400000002 +15-2-2019 20:00,2482163.456,1155426.816,1155426.816 +15-2-2019 21:00,2617222.1440000003,1218295.6800000002,1218295.6800000002 +15-2-2019 22:00,1454979.84,677281.28,677281.28 +15-2-2019 23:00,486210.752,226327.10400000002,226327.10400000002 +16-2-2019 00:00,456504.80000000005,212499.24800000002,212499.24800000002 +16-2-2019 01:00,494664.992,230262.528,230262.528 +16-2-2019 02:00,537698.944,250294.47999999998,250294.47999999998 +16-2-2019 03:00,804703.488,374582.88,374582.88 +16-2-2019 04:00,958256.4480000001,446060.54400000005,446060.54400000005 +16-2-2019 05:00,1116130.0480000002,519549.376,519549.376 +16-2-2019 06:00,1224201.472,569855.8080000001,569855.8080000001 +16-2-2019 07:00,1894119.296,881697.0880000001,881697.0880000001 +16-2-2019 08:00,3147931.904,1465336.5760000001,1465336.5760000001 +16-2-2019 09:00,5158789.632,2401374.208,2401374.208 +16-2-2019 10:00,5387639.808,2507902.464,2507902.464 +16-2-2019 11:00,2293159.424,1067446.848,1067446.848 +16-2-2019 12:00,2092274.816,973936.8960000002,973936.8960000002 +16-2-2019 13:00,1219826.304,567819.264,567819.264 +16-2-2019 14:00,940441.216,437767.776,437767.776 +16-2-2019 15:00,918278.912,427451.32800000004,427451.32800000004 +16-2-2019 16:00,1933647.232,900097.0880000001,900097.0880000001 +16-2-2019 17:00,2166574.592,1008522.944,1008522.944 +16-2-2019 18:00,2467166.208,1148445.6960000002,1148445.6960000002 +16-2-2019 19:00,2653953.024,1235393.408,1235393.408 +16-2-2019 20:00,2682622.9760000003,1248739.2,1248739.2 +16-2-2019 21:00,2117069.952,985478.784,985478.784 +16-2-2019 22:00,991002.432,461303.52,461303.52 +16-2-2019 23:00,599009.28,278833.92000000004,278833.92000000004 +17-2-2019 00:00,604411.008,281348.416,281348.416 +17-2-2019 01:00,660160.768,307299.42400000006,307299.42400000006 +17-2-2019 02:00,846668.16,394117.088,394117.088 +17-2-2019 03:00,1008049.0240000001,469238.62400000007,469238.62400000007 +17-2-2019 04:00,1090079.232,507422.912,507422.912 +17-2-2019 05:00,1230592.128,572830.5920000001,572830.5920000001 +17-2-2019 06:00,1280309.504,595973.568,595973.568 +17-2-2019 07:00,1968052.352,916112.192,916112.192 +17-2-2019 08:00,3198225.92,1488748.1600000001,1488748.1600000001 +17-2-2019 09:00,5457647.104,2540490.4960000003,2540490.4960000003 +17-2-2019 10:00,5525444.096000001,2572049.408,2572049.408 +17-2-2019 11:00,2414276.864,1123826.176,1123826.176 +17-2-2019 12:00,2143090.432,997591.1039999999,997591.1039999999 +17-2-2019 13:00,1167475.712,543450.432,543450.432 +17-2-2019 14:00,817505.984,380542.368,380542.368 +17-2-2019 15:00,722511.104,336323.00800000003,336323.00800000003 +17-2-2019 16:00,1755894.5280000002,817354.6240000001,817354.6240000001 +17-2-2019 17:00,2068387.7120000003,962817.6000000001,962817.6000000001 +17-2-2019 18:00,2186340.608,1017723.8400000001,1017723.8400000001 +17-2-2019 19:00,2260775.168,1052372.4800000002,1052372.4800000002 +17-2-2019 20:00,2447823.3600000003,1139442.0480000002,1139442.0480000002 +17-2-2019 21:00,1906809.3440000003,887604.0960000001,887604.0960000001 +17-2-2019 22:00,890236.4160000001,414397.792,414397.792 +17-2-2019 23:00,560448.704,260884.25600000002,260884.25600000002 +18-2-2019 00:00,571262.8480000001,265918.16000000003,265918.16000000003 +18-2-2019 01:00,584632.64,272141.76,272141.76 +18-2-2019 02:00,774076.5440000001,360326.304,360326.304 +18-2-2019 03:00,958706.944,446270.272,446270.272 +18-2-2019 04:00,1016769.9199999999,473298.1440000001,473298.1440000001 +18-2-2019 05:00,1110368.8960000002,516867.68,516867.68 +18-2-2019 06:00,1239353.8560000001,576909.056,576909.056 +18-2-2019 07:00,3144163.5840000003,1463582.3360000001,1463582.3360000001 +18-2-2019 08:00,3140501.248,1461877.76,1461877.76 +18-2-2019 09:00,3897436.4159999997,1814224.7680000002,1814224.7680000002 +18-2-2019 10:00,3130182.9120000005,1457074.56,1457074.56 +18-2-2019 11:00,1071242.496,498654.688,498654.688 +18-2-2019 12:00,1277269.3760000002,594558.528,594558.528 +18-2-2019 13:00,842045.6320000001,391965.40800000005,391965.40800000005 +18-2-2019 14:00,595278.208,277097.152,277097.152 +18-2-2019 15:00,700208.064,325941.12000000005,325941.12000000005 +18-2-2019 16:00,1792513.2800000003,834400.3200000001,834400.3200000001 +18-2-2019 17:00,1717948.4160000002,799690.9440000001,799690.9440000001 +18-2-2019 18:00,5262880.256000001,2449827.84,2449827.84 +18-2-2019 19:00,3164232.704,1472924.544,1472924.544 +18-2-2019 20:00,2452786.944,1141752.192,1141752.192 +18-2-2019 21:00,2519915.2640000004,1173000.064,1173000.064 +18-2-2019 22:00,1344792.8320000002,625990.08,625990.08 +18-2-2019 23:00,408358.336,190087.456,190087.456 +19-2-2019 00:00,400943.00800000003,186635.71200000003,186635.71200000003 +19-2-2019 01:00,405994.4,188987.07200000001,188987.07200000001 +19-2-2019 02:00,411020.064,191326.496,191326.496 +19-2-2019 03:00,469366.176,218486.128,218486.128 +19-2-2019 04:00,709622.464,330323.456,330323.456 +19-2-2019 05:00,834280.832,388350.944,388350.944 +19-2-2019 06:00,976124.4160000001,454377.984,454377.984 +19-2-2019 07:00,2566759.68,1194805.632,1194805.632 +19-2-2019 08:00,2904135.424,1351851.2640000002,1351851.2640000002 +19-2-2019 09:00,3614147.328,1682356.0960000001,1682356.0960000001 +19-2-2019 10:00,2770255.3600000003,1289531.392,1289531.392 +19-2-2019 11:00,1102557.952,513231.8400000001,513231.8400000001 +19-2-2019 12:00,1412152.0640000002,657345.28,657345.28 +19-2-2019 13:00,959261.3119999999,446528.384,446528.384 +19-2-2019 14:00,796754.752,370882.848,370882.848 +19-2-2019 15:00,681437.6320000001,317203.64800000004,317203.64800000004 +19-2-2019 16:00,1986045.0559999999,924487.8720000001,924487.8720000001 +19-2-2019 17:00,1875060.9920000003,872825.6000000001,872825.6000000001 +19-2-2019 18:00,5226852.864,2433057.2800000003,2433057.2800000003 +19-2-2019 19:00,3283396.864,1528394.2400000002,1528394.2400000002 +19-2-2019 20:00,2427924.736,1130178.944,1130178.944 +19-2-2019 21:00,2355979.52,1096689.28,1096689.28 +19-2-2019 22:00,1273957.504,593016.832,593016.832 +19-2-2019 23:00,423391.55199999997,197085.328,197085.328 +20-2-2019 00:00,416417.05600000004,193838.73600000003,193838.73600000003 +20-2-2019 01:00,417531.16800000006,194357.36000000002,194357.36000000002 +20-2-2019 02:00,422047.10400000005,196459.488,196459.488 +20-2-2019 03:00,505756.35199999996,235425.44,235425.44 +20-2-2019 04:00,719062.656,334717.792,334717.792 +20-2-2019 05:00,854132.544,397591.71200000006,397591.71200000006 +20-2-2019 06:00,979213.952,455816.128,455816.128 +20-2-2019 07:00,2600729.3440000005,1210618.24,1210618.24 +20-2-2019 08:00,2954062.592,1375092.0960000001,1375092.0960000001 +20-2-2019 09:00,3659960.576,1703682.0480000002,1703682.0480000002 +20-2-2019 10:00,2804955.136,1305683.712,1305683.712 +20-2-2019 11:00,1036437.376,482453.184,482453.184 +20-2-2019 12:00,1356130.816,631267.8400000001,631267.8400000001 +20-2-2019 13:00,971182.336,452077.44000000006,452077.44000000006 +20-2-2019 14:00,581931.264,270884.22400000005,270884.22400000005 +20-2-2019 15:00,780671.872,363396.384,363396.384 +20-2-2019 16:00,1888921.3440000003,879277.4400000001,879277.4400000001 +20-2-2019 17:00,1735383.4239999999,807806.912,807806.912 +20-2-2019 18:00,5117648.896000001,2382223.616,2382223.616 +20-2-2019 19:00,3153255.168,1467814.6560000002,1467814.6560000002 +20-2-2019 20:00,2310667.264,1075596.672,1075596.672 +20-2-2019 21:00,2279097.856,1060901.4400000002,1060901.4400000002 +20-2-2019 22:00,1243092.2240000002,578649.28,578649.28 +20-2-2019 23:00,416294.88,193781.872,193781.872 +21-2-2019 00:00,400635.776,186492.70400000003,186492.70400000003 +21-2-2019 01:00,403109.728,187644.288,187644.288 +21-2-2019 02:00,409506.81600000005,190622.08000000002,190622.08000000002 +21-2-2019 03:00,463823.872,215906.22400000005,215906.22400000005 +21-2-2019 04:00,655609.344,305180.8,305180.8 +21-2-2019 05:00,801853.376,373256.25600000005,373256.25600000005 +21-2-2019 06:00,944749.4400000001,439773.184,439773.184 +21-2-2019 07:00,2506398.464,1166707.968,1166707.968 +21-2-2019 08:00,2861837.568,1332162.176,1332162.176 +21-2-2019 09:00,3556298.7520000003,1655428.0960000001,1655428.0960000001 +21-2-2019 10:00,2686933.504,1250745.472,1250745.472 +21-2-2019 11:00,1063177.024,494900.288,494900.288 +21-2-2019 12:00,1310511.104,610032.2559999999,610032.2559999999 +21-2-2019 13:00,902319.04,420022.112,420022.112 +21-2-2019 14:00,643768.768,299669.12000000005,299669.12000000005 +21-2-2019 15:00,852667.584,396909.76,396909.76 +21-2-2019 16:00,1964823.6800000002,914609.344,914609.344 +21-2-2019 17:00,1774227.2000000002,825888.192,825888.192 +21-2-2019 18:00,5116992.0,2381917.952,2381917.952 +21-2-2019 19:00,3114248.4480000003,1449657.216,1449657.216 +21-2-2019 20:00,2199563.776,1023878.976,1023878.976 +21-2-2019 21:00,2147114.112,999464.0640000001,999464.0640000001 +21-2-2019 22:00,1146534.912,533702.6240000001,533702.6240000001 +21-2-2019 23:00,373963.29600000003,174076.848,174076.848 +22-2-2019 00:00,367132.704,170897.28000000003,170897.28000000003 +22-2-2019 01:00,366289.184,170504.64,170504.64 +22-2-2019 02:00,365780.51200000005,170267.84,170267.84 +22-2-2019 03:00,369735.264,172108.73600000003,172108.73600000003 +22-2-2019 04:00,461329.152,214744.976,214744.976 +22-2-2019 05:00,599813.4400000001,279208.256,279208.256 +22-2-2019 06:00,724798.784,337387.90400000004,337387.90400000004 +22-2-2019 07:00,2172271.872,1011174.784,1011174.784 +22-2-2019 08:00,2667878.1440000003,1241875.456,1241875.456 +22-2-2019 09:00,3399757.312,1582559.36,1582559.36 +22-2-2019 10:00,2431002.112,1131611.648,1131611.648 +22-2-2019 11:00,887791.6800000002,413259.87200000003,413259.87200000003 +22-2-2019 12:00,1199977.0880000002,558579.584,558579.584 +22-2-2019 13:00,823132.16,383161.28,383161.28 +22-2-2019 14:00,575629.76,267950.97599999997,267950.97599999997 +22-2-2019 15:00,687231.68,319900.73600000003,319900.73600000003 +22-2-2019 16:00,1742020.4800000002,810896.3200000001,810896.3200000001 +22-2-2019 17:00,1589090.432,739708.672,739708.672 +22-2-2019 18:00,4958915.072,2308334.592,2308334.592 +22-2-2019 19:00,2835719.68,1320004.4800000002,1320004.4800000002 +22-2-2019 20:00,2262721.7920000004,1053278.4000000001,1053278.4000000001 +22-2-2019 21:00,2175682.304,1012762.432,1012762.432 +22-2-2019 22:00,1169705.984,544488.576,544488.576 +22-2-2019 23:00,392527.87200000003,182718.51200000002,182718.51200000002 +23-2-2019 00:00,392523.136,182716.32,182716.32 +23-2-2019 01:00,402641.12000000005,187426.144,187426.144 +23-2-2019 02:00,406287.808,189123.64800000002,189123.64800000002 +23-2-2019 03:00,433931.872,201991.728,201991.728 +23-2-2019 04:00,656260.352,305483.84,305483.84 +23-2-2019 05:00,766022.656,356577.28,356577.28 +23-2-2019 06:00,944118.6560000001,439479.58400000003,439479.58400000003 +23-2-2019 07:00,1646495.4880000001,766430.2080000001,766430.2080000001 +23-2-2019 08:00,2850738.688,1326995.584,1326995.584 +23-2-2019 09:00,4886930.432,2274826.2399999998,2274826.2399999998 +23-2-2019 10:00,4251303.936,1978947.072,1978947.072 +23-2-2019 11:00,2057387.904,957697.2800000001,957697.2800000001 +23-2-2019 12:00,1673924.608,779198.272,779198.272 +23-2-2019 13:00,431348.35199999996,200789.10400000002,200789.10400000002 +23-2-2019 14:00,556820.48,259195.40800000002,259195.40800000002 +23-2-2019 15:00,536364.16,249673.16800000003,249673.16800000003 +23-2-2019 16:00,1580939.2640000002,735914.432,735914.432 +23-2-2019 17:00,1981429.888,922339.4560000001,922339.4560000001 +23-2-2019 18:00,2105679.488,980176.576,980176.576 +23-2-2019 19:00,2157436.16,1004268.8640000001,1004268.8640000001 +23-2-2019 20:00,2338207.2320000003,1088416.384,1088416.384 +23-2-2019 21:00,2007978.368,934697.4720000001,934697.4720000001 +23-2-2019 22:00,806126.0160000001,375245.152,375245.152 +23-2-2019 23:00,475058.4,221135.80800000002,221135.80800000002 +24-2-2019 00:00,492023.392,229032.88,229032.88 +24-2-2019 01:00,504086.752,234648.288,234648.288 +24-2-2019 02:00,598652.224,278667.712,278667.712 +24-2-2019 03:00,760412.8,353965.95200000005,353965.95200000005 +24-2-2019 04:00,942701.376,438819.8400000001,438819.8400000001 +24-2-2019 05:00,1116892.928,519904.576,519904.576 +24-2-2019 06:00,1202677.76,559836.672,559836.672 +24-2-2019 07:00,1923272.704,895267.7760000001,895267.7760000001 +24-2-2019 08:00,2959170.0480000004,1377469.312,1377469.312 +24-2-2019 09:00,4707189.760000001,2191158.272,2191158.272 +24-2-2019 10:00,3931192.576,1829938.0480000002,1829938.0480000002 +24-2-2019 11:00,1358079.4880000001,632174.912,632174.912 +24-2-2019 12:00,1334189.6960000002,621054.464,621054.464 +24-2-2019 13:00,840388.4800000001,391193.984,391193.984 +24-2-2019 14:00,624605.056,290748.544,290748.544 +24-2-2019 15:00,538926.784,250866.01600000003,250866.01600000003 +24-2-2019 16:00,1512689.2800000003,704144.5120000001,704144.5120000001 +24-2-2019 17:00,1752600.5760000004,815821.312,815821.312 +24-2-2019 18:00,2031579.648,945683.7760000001,945683.7760000001 +24-2-2019 19:00,2227822.08,1037033.0240000001,1037033.0240000001 +24-2-2019 20:00,2389931.776,1112493.824,1112493.824 +24-2-2019 21:00,1908765.1840000001,888514.6240000001,888514.6240000001 +24-2-2019 22:00,910551.1680000001,423854.112,423854.112 +24-2-2019 23:00,578486.1440000001,269280.576,269280.576 +25-2-2019 00:00,586478.784,273001.088,273001.088 +25-2-2019 01:00,600428.5440000001,279494.592,279494.592 +25-2-2019 02:00,827466.1120000001,385178.72000000003,385178.72000000003 +25-2-2019 03:00,959406.6560000001,446595.90400000004,446595.90400000004 +25-2-2019 04:00,1077889.7920000001,501748.9280000001,501748.9280000001 +25-2-2019 05:00,1121721.344,522152.16,522152.16 +25-2-2019 06:00,1207920.0,562276.9280000001,562276.9280000001 +25-2-2019 07:00,3205553.408,1492159.104,1492159.104 +25-2-2019 08:00,2973930.7520000003,1384340.4800000002,1384340.4800000002 +25-2-2019 09:00,3202220.8000000003,1490607.6160000002,1490607.6160000002 +25-2-2019 10:00,2131453.952,992174.2080000001,992174.2080000001 +25-2-2019 11:00,484379.74400000006,225474.80000000002,225474.80000000002 +25-2-2019 12:00,590486.5920000001,274866.688,274866.688 +25-2-2019 13:00,194262.304,90427.52,90427.52 +25-2-2019 14:00,273988.064,127539.20800000001,127539.20800000001 +25-2-2019 15:00,327867.456,152619.632,152619.632 +25-2-2019 16:00,1061441.216,494092.288,494092.288 +25-2-2019 17:00,1195208.32,556359.68,556359.68 +25-2-2019 18:00,4893560.32,2277912.5760000004,2277912.5760000004 +25-2-2019 19:00,2658572.288,1237543.808,1237543.808 +25-2-2019 20:00,2346828.544,1092429.568,1092429.568 +25-2-2019 21:00,2409464.0640000002,1121585.92,1121585.92 +25-2-2019 22:00,1330286.08,619237.376,619237.376 +25-2-2019 23:00,472594.176,219988.752,219988.752 +26-2-2019 00:00,473439.55199999997,220382.25600000002,220382.25600000002 +26-2-2019 01:00,485731.2,226103.936,226103.936 +26-2-2019 02:00,497141.31200000003,231415.232,231415.232 +26-2-2019 03:00,839777.728,390909.66400000005,390909.66400000005 +26-2-2019 04:00,1002873.9199999999,466829.63200000004,466829.63200000004 +26-2-2019 05:00,1110183.552,516781.40800000005,516781.40800000005 +26-2-2019 06:00,1243934.72,579041.472,579041.472 +26-2-2019 07:00,3100336.896,1443181.568,1443181.568 +26-2-2019 08:00,3024780.032,1408010.4960000003,1408010.4960000003 +26-2-2019 09:00,3525508.0960000004,1641095.296,1641095.296 +26-2-2019 10:00,2548130.5600000005,1186134.144,1186134.144 +26-2-2019 11:00,604868.672,281561.44,281561.44 +26-2-2019 12:00,915204.2880000002,426020.22400000005,426020.22400000005 +26-2-2019 13:00,452424.992,210600.17599999998,210600.17599999998 +26-2-2019 14:00,236961.40800000002,110303.592,110303.592 +26-2-2019 15:00,357513.248,166419.50400000002,166419.50400000002 +26-2-2019 16:00,1188472.5760000001,553224.2559999999,553224.2559999999 +26-2-2019 17:00,1304989.6960000002,607462.0160000001,607462.0160000001 +26-2-2019 18:00,4940990.464000001,2299990.5280000004,2299990.5280000004 +26-2-2019 19:00,2791230.9760000003,1299295.104,1299295.104 +26-2-2019 20:00,2306770.1760000004,1073782.528,1073782.528 +26-2-2019 21:00,2385430.272,1110398.208,1110398.208 +26-2-2019 22:00,1322069.2480000001,615412.48,615412.48 +26-2-2019 23:00,455870.08,212203.84,212203.84 +27-2-2019 00:00,458814.9440000001,213574.608,213574.608 +27-2-2019 01:00,462699.74400000006,215382.96000000002,215382.96000000002 +27-2-2019 02:00,478151.64800000004,222575.71200000003,222575.71200000003 +27-2-2019 03:00,764837.312,356025.504,356025.504 +27-2-2019 04:00,932280.6400000001,433969.056,433969.056 +27-2-2019 05:00,993703.2320000001,462560.80000000005,462560.80000000005 +27-2-2019 06:00,1072502.72,499241.2480000001,499241.2480000001 +27-2-2019 07:00,2840561.408,1322258.304,1322258.304 +27-2-2019 08:00,2789035.2640000004,1298273.152,1298273.152 +27-2-2019 09:00,3072355.84,1430156.544,1430156.544 +27-2-2019 10:00,1836064.64,854673.0240000001,854673.0240000001 +27-2-2019 11:00,177221.424,82495.12800000001,82495.12800000001 +27-2-2019 12:00,427975.55199999997,199219.12,199219.12 +27-2-2019 13:00,127767.064,59474.536,59474.536 +27-2-2019 14:00,49632.152,23103.36,23103.36 +27-2-2019 15:00,190894.43200000003,88859.8,88859.8 +27-2-2019 16:00,356154.43200000003,165786.992,165786.992 +27-2-2019 17:00,828375.872,385602.20800000004,385602.20800000004 +27-2-2019 18:00,4295964.672,1999736.5760000004,1999736.5760000004 +27-2-2019 19:00,1911710.5920000002,889885.6320000001,889885.6320000001 +27-2-2019 20:00,1961279.104,912959.36,912959.36 +27-2-2019 21:00,1895749.7600000002,882456.128,882456.128 +27-2-2019 22:00,1036037.376,482267.04000000004,482267.04000000004 +27-2-2019 23:00,323487.456,150580.768,150580.768 +28-2-2019 00:00,324204.48,150914.544,150914.544 +28-2-2019 01:00,361987.61600000004,168502.288,168502.288 +28-2-2019 02:00,404405.28,188247.37600000002,188247.37600000002 +28-2-2019 03:00,478784.19200000004,222870.11200000002,222870.11200000002 +28-2-2019 04:00,725654.2080000001,337786.08,337786.08 +28-2-2019 05:00,753861.5040000001,350916.384,350916.384 +28-2-2019 06:00,1023655.2960000001,476503.168,476503.168 +28-2-2019 07:00,2654083.328,1235454.08,1235454.08 +28-2-2019 08:00,2266910.72,1055228.352,1055228.352 +28-2-2019 09:00,3385264.896,1575813.2480000001,1575813.2480000001 +28-2-2019 10:00,2510540.544,1168636.0320000001,1168636.0320000001 +28-2-2019 11:00,856456.96,398673.66400000005,398673.66400000005 +28-2-2019 12:00,872372.2880000002,406082.14400000003,406082.14400000003 +28-2-2019 13:00,856851.648,398857.44,398857.44 +28-2-2019 14:00,572585.152,266533.712,266533.712 +28-2-2019 15:00,578429.376,269254.176,269254.176 +28-2-2019 16:00,947038.4,440838.62400000007,440838.62400000007 +28-2-2019 17:00,1554123.776,723431.9360000001,723431.9360000001 +28-2-2019 18:00,4914915.84,2287853.056,2287853.056 +28-2-2019 19:00,2638019.072,1227976.32,1227976.32 +28-2-2019 20:00,2031826.816,945798.72,945798.72 +28-2-2019 21:00,2001326.2079999999,931601.0880000001,931601.0880000001 +28-2-2019 22:00,1049550.6560000002,488557.28,488557.28 +28-2-2019 23:00,345349.47200000007,160757.37600000002,160757.37600000002 +1-3-2019 00:00,345498.592,160826.768,160826.768 +1-3-2019 01:00,347794.976,161895.71200000003,161895.71200000003 +1-3-2019 02:00,358914.656,167071.84,167071.84 +1-3-2019 03:00,374624.128,174384.48,174384.48 +1-3-2019 04:00,462197.88800000004,215149.36000000002,215149.36000000002 +1-3-2019 05:00,603874.1120000001,281098.496,281098.496 +1-3-2019 06:00,739752.8960000001,344348.96,344348.96 +1-3-2019 07:00,2150618.624,1001095.4240000001,1001095.4240000001 +1-3-2019 08:00,2121926.0160000003,987739.1359999999,987739.1359999999 +1-3-2019 09:00,3350542.592,1559650.304,1559650.304 +1-3-2019 10:00,2471883.776,1150641.664,1150641.664 +1-3-2019 11:00,1045090.2400000001,486480.992,486480.992 +1-3-2019 12:00,1436363.52,668615.488,668615.488 +1-3-2019 13:00,1050098.624,488812.35199999996,488812.35199999996 +1-3-2019 14:00,779829.1200000001,363004.096,363004.096 +1-3-2019 15:00,860781.6320000001,400686.81600000005,400686.81600000005 +1-3-2019 16:00,1242032.256,578155.904,578155.904 +1-3-2019 17:00,1862880.8960000002,867155.8400000001,867155.8400000001 +1-3-2019 18:00,5188279.808,2415101.952,2415101.952 +1-3-2019 19:00,3070399.7440000004,1429246.08,1429246.08 +1-3-2019 20:00,2292539.904,1067158.592,1067158.592 +1-3-2019 21:00,2274446.592,1058736.32,1058736.32 +1-3-2019 22:00,1260089.216,586561.216,586561.216 +1-3-2019 23:00,417240.288,194221.92,194221.92 +2-3-2019 00:00,434143.29600000003,202090.176,202090.176 +2-3-2019 01:00,415825.152,193563.21600000001,193563.21600000001 +2-3-2019 02:00,415974.72000000003,193632.83200000002,193632.83200000002 +2-3-2019 03:00,505448.83200000005,235282.304,235282.304 +2-3-2019 04:00,660958.1440000001,307670.624,307670.624 +2-3-2019 05:00,798517.376,371703.36000000004,371703.36000000004 +2-3-2019 06:00,892609.6000000001,415502.49600000004,415502.49600000004 +2-3-2019 07:00,1552335.4880000001,722599.488,722599.488 +2-3-2019 08:00,2286118.4,1064169.344,1064169.344 +2-3-2019 09:00,4698501.12,2187113.984,2187113.984 +2-3-2019 10:00,4406882.3040000005,2051367.936,2051367.936 +2-3-2019 11:00,1996362.4960000003,929290.432,929290.432 +2-3-2019 12:00,1549157.504,721120.128,721120.128 +2-3-2019 13:00,769177.216,358045.728,358045.728 +2-3-2019 14:00,810970.56,377500.16000000003,377500.16000000003 +2-3-2019 15:00,737865.984,343470.592,343470.592 +2-3-2019 16:00,1000390.72,465673.792,465673.792 +2-3-2019 17:00,1968581.6320000002,916358.784,916358.784 +2-3-2019 18:00,2005715.968,933644.4160000001,933644.4160000001 +2-3-2019 19:00,2003257.088,932499.7760000001,932499.7760000001 +2-3-2019 20:00,2000115.8399999999,931037.568,931037.568 +2-3-2019 21:00,1562867.328,727501.952,727501.952 +2-3-2019 22:00,675828.5440000001,314592.704,314592.704 +2-3-2019 23:00,390916.704,181968.544,181968.544 +3-3-2019 00:00,374120.064,174149.84,174149.84 +3-3-2019 01:00,363802.048,169346.88,169346.88 +3-3-2019 02:00,367875.136,171242.864,171242.864 +3-3-2019 03:00,364220.704,169541.76,169541.76 +3-3-2019 04:00,490257.02400000003,228210.688,228210.688 +3-3-2019 05:00,568035.136,264415.776,264415.776 +3-3-2019 06:00,654880.3840000001,304841.44,304841.44 +3-3-2019 07:00,1316127.744,612646.7200000001,612646.7200000001 +3-3-2019 08:00,2039380.9920000003,949315.328,949315.328 +3-3-2019 09:00,4143307.776,1928675.968,1928675.968 +3-3-2019 10:00,3571898.88,1662689.664,1662689.664 +3-3-2019 11:00,1699977.088,791325.5040000001,791325.5040000001 +3-3-2019 12:00,1541088.128,717363.968,717363.968 +3-3-2019 13:00,923102.0800000001,429696.48,429696.48 +3-3-2019 14:00,653363.648,304135.488,304135.488 +3-3-2019 15:00,524878.0160000001,244326.41600000003,244326.41600000003 +3-3-2019 16:00,755529.856,351692.992,351692.992 +3-3-2019 17:00,1689223.04,786319.552,786319.552 +3-3-2019 18:00,1761092.608,819774.2080000001,819774.2080000001 +3-3-2019 19:00,1780106.8800000001,828625.216,828625.216 +3-3-2019 20:00,1780677.7600000002,828890.9440000001,828890.9440000001 +3-3-2019 21:00,1348219.776,627585.28,627585.28 +3-3-2019 22:00,559592.8960000001,260485.92000000004,260485.92000000004 +3-3-2019 23:00,304703.456,141836.976,141836.976 +4-3-2019 00:00,307677.696,143221.456,143221.456 +4-3-2019 01:00,302816.12799999997,140958.432,140958.432 +4-3-2019 02:00,304040.384,141528.32,141528.32 +4-3-2019 03:00,307515.552,143145.968,143145.968 +4-3-2019 04:00,316052.96,147120.08000000002,147120.08000000002 +4-3-2019 05:00,390764.576,181897.71200000003,181897.71200000003 +4-3-2019 06:00,599328.0,278982.27200000006,278982.27200000006 +4-3-2019 07:00,1841479.296,857193.536,857193.536 +4-3-2019 08:00,1916940.4160000002,892320.128,892320.128 +4-3-2019 09:00,3034304.256,1412443.904,1412443.904 +4-3-2019 10:00,2184800.768,1017006.912,1017006.912 +4-3-2019 11:00,813427.584,378643.936,378643.936 +4-3-2019 12:00,1218473.6,567189.568,567189.568 +4-3-2019 13:00,735583.2320000001,342408.0,342408.0 +4-3-2019 14:00,575415.36,267851.168,267851.168 +4-3-2019 15:00,484301.76,225438.528,225438.528 +4-3-2019 16:00,915539.328,426176.03200000006,426176.03200000006 +4-3-2019 17:00,1599882.368,744732.224,744732.224 +4-3-2019 18:00,4887050.752,2274882.048,2274882.048 +4-3-2019 19:00,2420086.5280000004,1126530.688,1126530.688 +4-3-2019 20:00,2048900.9920000003,953746.6880000001,953746.6880000001 +4-3-2019 21:00,2021354.8800000001,940924.224,940924.224 +4-3-2019 22:00,1061035.2640000002,493903.2320000001,493903.2320000001 +4-3-2019 23:00,338147.96800000005,157405.12,157405.12 +5-3-2019 00:00,361236.704,168152.752,168152.752 +5-3-2019 01:00,359781.536,167475.36000000002,167475.36000000002 +5-3-2019 02:00,359775.61600000004,167472.608,167472.608 +5-3-2019 03:00,366958.304,170816.09600000002,170816.09600000002 +5-3-2019 04:00,475178.84800000006,221191.888,221191.888 +5-3-2019 05:00,634038.0800000001,295139.584,295139.584 +5-3-2019 06:00,827153.344,385033.12000000005,385033.12000000005 +5-3-2019 07:00,2197089.536,1022727.2320000001,1022727.2320000001 +5-3-2019 08:00,1809930.24,842507.7119999999,842507.7119999999 +5-3-2019 09:00,2979623.424,1386990.4640000002,1386990.4640000002 +5-3-2019 10:00,2197961.472,1023133.184,1023133.184 +5-3-2019 11:00,756090.56,351953.95200000005,351953.95200000005 +5-3-2019 12:00,1046773.504,487264.54400000005,487264.54400000005 +5-3-2019 13:00,695674.496,323830.848,323830.848 +5-3-2019 14:00,355647.392,165550.96000000002,165550.96000000002 +5-3-2019 15:00,371819.07200000004,173078.73600000003,173078.73600000003 +5-3-2019 16:00,463433.696,215724.592,215724.592 +5-3-2019 17:00,1365521.152,635638.8480000001,635638.8480000001 +5-3-2019 18:00,4820695.04,2243994.3680000002,2243994.3680000002 +5-3-2019 19:00,2438997.248,1135333.376,1135333.376 +5-3-2019 20:00,2169822.208,1010034.6880000001,1010034.6880000001 +5-3-2019 21:00,2114742.784,984395.52,984395.52 +5-3-2019 22:00,1127902.208,525029.344,525029.344 +5-3-2019 23:00,336464.928,156621.68000000002,156621.68000000002 +6-3-2019 00:00,327388.80000000005,152396.816,152396.816 +6-3-2019 01:00,351373.632,163561.568,163561.568 +6-3-2019 02:00,362705.28,168836.336,168836.336 +6-3-2019 03:00,364190.784,169527.84,169527.84 +6-3-2019 04:00,466865.472,217322.064,217322.064 +6-3-2019 05:00,568698.2400000001,264724.384,264724.384 +6-3-2019 06:00,717334.2080000001,333913.216,333913.216 +6-3-2019 07:00,2046482.1760000002,952620.8,952620.8 +6-3-2019 08:00,1934765.1840000001,900617.4720000001,900617.4720000001 +6-3-2019 09:00,3057716.4800000004,1423342.08,1423342.08 +6-3-2019 10:00,2059961.088,958895.04,958895.04 +6-3-2019 11:00,698585.92,325186.048,325186.048 +6-3-2019 12:00,1053807.808,490538.976,490538.976 +6-3-2019 13:00,676237.1200000001,314782.848,314782.848 +6-3-2019 14:00,434974.56,202477.10400000002,202477.10400000002 +6-3-2019 15:00,488486.33600000007,227386.384,227386.384 +6-3-2019 16:00,715165.5040000001,332903.71200000006,332903.71200000006 +6-3-2019 17:00,1381779.4560000002,643207.104,643207.104 +6-3-2019 18:00,4706530.816,2190851.84,2190851.84 +6-3-2019 19:00,2212415.2320000003,1029861.2480000001,1029861.2480000001 +6-3-2019 20:00,1822597.888,848404.4160000001,848404.4160000001 +6-3-2019 21:00,1797542.784,836741.376,836741.376 +6-3-2019 22:00,951352.6400000001,442846.88,442846.88 +6-3-2019 23:00,283039.456,131752.552,131752.552 +7-3-2019 00:00,297703.136,138578.368,138578.368 +7-3-2019 01:00,307096.608,142950.96000000002,142950.96000000002 +7-3-2019 02:00,304802.944,141883.28,141883.28 +7-3-2019 03:00,307863.90400000004,143308.128,143308.128 +7-3-2019 04:00,316212.16000000003,147194.192,147194.192 +7-3-2019 05:00,381427.136,177551.21600000001,177551.21600000001 +7-3-2019 06:00,549800.0,255927.42400000003,255927.42400000003 +7-3-2019 07:00,1815540.224,845119.1680000001,845119.1680000001 +7-3-2019 08:00,1868974.9760000003,869992.7039999999,869992.7039999999 +7-3-2019 09:00,2776756.224,1292557.4400000002,1292557.4400000002 +7-3-2019 10:00,1865158.016,868215.8080000001,868215.8080000001 +7-3-2019 11:00,587209.92,273341.44,273341.44 +7-3-2019 12:00,1032746.944,480735.26399999997,480735.26399999997 +7-3-2019 13:00,703207.488,327337.34400000004,327337.34400000004 +7-3-2019 14:00,115792.272,53900.36,53900.36 +7-3-2019 15:00,411248.832,191432.97600000002,191432.97600000002 +7-3-2019 16:00,596441.088,277638.432,277638.432 +7-3-2019 17:00,1313037.4400000002,611208.192,611208.192 +7-3-2019 18:00,4708946.944,2191976.704,2191976.704 +7-3-2019 19:00,2229265.92,1037705.0880000001,1037705.0880000001 +7-3-2019 20:00,1955682.1760000002,910354.112,910354.112 +7-3-2019 21:00,2013676.8,937350.0160000001,937350.0160000001 +7-3-2019 22:00,1059754.816,493307.168,493307.168 +7-3-2019 23:00,320924.096,149387.53600000002,149387.53600000002 +8-3-2019 00:00,321723.744,149759.792,149759.792 +8-3-2019 01:00,334844.544,155867.40800000002,155867.40800000002 +8-3-2019 02:00,353478.43200000003,164541.328,164541.328 +8-3-2019 03:00,357375.10400000005,166355.184,166355.184 +8-3-2019 04:00,432747.42400000006,201440.40000000002,201440.40000000002 +8-3-2019 05:00,556913.088,259238.47999999998,259238.47999999998 +8-3-2019 06:00,690215.68,321289.76,321289.76 +8-3-2019 07:00,2013964.672,937484.16,937484.16 +8-3-2019 08:00,1961565.0559999999,913092.608,913092.608 +8-3-2019 09:00,2786255.3600000003,1296979.2000000002,1296979.2000000002 +8-3-2019 10:00,1741312.8960000002,810566.912,810566.912 +8-3-2019 11:00,593867.008,276440.256,276440.256 +8-3-2019 12:00,1136215.6800000002,528899.136,528899.136 +8-3-2019 13:00,494687.8400000001,230273.152,230273.152 +8-3-2019 14:00,431730.52800000005,200967.024,200967.024 +8-3-2019 15:00,572969.984,266712.848,266712.848 +8-3-2019 16:00,821213.312,382268.096,382268.096 +8-3-2019 17:00,1538719.744,716261.5040000001,716261.5040000001 +8-3-2019 18:00,4831657.472,2249096.9600000004,2249096.9600000004 +8-3-2019 19:00,2420918.5280000004,1126917.888,1126917.888 +8-3-2019 20:00,2006112.1280000003,933828.8,933828.8 +8-3-2019 21:00,2050462.08,954473.344,954473.344 +8-3-2019 22:00,1094109.056,509298.81600000005,509298.81600000005 +8-3-2019 23:00,333177.152,155091.23200000002,155091.23200000002 +9-3-2019 00:00,326683.64800000004,152068.56000000003,152068.56000000003 +9-3-2019 01:00,341118.304,158787.80800000002,158787.80800000002 +9-3-2019 02:00,349950.368,162899.04,162899.04 +9-3-2019 03:00,340576.672,158535.664,158535.664 +9-3-2019 04:00,402449.02400000003,187336.73600000003,187336.73600000003 +9-3-2019 05:00,526179.008,244932.0,244932.0 +9-3-2019 06:00,620244.096,288718.56,288718.56 +9-3-2019 07:00,1277511.5520000001,594671.168,594671.168 +9-3-2019 08:00,1992145.664,927327.4240000001,927327.4240000001 +9-3-2019 09:00,4076097.5360000003,1897390.2079999999,1897390.2079999999 +9-3-2019 10:00,3508479.2320000003,1633168.512,1633168.512 +9-3-2019 11:00,1607630.976,748339.136,748339.136 +9-3-2019 12:00,1518346.2400000002,706777.7280000001,706777.7280000001 +9-3-2019 13:00,893789.824,416051.90400000004,416051.90400000004 +9-3-2019 14:00,699559.7440000001,325639.36000000004,325639.36000000004 +9-3-2019 15:00,610563.776,284212.48,284212.48 +9-3-2019 16:00,75053.464,34936.776000000005,34936.776000000005 +9-3-2019 17:00,1616288.512,752369.088,752369.088 +9-3-2019 18:00,1993232.384,927833.408,927833.408 +9-3-2019 19:00,2012999.808,937035.0720000002,937035.0720000002 +9-3-2019 20:00,1967140.608,915688.0,915688.0 +9-3-2019 21:00,1505106.304,700614.7200000001,700614.7200000001 +9-3-2019 22:00,635011.968,295592.896,295592.896 +9-3-2019 23:00,361441.728,168248.176,168248.176 +10-3-2019 00:00,355481.88800000004,165473.92,165473.92 +10-3-2019 01:00,383065.76,178313.98400000003,178313.98400000003 +10-3-2019 02:00,406675.936,189304.32,189304.32 +10-3-2019 03:00,465779.04000000004,216816.384,216816.384 +10-3-2019 04:00,596177.984,277516.0,277516.0 +10-3-2019 05:00,700544.768,326097.88800000004,326097.88800000004 +10-3-2019 06:00,803821.568,374172.384,374172.384 +10-3-2019 07:00,1479121.2800000003,688518.912,688518.912 +10-3-2019 08:00,2116236.672,985090.944,985090.944 +10-3-2019 09:00,4388841.984,2042970.1120000002,2042970.1120000002 +10-3-2019 10:00,3982262.7840000005,1853710.9760000003,1853710.9760000003 +10-3-2019 11:00,1991440.256,926999.2320000001,926999.2320000001 +10-3-2019 12:00,1634847.36,761008.128,761008.128 +10-3-2019 13:00,1013046.2080000001,471564.6400000001,471564.6400000001 +10-3-2019 14:00,926825.6640000001,431429.792,431429.792 +10-3-2019 15:00,908562.432,422928.416,422928.416 +10-3-2019 16:00,1047748.4160000001,487718.368,487718.368 +10-3-2019 17:00,2238684.9280000003,1042089.6640000001,1042089.6640000001 +10-3-2019 18:00,2408690.432,1121225.728,1121225.728 +10-3-2019 19:00,2421216.768,1127056.6400000001,1127056.6400000001 +10-3-2019 20:00,2379853.3120000004,1107802.24,1107802.24 +10-3-2019 21:00,1758468.736,818552.832,818552.832 +10-3-2019 22:00,772913.6000000001,359784.96,359784.96 +10-3-2019 23:00,463511.2320000001,215760.688,215760.688 +11-3-2019 00:00,481286.976,224035.152,224035.152 +11-3-2019 01:00,488777.696,227522.01600000003,227522.01600000003 +11-3-2019 02:00,536114.304,249556.832,249556.832 +11-3-2019 03:00,680753.0240000001,316884.992,316884.992 +11-3-2019 04:00,821883.3280000001,382579.96800000005,382579.96800000005 +11-3-2019 05:00,889262.0800000001,413944.288,413944.288 +11-3-2019 06:00,981324.0320000001,456798.33600000007,456798.33600000007 +11-3-2019 07:00,2554641.1520000002,1189164.416,1189164.416 +11-3-2019 08:00,2125290.2399999998,989305.2800000001,989305.2800000001 +11-3-2019 09:00,3470959.872,1615703.5520000001,1615703.5520000001 +11-3-2019 10:00,2596281.088,1208547.712,1208547.712 +11-3-2019 11:00,996758.784,463983.072,463983.072 +11-3-2019 12:00,1349033.344,627963.904,627963.904 +11-3-2019 13:00,980544.8960000002,456435.68,456435.68 +11-3-2019 14:00,602302.208,280366.784,280366.784 +11-3-2019 15:00,760411.712,353965.44,353965.44 +11-3-2019 16:00,1047561.408,487631.26399999997,487631.26399999997 +11-3-2019 17:00,1759389.6960000002,818981.568,818981.568 +11-3-2019 18:00,5115408.384000001,2381180.9280000003,2381180.9280000003 +11-3-2019 19:00,2840273.1520000002,1322124.0320000001,1322124.0320000001 +11-3-2019 20:00,2336560.384,1087649.664,1087649.664 +11-3-2019 21:00,2341199.104,1089809.024,1089809.024 +11-3-2019 22:00,1283851.52,597622.4,597622.4 +11-3-2019 23:00,460717.056,214460.032,214460.032 +12-3-2019 00:00,442073.696,205781.664,205781.664 +12-3-2019 01:00,433834.24000000005,201946.304,201946.304 +12-3-2019 02:00,438672.672,204198.52800000002,204198.52800000002 +12-3-2019 03:00,638174.0800000001,297064.832,297064.832 +12-3-2019 04:00,771379.584,359070.912,359070.912 +12-3-2019 05:00,836809.152,389527.84,389527.84 +12-3-2019 06:00,961975.8080000001,447791.808,447791.808 +12-3-2019 07:00,2481859.84,1155285.504,1155285.504 +12-3-2019 08:00,2096403.456,975858.6880000001,975858.6880000001 +12-3-2019 09:00,3329112.5760000004,1549674.624,1549674.624 +12-3-2019 10:00,2461274.112,1145702.912,1145702.912 +12-3-2019 11:00,927302.6560000001,431651.808,431651.808 +12-3-2019 12:00,1309636.352,609625.0240000001,609625.0240000001 +12-3-2019 13:00,900719.4240000001,419277.504,419277.504 +12-3-2019 14:00,621792.8960000001,289439.488,289439.488 +12-3-2019 15:00,668525.568,311193.184,311193.184 +12-3-2019 16:00,915514.368,426164.416,426164.416 +12-3-2019 17:00,1654929.92,770356.4160000001,770356.4160000001 +12-3-2019 18:00,5054634.496,2352891.136,2352891.136 +12-3-2019 19:00,2777947.3920000005,1293111.8080000002,1293111.8080000002 +12-3-2019 20:00,2395908.864,1115276.16,1115276.16 +12-3-2019 21:00,2350097.1520000002,1093951.232,1093951.232 +12-3-2019 22:00,1248840.8320000002,581325.248,581325.248 +12-3-2019 23:00,421906.784,196394.176,196394.176 +13-3-2019 00:00,412319.52,191931.37600000002,191931.37600000002 +13-3-2019 01:00,404936.384,188494.56000000003,188494.56000000003 +13-3-2019 02:00,417230.944,194217.632,194217.632 +13-3-2019 03:00,498276.128,231943.456,231943.456 +13-3-2019 04:00,678096.6400000001,315648.44800000003,315648.44800000003 +13-3-2019 05:00,785842.1120000001,365803.10400000005,365803.10400000005 +13-3-2019 06:00,886179.0720000002,412509.184,412509.184 +13-3-2019 07:00,2352537.6,1095086.976,1095086.976 +13-3-2019 08:00,2060030.4640000002,958927.36,958927.36 +13-3-2019 09:00,3293326.08,1533016.448,1533016.448 +13-3-2019 10:00,2470082.304,1149803.2640000002,1149803.2640000002 +13-3-2019 11:00,1039723.328,483982.72000000003,483982.72000000003 +13-3-2019 12:00,1408136.5760000001,655476.096,655476.096 +13-3-2019 13:00,981416.3840000001,456841.34400000004,456841.34400000004 +13-3-2019 14:00,670197.568,311971.488,311971.488 +13-3-2019 15:00,667861.76,310884.192,310884.192 +13-3-2019 16:00,898056.6400000001,418038.048,418038.048 +13-3-2019 17:00,1667624.5760000001,776265.6000000001,776265.6000000001 +13-3-2019 18:00,5076709.888,2363166.9760000003,2363166.9760000003 +13-3-2019 19:00,2810913.2800000003,1308457.216,1308457.216 +13-3-2019 20:00,2222839.04,1034713.6000000001,1034713.6000000001 +13-3-2019 21:00,2178156.032,1013913.8560000001,1013913.8560000001 +13-3-2019 22:00,1145217.152,533089.216,533089.216 +13-3-2019 23:00,389977.92000000004,181531.53600000002,181531.53600000002 +14-3-2019 00:00,383155.808,178355.92,178355.92 +14-3-2019 01:00,382591.29600000003,178093.12,178093.12 +14-3-2019 02:00,384025.60000000003,178760.768,178760.768 +14-3-2019 03:00,388292.73600000003,180747.088,180747.088 +14-3-2019 04:00,559548.8,260465.376,260465.376 +14-3-2019 05:00,686804.2880000001,319701.792,319701.792 +14-3-2019 06:00,843050.4960000002,392433.12000000005,392433.12000000005 +14-3-2019 07:00,2283882.2399999998,1063128.5119999999,1063128.5119999999 +14-3-2019 08:00,2026772.608,943446.2720000001,943446.2720000001 +14-3-2019 09:00,3258769.6640000003,1516930.816,1516930.816 +14-3-2019 10:00,2358227.7120000003,1097735.6800000002,1097735.6800000002 +14-3-2019 11:00,879041.4720000001,409186.656,409186.656 +14-3-2019 12:00,1177186.56,547970.752,547970.752 +14-3-2019 13:00,786594.176,366153.184,366153.184 +14-3-2019 14:00,523083.072,243490.896,243490.896 +14-3-2019 15:00,557487.2320000001,259505.76,259505.76 +14-3-2019 16:00,891234.56,414862.4,414862.4 +14-3-2019 17:00,1665092.736,775087.04,775087.04 +14-3-2019 18:00,5014659.584000001,2334283.264,2334283.264 +14-3-2019 19:00,2726249.472,1269046.912,1269046.912 +14-3-2019 20:00,2140186.4960000003,996239.36,996239.36 +14-3-2019 21:00,2085763.456,970905.8560000001,970905.8560000001 +14-3-2019 22:00,1099179.0080000001,511658.88,511658.88 +14-3-2019 23:00,355875.52,165657.13600000003,165657.13600000003 +15-3-2019 00:00,375735.42400000006,174901.776,174901.776 +15-3-2019 01:00,372320.44800000003,173312.12800000003,173312.12800000003 +15-3-2019 02:00,375057.824,174586.352,174586.352 +15-3-2019 03:00,384369.632,178920.928,178920.928 +15-3-2019 04:00,507906.49600000004,236426.32000000004,236426.32000000004 +15-3-2019 05:00,612345.216,285041.76,285041.76 +15-3-2019 06:00,771516.672,359134.72000000003,359134.72000000003 +15-3-2019 07:00,2204694.5280000004,1026267.2640000001,1026267.2640000001 +15-3-2019 08:00,1927791.6160000002,897371.2640000001,897371.2640000001 +15-3-2019 09:00,3031253.7600000002,1411023.8720000002,1411023.8720000002 +15-3-2019 10:00,1926596.0960000001,896814.72,896814.72 +15-3-2019 11:00,618957.056,288119.42400000006,288119.42400000006 +15-3-2019 12:00,987945.216,459880.416,459880.416 +15-3-2019 13:00,661041.0240000001,307709.216,307709.216 +15-3-2019 14:00,407827.96800000005,189840.592,189840.592 +15-3-2019 15:00,467335.8400000001,217541.00800000003,217541.00800000003 +15-3-2019 16:00,677043.52,315158.20800000004,315158.20800000004 +15-3-2019 17:00,1457792.6400000001,678590.656,678590.656 +15-3-2019 18:00,4826758.656,2246816.768,2246816.768 +15-3-2019 19:00,2485135.616,1156810.496,1156810.496 +15-3-2019 20:00,2064219.904,960877.568,960877.568 +15-3-2019 21:00,2056320.64,957200.512,957200.512 +15-3-2019 22:00,1058406.4640000002,492679.58400000003,492679.58400000003 +15-3-2019 23:00,312307.264,145376.464,145376.464 +16-3-2019 00:00,333327.96800000005,155161.456,155161.456 +16-3-2019 01:00,352294.944,163990.416,163990.416 +16-3-2019 02:00,351787.10400000005,163754.032,163754.032 +16-3-2019 03:00,361217.696,168143.888,168143.888 +16-3-2019 04:00,418418.56000000006,194770.448,194770.448 +16-3-2019 05:00,570873.664,265737.00800000003,265737.00800000003 +16-3-2019 06:00,698845.4400000001,325306.848,325306.848 +16-3-2019 07:00,1273909.6320000002,592994.496,592994.496 +16-3-2019 08:00,1959234.0480000002,912007.4240000001,912007.4240000001 +16-3-2019 09:00,4052978.176,1886628.352,1886628.352 +16-3-2019 10:00,3468907.776,1614748.2880000002,1614748.2880000002 +16-3-2019 11:00,1627969.408,757806.528,757806.528 +16-3-2019 12:00,1474460.8,686349.4400000001,686349.4400000001 +16-3-2019 13:00,867024.7039999999,403592.96,403592.96 +16-3-2019 14:00,589376.576,274350.016,274350.016 +16-3-2019 15:00,415440.64,193384.22400000002,193384.22400000002 +16-3-2019 16:00,529913.824,246670.56000000003,246670.56000000003 +16-3-2019 17:00,1669157.76,776979.3280000001,776979.3280000001 +16-3-2019 18:00,1822346.4960000003,848287.4240000001,848287.4240000001 +16-3-2019 19:00,1843530.4960000003,858148.4160000001,858148.4160000001 +16-3-2019 20:00,1829156.608,851457.536,851457.536 +16-3-2019 21:00,1403782.6560000002,653449.344,653449.344 +16-3-2019 22:00,573694.8480000001,267050.27200000006,267050.27200000006 +16-3-2019 23:00,291598.496,135736.736,135736.736 +17-3-2019 00:00,280624.032,130628.18400000001,130628.18400000001 +17-3-2019 01:00,337309.696,157014.912,157014.912 +17-3-2019 02:00,383937.568,178719.80800000002,178719.80800000002 +17-3-2019 03:00,389000.416,181076.51200000002,181076.51200000002 +17-3-2019 04:00,490795.52,228461.32799999998,228461.32799999998 +17-3-2019 05:00,651174.0800000001,303116.22400000005,303116.22400000005 +17-3-2019 06:00,779438.4,362822.24,362822.24 +17-3-2019 07:00,1358106.8800000001,632187.7760000001,632187.7760000001 +17-3-2019 08:00,2003291.008,932515.52,932515.52 +17-3-2019 09:00,4135084.8000000003,1924848.256,1924848.256 +17-3-2019 10:00,3470722.304,1615592.8320000002,1615592.8320000002 +17-3-2019 11:00,1677016.96,780637.824,780637.824 +17-3-2019 12:00,1502931.584,699602.368,699602.368 +17-3-2019 13:00,889842.8800000001,414214.592,414214.592 +17-3-2019 14:00,380069.632,176919.296,176919.296 +17-3-2019 15:00,208832.32,97209.736,97209.736 +17-3-2019 16:00,196596.064,91513.864,91513.864 +17-3-2019 17:00,1669318.528,777054.0800000001,777054.0800000001 +17-3-2019 18:00,2046363.904,952565.6960000001,952565.6960000001 +17-3-2019 19:00,2124868.992,989109.184,989109.184 +17-3-2019 20:00,2265771.008,1054697.92,1054697.92 +17-3-2019 21:00,1741831.6800000002,810808.3840000001,810808.3840000001 +17-3-2019 22:00,782415.2320000001,364207.90400000004,364207.90400000004 +17-3-2019 23:00,439395.74400000006,204535.152,204535.152 +18-3-2019 00:00,434008.992,202027.632,202027.632 +18-3-2019 01:00,439123.32800000004,204408.32,204408.32 +18-3-2019 02:00,505541.504,235325.44,235325.44 +18-3-2019 03:00,661397.952,307875.328,307875.328 +18-3-2019 04:00,748296.192,348325.76,348325.76 +18-3-2019 05:00,834942.0160000001,388658.688,388658.688 +18-3-2019 06:00,968010.0480000001,450600.768,450600.768 +18-3-2019 07:00,2397278.208,1115913.6,1115913.6 +18-3-2019 08:00,1802846.72,839210.368,839210.368 +18-3-2019 09:00,3027799.296,1409415.6800000002,1409415.6800000002 +18-3-2019 10:00,2276254.208,1059577.8560000001,1059577.8560000001 +18-3-2019 11:00,728894.1440000001,339294.27200000006,339294.27200000006 +18-3-2019 12:00,1263494.4000000001,588146.368,588146.368 +18-3-2019 13:00,1001022.784,465967.968,465967.968 +18-3-2019 14:00,236035.79200000002,109872.728,109872.728 +18-3-2019 15:00,516461.28,240408.528,240408.528 +18-3-2019 16:00,690561.7280000001,321450.848,321450.848 +18-3-2019 17:00,1571911.6800000002,731712.0,731712.0 +18-3-2019 18:00,5011019.776,2332588.544,2332588.544 +18-3-2019 19:00,2702032.384,1257774.08,1257774.08 +18-3-2019 20:00,2326387.456,1082914.432,1082914.432 +18-3-2019 21:00,2461847.552,1145969.7920000001,1145969.7920000001 +18-3-2019 22:00,1385200.256,644799.4240000001,644799.4240000001 +18-3-2019 23:00,450402.592,209658.72,209658.72 +19-3-2019 00:00,454343.8400000001,211493.36000000002,211493.36000000002 +19-3-2019 01:00,516276.16,240322.336,240322.336 +19-3-2019 02:00,724121.5360000001,337072.672,337072.672 +19-3-2019 03:00,958952.6400000001,446384.608,446384.608 +19-3-2019 04:00,1108571.52,516031.00800000003,516031.00800000003 +19-3-2019 05:00,1200271.104,558716.4160000001,558716.4160000001 +19-3-2019 06:00,1323984.256,616303.872,616303.872 +19-3-2019 07:00,3103849.728,1444816.7680000002,1444816.7680000002 +19-3-2019 08:00,2292429.824,1067107.392,1067107.392 +19-3-2019 09:00,3493615.3600000003,1626249.6,1626249.6 +19-3-2019 10:00,2720546.5600000005,1266392.192,1266392.192 +19-3-2019 11:00,866058.176,403143.00800000003,403143.00800000003 +19-3-2019 12:00,1120877.056,521759.168,521759.168 +19-3-2019 13:00,351107.52,163437.68000000002,163437.68000000002 +19-3-2019 14:00,353800.928,164691.424,164691.424 +19-3-2019 15:00,575022.1440000001,267668.14400000003,267668.14400000003 +19-3-2019 16:00,733126.528,341264.44800000003,341264.44800000003 +19-3-2019 17:00,1405773.6960000002,654376.192,654376.192 +19-3-2019 18:00,5007113.728,2330770.432,2330770.432 +19-3-2019 19:00,2809382.4000000004,1307744.512,1307744.512 +19-3-2019 20:00,2299036.9280000003,1070182.912,1070182.912 +19-3-2019 21:00,2434008.5760000004,1133011.0720000002,1133011.0720000002 +19-3-2019 22:00,1343401.472,625342.4,625342.4 +19-3-2019 23:00,419540.32000000007,195292.592,195292.592 +20-3-2019 00:00,431037.76,200644.544,200644.544 +20-3-2019 01:00,401546.20800000004,186916.48,186916.48 +20-3-2019 02:00,402856.896,187526.608,187526.608 +20-3-2019 03:00,516165.2480000001,240270.67200000002,240270.67200000002 +20-3-2019 04:00,676729.0240000001,315011.84,315011.84 +20-3-2019 05:00,760654.272,354078.336,354078.336 +20-3-2019 06:00,863309.6960000001,401863.58400000003,401863.58400000003 +20-3-2019 07:00,2303058.688,1072055.104,1072055.104 +20-3-2019 08:00,1934670.08,900573.2480000001,900573.2480000001 +20-3-2019 09:00,3147574.5280000004,1465170.176,1465170.176 +20-3-2019 10:00,2202078.464,1025049.6000000001,1025049.6000000001 +20-3-2019 11:00,810196.352,377139.776,377139.776 +20-3-2019 12:00,1207075.84,561883.904,561883.904 +20-3-2019 13:00,760990.2080000001,354234.72000000003,354234.72000000003 +20-3-2019 14:00,467418.752,217579.63199999998,217579.63199999998 +20-3-2019 15:00,480537.504,223686.304,223686.304 +20-3-2019 16:00,628688.576,292649.408,292649.408 +20-3-2019 17:00,1414208.384,658302.464,658302.464 +20-3-2019 18:00,4833769.984,2250080.256,2250080.256 +20-3-2019 19:00,2476788.992,1152925.056,1152925.056 +20-3-2019 20:00,2032154.1120000002,945951.2960000001,945951.2960000001 +20-3-2019 21:00,2033661.952,946653.0560000001,946653.0560000001 +20-3-2019 22:00,1143151.232,532127.552,532127.552 +20-3-2019 23:00,364767.776,169796.416,169796.416 +21-3-2019 00:00,381605.28,177634.12800000003,177634.12800000003 +21-3-2019 01:00,419041.248,195060.304,195060.304 +21-3-2019 02:00,417339.264,194268.0,194268.0 +21-3-2019 03:00,456514.04800000007,212503.584,212503.584 +21-3-2019 04:00,671260.608,312466.304,312466.304 +21-3-2019 05:00,815807.2960000001,379751.61600000004,379751.61600000004 +21-3-2019 06:00,835015.616,388692.96,388692.96 +21-3-2019 07:00,2241422.592,1043364.0320000001,1043364.0320000001 +21-3-2019 08:00,1875432.9600000002,872998.8480000001,872998.8480000001 +21-3-2019 09:00,3068649.728,1428431.36,1428431.36 +21-3-2019 10:00,2077334.5280000002,966982.336,966982.336 +21-3-2019 11:00,718582.464,334494.27200000006,334494.27200000006 +21-3-2019 12:00,1132466.0480000002,527153.76,527153.76 +21-3-2019 13:00,680100.672,316581.31200000003,316581.31200000003 +21-3-2019 14:00,409656.544,190691.79200000002,190691.79200000002 +21-3-2019 15:00,453130.56,210928.56000000003,210928.56000000003 +21-3-2019 16:00,589737.92,274518.176,274518.176 +21-3-2019 17:00,1401772.8,652513.792,652513.792 +21-3-2019 18:00,4847153.664,2256310.272,2256310.272 +21-3-2019 19:00,2498916.864,1163225.472,1163225.472 +21-3-2019 20:00,2116290.432,985115.904,985115.904 +21-3-2019 21:00,2237883.136,1041716.2880000002,1041716.2880000002 +21-3-2019 22:00,1236568.5760000001,575612.672,575612.672 +21-3-2019 23:00,389889.376,181490.32,181490.32 +22-3-2019 00:00,399969.152,186182.36800000002,186182.36800000002 +22-3-2019 01:00,397465.60000000003,185016.97600000002,185016.97600000002 +22-3-2019 02:00,386917.95200000005,180107.13600000003,180107.13600000003 +22-3-2019 03:00,449311.392,209150.784,209150.784 +22-3-2019 04:00,617644.032,287508.22400000005,287508.22400000005 +22-3-2019 05:00,709558.7200000001,330293.792,330293.792 +22-3-2019 06:00,852775.2960000001,396959.96800000005,396959.96800000005 +22-3-2019 07:00,2286209.536,1064211.84,1064211.84 +22-3-2019 08:00,2002313.088,932060.352,932060.352 +22-3-2019 09:00,3292271.3600000003,1532525.568,1532525.568 +22-3-2019 10:00,2260926.72,1052442.944,1052442.944 +22-3-2019 11:00,599991.36,279291.104,279291.104 +22-3-2019 12:00,1036746.6880000001,482597.12000000005,482597.12000000005 +22-3-2019 13:00,342125.824,159256.784,159256.784 +22-3-2019 14:00,51067.704,23771.600000000002,23771.600000000002 +22-3-2019 15:00,197000.12800000003,91701.952,91701.952 +22-3-2019 16:00,58791.296,27366.872,27366.872 +22-3-2019 17:00,112826.48000000001,52519.808,52519.808 +22-3-2019 18:00,3375848.704,1571430.144,1571430.144 +22-3-2019 19:00,1782559.7440000002,829766.976,829766.976 +22-3-2019 20:00,2053891.968,956069.952,956069.952 +22-3-2019 21:00,2127694.72,990424.32,990424.32 +22-3-2019 22:00,1105267.712,514493.152,514493.152 +22-3-2019 23:00,323150.43200000003,150423.888,150423.888 +23-3-2019 00:00,313373.44,145872.784,145872.784 +23-3-2019 01:00,310656.064,144607.856,144607.856 +23-3-2019 02:00,311518.176,145009.168,145009.168 +23-3-2019 03:00,341473.60000000003,158953.184,158953.184 +23-3-2019 04:00,471519.32800000004,219488.352,219488.352 +23-3-2019 05:00,561492.16,261370.01600000003,261370.01600000003 +23-3-2019 06:00,659412.5440000001,306951.136,306951.136 +23-3-2019 07:00,1263165.6960000002,587993.28,587993.28 +23-3-2019 08:00,1929168.7680000002,898012.224,898012.224 +23-3-2019 09:00,4008288.768,1865825.7920000004,1865825.7920000004 +23-3-2019 10:00,3367248.3840000005,1567426.816,1567426.816 +23-3-2019 11:00,1564248.192,728144.768,728144.768 +23-3-2019 12:00,1437105.92,668961.088,668961.088 +23-3-2019 13:00,870626.944,405269.76,405269.76 +23-3-2019 14:00,521916.73600000003,242948.0,242948.0 +23-3-2019 15:00,369490.336,171994.73600000003,171994.73600000003 +23-3-2019 16:00,431115.392,200680.70400000003,200680.70400000003 +23-3-2019 17:00,1696358.4000000001,789641.088,789641.088 +23-3-2019 18:00,2020545.536,940547.4560000001,940547.4560000001 +23-3-2019 19:00,2084928.8960000002,970517.376,970517.376 +23-3-2019 20:00,2154975.7440000004,1003123.648,1003123.648 +23-3-2019 21:00,1696784.384,789839.2320000001,789839.2320000001 +23-3-2019 22:00,774347.968,360452.608,360452.608 +23-3-2019 23:00,449392.576,209188.576,209188.576 +24-3-2019 00:00,493064.992,229517.696,229517.696 +24-3-2019 01:00,523655.61600000004,243757.42400000003,243757.42400000003 +24-3-2019 02:00,713861.76,332296.86400000006,332296.86400000006 +24-3-2019 03:00,858398.8480000001,399577.632,399577.632 +24-3-2019 04:00,1030871.8720000001,479862.4,479862.4 +24-3-2019 05:00,1099784.064,511940.51200000005,511940.51200000005 +24-3-2019 06:00,1185083.52,551646.656,551646.656 +24-3-2019 07:00,1598876.4160000002,744263.9360000001,744263.9360000001 +24-3-2019 08:00,2043349.2480000001,951162.432,951162.432 +24-3-2019 09:00,4610478.592,2146140.288,2146140.288 +24-3-2019 10:00,4200485.12,1955291.3920000002,1955291.3920000002 +24-3-2019 11:00,1729638.2719999999,805132.5440000001,805132.5440000001 +24-3-2019 12:00,1791378.5600000003,833872.064,833872.064 +24-3-2019 13:00,799259.392,372048.704,372048.704 +24-3-2019 14:00,55421.648,25798.320000000003,25798.320000000003 +24-3-2019 15:00,16496.935999999998,7679.184,7679.184 +24-3-2019 16:00,18511.344,8616.880000000001,8616.880000000001 +24-3-2019 17:00,680200.8960000001,316627.96800000005,316627.96800000005 +24-3-2019 18:00,1815856.0,845266.2400000001,845266.2400000001 +24-3-2019 19:00,2141166.208,996695.2960000001,996695.2960000001 +24-3-2019 20:00,2187366.1440000003,1018201.152,1018201.152 +24-3-2019 21:00,1717245.3120000002,799363.648,799363.648 +24-3-2019 22:00,779972.736,363070.912,363070.912 +24-3-2019 23:00,442415.29600000003,205940.67200000002,205940.67200000002 +25-3-2019 00:00,423410.49600000004,197094.16000000003,197094.16000000003 +25-3-2019 01:00,389144.51200000005,181143.58400000003,181143.58400000003 +25-3-2019 02:00,451896.672,210354.192,210354.192 +25-3-2019 03:00,593105.152,276085.632,276085.632 +25-3-2019 04:00,685644.672,319161.984,319161.984 +25-3-2019 05:00,793312.128,369280.288,369280.288 +25-3-2019 06:00,895061.4400000001,416643.808,416643.808 +25-3-2019 07:00,2351399.424,1094557.1840000001,1094557.1840000001 +25-3-2019 08:00,1786430.4640000002,831568.768,831568.768 +25-3-2019 09:00,2841238.784,1322573.568,1322573.568 +25-3-2019 10:00,1860350.2079999999,865977.9199999999,865977.9199999999 +25-3-2019 11:00,728049.92,338901.28,338901.28 +25-3-2019 12:00,1168545.024,543948.224,543948.224 +25-3-2019 13:00,812641.088,378277.76,378277.76 +25-3-2019 14:00,526433.5360000001,245050.51200000002,245050.51200000002 +25-3-2019 15:00,549076.224,255590.47999999998,255590.47999999998 +25-3-2019 16:00,662255.7440000001,308274.656,308274.656 +25-3-2019 17:00,1534508.928,714301.4400000001,714301.4400000001 +25-3-2019 18:00,4926852.096,2293409.2800000003,2293409.2800000003 +25-3-2019 19:00,2520973.568,1173492.736,1173492.736 +25-3-2019 20:00,2153830.912,1002590.72,1002590.72 +25-3-2019 21:00,2153398.5280000004,1002389.376,1002389.376 +25-3-2019 22:00,1143747.84,532405.28,532405.28 +25-3-2019 23:00,349202.49600000004,162550.896,162550.896 +26-3-2019 00:00,343451.64800000004,159873.93600000002,159873.93600000002 +26-3-2019 01:00,344349.184,160291.728,160291.728 +26-3-2019 02:00,367299.96800000005,170975.152,170975.152 +26-3-2019 03:00,416720.416,193979.93600000002,193979.93600000002 +26-3-2019 04:00,724026.752,337028.51200000005,337028.51200000005 +26-3-2019 05:00,832918.976,387716.96,387716.96 +26-3-2019 06:00,945179.52,439973.28,439973.28 +26-3-2019 07:00,2309257.728,1074940.672,1074940.672 +26-3-2019 08:00,1892122.6239999998,880767.6800000002,880767.6800000002 +26-3-2019 09:00,3105113.856,1445405.1840000001,1445405.1840000001 +26-3-2019 10:00,2195201.7920000004,1021848.4480000001,1021848.4480000001 +26-3-2019 11:00,802187.8400000001,373411.936,373411.936 +26-3-2019 12:00,1223303.552,569437.888,569437.888 +26-3-2019 13:00,787560.768,366603.136,366603.136 +26-3-2019 14:00,482304.096,224508.64,224508.64 +26-3-2019 15:00,505866.9440000001,235476.92799999999,235476.92799999999 +26-3-2019 16:00,652318.0800000001,303648.736,303648.736 +26-3-2019 17:00,1504094.208,700143.68,700143.68 +26-3-2019 18:00,4943847.424000001,2301320.704,2301320.704 +26-3-2019 19:00,2608479.2320000003,1214225.92,1214225.92 +26-3-2019 20:00,2171442.944,1010788.9920000001,1010788.9920000001 +26-3-2019 21:00,2163127.552,1006918.0800000001,1006918.0800000001 +26-3-2019 22:00,1151374.72,535955.52,535955.52 +26-3-2019 23:00,352521.66400000005,164095.968,164095.968 +27-3-2019 00:00,345473.216,160814.96000000002,160814.96000000002 +27-3-2019 01:00,358069.984,166678.65600000002,166678.65600000002 +27-3-2019 02:00,384199.84,178841.888,178841.888 +27-3-2019 03:00,393679.64800000004,183254.67200000002,183254.67200000002 +27-3-2019 04:00,592204.4160000001,275666.27200000006,275666.27200000006 +27-3-2019 05:00,695338.56,323674.43200000003,323674.43200000003 +27-3-2019 06:00,851785.0880000001,396498.976,396498.976 +27-3-2019 07:00,1263113.7280000001,587969.152,587969.152 +27-3-2019 08:00,1599923.584,744751.4240000001,744751.4240000001 +27-3-2019 09:00,2474260.48,1151748.0960000001,1151748.0960000001 +27-3-2019 10:00,1478414.208,688189.76,688189.76 +27-3-2019 11:00,465072.064,216487.24800000002,216487.24800000002 +27-3-2019 12:00,863623.1680000001,402009.536,402009.536 +27-3-2019 13:00,606744.128,282434.46400000004,282434.46400000004 +27-3-2019 14:00,347032.80000000005,161540.928,161540.928 +27-3-2019 15:00,382862.88,178219.53600000002,178219.53600000002 +27-3-2019 16:00,476649.02400000003,221876.24,221876.24 +27-3-2019 17:00,557235.136,259388.40000000002,259388.40000000002 +27-3-2019 18:00,4485106.176,2087780.224,2087780.224 +27-3-2019 19:00,2162106.624,1006442.944,1006442.944 +27-3-2019 20:00,1964957.1840000001,914671.6800000002,914671.6800000002 +27-3-2019 21:00,1996765.568,929478.144,929478.144 +27-3-2019 22:00,1079144.5760000001,502332.992,502332.992 +27-3-2019 23:00,325665.248,151594.52800000002,151594.52800000002 +28-3-2019 00:00,318126.62400000007,148085.344,148085.344 +28-3-2019 01:00,316136.832,147159.13600000003,147159.13600000003 +28-3-2019 02:00,315626.49600000004,146921.552,146921.552 +28-3-2019 03:00,319399.2,148677.728,148677.728 +28-3-2019 04:00,421823.04000000004,196355.21600000001,196355.21600000001 +28-3-2019 05:00,579627.264,269811.776,269811.776 +28-3-2019 06:00,697932.608,324881.95200000005,324881.95200000005 +28-3-2019 07:00,1423974.528,662848.5120000001,662848.5120000001 +28-3-2019 08:00,1721205.888,801207.1680000001,801207.1680000001 +28-3-2019 09:00,2700283.648,1256960.0,1256960.0 +28-3-2019 10:00,1761254.2719999999,819849.408,819849.408 +28-3-2019 11:00,614080.832,285849.632,285849.632 +28-3-2019 12:00,1062168.0,494430.52800000005,494430.52800000005 +28-3-2019 13:00,704200.128,327799.392,327799.392 +28-3-2019 14:00,389485.92000000004,181302.52800000002,181302.52800000002 +28-3-2019 15:00,407491.10400000005,189683.776,189683.776 +28-3-2019 16:00,463102.43200000003,215570.384,215570.384 +28-3-2019 17:00,526638.176,245145.77599999998,245145.77599999998 +28-3-2019 18:00,4556763.136,2121136.128,2121136.128 +28-3-2019 19:00,2277152.256,1059995.712,1059995.712 +28-3-2019 20:00,1991136.7680000002,926857.792,926857.792 +28-3-2019 21:00,2044148.864,951534.784,951534.784 +28-3-2019 22:00,1177995.2640000002,548347.136,548347.136 +28-3-2019 23:00,379500.16000000003,176654.24,176654.24 +29-3-2019 00:00,386715.71200000006,180013.00800000003,180013.00800000003 +29-3-2019 01:00,392673.568,182786.36800000002,182786.36800000002 +29-3-2019 02:00,403154.528,187665.152,187665.152 +29-3-2019 03:00,566957.5040000001,263914.112,263914.112 +29-3-2019 04:00,805464.192,374936.992,374936.992 +29-3-2019 05:00,962792.3840000001,448171.968,448171.968 +29-3-2019 06:00,1055196.2880000002,491185.2480000001,491185.2480000001 +29-3-2019 07:00,1422699.648,662255.104,662255.104 +29-3-2019 08:00,1588168.5760000001,739279.488,739279.488 +29-3-2019 09:00,2091952.7680000002,973786.8160000001,973786.8160000001 +29-3-2019 10:00,990940.928,461274.84800000006,461274.84800000006 +29-3-2019 11:00,53785.50400000001,25036.712,25036.712 +29-3-2019 12:00,231471.85600000003,107748.264,107748.264 +29-3-2019 13:00,79331.62400000001,36928.224,36928.224 +29-3-2019 14:00,45287.048,21080.752,21080.752 +29-3-2019 15:00,96319.60800000001,44835.992,44835.992 +29-3-2019 16:00,28405.920000000002,13222.720000000001,13222.720000000001 +29-3-2019 17:00,29185.504,13585.616000000002,13585.616000000002 +29-3-2019 18:00,1392894.208,648380.9280000001,648380.9280000001 +29-3-2019 19:00,1016968.96,473390.72000000003,473390.72000000003 +29-3-2019 20:00,1411286.144,656942.2080000001,656942.2080000001 +29-3-2019 21:00,1666620.2880000002,775798.272,775798.272 +29-3-2019 22:00,957443.584,445682.176,445682.176 +29-3-2019 23:00,301894.336,140529.36000000002,140529.36000000002 +30-3-2019 00:00,335100.44800000003,155986.52800000002,155986.52800000002 +30-3-2019 01:00,354413.60000000003,164976.64,164976.64 +30-3-2019 02:00,338489.504,157564.09600000002,157564.09600000002 +30-3-2019 03:00,342088.672,159239.488,159239.488 +30-3-2019 04:00,545846.656,254087.152,254087.152 +30-3-2019 05:00,615580.032,286547.488,286547.488 +30-3-2019 06:00,664237.376,309197.088,309197.088 +30-3-2019 07:00,663878.656,309030.08,309030.08 +30-3-2019 08:00,1681705.088,782819.968,782819.968 +30-3-2019 09:00,3006170.624,1399348.0960000001,1399348.0960000001 +30-3-2019 10:00,2017528.704,939143.1680000001,939143.1680000001 +30-3-2019 11:00,664921.5360000001,309515.584,309515.584 +30-3-2019 12:00,577552.832,268846.14400000003,268846.14400000003 +30-3-2019 13:00,35610.104,16576.208,16576.208 +30-3-2019 14:00,26831.288,12489.744,12489.744 +30-3-2019 15:00,35684.992,16611.072,16611.072 +30-3-2019 16:00,31194.632,14520.848000000002,14520.848000000002 +30-3-2019 17:00,37251.992,17340.496,17340.496 +30-3-2019 18:00,753492.0320000001,350744.416,350744.416 +30-3-2019 19:00,1243544.96,578860.032,578860.032 +30-3-2019 20:00,1531944.8320000002,713107.8400000001,713107.8400000001 +30-3-2019 21:00,1190355.328,554100.608,554100.608 +30-3-2019 22:00,497758.688,231702.608,231702.608 +30-3-2019 23:00,282289.12000000005,131403.28,131403.28 +31-3-2019 00:00,285665.856,132975.13600000003,132975.13600000003 +31-3-2019 01:00,304214.46400000004,141609.36000000002,141609.36000000002 +31-3-2019 02:00,297962.784,138699.248,138699.248 +31-3-2019 03:00,302301.792,140719.024,140719.024 +31-3-2019 04:00,448235.26399999997,208649.872,208649.872 +31-3-2019 05:00,512293.984,238468.67200000002,238468.67200000002 +31-3-2019 06:00,1226867.328,571096.704,571096.704 +31-3-2019 07:00,1937036.672,901674.6880000001,901674.6880000001 +31-3-2019 08:00,3732855.04,1737613.44,1737613.44 +31-3-2019 09:00,3038216.1920000003,1414264.8320000002,1414264.8320000002 +31-3-2019 10:00,1197540.2240000002,557445.184,557445.184 +31-3-2019 11:00,736959.7440000001,343048.76800000004,343048.76800000004 +31-3-2019 12:00,742402.368,345582.24,345582.24 +31-3-2019 13:00,462208.35199999996,215154.22400000005,215154.22400000005 +31-3-2019 14:00,20485.184,9535.688,9535.688 +31-3-2019 15:00,15859.496,7382.464,7382.464 +31-3-2019 16:00,17841.935999999998,8305.272,8305.272 +31-3-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +31-3-2019 18:00,255634.736,118995.89600000001,118995.89600000001 +31-3-2019 19:00,1128247.552,525190.0480000001,525190.0480000001 +31-3-2019 20:00,1303980.8,606992.4480000001,606992.4480000001 +31-3-2019 21:00,605861.6320000001,282023.648,282023.648 +31-3-2019 22:00,356505.376,165950.336,165950.336 +31-3-2019 23:00,357441.66400000005,166386.16000000003,166386.16000000003 +1-4-2019 00:00,357823.328,166563.85600000003,166563.85600000003 +1-4-2019 01:00,437975.58400000003,203874.08000000002,203874.08000000002 +1-4-2019 02:00,635958.0800000001,296033.31200000003,296033.31200000003 +1-4-2019 03:00,744177.152,346408.384,346408.384 +1-4-2019 04:00,847907.8400000001,394694.20800000004,394694.20800000004 +1-4-2019 05:00,971604.9920000001,452274.176,452274.176 +1-4-2019 06:00,2534018.0480000004,1179564.672,1179564.672 +1-4-2019 07:00,1811405.0559999999,843194.2400000001,843194.2400000001 +1-4-2019 08:00,2660363.7760000005,1238377.728,1238377.728 +1-4-2019 09:00,1294170.752,602425.92,602425.92 +1-4-2019 10:00,44436.192,20684.68,20684.68 +1-4-2019 11:00,107863.224,50209.448000000004,50209.448000000004 +1-4-2019 12:00,289853.184,134924.272,134924.272 +1-4-2019 13:00,73726.92,34319.28,34319.28 +1-4-2019 14:00,133456.192,62122.776000000005,62122.776000000005 +1-4-2019 15:00,44896.664000000004,20899.032000000003,20899.032000000003 +1-4-2019 16:00,17841.935999999998,8305.272,8305.272 +1-4-2019 17:00,724922.432,337445.504,337445.504 +1-4-2019 18:00,604071.168,281190.20800000004,281190.20800000004 +1-4-2019 19:00,1140592.128,530936.2880000001,530936.2880000001 +1-4-2019 20:00,1534721.92,714400.5120000001,714400.5120000001 +1-4-2019 21:00,901801.6640000001,419781.31200000003,419781.31200000003 +1-4-2019 22:00,291748.032,135806.336,135806.336 +1-4-2019 23:00,336931.328,156838.784,156838.784 +2-4-2019 00:00,360045.216,167598.09600000002,167598.09600000002 +2-4-2019 01:00,372340.25600000005,173321.36000000002,173321.36000000002 +2-4-2019 02:00,436681.056,203271.472,203271.472 +2-4-2019 03:00,511500.992,238099.50400000002,238099.50400000002 +2-4-2019 04:00,587132.736,273305.504,273305.504 +2-4-2019 05:00,651257.6000000001,303155.104,303155.104 +2-4-2019 06:00,1992452.0960000001,927470.2080000001,927470.2080000001 +2-4-2019 07:00,1772869.3760000002,825256.064,825256.064 +2-4-2019 08:00,2830444.544,1317548.8,1317548.8 +2-4-2019 09:00,1662619.392,773935.7440000001,773935.7440000001 +2-4-2019 10:00,213921.92000000004,99578.92800000001,99578.92800000001 +2-4-2019 11:00,356879.87200000003,166124.67200000002,166124.67200000002 +2-4-2019 12:00,703560.0,327501.47200000007,327501.47200000007 +2-4-2019 13:00,465647.8400000001,216755.28,216755.28 +2-4-2019 14:00,436994.08,203417.168,203417.168 +2-4-2019 15:00,221466.192,103090.696,103090.696 +2-4-2019 16:00,68569.11200000001,31918.36,31918.36 +2-4-2019 17:00,2922049.5360000003,1360190.08,1360190.08 +2-4-2019 18:00,1715740.8,798663.4240000001,798663.4240000001 +2-4-2019 19:00,1867699.456,869398.912,869398.912 +2-4-2019 20:00,1888177.2800000003,878931.1359999999,878931.1359999999 +2-4-2019 21:00,1029012.9920000001,478997.12000000005,478997.12000000005 +2-4-2019 22:00,318463.392,148242.11200000002,148242.11200000002 +2-4-2019 23:00,313747.392,146046.83200000002,146046.83200000002 +3-4-2019 00:00,309900.672,144256.24,144256.24 +3-4-2019 01:00,312688.0,145553.71200000003,145553.71200000003 +3-4-2019 02:00,339607.264,158084.40000000002,158084.40000000002 +3-4-2019 03:00,451294.272,210073.77599999998,210073.77599999998 +3-4-2019 04:00,580819.776,270366.88,270366.88 +3-4-2019 05:00,697079.36,324484.73600000003,324484.73600000003 +3-4-2019 06:00,2091652.4800000002,973647.1680000001,973647.1680000001 +3-4-2019 07:00,2030793.3440000003,945317.6960000001,945317.6960000001 +3-4-2019 08:00,3023906.0480000004,1407603.584,1407603.584 +3-4-2019 09:00,1928096.1280000003,897513.0880000001,897513.0880000001 +3-4-2019 10:00,421127.68,196031.488,196031.488 +3-4-2019 11:00,671200.064,312438.112,312438.112 +3-4-2019 12:00,1062624.384,494642.976,494642.976 +3-4-2019 13:00,888718.5279999999,413691.264,413691.264 +3-4-2019 14:00,704726.3360000001,328044.384,328044.384 +3-4-2019 15:00,564254.656,262655.90400000004,262655.90400000004 +3-4-2019 16:00,288547.07200000004,134316.304,134316.304 +3-4-2019 17:00,3797419.5200000005,1767667.968,1767667.968 +3-4-2019 18:00,2224267.264,1035378.112,1035378.112 +3-4-2019 19:00,2145581.696,998750.784,998750.784 +3-4-2019 20:00,2146592.768,999221.376,999221.376 +3-4-2019 21:00,1146599.552,533732.768,533732.768 +3-4-2019 22:00,375547.68,174814.38400000002,174814.38400000002 +3-4-2019 23:00,391369.12000000005,182179.13600000003,182179.13600000003 +4-4-2019 00:00,395393.88800000004,184052.624,184052.624 +4-4-2019 01:00,403042.14400000003,187612.83200000002,187612.83200000002 +4-4-2019 02:00,555568.0,258612.384,258612.384 +4-4-2019 03:00,728711.1680000001,339209.088,339209.088 +4-4-2019 04:00,861127.1680000001,400847.61600000004,400847.61600000004 +4-4-2019 05:00,960078.976,446908.992,446908.992 +4-4-2019 06:00,2589161.472,1205233.536,1205233.536 +4-4-2019 07:00,2222597.632,1034601.152,1034601.152 +4-4-2019 08:00,3258843.3920000005,1516964.992,1516964.992 +4-4-2019 09:00,2322739.968,1081216.384,1081216.384 +4-4-2019 10:00,646404.4160000001,300895.96800000005,300895.96800000005 +4-4-2019 11:00,836950.8480000001,389593.792,389593.792 +4-4-2019 12:00,1188970.368,553455.9360000001,553455.9360000001 +4-4-2019 13:00,726160.96,338022.01600000006,338022.01600000006 +4-4-2019 14:00,600755.008,279646.528,279646.528 +4-4-2019 15:00,574283.968,267324.51200000005,267324.51200000005 +4-4-2019 16:00,323255.936,150473.008,150473.008 +4-4-2019 17:00,3823485.1840000004,1779801.216,1779801.216 +4-4-2019 18:00,2250379.52,1047533.184,1047533.184 +4-4-2019 19:00,2160656.384,1005768.0,1005768.0 +4-4-2019 20:00,2179027.2,1014319.36,1014319.36 +4-4-2019 21:00,1193051.0080000001,555355.456,555355.456 +4-4-2019 22:00,389483.84,181301.568,181301.568 +4-4-2019 23:00,383776.16000000003,178644.65600000002,178644.65600000002 +5-4-2019 00:00,384082.176,178787.10400000002,178787.10400000002 +5-4-2019 01:00,389966.048,181526.016,181526.016 +5-4-2019 02:00,531660.8,247483.744,247483.744 +5-4-2019 03:00,746152.3200000001,347327.808,347327.808 +5-4-2019 04:00,901007.936,419411.87200000003,419411.87200000003 +5-4-2019 05:00,1049911.936,488725.44000000006,488725.44000000006 +5-4-2019 06:00,2703713.024,1258556.4160000002,1258556.4160000002 +5-4-2019 07:00,2100329.856,977686.336,977686.336 +5-4-2019 08:00,3179086.592,1479838.8480000002,1479838.8480000002 +5-4-2019 09:00,2119465.856,986594.0480000001,986594.0480000001 +5-4-2019 10:00,357748.032,166528.80000000002,166528.80000000002 +5-4-2019 11:00,240425.10400000002,111915.92800000001,111915.92800000001 +5-4-2019 12:00,885432.0,412161.376,412161.376 +5-4-2019 13:00,574264.0,267315.216,267315.216 +5-4-2019 14:00,437017.92000000004,203428.272,203428.272 +5-4-2019 15:00,441939.55199999997,205719.264,205719.264 +5-4-2019 16:00,143963.80800000002,67013.97600000001,67013.97600000001 +5-4-2019 17:00,3537267.4560000002,1646569.344,1646569.344 +5-4-2019 18:00,1954977.7920000004,910026.2400000001,910026.2400000001 +5-4-2019 19:00,2001835.904,931838.2720000001,931838.2720000001 +5-4-2019 20:00,2022446.8480000002,941432.512,941432.512 +5-4-2019 21:00,1083652.352,504431.392,504431.392 +5-4-2019 22:00,336143.00800000003,156471.84,156471.84 +5-4-2019 23:00,328963.68,153129.904,153129.904 +6-4-2019 00:00,322214.688,149988.304,149988.304 +6-4-2019 01:00,322367.42400000006,150059.40800000002,150059.40800000002 +6-4-2019 02:00,324331.328,150973.6,150973.6 +6-4-2019 03:00,428183.168,199315.776,199315.776 +6-4-2019 04:00,543438.336,252966.11200000002,252966.11200000002 +6-4-2019 05:00,625775.104,291293.216,291293.216 +6-4-2019 06:00,1306988.544,608392.512,608392.512 +6-4-2019 07:00,2032667.008,946189.824,946189.824 +6-4-2019 08:00,4103943.6799999997,1910352.512,1910352.512 +6-4-2019 09:00,3388123.3920000005,1577143.936,1577143.936 +6-4-2019 10:00,1326879.8720000002,617651.712,617651.712 +6-4-2019 11:00,941703.2320000001,438355.168,438355.168 +6-4-2019 12:00,1140661.888,530968.832,530968.832 +6-4-2019 13:00,565249.5360000001,263119.07200000004,263119.07200000004 +6-4-2019 14:00,308353.696,143536.128,143536.128 +6-4-2019 15:00,169270.912,78794.224,78794.224 +6-4-2019 16:00,80254.16,37357.656,37357.656 +6-4-2019 17:00,354063.52,164813.68000000002,164813.68000000002 +6-4-2019 18:00,1405962.4960000003,654464.0,654464.0 +6-4-2019 19:00,1686424.8320000002,785017.088,785017.088 +6-4-2019 20:00,1383969.664,644226.6240000001,644226.6240000001 +6-4-2019 21:00,578829.312,269440.32,269440.32 +6-4-2019 22:00,304446.912,141717.53600000002,141717.53600000002 +6-4-2019 23:00,297406.528,138440.304,138440.304 +7-4-2019 00:00,278415.68,129600.216,129600.216 +7-4-2019 01:00,271026.112,126160.448,126160.448 +7-4-2019 02:00,271731.87200000003,126488.97600000001,126488.97600000001 +7-4-2019 03:00,331900.544,154496.992,154496.992 +7-4-2019 04:00,427829.824,199151.28000000003,199151.28000000003 +7-4-2019 05:00,547888.64,255037.71200000003,255037.71200000003 +7-4-2019 06:00,1211289.984,563845.6320000001,563845.6320000001 +7-4-2019 07:00,1845375.232,859007.2320000001,859007.2320000001 +7-4-2019 08:00,3610889.472,1680839.4239999999,1680839.4239999999 +7-4-2019 09:00,2636489.216,1227264.256,1227264.256 +7-4-2019 10:00,749425.856,348851.58400000003,348851.58400000003 +7-4-2019 11:00,90795.33600000001,42264.488000000005,42264.488000000005 +7-4-2019 12:00,113933.144,53034.952000000005,53034.952000000005 +7-4-2019 13:00,59609.0,27747.504,27747.504 +7-4-2019 14:00,31329.352000000003,14583.560000000001,14583.560000000001 +7-4-2019 15:00,17545.168,8167.136,8167.136 +7-4-2019 16:00,19542.888000000003,9097.056,9097.056 +7-4-2019 17:00,35328.568,16445.16,16445.16 +7-4-2019 18:00,439810.784,204728.32,204728.32 +7-4-2019 19:00,882563.648,410826.176,410826.176 +7-4-2019 20:00,805934.2080000001,375155.776,375155.776 +7-4-2019 21:00,333570.08,155274.128,155274.128 +7-4-2019 22:00,150327.904,69976.41600000001,69976.41600000001 +7-4-2019 23:00,160076.25600000002,74514.19200000001,74514.19200000001 +8-4-2019 00:00,220334.88,102564.088,102564.088 +8-4-2019 01:00,236730.08,110195.92,110195.92 +8-4-2019 02:00,248222.688,115545.64,115545.64 +8-4-2019 03:00,251596.56000000003,117116.13600000001,117116.13600000001 +8-4-2019 04:00,273604.0,127360.44,127360.44 +8-4-2019 05:00,430923.2320000001,200591.21600000001,200591.21600000001 +8-4-2019 06:00,1438100.608,669424.128,669424.128 +8-4-2019 07:00,1569876.2240000002,730764.608,730764.608 +8-4-2019 08:00,1573208.448,732315.712,732315.712 +8-4-2019 09:00,778673.664,362466.24,362466.24 +8-4-2019 10:00,40309.56,18763.768,18763.768 +8-4-2019 11:00,45437.12,21150.608,21150.608 +8-4-2019 12:00,80811.816,37617.248,37617.248 +8-4-2019 13:00,33430.064000000006,15561.423999999999,15561.423999999999 +8-4-2019 14:00,56979.888000000006,26523.68,26523.68 +8-4-2019 15:00,20791.472,9678.264000000001,9678.264000000001 +8-4-2019 16:00,17841.935999999998,8305.272,8305.272 +8-4-2019 17:00,330331.52,153766.608,153766.608 +8-4-2019 18:00,377991.96800000005,175952.192,175952.192 +8-4-2019 19:00,635642.9440000001,295886.624,295886.624 +8-4-2019 20:00,896944.4480000001,417520.32000000007,417520.32000000007 +8-4-2019 21:00,479998.08,223435.184,223435.184 +8-4-2019 22:00,63266.736000000004,29450.144,29450.144 +8-4-2019 23:00,121929.544,56757.208,56757.208 +9-4-2019 00:00,144897.392,67448.56,67448.56 +9-4-2019 01:00,180695.23200000002,84112.152,84112.152 +9-4-2019 02:00,232860.432,108394.63200000001,108394.63200000001 +9-4-2019 03:00,256149.68,119235.58400000002,119235.58400000002 +9-4-2019 04:00,276375.584,128650.6,128650.6 +9-4-2019 05:00,428016.54400000005,199238.22400000002,199238.22400000002 +9-4-2019 06:00,1398805.12,651132.352,651132.352 +9-4-2019 07:00,1581511.04,736180.5440000001,736180.5440000001 +9-4-2019 08:00,1929110.784,897985.344,897985.344 +9-4-2019 09:00,1258398.4640000002,585774.208,585774.208 +9-4-2019 10:00,171097.07200000001,79644.296,79644.296 +9-4-2019 11:00,294155.456,136926.96000000002,136926.96000000002 +9-4-2019 12:00,481081.504,223939.47200000004,223939.47200000004 +9-4-2019 13:00,229913.744,107022.97600000001,107022.97600000001 +9-4-2019 14:00,209434.83200000002,97490.20000000001,97490.20000000001 +9-4-2019 15:00,181670.32,84566.04000000001,84566.04000000001 +9-4-2019 16:00,19542.36,9096.808,9096.808 +9-4-2019 17:00,1921518.5920000002,894451.2000000001,894451.2000000001 +9-4-2019 18:00,1023717.12,476531.968,476531.968 +9-4-2019 19:00,1358879.232,632547.136,632547.136 +9-4-2019 20:00,1489019.2640000002,693126.3360000001,693126.3360000001 +9-4-2019 21:00,839439.36,390752.16000000003,390752.16000000003 +9-4-2019 22:00,273258.27200000006,127199.51200000002,127199.51200000002 +9-4-2019 23:00,286854.368,133528.368,133528.368 +10-4-2019 00:00,294057.12000000005,136881.2,136881.2 +10-4-2019 01:00,305596.928,142252.864,142252.864 +10-4-2019 02:00,320824.416,149341.168,149341.168 +10-4-2019 03:00,378820.128,176337.68000000002,176337.68000000002 +10-4-2019 04:00,546972.608,254611.296,254611.296 +10-4-2019 05:00,649252.352,302221.66400000005,302221.66400000005 +10-4-2019 06:00,1844888.8320000002,858780.8640000001,858780.8640000001 +10-4-2019 07:00,1651754.4960000003,768878.1440000001,768878.1440000001 +10-4-2019 08:00,2167289.856,1008855.744,1008855.744 +10-4-2019 09:00,1025564.6720000001,477392.0,477392.0 +10-4-2019 10:00,40309.56,18763.768,18763.768 +10-4-2019 11:00,69125.888,32177.544,32177.544 +10-4-2019 12:00,240641.07200000004,112016.456,112016.456 +10-4-2019 13:00,72086.368,33555.624,33555.624 +10-4-2019 14:00,105053.064,48901.352000000006,48901.352000000006 +10-4-2019 15:00,40505.36,18854.912,18854.912 +10-4-2019 16:00,17841.935999999998,8305.272,8305.272 +10-4-2019 17:00,596274.368,277560.832,277560.832 +10-4-2019 18:00,589934.784,274609.824,274609.824 +10-4-2019 19:00,1084578.0480000002,504862.20800000004,504862.20800000004 +10-4-2019 20:00,1457043.712,678241.92,678241.92 +10-4-2019 21:00,865686.8480000001,402970.14400000003,402970.14400000003 +10-4-2019 22:00,274282.20800000004,127676.12,127676.12 +10-4-2019 23:00,300831.04,140034.416,140034.416 +11-4-2019 00:00,337010.368,156875.584,156875.584 +11-4-2019 01:00,350516.64,163162.64,163162.64 +11-4-2019 02:00,407547.07200000004,189709.82400000002,189709.82400000002 +11-4-2019 03:00,578537.728,269304.576,269304.576 +11-4-2019 04:00,689184.3840000001,320809.696,320809.696 +11-4-2019 05:00,825213.056,384129.92000000004,384129.92000000004 +11-4-2019 06:00,2179501.568,1014540.16,1014540.16 +11-4-2019 07:00,1692684.4160000002,787930.752,787930.752 +11-4-2019 08:00,2434341.12,1133165.952,1133165.952 +11-4-2019 09:00,1109899.392,516649.184,516649.184 +11-4-2019 10:00,40715.16,18952.576,18952.576 +11-4-2019 11:00,114872.28000000001,53472.112,53472.112 +11-4-2019 12:00,320215.90400000004,149057.888,149057.888 +11-4-2019 13:00,202533.696,94277.784,94277.784 +11-4-2019 14:00,163024.09600000002,75886.392,75886.392 +11-4-2019 15:00,88177.176,41045.76,41045.76 +11-4-2019 16:00,86638.55200000001,40329.536,40329.536 +11-4-2019 17:00,1588331.776,739355.456,739355.456 +11-4-2019 18:00,1145659.9039999999,533295.3280000001,533295.3280000001 +11-4-2019 19:00,1568999.936,730356.672,730356.672 +11-4-2019 20:00,1793133.824,834689.152,834689.152 +11-4-2019 21:00,1011823.4240000001,470995.52,470995.52 +11-4-2019 22:00,311503.552,145002.368,145002.368 +11-4-2019 23:00,330315.84,153759.344,153759.344 +12-4-2019 00:00,328854.592,153079.13600000003,153079.13600000003 +12-4-2019 01:00,332383.936,154722.016,154722.016 +12-4-2019 02:00,337297.152,157009.07200000001,157009.07200000001 +12-4-2019 03:00,521346.1440000001,242682.36800000002,242682.36800000002 +12-4-2019 04:00,602576.768,280494.56,280494.56 +12-4-2019 05:00,705196.16,328263.04000000004,328263.04000000004 +12-4-2019 06:00,2009064.32,935202.944,935202.944 +12-4-2019 07:00,1811428.4800000002,843205.2480000001,843205.2480000001 +12-4-2019 08:00,2605473.5360000003,1212826.752,1212826.752 +12-4-2019 09:00,1331439.36,619774.1440000001,619774.1440000001 +12-4-2019 10:00,294822.14400000003,137237.296,137237.296 +12-4-2019 11:00,330173.47200000007,153693.056,153693.056 +12-4-2019 12:00,837920.128,390044.992,390044.992 +12-4-2019 13:00,648644.8,301938.88,301938.88 +12-4-2019 14:00,638215.9360000001,297084.352,297084.352 +12-4-2019 15:00,547360.384,254791.79200000002,254791.79200000002 +12-4-2019 16:00,77620.48000000001,36131.704,36131.704 +12-4-2019 17:00,2667068.9280000003,1241498.8800000001,1241498.8800000001 +12-4-2019 18:00,1709273.088,795652.608,795652.608 +12-4-2019 19:00,2148790.5280000004,1000244.352,1000244.352 +12-4-2019 20:00,2256110.08,1050200.8960000002,1050200.8960000002 +12-4-2019 21:00,1258190.848,585677.6320000001,585677.6320000001 +12-4-2019 22:00,401029.31200000003,186675.888,186675.888 +12-4-2019 23:00,406450.56000000006,189199.44,189199.44 +13-4-2019 00:00,403117.34400000004,187647.85600000003,187647.85600000003 +13-4-2019 01:00,411103.96800000005,191365.52000000002,191365.52000000002 +13-4-2019 02:00,636391.2320000001,296234.944,296234.944 +13-4-2019 03:00,790800.8960000001,368111.392,368111.392 +13-4-2019 04:00,973587.584,453197.12000000005,453197.12000000005 +13-4-2019 05:00,1055350.6560000002,491257.12000000005,491257.12000000005 +13-4-2019 06:00,1614306.304,751446.464,751446.464 +13-4-2019 07:00,1902217.3440000003,885466.6240000001,885466.6240000001 +13-4-2019 08:00,3988242.176,1856494.08,1856494.08 +13-4-2019 09:00,2807449.3440000005,1306844.6720000003,1306844.6720000003 +13-4-2019 10:00,902539.52,420124.768,420124.768 +13-4-2019 11:00,794578.1120000001,369869.66400000005,369869.66400000005 +13-4-2019 12:00,1319967.8720000002,614434.304,614434.304 +13-4-2019 13:00,1066035.968,496231.04000000004,496231.04000000004 +13-4-2019 14:00,872908.4160000001,406331.744,406331.744 +13-4-2019 15:00,680402.496,316721.824,316721.824 +13-4-2019 16:00,605888.576,282036.192,282036.192 +13-4-2019 17:00,731358.656,340441.47200000007,340441.47200000007 +13-4-2019 18:00,2174351.872,1012143.04,1012143.04 +13-4-2019 19:00,2452587.776,1141659.648,1141659.648 +13-4-2019 20:00,1892159.3600000003,880784.768,880784.768 +13-4-2019 21:00,886907.392,412848.19200000004,412848.19200000004 +13-4-2019 22:00,530026.7200000001,246723.12000000002,246723.12000000002 +13-4-2019 23:00,533798.1440000001,248478.65600000002,248478.65600000002 +14-4-2019 00:00,591974.976,275559.488,275559.488 +14-4-2019 01:00,782791.04,364382.88,364382.88 +14-4-2019 02:00,923871.8080000001,430054.784,430054.784 +14-4-2019 03:00,1031263.2960000001,480044.6400000001,480044.6400000001 +14-4-2019 04:00,1084327.424,504745.56799999997,504745.56799999997 +14-4-2019 05:00,1163112.8320000002,541419.52,541419.52 +14-4-2019 06:00,1784995.456,830900.8640000001,830900.8640000001 +14-4-2019 07:00,2275372.544,1059167.36,1059167.36 +14-4-2019 08:00,4723938.816,2198955.008,2198955.008 +14-4-2019 09:00,3660857.344,1704099.2000000002,1704099.2000000002 +14-4-2019 10:00,1004457.728,467566.88,467566.88 +14-4-2019 11:00,734378.432,341847.136,341847.136 +14-4-2019 12:00,1068946.56,497585.824,497585.824 +14-4-2019 13:00,364782.944,169803.472,169803.472 +14-4-2019 14:00,45477.168000000005,21169.248000000003,21169.248000000003 +14-4-2019 15:00,17431.216,8114.088000000001,8114.088000000001 +14-4-2019 16:00,19088.288,8885.44,8885.44 +14-4-2019 17:00,46354.864,21577.808,21577.808 +14-4-2019 18:00,930281.6640000001,433038.52800000005,433038.52800000005 +14-4-2019 19:00,1859302.016,865489.8560000001,865489.8560000001 +14-4-2019 20:00,1625287.5520000001,756558.1440000001,756558.1440000001 +14-4-2019 21:00,721879.4240000001,336028.96,336028.96 +14-4-2019 22:00,394359.936,183571.344,183571.344 +14-4-2019 23:00,409050.62400000007,190409.728,190409.728 +15-4-2019 00:00,443016.80000000005,206220.72,206220.72 +15-4-2019 01:00,570053.4400000001,265355.232,265355.232 +15-4-2019 02:00,679757.376,316421.504,316421.504 +15-4-2019 03:00,817976.832,380761.536,380761.536 +15-4-2019 04:00,857652.352,399230.14400000003,399230.14400000003 +15-4-2019 05:00,961662.5920000001,447646.1440000001,447646.1440000001 +15-4-2019 06:00,2505967.104,1166507.136,1166507.136 +15-4-2019 07:00,1870786.688,870836.0320000001,870836.0320000001 +15-4-2019 08:00,2829402.3680000002,1317063.6800000002,1317063.6800000002 +15-4-2019 09:00,1561854.08,727030.3360000001,727030.3360000001 +15-4-2019 10:00,57188.896,26620.96,26620.96 +15-4-2019 11:00,281689.376,131124.12,131124.12 +15-4-2019 12:00,502196.672,233768.46400000004,233768.46400000004 +15-4-2019 13:00,172436.73600000003,80267.888,80267.888 +15-4-2019 14:00,247206.544,115072.63200000001,115072.63200000001 +15-4-2019 15:00,84284.77600000001,39233.888,39233.888 +15-4-2019 16:00,17841.935999999998,8305.272,8305.272 +15-4-2019 17:00,1058803.84,492864.51200000005,492864.51200000005 +15-4-2019 18:00,578853.056,269451.36000000004,269451.36000000004 +15-4-2019 19:00,1041893.184,484992.768,484992.768 +15-4-2019 20:00,1440766.08,670664.832,670664.832 +15-4-2019 21:00,824483.52,383790.336,383790.336 +15-4-2019 22:00,226286.22400000005,105334.38400000002,105334.38400000002 +15-4-2019 23:00,268157.61600000004,124825.18400000001,124825.18400000001 +16-4-2019 00:00,297194.176,138341.472,138341.472 +16-4-2019 01:00,305583.744,142246.736,142246.736 +16-4-2019 02:00,312352.48,145397.53600000002,145397.53600000002 +16-4-2019 03:00,395661.92000000004,184177.392,184177.392 +16-4-2019 04:00,546619.3280000001,254446.848,254446.848 +16-4-2019 05:00,661977.4720000001,308145.12000000005,308145.12000000005 +16-4-2019 06:00,1847957.2480000001,860209.152,860209.152 +16-4-2019 07:00,1647611.904,766949.888,766949.888 +16-4-2019 08:00,2468617.472,1149121.28,1149121.28 +16-4-2019 09:00,1385567.4880000001,644970.304,644970.304 +16-4-2019 10:00,212400.336,98870.62400000001,98870.62400000001 +16-4-2019 11:00,227948.51200000002,106108.168,106108.168 +16-4-2019 12:00,298033.728,138732.25600000002,138732.25600000002 +16-4-2019 13:00,185188.70400000003,86203.82400000001,86203.82400000001 +16-4-2019 14:00,226499.296,105433.568,105433.568 +16-4-2019 15:00,177464.40000000002,82608.232,82608.232 +16-4-2019 16:00,22265.376000000004,10364.352,10364.352 +16-4-2019 17:00,1972638.3360000001,918246.976,918246.976 +16-4-2019 18:00,982799.8080000001,457485.31200000003,457485.31200000003 +16-4-2019 19:00,1272990.5920000002,592566.8480000001,592566.8480000001 +16-4-2019 20:00,1433666.688,667360.128,667360.128 +16-4-2019 21:00,753246.7200000001,350630.24,350630.24 +16-4-2019 22:00,214790.064,99983.024,99983.024 +16-4-2019 23:00,265162.336,123430.91200000001,123430.91200000001 +17-4-2019 00:00,291808.384,135834.416,135834.416 +17-4-2019 01:00,289445.472,134734.51200000002,134734.51200000002 +17-4-2019 02:00,293800.576,136761.776,136761.776 +17-4-2019 03:00,288854.336,134459.312,134459.312 +17-4-2019 04:00,389845.47200000007,181469.888,181469.888 +17-4-2019 05:00,491064.73600000003,228586.64,228586.64 +17-4-2019 06:00,1560899.968,726586.176,726586.176 +17-4-2019 07:00,1685561.472,784615.1680000001,784615.1680000001 +17-4-2019 08:00,2259762.432,1051901.056,1051901.056 +17-4-2019 09:00,1250934.016,582299.584,582299.584 +17-4-2019 10:00,107034.60800000001,49823.744000000006,49823.744000000006 +17-4-2019 11:00,244746.09600000002,113927.304,113927.304 +17-4-2019 12:00,452774.81600000005,210763.00800000003,210763.00800000003 +17-4-2019 13:00,238347.31200000003,110948.72,110948.72 +17-4-2019 14:00,249507.488,116143.688,116143.688 +17-4-2019 15:00,220309.392,102552.248,102552.248 +17-4-2019 16:00,30133.847999999998,14027.064000000002,14027.064000000002 +17-4-2019 17:00,2088921.7280000001,972376.0640000001,972376.0640000001 +17-4-2019 18:00,1031274.8160000001,480050.04800000007,480050.04800000007 +17-4-2019 19:00,1345381.504,626264.192,626264.192 +17-4-2019 20:00,1462424.8320000002,680746.752,680746.752 +17-4-2019 21:00,727965.568,338862.048,338862.048 +17-4-2019 22:00,215754.688,100432.04000000001,100432.04000000001 +17-4-2019 23:00,222016.496,103346.872,103346.872 +18-4-2019 00:00,213098.27200000003,99195.496,99195.496 +18-4-2019 01:00,213824.608,99533.61600000001,99533.61600000001 +18-4-2019 02:00,225473.07200000004,104955.872,104955.872 +18-4-2019 03:00,235812.208,109768.66399999999,109768.66399999999 +18-4-2019 04:00,241004.51200000002,112185.63200000001,112185.63200000001 +18-4-2019 05:00,262199.504,122051.73600000002,122051.73600000002 +18-4-2019 06:00,1228639.36,571921.6,571921.6 +18-4-2019 07:00,1421015.296,661471.04,661471.04 +18-4-2019 08:00,1074737.536,500281.5360000001,500281.5360000001 +18-4-2019 09:00,675556.2880000001,314465.92000000004,314465.92000000004 +18-4-2019 10:00,40309.56,18763.768,18763.768 +18-4-2019 11:00,42140.664000000004,19616.136,19616.136 +18-4-2019 12:00,78725.032,36645.864,36645.864 +18-4-2019 13:00,24674.272,11485.672,11485.672 +18-4-2019 14:00,26053.104000000003,12127.504,12127.504 +18-4-2019 15:00,15859.496,7382.464,7382.464 +18-4-2019 16:00,17841.935999999998,8305.272,8305.272 +18-4-2019 17:00,48755.208000000006,22695.144,22695.144 +18-4-2019 18:00,91884.41600000001,42771.448000000004,42771.448000000004 +18-4-2019 19:00,162764.336,75765.48000000001,75765.48000000001 +18-4-2019 20:00,280973.632,130790.944,130790.944 +18-4-2019 21:00,238938.08,111223.728,111223.728 +18-4-2019 22:00,27565.216,12831.384,12831.384 +18-4-2019 23:00,15466.256000000001,7199.416000000001,7199.416000000001 +19-4-2019 00:00,12260.272,5707.0560000000005,5707.0560000000005 +19-4-2019 01:00,33710.464,15691.944000000001,15691.944000000001 +19-4-2019 02:00,79624.936,37064.76,37064.76 +19-4-2019 03:00,111433.81599999999,51871.536,51871.536 +19-4-2019 04:00,117216.944,54563.528000000006,54563.528000000006 +19-4-2019 05:00,137963.71200000003,64220.976,64220.976 +19-4-2019 06:00,599274.2400000001,278957.27999999997,278957.27999999997 +19-4-2019 07:00,1008554.176,469473.792,469473.792 +19-4-2019 08:00,884667.392,411805.47200000007,411805.47200000007 +19-4-2019 09:00,682594.368,317742.112,317742.112 +19-4-2019 10:00,40309.56,18763.768,18763.768 +19-4-2019 11:00,41724.864,19422.584,19422.584 +19-4-2019 12:00,77092.152,35885.768000000004,35885.768000000004 +19-4-2019 13:00,23789.248000000003,11073.704,11073.704 +19-4-2019 14:00,21548.608,10030.704,10030.704 +19-4-2019 15:00,15859.496,7382.464,7382.464 +19-4-2019 16:00,17841.935999999998,8305.272,8305.272 +19-4-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +19-4-2019 18:00,52125.232,24263.872000000003,24263.872000000003 +19-4-2019 19:00,55297.96800000001,25740.752,25740.752 +19-4-2019 20:00,60049.36,27952.488,27952.488 +19-4-2019 21:00,66247.384,30837.615999999998,30837.615999999998 +19-4-2019 22:00,27093.312,12611.712,12611.712 +19-4-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +20-4-2019 00:00,5078.064,2363.8,2363.8 +20-4-2019 01:00,4881.048000000001,2272.088,2272.088 +20-4-2019 02:00,7116.024000000001,3312.456,3312.456 +20-4-2019 03:00,29032.544,13514.416000000001,13514.416000000001 +20-4-2019 04:00,68730.864,31993.656000000003,31993.656000000003 +20-4-2019 05:00,119825.768,55777.92,55777.92 +20-4-2019 06:00,438104.064,203933.872,203933.872 +20-4-2019 07:00,759319.8080000001,353457.216,353457.216 +20-4-2019 08:00,756407.7440000001,352101.632,352101.632 +20-4-2019 09:00,386133.696,179742.08000000002,179742.08000000002 +20-4-2019 10:00,48414.488000000005,22536.544,22536.544 +20-4-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +20-4-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +20-4-2019 13:00,23789.248000000003,11073.704,11073.704 +20-4-2019 14:00,20485.184,9535.688,9535.688 +20-4-2019 15:00,15859.496,7382.464,7382.464 +20-4-2019 16:00,17841.935999999998,8305.272,8305.272 +20-4-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +20-4-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +20-4-2019 19:00,52204.17600000001,24300.616,24300.616 +20-4-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +20-4-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +20-4-2019 22:00,27093.312,12611.712,12611.712 +20-4-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +21-4-2019 00:00,4625.688,2153.216,2153.216 +21-4-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +21-4-2019 02:00,1802.5680000000002,839.0799999999999,839.0799999999999 +21-4-2019 03:00,3218.416,1498.1440000000002,1498.1440000000002 +21-4-2019 04:00,21368.48,9946.856,9946.856 +21-4-2019 05:00,57736.888000000006,26876.048,26876.048 +21-4-2019 06:00,293902.304,136809.12,136809.12 +21-4-2019 07:00,484836.19200000004,225687.31200000003,225687.31200000003 +21-4-2019 08:00,382639.84,178115.71200000003,178115.71200000003 +21-4-2019 09:00,294899.584,137273.36000000002,137273.36000000002 +21-4-2019 10:00,48945.616,22783.784,22783.784 +21-4-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +21-4-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +21-4-2019 13:00,23789.248000000003,11073.704,11073.704 +21-4-2019 14:00,20485.184,9535.688,9535.688 +21-4-2019 15:00,15859.496,7382.464,7382.464 +21-4-2019 16:00,17841.935999999998,8305.272,8305.272 +21-4-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +21-4-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +21-4-2019 19:00,52204.17600000001,24300.616,24300.616 +21-4-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +21-4-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +21-4-2019 22:00,27093.312,12611.712,12611.712 +21-4-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +22-4-2019 00:00,4625.688,2153.216,2153.216 +22-4-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +22-4-2019 02:00,2642.384,1230.008,1230.008 +22-4-2019 03:00,7114.296000000001,3311.6480000000006,3311.6480000000006 +22-4-2019 04:00,33347.848,15523.152,15523.152 +22-4-2019 05:00,87668.96,40809.18400000001,40809.18400000001 +22-4-2019 06:00,180206.192,83884.512,83884.512 +22-4-2019 07:00,343369.856,159835.84,159835.84 +22-4-2019 08:00,198860.94400000002,92568.152,92568.152 +22-4-2019 09:00,407553.728,189712.94400000002,189712.94400000002 +22-4-2019 10:00,40309.56,18763.768,18763.768 +22-4-2019 11:00,37621.296,17512.408,17512.408 +22-4-2019 12:00,60071.336,27962.72,27962.72 +22-4-2019 13:00,23789.248000000003,11073.704,11073.704 +22-4-2019 14:00,20485.184,9535.688,9535.688 +22-4-2019 15:00,15859.496,7382.464,7382.464 +22-4-2019 16:00,17841.935999999998,8305.272,8305.272 +22-4-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +22-4-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +22-4-2019 19:00,52474.664000000004,24426.528000000002,24426.528000000002 +22-4-2019 20:00,50208.576,23371.68,23371.68 +22-4-2019 21:00,40451.408,18829.8,18829.8 +22-4-2019 22:00,27093.312,12611.712,12611.712 +22-4-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +23-4-2019 00:00,4625.688,2153.216,2153.216 +23-4-2019 01:00,3522.6720000000005,1639.7759999999998,1639.7759999999998 +23-4-2019 02:00,2480.2560000000003,1154.536,1154.536 +23-4-2019 03:00,3100.8160000000003,1443.4,1443.4 +23-4-2019 04:00,15392.807999999999,7165.224000000001,7165.224000000001 +23-4-2019 05:00,34883.144,16237.816,16237.816 +23-4-2019 06:00,101536.19200000001,47264.272,47264.272 +23-4-2019 07:00,256930.128,119598.88,119598.88 +23-4-2019 08:00,222661.24800000002,103647.0,103647.0 +23-4-2019 09:00,377259.07200000004,175611.024,175611.024 +23-4-2019 10:00,40309.56,18763.768,18763.768 +23-4-2019 11:00,38826.232,18073.296,18073.296 +23-4-2019 12:00,73533.75200000001,34229.368,34229.368 +23-4-2019 13:00,24101.800000000003,11219.192000000001,11219.192000000001 +23-4-2019 14:00,25398.24,11822.672,11822.672 +23-4-2019 15:00,21599.344,10054.32,10054.32 +23-4-2019 16:00,17841.935999999998,8305.272,8305.272 +23-4-2019 17:00,40685.76,18938.888000000003,18938.888000000003 +23-4-2019 18:00,70201.496,32678.224000000002,32678.224000000002 +23-4-2019 19:00,88898.85600000001,41381.696,41381.696 +23-4-2019 20:00,121313.16000000002,56470.280000000006,56470.280000000006 +23-4-2019 21:00,103288.72,48080.056000000004,48080.056000000004 +23-4-2019 22:00,27509.864,12805.616000000002,12805.616000000002 +23-4-2019 23:00,14814.968,6896.248,6896.248 +24-4-2019 00:00,6386.944,2973.072,2973.072 +24-4-2019 01:00,11299.080000000002,5259.6320000000005,5259.6320000000005 +24-4-2019 02:00,16213.184000000001,7547.103999999999,7547.103999999999 +24-4-2019 03:00,27894.088000000003,12984.472000000002,12984.472000000002 +24-4-2019 04:00,34668.432,16137.872000000001,16137.872000000001 +24-4-2019 05:00,43734.016,20357.832000000002,20357.832000000002 +24-4-2019 06:00,135666.912,63151.840000000004,63151.840000000004 +24-4-2019 07:00,278296.48,129544.73600000002,129544.73600000002 +24-4-2019 08:00,230187.984,107150.62400000001,107150.62400000001 +24-4-2019 09:00,263087.376,122465.024,122465.024 +24-4-2019 10:00,40309.56,18763.768,18763.768 +24-4-2019 11:00,36003.344000000005,16759.256,16759.256 +24-4-2019 12:00,47652.112,22181.672000000002,22181.672000000002 +24-4-2019 13:00,23789.248000000003,11073.704,11073.704 +24-4-2019 14:00,20485.184,9535.688,9535.688 +24-4-2019 15:00,15859.496,7382.464,7382.464 +24-4-2019 16:00,17841.935999999998,8305.272,8305.272 +24-4-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +24-4-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +24-4-2019 19:00,52204.17600000001,24300.616,24300.616 +24-4-2019 20:00,47780.944,22241.64,22241.64 +24-4-2019 21:00,40520.304000000004,18861.864,18861.864 +24-4-2019 22:00,27093.312,12611.712,12611.712 +24-4-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +25-4-2019 00:00,4775.624,2223.016,2223.016 +25-4-2019 01:00,4612.8640000000005,2147.248,2147.248 +25-4-2019 02:00,3464.2720000000004,1612.592,1612.592 +25-4-2019 03:00,21431.032000000003,9975.968,9975.968 +25-4-2019 04:00,38053.68,17713.68,17713.68 +25-4-2019 05:00,74236.512,34556.488000000005,34556.488000000005 +25-4-2019 06:00,171934.016,80033.888,80033.888 +25-4-2019 07:00,319348.352,148654.048,148654.048 +25-4-2019 08:00,311252.064,144885.28,144885.28 +25-4-2019 09:00,554717.5040000001,258216.448,258216.448 +25-4-2019 10:00,40309.56,18763.768,18763.768 +25-4-2019 11:00,40638.296,18916.792,18916.792 +25-4-2019 12:00,77160.928,35917.78400000001,35917.78400000001 +25-4-2019 13:00,27055.615999999998,12594.168,12594.168 +25-4-2019 14:00,34942.744,16265.560000000001,16265.560000000001 +25-4-2019 15:00,38510.688,17926.408,17926.408 +25-4-2019 16:00,17841.935999999998,8305.272,8305.272 +25-4-2019 17:00,123277.016,57384.448000000004,57384.448000000004 +25-4-2019 18:00,182277.00800000003,84848.456,84848.456 +25-4-2019 19:00,323038.784,150371.904,150371.904 +25-4-2019 20:00,438352.384,204049.456,204049.456 +25-4-2019 21:00,257541.6,119883.53600000002,119883.53600000002 +25-4-2019 22:00,38955.752,18133.584,18133.584 +25-4-2019 23:00,39899.04000000001,18572.68,18572.68 +26-4-2019 00:00,55705.695999999996,25930.552,25930.552 +26-4-2019 01:00,94443.33600000001,43962.600000000006,43962.600000000006 +26-4-2019 02:00,95568.64000000001,44486.424,44486.424 +26-4-2019 03:00,100535.952,46798.68,46798.68 +26-4-2019 04:00,100859.384,46949.224,46949.224 +26-4-2019 05:00,107914.528,50233.336,50233.336 +26-4-2019 06:00,426610.112,198583.52000000002,198583.52000000002 +26-4-2019 07:00,747992.832,348184.576,348184.576 +26-4-2019 08:00,751982.7200000001,350041.856,350041.856 +26-4-2019 09:00,803566.4,374053.60000000003,374053.60000000003 +26-4-2019 10:00,40309.56,18763.768,18763.768 +26-4-2019 11:00,65749.096,30605.672,30605.672 +26-4-2019 12:00,141521.264,65877.0,65877.0 +26-4-2019 13:00,34171.776000000005,15906.68,15906.68 +26-4-2019 14:00,65640.24,30554.992,30554.992 +26-4-2019 15:00,44440.352000000006,20686.616,20686.616 +26-4-2019 16:00,17841.935999999998,8305.272,8305.272 +26-4-2019 17:00,205064.864,95456.016,95456.016 +26-4-2019 18:00,177236.38400000002,82502.096,82502.096 +26-4-2019 19:00,292362.592,136092.4,136092.4 +26-4-2019 20:00,476433.504,221775.904,221775.904 +26-4-2019 21:00,254521.77599999998,118477.81599999999,118477.81599999999 +26-4-2019 22:00,38197.896,17780.808,17780.808 +26-4-2019 23:00,39385.520000000004,18333.64,18333.64 +27-4-2019 00:00,64377.56800000001,29967.232000000004,29967.232000000004 +27-4-2019 01:00,95010.79200000002,44226.744000000006,44226.744000000006 +27-4-2019 02:00,98278.12800000001,45747.664000000004,45747.664000000004 +27-4-2019 03:00,99057.41600000001,46110.424,46110.424 +27-4-2019 04:00,105519.20000000001,49118.336,49118.336 +27-4-2019 05:00,113877.11200000002,53008.872,53008.872 +27-4-2019 06:00,408350.43200000003,190083.80800000002,190083.80800000002 +27-4-2019 07:00,966407.4880000001,449854.84800000006,449854.84800000006 +27-4-2019 08:00,1246648.96,580304.8960000001,580304.8960000001 +27-4-2019 09:00,1307224.96,608502.656,608502.656 +27-4-2019 10:00,255009.456,118704.82400000001,118704.82400000001 +27-4-2019 11:00,116949.58400000002,54439.08000000001,54439.08000000001 +27-4-2019 12:00,316434.656,147297.744,147297.744 +27-4-2019 13:00,139307.472,64846.496,64846.496 +27-4-2019 14:00,54957.472,25582.256,25582.256 +27-4-2019 15:00,16618.296,7735.68,7735.68 +27-4-2019 16:00,17841.935999999998,8305.272,8305.272 +27-4-2019 17:00,31754.776,14781.592000000002,14781.592000000002 +27-4-2019 18:00,164817.616,76721.25600000001,76721.25600000001 +27-4-2019 19:00,579157.824,269593.248,269593.248 +27-4-2019 20:00,563311.552,262216.912,262216.912 +27-4-2019 21:00,306094.97599999997,142484.72,142484.72 +27-4-2019 22:00,142515.93600000002,66340.008,66340.008 +27-4-2019 23:00,148428.752,69092.376,69092.376 +28-4-2019 00:00,150446.416,70031.576,70031.576 +28-4-2019 01:00,167264.608,77860.312,77860.312 +28-4-2019 02:00,182183.79200000002,84805.06400000001,84805.06400000001 +28-4-2019 03:00,183709.21600000001,85515.152,85515.152 +28-4-2019 04:00,211896.92799999999,98636.288,98636.288 +28-4-2019 05:00,300071.84,139680.992,139680.992 +28-4-2019 06:00,579273.28,269647.00800000003,269647.00800000003 +28-4-2019 07:00,1332670.208,620347.136,620347.136 +28-4-2019 08:00,2010990.2079999999,936099.52,936099.52 +28-4-2019 09:00,1876946.432,873703.2960000001,873703.2960000001 +28-4-2019 10:00,454573.5360000001,211600.27200000003,211600.27200000003 +28-4-2019 11:00,214353.80800000002,99779.944,99779.944 +28-4-2019 12:00,445056.704,207170.24,207170.24 +28-4-2019 13:00,200422.16000000003,93294.88,93294.88 +28-4-2019 14:00,51374.864,23914.576,23914.576 +28-4-2019 15:00,16400.192000000003,7634.160000000001,7634.160000000001 +28-4-2019 16:00,18881.992000000002,8789.408000000001,8789.408000000001 +28-4-2019 17:00,34602.984000000004,16107.408,16107.408 +28-4-2019 18:00,175615.904,81747.77600000001,81747.77600000001 +28-4-2019 19:00,666006.656,310020.64,310020.64 +28-4-2019 20:00,813211.008,378543.10400000005,378543.10400000005 +28-4-2019 21:00,367626.27200000006,171127.024,171127.024 +28-4-2019 22:00,183962.288,85632.944,85632.944 +28-4-2019 23:00,208661.00800000003,97130.008,97130.008 +29-4-2019 00:00,220508.88,102645.096,102645.096 +29-4-2019 01:00,258720.72000000003,120432.40000000001,120432.40000000001 +29-4-2019 02:00,267296.528,124424.35200000001,124424.35200000001 +29-4-2019 03:00,389365.88800000004,181246.64,181246.64 +29-4-2019 04:00,453904.54400000005,211288.848,211288.848 +29-4-2019 05:00,475893.40800000005,221524.47999999998,221524.47999999998 +29-4-2019 06:00,974214.144,453488.73600000003,453488.73600000003 +29-4-2019 07:00,1516513.408,705924.608,705924.608 +29-4-2019 08:00,1641045.504,763893.312,763893.312 +29-4-2019 09:00,1039570.0480000001,483911.392,483911.392 +29-4-2019 10:00,65561.75200000001,30518.456000000002,30518.456000000002 +29-4-2019 11:00,77940.912,36280.864,36280.864 +29-4-2019 12:00,194083.36000000002,90344.208,90344.208 +29-4-2019 13:00,106178.44,49425.200000000004,49425.200000000004 +29-4-2019 14:00,112848.56000000001,52530.08000000001,52530.08000000001 +29-4-2019 15:00,71872.544,33456.088,33456.088 +29-4-2019 16:00,17841.935999999998,8305.272,8305.272 +29-4-2019 17:00,837948.608,390058.24,390058.24 +29-4-2019 18:00,239494.208,111482.60800000001,111482.60800000001 +29-4-2019 19:00,780328.064,363236.352,363236.352 +29-4-2019 20:00,984292.352,458180.064,458180.064 +29-4-2019 21:00,565094.976,263047.12000000005,263047.12000000005 +29-4-2019 22:00,141906.368,66056.26400000001,66056.26400000001 +29-4-2019 23:00,140291.23200000002,65304.432,65304.432 +30-4-2019 00:00,140715.71200000003,65502.008,65502.008 +30-4-2019 01:00,171147.568,79667.8,79667.8 +30-4-2019 02:00,182041.776,84738.96,84738.96 +30-4-2019 03:00,201060.784,93592.16,93592.16 +30-4-2019 04:00,211259.152,98339.41600000001,98339.41600000001 +30-4-2019 05:00,215601.61600000004,100360.79200000002,100360.79200000002 +30-4-2019 06:00,635987.52,296047.00800000003,296047.00800000003 +30-4-2019 07:00,1285375.36,598331.712,598331.712 +30-4-2019 08:00,1141562.368,531388.0,531388.0 +30-4-2019 09:00,1070825.7920000001,498460.704,498460.704 +30-4-2019 10:00,92498.82400000001,43057.448000000004,43057.448000000004 +30-4-2019 11:00,171056.752,79625.52,79625.52 +30-4-2019 12:00,383602.43200000003,178563.80800000002,178563.80800000002 +30-4-2019 13:00,204277.728,95089.61600000001,95089.61600000001 +30-4-2019 14:00,174961.616,81443.208,81443.208 +30-4-2019 15:00,160749.36000000002,74827.528,74827.528 +30-4-2019 16:00,25236.456000000002,11747.368,11747.368 +30-4-2019 17:00,1296087.936,603318.336,603318.336 +30-4-2019 18:00,322140.22400000005,149953.64800000002,149953.64800000002 +30-4-2019 19:00,1030810.944,479834.1440000001,479834.1440000001 +30-4-2019 20:00,1287868.4160000002,599492.2880000001,599492.2880000001 +30-4-2019 21:00,687598.0800000001,320071.29600000003,320071.29600000003 +30-4-2019 22:00,176635.71200000003,82222.48000000001,82222.48000000001 +30-4-2019 23:00,203710.544,94825.6,94825.6 +1-5-2019 00:00,247102.0,115023.96000000002,115023.96000000002 +1-5-2019 01:00,283849.152,132129.456,132129.456 +1-5-2019 02:00,293052.896,136413.744,136413.744 +1-5-2019 03:00,287724.896,133933.592,133933.592 +1-5-2019 04:00,368279.136,171430.928,171430.928 +1-5-2019 05:00,405939.42400000006,188961.488,188961.488 +1-5-2019 06:00,907578.8800000001,422470.592,422470.592 +1-5-2019 07:00,1457458.688,678435.136,678435.136 +1-5-2019 08:00,1593538.176,741779.072,741779.072 +1-5-2019 09:00,1158119.04,539094.976,539094.976 +1-5-2019 10:00,98883.288,46029.368,46029.368 +1-5-2019 11:00,216048.27200000003,100568.70400000001,100568.70400000001 +1-5-2019 12:00,247325.92000000004,115128.224,115128.224 +1-5-2019 13:00,52295.04000000001,24342.912,24342.912 +1-5-2019 14:00,129915.272,60474.50400000001,60474.50400000001 +1-5-2019 15:00,103075.248,47980.688,47980.688 +1-5-2019 16:00,26984.847999999998,12561.224000000002,12561.224000000002 +1-5-2019 17:00,1267419.776,589973.6320000001,589973.6320000001 +1-5-2019 18:00,330396.128,153796.704,153796.704 +1-5-2019 19:00,1051821.376,489614.272,489614.272 +1-5-2019 20:00,1392106.752,648014.4,648014.4 +1-5-2019 21:00,785414.3360000001,365603.96800000005,365603.96800000005 +1-5-2019 22:00,233917.12000000002,108886.488,108886.488 +1-5-2019 23:00,269632.992,125511.952,125511.952 +2-5-2019 00:00,304841.792,141901.36000000002,141901.36000000002 +2-5-2019 01:00,316522.944,147338.848,147338.848 +2-5-2019 02:00,326107.58400000003,151800.416,151800.416 +2-5-2019 03:00,438476.48,204107.23200000002,204107.23200000002 +2-5-2019 04:00,534782.0160000001,248936.67200000002,248936.67200000002 +2-5-2019 05:00,564810.1120000001,262914.496,262914.496 +2-5-2019 06:00,1096682.496,510496.73600000003,510496.73600000003 +2-5-2019 07:00,1561781.504,726996.5440000001,726996.5440000001 +2-5-2019 08:00,1888506.24,879084.2880000002,879084.2880000002 +2-5-2019 09:00,1157362.56,538742.8480000001,538742.8480000001 +2-5-2019 10:00,105069.75200000001,48909.12,48909.12 +2-5-2019 11:00,234370.576,109097.592,109097.592 +2-5-2019 12:00,466561.34400000004,217180.51200000002,217180.51200000002 +2-5-2019 13:00,288435.232,134264.24,134264.24 +2-5-2019 14:00,249371.02400000003,116080.16000000002,116080.16000000002 +2-5-2019 15:00,205372.576,95599.25600000001,95599.25600000001 +2-5-2019 16:00,28404.136,13221.896,13221.896 +2-5-2019 17:00,1874196.0960000001,872423.04,872423.04 +2-5-2019 18:00,365988.288,170364.576,170364.576 +2-5-2019 19:00,1276673.536,594281.152,594281.152 +2-5-2019 20:00,1511890.816,703772.8640000001,703772.8640000001 +2-5-2019 21:00,805337.856,374878.20800000004,374878.20800000004 +2-5-2019 22:00,237978.86400000003,110777.224,110777.224 +2-5-2019 23:00,259403.936,120750.40000000001,120750.40000000001 +3-5-2019 00:00,265289.232,123489.97600000001,123489.97600000001 +3-5-2019 01:00,264053.44,122914.73600000002,122914.73600000002 +3-5-2019 02:00,270197.248,125774.62400000001,125774.62400000001 +3-5-2019 03:00,282273.568,131396.048,131396.048 +3-5-2019 04:00,391296.832,182145.472,182145.472 +3-5-2019 05:00,463444.03200000006,215729.42400000003,215729.42400000003 +3-5-2019 06:00,1035376.576,481959.32800000004,481959.32800000004 +3-5-2019 07:00,1543460.992,718468.5440000001,718468.5440000001 +3-5-2019 08:00,1873665.4079999998,872176.0640000001,872176.0640000001 +3-5-2019 09:00,1238967.424,576729.28,576729.28 +3-5-2019 10:00,157343.80800000002,73242.26400000001,73242.26400000001 +3-5-2019 11:00,319236.0,148601.744,148601.744 +3-5-2019 12:00,594826.6240000001,276886.944,276886.944 +3-5-2019 13:00,374589.184,174368.208,174368.208 +3-5-2019 14:00,331339.328,154235.76,154235.76 +3-5-2019 15:00,315953.696,147073.872,147073.872 +3-5-2019 16:00,88087.088,41003.832,41003.832 +3-5-2019 17:00,2367186.432,1101906.0480000002,1101906.0480000002 +3-5-2019 18:00,706229.696,328744.128,328744.128 +3-5-2019 19:00,1653506.688,769693.824,769693.824 +3-5-2019 20:00,1839682.432,856357.12,856357.12 +3-5-2019 21:00,1008758.5920000001,469568.896,469568.896 +3-5-2019 22:00,331561.40800000005,154339.13600000003,154339.13600000003 +3-5-2019 23:00,319277.60000000003,148621.12,148621.12 +4-5-2019 00:00,322221.28,149991.37600000002,149991.37600000002 +4-5-2019 01:00,323473.05600000004,150574.06399999998,150574.06399999998 +4-5-2019 02:00,329589.504,153421.23200000002,153421.23200000002 +4-5-2019 03:00,487585.34400000004,226967.02400000003,226967.02400000003 +4-5-2019 04:00,580578.1120000001,270254.4,270254.4 +4-5-2019 05:00,636448.832,296261.728,296261.728 +4-5-2019 06:00,625898.368,291350.592,291350.592 +4-5-2019 07:00,1569430.784,730557.2480000001,730557.2480000001 +4-5-2019 08:00,2599804.416,1210187.9039999999,1210187.9039999999 +4-5-2019 09:00,2146114.432,998998.6560000001,998998.6560000001 +4-5-2019 10:00,592083.904,275610.176,275610.176 +4-5-2019 11:00,282401.472,131455.568,131455.568 +4-5-2019 12:00,686060.224,319355.456,319355.456 +4-5-2019 13:00,653580.2880000001,304236.288,304236.288 +4-5-2019 14:00,350075.552,162957.31200000003,162957.31200000003 +4-5-2019 15:00,15859.496,7382.464,7382.464 +4-5-2019 16:00,100797.744,46920.520000000004,46920.520000000004 +4-5-2019 17:00,30020.384000000005,13974.248000000001,13974.248000000001 +4-5-2019 18:00,286147.52,133199.328,133199.328 +4-5-2019 19:00,1342120.704,624746.304,624746.304 +4-5-2019 20:00,1330463.4880000001,619319.872,619319.872 +4-5-2019 21:00,591124.736,275163.808,275163.808 +4-5-2019 22:00,324162.20800000004,150894.88,150894.88 +4-5-2019 23:00,328336.128,152837.792,152837.792 +5-5-2019 00:00,333600.44800000003,155288.288,155288.288 +5-5-2019 01:00,345748.16000000003,160942.96000000002,160942.96000000002 +5-5-2019 02:00,533425.92,248305.44,248305.44 +5-5-2019 03:00,555954.0480000001,258792.11200000002,258792.11200000002 +5-5-2019 04:00,653898.56,304384.48,304384.48 +5-5-2019 05:00,675585.856,314479.68,314479.68 +5-5-2019 06:00,828426.9440000001,385626.01600000006,385626.01600000006 +5-5-2019 07:00,1718921.856,800144.128,800144.128 +5-5-2019 08:00,3230857.984,1503938.0480000002,1503938.0480000002 +5-5-2019 09:00,2400542.9760000003,1117433.0880000002,1117433.0880000002 +5-5-2019 10:00,957009.792,445480.22400000005,445480.22400000005 +5-5-2019 11:00,728543.04,339130.848,339130.848 +5-5-2019 12:00,1075817.0880000002,500784.096,500784.096 +5-5-2019 13:00,229142.976,106664.18400000001,106664.18400000001 +5-5-2019 14:00,425037.63200000004,197851.568,197851.568 +5-5-2019 15:00,297037.248,138268.416,138268.416 +5-5-2019 16:00,246590.80000000002,114786.00800000002,114786.00800000002 +5-5-2019 17:00,384588.576,179022.848,179022.848 +5-5-2019 18:00,449734.368,209347.68000000002,209347.68000000002 +5-5-2019 19:00,1774236.672,825892.8,825892.8 +5-5-2019 20:00,1515333.76,705375.552,705375.552 +5-5-2019 21:00,673589.952,313550.624,313550.624 +5-5-2019 22:00,376602.43200000003,175305.37600000002,175305.37600000002 +5-5-2019 23:00,377140.32000000007,175555.744,175555.744 +6-5-2019 00:00,371800.86400000006,173070.25600000002,173070.25600000002 +6-5-2019 01:00,551213.056,256585.2,256585.2 +6-5-2019 02:00,689560.576,320984.80000000005,320984.80000000005 +6-5-2019 03:00,807408.832,375842.24,375842.24 +6-5-2019 04:00,881333.12,410253.31200000003,410253.31200000003 +6-5-2019 05:00,907331.0720000002,422355.2320000001,422355.2320000001 +6-5-2019 06:00,1491073.92,694082.752,694082.752 +6-5-2019 07:00,1764190.9760000003,821216.576,821216.576 +6-5-2019 08:00,2850215.68,1326752.0,1326752.0 +6-5-2019 09:00,1753880.32,816416.8960000001,816416.8960000001 +6-5-2019 10:00,340050.62400000007,158290.80000000002,158290.80000000002 +6-5-2019 11:00,550637.376,256317.184,256317.184 +6-5-2019 12:00,883320.128,411178.336,411178.336 +6-5-2019 13:00,614245.056,285926.048,285926.048 +6-5-2019 14:00,394088.22400000005,183444.864,183444.864 +6-5-2019 15:00,432004.0,201094.352,201094.352 +6-5-2019 16:00,151251.616,70406.40000000001,70406.40000000001 +6-5-2019 17:00,2911992.0640000002,1355508.608,1355508.608 +6-5-2019 18:00,886688.6400000001,412746.304,412746.304 +6-5-2019 19:00,1851099.2640000002,861671.6800000002,861671.6800000002 +6-5-2019 20:00,2033544.1920000003,946598.144,946598.144 +6-5-2019 21:00,1183468.0320000001,550894.656,550894.656 +6-5-2019 22:00,388457.824,180823.968,180823.968 +6-5-2019 23:00,373660.576,173935.93600000002,173935.93600000002 +7-5-2019 00:00,369130.784,171827.37600000002,171827.37600000002 +7-5-2019 01:00,389071.96800000005,181109.82400000002,181109.82400000002 +7-5-2019 02:00,515741.952,240073.66400000002,240073.66400000002 +7-5-2019 03:00,674589.6320000001,314015.96800000005,314015.96800000005 +7-5-2019 04:00,805590.912,374996.032,374996.032 +7-5-2019 05:00,851529.216,396379.936,396379.936 +7-5-2019 06:00,1528533.3760000002,711519.7440000001,711519.7440000001 +7-5-2019 07:00,1787123.968,831891.712,831891.712 +7-5-2019 08:00,2840288.768,1322131.328,1322131.328 +7-5-2019 09:00,1680470.5280000002,782245.376,782245.376 +7-5-2019 10:00,327727.936,152554.688,152554.688 +7-5-2019 11:00,508152.576,236540.896,236540.896 +7-5-2019 12:00,851331.4560000001,396287.87200000003,396287.87200000003 +7-5-2019 13:00,546453.9519999999,254369.87200000003,254369.87200000003 +7-5-2019 14:00,452027.74400000006,210415.232,210415.232 +7-5-2019 15:00,372267.264,173287.36000000002,173287.36000000002 +7-5-2019 16:00,96425.40000000001,44885.240000000005,44885.240000000005 +7-5-2019 17:00,2687999.488,1251241.8560000001,1251241.8560000001 +7-5-2019 18:00,585004.48,272314.784,272314.784 +7-5-2019 19:00,1651689.472,768847.9360000001,768847.9360000001 +7-5-2019 20:00,1935234.5600000003,900835.8400000001,900835.8400000001 +7-5-2019 21:00,1146747.2640000002,533801.472,533801.472 +7-5-2019 22:00,360215.71200000006,167677.472,167677.472 +7-5-2019 23:00,344177.504,160211.82400000002,160211.82400000002 +8-5-2019 00:00,319449.44,148701.12,148701.12 +8-5-2019 01:00,315788.544,146996.992,146996.992 +8-5-2019 02:00,318231.96800000005,148134.4,148134.4 +8-5-2019 03:00,453570.65599999996,211133.42400000003,211133.42400000003 +8-5-2019 04:00,530912.8960000001,247135.61600000004,247135.61600000004 +8-5-2019 05:00,587306.816,273386.56,273386.56 +8-5-2019 06:00,1248690.432,581255.2320000001,581255.2320000001 +8-5-2019 07:00,1672044.928,778323.264,778323.264 +8-5-2019 08:00,2398646.5280000004,1116550.4000000001,1116550.4000000001 +8-5-2019 09:00,1385575.5520000001,644974.1440000001,644974.1440000001 +8-5-2019 10:00,255143.44,118767.176,118767.176 +8-5-2019 11:00,459157.63200000004,213734.11200000002,213734.11200000002 +8-5-2019 12:00,766382.4,356744.76800000004,356744.76800000004 +8-5-2019 13:00,557563.8400000001,259541.42400000003,259541.42400000003 +8-5-2019 14:00,458560.35199999996,213456.09600000002,213456.09600000002 +8-5-2019 15:00,343293.152,159800.144,159800.144 +8-5-2019 16:00,95189.376,44309.880000000005,44309.880000000005 +8-5-2019 17:00,2619658.4960000003,1219429.632,1219429.632 +8-5-2019 18:00,518526.62400000007,241369.95200000002,241369.95200000002 +8-5-2019 19:00,1525074.9440000001,709909.888,709909.888 +8-5-2019 20:00,1886616.0640000002,878204.2880000002,878204.2880000002 +8-5-2019 21:00,939788.8,437464.0,437464.0 +8-5-2019 22:00,287638.432,133893.36000000002,133893.36000000002 +8-5-2019 23:00,282669.376,131580.296,131580.296 +9-5-2019 00:00,279555.52,130130.80800000002,130130.80800000002 +9-5-2019 01:00,290720.64,135328.096,135328.096 +9-5-2019 02:00,292125.696,135982.128,135982.128 +9-5-2019 03:00,323323.936,150504.63999999998,150504.63999999998 +9-5-2019 04:00,480716.16,223769.456,223769.456 +9-5-2019 05:00,517902.9440000001,241079.584,241079.584 +9-5-2019 06:00,996453.3119999999,463840.9280000001,463840.9280000001 +9-5-2019 07:00,1438378.752,669553.5360000001,669553.5360000001 +9-5-2019 08:00,1477606.144,687813.6320000001,687813.6320000001 +9-5-2019 09:00,993689.4720000001,462554.4,462554.4 +9-5-2019 10:00,43387.008,20196.296000000002,20196.296000000002 +9-5-2019 11:00,155146.96000000002,72219.632,72219.632 +9-5-2019 12:00,279337.696,130029.40800000001,130029.40800000001 +9-5-2019 13:00,189327.00800000003,88130.176,88130.176 +9-5-2019 14:00,130648.62400000001,60815.864,60815.864 +9-5-2019 15:00,80942.312,37677.992,37677.992 +9-5-2019 16:00,17935.512,8348.832,8348.832 +9-5-2019 17:00,1257372.928,585296.832,585296.832 +9-5-2019 18:00,214707.488,99944.584,99944.584 +9-5-2019 19:00,924107.392,430164.4480000001,430164.4480000001 +9-5-2019 20:00,1245191.936,579626.6240000001,579626.6240000001 +9-5-2019 21:00,729733.376,339684.928,339684.928 +9-5-2019 22:00,172931.44,80498.168,80498.168 +9-5-2019 23:00,195227.568,90876.848,90876.848 +10-5-2019 00:00,224239.79200000002,104381.784,104381.784 +10-5-2019 01:00,257406.27200000003,119820.52,119820.52 +10-5-2019 02:00,259814.65600000002,120941.592,120941.592 +10-5-2019 03:00,265827.52,123740.528,123740.528 +10-5-2019 04:00,296389.02400000003,137966.688,137966.688 +10-5-2019 05:00,400276.25600000005,186325.344,186325.344 +10-5-2019 06:00,963989.0560000001,448728.992,448728.992 +10-5-2019 07:00,1510500.4800000002,703125.6320000001,703125.6320000001 +10-5-2019 08:00,1702860.9280000003,792667.7760000001,792667.7760000001 +10-5-2019 09:00,1230068.992,572587.072,572587.072 +10-5-2019 10:00,170773.85600000003,79493.832,79493.832 +10-5-2019 11:00,297606.24,138533.264,138533.264 +10-5-2019 12:00,522128.576,243046.576,243046.576 +10-5-2019 13:00,279985.76,130331.08799999999,130331.08799999999 +10-5-2019 14:00,261381.95200000002,121671.176,121671.176 +10-5-2019 15:00,202899.664,94448.136,94448.136 +10-5-2019 16:00,19470.079999999998,9063.160000000002,9063.160000000002 +10-5-2019 17:00,1927144.5760000004,897070.0160000001,897070.0160000001 +10-5-2019 18:00,59590.184,27738.744000000002,27738.744000000002 +10-5-2019 19:00,868613.184,404332.32000000007,404332.32000000007 +10-5-2019 20:00,1479665.2800000003,688772.096,688772.096 +10-5-2019 21:00,874869.952,407244.86400000006,407244.86400000006 +10-5-2019 22:00,266264.496,123943.968,123943.968 +10-5-2019 23:00,286435.456,133333.36000000002,133333.36000000002 +11-5-2019 00:00,295165.05600000004,137396.944,137396.944 +11-5-2019 01:00,302190.97599999997,140667.424,140667.424 +11-5-2019 02:00,315630.944,146923.64800000002,146923.64800000002 +11-5-2019 03:00,366535.488,170619.28000000003,170619.28000000003 +11-5-2019 04:00,505681.60000000003,235390.65600000002,235390.65600000002 +11-5-2019 05:00,527864.736,245716.752,245716.752 +11-5-2019 06:00,720498.1120000001,335385.984,335385.984 +11-5-2019 07:00,1718363.648,799884.224,799884.224 +11-5-2019 08:00,3223799.296,1500652.2880000002,1500652.2880000002 +11-5-2019 09:00,2508324.608,1167604.608,1167604.608 +11-5-2019 10:00,591572.608,275372.256,275372.256 +11-5-2019 11:00,316447.90400000004,147303.92,147303.92 +11-5-2019 12:00,399501.05600000004,185964.464,185964.464 +11-5-2019 13:00,24893.632,11587.784,11587.784 +11-5-2019 14:00,20485.184,9535.688,9535.688 +11-5-2019 15:00,15859.496,7382.464,7382.464 +11-5-2019 16:00,17841.935999999998,8305.272,8305.272 +11-5-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +11-5-2019 18:00,51554.528000000006,23998.216,23998.216 +11-5-2019 19:00,222930.448,103772.312,103772.312 +11-5-2019 20:00,568482.88,264624.14400000003,264624.14400000003 +11-5-2019 21:00,351191.328,163476.70400000003,163476.70400000003 +11-5-2019 22:00,176894.064,82342.744,82342.744 +11-5-2019 23:00,238914.16000000003,111212.6,111212.6 +12-5-2019 00:00,260923.088,121457.568,121457.568 +12-5-2019 01:00,292844.576,136316.768,136316.768 +12-5-2019 02:00,309256.352,143956.304,143956.304 +12-5-2019 03:00,456428.16,212463.56800000003,212463.56800000003 +12-5-2019 04:00,522561.28,243248.01600000003,243248.01600000003 +12-5-2019 05:00,483442.272,225038.432,225038.432 +12-5-2019 06:00,587178.2400000001,273326.656,273326.656 +12-5-2019 07:00,1422529.92,662176.064,662176.064 +12-5-2019 08:00,2252953.344,1048731.2640000002,1048731.2640000002 +12-5-2019 09:00,1612702.976,750700.096,750700.096 +12-5-2019 10:00,540743.104,251711.52000000002,251711.52000000002 +12-5-2019 11:00,327478.656,152438.63999999998,152438.63999999998 +12-5-2019 12:00,474832.384,221030.592,221030.592 +12-5-2019 13:00,101692.832,47337.18400000001,47337.18400000001 +12-5-2019 14:00,21523.136,10018.848,10018.848 +12-5-2019 15:00,15859.496,7382.464,7382.464 +12-5-2019 16:00,17841.935999999998,8305.272,8305.272 +12-5-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +12-5-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +12-5-2019 19:00,62109.776000000005,28911.592,28911.592 +12-5-2019 20:00,258667.64800000002,120407.688,120407.688 +12-5-2019 21:00,180419.264,83983.696,83983.696 +12-5-2019 22:00,112325.016,52286.376000000004,52286.376000000004 +12-5-2019 23:00,172262.38400000002,80186.728,80186.728 +13-5-2019 00:00,274105.472,127593.85600000001,127593.85600000001 +13-5-2019 01:00,317785.31200000003,147926.48,147926.48 +13-5-2019 02:00,447283.392,208206.816,208206.816 +13-5-2019 03:00,561771.648,261500.09600000002,261500.09600000002 +13-5-2019 04:00,648622.3360000001,301928.416,301928.416 +13-5-2019 05:00,667872.064,310889.02400000003,310889.02400000003 +13-5-2019 06:00,1018666.304,474180.864,474180.864 +13-5-2019 07:00,1466912.0,682835.584,682835.584 +13-5-2019 08:00,1527288.8320000002,710940.5440000001,710940.5440000001 +13-5-2019 09:00,736303.4240000001,342743.232,342743.232 +13-5-2019 10:00,40309.56,18763.768,18763.768 +13-5-2019 11:00,47946.288,22318.608,22318.608 +13-5-2019 12:00,123255.592,57374.472,57374.472 +13-5-2019 13:00,64322.872,29941.776,29941.776 +13-5-2019 14:00,106094.968,49386.344000000005,49386.344000000005 +13-5-2019 15:00,45110.216,20998.432,20998.432 +13-5-2019 16:00,17841.935999999998,8305.272,8305.272 +13-5-2019 17:00,439283.872,204483.056,204483.056 +13-5-2019 18:00,87609.576,40781.552,40781.552 +13-5-2019 19:00,609985.984,283943.488,283943.488 +13-5-2019 20:00,929369.536,432613.952,432613.952 +13-5-2019 21:00,531868.064,247580.22400000005,247580.22400000005 +13-5-2019 22:00,82468.90400000001,38388.6,38388.6 +13-5-2019 23:00,153100.448,71267.016,71267.016 +14-5-2019 00:00,200323.36000000002,93248.88,93248.88 +14-5-2019 01:00,249124.22400000005,115965.296,115965.296 +14-5-2019 02:00,284584.48,132471.744,132471.744 +14-5-2019 03:00,363035.36000000004,168989.98400000003,168989.98400000003 +14-5-2019 04:00,530627.8400000001,247002.92799999999,247002.92799999999 +14-5-2019 05:00,545627.904,253985.28,253985.28 +14-5-2019 06:00,1058941.824,492928.768,492928.768 +14-5-2019 07:00,1580664.0640000002,735786.176,735786.176 +14-5-2019 08:00,2001157.6320000002,931522.56,931522.56 +14-5-2019 09:00,1055712.5760000001,491425.60000000003,491425.60000000003 +14-5-2019 10:00,40309.56,18763.768,18763.768 +14-5-2019 11:00,52614.704000000005,24491.72,24491.72 +14-5-2019 12:00,108206.944,50369.448000000004,50369.448000000004 +14-5-2019 13:00,45792.632000000005,21316.096,21316.096 +14-5-2019 14:00,96746.40000000001,45034.664000000004,45034.664000000004 +14-5-2019 15:00,46880.8,21822.632,21822.632 +14-5-2019 16:00,19316.544,8991.688,8991.688 +14-5-2019 17:00,823895.68,383516.73600000003,383516.73600000003 +14-5-2019 18:00,73471.848,34200.56,34200.56 +14-5-2019 19:00,670119.7440000001,311935.264,311935.264 +14-5-2019 20:00,945029.568,439903.55199999997,439903.55199999997 +14-5-2019 21:00,541879.36,252240.40000000002,252240.40000000002 +14-5-2019 22:00,113416.80800000002,52794.608,52794.608 +14-5-2019 23:00,156386.52800000002,72796.664,72796.664 +15-5-2019 00:00,195275.344,90899.088,90899.088 +15-5-2019 01:00,240731.744,112058.65600000002,112058.65600000002 +15-5-2019 02:00,299542.27200000006,139434.496,139434.496 +15-5-2019 03:00,310856.22400000005,144701.04,144701.04 +15-5-2019 04:00,478021.824,222515.26400000002,222515.26400000002 +15-5-2019 05:00,434103.168,202071.488,202071.488 +15-5-2019 06:00,796786.304,370897.47200000007,370897.47200000007 +15-5-2019 07:00,1271992.448,592102.1440000001,592102.1440000001 +15-5-2019 08:00,872562.176,406170.62400000007,406170.62400000007 +15-5-2019 09:00,588299.456,273848.608,273848.608 +15-5-2019 10:00,40309.56,18763.768,18763.768 +15-5-2019 11:00,47116.17600000001,21932.192000000003,21932.192000000003 +15-5-2019 12:00,95139.12,44286.488000000005,44286.488000000005 +15-5-2019 13:00,29234.448,13608.392000000002,13608.392000000002 +15-5-2019 14:00,38395.184,17872.64,17872.64 +15-5-2019 15:00,23460.456000000002,10920.648000000001,10920.648000000001 +15-5-2019 16:00,17841.935999999998,8305.272,8305.272 +15-5-2019 17:00,248924.976,115872.544,115872.544 +15-5-2019 18:00,105185.23200000002,48962.872,48962.872 +15-5-2019 19:00,439903.13600000006,204771.31200000003,204771.31200000003 +15-5-2019 20:00,764147.2000000001,355704.288,355704.288 +15-5-2019 21:00,391351.10400000005,182170.752,182170.752 +15-5-2019 22:00,36124.64000000001,16815.72,16815.72 +15-5-2019 23:00,51451.48,23950.24,23950.24 +16-5-2019 00:00,126432.728,58853.416000000005,58853.416000000005 +16-5-2019 01:00,151399.632,70475.296,70475.296 +16-5-2019 02:00,197073.53600000002,91736.11200000001,91736.11200000001 +16-5-2019 03:00,252908.11200000002,117726.672,117726.672 +16-5-2019 04:00,321201.60000000003,149516.752,149516.752 +16-5-2019 05:00,398365.216,185435.76,185435.76 +16-5-2019 06:00,758337.6000000001,352999.96800000005,352999.96800000005 +16-5-2019 07:00,1371057.664,638216.192,638216.192 +16-5-2019 08:00,1464624.7680000002,681770.88,681770.88 +16-5-2019 09:00,1120649.728,521653.31200000003,521653.31200000003 +16-5-2019 10:00,70396.96,32769.208000000006,32769.208000000006 +16-5-2019 11:00,66830.96,31109.264000000003,31109.264000000003 +16-5-2019 12:00,202302.144,94169.99200000001,94169.99200000001 +16-5-2019 13:00,48525.112,22588.04,22588.04 +16-5-2019 14:00,95843.008,44614.144,44614.144 +16-5-2019 15:00,53274.032,24798.624,24798.624 +16-5-2019 16:00,17841.935999999998,8305.272,8305.272 +16-5-2019 17:00,719446.0800000001,334896.25600000005,334896.25600000005 +16-5-2019 18:00,138008.864,64242.0,64242.0 +16-5-2019 19:00,612997.4400000001,285345.344,285345.344 +16-5-2019 20:00,908651.008,422969.63200000004,422969.63200000004 +16-5-2019 21:00,507534.752,236253.296,236253.296 +16-5-2019 22:00,87305.344,40639.92800000001,40639.92800000001 +16-5-2019 23:00,127350.32,59280.536,59280.536 +17-5-2019 00:00,135013.36000000002,62847.624,62847.624 +17-5-2019 01:00,152132.912,70816.624,70816.624 +17-5-2019 02:00,177706.52800000002,82720.944,82720.944 +17-5-2019 03:00,208117.84,96877.16,96877.16 +17-5-2019 04:00,228931.984,106565.968,106565.968 +17-5-2019 05:00,217491.26400000002,101240.40000000001,101240.40000000001 +17-5-2019 06:00,652196.672,303592.22400000005,303592.22400000005 +17-5-2019 07:00,1299729.152,605013.312,605013.312 +17-5-2019 08:00,1141893.632,531542.176,531542.176 +17-5-2019 09:00,1021669.6960000001,475578.9440000001,475578.9440000001 +17-5-2019 10:00,80027.496,37252.152,37252.152 +17-5-2019 11:00,156787.472,72983.28000000001,72983.28000000001 +17-5-2019 12:00,239178.27200000003,111335.53600000002,111335.53600000002 +17-5-2019 13:00,146996.88,68425.848,68425.848 +17-5-2019 14:00,154213.392,71785.08,71785.08 +17-5-2019 15:00,114777.88,53428.168000000005,53428.168000000005 +17-5-2019 16:00,19645.176000000003,9144.672,9144.672 +17-5-2019 17:00,1233138.816,574016.128,574016.128 +17-5-2019 18:00,211987.77599999998,98678.576,98678.576 +17-5-2019 19:00,870145.0880000001,405045.47200000007,405045.47200000007 +17-5-2019 20:00,1176952.5760000001,547861.76,547861.76 +17-5-2019 21:00,631605.888,294007.42400000006,294007.42400000006 +17-5-2019 22:00,146350.496,68124.96,68124.96 +17-5-2019 23:00,146354.752,68126.944,68126.944 +18-5-2019 00:00,174375.568,81170.40000000001,81170.40000000001 +18-5-2019 01:00,192215.68000000002,89474.82400000001,89474.82400000001 +18-5-2019 02:00,222188.67200000002,103427.0,103427.0 +18-5-2019 03:00,220798.09600000002,102779.696,102779.696 +18-5-2019 04:00,218222.432,101580.76800000001,101580.76800000001 +18-5-2019 05:00,206035.056,95907.632,95907.632 +18-5-2019 06:00,558293.056,259880.88,259880.88 +18-5-2019 07:00,1209695.104,563103.2320000001,563103.2320000001 +18-5-2019 08:00,1474520.8320000002,686377.4720000001,686377.4720000001 +18-5-2019 09:00,1076240.128,500980.95999999996,500980.95999999996 +18-5-2019 10:00,202228.32,94135.64000000001,94135.64000000001 +18-5-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +18-5-2019 12:00,36213.008,16856.864,16856.864 +18-5-2019 13:00,23789.248000000003,11073.704,11073.704 +18-5-2019 14:00,20485.184,9535.688,9535.688 +18-5-2019 15:00,15859.496,7382.464,7382.464 +18-5-2019 16:00,17841.935999999998,8305.272,8305.272 +18-5-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +18-5-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +18-5-2019 19:00,52204.17600000001,24300.616,24300.616 +18-5-2019 20:00,54613.46400000001,25422.128,25422.128 +18-5-2019 21:00,39515.416,18394.104000000003,18394.104000000003 +18-5-2019 22:00,27093.312,12611.712,12611.712 +18-5-2019 23:00,14816.448000000002,6896.936000000001,6896.936000000001 +19-5-2019 00:00,7068.12,3290.152,3290.152 +19-5-2019 01:00,21689.544,10096.304,10096.304 +19-5-2019 02:00,39331.848,18308.656,18308.656 +19-5-2019 03:00,92022.104,42835.544,42835.544 +19-5-2019 04:00,106366.36000000002,49512.664000000004,49512.664000000004 +19-5-2019 05:00,94056.664,43782.616,43782.616 +19-5-2019 06:00,316648.44800000003,147397.264,147397.264 +19-5-2019 07:00,816218.1120000001,379942.88,379942.88 +19-5-2019 08:00,1150627.584,535607.776,535607.776 +19-5-2019 09:00,1082419.2,503857.31200000003,503857.31200000003 +19-5-2019 10:00,204161.456,95035.496,95035.496 +19-5-2019 11:00,42056.240000000005,19576.832000000002,19576.832000000002 +19-5-2019 12:00,110261.85600000001,51326.0,51326.0 +19-5-2019 13:00,26525.904,12347.592,12347.592 +19-5-2019 14:00,20485.184,9535.688,9535.688 +19-5-2019 15:00,15859.496,7382.464,7382.464 +19-5-2019 16:00,17841.935999999998,8305.272,8305.272 +19-5-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +19-5-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +19-5-2019 19:00,70136.36,32647.904,32647.904 +19-5-2019 20:00,187555.456,87305.544,87305.544 +19-5-2019 21:00,61531.632,28642.471999999998,28642.471999999998 +19-5-2019 22:00,34553.56,16084.392000000002,16084.392000000002 +19-5-2019 23:00,37838.368,17613.448,17613.448 +20-5-2019 00:00,53174.456000000006,24752.272,24752.272 +20-5-2019 01:00,92870.664,43230.544,43230.544 +20-5-2019 02:00,94980.392,44212.600000000006,44212.600000000006 +20-5-2019 03:00,97192.512,45242.32000000001,45242.32000000001 +20-5-2019 04:00,102986.91200000001,47939.576,47939.576 +20-5-2019 05:00,96432.632,44888.600000000006,44888.600000000006 +20-5-2019 06:00,328620.608,152970.208,152970.208 +20-5-2019 07:00,792937.984,369106.176,369106.176 +20-5-2019 08:00,642774.4,299206.27200000006,299206.27200000006 +20-5-2019 09:00,747030.8480000001,347736.73600000003,347736.73600000003 +20-5-2019 10:00,44652.17600000001,20785.224000000002,20785.224000000002 +20-5-2019 11:00,88555.208,41221.72,41221.72 +20-5-2019 12:00,174587.13600000003,81268.888,81268.888 +20-5-2019 13:00,66067.064,30753.688000000002,30753.688000000002 +20-5-2019 14:00,70499.68000000001,32817.024,32817.024 +20-5-2019 15:00,65732.464,30597.920000000002,30597.920000000002 +20-5-2019 16:00,17841.935999999998,8305.272,8305.272 +20-5-2019 17:00,406932.288,189423.664,189423.664 +20-5-2019 18:00,71225.99200000001,33155.12,33155.12 +20-5-2019 19:00,407145.47200000007,189522.912,189522.912 +20-5-2019 20:00,707521.152,329345.31200000003,329345.31200000003 +20-5-2019 21:00,370741.76,172577.264,172577.264 +20-5-2019 22:00,58460.46400000001,27212.864,27212.864 +20-5-2019 23:00,90132.56,41955.984000000004,41955.984000000004 +21-5-2019 00:00,101968.32,47465.424,47465.424 +21-5-2019 01:00,107320.568,49956.848,49956.848 +21-5-2019 02:00,110204.456,51299.272,51299.272 +21-5-2019 03:00,122665.13600000001,57099.624,57099.624 +21-5-2019 04:00,147570.88,68693.04000000001,68693.04000000001 +21-5-2019 05:00,137733.76,64113.943999999996,64113.943999999996 +21-5-2019 06:00,400675.136,186510.992,186510.992 +21-5-2019 07:00,924178.6880000001,430197.60000000003,430197.60000000003 +21-5-2019 08:00,793563.2000000001,369397.184,369397.184 +21-5-2019 09:00,811265.408,377637.44,377637.44 +21-5-2019 10:00,62423.32,29057.544,29057.544 +21-5-2019 11:00,110846.872,51598.32000000001,51598.32000000001 +21-5-2019 12:00,213325.07200000004,99301.088,99301.088 +21-5-2019 13:00,99474.744,46304.688,46304.688 +21-5-2019 14:00,111597.98400000001,51947.96,51947.96 +21-5-2019 15:00,90413.50400000002,42086.75200000001,42086.75200000001 +21-5-2019 16:00,18085.608,8418.704,8418.704 +21-5-2019 17:00,706856.128,329035.776,329035.776 +21-5-2019 18:00,119294.016,55530.4,55530.4 +21-5-2019 19:00,677884.736,315549.792,315549.792 +21-5-2019 20:00,912867.0720000002,424932.128,424932.128 +21-5-2019 21:00,500452.54400000005,232956.592,232956.592 +21-5-2019 22:00,121605.82400000001,56606.512,56606.512 +21-5-2019 23:00,120525.32800000001,56103.56,56103.56 +22-5-2019 00:00,122823.18400000001,57173.19200000001,57173.19200000001 +22-5-2019 01:00,140383.184,65347.224,65347.224 +22-5-2019 02:00,156647.456,72918.11200000001,72918.11200000001 +22-5-2019 03:00,159868.24,74417.352,74417.352 +22-5-2019 04:00,176493.37600000002,82156.24,82156.24 +22-5-2019 05:00,161676.52800000002,75259.104,75259.104 +22-5-2019 06:00,464693.12000000005,216310.86400000003,216310.86400000003 +22-5-2019 07:00,842632.32,392238.49600000004,392238.49600000004 +22-5-2019 08:00,599961.6,279277.216,279277.216 +22-5-2019 09:00,644284.9280000001,299909.376,299909.376 +22-5-2019 10:00,40309.56,18763.768,18763.768 +22-5-2019 11:00,56794.536,26437.392,26437.392 +22-5-2019 12:00,107459.0,50021.288,50021.288 +22-5-2019 13:00,26110.512000000002,12154.224000000002,12154.224000000002 +22-5-2019 14:00,32643.296000000002,15195.192000000003,15195.192000000003 +22-5-2019 15:00,19946.312,9284.848,9284.848 +22-5-2019 16:00,17841.935999999998,8305.272,8305.272 +22-5-2019 17:00,38834.64000000001,18077.2,18077.2 +22-5-2019 18:00,52479.424,24428.744000000002,24428.744000000002 +22-5-2019 19:00,94932.88,44190.488000000005,44190.488000000005 +22-5-2019 20:00,231036.64,107545.66399999999,107545.66399999999 +22-5-2019 21:00,227077.936,105702.944,105702.944 +22-5-2019 22:00,29027.344,13511.992000000002,13511.992000000002 +22-5-2019 23:00,27211.392,12666.68,12666.68 +23-5-2019 00:00,75799.472,35284.032,35284.032 +23-5-2019 01:00,128331.016,59737.048,59737.048 +23-5-2019 02:00,145883.552,67907.608,67907.608 +23-5-2019 03:00,192601.76,89654.55200000001,89654.55200000001 +23-5-2019 04:00,192678.688,89690.36,89690.36 +23-5-2019 05:00,172354.94400000002,80229.82400000001,80229.82400000001 +23-5-2019 06:00,325674.46400000004,151598.816,151598.816 +23-5-2019 07:00,721222.1440000001,335723.04000000004,335723.04000000004 +23-5-2019 08:00,642375.2960000001,299020.44800000003,299020.44800000003 +23-5-2019 09:00,715882.6880000001,333237.536,333237.536 +23-5-2019 10:00,40309.56,18763.768,18763.768 +23-5-2019 11:00,47557.488000000005,22137.624,22137.624 +23-5-2019 12:00,79947.92800000001,37215.112,37215.112 +23-5-2019 13:00,28280.984000000004,13164.568,13164.568 +23-5-2019 14:00,47519.12,22119.760000000002,22119.760000000002 +23-5-2019 15:00,30092.256,14007.696,14007.696 +23-5-2019 16:00,17841.935999999998,8305.272,8305.272 +23-5-2019 17:00,103333.728,48101.016,48101.016 +23-5-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +23-5-2019 19:00,111692.272,51991.832,51991.832 +23-5-2019 20:00,255327.71200000003,118852.968,118852.968 +23-5-2019 21:00,230441.55200000003,107268.65600000002,107268.65600000002 +23-5-2019 22:00,28866.520000000004,13437.128,13437.128 +23-5-2019 23:00,16219.056,7549.84,7549.84 +24-5-2019 00:00,29315.128000000004,13645.952,13645.952 +24-5-2019 01:00,73132.232,34042.464,34042.464 +24-5-2019 02:00,109636.68000000001,51034.976,51034.976 +24-5-2019 03:00,113681.88799999999,52917.992000000006,52917.992000000006 +24-5-2019 04:00,130647.96000000002,60815.56,60815.56 +24-5-2019 05:00,111209.152,51766.96,51766.96 +24-5-2019 06:00,277282.784,129072.872,129072.872 +24-5-2019 07:00,624920.2559999999,290895.29600000003,290895.29600000003 +24-5-2019 08:00,541585.088,252103.44,252103.44 +24-5-2019 09:00,634141.696,295187.776,295187.776 +24-5-2019 10:00,40309.56,18763.768,18763.768 +24-5-2019 11:00,43681.64000000001,20333.440000000002,20333.440000000002 +24-5-2019 12:00,72907.896,33938.04,33938.04 +24-5-2019 13:00,23789.248000000003,11073.704,11073.704 +24-5-2019 14:00,24208.928,11269.056,11269.056 +24-5-2019 15:00,15859.496,7382.464,7382.464 +24-5-2019 16:00,17841.935999999998,8305.272,8305.272 +24-5-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +24-5-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +24-5-2019 19:00,52204.17600000001,24300.616,24300.616 +24-5-2019 20:00,49661.352000000006,23116.952,23116.952 +24-5-2019 21:00,45110.624,20998.624,20998.624 +24-5-2019 22:00,27093.312,12611.712,12611.712 +24-5-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +25-5-2019 00:00,5930.048000000001,2760.392,2760.392 +25-5-2019 01:00,6603.264,3073.768,3073.768 +25-5-2019 02:00,24949.008,11613.560000000001,11613.560000000001 +25-5-2019 03:00,85079.36,39603.75200000001,39603.75200000001 +25-5-2019 04:00,120383.264,56037.432,56037.432 +25-5-2019 05:00,99419.952,46279.17600000001,46279.17600000001 +25-5-2019 06:00,312564.096,145496.06399999998,145496.06399999998 +25-5-2019 07:00,832971.008,387741.216,387741.216 +25-5-2019 08:00,1076028.8,500882.65599999996,500882.65599999996 +25-5-2019 09:00,1065904.32,496169.76,496169.76 +25-5-2019 10:00,159434.56000000003,74215.48000000001,74215.48000000001 +25-5-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +25-5-2019 12:00,31525.464000000004,14674.848000000002,14674.848000000002 +25-5-2019 13:00,23789.248000000003,11073.704,11073.704 +25-5-2019 14:00,20485.184,9535.688,9535.688 +25-5-2019 15:00,15859.496,7382.464,7382.464 +25-5-2019 16:00,17841.935999999998,8305.272,8305.272 +25-5-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +25-5-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +25-5-2019 19:00,54998.016,25601.128,25601.128 +25-5-2019 20:00,72911.36,33939.648,33939.648 +25-5-2019 21:00,41933.104,19519.52,19519.52 +25-5-2019 22:00,29224.504,13603.768,13603.768 +25-5-2019 23:00,20731.152000000002,9650.184,9650.184 +26-5-2019 00:00,33702.944,15688.448000000002,15688.448000000002 +26-5-2019 01:00,82423.0,38367.232,38367.232 +26-5-2019 02:00,104790.224,48778.992,48778.992 +26-5-2019 03:00,101041.288,47033.89600000001,47033.89600000001 +26-5-2019 04:00,97495.584,45383.4,45383.4 +26-5-2019 05:00,87428.272,40697.152,40697.152 +26-5-2019 06:00,338511.808,157574.496,157574.496 +26-5-2019 07:00,834536.5120000001,388469.92000000004,388469.92000000004 +26-5-2019 08:00,981811.2000000001,457025.184,457025.184 +26-5-2019 09:00,1025324.736,477280.32000000007,477280.32000000007 +26-5-2019 10:00,170240.22400000002,79245.432,79245.432 +26-5-2019 11:00,35801.448,16665.28,16665.28 +26-5-2019 12:00,34769.976,16185.135999999999,16185.135999999999 +26-5-2019 13:00,24338.84,11329.536,11329.536 +26-5-2019 14:00,20485.184,9535.688,9535.688 +26-5-2019 15:00,15859.496,7382.464,7382.464 +26-5-2019 16:00,17841.935999999998,8305.272,8305.272 +26-5-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +26-5-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +26-5-2019 19:00,52204.17600000001,24300.616,24300.616 +26-5-2019 20:00,54432.688,25337.968,25337.968 +26-5-2019 21:00,39645.128000000004,18454.48,18454.48 +26-5-2019 22:00,27932.847999999998,13002.512,13002.512 +26-5-2019 23:00,15090.096,7024.32,7024.32 +27-5-2019 00:00,8590.52,3998.8160000000007,3998.8160000000007 +27-5-2019 01:00,21401.656000000003,9962.296000000002,9962.296000000002 +27-5-2019 02:00,34603.584,16107.688000000002,16107.688000000002 +27-5-2019 03:00,67713.696,31520.176000000003,31520.176000000003 +27-5-2019 04:00,92713.888,43157.568,43157.568 +27-5-2019 05:00,80106.936,37289.128000000004,37289.128000000004 +27-5-2019 06:00,133434.752,62112.79200000001,62112.79200000001 +27-5-2019 07:00,373747.42400000006,173976.36800000002,173976.36800000002 +27-5-2019 08:00,303366.97599999997,141214.848,141214.848 +27-5-2019 09:00,525350.208,244546.208,244546.208 +27-5-2019 10:00,40309.56,18763.768,18763.768 +27-5-2019 11:00,39166.936,18231.888000000003,18231.888000000003 +27-5-2019 12:00,89601.12800000001,41708.592000000004,41708.592000000004 +27-5-2019 13:00,25403.864,11825.288,11825.288 +27-5-2019 14:00,31196.615999999998,14521.768,14521.768 +27-5-2019 15:00,38363.448,17857.872,17857.872 +27-5-2019 16:00,17841.935999999998,8305.272,8305.272 +27-5-2019 17:00,38754.04,18039.688000000002,18039.688000000002 +27-5-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +27-5-2019 19:00,55253.272,25719.944000000003,25719.944000000003 +27-5-2019 20:00,95055.90400000001,44247.75200000001,44247.75200000001 +27-5-2019 21:00,141839.2,66024.984,66024.984 +27-5-2019 22:00,27556.032000000003,12827.104,12827.104 +27-5-2019 23:00,15373.696,7156.328,7156.328 +28-5-2019 00:00,15256.104000000001,7101.592000000001,7101.592000000001 +28-5-2019 01:00,31338.415999999997,14587.776000000002,14587.776000000002 +28-5-2019 02:00,71158.28000000001,33123.592,33123.592 +28-5-2019 03:00,93839.48000000001,43681.520000000004,43681.520000000004 +28-5-2019 04:00,102551.464,47736.880000000005,47736.880000000005 +28-5-2019 05:00,89956.32800000001,41873.936,41873.936 +28-5-2019 06:00,167775.056,78097.92,78097.92 +28-5-2019 07:00,497170.112,231428.64,231428.64 +28-5-2019 08:00,509937.2480000001,237371.63199999998,237371.63199999998 +28-5-2019 09:00,725264.8960000001,337604.896,337604.896 +28-5-2019 10:00,62490.880000000005,29088.992,29088.992 +28-5-2019 11:00,98622.08000000002,45907.768000000004,45907.768000000004 +28-5-2019 12:00,182516.016,84959.72,84959.72 +28-5-2019 13:00,67272.776,31314.928000000004,31314.928000000004 +28-5-2019 14:00,67821.072,31570.16,31570.16 +28-5-2019 15:00,54236.65600000001,25246.72,25246.72 +28-5-2019 16:00,17841.935999999998,8305.272,8305.272 +28-5-2019 17:00,48776.024000000005,22704.84,22704.84 +28-5-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +28-5-2019 19:00,66219.52,30824.648,30824.648 +28-5-2019 20:00,182643.744,85019.168,85019.168 +28-5-2019 21:00,178133.13600000003,82919.528,82919.528 +28-5-2019 22:00,28557.032000000003,13293.064000000002,13293.064000000002 +28-5-2019 23:00,27206.415999999997,12664.368,12664.368 +29-5-2019 00:00,75318.97600000001,35060.368,35060.368 +29-5-2019 01:00,134221.008,62478.79200000001,62478.79200000001 +29-5-2019 02:00,159998.544,74478.016,74478.016 +29-5-2019 03:00,195371.328,90943.76800000001,90943.76800000001 +29-5-2019 04:00,226167.088,105278.944,105278.944 +29-5-2019 05:00,218679.536,101793.544,101793.544 +29-5-2019 06:00,321292.128,149558.864,149558.864 +29-5-2019 07:00,619573.76,288406.528,288406.528 +29-5-2019 08:00,391629.60000000003,182300.38400000002,182300.38400000002 +29-5-2019 09:00,459815.808,214040.496,214040.496 +29-5-2019 10:00,40309.56,18763.768,18763.768 +29-5-2019 11:00,37558.904,17483.36,17483.36 +29-5-2019 12:00,59047.85600000001,27486.288,27486.288 +29-5-2019 13:00,23789.248000000003,11073.704,11073.704 +29-5-2019 14:00,20485.184,9535.688,9535.688 +29-5-2019 15:00,15859.496,7382.464,7382.464 +29-5-2019 16:00,17841.935999999998,8305.272,8305.272 +29-5-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +29-5-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +29-5-2019 19:00,52204.17600000001,24300.616,24300.616 +29-5-2019 20:00,49778.32000000001,23171.4,23171.4 +29-5-2019 21:00,44044.920000000006,20502.552,20502.552 +29-5-2019 22:00,27093.312,12611.712,12611.712 +29-5-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +30-5-2019 00:00,4625.688,2153.216,2153.216 +30-5-2019 01:00,3784.456,1761.632,1761.632 +30-5-2019 02:00,2694.952,1254.48,1254.48 +30-5-2019 03:00,10896.800000000001,5072.368,5072.368 +30-5-2019 04:00,22494.392000000003,10470.952000000001,10470.952000000001 +30-5-2019 05:00,36708.104,17087.320000000003,17087.320000000003 +30-5-2019 06:00,49730.32800000001,23149.056,23149.056 +30-5-2019 07:00,188176.36800000002,87594.56,87594.56 +30-5-2019 08:00,208208.72,96919.456,96919.456 +30-5-2019 09:00,472196.83200000005,219803.76,219803.76 +30-5-2019 10:00,40309.56,18763.768,18763.768 +30-5-2019 11:00,40356.96,18785.832000000002,18785.832000000002 +30-5-2019 12:00,126377.51200000002,58827.704000000005,58827.704000000005 +30-5-2019 13:00,25019.352,11646.304,11646.304 +30-5-2019 14:00,31452.520000000004,14640.896,14640.896 +30-5-2019 15:00,31644.840000000004,14730.416000000001,14730.416000000001 +30-5-2019 16:00,17841.935999999998,8305.272,8305.272 +30-5-2019 17:00,41203.536,19179.912,19179.912 +30-5-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +30-5-2019 19:00,69555.52,32377.528000000006,32377.528000000006 +30-5-2019 20:00,97347.85600000001,45314.632000000005,45314.632000000005 +30-5-2019 21:00,102463.736,47696.03200000001,47696.03200000001 +30-5-2019 22:00,27093.312,12611.712,12611.712 +30-5-2019 23:00,14212.696,6615.896000000001,6615.896000000001 +31-5-2019 00:00,6115.144,2846.552,2846.552 +31-5-2019 01:00,4219.744000000001,1964.2560000000003,1964.2560000000003 +31-5-2019 02:00,6384.272000000001,2971.8240000000005,2971.8240000000005 +31-5-2019 03:00,14315.744,6663.8640000000005,6663.8640000000005 +31-5-2019 04:00,22965.872000000003,10690.424,10690.424 +31-5-2019 05:00,30558.208000000002,14224.592000000002,14224.592000000002 +31-5-2019 06:00,43459.12,20229.864,20229.864 +31-5-2019 07:00,142074.16,66134.36,66134.36 +31-5-2019 08:00,132009.72,61449.448000000004,61449.448000000004 +31-5-2019 09:00,223893.95200000002,104220.816,104220.816 +31-5-2019 10:00,40309.56,18763.768,18763.768 +31-5-2019 11:00,36690.584,17079.168,17079.168 +31-5-2019 12:00,55908.824,26025.104000000003,26025.104000000003 +31-5-2019 13:00,24153.904000000002,11243.44,11243.44 +31-5-2019 14:00,21070.704,9808.24,9808.24 +31-5-2019 15:00,20173.2,9390.464,9390.464 +31-5-2019 16:00,17841.935999999998,8305.272,8305.272 +31-5-2019 17:00,29107.056,13549.096,13549.096 +31-5-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +31-5-2019 19:00,53577.704000000005,24939.984,24939.984 +31-5-2019 20:00,60564.528000000006,28192.288,28192.288 +31-5-2019 21:00,58922.032,27427.72,27427.72 +31-5-2019 22:00,27093.312,12611.712,12611.712 +31-5-2019 23:00,13693.960000000001,6374.424,6374.424 +1-6-2019 00:00,6481.048000000001,3016.8720000000003,3016.8720000000003 +1-6-2019 01:00,4650.912,2164.96,2164.96 +1-6-2019 02:00,18363.832000000002,8548.216,8548.216 +1-6-2019 03:00,32347.96,15057.704000000002,15057.704000000002 +1-6-2019 04:00,60936.75200000001,28365.559999999998,28365.559999999998 +1-6-2019 05:00,60524.016,28173.432,28173.432 +1-6-2019 06:00,174113.04,81048.19200000001,81048.19200000001 +1-6-2019 07:00,436449.696,203163.79200000002,203163.79200000002 +1-6-2019 08:00,429028.16,199709.088,199709.088 +1-6-2019 09:00,508434.912,236672.32000000004,236672.32000000004 +1-6-2019 10:00,70183.024,32669.624,32669.624 +1-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +1-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +1-6-2019 13:00,23789.248000000003,11073.704,11073.704 +1-6-2019 14:00,20485.184,9535.688,9535.688 +1-6-2019 15:00,15859.496,7382.464,7382.464 +1-6-2019 16:00,17841.935999999998,8305.272,8305.272 +1-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +1-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +1-6-2019 19:00,52204.17600000001,24300.616,24300.616 +1-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +1-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +1-6-2019 22:00,27093.312,12611.712,12611.712 +1-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +2-6-2019 00:00,4625.688,2153.216,2153.216 +2-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +2-6-2019 02:00,1371.584,638.464,638.464 +2-6-2019 03:00,2313.784,1077.048,1077.048 +2-6-2019 04:00,2924.1360000000004,1361.16,1361.16 +2-6-2019 05:00,5881.024,2737.568,2737.568 +2-6-2019 06:00,42881.152,19960.824,19960.824 +2-6-2019 07:00,122408.20000000001,56980.024000000005,56980.024000000005 +2-6-2019 08:00,58490.008,27226.624,27226.624 +2-6-2019 09:00,72018.136,33523.856,33523.856 +2-6-2019 10:00,40309.56,18763.768,18763.768 +2-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +2-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +2-6-2019 13:00,23789.248000000003,11073.704,11073.704 +2-6-2019 14:00,20485.184,9535.688,9535.688 +2-6-2019 15:00,15859.496,7382.464,7382.464 +2-6-2019 16:00,17841.935999999998,8305.272,8305.272 +2-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +2-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +2-6-2019 19:00,52204.17600000001,24300.616,24300.616 +2-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +2-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +2-6-2019 22:00,27093.312,12611.712,12611.712 +2-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +3-6-2019 00:00,4625.688,2153.216,2153.216 +3-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +3-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +3-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +3-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +3-6-2019 05:00,4625.688,2153.216,2153.216 +3-6-2019 06:00,37005.504,17225.752,17225.752 +3-6-2019 07:00,61455.56,28607.056,28607.056 +3-6-2019 08:00,47578.49600000001,22147.4,22147.4 +3-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +3-6-2019 10:00,40309.56,18763.768,18763.768 +3-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +3-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +3-6-2019 13:00,23789.248000000003,11073.704,11073.704 +3-6-2019 14:00,20485.184,9535.688,9535.688 +3-6-2019 15:00,15859.496,7382.464,7382.464 +3-6-2019 16:00,17841.935999999998,8305.272,8305.272 +3-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +3-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +3-6-2019 19:00,52204.17600000001,24300.616,24300.616 +3-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +3-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +3-6-2019 22:00,27093.312,12611.712,12611.712 +3-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +4-6-2019 00:00,4625.688,2153.216,2153.216 +4-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +4-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +4-6-2019 03:00,1461.4,680.272,680.272 +4-6-2019 04:00,3021.464,1406.464,1406.464 +4-6-2019 05:00,5913.224,2752.552,2752.552 +4-6-2019 06:00,37005.504,17225.752,17225.752 +4-6-2019 07:00,66110.576,30773.928000000004,30773.928000000004 +4-6-2019 08:00,47578.49600000001,22147.4,22147.4 +4-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +4-6-2019 10:00,40309.56,18763.768,18763.768 +4-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +4-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +4-6-2019 13:00,23789.248000000003,11073.704,11073.704 +4-6-2019 14:00,20485.184,9535.688,9535.688 +4-6-2019 15:00,15859.496,7382.464,7382.464 +4-6-2019 16:00,17841.935999999998,8305.272,8305.272 +4-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +4-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +4-6-2019 19:00,52204.17600000001,24300.616,24300.616 +4-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +4-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +4-6-2019 22:00,27093.312,12611.712,12611.712 +4-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +5-6-2019 00:00,4625.688,2153.216,2153.216 +5-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +5-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +5-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +5-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +5-6-2019 05:00,4625.688,2153.216,2153.216 +5-6-2019 06:00,37005.504,17225.752,17225.752 +5-6-2019 07:00,61455.56,28607.056,28607.056 +5-6-2019 08:00,47578.49600000001,22147.4,22147.4 +5-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +5-6-2019 10:00,40309.56,18763.768,18763.768 +5-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +5-6-2019 12:00,32864.368,15298.096,15298.096 +5-6-2019 13:00,23789.248000000003,11073.704,11073.704 +5-6-2019 14:00,20485.184,9535.688,9535.688 +5-6-2019 15:00,15859.496,7382.464,7382.464 +5-6-2019 16:00,17841.935999999998,8305.272,8305.272 +5-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +5-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +5-6-2019 19:00,52204.17600000001,24300.616,24300.616 +5-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +5-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +5-6-2019 22:00,27093.312,12611.712,12611.712 +5-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +6-6-2019 00:00,4625.688,2153.216,2153.216 +6-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +6-6-2019 02:00,1067.2,496.77600000000007,496.77600000000007 +6-6-2019 03:00,2157.16,1004.1440000000001,1004.1440000000001 +6-6-2019 04:00,2791.8080000000004,1299.5680000000002,1299.5680000000002 +6-6-2019 05:00,5909.552,2750.848,2750.848 +6-6-2019 06:00,37005.504,17225.752,17225.752 +6-6-2019 07:00,82682.99200000001,38488.256,38488.256 +6-6-2019 08:00,54491.096,25365.160000000003,25365.160000000003 +6-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +6-6-2019 10:00,40309.56,18763.768,18763.768 +6-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +6-6-2019 12:00,41267.544,19209.704,19209.704 +6-6-2019 13:00,23789.248000000003,11073.704,11073.704 +6-6-2019 14:00,20485.184,9535.688,9535.688 +6-6-2019 15:00,15859.496,7382.464,7382.464 +6-6-2019 16:00,17841.935999999998,8305.272,8305.272 +6-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +6-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +6-6-2019 19:00,52204.17600000001,24300.616,24300.616 +6-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +6-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +6-6-2019 22:00,27093.312,12611.712,12611.712 +6-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +7-6-2019 00:00,4625.688,2153.216,2153.216 +7-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +7-6-2019 02:00,2376.192,1106.096,1106.096 +7-6-2019 03:00,2542.28,1183.4080000000001,1183.4080000000001 +7-6-2019 04:00,4887.184,2274.944,2274.944 +7-6-2019 05:00,14572.608,6783.432000000001,6783.432000000001 +7-6-2019 06:00,37005.504,17225.752,17225.752 +7-6-2019 07:00,95174.784,44303.088,44303.088 +7-6-2019 08:00,70406.624,32773.72,32773.72 +7-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +7-6-2019 10:00,40309.56,18763.768,18763.768 +7-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +7-6-2019 12:00,45988.024000000005,21407.048000000003,21407.048000000003 +7-6-2019 13:00,23789.248000000003,11073.704,11073.704 +7-6-2019 14:00,20485.184,9535.688,9535.688 +7-6-2019 15:00,15859.496,7382.464,7382.464 +7-6-2019 16:00,17841.935999999998,8305.272,8305.272 +7-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +7-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +7-6-2019 19:00,52204.17600000001,24300.616,24300.616 +7-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +7-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +7-6-2019 22:00,27093.312,12611.712,12611.712 +7-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +8-6-2019 00:00,4625.688,2153.216,2153.216 +8-6-2019 01:00,3528.72,1642.5919999999999,1642.5919999999999 +8-6-2019 02:00,2010.2720000000002,935.7600000000001,935.7600000000001 +8-6-2019 03:00,2053.5040000000004,955.8879999999999,955.8879999999999 +8-6-2019 04:00,2713.7200000000003,1263.2160000000001,1263.2160000000001 +8-6-2019 05:00,11198.344000000001,5212.736000000001,5212.736000000001 +8-6-2019 06:00,46095.12,21456.904000000002,21456.904000000002 +8-6-2019 07:00,165452.64,77016.848,77016.848 +8-6-2019 08:00,88343.512,41123.192,41123.192 +8-6-2019 09:00,202040.912,94048.40000000001,94048.40000000001 +8-6-2019 10:00,49812.864,23187.48,23187.48 +8-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +8-6-2019 12:00,33418.064000000006,15555.832000000002,15555.832000000002 +8-6-2019 13:00,25086.256,11677.448,11677.448 +8-6-2019 14:00,20485.184,9535.688,9535.688 +8-6-2019 15:00,15859.496,7382.464,7382.464 +8-6-2019 16:00,17841.935999999998,8305.272,8305.272 +8-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +8-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +8-6-2019 19:00,52204.17600000001,24300.616,24300.616 +8-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +8-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +8-6-2019 22:00,27093.312,12611.712,12611.712 +8-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +9-6-2019 00:00,4625.688,2153.216,2153.216 +9-6-2019 01:00,3217.9040000000005,1497.9120000000003,1497.9120000000003 +9-6-2019 02:00,2477.0640000000003,1153.056,1153.056 +9-6-2019 03:00,2724.5840000000003,1268.272,1268.272 +9-6-2019 04:00,15337.496,7139.4800000000005,7139.4800000000005 +9-6-2019 05:00,20668.976000000002,9621.24,9621.24 +9-6-2019 06:00,60956.72,28374.856,28374.856 +9-6-2019 07:00,198390.94400000002,92349.36800000002,92349.36800000002 +9-6-2019 08:00,126654.224,58956.50400000001,58956.50400000001 +9-6-2019 09:00,262484.64,122184.448,122184.448 +9-6-2019 10:00,51665.864,24050.04,24050.04 +9-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +9-6-2019 12:00,29953.847999999998,13943.272,13943.272 +9-6-2019 13:00,23789.248000000003,11073.704,11073.704 +9-6-2019 14:00,20485.184,9535.688,9535.688 +9-6-2019 15:00,15859.496,7382.464,7382.464 +9-6-2019 16:00,17841.935999999998,8305.272,8305.272 +9-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +9-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +9-6-2019 19:00,52204.17600000001,24300.616,24300.616 +9-6-2019 20:00,47462.544,22093.424,22093.424 +9-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +9-6-2019 22:00,27093.312,12611.712,12611.712 +9-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +10-6-2019 00:00,5700.6,2653.5840000000003,2653.5840000000003 +10-6-2019 01:00,4167.936000000001,1940.144,1940.144 +10-6-2019 02:00,2209.288,1028.4080000000001,1028.4080000000001 +10-6-2019 03:00,6435.080000000001,2995.48,2995.48 +10-6-2019 04:00,15150.36,7052.3679999999995,7052.3679999999995 +10-6-2019 05:00,15986.048000000003,7441.376,7441.376 +10-6-2019 06:00,37005.504,17225.752,17225.752 +10-6-2019 07:00,103172.152,48025.808000000005,48025.808000000005 +10-6-2019 08:00,53977.976,25126.304000000004,25126.304000000004 +10-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +10-6-2019 10:00,40309.56,18763.768,18763.768 +10-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +10-6-2019 12:00,34675.816,16141.304000000002,16141.304000000002 +10-6-2019 13:00,23789.248000000003,11073.704,11073.704 +10-6-2019 14:00,20485.184,9535.688,9535.688 +10-6-2019 15:00,15859.496,7382.464,7382.464 +10-6-2019 16:00,17841.935999999998,8305.272,8305.272 +10-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +10-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +10-6-2019 19:00,52204.17600000001,24300.616,24300.616 +10-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +10-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +10-6-2019 22:00,27093.312,12611.712,12611.712 +10-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +11-6-2019 00:00,4625.688,2153.216,2153.216 +11-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +11-6-2019 02:00,764.616,355.92800000000005,355.92800000000005 +11-6-2019 03:00,2100.368,977.7040000000002,977.7040000000002 +11-6-2019 04:00,2792.2080000000005,1299.7520000000002,1299.7520000000002 +11-6-2019 05:00,6026.56,2805.312,2805.312 +11-6-2019 06:00,37005.504,17225.752,17225.752 +11-6-2019 07:00,86078.872,40069.016,40069.016 +11-6-2019 08:00,69085.90400000001,32158.928000000004,32158.928000000004 +11-6-2019 09:00,107083.592,49846.544,49846.544 +11-6-2019 10:00,40309.56,18763.768,18763.768 +11-6-2019 11:00,35082.384000000005,16330.560000000001,16330.560000000001 +11-6-2019 12:00,49017.92800000001,22817.448000000004,22817.448000000004 +11-6-2019 13:00,23789.248000000003,11073.704,11073.704 +11-6-2019 14:00,20485.184,9535.688,9535.688 +11-6-2019 15:00,15859.496,7382.464,7382.464 +11-6-2019 16:00,17841.935999999998,8305.272,8305.272 +11-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +11-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +11-6-2019 19:00,52204.17600000001,24300.616,24300.616 +11-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +11-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +11-6-2019 22:00,27093.312,12611.712,12611.712 +11-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +12-6-2019 00:00,4782.32,2226.128,2226.128 +12-6-2019 01:00,4189.7519999999995,1950.296,1950.296 +12-6-2019 02:00,2223.8880000000004,1035.2,1035.2 +12-6-2019 03:00,2571.6000000000004,1197.056,1197.056 +12-6-2019 04:00,13116.04,6105.408,6105.408 +12-6-2019 05:00,17481.464000000004,8137.4800000000005,8137.4800000000005 +12-6-2019 06:00,37005.504,17225.752,17225.752 +12-6-2019 07:00,100873.392,46955.744000000006,46955.744000000006 +12-6-2019 08:00,82037.744,38187.904,38187.904 +12-6-2019 09:00,141707.10400000002,65963.496,65963.496 +12-6-2019 10:00,40309.56,18763.768,18763.768 +12-6-2019 11:00,35834.264,16680.552,16680.552 +12-6-2019 12:00,54405.024000000005,25325.088000000003,25325.088000000003 +12-6-2019 13:00,24713.064000000002,11503.728000000001,11503.728000000001 +12-6-2019 14:00,20485.184,9535.688,9535.688 +12-6-2019 15:00,22621.800000000003,10530.264000000001,10530.264000000001 +12-6-2019 16:00,17841.935999999998,8305.272,8305.272 +12-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +12-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +12-6-2019 19:00,52204.17600000001,24300.616,24300.616 +12-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +12-6-2019 21:00,40093.472,18663.184,18663.184 +12-6-2019 22:00,27093.312,12611.712,12611.712 +12-6-2019 23:00,13676.504,6366.304,6366.304 +13-6-2019 00:00,6524.432000000001,3037.072,3037.072 +13-6-2019 01:00,6661.8240000000005,3101.0240000000003,3101.0240000000003 +13-6-2019 02:00,18086.168,8418.967999999999,8418.967999999999 +13-6-2019 03:00,20522.744000000002,9553.168,9553.168 +13-6-2019 04:00,29631.559999999998,13793.256000000001,13793.256000000001 +13-6-2019 05:00,30946.944000000003,14405.544000000002,14405.544000000002 +13-6-2019 06:00,38490.76,17917.136,17917.136 +13-6-2019 07:00,152333.856,70910.168,70910.168 +13-6-2019 08:00,148206.0,68988.68800000001,68988.68800000001 +13-6-2019 09:00,350431.68,163123.088,163123.088 +13-6-2019 10:00,40309.56,18763.768,18763.768 +13-6-2019 11:00,37074.856,17258.04,17258.04 +13-6-2019 12:00,61341.296,28553.872,28553.872 +13-6-2019 13:00,24476.648,11393.68,11393.68 +13-6-2019 14:00,23945.384000000002,11146.384,11146.384 +13-6-2019 15:00,23414.632,10899.32,10899.32 +13-6-2019 16:00,17841.935999999998,8305.272,8305.272 +13-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +13-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +13-6-2019 19:00,52237.872,24316.304000000004,24316.304000000004 +13-6-2019 20:00,56732.024000000005,26408.288,26408.288 +13-6-2019 21:00,54277.608,25265.784,25265.784 +13-6-2019 22:00,27093.312,12611.712,12611.712 +13-6-2019 23:00,14421.232000000002,6712.968,6712.968 +14-6-2019 00:00,6447.52,3001.2720000000004,3001.2720000000004 +14-6-2019 01:00,10726.752,4993.216,4993.216 +14-6-2019 02:00,22177.344,10323.376,10323.376 +14-6-2019 03:00,31586.76,14703.376000000002,14703.376000000002 +14-6-2019 04:00,39103.936,18202.56,18202.56 +14-6-2019 05:00,44810.632000000005,20858.984,20858.984 +14-6-2019 06:00,46540.592000000004,21664.264000000003,21664.264000000003 +14-6-2019 07:00,183613.696,85470.672,85470.672 +14-6-2019 08:00,191390.96000000002,89090.936,89090.936 +14-6-2019 09:00,407385.632,189634.688,189634.688 +14-6-2019 10:00,40309.56,18763.768,18763.768 +14-6-2019 11:00,36669.904,17069.544,17069.544 +14-6-2019 12:00,53967.90400000001,25121.616,25121.616 +14-6-2019 13:00,23789.248000000003,11073.704,11073.704 +14-6-2019 14:00,20485.184,9535.688,9535.688 +14-6-2019 15:00,15859.496,7382.464,7382.464 +14-6-2019 16:00,17841.935999999998,8305.272,8305.272 +14-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +14-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +14-6-2019 19:00,52204.17600000001,24300.616,24300.616 +14-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +14-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +14-6-2019 22:00,27093.312,12611.712,12611.712 +14-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +15-6-2019 00:00,4625.688,2153.216,2153.216 +15-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +15-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +15-6-2019 03:00,1739.016,809.4960000000001,809.4960000000001 +15-6-2019 04:00,2774.464,1291.488,1291.488 +15-6-2019 05:00,5949.272000000001,2769.3360000000002,2769.3360000000002 +15-6-2019 06:00,40516.78400000001,18860.232,18860.232 +15-6-2019 07:00,151255.12,70408.024,70408.024 +15-6-2019 08:00,68746.2,32000.792,32000.792 +15-6-2019 09:00,118099.304,54974.264,54974.264 +15-6-2019 10:00,43030.016,20030.120000000003,20030.120000000003 +15-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +15-6-2019 12:00,31398.032000000003,14615.528,14615.528 +15-6-2019 13:00,23909.864,11129.848,11129.848 +15-6-2019 14:00,20485.184,9535.688,9535.688 +15-6-2019 15:00,15859.496,7382.464,7382.464 +15-6-2019 16:00,17841.935999999998,8305.272,8305.272 +15-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +15-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +15-6-2019 19:00,52204.17600000001,24300.616,24300.616 +15-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +15-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +15-6-2019 22:00,27093.312,12611.712,12611.712 +15-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +16-6-2019 00:00,6061.424,2821.544,2821.544 +16-6-2019 01:00,4482.944,2086.776,2086.776 +16-6-2019 02:00,6146.2880000000005,2861.0480000000002,2861.0480000000002 +16-6-2019 03:00,17651.935999999998,8216.832,8216.832 +16-6-2019 04:00,16658.656,7754.472000000001,7754.472000000001 +16-6-2019 05:00,15334.376000000002,7138.024000000001,7138.024000000001 +16-6-2019 06:00,52229.600000000006,24312.448000000004,24312.448000000004 +16-6-2019 07:00,138331.472,64392.168000000005,64392.168000000005 +16-6-2019 08:00,55983.08000000001,26059.664000000004,26059.664000000004 +16-6-2019 09:00,79840.62400000001,37165.159999999996,37165.159999999996 +16-6-2019 10:00,40500.392,18852.600000000002,18852.600000000002 +16-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +16-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +16-6-2019 13:00,23789.248000000003,11073.704,11073.704 +16-6-2019 14:00,20485.184,9535.688,9535.688 +16-6-2019 15:00,15859.496,7382.464,7382.464 +16-6-2019 16:00,17841.935999999998,8305.272,8305.272 +16-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +16-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +16-6-2019 19:00,52204.17600000001,24300.616,24300.616 +16-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +16-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +16-6-2019 22:00,27093.312,12611.712,12611.712 +16-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +17-6-2019 00:00,4625.688,2153.216,2153.216 +17-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +17-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +17-6-2019 03:00,1931.4400000000003,899.072,899.072 +17-6-2019 04:00,3060.0080000000003,1424.4080000000001,1424.4080000000001 +17-6-2019 05:00,5821.168000000001,2709.704,2709.704 +17-6-2019 06:00,37005.504,17225.752,17225.752 +17-6-2019 07:00,74206.36,34542.464,34542.464 +17-6-2019 08:00,47578.49600000001,22147.4,22147.4 +17-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +17-6-2019 10:00,40309.56,18763.768,18763.768 +17-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +17-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +17-6-2019 13:00,23789.248000000003,11073.704,11073.704 +17-6-2019 14:00,20485.184,9535.688,9535.688 +17-6-2019 15:00,15859.496,7382.464,7382.464 +17-6-2019 16:00,17841.935999999998,8305.272,8305.272 +17-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +17-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +17-6-2019 19:00,52204.17600000001,24300.616,24300.616 +17-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +17-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +17-6-2019 22:00,27093.312,12611.712,12611.712 +17-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +18-6-2019 00:00,4625.688,2153.216,2153.216 +18-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +18-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +18-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +18-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +18-6-2019 05:00,4625.688,2153.216,2153.216 +18-6-2019 06:00,37005.504,17225.752,17225.752 +18-6-2019 07:00,61455.56,28607.056,28607.056 +18-6-2019 08:00,47578.49600000001,22147.4,22147.4 +18-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +18-6-2019 10:00,40309.56,18763.768,18763.768 +18-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +18-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +18-6-2019 13:00,23789.248000000003,11073.704,11073.704 +18-6-2019 14:00,20485.184,9535.688,9535.688 +18-6-2019 15:00,15859.496,7382.464,7382.464 +18-6-2019 16:00,17841.935999999998,8305.272,8305.272 +18-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +18-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +18-6-2019 19:00,52204.17600000001,24300.616,24300.616 +18-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +18-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +18-6-2019 22:00,27093.312,12611.712,12611.712 +18-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +19-6-2019 00:00,4625.688,2153.216,2153.216 +19-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +19-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +19-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +19-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +19-6-2019 05:00,4625.688,2153.216,2153.216 +19-6-2019 06:00,37005.504,17225.752,17225.752 +19-6-2019 07:00,61455.56,28607.056,28607.056 +19-6-2019 08:00,47578.49600000001,22147.4,22147.4 +19-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +19-6-2019 10:00,40309.56,18763.768,18763.768 +19-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +19-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +19-6-2019 13:00,23789.248000000003,11073.704,11073.704 +19-6-2019 14:00,20485.184,9535.688,9535.688 +19-6-2019 15:00,15859.496,7382.464,7382.464 +19-6-2019 16:00,17841.935999999998,8305.272,8305.272 +19-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +19-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +19-6-2019 19:00,52204.17600000001,24300.616,24300.616 +19-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +19-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +19-6-2019 22:00,27093.312,12611.712,12611.712 +19-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +20-6-2019 00:00,4625.688,2153.216,2153.216 +20-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +20-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +20-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +20-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +20-6-2019 05:00,4625.688,2153.216,2153.216 +20-6-2019 06:00,37005.504,17225.752,17225.752 +20-6-2019 07:00,61455.56,28607.056,28607.056 +20-6-2019 08:00,47578.49600000001,22147.4,22147.4 +20-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +20-6-2019 10:00,40309.56,18763.768,18763.768 +20-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +20-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +20-6-2019 13:00,23789.248000000003,11073.704,11073.704 +20-6-2019 14:00,20485.184,9535.688,9535.688 +20-6-2019 15:00,15859.496,7382.464,7382.464 +20-6-2019 16:00,17841.935999999998,8305.272,8305.272 +20-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +20-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +20-6-2019 19:00,52204.17600000001,24300.616,24300.616 +20-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +20-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +20-6-2019 22:00,27093.312,12611.712,12611.712 +20-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +21-6-2019 00:00,4625.688,2153.216,2153.216 +21-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +21-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +21-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +21-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +21-6-2019 05:00,4949.4800000000005,2303.944,2303.944 +21-6-2019 06:00,37005.504,17225.752,17225.752 +21-6-2019 07:00,61455.56,28607.056,28607.056 +21-6-2019 08:00,47578.49600000001,22147.4,22147.4 +21-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +21-6-2019 10:00,40309.56,18763.768,18763.768 +21-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +21-6-2019 12:00,31164.032000000003,14506.6,14506.6 +21-6-2019 13:00,23789.248000000003,11073.704,11073.704 +21-6-2019 14:00,20485.184,9535.688,9535.688 +21-6-2019 15:00,15859.496,7382.464,7382.464 +21-6-2019 16:00,17841.935999999998,8305.272,8305.272 +21-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +21-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +21-6-2019 19:00,52204.17600000001,24300.616,24300.616 +21-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +21-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +21-6-2019 22:00,27093.312,12611.712,12611.712 +21-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +22-6-2019 00:00,4625.688,2153.216,2153.216 +22-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +22-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +22-6-2019 03:00,952.5840000000001,443.416,443.416 +22-6-2019 04:00,2893.16,1346.7440000000001,1346.7440000000001 +22-6-2019 05:00,5867.488,2731.2720000000004,2731.2720000000004 +22-6-2019 06:00,37133.912000000004,17285.528000000002,17285.528000000002 +22-6-2019 07:00,61568.64000000001,28659.696000000004,28659.696000000004 +22-6-2019 08:00,47578.49600000001,22147.4,22147.4 +22-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +22-6-2019 10:00,40309.56,18763.768,18763.768 +22-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +22-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +22-6-2019 13:00,23789.248000000003,11073.704,11073.704 +22-6-2019 14:00,20485.184,9535.688,9535.688 +22-6-2019 15:00,15859.496,7382.464,7382.464 +22-6-2019 16:00,17841.935999999998,8305.272,8305.272 +22-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +22-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +22-6-2019 19:00,52204.17600000001,24300.616,24300.616 +22-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +22-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +22-6-2019 22:00,27093.312,12611.712,12611.712 +22-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +23-6-2019 00:00,4625.688,2153.216,2153.216 +23-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +23-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +23-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +23-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +23-6-2019 05:00,4625.688,2153.216,2153.216 +23-6-2019 06:00,37005.504,17225.752,17225.752 +23-6-2019 07:00,61455.56,28607.056,28607.056 +23-6-2019 08:00,47578.49600000001,22147.4,22147.4 +23-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +23-6-2019 10:00,40309.56,18763.768,18763.768 +23-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +23-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +23-6-2019 13:00,23789.248000000003,11073.704,11073.704 +23-6-2019 14:00,20485.184,9535.688,9535.688 +23-6-2019 15:00,15859.496,7382.464,7382.464 +23-6-2019 16:00,17841.935999999998,8305.272,8305.272 +23-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +23-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +23-6-2019 19:00,52204.17600000001,24300.616,24300.616 +23-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +23-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +23-6-2019 22:00,27093.312,12611.712,12611.712 +23-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +24-6-2019 00:00,4625.688,2153.216,2153.216 +24-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +24-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +24-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +24-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +24-6-2019 05:00,4625.688,2153.216,2153.216 +24-6-2019 06:00,37005.504,17225.752,17225.752 +24-6-2019 07:00,61455.56,28607.056,28607.056 +24-6-2019 08:00,47578.49600000001,22147.4,22147.4 +24-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +24-6-2019 10:00,40309.56,18763.768,18763.768 +24-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +24-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +24-6-2019 13:00,23789.248000000003,11073.704,11073.704 +24-6-2019 14:00,20485.184,9535.688,9535.688 +24-6-2019 15:00,15859.496,7382.464,7382.464 +24-6-2019 16:00,17841.935999999998,8305.272,8305.272 +24-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +24-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +24-6-2019 19:00,52204.17600000001,24300.616,24300.616 +24-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +24-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +24-6-2019 22:00,27093.312,12611.712,12611.712 +24-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +25-6-2019 00:00,4625.688,2153.216,2153.216 +25-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +25-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +25-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +25-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +25-6-2019 05:00,4625.688,2153.216,2153.216 +25-6-2019 06:00,37005.504,17225.752,17225.752 +25-6-2019 07:00,61455.56,28607.056,28607.056 +25-6-2019 08:00,47578.49600000001,22147.4,22147.4 +25-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +25-6-2019 10:00,40309.56,18763.768,18763.768 +25-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +25-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +25-6-2019 13:00,23789.248000000003,11073.704,11073.704 +25-6-2019 14:00,20485.184,9535.688,9535.688 +25-6-2019 15:00,15859.496,7382.464,7382.464 +25-6-2019 16:00,17841.935999999998,8305.272,8305.272 +25-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +25-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +25-6-2019 19:00,52204.17600000001,24300.616,24300.616 +25-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +25-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +25-6-2019 22:00,27093.312,12611.712,12611.712 +25-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +26-6-2019 00:00,4625.688,2153.216,2153.216 +26-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +26-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +26-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +26-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +26-6-2019 05:00,4625.688,2153.216,2153.216 +26-6-2019 06:00,37005.504,17225.752,17225.752 +26-6-2019 07:00,61455.56,28607.056,28607.056 +26-6-2019 08:00,47578.49600000001,22147.4,22147.4 +26-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +26-6-2019 10:00,40309.56,18763.768,18763.768 +26-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +26-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +26-6-2019 13:00,23789.248000000003,11073.704,11073.704 +26-6-2019 14:00,20485.184,9535.688,9535.688 +26-6-2019 15:00,15859.496,7382.464,7382.464 +26-6-2019 16:00,17841.935999999998,8305.272,8305.272 +26-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +26-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +26-6-2019 19:00,52204.17600000001,24300.616,24300.616 +26-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +26-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +26-6-2019 22:00,27093.312,12611.712,12611.712 +26-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +27-6-2019 00:00,4625.688,2153.216,2153.216 +27-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +27-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +27-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +27-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +27-6-2019 05:00,4625.688,2153.216,2153.216 +27-6-2019 06:00,37005.504,17225.752,17225.752 +27-6-2019 07:00,61455.56,28607.056,28607.056 +27-6-2019 08:00,47578.49600000001,22147.4,22147.4 +27-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +27-6-2019 10:00,40309.56,18763.768,18763.768 +27-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +27-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +27-6-2019 13:00,23789.248000000003,11073.704,11073.704 +27-6-2019 14:00,20485.184,9535.688,9535.688 +27-6-2019 15:00,15859.496,7382.464,7382.464 +27-6-2019 16:00,17841.935999999998,8305.272,8305.272 +27-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +27-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +27-6-2019 19:00,52204.17600000001,24300.616,24300.616 +27-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +27-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +27-6-2019 22:00,27093.312,12611.712,12611.712 +27-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +28-6-2019 00:00,4625.688,2153.216,2153.216 +28-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +28-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +28-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +28-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +28-6-2019 05:00,4625.688,2153.216,2153.216 +28-6-2019 06:00,37005.504,17225.752,17225.752 +28-6-2019 07:00,61455.56,28607.056,28607.056 +28-6-2019 08:00,47578.49600000001,22147.4,22147.4 +28-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +28-6-2019 10:00,40309.56,18763.768,18763.768 +28-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +28-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +28-6-2019 13:00,23789.248000000003,11073.704,11073.704 +28-6-2019 14:00,20485.184,9535.688,9535.688 +28-6-2019 15:00,15859.496,7382.464,7382.464 +28-6-2019 16:00,17841.935999999998,8305.272,8305.272 +28-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +28-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +28-6-2019 19:00,52204.17600000001,24300.616,24300.616 +28-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +28-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +28-6-2019 22:00,27093.312,12611.712,12611.712 +28-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +29-6-2019 00:00,4625.688,2153.216,2153.216 +29-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +29-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +29-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +29-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +29-6-2019 05:00,4625.688,2153.216,2153.216 +29-6-2019 06:00,37005.504,17225.752,17225.752 +29-6-2019 07:00,61455.56,28607.056,28607.056 +29-6-2019 08:00,47578.49600000001,22147.4,22147.4 +29-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +29-6-2019 10:00,40309.56,18763.768,18763.768 +29-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +29-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +29-6-2019 13:00,23789.248000000003,11073.704,11073.704 +29-6-2019 14:00,20485.184,9535.688,9535.688 +29-6-2019 15:00,15859.496,7382.464,7382.464 +29-6-2019 16:00,17841.935999999998,8305.272,8305.272 +29-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +29-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +29-6-2019 19:00,52204.17600000001,24300.616,24300.616 +29-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +29-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +29-6-2019 22:00,27093.312,12611.712,12611.712 +29-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +30-6-2019 00:00,4625.688,2153.216,2153.216 +30-6-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +30-6-2019 02:00,660.488,307.44800000000004,307.44800000000004 +30-6-2019 03:00,660.488,307.44800000000004,307.44800000000004 +30-6-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +30-6-2019 05:00,4625.688,2153.216,2153.216 +30-6-2019 06:00,37005.504,17225.752,17225.752 +30-6-2019 07:00,61455.56,28607.056,28607.056 +30-6-2019 08:00,47578.49600000001,22147.4,22147.4 +30-6-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +30-6-2019 10:00,40309.56,18763.768,18763.768 +30-6-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +30-6-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +30-6-2019 13:00,23789.248000000003,11073.704,11073.704 +30-6-2019 14:00,20485.184,9535.688,9535.688 +30-6-2019 15:00,15859.496,7382.464,7382.464 +30-6-2019 16:00,17841.935999999998,8305.272,8305.272 +30-6-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +30-6-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +30-6-2019 19:00,52204.17600000001,24300.616,24300.616 +30-6-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +30-6-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +30-6-2019 22:00,27093.312,12611.712,12611.712 +30-6-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +1-7-2019 00:00,4625.688,2153.216,2153.216 +1-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +1-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +1-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +1-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +1-7-2019 05:00,4625.688,2153.216,2153.216 +1-7-2019 06:00,37005.504,17225.752,17225.752 +1-7-2019 07:00,61455.56,28607.056,28607.056 +1-7-2019 08:00,47578.49600000001,22147.4,22147.4 +1-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +1-7-2019 10:00,40309.56,18763.768,18763.768 +1-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +1-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +1-7-2019 13:00,23789.248000000003,11073.704,11073.704 +1-7-2019 14:00,20485.184,9535.688,9535.688 +1-7-2019 15:00,15859.496,7382.464,7382.464 +1-7-2019 16:00,17841.935999999998,8305.272,8305.272 +1-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +1-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +1-7-2019 19:00,52204.17600000001,24300.616,24300.616 +1-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +1-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +1-7-2019 22:00,27093.312,12611.712,12611.712 +1-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +2-7-2019 00:00,4625.688,2153.216,2153.216 +2-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +2-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +2-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +2-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +2-7-2019 05:00,4625.688,2153.216,2153.216 +2-7-2019 06:00,37005.504,17225.752,17225.752 +2-7-2019 07:00,61455.56,28607.056,28607.056 +2-7-2019 08:00,47578.49600000001,22147.4,22147.4 +2-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +2-7-2019 10:00,40309.56,18763.768,18763.768 +2-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +2-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +2-7-2019 13:00,23789.248000000003,11073.704,11073.704 +2-7-2019 14:00,20485.184,9535.688,9535.688 +2-7-2019 15:00,15859.496,7382.464,7382.464 +2-7-2019 16:00,17841.935999999998,8305.272,8305.272 +2-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +2-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +2-7-2019 19:00,52204.17600000001,24300.616,24300.616 +2-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +2-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +2-7-2019 22:00,27093.312,12611.712,12611.712 +2-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +3-7-2019 00:00,4625.688,2153.216,2153.216 +3-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +3-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +3-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +3-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +3-7-2019 05:00,4625.688,2153.216,2153.216 +3-7-2019 06:00,37005.504,17225.752,17225.752 +3-7-2019 07:00,61455.56,28607.056,28607.056 +3-7-2019 08:00,47578.49600000001,22147.4,22147.4 +3-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +3-7-2019 10:00,40309.56,18763.768,18763.768 +3-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +3-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +3-7-2019 13:00,23789.248000000003,11073.704,11073.704 +3-7-2019 14:00,20485.184,9535.688,9535.688 +3-7-2019 15:00,15859.496,7382.464,7382.464 +3-7-2019 16:00,17841.935999999998,8305.272,8305.272 +3-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +3-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +3-7-2019 19:00,52204.17600000001,24300.616,24300.616 +3-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +3-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +3-7-2019 22:00,27093.312,12611.712,12611.712 +3-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +4-7-2019 00:00,4625.688,2153.216,2153.216 +4-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +4-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +4-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +4-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +4-7-2019 05:00,4625.688,2153.216,2153.216 +4-7-2019 06:00,37005.504,17225.752,17225.752 +4-7-2019 07:00,61455.56,28607.056,28607.056 +4-7-2019 08:00,47578.49600000001,22147.4,22147.4 +4-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +4-7-2019 10:00,40309.56,18763.768,18763.768 +4-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +4-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +4-7-2019 13:00,23789.248000000003,11073.704,11073.704 +4-7-2019 14:00,20485.184,9535.688,9535.688 +4-7-2019 15:00,15859.496,7382.464,7382.464 +4-7-2019 16:00,17841.935999999998,8305.272,8305.272 +4-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +4-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +4-7-2019 19:00,52204.17600000001,24300.616,24300.616 +4-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +4-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +4-7-2019 22:00,27093.312,12611.712,12611.712 +4-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +5-7-2019 00:00,4625.688,2153.216,2153.216 +5-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +5-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +5-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +5-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +5-7-2019 05:00,4625.688,2153.216,2153.216 +5-7-2019 06:00,37005.504,17225.752,17225.752 +5-7-2019 07:00,61455.56,28607.056,28607.056 +5-7-2019 08:00,47578.49600000001,22147.4,22147.4 +5-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +5-7-2019 10:00,40309.56,18763.768,18763.768 +5-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +5-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +5-7-2019 13:00,23789.248000000003,11073.704,11073.704 +5-7-2019 14:00,20485.184,9535.688,9535.688 +5-7-2019 15:00,15859.496,7382.464,7382.464 +5-7-2019 16:00,17841.935999999998,8305.272,8305.272 +5-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +5-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +5-7-2019 19:00,52204.17600000001,24300.616,24300.616 +5-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +5-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +5-7-2019 22:00,27093.312,12611.712,12611.712 +5-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +6-7-2019 00:00,4625.688,2153.216,2153.216 +6-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +6-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +6-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +6-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +6-7-2019 05:00,4625.688,2153.216,2153.216 +6-7-2019 06:00,37005.504,17225.752,17225.752 +6-7-2019 07:00,61455.56,28607.056,28607.056 +6-7-2019 08:00,47578.49600000001,22147.4,22147.4 +6-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +6-7-2019 10:00,40309.56,18763.768,18763.768 +6-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +6-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +6-7-2019 13:00,23789.248000000003,11073.704,11073.704 +6-7-2019 14:00,20485.184,9535.688,9535.688 +6-7-2019 15:00,15859.496,7382.464,7382.464 +6-7-2019 16:00,17841.935999999998,8305.272,8305.272 +6-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +6-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +6-7-2019 19:00,52204.17600000001,24300.616,24300.616 +6-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +6-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +6-7-2019 22:00,27093.312,12611.712,12611.712 +6-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +7-7-2019 00:00,4625.688,2153.216,2153.216 +7-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +7-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +7-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +7-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +7-7-2019 05:00,4625.688,2153.216,2153.216 +7-7-2019 06:00,37005.504,17225.752,17225.752 +7-7-2019 07:00,61455.56,28607.056,28607.056 +7-7-2019 08:00,47578.49600000001,22147.4,22147.4 +7-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +7-7-2019 10:00,40309.56,18763.768,18763.768 +7-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +7-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +7-7-2019 13:00,23789.248000000003,11073.704,11073.704 +7-7-2019 14:00,20485.184,9535.688,9535.688 +7-7-2019 15:00,15859.496,7382.464,7382.464 +7-7-2019 16:00,17841.935999999998,8305.272,8305.272 +7-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +7-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +7-7-2019 19:00,52204.17600000001,24300.616,24300.616 +7-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +7-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +7-7-2019 22:00,27093.312,12611.712,12611.712 +7-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +8-7-2019 00:00,4625.688,2153.216,2153.216 +8-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +8-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +8-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +8-7-2019 04:00,2229.52,1037.824,1037.824 +8-7-2019 05:00,5663.512000000001,2636.32,2636.32 +8-7-2019 06:00,37005.504,17225.752,17225.752 +8-7-2019 07:00,61455.56,28607.056,28607.056 +8-7-2019 08:00,47578.49600000001,22147.4,22147.4 +8-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +8-7-2019 10:00,40309.56,18763.768,18763.768 +8-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +8-7-2019 12:00,37294.416,17360.248000000003,17360.248000000003 +8-7-2019 13:00,23789.248000000003,11073.704,11073.704 +8-7-2019 14:00,20485.184,9535.688,9535.688 +8-7-2019 15:00,15859.496,7382.464,7382.464 +8-7-2019 16:00,17841.935999999998,8305.272,8305.272 +8-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +8-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +8-7-2019 19:00,52204.17600000001,24300.616,24300.616 +8-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +8-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +8-7-2019 22:00,27093.312,12611.712,12611.712 +8-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +9-7-2019 00:00,4625.688,2153.216,2153.216 +9-7-2019 01:00,3323.7120000000004,1547.16,1547.16 +9-7-2019 02:00,2327.3759999999997,1083.376,1083.376 +9-7-2019 03:00,2533.16,1179.1680000000001,1179.1680000000001 +9-7-2019 04:00,3183.2080000000005,1481.7600000000002,1481.7600000000002 +9-7-2019 05:00,5922.328,2756.792,2756.792 +9-7-2019 06:00,37005.504,17225.752,17225.752 +9-7-2019 07:00,69324.808,32270.128000000004,32270.128000000004 +9-7-2019 08:00,52400.128000000004,24391.832000000002,24391.832000000002 +9-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +9-7-2019 10:00,40309.56,18763.768,18763.768 +9-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +9-7-2019 12:00,41101.064000000006,19132.208,19132.208 +9-7-2019 13:00,23789.248000000003,11073.704,11073.704 +9-7-2019 14:00,20485.184,9535.688,9535.688 +9-7-2019 15:00,15859.496,7382.464,7382.464 +9-7-2019 16:00,17841.935999999998,8305.272,8305.272 +9-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +9-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +9-7-2019 19:00,52204.17600000001,24300.616,24300.616 +9-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +9-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +9-7-2019 22:00,27093.312,12611.712,12611.712 +9-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +10-7-2019 00:00,4625.688,2153.216,2153.216 +10-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +10-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +10-7-2019 03:00,2008.944,935.1440000000001,935.1440000000001 +10-7-2019 04:00,2869.84,1335.888,1335.888 +10-7-2019 05:00,5967.976000000001,2778.0400000000004,2778.0400000000004 +10-7-2019 06:00,37005.504,17225.752,17225.752 +10-7-2019 07:00,67084.232,31227.16,31227.16 +10-7-2019 08:00,50623.296,23564.728000000003,23564.728000000003 +10-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +10-7-2019 10:00,40309.56,18763.768,18763.768 +10-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +10-7-2019 12:00,44185.648,20568.064000000002,20568.064000000002 +10-7-2019 13:00,23789.248000000003,11073.704,11073.704 +10-7-2019 14:00,20485.184,9535.688,9535.688 +10-7-2019 15:00,15859.496,7382.464,7382.464 +10-7-2019 16:00,17841.935999999998,8305.272,8305.272 +10-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +10-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +10-7-2019 19:00,52204.17600000001,24300.616,24300.616 +10-7-2019 20:00,48951.264,22786.416,22786.416 +10-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +10-7-2019 22:00,27093.312,12611.712,12611.712 +10-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +11-7-2019 00:00,5232.2480000000005,2435.568,2435.568 +11-7-2019 01:00,3967.568,1846.8720000000003,1846.8720000000003 +11-7-2019 02:00,1980.5680000000002,921.9360000000001,921.9360000000001 +11-7-2019 03:00,1975.7520000000002,919.6959999999999,919.6959999999999 +11-7-2019 04:00,2611.4320000000002,1215.6000000000001,1215.6000000000001 +11-7-2019 05:00,5692.32,2649.728,2649.728 +11-7-2019 06:00,37005.504,17225.752,17225.752 +11-7-2019 07:00,68195.61600000001,31744.504,31744.504 +11-7-2019 08:00,52420.28,24401.208,24401.208 +11-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +11-7-2019 10:00,40309.56,18763.768,18763.768 +11-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +11-7-2019 12:00,39841.704,18545.984,18545.984 +11-7-2019 13:00,23789.248000000003,11073.704,11073.704 +11-7-2019 14:00,20485.184,9535.688,9535.688 +11-7-2019 15:00,15859.496,7382.464,7382.464 +11-7-2019 16:00,17841.935999999998,8305.272,8305.272 +11-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +11-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +11-7-2019 19:00,52204.17600000001,24300.616,24300.616 +11-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +11-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +11-7-2019 22:00,27093.312,12611.712,12611.712 +11-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +12-7-2019 00:00,4625.688,2153.216,2153.216 +12-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +12-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +12-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +12-7-2019 04:00,2439.2720000000004,1135.464,1135.464 +12-7-2019 05:00,5547.376,2582.2560000000003,2582.2560000000003 +12-7-2019 06:00,37005.504,17225.752,17225.752 +12-7-2019 07:00,61455.56,28607.056,28607.056 +12-7-2019 08:00,47578.49600000001,22147.4,22147.4 +12-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +12-7-2019 10:00,40309.56,18763.768,18763.768 +12-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +12-7-2019 12:00,34571.184,16092.6,16092.6 +12-7-2019 13:00,23789.248000000003,11073.704,11073.704 +12-7-2019 14:00,20485.184,9535.688,9535.688 +12-7-2019 15:00,15859.496,7382.464,7382.464 +12-7-2019 16:00,17841.935999999998,8305.272,8305.272 +12-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +12-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +12-7-2019 19:00,52204.17600000001,24300.616,24300.616 +12-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +12-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +12-7-2019 22:00,27093.312,12611.712,12611.712 +12-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +13-7-2019 00:00,4625.688,2153.216,2153.216 +13-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +13-7-2019 02:00,1099.336,511.728,511.728 +13-7-2019 03:00,1839.8880000000001,856.448,856.448 +13-7-2019 04:00,2480.8080000000004,1154.7920000000001,1154.7920000000001 +13-7-2019 05:00,5617.784,2615.032,2615.032 +13-7-2019 06:00,38478.984000000004,17911.648,17911.648 +13-7-2019 07:00,74211.808,34544.992,34544.992 +13-7-2019 08:00,47578.49600000001,22147.4,22147.4 +13-7-2019 09:00,70896.944,33001.944,33001.944 +13-7-2019 10:00,40309.56,18763.768,18763.768 +13-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +13-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +13-7-2019 13:00,23789.248000000003,11073.704,11073.704 +13-7-2019 14:00,20485.184,9535.688,9535.688 +13-7-2019 15:00,15859.496,7382.464,7382.464 +13-7-2019 16:00,17841.935999999998,8305.272,8305.272 +13-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +13-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +13-7-2019 19:00,52204.17600000001,24300.616,24300.616 +13-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +13-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +13-7-2019 22:00,27093.312,12611.712,12611.712 +13-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +14-7-2019 00:00,4625.688,2153.216,2153.216 +14-7-2019 01:00,2912.8,1355.888,1355.888 +14-7-2019 02:00,1969.832,916.9360000000001,916.9360000000001 +14-7-2019 03:00,1985.744,924.344,924.344 +14-7-2019 04:00,2715.928,1264.24,1264.24 +14-7-2019 05:00,5827.776000000001,2712.784,2712.784 +14-7-2019 06:00,39094.864,18198.336,18198.336 +14-7-2019 07:00,96631.91200000001,44981.368,44981.368 +14-7-2019 08:00,49393.344000000005,22992.2,22992.2 +14-7-2019 09:00,73210.808,34079.04,34079.04 +14-7-2019 10:00,40309.56,18763.768,18763.768 +14-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +14-7-2019 12:00,30575.456000000002,14232.624,14232.624 +14-7-2019 13:00,23789.248000000003,11073.704,11073.704 +14-7-2019 14:00,20485.184,9535.688,9535.688 +14-7-2019 15:00,15859.496,7382.464,7382.464 +14-7-2019 16:00,17841.935999999998,8305.272,8305.272 +14-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +14-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +14-7-2019 19:00,52204.17600000001,24300.616,24300.616 +14-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +14-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +14-7-2019 22:00,27093.312,12611.712,12611.712 +14-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +15-7-2019 00:00,4625.688,2153.216,2153.216 +15-7-2019 01:00,3586.928,1669.688,1669.688 +15-7-2019 02:00,2082.4880000000003,969.384,969.384 +15-7-2019 03:00,2145.704,998.808,998.808 +15-7-2019 04:00,2795.664,1301.3600000000001,1301.3600000000001 +15-7-2019 05:00,5939.552,2764.8080000000004,2764.8080000000004 +15-7-2019 06:00,37005.504,17225.752,17225.752 +15-7-2019 07:00,80078.952,37276.104,37276.104 +15-7-2019 08:00,58981.744,27455.520000000004,27455.520000000004 +15-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +15-7-2019 10:00,40309.56,18763.768,18763.768 +15-7-2019 11:00,35220.808000000005,16395.0,16395.0 +15-7-2019 12:00,50034.32000000001,23290.568,23290.568 +15-7-2019 13:00,23789.248000000003,11073.704,11073.704 +15-7-2019 14:00,20485.184,9535.688,9535.688 +15-7-2019 15:00,15859.496,7382.464,7382.464 +15-7-2019 16:00,17841.935999999998,8305.272,8305.272 +15-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +15-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +15-7-2019 19:00,52204.17600000001,24300.616,24300.616 +15-7-2019 20:00,46763.28,21767.928,21767.928 +15-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +15-7-2019 22:00,27093.312,12611.712,12611.712 +15-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +16-7-2019 00:00,5411.144,2518.848,2518.848 +16-7-2019 01:00,4127.648,1921.384,1921.384 +16-7-2019 02:00,2151.672,1001.5840000000001,1001.5840000000001 +16-7-2019 03:00,2129.904,991.456,991.456 +16-7-2019 04:00,5387.024,2507.616,2507.616 +16-7-2019 05:00,12732.376,5926.816000000001,5926.816000000001 +16-7-2019 06:00,37005.504,17225.752,17225.752 +16-7-2019 07:00,88732.50400000002,41304.256,41304.256 +16-7-2019 08:00,65612.144,30541.920000000002,30541.920000000002 +16-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +16-7-2019 10:00,40309.56,18763.768,18763.768 +16-7-2019 11:00,35694.864,16615.664,16615.664 +16-7-2019 12:00,51809.60800000001,24116.944000000003,24116.944000000003 +16-7-2019 13:00,23789.248000000003,11073.704,11073.704 +16-7-2019 14:00,20485.184,9535.688,9535.688 +16-7-2019 15:00,16169.68,7526.856,7526.856 +16-7-2019 16:00,17841.935999999998,8305.272,8305.272 +16-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +16-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +16-7-2019 19:00,52204.17600000001,24300.616,24300.616 +16-7-2019 20:00,46377.432,21588.312,21588.312 +16-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +16-7-2019 22:00,27093.312,12611.712,12611.712 +16-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +17-7-2019 00:00,6039.528,2811.3520000000003,2811.3520000000003 +17-7-2019 01:00,4559.664,2122.4880000000003,2122.4880000000003 +17-7-2019 02:00,3166.96,1474.192,1474.192 +17-7-2019 03:00,18038.128,8396.6,8396.6 +17-7-2019 04:00,23042.816000000003,10726.24,10726.24 +17-7-2019 05:00,20270.392000000003,9435.704,9435.704 +17-7-2019 06:00,37005.504,17225.752,17225.752 +17-7-2019 07:00,81188.82400000001,37792.736,37792.736 +17-7-2019 08:00,51741.008,24085.016000000003,24085.016000000003 +17-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +17-7-2019 10:00,40309.56,18763.768,18763.768 +17-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +17-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +17-7-2019 13:00,23789.248000000003,11073.704,11073.704 +17-7-2019 14:00,20485.184,9535.688,9535.688 +17-7-2019 15:00,15859.496,7382.464,7382.464 +17-7-2019 16:00,17841.935999999998,8305.272,8305.272 +17-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +17-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +17-7-2019 19:00,52204.17600000001,24300.616,24300.616 +17-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +17-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +17-7-2019 22:00,27093.312,12611.712,12611.712 +17-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +18-7-2019 00:00,4625.688,2153.216,2153.216 +18-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +18-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +18-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +18-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +18-7-2019 05:00,4880.808,2271.976,2271.976 +18-7-2019 06:00,37005.504,17225.752,17225.752 +18-7-2019 07:00,61597.096,28672.944000000003,28672.944000000003 +18-7-2019 08:00,47578.49600000001,22147.4,22147.4 +18-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +18-7-2019 10:00,40309.56,18763.768,18763.768 +18-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +18-7-2019 12:00,34882.616,16237.568,16237.568 +18-7-2019 13:00,23789.248000000003,11073.704,11073.704 +18-7-2019 14:00,20485.184,9535.688,9535.688 +18-7-2019 15:00,15859.496,7382.464,7382.464 +18-7-2019 16:00,17841.935999999998,8305.272,8305.272 +18-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +18-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +18-7-2019 19:00,52204.17600000001,24300.616,24300.616 +18-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +18-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +18-7-2019 22:00,27093.312,12611.712,12611.712 +18-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +19-7-2019 00:00,4625.688,2153.216,2153.216 +19-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +19-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +19-7-2019 03:00,1034.24,481.432,481.432 +19-7-2019 04:00,2510.8240000000005,1168.768,1168.768 +19-7-2019 05:00,5541.0560000000005,2579.32,2579.32 +19-7-2019 06:00,37005.504,17225.752,17225.752 +19-7-2019 07:00,62166.376000000004,28937.944000000003,28937.944000000003 +19-7-2019 08:00,47578.49600000001,22147.4,22147.4 +19-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +19-7-2019 10:00,40309.56,18763.768,18763.768 +19-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +19-7-2019 12:00,32314.112,15041.952,15041.952 +19-7-2019 13:00,23789.248000000003,11073.704,11073.704 +19-7-2019 14:00,20485.184,9535.688,9535.688 +19-7-2019 15:00,15859.496,7382.464,7382.464 +19-7-2019 16:00,17841.935999999998,8305.272,8305.272 +19-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +19-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +19-7-2019 19:00,52204.17600000001,24300.616,24300.616 +19-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +19-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +19-7-2019 22:00,27093.312,12611.712,12611.712 +19-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +20-7-2019 00:00,4625.688,2153.216,2153.216 +20-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +20-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +20-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +20-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +20-7-2019 05:00,4625.688,2153.216,2153.216 +20-7-2019 06:00,37005.504,17225.752,17225.752 +20-7-2019 07:00,61455.56,28607.056,28607.056 +20-7-2019 08:00,47578.49600000001,22147.4,22147.4 +20-7-2019 09:00,59596.880000000005,27741.864,27741.864 +20-7-2019 10:00,40309.56,18763.768,18763.768 +20-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +20-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +20-7-2019 13:00,23789.248000000003,11073.704,11073.704 +20-7-2019 14:00,20485.184,9535.688,9535.688 +20-7-2019 15:00,15859.496,7382.464,7382.464 +20-7-2019 16:00,17841.935999999998,8305.272,8305.272 +20-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +20-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +20-7-2019 19:00,52204.17600000001,24300.616,24300.616 +20-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +20-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +20-7-2019 22:00,27093.312,12611.712,12611.712 +20-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +21-7-2019 00:00,4625.688,2153.216,2153.216 +21-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +21-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +21-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +21-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +21-7-2019 05:00,4625.688,2153.216,2153.216 +21-7-2019 06:00,37005.504,17225.752,17225.752 +21-7-2019 07:00,61455.56,28607.056,28607.056 +21-7-2019 08:00,47578.49600000001,22147.4,22147.4 +21-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +21-7-2019 10:00,40309.56,18763.768,18763.768 +21-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +21-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +21-7-2019 13:00,23789.248000000003,11073.704,11073.704 +21-7-2019 14:00,20485.184,9535.688,9535.688 +21-7-2019 15:00,15859.496,7382.464,7382.464 +21-7-2019 16:00,17841.935999999998,8305.272,8305.272 +21-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +21-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +21-7-2019 19:00,52204.17600000001,24300.616,24300.616 +21-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +21-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +21-7-2019 22:00,27093.312,12611.712,12611.712 +21-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +22-7-2019 00:00,4625.688,2153.216,2153.216 +22-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +22-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +22-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +22-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +22-7-2019 05:00,4625.688,2153.216,2153.216 +22-7-2019 06:00,37005.504,17225.752,17225.752 +22-7-2019 07:00,61455.56,28607.056,28607.056 +22-7-2019 08:00,47578.49600000001,22147.4,22147.4 +22-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +22-7-2019 10:00,40309.56,18763.768,18763.768 +22-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +22-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +22-7-2019 13:00,23789.248000000003,11073.704,11073.704 +22-7-2019 14:00,20485.184,9535.688,9535.688 +22-7-2019 15:00,15859.496,7382.464,7382.464 +22-7-2019 16:00,17841.935999999998,8305.272,8305.272 +22-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +22-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +22-7-2019 19:00,52204.17600000001,24300.616,24300.616 +22-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +22-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +22-7-2019 22:00,27093.312,12611.712,12611.712 +22-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +23-7-2019 00:00,4625.688,2153.216,2153.216 +23-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +23-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +23-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +23-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +23-7-2019 05:00,4625.688,2153.216,2153.216 +23-7-2019 06:00,37005.504,17225.752,17225.752 +23-7-2019 07:00,61455.56,28607.056,28607.056 +23-7-2019 08:00,47578.49600000001,22147.4,22147.4 +23-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +23-7-2019 10:00,40309.56,18763.768,18763.768 +23-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +23-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +23-7-2019 13:00,23789.248000000003,11073.704,11073.704 +23-7-2019 14:00,20485.184,9535.688,9535.688 +23-7-2019 15:00,15859.496,7382.464,7382.464 +23-7-2019 16:00,17841.935999999998,8305.272,8305.272 +23-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +23-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +23-7-2019 19:00,52204.17600000001,24300.616,24300.616 +23-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +23-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +23-7-2019 22:00,27093.312,12611.712,12611.712 +23-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +24-7-2019 00:00,4625.688,2153.216,2153.216 +24-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +24-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +24-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +24-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +24-7-2019 05:00,4625.688,2153.216,2153.216 +24-7-2019 06:00,37005.504,17225.752,17225.752 +24-7-2019 07:00,61455.56,28607.056,28607.056 +24-7-2019 08:00,47578.49600000001,22147.4,22147.4 +24-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +24-7-2019 10:00,40309.56,18763.768,18763.768 +24-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +24-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +24-7-2019 13:00,23789.248000000003,11073.704,11073.704 +24-7-2019 14:00,20485.184,9535.688,9535.688 +24-7-2019 15:00,15859.496,7382.464,7382.464 +24-7-2019 16:00,17841.935999999998,8305.272,8305.272 +24-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +24-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +24-7-2019 19:00,52204.17600000001,24300.616,24300.616 +24-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +24-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +24-7-2019 22:00,27093.312,12611.712,12611.712 +24-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +25-7-2019 00:00,4625.688,2153.216,2153.216 +25-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +25-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +25-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +25-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +25-7-2019 05:00,4625.688,2153.216,2153.216 +25-7-2019 06:00,37005.504,17225.752,17225.752 +25-7-2019 07:00,61455.56,28607.056,28607.056 +25-7-2019 08:00,47578.49600000001,22147.4,22147.4 +25-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +25-7-2019 10:00,40309.56,18763.768,18763.768 +25-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +25-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +25-7-2019 13:00,23789.248000000003,11073.704,11073.704 +25-7-2019 14:00,20485.184,9535.688,9535.688 +25-7-2019 15:00,15859.496,7382.464,7382.464 +25-7-2019 16:00,17841.935999999998,8305.272,8305.272 +25-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +25-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +25-7-2019 19:00,52204.17600000001,24300.616,24300.616 +25-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +25-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +25-7-2019 22:00,27093.312,12611.712,12611.712 +25-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +26-7-2019 00:00,4625.688,2153.216,2153.216 +26-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +26-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +26-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +26-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +26-7-2019 05:00,4625.688,2153.216,2153.216 +26-7-2019 06:00,37005.504,17225.752,17225.752 +26-7-2019 07:00,61455.56,28607.056,28607.056 +26-7-2019 08:00,47578.49600000001,22147.4,22147.4 +26-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +26-7-2019 10:00,40309.56,18763.768,18763.768 +26-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +26-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +26-7-2019 13:00,23789.248000000003,11073.704,11073.704 +26-7-2019 14:00,20485.184,9535.688,9535.688 +26-7-2019 15:00,15859.496,7382.464,7382.464 +26-7-2019 16:00,17841.935999999998,8305.272,8305.272 +26-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +26-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +26-7-2019 19:00,52204.17600000001,24300.616,24300.616 +26-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +26-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +26-7-2019 22:00,27093.312,12611.712,12611.712 +26-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +27-7-2019 00:00,4625.688,2153.216,2153.216 +27-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +27-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +27-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +27-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +27-7-2019 05:00,4625.688,2153.216,2153.216 +27-7-2019 06:00,37005.504,17225.752,17225.752 +27-7-2019 07:00,61455.56,28607.056,28607.056 +27-7-2019 08:00,47578.49600000001,22147.4,22147.4 +27-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +27-7-2019 10:00,40309.56,18763.768,18763.768 +27-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +27-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +27-7-2019 13:00,23789.248000000003,11073.704,11073.704 +27-7-2019 14:00,20485.184,9535.688,9535.688 +27-7-2019 15:00,15859.496,7382.464,7382.464 +27-7-2019 16:00,17841.935999999998,8305.272,8305.272 +27-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +27-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +27-7-2019 19:00,52204.17600000001,24300.616,24300.616 +27-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +27-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +27-7-2019 22:00,27093.312,12611.712,12611.712 +27-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +28-7-2019 00:00,4625.688,2153.216,2153.216 +28-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +28-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +28-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +28-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +28-7-2019 05:00,4625.688,2153.216,2153.216 +28-7-2019 06:00,37005.504,17225.752,17225.752 +28-7-2019 07:00,61455.56,28607.056,28607.056 +28-7-2019 08:00,47578.49600000001,22147.4,22147.4 +28-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +28-7-2019 10:00,40309.56,18763.768,18763.768 +28-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +28-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +28-7-2019 13:00,23789.248000000003,11073.704,11073.704 +28-7-2019 14:00,20485.184,9535.688,9535.688 +28-7-2019 15:00,15859.496,7382.464,7382.464 +28-7-2019 16:00,17841.935999999998,8305.272,8305.272 +28-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +28-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +28-7-2019 19:00,52204.17600000001,24300.616,24300.616 +28-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +28-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +28-7-2019 22:00,27093.312,12611.712,12611.712 +28-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +29-7-2019 00:00,4625.688,2153.216,2153.216 +29-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +29-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +29-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +29-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +29-7-2019 05:00,4625.688,2153.216,2153.216 +29-7-2019 06:00,37005.504,17225.752,17225.752 +29-7-2019 07:00,61455.56,28607.056,28607.056 +29-7-2019 08:00,47578.49600000001,22147.4,22147.4 +29-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +29-7-2019 10:00,40309.56,18763.768,18763.768 +29-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +29-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +29-7-2019 13:00,23789.248000000003,11073.704,11073.704 +29-7-2019 14:00,20485.184,9535.688,9535.688 +29-7-2019 15:00,15859.496,7382.464,7382.464 +29-7-2019 16:00,17841.935999999998,8305.272,8305.272 +29-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +29-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +29-7-2019 19:00,52204.17600000001,24300.616,24300.616 +29-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +29-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +29-7-2019 22:00,27093.312,12611.712,12611.712 +29-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +30-7-2019 00:00,4625.688,2153.216,2153.216 +30-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +30-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +30-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +30-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +30-7-2019 05:00,4625.688,2153.216,2153.216 +30-7-2019 06:00,37005.504,17225.752,17225.752 +30-7-2019 07:00,61455.56,28607.056,28607.056 +30-7-2019 08:00,47578.49600000001,22147.4,22147.4 +30-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +30-7-2019 10:00,40309.56,18763.768,18763.768 +30-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +30-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +30-7-2019 13:00,23789.248000000003,11073.704,11073.704 +30-7-2019 14:00,20485.184,9535.688,9535.688 +30-7-2019 15:00,15859.496,7382.464,7382.464 +30-7-2019 16:00,17841.935999999998,8305.272,8305.272 +30-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +30-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +30-7-2019 19:00,52204.17600000001,24300.616,24300.616 +30-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +30-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +30-7-2019 22:00,27093.312,12611.712,12611.712 +30-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +31-7-2019 00:00,4625.688,2153.216,2153.216 +31-7-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +31-7-2019 02:00,660.488,307.44800000000004,307.44800000000004 +31-7-2019 03:00,660.488,307.44800000000004,307.44800000000004 +31-7-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +31-7-2019 05:00,4625.688,2153.216,2153.216 +31-7-2019 06:00,37005.504,17225.752,17225.752 +31-7-2019 07:00,61455.56,28607.056,28607.056 +31-7-2019 08:00,47578.49600000001,22147.4,22147.4 +31-7-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +31-7-2019 10:00,40309.56,18763.768,18763.768 +31-7-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +31-7-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +31-7-2019 13:00,23789.248000000003,11073.704,11073.704 +31-7-2019 14:00,20485.184,9535.688,9535.688 +31-7-2019 15:00,15859.496,7382.464,7382.464 +31-7-2019 16:00,17841.935999999998,8305.272,8305.272 +31-7-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +31-7-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +31-7-2019 19:00,52204.17600000001,24300.616,24300.616 +31-7-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +31-7-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +31-7-2019 22:00,27093.312,12611.712,12611.712 +31-7-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +1-8-2019 00:00,4625.688,2153.216,2153.216 +1-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +1-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +1-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +1-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +1-8-2019 05:00,4625.688,2153.216,2153.216 +1-8-2019 06:00,37005.504,17225.752,17225.752 +1-8-2019 07:00,61455.56,28607.056,28607.056 +1-8-2019 08:00,47578.49600000001,22147.4,22147.4 +1-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +1-8-2019 10:00,40309.56,18763.768,18763.768 +1-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +1-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +1-8-2019 13:00,23789.248000000003,11073.704,11073.704 +1-8-2019 14:00,20485.184,9535.688,9535.688 +1-8-2019 15:00,15859.496,7382.464,7382.464 +1-8-2019 16:00,17841.935999999998,8305.272,8305.272 +1-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +1-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +1-8-2019 19:00,52204.17600000001,24300.616,24300.616 +1-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +1-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +1-8-2019 22:00,27093.312,12611.712,12611.712 +1-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +2-8-2019 00:00,4625.688,2153.216,2153.216 +2-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +2-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +2-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +2-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +2-8-2019 05:00,4625.688,2153.216,2153.216 +2-8-2019 06:00,37005.504,17225.752,17225.752 +2-8-2019 07:00,61455.56,28607.056,28607.056 +2-8-2019 08:00,47578.49600000001,22147.4,22147.4 +2-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +2-8-2019 10:00,40309.56,18763.768,18763.768 +2-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +2-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +2-8-2019 13:00,23789.248000000003,11073.704,11073.704 +2-8-2019 14:00,20485.184,9535.688,9535.688 +2-8-2019 15:00,15859.496,7382.464,7382.464 +2-8-2019 16:00,17841.935999999998,8305.272,8305.272 +2-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +2-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +2-8-2019 19:00,52204.17600000001,24300.616,24300.616 +2-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +2-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +2-8-2019 22:00,27093.312,12611.712,12611.712 +2-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +3-8-2019 00:00,4625.688,2153.216,2153.216 +3-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +3-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +3-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +3-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +3-8-2019 05:00,4625.688,2153.216,2153.216 +3-8-2019 06:00,37005.504,17225.752,17225.752 +3-8-2019 07:00,61455.56,28607.056,28607.056 +3-8-2019 08:00,47578.49600000001,22147.4,22147.4 +3-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +3-8-2019 10:00,40309.56,18763.768,18763.768 +3-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +3-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +3-8-2019 13:00,23789.248000000003,11073.704,11073.704 +3-8-2019 14:00,20485.184,9535.688,9535.688 +3-8-2019 15:00,15859.496,7382.464,7382.464 +3-8-2019 16:00,17841.935999999998,8305.272,8305.272 +3-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +3-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +3-8-2019 19:00,52204.17600000001,24300.616,24300.616 +3-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +3-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +3-8-2019 22:00,27093.312,12611.712,12611.712 +3-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +4-8-2019 00:00,4625.688,2153.216,2153.216 +4-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +4-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +4-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +4-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +4-8-2019 05:00,4625.688,2153.216,2153.216 +4-8-2019 06:00,37005.504,17225.752,17225.752 +4-8-2019 07:00,61455.56,28607.056,28607.056 +4-8-2019 08:00,47578.49600000001,22147.4,22147.4 +4-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +4-8-2019 10:00,40309.56,18763.768,18763.768 +4-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +4-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +4-8-2019 13:00,23789.248000000003,11073.704,11073.704 +4-8-2019 14:00,20485.184,9535.688,9535.688 +4-8-2019 15:00,15859.496,7382.464,7382.464 +4-8-2019 16:00,17841.935999999998,8305.272,8305.272 +4-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +4-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +4-8-2019 19:00,52204.17600000001,24300.616,24300.616 +4-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +4-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +4-8-2019 22:00,27093.312,12611.712,12611.712 +4-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +5-8-2019 00:00,4625.688,2153.216,2153.216 +5-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +5-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +5-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +5-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +5-8-2019 05:00,4625.688,2153.216,2153.216 +5-8-2019 06:00,37005.504,17225.752,17225.752 +5-8-2019 07:00,61455.56,28607.056,28607.056 +5-8-2019 08:00,47578.49600000001,22147.4,22147.4 +5-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +5-8-2019 10:00,40309.56,18763.768,18763.768 +5-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +5-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +5-8-2019 13:00,23789.248000000003,11073.704,11073.704 +5-8-2019 14:00,20485.184,9535.688,9535.688 +5-8-2019 15:00,15859.496,7382.464,7382.464 +5-8-2019 16:00,17841.935999999998,8305.272,8305.272 +5-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +5-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +5-8-2019 19:00,52204.17600000001,24300.616,24300.616 +5-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +5-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +5-8-2019 22:00,27093.312,12611.712,12611.712 +5-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +6-8-2019 00:00,4625.688,2153.216,2153.216 +6-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +6-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +6-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +6-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +6-8-2019 05:00,4625.688,2153.216,2153.216 +6-8-2019 06:00,37005.504,17225.752,17225.752 +6-8-2019 07:00,61455.56,28607.056,28607.056 +6-8-2019 08:00,47578.49600000001,22147.4,22147.4 +6-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +6-8-2019 10:00,40309.56,18763.768,18763.768 +6-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +6-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +6-8-2019 13:00,23789.248000000003,11073.704,11073.704 +6-8-2019 14:00,20485.184,9535.688,9535.688 +6-8-2019 15:00,15859.496,7382.464,7382.464 +6-8-2019 16:00,17841.935999999998,8305.272,8305.272 +6-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +6-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +6-8-2019 19:00,52204.17600000001,24300.616,24300.616 +6-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +6-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +6-8-2019 22:00,27093.312,12611.712,12611.712 +6-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +7-8-2019 00:00,4625.688,2153.216,2153.216 +7-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +7-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +7-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +7-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +7-8-2019 05:00,4625.688,2153.216,2153.216 +7-8-2019 06:00,37005.504,17225.752,17225.752 +7-8-2019 07:00,61455.56,28607.056,28607.056 +7-8-2019 08:00,47578.49600000001,22147.4,22147.4 +7-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +7-8-2019 10:00,40309.56,18763.768,18763.768 +7-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +7-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +7-8-2019 13:00,23789.248000000003,11073.704,11073.704 +7-8-2019 14:00,20485.184,9535.688,9535.688 +7-8-2019 15:00,15859.496,7382.464,7382.464 +7-8-2019 16:00,17841.935999999998,8305.272,8305.272 +7-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +7-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +7-8-2019 19:00,52204.17600000001,24300.616,24300.616 +7-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +7-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +7-8-2019 22:00,27093.312,12611.712,12611.712 +7-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +8-8-2019 00:00,4625.688,2153.216,2153.216 +8-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +8-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +8-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +8-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +8-8-2019 05:00,4625.688,2153.216,2153.216 +8-8-2019 06:00,37005.504,17225.752,17225.752 +8-8-2019 07:00,61455.56,28607.056,28607.056 +8-8-2019 08:00,47578.49600000001,22147.4,22147.4 +8-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +8-8-2019 10:00,40309.56,18763.768,18763.768 +8-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +8-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +8-8-2019 13:00,23789.248000000003,11073.704,11073.704 +8-8-2019 14:00,20485.184,9535.688,9535.688 +8-8-2019 15:00,15859.496,7382.464,7382.464 +8-8-2019 16:00,17841.935999999998,8305.272,8305.272 +8-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +8-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +8-8-2019 19:00,52204.17600000001,24300.616,24300.616 +8-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +8-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +8-8-2019 22:00,27093.312,12611.712,12611.712 +8-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +9-8-2019 00:00,4625.688,2153.216,2153.216 +9-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +9-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +9-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +9-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +9-8-2019 05:00,4625.688,2153.216,2153.216 +9-8-2019 06:00,37005.504,17225.752,17225.752 +9-8-2019 07:00,61455.56,28607.056,28607.056 +9-8-2019 08:00,47578.49600000001,22147.4,22147.4 +9-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +9-8-2019 10:00,40309.56,18763.768,18763.768 +9-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +9-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +9-8-2019 13:00,23789.248000000003,11073.704,11073.704 +9-8-2019 14:00,20485.184,9535.688,9535.688 +9-8-2019 15:00,15859.496,7382.464,7382.464 +9-8-2019 16:00,17841.935999999998,8305.272,8305.272 +9-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +9-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +9-8-2019 19:00,52204.17600000001,24300.616,24300.616 +9-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +9-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +9-8-2019 22:00,27093.312,12611.712,12611.712 +9-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +10-8-2019 00:00,4625.688,2153.216,2153.216 +10-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +10-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +10-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +10-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +10-8-2019 05:00,4625.688,2153.216,2153.216 +10-8-2019 06:00,37005.504,17225.752,17225.752 +10-8-2019 07:00,61455.56,28607.056,28607.056 +10-8-2019 08:00,47578.49600000001,22147.4,22147.4 +10-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +10-8-2019 10:00,40309.56,18763.768,18763.768 +10-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +10-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +10-8-2019 13:00,23789.248000000003,11073.704,11073.704 +10-8-2019 14:00,20485.184,9535.688,9535.688 +10-8-2019 15:00,15859.496,7382.464,7382.464 +10-8-2019 16:00,17841.935999999998,8305.272,8305.272 +10-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +10-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +10-8-2019 19:00,52204.17600000001,24300.616,24300.616 +10-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +10-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +10-8-2019 22:00,27093.312,12611.712,12611.712 +10-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +11-8-2019 00:00,4625.688,2153.216,2153.216 +11-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +11-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +11-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +11-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +11-8-2019 05:00,4625.688,2153.216,2153.216 +11-8-2019 06:00,37005.504,17225.752,17225.752 +11-8-2019 07:00,61455.56,28607.056,28607.056 +11-8-2019 08:00,47578.49600000001,22147.4,22147.4 +11-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +11-8-2019 10:00,40309.56,18763.768,18763.768 +11-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +11-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +11-8-2019 13:00,23789.248000000003,11073.704,11073.704 +11-8-2019 14:00,20485.184,9535.688,9535.688 +11-8-2019 15:00,15859.496,7382.464,7382.464 +11-8-2019 16:00,17841.935999999998,8305.272,8305.272 +11-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +11-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +11-8-2019 19:00,52204.17600000001,24300.616,24300.616 +11-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +11-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +11-8-2019 22:00,27093.312,12611.712,12611.712 +11-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +12-8-2019 00:00,4625.688,2153.216,2153.216 +12-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +12-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +12-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +12-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +12-8-2019 05:00,4625.688,2153.216,2153.216 +12-8-2019 06:00,37005.504,17225.752,17225.752 +12-8-2019 07:00,61455.56,28607.056,28607.056 +12-8-2019 08:00,47578.49600000001,22147.4,22147.4 +12-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +12-8-2019 10:00,40309.56,18763.768,18763.768 +12-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +12-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +12-8-2019 13:00,23789.248000000003,11073.704,11073.704 +12-8-2019 14:00,20485.184,9535.688,9535.688 +12-8-2019 15:00,15859.496,7382.464,7382.464 +12-8-2019 16:00,17841.935999999998,8305.272,8305.272 +12-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +12-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +12-8-2019 19:00,52204.17600000001,24300.616,24300.616 +12-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +12-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +12-8-2019 22:00,27093.312,12611.712,12611.712 +12-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +13-8-2019 00:00,4625.688,2153.216,2153.216 +13-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +13-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +13-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +13-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +13-8-2019 05:00,4625.688,2153.216,2153.216 +13-8-2019 06:00,37005.504,17225.752,17225.752 +13-8-2019 07:00,61455.56,28607.056,28607.056 +13-8-2019 08:00,47578.49600000001,22147.4,22147.4 +13-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +13-8-2019 10:00,40309.56,18763.768,18763.768 +13-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +13-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +13-8-2019 13:00,23789.248000000003,11073.704,11073.704 +13-8-2019 14:00,20485.184,9535.688,9535.688 +13-8-2019 15:00,15859.496,7382.464,7382.464 +13-8-2019 16:00,17841.935999999998,8305.272,8305.272 +13-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +13-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +13-8-2019 19:00,52204.17600000001,24300.616,24300.616 +13-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +13-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +13-8-2019 22:00,27093.312,12611.712,12611.712 +13-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +14-8-2019 00:00,4625.688,2153.216,2153.216 +14-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +14-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +14-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +14-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +14-8-2019 05:00,4625.688,2153.216,2153.216 +14-8-2019 06:00,37005.504,17225.752,17225.752 +14-8-2019 07:00,61455.56,28607.056,28607.056 +14-8-2019 08:00,47578.49600000001,22147.4,22147.4 +14-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +14-8-2019 10:00,40309.56,18763.768,18763.768 +14-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +14-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +14-8-2019 13:00,23789.248000000003,11073.704,11073.704 +14-8-2019 14:00,20485.184,9535.688,9535.688 +14-8-2019 15:00,15859.496,7382.464,7382.464 +14-8-2019 16:00,17841.935999999998,8305.272,8305.272 +14-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +14-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +14-8-2019 19:00,52204.17600000001,24300.616,24300.616 +14-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +14-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +14-8-2019 22:00,27093.312,12611.712,12611.712 +14-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +15-8-2019 00:00,4625.688,2153.216,2153.216 +15-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +15-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +15-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +15-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +15-8-2019 05:00,4625.688,2153.216,2153.216 +15-8-2019 06:00,37005.504,17225.752,17225.752 +15-8-2019 07:00,61455.56,28607.056,28607.056 +15-8-2019 08:00,47578.49600000001,22147.4,22147.4 +15-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +15-8-2019 10:00,40309.56,18763.768,18763.768 +15-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +15-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +15-8-2019 13:00,23789.248000000003,11073.704,11073.704 +15-8-2019 14:00,20485.184,9535.688,9535.688 +15-8-2019 15:00,15859.496,7382.464,7382.464 +15-8-2019 16:00,17841.935999999998,8305.272,8305.272 +15-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +15-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +15-8-2019 19:00,52204.17600000001,24300.616,24300.616 +15-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +15-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +15-8-2019 22:00,27093.312,12611.712,12611.712 +15-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +16-8-2019 00:00,4625.688,2153.216,2153.216 +16-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +16-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +16-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +16-8-2019 04:00,2168.496,1009.416,1009.416 +16-8-2019 05:00,5825.8640000000005,2711.8880000000004,2711.8880000000004 +16-8-2019 06:00,37005.504,17225.752,17225.752 +16-8-2019 07:00,61455.56,28607.056,28607.056 +16-8-2019 08:00,47578.49600000001,22147.4,22147.4 +16-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +16-8-2019 10:00,40309.56,18763.768,18763.768 +16-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +16-8-2019 12:00,32843.856,15288.544000000002,15288.544000000002 +16-8-2019 13:00,23789.248000000003,11073.704,11073.704 +16-8-2019 14:00,20485.184,9535.688,9535.688 +16-8-2019 15:00,15859.496,7382.464,7382.464 +16-8-2019 16:00,17841.935999999998,8305.272,8305.272 +16-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +16-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +16-8-2019 19:00,52204.17600000001,24300.616,24300.616 +16-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +16-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +16-8-2019 22:00,27093.312,12611.712,12611.712 +16-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +17-8-2019 00:00,4625.688,2153.216,2153.216 +17-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +17-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +17-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +17-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +17-8-2019 05:00,4625.688,2153.216,2153.216 +17-8-2019 06:00,37005.504,17225.752,17225.752 +17-8-2019 07:00,61455.56,28607.056,28607.056 +17-8-2019 08:00,47578.49600000001,22147.4,22147.4 +17-8-2019 09:00,62391.19200000001,29042.592,29042.592 +17-8-2019 10:00,40309.56,18763.768,18763.768 +17-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +17-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +17-8-2019 13:00,23789.248000000003,11073.704,11073.704 +17-8-2019 14:00,20485.184,9535.688,9535.688 +17-8-2019 15:00,15859.496,7382.464,7382.464 +17-8-2019 16:00,17841.935999999998,8305.272,8305.272 +17-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +17-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +17-8-2019 19:00,52204.17600000001,24300.616,24300.616 +17-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +17-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +17-8-2019 22:00,27093.312,12611.712,12611.712 +17-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +18-8-2019 00:00,4625.688,2153.216,2153.216 +18-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +18-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +18-8-2019 03:00,1102.336,513.128,513.128 +18-8-2019 04:00,2344.568,1091.376,1091.376 +18-8-2019 05:00,5618.848000000001,2615.5280000000002,2615.5280000000002 +18-8-2019 06:00,37381.232,17400.656,17400.656 +18-8-2019 07:00,61683.024000000005,28712.944000000003,28712.944000000003 +18-8-2019 08:00,47578.49600000001,22147.4,22147.4 +18-8-2019 09:00,68774.672,32014.048,32014.048 +18-8-2019 10:00,40309.56,18763.768,18763.768 +18-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +18-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +18-8-2019 13:00,23789.248000000003,11073.704,11073.704 +18-8-2019 14:00,20485.184,9535.688,9535.688 +18-8-2019 15:00,15859.496,7382.464,7382.464 +18-8-2019 16:00,17841.935999999998,8305.272,8305.272 +18-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +18-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +18-8-2019 19:00,52204.17600000001,24300.616,24300.616 +18-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +18-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +18-8-2019 22:00,27093.312,12611.712,12611.712 +18-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +19-8-2019 00:00,4625.688,2153.216,2153.216 +19-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +19-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +19-8-2019 03:00,1565.824,728.8800000000001,728.8800000000001 +19-8-2019 04:00,2595.16,1208.0240000000001,1208.0240000000001 +19-8-2019 05:00,5862.728,2729.0560000000005,2729.0560000000005 +19-8-2019 06:00,37005.504,17225.752,17225.752 +19-8-2019 07:00,61455.56,28607.056,28607.056 +19-8-2019 08:00,47578.49600000001,22147.4,22147.4 +19-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +19-8-2019 10:00,40309.56,18763.768,18763.768 +19-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +19-8-2019 12:00,30176.584000000003,14046.952,14046.952 +19-8-2019 13:00,23789.248000000003,11073.704,11073.704 +19-8-2019 14:00,20485.184,9535.688,9535.688 +19-8-2019 15:00,15859.496,7382.464,7382.464 +19-8-2019 16:00,17841.935999999998,8305.272,8305.272 +19-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +19-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +19-8-2019 19:00,52204.17600000001,24300.616,24300.616 +19-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +19-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +19-8-2019 22:00,27093.312,12611.712,12611.712 +19-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +20-8-2019 00:00,4625.688,2153.216,2153.216 +20-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +20-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +20-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +20-8-2019 04:00,2524.608,1175.184,1175.184 +20-8-2019 05:00,5964.136,2776.2560000000003,2776.2560000000003 +20-8-2019 06:00,37005.504,17225.752,17225.752 +20-8-2019 07:00,61455.56,28607.056,28607.056 +20-8-2019 08:00,47578.49600000001,22147.4,22147.4 +20-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +20-8-2019 10:00,40309.56,18763.768,18763.768 +20-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +20-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +20-8-2019 13:00,23789.248000000003,11073.704,11073.704 +20-8-2019 14:00,20485.184,9535.688,9535.688 +20-8-2019 15:00,15859.496,7382.464,7382.464 +20-8-2019 16:00,17841.935999999998,8305.272,8305.272 +20-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +20-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +20-8-2019 19:00,52204.17600000001,24300.616,24300.616 +20-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +20-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +20-8-2019 22:00,27093.312,12611.712,12611.712 +20-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +21-8-2019 00:00,4625.688,2153.216,2153.216 +21-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +21-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +21-8-2019 03:00,2367.288,1101.952,1101.952 +21-8-2019 04:00,3235.304,1506.008,1506.008 +21-8-2019 05:00,6383.952,2971.6720000000005,2971.6720000000005 +21-8-2019 06:00,38227.504,17794.592,17794.592 +21-8-2019 07:00,73032.864,33996.200000000004,33996.200000000004 +21-8-2019 08:00,50118.624,23329.808,23329.808 +21-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +21-8-2019 10:00,40309.56,18763.768,18763.768 +21-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +21-8-2019 12:00,31063.336,14459.728000000001,14459.728000000001 +21-8-2019 13:00,23789.248000000003,11073.704,11073.704 +21-8-2019 14:00,20485.184,9535.688,9535.688 +21-8-2019 15:00,15859.496,7382.464,7382.464 +21-8-2019 16:00,17841.935999999998,8305.272,8305.272 +21-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +21-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +21-8-2019 19:00,52204.17600000001,24300.616,24300.616 +21-8-2019 20:00,46286.75200000001,21546.104000000003,21546.104000000003 +21-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +21-8-2019 22:00,27093.312,12611.712,12611.712 +21-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +22-8-2019 00:00,4625.688,2153.216,2153.216 +22-8-2019 01:00,3088.92,1437.864,1437.864 +22-8-2019 02:00,2522.8080000000004,1174.344,1174.344 +22-8-2019 03:00,2577.264,1199.696,1199.696 +22-8-2019 04:00,3274.32,1524.1680000000001,1524.1680000000001 +22-8-2019 05:00,15712.6,7314.088000000001,7314.088000000001 +22-8-2019 06:00,46479.512,21635.832000000002,21635.832000000002 +22-8-2019 07:00,104698.392,48736.248,48736.248 +22-8-2019 08:00,82087.70400000001,38211.159999999996,38211.159999999996 +22-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +22-8-2019 10:00,40309.56,18763.768,18763.768 +22-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +22-8-2019 12:00,47571.240000000005,22144.024,22144.024 +22-8-2019 13:00,23789.248000000003,11073.704,11073.704 +22-8-2019 14:00,20485.184,9535.688,9535.688 +22-8-2019 15:00,15859.496,7382.464,7382.464 +22-8-2019 16:00,17841.935999999998,8305.272,8305.272 +22-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +22-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +22-8-2019 19:00,52204.17600000001,24300.616,24300.616 +22-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +22-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +22-8-2019 22:00,27093.312,12611.712,12611.712 +22-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +23-8-2019 00:00,4625.688,2153.216,2153.216 +23-8-2019 01:00,3168.28,1474.808,1474.808 +23-8-2019 02:00,2483.416,1156.008,1156.008 +23-8-2019 03:00,2536.544,1180.736,1180.736 +23-8-2019 04:00,3533.2080000000005,1644.68,1644.68 +23-8-2019 05:00,18229.600000000002,8485.728000000001,8485.728000000001 +23-8-2019 06:00,46754.952000000005,21764.048000000003,21764.048000000003 +23-8-2019 07:00,112348.91200000001,52297.504,52297.504 +23-8-2019 08:00,93359.808,43458.232,43458.232 +23-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +23-8-2019 10:00,40309.56,18763.768,18763.768 +23-8-2019 11:00,35708.224,16621.88,16621.88 +23-8-2019 12:00,53796.312000000005,25041.744000000002,25041.744000000002 +23-8-2019 13:00,23789.248000000003,11073.704,11073.704 +23-8-2019 14:00,20485.184,9535.688,9535.688 +23-8-2019 15:00,15859.496,7382.464,7382.464 +23-8-2019 16:00,17841.935999999998,8305.272,8305.272 +23-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +23-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +23-8-2019 19:00,52204.17600000001,24300.616,24300.616 +23-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +23-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +23-8-2019 22:00,27093.312,12611.712,12611.712 +23-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +24-8-2019 00:00,4625.688,2153.216,2153.216 +24-8-2019 01:00,3339.6480000000006,1554.584,1554.584 +24-8-2019 02:00,2240.312,1042.848,1042.848 +24-8-2019 03:00,2289.8,1065.8799999999999,1065.8799999999999 +24-8-2019 04:00,3022.1440000000002,1406.784,1406.784 +24-8-2019 05:00,14950.04,6959.12,6959.12 +24-8-2019 06:00,63603.008,29606.688000000002,29606.688000000002 +24-8-2019 07:00,149683.76,69676.56800000001,69676.56800000001 +24-8-2019 08:00,50720.616,23610.032000000003,23610.032000000003 +24-8-2019 09:00,66444.304,30929.28,30929.28 +24-8-2019 10:00,40309.56,18763.768,18763.768 +24-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +24-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +24-8-2019 13:00,23789.248000000003,11073.704,11073.704 +24-8-2019 14:00,20485.184,9535.688,9535.688 +24-8-2019 15:00,15859.496,7382.464,7382.464 +24-8-2019 16:00,17841.935999999998,8305.272,8305.272 +24-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +24-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +24-8-2019 19:00,52204.17600000001,24300.616,24300.616 +24-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +24-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +24-8-2019 22:00,27093.312,12611.712,12611.712 +24-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +25-8-2019 00:00,4625.688,2153.216,2153.216 +25-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +25-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +25-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +25-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +25-8-2019 05:00,4625.688,2153.216,2153.216 +25-8-2019 06:00,37275.728,17351.544,17351.544 +25-8-2019 07:00,67215.784,31288.4,31288.4 +25-8-2019 08:00,47578.49600000001,22147.4,22147.4 +25-8-2019 09:00,66328.56800000001,30875.415999999997,30875.415999999997 +25-8-2019 10:00,40309.56,18763.768,18763.768 +25-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +25-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +25-8-2019 13:00,23789.248000000003,11073.704,11073.704 +25-8-2019 14:00,20485.184,9535.688,9535.688 +25-8-2019 15:00,15859.496,7382.464,7382.464 +25-8-2019 16:00,17841.935999999998,8305.272,8305.272 +25-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +25-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +25-8-2019 19:00,52204.17600000001,24300.616,24300.616 +25-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +25-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +25-8-2019 22:00,27093.312,12611.712,12611.712 +25-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +26-8-2019 00:00,4625.688,2153.216,2153.216 +26-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +26-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +26-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +26-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +26-8-2019 05:00,4625.688,2153.216,2153.216 +26-8-2019 06:00,37005.504,17225.752,17225.752 +26-8-2019 07:00,61455.56,28607.056,28607.056 +26-8-2019 08:00,47578.49600000001,22147.4,22147.4 +26-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +26-8-2019 10:00,40309.56,18763.768,18763.768 +26-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +26-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +26-8-2019 13:00,23789.248000000003,11073.704,11073.704 +26-8-2019 14:00,20485.184,9535.688,9535.688 +26-8-2019 15:00,15859.496,7382.464,7382.464 +26-8-2019 16:00,17841.935999999998,8305.272,8305.272 +26-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +26-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +26-8-2019 19:00,52204.17600000001,24300.616,24300.616 +26-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +26-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +26-8-2019 22:00,27093.312,12611.712,12611.712 +26-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +27-8-2019 00:00,4625.688,2153.216,2153.216 +27-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +27-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +27-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +27-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +27-8-2019 05:00,4625.688,2153.216,2153.216 +27-8-2019 06:00,37005.504,17225.752,17225.752 +27-8-2019 07:00,61455.56,28607.056,28607.056 +27-8-2019 08:00,47578.49600000001,22147.4,22147.4 +27-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +27-8-2019 10:00,40309.56,18763.768,18763.768 +27-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +27-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +27-8-2019 13:00,23789.248000000003,11073.704,11073.704 +27-8-2019 14:00,20485.184,9535.688,9535.688 +27-8-2019 15:00,15859.496,7382.464,7382.464 +27-8-2019 16:00,17841.935999999998,8305.272,8305.272 +27-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +27-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +27-8-2019 19:00,52204.17600000001,24300.616,24300.616 +27-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +27-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +27-8-2019 22:00,27093.312,12611.712,12611.712 +27-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +28-8-2019 00:00,4625.688,2153.216,2153.216 +28-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +28-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +28-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +28-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +28-8-2019 05:00,4625.688,2153.216,2153.216 +28-8-2019 06:00,37005.504,17225.752,17225.752 +28-8-2019 07:00,61455.56,28607.056,28607.056 +28-8-2019 08:00,47578.49600000001,22147.4,22147.4 +28-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +28-8-2019 10:00,40309.56,18763.768,18763.768 +28-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +28-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +28-8-2019 13:00,23789.248000000003,11073.704,11073.704 +28-8-2019 14:00,20485.184,9535.688,9535.688 +28-8-2019 15:00,15859.496,7382.464,7382.464 +28-8-2019 16:00,17841.935999999998,8305.272,8305.272 +28-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +28-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +28-8-2019 19:00,52204.17600000001,24300.616,24300.616 +28-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +28-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +28-8-2019 22:00,27093.312,12611.712,12611.712 +28-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +29-8-2019 00:00,4625.688,2153.216,2153.216 +29-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +29-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +29-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +29-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +29-8-2019 05:00,4625.688,2153.216,2153.216 +29-8-2019 06:00,37005.504,17225.752,17225.752 +29-8-2019 07:00,61455.56,28607.056,28607.056 +29-8-2019 08:00,47578.49600000001,22147.4,22147.4 +29-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +29-8-2019 10:00,40309.56,18763.768,18763.768 +29-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +29-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +29-8-2019 13:00,23789.248000000003,11073.704,11073.704 +29-8-2019 14:00,20485.184,9535.688,9535.688 +29-8-2019 15:00,15859.496,7382.464,7382.464 +29-8-2019 16:00,17841.935999999998,8305.272,8305.272 +29-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +29-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +29-8-2019 19:00,52204.17600000001,24300.616,24300.616 +29-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +29-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +29-8-2019 22:00,27093.312,12611.712,12611.712 +29-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +30-8-2019 00:00,4625.688,2153.216,2153.216 +30-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +30-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +30-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +30-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +30-8-2019 05:00,4625.688,2153.216,2153.216 +30-8-2019 06:00,37005.504,17225.752,17225.752 +30-8-2019 07:00,61455.56,28607.056,28607.056 +30-8-2019 08:00,47578.49600000001,22147.4,22147.4 +30-8-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +30-8-2019 10:00,40309.56,18763.768,18763.768 +30-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +30-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +30-8-2019 13:00,23789.248000000003,11073.704,11073.704 +30-8-2019 14:00,20485.184,9535.688,9535.688 +30-8-2019 15:00,15859.496,7382.464,7382.464 +30-8-2019 16:00,17841.935999999998,8305.272,8305.272 +30-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +30-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +30-8-2019 19:00,52204.17600000001,24300.616,24300.616 +30-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +30-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +30-8-2019 22:00,27093.312,12611.712,12611.712 +30-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +31-8-2019 00:00,4625.688,2153.216,2153.216 +31-8-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +31-8-2019 02:00,660.488,307.44800000000004,307.44800000000004 +31-8-2019 03:00,660.488,307.44800000000004,307.44800000000004 +31-8-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +31-8-2019 05:00,4625.688,2153.216,2153.216 +31-8-2019 06:00,37005.504,17225.752,17225.752 +31-8-2019 07:00,61455.56,28607.056,28607.056 +31-8-2019 08:00,47578.49600000001,22147.4,22147.4 +31-8-2019 09:00,58325.19200000001,27149.904,27149.904 +31-8-2019 10:00,40309.56,18763.768,18763.768 +31-8-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +31-8-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +31-8-2019 13:00,23789.248000000003,11073.704,11073.704 +31-8-2019 14:00,20485.184,9535.688,9535.688 +31-8-2019 15:00,15859.496,7382.464,7382.464 +31-8-2019 16:00,17841.935999999998,8305.272,8305.272 +31-8-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +31-8-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +31-8-2019 19:00,52204.17600000001,24300.616,24300.616 +31-8-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +31-8-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +31-8-2019 22:00,27093.312,12611.712,12611.712 +31-8-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +1-9-2019 00:00,4625.688,2153.216,2153.216 +1-9-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +1-9-2019 02:00,660.488,307.44800000000004,307.44800000000004 +1-9-2019 03:00,660.488,307.44800000000004,307.44800000000004 +1-9-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +1-9-2019 05:00,4625.688,2153.216,2153.216 +1-9-2019 06:00,37005.504,17225.752,17225.752 +1-9-2019 07:00,61455.56,28607.056,28607.056 +1-9-2019 08:00,47578.49600000001,22147.4,22147.4 +1-9-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +1-9-2019 10:00,40309.56,18763.768,18763.768 +1-9-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +1-9-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +1-9-2019 13:00,23789.248000000003,11073.704,11073.704 +1-9-2019 14:00,20485.184,9535.688,9535.688 +1-9-2019 15:00,15859.496,7382.464,7382.464 +1-9-2019 16:00,17841.935999999998,8305.272,8305.272 +1-9-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +1-9-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +1-9-2019 19:00,52204.17600000001,24300.616,24300.616 +1-9-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +1-9-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +1-9-2019 22:00,27093.312,12611.712,12611.712 +1-9-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +2-9-2019 00:00,4625.688,2153.216,2153.216 +2-9-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +2-9-2019 02:00,660.488,307.44800000000004,307.44800000000004 +2-9-2019 03:00,660.488,307.44800000000004,307.44800000000004 +2-9-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +2-9-2019 05:00,4625.688,2153.216,2153.216 +2-9-2019 06:00,37005.504,17225.752,17225.752 +2-9-2019 07:00,61455.56,28607.056,28607.056 +2-9-2019 08:00,47578.49600000001,22147.4,22147.4 +2-9-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +2-9-2019 10:00,40309.56,18763.768,18763.768 +2-9-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +2-9-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +2-9-2019 13:00,23789.248000000003,11073.704,11073.704 +2-9-2019 14:00,20485.184,9535.688,9535.688 +2-9-2019 15:00,15859.496,7382.464,7382.464 +2-9-2019 16:00,17841.935999999998,8305.272,8305.272 +2-9-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +2-9-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +2-9-2019 19:00,52204.17600000001,24300.616,24300.616 +2-9-2019 20:00,46256.864,21532.192000000003,21532.192000000003 +2-9-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +2-9-2019 22:00,27093.312,12611.712,12611.712 +2-9-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +3-9-2019 00:00,4625.688,2153.216,2153.216 +3-9-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +3-9-2019 02:00,660.488,307.44800000000004,307.44800000000004 +3-9-2019 03:00,660.488,307.44800000000004,307.44800000000004 +3-9-2019 04:00,1321.624,615.2080000000001,615.2080000000001 +3-9-2019 05:00,4625.688,2153.216,2153.216 +3-9-2019 06:00,37005.504,17225.752,17225.752 +3-9-2019 07:00,61455.56,28607.056,28607.056 +3-9-2019 08:00,47578.49600000001,22147.4,22147.4 +3-9-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +3-9-2019 10:00,40309.56,18763.768,18763.768 +3-9-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +3-9-2019 12:00,32348.296000000002,15057.864000000001,15057.864000000001 +3-9-2019 13:00,23789.248000000003,11073.704,11073.704 +3-9-2019 14:00,20485.184,9535.688,9535.688 +3-9-2019 15:00,15859.496,7382.464,7382.464 +3-9-2019 16:00,17841.935999999998,8305.272,8305.272 +3-9-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +3-9-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +3-9-2019 19:00,52204.17600000001,24300.616,24300.616 +3-9-2019 20:00,46980.04000000001,21868.824,21868.824 +3-9-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +3-9-2019 22:00,27093.312,12611.712,12611.712 +3-9-2019 23:00,13216.256000000001,6152.0560000000005,6152.0560000000005 +4-9-2019 00:00,4625.688,2153.216,2153.216 +4-9-2019 01:00,2643.248,1230.4080000000001,1230.4080000000001 +4-9-2019 02:00,1306.1040000000003,607.984,607.984 +4-9-2019 03:00,1665.7040000000002,775.3760000000001,775.3760000000001 +4-9-2019 04:00,2354.7360000000003,1096.112,1096.112 +4-9-2019 05:00,5743.544000000001,2673.568,2673.568 +4-9-2019 06:00,37961.832,17670.920000000002,17670.920000000002 +4-9-2019 07:00,68309.592,31797.559999999998,31797.559999999998 +4-9-2019 08:00,50750.744000000006,23624.056,23624.056 +4-9-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +4-9-2019 10:00,40309.56,18763.768,18763.768 +4-9-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +4-9-2019 12:00,44910.168000000005,20905.312,20905.312 +4-9-2019 13:00,23789.248000000003,11073.704,11073.704 +4-9-2019 14:00,20485.184,9535.688,9535.688 +4-9-2019 15:00,15859.496,7382.464,7382.464 +4-9-2019 16:00,17841.935999999998,8305.272,8305.272 +4-9-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +4-9-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +4-9-2019 19:00,53578.224,24940.224000000002,24940.224000000002 +4-9-2019 20:00,52221.904,24308.872000000003,24308.872000000003 +4-9-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +4-9-2019 22:00,27093.312,12611.712,12611.712 +4-9-2019 23:00,13722.384,6387.656,6387.656 +5-9-2019 00:00,5981.904,2784.5280000000002,2784.5280000000002 +5-9-2019 01:00,3973.6800000000003,1849.7200000000003,1849.7200000000003 +5-9-2019 02:00,1945.816,905.7600000000001,905.7600000000001 +5-9-2019 03:00,1946.016,905.856,905.856 +5-9-2019 04:00,2634.864,1226.5120000000002,1226.5120000000002 +5-9-2019 05:00,7487.567999999999,3485.4,3485.4 +5-9-2019 06:00,43290.336,20151.296000000002,20151.296000000002 +5-9-2019 07:00,92349.224,42987.816,42987.816 +5-9-2019 08:00,60731.936,28270.216,28270.216 +5-9-2019 09:00,56169.05600000001,26146.232000000004,26146.232000000004 +5-9-2019 10:00,40309.56,18763.768,18763.768 +5-9-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +5-9-2019 12:00,45180.432,21031.120000000003,21031.120000000003 +5-9-2019 13:00,23789.248000000003,11073.704,11073.704 +5-9-2019 14:00,20485.184,9535.688,9535.688 +5-9-2019 15:00,15859.496,7382.464,7382.464 +5-9-2019 16:00,17841.935999999998,8305.272,8305.272 +5-9-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +5-9-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +5-9-2019 19:00,52204.17600000001,24300.616,24300.616 +5-9-2019 20:00,48133.76,22405.872000000003,22405.872000000003 +5-9-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +5-9-2019 22:00,27093.312,12611.712,12611.712 +5-9-2019 23:00,13671.512,6363.976000000001,6363.976000000001 +6-9-2019 00:00,6738.312,3136.632,3136.632 +6-9-2019 01:00,4692.576,2184.36,2184.36 +6-9-2019 02:00,9878.616000000002,4598.416,4598.416 +6-9-2019 03:00,20238.856,9421.024000000001,9421.024000000001 +6-9-2019 04:00,19494.432,9074.496000000001,9074.496000000001 +6-9-2019 05:00,24524.56,11415.984,11415.984 +6-9-2019 06:00,63978.264,29781.36,29781.36 +6-9-2019 07:00,192149.23200000002,89443.90400000001,89443.90400000001 +6-9-2019 08:00,202123.50400000002,94086.848,94086.848 +6-9-2019 09:00,360794.43200000003,167946.88,167946.88 +6-9-2019 10:00,40309.56,18763.768,18763.768 +6-9-2019 11:00,37538.192,17473.728,17473.728 +6-9-2019 12:00,71054.96,33075.504,33075.504 +6-9-2019 13:00,24131.984,11233.24,11233.24 +6-9-2019 14:00,27466.688000000002,12785.52,12785.52 +6-9-2019 15:00,21560.64,10036.304,10036.304 +6-9-2019 16:00,17841.935999999998,8305.272,8305.272 +6-9-2019 17:00,31121.024,14486.584,14486.584 +6-9-2019 18:00,62606.528000000006,29142.824,29142.824 +6-9-2019 19:00,77711.70400000001,36174.168,36174.168 +6-9-2019 20:00,105925.56000000001,49307.488000000005,49307.488000000005 +6-9-2019 21:00,80783.11200000001,37603.88,37603.88 +6-9-2019 22:00,28677.08,13348.944000000001,13348.944000000001 +6-9-2019 23:00,14787.688000000002,6883.544000000001,6883.544000000001 +7-9-2019 00:00,7448.248,3467.096,3467.096 +7-9-2019 01:00,15036.776000000002,6999.496000000001,6999.496000000001 +7-9-2019 02:00,19666.024,9154.376,9154.376 +7-9-2019 03:00,27881.624,12978.672,12978.672 +7-9-2019 04:00,34330.159999999996,15980.408,15980.408 +7-9-2019 05:00,38272.952000000005,17815.744000000002,17815.744000000002 +7-9-2019 06:00,198334.32,92323.008,92323.008 +7-9-2019 07:00,426169.76,198378.544,198378.544 +7-9-2019 08:00,318650.20800000004,148329.056,148329.056 +7-9-2019 09:00,470506.688,219017.04,219017.04 +7-9-2019 10:00,81551.848,37961.72,37961.72 +7-9-2019 11:00,37382.584,17401.288,17401.288 +7-9-2019 12:00,37053.28,17248.0,17248.0 +7-9-2019 13:00,25579.536,11907.064,11907.064 +7-9-2019 14:00,20485.184,9535.688,9535.688 +7-9-2019 15:00,15859.496,7382.464,7382.464 +7-9-2019 16:00,17841.935999999998,8305.272,8305.272 +7-9-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +7-9-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +7-9-2019 19:00,56595.943999999996,26344.96,26344.96 +7-9-2019 20:00,56035.64000000001,26084.136,26084.136 +7-9-2019 21:00,39816.824,18534.408,18534.408 +7-9-2019 22:00,28857.632,13432.992000000002,13432.992000000002 +7-9-2019 23:00,15006.207999999999,6985.272000000001,6985.272000000001 +8-9-2019 00:00,14156.04,6589.52,6589.52 +8-9-2019 01:00,21613.36,10060.84,10060.84 +8-9-2019 02:00,26606.856,12385.272,12385.272 +8-9-2019 03:00,42047.392,19572.72,19572.72 +8-9-2019 04:00,43612.04000000001,20301.048000000003,20301.048000000003 +8-9-2019 05:00,50432.344000000005,23475.848,23475.848 +8-9-2019 06:00,275465.408,128226.89600000001,128226.89600000001 +8-9-2019 07:00,463680.16,215839.36000000002,215839.36000000002 +8-9-2019 08:00,296711.61600000004,138116.83200000002,138116.83200000002 +8-9-2019 09:00,415737.856,193522.576,193522.576 +8-9-2019 10:00,73298.64,34119.920000000006,34119.920000000006 +8-9-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +8-9-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +8-9-2019 13:00,23789.248000000003,11073.704,11073.704 +8-9-2019 14:00,20485.184,9535.688,9535.688 +8-9-2019 15:00,15859.496,7382.464,7382.464 +8-9-2019 16:00,17841.935999999998,8305.272,8305.272 +8-9-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +8-9-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +8-9-2019 19:00,52204.17600000001,24300.616,24300.616 +8-9-2019 20:00,51849.616,24135.576,24135.576 +8-9-2019 21:00,38327.12,17840.960000000003,17840.960000000003 +8-9-2019 22:00,27093.312,12611.712,12611.712 +8-9-2019 23:00,15128.704000000002,7042.2880000000005,7042.2880000000005 +9-9-2019 00:00,10425.84,4853.144,4853.144 +9-9-2019 01:00,30166.648,14042.328000000001,14042.328000000001 +9-9-2019 02:00,45819.240000000005,21328.48,21328.48 +9-9-2019 03:00,86180.52,40116.336,40116.336 +9-9-2019 04:00,115648.648,53833.496,53833.496 +9-9-2019 05:00,119666.20000000001,55703.632,55703.632 +9-9-2019 06:00,270712.576,126014.488,126014.488 +9-9-2019 07:00,419972.992,195494.0,195494.0 +9-9-2019 08:00,331899.936,154496.704,154496.704 +9-9-2019 09:00,596026.0480000001,277445.248,277445.248 +9-9-2019 10:00,40309.56,18763.768,18763.768 +9-9-2019 11:00,38257.904,17808.744000000002,17808.744000000002 +9-9-2019 12:00,72245.928,33629.888,33629.888 +9-9-2019 13:00,24956.84,11617.208,11617.208 +9-9-2019 14:00,28481.352000000003,13257.84,13257.84 +9-9-2019 15:00,20768.08,9667.368,9667.368 +9-9-2019 16:00,17841.935999999998,8305.272,8305.272 +9-9-2019 17:00,44340.200000000004,20640.0,20640.0 +9-9-2019 18:00,96333.99200000001,44842.696,44842.696 +9-9-2019 19:00,279456.064,130084.51200000002,130084.51200000002 +9-9-2019 20:00,479905.92000000004,223392.288,223392.288 +9-9-2019 21:00,269591.936,125492.85600000001,125492.85600000001 +9-9-2019 22:00,41624.696,19375.952,19375.952 +9-9-2019 23:00,48550.264,22599.752,22599.752 +10-9-2019 00:00,76933.0,35811.688,35811.688 +10-9-2019 01:00,118955.78400000001,55372.952000000005,55372.952000000005 +10-9-2019 02:00,123872.75200000001,57661.76,57661.76 +10-9-2019 03:00,129183.97600000001,60134.088,60134.088 +10-9-2019 04:00,124374.84,57895.48000000001,57895.48000000001 +10-9-2019 05:00,129620.104,60337.096,60337.096 +10-9-2019 06:00,554485.184,258108.32000000004,258108.32000000004 +10-9-2019 07:00,747603.2000000001,348003.2,348003.2 +10-9-2019 08:00,1001357.504,466123.74400000006,466123.74400000006 +10-9-2019 09:00,1037248.8960000002,482830.912,482830.912 +10-9-2019 10:00,40309.56,18763.768,18763.768 +10-9-2019 11:00,49588.232,23082.912,23082.912 +10-9-2019 12:00,80770.888,37598.192,37598.192 +10-9-2019 13:00,38503.32,17922.984,17922.984 +10-9-2019 14:00,74532.648,34694.344000000005,34694.344000000005 +10-9-2019 15:00,31785.864,14796.064000000002,14796.064000000002 +10-9-2019 16:00,17841.935999999998,8305.272,8305.272 +10-9-2019 17:00,170856.36800000002,79532.248,79532.248 +10-9-2019 18:00,179439.424,83527.584,83527.584 +10-9-2019 19:00,364744.704,169785.68000000002,169785.68000000002 +10-9-2019 20:00,537762.944,250324.24,250324.24 +10-9-2019 21:00,309320.672,143986.25600000002,143986.25600000002 +10-9-2019 22:00,54576.848,25405.08,25405.08 +10-9-2019 23:00,63422.064000000006,29522.448,29522.448 +11-9-2019 00:00,97665.61600000001,45462.544,45462.544 +11-9-2019 01:00,102500.864,47713.32000000001,47713.32000000001 +11-9-2019 02:00,107507.272,50043.768000000004,50043.768000000004 +11-9-2019 03:00,99482.728,46308.4,46308.4 +11-9-2019 04:00,86557.40000000001,40291.768000000004,40291.768000000004 +11-9-2019 05:00,89082.24,41467.064000000006,41467.064000000006 +11-9-2019 06:00,400190.528,186285.40800000002,186285.40800000002 +11-9-2019 07:00,592124.2880000001,275629.02400000003,275629.02400000003 +11-9-2019 08:00,783829.4400000001,364866.176,364866.176 +11-9-2019 09:00,887555.648,413149.88800000004,413149.88800000004 +11-9-2019 10:00,45138.888000000006,21011.784,21011.784 +11-9-2019 11:00,84765.304,39457.56,39457.56 +11-9-2019 12:00,159777.71200000003,74375.216,74375.216 +11-9-2019 13:00,70556.656,32843.544,32843.544 +11-9-2019 14:00,88370.096,41135.568,41135.568 +11-9-2019 15:00,66632.464,31016.872,31016.872 +11-9-2019 16:00,17904.712,8334.496000000001,8334.496000000001 +11-9-2019 17:00,485334.272,225919.136,225919.136 +11-9-2019 18:00,362580.672,168778.352,168778.352 +11-9-2019 19:00,478040.19200000004,222523.80800000002,222523.80800000002 +11-9-2019 20:00,491488.672,228783.95200000002,228783.95200000002 +11-9-2019 21:00,256899.76,119584.728,119584.728 +11-9-2019 22:00,48220.904,22446.432,22446.432 +11-9-2019 23:00,44051.864,20505.784,20505.784 +12-9-2019 00:00,37405.56,17411.976000000002,17411.976000000002 +12-9-2019 01:00,53161.632,24746.304000000004,24746.304000000004 +12-9-2019 02:00,59414.16,27656.808000000005,27656.808000000005 +12-9-2019 03:00,60767.90400000001,28286.96,28286.96 +12-9-2019 04:00,66186.424,30809.240000000005,30809.240000000005 +12-9-2019 05:00,70261.99200000001,32706.392,32706.392 +12-9-2019 06:00,254352.752,118399.144,118399.144 +12-9-2019 07:00,391869.47200000007,182412.048,182412.048 +12-9-2019 08:00,471320.73600000003,219396.0,219396.0 +12-9-2019 09:00,534224.224,248677.02400000003,248677.02400000003 +12-9-2019 10:00,40309.56,18763.768,18763.768 +12-9-2019 11:00,37907.976,17645.848,17645.848 +12-9-2019 12:00,68175.064,31734.936,31734.936 +12-9-2019 13:00,23789.248000000003,11073.704,11073.704 +12-9-2019 14:00,25267.704,11761.912,11761.912 +12-9-2019 15:00,15859.496,7382.464,7382.464 +12-9-2019 16:00,17841.935999999998,8305.272,8305.272 +12-9-2019 17:00,29098.832000000002,13545.272,13545.272 +12-9-2019 18:00,54158.72,25210.440000000002,25210.440000000002 +12-9-2019 19:00,61858.624,28794.688000000002,28794.688000000002 +12-9-2019 20:00,88320.584,41112.512,41112.512 +12-9-2019 21:00,70338.224,32741.872,32741.872 +12-9-2019 22:00,27093.312,12611.712,12611.712 +12-9-2019 23:00,13871.848000000002,6457.232,6457.232 +13-9-2019 00:00,5994.128000000001,2790.2160000000003,2790.2160000000003 +13-9-2019 01:00,4007.096,1865.2720000000002,1865.2720000000002 +13-9-2019 02:00,2385.952,1110.64,1110.64 +13-9-2019 03:00,9404.512,4377.72,4377.72 +13-9-2019 04:00,12807.816,5961.936000000001,5961.936000000001 +13-9-2019 05:00,24010.944000000003,11176.896,11176.896 +13-9-2019 06:00,67994.808,31651.024,31651.024 +13-9-2019 07:00,174729.68000000002,81335.24,81335.24 +13-9-2019 08:00,185671.024,86428.33600000001,86428.33600000001 +13-9-2019 09:00,353527.00800000003,164563.92,164563.92 +13-9-2019 10:00,40309.56,18763.768,18763.768 +13-9-2019 11:00,37123.976,17280.912,17280.912 +13-9-2019 12:00,62127.85600000001,28920.016,28920.016 +13-9-2019 13:00,24064.944000000003,11202.032000000001,11202.032000000001 +13-9-2019 14:00,24376.784,11347.192000000001,11347.192000000001 +13-9-2019 15:00,20496.864,9541.12,9541.12 +13-9-2019 16:00,17841.935999999998,8305.272,8305.272 +13-9-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +13-9-2019 18:00,54180.472,25220.568,25220.568 +13-9-2019 19:00,94503.19200000001,43990.46400000001,43990.46400000001 +13-9-2019 20:00,199840.352,93024.05600000001,93024.05600000001 +13-9-2019 21:00,178608.08000000002,83140.60800000001,83140.60800000001 +13-9-2019 22:00,29175.120000000003,13580.776000000002,13580.776000000002 +13-9-2019 23:00,22437.776,10444.6,10444.6 +14-9-2019 00:00,32669.288,15207.288,15207.288 +14-9-2019 01:00,59753.144,27814.600000000002,27814.600000000002 +14-9-2019 02:00,101926.32800000001,47445.880000000005,47445.880000000005 +14-9-2019 03:00,107496.424,50038.712,50038.712 +14-9-2019 04:00,113951.85600000001,53043.664000000004,53043.664000000004 +14-9-2019 05:00,119725.46399999999,55731.224,55731.224 +14-9-2019 06:00,510764.0,237756.496,237756.496 +14-9-2019 07:00,932767.4880000001,434195.61600000004,434195.61600000004 +14-9-2019 08:00,782581.696,364285.40800000005,364285.40800000005 +14-9-2019 09:00,1023992.192,476659.968,476659.968 +14-9-2019 10:00,141843.696,66027.088,66027.088 +14-9-2019 11:00,35546.904,16546.792,16546.792 +14-9-2019 12:00,33473.632000000005,15581.704000000002,15581.704000000002 +14-9-2019 13:00,23789.248000000003,11073.704,11073.704 +14-9-2019 14:00,20485.184,9535.688,9535.688 +14-9-2019 15:00,15859.496,7382.464,7382.464 +14-9-2019 16:00,17841.935999999998,8305.272,8305.272 +14-9-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +14-9-2019 18:00,52962.96800000001,24653.832000000002,24653.832000000002 +14-9-2019 19:00,87983.696,40955.696,40955.696 +14-9-2019 20:00,131511.51200000002,61217.536,61217.536 +14-9-2019 21:00,47586.992,22151.352,22151.352 +14-9-2019 22:00,31324.888000000003,14581.48,14581.48 +14-9-2019 23:00,40661.744000000006,18927.704,18927.704 +15-9-2019 00:00,80218.304,37340.968,37340.968 +15-9-2019 01:00,113371.104,52773.32,52773.32 +15-9-2019 02:00,117076.62400000001,54498.21600000001,54498.21600000001 +15-9-2019 03:00,119489.25600000001,55621.280000000006,55621.280000000006 +15-9-2019 04:00,124951.064,58163.695999999996,58163.695999999996 +15-9-2019 05:00,133937.608,62346.864,62346.864 +15-9-2019 06:00,622309.824,289680.12799999997,289680.12799999997 +15-9-2019 07:00,1196048.0,556750.5920000001,556750.5920000001 +15-9-2019 08:00,1305923.84,607896.8960000001,607896.8960000001 +15-9-2019 09:00,1598243.4560000002,743969.28,743969.28 +15-9-2019 10:00,277892.0,129356.456,129356.456 +15-9-2019 11:00,35507.488000000005,16528.448,16528.448 +15-9-2019 12:00,29736.552000000003,13842.120000000003,13842.120000000003 +15-9-2019 13:00,23789.248000000003,11073.704,11073.704 +15-9-2019 14:00,20485.184,9535.688,9535.688 +15-9-2019 15:00,15859.496,7382.464,7382.464 +15-9-2019 16:00,17841.935999999998,8305.272,8305.272 +15-9-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +15-9-2019 18:00,52678.231999999996,24521.288,24521.288 +15-9-2019 19:00,61092.32800000001,28437.976000000002,28437.976000000002 +15-9-2019 20:00,76315.448,35524.224,35524.224 +15-9-2019 21:00,43646.648,20317.160000000003,20317.160000000003 +15-9-2019 22:00,28867.2,13437.448000000002,13437.448000000002 +15-9-2019 23:00,19354.848,9009.52,9009.52 +16-9-2019 00:00,22652.928,10544.752,10544.752 +16-9-2019 01:00,35353.871999999996,16456.935999999998,16456.935999999998 +16-9-2019 02:00,42391.528000000006,19732.904000000002,19732.904000000002 +16-9-2019 03:00,66569.44,30987.528000000006,30987.528000000006 +16-9-2019 04:00,74790.896,34814.552,34814.552 +16-9-2019 05:00,79170.53600000001,36853.240000000005,36853.240000000005 +16-9-2019 06:00,261114.288,121546.56000000001,121546.56000000001 +16-9-2019 07:00,437413.34400000004,203612.336,203612.336 +16-9-2019 08:00,540084.5440000001,251404.92799999999,251404.92799999999 +16-9-2019 09:00,747501.824,347955.96800000005,347955.96800000005 +16-9-2019 10:00,47279.944,22008.424,22008.424 +16-9-2019 11:00,78596.232,36585.912000000004,36585.912000000004 +16-9-2019 12:00,165712.72,77137.92,77137.92 +16-9-2019 13:00,64618.50400000001,30079.376000000004,30079.376000000004 +16-9-2019 14:00,69788.53600000001,32485.992,32485.992 +16-9-2019 15:00,68754.336,32004.584000000003,32004.584000000003 +16-9-2019 16:00,17841.935999999998,8305.272,8305.272 +16-9-2019 17:00,398587.07200000004,185539.056,185539.056 +16-9-2019 18:00,376062.784,175054.16000000003,175054.16000000003 +16-9-2019 19:00,513170.304,238876.592,238876.592 +16-9-2019 20:00,612911.9360000001,285305.504,285305.504 +16-9-2019 21:00,386998.048,180144.416,180144.416 +16-9-2019 22:00,111369.68000000001,51841.68,51841.68 +16-9-2019 23:00,118901.18400000001,55347.528000000006,55347.528000000006 +17-9-2019 00:00,119264.76000000001,55516.776000000005,55516.776000000005 +17-9-2019 01:00,123280.6,57386.119999999995,57386.119999999995 +17-9-2019 02:00,131195.07200000001,61070.231999999996,61070.231999999996 +17-9-2019 03:00,138695.37600000002,64561.56,64561.56 +17-9-2019 04:00,140214.448,65268.672,65268.672 +17-9-2019 05:00,131193.248,61069.384,61069.384 +17-9-2019 06:00,641045.4400000001,298401.408,298401.408 +17-9-2019 07:00,1090959.36,507832.608,507832.608 +17-9-2019 08:00,1093295.36,508920.064,508920.064 +17-9-2019 09:00,992475.392,461989.152,461989.152 +17-9-2019 10:00,40309.56,18763.768,18763.768 +17-9-2019 11:00,54355.432,25302.008,25302.008 +17-9-2019 12:00,141814.496,66013.504,66013.504 +17-9-2019 13:00,64211.92800000001,29890.128000000004,29890.128000000004 +17-9-2019 14:00,86730.70400000001,40372.44,40372.44 +17-9-2019 15:00,55643.19200000001,25901.456000000002,25901.456000000002 +17-9-2019 16:00,17841.935999999998,8305.272,8305.272 +17-9-2019 17:00,455580.576,212069.04,212069.04 +17-9-2019 18:00,400208.544,186293.79200000002,186293.79200000002 +17-9-2019 19:00,588946.304,274149.696,274149.696 +17-9-2019 20:00,790653.1200000001,368042.592,368042.592 +17-9-2019 21:00,533756.2880000001,248459.2,248459.2 +17-9-2019 22:00,149252.032,69475.608,69475.608 +17-9-2019 23:00,144107.13600000003,67080.70400000001,67080.70400000001 +18-9-2019 00:00,141131.04,65695.344,65695.344 +18-9-2019 01:00,144257.584,67150.728,67150.728 +18-9-2019 02:00,150553.68000000002,70081.512,70081.512 +18-9-2019 03:00,214967.31200000003,100065.53600000001,100065.53600000001 +18-9-2019 04:00,231172.47999999998,107608.88799999999,107608.88799999999 +18-9-2019 05:00,304184.608,141595.456,141595.456 +18-9-2019 06:00,989744.256,460717.85599999997,460717.85599999997 +18-9-2019 07:00,1424273.2800000003,662987.648,662987.648 +18-9-2019 08:00,1388798.3360000001,646474.304,646474.304 +18-9-2019 09:00,973844.544,453316.704,453316.704 +18-9-2019 10:00,40309.56,18763.768,18763.768 +18-9-2019 11:00,46960.208000000006,21859.592000000004,21859.592000000004 +18-9-2019 12:00,89867.91200000001,41832.78400000001,41832.78400000001 +18-9-2019 13:00,76605.68000000001,35659.32,35659.32 +18-9-2019 14:00,108430.152,50473.36,50473.36 +18-9-2019 15:00,51288.504,23874.376000000004,23874.376000000004 +18-9-2019 16:00,18093.488,8422.368,8422.368 +18-9-2019 17:00,653860.0320000001,304366.528,304366.528 +18-9-2019 18:00,542393.5360000001,252479.76,252479.76 +18-9-2019 19:00,815292.096,379511.808,379511.808 +18-9-2019 20:00,1044422.336,486170.08,486170.08 +18-9-2019 21:00,638131.968,297045.248,297045.248 +18-9-2019 22:00,163129.872,75935.624,75935.624 +18-9-2019 23:00,155087.2,72191.82400000001,72191.82400000001 +19-9-2019 00:00,143764.976,66921.424,66921.424 +19-9-2019 01:00,168519.392,78444.40000000001,78444.40000000001 +19-9-2019 02:00,189065.52000000002,88008.456,88008.456 +19-9-2019 03:00,195553.52000000002,91028.56800000001,91028.56800000001 +19-9-2019 04:00,191505.168,89144.088,89144.088 +19-9-2019 05:00,200697.50400000002,93423.04800000001,93423.04800000001 +19-9-2019 06:00,965313.792,449345.696,449345.696 +19-9-2019 07:00,1389831.936,646955.456,646955.456 +19-9-2019 08:00,1367821.824,636709.888,636709.888 +19-9-2019 09:00,1125907.84,524100.9280000001,524100.9280000001 +19-9-2019 10:00,67914.336,31613.576,31613.576 +19-9-2019 11:00,117444.968,54669.672,54669.672 +19-9-2019 12:00,210283.056,97885.04000000001,97885.04000000001 +19-9-2019 13:00,83468.496,38853.912000000004,38853.912000000004 +19-9-2019 14:00,122603.024,57070.712,57070.712 +19-9-2019 15:00,89479.512,41651.992,41651.992 +19-9-2019 16:00,18785.064000000002,8744.296,8744.296 +19-9-2019 17:00,1042428.544,485242.04800000007,485242.04800000007 +19-9-2019 18:00,717801.28,334130.62400000007,334130.62400000007 +19-9-2019 19:00,1021568.832,475531.93600000005,475531.93600000005 +19-9-2019 20:00,1298468.864,604426.6240000001,604426.6240000001 +19-9-2019 21:00,716963.7760000001,333740.80000000005,333740.80000000005 +19-9-2019 22:00,179343.82400000002,83483.08000000002,83483.08000000002 +19-9-2019 23:00,194173.44,90386.144,90386.144 +20-9-2019 00:00,242243.744,112762.488,112762.488 +20-9-2019 01:00,254346.24,118396.096,118396.096 +20-9-2019 02:00,258237.87200000003,120207.616,120207.616 +20-9-2019 03:00,266647.92000000004,124122.424,124122.424 +20-9-2019 04:00,352115.29600000003,163906.816,163906.816 +20-9-2019 05:00,440610.65599999996,205100.65600000002,205100.65600000002 +20-9-2019 06:00,1399679.232,651539.2000000001,651539.2000000001 +20-9-2019 07:00,2100665.088,977842.4960000002,977842.4960000002 +20-9-2019 08:00,2227185.1520000002,1036736.512,1036736.512 +20-9-2019 09:00,1289365.8880000003,600189.312,600189.312 +20-9-2019 10:00,68722.336,31989.688000000002,31989.688000000002 +20-9-2019 11:00,135191.264,62930.432,62930.432 +20-9-2019 12:00,208525.488,97066.91200000001,97066.91200000001 +20-9-2019 13:00,97467.672,45370.408,45370.408 +20-9-2019 14:00,145188.928,67584.26400000001,67584.26400000001 +20-9-2019 15:00,51974.712,24193.808,24193.808 +20-9-2019 16:00,17841.935999999998,8305.272,8305.272 +20-9-2019 17:00,786932.16,366310.49600000004,366310.49600000004 +20-9-2019 18:00,430140.73600000003,200226.992,200226.992 +20-9-2019 19:00,762752.704,355055.16800000006,355055.16800000006 +20-9-2019 20:00,1033604.4160000001,481134.368,481134.368 +20-9-2019 21:00,547416.4480000001,254817.92000000004,254817.92000000004 +20-9-2019 22:00,145185.80800000002,67582.82400000001,67582.82400000001 +20-9-2019 23:00,136843.024,63699.32,63699.32 +21-9-2019 00:00,138753.888,64588.8,64588.8 +21-9-2019 01:00,176347.664,82088.40000000001,82088.40000000001 +21-9-2019 02:00,227487.184,105893.43200000002,105893.43200000002 +21-9-2019 03:00,219100.51200000002,101989.496,101989.496 +21-9-2019 04:00,229394.46400000004,106781.248,106781.248 +21-9-2019 05:00,264229.328,122996.58400000002,122996.58400000002 +21-9-2019 06:00,933360.256,434471.58400000003,434471.58400000003 +21-9-2019 07:00,1871711.488,871266.432,871266.432 +21-9-2019 08:00,2478043.3920000005,1153508.992,1153508.992 +21-9-2019 09:00,1719593.9840000002,800456.96,800456.96 +21-9-2019 10:00,293957.568,136834.83200000002,136834.83200000002 +21-9-2019 11:00,35023.064000000006,16302.944000000001,16302.944000000001 +21-9-2019 12:00,29848.992,13894.464000000002,13894.464000000002 +21-9-2019 13:00,23789.248000000003,11073.704,11073.704 +21-9-2019 14:00,20485.184,9535.688,9535.688 +21-9-2019 15:00,15859.496,7382.464,7382.464 +21-9-2019 16:00,17841.935999999998,8305.272,8305.272 +21-9-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +21-9-2019 18:00,51543.376000000004,23993.016000000003,23993.016000000003 +21-9-2019 19:00,55301.85600000001,25742.56,25742.56 +21-9-2019 20:00,56839.92,26458.520000000004,26458.520000000004 +21-9-2019 21:00,39525.72,18398.904000000002,18398.904000000002 +21-9-2019 22:00,27742.736,12914.016000000001,12914.016000000001 +21-9-2019 23:00,15052.664000000002,7006.888000000001,7006.888000000001 +22-9-2019 00:00,9615.904,4476.128,4476.128 +22-9-2019 01:00,23610.216,10990.36,10990.36 +22-9-2019 02:00,47265.920000000006,22001.896,22001.896 +22-9-2019 03:00,91945.36800000002,42799.816,42799.816 +22-9-2019 04:00,103381.68000000001,48123.32000000001,48123.32000000001 +22-9-2019 05:00,98910.32,46041.952000000005,46041.952000000005 +22-9-2019 06:00,452322.752,210552.592,210552.592 +22-9-2019 07:00,1205161.8560000001,560993.088,560993.088 +22-9-2019 08:00,1579661.952,735319.7440000001,735319.7440000001 +22-9-2019 09:00,1515933.1840000001,705654.528,705654.528 +22-9-2019 10:00,245975.392,114499.55200000001,114499.55200000001 +22-9-2019 11:00,35599.048,16571.064000000002,16571.064000000002 +22-9-2019 12:00,33031.344000000005,15375.824,15375.824 +22-9-2019 13:00,23789.248000000003,11073.704,11073.704 +22-9-2019 14:00,20485.184,9535.688,9535.688 +22-9-2019 15:00,15859.496,7382.464,7382.464 +22-9-2019 16:00,17841.935999999998,8305.272,8305.272 +22-9-2019 17:00,29075.744000000002,13534.520000000002,13534.520000000002 +22-9-2019 18:00,54251.44,25253.600000000002,25253.600000000002 +22-9-2019 19:00,60810.831999999995,28306.952000000005,28306.952000000005 +22-9-2019 20:00,83133.456,38697.952000000005,38697.952000000005 +22-9-2019 21:00,44763.864,20837.208,20837.208 +22-9-2019 22:00,28710.328000000005,13364.423999999999,13364.423999999999 +22-9-2019 23:00,17223.056,8017.192,8017.192 +23-9-2019 00:00,17104.728,7962.112,7962.112 +23-9-2019 01:00,33042.592,15381.056,15381.056 +23-9-2019 02:00,38642.72,17987.872,17987.872 +23-9-2019 03:00,55019.848,25611.288,25611.288 +23-9-2019 04:00,65521.912000000004,30499.920000000002,30499.920000000002 +23-9-2019 05:00,70303.472,32725.688000000002,32725.688000000002 +23-9-2019 06:00,273938.912,127516.33600000001,127516.33600000001 +23-9-2019 07:00,774108.736,360341.28,360341.28 +23-9-2019 08:00,631501.2480000001,293958.656,293958.656 +23-9-2019 09:00,701294.272,326446.784,326446.784 +23-9-2019 10:00,40309.56,18763.768,18763.768 +23-9-2019 11:00,45510.384000000005,21184.712,21184.712 +23-9-2019 12:00,94261.392,43877.920000000006,43877.920000000006 +23-9-2019 13:00,29751.28,13848.976000000002,13848.976000000002 +23-9-2019 14:00,62025.384,28872.312,28872.312 +23-9-2019 15:00,37580.336,17493.336,17493.336 +23-9-2019 16:00,17841.935999999998,8305.272,8305.272 +23-9-2019 17:00,171371.71200000003,79772.136,79772.136 +23-9-2019 18:00,230285.04,107195.8,107195.8 +23-9-2019 19:00,425347.2320000001,197995.64800000002,197995.64800000002 +23-9-2019 20:00,562492.032,261835.456,261835.456 +23-9-2019 21:00,293811.648,136766.928,136766.928 +23-9-2019 22:00,50907.112,23696.84,23696.84 +23-9-2019 23:00,59933.912000000004,27898.744000000002,27898.744000000002 +24-9-2019 00:00,76620.11200000001,35666.048,35666.048 +24-9-2019 01:00,77269.096,35968.144,35968.144 +24-9-2019 02:00,74252.464,34563.920000000006,34563.920000000006 +24-9-2019 03:00,75597.82400000001,35190.176,35190.176 +24-9-2019 04:00,76161.064,35452.36,35452.36 +24-9-2019 05:00,79612.176,37058.824,37058.824 +24-9-2019 06:00,371135.776,172760.67200000002,172760.67200000002 +24-9-2019 07:00,956846.2080000001,445404.096,445404.096 +24-9-2019 08:00,809512.576,376821.47200000007,376821.47200000007 +24-9-2019 09:00,778806.3360000001,362528.0,362528.0 +24-9-2019 10:00,40309.56,18763.768,18763.768 +24-9-2019 11:00,54919.536,25564.592000000004,25564.592000000004 +24-9-2019 12:00,138549.568,64493.695999999996,64493.695999999996 +24-9-2019 13:00,40206.264,18715.688000000002,18715.688000000002 +24-9-2019 14:00,77451.872,36053.216,36053.216 +24-9-2019 15:00,61963.96800000001,28843.72,28843.72 +24-9-2019 16:00,18098.248000000003,8424.584,8424.584 +24-9-2019 17:00,756304.6400000001,352053.632,352053.632 +24-9-2019 18:00,559045.056,260230.912,260230.912 +24-9-2019 19:00,630406.464,293449.05600000004,293449.05600000004 +24-9-2019 20:00,702881.6000000001,327185.632,327185.632 +24-9-2019 21:00,388269.984,180736.51200000002,180736.51200000002 +24-9-2019 22:00,101363.40000000001,47183.840000000004,47183.840000000004 +24-9-2019 23:00,89034.89600000001,41445.016,41445.016 +25-9-2019 00:00,80047.208,37261.328,37261.328 +25-9-2019 01:00,78538.408,36558.992,36558.992 +25-9-2019 02:00,78820.304,36690.208000000006,36690.208000000006 +25-9-2019 03:00,82219.41600000001,38272.472,38272.472 +25-9-2019 04:00,91103.61600000001,42407.992,42407.992 +25-9-2019 05:00,97450.96800000001,45362.64000000001,45362.64000000001 +25-9-2019 06:00,448537.60000000003,208790.608,208790.608 +25-9-2019 07:00,1070272.384,498203.04000000004,498203.04000000004 +25-9-2019 08:00,891576.192,415021.376,415021.376 +25-9-2019 09:00,819677.312,381553.152,381553.152 +25-9-2019 10:00,40309.56,18763.768,18763.768 +25-9-2019 11:00,78492.56,36537.648,36537.648 +25-9-2019 12:00,147266.848,68551.512,68551.512 +25-9-2019 13:00,48771.808000000005,22702.88,22702.88 +25-9-2019 14:00,86111.512,40084.200000000004,40084.200000000004 +25-9-2019 15:00,67977.832,31643.128000000004,31643.128000000004 +25-9-2019 16:00,17841.935999999998,8305.272,8305.272 +25-9-2019 17:00,798590.4,371737.34400000004,371737.34400000004 +25-9-2019 18:00,531488.512,247403.584,247403.584 +25-9-2019 19:00,602822.208,280608.832,280608.832 +25-9-2019 20:00,663622.464,308910.848,308910.848 +25-9-2019 21:00,343019.232,159672.65600000002,159672.65600000002 +25-9-2019 22:00,89152.79200000002,41499.904,41499.904 +25-9-2019 23:00,78232.896,36416.776000000005,36416.776000000005 +26-9-2019 00:00,71063.656,33079.552,33079.552 +26-9-2019 01:00,69169.352,32197.768,32197.768 +26-9-2019 02:00,67956.03199999999,31632.976000000002,31632.976000000002 +26-9-2019 03:00,70528.82400000001,32830.592,32830.592 +26-9-2019 04:00,74719.784,34781.448,34781.448 +26-9-2019 05:00,79697.728,37098.64000000001,37098.64000000001 +26-9-2019 06:00,373184.288,173714.24,173714.24 +26-9-2019 07:00,900369.6000000001,419114.75200000004,419114.75200000004 +26-9-2019 08:00,775522.304,360999.328,360999.328 +26-9-2019 09:00,721060.8640000001,335647.96800000005,335647.96800000005 +26-9-2019 10:00,40309.56,18763.768,18763.768 +26-9-2019 11:00,62286.472,28993.840000000004,28993.840000000004 +26-9-2019 12:00,140786.176,65534.816000000006,65534.816000000006 +26-9-2019 13:00,38965.968,18138.344,18138.344 +26-9-2019 14:00,75718.064,35246.144,35246.144 +26-9-2019 15:00,59937.280000000006,27900.312,27900.312 +26-9-2019 16:00,17841.935999999998,8305.272,8305.272 +26-9-2019 17:00,566534.976,263717.408,263717.408 +26-9-2019 18:00,418480.608,194799.31200000003,194799.31200000003 +26-9-2019 19:00,603895.488,281108.384,281108.384 +26-9-2019 20:00,683049.216,317953.824,317953.824 +26-9-2019 21:00,353773.28,164678.592,164678.592 +26-9-2019 22:00,91026.392,42372.048,42372.048 +26-9-2019 23:00,84881.672,39511.736000000004,39511.736000000004 +27-9-2019 00:00,77839.728,36233.76,36233.76 +27-9-2019 01:00,74717.624,34780.448,34780.448 +27-9-2019 02:00,76755.16,35728.912000000004,35728.912000000004 +27-9-2019 03:00,83337.304,38792.840000000004,38792.840000000004 +27-9-2019 04:00,85914.91200000001,39992.688,39992.688 +27-9-2019 05:00,92949.16,43267.08,43267.08 +27-9-2019 06:00,427993.56799999997,199227.52000000002,199227.52000000002 +27-9-2019 07:00,1004325.8880000002,467505.472,467505.472 +27-9-2019 08:00,840273.536,391140.48,391140.48 +27-9-2019 09:00,765934.912,356536.48,356536.48 +27-9-2019 10:00,40309.56,18763.768,18763.768 +27-9-2019 11:00,51306.32000000001,23882.672000000002,23882.672000000002 +27-9-2019 12:00,120651.768,56162.416000000005,56162.416000000005 +27-9-2019 13:00,30076.415999999997,14000.328000000001,14000.328000000001 +27-9-2019 14:00,65195.688,30348.064000000002,30348.064000000002 +27-9-2019 15:00,42629.648,19843.752,19843.752 +27-9-2019 16:00,17841.935999999998,8305.272,8305.272 +27-9-2019 17:00,512100.16,238378.41600000003,238378.41600000003 +27-9-2019 18:00,457826.368,213114.40000000002,213114.40000000002 +27-9-2019 19:00,542575.7440000001,252564.576,252564.576 +27-9-2019 20:00,594616.192,276788.992,276788.992 +27-9-2019 21:00,298038.368,138734.448,138734.448 +27-9-2019 22:00,65850.984,30653.096000000005,30653.096000000005 +27-9-2019 23:00,79247.99200000001,36889.296,36889.296 +28-9-2019 00:00,74523.88,34690.264,34690.264 +28-9-2019 01:00,75407.31999999999,35101.49600000001,35101.49600000001 +28-9-2019 02:00,74300.728,34586.392,34586.392 +28-9-2019 03:00,80053.696,37264.352000000006,37264.352000000006 +28-9-2019 04:00,85188.224,39654.432,39654.432 +28-9-2019 05:00,89132.18400000001,41490.304000000004,41490.304000000004 +28-9-2019 06:00,470701.85599999997,219107.888,219107.888 +28-9-2019 07:00,1175642.752,547252.16,547252.16 +28-9-2019 08:00,1533248.8960000002,713714.88,713714.88 +28-9-2019 09:00,1299280.128,604804.2880000001,604804.2880000001 +28-9-2019 10:00,222595.55200000003,103616.408,103616.408 +28-9-2019 11:00,38464.064000000006,17904.712,17904.712 +28-9-2019 12:00,142865.824,66502.88,66502.88 +28-9-2019 13:00,69419.776,32314.344,32314.344 +28-9-2019 14:00,20485.184,9535.688,9535.688 +28-9-2019 15:00,15859.496,7382.464,7382.464 +28-9-2019 16:00,17841.935999999998,8305.272,8305.272 +28-9-2019 17:00,68319.248,31802.056,31802.056 +28-9-2019 18:00,329809.984,153523.856,153523.856 +28-9-2019 19:00,434504.80000000005,202258.43200000003,202258.43200000003 +28-9-2019 20:00,365238.08,170015.36000000002,170015.36000000002 +28-9-2019 21:00,152142.96000000002,70821.304,70821.304 +28-9-2019 22:00,86311.79200000002,40177.432,40177.432 +28-9-2019 23:00,83654.75200000001,38940.608,38940.608 +29-9-2019 00:00,75523.53600000001,35155.592,35155.592 +29-9-2019 01:00,75059.168,34939.432,34939.432 +29-9-2019 02:00,80260.26400000001,37360.504,37360.504 +29-9-2019 03:00,86807.96,40408.392,40408.392 +29-9-2019 04:00,91916.864,42786.552,42786.552 +29-9-2019 05:00,102661.35200000001,47788.024000000005,47788.024000000005 +29-9-2019 06:00,495977.28,230873.392,230873.392 +29-9-2019 07:00,1263743.744,588262.4,588262.4 +29-9-2019 08:00,1726240.7680000002,803550.912,803550.912 +29-9-2019 09:00,1557221.2480000001,724873.792,724873.792 +29-9-2019 10:00,305463.328,142190.704,142190.704 +29-9-2019 11:00,88020.424,40972.792,40972.792 +29-9-2019 12:00,214858.81600000002,100015.024,100015.024 +29-9-2019 13:00,65681.88,30574.376000000004,30574.376000000004 +29-9-2019 14:00,21943.928,10214.720000000001,10214.720000000001 +29-9-2019 15:00,15859.496,7382.464,7382.464 +29-9-2019 16:00,18039.736,8397.352,8397.352 +29-9-2019 17:00,157852.56000000003,73479.08,73479.08 +29-9-2019 18:00,400790.048,186564.496,186564.496 +29-9-2019 19:00,546582.976,254429.936,254429.936 +29-9-2019 20:00,444179.776,206762.032,206762.032 +29-9-2019 21:00,199394.624,92816.56800000001,92816.56800000001 +29-9-2019 22:00,88747.32,41311.16,41311.16 +29-9-2019 23:00,83200.60800000001,38729.208000000006,38729.208000000006 +30-9-2019 00:00,81471.496,37924.312,37924.312 +30-9-2019 01:00,85218.0,39668.288,39668.288 +30-9-2019 02:00,86596.432,40309.944,40309.944 +30-9-2019 03:00,93017.84000000001,43299.048,43299.048 +30-9-2019 04:00,108792.104,50641.840000000004,50641.840000000004 +30-9-2019 05:00,126816.48000000001,59032.04000000001,59032.04000000001 +30-9-2019 06:00,493904.576,229908.576,229908.576 +30-9-2019 07:00,1206420.736,561578.944,561578.944 +30-9-2019 08:00,946089.344,440396.864,440396.864 +30-9-2019 09:00,881509.504,410335.392,410335.392 +30-9-2019 10:00,40309.56,18763.768,18763.768 +30-9-2019 11:00,71958.872,33496.264,33496.264 +30-9-2019 12:00,139475.10400000002,64924.512,64924.512 +30-9-2019 13:00,30216.632,14065.592000000002,14065.592000000002 +30-9-2019 14:00,62696.064000000006,29184.504,29184.504 +30-9-2019 15:00,44727.08,20820.088000000003,20820.088000000003 +30-9-2019 16:00,18138.912,8443.512,8443.512 +30-9-2019 17:00,589829.76,274560.928,274560.928 +30-9-2019 18:00,563165.056,262148.736,262148.736 +30-9-2019 19:00,647697.408,301497.888,301497.888 +30-9-2019 20:00,751885.056,349996.352,349996.352 +30-9-2019 21:00,419552.19200000004,195298.144,195298.144 +30-9-2019 22:00,103777.248,48307.46400000001,48307.46400000001 +30-9-2019 23:00,94209.088,43853.56,43853.56 +1-10-2019 00:00,87984.512,40956.08,40956.08 +1-10-2019 01:00,92170.76800000001,42904.744000000006,42904.744000000006 +1-10-2019 02:00,92214.632,42925.16,42925.16 +1-10-2019 03:00,100773.50400000002,46909.248,46909.248 +1-10-2019 04:00,97337.90400000001,45310.008,45310.008 +1-10-2019 05:00,98443.728,45824.75200000001,45824.75200000001 +1-10-2019 06:00,434437.5360000001,202227.152,202227.152 +1-10-2019 07:00,1057127.6160000002,492084.288,492084.288 +1-10-2019 08:00,863979.584,402175.42400000006,402175.42400000006 +1-10-2019 09:00,785424.576,365608.704,365608.704 +1-10-2019 10:00,40309.56,18763.768,18763.768 +1-10-2019 11:00,58245.16,27112.648,27112.648 +1-10-2019 12:00,135107.456,62891.424,62891.424 +1-10-2019 13:00,39742.376000000004,18499.744000000002,18499.744000000002 +1-10-2019 14:00,79902.68800000001,37194.048,37194.048 +1-10-2019 15:00,63232.600000000006,29434.264000000003,29434.264000000003 +1-10-2019 16:00,18167.296,8456.728000000001,8456.728000000001 +1-10-2019 17:00,797816.8960000001,371377.248,371377.248 +1-10-2019 18:00,531214.4,247275.95200000002,247275.95200000002 +1-10-2019 19:00,616627.008,287034.81600000005,287034.81600000005 +1-10-2019 20:00,839588.2880000002,390821.44,390821.44 +1-10-2019 21:00,514569.184,239527.728,239527.728 +1-10-2019 22:00,129594.92,60325.384,60325.384 +1-10-2019 23:00,120365.616,56029.21600000001,56029.21600000001 +2-10-2019 00:00,127334.496,59273.168000000005,59273.168000000005 +2-10-2019 01:00,150770.416,70182.40000000001,70182.40000000001 +2-10-2019 02:00,171748.73600000003,79947.632,79947.632 +2-10-2019 03:00,181715.37600000002,84587.024,84587.024 +2-10-2019 04:00,187743.728,87393.168,87393.168 +2-10-2019 05:00,204415.888,95153.936,95153.936 +2-10-2019 06:00,763693.056,355492.896,355492.896 +2-10-2019 07:00,1611805.824,750282.496,750282.496 +2-10-2019 08:00,1175298.0480000002,547091.712,547091.712 +2-10-2019 09:00,934235.1359999999,434878.84800000006,434878.84800000006 +2-10-2019 10:00,60702.44,28256.488,28256.488 +2-10-2019 11:00,97484.224,45378.12,45378.12 +2-10-2019 12:00,204591.488,95235.68000000001,95235.68000000001 +2-10-2019 13:00,41259.12,19205.776,19205.776 +2-10-2019 14:00,160344.12800000003,74638.888,74638.888 +2-10-2019 15:00,104842.05600000001,48803.12,48803.12 +2-10-2019 16:00,45904.60800000001,21368.216,21368.216 +2-10-2019 17:00,1701133.0559999999,791863.552,791863.552 +2-10-2019 18:00,1016628.0320000001,473232.096,473232.096 +2-10-2019 19:00,1139929.984,530628.064,530628.064 +2-10-2019 20:00,1160060.928,539998.8480000001,539998.8480000001 +2-10-2019 21:00,632979.52,294646.81600000005,294646.81600000005 +2-10-2019 22:00,186748.73600000003,86930.008,86930.008 +2-10-2019 23:00,212900.288,99103.344,99103.344 +3-10-2019 00:00,203810.80000000002,94872.26400000001,94872.26400000001 +3-10-2019 01:00,192412.73600000003,89566.55200000001,89566.55200000001 +3-10-2019 02:00,200689.92,93419.528,93419.528 +3-10-2019 03:00,195153.264,90842.25600000001,90842.25600000001 +3-10-2019 04:00,186179.168,86664.88,86664.88 +3-10-2019 05:00,198825.632,92551.712,92551.712 +3-10-2019 06:00,896765.3119999999,417436.96,417436.96 +3-10-2019 07:00,1730358.016,805467.52,805467.52 +3-10-2019 08:00,1587656.192,739041.088,739041.088 +3-10-2019 09:00,1099754.8800000001,511926.912,511926.912 +3-10-2019 10:00,63250.96800000001,29442.808000000005,29442.808000000005 +3-10-2019 11:00,84847.90400000001,39496.008,39496.008 +3-10-2019 12:00,221210.736,102971.79200000002,102971.79200000002 +3-10-2019 13:00,126578.8,58921.4,58921.4 +3-10-2019 14:00,159973.968,74466.56800000001,74466.56800000001 +3-10-2019 15:00,147608.432,68710.52,68710.52 +3-10-2019 16:00,64501.592000000004,30024.96,30024.96 +3-10-2019 17:00,2185021.184,1017109.6960000001,1017109.6960000001 +3-10-2019 18:00,1157110.016,538625.28,538625.28 +3-10-2019 19:00,1289271.936,600145.5360000001,600145.5360000001 +3-10-2019 20:00,1315809.2800000003,612498.496,612498.496 +3-10-2019 21:00,691406.464,321844.032,321844.032 +3-10-2019 22:00,215314.352,100227.072,100227.072 +3-10-2019 23:00,207884.352,96768.47200000001,96768.47200000001 +4-10-2019 00:00,206663.616,96200.232,96200.232 +4-10-2019 01:00,209486.816,97514.408,97514.408 +4-10-2019 02:00,208377.264,96997.92800000001,96997.92800000001 +4-10-2019 03:00,210563.744,98015.696,98015.696 +4-10-2019 04:00,214959.52000000002,100061.89600000001,100061.89600000001 +4-10-2019 05:00,223705.52000000002,104133.08000000002,104133.08000000002 +4-10-2019 06:00,1060500.992,493654.592,493654.592 +4-10-2019 07:00,1938676.608,902438.2080000001,902438.2080000001 +4-10-2019 08:00,1937347.7120000003,901819.52,901819.52 +4-10-2019 09:00,1348873.472,627889.728,627889.728 +4-10-2019 10:00,187131.80800000002,87108.32800000001,87108.32800000001 +4-10-2019 11:00,297960.864,138698.336,138698.336 +4-10-2019 12:00,440404.992,205004.928,205004.928 +4-10-2019 13:00,212611.6,98968.96,98968.96 +4-10-2019 14:00,220573.61600000004,102675.208,102675.208 +4-10-2019 15:00,236944.144,110295.568,110295.568 +4-10-2019 16:00,73959.336,34427.48,34427.48 +4-10-2019 17:00,2912566.5280000004,1355775.8720000002,1355775.8720000002 +4-10-2019 18:00,1313242.624,611303.68,611303.68 +4-10-2019 19:00,1370393.7280000001,637907.136,637907.136 +4-10-2019 20:00,1426850.0480000002,664187.008,664187.008 +4-10-2019 21:00,781319.488,363697.856,363697.856 +4-10-2019 22:00,245902.048,114465.39199999999,114465.39199999999 +4-10-2019 23:00,234082.832,108963.65600000002,108963.65600000002 +5-10-2019 00:00,228886.032,106544.58400000002,106544.58400000002 +5-10-2019 01:00,232980.17599999998,108450.368,108450.368 +5-10-2019 02:00,251787.50400000002,117205.032,117205.032 +5-10-2019 03:00,249668.608,116218.70400000001,116218.70400000001 +5-10-2019 04:00,261567.07200000004,121757.33600000001,121757.33600000001 +5-10-2019 05:00,330687.10400000005,153932.144,153932.144 +5-10-2019 06:00,1014828.928,472394.592,472394.592 +5-10-2019 07:00,2171617.7920000004,1010870.336,1010870.336 +5-10-2019 08:00,3435414.5280000004,1599157.6320000002,1599157.6320000002 +5-10-2019 09:00,2766321.1520000002,1287699.84,1287699.84 +5-10-2019 10:00,822417.216,382828.51200000005,382828.51200000005 +5-10-2019 11:00,503088.672,234183.696,234183.696 +5-10-2019 12:00,809492.9920000001,376812.416,376812.416 +5-10-2019 13:00,388414.912,180803.968,180803.968 +5-10-2019 14:00,199584.80000000002,92905.096,92905.096 +5-10-2019 15:00,104665.89600000001,48721.12,48721.12 +5-10-2019 16:00,205015.6,95433.088,95433.088 +5-10-2019 17:00,1183693.4400000002,550999.68,550999.68 +5-10-2019 18:00,1523913.0880000002,709369.088,709369.088 +5-10-2019 19:00,1528900.736,711690.752,711690.752 +5-10-2019 20:00,1170292.736,544761.6,544761.6 +5-10-2019 21:00,492270.81600000005,229148.048,229148.048 +5-10-2019 22:00,261858.576,121893.032,121893.032 +5-10-2019 23:00,248555.152,115700.40000000001,115700.40000000001 +6-10-2019 00:00,240529.584,111964.56000000001,111964.56000000001 +6-10-2019 01:00,241785.76,112549.288,112549.288 +6-10-2019 02:00,241733.32799999998,112524.88799999999,112524.88799999999 +6-10-2019 03:00,245102.0,114092.992,114092.992 +6-10-2019 04:00,301414.624,140306.048,140306.048 +6-10-2019 05:00,358908.51200000005,167068.992,167068.992 +6-10-2019 06:00,988850.56,460301.85599999997,460301.85599999997 +6-10-2019 07:00,2163263.7440000004,1006981.568,1006981.568 +6-10-2019 08:00,3501338.3680000002,1629844.352,1629844.352 +6-10-2019 09:00,2927728.64,1362833.92,1362833.92 +6-10-2019 10:00,1045712.96,486770.752,486770.752 +6-10-2019 11:00,771399.04,359079.96800000005,359079.96800000005 +6-10-2019 12:00,1123401.8560000001,522934.43200000003,522934.43200000003 +6-10-2019 13:00,702694.656,327098.62400000007,327098.62400000007 +6-10-2019 14:00,454637.31200000003,211629.95200000002,211629.95200000002 +6-10-2019 15:00,319473.632,148712.38400000002,148712.38400000002 +6-10-2019 16:00,449059.2320000001,209033.392,209033.392 +6-10-2019 17:00,1504447.8720000002,700308.224,700308.224 +6-10-2019 18:00,1648179.0720000002,767213.888,767213.888 +6-10-2019 19:00,1662481.0240000002,773871.36,773871.36 +6-10-2019 20:00,1251136.384,582393.856,582393.856 +6-10-2019 21:00,535800.9280000001,249410.96000000002,249410.96000000002 +6-10-2019 22:00,289977.31200000003,134982.08000000002,134982.08000000002 +6-10-2019 23:00,275943.808,128449.6,128449.6 +7-10-2019 00:00,266722.688,124157.23999999999,124157.23999999999 +7-10-2019 01:00,265925.632,123786.216,123786.216 +7-10-2019 02:00,273584.256,127351.248,127351.248 +7-10-2019 03:00,346626.20800000004,161351.68000000002,161351.68000000002 +7-10-2019 04:00,440266.88,204940.624,204940.624 +7-10-2019 05:00,486912.0,226653.584,226653.584 +7-10-2019 06:00,1642437.504,764541.184,764541.184 +7-10-2019 07:00,2341026.048,1089728.5119999999,1089728.5119999999 +7-10-2019 08:00,2962908.9280000003,1379209.9840000002,1379209.9840000002 +7-10-2019 09:00,1818723.584,846601.0880000001,846601.0880000001 +7-10-2019 10:00,335832.384,156327.248,156327.248 +7-10-2019 11:00,534848.832,248967.77599999998,248967.77599999998 +7-10-2019 12:00,873007.2320000001,406377.76,406377.76 +7-10-2019 13:00,524151.61600000004,243988.304,243988.304 +7-10-2019 14:00,485596.864,226041.376,226041.376 +7-10-2019 15:00,439650.04800000007,204653.53600000002,204653.53600000002 +7-10-2019 16:00,293937.31200000003,136825.40800000002,136825.40800000002 +7-10-2019 17:00,3940323.072,1834188.0320000001,1834188.0320000001 +7-10-2019 18:00,1705828.0960000001,794049.088,794049.088 +7-10-2019 19:00,1599472.128,744541.312,744541.312 +7-10-2019 20:00,1584713.344,737671.104,737671.104 +7-10-2019 21:00,824818.432,383946.24,383946.24 +7-10-2019 22:00,250517.40800000002,116613.792,116613.792 +7-10-2019 23:00,233801.056,108832.496,108832.496 +8-10-2019 00:00,221913.728,103299.024,103299.024 +8-10-2019 01:00,219507.76,102179.06400000001,102179.06400000001 +8-10-2019 02:00,217228.96000000002,101118.32,101118.32 +8-10-2019 03:00,215596.09600000002,100358.21600000001,100358.21600000001 +8-10-2019 04:00,215368.0,100252.04800000001,100252.04800000001 +8-10-2019 05:00,222183.76,103424.728,103424.728 +8-10-2019 06:00,1168150.144,543764.352,543764.352 +8-10-2019 07:00,1990785.4079999998,926694.336,926694.336 +8-10-2019 08:00,2144719.7440000004,998349.6320000001,998349.6320000001 +8-10-2019 09:00,1355616.6400000001,631028.4160000001,631028.4160000001 +8-10-2019 10:00,152323.056,70905.136,70905.136 +8-10-2019 11:00,298208.864,138813.792,138813.792 +8-10-2019 12:00,532977.792,248096.80000000002,248096.80000000002 +8-10-2019 13:00,284503.264,132433.944,132433.944 +8-10-2019 14:00,276686.016,128795.08000000002,128795.08000000002 +8-10-2019 15:00,296032.384,137800.672,137800.672 +8-10-2019 16:00,139657.95200000002,65009.648,65009.648 +8-10-2019 17:00,3172677.12,1476855.424,1476855.424 +8-10-2019 18:00,1337236.736,622472.832,622472.832 +8-10-2019 19:00,1389940.608,647006.0800000001,647006.0800000001 +8-10-2019 20:00,1389985.2800000003,647026.8160000001,647026.8160000001 +8-10-2019 21:00,771965.76,359343.808,359343.808 +8-10-2019 22:00,247323.80800000002,115127.20800000001,115127.20800000001 +8-10-2019 23:00,224264.304,104393.21600000001,104393.21600000001 +9-10-2019 00:00,214309.85600000003,99759.48800000001,99759.48800000001 +9-10-2019 01:00,214582.544,99886.41600000001,99886.41600000001 +9-10-2019 02:00,217595.12000000002,101288.76000000001,101288.76000000001 +9-10-2019 03:00,218965.79200000002,101926.79200000002,101926.79200000002 +9-10-2019 04:00,222989.16800000003,103799.632,103799.632 +9-10-2019 05:00,233929.44,108892.248,108892.248 +9-10-2019 06:00,1194872.704,556203.392,556203.392 +9-10-2019 07:00,2032177.536,945961.984,945961.984 +9-10-2019 08:00,2200529.6640000003,1024328.6400000001,1024328.6400000001 +9-10-2019 09:00,1389029.76,646582.0160000001,646582.0160000001 +9-10-2019 10:00,198551.776,92424.24,92424.24 +9-10-2019 11:00,360379.04000000004,167753.50400000002,167753.50400000002 +9-10-2019 12:00,628205.312,292424.44800000003,292424.44800000003 +9-10-2019 13:00,344060.064,160157.152,160157.152 +9-10-2019 14:00,311918.176,145195.344,145195.344 +9-10-2019 15:00,333974.368,155462.336,155462.336 +9-10-2019 16:00,231489.28,107756.376,107756.376 +9-10-2019 17:00,3565906.6880000005,1659900.4160000002,1659900.4160000002 +9-10-2019 18:00,1539309.1840000001,716535.872,716535.872 +9-10-2019 19:00,1516892.1600000001,706100.9280000001,706100.9280000001 +9-10-2019 20:00,1536428.1600000001,715194.752,715194.752 +9-10-2019 21:00,802654.1440000001,373628.928,373628.928 +9-10-2019 22:00,254194.896,118325.648,118325.648 +9-10-2019 23:00,240561.152,111979.264,111979.264 +10-10-2019 00:00,233649.77599999998,108762.072,108762.072 +10-10-2019 01:00,235317.6,109538.44,109538.44 +10-10-2019 02:00,238980.09600000002,111243.296,111243.296 +10-10-2019 03:00,236795.02400000003,110226.13600000001,110226.13600000001 +10-10-2019 04:00,241179.00800000003,112266.85600000001,112266.85600000001 +10-10-2019 05:00,273506.624,127315.072,127315.072 +10-10-2019 06:00,1314376.32,611831.424,611831.424 +10-10-2019 07:00,2103504.128,979163.968,979163.968 +10-10-2019 08:00,2141289.216,996752.6400000001,996752.6400000001 +10-10-2019 09:00,1313380.2240000002,611367.7440000001,611367.7440000001 +10-10-2019 10:00,127940.23200000002,59555.136,59555.136 +10-10-2019 11:00,99588.36800000002,46357.576,46357.576 +10-10-2019 12:00,393188.51200000005,183026.048,183026.048 +10-10-2019 13:00,302177.92000000004,140661.36000000002,140661.36000000002 +10-10-2019 14:00,271842.112,126540.28000000001,126540.28000000001 +10-10-2019 15:00,232341.21600000001,108152.92800000001,108152.92800000001 +10-10-2019 16:00,105142.13600000001,48942.816,48942.816 +10-10-2019 17:00,3125104.384,1454710.528,1454710.528 +10-10-2019 18:00,1348814.208,627862.0160000001,627862.0160000001 +10-10-2019 19:00,1332527.4880000001,620280.64,620280.64 +10-10-2019 20:00,1347622.272,627307.2000000001,627307.2000000001 +10-10-2019 21:00,711539.136,331215.71200000006,331215.71200000006 +10-10-2019 22:00,209692.16000000003,97609.99200000001,97609.99200000001 +10-10-2019 23:00,194158.09600000002,90379.008,90379.008 +11-10-2019 00:00,182568.48,84984.144,84984.144 +11-10-2019 01:00,182859.456,85119.584,85119.584 +11-10-2019 02:00,197464.88,91918.288,91918.288 +11-10-2019 03:00,183410.96000000002,85376.312,85376.312 +11-10-2019 04:00,178398.688,83043.136,83043.136 +11-10-2019 05:00,187688.576,87367.496,87367.496 +11-10-2019 06:00,957893.2480000001,445891.488,445891.488 +11-10-2019 07:00,1768461.1840000001,823204.2880000001,823204.2880000001 +11-10-2019 08:00,1729843.3280000002,805227.968,805227.968 +11-10-2019 09:00,1247458.944,580681.984,580681.984 +11-10-2019 10:00,120483.104,56083.90400000001,56083.90400000001 +11-10-2019 11:00,247872.736,115382.73600000002,115382.73600000002 +11-10-2019 12:00,473656.096,220483.056,220483.056 +11-10-2019 13:00,251497.77599999998,117070.168,117070.168 +11-10-2019 14:00,251526.832,117083.68000000001,117083.68000000001 +11-10-2019 15:00,275128.928,128070.288,128070.288 +11-10-2019 16:00,116184.568,54082.976,54082.976 +11-10-2019 17:00,3030166.5280000004,1410517.76,1410517.76 +11-10-2019 18:00,1126753.92,524494.784,524494.784 +11-10-2019 19:00,1091684.2240000002,508170.08,508170.08 +11-10-2019 20:00,1093104.0,508831.00800000003,508831.00800000003 +11-10-2019 21:00,559407.9360000001,260399.82400000002,260399.82400000002 +11-10-2019 22:00,157505.728,73317.624,73317.624 +11-10-2019 23:00,141514.544,65873.864,65873.864 +12-10-2019 00:00,134782.25600000002,62740.048,62740.048 +12-10-2019 01:00,130729.85600000001,60853.688,60853.688 +12-10-2019 02:00,131976.088,61433.8,61433.8 +12-10-2019 03:00,177736.94400000002,82735.088,82735.088 +12-10-2019 04:00,179760.544,83677.072,83677.072 +12-10-2019 05:00,188524.048,87756.408,87756.408 +12-10-2019 06:00,695740.4160000001,323861.504,323861.504 +12-10-2019 07:00,1643255.424,764922.0480000001,764922.0480000001 +12-10-2019 08:00,2740540.16,1275699.0720000002,1275699.0720000002 +12-10-2019 09:00,2184245.504,1016748.4160000001,1016748.4160000001 +12-10-2019 10:00,636830.1440000001,296439.2,296439.2 +12-10-2019 11:00,467194.72000000003,217475.344,217475.344 +12-10-2019 12:00,842972.736,392396.928,392396.928 +12-10-2019 13:00,486312.992,226374.736,226374.736 +12-10-2019 14:00,267714.544,124618.944,124618.944 +12-10-2019 15:00,163053.37600000002,75900.016,75900.016 +12-10-2019 16:00,318131.136,148087.44,148087.44 +12-10-2019 17:00,1212279.04,564305.984,564305.984 +12-10-2019 18:00,1331760.256,619923.52,619923.52 +12-10-2019 19:00,1363199.744,634558.4,634558.4 +12-10-2019 20:00,1047035.648,487386.56,487386.56 +12-10-2019 21:00,434918.20800000004,202450.88,202450.88 +12-10-2019 22:00,226055.44,105226.968,105226.968 +12-10-2019 23:00,213780.41600000003,99513.04000000001,99513.04000000001 +13-10-2019 00:00,209490.544,97516.144,97516.144 +13-10-2019 01:00,207842.752,96749.104,96749.104 +13-10-2019 02:00,203507.68000000002,94731.16,94731.16 +13-10-2019 03:00,197085.84,91741.848,91741.848 +13-10-2019 04:00,188579.24800000002,87782.096,87782.096 +13-10-2019 05:00,185890.38400000002,86530.456,86530.456 +13-10-2019 06:00,739878.1440000001,344407.264,344407.264 +13-10-2019 07:00,1783700.224,830297.856,830297.856 +13-10-2019 08:00,2926184.9600000004,1362115.2000000002,1362115.2000000002 +13-10-2019 09:00,2294672.128,1068151.168,1068151.168 +13-10-2019 10:00,514381.088,239440.208,239440.208 +13-10-2019 11:00,125865.12800000001,58589.184,58589.184 +13-10-2019 12:00,199304.816,92774.76000000001,92774.76000000001 +13-10-2019 13:00,29493.471999999998,13728.968,13728.968 +13-10-2019 14:00,21637.88,10072.256000000001,10072.256000000001 +13-10-2019 15:00,16032.688000000002,7463.080000000001,7463.080000000001 +13-10-2019 16:00,19374.744000000002,9018.784,9018.784 +13-10-2019 17:00,230513.376,107302.096,107302.096 +13-10-2019 18:00,610606.4,284232.288,284232.288 +13-10-2019 19:00,816607.9360000001,380124.32000000007,380124.32000000007 +13-10-2019 20:00,662410.0480000001,308346.496,308346.496 +13-10-2019 21:00,269888.704,125630.992,125630.992 +13-10-2019 22:00,115733.60800000001,53873.048,53873.048 +13-10-2019 23:00,110558.032,51463.864,51463.864 +14-10-2019 00:00,129033.04800000001,60063.840000000004,60063.840000000004 +14-10-2019 01:00,158288.496,73682.008,73682.008 +14-10-2019 02:00,165791.55200000003,77174.61600000001,77174.61600000001 +14-10-2019 03:00,176805.456,82301.50400000002,82301.50400000002 +14-10-2019 04:00,175228.752,81567.55200000001,81567.55200000001 +14-10-2019 05:00,182952.912,85163.096,85163.096 +14-10-2019 06:00,824679.8080000001,383881.728,383881.728 +14-10-2019 07:00,1715514.8800000001,798558.2080000001,798558.2080000001 +14-10-2019 08:00,1632118.6560000002,759737.92,759737.92 +14-10-2019 09:00,1151814.784,536160.352,536160.352 +14-10-2019 10:00,86613.032,40317.656,40317.656 +14-10-2019 11:00,170132.0,79195.06400000001,79195.06400000001 +14-10-2019 12:00,329845.856,153540.544,153540.544 +14-10-2019 13:00,120400.952,56045.672,56045.672 +14-10-2019 14:00,157365.728,73252.456,73252.456 +14-10-2019 15:00,174042.67200000002,81015.448,81015.448 +14-10-2019 16:00,52039.016,24223.736,24223.736 +14-10-2019 17:00,2137886.336,995168.768,995168.768 +14-10-2019 18:00,899319.36,418625.792,418625.792 +14-10-2019 19:00,864781.4400000001,402548.672,402548.672 +14-10-2019 20:00,851926.4640000002,396564.832,396564.832 +14-10-2019 21:00,415349.47200000007,193341.776,193341.776 +14-10-2019 22:00,107291.064,49943.12,49943.12 +14-10-2019 23:00,98147.88,45687.04000000001,45687.04000000001 +15-10-2019 00:00,109499.792,50971.264,50971.264 +15-10-2019 01:00,116512.65600000002,54235.688,54235.688 +15-10-2019 02:00,110255.48000000001,51323.03200000001,51323.03200000001 +15-10-2019 03:00,113885.96000000002,53012.992000000006,53012.992000000006 +15-10-2019 04:00,123550.55200000001,57511.76800000001,57511.76800000001 +15-10-2019 05:00,137330.624,63926.288,63926.288 +15-10-2019 06:00,590342.976,274799.84,274799.84 +15-10-2019 07:00,1407373.312,655120.832,655120.832 +15-10-2019 08:00,1042309.376,485186.52800000005,485186.52800000005 +15-10-2019 09:00,887703.6800000002,413218.848,413218.848 +15-10-2019 10:00,56931.840000000004,26501.304,26501.304 +15-10-2019 11:00,111382.728,51847.75200000001,51847.75200000001 +15-10-2019 12:00,240157.95200000002,111791.576,111791.576 +15-10-2019 13:00,92563.376,43087.49600000001,43087.49600000001 +15-10-2019 14:00,130341.36000000002,60672.840000000004,60672.840000000004 +15-10-2019 15:00,156590.912,72891.8,72891.8 +15-10-2019 16:00,69657.296,32424.904,32424.904 +15-10-2019 17:00,1927170.5600000003,897082.0480000001,897082.0480000001 +15-10-2019 18:00,925801.8560000001,430953.216,430953.216 +15-10-2019 19:00,988037.3119999999,459923.32800000004,459923.32800000004 +15-10-2019 20:00,1021767.36,475624.35199999996,475624.35199999996 +15-10-2019 21:00,538651.008,250737.64800000002,250737.64800000002 +15-10-2019 22:00,158533.056,73795.848,73795.848 +15-10-2019 23:00,166073.55200000003,77305.88,77305.88 +16-10-2019 00:00,161292.51200000002,75080.352,75080.352 +16-10-2019 01:00,161103.456,74992.344,74992.344 +16-10-2019 02:00,160927.392,74910.392,74910.392 +16-10-2019 03:00,169380.97600000002,78845.464,78845.464 +16-10-2019 04:00,182589.472,84993.91200000001,84993.91200000001 +16-10-2019 05:00,194187.616,90392.75200000001,90392.75200000001 +16-10-2019 06:00,845397.6320000001,393525.696,393525.696 +16-10-2019 07:00,1688813.6960000002,786129.0240000001,786129.0240000001 +16-10-2019 08:00,1364570.8800000001,635196.608,635196.608 +16-10-2019 09:00,1051370.112,489404.19200000004,489404.19200000004 +16-10-2019 10:00,66734.32800000001,31064.288,31064.288 +16-10-2019 11:00,156638.048,72913.736,72913.736 +16-10-2019 12:00,323899.61600000004,150772.624,150772.624 +16-10-2019 13:00,191622.73600000003,89198.82400000001,89198.82400000001 +16-10-2019 14:00,189416.67200000002,88171.92,88171.92 +16-10-2019 15:00,200976.784,93553.04800000001,93553.04800000001 +16-10-2019 16:00,110073.53600000002,51238.32800000001,51238.32800000001 +16-10-2019 17:00,2473179.3920000005,1151244.672,1151244.672 +16-10-2019 18:00,998525.76,464805.60000000003,464805.60000000003 +16-10-2019 19:00,1032421.8880000002,480584.0,480584.0 +16-10-2019 20:00,1042124.8,485100.6400000001,485100.6400000001 +16-10-2019 21:00,542068.352,252328.41600000003,252328.41600000003 +16-10-2019 22:00,165235.76,76915.896,76915.896 +16-10-2019 23:00,155220.11200000002,72253.696,72253.696 +17-10-2019 00:00,149367.07200000001,69529.16,69529.16 +17-10-2019 01:00,148834.304,69281.152,69281.152 +17-10-2019 02:00,146992.864,68423.984,68423.984 +17-10-2019 03:00,155092.976,72194.512,72194.512 +17-10-2019 04:00,167953.37600000002,78180.92,78180.92 +17-10-2019 05:00,175912.896,81886.016,81886.016 +17-10-2019 06:00,780923.3280000001,363513.47200000007,363513.47200000007 +17-10-2019 07:00,1626142.208,756955.968,756955.968 +17-10-2019 08:00,1901578.8800000001,885169.408,885169.408 +17-10-2019 09:00,1190836.2240000002,554324.5440000001,554324.5440000001 +17-10-2019 10:00,64217.784,29892.856,29892.856 +17-10-2019 11:00,90414.04000000001,42086.992,42086.992 +17-10-2019 12:00,236641.28,110154.576,110154.576 +17-10-2019 13:00,70066.776,32615.520000000004,32615.520000000004 +17-10-2019 14:00,164813.776,76719.48000000001,76719.48000000001 +17-10-2019 15:00,176244.576,82040.41600000001,82040.41600000001 +17-10-2019 16:00,358592.128,166921.71200000003,166921.71200000003 +17-10-2019 17:00,2762171.648,1285768.32,1285768.32 +17-10-2019 18:00,1222797.312,569202.176,569202.176 +17-10-2019 19:00,1245514.8800000001,579777.0240000001,579777.0240000001 +17-10-2019 20:00,1320070.016,614481.856,614481.856 +17-10-2019 21:00,676501.6320000001,314906.01600000006,314906.01600000006 +17-10-2019 22:00,207045.13600000003,96377.816,96377.816 +17-10-2019 23:00,192396.32,89558.92,89558.92 +18-10-2019 00:00,175044.048,81481.576,81481.576 +18-10-2019 01:00,173438.896,80734.384,80734.384 +18-10-2019 02:00,173154.83200000002,80602.168,80602.168 +18-10-2019 03:00,170015.53600000002,79140.848,79140.848 +18-10-2019 04:00,171021.24800000002,79609.0,79609.0 +18-10-2019 05:00,177327.568,82544.53600000001,82544.53600000001 +18-10-2019 06:00,855080.4480000001,398032.96,398032.96 +18-10-2019 07:00,1682237.3120000002,783067.712,783067.712 +18-10-2019 08:00,2023442.816,941896.192,941896.192 +18-10-2019 09:00,1252289.024,582930.368,582930.368 +18-10-2019 10:00,104445.56,48618.56,48618.56 +18-10-2019 11:00,216622.0,100835.76800000001,100835.76800000001 +18-10-2019 12:00,456019.13600000006,212273.21600000001,212273.21600000001 +18-10-2019 13:00,162551.776,75666.528,75666.528 +18-10-2019 14:00,228239.984,106243.848,106243.848 +18-10-2019 15:00,273904.096,127500.13600000001,127500.13600000001 +18-10-2019 16:00,602250.752,280342.848,280342.848 +18-10-2019 17:00,3312967.936,1542159.744,1542159.744 +18-10-2019 18:00,1283518.4640000002,597467.392,597467.392 +18-10-2019 19:00,1286434.816,598825.0240000001,598825.0240000001 +18-10-2019 20:00,1267069.4400000002,589810.496,589810.496 +18-10-2019 21:00,704775.1680000001,328067.10400000005,328067.10400000005 +18-10-2019 22:00,222144.288,103406.344,103406.344 +18-10-2019 23:00,208874.608,97229.41600000001,97229.41600000001 +19-10-2019 00:00,202753.168,94379.96,94379.96 +19-10-2019 01:00,201546.22400000002,93818.12,93818.12 +19-10-2019 02:00,198837.264,92557.12,92557.12 +19-10-2019 03:00,196873.968,91643.232,91643.232 +19-10-2019 04:00,194125.872,90364.008,90364.008 +19-10-2019 05:00,194232.496,90413.64000000001,90413.64000000001 +19-10-2019 06:00,751884.9280000001,349996.288,349996.288 +19-10-2019 07:00,1801312.64,838496.3840000001,838496.3840000001 +19-10-2019 08:00,3611496.9600000004,1681122.432,1681122.432 +19-10-2019 09:00,2687367.168,1250947.584,1250947.584 +19-10-2019 10:00,715336.064,332983.07200000004,332983.07200000004 +19-10-2019 11:00,385876.992,179622.576,179622.576 +19-10-2019 12:00,703842.0480000001,327632.73600000003,327632.73600000003 +19-10-2019 13:00,350860.288,163322.576,163322.576 +19-10-2019 14:00,177386.592,82572.0,82572.0 +19-10-2019 15:00,111025.55200000001,51681.488000000005,51681.488000000005 +19-10-2019 16:00,901024.0,419419.328,419419.328 +19-10-2019 17:00,1179904.768,549236.032,549236.032 +19-10-2019 18:00,1285812.352,598535.104,598535.104 +19-10-2019 19:00,1325524.0960000001,617020.672,617020.672 +19-10-2019 20:00,1032300.6720000001,480527.55199999997,480527.55199999997 +19-10-2019 21:00,436789.952,203322.16000000003,203322.16000000003 +19-10-2019 22:00,234590.912,109200.16000000002,109200.16000000002 +19-10-2019 23:00,220574.592,102675.672,102675.672 +20-10-2019 00:00,211194.064,98309.12,98309.12 +20-10-2019 01:00,211087.04,98259.288,98259.288 +20-10-2019 02:00,215034.16000000003,100096.648,100096.648 +20-10-2019 03:00,225079.44,104772.632,104772.632 +20-10-2019 04:00,234724.896,109262.528,109262.528 +20-10-2019 05:00,294395.712,137038.816,137038.816 +20-10-2019 06:00,997062.336,464124.35199999996,464124.35199999996 +20-10-2019 07:00,2149618.944,1000630.0800000001,1000630.0800000001 +20-10-2019 08:00,4073259.2640000004,1896069.12,1896069.12 +20-10-2019 09:00,3048357.8880000003,1418985.7280000001,1418985.7280000001 +20-10-2019 10:00,1012716.8,471411.32800000004,471411.32800000004 +20-10-2019 11:00,616959.424,287189.568,287189.568 +20-10-2019 12:00,880120.832,409689.05600000004,409689.05600000004 +20-10-2019 13:00,458425.92000000004,213393.536,213393.536 +20-10-2019 14:00,238546.62400000004,111041.52,111041.52 +20-10-2019 15:00,166957.24800000002,77717.24,77717.24 +20-10-2019 16:00,1048123.1359999999,487892.73600000003,487892.73600000003 +20-10-2019 17:00,1298245.504,604322.688,604322.688 +20-10-2019 18:00,1382677.76,643625.216,643625.216 +20-10-2019 19:00,1385776.0,645067.392,645067.392 +20-10-2019 20:00,1054718.976,490963.072,490963.072 +20-10-2019 21:00,449070.9440000001,209038.864,209038.864 +20-10-2019 22:00,234632.576,109219.544,109219.544 +20-10-2019 23:00,218329.07200000004,101630.408,101630.408 +21-10-2019 00:00,209961.232,97735.24,97735.24 +21-10-2019 01:00,212239.744,98795.864,98795.864 +21-10-2019 02:00,216118.80000000002,100601.53600000001,100601.53600000001 +21-10-2019 03:00,218948.51200000002,101918.75200000001,101918.75200000001 +21-10-2019 04:00,221717.31200000003,103207.60800000001,103207.60800000001 +21-10-2019 05:00,238732.0,111127.80800000002,111127.80800000002 +21-10-2019 06:00,1228814.592,572003.2000000001,572003.2000000001 +21-10-2019 07:00,2060397.44,959098.176,959098.176 +21-10-2019 08:00,3022906.624,1407138.432,1407138.432 +21-10-2019 09:00,1643889.408,765217.152,765217.152 +21-10-2019 10:00,231474.47999999998,107749.488,107749.488 +21-10-2019 11:00,315829.568,147016.08000000002,147016.08000000002 +21-10-2019 12:00,560905.984,261097.16800000003,261097.16800000003 +21-10-2019 13:00,306625.504,142731.664,142731.664 +21-10-2019 14:00,334146.72000000003,155542.56000000003,155542.56000000003 +21-10-2019 15:00,380652.44800000003,177190.608,177190.608 +21-10-2019 16:00,775000.576,360756.48,360756.48 +21-10-2019 17:00,3720043.2640000004,1731649.7920000004,1731649.7920000004 +21-10-2019 18:00,1417896.8320000002,660019.392,660019.392 +21-10-2019 19:00,1373026.816,639132.736,639132.736 +21-10-2019 20:00,1410137.7280000001,656407.552,656407.552 +21-10-2019 21:00,741804.0320000001,345303.68,345303.68 +21-10-2019 22:00,227842.048,106058.60800000001,106058.60800000001 +21-10-2019 23:00,214098.17599999998,99660.944,99660.944 +22-10-2019 00:00,205638.768,95723.168,95723.168 +22-10-2019 01:00,205376.848,95601.248,95601.248 +22-10-2019 02:00,205124.83200000002,95483.936,95483.936 +22-10-2019 03:00,207970.064,96808.36800000002,96808.36800000002 +22-10-2019 04:00,207545.744,96610.848,96610.848 +22-10-2019 05:00,206891.424,96306.272,96306.272 +22-10-2019 06:00,1069564.544,497873.56799999997,497873.56799999997 +22-10-2019 07:00,1915949.568,891859.0720000002,891859.0720000002 +22-10-2019 08:00,2658516.224,1237517.568,1237517.568 +22-10-2019 09:00,1442829.056,671625.152,671625.152 +22-10-2019 10:00,174875.456,81403.088,81403.088 +22-10-2019 11:00,239731.376,111592.992,111592.992 +22-10-2019 12:00,507159.168,236078.448,236078.448 +22-10-2019 13:00,275554.016,128268.152,128268.152 +22-10-2019 14:00,248237.55200000003,115552.53600000002,115552.53600000002 +22-10-2019 15:00,351902.01600000006,163807.52000000002,163807.52000000002 +22-10-2019 16:00,747891.3280000001,348137.31200000003,348137.31200000003 +22-10-2019 17:00,3703688.1920000003,1724036.736,1724036.736 +22-10-2019 18:00,1537630.5920000002,715754.432,715754.432 +22-10-2019 19:00,1555098.8800000001,723885.824,723885.824 +22-10-2019 20:00,1640620.928,763695.68,763695.68 +22-10-2019 21:00,907520.3840000001,422443.36,422443.36 +22-10-2019 22:00,301152.992,140184.272,140184.272 +22-10-2019 23:00,291150.304,135528.096,135528.096 +23-10-2019 00:00,287258.88,133716.64800000002,133716.64800000002 +23-10-2019 01:00,293817.76,136769.792,136769.792 +23-10-2019 02:00,291814.592,135837.312,135837.312 +23-10-2019 03:00,277631.07200000004,129235.00800000002,129235.00800000002 +23-10-2019 04:00,347647.00800000003,161826.83200000002,161826.83200000002 +23-10-2019 05:00,409024.576,190397.6,190397.6 +23-10-2019 06:00,1532184.32,713219.3280000001,713219.3280000001 +23-10-2019 07:00,2306669.3120000004,1073735.744,1073735.744 +23-10-2019 08:00,3489124.0960000004,1624158.976,1624158.976 +23-10-2019 09:00,1791726.72,834034.176,834034.176 +23-10-2019 10:00,267248.48,124402.0,124402.0 +23-10-2019 11:00,398262.24,185387.82400000002,185387.82400000002 +23-10-2019 12:00,624841.792,290858.75200000004,290858.75200000004 +23-10-2019 13:00,291952.352,135901.424,135901.424 +23-10-2019 14:00,205570.288,95691.288,95691.288 +23-10-2019 15:00,285973.472,133118.32,133118.32 +23-10-2019 16:00,538542.784,250687.24800000002,250687.24800000002 +23-10-2019 17:00,3803025.6640000003,1770277.504,1770277.504 +23-10-2019 18:00,1444888.704,672583.872,672583.872 +23-10-2019 19:00,1435762.432,668335.7440000001,668335.7440000001 +23-10-2019 20:00,1420583.168,661269.824,661269.824 +23-10-2019 21:00,749685.184,348972.352,348972.352 +23-10-2019 22:00,225228.24,104841.89600000001,104841.89600000001 +23-10-2019 23:00,205909.296,95849.104,95849.104 +24-10-2019 00:00,203794.352,94864.60800000001,94864.60800000001 +24-10-2019 01:00,203085.24800000002,94534.52,94534.52 +24-10-2019 02:00,204166.09600000002,95037.64000000001,95037.64000000001 +24-10-2019 03:00,205474.48,95646.68800000001,95646.68800000001 +24-10-2019 04:00,203586.592,94767.89600000001,94767.89600000001 +24-10-2019 05:00,216103.2,100594.272,100594.272 +24-10-2019 06:00,1102991.232,513433.44000000006,513433.44000000006 +24-10-2019 07:00,1945251.584,905498.752,905498.752 +24-10-2019 08:00,2701162.24,1257368.96,1257368.96 +24-10-2019 09:00,1458358.784,678854.1440000001,678854.1440000001 +24-10-2019 10:00,183464.32,85401.144,85401.144 +24-10-2019 11:00,298632.896,139011.168,139011.168 +24-10-2019 12:00,420661.5360000001,195814.496,195814.496 +24-10-2019 13:00,140425.616,65366.976,65366.976 +24-10-2019 14:00,195162.912,90846.744,90846.744 +24-10-2019 15:00,246756.78399999999,114863.272,114863.272 +24-10-2019 16:00,403892.76800000004,188008.80000000002,188008.80000000002 +24-10-2019 17:00,3266504.1920000003,1520531.2000000002,1520531.2000000002 +24-10-2019 18:00,1087388.16,506170.304,506170.304 +24-10-2019 19:00,1055284.16,491226.176,491226.176 +24-10-2019 20:00,1248257.7920000001,581053.888,581053.888 +24-10-2019 21:00,663124.736,308679.168,308679.168 +24-10-2019 22:00,198301.184,92307.584,92307.584 +24-10-2019 23:00,192575.07200000001,89642.12,89642.12 +25-10-2019 00:00,187956.52800000002,87492.232,87492.232 +25-10-2019 01:00,186008.38400000002,86585.392,86585.392 +25-10-2019 02:00,188058.624,87539.76000000001,87539.76000000001 +25-10-2019 03:00,195547.392,91025.72,91025.72 +25-10-2019 04:00,200043.04,93118.392,93118.392 +25-10-2019 05:00,202903.488,94449.91200000001,94449.91200000001 +25-10-2019 06:00,1030737.6000000001,479799.90400000004,479799.90400000004 +25-10-2019 07:00,1834409.216,853902.336,853902.336 +25-10-2019 08:00,2522458.112,1174183.808,1174183.808 +25-10-2019 09:00,1454072.704,676859.008,676859.008 +25-10-2019 10:00,181821.296,84636.32800000001,84636.32800000001 +25-10-2019 11:00,321282.20800000004,149554.25600000002,149554.25600000002 +25-10-2019 12:00,497333.056,231504.51200000002,231504.51200000002 +25-10-2019 13:00,257951.47200000004,120074.304,120074.304 +25-10-2019 14:00,284091.584,132242.32,132242.32 +25-10-2019 15:00,327818.336,152596.768,152596.768 +25-10-2019 16:00,643812.352,299689.376,299689.376 +25-10-2019 17:00,3612094.464,1681400.448,1681400.448 +25-10-2019 18:00,1229314.432,572235.8400000001,572235.8400000001 +25-10-2019 19:00,1180674.176,549594.176,549594.176 +25-10-2019 20:00,1153134.848,536774.8480000001,536774.8480000001 +25-10-2019 21:00,594253.5040000001,276620.16000000003,276620.16000000003 +25-10-2019 22:00,176234.32,82035.632,82035.632 +25-10-2019 23:00,161978.52800000002,75399.68000000001,75399.68000000001 +26-10-2019 00:00,154347.968,71847.72,71847.72 +26-10-2019 01:00,154684.432,72004.336,72004.336 +26-10-2019 02:00,147068.80000000002,68459.31999999999,68459.31999999999 +26-10-2019 03:00,142692.0,66421.96800000001,66421.96800000001 +26-10-2019 04:00,144252.864,67148.53600000001,67148.53600000001 +26-10-2019 05:00,151901.37600000002,70708.85600000001,70708.85600000001 +26-10-2019 06:00,636034.432,296068.832,296068.832 +26-10-2019 07:00,1586712.96,738601.984,738601.984 +26-10-2019 08:00,3154100.4800000004,1468208.0,1468208.0 +26-10-2019 09:00,2136876.16,994698.368,994698.368 +26-10-2019 10:00,475345.696,221269.536,221269.536 +26-10-2019 11:00,82776.76000000001,38531.912000000004,38531.912000000004 +26-10-2019 12:00,314313.696,146310.464,146310.464 +26-10-2019 13:00,25433.624,11839.144,11839.144 +26-10-2019 14:00,32258.112,15015.888,15015.888 +26-10-2019 15:00,45430.112,21147.344,21147.344 +26-10-2019 16:00,427600.864,199044.72,199044.72 +26-10-2019 17:00,704602.56,327986.75200000004,327986.75200000004 +26-10-2019 18:00,804035.7760000001,374272.096,374272.096 +26-10-2019 19:00,848371.968,394910.24,394910.24 +26-10-2019 20:00,611905.792,284837.184,284837.184 +26-10-2019 21:00,242475.87200000003,112870.544,112870.544 +26-10-2019 22:00,116529.31200000002,54243.44,54243.44 +26-10-2019 23:00,152482.672,70979.44,70979.44 +27-10-2019 00:00,181319.744,84402.864,84402.864 +27-10-2019 01:00,195108.70400000003,90821.512,90821.512 +27-10-2019 02:00,201159.04,93637.888,93637.888 +27-10-2019 03:00,202027.00800000003,94041.92,94041.92 +27-10-2019 04:00,207584.12800000003,96628.72,96628.72 +27-10-2019 05:00,219890.62400000004,102357.296,102357.296 +27-10-2019 06:00,253981.536,118226.32800000001,118226.32800000001 +27-10-2019 07:00,857739.648,399270.848,399270.848 +27-10-2019 08:00,1971251.7120000003,917601.6640000001,917601.6640000001 +27-10-2019 09:00,3207954.1760000004,1493276.4160000002,1493276.4160000002 +27-10-2019 10:00,2755677.6960000005,1282745.6,1282745.6 +27-10-2019 11:00,1035486.336,482010.4,482010.4 +27-10-2019 12:00,928085.952,432016.416,432016.416 +27-10-2019 13:00,512725.63200000004,238669.584,238669.584 +27-10-2019 14:00,270327.29600000003,125835.16000000002,125835.16000000002 +27-10-2019 15:00,270604.576,125964.20800000001,125964.20800000001 +27-10-2019 16:00,1156508.928,538345.472,538345.472 +27-10-2019 17:00,1440966.272,670758.0160000001,670758.0160000001 +27-10-2019 18:00,1520621.4400000002,707836.8,707836.8 +27-10-2019 19:00,1546035.4560000002,719666.88,719666.88 +27-10-2019 20:00,1569807.8720000002,730732.736,730732.736 +27-10-2019 21:00,1253177.0880000002,583343.7440000001,583343.7440000001 +27-10-2019 22:00,522816.416,243366.81600000002,243366.81600000002 +27-10-2019 23:00,303011.168,141049.23200000002,141049.23200000002 +28-10-2019 00:00,305140.704,142040.496,142040.496 +28-10-2019 01:00,327831.52,152602.896,152602.896 +28-10-2019 02:00,338145.696,157404.048,157404.048 +28-10-2019 03:00,410481.248,191075.68000000002,191075.68000000002 +28-10-2019 04:00,542159.296,252370.72000000003,252370.72000000003 +28-10-2019 05:00,605861.824,282023.744,282023.744 +28-10-2019 06:00,696390.1440000001,324163.936,324163.936 +28-10-2019 07:00,1947202.9440000001,906407.1039999999,906407.1039999999 +28-10-2019 08:00,2404438.784,1119246.72,1119246.72 +28-10-2019 09:00,2894444.032,1347340.1600000001,1347340.1600000001 +28-10-2019 10:00,1792169.088,834240.128,834240.128 +28-10-2019 11:00,192849.024,89769.648,89769.648 +28-10-2019 12:00,535285.312,249170.976,249170.976 +28-10-2019 13:00,381547.552,177607.28000000003,177607.28000000003 +28-10-2019 14:00,395037.31200000003,183886.64,183886.64 +28-10-2019 15:00,261761.55200000003,121847.848,121847.848 +28-10-2019 16:00,1235160.5760000001,574957.184,574957.184 +28-10-2019 17:00,1442257.664,671359.1680000001,671359.1680000001 +28-10-2019 18:00,4631212.032000001,2155791.104,2155791.104 +28-10-2019 19:00,2164877.568,1007732.736,1007732.736 +28-10-2019 20:00,1966627.7120000003,915449.152,915449.152 +28-10-2019 21:00,2003621.12,932669.2480000001,932669.2480000001 +28-10-2019 22:00,1074740.4800000002,500282.912,500282.912 +28-10-2019 23:00,340306.048,158409.68000000002,158409.68000000002 +29-10-2019 00:00,342574.784,159465.776,159465.776 +29-10-2019 01:00,335945.28,156379.792,156379.792 +29-10-2019 02:00,335492.73600000003,156169.12,156169.12 +29-10-2019 03:00,339404.80000000005,157990.176,157990.176 +29-10-2019 04:00,510432.992,237602.41600000003,237602.41600000003 +29-10-2019 05:00,630759.1680000001,293613.248,293613.248 +29-10-2019 06:00,851988.6720000001,396593.76,396593.76 +29-10-2019 07:00,2239239.68,1042347.7760000001,1042347.7760000001 +29-10-2019 08:00,2603629.056,1211968.0,1211968.0 +29-10-2019 09:00,2967090.432,1381156.352,1381156.352 +29-10-2019 10:00,1710126.5920000002,796049.92,796049.92 +29-10-2019 11:00,236790.288,110223.93600000002,110223.93600000002 +29-10-2019 12:00,652942.0160000001,303939.2,303939.2 +29-10-2019 13:00,287980.96,134052.792,134052.792 +29-10-2019 14:00,451458.112,210150.08,210150.08 +29-10-2019 15:00,284441.536,132405.22400000002,132405.22400000002 +29-10-2019 16:00,1245103.104,579585.344,579585.344 +29-10-2019 17:00,1520435.584,707750.3360000001,707750.3360000001 +29-10-2019 18:00,4804123.648,2236280.32,2236280.32 +29-10-2019 19:00,2369110.272,1102801.536,1102801.536 +29-10-2019 20:00,2067600.384,962451.2000000001,962451.2000000001 +29-10-2019 21:00,2120200.5760000004,986936.0640000001,986936.0640000001 +29-10-2019 22:00,1159517.056,539745.728,539745.728 +29-10-2019 23:00,376787.90400000004,175391.71200000003,175391.71200000003 +30-10-2019 00:00,375875.87200000003,174967.168,174967.168 +30-10-2019 01:00,390399.488,181727.776,181727.776 +30-10-2019 02:00,383756.80000000005,178635.68000000002,178635.68000000002 +30-10-2019 03:00,504250.88,234724.688,234724.688 +30-10-2019 04:00,679686.2080000001,316388.384,316388.384 +30-10-2019 05:00,832425.216,387487.16800000006,387487.16800000006 +30-10-2019 06:00,947042.752,440840.672,440840.672 +30-10-2019 07:00,2589358.08,1205325.056,1205325.056 +30-10-2019 08:00,2857013.7600000002,1329916.6720000003,1329916.6720000003 +30-10-2019 09:00,3167653.8880000003,1474517.12,1474517.12 +30-10-2019 10:00,2108173.824,981337.792,981337.792 +30-10-2019 11:00,399670.784,186043.488,186043.488 +30-10-2019 12:00,886719.552,412760.73600000003,412760.73600000003 +30-10-2019 13:00,364393.88800000004,169622.40000000002,169622.40000000002 +30-10-2019 14:00,167749.36000000002,78085.952,78085.952 +30-10-2019 15:00,334096.19200000004,155519.04,155519.04 +30-10-2019 16:00,1459338.624,679310.272,679310.272 +30-10-2019 17:00,1781329.664,829194.56,829194.56 +30-10-2019 18:00,5028303.36,2340634.112,2340634.112 +30-10-2019 19:00,2818640.1280000005,1312054.144,1312054.144 +30-10-2019 20:00,2316105.984,1078128.384,1078128.384 +30-10-2019 21:00,2332436.992,1085730.432,1085730.432 +30-10-2019 22:00,1267918.4640000002,590205.696,590205.696 +30-10-2019 23:00,410622.27200000006,191141.31200000003,191141.31200000003 +31-10-2019 00:00,404690.62400000007,188380.208,188380.208 +31-10-2019 01:00,414920.544,193142.12800000003,193142.12800000003 +31-10-2019 02:00,427289.696,198899.872,198899.872 +31-10-2019 03:00,684548.224,318651.58400000003,318651.58400000003 +31-10-2019 04:00,854418.8160000001,397725.02400000003,397725.02400000003 +31-10-2019 05:00,952583.8720000001,443420.03200000006,443420.03200000006 +31-10-2019 06:00,1096338.688,510336.704,510336.704 +31-10-2019 07:00,2883941.8880000003,1342451.328,1342451.328 +31-10-2019 08:00,3012559.6160000004,1402321.92,1402321.92 +31-10-2019 09:00,3327318.272,1548839.5520000001,1548839.5520000001 +31-10-2019 10:00,2581902.08,1201854.336,1201854.336 +31-10-2019 11:00,966795.52,450035.456,450035.456 +31-10-2019 12:00,1090322.816,507536.32000000007,507536.32000000007 +31-10-2019 13:00,478040.03200000006,222523.728,222523.728 +31-10-2019 14:00,470452.6400000001,218991.87200000003,218991.87200000003 +31-10-2019 15:00,741010.752,344934.49600000004,344934.49600000004 +31-10-2019 16:00,1995326.72,928808.32,928808.32 +31-10-2019 17:00,2063003.136,960311.1039999999,960311.1039999999 +31-10-2019 18:00,5364072.960000001,2496932.352,2496932.352 +31-10-2019 19:00,3357609.728,1562939.904,1562939.904 +31-10-2019 20:00,2580608.512,1201252.0960000001,1201252.0960000001 +31-10-2019 21:00,2554039.552,1188884.608,1188884.608 +31-10-2019 22:00,1427075.84,664292.16,664292.16 +31-10-2019 23:00,462373.984,215231.296,215231.296 +1-11-2019 00:00,456660.80000000005,212571.85600000003,212571.85600000003 +1-11-2019 01:00,442742.43200000003,206092.992,206092.992 +1-11-2019 02:00,545704.96,254021.21600000001,254021.21600000001 +1-11-2019 03:00,785443.7760000001,365617.66400000005,365617.66400000005 +1-11-2019 04:00,901017.0880000001,419416.064,419416.064 +1-11-2019 05:00,969513.0880000001,451300.4480000001,451300.4480000001 +1-11-2019 06:00,1021801.2800000001,475640.128,475640.128 +1-11-2019 07:00,2830095.1040000003,1317386.2400000002,1317386.2400000002 +1-11-2019 08:00,2988129.7920000004,1390950.016,1390950.016 +1-11-2019 09:00,3894435.84,1812827.904,1812827.904 +1-11-2019 10:00,3181367.808,1480900.864,1480900.864 +1-11-2019 11:00,1278204.4160000002,594993.728,594993.728 +1-11-2019 12:00,1546426.624,719848.8960000001,719848.8960000001 +1-11-2019 13:00,1163846.4000000001,541760.96,541760.96 +1-11-2019 14:00,921598.336,428996.54400000005,428996.54400000005 +1-11-2019 15:00,1078310.784,501944.864,501944.864 +1-11-2019 16:00,2037185.4079999998,948293.184,948293.184 +1-11-2019 17:00,1730164.4800000002,805377.4720000001,805377.4720000001 +1-11-2019 18:00,5060172.800000001,2355469.3120000004,2355469.3120000004 +1-11-2019 19:00,3064543.2320000003,1426519.8080000002,1426519.8080000002 +1-11-2019 20:00,1977015.808,920284.736,920284.736 +1-11-2019 21:00,1888270.08,878974.2080000001,878974.2080000001 +1-11-2019 22:00,971362.4960000002,452161.376,452161.376 +1-11-2019 23:00,275156.064,128082.91200000001,128082.91200000001 +2-11-2019 00:00,263649.488,122726.672,122726.672 +2-11-2019 01:00,256224.24,119270.288,119270.288 +2-11-2019 02:00,248756.592,115794.168,115794.168 +2-11-2019 03:00,244994.048,114042.728,114042.728 +2-11-2019 04:00,242831.184,113035.92800000001,113035.92800000001 +2-11-2019 05:00,246862.64,114912.55200000001,114912.55200000001 +2-11-2019 06:00,376547.00800000003,175279.568,175279.568 +2-11-2019 07:00,1081257.8560000001,503316.80000000005,503316.80000000005 +2-11-2019 08:00,2326511.616,1082972.16,1082972.16 +2-11-2019 09:00,4112699.136,1914428.1600000001,1914428.1600000001 +2-11-2019 10:00,3701313.7920000004,1722931.456,1722931.456 +2-11-2019 11:00,1477452.544,687742.0800000001,687742.0800000001 +2-11-2019 12:00,1493062.6560000002,695008.4480000001,695008.4480000001 +2-11-2019 13:00,914720.192,425794.88,425794.88 +2-11-2019 14:00,518802.20800000004,241498.192,241498.192 +2-11-2019 15:00,680497.088,316765.856,316765.856 +2-11-2019 16:00,1546434.9440000001,719852.8640000001,719852.8640000001 +2-11-2019 17:00,1680762.752,782381.376,782381.376 +2-11-2019 18:00,1700572.0320000001,791602.432,791602.432 +2-11-2019 19:00,1713215.488,797487.872,797487.872 +2-11-2019 20:00,1732828.288,806617.408,806617.408 +2-11-2019 21:00,1323346.304,616006.912,616006.912 +2-11-2019 22:00,548384.832,255268.67200000002,255268.67200000002 +2-11-2019 23:00,274906.336,127966.64,127966.64 +3-11-2019 00:00,272873.696,127020.48000000001,127020.48000000001 +3-11-2019 01:00,271850.72000000003,126544.31200000002,126544.31200000002 +3-11-2019 02:00,283721.728,132070.168,132070.168 +3-11-2019 03:00,300154.336,139719.392,139719.392 +3-11-2019 04:00,346904.928,161481.424,161481.424 +3-11-2019 05:00,450543.74400000006,209724.432,209724.432 +3-11-2019 06:00,548949.6320000001,255531.61600000004,255531.61600000004 +3-11-2019 07:00,1264166.784,588459.3280000001,588459.3280000001 +3-11-2019 08:00,2492275.968,1160134.144,1160134.144 +3-11-2019 09:00,4349013.504,2024430.3360000001,2024430.3360000001 +3-11-2019 10:00,3647753.472,1697999.3600000003,1697999.3600000003 +3-11-2019 11:00,1720217.216,800747.008,800747.008 +3-11-2019 12:00,1499081.8560000001,697810.432,697810.432 +3-11-2019 13:00,921318.6560000001,428866.304,428866.304 +3-11-2019 14:00,749235.264,348762.88,348762.88 +3-11-2019 15:00,778671.552,362465.248,362465.248 +3-11-2019 16:00,1642391.8080000002,764520.0,764520.0 +3-11-2019 17:00,1743819.7760000003,811733.824,811733.824 +3-11-2019 18:00,1788527.872,832545.088,832545.088 +3-11-2019 19:00,1810484.736,842765.824,842765.824 +3-11-2019 20:00,1837328.7680000002,855261.4400000001,855261.4400000001 +3-11-2019 21:00,1425050.752,663349.5040000001,663349.5040000001 +3-11-2019 22:00,615687.872,286597.632,286597.632 +3-11-2019 23:00,328737.76,153024.736,153024.736 +4-11-2019 00:00,332121.28,154599.728,154599.728 +4-11-2019 01:00,330617.184,153899.616,153899.616 +4-11-2019 02:00,319391.744,148674.25600000002,148674.25600000002 +4-11-2019 03:00,311518.75200000004,145009.44,145009.44 +4-11-2019 04:00,372103.84,173211.296,173211.296 +4-11-2019 05:00,439249.31200000003,204466.94400000002,204466.94400000002 +4-11-2019 06:00,532150.7200000001,247711.82400000002,247711.82400000002 +4-11-2019 07:00,1788971.648,832751.68,832751.68 +4-11-2019 08:00,2383639.552,1109564.8,1109564.8 +4-11-2019 09:00,3221855.7440000004,1499747.4560000002,1499747.4560000002 +4-11-2019 10:00,2191634.1760000004,1020187.7760000001,1020187.7760000001 +4-11-2019 11:00,723040.128,336569.28,336569.28 +4-11-2019 12:00,1099809.024,511952.064,511952.064 +4-11-2019 13:00,777928.96,362119.552,362119.552 +4-11-2019 14:00,555185.0240000001,258434.08,258434.08 +4-11-2019 15:00,716721.856,333628.19200000004,333628.19200000004 +4-11-2019 16:00,1649183.36,767681.344,767681.344 +4-11-2019 17:00,1491987.4560000002,694507.968,694507.968 +4-11-2019 18:00,4812725.248,2240284.416,2240284.416 +4-11-2019 19:00,2253370.8800000004,1048925.76,1048925.76 +4-11-2019 20:00,1830852.736,852246.976,852246.976 +4-11-2019 21:00,1813407.6160000002,844126.4640000002,844126.4640000002 +4-11-2019 22:00,954403.584,444267.13600000006,444267.13600000006 +4-11-2019 23:00,284755.744,132551.464,132551.464 +5-11-2019 00:00,278779.648,129769.65600000002,129769.65600000002 +5-11-2019 01:00,281267.04,130927.50400000002,130927.50400000002 +5-11-2019 02:00,284843.42400000006,132592.288,132592.288 +5-11-2019 03:00,297767.42400000006,138608.304,138608.304 +5-11-2019 04:00,300399.488,139833.50400000002,139833.50400000002 +5-11-2019 05:00,404802.14400000003,188432.09600000002,188432.09600000002 +5-11-2019 06:00,529120.608,246301.344,246301.344 +5-11-2019 07:00,1806193.4079999998,840768.256,840768.256 +5-11-2019 08:00,2411651.84,1122604.2880000002,1122604.2880000002 +5-11-2019 09:00,3262712.5760000004,1518765.952,1518765.952 +5-11-2019 10:00,2263706.3680000002,1053736.8320000002,1053736.8320000002 +5-11-2019 11:00,813718.272,378779.2,378779.2 +5-11-2019 12:00,1157146.24,538642.1120000001,538642.1120000001 +5-11-2019 13:00,821521.984,382411.776,382411.776 +5-11-2019 14:00,634292.2880000001,295257.888,295257.888 +5-11-2019 15:00,841190.8480000001,391567.488,391567.488 +5-11-2019 16:00,1734050.0480000002,807186.176,807186.176 +5-11-2019 17:00,1530224.384,712307.008,712307.008 +5-11-2019 18:00,4916109.824,2288409.088,2288409.088 +5-11-2019 19:00,2442472.9600000004,1136951.296,1136951.296 +5-11-2019 20:00,1893745.152,881522.8800000001,881522.8800000001 +5-11-2019 21:00,1847168.1280000003,859841.6000000001,859841.6000000001 +5-11-2019 22:00,975956.544,454299.808,454299.808 +5-11-2019 23:00,290455.68,135204.752,135204.752 +6-11-2019 00:00,284853.536,132597.0,132597.0 +6-11-2019 01:00,285700.44800000003,132991.22400000002,132991.22400000002 +6-11-2019 02:00,287928.032,134028.16,134028.16 +6-11-2019 03:00,292734.624,136265.568,136265.568 +6-11-2019 04:00,296741.05600000004,138130.56000000003,138130.56000000003 +6-11-2019 05:00,410140.128,190916.896,190916.896 +6-11-2019 06:00,540705.344,251693.95200000002,251693.95200000002 +6-11-2019 07:00,1830215.6800000002,851950.5920000001,851950.5920000001 +6-11-2019 08:00,2470872.32,1150170.8800000001,1150170.8800000001 +6-11-2019 09:00,3351948.032,1560304.512,1560304.512 +6-11-2019 10:00,2331168.512,1085139.84,1085139.84 +6-11-2019 11:00,707399.872,329288.832,329288.832 +6-11-2019 12:00,1009194.112,469771.61600000004,469771.61600000004 +6-11-2019 13:00,821101.4400000001,382216.032,382216.032 +6-11-2019 14:00,637128.5120000001,296578.14400000003,296578.14400000003 +6-11-2019 15:00,879870.5920000001,409572.608,409572.608 +6-11-2019 16:00,1868825.6,869922.944,869922.944 +6-11-2019 17:00,1711648.64,796758.464,796758.464 +6-11-2019 18:00,5021786.112,2337600.512,2337600.512 +6-11-2019 19:00,2636457.984,1227249.664,1227249.664 +6-11-2019 20:00,2045046.656,951952.6400000001,951952.6400000001 +6-11-2019 21:00,2021755.904,941110.8480000001,941110.8480000001 +6-11-2019 22:00,1063972.16,495270.368,495270.368 +6-11-2019 23:00,321997.248,149887.10400000002,149887.10400000002 +7-11-2019 00:00,318348.704,148188.72,148188.72 +7-11-2019 01:00,312715.456,145566.496,145566.496 +7-11-2019 02:00,319293.66400000005,148628.576,148628.576 +7-11-2019 03:00,322714.4,150220.928,150220.928 +7-11-2019 04:00,381263.456,177475.024,177475.024 +7-11-2019 05:00,500461.72800000006,232960.86400000003,232960.86400000003 +7-11-2019 06:00,611964.672,284864.51200000005,284864.51200000005 +7-11-2019 07:00,1953493.7600000002,909335.4240000001,909335.4240000001 +7-11-2019 08:00,2541271.296,1182941.056,1182941.056 +7-11-2019 09:00,3467933.1840000004,1614294.6560000002,1614294.6560000002 +7-11-2019 10:00,2449015.04,1139996.544,1139996.544 +7-11-2019 11:00,900656.512,419248.288,419248.288 +7-11-2019 12:00,1249395.2,581583.296,581583.296 +7-11-2019 13:00,959107.392,446456.704,446456.704 +7-11-2019 14:00,777086.8480000001,361727.58400000003,361727.58400000003 +7-11-2019 15:00,973285.2480000001,453056.35199999996,453056.35199999996 +7-11-2019 16:00,1875801.7280000001,873170.432,873170.432 +7-11-2019 17:00,1651802.752,768900.736,768900.736 +7-11-2019 18:00,5010129.920000001,2332174.336,2332174.336 +7-11-2019 19:00,2777729.024,1293010.176,1293010.176 +7-11-2019 20:00,2093677.3120000002,974589.6320000001,974589.6320000001 +7-11-2019 21:00,2097046.1440000003,976157.8880000002,976157.8880000002 +7-11-2019 22:00,1126679.552,524460.096,524460.096 +7-11-2019 23:00,349672.672,162769.79200000002,162769.79200000002 +8-11-2019 00:00,347267.776,161650.304,161650.304 +8-11-2019 01:00,356914.62400000007,166140.83200000002,166140.83200000002 +8-11-2019 02:00,363031.552,168988.24,168988.24 +8-11-2019 03:00,397460.0,185014.38400000002,185014.38400000002 +8-11-2019 04:00,634297.088,295260.12799999997,295260.12799999997 +8-11-2019 05:00,760284.352,353906.176,353906.176 +8-11-2019 06:00,927400.7039999999,431697.40800000005,431697.40800000005 +8-11-2019 07:00,2533007.1040000003,1179094.272,1179094.272 +8-11-2019 08:00,2899183.1040000003,1349545.9840000002,1349545.9840000002 +8-11-2019 09:00,3302705.92,1537382.6560000002,1537382.6560000002 +8-11-2019 10:00,2225403.904,1035907.328,1035907.328 +8-11-2019 11:00,547865.0240000001,255026.70400000003,255026.70400000003 +8-11-2019 12:00,1085481.728,505282.912,505282.912 +8-11-2019 13:00,571193.984,265886.12799999997,265886.12799999997 +8-11-2019 14:00,319029.248,148505.52,148505.52 +8-11-2019 15:00,720536.256,335403.744,335403.744 +8-11-2019 16:00,1947970.9440000001,906764.544,906764.544 +8-11-2019 17:00,1951738.4960000003,908518.2720000001,908518.2720000001 +8-11-2019 18:00,5250918.4,2444259.84,2444259.84 +8-11-2019 19:00,3234074.8800000004,1505435.392,1505435.392 +8-11-2019 20:00,2502027.52,1164673.28,1164673.28 +8-11-2019 21:00,2390193.1520000002,1112615.296,1112615.296 +8-11-2019 22:00,1248855.424,581331.904,581331.904 +8-11-2019 23:00,398193.76,185355.95200000002,185355.95200000002 +9-11-2019 00:00,391873.152,182413.76,182413.76 +9-11-2019 01:00,386709.76,180010.24,180010.24 +9-11-2019 02:00,380160.096,176961.44,176961.44 +9-11-2019 03:00,505372.672,235246.848,235246.848 +9-11-2019 04:00,649969.0240000001,302555.264,302555.264 +9-11-2019 05:00,751003.008,349585.728,349585.728 +9-11-2019 06:00,822907.2000000001,383056.576,383056.576 +9-11-2019 07:00,1514763.0080000001,705109.76,705109.76 +9-11-2019 08:00,2797841.1520000002,1302372.352,1302372.352 +9-11-2019 09:00,4956197.888,2307069.696,2307069.696 +9-11-2019 10:00,4713029.12,2193876.48,2193876.48 +9-11-2019 11:00,2237559.8079999997,1041565.6960000001,1041565.6960000001 +9-11-2019 12:00,1939553.664,902846.4640000002,902846.4640000002 +9-11-2019 13:00,1209055.232,562805.376,562805.376 +9-11-2019 14:00,1129956.0960000001,525985.312,525985.312 +9-11-2019 15:00,1101660.672,512814.04800000007,512814.04800000007 +9-11-2019 16:00,2019765.7600000002,940184.576,940184.576 +9-11-2019 17:00,2161574.1440000003,1006195.1359999999,1006195.1359999999 +9-11-2019 18:00,2244544.256,1044817.216,1044817.216 +9-11-2019 19:00,2250237.184,1047467.0720000002,1047467.0720000002 +9-11-2019 20:00,2284861.44,1063584.384,1063584.384 +9-11-2019 21:00,1801710.9760000003,838681.7280000001,838681.7280000001 +9-11-2019 22:00,826389.568,384677.60000000003,384677.60000000003 +9-11-2019 23:00,500824.4480000001,233129.71200000003,233129.71200000003 +10-11-2019 00:00,538813.6320000001,250813.36000000002,250813.36000000002 +10-11-2019 01:00,548152.832,255160.67200000002,255160.67200000002 +10-11-2019 02:00,709906.6880000001,330455.744,330455.744 +10-11-2019 03:00,878571.584,408967.90400000004,408967.90400000004 +10-11-2019 04:00,1023840.0640000001,476589.152,476589.152 +10-11-2019 05:00,1070426.24,498274.65599999996,498274.65599999996 +10-11-2019 06:00,1208287.104,562447.8080000001,562447.8080000001 +10-11-2019 07:00,1919675.136,893593.152,893593.152 +10-11-2019 08:00,3147469.568,1465121.408,1465121.408 +10-11-2019 09:00,5146421.248,2395617.2800000003,2395617.2800000003 +10-11-2019 10:00,4800737.28,2234704.128,2234704.128 +10-11-2019 11:00,1952297.6,908778.6240000001,908778.6240000001 +10-11-2019 12:00,1933358.2079999999,899962.432,899962.432 +10-11-2019 13:00,894471.6800000002,416369.28,416369.28 +10-11-2019 14:00,545772.864,254052.80000000002,254052.80000000002 +10-11-2019 15:00,649307.648,302247.42400000006,302247.42400000006 +10-11-2019 16:00,2243251.456,1044215.2320000001,1044215.2320000001 +10-11-2019 17:00,2630156.8000000003,1224316.672,1224316.672 +10-11-2019 18:00,2757242.112,1283473.7920000001,1283473.7920000001 +10-11-2019 19:00,2848643.5840000003,1326020.0960000001,1326020.0960000001 +10-11-2019 20:00,2876358.1440000003,1338921.344,1338921.344 +10-11-2019 21:00,2276275.7120000003,1059587.712,1059587.712 +10-11-2019 22:00,1037224.512,482819.58400000003,482819.58400000003 +10-11-2019 23:00,603919.168,281119.42400000006,281119.42400000006 +11-11-2019 00:00,625884.672,291344.22400000005,291344.22400000005 +11-11-2019 01:00,713695.616,332219.42400000006,332219.42400000006 +11-11-2019 02:00,861650.752,401091.328,401091.328 +11-11-2019 03:00,978626.176,455542.49600000004,455542.49600000004 +11-11-2019 04:00,1050763.0720000002,489121.664,489121.664 +11-11-2019 05:00,1079055.232,502291.392,502291.392 +11-11-2019 06:00,1183398.528,550862.336,550862.336 +11-11-2019 07:00,3114489.3440000005,1449769.472,1449769.472 +11-11-2019 08:00,3154519.808,1468403.0720000002,1468403.0720000002 +11-11-2019 09:00,4093063.6799999997,1905288.0640000002,1905288.0640000002 +11-11-2019 10:00,3390781.6960000005,1578381.312,1578381.312 +11-11-2019 11:00,1423371.52,662567.8080000001,662567.8080000001 +11-11-2019 12:00,1649256.448,767715.392,767715.392 +11-11-2019 13:00,1337810.688,622740.032,622740.032 +11-11-2019 14:00,1213581.1840000001,564912.128,564912.128 +11-11-2019 15:00,1484670.72,691102.1440000001,691102.1440000001 +11-11-2019 16:00,2371509.7600000002,1103918.4640000002,1103918.4640000002 +11-11-2019 17:00,2058842.752,958374.4,958374.4 +11-11-2019 18:00,5422702.592,2524223.7440000004,2524223.7440000004 +11-11-2019 19:00,3643173.8880000003,1695867.7760000003,1695867.7760000003 +11-11-2019 20:00,2488316.672,1158291.0720000002,1158291.0720000002 +11-11-2019 21:00,2468967.936,1149284.4800000002,1149284.4800000002 +11-11-2019 22:00,1327974.784,618161.408,618161.408 +11-11-2019 23:00,446000.54400000005,207609.6,207609.6 +12-11-2019 00:00,443480.48,206436.52800000002,206436.52800000002 +12-11-2019 01:00,439291.90400000004,204486.784,204486.784 +12-11-2019 02:00,457575.776,212997.77599999998,212997.77599999998 +12-11-2019 03:00,682725.056,317802.944,317802.944 +12-11-2019 04:00,839817.408,390928.16000000003,390928.16000000003 +12-11-2019 05:00,932887.616,434251.55199999997,434251.55199999997 +12-11-2019 06:00,1071221.76,498644.95999999996,498644.95999999996 +12-11-2019 07:00,2819729.6640000003,1312561.152,1312561.152 +12-11-2019 08:00,3126353.408,1455292.0320000001,1455292.0320000001 +12-11-2019 09:00,4606394.368,2144239.104,2144239.104 +12-11-2019 10:00,3532216.8320000004,1644218.112,1644218.112 +12-11-2019 11:00,1541419.0080000001,717517.952,717517.952 +12-11-2019 12:00,1877026.9440000001,873740.736,873740.736 +12-11-2019 13:00,1321739.904,615259.136,615259.136 +12-11-2019 14:00,1126911.8720000002,524568.2559999999,524568.2559999999 +12-11-2019 15:00,2002958.2079999999,932360.6400000001,932360.6400000001 +12-11-2019 16:00,2425762.816,1129172.864,1129172.864 +12-11-2019 17:00,2153077.7600000002,1002240.128,1002240.128 +12-11-2019 18:00,5491957.760000001,2556461.568,2556461.568 +12-11-2019 19:00,3930899.9680000003,1829802.1120000002,1829802.1120000002 +12-11-2019 20:00,2597654.0160000003,1209186.688,1209186.688 +12-11-2019 21:00,2569707.7760000005,1196178.0480000002,1196178.0480000002 +12-11-2019 22:00,1368834.176,637181.184,637181.184 +12-11-2019 23:00,454522.752,211576.65600000002,211576.65600000002 +13-11-2019 00:00,446144.0,207676.36800000002,207676.36800000002 +13-11-2019 01:00,443107.90400000004,206263.088,206263.088 +13-11-2019 02:00,452453.85599999997,210613.56800000003,210613.56800000003 +13-11-2019 03:00,659705.408,307087.52,307087.52 +13-11-2019 04:00,825953.344,384474.528,384474.528 +13-11-2019 05:00,898688.8960000002,418332.32000000007,418332.32000000007 +13-11-2019 06:00,1021523.8400000001,475511.04000000004,475511.04000000004 +13-11-2019 07:00,2720820.736,1266519.8080000002,1266519.8080000002 +13-11-2019 08:00,3030048.0,1410462.72,1410462.72 +13-11-2019 09:00,4459978.752,2076083.8399999999,2076083.8399999999 +13-11-2019 10:00,3314015.7440000004,1542647.296,1542647.296 +13-11-2019 11:00,1409809.0240000002,656254.656,656254.656 +13-11-2019 12:00,1705438.3360000001,793867.648,793867.648 +13-11-2019 13:00,1355715.968,631074.6880000001,631074.6880000001 +13-11-2019 14:00,1188315.392,553151.168,553151.168 +13-11-2019 15:00,2025184.1280000003,942706.752,942706.752 +13-11-2019 16:00,2428916.992,1130640.8960000002,1130640.8960000002 +13-11-2019 17:00,2124144.896,988772.0960000001,988772.0960000001 +13-11-2019 18:00,5483325.44,2552443.648,2552443.648 +13-11-2019 19:00,4003113.728,1863416.5760000004,1863416.5760000004 +13-11-2019 20:00,2638689.5360000003,1228288.5119999999,1228288.5119999999 +13-11-2019 21:00,2546646.5280000004,1185443.0720000002,1185443.0720000002 +13-11-2019 22:00,1348869.2480000001,627887.616,627887.616 +13-11-2019 23:00,461614.112,214877.584,214877.584 +14-11-2019 00:00,450454.49600000004,209682.88,209682.88 +14-11-2019 01:00,454601.56799999997,211613.32799999998,211613.32799999998 +14-11-2019 02:00,473297.472,220316.11200000002,220316.11200000002 +14-11-2019 03:00,706423.9360000001,328834.56000000006,328834.56000000006 +14-11-2019 04:00,894498.944,416381.92000000004,416381.92000000004 +14-11-2019 05:00,989947.392,460812.4480000001,460812.4480000001 +14-11-2019 06:00,1086646.784,505825.28,505825.28 +14-11-2019 07:00,2858690.0480000004,1330697.0880000002,1330697.0880000002 +14-11-2019 08:00,3129156.608,1456596.992,1456596.992 +14-11-2019 09:00,4606182.912,2144140.416,2144140.416 +14-11-2019 10:00,3479553.7920000004,1619704.0640000002,1619704.0640000002 +14-11-2019 11:00,1480407.04,689117.4400000001,689117.4400000001 +14-11-2019 12:00,1705411.968,793855.2960000001,793855.2960000001 +14-11-2019 13:00,1362891.904,634415.04,634415.04 +14-11-2019 14:00,1185995.136,552071.104,552071.104 +14-11-2019 15:00,2011464.704,936320.32,936320.32 +14-11-2019 16:00,2394695.168,1114711.04,1114711.04 +14-11-2019 17:00,2105539.84,980111.744,980111.744 +14-11-2019 18:00,5426028.032000001,2525772.032,2525772.032 +14-11-2019 19:00,3881489.9200000004,1806801.92,1806801.92 +14-11-2019 20:00,2567852.032,1195314.0480000002,1195314.0480000002 +14-11-2019 21:00,2496914.1760000004,1162293.1199999999,1162293.1199999999 +14-11-2019 22:00,1358242.9440000001,632251.008,632251.008 +14-11-2019 23:00,461143.93600000005,214658.736,214658.736 +15-11-2019 00:00,461601.952,214871.95200000002,214871.95200000002 +15-11-2019 01:00,465962.4,216901.68,216901.68 +15-11-2019 02:00,489519.2,227867.184,227867.184 +15-11-2019 03:00,742575.616,345662.88,345662.88 +15-11-2019 04:00,947348.0320000001,440982.752,440982.752 +15-11-2019 05:00,1030030.6560000001,479470.84800000006,479470.84800000006 +15-11-2019 06:00,1144897.024,532940.192,532940.192 +15-11-2019 07:00,2983446.784,1388770.176,1388770.176 +15-11-2019 08:00,3206043.3920000005,1492387.0720000002,1492387.0720000002 +15-11-2019 09:00,4701140.992000001,2188343.04,2188343.04 +15-11-2019 10:00,3632160.512,1690740.9920000003,1690740.9920000003 +15-11-2019 11:00,1616074.8800000001,752269.6320000001,752269.6320000001 +15-11-2019 12:00,1845374.4640000002,859006.8480000001,859006.8480000001 +15-11-2019 13:00,1510322.304,703042.752,703042.752 +15-11-2019 14:00,1338324.864,622979.3280000001,622979.3280000001 +15-11-2019 15:00,2185454.336,1017311.1039999999,1017311.1039999999 +15-11-2019 16:00,2563570.432,1193321.0880000002,1193321.0880000002 +15-11-2019 17:00,2263448.32,1053616.5760000001,1053616.5760000001 +15-11-2019 18:00,5530772.48,2574529.2800000003,2574529.2800000003 +15-11-2019 19:00,4017226.24,1869986.1760000002,1869986.1760000002 +15-11-2019 20:00,2813744.384,1309775.104,1309775.104 +15-11-2019 21:00,2625671.168,1222228.4800000002,1222228.4800000002 +15-11-2019 22:00,1421275.904,661592.3200000001,661592.3200000001 +15-11-2019 23:00,495076.95999999996,230454.304,230454.304 +16-11-2019 00:00,498798.72000000003,232186.736,232186.736 +16-11-2019 01:00,501912.416,233636.128,233636.128 +16-11-2019 02:00,569155.2000000001,264937.136,264937.136 +16-11-2019 03:00,894202.368,416243.90400000004,416243.90400000004 +16-11-2019 04:00,1046989.568,487365.152,487365.152 +16-11-2019 05:00,1146203.2640000002,533548.352,533548.352 +16-11-2019 06:00,1251376.8960000002,582505.792,582505.792 +16-11-2019 07:00,1944829.824,905302.4640000002,905302.4640000002 +16-11-2019 08:00,3333169.1520000002,1551563.0080000001,1551563.0080000001 +16-11-2019 09:00,6308507.648,2936558.848,2936558.848 +16-11-2019 10:00,6334988.800000001,2948885.7600000002,2948885.7600000002 +16-11-2019 11:00,3062330.112,1425489.664,1425489.664 +16-11-2019 12:00,2775118.336,1291794.9440000001,1291794.9440000001 +16-11-2019 13:00,1960868.608,912768.3840000001,912768.3840000001 +16-11-2019 14:00,1715897.9840000002,798736.5120000001,798736.5120000001 +16-11-2019 15:00,2490874.624,1159481.8560000001,1159481.8560000001 +16-11-2019 16:00,2691494.4000000004,1252868.608,1252868.608 +16-11-2019 17:00,2773886.72,1291221.6320000002,1291221.6320000002 +16-11-2019 18:00,2758306.0480000004,1283968.8960000002,1283968.8960000002 +16-11-2019 19:00,2670130.688,1242923.9039999999,1242923.9039999999 +16-11-2019 20:00,2631225.856,1224814.208,1224814.208 +16-11-2019 21:00,2044695.168,951788.9920000001,951788.9920000001 +16-11-2019 22:00,928018.752,431985.152,431985.152 +16-11-2019 23:00,546034.1120000001,254174.432,254174.432 +17-11-2019 00:00,535645.696,249338.752,249338.752 +17-11-2019 01:00,539815.424,251279.68,251279.68 +17-11-2019 02:00,697878.4,324856.704,324856.704 +17-11-2019 03:00,838397.056,390267.00800000003,390267.00800000003 +17-11-2019 04:00,965496.0640000001,449430.464,449430.464 +17-11-2019 05:00,1158700.2880000002,539365.5040000001,539365.5040000001 +17-11-2019 06:00,1219846.144,567828.352,567828.352 +17-11-2019 07:00,1915083.2640000002,891455.6800000002,891455.6800000002 +17-11-2019 08:00,3309339.3920000005,1540470.528,1540470.528 +17-11-2019 09:00,6308765.696,2936678.656,2936678.656 +17-11-2019 10:00,6153250.816,2864288.0,2864288.0 +17-11-2019 11:00,2859119.872,1330897.0240000002,1330897.0240000002 +17-11-2019 12:00,2638772.736,1228327.296,1228327.296 +17-11-2019 13:00,1816492.0320000001,845562.176,845562.176 +17-11-2019 14:00,1640182.4000000001,763491.52,763491.52 +17-11-2019 15:00,2417936.64,1125529.728,1125529.728 +17-11-2019 16:00,2616685.3120000004,1218045.6960000002,1218045.6960000002 +17-11-2019 17:00,2701413.12,1257485.824,1257485.824 +17-11-2019 18:00,2735007.2320000003,1273123.584,1273123.584 +17-11-2019 19:00,2761436.416,1285426.176,1285426.176 +17-11-2019 20:00,2738791.68,1274885.12,1274885.12 +17-11-2019 21:00,2118096.128,985956.4160000001,985956.4160000001 +17-11-2019 22:00,960346.304,447033.34400000004,447033.34400000004 +17-11-2019 23:00,564283.3280000001,262669.232,262669.232 +18-11-2019 00:00,570142.0160000001,265396.416,265396.416 +18-11-2019 01:00,573139.8400000001,266791.92000000004,266791.92000000004 +18-11-2019 02:00,766251.8400000001,356684.0,356684.0 +18-11-2019 03:00,883386.6240000001,411209.28,411209.28 +18-11-2019 04:00,973642.6880000001,453222.72000000003,453222.72000000003 +18-11-2019 05:00,1031057.408,479948.768,479948.768 +18-11-2019 06:00,1159013.632,539511.36,539511.36 +18-11-2019 07:00,3044269.824,1417082.8800000001,1417082.8800000001 +18-11-2019 08:00,3199187.4560000002,1489195.648,1489195.648 +18-11-2019 09:00,4700728.32,2188150.784,2188150.784 +18-11-2019 10:00,3611144.9600000004,1680958.3360000001,1680958.3360000001 +18-11-2019 11:00,1550855.424,721910.528,721910.528 +18-11-2019 12:00,1755714.0480000002,817270.5920000001,817270.5920000001 +18-11-2019 13:00,1408529.92,655659.2000000001,655659.2000000001 +18-11-2019 14:00,1259377.7920000001,586230.08,586230.08 +18-11-2019 15:00,2090446.3360000001,973085.76,973085.76 +18-11-2019 16:00,2454968.0640000002,1142767.6160000002,1142767.6160000002 +18-11-2019 17:00,2103480.704,979153.152,979153.152 +18-11-2019 18:00,5414473.216,2520393.216,2520393.216 +18-11-2019 19:00,3765410.8159999996,1752768.384,1752768.384 +18-11-2019 20:00,2417812.992,1125472.256,1125472.256 +18-11-2019 21:00,2430103.8079999997,1131193.6,1131193.6 +18-11-2019 22:00,1317275.136,613180.8,613180.8 +18-11-2019 23:00,450177.088,209553.79200000002,209553.79200000002 +19-11-2019 00:00,439936.22400000005,204786.73600000003,204786.73600000003 +19-11-2019 01:00,445023.488,207154.784,207154.784 +19-11-2019 02:00,459121.984,213717.50400000002,213717.50400000002 +19-11-2019 03:00,632630.8480000001,294484.544,294484.544 +19-11-2019 04:00,826631.4240000001,384790.176,384790.176 +19-11-2019 05:00,915074.304,425959.61600000004,425959.61600000004 +19-11-2019 06:00,1038400.32,483366.84800000006,483366.84800000006 +19-11-2019 07:00,2795757.568,1301402.368,1301402.368 +19-11-2019 08:00,3141321.216,1462259.4560000002,1462259.4560000002 +19-11-2019 09:00,4599682.5600000005,2141114.624,2141114.624 +19-11-2019 10:00,3220039.68,1498902.016,1498902.016 +19-11-2019 11:00,1079866.112,502668.95999999996,502668.95999999996 +19-11-2019 12:00,1733586.1760000002,806970.1120000001,806970.1120000001 +19-11-2019 13:00,1404888.32,653963.968,653963.968 +19-11-2019 14:00,1283484.4160000002,597451.52,597451.52 +19-11-2019 15:00,2143790.592,997917.184,997917.184 +19-11-2019 16:00,2558465.024,1190944.6400000001,1190944.6400000001 +19-11-2019 17:00,2223812.0960000004,1035166.4,1035166.4 +19-11-2019 18:00,5545393.664000001,2581335.552,2581335.552 +19-11-2019 19:00,4173651.4560000002,1942800.7680000002,1942800.7680000002 +19-11-2019 20:00,2807387.136,1306815.744,1306815.744 +19-11-2019 21:00,2861202.1760000004,1331866.368,1331866.368 +19-11-2019 22:00,1586806.4000000001,738645.376,738645.376 +19-11-2019 23:00,545124.9280000001,253751.21600000001,253751.21600000001 +20-11-2019 00:00,553694.7200000001,257740.352,257740.352 +20-11-2019 01:00,619270.336,288265.27999999997,288265.27999999997 +20-11-2019 02:00,886214.4640000002,412525.60000000003,412525.60000000003 +20-11-2019 03:00,1139337.472,530352.352,530352.352 +20-11-2019 04:00,1280558.72,596089.664,596089.664 +20-11-2019 05:00,1342152.448,624760.96,624760.96 +20-11-2019 06:00,1473853.952,686067.008,686067.008 +20-11-2019 07:00,3665389.0560000003,1706208.64,1706208.64 +20-11-2019 08:00,3628003.84,1688806.2719999999,1688806.2719999999 +20-11-2019 09:00,4989407.232,2322528.0,2322528.0 +20-11-2019 10:00,3600100.0960000004,1675817.216,1675817.216 +20-11-2019 11:00,1429497.6,665419.52,665419.52 +20-11-2019 12:00,1932981.888,899787.2000000001,899787.2000000001 +20-11-2019 13:00,1102885.504,513384.22400000005,513384.22400000005 +20-11-2019 14:00,1149874.56,535257.28,535257.28 +20-11-2019 15:00,2289404.416,1065699.136,1065699.136 +20-11-2019 16:00,2858301.6960000005,1330516.2240000002,1330516.2240000002 +20-11-2019 17:00,2611013.376,1215405.4400000002,1215405.4400000002 +20-11-2019 18:00,5766259.2,2684146.432,2684146.432 +20-11-2019 19:00,4318468.608,2010211.968,2010211.968 +20-11-2019 20:00,3141044.736,1462130.688,1462130.688 +20-11-2019 21:00,2894636.8000000003,1347429.8880000003,1347429.8880000003 +20-11-2019 22:00,1560140.6720000003,726232.704,726232.704 +20-11-2019 23:00,534388.4160000001,248753.47200000004,248753.47200000004 +21-11-2019 00:00,532848.384,248036.576,248036.576 +21-11-2019 01:00,565014.7200000001,263009.744,263009.744 +21-11-2019 02:00,782360.3200000001,364182.368,364182.368 +21-11-2019 03:00,1007189.568,468838.52800000005,468838.52800000005 +21-11-2019 04:00,1121376.8960000002,521991.8400000001,521991.8400000001 +21-11-2019 05:00,1187009.536,552543.2320000001,552543.2320000001 +21-11-2019 06:00,1320640.128,614747.2000000001,614747.2000000001 +21-11-2019 07:00,3360972.2880000006,1564504.96,1564504.96 +21-11-2019 08:00,3471528.448,1615968.0,1615968.0 +21-11-2019 09:00,5030983.1680000005,2341881.6,2341881.6 +21-11-2019 10:00,4102394.88,1909631.488,1909631.488 +21-11-2019 11:00,1952963.3280000002,909088.4480000001,909088.4480000001 +21-11-2019 12:00,2112202.8800000004,983213.184,983213.184 +21-11-2019 13:00,1699277.3120000002,790999.68,790999.68 +21-11-2019 14:00,1555995.2640000002,724303.104,724303.104 +21-11-2019 15:00,2479456.256,1154166.6560000002,1154166.6560000002 +21-11-2019 16:00,2891141.12,1345802.4960000003,1345802.4960000003 +21-11-2019 17:00,2613924.608,1216760.448,1216760.448 +21-11-2019 18:00,5759695.872,2681091.5840000003,2681091.5840000003 +21-11-2019 19:00,4383535.615999999,2040499.968,2040499.968 +21-11-2019 20:00,3163614.208,1472636.6720000003,1472636.6720000003 +21-11-2019 21:00,2859868.6720000003,1331245.568,1331245.568 +21-11-2019 22:00,1553146.368,722976.96,722976.96 +21-11-2019 23:00,523292.576,243588.40000000002,243588.40000000002 +22-11-2019 00:00,510658.304,237707.28,237707.28 +22-11-2019 01:00,519910.04800000007,242013.888,242013.888 +22-11-2019 02:00,645529.152,300488.544,300488.544 +22-11-2019 03:00,882819.648,410945.31200000003,410945.31200000003 +22-11-2019 04:00,975692.8,454176.992,454176.992 +22-11-2019 05:00,1040724.4800000001,484448.768,484448.768 +22-11-2019 06:00,1162697.6,541226.2400000001,541226.2400000001 +22-11-2019 07:00,3048192.768,1418908.928,1418908.928 +22-11-2019 08:00,3249971.2,1512835.0720000002,1512835.0720000002 +22-11-2019 09:00,4757703.68,2214671.872,2214671.872 +22-11-2019 10:00,3644071.168,1696285.3120000002,1696285.3120000002 +22-11-2019 11:00,1137870.4640000002,529669.5360000001,529669.5360000001 +22-11-2019 12:00,1559472.128,725921.5360000001,725921.5360000001 +22-11-2019 13:00,1341096.96,624269.696,624269.696 +22-11-2019 14:00,995493.568,463394.1440000001,463394.1440000001 +22-11-2019 15:00,2033351.168,946508.224,946508.224 +22-11-2019 16:00,2505358.336,1166223.8720000002,1166223.8720000002 +22-11-2019 17:00,2192451.072,1020568.0640000001,1020568.0640000001 +22-11-2019 18:00,5538991.616,2578355.2,2578355.2 +22-11-2019 19:00,4050459.648,1885455.872,1885455.872 +22-11-2019 20:00,2879163.904,1340227.2000000002,1340227.2000000002 +22-11-2019 21:00,2681947.3920000005,1248424.448,1248424.448 +22-11-2019 22:00,1429455.104,665399.68,665399.68 +22-11-2019 23:00,471134.272,219309.152,219309.152 +23-11-2019 00:00,457904.6400000001,213150.848,213150.848 +23-11-2019 01:00,459026.368,213673.04,213673.04 +23-11-2019 02:00,474785.152,221008.62400000004,221008.62400000004 +23-11-2019 03:00,681573.1200000001,317266.75200000004,317266.75200000004 +23-11-2019 04:00,904539.0720000002,421055.55199999997,421055.55199999997 +23-11-2019 05:00,1013839.936,471934.24000000005,471934.24000000005 +23-11-2019 06:00,1114536.96,518807.90400000004,518807.90400000004 +23-11-2019 07:00,1800123.648,837942.8480000001,837942.8480000001 +23-11-2019 08:00,3186172.16,1483137.152,1483137.152 +23-11-2019 09:00,6118837.248,2848268.8000000003,2848268.8000000003 +23-11-2019 10:00,6167507.968,2870925.056,2870925.056 +23-11-2019 11:00,2952423.936,1374329.344,1374329.344 +23-11-2019 12:00,2701885.6960000005,1257705.728,1257705.728 +23-11-2019 13:00,1885969.664,877903.4880000001,877903.4880000001 +23-11-2019 14:00,1638729.472,762815.2320000001,762815.2320000001 +23-11-2019 15:00,2344027.904,1091125.888,1091125.888 +23-11-2019 16:00,2477378.048,1153199.104,1153199.104 +23-11-2019 17:00,2488206.336,1158239.8720000002,1158239.8720000002 +23-11-2019 18:00,2546185.472,1185228.2880000002,1185228.2880000002 +23-11-2019 19:00,2576060.9280000003,1199135.36,1199135.36 +23-11-2019 20:00,2607232.512,1213645.568,1213645.568 +23-11-2019 21:00,2089860.352,972812.8640000001,972812.8640000001 +23-11-2019 22:00,952656.6400000001,443453.85599999997,443453.85599999997 +23-11-2019 23:00,558493.6320000001,259974.27200000003,259974.27200000003 +24-11-2019 00:00,550398.464,256206.0,256206.0 +24-11-2019 01:00,571753.5360000001,266146.608,266146.608 +24-11-2019 02:00,784316.8640000001,365093.12000000005,365093.12000000005 +24-11-2019 03:00,980088.256,456223.10400000005,456223.10400000005 +24-11-2019 04:00,1067785.536,497045.472,497045.472 +24-11-2019 05:00,1171230.08,545198.08,545198.08 +24-11-2019 06:00,1305287.5520000001,607600.704,607600.704 +24-11-2019 07:00,1960687.488,912684.0960000001,912684.0960000001 +24-11-2019 08:00,3293788.16,1533231.4880000001,1533231.4880000001 +24-11-2019 09:00,6275211.776000001,2921060.0960000004,2921060.0960000004 +24-11-2019 10:00,6204904.448,2888332.544,2888332.544 +24-11-2019 11:00,2995511.552,1394386.176,1394386.176 +24-11-2019 12:00,2618867.4560000002,1219061.376,1219061.376 +24-11-2019 13:00,1738663.296,809333.568,809333.568 +24-11-2019 14:00,1566455.6800000002,729172.352,729172.352 +24-11-2019 15:00,2296337.92,1068926.592,1068926.592 +24-11-2019 16:00,2543356.9280000003,1183911.936,1183911.936 +24-11-2019 17:00,2733340.9280000003,1272347.904,1272347.904 +24-11-2019 18:00,2796316.6720000003,1301662.5920000002,1301662.5920000002 +24-11-2019 19:00,2795267.072,1301173.8880000003,1301173.8880000003 +24-11-2019 20:00,2744617.472,1277597.056,1277597.056 +24-11-2019 21:00,2187093.7600000002,1018074.112,1018074.112 +24-11-2019 22:00,941038.0160000001,438045.504,438045.504 +24-11-2019 23:00,550450.816,256230.36800000002,256230.36800000002 +25-11-2019 00:00,535788.9280000001,249405.376,249405.376 +25-11-2019 01:00,541952.576,252274.51200000002,252274.51200000002 +25-11-2019 02:00,691755.712,322006.656,322006.656 +25-11-2019 03:00,807458.9440000001,375865.536,375865.536 +25-11-2019 04:00,907750.6560000001,422550.52800000005,422550.52800000005 +25-11-2019 05:00,961066.304,447368.54400000005,447368.54400000005 +25-11-2019 06:00,1067188.0960000001,496767.32800000004,496767.32800000004 +25-11-2019 07:00,2888720.64,1344675.84,1344675.84 +25-11-2019 08:00,3145750.5280000004,1464321.152,1464321.152 +25-11-2019 09:00,4671451.136,2174522.3680000002,2174522.3680000002 +25-11-2019 10:00,3622462.464,1686226.816,1686226.816 +25-11-2019 11:00,1576403.0720000002,733802.752,733802.752 +25-11-2019 12:00,1674000.7680000002,779233.7280000001,779233.7280000001 +25-11-2019 13:00,1161825.536,540820.224,540820.224 +25-11-2019 14:00,629887.04,293207.328,293207.328 +25-11-2019 15:00,1843940.608,858339.328,858339.328 +25-11-2019 16:00,2375325.44,1105694.592,1105694.592 +25-11-2019 17:00,2124984.704,989163.008,989163.008 +25-11-2019 18:00,5426028.544,2525772.032,2525772.032 +25-11-2019 19:00,3701059.84,1722813.3120000002,1722813.3120000002 +25-11-2019 20:00,2488161.0239999997,1158218.496,1158218.496 +25-11-2019 21:00,2456242.432,1143360.768,1143360.768 +25-11-2019 22:00,1322241.2800000003,615492.608,615492.608 +25-11-2019 23:00,435895.808,202905.92,202905.92 +26-11-2019 00:00,421165.56799999997,196049.152,196049.152 +26-11-2019 01:00,420230.65599999996,195613.98400000003,195613.98400000003 +26-11-2019 02:00,424674.72000000003,197682.624,197682.624 +26-11-2019 03:00,506136.384,235602.36800000002,235602.36800000002 +26-11-2019 04:00,717129.28,333817.856,333817.856 +26-11-2019 05:00,798848.576,371857.504,371857.504 +26-11-2019 06:00,906418.944,421930.62400000007,421930.62400000007 +26-11-2019 07:00,2446372.608,1138766.592,1138766.592 +26-11-2019 08:00,2936763.904,1367039.4880000001,1367039.4880000001 +26-11-2019 09:00,4399352.32,2047862.5280000002,2047862.5280000002 +26-11-2019 10:00,3205338.112,1492058.752,1492058.752 +26-11-2019 11:00,1262607.4880000001,587733.5040000001,587733.5040000001 +26-11-2019 12:00,1474872.704,686541.184,686541.184 +26-11-2019 13:00,1145112.064,533040.384,533040.384 +26-11-2019 14:00,1024047.8720000001,476685.952,476685.952 +26-11-2019 15:00,1805120.64,840269.0560000001,840269.0560000001 +26-11-2019 16:00,2182246.4,1015817.8560000001,1015817.8560000001 +26-11-2019 17:00,1826043.3920000002,850008.192,850008.192 +26-11-2019 18:00,5201901.056000001,2421442.56,2421442.56 +26-11-2019 19:00,3301655.808,1536893.824,1536893.824 +26-11-2019 20:00,2151430.912,1001473.536,1001473.536 +26-11-2019 21:00,2101644.9280000003,978298.6240000001,978298.6240000001 +26-11-2019 22:00,1124978.432,523668.256,523668.256 +26-11-2019 23:00,364306.56000000006,169581.744,169581.744 +27-11-2019 00:00,355392.288,165432.208,165432.208 +27-11-2019 01:00,351052.064,163411.85600000003,163411.85600000003 +27-11-2019 02:00,346903.392,161480.70400000003,161480.70400000003 +27-11-2019 03:00,352820.19200000004,164234.928,164234.928 +27-11-2019 04:00,390166.656,181619.392,181619.392 +27-11-2019 05:00,550580.9280000001,256290.94400000002,256290.94400000002 +27-11-2019 06:00,672842.56,313202.72000000003,313202.72000000003 +27-11-2019 07:00,2069291.008,963238.0800000001,963238.0800000001 +27-11-2019 08:00,2687084.288,1250815.8720000002,1250815.8720000002 +27-11-2019 09:00,4125458.944,1920367.6160000002,1920367.6160000002 +27-11-2019 10:00,2830407.424,1317531.392,1317531.392 +27-11-2019 11:00,1075622.912,500693.696,500693.696 +27-11-2019 12:00,1328364.8,618342.976,618342.976 +27-11-2019 13:00,1058959.744,492937.12000000005,492937.12000000005 +27-11-2019 14:00,943658.8800000001,439265.5360000001,439265.5360000001 +27-11-2019 15:00,1709820.672,795907.584,795907.584 +27-11-2019 16:00,2065607.6800000002,961523.4560000001,961523.4560000001 +27-11-2019 17:00,1716080.8960000002,798821.696,798821.696 +27-11-2019 18:00,5128471.04,2387261.44,2387261.44 +27-11-2019 19:00,3082460.6720000003,1434860.2880000002,1434860.2880000002 +27-11-2019 20:00,2080840.8320000002,968614.4640000002,968614.4640000002 +27-11-2019 21:00,2027468.4160000002,943770.0480000001,943770.0480000001 +27-11-2019 22:00,1072073.664,499041.504,499041.504 +27-11-2019 23:00,344354.848,160294.36800000002,160294.36800000002 +28-11-2019 00:00,336740.22400000005,156749.824,156749.824 +28-11-2019 01:00,338506.88,157572.192,157572.192 +28-11-2019 02:00,340360.128,158434.864,158434.864 +28-11-2019 03:00,341407.90400000004,158922.592,158922.592 +28-11-2019 04:00,344518.112,160370.36800000002,160370.36800000002 +28-11-2019 05:00,486243.61600000004,226342.46400000004,226342.46400000004 +28-11-2019 06:00,625975.168,291386.304,291386.304 +28-11-2019 07:00,1967474.432,915843.328,915843.328 +28-11-2019 08:00,2652428.8000000003,1234684.0320000001,1234684.0320000001 +28-11-2019 09:00,4127147.776,1921153.536,1921153.536 +28-11-2019 10:00,2798062.848,1302475.52,1302475.52 +28-11-2019 11:00,1109428.4800000002,516429.92000000004,516429.92000000004 +28-11-2019 12:00,1342784.8960000002,625055.36,625055.36 +28-11-2019 13:00,1045657.728,486745.12000000005,486745.12000000005 +28-11-2019 14:00,946711.36,440686.33600000007,440686.33600000007 +28-11-2019 15:00,1699774.5920000002,791231.2320000001,791231.2320000001 +28-11-2019 16:00,2006640.0,934074.6240000001,934074.6240000001 +28-11-2019 17:00,1688670.08,786062.0800000001,786062.0800000001 +28-11-2019 18:00,5120026.112,2383330.56,2383330.56 +28-11-2019 19:00,3103464.1920000003,1444637.312,1444637.312 +28-11-2019 20:00,2132071.68,992462.0160000001,992462.0160000001 +28-11-2019 21:00,2108197.248,981348.608,981348.608 +28-11-2019 22:00,1148029.568,534398.4,534398.4 +28-11-2019 23:00,371394.62400000007,172881.184,172881.184 +29-11-2019 00:00,375870.784,174964.784,174964.784 +29-11-2019 01:00,393144.704,183005.632,183005.632 +29-11-2019 02:00,427279.456,198895.088,198895.088 +29-11-2019 03:00,440948.864,205258.12800000003,205258.12800000003 +29-11-2019 04:00,669613.312,311699.552,311699.552 +29-11-2019 05:00,742956.8640000001,345840.32000000007,345840.32000000007 +29-11-2019 06:00,940311.552,437707.36,437707.36 +29-11-2019 07:00,2499736.5760000004,1163606.912,1163606.912 +29-11-2019 08:00,2958277.8880000003,1377054.208,1377054.208 +29-11-2019 09:00,4329011.2,2015119.488,2015119.488 +29-11-2019 10:00,3206438.1440000003,1492570.8800000001,1492570.8800000001 +29-11-2019 11:00,1169554.0480000002,544417.792,544417.792 +29-11-2019 12:00,1453503.8720000002,676594.176,676594.176 +29-11-2019 13:00,1260233.7280000001,586628.48,586628.48 +29-11-2019 14:00,710224.768,330603.84,330603.84 +29-11-2019 15:00,1856779.136,864315.52,864315.52 +29-11-2019 16:00,2420747.008,1126838.144,1126838.144 +29-11-2019 17:00,2025344.7680000002,942781.4400000001,942781.4400000001 +29-11-2019 18:00,5381513.216,2505050.624,2505050.624 +29-11-2019 19:00,3869561.344,1801249.2800000003,1801249.2800000003 +29-11-2019 20:00,2725892.352,1268880.6400000001,1268880.6400000001 +29-11-2019 21:00,2731609.3440000005,1271541.8880000003,1271541.8880000003 +29-11-2019 22:00,1476780.544,687429.376,687429.376 +29-11-2019 23:00,516560.83200000005,240454.832,240454.832 +30-11-2019 00:00,515845.792,240122.01600000003,240122.01600000003 +30-11-2019 01:00,529450.304,246454.78399999999,246454.78399999999 +30-11-2019 02:00,689661.568,321031.84,321031.84 +30-11-2019 03:00,962104.96,447851.968,447851.968 +30-11-2019 04:00,1107268.352,515424.416,515424.416 +30-11-2019 05:00,1203463.6800000002,560202.496,560202.496 +30-11-2019 06:00,1262460.544,587665.152,587665.152 +30-11-2019 07:00,1930655.104,898704.128,898704.128 +30-11-2019 08:00,3349486.336,1559158.6560000002,1559158.6560000002 +30-11-2019 09:00,6270264.832,2918757.12,2918757.12 +30-11-2019 10:00,5813906.432,2706326.272,2706326.272 +30-11-2019 11:00,2426828.032,1129668.608,1129668.608 +30-11-2019 12:00,2208170.4960000003,1027885.376,1027885.376 +30-11-2019 13:00,1397012.352,650297.856,650297.856 +30-11-2019 14:00,1103607.552,513720.256,513720.256 +30-11-2019 15:00,2271478.0160000003,1057354.56,1057354.56 +30-11-2019 16:00,2738980.352,1274973.1840000001,1274973.1840000001 +30-11-2019 17:00,2915907.84,1357331.328,1357331.328 +30-11-2019 18:00,3035664.384,1413077.12,1413077.12 +30-11-2019 19:00,3063507.2,1426037.6320000002,1426037.6320000002 +30-11-2019 20:00,3099379.2,1442735.744,1442735.744 +30-11-2019 21:00,2432554.752,1132334.336,1132334.336 +30-11-2019 22:00,1152513.92,536485.792,536485.792 +30-11-2019 23:00,704005.568,327708.86400000006,327708.86400000006 +1-12-2019 00:00,693485.5040000001,322811.84,322811.84 +1-12-2019 01:00,893102.144,415731.776,415731.776 +1-12-2019 02:00,1098795.776,511480.48,511480.48 +1-12-2019 03:00,1220827.52,568285.248,568285.248 +1-12-2019 04:00,1273398.912,592756.864,592756.864 +1-12-2019 05:00,1387652.608,645940.9280000001,645940.9280000001 +1-12-2019 06:00,1455162.624,677366.272,677366.272 +1-12-2019 07:00,2205789.696,1026777.152,1026777.152 +1-12-2019 08:00,3622434.8159999996,1686213.504,1686213.504 +1-12-2019 09:00,6636372.48,3089177.6,3089177.6 +1-12-2019 10:00,6752799.744,3143373.3120000004,3143373.3120000004 +1-12-2019 11:00,3479413.7600000002,1619638.6560000002,1619638.6560000002 +1-12-2019 12:00,3046004.224,1417890.0480000002,1417890.0480000002 +1-12-2019 13:00,2269708.544,1056530.8800000001,1056530.8800000001 +1-12-2019 14:00,2054016.384,956127.936,956127.936 +1-12-2019 15:00,2743583.2320000003,1277115.392,1277115.392 +1-12-2019 16:00,2907430.9120000005,1353385.472,1353385.472 +1-12-2019 17:00,3096829.1840000004,1441548.6720000003,1441548.6720000003 +1-12-2019 18:00,3193104.384,1486364.1600000001,1486364.1600000001 +1-12-2019 19:00,3111077.632,1448181.3760000002,1448181.3760000002 +1-12-2019 20:00,3078231.04,1432891.648,1432891.648 +1-12-2019 21:00,2409057.0239999997,1121396.4800000002,1121396.4800000002 +1-12-2019 22:00,1179677.312,549130.176,549130.176 +1-12-2019 23:00,730604.608,340090.49600000004,340090.49600000004 +2-12-2019 00:00,738055.4240000001,343558.81600000005,343558.81600000005 +2-12-2019 01:00,996219.52,463732.096,463732.096 +2-12-2019 02:00,1195404.16,556450.816,556450.816 +2-12-2019 03:00,1284894.5920000002,598107.904,598107.904 +2-12-2019 04:00,1359767.5520000001,632960.768,632960.768 +2-12-2019 05:00,1477521.7920000001,687774.3360000001,687774.3360000001 +2-12-2019 06:00,1634913.152,761038.7200000001,761038.7200000001 +2-12-2019 07:00,3802925.312,1770230.656,1770230.656 +2-12-2019 08:00,3588958.208,1670630.912,1670630.912 +2-12-2019 09:00,5020840.96,2337160.4480000003,2337160.4480000003 +2-12-2019 10:00,3820032.768,1778194.304,1778194.304 +2-12-2019 11:00,1400723.584,652025.408,652025.408 +2-12-2019 12:00,1832348.672,852943.36,852943.36 +2-12-2019 13:00,1505884.6720000003,700977.0240000001,700977.0240000001 +2-12-2019 14:00,1337129.344,622422.8480000001,622422.8480000001 +2-12-2019 15:00,2213606.912,1030415.936,1030415.936 +2-12-2019 16:00,2617830.4000000004,1218578.56,1218578.56 +2-12-2019 17:00,2299798.784,1070537.664,1070537.664 +2-12-2019 18:00,5571554.3040000005,2593512.9600000004,2593512.9600000004 +2-12-2019 19:00,4072082.432,1895521.2800000003,1895521.2800000003 +2-12-2019 20:00,2757615.3600000003,1283647.4880000001,1283647.4880000001 +2-12-2019 21:00,2602563.5840000003,1211472.256,1211472.256 +2-12-2019 22:00,1400201.472,651782.4,651782.4 +2-12-2019 23:00,468101.92000000004,217897.6,217897.6 +3-12-2019 00:00,451525.792,210181.56800000003,210181.56800000003 +3-12-2019 01:00,449481.824,209230.12800000003,209230.12800000003 +3-12-2019 02:00,465092.48,216496.752,216496.752 +3-12-2019 03:00,673511.7440000001,313514.20800000004,313514.20800000004 +3-12-2019 04:00,879763.584,409522.81600000005,409522.81600000005 +3-12-2019 05:00,1095164.8,509790.272,509790.272 +3-12-2019 06:00,1278873.9840000002,595305.408,595305.408 +3-12-2019 07:00,3199117.3120000004,1489163.0080000001,1489163.0080000001 +3-12-2019 08:00,3360904.1920000003,1564473.472,1564473.472 +3-12-2019 09:00,4746800.64,2209596.672,2209596.672 +3-12-2019 10:00,3691778.8159999996,1718492.9280000003,1718492.9280000003 +3-12-2019 11:00,1266540.2880000002,589564.224,589564.224 +3-12-2019 12:00,1612873.6,750779.584,750779.584 +3-12-2019 13:00,1225351.424,570391.04,570391.04 +3-12-2019 14:00,1086444.672,505731.10400000005,505731.10400000005 +3-12-2019 15:00,2178464.256,1014057.408,1014057.408 +3-12-2019 16:00,2656684.032,1236664.704,1236664.704 +3-12-2019 17:00,2354695.168,1096091.2640000002,1096091.2640000002 +3-12-2019 18:00,5638035.968,2624459.7760000005,2624459.7760000005 +3-12-2019 19:00,4173088.768,1942538.4960000003,1942538.4960000003 +3-12-2019 20:00,2915661.056,1357216.6400000001,1357216.6400000001 +3-12-2019 21:00,2813086.9760000003,1309468.928,1309468.928 +3-12-2019 22:00,1526077.056,710376.4480000001,710376.4480000001 +3-12-2019 23:00,538464.064,250650.64,250650.64 +4-12-2019 00:00,520676.16,242370.51200000002,242370.51200000002 +4-12-2019 01:00,587326.656,273395.776,273395.776 +4-12-2019 02:00,844313.0880000001,393020.80000000005,393020.80000000005 +4-12-2019 03:00,1075574.6560000002,500671.29600000003,500671.29600000003 +4-12-2019 04:00,1170336.384,544782.0160000001,544782.0160000001 +4-12-2019 05:00,1293909.76,602304.4480000001,602304.4480000001 +4-12-2019 06:00,1424381.1840000001,663037.824,663037.824 +4-12-2019 07:00,3527614.464,1642075.648,1642075.648 +4-12-2019 08:00,3608254.208,1679612.9280000003,1679612.9280000003 +4-12-2019 09:00,5038283.264,2345279.7440000004,2345279.7440000004 +4-12-2019 10:00,3783239.168,1761066.6239999998,1761066.6239999998 +4-12-2019 11:00,1521158.016,708086.5920000001,708086.5920000001 +4-12-2019 12:00,1800105.7280000001,837934.5920000001,837934.5920000001 +4-12-2019 13:00,1248332.2880000002,581088.4480000001,581088.4480000001 +4-12-2019 14:00,1040577.536,484380.384,484380.384 +4-12-2019 15:00,2222214.1440000003,1034422.4640000002,1034422.4640000002 +4-12-2019 16:00,2907930.3680000002,1353617.92,1353617.92 +4-12-2019 17:00,2646746.624,1232039.04,1232039.04 +4-12-2019 18:00,5884236.800000001,2739064.0640000002,2739064.0640000002 +4-12-2019 19:00,4555832.32,2120702.9760000003,2120702.9760000003 +4-12-2019 20:00,3450885.1200000006,1606358.784,1606358.784 +4-12-2019 21:00,3181997.3120000004,1481193.8560000001,1481193.8560000001 +4-12-2019 22:00,1738514.816,809264.5120000001,809264.5120000001 +4-12-2019 23:00,599520.064,279071.712,279071.712 +5-12-2019 00:00,629379.52,292971.07200000004,292971.07200000004 +5-12-2019 01:00,715781.312,333190.368,333190.368 +5-12-2019 02:00,1038785.8560000001,483546.4,483546.4 +5-12-2019 03:00,1224376.064,569937.088,569937.088 +5-12-2019 04:00,1332504.192,620269.824,620269.824 +5-12-2019 05:00,1400338.9440000001,651846.4,651846.4 +5-12-2019 06:00,1517132.2880000002,706212.736,706212.736 +5-12-2019 07:00,3747411.712,1744389.6320000002,1744389.6320000002 +5-12-2019 08:00,3761042.944,1750734.9760000003,1750734.9760000003 +5-12-2019 09:00,5321114.112,2476935.424,2476935.424 +5-12-2019 10:00,4575205.888,2129720.9600000004,2129720.9600000004 +5-12-2019 11:00,2533970.1760000004,1179542.528,1179542.528 +5-12-2019 12:00,2594390.784,1207667.712,1207667.712 +5-12-2019 13:00,2164103.68,1007372.736,1007372.736 +5-12-2019 14:00,1884239.872,877098.368,877098.368 +5-12-2019 15:00,2687712.768,1251108.608,1251108.608 +5-12-2019 16:00,3010873.3440000005,1401536.8960000002,1401536.8960000002 +5-12-2019 17:00,2625736.4480000003,1222258.944,1222258.944 +5-12-2019 18:00,5808681.984000001,2703894.0160000003,2703894.0160000003 +5-12-2019 19:00,4420307.968,2057617.536,2057617.536 +5-12-2019 20:00,3230237.6960000005,1503649.408,1503649.408 +5-12-2019 21:00,2978743.04,1386580.608,1386580.608 +5-12-2019 22:00,1598750.976,744205.4400000001,744205.4400000001 +5-12-2019 23:00,526498.304,245080.67200000002,245080.67200000002 +6-12-2019 00:00,517261.664,240781.07200000004,240781.07200000004 +6-12-2019 01:00,528575.392,246047.50400000002,246047.50400000002 +6-12-2019 02:00,677476.352,315359.71200000006,315359.71200000006 +6-12-2019 03:00,922138.6880000001,429248.0,429248.0 +6-12-2019 04:00,1037410.176,482905.92000000004,482905.92000000004 +6-12-2019 05:00,1111109.632,517212.4480000001,517212.4480000001 +6-12-2019 06:00,1249578.624,581668.672,581668.672 +6-12-2019 07:00,3219444.224,1498625.152,1498625.152 +6-12-2019 08:00,3382244.864,1574407.424,1574407.424 +6-12-2019 09:00,4971340.8,2314118.656,2314118.656 +6-12-2019 10:00,4044361.728,1882617.3440000003,1882617.3440000003 +6-12-2019 11:00,1948201.216,906871.8080000001,906871.8080000001 +6-12-2019 12:00,2088361.856,972115.4560000001,972115.4560000001 +6-12-2019 13:00,1697762.304,790294.5920000001,790294.5920000001 +6-12-2019 14:00,1563530.752,727810.8160000001,727810.8160000001 +6-12-2019 15:00,2370417.6640000003,1103410.176,1103410.176 +6-12-2019 16:00,2701645.568,1257593.984,1257593.984 +6-12-2019 17:00,2320571.648,1080207.232,1080207.232 +6-12-2019 18:00,5534652.928,2576335.872,2576335.872 +6-12-2019 19:00,4013581.568,1868289.4079999998,1868289.4079999998 +6-12-2019 20:00,2802214.4000000004,1304408.0640000002,1304408.0640000002 +6-12-2019 21:00,2473312.768,1151306.8800000001,1151306.8800000001 +6-12-2019 22:00,1335613.056,621716.992,621716.992 +6-12-2019 23:00,438257.664,204005.37600000002,204005.37600000002 +7-12-2019 00:00,418217.376,194676.784,194676.784 +7-12-2019 01:00,414823.52,193096.97600000002,193096.97600000002 +7-12-2019 02:00,414163.16800000006,192789.58400000003,192789.58400000003 +7-12-2019 03:00,470717.664,219115.232,219115.232 +7-12-2019 04:00,654154.56,304503.584,304503.584 +7-12-2019 05:00,745010.432,346796.288,346796.288 +7-12-2019 06:00,876574.784,408038.4,408038.4 +7-12-2019 07:00,1561057.536,726659.456,726659.456 +7-12-2019 08:00,2943241.216,1370054.6560000002,1370054.6560000002 +7-12-2019 09:00,5733023.232000001,2668675.5840000003,2668675.5840000003 +7-12-2019 10:00,5674200.576,2641293.824,2641293.824 +7-12-2019 11:00,2705313.024,1259301.12,1259301.12 +7-12-2019 12:00,2494993.92,1161399.168,1161399.168 +7-12-2019 13:00,1753641.856,816305.92,816305.92 +7-12-2019 14:00,1590910.976,740556.16,740556.16 +7-12-2019 15:00,2249049.344,1046914.176,1046914.176 +7-12-2019 16:00,2370970.8800000004,1103667.584,1103667.584 +7-12-2019 17:00,2394754.56,1114738.816,1114738.816 +7-12-2019 18:00,2408777.984,1121266.56,1121266.56 +7-12-2019 19:00,2401121.0239999997,1117702.144,1117702.144 +7-12-2019 20:00,2394149.888,1114457.216,1114457.216 +7-12-2019 21:00,1877521.536,873970.8800000001,873970.8800000001 +7-12-2019 22:00,815707.52,379705.216,379705.216 +7-12-2019 23:00,456129.824,212324.70400000003,212324.70400000003 +8-12-2019 00:00,442669.63200000004,206059.088,206059.088 +8-12-2019 01:00,440049.952,204839.68000000002,204839.68000000002 +8-12-2019 02:00,438260.064,204006.464,204006.464 +8-12-2019 03:00,563056.768,262098.336,262098.336 +8-12-2019 04:00,664889.28,309500.51200000005,309500.51200000005 +8-12-2019 05:00,736081.92,342640.128,342640.128 +8-12-2019 06:00,837209.152,389714.01600000006,389714.01600000006 +8-12-2019 07:00,1510350.72,703056.0,703056.0 +8-12-2019 08:00,2857744.1280000005,1330256.512,1330256.512 +8-12-2019 09:00,5587640.32,2601001.216,2601001.216 +8-12-2019 10:00,5242223.616,2440212.48,2440212.48 +8-12-2019 11:00,2424928.0,1128784.256,1128784.256 +8-12-2019 12:00,2277519.3600000003,1060166.592,1060166.592 +8-12-2019 13:00,1519663.6160000002,707391.04,707391.04 +8-12-2019 14:00,1226655.232,570998.0160000001,570998.0160000001 +8-12-2019 15:00,2059264.8960000002,958570.8800000001,958570.8800000001 +8-12-2019 16:00,2218942.464,1032899.7119999999,1032899.7119999999 +8-12-2019 17:00,2244280.32,1044694.144,1044694.144 +8-12-2019 18:00,2252664.32,1048596.864,1048596.864 +8-12-2019 19:00,2267896.832,1055687.424,1055687.424 +8-12-2019 20:00,2284175.616,1063264.96,1063264.96 +8-12-2019 21:00,1816241.4079999998,845445.504,845445.504 +8-12-2019 22:00,813001.6000000001,378445.568,378445.568 +8-12-2019 23:00,480347.74400000006,223597.95200000002,223597.95200000002 +9-12-2019 00:00,484058.592,225325.31200000003,225325.31200000003 +9-12-2019 01:00,482627.776,224659.28,224659.28 +9-12-2019 02:00,483027.456,224845.344,224845.344 +9-12-2019 03:00,638292.736,297120.032,297120.032 +9-12-2019 04:00,737635.7760000001,343363.456,343363.456 +9-12-2019 05:00,843315.904,392556.704,392556.704 +9-12-2019 06:00,973773.504,453283.64800000004,453283.64800000004 +9-12-2019 07:00,2630455.04,1224455.424,1224455.424 +9-12-2019 08:00,3061878.272,1425279.36,1425279.36 +9-12-2019 09:00,4477797.376,2084378.1120000002,2084378.1120000002 +9-12-2019 10:00,3370697.216,1569032.0640000002,1569032.0640000002 +9-12-2019 11:00,1411105.2800000003,656857.984,656857.984 +9-12-2019 12:00,1674475.392,779454.5920000001,779454.5920000001 +9-12-2019 13:00,1374626.432,639877.4400000001,639877.4400000001 +9-12-2019 14:00,1337641.344,622661.184,622661.184 +9-12-2019 15:00,2073146.4960000003,965032.832,965032.832 +9-12-2019 16:00,2356485.376,1096924.672,1096924.672 +9-12-2019 17:00,2004397.6960000002,933030.784,933030.784 +9-12-2019 18:00,5367354.88,2498459.904,2498459.904 +9-12-2019 19:00,3634813.1840000004,1691976.1920000003,1691976.1920000003 +9-12-2019 20:00,2470219.52,1149867.136,1149867.136 +9-12-2019 21:00,2494729.728,1161276.2880000002,1161276.2880000002 +9-12-2019 22:00,1314742.528,612001.984,612001.984 +9-12-2019 23:00,447373.92000000004,208248.896,208248.896 +10-12-2019 00:00,434880.576,202433.36000000002,202433.36000000002 +10-12-2019 01:00,444939.36,207115.632,207115.632 +10-12-2019 02:00,467540.128,217636.11200000002,217636.11200000002 +10-12-2019 03:00,674863.104,314143.29600000003,314143.29600000003 +10-12-2019 04:00,844433.0240000001,393076.672,393076.672 +10-12-2019 05:00,979853.2480000001,456113.664,456113.664 +10-12-2019 06:00,1103970.304,513889.152,513889.152 +10-12-2019 07:00,2861941.248,1332210.304,1332210.304 +10-12-2019 08:00,3200579.5840000003,1489843.712,1489843.712 +10-12-2019 09:00,4702600.192000001,2189021.952,2189021.952 +10-12-2019 10:00,3668612.864,1707709.568,1707709.568 +10-12-2019 11:00,1658076.928,771821.312,771821.312 +10-12-2019 12:00,1817500.1600000001,846031.552,846031.552 +10-12-2019 13:00,1527684.608,711124.736,711124.736 +10-12-2019 14:00,1413830.016,658126.3360000001,658126.3360000001 +10-12-2019 15:00,2153319.424,1002352.512,1002352.512 +10-12-2019 16:00,2473503.488,1151395.712,1151395.712 +10-12-2019 17:00,2140185.344,996238.784,996238.784 +10-12-2019 18:00,5458549.760000001,2540910.336,2540910.336 +10-12-2019 19:00,3899056.64,1814979.072,1814979.072 +10-12-2019 20:00,2512894.208,1169731.712,1169731.712 +10-12-2019 21:00,2415385.856,1124342.4000000001,1124342.4000000001 +10-12-2019 22:00,1275249.2800000003,593618.1120000001,593618.1120000001 +10-12-2019 23:00,420440.864,195711.776,195711.776 +11-12-2019 00:00,407207.456,189551.76,189551.76 +11-12-2019 01:00,403423.2,187790.192,187790.192 +11-12-2019 02:00,420492.576,195735.872,195735.872 +11-12-2019 03:00,473668.704,220488.94400000002,220488.94400000002 +11-12-2019 04:00,679435.968,316271.90400000004,316271.90400000004 +11-12-2019 05:00,804023.1680000001,374266.24,374266.24 +11-12-2019 06:00,918696.96,427645.88800000004,427645.88800000004 +11-12-2019 07:00,2490120.1920000003,1159130.624,1159130.624 +11-12-2019 08:00,3004013.056,1398343.6800000002,1398343.6800000002 +11-12-2019 09:00,4503916.544,2096536.32,2096536.32 +11-12-2019 10:00,3439044.0960000004,1600847.104,1600847.104 +11-12-2019 11:00,1496193.92,696466.0480000001,696466.0480000001 +11-12-2019 12:00,1715279.3600000003,798448.5120000001,798448.5120000001 +11-12-2019 13:00,1432358.912,666751.36,666751.36 +11-12-2019 14:00,1332010.752,620040.192,620040.192 +11-12-2019 15:00,2116120.9600000004,985036.928,985036.928 +11-12-2019 16:00,2459543.296,1144897.408,1144897.408 +11-12-2019 17:00,2123014.0160000003,988245.6960000001,988245.6960000001 +11-12-2019 18:00,5457823.744,2540572.416,2540572.416 +11-12-2019 19:00,3948253.44,1837879.6800000002,1837879.6800000002 +11-12-2019 20:00,2590780.9280000003,1205987.456,1205987.456 +11-12-2019 21:00,2494136.0640000002,1161000.064,1161000.064 +11-12-2019 22:00,1343676.4160000002,625470.4,625470.4 +11-12-2019 23:00,443915.968,206639.264,206639.264 +12-12-2019 00:00,441339.71200000006,205440.032,205440.032 +12-12-2019 01:00,451300.48,210076.688,210076.688 +12-12-2019 02:00,460432.128,214327.392,214327.392 +12-12-2019 03:00,617000.64,287208.76800000004,287208.76800000004 +12-12-2019 04:00,828252.5440000001,385544.80000000005,385544.80000000005 +12-12-2019 05:00,936718.8480000001,436034.976,436034.976 +12-12-2019 06:00,1065975.104,496202.688,496202.688 +12-12-2019 07:00,2837263.3600000003,1320723.0720000002,1320723.0720000002 +12-12-2019 08:00,3210541.3120000004,1494480.7680000002,1494480.7680000002 +12-12-2019 09:00,4693468.672,2184771.5840000003,2184771.5840000003 +12-12-2019 10:00,3335047.168,1552437.2480000001,1552437.2480000001 +12-12-2019 11:00,1363598.3360000001,634743.9360000001,634743.9360000001 +12-12-2019 12:00,1715047.04,798340.4160000001,798340.4160000001 +12-12-2019 13:00,1202220.16,559623.616,559623.616 +12-12-2019 14:00,1067153.92,496751.456,496751.456 +12-12-2019 15:00,2179172.352,1014386.944,1014386.944 +12-12-2019 16:00,2555884.544,1189743.36,1189743.36 +12-12-2019 17:00,2241107.456,1043217.2800000001,1043217.2800000001 +12-12-2019 18:00,5527092.7360000005,2572816.896,2572816.896 +12-12-2019 19:00,4025704.1920000003,1873932.288,1873932.288 +12-12-2019 20:00,2720648.704,1266439.8080000002,1266439.8080000002 +12-12-2019 21:00,2583113.216,1202418.304,1202418.304 +12-12-2019 22:00,1384398.976,644426.432,644426.432 +12-12-2019 23:00,471556.064,219505.52000000002,219505.52000000002 +13-12-2019 00:00,466270.01600000006,217044.896,217044.896 +13-12-2019 01:00,467869.984,217789.64800000002,217789.64800000002 +13-12-2019 02:00,483374.752,225006.976,225006.976 +13-12-2019 03:00,729100.672,339390.4,339390.4 +13-12-2019 04:00,900677.3119999999,419257.95200000005,419257.95200000005 +13-12-2019 05:00,1003041.9199999999,466907.808,466907.808 +13-12-2019 06:00,1133900.8,527821.568,527821.568 +13-12-2019 07:00,2975470.848,1385057.408,1385057.408 +13-12-2019 08:00,3262228.9920000006,1518541.056,1518541.056 +13-12-2019 09:00,4810726.4,2239353.856,2239353.856 +13-12-2019 10:00,3904930.048,1817713.2800000003,1817713.2800000003 +13-12-2019 11:00,1833052.288,853270.784,853270.784 +13-12-2019 12:00,2010228.4800000002,935744.8960000002,935744.8960000002 +13-12-2019 13:00,1712311.936,797067.2000000001,797067.2000000001 +13-12-2019 14:00,1591757.568,740950.0800000001,740950.0800000001 +13-12-2019 15:00,2328972.544,1084117.76,1084117.76 +13-12-2019 16:00,2583344.64,1202525.952,1202525.952 +13-12-2019 17:00,2229255.936,1037700.608,1037700.608 +13-12-2019 18:00,5462340.096000001,2542674.688,2542674.688 +13-12-2019 19:00,3929791.4880000004,1829285.888,1829285.888 +13-12-2019 20:00,2723632.384,1267828.608,1267828.608 +13-12-2019 21:00,2486270.208,1157338.496,1157338.496 +13-12-2019 22:00,1340161.664,623834.304,623834.304 +13-12-2019 23:00,450660.096,209778.608,209778.608 +14-12-2019 00:00,446287.36,207743.13600000003,207743.13600000003 +14-12-2019 01:00,448602.49600000004,208820.784,208820.784 +14-12-2019 02:00,454157.92000000004,211406.832,211406.832 +14-12-2019 03:00,609547.136,283739.232,283739.232 +14-12-2019 04:00,805865.984,375124.032,375124.032 +14-12-2019 05:00,920711.8080000001,428583.872,428583.872 +14-12-2019 06:00,1014484.352,472234.24000000005,472234.24000000005 +14-12-2019 07:00,1667859.712,776375.104,776375.104 +14-12-2019 08:00,3026462.208,1408793.472,1408793.472 +14-12-2019 09:00,5913974.784000001,2752907.2640000004,2752907.2640000004 +14-12-2019 10:00,5862048.768,2728735.7440000004,2728735.7440000004 +14-12-2019 11:00,2644455.424,1230972.416,1230972.416 +14-12-2019 12:00,2573859.328,1198110.4640000002,1198110.4640000002 +14-12-2019 13:00,1860697.216,866139.4560000001,866139.4560000001 +14-12-2019 14:00,1844362.4960000003,858535.744,858535.744 +14-12-2019 15:00,2374290.688,1105213.056,1105213.056 +14-12-2019 16:00,2583638.272,1202662.6560000002,1202662.6560000002 +14-12-2019 17:00,2548578.816,1186342.6560000002,1186342.6560000002 +14-12-2019 18:00,2545551.6160000004,1184933.504,1184933.504 +14-12-2019 19:00,2584924.9280000003,1203261.4400000002,1203261.4400000002 +14-12-2019 20:00,2589837.568,1205548.2880000002,1205548.2880000002 +14-12-2019 21:00,2059140.864,958513.2800000001,958513.2800000001 +14-12-2019 22:00,926706.368,431374.20800000004,431374.20800000004 +14-12-2019 23:00,541412.864,252023.296,252023.296 +15-12-2019 00:00,539556.032,251158.92799999999,251158.92799999999 +15-12-2019 01:00,523601.92000000004,243732.448,243732.448 +15-12-2019 02:00,624606.656,290749.31200000003,290749.31200000003 +15-12-2019 03:00,715652.8,333130.528,333130.528 +15-12-2019 04:00,802556.4160000001,373583.456,373583.456 +15-12-2019 05:00,818287.68,380906.24,380906.24 +15-12-2019 06:00,894194.944,416240.416,416240.416 +15-12-2019 07:00,1582401.408,736594.88,736594.88 +15-12-2019 08:00,2982226.432,1388202.112,1388202.112 +15-12-2019 09:00,5776493.568,2688910.592,2688910.592 +15-12-2019 10:00,5156217.856000001,2400177.408,2400177.408 +15-12-2019 11:00,2631199.488,1224801.7920000001,1224801.7920000001 +15-12-2019 12:00,2510951.68,1168827.52,1168827.52 +15-12-2019 13:00,1766710.1440000003,822389.184,822389.184 +15-12-2019 14:00,1620525.6960000002,754341.4400000001,754341.4400000001 +15-12-2019 15:00,2281336.5760000004,1061943.552,1061943.552 +15-12-2019 16:00,2396289.2800000003,1115453.1840000001,1115453.1840000001 +15-12-2019 17:00,2438216.704,1134969.984,1134969.984 +15-12-2019 18:00,2492089.344,1160047.36,1160047.36 +15-12-2019 19:00,2503347.968,1165288.064,1165288.064 +15-12-2019 20:00,2493969.1520000002,1160922.24,1160922.24 +15-12-2019 21:00,1961841.4079999998,913221.3119999999,913221.3119999999 +15-12-2019 22:00,888302.8480000001,413497.696,413497.696 +15-12-2019 23:00,528267.2320000001,245904.09600000002,245904.09600000002 +16-12-2019 00:00,522147.52,243055.44,243055.44 +16-12-2019 01:00,550366.656,256191.16800000003,256191.16800000003 +16-12-2019 02:00,662284.224,308287.90400000004,308287.90400000004 +16-12-2019 03:00,785051.584,365435.07200000004,365435.07200000004 +16-12-2019 04:00,894121.6640000001,416206.336,416206.336 +16-12-2019 05:00,934621.952,435058.9440000001,435058.9440000001 +16-12-2019 06:00,1001369.728,466129.44000000006,466129.44000000006 +16-12-2019 07:00,2745359.872,1277942.784,1277942.784 +16-12-2019 08:00,3025118.72,1408168.0640000002,1408168.0640000002 +16-12-2019 09:00,4533802.496,2110447.872,2110447.872 +16-12-2019 10:00,3493219.072,1626064.7680000002,1626064.7680000002 +16-12-2019 11:00,1494991.36,695906.304,695906.304 +16-12-2019 12:00,1677435.904,780832.704,780832.704 +16-12-2019 13:00,1402648.448,652921.408,652921.408 +16-12-2019 14:00,1308524.2880000002,609107.392,609107.392 +16-12-2019 15:00,2040855.04,950001.344,950001.344 +16-12-2019 16:00,2388048.896,1111617.408,1111617.408 +16-12-2019 17:00,2001765.2480000001,931805.4400000001,931805.4400000001 +16-12-2019 18:00,5356812.288000001,2493552.64,2493552.64 +16-12-2019 19:00,3632575.4880000004,1690934.4000000001,1690934.4000000001 +16-12-2019 20:00,2389450.4960000003,1112269.568,1112269.568 +16-12-2019 21:00,2345662.9760000003,1091887.104,1091887.104 +16-12-2019 22:00,1252561.536,583057.152,583057.152 +16-12-2019 23:00,416247.00800000003,193759.6,193759.6 +17-12-2019 00:00,419056.928,195067.568,195067.568 +17-12-2019 01:00,425770.65599999996,198192.784,198192.784 +17-12-2019 02:00,446792.22400000005,207978.12800000003,207978.12800000003 +17-12-2019 03:00,499987.808,232740.208,232740.208 +17-12-2019 04:00,683374.656,318105.34400000004,318105.34400000004 +17-12-2019 05:00,760426.6880000001,353972.416,353972.416 +17-12-2019 06:00,861918.72,401216.128,401216.128 +17-12-2019 07:00,2366712.0640000002,1101685.1199999999,1101685.1199999999 +17-12-2019 08:00,2807436.544,1306838.784,1306838.784 +17-12-2019 09:00,4251025.408,1978817.7920000004,1978817.7920000004 +17-12-2019 10:00,3045404.416,1417610.8800000001,1417610.8800000001 +17-12-2019 11:00,1137283.456,529396.128,529396.128 +17-12-2019 12:00,1322206.4640000002,615476.2880000001,615476.2880000001 +17-12-2019 13:00,871516.224,405683.68,405683.68 +17-12-2019 14:00,882497.536,410795.42400000006,410795.42400000006 +17-12-2019 15:00,1577809.536,734457.4720000001,734457.4720000001 +17-12-2019 16:00,1896534.9120000002,882821.568,882821.568 +17-12-2019 17:00,1547999.36,720581.1200000001,720581.1200000001 +17-12-2019 18:00,5073060.864,2361468.672,2361468.672 +17-12-2019 19:00,3047738.112,1418697.216,1418697.216 +17-12-2019 20:00,2152129.7920000004,1001798.8480000001,1001798.8480000001 +17-12-2019 21:00,2244363.008,1044732.736,1044732.736 +17-12-2019 22:00,1215350.784,565735.872,565735.872 +17-12-2019 23:00,405045.632,188545.424,188545.424 +18-12-2019 00:00,397145.184,184867.84,184867.84 +18-12-2019 01:00,398263.07200000004,185388.24,185388.24 +18-12-2019 02:00,398662.304,185574.048,185574.048 +18-12-2019 03:00,408810.72000000003,190298.064,190298.064 +18-12-2019 04:00,602902.656,280646.27200000006,280646.27200000006 +18-12-2019 05:00,713578.6240000001,332165.02400000003,332165.02400000003 +18-12-2019 06:00,877275.904,408364.80000000005,408364.80000000005 +18-12-2019 07:00,2374883.5840000003,1105489.024,1105489.024 +18-12-2019 08:00,2919679.2320000003,1359086.976,1359086.976 +18-12-2019 09:00,4378681.344,2038240.384,2038240.384 +18-12-2019 10:00,3335305.472,1552557.6960000002,1552557.6960000002 +18-12-2019 11:00,1316795.776,612957.696,612957.696 +18-12-2019 12:00,1549544.0640000002,721300.096,721300.096 +18-12-2019 13:00,1239766.784,577101.376,577101.376 +18-12-2019 14:00,1203332.864,560141.696,560141.696 +18-12-2019 15:00,1973952.0,918858.368,918858.368 +18-12-2019 16:00,2338689.536,1088640.8960000002,1088640.8960000002 +18-12-2019 17:00,2028073.9840000002,944051.968,944051.968 +18-12-2019 18:00,5375280.640000001,2502149.12,2502149.12 +18-12-2019 19:00,3641102.8479999998,1694903.5520000001,1694903.5520000001 +18-12-2019 20:00,2355092.736,1096276.4800000002,1096276.4800000002 +18-12-2019 21:00,2312541.696,1076469.1199999999,1076469.1199999999 +18-12-2019 22:00,1237161.472,575888.64,575888.64 +18-12-2019 23:00,411997.152,191781.328,191781.328 +19-12-2019 00:00,405050.336,188547.64800000002,188547.64800000002 +19-12-2019 01:00,390163.328,181617.85600000003,181617.85600000003 +19-12-2019 02:00,384468.992,178967.184,178967.184 +19-12-2019 03:00,392495.232,182703.328,182703.328 +19-12-2019 04:00,562266.816,261730.608,261730.608 +19-12-2019 05:00,640836.736,298304.288,298304.288 +19-12-2019 06:00,767364.224,357201.76,357201.76 +19-12-2019 07:00,2228304.384,1037257.408,1037257.408 +19-12-2019 08:00,2790407.936,1298912.128,1298912.128 +19-12-2019 09:00,4239387.392,1973400.448,1973400.448 +19-12-2019 10:00,2991963.904,1392734.72,1392734.72 +19-12-2019 11:00,1085750.4000000001,505407.90400000004,505407.90400000004 +19-12-2019 12:00,1273177.0880000002,592653.5040000001,592653.5040000001 +19-12-2019 13:00,982465.344,457329.60000000003,457329.60000000003 +19-12-2019 14:00,899756.6720000001,418829.34400000004,418829.34400000004 +19-12-2019 15:00,1607034.2400000002,748061.2480000001,748061.2480000001 +19-12-2019 16:00,1889251.7120000003,879431.2320000001,879431.2320000001 +19-12-2019 17:00,1585593.216,738080.704,738080.704 +19-12-2019 18:00,5010135.04,2332176.896,2332176.896 +19-12-2019 19:00,2929505.7920000004,1363661.056,1363661.056 +19-12-2019 20:00,1921672.0640000002,894522.752,894522.752 +19-12-2019 21:00,1886499.456,878150.0800000001,878150.0800000001 +19-12-2019 22:00,1024388.2880000002,476844.384,476844.384 +19-12-2019 23:00,332612.16000000003,154828.25600000002,154828.25600000002 +20-12-2019 00:00,329358.912,153313.872,153313.872 +20-12-2019 01:00,326815.136,152129.792,152129.792 +20-12-2019 02:00,325736.896,151627.872,151627.872 +20-12-2019 03:00,327517.728,152456.816,152456.816 +20-12-2019 04:00,334413.152,155666.592,155666.592 +20-12-2019 05:00,424992.22400000005,197830.40000000002,197830.40000000002 +20-12-2019 06:00,557731.712,259619.55200000003,259619.55200000003 +20-12-2019 07:00,1848843.008,860621.376,860621.376 +20-12-2019 08:00,2530264.5760000004,1177817.472,1177817.472 +20-12-2019 09:00,3992581.376,1858514.0480000002,1858514.0480000002 +20-12-2019 10:00,2601854.72,1211142.144,1211142.144 +20-12-2019 11:00,1005404.0960000001,468007.42400000006,468007.42400000006 +20-12-2019 12:00,1258200.96,585682.304,585682.304 +20-12-2019 13:00,984101.76,458091.29600000003,458091.29600000003 +20-12-2019 14:00,849940.0320000001,395640.128,395640.128 +20-12-2019 15:00,1597435.0080000001,743592.96,743592.96 +20-12-2019 16:00,1907704.704,888020.928,888020.928 +20-12-2019 17:00,1598606.72,744138.368,744138.368 +20-12-2019 18:00,5013402.112,2333697.7920000004,2333697.7920000004 +20-12-2019 19:00,2923686.4000000004,1360952.192,1360952.192 +20-12-2019 20:00,2048284.8,953459.7760000001,953459.7760000001 +20-12-2019 21:00,2040346.1120000002,949764.352,949764.352 +20-12-2019 22:00,1091714.304,508184.128,508184.128 +20-12-2019 23:00,352447.61600000004,164061.50400000002,164061.50400000002 +21-12-2019 00:00,357977.60000000003,166635.664,166635.664 +21-12-2019 01:00,360660.96,167884.73600000003,167884.73600000003 +21-12-2019 02:00,373636.096,173924.576,173924.576 +21-12-2019 03:00,372011.10400000005,173168.144,173168.144 +21-12-2019 04:00,437338.62400000007,203577.55200000003,203577.55200000003 +21-12-2019 05:00,595983.2320000001,277425.344,277425.344 +21-12-2019 06:00,725044.8,337502.43200000003,337502.43200000003 +21-12-2019 07:00,1437061.2480000001,668940.352,668940.352 +21-12-2019 08:00,2787632.1280000005,1297619.968,1297619.968 +21-12-2019 09:00,5421728.768,2523770.624,2523770.624 +21-12-2019 10:00,5076391.936000001,2363019.264,2363019.264 +21-12-2019 11:00,2415947.776,1124603.9039999999,1124603.9039999999 +21-12-2019 12:00,2137225.344,994860.8640000001,994860.8640000001 +21-12-2019 13:00,1498418.432,697501.568,697501.568 +21-12-2019 14:00,1403001.7280000001,653085.888,653085.888 +21-12-2019 15:00,2021829.504,941145.0880000001,941145.0880000001 +21-12-2019 16:00,2111662.08,982961.408,982961.408 +21-12-2019 17:00,2141817.344,996998.4640000002,996998.4640000002 +21-12-2019 18:00,2176456.4480000003,1013122.752,1013122.752 +21-12-2019 19:00,2168066.304,1009217.2800000001,1009217.2800000001 +21-12-2019 20:00,2203158.0160000003,1025552.128,1025552.128 +21-12-2019 21:00,1709198.4640000002,795617.92,795617.92 +21-12-2019 22:00,767900.608,357451.488,357451.488 +21-12-2019 23:00,437887.808,203833.21600000001,203833.21600000001 +22-12-2019 00:00,428200.576,199323.872,199323.872 +22-12-2019 01:00,441356.16,205447.68000000002,205447.68000000002 +22-12-2019 02:00,441999.74400000006,205747.31200000003,205747.31200000003 +22-12-2019 03:00,541775.552,252192.11200000002,252192.11200000002 +22-12-2019 04:00,621439.424,289274.97599999997,289274.97599999997 +22-12-2019 05:00,699014.8480000001,325385.728,325385.728 +22-12-2019 06:00,777729.0240000001,362026.49600000004,362026.49600000004 +22-12-2019 07:00,1454094.72,676869.2480000001,676869.2480000001 +22-12-2019 08:00,2756728.0640000002,1283234.432,1283234.432 +22-12-2019 09:00,5442169.3440000005,2533285.376,2533285.376 +22-12-2019 10:00,4992376.32,2323910.656,2323910.656 +22-12-2019 11:00,2398096.384,1116294.272,1116294.272 +22-12-2019 12:00,2161984.256,1006386.0480000001,1006386.0480000001 +22-12-2019 13:00,1477899.2640000002,687950.0800000001,687950.0800000001 +22-12-2019 14:00,1370594.816,638000.704,638000.704 +22-12-2019 15:00,1974121.472,918937.408,918937.408 +22-12-2019 16:00,2097988.864,976596.608,976596.608 +22-12-2019 17:00,2148918.5280000004,1000303.936,1000303.936 +22-12-2019 18:00,2147365.632,999581.184,999581.184 +22-12-2019 19:00,2152342.784,1001897.9199999999,1001897.9199999999 +22-12-2019 20:00,2150881.536,1001217.8560000001,1001217.8560000001 +22-12-2019 21:00,1680807.4239999999,782402.176,782402.176 +22-12-2019 22:00,770158.272,358502.4,358502.4 +22-12-2019 23:00,443602.88,206493.53600000002,206493.53600000002 +23-12-2019 00:00,439665.952,204660.928,204660.928 +23-12-2019 01:00,428145.76,199298.38400000002,199298.38400000002 +23-12-2019 02:00,431943.71200000006,201066.25600000002,201066.25600000002 +23-12-2019 03:00,519810.752,241967.64800000002,241967.64800000002 +23-12-2019 04:00,603267.648,280816.192,280816.192 +23-12-2019 05:00,686935.552,319762.88,319762.88 +23-12-2019 06:00,788634.0480000001,367102.72000000003,367102.72000000003 +23-12-2019 07:00,2218330.8800000004,1032614.912,1032614.912 +23-12-2019 08:00,2813317.632,1309576.448,1309576.448 +23-12-2019 09:00,4294048.768,1998844.9280000003,1998844.9280000003 +23-12-2019 10:00,3159486.208,1470715.0080000001,1470715.0080000001 +23-12-2019 11:00,1262793.216,587819.904,587819.904 +23-12-2019 12:00,1473124.352,685727.36,685727.36 +23-12-2019 13:00,1206789.376,561750.656,561750.656 +23-12-2019 14:00,1051100.864,489278.84800000006,489278.84800000006 +23-12-2019 15:00,1800535.936,838134.784,838134.784 +23-12-2019 16:00,2127989.12,990561.536,990561.536 +23-12-2019 17:00,1764674.816,821441.7280000001,821441.7280000001 +23-12-2019 18:00,5182631.936000001,2412472.832,2412472.832 +23-12-2019 19:00,3111399.936,1448331.392,1448331.392 +23-12-2019 20:00,2173950.464,1011956.16,1011956.16 +23-12-2019 21:00,2143423.104,997746.112,997746.112 +23-12-2019 22:00,1150201.0880000002,535409.184,535409.184 +23-12-2019 23:00,390681.12000000005,181858.88,181858.88 +24-12-2019 00:00,390275.64800000004,181670.12800000003,181670.12800000003 +24-12-2019 01:00,394550.01600000006,183659.776,183659.776 +24-12-2019 02:00,392005.28,182475.264,182475.264 +24-12-2019 03:00,391828.896,182393.168,182393.168 +24-12-2019 04:00,558629.6320000001,260037.56800000003,260037.56800000003 +24-12-2019 05:00,689955.8400000001,321168.832,321168.832 +24-12-2019 06:00,806510.7200000001,375424.16000000003,375424.16000000003 +24-12-2019 07:00,2267564.544,1055532.8,1055532.8 +24-12-2019 08:00,2859369.472,1331013.12,1331013.12 +24-12-2019 09:00,4366329.344,2032490.6239999998,2032490.6239999998 +24-12-2019 10:00,3241444.0960000004,1508865.7920000001,1508865.7920000001 +24-12-2019 11:00,1239084.416,576783.7440000001,576783.7440000001 +24-12-2019 12:00,1438759.168,669730.6240000001,669730.6240000001 +24-12-2019 13:00,1126398.4640000002,524329.344,524329.344 +24-12-2019 14:00,1077937.152,501771.00800000003,501771.00800000003 +24-12-2019 15:00,1773903.488,825737.6000000001,825737.6000000001 +24-12-2019 16:00,2074901.7600000002,965849.792,965849.792 +24-12-2019 17:00,1714597.888,798131.3280000001,798131.3280000001 +24-12-2019 18:00,5097572.864,2372878.592,2372878.592 +24-12-2019 19:00,3033901.056,1412256.128,1412256.128 +24-12-2019 20:00,2049909.7600000002,954216.192,954216.192 +24-12-2019 21:00,2030649.856,945251.008,945251.008 +24-12-2019 22:00,1092414.336,508509.952,508509.952 +24-12-2019 23:00,353970.784,164770.51200000002,164770.51200000002 +25-12-2019 00:00,348354.81600000005,162156.32,162156.32 +25-12-2019 01:00,353381.05600000004,164496.016,164496.016 +25-12-2019 02:00,355626.112,165541.056,165541.056 +25-12-2019 03:00,358680.064,166962.65600000002,166962.65600000002 +25-12-2019 04:00,408504.576,190155.53600000002,190155.53600000002 +25-12-2019 05:00,559776.64,260571.44,260571.44 +25-12-2019 06:00,695655.616,323822.01600000006,323822.01600000006 +25-12-2019 07:00,2110803.072,982561.6000000001,982561.6000000001 +25-12-2019 08:00,2743331.328,1276998.4000000001,1276998.4000000001 +25-12-2019 09:00,4254022.144,1980212.4800000002,1980212.4800000002 +25-12-2019 10:00,2761579.2640000004,1285492.736,1285492.736 +25-12-2019 11:00,908829.8880000002,423052.9280000001,423052.9280000001 +25-12-2019 12:00,1298140.2880000002,604273.728,604273.728 +25-12-2019 13:00,1137545.6,529518.208,529518.208 +25-12-2019 14:00,1145292.544,533124.3200000001,533124.3200000001 +25-12-2019 15:00,1800578.5600000003,838154.496,838154.496 +25-12-2019 16:00,2131764.608,992319.04,992319.04 +25-12-2019 17:00,1816758.656,845686.336,845686.336 +25-12-2019 18:00,5195954.176,2418674.1760000004,2418674.1760000004 +25-12-2019 19:00,3195781.632,1487610.112,1487610.112 +25-12-2019 20:00,2201084.416,1024586.8160000001,1024586.8160000001 +25-12-2019 21:00,2171473.1520000002,1010803.008,1010803.008 +25-12-2019 22:00,1173714.432,546354.5599999999,546354.5599999999 +25-12-2019 23:00,398030.75200000004,185280.064,185280.064 +26-12-2019 00:00,384751.36000000004,179098.608,179098.608 +26-12-2019 01:00,383089.05600000004,178324.816,178324.816 +26-12-2019 02:00,387622.304,180435.024,180435.024 +26-12-2019 03:00,393121.40800000005,182994.83200000002,182994.83200000002 +26-12-2019 04:00,566367.552,263639.456,263639.456 +26-12-2019 05:00,679242.2400000001,316181.728,316181.728 +26-12-2019 06:00,875231.4240000001,407413.05600000004,407413.05600000004 +26-12-2019 07:00,2341902.08,1090136.192,1090136.192 +26-12-2019 08:00,2941602.816,1369292.0320000001,1369292.0320000001 +26-12-2019 09:00,4416122.88,2055669.3760000002,2055669.3760000002 +26-12-2019 10:00,3340480.0,1554966.272,1554966.272 +26-12-2019 11:00,1426234.2400000002,663900.4160000001,663900.4160000001 +26-12-2019 12:00,1660701.1840000001,773042.752,773042.752 +26-12-2019 13:00,1382183.168,643394.9440000001,643394.9440000001 +26-12-2019 14:00,1301252.736,605722.496,605722.496 +26-12-2019 15:00,2026100.608,943133.184,943133.184 +26-12-2019 16:00,2350671.616,1094218.496,1094218.496 +26-12-2019 17:00,1981811.968,922517.3119999999,922517.3119999999 +26-12-2019 18:00,5343578.112,2487392.256,2487392.256 +26-12-2019 19:00,3678533.8880000003,1712327.6800000002,1712327.6800000002 +26-12-2019 20:00,2392698.624,1113781.76,1113781.76 +26-12-2019 21:00,2352281.088,1094967.808,1094967.808 +26-12-2019 22:00,1274964.2240000002,593485.5040000001,593485.5040000001 +26-12-2019 23:00,426494.33600000007,198529.632,198529.632 +27-12-2019 00:00,416984.19200000004,194102.73600000003,194102.73600000003 +27-12-2019 01:00,415505.47200000007,193414.40000000002,193414.40000000002 +27-12-2019 02:00,411959.776,191763.92,191763.92 +27-12-2019 03:00,475862.464,221510.11200000002,221510.11200000002 +27-12-2019 04:00,653618.368,304253.984,304253.984 +27-12-2019 05:00,812234.1120000001,378088.416,378088.416 +27-12-2019 06:00,980035.8400000001,456198.688,456198.688 +27-12-2019 07:00,2655513.6,1236119.936,1236119.936 +27-12-2019 08:00,3173894.9120000005,1477422.208,1477422.208 +27-12-2019 09:00,4638466.5600000005,2159168.256,2159168.256 +27-12-2019 10:00,3287875.072,1530479.104,1530479.104 +27-12-2019 11:00,1198502.4000000001,557893.056,557893.056 +27-12-2019 12:00,1528300.4160000002,711411.392,711411.392 +27-12-2019 13:00,1050007.04,488769.664,488769.664 +27-12-2019 14:00,917591.2960000001,427131.2,427131.2 +27-12-2019 15:00,2073948.0320000001,965405.8880000002,965405.8880000002 +27-12-2019 16:00,2511440.128,1169055.104,1169055.104 +27-12-2019 17:00,2215664.384,1031373.76,1031373.76 +27-12-2019 18:00,5612862.464000001,2612741.8880000003,2612741.8880000003 +27-12-2019 19:00,4149749.2479999997,1931674.368,1931674.368 +27-12-2019 20:00,2845447.424,1324532.4800000002,1324532.4800000002 +27-12-2019 21:00,2774770.1760000004,1291632.7680000002,1291632.7680000002 +27-12-2019 22:00,1520986.112,708006.656,708006.656 +27-12-2019 23:00,543968.3200000001,253212.81600000002,253212.81600000002 +28-12-2019 00:00,516945.60000000003,240633.95200000002,240633.95200000002 +28-12-2019 01:00,535471.3280000001,249257.536,249257.536 +28-12-2019 02:00,777316.672,361834.56000000006,361834.56000000006 +28-12-2019 03:00,1064794.24,495652.992,495652.992 +28-12-2019 04:00,1200772.4800000002,558949.696,558949.696 +28-12-2019 05:00,1256331.136,584811.8400000001,584811.8400000001 +28-12-2019 06:00,1399974.6560000002,651676.736,651676.736 +28-12-2019 07:00,2105592.9600000004,980136.256,980136.256 +28-12-2019 08:00,3619278.592,1684744.5760000004,1684744.5760000004 +28-12-2019 09:00,6688048.640000001,3113232.1280000005,3113232.1280000005 +28-12-2019 10:00,6857431.040000001,3192078.08,3192078.08 +28-12-2019 11:00,3645192.704,1696807.168,1696807.168 +28-12-2019 12:00,3126468.0960000004,1455345.2800000003,1455345.2800000003 +28-12-2019 13:00,2336081.92,1087427.0720000002,1087427.0720000002 +28-12-2019 14:00,2146828.672,999331.2640000001,999331.2640000001 +28-12-2019 15:00,2768779.2640000004,1288844.1600000001,1288844.1600000001 +28-12-2019 16:00,2937512.9600000004,1367388.2880000002,1367388.2880000002 +28-12-2019 17:00,2956935.936,1376429.6960000002,1376429.6960000002 +28-12-2019 18:00,3009216.256,1400765.4400000002,1400765.4400000002 +28-12-2019 19:00,3018672.384,1405167.4880000001,1405167.4880000001 +28-12-2019 20:00,3021625.856,1406542.208,1406542.208 +28-12-2019 21:00,2395227.136,1114958.848,1114958.848 +28-12-2019 22:00,1109681.7920000001,516547.808,516547.808 +28-12-2019 23:00,676959.872,315119.29600000003,315119.29600000003 +29-12-2019 00:00,675193.792,314297.184,314297.184 +29-12-2019 01:00,863273.0240000001,401846.49600000004,401846.49600000004 +29-12-2019 02:00,1039160.32,483720.704,483720.704 +29-12-2019 03:00,1212048.128,564198.528,564198.528 +29-12-2019 04:00,1299460.864,604888.4480000001,604888.4480000001 +29-12-2019 05:00,1399284.0960000001,651355.264,651355.264 +29-12-2019 06:00,1504367.744,700270.976,700270.976 +29-12-2019 07:00,2248523.52,1046669.4400000001,1046669.4400000001 +29-12-2019 08:00,3677842.6880000005,1712005.6320000002,1712005.6320000002 +29-12-2019 09:00,6745273.3440000005,3139869.44,3139869.44 +29-12-2019 10:00,6989275.648000001,3253450.4960000003,3253450.4960000003 +29-12-2019 11:00,3771747.328,1755717.7600000002,1755717.7600000002 +29-12-2019 12:00,3270647.04,1522459.52,1522459.52 +29-12-2019 13:00,2459848.4480000003,1145039.4880000001,1145039.4880000001 +29-12-2019 14:00,2236412.9280000003,1041031.936,1041031.936 +29-12-2019 15:00,2822420.736,1313813.8880000003,1313813.8880000003 +29-12-2019 16:00,2953103.6160000004,1374645.76,1374645.76 +29-12-2019 17:00,2961879.808,1378731.0080000001,1378731.0080000001 +29-12-2019 18:00,3010607.6160000004,1401413.2480000001,1401413.2480000001 +29-12-2019 19:00,2995054.848,1394173.6960000002,1394173.6960000002 +29-12-2019 20:00,2951161.6,1373741.568,1373741.568 +29-12-2019 21:00,2304407.552,1072683.0080000001,1072683.0080000001 +29-12-2019 22:00,1072245.504,499121.5360000001,499121.5360000001 +29-12-2019 23:00,647614.912,301459.488,301459.488 +30-12-2019 00:00,656430.656,305563.136,305563.136 +30-12-2019 01:00,778154.2400000001,362224.44800000003,362224.44800000003 +30-12-2019 02:00,956750.0800000001,445359.36,445359.36 +30-12-2019 03:00,1078079.4880000001,501837.152,501837.152 +30-12-2019 04:00,1139807.8720000002,530571.296,530571.296 +30-12-2019 05:00,1214952.448,565550.464,565550.464 +30-12-2019 06:00,1344384.512,625800.128,625800.128 +30-12-2019 07:00,3439275.2640000004,1600954.624,1600954.624 +30-12-2019 08:00,3503903.4880000004,1631038.3360000001,1631038.3360000001 +30-12-2019 09:00,5009804.288000001,2332022.784,2332022.784 +30-12-2019 10:00,3949687.808,1838547.7120000003,1838547.7120000003 +30-12-2019 11:00,1551789.952,722345.5360000001,722345.5360000001 +30-12-2019 12:00,1787977.7280000001,832288.96,832288.96 +30-12-2019 13:00,1243010.176,578611.072,578611.072 +30-12-2019 14:00,1079328.128,502418.4,502418.4 +30-12-2019 15:00,2159536.128,1005246.4640000002,1005246.4640000002 +30-12-2019 16:00,2666795.008,1241371.392,1241371.392 +30-12-2019 17:00,2350814.72,1094285.312,1094285.312 +30-12-2019 18:00,5609131.5200000005,2611004.9280000003,2611004.9280000003 +30-12-2019 19:00,4143502.8479999998,1928766.4640000002,1928766.4640000002 +30-12-2019 20:00,2836834.5600000005,1320523.2640000002,1320523.2640000002 +30-12-2019 21:00,2763435.7760000005,1286356.736,1286356.736 +30-12-2019 22:00,1499970.176,698223.872,698223.872 +30-12-2019 23:00,512053.088,238356.544,238356.544 +31-12-2019 00:00,506382.84800000006,235717.088,235717.088 +31-12-2019 01:00,528688.224,246100.08,246100.08 +31-12-2019 02:00,686612.16,319612.352,319612.352 +31-12-2019 03:00,861710.5279999999,401119.2,401119.2 +31-12-2019 04:00,973163.2640000001,452999.55199999997,452999.55199999997 +31-12-2019 05:00,1060335.232,493577.44000000006,493577.44000000006 +31-12-2019 06:00,1184046.72,551164.032,551164.032 +31-12-2019 07:00,3202507.52,1490741.2480000001,1490741.2480000001 +31-12-2019 08:00,3505938.176,1631985.536,1631985.536 +31-12-2019 09:00,5082653.184,2365933.568,2365933.568 +31-12-2019 10:00,4130473.728,1922701.6960000002,1922701.6960000002 +31-12-2019 11:00,1867205.6320000002,869168.96,869168.96 +31-12-2019 12:00,1920820.4800000002,894126.2720000001,894126.2720000001 +31-12-2019 13:00,1564551.8080000002,728286.1440000001,728286.1440000001 +31-12-2019 14:00,1465802.112,682318.976,682318.976 +31-12-2019 15:00,2274001.92,1058529.408,1058529.408 +31-12-2019 16:00,2854613.7600000002,1328799.4880000001,1328799.4880000001 +31-12-2019 17:00,2668554.4960000003,1242190.4640000002,1242190.4640000002 +31-12-2019 18:00,5779457.024,2690289.92,2690289.92 +31-12-2019 19:00,4304352.256,2003640.8320000002,2003640.8320000002 +31-12-2019 20:00,3043618.0480000004,1416779.52,1416779.52 +31-12-2019 21:00,2794955.7760000005,1301029.2480000001,1301029.2480000001 +31-12-2019 22:00,1522389.8880000003,708660.096,708660.096 +31-12-2019 23:00,1522389.8880000003,708660.096,708660.096 diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/input/forecast_low_prob_high_dem/Warmte_test.csv b/tests/models/test_case_small_network_ates_buffer_optional_assets/input/forecast_low_prob_high_dem/Warmte_test.csv new file mode 100644 index 000000000..5ce8d6805 --- /dev/null +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/input/forecast_low_prob_high_dem/Warmte_test.csv @@ -0,0 +1,8761 @@ +DateTime,HeatingDemand_1,HeatingDemand_2,HeatingDemand_3 +1-1-2019 00:00,535492.452,249267.37000000002,249267.37000000002 +1-1-2019 01:00,535366.4360000001,249208.696,249208.696 +1-1-2019 02:00,561717.1560000001,261474.774,261474.774 +1-1-2019 03:00,786530.712,366123.626,366123.626 +1-1-2019 04:00,982654.2880000001,457417.532,457417.532 +1-1-2019 05:00,1088252.7040000001,506572.748,506572.748 +1-1-2019 06:00,1239819.064,577125.692,577125.692 +1-1-2019 07:00,3758258.944,1749438.9440000001,1749438.9440000001 +1-1-2019 08:00,4496340.640000001,2093009.776,2093009.776 +1-1-2019 09:00,6335486.784000001,2949117.424,2949117.424 +1-1-2019 10:00,5129136.32,2387570.944,2387570.944 +1-1-2019 11:00,2192267.968,1020482.8480000001,1020482.8480000001 +1-1-2019 12:00,2485031.6480000005,1156762.0240000002,1156762.0240000002 +1-1-2019 13:00,2068081.4880000004,962675.12,962675.12 +1-1-2019 14:00,1918584.448,893085.424,893085.424 +1-1-2019 15:00,2979552.5760000004,1386957.44,1386957.44 +1-1-2019 16:00,3452754.2720000003,1607228.8320000002,1607228.8320000002 +1-1-2019 17:00,2936194.096,1366774.2880000002,1366774.2880000002 +1-1-2019 18:00,7395612.928000001,3442597.3120000004,3442597.3120000004 +1-1-2019 19:00,5252472.192,2444982.848,2444982.848 +1-1-2019 20:00,3644166.24,1696329.712,1696329.712 +1-1-2019 21:00,3344619.168,1556892.8320000002,1556892.8320000002 +1-1-2019 22:00,1798161.5520000001,837029.424,837029.424 +1-1-2019 23:00,525884.7000000001,244795.056,244795.056 +2-1-2019 00:00,535492.452,249267.37000000002,249267.37000000002 +2-1-2019 01:00,535366.4360000001,249208.696,249208.696 +2-1-2019 02:00,561717.1560000001,261474.774,261474.774 +2-1-2019 03:00,786530.712,366123.626,366123.626 +2-1-2019 04:00,982654.2880000001,457417.532,457417.532 +2-1-2019 05:00,1088252.7040000001,506572.748,506572.748 +2-1-2019 06:00,1239819.064,577125.692,577125.692 +2-1-2019 07:00,3758258.944,1749438.9440000001,1749438.9440000001 +2-1-2019 08:00,4496340.640000001,2093009.776,2093009.776 +2-1-2019 09:00,6335486.784000001,2949117.424,2949117.424 +2-1-2019 10:00,5129136.32,2387570.944,2387570.944 +2-1-2019 11:00,2192267.968,1020482.8480000001,1020482.8480000001 +2-1-2019 12:00,2485031.6480000005,1156762.0240000002,1156762.0240000002 +2-1-2019 13:00,2068081.4880000004,962675.12,962675.12 +2-1-2019 14:00,1918584.448,893085.424,893085.424 +2-1-2019 15:00,2979552.5760000004,1386957.44,1386957.44 +2-1-2019 16:00,3452754.2720000003,1607228.8320000002,1607228.8320000002 +2-1-2019 17:00,2936194.096,1366774.2880000002,1366774.2880000002 +2-1-2019 18:00,7395612.928000001,3442597.3120000004,3442597.3120000004 +2-1-2019 19:00,5252472.192,2444982.848,2444982.848 +2-1-2019 20:00,3644166.24,1696329.712,1696329.712 +2-1-2019 21:00,3344619.168,1556892.8320000002,1556892.8320000002 +2-1-2019 22:00,1798161.5520000001,837029.424,837029.424 +2-1-2019 23:00,525884.7000000001,244795.056,244795.056 +3-1-2019 00:00,535492.452,249267.37000000002,249267.37000000002 +3-1-2019 01:00,535366.4360000001,249208.696,249208.696 +3-1-2019 02:00,561717.1560000001,261474.774,261474.774 +3-1-2019 03:00,786530.712,366123.626,366123.626 +3-1-2019 04:00,982654.2880000001,457417.532,457417.532 +3-1-2019 05:00,1088252.7040000001,506572.748,506572.748 +3-1-2019 06:00,1239819.064,577125.692,577125.692 +3-1-2019 07:00,3758258.944,1749438.9440000001,1749438.9440000001 +3-1-2019 08:00,4496340.640000001,2093009.776,2093009.776 +3-1-2019 09:00,6335486.784000001,2949117.424,2949117.424 +3-1-2019 10:00,5129136.32,2387570.944,2387570.944 +3-1-2019 11:00,2192267.968,1020482.8480000001,1020482.8480000001 +3-1-2019 12:00,2485031.6480000005,1156762.0240000002,1156762.0240000002 +3-1-2019 13:00,2068081.4880000004,962675.12,962675.12 +3-1-2019 14:00,1918584.448,893085.424,893085.424 +3-1-2019 15:00,2979552.5760000004,1386957.44,1386957.44 +3-1-2019 16:00,3452754.2720000003,1607228.8320000002,1607228.8320000002 +3-1-2019 17:00,2936194.096,1366774.2880000002,1366774.2880000002 +3-1-2019 18:00,7395612.928000001,3442597.3120000004,3442597.3120000004 +3-1-2019 19:00,5252472.192,2444982.848,2444982.848 +3-1-2019 20:00,3644166.24,1696329.712,1696329.712 +3-1-2019 21:00,3344619.168,1556892.8320000002,1556892.8320000002 +3-1-2019 22:00,1798161.5520000001,837029.424,837029.424 +3-1-2019 23:00,525884.7000000001,244795.056,244795.056 +4-1-2019 00:00,535492.452,249267.37000000002,249267.37000000002 +4-1-2019 01:00,535366.4360000001,249208.696,249208.696 +4-1-2019 02:00,561717.1560000001,261474.774,261474.774 +4-1-2019 03:00,786530.712,366123.626,366123.626 +4-1-2019 04:00,982654.2880000001,457417.532,457417.532 +4-1-2019 05:00,1088252.7040000001,506572.748,506572.748 +4-1-2019 06:00,1239819.064,577125.692,577125.692 +4-1-2019 07:00,3758258.944,1749438.9440000001,1749438.9440000001 +4-1-2019 08:00,4496340.640000001,2093009.776,2093009.776 +4-1-2019 09:00,6335486.784000001,2949117.424,2949117.424 +4-1-2019 10:00,5129136.32,2387570.944,2387570.944 +4-1-2019 11:00,2192267.968,1020482.8480000001,1020482.8480000001 +4-1-2019 12:00,2485031.6480000005,1156762.0240000002,1156762.0240000002 +4-1-2019 13:00,2068081.4880000004,962675.12,962675.12 +4-1-2019 14:00,1918584.448,893085.424,893085.424 +4-1-2019 15:00,2979552.5760000004,1386957.44,1386957.44 +4-1-2019 16:00,3452754.2720000003,1607228.8320000002,1607228.8320000002 +4-1-2019 17:00,2936194.096,1366774.2880000002,1366774.2880000002 +4-1-2019 18:00,7395612.928000001,3442597.3120000004,3442597.3120000004 +4-1-2019 19:00,5252472.192,2444982.848,2444982.848 +4-1-2019 20:00,3644166.24,1696329.712,1696329.712 +4-1-2019 21:00,3344619.168,1556892.8320000002,1556892.8320000002 +4-1-2019 22:00,1798161.5520000001,837029.424,837029.424 +4-1-2019 23:00,525884.7000000001,244795.056,244795.056 +5-1-2019 00:00,514161.56,239338.022,239338.022 +5-1-2019 01:00,516340.92400000006,240352.48600000003,240352.48600000003 +5-1-2019 02:00,506556.732,235798.024,235798.024 +5-1-2019 03:00,525890.596,244797.806,244797.806 +5-1-2019 04:00,745064.8480000001,346821.596,346821.596 +5-1-2019 05:00,892711.5120000001,415549.90400000004,415549.90400000004 +5-1-2019 06:00,1002494.5040000001,466653.00000000006,466653.00000000006 +5-1-2019 07:00,1960978.976,912819.6880000001,912819.6880000001 +5-1-2019 08:00,3877608.0640000007,1804994.928,1804994.928 +5-1-2019 09:00,7824049.728000001,3642031.3600000003,3642031.3600000003 +5-1-2019 10:00,8037313.152000001,3741303.4560000002,3741303.4560000002 +5-1-2019 11:00,3622778.3680000002,1686373.9200000002,1686373.9200000002 +5-1-2019 12:00,3341242.08,1555320.8,1555320.8 +5-1-2019 13:00,2420536.2720000003,1126740.0320000001,1126740.0320000001 +5-1-2019 14:00,2215874.848,1031471.584,1031471.584 +5-1-2019 15:00,3054708.4480000003,1421941.84,1421941.84 +5-1-2019 16:00,3277631.808,1525711.0880000002,1525711.0880000002 +5-1-2019 17:00,3287979.2,1530527.504,1530527.504 +5-1-2019 18:00,3333569.8880000003,1551749.584,1551749.584 +5-1-2019 19:00,3369320.416,1568391.2640000002,1568391.2640000002 +5-1-2019 20:00,3386896.128,1576572.448,1576572.448 +5-1-2019 21:00,2661797.424,1239045.016,1239045.016 +5-1-2019 22:00,1151550.4000000001,536037.304,536037.304 +5-1-2019 23:00,646378.172,300883.77,300883.77 +6-1-2019 00:00,644494.532,300006.938,300006.938 +6-1-2019 01:00,640613.16,298200.166,298200.166 +6-1-2019 02:00,691772.356,322014.396,322014.396 +6-1-2019 03:00,871549.0080000001,405699.0080000001,405699.0080000001 +6-1-2019 04:00,1012298.3200000001,471216.548,471216.548 +6-1-2019 05:00,1097625.232,510935.612,510935.612 +6-1-2019 06:00,1212535.192,564425.224,564425.224 +6-1-2019 07:00,2148808.112,1000252.7040000001,1000252.7040000001 +6-1-2019 08:00,4059744.48,1889777.8240000003,1889777.8240000003 +6-1-2019 09:00,8056230.336,3750109.7920000004,3750109.7920000004 +6-1-2019 10:00,8116262.528000001,3778054.3680000002,3778054.3680000002 +6-1-2019 11:00,3704752.8320000004,1724532.128,1724532.128 +6-1-2019 12:00,3422089.44,1592954.8800000001,1592954.8800000001 +6-1-2019 13:00,2453054.5600000005,1141876.9120000002,1141876.9120000002 +6-1-2019 14:00,2244814.3520000004,1044942.7120000002,1044942.7120000002 +6-1-2019 15:00,3141338.4640000006,1462267.4000000001,1462267.4000000001 +6-1-2019 16:00,3319952.416,1545410.768,1545410.768 +6-1-2019 17:00,3350721.0880000005,1559733.2960000003,1559733.2960000003 +6-1-2019 18:00,3367778.3040000005,1567673.3600000003,1567673.3600000003 +6-1-2019 19:00,3384314.5600000005,1575370.72,1575370.72 +6-1-2019 20:00,3382319.072,1574441.7920000001,1574441.7920000001 +6-1-2019 21:00,2656796.5600000005,1236717.1520000002,1236717.1520000002 +6-1-2019 22:00,1200894.112,559006.4480000001,559006.4480000001 +6-1-2019 23:00,703183.4480000001,327326.20800000004,327326.20800000004 +7-1-2019 00:00,746075.9680000001,347292.264,347292.264 +7-1-2019 01:00,799019.056,371936.8400000001,371936.8400000001 +7-1-2019 02:00,1033488.192,481080.292,481080.292 +7-1-2019 03:00,1219315.328,567581.344,567581.344 +7-1-2019 04:00,1318120.2320000003,613574.2800000001,613574.2800000001 +7-1-2019 05:00,1318768.44,613875.988,613875.988 +7-1-2019 06:00,1375823.6800000002,640434.652,640434.652 +7-1-2019 07:00,3950025.024,1838704.384,1838704.384 +7-1-2019 08:00,4362695.04,2030798.8800000001,2030798.8800000001 +7-1-2019 09:00,6298894.976000001,2932084.1440000003,2932084.1440000003 +7-1-2019 10:00,4950104.192,2304233.3600000003,2304233.3600000003 +7-1-2019 11:00,2048539.504,953578.384,953578.384 +7-1-2019 12:00,2307869.344,1074294.408,1074294.408 +7-1-2019 13:00,1875050.6720000003,872820.784,872820.784 +7-1-2019 14:00,1704586.2240000002,793470.92,793470.92 +7-1-2019 15:00,2723417.8400000003,1267728.7920000001,1267728.7920000001 +7-1-2019 16:00,3205263.424,1492023.9840000002,1492023.9840000002 +7-1-2019 17:00,2713086.64,1262919.6800000002,1262919.6800000002 +7-1-2019 18:00,7324088.640000001,3409303.7440000004,3409303.7440000004 +7-1-2019 19:00,5024348.384000001,2338793.072,2338793.072 +7-1-2019 20:00,3155615.936,1468913.424,1468913.424 +7-1-2019 21:00,3026175.328,1408660.0880000002,1408660.0880000002 +7-1-2019 22:00,1564409.7920000001,728220.152,728220.152 +7-1-2019 23:00,513224.75600000005,238901.938,238901.938 +8-1-2019 00:00,518437.30400000006,241328.34000000003,241328.34000000003 +8-1-2019 01:00,521460.50000000006,242735.614,242735.614 +8-1-2019 02:00,522590.5080000001,243261.61200000002,243261.61200000002 +8-1-2019 03:00,533856.268,248505.73,248505.73 +8-1-2019 04:00,744195.584,346416.994,346416.994 +8-1-2019 05:00,930026.5040000001,432919.74000000005,432919.74000000005 +8-1-2019 06:00,1153511.568,536950.216,536950.216 +8-1-2019 07:00,3269495.328,1521923.392,1521923.392 +8-1-2019 08:00,4004607.9040000006,1864112.272,1864112.272 +8-1-2019 09:00,6010844.928000001,2797998.72,2797998.72 +8-1-2019 10:00,4567564.672,2126164.128,2126164.128 +8-1-2019 11:00,1786080.5600000003,831405.9600000001,831405.9600000001 +8-1-2019 12:00,2186861.6,1017966.224,1017966.224 +8-1-2019 13:00,1806086.304,840718.384,840718.384 +8-1-2019 14:00,1694553.168,788800.6720000001,788800.6720000001 +8-1-2019 15:00,2714048.656,1263367.424,1263367.424 +8-1-2019 16:00,3205353.1840000004,1492065.8720000002,1492065.8720000002 +8-1-2019 17:00,2706385.968,1259800.6080000002,1259800.6080000002 +8-1-2019 18:00,7334379.008000001,3414093.408,3414093.408 +8-1-2019 19:00,5040374.592,2346253.1840000004,2346253.1840000004 +8-1-2019 20:00,3330710.944,1550418.848,1550418.848 +8-1-2019 21:00,3318930.5600000005,1544935.04,1544935.04 +8-1-2019 22:00,1817892.208,846213.984,846213.984 +8-1-2019 23:00,579096.1000000001,269564.46,269564.46 +9-1-2019 00:00,607935.768,282989.168,282989.168 +9-1-2019 01:00,590462.4440000001,274855.46,274855.46 +9-1-2019 02:00,610808.1760000001,284326.24,284326.24 +9-1-2019 03:00,799076.0800000001,371963.416,371963.416 +9-1-2019 04:00,1073856.256,499871.32800000004,499871.32800000004 +9-1-2019 05:00,1208493.176,562543.696,562543.696 +9-1-2019 06:00,1385472.5280000002,644926.2160000001,644926.2160000001 +9-1-2019 07:00,3787116.9600000004,1762872.144,1762872.144 +9-1-2019 08:00,4368410.464000001,2033459.4720000003,2033459.4720000003 +9-1-2019 09:00,6369903.232000001,2965137.824,2965137.824 +9-1-2019 10:00,4934770.368000001,2297095.1520000002,2297095.1520000002 +9-1-2019 11:00,2114513.4560000002,984288.8,984288.8 +9-1-2019 12:00,2383420.16,1109462.6400000001,1109462.6400000001 +9-1-2019 13:00,1864554.384,867934.9360000001,867934.9360000001 +9-1-2019 14:00,1641832.192,764259.496,764259.496 +9-1-2019 15:00,2863411.2320000003,1332894.5520000001,1332894.5520000001 +9-1-2019 16:00,3415502.816,1589888.6080000002,1589888.6080000002 +9-1-2019 17:00,2975152.5760000004,1384909.24,1384909.24 +9-1-2019 18:00,7533691.968,3506872.1600000006,3506872.1600000006 +9-1-2019 19:00,5431897.152000001,2528503.6480000005,2528503.6480000005 +9-1-2019 20:00,3656553.1200000006,1702095.648,1702095.648 +9-1-2019 21:00,3517655.68,1637439.9360000002,1637439.9360000002 +9-1-2019 22:00,1899218.6400000001,884070.792,884070.792 +9-1-2019 23:00,640255.4400000001,298033.692,298033.692 +10-1-2019 00:00,635561.0360000001,295848.476,295848.476 +10-1-2019 01:00,650060.4440000001,302597.856,302597.856 +10-1-2019 02:00,754465.888,351197.68200000003,351197.68200000003 +10-1-2019 03:00,1190370.6320000002,554107.796,554107.796 +10-1-2019 04:00,1359761.568,632957.8640000001,632957.8640000001 +10-1-2019 05:00,1467180.0880000002,682960.344,682960.344 +10-1-2019 06:00,1627971.1360000002,757807.2480000001,757807.2480000001 +10-1-2019 07:00,4316066.3040000005,2009093.504,2009093.504 +10-1-2019 08:00,4646168.032000001,2162753.472,2162753.472 +10-1-2019 09:00,6682339.136,3110574.0160000003,3110574.0160000003 +10-1-2019 10:00,5456929.28,2540155.9040000006,2540155.9040000006 +10-1-2019 11:00,2492492.112,1160234.6800000002,1160234.6800000002 +10-1-2019 12:00,2717482.944,1264966.12,1264966.12 +10-1-2019 13:00,2200108.24,1024132.3840000001,1024132.3840000001 +10-1-2019 14:00,2038101.4720000003,948719.728,948719.728 +10-1-2019 15:00,3135811.008,1459694.6320000002,1459694.6320000002 +10-1-2019 16:00,3662953.8880000003,1705074.976,1705074.976 +10-1-2019 17:00,3245794.816,1510891.0080000001,1510891.0080000001 +10-1-2019 18:00,7699552.256000001,3584078.4320000005,3584078.4320000005 +10-1-2019 19:00,5712081.408000001,2658927.2160000005,2658927.2160000005 +10-1-2019 20:00,4085838.24,1901924.2880000002,1901924.2880000002 +10-1-2019 21:00,3754400.3200000003,1747642.864,1747642.864 +10-1-2019 22:00,2017300.0320000004,939036.736,939036.736 +10-1-2019 23:00,668134.852,311011.33800000005,311011.33800000005 +11-1-2019 00:00,651069.2320000001,303067.38,303067.38 +11-1-2019 01:00,645775.196,300603.094,300603.094 +11-1-2019 02:00,654903.3040000001,304852.13,304852.13 +11-1-2019 03:00,1029564.3600000001,479253.8520000001,479253.8520000001 +11-1-2019 04:00,1181661.8,550053.9,550053.9 +11-1-2019 05:00,1245822.0720000002,579920.0,579920.0 +11-1-2019 06:00,1378704.976,641775.9480000001,641775.9480000001 +11-1-2019 07:00,3827744.8000000003,1781784.0480000002,1781784.0480000002 +11-1-2019 08:00,4269446.720000001,1987392.7040000001,1987392.7040000001 +11-1-2019 09:00,6320691.5200000005,2942230.0160000003,2942230.0160000003 +11-1-2019 10:00,4881028.768,2272078.688,2272078.688 +11-1-2019 11:00,2118757.6960000005,986264.488,986264.488 +11-1-2019 12:00,2364418.4960000003,1100617.584,1100617.584 +11-1-2019 13:00,1985881.7440000002,924411.752,924411.752 +11-1-2019 14:00,1786754.816,831719.768,831719.768 +11-1-2019 15:00,2875719.6160000004,1338624.144,1338624.144 +11-1-2019 16:00,3358472.8320000004,1563341.648,1563341.648 +11-1-2019 17:00,2869272.912,1335622.992,1335622.992 +11-1-2019 18:00,7444876.032000001,3465529.0560000003,3465529.0560000003 +11-1-2019 19:00,5316081.408000001,2474592.5600000005,2474592.5600000005 +11-1-2019 20:00,3651952.48,1699954.08,1699954.08 +11-1-2019 21:00,3416986.1440000003,1590579.2320000003,1590579.2320000003 +11-1-2019 22:00,1815418.8800000001,845062.6800000002,845062.6800000002 +11-1-2019 23:00,598946.832,278804.9,278804.9 +12-1-2019 00:00,588904.932,274130.472,274130.472 +12-1-2019 01:00,587988.192,273703.716,273703.716 +12-1-2019 02:00,582359.844,271083.71400000004,271083.71400000004 +12-1-2019 03:00,711802.432,331338.23800000007,331338.23800000007 +12-1-2019 04:00,933725.9360000001,434641.81200000003,434641.81200000003 +12-1-2019 05:00,1118294.8480000002,520557.092,520557.092 +12-1-2019 06:00,1261372.376,587158.572,587158.572 +12-1-2019 07:00,2197478.8000000003,1022908.4800000001,1022908.4800000001 +12-1-2019 08:00,4083641.4080000003,1900901.7280000001,1900901.7280000001 +12-1-2019 09:00,7991108.224,3719795.552,3719795.552 +12-1-2019 10:00,7927236.416,3690064.5760000004,3690064.5760000004 +12-1-2019 11:00,3767558.7840000005,1753768.0160000003,1753768.0160000003 +12-1-2019 12:00,3429662.7200000007,1596480.1600000001,1596480.1600000001 +12-1-2019 13:00,2401272.3680000002,1117772.656,1117772.656 +12-1-2019 14:00,2131352.4320000005,992127.136,992127.136 +12-1-2019 15:00,3052013.8880000003,1420687.5760000001,1420687.5760000001 +12-1-2019 16:00,3240212.4480000003,1508292.368,1508292.368 +12-1-2019 17:00,3256958.4960000003,1516087.584,1516087.584 +12-1-2019 18:00,3279595.9680000003,1526625.2320000003,1526625.2320000003 +12-1-2019 19:00,3282232.4480000003,1527852.304,1527852.304 +12-1-2019 20:00,3266221.3760000006,1520399.2320000003,1520399.2320000003 +12-1-2019 21:00,2531800.656,1178532.52,1178532.52 +12-1-2019 22:00,1113726.592,518430.66000000003,518430.66000000003 +12-1-2019 23:00,639367.564,297620.4,297620.4 +13-1-2019 00:00,624598.04,290745.26800000004,290745.26800000004 +13-1-2019 01:00,630065.832,293290.44800000003,293290.44800000003 +13-1-2019 02:00,625604.2760000001,291213.64800000004,291213.64800000004 +13-1-2019 03:00,823087.2320000001,383140.3400000001,383140.3400000001 +13-1-2019 04:00,933691.9680000001,434626.01600000006,434626.01600000006 +13-1-2019 05:00,1020303.4160000002,474942.90800000005,474942.90800000005 +13-1-2019 06:00,1099883.928,511987.0360000001,511987.0360000001 +13-1-2019 07:00,2019648.928,940130.224,940130.224 +13-1-2019 08:00,3878900.608,1805596.4960000003,1805596.4960000003 +13-1-2019 09:00,7617819.264,3546032.512,3546032.512 +13-1-2019 10:00,7124421.568000001,3316360.256,3316360.256 +13-1-2019 11:00,3408319.9040000006,1586545.1360000002,1586545.1360000002 +13-1-2019 12:00,3113215.7760000005,1449176.52,1449176.52 +13-1-2019 13:00,2133015.1040000003,992901.096,992901.096 +13-1-2019 14:00,1903642.0480000002,886129.8160000001,886129.8160000001 +13-1-2019 15:00,2801731.1520000002,1304183.056,1304183.056 +13-1-2019 16:00,2968245.632,1381694.1600000001,1381694.1600000001 +13-1-2019 17:00,2964188.128,1379805.4160000002,1379805.4160000002 +13-1-2019 18:00,3152998.4640000006,1467695.1520000002,1467695.1520000002 +13-1-2019 19:00,3098050.208,1442117.0720000002,1442117.0720000002 +13-1-2019 20:00,3102251.328,1444072.784,1444072.784 +13-1-2019 21:00,2396399.4560000002,1115504.368,1115504.368 +13-1-2019 22:00,1068075.536,497180.42000000004,497180.42000000004 +13-1-2019 23:00,617112.9360000001,287261.04000000004,287261.04000000004 +14-1-2019 00:00,610714.236,284282.482,284282.482 +14-1-2019 01:00,649873.7960000001,302511.0,302511.0 +14-1-2019 02:00,667822.2760000001,310865.8080000001,310865.8080000001 +14-1-2019 03:00,864895.5040000001,402601.80400000006,402601.80400000006 +14-1-2019 04:00,997064.728,464125.5080000001,464125.5080000001 +14-1-2019 05:00,1134364.968,528037.6200000001,528037.6200000001 +14-1-2019 06:00,1286340.7920000001,598781.128,598781.128 +14-1-2019 07:00,3525447.2,1641066.9440000001,1641066.9440000001 +14-1-2019 08:00,4183027.552,1947165.2640000002,1947165.2640000002 +14-1-2019 09:00,6170417.792,2872279.168,2872279.168 +14-1-2019 10:00,4478920.512,2084901.104,2084901.104 +14-1-2019 11:00,1498923.0080000001,697736.3800000001,697736.3800000001 +14-1-2019 12:00,2240601.7920000004,1042981.8080000001,1042981.8080000001 +14-1-2019 13:00,1613110.048,750889.4800000001,750889.4800000001 +14-1-2019 14:00,1720021.776,800655.9440000001,800655.9440000001 +14-1-2019 15:00,2789648.5760000004,1298558.6240000003,1298558.6240000003 +14-1-2019 16:00,3383189.568,1574847.2960000003,1574847.2960000003 +14-1-2019 17:00,3006586.5280000004,1399541.3520000002,1399541.3520000002 +14-1-2019 18:00,7557230.9120000005,3517829.568,3517829.568 +14-1-2019 19:00,5247725.120000001,2442773.5200000005,2442773.5200000005 +14-1-2019 20:00,3630582.208,1690006.5600000003,1690006.5600000003 +14-1-2019 21:00,3513771.008,1635631.712,1635631.712 +14-1-2019 22:00,1886334.208,878073.152,878073.152 +14-1-2019 23:00,657978.332,306283.53800000006,306283.53800000006 +15-1-2019 00:00,655552.524,305154.36600000004,305154.36600000004 +15-1-2019 01:00,650607.2320000001,302852.352,302852.352 +15-1-2019 02:00,735420.3120000002,342332.21,342332.21 +15-1-2019 03:00,1049093.144,488344.29600000003,488344.29600000003 +15-1-2019 04:00,1185072.5920000002,551641.64,551641.64 +15-1-2019 05:00,1274207.7920000001,593133.2880000001,593133.2880000001 +15-1-2019 06:00,1428865.24,665125.252,665125.252 +15-1-2019 07:00,3793647.9680000003,1765912.368,1765912.368 +15-1-2019 08:00,4247760.0,1977297.52,1977297.52 +15-1-2019 09:00,6281999.680000001,2924219.7600000002,2924219.7600000002 +15-1-2019 10:00,4844454.9120000005,2255054.208,2255054.208 +15-1-2019 11:00,2089391.7440000002,972594.7440000001,972594.7440000001 +15-1-2019 12:00,2382805.2160000005,1109176.5520000001,1109176.5520000001 +15-1-2019 13:00,1923421.456,895336.9920000001,895336.9920000001 +15-1-2019 14:00,1707376.5280000002,794769.8,794769.8 +15-1-2019 15:00,2725569.2640000004,1268730.4960000003,1268730.4960000003 +15-1-2019 16:00,3202368.5760000004,1490676.3520000002,1490676.3520000002 +15-1-2019 17:00,2706502.48,1259854.7280000001,1259854.7280000001 +15-1-2019 18:00,7321297.28,3408004.16,3408004.16 +15-1-2019 19:00,5068853.152000001,2359509.68,2359509.68 +15-1-2019 20:00,3253736.288,1514587.712,1514587.712 +15-1-2019 21:00,3207827.7440000004,1493217.7920000001,1493217.7920000001 +15-1-2019 22:00,1711914.1600000001,796882.152,796882.152 +15-1-2019 23:00,567112.5680000001,263986.29400000005,263986.29400000005 +16-1-2019 00:00,554957.48,258328.18000000002,258328.18000000002 +16-1-2019 01:00,549890.044,255969.34000000003,255969.34000000003 +16-1-2019 02:00,547849.104,255019.27000000005,255019.27000000005 +16-1-2019 03:00,580010.728,269990.226,269990.226 +16-1-2019 04:00,849492.3360000001,395431.78400000004,395431.78400000004 +16-1-2019 05:00,1047466.9040000001,487587.32000000007,487587.32000000007 +16-1-2019 06:00,1232812.24,573864.104,573864.104 +16-1-2019 07:00,3375231.2,1571142.6720000003,1571142.6720000003 +16-1-2019 08:00,4127985.3120000004,1921543.3600000003,1921543.3600000003 +16-1-2019 09:00,6185641.792,2879365.984,2879365.984 +16-1-2019 10:00,4662679.648,2170439.392,2170439.392 +16-1-2019 11:00,2013407.44,937224.728,937224.728 +16-1-2019 12:00,2379076.8320000004,1107440.752,1107440.752 +16-1-2019 13:00,1958123.0240000002,911490.3600000001,911490.3600000001 +16-1-2019 14:00,1782024.4640000002,829517.92,829517.92 +16-1-2019 15:00,2887571.984,1344141.304,1344141.304 +16-1-2019 16:00,3369522.816,1568485.424,1568485.424 +16-1-2019 17:00,2862893.0880000005,1332653.344,1332653.344 +16-1-2019 18:00,7496631.296000001,3489620.9920000006,3489620.9920000006 +16-1-2019 19:00,5386415.232000001,2507332.4320000005,2507332.4320000005 +16-1-2019 20:00,3490571.3920000005,1624832.8800000001,1624832.8800000001 +16-1-2019 21:00,3396695.1040000003,1581133.84,1581133.84 +16-1-2019 22:00,1841225.7600000002,857075.6480000002,857075.6480000002 +16-1-2019 23:00,626737.3640000001,291741.098,291741.098 +17-1-2019 00:00,621598.2080000001,289348.884,289348.884 +17-1-2019 01:00,615623.888,286567.88600000006,286567.88600000006 +17-1-2019 02:00,623827.908,290386.80000000005,290386.80000000005 +17-1-2019 03:00,858566.192,399655.564,399655.564 +17-1-2019 04:00,1153305.56,536854.296,536854.296 +17-1-2019 05:00,1283767.9360000002,597583.5360000001,597583.5360000001 +17-1-2019 06:00,1445865.9600000002,673038.7400000001,673038.7400000001 +17-1-2019 07:00,3851738.5280000004,1792952.8320000002,1792952.8320000002 +17-1-2019 08:00,4406114.592,2051010.368,2051010.368 +17-1-2019 09:00,6504493.9520000005,3027788.544,3027788.544 +17-1-2019 10:00,5122227.968,2384355.2480000006,2384355.2480000006 +17-1-2019 11:00,2357990.9760000003,1097625.672,1097625.672 +17-1-2019 12:00,2607373.472,1213711.048,1213711.048 +17-1-2019 13:00,2365101.2,1100935.5280000002,1100935.5280000002 +17-1-2019 14:00,1632536.928,759932.712,759932.712 +17-1-2019 15:00,3190817.3440000005,1485299.376,1485299.376 +17-1-2019 16:00,3759187.5200000005,1749871.3760000002,1749871.3760000002 +17-1-2019 17:00,3391336.256,1578639.2160000002,1578639.2160000002 +17-1-2019 18:00,7809528.320000001,3635272.256,3635272.256 +17-1-2019 19:00,5894594.464000001,2743885.7600000002,2743885.7600000002 +17-1-2019 20:00,4223902.848,1966192.448,1966192.448 +17-1-2019 21:00,3938890.912,1833521.536,1833521.536 +17-1-2019 22:00,2090309.9360000002,973022.16,973022.16 +17-1-2019 23:00,724760.8280000001,337370.22000000003,337370.22000000003 +18-1-2019 00:00,730593.3800000001,340085.24000000005,340085.24000000005 +18-1-2019 01:00,800589.768,372668.032,372668.032 +18-1-2019 02:00,1158606.5920000002,539321.9040000001,539321.9040000001 +18-1-2019 03:00,1557715.6320000002,725103.984,725103.984 +18-1-2019 04:00,1763737.0080000001,821005.2400000001,821005.2400000001 +18-1-2019 05:00,1874775.4080000003,872692.6560000001,872692.6560000001 +18-1-2019 06:00,2080778.8320000004,968585.552,968585.552 +18-1-2019 07:00,5096699.1680000005,2372471.728,2372471.728 +18-1-2019 08:00,5227578.752,2433395.1840000004,2433395.1840000004 +18-1-2019 09:00,7175777.664000001,3340265.984,3340265.984 +18-1-2019 10:00,5479522.752,2550673.136,2550673.136 +18-1-2019 11:00,2593838.72,1207410.688,1207410.688 +18-1-2019 12:00,2927187.472,1362581.8800000001,1362581.8800000001 +18-1-2019 13:00,2430619.136,1131433.424,1131433.424 +18-1-2019 14:00,2258415.984,1051274.1360000002,1051274.1360000002 +18-1-2019 15:00,3529385.3760000006,1642900.1600000001,1642900.1600000001 +18-1-2019 16:00,4137526.6240000003,1925984.7200000002,1925984.7200000002 +18-1-2019 17:00,3750071.072,1745627.664,1745627.664 +18-1-2019 18:00,8139914.112000001,3789063.8720000004,3789063.8720000004 +18-1-2019 19:00,6337780.416,2950185.2160000005,2950185.2160000005 +18-1-2019 20:00,4777662.56,2223962.7520000003,2223962.7520000003 +18-1-2019 21:00,4411036.960000001,2053301.712,2053301.712 +18-1-2019 22:00,2394350.816,1114550.8,1114550.8 +18-1-2019 23:00,815417.6800000002,379570.356,379570.356 +19-1-2019 00:00,840559.8960000001,391273.78400000004,391273.78400000004 +19-1-2019 01:00,986099.0480000002,459021.0240000001,459021.0240000001 +19-1-2019 02:00,1415683.6320000002,658989.2320000001,658989.2320000001 +19-1-2019 03:00,1695464.144,789224.7440000001,789224.7440000001 +19-1-2019 04:00,1868413.1840000001,869731.104,869731.104 +19-1-2019 05:00,2026723.9520000003,943423.4480000001,943423.4480000001 +19-1-2019 06:00,2234662.6720000003,1040217.2880000001,1040217.2880000001 +19-1-2019 07:00,3324915.2640000004,1547720.768,1547720.768 +19-1-2019 08:00,5406629.536,2516741.9200000004,2516741.9200000004 +19-1-2019 09:00,9442115.584,4395227.584000001,4395227.584000001 +19-1-2019 10:00,9275283.776,4317568.992000001,4317568.992000001 +19-1-2019 11:00,4868734.112000001,2266356.048,2266356.048 +19-1-2019 12:00,4630993.664000001,2155689.5360000003,2155689.5360000003 +19-1-2019 13:00,3516331.4560000002,1636823.7600000002,1636823.7600000002 +19-1-2019 14:00,3154472.288,1468381.2000000002,1468381.2000000002 +19-1-2019 15:00,4111109.3760000006,1913687.776,1913687.776 +19-1-2019 16:00,4377191.808,2037546.8960000002,2037546.8960000002 +19-1-2019 17:00,4537906.5600000005,2112358.512,2112358.512 +19-1-2019 18:00,4628305.792,2154438.528,2154438.528 +19-1-2019 19:00,4679906.88,2178458.4800000004,2178458.4800000004 +19-1-2019 20:00,4742992.672,2207824.256,2207824.256 +19-1-2019 21:00,3736525.4080000003,1739322.112,1739322.112 +19-1-2019 22:00,1754325.584,816624.2480000001,816624.2480000001 +19-1-2019 23:00,1083822.8720000002,504510.732,504510.732 +20-1-2019 00:00,1188514.8,553243.988,553243.988 +20-1-2019 01:00,1590881.6,740542.352,740542.352 +20-1-2019 02:00,1881131.12,875651.128,875651.128 +20-1-2019 03:00,2112625.1520000002,983409.768,983409.768 +20-1-2019 04:00,2284852.592,1063580.232,1063580.232 +20-1-2019 05:00,2534779.808,1179919.048,1179919.048 +20-1-2019 06:00,2819846.48,1312615.656,1312615.656 +20-1-2019 07:00,3838529.024,1786803.9200000002,1786803.9200000002 +20-1-2019 08:00,5928987.328000001,2759895.2480000006,2759895.2480000006 +20-1-2019 09:00,9597075.840000002,4467360.832,4467360.832 +20-1-2019 10:00,9541792.128,4441626.816000001,4441626.816000001 +20-1-2019 11:00,4847556.7360000005,2256497.936,2256497.936 +20-1-2019 12:00,4327900.544000001,2014602.304,2014602.304 +20-1-2019 13:00,2813711.6480000005,1309759.704,1309759.704 +20-1-2019 14:00,2341545.008,1089970.1120000002,1089970.1120000002 +20-1-2019 15:00,4017897.3120000004,1870298.32,1870298.32 +20-1-2019 16:00,4614264.864000001,2147902.592,2147902.592 +20-1-2019 17:00,4740651.5200000005,2206734.464,2206734.464 +20-1-2019 18:00,4918085.568,2289328.6240000003,2289328.6240000003 +20-1-2019 19:00,4910440.1280000005,2285769.904,2285769.904 +20-1-2019 20:00,4992103.072,2323783.0880000005,2323783.0880000005 +20-1-2019 21:00,4034077.3440000005,1877830.0640000002,1877830.0640000002 +20-1-2019 22:00,1951864.992,908577.2960000001,908577.2960000001 +20-1-2019 23:00,1208707.192,562643.312,562643.312 +21-1-2019 00:00,1471890.6400000001,685153.084,685153.084 +21-1-2019 01:00,1911641.2480000001,889853.4480000001,889853.4480000001 +21-1-2019 02:00,2219457.504,1033139.2720000001,1033139.2720000001 +21-1-2019 03:00,2461563.1040000003,1145837.6160000002,1145837.6160000002 +21-1-2019 04:00,2695953.3920000005,1254944.064,1254944.064 +21-1-2019 05:00,3058434.0160000003,1423676.2320000003,1423676.2320000003 +21-1-2019 06:00,3346229.9200000004,1557642.768,1557642.768 +21-1-2019 07:00,6515269.376000001,3032804.896,3032804.896 +21-1-2019 08:00,6496867.5200000005,3024238.6240000003,3024238.6240000003 +21-1-2019 09:00,7957193.024,3704008.352,3704008.352 +21-1-2019 10:00,6028725.824,2806322.64,2806322.64 +21-1-2019 11:00,3852798.7520000003,1793446.3360000001,1793446.3360000001 +21-1-2019 12:00,3651792.3200000003,1699879.8080000002,1699879.8080000002 +21-1-2019 13:00,2862998.336,1332702.536,1332702.536 +21-1-2019 14:00,2651283.536,1234150.984,1234150.984 +21-1-2019 15:00,3936555.04,1832434.384,1832434.384 +21-1-2019 16:00,4574862.336,2129561.1040000003,2129561.1040000003 +21-1-2019 17:00,4245620.192000001,1976301.536,1976301.536 +21-1-2019 18:00,8461537.216,3938776.512,3938776.512 +21-1-2019 19:00,6736563.328000001,3135815.2320000003,3135815.2320000003 +21-1-2019 20:00,5169803.584000001,2406501.328,2406501.328 +21-1-2019 21:00,4659647.1680000005,2169028.048,2169028.048 +21-1-2019 22:00,2565616.5920000006,1194273.4320000003,1194273.4320000003 +21-1-2019 23:00,911388.456,424243.90800000005,424243.90800000005 +22-1-2019 00:00,1095654.736,510018.30000000005,510018.30000000005 +22-1-2019 01:00,1315976.5520000001,612576.3160000001,612576.3160000001 +22-1-2019 02:00,1833633.472,853541.4800000001,853541.4800000001 +22-1-2019 03:00,2103669.92,979241.12,979241.12 +22-1-2019 04:00,2255829.84,1050070.472,1050070.472 +22-1-2019 05:00,2402565.0880000005,1118374.4000000001,1118374.4000000001 +22-1-2019 06:00,2768169.8880000003,1288560.5920000002,1288560.5920000002 +22-1-2019 07:00,5970346.624000001,2779147.536,2779147.536 +22-1-2019 08:00,5978274.368000001,2782837.728,2782837.728 +22-1-2019 09:00,7879686.848,3667929.7600000002,3667929.7600000002 +22-1-2019 10:00,6619866.176000001,3081493.8880000003,3081493.8880000003 +22-1-2019 11:00,4263742.208000001,1984737.2160000002,1984737.2160000002 +22-1-2019 12:00,4236659.68,1972130.3360000001,1972130.3360000001 +22-1-2019 13:00,3574347.04,1663829.0240000002,1663829.0240000002 +22-1-2019 14:00,3279406.944,1526537.2320000003,1526537.2320000003 +22-1-2019 15:00,4500837.088,2095103.12,2095103.12 +22-1-2019 16:00,4996883.584000001,2326008.784,2326008.784 +22-1-2019 17:00,4559319.424000001,2122325.92,2122325.92 +22-1-2019 18:00,8636299.584,4020127.2320000003,4020127.2320000003 +22-1-2019 19:00,6953359.424000001,3236732.224,3236732.224 +22-1-2019 20:00,5357127.776000001,2493699.472,2493699.472 +22-1-2019 21:00,4827100.608000001,2246975.632,2246975.632 +22-1-2019 22:00,2634783.536,1226470.344,1226470.344 +22-1-2019 23:00,916397.2400000001,426575.46800000005,426575.46800000005 +23-1-2019 00:00,1067174.5040000002,496761.01200000005,496761.01200000005 +23-1-2019 01:00,1230257.512,572674.828,572674.828 +23-1-2019 02:00,1714196.176,797944.3120000002,797944.3120000002 +23-1-2019 03:00,1963885.2640000002,914172.6000000001,914172.6000000001 +23-1-2019 04:00,2145408.3200000003,998670.1120000001,998670.1120000001 +23-1-2019 05:00,2294142.4000000004,1067904.4640000002,1067904.4640000002 +23-1-2019 06:00,2684955.328,1249824.752,1249824.752 +23-1-2019 07:00,5982038.656,2784590.16,2784590.16 +23-1-2019 08:00,6104914.816,2841788.0480000004,2841788.0480000004 +23-1-2019 09:00,7938724.992000001,3695411.4560000002,3695411.4560000002 +23-1-2019 10:00,6629064.640000001,3085775.6160000004,3085775.6160000004 +23-1-2019 11:00,4130671.072,1922793.664,1922793.664 +23-1-2019 12:00,4130187.424,1922568.5600000003,1922568.5600000003 +23-1-2019 13:00,3496400.512,1627546.0960000001,1627546.0960000001 +23-1-2019 14:00,3194706.5920000006,1487109.8880000003,1487109.8880000003 +23-1-2019 15:00,4414220.096,2054783.2800000003,2054783.2800000003 +23-1-2019 16:00,4936964.384000001,2298116.4800000004,2298116.4800000004 +23-1-2019 17:00,4519014.368,2103564.3200000003,2103564.3200000003 +23-1-2019 18:00,8631133.632000001,4017722.0160000003,4017722.0160000003 +23-1-2019 19:00,6958557.76,3239151.8720000004,3239151.8720000004 +23-1-2019 20:00,5400301.632,2513796.5600000005,2513796.5600000005 +23-1-2019 21:00,4893907.392,2278073.952,2278073.952 +23-1-2019 22:00,2674659.328,1245032.1840000001,1245032.1840000001 +23-1-2019 23:00,939573.2720000001,437363.74000000005,437363.74000000005 +24-1-2019 00:00,1088803.144,506828.96,506828.96 +24-1-2019 01:00,1302121.392,606126.8400000001,606126.8400000001 +24-1-2019 02:00,1811776.0320000004,843366.92,843366.92 +24-1-2019 03:00,2088288.928,972081.4400000001,972081.4400000001 +24-1-2019 04:00,2263613.0880000005,1053693.256,1053693.256 +24-1-2019 05:00,2431298.1440000003,1131749.608,1131749.608 +24-1-2019 06:00,2863032.48,1332718.2000000002,1332718.2000000002 +24-1-2019 07:00,6142174.720000001,2859132.3200000003,2859132.3200000003 +24-1-2019 08:00,6103116.800000001,2840950.816,2840950.816 +24-1-2019 09:00,8022384.128000001,3734354.2720000003,3734354.2720000003 +24-1-2019 10:00,6759418.688000001,3146453.728,3146453.728 +24-1-2019 11:00,4347857.184,2023891.9360000002,2023891.9360000002 +24-1-2019 12:00,4267831.04,1986640.6560000002,1986640.6560000002 +24-1-2019 13:00,3610086.3040000005,1680465.6,1680465.6 +24-1-2019 14:00,3209039.328,1493781.52,1493781.52 +24-1-2019 15:00,4577427.008,2130755.0880000005,2130755.0880000005 +24-1-2019 16:00,5099576.768,2373811.6160000004,2373811.6160000004 +24-1-2019 17:00,4686171.776000001,2181374.9760000003,2181374.9760000003 +24-1-2019 18:00,8752495.488,4074215.2,4074215.2 +24-1-2019 19:00,7163031.040000001,3334332.6720000003,3334332.6720000003 +24-1-2019 20:00,5611225.312,2611979.2160000005,2611979.2160000005 +24-1-2019 21:00,5060298.496000001,2355528.032,2355528.032 +24-1-2019 22:00,2773589.28,1291083.2000000002,1291083.2000000002 +24-1-2019 23:00,989624.064,460661.87200000003,460661.87200000003 +25-1-2019 00:00,1135209.9440000001,528430.98,528430.98 +25-1-2019 01:00,1396892.5520000001,650242.0760000001,650242.0760000001 +25-1-2019 02:00,1908917.472,888585.456,888585.456 +25-1-2019 03:00,2173245.184,1011627.9360000001,1011627.9360000001 +25-1-2019 04:00,2335856.688,1087322.28,1087322.28 +25-1-2019 05:00,2549496.224,1186769.7600000002,1186769.7600000002 +25-1-2019 06:00,2999376.512,1396185.2960000003,1396185.2960000003 +25-1-2019 07:00,6329509.824,2946335.2160000005,2946335.2160000005 +25-1-2019 08:00,6177753.472,2875693.7440000004,2875693.7440000004 +25-1-2019 09:00,8038294.528000001,3741760.352,3741760.352 +25-1-2019 10:00,6800775.1680000005,3165705.3120000004,3165705.3120000004 +25-1-2019 11:00,4284972.032000001,1994619.44,1994619.44 +25-1-2019 12:00,4153245.8880000003,1933301.9200000002,1933301.9200000002 +25-1-2019 13:00,3449673.2160000005,1605794.784,1605794.784 +25-1-2019 14:00,3106892.8000000003,1446233.1840000001,1446233.1840000001 +25-1-2019 15:00,4341449.024,2020909.0880000002,2020909.0880000002 +25-1-2019 16:00,4812812.576,2240325.296,2240325.296 +25-1-2019 17:00,4350781.248000001,2025253.2960000003,2025253.2960000003 +25-1-2019 18:00,8474780.864,3944941.7920000004,3944941.7920000004 +25-1-2019 19:00,6659022.656,3099721.1520000002,3099721.1520000002 +25-1-2019 20:00,4954521.792,2306289.568,2306289.568 +25-1-2019 21:00,4351898.496,2025773.2000000002,2025773.2000000002 +25-1-2019 22:00,2323088.5920000006,1081378.672,1081378.672 +25-1-2019 23:00,753833.784,350903.454,350903.454 +26-1-2019 00:00,743156.04,345933.03800000006,345933.03800000006 +26-1-2019 01:00,739450.096,344207.996,344207.996 +26-1-2019 02:00,1010159.5680000001,470221.0040000001,470221.0040000001 +26-1-2019 03:00,1381060.472,642872.384,642872.384 +26-1-2019 04:00,1569086.2880000002,730396.92,730396.92 +26-1-2019 05:00,1668871.0720000002,776845.9600000001,776845.9600000001 +26-1-2019 06:00,1786113.648,831421.2720000001,831421.2720000001 +26-1-2019 07:00,2709085.4560000002,1261057.2480000001,1261057.2480000001 +26-1-2019 08:00,4746268.384000001,2209349.12,2209349.12 +26-1-2019 09:00,8871268.736,4129503.136,4129503.136 +26-1-2019 10:00,9177403.136,4272005.760000001,4272005.760000001 +26-1-2019 11:00,4746035.36,2209240.8800000004,2209240.8800000004 +26-1-2019 12:00,4326304.928,2013859.9360000002,2013859.9360000002 +26-1-2019 13:00,3176616.9600000004,1478689.168,1478689.168 +26-1-2019 14:00,2766102.5920000006,1287598.048,1287598.048 +26-1-2019 15:00,3756262.7520000003,1748509.664,1748509.664 +26-1-2019 16:00,3961173.9200000004,1843894.272,1843894.272 +26-1-2019 17:00,4020205.024,1871372.6240000003,1871372.6240000003 +26-1-2019 18:00,4015487.5200000005,1869176.848,1869176.848 +26-1-2019 19:00,4039825.856,1880505.968,1880505.968 +26-1-2019 20:00,3977147.68,1851329.7440000002,1851329.7440000002 +26-1-2019 21:00,3113487.168,1449302.8,1449302.8 +26-1-2019 22:00,1390057.4160000002,647060.3040000001,647060.3040000001 +26-1-2019 23:00,813840.6320000001,378836.1720000001,378836.1720000001 +27-1-2019 00:00,795542.0000000001,370318.344,370318.344 +27-1-2019 01:00,812162.9120000001,378055.26,378055.26 +27-1-2019 02:00,1114884.936,518969.83600000007,518969.83600000007 +27-1-2019 03:00,1302830.584,606457.06,606457.06 +27-1-2019 04:00,1419494.8240000003,660763.224,660763.224 +27-1-2019 05:00,1523800.256,709316.52,709316.52 +27-1-2019 06:00,1655216.2880000002,770489.6320000001,770489.6320000001 +27-1-2019 07:00,2605217.1200000006,1212707.32,1212707.32 +27-1-2019 08:00,4526609.12,2107099.632,2107099.632 +27-1-2019 09:00,8688674.368,4044507.1040000003,4044507.1040000003 +27-1-2019 10:00,8714552.704,4056553.2480000006,4056553.2480000006 +27-1-2019 11:00,4426296.16,2060404.5440000002,2060404.5440000002 +27-1-2019 12:00,4163759.072,1938195.9520000003,1938195.9520000003 +27-1-2019 13:00,3125463.2640000004,1454877.864,1454877.864 +27-1-2019 14:00,2640329.296,1229051.912,1229051.912 +27-1-2019 15:00,3707196.768,1725669.7920000001,1725669.7920000001 +27-1-2019 16:00,4027575.552,1874803.568,1874803.568 +27-1-2019 17:00,4011366.3040000005,1867258.272,1867258.272 +27-1-2019 18:00,4023372.3200000003,1872847.1520000002,1872847.1520000002 +27-1-2019 19:00,4005355.2,1864460.2240000002,1864460.2240000002 +27-1-2019 20:00,4007788.224,1865592.6080000002,1865592.6080000002 +27-1-2019 21:00,3161593.952,1471696.0720000002,1471696.0720000002 +27-1-2019 22:00,1468758.104,683694.924,683694.924 +27-1-2019 23:00,868159.952,404121.38800000004,404121.38800000004 +28-1-2019 00:00,849129.952,395263.08800000005,395263.08800000005 +28-1-2019 01:00,913779.768,425357.02,425357.02 +28-1-2019 02:00,1195472.6960000002,556482.828,556482.828 +28-1-2019 03:00,1392943.4640000002,648403.8,648403.8 +28-1-2019 04:00,1512756.9600000002,704176.088,704176.088 +28-1-2019 05:00,1611568.2880000002,750172.0160000002,750172.0160000002 +28-1-2019 06:00,1775901.0720000002,826667.5120000001,826667.5120000001 +28-1-2019 07:00,4625531.680000001,2153147.216,2153147.216 +28-1-2019 08:00,4711961.76,2193379.5840000003,2193379.5840000003 +28-1-2019 09:00,6848749.248000001,3188036.896,3188036.896 +28-1-2019 10:00,5502618.528000001,2561423.9200000004,2561423.9200000004 +28-1-2019 11:00,2624283.728,1221582.472,1221582.472 +28-1-2019 12:00,2871054.208,1336452.304,1336452.304 +28-1-2019 13:00,2299747.12,1070513.4880000001,1070513.4880000001 +28-1-2019 14:00,1862601.664,867025.8960000001,867025.8960000001 +28-1-2019 15:00,3445133.824,1603681.7280000001,1603681.7280000001 +28-1-2019 16:00,3927887.3920000005,1828399.584,1828399.584 +28-1-2019 17:00,3595155.168,1673515.536,1673515.536 +28-1-2019 18:00,7993747.5200000005,3721024.0320000006,3721024.0320000006 +28-1-2019 19:00,6134750.336,2855676.032,2855676.032 +28-1-2019 20:00,4402773.760000001,2049455.2320000003,2049455.2320000003 +28-1-2019 21:00,4113536.0640000007,1914817.3440000003,1914817.3440000003 +28-1-2019 22:00,2272920.1440000003,1058025.672,1058025.672 +28-1-2019 23:00,774231.5680000001,360398.478,360398.478 +29-1-2019 00:00,775344.6800000002,360916.64400000003,360916.64400000003 +29-1-2019 01:00,886241.6640000001,412538.23600000003,412538.23600000003 +29-1-2019 02:00,1198646.064,557959.952,557959.952 +29-1-2019 03:00,1517924.848,706581.7000000001,706581.7000000001 +29-1-2019 04:00,1727987.712,804364.2640000001,804364.2640000001 +29-1-2019 05:00,1824211.1360000002,849155.384,849155.384 +29-1-2019 06:00,2006627.9200000002,934068.9600000001,934068.9600000001 +29-1-2019 07:00,4972125.664000001,2314484.128,2314484.128 +29-1-2019 08:00,4978371.904,2317391.472,2317391.472 +29-1-2019 09:00,7123821.76,3316081.1200000006,3316081.1200000006 +29-1-2019 10:00,5880617.600000001,2737379.568,2737379.568 +29-1-2019 11:00,2937639.2320000003,1367447.048,1367447.048 +29-1-2019 12:00,3155545.536,1468880.6880000003,1468880.6880000003 +29-1-2019 13:00,2576582.4480000003,1199378.1360000002,1199378.1360000002 +29-1-2019 14:00,2289148.9280000003,1065580.208,1065580.208 +29-1-2019 15:00,3610362.2720000003,1680594.08,1680594.08 +29-1-2019 16:00,4206966.016000001,1958308.3520000002,1958308.3520000002 +29-1-2019 17:00,3859778.208,1796695.2960000003,1796695.2960000003 +29-1-2019 18:00,8169242.752000001,3802715.4880000004,3802715.4880000004 +29-1-2019 19:00,6299224.448,2932237.7920000004,2932237.7920000004 +29-1-2019 20:00,4670141.696,2173912.9280000003,2173912.9280000003 +29-1-2019 21:00,4263840.768,1984783.1520000002,1984783.1520000002 +29-1-2019 22:00,2345921.424,1092007.3120000002,1092007.3120000002 +29-1-2019 23:00,799949.2160000001,372369.844,372369.844 +30-1-2019 00:00,807280.408,375782.44000000006,375782.44000000006 +30-1-2019 01:00,959046.3520000001,446428.26800000004,446428.26800000004 +30-1-2019 02:00,1323109.2160000002,615896.4680000001,615896.4680000001 +30-1-2019 03:00,1643434.6720000003,765005.4720000001,765005.4720000001 +30-1-2019 04:00,1808927.12,842040.8480000001,842040.8480000001 +30-1-2019 05:00,1925755.9200000002,896423.7040000001,896423.7040000001 +30-1-2019 06:00,2117602.256,985726.5440000001,985726.5440000001 +30-1-2019 07:00,5191734.240000001,2416709.68,2416709.68 +30-1-2019 08:00,5210301.536,2425353.04,2425353.04 +30-1-2019 09:00,7292995.776000001,3394830.208,3394830.208 +30-1-2019 10:00,6057148.416,2819553.2640000004,2819553.2640000004 +30-1-2019 11:00,3102948.64,1444397.504,1444397.504 +30-1-2019 12:00,3434086.3040000005,1598539.1840000001,1598539.1840000001 +30-1-2019 13:00,2803902.4640000006,1305193.472,1305193.472 +30-1-2019 14:00,2482385.8400000003,1155530.2880000002,1155530.2880000002 +30-1-2019 15:00,3845352.544,1789980.192,1789980.192 +30-1-2019 16:00,4415434.496,2055348.5920000002,2055348.5920000002 +30-1-2019 17:00,4050654.4320000005,1885546.6080000002,1885546.6080000002 +30-1-2019 18:00,8276835.072000001,3852799.1040000003,3852799.1040000003 +30-1-2019 19:00,6467303.040000001,3010476.48,3010476.48 +30-1-2019 20:00,4868155.776000001,2266086.944,2266086.944 +30-1-2019 21:00,4420474.432,2057694.6720000003,2057694.6720000003 +30-1-2019 22:00,2396617.5200000005,1115605.92,1115605.92 +30-1-2019 23:00,805233.528,374829.70800000004,374829.70800000004 +31-1-2019 00:00,833748.696,388103.232,388103.232 +31-1-2019 01:00,961408.4480000001,447527.82800000004,447527.82800000004 +31-1-2019 02:00,1357850.384,632068.3160000001,632068.3160000001 +31-1-2019 03:00,1683216.6560000002,783523.6640000001,783523.6640000001 +31-1-2019 04:00,1888770.2240000002,879207.12,879207.12 +31-1-2019 05:00,2037377.9360000002,948382.7760000001,948382.7760000001 +31-1-2019 06:00,2333644.544,1086292.592,1086292.592 +31-1-2019 07:00,5496823.552000001,2558726.1920000003,2558726.1920000003 +31-1-2019 08:00,5404303.8719999995,2515659.168,2515659.168 +31-1-2019 09:00,7566366.016,3522081.728,3522081.728 +31-1-2019 10:00,6394855.808000001,2976753.1200000006,2976753.1200000006 +31-1-2019 11:00,3787365.4720000005,1762987.776,1762987.776 +31-1-2019 12:00,3915210.8160000006,1822498.8320000002,1822498.8320000002 +31-1-2019 13:00,3216653.0880000005,1497325.8080000002,1497325.8080000002 +31-1-2019 14:00,2879945.024,1340591.0320000001,1340591.0320000001 +31-1-2019 15:00,4248219.712,1977511.712,1977511.712 +31-1-2019 16:00,4785065.472,2227409.184,2227409.184 +31-1-2019 17:00,4378776.864000001,2038285.04,2038285.04 +31-1-2019 18:00,8516474.56,3964349.3120000004,3964349.3120000004 +31-1-2019 19:00,6767255.616,3150102.208,3150102.208 +31-1-2019 20:00,5202793.728000001,2421858.384,2421858.384 +31-1-2019 21:00,4684257.248,2180483.5360000003,2180483.5360000003 +31-1-2019 22:00,2530002.4640000006,1177695.5520000001,1177695.5520000001 +31-1-2019 23:00,873121.0400000002,406430.728,406430.728 +1-2-2019 00:00,958443.6400000001,446147.68000000005,446147.68000000005 +1-2-2019 01:00,1100108.328,512091.40400000004,512091.40400000004 +1-2-2019 02:00,1556227.2000000002,724411.1160000002,724411.1160000002 +1-2-2019 03:00,1810134.304,842602.8160000001,842602.8160000001 +1-2-2019 04:00,1963945.9840000002,914200.8480000001,914200.8480000001 +1-2-2019 05:00,2116842.288,985372.784,985372.784 +1-2-2019 06:00,2387139.9200000004,1111194.128,1111194.128 +1-2-2019 07:00,5588845.504,2601562.3040000005,2601562.3040000005 +1-2-2019 08:00,5572089.248,2593762.16,2593762.16 +1-2-2019 09:00,7605731.584000001,3540405.7920000004,3540405.7920000004 +1-2-2019 10:00,6296894.208000001,2931152.752,2931152.752 +1-2-2019 11:00,3559052.64,1656710.176,1656710.176 +1-2-2019 12:00,3746665.1200000006,1744041.904,1744041.904 +1-2-2019 13:00,3059771.2640000004,1424298.4800000002,1424298.4800000002 +1-2-2019 14:00,2713313.856,1263025.456,1263025.456 +1-2-2019 15:00,3985785.7600000002,1855350.816,1855350.816 +1-2-2019 16:00,4497757.088,2093669.4240000003,2093669.4240000003 +1-2-2019 17:00,4119395.4560000002,1917544.992,1917544.992 +1-2-2019 18:00,8320979.392,3873347.808,3873347.808 +1-2-2019 19:00,6524726.9120000005,3037207.008,3037207.008 +1-2-2019 20:00,4933497.184000001,2296502.912,2296502.912 +1-2-2019 21:00,4423235.5200000005,2058980.0000000002,2058980.0000000002 +1-2-2019 22:00,2409681.824,1121687.3360000001,1121687.3360000001 +1-2-2019 23:00,810197.256,377140.23600000003,377140.23600000003 +2-2-2019 00:00,820300.8,381843.396,381843.396 +2-2-2019 01:00,931118.9360000001,433428.248,433428.248 +2-2-2019 02:00,1366302.08,636002.488,636002.488 +2-2-2019 03:00,1672079.0240000002,778339.2320000001,778339.2320000001 +2-2-2019 04:00,1835086.0000000002,854217.584,854217.584 +2-2-2019 05:00,1949640.3520000002,907541.7120000002,907541.7120000002 +2-2-2019 06:00,2098566.8000000003,976865.736,976865.736 +2-2-2019 07:00,3167001.3760000006,1474213.4000000001,1474213.4000000001 +2-2-2019 08:00,5209275.104,2424875.024,2424875.024 +2-2-2019 09:00,8633085.824000001,4018631.2320000003,4018631.2320000003 +2-2-2019 10:00,9437166.464000002,4392923.744,4392923.744 +2-2-2019 11:00,5397228.32,2512365.68,2512365.68 +2-2-2019 12:00,4795988.7360000005,2232493.648,2232493.648 +2-2-2019 13:00,3613896.0000000005,1682239.1520000002,1682239.1520000002 +2-2-2019 14:00,3165538.112,1473532.2800000003,1473532.2800000003 +2-2-2019 15:00,3175505.696,1478171.904,1478171.904 +2-2-2019 16:00,4398532.512,2047481.04,2047481.04 +2-2-2019 17:00,4463980.576,2077946.6400000001,2077946.6400000001 +2-2-2019 18:00,4516690.112000001,2102482.6240000003,2102482.6240000003 +2-2-2019 19:00,4540057.28,2113359.424,2113359.424 +2-2-2019 20:00,4525393.664000001,2106533.968,2106533.968 +2-2-2019 21:00,3628527.2320000003,1689049.8240000003,1689049.8240000003 +2-2-2019 22:00,1652555.52,769251.032,769251.032 +2-2-2019 23:00,971194.488,452083.06,452083.06 +3-2-2019 00:00,1022206.5040000001,475828.80400000006,475828.80400000006 +3-2-2019 01:00,1437377.4800000002,669087.54,669087.54 +3-2-2019 02:00,1631628.064,759509.52,759509.52 +3-2-2019 03:00,1832674.448,853094.9680000001,853094.9680000001 +3-2-2019 04:00,2014935.8240000003,937936.2080000001,937936.2080000001 +3-2-2019 05:00,2244266.64,1044687.8640000001,1044687.8640000001 +3-2-2019 06:00,2429592.7040000004,1130955.496,1130955.496 +3-2-2019 07:00,3606300.1920000007,1678703.4880000001,1678703.4880000001 +3-2-2019 08:00,5434714.9120000005,2529815.2,2529815.2 +3-2-2019 09:00,8061934.144,3752764.5760000004,3752764.5760000004 +3-2-2019 10:00,8469844.416000001,3942643.2320000003,3942643.2320000003 +3-2-2019 11:00,3833599.2640000004,1784509.2320000003,1784509.2320000003 +3-2-2019 12:00,3840537.1840000004,1787738.6560000002,1787738.6560000002 +3-2-2019 13:00,2368643.2,1102584.208,1102584.208 +3-2-2019 14:00,1761100.0000000002,819777.6400000001,819777.6400000001 +3-2-2019 15:00,2378367.376,1107110.5760000001,1107110.5760000001 +3-2-2019 16:00,3880081.2160000005,1806145.968,1806145.968 +3-2-2019 17:00,4275262.464000001,1990099.7600000002,1990099.7600000002 +3-2-2019 18:00,4563567.36,2124303.632,2124303.632 +3-2-2019 19:00,4691779.136,2183984.704,2183984.704 +3-2-2019 20:00,4661575.072,2169924.768,2169924.768 +3-2-2019 21:00,3641197.4720000005,1694947.584,1694947.584 +3-2-2019 22:00,1646405.2000000002,766388.2160000001,766388.2160000001 +3-2-2019 23:00,997791.52,464463.8240000001,464463.8240000001 +4-2-2019 00:00,993051.752,462257.532,462257.532 +4-2-2019 01:00,1368508.24,637029.4480000001,637029.4480000001 +4-2-2019 02:00,1624537.376,756208.9040000001,756208.9040000001 +4-2-2019 03:00,1827594.7360000003,850730.408,850730.408 +4-2-2019 04:00,1977230.2880000002,920384.6080000001,920384.6080000001 +4-2-2019 05:00,2133609.2800000003,993177.5920000001,993177.5920000001 +4-2-2019 06:00,2331012.9920000006,1085067.72,1085067.72 +4-2-2019 07:00,5413188.0,2519795.168,2519795.168 +4-2-2019 08:00,5236075.680000001,2437350.4320000005,2437350.4320000005 +4-2-2019 09:00,6454295.936000001,3004422.4320000005,3004422.4320000005 +4-2-2019 10:00,5897591.040000001,2745280.736,2745280.736 +4-2-2019 11:00,2988075.2,1390924.656,1390924.656 +4-2-2019 12:00,3295149.0880000005,1533864.992,1533864.992 +4-2-2019 13:00,2806261.9200000004,1306292.064,1306292.064 +4-2-2019 14:00,2486813.1200000006,1157591.424,1157591.424 +4-2-2019 15:00,2811547.9040000006,1308752.6320000002,1308752.6320000002 +4-2-2019 16:00,4340809.44,2020611.2960000003,2020611.2960000003 +4-2-2019 17:00,3947708.8640000005,1837626.208,1837626.208 +4-2-2019 18:00,8202867.904,3818367.8720000004,3818367.8720000004 +4-2-2019 19:00,6328920.576,2946060.48,2946060.48 +4-2-2019 20:00,4658855.5200000005,2168658.9760000003,2168658.9760000003 +4-2-2019 21:00,4243755.648000001,1975433.6800000002,1975433.6800000002 +4-2-2019 22:00,2300058.112,1070658.2480000001,1070658.2480000001 +4-2-2019 23:00,768218.352,357599.37400000007,357599.37400000007 +5-2-2019 00:00,773795.8800000001,360195.66,360195.66 +5-2-2019 01:00,893050.224,415707.60000000003,415707.60000000003 +5-2-2019 02:00,1163856.2320000003,541765.6200000001,541765.6200000001 +5-2-2019 03:00,1494572.2880000002,695711.324,695711.324 +5-2-2019 04:00,1660241.2640000002,772828.76,772828.76 +5-2-2019 05:00,1761779.8880000003,820094.1760000001,820094.1760000001 +5-2-2019 06:00,1935378.8960000002,900903.0800000001,900903.0800000001 +5-2-2019 07:00,4838881.696,2252459.7920000004,2252459.7920000004 +5-2-2019 08:00,4878499.296000001,2270901.6,2270901.6 +5-2-2019 09:00,6220444.032000001,2895565.728,2895565.728 +5-2-2019 10:00,5554535.36,2585591.008,2585591.008 +5-2-2019 11:00,2797471.424,1302200.1520000002,1302200.1520000002 +5-2-2019 12:00,3097068.8320000004,1441660.2640000002,1441660.2640000002 +5-2-2019 13:00,2508682.88,1167771.5280000002,1167771.5280000002 +5-2-2019 14:00,2187110.288,1018082.0320000001,1018082.0320000001 +5-2-2019 15:00,2489123.824,1158666.6960000002,1158666.6960000002 +5-2-2019 16:00,3999394.7840000005,1861685.584,1861685.584 +5-2-2019 17:00,3629926.4320000005,1689701.0240000002,1689701.0240000002 +5-2-2019 18:00,7954738.176000001,3702865.7600000002,3702865.7600000002 +5-2-2019 19:00,5999167.680000001,2792563.8400000003,2792563.8400000003 +5-2-2019 20:00,4434179.2,2064074.1440000003,2064074.1440000003 +5-2-2019 21:00,4097341.2480000006,1907279.0880000002,1907279.0880000002 +5-2-2019 22:00,2216593.1040000003,1031805.8960000001,1031805.8960000001 +5-2-2019 23:00,756460.3200000001,352126.14800000004,352126.14800000004 +6-2-2019 00:00,757166.696,352454.938,352454.938 +6-2-2019 01:00,800228.8800000001,372500.04000000004,372500.04000000004 +6-2-2019 02:00,1105546.024,514622.68000000005,514622.68000000005 +6-2-2019 03:00,1435619.064,668269.008,668269.008 +6-2-2019 04:00,1593676.8320000002,741843.52,741843.52 +6-2-2019 05:00,1692988.0000000002,788072.12,788072.12 +6-2-2019 06:00,1886571.8080000002,878183.856,878183.856 +6-2-2019 07:00,4762087.968,2216713.312,2216713.312 +6-2-2019 08:00,4845096.608000001,2255353.2320000003,2255353.2320000003 +6-2-2019 09:00,6160324.544000001,2867580.848,2867580.848 +6-2-2019 10:00,5420244.544000001,2523079.68,2523079.68 +6-2-2019 11:00,2610321.296,1215083.2320000003,1215083.2320000003 +6-2-2019 12:00,2928580.512,1363230.176,1363230.176 +6-2-2019 13:00,2331271.8880000003,1085188.104,1085188.104 +6-2-2019 14:00,1994205.84,928286.5680000001,928286.5680000001 +6-2-2019 15:00,2276558.768,1059719.584,1059719.584 +6-2-2019 16:00,3773000.352,1756301.0080000001,1756301.0080000001 +6-2-2019 17:00,3412409.44,1588448.752,1588448.752 +6-2-2019 18:00,7790467.5200000005,3626399.04,3626399.04 +6-2-2019 19:00,5761534.240000001,2681947.136,2681947.136 +6-2-2019 20:00,4095467.2,1906406.4800000002,1906406.4800000002 +6-2-2019 21:00,3733665.0560000003,1737990.6720000003,1737990.6720000003 +6-2-2019 22:00,1987542.128,925184.6560000001,925184.6560000001 +6-2-2019 23:00,655723.596,305233.962,305233.962 +7-2-2019 00:00,646523.328,300951.31,300951.31 +7-2-2019 01:00,648620.456,301927.516,301927.516 +7-2-2019 02:00,659189.212,306847.22200000007,306847.22200000007 +7-2-2019 03:00,927611.6080000001,431795.628,431795.628 +7-2-2019 04:00,1184032.52,551157.42,551157.42 +7-2-2019 05:00,1279174.0720000002,595445.0920000001,595445.0920000001 +7-2-2019 06:00,1414620.9440000001,658494.496,658494.496 +7-2-2019 07:00,3887426.0480000004,1809565.12,1809565.12 +7-2-2019 08:00,4309105.856000001,2005853.52,2005853.52 +7-2-2019 09:00,5614385.920000001,2613450.9280000003,2613450.9280000003 +7-2-2019 10:00,4529598.656,2108490.912,2108490.912 +7-2-2019 11:00,1971299.7920000001,917624.0480000002,917624.0480000002 +7-2-2019 12:00,2343670.912,1090959.672,1090959.672 +7-2-2019 13:00,1718794.704,800085.0000000001,800085.0000000001 +7-2-2019 14:00,1294402.8240000003,602534.064,602534.064 +7-2-2019 15:00,1164188.6080000002,541920.368,541920.368 +7-2-2019 16:00,3173473.952,1477226.4320000003,1477226.4320000003 +7-2-2019 17:00,2923966.848,1361082.536,1361082.536 +7-2-2019 18:00,7553640.512,3516157.9200000004,3516157.9200000004 +7-2-2019 19:00,5461578.496000001,2542320.5280000004,2542320.5280000004 +7-2-2019 20:00,3683877.1200000006,1714814.816,1714814.816 +7-2-2019 21:00,3604085.4080000003,1677672.4800000002,1677672.4800000002 +7-2-2019 22:00,1937249.6,901773.8400000001,901773.8400000001 +7-2-2019 23:00,637428.3960000001,296717.67400000006,296717.67400000006 +8-2-2019 00:00,625017.5360000001,290940.56200000003,290940.56200000003 +8-2-2019 01:00,624565.3480000001,290730.08800000005,290730.08800000005 +8-2-2019 02:00,647858.9040000001,301573.052,301573.052 +8-2-2019 03:00,893800.072,416056.65200000006,416056.65200000006 +8-2-2019 04:00,1185938.6,552044.724,552044.724 +8-2-2019 05:00,1300823.304,605522.6760000001,605522.6760000001 +8-2-2019 06:00,1469694.6880000003,684130.832,684130.832 +8-2-2019 07:00,3909076.512,1819643.2320000003,1819643.2320000003 +8-2-2019 08:00,4271386.592,1988295.7600000002,1988295.7600000002 +8-2-2019 09:00,5523278.816,2571041.0880000005,2571041.0880000005 +8-2-2019 10:00,4446009.216,2069581.0080000001,2069581.0080000001 +8-2-2019 11:00,1914596.816,891229.2400000001,891229.2400000001 +8-2-2019 12:00,2257830.608,1051001.776,1051001.776 +8-2-2019 13:00,1727768.9440000001,804262.2720000001,804262.2720000001 +8-2-2019 14:00,1426950.8,664234.032,664234.032 +8-2-2019 15:00,1683638.176,783719.8160000001,783719.8160000001 +8-2-2019 16:00,3045830.3040000005,1417809.0960000001,1417809.0960000001 +8-2-2019 17:00,2708535.632,1260801.256,1260801.256 +8-2-2019 18:00,7300600.3840000015,3398369.9200000004,3398369.9200000004 +8-2-2019 19:00,5136142.176000001,2390832.0480000004,2390832.0480000004 +8-2-2019 20:00,3335807.9040000006,1552791.3280000002,1552791.3280000002 +8-2-2019 21:00,3268090.848,1521269.7280000001,1521269.7280000001 +8-2-2019 22:00,1722501.44,801810.3280000001,801810.3280000001 +8-2-2019 23:00,559073.5920000001,260244.18200000003,260244.18200000003 +9-2-2019 00:00,542060.0680000001,252324.57800000004,252324.57800000004 +9-2-2019 01:00,540090.408,251407.684,251407.684 +9-2-2019 02:00,544168.152,253305.84400000004,253305.84400000004 +9-2-2019 03:00,572186.032,266347.906,266347.906 +9-2-2019 04:00,821546.8800000001,382423.40400000004,382423.40400000004 +9-2-2019 05:00,979738.2320000001,456060.17600000004,456060.17600000004 +9-2-2019 06:00,1147654.2000000002,534223.712,534223.712 +9-2-2019 07:00,2152452.1920000003,1001948.9040000001,1001948.9040000001 +9-2-2019 08:00,3944574.3040000005,1836167.168,1836167.168 +9-2-2019 09:00,6815490.176000001,3172555.2320000003,3172555.2320000003 +9-2-2019 10:00,6753182.656,3143551.4880000004,3143551.4880000004 +9-2-2019 11:00,3222127.04,1499874.112,1499874.112 +9-2-2019 12:00,2941041.136,1369030.8720000002,1369030.8720000002 +9-2-2019 13:00,1764951.056,821570.2880000001,821570.2880000001 +9-2-2019 14:00,1387561.472,645898.6160000002,645898.6160000002 +9-2-2019 15:00,1651696.4640000002,768851.2480000001,768851.2480000001 +9-2-2019 16:00,2889422.8000000003,1345002.8240000003,1345002.8240000003 +9-2-2019 17:00,3120001.632,1452335.192,1452335.192 +9-2-2019 18:00,3202440.736,1490709.968,1490709.968 +9-2-2019 19:00,3180825.824,1480648.5760000001,1480648.5760000001 +9-2-2019 20:00,3193087.04,1486355.904,1486355.904 +9-2-2019 21:00,2472149.328,1150765.1760000002,1150765.1760000002 +9-2-2019 22:00,1080415.1600000001,502924.444,502924.444 +9-2-2019 23:00,618051.8960000001,287698.114,287698.114 +10-2-2019 00:00,614378.204,285988.05400000006,285988.05400000006 +10-2-2019 01:00,617129.128,287268.542,287268.542 +10-2-2019 02:00,630113.4400000001,293312.668,293312.668 +10-2-2019 03:00,826261.7440000001,384618.12400000007,384618.12400000007 +10-2-2019 04:00,1000883.8400000001,465903.24000000005,465903.24000000005 +10-2-2019 05:00,1153067.8720000002,536743.724,536743.724 +10-2-2019 06:00,1237439.5440000002,576018.0360000001,576018.0360000001 +10-2-2019 07:00,2130129.936,991558.128,991558.128 +10-2-2019 08:00,3849867.296,1792081.8080000002,1792081.8080000002 +10-2-2019 09:00,6816446.208000001,3172999.808,3172999.808 +10-2-2019 10:00,6656815.616,3098693.6640000003,3098693.6640000003 +10-2-2019 11:00,3289143.9680000003,1531069.7600000002,1531069.7600000002 +10-2-2019 12:00,3226371.808,1501849.712,1501849.712 +10-2-2019 13:00,2126883.44,990046.9040000001,990046.9040000001 +10-2-2019 14:00,1797099.568,836535.128,836535.128 +10-2-2019 15:00,1851138.256,861689.8400000001,861689.8400000001 +10-2-2019 16:00,3235151.3920000005,1505936.6080000002,1505936.6080000002 +10-2-2019 17:00,3432406.912,1597757.392,1597757.392 +10-2-2019 18:00,3569421.856,1661536.6240000003,1661536.6240000003 +10-2-2019 19:00,3628982.7200000007,1689261.7280000001,1689261.7280000001 +10-2-2019 20:00,3601644.64,1676536.2240000002,1676536.2240000002 +10-2-2019 21:00,2769064.1440000003,1288976.568,1288976.568 +10-2-2019 22:00,1258484.04,585814.064,585814.064 +10-2-2019 23:00,734479.5480000001,341894.212,341894.212 +11-2-2019 00:00,726644.3360000001,338247.00800000003,338247.00800000003 +11-2-2019 01:00,721443.184,335825.93,335825.93 +11-2-2019 02:00,865466.096,402867.43200000003,402867.43200000003 +11-2-2019 03:00,1044383.7360000001,486152.128,486152.128 +11-2-2019 04:00,1206492.2320000003,561612.304,561612.304 +11-2-2019 05:00,1312384.4800000002,610904.3160000001,610904.3160000001 +11-2-2019 06:00,1472760.08,685557.752,685557.752 +11-2-2019 07:00,3951390.7840000005,1839340.272,1839340.272 +11-2-2019 08:00,4154382.8480000007,1933831.3280000002,1933831.3280000002 +11-2-2019 09:00,5097615.776000001,2372898.7040000004,2372898.7040000004 +11-2-2019 10:00,4356893.024,2028098.1600000004,2028098.1600000004 +11-2-2019 11:00,1694524.4800000002,788787.384,788787.384 +11-2-2019 12:00,1950349.6320000002,907871.7120000002,907871.7120000002 +11-2-2019 13:00,1311084.2800000003,610299.008,610299.008 +11-2-2019 14:00,614225.4360000001,285916.906,285916.906 +11-2-2019 15:00,841426.784,391677.264,391677.264 +11-2-2019 16:00,2896764.64,1348420.304,1348420.304 +11-2-2019 17:00,2800866.112,1303780.2800000003,1303780.2800000003 +11-2-2019 18:00,7446462.144,3466267.2,3466267.2 +11-2-2019 19:00,4870277.28,2267074.304,2267074.304 +11-2-2019 20:00,3702216.6720000003,1723351.6960000002,1723351.6960000002 +11-2-2019 21:00,3628967.936,1689254.864,1689254.864 +11-2-2019 22:00,1980831.9520000003,922061.184,922061.184 +11-2-2019 23:00,697890.3800000001,324862.25200000004,324862.25200000004 +12-2-2019 00:00,649771.3640000001,302463.23800000007,302463.23800000007 +12-2-2019 01:00,680317.792,316682.36600000004,316682.36600000004 +12-2-2019 02:00,855831.856,398382.732,398382.732 +12-2-2019 03:00,1192670.0720000002,555178.184,555178.184 +12-2-2019 04:00,1477178.912,687614.7960000001,687614.7960000001 +12-2-2019 05:00,1483135.2800000003,690387.368,690387.368 +12-2-2019 06:00,1602076.08,745753.2720000001,745753.2720000001 +12-2-2019 07:00,4168570.208,1940435.3760000002,1940435.3760000002 +12-2-2019 08:00,4396992.864000001,2046764.368,2046764.368 +12-2-2019 09:00,5588343.904,2601328.9280000003,2601328.9280000003 +12-2-2019 10:00,4677667.808000001,2177416.208,2177416.208 +12-2-2019 11:00,1915859.2640000002,891816.9040000001,891816.9040000001 +12-2-2019 12:00,2211639.936,1029500.2960000001,1029500.2960000001 +12-2-2019 13:00,1658094.768,771829.696,771829.696 +12-2-2019 14:00,1199496.848,558356.04,558356.04 +12-2-2019 15:00,1609949.2640000002,749418.2080000001,749418.2080000001 +12-2-2019 16:00,3056466.6880000005,1422760.328,1422760.328 +12-2-2019 17:00,2782813.44,1295376.8960000002,1295376.8960000002 +12-2-2019 18:00,7429706.240000001,3458467.936,3458467.936 +12-2-2019 19:00,5063145.824,2356852.784,2356852.784 +12-2-2019 20:00,3433115.136,1598086.864,1598086.864 +12-2-2019 21:00,3446523.5200000005,1604328.5280000002,1604328.5280000002 +12-2-2019 22:00,1853535.2000000002,862805.5040000001,862805.5040000001 +12-2-2019 23:00,618786.784,288040.21400000004,288040.21400000004 +13-2-2019 00:00,601094.2960000001,279804.47000000003,279804.47000000003 +13-2-2019 01:00,606404.4800000001,282276.324,282276.324 +13-2-2019 02:00,613308.8720000001,285490.216,285490.216 +13-2-2019 03:00,833479.856,387978.052,387978.052 +13-2-2019 04:00,1132184.9440000001,527022.848,527022.848 +13-2-2019 05:00,1253808.688,583637.736,583637.736 +13-2-2019 06:00,1410951.168,656786.196,656786.196 +13-2-2019 07:00,3756156.8000000003,1748460.208,1748460.208 +13-2-2019 08:00,4180469.5680000004,1945974.448,1945974.448 +13-2-2019 09:00,5365611.328000001,2497648.208,2497648.208 +13-2-2019 10:00,4357090.496,2028190.0320000004,2028190.0320000004 +13-2-2019 11:00,1898598.5920000002,883782.152,883782.152 +13-2-2019 12:00,2297132.816,1069296.448,1069296.448 +13-2-2019 13:00,1758924.992,818765.2000000001,818765.2000000001 +13-2-2019 14:00,1399571.0080000001,651488.9040000001,651488.9040000001 +13-2-2019 15:00,1588089.536,739242.6800000002,739242.6800000002 +13-2-2019 16:00,3001533.568,1397189.2880000002,1397189.2880000002 +13-2-2019 17:00,2764105.8720000004,1286668.8560000001,1286668.8560000001 +13-2-2019 18:00,7445299.840000001,3465726.5280000004,3465726.5280000004 +13-2-2019 19:00,5130863.584000001,2388374.912,2388374.912 +13-2-2019 20:00,3536495.072,1646209.4880000001,1646209.4880000001 +13-2-2019 21:00,3541366.4000000004,1648477.2480000001,1648477.2480000001 +13-2-2019 22:00,1929296.3360000001,898071.6800000002,898071.6800000002 +13-2-2019 23:00,659782.156,307123.23400000005,307123.23400000005 +14-2-2019 00:00,682920.92,317894.082,317894.082 +14-2-2019 01:00,668023.268,310959.37400000007,310959.37400000007 +14-2-2019 02:00,756194.9120000001,352002.552,352002.552 +14-2-2019 03:00,1230339.0880000002,572712.756,572712.756 +14-2-2019 04:00,1436239.904,668557.9120000001,668557.9120000001 +14-2-2019 05:00,1572172.0960000001,731833.256,731833.256 +14-2-2019 06:00,1714411.0720000002,798044.456,798044.456 +14-2-2019 07:00,4452437.44,2072573.3600000003,2072573.3600000003 +14-2-2019 08:00,4460127.584000001,2076153.2000000002,2076153.2000000002 +14-2-2019 09:00,5383896.672,2506160.4480000003,2506160.4480000003 +14-2-2019 10:00,4519407.904,2103747.5360000003,2103747.5360000003 +14-2-2019 11:00,1763882.208,821072.824,821072.824 +14-2-2019 12:00,2066379.7440000002,961882.856,961882.856 +14-2-2019 13:00,1478381.168,688174.388,688174.388 +14-2-2019 14:00,1133527.296,527647.736,527647.736 +14-2-2019 15:00,1304830.12,607387.704,607387.704 +14-2-2019 16:00,2759818.688,1284673.016,1284673.016 +14-2-2019 17:00,2733281.0560000003,1272320.104,1272320.104 +14-2-2019 18:00,7596540.16,3536127.2320000003,3536127.2320000003 +14-2-2019 19:00,5514514.720000001,2566961.408,2566961.408 +14-2-2019 20:00,3912257.8880000003,1821124.272,1821124.272 +14-2-2019 21:00,3862175.328,1797811.1360000002,1797811.1360000002 +14-2-2019 22:00,2138848.9760000003,995616.7760000001,995616.7760000001 +14-2-2019 23:00,716946.736,333732.87200000003,333732.87200000003 +15-2-2019 00:00,682696.784,317789.75800000003,317789.75800000003 +15-2-2019 01:00,724370.9440000001,337188.764,337188.764 +15-2-2019 02:00,911839.8080000001,424454.0080000001,424454.0080000001 +15-2-2019 03:00,1261162.32,587060.672,587060.672 +15-2-2019 04:00,1436335.2960000003,668602.352,668602.352 +15-2-2019 05:00,1557231.9840000002,724878.792,724878.792 +15-2-2019 06:00,1759128.6240000003,818859.9760000001,818859.9760000001 +15-2-2019 07:00,4498203.424000001,2093876.928,2093876.928 +15-2-2019 08:00,4406397.248000001,2051142.0160000003,2051142.0160000003 +15-2-2019 09:00,4764186.592,2217689.7600000002,2217689.7600000002 +15-2-2019 10:00,3449547.2,1605736.3520000002,1605736.3520000002 +15-2-2019 11:00,851563.064,396395.64800000004,396395.64800000004 +15-2-2019 12:00,1467637.424,683173.172,683173.172 +15-2-2019 13:00,574201.496,267286.096,267286.096 +15-2-2019 14:00,210970.276,98204.94200000001,98204.94200000001 +15-2-2019 15:00,397964.60000000003,185249.284,185249.284 +15-2-2019 16:00,1862115.0240000002,866799.384,866799.384 +15-2-2019 17:00,2411714.624,1122633.424,1122633.424 +15-2-2019 18:00,6977983.936000001,3248194.752,3248194.752 +15-2-2019 19:00,4482494.720000001,2086564.4800000002,2086564.4800000002 +15-2-2019 20:00,3412974.752,1588711.8720000002,1588711.8720000002 +15-2-2019 21:00,3598680.4480000003,1675156.5600000003,1675156.5600000003 +15-2-2019 22:00,2000597.2800000003,931261.76,931261.76 +15-2-2019 23:00,668539.784,311199.76800000004,311199.76800000004 +16-2-2019 00:00,627694.1000000001,292186.466,292186.466 +16-2-2019 01:00,680164.3640000001,316610.976,316610.976 +16-2-2019 02:00,739336.0480000001,344154.91,344154.91 +16-2-2019 03:00,1106467.296,515051.46,515051.46 +16-2-2019 04:00,1317602.6160000002,613333.2480000001,613333.2480000001 +16-2-2019 05:00,1534678.816,714380.392,714380.392 +16-2-2019 06:00,1683277.0240000002,783551.736,783551.736 +16-2-2019 07:00,2604414.032,1212333.4960000003,1212333.4960000003 +16-2-2019 08:00,4328406.368,2014837.7920000001,2014837.7920000001 +16-2-2019 09:00,7093335.744000001,3301889.536,3301889.536 +16-2-2019 10:00,7408004.7360000005,3448365.8880000003,3448365.8880000003 +16-2-2019 11:00,3153094.208,1467739.4160000002,1467739.4160000002 +16-2-2019 12:00,2876877.8720000004,1339163.2320000003,1339163.2320000003 +16-2-2019 13:00,1677261.168,780751.488,780751.488 +16-2-2019 14:00,1293106.672,601930.692,601930.692 +16-2-2019 15:00,1262633.504,587745.5760000001,587745.5760000001 +16-2-2019 16:00,2658764.944,1237633.4960000003,1237633.4960000003 +16-2-2019 17:00,2979040.0640000007,1386719.048,1386719.048 +16-2-2019 18:00,3392353.536,1579112.8320000002,1579112.8320000002 +16-2-2019 19:00,3649185.4080000003,1698665.9360000002,1698665.9360000002 +16-2-2019 20:00,3688606.5920000006,1717016.4000000001,1717016.4000000001 +16-2-2019 21:00,2910971.1840000004,1355033.328,1355033.328 +16-2-2019 22:00,1362628.344,634292.3400000001,634292.3400000001 +16-2-2019 23:00,823637.76,383396.6400000001,383396.6400000001 +17-2-2019 00:00,831065.136,386854.07200000004,386854.07200000004 +17-2-2019 01:00,907721.056,422536.70800000004,422536.70800000004 +17-2-2019 02:00,1164168.72,541910.996,541910.996 +17-2-2019 03:00,1386067.408,645203.1080000001,645203.1080000001 +17-2-2019 04:00,1498858.9440000001,697706.5040000001,697706.5040000001 +17-2-2019 05:00,1692064.176,787642.064,787642.064 +17-2-2019 06:00,1760425.568,819463.6560000001,819463.6560000001 +17-2-2019 07:00,2706071.984,1259654.2640000002,1259654.2640000002 +17-2-2019 08:00,4397560.640000001,2047028.7200000002,2047028.7200000002 +17-2-2019 09:00,7504264.768,3493174.4320000005,3493174.4320000005 +17-2-2019 10:00,7597485.632000001,3536567.936,3536567.936 +17-2-2019 11:00,3319630.6880000005,1545260.992,1545260.992 +17-2-2019 12:00,2946749.3440000005,1371687.768,1371687.768 +17-2-2019 13:00,1605279.104,747244.3440000002,747244.3440000002 +17-2-2019 14:00,1124070.7280000001,523245.75600000005,523245.75600000005 +17-2-2019 15:00,993452.768,462444.13600000006,462444.13600000006 +17-2-2019 16:00,2414354.9760000003,1123862.608,1123862.608 +17-2-2019 17:00,2844033.1040000003,1323874.2000000002,1323874.2000000002 +17-2-2019 18:00,3006218.336,1399370.2800000003,1399370.2800000003 +17-2-2019 19:00,3108565.856,1447012.1600000001,1447012.1600000001 +17-2-2019 20:00,3365757.1200000006,1566732.816,1566732.816 +17-2-2019 21:00,2621862.848,1220455.6320000002,1220455.6320000002 +17-2-2019 22:00,1224075.0720000002,569796.964,569796.964 +17-2-2019 23:00,770616.9680000001,358715.852,358715.852 +18-2-2019 00:00,785486.4160000001,365637.47000000003,365637.47000000003 +18-2-2019 01:00,803869.8800000001,374194.92000000004,374194.92000000004 +18-2-2019 02:00,1064355.2480000001,495448.66800000006,495448.66800000006 +18-2-2019 03:00,1318222.048,613621.6240000001,613621.6240000001 +18-2-2019 04:00,1398058.64,650784.9480000001,650784.9480000001 +18-2-2019 05:00,1526757.2320000003,710693.06,710693.06 +18-2-2019 06:00,1704111.5520000001,793249.952,793249.952 +18-2-2019 07:00,4323224.928,2012425.712,2012425.712 +18-2-2019 08:00,4318189.216,2010081.9200000002,2010081.9200000002 +18-2-2019 09:00,5358975.072,2494559.0560000003,2494559.0560000003 +18-2-2019 10:00,4304001.504000001,2003477.52,2003477.52 +18-2-2019 11:00,1472958.4320000003,685650.196,685650.196 +18-2-2019 12:00,1756245.3920000002,817517.9760000001,817517.9760000001 +18-2-2019 13:00,1157812.7440000002,538952.4360000001,538952.4360000001 +18-2-2019 14:00,818507.5360000001,381008.58400000003,381008.58400000003 +18-2-2019 15:00,962786.088,448169.04000000004,448169.04000000004 +18-2-2019 16:00,2464705.7600000002,1147300.4400000002,1147300.4400000002 +18-2-2019 17:00,2362179.072,1099575.0480000002,1099575.0480000002 +18-2-2019 18:00,7236460.352000001,3368513.2800000003,3368513.2800000003 +18-2-2019 19:00,4350819.968,2025271.2480000001,2025271.2480000001 +18-2-2019 20:00,3372582.0480000004,1569909.2640000002,1569909.2640000002 +18-2-2019 21:00,3464883.4880000004,1612875.0880000002,1612875.0880000002 +18-2-2019 22:00,1849090.144,860736.36,860736.36 +18-2-2019 23:00,561492.712,261370.25200000004,261370.25200000004 +19-2-2019 00:00,551296.636,256624.10400000005,256624.10400000005 +19-2-2019 01:00,558242.3,259857.22400000002,259857.22400000002 +19-2-2019 02:00,565152.5880000001,263073.93200000003,263073.93200000003 +19-2-2019 03:00,645378.492,300418.426,300418.426 +19-2-2019 04:00,975730.888,454194.75200000004,454194.75200000004 +19-2-2019 05:00,1147136.144,533982.5480000001,533982.5480000001 +19-2-2019 06:00,1342171.0720000002,624769.728,624769.728 +19-2-2019 07:00,3529294.5600000005,1642857.7440000002,1642857.7440000002 +19-2-2019 08:00,3993186.208,1858795.4880000001,1858795.4880000001 +19-2-2019 09:00,4969452.576,2313239.632,2313239.632 +19-2-2019 10:00,3809101.1200000006,1773105.664,1773105.664 +19-2-2019 11:00,1516017.1840000001,705693.7800000001,705693.7800000001 +19-2-2019 12:00,1941709.0880000002,903849.76,903849.76 +19-2-2019 13:00,1318984.304,613976.528,613976.528 +19-2-2019 14:00,1095537.784,509963.916,509963.916 +19-2-2019 15:00,936976.7440000001,436155.01600000006,436155.01600000006 +19-2-2019 16:00,2730811.952,1271170.8240000003,1271170.8240000003 +19-2-2019 17:00,2578208.8640000005,1200135.2000000002,1200135.2000000002 +19-2-2019 18:00,7186922.688000001,3345453.7600000002,3345453.7600000002 +19-2-2019 19:00,4514670.688,2101542.08,2101542.08 +19-2-2019 20:00,3338396.512,1553996.048,1553996.048 +19-2-2019 21:00,3239471.8400000003,1507947.7600000002,1507947.7600000002 +19-2-2019 22:00,1751691.568,815398.1440000001,815398.1440000001 +19-2-2019 23:00,582163.384,270992.326,270992.326 +20-2-2019 00:00,572573.452,266528.26200000005,266528.26200000005 +20-2-2019 01:00,574105.356,267241.37000000005,267241.37000000005 +20-2-2019 02:00,580314.768,270131.79600000003,270131.79600000003 +20-2-2019 03:00,695414.9839999999,323709.98000000004,323709.98000000004 +20-2-2019 04:00,988711.152,460236.96400000004,460236.96400000004 +20-2-2019 05:00,1174432.2480000001,546688.604,546688.604 +20-2-2019 06:00,1346419.1840000001,626747.1760000001,626747.1760000001 +20-2-2019 07:00,3576002.8480000007,1664600.08,1664600.08 +20-2-2019 08:00,4061836.0640000007,1890751.6320000002,1890751.6320000002 +20-2-2019 09:00,5032445.792,2342562.816,2342562.816 +20-2-2019 10:00,3856813.3120000004,1795315.104,1795315.104 +20-2-2019 11:00,1425101.392,663373.128,663373.128 +20-2-2019 12:00,1864679.8720000002,867993.2800000001,867993.2800000001 +20-2-2019 13:00,1335375.712,621606.4800000001,621606.4800000001 +20-2-2019 14:00,800155.488,372465.8080000001,372465.8080000001 +20-2-2019 15:00,1073423.824,499670.028,499670.028 +20-2-2019 16:00,2597266.848,1209006.4800000002,1209006.4800000002 +20-2-2019 17:00,2386152.208,1110734.5040000002,1110734.5040000002 +20-2-2019 18:00,7036767.232000001,3275557.472,3275557.472 +20-2-2019 19:00,4335725.856000001,2018245.1520000002,2018245.1520000002 +20-2-2019 20:00,3177167.4880000004,1478945.424,1478945.424 +20-2-2019 21:00,3133759.552,1458739.4800000002,1458739.4800000002 +20-2-2019 22:00,1709251.8080000002,795642.76,795642.76 +20-2-2019 23:00,572405.46,266450.074,266450.074 +21-2-2019 00:00,550874.192,256427.46800000002,256427.46800000002 +21-2-2019 01:00,554275.876,258010.896,258010.896 +21-2-2019 02:00,563071.8720000001,262105.36000000002,262105.36000000002 +21-2-2019 03:00,637757.824,296871.0580000001,296871.0580000001 +21-2-2019 04:00,901462.8480000001,419623.60000000003,419623.60000000003 +21-2-2019 05:00,1102548.392,513227.3520000001,513227.3520000001 +21-2-2019 06:00,1299030.4800000002,604688.128,604688.128 +21-2-2019 07:00,3446297.8880000003,1604223.456,1604223.456 +21-2-2019 08:00,3935026.6560000004,1831722.992,1831722.992 +21-2-2019 09:00,4889910.784000001,2276213.632,2276213.632 +21-2-2019 10:00,3694533.568,1719775.0240000002,1719775.0240000002 +21-2-2019 11:00,1461868.408,680487.8960000001,680487.8960000001 +21-2-2019 12:00,1801952.768,838794.352,838794.352 +21-2-2019 13:00,1240688.6800000002,577530.4040000001,577530.4040000001 +21-2-2019 14:00,885182.056,412045.04000000004,412045.04000000004 +21-2-2019 15:00,1172417.928,545750.92,545750.92 +21-2-2019 16:00,2701632.5600000005,1257587.848,1257587.848 +21-2-2019 17:00,2439562.4000000004,1135596.264,1135596.264 +21-2-2019 18:00,7035864.000000001,3275137.1840000004,3275137.1840000004 +21-2-2019 19:00,4282091.616,1993278.6720000003,1993278.6720000003 +21-2-2019 20:00,3024400.1920000003,1407833.5920000002,1407833.5920000002 +21-2-2019 21:00,2952281.9040000006,1374263.0880000002,1374263.0880000002 +21-2-2019 22:00,1576485.504,733841.1080000001,733841.1080000001 +21-2-2019 23:00,514199.53200000006,239355.66600000003,239355.66600000003 +22-2-2019 00:00,504807.46800000005,234983.76000000004,234983.76000000004 +22-2-2019 01:00,503647.628,234443.88,234443.88 +22-2-2019 02:00,502948.204,234118.28,234118.28 +22-2-2019 03:00,508385.98800000007,236649.51200000005,236649.51200000005 +22-2-2019 04:00,634327.584,295274.342,295274.342 +22-2-2019 05:00,824743.4800000001,383911.352,383911.352 +22-2-2019 06:00,996598.3280000001,463908.368,463908.368 +22-2-2019 07:00,2986873.824,1390365.328,1390365.328 +22-2-2019 08:00,3668332.4480000003,1707578.752,1707578.752 +22-2-2019 09:00,4674666.3040000005,2176019.12,2176019.12 +22-2-2019 10:00,3342627.9040000006,1555966.0160000003,1555966.0160000003 +22-2-2019 11:00,1220713.5600000003,568232.324,568232.324 +22-2-2019 12:00,1649968.4960000003,768046.9280000001,768046.9280000001 +22-2-2019 13:00,1131806.72,526846.76,526846.76 +22-2-2019 14:00,791490.92,368432.592,368432.592 +22-2-2019 15:00,944943.56,439863.51200000005,439863.51200000005 +22-2-2019 16:00,2395278.16,1114982.4400000002,1114982.4400000002 +22-2-2019 17:00,2184999.344,1017099.424,1017099.424 +22-2-2019 18:00,6818508.224,3173960.0640000007,3173960.0640000007 +22-2-2019 19:00,3899114.5600000005,1815006.1600000001,1815006.1600000001 +22-2-2019 20:00,3111242.4640000006,1448257.8,1448257.8 +22-2-2019 21:00,2991563.168,1392548.344,1392548.344 +22-2-2019 22:00,1608345.7280000001,748671.792,748671.792 +22-2-2019 23:00,539725.824,251237.95400000003,251237.95400000003 +23-2-2019 00:00,539719.312,251234.94,251234.94 +23-2-2019 01:00,553631.54,257710.948,257710.948 +23-2-2019 02:00,558645.736,260045.01600000003,260045.01600000003 +23-2-2019 03:00,596656.324,277738.62600000005,277738.62600000005 +23-2-2019 04:00,902357.984,420040.28,420040.28 +23-2-2019 05:00,1053281.152,490293.76,490293.76 +23-2-2019 06:00,1298163.1520000002,604284.4280000001,604284.4280000001 +23-2-2019 07:00,2263931.296,1053841.536,1053841.536 +23-2-2019 08:00,3919765.696,1824618.928,1824618.928 +23-2-2019 09:00,6719529.3440000005,3127886.08,3127886.08 +23-2-2019 10:00,5845542.9120000005,2721052.224,2721052.224 +23-2-2019 11:00,2828908.3680000002,1316833.7600000002,1316833.7600000002 +23-2-2019 12:00,2301646.336,1071397.624,1071397.624 +23-2-2019 13:00,593103.9839999999,276085.01800000004,276085.01800000004 +23-2-2019 14:00,765628.16,356393.68600000005,356393.68600000005 +23-2-2019 15:00,737500.72,343300.606,343300.606 +23-2-2019 16:00,2173791.4880000004,1011882.3440000002,1011882.3440000002 +23-2-2019 17:00,2724466.096,1268216.752,1268216.752 +23-2-2019 18:00,2895309.296,1347742.7920000001,1347742.7920000001 +23-2-2019 19:00,2966474.7200000007,1380869.688,1380869.688 +23-2-2019 20:00,3215034.944,1496572.5280000002,1496572.5280000002 +23-2-2019 21:00,2760970.256,1285209.0240000002,1285209.0240000002 +23-2-2019 22:00,1108423.272,515962.08400000003,515962.08400000003 +23-2-2019 23:00,653205.3,304061.73600000003,304061.73600000003 +24-2-2019 00:00,676532.164,314920.21,314920.21 +24-2-2019 01:00,693119.284,322641.396,322641.396 +24-2-2019 02:00,823146.8080000001,383168.10400000005,383168.10400000005 +24-2-2019 03:00,1045567.6000000001,486703.18400000007,486703.18400000007 +24-2-2019 04:00,1296214.392,603377.2800000001,603377.2800000001 +24-2-2019 05:00,1535727.776,714868.792,714868.792 +24-2-2019 06:00,1653681.9200000002,769775.424,769775.424 +24-2-2019 07:00,2644499.968,1230993.192,1230993.192 +24-2-2019 08:00,4068858.8160000006,1894020.304,1894020.304 +24-2-2019 09:00,6472385.920000001,3012842.6240000003,3012842.6240000003 +24-2-2019 10:00,5405389.792,2516164.816,2516164.816 +24-2-2019 11:00,1867359.2960000003,869240.5040000001,869240.5040000001 +24-2-2019 12:00,1834510.8320000002,853949.888,853949.888 +24-2-2019 13:00,1155534.1600000001,537891.728,537891.728 +24-2-2019 14:00,858831.952,399779.248,399779.248 +24-2-2019 15:00,741024.3280000001,344940.77200000006,344940.77200000006 +24-2-2019 16:00,2079947.7600000002,968198.7040000001,968198.7040000001 +24-2-2019 17:00,2409825.7920000004,1121754.304,1121754.304 +24-2-2019 18:00,2793422.0160000003,1300315.192,1300315.192 +24-2-2019 19:00,3063255.3600000003,1425920.408,1425920.408 +24-2-2019 20:00,3286156.1920000003,1529679.0080000001,1529679.0080000001 +24-2-2019 21:00,2624552.128,1221707.6080000002,1221707.6080000002 +24-2-2019 22:00,1252007.8560000001,582799.4040000001,582799.4040000001 +24-2-2019 23:00,795418.4480000001,370260.792,370260.792 +25-2-2019 00:00,806408.3280000001,375376.49600000004,375376.49600000004 +25-2-2019 01:00,825589.2480000001,384305.064,384305.064 +25-2-2019 02:00,1137765.904,529620.7400000001,529620.7400000001 +25-2-2019 03:00,1319184.1520000002,614069.368,614069.368 +25-2-2019 04:00,1482098.4640000002,689904.7760000001,689904.7760000001 +25-2-2019 05:00,1542366.848,717959.22,717959.22 +25-2-2019 06:00,1660890.0000000002,773130.7760000001,773130.7760000001 +25-2-2019 07:00,4407635.936,2051718.7680000002,2051718.7680000002 +25-2-2019 08:00,4089154.7840000005,1903468.1600000001,1903468.1600000001 +25-2-2019 09:00,4403053.600000001,2049585.4720000003,2049585.4720000003 +25-2-2019 10:00,2930749.1840000004,1364239.536,1364239.536 +25-2-2019 11:00,666022.1480000002,310027.85000000003,310027.85000000003 +25-2-2019 12:00,811919.064,377941.696,377941.696 +25-2-2019 13:00,267110.668,124337.84,124337.84 +25-2-2019 14:00,376733.58800000005,175366.41100000002,175366.41100000002 +25-2-2019 15:00,450817.75200000004,209851.99400000004,209851.99400000004 +25-2-2019 16:00,1459481.6720000003,679376.8960000001,679376.8960000001 +25-2-2019 17:00,1643411.44,764994.56,764994.56 +25-2-2019 18:00,6728645.440000001,3132129.7920000004,3132129.7920000004 +25-2-2019 19:00,3655536.896,1701622.736,1701622.736 +25-2-2019 20:00,3226889.2480000006,1502090.6560000002,1502090.6560000002 +25-2-2019 21:00,3313013.0880000005,1542180.6400000001,1542180.6400000001 +25-2-2019 22:00,1829143.3600000003,851451.392,851451.392 +25-2-2019 23:00,649816.992,302484.53400000004,302484.53400000004 +26-2-2019 00:00,650979.384,303025.602,303025.602 +26-2-2019 01:00,667880.4,310892.912,310892.912 +26-2-2019 02:00,683569.3040000001,318195.944,318195.944 +26-2-2019 03:00,1154694.376,537500.7880000001,537500.7880000001 +26-2-2019 04:00,1378951.64,641890.7440000001,641890.7440000001 +26-2-2019 05:00,1526502.384,710574.4360000001,710574.4360000001 +26-2-2019 06:00,1710410.24,796182.024,796182.024 +26-2-2019 07:00,4262963.232000001,1984374.6560000002,1984374.6560000002 +26-2-2019 08:00,4159072.544,1936014.4320000003,1936014.4320000003 +26-2-2019 09:00,4847573.632,2256506.032,2256506.032 +26-2-2019 10:00,3503679.5200000005,1630934.448,1630934.448 +26-2-2019 11:00,831694.424,387146.98000000004,387146.98000000004 +26-2-2019 12:00,1258405.8960000002,585777.8080000001,585777.8080000001 +26-2-2019 13:00,622084.3640000001,289575.24199999997,289575.24199999997 +26-2-2019 14:00,325821.93600000005,151667.439,151667.439 +26-2-2019 15:00,491580.716,228826.81800000003,228826.81800000003 +26-2-2019 16:00,1634149.7920000001,760683.352,760683.352 +26-2-2019 17:00,1794360.8320000002,835260.2720000001,835260.2720000001 +26-2-2019 18:00,6793861.888,3162486.9760000003,3162486.9760000003 +26-2-2019 19:00,3837942.5920000006,1786530.768,1786530.768 +26-2-2019 20:00,3171808.9920000006,1476450.976,1476450.976 +26-2-2019 21:00,3279966.6240000003,1526797.536,1526797.536 +26-2-2019 22:00,1817845.2160000002,846192.16,846192.16 +26-2-2019 23:00,626821.36,291780.28,291780.28 +27-2-2019 00:00,630870.5480000001,293665.086,293665.086 +27-2-2019 01:00,636212.1480000002,296151.57000000007,296151.57000000007 +27-2-2019 02:00,657458.5160000001,306041.60400000005,306041.60400000005 +27-2-2019 03:00,1051651.304,489535.068,489535.068 +27-2-2019 04:00,1281885.8800000001,596707.452,596707.452 +27-2-2019 05:00,1366341.9440000001,636021.1000000001,636021.1000000001 +27-2-2019 06:00,1474691.24,686456.7160000001,686456.7160000001 +27-2-2019 07:00,3905771.936,1818105.168,1818105.168 +27-2-2019 08:00,3834923.4880000004,1785125.584,1785125.584 +27-2-2019 09:00,4224489.28,1966465.2480000001,1966465.2480000001 +27-2-2019 10:00,2524588.88,1175175.408,1175175.408 +27-2-2019 11:00,243679.458,113430.801,113430.801 +27-2-2019 12:00,588466.384,273926.29000000004,273926.29000000004 +27-2-2019 13:00,175679.713,81777.48700000001,81777.48700000001 +27-2-2019 14:00,68244.209,31767.120000000003,31767.120000000003 +27-2-2019 15:00,262479.84400000004,122182.225,122182.225 +27-2-2019 16:00,489712.34400000004,227957.114,227957.114 +27-2-2019 17:00,1139016.824,530203.0360000001,530203.0360000001 +27-2-2019 18:00,5906951.424000001,2749637.7920000004,2749637.7920000004 +27-2-2019 19:00,2628602.0640000002,1223592.7440000002,1223592.7440000002 +27-2-2019 20:00,2696758.768,1255319.12,1255319.12 +27-2-2019 21:00,2606655.9200000004,1213377.176,1213377.176 +27-2-2019 22:00,1424551.392,663117.18,663117.18 +27-2-2019 23:00,444795.25200000004,207048.556,207048.556 +28-2-2019 00:00,445781.16000000003,207507.49800000002,207507.49800000002 +28-2-2019 01:00,497732.97200000007,231690.646,231690.646 +28-2-2019 02:00,556057.26,258840.14200000002,258840.14200000002 +28-2-2019 03:00,658328.2640000001,306446.40400000004,306446.40400000004 +28-2-2019 04:00,997774.5360000001,464455.86,464455.86 +28-2-2019 05:00,1036559.5680000001,482510.028,482510.028 +28-2-2019 06:00,1407526.0320000001,655191.856,655191.856 +28-2-2019 07:00,3649364.5760000004,1698749.3600000003,1698749.3600000003 +28-2-2019 08:00,3117002.24,1450938.9840000002,1450938.9840000002 +28-2-2019 09:00,4654739.232000001,2166743.216,2166743.216 +28-2-2019 10:00,3451993.2480000006,1606874.5440000002,1606874.5440000002 +28-2-2019 11:00,1177628.32,548176.2880000001,548176.2880000001 +28-2-2019 12:00,1199511.8960000002,558362.9480000001,558362.9480000001 +28-2-2019 13:00,1178171.016,548428.98,548428.98 +28-2-2019 14:00,787304.584,366483.85400000005,366483.85400000005 +28-2-2019 15:00,795340.392,370224.492,370224.492 +28-2-2019 16:00,1302177.8,606153.1080000001,606153.1080000001 +28-2-2019 17:00,2136920.1920000003,994718.9120000001,994718.9120000001 +28-2-2019 18:00,6758009.28,3145797.952,3145797.952 +28-2-2019 19:00,3627276.224,1688467.44,1688467.44 +28-2-2019 20:00,2793761.8720000004,1300473.24,1300473.24 +28-2-2019 21:00,2751823.536,1280951.4960000003,1280951.4960000003 +28-2-2019 22:00,1443132.1520000002,671766.26,671766.26 +28-2-2019 23:00,474855.5240000001,221041.39200000002,221041.39200000002 +1-3-2019 00:00,475060.564,221136.806,221136.806 +1-3-2019 01:00,478218.092,222606.60400000002,222606.60400000002 +1-3-2019 02:00,493507.65200000006,229723.78,229723.78 +1-3-2019 03:00,515108.17600000004,239778.66000000003,239778.66000000003 +1-3-2019 04:00,635522.096,295830.37000000005,295830.37000000005 +1-3-2019 05:00,830326.9040000001,386510.43200000003,386510.43200000003 +1-3-2019 06:00,1017160.2320000001,473479.82000000007,473479.82000000007 +1-3-2019 07:00,2957100.608,1376506.208,1376506.208 +1-3-2019 08:00,2917648.2720000003,1358141.312,1358141.312 +1-3-2019 09:00,4606996.064,2144519.168,2144519.168 +1-3-2019 10:00,3398840.1920000003,1582132.2880000002,1582132.2880000002 +1-3-2019 11:00,1436999.08,668911.3640000001,668911.3640000001 +1-3-2019 12:00,1974999.84,919346.2960000001,919346.2960000001 +1-3-2019 13:00,1443885.6080000002,672116.9839999999,672116.9839999999 +1-3-2019 14:00,1072265.04,499130.63200000004,499130.63200000004 +1-3-2019 15:00,1183574.7440000002,550944.3720000001,550944.3720000001 +1-3-2019 16:00,1707794.3520000002,794964.368,794964.368 +1-3-2019 17:00,2561461.2320000003,1192339.2800000003,1192339.2800000003 +1-3-2019 18:00,7133884.7360000005,3320765.1840000004,3320765.1840000004 +1-3-2019 19:00,4221799.648000001,1965213.3600000003,1965213.3600000003 +1-3-2019 20:00,3152242.3680000002,1467343.064,1467343.064 +1-3-2019 21:00,3127364.0640000007,1455762.44,1455762.44 +1-3-2019 22:00,1732622.6720000003,806521.6720000001,806521.6720000001 +1-3-2019 23:00,573705.3960000001,267055.14,267055.14 +2-3-2019 00:00,596947.032,277873.992,277873.992 +2-3-2019 01:00,571759.584,266149.422,266149.422 +2-3-2019 02:00,571965.2400000001,266245.14400000003,266245.14400000003 +2-3-2019 03:00,694992.1440000001,323513.168,323513.168 +2-3-2019 04:00,908817.4480000001,423047.10800000007,423047.10800000007 +2-3-2019 05:00,1097961.392,511092.12000000005,511092.12000000005 +2-3-2019 06:00,1227338.2000000002,571315.932,571315.932 +2-3-2019 07:00,2134461.296,993574.2960000001,993574.2960000001 +2-3-2019 08:00,3143412.8000000003,1463232.848,1463232.848 +2-3-2019 09:00,6460439.040000001,3007281.728,3007281.728 +2-3-2019 10:00,6059463.1680000005,2820630.912,2820630.912 +2-3-2019 11:00,2744998.4320000005,1277774.344,1277774.344 +2-3-2019 12:00,2130091.568,991540.1760000001,991540.1760000001 +2-3-2019 13:00,1057618.672,492312.876,492312.876 +2-3-2019 14:00,1115084.52,519062.72000000003,519062.72000000003 +2-3-2019 15:00,1014565.7280000001,472272.064,472272.064 +2-3-2019 16:00,1375537.24,640301.464,640301.464 +2-3-2019 17:00,2706799.7440000004,1259993.328,1259993.328 +2-3-2019 18:00,2757859.4560000002,1283761.0720000002,1283761.0720000002 +2-3-2019 19:00,2754478.4960000003,1282187.192,1282187.192 +2-3-2019 20:00,2750159.28,1280176.656,1280176.656 +2-3-2019 21:00,2148942.576,1000315.184,1000315.184 +2-3-2019 22:00,929264.2480000001,432564.96800000005,432564.96800000005 +2-3-2019 23:00,537510.468,250206.74800000002,250206.74800000002 +3-3-2019 00:00,514415.08800000005,239456.03,239456.03 +3-3-2019 01:00,500227.81600000005,232851.96000000002,232851.96000000002 +3-3-2019 02:00,505828.31200000003,235458.938,235458.938 +3-3-2019 03:00,500803.46800000005,233119.92000000004,233119.92000000004 +3-3-2019 04:00,674103.408,313789.696,313789.696 +3-3-2019 05:00,781048.3120000002,363571.692,363571.692 +3-3-2019 06:00,900460.528,419156.98000000004,419156.98000000004 +3-3-2019 07:00,1809675.648,842389.2400000001,842389.2400000001 +3-3-2019 08:00,2804148.8640000005,1305308.5760000001,1305308.5760000001 +3-3-2019 09:00,5697048.192,2651929.4560000002,2651929.4560000002 +3-3-2019 10:00,4911360.96,2286198.288,2286198.288 +3-3-2019 11:00,2337468.4960000003,1088072.5680000002,1088072.5680000002 +3-3-2019 12:00,2118996.176,986375.456,986375.456 +3-3-2019 13:00,1269265.36,590832.66,590832.66 +3-3-2019 14:00,898375.0160000002,418186.29600000003,418186.29600000003 +3-3-2019 15:00,721707.2720000001,335948.82200000004,335948.82200000004 +3-3-2019 16:00,1038853.552,483577.864,483577.864 +3-3-2019 17:00,2322681.68,1081189.384,1081189.384 +3-3-2019 18:00,2421502.336,1127189.536,1127189.536 +3-3-2019 19:00,2447646.9600000004,1139359.672,1139359.672 +3-3-2019 20:00,2448431.9200000004,1139725.0480000002,1139725.0480000002 +3-3-2019 21:00,1853802.192,862929.76,862929.76 +3-3-2019 22:00,769440.2320000001,358168.1400000001,358168.1400000001 +3-3-2019 23:00,418967.25200000004,195025.842,195025.842 +4-3-2019 00:00,423056.83200000005,196929.50200000004,196929.50200000004 +4-3-2019 01:00,416372.176,193817.844,193817.844 +4-3-2019 02:00,418055.528,194601.44,194601.44 +4-3-2019 03:00,422833.884,196825.706,196825.706 +4-3-2019 04:00,434572.82000000007,202290.11000000002,202290.11000000002 +4-3-2019 05:00,537301.292,250109.35400000002,250109.35400000002 +4-3-2019 06:00,824076.0000000001,383600.62400000007,383600.62400000007 +4-3-2019 07:00,2532034.032,1178641.112,1178641.112 +4-3-2019 08:00,2635793.072,1226940.176,1226940.176 +4-3-2019 09:00,4172168.352,1942110.368,1942110.368 +4-3-2019 10:00,3004101.0560000003,1398384.504,1398384.504 +4-3-2019 11:00,1118462.928,520635.412,520635.412 +4-3-2019 12:00,1675401.2000000002,779885.6560000001,779885.6560000001 +4-3-2019 13:00,1011426.9440000001,470811.00000000006,470811.00000000006 +4-3-2019 14:00,791196.12,368295.356,368295.356 +4-3-2019 15:00,665914.92,309977.976,309977.976 +4-3-2019 16:00,1258866.5760000001,585992.0440000001,585992.0440000001 +4-3-2019 17:00,2199838.256,1024006.8080000001,1024006.8080000001 +4-3-2019 18:00,6719694.784000001,3127962.816,3127962.816 +4-3-2019 19:00,3327618.9760000003,1548979.6960000002,1548979.6960000002 +4-3-2019 20:00,2817238.8640000005,1311401.6960000002,1311401.6960000002 +4-3-2019 21:00,2779362.9600000004,1293770.8080000002,1293770.8080000002 +4-3-2019 22:00,1458923.4880000001,679116.9440000001,679116.9440000001 +4-3-2019 23:00,464953.45600000006,216432.04,216432.04 +5-3-2019 00:00,496700.46800000005,231210.034,231210.034 +5-3-2019 01:00,494699.612,230278.62000000002,230278.62000000002 +5-3-2019 02:00,494691.47200000007,230274.83600000004,230274.83600000004 +5-3-2019 03:00,504567.66800000006,234872.132,234872.132 +5-3-2019 04:00,653370.9160000001,304138.846,304138.846 +5-3-2019 05:00,871802.3600000001,405816.928,405816.928 +5-3-2019 06:00,1137335.8480000002,529420.54,529420.54 +5-3-2019 07:00,3020998.112,1406249.9440000001,1406249.9440000001 +5-3-2019 08:00,2488654.08,1158448.104,1158448.104 +5-3-2019 09:00,4096982.208,1907111.8880000003,1907111.8880000003 +5-3-2019 10:00,3022197.024,1406808.128,1406808.128 +5-3-2019 11:00,1039624.52,483936.68400000007,483936.68400000007 +5-3-2019 12:00,1439313.568,669988.7480000001,669988.7480000001 +5-3-2019 13:00,956552.432,445267.416,445267.416 +5-3-2019 14:00,489015.16400000005,227632.57000000004,227632.57000000004 +5-3-2019 15:00,511251.22400000005,237983.26200000005,237983.26200000005 +5-3-2019 16:00,637221.332,296621.314,296621.314 +5-3-2019 17:00,1877591.584,874003.4160000001,874003.4160000001 +5-3-2019 18:00,6628455.680000001,3085492.256,3085492.256 +5-3-2019 19:00,3353621.2160000005,1561083.392,1561083.392 +5-3-2019 20:00,2983505.536,1388797.6960000002,1388797.6960000002 +5-3-2019 21:00,2907771.328,1353543.84,1353543.84 +5-3-2019 22:00,1550865.536,721915.3480000001,721915.3480000001 +5-3-2019 23:00,462639.276,215354.81000000003,215354.81000000003 +6-3-2019 00:00,450159.60000000003,209545.622,209545.622 +6-3-2019 01:00,483138.744,224897.15600000002,224897.15600000002 +6-3-2019 02:00,498719.76,232149.96200000003,232149.96200000003 +6-3-2019 03:00,500762.32800000004,233100.78,233100.78 +6-3-2019 04:00,641940.024,298817.83800000005,298817.83800000005 +6-3-2019 05:00,781960.0800000001,363996.028,363996.028 +6-3-2019 06:00,986334.5360000001,459130.6720000001,459130.6720000001 +6-3-2019 07:00,2813912.9920000006,1309853.6,1309853.6 +6-3-2019 08:00,2660302.128,1238349.0240000002,1238349.0240000002 +6-3-2019 09:00,4204360.16,1957095.3600000003,1957095.3600000003 +6-3-2019 10:00,2832446.4960000003,1318480.6800000002,1318480.6800000002 +6-3-2019 11:00,960555.6400000001,447130.81600000005,447130.81600000005 +6-3-2019 12:00,1448985.736,674491.0920000001,674491.0920000001 +6-3-2019 13:00,929826.0400000002,432826.416,432826.416 +6-3-2019 14:00,598090.02,278406.01800000004,278406.01800000004 +6-3-2019 15:00,671668.712,312656.278,312656.278 +6-3-2019 16:00,983352.5680000001,457742.60400000005,457742.60400000005 +6-3-2019 17:00,1899946.7520000003,884409.768,884409.768 +6-3-2019 18:00,6471479.872,3012421.2800000003,3012421.2800000003 +6-3-2019 19:00,3042070.944,1416059.2160000002,1416059.2160000002 +6-3-2019 20:00,2506072.096,1166556.0720000002,1166556.0720000002 +6-3-2019 21:00,2471621.328,1150519.392,1150519.392 +6-3-2019 22:00,1308109.8800000001,608914.4600000001,608914.4600000001 +6-3-2019 23:00,389179.25200000004,181159.75900000002,181159.75900000002 +7-3-2019 00:00,409341.81200000003,190545.256,190545.256 +7-3-2019 01:00,422257.83600000007,196557.57000000004,196557.57000000004 +7-3-2019 02:00,419104.048,195089.51,195089.51 +7-3-2019 03:00,423312.868,197048.676,197048.676 +7-3-2019 04:00,434791.72000000003,202392.014,202392.014 +7-3-2019 05:00,524462.312,244132.92200000002,244132.92200000002 +7-3-2019 06:00,755975.0000000001,351900.20800000004,351900.20800000004 +7-3-2019 07:00,2496367.808,1162038.8560000001,1162038.8560000001 +7-3-2019 08:00,2569840.5920000006,1196239.9679999999,1196239.9679999999 +7-3-2019 09:00,3818039.808,1777266.4800000002,1777266.4800000002 +7-3-2019 10:00,2564592.2720000003,1193796.736,1193796.736 +7-3-2019 11:00,807413.6400000001,375844.48000000004,375844.48000000004 +7-3-2019 12:00,1420027.048,661010.988,661010.988 +7-3-2019 13:00,966910.2960000001,450088.84800000006,450088.84800000006 +7-3-2019 14:00,159214.374,74112.99500000001,74112.99500000001 +7-3-2019 15:00,565467.144,263220.342,263220.342 +7-3-2019 16:00,820106.496,381752.844,381752.844 +7-3-2019 17:00,1805426.4800000002,840411.2640000001,840411.2640000001 +7-3-2019 18:00,6474802.048,3013967.9680000003,3013967.9680000003 +7-3-2019 19:00,3065240.64,1426844.4960000003,1426844.4960000003 +7-3-2019 20:00,2689062.9920000006,1251736.904,1251736.904 +7-3-2019 21:00,2768805.6,1288856.272,1288856.272 +7-3-2019 22:00,1457162.8720000002,678297.356,678297.356 +7-3-2019 23:00,441270.63200000004,205407.86200000002,205407.86200000002 +8-3-2019 00:00,442370.14800000004,205919.714,205919.714 +8-3-2019 01:00,460411.248,214317.68600000002,214317.68600000002 +8-3-2019 02:00,486032.84400000004,226244.32600000003,226244.32600000003 +8-3-2019 03:00,491390.76800000004,228738.37800000003,228738.37800000003 +8-3-2019 04:00,595027.7080000001,276980.55000000005,276980.55000000005 +8-3-2019 05:00,765755.496,356452.91,356452.91 +8-3-2019 06:00,949046.56,441773.42000000004,441773.42000000004 +8-3-2019 07:00,2769201.424,1289040.72,1289040.72 +8-3-2019 08:00,2697151.952,1255502.3360000001,1255502.3360000001 +8-3-2019 09:00,3831101.1200000006,1783346.4000000001,1783346.4000000001 +8-3-2019 10:00,2394305.2320000003,1114529.5040000002,1114529.5040000002 +8-3-2019 11:00,816567.136,380105.352,380105.352 +8-3-2019 12:00,1562296.5600000003,727236.3120000002,727236.3120000002 +8-3-2019 13:00,680195.7800000001,316625.58400000003,316625.58400000003 +8-3-2019 14:00,593629.4760000001,276329.658,276329.658 +8-3-2019 15:00,787833.728,366730.166,366730.166 +8-3-2019 16:00,1129168.304,525618.632,525618.632 +8-3-2019 17:00,2115739.648,984859.5680000001,984859.5680000001 +8-3-2019 18:00,6643529.024,3092508.3200000003,3092508.3200000003 +8-3-2019 19:00,3328762.9760000003,1549512.0960000001,1549512.0960000001 +8-3-2019 20:00,2758404.1760000004,1284014.6,1284014.6 +8-3-2019 21:00,2819385.3600000003,1312400.848,1312400.848 +8-3-2019 22:00,1504399.9520000003,700285.8720000001,700285.8720000001 +8-3-2019 23:00,458118.58400000003,213250.44400000002,213250.44400000002 +9-3-2019 00:00,449190.01600000006,209094.27000000002,209094.27000000002 +9-3-2019 01:00,469037.66800000006,218333.23600000003,218333.23600000003 +9-3-2019 02:00,481181.75600000005,223986.18,223986.18 +9-3-2019 03:00,468292.92400000006,217986.538,217986.538 +9-3-2019 04:00,553367.408,257588.01200000005,257588.01200000005 +9-3-2019 05:00,723496.136,336781.5,336781.5 +9-3-2019 06:00,852835.6320000001,396988.02,396988.02 +9-3-2019 07:00,1756578.384,817672.856,817672.856 +9-3-2019 08:00,2739200.288,1275075.208,1275075.208 +9-3-2019 09:00,5604634.112000001,2608911.536,2608911.536 +9-3-2019 10:00,4824158.944,2245606.704,2245606.704 +9-3-2019 11:00,2210492.592,1028966.3120000002,1028966.3120000002 +9-3-2019 12:00,2087726.0800000003,971819.3760000002,971819.3760000002 +9-3-2019 13:00,1228961.0080000001,572071.368,572071.368 +9-3-2019 14:00,961894.6480000002,447754.12000000005,447754.12000000005 +9-3-2019 15:00,839525.192,390792.16000000003,390792.16000000003 +9-3-2019 16:00,103198.513,48038.067,48038.067 +9-3-2019 17:00,2222396.704,1034507.496,1034507.496 +9-3-2019 18:00,2740694.5280000004,1275770.9360000002,1275770.9360000002 +9-3-2019 19:00,2767874.736,1288423.2240000002,1288423.2240000002 +9-3-2019 20:00,2704818.336,1259071.0,1259071.0 +9-3-2019 21:00,2069521.168,963345.2400000001,963345.2400000001 +9-3-2019 22:00,873141.456,406440.232,406440.232 +9-3-2019 23:00,496982.376,231341.24200000003,231341.24200000003 +10-3-2019 00:00,488787.596,227526.64,227526.64 +10-3-2019 01:00,526715.42,245181.72800000003,245181.72800000003 +10-3-2019 02:00,559179.412,260293.44,260293.44 +10-3-2019 03:00,640446.18,298122.528,298122.528 +10-3-2019 04:00,819744.728,381584.50000000006,381584.50000000006 +10-3-2019 05:00,963249.056,448384.596,448384.596 +10-3-2019 06:00,1105254.656,514487.02800000005,514487.02800000005 +10-3-2019 07:00,2033791.7600000002,946713.5040000001,946713.5040000001 +10-3-2019 08:00,2909825.424,1354500.048,1354500.048 +10-3-2019 09:00,6034657.728000001,2809083.9040000006,2809083.9040000006 +10-3-2019 10:00,5475611.328000001,2548852.5920000006,2548852.5920000006 +10-3-2019 11:00,2738230.352,1274623.9440000001,1274623.9440000001 +10-3-2019 12:00,2247915.12,1046386.1760000001,1046386.1760000001 +10-3-2019 13:00,1392938.536,648401.3800000001,648401.3800000001 +10-3-2019 14:00,1274385.2880000002,593215.964,593215.964 +10-3-2019 15:00,1249273.344,581526.572,581526.572 +10-3-2019 16:00,1440654.0720000002,670612.756,670612.756 +10-3-2019 17:00,3078191.7760000005,1432873.2880000002,1432873.2880000002 +10-3-2019 18:00,3311949.3440000005,1541685.376,1541685.376 +10-3-2019 19:00,3329173.0560000003,1549702.8800000001,1549702.8800000001 +10-3-2019 20:00,3272298.3040000005,1523228.08,1523228.08 +10-3-2019 21:00,2417894.512,1125510.144,1125510.144 +10-3-2019 22:00,1062756.2000000002,494704.32000000007,494704.32000000007 +10-3-2019 23:00,637327.9440000001,296670.946,296670.946 +11-3-2019 00:00,661769.5920000001,308048.33400000003,308048.33400000003 +11-3-2019 01:00,672069.332,312842.77200000006,312842.77200000006 +11-3-2019 02:00,737157.1680000001,343140.64400000003,343140.64400000003 +11-3-2019 03:00,936035.408,435716.864,435716.864 +11-3-2019 04:00,1130089.5760000001,526047.4560000001,526047.4560000001 +11-3-2019 05:00,1222735.36,569173.3960000001,569173.3960000001 +11-3-2019 06:00,1349320.5440000002,628097.712,628097.712 +11-3-2019 07:00,3512631.5840000003,1635101.0720000002,1635101.0720000002 +11-3-2019 08:00,2922274.08,1360294.7600000002,1360294.7600000002 +11-3-2019 09:00,4772569.824,2221592.384,2221592.384 +11-3-2019 10:00,3569886.4960000003,1661753.104,1661753.104 +11-3-2019 11:00,1370543.328,637976.724,637976.724 +11-3-2019 12:00,1854920.848,863450.368,863450.368 +11-3-2019 13:00,1348249.2320000003,627599.06,627599.06 +11-3-2019 14:00,828165.5360000001,385504.32800000004,385504.32800000004 +11-3-2019 15:00,1045566.104,486702.48000000004,486702.48000000004 +11-3-2019 16:00,1440396.9360000002,670492.988,670492.988 +11-3-2019 17:00,2419160.8320000004,1126099.656,1126099.656 +11-3-2019 18:00,7033686.528000001,3274123.7760000005,3274123.7760000005 +11-3-2019 19:00,3905375.5840000003,1817920.5440000002,1817920.5440000002 +11-3-2019 20:00,3212770.5280000004,1495518.2880000002,1495518.2880000002 +11-3-2019 21:00,3219148.768,1498487.408,1498487.408 +11-3-2019 22:00,1765295.84,821730.8,821730.8 +11-3-2019 23:00,633485.952,294882.544,294882.544 +12-3-2019 00:00,607851.332,282949.788,282949.788 +12-3-2019 01:00,596522.0800000001,277676.168,277676.168 +12-3-2019 02:00,603174.924,280772.976,280772.976 +12-3-2019 03:00,877489.3600000001,408464.14400000003,408464.14400000003 +12-3-2019 04:00,1060646.928,493722.5040000001,493722.5040000001 +12-3-2019 05:00,1150612.584,535600.78,535600.78 +12-3-2019 06:00,1322716.736,615713.736,615713.736 +12-3-2019 07:00,3412557.2800000003,1588517.568,1588517.568 +12-3-2019 08:00,2882554.752,1341805.6960000002,1341805.6960000002 +12-3-2019 09:00,4577529.792,2130802.608,2130802.608 +12-3-2019 10:00,3384251.9040000006,1575341.504,1575341.504 +12-3-2019 11:00,1275041.1520000002,593521.236,593521.236 +12-3-2019 12:00,1800749.9840000002,838234.408,838234.408 +12-3-2019 13:00,1238489.208,576506.5680000001,576506.5680000001 +12-3-2019 14:00,854965.2320000001,397979.29600000003,397979.29600000003 +12-3-2019 15:00,919222.6560000001,427890.628,427890.628 +12-3-2019 16:00,1258832.256,585976.072,585976.072 +12-3-2019 17:00,2275528.64,1059240.0720000002,1059240.0720000002 +12-3-2019 18:00,6950122.432000001,3235225.3120000004,3235225.3120000004 +12-3-2019 19:00,3819677.6640000003,1778028.7360000003,1778028.7360000003 +12-3-2019 20:00,3294374.6880000005,1533504.72,1533504.72 +12-3-2019 21:00,3231383.5840000003,1504182.9440000001,1504182.9440000001 +12-3-2019 22:00,1717156.144,799322.2160000001,799322.2160000001 +12-3-2019 23:00,580121.828,270041.992,270041.992 +13-3-2019 00:00,566939.3400000001,263905.64200000005,263905.64200000005 +13-3-2019 01:00,556787.528,259180.02000000005,259180.02000000005 +13-3-2019 02:00,573692.5480000001,267049.244,267049.244 +13-3-2019 03:00,685129.6760000001,318922.25200000004,318922.25200000004 +13-3-2019 04:00,932382.8800000001,434016.61600000004,434016.61600000004 +13-3-2019 05:00,1080532.904,502979.26800000004,502979.26800000004 +13-3-2019 06:00,1218496.2240000002,567200.128,567200.128 +13-3-2019 07:00,3234739.2,1505744.5920000002,1505744.5920000002 +13-3-2019 08:00,2832541.8880000003,1318525.12,1318525.12 +13-3-2019 09:00,4528323.36,2107897.6160000004,2107897.6160000004 +13-3-2019 10:00,3396363.168,1580979.4880000001,1580979.4880000001 +13-3-2019 11:00,1429619.5760000001,665476.2400000001,665476.2400000001 +13-3-2019 12:00,1936187.7920000001,901279.6320000001,901279.6320000001 +13-3-2019 13:00,1349447.5280000002,628156.8480000001,628156.8480000001 +13-3-2019 14:00,921521.6560000001,428960.79600000003,428960.79600000003 +13-3-2019 15:00,918309.92,427465.764,427465.764 +13-3-2019 16:00,1234827.8800000001,574802.316,574802.316 +13-3-2019 17:00,2292983.7920000004,1067365.2000000002,1067365.2000000002 +13-3-2019 18:00,6980476.096000001,3249354.5920000006,3249354.5920000006 +13-3-2019 19:00,3865005.7600000002,1799128.6720000003,1799128.6720000003 +13-3-2019 20:00,3056403.68,1422731.2000000002,1422731.2000000002 +13-3-2019 21:00,2994964.544,1394131.5520000001,1394131.5520000001 +13-3-2019 22:00,1574673.584,732997.6720000001,732997.6720000001 +13-3-2019 23:00,536219.64,249605.86200000002,249605.86200000002 +14-3-2019 00:00,526839.236,245239.39,245239.39 +14-3-2019 01:00,526063.032,244878.04,244878.04 +14-3-2019 02:00,528035.2000000001,245796.056,245796.056 +14-3-2019 03:00,533902.512,248527.246,248527.246 +14-3-2019 04:00,769379.6000000001,358139.892,358139.892 +14-3-2019 05:00,944355.8960000001,439589.96400000004,439589.96400000004 +14-3-2019 06:00,1159194.4320000003,539595.54,539595.54 +14-3-2019 07:00,3140338.08,1461801.704,1461801.704 +14-3-2019 08:00,2786812.336,1297238.6240000003,1297238.6240000003 +14-3-2019 09:00,4480808.288000001,2085779.8720000002,2085779.8720000002 +14-3-2019 10:00,3242563.1040000003,1509386.5600000003,1509386.5600000003 +14-3-2019 11:00,1208682.0240000002,562631.652,562631.652 +14-3-2019 12:00,1618631.52,753459.784,753459.784 +14-3-2019 13:00,1081566.992,503460.628,503460.628 +14-3-2019 14:00,719239.224,334799.982,334799.982 +14-3-2019 15:00,766544.9440000001,356820.42000000004,356820.42000000004 +14-3-2019 16:00,1225447.52,570435.8,570435.8 +14-3-2019 17:00,2289502.512,1065744.6800000002,1065744.6800000002 +14-3-2019 18:00,6895156.928000001,3209639.4880000004,3209639.4880000004 +14-3-2019 19:00,3748593.024,1744939.504,1744939.504 +14-3-2019 20:00,2942756.4320000005,1369829.12,1369829.12 +14-3-2019 21:00,2867924.752,1334995.5520000001,1334995.5520000001 +14-3-2019 22:00,1511371.1360000002,703530.9600000001,703530.9600000001 +14-3-2019 23:00,489328.8400000001,227778.56200000003,227778.56200000003 +15-3-2019 00:00,516636.2080000001,240489.942,240489.942 +15-3-2019 01:00,511940.61600000004,238304.17600000004,238304.17600000004 +15-3-2019 02:00,515704.5080000001,240056.23400000003,240056.23400000003 +15-3-2019 03:00,528508.2440000001,246016.276,246016.276 +15-3-2019 04:00,698371.432,325086.19000000006,325086.19000000006 +15-3-2019 05:00,841974.6720000001,391932.42000000004,391932.42000000004 +15-3-2019 06:00,1060835.424,493810.24000000005,493810.24000000005 +15-3-2019 07:00,3031454.9760000003,1411117.4880000001,1411117.4880000001 +15-3-2019 08:00,2650713.472,1233885.4880000001,1233885.4880000001 +15-3-2019 09:00,4167973.9200000004,1940157.8240000003,1940157.8240000003 +15-3-2019 10:00,2649069.632,1233120.24,1233120.24 +15-3-2019 11:00,851065.952,396164.20800000004,396164.20800000004 +15-3-2019 12:00,1358424.672,632335.572,632335.572 +15-3-2019 13:00,908931.408,423100.1720000001,423100.1720000001 +15-3-2019 14:00,560763.4560000001,261030.814,261030.814 +15-3-2019 15:00,642586.7800000001,299118.88600000006,299118.88600000006 +15-3-2019 16:00,930934.8400000001,433342.536,433342.536 +15-3-2019 17:00,2004464.8800000001,933062.152,933062.152 +15-3-2019 18:00,6636793.152000001,3089373.0560000003,3089373.0560000003 +15-3-2019 19:00,3417061.472,1590614.4320000003,1590614.4320000003 +15-3-2019 20:00,2838302.3680000002,1321206.656,1321206.656 +15-3-2019 21:00,2827440.88,1316150.704,1316150.704 +15-3-2019 22:00,1455308.8880000003,677434.4280000001,677434.4280000001 +15-3-2019 23:00,429422.48800000007,199892.638,199892.638 +16-3-2019 00:00,458325.95600000006,213347.00200000004,213347.00200000004 +16-3-2019 01:00,484405.548,225486.82200000001,225486.82200000001 +16-3-2019 02:00,483707.26800000004,225161.79400000002,225161.79400000002 +16-3-2019 03:00,496674.33200000005,231197.846,231197.846 +16-3-2019 04:00,575325.52,267809.36600000004,267809.36600000004 +16-3-2019 05:00,784951.2880000001,365388.38600000006,365388.38600000006 +16-3-2019 06:00,960912.4800000001,447296.916,447296.916 +16-3-2019 07:00,1751625.7440000002,815367.432,815367.432 +16-3-2019 08:00,2693946.816,1254010.208,1254010.208 +16-3-2019 09:00,5572844.992000001,2594113.984,2594113.984 +16-3-2019 10:00,4769748.192,2220278.896,2220278.896 +16-3-2019 11:00,2238457.936,1041983.9760000001,1041983.9760000001 +16-3-2019 12:00,2027383.6,943730.4800000001,943730.4800000001 +16-3-2019 13:00,1192158.9679999999,554940.3200000001,554940.3200000001 +16-3-2019 14:00,810392.792,377231.27200000006,377231.27200000006 +16-3-2019 15:00,571230.88,265903.308,265903.308 +16-3-2019 16:00,728631.5080000001,339172.02,339172.02 +16-3-2019 17:00,2295091.92,1068346.5760000001,1068346.5760000001 +16-3-2019 18:00,2505726.4320000005,1166395.208,1166395.208 +16-3-2019 19:00,2534854.4320000005,1179954.0720000002,1179954.0720000002 +16-3-2019 20:00,2515090.336,1170754.112,1170754.112 +16-3-2019 21:00,1930201.1520000002,898492.8480000001,898492.8480000001 +16-3-2019 22:00,788830.4160000001,367194.12400000007,367194.12400000007 +16-3-2019 23:00,400947.93200000003,186638.01200000002,186638.01200000002 +17-3-2019 00:00,385858.044,179613.75300000003,179613.75300000003 +17-3-2019 01:00,463800.83200000005,215895.50400000004,215895.50400000004 +17-3-2019 02:00,527914.1560000001,245739.73600000003,245739.73600000003 +17-3-2019 03:00,534875.572,248980.20400000003,248980.20400000003 +17-3-2019 04:00,674843.8400000001,314134.326,314134.326 +17-3-2019 05:00,895364.3600000001,416784.8080000001,416784.8080000001 +17-3-2019 06:00,1071727.8,498880.58,498880.58 +17-3-2019 07:00,1867396.9600000002,869258.192,869258.192 +17-3-2019 08:00,2754525.136,1282208.84,1282208.84 +17-3-2019 09:00,5685741.600000001,2646666.352,2646666.352 +17-3-2019 10:00,4772243.1680000005,2221440.1440000003,2221440.1440000003 +17-3-2019 11:00,2305898.3200000003,1073377.0080000001,1073377.0080000001 +17-3-2019 12:00,2066530.928,961953.256,961953.256 +17-3-2019 13:00,1223533.9600000002,569545.064,569545.064 +17-3-2019 14:00,522595.744,243264.032,243264.032 +17-3-2019 15:00,287144.44,133663.38700000002,133663.38700000002 +17-3-2019 16:00,270319.588,125831.56300000001,125831.56300000001 +17-3-2019 17:00,2295312.9760000003,1068449.36,1068449.36 +17-3-2019 18:00,2813750.3680000002,1309777.8320000002,1309777.8320000002 +17-3-2019 19:00,2921694.8640000005,1360025.128,1360025.128 +17-3-2019 20:00,3115435.136,1450209.6400000001,1450209.6400000001 +17-3-2019 21:00,2395018.5600000005,1114861.5280000002,1114861.5280000002 +17-3-2019 22:00,1075820.9440000001,500785.868,500785.868 +17-3-2019 23:00,604169.1480000002,281235.83400000003,281235.83400000003 +18-3-2019 00:00,596762.3640000001,277787.994,277787.994 +18-3-2019 01:00,603794.5760000001,281061.44,281061.44 +18-3-2019 02:00,695119.5680000001,323572.48000000004,323572.48000000004 +18-3-2019 03:00,909422.184,423328.576,423328.576 +18-3-2019 04:00,1028907.2640000001,478947.92000000004,478947.92000000004 +18-3-2019 05:00,1148045.272,534405.696,534405.696 +18-3-2019 06:00,1331013.816,619576.056,619576.056 +18-3-2019 07:00,3296257.536,1534381.2000000002,1534381.2000000002 +18-3-2019 08:00,2478914.24,1153914.256,1153914.256 +18-3-2019 09:00,4163224.0320000006,1937946.5600000003,1937946.5600000003 +18-3-2019 10:00,3129849.536,1456919.5520000001,1456919.5520000001 +18-3-2019 11:00,1002229.4480000001,466529.62400000007,466529.62400000007 +18-3-2019 12:00,1737304.8,808701.256,808701.256 +18-3-2019 13:00,1376406.328,640705.956,640705.956 +18-3-2019 14:00,324549.21400000004,151075.00100000002,151075.00100000002 +18-3-2019 15:00,710134.26,330561.726,330561.726 +18-3-2019 16:00,949522.3760000002,441994.916,441994.916 +18-3-2019 17:00,2161378.56,1006104.0000000001,1006104.0000000001 +18-3-2019 18:00,6890152.192,3207309.2480000006,3207309.2480000006 +18-3-2019 19:00,3715294.5280000004,1729439.3600000003,1729439.3600000003 +18-3-2019 20:00,3198782.752,1489007.3440000003,1489007.3440000003 +18-3-2019 21:00,3385040.384,1575708.4640000002,1575708.4640000002 +18-3-2019 22:00,1904650.3520000002,886599.2080000001,886599.2080000001 +18-3-2019 23:00,619303.564,288280.74,288280.74 +19-3-2019 00:00,624722.7800000001,290803.37000000005,290803.37000000005 +19-3-2019 01:00,709879.72,330443.212,330443.212 +19-3-2019 02:00,995667.1120000001,463474.92400000006,463474.92400000006 +19-3-2019 03:00,1318559.8800000001,613778.836,613778.836 +19-3-2019 04:00,1524285.84,709542.636,709542.636 +19-3-2019 05:00,1650372.768,768235.072,768235.072 +19-3-2019 06:00,1820478.3520000002,847417.824,847417.824 +19-3-2019 07:00,4267793.376,1986623.056,1986623.056 +19-3-2019 08:00,3152091.008,1467272.664,1467272.664 +19-3-2019 09:00,4803721.120000001,2236093.2,2236093.2 +19-3-2019 10:00,3740751.5200000005,1741289.2640000002,1741289.2640000002 +19-3-2019 11:00,1190829.992,554321.636,554321.636 +19-3-2019 12:00,1541205.9520000003,717418.856,717418.856 +19-3-2019 13:00,482772.8400000001,224726.81000000003,224726.81000000003 +19-3-2019 14:00,486476.276,226450.708,226450.708 +19-3-2019 15:00,790655.4480000001,368043.69800000003,368043.69800000003 +19-3-2019 16:00,1008048.9760000001,469238.61600000004,469238.61600000004 +19-3-2019 17:00,1932938.8320000002,899767.2640000001,899767.2640000001 +19-3-2019 18:00,6884781.376000001,3204809.3440000005,3204809.3440000005 +19-3-2019 19:00,3862900.8000000003,1798148.7040000001,1798148.7040000001 +19-3-2019 20:00,3161175.7760000005,1471501.504,1471501.504 +19-3-2019 21:00,3346761.7920000004,1557890.2240000002,1557890.2240000002 +19-3-2019 22:00,1847177.0240000002,859845.8,859845.8 +19-3-2019 23:00,576867.9400000001,268527.314,268527.314 +20-3-2019 00:00,592676.92,275886.248,275886.248 +20-3-2019 01:00,552126.0360000001,257010.16000000003,257010.16000000003 +20-3-2019 02:00,553928.2320000001,257849.08600000004,257849.08600000004 +20-3-2019 03:00,709727.2160000001,330372.17400000006,330372.17400000006 +20-3-2019 04:00,930502.408,433141.28,433141.28 +20-3-2019 05:00,1045899.6240000001,486857.712,486857.712 +20-3-2019 06:00,1187050.8320000002,552562.4280000001,552562.4280000001 +20-3-2019 07:00,3166705.696,1474075.768,1474075.768 +20-3-2019 08:00,2660171.3600000003,1238288.2160000002,1238288.2160000002 +20-3-2019 09:00,4327914.976000001,2014608.992,2014608.992 +20-3-2019 10:00,3027857.8880000003,1409443.2000000002,1409443.2000000002 +20-3-2019 11:00,1114019.984,518567.19200000004,518567.19200000004 +20-3-2019 12:00,1659729.2800000003,772590.368,772590.368 +20-3-2019 13:00,1046361.5360000001,487072.74000000005,487072.74000000005 +20-3-2019 14:00,642700.784,299171.994,299171.994 +20-3-2019 15:00,660739.0680000001,307568.668,307568.668 +20-3-2019 16:00,864446.792,402392.93600000005,402392.93600000005 +20-3-2019 17:00,1944536.5280000002,905165.888,905165.888 +20-3-2019 18:00,6646433.728000001,3093860.352,3093860.352 +20-3-2019 19:00,3405584.8640000005,1585271.9520000003,1585271.9520000003 +20-3-2019 20:00,2794211.9040000006,1300683.0320000001,1300683.0320000001 +20-3-2019 21:00,2796285.1840000004,1301647.9520000003,1301647.9520000003 +20-3-2019 22:00,1571832.9440000001,731675.384,731675.384 +20-3-2019 23:00,501555.692,233470.07200000001,233470.07200000001 +21-3-2019 00:00,524707.26,244246.92600000004,244246.92600000004 +21-3-2019 01:00,576181.716,268207.918,268207.918 +21-3-2019 02:00,573841.488,267118.5,267118.5 +21-3-2019 03:00,627706.8160000001,292192.428,292192.428 +21-3-2019 04:00,922983.3360000001,429641.16800000006,429641.16800000006 +21-3-2019 05:00,1121735.0320000001,522158.47200000007,522158.47200000007 +21-3-2019 06:00,1148146.472,534452.8200000001,534452.8200000001 +21-3-2019 07:00,3081956.0640000007,1434625.5440000002,1434625.5440000002 +21-3-2019 08:00,2578720.3200000003,1200373.4160000002,1200373.4160000002 +21-3-2019 09:00,4219393.376,1964093.12,1964093.12 +21-3-2019 10:00,2856334.9760000003,1329600.712,1329600.712 +21-3-2019 11:00,988050.888,459929.62400000007,459929.62400000007 +21-3-2019 12:00,1557140.816,724836.42,724836.42 +21-3-2019 13:00,935138.424,435299.30400000006,435299.30400000006 +21-3-2019 14:00,563277.748,262201.21400000004,262201.21400000004 +21-3-2019 15:00,623054.52,290026.77,290026.77 +21-3-2019 16:00,810889.6400000001,377462.492,377462.492 +21-3-2019 17:00,1927437.6,897206.464,897206.464 +21-3-2019 18:00,6664836.288000001,3102426.6240000003,3102426.6240000003 +21-3-2019 19:00,3436010.6880000005,1599435.0240000002,1599435.0240000002 +21-3-2019 20:00,2909899.3440000005,1354534.368,1354534.368 +21-3-2019 21:00,3077089.3120000004,1432359.8960000002,1432359.8960000002 +21-3-2019 22:00,1700281.7920000001,791467.424,791467.424 +21-3-2019 23:00,536097.892,249549.19,249549.19 +22-3-2019 00:00,549957.584,256000.75600000002,256000.75600000002 +22-3-2019 01:00,546515.2000000001,254398.34200000003,254398.34200000003 +22-3-2019 02:00,532012.184,247647.31200000003,247647.31200000003 +22-3-2019 03:00,617803.164,287582.32800000004,287582.32800000004 +22-3-2019 04:00,849260.5440000001,395323.8080000001,395323.8080000001 +22-3-2019 05:00,975643.2400000001,454153.96400000004,454153.96400000004 +22-3-2019 06:00,1172566.0320000001,545819.9560000001,545819.9560000001 +22-3-2019 07:00,3143538.112,1463291.2800000003,1463291.2800000003 +22-3-2019 08:00,2753180.4960000003,1281582.984,1281582.984 +22-3-2019 09:00,4526873.12,2107222.656,2107222.656 +22-3-2019 10:00,3108774.24,1447109.048,1447109.048 +22-3-2019 11:00,824988.12,384025.26800000004,384025.26800000004 +22-3-2019 12:00,1425526.6960000002,663571.04,663571.04 +22-3-2019 13:00,470423.0080000001,218978.07800000004,218978.07800000004 +22-3-2019 14:00,70218.09300000001,32685.950000000004,32685.950000000004 +22-3-2019 15:00,270875.17600000004,126090.18400000001,126090.18400000001 +22-3-2019 16:00,80838.032,37629.449,37629.449 +22-3-2019 17:00,155136.41000000003,72214.736,72214.736 +22-3-2019 18:00,4641791.968,2160716.4480000003,2160716.4480000003 +22-3-2019 19:00,2451019.6480000005,1140929.592,1140929.592 +22-3-2019 20:00,2824101.4560000002,1314596.1840000001,1314596.1840000001 +22-3-2019 21:00,2925580.24,1361833.44,1361833.44 +22-3-2019 22:00,1519743.104,707428.084,707428.084 +22-3-2019 23:00,444331.84400000004,206832.846,206832.846 +23-3-2019 00:00,430888.48000000004,200575.07800000004,200575.07800000004 +23-3-2019 01:00,427152.08800000005,198835.80200000003,198835.80200000003 +23-3-2019 02:00,428337.492,199387.606,199387.606 +23-3-2019 03:00,469526.2,218560.62800000003,218560.62800000003 +23-3-2019 04:00,648339.0760000001,301796.48400000005,301796.48400000005 +23-3-2019 05:00,772051.72,359383.77200000006,359383.77200000006 +23-3-2019 06:00,906692.2480000001,422057.81200000003,422057.81200000003 +23-3-2019 07:00,1736852.8320000002,808490.76,808490.76 +23-3-2019 08:00,2652607.0560000003,1234766.8080000002,1234766.8080000002 +23-3-2019 09:00,5511397.056000001,2565510.4640000006,2565510.4640000006 +23-3-2019 10:00,4629966.528000001,2155211.872,2155211.872 +23-3-2019 11:00,2150841.264,1001199.056,1001199.056 +23-3-2019 12:00,1976020.6400000001,919821.496,919821.496 +23-3-2019 13:00,1197112.048,557245.92,557245.92 +23-3-2019 14:00,717635.5120000001,334053.5,334053.5 +23-3-2019 15:00,508049.212,236492.76200000005,236492.76200000005 +23-3-2019 16:00,592783.664,275935.96800000005,275935.96800000005 +23-3-2019 17:00,2332492.8000000003,1085756.496,1085756.496 +23-3-2019 18:00,2778250.112,1293252.752,1293252.752 +23-3-2019 19:00,2866777.2320000003,1334461.392,1334461.392 +23-3-2019 20:00,2963091.6480000005,1379295.016,1379295.016 +23-3-2019 21:00,2333078.5280000004,1086028.9440000001,1086028.9440000001 +23-3-2019 22:00,1064728.456,495622.33600000007,495622.33600000007 +23-3-2019 23:00,617914.792,287634.292,287634.292 +24-3-2019 00:00,677964.3640000001,315586.832,315586.832 +24-3-2019 01:00,720026.4720000001,335166.45800000004,335166.45800000004 +24-3-2019 02:00,981559.92,456908.1880000001,456908.1880000001 +24-3-2019 03:00,1180298.4160000002,549419.2440000001,549419.2440000001 +24-3-2019 04:00,1417448.8240000003,659810.8,659810.8 +24-3-2019 05:00,1512203.0880000002,703918.204,703918.204 +24-3-2019 06:00,1629489.84,758514.152,758514.152 +24-3-2019 07:00,2198455.072,1023362.9120000001,1023362.9120000001 +24-3-2019 08:00,2809605.2160000005,1307848.344,1307848.344 +24-3-2019 09:00,6339408.064000001,2950942.896,2950942.896 +24-3-2019 10:00,5775667.040000001,2688525.6640000003,2688525.6640000003 +24-3-2019 11:00,2378252.624,1107057.2480000001,1107057.2480000001 +24-3-2019 12:00,2463145.5200000005,1146574.088,1146574.088 +24-3-2019 13:00,1098981.664,511566.96800000005,511566.96800000005 +24-3-2019 14:00,76204.766,35472.69,35472.69 +24-3-2019 15:00,22683.287,10558.878,10558.878 +24-3-2019 16:00,25453.098,11848.210000000001,11848.210000000001 +24-3-2019 17:00,935276.2320000001,435363.45600000006,435363.45600000006 +24-3-2019 18:00,2496802.0,1162241.08,1162241.08 +24-3-2019 19:00,2944103.536,1370456.0320000001,1370456.0320000001 +24-3-2019 20:00,3007628.4480000003,1400026.584,1400026.584 +24-3-2019 21:00,2361212.3040000005,1099125.016,1099125.016 +24-3-2019 22:00,1072462.512,499222.5040000001,499222.5040000001 +24-3-2019 23:00,608321.032,283168.424,283168.424 +25-3-2019 00:00,582189.432,271004.47000000003,271004.47000000003 +25-3-2019 01:00,535073.704,249072.42800000004,249072.42800000004 +25-3-2019 02:00,621357.924,289237.014,289237.014 +25-3-2019 03:00,815519.584,379617.744,379617.744 +25-3-2019 04:00,942761.424,438847.728,438847.728 +25-3-2019 05:00,1090804.1760000002,507760.396,507760.396 +25-3-2019 06:00,1230709.4800000002,572885.236,572885.236 +25-3-2019 07:00,3233174.208,1505016.128,1505016.128 +25-3-2019 08:00,2456341.8880000003,1143407.056,1143407.056 +25-3-2019 09:00,3906703.328,1818538.6560000002,1818538.6560000002 +25-3-2019 10:00,2557981.536,1190719.64,1190719.64 +25-3-2019 11:00,1001068.6400000001,465989.26,465989.26 +25-3-2019 12:00,1606749.408,747928.8080000001,747928.8080000001 +25-3-2019 13:00,1117381.496,520131.92000000004,520131.92000000004 +25-3-2019 14:00,723846.1120000001,336944.454,336944.454 +25-3-2019 15:00,754979.8080000001,351436.91,351436.91 +25-3-2019 16:00,910601.6480000002,423877.65200000006,423877.65200000006 +25-3-2019 17:00,2109949.776,982164.4800000001,982164.4800000001 +25-3-2019 18:00,6774421.632,3153437.7600000002,3153437.7600000002 +25-3-2019 19:00,3466338.6560000004,1613552.512,1613552.512 +25-3-2019 20:00,2961517.504,1378562.24,1378562.24 +25-3-2019 21:00,2960922.9760000003,1378285.392,1378285.392 +25-3-2019 22:00,1572653.2800000003,732057.26,732057.26 +25-3-2019 23:00,480153.43200000003,223507.48200000002,223507.48200000002 +26-3-2019 00:00,472246.01600000006,219826.66200000004,219826.66200000004 +26-3-2019 01:00,473480.128,220401.12600000002,220401.12600000002 +26-3-2019 02:00,505037.45600000006,235090.83400000003,235090.83400000003 +26-3-2019 03:00,572990.572,266722.412,266722.412 +26-3-2019 04:00,995536.784,463414.204,463414.204 +26-3-2019 05:00,1145263.592,533110.8200000001,533110.8200000001 +26-3-2019 06:00,1299621.84,604963.26,604963.26 +26-3-2019 07:00,3175229.3760000006,1478043.424,1478043.424 +26-3-2019 08:00,2601668.608,1211055.5600000003,1211055.5600000003 +26-3-2019 09:00,4269531.552,1987432.128,1987432.128 +26-3-2019 10:00,3018402.4640000006,1405041.6160000002,1405041.6160000002 +26-3-2019 11:00,1103008.28,513441.412,513441.412 +26-3-2019 12:00,1682042.384,782977.096,782977.096 +26-3-2019 13:00,1082896.056,504079.31200000003,504079.31200000003 +26-3-2019 14:00,663168.1320000001,308699.38,308699.38 +26-3-2019 15:00,695567.0480000001,323780.776,323780.776 +26-3-2019 16:00,896937.3600000001,417517.012,417517.012 +26-3-2019 17:00,2068129.536,962697.56,962697.56 +26-3-2019 18:00,6797790.208000001,3164315.9680000003,3164315.9680000003 +26-3-2019 19:00,3586658.944,1669560.6400000001,1669560.6400000001 +26-3-2019 20:00,2985734.0480000004,1389834.864,1389834.864 +26-3-2019 21:00,2974300.384,1384512.36,1384512.36 +26-3-2019 22:00,1583140.24,736938.8400000001,736938.8400000001 +26-3-2019 23:00,484717.28800000006,225631.956,225631.956 +27-3-2019 00:00,475025.6720000001,221120.57000000004,221120.57000000004 +27-3-2019 01:00,492346.228,229183.15200000003,229183.15200000003 +27-3-2019 02:00,528274.78,245907.596,245907.596 +27-3-2019 03:00,541309.5160000001,251975.17400000003,251975.17400000003 +27-3-2019 04:00,814281.072,379041.12400000007,379041.12400000007 +27-3-2019 05:00,956090.52,445052.34400000004,445052.34400000004 +27-3-2019 06:00,1171204.4960000003,545186.0920000001,545186.0920000001 +27-3-2019 07:00,1736781.3760000002,808457.584,808457.584 +27-3-2019 08:00,2199894.9280000003,1024033.2080000001,1024033.2080000001 +27-3-2019 09:00,3402108.16,1583653.6320000002,1583653.6320000002 +27-3-2019 10:00,2032819.536,946260.92,946260.92 +27-3-2019 11:00,639474.088,297669.966,297669.966 +27-3-2019 12:00,1187481.8560000001,552763.1120000001,552763.1120000001 +27-3-2019 13:00,834273.1760000001,388347.38800000004,388347.38800000004 +27-3-2019 14:00,477170.10000000003,222118.776,222118.776 +27-3-2019 15:00,526436.46,245051.86200000002,245051.86200000002 +27-3-2019 16:00,655392.408,305079.83,305079.83 +27-3-2019 17:00,766198.3120000002,356659.05000000005,356659.05000000005 +27-3-2019 18:00,6167020.992000001,2870697.808,2870697.808 +27-3-2019 19:00,2972896.608,1383859.048,1383859.048 +27-3-2019 20:00,2701816.128,1257673.5600000003,1257673.5600000003 +27-3-2019 21:00,2745552.656,1278032.448,1278032.448 +27-3-2019 22:00,1483823.7920000001,690707.8640000001,690707.8640000001 +27-3-2019 23:00,447789.716,208442.47600000002,208442.47600000002 +28-3-2019 00:00,437424.10800000007,203617.348,203617.348 +28-3-2019 01:00,434688.14400000003,202343.81200000003,202343.81200000003 +28-3-2019 02:00,433986.43200000003,202017.13400000002,202017.13400000002 +28-3-2019 03:00,439173.9,204431.87600000002,204431.87600000002 +28-3-2019 04:00,580006.68,269988.422,269988.422 +28-3-2019 05:00,796987.488,370991.192,370991.192 +28-3-2019 06:00,959657.3360000001,446712.68400000007,446712.68400000007 +28-3-2019 07:00,1957964.976,911416.7040000001,911416.7040000001 +28-3-2019 08:00,2366658.096,1101659.8560000001,1101659.8560000001 +28-3-2019 09:00,3712890.0160000003,1728320.0000000002,1728320.0000000002 +28-3-2019 10:00,2421724.624,1127292.936,1127292.936 +28-3-2019 11:00,844361.1440000001,393043.244,393043.244 +28-3-2019 12:00,1460481.0000000002,679841.9760000001,679841.9760000001 +28-3-2019 13:00,968275.1760000001,450724.16400000005,450724.16400000005 +28-3-2019 14:00,535543.14,249290.97600000002,249290.97600000002 +28-3-2019 15:00,560300.268,260815.192,260815.192 +28-3-2019 16:00,636765.844,296409.278,296409.278 +28-3-2019 17:00,724127.4920000001,337075.442,337075.442 +28-3-2019 18:00,6265549.312000001,2916562.1760000004,2916562.1760000004 +28-3-2019 19:00,3131084.352,1457494.104,1457494.104 +28-3-2019 20:00,2737813.0560000003,1274429.4640000002,1274429.4640000002 +28-3-2019 21:00,2810704.688,1308360.328,1308360.328 +28-3-2019 22:00,1619743.4880000001,753977.3120000002,753977.3120000002 +28-3-2019 23:00,521812.72000000003,242899.58000000002,242899.58000000002 +29-3-2019 00:00,531734.104,247517.88600000003,247517.88600000003 +29-3-2019 01:00,539926.1560000001,251331.25600000002,251331.25600000002 +29-3-2019 02:00,554337.476,258039.58400000003,258039.58400000003 +29-3-2019 03:00,779566.5680000001,362881.90400000004,362881.90400000004 +29-3-2019 04:00,1107513.264,515538.36400000006,515538.36400000006 +29-3-2019 05:00,1323839.5280000002,616236.456,616236.456 +29-3-2019 06:00,1450894.8960000002,675379.7160000001,675379.7160000001 +29-3-2019 07:00,1956212.0160000003,910600.768,910600.768 +29-3-2019 08:00,2183731.7920000004,1016509.2960000001,1016509.2960000001 +29-3-2019 09:00,2876435.0560000003,1338956.8720000002,1338956.8720000002 +29-3-2019 10:00,1362543.776,634252.9160000001,634252.9160000001 +29-3-2019 11:00,73955.06800000001,34425.479,34425.479 +29-3-2019 12:00,318273.802,148153.863,148153.863 +29-3-2019 13:00,109080.98300000001,50776.308000000005,50776.308000000005 +29-3-2019 14:00,62269.691,28986.034,28986.034 +29-3-2019 15:00,132439.461,61649.489,61649.489 +29-3-2019 16:00,39058.14000000001,18181.24,18181.24 +29-3-2019 17:00,40130.068,18680.222,18680.222 +29-3-2019 18:00,1915229.536,891523.7760000001,891523.7760000001 +29-3-2019 19:00,1398332.32,650912.2400000001,650912.2400000001 +29-3-2019 20:00,1940518.448,903295.5360000001,903295.5360000001 +29-3-2019 21:00,2291602.896,1066722.624,1066722.624 +29-3-2019 22:00,1316484.928,612812.992,612812.992 +29-3-2019 23:00,415104.712,193227.87000000002,193227.87000000002 +30-3-2019 00:00,460763.11600000004,214481.47600000002,214481.47600000002 +30-3-2019 01:00,487318.7,226842.88,226842.88 +30-3-2019 02:00,465423.068,216650.632,216650.632 +30-3-2019 03:00,470371.92400000006,218954.296,218954.296 +30-3-2019 04:00,750539.152,349369.83400000003,349369.83400000003 +30-3-2019 05:00,846422.5440000001,394002.79600000003,394002.79600000003 +30-3-2019 06:00,913326.392,425145.99600000004,425145.99600000004 +30-3-2019 07:00,912833.152,424916.36,424916.36 +30-3-2019 08:00,2312344.4960000003,1076377.456,1076377.456 +30-3-2019 09:00,4133484.608,1924103.6320000002,1924103.6320000002 +30-3-2019 10:00,2774101.968,1291321.8560000001,1291321.8560000001 +30-3-2019 11:00,914267.1120000001,425583.928,425583.928 +30-3-2019 12:00,794135.1440000001,369663.44800000003,369663.44800000003 +30-3-2019 13:00,48963.893000000004,22792.286,22792.286 +30-3-2019 14:00,36893.021,17173.398,17173.398 +30-3-2019 15:00,49066.864,22840.224000000002,22840.224000000002 +30-3-2019 16:00,42892.619000000006,19966.166000000005,19966.166000000005 +30-3-2019 17:00,51221.489,23843.182,23843.182 +30-3-2019 18:00,1036051.5440000001,482273.57200000004,482273.57200000004 +30-3-2019 19:00,1709874.32,795932.5440000001,795932.5440000001 +30-3-2019 20:00,2106424.1440000003,980523.2800000001,980523.2800000001 +30-3-2019 21:00,1636738.5760000001,761888.3360000001,761888.3360000001 +30-3-2019 22:00,684418.196,318591.086,318591.086 +30-3-2019 23:00,388147.54000000004,180679.51,180679.51 +31-3-2019 00:00,392790.552,182840.81200000003,182840.81200000003 +31-3-2019 01:00,418294.88800000004,194712.87000000002,194712.87000000002 +31-3-2019 02:00,409698.82800000004,190711.46600000001,190711.46600000001 +31-3-2019 03:00,415664.96400000004,193488.65800000002,193488.65800000002 +31-3-2019 04:00,616323.488,286893.574,286893.574 +31-3-2019 05:00,704404.228,327894.42400000006,327894.42400000006 +31-3-2019 06:00,1686942.5760000001,785257.9680000001,785257.9680000001 +31-3-2019 07:00,2663425.424,1239802.6960000002,1239802.6960000002 +31-3-2019 08:00,5132675.680000001,2389218.48,2389218.48 +31-3-2019 09:00,4177547.2640000004,1944614.144,1944614.144 +31-3-2019 10:00,1646617.8080000002,766487.128,766487.128 +31-3-2019 11:00,1013319.6480000002,471692.05600000004,471692.05600000004 +31-3-2019 12:00,1020803.256,475175.58,475175.58 +31-3-2019 13:00,635536.4839999999,295837.0580000001,295837.0580000001 +31-3-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +31-3-2019 15:00,21806.807,10150.888,10150.888 +31-3-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +31-3-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +31-3-2019 18:00,351497.762,163619.35700000002,163619.35700000002 +31-3-2019 19:00,1551340.384,722136.3160000001,722136.3160000001 +31-3-2019 20:00,1792973.6,834614.6160000002,834614.6160000002 +31-3-2019 21:00,833059.7440000001,387782.516,387782.516 +31-3-2019 22:00,490194.892,228181.71200000003,228181.71200000003 +31-3-2019 23:00,491482.28800000006,228780.97000000003,228780.97000000003 +1-4-2019 00:00,492007.076,229025.30200000003,229025.30200000003 +1-4-2019 01:00,602216.4280000001,280326.86000000004,280326.86000000004 +1-4-2019 02:00,874442.3600000001,407045.80400000006,407045.80400000006 +1-4-2019 03:00,1023243.584,476311.528,476311.528 +1-4-2019 04:00,1165873.2800000003,542704.5360000001,542704.5360000001 +1-4-2019 05:00,1335956.864,621876.992,621876.992 +1-4-2019 06:00,3484274.8160000006,1621901.424,1621901.424 +1-4-2019 07:00,2490681.952,1159392.08,1159392.08 +1-4-2019 08:00,3658000.1920000007,1702769.376,1702769.376 +1-4-2019 09:00,1779484.784,828335.6400000001,828335.6400000001 +1-4-2019 10:00,61099.764,28441.435,28441.435 +1-4-2019 11:00,148311.93300000002,69037.99100000001,69037.99100000001 +1-4-2019 12:00,398548.128,185520.874,185520.874 +1-4-2019 13:00,101374.515,47189.01,47189.01 +1-4-2019 14:00,183502.264,85418.81700000001,85418.81700000001 +1-4-2019 15:00,61732.91300000001,28736.169,28736.169 +1-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +1-4-2019 17:00,996768.3440000002,463987.568,463987.568 +1-4-2019 18:00,830597.856,386636.536,386636.536 +1-4-2019 19:00,1568314.176,730037.3960000001,730037.3960000001 +1-4-2019 20:00,2110242.64,982300.7040000001,982300.7040000001 +1-4-2019 21:00,1239977.2880000002,577199.3040000001,577199.3040000001 +1-4-2019 22:00,401153.544,186733.71200000003,186733.71200000003 +1-4-2019 23:00,463280.576,215653.32800000004,215653.32800000004 +2-4-2019 00:00,495062.1720000001,230447.382,230447.382 +2-4-2019 01:00,511967.8520000001,238316.87000000002,238316.87000000002 +2-4-2019 02:00,600436.452,279498.27400000003,279498.27400000003 +2-4-2019 03:00,703313.8640000001,327386.818,327386.818 +2-4-2019 04:00,807307.5120000001,375795.068,375795.068 +2-4-2019 05:00,895479.2000000001,416838.26800000004,416838.26800000004 +2-4-2019 06:00,2739621.632,1275271.536,1275271.536 +2-4-2019 07:00,2437695.3920000005,1134727.088,1134727.088 +2-4-2019 08:00,3891861.2480000006,1811629.6,1811629.6 +2-4-2019 09:00,2286101.6640000003,1064161.648,1064161.648 +2-4-2019 10:00,294142.6400000001,136921.026,136921.026 +2-4-2019 11:00,490709.8240000001,228421.42400000003,228421.42400000003 +2-4-2019 12:00,967395.0000000001,450314.5240000001,450314.5240000001 +2-4-2019 13:00,640265.7800000001,298038.51,298038.51 +2-4-2019 14:00,600866.86,279698.606,279698.606 +2-4-2019 15:00,304516.014,141749.707,141749.707 +2-4-2019 16:00,94282.52900000001,43887.745,43887.745 +2-4-2019 17:00,4017818.112,1870261.3600000003,1870261.3600000003 +2-4-2019 18:00,2359143.6,1098162.208,1098162.208 +2-4-2019 19:00,2568086.752,1195423.504,1195423.504 +2-4-2019 20:00,2596243.7600000002,1208530.312,1208530.312 +2-4-2019 21:00,1414892.864,658621.04,658621.04 +2-4-2019 22:00,437887.16400000005,203832.90400000004,203832.90400000004 +2-4-2019 23:00,431402.66400000005,200814.39400000003,200814.39400000003 +3-4-2019 00:00,426113.42400000006,198352.33000000002,198352.33000000002 +3-4-2019 01:00,429946.00000000006,200136.35400000002,200136.35400000002 +3-4-2019 02:00,466959.98800000007,217366.05000000002,217366.05000000002 +3-4-2019 03:00,620529.6240000001,288851.442,288851.442 +3-4-2019 04:00,798627.192,371754.46,371754.46 +3-4-2019 05:00,958484.12,446166.51200000005,446166.51200000005 +3-4-2019 06:00,2876022.16,1338764.8560000001,1338764.8560000001 +3-4-2019 07:00,2792340.848,1299811.8320000002,1299811.8320000002 +3-4-2019 08:00,4157870.8160000006,1935454.928,1935454.928 +3-4-2019 09:00,2651132.1760000004,1234080.4960000003,1234080.4960000003 +3-4-2019 10:00,579050.56,269543.29600000003,269543.29600000003 +3-4-2019 11:00,922900.088,429602.40400000004,429602.40400000004 +3-4-2019 12:00,1461108.5280000002,680134.0920000001,680134.0920000001 +3-4-2019 13:00,1221987.976,568825.488,568825.488 +3-4-2019 14:00,968998.7120000002,451061.028,451061.028 +3-4-2019 15:00,775850.152,361151.868,361151.868 +3-4-2019 16:00,396752.22400000005,184684.91800000003,184684.91800000003 +3-4-2019 17:00,5221451.840000001,2430543.4560000002,2430543.4560000002 +3-4-2019 18:00,3058367.4880000004,1423644.904,1423644.904 +3-4-2019 19:00,2950174.8320000004,1373282.328,1373282.328 +3-4-2019 20:00,2951565.0560000003,1373929.392,1373929.392 +3-4-2019 21:00,1576574.384,733882.556,733882.556 +3-4-2019 22:00,516378.06,240369.77800000002,240369.77800000002 +3-4-2019 23:00,538132.54,250496.31200000003,250496.31200000003 +4-4-2019 00:00,543666.596,253072.358,253072.358 +4-4-2019 01:00,554182.9480000001,257967.64400000003,257967.64400000003 +4-4-2019 02:00,763906.0000000001,355592.028,355592.028 +4-4-2019 03:00,1001977.856,466412.49600000004,466412.49600000004 +4-4-2019 04:00,1184049.8560000001,551165.4720000001,551165.4720000001 +4-4-2019 05:00,1320108.5920000002,614499.8640000001,614499.8640000001 +4-4-2019 06:00,3560097.024,1657196.112,1657196.112 +4-4-2019 07:00,3056071.7440000004,1422576.584,1422576.584 +4-4-2019 08:00,4480909.664000001,2085826.864,2085826.864 +4-4-2019 09:00,3193767.4560000002,1486672.5280000002,1486672.5280000002 +4-4-2019 10:00,888806.072,413731.95600000006,413731.95600000006 +4-4-2019 11:00,1150807.4160000002,535691.464,535691.464 +4-4-2019 12:00,1634834.256,761001.9120000001,761001.9120000001 +4-4-2019 13:00,998471.3200000001,464780.27200000006,464780.27200000006 +4-4-2019 14:00,826038.136,384513.976,384513.976 +4-4-2019 15:00,789640.456,367571.204,367571.204 +4-4-2019 16:00,444476.912,206900.38600000003,206900.38600000003 +4-4-2019 17:00,5257292.1280000005,2447226.6720000003,2447226.6720000003 +4-4-2019 18:00,3094271.8400000003,1440358.128,1440358.128 +4-4-2019 19:00,2970902.5280000004,1382931.0,1382931.0 +4-4-2019 20:00,2996162.4000000004,1394689.12,1394689.12 +4-4-2019 21:00,1640445.1360000002,763613.752,763613.752 +4-4-2019 22:00,535540.28,249289.65600000002,249289.65600000002 +4-4-2019 23:00,527692.2200000001,245636.40200000003,245636.40200000003 +5-4-2019 00:00,528112.992,245832.268,245832.268 +5-4-2019 01:00,536203.316,249598.272,249598.272 +5-4-2019 02:00,731033.6000000001,340290.14800000004,340290.14800000004 +5-4-2019 03:00,1025959.4400000001,477575.73600000003,477575.73600000003 +5-4-2019 04:00,1238885.912,576691.324,576691.324 +5-4-2019 05:00,1443628.912,671997.4800000001,671997.4800000001 +5-4-2019 06:00,3717605.4080000003,1730515.0720000002,1730515.0720000002 +5-4-2019 07:00,2887953.552,1344318.712,1344318.712 +5-4-2019 08:00,4371244.064,2034778.4160000002,2034778.4160000002 +5-4-2019 09:00,2914265.552,1356566.816,1356566.816 +5-4-2019 10:00,491903.544,228977.1,228977.1 +5-4-2019 11:00,330584.51800000004,153884.401,153884.401 +5-4-2019 12:00,1217469.0,566721.892,566721.892 +5-4-2019 13:00,789613.0000000001,367558.4220000001,367558.4220000001 +5-4-2019 14:00,600899.6400000001,279713.874,279713.874 +5-4-2019 15:00,607666.884,282863.988,282863.988 +5-4-2019 16:00,197950.23600000003,92144.217,92144.217 +5-4-2019 17:00,4863742.752,2264032.848,2264032.848 +5-4-2019 18:00,2688094.4640000006,1251286.08,1251286.08 +5-4-2019 19:00,2752524.3680000002,1281277.6240000003,1281277.6240000003 +5-4-2019 20:00,2780864.416,1294469.704,1294469.704 +5-4-2019 21:00,1490021.9840000002,693593.164,693593.164 +5-4-2019 22:00,462196.63600000006,215148.78,215148.78 +5-4-2019 23:00,452325.06,210553.61800000002,210553.61800000002 +6-4-2019 00:00,443045.196,206233.91800000003,206233.91800000003 +6-4-2019 01:00,443255.20800000004,206331.68600000002,206331.68600000002 +6-4-2019 02:00,445955.576,207588.7,207588.7 +6-4-2019 03:00,588751.856,274059.19200000004,274059.19200000004 +6-4-2019 04:00,747227.712,347828.40400000004,347828.40400000004 +6-4-2019 05:00,860440.768,400528.1720000001,400528.1720000001 +6-4-2019 06:00,1797109.2480000001,836539.704,836539.704 +6-4-2019 07:00,2794917.136,1301011.0080000001,1301011.0080000001 +6-4-2019 08:00,5642922.56,2626734.7040000004,2626734.7040000004 +6-4-2019 09:00,4658669.664000001,2168572.912,2168572.912 +6-4-2019 10:00,1824459.8240000003,849271.104,849271.104 +6-4-2019 11:00,1294841.9440000001,602738.356,602738.356 +6-4-2019 12:00,1568410.0960000001,730082.1440000001,730082.1440000001 +6-4-2019 13:00,777218.1120000001,361788.72400000005,361788.72400000005 +6-4-2019 14:00,423986.33200000005,197362.176,197362.176 +6-4-2019 15:00,232747.50400000004,108342.058,108342.058 +6-4-2019 16:00,110349.47,51366.777,51366.777 +6-4-2019 17:00,486837.3400000001,226618.81000000003,226618.81000000003 +6-4-2019 18:00,1933198.4320000003,899888.0000000001,899888.0000000001 +6-4-2019 19:00,2318834.1440000003,1079398.496,1079398.496 +6-4-2019 20:00,1902958.2880000002,885811.6080000001,885811.6080000001 +6-4-2019 21:00,795890.3040000001,370480.44000000006,370480.44000000006 +6-4-2019 22:00,418614.5040000001,194861.61200000002,194861.61200000002 +6-4-2019 23:00,408933.976,190355.41800000003,190355.41800000003 +7-4-2019 00:00,382821.56,178200.297,178200.297 +7-4-2019 01:00,372660.90400000004,173470.616,173470.616 +7-4-2019 02:00,373631.3240000001,173922.342,173922.342 +7-4-2019 03:00,456363.248,212433.364,212433.364 +7-4-2019 04:00,588266.008,273833.01,273833.01 +7-4-2019 05:00,753346.8800000001,350676.85400000005,350676.85400000005 +7-4-2019 06:00,1665523.7280000001,775287.7440000001,775287.7440000001 +7-4-2019 07:00,2537390.944,1181134.9440000001,1181134.9440000001 +7-4-2019 08:00,4964973.024,2311154.208,2311154.208 +7-4-2019 09:00,3625172.6720000003,1687488.3520000002,1687488.3520000002 +7-4-2019 10:00,1030460.552,479670.928,479670.928 +7-4-2019 11:00,124843.58700000001,58113.671,58113.671 +7-4-2019 12:00,156658.073,72923.05900000001,72923.05900000001 +7-4-2019 13:00,81962.375,38152.818,38152.818 +7-4-2019 14:00,43077.859000000004,20052.395000000004,20052.395000000004 +7-4-2019 15:00,24124.606,11229.812000000002,11229.812000000002 +7-4-2019 16:00,26871.471,12508.452000000001,12508.452000000001 +7-4-2019 17:00,48576.781,22612.095,22612.095 +7-4-2019 18:00,604739.828,281501.44,281501.44 +7-4-2019 19:00,1213525.016,564885.992,564885.992 +7-4-2019 20:00,1108159.536,515839.19200000004,515839.19200000004 +7-4-2019 21:00,458658.86,213501.926,213501.926 +7-4-2019 22:00,206700.86800000002,96217.57200000001,96217.57200000001 +7-4-2019 23:00,220104.852,102457.01400000001,102457.01400000001 +8-4-2019 00:00,302960.46,141025.621,141025.621 +8-4-2019 01:00,325503.86,151519.39,151519.39 +8-4-2019 02:00,341306.196,158875.255,158875.255 +8-4-2019 03:00,345945.27,161034.68700000003,161034.68700000003 +8-4-2019 04:00,376205.50000000006,175120.605,175120.605 +8-4-2019 05:00,592519.4440000001,275812.922,275812.922 +8-4-2019 06:00,1977388.3360000001,920458.1760000001,920458.1760000001 +8-4-2019 07:00,2158579.808,1004801.3360000001,1004801.3360000001 +8-4-2019 08:00,2163161.6160000004,1006934.104,1006934.104 +8-4-2019 09:00,1070676.288,498391.08,498391.08 +8-4-2019 10:00,55425.645000000004,25800.181,25800.181 +8-4-2019 11:00,62476.04000000001,29082.086,29082.086 +8-4-2019 12:00,111116.24700000002,51723.716,51723.716 +8-4-2019 13:00,45966.338,21396.958,21396.958 +8-4-2019 14:00,78347.346,36470.060000000005,36470.060000000005 +8-4-2019 15:00,28588.274,13307.613000000001,13307.613000000001 +8-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +8-4-2019 17:00,454205.8400000001,211429.08600000004,211429.08600000004 +8-4-2019 18:00,519738.95600000006,241934.264,241934.264 +8-4-2019 19:00,874009.0480000002,406844.10800000007,406844.10800000007 +8-4-2019 20:00,1233298.6160000002,574090.4400000001,574090.4400000001 +8-4-2019 21:00,659997.36,307223.378,307223.378 +8-4-2019 22:00,86991.762,40493.948000000004,40493.948000000004 +8-4-2019 23:00,167653.123,78041.16100000001,78041.16100000001 +9-4-2019 00:00,199233.91400000002,92741.77,92741.77 +9-4-2019 01:00,248455.94400000002,115654.20900000002,115654.20900000002 +9-4-2019 02:00,320183.094,149042.61900000004,149042.61900000004 +9-4-2019 03:00,352205.81,163948.928,163948.928 +9-4-2019 04:00,380016.428,176894.575,176894.575 +9-4-2019 05:00,588522.7480000001,273952.558,273952.558 +9-4-2019 06:00,1923357.04,895306.984,895306.984 +9-4-2019 07:00,2174577.68,1012248.2480000001,1012248.2480000001 +9-4-2019 08:00,2652527.328,1234729.848,1234729.848 +9-4-2019 09:00,1730297.8880000003,805439.5360000001,805439.5360000001 +9-4-2019 10:00,235258.47400000002,109510.907,109510.907 +9-4-2019 11:00,404463.75200000004,188274.57000000004,188274.57000000004 +9-4-2019 12:00,661487.0680000001,307916.77400000003,307916.77400000003 +9-4-2019 13:00,316131.39800000004,147156.592,147156.592 +9-4-2019 14:00,287972.89400000003,134049.02500000002,134049.02500000002 +9-4-2019 15:00,249796.69,116278.30500000001,116278.30500000001 +9-4-2019 16:00,26870.745000000003,12508.111,12508.111 +9-4-2019 17:00,2642088.0640000002,1229870.4000000001,1229870.4000000001 +9-4-2019 18:00,1407611.04,655231.456,655231.456 +9-4-2019 19:00,1868458.9440000001,869752.3120000002,869752.3120000002 +9-4-2019 20:00,2047401.4880000004,953048.7120000002,953048.7120000002 +9-4-2019 21:00,1154229.12,537284.2200000001,537284.2200000001 +9-4-2019 22:00,375730.12400000007,174899.32900000003,174899.32900000003 +9-4-2019 23:00,394424.75600000005,183601.506,183601.506 +10-4-2019 00:00,404328.54000000004,188211.65000000002,188211.65000000002 +10-4-2019 01:00,420195.776,195597.688,195597.688 +10-4-2019 02:00,441133.57200000004,205344.106,205344.106 +10-4-2019 03:00,520877.67600000004,242464.31000000003,242464.31000000003 +10-4-2019 04:00,752087.3360000001,350090.532,350090.532 +10-4-2019 05:00,892721.984,415554.78800000006,415554.78800000006 +10-4-2019 06:00,2536722.1440000003,1180823.688,1180823.688 +10-4-2019 07:00,2271162.4320000005,1057207.448,1057207.448 +10-4-2019 08:00,2980023.552,1387176.648,1387176.648 +10-4-2019 09:00,1410151.424,656414.0,656414.0 +10-4-2019 10:00,55425.645000000004,25800.181,25800.181 +10-4-2019 11:00,95048.096,44244.12300000001,44244.12300000001 +10-4-2019 12:00,330881.47400000005,154022.627,154022.627 +10-4-2019 13:00,99118.75600000001,46138.983,46138.983 +10-4-2019 14:00,144447.963,67239.35900000001,67239.35900000001 +10-4-2019 15:00,55694.87,25925.504,25925.504 +10-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +10-4-2019 17:00,819877.256,381646.14400000003,381646.14400000003 +10-4-2019 18:00,811160.3280000001,377588.5080000001,377588.5080000001 +10-4-2019 19:00,1491294.816,694185.5360000001,694185.5360000001 +10-4-2019 20:00,2003435.104,932582.6400000001,932582.6400000001 +10-4-2019 21:00,1190319.4160000002,554083.9480000001,554083.9480000001 +10-4-2019 22:00,377138.036,175554.665,175554.665 +10-4-2019 23:00,413642.68,192547.32200000001,192547.32200000001 +11-4-2019 00:00,463389.25600000005,215703.928,215703.928 +11-4-2019 01:00,481960.38,224348.63,224348.63 +11-4-2019 02:00,560377.224,260851.00800000003,260851.00800000003 +11-4-2019 03:00,795489.376,370293.792,370293.792 +11-4-2019 04:00,947628.528,441113.33200000005,441113.33200000005 +11-4-2019 05:00,1134667.952,528178.64,528178.64 +11-4-2019 06:00,2996814.6560000004,1394992.72,1394992.72 +11-4-2019 07:00,2327441.072,1083404.784,1083404.784 +11-4-2019 08:00,3347219.04,1558103.1840000001,1558103.1840000001 +11-4-2019 09:00,1526111.664,710392.628,710392.628 +11-4-2019 10:00,55983.345,26059.792000000005,26059.792000000005 +11-4-2019 11:00,157949.385,73524.15400000001,73524.15400000001 +11-4-2019 12:00,440296.868,204954.596,204954.596 +11-4-2019 13:00,278483.832,129631.95300000001,129631.95300000001 +11-4-2019 14:00,224158.132,104343.78900000002,104343.78900000002 +11-4-2019 15:00,121243.61700000001,56437.92,56437.92 +11-4-2019 16:00,119128.009,55453.112,55453.112 +11-4-2019 17:00,2183956.1920000003,1016613.752,1016613.752 +11-4-2019 18:00,1575282.368,733281.0760000001,733281.0760000001 +11-4-2019 19:00,2157374.912,1004240.424,1004240.424 +11-4-2019 20:00,2465559.008,1147697.584,1147697.584 +11-4-2019 21:00,1391257.208,647618.8400000001,647618.8400000001 +11-4-2019 22:00,428317.384,199378.256,199378.256 +11-4-2019 23:00,454184.28,211419.098,211419.098 +12-4-2019 00:00,452175.064,210483.81200000003,210483.81200000003 +12-4-2019 01:00,457027.912,212742.772,212742.772 +12-4-2019 02:00,463783.58400000003,215887.47400000002,215887.47400000002 +12-4-2019 03:00,716850.9480000001,333688.25600000005,333688.25600000005 +12-4-2019 04:00,828543.056,385680.02,385680.02 +12-4-2019 05:00,969644.72,451361.68000000005,451361.68000000005 +12-4-2019 06:00,2762463.44,1285904.048,1285904.048 +12-4-2019 07:00,2490714.16,1159407.2160000002,1159407.2160000002 +12-4-2019 08:00,3582526.112,1667636.784,1667636.784 +12-4-2019 09:00,1830729.12,852189.4480000001,852189.4480000001 +12-4-2019 10:00,405380.44800000003,188701.282,188701.282 +12-4-2019 11:00,453988.5240000001,211327.95200000002,211327.95200000002 +12-4-2019 12:00,1152140.1760000002,536311.8640000001,536311.8640000001 +12-4-2019 13:00,891886.6000000001,415165.96,415165.96 +12-4-2019 14:00,877546.9120000001,408490.98400000005,408490.98400000005 +12-4-2019 15:00,752620.528,350338.71400000004,350338.71400000004 +12-4-2019 16:00,106728.16000000002,49681.093,49681.093 +12-4-2019 17:00,3667219.7760000005,1707060.9600000002,1707060.9600000002 +12-4-2019 18:00,2350250.4960000003,1094022.3360000001,1094022.3360000001 +12-4-2019 19:00,2954586.9760000003,1375335.984,1375335.984 +12-4-2019 20:00,3102151.3600000003,1444026.2320000003,1444026.2320000003 +12-4-2019 21:00,1730012.4160000002,805306.7440000001,805306.7440000001 +12-4-2019 22:00,551415.304,256679.34600000002,256679.34600000002 +12-4-2019 23:00,558869.52,260149.23,260149.23 +13-4-2019 00:00,554286.348,258015.80200000003,258015.80200000003 +13-4-2019 01:00,565267.9560000001,263127.59,263127.59 +13-4-2019 02:00,875037.9440000001,407323.048,407323.048 +13-4-2019 03:00,1087351.232,506153.16400000005,506153.16400000005 +13-4-2019 04:00,1338682.928,623146.04,623146.04 +13-4-2019 05:00,1451107.1520000002,675478.54,675478.54 +13-4-2019 06:00,2219671.168,1033238.888,1033238.888 +13-4-2019 07:00,2615548.848,1217516.6080000002,1217516.6080000002 +13-4-2019 08:00,5483832.992000001,2552679.3600000003,2552679.3600000003 +13-4-2019 09:00,3860242.8480000007,1796911.4240000003,1796911.4240000003 +13-4-2019 10:00,1240991.84,577671.556,577671.556 +13-4-2019 11:00,1092544.904,508570.78800000006,508570.78800000006 +13-4-2019 12:00,1814955.8240000003,844847.1680000001,844847.1680000001 +13-4-2019 13:00,1465799.456,682317.68,682317.68 +13-4-2019 14:00,1200249.0720000002,558706.148,558706.148 +13-4-2019 15:00,935553.432,435492.5080000001,435492.5080000001 +13-4-2019 16:00,833096.792,387799.764,387799.764 +13-4-2019 17:00,1005618.152,468107.0240000001,468107.0240000001 +13-4-2019 18:00,2989733.824,1391696.6800000002,1391696.6800000002 +13-4-2019 19:00,3372308.1920000003,1569782.0160000003,1569782.0160000003 +13-4-2019 20:00,2601719.1200000006,1211079.056,1211079.056 +13-4-2019 21:00,1219497.664,567666.2640000001,567666.2640000001 +13-4-2019 22:00,728786.7400000001,339244.29000000004,339244.29000000004 +13-4-2019 23:00,733972.4480000001,341658.15200000006,341658.15200000006 +14-4-2019 00:00,813965.5920000001,378894.29600000003,378894.29600000003 +14-4-2019 01:00,1076337.6800000002,501026.46,501026.46 +14-4-2019 02:00,1270323.736,591325.328,591325.328 +14-4-2019 03:00,1417987.0320000001,660061.3800000001,660061.3800000001 +14-4-2019 04:00,1490950.208,694025.156,694025.156 +14-4-2019 05:00,1599280.144,744451.8400000001,744451.8400000001 +14-4-2019 06:00,2454368.752,1142488.688,1142488.688 +14-4-2019 07:00,3128637.2480000006,1456355.12,1456355.12 +14-4-2019 08:00,6495415.872,3023563.136,3023563.136 +14-4-2019 09:00,5033678.848,2343136.4000000004,2343136.4000000004 +14-4-2019 10:00,1381129.376,642904.4600000001,642904.4600000001 +14-4-2019 11:00,1009770.3440000002,470039.81200000003,470039.81200000003 +14-4-2019 12:00,1469801.52,684180.508,684180.508 +14-4-2019 13:00,501576.548,233479.774,233479.774 +14-4-2019 14:00,62531.10600000001,29107.716000000004,29107.716000000004 +14-4-2019 15:00,23967.922000000002,11156.871000000001,11156.871000000001 +14-4-2019 16:00,26246.396000000004,12217.48,12217.48 +14-4-2019 17:00,63737.93800000001,29669.486,29669.486 +14-4-2019 18:00,1279137.2880000002,595427.9760000001,595427.9760000001 +14-4-2019 19:00,2556540.2720000003,1190048.5520000001,1190048.5520000001 +14-4-2019 20:00,2234770.384,1040267.4480000001,1040267.4480000001 +14-4-2019 21:00,992584.2080000001,462039.82000000007,462039.82000000007 +14-4-2019 22:00,542244.912,252410.59800000003,252410.59800000003 +14-4-2019 23:00,562444.6080000001,261813.37600000002,261813.37600000002 +15-4-2019 00:00,609148.1000000001,283553.49,283553.49 +15-4-2019 01:00,783823.4800000001,364863.444,364863.444 +15-4-2019 02:00,934666.392,435079.568,435079.568 +15-4-2019 03:00,1124718.144,523547.112,523547.112 +15-4-2019 04:00,1179271.984,548941.4480000001,548941.4480000001 +15-4-2019 05:00,1322286.064,615513.4480000001,615513.4480000001 +15-4-2019 06:00,3445704.768,1603947.3120000002,1603947.3120000002 +15-4-2019 07:00,2572331.696,1197399.5440000002,1197399.5440000002 +15-4-2019 08:00,3890428.256,1810962.5600000003,1810962.5600000003 +15-4-2019 09:00,2147549.3600000003,999666.7120000002,999666.7120000002 +15-4-2019 10:00,78634.732,36603.82,36603.82 +15-4-2019 11:00,387322.892,180295.665,180295.665 +15-4-2019 12:00,690520.424,321431.63800000004,321431.63800000004 +15-4-2019 13:00,237100.51200000005,110368.346,110368.346 +15-4-2019 14:00,339908.998,158224.86900000004,158224.86900000004 +15-4-2019 15:00,115891.56700000001,53946.596000000005,53946.596000000005 +15-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +15-4-2019 17:00,1455855.2800000003,677688.704,677688.704 +15-4-2019 18:00,795922.952,370495.62000000005,370495.62000000005 +15-4-2019 19:00,1432603.128,666865.056,666865.056 +15-4-2019 20:00,1981053.3600000003,922164.1440000001,922164.1440000001 +15-4-2019 21:00,1133664.84,527711.712,527711.712 +15-4-2019 22:00,311143.5580000001,144834.77800000002,144834.77800000002 +15-4-2019 23:00,368716.72200000007,171634.62800000003,171634.62800000003 +16-4-2019 00:00,408641.992,190219.524,190219.524 +16-4-2019 01:00,420177.64800000004,195589.26200000002,195589.26200000002 +16-4-2019 02:00,429484.66000000003,199921.61200000002,199921.61200000002 +16-4-2019 03:00,544035.14,253243.91400000002,253243.91400000002 +16-4-2019 04:00,751601.5760000001,349864.416,349864.416 +16-4-2019 05:00,910219.0240000001,423699.54000000004,423699.54000000004 +16-4-2019 06:00,2540941.2160000005,1182787.584,1182787.584 +16-4-2019 07:00,2265466.3680000002,1054556.0960000001,1054556.0960000001 +16-4-2019 08:00,3394349.024,1580041.7600000002,1580041.7600000002 +16-4-2019 09:00,1905155.2960000003,886834.1680000001,886834.1680000001 +16-4-2019 10:00,292050.462,135947.108,135947.108 +16-4-2019 11:00,313429.204,145898.731,145898.731 +16-4-2019 12:00,409796.376,190756.852,190756.852 +16-4-2019 13:00,254634.46800000002,118530.258,118530.258 +16-4-2019 14:00,311436.532,144971.15600000002,144971.15600000002 +16-4-2019 15:00,244013.55000000002,113586.319,113586.319 +16-4-2019 16:00,30614.892000000003,14250.984000000002,14250.984000000002 +16-4-2019 17:00,2712377.7120000003,1262589.5920000002,1262589.5920000002 +16-4-2019 18:00,1351349.736,629042.3040000001,629042.3040000001 +16-4-2019 19:00,1750362.0640000002,814779.4160000001,814779.4160000001 +16-4-2019 20:00,1971291.6960000002,917620.1760000001,917620.1760000001 +16-4-2019 21:00,1035714.2400000001,482116.58,482116.58 +16-4-2019 22:00,295336.33800000005,137476.658,137476.658 +16-4-2019 23:00,364598.212,169717.50400000002,169717.50400000002 +17-4-2019 00:00,401236.528,186772.32200000001,186772.32200000001 +17-4-2019 01:00,397987.52400000003,185259.95400000003,185259.95400000003 +17-4-2019 02:00,403975.792,188047.442,188047.442 +17-4-2019 03:00,397174.712,184881.55400000003,184881.55400000003 +17-4-2019 04:00,536037.5240000001,249521.096,249521.096 +17-4-2019 05:00,675214.0120000001,314306.63,314306.63 +17-4-2019 06:00,2146237.4560000002,999055.9920000001,999055.9920000001 +17-4-2019 07:00,2317647.024,1078845.8560000001,1078845.8560000001 +17-4-2019 08:00,3107173.3440000005,1446363.9520000003,1446363.9520000003 +17-4-2019 09:00,1720034.272,800661.9280000001,800661.9280000001 +17-4-2019 10:00,147172.586,68507.648,68507.648 +17-4-2019 11:00,336525.88200000004,156650.043,156650.043 +17-4-2019 12:00,622565.3720000001,289799.13600000006,289799.13600000006 +17-4-2019 13:00,327727.55400000006,152554.49000000002,152554.49000000002 +17-4-2019 14:00,343072.79600000003,159697.571,159697.571 +17-4-2019 15:00,302925.414,141009.34100000001,141009.34100000001 +17-4-2019 16:00,41434.041,19287.213000000003,19287.213000000003 +17-4-2019 17:00,2872267.376,1337017.0880000002,1337017.0880000002 +17-4-2019 18:00,1418002.8720000002,660068.8160000001,660068.8160000001 +17-4-2019 19:00,1849899.568,861113.2640000001,861113.2640000001 +17-4-2019 20:00,2010834.144,936026.784,936026.784 +17-4-2019 21:00,1000952.6560000001,465935.31600000005,465935.31600000005 +17-4-2019 22:00,296662.696,138094.05500000002,138094.05500000002 +17-4-2019 23:00,305272.68200000003,142101.949,142101.949 +18-4-2019 00:00,293010.12400000007,136393.807,136393.807 +18-4-2019 01:00,294008.836,136858.722,136858.722 +18-4-2019 02:00,310025.47400000005,144314.32400000002,144314.32400000002 +18-4-2019 03:00,324241.786,150931.913,150931.913 +18-4-2019 04:00,331381.204,154255.24400000004,154255.24400000004 +18-4-2019 05:00,360524.318,167821.13700000002,167821.13700000002 +18-4-2019 06:00,1689379.12,786392.2000000001,786392.2000000001 +18-4-2019 07:00,1953896.0320000004,909522.6800000002,909522.6800000002 +18-4-2019 08:00,1477764.112,687887.1120000001,687887.1120000001 +18-4-2019 09:00,928889.8960000001,432390.6400000001,432390.6400000001 +18-4-2019 10:00,55425.645000000004,25800.181,25800.181 +18-4-2019 11:00,57943.41300000001,26972.187,26972.187 +18-4-2019 12:00,108246.91900000001,50388.06300000001,50388.06300000001 +18-4-2019 13:00,33927.124,15792.799,15792.799 +18-4-2019 14:00,35823.018000000004,16675.318,16675.318 +18-4-2019 15:00,21806.807,10150.888,10150.888 +18-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +18-4-2019 17:00,67038.41100000001,31205.823000000004,31205.823000000004 +18-4-2019 18:00,126341.07200000001,58810.741,58810.741 +18-4-2019 19:00,223800.96200000003,104177.53500000002,104177.53500000002 +18-4-2019 20:00,386338.744,179837.548,179837.548 +18-4-2019 21:00,328539.86,152932.62600000002,152932.62600000002 +18-4-2019 22:00,37902.172,17643.153000000002,17643.153000000002 +18-4-2019 23:00,21266.102000000003,9899.197000000002,9899.197000000002 +19-4-2019 00:00,16857.874,7847.202,7847.202 +19-4-2019 01:00,46351.888000000006,21576.423000000003,21576.423000000003 +19-4-2019 02:00,109484.28700000001,50964.045,50964.045 +19-4-2019 03:00,153221.497,71323.36200000001,71323.36200000001 +19-4-2019 04:00,161173.298,75024.85100000001,75024.85100000001 +19-4-2019 05:00,189700.10400000002,88303.842,88303.842 +19-4-2019 06:00,824002.0800000001,383566.26,383566.26 +19-4-2019 07:00,1386761.992,645526.464,645526.464 +19-4-2019 08:00,1216417.664,566232.5240000001,566232.5240000001 +19-4-2019 09:00,938567.256,436895.40400000004,436895.40400000004 +19-4-2019 10:00,55425.645000000004,25800.181,25800.181 +19-4-2019 11:00,57371.68800000001,26706.053,26706.053 +19-4-2019 12:00,106001.70900000002,49342.931000000004,49342.931000000004 +19-4-2019 13:00,32710.216000000004,15226.343,15226.343 +19-4-2019 14:00,29629.336,13792.218,13792.218 +19-4-2019 15:00,21806.807,10150.888,10150.888 +19-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +19-4-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +19-4-2019 18:00,71672.194,33362.824,33362.824 +19-4-2019 19:00,76034.70600000002,35393.534,35393.534 +19-4-2019 20:00,82567.87000000001,38434.671,38434.671 +19-4-2019 21:00,91090.153,42401.722,42401.722 +19-4-2019 22:00,37253.304000000004,17341.104,17341.104 +19-4-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +20-4-2019 00:00,6982.338000000001,3250.2250000000004,3250.2250000000004 +20-4-2019 01:00,6711.441000000001,3124.1210000000005,3124.1210000000005 +20-4-2019 02:00,9784.533000000001,4554.627,4554.627 +20-4-2019 03:00,39919.74800000001,18582.322000000004,18582.322000000004 +20-4-2019 04:00,94504.93800000001,43991.277,43991.277 +20-4-2019 05:00,164760.431,76694.64,76694.64 +20-4-2019 06:00,602393.088,280409.074,280409.074 +20-4-2019 07:00,1044064.7360000001,486003.6720000001,486003.6720000001 +20-4-2019 08:00,1040060.6480000002,484139.744,484139.744 +20-4-2019 09:00,530933.832,247145.36000000002,247145.36000000002 +20-4-2019 10:00,66569.921,30987.748000000003,30987.748000000003 +20-4-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +20-4-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +20-4-2019 13:00,32710.216000000004,15226.343,15226.343 +20-4-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +20-4-2019 15:00,21806.807,10150.888,10150.888 +20-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +20-4-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +20-4-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +20-4-2019 19:00,71780.74200000001,33413.347,33413.347 +20-4-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +20-4-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +20-4-2019 22:00,37253.304000000004,17341.104,17341.104 +20-4-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +21-4-2019 00:00,6360.321,2960.672,2960.672 +21-4-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +21-4-2019 02:00,2478.5310000000004,1153.735,1153.735 +21-4-2019 03:00,4425.322,2059.9480000000003,2059.9480000000003 +21-4-2019 04:00,29381.66,13676.927000000001,13676.927000000001 +21-4-2019 05:00,79388.221,36954.566,36954.566 +21-4-2019 06:00,404115.66800000006,188112.54,188112.54 +21-4-2019 07:00,666649.7640000001,310320.05400000006,310320.05400000006 +21-4-2019 08:00,526129.78,244909.10400000002,244909.10400000002 +21-4-2019 09:00,405486.928,188750.87000000002,188750.87000000002 +21-4-2019 10:00,67300.22200000001,31327.703,31327.703 +21-4-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +21-4-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +21-4-2019 13:00,32710.216000000004,15226.343,15226.343 +21-4-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +21-4-2019 15:00,21806.807,10150.888,10150.888 +21-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +21-4-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +21-4-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +21-4-2019 19:00,71780.74200000001,33413.347,33413.347 +21-4-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +21-4-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +21-4-2019 22:00,37253.304000000004,17341.104,17341.104 +21-4-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +22-4-2019 00:00,6360.321,2960.672,2960.672 +22-4-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +22-4-2019 02:00,3633.2780000000002,1691.2610000000002,1691.2610000000002 +22-4-2019 03:00,9782.157000000001,4553.5160000000005,4553.5160000000005 +22-4-2019 04:00,45853.291000000005,21344.334,21344.334 +22-4-2019 05:00,120544.82,56112.62800000001,56112.62800000001 +22-4-2019 06:00,247783.514,115341.20400000001,115341.20400000001 +22-4-2019 07:00,472133.552,219774.28,219774.28 +22-4-2019 08:00,273433.798,127281.20900000002,127281.20900000002 +22-4-2019 09:00,560386.376,260855.298,260855.298 +22-4-2019 10:00,55425.645000000004,25800.181,25800.181 +22-4-2019 11:00,51729.28200000001,24079.561,24079.561 +22-4-2019 12:00,82598.087,38448.740000000005,38448.740000000005 +22-4-2019 13:00,32710.216000000004,15226.343,15226.343 +22-4-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +22-4-2019 15:00,21806.807,10150.888,10150.888 +22-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +22-4-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +22-4-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +22-4-2019 19:00,72152.66300000002,33586.476,33586.476 +22-4-2019 20:00,69036.792,32136.06,32136.06 +22-4-2019 21:00,55620.68600000001,25890.975000000002,25890.975000000002 +22-4-2019 22:00,37253.304000000004,17341.104,17341.104 +22-4-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +23-4-2019 00:00,6360.321,2960.672,2960.672 +23-4-2019 01:00,4843.674000000001,2254.692,2254.692 +23-4-2019 02:00,3410.3520000000003,1587.4870000000003,1587.4870000000003 +23-4-2019 03:00,4263.622,1984.6750000000002,1984.6750000000002 +23-4-2019 04:00,21165.111,9852.183,9852.183 +23-4-2019 05:00,47964.323000000004,22326.997000000003,22326.997000000003 +23-4-2019 06:00,139612.26400000002,64988.374,64988.374 +23-4-2019 07:00,353278.926,164448.46000000002,164448.46000000002 +23-4-2019 08:00,306159.216,142514.625,142514.625 +23-4-2019 09:00,518731.22400000005,241465.15800000002,241465.15800000002 +23-4-2019 10:00,55425.645000000004,25800.181,25800.181 +23-4-2019 11:00,53386.069,24850.782,24850.782 +23-4-2019 12:00,101108.90900000001,47065.381,47065.381 +23-4-2019 13:00,33139.975000000006,15426.389000000001,15426.389000000001 +23-4-2019 14:00,34922.58,16256.174,16256.174 +23-4-2019 15:00,29699.098,13824.69,13824.69 +23-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +23-4-2019 17:00,55942.92,26040.971,26040.971 +23-4-2019 18:00,96527.057,44932.558000000005,44932.558000000005 +23-4-2019 19:00,122235.92700000001,56899.83200000001,56899.83200000001 +23-4-2019 20:00,166805.59500000003,77646.63500000001,77646.63500000001 +23-4-2019 21:00,142021.99,66110.077,66110.077 +23-4-2019 22:00,37826.063,17607.722,17607.722 +23-4-2019 23:00,20370.581000000002,9482.341,9482.341 +24-4-2019 00:00,8782.048,4087.9740000000006,4087.9740000000006 +24-4-2019 01:00,15536.235000000002,7231.994000000001,7231.994000000001 +24-4-2019 02:00,22293.128,10377.268,10377.268 +24-4-2019 03:00,38354.37100000001,17853.649,17853.649 +24-4-2019 04:00,47669.094000000005,22189.574,22189.574 +24-4-2019 05:00,60134.272000000004,27992.019000000004,27992.019000000004 +24-4-2019 06:00,186542.00400000004,86833.78000000001,86833.78000000001 +24-4-2019 07:00,382657.66000000003,178124.01200000002,178124.01200000002 +24-4-2019 08:00,316508.478,147332.108,147332.108 +24-4-2019 09:00,361745.142,168389.40800000002,168389.40800000002 +24-4-2019 10:00,55425.645000000004,25800.181,25800.181 +24-4-2019 11:00,49504.598000000005,23043.977000000003,23043.977000000003 +24-4-2019 12:00,65521.654,30499.799000000003,30499.799000000003 +24-4-2019 13:00,32710.216000000004,15226.343,15226.343 +24-4-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +24-4-2019 15:00,21806.807,10150.888,10150.888 +24-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +24-4-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +24-4-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +24-4-2019 19:00,71780.74200000001,33413.347,33413.347 +24-4-2019 20:00,65698.79800000001,30582.255,30582.255 +24-4-2019 21:00,55715.418000000005,25935.063000000006,25935.063000000006 +24-4-2019 22:00,37253.304000000004,17341.104,17341.104 +24-4-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +25-4-2019 00:00,6566.483,3056.6470000000004,3056.6470000000004 +25-4-2019 01:00,6342.688,2952.4660000000003,2952.4660000000003 +25-4-2019 02:00,4763.374000000001,2217.3140000000003,2217.3140000000003 +25-4-2019 03:00,29467.669,13716.956,13716.956 +25-4-2019 04:00,52323.810000000005,24356.31,24356.31 +25-4-2019 05:00,102075.20400000001,47515.171,47515.171 +25-4-2019 06:00,236409.272,110046.596,110046.596 +25-4-2019 07:00,439103.98400000005,204399.31600000002,204399.31600000002 +25-4-2019 08:00,427971.58800000005,199217.26,199217.26 +25-4-2019 09:00,762736.5680000001,355047.61600000004,355047.61600000004 +25-4-2019 10:00,55425.645000000004,25800.181,25800.181 +25-4-2019 11:00,55877.65700000001,26010.589000000004,26010.589000000004 +25-4-2019 12:00,106096.27600000001,49386.95300000001,49386.95300000001 +25-4-2019 13:00,37201.472,17316.981,17316.981 +25-4-2019 14:00,48046.273,22365.145000000004,22365.145000000004 +25-4-2019 15:00,52952.196,24648.811,24648.811 +25-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +25-4-2019 17:00,169505.897,78903.61600000001,78903.61600000001 +25-4-2019 18:00,250630.88600000003,116666.62700000002,116666.62700000002 +25-4-2019 19:00,444178.32800000004,206761.36800000002,206761.36800000002 +25-4-2019 20:00,602734.528,280568.00200000004,280568.00200000004 +25-4-2019 21:00,354119.7,164839.86200000002,164839.86200000002 +25-4-2019 22:00,53564.15900000001,24933.678,24933.678 +25-4-2019 23:00,54861.18000000001,25537.435,25537.435 +26-4-2019 00:00,76595.332,35654.509,35654.509 +26-4-2019 01:00,129859.58700000001,60448.575000000004,60448.575000000004 +26-4-2019 02:00,131406.88,61168.833000000006,61168.833000000006 +26-4-2019 03:00,138236.934,64348.185000000005,64348.185000000005 +26-4-2019 04:00,138681.65300000002,64555.183000000005,64555.183000000005 +26-4-2019 05:00,148382.47600000002,69070.837,69070.837 +26-4-2019 06:00,586588.9040000001,273052.34,273052.34 +26-4-2019 07:00,1028490.1440000001,478753.792,478753.792 +26-4-2019 08:00,1033976.2400000001,481307.552,481307.552 +26-4-2019 09:00,1104903.8,514323.70000000007,514323.70000000007 +26-4-2019 10:00,55425.645000000004,25800.181,25800.181 +26-4-2019 11:00,90405.007,42082.799,42082.799 +26-4-2019 12:00,194591.738,90580.87500000001,90580.87500000001 +26-4-2019 13:00,46986.192,21871.685,21871.685 +26-4-2019 14:00,90255.33000000002,42013.114,42013.114 +26-4-2019 15:00,61105.484000000004,28444.097,28444.097 +26-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +26-4-2019 17:00,281964.188,131252.02200000003,131252.02200000003 +26-4-2019 18:00,243700.02800000002,113440.382,113440.382 +26-4-2019 19:00,401998.564,187127.05000000002,187127.05000000002 +26-4-2019 20:00,655096.0680000001,304941.868,304941.868 +26-4-2019 21:00,349967.442,162906.997,162906.997 +26-4-2019 22:00,52522.107,24448.611,24448.611 +26-4-2019 23:00,54155.090000000004,25208.755,25208.755 +27-4-2019 00:00,88519.15600000002,41204.944,41204.944 +27-4-2019 01:00,130639.83900000002,60811.77300000001,60811.77300000001 +27-4-2019 02:00,135132.426,62903.03800000001,62903.03800000001 +27-4-2019 03:00,136203.94700000001,63401.833000000006,63401.833000000006 +27-4-2019 04:00,145088.90000000002,67537.712,67537.712 +27-4-2019 05:00,156581.02900000004,72887.19900000001,72887.19900000001 +27-4-2019 06:00,561481.844,261365.23600000003,261365.23600000003 +27-4-2019 07:00,1328810.2960000003,618550.4160000001,618550.4160000001 +27-4-2019 08:00,1714142.32,797919.2320000001,797919.2320000001 +27-4-2019 09:00,1797434.32,836691.152,836691.152 +27-4-2019 10:00,350638.00200000004,163219.133,163219.133 +27-4-2019 11:00,160805.678,74853.73500000002,74853.73500000002 +27-4-2019 12:00,435097.65200000006,202534.39800000002,202534.39800000002 +27-4-2019 13:00,191547.774,89163.932,89163.932 +27-4-2019 14:00,75566.524,35175.602,35175.602 +27-4-2019 15:00,22850.157,10636.560000000001,10636.560000000001 +27-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +27-4-2019 17:00,43662.817,20324.689000000002,20324.689000000002 +27-4-2019 18:00,226624.222,105491.72700000001,105491.72700000001 +27-4-2019 19:00,796342.0080000001,370690.716,370690.716 +27-4-2019 20:00,774553.384,360548.2540000001,360548.2540000001 +27-4-2019 21:00,420880.592,195916.49000000002,195916.49000000002 +27-4-2019 22:00,195959.41200000004,91217.511,91217.511 +27-4-2019 23:00,204089.534,95002.017,95002.017 +28-4-2019 00:00,206863.82200000001,96293.41700000002,96293.41700000002 +28-4-2019 01:00,229988.83600000004,107057.929,107057.929 +28-4-2019 02:00,250502.714,116606.96300000002,116606.96300000002 +28-4-2019 03:00,252600.17200000002,117583.33400000002,117583.33400000002 +28-4-2019 04:00,291358.276,135624.896,135624.896 +28-4-2019 05:00,412598.78,192061.364,192061.364 +28-4-2019 06:00,796500.76,370764.63600000006,370764.63600000006 +28-4-2019 07:00,1832421.536,852977.3120000002,852977.3120000002 +28-4-2019 08:00,2765111.536,1287136.84,1287136.84 +28-4-2019 09:00,2580801.344,1201342.0320000001,1201342.0320000001 +28-4-2019 10:00,625038.6120000001,290950.37400000007,290950.37400000007 +28-4-2019 11:00,294736.48600000003,137197.423,137197.423 +28-4-2019 12:00,611952.9680000001,284859.08,284859.08 +28-4-2019 13:00,275580.47000000003,128280.46000000002,128280.46000000002 +28-4-2019 14:00,70640.43800000001,32882.542,32882.542 +28-4-2019 15:00,22550.264000000003,10496.970000000001,10496.970000000001 +28-4-2019 16:00,25962.739000000005,12085.436000000002,12085.436000000002 +28-4-2019 17:00,47579.10300000001,22147.686,22147.686 +28-4-2019 18:00,241471.86800000002,112403.19200000001,112403.19200000001 +28-4-2019 19:00,915759.152,426278.38,426278.38 +28-4-2019 20:00,1118165.1360000002,520496.76800000004,520496.76800000004 +28-4-2019 21:00,505486.12400000007,235299.65800000002,235299.65800000002 +28-4-2019 22:00,252948.146,117745.298,117745.298 +28-4-2019 23:00,286908.88600000006,133553.761,133553.761 +29-4-2019 00:00,303199.71,141137.007,141137.007 +29-4-2019 01:00,355740.99000000005,165594.55000000002,165594.55000000002 +29-4-2019 02:00,367532.726,171083.48400000003,171083.48400000003 +29-4-2019 03:00,535378.096,249214.13,249214.13 +29-4-2019 04:00,624118.7480000001,290522.166,290522.166 +29-4-2019 05:00,654353.4360000001,304596.16,304596.16 +29-4-2019 06:00,1339544.448,623547.0120000001,623547.0120000001 +29-4-2019 07:00,2085205.9360000002,970646.3360000001,970646.3360000001 +29-4-2019 08:00,2256437.568,1050353.304,1050353.304 +29-4-2019 09:00,1429408.816,665378.164,665378.164 +29-4-2019 10:00,90147.40900000001,41962.877,41962.877 +29-4-2019 11:00,107168.754,49886.18800000001,49886.18800000001 +29-4-2019 12:00,266864.62000000005,124223.28600000001,124223.28600000001 +29-4-2019 13:00,145995.355,67959.65000000001,67959.65000000001 +29-4-2019 14:00,155166.77000000002,72228.86000000002,72228.86000000002 +29-4-2019 15:00,98824.748,46002.12100000001,46002.12100000001 +29-4-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +29-4-2019 17:00,1152179.3360000001,536330.0800000001,536330.0800000001 +29-4-2019 18:00,329304.536,153288.586,153288.586 +29-4-2019 19:00,1072951.088,499449.98400000005,499449.98400000005 +29-4-2019 20:00,1353401.984,629997.588,629997.588 +29-4-2019 21:00,777005.5920000001,361689.79000000004,361689.79000000004 +29-4-2019 22:00,195121.256,90827.36300000001,90827.36300000001 +29-4-2019 23:00,192900.44400000002,89793.594,89793.594 +30-4-2019 00:00,193484.10400000002,90065.261,90065.261 +30-4-2019 01:00,235327.90600000002,109543.225,109543.225 +30-4-2019 02:00,250307.442,116516.07,116516.07 +30-4-2019 03:00,276458.57800000004,128689.22,128689.22 +30-4-2019 04:00,290481.33400000003,135216.69700000001,135216.69700000001 +30-4-2019 05:00,296452.22200000007,137996.089,137996.089 +30-4-2019 06:00,874482.8400000001,407064.63600000006,407064.63600000006 +30-4-2019 07:00,1767391.12,822706.104,822706.104 +30-4-2019 08:00,1569648.256,730658.5000000001,730658.5000000001 +30-4-2019 09:00,1472385.4640000002,685383.4680000001,685383.4680000001 +30-4-2019 10:00,127185.88300000002,59203.991,59203.991 +30-4-2019 11:00,235203.034,109485.09,109485.09 +30-4-2019 12:00,527453.344,245525.23600000003,245525.23600000003 +30-4-2019 13:00,280881.87600000005,130748.22200000001,130748.22200000001 +30-4-2019 14:00,240572.222,111984.41100000001,111984.41100000001 +30-4-2019 15:00,221030.37000000002,102887.85100000001,102887.85100000001 +30-4-2019 16:00,34700.127,16152.631000000001,16152.631000000001 +30-4-2019 17:00,1782120.912,829562.712,829562.712 +30-4-2019 18:00,442942.8080000001,206186.266,206186.266 +30-4-2019 19:00,1417365.048,659771.9480000001,659771.9480000001 +30-4-2019 20:00,1770819.0720000002,824301.8960000001,824301.8960000001 +30-4-2019 21:00,945447.3600000001,440098.032,440098.032 +30-4-2019 22:00,242874.10400000002,113055.91000000002,113055.91000000002 +30-4-2019 23:00,280101.998,130385.20000000001,130385.20000000001 +1-5-2019 00:00,339765.25,158157.94500000004,158157.94500000004 +1-5-2019 01:00,390292.58400000003,181678.00200000004,181678.00200000004 +1-5-2019 02:00,402947.732,187568.89800000002,187568.89800000002 +1-5-2019 03:00,395621.732,184158.689,184158.689 +1-5-2019 04:00,506383.81200000003,235717.526,235717.526 +1-5-2019 05:00,558166.7080000001,259822.046,259822.046 +1-5-2019 06:00,1247920.9600000002,580897.064,580897.064 +1-5-2019 07:00,2004005.6960000002,932848.3120000002,932848.3120000002 +1-5-2019 08:00,2191114.992,1019946.224,1019946.224 +1-5-2019 09:00,1592413.6800000002,741255.5920000001,741255.5920000001 +1-5-2019 10:00,135964.521,63290.381,63290.381 +1-5-2019 11:00,297066.37400000007,138281.96800000002,138281.96800000002 +1-5-2019 12:00,340073.1400000001,158301.30800000002,158301.30800000002 +1-5-2019 13:00,71905.68000000001,33471.504,33471.504 +1-5-2019 14:00,178633.499,83152.44300000001,83152.44300000001 +1-5-2019 15:00,141728.46600000001,65973.44600000001,65973.44600000001 +1-5-2019 16:00,37104.166,17271.683,17271.683 +1-5-2019 17:00,1742702.192,811213.7440000001,811213.7440000001 +1-5-2019 18:00,454294.67600000004,211470.46800000002,211470.46800000002 +1-5-2019 19:00,1446254.392,673219.6240000001,673219.6240000001 +1-5-2019 20:00,1914146.784,891019.8,891019.8 +1-5-2019 21:00,1079944.712,502705.45600000006,502705.45600000006 +1-5-2019 22:00,321636.04000000004,149718.921,149718.921 +1-5-2019 23:00,370745.364,172578.934,172578.934 +2-5-2019 00:00,419157.46400000004,195114.37000000002,195114.37000000002 +2-5-2019 01:00,435219.048,202590.91600000003,202590.91600000003 +2-5-2019 02:00,448397.928,208725.57200000001,208725.57200000001 +2-5-2019 03:00,602905.16,280647.444,280647.444 +2-5-2019 04:00,735325.2720000001,342287.92400000006,342287.92400000006 +2-5-2019 05:00,776613.9040000001,361507.43200000003,361507.43200000003 +2-5-2019 06:00,1507938.4320000003,701933.0120000001,701933.0120000001 +2-5-2019 07:00,2147449.568,999620.2480000001,999620.2480000001 +2-5-2019 08:00,2596696.08,1208740.8960000002,1208740.8960000002 +2-5-2019 09:00,1591373.52,740771.4160000001,740771.4160000001 +2-5-2019 10:00,144470.909,67250.04000000001,67250.04000000001 +2-5-2019 11:00,322259.542,150009.189,150009.189 +2-5-2019 12:00,641521.8480000001,298623.204,298623.204 +2-5-2019 13:00,396598.444,184613.33000000002,184613.33000000002 +2-5-2019 14:00,342885.15800000005,159610.22000000003,159610.22000000003 +2-5-2019 15:00,282387.292,131448.977,131448.977 +2-5-2019 16:00,39055.687,18180.107,18180.107 +2-5-2019 17:00,2577019.632,1199581.6800000002,1199581.6800000002 +2-5-2019 18:00,503233.896,234251.29200000002,234251.29200000002 +2-5-2019 19:00,1755426.112,817136.584,817136.584 +2-5-2019 20:00,2078849.8720000002,967687.6880000001,967687.6880000001 +2-5-2019 21:00,1107339.5520000001,515457.5360000001,515457.5360000001 +2-5-2019 22:00,327220.938,152318.68300000002,152318.68300000002 +2-5-2019 23:00,356680.412,166031.80000000002,166031.80000000002 +3-5-2019 00:00,364772.694,169798.717,169798.717 +3-5-2019 01:00,363073.48000000004,169007.76200000002,169007.76200000002 +3-5-2019 02:00,371521.216,172940.108,172940.108 +3-5-2019 03:00,388126.1560000001,180669.56600000002,180669.56600000002 +3-5-2019 04:00,538033.144,250450.024,250450.024 +3-5-2019 05:00,637235.5440000001,296627.95800000004,296627.95800000004 +3-5-2019 06:00,1423642.7920000001,662694.0760000001,662694.0760000001 +3-5-2019 07:00,2122258.864,987894.2480000001,987894.2480000001 +3-5-2019 08:00,2576289.9359999998,1199242.0880000002,1199242.0880000002 +3-5-2019 09:00,1703580.208,793002.76,793002.76 +3-5-2019 10:00,216347.73600000003,100708.11300000001,100708.11300000001 +3-5-2019 11:00,438949.50000000006,204327.39800000002,204327.39800000002 +3-5-2019 12:00,817886.6080000001,380719.548,380719.548 +3-5-2019 13:00,515060.128,239756.28600000002,239756.28600000002 +3-5-2019 14:00,455591.576,212074.17000000004,212074.17000000004 +3-5-2019 15:00,434436.33200000005,202226.57400000002,202226.57400000002 +3-5-2019 16:00,121119.74600000001,56380.26900000001,56380.26900000001 +3-5-2019 17:00,3254881.3440000005,1515120.816,1515120.816 +3-5-2019 18:00,971065.832,452023.17600000004,452023.17600000004 +3-5-2019 19:00,2273571.6960000005,1058329.0080000001,1058329.0080000001 +3-5-2019 20:00,2529563.344,1177491.04,1177491.04 +3-5-2019 21:00,1387043.064,645657.2320000001,645657.2320000001 +3-5-2019 22:00,455896.93600000005,212216.31200000003,212216.31200000003 +3-5-2019 23:00,439006.7,204354.04,204354.04 +4-5-2019 00:00,443054.26,206238.14200000002,206238.14200000002 +4-5-2019 01:00,444775.45200000005,207039.338,207039.338 +4-5-2019 02:00,453185.568,210954.19400000002,210954.19400000002 +4-5-2019 03:00,670429.8480000001,312079.65800000005,312079.65800000005 +4-5-2019 04:00,798294.9040000001,371599.80000000005,371599.80000000005 +4-5-2019 05:00,875117.1440000001,407359.876,407359.876 +4-5-2019 06:00,860610.256,400607.064,400607.064 +4-5-2019 07:00,2157967.328,1004516.2160000001,1004516.2160000001 +4-5-2019 08:00,3574731.072,1664008.368,1664008.368 +4-5-2019 09:00,2950907.3440000005,1373623.1520000002,1373623.1520000002 +4-5-2019 10:00,814115.368,378963.992,378963.992 +4-5-2019 11:00,388302.02400000003,180751.40600000002,180751.40600000002 +4-5-2019 12:00,943332.8080000001,439113.75200000004,439113.75200000004 +4-5-2019 13:00,898672.8960000001,418324.896,418324.896 +4-5-2019 14:00,481353.884,224066.30400000003,224066.30400000003 +4-5-2019 15:00,21806.807,10150.888,10150.888 +4-5-2019 16:00,138596.89800000002,64515.715000000004,64515.715000000004 +4-5-2019 17:00,41278.028000000006,19214.591000000004,19214.591000000004 +4-5-2019 18:00,393452.8400000001,183149.07600000003,183149.07600000003 +4-5-2019 19:00,1845415.968,859026.1680000001,859026.1680000001 +4-5-2019 20:00,1829387.2960000003,851564.824,851564.824 +4-5-2019 21:00,812796.5120000001,378350.23600000003,378350.23600000003 +4-5-2019 22:00,445723.036,207480.46000000002,207480.46000000002 +4-5-2019 23:00,451462.17600000004,210151.964,210151.964 +5-5-2019 00:00,458700.61600000004,213521.396,213521.396 +5-5-2019 01:00,475403.72000000003,221296.57000000004,221296.57000000004 +5-5-2019 02:00,733460.6400000001,341419.98000000004,341419.98000000004 +5-5-2019 03:00,764436.8160000001,355839.15400000004,355839.15400000004 +5-5-2019 04:00,899110.52,418528.66000000003,418528.66000000003 +5-5-2019 05:00,928930.552,432409.56,432409.56 +5-5-2019 06:00,1139087.0480000002,530235.7720000001,530235.7720000001 +5-5-2019 07:00,2363517.552,1100198.1760000002,1100198.1760000002 +5-5-2019 08:00,4442429.728,2067914.8160000003,2067914.8160000003 +5-5-2019 09:00,3300746.5920000006,1536470.4960000003,1536470.4960000003 +5-5-2019 10:00,1315888.4640000002,612535.3080000001,612535.3080000001 +5-5-2019 11:00,1001746.6800000002,466304.916,466304.916 +5-5-2019 12:00,1479248.4960000003,688578.1320000001,688578.1320000001 +5-5-2019 13:00,315071.592,146663.25300000003,146663.25300000003 +5-5-2019 14:00,584426.7440000001,272045.906,272045.906 +5-5-2019 15:00,408426.216,190119.07200000001,190119.07200000001 +5-5-2019 16:00,339062.35000000003,157830.76100000003,157830.76100000003 +5-5-2019 17:00,528809.292,246156.41600000003,246156.41600000003 +5-5-2019 18:00,618384.756,287853.06000000006,287853.06000000006 +5-5-2019 19:00,2439575.424,1135602.6,1135602.6 +5-5-2019 20:00,2083583.9200000002,969891.384,969891.384 +5-5-2019 21:00,926186.184,431132.10800000007,431132.10800000007 +5-5-2019 22:00,517828.34400000004,241044.89200000002,241044.89200000002 +5-5-2019 23:00,518567.94000000006,241389.14800000002,241389.14800000002 +6-5-2019 00:00,511226.1880000001,237971.602,237971.602 +6-5-2019 01:00,757917.952,352804.65,352804.65 +6-5-2019 02:00,948145.792,441354.10000000003,441354.10000000003 +6-5-2019 03:00,1110187.144,516783.08,516783.08 +6-5-2019 04:00,1211833.04,564098.304,564098.304 +6-5-2019 05:00,1247580.2240000002,580738.4440000001,580738.4440000001 +6-5-2019 06:00,2050226.6400000001,954363.784,954363.784 +6-5-2019 07:00,2425762.5920000006,1129172.7920000001,1129172.7920000001 +6-5-2019 08:00,3919046.5600000005,1824284.0000000002,1824284.0000000002 +6-5-2019 09:00,2411585.44,1122573.232,1122573.232 +6-5-2019 10:00,467569.60800000007,217649.85,217649.85 +6-5-2019 11:00,757126.392,352436.128,352436.128 +6-5-2019 12:00,1214565.176,565370.212,565370.212 +6-5-2019 13:00,844586.952,393148.31600000005,393148.31600000005 +6-5-2019 14:00,541871.3080000001,252236.688,252236.688 +6-5-2019 15:00,594005.5,276504.734,276504.734 +6-5-2019 16:00,207970.972,96808.8,96808.8 +6-5-2019 17:00,4003989.0880000005,1863824.3360000001,1863824.3360000001 +6-5-2019 18:00,1219196.8800000001,567526.1680000001,567526.1680000001 +6-5-2019 19:00,2545261.4880000004,1184798.5600000003,1184798.5600000003 +6-5-2019 20:00,2796123.2640000004,1301572.448,1301572.448 +6-5-2019 21:00,1627268.5440000002,757480.152,757480.152 +6-5-2019 22:00,534129.508,248632.956,248632.956 +6-5-2019 23:00,513783.292,239161.91200000004,239161.91200000004 +7-5-2019 00:00,507554.82800000004,236262.64200000002,236262.64200000002 +7-5-2019 01:00,534973.9560000001,249026.00800000003,249026.00800000003 +7-5-2019 02:00,709145.184,330101.28800000006,330101.28800000006 +7-5-2019 03:00,927560.7440000001,431771.95600000006,431771.95600000006 +7-5-2019 04:00,1107687.5040000002,515619.544,515619.544 +7-5-2019 05:00,1170852.672,545022.412,545022.412 +7-5-2019 06:00,2101733.392,978339.6480000002,978339.6480000002 +7-5-2019 07:00,2457295.4560000002,1143851.104,1143851.104 +7-5-2019 08:00,3905397.0560000003,1817930.5760000001,1817930.5760000001 +7-5-2019 09:00,2310646.9760000003,1075587.392,1075587.392 +7-5-2019 10:00,450625.912,209762.696,209762.696 +7-5-2019 11:00,698709.792,325243.732,325243.732 +7-5-2019 12:00,1170580.752,544895.824,544895.824 +7-5-2019 13:00,751374.184,349758.5740000001,349758.5740000001 +7-5-2019 14:00,621538.1480000002,289320.944,289320.944 +7-5-2019 15:00,511867.48800000007,238270.12000000002,238270.12000000002 +7-5-2019 16:00,132584.92500000002,61717.20500000001,61717.20500000001 +7-5-2019 17:00,3695999.296,1720457.5520000001,1720457.5520000001 +7-5-2019 18:00,804381.16,374432.82800000004,374432.82800000004 +7-5-2019 19:00,2271073.024,1057165.9120000002,1057165.9120000002 +7-5-2019 20:00,2660947.5200000005,1238649.2800000003,1238649.2800000003 +7-5-2019 21:00,1576777.4880000001,733977.024,733977.024 +7-5-2019 22:00,495296.60400000005,230556.524,230556.524 +7-5-2019 23:00,473244.068,220291.25800000003,220291.25800000003 +8-5-2019 00:00,439242.98000000004,204464.04,204464.04 +8-5-2019 01:00,434209.248,202120.864,202120.864 +8-5-2019 02:00,437568.95600000006,203684.80000000002,203684.80000000002 +8-5-2019 03:00,623659.652,290308.45800000004,290308.45800000004 +8-5-2019 04:00,730005.2320000001,339811.47200000007,339811.47200000007 +8-5-2019 05:00,807546.8720000001,375906.52,375906.52 +8-5-2019 06:00,1716949.3440000003,799225.9440000001,799225.9440000001 +8-5-2019 07:00,2299061.776,1070194.4880000001,1070194.4880000001 +8-5-2019 08:00,3298138.9760000003,1535256.8,1535256.8 +8-5-2019 09:00,1905166.384,886839.4480000001,886839.4480000001 +8-5-2019 10:00,350822.23000000004,163304.86700000003,163304.86700000003 +8-5-2019 11:00,631341.7440000001,293884.40400000004,293884.40400000004 +8-5-2019 12:00,1053775.8,490524.05600000004,490524.05600000004 +8-5-2019 13:00,766650.2800000001,356869.45800000004,356869.45800000004 +8-5-2019 14:00,630520.4839999999,293502.13200000004,293502.13200000004 +8-5-2019 15:00,472028.08400000003,219725.198,219725.198 +8-5-2019 16:00,130885.392,60926.08500000001,60926.08500000001 +8-5-2019 17:00,3602030.4320000005,1676715.7440000002,1676715.7440000002 +8-5-2019 18:00,712974.1080000001,331883.684,331883.684 +8-5-2019 19:00,2096978.0480000002,976126.096,976126.096 +8-5-2019 20:00,2594097.0880000005,1207530.8960000002,1207530.8960000002 +8-5-2019 21:00,1292209.6,601513.0,601513.0 +8-5-2019 22:00,395502.844,184103.37000000002,184103.37000000002 +8-5-2019 23:00,388670.392,180922.907,180922.907 +9-5-2019 00:00,384388.8400000001,178929.86100000003,178929.86100000003 +9-5-2019 01:00,399740.88,186076.132,186076.132 +9-5-2019 02:00,401672.83200000005,186975.426,186975.426 +9-5-2019 03:00,444570.412,206943.88,206943.88 +9-5-2019 04:00,660984.72,307683.00200000004,307683.00200000004 +9-5-2019 05:00,712116.5480000001,331484.428,331484.428 +9-5-2019 06:00,1370123.304,637781.2760000001,637781.2760000001 +9-5-2019 07:00,1977770.784,920636.1120000001,920636.1120000001 +9-5-2019 08:00,2031708.448,945743.7440000001,945743.7440000001 +9-5-2019 09:00,1366323.0240000002,636012.3,636012.3 +9-5-2019 10:00,59657.136000000006,27769.907000000003,27769.907000000003 +9-5-2019 11:00,213327.07000000004,99301.994,99301.994 +9-5-2019 12:00,384089.33200000005,178790.43600000002,178790.43600000002 +9-5-2019 13:00,260324.63600000003,121178.99200000001,121178.99200000001 +9-5-2019 14:00,179641.858,83621.81300000001,83621.81300000001 +9-5-2019 15:00,111295.679,51807.239,51807.239 +9-5-2019 16:00,24661.329,11479.644000000002,11479.644000000002 +9-5-2019 17:00,1728887.776,804783.1440000001,804783.1440000001 +9-5-2019 18:00,295222.79600000003,137423.803,137423.803 +9-5-2019 19:00,1270647.664,591476.1160000002,591476.1160000002 +9-5-2019 20:00,1712138.912,796986.6080000001,796986.6080000001 +9-5-2019 21:00,1003383.392,467066.776,467066.776 +9-5-2019 22:00,237780.73,110684.98100000001,110684.98100000001 +9-5-2019 23:00,268437.906,124955.66600000001,124955.66600000001 +10-5-2019 00:00,308329.71400000004,143524.953,143524.953 +10-5-2019 01:00,353933.62400000007,164753.215,164753.215 +10-5-2019 02:00,357245.15200000006,166294.689,166294.689 +10-5-2019 03:00,365512.8400000001,170143.22600000002,170143.22600000002 +10-5-2019 04:00,407534.90800000005,189704.196,189704.196 +10-5-2019 05:00,550379.8520000001,256197.34800000003,256197.34800000003 +10-5-2019 06:00,1325484.9520000003,617002.3640000001,617002.3640000001 +10-5-2019 07:00,2076938.1600000004,966797.7440000001,966797.7440000001 +10-5-2019 08:00,2341433.7760000005,1089918.192,1089918.192 +10-5-2019 09:00,1691344.864,787307.224,787307.224 +10-5-2019 10:00,234814.05200000003,109304.019,109304.019 +10-5-2019 11:00,409208.58,190483.238,190483.238 +10-5-2019 12:00,717926.792,334189.042,334189.042 +10-5-2019 13:00,384980.42000000004,179205.24599999998,179205.24599999998 +10-5-2019 14:00,359400.184,167297.86700000003,167297.86700000003 +10-5-2019 15:00,278987.038,129866.187,129866.187 +10-5-2019 16:00,26771.36,12461.845000000001,12461.845000000001 +10-5-2019 17:00,2649823.7920000004,1233471.272,1233471.272 +10-5-2019 18:00,81936.503,38140.773,38140.773 +10-5-2019 19:00,1194343.128,555956.9400000001,555956.9400000001 +10-5-2019 20:00,2034539.7600000002,947061.6320000001,947061.6320000001 +10-5-2019 21:00,1202946.1840000001,559961.6880000001,559961.6880000001 +10-5-2019 22:00,366113.68200000003,170422.956,170422.956 +10-5-2019 23:00,393848.75200000004,183333.37000000002,183333.37000000002 +11-5-2019 00:00,405851.95200000005,188920.798,188920.798 +11-5-2019 01:00,415512.592,193417.708,193417.708 +11-5-2019 02:00,433992.548,202020.016,202020.016 +11-5-2019 03:00,503986.29600000003,234601.51000000004,234601.51000000004 +11-5-2019 04:00,695312.2000000001,323662.15200000006,323662.15200000006 +11-5-2019 05:00,725814.0120000001,337860.53400000004,337860.53400000004 +11-5-2019 06:00,990684.9040000001,461155.728,461155.728 +11-5-2019 07:00,2362750.0160000003,1099840.8080000002,1099840.8080000002 +11-5-2019 08:00,4432724.032000001,2063396.8960000002,2063396.8960000002 +11-5-2019 09:00,3448946.336,1605456.3360000001,1605456.3360000001 +11-5-2019 10:00,813412.3360000001,378636.852,378636.852 +11-5-2019 11:00,435115.868,202542.89,202542.89 +11-5-2019 12:00,549313.952,255701.138,255701.138 +11-5-2019 13:00,34228.744000000006,15933.203000000001,15933.203000000001 +11-5-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +11-5-2019 15:00,21806.807,10150.888,10150.888 +11-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +11-5-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +11-5-2019 18:00,70887.47600000001,32997.547000000006,32997.547000000006 +11-5-2019 19:00,306529.36600000004,142686.929,142686.929 +11-5-2019 20:00,781663.9600000001,363858.19800000003,363858.19800000003 +11-5-2019 21:00,482888.076,224780.46800000002,224780.46800000002 +11-5-2019 22:00,243229.33800000002,113221.273,113221.273 +11-5-2019 23:00,328506.97000000003,152917.325,152917.325 +12-5-2019 00:00,358769.246,167004.15600000002,167004.15600000002 +12-5-2019 01:00,402661.292,187435.556,187435.556 +12-5-2019 02:00,425227.48400000005,197939.91800000003,197939.91800000003 +12-5-2019 03:00,627588.72,292137.4060000001,292137.4060000001 +12-5-2019 04:00,718521.76,334466.02200000006,334466.02200000006 +12-5-2019 05:00,664733.1240000001,309427.844,309427.844 +12-5-2019 06:00,807370.0800000001,375824.15200000006,375824.15200000006 +12-5-2019 07:00,1955978.6400000001,910492.088,910492.088 +12-5-2019 08:00,3097810.848,1442005.4880000001,1442005.4880000001 +12-5-2019 09:00,2217466.592,1032212.6320000001,1032212.6320000001 +12-5-2019 10:00,743521.768,346103.34,346103.34 +12-5-2019 11:00,450283.15200000006,209603.13,209603.13 +12-5-2019 12:00,652894.528,303917.064,303917.064 +12-5-2019 13:00,139827.644,65088.62800000001,65088.62800000001 +12-5-2019 14:00,29594.312,13775.916000000001,13775.916000000001 +12-5-2019 15:00,21806.807,10150.888,10150.888 +12-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +12-5-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +12-5-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +12-5-2019 19:00,85400.94200000001,39753.439,39753.439 +12-5-2019 20:00,355668.016,165560.571,165560.571 +12-5-2019 21:00,248076.488,115477.58200000001,115477.58200000001 +12-5-2019 22:00,154446.897,71893.767,71893.767 +12-5-2019 23:00,236860.77800000002,110256.75100000002,110256.75100000002 +13-5-2019 00:00,376895.02400000003,175441.55200000003,175441.55200000003 +13-5-2019 01:00,436954.80400000006,203398.91000000003,203398.91000000003 +13-5-2019 02:00,615014.664,286284.37200000003,286284.37200000003 +13-5-2019 03:00,772436.0160000002,359562.63200000004,359562.63200000004 +13-5-2019 04:00,891855.7120000002,415151.57200000004,415151.57200000004 +13-5-2019 05:00,918324.088,427472.40800000005,427472.40800000005 +13-5-2019 06:00,1400666.168,651998.688,651998.688 +13-5-2019 07:00,2017004.0000000002,938898.9280000001,938898.9280000001 +13-5-2019 08:00,2100022.1440000003,977543.2480000001,977543.2480000001 +13-5-2019 09:00,1012417.2080000001,471271.944,471271.944 +13-5-2019 10:00,55425.645000000004,25800.181,25800.181 +13-5-2019 11:00,65926.14600000001,30688.086,30688.086 +13-5-2019 12:00,169476.439,78889.899,78889.899 +13-5-2019 13:00,88443.94900000001,41169.942,41169.942 +13-5-2019 14:00,145880.581,67906.22300000001,67906.22300000001 +13-5-2019 15:00,62026.547,28872.844000000005,28872.844000000005 +13-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +13-5-2019 17:00,604015.324,281164.20200000005,281164.20200000005 +13-5-2019 18:00,120463.16700000002,56074.634000000005,56074.634000000005 +13-5-2019 19:00,838730.728,390422.29600000003,390422.29600000003 +13-5-2019 20:00,1277883.112,594844.184,594844.184 +13-5-2019 21:00,731318.588,340422.8080000001,340422.8080000001 +13-5-2019 22:00,113394.74300000002,52784.325000000004,52784.325000000004 +13-5-2019 23:00,210513.116,97992.14700000001,97992.14700000001 +14-5-2019 00:00,275444.62000000005,128217.21000000002,128217.21000000002 +14-5-2019 01:00,342545.8080000001,159452.282,159452.282 +14-5-2019 02:00,391303.66000000003,182148.64800000002,182148.64800000002 +14-5-2019 03:00,499173.62000000005,232361.22800000003,232361.22800000003 +14-5-2019 04:00,729613.2800000001,339629.026,339629.026 +14-5-2019 05:00,750238.368,349229.76,349229.76 +14-5-2019 06:00,1456045.0080000001,677777.056,677777.056 +14-5-2019 07:00,2173413.0880000005,1011705.9920000001,1011705.9920000001 +14-5-2019 08:00,2751591.7440000004,1280843.52,1280843.52 +14-5-2019 09:00,1451604.7920000001,675710.2000000001,675710.2000000001 +14-5-2019 10:00,55425.645000000004,25800.181,25800.181 +14-5-2019 11:00,72345.21800000001,33676.115000000005,33676.115000000005 +14-5-2019 12:00,148784.548,69257.99100000001,69257.99100000001 +14-5-2019 13:00,62964.869000000006,29309.632,29309.632 +14-5-2019 14:00,133026.30000000002,61922.66300000001,61922.66300000001 +14-5-2019 15:00,64461.100000000006,30006.119000000002,30006.119000000002 +14-5-2019 16:00,26560.248000000003,12363.571000000002,12363.571000000002 +14-5-2019 17:00,1132856.56,527335.512,527335.512 +14-5-2019 18:00,101023.79100000001,47025.770000000004,47025.770000000004 +14-5-2019 19:00,921414.6480000002,428910.98800000007,428910.98800000007 +14-5-2019 20:00,1299415.656,604867.384,604867.384 +14-5-2019 21:00,745084.12,346830.55000000005,346830.55000000005 +14-5-2019 22:00,155948.11100000003,72592.586,72592.586 +14-5-2019 23:00,215031.47600000002,100095.41300000002,100095.41300000002 +15-5-2019 00:00,268503.598,124986.24600000001,124986.24600000001 +15-5-2019 01:00,331006.14800000004,154080.65200000003,154080.65200000003 +15-5-2019 02:00,411870.62400000007,191722.432,191722.432 +15-5-2019 03:00,427427.3080000001,198963.93,198963.93 +15-5-2019 04:00,657280.008,305958.48800000007,305958.48800000007 +15-5-2019 05:00,596891.856,277848.29600000003,277848.29600000003 +15-5-2019 06:00,1095581.168,509984.0240000001,509984.0240000001 +15-5-2019 07:00,1748989.6160000002,814140.4480000001,814140.4480000001 +15-5-2019 08:00,1199772.992,558484.6080000001,558484.6080000001 +15-5-2019 09:00,808911.752,376541.83600000007,376541.83600000007 +15-5-2019 10:00,55425.645000000004,25800.181,25800.181 +15-5-2019 11:00,64784.742000000006,30156.764000000003,30156.764000000003 +15-5-2019 12:00,130816.29000000001,60893.921,60893.921 +15-5-2019 13:00,40197.366,18711.539000000004,18711.539000000004 +15-5-2019 14:00,52793.378000000004,24574.88,24574.88 +15-5-2019 15:00,32258.127000000004,15015.891000000001,15015.891000000001 +15-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +15-5-2019 17:00,342271.842,159324.748,159324.748 +15-5-2019 18:00,144629.69400000002,67323.94900000001,67323.94900000001 +15-5-2019 19:00,604866.8120000002,281560.55400000006,281560.55400000006 +15-5-2019 20:00,1050702.4000000001,489093.396,489093.396 +15-5-2019 21:00,538107.768,250484.784,250484.784 +15-5-2019 22:00,49671.380000000005,23121.615000000005,23121.615000000005 +15-5-2019 23:00,70745.785,32931.58,32931.58 +16-5-2019 00:00,173845.00100000002,80923.44700000001,80923.44700000001 +16-5-2019 01:00,208174.49400000004,96903.532,96903.532 +16-5-2019 02:00,270976.112,126137.15400000001,126137.15400000001 +16-5-2019 03:00,347748.65400000004,161874.174,161874.174 +16-5-2019 04:00,441652.2,205585.534,205585.534 +16-5-2019 05:00,547752.172,254974.17000000004,254974.17000000004 +16-5-2019 06:00,1042714.2000000001,485374.95600000006,485374.95600000006 +16-5-2019 07:00,1885204.2880000002,877547.2640000001,877547.2640000001 +16-5-2019 08:00,2013859.056,937434.9600000001,937434.9600000001 +16-5-2019 09:00,1540893.376,717273.3040000001,717273.3040000001 +16-5-2019 10:00,96795.82,45057.66100000001,45057.66100000001 +16-5-2019 11:00,91892.57,42775.238000000005,42775.238000000005 +16-5-2019 12:00,278165.44800000003,129483.73900000002,129483.73900000002 +16-5-2019 13:00,66722.02900000001,31058.555,31058.555 +16-5-2019 14:00,131784.136,61344.448000000004,61344.448000000004 +16-5-2019 15:00,73251.794,34098.108,34098.108 +16-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +16-5-2019 17:00,989238.3600000001,460482.3520000001,460482.3520000001 +16-5-2019 18:00,189762.188,88332.75,88332.75 +16-5-2019 19:00,842871.4800000001,392349.848,392349.848 +16-5-2019 20:00,1249395.1360000002,581583.2440000001,581583.2440000001 +16-5-2019 21:00,697860.284,324848.282,324848.282 +16-5-2019 22:00,120044.848,55879.901000000005,55879.901000000005 +16-5-2019 23:00,175106.69,81510.73700000001,81510.73700000001 +17-5-2019 00:00,185643.37000000002,86415.48300000001,86415.48300000001 +17-5-2019 01:00,209182.75400000004,97372.85800000001,97372.85800000001 +17-5-2019 02:00,244346.47600000002,113741.298,113741.298 +17-5-2019 03:00,286162.03,133206.095,133206.095 +17-5-2019 04:00,314781.478,146528.206,146528.206 +17-5-2019 05:00,299050.48800000007,139205.55000000002,139205.55000000002 +17-5-2019 06:00,896770.424,417439.3080000001,417439.3080000001 +17-5-2019 07:00,1787127.584,831893.3040000001,831893.3040000001 +17-5-2019 08:00,1570103.7440000002,730870.4920000001,730870.4920000001 +17-5-2019 09:00,1404795.8320000002,653921.0480000001,653921.0480000001 +17-5-2019 10:00,110037.807,51221.70900000001,51221.70900000001 +17-5-2019 11:00,215582.774,100352.01000000001,100352.01000000001 +17-5-2019 12:00,328870.12400000007,153086.36200000002,153086.36200000002 +17-5-2019 13:00,202120.71000000002,94085.54100000001,94085.54100000001 +17-5-2019 14:00,212043.41400000002,98704.48500000002,98704.48500000002 +17-5-2019 15:00,157819.58500000002,73463.73100000001,73463.73100000001 +17-5-2019 16:00,27012.117000000002,12573.924,12573.924 +17-5-2019 17:00,1695565.8720000002,789272.1760000001,789272.1760000001 +17-5-2019 18:00,291483.192,135683.04200000002,135683.04200000002 +17-5-2019 19:00,1196449.4960000003,556937.5240000001,556937.5240000001 +17-5-2019 20:00,1618309.7920000001,753309.92,753309.92 +17-5-2019 21:00,868458.096,404260.20800000004,404260.20800000004 +17-5-2019 22:00,201231.932,93671.82,93671.82 +17-5-2019 23:00,201237.784,93674.548,93674.548 +18-5-2019 00:00,239766.40600000002,111609.3,111609.3 +18-5-2019 01:00,264296.56000000006,123027.883,123027.883 +18-5-2019 02:00,305509.42400000006,142212.125,142212.125 +18-5-2019 03:00,303597.38200000004,141322.082,141322.082 +18-5-2019 04:00,300055.844,139673.556,139673.556 +18-5-2019 05:00,283298.20200000005,131872.994,131872.994 +18-5-2019 06:00,767652.952,357336.21,357336.21 +18-5-2019 07:00,1663330.768,774266.9440000001,774266.9440000001 +18-5-2019 08:00,2027466.1440000003,943769.0240000001,943769.0240000001 +18-5-2019 09:00,1479830.176,688848.82,688848.82 +18-5-2019 10:00,278063.94,129436.50500000002,129436.50500000002 +18-5-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +18-5-2019 12:00,49792.886000000006,23178.188000000006,23178.188000000006 +18-5-2019 13:00,32710.216000000004,15226.343,15226.343 +18-5-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +18-5-2019 15:00,21806.807,10150.888,10150.888 +18-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +18-5-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +18-5-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +18-5-2019 19:00,71780.74200000001,33413.347,33413.347 +18-5-2019 20:00,75093.513,34955.426,34955.426 +18-5-2019 21:00,54333.697,25291.893000000004,25291.893000000004 +18-5-2019 22:00,37253.304000000004,17341.104,17341.104 +18-5-2019 23:00,20372.616,9483.287,9483.287 +19-5-2019 00:00,9718.665,4523.959,4523.959 +19-5-2019 01:00,29823.123000000003,13882.418,13882.418 +19-5-2019 02:00,54081.291000000005,25174.402000000002,25174.402000000002 +19-5-2019 03:00,126530.39300000001,58898.87300000001,58898.87300000001 +19-5-2019 04:00,146253.74500000002,68079.913,68079.913 +19-5-2019 05:00,129327.91300000002,60201.097,60201.097 +19-5-2019 06:00,435391.61600000004,202671.238,202671.238 +19-5-2019 07:00,1122299.904,522421.46,522421.46 +19-5-2019 08:00,1582112.928,736460.692,736460.692 +19-5-2019 09:00,1488326.4000000001,692803.8040000001,692803.8040000001 +19-5-2019 10:00,280722.00200000004,130673.807,130673.807 +19-5-2019 11:00,57827.33000000001,26918.144000000004,26918.144000000004 +19-5-2019 12:00,151610.05200000003,70573.25,70573.25 +19-5-2019 13:00,36473.118,16977.939000000002,16977.939000000002 +19-5-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +19-5-2019 15:00,21806.807,10150.888,10150.888 +19-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +19-5-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +19-5-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +19-5-2019 19:00,96437.49500000001,44890.868,44890.868 +19-5-2019 20:00,257888.75200000004,120045.123,120045.123 +19-5-2019 21:00,84605.994,39383.399,39383.399 +19-5-2019 22:00,47511.145000000004,22116.039000000004,22116.039000000004 +19-5-2019 23:00,52027.756,24218.491,24218.491 +20-5-2019 00:00,73114.87700000001,34034.374,34034.374 +20-5-2019 01:00,127697.16300000002,59441.99800000001,59441.99800000001 +20-5-2019 02:00,130598.03900000002,60792.325000000004,60792.325000000004 +20-5-2019 03:00,133639.704,62208.19000000001,62208.19000000001 +20-5-2019 04:00,141607.00400000002,65916.917,65916.917 +20-5-2019 05:00,132594.869,61721.825000000004,61721.825000000004 +20-5-2019 06:00,451853.33600000007,210334.03600000002,210334.03600000002 +20-5-2019 07:00,1090289.7280000001,507520.992,507520.992 +20-5-2019 08:00,883814.8,411408.62400000007,411408.62400000007 +20-5-2019 09:00,1027167.4160000002,478138.01200000005,478138.01200000005 +20-5-2019 10:00,61396.742000000006,28579.683,28579.683 +20-5-2019 11:00,121763.41100000001,56679.865000000005,56679.865000000005 +20-5-2019 12:00,240057.31200000003,111744.721,111744.721 +20-5-2019 13:00,90842.213,42286.321,42286.321 +20-5-2019 14:00,96937.06000000001,45123.408,45123.408 +20-5-2019 15:00,90382.138,42072.14000000001,42072.14000000001 +20-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +20-5-2019 17:00,559531.8960000001,260457.538,260457.538 +20-5-2019 18:00,97935.73900000002,45588.29000000001,45588.29000000001 +20-5-2019 19:00,559825.0240000001,260594.00400000004,260594.00400000004 +20-5-2019 20:00,972841.584,452849.80400000006,452849.80400000006 +20-5-2019 21:00,509769.92000000004,237293.738,237293.738 +20-5-2019 22:00,80383.138,37417.688,37417.688 +20-5-2019 23:00,123932.27,57689.47800000001,57689.47800000001 +21-5-2019 00:00,140206.44,65264.958000000006,65264.958000000006 +21-5-2019 01:00,147565.78100000002,68690.666,68690.666 +21-5-2019 02:00,151531.127,70536.499,70536.499 +21-5-2019 03:00,168664.56200000003,78511.98300000001,78511.98300000001 +21-5-2019 04:00,202909.96000000002,94452.93000000001,94452.93000000001 +21-5-2019 05:00,189383.92000000004,88156.673,88156.673 +21-5-2019 06:00,550928.312,256452.614,256452.614 +21-5-2019 07:00,1270745.6960000002,591521.7000000001,591521.7000000001 +21-5-2019 08:00,1091149.4000000001,507921.128,507921.128 +21-5-2019 09:00,1115489.936,519251.48000000004,519251.48000000004 +21-5-2019 10:00,85832.065,39954.12300000001,39954.12300000001 +21-5-2019 11:00,152414.44900000002,70947.69,70947.69 +21-5-2019 12:00,293321.97400000005,136538.996,136538.996 +21-5-2019 13:00,136777.77300000002,63668.946,63668.946 +21-5-2019 14:00,153447.22800000003,71428.445,71428.445 +21-5-2019 15:00,124318.56800000001,57869.28400000001,57869.28400000001 +21-5-2019 16:00,24867.711,11575.718,11575.718 +21-5-2019 17:00,971927.1760000001,452424.192,452424.192 +21-5-2019 18:00,164029.272,76354.3,76354.3 +21-5-2019 19:00,932091.5120000001,433880.96400000004,433880.96400000004 +21-5-2019 20:00,1255192.2240000002,584281.6760000001,584281.6760000001 +21-5-2019 21:00,688122.2480000001,320315.314,320315.314 +21-5-2019 22:00,167208.008,77833.95400000001,77833.95400000001 +21-5-2019 23:00,165722.32600000003,77142.395,77142.395 +22-5-2019 00:00,168881.87800000003,78613.13900000001,78613.13900000001 +22-5-2019 01:00,193026.87800000003,89852.433,89852.433 +22-5-2019 02:00,215390.25200000004,100262.40400000001,100262.40400000001 +22-5-2019 03:00,219818.83000000002,102323.85900000001,102323.85900000001 +22-5-2019 04:00,242678.39200000002,112964.83000000002,112964.83000000002 +22-5-2019 05:00,222305.22600000002,103481.26800000001,103481.26800000001 +22-5-2019 06:00,638953.04,297427.438,297427.438 +22-5-2019 07:00,1158619.44,539327.932,539327.932 +22-5-2019 08:00,824947.2000000001,384006.1720000001,384006.1720000001 +22-5-2019 09:00,885891.7760000001,412375.392,412375.392 +22-5-2019 10:00,55425.645000000004,25800.181,25800.181 +22-5-2019 11:00,78092.48700000001,36351.414000000004,36351.414000000004 +22-5-2019 12:00,147756.125,68779.27100000001,68779.27100000001 +22-5-2019 13:00,35901.954000000005,16712.058,16712.058 +22-5-2019 14:00,44884.53200000001,20893.389000000003,20893.389000000003 +22-5-2019 15:00,27426.179,12766.666000000001,12766.666000000001 +22-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +22-5-2019 17:00,53397.630000000005,24856.15,24856.15 +22-5-2019 18:00,72159.208,33589.523,33589.523 +22-5-2019 19:00,130532.71000000002,60761.921,60761.921 +22-5-2019 20:00,317675.38,147875.288,147875.288 +22-5-2019 21:00,312232.162,145341.548,145341.548 +22-5-2019 22:00,39912.598000000005,18578.989000000005,18578.989000000005 +22-5-2019 23:00,37415.664000000004,17416.685,17416.685 +23-5-2019 00:00,104224.274,48515.544,48515.544 +23-5-2019 01:00,176455.147,82138.441,82138.441 +23-5-2019 02:00,200589.88400000002,93372.961,93372.961 +23-5-2019 03:00,264827.42000000004,123275.009,123275.009 +23-5-2019 04:00,264933.196,123324.24500000001,123324.24500000001 +23-5-2019 05:00,236988.048,110316.008,110316.008 +23-5-2019 06:00,447802.38800000004,208448.372,208448.372 +23-5-2019 07:00,991680.4480000001,461619.18000000005,461619.18000000005 +23-5-2019 08:00,883266.0320000001,411153.11600000004,411153.11600000004 +23-5-2019 09:00,984338.6960000001,458201.612,458201.612 +23-5-2019 10:00,55425.645000000004,25800.181,25800.181 +23-5-2019 11:00,65391.54600000001,30439.233,30439.233 +23-5-2019 12:00,109928.40100000001,51170.779,51170.779 +23-5-2019 13:00,38886.35300000001,18101.281,18101.281 +23-5-2019 14:00,65338.79000000001,30414.670000000002,30414.670000000002 +23-5-2019 15:00,41376.852000000006,19260.582000000002,19260.582000000002 +23-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +23-5-2019 17:00,142083.87600000002,66138.897,66138.897 +23-5-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +23-5-2019 19:00,153576.874,71488.769,71488.769 +23-5-2019 20:00,351075.60400000005,163422.831,163422.831 +23-5-2019 21:00,316857.134,147494.40200000003,147494.40200000003 +23-5-2019 22:00,39691.465000000004,18476.051000000003,18476.051000000003 +23-5-2019 23:00,22301.202,10381.03,10381.03 +24-5-2019 00:00,40308.30100000001,18763.184,18763.184 +24-5-2019 01:00,100556.819,46808.388000000006,46808.388000000006 +24-5-2019 02:00,150750.43500000003,70173.092,70173.092 +24-5-2019 03:00,156312.596,72762.23900000002,72762.23900000002 +24-5-2019 04:00,179640.94500000004,83621.395,83621.395 +24-5-2019 05:00,152912.584,71179.57,71179.57 +24-5-2019 06:00,381263.82800000004,177475.19900000002,177475.19900000002 +24-5-2019 07:00,859265.352,399981.032,399981.032 +24-5-2019 08:00,744679.496,346642.23000000004,346642.23000000004 +24-5-2019 09:00,871944.832,405883.192,405883.192 +24-5-2019 10:00,55425.645000000004,25800.181,25800.181 +24-5-2019 11:00,60062.255000000005,27958.480000000003,27958.480000000003 +24-5-2019 12:00,100248.357,46664.80500000001,46664.80500000001 +24-5-2019 13:00,32710.216000000004,15226.343,15226.343 +24-5-2019 14:00,33287.276000000005,15494.952000000001,15494.952000000001 +24-5-2019 15:00,21806.807,10150.888,10150.888 +24-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +24-5-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +24-5-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +24-5-2019 19:00,71780.74200000001,33413.347,33413.347 +24-5-2019 20:00,68284.35900000001,31785.809,31785.809 +24-5-2019 21:00,62027.108,28873.108,28873.108 +24-5-2019 22:00,37253.304000000004,17341.104,17341.104 +24-5-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +25-5-2019 00:00,8153.816000000001,3795.539,3795.539 +25-5-2019 01:00,9079.488000000001,4226.4310000000005,4226.4310000000005 +25-5-2019 02:00,34304.886,15968.645000000002,15968.645000000002 +25-5-2019 03:00,116984.12000000001,54455.15900000001,54455.15900000001 +25-5-2019 04:00,165526.988,77051.469,77051.469 +25-5-2019 05:00,136702.434,63633.867000000006,63633.867000000006 +25-5-2019 06:00,429775.63200000004,200057.088,200057.088 +25-5-2019 07:00,1145335.1360000002,533144.172,533144.172 +25-5-2019 08:00,1479539.6,688713.652,688713.652 +25-5-2019 09:00,1465618.44,682233.42,682233.42 +25-5-2019 10:00,219222.52000000002,102046.28500000002,102046.28500000002 +25-5-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +25-5-2019 12:00,43347.513000000006,20177.916000000005,20177.916000000005 +25-5-2019 13:00,32710.216000000004,15226.343,15226.343 +25-5-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +25-5-2019 15:00,21806.807,10150.888,10150.888 +25-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +25-5-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +25-5-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +25-5-2019 19:00,75622.27200000001,35201.551,35201.551 +25-5-2019 20:00,100253.12000000001,46667.016,46667.016 +25-5-2019 21:00,57658.018000000004,26839.340000000004,26839.340000000004 +25-5-2019 22:00,40183.693,18705.181,18705.181 +25-5-2019 23:00,28505.334000000003,13269.003,13269.003 +26-5-2019 00:00,46341.548,21571.616,21571.616 +26-5-2019 01:00,113331.62500000001,52754.944,52754.944 +26-5-2019 02:00,144086.55800000002,67071.114,67071.114 +26-5-2019 03:00,138931.771,64671.60700000001,64671.60700000001 +26-5-2019 04:00,134056.428,62402.175,62402.175 +26-5-2019 05:00,120213.87400000001,55958.58400000001,55958.58400000001 +26-5-2019 06:00,465453.73600000003,216664.932,216664.932 +26-5-2019 07:00,1147487.7040000001,534146.14,534146.14 +26-5-2019 08:00,1349990.4000000001,628409.628,628409.628 +26-5-2019 09:00,1409821.512,656260.4400000001,656260.4400000001 +26-5-2019 10:00,234080.30800000002,108962.469,108962.469 +26-5-2019 11:00,49226.991,22914.760000000002,22914.760000000002 +26-5-2019 12:00,47808.717000000004,22254.561999999998,22254.561999999998 +26-5-2019 13:00,33465.905,15578.112000000001,15578.112000000001 +26-5-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +26-5-2019 15:00,21806.807,10150.888,10150.888 +26-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +26-5-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +26-5-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +26-5-2019 19:00,71780.74200000001,33413.347,33413.347 +26-5-2019 20:00,74844.94600000001,34839.706,34839.706 +26-5-2019 21:00,54512.05100000001,25374.91,25374.91 +26-5-2019 22:00,38407.666,17878.454,17878.454 +26-5-2019 23:00,20748.882,9658.44,9658.44 +27-5-2019 00:00,11811.965,5498.372000000001,5498.372000000001 +27-5-2019 01:00,29427.277000000002,13698.157000000003,13698.157000000003 +27-5-2019 02:00,47579.92800000001,22148.071000000004,22148.071000000004 +27-5-2019 03:00,93106.33200000001,43340.242000000006,43340.242000000006 +27-5-2019 04:00,127481.596,59341.656,59341.656 +27-5-2019 05:00,110147.03700000001,51272.55100000001,51272.55100000001 +27-5-2019 06:00,183472.784,85405.089,85405.089 +27-5-2019 07:00,513902.7080000001,239217.50600000002,239217.50600000002 +27-5-2019 08:00,417129.592,194170.41600000003,194170.41600000003 +27-5-2019 09:00,722356.5360000001,336251.036,336251.036 +27-5-2019 10:00,55425.645000000004,25800.181,25800.181 +27-5-2019 11:00,53854.537000000004,25068.846,25068.846 +27-5-2019 12:00,123201.551,57349.314000000006,57349.314000000006 +27-5-2019 13:00,34930.313,16259.771000000002,16259.771000000002 +27-5-2019 14:00,42895.347,19967.431,19967.431 +27-5-2019 15:00,52749.741,24554.574,24554.574 +27-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +27-5-2019 17:00,53286.80500000001,24804.571000000004,24804.571000000004 +27-5-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +27-5-2019 19:00,75973.249,35364.923,35364.923 +27-5-2019 20:00,130701.86800000002,60840.65900000001,60840.65900000001 +27-5-2019 21:00,195028.90000000002,90784.353,90784.353 +27-5-2019 22:00,37889.544,17637.268,17637.268 +27-5-2019 23:00,21138.832000000002,9839.951000000001,9839.951000000001 +28-5-2019 00:00,20977.143000000004,9764.689,9764.689 +28-5-2019 01:00,43090.322,20058.192000000003,20058.192000000003 +28-5-2019 02:00,97842.63500000001,45544.939,45544.939 +28-5-2019 03:00,129029.28500000002,60062.090000000004,60062.090000000004 +28-5-2019 04:00,141008.263,65638.21,65638.21 +28-5-2019 05:00,123689.95100000002,57576.662000000004,57576.662000000004 +28-5-2019 06:00,230690.70200000002,107384.64,107384.64 +28-5-2019 07:00,683608.9040000001,318214.38,318214.38 +28-5-2019 08:00,701163.7160000001,326385.994,326385.994 +28-5-2019 09:00,997239.2320000001,464206.732,464206.732 +28-5-2019 10:00,85924.96,39997.364,39997.364 +28-5-2019 11:00,135605.36000000002,63123.181000000004,63123.181000000004 +28-5-2019 12:00,250959.522,116819.615,116819.615 +28-5-2019 13:00,92500.06700000001,43058.026000000005,43058.026000000005 +28-5-2019 14:00,93253.974,43408.97,43408.97 +28-5-2019 15:00,74575.40200000002,34714.240000000005,34714.240000000005 +28-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +28-5-2019 17:00,67067.03300000001,31219.155000000002,31219.155000000002 +28-5-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +28-5-2019 19:00,91051.84,42383.891,42383.891 +28-5-2019 20:00,251135.14800000002,116901.35600000001,116901.35600000001 +28-5-2019 21:00,244933.06200000003,114014.35100000001,114014.35100000001 +28-5-2019 22:00,39265.919,18277.963000000003,18277.963000000003 +28-5-2019 23:00,37408.822,17413.506,17413.506 +29-5-2019 00:00,103563.592,48208.006,48208.006 +29-5-2019 01:00,184553.88600000003,85908.339,85908.339 +29-5-2019 02:00,219997.99800000002,102407.27200000001,102407.27200000001 +29-5-2019 03:00,268635.576,125047.68100000001,125047.68100000001 +29-5-2019 04:00,310979.746,144758.548,144758.548 +29-5-2019 05:00,300684.362,139966.123,139966.123 +29-5-2019 06:00,441776.67600000004,205643.438,205643.438 +29-5-2019 07:00,851913.92,396558.976,396558.976 +29-5-2019 08:00,538490.7000000001,250663.02800000002,250663.02800000002 +29-5-2019 09:00,632246.736,294305.68200000003,294305.68200000003 +29-5-2019 10:00,55425.645000000004,25800.181,25800.181 +29-5-2019 11:00,51643.493,24039.620000000003,24039.620000000003 +29-5-2019 12:00,81190.80200000001,37793.646,37793.646 +29-5-2019 13:00,32710.216000000004,15226.343,15226.343 +29-5-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +29-5-2019 15:00,21806.807,10150.888,10150.888 +29-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +29-5-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +29-5-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +29-5-2019 19:00,71780.74200000001,33413.347,33413.347 +29-5-2019 20:00,68445.19,31860.675000000003,31860.675000000003 +29-5-2019 21:00,60561.76500000001,28191.009000000002,28191.009000000002 +29-5-2019 22:00,37253.304000000004,17341.104,17341.104 +29-5-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +30-5-2019 00:00,6360.321,2960.672,2960.672 +30-5-2019 01:00,5203.627,2422.244,2422.244 +30-5-2019 02:00,3705.559,1724.91,1724.91 +30-5-2019 03:00,14983.1,6974.506,6974.506 +30-5-2019 04:00,30929.789000000004,14397.559000000001,14397.559000000001 +30-5-2019 05:00,50473.643000000004,23495.065000000002,23495.065000000002 +30-5-2019 06:00,68379.20100000002,31829.952,31829.952 +30-5-2019 07:00,258742.50600000002,120442.52,120442.52 +30-5-2019 08:00,286286.99,133264.252,133264.252 +30-5-2019 09:00,649270.6440000001,302230.17000000004,302230.17000000004 +30-5-2019 10:00,55425.645000000004,25800.181,25800.181 +30-5-2019 11:00,55490.82,25830.519000000004,25830.519000000004 +30-5-2019 12:00,173769.07900000003,80888.09300000001,80888.09300000001 +30-5-2019 13:00,34401.609000000004,16013.668,16013.668 +30-5-2019 14:00,43247.215000000004,20131.232,20131.232 +30-5-2019 15:00,43511.655000000006,20254.322000000004,20254.322000000004 +30-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +30-5-2019 17:00,56654.862,26372.379,26372.379 +30-5-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +30-5-2019 19:00,95638.84,44519.10100000001,44519.10100000001 +30-5-2019 20:00,133853.30200000003,62307.619000000006,62307.619000000006 +30-5-2019 21:00,140887.63700000002,65582.04400000001,65582.04400000001 +30-5-2019 22:00,37253.304000000004,17341.104,17341.104 +30-5-2019 23:00,19542.457000000002,9096.857000000002,9096.857000000002 +31-5-2019 00:00,8408.323,3914.0090000000005,3914.0090000000005 +31-5-2019 01:00,5802.148000000001,2700.8520000000003,2700.8520000000003 +31-5-2019 02:00,8778.374000000002,4086.2580000000007,4086.2580000000007 +31-5-2019 03:00,19684.148,9162.813,9162.813 +31-5-2019 04:00,31578.074000000004,14699.333000000002,14699.333000000002 +31-5-2019 05:00,42017.53600000001,19558.814000000002,19558.814000000002 +31-5-2019 06:00,59756.29000000001,27816.063000000006,27816.063000000006 +31-5-2019 07:00,195351.97000000003,90934.74500000001,90934.74500000001 +31-5-2019 08:00,181513.36500000002,84492.99100000001,84492.99100000001 +31-5-2019 09:00,307854.184,143303.622,143303.622 +31-5-2019 10:00,55425.645000000004,25800.181,25800.181 +31-5-2019 11:00,50449.55300000001,23483.856,23483.856 +31-5-2019 12:00,76874.633,35784.518000000004,35784.518000000004 +31-5-2019 13:00,33211.618,15459.73,15459.73 +31-5-2019 14:00,28972.218000000004,13486.33,13486.33 +31-5-2019 15:00,27738.15,12911.888,12911.888 +31-5-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +31-5-2019 17:00,40022.202000000005,18630.007,18630.007 +31-5-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +31-5-2019 19:00,73669.34300000001,34292.478,34292.478 +31-5-2019 20:00,83276.22600000001,38764.396,38764.396 +31-5-2019 21:00,81017.794,37713.115000000005,37713.115000000005 +31-5-2019 22:00,37253.304000000004,17341.104,17341.104 +31-5-2019 23:00,18829.195000000003,8764.833,8764.833 +1-6-2019 00:00,8911.441,4148.1990000000005,4148.1990000000005 +1-6-2019 01:00,6395.004000000001,2976.82,2976.82 +1-6-2019 02:00,25250.269000000004,11753.797000000002,11753.797000000002 +1-6-2019 03:00,44478.445,20704.343000000004,20704.343000000004 +1-6-2019 04:00,83788.03400000001,39002.645,39002.645 +1-6-2019 05:00,83220.52200000001,38738.469000000005,38738.469000000005 +1-6-2019 06:00,239405.43,111441.26400000001,111441.26400000001 +1-6-2019 07:00,600118.332,279350.21400000004,279350.21400000004 +1-6-2019 08:00,589913.72,274599.996,274599.996 +1-6-2019 09:00,699098.0040000001,325424.44000000006,325424.44000000006 +1-6-2019 10:00,96501.65800000001,44920.733,44920.733 +1-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +1-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +1-6-2019 13:00,32710.216000000004,15226.343,15226.343 +1-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +1-6-2019 15:00,21806.807,10150.888,10150.888 +1-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +1-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +1-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +1-6-2019 19:00,71780.74200000001,33413.347,33413.347 +1-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +1-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +1-6-2019 22:00,37253.304000000004,17341.104,17341.104 +1-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +2-6-2019 00:00,6360.321,2960.672,2960.672 +2-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +2-6-2019 02:00,1885.928,877.8880000000001,877.8880000000001 +2-6-2019 03:00,3181.4530000000004,1480.941,1480.941 +2-6-2019 04:00,4020.6870000000004,1871.5950000000003,1871.5950000000003 +2-6-2019 05:00,8086.408,3764.1560000000004,3764.1560000000004 +2-6-2019 06:00,58961.58400000001,27446.133,27446.133 +2-6-2019 07:00,168311.27500000002,78347.53300000001,78347.53300000001 +2-6-2019 08:00,80423.761,37436.608,37436.608 +2-6-2019 09:00,99024.937,46095.302,46095.302 +2-6-2019 10:00,55425.645000000004,25800.181,25800.181 +2-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +2-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +2-6-2019 13:00,32710.216000000004,15226.343,15226.343 +2-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +2-6-2019 15:00,21806.807,10150.888,10150.888 +2-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +2-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +2-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +2-6-2019 19:00,71780.74200000001,33413.347,33413.347 +2-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +2-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +2-6-2019 22:00,37253.304000000004,17341.104,17341.104 +2-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +3-6-2019 00:00,6360.321,2960.672,2960.672 +3-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +3-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +3-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +3-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +3-6-2019 05:00,6360.321,2960.672,2960.672 +3-6-2019 06:00,50882.568,23685.409,23685.409 +3-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +3-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +3-6-2019 09:00,77232.45200000002,35951.069,35951.069 +3-6-2019 10:00,55425.645000000004,25800.181,25800.181 +3-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +3-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +3-6-2019 13:00,32710.216000000004,15226.343,15226.343 +3-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +3-6-2019 15:00,21806.807,10150.888,10150.888 +3-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +3-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +3-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +3-6-2019 19:00,71780.74200000001,33413.347,33413.347 +3-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +3-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +3-6-2019 22:00,37253.304000000004,17341.104,17341.104 +3-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +4-6-2019 00:00,6360.321,2960.672,2960.672 +4-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +4-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +4-6-2019 03:00,2009.4250000000002,935.3740000000001,935.3740000000001 +4-6-2019 04:00,4154.513,1933.8880000000001,1933.8880000000001 +4-6-2019 05:00,8130.683,3784.7590000000005,3784.7590000000005 +4-6-2019 06:00,50882.568,23685.409,23685.409 +4-6-2019 07:00,90902.04200000002,42314.151000000005,42314.151000000005 +4-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +4-6-2019 09:00,77232.45200000002,35951.069,35951.069 +4-6-2019 10:00,55425.645000000004,25800.181,25800.181 +4-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +4-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +4-6-2019 13:00,32710.216000000004,15226.343,15226.343 +4-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +4-6-2019 15:00,21806.807,10150.888,10150.888 +4-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +4-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +4-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +4-6-2019 19:00,71780.74200000001,33413.347,33413.347 +4-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +4-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +4-6-2019 22:00,37253.304000000004,17341.104,17341.104 +4-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +5-6-2019 00:00,6360.321,2960.672,2960.672 +5-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +5-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +5-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +5-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +5-6-2019 05:00,6360.321,2960.672,2960.672 +5-6-2019 06:00,50882.568,23685.409,23685.409 +5-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +5-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +5-6-2019 09:00,77232.45200000002,35951.069,35951.069 +5-6-2019 10:00,55425.645000000004,25800.181,25800.181 +5-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +5-6-2019 12:00,45188.506,21034.882,21034.882 +5-6-2019 13:00,32710.216000000004,15226.343,15226.343 +5-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +5-6-2019 15:00,21806.807,10150.888,10150.888 +5-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +5-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +5-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +5-6-2019 19:00,71780.74200000001,33413.347,33413.347 +5-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +5-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +5-6-2019 22:00,37253.304000000004,17341.104,17341.104 +5-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +6-6-2019 00:00,6360.321,2960.672,2960.672 +6-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +6-6-2019 02:00,1467.4,683.0670000000001,683.0670000000001 +6-6-2019 03:00,2966.0950000000003,1380.698,1380.698 +6-6-2019 04:00,3838.7360000000003,1786.9060000000002,1786.9060000000002 +6-6-2019 05:00,8125.634,3782.416,3782.416 +6-6-2019 06:00,50882.568,23685.409,23685.409 +6-6-2019 07:00,113689.11400000002,52921.352000000006,52921.352000000006 +6-6-2019 08:00,74925.257,34877.095,34877.095 +6-6-2019 09:00,77232.45200000002,35951.069,35951.069 +6-6-2019 10:00,55425.645000000004,25800.181,25800.181 +6-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +6-6-2019 12:00,56742.87300000001,26413.343000000004,26413.343000000004 +6-6-2019 13:00,32710.216000000004,15226.343,15226.343 +6-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +6-6-2019 15:00,21806.807,10150.888,10150.888 +6-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +6-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +6-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +6-6-2019 19:00,71780.74200000001,33413.347,33413.347 +6-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +6-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +6-6-2019 22:00,37253.304000000004,17341.104,17341.104 +6-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +7-6-2019 00:00,6360.321,2960.672,2960.672 +7-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +7-6-2019 02:00,3267.264,1520.882,1520.882 +7-6-2019 03:00,3495.635,1627.1860000000001,1627.1860000000001 +7-6-2019 04:00,6719.878,3128.0480000000002,3128.0480000000002 +7-6-2019 05:00,20037.336,9327.219000000001,9327.219000000001 +7-6-2019 06:00,50882.568,23685.409,23685.409 +7-6-2019 07:00,130865.32800000001,60916.74600000001,60916.74600000001 +7-6-2019 08:00,96809.10800000001,45063.865000000005,45063.865000000005 +7-6-2019 09:00,77232.45200000002,35951.069,35951.069 +7-6-2019 10:00,55425.645000000004,25800.181,25800.181 +7-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +7-6-2019 12:00,63233.533,29434.691000000003,29434.691000000003 +7-6-2019 13:00,32710.216000000004,15226.343,15226.343 +7-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +7-6-2019 15:00,21806.807,10150.888,10150.888 +7-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +7-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +7-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +7-6-2019 19:00,71780.74200000001,33413.347,33413.347 +7-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +7-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +7-6-2019 22:00,37253.304000000004,17341.104,17341.104 +7-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +8-6-2019 00:00,6360.321,2960.672,2960.672 +8-6-2019 01:00,4851.99,2258.564,2258.564 +8-6-2019 02:00,2764.1240000000003,1286.67,1286.67 +8-6-2019 03:00,2823.568,1314.346,1314.346 +8-6-2019 04:00,3731.3650000000002,1736.922,1736.922 +8-6-2019 05:00,15397.723000000002,7167.512000000001,7167.512000000001 +8-6-2019 06:00,63380.79000000001,29503.243000000002,29503.243000000002 +8-6-2019 07:00,227497.38,105898.16600000001,105898.16600000001 +8-6-2019 08:00,121472.32900000001,56544.389,56544.389 +8-6-2019 09:00,277806.254,129316.55000000002,129316.55000000002 +8-6-2019 10:00,68492.68800000001,31882.785,31882.785 +8-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +8-6-2019 12:00,45949.838,21389.269000000004,21389.269000000004 +8-6-2019 13:00,34493.602,16056.491,16056.491 +8-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +8-6-2019 15:00,21806.807,10150.888,10150.888 +8-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +8-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +8-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +8-6-2019 19:00,71780.74200000001,33413.347,33413.347 +8-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +8-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +8-6-2019 22:00,37253.304000000004,17341.104,17341.104 +8-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +9-6-2019 00:00,6360.321,2960.672,2960.672 +9-6-2019 01:00,4424.618,2059.6290000000004,2059.6290000000004 +9-6-2019 02:00,3405.963,1585.452,1585.452 +9-6-2019 03:00,3746.3030000000003,1743.874,1743.874 +9-6-2019 04:00,21089.057,9816.785000000002,9816.785000000002 +9-6-2019 05:00,28419.842000000004,13229.205,13229.205 +9-6-2019 06:00,83815.49,39015.427,39015.427 +9-6-2019 07:00,272787.548,126980.38100000002,126980.38100000002 +9-6-2019 08:00,174149.55800000002,81065.19300000001,81065.19300000001 +9-6-2019 09:00,360916.38,168003.616,168003.616 +9-6-2019 10:00,71040.56300000001,33068.805,33068.805 +9-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +9-6-2019 12:00,41186.541,19171.999000000003,19171.999000000003 +9-6-2019 13:00,32710.216000000004,15226.343,15226.343 +9-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +9-6-2019 15:00,21806.807,10150.888,10150.888 +9-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +9-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +9-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +9-6-2019 19:00,71780.74200000001,33413.347,33413.347 +9-6-2019 20:00,65260.99800000001,30378.458000000002,30378.458000000002 +9-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +9-6-2019 22:00,37253.304000000004,17341.104,17341.104 +9-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +10-6-2019 00:00,7838.325000000001,3648.6780000000003,3648.6780000000003 +10-6-2019 01:00,5730.912,2667.698,2667.698 +10-6-2019 02:00,3037.771,1414.0610000000001,1414.0610000000001 +10-6-2019 03:00,8848.235,4118.785,4118.785 +10-6-2019 04:00,20831.745000000003,9697.006,9697.006 +10-6-2019 05:00,21980.816000000003,10231.892,10231.892 +10-6-2019 06:00,50882.568,23685.409,23685.409 +10-6-2019 07:00,141861.709,66035.486,66035.486 +10-6-2019 08:00,74219.717,34548.668000000005,34548.668000000005 +10-6-2019 09:00,77232.45200000002,35951.069,35951.069 +10-6-2019 10:00,55425.645000000004,25800.181,25800.181 +10-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +10-6-2019 12:00,47679.247,22194.293,22194.293 +10-6-2019 13:00,32710.216000000004,15226.343,15226.343 +10-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +10-6-2019 15:00,21806.807,10150.888,10150.888 +10-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +10-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +10-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +10-6-2019 19:00,71780.74200000001,33413.347,33413.347 +10-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +10-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +10-6-2019 22:00,37253.304000000004,17341.104,17341.104 +10-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +11-6-2019 00:00,6360.321,2960.672,2960.672 +11-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +11-6-2019 02:00,1051.347,489.40100000000007,489.40100000000007 +11-6-2019 03:00,2888.0060000000003,1344.3430000000003,1344.3430000000003 +11-6-2019 04:00,3839.2860000000005,1787.159,1787.159 +11-6-2019 05:00,8286.52,3857.304,3857.304 +11-6-2019 06:00,50882.568,23685.409,23685.409 +11-6-2019 07:00,118358.44900000001,55094.897000000004,55094.897000000004 +11-6-2019 08:00,94993.11800000002,44218.526000000005,44218.526000000005 +11-6-2019 09:00,147239.939,68538.998,68538.998 +11-6-2019 10:00,55425.645000000004,25800.181,25800.181 +11-6-2019 11:00,48238.278000000006,22454.520000000004,22454.520000000004 +11-6-2019 12:00,67399.65100000001,31373.991000000005,31373.991000000005 +11-6-2019 13:00,32710.216000000004,15226.343,15226.343 +11-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +11-6-2019 15:00,21806.807,10150.888,10150.888 +11-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +11-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +11-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +11-6-2019 19:00,71780.74200000001,33413.347,33413.347 +11-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +11-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +11-6-2019 22:00,37253.304000000004,17341.104,17341.104 +11-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +12-6-2019 00:00,6575.6900000000005,3060.926,3060.926 +12-6-2019 01:00,5760.909,2681.657,2681.657 +12-6-2019 02:00,3057.8460000000005,1423.4,1423.4 +12-6-2019 03:00,3535.9500000000003,1645.952,1645.952 +12-6-2019 04:00,18034.555,8394.936000000002,8394.936000000002 +12-6-2019 05:00,24037.013000000003,11189.035000000002,11189.035000000002 +12-6-2019 06:00,50882.568,23685.409,23685.409 +12-6-2019 07:00,138700.91400000002,64564.14800000001,64564.14800000001 +12-6-2019 08:00,112801.898,52508.368,52508.368 +12-6-2019 09:00,194847.268,90699.807,90699.807 +12-6-2019 10:00,55425.645000000004,25800.181,25800.181 +12-6-2019 11:00,49272.113000000005,22935.759000000002,22935.759000000002 +12-6-2019 12:00,74806.90800000001,34821.99600000001,34821.99600000001 +12-6-2019 13:00,33980.463,15817.626000000002,15817.626000000002 +12-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +12-6-2019 15:00,31104.975000000002,14479.113000000001,14479.113000000001 +12-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +12-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +12-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +12-6-2019 19:00,71780.74200000001,33413.347,33413.347 +12-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +12-6-2019 21:00,55128.524,25661.878,25661.878 +12-6-2019 22:00,37253.304000000004,17341.104,17341.104 +12-6-2019 23:00,18805.193000000003,8753.668000000001,8753.668000000001 +13-6-2019 00:00,8971.094000000001,4175.974,4175.974 +13-6-2019 01:00,9160.008000000002,4263.908,4263.908 +13-6-2019 02:00,24868.481,11576.081,11576.081 +13-6-2019 03:00,28218.773,13135.606,13135.606 +13-6-2019 04:00,40743.395,18965.727000000003,18965.727000000003 +13-6-2019 05:00,42552.048,19807.623000000003,19807.623000000003 +13-6-2019 06:00,52924.795,24636.062,24636.062 +13-6-2019 07:00,209459.05200000003,97501.48100000001,97501.48100000001 +13-6-2019 08:00,203783.25000000003,94859.44600000001,94859.44600000001 +13-6-2019 09:00,481843.56,224294.246,224294.246 +13-6-2019 10:00,55425.645000000004,25800.181,25800.181 +13-6-2019 11:00,50977.927,23729.805,23729.805 +13-6-2019 12:00,84344.282,39261.574,39261.574 +13-6-2019 13:00,33655.391,15666.310000000001,15666.310000000001 +13-6-2019 14:00,32924.903000000006,15326.278,15326.278 +13-6-2019 15:00,32195.119000000002,14986.565,14986.565 +13-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +13-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +13-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +13-6-2019 19:00,71827.07400000001,33434.918000000005,33434.918000000005 +13-6-2019 20:00,78006.53300000001,36311.396,36311.396 +13-6-2019 21:00,74631.711,34740.453,34740.453 +13-6-2019 22:00,37253.304000000004,17341.104,17341.104 +13-6-2019 23:00,19829.194000000003,9230.331,9230.331 +14-6-2019 00:00,8865.34,4126.749000000001,4126.749000000001 +14-6-2019 01:00,14749.284000000001,6865.672000000001,6865.672000000001 +14-6-2019 02:00,30493.848,14194.642,14194.642 +14-6-2019 03:00,43431.795,20217.142000000003,20217.142000000003 +14-6-2019 04:00,53767.912000000004,25028.520000000004,25028.520000000004 +14-6-2019 05:00,61614.619000000006,28681.103000000003,28681.103000000003 +14-6-2019 06:00,63993.314000000006,29788.363000000005,29788.363000000005 +14-6-2019 07:00,252468.83200000002,117522.174,117522.174 +14-6-2019 08:00,263162.57,122500.03700000001,122500.03700000001 +14-6-2019 09:00,560155.2440000001,260747.696,260747.696 +14-6-2019 10:00,55425.645000000004,25800.181,25800.181 +14-6-2019 11:00,50421.118,23470.623000000003,23470.623000000003 +14-6-2019 12:00,74205.86800000002,34542.222,34542.222 +14-6-2019 13:00,32710.216000000004,15226.343,15226.343 +14-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +14-6-2019 15:00,21806.807,10150.888,10150.888 +14-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +14-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +14-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +14-6-2019 19:00,71780.74200000001,33413.347,33413.347 +14-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +14-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +14-6-2019 22:00,37253.304000000004,17341.104,17341.104 +14-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +15-6-2019 00:00,6360.321,2960.672,2960.672 +15-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +15-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +15-6-2019 03:00,2391.1470000000004,1113.057,1113.057 +15-6-2019 04:00,3814.8880000000004,1775.796,1775.796 +15-6-2019 05:00,8180.249000000001,3807.8370000000004,3807.8370000000004 +15-6-2019 06:00,55710.57800000001,25932.819000000003,25932.819000000003 +15-6-2019 07:00,207975.79,96811.03300000001,96811.03300000001 +15-6-2019 08:00,94526.02500000001,44001.089,44001.089 +15-6-2019 09:00,162386.543,75589.61300000001,75589.61300000001 +15-6-2019 10:00,59166.272000000004,27541.415000000005,27541.415000000005 +15-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +15-6-2019 12:00,43172.294,20096.351000000002,20096.351000000002 +15-6-2019 13:00,32876.063,15303.541000000001,15303.541000000001 +15-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +15-6-2019 15:00,21806.807,10150.888,10150.888 +15-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +15-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +15-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +15-6-2019 19:00,71780.74200000001,33413.347,33413.347 +15-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +15-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +15-6-2019 22:00,37253.304000000004,17341.104,17341.104 +15-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +16-6-2019 00:00,8334.458,3879.623,3879.623 +16-6-2019 01:00,6164.048000000001,2869.317,2869.317 +16-6-2019 02:00,8451.146,3933.9410000000003,3933.9410000000003 +16-6-2019 03:00,24271.412,11298.144000000002,11298.144000000002 +16-6-2019 04:00,22905.652000000002,10662.399000000001,10662.399000000001 +16-6-2019 05:00,21084.767000000003,9814.783000000001,9814.783000000001 +16-6-2019 06:00,71815.70000000001,33429.616,33429.616 +16-6-2019 07:00,190205.774,88539.23100000001,88539.23100000001 +16-6-2019 08:00,76976.73500000002,35832.03800000001,35832.03800000001 +16-6-2019 09:00,109780.85800000001,51102.095,51102.095 +16-6-2019 10:00,55688.039000000004,25922.325,25922.325 +16-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +16-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +16-6-2019 13:00,32710.216000000004,15226.343,15226.343 +16-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +16-6-2019 15:00,21806.807,10150.888,10150.888 +16-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +16-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +16-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +16-6-2019 19:00,71780.74200000001,33413.347,33413.347 +16-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +16-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +16-6-2019 22:00,37253.304000000004,17341.104,17341.104 +16-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +17-6-2019 00:00,6360.321,2960.672,2960.672 +17-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +17-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +17-6-2019 03:00,2655.7300000000005,1236.224,1236.224 +17-6-2019 04:00,4207.511,1958.5610000000001,1958.5610000000001 +17-6-2019 05:00,8004.106000000001,3725.8430000000003,3725.8430000000003 +17-6-2019 06:00,50882.568,23685.409,23685.409 +17-6-2019 07:00,102033.74500000001,47495.888000000006,47495.888000000006 +17-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +17-6-2019 09:00,77232.45200000002,35951.069,35951.069 +17-6-2019 10:00,55425.645000000004,25800.181,25800.181 +17-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +17-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +17-6-2019 13:00,32710.216000000004,15226.343,15226.343 +17-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +17-6-2019 15:00,21806.807,10150.888,10150.888 +17-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +17-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +17-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +17-6-2019 19:00,71780.74200000001,33413.347,33413.347 +17-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +17-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +17-6-2019 22:00,37253.304000000004,17341.104,17341.104 +17-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +18-6-2019 00:00,6360.321,2960.672,2960.672 +18-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +18-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +18-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +18-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +18-6-2019 05:00,6360.321,2960.672,2960.672 +18-6-2019 06:00,50882.568,23685.409,23685.409 +18-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +18-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +18-6-2019 09:00,77232.45200000002,35951.069,35951.069 +18-6-2019 10:00,55425.645000000004,25800.181,25800.181 +18-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +18-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +18-6-2019 13:00,32710.216000000004,15226.343,15226.343 +18-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +18-6-2019 15:00,21806.807,10150.888,10150.888 +18-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +18-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +18-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +18-6-2019 19:00,71780.74200000001,33413.347,33413.347 +18-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +18-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +18-6-2019 22:00,37253.304000000004,17341.104,17341.104 +18-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +19-6-2019 00:00,6360.321,2960.672,2960.672 +19-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +19-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +19-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +19-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +19-6-2019 05:00,6360.321,2960.672,2960.672 +19-6-2019 06:00,50882.568,23685.409,23685.409 +19-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +19-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +19-6-2019 09:00,77232.45200000002,35951.069,35951.069 +19-6-2019 10:00,55425.645000000004,25800.181,25800.181 +19-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +19-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +19-6-2019 13:00,32710.216000000004,15226.343,15226.343 +19-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +19-6-2019 15:00,21806.807,10150.888,10150.888 +19-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +19-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +19-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +19-6-2019 19:00,71780.74200000001,33413.347,33413.347 +19-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +19-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +19-6-2019 22:00,37253.304000000004,17341.104,17341.104 +19-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +20-6-2019 00:00,6360.321,2960.672,2960.672 +20-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +20-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +20-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +20-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +20-6-2019 05:00,6360.321,2960.672,2960.672 +20-6-2019 06:00,50882.568,23685.409,23685.409 +20-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +20-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +20-6-2019 09:00,77232.45200000002,35951.069,35951.069 +20-6-2019 10:00,55425.645000000004,25800.181,25800.181 +20-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +20-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +20-6-2019 13:00,32710.216000000004,15226.343,15226.343 +20-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +20-6-2019 15:00,21806.807,10150.888,10150.888 +20-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +20-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +20-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +20-6-2019 19:00,71780.74200000001,33413.347,33413.347 +20-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +20-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +20-6-2019 22:00,37253.304000000004,17341.104,17341.104 +20-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +21-6-2019 00:00,6360.321,2960.672,2960.672 +21-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +21-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +21-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +21-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +21-6-2019 05:00,6805.535000000001,3167.9230000000002,3167.9230000000002 +21-6-2019 06:00,50882.568,23685.409,23685.409 +21-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +21-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +21-6-2019 09:00,77232.45200000002,35951.069,35951.069 +21-6-2019 10:00,55425.645000000004,25800.181,25800.181 +21-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +21-6-2019 12:00,42850.544,19946.575,19946.575 +21-6-2019 13:00,32710.216000000004,15226.343,15226.343 +21-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +21-6-2019 15:00,21806.807,10150.888,10150.888 +21-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +21-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +21-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +21-6-2019 19:00,71780.74200000001,33413.347,33413.347 +21-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +21-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +21-6-2019 22:00,37253.304000000004,17341.104,17341.104 +21-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +22-6-2019 00:00,6360.321,2960.672,2960.672 +22-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +22-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +22-6-2019 03:00,1309.803,609.697,609.697 +22-6-2019 04:00,3978.0950000000003,1851.7730000000001,1851.7730000000001 +22-6-2019 05:00,8067.796,3755.4990000000003,3755.4990000000003 +22-6-2019 06:00,51059.129,23767.601000000002,23767.601000000002 +22-6-2019 07:00,84656.88,39407.08200000001,39407.08200000001 +22-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +22-6-2019 09:00,77232.45200000002,35951.069,35951.069 +22-6-2019 10:00,55425.645000000004,25800.181,25800.181 +22-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +22-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +22-6-2019 13:00,32710.216000000004,15226.343,15226.343 +22-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +22-6-2019 15:00,21806.807,10150.888,10150.888 +22-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +22-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +22-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +22-6-2019 19:00,71780.74200000001,33413.347,33413.347 +22-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +22-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +22-6-2019 22:00,37253.304000000004,17341.104,17341.104 +22-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +23-6-2019 00:00,6360.321,2960.672,2960.672 +23-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +23-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +23-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +23-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +23-6-2019 05:00,6360.321,2960.672,2960.672 +23-6-2019 06:00,50882.568,23685.409,23685.409 +23-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +23-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +23-6-2019 09:00,77232.45200000002,35951.069,35951.069 +23-6-2019 10:00,55425.645000000004,25800.181,25800.181 +23-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +23-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +23-6-2019 13:00,32710.216000000004,15226.343,15226.343 +23-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +23-6-2019 15:00,21806.807,10150.888,10150.888 +23-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +23-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +23-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +23-6-2019 19:00,71780.74200000001,33413.347,33413.347 +23-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +23-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +23-6-2019 22:00,37253.304000000004,17341.104,17341.104 +23-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +24-6-2019 00:00,6360.321,2960.672,2960.672 +24-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +24-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +24-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +24-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +24-6-2019 05:00,6360.321,2960.672,2960.672 +24-6-2019 06:00,50882.568,23685.409,23685.409 +24-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +24-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +24-6-2019 09:00,77232.45200000002,35951.069,35951.069 +24-6-2019 10:00,55425.645000000004,25800.181,25800.181 +24-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +24-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +24-6-2019 13:00,32710.216000000004,15226.343,15226.343 +24-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +24-6-2019 15:00,21806.807,10150.888,10150.888 +24-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +24-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +24-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +24-6-2019 19:00,71780.74200000001,33413.347,33413.347 +24-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +24-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +24-6-2019 22:00,37253.304000000004,17341.104,17341.104 +24-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +25-6-2019 00:00,6360.321,2960.672,2960.672 +25-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +25-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +25-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +25-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +25-6-2019 05:00,6360.321,2960.672,2960.672 +25-6-2019 06:00,50882.568,23685.409,23685.409 +25-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +25-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +25-6-2019 09:00,77232.45200000002,35951.069,35951.069 +25-6-2019 10:00,55425.645000000004,25800.181,25800.181 +25-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +25-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +25-6-2019 13:00,32710.216000000004,15226.343,15226.343 +25-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +25-6-2019 15:00,21806.807,10150.888,10150.888 +25-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +25-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +25-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +25-6-2019 19:00,71780.74200000001,33413.347,33413.347 +25-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +25-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +25-6-2019 22:00,37253.304000000004,17341.104,17341.104 +25-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +26-6-2019 00:00,6360.321,2960.672,2960.672 +26-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +26-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +26-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +26-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +26-6-2019 05:00,6360.321,2960.672,2960.672 +26-6-2019 06:00,50882.568,23685.409,23685.409 +26-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +26-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +26-6-2019 09:00,77232.45200000002,35951.069,35951.069 +26-6-2019 10:00,55425.645000000004,25800.181,25800.181 +26-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +26-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +26-6-2019 13:00,32710.216000000004,15226.343,15226.343 +26-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +26-6-2019 15:00,21806.807,10150.888,10150.888 +26-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +26-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +26-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +26-6-2019 19:00,71780.74200000001,33413.347,33413.347 +26-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +26-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +26-6-2019 22:00,37253.304000000004,17341.104,17341.104 +26-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +27-6-2019 00:00,6360.321,2960.672,2960.672 +27-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +27-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +27-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +27-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +27-6-2019 05:00,6360.321,2960.672,2960.672 +27-6-2019 06:00,50882.568,23685.409,23685.409 +27-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +27-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +27-6-2019 09:00,77232.45200000002,35951.069,35951.069 +27-6-2019 10:00,55425.645000000004,25800.181,25800.181 +27-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +27-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +27-6-2019 13:00,32710.216000000004,15226.343,15226.343 +27-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +27-6-2019 15:00,21806.807,10150.888,10150.888 +27-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +27-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +27-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +27-6-2019 19:00,71780.74200000001,33413.347,33413.347 +27-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +27-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +27-6-2019 22:00,37253.304000000004,17341.104,17341.104 +27-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +28-6-2019 00:00,6360.321,2960.672,2960.672 +28-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +28-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +28-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +28-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +28-6-2019 05:00,6360.321,2960.672,2960.672 +28-6-2019 06:00,50882.568,23685.409,23685.409 +28-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +28-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +28-6-2019 09:00,77232.45200000002,35951.069,35951.069 +28-6-2019 10:00,55425.645000000004,25800.181,25800.181 +28-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +28-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +28-6-2019 13:00,32710.216000000004,15226.343,15226.343 +28-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +28-6-2019 15:00,21806.807,10150.888,10150.888 +28-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +28-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +28-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +28-6-2019 19:00,71780.74200000001,33413.347,33413.347 +28-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +28-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +28-6-2019 22:00,37253.304000000004,17341.104,17341.104 +28-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +29-6-2019 00:00,6360.321,2960.672,2960.672 +29-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +29-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +29-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +29-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +29-6-2019 05:00,6360.321,2960.672,2960.672 +29-6-2019 06:00,50882.568,23685.409,23685.409 +29-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +29-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +29-6-2019 09:00,77232.45200000002,35951.069,35951.069 +29-6-2019 10:00,55425.645000000004,25800.181,25800.181 +29-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +29-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +29-6-2019 13:00,32710.216000000004,15226.343,15226.343 +29-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +29-6-2019 15:00,21806.807,10150.888,10150.888 +29-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +29-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +29-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +29-6-2019 19:00,71780.74200000001,33413.347,33413.347 +29-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +29-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +29-6-2019 22:00,37253.304000000004,17341.104,17341.104 +29-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +30-6-2019 00:00,6360.321,2960.672,2960.672 +30-6-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +30-6-2019 02:00,908.171,422.74100000000004,422.74100000000004 +30-6-2019 03:00,908.171,422.74100000000004,422.74100000000004 +30-6-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +30-6-2019 05:00,6360.321,2960.672,2960.672 +30-6-2019 06:00,50882.568,23685.409,23685.409 +30-6-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +30-6-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +30-6-2019 09:00,77232.45200000002,35951.069,35951.069 +30-6-2019 10:00,55425.645000000004,25800.181,25800.181 +30-6-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +30-6-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +30-6-2019 13:00,32710.216000000004,15226.343,15226.343 +30-6-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +30-6-2019 15:00,21806.807,10150.888,10150.888 +30-6-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +30-6-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +30-6-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +30-6-2019 19:00,71780.74200000001,33413.347,33413.347 +30-6-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +30-6-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +30-6-2019 22:00,37253.304000000004,17341.104,17341.104 +30-6-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +1-7-2019 00:00,6360.321,2960.672,2960.672 +1-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +1-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +1-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +1-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +1-7-2019 05:00,6360.321,2960.672,2960.672 +1-7-2019 06:00,50882.568,23685.409,23685.409 +1-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +1-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +1-7-2019 09:00,77232.45200000002,35951.069,35951.069 +1-7-2019 10:00,55425.645000000004,25800.181,25800.181 +1-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +1-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +1-7-2019 13:00,32710.216000000004,15226.343,15226.343 +1-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +1-7-2019 15:00,21806.807,10150.888,10150.888 +1-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +1-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +1-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +1-7-2019 19:00,71780.74200000001,33413.347,33413.347 +1-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +1-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +1-7-2019 22:00,37253.304000000004,17341.104,17341.104 +1-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +2-7-2019 00:00,6360.321,2960.672,2960.672 +2-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +2-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +2-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +2-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +2-7-2019 05:00,6360.321,2960.672,2960.672 +2-7-2019 06:00,50882.568,23685.409,23685.409 +2-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +2-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +2-7-2019 09:00,77232.45200000002,35951.069,35951.069 +2-7-2019 10:00,55425.645000000004,25800.181,25800.181 +2-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +2-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +2-7-2019 13:00,32710.216000000004,15226.343,15226.343 +2-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +2-7-2019 15:00,21806.807,10150.888,10150.888 +2-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +2-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +2-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +2-7-2019 19:00,71780.74200000001,33413.347,33413.347 +2-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +2-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +2-7-2019 22:00,37253.304000000004,17341.104,17341.104 +2-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +3-7-2019 00:00,6360.321,2960.672,2960.672 +3-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +3-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +3-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +3-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +3-7-2019 05:00,6360.321,2960.672,2960.672 +3-7-2019 06:00,50882.568,23685.409,23685.409 +3-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +3-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +3-7-2019 09:00,77232.45200000002,35951.069,35951.069 +3-7-2019 10:00,55425.645000000004,25800.181,25800.181 +3-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +3-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +3-7-2019 13:00,32710.216000000004,15226.343,15226.343 +3-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +3-7-2019 15:00,21806.807,10150.888,10150.888 +3-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +3-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +3-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +3-7-2019 19:00,71780.74200000001,33413.347,33413.347 +3-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +3-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +3-7-2019 22:00,37253.304000000004,17341.104,17341.104 +3-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +4-7-2019 00:00,6360.321,2960.672,2960.672 +4-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +4-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +4-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +4-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +4-7-2019 05:00,6360.321,2960.672,2960.672 +4-7-2019 06:00,50882.568,23685.409,23685.409 +4-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +4-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +4-7-2019 09:00,77232.45200000002,35951.069,35951.069 +4-7-2019 10:00,55425.645000000004,25800.181,25800.181 +4-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +4-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +4-7-2019 13:00,32710.216000000004,15226.343,15226.343 +4-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +4-7-2019 15:00,21806.807,10150.888,10150.888 +4-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +4-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +4-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +4-7-2019 19:00,71780.74200000001,33413.347,33413.347 +4-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +4-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +4-7-2019 22:00,37253.304000000004,17341.104,17341.104 +4-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +5-7-2019 00:00,6360.321,2960.672,2960.672 +5-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +5-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +5-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +5-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +5-7-2019 05:00,6360.321,2960.672,2960.672 +5-7-2019 06:00,50882.568,23685.409,23685.409 +5-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +5-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +5-7-2019 09:00,77232.45200000002,35951.069,35951.069 +5-7-2019 10:00,55425.645000000004,25800.181,25800.181 +5-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +5-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +5-7-2019 13:00,32710.216000000004,15226.343,15226.343 +5-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +5-7-2019 15:00,21806.807,10150.888,10150.888 +5-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +5-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +5-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +5-7-2019 19:00,71780.74200000001,33413.347,33413.347 +5-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +5-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +5-7-2019 22:00,37253.304000000004,17341.104,17341.104 +5-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +6-7-2019 00:00,6360.321,2960.672,2960.672 +6-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +6-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +6-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +6-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +6-7-2019 05:00,6360.321,2960.672,2960.672 +6-7-2019 06:00,50882.568,23685.409,23685.409 +6-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +6-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +6-7-2019 09:00,77232.45200000002,35951.069,35951.069 +6-7-2019 10:00,55425.645000000004,25800.181,25800.181 +6-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +6-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +6-7-2019 13:00,32710.216000000004,15226.343,15226.343 +6-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +6-7-2019 15:00,21806.807,10150.888,10150.888 +6-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +6-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +6-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +6-7-2019 19:00,71780.74200000001,33413.347,33413.347 +6-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +6-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +6-7-2019 22:00,37253.304000000004,17341.104,17341.104 +6-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +7-7-2019 00:00,6360.321,2960.672,2960.672 +7-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +7-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +7-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +7-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +7-7-2019 05:00,6360.321,2960.672,2960.672 +7-7-2019 06:00,50882.568,23685.409,23685.409 +7-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +7-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +7-7-2019 09:00,77232.45200000002,35951.069,35951.069 +7-7-2019 10:00,55425.645000000004,25800.181,25800.181 +7-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +7-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +7-7-2019 13:00,32710.216000000004,15226.343,15226.343 +7-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +7-7-2019 15:00,21806.807,10150.888,10150.888 +7-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +7-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +7-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +7-7-2019 19:00,71780.74200000001,33413.347,33413.347 +7-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +7-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +7-7-2019 22:00,37253.304000000004,17341.104,17341.104 +7-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +8-7-2019 00:00,6360.321,2960.672,2960.672 +8-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +8-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +8-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +8-7-2019 04:00,3065.59,1427.008,1427.008 +8-7-2019 05:00,7787.329000000001,3624.9400000000005,3624.9400000000005 +8-7-2019 06:00,50882.568,23685.409,23685.409 +8-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +8-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +8-7-2019 09:00,77232.45200000002,35951.069,35951.069 +8-7-2019 10:00,55425.645000000004,25800.181,25800.181 +8-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +8-7-2019 12:00,51279.822,23870.341000000004,23870.341000000004 +8-7-2019 13:00,32710.216000000004,15226.343,15226.343 +8-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +8-7-2019 15:00,21806.807,10150.888,10150.888 +8-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +8-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +8-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +8-7-2019 19:00,71780.74200000001,33413.347,33413.347 +8-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +8-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +8-7-2019 22:00,37253.304000000004,17341.104,17341.104 +8-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +9-7-2019 00:00,6360.321,2960.672,2960.672 +9-7-2019 01:00,4570.104000000001,2127.3450000000003,2127.3450000000003 +9-7-2019 02:00,3200.142,1489.642,1489.642 +9-7-2019 03:00,3483.0950000000003,1621.3560000000002,1621.3560000000002 +9-7-2019 04:00,4376.911000000001,2037.4200000000003,2037.4200000000003 +9-7-2019 05:00,8143.201000000001,3790.589,3790.589 +9-7-2019 06:00,50882.568,23685.409,23685.409 +9-7-2019 07:00,95321.611,44371.42600000001,44371.42600000001 +9-7-2019 08:00,72050.176,33538.769,33538.769 +9-7-2019 09:00,77232.45200000002,35951.069,35951.069 +9-7-2019 10:00,55425.645000000004,25800.181,25800.181 +9-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +9-7-2019 12:00,56513.963,26306.786,26306.786 +9-7-2019 13:00,32710.216000000004,15226.343,15226.343 +9-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +9-7-2019 15:00,21806.807,10150.888,10150.888 +9-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +9-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +9-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +9-7-2019 19:00,71780.74200000001,33413.347,33413.347 +9-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +9-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +9-7-2019 22:00,37253.304000000004,17341.104,17341.104 +9-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +10-7-2019 00:00,6360.321,2960.672,2960.672 +10-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +10-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +10-7-2019 03:00,2762.2980000000002,1285.823,1285.823 +10-7-2019 04:00,3946.0300000000007,1836.846,1836.846 +10-7-2019 05:00,8205.967,3819.8050000000003,3819.8050000000003 +10-7-2019 06:00,50882.568,23685.409,23685.409 +10-7-2019 07:00,92240.819,42937.345,42937.345 +10-7-2019 08:00,69607.032,32401.501000000004,32401.501000000004 +10-7-2019 09:00,77232.45200000002,35951.069,35951.069 +10-7-2019 10:00,55425.645000000004,25800.181,25800.181 +10-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +10-7-2019 12:00,60755.266,28281.088000000003,28281.088000000003 +10-7-2019 13:00,32710.216000000004,15226.343,15226.343 +10-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +10-7-2019 15:00,21806.807,10150.888,10150.888 +10-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +10-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +10-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +10-7-2019 19:00,71780.74200000001,33413.347,33413.347 +10-7-2019 20:00,67307.98800000001,31331.322000000004,31331.322000000004 +10-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +10-7-2019 22:00,37253.304000000004,17341.104,17341.104 +10-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +11-7-2019 00:00,7194.341000000001,3348.9060000000004,3348.9060000000004 +11-7-2019 01:00,5455.406000000001,2539.4490000000005,2539.4490000000005 +11-7-2019 02:00,2723.2810000000004,1267.6620000000003,1267.6620000000003 +11-7-2019 03:00,2716.659,1264.5819999999999,1264.5819999999999 +11-7-2019 04:00,3590.719,1671.45,1671.45 +11-7-2019 05:00,7826.9400000000005,3643.376,3643.376 +11-7-2019 06:00,50882.568,23685.409,23685.409 +11-7-2019 07:00,93768.97200000001,43648.693,43648.693 +11-7-2019 08:00,72077.88500000001,33551.661,33551.661 +11-7-2019 09:00,77232.45200000002,35951.069,35951.069 +11-7-2019 10:00,55425.645000000004,25800.181,25800.181 +11-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +11-7-2019 12:00,54782.343,25500.728000000003,25500.728000000003 +11-7-2019 13:00,32710.216000000004,15226.343,15226.343 +11-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +11-7-2019 15:00,21806.807,10150.888,10150.888 +11-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +11-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +11-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +11-7-2019 19:00,71780.74200000001,33413.347,33413.347 +11-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +11-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +11-7-2019 22:00,37253.304000000004,17341.104,17341.104 +11-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +12-7-2019 00:00,6360.321,2960.672,2960.672 +12-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +12-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +12-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +12-7-2019 04:00,3353.9990000000003,1561.2630000000001,1561.2630000000001 +12-7-2019 05:00,7627.642000000001,3550.6020000000003,3550.6020000000003 +12-7-2019 06:00,50882.568,23685.409,23685.409 +12-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +12-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +12-7-2019 09:00,77232.45200000002,35951.069,35951.069 +12-7-2019 10:00,55425.645000000004,25800.181,25800.181 +12-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +12-7-2019 12:00,47535.378000000004,22127.325,22127.325 +12-7-2019 13:00,32710.216000000004,15226.343,15226.343 +12-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +12-7-2019 15:00,21806.807,10150.888,10150.888 +12-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +12-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +12-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +12-7-2019 19:00,71780.74200000001,33413.347,33413.347 +12-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +12-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +12-7-2019 22:00,37253.304000000004,17341.104,17341.104 +12-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +13-7-2019 00:00,6360.321,2960.672,2960.672 +13-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +13-7-2019 02:00,1511.5870000000002,703.626,703.626 +13-7-2019 03:00,2529.8460000000005,1177.616,1177.616 +13-7-2019 04:00,3411.1110000000003,1587.8390000000002,1587.8390000000002 +13-7-2019 05:00,7724.453,3595.6690000000003,3595.6690000000003 +13-7-2019 06:00,52908.60300000001,24628.516000000003,24628.516000000003 +13-7-2019 07:00,102041.236,47499.364,47499.364 +13-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +13-7-2019 09:00,97483.298,45377.673,45377.673 +13-7-2019 10:00,55425.645000000004,25800.181,25800.181 +13-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +13-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +13-7-2019 13:00,32710.216000000004,15226.343,15226.343 +13-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +13-7-2019 15:00,21806.807,10150.888,10150.888 +13-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +13-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +13-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +13-7-2019 19:00,71780.74200000001,33413.347,33413.347 +13-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +13-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +13-7-2019 22:00,37253.304000000004,17341.104,17341.104 +13-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +14-7-2019 00:00,6360.321,2960.672,2960.672 +14-7-2019 01:00,4005.1000000000004,1864.346,1864.346 +14-7-2019 02:00,2708.5190000000002,1260.7870000000003,1260.7870000000003 +14-7-2019 03:00,2730.398,1270.9730000000002,1270.9730000000002 +14-7-2019 04:00,3734.4010000000003,1738.3300000000002,1738.3300000000002 +14-7-2019 05:00,8013.192000000001,3730.0780000000004,3730.0780000000004 +14-7-2019 06:00,53755.43800000001,25022.712,25022.712 +14-7-2019 07:00,132868.87900000002,61849.381,61849.381 +14-7-2019 08:00,67915.84800000001,31614.275,31614.275 +14-7-2019 09:00,100664.861,46858.68000000001,46858.68000000001 +14-7-2019 10:00,55425.645000000004,25800.181,25800.181 +14-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +14-7-2019 12:00,42041.252,19569.858,19569.858 +14-7-2019 13:00,32710.216000000004,15226.343,15226.343 +14-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +14-7-2019 15:00,21806.807,10150.888,10150.888 +14-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +14-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +14-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +14-7-2019 19:00,71780.74200000001,33413.347,33413.347 +14-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +14-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +14-7-2019 22:00,37253.304000000004,17341.104,17341.104 +14-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +15-7-2019 00:00,6360.321,2960.672,2960.672 +15-7-2019 01:00,4932.026,2295.8210000000004,2295.8210000000004 +15-7-2019 02:00,2863.4210000000003,1332.903,1332.903 +15-7-2019 03:00,2950.3430000000003,1373.361,1373.361 +15-7-2019 04:00,3844.038,1789.3700000000001,1789.3700000000001 +15-7-2019 05:00,8166.884,3801.6110000000003,3801.6110000000003 +15-7-2019 06:00,50882.568,23685.409,23685.409 +15-7-2019 07:00,110108.55900000001,51254.643000000004,51254.643000000004 +15-7-2019 08:00,81099.898,37751.340000000004,37751.340000000004 +15-7-2019 09:00,77232.45200000002,35951.069,35951.069 +15-7-2019 10:00,55425.645000000004,25800.181,25800.181 +15-7-2019 11:00,48428.611000000004,22543.125000000004,22543.125000000004 +15-7-2019 12:00,68797.19,32024.531000000003,32024.531000000003 +15-7-2019 13:00,32710.216000000004,15226.343,15226.343 +15-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +15-7-2019 15:00,21806.807,10150.888,10150.888 +15-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +15-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +15-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +15-7-2019 19:00,71780.74200000001,33413.347,33413.347 +15-7-2019 20:00,64299.51,29930.901,29930.901 +15-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +15-7-2019 22:00,37253.304000000004,17341.104,17341.104 +15-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +16-7-2019 00:00,7440.323000000001,3463.416,3463.416 +16-7-2019 01:00,5675.5160000000005,2641.9030000000002,2641.9030000000002 +16-7-2019 02:00,2958.5490000000004,1377.178,1377.178 +16-7-2019 03:00,2928.6180000000004,1363.252,1363.252 +16-7-2019 04:00,7407.158,3447.972,3447.972 +16-7-2019 05:00,17507.017,8149.372000000001,8149.372000000001 +16-7-2019 06:00,50882.568,23685.409,23685.409 +16-7-2019 07:00,122007.19300000001,56793.352000000006,56793.352000000006 +16-7-2019 08:00,90216.698,41995.14000000001,41995.14000000001 +16-7-2019 09:00,77232.45200000002,35951.069,35951.069 +16-7-2019 10:00,55425.645000000004,25800.181,25800.181 +16-7-2019 11:00,49080.43800000001,22846.538000000004,22846.538000000004 +16-7-2019 12:00,71238.21100000001,33160.798,33160.798 +16-7-2019 13:00,32710.216000000004,15226.343,15226.343 +16-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +16-7-2019 15:00,22233.31,10349.427,10349.427 +16-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +16-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +16-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +16-7-2019 19:00,71780.74200000001,33413.347,33413.347 +16-7-2019 20:00,63768.969000000005,29683.929,29683.929 +16-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +16-7-2019 22:00,37253.304000000004,17341.104,17341.104 +16-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +17-7-2019 00:00,8304.351,3865.6090000000004,3865.6090000000004 +17-7-2019 01:00,6269.5380000000005,2918.4210000000003,2918.4210000000003 +17-7-2019 02:00,4354.57,2027.0140000000001,2027.0140000000001 +17-7-2019 03:00,24802.426000000003,11545.325,11545.325 +17-7-2019 04:00,31683.872000000003,14748.58,14748.58 +17-7-2019 05:00,27871.789000000004,12974.093,12974.093 +17-7-2019 06:00,50882.568,23685.409,23685.409 +17-7-2019 07:00,111634.633,51965.012,51965.012 +17-7-2019 08:00,71143.88600000001,33116.897000000004,33116.897000000004 +17-7-2019 09:00,77232.45200000002,35951.069,35951.069 +17-7-2019 10:00,55425.645000000004,25800.181,25800.181 +17-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +17-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +17-7-2019 13:00,32710.216000000004,15226.343,15226.343 +17-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +17-7-2019 15:00,21806.807,10150.888,10150.888 +17-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +17-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +17-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +17-7-2019 19:00,71780.74200000001,33413.347,33413.347 +17-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +17-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +17-7-2019 22:00,37253.304000000004,17341.104,17341.104 +17-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +18-7-2019 00:00,6360.321,2960.672,2960.672 +18-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +18-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +18-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +18-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +18-7-2019 05:00,6711.111000000001,3123.967,3123.967 +18-7-2019 06:00,50882.568,23685.409,23685.409 +18-7-2019 07:00,84696.007,39425.298,39425.298 +18-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +18-7-2019 09:00,77232.45200000002,35951.069,35951.069 +18-7-2019 10:00,55425.645000000004,25800.181,25800.181 +18-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +18-7-2019 12:00,47963.597,22326.656,22326.656 +18-7-2019 13:00,32710.216000000004,15226.343,15226.343 +18-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +18-7-2019 15:00,21806.807,10150.888,10150.888 +18-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +18-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +18-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +18-7-2019 19:00,71780.74200000001,33413.347,33413.347 +18-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +18-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +18-7-2019 22:00,37253.304000000004,17341.104,17341.104 +18-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +19-7-2019 00:00,6360.321,2960.672,2960.672 +19-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +19-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +19-7-2019 03:00,1422.0800000000002,661.969,661.969 +19-7-2019 04:00,3452.3830000000007,1607.0560000000003,1607.0560000000003 +19-7-2019 05:00,7618.952,3546.5650000000005,3546.5650000000005 +19-7-2019 06:00,50882.568,23685.409,23685.409 +19-7-2019 07:00,85478.767,39789.673,39789.673 +19-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +19-7-2019 09:00,77232.45200000002,35951.069,35951.069 +19-7-2019 10:00,55425.645000000004,25800.181,25800.181 +19-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +19-7-2019 12:00,44431.904,20682.684,20682.684 +19-7-2019 13:00,32710.216000000004,15226.343,15226.343 +19-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +19-7-2019 15:00,21806.807,10150.888,10150.888 +19-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +19-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +19-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +19-7-2019 19:00,71780.74200000001,33413.347,33413.347 +19-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +19-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +19-7-2019 22:00,37253.304000000004,17341.104,17341.104 +19-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +20-7-2019 00:00,6360.321,2960.672,2960.672 +20-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +20-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +20-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +20-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +20-7-2019 05:00,6360.321,2960.672,2960.672 +20-7-2019 06:00,50882.568,23685.409,23685.409 +20-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +20-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +20-7-2019 09:00,81945.71,38145.063,38145.063 +20-7-2019 10:00,55425.645000000004,25800.181,25800.181 +20-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +20-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +20-7-2019 13:00,32710.216000000004,15226.343,15226.343 +20-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +20-7-2019 15:00,21806.807,10150.888,10150.888 +20-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +20-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +20-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +20-7-2019 19:00,71780.74200000001,33413.347,33413.347 +20-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +20-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +20-7-2019 22:00,37253.304000000004,17341.104,17341.104 +20-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +21-7-2019 00:00,6360.321,2960.672,2960.672 +21-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +21-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +21-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +21-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +21-7-2019 05:00,6360.321,2960.672,2960.672 +21-7-2019 06:00,50882.568,23685.409,23685.409 +21-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +21-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +21-7-2019 09:00,77232.45200000002,35951.069,35951.069 +21-7-2019 10:00,55425.645000000004,25800.181,25800.181 +21-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +21-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +21-7-2019 13:00,32710.216000000004,15226.343,15226.343 +21-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +21-7-2019 15:00,21806.807,10150.888,10150.888 +21-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +21-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +21-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +21-7-2019 19:00,71780.74200000001,33413.347,33413.347 +21-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +21-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +21-7-2019 22:00,37253.304000000004,17341.104,17341.104 +21-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +22-7-2019 00:00,6360.321,2960.672,2960.672 +22-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +22-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +22-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +22-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +22-7-2019 05:00,6360.321,2960.672,2960.672 +22-7-2019 06:00,50882.568,23685.409,23685.409 +22-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +22-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +22-7-2019 09:00,77232.45200000002,35951.069,35951.069 +22-7-2019 10:00,55425.645000000004,25800.181,25800.181 +22-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +22-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +22-7-2019 13:00,32710.216000000004,15226.343,15226.343 +22-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +22-7-2019 15:00,21806.807,10150.888,10150.888 +22-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +22-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +22-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +22-7-2019 19:00,71780.74200000001,33413.347,33413.347 +22-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +22-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +22-7-2019 22:00,37253.304000000004,17341.104,17341.104 +22-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +23-7-2019 00:00,6360.321,2960.672,2960.672 +23-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +23-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +23-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +23-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +23-7-2019 05:00,6360.321,2960.672,2960.672 +23-7-2019 06:00,50882.568,23685.409,23685.409 +23-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +23-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +23-7-2019 09:00,77232.45200000002,35951.069,35951.069 +23-7-2019 10:00,55425.645000000004,25800.181,25800.181 +23-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +23-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +23-7-2019 13:00,32710.216000000004,15226.343,15226.343 +23-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +23-7-2019 15:00,21806.807,10150.888,10150.888 +23-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +23-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +23-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +23-7-2019 19:00,71780.74200000001,33413.347,33413.347 +23-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +23-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +23-7-2019 22:00,37253.304000000004,17341.104,17341.104 +23-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +24-7-2019 00:00,6360.321,2960.672,2960.672 +24-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +24-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +24-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +24-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +24-7-2019 05:00,6360.321,2960.672,2960.672 +24-7-2019 06:00,50882.568,23685.409,23685.409 +24-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +24-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +24-7-2019 09:00,77232.45200000002,35951.069,35951.069 +24-7-2019 10:00,55425.645000000004,25800.181,25800.181 +24-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +24-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +24-7-2019 13:00,32710.216000000004,15226.343,15226.343 +24-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +24-7-2019 15:00,21806.807,10150.888,10150.888 +24-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +24-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +24-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +24-7-2019 19:00,71780.74200000001,33413.347,33413.347 +24-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +24-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +24-7-2019 22:00,37253.304000000004,17341.104,17341.104 +24-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +25-7-2019 00:00,6360.321,2960.672,2960.672 +25-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +25-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +25-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +25-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +25-7-2019 05:00,6360.321,2960.672,2960.672 +25-7-2019 06:00,50882.568,23685.409,23685.409 +25-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +25-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +25-7-2019 09:00,77232.45200000002,35951.069,35951.069 +25-7-2019 10:00,55425.645000000004,25800.181,25800.181 +25-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +25-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +25-7-2019 13:00,32710.216000000004,15226.343,15226.343 +25-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +25-7-2019 15:00,21806.807,10150.888,10150.888 +25-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +25-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +25-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +25-7-2019 19:00,71780.74200000001,33413.347,33413.347 +25-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +25-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +25-7-2019 22:00,37253.304000000004,17341.104,17341.104 +25-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +26-7-2019 00:00,6360.321,2960.672,2960.672 +26-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +26-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +26-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +26-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +26-7-2019 05:00,6360.321,2960.672,2960.672 +26-7-2019 06:00,50882.568,23685.409,23685.409 +26-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +26-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +26-7-2019 09:00,77232.45200000002,35951.069,35951.069 +26-7-2019 10:00,55425.645000000004,25800.181,25800.181 +26-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +26-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +26-7-2019 13:00,32710.216000000004,15226.343,15226.343 +26-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +26-7-2019 15:00,21806.807,10150.888,10150.888 +26-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +26-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +26-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +26-7-2019 19:00,71780.74200000001,33413.347,33413.347 +26-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +26-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +26-7-2019 22:00,37253.304000000004,17341.104,17341.104 +26-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +27-7-2019 00:00,6360.321,2960.672,2960.672 +27-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +27-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +27-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +27-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +27-7-2019 05:00,6360.321,2960.672,2960.672 +27-7-2019 06:00,50882.568,23685.409,23685.409 +27-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +27-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +27-7-2019 09:00,77232.45200000002,35951.069,35951.069 +27-7-2019 10:00,55425.645000000004,25800.181,25800.181 +27-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +27-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +27-7-2019 13:00,32710.216000000004,15226.343,15226.343 +27-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +27-7-2019 15:00,21806.807,10150.888,10150.888 +27-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +27-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +27-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +27-7-2019 19:00,71780.74200000001,33413.347,33413.347 +27-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +27-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +27-7-2019 22:00,37253.304000000004,17341.104,17341.104 +27-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +28-7-2019 00:00,6360.321,2960.672,2960.672 +28-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +28-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +28-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +28-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +28-7-2019 05:00,6360.321,2960.672,2960.672 +28-7-2019 06:00,50882.568,23685.409,23685.409 +28-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +28-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +28-7-2019 09:00,77232.45200000002,35951.069,35951.069 +28-7-2019 10:00,55425.645000000004,25800.181,25800.181 +28-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +28-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +28-7-2019 13:00,32710.216000000004,15226.343,15226.343 +28-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +28-7-2019 15:00,21806.807,10150.888,10150.888 +28-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +28-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +28-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +28-7-2019 19:00,71780.74200000001,33413.347,33413.347 +28-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +28-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +28-7-2019 22:00,37253.304000000004,17341.104,17341.104 +28-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +29-7-2019 00:00,6360.321,2960.672,2960.672 +29-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +29-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +29-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +29-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +29-7-2019 05:00,6360.321,2960.672,2960.672 +29-7-2019 06:00,50882.568,23685.409,23685.409 +29-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +29-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +29-7-2019 09:00,77232.45200000002,35951.069,35951.069 +29-7-2019 10:00,55425.645000000004,25800.181,25800.181 +29-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +29-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +29-7-2019 13:00,32710.216000000004,15226.343,15226.343 +29-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +29-7-2019 15:00,21806.807,10150.888,10150.888 +29-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +29-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +29-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +29-7-2019 19:00,71780.74200000001,33413.347,33413.347 +29-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +29-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +29-7-2019 22:00,37253.304000000004,17341.104,17341.104 +29-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +30-7-2019 00:00,6360.321,2960.672,2960.672 +30-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +30-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +30-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +30-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +30-7-2019 05:00,6360.321,2960.672,2960.672 +30-7-2019 06:00,50882.568,23685.409,23685.409 +30-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +30-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +30-7-2019 09:00,77232.45200000002,35951.069,35951.069 +30-7-2019 10:00,55425.645000000004,25800.181,25800.181 +30-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +30-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +30-7-2019 13:00,32710.216000000004,15226.343,15226.343 +30-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +30-7-2019 15:00,21806.807,10150.888,10150.888 +30-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +30-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +30-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +30-7-2019 19:00,71780.74200000001,33413.347,33413.347 +30-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +30-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +30-7-2019 22:00,37253.304000000004,17341.104,17341.104 +30-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +31-7-2019 00:00,6360.321,2960.672,2960.672 +31-7-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +31-7-2019 02:00,908.171,422.74100000000004,422.74100000000004 +31-7-2019 03:00,908.171,422.74100000000004,422.74100000000004 +31-7-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +31-7-2019 05:00,6360.321,2960.672,2960.672 +31-7-2019 06:00,50882.568,23685.409,23685.409 +31-7-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +31-7-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +31-7-2019 09:00,77232.45200000002,35951.069,35951.069 +31-7-2019 10:00,55425.645000000004,25800.181,25800.181 +31-7-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +31-7-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +31-7-2019 13:00,32710.216000000004,15226.343,15226.343 +31-7-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +31-7-2019 15:00,21806.807,10150.888,10150.888 +31-7-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +31-7-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +31-7-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +31-7-2019 19:00,71780.74200000001,33413.347,33413.347 +31-7-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +31-7-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +31-7-2019 22:00,37253.304000000004,17341.104,17341.104 +31-7-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +1-8-2019 00:00,6360.321,2960.672,2960.672 +1-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +1-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +1-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +1-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +1-8-2019 05:00,6360.321,2960.672,2960.672 +1-8-2019 06:00,50882.568,23685.409,23685.409 +1-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +1-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +1-8-2019 09:00,77232.45200000002,35951.069,35951.069 +1-8-2019 10:00,55425.645000000004,25800.181,25800.181 +1-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +1-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +1-8-2019 13:00,32710.216000000004,15226.343,15226.343 +1-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +1-8-2019 15:00,21806.807,10150.888,10150.888 +1-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +1-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +1-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +1-8-2019 19:00,71780.74200000001,33413.347,33413.347 +1-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +1-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +1-8-2019 22:00,37253.304000000004,17341.104,17341.104 +1-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +2-8-2019 00:00,6360.321,2960.672,2960.672 +2-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +2-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +2-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +2-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +2-8-2019 05:00,6360.321,2960.672,2960.672 +2-8-2019 06:00,50882.568,23685.409,23685.409 +2-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +2-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +2-8-2019 09:00,77232.45200000002,35951.069,35951.069 +2-8-2019 10:00,55425.645000000004,25800.181,25800.181 +2-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +2-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +2-8-2019 13:00,32710.216000000004,15226.343,15226.343 +2-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +2-8-2019 15:00,21806.807,10150.888,10150.888 +2-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +2-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +2-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +2-8-2019 19:00,71780.74200000001,33413.347,33413.347 +2-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +2-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +2-8-2019 22:00,37253.304000000004,17341.104,17341.104 +2-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +3-8-2019 00:00,6360.321,2960.672,2960.672 +3-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +3-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +3-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +3-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +3-8-2019 05:00,6360.321,2960.672,2960.672 +3-8-2019 06:00,50882.568,23685.409,23685.409 +3-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +3-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +3-8-2019 09:00,77232.45200000002,35951.069,35951.069 +3-8-2019 10:00,55425.645000000004,25800.181,25800.181 +3-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +3-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +3-8-2019 13:00,32710.216000000004,15226.343,15226.343 +3-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +3-8-2019 15:00,21806.807,10150.888,10150.888 +3-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +3-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +3-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +3-8-2019 19:00,71780.74200000001,33413.347,33413.347 +3-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +3-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +3-8-2019 22:00,37253.304000000004,17341.104,17341.104 +3-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +4-8-2019 00:00,6360.321,2960.672,2960.672 +4-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +4-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +4-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +4-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +4-8-2019 05:00,6360.321,2960.672,2960.672 +4-8-2019 06:00,50882.568,23685.409,23685.409 +4-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +4-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +4-8-2019 09:00,77232.45200000002,35951.069,35951.069 +4-8-2019 10:00,55425.645000000004,25800.181,25800.181 +4-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +4-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +4-8-2019 13:00,32710.216000000004,15226.343,15226.343 +4-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +4-8-2019 15:00,21806.807,10150.888,10150.888 +4-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +4-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +4-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +4-8-2019 19:00,71780.74200000001,33413.347,33413.347 +4-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +4-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +4-8-2019 22:00,37253.304000000004,17341.104,17341.104 +4-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +5-8-2019 00:00,6360.321,2960.672,2960.672 +5-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +5-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +5-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +5-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +5-8-2019 05:00,6360.321,2960.672,2960.672 +5-8-2019 06:00,50882.568,23685.409,23685.409 +5-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +5-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +5-8-2019 09:00,77232.45200000002,35951.069,35951.069 +5-8-2019 10:00,55425.645000000004,25800.181,25800.181 +5-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +5-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +5-8-2019 13:00,32710.216000000004,15226.343,15226.343 +5-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +5-8-2019 15:00,21806.807,10150.888,10150.888 +5-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +5-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +5-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +5-8-2019 19:00,71780.74200000001,33413.347,33413.347 +5-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +5-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +5-8-2019 22:00,37253.304000000004,17341.104,17341.104 +5-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +6-8-2019 00:00,6360.321,2960.672,2960.672 +6-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +6-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +6-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +6-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +6-8-2019 05:00,6360.321,2960.672,2960.672 +6-8-2019 06:00,50882.568,23685.409,23685.409 +6-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +6-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +6-8-2019 09:00,77232.45200000002,35951.069,35951.069 +6-8-2019 10:00,55425.645000000004,25800.181,25800.181 +6-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +6-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +6-8-2019 13:00,32710.216000000004,15226.343,15226.343 +6-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +6-8-2019 15:00,21806.807,10150.888,10150.888 +6-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +6-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +6-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +6-8-2019 19:00,71780.74200000001,33413.347,33413.347 +6-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +6-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +6-8-2019 22:00,37253.304000000004,17341.104,17341.104 +6-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +7-8-2019 00:00,6360.321,2960.672,2960.672 +7-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +7-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +7-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +7-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +7-8-2019 05:00,6360.321,2960.672,2960.672 +7-8-2019 06:00,50882.568,23685.409,23685.409 +7-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +7-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +7-8-2019 09:00,77232.45200000002,35951.069,35951.069 +7-8-2019 10:00,55425.645000000004,25800.181,25800.181 +7-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +7-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +7-8-2019 13:00,32710.216000000004,15226.343,15226.343 +7-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +7-8-2019 15:00,21806.807,10150.888,10150.888 +7-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +7-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +7-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +7-8-2019 19:00,71780.74200000001,33413.347,33413.347 +7-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +7-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +7-8-2019 22:00,37253.304000000004,17341.104,17341.104 +7-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +8-8-2019 00:00,6360.321,2960.672,2960.672 +8-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +8-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +8-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +8-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +8-8-2019 05:00,6360.321,2960.672,2960.672 +8-8-2019 06:00,50882.568,23685.409,23685.409 +8-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +8-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +8-8-2019 09:00,77232.45200000002,35951.069,35951.069 +8-8-2019 10:00,55425.645000000004,25800.181,25800.181 +8-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +8-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +8-8-2019 13:00,32710.216000000004,15226.343,15226.343 +8-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +8-8-2019 15:00,21806.807,10150.888,10150.888 +8-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +8-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +8-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +8-8-2019 19:00,71780.74200000001,33413.347,33413.347 +8-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +8-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +8-8-2019 22:00,37253.304000000004,17341.104,17341.104 +8-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +9-8-2019 00:00,6360.321,2960.672,2960.672 +9-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +9-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +9-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +9-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +9-8-2019 05:00,6360.321,2960.672,2960.672 +9-8-2019 06:00,50882.568,23685.409,23685.409 +9-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +9-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +9-8-2019 09:00,77232.45200000002,35951.069,35951.069 +9-8-2019 10:00,55425.645000000004,25800.181,25800.181 +9-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +9-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +9-8-2019 13:00,32710.216000000004,15226.343,15226.343 +9-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +9-8-2019 15:00,21806.807,10150.888,10150.888 +9-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +9-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +9-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +9-8-2019 19:00,71780.74200000001,33413.347,33413.347 +9-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +9-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +9-8-2019 22:00,37253.304000000004,17341.104,17341.104 +9-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +10-8-2019 00:00,6360.321,2960.672,2960.672 +10-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +10-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +10-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +10-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +10-8-2019 05:00,6360.321,2960.672,2960.672 +10-8-2019 06:00,50882.568,23685.409,23685.409 +10-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +10-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +10-8-2019 09:00,77232.45200000002,35951.069,35951.069 +10-8-2019 10:00,55425.645000000004,25800.181,25800.181 +10-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +10-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +10-8-2019 13:00,32710.216000000004,15226.343,15226.343 +10-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +10-8-2019 15:00,21806.807,10150.888,10150.888 +10-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +10-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +10-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +10-8-2019 19:00,71780.74200000001,33413.347,33413.347 +10-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +10-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +10-8-2019 22:00,37253.304000000004,17341.104,17341.104 +10-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +11-8-2019 00:00,6360.321,2960.672,2960.672 +11-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +11-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +11-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +11-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +11-8-2019 05:00,6360.321,2960.672,2960.672 +11-8-2019 06:00,50882.568,23685.409,23685.409 +11-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +11-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +11-8-2019 09:00,77232.45200000002,35951.069,35951.069 +11-8-2019 10:00,55425.645000000004,25800.181,25800.181 +11-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +11-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +11-8-2019 13:00,32710.216000000004,15226.343,15226.343 +11-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +11-8-2019 15:00,21806.807,10150.888,10150.888 +11-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +11-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +11-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +11-8-2019 19:00,71780.74200000001,33413.347,33413.347 +11-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +11-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +11-8-2019 22:00,37253.304000000004,17341.104,17341.104 +11-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +12-8-2019 00:00,6360.321,2960.672,2960.672 +12-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +12-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +12-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +12-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +12-8-2019 05:00,6360.321,2960.672,2960.672 +12-8-2019 06:00,50882.568,23685.409,23685.409 +12-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +12-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +12-8-2019 09:00,77232.45200000002,35951.069,35951.069 +12-8-2019 10:00,55425.645000000004,25800.181,25800.181 +12-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +12-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +12-8-2019 13:00,32710.216000000004,15226.343,15226.343 +12-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +12-8-2019 15:00,21806.807,10150.888,10150.888 +12-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +12-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +12-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +12-8-2019 19:00,71780.74200000001,33413.347,33413.347 +12-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +12-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +12-8-2019 22:00,37253.304000000004,17341.104,17341.104 +12-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +13-8-2019 00:00,6360.321,2960.672,2960.672 +13-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +13-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +13-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +13-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +13-8-2019 05:00,6360.321,2960.672,2960.672 +13-8-2019 06:00,50882.568,23685.409,23685.409 +13-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +13-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +13-8-2019 09:00,77232.45200000002,35951.069,35951.069 +13-8-2019 10:00,55425.645000000004,25800.181,25800.181 +13-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +13-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +13-8-2019 13:00,32710.216000000004,15226.343,15226.343 +13-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +13-8-2019 15:00,21806.807,10150.888,10150.888 +13-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +13-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +13-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +13-8-2019 19:00,71780.74200000001,33413.347,33413.347 +13-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +13-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +13-8-2019 22:00,37253.304000000004,17341.104,17341.104 +13-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +14-8-2019 00:00,6360.321,2960.672,2960.672 +14-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +14-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +14-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +14-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +14-8-2019 05:00,6360.321,2960.672,2960.672 +14-8-2019 06:00,50882.568,23685.409,23685.409 +14-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +14-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +14-8-2019 09:00,77232.45200000002,35951.069,35951.069 +14-8-2019 10:00,55425.645000000004,25800.181,25800.181 +14-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +14-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +14-8-2019 13:00,32710.216000000004,15226.343,15226.343 +14-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +14-8-2019 15:00,21806.807,10150.888,10150.888 +14-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +14-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +14-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +14-8-2019 19:00,71780.74200000001,33413.347,33413.347 +14-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +14-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +14-8-2019 22:00,37253.304000000004,17341.104,17341.104 +14-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +15-8-2019 00:00,6360.321,2960.672,2960.672 +15-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +15-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +15-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +15-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +15-8-2019 05:00,6360.321,2960.672,2960.672 +15-8-2019 06:00,50882.568,23685.409,23685.409 +15-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +15-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +15-8-2019 09:00,77232.45200000002,35951.069,35951.069 +15-8-2019 10:00,55425.645000000004,25800.181,25800.181 +15-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +15-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +15-8-2019 13:00,32710.216000000004,15226.343,15226.343 +15-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +15-8-2019 15:00,21806.807,10150.888,10150.888 +15-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +15-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +15-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +15-8-2019 19:00,71780.74200000001,33413.347,33413.347 +15-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +15-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +15-8-2019 22:00,37253.304000000004,17341.104,17341.104 +15-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +16-8-2019 00:00,6360.321,2960.672,2960.672 +16-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +16-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +16-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +16-8-2019 04:00,2981.6820000000002,1387.9470000000001,1387.9470000000001 +16-8-2019 05:00,8010.563000000001,3728.8460000000005,3728.8460000000005 +16-8-2019 06:00,50882.568,23685.409,23685.409 +16-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +16-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +16-8-2019 09:00,77232.45200000002,35951.069,35951.069 +16-8-2019 10:00,55425.645000000004,25800.181,25800.181 +16-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +16-8-2019 12:00,45160.302,21021.748000000003,21021.748000000003 +16-8-2019 13:00,32710.216000000004,15226.343,15226.343 +16-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +16-8-2019 15:00,21806.807,10150.888,10150.888 +16-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +16-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +16-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +16-8-2019 19:00,71780.74200000001,33413.347,33413.347 +16-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +16-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +16-8-2019 22:00,37253.304000000004,17341.104,17341.104 +16-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +17-8-2019 00:00,6360.321,2960.672,2960.672 +17-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +17-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +17-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +17-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +17-8-2019 05:00,6360.321,2960.672,2960.672 +17-8-2019 06:00,50882.568,23685.409,23685.409 +17-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +17-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +17-8-2019 09:00,85787.88900000001,39933.564,39933.564 +17-8-2019 10:00,55425.645000000004,25800.181,25800.181 +17-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +17-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +17-8-2019 13:00,32710.216000000004,15226.343,15226.343 +17-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +17-8-2019 15:00,21806.807,10150.888,10150.888 +17-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +17-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +17-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +17-8-2019 19:00,71780.74200000001,33413.347,33413.347 +17-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +17-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +17-8-2019 22:00,37253.304000000004,17341.104,17341.104 +17-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +18-8-2019 00:00,6360.321,2960.672,2960.672 +18-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +18-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +18-8-2019 03:00,1515.7120000000002,705.551,705.551 +18-8-2019 04:00,3223.7810000000004,1500.642,1500.642 +18-8-2019 05:00,7725.916000000001,3596.351,3596.351 +18-8-2019 06:00,51399.194,23925.902000000002,23925.902000000002 +18-8-2019 07:00,84814.15800000001,39480.298,39480.298 +18-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +18-8-2019 09:00,94565.174,44019.316,44019.316 +18-8-2019 10:00,55425.645000000004,25800.181,25800.181 +18-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +18-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +18-8-2019 13:00,32710.216000000004,15226.343,15226.343 +18-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +18-8-2019 15:00,21806.807,10150.888,10150.888 +18-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +18-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +18-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +18-8-2019 19:00,71780.74200000001,33413.347,33413.347 +18-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +18-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +18-8-2019 22:00,37253.304000000004,17341.104,17341.104 +18-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +19-8-2019 00:00,6360.321,2960.672,2960.672 +19-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +19-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +19-8-2019 03:00,2153.0080000000003,1002.2100000000002,1002.2100000000002 +19-8-2019 04:00,3568.3450000000003,1661.0330000000001,1661.0330000000001 +19-8-2019 05:00,8061.251,3752.4520000000007,3752.4520000000007 +19-8-2019 06:00,50882.568,23685.409,23685.409 +19-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +19-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +19-8-2019 09:00,77232.45200000002,35951.069,35951.069 +19-8-2019 10:00,55425.645000000004,25800.181,25800.181 +19-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +19-8-2019 12:00,41492.80300000001,19314.559,19314.559 +19-8-2019 13:00,32710.216000000004,15226.343,15226.343 +19-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +19-8-2019 15:00,21806.807,10150.888,10150.888 +19-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +19-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +19-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +19-8-2019 19:00,71780.74200000001,33413.347,33413.347 +19-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +19-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +19-8-2019 22:00,37253.304000000004,17341.104,17341.104 +19-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +20-8-2019 00:00,6360.321,2960.672,2960.672 +20-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +20-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +20-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +20-8-2019 04:00,3471.3360000000007,1615.8780000000002,1615.8780000000002 +20-8-2019 05:00,8200.687,3817.3520000000003,3817.3520000000003 +20-8-2019 06:00,50882.568,23685.409,23685.409 +20-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +20-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +20-8-2019 09:00,77232.45200000002,35951.069,35951.069 +20-8-2019 10:00,55425.645000000004,25800.181,25800.181 +20-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +20-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +20-8-2019 13:00,32710.216000000004,15226.343,15226.343 +20-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +20-8-2019 15:00,21806.807,10150.888,10150.888 +20-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +20-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +20-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +20-8-2019 19:00,71780.74200000001,33413.347,33413.347 +20-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +20-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +20-8-2019 22:00,37253.304000000004,17341.104,17341.104 +20-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +21-8-2019 00:00,6360.321,2960.672,2960.672 +21-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +21-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +21-8-2019 03:00,3255.021,1515.1840000000002,1515.1840000000002 +21-8-2019 04:00,4448.543000000001,2070.761,2070.761 +21-8-2019 05:00,8777.934000000001,4086.0490000000004,4086.0490000000004 +21-8-2019 06:00,52562.818,24467.564000000002,24467.564000000002 +21-8-2019 07:00,100420.18800000001,46744.775,46744.775 +21-8-2019 08:00,68913.10800000001,32078.486,32078.486 +21-8-2019 09:00,77232.45200000002,35951.069,35951.069 +21-8-2019 10:00,55425.645000000004,25800.181,25800.181 +21-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +21-8-2019 12:00,42712.087,19882.126,19882.126 +21-8-2019 13:00,32710.216000000004,15226.343,15226.343 +21-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +21-8-2019 15:00,21806.807,10150.888,10150.888 +21-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +21-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +21-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +21-8-2019 19:00,71780.74200000001,33413.347,33413.347 +21-8-2019 20:00,63644.28400000001,29625.893000000004,29625.893000000004 +21-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +21-8-2019 22:00,37253.304000000004,17341.104,17341.104 +21-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +22-8-2019 00:00,6360.321,2960.672,2960.672 +22-8-2019 01:00,4247.265,1977.063,1977.063 +22-8-2019 02:00,3468.8610000000003,1614.7230000000002,1614.7230000000002 +22-8-2019 03:00,3543.7380000000003,1649.582,1649.582 +22-8-2019 04:00,4502.1900000000005,2095.731,2095.731 +22-8-2019 05:00,21604.825,10056.871000000001,10056.871000000001 +22-8-2019 06:00,63909.329000000005,29749.269000000004,29749.269000000004 +22-8-2019 07:00,143960.28900000002,67012.341,67012.341 +22-8-2019 08:00,112870.59300000001,52540.345,52540.345 +22-8-2019 09:00,77232.45200000002,35951.069,35951.069 +22-8-2019 10:00,55425.645000000004,25800.181,25800.181 +22-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +22-8-2019 12:00,65410.45500000001,30448.033,30448.033 +22-8-2019 13:00,32710.216000000004,15226.343,15226.343 +22-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +22-8-2019 15:00,21806.807,10150.888,10150.888 +22-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +22-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +22-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +22-8-2019 19:00,71780.74200000001,33413.347,33413.347 +22-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +22-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +22-8-2019 22:00,37253.304000000004,17341.104,17341.104 +22-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +23-8-2019 00:00,6360.321,2960.672,2960.672 +23-8-2019 01:00,4356.385,2027.861,2027.861 +23-8-2019 02:00,3414.697,1589.5110000000002,1589.5110000000002 +23-8-2019 03:00,3487.748,1623.5120000000002,1623.5120000000002 +23-8-2019 04:00,4858.161000000001,2261.435,2261.435 +23-8-2019 05:00,25065.7,11667.876,11667.876 +23-8-2019 06:00,64288.05900000001,29925.566000000003,29925.566000000003 +23-8-2019 07:00,154479.75400000002,71909.068,71909.068 +23-8-2019 08:00,128369.736,59755.069,59755.069 +23-8-2019 09:00,77232.45200000002,35951.069,35951.069 +23-8-2019 10:00,55425.645000000004,25800.181,25800.181 +23-8-2019 11:00,49098.808000000005,22855.085,22855.085 +23-8-2019 12:00,73969.929,34432.398,34432.398 +23-8-2019 13:00,32710.216000000004,15226.343,15226.343 +23-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +23-8-2019 15:00,21806.807,10150.888,10150.888 +23-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +23-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +23-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +23-8-2019 19:00,71780.74200000001,33413.347,33413.347 +23-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +23-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +23-8-2019 22:00,37253.304000000004,17341.104,17341.104 +23-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +24-8-2019 00:00,6360.321,2960.672,2960.672 +24-8-2019 01:00,4592.0160000000005,2137.5530000000003,2137.5530000000003 +24-8-2019 02:00,3080.429,1433.9160000000002,1433.9160000000002 +24-8-2019 03:00,3148.4750000000004,1465.585,1465.585 +24-8-2019 04:00,4155.448,1934.3280000000002,1934.3280000000002 +24-8-2019 05:00,20556.305,9568.79,9568.79 +24-8-2019 06:00,87454.136,40709.196,40709.196 +24-8-2019 07:00,205815.17000000004,95805.28100000002,95805.28100000002 +24-8-2019 08:00,69740.84700000001,32463.794000000005,32463.794000000005 +24-8-2019 09:00,91360.91800000002,42527.76,42527.76 +24-8-2019 10:00,55425.645000000004,25800.181,25800.181 +24-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +24-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +24-8-2019 13:00,32710.216000000004,15226.343,15226.343 +24-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +24-8-2019 15:00,21806.807,10150.888,10150.888 +24-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +24-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +24-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +24-8-2019 19:00,71780.74200000001,33413.347,33413.347 +24-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +24-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +24-8-2019 22:00,37253.304000000004,17341.104,17341.104 +24-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +25-8-2019 00:00,6360.321,2960.672,2960.672 +25-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +25-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +25-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +25-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +25-8-2019 05:00,6360.321,2960.672,2960.672 +25-8-2019 06:00,51254.12600000001,23858.373000000003,23858.373000000003 +25-8-2019 07:00,92421.70300000001,43021.55,43021.55 +25-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +25-8-2019 09:00,91201.78100000002,42453.697,42453.697 +25-8-2019 10:00,55425.645000000004,25800.181,25800.181 +25-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +25-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +25-8-2019 13:00,32710.216000000004,15226.343,15226.343 +25-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +25-8-2019 15:00,21806.807,10150.888,10150.888 +25-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +25-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +25-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +25-8-2019 19:00,71780.74200000001,33413.347,33413.347 +25-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +25-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +25-8-2019 22:00,37253.304000000004,17341.104,17341.104 +25-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +26-8-2019 00:00,6360.321,2960.672,2960.672 +26-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +26-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +26-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +26-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +26-8-2019 05:00,6360.321,2960.672,2960.672 +26-8-2019 06:00,50882.568,23685.409,23685.409 +26-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +26-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +26-8-2019 09:00,77232.45200000002,35951.069,35951.069 +26-8-2019 10:00,55425.645000000004,25800.181,25800.181 +26-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +26-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +26-8-2019 13:00,32710.216000000004,15226.343,15226.343 +26-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +26-8-2019 15:00,21806.807,10150.888,10150.888 +26-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +26-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +26-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +26-8-2019 19:00,71780.74200000001,33413.347,33413.347 +26-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +26-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +26-8-2019 22:00,37253.304000000004,17341.104,17341.104 +26-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +27-8-2019 00:00,6360.321,2960.672,2960.672 +27-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +27-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +27-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +27-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +27-8-2019 05:00,6360.321,2960.672,2960.672 +27-8-2019 06:00,50882.568,23685.409,23685.409 +27-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +27-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +27-8-2019 09:00,77232.45200000002,35951.069,35951.069 +27-8-2019 10:00,55425.645000000004,25800.181,25800.181 +27-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +27-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +27-8-2019 13:00,32710.216000000004,15226.343,15226.343 +27-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +27-8-2019 15:00,21806.807,10150.888,10150.888 +27-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +27-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +27-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +27-8-2019 19:00,71780.74200000001,33413.347,33413.347 +27-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +27-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +27-8-2019 22:00,37253.304000000004,17341.104,17341.104 +27-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +28-8-2019 00:00,6360.321,2960.672,2960.672 +28-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +28-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +28-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +28-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +28-8-2019 05:00,6360.321,2960.672,2960.672 +28-8-2019 06:00,50882.568,23685.409,23685.409 +28-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +28-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +28-8-2019 09:00,77232.45200000002,35951.069,35951.069 +28-8-2019 10:00,55425.645000000004,25800.181,25800.181 +28-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +28-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +28-8-2019 13:00,32710.216000000004,15226.343,15226.343 +28-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +28-8-2019 15:00,21806.807,10150.888,10150.888 +28-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +28-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +28-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +28-8-2019 19:00,71780.74200000001,33413.347,33413.347 +28-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +28-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +28-8-2019 22:00,37253.304000000004,17341.104,17341.104 +28-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +29-8-2019 00:00,6360.321,2960.672,2960.672 +29-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +29-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +29-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +29-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +29-8-2019 05:00,6360.321,2960.672,2960.672 +29-8-2019 06:00,50882.568,23685.409,23685.409 +29-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +29-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +29-8-2019 09:00,77232.45200000002,35951.069,35951.069 +29-8-2019 10:00,55425.645000000004,25800.181,25800.181 +29-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +29-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +29-8-2019 13:00,32710.216000000004,15226.343,15226.343 +29-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +29-8-2019 15:00,21806.807,10150.888,10150.888 +29-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +29-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +29-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +29-8-2019 19:00,71780.74200000001,33413.347,33413.347 +29-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +29-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +29-8-2019 22:00,37253.304000000004,17341.104,17341.104 +29-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +30-8-2019 00:00,6360.321,2960.672,2960.672 +30-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +30-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +30-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +30-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +30-8-2019 05:00,6360.321,2960.672,2960.672 +30-8-2019 06:00,50882.568,23685.409,23685.409 +30-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +30-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +30-8-2019 09:00,77232.45200000002,35951.069,35951.069 +30-8-2019 10:00,55425.645000000004,25800.181,25800.181 +30-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +30-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +30-8-2019 13:00,32710.216000000004,15226.343,15226.343 +30-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +30-8-2019 15:00,21806.807,10150.888,10150.888 +30-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +30-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +30-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +30-8-2019 19:00,71780.74200000001,33413.347,33413.347 +30-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +30-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +30-8-2019 22:00,37253.304000000004,17341.104,17341.104 +30-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +31-8-2019 00:00,6360.321,2960.672,2960.672 +31-8-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +31-8-2019 02:00,908.171,422.74100000000004,422.74100000000004 +31-8-2019 03:00,908.171,422.74100000000004,422.74100000000004 +31-8-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +31-8-2019 05:00,6360.321,2960.672,2960.672 +31-8-2019 06:00,50882.568,23685.409,23685.409 +31-8-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +31-8-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +31-8-2019 09:00,80197.13900000001,37331.118,37331.118 +31-8-2019 10:00,55425.645000000004,25800.181,25800.181 +31-8-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +31-8-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +31-8-2019 13:00,32710.216000000004,15226.343,15226.343 +31-8-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +31-8-2019 15:00,21806.807,10150.888,10150.888 +31-8-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +31-8-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +31-8-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +31-8-2019 19:00,71780.74200000001,33413.347,33413.347 +31-8-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +31-8-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +31-8-2019 22:00,37253.304000000004,17341.104,17341.104 +31-8-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +1-9-2019 00:00,6360.321,2960.672,2960.672 +1-9-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +1-9-2019 02:00,908.171,422.74100000000004,422.74100000000004 +1-9-2019 03:00,908.171,422.74100000000004,422.74100000000004 +1-9-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +1-9-2019 05:00,6360.321,2960.672,2960.672 +1-9-2019 06:00,50882.568,23685.409,23685.409 +1-9-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +1-9-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +1-9-2019 09:00,77232.45200000002,35951.069,35951.069 +1-9-2019 10:00,55425.645000000004,25800.181,25800.181 +1-9-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +1-9-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +1-9-2019 13:00,32710.216000000004,15226.343,15226.343 +1-9-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +1-9-2019 15:00,21806.807,10150.888,10150.888 +1-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +1-9-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +1-9-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +1-9-2019 19:00,71780.74200000001,33413.347,33413.347 +1-9-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +1-9-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +1-9-2019 22:00,37253.304000000004,17341.104,17341.104 +1-9-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +2-9-2019 00:00,6360.321,2960.672,2960.672 +2-9-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +2-9-2019 02:00,908.171,422.74100000000004,422.74100000000004 +2-9-2019 03:00,908.171,422.74100000000004,422.74100000000004 +2-9-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +2-9-2019 05:00,6360.321,2960.672,2960.672 +2-9-2019 06:00,50882.568,23685.409,23685.409 +2-9-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +2-9-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +2-9-2019 09:00,77232.45200000002,35951.069,35951.069 +2-9-2019 10:00,55425.645000000004,25800.181,25800.181 +2-9-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +2-9-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +2-9-2019 13:00,32710.216000000004,15226.343,15226.343 +2-9-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +2-9-2019 15:00,21806.807,10150.888,10150.888 +2-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +2-9-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +2-9-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +2-9-2019 19:00,71780.74200000001,33413.347,33413.347 +2-9-2019 20:00,63603.18800000001,29606.764000000003,29606.764000000003 +2-9-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +2-9-2019 22:00,37253.304000000004,17341.104,17341.104 +2-9-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +3-9-2019 00:00,6360.321,2960.672,2960.672 +3-9-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +3-9-2019 02:00,908.171,422.74100000000004,422.74100000000004 +3-9-2019 03:00,908.171,422.74100000000004,422.74100000000004 +3-9-2019 04:00,1817.2330000000002,845.9110000000001,845.9110000000001 +3-9-2019 05:00,6360.321,2960.672,2960.672 +3-9-2019 06:00,50882.568,23685.409,23685.409 +3-9-2019 07:00,84501.395,39334.702000000005,39334.702000000005 +3-9-2019 08:00,65420.43200000001,30452.675000000003,30452.675000000003 +3-9-2019 09:00,77232.45200000002,35951.069,35951.069 +3-9-2019 10:00,55425.645000000004,25800.181,25800.181 +3-9-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +3-9-2019 12:00,44478.90700000001,20704.563000000002,20704.563000000002 +3-9-2019 13:00,32710.216000000004,15226.343,15226.343 +3-9-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +3-9-2019 15:00,21806.807,10150.888,10150.888 +3-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +3-9-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +3-9-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +3-9-2019 19:00,71780.74200000001,33413.347,33413.347 +3-9-2019 20:00,64597.55500000001,30069.633,30069.633 +3-9-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +3-9-2019 22:00,37253.304000000004,17341.104,17341.104 +3-9-2019 23:00,18172.352000000003,8459.077000000001,8459.077000000001 +4-9-2019 00:00,6360.321,2960.672,2960.672 +4-9-2019 01:00,3634.4660000000003,1691.8110000000001,1691.8110000000001 +4-9-2019 02:00,1795.8930000000003,835.9780000000001,835.9780000000001 +4-9-2019 03:00,2290.3430000000003,1066.142,1066.142 +4-9-2019 04:00,3237.762,1507.1540000000002,1507.1540000000002 +4-9-2019 05:00,7897.373000000001,3676.1560000000004,3676.1560000000004 +4-9-2019 06:00,52197.51900000001,24297.515000000003,24297.515000000003 +4-9-2019 07:00,93925.68900000001,43721.645,43721.645 +4-9-2019 08:00,69782.273,32483.077,32483.077 +4-9-2019 09:00,77232.45200000002,35951.069,35951.069 +4-9-2019 10:00,55425.645000000004,25800.181,25800.181 +4-9-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +4-9-2019 12:00,61751.48100000001,28744.804,28744.804 +4-9-2019 13:00,32710.216000000004,15226.343,15226.343 +4-9-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +4-9-2019 15:00,21806.807,10150.888,10150.888 +4-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +4-9-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +4-9-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +4-9-2019 19:00,73670.058,34292.808000000005,34292.808000000005 +4-9-2019 20:00,71805.118,33424.699,33424.699 +4-9-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +4-9-2019 22:00,37253.304000000004,17341.104,17341.104 +4-9-2019 23:00,18868.278000000002,8783.027,8783.027 +5-9-2019 00:00,8225.118,3828.726,3828.726 +5-9-2019 01:00,5463.81,2543.3650000000002,2543.3650000000002 +5-9-2019 02:00,2675.4970000000003,1245.42,1245.42 +5-9-2019 03:00,2675.7720000000004,1245.5520000000001,1245.5520000000001 +5-9-2019 04:00,3622.938,1686.4540000000002,1686.4540000000002 +5-9-2019 05:00,10295.405999999999,4792.425,4792.425 +5-9-2019 06:00,59524.212,27708.032000000003,27708.032000000003 +5-9-2019 07:00,126980.183,59108.247,59108.247 +5-9-2019 08:00,83506.41200000001,38871.547,38871.547 +5-9-2019 09:00,77232.45200000002,35951.069,35951.069 +5-9-2019 10:00,55425.645000000004,25800.181,25800.181 +5-9-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +5-9-2019 12:00,62123.094000000005,28917.790000000005,28917.790000000005 +5-9-2019 13:00,32710.216000000004,15226.343,15226.343 +5-9-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +5-9-2019 15:00,21806.807,10150.888,10150.888 +5-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +5-9-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +5-9-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +5-9-2019 19:00,71780.74200000001,33413.347,33413.347 +5-9-2019 20:00,66183.92,30808.074000000004,30808.074000000004 +5-9-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +5-9-2019 22:00,37253.304000000004,17341.104,17341.104 +5-9-2019 23:00,18798.329,8750.467,8750.467 +6-9-2019 00:00,9265.179,4312.869000000001,4312.869000000001 +6-9-2019 01:00,6452.292,3003.495,3003.495 +6-9-2019 02:00,13583.097000000002,6322.822000000001,6322.822000000001 +6-9-2019 03:00,27828.427000000003,12953.908000000001,12953.908000000001 +6-9-2019 04:00,26804.844000000005,12477.432000000003,12477.432000000003 +6-9-2019 05:00,33721.270000000004,15696.978000000001,15696.978000000001 +6-9-2019 06:00,87970.11300000001,40949.37,40949.37 +6-9-2019 07:00,264205.194,122985.36800000002,122985.36800000002 +6-9-2019 08:00,277919.818,129369.41600000001,129369.41600000001 +6-9-2019 09:00,496092.34400000004,230926.96000000002,230926.96000000002 +6-9-2019 10:00,55425.645000000004,25800.181,25800.181 +6-9-2019 11:00,51615.014,24026.376,24026.376 +6-9-2019 12:00,97700.57,45478.818,45478.818 +6-9-2019 13:00,33181.478,15445.705,15445.705 +6-9-2019 14:00,37766.696,17580.09,17580.09 +6-9-2019 15:00,29645.88,13799.918,13799.918 +6-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +6-9-2019 17:00,42791.408,19919.053,19919.053 +6-9-2019 18:00,86083.97600000001,40071.383,40071.383 +6-9-2019 19:00,106853.59300000001,49739.481,49739.481 +6-9-2019 20:00,145647.64500000002,67797.796,67797.796 +6-9-2019 21:00,111076.77900000001,51705.335,51705.335 +6-9-2019 22:00,39430.985,18354.798000000003,18354.798000000003 +6-9-2019 23:00,20333.071000000004,9464.873000000001,9464.873000000001 +7-9-2019 00:00,10241.341,4767.2570000000005,4767.2570000000005 +7-9-2019 01:00,20675.567000000003,9624.307000000003,9624.307000000003 +7-9-2019 02:00,27040.783,12587.267,12587.267 +7-9-2019 03:00,38337.233,17845.674000000003,17845.674000000003 +7-9-2019 04:00,47203.97,21973.061,21973.061 +7-9-2019 05:00,52625.30900000001,24496.648,24496.648 +7-9-2019 06:00,272709.69,126944.136,126944.136 +7-9-2019 07:00,585983.42,272770.498,272770.498 +7-9-2019 08:00,438144.036,203952.45200000002,203952.45200000002 +7-9-2019 09:00,646946.696,301148.43,301148.43 +7-9-2019 10:00,112133.79100000001,52197.365000000005,52197.365000000005 +7-9-2019 11:00,51401.05300000001,23926.771000000004,23926.771000000004 +7-9-2019 12:00,50948.26,23716.000000000004,23716.000000000004 +7-9-2019 13:00,35171.862,16372.213000000002,16372.213000000002 +7-9-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +7-9-2019 15:00,21806.807,10150.888,10150.888 +7-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +7-9-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +7-9-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +7-9-2019 19:00,77819.423,36224.32,36224.32 +7-9-2019 20:00,77049.005,35865.687,35865.687 +7-9-2019 21:00,54748.133,25484.811,25484.811 +7-9-2019 22:00,39679.244000000006,18470.364000000005,18470.364000000005 +7-9-2019 23:00,20633.536,9604.749000000002,9604.749000000002 +8-9-2019 00:00,19464.555,9060.59,9060.59 +8-9-2019 01:00,29718.370000000003,13833.655,13833.655 +8-9-2019 02:00,36584.427,17029.749,17029.749 +8-9-2019 03:00,57815.164000000004,26912.490000000005,26912.490000000005 +8-9-2019 04:00,59966.55500000001,27913.941000000003,27913.941000000003 +8-9-2019 05:00,69344.47300000001,32279.291000000005,32279.291000000005 +8-9-2019 06:00,378764.93600000005,176311.98200000002,176311.98200000002 +8-9-2019 07:00,637560.22,296779.12000000005,296779.12000000005 +8-9-2019 08:00,407978.47200000007,189910.64400000003,189910.64400000003 +8-9-2019 09:00,571639.552,266093.542,266093.542 +8-9-2019 10:00,100785.63,46914.89000000001,46914.89000000001 +8-9-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +8-9-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +8-9-2019 13:00,32710.216000000004,15226.343,15226.343 +8-9-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +8-9-2019 15:00,21806.807,10150.888,10150.888 +8-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +8-9-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +8-9-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +8-9-2019 19:00,71780.74200000001,33413.347,33413.347 +8-9-2019 20:00,71293.22200000001,33186.417,33186.417 +8-9-2019 21:00,52699.79000000001,24531.320000000003,24531.320000000003 +8-9-2019 22:00,37253.304000000004,17341.104,17341.104 +8-9-2019 23:00,20801.968000000004,9683.146,9683.146 +9-9-2019 00:00,14335.53,6673.073000000001,6673.073000000001 +9-9-2019 01:00,41479.141,19308.201,19308.201 +9-9-2019 02:00,63001.45500000001,29326.66,29326.66 +9-9-2019 03:00,118498.215,55159.962,55159.962 +9-9-2019 04:00,159016.891,74021.057,74021.057 +9-9-2019 05:00,164541.02500000002,76592.494,76592.494 +9-9-2019 06:00,372229.792,173269.921,173269.921 +9-9-2019 07:00,577462.8640000001,268804.25,268804.25 +9-9-2019 08:00,456362.412,212432.96800000002,212432.96800000002 +9-9-2019 09:00,819535.8160000001,381487.216,381487.216 +9-9-2019 10:00,55425.645000000004,25800.181,25800.181 +9-9-2019 11:00,52604.618,24487.023,24487.023 +9-9-2019 12:00,99338.15100000001,46241.096000000005,46241.096000000005 +9-9-2019 13:00,34315.655,15973.661000000002,15973.661000000002 +9-9-2019 14:00,39161.859000000004,18229.530000000002,18229.530000000002 +9-9-2019 15:00,28556.11,13292.631,13292.631 +9-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +9-9-2019 17:00,60967.775,28380.000000000004,28380.000000000004 +9-9-2019 18:00,132459.23900000003,61658.70700000001,61658.70700000001 +9-9-2019 19:00,384252.08800000005,178866.20400000003,178866.20400000003 +9-9-2019 20:00,659870.6400000001,307164.396,307164.396 +9-9-2019 21:00,370688.912,172552.67700000003,172552.67700000003 +9-9-2019 22:00,57233.95700000001,26641.934,26641.934 +9-9-2019 23:00,66756.61300000001,31074.659,31074.659 +10-9-2019 00:00,105782.87500000001,49241.071,49241.071 +10-9-2019 01:00,163564.20300000004,76137.80900000001,76137.80900000001 +10-9-2019 02:00,170325.034,79284.92,79284.92 +10-9-2019 03:00,177627.967,82684.37100000001,82684.37100000001 +10-9-2019 04:00,171015.405,79606.28500000002,79606.28500000002 +10-9-2019 05:00,178227.643,82963.507,82963.507 +10-9-2019 06:00,762417.128,354898.94000000006,354898.94000000006 +10-9-2019 07:00,1027954.4000000001,478504.4,478504.4 +10-9-2019 08:00,1376866.568,640920.1480000002,640920.1480000002 +10-9-2019 09:00,1426217.2320000003,663892.5040000001,663892.5040000001 +10-9-2019 10:00,55425.645000000004,25800.181,25800.181 +10-9-2019 11:00,68183.819,31739.004,31739.004 +10-9-2019 12:00,111059.971,51697.514,51697.514 +10-9-2019 13:00,52942.065,24644.103000000003,24644.103000000003 +10-9-2019 14:00,102482.391,47704.723000000005,47704.723000000005 +10-9-2019 15:00,43705.563,20344.588000000003,20344.588000000003 +10-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +10-9-2019 17:00,234927.50600000002,109356.841,109356.841 +10-9-2019 18:00,246729.208,114850.428,114850.428 +10-9-2019 19:00,501523.96800000005,233455.31000000003,233455.31000000003 +10-9-2019 20:00,739424.0480000001,344195.83,344195.83 +10-9-2019 21:00,425315.92400000006,197981.102,197981.102 +10-9-2019 22:00,75043.166,34931.985,34931.985 +10-9-2019 23:00,87205.338,40593.366,40593.366 +11-9-2019 00:00,134290.222,62510.99800000001,62510.99800000001 +11-9-2019 01:00,140938.68800000002,65605.815,65605.815 +11-9-2019 02:00,147822.499,68810.18100000001,68810.18100000001 +11-9-2019 03:00,136788.75100000002,63674.05,63674.05 +11-9-2019 04:00,119016.425,55401.181000000004,55401.181000000004 +11-9-2019 05:00,122488.08000000002,57017.213,57017.213 +11-9-2019 06:00,550261.976,256142.43600000005,256142.43600000005 +11-9-2019 07:00,814170.8960000001,378989.90800000005,378989.90800000005 +11-9-2019 08:00,1077765.4800000002,501690.992,501690.992 +11-9-2019 09:00,1220389.016,568081.096,568081.096 +11-9-2019 10:00,62065.971000000005,28891.203,28891.203 +11-9-2019 11:00,116552.29300000002,54254.145000000004,54254.145000000004 +11-9-2019 12:00,219694.35400000002,102265.922,102265.922 +11-9-2019 13:00,97015.40200000002,45159.87300000001,45159.87300000001 +11-9-2019 14:00,121508.882,56561.406,56561.406 +11-9-2019 15:00,91619.638,42648.199,42648.199 +11-9-2019 16:00,24618.979000000003,11459.932000000003,11459.932000000003 +11-9-2019 17:00,667334.6240000001,310638.81200000003,310638.81200000003 +11-9-2019 18:00,498548.42400000006,232070.23400000003,232070.23400000003 +11-9-2019 19:00,657305.2640000001,305970.23600000003,305970.23600000003 +11-9-2019 20:00,675796.924,314577.934,314577.934 +11-9-2019 21:00,353237.17000000004,164429.00100000002,164429.00100000002 +11-9-2019 22:00,66303.743,30863.844000000005,30863.844000000005 +11-9-2019 23:00,60571.31300000001,28195.453,28195.453 +12-9-2019 00:00,51432.645000000004,23941.467000000004,23941.467000000004 +12-9-2019 01:00,73097.244,34026.168000000005,34026.168000000005 +12-9-2019 02:00,81694.47,38028.111000000004,38028.111000000004 +12-9-2019 03:00,83555.86800000002,38894.57,38894.57 +12-9-2019 04:00,91006.33300000001,42362.70500000001,42362.70500000001 +12-9-2019 05:00,96610.23900000002,44971.289000000004,44971.289000000004 +12-9-2019 06:00,349735.03400000004,162798.823,162798.823 +12-9-2019 07:00,538820.5240000001,250816.56600000002,250816.56600000002 +12-9-2019 08:00,648066.0120000001,301669.5,301669.5 +12-9-2019 09:00,734558.3080000001,341930.90800000005,341930.90800000005 +12-9-2019 10:00,55425.645000000004,25800.181,25800.181 +12-9-2019 11:00,52123.467000000004,24263.041000000005,24263.041000000005 +12-9-2019 12:00,93740.713,43635.537000000004,43635.537000000004 +12-9-2019 13:00,32710.216000000004,15226.343,15226.343 +12-9-2019 14:00,34743.093,16172.629,16172.629 +12-9-2019 15:00,21806.807,10150.888,10150.888 +12-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +12-9-2019 17:00,40010.89400000001,18624.749000000003,18624.749000000003 +12-9-2019 18:00,74468.24,34664.355,34664.355 +12-9-2019 19:00,85055.60800000001,39592.696,39592.696 +12-9-2019 20:00,121440.803,56529.704000000005,56529.704000000005 +12-9-2019 21:00,96715.058,45020.074,45020.074 +12-9-2019 22:00,37253.304000000004,17341.104,17341.104 +12-9-2019 23:00,19073.791000000005,8878.694000000001,8878.694000000001 +13-9-2019 00:00,8241.926000000001,3836.5470000000005,3836.5470000000005 +13-9-2019 01:00,5509.7570000000005,2564.7490000000003,2564.7490000000003 +13-9-2019 02:00,3280.684,1527.13,1527.13 +13-9-2019 03:00,12931.204,6019.365,6019.365 +13-9-2019 04:00,17610.747000000003,8197.662,8197.662 +13-9-2019 05:00,33015.048,15368.232000000002,15368.232000000002 +13-9-2019 06:00,93492.861,43520.158,43520.158 +13-9-2019 07:00,240253.31000000003,111835.95500000002,111835.95500000002 +13-9-2019 08:00,255297.65800000002,118838.96200000001,118838.96200000001 +13-9-2019 09:00,486099.63600000006,226275.39,226275.39 +13-9-2019 10:00,55425.645000000004,25800.181,25800.181 +13-9-2019 11:00,51045.467000000004,23761.254,23761.254 +13-9-2019 12:00,85425.80200000001,39765.022,39765.022 +13-9-2019 13:00,33089.298,15402.794000000002,15402.794000000002 +13-9-2019 14:00,33518.078,15602.389000000001,15602.389000000001 +13-9-2019 15:00,28183.188000000006,13119.04,13119.04 +13-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +13-9-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +13-9-2019 18:00,74498.149,34678.281,34678.281 +13-9-2019 19:00,129941.88900000001,60486.888000000006,60486.888000000006 +13-9-2019 20:00,274780.484,127908.07700000002,127908.07700000002 +13-9-2019 21:00,245586.11000000002,114318.33600000001,114318.33600000001 +13-9-2019 22:00,40115.79000000001,18673.567000000003,18673.567000000003 +13-9-2019 23:00,30851.942000000003,14361.325,14361.325 +14-9-2019 00:00,44920.271,20910.021,20910.021 +14-9-2019 01:00,82160.573,38245.075000000004,38245.075000000004 +14-9-2019 02:00,140148.701,65238.08500000001,65238.08500000001 +14-9-2019 03:00,147807.583,68803.229,68803.229 +14-9-2019 04:00,156683.80200000003,72935.03800000002,72935.03800000002 +14-9-2019 05:00,164622.513,76630.433,76630.433 +14-9-2019 06:00,702300.5,326915.18200000003,326915.18200000003 +14-9-2019 07:00,1282555.2960000003,597018.9720000001,597018.9720000001 +14-9-2019 08:00,1076049.8320000002,500892.43600000005,500892.43600000005 +14-9-2019 09:00,1407989.2640000002,655407.456,655407.456 +14-9-2019 10:00,195035.08200000002,90787.24600000001,90787.24600000001 +14-9-2019 11:00,48876.993,22751.839000000004,22751.839000000004 +14-9-2019 12:00,46026.244000000006,21424.843000000004,21424.843000000004 +14-9-2019 13:00,32710.216000000004,15226.343,15226.343 +14-9-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +14-9-2019 15:00,21806.807,10150.888,10150.888 +14-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +14-9-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +14-9-2019 18:00,72824.08100000002,33899.019,33899.019 +14-9-2019 19:00,120977.58200000001,56314.08200000001,56314.08200000001 +14-9-2019 20:00,180828.32900000003,84174.11200000001,84174.11200000001 +14-9-2019 21:00,65432.114,30458.109,30458.109 +14-9-2019 22:00,43071.721000000005,20049.535,20049.535 +14-9-2019 23:00,55909.89800000001,26025.593000000004,26025.593000000004 +15-9-2019 00:00,110300.16800000002,51343.831000000006,51343.831000000006 +15-9-2019 01:00,155885.268,72563.315,72563.315 +15-9-2019 02:00,160980.358,74935.047,74935.047 +15-9-2019 03:00,164297.727,76479.26000000001,76479.26000000001 +15-9-2019 04:00,171807.713,79975.082,79975.082 +15-9-2019 05:00,184164.21100000004,85726.93800000001,85726.93800000001 +15-9-2019 06:00,855676.0080000001,398310.176,398310.176 +15-9-2019 07:00,1644566.0000000002,765532.064,765532.064 +15-9-2019 08:00,1795645.2800000003,835858.2320000001,835858.2320000001 +15-9-2019 09:00,2197584.7520000003,1022957.76,1022957.76 +15-9-2019 10:00,382101.50000000006,177865.127,177865.127 +15-9-2019 11:00,48822.796,22726.616,22726.616 +15-9-2019 12:00,40887.759000000005,19032.915000000005,19032.915000000005 +15-9-2019 13:00,32710.216000000004,15226.343,15226.343 +15-9-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +15-9-2019 15:00,21806.807,10150.888,10150.888 +15-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +15-9-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +15-9-2019 18:00,72432.569,33716.771,33716.771 +15-9-2019 19:00,84001.95100000002,39102.217000000004,39102.217000000004 +15-9-2019 20:00,104933.74100000001,48845.808000000005,48845.808000000005 +15-9-2019 21:00,60014.141,27936.095000000005,27936.095000000005 +15-9-2019 22:00,39692.4,18476.491,18476.491 +15-9-2019 23:00,26612.916000000005,12388.09,12388.09 +16-9-2019 00:00,31147.776,14499.034000000001,14499.034000000001 +16-9-2019 01:00,48611.574,22628.287,22628.287 +16-9-2019 02:00,58288.35100000001,27132.743000000002,27132.743000000002 +16-9-2019 03:00,91532.98000000001,42607.85100000001,42607.85100000001 +16-9-2019 04:00,102837.482,47870.009000000005,47870.009000000005 +16-9-2019 05:00,108859.48700000001,50673.20500000001,50673.20500000001 +16-9-2019 06:00,359032.146,167126.52000000002,167126.52000000002 +16-9-2019 07:00,601443.3480000001,279966.96200000006,279966.96200000006 +16-9-2019 08:00,742616.2480000001,345681.776,345681.776 +16-9-2019 09:00,1027815.0080000001,478439.45600000006,478439.45600000006 +16-9-2019 10:00,65009.923,30261.583000000002,30261.583000000002 +16-9-2019 11:00,108069.819,50305.629,50305.629 +16-9-2019 12:00,227854.99000000002,106064.64,106064.64 +16-9-2019 13:00,88850.44300000001,41359.14200000001,41359.14200000001 +16-9-2019 14:00,95959.23700000001,44668.239,44668.239 +16-9-2019 15:00,94537.212,44006.30300000001,44006.30300000001 +16-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +16-9-2019 17:00,548057.224,255116.20200000002,255116.20200000002 +16-9-2019 18:00,517086.32800000004,240699.47000000003,240699.47000000003 +16-9-2019 19:00,705609.1680000001,328455.314,328455.314 +16-9-2019 20:00,842753.9120000001,392295.068,392295.068 +16-9-2019 21:00,532122.316,247698.57200000001,247698.57200000001 +16-9-2019 22:00,153133.31000000003,71282.31,71282.31 +16-9-2019 23:00,163489.12800000003,76102.85100000001,76102.85100000001 +17-9-2019 00:00,163989.045,76335.56700000001,76335.56700000001 +17-9-2019 01:00,169510.825,78905.915,78905.915 +17-9-2019 02:00,180393.22400000002,83971.569,83971.569 +17-9-2019 03:00,190706.14200000002,88772.145,88772.145 +17-9-2019 04:00,192794.866,89744.424,89744.424 +17-9-2019 05:00,180390.71600000001,83970.403,83970.403 +17-9-2019 06:00,881437.4800000001,410301.93600000005,410301.93600000005 +17-9-2019 07:00,1500069.12,698269.836,698269.836 +17-9-2019 08:00,1503281.12,699765.088,699765.088 +17-9-2019 09:00,1364653.664,635235.084,635235.084 +17-9-2019 10:00,55425.645000000004,25800.181,25800.181 +17-9-2019 11:00,74738.719,34790.261,34790.261 +17-9-2019 12:00,194994.932,90768.56800000001,90768.56800000001 +17-9-2019 13:00,88291.40100000001,41098.92600000001,41098.92600000001 +17-9-2019 14:00,119254.71800000001,55512.10500000001,55512.10500000001 +17-9-2019 15:00,76509.38900000001,35614.502,35614.502 +17-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +17-9-2019 17:00,626423.292,291594.93,291594.93 +17-9-2019 18:00,550286.748,256153.964,256153.964 +17-9-2019 19:00,809801.1680000001,376955.83200000005,376955.83200000005 +17-9-2019 20:00,1087148.04,506058.564,506058.564 +17-9-2019 21:00,733914.8960000001,341631.4,341631.4 +17-9-2019 22:00,205221.54400000002,95528.961,95528.961 +17-9-2019 23:00,198147.31200000003,92235.96800000001,92235.96800000001 +18-9-2019 00:00,194055.18,90331.098,90331.098 +18-9-2019 01:00,198354.178,92332.25100000002,92332.25100000002 +18-9-2019 02:00,207011.31000000003,96362.07900000001,96362.07900000001 +18-9-2019 03:00,295580.05400000006,137590.11200000002,137590.11200000002 +18-9-2019 04:00,317862.16,147962.221,147962.221 +18-9-2019 05:00,418253.83600000007,194693.75200000004,194693.75200000004 +18-9-2019 06:00,1360898.3520000002,633487.052,633487.052 +18-9-2019 07:00,1958375.7600000002,911608.0160000002,911608.0160000002 +18-9-2019 08:00,1909597.712,888902.1680000001,888902.1680000001 +18-9-2019 09:00,1339036.2480000001,623310.4680000001,623310.4680000001 +18-9-2019 10:00,55425.645000000004,25800.181,25800.181 +18-9-2019 11:00,64570.28600000001,30056.939000000006,30056.939000000006 +18-9-2019 12:00,123568.37900000002,57520.07800000001,57520.07800000001 +18-9-2019 13:00,105332.81000000001,49031.565,49031.565 +18-9-2019 14:00,149091.459,69400.87,69400.87 +18-9-2019 15:00,70521.693,32827.26700000001,32827.26700000001 +18-9-2019 16:00,24878.546000000002,11580.756,11580.756 +18-9-2019 17:00,899057.5440000001,418503.976,418503.976 +18-9-2019 18:00,745791.1120000001,347159.67000000004,347159.67000000004 +18-9-2019 19:00,1121026.632,521828.73600000003,521828.73600000003 +18-9-2019 20:00,1436080.712,668483.86,668483.86 +18-9-2019 21:00,877431.456,408437.216,408437.216 +18-9-2019 22:00,224303.57400000002,104411.48300000001,104411.48300000001 +18-9-2019 23:00,213244.90000000002,99263.758,99263.758 +19-9-2019 00:00,197676.842,92016.95800000001,92016.95800000001 +19-9-2019 01:00,231714.16400000002,107861.05,107861.05 +19-9-2019 02:00,259965.09000000003,121011.62700000002,121011.62700000002 +19-9-2019 03:00,268886.09,125164.28100000002,125164.28100000002 +19-9-2019 04:00,263319.606,122573.12100000001,122573.12100000001 +19-9-2019 05:00,275959.068,128456.691,128456.691 +19-9-2019 06:00,1327306.4640000002,617850.332,617850.332 +19-9-2019 07:00,1911018.912,889563.752,889563.752 +19-9-2019 08:00,1880755.0080000001,875476.096,875476.096 +19-9-2019 09:00,1548123.2800000003,720638.7760000001,720638.7760000001 +19-9-2019 10:00,93382.212,43468.667,43468.667 +19-9-2019 11:00,161486.831,75170.799,75170.799 +19-9-2019 12:00,289139.20200000005,134591.93000000002,134591.93000000002 +19-9-2019 13:00,114769.182,53424.129,53424.129 +19-9-2019 14:00,168579.15800000002,78472.229,78472.229 +19-9-2019 15:00,123034.32900000001,57271.489,57271.489 +19-9-2019 16:00,25829.463000000003,12023.407000000001,12023.407000000001 +19-9-2019 17:00,1433339.2480000001,667207.8160000001,667207.8160000001 +19-9-2019 18:00,986976.76,459429.60800000007,459429.60800000007 +19-9-2019 19:00,1404657.144,653856.4120000001,653856.4120000001 +19-9-2019 20:00,1785394.6880000003,831086.6080000001,831086.6080000001 +19-9-2019 21:00,985825.192,458893.60000000003,458893.60000000003 +19-9-2019 22:00,246597.75800000003,114789.23500000002,114789.23500000002 +19-9-2019 23:00,266988.48,124280.948,124280.948 +20-9-2019 00:00,333085.14800000004,155048.421,155048.421 +20-9-2019 01:00,349726.08,162794.632,162794.632 +20-9-2019 02:00,355077.0740000001,165285.472,165285.472 +20-9-2019 03:00,366640.8900000001,170668.333,170668.333 +20-9-2019 04:00,484158.532,225371.872,225371.872 +20-9-2019 05:00,605839.652,282013.402,282013.402 +20-9-2019 06:00,1924558.9440000001,895866.4,895866.4 +20-9-2019 07:00,2888414.4960000003,1344533.4320000003,1344533.4320000003 +20-9-2019 08:00,3062379.5840000003,1425512.704,1425512.704 +20-9-2019 09:00,1772878.0960000004,825260.3040000001,825260.3040000001 +20-9-2019 10:00,94493.212,43985.821,43985.821 +20-9-2019 11:00,185887.988,86529.344,86529.344 +20-9-2019 12:00,286722.54600000003,133467.00400000002,133467.00400000002 +20-9-2019 13:00,134018.049,62384.31100000001,62384.31100000001 +20-9-2019 14:00,199634.776,92928.36300000001,92928.36300000001 +20-9-2019 15:00,71465.229,33266.486000000004,33266.486000000004 +20-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +20-9-2019 17:00,1082031.72,503676.93200000003,503676.93200000003 +20-9-2019 18:00,591443.5120000001,275312.114,275312.114 +20-9-2019 19:00,1048784.968,488200.8560000001,488200.8560000001 +20-9-2019 20:00,1421206.0720000002,661559.756,661559.756 +20-9-2019 21:00,752697.6160000002,350374.6400000001,350374.6400000001 +20-9-2019 22:00,199630.48600000003,92926.383,92926.383 +20-9-2019 23:00,188159.15800000002,87586.565,87586.565 +21-9-2019 00:00,190786.596,88809.6,88809.6 +21-9-2019 01:00,242478.038,112871.55,112871.55 +21-9-2019 02:00,312794.878,145603.469,145603.469 +21-9-2019 03:00,301263.204,140235.557,140235.557 +21-9-2019 04:00,315417.38800000004,146824.21600000001,146824.21600000001 +21-9-2019 05:00,363315.326,169120.303,169120.303 +21-9-2019 06:00,1283370.3520000002,597398.4280000001,597398.4280000001 +21-9-2019 07:00,2573603.296,1197991.344,1197991.344 +21-9-2019 08:00,3407309.6640000003,1586074.864,1586074.864 +21-9-2019 09:00,2364441.728,1100628.32,1100628.32 +21-9-2019 10:00,404191.6560000001,188147.89400000003,188147.89400000003 +21-9-2019 11:00,48156.713,22416.548000000003,22416.548000000003 +21-9-2019 12:00,41042.364,19104.888000000003,19104.888000000003 +21-9-2019 13:00,32710.216000000004,15226.343,15226.343 +21-9-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +21-9-2019 15:00,21806.807,10150.888,10150.888 +21-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +21-9-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +21-9-2019 18:00,70872.142,32990.397000000004,32990.397000000004 +21-9-2019 19:00,76040.05200000001,35396.020000000004,35396.020000000004 +21-9-2019 20:00,78154.89,36380.465000000004,36380.465000000004 +21-9-2019 21:00,54347.865000000005,25298.493000000002,25298.493000000002 +21-9-2019 22:00,38146.262,17756.772,17756.772 +21-9-2019 23:00,20697.413000000004,9634.471000000001,9634.471000000001 +22-9-2019 00:00,13221.868,6154.676,6154.676 +22-9-2019 01:00,32464.047000000002,15111.745000000003,15111.745000000003 +22-9-2019 02:00,64990.64000000001,30252.607,30252.607 +22-9-2019 03:00,126424.88100000002,58849.747,58849.747 +22-9-2019 04:00,142149.81000000003,66169.565,66169.565 +22-9-2019 05:00,136001.69,63307.68400000001,63307.68400000001 +22-9-2019 06:00,621943.784,289509.814,289509.814 +22-9-2019 07:00,1657097.5520000001,771365.496,771365.496 +22-9-2019 08:00,2172035.184,1011064.6480000002,1011064.6480000002 +22-9-2019 09:00,2084408.1280000003,970274.9760000001,970274.9760000001 +22-9-2019 10:00,338216.164,157436.88400000002,157436.88400000002 +22-9-2019 11:00,48948.691,22785.213000000003,22785.213000000003 +22-9-2019 12:00,45418.098000000005,21141.758,21141.758 +22-9-2019 13:00,32710.216000000004,15226.343,15226.343 +22-9-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +22-9-2019 15:00,21806.807,10150.888,10150.888 +22-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +22-9-2019 17:00,39979.148,18609.965000000004,18609.965000000004 +22-9-2019 18:00,74595.73000000001,34723.700000000004,34723.700000000004 +22-9-2019 19:00,83614.894,38922.05900000001,38922.05900000001 +22-9-2019 20:00,114308.50200000002,53209.68400000001,53209.68400000001 +22-9-2019 21:00,61550.31300000001,28651.161,28651.161 +22-9-2019 22:00,39476.70100000001,18376.083,18376.083 +22-9-2019 23:00,23681.702,11023.639000000001,11023.639000000001 +23-9-2019 00:00,23519.001,10947.904,10947.904 +23-9-2019 01:00,45433.564,21148.952,21148.952 +23-9-2019 02:00,53133.740000000005,24733.324,24733.324 +23-9-2019 03:00,75652.291,35215.521,35215.521 +23-9-2019 04:00,90092.629,41937.39000000001,41937.39000000001 +23-9-2019 05:00,96667.274,44997.821,44997.821 +23-9-2019 06:00,376666.0040000001,175334.96200000003,175334.96200000003 +23-9-2019 07:00,1064399.512,495469.26,495469.26 +23-9-2019 08:00,868314.2160000001,404193.15200000006,404193.15200000006 +23-9-2019 09:00,964279.6240000001,448864.32800000004,448864.32800000004 +23-9-2019 10:00,55425.645000000004,25800.181,25800.181 +23-9-2019 11:00,62576.778000000006,29128.979000000003,29128.979000000003 +23-9-2019 12:00,129609.41400000002,60332.14000000001,60332.14000000001 +23-9-2019 13:00,40908.01,19042.342000000004,19042.342000000004 +23-9-2019 14:00,85284.903,39699.429000000004,39699.429000000004 +23-9-2019 15:00,51672.962,24053.337,24053.337 +23-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +23-9-2019 17:00,235636.10400000002,109686.687,109686.687 +23-9-2019 18:00,316641.93,147394.225,147394.225 +23-9-2019 19:00,584852.4440000001,272244.016,272244.016 +23-9-2019 20:00,773426.5440000001,360023.75200000004,360023.75200000004 +23-9-2019 21:00,403991.016,188054.526,188054.526 +23-9-2019 22:00,69997.27900000001,32583.155000000002,32583.155000000002 +23-9-2019 23:00,82409.129,38360.773,38360.773 +24-9-2019 00:00,105352.65400000001,49040.816,49040.816 +24-9-2019 01:00,106245.007,49456.198000000004,49456.198000000004 +24-9-2019 02:00,102097.138,47525.39000000001,47525.39000000001 +24-9-2019 03:00,103947.008,48386.492000000006,48386.492000000006 +24-9-2019 04:00,104721.463,48746.995,48746.995 +24-9-2019 05:00,109466.74200000001,50955.883,50955.883 +24-9-2019 06:00,510311.69200000004,237545.92400000003,237545.92400000003 +24-9-2019 07:00,1315663.536,612430.6320000001,612430.6320000001 +24-9-2019 08:00,1113079.7920000001,518129.5240000001,518129.5240000001 +24-9-2019 09:00,1070858.712,498476.00000000006,498476.00000000006 +24-9-2019 10:00,55425.645000000004,25800.181,25800.181 +24-9-2019 11:00,75514.36200000001,35151.314000000006,35151.314000000006 +24-9-2019 12:00,190505.65600000002,88678.832,88678.832 +24-9-2019 13:00,55283.613000000005,25734.071000000004,25734.071000000004 +24-9-2019 14:00,106496.32400000001,49573.172,49573.172 +24-9-2019 15:00,85200.45600000002,39660.115000000005,39660.115000000005 +24-9-2019 16:00,24885.091000000004,11583.803,11583.803 +24-9-2019 17:00,1039918.8800000001,484073.744,484073.744 +24-9-2019 18:00,768686.952,357817.504,357817.504 +24-9-2019 19:00,866808.888,403492.45200000005,403492.45200000005 +24-9-2019 20:00,966462.2000000001,449880.244,449880.244 +24-9-2019 21:00,533871.228,248512.70400000003,248512.70400000003 +24-9-2019 22:00,139374.67500000002,64877.780000000006,64877.780000000006 +24-9-2019 23:00,122422.982,56986.897000000004,56986.897000000004 +25-9-2019 00:00,110064.91100000001,51234.32600000001,51234.32600000001 +25-9-2019 01:00,107990.311,50268.614,50268.614 +25-9-2019 02:00,108377.91800000002,50449.03600000001,50449.03600000001 +25-9-2019 03:00,113051.69700000001,52624.649,52624.649 +25-9-2019 04:00,125267.47200000001,58310.989,58310.989 +25-9-2019 05:00,133995.081,62373.630000000005,62373.630000000005 +25-9-2019 06:00,616739.2000000001,287087.086,287087.086 +25-9-2019 07:00,1471624.5280000002,685029.18,685029.18 +25-9-2019 08:00,1225917.2640000002,570654.392,570654.392 +25-9-2019 09:00,1127056.304,524635.584,524635.584 +25-9-2019 10:00,55425.645000000004,25800.181,25800.181 +25-9-2019 11:00,107927.27,50239.266,50239.266 +25-9-2019 12:00,202491.91600000003,94258.32900000001,94258.32900000001 +25-9-2019 13:00,67061.236,31216.46,31216.46 +25-9-2019 14:00,118403.32900000001,55115.775,55115.775 +25-9-2019 15:00,93469.519,43509.30100000001,43509.30100000001 +25-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +25-9-2019 17:00,1098061.8,511138.84800000006,511138.84800000006 +25-9-2019 18:00,730796.704,340179.928,340179.928 +25-9-2019 19:00,828880.5360000001,385837.14400000003,385837.14400000003 +25-9-2019 20:00,912480.888,424752.416,424752.416 +25-9-2019 21:00,471651.444,219549.90200000003,219549.90200000003 +25-9-2019 22:00,122585.08900000002,57062.368,57062.368 +25-9-2019 23:00,107570.232,50073.067,50073.067 +26-9-2019 00:00,97712.52700000002,45484.384000000005,45484.384000000005 +26-9-2019 01:00,95107.85900000001,44271.931000000004,44271.931000000004 +26-9-2019 02:00,93439.544,43495.342000000004,43495.342000000004 +26-9-2019 03:00,96977.133,45142.064,45142.064 +26-9-2019 04:00,102739.70300000001,47824.491,47824.491 +26-9-2019 05:00,109584.37600000002,51010.630000000005,51010.630000000005 +26-9-2019 06:00,513128.396,238857.08000000002,238857.08000000002 +26-9-2019 07:00,1238008.2000000002,576282.7840000001,576282.7840000001 +26-9-2019 08:00,1066343.168,496374.076,496374.076 +26-9-2019 09:00,991458.6880000001,461515.95600000006,461515.95600000006 +26-9-2019 10:00,55425.645000000004,25800.181,25800.181 +26-9-2019 11:00,85643.899,39866.530000000006,39866.530000000006 +26-9-2019 12:00,193580.99200000003,90110.37200000002,90110.37200000002 +26-9-2019 13:00,53578.206000000006,24940.223,24940.223 +26-9-2019 14:00,104112.338,48463.448000000004,48463.448000000004 +26-9-2019 15:00,82413.76000000001,38362.929000000004,38362.929000000004 +26-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +26-9-2019 17:00,778985.5920000001,362611.43600000005,362611.43600000005 +26-9-2019 18:00,575410.836,267849.05400000006,267849.05400000006 +26-9-2019 19:00,830356.2960000001,386524.028,386524.028 +26-9-2019 20:00,939192.6720000001,437186.5080000001,437186.5080000001 +26-9-2019 21:00,486438.26,226433.064,226433.064 +26-9-2019 22:00,125161.28900000002,58261.566,58261.566 +26-9-2019 23:00,116712.299,54328.637,54328.637 +27-9-2019 00:00,107029.62600000002,49821.42,49821.42 +27-9-2019 01:00,102736.73300000001,47823.116,47823.116 +27-9-2019 02:00,105538.345,49127.254,49127.254 +27-9-2019 03:00,114588.79300000002,53340.155000000006,53340.155000000006 +27-9-2019 04:00,118133.00400000002,54989.946,54989.946 +27-9-2019 05:00,127805.095,59492.235,59492.235 +27-9-2019 06:00,588491.156,273937.84,273937.84 +27-9-2019 07:00,1380948.0960000001,642820.024,642820.024 +27-9-2019 08:00,1155376.112,537818.16,537818.16 +27-9-2019 09:00,1053160.5040000002,490237.66000000003,490237.66000000003 +27-9-2019 10:00,55425.645000000004,25800.181,25800.181 +27-9-2019 11:00,70546.19,32838.674000000006,32838.674000000006 +27-9-2019 12:00,165896.181,77223.32200000001,77223.32200000001 +27-9-2019 13:00,41355.072,19250.451,19250.451 +27-9-2019 14:00,89644.07100000001,41728.588,41728.588 +27-9-2019 15:00,58615.766,27285.159,27285.159 +27-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +27-9-2019 17:00,704137.72,327770.32200000004,327770.32200000004 +27-9-2019 18:00,629511.256,293032.30000000005,293032.30000000005 +27-9-2019 19:00,746041.6480000002,347276.292,347276.292 +27-9-2019 20:00,817597.2640000001,380584.864,380584.864 +27-9-2019 21:00,409802.75600000005,190759.866,190759.866 +27-9-2019 22:00,90545.103,42148.007000000005,42148.007000000005 +27-9-2019 23:00,108965.98900000002,50722.78200000001,50722.78200000001 +28-9-2019 00:00,102470.33500000002,47699.113000000005,47699.113000000005 +28-9-2019 01:00,103685.065,48264.55700000001,48264.55700000001 +28-9-2019 02:00,102163.50100000002,47556.289000000004,47556.289000000004 +28-9-2019 03:00,110073.83200000001,51238.484000000004,51238.484000000004 +28-9-2019 04:00,117133.808,54524.844000000005,54524.844000000005 +28-9-2019 05:00,122556.75300000001,57049.168000000005,57049.168000000005 +28-9-2019 06:00,647215.052,301273.346,301273.346 +28-9-2019 07:00,1616508.784,752471.72,752471.72 +28-9-2019 08:00,2108217.2320000003,981357.9600000001,981357.9600000001 +28-9-2019 09:00,1786510.176,831605.8960000001,831605.8960000001 +28-9-2019 10:00,306068.884,142472.56100000002,142472.56100000002 +28-9-2019 11:00,52888.088,24618.979000000003,24618.979000000003 +28-9-2019 12:00,196440.508,91441.46000000002,91441.46000000002 +28-9-2019 13:00,95452.19200000001,44432.223000000005,44432.223000000005 +28-9-2019 14:00,28167.128,13111.571000000002,13111.571000000002 +28-9-2019 15:00,21806.807,10150.888,10150.888 +28-9-2019 16:00,24532.662,11419.749000000002,11419.749000000002 +28-9-2019 17:00,93938.966,43727.827000000005,43727.827000000005 +28-9-2019 18:00,453488.728,211095.30200000003,211095.30200000003 +28-9-2019 19:00,597444.1000000001,278105.34400000004,278105.34400000004 +28-9-2019 20:00,502202.36,233771.12000000002,233771.12000000002 +28-9-2019 21:00,209196.57000000004,97379.29300000002,97379.29300000002 +28-9-2019 22:00,118678.71400000002,55243.969000000005,55243.969000000005 +28-9-2019 23:00,115025.28400000001,53543.336,53543.336 +29-9-2019 00:00,103844.86200000001,48338.939,48338.939 +29-9-2019 01:00,103206.35600000001,48041.719000000005,48041.719000000005 +29-9-2019 02:00,110357.86300000001,51370.693,51370.693 +29-9-2019 03:00,119360.945,55561.539000000004,55561.539000000004 +29-9-2019 04:00,126385.68800000001,58831.509000000005,58831.509000000005 +29-9-2019 05:00,141159.35900000003,65708.53300000001,65708.53300000001 +29-9-2019 06:00,681968.76,317450.914,317450.914 +29-9-2019 07:00,1737647.648,808860.8,808860.8 +29-9-2019 08:00,2373581.0560000003,1104882.5040000002,1104882.5040000002 +29-9-2019 09:00,2141179.216,996701.464,996701.464 +29-9-2019 10:00,420012.076,195512.21800000002,195512.21800000002 +29-9-2019 11:00,121028.08300000001,56337.589,56337.589 +29-9-2019 12:00,295430.87200000003,137520.658,137520.658 +29-9-2019 13:00,90312.58500000002,42039.76700000001,42039.76700000001 +29-9-2019 14:00,30172.901,14045.240000000002,14045.240000000002 +29-9-2019 15:00,21806.807,10150.888,10150.888 +29-9-2019 16:00,24804.637,11546.359000000002,11546.359000000002 +29-9-2019 17:00,217047.27000000002,101033.73500000002,101033.73500000002 +29-9-2019 18:00,551086.316,256526.18200000003,256526.18200000003 +29-9-2019 19:00,751551.5920000001,349841.162,349841.162 +29-9-2019 20:00,610747.192,284297.79400000005,284297.79400000005 +29-9-2019 21:00,274167.608,127622.78100000002,127622.78100000002 +29-9-2019 22:00,122027.565,56802.845,56802.845 +29-9-2019 23:00,114400.83600000001,53252.66100000001,53252.66100000001 +30-9-2019 00:00,112023.307,52145.929000000004,52145.929000000004 +30-9-2019 01:00,117174.75000000001,54543.89600000001,54543.89600000001 +30-9-2019 02:00,119070.094,55426.173,55426.173 +30-9-2019 03:00,127899.53000000001,59536.191,59536.191 +30-9-2019 04:00,149589.143,69632.53000000001,69632.53000000001 +30-9-2019 05:00,174372.66000000003,81169.05500000001,81169.05500000001 +30-9-2019 06:00,679118.792,316124.292,316124.292 +30-9-2019 07:00,1658828.512,772171.0480000001,772171.0480000001 +30-9-2019 08:00,1300872.848,605545.688,605545.688 +30-9-2019 09:00,1212075.568,564211.164,564211.164 +30-9-2019 10:00,55425.645000000004,25800.181,25800.181 +30-9-2019 11:00,98943.44900000001,46057.363000000005,46057.363000000005 +30-9-2019 12:00,191778.268,89271.20400000001,89271.20400000001 +30-9-2019 13:00,41547.869000000006,19340.189000000002,19340.189000000002 +30-9-2019 14:00,86207.088,40128.693,40128.693 +30-9-2019 15:00,61499.735,28627.621000000003,28627.621000000003 +30-9-2019 16:00,24941.004,11609.829,11609.829 +30-9-2019 17:00,811015.92,377521.276,377521.276 +30-9-2019 18:00,774351.952,360454.512,360454.512 +30-9-2019 19:00,890583.9360000001,414559.596,414559.596 +30-9-2019 20:00,1033841.952,481244.98400000005,481244.98400000005 +30-9-2019 21:00,576884.2640000001,268534.94800000003,268534.94800000003 +30-9-2019 22:00,142693.71600000001,66422.763,66422.763 +30-9-2019 23:00,129537.49600000001,60298.645000000004,60298.645000000004 +1-10-2019 00:00,120978.70400000001,56314.61,56314.61 +1-10-2019 01:00,126734.80600000001,58994.02300000001,58994.02300000001 +1-10-2019 02:00,126795.119,59022.095,59022.095 +1-10-2019 03:00,138563.56800000003,64500.216,64500.216 +1-10-2019 04:00,133839.61800000002,62301.261000000006,62301.261000000006 +1-10-2019 05:00,135360.12600000002,63009.03400000001,63009.03400000001 +1-10-2019 06:00,597351.6120000001,278062.33400000003,278062.33400000003 +1-10-2019 07:00,1453550.472,676615.8960000001,676615.8960000001 +1-10-2019 08:00,1187971.928,552991.2080000001,552991.2080000001 +1-10-2019 09:00,1079958.7920000001,502711.96800000005,502711.96800000005 +1-10-2019 10:00,55425.645000000004,25800.181,25800.181 +1-10-2019 11:00,80087.095,37279.891,37279.891 +1-10-2019 12:00,185772.75200000004,86475.708,86475.708 +1-10-2019 13:00,54645.76700000001,25437.148,25437.148 +1-10-2019 14:00,109866.19600000001,51141.816,51141.816 +1-10-2019 15:00,86944.82500000001,40472.113000000005,40472.113000000005 +1-10-2019 16:00,24980.032,11628.001,11628.001 +1-10-2019 17:00,1096998.232,510643.716,510643.716 +1-10-2019 18:00,730419.8,340004.434,340004.434 +1-10-2019 19:00,847862.136,394672.87200000003,394672.87200000003 +1-10-2019 20:00,1154433.8960000002,537379.48,537379.48 +1-10-2019 21:00,707532.628,329350.626,329350.626 +1-10-2019 22:00,178193.015,82947.403,82947.403 +1-10-2019 23:00,165502.722,77040.172,77040.172 +2-10-2019 00:00,175084.932,81500.60600000001,81500.60600000001 +2-10-2019 01:00,207309.32200000001,96500.8,96500.8 +2-10-2019 02:00,236154.51200000005,109927.994,109927.994 +2-10-2019 03:00,249858.64200000002,116307.15800000001,116307.15800000001 +2-10-2019 04:00,258147.62600000002,120165.60600000001,120165.60600000001 +2-10-2019 05:00,281071.846,130836.66200000001,130836.66200000001 +2-10-2019 06:00,1050077.952,488802.732,488802.732 +2-10-2019 07:00,2216233.0080000004,1031638.432,1031638.432 +2-10-2019 08:00,1616034.816,752251.104,752251.104 +2-10-2019 09:00,1284573.312,597958.4160000001,597958.4160000001 +2-10-2019 10:00,83465.85500000001,38852.671,38852.671 +2-10-2019 11:00,134040.80800000002,62394.91500000001,62394.91500000001 +2-10-2019 12:00,281313.29600000003,130949.06000000001,130949.06000000001 +2-10-2019 13:00,56731.29000000001,26407.942000000003,26407.942000000003 +2-10-2019 14:00,220473.17600000004,102628.471,102628.471 +2-10-2019 15:00,144157.82700000002,67104.29000000001,67104.29000000001 +2-10-2019 16:00,63118.83600000001,29381.297000000002,29381.297000000002 +2-10-2019 17:00,2339057.952,1088812.384,1088812.384 +2-10-2019 18:00,1397863.5440000002,650694.1320000001,650694.1320000001 +2-10-2019 19:00,1567403.7280000001,729613.588,729613.588 +2-10-2019 20:00,1595083.776,742498.4160000001,742498.4160000001 +2-10-2019 21:00,870346.8400000001,405139.37200000003,405139.37200000003 +2-10-2019 22:00,256779.51200000005,119528.761,119528.761 +2-10-2019 23:00,292737.896,136267.098,136267.098 +3-10-2019 00:00,280239.85000000003,130449.36300000001,130449.36300000001 +3-10-2019 01:00,264567.51200000005,123154.009,123154.009 +3-10-2019 02:00,275948.64,128451.85100000001,128451.85100000001 +3-10-2019 03:00,268335.738,124908.10200000001,124908.10200000001 +3-10-2019 04:00,255996.356,119164.21000000002,119164.21000000002 +3-10-2019 05:00,273385.244,127258.604,127258.604 +3-10-2019 06:00,1233052.304,573975.8200000001,573975.8200000001 +3-10-2019 07:00,2379242.2720000003,1107517.84,1107517.84 +3-10-2019 08:00,2183027.264,1016181.496,1016181.496 +3-10-2019 09:00,1512162.9600000002,703899.5040000001,703899.5040000001 +3-10-2019 10:00,86970.08100000002,40483.861000000004,40483.861000000004 +3-10-2019 11:00,116665.86800000002,54307.011000000006,54307.011000000006 +3-10-2019 12:00,304164.762,141586.214,141586.214 +3-10-2019 13:00,174045.85,81016.925,81016.925 +3-10-2019 14:00,219964.206,102391.53100000002,102391.53100000002 +3-10-2019 15:00,202961.594,94476.965,94476.965 +3-10-2019 16:00,88689.68900000001,41284.32,41284.32 +3-10-2019 17:00,3004404.128,1398525.8320000002,1398525.8320000002 +3-10-2019 18:00,1591026.272,740609.76,740609.76 +3-10-2019 19:00,1772748.912,825200.1120000001,825200.1120000001 +3-10-2019 20:00,1809237.7600000002,842185.432,842185.432 +3-10-2019 21:00,950683.888,442535.544,442535.544 +3-10-2019 22:00,296057.23400000005,137812.22400000002,137812.22400000002 +3-10-2019 23:00,285840.984,133056.649,133056.649 +4-10-2019 00:00,284162.472,132275.31900000002,132275.31900000002 +4-10-2019 01:00,288044.37200000003,134082.31100000002,134082.31100000002 +4-10-2019 02:00,286518.738,133372.151,133372.151 +4-10-2019 03:00,289525.14800000004,134771.582,134771.582 +4-10-2019 04:00,295569.34,137585.10700000002,137585.10700000002 +4-10-2019 05:00,307595.09,143182.98500000002,143182.98500000002 +4-10-2019 06:00,1458188.864,678775.064,678775.064 +4-10-2019 07:00,2665680.336,1240852.536,1240852.536 +4-10-2019 08:00,2663853.1040000003,1240001.84,1240001.84 +4-10-2019 09:00,1854701.0240000002,863348.376,863348.376 +4-10-2019 10:00,257306.23600000003,119773.95100000002,119773.95100000002 +4-10-2019 11:00,409696.188,190710.21200000003,190710.21200000003 +4-10-2019 12:00,605556.8640000001,281881.776,281881.776 +4-10-2019 13:00,292340.95,136082.32,136082.32 +4-10-2019 14:00,303288.72200000007,141178.411,141178.411 +4-10-2019 15:00,325798.19800000003,151656.40600000002,151656.40600000002 +4-10-2019 16:00,101694.087,47337.785,47337.785 +4-10-2019 17:00,4004778.9760000003,1864191.8240000003,1864191.8240000003 +4-10-2019 18:00,1805708.6080000002,840542.56,840542.56 +4-10-2019 19:00,1884291.3760000002,877122.3120000002,877122.3120000002 +4-10-2019 20:00,1961918.816,913257.136,913257.136 +4-10-2019 21:00,1074314.296,500084.552,500084.552 +4-10-2019 22:00,338115.31600000005,157389.914,157389.914 +4-10-2019 23:00,321863.89400000003,149825.02700000003,149825.02700000003 +5-10-2019 00:00,314718.294,146498.803,146498.803 +5-10-2019 01:00,320347.74199999997,149119.256,149119.256 +5-10-2019 02:00,346207.818,161156.91900000002,161156.91900000002 +5-10-2019 03:00,343294.336,159800.71800000002,159800.71800000002 +5-10-2019 04:00,359654.72400000005,167416.33700000003,167416.33700000003 +5-10-2019 05:00,454694.76800000004,211656.698,211656.698 +5-10-2019 06:00,1395389.776,649542.564,649542.564 +5-10-2019 07:00,2985974.4640000006,1389946.712,1389946.712 +5-10-2019 08:00,4723694.976000001,2198841.7440000004,2198841.7440000004 +5-10-2019 09:00,3803691.5840000003,1770587.2800000003,1770587.2800000003 +5-10-2019 10:00,1130823.672,526389.204,526389.204 +5-10-2019 11:00,691746.924,322002.582,322002.582 +5-10-2019 12:00,1113052.864,518117.07200000004,518117.07200000004 +5-10-2019 13:00,534070.5040000001,248605.456,248605.456 +5-10-2019 14:00,274429.10000000003,127744.50700000001,127744.50700000001 +5-10-2019 15:00,143915.60700000002,66991.54000000001,66991.54000000001 +5-10-2019 16:00,281896.45,131220.496,131220.496 +5-10-2019 17:00,1627578.4800000002,757624.56,757624.56 +5-10-2019 18:00,2095380.4960000003,975382.496,975382.496 +5-10-2019 19:00,2102238.512,978574.784,978574.784 +5-10-2019 20:00,1609152.512,749047.2000000001,749047.2000000001 +5-10-2019 21:00,676872.3720000001,315078.56600000005,315078.56600000005 +5-10-2019 22:00,360055.542,167602.91900000002,167602.91900000002 +5-10-2019 23:00,341763.33400000003,159088.05000000002,159088.05000000002 +6-10-2019 00:00,330728.178,153951.27000000002,153951.27000000002 +6-10-2019 01:00,332455.42000000004,154755.271,154755.271 +6-10-2019 02:00,332383.326,154721.721,154721.721 +6-10-2019 03:00,337015.25,156877.864,156877.864 +6-10-2019 04:00,414445.10800000007,192920.81600000002,192920.81600000002 +6-10-2019 05:00,493499.204,229719.864,229719.864 +6-10-2019 06:00,1359669.52,632915.052,632915.052 +6-10-2019 07:00,2974487.6480000005,1384599.656,1384599.656 +6-10-2019 08:00,4814340.256,2241035.984,2241035.984 +6-10-2019 09:00,4025626.88,1873896.6400000001,1873896.6400000001 +6-10-2019 10:00,1437855.32,669309.784,669309.784 +6-10-2019 11:00,1060673.6800000002,493734.95600000006,493734.95600000006 +6-10-2019 12:00,1544677.5520000001,719034.844,719034.844 +6-10-2019 13:00,966205.152,449760.60800000007,449760.60800000007 +6-10-2019 14:00,625126.3040000001,290991.184,290991.184 +6-10-2019 15:00,439276.244,204479.52800000002,204479.52800000002 +6-10-2019 16:00,617456.4440000001,287420.914,287420.914 +6-10-2019 17:00,2068615.8240000003,962923.8080000001,962923.8080000001 +6-10-2019 18:00,2266246.2240000004,1054919.0960000001,1054919.0960000001 +6-10-2019 19:00,2285911.4080000003,1064073.12,1064073.12 +6-10-2019 20:00,1720312.5280000002,800791.552,800791.552 +6-10-2019 21:00,736726.2760000001,342940.07000000007,342940.07000000007 +6-10-2019 22:00,398718.80400000006,185600.36000000002,185600.36000000002 +6-10-2019 23:00,379422.73600000003,176618.2,176618.2 +7-10-2019 00:00,366743.696,170716.205,170716.205 +7-10-2019 01:00,365647.744,170206.047,170206.047 +7-10-2019 02:00,376178.352,175107.96600000001,175107.96600000001 +7-10-2019 03:00,476611.036,221858.56000000003,221858.56000000003 +7-10-2019 04:00,605366.9600000001,281793.358,281793.358 +7-10-2019 05:00,669504.0,311648.678,311648.678 +7-10-2019 06:00,2258351.568,1051244.128,1051244.128 +7-10-2019 07:00,3218910.816,1498376.704,1498376.704 +7-10-2019 08:00,4073999.7760000005,1896413.7280000001,1896413.7280000001 +7-10-2019 09:00,2500744.9280000003,1164076.4960000003,1164076.4960000003 +7-10-2019 10:00,461769.528,214949.96600000001,214949.96600000001 +7-10-2019 11:00,735417.1440000001,342330.692,342330.692 +7-10-2019 12:00,1200384.9440000001,558769.42,558769.42 +7-10-2019 13:00,720708.4720000001,335483.918,335483.918 +7-10-2019 14:00,667695.688,310806.892,310806.892 +7-10-2019 15:00,604518.8160000001,281398.612,281398.612 +7-10-2019 16:00,404163.80400000006,188134.93600000002,188134.93600000002 +7-10-2019 17:00,5417944.224,2522008.544,2522008.544 +7-10-2019 18:00,2345513.632,1091817.496,1091817.496 +7-10-2019 19:00,2199274.176,1023744.3040000001,1023744.3040000001 +7-10-2019 20:00,2178980.848,1014297.768,1014297.768 +7-10-2019 21:00,1134125.344,527926.0800000001,527926.0800000001 +7-10-2019 22:00,344461.43600000005,160343.964,160343.964 +7-10-2019 23:00,321476.45200000005,149644.682,149644.682 +8-10-2019 00:00,305131.376,142036.158,142036.158 +8-10-2019 01:00,301823.17000000004,140496.21300000002,140496.21300000002 +8-10-2019 02:00,298689.82000000007,139037.69,139037.69 +8-10-2019 03:00,296444.63200000004,137992.54700000002,137992.54700000002 +8-10-2019 04:00,296131.0,137846.56600000002,137846.56600000002 +8-10-2019 05:00,305502.67000000004,142209.00100000002,142209.00100000002 +8-10-2019 06:00,1606206.448,747675.984,747675.984 +8-10-2019 07:00,2737329.9359999998,1274204.712,1274204.712 +8-10-2019 08:00,2948989.6480000005,1372730.7440000002,1372730.7440000002 +8-10-2019 09:00,1863972.8800000001,867664.072,867664.072 +8-10-2019 10:00,209444.20200000002,97494.562,97494.562 +8-10-2019 11:00,410037.188,190868.964,190868.964 +8-10-2019 12:00,732844.464,341133.10000000003,341133.10000000003 +8-10-2019 13:00,391191.98800000007,182096.673,182096.673 +8-10-2019 14:00,380443.27200000006,177093.23500000002,177093.23500000002 +8-10-2019 15:00,407044.528,189475.924,189475.924 +8-10-2019 16:00,192029.684,89388.266,89388.266 +8-10-2019 17:00,4362431.04,2030676.208,2030676.208 +8-10-2019 18:00,1838700.512,855900.1440000001,855900.1440000001 +8-10-2019 19:00,1911168.3360000001,889633.3600000001,889633.3600000001 +8-10-2019 20:00,1911229.7600000002,889661.8720000001,889661.8720000001 +8-10-2019 21:00,1061452.92,494097.73600000003,494097.73600000003 +8-10-2019 22:00,340070.23600000003,158299.91100000002,158299.91100000002 +8-10-2019 23:00,308363.418,143540.67200000002,143540.67200000002 +9-10-2019 00:00,294676.052,137169.296,137169.296 +9-10-2019 01:00,295050.998,137343.82200000001,137343.82200000001 +9-10-2019 02:00,299193.29000000004,139272.045,139272.045 +9-10-2019 03:00,301077.96400000004,140149.339,140149.339 +9-10-2019 04:00,306610.106,142724.494,142724.494 +9-10-2019 05:00,321652.98000000004,149726.84100000001,149726.84100000001 +9-10-2019 06:00,1642949.968,764779.6640000001,764779.6640000001 +9-10-2019 07:00,2794244.112,1300697.7280000001,1300697.7280000001 +9-10-2019 08:00,3025728.288,1408451.8800000001,1408451.8800000001 +9-10-2019 09:00,1909915.9200000002,889050.2720000001,889050.2720000001 +9-10-2019 10:00,273008.69200000004,127083.33000000002,127083.33000000002 +9-10-2019 11:00,495521.18000000005,230661.06800000003,230661.06800000003 +9-10-2019 12:00,863782.3040000001,402083.61600000004,402083.61600000004 +9-10-2019 13:00,473082.58800000005,220216.08400000003,220216.08400000003 +9-10-2019 14:00,428887.492,199643.598,199643.598 +9-10-2019 15:00,459214.75600000005,213760.71200000003,213760.71200000003 +9-10-2019 16:00,318297.76,148165.01700000002,148165.01700000002 +9-10-2019 17:00,4903121.696,2282363.072,2282363.072 +9-10-2019 18:00,2116550.128,985236.824,985236.824 +9-10-2019 19:00,2085726.7200000002,970888.7760000001,970888.7760000001 +9-10-2019 20:00,2112588.72,983392.784,983392.784 +9-10-2019 21:00,1103649.448,513739.776,513739.776 +9-10-2019 22:00,349517.982,162697.766,162697.766 +9-10-2019 23:00,330771.58400000003,153971.488,153971.488 +10-10-2019 00:00,321268.442,149547.84900000002,149547.84900000002 +10-10-2019 01:00,323561.7,150615.355,150615.355 +10-10-2019 02:00,328597.63200000004,152959.532,152959.532 +10-10-2019 03:00,325593.15800000005,151560.93700000003,151560.93700000003 +10-10-2019 04:00,331621.13600000006,154366.92700000003,154366.92700000003 +10-10-2019 05:00,376071.60800000007,175058.22400000002,175058.22400000002 +10-10-2019 06:00,1807267.44,841268.2080000001,841268.2080000001 +10-10-2019 07:00,2892318.1760000004,1346350.456,1346350.456 +10-10-2019 08:00,2944272.6720000003,1370534.8800000001,1370534.8800000001 +10-10-2019 09:00,1805897.8080000002,840630.6480000002,840630.6480000002 +10-10-2019 10:00,175917.81900000002,81888.312,81888.312 +10-10-2019 11:00,136934.00600000002,63741.66700000001,63741.66700000001 +10-10-2019 12:00,540634.204,251660.81600000002,251660.81600000002 +10-10-2019 13:00,415494.6400000001,193409.37000000002,193409.37000000002 +10-10-2019 14:00,373782.90400000004,173992.885,173992.885 +10-10-2019 15:00,319469.172,148710.276,148710.276 +10-10-2019 16:00,144570.43700000003,67296.372,67296.372 +10-10-2019 17:00,4297018.528,2000226.976,2000226.976 +10-10-2019 18:00,1854619.536,863310.2720000001,863310.2720000001 +10-10-2019 19:00,1832225.2960000003,852885.8800000001,852885.8800000001 +10-10-2019 20:00,1852980.6240000003,862547.4,862547.4 +10-10-2019 21:00,978366.3120000002,455421.60400000005,455421.60400000005 +10-10-2019 22:00,288326.72000000003,134213.73900000003,134213.73900000003 +10-10-2019 23:00,266967.38200000004,124271.136,124271.136 +11-10-2019 00:00,251031.66000000003,116853.198,116853.198 +11-10-2019 01:00,251431.75200000004,117039.428,117039.428 +11-10-2019 02:00,271514.21,126387.64600000001,126387.64600000001 +11-10-2019 03:00,252190.07000000004,117392.429,117392.429 +11-10-2019 04:00,245298.196,114184.312,114184.312 +11-10-2019 05:00,258071.79200000002,120130.307,120130.307 +11-10-2019 06:00,1317103.2160000002,613100.7960000001,613100.7960000001 +11-10-2019 07:00,2431634.128,1131905.8960000002,1131905.8960000002 +11-10-2019 08:00,2378534.5760000004,1107188.456,1107188.456 +11-10-2019 09:00,1715256.048,798437.728,798437.728 +11-10-2019 10:00,165664.268,77115.36800000002,77115.36800000002 +11-10-2019 11:00,340825.012,158651.26200000002,158651.26200000002 +11-10-2019 12:00,651277.1320000001,303164.20200000005,303164.20200000005 +11-10-2019 13:00,345809.442,160971.481,160971.481 +11-10-2019 14:00,345849.39400000003,160990.06000000003,160990.06000000003 +11-10-2019 15:00,378302.276,176096.646,176096.646 +11-10-2019 16:00,159753.78100000002,74364.092,74364.092 +11-10-2019 17:00,4166478.9760000007,1939461.9200000002,1939461.9200000002 +11-10-2019 18:00,1549286.6400000001,721180.3280000001,721180.3280000001 +11-10-2019 19:00,1501065.8080000002,698733.86,698733.86 +11-10-2019 20:00,1503018.0000000002,699642.636,699642.636 +11-10-2019 21:00,769185.9120000001,358049.75800000003,358049.75800000003 +11-10-2019 22:00,216570.37600000002,100811.73300000001,100811.73300000001 +11-10-2019 23:00,194582.49800000002,90576.56300000001,90576.56300000001 +12-10-2019 00:00,185325.602,86267.566,86267.566 +12-10-2019 01:00,179753.55200000003,83673.82100000001,83673.82100000001 +12-10-2019 02:00,181467.121,84471.475,84471.475 +12-10-2019 03:00,244388.298,113760.74600000001,113760.74600000001 +12-10-2019 04:00,247170.74800000002,115055.974,115055.974 +12-10-2019 05:00,259220.56600000002,120665.061,120665.061 +12-10-2019 06:00,956643.072,445309.568,445309.568 +12-10-2019 07:00,2259476.208,1051767.816,1051767.816 +12-10-2019 08:00,3768242.7200000007,1754086.2240000002,1754086.2240000002 +12-10-2019 09:00,3003337.568,1398029.0720000002,1398029.0720000002 +12-10-2019 10:00,875641.4480000001,407603.9,407603.9 +12-10-2019 11:00,642392.7400000001,299028.598,299028.598 +12-10-2019 12:00,1159087.512,539545.7760000001,539545.7760000001 +12-10-2019 13:00,668680.3640000001,311265.262,311265.262 +12-10-2019 14:00,368107.498,171351.048,171351.048 +12-10-2019 15:00,224198.39200000002,104362.52200000001,104362.52200000001 +12-10-2019 16:00,437430.31200000003,203620.23,203620.23 +12-10-2019 17:00,1666883.6800000002,775920.728,775920.728 +12-10-2019 18:00,1831170.3520000002,852394.8400000001,852394.8400000001 +12-10-2019 19:00,1874399.648,872517.8,872517.8 +12-10-2019 20:00,1439674.016,670156.52,670156.52 +12-10-2019 21:00,598012.5360000001,278369.96,278369.96 +12-10-2019 22:00,310826.23000000004,144687.081,144687.081 +12-10-2019 23:00,293948.07200000004,136830.43000000002,136830.43000000002 +13-10-2019 00:00,288049.498,134084.698,134084.698 +13-10-2019 01:00,285783.78400000004,133030.018,133030.018 +13-10-2019 02:00,279823.06000000006,130255.345,130255.345 +13-10-2019 03:00,270993.03,126145.04100000001,126145.04100000001 +13-10-2019 04:00,259296.46600000001,120700.382,120700.382 +13-10-2019 05:00,255599.27800000002,118979.37700000002,118979.37700000002 +13-10-2019 06:00,1017332.4480000001,473559.98800000007,473559.98800000007 +13-10-2019 07:00,2452587.808,1141659.5520000001,1141659.5520000001 +13-10-2019 08:00,4023504.3200000003,1872908.4000000001,1872908.4000000001 +13-10-2019 09:00,3155174.1760000004,1468707.8560000001,1468707.8560000001 +13-10-2019 10:00,707273.996,329230.286,329230.286 +13-10-2019 11:00,173064.551,80560.128,80560.128 +13-10-2019 12:00,274044.12200000003,127565.29500000001,127565.29500000001 +13-10-2019 13:00,40553.524,18877.331000000002,18877.331000000002 +13-10-2019 14:00,29752.085,13849.352,13849.352 +13-10-2019 15:00,22044.946000000004,10261.735,10261.735 +13-10-2019 16:00,26640.273,12400.828000000001,12400.828000000001 +13-10-2019 17:00,316955.892,147540.382,147540.382 +13-10-2019 18:00,839583.8,390819.396,390819.396 +13-10-2019 19:00,1122835.9120000002,522670.94000000006,522670.94000000006 +13-10-2019 20:00,910813.8160000001,423976.43200000003,423976.43200000003 +13-10-2019 21:00,371096.96800000005,172742.614,172742.614 +13-10-2019 22:00,159133.711,74075.441,74075.441 +13-10-2019 23:00,152017.29400000002,70762.81300000001,70762.81300000001 +14-10-2019 00:00,177420.44100000002,82587.78000000001,82587.78000000001 +14-10-2019 01:00,217646.682,101312.761,101312.761 +14-10-2019 02:00,227963.38400000002,106115.09700000001,106115.09700000001 +14-10-2019 03:00,243107.50200000004,113164.56800000001,113164.56800000001 +14-10-2019 04:00,240939.534,112155.384,112155.384 +14-10-2019 05:00,251560.25400000004,117099.257,117099.257 +14-10-2019 06:00,1133934.736,527837.376,527837.376 +14-10-2019 07:00,2358832.9600000004,1098017.536,1098017.536 +14-10-2019 08:00,2244163.1520000002,1044639.6400000001,1044639.6400000001 +14-10-2019 09:00,1583745.3280000002,737220.484,737220.484 +14-10-2019 10:00,119092.91900000001,55436.777,55436.777 +14-10-2019 11:00,233931.50000000003,108893.21300000002,108893.21300000002 +14-10-2019 12:00,453538.052,211118.24800000002,211118.24800000002 +14-10-2019 13:00,165551.309,77062.799,77062.799 +14-10-2019 14:00,216377.87600000002,100722.12700000002,100722.12700000002 +14-10-2019 15:00,239308.67400000003,111396.24100000001,111396.24100000001 +14-10-2019 16:00,71553.647,33307.637,33307.637 +14-10-2019 17:00,2939593.7120000003,1368357.056,1368357.056 +14-10-2019 18:00,1236564.12,575610.464,575610.464 +14-10-2019 19:00,1189074.4800000002,553504.4240000001,553504.4240000001 +14-10-2019 20:00,1171398.8880000003,545276.644,545276.644 +14-10-2019 21:00,571105.5240000001,265844.94200000004,265844.94200000004 +14-10-2019 22:00,147525.213,68671.79000000001,68671.79000000001 +14-10-2019 23:00,134953.33500000002,62819.68000000001,62819.68000000001 +15-10-2019 00:00,150562.214,70085.48800000001,70085.48800000001 +15-10-2019 01:00,160204.90200000003,74574.07100000001,74574.07100000001 +15-10-2019 02:00,151601.28500000003,70569.16900000001,70569.16900000001 +15-10-2019 03:00,156593.19500000004,72892.86400000002,72892.86400000002 +15-10-2019 04:00,169882.00900000002,79078.68100000001,79078.68100000001 +15-10-2019 05:00,188829.608,87898.64600000001,87898.64600000001 +15-10-2019 06:00,811721.5920000001,377849.78,377849.78 +15-10-2019 07:00,1935138.304,900791.1440000001,900791.1440000001 +15-10-2019 08:00,1433175.392,667131.4760000001,667131.4760000001 +15-10-2019 09:00,1220592.5600000003,568175.9160000001,568175.9160000001 +15-10-2019 10:00,78281.28000000001,36439.293,36439.293 +15-10-2019 11:00,153151.25100000002,71290.65900000001,71290.65900000001 +15-10-2019 12:00,330217.184,153713.41700000002,153713.41700000002 +15-10-2019 13:00,127274.642,59245.30700000001,59245.30700000001 +15-10-2019 14:00,179219.37000000002,83425.15500000001,83425.15500000001 +15-10-2019 15:00,215312.50400000004,100226.225,100226.225 +15-10-2019 16:00,95778.782,44584.243,44584.243 +15-10-2019 17:00,2649859.5200000005,1233487.816,1233487.816 +15-10-2019 18:00,1272977.5520000001,592560.672,592560.672 +15-10-2019 19:00,1358551.304,632394.5760000001,632394.5760000001 +15-10-2019 20:00,1404930.12,653983.4839999999,653983.4839999999 +15-10-2019 21:00,740645.136,344764.266,344764.266 +15-10-2019 22:00,217982.95200000002,101469.29100000001,101469.29100000001 +15-10-2019 23:00,228351.13400000002,106295.58500000002,106295.58500000002 +16-10-2019 00:00,221777.20400000003,103235.48400000001,103235.48400000001 +16-10-2019 01:00,221517.25200000004,103114.473,103114.473 +16-10-2019 02:00,221275.16400000002,103001.78900000002,103001.78900000002 +16-10-2019 03:00,232898.84200000003,108412.513,108412.513 +16-10-2019 04:00,251060.524,116866.62900000002,116866.62900000002 +16-10-2019 05:00,267007.972,124290.03400000001,124290.03400000001 +16-10-2019 06:00,1162421.7440000002,541097.832,541097.832 +16-10-2019 07:00,2322118.8320000004,1080927.408,1080927.408 +16-10-2019 08:00,1876284.9600000002,873395.3360000001,873395.3360000001 +16-10-2019 09:00,1445633.904,672930.7640000001,672930.7640000001 +16-10-2019 10:00,91759.70100000002,42713.396,42713.396 +16-10-2019 11:00,215377.31600000002,100256.387,100256.387 +16-10-2019 12:00,445361.97200000007,207312.358,207312.358 +16-10-2019 13:00,263481.26200000005,122648.383,122648.383 +16-10-2019 14:00,260447.92400000003,121236.39,121236.39 +16-10-2019 15:00,276343.07800000004,128635.441,128635.441 +16-10-2019 16:00,151351.11200000002,70452.70100000002,70452.70100000002 +16-10-2019 17:00,3400621.6640000003,1582961.424,1582961.424 +16-10-2019 18:00,1372972.9200000002,639107.7000000001,639107.7000000001 +16-10-2019 19:00,1419580.0960000001,660803.0,660803.0 +16-10-2019 20:00,1432921.6,667013.3800000001,667013.3800000001 +16-10-2019 21:00,745343.984,346951.57200000004,346951.57200000004 +16-10-2019 22:00,227199.17000000004,105759.357,105759.357 +16-10-2019 23:00,213427.65400000004,99348.83200000001,99348.83200000001 +17-10-2019 00:00,205379.72400000002,95602.595,95602.595 +17-10-2019 01:00,204647.16800000003,95261.58400000002,95261.58400000002 +17-10-2019 02:00,202115.188,94082.978,94082.978 +17-10-2019 03:00,213252.842,99267.45400000001,99267.45400000001 +17-10-2019 04:00,230935.89200000002,107498.765,107498.765 +17-10-2019 05:00,241880.23200000002,112593.27200000001,112593.27200000001 +17-10-2019 06:00,1073769.5760000001,499831.0240000001,499831.0240000001 +17-10-2019 07:00,2235945.5360000003,1040814.456,1040814.456 +17-10-2019 08:00,2614670.9600000004,1217107.9360000002,1217107.9360000002 +17-10-2019 09:00,1637399.8080000002,762196.2480000001,762196.2480000001 +17-10-2019 10:00,88299.45300000001,41102.677,41102.677 +17-10-2019 11:00,124319.30500000001,57869.614,57869.614 +17-10-2019 12:00,325381.76,151462.54200000002,151462.54200000002 +17-10-2019 13:00,96341.81700000001,44846.340000000004,44846.340000000004 +17-10-2019 14:00,226618.942,105489.28500000002,105489.28500000002 +17-10-2019 15:00,242336.29200000002,112805.57200000001,112805.57200000001 +17-10-2019 16:00,493064.17600000004,229517.35400000002,229517.35400000002 +17-10-2019 17:00,3797986.0160000003,1767931.44,1767931.44 +17-10-2019 18:00,1681346.304,782652.9920000001,782652.9920000001 +17-10-2019 19:00,1712582.9600000002,797193.408,797193.408 +17-10-2019 20:00,1815096.272,844912.552,844912.552 +17-10-2019 21:00,930189.7440000001,432995.77200000006,432995.77200000006 +17-10-2019 22:00,284687.06200000003,132519.497,132519.497 +17-10-2019 23:00,264544.94,123143.515,123143.515 +18-10-2019 00:00,240685.56600000002,112037.16700000002,112037.16700000002 +18-10-2019 01:00,238478.48200000002,111009.778,111009.778 +18-10-2019 02:00,238087.89400000003,110827.98100000001,110827.98100000001 +18-10-2019 03:00,233771.36200000002,108818.66600000001,108818.66600000001 +18-10-2019 04:00,235154.21600000001,109462.37500000001,109462.37500000001 +18-10-2019 05:00,243825.40600000002,113498.73700000001,113498.73700000001 +18-10-2019 06:00,1175735.6160000002,547295.3200000001,547295.3200000001 +18-10-2019 07:00,2313076.3040000005,1076718.104,1076718.104 +18-10-2019 08:00,2782233.8720000004,1295107.2640000002,1295107.2640000002 +18-10-2019 09:00,1721897.408,801529.256,801529.256 +18-10-2019 10:00,143612.64500000002,66850.52,66850.52 +18-10-2019 11:00,297855.25,138649.181,138649.181 +18-10-2019 12:00,627026.3120000002,291875.672,291875.672 +18-10-2019 13:00,223508.692,104041.47600000001,104041.47600000001 +18-10-2019 14:00,313829.978,146085.291,146085.291 +18-10-2019 15:00,376618.13200000004,175312.68700000003,175312.68700000003 +18-10-2019 16:00,828094.784,385471.416,385471.416 +18-10-2019 17:00,4555330.9120000005,2120469.648,2120469.648 +18-10-2019 18:00,1764837.8880000003,821517.6640000001,821517.6640000001 +18-10-2019 19:00,1768847.8720000002,823384.408,823384.408 +18-10-2019 20:00,1742220.4800000002,810989.432,810989.432 +18-10-2019 21:00,969065.856,451092.26800000004,451092.26800000004 +18-10-2019 22:00,305448.396,142183.723,142183.723 +18-10-2019 23:00,287202.586,133690.44700000001,133690.44700000001 +19-10-2019 00:00,278785.606,129772.445,129772.445 +19-10-2019 01:00,277126.058,128999.91500000001,128999.91500000001 +19-10-2019 02:00,273401.238,127266.04000000001,127266.04000000001 +19-10-2019 03:00,270701.706,126009.444,126009.444 +19-10-2019 04:00,266923.074,124250.511,124250.511 +19-10-2019 05:00,267069.68200000003,124318.75500000002,124318.75500000002 +19-10-2019 06:00,1033841.7760000001,481244.896,481244.896 +19-10-2019 07:00,2476804.88,1152932.5280000002,1152932.5280000002 +19-10-2019 08:00,4965808.32,2311543.344,2311543.344 +19-10-2019 09:00,3695129.856,1720052.928,1720052.928 +19-10-2019 10:00,983587.088,457851.72400000005,457851.72400000005 +19-10-2019 11:00,530580.8640000001,246981.04200000002,246981.04200000002 +19-10-2019 12:00,967782.8160000001,450495.01200000005,450495.01200000005 +19-10-2019 13:00,482432.896,224568.54200000002,224568.54200000002 +19-10-2019 14:00,243906.564,113536.50000000001,113536.50000000001 +19-10-2019 15:00,152660.13400000002,71062.046,71062.046 +19-10-2019 16:00,1238908.0,576701.576,576701.576 +19-10-2019 17:00,1622369.056,755199.5440000001,755199.5440000001 +19-10-2019 18:00,1767991.9840000002,822985.768,822985.768 +19-10-2019 19:00,1822595.6320000002,848403.424,848403.424 +19-10-2019 20:00,1419413.424,660725.384,660725.384 +19-10-2019 21:00,600586.184,279567.97000000003,279567.97000000003 +19-10-2019 22:00,322562.504,150150.22000000003,150150.22000000003 +19-10-2019 23:00,303290.064,141179.049,141179.049 +20-10-2019 00:00,290391.83800000005,135175.04,135175.04 +20-10-2019 01:00,290244.68,135106.521,135106.521 +20-10-2019 02:00,295671.97000000003,137632.891,137632.891 +20-10-2019 03:00,309484.23000000004,144062.369,144062.369 +20-10-2019 04:00,322746.732,150235.97600000002,150235.97600000002 +20-10-2019 05:00,404794.10400000005,188428.372,188428.372 +20-10-2019 06:00,1370960.712,638170.9839999999,638170.9839999999 +20-10-2019 07:00,2955726.0480000004,1375866.36,1375866.36 +20-10-2019 08:00,5600731.488000001,2607095.04,2607095.04 +20-10-2019 09:00,4191492.0960000004,1951105.3760000002,1951105.3760000002 +20-10-2019 10:00,1392485.6,648190.5760000001,648190.5760000001 +20-10-2019 11:00,848319.2080000001,394885.6560000001,394885.6560000001 +20-10-2019 12:00,1210166.144,563322.452,563322.452 +20-10-2019 13:00,630335.6400000001,293416.112,293416.112 +20-10-2019 14:00,328001.60800000007,152682.09,152682.09 +20-10-2019 15:00,229566.21600000001,106861.20500000002,106861.20500000002 +20-10-2019 16:00,1441169.312,670852.5120000001,670852.5120000001 +20-10-2019 17:00,1785087.568,830943.696,830943.696 +20-10-2019 18:00,1901181.9200000002,884984.6720000001,884984.6720000001 +20-10-2019 19:00,1905442.0000000002,886967.6640000001,886967.6640000001 +20-10-2019 20:00,1450238.5920000002,675074.224,675074.224 +20-10-2019 21:00,617472.5480000001,287428.438,287428.438 +20-10-2019 22:00,322619.792,150176.873,150176.873 +20-10-2019 23:00,300202.47400000005,139741.81100000002,139741.81100000002 +21-10-2019 00:00,288696.694,134385.95500000002,134385.95500000002 +21-10-2019 01:00,291829.64800000004,135844.31300000002,135844.31300000002 +21-10-2019 02:00,297163.35000000003,138327.11200000002,138327.11200000002 +21-10-2019 03:00,301054.204,140138.284,140138.284 +21-10-2019 04:00,304861.30400000006,141910.461,141910.461 +21-10-2019 05:00,328256.5,152800.73600000003,152800.73600000003 +21-10-2019 06:00,1689620.064,786504.4,786504.4 +21-10-2019 07:00,2833046.48,1318759.992,1318759.992 +21-10-2019 08:00,4156496.608,1934815.3440000003,1934815.3440000003 +21-10-2019 09:00,2260347.936,1052173.584,1052173.584 +21-10-2019 10:00,318277.41,148155.546,148155.546 +21-10-2019 11:00,434265.6560000001,202147.11000000002,202147.11000000002 +21-10-2019 12:00,771245.728,359008.606,359008.606 +21-10-2019 13:00,421610.068,196256.038,196256.038 +21-10-2019 14:00,459451.74000000005,213871.02000000002,213871.02000000002 +21-10-2019 15:00,523397.11600000004,243637.08600000004,243637.08600000004 +21-10-2019 16:00,1065625.7920000001,496040.16000000003,496040.16000000003 +21-10-2019 17:00,5115059.488000001,2381018.4640000006,2381018.4640000006 +21-10-2019 18:00,1949608.144,907526.6640000001,907526.6640000001 +21-10-2019 19:00,1887911.8720000002,878807.5120000001,878807.5120000001 +21-10-2019 20:00,1938939.3760000002,902560.384,902560.384 +21-10-2019 21:00,1019980.5440000001,474792.56,474792.56 +21-10-2019 22:00,313282.81600000005,145830.586,145830.586 +21-10-2019 23:00,294384.99199999997,137033.798,137033.798 +22-10-2019 00:00,282753.30600000004,131619.35600000003,131619.35600000003 +22-10-2019 01:00,282393.166,131451.71600000001,131451.71600000001 +22-10-2019 02:00,282046.64400000003,131290.412,131290.412 +22-10-2019 03:00,285958.838,133111.50600000002,133111.50600000002 +22-10-2019 04:00,285375.398,132839.916,132839.916 +22-10-2019 05:00,284475.70800000004,132421.124,132421.124 +22-10-2019 06:00,1470651.2480000001,684576.156,684576.156 +22-10-2019 07:00,2634430.656,1226306.2240000002,1226306.2240000002 +22-10-2019 08:00,3655459.808,1701586.6560000002,1701586.6560000002 +22-10-2019 09:00,1983889.9520000003,923484.584,923484.584 +22-10-2019 10:00,240453.75200000004,111929.24600000001,111929.24600000001 +22-10-2019 11:00,329630.642,153440.364,153440.364 +22-10-2019 12:00,697343.856,324607.86600000004,324607.86600000004 +22-10-2019 13:00,378886.77200000006,176368.709,176368.709 +22-10-2019 14:00,341326.634,158884.73700000002,158884.73700000002 +22-10-2019 15:00,483865.27200000006,225235.34000000003,225235.34000000003 +22-10-2019 16:00,1028350.5760000001,478688.80400000006,478688.80400000006 +22-10-2019 17:00,5092571.264,2370550.512,2370550.512 +22-10-2019 18:00,2114242.0640000002,984162.3440000002,984162.3440000002 +22-10-2019 19:00,2138260.9600000004,995343.0080000001,995343.0080000001 +22-10-2019 20:00,2255853.776,1050081.56,1050081.56 +22-10-2019 21:00,1247840.5280000002,580859.62,580859.62 +22-10-2019 22:00,414085.364,192753.374,192753.374 +22-10-2019 23:00,400331.66800000006,186351.132,186351.132 +23-10-2019 00:00,394980.96,183860.391,183860.391 +23-10-2019 01:00,403999.42000000004,188058.464,188058.464 +23-10-2019 02:00,401245.064,186776.30400000003,186776.30400000003 +23-10-2019 03:00,381742.72400000005,177698.13600000003,177698.13600000003 +23-10-2019 04:00,478014.63600000006,222511.89400000003,222511.89400000003 +23-10-2019 05:00,562408.792,261796.7,261796.7 +23-10-2019 06:00,2106753.44,980676.5760000001,980676.5760000001 +23-10-2019 07:00,3171670.3040000005,1476386.648,1476386.648 +23-10-2019 08:00,4797545.632,2233218.592,2233218.592 +23-10-2019 09:00,2463624.24,1146796.992,1146796.992 +23-10-2019 10:00,367466.66000000003,171052.75,171052.75 +23-10-2019 11:00,547610.5800000001,254908.25800000003,254908.25800000003 +23-10-2019 12:00,859157.464,399930.78400000004,399930.78400000004 +23-10-2019 13:00,401434.48400000005,186864.458,186864.458 +23-10-2019 14:00,282659.146,131575.521,131575.521 +23-10-2019 15:00,393213.52400000003,183037.69,183037.69 +23-10-2019 16:00,740496.3280000001,344694.966,344694.966 +23-10-2019 17:00,5229160.288000001,2434131.568,2434131.568 +23-10-2019 18:00,1986721.968,924802.824,924802.824 +23-10-2019 19:00,1974173.3440000003,918961.6480000002,918961.6480000002 +23-10-2019 20:00,1953301.8560000001,909246.0080000001,909246.0080000001 +23-10-2019 21:00,1030817.128,479836.98400000005,479836.98400000005 +23-10-2019 22:00,309688.83,144157.60700000002,144157.60700000002 +23-10-2019 23:00,283125.282,131792.518,131792.518 +24-10-2019 00:00,280217.234,130438.83600000001,130438.83600000001 +24-10-2019 01:00,279242.216,129984.96500000001,129984.96500000001 +24-10-2019 02:00,280728.38200000004,130676.75500000002,130676.75500000002 +24-10-2019 03:00,282527.41000000003,131514.19600000003,131514.19600000003 +24-10-2019 04:00,279931.564,130305.857,130305.857 +24-10-2019 05:00,297141.9,138317.124,138317.124 +24-10-2019 06:00,1516612.9440000001,705970.9800000001,705970.9800000001 +24-10-2019 07:00,2674720.9280000003,1245060.784,1245060.784 +24-10-2019 08:00,3714098.08,1728882.32,1728882.32 +24-10-2019 09:00,2005243.3280000002,933424.4480000001,933424.4480000001 +24-10-2019 10:00,252263.44,117426.573,117426.573 +24-10-2019 11:00,410620.232,191140.356,191140.356 +24-10-2019 12:00,578409.6120000001,269244.93200000003,269244.93200000003 +24-10-2019 13:00,193085.222,89879.592,89879.592 +24-10-2019 14:00,268349.004,124914.273,124914.273 +24-10-2019 15:00,339290.578,157936.999,157936.999 +24-10-2019 16:00,555352.5560000001,258512.10000000003,258512.10000000003 +24-10-2019 17:00,4491443.264,2090730.4000000001,2090730.4000000001 +24-10-2019 18:00,1495158.72,695984.1680000001,695984.1680000001 +24-10-2019 19:00,1451015.72,675435.992,675435.992 +24-10-2019 20:00,1716354.4640000002,798949.096,798949.096 +24-10-2019 21:00,911796.5120000001,424433.856,424433.856 +24-10-2019 22:00,272664.128,126922.928,126922.928 +24-10-2019 23:00,264790.72400000005,123257.91500000001,123257.91500000001 +25-10-2019 00:00,258440.22600000002,120301.819,120301.819 +25-10-2019 01:00,255761.52800000002,119054.91400000002,119054.91400000002 +25-10-2019 02:00,258580.608,120367.17000000001,120367.17000000001 +25-10-2019 03:00,268877.664,125160.365,125160.365 +25-10-2019 04:00,275059.18,128037.78900000002,128037.78900000002 +25-10-2019 05:00,278992.29600000003,129868.62900000002,129868.62900000002 +25-10-2019 06:00,1417264.2000000002,659724.868,659724.868 +25-10-2019 07:00,2522312.6720000003,1174115.712,1174115.712 +25-10-2019 08:00,3468379.9040000006,1614502.736,1614502.736 +25-10-2019 09:00,1999349.968,930681.136,930681.136 +25-10-2019 10:00,250004.282,116374.95100000002,116374.95100000002 +25-10-2019 11:00,441763.036,205637.102,205637.102 +25-10-2019 12:00,683832.952,318318.704,318318.704 +25-10-2019 13:00,354683.27400000003,165102.168,165102.168 +25-10-2019 14:00,390625.928,181833.19,181833.19 +25-10-2019 15:00,450750.212,209820.556,209820.556 +25-10-2019 16:00,885241.984,412072.892,412072.892 +25-10-2019 17:00,4966629.888,2311925.6160000004,2311925.6160000004 +25-10-2019 18:00,1690307.3440000003,786824.2800000001,786824.2800000001 +25-10-2019 19:00,1623426.992,755691.9920000001,755691.9920000001 +25-10-2019 20:00,1585560.4160000002,738065.4160000001,738065.4160000001 +25-10-2019 21:00,817098.5680000001,380352.72000000003,380352.72000000003 +25-10-2019 22:00,242322.19,112798.994,112798.994 +25-10-2019 23:00,222720.47600000002,103674.56000000001,103674.56000000001 +26-10-2019 00:00,212228.456,98790.615,98790.615 +26-10-2019 01:00,212691.094,99005.962,99005.962 +26-10-2019 02:00,202219.6,94131.565,94131.565 +26-10-2019 03:00,196201.50000000003,91330.20600000002,91330.20600000002 +26-10-2019 04:00,198347.688,92329.23700000001,92329.23700000001 +26-10-2019 05:00,208864.39200000002,97224.67700000001,97224.67700000001 +26-10-2019 06:00,874547.3440000002,407094.64400000003,407094.64400000003 +26-10-2019 07:00,2181730.3200000003,1015577.7280000001,1015577.7280000001 +26-10-2019 08:00,4336888.16,2018786.0000000002,2018786.0000000002 +26-10-2019 09:00,2938204.7200000007,1367710.256,1367710.256 +26-10-2019 10:00,653600.332,304245.612,304245.612 +26-10-2019 11:00,113818.04500000001,52981.379,52981.379 +26-10-2019 12:00,432181.33200000005,201176.888,201176.888 +26-10-2019 13:00,34971.233,16278.823000000002,16278.823000000002 +26-10-2019 14:00,44354.904,20646.846,20646.846 +26-10-2019 15:00,62466.404,29077.598,29077.598 +26-10-2019 16:00,587951.188,273686.49,273686.49 +26-10-2019 17:00,968828.52,450981.78400000004,450981.78400000004 +26-10-2019 18:00,1105549.192,514624.13200000004,514624.13200000004 +26-10-2019 19:00,1166511.456,543001.5800000001,543001.5800000001 +26-10-2019 20:00,841370.464,391651.128,391651.128 +26-10-2019 21:00,333404.3240000001,155196.998,155196.998 +26-10-2019 22:00,160227.80400000003,74584.73000000001,74584.73000000001 +26-10-2019 23:00,209663.674,97596.73000000001,97596.73000000001 +27-10-2019 00:00,249314.64800000002,116053.93800000001,116053.93800000001 +27-10-2019 01:00,268274.46800000005,124879.57900000001,124879.57900000001 +27-10-2019 02:00,276593.68,128752.096,128752.096 +27-10-2019 03:00,277787.13600000006,129307.64,129307.64 +27-10-2019 04:00,285428.17600000004,132864.49,132864.49 +27-10-2019 05:00,302349.60800000007,140741.282,140741.282 +27-10-2019 06:00,349224.612,162561.20100000003,162561.20100000003 +27-10-2019 07:00,1179392.016,548997.4160000001,548997.4160000001 +27-10-2019 08:00,2710471.1040000003,1261702.2880000002,1261702.2880000002 +27-10-2019 09:00,4410936.992000001,2053255.0720000002,2053255.0720000002 +27-10-2019 10:00,3789056.8320000004,1763775.2000000002,1763775.2000000002 +27-10-2019 11:00,1423793.712,662764.3,662764.3 +27-10-2019 12:00,1276118.1840000001,594022.572,594022.572 +27-10-2019 13:00,704997.7440000001,328170.678,328170.678 +27-10-2019 14:00,371700.032,173023.34500000003,173023.34500000003 +27-10-2019 15:00,372081.292,173200.78600000002,173200.78600000002 +27-10-2019 16:00,1590199.776,740225.024,740225.024 +27-10-2019 17:00,1981328.6240000003,922292.2720000001,922292.2720000001 +27-10-2019 18:00,2090854.4800000002,973275.6000000001,973275.6000000001 +27-10-2019 19:00,2125798.7520000003,989541.9600000001,989541.9600000001 +27-10-2019 20:00,2158485.8240000005,1004757.5120000001,1004757.5120000001 +27-10-2019 21:00,1723118.4960000003,802097.6480000002,802097.6480000002 +27-10-2019 22:00,718872.572,334629.37200000003,334629.37200000003 +27-10-2019 23:00,416640.356,193942.69400000002,193942.69400000002 +28-10-2019 00:00,419568.46800000005,195305.682,195305.682 +28-10-2019 01:00,450768.3400000001,209828.98200000002,209828.98200000002 +28-10-2019 02:00,464950.33200000005,216430.56600000002,216430.56600000002 +28-10-2019 03:00,564411.716,262729.06000000006,262729.06000000006 +28-10-2019 04:00,745469.032,347009.74000000005,347009.74000000005 +28-10-2019 05:00,833060.0080000001,387782.64800000004,387782.64800000004 +28-10-2019 06:00,957536.4480000001,445725.412,445725.412 +28-10-2019 07:00,2677404.0480000004,1246309.768,1246309.768 +28-10-2019 08:00,3306103.328,1538964.24,1538964.24 +28-10-2019 09:00,3979860.544,1852592.7200000002,1852592.7200000002 +28-10-2019 10:00,2464232.4960000003,1147080.1760000002,1147080.1760000002 +28-10-2019 11:00,265167.408,123433.266,123433.266 +28-10-2019 12:00,736017.3040000001,342610.092,342610.092 +28-10-2019 13:00,524627.8840000001,244210.01000000004,244210.01000000004 +28-10-2019 14:00,543176.304,252844.13,252844.13 +28-10-2019 15:00,359922.134,167540.791,167540.791 +28-10-2019 16:00,1698345.7920000001,790566.128,790566.128 +28-10-2019 17:00,1983104.2880000002,923118.856,923118.856 +28-10-2019 18:00,6367916.544000001,2964212.768,2964212.768 +28-10-2019 19:00,2976706.6560000004,1385632.512,1385632.512 +28-10-2019 20:00,2704113.1040000003,1258742.584,1258742.584 +28-10-2019 21:00,2754979.04,1282420.2160000002,1282420.2160000002 +28-10-2019 22:00,1477768.1600000001,687889.0040000001,687889.0040000001 +28-10-2019 23:00,467920.81600000005,217813.31000000003,217813.31000000003 +29-10-2019 00:00,471040.32800000004,219265.442,219265.442 +29-10-2019 01:00,461924.76,215022.214,215022.214 +29-10-2019 02:00,461302.51200000005,214732.54,214732.54 +29-10-2019 03:00,466681.60000000003,217236.49200000003,217236.49200000003 +29-10-2019 04:00,701845.3640000001,326703.32200000004,326703.32200000004 +29-10-2019 05:00,867293.856,403718.216,403718.216 +29-10-2019 06:00,1171484.424,545316.42,545316.42 +29-10-2019 07:00,3078954.5600000005,1433228.192,1433228.192 +29-10-2019 08:00,3579989.952,1666456.0000000002,1666456.0000000002 +29-10-2019 09:00,4079749.3440000005,1899089.9840000002,1899089.9840000002 +29-10-2019 10:00,2351424.0640000002,1094568.6400000001,1094568.6400000001 +29-10-2019 11:00,325586.646,151557.91200000004,151557.91200000004 +29-10-2019 12:00,897795.2720000001,417916.4,417916.4 +29-10-2019 13:00,395973.82000000007,184322.589,184322.589 +29-10-2019 14:00,620754.9040000001,288956.36,288956.36 +29-10-2019 15:00,391107.112,182057.18300000002,182057.18300000002 +29-10-2019 16:00,1712016.768,796929.8480000001,796929.8480000001 +29-10-2019 17:00,2090598.928,973156.7120000002,973156.7120000002 +29-10-2019 18:00,6605670.016,3074885.44,3074885.44 +29-10-2019 19:00,3257526.6240000003,1516352.112,1516352.112 +29-10-2019 20:00,2842950.5280000004,1323370.4000000001,1323370.4000000001 +29-10-2019 21:00,2915275.7920000004,1357037.0880000002,1357037.0880000002 +29-10-2019 22:00,1594335.9520000003,742150.376,742150.376 +29-10-2019 23:00,518083.3680000001,241163.60400000002,241163.60400000002 +30-10-2019 00:00,516829.3240000001,240579.856,240579.856 +30-10-2019 01:00,536799.296,249875.692,249875.692 +30-10-2019 02:00,527665.6000000001,245624.06000000003,245624.06000000003 +30-10-2019 03:00,693344.9600000001,322746.446,322746.446 +30-10-2019 04:00,934568.5360000001,435034.028,435034.028 +30-10-2019 05:00,1144584.672,532794.856,532794.856 +30-10-2019 06:00,1302183.784,606155.924,606155.924 +30-10-2019 07:00,3560367.3600000003,1657321.9520000003,1657321.9520000003 +30-10-2019 08:00,3928393.9200000004,1828635.4240000003,1828635.4240000003 +30-10-2019 09:00,4355524.096,2027461.04,2027461.04 +30-10-2019 10:00,2898739.008,1349339.4640000002,1349339.4640000002 +30-10-2019 11:00,549547.328,255809.796,255809.796 +30-10-2019 12:00,1219239.384,567546.012,567546.012 +30-10-2019 13:00,501041.596,233230.80000000002,233230.80000000002 +30-10-2019 14:00,230655.37000000002,107368.18400000001,107368.18400000001 +30-10-2019 15:00,459382.264,213838.68,213838.68 +30-10-2019 16:00,2006590.6080000002,934051.6240000001,934051.6240000001 +30-10-2019 17:00,2449328.288,1140142.52,1140142.52 +30-10-2019 18:00,6913917.120000001,3218371.9040000006,3218371.9040000006 +30-10-2019 19:00,3875630.1760000004,1804074.448,1804074.448 +30-10-2019 20:00,3184645.728,1482426.5280000002,1482426.5280000002 +30-10-2019 21:00,3207100.8640000005,1492879.3440000003,1492879.3440000003 +30-10-2019 22:00,1743387.8880000003,811532.832,811532.832 +30-10-2019 23:00,564605.6240000001,262819.30400000006,262819.30400000006 +31-10-2019 00:00,556449.6080000001,259022.78600000002,259022.78600000002 +31-10-2019 01:00,570515.748,265570.42600000004,265570.42600000004 +31-10-2019 02:00,587523.332,273487.324,273487.324 +31-10-2019 03:00,941253.8080000001,438145.928,438145.928 +31-10-2019 04:00,1174825.8720000002,546871.908,546871.908 +31-10-2019 05:00,1309802.8240000003,609702.5440000001,609702.5440000001 +31-10-2019 06:00,1507465.6960000002,701712.9680000001,701712.9680000001 +31-10-2019 07:00,3965420.0960000004,1845870.5760000001,1845870.5760000001 +31-10-2019 08:00,4142269.4720000005,1928192.6400000001,1928192.6400000001 +31-10-2019 09:00,4575062.624,2129654.384,2129654.384 +31-10-2019 10:00,3550115.3600000003,1652549.712,1652549.712 +31-10-2019 11:00,1329343.84,618798.752,618798.752 +31-10-2019 12:00,1499193.8720000002,697862.4400000001,697862.4400000001 +31-10-2019 13:00,657305.0440000001,305970.126,305970.126 +31-10-2019 14:00,646872.3800000001,301113.8240000001,301113.8240000001 +31-10-2019 15:00,1018889.784,474284.93200000003,474284.93200000003 +31-10-2019 16:00,2743574.24,1277111.44,1277111.44 +31-10-2019 17:00,2836629.312,1320427.768,1320427.768 +31-10-2019 18:00,7375600.320000001,3433281.984,3433281.984 +31-10-2019 19:00,4616713.376,2149042.3680000002,2149042.3680000002 +31-10-2019 20:00,3548336.7040000004,1651721.6320000002,1651721.6320000002 +31-10-2019 21:00,3511804.384,1634716.3360000001,1634716.3360000001 +31-10-2019 22:00,1962229.2800000003,913401.72,913401.72 +31-10-2019 23:00,635764.228,295943.032,295943.032 +1-11-2019 00:00,627908.6000000001,292286.302,292286.302 +1-11-2019 01:00,608770.844,283377.864,283377.864 +1-11-2019 02:00,750344.3200000001,349279.172,349279.172 +1-11-2019 03:00,1079985.192,502724.28800000006,502724.28800000006 +1-11-2019 04:00,1238898.4960000003,576697.0880000001,576697.0880000001 +1-11-2019 05:00,1333080.4960000003,620538.1160000002,620538.1160000002 +1-11-2019 06:00,1404976.7600000002,654005.1760000001,654005.1760000001 +1-11-2019 07:00,3891380.768,1811406.0800000003,1811406.0800000003 +1-11-2019 08:00,4108678.4640000006,1912556.272,1912556.272 +1-11-2019 09:00,5354849.28,2492638.3680000002,2492638.3680000002 +1-11-2019 10:00,4374380.7360000005,2036238.6880000003,2036238.6880000003 +1-11-2019 11:00,1757531.0720000002,818116.376,818116.376 +1-11-2019 12:00,2126336.608,989792.2320000001,989792.2320000001 +1-11-2019 13:00,1600288.8,744921.3200000001,744921.3200000001 +1-11-2019 14:00,1267197.712,589870.2480000001,589870.2480000001 +1-11-2019 15:00,1482677.3280000002,690174.188,690174.188 +1-11-2019 16:00,2801129.9359999998,1303903.128,1303903.128 +1-11-2019 17:00,2378976.16,1107394.024,1107394.024 +1-11-2019 18:00,6957737.600000001,3238770.3040000005,3238770.3040000005 +1-11-2019 19:00,4213746.944,1961464.7360000003,1961464.7360000003 +1-11-2019 20:00,2718396.736,1265391.512,1265391.512 +1-11-2019 21:00,2596371.3600000003,1208589.536,1208589.536 +1-11-2019 22:00,1335623.4320000003,621721.892,621721.892 +1-11-2019 23:00,378339.58800000005,176114.00400000002,176114.00400000002 +2-11-2019 00:00,362518.04600000003,168749.174,168749.174 +2-11-2019 01:00,352308.33,163996.646,163996.646 +2-11-2019 02:00,342040.314,159216.981,159216.981 +2-11-2019 03:00,336866.81600000005,156808.75100000002,156808.75100000002 +2-11-2019 04:00,333892.878,155424.401,155424.401 +2-11-2019 05:00,339436.13,158004.75900000002,158004.75900000002 +2-11-2019 06:00,517752.13600000006,241009.40600000002,241009.40600000002 +2-11-2019 07:00,1486729.5520000001,692060.6000000001,692060.6000000001 +2-11-2019 08:00,3198953.472,1489086.72,1489086.72 +2-11-2019 09:00,5654961.312,2632338.72,2632338.72 +2-11-2019 10:00,5089306.464000001,2369030.752,2369030.752 +2-11-2019 11:00,2031497.2480000001,945645.3600000001,945645.3600000001 +2-11-2019 12:00,2052961.1520000002,955636.6160000002,955636.6160000002 +2-11-2019 13:00,1257740.2640000002,585467.9600000001,585467.9600000001 +2-11-2019 14:00,713353.0360000001,332060.014,332060.014 +2-11-2019 15:00,935683.496,435553.052,435553.052 +2-11-2019 16:00,2126348.048,989797.6880000001,989797.6880000001 +2-11-2019 17:00,2311048.784,1075774.392,1075774.392 +2-11-2019 18:00,2338286.544,1088453.344,1088453.344 +2-11-2019 19:00,2355671.296,1096545.824,1096545.824 +2-11-2019 20:00,2382638.896,1109098.936,1109098.936 +2-11-2019 21:00,1819601.168,847009.5040000001,847009.5040000001 +2-11-2019 22:00,754029.1440000001,350994.42400000006,350994.42400000006 +2-11-2019 23:00,377996.212,175954.13,175954.13 +3-11-2019 00:00,375201.33200000005,174653.16000000003,174653.16000000003 +3-11-2019 01:00,373794.74000000005,173998.42900000003,173998.42900000003 +3-11-2019 02:00,390117.376,181596.481,181596.481 +3-11-2019 03:00,412712.212,192114.16400000002,192114.16400000002 +3-11-2019 04:00,476994.276,222036.958,222036.958 +3-11-2019 05:00,619497.6480000002,288371.094,288371.094 +3-11-2019 06:00,754805.7440000001,351355.97200000007,351355.97200000007 +3-11-2019 07:00,1738229.3280000002,809131.5760000001,809131.5760000001 +3-11-2019 08:00,3426879.4560000002,1595184.448,1595184.448 +3-11-2019 09:00,5979893.568,2783591.7120000003,2783591.7120000003 +3-11-2019 10:00,5015661.024,2334749.1200000006,2334749.1200000006 +3-11-2019 11:00,2365298.6720000003,1101027.1360000002,1101027.1360000002 +3-11-2019 12:00,2061237.5520000001,959489.3440000002,959489.3440000002 +3-11-2019 13:00,1266813.1520000002,589691.1680000001,589691.1680000001 +3-11-2019 14:00,1030198.488,479548.96,479548.96 +3-11-2019 15:00,1070673.384,498389.716,498389.716 +3-11-2019 16:00,2258288.736,1051215.0,1051215.0 +3-11-2019 17:00,2397752.1920000003,1116134.0080000001,1116134.0080000001 +3-11-2019 18:00,2459225.824,1144749.496,1144749.496 +3-11-2019 19:00,2489416.512,1158803.0080000001,1158803.0080000001 +3-11-2019 20:00,2526327.0560000003,1175984.4800000002,1175984.4800000002 +3-11-2019 21:00,1959444.784,912105.5680000001,912105.5680000001 +3-11-2019 22:00,846570.824,394071.744,394071.744 +3-11-2019 23:00,452014.42000000004,210409.01200000002,210409.01200000002 +4-11-2019 00:00,456666.76,212574.62600000002,212574.62600000002 +4-11-2019 01:00,454598.628,211611.972,211611.972 +4-11-2019 02:00,439163.64800000004,204427.102,204427.102 +4-11-2019 03:00,428338.28400000004,199387.98,199387.98 +4-11-2019 04:00,511642.78,238165.532,238165.532 +4-11-2019 05:00,603967.8040000001,281142.048,281142.048 +4-11-2019 06:00,731707.2400000001,340603.75800000003,340603.75800000003 +4-11-2019 07:00,2459836.0160000003,1145033.56,1145033.56 +4-11-2019 08:00,3277504.384,1525651.6,1525651.6 +4-11-2019 09:00,4430051.648000001,2062152.7520000003,2062152.7520000003 +4-11-2019 10:00,3013496.9920000006,1402758.192,1402758.192 +4-11-2019 11:00,994180.1760000001,462782.76,462782.76 +4-11-2019 12:00,1512237.408,703934.088,703934.088 +4-11-2019 13:00,1069652.32,497914.384,497914.384 +4-11-2019 14:00,763379.408,355346.86,355346.86 +4-11-2019 15:00,985492.552,458738.764,458738.764 +4-11-2019 16:00,2267627.12,1055561.8480000002,1055561.8480000002 +4-11-2019 17:00,2051482.7520000003,954948.456,954948.456 +4-11-2019 18:00,6617497.216,3080391.072,3080391.072 +4-11-2019 19:00,3098384.9600000004,1442272.9200000002,1442272.9200000002 +4-11-2019 20:00,2517422.512,1171839.5920000002,1171839.5920000002 +4-11-2019 21:00,2493435.472,1160673.8880000003,1160673.8880000003 +4-11-2019 22:00,1312304.928,610867.3120000002,610867.3120000002 +4-11-2019 23:00,391539.14800000004,182258.263,182258.263 +5-11-2019 00:00,383322.016,178433.27700000003,178433.27700000003 +5-11-2019 01:00,386742.18,180025.31800000003,180025.31800000003 +5-11-2019 02:00,391659.70800000004,182314.396,182314.396 +5-11-2019 03:00,409430.20800000004,190586.41800000003,190586.41800000003 +5-11-2019 04:00,413049.29600000003,192271.06800000003,192271.06800000003 +5-11-2019 05:00,556602.9480000001,259094.132,259094.132 +5-11-2019 06:00,727540.8360000001,338664.348,338664.348 +5-11-2019 07:00,2483515.9359999998,1156056.3520000002,1156056.3520000002 +5-11-2019 08:00,3316021.2800000003,1543580.8960000002,1543580.8960000002 +5-11-2019 09:00,4486229.792,2088303.1840000001,2088303.1840000001 +5-11-2019 10:00,3112596.256,1448888.144,1448888.144 +5-11-2019 11:00,1118862.624,520821.4,520821.4 +5-11-2019 12:00,1591076.08,740632.9040000001,740632.9040000001 +5-11-2019 13:00,1129592.7280000001,525816.192,525816.192 +5-11-2019 14:00,872151.8960000001,405979.596,405979.596 +5-11-2019 15:00,1156637.4160000002,538405.296,538405.296 +5-11-2019 16:00,2384318.816,1109880.992,1109880.992 +5-11-2019 17:00,2104058.528,979422.136,979422.136 +5-11-2019 18:00,6759651.008,3146562.4960000003,3146562.4960000003 +5-11-2019 19:00,3358400.3200000003,1563308.0320000004,1563308.0320000004 +5-11-2019 20:00,2603899.5840000003,1212093.9600000002,1212093.9600000002 +5-11-2019 21:00,2539856.1760000004,1182282.2000000002,1182282.2000000002 +5-11-2019 22:00,1341940.2480000001,624662.236,624662.236 +5-11-2019 23:00,399376.56,185906.534,185906.534 +6-11-2019 00:00,391673.612,182320.87500000003,182320.87500000003 +6-11-2019 01:00,392838.11600000004,182862.93300000002,182862.93300000002 +6-11-2019 02:00,395901.044,184288.72000000003,184288.72000000003 +6-11-2019 03:00,402510.10800000007,187365.15600000002,187365.15600000002 +6-11-2019 04:00,408018.95200000005,189929.52000000002,189929.52000000002 +6-11-2019 05:00,563942.676,262510.732,262510.732 +6-11-2019 06:00,743469.8480000001,346079.184,346079.184 +6-11-2019 07:00,2516546.5600000005,1171432.064,1171432.064 +6-11-2019 08:00,3397449.44,1581484.9600000002,1581484.9600000002 +6-11-2019 09:00,4608928.544000001,2145418.704,2145418.704 +6-11-2019 10:00,3205356.7040000004,1492067.2800000003,1492067.2800000003 +6-11-2019 11:00,972674.824,452772.14400000003,452772.14400000003 +6-11-2019 12:00,1387641.904,645935.9720000001,645935.9720000001 +6-11-2019 13:00,1129014.4800000002,525547.044,525547.044 +6-11-2019 14:00,876051.7040000001,407794.94800000003,407794.94800000003 +6-11-2019 15:00,1209822.064,563162.336,563162.336 +6-11-2019 16:00,2569635.2,1196144.048,1196144.048 +6-11-2019 17:00,2353516.88,1095542.888,1095542.888 +6-11-2019 18:00,6904955.904,3214200.7040000004,3214200.7040000004 +6-11-2019 19:00,3625129.728,1687468.2880000002,1687468.2880000002 +6-11-2019 20:00,2811939.1520000002,1308934.8800000001,1308934.8800000001 +6-11-2019 21:00,2779914.3680000002,1294027.4160000002,1294027.4160000002 +6-11-2019 22:00,1462961.72,680996.756,680996.756 +6-11-2019 23:00,442746.216,206094.768,206094.768 +7-11-2019 00:00,437729.46800000005,203759.49000000002,203759.49000000002 +7-11-2019 01:00,429983.75200000004,200153.932,200153.932 +7-11-2019 02:00,439028.78800000006,204364.29200000002,204364.29200000002 +7-11-2019 03:00,443732.30000000005,206553.776,206553.776 +7-11-2019 04:00,524237.25200000004,244028.15800000002,244028.15800000002 +7-11-2019 05:00,688134.876,320321.188,320321.188 +7-11-2019 06:00,841451.424,391688.704,391688.704 +7-11-2019 07:00,2686053.9200000004,1250336.208,1250336.208 +7-11-2019 08:00,3494248.0320000006,1626543.9520000003,1626543.9520000003 +7-11-2019 09:00,4768408.1280000005,2219655.1520000002,2219655.1520000002 +7-11-2019 10:00,3367395.68,1567495.2480000001,1567495.2480000001 +7-11-2019 11:00,1238402.704,576466.3960000001,576466.3960000001 +7-11-2019 12:00,1717918.4000000001,799677.032,799677.032 +7-11-2019 13:00,1318772.664,613877.9680000001,613877.9680000001 +7-11-2019 14:00,1068494.4160000002,497375.428,497375.428 +7-11-2019 15:00,1338267.2160000002,622952.4839999999,622952.4839999999 +7-11-2019 16:00,2579227.376,1200609.344,1200609.344 +7-11-2019 17:00,2271228.784,1057238.512,1057238.512 +7-11-2019 18:00,6888928.640000001,3206739.7120000003,3206739.7120000003 +7-11-2019 19:00,3819377.4080000003,1777888.992,1777888.992 +7-11-2019 20:00,2878806.3040000005,1340060.7440000002,1340060.7440000002 +7-11-2019 21:00,2883438.4480000003,1342217.0960000001,1342217.0960000001 +7-11-2019 22:00,1549184.384,721132.6320000001,721132.6320000001 +7-11-2019 23:00,480799.92400000006,223808.464,223808.464 +8-11-2019 00:00,477493.192,222269.16800000003,222269.16800000003 +8-11-2019 01:00,490757.60800000007,228443.64400000003,228443.64400000003 +8-11-2019 02:00,499168.384,232358.83000000002,232358.83000000002 +8-11-2019 03:00,546507.5,254394.77800000002,254394.77800000002 +8-11-2019 04:00,872158.496,405982.676,405982.676 +8-11-2019 05:00,1045390.984,486620.992,486620.992 +8-11-2019 06:00,1275175.9679999999,593583.9360000001,593583.9360000001 +8-11-2019 07:00,3482884.768,1621254.6240000003,1621254.6240000003 +8-11-2019 08:00,3986376.768,1855625.7280000001,1855625.7280000001 +8-11-2019 09:00,4541220.640000001,2113901.1520000002,2113901.1520000002 +8-11-2019 10:00,3059930.3680000002,1424372.5760000001,1424372.5760000001 +8-11-2019 11:00,753314.408,350661.71800000005,350661.71800000005 +8-11-2019 12:00,1492537.376,694764.0040000001,694764.0040000001 +8-11-2019 13:00,785391.728,365593.426,365593.426 +8-11-2019 14:00,438665.216,204195.09,204195.09 +8-11-2019 15:00,990737.3520000001,461180.14800000004,461180.14800000004 +8-11-2019 16:00,2678460.0480000004,1246801.2480000001,1246801.2480000001 +8-11-2019 17:00,2683640.4320000005,1249212.6240000003,1249212.6240000003 +8-11-2019 18:00,7220012.800000001,3360857.2800000003,3360857.2800000003 +8-11-2019 19:00,4446852.960000001,2069973.664,2069973.664 +8-11-2019 20:00,3440287.8400000003,1601425.7600000002,1601425.7600000002 +8-11-2019 21:00,3286515.5840000003,1529846.0320000004,1529846.0320000004 +8-11-2019 22:00,1717176.208,799331.368,799331.368 +8-11-2019 23:00,547516.42,254864.43400000004,254864.43400000004 +9-11-2019 00:00,538825.584,250818.92000000004,250818.92000000004 +9-11-2019 01:00,531725.92,247514.08000000002,247514.08000000002 +9-11-2019 02:00,522720.13200000004,243321.98,243321.98 +9-11-2019 03:00,694887.424,323464.416,323464.416 +9-11-2019 04:00,893707.408,416013.48800000007,416013.48800000007 +9-11-2019 05:00,1032629.136,480680.376,480680.376 +9-11-2019 06:00,1131497.4000000001,526702.792,526702.792 +9-11-2019 07:00,2082799.1360000002,969525.92,969525.92 +9-11-2019 08:00,3847031.5840000003,1790761.9840000002,1790761.9840000002 +9-11-2019 09:00,6814772.096000001,3172220.8320000004,3172220.8320000004 +9-11-2019 10:00,6480415.040000001,3016580.16,3016580.16 +9-11-2019 11:00,3076644.736,1432152.8320000002,1432152.8320000002 +9-11-2019 12:00,2666886.288,1241413.8880000003,1241413.8880000003 +9-11-2019 13:00,1662450.9440000001,773857.392,773857.392 +9-11-2019 14:00,1553689.6320000002,723229.8040000001,723229.8040000001 +9-11-2019 15:00,1514783.424,705119.3160000001,705119.3160000001 +9-11-2019 16:00,2777177.9200000004,1292753.7920000001,1292753.7920000001 +9-11-2019 17:00,2972164.4480000003,1383518.312,1383518.312 +9-11-2019 18:00,3086248.352,1436623.672,1436623.672 +9-11-2019 19:00,3094076.128,1440267.2240000002,1440267.2240000002 +9-11-2019 20:00,3141684.48,1462428.5280000002,1462428.5280000002 +9-11-2019 21:00,2477352.5920000006,1153187.3760000002,1153187.3760000002 +9-11-2019 22:00,1136285.656,528931.7000000001,528931.7000000001 +9-11-2019 23:00,688633.6160000002,320553.35400000005,320553.35400000005 +10-11-2019 00:00,740868.7440000001,344868.37000000005,344868.37000000005 +10-11-2019 01:00,753710.1440000001,350845.92400000006,350845.92400000006 +10-11-2019 02:00,976121.6960000001,454376.64800000004,454376.64800000004 +10-11-2019 03:00,1208035.928,562330.868,562330.868 +10-11-2019 04:00,1407780.0880000002,655310.084,655310.084 +10-11-2019 05:00,1471836.08,685127.652,685127.652 +10-11-2019 06:00,1661394.768,773365.736,773365.736 +10-11-2019 07:00,2639553.312,1228690.584,1228690.584 +10-11-2019 08:00,4327770.656,2014541.9360000002,2014541.9360000002 +10-11-2019 09:00,7076329.216,3293973.7600000002,3293973.7600000002 +10-11-2019 10:00,6601013.76,3072718.1760000004,3072718.1760000004 +10-11-2019 11:00,2684409.2,1249570.6080000002,1249570.6080000002 +10-11-2019 12:00,2658367.536,1237448.344,1237448.344 +10-11-2019 13:00,1229898.5600000003,572507.76,572507.76 +10-11-2019 14:00,750437.688,349322.60000000003,349322.60000000003 +10-11-2019 15:00,892798.0160000002,415590.20800000004,415590.20800000004 +10-11-2019 16:00,3084470.752,1435795.9440000001,1435795.9440000001 +10-11-2019 17:00,3616465.6,1683435.424,1683435.424 +10-11-2019 18:00,3791207.9040000006,1764776.4640000002,1764776.4640000002 +10-11-2019 19:00,3916884.9280000003,1823277.6320000002,1823277.6320000002 +10-11-2019 20:00,3954992.4480000003,1841016.848,1841016.848 +10-11-2019 21:00,3129879.1040000003,1456933.104,1456933.104 +10-11-2019 22:00,1426183.704,663876.9280000001,663876.9280000001 +10-11-2019 23:00,830388.856,386539.20800000004,386539.20800000004 +11-11-2019 00:00,860591.424,400598.3080000001,400598.3080000001 +11-11-2019 01:00,981331.4720000001,456801.70800000004,456801.70800000004 +11-11-2019 02:00,1184769.784,551500.576,551500.576 +11-11-2019 03:00,1345610.992,626370.932,626370.932 +11-11-2019 04:00,1444799.2240000002,672542.2880000001,672542.2880000001 +11-11-2019 05:00,1483700.9440000001,690650.664,690650.664 +11-11-2019 06:00,1627172.976,757435.712,757435.712 +11-11-2019 07:00,4282422.848,1993433.0240000002,1993433.0240000002 +11-11-2019 08:00,4337464.7360000005,2019054.2240000002,2019054.2240000002 +11-11-2019 09:00,5627962.56,2619771.0880000005,2619771.0880000005 +11-11-2019 10:00,4662324.832,2170274.304,2170274.304 +11-11-2019 11:00,1957135.84,911030.736,911030.736 +11-11-2019 12:00,2267727.6160000004,1055608.664,1055608.664 +11-11-2019 13:00,1839489.6960000002,856267.5440000001,856267.5440000001 +11-11-2019 14:00,1668674.128,776754.1760000001,776754.1760000001 +11-11-2019 15:00,2041422.24,950265.4480000001,950265.4480000001 +11-11-2019 16:00,3260825.9200000004,1517887.8880000003,1517887.8880000003 +11-11-2019 17:00,2830908.784,1317764.8,1317764.8 +11-11-2019 18:00,7456216.064000001,3470807.6480000005,3470807.6480000005 +11-11-2019 19:00,5009364.096000001,2331818.1920000003,2331818.1920000003 +11-11-2019 20:00,3421435.424,1592650.2240000002,1592650.2240000002 +11-11-2019 21:00,3394830.912,1580266.1600000001,1580266.1600000001 +11-11-2019 22:00,1825965.3280000002,849971.9360000001,849971.9360000001 +11-11-2019 23:00,613250.7480000001,285463.2,285463.2 +12-11-2019 00:00,609785.66,283850.226,283850.226 +12-11-2019 01:00,604026.368,281169.32800000004,281169.32800000004 +12-11-2019 02:00,629166.692,292871.942,292871.942 +12-11-2019 03:00,938746.952,436979.048,436979.048 +12-11-2019 04:00,1154748.9360000002,537526.2200000001,537526.2200000001 +12-11-2019 05:00,1282720.472,597095.884,597095.884 +12-11-2019 06:00,1472929.9200000002,685636.82,685636.82 +12-11-2019 07:00,3877128.288,1804771.584,1804771.584 +12-11-2019 08:00,4298735.936,2001026.5440000002,2001026.5440000002 +12-11-2019 09:00,6333792.256,2948328.768,2948328.768 +12-11-2019 10:00,4856798.144,2260799.904,2260799.904 +12-11-2019 11:00,2119451.1360000004,986587.184,986587.184 +12-11-2019 12:00,2580912.0480000004,1201393.512,1201393.512 +12-11-2019 13:00,1817392.368,845981.3120000002,845981.3120000002 +12-11-2019 14:00,1549503.8240000003,721281.352,721281.352 +12-11-2019 15:00,2754067.536,1281995.8800000001,1281995.8800000001 +12-11-2019 16:00,3335423.8720000004,1552612.6880000003,1552612.6880000003 +12-11-2019 17:00,2960481.9200000004,1378080.176,1378080.176 +12-11-2019 18:00,7551441.920000001,3515134.6560000004,3515134.6560000004 +12-11-2019 19:00,5404987.456,2515977.9040000006,2515977.9040000006 +12-11-2019 20:00,3571774.2720000003,1662631.6960000002,1662631.6960000002 +12-11-2019 21:00,3533348.1920000007,1644744.816,1644744.816 +12-11-2019 22:00,1882146.992,876124.128,876124.128 +12-11-2019 23:00,624968.784,290917.90200000006,290917.90200000006 +13-11-2019 00:00,613448.0,285555.006,285555.006 +13-11-2019 01:00,609273.368,283611.746,283611.746 +13-11-2019 02:00,622124.052,289593.6560000001,289593.6560000001 +13-11-2019 03:00,907094.9360000001,422245.3400000001,422245.3400000001 +13-11-2019 04:00,1135685.8480000002,528652.476,528652.476 +13-11-2019 05:00,1235697.2320000003,575206.9400000001,575206.9400000001 +13-11-2019 06:00,1404595.2800000003,653827.68,653827.68 +13-11-2019 07:00,3741128.512,1741464.7360000003,1741464.7360000003 +13-11-2019 08:00,4166316.0000000005,1939386.24,1939386.24 +13-11-2019 09:00,6132470.784000001,2854615.28,2854615.28 +13-11-2019 10:00,4556771.648000001,2121140.032,2121140.032 +13-11-2019 11:00,1938487.4080000003,902350.152,902350.152 +13-11-2019 12:00,2344977.7120000003,1091568.016,1091568.016 +13-11-2019 13:00,1864109.456,867727.6960000001,867727.6960000001 +13-11-2019 14:00,1633933.664,760582.856,760582.856 +13-11-2019 15:00,2784628.1760000004,1296221.784,1296221.784 +13-11-2019 16:00,3339760.8640000005,1554631.2320000003,1554631.2320000003 +13-11-2019 17:00,2920699.2320000003,1359561.6320000002,1359561.6320000002 +13-11-2019 18:00,7539572.48,3509610.0160000003,3509610.0160000003 +13-11-2019 19:00,5504281.376,2562197.7920000004,2562197.7920000004 +13-11-2019 20:00,3628198.112,1688896.704,1688896.704 +13-11-2019 21:00,3501638.9760000003,1629984.2240000002,1629984.2240000002 +13-11-2019 22:00,1854695.2160000002,863345.4720000001,863345.4720000001 +13-11-2019 23:00,634719.4040000001,295456.678,295456.678 +14-11-2019 00:00,619374.932,288313.96,288313.96 +14-11-2019 01:00,625077.156,290968.326,290968.326 +14-11-2019 02:00,650784.024,302934.65400000004,302934.65400000004 +14-11-2019 03:00,971332.9120000001,452147.5200000001,452147.5200000001 +14-11-2019 04:00,1229936.048,572525.14,572525.14 +14-11-2019 05:00,1361177.664,633617.1160000002,633617.1160000002 +14-11-2019 06:00,1494139.3280000002,695509.76,695509.76 +14-11-2019 07:00,3930698.8160000006,1829708.4960000003,1829708.4960000003 +14-11-2019 08:00,4302590.336,2002820.864,2002820.864 +14-11-2019 09:00,6333501.504,2948193.072,2948193.072 +14-11-2019 10:00,4784386.464000001,2227093.0880000005,2227093.0880000005 +14-11-2019 11:00,2035559.6800000002,947536.4800000001,947536.4800000001 +14-11-2019 12:00,2344941.4560000002,1091551.0320000001,1091551.0320000001 +14-11-2019 13:00,1873976.368,872320.6800000002,872320.6800000002 +14-11-2019 14:00,1630743.3120000002,759097.768,759097.768 +14-11-2019 15:00,2765763.968,1287440.44,1287440.44 +14-11-2019 16:00,3292705.856,1532727.6800000002,1532727.6800000002 +14-11-2019 17:00,2895117.2800000003,1347653.648,1347653.648 +14-11-2019 18:00,7460788.544000001,3472936.544,3472936.544 +14-11-2019 19:00,5337048.640000001,2484352.64,2484352.64 +14-11-2019 20:00,3530796.544,1643556.816,1643556.816 +14-11-2019 21:00,3433256.9920000006,1598153.04,1598153.04 +14-11-2019 22:00,1867584.0480000002,869345.136,869345.136 +14-11-2019 23:00,634072.9120000001,295155.762,295155.762 +15-11-2019 00:00,634702.684,295448.934,295448.934 +15-11-2019 01:00,640698.3,298239.81,298239.81 +15-11-2019 02:00,673088.9,313317.378,313317.378 +15-11-2019 03:00,1021041.4720000001,475286.46,475286.46 +15-11-2019 04:00,1302603.5440000002,606351.284,606351.284 +15-11-2019 05:00,1416292.1520000002,659272.4160000001,659272.4160000001 +15-11-2019 06:00,1574233.408,732792.7640000001,732792.7640000001 +15-11-2019 07:00,4102239.328,1909558.992,1909558.992 +15-11-2019 08:00,4408309.664000001,2052032.2240000002,2052032.2240000002 +15-11-2019 09:00,6464068.864000001,3008971.68,3008971.68 +15-11-2019 10:00,4994220.704,2324768.8640000005,2324768.8640000005 +15-11-2019 11:00,2222102.9600000004,1034370.7440000002,1034370.7440000002 +15-11-2019 12:00,2537389.8880000003,1181134.4160000002,1181134.4160000002 +15-11-2019 13:00,2076693.168,966683.784,966683.784 +15-11-2019 14:00,1840196.6880000003,856596.5760000001,856596.5760000001 +15-11-2019 15:00,3004999.7120000003,1398802.768,1398802.768 +15-11-2019 16:00,3524909.3440000005,1640816.4960000003,1640816.4960000003 +15-11-2019 17:00,3112241.44,1448722.7920000001,1448722.7920000001 +15-11-2019 18:00,7604812.16,3539977.7600000002,3539977.7600000002 +15-11-2019 19:00,5523686.08,2571230.9920000006,2571230.9920000006 +15-11-2019 20:00,3868898.5280000004,1800940.768,1800940.768 +15-11-2019 21:00,3610297.856,1680564.1600000001,1680564.1600000001 +15-11-2019 22:00,1954254.368,909689.4400000001,909689.4400000001 +15-11-2019 23:00,680730.82,316874.668,316874.668 +16-11-2019 00:00,685848.2400000001,319256.762,319256.762 +16-11-2019 01:00,690129.572,321249.676,321249.676 +16-11-2019 02:00,782588.4,364288.56200000003,364288.56200000003 +16-11-2019 03:00,1229528.256,572335.368,572335.368 +16-11-2019 04:00,1439610.656,670127.084,670127.084 +16-11-2019 05:00,1576029.4880000001,733628.984,733628.984 +16-11-2019 06:00,1720643.2320000003,800945.464,800945.464 +16-11-2019 07:00,2674141.008,1244790.8880000003,1244790.8880000003 +16-11-2019 08:00,4583107.584000001,2133399.1360000004,2133399.1360000004 +16-11-2019 09:00,8674198.016,4037768.416,4037768.416 +16-11-2019 10:00,8710609.600000001,4054717.9200000004,4054717.9200000004 +16-11-2019 11:00,4210703.904,1960048.2880000002,1960048.2880000002 +16-11-2019 12:00,3815787.7120000003,1776218.0480000002,1776218.0480000002 +16-11-2019 13:00,2696194.336,1255056.5280000002,1255056.5280000002 +16-11-2019 14:00,2359359.728,1098262.7040000001,1098262.7040000001 +16-11-2019 15:00,3424952.608,1594287.5520000001,1594287.5520000001 +16-11-2019 16:00,3700804.8000000003,1722694.3360000001,1722694.3360000001 +16-11-2019 17:00,3814094.24,1775429.7440000002,1775429.7440000002 +16-11-2019 18:00,3792670.8160000006,1765457.2320000003,1765457.2320000003 +16-11-2019 19:00,3671429.696,1709020.368,1709020.368 +16-11-2019 20:00,3617935.552,1684119.536,1684119.536 +16-11-2019 21:00,2811455.856,1308709.864,1308709.864 +16-11-2019 22:00,1276025.784,593979.584,593979.584 +16-11-2019 23:00,750796.9040000001,349489.844,349489.844 +17-11-2019 00:00,736512.832,342840.78400000004,342840.78400000004 +17-11-2019 01:00,742246.2080000001,345509.56,345509.56 +17-11-2019 02:00,959582.8,446677.96800000005,446677.96800000005 +17-11-2019 03:00,1152795.952,536617.136,536617.136 +17-11-2019 04:00,1327557.0880000002,617966.888,617966.888 +17-11-2019 05:00,1593212.8960000002,741627.5680000001,741627.5680000001 +17-11-2019 06:00,1677288.448,780763.984,780763.984 +17-11-2019 07:00,2633239.4880000004,1225751.5600000003,1225751.5600000003 +17-11-2019 08:00,4550341.664000001,2118146.9760000003,2118146.9760000003 +17-11-2019 09:00,8674552.832,4037933.1520000002,4037933.1520000002 +17-11-2019 10:00,8460719.872,3938396.0000000005,3938396.0000000005 +17-11-2019 11:00,3931289.824,1829983.4080000003,1829983.4080000003 +17-11-2019 12:00,3628312.512,1688950.0320000004,1688950.0320000004 +17-11-2019 13:00,2497676.544,1162647.992,1162647.992 +17-11-2019 14:00,2255250.8000000003,1049800.84,1049800.84 +17-11-2019 15:00,3324662.88,1547603.376,1547603.376 +17-11-2019 16:00,3597942.3040000005,1674812.8320000002,1674812.8320000002 +17-11-2019 17:00,3714443.04,1729043.0080000001,1729043.0080000001 +17-11-2019 18:00,3760634.944,1750544.928,1750544.928 +17-11-2019 19:00,3796975.072,1767460.992,1767460.992 +17-11-2019 20:00,3765838.5600000005,1752967.04,1752967.04 +17-11-2019 21:00,2912382.1760000004,1355690.0720000002,1355690.0720000002 +17-11-2019 22:00,1320476.168,614670.8480000001,614670.8480000001 +17-11-2019 23:00,775889.5760000001,361170.194,361170.194 +18-11-2019 00:00,783945.2720000001,364920.07200000004,364920.07200000004 +18-11-2019 01:00,788067.2800000001,366838.8900000001,366838.8900000001 +18-11-2019 02:00,1053596.28,490440.50000000006,490440.50000000006 +18-11-2019 03:00,1214656.6080000002,565412.76,565412.76 +18-11-2019 04:00,1338758.6960000002,623181.2400000001,623181.2400000001 +18-11-2019 05:00,1417703.9360000002,659929.556,659929.556 +18-11-2019 06:00,1593643.7440000002,741828.12,741828.12 +18-11-2019 07:00,4185871.008,1948488.9600000002,1948488.9600000002 +18-11-2019 08:00,4398882.752,2047644.0160000003,2047644.0160000003 +18-11-2019 09:00,6463501.440000001,3008707.328,3008707.328 +18-11-2019 10:00,4965324.32,2311317.7120000003,2311317.7120000003 +18-11-2019 11:00,2132426.208,992626.9760000001,992626.9760000001 +18-11-2019 12:00,2414106.816,1123747.064,1123747.064 +18-11-2019 13:00,1936728.6400000001,901531.4,901531.4 +18-11-2019 14:00,1731644.4640000002,806066.36,806066.36 +18-11-2019 15:00,2874363.7120000003,1337992.9200000002,1337992.9200000002 +18-11-2019 16:00,3375581.0880000005,1571305.472,1571305.472 +18-11-2019 17:00,2892285.9680000003,1346335.584,1346335.584 +18-11-2019 18:00,7444900.672,3465540.6720000003,3465540.6720000003 +18-11-2019 19:00,5177439.8719999995,2410056.5280000004,2410056.5280000004 +18-11-2019 20:00,3324492.8640000005,1547524.3520000002,1547524.3520000002 +18-11-2019 21:00,3341392.736,1555391.2000000002,1555391.2000000002 +18-11-2019 22:00,1811253.3120000002,843123.6000000001,843123.6000000001 +18-11-2019 23:00,618993.496,288136.46400000004,288136.46400000004 +19-11-2019 00:00,604912.3080000001,281581.76200000005,281581.76200000005 +19-11-2019 01:00,611907.2960000001,284837.82800000004,284837.82800000004 +19-11-2019 02:00,631292.728,293861.568,293861.568 +19-11-2019 03:00,869867.4160000001,404916.248,404916.248 +19-11-2019 04:00,1136618.208,529086.492,529086.492 +19-11-2019 05:00,1258227.168,585694.4720000001,585694.4720000001 +19-11-2019 06:00,1427800.44,664629.4160000001,664629.4160000001 +19-11-2019 07:00,3844166.6560000004,1789428.256,1789428.256 +19-11-2019 08:00,4319316.672,2010606.7520000003,2010606.7520000003 +19-11-2019 09:00,6324563.5200000005,2944032.608,2944032.608 +19-11-2019 10:00,4427554.5600000005,2060990.272,2060990.272 +19-11-2019 11:00,1484815.904,691169.82,691169.82 +19-11-2019 12:00,2383680.9920000006,1109583.904,1109583.904 +19-11-2019 13:00,1931721.44,899200.456,899200.456 +19-11-2019 14:00,1764791.0720000002,821495.8400000001,821495.8400000001 +19-11-2019 15:00,2947712.0640000007,1372136.128,1372136.128 +19-11-2019 16:00,3517889.4080000003,1637548.8800000001,1637548.8800000001 +19-11-2019 17:00,3057741.632,1423353.8,1423353.8 +19-11-2019 18:00,7624916.288000001,3549336.384,3549336.384 +19-11-2019 19:00,5738770.752,2671351.0560000003,2671351.0560000003 +19-11-2019 20:00,3860157.3120000004,1796871.648,1796871.648 +19-11-2019 21:00,3934152.9920000006,1831316.256,1831316.256 +19-11-2019 22:00,2181858.8000000003,1015637.3920000001,1015637.3920000001 +19-11-2019 23:00,749546.7760000001,348907.922,348907.922 +20-11-2019 00:00,761330.2400000001,354392.98400000005,354392.98400000005 +20-11-2019 01:00,851496.712,396364.76,396364.76 +20-11-2019 02:00,1218544.8880000003,567222.7000000001,567222.7000000001 +20-11-2019 03:00,1566589.0240000002,729234.484,729234.484 +20-11-2019 04:00,1760768.24,819623.2880000001,819623.2880000001 +20-11-2019 05:00,1845459.6160000002,859046.3200000001,859046.3200000001 +20-11-2019 06:00,2026549.1840000001,943342.136,943342.136 +20-11-2019 07:00,5039909.9520000005,2346036.88,2346036.88 +20-11-2019 08:00,4988505.28,2322108.624,2322108.624 +20-11-2019 09:00,6860434.944,3193476.0000000005,3193476.0000000005 +20-11-2019 10:00,4950137.632,2304248.6720000003,2304248.6720000003 +20-11-2019 11:00,1965559.2000000002,914951.8400000001,914951.8400000001 +20-11-2019 12:00,2657850.096,1237207.4000000001,1237207.4000000001 +20-11-2019 13:00,1516467.568,705903.3080000001,705903.3080000001 +20-11-2019 14:00,1581077.52,735978.76,735978.76 +20-11-2019 15:00,3147931.072,1465336.3120000002,1465336.3120000002 +20-11-2019 16:00,3930164.8320000004,1829459.8080000002,1829459.8080000002 +20-11-2019 17:00,3590143.3920000005,1671182.4800000002,1671182.4800000002 +20-11-2019 18:00,7928606.4,3690701.3440000005,3690701.3440000005 +20-11-2019 19:00,5937894.336,2764041.4560000002,2764041.4560000002 +20-11-2019 20:00,4318936.512,2010429.6960000002,2010429.6960000002 +20-11-2019 21:00,3980125.6,1852716.0960000004,1852716.0960000004 +20-11-2019 22:00,2145193.424,998569.9680000001,998569.9680000001 +20-11-2019 23:00,734784.072,342036.02400000003,342036.02400000003 +21-11-2019 00:00,732666.528,341050.292,341050.292 +21-11-2019 01:00,776895.2400000001,361638.39800000004,361638.39800000004 +21-11-2019 02:00,1075745.4400000002,500750.75600000005,500750.75600000005 +21-11-2019 03:00,1384885.656,644652.9760000001,644652.9760000001 +21-11-2019 04:00,1541893.2320000003,717738.7800000001,717738.7800000001 +21-11-2019 05:00,1632138.112,759746.9440000001,759746.9440000001 +21-11-2019 06:00,1815880.176,845277.4,845277.4 +21-11-2019 07:00,4621336.896000001,2151194.3200000003,2151194.3200000003 +21-11-2019 08:00,4773351.616,2221956.0,2221956.0 +21-11-2019 09:00,6917601.856000001,3220087.2,3220087.2 +21-11-2019 10:00,5640792.96,2625743.296,2625743.296 +21-11-2019 11:00,2685324.5760000004,1249996.6160000002,1249996.6160000002 +21-11-2019 12:00,2904278.9600000004,1351918.128,1351918.128 +21-11-2019 13:00,2336506.3040000005,1087624.56,1087624.56 +21-11-2019 14:00,2139493.4880000004,995916.768,995916.768 +21-11-2019 15:00,3409252.352,1586979.1520000002,1586979.1520000002 +21-11-2019 16:00,3975319.04,1850478.4320000003,1850478.4320000003 +21-11-2019 17:00,3594146.336,1673045.6160000002,1673045.6160000002 +21-11-2019 18:00,7919581.824,3686500.9280000003,3686500.9280000003 +21-11-2019 19:00,6027361.472,2805687.4560000002,2805687.4560000002 +21-11-2019 20:00,4349969.536,2024875.4240000003,2024875.4240000003 +21-11-2019 21:00,3932319.424,1830462.6560000002,1830462.6560000002 +21-11-2019 22:00,2135576.256,994093.3200000001,994093.3200000001 +21-11-2019 23:00,719527.292,334934.05000000005,334934.05000000005 +22-11-2019 00:00,702155.1680000001,326847.51,326847.51 +22-11-2019 01:00,714876.3160000001,332769.096,332769.096 +22-11-2019 02:00,887602.584,413171.748,413171.748 +22-11-2019 03:00,1213877.016,565049.804,565049.804 +22-11-2019 04:00,1341577.6,624493.3640000001,624493.3640000001 +22-11-2019 05:00,1430996.1600000001,666117.056,666117.056 +22-11-2019 06:00,1598709.2000000002,744186.0800000001,744186.0800000001 +22-11-2019 07:00,4191265.0560000003,1950999.776,1950999.776 +22-11-2019 08:00,4468710.4,2080148.2240000002,2080148.2240000002 +22-11-2019 09:00,6541842.5600000005,3045173.824,3045173.824 +22-11-2019 10:00,5010597.856000001,2332392.3040000005,2332392.3040000005 +22-11-2019 11:00,1564571.8880000003,728295.6120000001,728295.6120000001 +22-11-2019 12:00,2144274.176,998142.1120000001,998142.1120000001 +22-11-2019 13:00,1844008.32,858370.832,858370.832 +22-11-2019 14:00,1368803.656,637166.9480000001,637166.9480000001 +22-11-2019 15:00,2795857.856,1301448.8080000002,1301448.8080000002 +22-11-2019 16:00,3444867.7120000003,1603557.8240000003,1603557.8240000003 +22-11-2019 17:00,3014620.224,1403281.0880000002,1403281.0880000002 +22-11-2019 18:00,7616113.472,3545238.4000000004,3545238.4000000004 +22-11-2019 19:00,5569382.016,2592501.824,2592501.824 +22-11-2019 20:00,3958850.3680000002,1842812.4000000001,1842812.4000000001 +22-11-2019 21:00,3687677.6640000003,1716583.6160000002,1716583.6160000002 +22-11-2019 22:00,1965500.768,914924.56,914924.56 +22-11-2019 23:00,647809.6240000001,301550.08400000003,301550.08400000003 +23-11-2019 00:00,629618.8800000001,293082.416,293082.416 +23-11-2019 01:00,631161.256,293800.43,293800.43 +23-11-2019 02:00,652829.584,303886.85800000007,303886.85800000007 +23-11-2019 03:00,937163.0400000002,436241.78400000004,436241.78400000004 +23-11-2019 04:00,1243741.2240000002,578951.384,578951.384 +23-11-2019 05:00,1394029.912,648909.5800000001,648909.5800000001 +23-11-2019 06:00,1532488.32,713360.868,713360.868 +23-11-2019 07:00,2475170.0160000003,1152171.4160000002,1152171.4160000002 +23-11-2019 08:00,4380986.720000001,2039313.584,2039313.584 +23-11-2019 09:00,8413401.216,3916369.6,3916369.6 +23-11-2019 10:00,8480323.456,3947521.952,3947521.952 +23-11-2019 11:00,4059582.9120000005,1889702.848,1889702.848 +23-11-2019 12:00,3715092.8320000004,1729345.376,1729345.376 +23-11-2019 13:00,2593208.288,1207117.2960000003,1207117.2960000003 +23-11-2019 14:00,2253253.024,1048870.9440000001,1048870.9440000001 +23-11-2019 15:00,3223038.3680000002,1500298.0960000001,1500298.0960000001 +23-11-2019 16:00,3406394.816,1585648.768,1585648.768 +23-11-2019 17:00,3421283.7120000003,1592579.8240000003,1592579.8240000003 +23-11-2019 18:00,3501005.024,1629688.8960000002,1629688.8960000002 +23-11-2019 19:00,3542083.7760000005,1648811.12,1648811.12 +23-11-2019 20:00,3584944.7040000004,1668762.6560000002,1668762.6560000002 +23-11-2019 21:00,2873557.984,1337617.688,1337617.688 +23-11-2019 22:00,1309902.8800000001,609749.052,609749.052 +23-11-2019 23:00,767928.7440000001,357464.62400000007,357464.62400000007 +24-11-2019 00:00,756797.888,352283.25,352283.25 +24-11-2019 01:00,786161.1120000001,365951.58600000007,365951.58600000007 +24-11-2019 02:00,1078435.688,502003.04000000004,502003.04000000004 +24-11-2019 03:00,1347621.3520000002,627306.768,627306.768 +24-11-2019 04:00,1468205.112,683437.524,683437.524 +24-11-2019 05:00,1610441.3600000003,749647.36,749647.36 +24-11-2019 06:00,1794770.384,835450.9680000001,835450.9680000001 +24-11-2019 07:00,2695945.296,1254940.6320000002,1254940.6320000002 +24-11-2019 08:00,4528958.720000001,2108193.296,2108193.296 +24-11-2019 09:00,8628416.192,4016457.632,4016457.632 +24-11-2019 10:00,8531743.616,3971457.2480000006,3971457.2480000006 +24-11-2019 11:00,4118828.384,1917280.992,1917280.992 +24-11-2019 12:00,3600942.7520000003,1676209.392,1676209.392 +24-11-2019 13:00,2390662.032,1112833.656,1112833.656 +24-11-2019 14:00,2153876.56,1002611.984,1002611.984 +24-11-2019 15:00,3157464.64,1469774.064,1469774.064 +24-11-2019 16:00,3497115.7760000005,1627878.912,1627878.912 +24-11-2019 17:00,3758343.7760000005,1749478.368,1749478.368 +24-11-2019 18:00,3844935.424,1789786.0640000002,1789786.0640000002 +24-11-2019 19:00,3843492.224,1789114.0960000004,1789114.0960000004 +24-11-2019 20:00,3773849.024,1756695.9520000003,1756695.9520000003 +24-11-2019 21:00,3007253.9200000004,1399851.904,1399851.904 +24-11-2019 22:00,1293927.272,602312.5680000001,602312.5680000001 +24-11-2019 23:00,756869.8720000001,352316.75600000005,352316.75600000005 +25-11-2019 00:00,736709.7760000001,342932.392,342932.392 +25-11-2019 01:00,745184.792,346877.454,346877.454 +25-11-2019 02:00,951164.104,442759.15200000006,442759.15200000006 +25-11-2019 03:00,1110256.0480000002,516815.112,516815.112 +25-11-2019 04:00,1248157.1520000002,581006.9760000001,581006.9760000001 +25-11-2019 05:00,1321466.168,615131.7480000001,615131.7480000001 +25-11-2019 06:00,1467383.6320000002,683055.0760000001,683055.0760000001 +25-11-2019 07:00,3971990.88,1848929.2800000003,1848929.2800000003 +25-11-2019 08:00,4325406.976000001,2013441.584,2013441.584 +25-11-2019 09:00,6423245.312000001,2989968.256,2989968.256 +25-11-2019 10:00,4980885.888,2318561.8720000004,2318561.8720000004 +25-11-2019 11:00,2167554.2240000004,1008978.784,1008978.784 +25-11-2019 12:00,2301751.0560000003,1071446.3760000002,1071446.3760000002 +25-11-2019 13:00,1597510.112,743627.8080000001,743627.8080000001 +25-11-2019 14:00,866094.6800000002,403160.076,403160.076 +25-11-2019 15:00,2535418.336,1180216.5760000001,1180216.5760000001 +25-11-2019 16:00,3266072.48,1520330.064,1520330.064 +25-11-2019 17:00,2921853.9680000003,1360099.1360000002,1360099.1360000002 +25-11-2019 18:00,7460789.248000001,3472936.544,3472936.544 +25-11-2019 19:00,5088957.28,2368868.3040000005,2368868.3040000005 +25-11-2019 20:00,3421221.408,1592550.4320000003,1592550.4320000003 +25-11-2019 21:00,3377333.3440000005,1572121.056,1572121.056 +25-11-2019 22:00,1818081.7600000002,846302.3360000001,846302.3360000001 +25-11-2019 23:00,599356.736,278995.64,278995.64 +26-11-2019 00:00,579102.656,269567.58400000003,269567.58400000003 +26-11-2019 01:00,577817.152,268969.22800000006,268969.22800000006 +26-11-2019 02:00,583927.7400000001,271813.608,271813.608 +26-11-2019 03:00,695937.528,323953.25600000005,323953.25600000005 +26-11-2019 04:00,986052.76,458999.552,458999.552 +26-11-2019 05:00,1098416.7920000001,511304.068,511304.068 +26-11-2019 06:00,1246326.048,580154.6080000001,580154.6080000001 +26-11-2019 07:00,3363762.336,1565804.064,1565804.064 +26-11-2019 08:00,4038050.3680000002,1879679.2960000003,1879679.2960000003 +26-11-2019 09:00,6049109.440000001,2815810.9760000003,2815810.9760000003 +26-11-2019 10:00,4407339.904,2051580.7840000002,2051580.7840000002 +26-11-2019 11:00,1736085.2960000003,808133.5680000001,808133.5680000001 +26-11-2019 12:00,2027949.968,943994.128,943994.128 +26-11-2019 13:00,1574529.0880000002,732930.528,732930.528 +26-11-2019 14:00,1408065.8240000003,655443.184,655443.184 +26-11-2019 15:00,2482040.88,1155369.9520000003,1155369.9520000003 +26-11-2019 16:00,3000588.8000000003,1396749.5520000001,1396749.5520000001 +26-11-2019 17:00,2510809.6640000003,1168761.2640000002,1168761.2640000002 +26-11-2019 18:00,7152613.9520000005,3329483.5200000005,3329483.5200000005 +26-11-2019 19:00,4539776.7360000005,2113229.0080000004,2113229.0080000004 +26-11-2019 20:00,2958217.504,1377026.112,1377026.112 +26-11-2019 21:00,2889761.7760000005,1345160.6080000002,1345160.6080000002 +26-11-2019 22:00,1546845.3440000003,720043.852,720043.852 +26-11-2019 23:00,500921.5200000001,233174.89800000002,233174.89800000002 +27-11-2019 00:00,488664.396,227469.28600000002,227469.28600000002 +27-11-2019 01:00,482696.58800000005,224691.30200000003,224691.30200000003 +27-11-2019 02:00,476992.16400000005,222035.96800000002,222035.96800000002 +27-11-2019 03:00,485127.764,225823.026,225823.026 +27-11-2019 04:00,536479.152,249726.66400000002,249726.66400000002 +27-11-2019 05:00,757048.7760000001,352400.048,352400.048 +27-11-2019 06:00,925158.52,430653.74000000005,430653.74000000005 +27-11-2019 07:00,2845275.136,1324452.36,1324452.36 +27-11-2019 08:00,3694740.896,1719871.8240000003,1719871.8240000003 +27-11-2019 09:00,5672506.048,2640505.472,2640505.472 +27-11-2019 10:00,3891810.208,1811605.664,1811605.664 +27-11-2019 11:00,1478981.504,688453.832,688453.832 +27-11-2019 12:00,1826501.6,850221.5920000001,850221.5920000001 +27-11-2019 13:00,1456069.648,677788.54,677788.54 +27-11-2019 14:00,1297530.9600000002,603990.1120000001,603990.1120000001 +27-11-2019 15:00,2351003.424,1094372.928,1094372.928 +27-11-2019 16:00,2840210.5600000005,1322094.752,1322094.752 +27-11-2019 17:00,2359611.2320000003,1098379.8320000002,1098379.8320000002 +27-11-2019 18:00,7051647.680000001,3282484.48,3282484.48 +27-11-2019 19:00,4238383.424000001,1972932.8960000002,1972932.8960000002 +27-11-2019 20:00,2861156.1440000003,1331844.8880000003,1331844.8880000003 +27-11-2019 21:00,2787769.072,1297683.816,1297683.816 +27-11-2019 22:00,1474101.2880000002,686182.0680000001,686182.0680000001 +27-11-2019 23:00,473487.916,220404.75600000002,220404.75600000002 +28-11-2019 00:00,463017.8080000001,215531.008,215531.008 +28-11-2019 01:00,465446.96,216661.764,216661.764 +28-11-2019 02:00,467995.17600000004,217847.938,217847.938 +28-11-2019 03:00,469435.868,218518.564,218518.564 +28-11-2019 04:00,473712.40400000004,220509.25600000002,220509.25600000002 +28-11-2019 05:00,668584.9720000001,311220.88800000004,311220.88800000004 +28-11-2019 06:00,860715.856,400656.16800000006,400656.16800000006 +28-11-2019 07:00,2705277.344,1259284.5760000001,1259284.5760000001 +28-11-2019 08:00,3647089.6,1697690.5440000002,1697690.5440000002 +28-11-2019 09:00,5674828.192,2641586.112,2641586.112 +28-11-2019 10:00,3847336.416,1790903.84,1790903.84 +28-11-2019 11:00,1525464.1600000001,710091.1400000001,710091.1400000001 +28-11-2019 12:00,1846329.2320000003,859451.12,859451.12 +28-11-2019 13:00,1437779.376,669274.54,669274.54 +28-11-2019 14:00,1301728.12,605943.712,605943.712 +28-11-2019 15:00,2337190.0640000002,1087942.9440000001,1087942.9440000001 +28-11-2019 16:00,2759130.0,1284352.6080000002,1284352.6080000002 +28-11-2019 17:00,2321921.3600000003,1080835.36,1080835.36 +28-11-2019 18:00,7040035.904,3277079.5200000005,3277079.5200000005 +28-11-2019 19:00,4267263.264,1986376.304,1986376.304 +28-11-2019 20:00,2931598.5600000005,1364635.272,1364635.272 +28-11-2019 21:00,2898771.2160000005,1349354.3360000001,1349354.3360000001 +28-11-2019 22:00,1578540.6560000002,734797.8,734797.8 +28-11-2019 23:00,510667.60800000007,237711.62800000003,237711.62800000003 +29-11-2019 00:00,516822.32800000004,240576.57800000004,240576.57800000004 +29-11-2019 01:00,540573.968,251632.74400000004,251632.74400000004 +29-11-2019 02:00,587509.252,273480.746,273480.746 +29-11-2019 03:00,606304.688,282229.92600000004,282229.92600000004 +29-11-2019 04:00,920718.3040000001,428586.884,428586.884 +29-11-2019 05:00,1021565.6880000001,475530.44000000006,475530.44000000006 +29-11-2019 06:00,1292928.384,601847.62,601847.62 +29-11-2019 07:00,3437137.7920000004,1599959.504,1599959.504 +29-11-2019 08:00,4067632.0960000004,1893449.536,1893449.536 +29-11-2019 09:00,5952390.4,2770789.296,2770789.296 +29-11-2019 10:00,4408852.448000001,2052284.9600000002,2052284.9600000002 +29-11-2019 11:00,1608136.816,748574.464,748574.464 +29-11-2019 12:00,1998567.8240000003,930316.9920000001,930316.9920000001 +29-11-2019 13:00,1732821.3760000002,806614.16,806614.16 +29-11-2019 14:00,976559.056,454580.28,454580.28 +29-11-2019 15:00,2553071.312,1188433.84,1188433.84 +29-11-2019 16:00,3328527.136,1549402.448,1549402.448 +29-11-2019 17:00,2784849.0560000003,1296324.4800000002,1296324.4800000002 +29-11-2019 18:00,7399580.672,3444444.608,3444444.608 +29-11-2019 19:00,5320646.848,2476717.7600000002,2476717.7600000002 +29-11-2019 20:00,3748101.984,1744710.8800000001,1744710.8800000001 +29-11-2019 21:00,3755962.8480000007,1748370.0960000004,1748370.0960000004 +29-11-2019 22:00,2030573.2480000001,945215.392,945215.392 +29-11-2019 23:00,710271.1440000001,330625.39400000003,330625.39400000003 +30-11-2019 00:00,709287.964,330167.77200000006,330167.77200000006 +30-11-2019 01:00,727994.1680000001,338875.328,338875.328 +30-11-2019 02:00,948284.6560000001,441418.78,441418.78 +30-11-2019 03:00,1322894.32,615796.456,615796.456 +30-11-2019 04:00,1522493.9840000002,708708.572,708708.572 +30-11-2019 05:00,1654762.5600000003,770278.432,770278.432 +30-11-2019 06:00,1735883.2480000001,808039.584,808039.584 +30-11-2019 07:00,2654650.768,1235718.176,1235718.176 +30-11-2019 08:00,4605543.712,2143843.1520000002,2143843.1520000002 +30-11-2019 09:00,8621614.144000001,4013291.04,4013291.04 +30-11-2019 10:00,7994121.3440000005,3721198.6240000003,3721198.6240000003 +30-11-2019 11:00,3336888.544,1553294.3360000001,1553294.3360000001 +30-11-2019 12:00,3036234.4320000005,1413342.392,1413342.392 +30-11-2019 13:00,1920891.9840000002,894159.552,894159.552 +30-11-2019 14:00,1517460.384,706365.352,706365.352 +30-11-2019 15:00,3123282.2720000003,1453862.52,1453862.52 +30-11-2019 16:00,3766097.984,1753088.128,1753088.128 +30-11-2019 17:00,4009373.2800000003,1866330.5760000001,1866330.5760000001 +30-11-2019 18:00,4174038.5280000004,1942981.04,1942981.04 +30-11-2019 19:00,4212322.4,1960801.7440000002,1960801.7440000002 +30-11-2019 20:00,4261646.4,1983761.648,1983761.648 +30-11-2019 21:00,3344762.784,1556959.712,1556959.712 +30-11-2019 22:00,1584706.6400000001,737667.964,737667.964 +30-11-2019 23:00,968007.6560000001,450599.6880000001,450599.6880000001 +1-12-2019 00:00,953542.5680000001,443866.28,443866.28 +1-12-2019 01:00,1228015.448,571631.192,571631.192 +1-12-2019 02:00,1510844.192,703285.66,703285.66 +1-12-2019 03:00,1678637.84,781392.2160000001,781392.2160000001 +1-12-2019 04:00,1750923.504,815040.688,815040.688 +1-12-2019 05:00,1908022.3360000001,888168.7760000001,888168.7760000001 +1-12-2019 06:00,2000848.6080000002,931378.6240000001,931378.6240000001 +1-12-2019 07:00,3032960.8320000004,1411818.584,1411818.584 +1-12-2019 08:00,4980847.8719999995,2318543.568,2318543.568 +1-12-2019 09:00,9125012.16,4247619.2,4247619.2 +1-12-2019 10:00,9285099.648,4322138.3040000005,4322138.3040000005 +1-12-2019 11:00,4784193.920000001,2227003.1520000002,2227003.1520000002 +1-12-2019 12:00,4188255.808,1949598.816,1949598.816 +1-12-2019 13:00,3120849.2480000006,1452729.9600000002,1452729.9600000002 +1-12-2019 14:00,2824272.5280000004,1314675.912,1314675.912 +1-12-2019 15:00,3772426.944,1756033.664,1756033.664 +1-12-2019 16:00,3997717.5040000007,1860905.0240000002,1860905.0240000002 +1-12-2019 17:00,4258140.1280000005,1982129.4240000003,1982129.4240000003 +1-12-2019 18:00,4390518.528,2043750.7200000002,2043750.7200000002 +1-12-2019 19:00,4277731.744,1991249.3920000002,1991249.3920000002 +1-12-2019 20:00,4232567.68,1970226.0160000003,1970226.0160000003 +1-12-2019 21:00,3312453.408,1541920.1600000001,1541920.1600000001 +1-12-2019 22:00,1622056.304,755053.9920000001,755053.9920000001 +1-12-2019 23:00,1004581.3360000001,467624.43200000003,467624.43200000003 +2-12-2019 00:00,1014826.2080000001,472393.37200000003,472393.37200000003 +2-12-2019 01:00,1369801.84,637631.6320000001,637631.6320000001 +2-12-2019 02:00,1643680.72,765119.8720000001,765119.8720000001 +2-12-2019 03:00,1766730.0640000002,822398.368,822398.368 +2-12-2019 04:00,1869680.384,870321.056,870321.056 +2-12-2019 05:00,2031592.4640000002,945689.7120000002,945689.7120000002 +2-12-2019 06:00,2248005.5840000003,1046428.2400000001,1046428.2400000001 +2-12-2019 07:00,5229022.3040000005,2434067.1520000002,2434067.1520000002 +2-12-2019 08:00,4934817.536,2297117.504,2297117.504 +2-12-2019 09:00,6903656.32,3213595.6160000004,3213595.6160000004 +2-12-2019 10:00,5252545.056000001,2445017.168,2445017.168 +2-12-2019 11:00,1925994.928,896534.9360000001,896534.9360000001 +2-12-2019 12:00,2519479.424,1172797.12,1172797.12 +2-12-2019 13:00,2070591.4240000003,963843.408,963843.408 +2-12-2019 14:00,1838552.848,855831.4160000001,855831.4160000001 +2-12-2019 15:00,3043709.504,1416821.912,1416821.912 +2-12-2019 16:00,3599516.8000000003,1675545.52,1675545.52 +2-12-2019 17:00,3162223.328,1471989.2880000002,1471989.2880000002 +2-12-2019 18:00,7660887.1680000005,3566080.3200000003,3566080.3200000003 +2-12-2019 19:00,5599113.3440000005,2606341.7600000002,2606341.7600000002 +2-12-2019 20:00,3791721.1200000006,1765015.2960000003,1765015.2960000003 +2-12-2019 21:00,3578524.9280000003,1665774.3520000002,1665774.3520000002 +2-12-2019 22:00,1925277.0240000002,896200.8,896200.8 +2-12-2019 23:00,643640.1400000001,299609.2,299609.2 +3-12-2019 00:00,620847.964,288999.6560000001,288999.6560000001 +3-12-2019 01:00,618037.508,287691.42600000004,287691.42600000004 +3-12-2019 02:00,639502.16,297683.03400000004,297683.03400000004 +3-12-2019 03:00,926078.6480000002,431082.036,431082.036 +3-12-2019 04:00,1209674.928,563093.8720000001,563093.8720000001 +3-12-2019 05:00,1505851.6,700961.6240000001,700961.6240000001 +3-12-2019 06:00,1758451.7280000001,818544.9360000001,818544.9360000001 +3-12-2019 07:00,4398786.3040000005,2047599.1360000002,2047599.1360000002 +3-12-2019 08:00,4621243.264,2151151.024,2151151.024 +3-12-2019 09:00,6526850.88,3038195.424,3038195.424 +3-12-2019 10:00,5076195.8719999995,2362927.7760000005,2362927.7760000005 +3-12-2019 11:00,1741492.8960000002,810650.8080000001,810650.8080000001 +3-12-2019 12:00,2217701.2,1032321.9280000001,1032321.9280000001 +3-12-2019 13:00,1684858.208,784287.6800000002,784287.6800000002 +3-12-2019 14:00,1493861.424,695380.268,695380.268 +3-12-2019 15:00,2995388.352,1394328.9360000002,1394328.9360000002 +3-12-2019 16:00,3652940.544,1700413.968,1700413.968 +3-12-2019 17:00,3237705.856,1507125.4880000001,1507125.4880000001 +3-12-2019 18:00,7752299.456,3608632.1920000007,3608632.1920000007 +3-12-2019 19:00,5737997.056000001,2670990.4320000005,2670990.4320000005 +3-12-2019 20:00,4009033.952,1866172.8800000001,1866172.8800000001 +3-12-2019 21:00,3867994.5920000006,1800519.776,1800519.776 +3-12-2019 22:00,2098355.952,976767.6160000002,976767.6160000002 +3-12-2019 23:00,740388.088,344644.63,344644.63 +4-12-2019 00:00,715929.72,333259.454,333259.454 +4-12-2019 01:00,807574.152,375919.192,375919.192 +4-12-2019 02:00,1160930.4960000003,540403.6000000001,540403.6000000001 +4-12-2019 03:00,1478915.1520000002,688423.032,688423.032 +4-12-2019 04:00,1609212.5280000002,749075.2720000001,749075.2720000001 +4-12-2019 05:00,1779125.9200000002,828168.6160000002,828168.6160000002 +4-12-2019 06:00,1958524.128,911677.0080000001,911677.0080000001 +4-12-2019 07:00,4850469.888,2257854.0160000003,2257854.0160000003 +4-12-2019 08:00,4961349.536,2309467.7760000005,2309467.7760000005 +4-12-2019 09:00,6927639.488000001,3224759.6480000005,3224759.6480000005 +4-12-2019 10:00,5201953.856000001,2421466.608,2421466.608 +4-12-2019 11:00,2091592.272,973619.064,973619.064 +4-12-2019 12:00,2475145.376,1152160.064,1152160.064 +4-12-2019 13:00,1716456.8960000002,798996.6160000002,798996.6160000002 +4-12-2019 14:00,1430794.112,666023.028,666023.028 +4-12-2019 15:00,3055544.4480000003,1422330.8880000003,1422330.8880000003 +4-12-2019 16:00,3998404.256,1861224.6400000001,1861224.6400000001 +4-12-2019 17:00,3639276.608,1694053.6800000002,1694053.6800000002 +4-12-2019 18:00,8090825.600000001,3766213.0880000005,3766213.0880000005 +4-12-2019 19:00,6264269.440000001,2915966.5920000006,2915966.5920000006 +4-12-2019 20:00,4744967.040000001,2208743.328,2208743.328 +4-12-2019 21:00,4375246.3040000005,2036641.5520000001,2036641.5520000001 +4-12-2019 22:00,2390457.8720000004,1112738.7040000001,1112738.7040000001 +4-12-2019 23:00,824340.088,383723.60400000005,383723.60400000005 +5-12-2019 00:00,865396.8400000001,402835.22400000005,402835.22400000005 +5-12-2019 01:00,984199.3040000001,458136.75600000005,458136.75600000005 +5-12-2019 02:00,1428330.5520000001,664876.3,664876.3 +5-12-2019 03:00,1683517.0880000002,783663.496,783663.496 +5-12-2019 04:00,1832193.2640000002,852871.0080000001,852871.0080000001 +5-12-2019 05:00,1925466.0480000002,896288.8,896288.8 +5-12-2019 06:00,2086056.8960000002,971042.5120000001,971042.5120000001 +5-12-2019 07:00,5152691.104,2398535.7440000004,2398535.7440000004 +5-12-2019 08:00,5171434.048,2407260.5920000006,2407260.5920000006 +5-12-2019 09:00,7316531.904,3405786.208,3405786.208 +5-12-2019 10:00,6290908.096000001,2928366.3200000003,2928366.3200000003 +5-12-2019 11:00,3484208.9920000006,1621870.976,1621870.976 +5-12-2019 12:00,3567287.328,1660543.104,1660543.104 +5-12-2019 13:00,2975642.5600000005,1385137.512,1385137.512 +5-12-2019 14:00,2590829.824,1206010.256,1206010.256 +5-12-2019 15:00,3695605.0560000003,1720274.3360000001,1720274.3360000001 +5-12-2019 16:00,4139950.8480000007,1927113.2320000003,1927113.2320000003 +5-12-2019 17:00,3610387.6160000004,1680606.048,1680606.048 +5-12-2019 18:00,7986937.728000001,3717854.2720000003,3717854.2720000003 +5-12-2019 19:00,6077923.456,2829224.112,2829224.112 +5-12-2019 20:00,4441576.832,2067517.9360000002,2067517.9360000002 +5-12-2019 21:00,4095771.68,1906548.3360000001,1906548.3360000001 +5-12-2019 22:00,2198282.592,1023282.4800000001,1023282.4800000001 +5-12-2019 23:00,723935.1680000001,336985.92400000006,336985.92400000006 +6-12-2019 00:00,711234.7880000001,331073.97400000005,331073.97400000005 +6-12-2019 01:00,726791.1640000001,338315.318,338315.318 +6-12-2019 02:00,931529.984,433619.60400000005,433619.60400000005 +6-12-2019 03:00,1267940.6960000002,590216.0,590216.0 +6-12-2019 04:00,1426438.992,663995.6400000001,663995.6400000001 +6-12-2019 05:00,1527775.7440000002,711167.1160000002,711167.1160000002 +6-12-2019 06:00,1718170.6080000002,799794.424,799794.424 +6-12-2019 07:00,4426735.808,2060609.584,2060609.584 +6-12-2019 08:00,4650586.688,2164810.208,2164810.208 +6-12-2019 09:00,6835593.600000001,3181913.1520000002,3181913.1520000002 +6-12-2019 10:00,5560997.376,2588598.848,2588598.848 +6-12-2019 11:00,2678776.6720000003,1246948.736,1246948.736 +6-12-2019 12:00,2871497.552,1336658.752,1336658.752 +6-12-2019 13:00,2334423.168,1086655.064,1086655.064 +6-12-2019 14:00,2149854.784,1000739.8720000001,1000739.8720000001 +6-12-2019 15:00,3259324.288,1517188.992,1517188.992 +6-12-2019 16:00,3714762.6560000004,1729191.7280000001,1729191.7280000001 +6-12-2019 17:00,3190786.0160000003,1485284.9440000001,1485284.9440000001 +6-12-2019 18:00,7610147.776000001,3542461.824,3542461.824 +6-12-2019 19:00,5518674.656,2568897.9359999998,2568897.9359999998 +6-12-2019 20:00,3853044.8000000003,1793561.0880000002,1793561.0880000002 +6-12-2019 21:00,3400805.0560000003,1583046.9600000002,1583046.9600000002 +6-12-2019 22:00,1836467.9520000003,854860.8640000001,854860.8640000001 +6-12-2019 23:00,602604.2880000001,280507.39200000005,280507.39200000005 +7-12-2019 00:00,575048.892,267680.57800000004,267680.57800000004 +7-12-2019 01:00,570382.3400000001,265508.342,265508.342 +7-12-2019 02:00,569474.356,265085.678,265085.678 +7-12-2019 03:00,647236.7880000001,301283.444,301283.444 +7-12-2019 04:00,899462.52,418692.428,418692.428 +7-12-2019 05:00,1024389.3440000002,476844.896,476844.896 +7-12-2019 06:00,1205290.328,561052.8,561052.8 +7-12-2019 07:00,2146454.112,999156.752,999156.752 +7-12-2019 08:00,4046956.6720000003,1883825.1520000002,1883825.1520000002 +7-12-2019 09:00,7882906.944000001,3669428.9280000003,3669428.9280000003 +7-12-2019 10:00,7802025.792,3631779.008,3631779.008 +7-12-2019 11:00,3719805.4080000003,1731539.04,1731539.04 +7-12-2019 12:00,3430616.64,1596923.8560000001,1596923.8560000001 +7-12-2019 13:00,2411257.552,1122420.6400000001,1122420.6400000001 +7-12-2019 14:00,2187502.592,1018264.7200000001,1018264.7200000001 +7-12-2019 15:00,3092442.848,1439506.992,1439506.992 +7-12-2019 16:00,3260084.9600000004,1517542.928,1517542.928 +7-12-2019 17:00,3292787.5200000005,1532765.8720000002,1532765.8720000002 +7-12-2019 18:00,3312069.728,1541741.52,1541741.52 +7-12-2019 19:00,3301541.408,1536840.448,1536840.448 +7-12-2019 20:00,3291956.096,1532378.6720000003,1532378.6720000003 +7-12-2019 21:00,2581592.112,1201709.9600000002,1201709.9600000002 +7-12-2019 22:00,1121597.84,522094.6720000001,522094.6720000001 +7-12-2019 23:00,627178.508,291946.46800000005,291946.46800000005 +8-12-2019 00:00,608670.7440000001,283331.246,283331.246 +8-12-2019 01:00,605068.684,281654.56000000006,281654.56000000006 +8-12-2019 02:00,602607.588,280508.88800000004,280508.88800000004 +8-12-2019 03:00,774203.056,360385.212,360385.212 +8-12-2019 04:00,914222.76,425563.204,425563.204 +8-12-2019 05:00,1012112.6400000001,471130.17600000004,471130.17600000004 +8-12-2019 06:00,1151162.584,535856.7720000001,535856.7720000001 +8-12-2019 07:00,2076732.24,966702.0000000001,966702.0000000001 +8-12-2019 08:00,3929398.1760000004,1829102.7040000001,1829102.7040000001 +8-12-2019 09:00,7683005.440000001,3576376.6720000003,3576376.6720000003 +8-12-2019 10:00,7208057.472,3355292.16,3355292.16 +8-12-2019 11:00,3334276.0000000005,1552078.3520000002,1552078.3520000002 +8-12-2019 12:00,3131589.1200000006,1457729.064,1457729.064 +8-12-2019 13:00,2089537.4720000003,972662.6800000002,972662.6800000002 +8-12-2019 14:00,1686650.9440000001,785122.2720000001,785122.2720000001 +8-12-2019 15:00,2831489.2320000003,1318034.9600000002,1318034.9600000002 +8-12-2019 16:00,3051045.8880000003,1420237.104,1420237.104 +8-12-2019 17:00,3085885.44,1436454.448,1436454.448 +8-12-2019 18:00,3097413.44,1441820.6880000003,1441820.6880000003 +8-12-2019 19:00,3118358.1440000003,1451570.208,1451570.208 +8-12-2019 20:00,3140741.472,1461989.32,1461989.32 +8-12-2019 21:00,2497331.9359999998,1162487.568,1162487.568 +8-12-2019 22:00,1117877.2000000002,520362.6560000001,520362.6560000001 +8-12-2019 23:00,660478.1480000002,307447.184,307447.184 +9-12-2019 00:00,665580.564,309822.30400000006,309822.30400000006 +9-12-2019 01:00,663613.192,308906.51,308906.51 +9-12-2019 02:00,664162.752,309162.348,309162.348 +9-12-2019 03:00,877652.5120000001,408540.044,408540.044 +9-12-2019 04:00,1014249.192,472124.75200000004,472124.75200000004 +9-12-2019 05:00,1159559.368,539765.468,539765.468 +9-12-2019 06:00,1338938.568,623265.0160000001,623265.0160000001 +9-12-2019 07:00,3616875.68,1683626.208,1683626.208 +9-12-2019 08:00,4210082.624,1959759.12,1959759.12 +9-12-2019 09:00,6156971.392,2866019.9040000006,2866019.9040000006 +9-12-2019 10:00,4634708.672,2157419.0880000005,2157419.0880000005 +9-12-2019 11:00,1940269.7600000002,903179.728,903179.728 +9-12-2019 12:00,2302403.6640000003,1071750.064,1071750.064 +9-12-2019 13:00,1890111.3440000003,879831.4800000001,879831.4800000001 +9-12-2019 14:00,1839256.848,856159.128,856159.128 +9-12-2019 15:00,2850576.4320000005,1326920.144,1326920.144 +9-12-2019 16:00,3240167.3920000005,1508271.424,1508271.424 +9-12-2019 17:00,2756046.8320000004,1282917.328,1282917.328 +9-12-2019 18:00,7380112.96,3435382.3680000002,3435382.3680000002 +9-12-2019 19:00,4997868.1280000005,2326467.2640000004,2326467.2640000004 +9-12-2019 20:00,3396551.8400000003,1581067.3120000002,1581067.3120000002 +9-12-2019 21:00,3430253.3760000006,1596754.8960000002,1596754.8960000002 +9-12-2019 22:00,1807770.976,841502.728,841502.728 +9-12-2019 23:00,615139.1400000001,286342.232,286342.232 +10-12-2019 00:00,597960.792,278345.87000000005,278345.87000000005 +10-12-2019 01:00,611791.62,284783.994,284783.994 +10-12-2019 02:00,642867.6760000001,299249.65400000004,299249.65400000004 +10-12-2019 03:00,927936.768,431947.032,431947.032 +10-12-2019 04:00,1161095.408,540480.4240000001,540480.4240000001 +10-12-2019 05:00,1347298.2160000002,627156.2880000001,627156.2880000001 +10-12-2019 06:00,1517959.168,706597.584,706597.584 +10-12-2019 07:00,3935169.2160000005,1831789.168,1831789.168 +10-12-2019 08:00,4400796.928,2048535.104,2048535.104 +10-12-2019 09:00,6466075.264,3009905.1840000004,3009905.1840000004 +10-12-2019 10:00,5044342.688,2348100.656,2348100.656 +10-12-2019 11:00,2279855.776,1061254.304,1061254.304 +10-12-2019 12:00,2499062.72,1163293.384,1163293.384 +10-12-2019 13:00,2100566.336,977796.5120000001,977796.5120000001 +10-12-2019 14:00,1944016.272,904923.7120000002,904923.7120000002 +10-12-2019 15:00,2960814.208,1378234.704,1378234.704 +10-12-2019 16:00,3401067.296,1583169.104,1583169.104 +10-12-2019 17:00,2942754.848,1369828.328,1369828.328 +10-12-2019 18:00,7505505.920000001,3493751.7120000003,3493751.7120000003 +10-12-2019 19:00,5361202.88,2495596.224,2495596.224 +10-12-2019 20:00,3455229.536,1608381.104,1608381.104 +10-12-2019 21:00,3321155.552,1545970.8,1545970.8 +10-12-2019 22:00,1753467.7600000002,816224.9040000001,816224.9040000001 +10-12-2019 23:00,578106.188,269103.69200000004,269103.69200000004 +11-12-2019 00:00,559910.2520000001,260633.67000000004,260633.67000000004 +11-12-2019 01:00,554706.9,258211.51400000002,258211.51400000002 +11-12-2019 02:00,578177.292,269136.824,269136.824 +11-12-2019 03:00,651294.4680000001,303172.298,303172.298 +11-12-2019 04:00,934224.456,434873.868,434873.868 +11-12-2019 05:00,1105531.8560000001,514616.08,514616.08 +11-12-2019 06:00,1263208.32,588013.096,588013.096 +11-12-2019 07:00,3423915.2640000004,1593804.6080000002,1593804.6080000002 +11-12-2019 08:00,4130517.952,1922722.5600000003,1922722.5600000003 +11-12-2019 09:00,6192885.248000001,2882737.44,2882737.44 +11-12-2019 10:00,4728685.632,2201164.768,2201164.768 +11-12-2019 11:00,2057266.6400000001,957640.8160000001,957640.8160000001 +11-12-2019 12:00,2358509.1200000006,1097866.7040000001,1097866.7040000001 +11-12-2019 13:00,1969493.504,916783.12,916783.12 +11-12-2019 14:00,1831514.784,852555.2640000001,852555.2640000001 +11-12-2019 15:00,2909666.3200000003,1354425.776,1354425.776 +11-12-2019 16:00,3381872.0320000006,1574233.9360000002,1574233.9360000002 +11-12-2019 17:00,2919144.2720000003,1358837.8320000002,1358837.8320000002 +11-12-2019 18:00,7504507.648,3493287.072,3493287.072 +11-12-2019 19:00,5428848.48,2527084.5600000005,2527084.5600000005 +11-12-2019 20:00,3562323.7760000005,1658232.752,1658232.752 +11-12-2019 21:00,3429437.0880000005,1596375.0880000002,1596375.0880000002 +11-12-2019 22:00,1847555.0720000002,860021.8,860021.8 +11-12-2019 23:00,610384.456,284128.988,284128.988 +12-12-2019 00:00,606842.104,282480.04400000005,282480.04400000005 +12-12-2019 01:00,620538.16,288855.446,288855.446 +12-12-2019 02:00,633094.1760000001,294700.164,294700.164 +12-12-2019 03:00,848375.8800000001,394912.05600000004,394912.05600000004 +12-12-2019 04:00,1138847.2480000001,530124.1000000001,530124.1000000001 +12-12-2019 05:00,1287988.4160000002,599548.0920000001,599548.0920000001 +12-12-2019 06:00,1465715.768,682278.696,682278.696 +12-12-2019 07:00,3901237.1200000006,1815994.2240000002,1815994.2240000002 +12-12-2019 08:00,4414494.3040000005,2054911.056,2054911.056 +12-12-2019 09:00,6453519.424000001,3004060.9280000003,3004060.9280000003 +12-12-2019 10:00,4585689.856000001,2134601.216,2134601.216 +12-12-2019 11:00,1874947.712,872772.9120000001,872772.9120000001 +12-12-2019 12:00,2358189.68,1097718.0720000002,1097718.0720000002 +12-12-2019 13:00,1653052.72,769482.4720000001,769482.4720000001 +12-12-2019 14:00,1467336.6400000001,683033.252,683033.252 +12-12-2019 15:00,2996361.984,1394782.048,1394782.048 +12-12-2019 16:00,3514341.2480000006,1635897.12,1635897.12 +12-12-2019 17:00,3081522.752,1434423.7600000002,1434423.7600000002 +12-12-2019 18:00,7599752.512,3537623.2320000003,3537623.2320000003 +12-12-2019 19:00,5535343.264,2576656.896,2576656.896 +12-12-2019 20:00,3740891.9680000003,1741354.7360000003,1741354.7360000003 +12-12-2019 21:00,3551780.6720000003,1653325.168,1653325.168 +12-12-2019 22:00,1903548.5920000002,886086.3440000002,886086.3440000002 +12-12-2019 23:00,648389.588,301820.09,301820.09 +13-12-2019 00:00,641121.2720000001,298436.732,298436.732 +13-12-2019 01:00,643321.228,299460.766,299460.766 +13-12-2019 02:00,664640.284,309384.592,309384.592 +13-12-2019 03:00,1002513.424,466661.80000000005,466661.80000000005 +13-12-2019 04:00,1238431.304,576479.684,576479.684 +13-12-2019 05:00,1379182.64,641998.236,641998.236 +13-12-2019 06:00,1559113.6,725754.6560000001,725754.6560000001 +13-12-2019 07:00,4091272.416,1904453.9360000002,1904453.9360000002 +13-12-2019 08:00,4485564.864000001,2087993.9520000003,2087993.9520000003 +13-12-2019 09:00,6614748.800000001,3079111.552,3079111.552 +13-12-2019 10:00,5369278.816,2499355.7600000002,2499355.7600000002 +13-12-2019 11:00,2520446.896,1173247.328,1173247.328 +13-12-2019 12:00,2764064.16,1286649.2320000003,1286649.2320000003 +13-12-2019 13:00,2354428.912,1095967.4000000001,1095967.4000000001 +13-12-2019 14:00,2188666.656,1018806.3600000001,1018806.3600000001 +13-12-2019 15:00,3202337.2480000006,1490661.9200000002,1490661.9200000002 +13-12-2019 16:00,3552098.88,1653473.1840000001,1653473.1840000001 +13-12-2019 17:00,3065226.912,1426838.3360000001,1426838.3360000001 +13-12-2019 18:00,7510717.632000001,3496177.696,3496177.696 +13-12-2019 19:00,5403463.296000001,2515268.096,2515268.096 +13-12-2019 20:00,3744994.5280000004,1743264.3360000001,1743264.3360000001 +13-12-2019 21:00,3418621.536,1591340.4320000003,1591340.4320000003 +13-12-2019 22:00,1842722.2880000002,857772.1680000001,857772.1680000001 +13-12-2019 23:00,619657.6320000001,288445.586,288445.586 +14-12-2019 00:00,613645.12,285646.81200000003,285646.81200000003 +14-12-2019 01:00,616828.432,287128.57800000004,287128.57800000004 +14-12-2019 02:00,624467.1400000001,290684.39400000003,290684.39400000003 +14-12-2019 03:00,838127.3120000002,390141.444,390141.444 +14-12-2019 04:00,1108065.7280000001,515795.544,515795.544 +14-12-2019 05:00,1265978.736,589302.824,589302.824 +14-12-2019 06:00,1394915.984,649322.0800000001,649322.0800000001 +14-12-2019 07:00,2293307.1040000003,1067515.7680000002,1067515.7680000002 +14-12-2019 08:00,4161385.5360000003,1937091.0240000002,1937091.0240000002 +14-12-2019 09:00,8131715.328000002,3785247.4880000004,3785247.4880000004 +14-12-2019 10:00,8060317.056000001,3752011.6480000005,3752011.6480000005 +14-12-2019 11:00,3636126.208,1692587.0720000002,1692587.0720000002 +14-12-2019 12:00,3539056.5760000004,1647401.8880000003,1647401.8880000003 +14-12-2019 13:00,2558458.6720000003,1190941.752,1190941.752 +14-12-2019 14:00,2535998.4320000005,1180486.648,1180486.648 +14-12-2019 15:00,3264649.696,1519667.9520000003,1519667.9520000003 +14-12-2019 16:00,3552502.6240000003,1653661.1520000002,1653661.1520000002 +14-12-2019 17:00,3504295.8720000004,1631221.1520000002,1631221.1520000002 +14-12-2019 18:00,3500133.4720000005,1629283.568,1629283.568 +14-12-2019 19:00,3554271.7760000005,1654484.4800000002,1654484.4800000002 +14-12-2019 20:00,3561026.6560000004,1657628.8960000002,1657628.8960000002 +14-12-2019 21:00,2831318.688,1317955.7600000002,1317955.7600000002 +14-12-2019 22:00,1274221.256,593139.5360000001,593139.5360000001 +14-12-2019 23:00,744442.688,346532.032,346532.032 +15-12-2019 00:00,741889.5440000001,345343.526,345343.526 +15-12-2019 01:00,719952.6400000001,335132.11600000004,335132.11600000004 +15-12-2019 02:00,858834.152,399780.30400000006,399780.30400000006 +15-12-2019 03:00,984022.6000000001,458054.476,458054.476 +15-12-2019 04:00,1103515.0720000002,513677.25200000004,513677.25200000004 +15-12-2019 05:00,1125145.56,523746.08,523746.08 +15-12-2019 06:00,1229518.048,572330.572,572330.572 +15-12-2019 07:00,2175801.936,1012817.9600000001,1012817.9600000001 +15-12-2019 08:00,4100561.3440000005,1908777.904,1908777.904 +15-12-2019 09:00,7942678.656,3697252.0640000007,3697252.0640000007 +15-12-2019 10:00,7089799.552000001,3300243.936,3300243.936 +15-12-2019 11:00,3617899.296,1684102.4640000002,1684102.4640000002 +15-12-2019 12:00,3452558.5600000005,1607137.84,1607137.84 +15-12-2019 13:00,2429226.4480000003,1130785.128,1130785.128 +15-12-2019 14:00,2228222.8320000004,1037219.4800000001,1037219.4800000001 +15-12-2019 15:00,3136837.7920000004,1460172.384,1460172.384 +15-12-2019 16:00,3294897.7600000002,1533748.128,1533748.128 +15-12-2019 17:00,3352547.9680000003,1560583.7280000001,1560583.7280000001 +15-12-2019 18:00,3426622.848,1595065.12,1595065.12 +15-12-2019 19:00,3442103.4560000002,1602271.0880000002,1602271.0880000002 +15-12-2019 20:00,3429207.5840000003,1596268.08,1596268.08 +15-12-2019 21:00,2697531.9359999998,1255679.304,1255679.304 +15-12-2019 22:00,1221416.4160000002,568559.332,568559.332 +15-12-2019 23:00,726367.4440000001,338118.13200000004,338118.13200000004 +16-12-2019 00:00,717952.8400000001,334201.23000000004,334201.23000000004 +16-12-2019 01:00,756754.152,352262.856,352262.856 +16-12-2019 02:00,910640.8080000001,423895.868,423895.868 +16-12-2019 03:00,1079445.928,502473.22400000005,502473.22400000005 +16-12-2019 04:00,1229417.2880000002,572283.712,572283.712 +16-12-2019 05:00,1285105.1840000001,598206.0480000001,598206.0480000001 +16-12-2019 06:00,1376883.376,640927.9800000001,640927.9800000001 +16-12-2019 07:00,3774869.824,1757171.3280000002,1757171.3280000002 +16-12-2019 08:00,4159538.24,1936231.0880000002,1936231.0880000002 +16-12-2019 09:00,6233978.432000001,2901865.824,2901865.824 +16-12-2019 10:00,4803176.224,2235839.0560000003,2235839.0560000003 +16-12-2019 11:00,2055613.12,956871.1680000001,956871.1680000001 +16-12-2019 12:00,2306474.3680000002,1073644.968,1073644.968 +16-12-2019 13:00,1928641.6160000002,897766.9360000001,897766.9360000001 +16-12-2019 14:00,1799220.8960000002,837522.6640000001,837522.6640000001 +16-12-2019 15:00,2806175.68,1306251.848,1306251.848 +16-12-2019 16:00,3283567.2320000003,1528473.9360000002,1528473.9360000002 +16-12-2019 17:00,2752427.2160000005,1281232.4800000002,1281232.4800000002 +16-12-2019 18:00,7365616.896000001,3428634.88,3428634.88 +16-12-2019 19:00,4994791.296000001,2325034.8000000003,2325034.8000000003 +16-12-2019 20:00,3285494.4320000005,1529370.6560000002,1529370.6560000002 +16-12-2019 21:00,3225286.5920000006,1501344.768,1501344.768 +16-12-2019 22:00,1722272.112,801703.584,801703.584 +16-12-2019 23:00,572339.636,266419.45,266419.45 +17-12-2019 00:00,576203.2760000001,268217.906,268217.906 +17-12-2019 01:00,585434.652,272515.07800000004,272515.07800000004 +17-12-2019 02:00,614339.3080000001,285969.92600000004,285969.92600000004 +17-12-2019 03:00,687483.236,320017.786,320017.786 +17-12-2019 04:00,939640.152,437394.84800000006,437394.84800000006 +17-12-2019 05:00,1045586.6960000001,486712.07200000004,486712.07200000004 +17-12-2019 06:00,1185138.24,551672.176,551672.176 +17-12-2019 07:00,3254229.0880000005,1514817.04,1514817.04 +17-12-2019 08:00,3860225.2480000006,1796903.3280000002,1796903.3280000002 +17-12-2019 09:00,5845159.936000001,2720874.4640000006,2720874.4640000006 +17-12-2019 10:00,4187431.072,1949214.9600000002,1949214.9600000002 +17-12-2019 11:00,1563764.752,727919.6760000001,727919.6760000001 +17-12-2019 12:00,1818033.8880000003,846279.8960000001,846279.8960000001 +17-12-2019 13:00,1198334.8080000002,557815.06,557815.06 +17-12-2019 14:00,1213434.112,564843.7080000001,564843.7080000001 +17-12-2019 15:00,2169488.112,1009879.0240000001,1009879.0240000001 +17-12-2019 16:00,2607735.504,1213879.656,1213879.656 +17-12-2019 17:00,2128499.12,990799.0400000002,990799.0400000002 +17-12-2019 18:00,6975458.688000001,3247019.424,3247019.424 +17-12-2019 19:00,4190639.9040000006,1950708.6720000003,1950708.6720000003 +17-12-2019 20:00,2959178.4640000006,1377473.4160000002,1377473.4160000002 +17-12-2019 21:00,3085999.136,1436507.512,1436507.512 +17-12-2019 22:00,1671107.3280000002,777886.824,777886.824 +17-12-2019 23:00,556937.7440000001,259249.958,259249.958 +18-12-2019 00:00,546074.628,254193.28,254193.28 +18-12-2019 01:00,547611.724,254908.83000000002,254908.83000000002 +18-12-2019 02:00,548160.6680000001,255164.31600000002,255164.31600000002 +18-12-2019 03:00,562114.7400000001,261659.83800000002,261659.83800000002 +18-12-2019 04:00,828991.152,385888.62400000007,385888.62400000007 +18-12-2019 05:00,981170.6080000001,456726.90800000005,456726.90800000005 +18-12-2019 06:00,1206254.368,561501.6000000001,561501.6000000001 +18-12-2019 07:00,3265464.9280000003,1520047.408,1520047.408 +18-12-2019 08:00,4014558.944,1868744.5920000002,1868744.5920000002 +18-12-2019 09:00,6020686.848,2802580.5280000004,2802580.5280000004 +18-12-2019 10:00,4586045.024,2134766.8320000004,2134766.8320000004 +18-12-2019 11:00,1810594.192,842816.832,842816.832 +18-12-2019 12:00,2130623.0880000005,991787.6320000001,991787.6320000001 +18-12-2019 13:00,1704679.3280000002,793514.392,793514.392 +18-12-2019 14:00,1654582.6880000003,770194.832,770194.832 +18-12-2019 15:00,2714184.0,1263430.256,1263430.256 +18-12-2019 16:00,3215698.112,1496881.2320000003,1496881.2320000003 +18-12-2019 17:00,2788601.728,1298071.456,1298071.456 +18-12-2019 18:00,7391010.880000001,3440455.04,3440455.04 +18-12-2019 19:00,5006516.416,2330492.384,2330492.384 +18-12-2019 20:00,3238252.512,1507380.1600000001,1507380.1600000001 +18-12-2019 21:00,3179744.8320000004,1480145.04,1480145.04 +18-12-2019 22:00,1701097.0240000002,791846.8800000001,791846.8800000001 +18-12-2019 23:00,566496.084,263699.326,263699.326 +19-12-2019 00:00,556944.212,259253.01600000003,259253.01600000003 +19-12-2019 01:00,536474.576,249724.55200000003,249724.55200000003 +19-12-2019 02:00,528644.8640000001,246079.87800000003,246079.87800000003 +19-12-2019 03:00,539680.944,251217.07600000003,251217.07600000003 +19-12-2019 04:00,773116.8720000001,359879.586,359879.586 +19-12-2019 05:00,881150.5120000001,410168.396,410168.396 +19-12-2019 06:00,1055125.8080000002,491152.42000000004,491152.42000000004 +19-12-2019 07:00,3063918.5280000004,1426228.9360000002,1426228.9360000002 +19-12-2019 08:00,3836810.912,1786004.176,1786004.176 +19-12-2019 09:00,5829157.664000001,2713425.6160000004,2713425.6160000004 +19-12-2019 10:00,4113950.3680000002,1915010.24,1915010.24 +19-12-2019 11:00,1492906.8,694935.868,694935.868 +19-12-2019 12:00,1750618.4960000003,814898.5680000001,814898.5680000001 +19-12-2019 13:00,1350889.848,628828.2000000001,628828.2000000001 +19-12-2019 14:00,1237165.424,575890.348,575890.348 +19-12-2019 15:00,2209672.08,1028584.2160000001,1028584.2160000001 +19-12-2019 16:00,2597721.1040000003,1209217.9440000001,1209217.9440000001 +19-12-2019 17:00,2180190.6720000003,1014860.9680000001,1014860.9680000001 +19-12-2019 18:00,6888935.680000001,3206743.2320000003,3206743.2320000003 +19-12-2019 19:00,4028070.4640000006,1875033.9520000003,1875033.9520000003 +19-12-2019 20:00,2642299.0880000005,1229968.784,1229968.784 +19-12-2019 21:00,2593936.752,1207456.36,1207456.36 +19-12-2019 22:00,1408533.8960000002,655661.028,655661.028 +19-12-2019 23:00,457341.72000000003,212888.852,212888.852 +20-12-2019 00:00,452868.5040000001,210806.57400000002,210806.57400000002 +20-12-2019 01:00,449370.81200000003,209178.464,209178.464 +20-12-2019 02:00,447888.232,208488.32400000002,208488.32400000002 +20-12-2019 03:00,450336.876,209628.122,209628.122 +20-12-2019 04:00,459818.08400000003,214041.564,214041.564 +20-12-2019 05:00,584364.3080000001,272016.80000000005,272016.80000000005 +20-12-2019 06:00,766881.104,356976.884,356976.884 +20-12-2019 07:00,2542159.136,1183354.392,1183354.392 +20-12-2019 08:00,3479113.7920000004,1619499.0240000002,1619499.0240000002 +20-12-2019 09:00,5489799.392,2555456.816,2555456.816 +20-12-2019 10:00,3577550.24,1665320.448,1665320.448 +20-12-2019 11:00,1382430.6320000002,643510.2080000001,643510.2080000001 +20-12-2019 12:00,1730026.32,805313.1680000001,805313.1680000001 +20-12-2019 13:00,1353139.9200000002,629875.532,629875.532 +20-12-2019 14:00,1168667.5440000002,544005.176,544005.176 +20-12-2019 15:00,2196473.1360000004,1022440.3200000001,1022440.3200000001 +20-12-2019 16:00,2623093.968,1221028.776,1221028.776 +20-12-2019 17:00,2198084.24,1023190.256,1023190.256 +20-12-2019 18:00,6893427.904,3208834.4640000006,3208834.4640000006 +20-12-2019 19:00,4020068.8000000003,1871309.2640000002,1871309.2640000002 +20-12-2019 20:00,2816391.6,1311007.192,1311007.192 +20-12-2019 21:00,2805475.9040000006,1305925.984,1305925.984 +20-12-2019 22:00,1501107.168,698753.1760000001,698753.1760000001 +20-12-2019 23:00,484615.47200000007,225584.56800000003,225584.56800000003 +21-12-2019 00:00,492219.2,229124.038,229124.038 +21-12-2019 01:00,495908.82000000007,230841.51200000005,230841.51200000005 +21-12-2019 02:00,513749.63200000004,239146.29200000002,239146.29200000002 +21-12-2019 03:00,511515.26800000004,238106.198,238106.198 +21-12-2019 04:00,601340.6080000001,279919.134,279919.134 +21-12-2019 05:00,819476.9440000001,381459.848,381459.848 +21-12-2019 06:00,996936.6000000001,464065.84400000004,464065.84400000004 +21-12-2019 07:00,1975959.2160000002,919792.984,919792.984 +21-12-2019 08:00,3832994.1760000004,1784227.456,1784227.456 +21-12-2019 09:00,7454877.056000001,3470184.608,3470184.608 +21-12-2019 10:00,6980038.9120000005,3249151.4880000004,3249151.4880000004 +21-12-2019 11:00,3321928.1920000003,1546330.368,1546330.368 +21-12-2019 12:00,2938684.848,1367933.688,1367933.688 +21-12-2019 13:00,2060325.3440000003,959064.6560000001,959064.6560000001 +21-12-2019 14:00,1929127.3760000002,897993.096,897993.096 +21-12-2019 15:00,2780015.568,1294074.4960000003,1294074.4960000003 +21-12-2019 16:00,2903535.3600000003,1351571.9360000002,1351571.9360000002 +21-12-2019 17:00,2944998.848,1370872.8880000003,1370872.8880000003 +21-12-2019 18:00,2992627.6160000004,1393043.784,1393043.784 +21-12-2019 19:00,2981091.168,1387673.7600000002,1387673.7600000002 +21-12-2019 20:00,3029342.2720000003,1410134.176,1410134.176 +21-12-2019 21:00,2350147.8880000003,1093974.6400000001,1093974.6400000001 +21-12-2019 22:00,1055863.3360000001,491495.79600000003,491495.79600000003 +21-12-2019 23:00,602095.736,280270.672,280270.672 +22-12-2019 00:00,588775.792,274070.324,274070.324 +22-12-2019 01:00,606864.72,282490.56000000006,282490.56000000006 +22-12-2019 02:00,607749.6480000002,282902.55400000006,282902.55400000006 +22-12-2019 03:00,744941.384,346764.15400000004,346764.15400000004 +22-12-2019 04:00,854479.2080000001,397753.092,397753.092 +22-12-2019 05:00,961145.4160000001,447405.376,447405.376 +22-12-2019 06:00,1069377.408,497786.43200000003,497786.43200000003 +22-12-2019 07:00,1999380.24,930695.2160000001,930695.2160000001 +22-12-2019 08:00,3790501.0880000005,1764447.3440000003,1764447.3440000003 +22-12-2019 09:00,7482982.848,3483267.3920000005,3483267.3920000005 +22-12-2019 10:00,6864517.440000001,3195377.1520000002,3195377.1520000002 +22-12-2019 11:00,3297382.5280000004,1534904.6240000003,1534904.6240000003 +22-12-2019 12:00,2972728.352,1383780.816,1383780.816 +22-12-2019 13:00,2032111.4880000004,945931.3600000001,945931.3600000001 +22-12-2019 14:00,1884567.8720000002,877250.9680000001,877250.9680000001 +22-12-2019 15:00,2714417.024,1263538.9360000002,1263538.9360000002 +22-12-2019 16:00,2884734.6880000005,1342820.3360000001,1342820.3360000001 +22-12-2019 17:00,2954762.9760000003,1375417.912,1375417.912 +22-12-2019 18:00,2952627.7440000004,1374424.128,1374424.128 +22-12-2019 19:00,2959471.328,1377609.64,1377609.64 +22-12-2019 20:00,2957462.112,1376674.5520000001,1376674.5520000001 +22-12-2019 21:00,2311110.208,1075802.992,1075802.992 +22-12-2019 22:00,1058967.624,492940.80000000005,492940.80000000005 +22-12-2019 23:00,609953.9600000001,283928.612,283928.612 +23-12-2019 00:00,604540.684,281408.776,281408.776 +23-12-2019 01:00,588700.42,274035.27800000005,274035.27800000005 +23-12-2019 02:00,593922.604,276466.102,276466.102 +23-12-2019 03:00,714739.784,332705.516,332705.516 +23-12-2019 04:00,829493.0160000002,386122.264,386122.264 +23-12-2019 05:00,944536.384,439673.96,439673.96 +23-12-2019 06:00,1084371.816,504766.24000000005,504766.24000000005 +23-12-2019 07:00,3050204.9600000004,1419845.504,1419845.504 +23-12-2019 08:00,3868311.7440000004,1800667.6160000002,1800667.6160000002 +23-12-2019 09:00,5904317.056000001,2748411.7760000005,2748411.7760000005 +23-12-2019 10:00,4344293.536,2022233.1360000002,2022233.1360000002 +23-12-2019 11:00,1736340.6720000003,808252.368,808252.368 +23-12-2019 12:00,2025545.9840000002,942875.12,942875.12 +23-12-2019 13:00,1659335.392,772407.152,772407.152 +23-12-2019 14:00,1445263.6880000003,672758.4160000001,672758.4160000001 +23-12-2019 15:00,2475736.912,1152435.328,1152435.328 +23-12-2019 16:00,2925985.04,1362022.112,1362022.112 +23-12-2019 17:00,2426427.8720000004,1129482.3760000002,1129482.3760000002 +23-12-2019 18:00,7126118.9120000005,3317150.1440000003,3317150.1440000003 +23-12-2019 19:00,4278174.9120000005,1991455.664,1991455.664 +23-12-2019 20:00,2989181.8880000003,1391439.72,1391439.72 +23-12-2019 21:00,2947206.768,1371900.904,1371900.904 +23-12-2019 22:00,1581526.4960000003,736187.628,736187.628 +23-12-2019 23:00,537186.54,250055.96000000002,250055.96000000002 +24-12-2019 00:00,536629.0160000001,249796.42600000004,249796.42600000004 +24-12-2019 01:00,542506.2720000001,252532.192,252532.192 +24-12-2019 02:00,539007.26,250903.488,250903.488 +24-12-2019 03:00,538764.7320000001,250790.606,250790.606 +24-12-2019 04:00,768115.7440000001,357551.6560000001,357551.6560000001 +24-12-2019 05:00,948689.2800000001,441607.14400000003,441607.14400000003 +24-12-2019 06:00,1108952.2400000002,516208.22000000003,516208.22000000003 +24-12-2019 07:00,3117901.2480000006,1451357.6,1451357.6 +24-12-2019 08:00,3931633.024,1830143.04,1830143.04 +24-12-2019 09:00,6003702.848,2794674.608,2794674.608 +24-12-2019 10:00,4456985.632,2074690.4640000002,2074690.4640000002 +24-12-2019 11:00,1703741.0720000002,793077.6480000002,793077.6480000002 +24-12-2019 12:00,1978293.8560000001,920879.6080000001,920879.6080000001 +24-12-2019 13:00,1548797.8880000003,720952.8480000001,720952.8480000001 +24-12-2019 14:00,1482163.584,689935.136,689935.136 +24-12-2019 15:00,2439117.296,1135389.2000000002,1135389.2000000002 +24-12-2019 16:00,2852989.9200000004,1328043.4640000002,1328043.4640000002 +24-12-2019 17:00,2357572.096,1097430.5760000001,1097430.5760000001 +24-12-2019 18:00,7009162.688000001,3262708.0640000007,3262708.0640000007 +24-12-2019 19:00,4171613.952,1941852.176,1941852.176 +24-12-2019 20:00,2818625.9200000004,1312047.2640000002,1312047.2640000002 +24-12-2019 21:00,2792143.552,1299720.1360000002,1299720.1360000002 +24-12-2019 22:00,1502069.712,699201.184,699201.184 +24-12-2019 23:00,486709.82800000004,226559.45400000003,226559.45400000003 +25-12-2019 00:00,478987.87200000003,222964.94,222964.94 +25-12-2019 01:00,485898.95200000005,226182.022,226182.022 +25-12-2019 02:00,488985.90400000004,227618.95200000002,227618.95200000002 +25-12-2019 03:00,493185.08800000005,229573.65200000003,229573.65200000003 +25-12-2019 04:00,561693.792,261463.86200000002,261463.86200000002 +25-12-2019 05:00,769692.8800000001,358285.73000000004,358285.73000000004 +25-12-2019 06:00,956526.4720000001,445255.27200000006,445255.27200000006 +25-12-2019 07:00,2902354.224,1351022.2000000002,1351022.2000000002 +25-12-2019 08:00,3772080.5760000004,1755872.8,1755872.8 +25-12-2019 09:00,5849280.448,2722792.16,2722792.16 +25-12-2019 10:00,3797171.4880000004,1767552.512,1767552.512 +25-12-2019 11:00,1249641.0960000001,581697.7760000001,581697.7760000001 +25-12-2019 12:00,1784942.8960000002,830876.376,830876.376 +25-12-2019 13:00,1564125.2000000002,728087.5360000001,728087.5360000001 +25-12-2019 14:00,1574777.2480000001,733045.9400000001,733045.9400000001 +25-12-2019 15:00,2475795.5200000005,1152462.432,1152462.432 +25-12-2019 16:00,2931176.336,1364438.6800000002,1364438.6800000002 +25-12-2019 17:00,2498043.1520000002,1162818.712,1162818.712 +25-12-2019 18:00,7144436.992000001,3325676.9920000006,3325676.9920000006 +25-12-2019 19:00,4394199.744,2045463.904,2045463.904 +25-12-2019 20:00,3026491.072,1408806.8720000002,1408806.8720000002 +25-12-2019 21:00,2985775.5840000003,1389854.1360000002,1389854.1360000002 +25-12-2019 22:00,1613857.3440000003,751237.52,751237.52 +25-12-2019 23:00,547292.2840000001,254760.08800000002,254760.08800000002 +26-12-2019 00:00,529033.1200000001,246260.58600000004,246260.58600000004 +26-12-2019 01:00,526747.452,245196.622,245196.622 +26-12-2019 02:00,532980.6680000001,248098.15800000002,248098.15800000002 +26-12-2019 03:00,540541.9360000001,251617.89400000003,251617.89400000003 +26-12-2019 04:00,778755.384,362504.25200000004,362504.25200000004 +26-12-2019 05:00,933958.0800000001,434749.876,434749.876 +26-12-2019 06:00,1203443.208,560192.952,560192.952 +26-12-2019 07:00,3220115.3600000003,1498937.2640000002,1498937.2640000002 +26-12-2019 08:00,4044703.8720000004,1882776.5440000002,1882776.5440000002 +26-12-2019 09:00,6072168.96,2826545.3920000005,2826545.3920000005 +26-12-2019 10:00,4593160.0,2138078.6240000003,2138078.6240000003 +26-12-2019 11:00,1961072.0800000003,912863.072,912863.072 +26-12-2019 12:00,2283464.128,1062933.784,1062933.784 +26-12-2019 13:00,1900501.8560000001,884668.0480000002,884668.0480000002 +26-12-2019 14:00,1789222.512,832868.432,832868.432 +26-12-2019 15:00,2785888.336,1296808.128,1296808.128 +26-12-2019 16:00,3232173.472,1504550.4320000003,1504550.4320000003 +26-12-2019 17:00,2724991.4560000002,1268461.304,1268461.304 +26-12-2019 18:00,7347419.904,3420164.352,3420164.352 +26-12-2019 19:00,5057984.096000001,2354450.5600000005,2354450.5600000005 +26-12-2019 20:00,3289960.608,1531449.9200000002,1531449.9200000002 +26-12-2019 21:00,3234386.4960000003,1505580.736,1505580.736 +26-12-2019 22:00,1753075.8080000002,816042.5680000001,816042.5680000001 +26-12-2019 23:00,586429.712,272978.244,272978.244 +27-12-2019 00:00,573353.2640000001,266891.26200000005,266891.26200000005 +27-12-2019 01:00,571320.0240000001,265944.80000000005,265944.80000000005 +27-12-2019 02:00,566444.692,263675.39,263675.39 +27-12-2019 03:00,654310.888,304576.40400000004,304576.40400000004 +27-12-2019 04:00,898725.256,418349.228,418349.228 +27-12-2019 05:00,1116821.904,519871.57200000004,519871.57200000004 +27-12-2019 06:00,1347549.2800000003,627273.196,627273.196 +27-12-2019 07:00,3651331.2,1699664.912,1699664.912 +27-12-2019 08:00,4364105.504000001,2031455.536,2031455.536 +27-12-2019 09:00,6377891.5200000005,2968856.352,2968856.352 +27-12-2019 10:00,4520828.224,2104408.768,2104408.768 +27-12-2019 11:00,1647940.8,767102.952,767102.952 +27-12-2019 12:00,2101413.072,978190.6640000001,978190.6640000001 +27-12-2019 13:00,1443759.6800000002,672058.2880000001,672058.2880000001 +27-12-2019 14:00,1261688.0320000001,587305.4,587305.4 +27-12-2019 15:00,2851678.544,1327433.0960000001,1327433.0960000001 +27-12-2019 16:00,3453230.1760000004,1607450.768,1607450.768 +27-12-2019 17:00,3046538.5280000004,1418138.9200000002,1418138.9200000002 +27-12-2019 18:00,7717685.888,3592520.0960000004,3592520.0960000004 +27-12-2019 19:00,5705905.216,2656052.256,2656052.256 +27-12-2019 20:00,3912490.208,1821232.1600000001,1821232.1600000001 +27-12-2019 21:00,3815308.9920000006,1775995.056,1775995.056 +27-12-2019 22:00,2091355.904,973509.152,973509.152 +27-12-2019 23:00,747956.4400000001,348167.62200000003,348167.62200000003 +28-12-2019 00:00,710800.2000000001,330871.684,330871.684 +28-12-2019 01:00,736273.0760000001,342729.112,342729.112 +28-12-2019 02:00,1068810.424,497522.5200000001,497522.5200000001 +28-12-2019 03:00,1464092.08,681522.8640000001,681522.8640000001 +28-12-2019 04:00,1651062.1600000001,768555.832,768555.832 +28-12-2019 05:00,1727455.3120000002,804116.2800000001,804116.2800000001 +28-12-2019 06:00,1924965.1520000002,896055.5120000001,896055.5120000001 +28-12-2019 07:00,2895190.3200000003,1347687.3520000002,1347687.3520000002 +28-12-2019 08:00,4976508.064,2316523.7920000004,2316523.7920000004 +28-12-2019 09:00,9196066.88,4280694.176000001,4280694.176000001 +28-12-2019 10:00,9428967.680000002,4389107.36,4389107.36 +28-12-2019 11:00,5012139.968,2333109.856,2333109.856 +28-12-2019 12:00,4298893.632,2001099.7600000002,2001099.7600000002 +28-12-2019 13:00,3212112.64,1495212.2240000002,1495212.2240000002 +28-12-2019 14:00,2951889.424,1374080.4880000001,1374080.4880000001 +28-12-2019 15:00,3807071.4880000004,1772160.7200000002,1772160.7200000002 +28-12-2019 16:00,4039080.3200000008,1880158.8960000002,1880158.8960000002 +28-12-2019 17:00,4065786.9120000005,1892590.8320000002,1892590.8320000002 +28-12-2019 18:00,4137672.352,1926052.4800000002,1926052.4800000002 +28-12-2019 19:00,4150674.5280000004,1932105.2960000003,1932105.2960000003 +28-12-2019 20:00,4154735.552,1933995.536,1933995.536 +28-12-2019 21:00,3293437.3120000004,1533068.4160000002,1533068.4160000002 +28-12-2019 22:00,1525812.4640000002,710253.236,710253.236 +28-12-2019 23:00,930819.824,433289.032,433289.032 +29-12-2019 00:00,928391.464,432158.628,432158.628 +29-12-2019 01:00,1187000.408,552538.932,552538.932 +29-12-2019 02:00,1428845.44,665115.9680000001,665115.9680000001 +29-12-2019 03:00,1666566.176,775772.9760000001,775772.9760000001 +29-12-2019 04:00,1786758.6880000003,831721.6160000002,831721.6160000002 +29-12-2019 05:00,1924015.6320000002,895613.488,895613.488 +29-12-2019 06:00,2068505.648,962872.5920000001,962872.5920000001 +29-12-2019 07:00,3091719.8400000003,1439170.4800000002,1439170.4800000002 +29-12-2019 08:00,5057033.696,2354007.7440000004,2354007.7440000004 +29-12-2019 09:00,9274750.848000001,4317320.48,4317320.48 +29-12-2019 10:00,9610254.016,4473494.432,4473494.432 +29-12-2019 11:00,5186152.576,2414111.9200000004,2414111.9200000004 +29-12-2019 12:00,4497139.68,2093381.84,2093381.84 +29-12-2019 13:00,3382291.6160000004,1574429.2960000003,1574429.2960000003 +29-12-2019 14:00,3075067.7760000005,1431418.912,1431418.912 +29-12-2019 15:00,3880828.512,1806494.0960000004,1806494.0960000004 +29-12-2019 16:00,4060517.4720000005,1890137.9200000002,1890137.9200000002 +29-12-2019 17:00,4072584.736,1895755.1360000002,1895755.1360000002 +29-12-2019 18:00,4139585.4720000005,1926943.2160000002,1926943.2160000002 +29-12-2019 19:00,4118200.416,1916988.8320000002,1916988.8320000002 +29-12-2019 20:00,4057847.2,1888894.6560000002,1888894.6560000002 +29-12-2019 21:00,3168560.384,1474939.1360000002,1474939.1360000002 +29-12-2019 22:00,1474337.568,686292.1120000001,686292.1120000001 +29-12-2019 23:00,890470.5040000001,414506.79600000003,414506.79600000003 +30-12-2019 00:00,902592.152,420149.31200000003,420149.31200000003 +30-12-2019 01:00,1069962.08,498058.61600000004,498058.61600000004 +30-12-2019 02:00,1315531.36,612369.12,612369.12 +30-12-2019 03:00,1482359.2960000003,690026.084,690026.084 +30-12-2019 04:00,1567235.8240000003,729535.532,729535.532 +30-12-2019 05:00,1670559.6160000002,777631.888,777631.888 +30-12-2019 06:00,1848528.7040000001,860475.1760000001,860475.1760000001 +30-12-2019 07:00,4729003.488000001,2201312.608,2201312.608 +30-12-2019 08:00,4817867.296000001,2242677.7120000003,2242677.7120000003 +30-12-2019 09:00,6888480.896000001,3206531.328,3206531.328 +30-12-2019 10:00,5430820.7360000005,2528003.1040000003,2528003.1040000003 +30-12-2019 11:00,2133711.184,993225.1120000001,993225.1120000001 +30-12-2019 12:00,2458469.376,1144397.32,1144397.32 +30-12-2019 13:00,1709138.992,795590.224,795590.224 +30-12-2019 14:00,1484076.176,690825.3,690825.3 +30-12-2019 15:00,2969362.1760000004,1382213.8880000003,1382213.8880000003 +30-12-2019 16:00,3666843.136,1706885.664,1706885.664 +30-12-2019 17:00,3232370.24,1504642.304,1504642.304 +30-12-2019 18:00,7712555.840000001,3590131.7760000005,3590131.7760000005 +30-12-2019 19:00,5697316.416,2652053.8880000003,2652053.8880000003 +30-12-2019 20:00,3900647.5200000005,1815719.4880000001,1815719.4880000001 +30-12-2019 21:00,3799724.1920000007,1768740.512,1768740.512 +30-12-2019 22:00,2062458.992,960057.824,960057.824 +30-12-2019 23:00,704072.996,327740.248,327740.248 +31-12-2019 00:00,696276.4160000001,324110.996,324110.996 +31-12-2019 01:00,726946.3080000001,338387.61,338387.61 +31-12-2019 02:00,944091.72,439466.98400000005,439466.98400000005 +31-12-2019 03:00,1184851.976,551538.9,551538.9 +31-12-2019 04:00,1338099.4880000001,622874.384,622874.384 +31-12-2019 05:00,1457960.9440000001,678668.9800000001,678668.9800000001 +31-12-2019 06:00,1628064.24,757850.5440000001,757850.5440000001 +31-12-2019 07:00,4403447.84,2049769.2160000002,2049769.2160000002 +31-12-2019 08:00,4820664.992000001,2243980.112,2243980.112 +31-12-2019 09:00,6988648.128000001,3253158.6560000004,3253158.6560000004 +31-12-2019 10:00,5679401.376,2643714.8320000004,2643714.8320000004 +31-12-2019 11:00,2567407.7440000004,1195107.32,1195107.32 +31-12-2019 12:00,2641128.16,1229423.6240000003,1229423.6240000003 +31-12-2019 13:00,2151258.736,1001393.4480000001,1001393.4480000001 +31-12-2019 14:00,2015477.904,938188.5920000001,938188.5920000001 +31-12-2019 15:00,3126752.64,1455477.9360000002,1455477.9360000002 +31-12-2019 16:00,3925093.9200000004,1827099.2960000003,1827099.2960000003 +31-12-2019 17:00,3669262.4320000005,1708011.8880000003,1708011.8880000003 +31-12-2019 18:00,7946753.408000001,3699148.64,3699148.64 +31-12-2019 19:00,5918484.352000001,2755006.1440000003,2755006.1440000003 +31-12-2019 20:00,4184974.8160000006,1948071.84,1948071.84 +31-12-2019 21:00,3843064.1920000007,1788915.2160000002,1788915.2160000002 +31-12-2019 22:00,2093286.0960000004,974407.6320000001,974407.6320000001 +31-12-2019 23:00,2093286.0960000004,974407.6320000001,974407.6320000001 diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl index 93b723772..07e41f786 100644 --- a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_with_ates_with_buffer_all_optional.esdl @@ -329,7 +329,7 @@ - + diff --git a/tests/models/unit_cases/case_2a_ensemble/src/run_2a.py b/tests/models/unit_cases/case_2a_ensemble/src/run_2a.py index ed69bd82d..fd62a6b92 100644 --- a/tests/models/unit_cases/case_2a_ensemble/src/run_2a.py +++ b/tests/models/unit_cases/case_2a_ensemble/src/run_2a.py @@ -148,7 +148,7 @@ def __update_target_demand_constraint(self, ensemble_member): """ This constraint method adds upper limits to the demand heat production based on the target of a specific ensemble. This requires the first ensemble to always have the - timeseries with the largest values. + timeseries with the largest values as the goals are only dependent on the first ensemble. """ constraints = [] for demand in self.energy_system_components["heat_demand"]: diff --git a/tests/test_end_scenario_sizing_ensemble.py b/tests/test_end_scenario_sizing_ensemble.py new file mode 100644 index 000000000..deede1337 --- /dev/null +++ b/tests/test_end_scenario_sizing_ensemble.py @@ -0,0 +1,211 @@ +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.asset_to_component_base import AssetStateEnum +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.workflows import run_end_scenario_sizing_no_heat_losses +from mesido.workflows.endscenariosizing_ensemble import EndScenarioSizingStagedEnsemble + +import numpy as np + +from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test + + +class TestEndScenarioSizingEnsemble(TestCase): + def test_end_scenario_sizing_ensemble(self): + """ + Check if the EndScenarioSizingStagedEnsemble workflow is behaving as expected. This is an + optimization done over a full year with timesteps of 5 days and hour timesteps for the peak + day. With three ensembles, that have different requirements for the realisation depending + on the heat demand. + The test checks the objective value, the cost components of assets and if the sizes and + CAPEX of specific asset types are consistent across all realisations. + + """ + import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates + + base_folder = Path(run_ates.__file__).resolve().parent.parent + + run_asset_map = [ + {"_asset_types_fixed_size": ["heat_source", "ates", "heat_buffer"]}, + {"_asset_types_fixed_size": ["geothermal", "ates"]}, + ] + objective_runs = [] + # TODO: add a run with heatlosses included Staged. Don't do it for all due to the effect + # on the computational time. + for config in run_asset_map: + heat_problem = run_end_scenario_sizing_no_heat_losses( + EndScenarioSizingStagedEnsemble, + base_folder=base_folder, + esdl_file_name="test_case_small_network_with_ates_with_buffer_all_optional.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="Warmte_test.csv", + _asset_types_fixed_size=config["_asset_types_fixed_size"], + _asset_subtypes_not_included_fixed_size=[], + ) + + results = dict() + parameters = dict() + for e_m in range(heat_problem.ensemble_size): + results[e_m] = heat_problem.extract_results(ensemble_member=e_m) + parameters[e_m] = heat_problem.parameters(e_m) + demand_matching_test(heat_problem, results[e_m], ensemble_member=e_m) + + energy_conservation_test(heat_problem, heat_problem.extract_results(e_m)) + heat_to_discharge_test(heat_problem, heat_problem.extract_results(e_m)) + + def check_consistent_size_and_costs( + results, + parameters, + heat_problem, + assets, + equal_size_assets=True, + asset_opex_optional=False, + ): + inv_costs_source = [0.0] * heat_problem.ensemble_size + opex_source = [0.0] * heat_problem.ensemble_size + problem_years = heat_problem._number_of_years + for prod in assets: + if equal_size_assets: + prod_size = results[0][f"{prod}__max_size"] + prod_aggr_count = results[0][f"{prod}_aggregation_count"] + inv_cost_0 = results[0][heat_problem._asset_investment_cost_map[prod]][0] + inst_cost_0 = results[0][heat_problem._asset_installation_cost_map[prod]][0] + for e_m in range(heat_problem.ensemble_size): + inv_cost = results[e_m][heat_problem._asset_investment_cost_map[prod]][0] + inst_cost = results[e_m][heat_problem._asset_installation_cost_map[prod]][0] + tech_life_time = parameters[e_m][f"{prod}.technical_life"] + if equal_size_assets: + np.testing.assert_equal(prod_size, results[e_m][f"{prod}__max_size"]) + np.testing.assert_equal( + prod_aggr_count, results[e_m][f"{prod}_aggregation_count"] + ) + np.testing.assert_equal(inv_cost, inv_cost_0) + np.testing.assert_equal(inst_cost, inst_cost_0) + asset_state = heat_problem.parameters(e_m)[f"{prod}.state"] + if asset_state == AssetStateEnum.OPTIONAL: + inv_costs_source[e_m] += inv_cost * max( + 1.0, problem_years / tech_life_time + ) + inv_costs_source[e_m] += inst_cost * max( + 1.0, problem_years / tech_life_time + ) + if asset_state == AssetStateEnum.OPTIONAL or not asset_opex_optional: + opex_source[e_m] += ( + results[e_m][heat_problem._asset_fixed_operational_cost_map[prod]][ + 0 + ] + * problem_years + ) + opex_source[e_m] += ( + results[e_m][ + heat_problem._asset_variable_operational_cost_map[prod] + ][0] + * problem_years + ) + return inv_costs_source, opex_source + + heat_demands = heat_problem.energy_system_components.get("heat_demand", []) + heat_pipes = heat_problem.energy_system_components.get("heat_pipe", []) + heat_sources = heat_problem.energy_system_components.get("heat_source", []) + geothermal = heat_problem.energy_system_components.get("geothermal", []) + buffers = heat_problem.energy_system_components.get("heat_buffer", []) + ates = heat_problem.energy_system_components.get("ates", []) + + inv_costs_dem, opex_dem = check_consistent_size_and_costs( + results, + parameters, + heat_problem, + heat_demands, + equal_size_assets=True, + asset_opex_optional=True, + ) + equal_sizes_heat_source = ( + True if "heat_source" in config["_asset_types_fixed_size"] else False + ) + inv_costs_source, opex_source = check_consistent_size_and_costs( + results, + parameters, + heat_problem, + heat_sources, + equal_size_assets=equal_sizes_heat_source, + ) + equal_sizes_geo = True if "geothermal" in config["_asset_types_fixed_size"] else False + _, _ = check_consistent_size_and_costs( + results, parameters, heat_problem, geothermal, equal_size_assets=equal_sizes_geo + ) + equal_sizes_heat_buffer = ( + True if "heat_buffer" in config["_asset_types_fixed_size"] else False + ) + inv_costs_buffer, opex_buffer = check_consistent_size_and_costs( + results, + parameters, + heat_problem, + buffers, + equal_size_assets=equal_sizes_heat_buffer, + ) + equal_sizes_ates = True if "ates" in config["_asset_types_fixed_size"] else False + inv_costs_ates, opex_ates = check_consistent_size_and_costs( + results, parameters, heat_problem, ates, equal_size_assets=equal_sizes_ates + ) + + inv_costs_pipes, opex_pipes = check_consistent_size_and_costs( + results, + parameters, + heat_problem, + heat_pipes, + equal_size_assets=False, + asset_opex_optional=False, + ) + set_self_hot_pipes = set(heat_problem.hot_pipes) + for h_p in heat_pipes: + if h_p in heat_problem._heat_pipe_topo_pipe_class_map.keys(): + pipe_classes = heat_problem._heat_pipe_topo_pipe_class_map[h_p] + for pc in pipe_classes: + neighbour = heat_problem.has_related_pipe(h_p) + if neighbour and h_p not in set_self_hot_pipes: + var_name = ( + f"{heat_problem.cold_to_hot_pipe(h_p)}__hn_pipe_class_{pc.name}" + ) + else: + var_name = f"{h_p}__hn_pipe_class_{pc.name}" + pipe_size = [] + for e_m in range(heat_problem.ensemble_size): + pipe_size.append(results[e_m][var_name][0]) + np.testing.assert_allclose(pipe_size[0], pipe_size) + + capex_total = [ + inv_costs_dem[e_m] + + inv_costs_source[e_m] + + inv_costs_buffer[e_m] + + inv_costs_ates[e_m] + + inv_costs_pipes[e_m] + for e_m in range(heat_problem.ensemble_size) + ] + opex_total = [ + opex_dem[e_m] + + opex_source[e_m] + + opex_buffer[e_m] + + opex_ates[e_m] + + opex_pipes[e_m] + for e_m in range(heat_problem.ensemble_size) + ] + + total_costs = np.asarray(capex_total) + np.asarray(opex_total) + # ensure that the total costs for the system capex + opex is the lowest for the system + # with the lowest demand (e_m=2) and highest for the system with the largest demand + # (e_m=0) + np.testing.assert_array_less(total_costs[1:], total_costs[:-1]) + + probabilities = [heat_problem.ensemble_member_probability(i) for i in range(3)] + obj_calc = sum(probabilities * total_costs) + + np.testing.assert_allclose(obj_calc / 1e6, heat_problem.objective_value) + objective_runs.append(heat_problem.objective_value) + + # checking that the objective value of each next optimization is smaller than the + # previous one as less assets are fixed in size between the ensembles + for i in range(len(objective_runs) - 1): + np.testing.assert_array_less(objective_runs[i + 1], objective_runs[i] + 1e-6) diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index 0cf644f2d..e2ff2aea0 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -249,7 +249,7 @@ def constraints(self, ensemble_member): temperature_regimes = self.temperature_regimes(int(carrier_map)) if len(temperature_regimes) > 1: carrier_var_name = str(carrier_map) + "_temperature" - var_carrier = self.extra_variable(carrier_var_name) + var_carrier = self.extra_variable(carrier_var_name, ensemble_member) for i in range(var_carrier.shape[0] - 1): constraints.append((var_carrier[i] - var_carrier[i + 1], 0.0, 0.0)) diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 7ffaabd0c..a473f2938 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -281,7 +281,7 @@ def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): results[f"{d}.HeatIn.Q"][indices] * rho * cp * return_t, atol=atol, ) - indices = results[f"{d}.HeatIn.Q"] <= 0 + indices = results[f"{d}.HeatIn.Q"] < 0 if isinstance(supply_t, float): supply_t = supply_temp else: @@ -397,13 +397,13 @@ def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): np.testing.assert_allclose( results[f"{p}.HeatIn.Heat"][indices], results[f"{p}.Q"][indices] * rho * cp * temperature, - atol=atol, + atol=max(1.01 * abs(results[f"{p}__hn_heat_loss"][0]), atol), err_msg=f"{p} has mismatch in milp to discharge", ) np.testing.assert_allclose( results[f"{p}.HeatOut.Heat"][indices], results[f"{p}.Q"][indices] * rho * cp * temperature, - atol=atol, + atol=max(1.01 * abs(results[f"{p}__hn_heat_loss"][0]), atol), err_msg=f"{p} has mismatch in milp to discharge", ) diff --git a/tox.ini b/tox.ini index 98cf1930a..1aa3b1975 100644 --- a/tox.ini +++ b/tox.ini @@ -23,7 +23,7 @@ deps = # Main tests part 1 (typical normal test) [testenv:test_env_main_1] commands = - pytest --timeout=120 --timeout-method=thread -n 4 -v -m "not pre_process and not post_process" --ignore=tests/test_end_scenario_sizing.py -s + pytest --timeout=180 --timeout-method=thread -n 4 -v -m "not pre_process and not post_process" --ignore=tests/test_end_scenario_sizing.py -s pytest --timeout=120 --timeout-method=thread -n 4 -v tests/test_end_scenario_sizing.py -s # Pre-processing / solve systems to create data for post-processing test environment From 1f5779770204303f382f51e5aacaf15952f4a7b2 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 12 May 2026 12:53:46 +0200 Subject: [PATCH 365/376] Logical link tests updated (#465) Added tests on logical links, where consumers and producers are logically connected. --- ...with_cons2node2node2prod_logical_link.esdl | 43 +++ tests/models/unit_cases/case_3a/model/3a.esdl | 2 +- .../case_3a/model/3a_cons2node.esdl | 184 +++++++++++++ .../case_3a/model/3a_prod2node.esdl | 260 ++++++++++++++++++ .../case_3a/model/3a_prod2node2cons.esdl | 146 ++++++++++ .../unit_cases/case_3a_setpoint/model/3a.esdl | 2 +- tests/test_logical_links.py | 113 ++++++++ tests/test_warmingup_unit_cases.py | 4 - 8 files changed, 748 insertions(+), 6 deletions(-) create mode 100644 tests/models/source_pipe_split_sink/model/sourcesink_with_cons2node2node2prod_logical_link.esdl create mode 100644 tests/models/unit_cases/case_3a/model/3a_cons2node.esdl create mode 100644 tests/models/unit_cases/case_3a/model/3a_prod2node.esdl create mode 100644 tests/models/unit_cases/case_3a/model/3a_prod2node2cons.esdl diff --git a/tests/models/source_pipe_split_sink/model/sourcesink_with_cons2node2node2prod_logical_link.esdl b/tests/models/source_pipe_split_sink/model/sourcesink_with_cons2node2node2prod_logical_link.esdl new file mode 100644 index 000000000..085206e22 --- /dev/null +++ b/tests/models/source_pipe_split_sink/model/sourcesink_with_cons2node2node2prod_logical_link.esdl @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases/case_3a/model/3a.esdl b/tests/models/unit_cases/case_3a/model/3a.esdl index 0cf389fe3..cfcf24173 100644 --- a/tests/models/unit_cases/case_3a/model/3a.esdl +++ b/tests/models/unit_cases/case_3a/model/3a.esdl @@ -18,7 +18,7 @@ - + diff --git a/tests/models/unit_cases/case_3a/model/3a_cons2node.esdl b/tests/models/unit_cases/case_3a/model/3a_cons2node.esdl new file mode 100644 index 000000000..5ce044e0e --- /dev/null +++ b/tests/models/unit_cases/case_3a/model/3a_cons2node.esdl @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases/case_3a/model/3a_prod2node.esdl b/tests/models/unit_cases/case_3a/model/3a_prod2node.esdl new file mode 100644 index 000000000..79e2d9e50 --- /dev/null +++ b/tests/models/unit_cases/case_3a/model/3a_prod2node.esdl @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases/case_3a/model/3a_prod2node2cons.esdl b/tests/models/unit_cases/case_3a/model/3a_prod2node2cons.esdl new file mode 100644 index 000000000..f857aeaef --- /dev/null +++ b/tests/models/unit_cases/case_3a/model/3a_prod2node2cons.esdl @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/models/unit_cases/case_3a_setpoint/model/3a.esdl b/tests/models/unit_cases/case_3a_setpoint/model/3a.esdl index 97c014a23..812e59eee 100644 --- a/tests/models/unit_cases/case_3a_setpoint/model/3a.esdl +++ b/tests/models/unit_cases/case_3a_setpoint/model/3a.esdl @@ -18,7 +18,7 @@ - + diff --git a/tests/test_logical_links.py b/tests/test_logical_links.py index 6eca7497c..4fbf686af 100644 --- a/tests/test_logical_links.py +++ b/tests/test_logical_links.py @@ -171,6 +171,118 @@ def test_logical_links_nodes_heat(self): ) np.testing.assert_allclose(discharge_sum, 0.0, atol=1.0e-12) + def test_logical_links_all_connections_heat(self): + """ + This test checks if the logic implemented for a partially logically linked energy system. + Meaning an energy system where assets are directly connected to each other without a network + (transport asset(s)) in between. This specific test covers the logical connection between + producers and consumers to nodes in a heat network. + + This is the most basic check where we have a simple network and check for the basic physics. + This simple network includes one source, some pipes and logical links, node, a tank storage + and 3 demands. + Several variations to this network where pipes are replaced by logical links are tested + below. + + Be aware, the buffer cannot yet be connected with a logical link, due to the flow direction + variable. + Note: The logical links can give scaling issues when used at demands. + + Checks; + - Demand matching + - Energy conservation + - Heat to discharge + - Check that the history for the buffer is set correctly at t=0 + - Check that the heat loss is positive and as expected + - results of 3a do not vary a lot. + """ + + import models.source_pipe_split_sink.src.double_pipe_heat as example + from models.source_pipe_split_sink.src.double_pipe_heat import SourcePipeSink + + base_folder = Path(example.__file__).resolve().parent.parent + + problem = run_esdl_mesido_optimization( + SourcePipeSink, + esdl_file_name="sourcesink_with_cons2node2node2prod_logical_link.esdl", + base_folder=base_folder, + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.csv", + ) + results = problem.extract_results() + + demand_matching_test(problem, results) + energy_conservation_test(problem, results) + heat_to_discharge_test(problem, results) + + # Test conservation of flow at the nodes + for node, connected_pipes in problem.energy_system_topology.nodes.items(): + discharge_sum = 0.0 + + for i_conn, (_pipe, orientation) in connected_pipes.items(): + discharge_sum += results[f"{node}.HeatConn[{i_conn+1}].Q"] * orientation + np.testing.assert_allclose( + results[f"{node}.HeatConn[{i_conn+1}].H"], results[f"{node}.H"], atol=1.0e-6 + ) + np.testing.assert_allclose(discharge_sum, 0.0, atol=1.0e-12) + + import models.unit_cases.case_3a.src.run_3a as run_3a + from models.unit_cases.case_3a.src.run_3a import HeatProblem + + base_folder = Path(run_3a.__file__).resolve().parent.parent + + production_list = [] + for esdl_file in [ + "3a_cons2node.esdl", + "3a_prod2node.esdl", + "3a_prod2node2cons.esdl", + "3a.esdl", + ]: + heat_problem = run_esdl_mesido_optimization( + HeatProblem, + base_folder=base_folder, + esdl_file_name=esdl_file, + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.xml", + ) + + results = heat_problem.extract_results() + parameters = heat_problem.parameters(0) + bounds = heat_problem.bounds() + + demand_matching_test(heat_problem, results) + energy_conservation_test(heat_problem, results) + heat_to_discharge_test(heat_problem, results) + + for prod in heat_problem.energy_system_components.get("heat_source", []): + production_list.append(results[f"{prod}.Heat_source"]) + + for buffer in heat_problem.energy_system_components.get("heat_buffer", []): + # buffer should have positive heat loss + assert parameters[f"{buffer}.heat_loss_coeff"] > 0.0 + np.testing.assert_allclose( + results[f"{buffer}.Stored_heat"] * parameters[f"{buffer}.heat_loss_coeff"], + results[f"{buffer}.Heat_loss"], + ) + np.testing.assert_allclose( + results[f"{buffer}.Stored_heat"][0], + bounds[f"{buffer}.Stored_heat"][0].values[0], + ) + np.testing.assert_allclose( + results[f"{buffer}.Stored_heat"][-1] - results[f"{buffer}.Stored_heat"][0], + np.sum(results[f"{buffer}.Heat_buffer"][1:] * 3600.0) + - np.sum(results[f"{buffer}.Heat_loss"][1:] * 3600.0), + atol=1.0, + ) + np.testing.assert_allclose(results[f"{buffer}.Heat_buffer"][0], 0.0, atol=1.0e-6) + + # check that the total heat production is almost the same for all models, with and without + # logical links. + total_productions = [sum(production_list[i]) for i in range(len(production_list))] + np.testing.assert_allclose(total_productions[-1], total_productions[:-1], rtol=1e-5) + def test_logical_links_network_hybrid(self): """ This test checks if the logic implemented for logically linked energy system, Meaning an @@ -226,5 +338,6 @@ def test_logical_links_network_hybrid(self): a.test_logical_links_gas() a.test_logical_links_nodes() a.test_logical_links_nodes_heat() + a.test_logical_links_all_connections_heat() a.test_logical_links_network_hybrid() print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/tests/test_warmingup_unit_cases.py b/tests/test_warmingup_unit_cases.py index 41160df57..1ec41a42a 100644 --- a/tests/test_warmingup_unit_cases.py +++ b/tests/test_warmingup_unit_cases.py @@ -170,10 +170,6 @@ def test_3a(self): np.testing.assert_allclose( results[f"{buffer}.Heat_buffer"], results[f"{buffer}.Heat_flow"] ) - np.testing.assert_allclose( - results[f"{buffer}.HeatIn.Heat"] - results[f"{buffer}.HeatOut.Heat"], - results[f"{buffer}.Heat_buffer"], - ) # buffer should have positive heat loss assert parameters[f"{buffer}.heat_loss_coeff"] > 0.0 np.testing.assert_allclose( From 5cc61ee14046c1f65a5ec6fcfa71235cb5d67da5 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 12 May 2026 15:48:45 +0200 Subject: [PATCH 366/376] Test non linear head loss (#464) Added a test for non linear head loss with option HeadLossOption.CQ2_EQUALITY. Changed the name convention of CQ2_INEQUALITY to CQ2_WEAK_INEQUALITY. --- src/mesido/gas_physics_mixin.py | 6 +- src/mesido/head_loss_class.py | 18 ++-- src/mesido/heat_physics_mixin.py | 6 +- .../qth_not_maintained/head_loss_mixin.py | 24 +++--- src/mesido/qth_not_maintained/qth_mixin.py | 6 +- src/mesido/util.py | 1 + .../source_pipe_sink/src/double_pipe_heat.py | 2 +- tests/test_head_loss.py | 86 ++++++++++++++++++- tests/test_head_loss_class.py | 2 +- tests/test_producer_profiles.py | 8 +- 10 files changed, 122 insertions(+), 37 deletions(-) diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index 4cc2ab080..16b582405 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -53,7 +53,7 @@ def __init__(self, *args, **kwargs): the head loss as an inequality, i.e. :math:`\Delta H \ge f(Q)`, whereas others model it as an equality. - When ``HeadLossOption.CQ2_INEQUALITY`` is used, the wall roughness at + When ``HeadLossOption.CQ2_WEAK_INEQUALITY`` is used, the wall roughness at ``estimated_velocity`` determines the `C` in :math:`\Delta H \ge C \cdot Q^2`. @@ -65,14 +65,14 @@ def __init__(self, *args, **kwargs): When ``HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY`` is used, the wall roughness at ``estimated_velocity`` determines the `C` in :math:`\Delta H = C \cdot Q`. For pipes that contain a control valve, the formulation of - ``HeadLossOption.CQ2_INEQUALITY`` is used. + ``HeadLossOption.CQ2_WEAK_INEQUALITY`` is used. When ``HeadLossOption.CQ2_EQUALITY`` is used, the wall roughness at ``estimated_velocity`` determines the `C` in :math:`\Delta H = C \cdot Q^2`. Note that this formulation is non-convex. At `theta < 1` we therefore use the formulation ``HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY``. For pipes that contain a control valve, the formulation of - ``HeadLossOption.CQ2_INEQUALITY`` is used. + ``HeadLossOption.CQ2_WEAK_INEQUALITY`` is used. When ``minimize_head_losses`` is set to True (default), a last priority is inserted where the head losses and hydraulic power in the system are diff --git a/src/mesido/head_loss_class.py b/src/mesido/head_loss_class.py index f67f4a4a7..0c6eb9c66 100644 --- a/src/mesido/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -44,7 +44,7 @@ class HeadLossOption(IntEnum): The NO_HEADLOSS option assumes that there is no headloss in the pipelines. There are no constraints added relating the discharge to the head. - CQ2_INEQUALITY + CQ2_WEAK_INEQUALITY As the name implies, this adds a quadratic inquality constraint between the head and the discharge in a pipe: @@ -69,7 +69,7 @@ class HeadLossOption(IntEnum): dH = H_{down} - H_{up} LINEARIZED_N_LINES_WEAK_INEQUALITY - Just like ``CQ2_INEQUALITY``, this option adds inequality constraints: + Just like ``CQ2_WEAK_INEQUALITY``, this option adds inequality constraints: .. math:: \Delta H \ge \vec{a} \cdot Q + \vec{b} @@ -80,7 +80,7 @@ class HeadLossOption(IntEnum): head loss, and the linear lines approximating it. Note that the number of supporting lines is an option that can be set by the user by overriding :py:meth:`._HeadLossMixin.energy_system_options`. Also note that, just like - ``CQ2_INEQUALITY``, a boolean is needed when flow directions are not fixed. + ``CQ2_WEAK_INEQUALITY``, a boolean is needed when flow directions are not fixed. .. image:: /images/DWlinearization.PNG @@ -110,7 +110,7 @@ class HeadLossOption(IntEnum): """ NO_HEADLOSS = 1 - CQ2_INEQUALITY = 2 + CQ2_WEAK_INEQUALITY = 2 LINEARIZED_N_LINES_WEAK_INEQUALITY = 3 LINEARIZED_ONE_LINE_EQUALITY = 4 CQ2_EQUALITY = 5 @@ -305,7 +305,7 @@ def _hn_get_pipe_head_loss_option( The global user head loss option is not necessarily the same as the head loss option for a specific pipe. For example, when a control valve is present, a .LINEARIZED_ONE_LINE_EQUALITY global head loss option could mean a - .CQ2_INEQUALITY formulation should be used instead. + .CQ2_WEAK_INEQUALITY formulation should be used instead. See also the explanation of `head_loss_option` (and its values) in :py:meth:`.energy_system_options`. @@ -662,7 +662,7 @@ def _hn_pipe_head_loss( return expr * np.sign(discharge) elif head_loss_option in { - HeadLossOption.CQ2_INEQUALITY, + HeadLossOption.CQ2_WEAK_INEQUALITY, HeadLossOption.CQ2_EQUALITY, }: ff = darcy_weisbach.friction_factor( @@ -681,11 +681,11 @@ def _hn_pipe_head_loss( expr = c_v * v**2 if symbolic: - q_nominal = self.variable_nominal(f"{pipe}.Q") - head_loss_nominal = self.variable_nominal(f"{pipe}.dH") + q_nominal = optimization_problem.variable_nominal(f"{pipe}.Q") + head_loss_nominal = optimization_problem.variable_nominal(f"{pipe}.dH") constraint_nominal = (head_loss_nominal * c_v * (q_nominal / area) ** 2) ** 0.5 - if head_loss_option == HeadLossOption.CQ2_INEQUALITY: + if head_loss_option == HeadLossOption.CQ2_WEAK_INEQUALITY: ub = np.inf else: ub = 0.0 diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index c79ef3452..53d3ae1c3 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -59,7 +59,7 @@ def __init__(self, *args, **kwargs): the head loss as an inequality, i.e. :math:`\Delta H \ge f(Q)`, whereas others model it as an equality. - When ``HeadLossOption.CQ2_INEQUALITY`` is used, the wall roughness at + When ``HeadLossOption.CQ2_WEAK_INEQUALITY`` is used, the wall roughness at ``estimated_velocity`` determines the `C` in :math:`\Delta H \ge C \cdot Q^2`. @@ -71,14 +71,14 @@ def __init__(self, *args, **kwargs): When ``HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY`` is used, the wall roughness at ``estimated_velocity`` determines the `C` in :math:`\Delta H = C \cdot Q`. For pipes that contain a control valve, the formulation of - ``HeadLossOption.CQ2_INEQUALITY`` is used. + ``HeadLossOption.CQ2_WEAK_INEQUALITY`` is used. When ``HeadLossOption.CQ2_EQUALITY`` is used, the wall roughness at ``estimated_velocity`` determines the `C` in :math:`\Delta H = C \cdot Q^2`. Note that this formulation is non-convex. At `theta < 1` we therefore use the formulation ``HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY``. For pipes that contain a control valve, the formulation of - ``HeadLossOption.CQ2_INEQUALITY`` is used. + ``HeadLossOption.CQ2_WEAK_INEQUALITY`` is used. When ``minimize_head_losses`` is set to True (default), a last priority is inserted where the head losses and hydraulic power in the system are diff --git a/src/mesido/qth_not_maintained/head_loss_mixin.py b/src/mesido/qth_not_maintained/head_loss_mixin.py index f2f77767a..dfd3e1693 100644 --- a/src/mesido/qth_not_maintained/head_loss_mixin.py +++ b/src/mesido/qth_not_maintained/head_loss_mixin.py @@ -33,7 +33,7 @@ class HeadLossOption(IntEnum): The NO_HEADLOSS option assumes that there is no headloss in the pipelines. There are no constraints added relating the discharge to the head. - CQ2_INEQUALITY + CQ2_WEAK_INEQUALITY As the name implies, this adds a quadratic inquality constraint between the head and the discharge in a pipe: @@ -58,7 +58,7 @@ class HeadLossOption(IntEnum): dH = H_{down} - H_{up} LINEARIZED_N_LINES_WEAK_INEQUALITY - Just like ``CQ2_INEQUALITY``, this option adds inequality constraints: + Just like ``CQ2_WEAK_INEQUALITY``, this option adds inequality constraints: .. math:: \Delta H \ge \vec{a} \cdot Q + \vec{b} @@ -69,7 +69,7 @@ class HeadLossOption(IntEnum): head loss, and the linear lines approximating it. Note that the number of supporting lines is an option that can be set by the user by overriding :py:meth:`._HeadLossMixin.heat_network_options`. Also note that, just like - ``CQ2_INEQUALITY``, a boolean is needed when flow directions are not fixed. + ``CQ2_WEAK_INEQUALITY``, a boolean is needed when flow directions are not fixed. .. image:: /images/DWlinearization.PNG @@ -99,7 +99,7 @@ class HeadLossOption(IntEnum): """ NO_HEADLOSS = 1 - CQ2_INEQUALITY = 2 + CQ2_WEAK_INEQUALITY = 2 LINEARIZED_N_LINES_WEAK_INEQUALITY = 3 LINEARIZED_ONE_LINE_EQUALITY = 4 CQ2_EQUALITY = 5 @@ -237,7 +237,7 @@ def heat_network_options(self): +--------------------------------+-----------+-----------------------------------+ | ``wall_roughness`` | ``float`` | ``0.0002`` m | +--------------------------------+-----------+-----------------------------------+ - | ``head_loss_option`` | ``enum`` | ``HeadLossOption.CQ2_INEQUALITY`` | + | ``head_loss_option`` | ``enum`` | ``HeadLossOption.CQ2_WEAK_INEQUALITY`` | +--------------------------------+-----------+-----------------------------------+ | ``estimated_velocity`` | ``float`` | ``1.0`` m/s (CQ2_* & | | | |LINEARIZED_ONE_LINE_EQUALITY) | @@ -268,7 +268,7 @@ def heat_network_options(self): the head loss as an inequality, i.e. :math:`\Delta H \ge f(Q)`, whereas others model it as an equality. - When ``HeadLossOption.CQ2_INEQUALITY`` is used, the wall roughness at + When ``HeadLossOption.CQ2_WEAK_INEQUALITY`` is used, the wall roughness at ``estimated_velocity`` determines the `C` in :math:`\Delta H \ge C \cdot Q^2`. @@ -280,14 +280,14 @@ def heat_network_options(self): When ``HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY`` is used, the wall roughness at ``estimated_velocity`` determines the `C` in :math:`\Delta H = C \cdot Q`. For pipes that contain a control valve, the formulation of - ``HeadLossOption.CQ2_INEQUALITY`` is used. + ``HeadLossOption.CQ2_WEAK_INEQUALITY`` is used. When ``HeadLossOption.CQ2_EQUALITY`` is used, the wall roughness at ``estimated_velocity`` determines the `C` in :math:`\Delta H = C \cdot Q^2`. Note that this formulation is non-convex. At `theta < 1` we therefore use the formulation ``HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY``. For pipes that contain a control valve, the formulation of - ``HeadLossOption.CQ2_INEQUALITY`` is used. + ``HeadLossOption.CQ2_WEAK_INEQUALITY`` is used. When ``minimize_head_losses`` is set to True (default), a last @@ -309,7 +309,7 @@ def heat_network_options(self): options["minimum_pressure_far_point"] = 1.0 options["wall_roughness"] = 2e-4 - options["head_loss_option"] = HeadLossOption.CQ2_INEQUALITY + options["head_loss_option"] = HeadLossOption.CQ2_WEAK_INEQUALITY options["estimated_velocity"] = 1.0 options["maximum_velocity"] = 2.5 options["n_linearization_lines"] = 5 @@ -325,7 +325,7 @@ def _hn_get_pipe_head_loss_option( The global user head loss option is not necessarily the same as the head loss option for a specific pipe. For example, when a control valve is present, a .LINEARIZED_ONE_LINE_EQUALITY global head loss option could mean a - .CQ2_INEQUALITY formulation should be used instead. + .CQ2_WEAK_INEQUALITY formulation should be used instead. See also the explanation of `head_loss_option` (and its values) in :py:meth:`.heat_network_options`. @@ -556,7 +556,7 @@ def _hn_pipe_head_loss( return expr * np.sign(discharge) elif head_loss_option in { - HeadLossOption.CQ2_INEQUALITY, + HeadLossOption.CQ2_WEAK_INEQUALITY, HeadLossOption.CQ2_EQUALITY, }: ff = darcy_weisbach.friction_factor( @@ -574,7 +574,7 @@ def _hn_pipe_head_loss( head_loss_nominal = self.variable_nominal(f"{pipe}.dH") constraint_nominal = (head_loss_nominal * c_v * (q_nominal / area) ** 2) ** 0.5 - if head_loss_option == HeadLossOption.CQ2_INEQUALITY: + if head_loss_option == HeadLossOption.CQ2_WEAK_INEQUALITY: ub = np.inf else: ub = 0.0 diff --git a/src/mesido/qth_not_maintained/qth_mixin.py b/src/mesido/qth_not_maintained/qth_mixin.py index 8f3063fed..24ea3c72e 100644 --- a/src/mesido/qth_not_maintained/qth_mixin.py +++ b/src/mesido/qth_not_maintained/qth_mixin.py @@ -853,7 +853,7 @@ def _hn_get_pipe_head_loss_option(self, pipe, heat_network_options, parameters): The global user head loss option is not necessarily the same as the head loss option for a specific pipe. For example, when a control valve is present, a .LINEARIZED_ONE_LINE_EQUALITY global head loss option would mean a - .CQ2_INEQUALITY formulation should be used instead. + .CQ2_WEAK_INEQUALITY formulation should be used instead. See also the explanation of `head_loss_option` (and its values) in :py:meth:`.heat_network_options`. @@ -867,14 +867,14 @@ def _hn_get_pipe_head_loss_option(self, pipe, heat_network_options, parameters): ): # If there is a control valve present, we use the more accurate # C*Q^2 inequality formulation. - head_loss_option = HeadLossOption.CQ2_INEQUALITY + head_loss_option = HeadLossOption.CQ2_WEAK_INEQUALITY elif head_loss_option == HeadLossOption.CQ2_EQUALITY: theta = parameters[self.homotopy_options()["homotopy_parameter"]] if parameters[f"{pipe}.has_control_valve"]: # An equality would be wrong when there is a control valve # present, so use the inequality formulation - head_loss_option = HeadLossOption.CQ2_INEQUALITY + head_loss_option = HeadLossOption.CQ2_WEAK_INEQUALITY elif np.isnan(theta): # In pre() pass diff --git a/src/mesido/util.py b/src/mesido/util.py index 6e7c2547f..6a7777c05 100644 --- a/src/mesido/util.py +++ b/src/mesido/util.py @@ -57,6 +57,7 @@ def run_esdl_mesido_optimization( "finished", "integer optimal solution", "integer optimal, tolerance", + "success", ] return solution diff --git a/tests/models/source_pipe_sink/src/double_pipe_heat.py b/tests/models/source_pipe_sink/src/double_pipe_heat.py index dd1ad7765..cf43cecb5 100644 --- a/tests/models/source_pipe_sink/src/double_pipe_heat.py +++ b/tests/models/source_pipe_sink/src/double_pipe_heat.py @@ -21,7 +21,7 @@ class TargetDemandGoal(Goal): priority = 1 - order = 2 + order = 1 def __init__(self, optimization_problem): demand_id = optimization_problem.esdl_asset_name_to_id_map["demand"] diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 79f06af40..7c4d93565 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -12,7 +12,7 @@ import numpy as np -from utils_tests import demand_matching_test +from utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test class TestHeadLoss(TestCase): @@ -946,6 +946,89 @@ def test_compressor(self): ) np.testing.assert_allclose(abs(dh[i]), abs(analytical_dh), atol=1.0e-6) + def test_heat_network_head_loss_cq2(self): + """ + Heat network: test CQ2 inequality head loss approximation. + + Checks: + - That CQ2_EQUALITY can be solved for a heat source-sink case + - That the head loss state variables are consistent + - That the CQ2 inequality dH = C * v^2 is satisfied for all timesteps + """ + import models.source_pipe_sink.src.double_pipe_heat as example + from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink + + base_folder = Path(example.__file__).resolve().parent.parent + + class SourcePipeSinkCQ2(SourcePipeSink): + def energy_system_options(self): + options = super().energy_system_options() + self.heat_network_settings["head_loss_option"] = HeadLossOption.CQ2_EQUALITY + self.heat_network_settings["minimize_head_losses"] = True + return options + + def solver_options(self): + options = super().solver_options() + options["casadi_solver"] = "nlpsol" + options["solver"] = "bonmin" + + bonmin_options = options["bonmin"] = {} + bonmin_options["algorithm"] = "B-BB" + bonmin_options["nlp_solver"] = "Ipopt" + bonmin_options["nlp_log_level"] = 2 + bonmin_options["linear_solver"] = "mumps" + bonmin_options["allowable_fraction_gap"] = 0.001 + + options["highs"] = None + + return options + + solution = run_esdl_mesido_optimization( + SourcePipeSinkCQ2, + base_folder=base_folder, + esdl_file_name="sourcesink.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.csv", + ) + results = solution.extract_results() + parameters = solution.parameters(0) + name_to_id_map = solution.esdl_asset_name_to_id_map + + demand_matching_test(solution, results) + heat_to_discharge_test(solution, results) + energy_conservation_test(solution, results) + + pipe1_id = name_to_id_map["Pipe1"] + + # Check state consistency for this pipe. + np.testing.assert_allclose( + results[f"{pipe1_id}.HeatOut.H"] - results[f"{pipe1_id}.HeatIn.H"], + results[f"{pipe1_id}.dH"], + ) + np.testing.assert_allclose( + -results[f"{pipe1_id}.dH"], results[f"{pipe1_id}.__head_loss"], atol=1e-6 + ) + + # CQ2 formulation: __head_loss >= C * (Q/area)^2 + options = solution.energy_system_options() + pipe_diameter = parameters[f"{pipe1_id}.diameter"] + pipe_wall_roughness = options["wall_roughness"] + temperature = parameters[f"{pipe1_id}.temperature"] + pipe_length = parameters[f"{pipe1_id}.length"] + + ff = darcy_weisbach.friction_factor( + options["estimated_velocity"], + pipe_diameter, + pipe_wall_roughness, + temperature, + ) + c_v = pipe_length * ff / (2 * GRAVITATIONAL_CONSTANT) / pipe_diameter + velocity = results[f"{pipe1_id}.Q"] / parameters[f"{pipe1_id}.area"] + cq2_rhs = c_v * velocity**2 + + np.testing.assert_allclose(cq2_rhs, results[f"{pipe1_id}.__head_loss"], rtol=1e-3) + if __name__ == "__main__": import time @@ -954,6 +1037,7 @@ def test_compressor(self): a = TestHeadLoss() a.test_heat_network_head_loss() a.test_heat_network_pipe_split_head_loss() + a.test_heat_network_head_loss_CQ2_WEAK_INEQUALITY() a.test_gas_network_head_loss() a.test_gas_network_pipe_split_head_loss() a.test_gas_substation() diff --git a/tests/test_head_loss_class.py b/tests/test_head_loss_class.py index 3f68fb7a0..4562187d9 100644 --- a/tests/test_head_loss_class.py +++ b/tests/test_head_loss_class.py @@ -55,7 +55,7 @@ def optimize(self): for h in [ HeadLossOption.LINEARIZED_ONE_LINE_EQUALITY, - HeadLossOption.CQ2_INEQUALITY, + HeadLossOption.CQ2_WEAK_INEQUALITY, HeadLossOption.LINEARIZED_N_LINES_WEAK_INEQUALITY, ]: m = run_optimization_problem( diff --git a/tests/test_producer_profiles.py b/tests/test_producer_profiles.py index 7654ecd21..5f71d58fe 100644 --- a/tests/test_producer_profiles.py +++ b/tests/test_producer_profiles.py @@ -141,12 +141,12 @@ def goals(self): np.testing.assert_array_less( 3, np.sum( - np.isclose(heat_produced, heat_production_upper_limit, atol=1e-1, rtol=1e-8) + np.isclose(heat_produced, heat_production_upper_limit, atol=1e-1, rtol=1e-5) ), ) np.testing.assert_array_less( np.sum( - np.isclose(heat_produced, heat_production_upper_limit, atol=1e-1, rtol=1e-8) + np.isclose(heat_produced, heat_production_upper_limit, atol=1e-1, rtol=1e-5) ), 20, ) # checking that the upper production limit was not achieved for all entries @@ -165,7 +165,7 @@ def goals(self): np.testing.assert_allclose( len(heat_produced) - 5, np.sum( - np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-9) + np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-5) ), ) else: @@ -214,7 +214,7 @@ def test_max_producer_esdl_scaled_profile(self): # check that heat produced is smaller than the profile np.testing.assert_array_less(heat_produced - tol, heat_production_upper_limit) np.testing.assert_equal( - np.sum(np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-10)), 6 + np.sum(np.isclose(heat_produced, heat_production_upper_limit, atol=tol, rtol=1e-5)), 6 ) From 673b807bbfd15f21e029d850e0cfe955608f22ce Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Tue, 12 May 2026 17:17:22 +0200 Subject: [PATCH 367/376] Generic ramp constraints added for heat asset (#470) Generic ramp constraints added for heat producers. --- CHANGELOG.md | 1 + src/mesido/esdl/esdl_heat_model.py | 2 + src/mesido/heat_physics_mixin.py | 49 +++++++++ .../milp/_internal/base_component.py | 1 + tests/test_max_ramp_constraints.py | 100 ++++++++++++++++++ 5 files changed, 153 insertions(+) create mode 100644 tests/test_max_ramp_constraints.py diff --git a/CHANGELOG.md b/CHANGELOG.md index b3716ff48..e303652a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - First implementation of a temperature profile for a producer. (experimental) - Test is added to check airco sizing and cost calculation - Workflow of EndScenarioSizing with demand uncertainty is added. +- Ramp constraints for heat producers are added. ## Changed - Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 7d36b2de8..8c2c41dec 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -292,7 +292,9 @@ def _generic_modifiers(self, asset: Asset) -> Dict: Returns: dictionary of the generic modifiers: technical_life, discount_rate and state. """ + # TODO: max ramp coefficient later to be updated from esdl. modifiers = dict( + max_ramp_coeff=1.0, technical_life=self.get_asset_attribute_value( asset, "technicalLifetime", diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 53d3ae1c3..ac02f4f7f 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -3531,6 +3531,54 @@ def __sink_hydraulic_power_path_constraints(self, ensemble_member): return constraints + def __max_ramp_constraints(self, ensemble_member): + """ + Build ramp-rate constraints for selected heat assets. + + For each supported asset, the method limits the timestep + change in ``Heat_flow`` based on ``max_ramp_coeff``: + + ``|Heat_flow[t] - Heat_flow[t-1]| <= dt_hours * max_ramp_coeff * max_size`` + + The ramp constraint is only applied when ``max_ramp_coeff < 1.0`` as the coefficient is + in change per hour relative to the max size. + If an ``{asset}__max_size`` optimization variable exists, that value is + used as ``max_size``. Otherwise, the method falls back to the upper + bound of ``{asset}.Heat_flow``. + """ + + constraints = [] + parameters = self.parameters(ensemble_member) + bounds = self.bounds() + dt_hrs = np.diff(self.times()) / 3600 + + for asset in { + *self.energy_system_components.get("heat_source", []), + *self.energy_system_components.get("heat_demand", []), + *self.energy_system_components.get("heat_pump", []), + *self.energy_system_components.get("heat_exchanger", []), + *self.energy_system_components.get("heat_buffer", []), + *self.energy_system_components.get("ates", []), + *self.energy_system_components.get("low_temperature_ates", []), + }: + max_ramp = parameters[f"{asset}.max_ramp_coeff"] + if max_ramp < 1.0: + variable_constraint = self.__state_vector_scaled( + f"{asset}.Heat_flow", ensemble_member + ) + try: + max_size = self.extra_variable(f"{asset}__max_size", ensemble_member) + except KeyError: + # Fall back to Heat_flow bounds when no max-size variable is present. + ub = bounds[f"{asset}.Heat_flow"][1] + max_size = ub if isinstance(ub, float) else max(ub.values) + ramp = variable_constraint[1:] - variable_constraint[:-1] + nom = self.variable_nominal(f"{asset}.Heat_flow") + constraints.append(((ramp - dt_hrs * max_ramp * max_size) / nom, -np.inf, 0)) + constraints.append(((ramp + dt_hrs * max_ramp * max_size) / nom, 0, np.inf)) + + return constraints + def path_constraints(self, ensemble_member): """ Here we add all the path constraints to the optimization problem. Please note that the @@ -3617,6 +3665,7 @@ def constraints(self, ensemble_member): constraints.extend( self.__source_heat_to_discharge_variable_temp_constraints(ensemble_member) ) + constraints.extend(self.__max_ramp_constraints(ensemble_member)) return constraints diff --git a/src/mesido/pycml/component_library/milp/_internal/base_component.py b/src/mesido/pycml/component_library/milp/_internal/base_component.py index 7273230f1..a9c96c22f 100644 --- a/src/mesido/pycml/component_library/milp/_internal/base_component.py +++ b/src/mesido/pycml/component_library/milp/_internal/base_component.py @@ -21,3 +21,4 @@ def __init__(self, name, **modifiers): self.technical_life = nan self.discount_rate = nan self.emission_coeff = nan + self.max_ramp_coeff = nan diff --git a/tests/test_max_ramp_constraints.py b/tests/test_max_ramp_constraints.py new file mode 100644 index 000000000..f0026353a --- /dev/null +++ b/tests/test_max_ramp_constraints.py @@ -0,0 +1,100 @@ +from pathlib import Path +from unittest import TestCase + +from mesido.esdl.esdl_parser import ESDLFileParser +from mesido.esdl.profile_parser import ProfileReaderFromFile +from mesido.util import run_esdl_mesido_optimization + +import numpy as np + +from tests.utils_tests import demand_matching_test, energy_conservation_test, heat_to_discharge_test + + +class TestMaxRampConstraintWarmingUp3A(TestCase): + def test_max_ramp_constraint_case_3a(self): + """ + Validate max ramp constraints on warming-up unit case 3a by enforcing + ramp constraints in a dedicated test problem and checking the optimized + heat-flow ramps against their limits. + + Checks: + - Standard checks for demand matching, energy conservation and heat to discharge + - Validating that the ramp-limited problem does not violate the ramp limits + - Validating that the orginal problem without a ramp constraint does violate the ramp limits + """ + import models.unit_cases.case_3a.src.run_3a as run_3a + from models.unit_cases.case_3a.src.run_3a import HeatProblem + + base_folder = Path(run_3a.__file__).resolve().parent.parent + + class RampLimitedHeatProblem(HeatProblem): + def parameters(self, ensemble_member): + parameters = super().parameters(ensemble_member) + for source in self.energy_system_components.get("heat_source", []): + parameters[f"{source}.max_ramp_coeff"] = 0.10 + return parameters + + baseline_solution = run_esdl_mesido_optimization( + HeatProblem, + base_folder=base_folder, + esdl_file_name="3a.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.xml", + ) + + ramp_limited_solution = run_esdl_mesido_optimization( + RampLimitedHeatProblem, + base_folder=base_folder, + esdl_file_name="3a.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="timeseries_import.xml", + ) + + baseline_results = baseline_solution.extract_results() + results = ramp_limited_solution.extract_results() + parameters = ramp_limited_solution.parameters(0) + bounds = ramp_limited_solution.bounds() + dt_hrs = np.diff(ramp_limited_solution.times()) / 3600.0 + + demand_matching_test(ramp_limited_solution, results) + energy_conservation_test(ramp_limited_solution, results) + heat_to_discharge_test(ramp_limited_solution, results) + + any_stricter_than_baseline = False + + for source in ramp_limited_solution.energy_system_components.get("heat_source", []): + max_ramp_coeff = parameters.get(f"{source}.max_ramp_coeff", 1.0) + np.testing.assert_allclose(max_ramp_coeff, 0.10, rtol=1e-3) + + heat_flow = results[f"{source}.Heat_flow"] + ramp_abs = np.abs(np.diff(heat_flow)) + baseline_heat_flow = baseline_results[f"{source}.Heat_flow"] + baseline_ramp_abs = np.abs(np.diff(baseline_heat_flow)) + + max_size_var = f"{source}__max_size" + if max_size_var in results: + max_size = float(np.atleast_1d(results[max_size_var])[0]) + else: + lb, ub = bounds[f"{source}.Heat_flow"] + max_size = max(abs(float(lb)), abs(float(ub))) + + ramp_limit = dt_hrs * max_ramp_coeff * max_size + tol = 1.0e-6 * max(1.0, abs(max_size)) + np.testing.assert_array_less(ramp_abs, ramp_limit + tol) + + # Ensure at least one source/timestep is strictly more ramp-limited. + if np.any(ramp_limit < baseline_ramp_abs): + any_stricter_than_baseline = True + + self.assertTrue( + any_stricter_than_baseline, + "Ramp-limited case did not produce any stricter ramp than baseline 3a.", + ) + + +if __name__ == "__main__": + + a = TestMaxRampConstraintWarmingUp3A() + a.test_max_ramp_constraint_case_3a() From 2f981399bc6f45a799fb3e74152ae944eb75b3de Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Tue, 12 May 2026 17:40:41 +0200 Subject: [PATCH 368/376] Heat and Cooling Workflow Clean-up (#441) - The existing heating and cooling case in Example is cleaned up. - The input csv is modified such that hard coded modifications are removed. - In addition to variable operation cost coefficient, the electricity cost profile contributes to variable operational cost of assets which convert electricity to heat. --------- Co-authored-by: KobusVanRooyen --- CHANGELOG.md | 4 +- .../input/timeseries_4.csv | 8761 ----------------- .../input/timeseries_4_elect_cost.csv | 8761 ----------------- .../timeseries_4_elect_cost_modified.csv | 8761 +++++++++++++++++ ...etwork with return network with costs.esdl | 316 - ...d cooling network with return network.esdl | 271 - examples/heating_and_cooling/src/run_case.py | 717 +- src/mesido/esdl/profile_parser.py | 1 + src/mesido/financial_mixin.py | 16 + .../input/timeseries_import.csv | 90 +- tests/models/unit_cases/case_3a/src/run_3a.py | 11 - tests/test_elec_boiler.py | 19 +- tests/utils_tests.py | 102 +- 13 files changed, 9099 insertions(+), 18731 deletions(-) delete mode 100644 examples/heating_and_cooling/input/timeseries_4.csv delete mode 100644 examples/heating_and_cooling/input/timeseries_4_elect_cost.csv create mode 100644 examples/heating_and_cooling/input/timeseries_4_elect_cost_modified.csv delete mode 100644 examples/heating_and_cooling/model/Heating and cooling network with return network with costs.esdl delete mode 100644 examples/heating_and_cooling/model/Heating and cooling network with return network.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index e303652a5..59b48d782 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2026-04-28 +# [Unreleased-main] - 2026-05-06 ## Added - Electricity consumption calculation of geothermal assets, using the defined COP. @@ -19,6 +19,8 @@ - Updated pyESDL to v26.3 - Updated the GROW workflow to provide feedback on which heat demands are not matched in priority 1. - Removed old test files that are no longer used. +- Added electricity cost profile to variable operational cost of assets which convert electricity to heat. +- Heating_and_cooling example is cleaned up ## Fixed - ProfileConstraints: Use already available function to get profile quantity and unit diff --git a/examples/heating_and_cooling/input/timeseries_4.csv b/examples/heating_and_cooling/input/timeseries_4.csv deleted file mode 100644 index 5452b3923..000000000 --- a/examples/heating_and_cooling/input/timeseries_4.csv +++ /dev/null @@ -1,8761 +0,0 @@ -DateTime,CoolingDemand_1,HeatingDemand_1,HeatingDemand_2 -31-12-2018 23:00,7153333.333,0.050329049,0.050329049 -01-01-2019 0:00,7153333.762,0.019461529,0.019461529 -01-01-2019 1:00,7153335.048,0.005371142,0.005371142 -01-01-2019 2:00,7153337.192,0.002531358,0.002531358 -01-01-2019 3:00,7153340.193,0.006376971,0.006376971 -01-01-2019 4:00,7153344.051,0.039930779,0.039930779 -01-01-2019 5:00,7153348.767,0.189693727,0.189693727 -01-01-2019 6:00,7153354.34,0.398271631,0.398271631 -01-01-2019 7:00,7153360.771,0.545202955,0.545202955 -01-01-2019 8:00,7153368.059,0.664203859,0.664203859 -01-01-2019 9:00,7153376.205,0.552707393,0.552707393 -01-01-2019 10:00,7153385.208,0.51662341,0.51662341 -01-01-2019 11:00,7153395.068,0.639689954,0.639689954 -01-01-2019 12:00,7153405.786,0.54726439,0.54726439 -01-01-2019 13:00,7153417.361,0.462136528,0.462136528 -01-01-2019 14:00,7153429.794,0.49566353,0.49566353 -01-01-2019 15:00,7153443.084,0.50413802,0.50413802 -01-01-2019 16:00,7153457.231,0.477233502,0.477233502 -01-01-2019 17:00,7153472.236,0.500550865,0.500550865 -01-01-2019 18:00,7153488.098,0.485878609,0.485878609 -01-01-2019 19:00,7153504.817,0.436978888,0.436978888 -01-01-2019 20:00,7153522.394,0.360554953,0.360554953 -01-01-2019 21:00,7153540.828,0.234138179,0.234138179 -01-01-2019 22:00,7153560.119,0.111812117,0.111812117 -01-01-2019 23:00,7153580.268,0.048379859,0.048379859 -02-01-2019 0:00,7153601.274,0.019428271,0.019428271 -02-01-2019 1:00,7153623.137,0.006310747,0.006310747 -02-01-2019 2:00,7153645.858,0.003488399,0.003488399 -02-01-2019 3:00,7153669.436,0.009135712,0.009135712 -02-01-2019 4:00,7153693.871,0.044403937,0.044403937 -02-01-2019 5:00,7153719.163,0.208010815,0.208010815 -02-01-2019 6:00,7153745.313,0.42089549,0.42089549 -02-01-2019 7:00,7153772.32,0.562652669,0.562652669 -02-01-2019 8:00,7153800.184,0.679147921,0.679147921 -02-01-2019 9:00,7153828.905,0.541377445,0.541377445 -02-01-2019 10:00,7153858.484,0.519032215,0.519032215 -02-01-2019 11:00,7153888.919,0.634940763,0.634940763 -02-01-2019 12:00,7153920.212,0.56137586,0.56137586 -02-01-2019 13:00,7153952.362,0.461387204,0.461387204 -02-01-2019 14:00,7153985.369,0.491492373,0.491492373 -02-01-2019 15:00,7154019.233,0.499763615,0.499763615 -02-01-2019 16:00,7154053.954,0.47286208,0.47286208 -02-01-2019 17:00,7154089.532,0.496882406,0.496882406 -02-01-2019 18:00,7154125.967,0.476811477,0.476811477 -02-01-2019 19:00,7154163.26,0.435859797,0.435859797 -02-01-2019 20:00,7154201.409,0.360541095,0.360541095 -02-01-2019 21:00,7154240.415,0.234457849,0.234457849 -02-01-2019 22:00,7154280.279,0.110798835,0.110798835 -02-01-2019 23:00,7154320.999,0.047974401,0.047974401 -03-01-2019 0:00,7154362.576,0.019739858,0.019739858 -03-01-2019 1:00,7154405.01,0.006558014,0.006558014 -03-01-2019 2:00,7154448.301,0.004095333,0.004095333 -03-01-2019 3:00,7154492.449,0.009698575,0.009698575 -03-01-2019 4:00,7154537.453,0.046215446,0.046215446 -03-01-2019 5:00,7154583.315,0.210114138,0.210114138 -03-01-2019 6:00,7154630.033,0.428649595,0.428649595 -03-01-2019 7:00,7154677.608,0.573832993,0.573832993 -03-01-2019 8:00,7154726.039,0.688455907,0.688455907 -03-01-2019 9:00,7154775.328,0.561987952,0.561987952 -03-01-2019 10:00,7154825.473,0.422583027,0.422583027 -03-01-2019 11:00,7154876.475,0.614018054,0.614018054 -03-01-2019 12:00,7154928.333,0.559906046,0.559906046 -03-01-2019 13:00,7154981.048,0.413295178,0.413295178 -03-01-2019 14:00,7155034.62,0.486553554,0.486553554 -03-01-2019 15:00,7155089.048,0.506249886,0.506249886 -03-01-2019 16:00,7155144.333,0.487711428,0.487711428 -03-01-2019 17:00,7155200.474,0.504661317,0.504661317 -03-01-2019 18:00,7155257.472,0.490970828,0.490970828 -03-01-2019 19:00,7155315.326,0.445743687,0.445743687 -03-01-2019 20:00,7155374.036,0.369159712,0.369159712 -03-01-2019 21:00,7155433.603,0.239956244,0.239956244 -03-01-2019 22:00,7155494.027,0.113382063,0.113382063 -03-01-2019 23:00,7155555.306,0.049037055,0.049037055 -04-01-2019 0:00,7155617.442,0.02030774,0.02030774 -04-01-2019 1:00,7155680.434,0.007109878,0.007109878 -04-01-2019 2:00,7155744.283,0.005020789,0.005020789 -04-01-2019 3:00,7155808.987,0.01117393,0.01117393 -04-01-2019 4:00,7155874.548,0.049549104,0.049549104 -04-01-2019 5:00,7155940.965,0.216591901,0.216591901 -04-01-2019 6:00,7156008.238,0.435886536,0.435886536 -04-01-2019 7:00,7156076.367,0.571507133,0.571507133 -04-01-2019 8:00,7156145.352,0.683565181,0.683565181 -04-01-2019 9:00,7156215.193,0.558496764,0.558496764 -04-01-2019 10:00,7156285.89,0.520799155,0.520799155 -04-01-2019 11:00,7156357.443,0.638113454,0.638113454 -04-01-2019 12:00,7156429.851,0.565700035,0.565700035 -04-01-2019 13:00,7156503.116,0.458892894,0.458892894 -04-01-2019 14:00,7156577.236,0.490262044,0.490262044 -04-01-2019 15:00,7156652.212,0.495260083,0.495260083 -04-01-2019 16:00,7156728.044,0.463318659,0.463318659 -04-01-2019 17:00,7156804.732,0.487164971,0.487164971 -04-01-2019 18:00,7156882.275,0.465230564,0.465230564 -04-01-2019 19:00,7156960.674,0.423526252,0.423526252 -04-01-2019 20:00,7157039.928,0.348720126,0.348720126 -04-01-2019 21:00,7157120.038,0.22672459,0.22672459 -04-01-2019 22:00,7157201.004,0.10641711,0.10641711 -04-01-2019 23:00,7157282.824,0.045729951,0.045729951 -05-01-2019 0:00,7157365.501,0.019021529,0.019021529 -05-01-2019 1:00,7157449.032,0.006342652,0.006342652 -05-01-2019 2:00,7157533.419,0.003929531,0.003929531 -05-01-2019 3:00,7157618.661,0.007741717,0.007741717 -05-01-2019 4:00,7157704.759,0.03904124,0.03904124 -05-01-2019 5:00,7157791.711,0.177959059,0.177959059 -05-01-2019 6:00,7157879.519,0.372426717,0.372426717 -05-01-2019 7:00,7157968.182,0.4936847,0.4936847 -05-01-2019 8:00,7158057.7,0.599716805,0.599716805 -05-01-2019 9:00,7158148.073,0.495757386,0.495757386 -05-01-2019 10:00,7158239.301,0.473899887,0.473899887 -05-01-2019 11:00,7158331.383,0.600328524,0.600328524 -05-01-2019 12:00,7158424.321,0.534210447,0.534210447 -05-01-2019 13:00,7158518.114,0.423469638,0.423469638 -05-01-2019 14:00,7158612.761,0.457344488,0.457344488 -05-01-2019 15:00,7158708.263,0.470152128,0.470152128 -05-01-2019 16:00,7158804.619,0.439618076,0.439618076 -05-01-2019 17:00,7158901.83,0.465026649,0.465026649 -05-01-2019 18:00,7158999.896,0.447384175,0.447384175 -05-01-2019 19:00,7159098.816,0.409161519,0.409161519 -05-01-2019 20:00,7159198.591,0.336858569,0.336858569 -05-01-2019 21:00,7159299.22,0.217426284,0.217426284 -05-01-2019 22:00,7159400.704,0.102868237,0.102868237 -05-01-2019 23:00,7159503.042,0.044590477,0.044590477 -06-01-2019 0:00,7159606.234,0.018339846,0.018339846 -06-01-2019 1:00,7159710.28,0.006150537,0.006150537 -06-01-2019 2:00,7159815.181,0.003529487,0.003529487 -06-01-2019 3:00,7159920.935,0.007075878,0.007075878 -06-01-2019 4:00,7160027.544,0.036569713,0.036569713 -06-01-2019 5:00,7160135.006,0.171923542,0.171923542 -06-01-2019 6:00,7160243.323,0.361518493,0.361518493 -06-01-2019 7:00,7160352.493,0.48360434,0.48360434 -06-01-2019 8:00,7160462.518,0.590215083,0.590215083 -06-01-2019 9:00,7160573.396,0.488820498,0.488820498 -06-01-2019 10:00,7160685.127,0.452909283,0.452909283 -06-01-2019 11:00,7160797.713,0.588111095,0.588111095 -06-01-2019 12:00,7160911.152,0.524773969,0.524773969 -06-01-2019 13:00,7161025.444,0.413723647,0.413723647 -06-01-2019 14:00,7161140.59,0.454449225,0.454449225 -06-01-2019 15:00,7161256.589,0.46363899,0.46363899 -06-01-2019 16:00,7161373.442,0.434776402,0.434776402 -06-01-2019 17:00,7161491.148,0.458370174,0.458370174 -06-01-2019 18:00,7161609.707,0.439796801,0.439796801 -06-01-2019 19:00,7161729.12,0.401021343,0.401021343 -06-01-2019 20:00,7161849.385,0.330607429,0.330607429 -06-01-2019 21:00,7161970.504,0.215495228,0.215495228 -06-01-2019 22:00,7162092.476,0.10271267,0.10271267 -06-01-2019 23:00,7162215.3,0.04586981,0.04586981 -07-01-2019 0:00,7162338.978,0.019632177,0.019632177 -07-01-2019 1:00,7162463.508,0.006798462,0.006798462 -07-01-2019 2:00,7162588.891,0.004260438,0.004260438 -07-01-2019 3:00,7162715.126,0.008989145,0.008989145 -07-01-2019 4:00,7162842.214,0.0422622,0.0422622 -07-01-2019 5:00,7162970.155,0.187005394,0.187005394 -07-01-2019 6:00,7163098.948,0.382383436,0.382383436 -07-01-2019 7:00,7163228.594,0.50159386,0.50159386 -07-01-2019 8:00,7163359.092,0.600515151,0.600515151 -07-01-2019 9:00,7163490.442,0.486873308,0.486873308 -07-01-2019 10:00,7163622.645,0.461152611,0.461152611 -07-01-2019 11:00,7163755.699,0.582754635,0.582754635 -07-01-2019 12:00,7163889.606,0.514167394,0.514167394 -07-01-2019 13:00,7164024.365,0.40024011,0.40024011 -07-01-2019 14:00,7164159.975,0.43969489,0.43969489 -07-01-2019 15:00,7164296.438,0.449535339,0.449535339 -07-01-2019 16:00,7164433.752,0.421003933,0.421003933 -07-01-2019 17:00,7164571.918,0.444968636,0.444968636 -07-01-2019 18:00,7164710.936,0.421059934,0.421059934 -07-01-2019 19:00,7164850.805,0.381925104,0.381925104 -07-01-2019 20:00,7164991.525,0.308273439,0.308273439 -07-01-2019 21:00,7165133.098,0.196221668,0.196221668 -07-01-2019 22:00,7165275.521,0.094276231,0.094276231 -07-01-2019 23:00,7165418.796,0.04094332,0.04094332 -08-01-2019 0:00,7165562.922,0.016636476,0.016636476 -08-01-2019 1:00,7165707.899,0.00553427,0.00553427 -08-01-2019 2:00,7165853.727,0.003089608,0.003089608 -08-01-2019 3:00,7166000.407,0.004912056,0.004912056 -08-01-2019 4:00,7166147.937,0.027654966,0.027654966 -08-01-2019 5:00,7166296.318,0.140687363,0.140687363 -08-01-2019 6:00,7166445.549,0.304211653,0.304211653 -08-01-2019 7:00,7166595.632,0.413806726,0.413806726 -08-01-2019 8:00,7166746.565,0.51295431,0.51295431 -08-01-2019 9:00,7166898.348,0.436477765,0.436477765 -08-01-2019 10:00,7167050.982,0.412640076,0.412640076 -08-01-2019 11:00,7167204.467,0.555377657,0.555377657 -08-01-2019 12:00,7167358.802,0.494114076,0.494114076 -08-01-2019 13:00,7167513.986,0.382548114,0.382548114 -08-01-2019 14:00,7167670.021,0.423531907,0.423531907 -08-01-2019 15:00,7167826.907,0.436970644,0.436970644 -08-01-2019 16:00,7167984.642,0.408668739,0.408668739 -08-01-2019 17:00,7168143.227,0.433833089,0.433833089 -08-01-2019 18:00,7168302.661,0.416230639,0.416230639 -08-01-2019 19:00,7168462.946,0.383180971,0.383180971 -08-01-2019 20:00,7168624.08,0.31690591,0.31690591 -08-01-2019 21:00,7168786.064,0.207821852,0.207821852 -08-01-2019 22:00,7168948.897,0.097006367,0.097006367 -08-01-2019 23:00,7169112.58,0.043376897,0.043376897 -09-01-2019 0:00,7169277.112,0.017520636,0.017520636 -09-01-2019 1:00,7169442.493,0.006019236,0.006019236 -09-01-2019 2:00,7169608.723,0.003345468,0.003345468 -09-01-2019 3:00,7169775.803,0.006004303,0.006004303 -09-01-2019 4:00,7169943.731,0.032397864,0.032397864 -09-01-2019 5:00,7170112.508,0.15891724,0.15891724 -09-01-2019 6:00,7170282.134,0.338045376,0.338045376 -09-01-2019 7:00,7170452.609,0.458179773,0.458179773 -09-01-2019 8:00,7170623.932,0.560557402,0.560557402 -09-01-2019 9:00,7170796.104,0.458831181,0.458831181 -09-01-2019 10:00,7170969.125,0.447603856,0.447603856 -09-01-2019 11:00,7171142.993,0.571529125,0.571529125 -09-01-2019 12:00,7171317.71,0.486836139,0.486836139 -09-01-2019 13:00,7171493.276,0.352128571,0.352128571 -09-01-2019 14:00,7171669.689,0.435176558,0.435176558 -09-01-2019 15:00,7171846.95,0.452141063,0.452141063 -09-01-2019 16:00,7172025.059,0.426759042,0.426759042 -09-01-2019 17:00,7172204.016,0.453818924,0.453818924 -09-01-2019 18:00,7172383.821,0.435415103,0.435415103 -09-01-2019 19:00,7172564.473,0.396964519,0.396964519 -09-01-2019 20:00,7172745.973,0.328215286,0.328215286 -09-01-2019 21:00,7172928.321,0.213614226,0.213614226 -09-01-2019 22:00,7173111.515,0.102185371,0.102185371 -09-01-2019 23:00,7173295.557,0.044469016,0.044469016 -10-01-2019 0:00,7173480.446,0.018805298,0.018805298 -10-01-2019 1:00,7173666.183,0.006779596,0.006779596 -10-01-2019 2:00,7173852.766,0.004156134,0.004156134 -10-01-2019 3:00,7174040.196,0.008437588,0.008437588 -10-01-2019 4:00,7174228.473,0.040934357,0.040934357 -10-01-2019 5:00,7174417.596,0.186377163,0.186377163 -10-01-2019 6:00,7174607.566,0.389688306,0.389688306 -10-01-2019 7:00,7174798.383,0.520196472,0.520196472 -10-01-2019 8:00,7174990.046,0.62572418,0.62572418 -10-01-2019 9:00,7175182.555,0.509193668,0.509193668 -10-01-2019 10:00,7175375.91,0.48519654,0.48519654 -10-01-2019 11:00,7175570.112,0.605351904,0.605351904 -10-01-2019 12:00,7175765.159,0.531118278,0.531118278 -10-01-2019 13:00,7175961.053,0.418254502,0.418254502 -10-01-2019 14:00,7176157.792,0.463842663,0.463842663 -10-01-2019 15:00,7176355.377,0.47569793,0.47569793 -10-01-2019 16:00,7176553.807,0.448089109,0.448089109 -10-01-2019 17:00,7176753.083,0.476483155,0.476483155 -10-01-2019 18:00,7176953.205,0.460804063,0.460804063 -10-01-2019 19:00,7177154.171,0.421834017,0.421834017 -10-01-2019 20:00,7177355.983,0.347171672,0.347171672 -10-01-2019 21:00,7177558.64,0.224966951,0.224966951 -10-01-2019 22:00,7177762.142,0.106268805,0.106268805 -10-01-2019 23:00,7177966.489,0.046003631,0.046003631 -11-01-2019 0:00,7178171.68,0.019139769,0.019139769 -11-01-2019 1:00,7178377.716,0.006668968,0.006668968 -11-01-2019 2:00,7178584.597,0.004577772,0.004577772 -11-01-2019 3:00,7178792.322,0.008324014,0.008324014 -11-01-2019 4:00,7179000.892,0.039482612,0.039482612 -11-01-2019 5:00,7179210.305,0.176064608,0.176064608 -11-01-2019 6:00,7179420.563,0.36616921,0.36616921 -11-01-2019 7:00,7179631.665,0.481756708,0.481756708 -11-01-2019 8:00,7179843.611,0.57898573,0.57898573 -11-01-2019 9:00,7180056.4,0.47147639,0.47147639 -11-01-2019 10:00,7180270.034,0.454278709,0.454278709 -11-01-2019 11:00,7180484.51,0.576476417,0.576476417 -11-01-2019 12:00,7180699.831,0.512484741,0.512484741 -11-01-2019 13:00,7180915.994,0.394310868,0.394310868 -11-01-2019 14:00,7181133.001,0.441362266,0.441362266 -11-01-2019 15:00,7181350.851,0.451090025,0.451090025 -11-01-2019 16:00,7181569.544,0.422352688,0.422352688 -11-01-2019 17:00,7181789.08,0.447848017,0.447848017 -11-01-2019 18:00,7182009.459,0.429538466,0.429538466 -11-01-2019 19:00,7182230.68,0.393278622,0.393278622 -11-01-2019 20:00,7182452.744,0.323524531,0.323524531 -11-01-2019 21:00,7182675.651,0.209032722,0.209032722 -11-01-2019 22:00,7182899.399,0.09887287,0.09887287 -11-01-2019 23:00,7183123.99,0.042573266,0.042573266 -12-01-2019 0:00,7183349.423,0.017717186,0.017717186 -12-01-2019 1:00,7183575.698,0.006004519,0.006004519 -12-01-2019 2:00,7183802.815,0.003448414,0.003448414 -12-01-2019 3:00,7184030.774,0.005969447,0.005969447 -12-01-2019 4:00,7184259.574,0.032149347,0.032149347 -12-01-2019 5:00,7184489.216,0.153660386,0.153660386 -12-01-2019 6:00,7184719.699,0.328258783,0.328258783 -12-01-2019 7:00,7184951.024,0.438452631,0.438452631 -12-01-2019 8:00,7185183.19,0.537800938,0.537800938 -12-01-2019 9:00,7185416.197,0.445409229,0.445409229 -12-01-2019 10:00,7185650.044,0.438525482,0.438525482 -12-01-2019 11:00,7185884.733,0.562623772,0.562623772 -12-01-2019 12:00,7186120.262,0.495562455,0.495562455 -12-01-2019 13:00,7186356.632,0.375319856,0.375319856 -12-01-2019 14:00,7186593.842,0.423674581,0.423674581 -12-01-2019 15:00,7186831.892,0.435020618,0.435020618 -12-01-2019 16:00,7187070.783,0.406244961,0.406244961 -12-01-2019 17:00,7187310.514,0.430360633,0.430360633 -12-01-2019 18:00,7187551.085,0.411893155,0.411893155 -12-01-2019 19:00,7187792.495,0.37437433,0.37437433 -12-01-2019 20:00,7188034.746,0.306431394,0.306431394 -12-01-2019 21:00,7188277.835,0.197409241,0.197409241 -12-01-2019 22:00,7188521.765,0.093401925,0.093401925 -12-01-2019 23:00,7188766.533,0.039900248,0.039900248 -13-01-2019 0:00,7189012.141,0.016329827,0.016329827 -13-01-2019 1:00,7189258.588,0.005443725,0.005443725 -13-01-2019 2:00,7189505.874,0.003043262,0.003043262 -13-01-2019 3:00,7189753.999,0.004605259,0.004605259 -13-01-2019 4:00,7190002.962,0.025266751,0.025266751 -13-01-2019 5:00,7190252.764,0.128273352,0.128273352 -13-01-2019 6:00,7190503.405,0.278612126,0.278612126 -13-01-2019 7:00,7190754.883,0.376051775,0.376051775 -13-01-2019 8:00,7191007.2,0.46585309,0.46585309 -13-01-2019 9:00,7191260.355,0.393129138,0.393129138 -13-01-2019 10:00,7191514.348,0.398614913,0.398614913 -13-01-2019 11:00,7191769.179,0.529197807,0.529197807 -13-01-2019 12:00,7192024.847,0.466434926,0.466434926 -13-01-2019 13:00,7192281.353,0.344963537,0.344963537 -13-01-2019 14:00,7192538.696,0.393568393,0.393568393 -13-01-2019 15:00,7192796.877,0.403619737,0.403619737 -13-01-2019 16:00,7193055.894,0.374309541,0.374309541 -13-01-2019 17:00,7193315.749,0.410379335,0.410379335 -13-01-2019 18:00,7193576.44,0.388690548,0.388690548 -13-01-2019 19:00,7193837.969,0.354293236,0.354293236 -13-01-2019 20:00,7194100.334,0.289659382,0.289659382 -13-01-2019 21:00,7194363.535,0.186927802,0.186927802 -13-01-2019 22:00,7194627.572,0.088453529,0.088453529 -13-01-2019 23:00,7194892.446,0.037957367,0.037957367 -14-01-2019 0:00,7195158.156,0.015671919,0.015671919 -14-01-2019 1:00,7195424.702,0.005128269,0.005128269 -14-01-2019 2:00,7195692.083,0.002869633,0.002869633 -14-01-2019 3:00,7195960.301,0.00424043,0.00424043 -14-01-2019 4:00,7196229.353,0.023020482,0.023020482 -14-01-2019 5:00,7196499.241,0.124466761,0.124466761 -14-01-2019 6:00,7196769.965,0.27645431,0.27645431 -14-01-2019 7:00,7197041.523,0.384244682,0.384244682 -14-01-2019 8:00,7197313.916,0.470589075,0.470589075 -14-01-2019 9:00,7197587.144,0.35920487,0.35920487 -14-01-2019 10:00,7197861.207,0.319362427,0.319362427 -14-01-2019 11:00,7198136.105,0.473411042,0.473411042 -14-01-2019 12:00,7198411.836,0.407179204,0.407179204 -14-01-2019 13:00,7198688.402,0.328199207,0.328199207 -14-01-2019 14:00,7198965.802,0.400552197,0.400552197 -14-01-2019 15:00,7199244.036,0.430819347,0.430819347 -14-01-2019 16:00,7199523.104,0.416569763,0.416569763 -14-01-2019 17:00,7199803.006,0.4421836,0.4421836 -14-01-2019 18:00,7200083.741,0.426781341,0.426781341 -14-01-2019 19:00,7200365.309,0.392766587,0.392766587 -14-01-2019 20:00,7200647.711,0.319981829,0.319981829 -14-01-2019 21:00,7200930.945,0.20646585,0.20646585 -14-01-2019 22:00,7201215.013,0.099896948,0.099896948 -14-01-2019 23:00,7201499.914,0.043623103,0.043623103 -15-01-2019 0:00,7201785.647,0.017922751,0.017922751 -15-01-2019 1:00,7202072.212,0.006104353,0.006104353 -15-01-2019 2:00,7202359.61,0.003489052,0.003489052 -15-01-2019 3:00,7202647.84,0.006272777,0.006272777 -15-01-2019 4:00,7202936.903,0.032372232,0.032372232 -15-01-2019 5:00,7203226.797,0.156708373,0.156708373 -15-01-2019 6:00,7203517.523,0.328884703,0.328884703 -15-01-2019 7:00,7203809.08,0.436180116,0.436180116 -15-01-2019 8:00,7204101.469,0.528974999,0.528974999 -15-01-2019 9:00,7204394.69,0.429521622,0.429521622 -15-01-2019 10:00,7204688.741,0.426531102,0.426531102 -15-01-2019 11:00,7204983.624,0.55644789,0.55644789 -15-01-2019 12:00,7205279.337,0.486972506,0.486972506 -15-01-2019 13:00,7205575.881,0.363020483,0.363020483 -15-01-2019 14:00,7205873.256,0.411328909,0.411328909 -15-01-2019 15:00,7206171.461,0.423509333,0.423509333 -15-01-2019 16:00,7206470.496,0.396393328,0.396393328 -15-01-2019 17:00,7206770.362,0.420724866,0.420724866 -15-01-2019 18:00,7207071.057,0.404148918,0.404148918 -15-01-2019 19:00,7207372.582,0.368106945,0.368106945 -15-01-2019 20:00,7207674.937,0.302468713,0.302468713 -15-01-2019 21:00,7207978.121,0.195399093,0.195399093 -15-01-2019 22:00,7208282.135,0.092404811,0.092404811 -15-01-2019 23:00,7208586.977,0.039605299,0.039605299 -16-01-2019 0:00,7208892.649,0.016066295,0.016066295 -16-01-2019 1:00,7209199.15,0.00534173,0.00534173 -16-01-2019 2:00,7209506.479,0.003003519,0.003003519 -16-01-2019 3:00,7209814.637,0.004522689,0.004522689 -16-01-2019 4:00,7210123.623,0.024751561,0.024751561 -16-01-2019 5:00,7210433.437,0.129024965,0.129024965 -16-01-2019 6:00,7210744.08,0.284155439,0.284155439 -16-01-2019 7:00,7211055.55,0.389551608,0.389551608 -16-01-2019 8:00,7211367.848,0.487695492,0.487695492 -16-01-2019 9:00,7211680.974,0.405316565,0.405316565 -16-01-2019 10:00,7211994.927,0.41359592,0.41359592 -16-01-2019 11:00,7212309.707,0.549832712,0.549832712 -16-01-2019 12:00,7212625.315,0.484768396,0.484768396 -16-01-2019 13:00,7212941.749,0.362211387,0.362211387 -16-01-2019 14:00,7213259.01,0.420597873,0.420597873 -16-01-2019 15:00,7213577.098,0.434374843,0.434374843 -16-01-2019 16:00,7213896.012,0.406866688,0.406866688 -16-01-2019 17:00,7214215.752,0.436107574,0.436107574 -16-01-2019 18:00,7214536.319,0.419101578,0.419101578 -16-01-2019 19:00,7214857.711,0.382018275,0.382018275 -16-01-2019 20:00,7215179.93,0.312068881,0.312068881 -16-01-2019 21:00,7215502.974,0.203402515,0.203402515 -16-01-2019 22:00,7215826.843,0.09730631,0.09730631 -16-01-2019 23:00,7216151.538,0.042242528,0.042242528 -17-01-2019 0:00,7216477.057,0.017355847,0.017355847 -17-01-2019 1:00,7216803.402,0.005904945,0.005904945 -17-01-2019 2:00,7217130.571,0.003377814,0.003377814 -17-01-2019 3:00,7217458.566,0.005789542,0.005789542 -17-01-2019 4:00,7217787.384,0.031173104,0.031173104 -17-01-2019 5:00,7218117.027,0.152928141,0.152928141 -17-01-2019 6:00,7218447.494,0.326763631,0.326763631 -17-01-2019 7:00,7218778.785,0.443718995,0.443718995 -17-01-2019 8:00,7219110.899,0.547781086,0.547781086 -17-01-2019 9:00,7219443.837,0.447146644,0.447146644 -17-01-2019 10:00,7219777.599,0.447832268,0.447832268 -17-01-2019 11:00,7220112.184,0.576089493,0.576089493 -17-01-2019 12:00,7220447.592,0.524159958,0.524159958 -17-01-2019 13:00,7220783.823,0.306972858,0.306972858 -17-01-2019 14:00,7221120.876,0.442582984,0.442582984 -17-01-2019 15:00,7221458.752,0.469265611,0.469265611 -17-01-2019 16:00,7221797.451,0.453219387,0.453219387 -17-01-2019 17:00,7222136.972,0.47558262,0.47558262 -17-01-2019 18:00,7222477.314,0.46277128,0.46277128 -17-01-2019 19:00,7222818.479,0.421319344,0.421319344 -17-01-2019 20:00,7223160.465,0.349973249,0.349973249 -17-01-2019 21:00,7223503.273,0.224880192,0.224880192 -17-01-2019 22:00,7223846.902,0.108141335,0.108141335 -17-01-2019 23:00,7224191.353,0.048050154,0.048050154 -18-01-2019 0:00,7224536.624,0.020761933,0.020761933 -18-01-2019 1:00,7224882.716,0.007659666,0.007659666 -18-01-2019 2:00,7225229.629,0.006027165,0.006027165 -18-01-2019 3:00,7225577.362,0.012938599,0.012938599 -18-01-2019 4:00,7225925.915,0.052822818,0.052822818 -18-01-2019 5:00,7226275.289,0.224891422,0.224891422 -18-01-2019 6:00,7226625.482,0.463716358,0.463716358 -18-01-2019 7:00,7226976.496,0.61028002,0.61028002 -18-01-2019 8:00,7227328.328,0.705949769,0.705949769 -18-01-2019 9:00,7227680.98,0.451851375,0.451851375 -18-01-2019 10:00,7228034.452,0.465551678,0.465551678 -18-01-2019 11:00,7228388.742,0.61708622,0.61708622 -18-01-2019 12:00,7228743.851,0.543468774,0.543468774 -18-01-2019 13:00,7229099.779,0.425742147,0.425742147 -18-01-2019 14:00,7229456.525,0.490635136,0.490635136 -18-01-2019 15:00,7229814.089,0.512156183,0.512156183 -18-01-2019 16:00,7230172.472,0.491655429,0.491655429 -18-01-2019 17:00,7230531.672,0.527081401,0.527081401 -18-01-2019 18:00,7230891.69,0.512061662,0.512061662 -18-01-2019 19:00,7231252.526,0.470137436,0.470137436 -18-01-2019 20:00,7231614.179,0.391742984,0.391742984 -18-01-2019 21:00,7231976.649,0.253986111,0.253986111 -18-01-2019 22:00,7232339.936,0.120661418,0.120661418 -18-01-2019 23:00,7232704.04,0.05405307,0.05405307 -19-01-2019 0:00,7233068.961,0.02330414,0.02330414 -19-01-2019 1:00,7233434.698,0.010658742,0.010658742 -19-01-2019 2:00,7233801.251,0.009784187,0.009784187 -19-01-2019 3:00,7234168.62,0.020690288,0.020690288 -19-01-2019 4:00,7234536.805,0.069906801,0.069906801 -19-01-2019 5:00,7234905.806,0.271322634,0.271322634 -19-01-2019 6:00,7235275.622,0.532493001,0.532493001 -19-01-2019 7:00,7235646.254,0.688032045,0.688032045 -19-01-2019 8:00,7236017.7,0.787218617,0.787218617 -19-01-2019 9:00,7236389.962,0.477559189,0.477559189 -19-01-2019 10:00,7236763.038,0.425745936,0.425745936 -19-01-2019 11:00,7237136.929,0.668513665,0.668513665 -19-01-2019 12:00,7237511.634,0.591674015,0.591674015 -19-01-2019 13:00,7237887.153,0.469213941,0.469213941 -19-01-2019 14:00,7238263.486,0.532506365,0.532506365 -19-01-2019 15:00,7238640.633,0.553039333,0.553039333 -19-01-2019 16:00,7239018.593,0.536509629,0.536509629 -19-01-2019 17:00,7239397.367,0.566009684,0.566009684 -19-01-2019 18:00,7239776.953,0.547333232,0.547333232 -19-01-2019 19:00,7240157.353,0.5054696,0.5054696 -19-01-2019 20:00,7240538.566,0.419087211,0.419087211 -19-01-2019 21:00,7240920.591,0.273271104,0.273271104 -19-01-2019 22:00,7241303.429,0.131339489,0.131339489 -19-01-2019 23:00,7241687.078,0.059409449,0.059409449 -20-01-2019 0:00,7242071.54,0.027679123,0.027679123 -20-01-2019 1:00,7242456.813,0.016174918,0.016174918 -20-01-2019 2:00,7242842.898,0.018406377,0.018406377 -20-01-2019 3:00,7243229.795,0.033685953,0.033685953 -20-01-2019 4:00,7243617.502,0.099031177,0.099031177 -20-01-2019 5:00,7244006.021,0.329635173,0.329635173 -20-01-2019 6:00,7244395.35,0.627368616,0.627368616 -20-01-2019 7:00,7244785.49,0.790536982,0.790536982 -20-01-2019 8:00,7245176.441,0.857794046,0.857794046 -20-01-2019 9:00,7245568.201,0.508677724,0.508677724 -20-01-2019 10:00,7245960.772,0.435994807,0.435994807 -20-01-2019 11:00,7246354.152,0.621566085,0.621566085 -20-01-2019 12:00,7246748.342,0.46584543,0.46584543 -20-01-2019 13:00,7247143.341,0.311568125,0.311568125 -20-01-2019 14:00,7247539.149,0.515749146,0.515749146 -20-01-2019 15:00,7247935.767,0.584146464,0.584146464 -20-01-2019 16:00,7248333.193,0.571113579,0.571113579 -20-01-2019 17:00,7248731.428,0.60657623,0.60657623 -20-01-2019 18:00,7249130.471,0.582347553,0.582347553 -20-01-2019 19:00,7249530.322,0.538812688,0.538812688 -20-01-2019 20:00,7249930.981,0.453814097,0.453814097 -20-01-2019 21:00,7250332.448,0.29873983,0.29873983 -20-01-2019 22:00,7250734.722,0.143403471,0.143403471 -20-01-2019 23:00,7251137.804,0.066630738,0.066630738 -21-01-2019 0:00,7251541.693,0.034125531,0.034125531 -21-01-2019 1:00,7251946.389,0.025534618,0.025534618 -21-01-2019 2:00,7252351.891,0.030386866,0.030386866 -21-01-2019 3:00,7252758.2,0.053522826,0.053522826 -21-01-2019 4:00,7253165.315,0.132783565,0.132783565 -21-01-2019 5:00,7253573.237,0.399897184,0.399897184 -21-01-2019 6:00,7253981.964,0.723335399,0.723335399 -21-01-2019 7:00,7254391.497,0.885470408,0.885470408 -21-01-2019 8:00,7254801.835,0.949665085,0.949665085 -21-01-2019 9:00,7255212.979,0.577024785,0.577024785 -21-01-2019 10:00,7255624.927,0.612463793,0.612463793 -21-01-2019 11:00,7256037.68,0.723930485,0.723930485 -21-01-2019 12:00,7256451.238,0.619717519,0.619717519 -21-01-2019 13:00,7256865.601,0.51617871,0.51617871 -21-01-2019 14:00,7257280.767,0.581790432,0.581790432 -21-01-2019 15:00,7257696.738,0.603094275,0.603094275 -21-01-2019 16:00,7258113.512,0.587042631,0.587042631 -21-01-2019 17:00,7258531.09,0.613616901,0.613616901 -21-01-2019 18:00,7258949.471,0.59205358,0.59205358 -21-01-2019 19:00,7259368.655,0.544196209,0.544196209 -21-01-2019 20:00,7259788.642,0.44732415,0.44732415 -21-01-2019 21:00,7260209.431,0.290676612,0.290676612 -21-01-2019 22:00,7260631.023,0.140151145,0.140151145 -21-01-2019 23:00,7261053.418,0.065122501,0.065122501 -22-01-2019 0:00,7261476.614,0.033124958,0.033124958 -22-01-2019 1:00,7261900.612,0.02456983,0.02456983 -22-01-2019 2:00,7262325.412,0.028080459,0.028080459 -22-01-2019 3:00,7262751.013,0.049243162,0.049243162 -22-01-2019 4:00,7263177.415,0.124157713,0.124157713 -22-01-2019 5:00,7263604.619,0.376392676,0.376392676 -22-01-2019 6:00,7264032.623,0.686069647,0.686069647 -22-01-2019 7:00,7264461.427,0.842554187,0.842554187 -22-01-2019 8:00,7264891.031,0.944453314,0.944453314 -22-01-2019 9:00,7265321.436,0.721710894,0.721710894 -22-01-2019 10:00,7265752.641,0.664484694,0.664484694 -22-01-2019 11:00,7266184.645,0.78369847,0.78369847 -22-01-2019 12:00,7266617.448,0.689819028,0.689819028 -22-01-2019 13:00,7267051.051,0.56692782,0.56692782 -22-01-2019 14:00,7267485.452,0.629669761,0.629669761 -22-01-2019 15:00,7267920.653,0.64268757,0.64268757 -22-01-2019 16:00,7268356.651,0.616668722,0.616668722 -22-01-2019 17:00,7268793.448,0.638636203,0.638636203 -22-01-2019 18:00,7269231.043,0.61233964,0.61233964 -22-01-2019 19:00,7269669.436,0.559826173,0.559826173 -22-01-2019 20:00,7270108.627,0.462496004,0.462496004 -22-01-2019 21:00,7270548.614,0.299185019,0.299185019 -22-01-2019 22:00,7270989.399,0.142638125,0.142638125 -22-01-2019 23:00,7271430.981,0.065986541,0.065986541 -23-01-2019 0:00,7271873.359,0.033712001,0.033712001 -23-01-2019 1:00,7272316.534,0.025801935,0.025801935 -23-01-2019 2:00,7272760.506,0.028437321,0.028437321 -23-01-2019 3:00,7273205.273,0.049292501,0.049292501 -23-01-2019 4:00,7273650.836,0.12467793,0.12467793 -23-01-2019 5:00,7274097.194,0.376888367,0.376888367 -23-01-2019 6:00,7274544.348,0.690539619,0.690539619 -23-01-2019 7:00,7274992.297,0.854872741,0.854872741 -23-01-2019 8:00,7275441.04,0.953519314,0.953519314 -23-01-2019 9:00,7275890.579,0.72739612,0.72739612 -23-01-2019 10:00,7276340.911,0.660579767,0.660579767 -23-01-2019 11:00,7276792.038,0.780295095,0.780295095 -23-01-2019 12:00,7277243.959,0.687705552,0.687705552 -23-01-2019 13:00,7277696.673,0.56319625,0.56319625 -23-01-2019 14:00,7278150.181,0.62683893,0.62683893 -23-01-2019 15:00,7278604.482,0.641608862,0.641608862 -23-01-2019 16:00,7279059.576,0.617556412,0.617556412 -23-01-2019 17:00,7279515.463,0.642077077,0.642077077 -23-01-2019 18:00,7279972.142,0.616166408,0.616166408 -23-01-2019 19:00,7280429.614,0.564477777,0.564477777 -23-01-2019 20:00,7280887.878,0.468419479,0.468419479 -23-01-2019 21:00,7281346.933,0.303395539,0.303395539 -23-01-2019 22:00,7281806.78,0.145570545,0.145570545 -23-01-2019 23:00,7282267.419,0.067691673,0.067691673 -24-01-2019 0:00,7282728.848,0.035196324,0.035196324 -24-01-2019 1:00,7283191.068,0.028254339,0.028254339 -24-01-2019 2:00,7283654.079,0.032155949,0.032155949 -24-01-2019 3:00,7284117.881,0.054691727,0.054691727 -24-01-2019 4:00,7284582.472,0.1346774,0.1346774 -24-01-2019 5:00,7285047.854,0.395318316,0.395318316 -24-01-2019 6:00,7285514.025,0.710974644,0.710974644 -24-01-2019 7:00,7285980.985,0.870967096,0.870967096 -24-01-2019 8:00,7286448.735,0.977967404,0.977967404 -24-01-2019 9:00,7286917.274,0.748862618,0.748862618 -24-01-2019 10:00,7287386.601,0.678703484,0.678703484 -24-01-2019 11:00,7287856.717,0.794789407,0.794789407 -24-01-2019 12:00,7288327.621,0.699140721,0.699140721 -24-01-2019 13:00,7288799.313,0.551246024,0.551246024 -24-01-2019 14:00,7289271.793,0.64346169,0.64346169 -24-01-2019 15:00,7289745.06,0.658689005,0.658689005 -24-01-2019 16:00,7290219.115,0.634391013,0.634391013 -24-01-2019 17:00,7290693.957,0.660468617,0.660468617 -24-01-2019 18:00,7291169.585,0.636202107,0.636202107 -24-01-2019 19:00,7291646,0.581361273,0.581361273 -24-01-2019 20:00,7292123.201,0.482209532,0.482209532 -24-01-2019 21:00,7292601.188,0.312827999,0.312827999 -24-01-2019 22:00,7293079.961,0.149473481,0.149473481 -24-01-2019 23:00,7293559.52,0.07014564,0.07014564 -25-01-2019 0:00,7294039.863,0.038051051,0.038051051 -25-01-2019 1:00,7294520.992,0.031967836,0.031967836 -25-01-2019 2:00,7295002.906,0.03788024,0.03788024 -25-01-2019 3:00,7295485.604,0.061311561,0.061311561 -25-01-2019 4:00,7295969.086,0.146459032,0.146459032 -25-01-2019 5:00,7296453.353,0.414950711,0.414950711 -25-01-2019 6:00,7296938.403,0.73611311,0.73611311 -25-01-2019 7:00,7297424.237,0.894710774,0.894710774 -25-01-2019 8:00,7297910.854,1,1 -25-01-2019 9:00,7298398.255,0.778775741,0.778775741 -25-01-2019 10:00,7298886.438,0.680300148,0.680300148 -25-01-2019 11:00,7299375.403,0.791621723,0.791621723 -25-01-2019 12:00,7299865.151,0.691127312,0.691127312 -25-01-2019 13:00,7300355.681,0.562667906,0.562667906 -25-01-2019 14:00,7300846.993,0.629788121,0.629788121 -25-01-2019 15:00,7301339.086,0.640436167,0.640436167 -25-01-2019 16:00,7301831.961,0.613861077,0.613861077 -25-01-2019 17:00,7302325.617,0.633904948,0.633904948 -25-01-2019 18:00,7302820.053,0.600404266,0.600404266 -25-01-2019 19:00,7303315.27,0.540447072,0.540447072 -25-01-2019 20:00,7303811.267,0.440566188,0.440566188 -25-01-2019 21:00,7304308.044,0.282324171,0.282324171 -25-01-2019 22:00,7304805.601,0.132192946,0.132192946 -25-01-2019 23:00,7305303.938,0.058649726,0.058649726 -26-01-2019 0:00,7305803.054,0.027340873,0.027340873 -26-01-2019 1:00,7306302.948,0.018074717,0.018074717 -26-01-2019 2:00,7306803.622,0.018927243,0.018927243 -26-01-2019 3:00,7307305.074,0.032394332,0.032394332 -26-01-2019 4:00,7307807.304,0.093717077,0.093717077 -26-01-2019 5:00,7308310.312,0.302469328,0.302469328 -26-01-2019 6:00,7308814.098,0.573402569,0.573402569 -26-01-2019 7:00,7309318.661,0.717656421,0.717656421 -26-01-2019 8:00,7309824.002,0.814802648,0.814802648 -26-01-2019 9:00,7310330.119,0.610089998,0.610089998 -26-01-2019 10:00,7310837.013,0.564213507,0.564213507 -26-01-2019 11:00,7311344.684,0.696994952,0.696994952 -26-01-2019 12:00,7311853.13,0.59999592,0.59999592 -26-01-2019 13:00,7312362.353,0.471275254,0.471275254 -26-01-2019 14:00,7312872.351,0.539884135,0.539884135 -26-01-2019 15:00,7313383.124,0.554034289,0.554034289 -26-01-2019 16:00,7313894.673,0.531648929,0.531648929 -26-01-2019 17:00,7314406.996,0.552576371,0.552576371 -26-01-2019 18:00,7314920.094,0.530682558,0.530682558 -26-01-2019 19:00,7315433.966,0.48020112,0.48020112 -26-01-2019 20:00,7315948.613,0.3951162,0.3951162 -26-01-2019 21:00,7316464.033,0.254230729,0.254230729 -26-01-2019 22:00,7316980.226,0.120232808,0.120232808 -26-01-2019 23:00,7317497.193,0.052869098,0.052869098 -27-01-2019 0:00,7318014.933,0.022565144,0.022565144 -27-01-2019 1:00,7318533.445,0.010025947,0.010025947 -27-01-2019 2:00,7319052.73,0.010125288,0.010125288 -27-01-2019 3:00,7319572.788,0.018645869,0.018645869 -27-01-2019 4:00,7320093.617,0.065940951,0.065940951 -27-01-2019 5:00,7320615.217,0.246505305,0.246505305 -27-01-2019 6:00,7321137.589,0.489085714,0.489085714 -27-01-2019 7:00,7321660.732,0.627303147,0.627303147 -27-01-2019 8:00,7322184.646,0.73013796,0.73013796 -27-01-2019 9:00,7322709.331,0.551050506,0.551050506 -27-01-2019 10:00,7323234.786,0.522942347,0.522942347 -27-01-2019 11:00,7323761.011,0.658842978,0.658842978 -27-01-2019 12:00,7324288.005,0.575836564,0.575836564 -27-01-2019 13:00,7324815.77,0.439107947,0.439107947 -27-01-2019 14:00,7325344.303,0.514682654,0.514682654 -27-01-2019 15:00,7325873.605,0.538308001,0.538308001 -27-01-2019 16:00,7326403.676,0.511851167,0.511851167 -27-01-2019 17:00,7326934.515,0.534644396,0.534644396 -27-01-2019 18:00,7327466.123,0.51091953,0.51091953 -27-01-2019 19:00,7327998.498,0.46661809,0.46661809 -27-01-2019 20:00,7328531.641,0.386091813,0.386091813 -27-01-2019 21:00,7329065.551,0.251484519,0.251484519 -27-01-2019 22:00,7329600.229,0.11870646,0.11870646 -27-01-2019 23:00,7330135.672,0.05216511,0.05216511 -28-01-2019 0:00,7330671.883,0.021829239,0.021829239 -28-01-2019 1:00,7331208.86,0.009245221,0.009245221 -28-01-2019 2:00,7331746.602,0.008216484,0.008216484 -28-01-2019 3:00,7332285.11,0.016670805,0.016670805 -28-01-2019 4:00,7332824.384,0.060285575,0.060285575 -28-01-2019 5:00,7333364.423,0.238926068,0.238926068 -28-01-2019 6:00,7333905.226,0.478386773,0.478386773 -28-01-2019 7:00,7334446.794,0.615724727,0.615724727 -28-01-2019 8:00,7334989.126,0.721366954,0.721366954 -28-01-2019 9:00,7335532.223,0.542787859,0.542787859 -28-01-2019 10:00,7336076.083,0.514127267,0.514127267 -28-01-2019 11:00,7336620.706,0.64340029,0.64340029 -28-01-2019 12:00,7337166.092,0.552126069,0.552126069 -28-01-2019 13:00,7337712.242,0.374300685,0.374300685 -28-01-2019 14:00,7338259.154,0.506231214,0.506231214 -28-01-2019 15:00,7338806.828,0.521605519,0.521605519 -28-01-2019 16:00,7339355.264,0.512284933,0.512284933 -28-01-2019 17:00,7339904.462,0.535137891,0.535137891 -28-01-2019 18:00,7340454.422,0.520301056,0.520301056 -28-01-2019 19:00,7341005.142,0.469298504,0.469298504 -28-01-2019 20:00,7341556.624,0.391014745,0.391014745 -28-01-2019 21:00,7342108.866,0.255875644,0.255875644 -28-01-2019 22:00,7342661.868,0.121782744,0.121782744 -28-01-2019 23:00,7343215.631,0.054008239,0.054008239 -29-01-2019 0:00,7343770.153,0.022726652,0.022726652 -29-01-2019 1:00,7344325.435,0.010211598,0.010211598 -29-01-2019 2:00,7344881.475,0.009558223,0.009558223 -29-01-2019 3:00,7345438.275,0.019970198,0.019970198 -29-01-2019 4:00,7345995.833,0.069118552,0.069118552 -29-01-2019 5:00,7346554.15,0.264018537,0.264018537 -29-01-2019 6:00,7347113.225,0.519859829,0.519859829 -29-01-2019 7:00,7347673.057,0.664269808,0.664269808 -29-01-2019 8:00,7348233.647,0.76866608,0.76866608 -29-01-2019 9:00,7348794.994,0.572805062,0.572805062 -29-01-2019 10:00,7349357.098,0.539885881,0.539885881 -29-01-2019 11:00,7349919.958,0.666527384,0.666527384 -29-01-2019 12:00,7350483.575,0.573475676,0.573475676 -29-01-2019 13:00,7351047.948,0.441146228,0.441146228 -29-01-2019 14:00,7351613.076,0.52048221,0.52048221 -29-01-2019 15:00,7352178.96,0.541645157,0.541645157 -29-01-2019 16:00,7352745.599,0.528590865,0.528590865 -29-01-2019 17:00,7353312.993,0.55594461,0.55594461 -29-01-2019 18:00,7353881.142,0.532610252,0.532610252 -29-01-2019 19:00,7354450.045,0.487085294,0.487085294 -29-01-2019 20:00,7355019.701,0.40201926,0.40201926 -29-01-2019 21:00,7355590.112,0.262076715,0.262076715 -29-01-2019 22:00,7356161.275,0.124942992,0.124942992 -29-01-2019 23:00,7356733.192,0.055788041,0.055788041 -30-01-2019 0:00,7357305.862,0.024336692,0.024336692 -30-01-2019 1:00,7357879.284,0.011837599,0.011837599 -30-01-2019 2:00,7358453.458,0.011846743,0.011846743 -30-01-2019 3:00,7359028.384,0.023392691,0.023392691 -30-01-2019 4:00,7359604.062,0.077544657,0.077544657 -30-01-2019 5:00,7360180.491,0.28263517,0.28263517 -30-01-2019 6:00,7360757.672,0.549707224,0.549707224 -30-01-2019 7:00,7361335.602,0.700581517,0.700581517 -30-01-2019 8:00,7361914.284,0.803338293,0.803338293 -30-01-2019 9:00,7362493.715,0.59249894,0.59249894 -30-01-2019 10:00,7363073.897,0.552553249,0.552553249 -30-01-2019 11:00,7363654.827,0.686906033,0.686906033 -30-01-2019 12:00,7364236.507,0.593383364,0.593383364 -30-01-2019 13:00,7364818.936,0.45972879,0.45972879 -30-01-2019 14:00,7365402.114,0.543188116,0.543188116 -30-01-2019 15:00,7365986.04,0.562420658,0.562420658 -30-01-2019 16:00,7366570.714,0.548534083,0.548534083 -30-01-2019 17:00,7367156.135,0.573127259,0.573127259 -30-01-2019 18:00,7367742.305,0.549947078,0.549947078 -30-01-2019 19:00,7368329.221,0.503149239,0.503149239 -30-01-2019 20:00,7368916.884,0.415577511,0.415577511 -30-01-2019 21:00,7369505.294,0.268498255,0.268498255 -30-01-2019 22:00,7370094.449,0.127071872,0.127071872 -30-01-2019 23:00,7370684.351,0.057246645,0.057246645 -31-01-2019 0:00,7371274.998,0.025481396,0.025481396 -31-01-2019 1:00,7371866.391,0.013423152,0.013423152 -31-01-2019 2:00,7372458.529,0.014483729,0.014483729 -31-01-2019 3:00,7373051.411,0.026980774,0.026980774 -31-01-2019 4:00,7373645.038,0.085816464,0.085816464 -31-01-2019 5:00,7374239.409,0.30171016,0.30171016 -31-01-2019 6:00,7374834.523,0.585045443,0.585045443 -31-01-2019 7:00,7375430.382,0.737145825,0.737145825 -31-01-2019 8:00,7376026.983,0.842509853,0.842509853 -31-01-2019 9:00,7376624.327,0.651385275,0.651385275 -31-01-2019 10:00,7377222.414,0.616784028,0.616784028 -31-01-2019 11:00,7377821.243,0.738935557,0.738935557 -31-01-2019 12:00,7378420.814,0.630174812,0.630174812 -31-01-2019 13:00,7379021.126,0.496650989,0.496650989 -31-01-2019 14:00,7379622.18,0.581967536,0.581967536 -31-01-2019 15:00,7380223.975,0.59881597,0.59881597 -31-01-2019 16:00,7380826.511,0.582317176,0.582317176 -31-01-2019 17:00,7381429.787,0.607186311,0.607186311 -31-01-2019 18:00,7382033.803,0.579109365,0.579109365 -31-01-2019 19:00,7382638.559,0.53088983,0.53088983 -31-01-2019 20:00,7383244.054,0.438534123,0.438534123 -31-01-2019 21:00,7383850.288,0.282511105,0.282511105 -31-01-2019 22:00,7384457.262,0.134952951,0.134952951 -31-01-2019 23:00,7385064.974,0.060864612,0.060864612 -01-02-2019 0:00,7385673.424,0.028723149,0.028723149 -01-02-2019 1:00,7386282.612,0.017858144,0.017858144 -01-02-2019 2:00,7386892.537,0.019895673,0.019895673 -01-02-2019 3:00,7387503.2,0.035563998,0.035563998 -01-02-2019 4:00,7388114.6,0.100921225,0.100921225 -01-02-2019 5:00,7388726.736,0.32885998,0.32885998 -01-02-2019 6:00,7389339.609,0.620818023,0.620818023 -01-02-2019 7:00,7389953.218,0.769449201,0.769449201 -01-02-2019 8:00,7390567.562,0.87000908,0.87000908 -01-02-2019 9:00,7391182.642,0.645241408,0.645241408 -01-02-2019 10:00,7391798.457,0.597303293,0.597303293 -01-02-2019 11:00,7392415.007,0.726841658,0.726841658 -01-02-2019 12:00,7393032.291,0.626333247,0.626333247 -01-02-2019 13:00,7393650.309,0.492325195,0.492325195 -01-02-2019 14:00,7394269.061,0.569304413,0.569304413 -01-02-2019 15:00,7394888.547,0.58349178,0.58349178 -01-02-2019 16:00,7395508.766,0.569684736,0.569684736 -01-02-2019 17:00,7396129.717,0.592775799,0.592775799 -01-02-2019 18:00,7396751.401,0.56758295,0.56758295 -01-02-2019 19:00,7397373.817,0.518096099,0.518096099 -01-02-2019 20:00,7397996.966,0.425984189,0.425984189 -01-02-2019 21:00,7398620.845,0.276152281,0.276152281 -01-02-2019 22:00,7399245.456,0.13100747,0.13100747 -01-02-2019 23:00,7399870.798,0.058620938,0.058620938 -02-02-2019 0:00,7400496.871,0.027222231,0.027222231 -02-02-2019 1:00,7401123.673,0.016248812,0.016248812 -02-02-2019 2:00,7401751.206,0.017919192,0.017919192 -02-02-2019 3:00,7402379.468,0.031776512,0.031776512 -02-02-2019 4:00,7403008.46,0.093576268,0.093576268 -02-02-2019 5:00,7403638.181,0.310362842,0.310362842 -02-02-2019 6:00,7404268.63,0.59203737,0.59203737 -02-02-2019 7:00,7404899.808,0.738312737,0.738312737 -02-02-2019 8:00,7405531.713,0.657630531,0.657630531 -02-02-2019 9:00,7406164.347,0.60486787,0.60486787 -02-02-2019 10:00,7406797.707,0.575711172,0.575711172 -02-02-2019 11:00,7407431.795,0.712200077,0.712200077 -02-02-2019 12:00,7408066.61,0.612600112,0.612600112 -02-02-2019 13:00,7408702.15,0.479637285,0.479637285 -02-02-2019 14:00,7409338.417,0.355475679,0.355475679 -02-02-2019 15:00,7409975.41,0.574958914,0.574958914 -02-02-2019 16:00,7410613.128,0.559648964,0.559648964 -02-02-2019 17:00,7411251.571,0.58544704,0.58544704 -02-02-2019 18:00,7411890.739,0.563183421,0.563183421 -02-02-2019 19:00,7412530.631,0.514088468,0.514088468 -02-02-2019 20:00,7413171.248,0.429543978,0.429543978 -02-02-2019 21:00,7413812.588,0.27663983,0.27663983 -02-02-2019 22:00,7414454.651,0.130301201,0.130301201 -02-02-2019 23:00,7415097.438,0.05995419,0.05995419 -03-02-2019 0:00,7415740.947,0.028069783,0.028069783 -03-02-2019 1:00,7416385.179,0.01658337,0.01658337 -03-02-2019 2:00,7417030.133,0.018452699,0.018452699 -03-02-2019 3:00,7417675.809,0.033267585,0.033267585 -03-02-2019 4:00,7418322.206,0.098188501,0.098188501 -03-02-2019 5:00,7418969.324,0.323044207,0.323044207 -03-02-2019 6:00,7419617.163,0.6203104,0.6203104 -03-02-2019 7:00,7420265.722,0.761987813,0.761987813 -03-02-2019 8:00,7420915.002,0.535318232,0.535318232 -03-02-2019 9:00,7421565.001,0.4256548,0.4256548 -03-02-2019 10:00,7422215.72,0.367424882,0.367424882 -03-02-2019 11:00,7422867.158,0.53530347,0.53530347 -03-02-2019 12:00,7423519.315,0.426440996,0.426440996 -03-02-2019 13:00,7424172.19,0.251661869,0.251661869 -03-02-2019 14:00,7424825.783,0.236167151,0.236167151 -03-02-2019 15:00,7425480.094,0.506612466,0.506612466 -03-02-2019 16:00,7426135.122,0.55062152,0.55062152 -03-02-2019 17:00,7426790.868,0.587134995,0.587134995 -03-02-2019 18:00,7427447.33,0.571989536,0.571989536 -03-02-2019 19:00,7428104.508,0.521534872,0.521534872 -03-02-2019 20:00,7428762.403,0.429826587,0.429826587 -03-02-2019 21:00,7429421.014,0.274533734,0.274533734 -03-02-2019 22:00,7430080.339,0.130780104,0.130780104 -03-02-2019 23:00,7430740.38,0.058605061,0.058605061 -04-02-2019 0:00,7431401.136,0.027183603,0.027183603 -04-02-2019 1:00,7432062.606,0.015883376,0.015883376 -04-02-2019 2:00,7432724.79,0.017543126,0.017543126 -04-02-2019 3:00,7433387.688,0.031244004,0.031244004 -04-02-2019 4:00,7434051.299,0.093361019,0.093361019 -04-02-2019 5:00,7434715.623,0.311788245,0.311788245 -04-02-2019 6:00,7435380.659,0.594013142,0.594013142 -04-02-2019 7:00,7436046.409,0.736182121,0.736182121 -04-02-2019 8:00,7436712.87,0.644508457,0.644508457 -04-02-2019 9:00,7437380.042,0.58790653,0.58790653 -04-02-2019 10:00,7438047.926,0.557125707,0.557125707 -04-02-2019 11:00,7438716.521,0.689997962,0.689997962 -04-02-2019 12:00,7439385.827,0.602977369,0.602977369 -04-02-2019 13:00,7440055.843,0.464835456,0.464835456 -04-02-2019 14:00,7440726.569,0.337773099,0.337773099 -04-02-2019 15:00,7441398.004,0.565697539,0.565697539 -04-02-2019 16:00,7442070.149,0.554589518,0.554589518 -04-02-2019 17:00,7442743.002,0.577622748,0.577622748 -04-02-2019 18:00,7443416.564,0.552132027,0.552132027 -04-02-2019 19:00,7444090.834,0.502430688,0.502430688 -04-02-2019 20:00,7444765.813,0.413705827,0.413705827 -04-02-2019 21:00,7445441.498,0.267051639,0.267051639 -04-02-2019 22:00,7446117.891,0.126041748,0.126041748 -04-02-2019 23:00,7446794.99,0.056072774,0.056072774 -05-02-2019 0:00,7447472.796,0.025045382,0.025045382 -05-02-2019 1:00,7448151.309,0.012945678,0.012945678 -05-02-2019 2:00,7448830.526,0.013781152,0.013781152 -05-02-2019 3:00,7449510.45,0.024332307,0.024332307 -05-02-2019 4:00,7450191.078,0.079500666,0.079500666 -05-02-2019 5:00,7450872.411,0.280391132,0.280391132 -05-02-2019 6:00,7451554.449,0.543155389,0.543155389 -05-02-2019 7:00,7452237.19,0.68216599,0.68216599 -05-02-2019 8:00,7452920.635,0.588550383,0.588550383 -05-02-2019 9:00,7453604.784,0.550409896,0.550409896 -05-02-2019 10:00,7454289.635,0.532781354,0.532781354 -05-02-2019 11:00,7454975.189,0.669078464,0.669078464 -05-02-2019 12:00,7455661.445,0.573046045,0.573046045 -05-02-2019 13:00,7456348.403,0.431435961,0.431435961 -05-02-2019 14:00,7457036.063,0.302980194,0.302980194 -05-02-2019 15:00,7457724.424,0.532295044,0.532295044 -05-02-2019 16:00,7458413.485,0.522897482,0.522897482 -05-02-2019 17:00,7459103.248,0.54479086,0.54479086 -05-02-2019 18:00,7459793.71,0.521260209,0.521260209 -05-02-2019 19:00,7460484.872,0.480445616,0.480445616 -05-02-2019 20:00,7461176.733,0.397762473,0.397762473 -05-02-2019 21:00,7461869.294,0.257359431,0.257359431 -05-02-2019 22:00,7462562.553,0.12283104,0.12283104 -05-02-2019 23:00,7463256.511,0.054784137,0.054784137 -06-02-2019 0:00,7463951.166,0.023616622,0.023616622 -06-02-2019 1:00,7464646.52,0.011012531,0.011012531 -06-02-2019 2:00,7465342.57,0.01087647,0.01087647 -06-02-2019 3:00,7466039.318,0.021107467,0.021107467 -06-02-2019 4:00,7466736.761,0.071495639,0.071495639 -06-02-2019 5:00,7467434.902,0.264418117,0.264418117 -06-02-2019 6:00,7468133.738,0.518277174,0.518277174 -06-02-2019 7:00,7468833.269,0.656192171,0.656192171 -06-02-2019 8:00,7469533.496,0.560762246,0.560762246 -06-02-2019 9:00,7470234.417,0.525628538,0.525628538 -06-02-2019 10:00,7470936.033,0.508711465,0.508711465 -06-02-2019 11:00,7471638.343,0.646234145,0.646234145 -06-02-2019 12:00,7472341.346,0.550191948,0.550191948 -06-02-2019 13:00,7473045.043,0.404945471,0.404945471 -06-02-2019 14:00,7473749.433,0.274689112,0.274689112 -06-02-2019 15:00,7474454.515,0.505410823,0.505410823 -06-02-2019 16:00,7475160.29,0.498221021,0.498221021 -06-02-2019 17:00,7475866.756,0.520668513,0.520668513 -06-02-2019 18:00,7476573.914,0.496386998,0.496386998 -06-02-2019 19:00,7477281.763,0.450284806,0.450284806 -06-02-2019 20:00,7477990.303,0.369357486,0.369357486 -06-02-2019 21:00,7478699.533,0.237760658,0.237760658 -06-02-2019 22:00,7479409.454,0.112056272,0.112056272 -06-02-2019 23:00,7480120.064,0.04899621,0.04899621 -07-02-2019 0:00,7480831.363,0.020733734,0.020733734 -07-02-2019 1:00,7481543.351,0.007984969,0.007984969 -07-02-2019 2:00,7482256.028,0.006112752,0.006112752 -07-02-2019 3:00,7482969.393,0.01222372,0.01222372 -07-02-2019 4:00,7483683.446,0.049984892,0.049984892 -07-02-2019 5:00,7484398.186,0.204573792,0.204573792 -07-02-2019 6:00,7485113.614,0.419156963,0.419156963 -07-02-2019 7:00,7485829.728,0.533958391,0.533958391 -07-02-2019 8:00,7486546.529,0.44169494,0.44169494 -07-02-2019 9:00,7487264.015,0.432603961,0.432603961 -07-02-2019 10:00,7487982.188,0.431879999,0.431879999 -07-02-2019 11:00,7488701.045,0.581489634,0.581489634 -07-02-2019 12:00,7489420.588,0.467349601,0.467349601 -07-02-2019 13:00,7490140.815,0.291444471,0.291444471 -07-02-2019 14:00,7490861.726,0.109625883,0.109625883 -07-02-2019 15:00,7491583.321,0.370404094,0.370404094 -07-02-2019 16:00,7492305.599,0.449286912,0.449286912 -07-02-2019 17:00,7493028.56,0.481239051,0.481239051 -07-02-2019 18:00,7493752.204,0.461920111,0.461920111 -07-02-2019 19:00,7494476.531,0.421351156,0.421351156 -07-02-2019 20:00,7495201.539,0.348058578,0.348058578 -07-02-2019 21:00,7495927.229,0.225674513,0.225674513 -07-02-2019 22:00,7496653.6,0.106206154,0.106206154 -07-02-2019 23:00,7497380.652,0.046014215,0.046014215 -08-02-2019 0:00,7498108.384,0.019336394,0.019336394 -08-02-2019 1:00,7498836.796,0.006891656,0.006891656 -08-02-2019 2:00,7499565.888,0.004757641,0.004757641 -08-02-2019 3:00,7500295.66,0.009023183,0.009023183 -08-02-2019 4:00,7501026.11,0.042912144,0.042912144 -08-02-2019 5:00,7501757.239,0.186579633,0.186579633 -08-02-2019 6:00,7502489.046,0.388864673,0.388864673 -08-02-2019 7:00,7503221.531,0.497198214,0.497198214 -08-02-2019 8:00,7503954.693,0.403991268,0.403991268 -08-02-2019 9:00,7504688.532,0.40444728,0.40444728 -08-02-2019 10:00,7505423.048,0.403512656,0.403512656 -08-02-2019 11:00,7506158.24,0.55711051,0.55711051 -08-02-2019 12:00,7506894.108,0.467011458,0.467011458 -08-02-2019 13:00,7507630.652,0.318101632,0.318101632 -08-02-2019 14:00,7508367.871,0.191068027,0.191068027 -08-02-2019 15:00,7509105.765,0.408403652,0.408403652 -08-02-2019 16:00,7509844.333,0.421082384,0.421082384 -08-02-2019 17:00,7510583.575,0.442231695,0.442231695 -08-02-2019 18:00,7511323.491,0.425217378,0.425217378 -08-02-2019 19:00,7512064.08,0.388419295,0.388419295 -08-02-2019 20:00,7512805.341,0.318613084,0.318613084 -08-02-2019 21:00,7513547.276,0.204920604,0.204920604 -08-02-2019 22:00,7514289.882,0.096333744,0.096333744 -08-02-2019 23:00,7515033.161,0.041007525,0.041007525 -09-02-2019 0:00,7515777.11,0.016942781,0.016942781 -09-02-2019 1:00,7516521.731,0.00578121,0.00578121 -09-02-2019 2:00,7517267.022,0.003296799,0.003296799 -09-02-2019 3:00,7518012.983,0.005292965,0.005292965 -09-02-2019 4:00,7518759.614,0.029574195,0.029574195 -09-02-2019 5:00,7519506.915,0.145123761,0.145123761 -09-02-2019 6:00,7520254.885,0.315455668,0.315455668 -09-02-2019 7:00,7521003.523,0.405986555,0.405986555 -09-02-2019 8:00,7521752.829,0.320946872,0.320946872 -09-02-2019 9:00,7522502.804,0.332908263,0.332908263 -09-02-2019 10:00,7523253.446,0.3461659,0.3461659 -09-02-2019 11:00,7524004.755,0.47235841,0.47235841 -09-02-2019 12:00,7524756.731,0.390835212,0.390835212 -09-02-2019 13:00,7525509.373,0.23297534,0.23297534 -09-02-2019 14:00,7526262.681,0.147298752,0.147298752 -09-02-2019 15:00,7527016.655,0.366378507,0.366378507 -09-02-2019 16:00,7527771.294,0.395875912,0.395875912 -09-02-2019 17:00,7528526.598,0.424495027,0.424495027 -09-02-2019 18:00,7529282.566,0.403911616,0.403911616 -09-02-2019 19:00,7530039.198,0.368573156,0.368573156 -09-02-2019 20:00,7530796.494,0.301235176,0.301235176 -09-02-2019 21:00,7531554.453,0.193866652,0.193866652 -09-02-2019 22:00,7532313.075,0.091713887,0.091713887 -09-02-2019 23:00,7533072.359,0.039454762,0.039454762 -10-02-2019 0:00,7533832.306,0.016034253,0.016034253 -10-02-2019 1:00,7534592.914,0.00536251,0.00536251 -10-02-2019 2:00,7535354.183,0.00301964,0.00301964 -10-02-2019 3:00,7536116.113,0.004593682,0.004593682 -10-02-2019 4:00,7536878.704,0.025682012,0.025682012 -10-02-2019 5:00,7537641.955,0.133430712,0.133430712 -10-02-2019 6:00,7538405.866,0.289116555,0.289116555 -10-02-2019 7:00,7539170.436,0.372164746,0.372164746 -10-02-2019 8:00,7539935.665,0.301740156,0.301740156 -10-02-2019 9:00,7540701.552,0.326346868,0.326346868 -10-02-2019 10:00,7541468.098,0.342794901,0.342794901 -10-02-2019 11:00,7542235.301,0.485387528,0.485387528 -10-02-2019 12:00,7543003.162,0.430759743,0.430759743 -10-02-2019 13:00,7543771.68,0.277541857,0.277541857 -10-02-2019 14:00,7544540.854,0.164978668,0.164978668 -10-02-2019 15:00,7545310.684,0.386113744,0.386113744 -10-02-2019 16:00,7546081.17,0.413141532,0.413141532 -10-02-2019 17:00,7546852.312,0.444595811,0.444595811 -10-02-2019 18:00,7547624.109,0.430129208,0.430129208 -10-02-2019 19:00,7548396.56,0.391121828,0.391121828 -10-02-2019 20:00,7549169.665,0.319165919,0.319165919 -10-02-2019 21:00,7549943.424,0.206351228,0.206351228 -10-02-2019 22:00,7550717.837,0.097286447,0.097286447 -10-02-2019 23:00,7551492.902,0.0420668,0.0420668 -11-02-2019 0:00,7552268.62,0.017291375,0.017291375 -11-02-2019 1:00,7553044.991,0.005868639,0.005868639 -11-02-2019 2:00,7553822.013,0.003324896,0.003324896 -11-02-2019 3:00,7554599.686,0.005646906,0.005646906 -11-02-2019 4:00,7555378.011,0.030620732,0.030620732 -11-02-2019 5:00,7556156.986,0.152277136,0.152277136 -11-02-2019 6:00,7556936.611,0.325957979,0.325957979 -11-02-2019 7:00,7557716.886,0.408271677,0.408271677 -11-02-2019 8:00,7558497.811,0.309391027,0.309391027 -11-02-2019 9:00,7559279.384,0.330655832,0.330655832 -11-02-2019 10:00,7560061.606,0.331415362,0.331415362 -11-02-2019 11:00,7560844.477,0.435985395,0.435985395 -11-02-2019 12:00,7561627.995,0.358665664,0.358665664 -11-02-2019 13:00,7562412.16,0.186375884,0.186375884 -11-02-2019 14:00,7563196.972,0.0806082,0.0806082 -11-02-2019 15:00,7563982.431,0.146243032,0.146243032 -11-02-2019 16:00,7564768.537,0.378823948,0.378823948 -11-02-2019 17:00,7565555.287,0.434320743,0.434320743 -11-02-2019 18:00,7566342.684,0.436929373,0.436929373 -11-02-2019 19:00,7567130.725,0.402681467,0.402681467 -11-02-2019 20:00,7567919.411,0.331263637,0.331263637 -11-02-2019 21:00,7568708.741,0.215185997,0.215185997 -11-02-2019 22:00,7569498.714,0.104544848,0.104544848 -11-02-2019 23:00,7570289.331,0.044027722,0.044027722 -12-02-2019 0:00,7571080.591,0.018750921,0.018750921 -12-02-2019 1:00,7571872.494,0.006555123,0.006555123 -12-02-2019 2:00,7572665.038,0.00405428,0.00405428 -12-02-2019 3:00,7573458.225,0.008254397,0.008254397 -12-02-2019 4:00,7574252.052,0.039096191,0.039096191 -12-02-2019 5:00,7575046.521,0.179455581,0.179455581 -12-02-2019 6:00,7575841.629,0.371643404,0.371643404 -12-02-2019 7:00,7576637.378,0.473219276,0.473219276 -12-02-2019 8:00,7577433.767,0.378891344,0.378891344 -12-02-2019 9:00,7578230.795,0.380082861,0.380082861 -12-02-2019 10:00,7579028.462,0.375044411,0.375044411 -12-02-2019 11:00,7579826.767,0.51697307,0.51697307 -12-02-2019 12:00,7580625.71,0.437551871,0.437551871 -12-02-2019 13:00,7581425.291,0.255626062,0.255626062 -12-02-2019 14:00,7582225.509,0.152989526,0.152989526 -12-02-2019 15:00,7583026.364,0.37746365,0.37746365 -12-02-2019 16:00,7583827.855,0.411738959,0.411738959 -12-02-2019 17:00,7584629.982,0.441610005,0.441610005 -12-02-2019 18:00,7585432.745,0.423730172,0.423730172 -12-02-2019 19:00,7586236.142,0.386855253,0.386855253 -12-02-2019 20:00,7587040.175,0.321903885,0.321903885 -12-02-2019 21:00,7587844.842,0.208205734,0.208205734 -12-02-2019 22:00,7588650.142,0.098561209,0.098561209 -12-02-2019 23:00,7589456.077,0.042243348,0.042243348 -13-02-2019 0:00,7590262.644,0.017693041,0.017693041 -13-02-2019 1:00,7591069.844,0.006009833,0.006009833 -13-02-2019 2:00,7591877.676,0.003490259,0.003490259 -13-02-2019 3:00,7592686.14,0.006119374,0.006119374 -13-02-2019 4:00,7593495.235,0.032500459,0.032500459 -13-02-2019 5:00,7594304.962,0.156397253,0.156397253 -13-02-2019 6:00,7595115.319,0.332963699,0.332963699 -13-02-2019 7:00,7595926.306,0.426381185,0.426381185 -13-02-2019 8:00,7596737.923,0.339848357,0.339848357 -13-02-2019 9:00,7597550.169,0.354101795,0.354101795 -13-02-2019 10:00,7598363.044,0.363943591,0.363943591 -13-02-2019 11:00,7599176.547,0.51002941,0.51002941 -13-02-2019 12:00,7599990.679,0.441185992,0.441185992 -13-02-2019 13:00,7600805.438,0.279768727,0.279768727 -13-02-2019 14:00,7601620.825,0.149373834,0.149373834 -13-02-2019 15:00,7602436.838,0.37179297,0.37179297 -13-02-2019 16:00,7603253.478,0.408960727,0.408960727 -13-02-2019 17:00,7604070.743,0.441033375,0.441033375 -13-02-2019 18:00,7604888.634,0.425392939,0.425392939 -13-02-2019 19:00,7605707.151,0.391794644,0.391794644 -13-02-2019 20:00,7606526.292,0.32582611,0.32582611 -13-02-2019 21:00,7607346.057,0.212368865,0.212368865 -13-02-2019 22:00,7608166.446,0.101722285,0.101722285 -13-02-2019 23:00,7608987.459,0.045448609,0.045448609 -14-02-2019 0:00,7609809.094,0.018805847,0.018805847 -14-02-2019 1:00,7610631.353,0.006688177,0.006688177 -14-02-2019 2:00,7611454.233,0.004212767,0.004212767 -14-02-2019 3:00,7612277.735,0.008440985,0.008440985 -14-02-2019 4:00,7613101.858,0.040838067,0.040838067 -14-02-2019 5:00,7613926.603,0.185874972,0.185874972 -14-02-2019 6:00,7614751.968,0.390361913,0.390361913 -14-02-2019 7:00,7615577.953,0.480821233,0.480821233 -14-02-2019 8:00,7616404.557,0.363412899,0.363412899 -14-02-2019 9:00,7617231.781,0.363322911,0.363322911 -14-02-2019 10:00,7618059.623,0.358508466,0.358508466 -14-02-2019 11:00,7618888.084,0.485431182,0.485431182 -14-02-2019 12:00,7619717.163,0.419275506,0.419275506 -14-02-2019 13:00,7620546.859,0.258613265,0.258613265 -14-02-2019 14:00,7621377.172,0.128197355,0.128197355 -14-02-2019 15:00,7622208.102,0.339148097,0.339148097 -14-02-2019 16:00,7623039.649,0.409145011,0.409145011 -14-02-2019 17:00,7623871.811,0.459460387,0.459460387 -14-02-2019 18:00,7624704.588,0.450580711,0.450580711 -14-02-2019 19:00,7625537.98,0.419619541,0.419619541 -14-02-2019 20:00,7626371.987,0.346224994,0.346224994 -14-02-2019 21:00,7627206.608,0.227843586,0.227843586 -14-02-2019 22:00,7628041.842,0.107555716,0.107555716 -14-02-2019 23:00,7628877.69,0.046162317,0.046162317 -15-02-2019 0:00,7629714.15,0.019843304,0.019843304 -15-02-2019 1:00,7630551.223,0.006946282,0.006946282 -15-02-2019 2:00,7631388.908,0.004978574,0.004978574 -15-02-2019 3:00,7632227.204,0.009838409,0.009838409 -15-02-2019 4:00,7633066.112,0.043827741,0.043827741 -15-02-2019 5:00,7633905.63,0.195093975,0.195093975 -15-02-2019 6:00,7634745.758,0.405824824,0.405824824 -15-02-2019 7:00,7635586.496,0.489338096,0.489338096 -15-02-2019 8:00,7636427.843,0.324661157,0.324661157 -15-02-2019 9:00,7637269.799,0.265548953,0.265548953 -15-02-2019 10:00,7638112.364,0.230505568,0.230505568 -15-02-2019 11:00,7638955.536,0.28742746,0.28742746 -15-02-2019 12:00,7639799.316,0.22620528,0.22620528 -15-02-2019 13:00,7640643.704,0.106409181,0.106409181 -15-02-2019 14:00,7641488.698,0.04444385,0.04444385 -15-02-2019 15:00,7642334.298,0.06725894,0.06725894 -15-02-2019 16:00,7643180.505,0.209825897,0.209825897 -15-02-2019 17:00,7644027.316,0.378833757,0.378833757 -15-02-2019 18:00,7644874.733,0.400217254,0.400217254 -15-02-2019 19:00,7645722.754,0.380849975,0.380849975 -15-02-2019 20:00,7646571.38,0.334164892,0.334164892 -15-02-2019 21:00,7647420.609,0.219379169,0.219379169 -15-02-2019 22:00,7648270.441,0.102848686,0.102848686 -15-02-2019 23:00,7649120.876,0.043518011,0.043518011 -16-02-2019 0:00,7649971.914,0.019118993,0.019118993 -16-02-2019 1:00,7650823.553,0.00667682,0.00667682 -16-02-2019 2:00,7651675.794,0.004175574,0.004175574 -16-02-2019 3:00,7652528.636,0.007963829,0.007963829 -16-02-2019 4:00,7653382.079,0.039311222,0.039311222 -16-02-2019 5:00,7654236.122,0.183201649,0.183201649 -16-02-2019 6:00,7655090.764,0.383989815,0.383989815 -16-02-2019 7:00,7655946.006,0.481715014,0.481715014 -16-02-2019 8:00,7656801.847,0.346102256,0.346102256 -16-02-2019 9:00,7657658.286,0.341489793,0.341489793 -16-02-2019 10:00,7658515.323,0.332223004,0.332223004 -16-02-2019 11:00,7659372.957,0.450585121,0.450585121 -16-02-2019 12:00,7660231.189,0.388893555,0.388893555 -16-02-2019 13:00,7661090.017,0.234609627,0.234609627 -16-02-2019 14:00,7661949.442,0.114331146,0.114331146 -16-02-2019 15:00,7662809.462,0.321545053,0.321545053 -16-02-2019 16:00,7663670.078,0.384682363,0.384682363 -16-02-2019 17:00,7664531.289,0.438632603,0.438632603 -16-02-2019 18:00,7665393.094,0.43403558,0.43403558 -16-02-2019 19:00,7666255.493,0.39890818,0.39890818 -16-02-2019 20:00,7667118.485,0.330445904,0.330445904 -16-02-2019 21:00,7667982.071,0.217600622,0.217600622 -16-02-2019 22:00,7668846.249,0.104351069,0.104351069 -16-02-2019 23:00,7669711.02,0.046003803,0.046003803 -17-02-2019 0:00,7670576.382,0.01938899,0.01938899 -17-02-2019 1:00,7671442.336,0.006815139,0.006815139 -17-02-2019 2:00,7672308.88,0.004513233,0.004513233 -17-02-2019 3:00,7673176.015,0.008937601,0.008937601 -17-02-2019 4:00,7674043.74,0.042277061,0.042277061 -17-02-2019 5:00,7674912.055,0.190606444,0.190606444 -17-02-2019 6:00,7675780.958,0.395806273,0.395806273 -17-02-2019 7:00,7676650.451,0.49164271,0.49164271 -17-02-2019 8:00,7677520.531,0.381385024,0.381385024 -17-02-2019 9:00,7678391.199,0.3684862,0.3684862 -17-02-2019 10:00,7679262.455,0.352842246,0.352842246 -17-02-2019 11:00,7680134.297,0.466509259,0.466509259 -17-02-2019 12:00,7681006.726,0.393958834,0.393958834 -17-02-2019 13:00,7681879.741,0.236074264,0.236074264 -17-02-2019 14:00,7682753.341,0.108175246,0.108175246 -17-02-2019 15:00,7683627.527,0.285803578,0.285803578 -17-02-2019 16:00,7684502.297,0.37340034,0.37340034 -17-02-2019 17:00,7685377.651,0.409560497,0.409560497 -17-02-2019 18:00,7686253.589,0.395981,0.395981 -17-02-2019 19:00,7687130.11,0.376956102,0.376956102 -17-02-2019 20:00,7688007.214,0.309822592,0.309822592 -17-02-2019 21:00,7688884.9,0.203646493,0.203646493 -17-02-2019 22:00,7689763.169,0.099591203,0.099591203 -17-02-2019 23:00,7690642.018,0.043837047,0.043837047 -18-02-2019 0:00,7691521.449,0.018395053,0.018395053 -18-02-2019 1:00,7692401.46,0.006408458,0.006408458 -18-02-2019 2:00,7693282.052,0.00382953,0.00382953 -18-02-2019 3:00,7694163.223,0.007215159,0.007215159 -18-02-2019 4:00,7695044.973,0.03671833,0.03671833 -18-02-2019 5:00,7695927.302,0.173849035,0.173849035 -18-02-2019 6:00,7696810.209,0.363361948,0.363361948 -18-02-2019 7:00,7697693.694,0.448253349,0.448253349 -18-02-2019 8:00,7698577.757,0.350278124,0.350278124 -18-02-2019 9:00,7699462.396,0.345914412,0.345914412 -18-02-2019 10:00,7700347.612,0.332840381,0.332840381 -18-02-2019 11:00,7701233.404,0.442114913,0.442114913 -18-02-2019 12:00,7702119.772,0.377372591,0.377372591 -18-02-2019 13:00,7703006.714,0.225396339,0.225396339 -18-02-2019 14:00,7703894.231,0.10237257,0.10237257 -18-02-2019 15:00,7704782.323,0.2692044,0.2692044 -18-02-2019 16:00,7705670.988,0.361880007,0.361880007 -18-02-2019 17:00,7706560.226,0.423733814,0.423733814 -18-02-2019 18:00,7707450.038,0.395557191,0.395557191 -18-02-2019 19:00,7708340.421,0.376308948,0.376308948 -18-02-2019 20:00,7709231.377,0.318045025,0.318045025 -18-02-2019 21:00,7710122.904,0.203931935,0.203931935 -18-02-2019 22:00,7711015.002,0.091931071,0.091931071 -18-02-2019 23:00,7711907.67,0.039517892,0.039517892 -19-02-2019 0:00,7712800.909,0.016303302,0.016303302 -19-02-2019 1:00,7713694.717,0.005485094,0.005485094 -19-02-2019 2:00,7714589.094,0.003071976,0.003071976 -19-02-2019 3:00,7715484.04,0.004776967,0.004776967 -19-02-2019 4:00,7716379.554,0.025849039,0.025849039 -19-02-2019 5:00,7717275.636,0.135748215,0.135748215 -19-02-2019 6:00,7718172.286,0.296824333,0.296824333 -19-02-2019 7:00,7719069.502,0.368426227,0.368426227 -19-02-2019 8:00,7719967.284,0.284923134,0.284923134 -19-02-2019 9:00,7720865.633,0.295202456,0.295202456 -19-02-2019 10:00,7721764.547,0.305463954,0.305463954 -19-02-2019 11:00,7722664.026,0.425921342,0.425921342 -19-02-2019 12:00,7723564.069,0.35950442,0.35950442 -19-02-2019 13:00,7724464.676,0.217478201,0.217478201 -19-02-2019 14:00,7725365.848,0.09155322,0.09155322 -19-02-2019 15:00,7726267.582,0.250691009,0.250691009 -19-02-2019 16:00,7727169.879,0.366954941,0.366954941 -19-02-2019 17:00,7728072.738,0.413802067,0.413802067 -19-02-2019 18:00,7728976.159,0.402728633,0.402728633 -19-02-2019 19:00,7729880.141,0.369665757,0.369665757 -19-02-2019 20:00,7730784.684,0.301387841,0.301387841 -19-02-2019 21:00,7731689.788,0.195228884,0.195228884 -19-02-2019 22:00,7732595.451,0.092570717,0.092570717 -19-02-2019 23:00,7733501.674,0.039930869,0.039930869 -20-02-2019 0:00,7734408.455,0.01629267,0.01629267 -20-02-2019 1:00,7735315.795,0.005466185,0.005466185 -20-02-2019 2:00,7736223.694,0.003091774,0.003091774 -20-02-2019 3:00,7737132.149,0.004777727,0.004777727 -20-02-2019 4:00,7738041.162,0.0257928,0.0257928 -20-02-2019 5:00,7738950.732,0.135790338,0.135790338 -20-02-2019 6:00,7739860.857,0.29484913,0.29484913 -20-02-2019 7:00,7740771.539,0.376208704,0.376208704 -20-02-2019 8:00,7741682.775,0.290939661,0.290939661 -20-02-2019 9:00,7742594.566,0.3041226,0.3041226 -20-02-2019 10:00,7743506.912,0.307176879,0.307176879 -20-02-2019 11:00,7744419.811,0.422672053,0.422672053 -20-02-2019 12:00,7745333.264,0.371448737,0.371448737 -20-02-2019 13:00,7746247.27,0.202899423,0.202899423 -20-02-2019 14:00,7747161.828,0.096314516,0.096314516 -20-02-2019 15:00,7748076.938,0.249415845,0.249415845 -20-02-2019 16:00,7748992.599,0.349990651,0.349990651 -20-02-2019 17:00,7749908.811,0.396011698,0.396011698 -20-02-2019 18:00,7750825.574,0.385085056,0.385085056 -20-02-2019 19:00,7751742.887,0.354324288,0.354324288 -20-02-2019 20:00,7752660.75,0.291484943,0.291484943 -20-02-2019 21:00,7753579.161,0.190123166,0.190123166 -20-02-2019 22:00,7754498.122,0.090647104,0.090647104 -20-02-2019 23:00,7755417.63,0.038611403,0.038611403 -21-02-2019 0:00,7756337.686,0.015660807,0.015660807 -21-02-2019 1:00,7757258.289,0.005168477,0.005168477 -21-02-2019 2:00,7758179.439,0.00293699,0.00293699 -21-02-2019 3:00,7759101.136,0.004388597,0.004388597 -21-02-2019 4:00,7760023.378,0.023223205,0.023223205 -21-02-2019 5:00,7760946.165,0.126798687,0.126798687 -21-02-2019 6:00,7761869.497,0.276901028,0.276901028 -21-02-2019 7:00,7762793.374,0.350515901,0.350515901 -21-02-2019 8:00,7763717.795,0.271257465,0.271257465 -21-02-2019 9:00,7764642.758,0.289008652,0.289008652 -21-02-2019 10:00,7765568.265,0.298714789,0.298714789 -21-02-2019 11:00,7766494.315,0.407242608,0.407242608 -21-02-2019 12:00,7767420.906,0.354863109,0.354863109 -21-02-2019 13:00,7768348.039,0.202805578,0.202805578 -21-02-2019 14:00,7769275.713,0.096123907,0.096123907 -21-02-2019 15:00,7770203.927,0.264223308,0.264223308 -21-02-2019 16:00,7771132.682,0.350809178,0.350809178 -21-02-2019 17:00,7772061.976,0.391833745,0.391833745 -21-02-2019 18:00,7772991.809,0.375212106,0.375212106 -21-02-2019 19:00,7773922.181,0.340084689,0.340084689 -21-02-2019 20:00,7774853.091,0.277725704,0.277725704 -21-02-2019 21:00,7775784.538,0.179217524,0.179217524 -21-02-2019 22:00,7776716.523,0.084770986,0.084770986 -21-02-2019 23:00,7777649.045,0.036305847,0.036305847 -22-02-2019 0:00,7778582.103,0.014489445,0.014489445 -22-02-2019 1:00,7779515.697,0.004557457,0.004557457 -22-02-2019 2:00,7780449.826,0.002424533,0.002424533 -22-02-2019 3:00,7781384.489,0.003577114,0.003577114 -22-02-2019 4:00,7782319.687,0.017404066,0.017404066 -22-02-2019 5:00,7783255.419,0.100864666,0.100864666 -22-02-2019 6:00,7784191.685,0.229797522,0.229797522 -22-02-2019 7:00,7785128.483,0.294530789,0.294530789 -22-02-2019 8:00,7786065.813,0.230999918,0.230999918 -22-02-2019 9:00,7787003.676,0.259175371,0.259175371 -22-02-2019 10:00,7787942.07,0.274264104,0.274264104 -22-02-2019 11:00,7788880.995,0.372548704,0.372548704 -22-02-2019 12:00,7789820.45,0.325872793,0.325872793 -22-02-2019 13:00,7790760.435,0.182960298,0.182960298 -22-02-2019 14:00,7791700.95,0.08545439,0.08545439 -22-02-2019 15:00,7792641.994,0.199610994,0.199610994 -22-02-2019 16:00,7793583.566,0.317900826,0.317900826 -22-02-2019 17:00,7794525.667,0.35922077,0.35922077 -22-02-2019 18:00,7795468.295,0.357243013,0.357243013 -22-02-2019 19:00,7796411.45,0.338805238,0.338805238 -22-02-2019 20:00,7797355.131,0.273535918,0.273535918 -22-02-2019 21:00,7798299.339,0.177208021,0.177208021 -22-02-2019 22:00,7799244.073,0.085023493,0.085023493 -22-02-2019 23:00,7800189.331,0.036924807,0.036924807 -23-02-2019 0:00,7801135.114,0.014945346,0.014945346 -23-02-2019 1:00,7802081.422,0.00471076,0.00471076 -23-02-2019 2:00,7803028.253,0.002561678,0.002561678 -23-02-2019 3:00,7803975.607,0.003896888,0.003896888 -23-02-2019 4:00,7804923.484,0.019608959,0.019608959 -23-02-2019 5:00,7805871.883,0.11610052,0.11610052 -23-02-2019 6:00,7806820.804,0.262196704,0.262196704 -23-02-2019 7:00,7807770.246,0.331993383,0.331993383 -23-02-2019 8:00,7808720.209,0.255754323,0.255754323 -23-02-2019 9:00,7809670.692,0.237935548,0.237935548 -23-02-2019 10:00,7810621.695,0.256132154,0.256132154 -23-02-2019 11:00,7811573.217,0.321807918,0.321807918 -23-02-2019 12:00,7812525.258,0.239290566,0.239290566 -23-02-2019 13:00,7813477.818,0.125691332,0.125691332 -23-02-2019 14:00,7814430.895,0.062324783,0.062324783 -23-02-2019 15:00,7815384.489,0.090284999,0.090284999 -23-02-2019 16:00,7816338.6,0.241234349,0.241234349 -23-02-2019 17:00,7817293.228,0.359811646,0.359811646 -23-02-2019 18:00,7818248.371,0.359445155,0.359445155 -23-02-2019 19:00,7819204.03,0.348777597,0.348777597 -23-02-2019 20:00,7820160.204,0.303432119,0.303432119 -23-02-2019 21:00,7821116.892,0.182995135,0.182995135 -23-02-2019 22:00,7822074.094,0.087558639,0.087558639 -23-02-2019 23:00,7823031.809,0.038688555,0.038688555 -24-02-2019 0:00,7823990.038,0.01574694,0.01574694 -24-02-2019 1:00,7824948.778,0.005179793,0.005179793 -24-02-2019 2:00,7825908.031,0.002959391,0.002959391 -24-02-2019 3:00,7826867.795,0.004654476,0.004654476 -24-02-2019 4:00,7827828.07,0.0253274,0.0253274 -24-02-2019 5:00,7828788.855,0.141777402,0.141777402 -24-02-2019 6:00,7829750.15,0.313125005,0.313125005 -24-02-2019 7:00,7830711.955,0.366714233,0.366714233 -24-02-2019 8:00,7831674.269,0.221557465,0.221557465 -24-02-2019 9:00,7832637.091,0.184241502,0.184241502 -24-02-2019 10:00,7833600.421,0.174561748,0.174561748 -24-02-2019 11:00,7834564.259,0.204940324,0.204940324 -24-02-2019 12:00,7835528.603,0.192830235,0.192830235 -24-02-2019 13:00,7836493.454,0.10825493,0.10825493 -24-02-2019 14:00,7837458.811,0.05448834,0.05448834 -24-02-2019 15:00,7838424.674,0.133394507,0.133394507 -24-02-2019 16:00,7839391.041,0.272880493,0.272880493 -24-02-2019 17:00,7840357.913,0.349919076,0.349919076 -24-02-2019 18:00,7841325.289,0.364271654,0.364271654 -24-02-2019 19:00,7842293.168,0.353818742,0.353818742 -24-02-2019 20:00,7843261.551,0.298437179,0.298437179 -24-02-2019 21:00,7844230.435,0.197876682,0.197876682 -24-02-2019 22:00,7845199.822,0.096168627,0.096168627 -24-02-2019 23:00,7846169.711,0.042480456,0.042480456 -25-02-2019 0:00,7847140.1,0.017479339,0.017479339 -25-02-2019 1:00,7848110.99,0.006065317,0.006065317 -25-02-2019 2:00,7849082.38,0.003465083,0.003465083 -25-02-2019 3:00,7850054.269,0.006121753,0.006121753 -25-02-2019 4:00,7851026.657,0.031486699,0.031486699 -25-02-2019 5:00,7851999.544,0.159084474,0.159084474 -25-02-2019 6:00,7852972.929,0.33519536,0.33519536 -25-02-2019 7:00,7853946.811,0.383840449,0.383840449 -25-02-2019 8:00,7854921.191,0.240481913,0.240481913 -25-02-2019 9:00,7855896.067,0.200973253,0.200973253 -25-02-2019 10:00,7856871.438,0.207380978,0.207380978 -25-02-2019 11:00,7857847.306,0.228505258,0.228505258 -25-02-2019 12:00,7858823.668,0.174743448,0.174743448 -25-02-2019 13:00,7859800.525,0.097472937,0.097472937 -25-02-2019 14:00,7860777.876,0.044778102,0.044778102 -25-02-2019 15:00,7861755.72,0.062986387,0.062986387 -25-02-2019 16:00,7862734.057,0.175526647,0.175526647 -25-02-2019 17:00,7863712.887,0.327360078,0.327360078 -25-02-2019 18:00,7864692.209,0.355696862,0.355696862 -25-02-2019 19:00,7865672.022,0.348415978,0.348415978 -25-02-2019 20:00,7866652.326,0.299260959,0.299260959 -25-02-2019 21:00,7867633.12,0.198122648,0.198122648 -25-02-2019 22:00,7868614.405,0.095287642,0.095287642 -25-02-2019 23:00,7869596.179,0.04192905,0.04192905 -26-02-2019 0:00,7870578.442,0.017391692,0.017391692 -26-02-2019 1:00,7871561.193,0.005694747,0.005694747 -26-02-2019 2:00,7872544.432,0.003349807,0.003349807 -26-02-2019 3:00,7873528.159,0.005672633,0.005672633 -26-02-2019 4:00,7874512.373,0.030032729,0.030032729 -26-02-2019 5:00,7875497.073,0.157561611,0.157561611 -26-02-2019 6:00,7876482.259,0.332411641,0.332411641 -26-02-2019 7:00,7877467.93,0.400494602,0.400494602 -26-02-2019 8:00,7878454.086,0.300978283,0.300978283 -26-02-2019 9:00,7879440.727,0.284607793,0.284607793 -26-02-2019 10:00,7880427.852,0.264019046,0.264019046 -26-02-2019 11:00,7881415.46,0.332880931,0.332880931 -26-02-2019 12:00,7882403.55,0.286361201,0.286361201 -26-02-2019 13:00,7883392.123,0.156742279,0.156742279 -26-02-2019 14:00,7884381.178,0.069784059,0.069784059 -26-02-2019 15:00,7885370.715,0.098272299,0.098272299 -26-02-2019 16:00,7886360.732,0.236428728,0.236428728 -26-02-2019 17:00,7887351.229,0.357629346,0.357629346 -26-02-2019 18:00,7888342.207,0.370251659,0.370251659 -26-02-2019 19:00,7889333.663,0.349170548,0.349170548 -26-02-2019 20:00,7890325.599,0.292023328,0.292023328 -26-02-2019 21:00,7891318.012,0.191852868,0.191852868 -26-02-2019 22:00,7892310.904,0.092846792,0.092846792 -26-02-2019 23:00,7893304.272,0.040923993,0.040923993 -27-02-2019 0:00,7894298.118,0.0167016,0.0167016 -27-02-2019 1:00,7895292.439,0.005630015,0.005630015 -27-02-2019 2:00,7896287.237,0.00323548,0.00323548 -27-02-2019 3:00,7897282.509,0.005220626,0.005220626 -27-02-2019 4:00,7898278.257,0.027153381,0.027153381 -27-02-2019 5:00,7899274.478,0.143856546,0.143856546 -27-02-2019 6:00,7900271.173,0.301609075,0.301609075 -27-02-2019 7:00,7901268.342,0.340466749,0.340466749 -27-02-2019 8:00,7902265.983,0.203861947,0.203861947 -27-02-2019 9:00,7903264.096,0.16522505,0.16522505 -27-02-2019 10:00,7904262.68,0.152488506,0.152488506 -27-02-2019 11:00,7905261.736,0.165325029,0.165325029 -27-02-2019 12:00,7906261.263,0.109680634,0.109680634 -27-02-2019 13:00,7907261.259,0.041667621,0.041667621 -27-02-2019 14:00,7908261.725,0.019955639,0.019955639 -27-02-2019 15:00,7909262.66,0.024610444,0.024610444 -27-02-2019 16:00,7910264.064,0.049498482,0.049498482 -27-02-2019 17:00,7911265.936,0.128314611,0.128314611 -27-02-2019 18:00,7912268.275,0.208765116,0.208765116 -27-02-2019 19:00,7913271.081,0.261688123,0.261688123 -27-02-2019 20:00,7914274.354,0.227001879,0.227001879 -27-02-2019 21:00,7915278.092,0.152643913,0.152643913 -27-02-2019 22:00,7916282.297,0.076391876,0.076391876 -27-02-2019 23:00,7917286.966,0.035045556,0.035045556 -28-02-2019 0:00,7918292.099,0.014846948,0.014846948 -28-02-2019 1:00,7919297.696,0.00459434,0.00459434 -28-02-2019 2:00,7920303.757,0.002558344,0.002558344 -28-02-2019 3:00,7921310.281,0.003894311,0.003894311 -28-02-2019 4:00,7922317.266,0.014855758,0.014855758 -28-02-2019 5:00,7923324.714,0.112232345,0.112232345 -28-02-2019 6:00,7924332.623,0.247760209,0.247760209 -28-02-2019 7:00,7925340.993,0.193385152,0.193385152 -28-02-2019 8:00,7926349.823,0.198496534,0.198496534 -28-02-2019 9:00,7927359.113,0.226835165,0.226835165 -28-02-2019 10:00,7928368.862,0.252642284,0.252642284 -28-02-2019 11:00,7929379.07,0.291564365,0.291564365 -28-02-2019 12:00,7930389.735,0.281164177,0.281164177 -28-02-2019 13:00,7931400.859,0.149597536,0.149597536 -28-02-2019 14:00,7932412.44,0.072358961,0.072358961 -28-02-2019 15:00,7933424.477,0.045789866,0.045789866 -28-02-2019 16:00,7934436.971,0.17324095,0.17324095 -28-02-2019 17:00,7935449.92,0.330798559,0.330798559 -28-02-2019 18:00,7936463.324,0.326567789,0.326567789 -28-02-2019 19:00,7937477.183,0.308364365,0.308364365 -28-02-2019 20:00,7938491.495,0.257478576,0.257478576 -28-02-2019 21:00,7939506.261,0.166994259,0.166994259 -28-02-2019 22:00,7940521.481,0.079342952,0.079342952 -28-02-2019 23:00,7941537.152,0.034040098,0.034040098 -01-03-2019 0:00,7942553.276,0.013706875,0.013706875 -01-03-2019 1:00,7943569.851,0.003975152,0.003975152 -01-03-2019 2:00,7944586.877,0.002171822,0.002171822 -01-03-2019 3:00,7945604.353,0.003293882,0.003293882 -01-03-2019 4:00,7946622.279,0.013410455,0.013410455 -01-03-2019 5:00,7947640.654,0.089736765,0.089736765 -01-03-2019 6:00,7948659.479,0.203107774,0.203107774 -01-03-2019 7:00,7949678.751,0.161622196,0.161622196 -01-03-2019 8:00,7950698.471,0.171732018,0.171732018 -01-03-2019 9:00,7951718.639,0.21029493,0.21029493 -01-03-2019 10:00,7952739.253,0.247830834,0.247830834 -01-03-2019 11:00,7953760.313,0.357877257,0.357877257 -01-03-2019 12:00,7954781.819,0.312841485,0.312841485 -01-03-2019 13:00,7955803.77,0.166408317,0.166408317 -01-03-2019 14:00,7956826.166,0.081719369,0.081719369 -01-03-2019 15:00,7957849.005,0.057784273,0.057784273 -01-03-2019 16:00,7958872.289,0.257722452,0.257722452 -01-03-2019 17:00,7959896.015,0.368045134,0.368045134 -01-03-2019 18:00,7960920.184,0.358256053,0.358256053 -01-03-2019 19:00,7961944.794,0.340694761,0.340694761 -01-03-2019 20:00,7962969.847,0.283518105,0.283518105 -01-03-2019 21:00,7963995.34,0.18487264,0.18487264 -01-03-2019 22:00,7965021.273,0.087726022,0.087726022 -01-03-2019 23:00,7966047.646,0.039290702,0.039290702 -02-03-2019 0:00,7967074.459,0.015438746,0.015438746 -02-03-2019 1:00,7968101.711,0.005010916,0.005010916 -02-03-2019 2:00,7969129.4,0.002836128,0.002836128 -02-03-2019 3:00,7970157.528,0.004116118,0.004116118 -02-03-2019 4:00,7971186.092,0.020153665,0.020153665 -02-03-2019 5:00,7972215.094,0.117902781,0.117902781 -02-03-2019 6:00,7973244.531,0.25501239,0.25501239 -02-03-2019 7:00,7974274.404,0.203446517,0.203446517 -02-03-2019 8:00,7975304.712,0.206826096,0.206826096 -02-03-2019 9:00,7976335.455,0.236039219,0.236039219 -02-03-2019 10:00,7977366.632,0.259053054,0.259053054 -02-03-2019 11:00,7978398.242,0.31909154,0.31909154 -02-03-2019 12:00,7979430.285,0.264350025,0.264350025 -02-03-2019 13:00,7980462.761,0.148424413,0.148424413 -02-03-2019 14:00,7981495.669,0.073544062,0.073544062 -02-03-2019 15:00,7982529.008,0.051655078,0.051655078 -02-03-2019 16:00,7983562.777,0.197169631,0.197169631 -02-03-2019 17:00,7984596.978,0.341414583,0.341414583 -02-03-2019 18:00,7985631.608,0.332283029,0.332283029 -02-03-2019 19:00,7986666.667,0.312384616,0.312384616 -02-03-2019 20:00,7987702.155,0.260992199,0.260992199 -02-03-2019 21:00,7988738.071,0.169592827,0.169592827 -02-03-2019 22:00,7989774.414,0.079685162,0.079685162 -02-03-2019 23:00,7990811.185,0.033695284,0.033695284 -03-03-2019 0:00,7991848.383,0.013362914,0.013362914 -03-03-2019 1:00,7992886.006,0.003835449,0.003835449 -03-03-2019 2:00,7993924.055,0.002050837,0.002050837 -03-03-2019 3:00,7994962.529,0.003072953,0.003072953 -03-03-2019 4:00,7996001.427,0.012387462,0.012387462 -03-03-2019 5:00,7997040.75,0.080891778,0.080891778 -03-03-2019 6:00,7998080.495,0.178303235,0.178303235 -03-03-2019 7:00,7999120.664,0.143459085,0.143459085 -03-03-2019 8:00,8000161.255,0.154148445,0.154148445 -03-03-2019 9:00,8001202.267,0.187851591,0.187851591 -03-03-2019 10:00,8002243.701,0.216403337,0.216403337 -03-03-2019 11:00,8003285.556,0.297686229,0.297686229 -03-03-2019 12:00,8004327.831,0.254800561,0.254800561 -03-03-2019 13:00,8005370.525,0.13735338,0.13735338 -03-03-2019 14:00,8006413.639,0.065767409,0.065767409 -03-03-2019 15:00,8007457.171,0.041470434,0.041470434 -03-03-2019 16:00,8008501.121,0.125674835,0.125674835 -03-03-2019 17:00,8009545.488,0.289868116,0.289868116 -03-03-2019 18:00,8010590.273,0.298515461,0.298515461 -03-03-2019 19:00,8011635.474,0.277480077,0.277480077 -03-03-2019 20:00,8012681.09,0.231904586,0.231904586 -03-03-2019 21:00,8013727.122,0.149609186,0.149609186 -03-03-2019 22:00,8014773.569,0.07013029,0.07013029 -03-03-2019 23:00,8015820.43,0.029376841,0.029376841 -04-03-2019 0:00,8016867.705,0.011848637,0.011848637 -04-03-2019 1:00,8017915.393,0.003140753,0.003140753 -04-03-2019 2:00,8018963.494,0.001363372,0.001363372 -04-03-2019 3:00,8020012.007,0.002470907,0.002470907 -04-03-2019 4:00,8021060.931,0.008251566,0.008251566 -04-03-2019 5:00,8022110.266,0.060591636,0.060591636 -04-03-2019 6:00,8023160.012,0.133996006,0.133996006 -04-03-2019 7:00,8024210.168,0.112958794,0.112958794 -04-03-2019 8:00,8025260.733,0.13303153,0.13303153 -04-03-2019 9:00,8026311.707,0.167557212,0.167557212 -04-03-2019 10:00,8027363.09,0.199299837,0.199299837 -04-03-2019 11:00,8028414.88,0.285768733,0.285768733 -04-03-2019 12:00,8029467.077,0.231837829,0.231837829 -04-03-2019 13:00,8030519.681,0.127543938,0.127543938 -04-03-2019 14:00,8031572.692,0.056720763,0.056720763 -04-03-2019 15:00,8032626.107,0.03780661,0.03780661 -04-03-2019 16:00,8033679.928,0.100269979,0.100269979 -04-03-2019 17:00,8034734.154,0.288327829,0.288327829 -04-03-2019 18:00,8035788.783,0.315878645,0.315878645 -04-03-2019 19:00,8036843.816,0.29027728,0.29027728 -04-03-2019 20:00,8037899.252,0.242692633,0.242692633 -04-03-2019 21:00,8038955.09,0.161353623,0.161353623 -04-03-2019 22:00,8040011.33,0.077338017,0.077338017 -04-03-2019 23:00,8041067.971,0.033535529,0.033535529 -05-03-2019 0:00,8042125.013,0.013462277,0.013462277 -05-03-2019 1:00,8043182.456,0.003696056,0.003696056 -05-03-2019 2:00,8044240.297,0.001915715,0.001915715 -05-03-2019 3:00,8045298.538,0.003050116,0.003050116 -05-03-2019 4:00,8046357.178,0.011828124,0.011828124 -05-03-2019 5:00,8047416.215,0.083498832,0.083498832 -05-03-2019 6:00,8048475.65,0.186721584,0.186721584 -05-03-2019 7:00,8049535.482,0.122592875,0.122592875 -05-03-2019 8:00,8050595.71,0.128349102,0.128349102 -05-03-2019 9:00,8051656.334,0.163667686,0.163667686 -05-03-2019 10:00,8052717.354,0.189543293,0.189543293 -05-03-2019 11:00,8053778.768,0.244575706,0.244575706 -05-03-2019 12:00,8054840.576,0.2077146,0.2077146 -05-03-2019 13:00,8055902.778,0.109217693,0.109217693 -05-03-2019 14:00,8056965.373,0.045261527,0.045261527 -05-03-2019 15:00,8058028.36,0.028232118,0.028232118 -05-03-2019 16:00,8059091.74,0.050912883,0.050912883 -05-03-2019 17:00,8060155.511,0.15830426,0.15830426 -05-03-2019 18:00,8061219.673,0.289625189,0.289625189 -05-03-2019 19:00,8062284.225,0.30187335,0.30187335 -05-03-2019 20:00,8063349.167,0.243463122,0.243463122 -05-03-2019 21:00,8064414.498,0.159026706,0.159026706 -05-03-2019 22:00,8065480.219,0.0758606,0.0758606 -05-03-2019 23:00,8066546.327,0.033849615,0.033849615 -06-03-2019 0:00,8067612.823,0.013484429,0.013484429 -06-03-2019 1:00,8068679.706,0.003936233,0.003936233 -06-03-2019 2:00,8069746.975,0.00209965,0.00209965 -06-03-2019 3:00,8070814.63,0.002784433,0.002784433 -06-03-2019 4:00,8071882.671,0.011250018,0.011250018 -06-03-2019 5:00,8072951.097,0.083690206,0.083690206 -06-03-2019 6:00,8074019.907,0.179163332,0.179163332 -06-03-2019 7:00,8075089.101,0.140563189,0.140563189 -06-03-2019 8:00,8076158.678,0.149408021,0.149408021 -06-03-2019 9:00,8077228.638,0.179295698,0.179295698 -06-03-2019 10:00,8078298.98,0.208220539,0.208220539 -06-03-2019 11:00,8079369.703,0.281401428,0.281401428 -06-03-2019 12:00,8080440.808,0.237848049,0.237848049 -06-03-2019 13:00,8081512.293,0.128622131,0.128622131 -06-03-2019 14:00,8082584.157,0.060105044,0.060105044 -06-03-2019 15:00,8083656.402,0.037537021,0.037537021 -06-03-2019 16:00,8084729.025,0.092933208,0.092933208 -06-03-2019 17:00,8085802.026,0.254503568,0.254503568 -06-03-2019 18:00,8086875.405,0.292111009,0.292111009 -06-03-2019 19:00,8087949.161,0.268183877,0.268183877 -06-03-2019 20:00,8089023.294,0.223001968,0.223001968 -06-03-2019 21:00,8090097.803,0.149181628,0.149181628 -06-03-2019 22:00,8091172.687,0.071736691,0.071736691 -06-03-2019 23:00,8092247.947,0.030334967,0.030334967 -07-03-2019 0:00,8093323.58,0.012309352,0.012309352 -07-03-2019 1:00,8094399.588,0.003249349,0.003249349 -07-03-2019 2:00,8095475.969,0.001497055,0.001497055 -07-03-2019 3:00,8096552.723,0.002496081,0.002496081 -07-03-2019 4:00,8097629.848,0.008766408,0.008766408 -07-03-2019 5:00,8098707.346,0.063966628,0.063966628 -07-03-2019 6:00,8099785.214,0.140267536,0.140267536 -07-03-2019 7:00,8100863.453,0.114241159,0.114241159 -07-03-2019 8:00,8101942.062,0.125693817,0.125693817 -07-03-2019 9:00,8103021.041,0.154319523,0.154319523 -07-03-2019 10:00,8104100.388,0.175379828,0.175379828 -07-03-2019 11:00,8105180.103,0.23667714,0.23667714 -07-03-2019 12:00,8106260.187,0.196930845,0.196930845 -07-03-2019 13:00,8107340.637,0.084131576,0.084131576 -07-03-2019 14:00,8108421.454,0.037939264,0.037939264 -07-03-2019 15:00,8109502.638,0.027300664,0.027300664 -07-03-2019 16:00,8110584.186,0.056583203,0.056583203 -07-03-2019 17:00,8111666.1,0.152856755,0.152856755 -07-03-2019 18:00,8112748.378,0.253994911,0.253994911 -07-03-2019 19:00,8113831.02,0.274436301,0.274436301 -07-03-2019 20:00,8114914.025,0.229653246,0.229653246 -07-03-2019 21:00,8115997.393,0.14879235,0.14879235 -07-03-2019 22:00,8117081.124,0.071808392,0.071808392 -07-03-2019 23:00,8118165.215,0.032567249,0.032567249 -08-03-2019 0:00,8119249.668,0.012873639,0.012873639 -08-03-2019 1:00,8120334.482,0.003534594,0.003534594 -08-03-2019 2:00,8121419.655,0.001820542,0.001820542 -08-03-2019 3:00,8122505.188,0.00258666,0.00258666 -08-03-2019 4:00,8123591.079,0.009522372,0.009522372 -08-03-2019 5:00,8124677.329,0.075613298,0.075613298 -08-03-2019 6:00,8125763.937,0.162230526,0.162230526 -08-03-2019 7:00,8126850.901,0.127679456,0.127679456 -08-03-2019 8:00,8127938.223,0.114956994,0.114956994 -08-03-2019 9:00,8129025.9,0.137011947,0.137011947 -08-03-2019 10:00,8130113.933,0.155205059,0.155205059 -08-03-2019 11:00,8131202.32,0.220770099,0.220770099 -08-03-2019 12:00,8132291.062,0.158836254,0.158836254 -08-03-2019 13:00,8133380.158,0.088307787,0.088307787 -08-03-2019 14:00,8134469.607,0.041876677,0.041876677 -08-03-2019 15:00,8135559.409,0.030294839,0.030294839 -08-03-2019 16:00,8136649.563,0.084695393,0.084695393 -08-03-2019 17:00,8137740.069,0.23838136,0.23838136 -08-03-2019 18:00,8138830.925,0.303539417,0.303539417 -08-03-2019 19:00,8139922.132,0.281026012,0.281026012 -08-03-2019 20:00,8141013.689,0.234302357,0.234302357 -08-03-2019 21:00,8142105.595,0.153338712,0.153338712 -08-03-2019 22:00,8143197.85,0.074086754,0.074086754 -08-03-2019 23:00,8144290.453,0.033206889,0.033206889 -09-03-2019 0:00,8145383.403,0.013027115,0.013027115 -09-03-2019 1:00,8146476.701,0.003688338,0.003688338 -09-03-2019 2:00,8147570.345,0.001896652,0.001896652 -09-03-2019 3:00,8148664.335,0.00261953,0.00261953 -09-03-2019 4:00,8149758.671,0.009584653,0.009584653 -09-03-2019 5:00,8150853.351,0.075543322,0.075543322 -09-03-2019 6:00,8151948.376,0.160285132,0.160285132 -09-03-2019 7:00,8153043.744,0.124841997,0.124841997 -09-03-2019 8:00,8154139.456,0.136663226,0.136663226 -09-03-2019 9:00,8155235.51,0.165491326,0.165491326 -09-03-2019 10:00,8156331.905,0.190600809,0.190600809 -09-03-2019 11:00,8157428.643,0.262075167,0.262075167 -09-03-2019 12:00,8158525.721,0.218818978,0.218818978 -09-03-2019 13:00,8159623.14,0.119946464,0.119946464 -09-03-2019 14:00,8160720.898,0.056421992,0.056421992 -09-03-2019 15:00,8161818.995,0.027960817,0.027960817 -09-03-2019 16:00,8162917.431,0.045255195,0.045255195 -09-03-2019 17:00,8164016.206,0.143607008,0.143607008 -09-03-2019 18:00,8165115.317,0.276755276,0.276755276 -09-03-2019 19:00,8166214.766,0.280075736,0.280075736 -09-03-2019 20:00,8167314.55,0.228453356,0.228453356 -09-03-2019 21:00,8168414.671,0.148666414,0.148666414 -09-03-2019 22:00,8169515.127,0.072085244,0.072085244 -09-03-2019 23:00,8170615.917,0.032240236,0.032240236 -10-03-2019 0:00,8171717.042,0.012951641,0.012951641 -10-03-2019 1:00,8172818.5,0.003629955,0.003629955 -10-03-2019 2:00,8173920.291,0.001885366,0.001885366 -10-03-2019 3:00,8175022.415,0.002689858,0.002689858 -10-03-2019 4:00,8176124.87,0.010166781,0.010166781 -10-03-2019 5:00,8177227.656,0.080619523,0.080619523 -10-03-2019 6:00,8178330.773,0.176857749,0.176857749 -10-03-2019 7:00,8179434.221,0.135692818,0.135692818 -10-03-2019 8:00,8180537.998,0.147870109,0.147870109 -10-03-2019 9:00,8181642.103,0.182356251,0.182356251 -10-03-2019 10:00,8182746.538,0.216421579,0.216421579 -10-03-2019 11:00,8183851.3,0.295412926,0.295412926 -10-03-2019 12:00,8184956.389,0.249440637,0.249440637 -10-03-2019 13:00,8186061.805,0.138346021,0.138346021 -10-03-2019 14:00,8187167.547,0.067723585,0.067723585 -10-03-2019 15:00,8188273.615,0.04286788,0.04286788 -10-03-2019 16:00,8189380.008,0.173836434,0.173836434 -10-03-2019 17:00,8190486.725,0.364126679,0.364126679 -10-03-2019 18:00,8191593.766,0.353692626,0.353692626 -10-03-2019 19:00,8192701.13,0.321338786,0.321338786 -10-03-2019 20:00,8193808.817,0.263339302,0.263339302 -10-03-2019 21:00,8194916.826,0.172111178,0.172111178 -10-03-2019 22:00,8196025.157,0.083337589,0.083337589 -10-03-2019 23:00,8197133.809,0.036762712,0.036762712 -11-03-2019 0:00,8198242.781,0.014786389,0.014786389 -11-03-2019 1:00,8199352.073,0.004783809,0.004783809 -11-03-2019 2:00,8200461.684,0.00262209,0.00262209 -11-03-2019 3:00,8201571.614,0.00370149,0.00370149 -11-03-2019 4:00,8202681.863,0.017943838,0.017943838 -11-03-2019 5:00,8203792.429,0.111300823,0.111300823 -11-03-2019 6:00,8204903.311,0.235969817,0.235969817 -11-03-2019 7:00,8206014.511,0.177038343,0.177038343 -11-03-2019 8:00,8207126.026,0.178590769,0.178590769 -11-03-2019 9:00,8208237.856,0.207951087,0.207951087 -11-03-2019 10:00,8209350.001,0.239943182,0.239943182 -11-03-2019 11:00,8210462.461,0.330468543,0.330468543 -11-03-2019 12:00,8211575.234,0.285905893,0.285905893 -11-03-2019 13:00,8212688.32,0.147988508,0.147988508 -11-03-2019 14:00,8213801.718,0.071774159,0.071774159 -11-03-2019 15:00,8214915.428,0.043936887,0.043936887 -11-03-2019 16:00,8216029.45,0.14972285,0.14972285 -11-03-2019 17:00,8217143.782,0.352522812,0.352522812 -11-03-2019 18:00,8218258.425,0.35311038,0.35311038 -11-03-2019 19:00,8219373.376,0.331541461,0.331541461 -11-03-2019 20:00,8220488.637,0.283477285,0.283477285 -11-03-2019 21:00,8221604.207,0.190925272,0.190925272 -11-03-2019 22:00,8222720.084,0.092106909,0.092106909 -11-03-2019 23:00,8223836.269,0.039648119,0.039648119 -12-03-2019 0:00,8224952.76,0.0160015,0.0160015 -12-03-2019 1:00,8226069.557,0.005328745,0.005328745 -12-03-2019 2:00,8227186.66,0.003039507,0.003039507 -12-03-2019 3:00,8228304.068,0.004500911,0.004500911 -12-03-2019 4:00,8229421.78,0.022060884,0.022060884 -12-03-2019 5:00,8230539.796,0.124908153,0.124908153 -12-03-2019 6:00,8231658.116,0.258581187,0.258581187 -12-03-2019 7:00,8232776.738,0.19393956,0.19393956 -12-03-2019 8:00,8233895.662,0.188406677,0.188406677 -12-03-2019 9:00,8235014.888,0.213262076,0.213262076 -12-03-2019 10:00,8236134.414,0.241610849,0.241610849 -12-03-2019 11:00,8237254.241,0.336979109,0.336979109 -12-03-2019 12:00,8238374.368,0.285924749,0.285924749 -12-03-2019 13:00,8239494.794,0.15255092,0.15255092 -12-03-2019 14:00,8240615.519,0.072889146,0.072889146 -12-03-2019 15:00,8241736.541,0.043661825,0.043661825 -12-03-2019 16:00,8242857.862,0.144439729,0.144439729 -12-03-2019 17:00,8243979.479,0.345301682,0.345301682 -12-03-2019 18:00,8245101.392,0.349849247,0.349849247 -12-03-2019 19:00,8246223.602,0.342238856,0.342238856 -12-03-2019 20:00,8247346.106,0.290214033,0.290214033 -12-03-2019 21:00,8248468.905,0.188885977,0.188885977 -12-03-2019 22:00,8249591.998,0.088458844,0.088458844 -12-03-2019 23:00,8250715.385,0.038311257,0.038311257 -13-03-2019 0:00,8251839.064,0.01540176,0.01540176 -13-03-2019 1:00,8252963.036,0.005167191,0.005167191 -13-03-2019 2:00,8254087.299,0.002923753,0.002923753 -13-03-2019 3:00,8255211.854,0.004219782,0.004219782 -13-03-2019 4:00,8256336.699,0.020621098,0.020621098 -13-03-2019 5:00,8257461.834,0.117857721,0.117857721 -13-03-2019 6:00,8258587.259,0.246640842,0.246640842 -13-03-2019 7:00,8259712.972,0.184733895,0.184733895 -13-03-2019 8:00,8260838.973,0.181222742,0.181222742 -13-03-2019 9:00,8261965.263,0.209959447,0.209959447 -13-03-2019 10:00,8263091.839,0.243519732,0.243519732 -13-03-2019 11:00,8264218.702,0.346961331,0.346961331 -13-03-2019 12:00,8265345.851,0.294933836,0.294933836 -13-03-2019 13:00,8266473.285,0.156692029,0.156692029 -13-03-2019 14:00,8267601.004,0.07461202,0.07461202 -13-03-2019 15:00,8268729.007,0.04421396,0.04421396 -13-03-2019 16:00,8269857.293,0.145993972,0.145993972 -13-03-2019 17:00,8270985.863,0.35083972,0.35083972 -13-03-2019 18:00,8272114.715,0.349296466,0.349296466 -13-03-2019 19:00,8273243.849,0.326837532,0.326837532 -13-03-2019 20:00,8274373.264,0.277537939,0.277537939 -13-03-2019 21:00,8275502.96,0.179930985,0.179930985 -13-03-2019 22:00,8276632.936,0.084969641,0.084969641 -13-03-2019 23:00,8277763.192,0.036724301,0.036724301 -14-03-2019 0:00,8278893.727,0.01472875,0.01472875 -14-03-2019 1:00,8280024.54,0.004792133,0.004792133 -14-03-2019 2:00,8281155.631,0.002642651,0.002642651 -14-03-2019 3:00,8282286.999,0.003819753,0.003819753 -14-03-2019 4:00,8283418.643,0.018085962,0.018085962 -14-03-2019 5:00,8284550.564,0.107548191,0.107548191 -14-03-2019 6:00,8285682.76,0.231022174,0.231022174 -14-03-2019 7:00,8286815.231,0.171752637,0.171752637 -14-03-2019 8:00,8287947.976,0.170906965,0.170906965 -14-03-2019 9:00,8289080.995,0.201329805,0.201329805 -14-03-2019 10:00,8290214.288,0.231601157,0.231601157 -14-03-2019 11:00,8291347.852,0.317950522,0.317950522 -14-03-2019 12:00,8292481.689,0.268279637,0.268279637 -14-03-2019 13:00,8293615.797,0.143603254,0.143603254 -14-03-2019 14:00,8294750.176,0.067438254,0.067438254 -14-03-2019 15:00,8295884.825,0.041036496,0.041036496 -14-03-2019 16:00,8297019.744,0.122946193,0.122946193 -14-03-2019 17:00,8298154.932,0.325979624,0.325979624 -14-03-2019 18:00,8299290.388,0.341566608,0.341566608 -14-03-2019 19:00,8300426.112,0.313535323,0.313535323 -14-03-2019 20:00,8301562.104,0.263990075,0.263990075 -14-03-2019 21:00,8302698.362,0.173826563,0.173826563 -14-03-2019 22:00,8303834.886,0.082410956,0.082410956 -14-03-2019 23:00,8304971.676,0.035987286,0.035987286 -15-03-2019 0:00,8306108.731,0.014303567,0.014303567 -15-03-2019 1:00,8307246.05,0.004541456,0.004541456 -15-03-2019 2:00,8308383.633,0.002467059,0.002467059 -15-03-2019 3:00,8309521.479,0.00354165,0.00354165 -15-03-2019 4:00,8310659.588,0.015928682,0.015928682 -15-03-2019 5:00,8311797.959,0.099163019,0.099163019 -15-03-2019 6:00,8312936.591,0.214812696,0.214812696 -15-03-2019 7:00,8314075.484,0.156873641,0.156873641 -15-03-2019 8:00,8315214.638,0.15472238,0.15472238 -15-03-2019 9:00,8316354.051,0.180497304,0.180497304 -15-03-2019 10:00,8317493.723,0.205317146,0.205317146 -15-03-2019 11:00,8318633.654,0.274088362,0.274088362 -15-03-2019 12:00,8319773.843,0.232283877,0.232283877 -15-03-2019 13:00,8320914.289,0.125037088,0.125037088 -15-03-2019 14:00,8322054.991,0.057213782,0.057213782 -15-03-2019 15:00,8323195.95,0.035552789,0.035552789 -15-03-2019 16:00,8324337.165,0.085148679,0.085148679 -15-03-2019 17:00,8325478.635,0.255023189,0.255023189 -15-03-2019 18:00,8326620.359,0.319719154,0.319719154 -15-03-2019 19:00,8327762.336,0.29768171,0.29768171 -15-03-2019 20:00,8328904.567,0.24886347,0.24886347 -15-03-2019 21:00,8330047.051,0.164470343,0.164470343 -15-03-2019 22:00,8331189.787,0.078089753,0.078089753 -15-03-2019 23:00,8332332.774,0.033607186,0.033607186 -16-03-2019 0:00,8333476.012,0.013638841,0.013638841 -16-03-2019 1:00,8334619.5,0.003919034,0.003919034 -16-03-2019 2:00,8335763.239,0.002125696,0.002125696 -16-03-2019 3:00,8336907.226,0.002830366,0.002830366 -16-03-2019 4:00,8338051.462,0.012747541,0.012747541 -16-03-2019 5:00,8339195.945,0.086463633,0.086463633 -16-03-2019 6:00,8340340.676,0.182390866,0.182390866 -16-03-2019 7:00,8341485.654,0.133668763,0.133668763 -16-03-2019 8:00,8342630.878,0.138570707,0.138570707 -16-03-2019 9:00,8343776.348,0.165867391,0.165867391 -16-03-2019 10:00,8344922.062,0.190913999,0.190913999 -16-03-2019 11:00,8346068.021,0.260556114,0.260556114 -16-03-2019 12:00,8347214.224,0.216961467,0.216961467 -16-03-2019 13:00,8348360.67,0.11729732,0.11729732 -16-03-2019 14:00,8349507.359,0.053141462,0.053141462 -16-03-2019 15:00,8350654.289,0.033406447,0.033406447 -16-03-2019 16:00,8351801.462,0.069067373,0.069067373 -16-03-2019 17:00,8352948.875,0.213689405,0.213689405 -16-03-2019 18:00,8354096.528,0.295104126,0.295104126 -16-03-2019 19:00,8355244.421,0.272220927,0.272220927 -16-03-2019 20:00,8356392.553,0.224619601,0.224619601 -16-03-2019 21:00,8357540.924,0.146237411,0.146237411 -16-03-2019 22:00,8358689.532,0.072104664,0.072104664 -16-03-2019 23:00,8359838.378,0.030457562,0.030457562 -17-03-2019 0:00,8360987.461,0.012558077,0.012558077 -17-03-2019 1:00,8362136.78,0.003457018,0.003457018 -17-03-2019 2:00,8363286.334,0.001731756,0.001731756 -17-03-2019 3:00,8364436.123,0.002500653,0.002500653 -17-03-2019 4:00,8365586.147,0.010277346,0.010277346 -17-03-2019 5:00,8366736.404,0.075174102,0.075174102 -17-03-2019 6:00,8367886.895,0.158350488,0.158350488 -17-03-2019 7:00,8369037.618,0.120758978,0.120758978 -17-03-2019 8:00,8370188.573,0.131937152,0.131937152 -17-03-2019 9:00,8371339.76,0.156369271,0.156369271 -17-03-2019 10:00,8372491.177,0.178712125,0.178712125 -17-03-2019 11:00,8373642.825,0.231744847,0.231744847 -17-03-2019 12:00,8374794.702,0.193727177,0.193727177 -17-03-2019 13:00,8375946.808,0.094849226,0.094849226 -17-03-2019 14:00,8377099.143,0.036870357,0.036870357 -17-03-2019 15:00,8378251.706,0.023260241,0.023260241 -17-03-2019 16:00,8379404.496,0.043644202,0.043644202 -17-03-2019 17:00,8380557.512,0.11507907,0.11507907 -17-03-2019 18:00,8381710.755,0.228708388,0.228708388 -17-03-2019 19:00,8382864.223,0.302870335,0.302870335 -17-03-2019 20:00,8384017.916,0.251354654,0.251354654 -17-03-2019 21:00,8385171.833,0.164349507,0.164349507 -17-03-2019 22:00,8386325.974,0.078679435,0.078679435 -17-03-2019 23:00,8387480.338,0.035908242,0.035908242 -18-03-2019 0:00,8388634.925,0.014201929,0.014201929 -18-03-2019 1:00,8389789.733,0.004206634,0.004206634 -18-03-2019 2:00,8390944.763,0.002466874,0.002466874 -18-03-2019 3:00,8392100.014,0.003316256,0.003316256 -18-03-2019 4:00,8393255.485,0.013620148,0.013620148 -18-03-2019 5:00,8394411.175,0.103417867,0.103417867 -18-03-2019 6:00,8395567.084,0.205323515,0.205323515 -18-03-2019 7:00,8396723.212,0.128283259,0.128283259 -18-03-2019 8:00,8397879.557,0.130666573,0.130666573 -18-03-2019 9:00,8399036.119,0.161167669,0.161167669 -18-03-2019 10:00,8400192.898,0.183751128,0.183751128 -18-03-2019 11:00,8401349.894,0.264959971,0.264959971 -18-03-2019 12:00,8402507.104,0.225810814,0.225810814 -18-03-2019 13:00,8403664.529,0.104996379,0.104996379 -18-03-2019 14:00,8404822.169,0.046242448,0.046242448 -18-03-2019 15:00,8405980.022,0.030442814,0.030442814 -18-03-2019 16:00,8407138.087,0.061705673,0.061705673 -18-03-2019 17:00,8408296.366,0.207114571,0.207114571 -18-03-2019 18:00,8409454.856,0.340112453,0.340112453 -18-03-2019 19:00,8410613.557,0.323224294,0.323224294 -18-03-2019 20:00,8411772.469,0.276577025,0.276577025 -18-03-2019 21:00,8412931.591,0.186251607,0.186251607 -18-03-2019 22:00,8414090.923,0.091658408,0.091658408 -18-03-2019 23:00,8415250.463,0.042439292,0.042439292 -19-03-2019 0:00,8416410.212,0.017405789,0.017405789 -19-03-2019 1:00,8417570.168,0.005884741,0.005884741 -19-03-2019 2:00,8418730.331,0.003593151,0.003593151 -19-03-2019 3:00,8419890.701,0.006274113,0.006274113 -19-03-2019 4:00,8421051.276,0.030926953,0.030926953 -19-03-2019 5:00,8422212.057,0.167425203,0.167425203 -19-03-2019 6:00,8423373.042,0.326692427,0.326692427 -19-03-2019 7:00,8424534.231,0.244355239,0.244355239 -19-03-2019 8:00,8425695.624,0.22891922,0.22891922 -19-03-2019 9:00,8426857.22,0.23290336,0.23290336 -19-03-2019 10:00,8428019.018,0.243930617,0.243930617 -19-03-2019 11:00,8429181.017,0.304208831,0.304208831 -19-03-2019 12:00,8430343.218,0.224692046,0.224692046 -19-03-2019 13:00,8431505.619,0.115937862,0.115937862 -19-03-2019 14:00,8432668.22,0.055061432,0.055061432 -19-03-2019 15:00,8433831.02,0.03399994,0.03399994 -19-03-2019 16:00,8434994.019,0.077050968,0.077050968 -19-03-2019 17:00,8436157.216,0.23092697,0.23092697 -19-03-2019 18:00,8437320.611,0.342819967,0.342819967 -19-03-2019 19:00,8438484.202,0.328634225,0.328634225 -19-03-2019 20:00,8439647.99,0.284159097,0.284159097 -19-03-2019 21:00,8440811.973,0.190206847,0.190206847 -19-03-2019 22:00,8441976.151,0.094598689,0.094598689 -19-03-2019 23:00,8443140.524,0.041109885,0.041109885 -20-03-2019 0:00,8444305.091,0.01550744,0.01550744 -20-03-2019 1:00,8445469.851,0.005372541,0.005372541 -20-03-2019 2:00,8446634.804,0.003040595,0.003040595 -20-03-2019 3:00,8447799.948,0.004145923,0.004145923 -20-03-2019 4:00,8448965.285,0.021442557,0.021442557 -20-03-2019 5:00,8450130.812,0.122143681,0.122143681 -20-03-2019 6:00,8451296.529,0.246817295,0.246817295 -20-03-2019 7:00,8452462.436,0.17895921,0.17895921 -20-03-2019 8:00,8453628.532,0.172187107,0.172187107 -20-03-2019 9:00,8454794.817,0.194026081,0.194026081 -20-03-2019 10:00,8455961.29,0.221584609,0.221584609 -20-03-2019 11:00,8457127.949,0.306271265,0.306271265 -20-03-2019 12:00,8458294.796,0.255626285,0.255626285 -20-03-2019 13:00,8459461.828,0.136632578,0.136632578 -20-03-2019 14:00,8460629.047,0.062342245,0.062342245 -20-03-2019 15:00,8461796.449,0.037180747,0.037180747 -20-03-2019 16:00,8462964.037,0.085813477,0.085813477 -20-03-2019 17:00,8464131.808,0.2551518,0.2551518 -20-03-2019 18:00,8465299.762,0.324657098,0.324657098 -20-03-2019 19:00,8466467.898,0.301183883,0.301183883 -20-03-2019 20:00,8467636.216,0.251705746,0.251705746 -20-03-2019 21:00,8468804.716,0.174740627,0.174740627 -20-03-2019 22:00,8469973.396,0.086381553,0.086381553 -20-03-2019 23:00,8471142.257,0.037453741,0.037453741 -21-03-2019 0:00,8472311.297,0.015442088,0.015442088 -21-03-2019 1:00,8473480.515,0.005030544,0.005030544 -21-03-2019 2:00,8474649.912,0.002823105,0.002823105 -21-03-2019 3:00,8475819.487,0.003789758,0.003789758 -21-03-2019 4:00,8476989.239,0.019673717,0.019673717 -21-03-2019 5:00,8478159.167,0.114538674,0.114538674 -21-03-2019 6:00,8479329.271,0.230352445,0.230352445 -21-03-2019 7:00,8480499.55,0.163515944,0.163515944 -21-03-2019 8:00,8481670.004,0.157593695,0.157593695 -21-03-2019 9:00,8482840.632,0.181922929,0.181922929 -21-03-2019 10:00,8484011.434,0.208488225,0.208488225 -21-03-2019 11:00,8485182.408,0.284776736,0.284776736 -21-03-2019 12:00,8486353.555,0.235951419,0.235951419 -21-03-2019 13:00,8487524.873,0.126879869,0.126879869 -21-03-2019 14:00,8488696.362,0.056970106,0.056970106 -21-03-2019 15:00,8489868.022,0.034565544,0.034565544 -21-03-2019 16:00,8491039.852,0.073211298,0.073211298 -21-03-2019 17:00,8492211.85,0.231966209,0.231966209 -21-03-2019 18:00,8493384.018,0.321026068,0.321026068 -21-03-2019 19:00,8494556.353,0.303860441,0.303860441 -21-03-2019 20:00,8495728.856,0.26312366,0.26312366 -21-03-2019 21:00,8496901.526,0.17745762,0.17745762 -21-03-2019 22:00,8498074.362,0.088522679,0.088522679 -21-03-2019 23:00,8499247.363,0.038598898,0.038598898 -22-03-2019 0:00,8500420.53,0.014974436,0.014974436 -22-03-2019 1:00,8501593.861,0.00478203,0.00478203 -22-03-2019 2:00,8502767.356,0.002704493,0.002704493 -22-03-2019 3:00,8503941.014,0.003557053,0.003557053 -22-03-2019 4:00,8505114.834,0.017650238,0.017650238 -22-03-2019 5:00,8506288.817,0.109071617,0.109071617 -22-03-2019 6:00,8507462.961,0.224776092,0.224776092 -22-03-2019 7:00,8508637.266,0.168332799,0.168332799 -22-03-2019 8:00,8509811.731,0.170869785,0.170869785 -22-03-2019 9:00,8510986.355,0.194875116,0.194875116 -22-03-2019 10:00,8512161.139,0.208628105,0.208628105 -22-03-2019 11:00,8513336.081,0.273365873,0.273365873 -22-03-2019 12:00,8514511.18,0.212945145,0.212945145 -22-03-2019 13:00,8515686.437,0.07710616,0.07710616 -22-03-2019 14:00,8516861.85,0.020107928,0.020107928 -22-03-2019 15:00,8518037.42,0.018783729,0.018783729 -22-03-2019 16:00,8519213.144,0.030731036,0.030731036 -22-03-2019 17:00,8520389.024,0.060215846,0.060215846 -22-03-2019 18:00,8521565.057,0.077664745,0.077664745 -22-03-2019 19:00,8522741.244,0.10772876,0.10772876 -22-03-2019 20:00,8523917.584,0.135783568,0.135783568 -22-03-2019 21:00,8525094.077,0.132462385,0.132462385 -22-03-2019 22:00,8526270.721,0.073909986,0.073909986 -22-03-2019 23:00,8527447.516,0.033348993,0.033348993 -23-03-2019 0:00,8528624.462,0.013110363,0.013110363 -23-03-2019 1:00,8529801.557,0.00357972,0.00357972 -23-03-2019 2:00,8530978.802,0.001852489,0.001852489 -23-03-2019 3:00,8532156.196,0.00295811,0.00295811 -23-03-2019 4:00,8533333.737,0.009714374,0.009714374 -23-03-2019 5:00,8534511.426,0.077360234,0.077360234 -23-03-2019 6:00,8535689.262,0.162338841,0.162338841 -23-03-2019 7:00,8536867.245,0.117227737,0.117227737 -23-03-2019 8:00,8538045.373,0.12679541,0.12679541 -23-03-2019 9:00,8539223.645,0.15141052,0.15141052 -23-03-2019 10:00,8540402.063,0.173271582,0.173271582 -23-03-2019 11:00,8541580.624,0.235950177,0.235950177 -23-03-2019 12:00,8542759.329,0.194427727,0.194427727 -23-03-2019 13:00,8543938.176,0.106804075,0.106804075 -23-03-2019 14:00,8545117.165,0.047254627,0.047254627 -23-03-2019 15:00,8546296.295,0.029996496,0.029996496 -23-03-2019 16:00,8547475.567,0.055809133,0.055809133 -23-03-2019 17:00,8548654.978,0.189111006,0.189111006 -23-03-2019 18:00,8549834.53,0.307711537,0.307711537 -23-03-2019 19:00,8551014.22,0.301558809,0.301558809 -23-03-2019 20:00,8552194.048,0.250517329,0.250517329 -23-03-2019 21:00,8553374.015,0.164698468,0.164698468 -23-03-2019 22:00,8554554.118,0.080271486,0.080271486 -23-03-2019 23:00,8555734.358,0.038676259,0.038676259 -24-03-2019 0:00,8556914.734,0.015519708,0.015519708 -24-03-2019 1:00,8558095.246,0.005302702,0.005302702 -24-03-2019 2:00,8559275.892,0.003041837,0.003041837 -24-03-2019 3:00,8560456.672,0.004381874,0.004381874 -24-03-2019 4:00,8561637.586,0.020952025,0.020952025 -24-03-2019 5:00,8562818.632,0.137165802,0.137165802 -24-03-2019 6:00,8563999.811,0.255278593,0.255278593 -24-03-2019 7:00,8565181.122,0.173315953,0.173315953 -24-03-2019 8:00,8566362.564,0.165349079,0.165349079 -24-03-2019 9:00,8567544.136,0.187889241,0.187889241 -24-03-2019 10:00,8568725.838,0.202766781,0.202766781 -24-03-2019 11:00,8569907.669,0.275395326,0.275395326 -24-03-2019 12:00,8571089.629,0.21505736,0.21505736 -24-03-2019 13:00,8572271.718,0.088216036,0.088216036 -24-03-2019 14:00,8573453.933,0.024562607,0.024562607 -24-03-2019 15:00,8574636.276,0.018783729,0.018783729 -24-03-2019 16:00,8575818.744,0.033298772,0.033298772 -24-03-2019 17:00,8577001.338,0.072339739,0.072339739 -24-03-2019 18:00,8578184.058,0.106624646,0.106624646 -24-03-2019 19:00,8579366.901,0.168298827,0.168298827 -24-03-2019 20:00,8580549.869,0.223258954,0.223258954 -24-03-2019 21:00,8581732.96,0.169191512,0.169191512 -24-03-2019 22:00,8582916.173,0.081129402,0.081129402 -24-03-2019 23:00,8584099.508,0.036448853,0.036448853 -25-03-2019 0:00,8585282.965,0.013909407,0.013909407 -25-03-2019 1:00,8586466.542,0.004455737,0.004455737 -25-03-2019 2:00,8587650.239,0.002301666,0.002301666 -25-03-2019 3:00,8588834.056,0.00341373,0.00341373 -25-03-2019 4:00,8590017.992,0.013488188,0.013488188 -25-03-2019 5:00,8591202.046,0.099365245,0.099365245 -25-03-2019 6:00,8592386.218,0.204621233,0.204621233 -25-03-2019 7:00,8593570.507,0.127076361,0.127076361 -25-03-2019 8:00,8594754.913,0.117682596,0.117682596 -25-03-2019 9:00,8595939.434,0.137116954,0.137116954 -25-03-2019 10:00,8597124.071,0.162281923,0.162281923 -25-03-2019 11:00,8598308.822,0.2377329,0.2377329 -25-03-2019 12:00,8599493.688,0.191229513,0.191229513 -25-03-2019 13:00,8600678.667,0.107873366,0.107873366 -25-03-2019 14:00,8601863.758,0.048729514,0.048729514 -25-03-2019 15:00,8603048.962,0.031591814,0.031591814 -25-03-2019 16:00,8604234.278,0.073486634,0.073486634 -25-03-2019 17:00,8605419.704,0.244867718,0.244867718 -25-03-2019 18:00,8606605.241,0.332601556,0.332601556 -25-03-2019 19:00,8607790.888,0.308483576,0.308483576 -25-03-2019 20:00,8608976.644,0.253043052,0.253043052 -25-03-2019 21:00,8610162.508,0.163954027,0.163954027 -25-03-2019 22:00,8611348.48,0.078552232,0.078552232 -25-03-2019 23:00,8612534.56,0.035793265,0.035793265 -26-03-2019 0:00,8613720.747,0.014125667,0.014125667 -26-03-2019 1:00,8614907.039,0.004338265,0.004338265 -26-03-2019 2:00,8616093.437,0.002601805,0.002601805 -26-03-2019 3:00,8617279.94,0.003592047,0.003592047 -26-03-2019 4:00,8618466.548,0.014783016,0.014783016 -26-03-2019 5:00,8619653.259,0.109520553,0.109520553 -26-03-2019 6:00,8620840.073,0.21942945,0.21942945 -26-03-2019 7:00,8622026.989,0.153463837,0.153463837 -26-03-2019 8:00,8623214.007,0.152125817,0.152125817 -26-03-2019 9:00,8624401.127,0.177070613,0.177070613 -26-03-2019 10:00,8625588.347,0.204187961,0.204187961 -26-03-2019 11:00,8626775.667,0.282705006,0.282705006 -26-03-2019 12:00,8627963.087,0.232960913,0.232960913 -26-03-2019 13:00,8629150.605,0.126870198,0.126870198 -26-03-2019 14:00,8630338.222,0.05699342,0.05699342 -26-03-2019 15:00,8631525.936,0.034377121,0.034377121 -26-03-2019 16:00,8632713.747,0.071241902,0.071241902 -26-03-2019 17:00,8633901.655,0.235811974,0.235811974 -26-03-2019 18:00,8635089.658,0.334634505,0.334634505 -26-03-2019 19:00,8636277.756,0.309584008,0.309584008 -26-03-2019 20:00,8637465.949,0.253882135,0.253882135 -26-03-2019 21:00,8638654.236,0.166147956,0.166147956 -26-03-2019 22:00,8639842.616,0.080223641,0.080223641 -26-03-2019 23:00,8641031.089,0.036022022,0.036022022 -27-03-2019 0:00,8642219.654,0.014380399,0.014380399 -27-03-2019 1:00,8643408.31,0.004719891,0.004719891 -27-03-2019 2:00,8644597.057,0.002575447,0.002575447 -27-03-2019 3:00,8645785.895,0.003364102,0.003364102 -27-03-2019 4:00,8646974.822,0.014908643,0.014908643 -27-03-2019 5:00,8648163.838,0.102423319,0.102423319 -27-03-2019 6:00,8649352.942,0.108815927,0.108815927 -27-03-2019 7:00,8650542.134,0.081678009,0.081678009 -27-03-2019 8:00,8651731.414,0.09806351,0.09806351 -27-03-2019 9:00,8652920.78,0.097694767,0.097694767 -27-03-2019 10:00,8654110.232,0.107054819,0.107054819 -27-03-2019 11:00,8655299.769,0.153490337,0.153490337 -27-03-2019 12:00,8656489.391,0.121808513,0.121808513 -27-03-2019 13:00,8657679.097,0.065822253,0.065822253 -27-03-2019 14:00,8658868.887,0.030515104,0.030515104 -27-03-2019 15:00,8660058.759,0.023538171,0.023538171 -27-03-2019 16:00,8661248.714,0.033022666,0.033022666 -27-03-2019 17:00,8662438.75,0.087323809,0.087323809 -27-03-2019 18:00,8663628.868,0.179858535,0.179858535 -27-03-2019 19:00,8664819.066,0.26270375,0.26270375 -27-03-2019 20:00,8666009.344,0.235582802,0.235582802 -27-03-2019 21:00,8667199.701,0.155059901,0.155059901 -27-03-2019 22:00,8668390.136,0.074476446,0.074476446 -27-03-2019 23:00,8669580.65,0.03355591,0.03355591 -28-03-2019 0:00,8670771.241,0.013192388,0.013192388 -28-03-2019 1:00,8671961.909,0.00360852,0.00360852 -28-03-2019 2:00,8673152.653,0.00182501,0.00182501 -28-03-2019 3:00,8674343.472,0.002874869,0.002874869 -28-03-2019 4:00,8675534.367,0.010443192,0.010443192 -28-03-2019 5:00,8676725.335,0.081839613,0.081839613 -28-03-2019 6:00,8677916.378,0.113019343,0.113019343 -28-03-2019 7:00,8679107.493,0.098477577,0.098477577 -28-03-2019 8:00,8680298.682,0.11221326,0.11221326 -28-03-2019 9:00,8681489.941,0.128287985,0.128287985 -28-03-2019 10:00,8682681.273,0.147754167,0.147754167 -28-03-2019 11:00,8683872.674,0.210562991,0.210562991 -28-03-2019 12:00,8685064.146,0.169334296,0.169334296 -28-03-2019 13:00,8686255.688,0.090664806,0.090664806 -28-03-2019 14:00,8687447.298,0.039578789,0.039578789 -28-03-2019 15:00,8688638.976,0.026135177,0.026135177 -28-03-2019 16:00,8689830.722,0.033395493,0.033395493 -28-03-2019 17:00,8691022.535,0.081298574,0.081298574 -28-03-2019 18:00,8692214.414,0.171976176,0.171976176 -28-03-2019 19:00,8693406.359,0.262477858,0.262477858 -28-03-2019 20:00,8694598.369,0.236840772,0.236840772 -28-03-2019 21:00,8695790.443,0.161980453,0.161980453 -28-03-2019 22:00,8696982.582,0.079860983,0.079860983 -28-03-2019 23:00,8698174.784,0.037200353,0.037200353 -29-03-2019 0:00,8699367.048,0.014735244,0.014735244 -29-03-2019 1:00,8700559.374,0.004604816,0.004604816 -29-03-2019 2:00,8701751.762,0.002499711,0.002499711 -29-03-2019 3:00,8702944.211,0.003860542,0.003860542 -29-03-2019 4:00,8704136.72,0.016846679,0.016846679 -29-03-2019 5:00,8705329.289,0.116966576,0.116966576 -29-03-2019 6:00,8706521.916,0.11513045,0.11513045 -29-03-2019 7:00,8707714.602,0.075541139,0.075541139 -29-03-2019 8:00,8708907.346,0.0722342,0.0722342 -29-03-2019 9:00,8710100.147,0.048459118,0.048459118 -29-03-2019 10:00,8711293.004,0.039606989,0.039606989 -29-03-2019 11:00,8712485.918,0.037537403,0.037537403 -29-03-2019 12:00,8713678.886,0.026565329,0.026565329 -29-03-2019 13:00,8714871.91,0.023193057,0.023193057 -29-03-2019 14:00,8716064.987,0.016696648,0.016696648 -29-03-2019 15:00,8717258.118,0.018783729,0.018783729 -29-03-2019 16:00,8718451.302,0.030610522,0.030610522 -29-03-2019 17:00,8719644.538,0.054397703,0.054397703 -29-03-2019 18:00,8720837.825,0.056615981,0.056615981 -29-03-2019 19:00,8722031.164,0.051798454,0.051798454 -29-03-2019 20:00,8723224.553,0.04271486,0.04271486 -29-03-2019 21:00,8724417.992,0.032410483,0.032410483 -29-03-2019 22:00,8725611.48,0.018822079,0.018822079 -29-03-2019 23:00,8726805.016,0.009766712,0.009766712 -30-03-2019 0:00,8727998.601,0.005231921,0.005231921 -30-03-2019 1:00,8729192.233,0.001918394,0.001918394 -30-03-2019 2:00,8730385.911,0.001883963,0.001883963 -30-03-2019 3:00,8731579.636,0.002253515,0.002253515 -30-03-2019 4:00,8732773.406,0.007581048,0.007581048 -30-03-2019 5:00,8733967.221,0.054335067,0.054335067 -30-03-2019 6:00,8735161.081,0.074436878,0.074436878 -30-03-2019 7:00,8736354.984,0.057819107,0.057819107 -30-03-2019 8:00,8737548.929,0.062404305,0.062404305 -30-03-2019 9:00,8738742.918,0.045198749,0.045198749 -30-03-2019 10:00,8739936.948,0.04081804,0.04081804 -30-03-2019 11:00,8741131.019,0.039821197,0.039821197 -30-03-2019 12:00,8742325.131,0.026927869,0.026927869 -30-03-2019 13:00,8743519.283,0.023954161,0.023954161 -30-03-2019 14:00,8744713.475,0.016731818,0.016731818 -30-03-2019 15:00,8745907.705,0.018793231,0.018793231 -30-03-2019 16:00,8747101.973,0.030610522,0.030610522 -30-03-2019 17:00,8748296.278,0.055801544,0.055801544 -30-03-2019 18:00,8749490.621,0.058201513,0.058201513 -30-03-2019 19:00,8750685,0.054175664,0.054175664 -30-03-2019 20:00,8751879.414,0.053907683,0.053907683 -30-03-2019 21:00,8753073.864,0.048169571,0.048169571 -30-03-2019 22:00,8754268.347,0.025518402,0.025518402 -30-03-2019 23:00,8755462.865,0.010980848,0.010980848 -31-03-2019 0:00,8756657.416,0.005389565,0.005389565 -31-03-2019 1:00,8757852,0.000926475,0.000926475 -31-03-2019 2:00,8759046.615,0.000987927,0.000987927 -31-03-2019 3:00,8760241.262,0.002331039,0.002331039 -31-03-2019 4:00,8761435.94,0.011714547,0.011714547 -31-03-2019 5:00,8762630.647,0.071853474,0.071853474 -31-03-2019 6:00,8763825.385,0.098316162,0.098316162 -31-03-2019 7:00,8765020.151,0.08469725,0.08469725 -31-03-2019 8:00,8766214.945,0.100146753,0.100146753 -31-03-2019 9:00,8767409.767,0.083917743,0.083917743 -31-03-2019 10:00,8768604.616,0.073958115,0.073958115 -31-03-2019 11:00,8769799.492,0.060979869,0.060979869 -31-03-2019 12:00,8770994.393,0.038879297,0.038879297 -31-03-2019 13:00,8772189.32,0.022413538,0.022413538 -31-03-2019 14:00,8773384.271,0.016696648,0.016696648 -31-03-2019 15:00,8774579.246,0.018783729,0.018783729 -31-03-2019 16:00,8775774.245,0.030610522,0.030610522 -31-03-2019 17:00,8776969.266,0.054336422,0.054336422 -31-03-2019 18:00,8778164.31,0.056696358,0.056696358 -31-03-2019 19:00,8779359.375,0.050313832,0.050313832 -31-03-2019 20:00,8780554.461,0.042290846,0.042290846 -31-03-2019 21:00,8781749.567,0.030785414,0.030785414 -31-03-2019 22:00,8782944.693,0.018062292,0.018062292 -31-03-2019 23:00,8784139.838,0.007115509,0.007115509 -01-04-2019 0:00,8785335.001,0.003861838,0.003861838 -01-04-2019 1:00,8786530.182,0.00181,0.00181 -01-04-2019 2:00,8787725.381,0.001563754,0.001563754 -01-04-2019 3:00,8788920.596,0.004119869,0.004119869 -01-04-2019 4:00,8790115.827,0.021171027,0.021171027 -01-04-2019 5:00,8791311.073,0.089946396,0.089946396 -01-04-2019 6:00,8792506.334,0.095254861,0.095254861 -01-04-2019 7:00,8793701.61,0.058983141,0.058983141 -01-04-2019 8:00,8794896.898,0.062889486,0.062889486 -01-04-2019 9:00,8796092.2,0.043976802,0.043976802 -01-04-2019 10:00,8797287.514,0.037627085,0.037627085 -01-04-2019 11:00,8798482.84,0.032347729,0.032347729 -01-04-2019 12:00,8799678.177,0.026875072,0.026875072 -01-04-2019 13:00,8800873.524,0.021566504,0.021566504 -01-04-2019 14:00,8802068.881,0.016696648,0.016696648 -01-04-2019 15:00,8803264.247,0.018783729,0.018783729 -01-04-2019 16:00,8804459.622,0.030610522,0.030610522 -01-04-2019 17:00,8805655.005,0.05429011,0.05429011 -01-04-2019 18:00,8806850.395,0.056512829,0.056512829 -01-04-2019 19:00,8808045.793,0.050210406,0.050210406 -01-04-2019 20:00,8809241.196,0.041741948,0.041741948 -01-04-2019 21:00,8810436.605,0.029012108,0.029012108 -01-04-2019 22:00,8811632.018,0.01401183,0.01401183 -01-04-2019 23:00,8812827.436,0.00549035,0.00549035 -02-04-2019 0:00,8814022.858,0.003970728,0.003970728 -02-04-2019 1:00,8815218.283,0.001711879,0.001711879 -02-04-2019 2:00,8816413.71,0.001464307,0.001464307 -02-04-2019 3:00,8817609.139,0.002070798,0.002070798 -02-04-2019 4:00,8818804.569,0.009832588,0.009832588 -02-04-2019 5:00,8820000,0.062920674,0.062920674 -02-04-2019 6:00,8821195.431,0.08082308,0.08082308 -02-04-2019 7:00,8822390.861,0.064409968,0.064409968 -02-04-2019 8:00,8823586.29,0.075740735,0.075740735 -02-04-2019 9:00,8824781.717,0.067541419,0.067541419 -02-04-2019 10:00,8825977.142,0.06010177,0.06010177 -02-04-2019 11:00,8827172.564,0.060254538,0.060254538 -02-04-2019 12:00,8828367.982,0.039711682,0.039711682 -02-04-2019 13:00,8829563.395,0.025865117,0.025865117 -02-04-2019 14:00,8830758.804,0.017136727,0.017136727 -02-04-2019 15:00,8831954.207,0.018836164,0.018836164 -02-04-2019 16:00,8833149.605,0.031537845,0.031537845 -02-04-2019 17:00,8834344.995,0.058118937,0.058118937 -02-04-2019 18:00,8835540.378,0.06481414,0.06481414 -02-04-2019 19:00,8836735.753,0.085268026,0.085268026 -02-04-2019 20:00,8837931.119,0.072063947,0.072063947 -02-04-2019 21:00,8839126.476,0.044540575,0.044540575 -02-04-2019 22:00,8840321.823,0.023411331,0.023411331 -02-04-2019 23:00,8841517.16,0.01213695,0.01213695 -03-04-2019 0:00,8842712.486,0.004935128,0.004935128 -03-04-2019 1:00,8843907.8,0.00154212,0.00154212 -03-04-2019 2:00,8845103.102,0.001827258,0.001827258 -03-04-2019 3:00,8846298.39,0.004360514,0.004360514 -03-04-2019 4:00,8847493.666,0.024605657,0.024605657 -03-04-2019 5:00,8848688.927,0.094119033,0.094119033 -03-04-2019 6:00,8849884.173,0.117274912,0.117274912 -03-04-2019 7:00,8851079.404,0.102862094,0.102862094 -03-04-2019 8:00,8852274.619,0.130191532,0.130191532 -03-04-2019 9:00,8853469.818,0.119309822,0.119309822 -03-04-2019 10:00,8854664.999,0.117480372,0.117480372 -03-04-2019 11:00,8855860.162,0.13902754,0.13902754 -03-04-2019 12:00,8857055.307,0.079229965,0.079229965 -03-04-2019 13:00,8858250.433,0.038959836,0.038959836 -03-04-2019 14:00,8859445.539,0.020941712,0.020941712 -03-04-2019 15:00,8860640.625,0.019594751,0.019594751 -03-04-2019 16:00,8861835.69,0.03227031,0.03227031 -03-04-2019 17:00,8863030.734,0.06619245,0.06619245 -03-04-2019 18:00,8864225.755,0.120947101,0.120947101 -03-04-2019 19:00,8865420.754,0.165305225,0.165305225 -03-04-2019 20:00,8866615.729,0.14842168,0.14842168 -03-04-2019 21:00,8867810.68,0.085450136,0.085450136 -03-04-2019 22:00,8869005.607,0.043574306,0.043574306 -03-04-2019 23:00,8870200.508,0.01599333,0.01599333 -04-04-2019 0:00,8871395.384,0.006497599,0.006497599 -04-04-2019 1:00,8872590.233,0.002447435,0.002447435 -04-04-2019 2:00,8873785.055,0.002742265,0.002742265 -04-04-2019 3:00,8874979.849,0.008058849,0.008058849 -04-04-2019 4:00,8876174.615,0.055769687,0.055769687 -04-04-2019 5:00,8877369.353,0.171297966,0.171297966 -04-04-2019 6:00,8878564.06,0.163006087,0.163006087 -04-04-2019 7:00,8879758.738,0.137690831,0.137690831 -04-04-2019 8:00,8880953.385,0.182030182,0.182030182 -04-04-2019 9:00,8882148,0.179091015,0.179091015 -04-04-2019 10:00,8883342.584,0.187824637,0.187824637 -04-04-2019 11:00,8884537.135,0.224450921,0.224450921 -04-04-2019 12:00,8885731.653,0.117896422,0.117896422 -04-04-2019 13:00,8886926.136,0.055690672,0.055690672 -04-04-2019 14:00,8888120.586,0.02730606,0.02730606 -04-04-2019 15:00,8889315,0.020930226,0.020930226 -04-04-2019 16:00,8890509.379,0.032724108,0.032724108 -04-04-2019 17:00,8891703.722,0.075916272,0.075916272 -04-04-2019 18:00,8892898.027,0.137700001,0.137700001 -04-04-2019 19:00,8894092.295,0.196974377,0.196974377 -04-04-2019 20:00,8895286.525,0.165879,0.165879 -04-04-2019 21:00,8896480.717,0.092461915,0.092461915 -04-04-2019 22:00,8897674.869,0.044713749,0.044713749 -04-04-2019 23:00,8898868.981,0.016510974,0.016510974 -05-04-2019 0:00,8900063.052,0.006722569,0.006722569 -05-04-2019 1:00,8901257.082,0.002628263,0.002628263 -05-04-2019 2:00,8902451.071,0.003066257,0.003066257 -05-04-2019 3:00,8903645.016,0.010535706,0.010535706 -05-04-2019 4:00,8904838.919,0.071974011,0.071974011 -05-04-2019 5:00,8906032.779,0.200472793,0.200472793 -05-04-2019 6:00,8907226.594,0.175537937,0.175537937 -05-04-2019 7:00,8908420.364,0.144081627,0.144081627 -05-04-2019 8:00,8909614.089,0.183555775,0.183555775 -05-04-2019 9:00,8910807.767,0.169999424,0.169999424 -05-04-2019 10:00,8912001.399,0.135061216,0.135061216 -05-04-2019 11:00,8913194.984,0.160611944,0.160611944 -05-04-2019 12:00,8914388.52,0.089420299,0.089420299 -05-04-2019 13:00,8915582.008,0.04079035,0.04079035 -05-04-2019 14:00,8916775.447,0.021669691,0.021669691 -05-04-2019 15:00,8917968.836,0.019363754,0.019363754 -05-04-2019 16:00,8919162.175,0.032124382,0.032124382 -05-04-2019 17:00,8920355.462,0.062672538,0.062672538 -05-04-2019 18:00,8921548.698,0.114691874,0.114691874 -05-04-2019 19:00,8922741.882,0.141922816,0.141922816 -05-04-2019 20:00,8923935.013,0.13929392,0.13929392 -05-04-2019 21:00,8925128.09,0.084036879,0.084036879 -05-04-2019 22:00,8926321.114,0.041769155,0.041769155 -05-04-2019 23:00,8927514.082,0.015085599,0.015085599 -06-04-2019 0:00,8928706.996,0.005918962,0.005918962 -06-04-2019 1:00,8929899.853,0.001977945,0.001977945 -06-04-2019 2:00,8931092.654,0.002282023,0.002282023 -06-04-2019 3:00,8932285.398,0.00578698,0.00578698 -06-04-2019 4:00,8933478.084,0.039100832,0.039100832 -06-04-2019 5:00,8934670.711,0.133931555,0.133931555 -06-04-2019 6:00,8935863.28,0.135577421,0.135577421 -06-04-2019 7:00,8937055.789,0.118966548,0.118966548 -06-04-2019 8:00,8938248.238,0.157055736,0.157055736 -06-04-2019 9:00,8939440.626,0.150758453,0.150758453 -06-04-2019 10:00,8940632.952,0.1554261,0.1554261 -06-04-2019 11:00,8941825.216,0.176083869,0.176083869 -06-04-2019 12:00,8943017.418,0.088313695,0.088313695 -06-04-2019 13:00,8944209.557,0.041886319,0.041886319 -06-04-2019 14:00,8945401.631,0.021922032,0.021922032 -06-04-2019 15:00,8946593.641,0.01900687,0.01900687 -06-04-2019 16:00,8947785.586,0.031530033,0.031530033 -06-04-2019 17:00,8948977.465,0.058327435,0.058327435 -06-04-2019 18:00,8950169.278,0.07661104,0.07661104 -06-04-2019 19:00,8951361.024,0.104726142,0.104726142 -06-04-2019 20:00,8952552.702,0.102530837,0.102530837 -06-04-2019 21:00,8953744.312,0.074213179,0.074213179 -06-04-2019 22:00,8954935.854,0.038189214,0.038189214 -06-04-2019 23:00,8956127.326,0.013783587,0.013783587 -07-04-2019 0:00,8957318.727,0.004888114,0.004888114 -07-04-2019 1:00,8958510.059,0.001365481,0.001365481 -07-04-2019 2:00,8959701.318,0.001636124,0.001636124 -07-04-2019 3:00,8960892.507,0.003893384,0.003893384 -07-04-2019 4:00,8962083.622,0.023079688,0.023079688 -07-04-2019 5:00,8963274.665,0.091063758,0.091063758 -07-04-2019 6:00,8964465.633,0.109643347,0.109643347 -07-04-2019 7:00,8965656.528,0.092552488,0.092552488 -07-04-2019 8:00,8966847.347,0.112482079,0.112482079 -07-04-2019 9:00,8968038.091,0.092211971,0.092211971 -07-04-2019 10:00,8969228.759,0.049549333,0.049549333 -07-04-2019 11:00,8970419.35,0.03911469,0.03911469 -07-04-2019 12:00,8971609.864,0.029437006,0.029437006 -07-04-2019 13:00,8972800.299,0.022248851,0.022248851 -07-04-2019 14:00,8973990.656,0.016696648,0.016696648 -07-04-2019 15:00,8975180.934,0.018783729,0.018783729 -07-04-2019 16:00,8976371.132,0.030610522,0.030610522 -07-04-2019 17:00,8977561.25,0.055138478,0.055138478 -07-04-2019 18:00,8978751.286,0.057266402,0.057266402 -07-04-2019 19:00,8979941.241,0.050780958,0.050780958 -07-04-2019 20:00,8981131.113,0.043590078,0.043590078 -07-04-2019 21:00,8982320.903,0.032073439,0.032073439 -07-04-2019 22:00,8983510.609,0.017100148,0.017100148 -07-04-2019 23:00,8984700.231,0.006662714,0.006662714 -08-04-2019 0:00,8985889.768,0.003381948,0.003381948 -08-04-2019 1:00,8987079.22,0.000894235,0.000894235 -08-04-2019 2:00,8988268.586,0.000695694,0.000695694 -08-04-2019 3:00,8989457.866,0.001588496,0.001588496 -08-04-2019 4:00,8990647.058,0.006679002,0.006679002 -08-04-2019 5:00,8991836.162,0.050485529,0.050485529 -08-04-2019 6:00,8993025.178,0.070497221,0.070497221 -08-04-2019 7:00,8994214.105,0.051395054,0.051395054 -08-04-2019 8:00,8995402.943,0.059592598,0.059592598 -08-04-2019 9:00,8996591.69,0.043295996,0.043295996 -08-04-2019 10:00,8997780.346,0.037356711,0.037356711 -08-04-2019 11:00,8998968.911,0.031308123,0.031308123 -08-04-2019 12:00,9000157.384,0.025044973,0.025044973 -08-04-2019 13:00,9001345.764,0.021566504,0.021566504 -08-04-2019 14:00,9002534.051,0.016696648,0.016696648 -08-04-2019 15:00,9003722.244,0.018783729,0.018783729 -08-04-2019 16:00,9004910.342,0.030610522,0.030610522 -08-04-2019 17:00,9006098.345,0.054264107,0.054264107 -08-04-2019 18:00,9007286.253,0.055170722,0.055170722 -08-04-2019 19:00,9008474.064,0.049398852,0.049398852 -08-04-2019 20:00,9009661.778,0.0412991,0.0412991 -08-04-2019 21:00,9010849.395,0.028806518,0.028806518 -08-04-2019 22:00,9012036.913,0.013913874,0.013913874 -08-04-2019 23:00,9013224.333,0.004869856,0.004869856 -09-04-2019 0:00,9014411.653,0.002782775,0.002782775 -09-04-2019 1:00,9015598.873,0.000695694,0.000695694 -09-04-2019 2:00,9016785.993,0.000695694,0.000695694 -09-04-2019 3:00,9017973.011,0.001391387,0.001391387 -09-04-2019 4:00,9019159.927,0.005146048,0.005146048 -09-04-2019 5:00,9020346.741,0.040829046,0.040829046 -09-04-2019 6:00,9021533.452,0.068734372,0.068734372 -09-04-2019 7:00,9022720.06,0.050754155,0.050754155 -09-04-2019 8:00,9023906.563,0.060830064,0.060830064 -09-04-2019 9:00,9025092.961,0.044186405,0.044186405 -09-04-2019 10:00,9026279.253,0.038406059,0.038406059 -09-04-2019 11:00,9027465.44,0.032688958,0.032688958 -09-04-2019 12:00,9028651.52,0.027930231,0.027930231 -09-04-2019 13:00,9029837.492,0.021572145,0.021572145 -09-04-2019 14:00,9031023.356,0.016696648,0.016696648 -09-04-2019 15:00,9032209.112,0.018783729,0.018783729 -09-04-2019 16:00,9033394.759,0.030610522,0.030610522 -09-04-2019 17:00,9034580.296,0.054964075,0.054964075 -09-04-2019 18:00,9035765.722,0.0571246,0.0571246 -09-04-2019 19:00,9036951.038,0.050485661,0.050485661 -09-04-2019 20:00,9038136.242,0.041643,0.041643 -09-04-2019 21:00,9039321.333,0.028947856,0.028947856 -09-04-2019 22:00,9040506.312,0.014904326,0.014904326 -09-04-2019 23:00,9041691.178,0.005902896,0.005902896 -10-04-2019 0:00,9042875.929,0.003216469,0.003216469 -10-04-2019 1:00,9044060.566,0.000695694,0.000695694 -10-04-2019 2:00,9045245.087,0.000886178,0.000886178 -10-04-2019 3:00,9046429.493,0.001703365,0.001703365 -10-04-2019 4:00,9047613.782,0.006034576,0.006034576 -10-04-2019 5:00,9048797.954,0.051093044,0.051093044 -10-04-2019 6:00,9049982.008,0.070586409,0.070586409 -10-04-2019 7:00,9051165.944,0.051880113,0.051880113 -10-04-2019 8:00,9052349.761,0.060212854,0.060212854 -10-04-2019 9:00,9053533.458,0.043384939,0.043384939 -10-04-2019 10:00,9054717.035,0.03748867,0.03748867 -10-04-2019 11:00,9055900.492,0.031663986,0.031663986 -10-04-2019 12:00,9057083.827,0.025535168,0.025535168 -10-04-2019 13:00,9058267.04,0.021566504,0.021566504 -10-04-2019 14:00,9059450.131,0.016696648,0.016696648 -10-04-2019 15:00,9060633.099,0.018783729,0.018783729 -10-04-2019 16:00,9061815.942,0.030610522,0.030610522 -10-04-2019 17:00,9062998.662,0.054264107,0.054264107 -10-04-2019 18:00,9064181.256,0.055252755,0.055252755 -10-04-2019 19:00,9065363.724,0.049922368,0.049922368 -10-04-2019 20:00,9066546.067,0.041459475,0.041459475 -10-04-2019 21:00,9067728.282,0.02896096,0.02896096 -10-04-2019 22:00,9068910.371,0.013913874,0.013913874 -10-04-2019 23:00,9070092.331,0.004869856,0.004869856 -11-04-2019 0:00,9071274.162,0.002821346,0.002821346 -11-04-2019 1:00,9072455.864,0.001039929,0.001039929 -11-04-2019 2:00,9073637.436,0.001392657,0.001392657 -11-04-2019 3:00,9074818.878,0.002097596,0.002097596 -11-04-2019 4:00,9076000.189,0.006492389,0.006492389 -11-04-2019 5:00,9077181.368,0.042607031,0.042607031 -11-04-2019 6:00,9078362.414,0.070739806,0.070739806 -11-04-2019 7:00,9079543.328,0.050680878,0.050680878 -11-04-2019 8:00,9080724.108,0.060666097,0.060666097 -11-04-2019 9:00,9081904.754,0.04358388,0.04358388 -11-04-2019 10:00,9083085.266,0.03763621,0.03763621 -11-04-2019 11:00,9084265.642,0.032290684,0.032290684 -11-04-2019 12:00,9085445.882,0.027202954,0.027202954 -11-04-2019 13:00,9086625.985,0.021566504,0.021566504 -11-04-2019 14:00,9087805.952,0.016696648,0.016696648 -11-04-2019 15:00,9088985.78,0.018805016,0.018805016 -11-04-2019 16:00,9090165.47,0.030622837,0.030622837 -11-04-2019 17:00,9091345.022,0.055810257,0.055810257 -11-04-2019 18:00,9092524.433,0.057854827,0.057854827 -11-04-2019 19:00,9093703.705,0.050782304,0.050782304 -11-04-2019 20:00,9094882.835,0.042005922,0.042005922 -11-04-2019 21:00,9096061.824,0.028986923,0.028986923 -11-04-2019 22:00,9097240.671,0.013974099,0.013974099 -11-04-2019 23:00,9098419.376,0.0056808,0.0056808 -12-04-2019 0:00,9099597.937,0.003595054,0.003595054 -12-04-2019 1:00,9100776.355,0.001439883,0.001439883 -12-04-2019 2:00,9101954.627,0.001446745,0.001446745 -12-04-2019 3:00,9103132.755,0.002089597,0.002089597 -12-04-2019 4:00,9104310.738,0.009541723,0.009541723 -12-04-2019 5:00,9105488.574,0.059982088,0.059982088 -12-04-2019 6:00,9106666.263,0.076374924,0.076374924 -12-04-2019 7:00,9107843.804,0.055977878,0.055977878 -12-04-2019 8:00,9109021.198,0.063349203,0.063349203 -12-04-2019 9:00,9110198.443,0.047123812,0.047123812 -12-04-2019 10:00,9111375.538,0.040049374,0.040049374 -12-04-2019 11:00,9112552.484,0.039292272,0.039292272 -12-04-2019 12:00,9113729.279,0.031098473,0.031098473 -12-04-2019 13:00,9114905.923,0.023057635,0.023057635 -12-04-2019 14:00,9116082.416,0.017370876,0.017370876 -12-04-2019 15:00,9117258.756,0.01881565,0.01881565 -12-04-2019 16:00,9118434.943,0.030677832,0.030677832 -12-04-2019 17:00,9119610.976,0.056913114,0.056913114 -12-04-2019 18:00,9120786.856,0.059448572,0.059448572 -12-04-2019 19:00,9121962.58,0.063688005,0.063688005 -12-04-2019 20:00,9123138.15,0.068755789,0.068755789 -12-04-2019 21:00,9124313.563,0.042407653,0.042407653 -12-04-2019 22:00,9125488.82,0.020344323,0.020344323 -12-04-2019 23:00,9126663.919,0.008270029,0.008270029 -13-04-2019 0:00,9127838.861,0.004917301,0.004917301 -13-04-2019 1:00,9129013.645,0.002589996,0.002589996 -13-04-2019 2:00,9130188.269,0.002821117,0.002821117 -13-04-2019 3:00,9131362.734,0.006867579,0.006867579 -13-04-2019 4:00,9132537.039,0.034623356,0.034623356 -13-04-2019 5:00,9133711.183,0.108239907,0.108239907 -13-04-2019 6:00,9134885.166,0.100881781,0.100881781 -13-04-2019 7:00,9136058.986,0.057542924,0.057542924 -13-04-2019 8:00,9137232.644,0.064879183,0.064879183 -13-04-2019 9:00,9138406.139,0.048234016,0.048234016 -13-04-2019 10:00,9139579.47,0.045095181,0.045095181 -13-04-2019 11:00,9140752.637,0.044288516,0.044288516 -13-04-2019 12:00,9141925.638,0.035877234,0.035877234 -13-04-2019 13:00,9143098.474,0.024702864,0.024702864 -13-04-2019 14:00,9144271.144,0.018330426,0.018330426 -13-04-2019 15:00,9145443.647,0.019886747,0.019886747 -13-04-2019 16:00,9146615.982,0.032103414,0.032103414 -13-04-2019 17:00,9147788.15,0.06343498,0.06343498 -13-04-2019 18:00,9148960.148,0.104012572,0.104012572 -13-04-2019 19:00,9150131.978,0.105873108,0.105873108 -13-04-2019 20:00,9151303.638,0.083303608,0.083303608 -13-04-2019 21:00,9152475.127,0.050381925,0.050381925 -13-04-2019 22:00,9153646.445,0.032704711,0.032704711 -13-04-2019 23:00,9154817.592,0.01674059,0.01674059 -14-04-2019 0:00,9155988.566,0.007466889,0.007466889 -14-04-2019 1:00,9157159.368,0.003255369,0.003255369 -14-04-2019 2:00,9158329.996,0.00358503,0.00358503 -14-04-2019 3:00,9159500.45,0.009416624,0.009416624 -14-04-2019 4:00,9160670.729,0.051757059,0.051757059 -14-04-2019 5:00,9161840.833,0.166447034,0.166447034 -14-04-2019 6:00,9163010.761,0.15703612,0.15703612 -14-04-2019 7:00,9164180.513,0.128210023,0.128210023 -14-04-2019 8:00,9165350.088,0.109571645,0.109571645 -14-04-2019 9:00,9166519.485,0.060004017,0.060004017 -14-04-2019 10:00,9167688.703,0.04837555,0.04837555 -14-04-2019 11:00,9168857.743,0.052827993,0.052827993 -14-04-2019 12:00,9170026.604,0.033855128,0.033855128 -14-04-2019 13:00,9171195.284,0.022973961,0.022973961 -14-04-2019 14:00,9172363.784,0.016794238,0.016794238 -14-04-2019 15:00,9173532.102,0.018783729,0.018783729 -14-04-2019 16:00,9174700.238,0.030749892,0.030749892 -14-04-2019 17:00,9175868.192,0.056968368,0.056968368 -14-04-2019 18:00,9177035.963,0.059107559,0.059107559 -14-04-2019 19:00,9178203.551,0.053095012,0.053095012 -14-04-2019 20:00,9179370.953,0.063422102,0.063422102 -14-04-2019 21:00,9180538.172,0.04395817,0.04395817 -14-04-2019 22:00,9181705.204,0.02182801,0.02182801 -14-04-2019 23:00,9182872.051,0.009106011,0.009106011 -15-04-2019 0:00,9184038.71,0.005496358,0.005496358 -15-04-2019 1:00,9185205.183,0.002860546,0.002860546 -15-04-2019 2:00,9186371.468,0.003048615,0.003048615 -15-04-2019 3:00,9187537.564,0.007460413,0.007460413 -15-04-2019 4:00,9188703.471,0.03925313,0.03925313 -15-04-2019 5:00,9189869.188,0.118613358,0.118613358 -15-04-2019 6:00,9191034.715,0.119271439,0.119271439 -15-04-2019 7:00,9192200.052,0.075238694,0.075238694 -15-04-2019 8:00,9193365.196,0.072660459,0.072660459 -15-04-2019 9:00,9194530.149,0.053249429,0.053249429 -15-04-2019 10:00,9195694.909,0.048311283,0.048311283 -15-04-2019 11:00,9196859.476,0.045100111,0.045100111 -15-04-2019 12:00,9198023.849,0.031805569,0.031805569 -15-04-2019 13:00,9199188.027,0.023414921,0.023414921 -15-04-2019 14:00,9200352.01,0.016696648,0.016696648 -15-04-2019 15:00,9201515.798,0.018783729,0.018783729 -15-04-2019 16:00,9202679.389,0.030610522,0.030610522 -15-04-2019 17:00,9203842.784,0.054367207,0.054367207 -15-04-2019 18:00,9205005.981,0.057257745,0.057257745 -15-04-2019 19:00,9206168.98,0.050575113,0.050575113 -15-04-2019 20:00,9207331.78,0.042155032,0.042155032 -15-04-2019 21:00,9208494.381,0.030580346,0.030580346 -15-04-2019 22:00,9209656.782,0.017791773,0.017791773 -15-04-2019 23:00,9210818.983,0.006622327,0.006622327 -16-04-2019 0:00,9211980.982,0.003845922,0.003845922 -16-04-2019 1:00,9213142.78,0.001886819,0.001886819 -16-04-2019 2:00,9214304.376,0.001541982,0.001541982 -16-04-2019 3:00,9215465.769,0.003671562,0.003671562 -16-04-2019 4:00,9216626.958,0.01766395,0.01766395 -16-04-2019 5:00,9217787.943,0.074282931,0.074282931 -16-04-2019 6:00,9218948.724,0.076403027,0.076403027 -16-04-2019 7:00,9220109.299,0.058652767,0.058652767 -16-04-2019 8:00,9221269.669,0.070316179,0.070316179 -16-04-2019 9:00,9222429.832,0.060854767,0.060854767 -16-04-2019 10:00,9223589.788,0.051807493,0.051807493 -16-04-2019 11:00,9224749.537,0.040447617,0.040447617 -16-04-2019 12:00,9225909.077,0.031929285,0.031929285 -16-04-2019 13:00,9227068.409,0.023005004,0.023005004 -16-04-2019 14:00,9228227.531,0.016911859,0.016911859 -16-04-2019 15:00,9229386.443,0.018808113,0.018808113 -16-04-2019 16:00,9230545.144,0.030884655,0.030884655 -16-04-2019 17:00,9231703.634,0.05652512,0.05652512 -16-04-2019 18:00,9232861.913,0.058568634,0.058568634 -16-04-2019 19:00,9234019.978,0.054077798,0.054077798 -16-04-2019 20:00,9235177.831,0.055125544,0.055125544 -16-04-2019 21:00,9236335.471,0.038397176,0.038397176 -16-04-2019 22:00,9237492.896,0.019329914,0.019329914 -16-04-2019 23:00,9238650.106,0.00740184,0.00740184 -17-04-2019 0:00,9239807.102,0.003507908,0.003507908 -17-04-2019 1:00,9240963.881,0.001155179,0.001155179 -17-04-2019 2:00,9242120.443,0.00139156,0.00139156 -17-04-2019 3:00,9243276.788,0.002969042,0.002969042 -17-04-2019 4:00,9244432.916,0.01429973,0.01429973 -17-04-2019 5:00,9245588.825,0.066588354,0.066588354 -17-04-2019 6:00,9246744.515,0.082480007,0.082480007 -17-04-2019 7:00,9247899.986,0.06250685,0.06250685 -17-04-2019 8:00,9249055.237,0.070773888,0.070773888 -17-04-2019 9:00,9250210.267,0.05672642,0.05672642 -17-04-2019 10:00,9251365.075,0.049748605,0.049748605 -17-04-2019 11:00,9252519.662,0.044152435,0.044152435 -17-04-2019 12:00,9253674.026,0.032042741,0.032042741 -17-04-2019 13:00,9254828.167,0.022735975,0.022735975 -17-04-2019 14:00,9255982.084,0.016839523,0.016839523 -17-04-2019 15:00,9257135.777,0.018783729,0.018783729 -17-04-2019 16:00,9258289.245,0.030721633,0.030721633 -17-04-2019 17:00,9259442.488,0.056061651,0.056061651 -17-04-2019 18:00,9260595.504,0.058007673,0.058007673 -17-04-2019 19:00,9261748.294,0.0518866,0.0518866 -17-04-2019 20:00,9262900.857,0.051070911,0.051070911 -17-04-2019 21:00,9264053.192,0.036572731,0.036572731 -17-04-2019 22:00,9265205.298,0.017952997,0.017952997 -17-04-2019 23:00,9266357.175,0.006747678,0.006747678 -18-04-2019 0:00,9267508.823,0.003286003,0.003286003 -18-04-2019 1:00,9268660.24,0.000872141,0.000872141 -18-04-2019 2:00,9269811.427,0.000695694,0.000695694 -18-04-2019 3:00,9270962.382,0.001628653,0.001628653 -18-04-2019 4:00,9272113.105,0.006497091,0.006497091 -18-04-2019 5:00,9273263.596,0.046245363,0.046245363 -18-04-2019 6:00,9274413.853,0.069009715,0.069009715 -18-04-2019 7:00,9275563.877,0.050313027,0.050313027 -18-04-2019 8:00,9276713.666,0.059149792,0.059149792 -18-04-2019 9:00,9277863.22,0.043146943,0.043146943 -18-04-2019 10:00,9279012.539,0.037178892,0.037178892 -18-04-2019 11:00,9280161.622,0.031306216,0.031306216 -18-04-2019 12:00,9281310.468,0.025044973,0.025044973 -18-04-2019 13:00,9282459.076,0.021566504,0.021566504 -18-04-2019 14:00,9283607.447,0.016696648,0.016696648 -18-04-2019 15:00,9284755.579,0.018783729,0.018783729 -18-04-2019 16:00,9285903.472,0.030610522,0.030610522 -18-04-2019 17:00,9287051.125,0.054264107,0.054264107 -18-04-2019 18:00,9288198.538,0.054959801,0.054959801 -18-04-2019 19:00,9289345.711,0.048698558,0.048698558 -18-04-2019 20:00,9290492.641,0.040350234,0.040350234 -18-04-2019 21:00,9291639.33,0.028523441,0.028523441 -18-04-2019 22:00,9292785.776,0.013913874,0.013913874 -18-04-2019 23:00,9293931.979,0.004869856,0.004869856 -19-04-2019 0:00,9295077.938,0.002782775,0.002782775 -19-04-2019 1:00,9296223.652,0.000695694,0.000695694 -19-04-2019 2:00,9297369.122,0.000695694,0.000695694 -19-04-2019 3:00,9298514.346,0.001391387,0.001391387 -19-04-2019 4:00,9299659.324,0.004869856,0.004869856 -19-04-2019 5:00,9300804.055,0.039916968,0.039916968 -19-04-2019 6:00,9301948.538,0.065434389,0.065434389 -19-04-2019 7:00,9303092.774,0.050374494,0.050374494 -19-04-2019 8:00,9304236.761,0.059133963,0.059133963 -19-04-2019 9:00,9305380.5,0.042841189,0.042841189 -19-04-2019 10:00,9306523.988,0.036871765,0.036871765 -19-04-2019 11:00,9307667.226,0.031306216,0.031306216 -19-04-2019 12:00,9308810.213,0.025044973,0.025044973 -19-04-2019 13:00,9309952.949,0.021566504,0.021566504 -19-04-2019 14:00,9311095.433,0.016696648,0.016696648 -19-04-2019 15:00,9312237.664,0.018783729,0.018783729 -19-04-2019 16:00,9313379.641,0.030610522,0.030610522 -19-04-2019 17:00,9314521.365,0.054264107,0.054264107 -19-04-2019 18:00,9315662.835,0.054959801,0.054959801 -19-04-2019 19:00,9316804.05,0.048698558,0.048698558 -19-04-2019 20:00,9317945.009,0.040350234,0.040350234 -19-04-2019 21:00,9319085.711,0.028523441,0.028523441 -19-04-2019 22:00,9320226.157,0.013913874,0.013913874 -19-04-2019 23:00,9321366.346,0.004869856,0.004869856 -20-04-2019 0:00,9322506.277,0.002782775,0.002782775 -20-04-2019 1:00,9323645.949,0.000695694,0.000695694 -20-04-2019 2:00,9324785.362,0.000695694,0.000695694 -20-04-2019 3:00,9325924.516,0.001391387,0.001391387 -20-04-2019 4:00,9327063.409,0.004869856,0.004869856 -20-04-2019 5:00,9328202.041,0.038958846,0.038958846 -20-04-2019 6:00,9329340.412,0.064699512,0.064699512 -20-04-2019 7:00,9330478.521,0.050089945,0.050089945 -20-04-2019 8:00,9331616.367,0.059133963,0.059133963 -20-04-2019 9:00,9332753.95,0.042437315,0.042437315 -20-04-2019 10:00,9333891.269,0.036871765,0.036871765 -20-04-2019 11:00,9335028.324,0.031306216,0.031306216 -20-04-2019 12:00,9336165.114,0.025044973,0.025044973 -20-04-2019 13:00,9337301.638,0.021566504,0.021566504 -20-04-2019 14:00,9338437.896,0.016696648,0.016696648 -20-04-2019 15:00,9339573.888,0.018783729,0.018783729 -20-04-2019 16:00,9340709.612,0.030610522,0.030610522 -20-04-2019 17:00,9341845.068,0.054264107,0.054264107 -20-04-2019 18:00,9342980.256,0.054959801,0.054959801 -20-04-2019 19:00,9344115.175,0.048698558,0.048698558 -20-04-2019 20:00,9345249.824,0.040350234,0.040350234 -20-04-2019 21:00,9346384.203,0.028523441,0.028523441 -20-04-2019 22:00,9347518.311,0.013913874,0.013913874 -20-04-2019 23:00,9348652.148,0.004869856,0.004869856 -21-04-2019 0:00,9349785.712,0.002782775,0.002782775 -21-04-2019 1:00,9350919.005,0.000695694,0.000695694 -21-04-2019 2:00,9352052.024,0.000695694,0.000695694 -21-04-2019 3:00,9353184.769,0.001391387,0.001391387 -21-04-2019 4:00,9354317.24,0.004869856,0.004869856 -21-04-2019 5:00,9355449.436,0.038958846,0.038958846 -21-04-2019 6:00,9356581.357,0.064699512,0.064699512 -21-04-2019 7:00,9357713.001,0.050089945,0.050089945 -21-04-2019 8:00,9358844.369,0.059133963,0.059133963 -21-04-2019 9:00,9359975.46,0.042437315,0.042437315 -21-04-2019 10:00,9361106.273,0.036871765,0.036871765 -21-04-2019 11:00,9362236.808,0.031306216,0.031306216 -21-04-2019 12:00,9363367.064,0.025044973,0.025044973 -21-04-2019 13:00,9364497.04,0.021566504,0.021566504 -21-04-2019 14:00,9365626.736,0.016696648,0.016696648 -21-04-2019 15:00,9366756.151,0.018783729,0.018783729 -21-04-2019 16:00,9367885.285,0.030610522,0.030610522 -21-04-2019 17:00,9369014.137,0.054264107,0.054264107 -21-04-2019 18:00,9370142.707,0.054959801,0.054959801 -21-04-2019 19:00,9371270.993,0.048698558,0.048698558 -21-04-2019 20:00,9372398.996,0.040350234,0.040350234 -21-04-2019 21:00,9373526.715,0.028523441,0.028523441 -21-04-2019 22:00,9374654.149,0.013913874,0.013913874 -21-04-2019 23:00,9375781.298,0.004869856,0.004869856 -22-04-2019 0:00,9376908.161,0.002782775,0.002782775 -22-04-2019 1:00,9378034.737,0.000695694,0.000695694 -22-04-2019 2:00,9379161.027,0.000695694,0.000695694 -22-04-2019 3:00,9380287.028,0.001391387,0.001391387 -22-04-2019 4:00,9381412.741,0.004869856,0.004869856 -22-04-2019 5:00,9382538.166,0.038958846,0.038958846 -22-04-2019 6:00,9383663.301,0.064699512,0.064699512 -22-04-2019 7:00,9384788.146,0.050089945,0.050089945 -22-04-2019 8:00,9385912.701,0.059133963,0.059133963 -22-04-2019 9:00,9387036.964,0.042437315,0.042437315 -22-04-2019 10:00,9388160.936,0.036871765,0.036871765 -22-04-2019 11:00,9389284.615,0.031306216,0.031306216 -22-04-2019 12:00,9390408.002,0.025044973,0.025044973 -22-04-2019 13:00,9391531.095,0.021566504,0.021566504 -22-04-2019 14:00,9392653.894,0.016696648,0.016696648 -22-04-2019 15:00,9393776.398,0.018783729,0.018783729 -22-04-2019 16:00,9394898.608,0.030610522,0.030610522 -22-04-2019 17:00,9396020.521,0.054264107,0.054264107 -22-04-2019 18:00,9397142.138,0.054959801,0.054959801 -22-04-2019 19:00,9398263.459,0.048698558,0.048698558 -22-04-2019 20:00,9399384.481,0.040350234,0.040350234 -22-04-2019 21:00,9400505.206,0.028523441,0.028523441 -22-04-2019 22:00,9401625.632,0.013913874,0.013913874 -22-04-2019 23:00,9402745.759,0.004869856,0.004869856 -23-04-2019 0:00,9403865.586,0.002782775,0.002782775 -23-04-2019 1:00,9404985.112,0.000695694,0.000695694 -23-04-2019 2:00,9406104.338,0.000695694,0.000695694 -23-04-2019 3:00,9407223.262,0.001391387,0.001391387 -23-04-2019 4:00,9408341.884,0.004869856,0.004869856 -23-04-2019 5:00,9409460.204,0.038958846,0.038958846 -23-04-2019 6:00,9410578.22,0.064699512,0.064699512 -23-04-2019 7:00,9411695.932,0.050089945,0.050089945 -23-04-2019 8:00,9412813.34,0.059133963,0.059133963 -23-04-2019 9:00,9413930.443,0.042437315,0.042437315 -23-04-2019 10:00,9415047.24,0.036871765,0.036871765 -23-04-2019 11:00,9416163.731,0.031306216,0.031306216 -23-04-2019 12:00,9417279.916,0.025044973,0.025044973 -23-04-2019 13:00,9418395.793,0.021566504,0.021566504 -23-04-2019 14:00,9419511.363,0.016696648,0.016696648 -23-04-2019 15:00,9420626.624,0.018783729,0.018783729 -23-04-2019 16:00,9421741.575,0.030610522,0.030610522 -23-04-2019 17:00,9422856.218,0.054264107,0.054264107 -23-04-2019 18:00,9423970.55,0.054959801,0.054959801 -23-04-2019 19:00,9425084.572,0.048698558,0.048698558 -23-04-2019 20:00,9426198.282,0.040350234,0.040350234 -23-04-2019 21:00,9427311.68,0.028523441,0.028523441 -23-04-2019 22:00,9428424.766,0.013913874,0.013913874 -23-04-2019 23:00,9429537.539,0.004869856,0.004869856 -24-04-2019 0:00,9430649.999,0.002782775,0.002782775 -24-04-2019 1:00,9431762.144,0.000695694,0.000695694 -24-04-2019 2:00,9432873.974,0.000695694,0.000695694 -24-04-2019 3:00,9433985.489,0.001391387,0.001391387 -24-04-2019 4:00,9435096.689,0.004869856,0.004869856 -24-04-2019 5:00,9436207.571,0.038958846,0.038958846 -24-04-2019 6:00,9437318.137,0.064699512,0.064699512 -24-04-2019 7:00,9438428.386,0.050089945,0.050089945 -24-04-2019 8:00,9439538.316,0.059133963,0.059133963 -24-04-2019 9:00,9440647.927,0.042437315,0.042437315 -24-04-2019 10:00,9441757.219,0.036871765,0.036871765 -24-04-2019 11:00,9442866.191,0.031306216,0.031306216 -24-04-2019 12:00,9443974.843,0.025044973,0.025044973 -24-04-2019 13:00,9445083.174,0.021566504,0.021566504 -24-04-2019 14:00,9446191.183,0.016696648,0.016696648 -24-04-2019 15:00,9447298.87,0.018783729,0.018783729 -24-04-2019 16:00,9448406.234,0.030610522,0.030610522 -24-04-2019 17:00,9449513.275,0.054264107,0.054264107 -24-04-2019 18:00,9450619.992,0.054959801,0.054959801 -24-04-2019 19:00,9451726.385,0.048698558,0.048698558 -24-04-2019 20:00,9452832.453,0.040350234,0.040350234 -24-04-2019 21:00,9453938.195,0.028523441,0.028523441 -24-04-2019 22:00,9455043.611,0.013913874,0.013913874 -24-04-2019 23:00,9456148.7,0.004869856,0.004869856 -25-04-2019 0:00,9457253.462,0.002782775,0.002782775 -25-04-2019 1:00,9458357.897,0.000695694,0.000695694 -25-04-2019 2:00,9459462.002,0.000695694,0.000695694 -25-04-2019 3:00,9460565.779,0.001391387,0.001391387 -25-04-2019 4:00,9461669.227,0.004869856,0.004869856 -25-04-2019 5:00,9462772.344,0.038958846,0.038958846 -25-04-2019 6:00,9463875.13,0.064699512,0.064699512 -25-04-2019 7:00,9464977.585,0.050089945,0.050089945 -25-04-2019 8:00,9466079.709,0.059133963,0.059133963 -25-04-2019 9:00,9467181.5,0.042437315,0.042437315 -25-04-2019 10:00,9468282.958,0.036871765,0.036871765 -25-04-2019 11:00,9469384.083,0.031306216,0.031306216 -25-04-2019 12:00,9470484.873,0.025044973,0.025044973 -25-04-2019 13:00,9471585.329,0.021566504,0.021566504 -25-04-2019 14:00,9472685.45,0.016696648,0.016696648 -25-04-2019 15:00,9473785.234,0.018783729,0.018783729 -25-04-2019 16:00,9474884.683,0.030610522,0.030610522 -25-04-2019 17:00,9475983.794,0.054264107,0.054264107 -25-04-2019 18:00,9477082.569,0.054959801,0.054959801 -25-04-2019 19:00,9478181.005,0.048698558,0.048698558 -25-04-2019 20:00,9479279.102,0.040350234,0.040350234 -25-04-2019 21:00,9480376.86,0.028523441,0.028523441 -25-04-2019 22:00,9481474.279,0.013913874,0.013913874 -25-04-2019 23:00,9482571.357,0.004869856,0.004869856 -26-04-2019 0:00,9483668.095,0.002782775,0.002782775 -26-04-2019 1:00,9484764.49,0.000695694,0.000695694 -26-04-2019 2:00,9485860.544,0.000695694,0.000695694 -26-04-2019 3:00,9486956.256,0.001391387,0.001391387 -26-04-2019 4:00,9488051.624,0.004869856,0.004869856 -26-04-2019 5:00,9489146.649,0.038958846,0.038958846 -26-04-2019 6:00,9490241.329,0.064699512,0.064699512 -26-04-2019 7:00,9491335.665,0.050089945,0.050089945 -26-04-2019 8:00,9492429.655,0.059133963,0.059133963 -26-04-2019 9:00,9493523.299,0.042437315,0.042437315 -26-04-2019 10:00,9494616.597,0.036871765,0.036871765 -26-04-2019 11:00,9495709.547,0.031306216,0.031306216 -26-04-2019 12:00,9496802.15,0.025044973,0.025044973 -26-04-2019 13:00,9497894.405,0.021566504,0.021566504 -26-04-2019 14:00,9498986.311,0.016696648,0.016696648 -26-04-2019 15:00,9500077.868,0.018783729,0.018783729 -26-04-2019 16:00,9501169.075,0.030610522,0.030610522 -26-04-2019 17:00,9502259.931,0.054264107,0.054264107 -26-04-2019 18:00,9503350.437,0.054959801,0.054959801 -26-04-2019 19:00,9504440.591,0.048698558,0.048698558 -26-04-2019 20:00,9505530.393,0.040350234,0.040350234 -26-04-2019 21:00,9506619.842,0.028523441,0.028523441 -26-04-2019 22:00,9507708.938,0.013913874,0.013913874 -26-04-2019 23:00,9508797.68,0.004869856,0.004869856 -27-04-2019 0:00,9509886.067,0.002782775,0.002782775 -27-04-2019 1:00,9510974.1,0.000695694,0.000695694 -27-04-2019 2:00,9512061.777,0.000695694,0.000695694 -27-04-2019 3:00,9513149.099,0.001391387,0.001391387 -27-04-2019 4:00,9514236.063,0.004869856,0.004869856 -27-04-2019 5:00,9515322.671,0.038958846,0.038958846 -27-04-2019 6:00,9516408.921,0.064699512,0.064699512 -27-04-2019 7:00,9517494.812,0.050089945,0.050089945 -27-04-2019 8:00,9518580.345,0.059133963,0.059133963 -27-04-2019 9:00,9519665.518,0.042437315,0.042437315 -27-04-2019 10:00,9520750.332,0.036871765,0.036871765 -27-04-2019 11:00,9521834.785,0.031306216,0.031306216 -27-04-2019 12:00,9522918.876,0.025044973,0.025044973 -27-04-2019 13:00,9524002.607,0.021566504,0.021566504 -27-04-2019 14:00,9525085.975,0.016696648,0.016696648 -27-04-2019 15:00,9526168.98,0.018783729,0.018783729 -27-04-2019 16:00,9527251.622,0.030610522,0.030610522 -27-04-2019 17:00,9528333.9,0.054264107,0.054264107 -27-04-2019 18:00,9529415.814,0.054959801,0.054959801 -27-04-2019 19:00,9530497.362,0.048698558,0.048698558 -27-04-2019 20:00,9531578.546,0.040350234,0.040350234 -27-04-2019 21:00,9532659.363,0.028523441,0.028523441 -27-04-2019 22:00,9533739.813,0.013913874,0.013913874 -27-04-2019 23:00,9534819.897,0.004869856,0.004869856 -28-04-2019 0:00,9535899.612,0.002782775,0.002782775 -28-04-2019 1:00,9536978.959,0.000695694,0.000695694 -28-04-2019 2:00,9538057.938,0.000695694,0.000695694 -28-04-2019 3:00,9539136.547,0.001391387,0.001391387 -28-04-2019 4:00,9540214.786,0.004869856,0.004869856 -28-04-2019 5:00,9541292.654,0.039617081,0.039617081 -28-04-2019 6:00,9542370.152,0.064699512,0.064699512 -28-04-2019 7:00,9543447.277,0.050089945,0.050089945 -28-04-2019 8:00,9544524.031,0.059133963,0.059133963 -28-04-2019 9:00,9545600.412,0.043038662,0.043038662 -28-04-2019 10:00,9546676.42,0.036871765,0.036871765 -28-04-2019 11:00,9547752.053,0.031440703,0.031440703 -28-04-2019 12:00,9548827.313,0.025533836,0.025533836 -28-04-2019 13:00,9549902.197,0.021566504,0.021566504 -28-04-2019 14:00,9550976.706,0.016696648,0.016696648 -28-04-2019 15:00,9552050.839,0.018783729,0.018783729 -28-04-2019 16:00,9553124.595,0.030610522,0.030610522 -28-04-2019 17:00,9554197.974,0.054264107,0.054264107 -28-04-2019 18:00,9555270.975,0.054959801,0.054959801 -28-04-2019 19:00,9556343.598,0.048999878,0.048999878 -28-04-2019 20:00,9557415.843,0.04067475,0.04067475 -28-04-2019 21:00,9558487.707,0.028796541,0.028796541 -28-04-2019 22:00,9559559.192,0.013913874,0.013913874 -28-04-2019 23:00,9560630.297,0.004869856,0.004869856 -29-04-2019 0:00,9561701.02,0.002782775,0.002782775 -29-04-2019 1:00,9562771.362,0.000695694,0.000695694 -29-04-2019 2:00,9563841.322,0.000695694,0.000695694 -29-04-2019 3:00,9564910.899,0.001391387,0.001391387 -29-04-2019 4:00,9565980.093,0.004869856,0.004869856 -29-04-2019 5:00,9567048.903,0.040301437,0.040301437 -29-04-2019 6:00,9568117.329,0.066668795,0.066668795 -29-04-2019 7:00,9569185.37,0.050089945,0.050089945 -29-04-2019 8:00,9570253.025,0.059274291,0.059274291 -29-04-2019 9:00,9571320.294,0.043727558,0.043727558 -29-04-2019 10:00,9572387.177,0.037509783,0.037509783 -29-04-2019 11:00,9573453.673,0.031555738,0.031555738 -29-04-2019 12:00,9574519.781,0.025611963,0.025611963 -29-04-2019 13:00,9575585.502,0.021566504,0.021566504 -29-04-2019 14:00,9576650.833,0.016696648,0.016696648 -29-04-2019 15:00,9577715.775,0.018783729,0.018783729 -29-04-2019 16:00,9578780.327,0.030610522,0.030610522 -29-04-2019 17:00,9579844.489,0.054264107,0.054264107 -29-04-2019 18:00,9580908.26,0.055009093,0.055009093 -29-04-2019 19:00,9581971.64,0.049010928,0.049010928 -29-04-2019 20:00,9583034.627,0.040806038,0.040806038 -29-04-2019 21:00,9584097.222,0.02878226,0.02878226 -29-04-2019 22:00,9585159.424,0.013913874,0.013913874 -29-04-2019 23:00,9586221.232,0.004869856,0.004869856 -30-04-2019 0:00,9587282.646,0.002782775,0.002782775 -30-04-2019 1:00,9588343.666,0.000695694,0.000695694 -30-04-2019 2:00,9589404.29,0.000695694,0.000695694 -30-04-2019 3:00,9590464.518,0.001391387,0.001391387 -30-04-2019 4:00,9591524.35,0.004869856,0.004869856 -30-04-2019 5:00,9592583.785,0.039977566,0.039977566 -30-04-2019 6:00,9593642.822,0.065963506,0.065963506 -30-04-2019 7:00,9594701.462,0.050117612,0.050117612 -30-04-2019 8:00,9595759.703,0.059327613,0.059327613 -30-04-2019 9:00,9596817.544,0.043947634,0.043947634 -30-04-2019 10:00,9597874.987,0.037612081,0.037612081 -30-04-2019 11:00,9598932.029,0.032194399,0.032194399 -30-04-2019 12:00,9599988.67,0.026320107,0.026320107 -30-04-2019 13:00,9601044.91,0.021566504,0.021566504 -30-04-2019 14:00,9602100.748,0.016696648,0.016696648 -30-04-2019 15:00,9603156.184,0.018783729,0.018783729 -30-04-2019 16:00,9604211.217,0.030610522,0.030610522 -30-04-2019 17:00,9605265.846,0.054264107,0.054264107 -30-04-2019 18:00,9606320.072,0.055212252,0.055212252 -30-04-2019 19:00,9607373.893,0.04950075,0.04950075 -30-04-2019 20:00,9608427.308,0.040908785,0.040908785 -30-04-2019 21:00,9609480.319,0.028804541,0.028804541 -30-04-2019 22:00,9610532.923,0.013913874,0.013913874 -30-04-2019 23:00,9611585.12,0.004869856,0.004869856 -01-05-2019 0:00,9612636.91,0.002782775,0.002782775 -01-05-2019 1:00,9613688.293,0.000695694,0.000695694 -01-05-2019 2:00,9614739.267,0.000695694,0.000695694 -01-05-2019 3:00,9615789.832,0.001391387,0.001391387 -01-05-2019 4:00,9616839.988,0.004869856,0.004869856 -01-05-2019 5:00,9617889.734,0.040391283,0.040391283 -01-05-2019 6:00,9618939.069,0.067476087,0.067476087 -01-05-2019 7:00,9619987.993,0.050635831,0.050635831 -01-05-2019 8:00,9621036.506,0.060198985,0.060198985 -01-05-2019 9:00,9622084.607,0.044063351,0.044063351 -01-05-2019 10:00,9623132.295,0.037771574,0.037771574 -01-05-2019 11:00,9624179.57,0.031949929,0.031949929 -01-05-2019 12:00,9625226.431,0.026103618,0.026103618 -01-05-2019 13:00,9626272.878,0.021566504,0.021566504 -01-05-2019 14:00,9627318.91,0.016696648,0.016696648 -01-05-2019 15:00,9628364.526,0.018783729,0.018783729 -01-05-2019 16:00,9629409.727,0.030610522,0.030610522 -01-05-2019 17:00,9630454.512,0.054264107,0.054264107 -01-05-2019 18:00,9631498.879,0.055312707,0.055312707 -01-05-2019 19:00,9632542.829,0.049592628,0.049592628 -01-05-2019 20:00,9633586.361,0.041019852,0.041019852 -01-05-2019 21:00,9634629.475,0.028869787,0.028869787 -01-05-2019 22:00,9635672.169,0.013913874,0.013913874 -01-05-2019 23:00,9636714.444,0.004869856,0.004869856 -02-05-2019 0:00,9637756.299,0.002782775,0.002782775 -02-05-2019 1:00,9638797.733,0.000695694,0.000695694 -02-05-2019 2:00,9639838.745,0.000824158,0.000824158 -02-05-2019 3:00,9640879.336,0.001657642,0.001657642 -02-05-2019 4:00,9641919.505,0.005142284,0.005142284 -02-05-2019 5:00,9642959.25,0.040824184,0.040824184 -02-05-2019 6:00,9643998.573,0.068613272,0.068613272 -02-05-2019 7:00,9645037.471,0.050659578,0.050659578 -02-05-2019 8:00,9646075.945,0.060629258,0.060629258 -02-05-2019 9:00,9647113.994,0.044123592,0.044123592 -02-05-2019 10:00,9648151.617,0.038039552,0.038039552 -02-05-2019 11:00,9649188.815,0.032661901,0.032661901 -02-05-2019 12:00,9650225.586,0.02765742,0.02765742 -02-05-2019 13:00,9651261.929,0.021608945,0.021608945 -02-05-2019 14:00,9652297.845,0.016696648,0.016696648 -02-05-2019 15:00,9653333.333,0.018783729,0.018783729 -02-05-2019 16:00,9654368.392,0.030610522,0.030610522 -02-05-2019 17:00,9655403.022,0.054373946,0.054373946 -02-05-2019 18:00,9656437.223,0.056480053,0.056480053 -02-05-2019 19:00,9657470.992,0.049785124,0.049785124 -02-05-2019 20:00,9658504.331,0.041417806,0.041417806 -02-05-2019 21:00,9659537.239,0.028870423,0.028870423 -02-05-2019 22:00,9660569.715,0.013913874,0.013913874 -02-05-2019 23:00,9661601.758,0.004869856,0.004869856 -03-05-2019 0:00,9662633.368,0.002782775,0.002782775 -03-05-2019 1:00,9663664.545,0.000695694,0.000695694 -03-05-2019 2:00,9664695.288,0.000732333,0.000732333 -03-05-2019 3:00,9665725.596,0.001655144,0.001655144 -03-05-2019 4:00,9666755.469,0.005319417,0.005319417 -03-05-2019 5:00,9667784.906,0.040695073,0.040695073 -03-05-2019 6:00,9668813.908,0.068716111,0.068716111 -03-05-2019 7:00,9669842.472,0.050804945,0.050804945 -03-05-2019 8:00,9670870.6,0.060820972,0.060820972 -03-05-2019 9:00,9671898.289,0.04426619,0.04426619 -03-05-2019 10:00,9672925.541,0.03842846,0.03842846 -03-05-2019 11:00,9673952.354,0.033021042,0.033021042 -03-05-2019 12:00,9674978.727,0.028248689,0.028248689 -03-05-2019 13:00,9676004.66,0.021753137,0.021753137 -03-05-2019 14:00,9677030.153,0.016727281,0.016727281 -03-05-2019 15:00,9678055.206,0.018797666,0.018797666 -03-05-2019 16:00,9679079.816,0.030742752,0.030742752 -03-05-2019 17:00,9680103.985,0.055021075,0.055021075 -03-05-2019 18:00,9681127.711,0.057360978,0.057360978 -03-05-2019 19:00,9682150.995,0.050427015,0.050427015 -03-05-2019 20:00,9683173.834,0.041837983,0.041837983 -03-05-2019 21:00,9684196.23,0.028935756,0.028935756 -03-05-2019 22:00,9685218.181,0.013913874,0.013913874 -03-05-2019 23:00,9686239.687,0.004869856,0.004869856 -04-05-2019 0:00,9687260.747,0.002782775,0.002782775 -04-05-2019 1:00,9688281.361,0.000888411,0.000888411 -04-05-2019 2:00,9689301.529,0.001331778,0.001331778 -04-05-2019 3:00,9690321.249,0.001843955,0.001843955 -04-05-2019 4:00,9691340.521,0.005985248,0.005985248 -04-05-2019 5:00,9692359.346,0.040874172,0.040874172 -04-05-2019 6:00,9693377.721,0.068121673,0.068121673 -04-05-2019 7:00,9694395.647,0.050148697,0.050148697 -04-05-2019 8:00,9695413.123,0.060197052,0.060197052 -04-05-2019 9:00,9696430.149,0.044096509,0.044096509 -04-05-2019 10:00,9697446.724,0.038000397,0.038000397 -04-05-2019 11:00,9698462.848,0.032686103,0.032686103 -04-05-2019 12:00,9699478.519,0.027926164,0.027926164 -04-05-2019 13:00,9700493.739,0.021933122,0.021933122 -04-05-2019 14:00,9701508.505,0.016696648,0.016696648 -04-05-2019 15:00,9702522.817,0.018783729,0.018783729 -04-05-2019 16:00,9703536.676,0.030610522,0.030610522 -04-05-2019 17:00,9704550.08,0.054386089,0.054386089 -04-05-2019 18:00,9705563.029,0.057029227,0.057029227 -04-05-2019 19:00,9706575.523,0.050123224,0.050123224 -04-05-2019 20:00,9707587.56,0.04186999,0.04186999 -04-05-2019 21:00,9708599.141,0.028983424,0.028983424 -04-05-2019 22:00,9709610.265,0.013913874,0.013913874 -04-05-2019 23:00,9710620.93,0.004869856,0.004869856 -05-05-2019 0:00,9711631.138,0.002967993,0.002967993 -05-05-2019 1:00,9712640.887,0.001382966,0.001382966 -05-05-2019 2:00,9713650.177,0.001412763,0.001412763 -05-05-2019 3:00,9714659.007,0.002044511,0.002044511 -05-05-2019 4:00,9715667.377,0.006465375,0.006465375 -05-05-2019 5:00,9716675.286,0.041185544,0.041185544 -05-05-2019 6:00,9717682.734,0.069572965,0.069572965 -05-05-2019 7:00,9718689.719,0.050660554,0.050660554 -05-05-2019 8:00,9719696.243,0.061102655,0.061102655 -05-05-2019 9:00,9720702.304,0.044548801,0.044548801 -05-05-2019 10:00,9721707.901,0.039027644,0.039027644 -05-05-2019 11:00,9722713.034,0.034018329,0.034018329 -05-05-2019 12:00,9723717.703,0.028307011,0.028307011 -05-05-2019 13:00,9724721.908,0.022148493,0.022148493 -05-05-2019 14:00,9725725.646,0.017061384,0.017061384 -05-05-2019 15:00,9726728.919,0.019064038,0.019064038 -05-05-2019 16:00,9727731.725,0.031261377,0.031261377 -05-05-2019 17:00,9728734.064,0.054966811,0.054966811 -05-05-2019 18:00,9729735.936,0.057951716,0.057951716 -05-05-2019 19:00,9730737.34,0.051268838,0.051268838 -05-05-2019 20:00,9731738.275,0.042121533,0.042121533 -05-05-2019 21:00,9732738.741,0.029019368,0.029019368 -05-05-2019 22:00,9733738.737,0.013913874,0.013913874 -05-05-2019 23:00,9734738.264,0.004869856,0.004869856 -06-05-2019 0:00,9735737.32,0.003512888,0.003512888 -06-05-2019 1:00,9736735.904,0.00183726,0.00183726 -06-05-2019 2:00,9737734.017,0.001643567,0.001643567 -06-05-2019 3:00,9738731.658,0.002425895,0.002425895 -06-05-2019 4:00,9739728.827,0.00736554,0.00736554 -06-05-2019 5:00,9740725.522,0.041145503,0.041145503 -06-05-2019 6:00,9741721.743,0.07124371,0.07124371 -06-05-2019 7:00,9742717.491,0.05108084,0.05108084 -06-05-2019 8:00,9743712.763,0.062854872,0.062854872 -06-05-2019 9:00,9744707.561,0.04504404,0.04504404 -06-05-2019 10:00,9745701.882,0.039649465,0.039649465 -06-05-2019 11:00,9746695.728,0.034334909,0.034334909 -06-05-2019 12:00,9747689.096,0.029621251,0.029621251 -06-05-2019 13:00,9748681.988,0.022095219,0.022095219 -06-05-2019 14:00,9749674.401,0.017132615,0.017132615 -06-05-2019 15:00,9750666.337,0.019096575,0.019096575 -06-05-2019 16:00,9751657.793,0.031385355,0.031385355 -06-05-2019 17:00,9752648.771,0.055703066,0.055703066 -06-05-2019 18:00,9753639.268,0.058644324,0.058644324 -06-05-2019 19:00,9754629.285,0.051330311,0.051330311 -06-05-2019 20:00,9755618.822,0.042213783,0.042213783 -06-05-2019 21:00,9756607.877,0.029047753,0.029047753 -06-05-2019 22:00,9757596.45,0.013913874,0.013913874 -06-05-2019 23:00,9758584.54,0.005868998,0.005868998 -07-05-2019 0:00,9759572.148,0.004250508,0.004250508 -07-05-2019 1:00,9760559.273,0.001999699,0.001999699 -07-05-2019 2:00,9761545.914,0.001685957,0.001685957 -07-05-2019 3:00,9762532.07,0.002503254,0.002503254 -07-05-2019 4:00,9763517.741,0.00751132,0.00751132 -07-05-2019 5:00,9764502.927,0.041471347,0.041471347 -07-05-2019 6:00,9765487.627,0.072325914,0.072325914 -07-05-2019 7:00,9766471.841,0.055087667,0.055087667 -07-05-2019 8:00,9767455.568,0.064043664,0.064043664 -07-05-2019 9:00,9768438.807,0.045093063,0.045093063 -07-05-2019 10:00,9769421.558,0.039677561,0.039677561 -07-05-2019 11:00,9770403.821,0.034424434,0.034424434 -07-05-2019 12:00,9771385.595,0.029598361,0.029598361 -07-05-2019 13:00,9772366.88,0.022326501,0.022326501 -07-05-2019 14:00,9773347.674,0.017058454,0.017058454 -07-05-2019 15:00,9774327.978,0.019021157,0.019021157 -07-05-2019 16:00,9775307.791,0.031005483,0.031005483 -07-05-2019 17:00,9776287.113,0.055316175,0.055316175 -07-05-2019 18:00,9777265.943,0.058308512,0.058308512 -07-05-2019 19:00,9778244.28,0.05128778,0.05128778 -07-05-2019 20:00,9779222.124,0.042189842,0.042189842 -07-05-2019 21:00,9780199.475,0.029107633,0.029107633 -07-05-2019 22:00,9781176.332,0.017115222,0.017115222 -07-05-2019 23:00,9782152.694,0.006283112,0.006283112 -08-05-2019 0:00,9783128.562,0.003822585,0.003822585 -08-05-2019 1:00,9784103.933,0.001610726,0.001610726 -08-05-2019 2:00,9785078.809,0.001434794,0.001434794 -08-05-2019 3:00,9786053.189,0.002057817,0.002057817 -08-05-2019 4:00,9787027.071,0.006951201,0.006951201 -08-05-2019 5:00,9788000.456,0.041166867,0.041166867 -08-05-2019 6:00,9788973.343,0.071703742,0.071703742 -08-05-2019 7:00,9789945.731,0.054584118,0.054584118 -08-05-2019 8:00,9790917.62,0.063709755,0.063709755 -08-05-2019 9:00,9791889.01,0.044821259,0.044821259 -08-05-2019 10:00,9792859.9,0.039491227,0.039491227 -08-05-2019 11:00,9793830.289,0.034218175,0.034218175 -08-05-2019 12:00,9794800.178,0.02952057,0.02952057 -08-05-2019 13:00,9795769.565,0.022287499,0.022287499 -08-05-2019 14:00,9796738.449,0.016948481,0.016948481 -08-05-2019 15:00,9797706.832,0.018958831,0.018958831 -08-05-2019 16:00,9798674.711,0.031017196,0.031017196 -08-05-2019 17:00,9799642.087,0.055187384,0.055187384 -08-05-2019 18:00,9800608.959,0.058039925,0.058039925 -08-05-2019 19:00,9801575.326,0.051192402,0.051192402 -08-05-2019 20:00,9802541.189,0.04195267,0.04195267 -08-05-2019 21:00,9803506.546,0.029331945,0.029331945 -08-05-2019 22:00,9804471.397,0.016218916,0.016218916 -08-05-2019 23:00,9805435.741,0.006174795,0.006174795 -09-05-2019 0:00,9806399.579,0.003225818,0.003225818 -09-05-2019 1:00,9807362.909,0.001129393,0.001129393 -09-05-2019 2:00,9808325.731,0.001368001,0.001368001 -09-05-2019 3:00,9809288.045,0.00198336,0.00198336 -09-05-2019 4:00,9810249.85,0.006203385,0.006203385 -09-05-2019 5:00,9811211.145,0.040926715,0.040926715 -09-05-2019 6:00,9812171.93,0.068724833,0.068724833 -09-05-2019 7:00,9813132.205,0.050439787,0.050439787 -09-05-2019 8:00,9814091.969,0.060557638,0.060557638 -09-05-2019 9:00,9815051.222,0.044083354,0.044083354 -09-05-2019 10:00,9816009.962,0.038309302,0.038309302 -09-05-2019 11:00,9816968.191,0.032660384,0.032660384 -09-05-2019 12:00,9817925.906,0.027967418,0.027967418 -09-05-2019 13:00,9818883.108,0.02156653,0.02156653 -09-05-2019 14:00,9819839.796,0.016696648,0.016696648 -09-05-2019 15:00,9820795.97,0.018783729,0.018783729 -09-05-2019 16:00,9821751.629,0.030610522,0.030610522 -09-05-2019 17:00,9822706.772,0.054302671,0.054302671 -09-05-2019 18:00,9823661.4,0.056106696,0.056106696 -09-05-2019 19:00,9824615.511,0.049855996,0.049855996 -09-05-2019 20:00,9825569.105,0.041696399,0.041696399 -09-05-2019 21:00,9826522.182,0.028901899,0.028901899 -09-05-2019 22:00,9827474.742,0.013913874,0.013913874 -09-05-2019 23:00,9828426.783,0.004869856,0.004869856 -10-05-2019 0:00,9829378.305,0.002782775,0.002782775 -10-05-2019 1:00,9830329.308,0.000695694,0.000695694 -10-05-2019 2:00,9831279.791,0.001045348,0.001045348 -10-05-2019 3:00,9832229.754,0.001681778,0.001681778 -10-05-2019 4:00,9833179.196,0.005558885,0.005558885 -10-05-2019 5:00,9834128.117,0.040793374,0.040793374 -10-05-2019 6:00,9835076.516,0.069313835,0.069313835 -10-05-2019 7:00,9836024.393,0.050848835,0.050848835 -10-05-2019 8:00,9836971.747,0.061046633,0.061046633 -10-05-2019 9:00,9837918.578,0.044361083,0.044361083 -10-05-2019 10:00,9838864.886,0.038646216,0.038646216 -10-05-2019 11:00,9839810.669,0.033206478,0.033206478 -10-05-2019 12:00,9840755.927,0.028573968,0.028573968 -10-05-2019 13:00,9841700.661,0.021721578,0.021721578 -10-05-2019 14:00,9842644.869,0.016696648,0.016696648 -10-05-2019 15:00,9843588.55,0.018783729,0.018783729 -10-05-2019 16:00,9844531.705,0.030610522,0.030610522 -10-05-2019 17:00,9845474.333,0.054264107,0.054264107 -10-05-2019 18:00,9846416.434,0.055647954,0.055647954 -10-05-2019 19:00,9847358.006,0.049873755,0.049873755 -10-05-2019 20:00,9848299.05,0.041698212,0.041698212 -10-05-2019 21:00,9849239.565,0.028921596,0.028921596 -10-05-2019 22:00,9850179.55,0.013913874,0.013913874 -10-05-2019 23:00,9851119.005,0.004869856,0.004869856 -11-05-2019 0:00,9852057.93,0.002782775,0.002782775 -11-05-2019 1:00,9852996.324,0.000791097,0.000791097 -11-05-2019 2:00,9853934.187,0.00123249,0.00123249 -11-05-2019 3:00,9854871.517,0.001731369,0.001731369 -11-05-2019 4:00,9855808.315,0.00587586,0.00587586 -11-05-2019 5:00,9856744.581,0.041008566,0.041008566 -11-05-2019 6:00,9857680.313,0.069886962,0.069886962 -11-05-2019 7:00,9858615.511,0.050867478,0.050867478 -11-05-2019 8:00,9859550.174,0.061387611,0.061387611 -11-05-2019 9:00,9860484.303,0.044110358,0.044110358 -11-05-2019 10:00,9861417.897,0.03830621,0.03830621 -11-05-2019 11:00,9862350.955,0.032375156,0.032375156 -11-05-2019 12:00,9863283.477,0.027119251,0.027119251 -11-05-2019 13:00,9864215.462,0.021566504,0.021566504 -11-05-2019 14:00,9865146.909,0.016696648,0.016696648 -11-05-2019 15:00,9866077.819,0.018783729,0.018783729 -11-05-2019 16:00,9867008.191,0.030610522,0.030610522 -11-05-2019 17:00,9867938.024,0.054264107,0.054264107 -11-05-2019 18:00,9868867.318,0.054959801,0.054959801 -11-05-2019 19:00,9869796.073,0.049187221,0.049187221 -11-05-2019 20:00,9870724.287,0.041163888,0.041163888 -11-05-2019 21:00,9871651.961,0.028915865,0.028915865 -11-05-2019 22:00,9872579.094,0.013913874,0.013913874 -11-05-2019 23:00,9873505.685,0.004869856,0.004869856 -12-05-2019 0:00,9874431.735,0.002782775,0.002782775 -12-05-2019 1:00,9875357.242,0.000695694,0.000695694 -12-05-2019 2:00,9876282.205,0.000913272,0.000913272 -12-05-2019 3:00,9877206.626,0.001579697,0.001579697 -12-05-2019 4:00,9878130.503,0.005421605,0.005421605 -12-05-2019 5:00,9879053.835,0.040762349,0.040762349 -12-05-2019 6:00,9879976.622,0.067498674,0.067498674 -12-05-2019 7:00,9880898.864,0.050089945,0.050089945 -12-05-2019 8:00,9881820.561,0.059435285,0.059435285 -12-05-2019 9:00,9882741.711,0.044028562,0.044028562 -12-05-2019 10:00,9883662.314,0.03804653,0.03804653 -12-05-2019 11:00,9884582.37,0.03243469,0.03243469 -12-05-2019 12:00,9885501.878,0.026595392,0.026595392 -12-05-2019 13:00,9886420.839,0.021566504,0.021566504 -12-05-2019 14:00,9887339.25,0.016696648,0.016696648 -12-05-2019 15:00,9888257.113,0.018783729,0.018783729 -12-05-2019 16:00,9889174.426,0.030610522,0.030610522 -12-05-2019 17:00,9890091.189,0.054264107,0.054264107 -12-05-2019 18:00,9891007.401,0.054959801,0.054959801 -12-05-2019 19:00,9891923.062,0.048842361,0.048842361 -12-05-2019 20:00,9892838.172,0.040821562,0.040821562 -12-05-2019 21:00,9893752.73,0.028927222,0.028927222 -12-05-2019 22:00,9894666.736,0.013913874,0.013913874 -12-05-2019 23:00,9895580.189,0.004869856,0.004869856 -13-05-2019 0:00,9896493.088,0.002782775,0.002782775 -13-05-2019 1:00,9897405.434,0.000695694,0.000695694 -13-05-2019 2:00,9898317.225,0.000946213,0.000946213 -13-05-2019 3:00,9899228.461,0.001612951,0.001612951 -13-05-2019 4:00,9900139.143,0.005912067,0.005912067 -13-05-2019 5:00,9901049.268,0.040876686,0.040876686 -13-05-2019 6:00,9901958.838,0.068136146,0.068136146 -13-05-2019 7:00,9902867.851,0.050089945,0.050089945 -13-05-2019 8:00,9903776.306,0.05942012,0.05942012 -13-05-2019 9:00,9904684.205,0.042990113,0.042990113 -13-05-2019 10:00,9905591.545,0.037467333,0.037467333 -13-05-2019 11:00,9906498.326,0.031468267,0.031468267 -13-05-2019 12:00,9907404.549,0.025217958,0.025217958 -13-05-2019 13:00,9908310.212,0.021592148,0.021592148 -13-05-2019 14:00,9909215.316,0.016696648,0.016696648 -13-05-2019 15:00,9910119.859,0.018783729,0.018783729 -13-05-2019 16:00,9911023.841,0.030610522,0.030610522 -13-05-2019 17:00,9911927.262,0.054264107,0.054264107 -13-05-2019 18:00,9912830.121,0.055064234,0.055064234 -13-05-2019 19:00,9913732.418,0.049588985,0.049588985 -13-05-2019 20:00,9914634.152,0.041118961,0.041118961 -13-05-2019 21:00,9915535.324,0.028913593,0.028913593 -13-05-2019 22:00,9916435.931,0.013913874,0.013913874 -13-05-2019 23:00,9917335.974,0.004869856,0.004869856 -14-05-2019 0:00,9918235.453,0.002782775,0.002782775 -14-05-2019 1:00,9919134.367,0.000713678,0.000713678 -14-05-2019 2:00,9920032.716,0.001003749,0.001003749 -14-05-2019 3:00,9920930.498,0.001739474,0.001739474 -14-05-2019 4:00,9921827.714,0.005560625,0.005560625 -14-05-2019 5:00,9922724.364,0.04103682,0.04103682 -14-05-2019 6:00,9923620.446,0.069530149,0.069530149 -14-05-2019 7:00,9924515.96,0.050750539,0.050750539 -14-05-2019 8:00,9925410.906,0.060534381,0.060534381 -14-05-2019 9:00,9926305.283,0.043420972,0.043420972 -14-05-2019 10:00,9927199.091,0.037402879,0.037402879 -14-05-2019 11:00,9928092.33,0.031640745,0.031640745 -14-05-2019 12:00,9928984.998,0.025603872,0.025603872 -14-05-2019 13:00,9929877.096,0.021566504,0.021566504 -14-05-2019 14:00,9930768.623,0.016696648,0.016696648 -14-05-2019 15:00,9931659.579,0.018783729,0.018783729 -14-05-2019 16:00,9932549.962,0.030610522,0.030610522 -14-05-2019 17:00,9933439.774,0.054264107,0.054264107 -14-05-2019 18:00,9934329.012,0.055302549,0.055302549 -14-05-2019 19:00,9935217.677,0.049715764,0.049715764 -14-05-2019 20:00,9936105.769,0.041317495,0.041317495 -14-05-2019 21:00,9936993.286,0.028891033,0.028891033 -14-05-2019 22:00,9937880.228,0.013913874,0.013913874 -14-05-2019 23:00,9938766.596,0.004869856,0.004869856 -15-05-2019 0:00,9939652.388,0.002782775,0.002782775 -15-05-2019 1:00,9940537.604,0.000695694,0.000695694 -15-05-2019 2:00,9941422.243,0.000959229,0.000959229 -15-05-2019 3:00,9942306.306,0.001711937,0.001711937 -15-05-2019 4:00,9943189.791,0.005332482,0.005332482 -15-05-2019 5:00,9944072.698,0.040626368,0.040626368 -15-05-2019 6:00,9944955.027,0.06723322,0.06723322 -15-05-2019 7:00,9945836.777,0.050089945,0.050089945 -15-05-2019 8:00,9946717.948,0.059133963,0.059133963 -15-05-2019 9:00,9947598.54,0.042807294,0.042807294 -15-05-2019 10:00,9948478.551,0.037322783,0.037322783 -15-05-2019 11:00,9949357.982,0.031329647,0.031329647 -15-05-2019 12:00,9950236.831,0.025044973,0.025044973 -15-05-2019 13:00,9951115.1,0.021566504,0.021566504 -15-05-2019 14:00,9951992.786,0.016696648,0.016696648 -15-05-2019 15:00,9952869.89,0.018783729,0.018783729 -15-05-2019 16:00,9953746.411,0.030610522,0.030610522 -15-05-2019 17:00,9954622.349,0.054264107,0.054264107 -15-05-2019 18:00,9955497.703,0.054959801,0.054959801 -15-05-2019 19:00,9956372.473,0.049108709,0.049108709 -15-05-2019 20:00,9957246.659,0.040936982,0.040936982 -15-05-2019 21:00,9958120.259,0.028845516,0.028845516 -15-05-2019 22:00,9958993.274,0.013913874,0.013913874 -15-05-2019 23:00,9959865.703,0.004869856,0.004869856 -16-05-2019 0:00,9960737.545,0.002782775,0.002782775 -16-05-2019 1:00,9961608.801,0.000695694,0.000695694 -16-05-2019 2:00,9962479.469,0.000695694,0.000695694 -16-05-2019 3:00,9963349.549,0.001391387,0.001391387 -16-05-2019 4:00,9964219.042,0.004869856,0.004869856 -16-05-2019 5:00,9965087.945,0.040573466,0.040573466 -16-05-2019 6:00,9965956.26,0.067833686,0.067833686 -16-05-2019 7:00,9966823.985,0.050660453,0.050660453 -16-05-2019 8:00,9967691.12,0.060418274,0.060418274 -16-05-2019 9:00,9968557.664,0.044084107,0.044084107 -16-05-2019 10:00,9969423.618,0.037555589,0.037555589 -16-05-2019 11:00,9970288.98,0.032045888,0.032045888 -16-05-2019 12:00,9971153.751,0.026080328,0.026080328 -16-05-2019 13:00,9972017.929,0.021566504,0.021566504 -16-05-2019 14:00,9972881.515,0.016696648,0.016696648 -16-05-2019 15:00,9973744.507,0.018783729,0.018783729 -16-05-2019 16:00,9974606.906,0.030610522,0.030610522 -16-05-2019 17:00,9975468.711,0.054264107,0.054264107 -16-05-2019 18:00,9976329.922,0.054992611,0.054992611 -16-05-2019 19:00,9977190.538,0.049062605,0.049062605 -16-05-2019 20:00,9978050.558,0.040950851,0.040950851 -16-05-2019 21:00,9978909.983,0.0288295,0.0288295 -16-05-2019 22:00,9979768.811,0.013913874,0.013913874 -16-05-2019 23:00,9980627.043,0.004869856,0.004869856 -17-05-2019 0:00,9981484.677,0.002782775,0.002782775 -17-05-2019 1:00,9982341.714,0.000695694,0.000695694 -17-05-2019 2:00,9983198.153,0.000695694,0.000695694 -17-05-2019 3:00,9984053.994,0.001391387,0.001391387 -17-05-2019 4:00,9984909.236,0.004869856,0.004869856 -17-05-2019 5:00,9985763.878,0.04022842,0.04022842 -17-05-2019 6:00,9986617.921,0.066934192,0.066934192 -17-05-2019 7:00,9987471.364,0.050576969,0.050576969 -17-05-2019 8:00,9988324.206,0.059689843,0.059689843 -17-05-2019 9:00,9989176.447,0.044001953,0.044001953 -17-05-2019 10:00,9990028.086,0.037842982,0.037842982 -17-05-2019 11:00,9990879.124,0.032124914,0.032124914 -17-05-2019 12:00,9991729.559,0.026733444,0.026733444 -17-05-2019 13:00,9992579.391,0.021566504,0.021566504 -17-05-2019 14:00,9993428.62,0.016696648,0.016696648 -17-05-2019 15:00,9994277.246,0.018783729,0.018783729 -17-05-2019 16:00,9995125.267,0.030610522,0.030610522 -17-05-2019 17:00,9995972.684,0.054264107,0.054264107 -17-05-2019 18:00,9996819.495,0.055185114,0.055185114 -17-05-2019 19:00,9997665.702,0.04955822,0.04955822 -17-05-2019 20:00,9998511.302,0.041123013,0.041123013 -17-05-2019 21:00,9999356.296,0.028816012,0.028816012 -17-05-2019 22:00,10000200.68,0.013913874,0.013913874 -17-05-2019 23:00,10001044.46,0.004869856,0.004869856 -18-05-2019 0:00,10001887.64,0.002782775,0.002782775 -18-05-2019 1:00,10002730.2,0.000695694,0.000695694 -18-05-2019 2:00,10003572.16,0.000695694,0.000695694 -18-05-2019 3:00,10004413.5,0.001391387,0.001391387 -18-05-2019 4:00,10005254.24,0.005021555,0.005021555 -18-05-2019 5:00,10006094.37,0.04013744,0.04013744 -18-05-2019 6:00,10006933.89,0.066214094,0.066214094 -18-05-2019 7:00,10007772.8,0.050089945,0.050089945 -18-05-2019 8:00,10008611.09,0.059133963,0.059133963 -18-05-2019 9:00,10009448.78,0.042883657,0.042883657 -18-05-2019 10:00,10010285.85,0.036871765,0.036871765 -18-05-2019 11:00,10011122.31,0.031306216,0.031306216 -18-05-2019 12:00,10011958.16,0.025044973,0.025044973 -18-05-2019 13:00,10012793.39,0.021566504,0.021566504 -18-05-2019 14:00,10013628.01,0.016696648,0.016696648 -18-05-2019 15:00,10014462.02,0.018783729,0.018783729 -18-05-2019 16:00,10015295.41,0.030610522,0.030610522 -18-05-2019 17:00,10016128.19,0.054264107,0.054264107 -18-05-2019 18:00,10016960.35,0.054959801,0.054959801 -18-05-2019 19:00,10017791.9,0.048698558,0.048698558 -18-05-2019 20:00,10018622.83,0.040350234,0.040350234 -18-05-2019 21:00,10019453.14,0.028523441,0.028523441 -18-05-2019 22:00,10020282.84,0.013913874,0.013913874 -18-05-2019 23:00,10021111.92,0.004869856,0.004869856 -19-05-2019 0:00,10021940.38,0.002782775,0.002782775 -19-05-2019 1:00,10022768.22,0.000695694,0.000695694 -19-05-2019 2:00,10023595.44,0.000695694,0.000695694 -19-05-2019 3:00,10024422.05,0.001391387,0.001391387 -19-05-2019 4:00,10025248.03,0.004869856,0.004869856 -19-05-2019 5:00,10026073.4,0.039147898,0.039147898 -19-05-2019 6:00,10026898.14,0.064699512,0.064699512 -19-05-2019 7:00,10027722.26,0.050089945,0.050089945 -19-05-2019 8:00,10028545.77,0.059133963,0.059133963 -19-05-2019 9:00,10029368.65,0.042561543,0.042561543 -19-05-2019 10:00,10030190.91,0.036871765,0.036871765 -19-05-2019 11:00,10031012.54,0.031306216,0.031306216 -19-05-2019 12:00,10031833.55,0.025151291,0.025151291 -19-05-2019 13:00,10032653.94,0.021566504,0.021566504 -19-05-2019 14:00,10033473.71,0.016696648,0.016696648 -19-05-2019 15:00,10034292.85,0.018783729,0.018783729 -19-05-2019 16:00,10035111.37,0.030610522,0.030610522 -19-05-2019 17:00,10035929.26,0.054264107,0.054264107 -19-05-2019 18:00,10036746.52,0.054959801,0.054959801 -19-05-2019 19:00,10037563.16,0.048698558,0.048698558 -19-05-2019 20:00,10038379.18,0.040350234,0.040350234 -19-05-2019 21:00,10039194.56,0.028523441,0.028523441 -19-05-2019 22:00,10040009.32,0.013913874,0.013913874 -19-05-2019 23:00,10040823.45,0.004869856,0.004869856 -20-05-2019 0:00,10041636.96,0.002782775,0.002782775 -20-05-2019 1:00,10042449.83,0.000695694,0.000695694 -20-05-2019 2:00,10043262.08,0.000695694,0.000695694 -20-05-2019 3:00,10044073.69,0.001391387,0.001391387 -20-05-2019 4:00,10044884.68,0.004869856,0.004869856 -20-05-2019 5:00,10045695.04,0.039166597,0.039166597 -20-05-2019 6:00,10046504.76,0.064699512,0.064699512 -20-05-2019 7:00,10047313.86,0.050089945,0.050089945 -20-05-2019 8:00,10048122.32,0.059133963,0.059133963 -20-05-2019 9:00,10048930.16,0.042648365,0.042648365 -20-05-2019 10:00,10049737.36,0.036871765,0.036871765 -20-05-2019 11:00,10050543.92,0.031306216,0.031306216 -20-05-2019 12:00,10051349.86,0.025243738,0.025243738 -20-05-2019 13:00,10052155.16,0.021566504,0.021566504 -20-05-2019 14:00,10052959.83,0.016696648,0.016696648 -20-05-2019 15:00,10053763.86,0.018783729,0.018783729 -20-05-2019 16:00,10054567.26,0.030610522,0.030610522 -20-05-2019 17:00,10055370.02,0.054264107,0.054264107 -20-05-2019 18:00,10056172.15,0.054959801,0.054959801 -20-05-2019 19:00,10056973.64,0.048698558,0.048698558 -20-05-2019 20:00,10057774.49,0.040350234,0.040350234 -20-05-2019 21:00,10058574.71,0.028523441,0.028523441 -20-05-2019 22:00,10059374.29,0.013913874,0.013913874 -20-05-2019 23:00,10060173.23,0.004869856,0.004869856 -21-05-2019 0:00,10060971.54,0.002782775,0.002782775 -21-05-2019 1:00,10061769.21,0.000695694,0.000695694 -21-05-2019 2:00,10062566.23,0.000695694,0.000695694 -21-05-2019 3:00,10063362.62,0.001391387,0.001391387 -21-05-2019 4:00,10064158.37,0.004869856,0.004869856 -21-05-2019 5:00,10064953.48,0.039315526,0.039315526 -21-05-2019 6:00,10065747.95,0.064699512,0.064699512 -21-05-2019 7:00,10066541.78,0.050089945,0.050089945 -21-05-2019 8:00,10067334.96,0.059133963,0.059133963 -21-05-2019 9:00,10068127.51,0.04281593,0.04281593 -21-05-2019 10:00,10068919.41,0.036871765,0.036871765 -21-05-2019 11:00,10069710.67,0.031317288,0.031317288 -21-05-2019 12:00,10070501.29,0.025388791,0.025388791 -21-05-2019 13:00,10071291.26,0.021566504,0.021566504 -21-05-2019 14:00,10072080.59,0.016696648,0.016696648 -21-05-2019 15:00,10072869.28,0.018783729,0.018783729 -21-05-2019 16:00,10073657.32,0.030610522,0.030610522 -21-05-2019 17:00,10074444.71,0.054264107,0.054264107 -21-05-2019 18:00,10075231.46,0.054959801,0.054959801 -21-05-2019 19:00,10076017.57,0.048818087,0.048818087 -21-05-2019 20:00,10076803.03,0.040350234,0.040350234 -21-05-2019 21:00,10077587.84,0.02866768,0.02866768 -21-05-2019 22:00,10078372.01,0.013913874,0.013913874 -21-05-2019 23:00,10079155.52,0.004869856,0.004869856 -22-05-2019 0:00,10079938.39,0.002782775,0.002782775 -22-05-2019 1:00,10080720.62,0.000695694,0.000695694 -22-05-2019 2:00,10081502.19,0.000695694,0.000695694 -22-05-2019 3:00,10082283.11,0.001391387,0.001391387 -22-05-2019 4:00,10083063.39,0.004869856,0.004869856 -22-05-2019 5:00,10083843.01,0.039491929,0.039491929 -22-05-2019 6:00,10084621.99,0.064699512,0.064699512 -22-05-2019 7:00,10085400.31,0.050089945,0.050089945 -22-05-2019 8:00,10086177.99,0.059133963,0.059133963 -22-05-2019 9:00,10086955.01,0.042493956,0.042493956 -22-05-2019 10:00,10087731.38,0.036871765,0.036871765 -22-05-2019 11:00,10088507.1,0.031306216,0.031306216 -22-05-2019 12:00,10089282.16,0.025044973,0.025044973 -22-05-2019 13:00,10090056.58,0.021566504,0.021566504 -22-05-2019 14:00,10090830.33,0.016696648,0.016696648 -22-05-2019 15:00,10091603.44,0.018783729,0.018783729 -22-05-2019 16:00,10092375.89,0.030610522,0.030610522 -22-05-2019 17:00,10093147.69,0.054264107,0.054264107 -22-05-2019 18:00,10093918.83,0.054959801,0.054959801 -22-05-2019 19:00,10094689.32,0.048698558,0.048698558 -22-05-2019 20:00,10095459.15,0.040350234,0.040350234 -22-05-2019 21:00,10096228.32,0.028523441,0.028523441 -22-05-2019 22:00,10096996.84,0.013913874,0.013913874 -22-05-2019 23:00,10097764.7,0.004869856,0.004869856 -23-05-2019 0:00,10098531.9,0.002782775,0.002782775 -23-05-2019 1:00,10099298.45,0.000695694,0.000695694 -23-05-2019 2:00,10100064.34,0.000695694,0.000695694 -23-05-2019 3:00,10100829.56,0.001391387,0.001391387 -23-05-2019 4:00,10101594.13,0.004869856,0.004869856 -23-05-2019 5:00,10102358.04,0.039132526,0.039132526 -23-05-2019 6:00,10103121.3,0.064699512,0.064699512 -23-05-2019 7:00,10103883.89,0.050089945,0.050089945 -23-05-2019 8:00,10104645.82,0.059133963,0.059133963 -23-05-2019 9:00,10105407.09,0.042437315,0.042437315 -23-05-2019 10:00,10106167.69,0.036871765,0.036871765 -23-05-2019 11:00,10106927.64,0.031306216,0.031306216 -23-05-2019 12:00,10107686.93,0.025044973,0.025044973 -23-05-2019 13:00,10108445.55,0.021566504,0.021566504 -23-05-2019 14:00,10109203.51,0.016696648,0.016696648 -23-05-2019 15:00,10109960.8,0.018783729,0.018783729 -23-05-2019 16:00,10110717.43,0.030610522,0.030610522 -23-05-2019 17:00,10111473.4,0.054264107,0.054264107 -23-05-2019 18:00,10112228.71,0.054959801,0.054959801 -23-05-2019 19:00,10112983.34,0.048698558,0.048698558 -23-05-2019 20:00,10113737.32,0.040350234,0.040350234 -23-05-2019 21:00,10114490.63,0.028523441,0.028523441 -23-05-2019 22:00,10115243.27,0.013913874,0.013913874 -23-05-2019 23:00,10115995.24,0.004869856,0.004869856 -24-05-2019 0:00,10116746.55,0.002782775,0.002782775 -24-05-2019 1:00,10117497.2,0.000695694,0.000695694 -24-05-2019 2:00,10118247.17,0.000695694,0.000695694 -24-05-2019 3:00,10118996.48,0.001391387,0.001391387 -24-05-2019 4:00,10119745.12,0.004869856,0.004869856 -24-05-2019 5:00,10120493.09,0.038996651,0.038996651 -24-05-2019 6:00,10121240.39,0.064699512,0.064699512 -24-05-2019 7:00,10121987.02,0.050089945,0.050089945 -24-05-2019 8:00,10122732.98,0.059133963,0.059133963 -24-05-2019 9:00,10123478.27,0.042437315,0.042437315 -24-05-2019 10:00,10124222.89,0.036871765,0.036871765 -24-05-2019 11:00,10124966.84,0.031306216,0.031306216 -24-05-2019 12:00,10125710.12,0.025044973,0.025044973 -24-05-2019 13:00,10126452.72,0.021566504,0.021566504 -24-05-2019 14:00,10127194.66,0.016696648,0.016696648 -24-05-2019 15:00,10127935.92,0.018783729,0.018783729 -24-05-2019 16:00,10128676.51,0.030610522,0.030610522 -24-05-2019 17:00,10129416.43,0.054264107,0.054264107 -24-05-2019 18:00,10130155.67,0.054959801,0.054959801 -24-05-2019 19:00,10130894.24,0.048698558,0.048698558 -24-05-2019 20:00,10131632.13,0.040350234,0.040350234 -24-05-2019 21:00,10132369.35,0.028523441,0.028523441 -24-05-2019 22:00,10133105.89,0.013913874,0.013913874 -24-05-2019 23:00,10133841.76,0.004869856,0.004869856 -25-05-2019 0:00,10134576.95,0.002782775,0.002782775 -25-05-2019 1:00,10135311.47,0.000695694,0.000695694 -25-05-2019 2:00,10136045.31,0.000695694,0.000695694 -25-05-2019 3:00,10136778.47,0.001391387,0.001391387 -25-05-2019 4:00,10137510.95,0.004869856,0.004869856 -25-05-2019 5:00,10138242.76,0.038958846,0.038958846 -25-05-2019 6:00,10138973.89,0.064699512,0.064699512 -25-05-2019 7:00,10139704.34,0.050089945,0.050089945 -25-05-2019 8:00,10140434.11,0.059133963,0.059133963 -25-05-2019 9:00,10141163.2,0.042437315,0.042437315 -25-05-2019 10:00,10141891.62,0.036871765,0.036871765 -25-05-2019 11:00,10142619.35,0.031306216,0.031306216 -25-05-2019 12:00,10143346.4,0.025044973,0.025044973 -25-05-2019 13:00,10144072.77,0.021566504,0.021566504 -25-05-2019 14:00,10144798.46,0.016696648,0.016696648 -25-05-2019 15:00,10145523.47,0.018783729,0.018783729 -25-05-2019 16:00,10146247.8,0.030610522,0.030610522 -25-05-2019 17:00,10146971.44,0.054264107,0.054264107 -25-05-2019 18:00,10147694.4,0.054959801,0.054959801 -25-05-2019 19:00,10148416.68,0.048698558,0.048698558 -25-05-2019 20:00,10149138.27,0.040350234,0.040350234 -25-05-2019 21:00,10149859.19,0.028523441,0.028523441 -25-05-2019 22:00,10150579.41,0.013913874,0.013913874 -25-05-2019 23:00,10151298.95,0.004869856,0.004869856 -26-05-2019 0:00,10152017.81,0.002782775,0.002782775 -26-05-2019 1:00,10152735.98,0.000695694,0.000695694 -26-05-2019 2:00,10153453.47,0.000695694,0.000695694 -26-05-2019 3:00,10154170.27,0.001391387,0.001391387 -26-05-2019 4:00,10154886.39,0.004869856,0.004869856 -26-05-2019 5:00,10155601.81,0.038958846,0.038958846 -26-05-2019 6:00,10156316.55,0.064699512,0.064699512 -26-05-2019 7:00,10157030.61,0.050089945,0.050089945 -26-05-2019 8:00,10157743.97,0.059133963,0.059133963 -26-05-2019 9:00,10158456.65,0.042437315,0.042437315 -26-05-2019 10:00,10159168.64,0.036871765,0.036871765 -26-05-2019 11:00,10159879.94,0.031306216,0.031306216 -26-05-2019 12:00,10160590.55,0.025044973,0.025044973 -26-05-2019 13:00,10161300.47,0.021566504,0.021566504 -26-05-2019 14:00,10162009.7,0.016696648,0.016696648 -26-05-2019 15:00,10162718.24,0.018783729,0.018783729 -26-05-2019 16:00,10163426.09,0.030610522,0.030610522 -26-05-2019 17:00,10164133.24,0.054264107,0.054264107 -26-05-2019 18:00,10164839.71,0.054959801,0.054959801 -26-05-2019 19:00,10165545.48,0.048698558,0.048698558 -26-05-2019 20:00,10166250.57,0.040350234,0.040350234 -26-05-2019 21:00,10166954.96,0.028523441,0.028523441 -26-05-2019 22:00,10167658.65,0.013913874,0.013913874 -26-05-2019 23:00,10168361.66,0.004869856,0.004869856 -27-05-2019 0:00,10169063.97,0.002782775,0.002782775 -27-05-2019 1:00,10169765.58,0.000695694,0.000695694 -27-05-2019 2:00,10170466.5,0.000695694,0.000695694 -27-05-2019 3:00,10171166.73,0.001391387,0.001391387 -27-05-2019 4:00,10171866.26,0.004869856,0.004869856 -27-05-2019 5:00,10172565.1,0.038958846,0.038958846 -27-05-2019 6:00,10173263.24,0.064699512,0.064699512 -27-05-2019 7:00,10173960.68,0.050089945,0.050089945 -27-05-2019 8:00,10174657.43,0.059133963,0.059133963 -27-05-2019 9:00,10175353.48,0.042437315,0.042437315 -27-05-2019 10:00,10176048.83,0.036871765,0.036871765 -27-05-2019 11:00,10176743.49,0.031306216,0.031306216 -27-05-2019 12:00,10177437.45,0.025044973,0.025044973 -27-05-2019 13:00,10178130.71,0.021566504,0.021566504 -27-05-2019 14:00,10178823.27,0.016696648,0.016696648 -27-05-2019 15:00,10179515.13,0.018783729,0.018783729 -27-05-2019 16:00,10180206.29,0.030610522,0.030610522 -27-05-2019 17:00,10180896.75,0.054264107,0.054264107 -27-05-2019 18:00,10181586.51,0.054959801,0.054959801 -27-05-2019 19:00,10182275.58,0.048698558,0.048698558 -27-05-2019 20:00,10182963.94,0.040350234,0.040350234 -27-05-2019 21:00,10183651.6,0.028523441,0.028523441 -27-05-2019 22:00,10184338.55,0.013913874,0.013913874 -27-05-2019 23:00,10185024.81,0.004869856,0.004869856 -28-05-2019 0:00,10185710.37,0.002782775,0.002782775 -28-05-2019 1:00,10186395.22,0.000695694,0.000695694 -28-05-2019 2:00,10187079.36,0.000695694,0.000695694 -28-05-2019 3:00,10187762.81,0.001391387,0.001391387 -28-05-2019 4:00,10188445.55,0.004869856,0.004869856 -28-05-2019 5:00,10189127.59,0.038958846,0.038958846 -28-05-2019 6:00,10189808.92,0.064699512,0.064699512 -28-05-2019 7:00,10190489.55,0.050089945,0.050089945 -28-05-2019 8:00,10191169.47,0.059133963,0.059133963 -28-05-2019 9:00,10191848.69,0.042437315,0.042437315 -28-05-2019 10:00,10192527.2,0.036871765,0.036871765 -28-05-2019 11:00,10193205.01,0.031306216,0.031306216 -28-05-2019 12:00,10193882.11,0.025044973,0.025044973 -28-05-2019 13:00,10194558.5,0.021566504,0.021566504 -28-05-2019 14:00,10195234.19,0.016696648,0.016696648 -28-05-2019 15:00,10195909.17,0.018783729,0.018783729 -28-05-2019 16:00,10196583.44,0.030610522,0.030610522 -28-05-2019 17:00,10197257,0.054264107,0.054264107 -28-05-2019 18:00,10197929.85,0.054959801,0.054959801 -28-05-2019 19:00,10198602,0.048698558,0.048698558 -28-05-2019 20:00,10199273.43,0.040350234,0.040350234 -28-05-2019 21:00,10199944.16,0.028523441,0.028523441 -28-05-2019 22:00,10200614.17,0.013913874,0.013913874 -28-05-2019 23:00,10201283.48,0.004869856,0.004869856 -29-05-2019 0:00,10201952.07,0.002782775,0.002782775 -29-05-2019 1:00,10202619.96,0.000695694,0.000695694 -29-05-2019 2:00,10203287.13,0.000695694,0.000695694 -29-05-2019 3:00,10203953.59,0.001391387,0.001391387 -29-05-2019 4:00,10204619.34,0.004869856,0.004869856 -29-05-2019 5:00,10205284.38,0.038958846,0.038958846 -29-05-2019 6:00,10205948.7,0.064699512,0.064699512 -29-05-2019 7:00,10206612.31,0.050089945,0.050089945 -29-05-2019 8:00,10207275.21,0.059133963,0.059133963 -29-05-2019 9:00,10207937.39,0.042437315,0.042437315 -29-05-2019 10:00,10208598.86,0.036871765,0.036871765 -29-05-2019 11:00,10209259.62,0.031306216,0.031306216 -29-05-2019 12:00,10209919.66,0.025044973,0.025044973 -29-05-2019 13:00,10210578.99,0.021566504,0.021566504 -29-05-2019 14:00,10211237.6,0.016696648,0.016696648 -29-05-2019 15:00,10211895.49,0.018783729,0.018783729 -29-05-2019 16:00,10212552.67,0.030610522,0.030610522 -29-05-2019 17:00,10213209.13,0.054264107,0.054264107 -29-05-2019 18:00,10213864.88,0.054959801,0.054959801 -29-05-2019 19:00,10214519.91,0.048698558,0.048698558 -29-05-2019 20:00,10215174.22,0.040350234,0.040350234 -29-05-2019 21:00,10215827.81,0.028523441,0.028523441 -29-05-2019 22:00,10216480.69,0.013913874,0.013913874 -29-05-2019 23:00,10217132.84,0.004869856,0.004869856 -30-05-2019 0:00,10217784.28,0.002782775,0.002782775 -30-05-2019 1:00,10218435,0.000695694,0.000695694 -30-05-2019 2:00,10219085,0.000695694,0.000695694 -30-05-2019 3:00,10219734.28,0.001391387,0.001391387 -30-05-2019 4:00,10220382.84,0.004869856,0.004869856 -30-05-2019 5:00,10221030.68,0.038958846,0.038958846 -30-05-2019 6:00,10221677.79,0.064699512,0.064699512 -30-05-2019 7:00,10222324.19,0.050089945,0.050089945 -30-05-2019 8:00,10222969.87,0.059133963,0.059133963 -30-05-2019 9:00,10223614.82,0.042437315,0.042437315 -30-05-2019 10:00,10224259.05,0.036871765,0.036871765 -30-05-2019 11:00,10224902.56,0.031306216,0.031306216 -30-05-2019 12:00,10225545.35,0.025044973,0.025044973 -30-05-2019 13:00,10226187.41,0.021566504,0.021566504 -30-05-2019 14:00,10226828.75,0.016696648,0.016696648 -30-05-2019 15:00,10227469.37,0.018783729,0.018783729 -30-05-2019 16:00,10228109.26,0.030610522,0.030610522 -30-05-2019 17:00,10228748.43,0.054264107,0.054264107 -30-05-2019 18:00,10229386.87,0.054959801,0.054959801 -30-05-2019 19:00,10230024.59,0.048698558,0.048698558 -30-05-2019 20:00,10230661.58,0.040350234,0.040350234 -30-05-2019 21:00,10231297.85,0.028523441,0.028523441 -30-05-2019 22:00,10231933.39,0.013913874,0.013913874 -30-05-2019 23:00,10232568.2,0.004869856,0.004869856 -31-05-2019 0:00,10233202.29,0.002782775,0.002782775 -31-05-2019 1:00,10233835.65,0.000695694,0.000695694 -31-05-2019 2:00,10234468.29,0.000695694,0.000695694 -31-05-2019 3:00,10235100.19,0.001391387,0.001391387 -31-05-2019 4:00,10235731.37,0.004869856,0.004869856 -31-05-2019 5:00,10236361.82,0.038958846,0.038958846 -31-05-2019 6:00,10236991.54,0.064699512,0.064699512 -31-05-2019 7:00,10237620.53,0.050089945,0.050089945 -31-05-2019 8:00,10238248.79,0.059133963,0.059133963 -31-05-2019 9:00,10238876.33,0.042437315,0.042437315 -31-05-2019 10:00,10239503.13,0.036871765,0.036871765 -31-05-2019 11:00,10240129.2,0.031306216,0.031306216 -31-05-2019 12:00,10240754.54,0.025044973,0.025044973 -31-05-2019 13:00,10241379.15,0.021566504,0.021566504 -31-05-2019 14:00,10242003.03,0.016696648,0.016696648 -31-05-2019 15:00,10242626.18,0.018783729,0.018783729 -31-05-2019 16:00,10243248.6,0.030610522,0.030610522 -31-05-2019 17:00,10243870.28,0.054264107,0.054264107 -31-05-2019 18:00,10244491.23,0.054959801,0.054959801 -31-05-2019 19:00,10245111.45,0.048698558,0.048698558 -31-05-2019 20:00,10245730.94,0.040350234,0.040350234 -31-05-2019 21:00,10246349.69,0.028523441,0.028523441 -31-05-2019 22:00,10246967.71,0.013913874,0.013913874 -31-05-2019 23:00,10247584.99,0.004869856,0.004869856 -01-06-2019 0:00,10248201.54,0.002782775,0.002782775 -01-06-2019 1:00,10248817.36,0.000695694,0.000695694 -01-06-2019 2:00,10249432.44,0.000695694,0.000695694 -01-06-2019 3:00,10250046.78,0.001391387,0.001391387 -01-06-2019 4:00,10250660.39,0.004869856,0.004869856 -01-06-2019 5:00,10251273.26,0.038958846,0.038958846 -01-06-2019 6:00,10251885.4,0.064699512,0.064699512 -01-06-2019 7:00,10252496.8,0.050089945,0.050089945 -01-06-2019 8:00,10253107.46,0.059133963,0.059133963 -01-06-2019 9:00,10253717.39,0.042437315,0.042437315 -01-06-2019 10:00,10254326.58,0.036871765,0.036871765 -01-06-2019 11:00,10254935.03,0.031306216,0.031306216 -01-06-2019 12:00,10255542.74,0.025044973,0.025044973 -01-06-2019 13:00,10256149.71,0.021566504,0.021566504 -01-06-2019 14:00,10256755.95,0.016696648,0.016696648 -01-06-2019 15:00,10257361.44,0.018783729,0.018783729 -01-06-2019 16:00,10257966.2,0.030610522,0.030610522 -01-06-2019 17:00,10258570.21,0.054264107,0.054264107 -01-06-2019 18:00,10259173.49,0.054959801,0.054959801 -01-06-2019 19:00,10259776.03,0.048698558,0.048698558 -01-06-2019 20:00,10260377.82,0.040350234,0.040350234 -01-06-2019 21:00,10260978.87,0.028523441,0.028523441 -01-06-2019 22:00,10261579.19,0.013913874,0.013913874 -01-06-2019 23:00,10262178.76,0.004869856,0.004869856 -02-06-2019 0:00,10262777.59,0.002782775,0.002782775 -02-06-2019 1:00,10263375.67,0.000695694,0.000695694 -02-06-2019 2:00,10263973.02,0.000695694,0.000695694 -02-06-2019 3:00,10264569.62,0.001391387,0.001391387 -02-06-2019 4:00,10265165.48,0.004869856,0.004869856 -02-06-2019 5:00,10265760.59,0.038958846,0.038958846 -02-06-2019 6:00,10266354.96,0.064699512,0.064699512 -02-06-2019 7:00,10266948.59,0.050089945,0.050089945 -02-06-2019 8:00,10267541.47,0.059133963,0.059133963 -02-06-2019 9:00,10268133.61,0.042437315,0.042437315 -02-06-2019 10:00,10268725,0.036871765,0.036871765 -02-06-2019 11:00,10269315.65,0.031306216,0.031306216 -02-06-2019 12:00,10269905.55,0.025044973,0.025044973 -02-06-2019 13:00,10270494.71,0.021566504,0.021566504 -02-06-2019 14:00,10271083.12,0.016696648,0.016696648 -02-06-2019 15:00,10271670.78,0.018783729,0.018783729 -02-06-2019 16:00,10272257.7,0.030610522,0.030610522 -02-06-2019 17:00,10272843.86,0.054264107,0.054264107 -02-06-2019 18:00,10273429.29,0.054959801,0.054959801 -02-06-2019 19:00,10274013.96,0.048698558,0.048698558 -02-06-2019 20:00,10274597.89,0.040350234,0.040350234 -02-06-2019 21:00,10275181.06,0.028523441,0.028523441 -02-06-2019 22:00,10275763.49,0.013913874,0.013913874 -02-06-2019 23:00,10276345.17,0.004869856,0.004869856 -03-06-2019 0:00,10276926.1,0.002782775,0.002782775 -03-06-2019 1:00,10277506.28,0.000695694,0.000695694 -03-06-2019 2:00,10278085.72,0.000695694,0.000695694 -03-06-2019 3:00,10278664.4,0.001391387,0.001391387 -03-06-2019 4:00,10279242.33,0.004869856,0.004869856 -03-06-2019 5:00,10279819.51,0.038958846,0.038958846 -03-06-2019 6:00,10280395.94,0.064699512,0.064699512 -03-06-2019 7:00,10280971.62,0.050089945,0.050089945 -03-06-2019 8:00,10281546.54,0.059133963,0.059133963 -03-06-2019 9:00,10282120.72,0.042437315,0.042437315 -03-06-2019 10:00,10282694.14,0.036871765,0.036871765 -03-06-2019 11:00,10283266.81,0.031306216,0.031306216 -03-06-2019 12:00,10283838.72,0.025044973,0.025044973 -03-06-2019 13:00,10284409.89,0.021566504,0.021566504 -03-06-2019 14:00,10284980.3,0.016696648,0.016696648 -03-06-2019 15:00,10285549.96,0.018783729,0.018783729 -03-06-2019 16:00,10286118.86,0.030610522,0.030610522 -03-06-2019 17:00,10286687.01,0.054264107,0.054264107 -03-06-2019 18:00,10287254.4,0.054959801,0.054959801 -03-06-2019 19:00,10287821.04,0.048698558,0.048698558 -03-06-2019 20:00,10288386.92,0.040350234,0.040350234 -03-06-2019 21:00,10288952.05,0.028523441,0.028523441 -03-06-2019 22:00,10289516.42,0.013913874,0.013913874 -03-06-2019 23:00,10290080.04,0.004869856,0.004869856 -04-06-2019 0:00,10290642.9,0.002782775,0.002782775 -04-06-2019 1:00,10291205.01,0.000695694,0.000695694 -04-06-2019 2:00,10291766.35,0.000695694,0.000695694 -04-06-2019 3:00,10292326.94,0.001391387,0.001391387 -04-06-2019 4:00,10292886.78,0.004869856,0.004869856 -04-06-2019 5:00,10293445.85,0.038958846,0.038958846 -04-06-2019 6:00,10294004.17,0.064699512,0.064699512 -04-06-2019 7:00,10294561.72,0.050089945,0.050089945 -04-06-2019 8:00,10295118.52,0.059133963,0.059133963 -04-06-2019 9:00,10295674.57,0.042437315,0.042437315 -04-06-2019 10:00,10296229.85,0.036871765,0.036871765 -04-06-2019 11:00,10296784.37,0.031306216,0.031306216 -04-06-2019 12:00,10297338.13,0.025044973,0.025044973 -04-06-2019 13:00,10297891.13,0.021566504,0.021566504 -04-06-2019 14:00,10298443.38,0.016696648,0.016696648 -04-06-2019 15:00,10298994.86,0.018783729,0.018783729 -04-06-2019 16:00,10299545.58,0.030610522,0.030610522 -04-06-2019 17:00,10300095.54,0.054264107,0.054264107 -04-06-2019 18:00,10300644.74,0.054959801,0.054959801 -04-06-2019 19:00,10301193.17,0.048698558,0.048698558 -04-06-2019 20:00,10301740.85,0.040350234,0.040350234 -04-06-2019 21:00,10302287.76,0.028523441,0.028523441 -04-06-2019 22:00,10302833.91,0.013913874,0.013913874 -04-06-2019 23:00,10303379.29,0.004869856,0.004869856 -05-06-2019 0:00,10303923.92,0.002782775,0.002782775 -05-06-2019 1:00,10304467.78,0.000695694,0.000695694 -05-06-2019 2:00,10305010.87,0.000695694,0.000695694 -05-06-2019 3:00,10305553.21,0.001391387,0.001391387 -05-06-2019 4:00,10306094.77,0.004869856,0.004869856 -05-06-2019 5:00,10306635.58,0.038958846,0.038958846 -05-06-2019 6:00,10307175.62,0.064699512,0.064699512 -05-06-2019 7:00,10307714.89,0.050089945,0.050089945 -05-06-2019 8:00,10308253.4,0.059133963,0.059133963 -05-06-2019 9:00,10308791.14,0.042437315,0.042437315 -05-06-2019 10:00,10309328.12,0.036871765,0.036871765 -05-06-2019 11:00,10309864.33,0.031306216,0.031306216 -05-06-2019 12:00,10310399.77,0.025044973,0.025044973 -05-06-2019 13:00,10310934.45,0.021566504,0.021566504 -05-06-2019 14:00,10311468.36,0.016696648,0.016696648 -05-06-2019 15:00,10312001.5,0.018783729,0.018783729 -05-06-2019 16:00,10312533.88,0.030610522,0.030610522 -05-06-2019 17:00,10313065.48,0.054264107,0.054264107 -05-06-2019 18:00,10313596.32,0.054959801,0.054959801 -05-06-2019 19:00,10314126.39,0.048698558,0.048698558 -05-06-2019 20:00,10314655.7,0.040350234,0.040350234 -05-06-2019 21:00,10315184.23,0.028523441,0.028523441 -05-06-2019 22:00,10315711.99,0.013913874,0.013913874 -05-06-2019 23:00,10316238.99,0.004869856,0.004869856 -06-06-2019 0:00,10316765.21,0.002782775,0.002782775 -06-06-2019 1:00,10317290.67,0.000695694,0.000695694 -06-06-2019 2:00,10317815.35,0.000695694,0.000695694 -06-06-2019 3:00,10318339.27,0.001391387,0.001391387 -06-06-2019 4:00,10318862.41,0.004869856,0.004869856 -06-06-2019 5:00,10319384.78,0.038958846,0.038958846 -06-06-2019 6:00,10319906.38,0.064699512,0.064699512 -06-06-2019 7:00,10320427.21,0.050089945,0.050089945 -06-06-2019 8:00,10320947.27,0.059133963,0.059133963 -06-06-2019 9:00,10321466.55,0.042437315,0.042437315 -06-06-2019 10:00,10321985.07,0.036871765,0.036871765 -06-06-2019 11:00,10322502.81,0.031306216,0.031306216 -06-06-2019 12:00,10323019.77,0.025044973,0.025044973 -06-06-2019 13:00,10323535.97,0.021566504,0.021566504 -06-06-2019 14:00,10324051.39,0.016696648,0.016696648 -06-06-2019 15:00,10324566.03,0.018783729,0.018783729 -06-06-2019 16:00,10325079.91,0.030610522,0.030610522 -06-06-2019 17:00,10325593,0.054264107,0.054264107 -06-06-2019 18:00,10326105.33,0.054959801,0.054959801 -06-06-2019 19:00,10326616.88,0.048698558,0.048698558 -06-06-2019 20:00,10327127.65,0.040350234,0.040350234 -06-06-2019 21:00,10327637.65,0.028523441,0.028523441 -06-06-2019 22:00,10328146.87,0.013913874,0.013913874 -06-06-2019 23:00,10328655.32,0.004869856,0.004869856 -07-06-2019 0:00,10329162.99,0.002782775,0.002782775 -07-06-2019 1:00,10329669.88,0.000695694,0.000695694 -07-06-2019 2:00,10330176,0.000695694,0.000695694 -07-06-2019 3:00,10330681.34,0.001391387,0.001391387 -07-06-2019 4:00,10331185.9,0.004869856,0.004869856 -07-06-2019 5:00,10331689.69,0.038958846,0.038958846 -07-06-2019 6:00,10332192.7,0.064699512,0.064699512 -07-06-2019 7:00,10332694.93,0.050089945,0.050089945 -07-06-2019 8:00,10333196.38,0.059133963,0.059133963 -07-06-2019 9:00,10333697.05,0.042437315,0.042437315 -07-06-2019 10:00,10334196.95,0.036871765,0.036871765 -07-06-2019 11:00,10334696.06,0.031306216,0.031306216 -07-06-2019 12:00,10335194.4,0.025044973,0.025044973 -07-06-2019 13:00,10335691.96,0.021566504,0.021566504 -07-06-2019 14:00,10336188.73,0.016696648,0.016696648 -07-06-2019 15:00,10336684.73,0.018783729,0.018783729 -07-06-2019 16:00,10337179.95,0.030610522,0.030610522 -07-06-2019 17:00,10337674.38,0.054264107,0.054264107 -07-06-2019 18:00,10338168.04,0.054959801,0.054959801 -07-06-2019 19:00,10338660.91,0.048698558,0.048698558 -07-06-2019 20:00,10339153.01,0.040350234,0.040350234 -07-06-2019 21:00,10339644.32,0.028523441,0.028523441 -07-06-2019 22:00,10340134.85,0.013913874,0.013913874 -07-06-2019 23:00,10340624.6,0.004869856,0.004869856 -08-06-2019 0:00,10341113.56,0.002782775,0.002782775 -08-06-2019 1:00,10341601.75,0.000695694,0.000695694 -08-06-2019 2:00,10342089.15,0.000695694,0.000695694 -08-06-2019 3:00,10342575.76,0.001391387,0.001391387 -08-06-2019 4:00,10343061.6,0.004869856,0.004869856 -08-06-2019 5:00,10343546.65,0.038958846,0.038958846 -08-06-2019 6:00,10344030.91,0.064699512,0.064699512 -08-06-2019 7:00,10344514.4,0.050089945,0.050089945 -08-06-2019 8:00,10344997.09,0.059133963,0.059133963 -08-06-2019 9:00,10345479.01,0.042437315,0.042437315 -08-06-2019 10:00,10345960.14,0.036871765,0.036871765 -08-06-2019 11:00,10346440.48,0.031306216,0.031306216 -08-06-2019 12:00,10346920.04,0.025044973,0.025044973 -08-06-2019 13:00,10347398.81,0.021566504,0.021566504 -08-06-2019 14:00,10347876.8,0.016696648,0.016696648 -08-06-2019 15:00,10348354,0.018783729,0.018783729 -08-06-2019 16:00,10348830.42,0.030610522,0.030610522 -08-06-2019 17:00,10349306.04,0.054264107,0.054264107 -08-06-2019 18:00,10349780.89,0.054959801,0.054959801 -08-06-2019 19:00,10350254.94,0.048698558,0.048698558 -08-06-2019 20:00,10350728.21,0.040350234,0.040350234 -08-06-2019 21:00,10351200.69,0.028523441,0.028523441 -08-06-2019 22:00,10351672.38,0.013913874,0.013913874 -08-06-2019 23:00,10352143.28,0.004869856,0.004869856 -09-06-2019 0:00,10352613.4,0.002782775,0.002782775 -09-06-2019 1:00,10353082.73,0.000695694,0.000695694 -09-06-2019 2:00,10353551.26,0.000695694,0.000695694 -09-06-2019 3:00,10354019.01,0.001391387,0.001391387 -09-06-2019 4:00,10354485.98,0.004869856,0.004869856 -09-06-2019 5:00,10354952.15,0.038958846,0.038958846 -09-06-2019 6:00,10355417.53,0.064699512,0.064699512 -09-06-2019 7:00,10355882.12,0.050089945,0.050089945 -09-06-2019 8:00,10356345.92,0.059133963,0.059133963 -09-06-2019 9:00,10356808.93,0.042437315,0.042437315 -09-06-2019 10:00,10357271.15,0.036871765,0.036871765 -09-06-2019 11:00,10357732.58,0.031306216,0.031306216 -09-06-2019 12:00,10358193.22,0.025044973,0.025044973 -09-06-2019 13:00,10358653.07,0.021566504,0.021566504 -09-06-2019 14:00,10359112.12,0.016696648,0.016696648 -09-06-2019 15:00,10359570.39,0.018783729,0.018783729 -09-06-2019 16:00,10360027.86,0.030610522,0.030610522 -09-06-2019 17:00,10360484.54,0.054264107,0.054264107 -09-06-2019 18:00,10360940.42,0.054959801,0.054959801 -09-06-2019 19:00,10361395.52,0.048698558,0.048698558 -09-06-2019 20:00,10361849.82,0.040350234,0.040350234 -09-06-2019 21:00,10362303.33,0.028523441,0.028523441 -09-06-2019 22:00,10362756.04,0.013913874,0.013913874 -09-06-2019 23:00,10363207.96,0.004869856,0.004869856 -10-06-2019 0:00,10363659.09,0.002782775,0.002782775 -10-06-2019 1:00,10364109.42,0.000695694,0.000695694 -10-06-2019 2:00,10364558.96,0.000695694,0.000695694 -10-06-2019 3:00,10365007.7,0.001391387,0.001391387 -10-06-2019 4:00,10365455.65,0.004869856,0.004869856 -10-06-2019 5:00,10365902.81,0.038958846,0.038958846 -10-06-2019 6:00,10366349.16,0.064699512,0.064699512 -10-06-2019 7:00,10366794.73,0.050089945,0.050089945 -10-06-2019 8:00,10367239.49,0.059133963,0.059133963 -10-06-2019 9:00,10367683.47,0.042437315,0.042437315 -10-06-2019 10:00,10368126.64,0.036871765,0.036871765 -10-06-2019 11:00,10368569.02,0.031306216,0.031306216 -10-06-2019 12:00,10369010.6,0.025044973,0.025044973 -10-06-2019 13:00,10369451.39,0.021566504,0.021566504 -10-06-2019 14:00,10369891.37,0.016696648,0.016696648 -10-06-2019 15:00,10370330.56,0.018783729,0.018783729 -10-06-2019 16:00,10370768.96,0.030610522,0.030610522 -10-06-2019 17:00,10371206.55,0.054264107,0.054264107 -10-06-2019 18:00,10371643.35,0.054959801,0.054959801 -10-06-2019 19:00,10372079.35,0.048698558,0.048698558 -10-06-2019 20:00,10372514.55,0.040350234,0.040350234 -10-06-2019 21:00,10372948.95,0.028523441,0.028523441 -10-06-2019 22:00,10373382.55,0.013913874,0.013913874 -10-06-2019 23:00,10373815.36,0.004869856,0.004869856 -11-06-2019 0:00,10374247.36,0.002782775,0.002782775 -11-06-2019 1:00,10374678.56,0.000695694,0.000695694 -11-06-2019 2:00,10375108.97,0.000695694,0.000695694 -11-06-2019 3:00,10375538.57,0.001391387,0.001391387 -11-06-2019 4:00,10375967.38,0.004869856,0.004869856 -11-06-2019 5:00,10376395.38,0.038958846,0.038958846 -11-06-2019 6:00,10376822.58,0.064699512,0.064699512 -11-06-2019 7:00,10377248.99,0.050089945,0.050089945 -11-06-2019 8:00,10377674.59,0.059133963,0.059133963 -11-06-2019 9:00,10378099.39,0.042437315,0.042437315 -11-06-2019 10:00,10378523.39,0.036871765,0.036871765 -11-06-2019 11:00,10378946.58,0.031306216,0.031306216 -11-06-2019 12:00,10379368.98,0.025044973,0.025044973 -11-06-2019 13:00,10379790.57,0.021566504,0.021566504 -11-06-2019 14:00,10380211.36,0.016696648,0.016696648 -11-06-2019 15:00,10380631.35,0.018783729,0.018783729 -11-06-2019 16:00,10381050.53,0.030610522,0.030610522 -11-06-2019 17:00,10381468.91,0.054264107,0.054264107 -11-06-2019 18:00,10381886.49,0.054959801,0.054959801 -11-06-2019 19:00,10382303.26,0.048698558,0.048698558 -11-06-2019 20:00,10382719.23,0.040350234,0.040350234 -11-06-2019 21:00,10383134.4,0.028523441,0.028523441 -11-06-2019 22:00,10383548.76,0.013913874,0.013913874 -11-06-2019 23:00,10383962.32,0.004869856,0.004869856 -12-06-2019 0:00,10384375.07,0.002782775,0.002782775 -12-06-2019 1:00,10384787.02,0.000695694,0.000695694 -12-06-2019 2:00,10385198.16,0.000695694,0.000695694 -12-06-2019 3:00,10385608.5,0.001391387,0.001391387 -12-06-2019 4:00,10386018.04,0.004869856,0.004869856 -12-06-2019 5:00,10386426.76,0.038958846,0.038958846 -12-06-2019 6:00,10386834.68,0.064699512,0.064699512 -12-06-2019 7:00,10387241.8,0.050089945,0.050089945 -12-06-2019 8:00,10387648.11,0.059133963,0.059133963 -12-06-2019 9:00,10388053.61,0.042437315,0.042437315 -12-06-2019 10:00,10388458.31,0.036871765,0.036871765 -12-06-2019 11:00,10388862.2,0.031306216,0.031306216 -12-06-2019 12:00,10389265.28,0.025044973,0.025044973 -12-06-2019 13:00,10389667.55,0.021566504,0.021566504 -12-06-2019 14:00,10390069.02,0.016696648,0.016696648 -12-06-2019 15:00,10390469.68,0.018783729,0.018783729 -12-06-2019 16:00,10390869.53,0.030610522,0.030610522 -12-06-2019 17:00,10391268.57,0.054264107,0.054264107 -12-06-2019 18:00,10391666.81,0.054959801,0.054959801 -12-06-2019 19:00,10392064.23,0.048698558,0.048698558 -12-06-2019 20:00,10392460.85,0.040350234,0.040350234 -12-06-2019 21:00,10392856.66,0.028523441,0.028523441 -12-06-2019 22:00,10393251.66,0.013913874,0.013913874 -12-06-2019 23:00,10393645.85,0.004869856,0.004869856 -13-06-2019 0:00,10394039.23,0.002782775,0.002782775 -13-06-2019 1:00,10394431.8,0.000695694,0.000695694 -13-06-2019 2:00,10394823.56,0.000695694,0.000695694 -13-06-2019 3:00,10395214.51,0.001391387,0.001391387 -13-06-2019 4:00,10395604.65,0.004869856,0.004869856 -13-06-2019 5:00,10395993.98,0.038958846,0.038958846 -13-06-2019 6:00,10396382.5,0.064699512,0.064699512 -13-06-2019 7:00,10396770.21,0.050089945,0.050089945 -13-06-2019 8:00,10397157.1,0.059133963,0.059133963 -13-06-2019 9:00,10397543.19,0.042437315,0.042437315 -13-06-2019 10:00,10397928.46,0.036871765,0.036871765 -13-06-2019 11:00,10398312.92,0.031306216,0.031306216 -13-06-2019 12:00,10398696.57,0.025044973,0.025044973 -13-06-2019 13:00,10399079.41,0.021566504,0.021566504 -13-06-2019 14:00,10399461.43,0.016696648,0.016696648 -13-06-2019 15:00,10399842.65,0.018783729,0.018783729 -13-06-2019 16:00,10400223.05,0.030610522,0.030610522 -13-06-2019 17:00,10400602.63,0.054264107,0.054264107 -13-06-2019 18:00,10400981.41,0.054959801,0.054959801 -13-06-2019 19:00,10401359.37,0.048698558,0.048698558 -13-06-2019 20:00,10401736.51,0.040350234,0.040350234 -13-06-2019 21:00,10402112.85,0.028523441,0.028523441 -13-06-2019 22:00,10402488.37,0.013913874,0.013913874 -13-06-2019 23:00,10402863.07,0.004869856,0.004869856 -14-06-2019 0:00,10403236.96,0.002782775,0.002782775 -14-06-2019 1:00,10403610.04,0.000695694,0.000695694 -14-06-2019 2:00,10403982.3,0.000695694,0.000695694 -14-06-2019 3:00,10404353.75,0.001391387,0.001391387 -14-06-2019 4:00,10404724.38,0.004869856,0.004869856 -14-06-2019 5:00,10405094.19,0.038958846,0.038958846 -14-06-2019 6:00,10405463.19,0.064699512,0.064699512 -14-06-2019 7:00,10405831.38,0.050089945,0.050089945 -14-06-2019 8:00,10406198.75,0.059133963,0.059133963 -14-06-2019 9:00,10406565.3,0.042437315,0.042437315 -14-06-2019 10:00,10406931.04,0.036871765,0.036871765 -14-06-2019 11:00,10407295.96,0.031306216,0.031306216 -14-06-2019 12:00,10407660.06,0.025044973,0.025044973 -14-06-2019 13:00,10408023.35,0.021566504,0.021566504 -14-06-2019 14:00,10408385.82,0.016696648,0.016696648 -14-06-2019 15:00,10408747.47,0.018783729,0.018783729 -14-06-2019 16:00,10409108.31,0.030610522,0.030610522 -14-06-2019 17:00,10409468.33,0.054264107,0.054264107 -14-06-2019 18:00,10409827.53,0.054959801,0.054959801 -14-06-2019 19:00,10410185.91,0.048698558,0.048698558 -14-06-2019 20:00,10410543.48,0.040350234,0.040350234 -14-06-2019 21:00,10410900.22,0.028523441,0.028523441 -14-06-2019 22:00,10411256.15,0.013913874,0.013913874 -14-06-2019 23:00,10411611.26,0.004869856,0.004869856 -15-06-2019 0:00,10411965.55,0.002782775,0.002782775 -15-06-2019 1:00,10412319.02,0.000695694,0.000695694 -15-06-2019 2:00,10412671.67,0.000695694,0.000695694 -15-06-2019 3:00,10413023.5,0.001391387,0.001391387 -15-06-2019 4:00,10413374.52,0.004869856,0.004869856 -15-06-2019 5:00,10413724.71,0.038958846,0.038958846 -15-06-2019 6:00,10414074.08,0.064699512,0.064699512 -15-06-2019 7:00,10414422.64,0.050089945,0.050089945 -15-06-2019 8:00,10414770.37,0.059133963,0.059133963 -15-06-2019 9:00,10415117.28,0.042437315,0.042437315 -15-06-2019 10:00,10415463.38,0.036871765,0.036871765 -15-06-2019 11:00,10415808.65,0.031306216,0.031306216 -15-06-2019 12:00,10416153.1,0.025044973,0.025044973 -15-06-2019 13:00,10416496.73,0.021566504,0.021566504 -15-06-2019 14:00,10416839.53,0.016696648,0.016696648 -15-06-2019 15:00,10417181.52,0.018783729,0.018783729 -15-06-2019 16:00,10417522.69,0.030610522,0.030610522 -15-06-2019 17:00,10417863.03,0.054264107,0.054264107 -15-06-2019 18:00,10418202.55,0.054959801,0.054959801 -15-06-2019 19:00,10418541.25,0.048698558,0.048698558 -15-06-2019 20:00,10418879.12,0.040350234,0.040350234 -15-06-2019 21:00,10419216.18,0.028523441,0.028523441 -15-06-2019 22:00,10419552.41,0.013913874,0.013913874 -15-06-2019 23:00,10419887.82,0.004869856,0.004869856 -16-06-2019 0:00,10420222.4,0.002782775,0.002782775 -16-06-2019 1:00,10420556.16,0.000695694,0.000695694 -16-06-2019 2:00,10420889.1,0.000695694,0.000695694 -16-06-2019 3:00,10421221.22,0.001391387,0.001391387 -16-06-2019 4:00,10421552.51,0.004869856,0.004869856 -16-06-2019 5:00,10421882.97,0.038958846,0.038958846 -16-06-2019 6:00,10422212.62,0.064699512,0.064699512 -16-06-2019 7:00,10422541.43,0.050089945,0.050089945 -16-06-2019 8:00,10422869.43,0.059133963,0.059133963 -16-06-2019 9:00,10423196.6,0.042437315,0.042437315 -16-06-2019 10:00,10423522.94,0.036871765,0.036871765 -16-06-2019 11:00,10423848.46,0.031306216,0.031306216 -16-06-2019 12:00,10424173.16,0.025044973,0.025044973 -16-06-2019 13:00,10424497.03,0.021566504,0.021566504 -16-06-2019 14:00,10424820.07,0.016696648,0.016696648 -16-06-2019 15:00,10425142.29,0.018783729,0.018783729 -16-06-2019 16:00,10425463.68,0.030610522,0.030610522 -16-06-2019 17:00,10425784.25,0.054264107,0.054264107 -16-06-2019 18:00,10426103.99,0.054959801,0.054959801 -16-06-2019 19:00,10426422.9,0.048698558,0.048698558 -16-06-2019 20:00,10426740.99,0.040350234,0.040350234 -16-06-2019 21:00,10427058.25,0.028523441,0.028523441 -16-06-2019 22:00,10427374.69,0.013913874,0.013913874 -16-06-2019 23:00,10427690.29,0.004869856,0.004869856 -17-06-2019 0:00,10428005.07,0.002782775,0.002782775 -17-06-2019 1:00,10428319.03,0.000695694,0.000695694 -17-06-2019 2:00,10428632.15,0.000695694,0.000695694 -17-06-2019 3:00,10428944.45,0.001391387,0.001391387 -17-06-2019 4:00,10429255.92,0.004869856,0.004869856 -17-06-2019 5:00,10429566.56,0.038958846,0.038958846 -17-06-2019 6:00,10429876.38,0.064699512,0.064699512 -17-06-2019 7:00,10430185.36,0.050089945,0.050089945 -17-06-2019 8:00,10430493.52,0.059133963,0.059133963 -17-06-2019 9:00,10430800.85,0.042437315,0.042437315 -17-06-2019 10:00,10431107.35,0.036871765,0.036871765 -17-06-2019 11:00,10431413.02,0.031306216,0.031306216 -17-06-2019 12:00,10431717.87,0.025044973,0.025044973 -17-06-2019 13:00,10432021.88,0.021566504,0.021566504 -17-06-2019 14:00,10432325.06,0.016696648,0.016696648 -17-06-2019 15:00,10432627.42,0.018783729,0.018783729 -17-06-2019 16:00,10432928.94,0.030610522,0.030610522 -17-06-2019 17:00,10433229.64,0.054264107,0.054264107 -17-06-2019 18:00,10433529.5,0.054959801,0.054959801 -17-06-2019 19:00,10433828.54,0.048698558,0.048698558 -17-06-2019 20:00,10434126.74,0.040350234,0.040350234 -17-06-2019 21:00,10434424.12,0.028523441,0.028523441 -17-06-2019 22:00,10434720.66,0.013913874,0.013913874 -17-06-2019 23:00,10435016.38,0.004869856,0.004869856 -18-06-2019 0:00,10435311.26,0.002782775,0.002782775 -18-06-2019 1:00,10435605.31,0.000695694,0.000695694 -18-06-2019 2:00,10435898.53,0.000695694,0.000695694 -18-06-2019 3:00,10436190.92,0.001391387,0.001391387 -18-06-2019 4:00,10436482.48,0.004869856,0.004869856 -18-06-2019 5:00,10436773.2,0.038958846,0.038958846 -18-06-2019 6:00,10437063.1,0.064699512,0.064699512 -18-06-2019 7:00,10437352.16,0.050089945,0.050089945 -18-06-2019 8:00,10437640.39,0.059133963,0.059133963 -18-06-2019 9:00,10437927.79,0.042437315,0.042437315 -18-06-2019 10:00,10438214.35,0.036871765,0.036871765 -18-06-2019 11:00,10438500.09,0.031306216,0.031306216 -18-06-2019 12:00,10438784.99,0.025044973,0.025044973 -18-06-2019 13:00,10439069.05,0.021566504,0.021566504 -18-06-2019 14:00,10439352.29,0.016696648,0.016696648 -18-06-2019 15:00,10439634.69,0.018783729,0.018783729 -18-06-2019 16:00,10439916.26,0.030610522,0.030610522 -18-06-2019 17:00,10440196.99,0.054264107,0.054264107 -18-06-2019 18:00,10440476.9,0.054959801,0.054959801 -18-06-2019 19:00,10440755.96,0.048698558,0.048698558 -18-06-2019 20:00,10441034.2,0.040350234,0.040350234 -18-06-2019 21:00,10441311.6,0.028523441,0.028523441 -18-06-2019 22:00,10441588.16,0.013913874,0.013913874 -18-06-2019 23:00,10441863.9,0.004869856,0.004869856 -19-06-2019 0:00,10442138.79,0.002782775,0.002782775 -19-06-2019 1:00,10442412.86,0.000695694,0.000695694 -19-06-2019 2:00,10442686.08,0.000695694,0.000695694 -19-06-2019 3:00,10442958.48,0.001391387,0.001391387 -19-06-2019 4:00,10443230.04,0.004869856,0.004869856 -19-06-2019 5:00,10443500.76,0.038958846,0.038958846 -19-06-2019 6:00,10443770.65,0.064699512,0.064699512 -19-06-2019 7:00,10444039.7,0.050089945,0.050089945 -19-06-2019 8:00,10444307.92,0.059133963,0.059133963 -19-06-2019 9:00,10444575.3,0.042437315,0.042437315 -19-06-2019 10:00,10444841.84,0.036871765,0.036871765 -19-06-2019 11:00,10445107.55,0.031306216,0.031306216 -19-06-2019 12:00,10445372.43,0.025044973,0.025044973 -19-06-2019 13:00,10445636.47,0.021566504,0.021566504 -19-06-2019 14:00,10445899.67,0.016696648,0.016696648 -19-06-2019 15:00,10446162.03,0.018783729,0.018783729 -19-06-2019 16:00,10446423.56,0.030610522,0.030610522 -19-06-2019 17:00,10446684.25,0.054264107,0.054264107 -19-06-2019 18:00,10446944.11,0.054959801,0.054959801 -19-06-2019 19:00,10447203.12,0.048698558,0.048698558 -19-06-2019 20:00,10447461.3,0.040350234,0.040350234 -19-06-2019 21:00,10447718.65,0.028523441,0.028523441 -19-06-2019 22:00,10447975.15,0.013913874,0.013913874 -19-06-2019 23:00,10448230.82,0.004869856,0.004869856 -20-06-2019 0:00,10448485.65,0.002782775,0.002782775 -20-06-2019 1:00,10448739.64,0.000695694,0.000695694 -20-06-2019 2:00,10448992.8,0.000695694,0.000695694 -20-06-2019 3:00,10449245.12,0.001391387,0.001391387 -20-06-2019 4:00,10449496.6,0.004869856,0.004869856 -20-06-2019 5:00,10449747.24,0.038958846,0.038958846 -20-06-2019 6:00,10449997.04,0.064699512,0.064699512 -20-06-2019 7:00,10450246,0.050089945,0.050089945 -20-06-2019 8:00,10450494.13,0.059133963,0.059133963 -20-06-2019 9:00,10450741.41,0.042437315,0.042437315 -20-06-2019 10:00,10450987.86,0.036871765,0.036871765 -20-06-2019 11:00,10451233.47,0.031306216,0.031306216 -20-06-2019 12:00,10451478.24,0.025044973,0.025044973 -20-06-2019 13:00,10451722.16,0.021566504,0.021566504 -20-06-2019 14:00,10451965.25,0.016696648,0.016696648 -20-06-2019 15:00,10452207.5,0.018783729,0.018783729 -20-06-2019 16:00,10452448.92,0.030610522,0.030610522 -20-06-2019 17:00,10452689.49,0.054264107,0.054264107 -20-06-2019 18:00,10452929.22,0.054959801,0.054959801 -20-06-2019 19:00,10453168.11,0.048698558,0.048698558 -20-06-2019 20:00,10453406.16,0.040350234,0.040350234 -20-06-2019 21:00,10453643.37,0.028523441,0.028523441 -20-06-2019 22:00,10453879.74,0.013913874,0.013913874 -20-06-2019 23:00,10454115.27,0.004869856,0.004869856 -21-06-2019 0:00,10454349.96,0.002782775,0.002782775 -21-06-2019 1:00,10454583.8,0.000695694,0.000695694 -21-06-2019 2:00,10454816.81,0.000695694,0.000695694 -21-06-2019 3:00,10455048.98,0.001391387,0.001391387 -21-06-2019 4:00,10455280.3,0.004869856,0.004869856 -21-06-2019 5:00,10455510.78,0.038958846,0.038958846 -21-06-2019 6:00,10455740.43,0.064699512,0.064699512 -21-06-2019 7:00,10455969.23,0.050089945,0.050089945 -21-06-2019 8:00,10456197.18,0.059133963,0.059133963 -21-06-2019 9:00,10456424.3,0.042437315,0.042437315 -21-06-2019 10:00,10456650.58,0.036871765,0.036871765 -21-06-2019 11:00,10456876.01,0.031306216,0.031306216 -21-06-2019 12:00,10457100.6,0.025044973,0.025044973 -21-06-2019 13:00,10457324.35,0.021566504,0.021566504 -21-06-2019 14:00,10457547.26,0.016696648,0.016696648 -21-06-2019 15:00,10457769.32,0.018783729,0.018783729 -21-06-2019 16:00,10457990.54,0.030610522,0.030610522 -21-06-2019 17:00,10458210.92,0.054264107,0.054264107 -21-06-2019 18:00,10458430.46,0.054959801,0.054959801 -21-06-2019 19:00,10458649.15,0.048698558,0.048698558 -21-06-2019 20:00,10458867,0.040350234,0.040350234 -21-06-2019 21:00,10459084.01,0.028523441,0.028523441 -21-06-2019 22:00,10459300.17,0.013913874,0.013913874 -21-06-2019 23:00,10459515.49,0.004869856,0.004869856 -22-06-2019 0:00,10459729.97,0.002782775,0.002782775 -22-06-2019 1:00,10459943.6,0.000695694,0.000695694 -22-06-2019 2:00,10460156.39,0.000695694,0.000695694 -22-06-2019 3:00,10460368.33,0.001391387,0.001391387 -22-06-2019 4:00,10460579.44,0.004869856,0.004869856 -22-06-2019 5:00,10460789.69,0.038958846,0.038958846 -22-06-2019 6:00,10460999.11,0.064699512,0.064699512 -22-06-2019 7:00,10461207.68,0.050089945,0.050089945 -22-06-2019 8:00,10461415.4,0.059133963,0.059133963 -22-06-2019 9:00,10461622.28,0.042437315,0.042437315 -22-06-2019 10:00,10461828.32,0.036871765,0.036871765 -22-06-2019 11:00,10462033.51,0.031306216,0.031306216 -22-06-2019 12:00,10462237.86,0.025044973,0.025044973 -22-06-2019 13:00,10462441.36,0.021566504,0.021566504 -22-06-2019 14:00,10462644.02,0.016696648,0.016696648 -22-06-2019 15:00,10462845.83,0.018783729,0.018783729 -22-06-2019 16:00,10463046.8,0.030610522,0.030610522 -22-06-2019 17:00,10463246.92,0.054264107,0.054264107 -22-06-2019 18:00,10463446.19,0.054959801,0.054959801 -22-06-2019 19:00,10463644.62,0.048698558,0.048698558 -22-06-2019 20:00,10463842.21,0.040350234,0.040350234 -22-06-2019 21:00,10464038.95,0.028523441,0.028523441 -22-06-2019 22:00,10464234.84,0.013913874,0.013913874 -22-06-2019 23:00,10464429.89,0.004869856,0.004869856 -23-06-2019 0:00,10464624.09,0.002782775,0.002782775 -23-06-2019 1:00,10464817.45,0.000695694,0.000695694 -23-06-2019 2:00,10465009.95,0.000695694,0.000695694 -23-06-2019 3:00,10465201.62,0.001391387,0.001391387 -23-06-2019 4:00,10465392.43,0.004869856,0.004869856 -23-06-2019 5:00,10465582.4,0.038958846,0.038958846 -23-06-2019 6:00,10465771.53,0.064699512,0.064699512 -23-06-2019 7:00,10465959.8,0.050089945,0.050089945 -23-06-2019 8:00,10466147.23,0.059133963,0.059133963 -23-06-2019 9:00,10466333.82,0.042437315,0.042437315 -23-06-2019 10:00,10466519.55,0.036871765,0.036871765 -23-06-2019 11:00,10466704.44,0.031306216,0.031306216 -23-06-2019 12:00,10466888.48,0.025044973,0.025044973 -23-06-2019 13:00,10467071.68,0.021566504,0.021566504 -23-06-2019 14:00,10467254.03,0.016696648,0.016696648 -23-06-2019 15:00,10467435.53,0.018783729,0.018783729 -23-06-2019 16:00,10467616.18,0.030610522,0.030610522 -23-06-2019 17:00,10467795.98,0.054264107,0.054264107 -23-06-2019 18:00,10467974.94,0.054959801,0.054959801 -23-06-2019 19:00,10468153.05,0.048698558,0.048698558 -23-06-2019 20:00,10468330.31,0.040350234,0.040350234 -23-06-2019 21:00,10468506.72,0.028523441,0.028523441 -23-06-2019 22:00,10468682.29,0.013913874,0.013913874 -23-06-2019 23:00,10468857.01,0.004869856,0.004869856 -24-06-2019 0:00,10469030.88,0.002782775,0.002782775 -24-06-2019 1:00,10469203.9,0.000695694,0.000695694 -24-06-2019 2:00,10469376.07,0.000695694,0.000695694 -24-06-2019 3:00,10469547.39,0.001391387,0.001391387 -24-06-2019 4:00,10469717.87,0.004869856,0.004869856 -24-06-2019 5:00,10469887.49,0.038958846,0.038958846 -24-06-2019 6:00,10470056.27,0.064699512,0.064699512 -24-06-2019 7:00,10470224.2,0.050089945,0.050089945 -24-06-2019 8:00,10470391.28,0.059133963,0.059133963 -24-06-2019 9:00,10470557.51,0.042437315,0.042437315 -24-06-2019 10:00,10470722.89,0.036871765,0.036871765 -24-06-2019 11:00,10470887.42,0.031306216,0.031306216 -24-06-2019 12:00,10471051.1,0.025044973,0.025044973 -24-06-2019 13:00,10471213.94,0.021566504,0.021566504 -24-06-2019 14:00,10471375.92,0.016696648,0.016696648 -24-06-2019 15:00,10471537.05,0.018783729,0.018783729 -24-06-2019 16:00,10471697.34,0.030610522,0.030610522 -24-06-2019 17:00,10471856.77,0.054264107,0.054264107 -24-06-2019 18:00,10472015.36,0.054959801,0.054959801 -24-06-2019 19:00,10472173.09,0.048698558,0.048698558 -24-06-2019 20:00,10472329.98,0.040350234,0.040350234 -24-06-2019 21:00,10472486.01,0.028523441,0.028523441 -24-06-2019 22:00,10472641.2,0.013913874,0.013913874 -24-06-2019 23:00,10472795.53,0.004869856,0.004869856 -25-06-2019 0:00,10472949.02,0.002782775,0.002782775 -25-06-2019 1:00,10473101.65,0.000695694,0.000695694 -25-06-2019 2:00,10473253.44,0.000695694,0.000695694 -25-06-2019 3:00,10473404.37,0.001391387,0.001391387 -25-06-2019 4:00,10473554.45,0.004869856,0.004869856 -25-06-2019 5:00,10473703.68,0.038958846,0.038958846 -25-06-2019 6:00,10473852.06,0.064699512,0.064699512 -25-06-2019 7:00,10473999.59,0.050089945,0.050089945 -25-06-2019 8:00,10474146.27,0.059133963,0.059133963 -25-06-2019 9:00,10474292.1,0.042437315,0.042437315 -25-06-2019 10:00,10474437.08,0.036871765,0.036871765 -25-06-2019 11:00,10474581.2,0.031306216,0.031306216 -25-06-2019 12:00,10474724.48,0.025044973,0.025044973 -25-06-2019 13:00,10474866.9,0.021566504,0.021566504 -25-06-2019 14:00,10475008.47,0.016696648,0.016696648 -25-06-2019 15:00,10475149.2,0.018783729,0.018783729 -25-06-2019 16:00,10475289.06,0.030610522,0.030610522 -25-06-2019 17:00,10475428.08,0.054264107,0.054264107 -25-06-2019 18:00,10475566.25,0.054959801,0.054959801 -25-06-2019 19:00,10475703.56,0.048698558,0.048698558 -25-06-2019 20:00,10475840.02,0.040350234,0.040350234 -25-06-2019 21:00,10475975.64,0.028523441,0.028523441 -25-06-2019 22:00,10476110.39,0.013913874,0.013913874 -25-06-2019 23:00,10476244.3,0.004869856,0.004869856 -26-06-2019 0:00,10476377.36,0.002782775,0.002782775 -26-06-2019 1:00,10476509.56,0.000695694,0.000695694 -26-06-2019 2:00,10476640.91,0.000695694,0.000695694 -26-06-2019 3:00,10476771.41,0.001391387,0.001391387 -26-06-2019 4:00,10476901.05,0.004869856,0.004869856 -26-06-2019 5:00,10477029.84,0.038958846,0.038958846 -26-06-2019 6:00,10477157.79,0.064699512,0.064699512 -26-06-2019 7:00,10477284.87,0.050089945,0.050089945 -26-06-2019 8:00,10477411.11,0.059133963,0.059133963 -26-06-2019 9:00,10477536.49,0.042437315,0.042437315 -26-06-2019 10:00,10477661.02,0.036871765,0.036871765 -26-06-2019 11:00,10477784.7,0.031306216,0.031306216 -26-06-2019 12:00,10477907.52,0.025044973,0.025044973 -26-06-2019 13:00,10478029.5,0.021566504,0.021566504 -26-06-2019 14:00,10478150.61,0.016696648,0.016696648 -26-06-2019 15:00,10478270.88,0.018783729,0.018783729 -26-06-2019 16:00,10478390.29,0.030610522,0.030610522 -26-06-2019 17:00,10478508.85,0.054264107,0.054264107 -26-06-2019 18:00,10478626.56,0.054959801,0.054959801 -26-06-2019 19:00,10478743.41,0.048698558,0.048698558 -26-06-2019 20:00,10478859.41,0.040350234,0.040350234 -26-06-2019 21:00,10478974.56,0.028523441,0.028523441 -26-06-2019 22:00,10479088.85,0.013913874,0.013913874 -26-06-2019 23:00,10479202.29,0.004869856,0.004869856 -27-06-2019 0:00,10479314.87,0.002782775,0.002782775 -27-06-2019 1:00,10479426.6,0.000695694,0.000695694 -27-06-2019 2:00,10479537.48,0.000695694,0.000695694 -27-06-2019 3:00,10479647.51,0.001391387,0.001391387 -27-06-2019 4:00,10479756.68,0.004869856,0.004869856 -27-06-2019 5:00,10479864.99,0.038958846,0.038958846 -27-06-2019 6:00,10479972.46,0.064699512,0.064699512 -27-06-2019 7:00,10480079.06,0.050089945,0.050089945 -27-06-2019 8:00,10480184.82,0.059133963,0.059133963 -27-06-2019 9:00,10480289.72,0.042437315,0.042437315 -27-06-2019 10:00,10480393.77,0.036871765,0.036871765 -27-06-2019 11:00,10480496.96,0.031306216,0.031306216 -27-06-2019 12:00,10480599.3,0.025044973,0.025044973 -27-06-2019 13:00,10480700.78,0.021566504,0.021566504 -27-06-2019 14:00,10480801.41,0.016696648,0.016696648 -27-06-2019 15:00,10480901.18,0.018783729,0.018783729 -27-06-2019 16:00,10481000.1,0.030610522,0.030610522 -27-06-2019 17:00,10481098.17,0.054264107,0.054264107 -27-06-2019 18:00,10481195.38,0.054959801,0.054959801 -27-06-2019 19:00,10481291.74,0.048698558,0.048698558 -27-06-2019 20:00,10481387.24,0.040350234,0.040350234 -27-06-2019 21:00,10481481.89,0.028523441,0.028523441 -27-06-2019 22:00,10481575.68,0.013913874,0.013913874 -27-06-2019 23:00,10481668.62,0.004869856,0.004869856 -28-06-2019 0:00,10481760.7,0.002782775,0.002782775 -28-06-2019 1:00,10481851.93,0.000695694,0.000695694 -28-06-2019 2:00,10481942.3,0.000695694,0.000695694 -28-06-2019 3:00,10482031.82,0.001391387,0.001391387 -28-06-2019 4:00,10482120.48,0.004869856,0.004869856 -28-06-2019 5:00,10482208.29,0.038958846,0.038958846 -28-06-2019 6:00,10482295.24,0.064699512,0.064699512 -28-06-2019 7:00,10482381.34,0.050089945,0.050089945 -28-06-2019 8:00,10482466.58,0.059133963,0.059133963 -28-06-2019 9:00,10482550.97,0.042437315,0.042437315 -28-06-2019 10:00,10482634.5,0.036871765,0.036871765 -28-06-2019 11:00,10482717.18,0.031306216,0.031306216 -28-06-2019 12:00,10482799,0.025044973,0.025044973 -28-06-2019 13:00,10482879.96,0.021566504,0.021566504 -28-06-2019 14:00,10482960.07,0.016696648,0.016696648 -28-06-2019 15:00,10483039.33,0.018783729,0.018783729 -28-06-2019 16:00,10483117.72,0.030610522,0.030610522 -28-06-2019 17:00,10483195.27,0.054264107,0.054264107 -28-06-2019 18:00,10483271.96,0.054959801,0.054959801 -28-06-2019 19:00,10483347.79,0.048698558,0.048698558 -28-06-2019 20:00,10483422.76,0.040350234,0.040350234 -28-06-2019 21:00,10483496.88,0.028523441,0.028523441 -28-06-2019 22:00,10483570.15,0.013913874,0.013913874 -28-06-2019 23:00,10483642.56,0.004869856,0.004869856 -29-06-2019 0:00,10483714.11,0.002782775,0.002782775 -29-06-2019 1:00,10483784.81,0.000695694,0.000695694 -29-06-2019 2:00,10483854.65,0.000695694,0.000695694 -29-06-2019 3:00,10483923.63,0.001391387,0.001391387 -29-06-2019 4:00,10483991.76,0.004869856,0.004869856 -29-06-2019 5:00,10484059.04,0.038958846,0.038958846 -29-06-2019 6:00,10484125.45,0.064699512,0.064699512 -29-06-2019 7:00,10484191.01,0.050089945,0.050089945 -29-06-2019 8:00,10484255.72,0.059133963,0.059133963 -29-06-2019 9:00,10484319.57,0.042437315,0.042437315 -29-06-2019 10:00,10484382.56,0.036871765,0.036871765 -29-06-2019 11:00,10484444.69,0.031306216,0.031306216 -29-06-2019 12:00,10484505.97,0.025044973,0.025044973 -29-06-2019 13:00,10484566.4,0.021566504,0.021566504 -29-06-2019 14:00,10484625.96,0.016696648,0.016696648 -29-06-2019 15:00,10484684.67,0.018783729,0.018783729 -29-06-2019 16:00,10484742.53,0.030610522,0.030610522 -29-06-2019 17:00,10484799.53,0.054264107,0.054264107 -29-06-2019 18:00,10484855.67,0.054959801,0.054959801 -29-06-2019 19:00,10484910.95,0.048698558,0.048698558 -29-06-2019 20:00,10484965.38,0.040350234,0.040350234 -29-06-2019 21:00,10485018.95,0.028523441,0.028523441 -29-06-2019 22:00,10485071.67,0.013913874,0.013913874 -29-06-2019 23:00,10485123.53,0.004869856,0.004869856 -30-06-2019 0:00,10485174.53,0.002782775,0.002782775 -30-06-2019 1:00,10485224.67,0.000695694,0.000695694 -30-06-2019 2:00,10485273.96,0.000695694,0.000695694 -30-06-2019 3:00,10485322.39,0.001391387,0.001391387 -30-06-2019 4:00,10485369.97,0.004869856,0.004869856 -30-06-2019 5:00,10485416.69,0.038958846,0.038958846 -30-06-2019 6:00,10485462.55,0.064699512,0.064699512 -30-06-2019 7:00,10485507.55,0.050089945,0.050089945 -30-06-2019 8:00,10485551.7,0.059133963,0.059133963 -30-06-2019 9:00,10485594.99,0.042437315,0.042437315 -30-06-2019 10:00,10485637.42,0.036871765,0.036871765 -30-06-2019 11:00,10485679,0.031306216,0.031306216 -30-06-2019 12:00,10485719.72,0.025044973,0.025044973 -30-06-2019 13:00,10485759.58,0.021566504,0.021566504 -30-06-2019 14:00,10485798.59,0.016696648,0.016696648 -30-06-2019 15:00,10485836.74,0.018783729,0.018783729 -30-06-2019 16:00,10485874.03,0.030610522,0.030610522 -30-06-2019 17:00,10485910.47,0.054264107,0.054264107 -30-06-2019 18:00,10485946.05,0.054959801,0.054959801 -30-06-2019 19:00,10485980.77,0.048698558,0.048698558 -30-06-2019 20:00,10486014.63,0.040350234,0.040350234 -30-06-2019 21:00,10486047.64,0.028523441,0.028523441 -30-06-2019 22:00,10486079.79,0.013913874,0.013913874 -30-06-2019 23:00,10486111.08,0.004869856,0.004869856 -01-07-2019 0:00,10486141.52,0.002782775,0.002782775 -01-07-2019 1:00,10486171.09,0.000695694,0.000695694 -01-07-2019 2:00,10486199.82,0.000695694,0.000695694 -01-07-2019 3:00,10486227.68,0.001391387,0.001391387 -01-07-2019 4:00,10486254.69,0.004869856,0.004869856 -01-07-2019 5:00,10486280.84,0.038958846,0.038958846 -01-07-2019 6:00,10486306.13,0.064699512,0.064699512 -01-07-2019 7:00,10486330.56,0.050089945,0.050089945 -01-07-2019 8:00,10486354.14,0.059133963,0.059133963 -01-07-2019 9:00,10486376.86,0.042437315,0.042437315 -01-07-2019 10:00,10486398.73,0.036871765,0.036871765 -01-07-2019 11:00,10486419.73,0.031306216,0.031306216 -01-07-2019 12:00,10486439.88,0.025044973,0.025044973 -01-07-2019 13:00,10486459.17,0.021566504,0.021566504 -01-07-2019 14:00,10486477.61,0.016696648,0.016696648 -01-07-2019 15:00,10486495.18,0.018783729,0.018783729 -01-07-2019 16:00,10486511.9,0.030610522,0.030610522 -01-07-2019 17:00,10486527.76,0.054264107,0.054264107 -01-07-2019 18:00,10486542.77,0.054959801,0.054959801 -01-07-2019 19:00,10486556.92,0.048698558,0.048698558 -01-07-2019 20:00,10486570.21,0.040350234,0.040350234 -01-07-2019 21:00,10486582.64,0.028523441,0.028523441 -01-07-2019 22:00,10486594.21,0.013913874,0.013913874 -01-07-2019 23:00,10486604.93,0.004869856,0.004869856 -02-07-2019 0:00,10486614.79,0.002782775,0.002782775 -02-07-2019 1:00,10486623.8,0.000695694,0.000695694 -02-07-2019 2:00,10486631.94,0.000695694,0.000695694 -02-07-2019 3:00,10486639.23,0.001391387,0.001391387 -02-07-2019 4:00,10486645.66,0.004869856,0.004869856 -02-07-2019 5:00,10486651.23,0.038958846,0.038958846 -02-07-2019 6:00,10486655.95,0.064699512,0.064699512 -02-07-2019 7:00,10486659.81,0.050089945,0.050089945 -02-07-2019 8:00,10486662.81,0.059133963,0.059133963 -02-07-2019 9:00,10486664.95,0.042437315,0.042437315 -02-07-2019 10:00,10486666.24,0.036871765,0.036871765 -02-07-2019 11:00,10486666.67,0.031306216,0.031306216 -02-07-2019 12:00,10486666.24,0.025044973,0.025044973 -02-07-2019 13:00,10486664.95,0.021566504,0.021566504 -02-07-2019 14:00,10486662.81,0.016696648,0.016696648 -02-07-2019 15:00,10486659.81,0.018783729,0.018783729 -02-07-2019 16:00,10486655.95,0.030610522,0.030610522 -02-07-2019 17:00,10486651.23,0.054264107,0.054264107 -02-07-2019 18:00,10486645.66,0.054959801,0.054959801 -02-07-2019 19:00,10486639.23,0.048698558,0.048698558 -02-07-2019 20:00,10486631.94,0.040350234,0.040350234 -02-07-2019 21:00,10486623.8,0.028523441,0.028523441 -02-07-2019 22:00,10486614.79,0.013913874,0.013913874 -02-07-2019 23:00,10486604.93,0.004869856,0.004869856 -03-07-2019 0:00,10486594.21,0.002782775,0.002782775 -03-07-2019 1:00,10486582.64,0.000695694,0.000695694 -03-07-2019 2:00,10486570.21,0.000695694,0.000695694 -03-07-2019 3:00,10486556.92,0.001391387,0.001391387 -03-07-2019 4:00,10486542.77,0.004869856,0.004869856 -03-07-2019 5:00,10486527.76,0.038958846,0.038958846 -03-07-2019 6:00,10486511.9,0.064699512,0.064699512 -03-07-2019 7:00,10486495.18,0.050089945,0.050089945 -03-07-2019 8:00,10486477.61,0.059133963,0.059133963 -03-07-2019 9:00,10486459.17,0.042437315,0.042437315 -03-07-2019 10:00,10486439.88,0.036871765,0.036871765 -03-07-2019 11:00,10486419.73,0.031306216,0.031306216 -03-07-2019 12:00,10486398.73,0.025044973,0.025044973 -03-07-2019 13:00,10486376.86,0.021566504,0.021566504 -03-07-2019 14:00,10486354.14,0.016696648,0.016696648 -03-07-2019 15:00,10486330.56,0.018783729,0.018783729 -03-07-2019 16:00,10486306.13,0.030610522,0.030610522 -03-07-2019 17:00,10486280.84,0.054264107,0.054264107 -03-07-2019 18:00,10486254.69,0.054959801,0.054959801 -03-07-2019 19:00,10486227.68,0.048698558,0.048698558 -03-07-2019 20:00,10486199.82,0.040350234,0.040350234 -03-07-2019 21:00,10486171.09,0.028523441,0.028523441 -03-07-2019 22:00,10486141.52,0.013913874,0.013913874 -03-07-2019 23:00,10486111.08,0.004869856,0.004869856 -04-07-2019 0:00,10486079.79,0.002782775,0.002782775 -04-07-2019 1:00,10486047.64,0.000695694,0.000695694 -04-07-2019 2:00,10486014.63,0.000695694,0.000695694 -04-07-2019 3:00,10485980.77,0.001391387,0.001391387 -04-07-2019 4:00,10485946.05,0.004869856,0.004869856 -04-07-2019 5:00,10485910.47,0.038958846,0.038958846 -04-07-2019 6:00,10485874.03,0.064699512,0.064699512 -04-07-2019 7:00,10485836.74,0.050089945,0.050089945 -04-07-2019 8:00,10485798.59,0.059133963,0.059133963 -04-07-2019 9:00,10485759.58,0.042437315,0.042437315 -04-07-2019 10:00,10485719.72,0.036871765,0.036871765 -04-07-2019 11:00,10485679,0.031306216,0.031306216 -04-07-2019 12:00,10485637.42,0.025044973,0.025044973 -04-07-2019 13:00,10485594.99,0.021566504,0.021566504 -04-07-2019 14:00,10485551.7,0.016696648,0.016696648 -04-07-2019 15:00,10485507.55,0.018783729,0.018783729 -04-07-2019 16:00,10485462.55,0.030610522,0.030610522 -04-07-2019 17:00,10485416.69,0.054264107,0.054264107 -04-07-2019 18:00,10485369.97,0.054959801,0.054959801 -04-07-2019 19:00,10485322.39,0.048698558,0.048698558 -04-07-2019 20:00,10485273.96,0.040350234,0.040350234 -04-07-2019 21:00,10485224.67,0.028523441,0.028523441 -04-07-2019 22:00,10485174.53,0.013913874,0.013913874 -04-07-2019 23:00,10485123.53,0.004869856,0.004869856 -05-07-2019 0:00,10485071.67,0.002782775,0.002782775 -05-07-2019 1:00,10485018.95,0.000695694,0.000695694 -05-07-2019 2:00,10484965.38,0.000695694,0.000695694 -05-07-2019 3:00,10484910.95,0.001391387,0.001391387 -05-07-2019 4:00,10484855.67,0.004869856,0.004869856 -05-07-2019 5:00,10484799.53,0.038958846,0.038958846 -05-07-2019 6:00,10484742.53,0.064699512,0.064699512 -05-07-2019 7:00,10484684.67,0.050089945,0.050089945 -05-07-2019 8:00,10484625.96,0.059133963,0.059133963 -05-07-2019 9:00,10484566.4,0.042437315,0.042437315 -05-07-2019 10:00,10484505.97,0.036871765,0.036871765 -05-07-2019 11:00,10484444.69,0.031306216,0.031306216 -05-07-2019 12:00,10484382.56,0.025044973,0.025044973 -05-07-2019 13:00,10484319.57,0.021566504,0.021566504 -05-07-2019 14:00,10484255.72,0.016696648,0.016696648 -05-07-2019 15:00,10484191.01,0.018783729,0.018783729 -05-07-2019 16:00,10484125.45,0.030610522,0.030610522 -05-07-2019 17:00,10484059.04,0.054264107,0.054264107 -05-07-2019 18:00,10483991.76,0.054959801,0.054959801 -05-07-2019 19:00,10483923.63,0.048698558,0.048698558 -05-07-2019 20:00,10483854.65,0.040350234,0.040350234 -05-07-2019 21:00,10483784.81,0.028523441,0.028523441 -05-07-2019 22:00,10483714.11,0.013913874,0.013913874 -05-07-2019 23:00,10483642.56,0.004869856,0.004869856 -06-07-2019 0:00,10483570.15,0.002782775,0.002782775 -06-07-2019 1:00,10483496.88,0.000695694,0.000695694 -06-07-2019 2:00,10483422.76,0.000695694,0.000695694 -06-07-2019 3:00,10483347.79,0.001391387,0.001391387 -06-07-2019 4:00,10483271.96,0.004869856,0.004869856 -06-07-2019 5:00,10483195.27,0.038958846,0.038958846 -06-07-2019 6:00,10483117.72,0.064699512,0.064699512 -06-07-2019 7:00,10483039.33,0.050089945,0.050089945 -06-07-2019 8:00,10482960.07,0.059133963,0.059133963 -06-07-2019 9:00,10482879.96,0.042437315,0.042437315 -06-07-2019 10:00,10482799,0.036871765,0.036871765 -06-07-2019 11:00,10482717.18,0.031306216,0.031306216 -06-07-2019 12:00,10482634.5,0.025044973,0.025044973 -06-07-2019 13:00,10482550.97,0.021566504,0.021566504 -06-07-2019 14:00,10482466.58,0.016696648,0.016696648 -06-07-2019 15:00,10482381.34,0.018783729,0.018783729 -06-07-2019 16:00,10482295.24,0.030610522,0.030610522 -06-07-2019 17:00,10482208.29,0.054264107,0.054264107 -06-07-2019 18:00,10482120.48,0.054959801,0.054959801 -06-07-2019 19:00,10482031.82,0.048698558,0.048698558 -06-07-2019 20:00,10481942.3,0.040350234,0.040350234 -06-07-2019 21:00,10481851.93,0.028523441,0.028523441 -06-07-2019 22:00,10481760.7,0.013913874,0.013913874 -06-07-2019 23:00,10481668.62,0.004869856,0.004869856 -07-07-2019 0:00,10481575.68,0.002782775,0.002782775 -07-07-2019 1:00,10481481.89,0.000695694,0.000695694 -07-07-2019 2:00,10481387.24,0.000695694,0.000695694 -07-07-2019 3:00,10481291.74,0.001391387,0.001391387 -07-07-2019 4:00,10481195.38,0.004869856,0.004869856 -07-07-2019 5:00,10481098.17,0.038958846,0.038958846 -07-07-2019 6:00,10481000.1,0.064699512,0.064699512 -07-07-2019 7:00,10480901.18,0.050089945,0.050089945 -07-07-2019 8:00,10480801.41,0.059133963,0.059133963 -07-07-2019 9:00,10480700.78,0.042437315,0.042437315 -07-07-2019 10:00,10480599.3,0.036871765,0.036871765 -07-07-2019 11:00,10480496.96,0.031306216,0.031306216 -07-07-2019 12:00,10480393.77,0.025044973,0.025044973 -07-07-2019 13:00,10480289.72,0.021566504,0.021566504 -07-07-2019 14:00,10480184.82,0.016696648,0.016696648 -07-07-2019 15:00,10480079.06,0.018783729,0.018783729 -07-07-2019 16:00,10479972.46,0.030610522,0.030610522 -07-07-2019 17:00,10479864.99,0.054264107,0.054264107 -07-07-2019 18:00,10479756.68,0.054959801,0.054959801 -07-07-2019 19:00,10479647.51,0.048698558,0.048698558 -07-07-2019 20:00,10479537.48,0.040350234,0.040350234 -07-07-2019 21:00,10479426.6,0.028523441,0.028523441 -07-07-2019 22:00,10479314.87,0.013913874,0.013913874 -07-07-2019 23:00,10479202.29,0.004869856,0.004869856 -08-07-2019 0:00,10479088.85,0.002782775,0.002782775 -08-07-2019 1:00,10478974.56,0.000695694,0.000695694 -08-07-2019 2:00,10478859.41,0.000695694,0.000695694 -08-07-2019 3:00,10478743.41,0.001391387,0.001391387 -08-07-2019 4:00,10478626.56,0.004869856,0.004869856 -08-07-2019 5:00,10478508.85,0.038958846,0.038958846 -08-07-2019 6:00,10478390.29,0.064699512,0.064699512 -08-07-2019 7:00,10478270.88,0.050089945,0.050089945 -08-07-2019 8:00,10478150.61,0.059133963,0.059133963 -08-07-2019 9:00,10478029.5,0.042437315,0.042437315 -08-07-2019 10:00,10477907.52,0.036871765,0.036871765 -08-07-2019 11:00,10477784.7,0.031306216,0.031306216 -08-07-2019 12:00,10477661.02,0.025044973,0.025044973 -08-07-2019 13:00,10477536.49,0.021566504,0.021566504 -08-07-2019 14:00,10477411.11,0.016696648,0.016696648 -08-07-2019 15:00,10477284.87,0.018783729,0.018783729 -08-07-2019 16:00,10477157.79,0.030610522,0.030610522 -08-07-2019 17:00,10477029.84,0.054264107,0.054264107 -08-07-2019 18:00,10476901.05,0.054959801,0.054959801 -08-07-2019 19:00,10476771.41,0.048698558,0.048698558 -08-07-2019 20:00,10476640.91,0.040350234,0.040350234 -08-07-2019 21:00,10476509.56,0.028523441,0.028523441 -08-07-2019 22:00,10476377.36,0.013913874,0.013913874 -08-07-2019 23:00,10476244.3,0.004869856,0.004869856 -09-07-2019 0:00,10476110.39,0.002782775,0.002782775 -09-07-2019 1:00,10475975.64,0.000695694,0.000695694 -09-07-2019 2:00,10475840.02,0.000695694,0.000695694 -09-07-2019 3:00,10475703.56,0.001391387,0.001391387 -09-07-2019 4:00,10475566.25,0.004869856,0.004869856 -09-07-2019 5:00,10475428.08,0.038958846,0.038958846 -09-07-2019 6:00,10475289.06,0.064699512,0.064699512 -09-07-2019 7:00,10475149.2,0.050089945,0.050089945 -09-07-2019 8:00,10475008.47,0.059133963,0.059133963 -09-07-2019 9:00,10474866.9,0.042437315,0.042437315 -09-07-2019 10:00,10474724.48,0.036871765,0.036871765 -09-07-2019 11:00,10474581.2,0.031306216,0.031306216 -09-07-2019 12:00,10474437.08,0.025044973,0.025044973 -09-07-2019 13:00,10474292.1,0.021566504,0.021566504 -09-07-2019 14:00,10474146.27,0.016696648,0.016696648 -09-07-2019 15:00,10473999.59,0.018783729,0.018783729 -09-07-2019 16:00,10473852.06,0.030610522,0.030610522 -09-07-2019 17:00,10473703.68,0.054264107,0.054264107 -09-07-2019 18:00,10473554.45,0.054959801,0.054959801 -09-07-2019 19:00,10473404.37,0.048698558,0.048698558 -09-07-2019 20:00,10473253.44,0.040350234,0.040350234 -09-07-2019 21:00,10473101.65,0.028523441,0.028523441 -09-07-2019 22:00,10472949.02,0.013913874,0.013913874 -09-07-2019 23:00,10472795.53,0.004869856,0.004869856 -10-07-2019 0:00,10472641.2,0.002782775,0.002782775 -10-07-2019 1:00,10472486.01,0.000695694,0.000695694 -10-07-2019 2:00,10472329.98,0.000695694,0.000695694 -10-07-2019 3:00,10472173.09,0.001391387,0.001391387 -10-07-2019 4:00,10472015.36,0.004869856,0.004869856 -10-07-2019 5:00,10471856.77,0.038958846,0.038958846 -10-07-2019 6:00,10471697.34,0.064699512,0.064699512 -10-07-2019 7:00,10471537.05,0.050089945,0.050089945 -10-07-2019 8:00,10471375.92,0.059133963,0.059133963 -10-07-2019 9:00,10471213.94,0.042437315,0.042437315 -10-07-2019 10:00,10471051.1,0.036871765,0.036871765 -10-07-2019 11:00,10470887.42,0.031306216,0.031306216 -10-07-2019 12:00,10470722.89,0.025044973,0.025044973 -10-07-2019 13:00,10470557.51,0.021566504,0.021566504 -10-07-2019 14:00,10470391.28,0.016696648,0.016696648 -10-07-2019 15:00,10470224.2,0.018783729,0.018783729 -10-07-2019 16:00,10470056.27,0.030610522,0.030610522 -10-07-2019 17:00,10469887.49,0.054264107,0.054264107 -10-07-2019 18:00,10469717.87,0.054959801,0.054959801 -10-07-2019 19:00,10469547.39,0.048698558,0.048698558 -10-07-2019 20:00,10469376.07,0.040350234,0.040350234 -10-07-2019 21:00,10469203.9,0.028523441,0.028523441 -10-07-2019 22:00,10469030.88,0.013913874,0.013913874 -10-07-2019 23:00,10468857.01,0.004869856,0.004869856 -11-07-2019 0:00,10468682.29,0.002782775,0.002782775 -11-07-2019 1:00,10468506.72,0.000695694,0.000695694 -11-07-2019 2:00,10468330.31,0.000695694,0.000695694 -11-07-2019 3:00,10468153.05,0.001391387,0.001391387 -11-07-2019 4:00,10467974.94,0.004869856,0.004869856 -11-07-2019 5:00,10467795.98,0.038958846,0.038958846 -11-07-2019 6:00,10467616.18,0.064699512,0.064699512 -11-07-2019 7:00,10467435.53,0.050089945,0.050089945 -11-07-2019 8:00,10467254.03,0.059133963,0.059133963 -11-07-2019 9:00,10467071.68,0.042437315,0.042437315 -11-07-2019 10:00,10466888.48,0.036871765,0.036871765 -11-07-2019 11:00,10466704.44,0.031306216,0.031306216 -11-07-2019 12:00,10466519.55,0.025044973,0.025044973 -11-07-2019 13:00,10466333.82,0.021566504,0.021566504 -11-07-2019 14:00,10466147.23,0.016696648,0.016696648 -11-07-2019 15:00,10465959.8,0.018783729,0.018783729 -11-07-2019 16:00,10465771.53,0.030610522,0.030610522 -11-07-2019 17:00,10465582.4,0.054264107,0.054264107 -11-07-2019 18:00,10465392.43,0.054959801,0.054959801 -11-07-2019 19:00,10465201.62,0.048698558,0.048698558 -11-07-2019 20:00,10465009.95,0.040350234,0.040350234 -11-07-2019 21:00,10464817.45,0.028523441,0.028523441 -11-07-2019 22:00,10464624.09,0.013913874,0.013913874 -11-07-2019 23:00,10464429.89,0.004869856,0.004869856 -12-07-2019 0:00,10464234.84,0.002782775,0.002782775 -12-07-2019 1:00,10464038.95,0.000695694,0.000695694 -12-07-2019 2:00,10463842.21,0.000695694,0.000695694 -12-07-2019 3:00,10463644.62,0.001391387,0.001391387 -12-07-2019 4:00,10463446.19,0.004869856,0.004869856 -12-07-2019 5:00,10463246.92,0.038958846,0.038958846 -12-07-2019 6:00,10463046.8,0.064699512,0.064699512 -12-07-2019 7:00,10462845.83,0.050089945,0.050089945 -12-07-2019 8:00,10462644.02,0.059133963,0.059133963 -12-07-2019 9:00,10462441.36,0.042437315,0.042437315 -12-07-2019 10:00,10462237.86,0.036871765,0.036871765 -12-07-2019 11:00,10462033.51,0.031306216,0.031306216 -12-07-2019 12:00,10461828.32,0.025044973,0.025044973 -12-07-2019 13:00,10461622.28,0.021566504,0.021566504 -12-07-2019 14:00,10461415.4,0.016696648,0.016696648 -12-07-2019 15:00,10461207.68,0.018783729,0.018783729 -12-07-2019 16:00,10460999.11,0.030610522,0.030610522 -12-07-2019 17:00,10460789.69,0.054264107,0.054264107 -12-07-2019 18:00,10460579.44,0.054959801,0.054959801 -12-07-2019 19:00,10460368.33,0.048698558,0.048698558 -12-07-2019 20:00,10460156.39,0.040350234,0.040350234 -12-07-2019 21:00,10459943.6,0.028523441,0.028523441 -12-07-2019 22:00,10459729.97,0.013913874,0.013913874 -12-07-2019 23:00,10459515.49,0.004869856,0.004869856 -13-07-2019 0:00,10459300.17,0.002782775,0.002782775 -13-07-2019 1:00,10459084.01,0.000695694,0.000695694 -13-07-2019 2:00,10458867,0.000695694,0.000695694 -13-07-2019 3:00,10458649.15,0.001391387,0.001391387 -13-07-2019 4:00,10458430.46,0.004869856,0.004869856 -13-07-2019 5:00,10458210.92,0.038958846,0.038958846 -13-07-2019 6:00,10457990.54,0.064699512,0.064699512 -13-07-2019 7:00,10457769.32,0.050089945,0.050089945 -13-07-2019 8:00,10457547.26,0.059133963,0.059133963 -13-07-2019 9:00,10457324.35,0.042437315,0.042437315 -13-07-2019 10:00,10457100.6,0.036871765,0.036871765 -13-07-2019 11:00,10456876.01,0.031306216,0.031306216 -13-07-2019 12:00,10456650.58,0.025044973,0.025044973 -13-07-2019 13:00,10456424.3,0.021566504,0.021566504 -13-07-2019 14:00,10456197.18,0.016696648,0.016696648 -13-07-2019 15:00,10455969.23,0.018783729,0.018783729 -13-07-2019 16:00,10455740.43,0.030610522,0.030610522 -13-07-2019 17:00,10455510.78,0.054264107,0.054264107 -13-07-2019 18:00,10455280.3,0.054959801,0.054959801 -13-07-2019 19:00,10455048.98,0.048698558,0.048698558 -13-07-2019 20:00,10454816.81,0.040350234,0.040350234 -13-07-2019 21:00,10454583.8,0.028523441,0.028523441 -13-07-2019 22:00,10454349.96,0.013913874,0.013913874 -13-07-2019 23:00,10454115.27,0.004869856,0.004869856 -14-07-2019 0:00,10453879.74,0.002782775,0.002782775 -14-07-2019 1:00,10453643.37,0.000695694,0.000695694 -14-07-2019 2:00,10453406.16,0.000695694,0.000695694 -14-07-2019 3:00,10453168.11,0.001391387,0.001391387 -14-07-2019 4:00,10452929.22,0.004869856,0.004869856 -14-07-2019 5:00,10452689.49,0.038958846,0.038958846 -14-07-2019 6:00,10452448.92,0.064699512,0.064699512 -14-07-2019 7:00,10452207.5,0.050089945,0.050089945 -14-07-2019 8:00,10451965.25,0.059133963,0.059133963 -14-07-2019 9:00,10451722.16,0.042437315,0.042437315 -14-07-2019 10:00,10451478.24,0.036871765,0.036871765 -14-07-2019 11:00,10451233.47,0.031306216,0.031306216 -14-07-2019 12:00,10450987.86,0.025044973,0.025044973 -14-07-2019 13:00,10450741.41,0.021566504,0.021566504 -14-07-2019 14:00,10450494.13,0.016696648,0.016696648 -14-07-2019 15:00,10450246,0.018783729,0.018783729 -14-07-2019 16:00,10449997.04,0.030610522,0.030610522 -14-07-2019 17:00,10449747.24,0.054264107,0.054264107 -14-07-2019 18:00,10449496.6,0.054959801,0.054959801 -14-07-2019 19:00,10449245.12,0.048698558,0.048698558 -14-07-2019 20:00,10448992.8,0.040350234,0.040350234 -14-07-2019 21:00,10448739.64,0.028523441,0.028523441 -14-07-2019 22:00,10448485.65,0.013913874,0.013913874 -14-07-2019 23:00,10448230.82,0.004869856,0.004869856 -15-07-2019 0:00,10447975.15,0.002782775,0.002782775 -15-07-2019 1:00,10447718.65,0.000695694,0.000695694 -15-07-2019 2:00,10447461.3,0.000695694,0.000695694 -15-07-2019 3:00,10447203.12,0.001391387,0.001391387 -15-07-2019 4:00,10446944.11,0.004869856,0.004869856 -15-07-2019 5:00,10446684.25,0.038958846,0.038958846 -15-07-2019 6:00,10446423.56,0.064699512,0.064699512 -15-07-2019 7:00,10446162.03,0.050089945,0.050089945 -15-07-2019 8:00,10445899.67,0.059133963,0.059133963 -15-07-2019 9:00,10445636.47,0.042437315,0.042437315 -15-07-2019 10:00,10445372.43,0.036871765,0.036871765 -15-07-2019 11:00,10445107.55,0.031306216,0.031306216 -15-07-2019 12:00,10444841.84,0.025044973,0.025044973 -15-07-2019 13:00,10444575.3,0.021566504,0.021566504 -15-07-2019 14:00,10444307.92,0.016696648,0.016696648 -15-07-2019 15:00,10444039.7,0.018783729,0.018783729 -15-07-2019 16:00,10443770.65,0.030610522,0.030610522 -15-07-2019 17:00,10443500.76,0.054264107,0.054264107 -15-07-2019 18:00,10443230.04,0.054959801,0.054959801 -15-07-2019 19:00,10442958.48,0.048698558,0.048698558 -15-07-2019 20:00,10442686.08,0.040350234,0.040350234 -15-07-2019 21:00,10442412.86,0.028523441,0.028523441 -15-07-2019 22:00,10442138.79,0.013913874,0.013913874 -15-07-2019 23:00,10441863.9,0.004869856,0.004869856 -16-07-2019 0:00,10441588.16,0.002782775,0.002782775 -16-07-2019 1:00,10441311.6,0.000695694,0.000695694 -16-07-2019 2:00,10441034.2,0.000695694,0.000695694 -16-07-2019 3:00,10440755.96,0.001391387,0.001391387 -16-07-2019 4:00,10440476.9,0.004869856,0.004869856 -16-07-2019 5:00,10440196.99,0.038958846,0.038958846 -16-07-2019 6:00,10439916.26,0.064699512,0.064699512 -16-07-2019 7:00,10439634.69,0.050089945,0.050089945 -16-07-2019 8:00,10439352.29,0.059133963,0.059133963 -16-07-2019 9:00,10439069.05,0.042437315,0.042437315 -16-07-2019 10:00,10438784.99,0.036871765,0.036871765 -16-07-2019 11:00,10438500.09,0.031306216,0.031306216 -16-07-2019 12:00,10438214.35,0.025044973,0.025044973 -16-07-2019 13:00,10437927.79,0.021566504,0.021566504 -16-07-2019 14:00,10437640.39,0.016696648,0.016696648 -16-07-2019 15:00,10437352.16,0.018783729,0.018783729 -16-07-2019 16:00,10437063.1,0.030610522,0.030610522 -16-07-2019 17:00,10436773.2,0.054264107,0.054264107 -16-07-2019 18:00,10436482.48,0.054959801,0.054959801 -16-07-2019 19:00,10436190.92,0.048698558,0.048698558 -16-07-2019 20:00,10435898.53,0.040350234,0.040350234 -16-07-2019 21:00,10435605.31,0.028523441,0.028523441 -16-07-2019 22:00,10435311.26,0.013913874,0.013913874 -16-07-2019 23:00,10435016.38,0.004869856,0.004869856 -17-07-2019 0:00,10434720.66,0.002782775,0.002782775 -17-07-2019 1:00,10434424.12,0.000695694,0.000695694 -17-07-2019 2:00,10434126.74,0.000695694,0.000695694 -17-07-2019 3:00,10433828.54,0.001391387,0.001391387 -17-07-2019 4:00,10433529.5,0.004869856,0.004869856 -17-07-2019 5:00,10433229.64,0.038958846,0.038958846 -17-07-2019 6:00,10432928.94,0.064699512,0.064699512 -17-07-2019 7:00,10432627.42,0.050089945,0.050089945 -17-07-2019 8:00,10432325.06,0.059133963,0.059133963 -17-07-2019 9:00,10432021.88,0.042437315,0.042437315 -17-07-2019 10:00,10431717.87,0.036871765,0.036871765 -17-07-2019 11:00,10431413.02,0.031306216,0.031306216 -17-07-2019 12:00,10431107.35,0.025044973,0.025044973 -17-07-2019 13:00,10430800.85,0.021566504,0.021566504 -17-07-2019 14:00,10430493.52,0.016696648,0.016696648 -17-07-2019 15:00,10430185.36,0.018783729,0.018783729 -17-07-2019 16:00,10429876.38,0.030610522,0.030610522 -17-07-2019 17:00,10429566.56,0.054264107,0.054264107 -17-07-2019 18:00,10429255.92,0.054959801,0.054959801 -17-07-2019 19:00,10428944.45,0.048698558,0.048698558 -17-07-2019 20:00,10428632.15,0.040350234,0.040350234 -17-07-2019 21:00,10428319.03,0.028523441,0.028523441 -17-07-2019 22:00,10428005.07,0.013913874,0.013913874 -17-07-2019 23:00,10427690.29,0.004869856,0.004869856 -18-07-2019 0:00,10427374.69,0.002782775,0.002782775 -18-07-2019 1:00,10427058.25,0.000695694,0.000695694 -18-07-2019 2:00,10426740.99,0.000695694,0.000695694 -18-07-2019 3:00,10426422.9,0.001391387,0.001391387 -18-07-2019 4:00,10426103.99,0.004869856,0.004869856 -18-07-2019 5:00,10425784.25,0.038958846,0.038958846 -18-07-2019 6:00,10425463.68,0.064699512,0.064699512 -18-07-2019 7:00,10425142.29,0.050089945,0.050089945 -18-07-2019 8:00,10424820.07,0.059133963,0.059133963 -18-07-2019 9:00,10424497.03,0.042437315,0.042437315 -18-07-2019 10:00,10424173.16,0.036871765,0.036871765 -18-07-2019 11:00,10423848.46,0.031306216,0.031306216 -18-07-2019 12:00,10423522.94,0.025044973,0.025044973 -18-07-2019 13:00,10423196.6,0.021566504,0.021566504 -18-07-2019 14:00,10422869.43,0.016696648,0.016696648 -18-07-2019 15:00,10422541.43,0.018783729,0.018783729 -18-07-2019 16:00,10422212.62,0.030610522,0.030610522 -18-07-2019 17:00,10421882.97,0.054264107,0.054264107 -18-07-2019 18:00,10421552.51,0.054959801,0.054959801 -18-07-2019 19:00,10421221.22,0.048698558,0.048698558 -18-07-2019 20:00,10420889.1,0.040350234,0.040350234 -18-07-2019 21:00,10420556.16,0.028523441,0.028523441 -18-07-2019 22:00,10420222.4,0.013913874,0.013913874 -18-07-2019 23:00,10419887.82,0.004869856,0.004869856 -19-07-2019 0:00,10419552.41,0.002782775,0.002782775 -19-07-2019 1:00,10419216.18,0.000695694,0.000695694 -19-07-2019 2:00,10418879.12,0.000695694,0.000695694 -19-07-2019 3:00,10418541.25,0.001391387,0.001391387 -19-07-2019 4:00,10418202.55,0.004869856,0.004869856 -19-07-2019 5:00,10417863.03,0.038958846,0.038958846 -19-07-2019 6:00,10417522.69,0.064699512,0.064699512 -19-07-2019 7:00,10417181.52,0.050089945,0.050089945 -19-07-2019 8:00,10416839.53,0.059133963,0.059133963 -19-07-2019 9:00,10416496.73,0.042437315,0.042437315 -19-07-2019 10:00,10416153.1,0.036871765,0.036871765 -19-07-2019 11:00,10415808.65,0.031306216,0.031306216 -19-07-2019 12:00,10415463.38,0.025044973,0.025044973 -19-07-2019 13:00,10415117.28,0.021566504,0.021566504 -19-07-2019 14:00,10414770.37,0.016696648,0.016696648 -19-07-2019 15:00,10414422.64,0.018783729,0.018783729 -19-07-2019 16:00,10414074.08,0.030610522,0.030610522 -19-07-2019 17:00,10413724.71,0.054264107,0.054264107 -19-07-2019 18:00,10413374.52,0.054959801,0.054959801 -19-07-2019 19:00,10413023.5,0.048698558,0.048698558 -19-07-2019 20:00,10412671.67,0.040350234,0.040350234 -19-07-2019 21:00,10412319.02,0.028523441,0.028523441 -19-07-2019 22:00,10411965.55,0.013913874,0.013913874 -19-07-2019 23:00,10411611.26,0.004869856,0.004869856 -20-07-2019 0:00,10411256.15,0.002782775,0.002782775 -20-07-2019 1:00,10410900.22,0.000695694,0.000695694 -20-07-2019 2:00,10410543.48,0.000695694,0.000695694 -20-07-2019 3:00,10410185.91,0.001391387,0.001391387 -20-07-2019 4:00,10409827.53,0.004869856,0.004869856 -20-07-2019 5:00,10409468.33,0.038958846,0.038958846 -20-07-2019 6:00,10409108.31,0.064699512,0.064699512 -20-07-2019 7:00,10408747.47,0.050089945,0.050089945 -20-07-2019 8:00,10408385.82,0.059133963,0.059133963 -20-07-2019 9:00,10408023.35,0.042437315,0.042437315 -20-07-2019 10:00,10407660.06,0.036871765,0.036871765 -20-07-2019 11:00,10407295.96,0.031306216,0.031306216 -20-07-2019 12:00,10406931.04,0.025044973,0.025044973 -20-07-2019 13:00,10406565.3,0.021566504,0.021566504 -20-07-2019 14:00,10406198.75,0.016696648,0.016696648 -20-07-2019 15:00,10405831.38,0.018783729,0.018783729 -20-07-2019 16:00,10405463.19,0.030610522,0.030610522 -20-07-2019 17:00,10405094.19,0.054264107,0.054264107 -20-07-2019 18:00,10404724.38,0.054959801,0.054959801 -20-07-2019 19:00,10404353.75,0.048698558,0.048698558 -20-07-2019 20:00,10403982.3,0.040350234,0.040350234 -20-07-2019 21:00,10403610.04,0.028523441,0.028523441 -20-07-2019 22:00,10403236.96,0.013913874,0.013913874 -20-07-2019 23:00,10402863.07,0.004869856,0.004869856 -21-07-2019 0:00,10402488.37,0.002782775,0.002782775 -21-07-2019 1:00,10402112.85,0.000695694,0.000695694 -21-07-2019 2:00,10401736.51,0.000695694,0.000695694 -21-07-2019 3:00,10401359.37,0.001391387,0.001391387 -21-07-2019 4:00,10400981.41,0.004869856,0.004869856 -21-07-2019 5:00,10400602.63,0.038958846,0.038958846 -21-07-2019 6:00,10400223.05,0.064699512,0.064699512 -21-07-2019 7:00,10399842.65,0.050089945,0.050089945 -21-07-2019 8:00,10399461.43,0.059133963,0.059133963 -21-07-2019 9:00,10399079.41,0.042437315,0.042437315 -21-07-2019 10:00,10398696.57,0.036871765,0.036871765 -21-07-2019 11:00,10398312.92,0.031306216,0.031306216 -21-07-2019 12:00,10397928.46,0.025044973,0.025044973 -21-07-2019 13:00,10397543.19,0.021566504,0.021566504 -21-07-2019 14:00,10397157.1,0.016696648,0.016696648 -21-07-2019 15:00,10396770.21,0.018783729,0.018783729 -21-07-2019 16:00,10396382.5,0.030610522,0.030610522 -21-07-2019 17:00,10395993.98,0.054264107,0.054264107 -21-07-2019 18:00,10395604.65,0.054959801,0.054959801 -21-07-2019 19:00,10395214.51,0.048698558,0.048698558 -21-07-2019 20:00,10394823.56,0.040350234,0.040350234 -21-07-2019 21:00,10394431.8,0.028523441,0.028523441 -21-07-2019 22:00,10394039.23,0.013913874,0.013913874 -21-07-2019 23:00,10393645.85,0.004869856,0.004869856 -22-07-2019 0:00,10393251.66,0.002782775,0.002782775 -22-07-2019 1:00,10392856.66,0.000695694,0.000695694 -22-07-2019 2:00,10392460.85,0.000695694,0.000695694 -22-07-2019 3:00,10392064.23,0.001391387,0.001391387 -22-07-2019 4:00,10391666.81,0.004869856,0.004869856 -22-07-2019 5:00,10391268.57,0.038958846,0.038958846 -22-07-2019 6:00,10390869.53,0.064699512,0.064699512 -22-07-2019 7:00,10390469.68,0.050089945,0.050089945 -22-07-2019 8:00,10390069.02,0.059133963,0.059133963 -22-07-2019 9:00,10389667.55,0.042437315,0.042437315 -22-07-2019 10:00,10389265.28,0.036871765,0.036871765 -22-07-2019 11:00,10388862.2,0.031306216,0.031306216 -22-07-2019 12:00,10388458.31,0.025044973,0.025044973 -22-07-2019 13:00,10388053.61,0.021566504,0.021566504 -22-07-2019 14:00,10387648.11,0.016696648,0.016696648 -22-07-2019 15:00,10387241.8,0.018783729,0.018783729 -22-07-2019 16:00,10386834.68,0.030610522,0.030610522 -22-07-2019 17:00,10386426.76,0.054264107,0.054264107 -22-07-2019 18:00,10386018.04,0.054959801,0.054959801 -22-07-2019 19:00,10385608.5,0.048698558,0.048698558 -22-07-2019 20:00,10385198.16,0.040350234,0.040350234 -22-07-2019 21:00,10384787.02,0.028523441,0.028523441 -22-07-2019 22:00,10384375.07,0.013913874,0.013913874 -22-07-2019 23:00,10383962.32,0.004869856,0.004869856 -23-07-2019 0:00,10383548.76,0.002782775,0.002782775 -23-07-2019 1:00,10383134.4,0.000695694,0.000695694 -23-07-2019 2:00,10382719.23,0.000695694,0.000695694 -23-07-2019 3:00,10382303.26,0.001391387,0.001391387 -23-07-2019 4:00,10381886.49,0.004869856,0.004869856 -23-07-2019 5:00,10381468.91,0.038958846,0.038958846 -23-07-2019 6:00,10381050.53,0.064699512,0.064699512 -23-07-2019 7:00,10380631.35,0.050089945,0.050089945 -23-07-2019 8:00,10380211.36,0.059133963,0.059133963 -23-07-2019 9:00,10379790.57,0.042437315,0.042437315 -23-07-2019 10:00,10379368.98,0.036871765,0.036871765 -23-07-2019 11:00,10378946.58,0.031306216,0.031306216 -23-07-2019 12:00,10378523.39,0.025044973,0.025044973 -23-07-2019 13:00,10378099.39,0.021566504,0.021566504 -23-07-2019 14:00,10377674.59,0.016696648,0.016696648 -23-07-2019 15:00,10377248.99,0.018783729,0.018783729 -23-07-2019 16:00,10376822.58,0.030610522,0.030610522 -23-07-2019 17:00,10376395.38,0.054264107,0.054264107 -23-07-2019 18:00,10375967.38,0.054959801,0.054959801 -23-07-2019 19:00,10375538.57,0.048698558,0.048698558 -23-07-2019 20:00,10375108.97,0.040350234,0.040350234 -23-07-2019 21:00,10374678.56,0.028523441,0.028523441 -23-07-2019 22:00,10374247.36,0.013913874,0.013913874 -23-07-2019 23:00,10373815.36,0.004869856,0.004869856 -24-07-2019 0:00,10373382.55,0.002782775,0.002782775 -24-07-2019 1:00,10372948.95,0.000695694,0.000695694 -24-07-2019 2:00,10372514.55,0.000695694,0.000695694 -24-07-2019 3:00,10372079.35,0.001391387,0.001391387 -24-07-2019 4:00,10371643.35,0.004869856,0.004869856 -24-07-2019 5:00,10371206.55,0.038958846,0.038958846 -24-07-2019 6:00,10370768.96,0.064699512,0.064699512 -24-07-2019 7:00,10370330.56,0.050089945,0.050089945 -24-07-2019 8:00,10369891.37,0.059133963,0.059133963 -24-07-2019 9:00,10369451.39,0.042437315,0.042437315 -24-07-2019 10:00,10369010.6,0.036871765,0.036871765 -24-07-2019 11:00,10368569.02,0.031306216,0.031306216 -24-07-2019 12:00,10368126.64,0.025044973,0.025044973 -24-07-2019 13:00,10367683.47,0.021566504,0.021566504 -24-07-2019 14:00,10367239.49,0.016696648,0.016696648 -24-07-2019 15:00,10366794.73,0.018783729,0.018783729 -24-07-2019 16:00,10366349.16,0.030610522,0.030610522 -24-07-2019 17:00,10365902.81,0.054264107,0.054264107 -24-07-2019 18:00,10365455.65,0.054959801,0.054959801 -24-07-2019 19:00,10365007.7,0.048698558,0.048698558 -24-07-2019 20:00,10364558.96,0.040350234,0.040350234 -24-07-2019 21:00,10364109.42,0.028523441,0.028523441 -24-07-2019 22:00,10363659.09,0.013913874,0.013913874 -24-07-2019 23:00,10363207.96,0.004869856,0.004869856 -25-07-2019 0:00,10362756.04,0.002782775,0.002782775 -25-07-2019 1:00,10362303.33,0.000695694,0.000695694 -25-07-2019 2:00,10361849.82,0.000695694,0.000695694 -25-07-2019 3:00,10361395.52,0.001391387,0.001391387 -25-07-2019 4:00,10360940.42,0.004869856,0.004869856 -25-07-2019 5:00,10360484.54,0.038958846,0.038958846 -25-07-2019 6:00,10360027.86,0.064699512,0.064699512 -25-07-2019 7:00,10359570.39,0.050089945,0.050089945 -25-07-2019 8:00,10359112.12,0.059133963,0.059133963 -25-07-2019 9:00,10358653.07,0.042437315,0.042437315 -25-07-2019 10:00,10358193.22,0.036871765,0.036871765 -25-07-2019 11:00,10357732.58,0.031306216,0.031306216 -25-07-2019 12:00,10357271.15,0.025044973,0.025044973 -25-07-2019 13:00,10356808.93,0.021566504,0.021566504 -25-07-2019 14:00,10356345.92,0.016696648,0.016696648 -25-07-2019 15:00,10355882.12,0.018783729,0.018783729 -25-07-2019 16:00,10355417.53,0.030610522,0.030610522 -25-07-2019 17:00,10354952.15,0.054264107,0.054264107 -25-07-2019 18:00,10354485.98,0.054959801,0.054959801 -25-07-2019 19:00,10354019.01,0.048698558,0.048698558 -25-07-2019 20:00,10353551.26,0.040350234,0.040350234 -25-07-2019 21:00,10353082.73,0.028523441,0.028523441 -25-07-2019 22:00,10352613.4,0.013913874,0.013913874 -25-07-2019 23:00,10352143.28,0.004869856,0.004869856 -26-07-2019 0:00,10351672.38,0.002782775,0.002782775 -26-07-2019 1:00,10351200.69,0.000695694,0.000695694 -26-07-2019 2:00,10350728.21,0.000695694,0.000695694 -26-07-2019 3:00,10350254.94,0.001391387,0.001391387 -26-07-2019 4:00,10349780.89,0.004869856,0.004869856 -26-07-2019 5:00,10349306.04,0.038958846,0.038958846 -26-07-2019 6:00,10348830.42,0.064699512,0.064699512 -26-07-2019 7:00,10348354,0.050089945,0.050089945 -26-07-2019 8:00,10347876.8,0.059133963,0.059133963 -26-07-2019 9:00,10347398.81,0.042437315,0.042437315 -26-07-2019 10:00,10346920.04,0.036871765,0.036871765 -26-07-2019 11:00,10346440.48,0.031306216,0.031306216 -26-07-2019 12:00,10345960.14,0.025044973,0.025044973 -26-07-2019 13:00,10345479.01,0.021566504,0.021566504 -26-07-2019 14:00,10344997.09,0.016696648,0.016696648 -26-07-2019 15:00,10344514.4,0.018783729,0.018783729 -26-07-2019 16:00,10344030.91,0.030610522,0.030610522 -26-07-2019 17:00,10343546.65,0.054264107,0.054264107 -26-07-2019 18:00,10343061.6,0.054959801,0.054959801 -26-07-2019 19:00,10342575.76,0.048698558,0.048698558 -26-07-2019 20:00,10342089.15,0.040350234,0.040350234 -26-07-2019 21:00,10341601.75,0.028523441,0.028523441 -26-07-2019 22:00,10341113.56,0.013913874,0.013913874 -26-07-2019 23:00,10340624.6,0.004869856,0.004869856 -27-07-2019 0:00,10340134.85,0.002782775,0.002782775 -27-07-2019 1:00,10339644.32,0.000695694,0.000695694 -27-07-2019 2:00,10339153.01,0.000695694,0.000695694 -27-07-2019 3:00,10338660.91,0.001391387,0.001391387 -27-07-2019 4:00,10338168.04,0.004869856,0.004869856 -27-07-2019 5:00,10337674.38,0.038958846,0.038958846 -27-07-2019 6:00,10337179.95,0.064699512,0.064699512 -27-07-2019 7:00,10336684.73,0.050089945,0.050089945 -27-07-2019 8:00,10336188.73,0.059133963,0.059133963 -27-07-2019 9:00,10335691.96,0.042437315,0.042437315 -27-07-2019 10:00,10335194.4,0.036871765,0.036871765 -27-07-2019 11:00,10334696.06,0.031306216,0.031306216 -27-07-2019 12:00,10334196.95,0.025044973,0.025044973 -27-07-2019 13:00,10333697.05,0.021566504,0.021566504 -27-07-2019 14:00,10333196.38,0.016696648,0.016696648 -27-07-2019 15:00,10332694.93,0.018783729,0.018783729 -27-07-2019 16:00,10332192.7,0.030610522,0.030610522 -27-07-2019 17:00,10331689.69,0.054264107,0.054264107 -27-07-2019 18:00,10331185.9,0.054959801,0.054959801 -27-07-2019 19:00,10330681.34,0.048698558,0.048698558 -27-07-2019 20:00,10330176,0.040350234,0.040350234 -27-07-2019 21:00,10329669.88,0.028523441,0.028523441 -27-07-2019 22:00,10329162.99,0.013913874,0.013913874 -27-07-2019 23:00,10328655.32,0.004869856,0.004869856 -28-07-2019 0:00,10328146.87,0.002782775,0.002782775 -28-07-2019 1:00,10327637.65,0.000695694,0.000695694 -28-07-2019 2:00,10327127.65,0.000695694,0.000695694 -28-07-2019 3:00,10326616.88,0.001391387,0.001391387 -28-07-2019 4:00,10326105.33,0.004869856,0.004869856 -28-07-2019 5:00,10325593,0.038958846,0.038958846 -28-07-2019 6:00,10325079.91,0.064699512,0.064699512 -28-07-2019 7:00,10324566.03,0.050089945,0.050089945 -28-07-2019 8:00,10324051.39,0.059133963,0.059133963 -28-07-2019 9:00,10323535.97,0.042437315,0.042437315 -28-07-2019 10:00,10323019.77,0.036871765,0.036871765 -28-07-2019 11:00,10322502.81,0.031306216,0.031306216 -28-07-2019 12:00,10321985.07,0.025044973,0.025044973 -28-07-2019 13:00,10321466.55,0.021566504,0.021566504 -28-07-2019 14:00,10320947.27,0.016696648,0.016696648 -28-07-2019 15:00,10320427.21,0.018783729,0.018783729 -28-07-2019 16:00,10319906.38,0.030610522,0.030610522 -28-07-2019 17:00,10319384.78,0.054264107,0.054264107 -28-07-2019 18:00,10318862.41,0.054959801,0.054959801 -28-07-2019 19:00,10318339.27,0.048698558,0.048698558 -28-07-2019 20:00,10317815.35,0.040350234,0.040350234 -28-07-2019 21:00,10317290.67,0.028523441,0.028523441 -28-07-2019 22:00,10316765.21,0.013913874,0.013913874 -28-07-2019 23:00,10316238.99,0.004869856,0.004869856 -29-07-2019 0:00,10315711.99,0.002782775,0.002782775 -29-07-2019 1:00,10315184.23,0.000695694,0.000695694 -29-07-2019 2:00,10314655.7,0.000695694,0.000695694 -29-07-2019 3:00,10314126.39,0.001391387,0.001391387 -29-07-2019 4:00,10313596.32,0.004869856,0.004869856 -29-07-2019 5:00,10313065.48,0.038958846,0.038958846 -29-07-2019 6:00,10312533.88,0.064699512,0.064699512 -29-07-2019 7:00,10312001.5,0.050089945,0.050089945 -29-07-2019 8:00,10311468.36,0.059133963,0.059133963 -29-07-2019 9:00,10310934.45,0.042437315,0.042437315 -29-07-2019 10:00,10310399.77,0.036871765,0.036871765 -29-07-2019 11:00,10309864.33,0.031306216,0.031306216 -29-07-2019 12:00,10309328.12,0.025044973,0.025044973 -29-07-2019 13:00,10308791.14,0.021566504,0.021566504 -29-07-2019 14:00,10308253.4,0.016696648,0.016696648 -29-07-2019 15:00,10307714.89,0.018783729,0.018783729 -29-07-2019 16:00,10307175.62,0.030610522,0.030610522 -29-07-2019 17:00,10306635.58,0.054264107,0.054264107 -29-07-2019 18:00,10306094.77,0.054959801,0.054959801 -29-07-2019 19:00,10305553.21,0.048698558,0.048698558 -29-07-2019 20:00,10305010.87,0.040350234,0.040350234 -29-07-2019 21:00,10304467.78,0.028523441,0.028523441 -29-07-2019 22:00,10303923.92,0.013913874,0.013913874 -29-07-2019 23:00,10303379.29,0.004869856,0.004869856 -30-07-2019 0:00,10302833.91,0.002782775,0.002782775 -30-07-2019 1:00,10302287.76,0.000695694,0.000695694 -30-07-2019 2:00,10301740.85,0.000695694,0.000695694 -30-07-2019 3:00,10301193.17,0.001391387,0.001391387 -30-07-2019 4:00,10300644.74,0.004869856,0.004869856 -30-07-2019 5:00,10300095.54,0.038958846,0.038958846 -30-07-2019 6:00,10299545.58,0.064699512,0.064699512 -30-07-2019 7:00,10298994.86,0.050089945,0.050089945 -30-07-2019 8:00,10298443.38,0.059133963,0.059133963 -30-07-2019 9:00,10297891.13,0.042437315,0.042437315 -30-07-2019 10:00,10297338.13,0.036871765,0.036871765 -30-07-2019 11:00,10296784.37,0.031306216,0.031306216 -30-07-2019 12:00,10296229.85,0.025044973,0.025044973 -30-07-2019 13:00,10295674.57,0.021566504,0.021566504 -30-07-2019 14:00,10295118.52,0.016696648,0.016696648 -30-07-2019 15:00,10294561.72,0.018783729,0.018783729 -30-07-2019 16:00,10294004.17,0.030610522,0.030610522 -30-07-2019 17:00,10293445.85,0.054264107,0.054264107 -30-07-2019 18:00,10292886.78,0.054959801,0.054959801 -30-07-2019 19:00,10292326.94,0.048698558,0.048698558 -30-07-2019 20:00,10291766.35,0.040350234,0.040350234 -30-07-2019 21:00,10291205.01,0.028523441,0.028523441 -30-07-2019 22:00,10290642.9,0.013913874,0.013913874 -30-07-2019 23:00,10290080.04,0.004869856,0.004869856 -31-07-2019 0:00,10289516.42,0.002782775,0.002782775 -31-07-2019 1:00,10288952.05,0.000695694,0.000695694 -31-07-2019 2:00,10288386.92,0.000695694,0.000695694 -31-07-2019 3:00,10287821.04,0.001391387,0.001391387 -31-07-2019 4:00,10287254.4,0.004869856,0.004869856 -31-07-2019 5:00,10286687.01,0.038958846,0.038958846 -31-07-2019 6:00,10286118.86,0.064699512,0.064699512 -31-07-2019 7:00,10285549.96,0.050089945,0.050089945 -31-07-2019 8:00,10284980.3,0.059133963,0.059133963 -31-07-2019 9:00,10284409.89,0.042437315,0.042437315 -31-07-2019 10:00,10283838.72,0.036871765,0.036871765 -31-07-2019 11:00,10283266.81,0.031306216,0.031306216 -31-07-2019 12:00,10282694.14,0.025044973,0.025044973 -31-07-2019 13:00,10282120.72,0.021566504,0.021566504 -31-07-2019 14:00,10281546.54,0.016696648,0.016696648 -31-07-2019 15:00,10280971.62,0.018783729,0.018783729 -31-07-2019 16:00,10280395.94,0.030610522,0.030610522 -31-07-2019 17:00,10279819.51,0.054264107,0.054264107 -31-07-2019 18:00,10279242.33,0.054959801,0.054959801 -31-07-2019 19:00,10278664.4,0.048698558,0.048698558 -31-07-2019 20:00,10278085.72,0.040350234,0.040350234 -31-07-2019 21:00,10277506.28,0.028523441,0.028523441 -31-07-2019 22:00,10276926.1,0.013913874,0.013913874 -31-07-2019 23:00,10276345.17,0.004869856,0.004869856 -01-08-2019 0:00,10275763.49,0.002782775,0.002782775 -01-08-2019 1:00,10275181.06,0.000695694,0.000695694 -01-08-2019 2:00,10274597.89,0.000695694,0.000695694 -01-08-2019 3:00,10274013.96,0.001391387,0.001391387 -01-08-2019 4:00,10273429.29,0.004869856,0.004869856 -01-08-2019 5:00,10272843.86,0.038958846,0.038958846 -01-08-2019 6:00,10272257.7,0.064699512,0.064699512 -01-08-2019 7:00,10271670.78,0.050089945,0.050089945 -01-08-2019 8:00,10271083.12,0.059133963,0.059133963 -01-08-2019 9:00,10270494.71,0.042437315,0.042437315 -01-08-2019 10:00,10269905.55,0.036871765,0.036871765 -01-08-2019 11:00,10269315.65,0.031306216,0.031306216 -01-08-2019 12:00,10268725,0.025044973,0.025044973 -01-08-2019 13:00,10268133.61,0.021566504,0.021566504 -01-08-2019 14:00,10267541.47,0.016696648,0.016696648 -01-08-2019 15:00,10266948.59,0.018783729,0.018783729 -01-08-2019 16:00,10266354.96,0.030610522,0.030610522 -01-08-2019 17:00,10265760.59,0.054264107,0.054264107 -01-08-2019 18:00,10265165.48,0.054959801,0.054959801 -01-08-2019 19:00,10264569.62,0.048698558,0.048698558 -01-08-2019 20:00,10263973.02,0.040350234,0.040350234 -01-08-2019 21:00,10263375.67,0.028523441,0.028523441 -01-08-2019 22:00,10262777.59,0.013913874,0.013913874 -01-08-2019 23:00,10262178.76,0.004869856,0.004869856 -02-08-2019 0:00,10261579.19,0.002782775,0.002782775 -02-08-2019 1:00,10260978.87,0.000695694,0.000695694 -02-08-2019 2:00,10260377.82,0.000695694,0.000695694 -02-08-2019 3:00,10259776.03,0.001391387,0.001391387 -02-08-2019 4:00,10259173.49,0.004869856,0.004869856 -02-08-2019 5:00,10258570.21,0.038958846,0.038958846 -02-08-2019 6:00,10257966.2,0.064699512,0.064699512 -02-08-2019 7:00,10257361.44,0.050089945,0.050089945 -02-08-2019 8:00,10256755.95,0.059133963,0.059133963 -02-08-2019 9:00,10256149.71,0.042437315,0.042437315 -02-08-2019 10:00,10255542.74,0.036871765,0.036871765 -02-08-2019 11:00,10254935.03,0.031306216,0.031306216 -02-08-2019 12:00,10254326.58,0.025044973,0.025044973 -02-08-2019 13:00,10253717.39,0.021566504,0.021566504 -02-08-2019 14:00,10253107.46,0.016696648,0.016696648 -02-08-2019 15:00,10252496.8,0.018783729,0.018783729 -02-08-2019 16:00,10251885.4,0.030610522,0.030610522 -02-08-2019 17:00,10251273.26,0.054264107,0.054264107 -02-08-2019 18:00,10250660.39,0.054959801,0.054959801 -02-08-2019 19:00,10250046.78,0.048698558,0.048698558 -02-08-2019 20:00,10249432.44,0.040350234,0.040350234 -02-08-2019 21:00,10248817.36,0.028523441,0.028523441 -02-08-2019 22:00,10248201.54,0.013913874,0.013913874 -02-08-2019 23:00,10247584.99,0.004869856,0.004869856 -03-08-2019 0:00,10246967.71,0.002782775,0.002782775 -03-08-2019 1:00,10246349.69,0.000695694,0.000695694 -03-08-2019 2:00,10245730.94,0.000695694,0.000695694 -03-08-2019 3:00,10245111.45,0.001391387,0.001391387 -03-08-2019 4:00,10244491.23,0.004869856,0.004869856 -03-08-2019 5:00,10243870.28,0.038958846,0.038958846 -03-08-2019 6:00,10243248.6,0.064699512,0.064699512 -03-08-2019 7:00,10242626.18,0.050089945,0.050089945 -03-08-2019 8:00,10242003.03,0.059133963,0.059133963 -03-08-2019 9:00,10241379.15,0.042437315,0.042437315 -03-08-2019 10:00,10240754.54,0.036871765,0.036871765 -03-08-2019 11:00,10240129.2,0.031306216,0.031306216 -03-08-2019 12:00,10239503.13,0.025044973,0.025044973 -03-08-2019 13:00,10238876.33,0.021566504,0.021566504 -03-08-2019 14:00,10238248.79,0.016696648,0.016696648 -03-08-2019 15:00,10237620.53,0.018783729,0.018783729 -03-08-2019 16:00,10236991.54,0.030610522,0.030610522 -03-08-2019 17:00,10236361.82,0.054264107,0.054264107 -03-08-2019 18:00,10235731.37,0.054959801,0.054959801 -03-08-2019 19:00,10235100.19,0.048698558,0.048698558 -03-08-2019 20:00,10234468.29,0.040350234,0.040350234 -03-08-2019 21:00,10233835.65,0.028523441,0.028523441 -03-08-2019 22:00,10233202.29,0.013913874,0.013913874 -03-08-2019 23:00,10232568.2,0.004869856,0.004869856 -04-08-2019 0:00,10231933.39,0.002782775,0.002782775 -04-08-2019 1:00,10231297.85,0.000695694,0.000695694 -04-08-2019 2:00,10230661.58,0.000695694,0.000695694 -04-08-2019 3:00,10230024.59,0.001391387,0.001391387 -04-08-2019 4:00,10229386.87,0.004869856,0.004869856 -04-08-2019 5:00,10228748.43,0.038958846,0.038958846 -04-08-2019 6:00,10228109.26,0.064699512,0.064699512 -04-08-2019 7:00,10227469.37,0.050089945,0.050089945 -04-08-2019 8:00,10226828.75,0.059133963,0.059133963 -04-08-2019 9:00,10226187.41,0.042437315,0.042437315 -04-08-2019 10:00,10225545.35,0.036871765,0.036871765 -04-08-2019 11:00,10224902.56,0.031306216,0.031306216 -04-08-2019 12:00,10224259.05,0.025044973,0.025044973 -04-08-2019 13:00,10223614.82,0.021566504,0.021566504 -04-08-2019 14:00,10222969.87,0.016696648,0.016696648 -04-08-2019 15:00,10222324.19,0.018783729,0.018783729 -04-08-2019 16:00,10221677.79,0.030610522,0.030610522 -04-08-2019 17:00,10221030.68,0.054264107,0.054264107 -04-08-2019 18:00,10220382.84,0.054959801,0.054959801 -04-08-2019 19:00,10219734.28,0.048698558,0.048698558 -04-08-2019 20:00,10219085,0.040350234,0.040350234 -04-08-2019 21:00,10218435,0.028523441,0.028523441 -04-08-2019 22:00,10217784.28,0.013913874,0.013913874 -04-08-2019 23:00,10217132.84,0.004869856,0.004869856 -05-08-2019 0:00,10216480.69,0.002782775,0.002782775 -05-08-2019 1:00,10215827.81,0.000695694,0.000695694 -05-08-2019 2:00,10215174.22,0.000695694,0.000695694 -05-08-2019 3:00,10214519.91,0.001391387,0.001391387 -05-08-2019 4:00,10213864.88,0.004869856,0.004869856 -05-08-2019 5:00,10213209.13,0.038958846,0.038958846 -05-08-2019 6:00,10212552.67,0.064699512,0.064699512 -05-08-2019 7:00,10211895.49,0.050089945,0.050089945 -05-08-2019 8:00,10211237.6,0.059133963,0.059133963 -05-08-2019 9:00,10210578.99,0.042437315,0.042437315 -05-08-2019 10:00,10209919.66,0.036871765,0.036871765 -05-08-2019 11:00,10209259.62,0.031306216,0.031306216 -05-08-2019 12:00,10208598.86,0.025044973,0.025044973 -05-08-2019 13:00,10207937.39,0.021566504,0.021566504 -05-08-2019 14:00,10207275.21,0.016696648,0.016696648 -05-08-2019 15:00,10206612.31,0.018783729,0.018783729 -05-08-2019 16:00,10205948.7,0.030610522,0.030610522 -05-08-2019 17:00,10205284.38,0.054264107,0.054264107 -05-08-2019 18:00,10204619.34,0.054959801,0.054959801 -05-08-2019 19:00,10203953.59,0.048698558,0.048698558 -05-08-2019 20:00,10203287.13,0.040350234,0.040350234 -05-08-2019 21:00,10202619.96,0.028523441,0.028523441 -05-08-2019 22:00,10201952.07,0.013913874,0.013913874 -05-08-2019 23:00,10201283.48,0.004869856,0.004869856 -06-08-2019 0:00,10200614.17,0.002782775,0.002782775 -06-08-2019 1:00,10199944.16,0.000695694,0.000695694 -06-08-2019 2:00,10199273.43,0.000695694,0.000695694 -06-08-2019 3:00,10198602,0.001391387,0.001391387 -06-08-2019 4:00,10197929.85,0.004869856,0.004869856 -06-08-2019 5:00,10197257,0.038958846,0.038958846 -06-08-2019 6:00,10196583.44,0.064699512,0.064699512 -06-08-2019 7:00,10195909.17,0.050089945,0.050089945 -06-08-2019 8:00,10195234.19,0.059133963,0.059133963 -06-08-2019 9:00,10194558.5,0.042437315,0.042437315 -06-08-2019 10:00,10193882.11,0.036871765,0.036871765 -06-08-2019 11:00,10193205.01,0.031306216,0.031306216 -06-08-2019 12:00,10192527.2,0.025044973,0.025044973 -06-08-2019 13:00,10191848.69,0.021566504,0.021566504 -06-08-2019 14:00,10191169.47,0.016696648,0.016696648 -06-08-2019 15:00,10190489.55,0.018783729,0.018783729 -06-08-2019 16:00,10189808.92,0.030610522,0.030610522 -06-08-2019 17:00,10189127.59,0.054264107,0.054264107 -06-08-2019 18:00,10188445.55,0.054959801,0.054959801 -06-08-2019 19:00,10187762.81,0.048698558,0.048698558 -06-08-2019 20:00,10187079.36,0.040350234,0.040350234 -06-08-2019 21:00,10186395.22,0.028523441,0.028523441 -06-08-2019 22:00,10185710.37,0.013913874,0.013913874 -06-08-2019 23:00,10185024.81,0.004869856,0.004869856 -07-08-2019 0:00,10184338.55,0.002782775,0.002782775 -07-08-2019 1:00,10183651.6,0.000695694,0.000695694 -07-08-2019 2:00,10182963.94,0.000695694,0.000695694 -07-08-2019 3:00,10182275.58,0.001391387,0.001391387 -07-08-2019 4:00,10181586.51,0.004869856,0.004869856 -07-08-2019 5:00,10180896.75,0.038958846,0.038958846 -07-08-2019 6:00,10180206.29,0.064699512,0.064699512 -07-08-2019 7:00,10179515.13,0.050089945,0.050089945 -07-08-2019 8:00,10178823.27,0.059133963,0.059133963 -07-08-2019 9:00,10178130.71,0.042437315,0.042437315 -07-08-2019 10:00,10177437.45,0.036871765,0.036871765 -07-08-2019 11:00,10176743.49,0.031306216,0.031306216 -07-08-2019 12:00,10176048.83,0.025044973,0.025044973 -07-08-2019 13:00,10175353.48,0.021566504,0.021566504 -07-08-2019 14:00,10174657.43,0.016696648,0.016696648 -07-08-2019 15:00,10173960.68,0.018783729,0.018783729 -07-08-2019 16:00,10173263.24,0.030610522,0.030610522 -07-08-2019 17:00,10172565.1,0.054264107,0.054264107 -07-08-2019 18:00,10171866.26,0.054959801,0.054959801 -07-08-2019 19:00,10171166.73,0.048698558,0.048698558 -07-08-2019 20:00,10170466.5,0.040350234,0.040350234 -07-08-2019 21:00,10169765.58,0.028523441,0.028523441 -07-08-2019 22:00,10169063.97,0.013913874,0.013913874 -07-08-2019 23:00,10168361.66,0.004869856,0.004869856 -08-08-2019 0:00,10167658.65,0.002782775,0.002782775 -08-08-2019 1:00,10166954.96,0.000695694,0.000695694 -08-08-2019 2:00,10166250.57,0.000695694,0.000695694 -08-08-2019 3:00,10165545.48,0.001391387,0.001391387 -08-08-2019 4:00,10164839.71,0.004869856,0.004869856 -08-08-2019 5:00,10164133.24,0.038958846,0.038958846 -08-08-2019 6:00,10163426.09,0.064699512,0.064699512 -08-08-2019 7:00,10162718.24,0.050089945,0.050089945 -08-08-2019 8:00,10162009.7,0.059133963,0.059133963 -08-08-2019 9:00,10161300.47,0.042437315,0.042437315 -08-08-2019 10:00,10160590.55,0.036871765,0.036871765 -08-08-2019 11:00,10159879.94,0.031306216,0.031306216 -08-08-2019 12:00,10159168.64,0.025044973,0.025044973 -08-08-2019 13:00,10158456.65,0.021566504,0.021566504 -08-08-2019 14:00,10157743.97,0.016696648,0.016696648 -08-08-2019 15:00,10157030.61,0.018783729,0.018783729 -08-08-2019 16:00,10156316.55,0.030610522,0.030610522 -08-08-2019 17:00,10155601.81,0.054264107,0.054264107 -08-08-2019 18:00,10154886.39,0.054959801,0.054959801 -08-08-2019 19:00,10154170.27,0.048698558,0.048698558 -08-08-2019 20:00,10153453.47,0.040350234,0.040350234 -08-08-2019 21:00,10152735.98,0.028523441,0.028523441 -08-08-2019 22:00,10152017.81,0.013913874,0.013913874 -08-08-2019 23:00,10151298.95,0.004869856,0.004869856 -09-08-2019 0:00,10150579.41,0.002782775,0.002782775 -09-08-2019 1:00,10149859.19,0.000695694,0.000695694 -09-08-2019 2:00,10149138.27,0.000695694,0.000695694 -09-08-2019 3:00,10148416.68,0.001391387,0.001391387 -09-08-2019 4:00,10147694.4,0.004869856,0.004869856 -09-08-2019 5:00,10146971.44,0.038958846,0.038958846 -09-08-2019 6:00,10146247.8,0.064699512,0.064699512 -09-08-2019 7:00,10145523.47,0.050089945,0.050089945 -09-08-2019 8:00,10144798.46,0.059133963,0.059133963 -09-08-2019 9:00,10144072.77,0.042437315,0.042437315 -09-08-2019 10:00,10143346.4,0.036871765,0.036871765 -09-08-2019 11:00,10142619.35,0.031306216,0.031306216 -09-08-2019 12:00,10141891.62,0.025044973,0.025044973 -09-08-2019 13:00,10141163.2,0.021566504,0.021566504 -09-08-2019 14:00,10140434.11,0.016696648,0.016696648 -09-08-2019 15:00,10139704.34,0.018783729,0.018783729 -09-08-2019 16:00,10138973.89,0.030610522,0.030610522 -09-08-2019 17:00,10138242.76,0.054264107,0.054264107 -09-08-2019 18:00,10137510.95,0.054959801,0.054959801 -09-08-2019 19:00,10136778.47,0.048698558,0.048698558 -09-08-2019 20:00,10136045.31,0.040350234,0.040350234 -09-08-2019 21:00,10135311.47,0.028523441,0.028523441 -09-08-2019 22:00,10134576.95,0.013913874,0.013913874 -09-08-2019 23:00,10133841.76,0.004869856,0.004869856 -10-08-2019 0:00,10133105.89,0.002782775,0.002782775 -10-08-2019 1:00,10132369.35,0.000695694,0.000695694 -10-08-2019 2:00,10131632.13,0.000695694,0.000695694 -10-08-2019 3:00,10130894.24,0.001391387,0.001391387 -10-08-2019 4:00,10130155.67,0.004869856,0.004869856 -10-08-2019 5:00,10129416.43,0.038958846,0.038958846 -10-08-2019 6:00,10128676.51,0.064699512,0.064699512 -10-08-2019 7:00,10127935.92,0.050089945,0.050089945 -10-08-2019 8:00,10127194.66,0.059133963,0.059133963 -10-08-2019 9:00,10126452.72,0.042437315,0.042437315 -10-08-2019 10:00,10125710.12,0.036871765,0.036871765 -10-08-2019 11:00,10124966.84,0.031306216,0.031306216 -10-08-2019 12:00,10124222.89,0.025044973,0.025044973 -10-08-2019 13:00,10123478.27,0.021566504,0.021566504 -10-08-2019 14:00,10122732.98,0.016696648,0.016696648 -10-08-2019 15:00,10121987.02,0.018783729,0.018783729 -10-08-2019 16:00,10121240.39,0.030610522,0.030610522 -10-08-2019 17:00,10120493.09,0.054264107,0.054264107 -10-08-2019 18:00,10119745.12,0.054959801,0.054959801 -10-08-2019 19:00,10118996.48,0.048698558,0.048698558 -10-08-2019 20:00,10118247.17,0.040350234,0.040350234 -10-08-2019 21:00,10117497.2,0.028523441,0.028523441 -10-08-2019 22:00,10116746.55,0.013913874,0.013913874 -10-08-2019 23:00,10115995.24,0.004869856,0.004869856 -11-08-2019 0:00,10115243.27,0.002782775,0.002782775 -11-08-2019 1:00,10114490.63,0.000695694,0.000695694 -11-08-2019 2:00,10113737.32,0.000695694,0.000695694 -11-08-2019 3:00,10112983.34,0.001391387,0.001391387 -11-08-2019 4:00,10112228.71,0.004869856,0.004869856 -11-08-2019 5:00,10111473.4,0.038958846,0.038958846 -11-08-2019 6:00,10110717.43,0.064699512,0.064699512 -11-08-2019 7:00,10109960.8,0.050089945,0.050089945 -11-08-2019 8:00,10109203.51,0.059133963,0.059133963 -11-08-2019 9:00,10108445.55,0.042437315,0.042437315 -11-08-2019 10:00,10107686.93,0.036871765,0.036871765 -11-08-2019 11:00,10106927.64,0.031306216,0.031306216 -11-08-2019 12:00,10106167.69,0.025044973,0.025044973 -11-08-2019 13:00,10105407.09,0.021566504,0.021566504 -11-08-2019 14:00,10104645.82,0.016696648,0.016696648 -11-08-2019 15:00,10103883.89,0.018783729,0.018783729 -11-08-2019 16:00,10103121.3,0.030610522,0.030610522 -11-08-2019 17:00,10102358.04,0.054264107,0.054264107 -11-08-2019 18:00,10101594.13,0.054959801,0.054959801 -11-08-2019 19:00,10100829.56,0.048698558,0.048698558 -11-08-2019 20:00,10100064.34,0.040350234,0.040350234 -11-08-2019 21:00,10099298.45,0.028523441,0.028523441 -11-08-2019 22:00,10098531.9,0.013913874,0.013913874 -11-08-2019 23:00,10097764.7,0.004869856,0.004869856 -12-08-2019 0:00,10096996.84,0.002782775,0.002782775 -12-08-2019 1:00,10096228.32,0.000695694,0.000695694 -12-08-2019 2:00,10095459.15,0.000695694,0.000695694 -12-08-2019 3:00,10094689.32,0.001391387,0.001391387 -12-08-2019 4:00,10093918.83,0.004869856,0.004869856 -12-08-2019 5:00,10093147.69,0.038958846,0.038958846 -12-08-2019 6:00,10092375.89,0.064699512,0.064699512 -12-08-2019 7:00,10091603.44,0.050089945,0.050089945 -12-08-2019 8:00,10090830.33,0.059133963,0.059133963 -12-08-2019 9:00,10090056.58,0.042437315,0.042437315 -12-08-2019 10:00,10089282.16,0.036871765,0.036871765 -12-08-2019 11:00,10088507.1,0.031306216,0.031306216 -12-08-2019 12:00,10087731.38,0.025044973,0.025044973 -12-08-2019 13:00,10086955.01,0.021566504,0.021566504 -12-08-2019 14:00,10086177.99,0.016696648,0.016696648 -12-08-2019 15:00,10085400.31,0.018783729,0.018783729 -12-08-2019 16:00,10084621.99,0.030610522,0.030610522 -12-08-2019 17:00,10083843.01,0.054264107,0.054264107 -12-08-2019 18:00,10083063.39,0.054959801,0.054959801 -12-08-2019 19:00,10082283.11,0.048698558,0.048698558 -12-08-2019 20:00,10081502.19,0.040350234,0.040350234 -12-08-2019 21:00,10080720.62,0.028523441,0.028523441 -12-08-2019 22:00,10079938.39,0.013913874,0.013913874 -12-08-2019 23:00,10079155.52,0.004869856,0.004869856 -13-08-2019 0:00,10078372.01,0.002782775,0.002782775 -13-08-2019 1:00,10077587.84,0.000695694,0.000695694 -13-08-2019 2:00,10076803.03,0.000695694,0.000695694 -13-08-2019 3:00,10076017.57,0.001391387,0.001391387 -13-08-2019 4:00,10075231.46,0.004869856,0.004869856 -13-08-2019 5:00,10074444.71,0.038958846,0.038958846 -13-08-2019 6:00,10073657.32,0.064699512,0.064699512 -13-08-2019 7:00,10072869.28,0.050089945,0.050089945 -13-08-2019 8:00,10072080.59,0.059133963,0.059133963 -13-08-2019 9:00,10071291.26,0.042437315,0.042437315 -13-08-2019 10:00,10070501.29,0.036871765,0.036871765 -13-08-2019 11:00,10069710.67,0.031306216,0.031306216 -13-08-2019 12:00,10068919.41,0.025044973,0.025044973 -13-08-2019 13:00,10068127.51,0.021566504,0.021566504 -13-08-2019 14:00,10067334.96,0.016696648,0.016696648 -13-08-2019 15:00,10066541.78,0.018783729,0.018783729 -13-08-2019 16:00,10065747.95,0.030610522,0.030610522 -13-08-2019 17:00,10064953.48,0.054264107,0.054264107 -13-08-2019 18:00,10064158.37,0.054959801,0.054959801 -13-08-2019 19:00,10063362.62,0.048698558,0.048698558 -13-08-2019 20:00,10062566.23,0.040350234,0.040350234 -13-08-2019 21:00,10061769.21,0.028523441,0.028523441 -13-08-2019 22:00,10060971.54,0.013913874,0.013913874 -13-08-2019 23:00,10060173.23,0.004869856,0.004869856 -14-08-2019 0:00,10059374.29,0.002782775,0.002782775 -14-08-2019 1:00,10058574.71,0.000695694,0.000695694 -14-08-2019 2:00,10057774.49,0.000695694,0.000695694 -14-08-2019 3:00,10056973.64,0.001391387,0.001391387 -14-08-2019 4:00,10056172.15,0.004869856,0.004869856 -14-08-2019 5:00,10055370.02,0.038958846,0.038958846 -14-08-2019 6:00,10054567.26,0.064699512,0.064699512 -14-08-2019 7:00,10053763.86,0.050089945,0.050089945 -14-08-2019 8:00,10052959.83,0.059133963,0.059133963 -14-08-2019 9:00,10052155.16,0.042437315,0.042437315 -14-08-2019 10:00,10051349.86,0.036871765,0.036871765 -14-08-2019 11:00,10050543.92,0.031306216,0.031306216 -14-08-2019 12:00,10049737.36,0.025044973,0.025044973 -14-08-2019 13:00,10048930.16,0.021566504,0.021566504 -14-08-2019 14:00,10048122.32,0.016696648,0.016696648 -14-08-2019 15:00,10047313.86,0.018783729,0.018783729 -14-08-2019 16:00,10046504.76,0.030610522,0.030610522 -14-08-2019 17:00,10045695.04,0.054264107,0.054264107 -14-08-2019 18:00,10044884.68,0.054959801,0.054959801 -14-08-2019 19:00,10044073.69,0.048698558,0.048698558 -14-08-2019 20:00,10043262.08,0.040350234,0.040350234 -14-08-2019 21:00,10042449.83,0.028523441,0.028523441 -14-08-2019 22:00,10041636.96,0.013913874,0.013913874 -14-08-2019 23:00,10040823.45,0.004869856,0.004869856 -15-08-2019 0:00,10040009.32,0.002782775,0.002782775 -15-08-2019 1:00,10039194.56,0.000695694,0.000695694 -15-08-2019 2:00,10038379.18,0.000695694,0.000695694 -15-08-2019 3:00,10037563.16,0.001391387,0.001391387 -15-08-2019 4:00,10036746.52,0.004869856,0.004869856 -15-08-2019 5:00,10035929.26,0.038958846,0.038958846 -15-08-2019 6:00,10035111.37,0.064699512,0.064699512 -15-08-2019 7:00,10034292.85,0.050089945,0.050089945 -15-08-2019 8:00,10033473.71,0.059133963,0.059133963 -15-08-2019 9:00,10032653.94,0.042437315,0.042437315 -15-08-2019 10:00,10031833.55,0.036871765,0.036871765 -15-08-2019 11:00,10031012.54,0.031306216,0.031306216 -15-08-2019 12:00,10030190.91,0.025044973,0.025044973 -15-08-2019 13:00,10029368.65,0.021566504,0.021566504 -15-08-2019 14:00,10028545.77,0.016696648,0.016696648 -15-08-2019 15:00,10027722.26,0.018783729,0.018783729 -15-08-2019 16:00,10026898.14,0.030610522,0.030610522 -15-08-2019 17:00,10026073.4,0.054264107,0.054264107 -15-08-2019 18:00,10025248.03,0.054959801,0.054959801 -15-08-2019 19:00,10024422.05,0.048698558,0.048698558 -15-08-2019 20:00,10023595.44,0.040350234,0.040350234 -15-08-2019 21:00,10022768.22,0.028523441,0.028523441 -15-08-2019 22:00,10021940.38,0.013913874,0.013913874 -15-08-2019 23:00,10021111.92,0.004869856,0.004869856 -16-08-2019 0:00,10020282.84,0.002782775,0.002782775 -16-08-2019 1:00,10019453.14,0.000695694,0.000695694 -16-08-2019 2:00,10018622.83,0.000695694,0.000695694 -16-08-2019 3:00,10017791.9,0.001391387,0.001391387 -16-08-2019 4:00,10016960.35,0.004869856,0.004869856 -16-08-2019 5:00,10016128.19,0.038958846,0.038958846 -16-08-2019 6:00,10015295.41,0.064699512,0.064699512 -16-08-2019 7:00,10014462.02,0.050089945,0.050089945 -16-08-2019 8:00,10013628.01,0.059133963,0.059133963 -16-08-2019 9:00,10012793.39,0.042437315,0.042437315 -16-08-2019 10:00,10011958.16,0.036871765,0.036871765 -16-08-2019 11:00,10011122.31,0.031306216,0.031306216 -16-08-2019 12:00,10010285.85,0.025044973,0.025044973 -16-08-2019 13:00,10009448.78,0.021566504,0.021566504 -16-08-2019 14:00,10008611.09,0.016696648,0.016696648 -16-08-2019 15:00,10007772.8,0.018783729,0.018783729 -16-08-2019 16:00,10006933.89,0.030610522,0.030610522 -16-08-2019 17:00,10006094.37,0.054264107,0.054264107 -16-08-2019 18:00,10005254.24,0.054959801,0.054959801 -16-08-2019 19:00,10004413.5,0.048698558,0.048698558 -16-08-2019 20:00,10003572.16,0.040350234,0.040350234 -16-08-2019 21:00,10002730.2,0.028523441,0.028523441 -16-08-2019 22:00,10001887.64,0.013913874,0.013913874 -16-08-2019 23:00,10001044.46,0.004869856,0.004869856 -17-08-2019 0:00,10000200.68,0.002782775,0.002782775 -17-08-2019 1:00,9999356.296,0.000695694,0.000695694 -17-08-2019 2:00,9998511.302,0.000695694,0.000695694 -17-08-2019 3:00,9997665.702,0.001391387,0.001391387 -17-08-2019 4:00,9996819.495,0.004869856,0.004869856 -17-08-2019 5:00,9995972.684,0.038958846,0.038958846 -17-08-2019 6:00,9995125.267,0.064699512,0.064699512 -17-08-2019 7:00,9994277.246,0.050089945,0.050089945 -17-08-2019 8:00,9993428.62,0.059133963,0.059133963 -17-08-2019 9:00,9992579.391,0.042437315,0.042437315 -17-08-2019 10:00,9991729.559,0.036871765,0.036871765 -17-08-2019 11:00,9990879.124,0.031306216,0.031306216 -17-08-2019 12:00,9990028.086,0.025044973,0.025044973 -17-08-2019 13:00,9989176.447,0.021566504,0.021566504 -17-08-2019 14:00,9988324.206,0.016696648,0.016696648 -17-08-2019 15:00,9987471.364,0.018783729,0.018783729 -17-08-2019 16:00,9986617.921,0.030610522,0.030610522 -17-08-2019 17:00,9985763.878,0.054264107,0.054264107 -17-08-2019 18:00,9984909.236,0.054959801,0.054959801 -17-08-2019 19:00,9984053.994,0.048698558,0.048698558 -17-08-2019 20:00,9983198.153,0.040350234,0.040350234 -17-08-2019 21:00,9982341.714,0.028523441,0.028523441 -17-08-2019 22:00,9981484.677,0.013913874,0.013913874 -17-08-2019 23:00,9980627.043,0.004869856,0.004869856 -18-08-2019 0:00,9979768.811,0.002782775,0.002782775 -18-08-2019 1:00,9978909.983,0.000695694,0.000695694 -18-08-2019 2:00,9978050.558,0.000695694,0.000695694 -18-08-2019 3:00,9977190.538,0.001391387,0.001391387 -18-08-2019 4:00,9976329.922,0.004869856,0.004869856 -18-08-2019 5:00,9975468.711,0.038958846,0.038958846 -18-08-2019 6:00,9974606.906,0.064699512,0.064699512 -18-08-2019 7:00,9973744.507,0.050089945,0.050089945 -18-08-2019 8:00,9972881.515,0.059133963,0.059133963 -18-08-2019 9:00,9972017.929,0.042437315,0.042437315 -18-08-2019 10:00,9971153.751,0.036871765,0.036871765 -18-08-2019 11:00,9970288.98,0.031306216,0.031306216 -18-08-2019 12:00,9969423.618,0.025044973,0.025044973 -18-08-2019 13:00,9968557.664,0.021566504,0.021566504 -18-08-2019 14:00,9967691.12,0.016696648,0.016696648 -18-08-2019 15:00,9966823.985,0.018783729,0.018783729 -18-08-2019 16:00,9965956.26,0.030610522,0.030610522 -18-08-2019 17:00,9965087.945,0.054264107,0.054264107 -18-08-2019 18:00,9964219.042,0.054959801,0.054959801 -18-08-2019 19:00,9963349.549,0.048698558,0.048698558 -18-08-2019 20:00,9962479.469,0.040350234,0.040350234 -18-08-2019 21:00,9961608.801,0.028523441,0.028523441 -18-08-2019 22:00,9960737.545,0.013913874,0.013913874 -18-08-2019 23:00,9959865.703,0.004869856,0.004869856 -19-08-2019 0:00,9958993.274,0.002782775,0.002782775 -19-08-2019 1:00,9958120.259,0.000695694,0.000695694 -19-08-2019 2:00,9957246.659,0.000695694,0.000695694 -19-08-2019 3:00,9956372.473,0.001391387,0.001391387 -19-08-2019 4:00,9955497.703,0.004869856,0.004869856 -19-08-2019 5:00,9954622.349,0.038958846,0.038958846 -19-08-2019 6:00,9953746.411,0.064699512,0.064699512 -19-08-2019 7:00,9952869.89,0.050089945,0.050089945 -19-08-2019 8:00,9951992.786,0.059133963,0.059133963 -19-08-2019 9:00,9951115.1,0.042437315,0.042437315 -19-08-2019 10:00,9950236.831,0.036871765,0.036871765 -19-08-2019 11:00,9949357.982,0.031306216,0.031306216 -19-08-2019 12:00,9948478.551,0.025044973,0.025044973 -19-08-2019 13:00,9947598.54,0.021566504,0.021566504 -19-08-2019 14:00,9946717.948,0.016696648,0.016696648 -19-08-2019 15:00,9945836.777,0.018783729,0.018783729 -19-08-2019 16:00,9944955.027,0.030610522,0.030610522 -19-08-2019 17:00,9944072.698,0.054264107,0.054264107 -19-08-2019 18:00,9943189.791,0.054959801,0.054959801 -19-08-2019 19:00,9942306.306,0.048698558,0.048698558 -19-08-2019 20:00,9941422.243,0.040350234,0.040350234 -19-08-2019 21:00,9940537.604,0.028523441,0.028523441 -19-08-2019 22:00,9939652.388,0.013913874,0.013913874 -19-08-2019 23:00,9938766.596,0.004869856,0.004869856 -20-08-2019 0:00,9937880.228,0.002782775,0.002782775 -20-08-2019 1:00,9936993.286,0.000695694,0.000695694 -20-08-2019 2:00,9936105.769,0.000695694,0.000695694 -20-08-2019 3:00,9935217.677,0.001391387,0.001391387 -20-08-2019 4:00,9934329.012,0.004869856,0.004869856 -20-08-2019 5:00,9933439.774,0.038958846,0.038958846 -20-08-2019 6:00,9932549.962,0.064699512,0.064699512 -20-08-2019 7:00,9931659.579,0.050089945,0.050089945 -20-08-2019 8:00,9930768.623,0.059133963,0.059133963 -20-08-2019 9:00,9929877.096,0.042437315,0.042437315 -20-08-2019 10:00,9928984.998,0.036871765,0.036871765 -20-08-2019 11:00,9928092.33,0.031306216,0.031306216 -20-08-2019 12:00,9927199.091,0.025044973,0.025044973 -20-08-2019 13:00,9926305.283,0.021566504,0.021566504 -20-08-2019 14:00,9925410.906,0.016696648,0.016696648 -20-08-2019 15:00,9924515.96,0.018783729,0.018783729 -20-08-2019 16:00,9923620.446,0.030610522,0.030610522 -20-08-2019 17:00,9922724.364,0.054264107,0.054264107 -20-08-2019 18:00,9921827.714,0.054959801,0.054959801 -20-08-2019 19:00,9920930.498,0.048698558,0.048698558 -20-08-2019 20:00,9920032.716,0.040350234,0.040350234 -20-08-2019 21:00,9919134.367,0.028523441,0.028523441 -20-08-2019 22:00,9918235.453,0.013913874,0.013913874 -20-08-2019 23:00,9917335.974,0.004869856,0.004869856 -21-08-2019 0:00,9916435.931,0.002782775,0.002782775 -21-08-2019 1:00,9915535.324,0.000695694,0.000695694 -21-08-2019 2:00,9914634.152,0.000695694,0.000695694 -21-08-2019 3:00,9913732.418,0.001391387,0.001391387 -21-08-2019 4:00,9912830.121,0.004869856,0.004869856 -21-08-2019 5:00,9911927.262,0.038958846,0.038958846 -21-08-2019 6:00,9911023.841,0.064699512,0.064699512 -21-08-2019 7:00,9910119.859,0.050089945,0.050089945 -21-08-2019 8:00,9909215.316,0.059133963,0.059133963 -21-08-2019 9:00,9908310.212,0.042437315,0.042437315 -21-08-2019 10:00,9907404.549,0.036871765,0.036871765 -21-08-2019 11:00,9906498.326,0.031306216,0.031306216 -21-08-2019 12:00,9905591.545,0.025044973,0.025044973 -21-08-2019 13:00,9904684.205,0.021566504,0.021566504 -21-08-2019 14:00,9903776.306,0.016696648,0.016696648 -21-08-2019 15:00,9902867.851,0.018783729,0.018783729 -21-08-2019 16:00,9901958.838,0.030610522,0.030610522 -21-08-2019 17:00,9901049.268,0.054264107,0.054264107 -21-08-2019 18:00,9900139.143,0.054959801,0.054959801 -21-08-2019 19:00,9899228.461,0.048698558,0.048698558 -21-08-2019 20:00,9898317.225,0.040350234,0.040350234 -21-08-2019 21:00,9897405.434,0.028523441,0.028523441 -21-08-2019 22:00,9896493.088,0.013913874,0.013913874 -21-08-2019 23:00,9895580.189,0.004869856,0.004869856 -22-08-2019 0:00,9894666.736,0.002782775,0.002782775 -22-08-2019 1:00,9893752.73,0.000695694,0.000695694 -22-08-2019 2:00,9892838.172,0.000695694,0.000695694 -22-08-2019 3:00,9891923.062,0.001391387,0.001391387 -22-08-2019 4:00,9891007.401,0.004869856,0.004869856 -22-08-2019 5:00,9890091.189,0.038958846,0.038958846 -22-08-2019 6:00,9889174.426,0.064699512,0.064699512 -22-08-2019 7:00,9888257.113,0.050089945,0.050089945 -22-08-2019 8:00,9887339.25,0.059133963,0.059133963 -22-08-2019 9:00,9886420.839,0.042437315,0.042437315 -22-08-2019 10:00,9885501.878,0.036871765,0.036871765 -22-08-2019 11:00,9884582.37,0.031306216,0.031306216 -22-08-2019 12:00,9883662.314,0.025044973,0.025044973 -22-08-2019 13:00,9882741.711,0.021566504,0.021566504 -22-08-2019 14:00,9881820.561,0.016696648,0.016696648 -22-08-2019 15:00,9880898.864,0.018783729,0.018783729 -22-08-2019 16:00,9879976.622,0.030610522,0.030610522 -22-08-2019 17:00,9879053.835,0.054264107,0.054264107 -22-08-2019 18:00,9878130.503,0.054959801,0.054959801 -22-08-2019 19:00,9877206.626,0.048698558,0.048698558 -22-08-2019 20:00,9876282.205,0.040350234,0.040350234 -22-08-2019 21:00,9875357.242,0.028523441,0.028523441 -22-08-2019 22:00,9874431.735,0.013913874,0.013913874 -22-08-2019 23:00,9873505.685,0.004869856,0.004869856 -23-08-2019 0:00,9872579.094,0.002782775,0.002782775 -23-08-2019 1:00,9871651.961,0.000695694,0.000695694 -23-08-2019 2:00,9870724.287,0.000695694,0.000695694 -23-08-2019 3:00,9869796.073,0.001391387,0.001391387 -23-08-2019 4:00,9868867.318,0.004869856,0.004869856 -23-08-2019 5:00,9867938.024,0.038958846,0.038958846 -23-08-2019 6:00,9867008.191,0.064699512,0.064699512 -23-08-2019 7:00,9866077.819,0.050089945,0.050089945 -23-08-2019 8:00,9865146.909,0.059133963,0.059133963 -23-08-2019 9:00,9864215.462,0.042437315,0.042437315 -23-08-2019 10:00,9863283.477,0.036871765,0.036871765 -23-08-2019 11:00,9862350.955,0.031306216,0.031306216 -23-08-2019 12:00,9861417.897,0.025044973,0.025044973 -23-08-2019 13:00,9860484.303,0.021566504,0.021566504 -23-08-2019 14:00,9859550.174,0.016696648,0.016696648 -23-08-2019 15:00,9858615.511,0.018783729,0.018783729 -23-08-2019 16:00,9857680.313,0.030610522,0.030610522 -23-08-2019 17:00,9856744.581,0.054264107,0.054264107 -23-08-2019 18:00,9855808.315,0.054959801,0.054959801 -23-08-2019 19:00,9854871.517,0.048698558,0.048698558 -23-08-2019 20:00,9853934.187,0.040350234,0.040350234 -23-08-2019 21:00,9852996.324,0.028523441,0.028523441 -23-08-2019 22:00,9852057.93,0.013913874,0.013913874 -23-08-2019 23:00,9851119.005,0.004869856,0.004869856 -24-08-2019 0:00,9850179.55,0.002782775,0.002782775 -24-08-2019 1:00,9849239.565,0.000695694,0.000695694 -24-08-2019 2:00,9848299.05,0.000695694,0.000695694 -24-08-2019 3:00,9847358.006,0.001391387,0.001391387 -24-08-2019 4:00,9846416.434,0.004869856,0.004869856 -24-08-2019 5:00,9845474.333,0.038958846,0.038958846 -24-08-2019 6:00,9844531.705,0.064699512,0.064699512 -24-08-2019 7:00,9843588.55,0.050089945,0.050089945 -24-08-2019 8:00,9842644.869,0.059133963,0.059133963 -24-08-2019 9:00,9841700.661,0.042437315,0.042437315 -24-08-2019 10:00,9840755.927,0.036871765,0.036871765 -24-08-2019 11:00,9839810.669,0.031306216,0.031306216 -24-08-2019 12:00,9838864.886,0.025044973,0.025044973 -24-08-2019 13:00,9837918.578,0.021566504,0.021566504 -24-08-2019 14:00,9836971.747,0.016696648,0.016696648 -24-08-2019 15:00,9836024.393,0.018783729,0.018783729 -24-08-2019 16:00,9835076.516,0.030610522,0.030610522 -24-08-2019 17:00,9834128.117,0.054264107,0.054264107 -24-08-2019 18:00,9833179.196,0.054959801,0.054959801 -24-08-2019 19:00,9832229.754,0.048698558,0.048698558 -24-08-2019 20:00,9831279.791,0.040350234,0.040350234 -24-08-2019 21:00,9830329.308,0.028523441,0.028523441 -24-08-2019 22:00,9829378.305,0.013913874,0.013913874 -24-08-2019 23:00,9828426.783,0.004869856,0.004869856 -25-08-2019 0:00,9827474.742,0.002782775,0.002782775 -25-08-2019 1:00,9826522.182,0.000695694,0.000695694 -25-08-2019 2:00,9825569.105,0.000695694,0.000695694 -25-08-2019 3:00,9824615.511,0.001391387,0.001391387 -25-08-2019 4:00,9823661.4,0.004869856,0.004869856 -25-08-2019 5:00,9822706.772,0.038958846,0.038958846 -25-08-2019 6:00,9821751.629,0.064699512,0.064699512 -25-08-2019 7:00,9820795.97,0.050089945,0.050089945 -25-08-2019 8:00,9819839.796,0.059133963,0.059133963 -25-08-2019 9:00,9818883.108,0.042437315,0.042437315 -25-08-2019 10:00,9817925.906,0.036871765,0.036871765 -25-08-2019 11:00,9816968.191,0.031306216,0.031306216 -25-08-2019 12:00,9816009.962,0.025044973,0.025044973 -25-08-2019 13:00,9815051.222,0.021566504,0.021566504 -25-08-2019 14:00,9814091.969,0.016696648,0.016696648 -25-08-2019 15:00,9813132.205,0.018783729,0.018783729 -25-08-2019 16:00,9812171.93,0.030610522,0.030610522 -25-08-2019 17:00,9811211.145,0.054264107,0.054264107 -25-08-2019 18:00,9810249.85,0.054959801,0.054959801 -25-08-2019 19:00,9809288.045,0.048698558,0.048698558 -25-08-2019 20:00,9808325.731,0.040350234,0.040350234 -25-08-2019 21:00,9807362.909,0.028523441,0.028523441 -25-08-2019 22:00,9806399.579,0.013913874,0.013913874 -25-08-2019 23:00,9805435.741,0.004869856,0.004869856 -26-08-2019 0:00,9804471.397,0.002782775,0.002782775 -26-08-2019 1:00,9803506.546,0.000695694,0.000695694 -26-08-2019 2:00,9802541.189,0.000695694,0.000695694 -26-08-2019 3:00,9801575.326,0.001391387,0.001391387 -26-08-2019 4:00,9800608.959,0.004869856,0.004869856 -26-08-2019 5:00,9799642.087,0.038958846,0.038958846 -26-08-2019 6:00,9798674.711,0.064699512,0.064699512 -26-08-2019 7:00,9797706.832,0.050089945,0.050089945 -26-08-2019 8:00,9796738.449,0.059133963,0.059133963 -26-08-2019 9:00,9795769.565,0.042437315,0.042437315 -26-08-2019 10:00,9794800.178,0.036871765,0.036871765 -26-08-2019 11:00,9793830.289,0.031306216,0.031306216 -26-08-2019 12:00,9792859.9,0.025044973,0.025044973 -26-08-2019 13:00,9791889.01,0.021566504,0.021566504 -26-08-2019 14:00,9790917.62,0.016696648,0.016696648 -26-08-2019 15:00,9789945.731,0.018783729,0.018783729 -26-08-2019 16:00,9788973.343,0.030610522,0.030610522 -26-08-2019 17:00,9788000.456,0.054264107,0.054264107 -26-08-2019 18:00,9787027.071,0.054959801,0.054959801 -26-08-2019 19:00,9786053.189,0.048698558,0.048698558 -26-08-2019 20:00,9785078.809,0.040350234,0.040350234 -26-08-2019 21:00,9784103.933,0.028523441,0.028523441 -26-08-2019 22:00,9783128.562,0.013913874,0.013913874 -26-08-2019 23:00,9782152.694,0.004869856,0.004869856 -27-08-2019 0:00,9781176.332,0.002782775,0.002782775 -27-08-2019 1:00,9780199.475,0.000695694,0.000695694 -27-08-2019 2:00,9779222.124,0.000695694,0.000695694 -27-08-2019 3:00,9778244.28,0.001391387,0.001391387 -27-08-2019 4:00,9777265.943,0.004869856,0.004869856 -27-08-2019 5:00,9776287.113,0.038958846,0.038958846 -27-08-2019 6:00,9775307.791,0.064699512,0.064699512 -27-08-2019 7:00,9774327.978,0.050089945,0.050089945 -27-08-2019 8:00,9773347.674,0.059133963,0.059133963 -27-08-2019 9:00,9772366.88,0.042437315,0.042437315 -27-08-2019 10:00,9771385.595,0.036871765,0.036871765 -27-08-2019 11:00,9770403.821,0.031306216,0.031306216 -27-08-2019 12:00,9769421.558,0.025044973,0.025044973 -27-08-2019 13:00,9768438.807,0.021566504,0.021566504 -27-08-2019 14:00,9767455.568,0.016696648,0.016696648 -27-08-2019 15:00,9766471.841,0.018783729,0.018783729 -27-08-2019 16:00,9765487.627,0.030610522,0.030610522 -27-08-2019 17:00,9764502.927,0.054264107,0.054264107 -27-08-2019 18:00,9763517.741,0.054959801,0.054959801 -27-08-2019 19:00,9762532.07,0.048698558,0.048698558 -27-08-2019 20:00,9761545.914,0.040350234,0.040350234 -27-08-2019 21:00,9760559.273,0.028523441,0.028523441 -27-08-2019 22:00,9759572.148,0.013913874,0.013913874 -27-08-2019 23:00,9758584.54,0.004869856,0.004869856 -28-08-2019 0:00,9757596.45,0.002782775,0.002782775 -28-08-2019 1:00,9756607.877,0.000695694,0.000695694 -28-08-2019 2:00,9755618.822,0.000695694,0.000695694 -28-08-2019 3:00,9754629.285,0.001391387,0.001391387 -28-08-2019 4:00,9753639.268,0.004869856,0.004869856 -28-08-2019 5:00,9752648.771,0.038958846,0.038958846 -28-08-2019 6:00,9751657.793,0.064699512,0.064699512 -28-08-2019 7:00,9750666.337,0.050089945,0.050089945 -28-08-2019 8:00,9749674.401,0.059133963,0.059133963 -28-08-2019 9:00,9748681.988,0.042437315,0.042437315 -28-08-2019 10:00,9747689.096,0.036871765,0.036871765 -28-08-2019 11:00,9746695.728,0.031306216,0.031306216 -28-08-2019 12:00,9745701.882,0.025044973,0.025044973 -28-08-2019 13:00,9744707.561,0.021566504,0.021566504 -28-08-2019 14:00,9743712.763,0.016696648,0.016696648 -28-08-2019 15:00,9742717.491,0.018783729,0.018783729 -28-08-2019 16:00,9741721.743,0.030610522,0.030610522 -28-08-2019 17:00,9740725.522,0.054264107,0.054264107 -28-08-2019 18:00,9739728.827,0.054959801,0.054959801 -28-08-2019 19:00,9738731.658,0.048698558,0.048698558 -28-08-2019 20:00,9737734.017,0.040350234,0.040350234 -28-08-2019 21:00,9736735.904,0.028523441,0.028523441 -28-08-2019 22:00,9735737.32,0.013913874,0.013913874 -28-08-2019 23:00,9734738.264,0.004869856,0.004869856 -29-08-2019 0:00,9733738.737,0.002782775,0.002782775 -29-08-2019 1:00,9732738.741,0.000695694,0.000695694 -29-08-2019 2:00,9731738.275,0.000695694,0.000695694 -29-08-2019 3:00,9730737.34,0.001391387,0.001391387 -29-08-2019 4:00,9729735.936,0.004869856,0.004869856 -29-08-2019 5:00,9728734.064,0.038958846,0.038958846 -29-08-2019 6:00,9727731.725,0.064699512,0.064699512 -29-08-2019 7:00,9726728.919,0.050089945,0.050089945 -29-08-2019 8:00,9725725.646,0.059133963,0.059133963 -29-08-2019 9:00,9724721.908,0.042437315,0.042437315 -29-08-2019 10:00,9723717.703,0.036871765,0.036871765 -29-08-2019 11:00,9722713.034,0.031306216,0.031306216 -29-08-2019 12:00,9721707.901,0.025044973,0.025044973 -29-08-2019 13:00,9720702.304,0.021566504,0.021566504 -29-08-2019 14:00,9719696.243,0.016696648,0.016696648 -29-08-2019 15:00,9718689.719,0.018783729,0.018783729 -29-08-2019 16:00,9717682.734,0.030610522,0.030610522 -29-08-2019 17:00,9716675.286,0.054264107,0.054264107 -29-08-2019 18:00,9715667.377,0.054959801,0.054959801 -29-08-2019 19:00,9714659.007,0.048698558,0.048698558 -29-08-2019 20:00,9713650.177,0.040350234,0.040350234 -29-08-2019 21:00,9712640.887,0.028523441,0.028523441 -29-08-2019 22:00,9711631.138,0.013913874,0.013913874 -29-08-2019 23:00,9710620.93,0.004869856,0.004869856 -30-08-2019 0:00,9709610.265,0.002782775,0.002782775 -30-08-2019 1:00,9708599.141,0.000695694,0.000695694 -30-08-2019 2:00,9707587.56,0.000695694,0.000695694 -30-08-2019 3:00,9706575.523,0.001391387,0.001391387 -30-08-2019 4:00,9705563.029,0.004869856,0.004869856 -30-08-2019 5:00,9704550.08,0.038958846,0.038958846 -30-08-2019 6:00,9703536.676,0.064699512,0.064699512 -30-08-2019 7:00,9702522.817,0.050089945,0.050089945 -30-08-2019 8:00,9701508.505,0.059133963,0.059133963 -30-08-2019 9:00,9700493.739,0.042437315,0.042437315 -30-08-2019 10:00,9699478.519,0.036871765,0.036871765 -30-08-2019 11:00,9698462.848,0.031306216,0.031306216 -30-08-2019 12:00,9697446.724,0.025044973,0.025044973 -30-08-2019 13:00,9696430.149,0.021566504,0.021566504 -30-08-2019 14:00,9695413.123,0.016696648,0.016696648 -30-08-2019 15:00,9694395.647,0.018783729,0.018783729 -30-08-2019 16:00,9693377.721,0.030610522,0.030610522 -30-08-2019 17:00,9692359.346,0.054264107,0.054264107 -30-08-2019 18:00,9691340.521,0.054959801,0.054959801 -30-08-2019 19:00,9690321.249,0.048698558,0.048698558 -30-08-2019 20:00,9689301.529,0.040350234,0.040350234 -30-08-2019 21:00,9688281.361,0.028523441,0.028523441 -30-08-2019 22:00,9687260.747,0.013913874,0.013913874 -30-08-2019 23:00,9686239.687,0.004869856,0.004869856 -31-08-2019 0:00,9685218.181,0.002782775,0.002782775 -31-08-2019 1:00,9684196.23,0.000695694,0.000695694 -31-08-2019 2:00,9683173.834,0.000695694,0.000695694 -31-08-2019 3:00,9682150.995,0.001391387,0.001391387 -31-08-2019 4:00,9681127.711,0.004869856,0.004869856 -31-08-2019 5:00,9680103.985,0.038958846,0.038958846 -31-08-2019 6:00,9679079.816,0.064699512,0.064699512 -31-08-2019 7:00,9678055.206,0.050089945,0.050089945 -31-08-2019 8:00,9677030.153,0.059133963,0.059133963 -31-08-2019 9:00,9676004.66,0.042437315,0.042437315 -31-08-2019 10:00,9674978.727,0.036871765,0.036871765 -31-08-2019 11:00,9673952.354,0.031306216,0.031306216 -31-08-2019 12:00,9672925.541,0.025044973,0.025044973 -31-08-2019 13:00,9671898.289,0.021566504,0.021566504 -31-08-2019 14:00,9670870.6,0.016696648,0.016696648 -31-08-2019 15:00,9669842.472,0.018783729,0.018783729 -31-08-2019 16:00,9668813.908,0.030610522,0.030610522 -31-08-2019 17:00,9667784.906,0.054264107,0.054264107 -31-08-2019 18:00,9666755.469,0.054959801,0.054959801 -31-08-2019 19:00,9665725.596,0.048698558,0.048698558 -31-08-2019 20:00,9664695.288,0.040350234,0.040350234 -31-08-2019 21:00,9663664.545,0.028523441,0.028523441 -31-08-2019 22:00,9662633.368,0.013913874,0.013913874 -31-08-2019 23:00,9661601.758,0.004869856,0.004869856 -01-09-2019 0:00,9660569.715,0.002782775,0.002782775 -01-09-2019 1:00,9659537.239,0.000695694,0.000695694 -01-09-2019 2:00,9658504.331,0.000695694,0.000695694 -01-09-2019 3:00,9657470.992,0.001391387,0.001391387 -01-09-2019 4:00,9656437.223,0.004869856,0.004869856 -01-09-2019 5:00,9655403.022,0.038958846,0.038958846 -01-09-2019 6:00,9654368.392,0.064699512,0.064699512 -01-09-2019 7:00,9653333.333,0.050089945,0.050089945 -01-09-2019 8:00,9652297.845,0.059133963,0.059133963 -01-09-2019 9:00,9651261.929,0.042437315,0.042437315 -01-09-2019 10:00,9650225.586,0.036871765,0.036871765 -01-09-2019 11:00,9649188.815,0.031306216,0.031306216 -01-09-2019 12:00,9648151.617,0.025044973,0.025044973 -01-09-2019 13:00,9647113.994,0.021566504,0.021566504 -01-09-2019 14:00,9646075.945,0.016696648,0.016696648 -01-09-2019 15:00,9645037.471,0.018783729,0.018783729 -01-09-2019 16:00,9643998.573,0.030610522,0.030610522 -01-09-2019 17:00,9642959.25,0.054264107,0.054264107 -01-09-2019 18:00,9641919.505,0.054959801,0.054959801 -01-09-2019 19:00,9640879.336,0.048698558,0.048698558 -01-09-2019 20:00,9639838.745,0.040350234,0.040350234 -01-09-2019 21:00,9638797.733,0.028523441,0.028523441 -01-09-2019 22:00,9637756.299,0.013913874,0.013913874 -01-09-2019 23:00,9636714.444,0.004869856,0.004869856 -02-09-2019 0:00,9635672.169,0.002782775,0.002782775 -02-09-2019 1:00,9634629.475,0.000695694,0.000695694 -02-09-2019 2:00,9633586.361,0.000695694,0.000695694 -02-09-2019 3:00,9632542.829,0.001391387,0.001391387 -02-09-2019 4:00,9631498.879,0.004869856,0.004869856 -02-09-2019 5:00,9630454.512,0.038958846,0.038958846 -02-09-2019 6:00,9629409.727,0.064699512,0.064699512 -02-09-2019 7:00,9628364.526,0.050089945,0.050089945 -02-09-2019 8:00,9627318.91,0.059133963,0.059133963 -02-09-2019 9:00,9626272.878,0.042437315,0.042437315 -02-09-2019 10:00,9625226.431,0.036871765,0.036871765 -02-09-2019 11:00,9624179.57,0.031306216,0.031306216 -02-09-2019 12:00,9623132.295,0.025044973,0.025044973 -02-09-2019 13:00,9622084.607,0.021566504,0.021566504 -02-09-2019 14:00,9621036.506,0.016696648,0.016696648 -02-09-2019 15:00,9619987.993,0.018783729,0.018783729 -02-09-2019 16:00,9618939.069,0.030610522,0.030610522 -02-09-2019 17:00,9617889.734,0.054264107,0.054264107 -02-09-2019 18:00,9616839.988,0.054959801,0.054959801 -02-09-2019 19:00,9615789.832,0.048698558,0.048698558 -02-09-2019 20:00,9614739.267,0.040350234,0.040350234 -02-09-2019 21:00,9613688.293,0.028523441,0.028523441 -02-09-2019 22:00,9612636.91,0.013913874,0.013913874 -02-09-2019 23:00,9611585.12,0.004869856,0.004869856 -03-09-2019 0:00,9610532.923,0.002782775,0.002782775 -03-09-2019 1:00,9609480.319,0.000695694,0.000695694 -03-09-2019 2:00,9608427.308,0.000695694,0.000695694 -03-09-2019 3:00,9607373.893,0.001391387,0.001391387 -03-09-2019 4:00,9606320.072,0.004869856,0.004869856 -03-09-2019 5:00,9605265.846,0.038958846,0.038958846 -03-09-2019 6:00,9604211.217,0.064699512,0.064699512 -03-09-2019 7:00,9603156.184,0.050089945,0.050089945 -03-09-2019 8:00,9602100.748,0.059133963,0.059133963 -03-09-2019 9:00,9601044.91,0.042437315,0.042437315 -03-09-2019 10:00,9599988.67,0.036871765,0.036871765 -03-09-2019 11:00,9598932.029,0.031306216,0.031306216 -03-09-2019 12:00,9597874.987,0.025044973,0.025044973 -03-09-2019 13:00,9596817.544,0.021566504,0.021566504 -03-09-2019 14:00,9595759.703,0.016696648,0.016696648 -03-09-2019 15:00,9594701.462,0.018783729,0.018783729 -03-09-2019 16:00,9593642.822,0.030610522,0.030610522 -03-09-2019 17:00,9592583.785,0.054264107,0.054264107 -03-09-2019 18:00,9591524.35,0.054959801,0.054959801 -03-09-2019 19:00,9590464.518,0.048698558,0.048698558 -03-09-2019 20:00,9589404.29,0.040350234,0.040350234 -03-09-2019 21:00,9588343.666,0.028523441,0.028523441 -03-09-2019 22:00,9587282.646,0.013913874,0.013913874 -03-09-2019 23:00,9586221.232,0.004869856,0.004869856 -04-09-2019 0:00,9585159.424,0.002782775,0.002782775 -04-09-2019 1:00,9584097.222,0.000695694,0.000695694 -04-09-2019 2:00,9583034.627,0.000695694,0.000695694 -04-09-2019 3:00,9581971.64,0.001391387,0.001391387 -04-09-2019 4:00,9580908.26,0.004869856,0.004869856 -04-09-2019 5:00,9579844.489,0.038958846,0.038958846 -04-09-2019 6:00,9578780.327,0.064699512,0.064699512 -04-09-2019 7:00,9577715.775,0.050089945,0.050089945 -04-09-2019 8:00,9576650.833,0.059133963,0.059133963 -04-09-2019 9:00,9575585.502,0.042437315,0.042437315 -04-09-2019 10:00,9574519.781,0.036871765,0.036871765 -04-09-2019 11:00,9573453.673,0.031306216,0.031306216 -04-09-2019 12:00,9572387.177,0.025044973,0.025044973 -04-09-2019 13:00,9571320.294,0.021566504,0.021566504 -04-09-2019 14:00,9570253.025,0.016696648,0.016696648 -04-09-2019 15:00,9569185.37,0.018783729,0.018783729 -04-09-2019 16:00,9568117.329,0.030610522,0.030610522 -04-09-2019 17:00,9567048.903,0.054264107,0.054264107 -04-09-2019 18:00,9565980.093,0.054959801,0.054959801 -04-09-2019 19:00,9564910.899,0.048698558,0.048698558 -04-09-2019 20:00,9563841.322,0.040350234,0.040350234 -04-09-2019 21:00,9562771.362,0.028523441,0.028523441 -04-09-2019 22:00,9561701.02,0.013913874,0.013913874 -04-09-2019 23:00,9560630.297,0.004869856,0.004869856 -05-09-2019 0:00,9559559.192,0.002782775,0.002782775 -05-09-2019 1:00,9558487.707,0.000695694,0.000695694 -05-09-2019 2:00,9557415.843,0.000695694,0.000695694 -05-09-2019 3:00,9556343.598,0.001391387,0.001391387 -05-09-2019 4:00,9555270.975,0.004869856,0.004869856 -05-09-2019 5:00,9554197.974,0.038958846,0.038958846 -05-09-2019 6:00,9553124.595,0.064699512,0.064699512 -05-09-2019 7:00,9552050.839,0.050089945,0.050089945 -05-09-2019 8:00,9550976.706,0.059133963,0.059133963 -05-09-2019 9:00,9549902.197,0.042437315,0.042437315 -05-09-2019 10:00,9548827.313,0.036871765,0.036871765 -05-09-2019 11:00,9547752.053,0.031306216,0.031306216 -05-09-2019 12:00,9546676.42,0.025044973,0.025044973 -05-09-2019 13:00,9545600.412,0.021566504,0.021566504 -05-09-2019 14:00,9544524.031,0.016696648,0.016696648 -05-09-2019 15:00,9543447.277,0.018783729,0.018783729 -05-09-2019 16:00,9542370.152,0.030610522,0.030610522 -05-09-2019 17:00,9541292.654,0.054264107,0.054264107 -05-09-2019 18:00,9540214.786,0.054959801,0.054959801 -05-09-2019 19:00,9539136.547,0.048698558,0.048698558 -05-09-2019 20:00,9538057.938,0.040350234,0.040350234 -05-09-2019 21:00,9536978.959,0.028523441,0.028523441 -05-09-2019 22:00,9535899.612,0.013913874,0.013913874 -05-09-2019 23:00,9534819.897,0.004869856,0.004869856 -06-09-2019 0:00,9533739.813,0.002782775,0.002782775 -06-09-2019 1:00,9532659.363,0.000695694,0.000695694 -06-09-2019 2:00,9531578.546,0.000695694,0.000695694 -06-09-2019 3:00,9530497.362,0.001391387,0.001391387 -06-09-2019 4:00,9529415.814,0.004869856,0.004869856 -06-09-2019 5:00,9528333.9,0.038958846,0.038958846 -06-09-2019 6:00,9527251.622,0.064699512,0.064699512 -06-09-2019 7:00,9526168.98,0.050089945,0.050089945 -06-09-2019 8:00,9525085.975,0.059133963,0.059133963 -06-09-2019 9:00,9524002.607,0.042437315,0.042437315 -06-09-2019 10:00,9522918.876,0.036871765,0.036871765 -06-09-2019 11:00,9521834.785,0.031306216,0.031306216 -06-09-2019 12:00,9520750.332,0.025044973,0.025044973 -06-09-2019 13:00,9519665.518,0.021566504,0.021566504 -06-09-2019 14:00,9518580.345,0.016696648,0.016696648 -06-09-2019 15:00,9517494.812,0.018783729,0.018783729 -06-09-2019 16:00,9516408.921,0.030610522,0.030610522 -06-09-2019 17:00,9515322.671,0.054264107,0.054264107 -06-09-2019 18:00,9514236.063,0.054959801,0.054959801 -06-09-2019 19:00,9513149.099,0.048698558,0.048698558 -06-09-2019 20:00,9512061.777,0.040350234,0.040350234 -06-09-2019 21:00,9510974.1,0.028523441,0.028523441 -06-09-2019 22:00,9509886.067,0.013913874,0.013913874 -06-09-2019 23:00,9508797.68,0.004869856,0.004869856 -07-09-2019 0:00,9507708.938,0.002782775,0.002782775 -07-09-2019 1:00,9506619.842,0.000695694,0.000695694 -07-09-2019 2:00,9505530.393,0.000695694,0.000695694 -07-09-2019 3:00,9504440.591,0.001391387,0.001391387 -07-09-2019 4:00,9503350.437,0.004869856,0.004869856 -07-09-2019 5:00,9502259.931,0.038958846,0.038958846 -07-09-2019 6:00,9501169.075,0.064699512,0.064699512 -07-09-2019 7:00,9500077.868,0.050089945,0.050089945 -07-09-2019 8:00,9498986.311,0.059133963,0.059133963 -07-09-2019 9:00,9497894.405,0.042437315,0.042437315 -07-09-2019 10:00,9496802.15,0.036871765,0.036871765 -07-09-2019 11:00,9495709.547,0.031306216,0.031306216 -07-09-2019 12:00,9494616.597,0.025044973,0.025044973 -07-09-2019 13:00,9493523.299,0.021566504,0.021566504 -07-09-2019 14:00,9492429.655,0.016696648,0.016696648 -07-09-2019 15:00,9491335.665,0.018783729,0.018783729 -07-09-2019 16:00,9490241.329,0.030610522,0.030610522 -07-09-2019 17:00,9489146.649,0.054264107,0.054264107 -07-09-2019 18:00,9488051.624,0.054959801,0.054959801 -07-09-2019 19:00,9486956.256,0.048698558,0.048698558 -07-09-2019 20:00,9485860.544,0.040350234,0.040350234 -07-09-2019 21:00,9484764.49,0.028523441,0.028523441 -07-09-2019 22:00,9483668.095,0.013913874,0.013913874 -07-09-2019 23:00,9482571.357,0.004869856,0.004869856 -08-09-2019 0:00,9481474.279,0.002782775,0.002782775 -08-09-2019 1:00,9480376.86,0.000695694,0.000695694 -08-09-2019 2:00,9479279.102,0.000695694,0.000695694 -08-09-2019 3:00,9478181.005,0.001391387,0.001391387 -08-09-2019 4:00,9477082.569,0.004869856,0.004869856 -08-09-2019 5:00,9475983.794,0.038958846,0.038958846 -08-09-2019 6:00,9474884.683,0.064699512,0.064699512 -08-09-2019 7:00,9473785.234,0.050089945,0.050089945 -08-09-2019 8:00,9472685.45,0.059133963,0.059133963 -08-09-2019 9:00,9471585.329,0.042437315,0.042437315 -08-09-2019 10:00,9470484.873,0.036871765,0.036871765 -08-09-2019 11:00,9469384.083,0.031306216,0.031306216 -08-09-2019 12:00,9468282.958,0.025044973,0.025044973 -08-09-2019 13:00,9467181.5,0.021566504,0.021566504 -08-09-2019 14:00,9466079.709,0.016696648,0.016696648 -08-09-2019 15:00,9464977.585,0.018783729,0.018783729 -08-09-2019 16:00,9463875.13,0.030610522,0.030610522 -08-09-2019 17:00,9462772.344,0.054264107,0.054264107 -08-09-2019 18:00,9461669.227,0.054959801,0.054959801 -08-09-2019 19:00,9460565.779,0.048698558,0.048698558 -08-09-2019 20:00,9459462.002,0.040350234,0.040350234 -08-09-2019 21:00,9458357.897,0.028523441,0.028523441 -08-09-2019 22:00,9457253.462,0.013913874,0.013913874 -08-09-2019 23:00,9456148.7,0.004869856,0.004869856 -09-09-2019 0:00,9455043.611,0.002782775,0.002782775 -09-09-2019 1:00,9453938.195,0.000695694,0.000695694 -09-09-2019 2:00,9452832.453,0.000695694,0.000695694 -09-09-2019 3:00,9451726.385,0.001391387,0.001391387 -09-09-2019 4:00,9450619.992,0.004869856,0.004869856 -09-09-2019 5:00,9449513.275,0.038958846,0.038958846 -09-09-2019 6:00,9448406.234,0.064699512,0.064699512 -09-09-2019 7:00,9447298.87,0.050089945,0.050089945 -09-09-2019 8:00,9446191.183,0.059133963,0.059133963 -09-09-2019 9:00,9445083.174,0.042437315,0.042437315 -09-09-2019 10:00,9443974.843,0.036871765,0.036871765 -09-09-2019 11:00,9442866.191,0.031306216,0.031306216 -09-09-2019 12:00,9441757.219,0.025044973,0.025044973 -09-09-2019 13:00,9440647.927,0.021566504,0.021566504 -09-09-2019 14:00,9439538.316,0.016696648,0.016696648 -09-09-2019 15:00,9438428.386,0.018783729,0.018783729 -09-09-2019 16:00,9437318.137,0.030610522,0.030610522 -09-09-2019 17:00,9436207.571,0.054264107,0.054264107 -09-09-2019 18:00,9435096.689,0.054959801,0.054959801 -09-09-2019 19:00,9433985.489,0.048698558,0.048698558 -09-09-2019 20:00,9432873.974,0.040350234,0.040350234 -09-09-2019 21:00,9431762.144,0.028523441,0.028523441 -09-09-2019 22:00,9430649.999,0.013913874,0.013913874 -09-09-2019 23:00,9429537.539,0.004869856,0.004869856 -10-09-2019 0:00,9428424.766,0.002782775,0.002782775 -10-09-2019 1:00,9427311.68,0.000695694,0.000695694 -10-09-2019 2:00,9426198.282,0.000695694,0.000695694 -10-09-2019 3:00,9425084.572,0.001391387,0.001391387 -10-09-2019 4:00,9423970.55,0.004869856,0.004869856 -10-09-2019 5:00,9422856.218,0.038958846,0.038958846 -10-09-2019 6:00,9421741.575,0.064699512,0.064699512 -10-09-2019 7:00,9420626.624,0.050089945,0.050089945 -10-09-2019 8:00,9419511.363,0.059133963,0.059133963 -10-09-2019 9:00,9418395.793,0.042437315,0.042437315 -10-09-2019 10:00,9417279.916,0.036871765,0.036871765 -10-09-2019 11:00,9416163.731,0.031306216,0.031306216 -10-09-2019 12:00,9415047.24,0.025044973,0.025044973 -10-09-2019 13:00,9413930.443,0.021566504,0.021566504 -10-09-2019 14:00,9412813.34,0.016696648,0.016696648 -10-09-2019 15:00,9411695.932,0.018783729,0.018783729 -10-09-2019 16:00,9410578.22,0.030610522,0.030610522 -10-09-2019 17:00,9409460.204,0.054264107,0.054264107 -10-09-2019 18:00,9408341.884,0.054959801,0.054959801 -10-09-2019 19:00,9407223.262,0.048698558,0.048698558 -10-09-2019 20:00,9406104.338,0.040350234,0.040350234 -10-09-2019 21:00,9404985.112,0.028523441,0.028523441 -10-09-2019 22:00,9403865.586,0.013913874,0.013913874 -10-09-2019 23:00,9402745.759,0.004869856,0.004869856 -11-09-2019 0:00,9401625.632,0.002782775,0.002782775 -11-09-2019 1:00,9400505.206,0.000695694,0.000695694 -11-09-2019 2:00,9399384.481,0.000695694,0.000695694 -11-09-2019 3:00,9398263.459,0.001391387,0.001391387 -11-09-2019 4:00,9397142.138,0.004869856,0.004869856 -11-09-2019 5:00,9396020.521,0.039090878,0.039090878 -11-09-2019 6:00,9394898.608,0.064699512,0.064699512 -11-09-2019 7:00,9393776.398,0.050089945,0.050089945 -11-09-2019 8:00,9392653.894,0.059133963,0.059133963 -11-09-2019 9:00,9391531.095,0.042751794,0.042751794 -11-09-2019 10:00,9390408.002,0.036871765,0.036871765 -11-09-2019 11:00,9389284.615,0.031306216,0.031306216 -11-09-2019 12:00,9388160.936,0.025133763,0.025133763 -11-09-2019 13:00,9387036.964,0.021566504,0.021566504 -11-09-2019 14:00,9385912.701,0.016696648,0.016696648 -11-09-2019 15:00,9384788.146,0.018783729,0.018783729 -11-09-2019 16:00,9383663.301,0.030610522,0.030610522 -11-09-2019 17:00,9382538.166,0.054264107,0.054264107 -11-09-2019 18:00,9381412.741,0.054959801,0.054959801 -11-09-2019 19:00,9380287.028,0.048698558,0.048698558 -11-09-2019 20:00,9379161.027,0.040350234,0.040350234 -11-09-2019 21:00,9378034.737,0.028523441,0.028523441 -11-09-2019 22:00,9376908.161,0.013913874,0.013913874 -11-09-2019 23:00,9375781.298,0.004869856,0.004869856 -12-09-2019 0:00,9374654.149,0.002782775,0.002782775 -12-09-2019 1:00,9373526.715,0.000695694,0.000695694 -12-09-2019 2:00,9372398.996,0.000695694,0.000695694 -12-09-2019 3:00,9371270.993,0.001391387,0.001391387 -12-09-2019 4:00,9370142.707,0.004869856,0.004869856 -12-09-2019 5:00,9369014.137,0.038958846,0.038958846 -12-09-2019 6:00,9367885.285,0.064699512,0.064699512 -12-09-2019 7:00,9366756.151,0.050089945,0.050089945 -12-09-2019 8:00,9365626.736,0.059133963,0.059133963 -12-09-2019 9:00,9364497.04,0.042437315,0.042437315 -12-09-2019 10:00,9363367.064,0.036871765,0.036871765 -12-09-2019 11:00,9362236.808,0.031306216,0.031306216 -12-09-2019 12:00,9361106.273,0.025044973,0.025044973 -12-09-2019 13:00,9359975.46,0.021566504,0.021566504 -12-09-2019 14:00,9358844.369,0.016696648,0.016696648 -12-09-2019 15:00,9357713.001,0.018783729,0.018783729 -12-09-2019 16:00,9356581.357,0.030610522,0.030610522 -12-09-2019 17:00,9355449.436,0.054264107,0.054264107 -12-09-2019 18:00,9354317.24,0.054959801,0.054959801 -12-09-2019 19:00,9353184.769,0.048698558,0.048698558 -12-09-2019 20:00,9352052.024,0.040350234,0.040350234 -12-09-2019 21:00,9350919.005,0.028523441,0.028523441 -12-09-2019 22:00,9349785.712,0.013913874,0.013913874 -12-09-2019 23:00,9348652.148,0.004869856,0.004869856 -13-09-2019 0:00,9347518.311,0.002782775,0.002782775 -13-09-2019 1:00,9346384.203,0.000695694,0.000695694 -13-09-2019 2:00,9345249.824,0.000695694,0.000695694 -13-09-2019 3:00,9344115.175,0.001391387,0.001391387 -13-09-2019 4:00,9342980.256,0.004869856,0.004869856 -13-09-2019 5:00,9341845.068,0.038958846,0.038958846 -13-09-2019 6:00,9340709.612,0.064699512,0.064699512 -13-09-2019 7:00,9339573.888,0.050089945,0.050089945 -13-09-2019 8:00,9338437.896,0.059133963,0.059133963 -13-09-2019 9:00,9337301.638,0.042437315,0.042437315 -13-09-2019 10:00,9336165.114,0.036871765,0.036871765 -13-09-2019 11:00,9335028.324,0.031306216,0.031306216 -13-09-2019 12:00,9333891.269,0.025044973,0.025044973 -13-09-2019 13:00,9332753.95,0.021566504,0.021566504 -13-09-2019 14:00,9331616.367,0.016696648,0.016696648 -13-09-2019 15:00,9330478.521,0.018783729,0.018783729 -13-09-2019 16:00,9329340.412,0.030610522,0.030610522 -13-09-2019 17:00,9328202.041,0.054264107,0.054264107 -13-09-2019 18:00,9327063.409,0.054959801,0.054959801 -13-09-2019 19:00,9325924.516,0.048698558,0.048698558 -13-09-2019 20:00,9324785.362,0.040350234,0.040350234 -13-09-2019 21:00,9323645.949,0.028523441,0.028523441 -13-09-2019 22:00,9322506.277,0.013913874,0.013913874 -13-09-2019 23:00,9321366.346,0.004869856,0.004869856 -14-09-2019 0:00,9320226.157,0.002782775,0.002782775 -14-09-2019 1:00,9319085.711,0.000695694,0.000695694 -14-09-2019 2:00,9317945.009,0.000695694,0.000695694 -14-09-2019 3:00,9316804.05,0.001391387,0.001391387 -14-09-2019 4:00,9315662.835,0.004869856,0.004869856 -14-09-2019 5:00,9314521.365,0.038958846,0.038958846 -14-09-2019 6:00,9313379.641,0.064699512,0.064699512 -14-09-2019 7:00,9312237.664,0.050089945,0.050089945 -14-09-2019 8:00,9311095.433,0.059133963,0.059133963 -14-09-2019 9:00,9309952.949,0.042437315,0.042437315 -14-09-2019 10:00,9308810.213,0.036871765,0.036871765 -14-09-2019 11:00,9307667.226,0.031306216,0.031306216 -14-09-2019 12:00,9306523.988,0.025044973,0.025044973 -14-09-2019 13:00,9305380.5,0.021566504,0.021566504 -14-09-2019 14:00,9304236.761,0.016696648,0.016696648 -14-09-2019 15:00,9303092.774,0.018783729,0.018783729 -14-09-2019 16:00,9301948.538,0.030610522,0.030610522 -14-09-2019 17:00,9300804.055,0.054264107,0.054264107 -14-09-2019 18:00,9299659.324,0.054959801,0.054959801 -14-09-2019 19:00,9298514.346,0.048698558,0.048698558 -14-09-2019 20:00,9297369.122,0.040350234,0.040350234 -14-09-2019 21:00,9296223.652,0.028523441,0.028523441 -14-09-2019 22:00,9295077.938,0.013913874,0.013913874 -14-09-2019 23:00,9293931.979,0.004869856,0.004869856 -15-09-2019 0:00,9292785.776,0.002782775,0.002782775 -15-09-2019 1:00,9291639.33,0.000695694,0.000695694 -15-09-2019 2:00,9290492.641,0.000695694,0.000695694 -15-09-2019 3:00,9289345.711,0.001391387,0.001391387 -15-09-2019 4:00,9288198.538,0.004869856,0.004869856 -15-09-2019 5:00,9287051.125,0.038958846,0.038958846 -15-09-2019 6:00,9285903.472,0.064699512,0.064699512 -15-09-2019 7:00,9284755.579,0.050089945,0.050089945 -15-09-2019 8:00,9283607.447,0.059133963,0.059133963 -15-09-2019 9:00,9282459.076,0.042437315,0.042437315 -15-09-2019 10:00,9281310.468,0.036871765,0.036871765 -15-09-2019 11:00,9280161.622,0.031306216,0.031306216 -15-09-2019 12:00,9279012.539,0.025044973,0.025044973 -15-09-2019 13:00,9277863.22,0.021566504,0.021566504 -15-09-2019 14:00,9276713.666,0.016696648,0.016696648 -15-09-2019 15:00,9275563.877,0.018783729,0.018783729 -15-09-2019 16:00,9274413.853,0.030610522,0.030610522 -15-09-2019 17:00,9273263.596,0.054264107,0.054264107 -15-09-2019 18:00,9272113.105,0.054959801,0.054959801 -15-09-2019 19:00,9270962.382,0.048698558,0.048698558 -15-09-2019 20:00,9269811.427,0.040350234,0.040350234 -15-09-2019 21:00,9268660.24,0.028523441,0.028523441 -15-09-2019 22:00,9267508.823,0.013913874,0.013913874 -15-09-2019 23:00,9266357.175,0.004869856,0.004869856 -16-09-2019 0:00,9265205.298,0.002782775,0.002782775 -16-09-2019 1:00,9264053.192,0.000695694,0.000695694 -16-09-2019 2:00,9262900.857,0.000695694,0.000695694 -16-09-2019 3:00,9261748.294,0.001391387,0.001391387 -16-09-2019 4:00,9260595.504,0.004869856,0.004869856 -16-09-2019 5:00,9259442.488,0.038958846,0.038958846 -16-09-2019 6:00,9258289.245,0.064699512,0.064699512 -16-09-2019 7:00,9257135.777,0.050089945,0.050089945 -16-09-2019 8:00,9255982.084,0.059133963,0.059133963 -16-09-2019 9:00,9254828.167,0.042437315,0.042437315 -16-09-2019 10:00,9253674.026,0.036871765,0.036871765 -16-09-2019 11:00,9252519.662,0.031306216,0.031306216 -16-09-2019 12:00,9251365.075,0.025044973,0.025044973 -16-09-2019 13:00,9250210.267,0.021566504,0.021566504 -16-09-2019 14:00,9249055.237,0.016696648,0.016696648 -16-09-2019 15:00,9247899.986,0.018783729,0.018783729 -16-09-2019 16:00,9246744.515,0.030610522,0.030610522 -16-09-2019 17:00,9245588.825,0.054264107,0.054264107 -16-09-2019 18:00,9244432.916,0.054959801,0.054959801 -16-09-2019 19:00,9243276.788,0.048698558,0.048698558 -16-09-2019 20:00,9242120.443,0.040350234,0.040350234 -16-09-2019 21:00,9240963.881,0.028523441,0.028523441 -16-09-2019 22:00,9239807.102,0.013913874,0.013913874 -16-09-2019 23:00,9238650.106,0.004869856,0.004869856 -17-09-2019 0:00,9237492.896,0.002782775,0.002782775 -17-09-2019 1:00,9236335.471,0.000695694,0.000695694 -17-09-2019 2:00,9235177.831,0.000695694,0.000695694 -17-09-2019 3:00,9234019.978,0.001391387,0.001391387 -17-09-2019 4:00,9232861.913,0.004869856,0.004869856 -17-09-2019 5:00,9231703.634,0.039055034,0.039055034 -17-09-2019 6:00,9230545.144,0.064699512,0.064699512 -17-09-2019 7:00,9229386.443,0.050089945,0.050089945 -17-09-2019 8:00,9228227.531,0.059133963,0.059133963 -17-09-2019 9:00,9227068.409,0.042780561,0.042780561 -17-09-2019 10:00,9225909.077,0.036871765,0.036871765 -17-09-2019 11:00,9224749.537,0.031306216,0.031306216 -17-09-2019 12:00,9223589.788,0.025044973,0.025044973 -17-09-2019 13:00,9222429.832,0.021566504,0.021566504 -17-09-2019 14:00,9221269.669,0.016696648,0.016696648 -17-09-2019 15:00,9220109.299,0.018783729,0.018783729 -17-09-2019 16:00,9218948.724,0.030610522,0.030610522 -17-09-2019 17:00,9217787.943,0.054264107,0.054264107 -17-09-2019 18:00,9216626.958,0.054959801,0.054959801 -17-09-2019 19:00,9215465.769,0.048698558,0.048698558 -17-09-2019 20:00,9214304.376,0.040350234,0.040350234 -17-09-2019 21:00,9213142.78,0.028523441,0.028523441 -17-09-2019 22:00,9211980.982,0.013913874,0.013913874 -17-09-2019 23:00,9210818.983,0.004869856,0.004869856 -18-09-2019 0:00,9209656.782,0.002782775,0.002782775 -18-09-2019 1:00,9208494.381,0.000695694,0.000695694 -18-09-2019 2:00,9207331.78,0.000695694,0.000695694 -18-09-2019 3:00,9206168.98,0.001391387,0.001391387 -18-09-2019 4:00,9205005.981,0.004869856,0.004869856 -18-09-2019 5:00,9203842.784,0.03975662,0.03975662 -18-09-2019 6:00,9202679.389,0.064699512,0.064699512 -18-09-2019 7:00,9201515.798,0.050089945,0.050089945 -18-09-2019 8:00,9200352.01,0.059133963,0.059133963 -18-09-2019 9:00,9199188.027,0.042841044,0.042841044 -18-09-2019 10:00,9198023.849,0.036871765,0.036871765 -18-09-2019 11:00,9196859.476,0.031306216,0.031306216 -18-09-2019 12:00,9195694.909,0.025044973,0.025044973 -18-09-2019 13:00,9194530.149,0.021566504,0.021566504 -18-09-2019 14:00,9193365.196,0.016696648,0.016696648 -18-09-2019 15:00,9192200.052,0.018783729,0.018783729 -18-09-2019 16:00,9191034.715,0.030610522,0.030610522 -18-09-2019 17:00,9189869.188,0.054264107,0.054264107 -18-09-2019 18:00,9188703.471,0.055013599,0.055013599 -18-09-2019 19:00,9187537.564,0.048969052,0.048969052 -18-09-2019 20:00,9186371.468,0.040350234,0.040350234 -18-09-2019 21:00,9185205.183,0.028640888,0.028640888 -18-09-2019 22:00,9184038.71,0.013913874,0.013913874 -18-09-2019 23:00,9182872.051,0.004869856,0.004869856 -19-09-2019 0:00,9181705.204,0.002782775,0.002782775 -19-09-2019 1:00,9180538.172,0.000695694,0.000695694 -19-09-2019 2:00,9179370.953,0.000695694,0.000695694 -19-09-2019 3:00,9178203.551,0.001391387,0.001391387 -19-09-2019 4:00,9177035.963,0.004869856,0.004869856 -19-09-2019 5:00,9175868.192,0.039876325,0.039876325 -19-09-2019 6:00,9174700.238,0.065467646,0.065467646 -19-09-2019 7:00,9173532.102,0.050089945,0.050089945 -19-09-2019 8:00,9172363.784,0.059503818,0.059503818 -19-09-2019 9:00,9171195.284,0.043786726,0.043786726 -19-09-2019 10:00,9170026.604,0.037320715,0.037320715 -19-09-2019 11:00,9168857.743,0.031617818,0.031617818 -19-09-2019 12:00,9167688.703,0.025653301,0.025653301 -19-09-2019 13:00,9166519.485,0.021566504,0.021566504 -19-09-2019 14:00,9165350.088,0.016696648,0.016696648 -19-09-2019 15:00,9164180.513,0.018783729,0.018783729 -19-09-2019 16:00,9163010.761,0.030610522,0.030610522 -19-09-2019 17:00,9161840.833,0.054264107,0.054264107 -19-09-2019 18:00,9160670.729,0.055236059,0.055236059 -19-09-2019 19:00,9159500.45,0.049086849,0.049086849 -19-09-2019 20:00,9158329.996,0.040826931,0.040826931 -19-09-2019 21:00,9157159.368,0.028769302,0.028769302 -19-09-2019 22:00,9155988.566,0.013913874,0.013913874 -19-09-2019 23:00,9154817.592,0.004869856,0.004869856 -20-09-2019 0:00,9153646.445,0.002782775,0.002782775 -20-09-2019 1:00,9152475.127,0.000695694,0.000695694 -20-09-2019 2:00,9151303.638,0.000695694,0.000695694 -20-09-2019 3:00,9150131.978,0.001391387,0.001391387 -20-09-2019 4:00,9148960.148,0.004869856,0.004869856 -20-09-2019 5:00,9147788.15,0.040339317,0.040339317 -20-09-2019 6:00,9146615.982,0.068239232,0.068239232 -20-09-2019 7:00,9145443.647,0.050812481,0.050812481 -20-09-2019 8:00,9144271.144,0.0608469,0.0608469 -20-09-2019 9:00,9143098.474,0.043952064,0.043952064 -20-09-2019 10:00,9141925.638,0.037582818,0.037582818 -20-09-2019 11:00,9140752.637,0.031845043,0.031845043 -20-09-2019 12:00,9139579.47,0.026065491,0.026065491 -20-09-2019 13:00,9138406.139,0.021566504,0.021566504 -20-09-2019 14:00,9137232.644,0.016696648,0.016696648 -20-09-2019 15:00,9136058.986,0.018783729,0.018783729 -20-09-2019 16:00,9134885.166,0.030610522,0.030610522 -20-09-2019 17:00,9133711.183,0.054264107,0.054264107 -20-09-2019 18:00,9132537.039,0.054959801,0.054959801 -20-09-2019 19:00,9131362.734,0.048890759,0.048890759 -20-09-2019 20:00,9130188.269,0.0404129,0.0404129 -20-09-2019 21:00,9129013.645,0.028750544,0.028750544 -20-09-2019 22:00,9127838.861,0.013913874,0.013913874 -20-09-2019 23:00,9126663.919,0.004869856,0.004869856 -21-09-2019 0:00,9125488.82,0.002782775,0.002782775 -21-09-2019 1:00,9124313.563,0.000695694,0.000695694 -21-09-2019 2:00,9123138.15,0.000695694,0.000695694 -21-09-2019 3:00,9121962.58,0.001391387,0.001391387 -21-09-2019 4:00,9120786.856,0.004869856,0.004869856 -21-09-2019 5:00,9119610.976,0.040100584,0.040100584 -21-09-2019 6:00,9118434.943,0.067131742,0.067131742 -21-09-2019 7:00,9117258.756,0.050408584,0.050408584 -21-09-2019 8:00,9116082.416,0.059217265,0.059217265 -21-09-2019 9:00,9114905.923,0.043126949,0.043126949 -21-09-2019 10:00,9113729.279,0.036893556,0.036893556 -21-09-2019 11:00,9112552.484,0.031306216,0.031306216 -21-09-2019 12:00,9111375.538,0.025044973,0.025044973 -21-09-2019 13:00,9110198.443,0.021566504,0.021566504 -21-09-2019 14:00,9109021.198,0.016696648,0.016696648 -21-09-2019 15:00,9107843.804,0.018783729,0.018783729 -21-09-2019 16:00,9106666.263,0.030610522,0.030610522 -21-09-2019 17:00,9105488.574,0.054264107,0.054264107 -21-09-2019 18:00,9104310.738,0.054959801,0.054959801 -21-09-2019 19:00,9103132.755,0.048698558,0.048698558 -21-09-2019 20:00,9101954.627,0.040350234,0.040350234 -21-09-2019 21:00,9100776.355,0.028523441,0.028523441 -21-09-2019 22:00,9099597.937,0.013913874,0.013913874 -21-09-2019 23:00,9098419.376,0.004869856,0.004869856 -22-09-2019 0:00,9097240.671,0.002782775,0.002782775 -22-09-2019 1:00,9096061.824,0.000695694,0.000695694 -22-09-2019 2:00,9094882.835,0.000695694,0.000695694 -22-09-2019 3:00,9093703.705,0.001391387,0.001391387 -22-09-2019 4:00,9092524.433,0.004869856,0.004869856 -22-09-2019 5:00,9091345.022,0.039039662,0.039039662 -22-09-2019 6:00,9090165.47,0.06477761,0.06477761 -22-09-2019 7:00,9088985.78,0.050089945,0.050089945 -22-09-2019 8:00,9087805.952,0.059133963,0.059133963 -22-09-2019 9:00,9086625.985,0.042896264,0.042896264 -22-09-2019 10:00,9085445.882,0.036871765,0.036871765 -22-09-2019 11:00,9084265.642,0.031306216,0.031306216 -22-09-2019 12:00,9083085.266,0.025044973,0.025044973 -22-09-2019 13:00,9081904.754,0.021566504,0.021566504 -22-09-2019 14:00,9080724.108,0.016696648,0.016696648 -22-09-2019 15:00,9079543.328,0.018783729,0.018783729 -22-09-2019 16:00,9078362.414,0.030610522,0.030610522 -22-09-2019 17:00,9077181.368,0.054264107,0.054264107 -22-09-2019 18:00,9076000.189,0.054959801,0.054959801 -22-09-2019 19:00,9074818.878,0.048698558,0.048698558 -22-09-2019 20:00,9073637.436,0.040350234,0.040350234 -22-09-2019 21:00,9072455.864,0.028523441,0.028523441 -22-09-2019 22:00,9071274.162,0.013913874,0.013913874 -22-09-2019 23:00,9070092.331,0.004869856,0.004869856 -23-09-2019 0:00,9068910.371,0.002782775,0.002782775 -23-09-2019 1:00,9067728.282,0.000695694,0.000695694 -23-09-2019 2:00,9066546.067,0.000695694,0.000695694 -23-09-2019 3:00,9065363.724,0.001391387,0.001391387 -23-09-2019 4:00,9064181.256,0.004869856,0.004869856 -23-09-2019 5:00,9062998.662,0.038958846,0.038958846 -23-09-2019 6:00,9061815.942,0.064699512,0.064699512 -23-09-2019 7:00,9060633.099,0.050089945,0.050089945 -23-09-2019 8:00,9059450.131,0.059133963,0.059133963 -23-09-2019 9:00,9058267.04,0.042661323,0.042661323 -23-09-2019 10:00,9057083.827,0.036871765,0.036871765 -23-09-2019 11:00,9055900.492,0.031306216,0.031306216 -23-09-2019 12:00,9054717.035,0.025044973,0.025044973 -23-09-2019 13:00,9053533.458,0.021566504,0.021566504 -23-09-2019 14:00,9052349.761,0.016696648,0.016696648 -23-09-2019 15:00,9051165.944,0.018783729,0.018783729 -23-09-2019 16:00,9049982.008,0.030610522,0.030610522 -23-09-2019 17:00,9048797.954,0.054264107,0.054264107 -23-09-2019 18:00,9047613.782,0.054959801,0.054959801 -23-09-2019 19:00,9046429.493,0.048698558,0.048698558 -23-09-2019 20:00,9045245.087,0.040350234,0.040350234 -23-09-2019 21:00,9044060.566,0.028523441,0.028523441 -23-09-2019 22:00,9042875.929,0.013913874,0.013913874 -23-09-2019 23:00,9041691.178,0.004869856,0.004869856 -24-09-2019 0:00,9040506.312,0.002782775,0.002782775 -24-09-2019 1:00,9039321.333,0.000695694,0.000695694 -24-09-2019 2:00,9038136.242,0.000695694,0.000695694 -24-09-2019 3:00,9036951.038,0.001391387,0.001391387 -24-09-2019 4:00,9035765.722,0.004869856,0.004869856 -24-09-2019 5:00,9034580.296,0.038958846,0.038958846 -24-09-2019 6:00,9033394.759,0.064699512,0.064699512 -24-09-2019 7:00,9032209.112,0.050089945,0.050089945 -24-09-2019 8:00,9031023.356,0.059133963,0.059133963 -24-09-2019 9:00,9029837.492,0.04268159,0.04268159 -24-09-2019 10:00,9028651.52,0.036871765,0.036871765 -24-09-2019 11:00,9027465.44,0.031306216,0.031306216 -24-09-2019 12:00,9026279.253,0.025044973,0.025044973 -24-09-2019 13:00,9025092.961,0.021566504,0.021566504 -24-09-2019 14:00,9023906.563,0.016696648,0.016696648 -24-09-2019 15:00,9022720.06,0.018783729,0.018783729 -24-09-2019 16:00,9021533.452,0.030610522,0.030610522 -24-09-2019 17:00,9020346.741,0.054264107,0.054264107 -24-09-2019 18:00,9019159.927,0.054959801,0.054959801 -24-09-2019 19:00,9017973.011,0.048698558,0.048698558 -24-09-2019 20:00,9016785.993,0.040350234,0.040350234 -24-09-2019 21:00,9015598.873,0.028523441,0.028523441 -24-09-2019 22:00,9014411.653,0.013913874,0.013913874 -24-09-2019 23:00,9013224.333,0.004869856,0.004869856 -25-09-2019 0:00,9012036.913,0.002782775,0.002782775 -25-09-2019 1:00,9010849.395,0.000695694,0.000695694 -25-09-2019 2:00,9009661.778,0.000695694,0.000695694 -25-09-2019 3:00,9008474.064,0.001391387,0.001391387 -25-09-2019 4:00,9007286.253,0.004869856,0.004869856 -25-09-2019 5:00,9006098.345,0.038958846,0.038958846 -25-09-2019 6:00,9004910.342,0.064699512,0.064699512 -25-09-2019 7:00,9003722.244,0.050089945,0.050089945 -25-09-2019 8:00,9002534.051,0.059133963,0.059133963 -25-09-2019 9:00,9001345.764,0.042926496,0.042926496 -25-09-2019 10:00,9000157.384,0.036871765,0.036871765 -25-09-2019 11:00,8998968.911,0.031306216,0.031306216 -25-09-2019 12:00,8997780.346,0.025044973,0.025044973 -25-09-2019 13:00,8996591.69,0.021566504,0.021566504 -25-09-2019 14:00,8995402.943,0.016696648,0.016696648 -25-09-2019 15:00,8994214.105,0.018783729,0.018783729 -25-09-2019 16:00,8993025.178,0.030610522,0.030610522 -25-09-2019 17:00,8991836.162,0.054264107,0.054264107 -25-09-2019 18:00,8990647.058,0.054959801,0.054959801 -25-09-2019 19:00,8989457.866,0.048698558,0.048698558 -25-09-2019 20:00,8988268.586,0.040350234,0.040350234 -25-09-2019 21:00,8987079.22,0.028523441,0.028523441 -25-09-2019 22:00,8985889.768,0.013913874,0.013913874 -25-09-2019 23:00,8984700.231,0.004869856,0.004869856 -26-09-2019 0:00,8983510.609,0.002782775,0.002782775 -26-09-2019 1:00,8982320.903,0.000695694,0.000695694 -26-09-2019 2:00,8981131.113,0.000695694,0.000695694 -26-09-2019 3:00,8979941.241,0.001391387,0.001391387 -26-09-2019 4:00,8978751.286,0.004869856,0.004869856 -26-09-2019 5:00,8977561.25,0.038958846,0.038958846 -26-09-2019 6:00,8976371.132,0.064699512,0.064699512 -26-09-2019 7:00,8975180.934,0.050089945,0.050089945 -26-09-2019 8:00,8973990.656,0.059133963,0.059133963 -26-09-2019 9:00,8972800.299,0.042772987,0.042772987 -26-09-2019 10:00,8971609.864,0.036871765,0.036871765 -26-09-2019 11:00,8970419.35,0.031306216,0.031306216 -26-09-2019 12:00,8969228.759,0.025044973,0.025044973 -26-09-2019 13:00,8968038.091,0.021566504,0.021566504 -26-09-2019 14:00,8966847.347,0.016696648,0.016696648 -26-09-2019 15:00,8965656.528,0.018783729,0.018783729 -26-09-2019 16:00,8964465.633,0.030610522,0.030610522 -26-09-2019 17:00,8963274.665,0.054264107,0.054264107 -26-09-2019 18:00,8962083.622,0.054959801,0.054959801 -26-09-2019 19:00,8960892.507,0.048698558,0.048698558 -26-09-2019 20:00,8959701.318,0.040350234,0.040350234 -26-09-2019 21:00,8958510.059,0.028523441,0.028523441 -26-09-2019 22:00,8957318.727,0.013913874,0.013913874 -26-09-2019 23:00,8956127.326,0.004869856,0.004869856 -27-09-2019 0:00,8954935.854,0.002782775,0.002782775 -27-09-2019 1:00,8953744.312,0.000695694,0.000695694 -27-09-2019 2:00,8952552.702,0.000695694,0.000695694 -27-09-2019 3:00,8951361.024,0.001391387,0.001391387 -27-09-2019 4:00,8950169.278,0.004869856,0.004869856 -27-09-2019 5:00,8948977.465,0.038958846,0.038958846 -27-09-2019 6:00,8947785.586,0.064699512,0.064699512 -27-09-2019 7:00,8946593.641,0.050089945,0.050089945 -27-09-2019 8:00,8945401.631,0.059133963,0.059133963 -27-09-2019 9:00,8944209.557,0.042695775,0.042695775 -27-09-2019 10:00,8943017.418,0.036871765,0.036871765 -27-09-2019 11:00,8941825.216,0.031306216,0.031306216 -27-09-2019 12:00,8940632.952,0.025044973,0.025044973 -27-09-2019 13:00,8939440.626,0.021566504,0.021566504 -27-09-2019 14:00,8938248.238,0.016696648,0.016696648 -27-09-2019 15:00,8937055.789,0.018783729,0.018783729 -27-09-2019 16:00,8935863.28,0.030610522,0.030610522 -27-09-2019 17:00,8934670.711,0.054264107,0.054264107 -27-09-2019 18:00,8933478.084,0.054959801,0.054959801 -27-09-2019 19:00,8932285.398,0.048698558,0.048698558 -27-09-2019 20:00,8931092.654,0.040350234,0.040350234 -27-09-2019 21:00,8929899.853,0.028523441,0.028523441 -27-09-2019 22:00,8928706.996,0.013913874,0.013913874 -27-09-2019 23:00,8927514.082,0.004869856,0.004869856 -28-09-2019 0:00,8926321.114,0.002782775,0.002782775 -28-09-2019 1:00,8925128.09,0.000695694,0.000695694 -28-09-2019 2:00,8923935.013,0.000695694,0.000695694 -28-09-2019 3:00,8922741.882,0.001391387,0.001391387 -28-09-2019 4:00,8921548.698,0.004869856,0.004869856 -28-09-2019 5:00,8920355.462,0.038958846,0.038958846 -28-09-2019 6:00,8919162.175,0.064699512,0.064699512 -28-09-2019 7:00,8917968.836,0.050089945,0.050089945 -28-09-2019 8:00,8916775.447,0.059133963,0.059133963 -28-09-2019 9:00,8915582.008,0.04253185,0.04253185 -28-09-2019 10:00,8914388.52,0.036871765,0.036871765 -28-09-2019 11:00,8913194.984,0.031306216,0.031306216 -28-09-2019 12:00,8912001.399,0.025044973,0.025044973 -28-09-2019 13:00,8910807.767,0.021566504,0.021566504 -28-09-2019 14:00,8909614.089,0.016696648,0.016696648 -28-09-2019 15:00,8908420.364,0.018783729,0.018783729 -28-09-2019 16:00,8907226.594,0.030610522,0.030610522 -28-09-2019 17:00,8906032.779,0.054264107,0.054264107 -28-09-2019 18:00,8904838.919,0.054959801,0.054959801 -28-09-2019 19:00,8903645.016,0.048698558,0.048698558 -28-09-2019 20:00,8902451.071,0.040350234,0.040350234 -28-09-2019 21:00,8901257.082,0.028523441,0.028523441 -28-09-2019 22:00,8900063.052,0.013913874,0.013913874 -28-09-2019 23:00,8898868.981,0.004869856,0.004869856 -29-09-2019 0:00,8897674.869,0.002782775,0.002782775 -29-09-2019 1:00,8896480.717,0.000695694,0.000695694 -29-09-2019 2:00,8895286.525,0.000695694,0.000695694 -29-09-2019 3:00,8894092.295,0.001391387,0.001391387 -29-09-2019 4:00,8892898.027,0.004869856,0.004869856 -29-09-2019 5:00,8891703.722,0.038958846,0.038958846 -29-09-2019 6:00,8890509.379,0.064699512,0.064699512 -29-09-2019 7:00,8889315,0.050089945,0.050089945 -29-09-2019 8:00,8888120.586,0.059133963,0.059133963 -29-09-2019 9:00,8886926.136,0.042838182,0.042838182 -29-09-2019 10:00,8885731.653,0.036871765,0.036871765 -29-09-2019 11:00,8884537.135,0.031306216,0.031306216 -29-09-2019 12:00,8883342.584,0.025044973,0.025044973 -29-09-2019 13:00,8882148,0.021566504,0.021566504 -29-09-2019 14:00,8880953.385,0.016696648,0.016696648 -29-09-2019 15:00,8879758.738,0.018783729,0.018783729 -29-09-2019 16:00,8878564.06,0.030610522,0.030610522 -29-09-2019 17:00,8877369.353,0.054264107,0.054264107 -29-09-2019 18:00,8876174.615,0.054959801,0.054959801 -29-09-2019 19:00,8874979.849,0.048698558,0.048698558 -29-09-2019 20:00,8873785.055,0.040350234,0.040350234 -29-09-2019 21:00,8872590.233,0.028523441,0.028523441 -29-09-2019 22:00,8871395.384,0.013913874,0.013913874 -29-09-2019 23:00,8870200.508,0.004869856,0.004869856 -30-09-2019 0:00,8869005.607,0.002782775,0.002782775 -30-09-2019 1:00,8867810.68,0.000695694,0.000695694 -30-09-2019 2:00,8866615.729,0.000695694,0.000695694 -30-09-2019 3:00,8865420.754,0.001391387,0.001391387 -30-09-2019 4:00,8864225.755,0.004869856,0.004869856 -30-09-2019 5:00,8863030.734,0.038958846,0.038958846 -30-09-2019 6:00,8861835.69,0.064699512,0.064699512 -30-09-2019 7:00,8860640.625,0.050089945,0.050089945 -30-09-2019 8:00,8859445.539,0.059133963,0.059133963 -30-09-2019 9:00,8858250.433,0.042885551,0.042885551 -30-09-2019 10:00,8857055.307,0.036871765,0.036871765 -30-09-2019 11:00,8855860.162,0.031306216,0.031306216 -30-09-2019 12:00,8854664.999,0.025044973,0.025044973 -30-09-2019 13:00,8853469.818,0.021566504,0.021566504 -30-09-2019 14:00,8852274.619,0.016696648,0.016696648 -30-09-2019 15:00,8851079.404,0.018783729,0.018783729 -30-09-2019 16:00,8849884.173,0.030610522,0.030610522 -30-09-2019 17:00,8848688.927,0.054264107,0.054264107 -30-09-2019 18:00,8847493.666,0.054959801,0.054959801 -30-09-2019 19:00,8846298.39,0.048698558,0.048698558 -30-09-2019 20:00,8845103.102,0.040350234,0.040350234 -30-09-2019 21:00,8843907.8,0.028523441,0.028523441 -30-09-2019 22:00,8842712.486,0.013913874,0.013913874 -30-09-2019 23:00,8841517.16,0.004869856,0.004869856 -01-10-2019 0:00,8840321.823,0.002782775,0.002782775 -01-10-2019 1:00,8839126.476,0.000695694,0.000695694 -01-10-2019 2:00,8837931.119,0.000695694,0.000695694 -01-10-2019 3:00,8836735.753,0.001391387,0.001391387 -01-10-2019 4:00,8835540.378,0.004869856,0.004869856 -01-10-2019 5:00,8834344.995,0.038958846,0.038958846 -01-10-2019 6:00,8833149.605,0.064699512,0.064699512 -01-10-2019 7:00,8831954.207,0.050089945,0.050089945 -01-10-2019 8:00,8830758.804,0.059133963,0.059133963 -01-10-2019 9:00,8829563.395,0.042821514,0.042821514 -01-10-2019 10:00,8828367.982,0.036871765,0.036871765 -01-10-2019 11:00,8827172.564,0.031306216,0.031306216 -01-10-2019 12:00,8825977.142,0.025044973,0.025044973 -01-10-2019 13:00,8824781.717,0.021566504,0.021566504 -01-10-2019 14:00,8823586.29,0.016696648,0.016696648 -01-10-2019 15:00,8822390.861,0.018783729,0.018783729 -01-10-2019 16:00,8821195.431,0.030610522,0.030610522 -01-10-2019 17:00,8820000,0.054264107,0.054264107 -01-10-2019 18:00,8818804.569,0.054959801,0.054959801 -01-10-2019 19:00,8817609.139,0.048698558,0.048698558 -01-10-2019 20:00,8816413.71,0.040350234,0.040350234 -01-10-2019 21:00,8815218.283,0.028523441,0.028523441 -01-10-2019 22:00,8814022.858,0.013913874,0.013913874 -01-10-2019 23:00,8812827.436,0.004869856,0.004869856 -02-10-2019 0:00,8811632.018,0.002782775,0.002782775 -02-10-2019 1:00,8810436.605,0.000695694,0.000695694 -02-10-2019 2:00,8809241.196,0.000695694,0.000695694 -02-10-2019 3:00,8808045.793,0.001391387,0.001391387 -02-10-2019 4:00,8806850.395,0.004869856,0.004869856 -02-10-2019 5:00,8805655.005,0.039138412,0.039138412 -02-10-2019 6:00,8804459.622,0.064794905,0.064794905 -02-10-2019 7:00,8803264.247,0.050193041,0.050193041 -02-10-2019 8:00,8802068.881,0.059133963,0.059133963 -02-10-2019 9:00,8800873.524,0.042860179,0.042860179 -02-10-2019 10:00,8799678.177,0.036871765,0.036871765 -02-10-2019 11:00,8798482.84,0.031306216,0.031306216 -02-10-2019 12:00,8797287.514,0.025044973,0.025044973 -02-10-2019 13:00,8796092.2,0.021566504,0.021566504 -02-10-2019 14:00,8794896.898,0.016696648,0.016696648 -02-10-2019 15:00,8793701.61,0.018783729,0.018783729 -02-10-2019 16:00,8792506.334,0.030610522,0.030610522 -02-10-2019 17:00,8791311.073,0.054403152,0.054403152 -02-10-2019 18:00,8790115.827,0.055355817,0.055355817 -02-10-2019 19:00,8788920.596,0.048915342,0.048915342 -02-10-2019 20:00,8787725.381,0.040350234,0.040350234 -02-10-2019 21:00,8786530.182,0.028547732,0.028547732 -02-10-2019 22:00,8785335.001,0.013913874,0.013913874 -02-10-2019 23:00,8784139.838,0.004869856,0.004869856 -03-10-2019 0:00,8782944.693,0.002782775,0.002782775 -03-10-2019 1:00,8781749.567,0.000695694,0.000695694 -03-10-2019 2:00,8780554.461,0.000695694,0.000695694 -03-10-2019 3:00,8779359.375,0.001391387,0.001391387 -03-10-2019 4:00,8778164.31,0.004869856,0.004869856 -03-10-2019 5:00,8776969.266,0.03957076,0.03957076 -03-10-2019 6:00,8775774.245,0.065365294,0.065365294 -03-10-2019 7:00,8774579.246,0.050810725,0.050810725 -03-10-2019 8:00,8773384.271,0.059386043,0.059386043 -03-10-2019 9:00,8772189.32,0.0436135,0.0436135 -03-10-2019 10:00,8770994.393,0.037054339,0.037054339 -03-10-2019 11:00,8769799.492,0.031437375,0.031437375 -03-10-2019 12:00,8768604.616,0.02546656,0.02546656 -03-10-2019 13:00,8767409.767,0.021566504,0.021566504 -03-10-2019 14:00,8766214.945,0.016696648,0.016696648 -03-10-2019 15:00,8765020.151,0.018783729,0.018783729 -03-10-2019 16:00,8763825.385,0.030664774,0.030664774 -03-10-2019 17:00,8762630.647,0.054688333,0.054688333 -03-10-2019 18:00,8761435.94,0.056250669,0.056250669 -03-10-2019 19:00,8760241.262,0.04946593,0.04946593 -03-10-2019 20:00,8759046.615,0.040980859,0.040980859 -03-10-2019 21:00,8757852,0.028715914,0.028715914 -03-10-2019 22:00,8756657.416,0.013913874,0.013913874 -03-10-2019 23:00,8755462.865,0.004869856,0.004869856 -04-10-2019 0:00,8754268.347,0.002782775,0.002782775 -04-10-2019 1:00,8753073.864,0.000695694,0.000695694 -04-10-2019 2:00,8751879.414,0.000695694,0.000695694 -04-10-2019 3:00,8750685,0.001391387,0.001391387 -04-10-2019 4:00,8749490.621,0.004869856,0.004869856 -04-10-2019 5:00,8748296.278,0.039827051,0.039827051 -04-10-2019 6:00,8747101.973,0.066952722,0.066952722 -04-10-2019 7:00,8745907.705,0.051120118,0.051120118 -04-10-2019 8:00,8744713.475,0.060254471,0.060254471 -04-10-2019 9:00,8743519.283,0.044136318,0.044136318 -04-10-2019 10:00,8742325.131,0.038075369,0.038075369 -04-10-2019 11:00,8741131.019,0.032200653,0.032200653 -04-10-2019 12:00,8739936.948,0.027072874,0.027072874 -04-10-2019 13:00,8738742.918,0.021566504,0.021566504 -04-10-2019 14:00,8737548.929,0.016696648,0.016696648 -04-10-2019 15:00,8736354.984,0.018783729,0.018783729 -04-10-2019 16:00,8735161.081,0.030809343,0.030809343 -04-10-2019 17:00,8733967.221,0.055562033,0.055562033 -04-10-2019 18:00,8732773.406,0.056804991,0.056804991 -04-10-2019 19:00,8731579.636,0.050035425,0.050035425 -04-10-2019 20:00,8730385.911,0.041295374,0.041295374 -04-10-2019 21:00,8729192.233,0.028762483,0.028762483 -04-10-2019 22:00,8727998.601,0.013913874,0.013913874 -04-10-2019 23:00,8726805.016,0.004869856,0.004869856 -05-10-2019 0:00,8725611.48,0.002782775,0.002782775 -05-10-2019 1:00,8724417.992,0.000695694,0.000695694 -05-10-2019 2:00,8723224.553,0.000695694,0.000695694 -05-10-2019 3:00,8722031.164,0.001391387,0.001391387 -05-10-2019 4:00,8720837.825,0.004979979,0.004979979 -05-10-2019 5:00,8719644.538,0.040352336,0.040352336 -05-10-2019 6:00,8718451.302,0.068669373,0.068669373 -05-10-2019 7:00,8717258.118,0.051150966,0.051150966 -05-10-2019 8:00,8716064.987,0.061092175,0.061092175 -05-10-2019 9:00,8714871.91,0.044239476,0.044239476 -05-10-2019 10:00,8713678.886,0.038346323,0.038346323 -05-10-2019 11:00,8712485.918,0.032549937,0.032549937 -05-10-2019 12:00,8711293.004,0.027812346,0.027812346 -05-10-2019 13:00,8710100.147,0.021578241,0.021578241 -05-10-2019 14:00,8708907.346,0.016696648,0.016696648 -05-10-2019 15:00,8707714.602,0.018783729,0.018783729 -05-10-2019 16:00,8706521.916,0.031575164,0.031575164 -05-10-2019 17:00,8705329.289,0.056475358,0.056475358 -05-10-2019 18:00,8704136.72,0.057488072,0.057488072 -05-10-2019 19:00,8702944.211,0.050259867,0.050259867 -05-10-2019 20:00,8701751.762,0.041426172,0.041426172 -05-10-2019 21:00,8700559.374,0.028799082,0.028799082 -05-10-2019 22:00,8699367.048,0.013913874,0.013913874 -05-10-2019 23:00,8698174.784,0.004869856,0.004869856 -06-10-2019 0:00,8696982.582,0.002782775,0.002782775 -06-10-2019 1:00,8695790.443,0.000695694,0.000695694 -06-10-2019 2:00,8694598.369,0.000695694,0.000695694 -06-10-2019 3:00,8693406.359,0.001391387,0.001391387 -06-10-2019 4:00,8692214.414,0.00509663,0.00509663 -06-10-2019 5:00,8691022.535,0.040506316,0.040506316 -06-10-2019 6:00,8689830.722,0.069331594,0.069331594 -06-10-2019 7:00,8688638.976,0.051179551,0.051179551 -06-10-2019 8:00,8687447.298,0.06168439,0.06168439 -06-10-2019 9:00,8686255.688,0.044418169,0.044418169 -06-10-2019 10:00,8685064.146,0.038776367,0.038776367 -06-10-2019 11:00,8683872.674,0.033271882,0.033271882 -06-10-2019 12:00,8682681.273,0.02869125,0.02869125 -06-10-2019 13:00,8681489.941,0.02181206,0.02181206 -06-10-2019 14:00,8680298.682,0.016751029,0.016751029 -06-10-2019 15:00,8679107.493,0.019019316,0.019019316 -06-10-2019 16:00,8677916.378,0.032923382,0.032923382 -06-10-2019 17:00,8676725.335,0.05722841,0.05722841 -06-10-2019 18:00,8675534.367,0.057850099,0.057850099 -06-10-2019 19:00,8674343.472,0.050485174,0.050485174 -06-10-2019 20:00,8673152.653,0.041588831,0.041588831 -06-10-2019 21:00,8671961.909,0.028848607,0.028848607 -06-10-2019 22:00,8670771.241,0.013913874,0.013913874 -06-10-2019 23:00,8669580.65,0.004869856,0.004869856 -07-10-2019 0:00,8668390.136,0.002892555,0.002892555 -07-10-2019 1:00,8667199.701,0.000695694,0.000695694 -07-10-2019 2:00,8666009.344,0.000695694,0.000695694 -07-10-2019 3:00,8664819.066,0.001479167,0.001479167 -07-10-2019 4:00,8663628.868,0.005315214,0.005315214 -07-10-2019 5:00,8662438.75,0.040920492,0.040920492 -07-10-2019 6:00,8661248.714,0.071871369,0.071871369 -07-10-2019 7:00,8660058.759,0.055768935,0.055768935 -07-10-2019 8:00,8658868.887,0.064568463,0.064568463 -07-10-2019 9:00,8657679.097,0.044586361,0.044586361 -07-10-2019 10:00,8656489.391,0.039068312,0.039068312 -07-10-2019 11:00,8655299.769,0.033704567,0.033704567 -07-10-2019 12:00,8654110.232,0.028938353,0.028938353 -07-10-2019 13:00,8652920.78,0.021929039,0.021929039 -07-10-2019 14:00,8651731.414,0.016804346,0.016804346 -07-10-2019 15:00,8650542.134,0.019122624,0.019122624 -07-10-2019 16:00,8649352.942,0.033125359,0.033125359 -07-10-2019 17:00,8648163.838,0.057294148,0.057294148 -07-10-2019 18:00,8646974.822,0.057903437,0.057903437 -07-10-2019 19:00,8645785.895,0.050513263,0.050513263 -07-10-2019 20:00,8644597.057,0.044073879,0.044073879 -07-10-2019 21:00,8643408.31,0.033510036,0.033510036 -07-10-2019 22:00,8642219.654,0.016196921,0.016196921 -07-10-2019 23:00,8641031.089,0.005653542,0.005653542 -08-10-2019 0:00,8639842.616,0.003043629,0.003043629 -08-10-2019 1:00,8638654.236,0.000695694,0.000695694 -08-10-2019 2:00,8637465.949,0.000695694,0.000695694 -08-10-2019 3:00,8636277.756,0.001391387,0.001391387 -08-10-2019 4:00,8635089.658,0.00521454,0.00521454 -08-10-2019 5:00,8633901.655,0.040617154,0.040617154 -08-10-2019 6:00,8632713.747,0.070949116,0.070949116 -08-10-2019 7:00,8631525.936,0.056981429,0.056981429 -08-10-2019 8:00,8630338.222,0.065684303,0.065684303 -08-10-2019 9:00,8629150.605,0.046114741,0.046114741 -08-10-2019 10:00,8627963.087,0.038605977,0.038605977 -08-10-2019 11:00,8626775.667,0.032914967,0.032914967 -08-10-2019 12:00,8625588.347,0.028309295,0.028309295 -08-10-2019 13:00,8624401.127,0.021607351,0.021607351 -08-10-2019 14:00,8623214.007,0.016700762,0.016700762 -08-10-2019 15:00,8622026.989,0.018830957,0.018830957 -08-10-2019 16:00,8620840.073,0.032078811,0.032078811 -08-10-2019 17:00,8619653.259,0.05684447,0.05684447 -08-10-2019 18:00,8618466.548,0.057523522,0.057523522 -08-10-2019 19:00,8617279.94,0.050260838,0.050260838 -08-10-2019 20:00,8616093.437,0.041663781,0.041663781 -08-10-2019 21:00,8614907.039,0.031577525,0.031577525 -08-10-2019 22:00,8613720.747,0.016092824,0.016092824 -08-10-2019 23:00,8612534.56,0.005652883,0.005652883 -09-10-2019 0:00,8611348.48,0.003045729,0.003045729 -09-10-2019 1:00,8610162.508,0.000695694,0.000695694 -09-10-2019 2:00,8608976.644,0.000695694,0.000695694 -09-10-2019 3:00,8607790.888,0.001391387,0.001391387 -09-10-2019 4:00,8606605.241,0.005140028,0.005140028 -09-10-2019 5:00,8605419.704,0.040478245,0.040478245 -09-10-2019 6:00,8604234.278,0.070533046,0.070533046 -09-10-2019 7:00,8603048.962,0.05708247,0.05708247 -09-10-2019 8:00,8601863.758,0.066277892,0.066277892 -09-10-2019 9:00,8600678.667,0.049727973,0.049727973 -09-10-2019 10:00,8599493.688,0.040343749,0.040343749 -09-10-2019 11:00,8598308.822,0.03493432,0.03493432 -09-10-2019 12:00,8597124.071,0.028384925,0.028384925 -09-10-2019 13:00,8595939.434,0.021609519,0.021609519 -09-10-2019 14:00,8594754.913,0.016708316,0.016708316 -09-10-2019 15:00,8593570.507,0.018852734,0.018852734 -09-10-2019 16:00,8592386.218,0.032493328,0.032493328 -09-10-2019 17:00,8591202.046,0.057029832,0.057029832 -09-10-2019 18:00,8590017.992,0.057618081,0.057618081 -09-10-2019 19:00,8588834.056,0.056742286,0.056742286 -09-10-2019 20:00,8587650.239,0.052755626,0.052755626 -09-10-2019 21:00,8586466.542,0.034596475,0.034596475 -09-10-2019 22:00,8585282.965,0.016559857,0.016559857 -09-10-2019 23:00,8584099.508,0.005859846,0.005859846 -10-10-2019 0:00,8582916.173,0.003090215,0.003090215 -10-10-2019 1:00,8581732.96,0.000695694,0.000695694 -10-10-2019 2:00,8580549.869,0.000695694,0.000695694 -10-10-2019 3:00,8579366.901,0.001391387,0.001391387 -10-10-2019 4:00,8578184.058,0.005193737,0.005193737 -10-10-2019 5:00,8577001.338,0.040574177,0.040574177 -10-10-2019 6:00,8575818.744,0.072036861,0.072036861 -10-10-2019 7:00,8574636.276,0.057815762,0.057815762 -10-10-2019 8:00,8573453.933,0.066560333,0.066560333 -10-10-2019 9:00,8572271.718,0.049884471,0.049884471 -10-10-2019 10:00,8571089.629,0.038028088,0.038028088 -10-10-2019 11:00,8569907.669,0.032347744,0.032347744 -10-10-2019 12:00,8568725.838,0.027778835,0.027778835 -10-10-2019 13:00,8567544.136,0.021601694,0.021601694 -10-10-2019 14:00,8566362.564,0.016696648,0.016696648 -10-10-2019 15:00,8565181.122,0.018783729,0.018783729 -10-10-2019 16:00,8563999.811,0.031842735,0.031842735 -10-10-2019 17:00,8562818.632,0.056670794,0.056670794 -10-10-2019 18:00,8561637.586,0.057415882,0.057415882 -10-10-2019 19:00,8560456.672,0.050898515,0.050898515 -10-10-2019 20:00,8559275.892,0.04710526,0.04710526 -10-10-2019 21:00,8558095.246,0.033253138,0.033253138 -10-10-2019 22:00,8556914.734,0.016170039,0.016170039 -10-10-2019 23:00,8555734.358,0.005645879,0.005645879 -11-10-2019 0:00,8554554.118,0.003041152,0.003041152 -11-10-2019 1:00,8553374.015,0.000695694,0.000695694 -11-10-2019 2:00,8552194.048,0.000695694,0.000695694 -11-10-2019 3:00,8551014.22,0.001391387,0.001391387 -11-10-2019 4:00,8549834.53,0.005000995,0.005000995 -11-10-2019 5:00,8548654.978,0.040150228,0.040150228 -11-10-2019 6:00,8547475.567,0.06945637,0.06945637 -11-10-2019 7:00,8546296.295,0.056993354,0.056993354 -11-10-2019 8:00,8545117.165,0.065544308,0.065544308 -11-10-2019 9:00,8543938.176,0.050238225,0.050238225 -11-10-2019 10:00,8542759.329,0.042022402,0.042022402 -11-10-2019 11:00,8541580.624,0.036086495,0.036086495 -11-10-2019 12:00,8540402.063,0.02789757,0.02789757 -11-10-2019 13:00,8539223.645,0.021578159,0.021578159 -11-10-2019 14:00,8538045.373,0.016696648,0.016696648 -11-10-2019 15:00,8536867.245,0.018783729,0.018783729 -11-10-2019 16:00,8535689.262,0.031515591,0.031515591 -11-10-2019 17:00,8534511.426,0.056208871,0.056208871 -11-10-2019 18:00,8533333.737,0.056938766,0.056938766 -11-10-2019 19:00,8532156.196,0.050325302,0.050325302 -11-10-2019 20:00,8530978.802,0.044628911,0.044628911 -11-10-2019 21:00,8529801.557,0.031642978,0.031642978 -11-10-2019 22:00,8528624.462,0.015400087,0.015400087 -11-10-2019 23:00,8527447.516,0.005394305,0.005394305 -12-10-2019 0:00,8526270.721,0.002964416,0.002964416 -12-10-2019 1:00,8525094.077,0.000695694,0.000695694 -12-10-2019 2:00,8523917.584,0.000695694,0.000695694 -12-10-2019 3:00,8522741.244,0.001391387,0.001391387 -12-10-2019 4:00,8521565.057,0.004869856,0.004869856 -12-10-2019 5:00,8520389.024,0.039693333,0.039693333 -12-10-2019 6:00,8519213.144,0.067622334,0.067622334 -12-10-2019 7:00,8518037.42,0.055012665,0.055012665 -12-10-2019 8:00,8516861.85,0.062657383,0.062657383 -12-10-2019 9:00,8515686.437,0.045916132,0.045916132 -12-10-2019 10:00,8514511.18,0.038621744,0.038621744 -12-10-2019 11:00,8513336.081,0.033509283,0.033509283 -12-10-2019 12:00,8512161.139,0.027850982,0.027850982 -12-10-2019 13:00,8510986.355,0.021580821,0.021580821 -12-10-2019 14:00,8509811.731,0.016696648,0.016696648 -12-10-2019 15:00,8508637.266,0.018801975,0.018801975 -12-10-2019 16:00,8507462.961,0.031740508,0.031740508 -12-10-2019 17:00,8506288.817,0.056464685,0.056464685 -12-10-2019 18:00,8505114.834,0.057259905,0.057259905 -12-10-2019 19:00,8503941.014,0.056739179,0.056739179 -12-10-2019 20:00,8502767.356,0.051474854,0.051474854 -12-10-2019 21:00,8501593.861,0.033914249,0.033914249 -12-10-2019 22:00,8500420.53,0.016314859,0.016314859 -12-10-2019 23:00,8499247.363,0.005784069,0.005784069 -13-10-2019 0:00,8498074.362,0.003057987,0.003057987 -13-10-2019 1:00,8496901.526,0.000725762,0.000725762 -13-10-2019 2:00,8495728.856,0.000695694,0.000695694 -13-10-2019 3:00,8494556.353,0.001391387,0.001391387 -13-10-2019 4:00,8493384.018,0.004936395,0.004936395 -13-10-2019 5:00,8492211.85,0.040010235,0.040010235 -13-10-2019 6:00,8491039.852,0.069360906,0.069360906 -13-10-2019 7:00,8489868.022,0.057773136,0.057773136 -13-10-2019 8:00,8488696.362,0.065229861,0.065229861 -13-10-2019 9:00,8487524.873,0.049323507,0.049323507 -13-10-2019 10:00,8486353.555,0.039895357,0.039895357 -13-10-2019 11:00,8485182.408,0.032470305,0.032470305 -13-10-2019 12:00,8484011.434,0.026791464,0.026791464 -13-10-2019 13:00,8482840.632,0.021566504,0.021566504 -13-10-2019 14:00,8481670.004,0.016696648,0.016696648 -13-10-2019 15:00,8480499.55,0.018783729,0.018783729 -13-10-2019 16:00,8479329.271,0.030610522,0.030610522 -13-10-2019 17:00,8478159.167,0.054445336,0.054445336 -13-10-2019 18:00,8476989.239,0.055638979,0.055638979 -13-10-2019 19:00,8475819.487,0.049437122,0.049437122 -13-10-2019 20:00,8474649.912,0.041036665,0.041036665 -13-10-2019 21:00,8473480.515,0.028671303,0.028671303 -13-10-2019 22:00,8472311.297,0.013913874,0.013913874 -13-10-2019 23:00,8471142.257,0.004869856,0.004869856 -14-10-2019 0:00,8469973.396,0.002782775,0.002782775 -14-10-2019 1:00,8468804.716,0.000695694,0.000695694 -14-10-2019 2:00,8467636.216,0.000695694,0.000695694 -14-10-2019 3:00,8466467.898,0.001391387,0.001391387 -14-10-2019 4:00,8465299.762,0.004869856,0.004869856 -14-10-2019 5:00,8464131.808,0.039450823,0.039450823 -14-10-2019 6:00,8462964.037,0.066267524,0.066267524 -14-10-2019 7:00,8461796.449,0.052485047,0.052485047 -14-10-2019 8:00,8460629.047,0.059692292,0.059692292 -14-10-2019 9:00,8459461.828,0.043967785,0.043967785 -14-10-2019 10:00,8458294.796,0.037974991,0.037974991 -14-10-2019 11:00,8457127.949,0.032292628,0.032292628 -14-10-2019 12:00,8455961.29,0.02659414,0.02659414 -14-10-2019 13:00,8454794.817,0.021566504,0.021566504 -14-10-2019 14:00,8453628.532,0.016696648,0.016696648 -14-10-2019 15:00,8452462.436,0.018783729,0.018783729 -14-10-2019 16:00,8451296.529,0.030636156,0.030636156 -14-10-2019 17:00,8450130.812,0.054592362,0.054592362 -14-10-2019 18:00,8448965.285,0.055847343,0.055847343 -14-10-2019 19:00,8447799.948,0.049422263,0.049422263 -14-10-2019 20:00,8446634.804,0.040904977,0.040904977 -14-10-2019 21:00,8445469.851,0.028637588,0.028637588 -14-10-2019 22:00,8444305.091,0.013913874,0.013913874 -14-10-2019 23:00,8443140.524,0.004869856,0.004869856 -15-10-2019 0:00,8441976.151,0.002782775,0.002782775 -15-10-2019 1:00,8440811.973,0.000695694,0.000695694 -15-10-2019 2:00,8439647.99,0.000695694,0.000695694 -15-10-2019 3:00,8438484.202,0.001391387,0.001391387 -15-10-2019 4:00,8437320.611,0.004869856,0.004869856 -15-10-2019 5:00,8436157.216,0.039058651,0.039058651 -15-10-2019 6:00,8434994.019,0.064786096,0.064786096 -15-10-2019 7:00,8433831.02,0.050916505,0.050916505 -15-10-2019 8:00,8432668.22,0.059320363,0.059320363 -15-10-2019 9:00,8431505.619,0.043658799,0.043658799 -15-10-2019 10:00,8430343.218,0.037308782,0.037308782 -15-10-2019 11:00,8429181.017,0.031905956,0.031905956 -15-10-2019 12:00,8428019.018,0.025968527,0.025968527 -15-10-2019 13:00,8426857.22,0.021566504,0.021566504 -15-10-2019 14:00,8425695.624,0.016696648,0.016696648 -15-10-2019 15:00,8424534.231,0.018783729,0.018783729 -15-10-2019 16:00,8423373.042,0.030610522,0.030610522 -15-10-2019 17:00,8422212.057,0.05449419,0.05449419 -15-10-2019 18:00,8421051.276,0.055596542,0.055596542 -15-10-2019 19:00,8419890.701,0.049340477,0.049340477 -15-10-2019 20:00,8418730.331,0.040981606,0.040981606 -15-10-2019 21:00,8417570.168,0.028656625,0.028656625 -15-10-2019 22:00,8416410.212,0.013913874,0.013913874 -15-10-2019 23:00,8415250.463,0.004869856,0.004869856 -16-10-2019 0:00,8414090.923,0.002782775,0.002782775 -16-10-2019 1:00,8412931.591,0.000695694,0.000695694 -16-10-2019 2:00,8411772.469,0.000695694,0.000695694 -16-10-2019 3:00,8410613.557,0.001391387,0.001391387 -16-10-2019 4:00,8409454.856,0.004869856,0.004869856 -16-10-2019 5:00,8408296.366,0.039327299,0.039327299 -16-10-2019 6:00,8407138.087,0.065644245,0.065644245 -16-10-2019 7:00,8405980.022,0.050921182,0.050921182 -16-10-2019 8:00,8404822.169,0.059344736,0.059344736 -16-10-2019 9:00,8403664.529,0.043738736,0.043738736 -16-10-2019 10:00,8402507.104,0.037489641,0.037489641 -16-10-2019 11:00,8401349.894,0.031738882,0.031738882 -16-10-2019 12:00,8400192.898,0.026106352,0.026106352 -16-10-2019 13:00,8399036.119,0.021566504,0.021566504 -16-10-2019 14:00,8397879.557,0.016696648,0.016696648 -16-10-2019 15:00,8396723.212,0.018783729,0.018783729 -16-10-2019 16:00,8395567.084,0.030699846,0.030699846 -16-10-2019 17:00,8394411.175,0.054803869,0.054803869 -16-10-2019 18:00,8393255.485,0.056280669,0.056280669 -16-10-2019 19:00,8392100.014,0.04957642,0.04957642 -16-10-2019 20:00,8390944.763,0.041003742,0.041003742 -16-10-2019 21:00,8389789.733,0.028662327,0.028662327 -16-10-2019 22:00,8388634.925,0.013913874,0.013913874 -16-10-2019 23:00,8387480.338,0.004869856,0.004869856 -17-10-2019 0:00,8386325.974,0.002782775,0.002782775 -17-10-2019 1:00,8385171.833,0.000695694,0.000695694 -17-10-2019 2:00,8384017.916,0.000695694,0.000695694 -17-10-2019 3:00,8382864.223,0.001391387,0.001391387 -17-10-2019 4:00,8381710.755,0.004869856,0.004869856 -17-10-2019 5:00,8380557.512,0.039302387,0.039302387 -17-10-2019 6:00,8379404.496,0.065578386,0.065578386 -17-10-2019 7:00,8378251.706,0.054564042,0.054564042 -17-10-2019 8:00,8377099.143,0.060941744,0.060941744 -17-10-2019 9:00,8375946.808,0.04403369,0.04403369 -17-10-2019 10:00,8374794.702,0.037950511,0.037950511 -17-10-2019 11:00,8373642.825,0.031734711,0.031734711 -17-10-2019 12:00,8372491.177,0.026297968,0.026297968 -17-10-2019 13:00,8371339.76,0.021566504,0.021566504 -17-10-2019 14:00,8370188.573,0.016696648,0.016696648 -17-10-2019 15:00,8369037.618,0.018783729,0.018783729 -17-10-2019 16:00,8367886.895,0.031025314,0.031025314 -17-10-2019 17:00,8366736.404,0.055639142,0.055639142 -17-10-2019 18:00,8365586.147,0.056648094,0.056648094 -17-10-2019 19:00,8364436.123,0.049853453,0.049853453 -17-10-2019 20:00,8363286.334,0.041122573,0.041122573 -17-10-2019 21:00,8362136.78,0.028760973,0.028760973 -17-10-2019 22:00,8360987.461,0.014789036,0.014789036 -17-10-2019 23:00,8359838.378,0.005392381,0.005392381 -18-10-2019 0:00,8358689.532,0.00297947,0.00297947 -18-10-2019 1:00,8357540.924,0.000695694,0.000695694 -18-10-2019 2:00,8356392.553,0.000695694,0.000695694 -18-10-2019 3:00,8355244.421,0.001391387,0.001391387 -18-10-2019 4:00,8354096.528,0.004869856,0.004869856 -18-10-2019 5:00,8352948.875,0.039467141,0.039467141 -18-10-2019 6:00,8351801.462,0.066538964,0.066538964 -18-10-2019 7:00,8350654.289,0.057323197,0.057323197 -18-10-2019 8:00,8349507.359,0.06452633,0.06452633 -18-10-2019 9:00,8348360.67,0.049324551,0.049324551 -18-10-2019 10:00,8347214.224,0.039527735,0.039527735 -18-10-2019 11:00,8346068.021,0.03330194,0.03330194 -18-10-2019 12:00,8344922.062,0.027485559,0.027485559 -18-10-2019 13:00,8343776.348,0.021566504,0.021566504 -18-10-2019 14:00,8342630.878,0.016696648,0.016696648 -18-10-2019 15:00,8341485.654,0.018918954,0.018918954 -18-10-2019 16:00,8340340.676,0.031843777,0.031843777 -18-10-2019 17:00,8339195.945,0.056120504,0.056120504 -18-10-2019 18:00,8338051.462,0.058800681,0.058800681 -18-10-2019 19:00,8336907.226,0.05933962,0.05933962 -18-10-2019 20:00,8335763.239,0.050469784,0.050469784 -18-10-2019 21:00,8334619.5,0.033312228,0.033312228 -18-10-2019 22:00,8333476.012,0.016102004,0.016102004 -18-10-2019 23:00,8332332.774,0.005685882,0.005685882 -19-10-2019 0:00,8331189.787,0.003029842,0.003029842 -19-10-2019 1:00,8330047.051,0.0007888,0.0007888 -19-10-2019 2:00,8328904.567,0.000695694,0.000695694 -19-10-2019 3:00,8327762.336,0.001391387,0.001391387 -19-10-2019 4:00,8326620.359,0.004869856,0.004869856 -19-10-2019 5:00,8325478.635,0.039715304,0.039715304 -19-10-2019 6:00,8324337.165,0.068831565,0.068831565 -19-10-2019 7:00,8323195.95,0.062601564,0.062601564 -19-10-2019 8:00,8322054.991,0.071643526,0.071643526 -19-10-2019 9:00,8320914.289,0.060561765,0.060561765 -19-10-2019 10:00,8319773.843,0.050257444,0.050257444 -19-10-2019 11:00,8318633.654,0.043639178,0.043639178 -19-10-2019 12:00,8317493.723,0.029949509,0.029949509 -19-10-2019 13:00,8316354.051,0.021988584,0.021988584 -19-10-2019 14:00,8315214.638,0.016696648,0.016696648 -19-10-2019 15:00,8314075.484,0.019035579,0.019035579 -19-10-2019 16:00,8312936.591,0.032771256,0.032771256 -19-10-2019 17:00,8311797.959,0.059756533,0.059756533 -19-10-2019 18:00,8310659.588,0.07056705,0.07056705 -19-10-2019 19:00,8309521.479,0.066628546,0.066628546 -19-10-2019 20:00,8308383.633,0.054169828,0.054169828 -19-10-2019 21:00,8307246.05,0.035267574,0.035267574 -19-10-2019 22:00,8306108.731,0.01715688,0.01715688 -19-10-2019 23:00,8304971.676,0.00624201,0.00624201 -20-10-2019 0:00,8303834.886,0.003171883,0.003171883 -20-10-2019 1:00,8302698.362,0.000811471,0.000811471 -20-10-2019 2:00,8301562.104,0.000695694,0.000695694 -20-10-2019 3:00,8300426.112,0.001391387,0.001391387 -20-10-2019 4:00,8299290.388,0.00492912,0.00492912 -20-10-2019 5:00,8298154.932,0.040119735,0.040119735 -20-10-2019 6:00,8297019.744,0.072325118,0.072325118 -20-10-2019 7:00,8295884.825,0.069858088,0.069858088 -20-10-2019 8:00,8294750.176,0.080863112,0.080863112 -20-10-2019 9:00,8293615.797,0.076110322,0.076110322 -20-10-2019 10:00,8292481.689,0.065406717,0.065406717 -20-10-2019 11:00,8291347.852,0.060704799,0.060704799 -20-10-2019 12:00,8290214.288,0.037324684,0.037324684 -20-10-2019 13:00,8289080.995,0.024698034,0.024698034 -20-10-2019 14:00,8287947.976,0.016974722,0.016974722 -20-10-2019 15:00,8286815.231,0.020389224,0.020389224 -20-10-2019 16:00,8285682.76,0.035593645,0.035593645 -20-10-2019 17:00,8284550.564,0.075501974,0.075501974 -20-10-2019 18:00,8283418.643,0.085522153,0.085522153 -20-10-2019 19:00,8282286.999,0.078116024,0.078116024 -20-10-2019 20:00,8281155.631,0.059860128,0.059860128 -20-10-2019 21:00,8280024.54,0.037375452,0.037375452 -20-10-2019 22:00,8278893.727,0.01775352,0.01775352 -20-10-2019 23:00,8277763.192,0.006425395,0.006425395 -21-10-2019 0:00,8276632.936,0.003222629,0.003222629 -21-10-2019 1:00,8275502.96,0.000831579,0.000831579 -21-10-2019 2:00,8274373.264,0.000695694,0.000695694 -21-10-2019 3:00,8273243.849,0.001391387,0.001391387 -21-10-2019 4:00,8272114.715,0.004989277,0.004989277 -21-10-2019 5:00,8270985.863,0.040419536,0.040419536 -21-10-2019 6:00,8269857.293,0.074693311,0.074693311 -21-10-2019 7:00,8268729.007,0.073550483,0.073550483 -21-10-2019 8:00,8267601.004,0.083848767,0.083848767 -21-10-2019 9:00,8266473.285,0.078827034,0.078827034 -21-10-2019 10:00,8265345.851,0.06839185,0.06839185 -21-10-2019 11:00,8264218.702,0.063996508,0.063996508 -21-10-2019 12:00,8263091.839,0.039501961,0.039501961 -21-10-2019 13:00,8261965.263,0.025208924,0.025208924 -21-10-2019 14:00,8260838.973,0.017144677,0.017144677 -21-10-2019 15:00,8259712.972,0.020755784,0.020755784 -21-10-2019 16:00,8258587.259,0.037568045,0.037568045 -21-10-2019 17:00,8257461.834,0.080330204,0.080330204 -21-10-2019 18:00,8256336.699,0.089378484,0.089378484 -21-10-2019 19:00,8255211.854,0.0801498,0.0801498 -21-10-2019 20:00,8254087.299,0.060528515,0.060528515 -21-10-2019 21:00,8252963.036,0.037757655,0.037757655 -21-10-2019 22:00,8251839.064,0.018073981,0.018073981 -21-10-2019 23:00,8250715.385,0.006476038,0.006476038 -22-10-2019 0:00,8249591.998,0.003230305,0.003230305 -22-10-2019 1:00,8248468.905,0.000834932,0.000834932 -22-10-2019 2:00,8247346.106,0.000695694,0.000695694 -22-10-2019 3:00,8246223.602,0.001391387,0.001391387 -22-10-2019 4:00,8245101.392,0.004990567,0.004990567 -22-10-2019 5:00,8243979.479,0.040415791,0.040415791 -22-10-2019 6:00,8242857.862,0.074631795,0.074631795 -22-10-2019 7:00,8241736.541,0.073095677,0.073095677 -22-10-2019 8:00,8240615.519,0.083931717,0.083931717 -22-10-2019 9:00,8239494.794,0.078212942,0.078212942 -22-10-2019 10:00,8238374.368,0.065853818,0.065853818 -22-10-2019 11:00,8237254.241,0.06153838,0.06153838 -22-10-2019 12:00,8236134.414,0.038400366,0.038400366 -22-10-2019 13:00,8235014.888,0.024415648,0.024415648 -22-10-2019 14:00,8233895.662,0.016946729,0.016946729 -22-10-2019 15:00,8232776.738,0.020464417,0.020464417 -22-10-2019 16:00,8231658.116,0.037112804,0.037112804 -22-10-2019 17:00,8230539.796,0.080916713,0.080916713 -22-10-2019 18:00,8229421.78,0.093602511,0.093602511 -22-10-2019 19:00,8228304.068,0.085278332,0.085278332 -22-10-2019 20:00,8227186.66,0.065313487,0.065313487 -22-10-2019 21:00,8226069.557,0.040406166,0.040406166 -22-10-2019 22:00,8224952.76,0.019291126,0.019291126 -22-10-2019 23:00,8223836.269,0.006968593,0.006968593 -23-10-2019 0:00,8222720.084,0.003378653,0.003378653 -23-10-2019 1:00,8221604.207,0.000880779,0.000880779 -23-10-2019 2:00,8220488.637,0.000695694,0.000695694 -23-10-2019 3:00,8219373.376,0.001637708,0.001637708 -23-10-2019 4:00,8218258.425,0.007463257,0.007463257 -23-10-2019 5:00,8217143.782,0.052970254,0.052970254 -23-10-2019 6:00,8216029.45,0.098926077,0.098926077 -23-10-2019 7:00,8214915.428,0.097608131,0.097608131 -23-10-2019 8:00,8213801.718,0.095234697,0.095234697 -23-10-2019 9:00,8212688.32,0.090199548,0.090199548 -23-10-2019 10:00,8211575.234,0.078526586,0.078526586 -23-10-2019 11:00,8210462.461,0.079828882,0.079828882 -23-10-2019 12:00,8209350.001,0.048071641,0.048071641 -23-10-2019 13:00,8208237.856,0.026134145,0.026134145 -23-10-2019 14:00,8207126.026,0.017370317,0.017370317 -23-10-2019 15:00,8206014.511,0.020068867,0.020068867 -23-10-2019 16:00,8204903.311,0.036785147,0.036785147 -23-10-2019 17:00,8203792.429,0.074826334,0.074826334 -23-10-2019 18:00,8202681.863,0.093154262,0.093154262 -23-10-2019 19:00,8201571.614,0.083769439,0.083769439 -23-10-2019 20:00,8200461.684,0.063274353,0.063274353 -23-10-2019 21:00,8199352.073,0.038798744,0.038798744 -23-10-2019 22:00,8198242.781,0.018394429,0.018394429 -23-10-2019 23:00,8197133.809,0.006619271,0.006619271 -24-10-2019 0:00,8196025.157,0.003265218,0.003265218 -24-10-2019 1:00,8194916.826,0.000850616,0.000850616 -24-10-2019 2:00,8193808.817,0.000695694,0.000695694 -24-10-2019 3:00,8192701.13,0.001413838,0.001413838 -24-10-2019 4:00,8191593.766,0.005165287,0.005165287 -24-10-2019 5:00,8190486.725,0.042263694,0.042263694 -24-10-2019 6:00,8189380.008,0.0800195,0.0800195 -24-10-2019 7:00,8188273.615,0.080496355,0.080496355 -24-10-2019 8:00,8187167.547,0.088414593,0.088414593 -24-10-2019 9:00,8186061.805,0.08407179,0.08407179 -24-10-2019 10:00,8184956.389,0.073866318,0.073866318 -24-10-2019 11:00,8183851.3,0.07041474,0.07041474 -24-10-2019 12:00,8182746.538,0.042886713,0.042886713 -24-10-2019 13:00,8181642.103,0.025735938,0.025735938 -24-10-2019 14:00,8180537.998,0.017153611,0.017153611 -24-10-2019 15:00,8179434.221,0.020061939,0.020061939 -24-10-2019 16:00,8178330.773,0.035113977,0.035113977 -24-10-2019 17:00,8177227.656,0.066327121,0.066327121 -24-10-2019 18:00,8176124.87,0.079660541,0.079660541 -24-10-2019 19:00,8175022.415,0.076062677,0.076062677 -24-10-2019 20:00,8173920.291,0.059007047,0.059007047 -24-10-2019 21:00,8172818.5,0.037077603,0.037077603 -24-10-2019 22:00,8171717.042,0.017815862,0.017815862 -24-10-2019 23:00,8170615.917,0.006381786,0.006381786 -25-10-2019 0:00,8169515.127,0.003196623,0.003196623 -25-10-2019 1:00,8168414.671,0.000830998,0.000830998 -25-10-2019 2:00,8167314.55,0.000695694,0.000695694 -25-10-2019 3:00,8166214.766,0.001391387,0.001391387 -25-10-2019 4:00,8165115.317,0.004901688,0.004901688 -25-10-2019 5:00,8164016.206,0.040024229,0.040024229 -25-10-2019 6:00,8162917.431,0.072802004,0.072802004 -25-10-2019 7:00,8161818.995,0.07224214,0.07224214 -25-10-2019 8:00,8160720.898,0.084062604,0.084062604 -25-10-2019 9:00,8159623.14,0.078534977,0.078534977 -25-10-2019 10:00,8158525.721,0.069498723,0.069498723 -25-10-2019 11:00,8157428.643,0.065999845,0.065999845 -25-10-2019 12:00,8156331.905,0.040965642,0.040965642 -25-10-2019 13:00,8155235.51,0.02567986,0.02567986 -25-10-2019 14:00,8154139.456,0.017394205,0.017394205 -25-10-2019 15:00,8153043.744,0.020779302,0.020779302 -25-10-2019 16:00,8151948.376,0.036594693,0.036594693 -25-10-2019 17:00,8150853.351,0.075558004,0.075558004 -25-10-2019 18:00,8149758.671,0.084684828,0.084684828 -25-10-2019 19:00,8148664.335,0.074716939,0.074716939 -25-10-2019 20:00,8147570.345,0.057009426,0.057009426 -25-10-2019 21:00,8146476.701,0.036161595,0.036161595 -25-10-2019 22:00,8145383.403,0.017265281,0.017265281 -25-10-2019 23:00,8144290.453,0.006147909,0.006147909 -26-10-2019 0:00,8143197.85,0.003132734,0.003132734 -26-10-2019 1:00,8142105.595,0.000808601,0.000808601 -26-10-2019 2:00,8141013.689,0.000695694,0.000695694 -26-10-2019 3:00,8139922.132,0.001391387,0.001391387 -26-10-2019 4:00,8138830.925,0.004869856,0.004869856 -26-10-2019 5:00,8137740.069,0.039474025,0.039474025 -26-10-2019 6:00,8136649.563,0.069274529,0.069274529 -26-10-2019 7:00,8135559.409,0.065949118,0.065949118 -26-10-2019 8:00,8134469.607,0.07422025,0.07422025 -26-10-2019 9:00,8133380.158,0.060099086,0.060099086 -26-10-2019 10:00,8132291.062,0.046103623,0.046103623 -26-10-2019 11:00,8131202.32,0.03844846,0.03844846 -26-10-2019 12:00,8130113.933,0.0268445,0.0268445 -26-10-2019 13:00,8129025.9,0.021566504,0.021566504 -26-10-2019 14:00,8127938.223,0.016696648,0.016696648 -26-10-2019 15:00,8126850.901,0.018789939,0.018789939 -26-10-2019 16:00,8125763.937,0.031072442,0.031072442 -26-10-2019 17:00,8124677.329,0.055768072,0.055768072 -26-10-2019 18:00,8123591.079,0.057212539,0.057212539 -26-10-2019 19:00,8122505.188,0.05161521,0.05161521 -26-10-2019 20:00,8121419.655,0.044753824,0.044753824 -26-10-2019 21:00,8120334.482,0.030965678,0.030965678 -26-10-2019 22:00,8119249.668,0.015515647,0.015515647 -26-10-2019 23:00,8118165.215,0.005718961,0.005718961 -27-10-2019 0:00,8117081.124,0.003126915,0.003126915 -27-10-2019 1:00,8115997.393,0.001053627,0.001053627 -27-10-2019 2:00,8114914.025,0.000810398,0.000810398 -27-10-2019 3:00,8113831.02,0.001391387,0.001391387 -27-10-2019 4:00,8112748.378,0.004869856,0.004869856 -27-10-2019 5:00,8111666.1,0.038958846,0.038958846 -27-10-2019 6:00,8110584.186,0.065488389,0.065488389 -27-10-2019 7:00,8109502.638,0.054671589,0.054671589 -27-10-2019 8:00,8108421.454,0.067997922,0.067997922 -27-10-2019 9:00,8107340.637,0.05316274,0.05316274 -27-10-2019 10:00,8106260.187,0.057181486,0.057181486 -27-10-2019 11:00,8105180.103,0.057159175,0.057159175 -27-10-2019 12:00,8104100.388,0.043635849,0.043635849 -27-10-2019 13:00,8103021.041,0.028450739,0.028450739 -27-10-2019 14:00,8101942.062,0.017802634,0.017802634 -27-10-2019 15:00,8100863.453,0.022020153,0.022020153 -27-10-2019 16:00,8099785.214,0.042690823,0.042690823 -27-10-2019 17:00,8098707.346,0.089606739,0.089606739 -27-10-2019 18:00,8097629.848,0.100610143,0.100610143 -27-10-2019 19:00,8096552.723,0.092868609,0.092868609 -27-10-2019 20:00,8095475.969,0.078721016,0.078721016 -27-10-2019 21:00,8094399.588,0.052472736,0.052472736 -27-10-2019 22:00,8093323.58,0.025756338,0.025756338 -27-10-2019 23:00,8092247.947,0.013281577,0.013281577 -28-10-2019 0:00,8091172.687,0.008702855,0.008702855 -28-10-2019 1:00,8090097.803,0.002261083,0.002261083 -28-10-2019 2:00,8089023.294,0.000893663,0.000893663 -28-10-2019 3:00,8087949.161,0.001391387,0.001391387 -28-10-2019 4:00,8086875.405,0.00545811,0.00545811 -28-10-2019 5:00,8085802.026,0.044416466,0.044416466 -28-10-2019 6:00,8084729.025,0.088257716,0.088257716 -28-10-2019 7:00,8083656.402,0.098944471,0.098944471 -28-10-2019 8:00,8082584.157,0.090513281,0.090513281 -28-10-2019 9:00,8081512.293,0.085463828,0.085463828 -28-10-2019 10:00,8080440.808,0.069406044,0.069406044 -28-10-2019 11:00,8079369.703,0.064998135,0.064998135 -28-10-2019 12:00,8078298.98,0.050956818,0.050956818 -28-10-2019 13:00,8077228.638,0.035562918,0.035562918 -28-10-2019 14:00,8076158.678,0.018415618,0.018415618 -28-10-2019 15:00,8075089.101,0.024289945,0.024289945 -28-10-2019 16:00,8074019.907,0.059856394,0.059856394 -28-10-2019 17:00,8072951.097,0.114281204,0.114281204 -28-10-2019 18:00,8071882.671,0.124504075,0.124504075 -28-10-2019 19:00,8070814.63,0.16800252,0.16800252 -28-10-2019 20:00,8069746.975,0.167342864,0.167342864 -28-10-2019 21:00,8068679.706,0.112498587,0.112498587 -28-10-2019 22:00,8067612.823,0.055263567,0.055263567 -28-10-2019 23:00,8066546.327,0.024821612,0.024821612 -29-10-2019 0:00,8065480.219,0.010151507,0.010151507 -29-10-2019 1:00,8064414.498,0.002559275,0.002559275 -29-10-2019 2:00,8063349.167,0.00093263,0.00093263 -29-10-2019 3:00,8062284.225,0.002068701,0.002068701 -29-10-2019 4:00,8061219.673,0.007181907,0.007181907 -29-10-2019 5:00,8060155.511,0.056231644,0.056231644 -29-10-2019 6:00,8059091.74,0.117900306,0.117900306 -29-10-2019 7:00,8058028.36,0.133342706,0.133342706 -29-10-2019 8:00,8056965.373,0.116007119,0.116007119 -29-10-2019 9:00,8055902.778,0.102055223,0.102055223 -29-10-2019 10:00,8054840.576,0.091994609,0.091994609 -29-10-2019 11:00,8053778.768,0.099565436,0.099565436 -29-10-2019 12:00,8052717.354,0.052825052,0.052825052 -29-10-2019 13:00,8051656.334,0.036815197,0.036815197 -29-10-2019 14:00,8050595.71,0.019000833,0.019000833 -29-10-2019 15:00,8049535.482,0.025411497,0.025411497 -29-10-2019 16:00,8048475.65,0.074699224,0.074699224 -29-10-2019 17:00,8047416.215,0.149597722,0.149597722 -29-10-2019 18:00,8046357.178,0.206214764,0.206214764 -29-10-2019 19:00,8045298.538,0.223787507,0.223787507 -29-10-2019 20:00,8044240.297,0.192993375,0.192993375 -29-10-2019 21:00,8043182.456,0.130297263,0.130297263 -29-10-2019 22:00,8042125.013,0.064535076,0.064535076 -29-10-2019 23:00,8041067.971,0.029039889,0.029039889 -30-10-2019 0:00,8040011.33,0.012115473,0.012115473 -30-10-2019 1:00,8038955.09,0.00320172,0.00320172 -30-10-2019 2:00,8037899.252,0.00167321,0.00167321 -30-10-2019 3:00,8036843.816,0.002974257,0.002974257 -30-10-2019 4:00,8035788.783,0.009471302,0.009471302 -30-10-2019 5:00,8034734.154,0.072719647,0.072719647 -30-10-2019 6:00,8033679.928,0.159091661,0.159091661 -30-10-2019 7:00,8032626.107,0.196791231,0.196791231 -30-10-2019 8:00,8031572.692,0.144301003,0.144301003 -30-10-2019 9:00,8030519.681,0.144520248,0.144520248 -30-10-2019 10:00,8029467.077,0.14198142,0.14198142 -30-10-2019 11:00,8028414.88,0.162908361,0.162908361 -30-10-2019 12:00,8027363.09,0.110030842,0.110030842 -30-10-2019 13:00,8026311.707,0.043046815,0.043046815 -30-10-2019 14:00,8025260.733,0.019572289,0.019572289 -30-10-2019 15:00,8024210.168,0.030472471,0.030472471 -30-10-2019 16:00,8023160.012,0.099680081,0.099680081 -30-10-2019 17:00,8022110.266,0.1936965,0.1936965 -30-10-2019 18:00,8021060.931,0.265587552,0.265587552 -30-10-2019 19:00,8020012.007,0.26722867,0.26722867 -30-10-2019 20:00,8018963.494,0.225411124,0.225411124 -30-10-2019 21:00,8017915.393,0.149610135,0.149610135 -30-10-2019 22:00,8016867.705,0.074348321,0.074348321 -30-10-2019 23:00,8015820.43,0.034904484,0.034904484 -31-10-2019 0:00,8014773.569,0.014240225,0.014240225 -31-10-2019 1:00,8013727.122,0.004535511,0.004535511 -31-10-2019 2:00,8012681.09,0.002587476,0.002587476 -31-10-2019 3:00,8011635.474,0.003743456,0.003743456 -31-10-2019 4:00,8010590.273,0.013715156,0.013715156 -31-10-2019 5:00,8009545.488,0.102867618,0.102867618 -31-10-2019 6:00,8008501.121,0.226511497,0.226511497 -31-10-2019 7:00,8007457.171,0.276868014,0.276868014 -31-10-2019 8:00,8006413.639,0.185189106,0.185189106 -31-10-2019 9:00,8005370.525,0.191520192,0.191520192 -31-10-2019 10:00,8004327.831,0.217817867,0.217817867 -31-10-2019 11:00,8003285.556,0.254073806,0.254073806 -31-10-2019 12:00,8002243.701,0.190121555,0.190121555 -31-10-2019 13:00,8001202.267,0.10041344,0.10041344 -31-10-2019 14:00,8000161.255,0.04768507,0.04768507 -31-10-2019 15:00,7999120.664,0.109128861,0.109128861 -31-10-2019 16:00,7998080.495,0.242172378,0.242172378 -31-10-2019 17:00,7997040.75,0.351604098,0.351604098 -31-10-2019 18:00,7996001.427,0.344716167,0.344716167 -31-10-2019 19:00,7994962.529,0.324320121,0.324320121 -31-10-2019 20:00,7993924.055,0.268332219,0.268332219 -31-10-2019 21:00,7992886.006,0.18055084,0.18055084 -31-10-2019 22:00,7991848.383,0.08962929,0.08962929 -31-10-2019 23:00,7990811.185,0.040710313,0.040710313 -01-11-2019 0:00,7989774.414,0.016501105,0.016501105 -01-11-2019 1:00,7988738.071,0.005493383,0.005493383 -01-11-2019 2:00,7987702.155,0.003137499,0.003137499 -01-11-2019 3:00,7986666.667,0.005049497,0.005049497 -01-11-2019 4:00,7985631.608,0.020944978,0.020944978 -01-11-2019 5:00,7984596.978,0.130734573,0.130734573 -01-11-2019 6:00,7983562.777,0.270752496,0.270752496 -01-11-2019 7:00,7982529.008,0.336729773,0.336729773 -01-11-2019 8:00,7981495.669,0.275224335,0.275224335 -01-11-2019 9:00,7980462.761,0.290622854,0.290622854 -01-11-2019 10:00,7979430.285,0.319607498,0.319607498 -01-11-2019 11:00,7978398.242,0.42616353,0.42616353 -01-11-2019 12:00,7977366.632,0.369744855,0.369744855 -01-11-2019 13:00,7976335.455,0.201966138,0.201966138 -01-11-2019 14:00,7975304.712,0.116105836,0.116105836 -01-11-2019 15:00,7974274.404,0.276089147,0.276089147 -01-11-2019 16:00,7973244.531,0.311857894,0.311857894 -01-11-2019 17:00,7972215.094,0.341200158,0.341200158 -01-11-2019 18:00,7971186.092,0.321713851,0.321713851 -01-11-2019 19:00,7970157.528,0.288436811,0.288436811 -01-11-2019 20:00,7969129.4,0.231096357,0.231096357 -01-11-2019 21:00,7968101.711,0.148493396,0.148493396 -01-11-2019 22:00,7967074.459,0.06994136,0.06994136 -01-11-2019 23:00,7966047.646,0.03057872,0.03057872 -02-11-2019 0:00,7965021.273,0.012273195,0.012273195 -02-11-2019 1:00,7963995.34,0.003466282,0.003466282 -02-11-2019 2:00,7962969.847,0.001916125,0.001916125 -02-11-2019 3:00,7961944.794,0.002597412,0.002597412 -02-11-2019 4:00,7960920.184,0.008969454,0.008969454 -02-11-2019 5:00,7959896.015,0.066404705,0.066404705 -02-11-2019 6:00,7958872.289,0.141339317,0.141339317 -02-11-2019 7:00,7957849.005,0.176277323,0.176277323 -02-11-2019 8:00,7956826.166,0.164815881,0.164815881 -02-11-2019 9:00,7955803.77,0.201532598,0.201532598 -02-11-2019 10:00,7954781.819,0.214607394,0.214607394 -02-11-2019 11:00,7953760.313,0.287270767,0.287270767 -02-11-2019 12:00,7952739.253,0.252159107,0.252159107 -02-11-2019 13:00,7951718.639,0.12713034,0.12713034 -02-11-2019 14:00,7950698.471,0.063646282,0.063646282 -02-11-2019 15:00,7949678.751,0.125934168,0.125934168 -02-11-2019 16:00,7948659.479,0.233621333,0.233621333 -02-11-2019 17:00,7947640.654,0.280384252,0.280384252 -02-11-2019 18:00,7946622.279,0.276102212,0.276102212 -02-11-2019 19:00,7945604.353,0.255943627,0.255943627 -02-11-2019 20:00,7944586.877,0.208139144,0.208139144 -02-11-2019 21:00,7943569.851,0.136077125,0.136077125 -02-11-2019 22:00,7942553.276,0.064806432,0.064806432 -02-11-2019 23:00,7941537.152,0.028926662,0.028926662 -03-11-2019 0:00,7940521.481,0.011806846,0.011806846 -03-11-2019 1:00,7939506.261,0.003214377,0.003214377 -03-11-2019 2:00,7938491.495,0.001470969,0.001470969 -03-11-2019 3:00,7937477.183,0.002316292,0.002316292 -03-11-2019 4:00,7936463.324,0.007601381,0.007601381 -03-11-2019 5:00,7935449.92,0.060881232,0.060881232 -03-11-2019 6:00,7934436.971,0.131669553,0.131669553 -03-11-2019 7:00,7933424.477,0.173017118,0.173017118 -03-11-2019 8:00,7932412.44,0.162148876,0.162148876 -03-11-2019 9:00,7931400.859,0.195112074,0.195112074 -03-11-2019 10:00,7930389.735,0.227337876,0.227337876 -03-11-2019 11:00,7929379.07,0.299403542,0.299403542 -03-11-2019 12:00,7928368.862,0.259673751,0.259673751 -03-11-2019 13:00,7927359.113,0.140358444,0.140358444 -03-11-2019 14:00,7926349.823,0.071392265,0.071392265 -03-11-2019 15:00,7925340.993,0.15865089,0.15865089 -03-11-2019 16:00,7924332.623,0.252563857,0.252563857 -03-11-2019 17:00,7923324.714,0.291349736,0.291349736 -03-11-2019 18:00,7922317.266,0.284591171,0.284591171 -03-11-2019 19:00,7921310.281,0.260896738,0.260896738 -03-11-2019 20:00,7920303.757,0.213996223,0.213996223 -03-11-2019 21:00,7919297.696,0.139639219,0.139639219 -03-11-2019 22:00,7918292.099,0.066224988,0.066224988 -03-11-2019 23:00,7917286.966,0.029785415,0.029785415 -04-11-2019 0:00,7916282.297,0.012111044,0.012111044 -04-11-2019 1:00,7915278.092,0.003184223,0.003184223 -04-11-2019 2:00,7914274.354,0.001403212,0.001403212 -04-11-2019 3:00,7913271.081,0.002208718,0.002208718 -04-11-2019 4:00,7912268.275,0.007441899,0.007441899 -04-11-2019 5:00,7911265.936,0.058575615,0.058575615 -04-11-2019 6:00,7910264.064,0.124744539,0.124744539 -04-11-2019 7:00,7909262.66,0.163383635,0.163383635 -04-11-2019 8:00,7908261.725,0.157005923,0.157005923 -04-11-2019 9:00,7907261.259,0.195629116,0.195629116 -04-11-2019 10:00,7906261.263,0.229055747,0.229055747 -04-11-2019 11:00,7905261.736,0.304514383,0.304514383 -04-11-2019 12:00,7904262.68,0.264938211,0.264938211 -04-11-2019 13:00,7903264.096,0.142365308,0.142365308 -04-11-2019 14:00,7902265.983,0.07149224,0.07149224 -04-11-2019 15:00,7901268.342,0.156032835,0.156032835 -04-11-2019 16:00,7900271.173,0.255314147,0.255314147 -04-11-2019 17:00,7899274.478,0.293235649,0.293235649 -04-11-2019 18:00,7898278.257,0.285045068,0.285045068 -04-11-2019 19:00,7897282.509,0.26107269,0.26107269 -04-11-2019 20:00,7896287.237,0.212200924,0.212200924 -04-11-2019 21:00,7895292.439,0.137487317,0.137487317 -04-11-2019 22:00,7894298.118,0.065652767,0.065652767 -04-11-2019 23:00,7893304.272,0.029047131,0.029047131 -05-11-2019 0:00,7892310.904,0.011920413,0.011920413 -05-11-2019 1:00,7891318.012,0.003198136,0.003198136 -05-11-2019 2:00,7890325.599,0.001365882,0.001365882 -05-11-2019 3:00,7889333.663,0.002181859,0.002181859 -05-11-2019 4:00,7888342.207,0.007786024,0.007786024 -05-11-2019 5:00,7887351.229,0.059661517,0.059661517 -05-11-2019 6:00,7886360.732,0.130081324,0.130081324 -05-11-2019 7:00,7885370.715,0.174023558,0.174023558 -05-11-2019 8:00,7884381.178,0.163167945,0.163167945 -05-11-2019 9:00,7883392.123,0.203664242,0.203664242 -05-11-2019 10:00,7882403.55,0.240397899,0.240397899 -05-11-2019 11:00,7881415.46,0.321814574,0.321814574 -05-11-2019 12:00,7880427.852,0.280870654,0.280870654 -05-11-2019 13:00,7879440.727,0.152537814,0.152537814 -05-11-2019 14:00,7878454.086,0.07979524,0.07979524 -05-11-2019 15:00,7877467.93,0.18941633,0.18941633 -05-11-2019 16:00,7876482.259,0.266589669,0.266589669 -05-11-2019 17:00,7875497.073,0.305873616,0.305873616 -05-11-2019 18:00,7874512.373,0.297515443,0.297515443 -05-11-2019 19:00,7873528.159,0.268449109,0.268449109 -05-11-2019 20:00,7872544.432,0.216430444,0.216430444 -05-11-2019 21:00,7871561.193,0.140527529,0.140527529 -05-11-2019 22:00,7870578.442,0.066954953,0.066954953 -05-11-2019 23:00,7869596.179,0.029661297,0.029661297 -06-11-2019 0:00,7868614.405,0.012116166,0.012116166 -06-11-2019 1:00,7867633.12,0.003237265,0.003237265 -06-11-2019 2:00,7866652.326,0.001395316,0.001395316 -06-11-2019 3:00,7865672.022,0.002237225,0.002237225 -06-11-2019 4:00,7864692.209,0.008175007,0.008175007 -06-11-2019 5:00,7863712.887,0.061329477,0.061329477 -06-11-2019 6:00,7862734.057,0.135514979,0.135514979 -06-11-2019 7:00,7861755.72,0.184316481,0.184316481 -06-11-2019 8:00,7860777.876,0.16981018,0.16981018 -06-11-2019 9:00,7859800.525,0.211682273,0.211682273 -06-11-2019 10:00,7858823.668,0.23914738,0.23914738 -06-11-2019 11:00,7857847.306,0.29293502,0.29293502 -06-11-2019 12:00,7856871.438,0.274284701,0.274284701 -06-11-2019 13:00,7855896.067,0.150401,0.150401 -06-11-2019 14:00,7854921.191,0.081447892,0.081447892 -06-11-2019 15:00,7853946.811,0.215432428,0.215432428 -06-11-2019 16:00,7852972.929,0.291185424,0.291185424 -06-11-2019 17:00,7851999.544,0.323707068,0.323707068 -06-11-2019 18:00,7851026.657,0.311567474,0.311567474 -06-11-2019 19:00,7850054.269,0.285372818,0.285372818 -06-11-2019 20:00,7849082.38,0.23281921,0.23281921 -06-11-2019 21:00,7848110.99,0.150539177,0.150539177 -06-11-2019 22:00,7847140.1,0.071731808,0.071731808 -06-11-2019 23:00,7846169.711,0.032144906,0.032144906 -07-11-2019 0:00,7845199.822,0.012897459,0.012897459 -07-11-2019 1:00,7844230.435,0.003450291,0.003450291 -07-11-2019 2:00,7843261.551,0.001757341,0.001757341 -07-11-2019 3:00,7842293.168,0.002562721,0.002562721 -07-11-2019 4:00,7841325.289,0.010105306,0.010105306 -07-11-2019 5:00,7840357.913,0.070883712,0.070883712 -07-11-2019 6:00,7839391.041,0.159673349,0.159673349 -07-11-2019 7:00,7838424.674,0.215809709,0.215809709 -07-11-2019 8:00,7837458.811,0.188844299,0.188844299 -07-11-2019 9:00,7836493.454,0.227916948,0.227916948 -07-11-2019 10:00,7835528.603,0.265519811,0.265519811 -07-11-2019 11:00,7834564.259,0.360046625,0.360046625 -07-11-2019 12:00,7833600.421,0.323134996,0.323134996 -07-11-2019 13:00,7832637.091,0.17678525,0.17678525 -07-11-2019 14:00,7831674.269,0.098797994,0.098797994 -07-11-2019 15:00,7830711.955,0.25182278,0.25182278 -07-11-2019 16:00,7829750.15,0.29370375,0.29370375 -07-11-2019 17:00,7828788.855,0.329397498,0.329397498 -07-11-2019 18:00,7827828.07,0.320475371,0.320475371 -07-11-2019 19:00,7826867.795,0.293972512,0.293972512 -07-11-2019 20:00,7825908.031,0.242787294,0.242787294 -07-11-2019 21:00,7824948.778,0.159265515,0.159265515 -07-11-2019 22:00,7823990.038,0.077059628,0.077059628 -07-11-2019 23:00,7823031.809,0.034487628,0.034487628 -08-11-2019 0:00,7822074.094,0.01408645,0.01408645 -08-11-2019 1:00,7821116.892,0.004082875,0.004082875 -08-11-2019 2:00,7820160.204,0.002235433,0.002235433 -08-11-2019 3:00,7819204.03,0.003501802,0.003501802 -08-11-2019 4:00,7818248.371,0.014524977,0.014524977 -08-11-2019 5:00,7817293.228,0.09715294,0.09715294 -08-11-2019 6:00,7816338.6,0.222982064,0.222982064 -08-11-2019 7:00,7815384.489,0.290405354,0.290405354 -08-11-2019 8:00,7814430.895,0.196784789,0.196784789 -08-11-2019 9:00,7813477.818,0.19341262,0.19341262 -08-11-2019 10:00,7812525.258,0.201669825,0.201669825 -08-11-2019 11:00,7811573.217,0.2498236,0.2498236 -08-11-2019 12:00,7810621.695,0.204129544,0.204129544 -08-11-2019 13:00,7809670.692,0.101932143,0.101932143 -08-11-2019 14:00,7808720.209,0.051898899,0.051898899 -08-11-2019 15:00,7807770.246,0.111310946,0.111310946 -08-11-2019 16:00,7806820.804,0.277935633,0.277935633 -08-11-2019 17:00,7805871.883,0.365756705,0.365756705 -08-11-2019 18:00,7804923.484,0.36194509,0.36194509 -08-11-2019 19:00,7803975.607,0.338972742,0.338972742 -08-11-2019 20:00,7803028.253,0.27448066,0.27448066 -08-11-2019 21:00,7802081.422,0.175623349,0.175623349 -08-11-2019 22:00,7801135.114,0.085327521,0.085327521 -08-11-2019 23:00,7800189.331,0.038273913,0.038273913 -09-11-2019 0:00,7799244.073,0.015492185,0.015492185 -09-11-2019 1:00,7798299.339,0.004991216,0.004991216 -09-11-2019 2:00,7797355.131,0.002782552,0.002782552 -09-11-2019 3:00,7796411.45,0.00364949,0.00364949 -09-11-2019 4:00,7795468.295,0.018635055,0.018635055 -09-11-2019 5:00,7794525.667,0.110702277,0.110702277 -09-11-2019 6:00,7793583.566,0.241993694,0.241993694 -09-11-2019 7:00,7792641.994,0.312873003,0.312873003 -09-11-2019 8:00,7791700.95,0.25462844,0.25462844 -09-11-2019 9:00,7790760.435,0.273618484,0.273618484 -09-11-2019 10:00,7789820.45,0.307215018,0.307215018 -09-11-2019 11:00,7788880.995,0.415071311,0.415071311 -09-11-2019 12:00,7787942.07,0.355265787,0.355265787 -09-11-2019 13:00,7787003.676,0.205456577,0.205456577 -09-11-2019 14:00,7786065.813,0.116501033,0.116501033 -09-11-2019 15:00,7785128.483,0.309430765,0.309430765 -09-11-2019 16:00,7784191.685,0.33427575,0.33427575 -09-11-2019 17:00,7783255.419,0.371951178,0.371951178 -09-11-2019 18:00,7782319.687,0.355673887,0.355673887 -09-11-2019 19:00,7781384.489,0.327249352,0.327249352 -09-11-2019 20:00,7780449.826,0.270086396,0.270086396 -09-11-2019 21:00,7779515.697,0.17815619,0.17815619 -09-11-2019 22:00,7778582.103,0.088240908,0.088240908 -09-11-2019 23:00,7777649.045,0.040430548,0.040430548 -10-11-2019 0:00,7776716.523,0.016491345,0.016491345 -10-11-2019 1:00,7775784.538,0.005585942,0.005585942 -10-11-2019 2:00,7774853.091,0.003276159,0.003276159 -10-11-2019 3:00,7773922.181,0.005207194,0.005207194 -10-11-2019 4:00,7772991.809,0.027172168,0.027172168 -10-11-2019 5:00,7772061.976,0.147069925,0.147069925 -10-11-2019 6:00,7771132.682,0.320073331,0.320073331 -10-11-2019 7:00,7770203.927,0.40607925,0.40607925 -10-11-2019 8:00,7769275.713,0.281721367,0.281721367 -10-11-2019 9:00,7768348.039,0.250508905,0.250508905 -10-11-2019 10:00,7767420.906,0.24149905,0.24149905 -10-11-2019 11:00,7766494.315,0.310303262,0.310303262 -10-11-2019 12:00,7765568.265,0.25247953,0.25247953 -10-11-2019 13:00,7764642.758,0.126798286,0.126798286 -10-11-2019 14:00,7763717.795,0.061682655,0.061682655 -10-11-2019 15:00,7762793.374,0.139440123,0.139440123 -10-11-2019 16:00,7761869.497,0.351093072,0.351093072 -10-11-2019 17:00,7760946.165,0.4209121,0.4209121 -10-11-2019 18:00,7760023.378,0.417608015,0.417608015 -10-11-2019 19:00,7759101.136,0.391958681,0.391958681 -10-11-2019 20:00,7758179.439,0.32618848,0.32618848 -10-11-2019 21:00,7757258.289,0.213740435,0.213740435 -10-11-2019 22:00,7756337.686,0.100326205,0.100326205 -10-11-2019 23:00,7755417.63,0.045559921,0.045559921 -11-11-2019 0:00,7754498.122,0.018749196,0.018749196 -11-11-2019 1:00,7753579.161,0.006590454,0.006590454 -11-11-2019 2:00,7752660.75,0.004399751,0.004399751 -11-11-2019 3:00,7751742.887,0.007820808,0.007820808 -11-11-2019 4:00,7750825.574,0.036735146,0.036735146 -11-11-2019 5:00,7749908.811,0.171234642,0.171234642 -11-11-2019 6:00,7748992.599,0.352820045,0.352820045 -11-11-2019 7:00,7748076.938,0.445324761,0.445324761 -11-11-2019 8:00,7747161.828,0.371995902,0.371995902 -11-11-2019 9:00,7746247.27,0.36592176,0.36592176 -11-11-2019 10:00,7745333.264,0.378135663,0.378135663 -11-11-2019 11:00,7744419.811,0.518083497,0.518083497 -11-11-2019 12:00,7743506.912,0.453160188,0.453160188 -11-11-2019 13:00,7742594.566,0.278213577,0.278213577 -11-11-2019 14:00,7741682.775,0.212440935,0.212440935 -11-11-2019 15:00,7740771.539,0.38956082,0.38956082 -11-11-2019 16:00,7739860.857,0.397540034,0.397540034 -11-11-2019 17:00,7738950.732,0.426342792,0.426342792 -11-11-2019 18:00,7738041.162,0.40880514,0.40880514 -11-11-2019 19:00,7737132.149,0.373831624,0.373831624 -11-11-2019 20:00,7736223.694,0.308366734,0.308366734 -11-11-2019 21:00,7735315.795,0.200479616,0.200479616 -11-11-2019 22:00,7734408.455,0.096239446,0.096239446 -11-11-2019 23:00,7733501.674,0.042149913,0.042149913 -12-11-2019 0:00,7732595.451,0.017486928,0.017486928 -12-11-2019 1:00,7731689.788,0.006049166,0.006049166 -12-11-2019 2:00,7730784.684,0.003535081,0.003535081 -12-11-2019 3:00,7729880.141,0.006040166,0.006040166 -12-11-2019 4:00,7728976.159,0.031363512,0.031363512 -12-11-2019 5:00,7728072.738,0.153208067,0.153208067 -12-11-2019 6:00,7727169.879,0.328906207,0.328906207 -12-11-2019 7:00,7726267.582,0.427414941,0.427414941 -12-11-2019 8:00,7725365.848,0.516237891,0.516237891 -12-11-2019 9:00,7724464.676,0.396961124,0.396961124 -12-11-2019 10:00,7723564.069,0.404330456,0.404330456 -12-11-2019 11:00,7722664.026,0.56029097,0.56029097 -12-11-2019 12:00,7721764.547,0.435214769,0.435214769 -12-11-2019 13:00,7720865.633,0.271235664,0.271235664 -12-11-2019 14:00,7719967.284,0.389115626,0.389115626 -12-11-2019 15:00,7719069.502,0.408764333,0.408764333 -12-11-2019 16:00,7718172.286,0.412194383,0.412194383 -12-11-2019 17:00,7717275.636,0.440781685,0.440781685 -12-11-2019 18:00,7716379.554,0.422633047,0.422633047 -12-11-2019 19:00,7715484.04,0.387743666,0.387743666 -12-11-2019 20:00,7714589.094,0.319465034,0.319465034 -12-11-2019 21:00,7713694.717,0.206234036,0.206234036 -12-11-2019 22:00,7712800.909,0.098049504,0.098049504 -12-11-2019 23:00,7711907.67,0.042547771,0.042547771 -13-11-2019 0:00,7711015.002,0.017799569,0.017799569 -13-11-2019 1:00,7710122.904,0.006079431,0.006079431 -13-11-2019 2:00,7709231.377,0.003655834,0.003655834 -13-11-2019 3:00,7708340.421,0.006236482,0.006236482 -13-11-2019 4:00,7707450.038,0.032296584,0.032296584 -13-11-2019 5:00,7706560.226,0.154201726,0.154201726 -13-11-2019 6:00,7705670.988,0.326969988,0.326969988 -13-11-2019 7:00,7704782.323,0.420692541,0.420692541 -13-11-2019 8:00,7703894.231,0.497851985,0.497851985 -13-11-2019 9:00,7703006.714,0.3901376,0.3901376 -13-11-2019 10:00,7702119.772,0.390309964,0.390309964 -13-11-2019 11:00,7701233.404,0.540115076,0.540115076 -13-11-2019 12:00,7700347.612,0.465081452,0.465081452 -13-11-2019 13:00,7699462.396,0.301938485,0.301938485 -13-11-2019 14:00,7698577.757,0.401329911,0.401329911 -13-11-2019 15:00,7697693.694,0.417760305,0.417760305 -13-11-2019 16:00,7696810.209,0.41205984,0.41205984 -13-11-2019 17:00,7695927.302,0.441178276,0.441178276 -13-11-2019 18:00,7695044.973,0.429345116,0.429345116 -13-11-2019 19:00,7694163.223,0.392016211,0.392016211 -13-11-2019 20:00,7693282.052,0.318000339,0.318000339 -13-11-2019 21:00,7692401.46,0.204678743,0.204678743 -13-11-2019 22:00,7691521.449,0.098837451,0.098837451 -13-11-2019 23:00,7690642.018,0.042709657,0.042709657 -14-11-2019 0:00,7689763.169,0.017989276,0.017989276 -14-11-2019 1:00,7688884.9,0.00621877,0.00621877 -14-11-2019 2:00,7688007.214,0.00377604,0.00377604 -14-11-2019 3:00,7687130.11,0.0066448,0.0066448 -14-11-2019 4:00,7686253.589,0.034605478,0.034605478 -14-11-2019 5:00,7685377.651,0.162968069,0.162968069 -14-11-2019 6:00,7684502.297,0.342958493,0.342958493 -14-11-2019 7:00,7683627.527,0.443787993,0.443787993 -14-11-2019 8:00,7682753.341,0.531475196,0.531475196 -14-11-2019 9:00,7681879.741,0.408222015,0.408222015 -14-11-2019 10:00,7681006.726,0.406777282,0.406777282 -14-11-2019 11:00,7680134.297,0.546697373,0.546697373 -14-11-2019 12:00,7679262.455,0.470393181,0.470393181 -14-11-2019 13:00,7678391.199,0.314862083,0.314862083 -14-11-2019 14:00,7677520.531,0.404061757,0.404061757 -14-11-2019 15:00,7676650.451,0.419931594,0.419931594 -14-11-2019 16:00,7675780.958,0.409729159,0.409729159 -14-11-2019 17:00,7674912.055,0.435689312,0.435689312 -14-11-2019 18:00,7674043.74,0.418174716,0.418174716 -14-11-2019 19:00,7673176.015,0.382412613,0.382412613 -14-11-2019 20:00,7672308.88,0.314914597,0.314914597 -14-11-2019 21:00,7671442.336,0.206189646,0.206189646 -14-11-2019 22:00,7670576.382,0.098985802,0.098985802 -14-11-2019 23:00,7669711.02,0.043348809,0.043348809 -15-11-2019 0:00,7668846.249,0.01825499,0.01825499 -15-11-2019 1:00,7667982.071,0.006381547,0.006381547 -15-11-2019 2:00,7667118.485,0.003877643,0.003877643 -15-11-2019 3:00,7666255.493,0.007150696,0.007150696 -15-11-2019 4:00,7665393.094,0.036485557,0.036485557 -15-11-2019 5:00,7664531.289,0.170082774,0.170082774 -15-11-2019 6:00,7663670.078,0.357570099,0.357570099 -15-11-2019 7:00,7662809.462,0.463223171,0.463223171 -15-11-2019 8:00,7661949.442,0.555550092,0.555550092 -15-11-2019 9:00,7661090.017,0.427333907,0.427333907 -15-11-2019 10:00,7660231.189,0.42978336,0.42978336 -15-11-2019 11:00,7659372.957,0.567748117,0.567748117 -15-11-2019 12:00,7658515.323,0.492371389,0.492371389 -15-11-2019 13:00,7657658.286,0.344628023,0.344628023 -15-11-2019 14:00,7656801.847,0.428105107,0.428105107 -15-11-2019 15:00,7655946.006,0.442813857,0.442813857 -15-11-2019 16:00,7655090.764,0.431240688,0.431240688 -15-11-2019 17:00,7654236.122,0.454721777,0.454721777 -15-11-2019 18:00,7653382.079,0.434818325,0.434818325 -15-11-2019 19:00,7652528.636,0.398656325,0.398656325 -15-11-2019 20:00,7651675.794,0.328832859,0.328832859 -15-11-2019 21:00,7650823.553,0.214595883,0.214595883 -15-11-2019 22:00,7649971.914,0.104180085,0.104180085 -15-11-2019 23:00,7649120.876,0.046074912,0.046074912 -16-11-2019 0:00,7648270.441,0.019370324,0.019370324 -16-11-2019 1:00,7647420.609,0.006916433,0.006916433 -16-11-2019 2:00,7646571.38,0.004758217,0.004758217 -16-11-2019 3:00,7645722.754,0.009346336,0.009346336 -16-11-2019 4:00,7644874.733,0.043140829,0.043140829 -16-11-2019 5:00,7644027.316,0.192079784,0.192079784 -16-11-2019 6:00,7643180.505,0.40159107,0.40159107 -16-11-2019 7:00,7642334.298,0.521165288,0.521165288 -16-11-2019 8:00,7641488.698,0.610763075,0.610763075 -16-11-2019 9:00,7640643.704,0.462923667,0.462923667 -16-11-2019 10:00,7639799.316,0.451091639,0.451091639 -16-11-2019 11:00,7638955.536,0.582257079,0.582257079 -16-11-2019 12:00,7638112.364,0.503450177,0.503450177 -16-11-2019 13:00,7637269.799,0.365381712,0.365381712 -16-11-2019 14:00,7636427.843,0.445119548,0.445119548 -16-11-2019 15:00,7635586.496,0.46526394,0.46526394 -16-11-2019 16:00,7634745.758,0.452442575,0.452442575 -16-11-2019 17:00,7633905.63,0.47385047,0.47385047 -16-11-2019 18:00,7633066.112,0.445814174,0.445814174 -16-11-2019 19:00,7632227.204,0.403514867,0.403514867 -16-11-2019 20:00,7631388.908,0.331020785,0.331020785 -16-11-2019 21:00,7630551.223,0.215235289,0.215235289 -16-11-2019 22:00,7629714.15,0.102382453,0.102382453 -16-11-2019 23:00,7628877.69,0.044262407,0.044262407 -17-11-2019 0:00,7628041.842,0.018641968,0.018641968 -17-11-2019 1:00,7627206.608,0.006586391,0.006586391 -17-11-2019 2:00,7626371.987,0.004402667,0.004402667 -17-11-2019 3:00,7625537.98,0.007820885,0.007820885 -17-11-2019 4:00,7624704.588,0.040475425,0.040475425 -17-11-2019 5:00,7623871.811,0.181660099,0.181660099 -17-11-2019 6:00,7623039.649,0.385716739,0.385716739 -17-11-2019 7:00,7622208.102,0.504672559,0.504672559 -17-11-2019 8:00,7621377.172,0.605334719,0.605334719 -17-11-2019 9:00,7620546.859,0.463219428,0.463219428 -17-11-2019 10:00,7619717.163,0.41215426,0.41215426 -17-11-2019 11:00,7618888.084,0.570916676,0.570916676 -17-11-2019 12:00,7618059.623,0.493106574,0.493106574 -17-11-2019 13:00,7617231.781,0.363704247,0.363704247 -17-11-2019 14:00,7616404.557,0.441247597,0.441247597 -17-11-2019 15:00,7615577.953,0.460704658,0.460704658 -17-11-2019 16:00,7614751.968,0.447322285,0.447322285 -17-11-2019 17:00,7613926.603,0.473450184,0.473450184 -17-11-2019 18:00,7613101.858,0.456330191,0.456330191 -17-11-2019 19:00,7612277.735,0.414860832,0.414860832 -17-11-2019 20:00,7611454.233,0.339849335,0.339849335 -17-11-2019 21:00,7610631.353,0.219052345,0.219052345 -17-11-2019 22:00,7609809.094,0.103556407,0.103556407 -17-11-2019 23:00,7608987.459,0.045516666,0.045516666 -18-11-2019 0:00,7608166.446,0.019134011,0.019134011 -18-11-2019 1:00,7607346.057,0.006795238,0.006795238 -18-11-2019 2:00,7606526.292,0.004747764,0.004747764 -18-11-2019 3:00,7605707.151,0.008475553,0.008475553 -18-11-2019 4:00,7604888.634,0.040387105,0.040387105 -18-11-2019 5:00,7604070.743,0.179241851,0.179241851 -18-11-2019 6:00,7603253.478,0.375298265,0.375298265 -18-11-2019 7:00,7602436.838,0.486394627,0.486394627 -18-11-2019 8:00,7601620.825,0.578199337,0.578199337 -18-11-2019 9:00,7600805.438,0.443765553,0.443765553 -18-11-2019 10:00,7599990.679,0.43508485,0.43508485 -18-11-2019 11:00,7599176.547,0.568050242,0.568050242 -18-11-2019 12:00,7598363.044,0.49159156,0.49159156 -18-11-2019 13:00,7597550.169,0.360013671,0.360013671 -18-11-2019 14:00,7596737.923,0.429763347,0.429763347 -18-11-2019 15:00,7595926.306,0.444306799,0.444306799 -18-11-2019 16:00,7595115.319,0.423936386,0.423936386 -18-11-2019 17:00,7594304.962,0.445142361,0.445142361 -18-11-2019 18:00,7593495.235,0.423350664,0.423350664 -18-11-2019 19:00,7592686.14,0.384062405,0.384062405 -18-11-2019 20:00,7591877.676,0.319601709,0.319601709 -18-11-2019 21:00,7591069.844,0.207855173,0.207855173 -18-11-2019 22:00,7590262.644,0.099709355,0.099709355 -18-11-2019 23:00,7589456.077,0.042860995,0.042860995 -19-11-2019 0:00,7588650.142,0.018092748,0.018092748 -19-11-2019 1:00,7587844.842,0.006234745,0.006234745 -19-11-2019 2:00,7587040.175,0.00372943,0.00372943 -19-11-2019 3:00,7586236.142,0.006495105,0.006495105 -19-11-2019 4:00,7585432.745,0.034438761,0.034438761 -19-11-2019 5:00,7584629.982,0.160959146,0.160959146 -19-11-2019 6:00,7583827.855,0.345219395,0.345219395 -19-11-2019 7:00,7583026.364,0.453266768,0.453266768 -19-11-2019 8:00,7582225.509,0.542349891,0.542349891 -19-11-2019 9:00,7581425.291,0.380208724,0.380208724 -19-11-2019 10:00,7580625.71,0.324285733,0.324285733 -19-11-2019 11:00,7579826.767,0.497571266,0.497571266 -19-11-2019 12:00,7579028.462,0.47936267,0.47936267 -19-11-2019 13:00,7578230.795,0.350963215,0.350963215 -19-11-2019 14:00,7577433.767,0.433229979,0.433229979 -19-11-2019 15:00,7576637.378,0.449228374,0.449228374 -19-11-2019 16:00,7575841.629,0.434120091,0.434120091 -19-11-2019 17:00,7575046.521,0.461105091,0.461105091 -19-11-2019 18:00,7574252.052,0.458223607,0.458223607 -19-11-2019 19:00,7573458.225,0.416642317,0.416642317 -19-11-2019 20:00,7572665.038,0.352473919,0.352473919 -19-11-2019 21:00,7571872.494,0.232086592,0.232086592 -19-11-2019 22:00,7571080.591,0.110900607,0.110900607 -19-11-2019 23:00,7570289.331,0.049615475,0.049615475 -20-11-2019 0:00,7569498.714,0.02103137,0.02103137 -20-11-2019 1:00,7568708.741,0.007975415,0.007975415 -20-11-2019 2:00,7567919.411,0.006339993,0.006339993 -20-11-2019 3:00,7567130.725,0.013717339,0.013717339 -20-11-2019 4:00,7566342.684,0.054020712,0.054020712 -20-11-2019 5:00,7565555.287,0.226618271,0.226618271 -20-11-2019 6:00,7564768.537,0.464187216,0.464187216 -20-11-2019 7:00,7563982.431,0.593882288,0.593882288 -20-11-2019 8:00,7563196.972,0.658200401,0.658200401 -20-11-2019 9:00,7562412.16,0.408220827,0.408220827 -20-11-2019 10:00,7561627.995,0.352355474,0.352355474 -20-11-2019 11:00,7560844.477,0.540051601,0.540051601 -20-11-2019 12:00,7560061.606,0.379253755,0.379253755 -20-11-2019 13:00,7559279.384,0.289177302,0.289177302 -20-11-2019 14:00,7558497.811,0.451407005,0.451407005 -20-11-2019 15:00,7557716.886,0.493618315,0.493618315 -20-11-2019 16:00,7556936.611,0.482630274,0.482630274 -20-11-2019 17:00,7556156.986,0.507138801,0.507138801 -20-11-2019 18:00,7555378.011,0.483208511,0.483208511 -20-11-2019 19:00,7554599.686,0.44183549,0.44183549 -20-11-2019 20:00,7553822.013,0.364935034,0.364935034 -20-11-2019 21:00,7553044.991,0.236564262,0.236564262 -20-11-2019 22:00,7552268.62,0.113007791,0.113007791 -20-11-2019 23:00,7551492.902,0.050017519,0.050017519 -21-11-2019 0:00,7550717.837,0.021299232,0.021299232 -21-11-2019 1:00,7549943.424,0.008528159,0.008528159 -21-11-2019 2:00,7549169.665,0.006932326,0.006932326 -21-11-2019 3:00,7548396.56,0.014024712,0.014024712 -21-11-2019 4:00,7547624.109,0.053881279,0.053881279 -21-11-2019 5:00,7546852.312,0.221552612,0.221552612 -21-11-2019 6:00,7546081.17,0.451657019,0.451657019 -21-11-2019 7:00,7545310.684,0.582525405,0.582525405 -21-11-2019 8:00,7544540.854,0.683539447,0.683539447 -21-11-2019 9:00,7543771.68,0.5293859,0.5293859 -21-11-2019 10:00,7543003.162,0.503058863,0.503058863 -21-11-2019 11:00,7542235.301,0.626000025,0.626000025 -21-11-2019 12:00,7541468.098,0.542943144,0.542943144 -21-11-2019 13:00,7540701.552,0.420841715,0.420841715 -21-11-2019 14:00,7539935.665,0.486648458,0.486648458 -21-11-2019 15:00,7539170.436,0.5043486,0.5043486 -21-11-2019 16:00,7538405.866,0.486025699,0.486025699 -21-11-2019 17:00,7537641.955,0.509333849,0.509333849 -21-11-2019 18:00,7536878.704,0.493781565,0.493781565 -21-11-2019 19:00,7536116.113,0.447050856,0.447050856 -21-11-2019 20:00,7535354.183,0.36590082,0.36590082 -21-11-2019 21:00,7534592.914,0.238255988,0.238255988 -21-11-2019 22:00,7533832.306,0.112999197,0.112999197 -21-11-2019 23:00,7533072.359,0.049422708,0.049422708 -22-11-2019 0:00,7532313.075,0.020880646,0.020880646 -22-11-2019 1:00,7531554.453,0.008279986,0.008279986 -22-11-2019 2:00,7530796.494,0.006534524,0.006534524 -22-11-2019 3:00,7530039.198,0.012510367,0.012510367 -22-11-2019 4:00,7529282.566,0.050268122,0.050268122 -22-11-2019 5:00,7528526.598,0.207323216,0.207323216 -22-11-2019 6:00,7527771.294,0.422300832,0.422300832 -22-11-2019 7:00,7527016.655,0.542664655,0.542664655 -22-11-2019 8:00,7526262.681,0.636100905,0.636100905 -22-11-2019 9:00,7525509.373,0.486624198,0.486624198 -22-11-2019 10:00,7524756.731,0.361564175,0.361564175 -22-11-2019 11:00,7524004.755,0.51337795,0.51337795 -22-11-2019 12:00,7523253.446,0.499538717,0.499538717 -22-11-2019 13:00,7522502.804,0.308841055,0.308841055 -22-11-2019 14:00,7521752.829,0.433639175,0.433639175 -22-11-2019 15:00,7521003.523,0.459578322,0.459578322 -22-11-2019 16:00,7520254.885,0.442858135,0.442858135 -22-11-2019 17:00,7519506.915,0.474448782,0.474448782 -22-11-2019 18:00,7518759.614,0.457324505,0.457324505 -22-11-2019 19:00,7518012.983,0.419609805,0.419609805 -22-11-2019 20:00,7517267.022,0.345656268,0.345656268 -22-11-2019 21:00,7516521.731,0.223137301,0.223137301 -22-11-2019 22:00,7515777.11,0.104941762,0.104941762 -22-11-2019 23:00,7515033.161,0.045268275,0.045268275 -23-11-2019 0:00,7514289.882,0.019054401,0.019054401 -23-11-2019 1:00,7513547.276,0.006770837,0.006770837 -23-11-2019 2:00,7512805.341,0.004799866,0.004799866 -23-11-2019 3:00,7512064.08,0.008729727,0.008729727 -23-11-2019 4:00,7511323.491,0.042006695,0.042006695 -23-11-2019 5:00,7510583.575,0.184927295,0.184927295 -23-11-2019 6:00,7509844.333,0.389850449,0.389850449 -23-11-2019 7:00,7509105.765,0.512917828,0.512917828 -23-11-2019 8:00,7508367.871,0.609546568,0.609546568 -23-11-2019 9:00,7507630.652,0.479551021,0.479551021 -23-11-2019 10:00,7506894.108,0.462370676,0.462370676 -23-11-2019 11:00,7506158.24,0.586871068,0.586871068 -23-11-2019 12:00,7505423.048,0.510867378,0.510867378 -23-11-2019 13:00,7504688.532,0.384289971,0.384289971 -23-11-2019 14:00,7503954.693,0.442645172,0.442645172 -23-11-2019 15:00,7503221.531,0.455864211,0.455864211 -23-11-2019 16:00,7502489.046,0.429231602,0.429231602 -23-11-2019 17:00,7501757.239,0.45726198,0.45726198 -23-11-2019 18:00,7501026.11,0.440536186,0.440536186 -23-11-2019 19:00,7500295.66,0.404576536,0.404576536 -23-11-2019 20:00,7499565.888,0.337690887,0.337690887 -23-11-2019 21:00,7498836.796,0.219751306,0.219751306 -23-11-2019 22:00,7498108.384,0.104080962,0.104080962 -23-11-2019 23:00,7497380.652,0.045115335,0.045115335 -24-11-2019 0:00,7496653.6,0.019243943,0.019243943 -24-11-2019 1:00,7495927.229,0.006932733,0.006932733 -24-11-2019 2:00,7495201.539,0.004814575,0.004814575 -24-11-2019 3:00,7494476.531,0.009384621,0.009384621 -24-11-2019 4:00,7493752.204,0.044218024,0.044218024 -24-11-2019 5:00,7493028.56,0.195456801,0.195456801 -24-11-2019 6:00,7492305.599,0.408958032,0.408958032 -24-11-2019 7:00,7491583.321,0.533157641,0.533157641 -24-11-2019 8:00,7490861.726,0.626668164,0.626668164 -24-11-2019 9:00,7490140.815,0.486215794,0.486215794 -24-11-2019 10:00,7489420.588,0.46110976,0.46110976 -24-11-2019 11:00,7488701.045,0.578053773,0.578053773 -24-11-2019 12:00,7487982.188,0.496249573,0.496249573 -24-11-2019 13:00,7487264.015,0.377769019,0.377769019 -24-11-2019 14:00,7486546.529,0.437594863,0.437594863 -24-11-2019 15:00,7485829.728,0.46181635,0.46181635 -24-11-2019 16:00,7485113.614,0.452981243,0.452981243 -24-11-2019 17:00,7484398.186,0.482041179,0.482041179 -24-11-2019 18:00,7483683.446,0.46205786,0.46205786 -24-11-2019 19:00,7482969.393,0.417713428,0.417713428 -24-11-2019 20:00,7482256.028,0.348097101,0.348097101 -24-11-2019 21:00,7481543.351,0.218132723,0.218132723 -24-11-2019 22:00,7480831.363,0.102903386,0.102903386 -24-11-2019 23:00,7480120.064,0.04426997,0.04426997 -25-11-2019 0:00,7479409.454,0.018665394,0.018665394 -25-11-2019 1:00,7478699.533,0.006521623,0.006521623 -25-11-2019 2:00,7477990.303,0.004338981,0.004338981 -25-11-2019 3:00,7477281.763,0.007472525,0.007472525 -25-11-2019 4:00,7476573.914,0.037638141,0.037638141 -25-11-2019 5:00,7475866.756,0.170009803,0.170009803 -25-11-2019 6:00,7475160.29,0.358499033,0.358499033 -25-11-2019 7:00,7474454.515,0.47513859,0.47513859 -25-11-2019 8:00,7473749.433,0.572505335,0.572505335 -25-11-2019 9:00,7473045.043,0.459589078,0.459589078 -25-11-2019 10:00,7472341.346,0.445639981,0.445639981 -25-11-2019 11:00,7471638.343,0.563141275,0.563141275 -25-11-2019 12:00,7470936.033,0.448301783,0.448301783 -25-11-2019 13:00,7470234.417,0.240971346,0.240971346 -25-11-2019 14:00,7469533.496,0.336780519,0.336780519 -25-11-2019 15:00,7468833.269,0.436517681,0.436517681 -25-11-2019 16:00,7468133.738,0.426666377,0.426666377 -25-11-2019 17:00,7467434.902,0.447451703,0.447451703 -25-11-2019 18:00,7466736.761,0.426482099,0.426482099 -25-11-2019 19:00,7466039.318,0.390386538,0.390386538 -25-11-2019 20:00,7465342.57,0.321530429,0.321530429 -25-11-2019 21:00,7464646.52,0.208047811,0.208047811 -25-11-2019 22:00,7463951.166,0.097887299,0.097887299 -25-11-2019 23:00,7463256.511,0.041725398,0.041725398 -26-11-2019 0:00,7462562.553,0.017367104,0.017367104 -26-11-2019 1:00,7461869.294,0.005895227,0.005895227 -26-11-2019 2:00,7461176.733,0.003373126,0.003373126 -26-11-2019 3:00,7460484.872,0.00564409,0.00564409 -26-11-2019 4:00,7459793.71,0.030191487,0.030191487 -26-11-2019 5:00,7459103.248,0.145287604,0.145287604 -26-11-2019 6:00,7458413.485,0.309191777,0.309191777 -26-11-2019 7:00,7457724.424,0.411902941,0.411902941 -26-11-2019 8:00,7457036.063,0.500841613,0.500841613 -26-11-2019 9:00,7456348.403,0.406858458,0.406858458 -26-11-2019 10:00,7455661.445,0.399763152,0.399763152 -26-11-2019 11:00,7454975.189,0.526949166,0.526949166 -26-11-2019 12:00,7454289.635,0.459082528,0.459082528 -26-11-2019 13:00,7453604.784,0.337407953,0.337407953 -26-11-2019 14:00,7452920.635,0.389835063,0.389835063 -26-11-2019 15:00,7452237.19,0.408050689,0.408050689 -26-11-2019 16:00,7451554.449,0.381553925,0.381553925 -26-11-2019 17:00,7450872.411,0.403890727,0.403890727 -26-11-2019 18:00,7450191.078,0.384484601,0.384484601 -26-11-2019 19:00,7449510.45,0.346650247,0.346650247 -26-11-2019 20:00,7448830.526,0.283162723,0.283162723 -26-11-2019 21:00,7448151.309,0.183290527,0.183290527 -26-11-2019 22:00,7447472.796,0.08633041,0.08633041 -26-11-2019 23:00,7446794.99,0.036703686,0.036703686 -27-11-2019 0:00,7446117.891,0.014597955,0.014597955 -27-11-2019 1:00,7445441.498,0.004678352,0.004678352 -27-11-2019 2:00,7444765.813,0.002480742,0.002480742 -27-11-2019 3:00,7444090.834,0.003622753,0.003622753 -27-11-2019 4:00,7443416.564,0.018655552,0.018655552 -27-11-2019 5:00,7442743.002,0.102433387,0.102433387 -27-11-2019 6:00,7442070.149,0.233134481,0.233134481 -27-11-2019 7:00,7441398.004,0.320540446,0.320540446 -27-11-2019 8:00,7440726.569,0.403627281,0.403627281 -27-11-2019 9:00,7440055.843,0.350421175,0.350421175 -27-11-2019 10:00,7439385.827,0.35684165,0.35684165 -27-11-2019 11:00,7438716.521,0.481423891,0.481423891 -27-11-2019 12:00,7438047.926,0.432629375,0.432629375 -27-11-2019 13:00,7437380.042,0.306702013,0.306702013 -27-11-2019 14:00,7436712.87,0.360423292,0.360423292 -27-11-2019 15:00,7436046.409,0.380305916,0.380305916 -27-11-2019 16:00,7435380.659,0.353395171,0.353395171 -27-11-2019 17:00,7434715.623,0.379739068,0.379739068 -27-11-2019 18:00,7434051.299,0.360919674,0.360919674 -27-11-2019 19:00,7433387.688,0.326620199,0.326620199 -27-11-2019 20:00,7432724.79,0.266212927,0.266212927 -27-11-2019 21:00,7432062.606,0.171192145,0.171192145 -27-11-2019 22:00,7431401.136,0.080689679,0.080689679 -27-11-2019 23:00,7430740.38,0.03426153,0.03426153 -28-11-2019 0:00,7430080.339,0.013797836,0.013797836 -28-11-2019 1:00,7429421.014,0.003933998,0.003933998 -28-11-2019 2:00,7428762.403,0.002098989,0.002098989 -28-11-2019 3:00,7428104.508,0.003087696,0.003087696 -28-11-2019 4:00,7427447.33,0.014142568,0.014142568 -28-11-2019 5:00,7426790.868,0.085829049,0.085829049 -28-11-2019 6:00,7426135.122,0.198018527,0.198018527 -28-11-2019 7:00,7425480.094,0.282849601,0.282849601 -28-11-2019 8:00,7424825.783,0.368731147,0.368731147 -28-11-2019 9:00,7424172.19,0.330646837,0.330646837 -28-11-2019 10:00,7423519.315,0.347460091,0.347460091 -28-11-2019 11:00,7422867.158,0.469308444,0.469308444 -28-11-2019 12:00,7422215.72,0.420902368,0.420902368 -28-11-2019 13:00,7421565.001,0.2933919,0.2933919 -28-11-2019 14:00,7420915.002,0.347656466,0.347656466 -28-11-2019 15:00,7420265.722,0.362687829,0.362687829 -28-11-2019 16:00,7419617.163,0.340386639,0.340386639 -28-11-2019 17:00,7418969.324,0.369289036,0.369289036 -28-11-2019 18:00,7418322.206,0.354692498,0.354692498 -28-11-2019 19:00,7417675.809,0.323360626,0.323360626 -28-11-2019 20:00,7417030.133,0.266136933,0.266136933 -28-11-2019 21:00,7416385.179,0.174083749,0.174083749 -28-11-2019 22:00,7415740.947,0.081902475,0.081902475 -28-11-2019 23:00,7415097.438,0.035653244,0.035653244 -29-11-2019 0:00,7414454.651,0.014635789,0.014635789 -29-11-2019 1:00,7413812.588,0.004536975,0.004536975 -29-11-2019 2:00,7413171.248,0.002464863,0.002464863 -29-11-2019 3:00,7412530.631,0.003800969,0.003800969 -29-11-2019 4:00,7411890.739,0.018775021,0.018775021 -29-11-2019 5:00,7411251.571,0.111705331,0.111705331 -29-11-2019 6:00,7410613.128,0.250372801,0.250372801 -29-11-2019 7:00,7409975.41,0.345014758,0.345014758 -29-11-2019 8:00,7409338.417,0.414870903,0.414870903 -29-11-2019 9:00,7408702.15,0.361890802,0.361890802 -29-11-2019 10:00,7408066.61,0.347781982,0.347781982 -29-11-2019 11:00,7407431.795,0.479578952,0.479578952 -29-11-2019 12:00,7406797.707,0.448420071,0.448420071 -29-11-2019 13:00,7406164.347,0.225850239,0.225850239 -29-11-2019 14:00,7405531.713,0.323360965,0.323360965 -29-11-2019 15:00,7404899.808,0.407322315,0.407322315 -29-11-2019 16:00,7404268.63,0.383200094,0.383200094 -29-11-2019 17:00,7403638.181,0.410351903,0.410351903 -29-11-2019 18:00,7403008.46,0.411877345,0.411877345 -29-11-2019 19:00,7402379.468,0.38541413,0.38541413 -29-11-2019 20:00,7401751.206,0.321445036,0.321445036 -29-11-2019 21:00,7401123.673,0.208603473,0.208603473 -29-11-2019 22:00,7400496.871,0.101043979,0.101043979 -29-11-2019 23:00,7399870.798,0.044450607,0.044450607 -30-11-2019 0:00,7399245.456,0.018656163,0.018656163 -30-11-2019 1:00,7398620.845,0.006389188,0.006389188 -30-11-2019 2:00,7397996.966,0.00373474,0.00373474 -30-11-2019 3:00,7397373.817,0.007743657,0.007743657 -30-11-2019 4:00,7396751.401,0.037984693,0.037984693 -30-11-2019 5:00,7396129.717,0.179875248,0.179875248 -30-11-2019 6:00,7395508.766,0.372827204,0.372827204 -30-11-2019 7:00,7394888.547,0.494168365,0.494168365 -30-11-2019 8:00,7394269.061,0.565788433,0.565788433 -30-11-2019 9:00,7393650.309,0.377059866,0.377059866 -30-11-2019 10:00,7393032.291,0.319901858,0.319901858 -30-11-2019 11:00,7392415.007,0.42337734,0.42337734 -30-11-2019 12:00,7391798.457,0.380911566,0.380911566 -30-11-2019 13:00,7391182.642,0.226023951,0.226023951 -30-11-2019 14:00,7390567.562,0.365452167,0.365452167 -30-11-2019 15:00,7389953.218,0.454322069,0.454322069 -30-11-2019 16:00,7389339.609,0.452321179,0.452321179 -30-11-2019 17:00,7388726.736,0.487946963,0.487946963 -30-11-2019 18:00,7388114.6,0.47149935,0.47149935 -30-11-2019 19:00,7387503.2,0.435165624,0.435165624 -30-11-2019 20:00,7386892.537,0.360208718,0.360208718 -30-11-2019 21:00,7386282.612,0.236938684,0.236938684 -30-11-2019 22:00,7385673.424,0.113468439,0.113468439 -30-11-2019 23:00,7385064.974,0.050062116,0.050062116 -01-12-2019 0:00,7384457.262,0.021018337,0.021018337 -01-12-2019 1:00,7383850.288,0.008241001,0.008241001 -01-12-2019 2:00,7383244.054,0.00649728,0.00649728 -01-12-2019 3:00,7382638.559,0.013482556,0.013482556 -01-12-2019 4:00,7382033.803,0.053037563,0.053037563 -01-12-2019 5:00,7381429.787,0.222555673,0.222555673 -01-12-2019 6:00,7380826.511,0.453108358,0.453108358 -01-12-2019 7:00,7380223.975,0.588908891,0.588908891 -01-12-2019 8:00,7379622.18,0.69030671,0.69030671 -01-12-2019 9:00,7379021.126,0.543068021,0.543068021 -01-12-2019 10:00,7378420.814,0.509964492,0.509964492 -01-12-2019 11:00,7377821.243,0.622464156,0.622464156 -01-12-2019 12:00,7377222.414,0.55327786,0.55327786 -01-12-2019 13:00,7376624.327,0.440876589,0.440876589 -01-12-2019 14:00,7376026.983,0.489263395,0.489263395 -01-12-2019 15:00,7375430.382,0.505356212,0.505356212 -01-12-2019 16:00,7374834.523,0.493945018,0.493945018 -01-12-2019 17:00,7374239.409,0.526836112,0.526836112 -01-12-2019 18:00,7373645.038,0.498304558,0.498304558 -01-12-2019 19:00,7373051.411,0.453295679,0.453295679 -01-12-2019 20:00,7372458.529,0.374539294,0.374539294 -01-12-2019 21:00,7371866.391,0.249675606,0.249675606 -01-12-2019 22:00,7371274.998,0.119926627,0.119926627 -01-12-2019 23:00,7370684.351,0.053949384,0.053949384 -02-12-2019 0:00,7370094.449,0.022996336,0.022996336 -02-12-2019 1:00,7369505.294,0.010378086,0.010378086 -02-12-2019 2:00,7368916.884,0.009269002,0.009269002 -02-12-2019 3:00,7368329.221,0.019349503,0.019349503 -02-12-2019 4:00,7367742.305,0.066206469,0.066206469 -02-12-2019 5:00,7367156.135,0.259238008,0.259238008 -02-12-2019 6:00,7366570.714,0.506187616,0.506187616 -02-12-2019 7:00,7365986.04,0.634539838,0.634539838 -02-12-2019 8:00,7365402.114,0.723796295,0.723796295 -02-12-2019 9:00,7364818.936,0.468753028,0.468753028 -02-12-2019 10:00,7364236.507,0.387325842,0.387325842 -02-12-2019 11:00,7363654.827,0.578021796,0.578021796 -02-12-2019 12:00,7363073.897,0.519231872,0.519231872 -02-12-2019 13:00,7362493.715,0.394203696,0.394203696 -02-12-2019 14:00,7361914.284,0.470495757,0.470495757 -02-12-2019 15:00,7361335.602,0.484236626,0.484236626 -02-12-2019 16:00,7360757.672,0.460178111,0.460178111 -02-12-2019 17:00,7360180.491,0.483882586,0.483882586 -02-12-2019 18:00,7359604.062,0.465516361,0.465516361 -02-12-2019 19:00,7359028.384,0.421218644,0.421218644 -02-12-2019 20:00,7358453.458,0.346149055,0.346149055 -02-12-2019 21:00,7357879.284,0.223787351,0.223787351 -02-12-2019 22:00,7357305.862,0.105744159,0.105744159 -02-12-2019 23:00,7356733.192,0.04540366,0.04540366 -03-12-2019 0:00,7356161.275,0.019013437,0.019013437 -03-12-2019 1:00,7355590.112,0.006816568,0.006816568 -03-12-2019 2:00,7355019.701,0.004962245,0.004962245 -03-12-2019 3:00,7354450.045,0.008794033,0.008794033 -03-12-2019 4:00,7353881.142,0.043767738,0.043767738 -03-12-2019 5:00,7353312.993,0.191862816,0.191862816 -03-12-2019 6:00,7352745.599,0.414007038,0.414007038 -03-12-2019 7:00,7352178.96,0.540376659,0.540376659 -03-12-2019 8:00,7351613.076,0.616233542,0.616233542 -03-12-2019 9:00,7351047.948,0.469421011,0.469421011 -03-12-2019 10:00,7350483.575,0.367150277,0.367150277 -03-12-2019 11:00,7349919.958,0.507242306,0.507242306 -03-12-2019 12:00,7349357.098,0.427950163,0.427950163 -03-12-2019 13:00,7348794.994,0.29199804,0.29199804 -03-12-2019 14:00,7348233.647,0.446819126,0.446819126 -03-12-2019 15:00,7347673.057,0.481488493,0.481488493 -03-12-2019 16:00,7347113.225,0.460667124,0.460667124 -03-12-2019 17:00,7346554.15,0.488656259,0.488656259 -03-12-2019 18:00,7345995.833,0.470210572,0.470210572 -03-12-2019 19:00,7345438.275,0.432621697,0.432621697 -03-12-2019 20:00,7344881.475,0.358619964,0.358619964 -03-12-2019 21:00,7344325.435,0.232957635,0.232957635 -03-12-2019 22:00,7343770.153,0.113037552,0.113037552 -03-12-2019 23:00,7343215.631,0.049166931,0.049166931 -04-12-2019 0:00,7342661.868,0.021630806,0.021630806 -04-12-2019 1:00,7342108.866,0.008555163,0.008555163 -04-12-2019 2:00,7341556.624,0.006959087,0.006959087 -04-12-2019 3:00,7341005.142,0.014433576,0.014433576 -04-12-2019 4:00,7340454.422,0.055951958,0.055951958 -04-12-2019 5:00,7339904.462,0.231131214,0.231131214 -04-12-2019 6:00,7339355.264,0.468949733,0.468949733 -04-12-2019 7:00,7338806.828,0.60974841,0.60974841 -04-12-2019 8:00,7338259.154,0.689067957,0.689067957 -04-12-2019 9:00,7337712.242,0.439434777,0.439434777 -04-12-2019 10:00,7337166.092,0.381612335,0.381612335 -04-12-2019 11:00,7336620.706,0.529114364,0.529114364 -04-12-2019 12:00,7336076.083,0.416868617,0.416868617 -04-12-2019 13:00,7335532.223,0.26935936,0.26935936 -04-12-2019 14:00,7334989.126,0.441881194,0.441881194 -04-12-2019 15:00,7334446.794,0.51327707,0.51327707 -04-12-2019 16:00,7333905.226,0.49279605,0.49279605 -04-12-2019 17:00,7333364.423,0.530574798,0.530574798 -04-12-2019 18:00,7332824.384,0.515066208,0.515066208 -04-12-2019 19:00,7332285.11,0.47506113,0.47506113 -04-12-2019 20:00,7331746.602,0.394010712,0.394010712 -04-12-2019 21:00,7331208.86,0.256595995,0.256595995 -04-12-2019 22:00,7330671.883,0.122618873,0.122618873 -04-12-2019 23:00,7330135.672,0.054890029,0.054890029 -05-12-2019 0:00,7329600.229,0.023612378,0.023612378 -05-12-2019 1:00,7329065.551,0.0111336,0.0111336 -05-12-2019 2:00,7328531.641,0.010351122,0.010351122 -05-12-2019 3:00,7327998.498,0.021364053,0.021364053 -05-12-2019 4:00,7327466.123,0.070485215,0.070485215 -05-12-2019 5:00,7326934.515,0.267840239,0.267840239 -05-12-2019 6:00,7326403.676,0.52142113,0.52142113 -05-12-2019 7:00,7325873.605,0.669654659,0.669654659 -05-12-2019 8:00,7325344.303,0.78136912,0.78136912 -05-12-2019 9:00,7324815.77,0.622518084,0.622518084 -05-12-2019 10:00,7324288.005,0.592613633,0.592613633 -05-12-2019 11:00,7323761.011,0.701134111,0.701134111 -05-12-2019 12:00,7323234.786,0.624897684,0.624897684 -05-12-2019 13:00,7322709.331,0.491166545,0.491166545 -05-12-2019 14:00,7322184.646,0.529664316,0.529664316 -05-12-2019 15:00,7321660.732,0.535292127,0.535292127 -05-12-2019 16:00,7321137.589,0.501516057,0.501516057 -05-12-2019 17:00,7320615.217,0.528320267,0.528320267 -05-12-2019 18:00,7320093.617,0.507515417,0.507515417 -05-12-2019 19:00,7319572.788,0.464142213,0.464142213 -05-12-2019 20:00,7319052.73,0.385231647,0.385231647 -05-12-2019 21:00,7318533.445,0.24822238,0.24822238 -05-12-2019 22:00,7318014.933,0.116388228,0.116388228 -05-12-2019 23:00,7317497.193,0.051270231,0.051270231 -06-12-2019 0:00,7316980.226,0.021750029,0.021750029 -06-12-2019 1:00,7316464.033,0.009347827,0.009347827 -06-12-2019 2:00,7315948.613,0.008269546,0.008269546 -06-12-2019 3:00,7315433.966,0.016221446,0.016221446 -06-12-2019 4:00,7314920.094,0.057947041,0.057947041 -06-12-2019 5:00,7314406.996,0.23088157,0.23088157 -06-12-2019 6:00,7313894.673,0.462547677,0.462547677 -06-12-2019 7:00,7313383.124,0.596086922,0.596086922 -06-12-2019 8:00,7312872.351,0.702963583,0.702963583 -06-12-2019 9:00,7312362.353,0.564871487,0.564871487 -06-12-2019 10:00,7311853.13,0.528052184,0.528052184 -06-12-2019 11:00,7311344.684,0.644394443,0.644394443 -06-12-2019 12:00,7310837.013,0.564658514,0.564658514 -06-12-2019 13:00,7310330.119,0.454242347,0.454242347 -06-12-2019 14:00,7309824.002,0.491320777,0.491320777 -06-12-2019 15:00,7309318.661,0.497048172,0.497048172 -06-12-2019 16:00,7308814.098,0.463757221,0.463757221 -06-12-2019 17:00,7308310.312,0.484148837,0.484148837 -06-12-2019 18:00,7307807.304,0.46177506,0.46177506 -06-12-2019 19:00,7307305.074,0.42022985,0.42022985 -06-12-2019 20:00,7306803.622,0.337394559,0.337394559 -06-12-2019 21:00,7306302.948,0.219910656,0.219910656 -06-12-2019 22:00,7305803.054,0.1036087,0.1036087 -06-12-2019 23:00,7305303.938,0.043999539,0.043999539 -07-12-2019 0:00,7304805.601,0.018452361,0.018452361 -07-12-2019 1:00,7304308.044,0.006475814,0.006475814 -07-12-2019 2:00,7303811.267,0.004378849,0.004378849 -07-12-2019 3:00,7303315.27,0.007055687,0.007055687 -07-12-2019 4:00,7302820.053,0.037341225,0.037341225 -07-12-2019 5:00,7302325.617,0.164632726,0.164632726 -07-12-2019 6:00,7301831.961,0.350713021,0.350713021 -07-12-2019 7:00,7301339.086,0.46484216,0.46484216 -07-12-2019 8:00,7300846.993,0.563629293,0.563629293 -07-12-2019 9:00,7300355.681,0.469201087,0.469201087 -07-12-2019 10:00,7299865.151,0.453667891,0.453667891 -07-12-2019 11:00,7299375.403,0.577139501,0.577139501 -07-12-2019 12:00,7298886.438,0.510599242,0.510599242 -07-12-2019 13:00,7298398.255,0.398367175,0.398367175 -07-12-2019 14:00,7297910.854,0.438839962,0.438839962 -07-12-2019 15:00,7297424.237,0.447793076,0.447793076 -07-12-2019 16:00,7296938.403,0.418744392,0.418744392 -07-12-2019 17:00,7296453.353,0.442287217,0.442287217 -07-12-2019 18:00,7295969.086,0.422229869,0.422229869 -07-12-2019 19:00,7295485.604,0.383997203,0.383997203 -07-12-2019 20:00,7295002.906,0.316171563,0.316171563 -07-12-2019 21:00,7294520.992,0.202403234,0.202403234 -07-12-2019 22:00,7294039.863,0.094726137,0.094726137 -07-12-2019 23:00,7293559.52,0.040261638,0.040261638 -08-12-2019 0:00,7293079.961,0.016550575,0.016550575 -08-12-2019 1:00,7292601.188,0.005598841,0.005598841 -08-12-2019 2:00,7292123.201,0.003167975,0.003167975 -08-12-2019 3:00,7291646,0.004845921,0.004845921 -08-12-2019 4:00,7291169.585,0.026866534,0.026866534 -08-12-2019 5:00,7290693.957,0.133905056,0.133905056 -08-12-2019 6:00,7290219.115,0.291899454,0.291899454 -08-12-2019 7:00,7289745.06,0.394735436,0.394735436 -08-12-2019 8:00,7289271.793,0.491759502,0.491759502 -08-12-2019 9:00,7288799.313,0.416033,0.416033 -08-12-2019 10:00,7288327.621,0.396177129,0.396177129 -08-12-2019 11:00,7287856.717,0.537201356,0.537201356 -08-12-2019 12:00,7287386.601,0.462864285,0.462864285 -08-12-2019 13:00,7286917.274,0.310237787,0.310237787 -08-12-2019 14:00,7286448.735,0.391411386,0.391411386 -08-12-2019 15:00,7285980.985,0.414240114,0.414240114 -08-12-2019 16:00,7285514.025,0.388056291,0.388056291 -08-12-2019 17:00,7285047.854,0.411298597,0.411298597 -08-12-2019 18:00,7284582.472,0.394591444,0.394591444 -08-12-2019 19:00,7284117.881,0.360732491,0.360732491 -08-12-2019 20:00,7283654.079,0.299619806,0.299619806 -08-12-2019 21:00,7283191.068,0.193394657,0.193394657 -08-12-2019 22:00,7282728.848,0.092186871,0.092186871 -08-12-2019 23:00,7282267.419,0.039993871,0.039993871 -09-12-2019 0:00,7281806.78,0.016219979,0.016219979 -09-12-2019 1:00,7281346.933,0.005365636,0.005365636 -09-12-2019 2:00,7280887.878,0.002995424,0.002995424 -09-12-2019 3:00,7280429.614,0.004530346,0.004530346 -09-12-2019 4:00,7279972.142,0.025100002,0.025100002 -09-12-2019 5:00,7279515.463,0.132026831,0.132026831 -09-12-2019 6:00,7279059.576,0.290559533,0.290559533 -09-12-2019 7:00,7278604.482,0.400261996,0.400261996 -09-12-2019 8:00,7278150.181,0.480749613,0.480749613 -09-12-2019 9:00,7277696.673,0.401650534,0.401650534 -09-12-2019 10:00,7277243.959,0.402632726,0.402632726 -09-12-2019 11:00,7276792.038,0.546914409,0.546914409 -09-12-2019 12:00,7276340.911,0.487019918,0.487019918 -09-12-2019 13:00,7275890.579,0.380190423,0.380190423 -09-12-2019 14:00,7275441.04,0.421887063,0.421887063 -09-12-2019 15:00,7274992.297,0.423779896,0.423779896 -09-12-2019 16:00,7274544.348,0.397596544,0.397596544 -09-12-2019 17:00,7274097.194,0.423709599,0.423709599 -09-12-2019 18:00,7273650.836,0.407377238,0.407377238 -09-12-2019 19:00,7273205.273,0.376491511,0.376491511 -09-12-2019 20:00,7272760.506,0.314665371,0.314665371 -09-12-2019 21:00,7272316.534,0.201033687,0.201033687 -09-12-2019 22:00,7271873.359,0.096106426,0.096106426 -09-12-2019 23:00,7271430.981,0.041215236,0.041215236 -10-12-2019 0:00,7270989.399,0.017150613,0.017150613 -10-12-2019 1:00,7270548.614,0.005918449,0.005918449 -10-12-2019 2:00,7270108.627,0.003340378,0.003340378 -10-12-2019 3:00,7269669.436,0.005582779,0.005582779 -10-12-2019 4:00,7269231.043,0.030891016,0.030891016 -10-12-2019 5:00,7268793.448,0.153980692,0.153980692 -10-12-2019 6:00,7268356.651,0.33106977,0.33106977 -10-12-2019 7:00,7267920.653,0.446321824,0.446321824 -10-12-2019 8:00,7267485.452,0.550297561,0.550297561 -10-12-2019 9:00,7267051.051,0.444359679,0.444359679 -10-12-2019 10:00,7266617.448,0.449879869,0.449879869 -10-12-2019 11:00,7266184.645,0.571076085,0.571076085 -10-12-2019 12:00,7265752.641,0.510692188,0.510692188 -10-12-2019 13:00,7265321.436,0.398810293,0.398810293 -10-12-2019 14:00,7264891.031,0.436935151,0.436935151 -10-12-2019 15:00,7264461.427,0.441981113,0.441981113 -10-12-2019 16:00,7264032.623,0.4144567,0.4144567 -10-12-2019 17:00,7263604.619,0.440673833,0.440673833 -10-12-2019 18:00,7263177.415,0.420508431,0.420508431 -10-12-2019 19:00,7262751.013,0.379775411,0.379775411 -10-12-2019 20:00,7262325.412,0.310810199,0.310810199 -10-12-2019 21:00,7261900.612,0.199496761,0.199496761 -10-12-2019 22:00,7261476.614,0.094014025,0.094014025 -10-12-2019 23:00,7261053.418,0.040079195,0.040079195 -11-12-2019 0:00,7260631.023,0.01635365,0.01635365 -11-12-2019 1:00,7260209.431,0.005636454,0.005636454 -11-12-2019 2:00,7259788.642,0.003170718,0.003170718 -11-12-2019 3:00,7259368.655,0.004941422,0.004941422 -11-12-2019 4:00,7258949.471,0.027106067,0.027106067 -11-12-2019 5:00,7258531.09,0.136710206,0.136710206 -11-12-2019 6:00,7258113.512,0.296290511,0.296290511 -11-12-2019 7:00,7257696.738,0.402312523,0.402312523 -11-12-2019 8:00,7257280.767,0.502591327,0.502591327 -11-12-2019 9:00,7256865.601,0.431850775,0.431850775 -11-12-2019 10:00,7256451.238,0.430258889,0.430258889 -11-12-2019 11:00,7256037.68,0.556559607,0.556559607 -11-12-2019 12:00,7255624.927,0.498050453,0.498050453 -11-12-2019 13:00,7255212.979,0.387323077,0.387323077 -11-12-2019 14:00,7254801.835,0.430183634,0.430183634 -11-12-2019 15:00,7254391.497,0.438396158,0.438396158 -11-12-2019 16:00,7253981.964,0.411801631,0.411801631 -11-12-2019 17:00,7253573.237,0.438182653,0.438182653 -11-12-2019 18:00,7253165.315,0.423732533,0.423732533 -11-12-2019 19:00,7252758.2,0.386277393,0.386277393 -11-12-2019 20:00,7252351.891,0.315080471,0.315080471 -11-12-2019 21:00,7251946.389,0.204627131,0.204627131 -11-12-2019 22:00,7251541.693,0.096332545,0.096332545 -11-12-2019 23:00,7251137.804,0.041801607,0.041801607 -12-12-2019 0:00,7250734.722,0.017498644,0.017498644 -12-12-2019 1:00,7250332.448,0.005980573,0.005980573 -12-12-2019 2:00,7249930.981,0.003403663,0.003403663 -12-12-2019 3:00,7249530.322,0.005833291,0.005833291 -12-12-2019 4:00,7249130.471,0.031521946,0.031521946 -12-12-2019 5:00,7248731.428,0.154288835,0.154288835 -12-12-2019 6:00,7248333.193,0.331678949,0.331678949 -12-12-2019 7:00,7247935.767,0.449025207,0.449025207 -12-12-2019 8:00,7247539.149,0.541686198,0.541686198 -12-12-2019 9:00,7247143.341,0.375376322,0.375376322 -12-12-2019 10:00,7246748.342,0.348652204,0.348652204 -12-12-2019 11:00,7246354.152,0.495897992,0.495897992 -12-12-2019 12:00,7245960.772,0.404100917,0.404100917 -12-12-2019 13:00,7245568.201,0.268895147,0.268895147 -12-12-2019 14:00,7245176.441,0.429397855,0.429397855 -12-12-2019 15:00,7244785.49,0.450066929,0.450066929 -12-12-2019 16:00,7244395.35,0.429278612,0.429278612 -12-12-2019 17:00,7244006.021,0.455077351,0.455077351 -12-12-2019 18:00,7243617.502,0.43678383,0.43678383 -12-12-2019 19:00,7243229.795,0.396436857,0.396436857 -12-12-2019 20:00,7242842.898,0.325694351,0.325694351 -12-12-2019 21:00,7242456.813,0.210868093,0.210868093 -12-12-2019 22:00,7242071.54,0.100824016,0.100824016 -12-12-2019 23:00,7241687.078,0.043718695,0.043718695 -13-12-2019 0:00,7241303.429,0.018400109,0.018400109 -13-12-2019 1:00,7240920.591,0.006325755,0.006325755 -13-12-2019 2:00,7240538.566,0.003856543,0.003856543 -13-12-2019 3:00,7240157.353,0.007031295,0.007031295 -13-12-2019 4:00,7239776.953,0.036274485,0.036274485 -13-12-2019 5:00,7239397.367,0.169564763,0.169564763 -13-12-2019 6:00,7239018.593,0.359048103,0.359048103 -13-12-2019 7:00,7238640.633,0.479836829,0.479836829 -13-12-2019 8:00,7238263.486,0.590078668,0.590078668 -13-12-2019 9:00,7237887.153,0.499174287,0.499174287 -13-12-2019 10:00,7237511.634,0.481533161,0.481533161 -13-12-2019 11:00,7237136.929,0.602224088,0.602224088 -13-12-2019 12:00,7236763.038,0.540504801,0.540504801 -13-12-2019 13:00,7236389.962,0.43190607,0.43190607 -13-12-2019 14:00,7236017.7,0.463891333,0.463891333 -13-12-2019 15:00,7235646.254,0.46105953,0.46105953 -13-12-2019 16:00,7235275.622,0.426732641,0.426732641 -13-12-2019 17:00,7234905.806,0.448278951,0.448278951 -13-12-2019 18:00,7234536.805,0.428771166,0.428771166 -13-12-2019 19:00,7234168.62,0.392686742,0.392686742 -13-12-2019 20:00,7233801.251,0.320496046,0.320496046 -13-12-2019 21:00,7233434.698,0.208794087,0.208794087 -13-12-2019 22:00,7233068.961,0.099315981,0.099315981 -13-12-2019 23:00,7232704.04,0.042967703,0.042967703 -14-12-2019 0:00,7232339.936,0.018057672,0.018057672 -14-12-2019 1:00,7231976.649,0.006195464,0.006195464 -14-12-2019 2:00,7231614.179,0.003712556,0.003712556 -14-12-2019 3:00,7231252.526,0.00652807,0.00652807 -14-12-2019 4:00,7230891.69,0.034517533,0.034517533 -14-12-2019 5:00,7230531.672,0.161790272,0.161790272 -14-12-2019 6:00,7230172.472,0.342027206,0.342027206 -14-12-2019 7:00,7229814.089,0.451634974,0.451634974 -14-12-2019 8:00,7229456.525,0.553512216,0.553512216 -14-12-2019 9:00,7229099.779,0.447584548,0.447584548 -14-12-2019 10:00,7228743.851,0.404055499,0.404055499 -14-12-2019 11:00,7228388.742,0.568042206,0.568042206 -14-12-2019 12:00,7228034.452,0.510925245,0.510925245 -14-12-2019 13:00,7227680.98,0.414879539,0.414879539 -14-12-2019 14:00,7227328.328,0.441338769,0.441338769 -14-12-2019 15:00,7226976.496,0.456884784,0.456884784 -14-12-2019 16:00,7226625.482,0.42367515,0.42367515 -14-12-2019 17:00,7226275.289,0.446140554,0.446140554 -14-12-2019 18:00,7225925.915,0.431019159,0.431019159 -14-12-2019 19:00,7225577.362,0.393855934,0.393855934 -14-12-2019 20:00,7225229.629,0.327546638,0.327546638 -14-12-2019 21:00,7224882.716,0.211674225,0.211674225 -14-12-2019 22:00,7224536.624,0.100165065,0.100165065 -14-12-2019 23:00,7224191.353,0.043430379,0.043430379 -15-12-2019 0:00,7223846.902,0.017960845,0.017960845 -15-12-2019 1:00,7223503.273,0.006028152,0.006028152 -15-12-2019 2:00,7223160.465,0.003513882,0.003513882 -15-12-2019 3:00,7222818.479,0.005991145,0.005991145 -15-12-2019 4:00,7222477.314,0.031201344,0.031201344 -15-12-2019 5:00,7222136.972,0.147969529,0.147969529 -15-12-2019 6:00,7221797.451,0.313603994,0.313603994 -15-12-2019 7:00,7221458.752,0.422049241,0.422049241 -15-12-2019 8:00,7221120.876,0.507923638,0.507923638 -15-12-2019 9:00,7220783.823,0.361907626,0.361907626 -15-12-2019 10:00,7220447.592,0.391075977,0.391075977 -15-12-2019 11:00,7220112.184,0.545194295,0.545194295 -15-12-2019 12:00,7219777.599,0.497625212,0.497625212 -15-12-2019 13:00,7219443.837,0.386942741,0.386942741 -15-12-2019 14:00,7219110.899,0.428415874,0.428415874 -15-12-2019 15:00,7218778.785,0.433199674,0.433199674 -15-12-2019 16:00,7218447.494,0.408537813,0.408537813 -15-12-2019 17:00,7218117.027,0.436608213,0.436608213 -15-12-2019 18:00,7217787.384,0.419140083,0.419140083 -15-12-2019 19:00,7217458.566,0.381594288,0.381594288 -15-12-2019 20:00,7217130.571,0.315579543,0.315579543 -15-12-2019 21:00,7216803.402,0.203779583,0.203779583 -15-12-2019 22:00,7216477.057,0.097006961,0.097006961 -15-12-2019 23:00,7216151.538,0.041844616,0.041844616 -16-12-2019 0:00,7215826.843,0.017740222,0.017740222 -16-12-2019 1:00,7215502.974,0.006056287,0.006056287 -16-12-2019 2:00,7215179.93,0.003454752,0.003454752 -16-12-2019 3:00,7214857.711,0.005956416,0.005956416 -16-12-2019 4:00,7214536.319,0.03162706,0.03162706 -16-12-2019 5:00,7214215.752,0.151457945,0.151457945 -16-12-2019 6:00,7213896.012,0.319422748,0.319422748 -16-12-2019 7:00,7213577.098,0.423146737,0.423146737 -16-12-2019 8:00,7213259.01,0.520027443,0.520027443 -16-12-2019 9:00,7212941.749,0.441292741,0.441292741 -16-12-2019 10:00,7212625.315,0.432098688,0.432098688 -16-12-2019 11:00,7212309.707,0.555028046,0.555028046 -16-12-2019 12:00,7211994.927,0.497496788,0.497496788 -16-12-2019 13:00,7211680.974,0.389425398,0.389425398 -16-12-2019 14:00,7211367.848,0.423154681,0.423154681 -16-12-2019 15:00,7211055.55,0.430953756,0.430953756 -16-12-2019 16:00,7210744.08,0.400115439,0.400115439 -16-12-2019 17:00,7210433.437,0.424538267,0.424538267 -16-12-2019 18:00,7210123.623,0.407241672,0.407241672 -16-12-2019 19:00,7209814.637,0.371015887,0.371015887 -16-12-2019 20:00,7209506.479,0.304417159,0.304417159 -16-12-2019 21:00,7209199.15,0.196321703,0.196321703 -16-12-2019 22:00,7208892.649,0.092839828,0.092839828 -16-12-2019 23:00,7208586.977,0.040432696,0.040432696 -17-12-2019 0:00,7208282.135,0.016675144,0.016675144 -17-12-2019 1:00,7207978.121,0.005760079,0.005760079 -17-12-2019 2:00,7207674.937,0.003167476,0.003167476 -17-12-2019 3:00,7207372.582,0.004834923,0.004834923 -17-12-2019 4:00,7207071.057,0.026185081,0.026185081 -17-12-2019 5:00,7206770.362,0.132116692,0.132116692 -17-12-2019 6:00,7206470.496,0.282944221,0.282944221 -17-12-2019 7:00,7206171.461,0.372861306,0.372861306 -17-12-2019 8:00,7205873.256,0.458137207,0.458137207 -17-12-2019 9:00,7205575.881,0.390776365,0.390776365 -17-12-2019 10:00,7205279.337,0.385254885,0.385254885 -17-12-2019 11:00,7204983.624,0.502746521,0.502746521 -17-12-2019 12:00,7204688.741,0.412387564,0.412387564 -17-12-2019 13:00,7204394.69,0.324947901,0.324947901 -17-12-2019 14:00,7204101.469,0.357004662,0.357004662 -17-12-2019 15:00,7203809.08,0.365877028,0.365877028 -17-12-2019 16:00,7203517.523,0.337310454,0.337310454 -17-12-2019 17:00,7203226.797,0.375510114,0.375510114 -17-12-2019 18:00,7202936.903,0.36601843,0.36601843 -17-12-2019 19:00,7202647.84,0.336349632,0.336349632 -17-12-2019 20:00,7202359.61,0.286225794,0.286225794 -17-12-2019 21:00,7202072.212,0.186079988,0.186079988 -17-12-2019 22:00,7201785.647,0.088435032,0.088435032 -17-12-2019 23:00,7201499.914,0.03794842,0.03794842 -18-12-2019 0:00,7201215.013,0.015254182,0.015254182 -18-12-2019 1:00,7200930.945,0.004917561,0.004917561 -18-12-2019 2:00,7200647.711,0.002686304,0.002686304 -18-12-2019 3:00,7200365.309,0.003936895,0.003936895 -18-12-2019 4:00,7200083.741,0.020614895,0.020614895 -18-12-2019 5:00,7199803.006,0.115199469,0.115199469 -18-12-2019 6:00,7199523.104,0.256276829,0.256276829 -18-12-2019 7:00,7199244.036,0.352126465,0.352126465 -18-12-2019 8:00,7198965.802,0.438929469,0.438929469 -18-12-2019 9:00,7198688.402,0.396724519,0.396724519 -18-12-2019 10:00,7198411.836,0.385887243,0.385887243 -18-12-2019 11:00,7198136.105,0.51138121,0.51138121 -18-12-2019 12:00,7197861.207,0.453469561,0.453469561 -18-12-2019 13:00,7197587.144,0.354615228,0.354615228 -18-12-2019 14:00,7197313.916,0.400223148,0.400223148 -18-12-2019 15:00,7197041.523,0.410013252,0.410013252 -18-12-2019 16:00,7196769.965,0.389389735,0.389389735 -18-12-2019 17:00,7196499.241,0.414064891,0.414064891 -18-12-2019 18:00,7196229.353,0.392458074,0.392458074 -18-12-2019 19:00,7195960.301,0.3548289,0.3548289 -18-12-2019 20:00,7195692.083,0.29120409,0.29120409 -18-12-2019 21:00,7195424.702,0.188390534,0.188390534 -18-12-2019 22:00,7195158.156,0.08940683,0.08940683 -18-12-2019 23:00,7194892.446,0.038467253,0.038467253 -19-12-2019 0:00,7194627.572,0.015193093,0.015193093 -19-12-2019 1:00,7194363.535,0.004863458,0.004863458 -19-12-2019 2:00,7194100.334,0.002668451,0.002668451 -19-12-2019 3:00,7193837.969,0.003886763,0.003886763 -19-12-2019 4:00,7193576.44,0.020057057,0.020057057 -19-12-2019 5:00,7193315.749,0.109833579,0.109833579 -19-12-2019 6:00,7193055.894,0.243006438,0.243006438 -19-12-2019 7:00,7192796.877,0.331930992,0.331930992 -19-12-2019 8:00,7192538.696,0.419331421,0.419331421 -19-12-2019 9:00,7192281.353,0.366575985,0.366575985 -19-12-2019 10:00,7192024.847,0.366527909,0.366527909 -19-12-2019 11:00,7191769.179,0.483211778,0.483211778 -19-12-2019 12:00,7191514.348,0.431687614,0.431687614 -19-12-2019 13:00,7191260.355,0.31605282,0.31605282 -19-12-2019 14:00,7191007.2,0.351133522,0.351133522 -19-12-2019 15:00,7190754.883,0.355103716,0.355103716 -19-12-2019 16:00,7190503.405,0.332391603,0.332391603 -19-12-2019 17:00,7190252.764,0.357735728,0.357735728 -19-12-2019 18:00,7190002.962,0.339351322,0.339351322 -19-12-2019 19:00,7189753.999,0.305156175,0.305156175 -19-12-2019 20:00,7189505.874,0.249553902,0.249553902 -19-12-2019 21:00,7189258.588,0.163322296,0.163322296 -19-12-2019 22:00,7189012.141,0.077782832,0.077782832 -19-12-2019 23:00,7188766.533,0.033120808,0.033120808 -20-12-2019 0:00,7188521.765,0.013299217,0.013299217 -20-12-2019 1:00,7188277.835,0.003547624,0.003547624 -20-12-2019 2:00,7188034.746,0.001842969,0.001842969 -20-12-2019 3:00,7187792.495,0.002906791,0.002906791 -20-12-2019 4:00,7187551.085,0.012103534,0.012103534 -20-12-2019 5:00,7187310.514,0.076004411,0.076004411 -20-12-2019 6:00,7187070.783,0.173015698,0.173015698 -20-12-2019 7:00,7186831.892,0.247118007,0.247118007 -20-12-2019 8:00,7186593.842,0.334365405,0.334365405 -20-12-2019 9:00,7186356.632,0.316922351,0.316922351 -20-12-2019 10:00,7186120.262,0.337991643,0.337991643 -20-12-2019 11:00,7185884.733,0.452784359,0.452784359 -20-12-2019 12:00,7185650.044,0.414571964,0.414571964 -20-12-2019 13:00,7185416.197,0.289472449,0.289472449 -20-12-2019 14:00,7185183.19,0.333261316,0.333261316 -20-12-2019 15:00,7184951.024,0.343549188,0.343549188 -20-12-2019 16:00,7184719.699,0.32133405,0.32133405 -20-12-2019 17:00,7184489.216,0.346741702,0.346741702 -20-12-2019 18:00,7184259.574,0.335552856,0.335552856 -20-12-2019 19:00,7184030.774,0.307621069,0.307621069 -20-12-2019 20:00,7183802.815,0.254094674,0.254094674 -20-12-2019 21:00,7183575.698,0.164611164,0.164611164 -20-12-2019 22:00,7183349.423,0.077729425,0.077729425 -20-12-2019 23:00,7183123.99,0.033776544,0.033776544 -21-12-2019 0:00,7182899.399,0.013659065,0.013659065 -21-12-2019 1:00,7182675.651,0.003755589,0.003755589 -21-12-2019 2:00,7182452.744,0.001898733,0.001898733 -21-12-2019 3:00,7182230.68,0.00302565,0.00302565 -21-12-2019 4:00,7182009.459,0.012999278,0.012999278 -21-12-2019 5:00,7181789.08,0.085432143,0.085432143 -21-12-2019 6:00,7181569.544,0.200373983,0.200373983 -21-12-2019 7:00,7181350.851,0.288232582,0.288232582 -21-12-2019 8:00,7181133.001,0.378392308,0.378392308 -21-12-2019 9:00,7180915.994,0.344821789,0.344821789 -21-12-2019 10:00,7180699.831,0.362629536,0.362629536 -21-12-2019 11:00,7180484.51,0.489147437,0.489147437 -21-12-2019 12:00,7180270.034,0.440493627,0.440493627 -21-12-2019 13:00,7180056.4,0.321189475,0.321189475 -21-12-2019 14:00,7179843.611,0.365341631,0.365341631 -21-12-2019 15:00,7179631.665,0.366793338,0.366793338 -21-12-2019 16:00,7179420.563,0.344074269,0.344074269 -21-12-2019 17:00,7179210.305,0.370780499,0.370780499 -21-12-2019 18:00,7179000.892,0.353950305,0.353950305 -21-12-2019 19:00,7178792.322,0.325670368,0.325670368 -21-12-2019 20:00,7178584.597,0.26698927,0.26698927 -21-12-2019 21:00,7178377.716,0.173916316,0.173916316 -21-12-2019 22:00,7178171.68,0.082143255,0.082143255 -21-12-2019 23:00,7177966.489,0.035119865,0.035119865 -22-12-2019 0:00,7177762.142,0.014273874,0.014273874 -22-12-2019 1:00,7177558.64,0.004120409,0.004120409 -22-12-2019 2:00,7177355.983,0.002213344,0.002213344 -22-12-2019 3:00,7177154.171,0.003319951,0.003319951 -22-12-2019 4:00,7176953.205,0.015032137,0.015032137 -22-12-2019 5:00,7176753.083,0.092059292,0.092059292 -22-12-2019 6:00,7176553.807,0.209467954,0.209467954 -22-12-2019 7:00,7176355.377,0.293439582,0.293439582 -22-12-2019 8:00,7176157.792,0.383686052,0.383686052 -22-12-2019 9:00,7175961.053,0.347894887,0.347894887 -22-12-2019 10:00,7175765.159,0.364397243,0.364397243 -22-12-2019 11:00,7175570.112,0.491959606,0.491959606 -22-12-2019 12:00,7175375.91,0.441408262,0.441408262 -22-12-2019 13:00,7175182.555,0.322236979,0.322236979 -22-12-2019 14:00,7174990.046,0.363553661,0.363553661 -22-12-2019 15:00,7174798.383,0.368446968,0.368446968 -22-12-2019 16:00,7174607.566,0.347324589,0.347324589 -22-12-2019 17:00,7174417.596,0.370379492,0.370379492 -22-12-2019 18:00,7174228.473,0.354742631,0.354742631 -22-12-2019 19:00,7174040.196,0.323097539,0.323097539 -22-12-2019 20:00,7173852.766,0.266217307,0.266217307 -22-12-2019 21:00,7173666.183,0.173992983,0.173992983 -22-12-2019 22:00,7173480.446,0.082137336,0.082137336 -22-12-2019 23:00,7173295.557,0.0353174,0.0353174 -23-12-2019 0:00,7173111.515,0.013996838,0.013996838 -23-12-2019 1:00,7172928.321,0.00405091,0.00405091 -23-12-2019 2:00,7172745.973,0.002184249,0.002184249 -23-12-2019 3:00,7172564.473,0.003275457,0.003275457 -23-12-2019 4:00,7172383.821,0.014710041,0.014710041 -23-12-2019 5:00,7172204.016,0.089943353,0.089943353 -23-12-2019 6:00,7172025.059,0.205575737,0.205575737 -23-12-2019 7:00,7171846.95,0.292735668,0.292735668 -23-12-2019 8:00,7171669.689,0.383127515,0.383127515 -23-12-2019 9:00,7171493.276,0.348410564,0.348410564 -23-12-2019 10:00,7171317.71,0.366643217,0.366643217 -23-12-2019 11:00,7171142.993,0.491971107,0.491971107 -23-12-2019 12:00,7170969.125,0.443821728,0.443821728 -23-12-2019 13:00,7170796.104,0.306976468,0.306976468 -23-12-2019 14:00,7170623.932,0.353154686,0.353154686 -23-12-2019 15:00,7170452.609,0.370801841,0.370801841 -23-12-2019 16:00,7170282.134,0.343602891,0.343602891 -23-12-2019 17:00,7170112.508,0.372859954,0.372859954 -23-12-2019 18:00,7169943.731,0.361304371,0.361304371 -23-12-2019 19:00,7169775.803,0.32683169,0.32683169 -23-12-2019 20:00,7169608.723,0.268910006,0.268910006 -23-12-2019 21:00,7169442.493,0.173707094,0.173707094 -23-12-2019 22:00,7169277.112,0.083318302,0.083318302 -23-12-2019 23:00,7169112.58,0.036114679,0.036114679 -24-12-2019 0:00,7168948.897,0.014558416,0.014558416 -24-12-2019 1:00,7168786.064,0.004345287,0.004345287 -24-12-2019 2:00,7168624.08,0.002324689,0.002324689 -24-12-2019 3:00,7168462.946,0.003479072,0.003479072 -24-12-2019 4:00,7168302.661,0.016301515,0.016301515 -24-12-2019 5:00,7168143.227,0.097230617,0.097230617 -24-12-2019 6:00,7167984.642,0.221683079,0.221683079 -24-12-2019 7:00,7167826.907,0.312229781,0.312229781 -24-12-2019 8:00,7167670.021,0.408020925,0.408020925 -24-12-2019 9:00,7167513.986,0.363444015,0.363444015 -24-12-2019 10:00,7167358.802,0.371108633,0.371108633 -24-12-2019 11:00,7167204.467,0.493039137,0.493039137 -24-12-2019 12:00,7167050.982,0.438107758,0.438107758 -24-12-2019 13:00,7166898.348,0.323826819,0.323826819 -24-12-2019 14:00,7166746.565,0.362496584,0.362496584 -24-12-2019 15:00,7166595.632,0.366634383,0.366634383 -24-12-2019 16:00,7166445.549,0.339758959,0.339758959 -24-12-2019 17:00,7166296.318,0.362326382,0.362326382 -24-12-2019 18:00,7166147.937,0.34719899,0.34719899 -24-12-2019 19:00,7166000.407,0.314451118,0.314451118 -24-12-2019 20:00,7165853.727,0.25913007,0.25913007 -24-12-2019 21:00,7165707.899,0.168065659,0.168065659 -24-12-2019 22:00,7165562.922,0.079133215,0.079133215 -24-12-2019 23:00,7165418.796,0.033755076,0.033755076 -25-12-2019 0:00,7165275.521,0.013695689,0.013695689 -25-12-2019 1:00,7165133.098,0.003830879,0.003830879 -25-12-2019 2:00,7164991.525,0.002007032,0.002007032 -25-12-2019 3:00,7164850.805,0.003121968,0.003121968 -25-12-2019 4:00,7164710.936,0.01362886,0.01362886 -25-12-2019 5:00,7164571.918,0.085134592,0.085134592 -25-12-2019 6:00,7164433.752,0.197536224,0.197536224 -25-12-2019 7:00,7164296.438,0.283164228,0.283164228 -25-12-2019 8:00,7164159.975,0.373826193,0.373826193 -25-12-2019 9:00,7164024.365,0.302173552,0.302173552 -25-12-2019 10:00,7163889.606,0.295202402,0.295202402 -25-12-2019 11:00,7163755.699,0.399518171,0.399518171 -25-12-2019 12:00,7163622.645,0.403783615,0.403783615 -25-12-2019 13:00,7163490.442,0.308496007,0.308496007 -25-12-2019 14:00,7163359.092,0.358705931,0.358705931 -25-12-2019 15:00,7163228.594,0.369012741,0.369012741 -25-12-2019 16:00,7163098.948,0.349591566,0.349591566 -25-12-2019 17:00,7162970.155,0.375577193,0.375577193 -25-12-2019 18:00,7162842.214,0.36065926,0.36065926 -25-12-2019 19:00,7162715.126,0.327527544,0.327527544 -25-12-2019 20:00,7162588.891,0.269564441,0.269564441 -25-12-2019 21:00,7162463.508,0.175237714,0.175237714 -25-12-2019 22:00,7162338.978,0.084106028,0.084106028 -25-12-2019 23:00,7162215.3,0.035795801,0.035795801 -26-12-2019 0:00,7162092.476,0.014320515,0.014320515 -26-12-2019 1:00,7161970.504,0.004311432,0.004311432 -26-12-2019 2:00,7161849.385,0.002332765,0.002332765 -26-12-2019 3:00,7161729.12,0.003518724,0.003518724 -26-12-2019 4:00,7161609.707,0.016658364,0.016658364 -26-12-2019 5:00,7161491.148,0.100791206,0.100791206 -26-12-2019 6:00,7161373.442,0.229135037,0.229135037 -26-12-2019 7:00,7161256.589,0.322609961,0.322609961 -26-12-2019 8:00,7161140.59,0.41946668,0.41946668 -26-12-2019 9:00,7161025.444,0.374933617,0.374933617 -26-12-2019 10:00,7160911.152,0.393222869,0.393222869 -26-12-2019 11:00,7160797.713,0.52200598,0.52200598 -26-12-2019 12:00,7160685.127,0.469428136,0.469428136 -26-12-2019 13:00,7160573.396,0.353335222,0.353335222 -26-12-2019 14:00,7160462.518,0.396171003,0.396171003 -26-12-2019 15:00,7160352.493,0.400399673,0.400399673 -26-12-2019 16:00,7160243.323,0.374707794,0.374707794 -26-12-2019 17:00,7160135.006,0.400290169,0.400290169 -26-12-2019 18:00,7160027.544,0.386250799,0.386250799 -26-12-2019 19:00,7159920.935,0.350898047,0.350898047 -26-12-2019 20:00,7159815.181,0.288425989,0.288425989 -26-12-2019 21:00,7159710.28,0.188045741,0.188045741 -26-12-2019 22:00,7159606.234,0.089157297,0.089157297 -26-12-2019 23:00,7159503.042,0.038324486,0.038324486 -27-12-2019 0:00,7159400.704,0.015428298,0.015428298 -27-12-2019 1:00,7159299.22,0.004955978,0.004955978 -27-12-2019 2:00,7159198.591,0.002780288,0.002780288 -27-12-2019 3:00,7159098.816,0.004110914,0.004110914 -27-12-2019 4:00,7158999.896,0.021449374,0.021449374 -27-12-2019 5:00,7158901.83,0.120585963,0.120585963 -27-12-2019 6:00,7158804.619,0.27216288,0.27216288 -27-12-2019 7:00,7158708.263,0.382143288,0.382143288 -27-12-2019 8:00,7158612.761,0.476235609,0.476235609 -27-12-2019 9:00,7158518.114,0.344244598,0.344244598 -27-12-2019 10:00,7158424.321,0.317842074,0.317842074 -27-12-2019 11:00,7158331.383,0.434492643,0.434492643 -27-12-2019 12:00,7158239.301,0.359261157,0.359261157 -27-12-2019 13:00,7158148.073,0.222904644,0.222904644 -27-12-2019 14:00,7158057.7,0.378500988,0.378500988 -27-12-2019 15:00,7157968.182,0.422323517,0.422323517 -27-12-2019 16:00,7157879.519,0.412015925,0.412015925 -27-12-2019 17:00,7157791.711,0.450822048,0.450822048 -27-12-2019 18:00,7157704.759,0.436726153,0.436726153 -27-12-2019 19:00,7157618.661,0.400981875,0.400981875 -27-12-2019 20:00,7157533.419,0.330808118,0.330808118 -27-12-2019 21:00,7157449.032,0.216615725,0.216615725 -27-12-2019 22:00,7157365.501,0.106020611,0.106020611 -27-12-2019 23:00,7157282.824,0.045366487,0.045366487 -28-12-2019 0:00,7157201.004,0.019210682,0.019210682 -28-12-2019 1:00,7157120.038,0.006894797,0.006894797 -28-12-2019 2:00,7157039.928,0.004676425,0.004676425 -28-12-2019 3:00,7156960.674,0.009769604,0.009769604 -28-12-2019 4:00,7156882.275,0.043900242,0.043900242 -28-12-2019 5:00,7156804.732,0.198635211,0.198635211 -28-12-2019 6:00,7156728.044,0.41303445,0.41303445 -28-12-2019 7:00,7156652.212,0.551363446,0.551363446 -28-12-2019 8:00,7156577.236,0.663753547,0.663753547 -28-12-2019 9:00,7156503.116,0.545383288,0.545383288 -28-12-2019 10:00,7156429.851,0.512666436,0.512666436 -28-12-2019 11:00,7156357.443,0.623108956,0.623108956 -28-12-2019 12:00,7156285.89,0.556345954,0.556345954 -28-12-2019 13:00,7156215.193,0.452171243,0.452171243 -28-12-2019 14:00,7156145.352,0.485649072,0.485649072 -28-12-2019 15:00,7156076.367,0.497762908,0.497762908 -28-12-2019 16:00,7156008.238,0.46971978,0.46971978 -28-12-2019 17:00,7155940.965,0.498266189,0.498266189 -28-12-2019 18:00,7155874.548,0.479376032,0.479376032 -28-12-2019 19:00,7155808.987,0.439123691,0.439123691 -28-12-2019 20:00,7155744.283,0.36555627,0.36555627 -28-12-2019 21:00,7155680.434,0.237518151,0.237518151 -28-12-2019 22:00,7155617.442,0.113775473,0.113775473 -28-12-2019 23:00,7155555.306,0.050457323,0.050457323 -29-12-2019 0:00,7155494.027,0.021548196,0.021548196 -29-12-2019 1:00,7155433.603,0.008707307,0.008707307 -29-12-2019 2:00,7155374.036,0.007320099,0.007320099 -29-12-2019 3:00,7155315.326,0.015277189,0.015277189 -29-12-2019 4:00,7155257.472,0.057103705,0.057103705 -29-12-2019 5:00,7155200.474,0.233764623,0.233764623 -29-12-2019 6:00,7155144.333,0.473169251,0.473169251 -29-12-2019 7:00,7155089.048,0.613277739,0.613277739 -29-12-2019 8:00,7155034.62,0.725765378,0.725765378 -29-12-2019 9:00,7154981.048,0.594168931,0.594168931 -29-12-2019 10:00,7154928.333,0.550342319,0.550342319 -29-12-2019 11:00,7154876.475,0.659336185,0.659336185 -29-12-2019 12:00,7154825.473,0.585044095,0.585044095 -29-12-2019 13:00,7154775.328,0.481229758,0.481229758 -29-12-2019 14:00,7154726.039,0.51084289,0.51084289 -29-12-2019 15:00,7154677.608,0.518298553,0.518298553 -29-12-2019 16:00,7154630.033,0.488714389,0.488714389 -29-12-2019 17:00,7154583.315,0.516346677,0.516346677 -29-12-2019 18:00,7154537.453,0.494007049,0.494007049 -29-12-2019 19:00,7154492.449,0.447952333,0.447952333 -29-12-2019 20:00,7154448.301,0.369490648,0.369490648 -29-12-2019 21:00,7154405.01,0.240007141,0.240007141 -29-12-2019 22:00,7154362.576,0.114226706,0.114226706 -29-12-2019 23:00,7154320.999,0.050950165,0.050950165 -30-12-2019 0:00,7154280.279,0.021632943,0.021632943 -30-12-2019 1:00,7154240.415,0.009022134,0.009022134 -30-12-2019 2:00,7154201.409,0.007565375,0.007565375 -30-12-2019 3:00,7154163.26,0.015102117,0.015102117 -30-12-2019 4:00,7154125.967,0.055753807,0.055753807 -30-12-2019 5:00,7154089.532,0.225396793,0.225396793 -30-12-2019 6:00,7154053.954,0.45644119,0.45644119 -30-12-2019 7:00,7154019.233,0.590714244,0.590714244 -30-12-2019 8:00,7153985.369,0.695522047,0.695522047 -30-12-2019 9:00,7153952.362,0.484561511,0.484561511 -30-12-2019 10:00,7153920.212,0.398524808,0.398524808 -30-12-2019 11:00,7153888.919,0.553608641,0.553608641 -30-12-2019 12:00,7153858.484,0.427741585,0.427741585 -30-12-2019 13:00,7153828.905,0.293941674,0.293941674 -30-12-2019 14:00,7153800.184,0.444276709,0.444276709 -30-12-2019 15:00,7153772.32,0.488699362,0.488699362 -30-12-2019 16:00,7153745.313,0.466333191,0.466333191 -30-12-2019 17:00,7153719.163,0.490288817,0.490288817 -30-12-2019 18:00,7153693.871,0.473353498,0.473353498 -30-12-2019 19:00,7153669.436,0.433846364,0.433846364 -30-12-2019 20:00,7153645.858,0.359864363,0.359864363 -30-12-2019 21:00,7153623.137,0.233503595,0.233503595 -30-12-2019 22:00,7153601.274,0.111144296,0.111144296 -30-12-2019 23:00,7153580.268,0.048836507,0.048836507 -31-12-2019 0:00,7153560.119,0.020874907,0.020874907 -31-12-2019 1:00,7153540.828,0.008064308,0.008064308 -31-12-2019 2:00,7153522.394,0.006158415,0.006158415 -31-12-2019 3:00,7153504.817,0.011881561,0.011881561 -31-12-2019 4:00,7153488.098,0.049240688,0.049240688 -31-12-2019 5:00,7153472.236,0.204513764,0.204513764 -31-12-2019 6:00,7153457.231,0.428980208,0.428980208 -31-12-2019 7:00,7153443.084,0.57077863,0.57077863 -31-12-2019 8:00,7153429.794,0.689960507,0.689960507 -31-12-2019 9:00,7153417.361,0.556279556,0.556279556 -31-12-2019 10:00,7153405.786,0.50881851,0.50881851 -31-12-2019 11:00,7153395.068,0.615059566,0.615059566 -31-12-2019 12:00,7153385.208,0.543006493,0.543006493 -31-12-2019 13:00,7153376.205,0.439104044,0.439104044 -31-12-2019 14:00,7153368.059,0.46955531,0.46955531 -31-12-2019 15:00,7153360.771,0.509024189,0.509024189 -31-12-2019 16:00,7153354.34,0.495105355,0.495105355 -31-12-2019 17:00,7153348.767,0.509744904,0.509744904 -31-12-2019 18:00,7153344.051,0.484135954,0.484135954 -31-12-2019 19:00,7153340.193,0.437378359,0.437378359 -31-12-2019 20:00,7153337.192,0.360347986,0.360347986 -31-12-2019 21:00,7153335.048,0.234917204,0.234917204 -31-12-2019 22:00,7153333.762,0.114569593,0.114569593 diff --git a/examples/heating_and_cooling/input/timeseries_4_elect_cost.csv b/examples/heating_and_cooling/input/timeseries_4_elect_cost.csv deleted file mode 100644 index e3505b9f4..000000000 --- a/examples/heating_and_cooling/input/timeseries_4_elect_cost.csv +++ /dev/null @@ -1,8761 +0,0 @@ -DateTime,CoolingDemand_1,HeatingDemand_1,HeatingDemand_2,Elect -31-12-2018 23:00,7153333.333,0.050329049,0.050329049,1.00E-04 -1-1-2019 0:00,7153333.762,0.019461529,0.019461529,1.00E-04 -1-1-2019 1:00,7153335.048,0.005371142,0.005371142,1.00E-04 -1-1-2019 2:00,7153337.192,0.002531358,0.002531358,1.00E-04 -1-1-2019 3:00,7153340.193,0.006376971,0.006376971,1.00E-04 -1-1-2019 4:00,7153344.051,0.039930779,0.039930779,1.00E-04 -1-1-2019 5:00,7153348.767,0.189693727,0.189693727,1.00E-04 -1-1-2019 6:00,7153354.34,0.398271631,0.398271631,1.00E-04 -1-1-2019 7:00,7153360.771,0.545202955,0.545202955,1.00E-04 -1-1-2019 8:00,7153368.059,0.664203859,0.664203859,1.00E-04 -1-1-2019 9:00,7153376.205,0.552707393,0.552707393,1.00E-04 -1-1-2019 10:00,7153385.208,0.51662341,0.51662341,1.00E-04 -1-1-2019 11:00,7153395.068,0.639689954,0.639689954,1.00E-04 -1-1-2019 12:00,7153405.786,0.54726439,0.54726439,1.00E-04 -1-1-2019 13:00,7153417.361,0.462136528,0.462136528,1.00E-04 -1-1-2019 14:00,7153429.794,0.49566353,0.49566353,1.00E-04 -1-1-2019 15:00,7153443.084,0.50413802,0.50413802,1.00E-04 -1-1-2019 16:00,7153457.231,0.477233502,0.477233502,1.00E-04 -1-1-2019 17:00,7153472.236,0.500550865,0.500550865,1.00E-04 -1-1-2019 18:00,7153488.098,0.485878609,0.485878609,1.00E-04 -1-1-2019 19:00,7153504.817,0.436978888,0.436978888,1.00E-04 -1-1-2019 20:00,7153522.394,0.360554953,0.360554953,1.00E-04 -1-1-2019 21:00,7153540.828,0.234138179,0.234138179,1.00E-04 -1-1-2019 22:00,7153560.119,0.111812117,0.111812117,1.00E-04 -1-1-2019 23:00,7153580.268,0.048379859,0.048379859,1.00E-04 -2-1-2019 0:00,7153601.274,0.019428271,0.019428271,1.00E-04 -2-1-2019 1:00,7153623.137,0.006310747,0.006310747,1.00E-04 -2-1-2019 2:00,7153645.858,0.003488399,0.003488399,1.00E-04 -2-1-2019 3:00,7153669.436,0.009135712,0.009135712,1.00E-04 -2-1-2019 4:00,7153693.871,0.044403937,0.044403937,1.00E-04 -2-1-2019 5:00,7153719.163,0.208010815,0.208010815,1.00E-04 -2-1-2019 6:00,7153745.313,0.42089549,0.42089549,1.00E-04 -2-1-2019 7:00,7153772.32,0.562652669,0.562652669,1.00E-04 -2-1-2019 8:00,7153800.184,0.679147921,0.679147921,1.00E-04 -2-1-2019 9:00,7153828.905,0.541377445,0.541377445,1.00E-04 -2-1-2019 10:00,7153858.484,0.519032215,0.519032215,1.00E-04 -2-1-2019 11:00,7153888.919,0.634940763,0.634940763,1.00E-04 -2-1-2019 12:00,7153920.212,0.56137586,0.56137586,1.00E-04 -2-1-2019 13:00,7153952.362,0.461387204,0.461387204,1.00E-04 -2-1-2019 14:00,7153985.369,0.491492373,0.491492373,1.00E-04 -2-1-2019 15:00,7154019.233,0.499763615,0.499763615,1.00E-04 -2-1-2019 16:00,7154053.954,0.47286208,0.47286208,1.00E-04 -2-1-2019 17:00,7154089.532,0.496882406,0.496882406,1.00E-04 -2-1-2019 18:00,7154125.967,0.476811477,0.476811477,1.00E-04 -2-1-2019 19:00,7154163.26,0.435859797,0.435859797,1.00E-04 -2-1-2019 20:00,7154201.409,0.360541095,0.360541095,1.00E-04 -2-1-2019 21:00,7154240.415,0.234457849,0.234457849,1.00E-04 -2-1-2019 22:00,7154280.279,0.110798835,0.110798835,1.00E-04 -2-1-2019 23:00,7154320.999,0.047974401,0.047974401,1.00E-04 -3-1-2019 0:00,7154362.576,0.019739858,0.019739858,1.00E-04 -3-1-2019 1:00,7154405.01,0.006558014,0.006558014,1.00E-04 -3-1-2019 2:00,7154448.301,0.004095333,0.004095333,1.00E-04 -3-1-2019 3:00,7154492.449,0.009698575,0.009698575,1.00E-04 -3-1-2019 4:00,7154537.453,0.046215446,0.046215446,1.00E-04 -3-1-2019 5:00,7154583.315,0.210114138,0.210114138,1.00E-04 -3-1-2019 6:00,7154630.033,0.428649595,0.428649595,1.00E-04 -3-1-2019 7:00,7154677.608,0.573832993,0.573832993,1.00E-04 -3-1-2019 8:00,7154726.039,0.688455907,0.688455907,1.00E-04 -3-1-2019 9:00,7154775.328,0.561987952,0.561987952,1.00E-04 -3-1-2019 10:00,7154825.473,0.422583027,0.422583027,1.00E-04 -3-1-2019 11:00,7154876.475,0.614018054,0.614018054,1.00E-04 -3-1-2019 12:00,7154928.333,0.559906046,0.559906046,1.00E-04 -3-1-2019 13:00,7154981.048,0.413295178,0.413295178,1.00E-04 -3-1-2019 14:00,7155034.62,0.486553554,0.486553554,1.00E-04 -3-1-2019 15:00,7155089.048,0.506249886,0.506249886,1.00E-04 -3-1-2019 16:00,7155144.333,0.487711428,0.487711428,1.00E-04 -3-1-2019 17:00,7155200.474,0.504661317,0.504661317,1.00E-04 -3-1-2019 18:00,7155257.472,0.490970828,0.490970828,1.00E-04 -3-1-2019 19:00,7155315.326,0.445743687,0.445743687,1.00E-04 -3-1-2019 20:00,7155374.036,0.369159712,0.369159712,1.00E-04 -3-1-2019 21:00,7155433.603,0.239956244,0.239956244,1.00E-04 -3-1-2019 22:00,7155494.027,0.113382063,0.113382063,1.00E-04 -3-1-2019 23:00,7155555.306,0.049037055,0.049037055,1.00E-04 -4-1-2019 0:00,7155617.442,0.02030774,0.02030774,1.00E-04 -4-1-2019 1:00,7155680.434,0.007109878,0.007109878,1.00E-04 -4-1-2019 2:00,7155744.283,0.005020789,0.005020789,1.00E-04 -4-1-2019 3:00,7155808.987,0.01117393,0.01117393,1.00E-04 -4-1-2019 4:00,7155874.548,0.049549104,0.049549104,1.00E-04 -4-1-2019 5:00,7155940.965,0.216591901,0.216591901,1.00E-04 -4-1-2019 6:00,7156008.238,0.435886536,0.435886536,1.00E-04 -4-1-2019 7:00,7156076.367,0.571507133,0.571507133,1.00E-04 -4-1-2019 8:00,7156145.352,0.683565181,0.683565181,1.00E-04 -4-1-2019 9:00,7156215.193,0.558496764,0.558496764,1.00E-04 -4-1-2019 10:00,7156285.89,0.520799155,0.520799155,1.00E-04 -4-1-2019 11:00,7156357.443,0.638113454,0.638113454,1.00E-04 -4-1-2019 12:00,7156429.851,0.565700035,0.565700035,1.00E-04 -4-1-2019 13:00,7156503.116,0.458892894,0.458892894,1.00E-04 -4-1-2019 14:00,7156577.236,0.490262044,0.490262044,1.00E-04 -4-1-2019 15:00,7156652.212,0.495260083,0.495260083,1.00E-04 -4-1-2019 16:00,7156728.044,0.463318659,0.463318659,1.00E-04 -4-1-2019 17:00,7156804.732,0.487164971,0.487164971,1.00E-04 -4-1-2019 18:00,7156882.275,0.465230564,0.465230564,1.00E-04 -4-1-2019 19:00,7156960.674,0.423526252,0.423526252,1.00E-04 -4-1-2019 20:00,7157039.928,0.348720126,0.348720126,1.00E-04 -4-1-2019 21:00,7157120.038,0.22672459,0.22672459,1.00E-04 -4-1-2019 22:00,7157201.004,0.10641711,0.10641711,1.00E-04 -4-1-2019 23:00,7157282.824,0.045729951,0.045729951,1.00E-04 -5-1-2019 0:00,7157365.501,0.019021529,0.019021529,1.00E-04 -5-1-2019 1:00,7157449.032,0.006342652,0.006342652,1.00E-04 -5-1-2019 2:00,7157533.419,0.003929531,0.003929531,1.00E-04 -5-1-2019 3:00,7157618.661,0.007741717,0.007741717,1.00E-04 -5-1-2019 4:00,7157704.759,0.03904124,0.03904124,1.00E-04 -5-1-2019 5:00,7157791.711,0.177959059,0.177959059,1.00E-04 -5-1-2019 6:00,7157879.519,0.372426717,0.372426717,1.00E-04 -5-1-2019 7:00,7157968.182,0.4936847,0.4936847,1.00E-04 -5-1-2019 8:00,7158057.7,0.599716805,0.599716805,1.00E-04 -5-1-2019 9:00,7158148.073,0.495757386,0.495757386,1.00E-04 -5-1-2019 10:00,7158239.301,0.473899887,0.473899887,1.00E-04 -5-1-2019 11:00,7158331.383,0.600328524,0.600328524,1.00E-04 -5-1-2019 12:00,7158424.321,0.534210447,0.534210447,1.00E-04 -5-1-2019 13:00,7158518.114,0.423469638,0.423469638,1.00E-04 -5-1-2019 14:00,7158612.761,0.457344488,0.457344488,1.00E-04 -5-1-2019 15:00,7158708.263,0.470152128,0.470152128,1.00E-04 -5-1-2019 16:00,7158804.619,0.439618076,0.439618076,1.00E-04 -5-1-2019 17:00,7158901.83,0.465026649,0.465026649,1.00E-04 -5-1-2019 18:00,7158999.896,0.447384175,0.447384175,1.00E-04 -5-1-2019 19:00,7159098.816,0.409161519,0.409161519,1.00E-04 -5-1-2019 20:00,7159198.591,0.336858569,0.336858569,1.00E-04 -5-1-2019 21:00,7159299.22,0.217426284,0.217426284,1.00E-04 -5-1-2019 22:00,7159400.704,0.102868237,0.102868237,1.00E-04 -5-1-2019 23:00,7159503.042,0.044590477,0.044590477,1.00E-04 -6-1-2019 0:00,7159606.234,0.018339846,0.018339846,1.00E-04 -6-1-2019 1:00,7159710.28,0.006150537,0.006150537,1.00E-04 -6-1-2019 2:00,7159815.181,0.003529487,0.003529487,1.00E-04 -6-1-2019 3:00,7159920.935,0.007075878,0.007075878,1.00E-04 -6-1-2019 4:00,7160027.544,0.036569713,0.036569713,1.00E-04 -6-1-2019 5:00,7160135.006,0.171923542,0.171923542,1.00E-04 -6-1-2019 6:00,7160243.323,0.361518493,0.361518493,1.00E-04 -6-1-2019 7:00,7160352.493,0.48360434,0.48360434,1.00E-04 -6-1-2019 8:00,7160462.518,0.590215083,0.590215083,1.00E-04 -6-1-2019 9:00,7160573.396,0.488820498,0.488820498,1.00E-04 -6-1-2019 10:00,7160685.127,0.452909283,0.452909283,1.00E-04 -6-1-2019 11:00,7160797.713,0.588111095,0.588111095,1.00E-04 -6-1-2019 12:00,7160911.152,0.524773969,0.524773969,1.00E-04 -6-1-2019 13:00,7161025.444,0.413723647,0.413723647,1.00E-04 -6-1-2019 14:00,7161140.59,0.454449225,0.454449225,1.00E-04 -6-1-2019 15:00,7161256.589,0.46363899,0.46363899,1.00E-04 -6-1-2019 16:00,7161373.442,0.434776402,0.434776402,1.00E-04 -6-1-2019 17:00,7161491.148,0.458370174,0.458370174,1.00E-04 -6-1-2019 18:00,7161609.707,0.439796801,0.439796801,1.00E-04 -6-1-2019 19:00,7161729.12,0.401021343,0.401021343,1.00E-04 -6-1-2019 20:00,7161849.385,0.330607429,0.330607429,1.00E-04 -6-1-2019 21:00,7161970.504,0.215495228,0.215495228,1.00E-04 -6-1-2019 22:00,7162092.476,0.10271267,0.10271267,1.00E-04 -6-1-2019 23:00,7162215.3,0.04586981,0.04586981,1.00E-04 -7-1-2019 0:00,7162338.978,0.019632177,0.019632177,1.00E-04 -7-1-2019 1:00,7162463.508,0.006798462,0.006798462,1.00E-04 -7-1-2019 2:00,7162588.891,0.004260438,0.004260438,1.00E-04 -7-1-2019 3:00,7162715.126,0.008989145,0.008989145,1.00E-04 -7-1-2019 4:00,7162842.214,0.0422622,0.0422622,1.00E-04 -7-1-2019 5:00,7162970.155,0.187005394,0.187005394,1.00E-04 -7-1-2019 6:00,7163098.948,0.382383436,0.382383436,1.00E-04 -7-1-2019 7:00,7163228.594,0.50159386,0.50159386,1.00E-04 -7-1-2019 8:00,7163359.092,0.600515151,0.600515151,1.00E-04 -7-1-2019 9:00,7163490.442,0.486873308,0.486873308,1.00E-04 -7-1-2019 10:00,7163622.645,0.461152611,0.461152611,1.00E-04 -7-1-2019 11:00,7163755.699,0.582754635,0.582754635,1.00E-04 -7-1-2019 12:00,7163889.606,0.514167394,0.514167394,1.00E-04 -7-1-2019 13:00,7164024.365,0.40024011,0.40024011,1.00E-04 -7-1-2019 14:00,7164159.975,0.43969489,0.43969489,1.00E-04 -7-1-2019 15:00,7164296.438,0.449535339,0.449535339,1.00E-04 -7-1-2019 16:00,7164433.752,0.421003933,0.421003933,1.00E-04 -7-1-2019 17:00,7164571.918,0.444968636,0.444968636,1.00E-04 -7-1-2019 18:00,7164710.936,0.421059934,0.421059934,1.00E-04 -7-1-2019 19:00,7164850.805,0.381925104,0.381925104,1.00E-04 -7-1-2019 20:00,7164991.525,0.308273439,0.308273439,1.00E-04 -7-1-2019 21:00,7165133.098,0.196221668,0.196221668,1.00E-04 -7-1-2019 22:00,7165275.521,0.094276231,0.094276231,1.00E-04 -7-1-2019 23:00,7165418.796,0.04094332,0.04094332,1.00E-04 -8-1-2019 0:00,7165562.922,0.016636476,0.016636476,1.00E-04 -8-1-2019 1:00,7165707.899,0.00553427,0.00553427,1.00E-04 -8-1-2019 2:00,7165853.727,0.003089608,0.003089608,1.00E-04 -8-1-2019 3:00,7166000.407,0.004912056,0.004912056,1.00E-04 -8-1-2019 4:00,7166147.937,0.027654966,0.027654966,1.00E-04 -8-1-2019 5:00,7166296.318,0.140687363,0.140687363,1.00E-04 -8-1-2019 6:00,7166445.549,0.304211653,0.304211653,1.00E-04 -8-1-2019 7:00,7166595.632,0.413806726,0.413806726,1.00E-04 -8-1-2019 8:00,7166746.565,0.51295431,0.51295431,1.00E-04 -8-1-2019 9:00,7166898.348,0.436477765,0.436477765,1.00E-04 -8-1-2019 10:00,7167050.982,0.412640076,0.412640076,1.00E-04 -8-1-2019 11:00,7167204.467,0.555377657,0.555377657,1.00E-04 -8-1-2019 12:00,7167358.802,0.494114076,0.494114076,1.00E-04 -8-1-2019 13:00,7167513.986,0.382548114,0.382548114,1.00E-04 -8-1-2019 14:00,7167670.021,0.423531907,0.423531907,1.00E-04 -8-1-2019 15:00,7167826.907,0.436970644,0.436970644,1.00E-04 -8-1-2019 16:00,7167984.642,0.408668739,0.408668739,1.00E-04 -8-1-2019 17:00,7168143.227,0.433833089,0.433833089,1.00E-04 -8-1-2019 18:00,7168302.661,0.416230639,0.416230639,1.00E-04 -8-1-2019 19:00,7168462.946,0.383180971,0.383180971,1.00E-04 -8-1-2019 20:00,7168624.08,0.31690591,0.31690591,1.00E-04 -8-1-2019 21:00,7168786.064,0.207821852,0.207821852,1.00E-04 -8-1-2019 22:00,7168948.897,0.097006367,0.097006367,1.00E-04 -8-1-2019 23:00,7169112.58,0.043376897,0.043376897,1.00E-04 -9-1-2019 0:00,7169277.112,0.017520636,0.017520636,1.00E-04 -9-1-2019 1:00,7169442.493,0.006019236,0.006019236,1.00E-04 -9-1-2019 2:00,7169608.723,0.003345468,0.003345468,1.00E-04 -9-1-2019 3:00,7169775.803,0.006004303,0.006004303,1.00E-04 -9-1-2019 4:00,7169943.731,0.032397864,0.032397864,1.00E-04 -9-1-2019 5:00,7170112.508,0.15891724,0.15891724,1.00E-04 -9-1-2019 6:00,7170282.134,0.338045376,0.338045376,1.00E-04 -9-1-2019 7:00,7170452.609,0.458179773,0.458179773,1.00E-04 -9-1-2019 8:00,7170623.932,0.560557402,0.560557402,1.00E-04 -9-1-2019 9:00,7170796.104,0.458831181,0.458831181,1.00E-04 -9-1-2019 10:00,7170969.125,0.447603856,0.447603856,1.00E-04 -9-1-2019 11:00,7171142.993,0.571529125,0.571529125,1.00E-04 -9-1-2019 12:00,7171317.71,0.486836139,0.486836139,1.00E-04 -9-1-2019 13:00,7171493.276,0.352128571,0.352128571,1.00E-04 -9-1-2019 14:00,7171669.689,0.435176558,0.435176558,1.00E-04 -9-1-2019 15:00,7171846.95,0.452141063,0.452141063,1.00E-04 -9-1-2019 16:00,7172025.059,0.426759042,0.426759042,1.00E-04 -9-1-2019 17:00,7172204.016,0.453818924,0.453818924,1.00E-04 -9-1-2019 18:00,7172383.821,0.435415103,0.435415103,1.00E-04 -9-1-2019 19:00,7172564.473,0.396964519,0.396964519,1.00E-04 -9-1-2019 20:00,7172745.973,0.328215286,0.328215286,1.00E-04 -9-1-2019 21:00,7172928.321,0.213614226,0.213614226,1.00E-04 -9-1-2019 22:00,7173111.515,0.102185371,0.102185371,1.00E-04 -9-1-2019 23:00,7173295.557,0.044469016,0.044469016,1.00E-04 -10-1-2019 0:00,7173480.446,0.018805298,0.018805298,1.00E-04 -10-1-2019 1:00,7173666.183,0.006779596,0.006779596,1.00E-04 -10-1-2019 2:00,7173852.766,0.004156134,0.004156134,1.00E-04 -10-1-2019 3:00,7174040.196,0.008437588,0.008437588,1.00E-04 -10-1-2019 4:00,7174228.473,0.040934357,0.040934357,1.00E-04 -10-1-2019 5:00,7174417.596,0.186377163,0.186377163,1.00E-04 -10-1-2019 6:00,7174607.566,0.389688306,0.389688306,1.00E-04 -10-1-2019 7:00,7174798.383,0.520196472,0.520196472,1.00E-04 -10-1-2019 8:00,7174990.046,0.62572418,0.62572418,1.00E-04 -10-1-2019 9:00,7175182.555,0.509193668,0.509193668,1.00E-04 -10-1-2019 10:00,7175375.91,0.48519654,0.48519654,1.00E-04 -10-1-2019 11:00,7175570.112,0.605351904,0.605351904,1.00E-04 -10-1-2019 12:00,7175765.159,0.531118278,0.531118278,1.00E-04 -10-1-2019 13:00,7175961.053,0.418254502,0.418254502,1.00E-04 -10-1-2019 14:00,7176157.792,0.463842663,0.463842663,1.00E-04 -10-1-2019 15:00,7176355.377,0.47569793,0.47569793,1.00E-04 -10-1-2019 16:00,7176553.807,0.448089109,0.448089109,1.00E-04 -10-1-2019 17:00,7176753.083,0.476483155,0.476483155,1.00E-04 -10-1-2019 18:00,7176953.205,0.460804063,0.460804063,1.00E-04 -10-1-2019 19:00,7177154.171,0.421834017,0.421834017,1.00E-04 -10-1-2019 20:00,7177355.983,0.347171672,0.347171672,1.00E-04 -10-1-2019 21:00,7177558.64,0.224966951,0.224966951,1.00E-04 -10-1-2019 22:00,7177762.142,0.106268805,0.106268805,1.00E-04 -10-1-2019 23:00,7177966.489,0.046003631,0.046003631,1.00E-04 -11-1-2019 0:00,7178171.68,0.019139769,0.019139769,1.00E-04 -11-1-2019 1:00,7178377.716,0.006668968,0.006668968,1.00E-04 -11-1-2019 2:00,7178584.597,0.004577772,0.004577772,1.00E-04 -11-1-2019 3:00,7178792.322,0.008324014,0.008324014,1.00E-04 -11-1-2019 4:00,7179000.892,0.039482612,0.039482612,1.00E-04 -11-1-2019 5:00,7179210.305,0.176064608,0.176064608,1.00E-04 -11-1-2019 6:00,7179420.563,0.36616921,0.36616921,1.00E-04 -11-1-2019 7:00,7179631.665,0.481756708,0.481756708,1.00E-04 -11-1-2019 8:00,7179843.611,0.57898573,0.57898573,1.00E-04 -11-1-2019 9:00,7180056.4,0.47147639,0.47147639,1.00E-04 -11-1-2019 10:00,7180270.034,0.454278709,0.454278709,1.00E-04 -11-1-2019 11:00,7180484.51,0.576476417,0.576476417,1.00E-04 -11-1-2019 12:00,7180699.831,0.512484741,0.512484741,1.00E-04 -11-1-2019 13:00,7180915.994,0.394310868,0.394310868,1.00E-04 -11-1-2019 14:00,7181133.001,0.441362266,0.441362266,1.00E-04 -11-1-2019 15:00,7181350.851,0.451090025,0.451090025,1.00E-04 -11-1-2019 16:00,7181569.544,0.422352688,0.422352688,1.00E-04 -11-1-2019 17:00,7181789.08,0.447848017,0.447848017,1.00E-04 -11-1-2019 18:00,7182009.459,0.429538466,0.429538466,1.00E-04 -11-1-2019 19:00,7182230.68,0.393278622,0.393278622,1.00E-04 -11-1-2019 20:00,7182452.744,0.323524531,0.323524531,1.00E-04 -11-1-2019 21:00,7182675.651,0.209032722,0.209032722,1.00E-04 -11-1-2019 22:00,7182899.399,0.09887287,0.09887287,1.00E-04 -11-1-2019 23:00,7183123.99,0.042573266,0.042573266,1.00E-04 -12-1-2019 0:00,7183349.423,0.017717186,0.017717186,1.00E-04 -12-1-2019 1:00,7183575.698,0.006004519,0.006004519,1.00E-04 -12-1-2019 2:00,7183802.815,0.003448414,0.003448414,1.00E-04 -12-1-2019 3:00,7184030.774,0.005969447,0.005969447,1.00E-04 -12-1-2019 4:00,7184259.574,0.032149347,0.032149347,1.00E-04 -12-1-2019 5:00,7184489.216,0.153660386,0.153660386,1.00E-04 -12-1-2019 6:00,7184719.699,0.328258783,0.328258783,1.00E-04 -12-1-2019 7:00,7184951.024,0.438452631,0.438452631,1.00E-04 -12-1-2019 8:00,7185183.19,0.537800938,0.537800938,1.00E-04 -12-1-2019 9:00,7185416.197,0.445409229,0.445409229,1.00E-04 -12-1-2019 10:00,7185650.044,0.438525482,0.438525482,1.00E-04 -12-1-2019 11:00,7185884.733,0.562623772,0.562623772,1.00E-04 -12-1-2019 12:00,7186120.262,0.495562455,0.495562455,1.00E-04 -12-1-2019 13:00,7186356.632,0.375319856,0.375319856,1.00E-04 -12-1-2019 14:00,7186593.842,0.423674581,0.423674581,1.00E-04 -12-1-2019 15:00,7186831.892,0.435020618,0.435020618,1.00E-04 -12-1-2019 16:00,7187070.783,0.406244961,0.406244961,1.00E-04 -12-1-2019 17:00,7187310.514,0.430360633,0.430360633,1.00E-04 -12-1-2019 18:00,7187551.085,0.411893155,0.411893155,1.00E-04 -12-1-2019 19:00,7187792.495,0.37437433,0.37437433,1.00E-04 -12-1-2019 20:00,7188034.746,0.306431394,0.306431394,1.00E-04 -12-1-2019 21:00,7188277.835,0.197409241,0.197409241,1.00E-04 -12-1-2019 22:00,7188521.765,0.093401925,0.093401925,1.00E-04 -12-1-2019 23:00,7188766.533,0.039900248,0.039900248,1.00E-04 -13-01-2019 0:00,7189012.141,0.016329827,0.016329827,1.00E-04 -13-01-2019 1:00,7189258.588,0.005443725,0.005443725,1.00E-04 -13-01-2019 2:00,7189505.874,0.003043262,0.003043262,1.00E-04 -13-01-2019 3:00,7189753.999,0.004605259,0.004605259,1.00E-04 -13-01-2019 4:00,7190002.962,0.025266751,0.025266751,1.00E-04 -13-01-2019 5:00,7190252.764,0.128273352,0.128273352,1.00E-04 -13-01-2019 6:00,7190503.405,0.278612126,0.278612126,1.00E-04 -13-01-2019 7:00,7190754.883,0.376051775,0.376051775,1.00E-04 -13-01-2019 8:00,7191007.2,0.46585309,0.46585309,1.00E-04 -13-01-2019 9:00,7191260.355,0.393129138,0.393129138,1.00E-04 -13-01-2019 10:00,7191514.348,0.398614913,0.398614913,1.00E-04 -13-01-2019 11:00,7191769.179,0.529197807,0.529197807,1.00E-04 -13-01-2019 12:00,7192024.847,0.466434926,0.466434926,1.00E-04 -13-01-2019 13:00,7192281.353,0.344963537,0.344963537,1.00E-04 -13-01-2019 14:00,7192538.696,0.393568393,0.393568393,1.00E-04 -13-01-2019 15:00,7192796.877,0.403619737,0.403619737,1.00E-04 -13-01-2019 16:00,7193055.894,0.374309541,0.374309541,1.00E-04 -13-01-2019 17:00,7193315.749,0.410379335,0.410379335,1.00E-04 -13-01-2019 18:00,7193576.44,0.388690548,0.388690548,1.00E-04 -13-01-2019 19:00,7193837.969,0.354293236,0.354293236,1.00E-04 -13-01-2019 20:00,7194100.334,0.289659382,0.289659382,1.00E-04 -13-01-2019 21:00,7194363.535,0.186927802,0.186927802,1.00E-04 -13-01-2019 22:00,7194627.572,0.088453529,0.088453529,1.00E-04 -13-01-2019 23:00,7194892.446,0.037957367,0.037957367,1.00E-04 -14-01-2019 0:00,7195158.156,0.015671919,0.015671919,1.00E-04 -14-01-2019 1:00,7195424.702,0.005128269,0.005128269,1.00E-04 -14-01-2019 2:00,7195692.083,0.002869633,0.002869633,1.00E-04 -14-01-2019 3:00,7195960.301,0.00424043,0.00424043,1.00E-04 -14-01-2019 4:00,7196229.353,0.023020482,0.023020482,1.00E-04 -14-01-2019 5:00,7196499.241,0.124466761,0.124466761,1.00E-04 -14-01-2019 6:00,7196769.965,0.27645431,0.27645431,1.00E-04 -14-01-2019 7:00,7197041.523,0.384244682,0.384244682,1.00E-04 -14-01-2019 8:00,7197313.916,0.470589075,0.470589075,1.00E-04 -14-01-2019 9:00,7197587.144,0.35920487,0.35920487,1.00E-04 -14-01-2019 10:00,7197861.207,0.319362427,0.319362427,1.00E-04 -14-01-2019 11:00,7198136.105,0.473411042,0.473411042,1.00E-04 -14-01-2019 12:00,7198411.836,0.407179204,0.407179204,1.00E-04 -14-01-2019 13:00,7198688.402,0.328199207,0.328199207,1.00E-04 -14-01-2019 14:00,7198965.802,0.400552197,0.400552197,1.00E-04 -14-01-2019 15:00,7199244.036,0.430819347,0.430819347,1.00E-04 -14-01-2019 16:00,7199523.104,0.416569763,0.416569763,1.00E-04 -14-01-2019 17:00,7199803.006,0.4421836,0.4421836,1.00E-04 -14-01-2019 18:00,7200083.741,0.426781341,0.426781341,1.00E-04 -14-01-2019 19:00,7200365.309,0.392766587,0.392766587,1.00E-04 -14-01-2019 20:00,7200647.711,0.319981829,0.319981829,1.00E-04 -14-01-2019 21:00,7200930.945,0.20646585,0.20646585,1.00E-04 -14-01-2019 22:00,7201215.013,0.099896948,0.099896948,1.00E-04 -14-01-2019 23:00,7201499.914,0.043623103,0.043623103,1.00E-04 -15-01-2019 0:00,7201785.647,0.017922751,0.017922751,1.00E-04 -15-01-2019 1:00,7202072.212,0.006104353,0.006104353,1.00E-04 -15-01-2019 2:00,7202359.61,0.003489052,0.003489052,1.00E-04 -15-01-2019 3:00,7202647.84,0.006272777,0.006272777,1.00E-04 -15-01-2019 4:00,7202936.903,0.032372232,0.032372232,1.00E-04 -15-01-2019 5:00,7203226.797,0.156708373,0.156708373,1.00E-04 -15-01-2019 6:00,7203517.523,0.328884703,0.328884703,1.00E-04 -15-01-2019 7:00,7203809.08,0.436180116,0.436180116,1.00E-04 -15-01-2019 8:00,7204101.469,0.528974999,0.528974999,1.00E-04 -15-01-2019 9:00,7204394.69,0.429521622,0.429521622,1.00E-04 -15-01-2019 10:00,7204688.741,0.426531102,0.426531102,1.00E-04 -15-01-2019 11:00,7204983.624,0.55644789,0.55644789,1.00E-04 -15-01-2019 12:00,7205279.337,0.486972506,0.486972506,1.00E-04 -15-01-2019 13:00,7205575.881,0.363020483,0.363020483,1.00E-04 -15-01-2019 14:00,7205873.256,0.411328909,0.411328909,1.00E-04 -15-01-2019 15:00,7206171.461,0.423509333,0.423509333,1.00E-04 -15-01-2019 16:00,7206470.496,0.396393328,0.396393328,1.00E-04 -15-01-2019 17:00,7206770.362,0.420724866,0.420724866,1.00E-04 -15-01-2019 18:00,7207071.057,0.404148918,0.404148918,1.00E-04 -15-01-2019 19:00,7207372.582,0.368106945,0.368106945,1.00E-04 -15-01-2019 20:00,7207674.937,0.302468713,0.302468713,1.00E-04 -15-01-2019 21:00,7207978.121,0.195399093,0.195399093,1.00E-04 -15-01-2019 22:00,7208282.135,0.092404811,0.092404811,1.00E-04 -15-01-2019 23:00,7208586.977,0.039605299,0.039605299,1.00E-04 -16-01-2019 0:00,7208892.649,0.016066295,0.016066295,1.00E-04 -16-01-2019 1:00,7209199.15,0.00534173,0.00534173,1.00E-04 -16-01-2019 2:00,7209506.479,0.003003519,0.003003519,1.00E-04 -16-01-2019 3:00,7209814.637,0.004522689,0.004522689,1.00E-04 -16-01-2019 4:00,7210123.623,0.024751561,0.024751561,1.00E-04 -16-01-2019 5:00,7210433.437,0.129024965,0.129024965,1.00E-04 -16-01-2019 6:00,7210744.08,0.284155439,0.284155439,1.00E-04 -16-01-2019 7:00,7211055.55,0.389551608,0.389551608,1.00E-04 -16-01-2019 8:00,7211367.848,0.487695492,0.487695492,1.00E-04 -16-01-2019 9:00,7211680.974,0.405316565,0.405316565,1.00E-04 -16-01-2019 10:00,7211994.927,0.41359592,0.41359592,1.00E-04 -16-01-2019 11:00,7212309.707,0.549832712,0.549832712,1.00E-04 -16-01-2019 12:00,7212625.315,0.484768396,0.484768396,1.00E-04 -16-01-2019 13:00,7212941.749,0.362211387,0.362211387,1.00E-04 -16-01-2019 14:00,7213259.01,0.420597873,0.420597873,1.00E-04 -16-01-2019 15:00,7213577.098,0.434374843,0.434374843,1.00E-04 -16-01-2019 16:00,7213896.012,0.406866688,0.406866688,1.00E-04 -16-01-2019 17:00,7214215.752,0.436107574,0.436107574,1.00E-04 -16-01-2019 18:00,7214536.319,0.419101578,0.419101578,1.00E-04 -16-01-2019 19:00,7214857.711,0.382018275,0.382018275,1.00E-04 -16-01-2019 20:00,7215179.93,0.312068881,0.312068881,1.00E-04 -16-01-2019 21:00,7215502.974,0.203402515,0.203402515,1.00E-04 -16-01-2019 22:00,7215826.843,0.09730631,0.09730631,1.00E-04 -16-01-2019 23:00,7216151.538,0.042242528,0.042242528,1.00E-04 -17-01-2019 0:00,7216477.057,0.017355847,0.017355847,1.00E-04 -17-01-2019 1:00,7216803.402,0.005904945,0.005904945,1.00E-04 -17-01-2019 2:00,7217130.571,0.003377814,0.003377814,1.00E-04 -17-01-2019 3:00,7217458.566,0.005789542,0.005789542,1.00E-04 -17-01-2019 4:00,7217787.384,0.031173104,0.031173104,1.00E-04 -17-01-2019 5:00,7218117.027,0.152928141,0.152928141,1.00E-04 -17-01-2019 6:00,7218447.494,0.326763631,0.326763631,1.00E-04 -17-01-2019 7:00,7218778.785,0.443718995,0.443718995,1.00E-04 -17-01-2019 8:00,7219110.899,0.547781086,0.547781086,1.00E-04 -17-01-2019 9:00,7219443.837,0.447146644,0.447146644,1.00E-04 -17-01-2019 10:00,7219777.599,0.447832268,0.447832268,1.00E-04 -17-01-2019 11:00,7220112.184,0.576089493,0.576089493,1.00E-04 -17-01-2019 12:00,7220447.592,0.524159958,0.524159958,1.00E-04 -17-01-2019 13:00,7220783.823,0.306972858,0.306972858,1.00E-04 -17-01-2019 14:00,7221120.876,0.442582984,0.442582984,1.00E-04 -17-01-2019 15:00,7221458.752,0.469265611,0.469265611,1.00E-04 -17-01-2019 16:00,7221797.451,0.453219387,0.453219387,1.00E-04 -17-01-2019 17:00,7222136.972,0.47558262,0.47558262,1.00E-04 -17-01-2019 18:00,7222477.314,0.46277128,0.46277128,1.00E-04 -17-01-2019 19:00,7222818.479,0.421319344,0.421319344,1.00E-04 -17-01-2019 20:00,7223160.465,0.349973249,0.349973249,1.00E-04 -17-01-2019 21:00,7223503.273,0.224880192,0.224880192,1.00E-04 -17-01-2019 22:00,7223846.902,0.108141335,0.108141335,1.00E-04 -17-01-2019 23:00,7224191.353,0.048050154,0.048050154,1.00E-04 -18-01-2019 0:00,7224536.624,0.020761933,0.020761933,1.00E-04 -18-01-2019 1:00,7224882.716,0.007659666,0.007659666,1.00E-04 -18-01-2019 2:00,7225229.629,0.006027165,0.006027165,1.00E-04 -18-01-2019 3:00,7225577.362,0.012938599,0.012938599,1.00E-04 -18-01-2019 4:00,7225925.915,0.052822818,0.052822818,1.00E-04 -18-01-2019 5:00,7226275.289,0.224891422,0.224891422,1.00E-04 -18-01-2019 6:00,7226625.482,0.463716358,0.463716358,1.00E-04 -18-01-2019 7:00,7226976.496,0.61028002,0.61028002,1.00E-04 -18-01-2019 8:00,7227328.328,0.705949769,0.705949769,1.00E-04 -18-01-2019 9:00,7227680.98,0.451851375,0.451851375,1.00E-04 -18-01-2019 10:00,7228034.452,0.465551678,0.465551678,1.00E-04 -18-01-2019 11:00,7228388.742,0.61708622,0.61708622,1.00E-04 -18-01-2019 12:00,7228743.851,0.543468774,0.543468774,1.00E-04 -18-01-2019 13:00,7229099.779,0.425742147,0.425742147,1.00E-04 -18-01-2019 14:00,7229456.525,0.490635136,0.490635136,1.00E-04 -18-01-2019 15:00,7229814.089,0.512156183,0.512156183,1.00E-04 -18-01-2019 16:00,7230172.472,0.491655429,0.491655429,1.00E-04 -18-01-2019 17:00,7230531.672,0.527081401,0.527081401,1.00E-04 -18-01-2019 18:00,7230891.69,0.512061662,0.512061662,1.00E-04 -18-01-2019 19:00,7231252.526,0.470137436,0.470137436,1.00E-04 -18-01-2019 20:00,7231614.179,0.391742984,0.391742984,1.00E-04 -18-01-2019 21:00,7231976.649,0.253986111,0.253986111,1.00E-04 -18-01-2019 22:00,7232339.936,0.120661418,0.120661418,1.00E-04 -18-01-2019 23:00,7232704.04,0.05405307,0.05405307,1.00E-04 -19-01-2019 0:00,7233068.961,0.02330414,0.02330414,1.00E-04 -19-01-2019 1:00,7233434.698,0.010658742,0.010658742,1.00E-04 -19-01-2019 2:00,7233801.251,0.009784187,0.009784187,1.00E-04 -19-01-2019 3:00,7234168.62,0.020690288,0.020690288,1.00E-04 -19-01-2019 4:00,7234536.805,0.069906801,0.069906801,1.00E-04 -19-01-2019 5:00,7234905.806,0.271322634,0.271322634,1.00E-04 -19-01-2019 6:00,7235275.622,0.532493001,0.532493001,1.00E-04 -19-01-2019 7:00,7235646.254,0.688032045,0.688032045,1.00E-04 -19-01-2019 8:00,7236017.7,0.787218617,0.787218617,1.00E-04 -19-01-2019 9:00,7236389.962,0.477559189,0.477559189,1.00E-04 -19-01-2019 10:00,7236763.038,0.425745936,0.425745936,1.00E-04 -19-01-2019 11:00,7237136.929,0.668513665,0.668513665,1.00E-04 -19-01-2019 12:00,7237511.634,0.591674015,0.591674015,1.00E-04 -19-01-2019 13:00,7237887.153,0.469213941,0.469213941,1.00E-04 -19-01-2019 14:00,7238263.486,0.532506365,0.532506365,1.00E-04 -19-01-2019 15:00,7238640.633,0.553039333,0.553039333,1.00E-04 -19-01-2019 16:00,7239018.593,0.536509629,0.536509629,1.00E-04 -19-01-2019 17:00,7239397.367,0.566009684,0.566009684,1.00E-04 -19-01-2019 18:00,7239776.953,0.547333232,0.547333232,1.00E-04 -19-01-2019 19:00,7240157.353,0.5054696,0.5054696,1.00E-04 -19-01-2019 20:00,7240538.566,0.419087211,0.419087211,1.00E-04 -19-01-2019 21:00,7240920.591,0.273271104,0.273271104,1.00E-04 -19-01-2019 22:00,7241303.429,0.131339489,0.131339489,1.00E-04 -19-01-2019 23:00,7241687.078,0.059409449,0.059409449,1.00E-04 -20-01-2019 0:00,7242071.54,0.027679123,0.027679123,1.00E-04 -20-01-2019 1:00,7242456.813,0.016174918,0.016174918,1.00E-04 -20-01-2019 2:00,7242842.898,0.018406377,0.018406377,1.00E-04 -20-01-2019 3:00,7243229.795,0.033685953,0.033685953,1.00E-04 -20-01-2019 4:00,7243617.502,0.099031177,0.099031177,1.00E-04 -20-01-2019 5:00,7244006.021,0.329635173,0.329635173,1.00E-04 -20-01-2019 6:00,7244395.35,0.627368616,0.627368616,1.00E-04 -20-01-2019 7:00,7244785.49,0.790536982,0.790536982,1.00E-04 -20-01-2019 8:00,7245176.441,0.857794046,0.857794046,1.00E-04 -20-01-2019 9:00,7245568.201,0.508677724,0.508677724,1.00E-04 -20-01-2019 10:00,7245960.772,0.435994807,0.435994807,1.00E-04 -20-01-2019 11:00,7246354.152,0.621566085,0.621566085,1.00E-04 -20-01-2019 12:00,7246748.342,0.46584543,0.46584543,1.00E-04 -20-01-2019 13:00,7247143.341,0.311568125,0.311568125,1.00E-04 -20-01-2019 14:00,7247539.149,0.515749146,0.515749146,1.00E-04 -20-01-2019 15:00,7247935.767,0.584146464,0.584146464,1.00E-04 -20-01-2019 16:00,7248333.193,0.571113579,0.571113579,1.00E-04 -20-01-2019 17:00,7248731.428,0.60657623,0.60657623,1.00E-04 -20-01-2019 18:00,7249130.471,0.582347553,0.582347553,1.00E-04 -20-01-2019 19:00,7249530.322,0.538812688,0.538812688,1.00E-04 -20-01-2019 20:00,7249930.981,0.453814097,0.453814097,1.00E-04 -20-01-2019 21:00,7250332.448,0.29873983,0.29873983,1.00E-04 -20-01-2019 22:00,7250734.722,0.143403471,0.143403471,1.00E-04 -20-01-2019 23:00,7251137.804,0.066630738,0.066630738,1.00E-04 -21-01-2019 0:00,7251541.693,0.034125531,0.034125531,1.00E-04 -21-01-2019 1:00,7251946.389,0.025534618,0.025534618,1.00E-04 -21-01-2019 2:00,7252351.891,0.030386866,0.030386866,1.00E-04 -21-01-2019 3:00,7252758.2,0.053522826,0.053522826,1.00E-04 -21-01-2019 4:00,7253165.315,0.132783565,0.132783565,1.00E-04 -21-01-2019 5:00,7253573.237,0.399897184,0.399897184,1.00E-04 -21-01-2019 6:00,7253981.964,0.723335399,0.723335399,1.00E-04 -21-01-2019 7:00,7254391.497,0.885470408,0.885470408,1.00E-04 -21-01-2019 8:00,7254801.835,0.949665085,0.949665085,1.00E-04 -21-01-2019 9:00,7255212.979,0.577024785,0.577024785,1.00E-04 -21-01-2019 10:00,7255624.927,0.612463793,0.612463793,1.00E-04 -21-01-2019 11:00,7256037.68,0.723930485,0.723930485,1.00E-04 -21-01-2019 12:00,7256451.238,0.619717519,0.619717519,1.00E-04 -21-01-2019 13:00,7256865.601,0.51617871,0.51617871,1.00E-04 -21-01-2019 14:00,7257280.767,0.581790432,0.581790432,1.00E-04 -21-01-2019 15:00,7257696.738,0.603094275,0.603094275,1.00E-04 -21-01-2019 16:00,7258113.512,0.587042631,0.587042631,1.00E-04 -21-01-2019 17:00,7258531.09,0.613616901,0.613616901,1.00E-04 -21-01-2019 18:00,7258949.471,0.59205358,0.59205358,1.00E-04 -21-01-2019 19:00,7259368.655,0.544196209,0.544196209,1.00E-04 -21-01-2019 20:00,7259788.642,0.44732415,0.44732415,1.00E-04 -21-01-2019 21:00,7260209.431,0.290676612,0.290676612,1.00E-04 -21-01-2019 22:00,7260631.023,0.140151145,0.140151145,1.00E-04 -21-01-2019 23:00,7261053.418,0.065122501,0.065122501,1.00E-04 -22-01-2019 0:00,7261476.614,0.033124958,0.033124958,1.00E-04 -22-01-2019 1:00,7261900.612,0.02456983,0.02456983,1.00E-04 -22-01-2019 2:00,7262325.412,0.028080459,0.028080459,1.00E-04 -22-01-2019 3:00,7262751.013,0.049243162,0.049243162,1.00E-04 -22-01-2019 4:00,7263177.415,0.124157713,0.124157713,1.00E-04 -22-01-2019 5:00,7263604.619,0.376392676,0.376392676,1.00E-04 -22-01-2019 6:00,7264032.623,0.686069647,0.686069647,1.00E-04 -22-01-2019 7:00,7264461.427,0.842554187,0.842554187,1.00E-04 -22-01-2019 8:00,7264891.031,0.944453314,0.944453314,1.00E-04 -22-01-2019 9:00,7265321.436,0.721710894,0.721710894,1.00E-04 -22-01-2019 10:00,7265752.641,0.664484694,0.664484694,1.00E-04 -22-01-2019 11:00,7266184.645,0.78369847,0.78369847,1.00E-04 -22-01-2019 12:00,7266617.448,0.689819028,0.689819028,1.00E-04 -22-01-2019 13:00,7267051.051,0.56692782,0.56692782,1.00E-04 -22-01-2019 14:00,7267485.452,0.629669761,0.629669761,1.00E-04 -22-01-2019 15:00,7267920.653,0.64268757,0.64268757,1.00E-04 -22-01-2019 16:00,7268356.651,0.616668722,0.616668722,1.00E-04 -22-01-2019 17:00,7268793.448,0.638636203,0.638636203,1.00E-04 -22-01-2019 18:00,7269231.043,0.61233964,0.61233964,1.00E-04 -22-01-2019 19:00,7269669.436,0.559826173,0.559826173,1.00E-04 -22-01-2019 20:00,7270108.627,0.462496004,0.462496004,1.00E-04 -22-01-2019 21:00,7270548.614,0.299185019,0.299185019,1.00E-04 -22-01-2019 22:00,7270989.399,0.142638125,0.142638125,1.00E-04 -22-01-2019 23:00,7271430.981,0.065986541,0.065986541,1.00E-04 -23-01-2019 0:00,7271873.359,0.033712001,0.033712001,1.00E-04 -23-01-2019 1:00,7272316.534,0.025801935,0.025801935,1.00E-04 -23-01-2019 2:00,7272760.506,0.028437321,0.028437321,1.00E-04 -23-01-2019 3:00,7273205.273,0.049292501,0.049292501,1.00E-04 -23-01-2019 4:00,7273650.836,0.12467793,0.12467793,1.00E-04 -23-01-2019 5:00,7274097.194,0.376888367,0.376888367,1.00E-04 -23-01-2019 6:00,7274544.348,0.690539619,0.690539619,1.00E-04 -23-01-2019 7:00,7274992.297,0.854872741,0.854872741,1.00E-04 -23-01-2019 8:00,7275441.04,0.953519314,0.953519314,1.00E-04 -23-01-2019 9:00,7275890.579,0.72739612,0.72739612,1.00E-04 -23-01-2019 10:00,7276340.911,0.660579767,0.660579767,1.00E-04 -23-01-2019 11:00,7276792.038,0.780295095,0.780295095,1.00E-04 -23-01-2019 12:00,7277243.959,0.687705552,0.687705552,1.00E-04 -23-01-2019 13:00,7277696.673,0.56319625,0.56319625,1.00E-04 -23-01-2019 14:00,7278150.181,0.62683893,0.62683893,1.00E-04 -23-01-2019 15:00,7278604.482,0.641608862,0.641608862,1.00E-04 -23-01-2019 16:00,7279059.576,0.617556412,0.617556412,1.00E-04 -23-01-2019 17:00,7279515.463,0.642077077,0.642077077,1.00E-04 -23-01-2019 18:00,7279972.142,0.616166408,0.616166408,1.00E-04 -23-01-2019 19:00,7280429.614,0.564477777,0.564477777,1.00E-04 -23-01-2019 20:00,7280887.878,0.468419479,0.468419479,1.00E-04 -23-01-2019 21:00,7281346.933,0.303395539,0.303395539,1.00E-04 -23-01-2019 22:00,7281806.78,0.145570545,0.145570545,1.00E-04 -23-01-2019 23:00,7282267.419,0.067691673,0.067691673,1.00E-04 -24-01-2019 0:00,7282728.848,0.035196324,0.035196324,1.00E-04 -24-01-2019 1:00,7283191.068,0.028254339,0.028254339,1.00E-04 -24-01-2019 2:00,7283654.079,0.032155949,0.032155949,1.00E-04 -24-01-2019 3:00,7284117.881,0.054691727,0.054691727,1.00E-04 -24-01-2019 4:00,7284582.472,0.1346774,0.1346774,1.00E-04 -24-01-2019 5:00,7285047.854,0.395318316,0.395318316,1.00E-04 -24-01-2019 6:00,7285514.025,0.710974644,0.710974644,1.00E-04 -24-01-2019 7:00,7285980.985,0.870967096,0.870967096,1.00E-04 -24-01-2019 8:00,7286448.735,0.977967404,0.977967404,1.00E-04 -24-01-2019 9:00,7286917.274,0.748862618,0.748862618,1.00E-04 -24-01-2019 10:00,7287386.601,0.678703484,0.678703484,1.00E-04 -24-01-2019 11:00,7287856.717,0.794789407,0.794789407,1.00E-04 -24-01-2019 12:00,7288327.621,0.699140721,0.699140721,1.00E-04 -24-01-2019 13:00,7288799.313,0.551246024,0.551246024,1.00E-04 -24-01-2019 14:00,7289271.793,0.64346169,0.64346169,1.00E-04 -24-01-2019 15:00,7289745.06,0.658689005,0.658689005,1.00E-04 -24-01-2019 16:00,7290219.115,0.634391013,0.634391013,1.00E-04 -24-01-2019 17:00,7290693.957,0.660468617,0.660468617,1.00E-04 -24-01-2019 18:00,7291169.585,0.636202107,0.636202107,1.00E-04 -24-01-2019 19:00,7291646,0.581361273,0.581361273,1.00E-04 -24-01-2019 20:00,7292123.201,0.482209532,0.482209532,1.00E-04 -24-01-2019 21:00,7292601.188,0.312827999,0.312827999,1.00E-04 -24-01-2019 22:00,7293079.961,0.149473481,0.149473481,1.00E-04 -24-01-2019 23:00,7293559.52,0.07014564,0.07014564,1.00E-04 -25-01-2019 0:00,7294039.863,0.038051051,0.038051051,1.00E-04 -25-01-2019 1:00,7294520.992,0.031967836,0.031967836,1.00E-04 -25-01-2019 2:00,7295002.906,0.03788024,0.03788024,1.00E-04 -25-01-2019 3:00,7295485.604,0.061311561,0.061311561,1.00E-04 -25-01-2019 4:00,7295969.086,0.146459032,0.146459032,1.00E-04 -25-01-2019 5:00,7296453.353,0.414950711,0.414950711,1.00E-04 -25-01-2019 6:00,7296938.403,0.73611311,0.73611311,1.00E-04 -25-01-2019 7:00,7297424.237,0.894710774,0.894710774,1.00E-04 -25-01-2019 8:00,7297910.854,1,1,1.00E-04 -25-01-2019 9:00,7298398.255,0.778775741,0.778775741,1.00E-04 -25-01-2019 10:00,7298886.438,0.680300148,0.680300148,1.00E-04 -25-01-2019 11:00,7299375.403,0.791621723,0.791621723,1.00E-04 -25-01-2019 12:00,7299865.151,0.691127312,0.691127312,1.00E-04 -25-01-2019 13:00,7300355.681,0.562667906,0.562667906,1.00E-04 -25-01-2019 14:00,7300846.993,0.629788121,0.629788121,1.00E-04 -25-01-2019 15:00,7301339.086,0.640436167,0.640436167,1.00E-04 -25-01-2019 16:00,7301831.961,0.613861077,0.613861077,1.00E-04 -25-01-2019 17:00,7302325.617,0.633904948,0.633904948,1.00E-04 -25-01-2019 18:00,7302820.053,0.600404266,0.600404266,1.00E-04 -25-01-2019 19:00,7303315.27,0.540447072,0.540447072,1.00E-04 -25-01-2019 20:00,7303811.267,0.440566188,0.440566188,1.00E-04 -25-01-2019 21:00,7304308.044,0.282324171,0.282324171,1.00E-04 -25-01-2019 22:00,7304805.601,0.132192946,0.132192946,1.00E-04 -25-01-2019 23:00,7305303.938,0.058649726,0.058649726,1.00E-04 -26-01-2019 0:00,7305803.054,0.027340873,0.027340873,1.00E-04 -26-01-2019 1:00,7306302.948,0.018074717,0.018074717,1.00E-04 -26-01-2019 2:00,7306803.622,0.018927243,0.018927243,1.00E-04 -26-01-2019 3:00,7307305.074,0.032394332,0.032394332,1.00E-04 -26-01-2019 4:00,7307807.304,0.093717077,0.093717077,1.00E-04 -26-01-2019 5:00,7308310.312,0.302469328,0.302469328,1.00E-04 -26-01-2019 6:00,7308814.098,0.573402569,0.573402569,1.00E-04 -26-01-2019 7:00,7309318.661,0.717656421,0.717656421,1.00E-04 -26-01-2019 8:00,7309824.002,0.814802648,0.814802648,1.00E-04 -26-01-2019 9:00,7310330.119,0.610089998,0.610089998,1.00E-04 -26-01-2019 10:00,7310837.013,0.564213507,0.564213507,1.00E-04 -26-01-2019 11:00,7311344.684,0.696994952,0.696994952,1.00E-04 -26-01-2019 12:00,7311853.13,0.59999592,0.59999592,1.00E-04 -26-01-2019 13:00,7312362.353,0.471275254,0.471275254,1.00E-04 -26-01-2019 14:00,7312872.351,0.539884135,0.539884135,1.00E-04 -26-01-2019 15:00,7313383.124,0.554034289,0.554034289,1.00E-04 -26-01-2019 16:00,7313894.673,0.531648929,0.531648929,1.00E-04 -26-01-2019 17:00,7314406.996,0.552576371,0.552576371,1.00E-04 -26-01-2019 18:00,7314920.094,0.530682558,0.530682558,1.00E-04 -26-01-2019 19:00,7315433.966,0.48020112,0.48020112,1.00E-04 -26-01-2019 20:00,7315948.613,0.3951162,0.3951162,1.00E-04 -26-01-2019 21:00,7316464.033,0.254230729,0.254230729,1.00E-04 -26-01-2019 22:00,7316980.226,0.120232808,0.120232808,1.00E-04 -26-01-2019 23:00,7317497.193,0.052869098,0.052869098,1.00E-04 -27-01-2019 0:00,7318014.933,0.022565144,0.022565144,1.00E-04 -27-01-2019 1:00,7318533.445,0.010025947,0.010025947,1.00E-04 -27-01-2019 2:00,7319052.73,0.010125288,0.010125288,1.00E-04 -27-01-2019 3:00,7319572.788,0.018645869,0.018645869,1.00E-04 -27-01-2019 4:00,7320093.617,0.065940951,0.065940951,1.00E-04 -27-01-2019 5:00,7320615.217,0.246505305,0.246505305,1.00E-04 -27-01-2019 6:00,7321137.589,0.489085714,0.489085714,1.00E-04 -27-01-2019 7:00,7321660.732,0.627303147,0.627303147,1.00E-04 -27-01-2019 8:00,7322184.646,0.73013796,0.73013796,1.00E-04 -27-01-2019 9:00,7322709.331,0.551050506,0.551050506,1.00E-04 -27-01-2019 10:00,7323234.786,0.522942347,0.522942347,1.00E-04 -27-01-2019 11:00,7323761.011,0.658842978,0.658842978,1.00E-04 -27-01-2019 12:00,7324288.005,0.575836564,0.575836564,1.00E-04 -27-01-2019 13:00,7324815.77,0.439107947,0.439107947,1.00E-04 -27-01-2019 14:00,7325344.303,0.514682654,0.514682654,1.00E-04 -27-01-2019 15:00,7325873.605,0.538308001,0.538308001,1.00E-04 -27-01-2019 16:00,7326403.676,0.511851167,0.511851167,1.00E-04 -27-01-2019 17:00,7326934.515,0.534644396,0.534644396,1.00E-04 -27-01-2019 18:00,7327466.123,0.51091953,0.51091953,1.00E-04 -27-01-2019 19:00,7327998.498,0.46661809,0.46661809,1.00E-04 -27-01-2019 20:00,7328531.641,0.386091813,0.386091813,1.00E-04 -27-01-2019 21:00,7329065.551,0.251484519,0.251484519,1.00E-04 -27-01-2019 22:00,7329600.229,0.11870646,0.11870646,1.00E-04 -27-01-2019 23:00,7330135.672,0.05216511,0.05216511,1.00E-04 -28-01-2019 0:00,7330671.883,0.021829239,0.021829239,1.00E-04 -28-01-2019 1:00,7331208.86,0.009245221,0.009245221,1.00E-04 -28-01-2019 2:00,7331746.602,0.008216484,0.008216484,1.00E-04 -28-01-2019 3:00,7332285.11,0.016670805,0.016670805,1.00E-04 -28-01-2019 4:00,7332824.384,0.060285575,0.060285575,1.00E-04 -28-01-2019 5:00,7333364.423,0.238926068,0.238926068,1.00E-04 -28-01-2019 6:00,7333905.226,0.478386773,0.478386773,1.00E-04 -28-01-2019 7:00,7334446.794,0.615724727,0.615724727,1.00E-04 -28-01-2019 8:00,7334989.126,0.721366954,0.721366954,1.00E-04 -28-01-2019 9:00,7335532.223,0.542787859,0.542787859,1.00E-04 -28-01-2019 10:00,7336076.083,0.514127267,0.514127267,1.00E-04 -28-01-2019 11:00,7336620.706,0.64340029,0.64340029,1.00E-04 -28-01-2019 12:00,7337166.092,0.552126069,0.552126069,1.00E-04 -28-01-2019 13:00,7337712.242,0.374300685,0.374300685,1.00E-04 -28-01-2019 14:00,7338259.154,0.506231214,0.506231214,1.00E-04 -28-01-2019 15:00,7338806.828,0.521605519,0.521605519,1.00E-04 -28-01-2019 16:00,7339355.264,0.512284933,0.512284933,1.00E-04 -28-01-2019 17:00,7339904.462,0.535137891,0.535137891,1.00E-04 -28-01-2019 18:00,7340454.422,0.520301056,0.520301056,1.00E-04 -28-01-2019 19:00,7341005.142,0.469298504,0.469298504,1.00E-04 -28-01-2019 20:00,7341556.624,0.391014745,0.391014745,1.00E-04 -28-01-2019 21:00,7342108.866,0.255875644,0.255875644,1.00E-04 -28-01-2019 22:00,7342661.868,0.121782744,0.121782744,1.00E-04 -28-01-2019 23:00,7343215.631,0.054008239,0.054008239,1.00E-04 -29-01-2019 0:00,7343770.153,0.022726652,0.022726652,1.00E-04 -29-01-2019 1:00,7344325.435,0.010211598,0.010211598,1.00E-04 -29-01-2019 2:00,7344881.475,0.009558223,0.009558223,1.00E-04 -29-01-2019 3:00,7345438.275,0.019970198,0.019970198,1.00E-04 -29-01-2019 4:00,7345995.833,0.069118552,0.069118552,1.00E-04 -29-01-2019 5:00,7346554.15,0.264018537,0.264018537,1.00E-04 -29-01-2019 6:00,7347113.225,0.519859829,0.519859829,1.00E-04 -29-01-2019 7:00,7347673.057,0.664269808,0.664269808,1.00E-04 -29-01-2019 8:00,7348233.647,0.76866608,0.76866608,1.00E-04 -29-01-2019 9:00,7348794.994,0.572805062,0.572805062,1.00E-04 -29-01-2019 10:00,7349357.098,0.539885881,0.539885881,1.00E-04 -29-01-2019 11:00,7349919.958,0.666527384,0.666527384,1.00E-04 -29-01-2019 12:00,7350483.575,0.573475676,0.573475676,1.00E-04 -29-01-2019 13:00,7351047.948,0.441146228,0.441146228,1.00E-04 -29-01-2019 14:00,7351613.076,0.52048221,0.52048221,1.00E-04 -29-01-2019 15:00,7352178.96,0.541645157,0.541645157,1.00E-04 -29-01-2019 16:00,7352745.599,0.528590865,0.528590865,1.00E-04 -29-01-2019 17:00,7353312.993,0.55594461,0.55594461,1.00E-04 -29-01-2019 18:00,7353881.142,0.532610252,0.532610252,1.00E-04 -29-01-2019 19:00,7354450.045,0.487085294,0.487085294,1.00E-04 -29-01-2019 20:00,7355019.701,0.40201926,0.40201926,1.00E-04 -29-01-2019 21:00,7355590.112,0.262076715,0.262076715,1.00E-04 -29-01-2019 22:00,7356161.275,0.124942992,0.124942992,1.00E-04 -29-01-2019 23:00,7356733.192,0.055788041,0.055788041,1.00E-04 -30-01-2019 0:00,7357305.862,0.024336692,0.024336692,1.00E-04 -30-01-2019 1:00,7357879.284,0.011837599,0.011837599,1.00E-04 -30-01-2019 2:00,7358453.458,0.011846743,0.011846743,1.00E-04 -30-01-2019 3:00,7359028.384,0.023392691,0.023392691,1.00E-04 -30-01-2019 4:00,7359604.062,0.077544657,0.077544657,1.00E-04 -30-01-2019 5:00,7360180.491,0.28263517,0.28263517,1.00E-04 -30-01-2019 6:00,7360757.672,0.549707224,0.549707224,1.00E-04 -30-01-2019 7:00,7361335.602,0.700581517,0.700581517,1.00E-04 -30-01-2019 8:00,7361914.284,0.803338293,0.803338293,1.00E-04 -30-01-2019 9:00,7362493.715,0.59249894,0.59249894,1.00E-04 -30-01-2019 10:00,7363073.897,0.552553249,0.552553249,1.00E-04 -30-01-2019 11:00,7363654.827,0.686906033,0.686906033,1.00E-04 -30-01-2019 12:00,7364236.507,0.593383364,0.593383364,1.00E-04 -30-01-2019 13:00,7364818.936,0.45972879,0.45972879,1.00E-04 -30-01-2019 14:00,7365402.114,0.543188116,0.543188116,1.00E-04 -30-01-2019 15:00,7365986.04,0.562420658,0.562420658,1.00E-04 -30-01-2019 16:00,7366570.714,0.548534083,0.548534083,1.00E-04 -30-01-2019 17:00,7367156.135,0.573127259,0.573127259,1.00E-04 -30-01-2019 18:00,7367742.305,0.549947078,0.549947078,1.00E-04 -30-01-2019 19:00,7368329.221,0.503149239,0.503149239,1.00E-04 -30-01-2019 20:00,7368916.884,0.415577511,0.415577511,1.00E-04 -30-01-2019 21:00,7369505.294,0.268498255,0.268498255,1.00E-04 -30-01-2019 22:00,7370094.449,0.127071872,0.127071872,1.00E-04 -30-01-2019 23:00,7370684.351,0.057246645,0.057246645,1.00E-04 -31-01-2019 0:00,7371274.998,0.025481396,0.025481396,1.00E-04 -31-01-2019 1:00,7371866.391,0.013423152,0.013423152,1.00E-04 -31-01-2019 2:00,7372458.529,0.014483729,0.014483729,1.00E-04 -31-01-2019 3:00,7373051.411,0.026980774,0.026980774,1.00E-04 -31-01-2019 4:00,7373645.038,0.085816464,0.085816464,1.00E-04 -31-01-2019 5:00,7374239.409,0.30171016,0.30171016,1.00E-04 -31-01-2019 6:00,7374834.523,0.585045443,0.585045443,1.00E-04 -31-01-2019 7:00,7375430.382,0.737145825,0.737145825,1.00E-04 -31-01-2019 8:00,7376026.983,0.842509853,0.842509853,1.00E-04 -31-01-2019 9:00,7376624.327,0.651385275,0.651385275,1.00E-04 -31-01-2019 10:00,7377222.414,0.616784028,0.616784028,1.00E-04 -31-01-2019 11:00,7377821.243,0.738935557,0.738935557,1.00E-04 -31-01-2019 12:00,7378420.814,0.630174812,0.630174812,1.00E-04 -31-01-2019 13:00,7379021.126,0.496650989,0.496650989,1.00E-04 -31-01-2019 14:00,7379622.18,0.581967536,0.581967536,1.00E-04 -31-01-2019 15:00,7380223.975,0.59881597,0.59881597,1.00E-04 -31-01-2019 16:00,7380826.511,0.582317176,0.582317176,1.00E-04 -31-01-2019 17:00,7381429.787,0.607186311,0.607186311,1.00E-04 -31-01-2019 18:00,7382033.803,0.579109365,0.579109365,1.00E-04 -31-01-2019 19:00,7382638.559,0.53088983,0.53088983,1.00E-04 -31-01-2019 20:00,7383244.054,0.438534123,0.438534123,1.00E-04 -31-01-2019 21:00,7383850.288,0.282511105,0.282511105,1.00E-04 -31-01-2019 22:00,7384457.262,0.134952951,0.134952951,1.00E-04 -31-01-2019 23:00,7385064.974,0.060864612,0.060864612,1.00E-04 -1-2-2019 0:00,7385673.424,0.028723149,0.028723149,1.00E-04 -1-2-2019 1:00,7386282.612,0.017858144,0.017858144,1.00E-04 -1-2-2019 2:00,7386892.537,0.019895673,0.019895673,1.00E-04 -1-2-2019 3:00,7387503.2,0.035563998,0.035563998,1.00E-04 -1-2-2019 4:00,7388114.6,0.100921225,0.100921225,1.00E-04 -1-2-2019 5:00,7388726.736,0.32885998,0.32885998,1.00E-04 -1-2-2019 6:00,7389339.609,0.620818023,0.620818023,1.00E-04 -1-2-2019 7:00,7389953.218,0.769449201,0.769449201,1.00E-04 -1-2-2019 8:00,7390567.562,0.87000908,0.87000908,1.00E-04 -1-2-2019 9:00,7391182.642,0.645241408,0.645241408,1.00E-04 -1-2-2019 10:00,7391798.457,0.597303293,0.597303293,1.00E-04 -1-2-2019 11:00,7392415.007,0.726841658,0.726841658,1.00E-04 -1-2-2019 12:00,7393032.291,0.626333247,0.626333247,1.00E-04 -1-2-2019 13:00,7393650.309,0.492325195,0.492325195,1.00E-04 -1-2-2019 14:00,7394269.061,0.569304413,0.569304413,1.00E-04 -1-2-2019 15:00,7394888.547,0.58349178,0.58349178,1.00E-04 -1-2-2019 16:00,7395508.766,0.569684736,0.569684736,1.00E-04 -1-2-2019 17:00,7396129.717,0.592775799,0.592775799,1.00E-04 -1-2-2019 18:00,7396751.401,0.56758295,0.56758295,1.00E-04 -1-2-2019 19:00,7397373.817,0.518096099,0.518096099,1.00E-04 -1-2-2019 20:00,7397996.966,0.425984189,0.425984189,1.00E-04 -1-2-2019 21:00,7398620.845,0.276152281,0.276152281,1.00E-04 -1-2-2019 22:00,7399245.456,0.13100747,0.13100747,1.00E-04 -1-2-2019 23:00,7399870.798,0.058620938,0.058620938,1.00E-04 -2-2-2019 0:00,7400496.871,0.027222231,0.027222231,1.00E-04 -2-2-2019 1:00,7401123.673,0.016248812,0.016248812,1.00E-04 -2-2-2019 2:00,7401751.206,0.017919192,0.017919192,1.00E-04 -2-2-2019 3:00,7402379.468,0.031776512,0.031776512,1.00E-04 -2-2-2019 4:00,7403008.46,0.093576268,0.093576268,1.00E-04 -2-2-2019 5:00,7403638.181,0.310362842,0.310362842,1.00E-04 -2-2-2019 6:00,7404268.63,0.59203737,0.59203737,1.00E-04 -2-2-2019 7:00,7404899.808,0.738312737,0.738312737,1.00E-04 -2-2-2019 8:00,7405531.713,0.657630531,0.657630531,1.00E-04 -2-2-2019 9:00,7406164.347,0.60486787,0.60486787,1.00E-04 -2-2-2019 10:00,7406797.707,0.575711172,0.575711172,1.00E-04 -2-2-2019 11:00,7407431.795,0.712200077,0.712200077,1.00E-04 -2-2-2019 12:00,7408066.61,0.612600112,0.612600112,1.00E-04 -2-2-2019 13:00,7408702.15,0.479637285,0.479637285,1.00E-04 -2-2-2019 14:00,7409338.417,0.355475679,0.355475679,1.00E-04 -2-2-2019 15:00,7409975.41,0.574958914,0.574958914,1.00E-04 -2-2-2019 16:00,7410613.128,0.559648964,0.559648964,1.00E-04 -2-2-2019 17:00,7411251.571,0.58544704,0.58544704,1.00E-04 -2-2-2019 18:00,7411890.739,0.563183421,0.563183421,1.00E-04 -2-2-2019 19:00,7412530.631,0.514088468,0.514088468,1.00E-04 -2-2-2019 20:00,7413171.248,0.429543978,0.429543978,1.00E-04 -2-2-2019 21:00,7413812.588,0.27663983,0.27663983,1.00E-04 -2-2-2019 22:00,7414454.651,0.130301201,0.130301201,1.00E-04 -2-2-2019 23:00,7415097.438,0.05995419,0.05995419,1.00E-04 -3-2-2019 0:00,7415740.947,0.028069783,0.028069783,1.00E-04 -3-2-2019 1:00,7416385.179,0.01658337,0.01658337,1.00E-04 -3-2-2019 2:00,7417030.133,0.018452699,0.018452699,1.00E-04 -3-2-2019 3:00,7417675.809,0.033267585,0.033267585,1.00E-04 -3-2-2019 4:00,7418322.206,0.098188501,0.098188501,1.00E-04 -3-2-2019 5:00,7418969.324,0.323044207,0.323044207,1.00E-04 -3-2-2019 6:00,7419617.163,0.6203104,0.6203104,1.00E-04 -3-2-2019 7:00,7420265.722,0.761987813,0.761987813,1.00E-04 -3-2-2019 8:00,7420915.002,0.535318232,0.535318232,1.00E-04 -3-2-2019 9:00,7421565.001,0.4256548,0.4256548,1.00E-04 -3-2-2019 10:00,7422215.72,0.367424882,0.367424882,1.00E-04 -3-2-2019 11:00,7422867.158,0.53530347,0.53530347,1.00E-04 -3-2-2019 12:00,7423519.315,0.426440996,0.426440996,1.00E-04 -3-2-2019 13:00,7424172.19,0.251661869,0.251661869,1.00E-04 -3-2-2019 14:00,7424825.783,0.236167151,0.236167151,1.00E-04 -3-2-2019 15:00,7425480.094,0.506612466,0.506612466,1.00E-04 -3-2-2019 16:00,7426135.122,0.55062152,0.55062152,1.00E-04 -3-2-2019 17:00,7426790.868,0.587134995,0.587134995,1.00E-04 -3-2-2019 18:00,7427447.33,0.571989536,0.571989536,1.00E-04 -3-2-2019 19:00,7428104.508,0.521534872,0.521534872,1.00E-04 -3-2-2019 20:00,7428762.403,0.429826587,0.429826587,1.00E-04 -3-2-2019 21:00,7429421.014,0.274533734,0.274533734,1.00E-04 -3-2-2019 22:00,7430080.339,0.130780104,0.130780104,1.00E-04 -3-2-2019 23:00,7430740.38,0.058605061,0.058605061,1.00E-04 -4-2-2019 0:00,7431401.136,0.027183603,0.027183603,1.00E-04 -4-2-2019 1:00,7432062.606,0.015883376,0.015883376,1.00E-04 -4-2-2019 2:00,7432724.79,0.017543126,0.017543126,1.00E-04 -4-2-2019 3:00,7433387.688,0.031244004,0.031244004,1.00E-04 -4-2-2019 4:00,7434051.299,0.093361019,0.093361019,1.00E-04 -4-2-2019 5:00,7434715.623,0.311788245,0.311788245,1.00E-04 -4-2-2019 6:00,7435380.659,0.594013142,0.594013142,1.00E-04 -4-2-2019 7:00,7436046.409,0.736182121,0.736182121,1.00E-04 -4-2-2019 8:00,7436712.87,0.644508457,0.644508457,1.00E-04 -4-2-2019 9:00,7437380.042,0.58790653,0.58790653,1.00E-04 -4-2-2019 10:00,7438047.926,0.557125707,0.557125707,1.00E-04 -4-2-2019 11:00,7438716.521,0.689997962,0.689997962,1.00E-04 -4-2-2019 12:00,7439385.827,0.602977369,0.602977369,1.00E-04 -4-2-2019 13:00,7440055.843,0.464835456,0.464835456,1.00E-04 -4-2-2019 14:00,7440726.569,0.337773099,0.337773099,1.00E-04 -4-2-2019 15:00,7441398.004,0.565697539,0.565697539,1.00E-04 -4-2-2019 16:00,7442070.149,0.554589518,0.554589518,1.00E-04 -4-2-2019 17:00,7442743.002,0.577622748,0.577622748,1.00E-04 -4-2-2019 18:00,7443416.564,0.552132027,0.552132027,1.00E-04 -4-2-2019 19:00,7444090.834,0.502430688,0.502430688,1.00E-04 -4-2-2019 20:00,7444765.813,0.413705827,0.413705827,1.00E-04 -4-2-2019 21:00,7445441.498,0.267051639,0.267051639,1.00E-04 -4-2-2019 22:00,7446117.891,0.126041748,0.126041748,1.00E-04 -4-2-2019 23:00,7446794.99,0.056072774,0.056072774,1.00E-04 -5-2-2019 0:00,7447472.796,0.025045382,0.025045382,1.00E-04 -5-2-2019 1:00,7448151.309,0.012945678,0.012945678,1.00E-04 -5-2-2019 2:00,7448830.526,0.013781152,0.013781152,1.00E-04 -5-2-2019 3:00,7449510.45,0.024332307,0.024332307,1.00E-04 -5-2-2019 4:00,7450191.078,0.079500666,0.079500666,1.00E-04 -5-2-2019 5:00,7450872.411,0.280391132,0.280391132,1.00E-04 -5-2-2019 6:00,7451554.449,0.543155389,0.543155389,1.00E-04 -5-2-2019 7:00,7452237.19,0.68216599,0.68216599,1.00E-04 -5-2-2019 8:00,7452920.635,0.588550383,0.588550383,1.00E-04 -5-2-2019 9:00,7453604.784,0.550409896,0.550409896,1.00E-04 -5-2-2019 10:00,7454289.635,0.532781354,0.532781354,1.00E-04 -5-2-2019 11:00,7454975.189,0.669078464,0.669078464,1.00E-04 -5-2-2019 12:00,7455661.445,0.573046045,0.573046045,1.00E-04 -5-2-2019 13:00,7456348.403,0.431435961,0.431435961,1.00E-04 -5-2-2019 14:00,7457036.063,0.302980194,0.302980194,1.00E-04 -5-2-2019 15:00,7457724.424,0.532295044,0.532295044,1.00E-04 -5-2-2019 16:00,7458413.485,0.522897482,0.522897482,1.00E-04 -5-2-2019 17:00,7459103.248,0.54479086,0.54479086,1.00E-04 -5-2-2019 18:00,7459793.71,0.521260209,0.521260209,1.00E-04 -5-2-2019 19:00,7460484.872,0.480445616,0.480445616,1.00E-04 -5-2-2019 20:00,7461176.733,0.397762473,0.397762473,1.00E-04 -5-2-2019 21:00,7461869.294,0.257359431,0.257359431,1.00E-04 -5-2-2019 22:00,7462562.553,0.12283104,0.12283104,1.00E-04 -5-2-2019 23:00,7463256.511,0.054784137,0.054784137,1.00E-04 -6-2-2019 0:00,7463951.166,0.023616622,0.023616622,1.00E-04 -6-2-2019 1:00,7464646.52,0.011012531,0.011012531,1.00E-04 -6-2-2019 2:00,7465342.57,0.01087647,0.01087647,1.00E-04 -6-2-2019 3:00,7466039.318,0.021107467,0.021107467,1.00E-04 -6-2-2019 4:00,7466736.761,0.071495639,0.071495639,1.00E-04 -6-2-2019 5:00,7467434.902,0.264418117,0.264418117,1.00E-04 -6-2-2019 6:00,7468133.738,0.518277174,0.518277174,1.00E-04 -6-2-2019 7:00,7468833.269,0.656192171,0.656192171,1.00E-04 -6-2-2019 8:00,7469533.496,0.560762246,0.560762246,1.00E-04 -6-2-2019 9:00,7470234.417,0.525628538,0.525628538,1.00E-04 -6-2-2019 10:00,7470936.033,0.508711465,0.508711465,1.00E-04 -6-2-2019 11:00,7471638.343,0.646234145,0.646234145,1.00E-04 -6-2-2019 12:00,7472341.346,0.550191948,0.550191948,1.00E-04 -6-2-2019 13:00,7473045.043,0.404945471,0.404945471,1.00E-04 -6-2-2019 14:00,7473749.433,0.274689112,0.274689112,1.00E-04 -6-2-2019 15:00,7474454.515,0.505410823,0.505410823,1.00E-04 -6-2-2019 16:00,7475160.29,0.498221021,0.498221021,1.00E-04 -6-2-2019 17:00,7475866.756,0.520668513,0.520668513,1.00E-04 -6-2-2019 18:00,7476573.914,0.496386998,0.496386998,1.00E-04 -6-2-2019 19:00,7477281.763,0.450284806,0.450284806,1.00E-04 -6-2-2019 20:00,7477990.303,0.369357486,0.369357486,1.00E-04 -6-2-2019 21:00,7478699.533,0.237760658,0.237760658,1.00E-04 -6-2-2019 22:00,7479409.454,0.112056272,0.112056272,1.00E-04 -6-2-2019 23:00,7480120.064,0.04899621,0.04899621,1.00E-04 -7-2-2019 0:00,7480831.363,0.020733734,0.020733734,1.00E-04 -7-2-2019 1:00,7481543.351,0.007984969,0.007984969,1.00E-04 -7-2-2019 2:00,7482256.028,0.006112752,0.006112752,1.00E-04 -7-2-2019 3:00,7482969.393,0.01222372,0.01222372,1.00E-04 -7-2-2019 4:00,7483683.446,0.049984892,0.049984892,1.00E-04 -7-2-2019 5:00,7484398.186,0.204573792,0.204573792,1.00E-04 -7-2-2019 6:00,7485113.614,0.419156963,0.419156963,1.00E-04 -7-2-2019 7:00,7485829.728,0.533958391,0.533958391,1.00E-04 -7-2-2019 8:00,7486546.529,0.44169494,0.44169494,1.00E-04 -7-2-2019 9:00,7487264.015,0.432603961,0.432603961,1.00E-04 -7-2-2019 10:00,7487982.188,0.431879999,0.431879999,1.00E-04 -7-2-2019 11:00,7488701.045,0.581489634,0.581489634,1.00E-04 -7-2-2019 12:00,7489420.588,0.467349601,0.467349601,1.00E-04 -7-2-2019 13:00,7490140.815,0.291444471,0.291444471,1.00E-04 -7-2-2019 14:00,7490861.726,0.109625883,0.109625883,1.00E-04 -7-2-2019 15:00,7491583.321,0.370404094,0.370404094,1.00E-04 -7-2-2019 16:00,7492305.599,0.449286912,0.449286912,1.00E-04 -7-2-2019 17:00,7493028.56,0.481239051,0.481239051,1.00E-04 -7-2-2019 18:00,7493752.204,0.461920111,0.461920111,1.00E-04 -7-2-2019 19:00,7494476.531,0.421351156,0.421351156,1.00E-04 -7-2-2019 20:00,7495201.539,0.348058578,0.348058578,1.00E-04 -7-2-2019 21:00,7495927.229,0.225674513,0.225674513,1.00E-04 -7-2-2019 22:00,7496653.6,0.106206154,0.106206154,1.00E-04 -7-2-2019 23:00,7497380.652,0.046014215,0.046014215,1.00E-04 -8-2-2019 0:00,7498108.384,0.019336394,0.019336394,1.00E-04 -8-2-2019 1:00,7498836.796,0.006891656,0.006891656,1.00E-04 -8-2-2019 2:00,7499565.888,0.004757641,0.004757641,1.00E-04 -8-2-2019 3:00,7500295.66,0.009023183,0.009023183,1.00E-04 -8-2-2019 4:00,7501026.11,0.042912144,0.042912144,1.00E-04 -8-2-2019 5:00,7501757.239,0.186579633,0.186579633,1.00E-04 -8-2-2019 6:00,7502489.046,0.388864673,0.388864673,1.00E-04 -8-2-2019 7:00,7503221.531,0.497198214,0.497198214,1.00E-04 -8-2-2019 8:00,7503954.693,0.403991268,0.403991268,1.00E-04 -8-2-2019 9:00,7504688.532,0.40444728,0.40444728,1.00E-04 -8-2-2019 10:00,7505423.048,0.403512656,0.403512656,1.00E-04 -8-2-2019 11:00,7506158.24,0.55711051,0.55711051,1.00E-04 -8-2-2019 12:00,7506894.108,0.467011458,0.467011458,1.00E-04 -8-2-2019 13:00,7507630.652,0.318101632,0.318101632,1.00E-04 -8-2-2019 14:00,7508367.871,0.191068027,0.191068027,1.00E-04 -8-2-2019 15:00,7509105.765,0.408403652,0.408403652,1.00E-04 -8-2-2019 16:00,7509844.333,0.421082384,0.421082384,1.00E-04 -8-2-2019 17:00,7510583.575,0.442231695,0.442231695,1.00E-04 -8-2-2019 18:00,7511323.491,0.425217378,0.425217378,1.00E-04 -8-2-2019 19:00,7512064.08,0.388419295,0.388419295,1.00E-04 -8-2-2019 20:00,7512805.341,0.318613084,0.318613084,1.00E-04 -8-2-2019 21:00,7513547.276,0.204920604,0.204920604,1.00E-04 -8-2-2019 22:00,7514289.882,0.096333744,0.096333744,1.00E-04 -8-2-2019 23:00,7515033.161,0.041007525,0.041007525,1.00E-04 -9-2-2019 0:00,7515777.11,0.016942781,0.016942781,1.00E-04 -9-2-2019 1:00,7516521.731,0.00578121,0.00578121,1.00E-04 -9-2-2019 2:00,7517267.022,0.003296799,0.003296799,1.00E-04 -9-2-2019 3:00,7518012.983,0.005292965,0.005292965,1.00E-04 -9-2-2019 4:00,7518759.614,0.029574195,0.029574195,1.00E-04 -9-2-2019 5:00,7519506.915,0.145123761,0.145123761,1.00E-04 -9-2-2019 6:00,7520254.885,0.315455668,0.315455668,1.00E-04 -9-2-2019 7:00,7521003.523,0.405986555,0.405986555,1.00E-04 -9-2-2019 8:00,7521752.829,0.320946872,0.320946872,1.00E-04 -9-2-2019 9:00,7522502.804,0.332908263,0.332908263,1.00E-04 -9-2-2019 10:00,7523253.446,0.3461659,0.3461659,1.00E-04 -9-2-2019 11:00,7524004.755,0.47235841,0.47235841,1.00E-04 -9-2-2019 12:00,7524756.731,0.390835212,0.390835212,1.00E-04 -9-2-2019 13:00,7525509.373,0.23297534,0.23297534,1.00E-04 -9-2-2019 14:00,7526262.681,0.147298752,0.147298752,1.00E-04 -9-2-2019 15:00,7527016.655,0.366378507,0.366378507,1.00E-04 -9-2-2019 16:00,7527771.294,0.395875912,0.395875912,1.00E-04 -9-2-2019 17:00,7528526.598,0.424495027,0.424495027,1.00E-04 -9-2-2019 18:00,7529282.566,0.403911616,0.403911616,1.00E-04 -9-2-2019 19:00,7530039.198,0.368573156,0.368573156,1.00E-04 -9-2-2019 20:00,7530796.494,0.301235176,0.301235176,1.00E-04 -9-2-2019 21:00,7531554.453,0.193866652,0.193866652,1.00E-04 -9-2-2019 22:00,7532313.075,0.091713887,0.091713887,1.00E-04 -9-2-2019 23:00,7533072.359,0.039454762,0.039454762,1.00E-04 -10-2-2019 0:00,7533832.306,0.016034253,0.016034253,1.00E-04 -10-2-2019 1:00,7534592.914,0.00536251,0.00536251,1.00E-04 -10-2-2019 2:00,7535354.183,0.00301964,0.00301964,1.00E-04 -10-2-2019 3:00,7536116.113,0.004593682,0.004593682,1.00E-04 -10-2-2019 4:00,7536878.704,0.025682012,0.025682012,1.00E-04 -10-2-2019 5:00,7537641.955,0.133430712,0.133430712,1.00E-04 -10-2-2019 6:00,7538405.866,0.289116555,0.289116555,1.00E-04 -10-2-2019 7:00,7539170.436,0.372164746,0.372164746,1.00E-04 -10-2-2019 8:00,7539935.665,0.301740156,0.301740156,1.00E-04 -10-2-2019 9:00,7540701.552,0.326346868,0.326346868,1.00E-04 -10-2-2019 10:00,7541468.098,0.342794901,0.342794901,1.00E-04 -10-2-2019 11:00,7542235.301,0.485387528,0.485387528,1.00E-04 -10-2-2019 12:00,7543003.162,0.430759743,0.430759743,1.00E-04 -10-2-2019 13:00,7543771.68,0.277541857,0.277541857,1.00E-04 -10-2-2019 14:00,7544540.854,0.164978668,0.164978668,1.00E-04 -10-2-2019 15:00,7545310.684,0.386113744,0.386113744,1.00E-04 -10-2-2019 16:00,7546081.17,0.413141532,0.413141532,1.00E-04 -10-2-2019 17:00,7546852.312,0.444595811,0.444595811,1.00E-04 -10-2-2019 18:00,7547624.109,0.430129208,0.430129208,1.00E-04 -10-2-2019 19:00,7548396.56,0.391121828,0.391121828,1.00E-04 -10-2-2019 20:00,7549169.665,0.319165919,0.319165919,1.00E-04 -10-2-2019 21:00,7549943.424,0.206351228,0.206351228,1.00E-04 -10-2-2019 22:00,7550717.837,0.097286447,0.097286447,1.00E-04 -10-2-2019 23:00,7551492.902,0.0420668,0.0420668,1.00E-04 -11-2-2019 0:00,7552268.62,0.017291375,0.017291375,1.00E-04 -11-2-2019 1:00,7553044.991,0.005868639,0.005868639,1.00E-04 -11-2-2019 2:00,7553822.013,0.003324896,0.003324896,1.00E-04 -11-2-2019 3:00,7554599.686,0.005646906,0.005646906,1.00E-04 -11-2-2019 4:00,7555378.011,0.030620732,0.030620732,1.00E-04 -11-2-2019 5:00,7556156.986,0.152277136,0.152277136,1.00E-04 -11-2-2019 6:00,7556936.611,0.325957979,0.325957979,1.00E-04 -11-2-2019 7:00,7557716.886,0.408271677,0.408271677,1.00E-04 -11-2-2019 8:00,7558497.811,0.309391027,0.309391027,1.00E-04 -11-2-2019 9:00,7559279.384,0.330655832,0.330655832,1.00E-04 -11-2-2019 10:00,7560061.606,0.331415362,0.331415362,1.00E-04 -11-2-2019 11:00,7560844.477,0.435985395,0.435985395,1.00E-04 -11-2-2019 12:00,7561627.995,0.358665664,0.358665664,1.00E-04 -11-2-2019 13:00,7562412.16,0.186375884,0.186375884,1.00E-04 -11-2-2019 14:00,7563196.972,0.0806082,0.0806082,1.00E-04 -11-2-2019 15:00,7563982.431,0.146243032,0.146243032,1.00E-04 -11-2-2019 16:00,7564768.537,0.378823948,0.378823948,1.00E-04 -11-2-2019 17:00,7565555.287,0.434320743,0.434320743,1.00E-04 -11-2-2019 18:00,7566342.684,0.436929373,0.436929373,1.00E-04 -11-2-2019 19:00,7567130.725,0.402681467,0.402681467,1.00E-04 -11-2-2019 20:00,7567919.411,0.331263637,0.331263637,1.00E-04 -11-2-2019 21:00,7568708.741,0.215185997,0.215185997,1.00E-04 -11-2-2019 22:00,7569498.714,0.104544848,0.104544848,1.00E-04 -11-2-2019 23:00,7570289.331,0.044027722,0.044027722,1.00E-04 -12-2-2019 0:00,7571080.591,0.018750921,0.018750921,1.00E-04 -12-2-2019 1:00,7571872.494,0.006555123,0.006555123,1.00E-04 -12-2-2019 2:00,7572665.038,0.00405428,0.00405428,1.00E-04 -12-2-2019 3:00,7573458.225,0.008254397,0.008254397,1.00E-04 -12-2-2019 4:00,7574252.052,0.039096191,0.039096191,1.00E-04 -12-2-2019 5:00,7575046.521,0.179455581,0.179455581,1.00E-04 -12-2-2019 6:00,7575841.629,0.371643404,0.371643404,1.00E-04 -12-2-2019 7:00,7576637.378,0.473219276,0.473219276,1.00E-04 -12-2-2019 8:00,7577433.767,0.378891344,0.378891344,1.00E-04 -12-2-2019 9:00,7578230.795,0.380082861,0.380082861,1.00E-04 -12-2-2019 10:00,7579028.462,0.375044411,0.375044411,1.00E-04 -12-2-2019 11:00,7579826.767,0.51697307,0.51697307,1.00E-04 -12-2-2019 12:00,7580625.71,0.437551871,0.437551871,1.00E-04 -12-2-2019 13:00,7581425.291,0.255626062,0.255626062,1.00E-04 -12-2-2019 14:00,7582225.509,0.152989526,0.152989526,1.00E-04 -12-2-2019 15:00,7583026.364,0.37746365,0.37746365,1.00E-04 -12-2-2019 16:00,7583827.855,0.411738959,0.411738959,1.00E-04 -12-2-2019 17:00,7584629.982,0.441610005,0.441610005,1.00E-04 -12-2-2019 18:00,7585432.745,0.423730172,0.423730172,1.00E-04 -12-2-2019 19:00,7586236.142,0.386855253,0.386855253,1.00E-04 -12-2-2019 20:00,7587040.175,0.321903885,0.321903885,1.00E-04 -12-2-2019 21:00,7587844.842,0.208205734,0.208205734,1.00E-04 -12-2-2019 22:00,7588650.142,0.098561209,0.098561209,1.00E-04 -12-2-2019 23:00,7589456.077,0.042243348,0.042243348,1.00E-04 -13-02-2019 0:00,7590262.644,0.017693041,0.017693041,1.00E-04 -13-02-2019 1:00,7591069.844,0.006009833,0.006009833,1.00E-04 -13-02-2019 2:00,7591877.676,0.003490259,0.003490259,1.00E-04 -13-02-2019 3:00,7592686.14,0.006119374,0.006119374,1.00E-04 -13-02-2019 4:00,7593495.235,0.032500459,0.032500459,1.00E-04 -13-02-2019 5:00,7594304.962,0.156397253,0.156397253,1.00E-04 -13-02-2019 6:00,7595115.319,0.332963699,0.332963699,1.00E-04 -13-02-2019 7:00,7595926.306,0.426381185,0.426381185,1.00E-04 -13-02-2019 8:00,7596737.923,0.339848357,0.339848357,1.00E-04 -13-02-2019 9:00,7597550.169,0.354101795,0.354101795,1.00E-04 -13-02-2019 10:00,7598363.044,0.363943591,0.363943591,1.00E-04 -13-02-2019 11:00,7599176.547,0.51002941,0.51002941,1.00E-04 -13-02-2019 12:00,7599990.679,0.441185992,0.441185992,1.00E-04 -13-02-2019 13:00,7600805.438,0.279768727,0.279768727,1.00E-04 -13-02-2019 14:00,7601620.825,0.149373834,0.149373834,1.00E-04 -13-02-2019 15:00,7602436.838,0.37179297,0.37179297,1.00E-04 -13-02-2019 16:00,7603253.478,0.408960727,0.408960727,1.00E-04 -13-02-2019 17:00,7604070.743,0.441033375,0.441033375,1.00E-04 -13-02-2019 18:00,7604888.634,0.425392939,0.425392939,1.00E-04 -13-02-2019 19:00,7605707.151,0.391794644,0.391794644,1.00E-04 -13-02-2019 20:00,7606526.292,0.32582611,0.32582611,1.00E-04 -13-02-2019 21:00,7607346.057,0.212368865,0.212368865,1.00E-04 -13-02-2019 22:00,7608166.446,0.101722285,0.101722285,1.00E-04 -13-02-2019 23:00,7608987.459,0.045448609,0.045448609,1.00E-04 -14-02-2019 0:00,7609809.094,0.018805847,0.018805847,1.00E-04 -14-02-2019 1:00,7610631.353,0.006688177,0.006688177,1.00E-04 -14-02-2019 2:00,7611454.233,0.004212767,0.004212767,1.00E-04 -14-02-2019 3:00,7612277.735,0.008440985,0.008440985,1.00E-04 -14-02-2019 4:00,7613101.858,0.040838067,0.040838067,1.00E-04 -14-02-2019 5:00,7613926.603,0.185874972,0.185874972,1.00E-04 -14-02-2019 6:00,7614751.968,0.390361913,0.390361913,1.00E-04 -14-02-2019 7:00,7615577.953,0.480821233,0.480821233,1.00E-04 -14-02-2019 8:00,7616404.557,0.363412899,0.363412899,1.00E-04 -14-02-2019 9:00,7617231.781,0.363322911,0.363322911,1.00E-04 -14-02-2019 10:00,7618059.623,0.358508466,0.358508466,1.00E-04 -14-02-2019 11:00,7618888.084,0.485431182,0.485431182,1.00E-04 -14-02-2019 12:00,7619717.163,0.419275506,0.419275506,1.00E-04 -14-02-2019 13:00,7620546.859,0.258613265,0.258613265,1.00E-04 -14-02-2019 14:00,7621377.172,0.128197355,0.128197355,1.00E-04 -14-02-2019 15:00,7622208.102,0.339148097,0.339148097,1.00E-04 -14-02-2019 16:00,7623039.649,0.409145011,0.409145011,1.00E-04 -14-02-2019 17:00,7623871.811,0.459460387,0.459460387,1.00E-04 -14-02-2019 18:00,7624704.588,0.450580711,0.450580711,1.00E-04 -14-02-2019 19:00,7625537.98,0.419619541,0.419619541,1.00E-04 -14-02-2019 20:00,7626371.987,0.346224994,0.346224994,1.00E-04 -14-02-2019 21:00,7627206.608,0.227843586,0.227843586,1.00E-04 -14-02-2019 22:00,7628041.842,0.107555716,0.107555716,1.00E-04 -14-02-2019 23:00,7628877.69,0.046162317,0.046162317,1.00E-04 -15-02-2019 0:00,7629714.15,0.019843304,0.019843304,1.00E-04 -15-02-2019 1:00,7630551.223,0.006946282,0.006946282,1.00E-04 -15-02-2019 2:00,7631388.908,0.004978574,0.004978574,1.00E-04 -15-02-2019 3:00,7632227.204,0.009838409,0.009838409,1.00E-04 -15-02-2019 4:00,7633066.112,0.043827741,0.043827741,1.00E-04 -15-02-2019 5:00,7633905.63,0.195093975,0.195093975,1.00E-04 -15-02-2019 6:00,7634745.758,0.405824824,0.405824824,1.00E-04 -15-02-2019 7:00,7635586.496,0.489338096,0.489338096,1.00E-04 -15-02-2019 8:00,7636427.843,0.324661157,0.324661157,1.00E-04 -15-02-2019 9:00,7637269.799,0.265548953,0.265548953,1.00E-04 -15-02-2019 10:00,7638112.364,0.230505568,0.230505568,1.00E-04 -15-02-2019 11:00,7638955.536,0.28742746,0.28742746,1.00E-04 -15-02-2019 12:00,7639799.316,0.22620528,0.22620528,1.00E-04 -15-02-2019 13:00,7640643.704,0.106409181,0.106409181,1.00E-04 -15-02-2019 14:00,7641488.698,0.04444385,0.04444385,1.00E-04 -15-02-2019 15:00,7642334.298,0.06725894,0.06725894,1.00E-04 -15-02-2019 16:00,7643180.505,0.209825897,0.209825897,1.00E-04 -15-02-2019 17:00,7644027.316,0.378833757,0.378833757,1.00E-04 -15-02-2019 18:00,7644874.733,0.400217254,0.400217254,1.00E-04 -15-02-2019 19:00,7645722.754,0.380849975,0.380849975,1.00E-04 -15-02-2019 20:00,7646571.38,0.334164892,0.334164892,1.00E-04 -15-02-2019 21:00,7647420.609,0.219379169,0.219379169,1.00E-04 -15-02-2019 22:00,7648270.441,0.102848686,0.102848686,1.00E-04 -15-02-2019 23:00,7649120.876,0.043518011,0.043518011,1.00E-04 -16-02-2019 0:00,7649971.914,0.019118993,0.019118993,1.00E-04 -16-02-2019 1:00,7650823.553,0.00667682,0.00667682,1.00E-04 -16-02-2019 2:00,7651675.794,0.004175574,0.004175574,1.00E-04 -16-02-2019 3:00,7652528.636,0.007963829,0.007963829,1.00E-04 -16-02-2019 4:00,7653382.079,0.039311222,0.039311222,1.00E-04 -16-02-2019 5:00,7654236.122,0.183201649,0.183201649,1.00E-04 -16-02-2019 6:00,7655090.764,0.383989815,0.383989815,1.00E-04 -16-02-2019 7:00,7655946.006,0.481715014,0.481715014,1.00E-04 -16-02-2019 8:00,7656801.847,0.346102256,0.346102256,1.00E-04 -16-02-2019 9:00,7657658.286,0.341489793,0.341489793,1.00E-04 -16-02-2019 10:00,7658515.323,0.332223004,0.332223004,1.00E-04 -16-02-2019 11:00,7659372.957,0.450585121,0.450585121,1.00E-04 -16-02-2019 12:00,7660231.189,0.388893555,0.388893555,1.00E-04 -16-02-2019 13:00,7661090.017,0.234609627,0.234609627,1.00E-04 -16-02-2019 14:00,7661949.442,0.114331146,0.114331146,1.00E-04 -16-02-2019 15:00,7662809.462,0.321545053,0.321545053,1.00E-04 -16-02-2019 16:00,7663670.078,0.384682363,0.384682363,1.00E-04 -16-02-2019 17:00,7664531.289,0.438632603,0.438632603,1.00E-04 -16-02-2019 18:00,7665393.094,0.43403558,0.43403558,1.00E-04 -16-02-2019 19:00,7666255.493,0.39890818,0.39890818,1.00E-04 -16-02-2019 20:00,7667118.485,0.330445904,0.330445904,1.00E-04 -16-02-2019 21:00,7667982.071,0.217600622,0.217600622,1.00E-04 -16-02-2019 22:00,7668846.249,0.104351069,0.104351069,1.00E-04 -16-02-2019 23:00,7669711.02,0.046003803,0.046003803,1.00E-04 -17-02-2019 0:00,7670576.382,0.01938899,0.01938899,1.00E-04 -17-02-2019 1:00,7671442.336,0.006815139,0.006815139,1.00E-04 -17-02-2019 2:00,7672308.88,0.004513233,0.004513233,1.00E-04 -17-02-2019 3:00,7673176.015,0.008937601,0.008937601,1.00E-04 -17-02-2019 4:00,7674043.74,0.042277061,0.042277061,1.00E-04 -17-02-2019 5:00,7674912.055,0.190606444,0.190606444,1.00E-04 -17-02-2019 6:00,7675780.958,0.395806273,0.395806273,1.00E-04 -17-02-2019 7:00,7676650.451,0.49164271,0.49164271,1.00E-04 -17-02-2019 8:00,7677520.531,0.381385024,0.381385024,1.00E-04 -17-02-2019 9:00,7678391.199,0.3684862,0.3684862,1.00E-04 -17-02-2019 10:00,7679262.455,0.352842246,0.352842246,1.00E-04 -17-02-2019 11:00,7680134.297,0.466509259,0.466509259,1.00E-04 -17-02-2019 12:00,7681006.726,0.393958834,0.393958834,1.00E-04 -17-02-2019 13:00,7681879.741,0.236074264,0.236074264,1.00E-04 -17-02-2019 14:00,7682753.341,0.108175246,0.108175246,1.00E-04 -17-02-2019 15:00,7683627.527,0.285803578,0.285803578,1.00E-04 -17-02-2019 16:00,7684502.297,0.37340034,0.37340034,1.00E-04 -17-02-2019 17:00,7685377.651,0.409560497,0.409560497,1.00E-04 -17-02-2019 18:00,7686253.589,0.395981,0.395981,1.00E-04 -17-02-2019 19:00,7687130.11,0.376956102,0.376956102,1.00E-04 -17-02-2019 20:00,7688007.214,0.309822592,0.309822592,1.00E-04 -17-02-2019 21:00,7688884.9,0.203646493,0.203646493,1.00E-04 -17-02-2019 22:00,7689763.169,0.099591203,0.099591203,1.00E-04 -17-02-2019 23:00,7690642.018,0.043837047,0.043837047,1.00E-04 -18-02-2019 0:00,7691521.449,0.018395053,0.018395053,1.00E-04 -18-02-2019 1:00,7692401.46,0.006408458,0.006408458,1.00E-04 -18-02-2019 2:00,7693282.052,0.00382953,0.00382953,1.00E-04 -18-02-2019 3:00,7694163.223,0.007215159,0.007215159,1.00E-04 -18-02-2019 4:00,7695044.973,0.03671833,0.03671833,1.00E-04 -18-02-2019 5:00,7695927.302,0.173849035,0.173849035,1.00E-04 -18-02-2019 6:00,7696810.209,0.363361948,0.363361948,1.00E-04 -18-02-2019 7:00,7697693.694,0.448253349,0.448253349,1.00E-04 -18-02-2019 8:00,7698577.757,0.350278124,0.350278124,1.00E-04 -18-02-2019 9:00,7699462.396,0.345914412,0.345914412,1.00E-04 -18-02-2019 10:00,7700347.612,0.332840381,0.332840381,1.00E-04 -18-02-2019 11:00,7701233.404,0.442114913,0.442114913,1.00E-04 -18-02-2019 12:00,7702119.772,0.377372591,0.377372591,1.00E-04 -18-02-2019 13:00,7703006.714,0.225396339,0.225396339,1.00E-04 -18-02-2019 14:00,7703894.231,0.10237257,0.10237257,1.00E-04 -18-02-2019 15:00,7704782.323,0.2692044,0.2692044,1.00E-04 -18-02-2019 16:00,7705670.988,0.361880007,0.361880007,1.00E-04 -18-02-2019 17:00,7706560.226,0.423733814,0.423733814,1.00E-04 -18-02-2019 18:00,7707450.038,0.395557191,0.395557191,1.00E-04 -18-02-2019 19:00,7708340.421,0.376308948,0.376308948,1.00E-04 -18-02-2019 20:00,7709231.377,0.318045025,0.318045025,1.00E-04 -18-02-2019 21:00,7710122.904,0.203931935,0.203931935,1.00E-04 -18-02-2019 22:00,7711015.002,0.091931071,0.091931071,1.00E-04 -18-02-2019 23:00,7711907.67,0.039517892,0.039517892,1.00E-04 -19-02-2019 0:00,7712800.909,0.016303302,0.016303302,1.00E-04 -19-02-2019 1:00,7713694.717,0.005485094,0.005485094,1.00E-04 -19-02-2019 2:00,7714589.094,0.003071976,0.003071976,1.00E-04 -19-02-2019 3:00,7715484.04,0.004776967,0.004776967,1.00E-04 -19-02-2019 4:00,7716379.554,0.025849039,0.025849039,1.00E-04 -19-02-2019 5:00,7717275.636,0.135748215,0.135748215,1.00E-04 -19-02-2019 6:00,7718172.286,0.296824333,0.296824333,1.00E-04 -19-02-2019 7:00,7719069.502,0.368426227,0.368426227,1.00E-04 -19-02-2019 8:00,7719967.284,0.284923134,0.284923134,1.00E-04 -19-02-2019 9:00,7720865.633,0.295202456,0.295202456,1.00E-04 -19-02-2019 10:00,7721764.547,0.305463954,0.305463954,1.00E-04 -19-02-2019 11:00,7722664.026,0.425921342,0.425921342,1.00E-04 -19-02-2019 12:00,7723564.069,0.35950442,0.35950442,1.00E-04 -19-02-2019 13:00,7724464.676,0.217478201,0.217478201,1.00E-04 -19-02-2019 14:00,7725365.848,0.09155322,0.09155322,1.00E-04 -19-02-2019 15:00,7726267.582,0.250691009,0.250691009,1.00E-04 -19-02-2019 16:00,7727169.879,0.366954941,0.366954941,1.00E-04 -19-02-2019 17:00,7728072.738,0.413802067,0.413802067,1.00E-04 -19-02-2019 18:00,7728976.159,0.402728633,0.402728633,1.00E-04 -19-02-2019 19:00,7729880.141,0.369665757,0.369665757,1.00E-04 -19-02-2019 20:00,7730784.684,0.301387841,0.301387841,1.00E-04 -19-02-2019 21:00,7731689.788,0.195228884,0.195228884,1.00E-04 -19-02-2019 22:00,7732595.451,0.092570717,0.092570717,1.00E-04 -19-02-2019 23:00,7733501.674,0.039930869,0.039930869,1.00E-04 -20-02-2019 0:00,7734408.455,0.01629267,0.01629267,1.00E-04 -20-02-2019 1:00,7735315.795,0.005466185,0.005466185,1.00E-04 -20-02-2019 2:00,7736223.694,0.003091774,0.003091774,1.00E-04 -20-02-2019 3:00,7737132.149,0.004777727,0.004777727,1.00E-04 -20-02-2019 4:00,7738041.162,0.0257928,0.0257928,1.00E-04 -20-02-2019 5:00,7738950.732,0.135790338,0.135790338,1.00E-04 -20-02-2019 6:00,7739860.857,0.29484913,0.29484913,1.00E-04 -20-02-2019 7:00,7740771.539,0.376208704,0.376208704,1.00E-04 -20-02-2019 8:00,7741682.775,0.290939661,0.290939661,1.00E-04 -20-02-2019 9:00,7742594.566,0.3041226,0.3041226,1.00E-04 -20-02-2019 10:00,7743506.912,0.307176879,0.307176879,1.00E-04 -20-02-2019 11:00,7744419.811,0.422672053,0.422672053,1.00E-04 -20-02-2019 12:00,7745333.264,0.371448737,0.371448737,1.00E-04 -20-02-2019 13:00,7746247.27,0.202899423,0.202899423,1.00E-04 -20-02-2019 14:00,7747161.828,0.096314516,0.096314516,1.00E-04 -20-02-2019 15:00,7748076.938,0.249415845,0.249415845,1.00E-04 -20-02-2019 16:00,7748992.599,0.349990651,0.349990651,1.00E-04 -20-02-2019 17:00,7749908.811,0.396011698,0.396011698,1.00E-04 -20-02-2019 18:00,7750825.574,0.385085056,0.385085056,1.00E-04 -20-02-2019 19:00,7751742.887,0.354324288,0.354324288,1.00E-04 -20-02-2019 20:00,7752660.75,0.291484943,0.291484943,1.00E-04 -20-02-2019 21:00,7753579.161,0.190123166,0.190123166,1.00E-04 -20-02-2019 22:00,7754498.122,0.090647104,0.090647104,1.00E-04 -20-02-2019 23:00,7755417.63,0.038611403,0.038611403,1.00E-04 -21-02-2019 0:00,7756337.686,0.015660807,0.015660807,1.00E-04 -21-02-2019 1:00,7757258.289,0.005168477,0.005168477,1.00E-04 -21-02-2019 2:00,7758179.439,0.00293699,0.00293699,1.00E-04 -21-02-2019 3:00,7759101.136,0.004388597,0.004388597,1.00E-04 -21-02-2019 4:00,7760023.378,0.023223205,0.023223205,1.00E-04 -21-02-2019 5:00,7760946.165,0.126798687,0.126798687,1.00E-04 -21-02-2019 6:00,7761869.497,0.276901028,0.276901028,1.00E-04 -21-02-2019 7:00,7762793.374,0.350515901,0.350515901,1.00E-04 -21-02-2019 8:00,7763717.795,0.271257465,0.271257465,1.00E-04 -21-02-2019 9:00,7764642.758,0.289008652,0.289008652,1.00E-04 -21-02-2019 10:00,7765568.265,0.298714789,0.298714789,1.00E-04 -21-02-2019 11:00,7766494.315,0.407242608,0.407242608,1.00E-04 -21-02-2019 12:00,7767420.906,0.354863109,0.354863109,1.00E-04 -21-02-2019 13:00,7768348.039,0.202805578,0.202805578,1.00E-04 -21-02-2019 14:00,7769275.713,0.096123907,0.096123907,1.00E-04 -21-02-2019 15:00,7770203.927,0.264223308,0.264223308,1.00E-04 -21-02-2019 16:00,7771132.682,0.350809178,0.350809178,1.00E-04 -21-02-2019 17:00,7772061.976,0.391833745,0.391833745,1.00E-04 -21-02-2019 18:00,7772991.809,0.375212106,0.375212106,1.00E-04 -21-02-2019 19:00,7773922.181,0.340084689,0.340084689,1.00E-04 -21-02-2019 20:00,7774853.091,0.277725704,0.277725704,1.00E-04 -21-02-2019 21:00,7775784.538,0.179217524,0.179217524,1.00E-04 -21-02-2019 22:00,7776716.523,0.084770986,0.084770986,1.00E-04 -21-02-2019 23:00,7777649.045,0.036305847,0.036305847,1.00E-04 -22-02-2019 0:00,7778582.103,0.014489445,0.014489445,1.00E-04 -22-02-2019 1:00,7779515.697,0.004557457,0.004557457,1.00E-04 -22-02-2019 2:00,7780449.826,0.002424533,0.002424533,1.00E-04 -22-02-2019 3:00,7781384.489,0.003577114,0.003577114,1.00E-04 -22-02-2019 4:00,7782319.687,0.017404066,0.017404066,1.00E-04 -22-02-2019 5:00,7783255.419,0.100864666,0.100864666,1.00E-04 -22-02-2019 6:00,7784191.685,0.229797522,0.229797522,1.00E-04 -22-02-2019 7:00,7785128.483,0.294530789,0.294530789,1.00E-04 -22-02-2019 8:00,7786065.813,0.230999918,0.230999918,1.00E-04 -22-02-2019 9:00,7787003.676,0.259175371,0.259175371,1.00E-04 -22-02-2019 10:00,7787942.07,0.274264104,0.274264104,1.00E-04 -22-02-2019 11:00,7788880.995,0.372548704,0.372548704,1.00E-04 -22-02-2019 12:00,7789820.45,0.325872793,0.325872793,1.00E-04 -22-02-2019 13:00,7790760.435,0.182960298,0.182960298,1.00E-04 -22-02-2019 14:00,7791700.95,0.08545439,0.08545439,1.00E-04 -22-02-2019 15:00,7792641.994,0.199610994,0.199610994,1.00E-04 -22-02-2019 16:00,7793583.566,0.317900826,0.317900826,1.00E-04 -22-02-2019 17:00,7794525.667,0.35922077,0.35922077,1.00E-04 -22-02-2019 18:00,7795468.295,0.357243013,0.357243013,1.00E-04 -22-02-2019 19:00,7796411.45,0.338805238,0.338805238,1.00E-04 -22-02-2019 20:00,7797355.131,0.273535918,0.273535918,1.00E-04 -22-02-2019 21:00,7798299.339,0.177208021,0.177208021,1.00E-04 -22-02-2019 22:00,7799244.073,0.085023493,0.085023493,1.00E-04 -22-02-2019 23:00,7800189.331,0.036924807,0.036924807,1.00E-04 -23-02-2019 0:00,7801135.114,0.014945346,0.014945346,1.00E-04 -23-02-2019 1:00,7802081.422,0.00471076,0.00471076,1.00E-04 -23-02-2019 2:00,7803028.253,0.002561678,0.002561678,1.00E-04 -23-02-2019 3:00,7803975.607,0.003896888,0.003896888,1.00E-04 -23-02-2019 4:00,7804923.484,0.019608959,0.019608959,1.00E-04 -23-02-2019 5:00,7805871.883,0.11610052,0.11610052,1.00E-04 -23-02-2019 6:00,7806820.804,0.262196704,0.262196704,1.00E-04 -23-02-2019 7:00,7807770.246,0.331993383,0.331993383,1.00E-04 -23-02-2019 8:00,7808720.209,0.255754323,0.255754323,1.00E-04 -23-02-2019 9:00,7809670.692,0.237935548,0.237935548,1.00E-04 -23-02-2019 10:00,7810621.695,0.256132154,0.256132154,1.00E-04 -23-02-2019 11:00,7811573.217,0.321807918,0.321807918,1.00E-04 -23-02-2019 12:00,7812525.258,0.239290566,0.239290566,1.00E-04 -23-02-2019 13:00,7813477.818,0.125691332,0.125691332,1.00E-04 -23-02-2019 14:00,7814430.895,0.062324783,0.062324783,1.00E-04 -23-02-2019 15:00,7815384.489,0.090284999,0.090284999,1.00E-04 -23-02-2019 16:00,7816338.6,0.241234349,0.241234349,1.00E-04 -23-02-2019 17:00,7817293.228,0.359811646,0.359811646,1.00E-04 -23-02-2019 18:00,7818248.371,0.359445155,0.359445155,1.00E-04 -23-02-2019 19:00,7819204.03,0.348777597,0.348777597,1.00E-04 -23-02-2019 20:00,7820160.204,0.303432119,0.303432119,1.00E-04 -23-02-2019 21:00,7821116.892,0.182995135,0.182995135,1.00E-04 -23-02-2019 22:00,7822074.094,0.087558639,0.087558639,1.00E-04 -23-02-2019 23:00,7823031.809,0.038688555,0.038688555,1.00E-04 -24-02-2019 0:00,7823990.038,0.01574694,0.01574694,1.00E-04 -24-02-2019 1:00,7824948.778,0.005179793,0.005179793,1.00E-04 -24-02-2019 2:00,7825908.031,0.002959391,0.002959391,1.00E-04 -24-02-2019 3:00,7826867.795,0.004654476,0.004654476,1.00E-04 -24-02-2019 4:00,7827828.07,0.0253274,0.0253274,1.00E-04 -24-02-2019 5:00,7828788.855,0.141777402,0.141777402,1.00E-04 -24-02-2019 6:00,7829750.15,0.313125005,0.313125005,1.00E-04 -24-02-2019 7:00,7830711.955,0.366714233,0.366714233,1.00E-04 -24-02-2019 8:00,7831674.269,0.221557465,0.221557465,1.00E-04 -24-02-2019 9:00,7832637.091,0.184241502,0.184241502,1.00E-04 -24-02-2019 10:00,7833600.421,0.174561748,0.174561748,1.00E-04 -24-02-2019 11:00,7834564.259,0.204940324,0.204940324,1.00E-04 -24-02-2019 12:00,7835528.603,0.192830235,0.192830235,1.00E-04 -24-02-2019 13:00,7836493.454,0.10825493,0.10825493,1.00E-04 -24-02-2019 14:00,7837458.811,0.05448834,0.05448834,1.00E-04 -24-02-2019 15:00,7838424.674,0.133394507,0.133394507,1.00E-04 -24-02-2019 16:00,7839391.041,0.272880493,0.272880493,1.00E-04 -24-02-2019 17:00,7840357.913,0.349919076,0.349919076,1.00E-04 -24-02-2019 18:00,7841325.289,0.364271654,0.364271654,1.00E-04 -24-02-2019 19:00,7842293.168,0.353818742,0.353818742,1.00E-04 -24-02-2019 20:00,7843261.551,0.298437179,0.298437179,1.00E-04 -24-02-2019 21:00,7844230.435,0.197876682,0.197876682,1.00E-04 -24-02-2019 22:00,7845199.822,0.096168627,0.096168627,1.00E-04 -24-02-2019 23:00,7846169.711,0.042480456,0.042480456,1.00E-04 -25-02-2019 0:00,7847140.1,0.017479339,0.017479339,1.00E-04 -25-02-2019 1:00,7848110.99,0.006065317,0.006065317,1.00E-04 -25-02-2019 2:00,7849082.38,0.003465083,0.003465083,1.00E-04 -25-02-2019 3:00,7850054.269,0.006121753,0.006121753,1.00E-04 -25-02-2019 4:00,7851026.657,0.031486699,0.031486699,1.00E-04 -25-02-2019 5:00,7851999.544,0.159084474,0.159084474,1.00E-04 -25-02-2019 6:00,7852972.929,0.33519536,0.33519536,1.00E-04 -25-02-2019 7:00,7853946.811,0.383840449,0.383840449,1.00E-04 -25-02-2019 8:00,7854921.191,0.240481913,0.240481913,1.00E-04 -25-02-2019 9:00,7855896.067,0.200973253,0.200973253,1.00E-04 -25-02-2019 10:00,7856871.438,0.207380978,0.207380978,1.00E-04 -25-02-2019 11:00,7857847.306,0.228505258,0.228505258,1.00E-04 -25-02-2019 12:00,7858823.668,0.174743448,0.174743448,1.00E-04 -25-02-2019 13:00,7859800.525,0.097472937,0.097472937,1.00E-04 -25-02-2019 14:00,7860777.876,0.044778102,0.044778102,1.00E-04 -25-02-2019 15:00,7861755.72,0.062986387,0.062986387,1.00E-04 -25-02-2019 16:00,7862734.057,0.175526647,0.175526647,1.00E-04 -25-02-2019 17:00,7863712.887,0.327360078,0.327360078,1.00E-04 -25-02-2019 18:00,7864692.209,0.355696862,0.355696862,1.00E-04 -25-02-2019 19:00,7865672.022,0.348415978,0.348415978,1.00E-04 -25-02-2019 20:00,7866652.326,0.299260959,0.299260959,1.00E-04 -25-02-2019 21:00,7867633.12,0.198122648,0.198122648,1.00E-04 -25-02-2019 22:00,7868614.405,0.095287642,0.095287642,1.00E-04 -25-02-2019 23:00,7869596.179,0.04192905,0.04192905,1.00E-04 -26-02-2019 0:00,7870578.442,0.017391692,0.017391692,1.00E-04 -26-02-2019 1:00,7871561.193,0.005694747,0.005694747,1.00E-04 -26-02-2019 2:00,7872544.432,0.003349807,0.003349807,1.00E-04 -26-02-2019 3:00,7873528.159,0.005672633,0.005672633,1.00E-04 -26-02-2019 4:00,7874512.373,0.030032729,0.030032729,1.00E-04 -26-02-2019 5:00,7875497.073,0.157561611,0.157561611,1.00E-04 -26-02-2019 6:00,7876482.259,0.332411641,0.332411641,1.00E-04 -26-02-2019 7:00,7877467.93,0.400494602,0.400494602,1.00E-04 -26-02-2019 8:00,7878454.086,0.300978283,0.300978283,1.00E-04 -26-02-2019 9:00,7879440.727,0.284607793,0.284607793,1.00E-04 -26-02-2019 10:00,7880427.852,0.264019046,0.264019046,1.00E-04 -26-02-2019 11:00,7881415.46,0.332880931,0.332880931,1.00E-04 -26-02-2019 12:00,7882403.55,0.286361201,0.286361201,1.00E-04 -26-02-2019 13:00,7883392.123,0.156742279,0.156742279,1.00E-04 -26-02-2019 14:00,7884381.178,0.069784059,0.069784059,1.00E-04 -26-02-2019 15:00,7885370.715,0.098272299,0.098272299,1.00E-04 -26-02-2019 16:00,7886360.732,0.236428728,0.236428728,1.00E-04 -26-02-2019 17:00,7887351.229,0.357629346,0.357629346,1.00E-04 -26-02-2019 18:00,7888342.207,0.370251659,0.370251659,1.00E-04 -26-02-2019 19:00,7889333.663,0.349170548,0.349170548,1.00E-04 -26-02-2019 20:00,7890325.599,0.292023328,0.292023328,1.00E-04 -26-02-2019 21:00,7891318.012,0.191852868,0.191852868,1.00E-04 -26-02-2019 22:00,7892310.904,0.092846792,0.092846792,1.00E-04 -26-02-2019 23:00,7893304.272,0.040923993,0.040923993,1.00E-04 -27-02-2019 0:00,7894298.118,0.0167016,0.0167016,1.00E-04 -27-02-2019 1:00,7895292.439,0.005630015,0.005630015,1.00E-04 -27-02-2019 2:00,7896287.237,0.00323548,0.00323548,1.00E-04 -27-02-2019 3:00,7897282.509,0.005220626,0.005220626,1.00E-04 -27-02-2019 4:00,7898278.257,0.027153381,0.027153381,1.00E-04 -27-02-2019 5:00,7899274.478,0.143856546,0.143856546,1.00E-04 -27-02-2019 6:00,7900271.173,0.301609075,0.301609075,1.00E-04 -27-02-2019 7:00,7901268.342,0.340466749,0.340466749,1.00E-04 -27-02-2019 8:00,7902265.983,0.203861947,0.203861947,1.00E-04 -27-02-2019 9:00,7903264.096,0.16522505,0.16522505,1.00E-04 -27-02-2019 10:00,7904262.68,0.152488506,0.152488506,1.00E-04 -27-02-2019 11:00,7905261.736,0.165325029,0.165325029,1.00E-04 -27-02-2019 12:00,7906261.263,0.109680634,0.109680634,1.00E-04 -27-02-2019 13:00,7907261.259,0.041667621,0.041667621,1.00E-04 -27-02-2019 14:00,7908261.725,0.019955639,0.019955639,1.00E-04 -27-02-2019 15:00,7909262.66,0.024610444,0.024610444,1.00E-04 -27-02-2019 16:00,7910264.064,0.049498482,0.049498482,1.00E-04 -27-02-2019 17:00,7911265.936,0.128314611,0.128314611,1.00E-04 -27-02-2019 18:00,7912268.275,0.208765116,0.208765116,1.00E-04 -27-02-2019 19:00,7913271.081,0.261688123,0.261688123,1.00E-04 -27-02-2019 20:00,7914274.354,0.227001879,0.227001879,1.00E-04 -27-02-2019 21:00,7915278.092,0.152643913,0.152643913,1.00E-04 -27-02-2019 22:00,7916282.297,0.076391876,0.076391876,1.00E-04 -27-02-2019 23:00,7917286.966,0.035045556,0.035045556,1.00E-04 -28-02-2019 0:00,7918292.099,0.014846948,0.014846948,1.00E-04 -28-02-2019 1:00,7919297.696,0.00459434,0.00459434,1.00E-04 -28-02-2019 2:00,7920303.757,0.002558344,0.002558344,1.00E-04 -28-02-2019 3:00,7921310.281,0.003894311,0.003894311,1.00E-04 -28-02-2019 4:00,7922317.266,0.014855758,0.014855758,1.00E-04 -28-02-2019 5:00,7923324.714,0.112232345,0.112232345,1.00E-04 -28-02-2019 6:00,7924332.623,0.247760209,0.247760209,1.00E-04 -28-02-2019 7:00,7925340.993,0.193385152,0.193385152,1.00E-04 -28-02-2019 8:00,7926349.823,0.198496534,0.198496534,1.00E-04 -28-02-2019 9:00,7927359.113,0.226835165,0.226835165,1.00E-04 -28-02-2019 10:00,7928368.862,0.252642284,0.252642284,1.00E-04 -28-02-2019 11:00,7929379.07,0.291564365,0.291564365,1.00E-04 -28-02-2019 12:00,7930389.735,0.281164177,0.281164177,1.00E-04 -28-02-2019 13:00,7931400.859,0.149597536,0.149597536,1.00E-04 -28-02-2019 14:00,7932412.44,0.072358961,0.072358961,1.00E-04 -28-02-2019 15:00,7933424.477,0.045789866,0.045789866,1.00E-04 -28-02-2019 16:00,7934436.971,0.17324095,0.17324095,1.00E-04 -28-02-2019 17:00,7935449.92,0.330798559,0.330798559,1.00E-04 -28-02-2019 18:00,7936463.324,0.326567789,0.326567789,1.00E-04 -28-02-2019 19:00,7937477.183,0.308364365,0.308364365,1.00E-04 -28-02-2019 20:00,7938491.495,0.257478576,0.257478576,1.00E-04 -28-02-2019 21:00,7939506.261,0.166994259,0.166994259,1.00E-04 -28-02-2019 22:00,7940521.481,0.079342952,0.079342952,1.00E-04 -28-02-2019 23:00,7941537.152,0.034040098,0.034040098,1.00E-04 -1-3-2019 0:00,7942553.276,0.013706875,0.013706875,0.00006 -1-3-2019 1:00,7943569.851,0.003975152,0.003975152,0.00006 -1-3-2019 2:00,7944586.877,0.002171822,0.002171822,0.00006 -1-3-2019 3:00,7945604.353,0.003293882,0.003293882,0.00006 -1-3-2019 4:00,7946622.279,0.013410455,0.013410455,0.00006 -1-3-2019 5:00,7947640.654,0.089736765,0.089736765,0.00006 -1-3-2019 6:00,7948659.479,0.203107774,0.203107774,0.00006 -1-3-2019 7:00,7949678.751,0.161622196,0.161622196,0.00006 -1-3-2019 8:00,7950698.471,0.171732018,0.171732018,0.00006 -1-3-2019 9:00,7951718.639,0.21029493,0.21029493,0.00006 -1-3-2019 10:00,7952739.253,0.247830834,0.247830834,0.00006 -1-3-2019 11:00,7953760.313,0.357877257,0.357877257,0.00006 -1-3-2019 12:00,7954781.819,0.312841485,0.312841485,0.00006 -1-3-2019 13:00,7955803.77,0.166408317,0.166408317,0.00006 -1-3-2019 14:00,7956826.166,0.081719369,0.081719369,0.00006 -1-3-2019 15:00,7957849.005,0.057784273,0.057784273,0.00006 -1-3-2019 16:00,7958872.289,0.257722452,0.257722452,0.00006 -1-3-2019 17:00,7959896.015,0.368045134,0.368045134,0.00006 -1-3-2019 18:00,7960920.184,0.358256053,0.358256053,0.00006 -1-3-2019 19:00,7961944.794,0.340694761,0.340694761,0.00006 -1-3-2019 20:00,7962969.847,0.283518105,0.283518105,0.00006 -1-3-2019 21:00,7963995.34,0.18487264,0.18487264,0.00006 -1-3-2019 22:00,7965021.273,0.087726022,0.087726022,0.00006 -1-3-2019 23:00,7966047.646,0.039290702,0.039290702,0.00006 -2-3-2019 0:00,7967074.459,0.015438746,0.015438746,0.00006 -2-3-2019 1:00,7968101.711,0.005010916,0.005010916,0.00006 -2-3-2019 2:00,7969129.4,0.002836128,0.002836128,0.00006 -2-3-2019 3:00,7970157.528,0.004116118,0.004116118,0.00006 -2-3-2019 4:00,7971186.092,0.020153665,0.020153665,0.00006 -2-3-2019 5:00,7972215.094,0.117902781,0.117902781,0.00006 -2-3-2019 6:00,7973244.531,0.25501239,0.25501239,0.00006 -2-3-2019 7:00,7974274.404,0.203446517,0.203446517,0.00006 -2-3-2019 8:00,7975304.712,0.206826096,0.206826096,0.00006 -2-3-2019 9:00,7976335.455,0.236039219,0.236039219,0.00006 -2-3-2019 10:00,7977366.632,0.259053054,0.259053054,0.00006 -2-3-2019 11:00,7978398.242,0.31909154,0.31909154,0.00006 -2-3-2019 12:00,7979430.285,0.264350025,0.264350025,0.00006 -2-3-2019 13:00,7980462.761,0.148424413,0.148424413,0.00006 -2-3-2019 14:00,7981495.669,0.073544062,0.073544062,0.00006 -2-3-2019 15:00,7982529.008,0.051655078,0.051655078,0.00006 -2-3-2019 16:00,7983562.777,0.197169631,0.197169631,0.00006 -2-3-2019 17:00,7984596.978,0.341414583,0.341414583,0.00006 -2-3-2019 18:00,7985631.608,0.332283029,0.332283029,0.00006 -2-3-2019 19:00,7986666.667,0.312384616,0.312384616,0.00006 -2-3-2019 20:00,7987702.155,0.260992199,0.260992199,0.00006 -2-3-2019 21:00,7988738.071,0.169592827,0.169592827,0.00006 -2-3-2019 22:00,7989774.414,0.079685162,0.079685162,0.00006 -2-3-2019 23:00,7990811.185,0.033695284,0.033695284,0.00006 -3-3-2019 0:00,7991848.383,0.013362914,0.013362914,0.00006 -3-3-2019 1:00,7992886.006,0.003835449,0.003835449,0.00006 -3-3-2019 2:00,7993924.055,0.002050837,0.002050837,0.00006 -3-3-2019 3:00,7994962.529,0.003072953,0.003072953,0.00006 -3-3-2019 4:00,7996001.427,0.012387462,0.012387462,0.00006 -3-3-2019 5:00,7997040.75,0.080891778,0.080891778,0.00006 -3-3-2019 6:00,7998080.495,0.178303235,0.178303235,0.00006 -3-3-2019 7:00,7999120.664,0.143459085,0.143459085,0.00006 -3-3-2019 8:00,8000161.255,0.154148445,0.154148445,0.00006 -3-3-2019 9:00,8001202.267,0.187851591,0.187851591,0.00006 -3-3-2019 10:00,8002243.701,0.216403337,0.216403337,0.00006 -3-3-2019 11:00,8003285.556,0.297686229,0.297686229,0.00006 -3-3-2019 12:00,8004327.831,0.254800561,0.254800561,0.00006 -3-3-2019 13:00,8005370.525,0.13735338,0.13735338,0.00006 -3-3-2019 14:00,8006413.639,0.065767409,0.065767409,0.00006 -3-3-2019 15:00,8007457.171,0.041470434,0.041470434,0.00006 -3-3-2019 16:00,8008501.121,0.125674835,0.125674835,0.00006 -3-3-2019 17:00,8009545.488,0.289868116,0.289868116,0.00006 -3-3-2019 18:00,8010590.273,0.298515461,0.298515461,0.00006 -3-3-2019 19:00,8011635.474,0.277480077,0.277480077,0.00006 -3-3-2019 20:00,8012681.09,0.231904586,0.231904586,0.00006 -3-3-2019 21:00,8013727.122,0.149609186,0.149609186,0.00006 -3-3-2019 22:00,8014773.569,0.07013029,0.07013029,0.00006 -3-3-2019 23:00,8015820.43,0.029376841,0.029376841,0.00006 -4-3-2019 0:00,8016867.705,0.011848637,0.011848637,0.00006 -4-3-2019 1:00,8017915.393,0.003140753,0.003140753,0.00006 -4-3-2019 2:00,8018963.494,0.001363372,0.001363372,0.00006 -4-3-2019 3:00,8020012.007,0.002470907,0.002470907,0.00006 -4-3-2019 4:00,8021060.931,0.008251566,0.008251566,0.00006 -4-3-2019 5:00,8022110.266,0.060591636,0.060591636,0.00006 -4-3-2019 6:00,8023160.012,0.133996006,0.133996006,0.00006 -4-3-2019 7:00,8024210.168,0.112958794,0.112958794,0.00006 -4-3-2019 8:00,8025260.733,0.13303153,0.13303153,0.00006 -4-3-2019 9:00,8026311.707,0.167557212,0.167557212,0.00006 -4-3-2019 10:00,8027363.09,0.199299837,0.199299837,0.00006 -4-3-2019 11:00,8028414.88,0.285768733,0.285768733,0.00006 -4-3-2019 12:00,8029467.077,0.231837829,0.231837829,0.00006 -4-3-2019 13:00,8030519.681,0.127543938,0.127543938,0.00006 -4-3-2019 14:00,8031572.692,0.056720763,0.056720763,0.00006 -4-3-2019 15:00,8032626.107,0.03780661,0.03780661,0.00006 -4-3-2019 16:00,8033679.928,0.100269979,0.100269979,0.00006 -4-3-2019 17:00,8034734.154,0.288327829,0.288327829,0.00006 -4-3-2019 18:00,8035788.783,0.315878645,0.315878645,0.00006 -4-3-2019 19:00,8036843.816,0.29027728,0.29027728,0.00006 -4-3-2019 20:00,8037899.252,0.242692633,0.242692633,0.00006 -4-3-2019 21:00,8038955.09,0.161353623,0.161353623,0.00006 -4-3-2019 22:00,8040011.33,0.077338017,0.077338017,0.00006 -4-3-2019 23:00,8041067.971,0.033535529,0.033535529,0.00006 -5-3-2019 0:00,8042125.013,0.013462277,0.013462277,0.00006 -5-3-2019 1:00,8043182.456,0.003696056,0.003696056,0.00006 -5-3-2019 2:00,8044240.297,0.001915715,0.001915715,0.00006 -5-3-2019 3:00,8045298.538,0.003050116,0.003050116,0.00006 -5-3-2019 4:00,8046357.178,0.011828124,0.011828124,0.00006 -5-3-2019 5:00,8047416.215,0.083498832,0.083498832,0.00006 -5-3-2019 6:00,8048475.65,0.186721584,0.186721584,0.00006 -5-3-2019 7:00,8049535.482,0.122592875,0.122592875,0.00006 -5-3-2019 8:00,8050595.71,0.128349102,0.128349102,0.00006 -5-3-2019 9:00,8051656.334,0.163667686,0.163667686,0.00006 -5-3-2019 10:00,8052717.354,0.189543293,0.189543293,0.00006 -5-3-2019 11:00,8053778.768,0.244575706,0.244575706,0.00006 -5-3-2019 12:00,8054840.576,0.2077146,0.2077146,0.00006 -5-3-2019 13:00,8055902.778,0.109217693,0.109217693,0.00006 -5-3-2019 14:00,8056965.373,0.045261527,0.045261527,0.00006 -5-3-2019 15:00,8058028.36,0.028232118,0.028232118,0.00006 -5-3-2019 16:00,8059091.74,0.050912883,0.050912883,0.00006 -5-3-2019 17:00,8060155.511,0.15830426,0.15830426,0.00006 -5-3-2019 18:00,8061219.673,0.289625189,0.289625189,0.00006 -5-3-2019 19:00,8062284.225,0.30187335,0.30187335,0.00006 -5-3-2019 20:00,8063349.167,0.243463122,0.243463122,0.00006 -5-3-2019 21:00,8064414.498,0.159026706,0.159026706,0.00006 -5-3-2019 22:00,8065480.219,0.0758606,0.0758606,0.00006 -5-3-2019 23:00,8066546.327,0.033849615,0.033849615,0.00006 -6-3-2019 0:00,8067612.823,0.013484429,0.013484429,0.00006 -6-3-2019 1:00,8068679.706,0.003936233,0.003936233,0.00006 -6-3-2019 2:00,8069746.975,0.00209965,0.00209965,0.00006 -6-3-2019 3:00,8070814.63,0.002784433,0.002784433,0.00006 -6-3-2019 4:00,8071882.671,0.011250018,0.011250018,0.00006 -6-3-2019 5:00,8072951.097,0.083690206,0.083690206,0.00006 -6-3-2019 6:00,8074019.907,0.179163332,0.179163332,0.00006 -6-3-2019 7:00,8075089.101,0.140563189,0.140563189,0.00006 -6-3-2019 8:00,8076158.678,0.149408021,0.149408021,0.00006 -6-3-2019 9:00,8077228.638,0.179295698,0.179295698,0.00006 -6-3-2019 10:00,8078298.98,0.208220539,0.208220539,0.00006 -6-3-2019 11:00,8079369.703,0.281401428,0.281401428,0.00006 -6-3-2019 12:00,8080440.808,0.237848049,0.237848049,0.00006 -6-3-2019 13:00,8081512.293,0.128622131,0.128622131,0.00006 -6-3-2019 14:00,8082584.157,0.060105044,0.060105044,0.00006 -6-3-2019 15:00,8083656.402,0.037537021,0.037537021,0.00006 -6-3-2019 16:00,8084729.025,0.092933208,0.092933208,0.00006 -6-3-2019 17:00,8085802.026,0.254503568,0.254503568,0.00006 -6-3-2019 18:00,8086875.405,0.292111009,0.292111009,0.00006 -6-3-2019 19:00,8087949.161,0.268183877,0.268183877,0.00006 -6-3-2019 20:00,8089023.294,0.223001968,0.223001968,0.00006 -6-3-2019 21:00,8090097.803,0.149181628,0.149181628,0.00006 -6-3-2019 22:00,8091172.687,0.071736691,0.071736691,0.00006 -6-3-2019 23:00,8092247.947,0.030334967,0.030334967,0.00006 -7-3-2019 0:00,8093323.58,0.012309352,0.012309352,0.00006 -7-3-2019 1:00,8094399.588,0.003249349,0.003249349,0.00006 -7-3-2019 2:00,8095475.969,0.001497055,0.001497055,0.00006 -7-3-2019 3:00,8096552.723,0.002496081,0.002496081,0.00006 -7-3-2019 4:00,8097629.848,0.008766408,0.008766408,0.00006 -7-3-2019 5:00,8098707.346,0.063966628,0.063966628,0.00006 -7-3-2019 6:00,8099785.214,0.140267536,0.140267536,0.00006 -7-3-2019 7:00,8100863.453,0.114241159,0.114241159,0.00006 -7-3-2019 8:00,8101942.062,0.125693817,0.125693817,0.00006 -7-3-2019 9:00,8103021.041,0.154319523,0.154319523,0.00006 -7-3-2019 10:00,8104100.388,0.175379828,0.175379828,0.00006 -7-3-2019 11:00,8105180.103,0.23667714,0.23667714,0.00006 -7-3-2019 12:00,8106260.187,0.196930845,0.196930845,0.00006 -7-3-2019 13:00,8107340.637,0.084131576,0.084131576,0.00006 -7-3-2019 14:00,8108421.454,0.037939264,0.037939264,0.00006 -7-3-2019 15:00,8109502.638,0.027300664,0.027300664,0.00006 -7-3-2019 16:00,8110584.186,0.056583203,0.056583203,0.00006 -7-3-2019 17:00,8111666.1,0.152856755,0.152856755,0.00006 -7-3-2019 18:00,8112748.378,0.253994911,0.253994911,0.00006 -7-3-2019 19:00,8113831.02,0.274436301,0.274436301,0.00006 -7-3-2019 20:00,8114914.025,0.229653246,0.229653246,0.00006 -7-3-2019 21:00,8115997.393,0.14879235,0.14879235,0.00006 -7-3-2019 22:00,8117081.124,0.071808392,0.071808392,0.00006 -7-3-2019 23:00,8118165.215,0.032567249,0.032567249,0.00006 -8-3-2019 0:00,8119249.668,0.012873639,0.012873639,0.00006 -8-3-2019 1:00,8120334.482,0.003534594,0.003534594,0.00006 -8-3-2019 2:00,8121419.655,0.001820542,0.001820542,0.00006 -8-3-2019 3:00,8122505.188,0.00258666,0.00258666,0.00006 -8-3-2019 4:00,8123591.079,0.009522372,0.009522372,0.00006 -8-3-2019 5:00,8124677.329,0.075613298,0.075613298,0.00006 -8-3-2019 6:00,8125763.937,0.162230526,0.162230526,0.00006 -8-3-2019 7:00,8126850.901,0.127679456,0.127679456,0.00006 -8-3-2019 8:00,8127938.223,0.114956994,0.114956994,0.00006 -8-3-2019 9:00,8129025.9,0.137011947,0.137011947,0.00006 -8-3-2019 10:00,8130113.933,0.155205059,0.155205059,0.00006 -8-3-2019 11:00,8131202.32,0.220770099,0.220770099,0.00006 -8-3-2019 12:00,8132291.062,0.158836254,0.158836254,0.00006 -8-3-2019 13:00,8133380.158,0.088307787,0.088307787,0.00006 -8-3-2019 14:00,8134469.607,0.041876677,0.041876677,0.00006 -8-3-2019 15:00,8135559.409,0.030294839,0.030294839,0.00006 -8-3-2019 16:00,8136649.563,0.084695393,0.084695393,0.00006 -8-3-2019 17:00,8137740.069,0.23838136,0.23838136,0.00006 -8-3-2019 18:00,8138830.925,0.303539417,0.303539417,0.00006 -8-3-2019 19:00,8139922.132,0.281026012,0.281026012,0.00006 -8-3-2019 20:00,8141013.689,0.234302357,0.234302357,0.00006 -8-3-2019 21:00,8142105.595,0.153338712,0.153338712,0.00006 -8-3-2019 22:00,8143197.85,0.074086754,0.074086754,0.00006 -8-3-2019 23:00,8144290.453,0.033206889,0.033206889,0.00006 -9-3-2019 0:00,8145383.403,0.013027115,0.013027115,0.00006 -9-3-2019 1:00,8146476.701,0.003688338,0.003688338,0.00006 -9-3-2019 2:00,8147570.345,0.001896652,0.001896652,0.00006 -9-3-2019 3:00,8148664.335,0.00261953,0.00261953,0.00006 -9-3-2019 4:00,8149758.671,0.009584653,0.009584653,0.00006 -9-3-2019 5:00,8150853.351,0.075543322,0.075543322,0.00006 -9-3-2019 6:00,8151948.376,0.160285132,0.160285132,0.00006 -9-3-2019 7:00,8153043.744,0.124841997,0.124841997,0.00006 -9-3-2019 8:00,8154139.456,0.136663226,0.136663226,0.00006 -9-3-2019 9:00,8155235.51,0.165491326,0.165491326,0.00006 -9-3-2019 10:00,8156331.905,0.190600809,0.190600809,0.00006 -9-3-2019 11:00,8157428.643,0.262075167,0.262075167,0.00006 -9-3-2019 12:00,8158525.721,0.218818978,0.218818978,0.00006 -9-3-2019 13:00,8159623.14,0.119946464,0.119946464,0.00006 -9-3-2019 14:00,8160720.898,0.056421992,0.056421992,0.00006 -9-3-2019 15:00,8161818.995,0.027960817,0.027960817,0.00006 -9-3-2019 16:00,8162917.431,0.045255195,0.045255195,0.00006 -9-3-2019 17:00,8164016.206,0.143607008,0.143607008,0.00006 -9-3-2019 18:00,8165115.317,0.276755276,0.276755276,0.00006 -9-3-2019 19:00,8166214.766,0.280075736,0.280075736,0.00006 -9-3-2019 20:00,8167314.55,0.228453356,0.228453356,0.00006 -9-3-2019 21:00,8168414.671,0.148666414,0.148666414,0.00006 -9-3-2019 22:00,8169515.127,0.072085244,0.072085244,0.00006 -9-3-2019 23:00,8170615.917,0.032240236,0.032240236,0.00006 -10-3-2019 0:00,8171717.042,0.012951641,0.012951641,0.00006 -10-3-2019 1:00,8172818.5,0.003629955,0.003629955,0.00006 -10-3-2019 2:00,8173920.291,0.001885366,0.001885366,0.00006 -10-3-2019 3:00,8175022.415,0.002689858,0.002689858,0.00006 -10-3-2019 4:00,8176124.87,0.010166781,0.010166781,0.00006 -10-3-2019 5:00,8177227.656,0.080619523,0.080619523,0.00006 -10-3-2019 6:00,8178330.773,0.176857749,0.176857749,0.00006 -10-3-2019 7:00,8179434.221,0.135692818,0.135692818,0.00006 -10-3-2019 8:00,8180537.998,0.147870109,0.147870109,0.00006 -10-3-2019 9:00,8181642.103,0.182356251,0.182356251,0.00006 -10-3-2019 10:00,8182746.538,0.216421579,0.216421579,0.00006 -10-3-2019 11:00,8183851.3,0.295412926,0.295412926,0.00006 -10-3-2019 12:00,8184956.389,0.249440637,0.249440637,0.00006 -10-3-2019 13:00,8186061.805,0.138346021,0.138346021,0.00006 -10-3-2019 14:00,8187167.547,0.067723585,0.067723585,0.00006 -10-3-2019 15:00,8188273.615,0.04286788,0.04286788,0.00006 -10-3-2019 16:00,8189380.008,0.173836434,0.173836434,0.00006 -10-3-2019 17:00,8190486.725,0.364126679,0.364126679,0.00006 -10-3-2019 18:00,8191593.766,0.353692626,0.353692626,0.00006 -10-3-2019 19:00,8192701.13,0.321338786,0.321338786,0.00006 -10-3-2019 20:00,8193808.817,0.263339302,0.263339302,0.00006 -10-3-2019 21:00,8194916.826,0.172111178,0.172111178,0.00006 -10-3-2019 22:00,8196025.157,0.083337589,0.083337589,0.00006 -10-3-2019 23:00,8197133.809,0.036762712,0.036762712,0.00006 -11-3-2019 0:00,8198242.781,0.014786389,0.014786389,0.00006 -11-3-2019 1:00,8199352.073,0.004783809,0.004783809,0.00006 -11-3-2019 2:00,8200461.684,0.00262209,0.00262209,0.00006 -11-3-2019 3:00,8201571.614,0.00370149,0.00370149,0.00006 -11-3-2019 4:00,8202681.863,0.017943838,0.017943838,0.00006 -11-3-2019 5:00,8203792.429,0.111300823,0.111300823,0.00006 -11-3-2019 6:00,8204903.311,0.235969817,0.235969817,0.00006 -11-3-2019 7:00,8206014.511,0.177038343,0.177038343,0.00006 -11-3-2019 8:00,8207126.026,0.178590769,0.178590769,0.00006 -11-3-2019 9:00,8208237.856,0.207951087,0.207951087,0.00006 -11-3-2019 10:00,8209350.001,0.239943182,0.239943182,0.00006 -11-3-2019 11:00,8210462.461,0.330468543,0.330468543,0.00006 -11-3-2019 12:00,8211575.234,0.285905893,0.285905893,0.00006 -11-3-2019 13:00,8212688.32,0.147988508,0.147988508,0.00006 -11-3-2019 14:00,8213801.718,0.071774159,0.071774159,0.00006 -11-3-2019 15:00,8214915.428,0.043936887,0.043936887,0.00006 -11-3-2019 16:00,8216029.45,0.14972285,0.14972285,0.00006 -11-3-2019 17:00,8217143.782,0.352522812,0.352522812,0.00006 -11-3-2019 18:00,8218258.425,0.35311038,0.35311038,0.00006 -11-3-2019 19:00,8219373.376,0.331541461,0.331541461,0.00006 -11-3-2019 20:00,8220488.637,0.283477285,0.283477285,0.00006 -11-3-2019 21:00,8221604.207,0.190925272,0.190925272,0.00006 -11-3-2019 22:00,8222720.084,0.092106909,0.092106909,0.00006 -11-3-2019 23:00,8223836.269,0.039648119,0.039648119,0.00006 -12-3-2019 0:00,8224952.76,0.0160015,0.0160015,0.00006 -12-3-2019 1:00,8226069.557,0.005328745,0.005328745,0.00006 -12-3-2019 2:00,8227186.66,0.003039507,0.003039507,0.00006 -12-3-2019 3:00,8228304.068,0.004500911,0.004500911,0.00006 -12-3-2019 4:00,8229421.78,0.022060884,0.022060884,0.00006 -12-3-2019 5:00,8230539.796,0.124908153,0.124908153,0.00006 -12-3-2019 6:00,8231658.116,0.258581187,0.258581187,0.00006 -12-3-2019 7:00,8232776.738,0.19393956,0.19393956,0.00006 -12-3-2019 8:00,8233895.662,0.188406677,0.188406677,0.00006 -12-3-2019 9:00,8235014.888,0.213262076,0.213262076,0.00006 -12-3-2019 10:00,8236134.414,0.241610849,0.241610849,0.00006 -12-3-2019 11:00,8237254.241,0.336979109,0.336979109,0.00006 -12-3-2019 12:00,8238374.368,0.285924749,0.285924749,0.00006 -12-3-2019 13:00,8239494.794,0.15255092,0.15255092,0.00006 -12-3-2019 14:00,8240615.519,0.072889146,0.072889146,0.00006 -12-3-2019 15:00,8241736.541,0.043661825,0.043661825,0.00006 -12-3-2019 16:00,8242857.862,0.144439729,0.144439729,0.00006 -12-3-2019 17:00,8243979.479,0.345301682,0.345301682,0.00006 -12-3-2019 18:00,8245101.392,0.349849247,0.349849247,0.00006 -12-3-2019 19:00,8246223.602,0.342238856,0.342238856,0.00006 -12-3-2019 20:00,8247346.106,0.290214033,0.290214033,0.00006 -12-3-2019 21:00,8248468.905,0.188885977,0.188885977,0.00006 -12-3-2019 22:00,8249591.998,0.088458844,0.088458844,0.00006 -12-3-2019 23:00,8250715.385,0.038311257,0.038311257,0.00006 -13-03-2019 0:00,8251839.064,0.01540176,0.01540176,0.00006 -13-03-2019 1:00,8252963.036,0.005167191,0.005167191,0.00006 -13-03-2019 2:00,8254087.299,0.002923753,0.002923753,0.00006 -13-03-2019 3:00,8255211.854,0.004219782,0.004219782,0.00006 -13-03-2019 4:00,8256336.699,0.020621098,0.020621098,0.00006 -13-03-2019 5:00,8257461.834,0.117857721,0.117857721,0.00006 -13-03-2019 6:00,8258587.259,0.246640842,0.246640842,0.00006 -13-03-2019 7:00,8259712.972,0.184733895,0.184733895,0.00006 -13-03-2019 8:00,8260838.973,0.181222742,0.181222742,0.00006 -13-03-2019 9:00,8261965.263,0.209959447,0.209959447,0.00006 -13-03-2019 10:00,8263091.839,0.243519732,0.243519732,0.00006 -13-03-2019 11:00,8264218.702,0.346961331,0.346961331,0.00006 -13-03-2019 12:00,8265345.851,0.294933836,0.294933836,0.00006 -13-03-2019 13:00,8266473.285,0.156692029,0.156692029,0.00006 -13-03-2019 14:00,8267601.004,0.07461202,0.07461202,0.00006 -13-03-2019 15:00,8268729.007,0.04421396,0.04421396,0.00006 -13-03-2019 16:00,8269857.293,0.145993972,0.145993972,0.00006 -13-03-2019 17:00,8270985.863,0.35083972,0.35083972,0.00006 -13-03-2019 18:00,8272114.715,0.349296466,0.349296466,0.00006 -13-03-2019 19:00,8273243.849,0.326837532,0.326837532,0.00006 -13-03-2019 20:00,8274373.264,0.277537939,0.277537939,0.00006 -13-03-2019 21:00,8275502.96,0.179930985,0.179930985,0.00006 -13-03-2019 22:00,8276632.936,0.084969641,0.084969641,0.00006 -13-03-2019 23:00,8277763.192,0.036724301,0.036724301,0.00006 -14-03-2019 0:00,8278893.727,0.01472875,0.01472875,0.00006 -14-03-2019 1:00,8280024.54,0.004792133,0.004792133,0.00006 -14-03-2019 2:00,8281155.631,0.002642651,0.002642651,0.00006 -14-03-2019 3:00,8282286.999,0.003819753,0.003819753,0.00006 -14-03-2019 4:00,8283418.643,0.018085962,0.018085962,0.00006 -14-03-2019 5:00,8284550.564,0.107548191,0.107548191,0.00006 -14-03-2019 6:00,8285682.76,0.231022174,0.231022174,0.00006 -14-03-2019 7:00,8286815.231,0.171752637,0.171752637,0.00006 -14-03-2019 8:00,8287947.976,0.170906965,0.170906965,0.00006 -14-03-2019 9:00,8289080.995,0.201329805,0.201329805,0.00006 -14-03-2019 10:00,8290214.288,0.231601157,0.231601157,0.00006 -14-03-2019 11:00,8291347.852,0.317950522,0.317950522,0.00006 -14-03-2019 12:00,8292481.689,0.268279637,0.268279637,0.00006 -14-03-2019 13:00,8293615.797,0.143603254,0.143603254,0.00006 -14-03-2019 14:00,8294750.176,0.067438254,0.067438254,0.00006 -14-03-2019 15:00,8295884.825,0.041036496,0.041036496,0.00006 -14-03-2019 16:00,8297019.744,0.122946193,0.122946193,0.00006 -14-03-2019 17:00,8298154.932,0.325979624,0.325979624,0.00006 -14-03-2019 18:00,8299290.388,0.341566608,0.341566608,0.00006 -14-03-2019 19:00,8300426.112,0.313535323,0.313535323,0.00006 -14-03-2019 20:00,8301562.104,0.263990075,0.263990075,0.00006 -14-03-2019 21:00,8302698.362,0.173826563,0.173826563,0.00006 -14-03-2019 22:00,8303834.886,0.082410956,0.082410956,0.00006 -14-03-2019 23:00,8304971.676,0.035987286,0.035987286,0.00006 -15-03-2019 0:00,8306108.731,0.014303567,0.014303567,0.00006 -15-03-2019 1:00,8307246.05,0.004541456,0.004541456,0.00006 -15-03-2019 2:00,8308383.633,0.002467059,0.002467059,0.00006 -15-03-2019 3:00,8309521.479,0.00354165,0.00354165,0.00006 -15-03-2019 4:00,8310659.588,0.015928682,0.015928682,0.00006 -15-03-2019 5:00,8311797.959,0.099163019,0.099163019,0.00006 -15-03-2019 6:00,8312936.591,0.214812696,0.214812696,0.00006 -15-03-2019 7:00,8314075.484,0.156873641,0.156873641,0.00006 -15-03-2019 8:00,8315214.638,0.15472238,0.15472238,0.00006 -15-03-2019 9:00,8316354.051,0.180497304,0.180497304,0.00006 -15-03-2019 10:00,8317493.723,0.205317146,0.205317146,0.00006 -15-03-2019 11:00,8318633.654,0.274088362,0.274088362,0.00006 -15-03-2019 12:00,8319773.843,0.232283877,0.232283877,0.00006 -15-03-2019 13:00,8320914.289,0.125037088,0.125037088,0.00006 -15-03-2019 14:00,8322054.991,0.057213782,0.057213782,0.00006 -15-03-2019 15:00,8323195.95,0.035552789,0.035552789,0.00006 -15-03-2019 16:00,8324337.165,0.085148679,0.085148679,0.00006 -15-03-2019 17:00,8325478.635,0.255023189,0.255023189,0.00006 -15-03-2019 18:00,8326620.359,0.319719154,0.319719154,0.00006 -15-03-2019 19:00,8327762.336,0.29768171,0.29768171,0.00006 -15-03-2019 20:00,8328904.567,0.24886347,0.24886347,0.00006 -15-03-2019 21:00,8330047.051,0.164470343,0.164470343,0.00006 -15-03-2019 22:00,8331189.787,0.078089753,0.078089753,0.00006 -15-03-2019 23:00,8332332.774,0.033607186,0.033607186,0.00006 -16-03-2019 0:00,8333476.012,0.013638841,0.013638841,0.00006 -16-03-2019 1:00,8334619.5,0.003919034,0.003919034,0.00006 -16-03-2019 2:00,8335763.239,0.002125696,0.002125696,0.00006 -16-03-2019 3:00,8336907.226,0.002830366,0.002830366,0.00006 -16-03-2019 4:00,8338051.462,0.012747541,0.012747541,0.00006 -16-03-2019 5:00,8339195.945,0.086463633,0.086463633,0.00006 -16-03-2019 6:00,8340340.676,0.182390866,0.182390866,0.00006 -16-03-2019 7:00,8341485.654,0.133668763,0.133668763,0.00006 -16-03-2019 8:00,8342630.878,0.138570707,0.138570707,0.00006 -16-03-2019 9:00,8343776.348,0.165867391,0.165867391,0.00006 -16-03-2019 10:00,8344922.062,0.190913999,0.190913999,0.00006 -16-03-2019 11:00,8346068.021,0.260556114,0.260556114,0.00006 -16-03-2019 12:00,8347214.224,0.216961467,0.216961467,0.00006 -16-03-2019 13:00,8348360.67,0.11729732,0.11729732,0.00006 -16-03-2019 14:00,8349507.359,0.053141462,0.053141462,0.00006 -16-03-2019 15:00,8350654.289,0.033406447,0.033406447,0.00006 -16-03-2019 16:00,8351801.462,0.069067373,0.069067373,0.00006 -16-03-2019 17:00,8352948.875,0.213689405,0.213689405,0.00006 -16-03-2019 18:00,8354096.528,0.295104126,0.295104126,0.00006 -16-03-2019 19:00,8355244.421,0.272220927,0.272220927,0.00006 -16-03-2019 20:00,8356392.553,0.224619601,0.224619601,0.00006 -16-03-2019 21:00,8357540.924,0.146237411,0.146237411,0.00006 -16-03-2019 22:00,8358689.532,0.072104664,0.072104664,0.00006 -16-03-2019 23:00,8359838.378,0.030457562,0.030457562,0.00006 -17-03-2019 0:00,8360987.461,0.012558077,0.012558077,0.00006 -17-03-2019 1:00,8362136.78,0.003457018,0.003457018,0.00006 -17-03-2019 2:00,8363286.334,0.001731756,0.001731756,0.00006 -17-03-2019 3:00,8364436.123,0.002500653,0.002500653,0.00006 -17-03-2019 4:00,8365586.147,0.010277346,0.010277346,0.00006 -17-03-2019 5:00,8366736.404,0.075174102,0.075174102,0.00006 -17-03-2019 6:00,8367886.895,0.158350488,0.158350488,0.00006 -17-03-2019 7:00,8369037.618,0.120758978,0.120758978,0.00006 -17-03-2019 8:00,8370188.573,0.131937152,0.131937152,0.00006 -17-03-2019 9:00,8371339.76,0.156369271,0.156369271,0.00006 -17-03-2019 10:00,8372491.177,0.178712125,0.178712125,0.00006 -17-03-2019 11:00,8373642.825,0.231744847,0.231744847,0.00006 -17-03-2019 12:00,8374794.702,0.193727177,0.193727177,0.00006 -17-03-2019 13:00,8375946.808,0.094849226,0.094849226,0.00006 -17-03-2019 14:00,8377099.143,0.036870357,0.036870357,0.00006 -17-03-2019 15:00,8378251.706,0.023260241,0.023260241,0.00006 -17-03-2019 16:00,8379404.496,0.043644202,0.043644202,0.00006 -17-03-2019 17:00,8380557.512,0.11507907,0.11507907,0.00006 -17-03-2019 18:00,8381710.755,0.228708388,0.228708388,0.00006 -17-03-2019 19:00,8382864.223,0.302870335,0.302870335,0.00006 -17-03-2019 20:00,8384017.916,0.251354654,0.251354654,0.00006 -17-03-2019 21:00,8385171.833,0.164349507,0.164349507,0.00006 -17-03-2019 22:00,8386325.974,0.078679435,0.078679435,0.00006 -17-03-2019 23:00,8387480.338,0.035908242,0.035908242,0.00006 -18-03-2019 0:00,8388634.925,0.014201929,0.014201929,0.00006 -18-03-2019 1:00,8389789.733,0.004206634,0.004206634,0.00006 -18-03-2019 2:00,8390944.763,0.002466874,0.002466874,0.00006 -18-03-2019 3:00,8392100.014,0.003316256,0.003316256,0.00006 -18-03-2019 4:00,8393255.485,0.013620148,0.013620148,0.00006 -18-03-2019 5:00,8394411.175,0.103417867,0.103417867,0.00006 -18-03-2019 6:00,8395567.084,0.205323515,0.205323515,0.00006 -18-03-2019 7:00,8396723.212,0.128283259,0.128283259,0.00006 -18-03-2019 8:00,8397879.557,0.130666573,0.130666573,0.00006 -18-03-2019 9:00,8399036.119,0.161167669,0.161167669,0.00006 -18-03-2019 10:00,8400192.898,0.183751128,0.183751128,0.00006 -18-03-2019 11:00,8401349.894,0.264959971,0.264959971,0.00006 -18-03-2019 12:00,8402507.104,0.225810814,0.225810814,0.00006 -18-03-2019 13:00,8403664.529,0.104996379,0.104996379,0.00006 -18-03-2019 14:00,8404822.169,0.046242448,0.046242448,0.00006 -18-03-2019 15:00,8405980.022,0.030442814,0.030442814,0.00006 -18-03-2019 16:00,8407138.087,0.061705673,0.061705673,0.00006 -18-03-2019 17:00,8408296.366,0.207114571,0.207114571,0.00006 -18-03-2019 18:00,8409454.856,0.340112453,0.340112453,0.00006 -18-03-2019 19:00,8410613.557,0.323224294,0.323224294,0.00006 -18-03-2019 20:00,8411772.469,0.276577025,0.276577025,0.00006 -18-03-2019 21:00,8412931.591,0.186251607,0.186251607,0.00006 -18-03-2019 22:00,8414090.923,0.091658408,0.091658408,0.00006 -18-03-2019 23:00,8415250.463,0.042439292,0.042439292,0.00006 -19-03-2019 0:00,8416410.212,0.017405789,0.017405789,0.00006 -19-03-2019 1:00,8417570.168,0.005884741,0.005884741,0.00006 -19-03-2019 2:00,8418730.331,0.003593151,0.003593151,0.00006 -19-03-2019 3:00,8419890.701,0.006274113,0.006274113,0.00006 -19-03-2019 4:00,8421051.276,0.030926953,0.030926953,0.00006 -19-03-2019 5:00,8422212.057,0.167425203,0.167425203,0.00006 -19-03-2019 6:00,8423373.042,0.326692427,0.326692427,0.00006 -19-03-2019 7:00,8424534.231,0.244355239,0.244355239,0.00006 -19-03-2019 8:00,8425695.624,0.22891922,0.22891922,0.00006 -19-03-2019 9:00,8426857.22,0.23290336,0.23290336,0.00006 -19-03-2019 10:00,8428019.018,0.243930617,0.243930617,0.00006 -19-03-2019 11:00,8429181.017,0.304208831,0.304208831,0.00006 -19-03-2019 12:00,8430343.218,0.224692046,0.224692046,0.00006 -19-03-2019 13:00,8431505.619,0.115937862,0.115937862,0.00006 -19-03-2019 14:00,8432668.22,0.055061432,0.055061432,0.00006 -19-03-2019 15:00,8433831.02,0.03399994,0.03399994,0.00006 -19-03-2019 16:00,8434994.019,0.077050968,0.077050968,0.00006 -19-03-2019 17:00,8436157.216,0.23092697,0.23092697,0.00006 -19-03-2019 18:00,8437320.611,0.342819967,0.342819967,0.00006 -19-03-2019 19:00,8438484.202,0.328634225,0.328634225,0.00006 -19-03-2019 20:00,8439647.99,0.284159097,0.284159097,0.00006 -19-03-2019 21:00,8440811.973,0.190206847,0.190206847,0.00006 -19-03-2019 22:00,8441976.151,0.094598689,0.094598689,0.00006 -19-03-2019 23:00,8443140.524,0.041109885,0.041109885,0.00006 -20-03-2019 0:00,8444305.091,0.01550744,0.01550744,0.00006 -20-03-2019 1:00,8445469.851,0.005372541,0.005372541,0.00006 -20-03-2019 2:00,8446634.804,0.003040595,0.003040595,0.00006 -20-03-2019 3:00,8447799.948,0.004145923,0.004145923,0.00006 -20-03-2019 4:00,8448965.285,0.021442557,0.021442557,0.00006 -20-03-2019 5:00,8450130.812,0.122143681,0.122143681,0.00006 -20-03-2019 6:00,8451296.529,0.246817295,0.246817295,0.00006 -20-03-2019 7:00,8452462.436,0.17895921,0.17895921,0.00006 -20-03-2019 8:00,8453628.532,0.172187107,0.172187107,0.00006 -20-03-2019 9:00,8454794.817,0.194026081,0.194026081,0.00006 -20-03-2019 10:00,8455961.29,0.221584609,0.221584609,0.00006 -20-03-2019 11:00,8457127.949,0.306271265,0.306271265,0.00006 -20-03-2019 12:00,8458294.796,0.255626285,0.255626285,0.00006 -20-03-2019 13:00,8459461.828,0.136632578,0.136632578,0.00006 -20-03-2019 14:00,8460629.047,0.062342245,0.062342245,0.00006 -20-03-2019 15:00,8461796.449,0.037180747,0.037180747,0.00006 -20-03-2019 16:00,8462964.037,0.085813477,0.085813477,0.00006 -20-03-2019 17:00,8464131.808,0.2551518,0.2551518,0.00006 -20-03-2019 18:00,8465299.762,0.324657098,0.324657098,0.00006 -20-03-2019 19:00,8466467.898,0.301183883,0.301183883,0.00006 -20-03-2019 20:00,8467636.216,0.251705746,0.251705746,0.00006 -20-03-2019 21:00,8468804.716,0.174740627,0.174740627,0.00006 -20-03-2019 22:00,8469973.396,0.086381553,0.086381553,0.00006 -20-03-2019 23:00,8471142.257,0.037453741,0.037453741,0.00006 -21-03-2019 0:00,8472311.297,0.015442088,0.015442088,0.00006 -21-03-2019 1:00,8473480.515,0.005030544,0.005030544,0.00006 -21-03-2019 2:00,8474649.912,0.002823105,0.002823105,0.00006 -21-03-2019 3:00,8475819.487,0.003789758,0.003789758,0.00006 -21-03-2019 4:00,8476989.239,0.019673717,0.019673717,0.00006 -21-03-2019 5:00,8478159.167,0.114538674,0.114538674,0.00006 -21-03-2019 6:00,8479329.271,0.230352445,0.230352445,0.00006 -21-03-2019 7:00,8480499.55,0.163515944,0.163515944,0.00006 -21-03-2019 8:00,8481670.004,0.157593695,0.157593695,0.00006 -21-03-2019 9:00,8482840.632,0.181922929,0.181922929,0.00006 -21-03-2019 10:00,8484011.434,0.208488225,0.208488225,0.00006 -21-03-2019 11:00,8485182.408,0.284776736,0.284776736,0.00006 -21-03-2019 12:00,8486353.555,0.235951419,0.235951419,0.00006 -21-03-2019 13:00,8487524.873,0.126879869,0.126879869,0.00006 -21-03-2019 14:00,8488696.362,0.056970106,0.056970106,0.00006 -21-03-2019 15:00,8489868.022,0.034565544,0.034565544,0.00006 -21-03-2019 16:00,8491039.852,0.073211298,0.073211298,0.00006 -21-03-2019 17:00,8492211.85,0.231966209,0.231966209,0.00006 -21-03-2019 18:00,8493384.018,0.321026068,0.321026068,0.00006 -21-03-2019 19:00,8494556.353,0.303860441,0.303860441,0.00006 -21-03-2019 20:00,8495728.856,0.26312366,0.26312366,0.00006 -21-03-2019 21:00,8496901.526,0.17745762,0.17745762,0.00006 -21-03-2019 22:00,8498074.362,0.088522679,0.088522679,0.00006 -21-03-2019 23:00,8499247.363,0.038598898,0.038598898,0.00006 -22-03-2019 0:00,8500420.53,0.014974436,0.014974436,0.00006 -22-03-2019 1:00,8501593.861,0.00478203,0.00478203,0.00006 -22-03-2019 2:00,8502767.356,0.002704493,0.002704493,0.00006 -22-03-2019 3:00,8503941.014,0.003557053,0.003557053,0.00006 -22-03-2019 4:00,8505114.834,0.017650238,0.017650238,0.00006 -22-03-2019 5:00,8506288.817,0.109071617,0.109071617,0.00006 -22-03-2019 6:00,8507462.961,0.224776092,0.224776092,0.00006 -22-03-2019 7:00,8508637.266,0.168332799,0.168332799,0.00006 -22-03-2019 8:00,8509811.731,0.170869785,0.170869785,0.00006 -22-03-2019 9:00,8510986.355,0.194875116,0.194875116,0.00006 -22-03-2019 10:00,8512161.139,0.208628105,0.208628105,0.00006 -22-03-2019 11:00,8513336.081,0.273365873,0.273365873,0.00006 -22-03-2019 12:00,8514511.18,0.212945145,0.212945145,0.00006 -22-03-2019 13:00,8515686.437,0.07710616,0.07710616,0.00006 -22-03-2019 14:00,8516861.85,0.020107928,0.020107928,0.00006 -22-03-2019 15:00,8518037.42,0.018783729,0.018783729,0.00006 -22-03-2019 16:00,8519213.144,0.030731036,0.030731036,0.00006 -22-03-2019 17:00,8520389.024,0.060215846,0.060215846,0.00006 -22-03-2019 18:00,8521565.057,0.077664745,0.077664745,0.00006 -22-03-2019 19:00,8522741.244,0.10772876,0.10772876,0.00006 -22-03-2019 20:00,8523917.584,0.135783568,0.135783568,0.00006 -22-03-2019 21:00,8525094.077,0.132462385,0.132462385,0.00006 -22-03-2019 22:00,8526270.721,0.073909986,0.073909986,0.00006 -22-03-2019 23:00,8527447.516,0.033348993,0.033348993,0.00006 -23-03-2019 0:00,8528624.462,0.013110363,0.013110363,0.00006 -23-03-2019 1:00,8529801.557,0.00357972,0.00357972,0.00006 -23-03-2019 2:00,8530978.802,0.001852489,0.001852489,0.00006 -23-03-2019 3:00,8532156.196,0.00295811,0.00295811,0.00006 -23-03-2019 4:00,8533333.737,0.009714374,0.009714374,0.00006 -23-03-2019 5:00,8534511.426,0.077360234,0.077360234,0.00006 -23-03-2019 6:00,8535689.262,0.162338841,0.162338841,0.00006 -23-03-2019 7:00,8536867.245,0.117227737,0.117227737,0.00006 -23-03-2019 8:00,8538045.373,0.12679541,0.12679541,0.00006 -23-03-2019 9:00,8539223.645,0.15141052,0.15141052,0.00006 -23-03-2019 10:00,8540402.063,0.173271582,0.173271582,0.00006 -23-03-2019 11:00,8541580.624,0.235950177,0.235950177,0.00006 -23-03-2019 12:00,8542759.329,0.194427727,0.194427727,0.00006 -23-03-2019 13:00,8543938.176,0.106804075,0.106804075,0.00006 -23-03-2019 14:00,8545117.165,0.047254627,0.047254627,0.00006 -23-03-2019 15:00,8546296.295,0.029996496,0.029996496,0.00006 -23-03-2019 16:00,8547475.567,0.055809133,0.055809133,0.00006 -23-03-2019 17:00,8548654.978,0.189111006,0.189111006,0.00006 -23-03-2019 18:00,8549834.53,0.307711537,0.307711537,0.00006 -23-03-2019 19:00,8551014.22,0.301558809,0.301558809,0.00006 -23-03-2019 20:00,8552194.048,0.250517329,0.250517329,0.00006 -23-03-2019 21:00,8553374.015,0.164698468,0.164698468,0.00006 -23-03-2019 22:00,8554554.118,0.080271486,0.080271486,0.00006 -23-03-2019 23:00,8555734.358,0.038676259,0.038676259,0.00006 -24-03-2019 0:00,8556914.734,0.015519708,0.015519708,0.00006 -24-03-2019 1:00,8558095.246,0.005302702,0.005302702,0.00006 -24-03-2019 2:00,8559275.892,0.003041837,0.003041837,0.00006 -24-03-2019 3:00,8560456.672,0.004381874,0.004381874,0.00006 -24-03-2019 4:00,8561637.586,0.020952025,0.020952025,0.00006 -24-03-2019 5:00,8562818.632,0.137165802,0.137165802,0.00006 -24-03-2019 6:00,8563999.811,0.255278593,0.255278593,0.00006 -24-03-2019 7:00,8565181.122,0.173315953,0.173315953,0.00006 -24-03-2019 8:00,8566362.564,0.165349079,0.165349079,0.00006 -24-03-2019 9:00,8567544.136,0.187889241,0.187889241,0.00006 -24-03-2019 10:00,8568725.838,0.202766781,0.202766781,0.00006 -24-03-2019 11:00,8569907.669,0.275395326,0.275395326,0.00006 -24-03-2019 12:00,8571089.629,0.21505736,0.21505736,0.00006 -24-03-2019 13:00,8572271.718,0.088216036,0.088216036,0.00006 -24-03-2019 14:00,8573453.933,0.024562607,0.024562607,0.00006 -24-03-2019 15:00,8574636.276,0.018783729,0.018783729,0.00006 -24-03-2019 16:00,8575818.744,0.033298772,0.033298772,0.00006 -24-03-2019 17:00,8577001.338,0.072339739,0.072339739,0.00006 -24-03-2019 18:00,8578184.058,0.106624646,0.106624646,0.00006 -24-03-2019 19:00,8579366.901,0.168298827,0.168298827,0.00006 -24-03-2019 20:00,8580549.869,0.223258954,0.223258954,0.00006 -24-03-2019 21:00,8581732.96,0.169191512,0.169191512,0.00006 -24-03-2019 22:00,8582916.173,0.081129402,0.081129402,0.00006 -24-03-2019 23:00,8584099.508,0.036448853,0.036448853,0.00006 -25-03-2019 0:00,8585282.965,0.013909407,0.013909407,0.00006 -25-03-2019 1:00,8586466.542,0.004455737,0.004455737,0.00006 -25-03-2019 2:00,8587650.239,0.002301666,0.002301666,0.00006 -25-03-2019 3:00,8588834.056,0.00341373,0.00341373,0.00006 -25-03-2019 4:00,8590017.992,0.013488188,0.013488188,0.00006 -25-03-2019 5:00,8591202.046,0.099365245,0.099365245,0.00006 -25-03-2019 6:00,8592386.218,0.204621233,0.204621233,0.00006 -25-03-2019 7:00,8593570.507,0.127076361,0.127076361,0.00006 -25-03-2019 8:00,8594754.913,0.117682596,0.117682596,0.00006 -25-03-2019 9:00,8595939.434,0.137116954,0.137116954,0.00006 -25-03-2019 10:00,8597124.071,0.162281923,0.162281923,0.00006 -25-03-2019 11:00,8598308.822,0.2377329,0.2377329,0.00006 -25-03-2019 12:00,8599493.688,0.191229513,0.191229513,0.00006 -25-03-2019 13:00,8600678.667,0.107873366,0.107873366,0.00006 -25-03-2019 14:00,8601863.758,0.048729514,0.048729514,0.00006 -25-03-2019 15:00,8603048.962,0.031591814,0.031591814,0.00006 -25-03-2019 16:00,8604234.278,0.073486634,0.073486634,0.00006 -25-03-2019 17:00,8605419.704,0.244867718,0.244867718,0.00006 -25-03-2019 18:00,8606605.241,0.332601556,0.332601556,0.00006 -25-03-2019 19:00,8607790.888,0.308483576,0.308483576,0.00006 -25-03-2019 20:00,8608976.644,0.253043052,0.253043052,0.00006 -25-03-2019 21:00,8610162.508,0.163954027,0.163954027,0.00006 -25-03-2019 22:00,8611348.48,0.078552232,0.078552232,0.00006 -25-03-2019 23:00,8612534.56,0.035793265,0.035793265,0.00006 -26-03-2019 0:00,8613720.747,0.014125667,0.014125667,0.00006 -26-03-2019 1:00,8614907.039,0.004338265,0.004338265,0.00006 -26-03-2019 2:00,8616093.437,0.002601805,0.002601805,0.00006 -26-03-2019 3:00,8617279.94,0.003592047,0.003592047,0.00006 -26-03-2019 4:00,8618466.548,0.014783016,0.014783016,0.00006 -26-03-2019 5:00,8619653.259,0.109520553,0.109520553,0.00006 -26-03-2019 6:00,8620840.073,0.21942945,0.21942945,0.00006 -26-03-2019 7:00,8622026.989,0.153463837,0.153463837,0.00006 -26-03-2019 8:00,8623214.007,0.152125817,0.152125817,0.00006 -26-03-2019 9:00,8624401.127,0.177070613,0.177070613,0.00006 -26-03-2019 10:00,8625588.347,0.204187961,0.204187961,0.00006 -26-03-2019 11:00,8626775.667,0.282705006,0.282705006,0.00006 -26-03-2019 12:00,8627963.087,0.232960913,0.232960913,0.00006 -26-03-2019 13:00,8629150.605,0.126870198,0.126870198,0.00006 -26-03-2019 14:00,8630338.222,0.05699342,0.05699342,0.00006 -26-03-2019 15:00,8631525.936,0.034377121,0.034377121,0.00006 -26-03-2019 16:00,8632713.747,0.071241902,0.071241902,0.00006 -26-03-2019 17:00,8633901.655,0.235811974,0.235811974,0.00006 -26-03-2019 18:00,8635089.658,0.334634505,0.334634505,0.00006 -26-03-2019 19:00,8636277.756,0.309584008,0.309584008,0.00006 -26-03-2019 20:00,8637465.949,0.253882135,0.253882135,0.00006 -26-03-2019 21:00,8638654.236,0.166147956,0.166147956,0.00006 -26-03-2019 22:00,8639842.616,0.080223641,0.080223641,0.00006 -26-03-2019 23:00,8641031.089,0.036022022,0.036022022,0.00006 -27-03-2019 0:00,8642219.654,0.014380399,0.014380399,0.00006 -27-03-2019 1:00,8643408.31,0.004719891,0.004719891,0.00006 -27-03-2019 2:00,8644597.057,0.002575447,0.002575447,0.00006 -27-03-2019 3:00,8645785.895,0.003364102,0.003364102,0.00006 -27-03-2019 4:00,8646974.822,0.014908643,0.014908643,0.00006 -27-03-2019 5:00,8648163.838,0.102423319,0.102423319,0.00006 -27-03-2019 6:00,8649352.942,0.108815927,0.108815927,0.00006 -27-03-2019 7:00,8650542.134,0.081678009,0.081678009,0.00006 -27-03-2019 8:00,8651731.414,0.09806351,0.09806351,0.00006 -27-03-2019 9:00,8652920.78,0.097694767,0.097694767,0.00006 -27-03-2019 10:00,8654110.232,0.107054819,0.107054819,0.00006 -27-03-2019 11:00,8655299.769,0.153490337,0.153490337,0.00006 -27-03-2019 12:00,8656489.391,0.121808513,0.121808513,0.00006 -27-03-2019 13:00,8657679.097,0.065822253,0.065822253,0.00006 -27-03-2019 14:00,8658868.887,0.030515104,0.030515104,0.00006 -27-03-2019 15:00,8660058.759,0.023538171,0.023538171,0.00006 -27-03-2019 16:00,8661248.714,0.033022666,0.033022666,0.00006 -27-03-2019 17:00,8662438.75,0.087323809,0.087323809,0.00006 -27-03-2019 18:00,8663628.868,0.179858535,0.179858535,0.00006 -27-03-2019 19:00,8664819.066,0.26270375,0.26270375,0.00006 -27-03-2019 20:00,8666009.344,0.235582802,0.235582802,0.00006 -27-03-2019 21:00,8667199.701,0.155059901,0.155059901,0.00006 -27-03-2019 22:00,8668390.136,0.074476446,0.074476446,0.00006 -27-03-2019 23:00,8669580.65,0.03355591,0.03355591,0.00006 -28-03-2019 0:00,8670771.241,0.013192388,0.013192388,0.00006 -28-03-2019 1:00,8671961.909,0.00360852,0.00360852,0.00006 -28-03-2019 2:00,8673152.653,0.00182501,0.00182501,0.00006 -28-03-2019 3:00,8674343.472,0.002874869,0.002874869,0.00006 -28-03-2019 4:00,8675534.367,0.010443192,0.010443192,0.00006 -28-03-2019 5:00,8676725.335,0.081839613,0.081839613,0.00006 -28-03-2019 6:00,8677916.378,0.113019343,0.113019343,0.00006 -28-03-2019 7:00,8679107.493,0.098477577,0.098477577,0.00006 -28-03-2019 8:00,8680298.682,0.11221326,0.11221326,0.00006 -28-03-2019 9:00,8681489.941,0.128287985,0.128287985,0.00006 -28-03-2019 10:00,8682681.273,0.147754167,0.147754167,0.00006 -28-03-2019 11:00,8683872.674,0.210562991,0.210562991,0.00006 -28-03-2019 12:00,8685064.146,0.169334296,0.169334296,0.00006 -28-03-2019 13:00,8686255.688,0.090664806,0.090664806,0.00006 -28-03-2019 14:00,8687447.298,0.039578789,0.039578789,0.00006 -28-03-2019 15:00,8688638.976,0.026135177,0.026135177,0.00006 -28-03-2019 16:00,8689830.722,0.033395493,0.033395493,0.00006 -28-03-2019 17:00,8691022.535,0.081298574,0.081298574,0.00006 -28-03-2019 18:00,8692214.414,0.171976176,0.171976176,0.00006 -28-03-2019 19:00,8693406.359,0.262477858,0.262477858,0.00006 -28-03-2019 20:00,8694598.369,0.236840772,0.236840772,0.00006 -28-03-2019 21:00,8695790.443,0.161980453,0.161980453,0.00006 -28-03-2019 22:00,8696982.582,0.079860983,0.079860983,0.00006 -28-03-2019 23:00,8698174.784,0.037200353,0.037200353,0.00006 -29-03-2019 0:00,8699367.048,0.014735244,0.014735244,0.00006 -29-03-2019 1:00,8700559.374,0.004604816,0.004604816,0.00006 -29-03-2019 2:00,8701751.762,0.002499711,0.002499711,0.00006 -29-03-2019 3:00,8702944.211,0.003860542,0.003860542,0.00006 -29-03-2019 4:00,8704136.72,0.016846679,0.016846679,0.00006 -29-03-2019 5:00,8705329.289,0.116966576,0.116966576,0.00006 -29-03-2019 6:00,8706521.916,0.11513045,0.11513045,0.00006 -29-03-2019 7:00,8707714.602,0.075541139,0.075541139,0.00006 -29-03-2019 8:00,8708907.346,0.0722342,0.0722342,0.00006 -29-03-2019 9:00,8710100.147,0.048459118,0.048459118,0.00006 -29-03-2019 10:00,8711293.004,0.039606989,0.039606989,0.00006 -29-03-2019 11:00,8712485.918,0.037537403,0.037537403,0.00006 -29-03-2019 12:00,8713678.886,0.026565329,0.026565329,0.00006 -29-03-2019 13:00,8714871.91,0.023193057,0.023193057,0.00006 -29-03-2019 14:00,8716064.987,0.016696648,0.016696648,0.00006 -29-03-2019 15:00,8717258.118,0.018783729,0.018783729,0.00006 -29-03-2019 16:00,8718451.302,0.030610522,0.030610522,0.00006 -29-03-2019 17:00,8719644.538,0.054397703,0.054397703,0.00006 -29-03-2019 18:00,8720837.825,0.056615981,0.056615981,0.00006 -29-03-2019 19:00,8722031.164,0.051798454,0.051798454,0.00006 -29-03-2019 20:00,8723224.553,0.04271486,0.04271486,0.00006 -29-03-2019 21:00,8724417.992,0.032410483,0.032410483,0.00006 -29-03-2019 22:00,8725611.48,0.018822079,0.018822079,0.00006 -29-03-2019 23:00,8726805.016,0.009766712,0.009766712,0.00006 -30-03-2019 0:00,8727998.601,0.005231921,0.005231921,0.00006 -30-03-2019 1:00,8729192.233,0.001918394,0.001918394,0.00006 -30-03-2019 2:00,8730385.911,0.001883963,0.001883963,0.00006 -30-03-2019 3:00,8731579.636,0.002253515,0.002253515,0.00006 -30-03-2019 4:00,8732773.406,0.007581048,0.007581048,0.00006 -30-03-2019 5:00,8733967.221,0.054335067,0.054335067,0.00006 -30-03-2019 6:00,8735161.081,0.074436878,0.074436878,0.00006 -30-03-2019 7:00,8736354.984,0.057819107,0.057819107,0.00006 -30-03-2019 8:00,8737548.929,0.062404305,0.062404305,0.00006 -30-03-2019 9:00,8738742.918,0.045198749,0.045198749,0.00006 -30-03-2019 10:00,8739936.948,0.04081804,0.04081804,0.00006 -30-03-2019 11:00,8741131.019,0.039821197,0.039821197,0.00006 -30-03-2019 12:00,8742325.131,0.026927869,0.026927869,0.00006 -30-03-2019 13:00,8743519.283,0.023954161,0.023954161,0.00006 -30-03-2019 14:00,8744713.475,0.016731818,0.016731818,0.00006 -30-03-2019 15:00,8745907.705,0.018793231,0.018793231,0.00006 -30-03-2019 16:00,8747101.973,0.030610522,0.030610522,0.00006 -30-03-2019 17:00,8748296.278,0.055801544,0.055801544,0.00006 -30-03-2019 18:00,8749490.621,0.058201513,0.058201513,0.00006 -30-03-2019 19:00,8750685,0.054175664,0.054175664,0.00006 -30-03-2019 20:00,8751879.414,0.053907683,0.053907683,0.00006 -30-03-2019 21:00,8753073.864,0.048169571,0.048169571,0.00006 -30-03-2019 22:00,8754268.347,0.025518402,0.025518402,0.00006 -30-03-2019 23:00,8755462.865,0.010980848,0.010980848,0.00006 -31-03-2019 0:00,8756657.416,0.005389565,0.005389565,0.00006 -31-03-2019 1:00,8757852,0.000926475,0.000926475,0.00006 -31-03-2019 2:00,8759046.615,0.000987927,0.000987927,0.00006 -31-03-2019 3:00,8760241.262,0.002331039,0.002331039,0.00006 -31-03-2019 4:00,8761435.94,0.011714547,0.011714547,0.00006 -31-03-2019 5:00,8762630.647,0.071853474,0.071853474,0.00006 -31-03-2019 6:00,8763825.385,0.098316162,0.098316162,0.00006 -31-03-2019 7:00,8765020.151,0.08469725,0.08469725,0.00006 -31-03-2019 8:00,8766214.945,0.100146753,0.100146753,0.00006 -31-03-2019 9:00,8767409.767,0.083917743,0.083917743,0.00006 -31-03-2019 10:00,8768604.616,0.073958115,0.073958115,0.00006 -31-03-2019 11:00,8769799.492,0.060979869,0.060979869,0.00006 -31-03-2019 12:00,8770994.393,0.038879297,0.038879297,0.00006 -31-03-2019 13:00,8772189.32,0.022413538,0.022413538,0.00006 -31-03-2019 14:00,8773384.271,0.016696648,0.016696648,0.00006 -31-03-2019 15:00,8774579.246,0.018783729,0.018783729,0.00006 -31-03-2019 16:00,8775774.245,0.030610522,0.030610522,0.00006 -31-03-2019 17:00,8776969.266,0.054336422,0.054336422,0.00006 -31-03-2019 18:00,8778164.31,0.056696358,0.056696358,0.00006 -31-03-2019 19:00,8779359.375,0.050313832,0.050313832,0.00006 -31-03-2019 20:00,8780554.461,0.042290846,0.042290846,0.00006 -31-03-2019 21:00,8781749.567,0.030785414,0.030785414,0.00006 -31-03-2019 22:00,8782944.693,0.018062292,0.018062292,0.00006 -31-03-2019 23:00,8784139.838,0.007115509,0.007115509,0.00006 -1-4-2019 0:00,8785335.001,0.003861838,0.003861838,0.00006 -1-4-2019 1:00,8786530.182,0.00181,0.00181,0.00006 -1-4-2019 2:00,8787725.381,0.001563754,0.001563754,0.00006 -1-4-2019 3:00,8788920.596,0.004119869,0.004119869,0.00006 -1-4-2019 4:00,8790115.827,0.021171027,0.021171027,0.00006 -1-4-2019 5:00,8791311.073,0.089946396,0.089946396,0.00006 -1-4-2019 6:00,8792506.334,0.095254861,0.095254861,0.00006 -1-4-2019 7:00,8793701.61,0.058983141,0.058983141,0.00006 -1-4-2019 8:00,8794896.898,0.062889486,0.062889486,0.00006 -1-4-2019 9:00,8796092.2,0.043976802,0.043976802,0.00006 -1-4-2019 10:00,8797287.514,0.037627085,0.037627085,0.00006 -1-4-2019 11:00,8798482.84,0.032347729,0.032347729,0.00006 -1-4-2019 12:00,8799678.177,0.026875072,0.026875072,0.00006 -1-4-2019 13:00,8800873.524,0.021566504,0.021566504,0.00006 -1-4-2019 14:00,8802068.881,0.016696648,0.016696648,0.00006 -1-4-2019 15:00,8803264.247,0.018783729,0.018783729,0.00006 -1-4-2019 16:00,8804459.622,0.030610522,0.030610522,0.00006 -1-4-2019 17:00,8805655.005,0.05429011,0.05429011,0.00006 -1-4-2019 18:00,8806850.395,0.056512829,0.056512829,0.00006 -1-4-2019 19:00,8808045.793,0.050210406,0.050210406,0.00006 -1-4-2019 20:00,8809241.196,0.041741948,0.041741948,0.00006 -1-4-2019 21:00,8810436.605,0.029012108,0.029012108,0.00006 -1-4-2019 22:00,8811632.018,0.01401183,0.01401183,0.00006 -1-4-2019 23:00,8812827.436,0.00549035,0.00549035,0.00006 -2-4-2019 0:00,8814022.858,0.003970728,0.003970728,0.00006 -2-4-2019 1:00,8815218.283,0.001711879,0.001711879,0.00006 -2-4-2019 2:00,8816413.71,0.001464307,0.001464307,0.00006 -2-4-2019 3:00,8817609.139,0.002070798,0.002070798,0.00006 -2-4-2019 4:00,8818804.569,0.009832588,0.009832588,0.00006 -2-4-2019 5:00,8820000,0.062920674,0.062920674,0.00006 -2-4-2019 6:00,8821195.431,0.08082308,0.08082308,0.00006 -2-4-2019 7:00,8822390.861,0.064409968,0.064409968,0.00006 -2-4-2019 8:00,8823586.29,0.075740735,0.075740735,0.00006 -2-4-2019 9:00,8824781.717,0.067541419,0.067541419,0.00006 -2-4-2019 10:00,8825977.142,0.06010177,0.06010177,0.00006 -2-4-2019 11:00,8827172.564,0.060254538,0.060254538,0.00006 -2-4-2019 12:00,8828367.982,0.039711682,0.039711682,0.00006 -2-4-2019 13:00,8829563.395,0.025865117,0.025865117,0.00006 -2-4-2019 14:00,8830758.804,0.017136727,0.017136727,0.00006 -2-4-2019 15:00,8831954.207,0.018836164,0.018836164,0.00006 -2-4-2019 16:00,8833149.605,0.031537845,0.031537845,0.00006 -2-4-2019 17:00,8834344.995,0.058118937,0.058118937,0.00006 -2-4-2019 18:00,8835540.378,0.06481414,0.06481414,0.00006 -2-4-2019 19:00,8836735.753,0.085268026,0.085268026,0.00006 -2-4-2019 20:00,8837931.119,0.072063947,0.072063947,0.00006 -2-4-2019 21:00,8839126.476,0.044540575,0.044540575,0.00006 -2-4-2019 22:00,8840321.823,0.023411331,0.023411331,0.00006 -2-4-2019 23:00,8841517.16,0.01213695,0.01213695,0.00006 -3-4-2019 0:00,8842712.486,0.004935128,0.004935128,0.00006 -3-4-2019 1:00,8843907.8,0.00154212,0.00154212,0.00006 -3-4-2019 2:00,8845103.102,0.001827258,0.001827258,0.00006 -3-4-2019 3:00,8846298.39,0.004360514,0.004360514,0.00006 -3-4-2019 4:00,8847493.666,0.024605657,0.024605657,0.00006 -3-4-2019 5:00,8848688.927,0.094119033,0.094119033,0.00006 -3-4-2019 6:00,8849884.173,0.117274912,0.117274912,0.00006 -3-4-2019 7:00,8851079.404,0.102862094,0.102862094,0.00006 -3-4-2019 8:00,8852274.619,0.130191532,0.130191532,0.00006 -3-4-2019 9:00,8853469.818,0.119309822,0.119309822,0.00006 -3-4-2019 10:00,8854664.999,0.117480372,0.117480372,0.00006 -3-4-2019 11:00,8855860.162,0.13902754,0.13902754,0.00006 -3-4-2019 12:00,8857055.307,0.079229965,0.079229965,0.00006 -3-4-2019 13:00,8858250.433,0.038959836,0.038959836,0.00006 -3-4-2019 14:00,8859445.539,0.020941712,0.020941712,0.00006 -3-4-2019 15:00,8860640.625,0.019594751,0.019594751,0.00006 -3-4-2019 16:00,8861835.69,0.03227031,0.03227031,0.00006 -3-4-2019 17:00,8863030.734,0.06619245,0.06619245,0.00006 -3-4-2019 18:00,8864225.755,0.120947101,0.120947101,0.00006 -3-4-2019 19:00,8865420.754,0.165305225,0.165305225,0.00006 -3-4-2019 20:00,8866615.729,0.14842168,0.14842168,0.00006 -3-4-2019 21:00,8867810.68,0.085450136,0.085450136,0.00006 -3-4-2019 22:00,8869005.607,0.043574306,0.043574306,0.00006 -3-4-2019 23:00,8870200.508,0.01599333,0.01599333,0.00006 -4-4-2019 0:00,8871395.384,0.006497599,0.006497599,0.00006 -4-4-2019 1:00,8872590.233,0.002447435,0.002447435,0.00006 -4-4-2019 2:00,8873785.055,0.002742265,0.002742265,0.00006 -4-4-2019 3:00,8874979.849,0.008058849,0.008058849,0.00006 -4-4-2019 4:00,8876174.615,0.055769687,0.055769687,0.00006 -4-4-2019 5:00,8877369.353,0.171297966,0.171297966,0.00006 -4-4-2019 6:00,8878564.06,0.163006087,0.163006087,0.00006 -4-4-2019 7:00,8879758.738,0.137690831,0.137690831,0.00006 -4-4-2019 8:00,8880953.385,0.182030182,0.182030182,0.00006 -4-4-2019 9:00,8882148,0.179091015,0.179091015,0.00006 -4-4-2019 10:00,8883342.584,0.187824637,0.187824637,0.00006 -4-4-2019 11:00,8884537.135,0.224450921,0.224450921,0.00006 -4-4-2019 12:00,8885731.653,0.117896422,0.117896422,0.00006 -4-4-2019 13:00,8886926.136,0.055690672,0.055690672,0.00006 -4-4-2019 14:00,8888120.586,0.02730606,0.02730606,0.00006 -4-4-2019 15:00,8889315,0.020930226,0.020930226,0.00006 -4-4-2019 16:00,8890509.379,0.032724108,0.032724108,0.00006 -4-4-2019 17:00,8891703.722,0.075916272,0.075916272,0.00006 -4-4-2019 18:00,8892898.027,0.137700001,0.137700001,0.00006 -4-4-2019 19:00,8894092.295,0.196974377,0.196974377,0.00006 -4-4-2019 20:00,8895286.525,0.165879,0.165879,0.00006 -4-4-2019 21:00,8896480.717,0.092461915,0.092461915,0.00006 -4-4-2019 22:00,8897674.869,0.044713749,0.044713749,0.00006 -4-4-2019 23:00,8898868.981,0.016510974,0.016510974,0.00006 -5-4-2019 0:00,8900063.052,0.006722569,0.006722569,0.00006 -5-4-2019 1:00,8901257.082,0.002628263,0.002628263,0.00006 -5-4-2019 2:00,8902451.071,0.003066257,0.003066257,0.00006 -5-4-2019 3:00,8903645.016,0.010535706,0.010535706,0.00006 -5-4-2019 4:00,8904838.919,0.071974011,0.071974011,0.00006 -5-4-2019 5:00,8906032.779,0.200472793,0.200472793,0.00006 -5-4-2019 6:00,8907226.594,0.175537937,0.175537937,0.00006 -5-4-2019 7:00,8908420.364,0.144081627,0.144081627,0.00006 -5-4-2019 8:00,8909614.089,0.183555775,0.183555775,0.00006 -5-4-2019 9:00,8910807.767,0.169999424,0.169999424,0.00006 -5-4-2019 10:00,8912001.399,0.135061216,0.135061216,0.00006 -5-4-2019 11:00,8913194.984,0.160611944,0.160611944,0.00006 -5-4-2019 12:00,8914388.52,0.089420299,0.089420299,0.00006 -5-4-2019 13:00,8915582.008,0.04079035,0.04079035,0.00006 -5-4-2019 14:00,8916775.447,0.021669691,0.021669691,0.00006 -5-4-2019 15:00,8917968.836,0.019363754,0.019363754,0.00006 -5-4-2019 16:00,8919162.175,0.032124382,0.032124382,0.00006 -5-4-2019 17:00,8920355.462,0.062672538,0.062672538,0.00006 -5-4-2019 18:00,8921548.698,0.114691874,0.114691874,0.00006 -5-4-2019 19:00,8922741.882,0.141922816,0.141922816,0.00006 -5-4-2019 20:00,8923935.013,0.13929392,0.13929392,0.00006 -5-4-2019 21:00,8925128.09,0.084036879,0.084036879,0.00006 -5-4-2019 22:00,8926321.114,0.041769155,0.041769155,0.00006 -5-4-2019 23:00,8927514.082,0.015085599,0.015085599,0.00006 -6-4-2019 0:00,8928706.996,0.005918962,0.005918962,0.00006 -6-4-2019 1:00,8929899.853,0.001977945,0.001977945,0.00006 -6-4-2019 2:00,8931092.654,0.002282023,0.002282023,0.00006 -6-4-2019 3:00,8932285.398,0.00578698,0.00578698,0.00006 -6-4-2019 4:00,8933478.084,0.039100832,0.039100832,0.00006 -6-4-2019 5:00,8934670.711,0.133931555,0.133931555,0.00006 -6-4-2019 6:00,8935863.28,0.135577421,0.135577421,0.00006 -6-4-2019 7:00,8937055.789,0.118966548,0.118966548,0.00006 -6-4-2019 8:00,8938248.238,0.157055736,0.157055736,0.00006 -6-4-2019 9:00,8939440.626,0.150758453,0.150758453,0.00006 -6-4-2019 10:00,8940632.952,0.1554261,0.1554261,0.00006 -6-4-2019 11:00,8941825.216,0.176083869,0.176083869,0.00006 -6-4-2019 12:00,8943017.418,0.088313695,0.088313695,0.00006 -6-4-2019 13:00,8944209.557,0.041886319,0.041886319,0.00006 -6-4-2019 14:00,8945401.631,0.021922032,0.021922032,0.00006 -6-4-2019 15:00,8946593.641,0.01900687,0.01900687,0.00006 -6-4-2019 16:00,8947785.586,0.031530033,0.031530033,0.00006 -6-4-2019 17:00,8948977.465,0.058327435,0.058327435,0.00006 -6-4-2019 18:00,8950169.278,0.07661104,0.07661104,0.00006 -6-4-2019 19:00,8951361.024,0.104726142,0.104726142,0.00006 -6-4-2019 20:00,8952552.702,0.102530837,0.102530837,0.00006 -6-4-2019 21:00,8953744.312,0.074213179,0.074213179,0.00006 -6-4-2019 22:00,8954935.854,0.038189214,0.038189214,0.00006 -6-4-2019 23:00,8956127.326,0.013783587,0.013783587,0.00006 -7-4-2019 0:00,8957318.727,0.004888114,0.004888114,0.00006 -7-4-2019 1:00,8958510.059,0.001365481,0.001365481,0.00006 -7-4-2019 2:00,8959701.318,0.001636124,0.001636124,0.00006 -7-4-2019 3:00,8960892.507,0.003893384,0.003893384,0.00006 -7-4-2019 4:00,8962083.622,0.023079688,0.023079688,0.00006 -7-4-2019 5:00,8963274.665,0.091063758,0.091063758,0.00006 -7-4-2019 6:00,8964465.633,0.109643347,0.109643347,0.00006 -7-4-2019 7:00,8965656.528,0.092552488,0.092552488,0.00006 -7-4-2019 8:00,8966847.347,0.112482079,0.112482079,0.00006 -7-4-2019 9:00,8968038.091,0.092211971,0.092211971,0.00006 -7-4-2019 10:00,8969228.759,0.049549333,0.049549333,0.00006 -7-4-2019 11:00,8970419.35,0.03911469,0.03911469,0.00006 -7-4-2019 12:00,8971609.864,0.029437006,0.029437006,0.00006 -7-4-2019 13:00,8972800.299,0.022248851,0.022248851,0.00006 -7-4-2019 14:00,8973990.656,0.016696648,0.016696648,0.00006 -7-4-2019 15:00,8975180.934,0.018783729,0.018783729,0.00006 -7-4-2019 16:00,8976371.132,0.030610522,0.030610522,0.00006 -7-4-2019 17:00,8977561.25,0.055138478,0.055138478,0.00006 -7-4-2019 18:00,8978751.286,0.057266402,0.057266402,0.00006 -7-4-2019 19:00,8979941.241,0.050780958,0.050780958,0.00006 -7-4-2019 20:00,8981131.113,0.043590078,0.043590078,0.00006 -7-4-2019 21:00,8982320.903,0.032073439,0.032073439,0.00006 -7-4-2019 22:00,8983510.609,0.017100148,0.017100148,0.00006 -7-4-2019 23:00,8984700.231,0.006662714,0.006662714,0.00006 -8-4-2019 0:00,8985889.768,0.003381948,0.003381948,0.00006 -8-4-2019 1:00,8987079.22,0.000894235,0.000894235,0.00006 -8-4-2019 2:00,8988268.586,0.000695694,0.000695694,0.00006 -8-4-2019 3:00,8989457.866,0.001588496,0.001588496,0.00006 -8-4-2019 4:00,8990647.058,0.006679002,0.006679002,0.00006 -8-4-2019 5:00,8991836.162,0.050485529,0.050485529,0.00006 -8-4-2019 6:00,8993025.178,0.070497221,0.070497221,0.00006 -8-4-2019 7:00,8994214.105,0.051395054,0.051395054,0.00006 -8-4-2019 8:00,8995402.943,0.059592598,0.059592598,0.00006 -8-4-2019 9:00,8996591.69,0.043295996,0.043295996,0.00006 -8-4-2019 10:00,8997780.346,0.037356711,0.037356711,0.00006 -8-4-2019 11:00,8998968.911,0.031308123,0.031308123,0.00006 -8-4-2019 12:00,9000157.384,0.025044973,0.025044973,0.00006 -8-4-2019 13:00,9001345.764,0.021566504,0.021566504,0.00006 -8-4-2019 14:00,9002534.051,0.016696648,0.016696648,0.00006 -8-4-2019 15:00,9003722.244,0.018783729,0.018783729,0.00006 -8-4-2019 16:00,9004910.342,0.030610522,0.030610522,0.00006 -8-4-2019 17:00,9006098.345,0.054264107,0.054264107,0.00006 -8-4-2019 18:00,9007286.253,0.055170722,0.055170722,0.00006 -8-4-2019 19:00,9008474.064,0.049398852,0.049398852,0.00006 -8-4-2019 20:00,9009661.778,0.0412991,0.0412991,0.00006 -8-4-2019 21:00,9010849.395,0.028806518,0.028806518,0.00006 -8-4-2019 22:00,9012036.913,0.013913874,0.013913874,0.00006 -8-4-2019 23:00,9013224.333,0.004869856,0.004869856,0.00006 -9-4-2019 0:00,9014411.653,0.002782775,0.002782775,0.00006 -9-4-2019 1:00,9015598.873,0.000695694,0.000695694,0.00006 -9-4-2019 2:00,9016785.993,0.000695694,0.000695694,0.00006 -9-4-2019 3:00,9017973.011,0.001391387,0.001391387,0.00006 -9-4-2019 4:00,9019159.927,0.005146048,0.005146048,0.00006 -9-4-2019 5:00,9020346.741,0.040829046,0.040829046,0.00006 -9-4-2019 6:00,9021533.452,0.068734372,0.068734372,0.00006 -9-4-2019 7:00,9022720.06,0.050754155,0.050754155,0.00006 -9-4-2019 8:00,9023906.563,0.060830064,0.060830064,0.00006 -9-4-2019 9:00,9025092.961,0.044186405,0.044186405,0.00006 -9-4-2019 10:00,9026279.253,0.038406059,0.038406059,0.00006 -9-4-2019 11:00,9027465.44,0.032688958,0.032688958,0.00006 -9-4-2019 12:00,9028651.52,0.027930231,0.027930231,0.00006 -9-4-2019 13:00,9029837.492,0.021572145,0.021572145,0.00006 -9-4-2019 14:00,9031023.356,0.016696648,0.016696648,0.00006 -9-4-2019 15:00,9032209.112,0.018783729,0.018783729,0.00006 -9-4-2019 16:00,9033394.759,0.030610522,0.030610522,0.00006 -9-4-2019 17:00,9034580.296,0.054964075,0.054964075,0.00006 -9-4-2019 18:00,9035765.722,0.0571246,0.0571246,0.00006 -9-4-2019 19:00,9036951.038,0.050485661,0.050485661,0.00006 -9-4-2019 20:00,9038136.242,0.041643,0.041643,0.00006 -9-4-2019 21:00,9039321.333,0.028947856,0.028947856,0.00006 -9-4-2019 22:00,9040506.312,0.014904326,0.014904326,0.00006 -9-4-2019 23:00,9041691.178,0.005902896,0.005902896,0.00006 -10-4-2019 0:00,9042875.929,0.003216469,0.003216469,0.00006 -10-4-2019 1:00,9044060.566,0.000695694,0.000695694,0.00006 -10-4-2019 2:00,9045245.087,0.000886178,0.000886178,0.00006 -10-4-2019 3:00,9046429.493,0.001703365,0.001703365,0.00006 -10-4-2019 4:00,9047613.782,0.006034576,0.006034576,0.00006 -10-4-2019 5:00,9048797.954,0.051093044,0.051093044,0.00006 -10-4-2019 6:00,9049982.008,0.070586409,0.070586409,0.00006 -10-4-2019 7:00,9051165.944,0.051880113,0.051880113,0.00006 -10-4-2019 8:00,9052349.761,0.060212854,0.060212854,0.00006 -10-4-2019 9:00,9053533.458,0.043384939,0.043384939,0.00006 -10-4-2019 10:00,9054717.035,0.03748867,0.03748867,0.00006 -10-4-2019 11:00,9055900.492,0.031663986,0.031663986,0.00006 -10-4-2019 12:00,9057083.827,0.025535168,0.025535168,0.00006 -10-4-2019 13:00,9058267.04,0.021566504,0.021566504,0.00006 -10-4-2019 14:00,9059450.131,0.016696648,0.016696648,0.00006 -10-4-2019 15:00,9060633.099,0.018783729,0.018783729,0.00006 -10-4-2019 16:00,9061815.942,0.030610522,0.030610522,0.00006 -10-4-2019 17:00,9062998.662,0.054264107,0.054264107,0.00006 -10-4-2019 18:00,9064181.256,0.055252755,0.055252755,0.00006 -10-4-2019 19:00,9065363.724,0.049922368,0.049922368,0.00006 -10-4-2019 20:00,9066546.067,0.041459475,0.041459475,0.00006 -10-4-2019 21:00,9067728.282,0.02896096,0.02896096,0.00006 -10-4-2019 22:00,9068910.371,0.013913874,0.013913874,0.00006 -10-4-2019 23:00,9070092.331,0.004869856,0.004869856,0.00006 -11-4-2019 0:00,9071274.162,0.002821346,0.002821346,0.00006 -11-4-2019 1:00,9072455.864,0.001039929,0.001039929,0.00006 -11-4-2019 2:00,9073637.436,0.001392657,0.001392657,0.00006 -11-4-2019 3:00,9074818.878,0.002097596,0.002097596,0.00006 -11-4-2019 4:00,9076000.189,0.006492389,0.006492389,0.00006 -11-4-2019 5:00,9077181.368,0.042607031,0.042607031,0.00006 -11-4-2019 6:00,9078362.414,0.070739806,0.070739806,0.00006 -11-4-2019 7:00,9079543.328,0.050680878,0.050680878,0.00006 -11-4-2019 8:00,9080724.108,0.060666097,0.060666097,0.00006 -11-4-2019 9:00,9081904.754,0.04358388,0.04358388,0.00006 -11-4-2019 10:00,9083085.266,0.03763621,0.03763621,0.00006 -11-4-2019 11:00,9084265.642,0.032290684,0.032290684,0.00006 -11-4-2019 12:00,9085445.882,0.027202954,0.027202954,0.00006 -11-4-2019 13:00,9086625.985,0.021566504,0.021566504,0.00006 -11-4-2019 14:00,9087805.952,0.016696648,0.016696648,0.00006 -11-4-2019 15:00,9088985.78,0.018805016,0.018805016,0.00006 -11-4-2019 16:00,9090165.47,0.030622837,0.030622837,0.00006 -11-4-2019 17:00,9091345.022,0.055810257,0.055810257,0.00006 -11-4-2019 18:00,9092524.433,0.057854827,0.057854827,0.00006 -11-4-2019 19:00,9093703.705,0.050782304,0.050782304,0.00006 -11-4-2019 20:00,9094882.835,0.042005922,0.042005922,0.00006 -11-4-2019 21:00,9096061.824,0.028986923,0.028986923,0.00006 -11-4-2019 22:00,9097240.671,0.013974099,0.013974099,0.00006 -11-4-2019 23:00,9098419.376,0.0056808,0.0056808,0.00006 -12-4-2019 0:00,9099597.937,0.003595054,0.003595054,0.00006 -12-4-2019 1:00,9100776.355,0.001439883,0.001439883,0.00006 -12-4-2019 2:00,9101954.627,0.001446745,0.001446745,0.00006 -12-4-2019 3:00,9103132.755,0.002089597,0.002089597,0.00006 -12-4-2019 4:00,9104310.738,0.009541723,0.009541723,0.00006 -12-4-2019 5:00,9105488.574,0.059982088,0.059982088,0.00006 -12-4-2019 6:00,9106666.263,0.076374924,0.076374924,0.00006 -12-4-2019 7:00,9107843.804,0.055977878,0.055977878,0.00006 -12-4-2019 8:00,9109021.198,0.063349203,0.063349203,0.00006 -12-4-2019 9:00,9110198.443,0.047123812,0.047123812,0.00006 -12-4-2019 10:00,9111375.538,0.040049374,0.040049374,0.00006 -12-4-2019 11:00,9112552.484,0.039292272,0.039292272,0.00006 -12-4-2019 12:00,9113729.279,0.031098473,0.031098473,0.00006 -12-4-2019 13:00,9114905.923,0.023057635,0.023057635,0.00006 -12-4-2019 14:00,9116082.416,0.017370876,0.017370876,0.00006 -12-4-2019 15:00,9117258.756,0.01881565,0.01881565,0.00006 -12-4-2019 16:00,9118434.943,0.030677832,0.030677832,0.00006 -12-4-2019 17:00,9119610.976,0.056913114,0.056913114,0.00006 -12-4-2019 18:00,9120786.856,0.059448572,0.059448572,0.00006 -12-4-2019 19:00,9121962.58,0.063688005,0.063688005,0.00006 -12-4-2019 20:00,9123138.15,0.068755789,0.068755789,0.00006 -12-4-2019 21:00,9124313.563,0.042407653,0.042407653,0.00006 -12-4-2019 22:00,9125488.82,0.020344323,0.020344323,0.00006 -12-4-2019 23:00,9126663.919,0.008270029,0.008270029,0.00006 -13-04-2019 0:00,9127838.861,0.004917301,0.004917301,0.00006 -13-04-2019 1:00,9129013.645,0.002589996,0.002589996,0.00006 -13-04-2019 2:00,9130188.269,0.002821117,0.002821117,0.00006 -13-04-2019 3:00,9131362.734,0.006867579,0.006867579,0.00006 -13-04-2019 4:00,9132537.039,0.034623356,0.034623356,0.00006 -13-04-2019 5:00,9133711.183,0.108239907,0.108239907,0.00006 -13-04-2019 6:00,9134885.166,0.100881781,0.100881781,0.00006 -13-04-2019 7:00,9136058.986,0.057542924,0.057542924,0.00006 -13-04-2019 8:00,9137232.644,0.064879183,0.064879183,0.00006 -13-04-2019 9:00,9138406.139,0.048234016,0.048234016,0.00006 -13-04-2019 10:00,9139579.47,0.045095181,0.045095181,0.00006 -13-04-2019 11:00,9140752.637,0.044288516,0.044288516,0.00006 -13-04-2019 12:00,9141925.638,0.035877234,0.035877234,0.00006 -13-04-2019 13:00,9143098.474,0.024702864,0.024702864,0.00006 -13-04-2019 14:00,9144271.144,0.018330426,0.018330426,0.00006 -13-04-2019 15:00,9145443.647,0.019886747,0.019886747,0.00006 -13-04-2019 16:00,9146615.982,0.032103414,0.032103414,0.00006 -13-04-2019 17:00,9147788.15,0.06343498,0.06343498,0.00006 -13-04-2019 18:00,9148960.148,0.104012572,0.104012572,0.00006 -13-04-2019 19:00,9150131.978,0.105873108,0.105873108,0.00006 -13-04-2019 20:00,9151303.638,0.083303608,0.083303608,0.00006 -13-04-2019 21:00,9152475.127,0.050381925,0.050381925,0.00006 -13-04-2019 22:00,9153646.445,0.032704711,0.032704711,0.00006 -13-04-2019 23:00,9154817.592,0.01674059,0.01674059,0.00006 -14-04-2019 0:00,9155988.566,0.007466889,0.007466889,0.00006 -14-04-2019 1:00,9157159.368,0.003255369,0.003255369,0.00006 -14-04-2019 2:00,9158329.996,0.00358503,0.00358503,0.00006 -14-04-2019 3:00,9159500.45,0.009416624,0.009416624,0.00006 -14-04-2019 4:00,9160670.729,0.051757059,0.051757059,0.00006 -14-04-2019 5:00,9161840.833,0.166447034,0.166447034,0.00006 -14-04-2019 6:00,9163010.761,0.15703612,0.15703612,0.00006 -14-04-2019 7:00,9164180.513,0.128210023,0.128210023,0.00006 -14-04-2019 8:00,9165350.088,0.109571645,0.109571645,0.00006 -14-04-2019 9:00,9166519.485,0.060004017,0.060004017,0.00006 -14-04-2019 10:00,9167688.703,0.04837555,0.04837555,0.00006 -14-04-2019 11:00,9168857.743,0.052827993,0.052827993,0.00006 -14-04-2019 12:00,9170026.604,0.033855128,0.033855128,0.00006 -14-04-2019 13:00,9171195.284,0.022973961,0.022973961,0.00006 -14-04-2019 14:00,9172363.784,0.016794238,0.016794238,0.00006 -14-04-2019 15:00,9173532.102,0.018783729,0.018783729,0.00006 -14-04-2019 16:00,9174700.238,0.030749892,0.030749892,0.00006 -14-04-2019 17:00,9175868.192,0.056968368,0.056968368,0.00006 -14-04-2019 18:00,9177035.963,0.059107559,0.059107559,0.00006 -14-04-2019 19:00,9178203.551,0.053095012,0.053095012,0.00006 -14-04-2019 20:00,9179370.953,0.063422102,0.063422102,0.00006 -14-04-2019 21:00,9180538.172,0.04395817,0.04395817,0.00006 -14-04-2019 22:00,9181705.204,0.02182801,0.02182801,0.00006 -14-04-2019 23:00,9182872.051,0.009106011,0.009106011,0.00006 -15-04-2019 0:00,9184038.71,0.005496358,0.005496358,0.00006 -15-04-2019 1:00,9185205.183,0.002860546,0.002860546,0.00006 -15-04-2019 2:00,9186371.468,0.003048615,0.003048615,0.00006 -15-04-2019 3:00,9187537.564,0.007460413,0.007460413,0.00006 -15-04-2019 4:00,9188703.471,0.03925313,0.03925313,0.00006 -15-04-2019 5:00,9189869.188,0.118613358,0.118613358,0.00006 -15-04-2019 6:00,9191034.715,0.119271439,0.119271439,0.00006 -15-04-2019 7:00,9192200.052,0.075238694,0.075238694,0.00006 -15-04-2019 8:00,9193365.196,0.072660459,0.072660459,0.00006 -15-04-2019 9:00,9194530.149,0.053249429,0.053249429,0.00006 -15-04-2019 10:00,9195694.909,0.048311283,0.048311283,0.00006 -15-04-2019 11:00,9196859.476,0.045100111,0.045100111,0.00006 -15-04-2019 12:00,9198023.849,0.031805569,0.031805569,0.00006 -15-04-2019 13:00,9199188.027,0.023414921,0.023414921,0.00006 -15-04-2019 14:00,9200352.01,0.016696648,0.016696648,0.00006 -15-04-2019 15:00,9201515.798,0.018783729,0.018783729,0.00006 -15-04-2019 16:00,9202679.389,0.030610522,0.030610522,0.00006 -15-04-2019 17:00,9203842.784,0.054367207,0.054367207,0.00006 -15-04-2019 18:00,9205005.981,0.057257745,0.057257745,0.00006 -15-04-2019 19:00,9206168.98,0.050575113,0.050575113,0.00006 -15-04-2019 20:00,9207331.78,0.042155032,0.042155032,0.00006 -15-04-2019 21:00,9208494.381,0.030580346,0.030580346,0.00006 -15-04-2019 22:00,9209656.782,0.017791773,0.017791773,0.00006 -15-04-2019 23:00,9210818.983,0.006622327,0.006622327,0.00006 -16-04-2019 0:00,9211980.982,0.003845922,0.003845922,0.00006 -16-04-2019 1:00,9213142.78,0.001886819,0.001886819,0.00006 -16-04-2019 2:00,9214304.376,0.001541982,0.001541982,0.00006 -16-04-2019 3:00,9215465.769,0.003671562,0.003671562,0.00006 -16-04-2019 4:00,9216626.958,0.01766395,0.01766395,0.00006 -16-04-2019 5:00,9217787.943,0.074282931,0.074282931,0.00006 -16-04-2019 6:00,9218948.724,0.076403027,0.076403027,0.00006 -16-04-2019 7:00,9220109.299,0.058652767,0.058652767,0.00006 -16-04-2019 8:00,9221269.669,0.070316179,0.070316179,0.00006 -16-04-2019 9:00,9222429.832,0.060854767,0.060854767,0.00006 -16-04-2019 10:00,9223589.788,0.051807493,0.051807493,0.00006 -16-04-2019 11:00,9224749.537,0.040447617,0.040447617,0.00006 -16-04-2019 12:00,9225909.077,0.031929285,0.031929285,0.00006 -16-04-2019 13:00,9227068.409,0.023005004,0.023005004,0.00006 -16-04-2019 14:00,9228227.531,0.016911859,0.016911859,0.00006 -16-04-2019 15:00,9229386.443,0.018808113,0.018808113,0.00006 -16-04-2019 16:00,9230545.144,0.030884655,0.030884655,0.00006 -16-04-2019 17:00,9231703.634,0.05652512,0.05652512,0.00006 -16-04-2019 18:00,9232861.913,0.058568634,0.058568634,0.00006 -16-04-2019 19:00,9234019.978,0.054077798,0.054077798,0.00006 -16-04-2019 20:00,9235177.831,0.055125544,0.055125544,0.00006 -16-04-2019 21:00,9236335.471,0.038397176,0.038397176,0.00006 -16-04-2019 22:00,9237492.896,0.019329914,0.019329914,0.00006 -16-04-2019 23:00,9238650.106,0.00740184,0.00740184,0.00006 -17-04-2019 0:00,9239807.102,0.003507908,0.003507908,0.00006 -17-04-2019 1:00,9240963.881,0.001155179,0.001155179,0.00006 -17-04-2019 2:00,9242120.443,0.00139156,0.00139156,0.00006 -17-04-2019 3:00,9243276.788,0.002969042,0.002969042,0.00006 -17-04-2019 4:00,9244432.916,0.01429973,0.01429973,0.00006 -17-04-2019 5:00,9245588.825,0.066588354,0.066588354,0.00006 -17-04-2019 6:00,9246744.515,0.082480007,0.082480007,0.00006 -17-04-2019 7:00,9247899.986,0.06250685,0.06250685,0.00006 -17-04-2019 8:00,9249055.237,0.070773888,0.070773888,0.00006 -17-04-2019 9:00,9250210.267,0.05672642,0.05672642,0.00006 -17-04-2019 10:00,9251365.075,0.049748605,0.049748605,0.00006 -17-04-2019 11:00,9252519.662,0.044152435,0.044152435,0.00006 -17-04-2019 12:00,9253674.026,0.032042741,0.032042741,0.00006 -17-04-2019 13:00,9254828.167,0.022735975,0.022735975,0.00006 -17-04-2019 14:00,9255982.084,0.016839523,0.016839523,0.00006 -17-04-2019 15:00,9257135.777,0.018783729,0.018783729,0.00006 -17-04-2019 16:00,9258289.245,0.030721633,0.030721633,0.00006 -17-04-2019 17:00,9259442.488,0.056061651,0.056061651,0.00006 -17-04-2019 18:00,9260595.504,0.058007673,0.058007673,0.00006 -17-04-2019 19:00,9261748.294,0.0518866,0.0518866,0.00006 -17-04-2019 20:00,9262900.857,0.051070911,0.051070911,0.00006 -17-04-2019 21:00,9264053.192,0.036572731,0.036572731,0.00006 -17-04-2019 22:00,9265205.298,0.017952997,0.017952997,0.00006 -17-04-2019 23:00,9266357.175,0.006747678,0.006747678,0.00006 -18-04-2019 0:00,9267508.823,0.003286003,0.003286003,0.00006 -18-04-2019 1:00,9268660.24,0.000872141,0.000872141,0.00006 -18-04-2019 2:00,9269811.427,0.000695694,0.000695694,0.00006 -18-04-2019 3:00,9270962.382,0.001628653,0.001628653,0.00006 -18-04-2019 4:00,9272113.105,0.006497091,0.006497091,0.00006 -18-04-2019 5:00,9273263.596,0.046245363,0.046245363,0.00006 -18-04-2019 6:00,9274413.853,0.069009715,0.069009715,0.00006 -18-04-2019 7:00,9275563.877,0.050313027,0.050313027,0.00006 -18-04-2019 8:00,9276713.666,0.059149792,0.059149792,0.00006 -18-04-2019 9:00,9277863.22,0.043146943,0.043146943,0.00006 -18-04-2019 10:00,9279012.539,0.037178892,0.037178892,0.00006 -18-04-2019 11:00,9280161.622,0.031306216,0.031306216,0.00006 -18-04-2019 12:00,9281310.468,0.025044973,0.025044973,0.00006 -18-04-2019 13:00,9282459.076,0.021566504,0.021566504,0.00006 -18-04-2019 14:00,9283607.447,0.016696648,0.016696648,0.00006 -18-04-2019 15:00,9284755.579,0.018783729,0.018783729,0.00006 -18-04-2019 16:00,9285903.472,0.030610522,0.030610522,0.00006 -18-04-2019 17:00,9287051.125,0.054264107,0.054264107,0.00006 -18-04-2019 18:00,9288198.538,0.054959801,0.054959801,0.00006 -18-04-2019 19:00,9289345.711,0.048698558,0.048698558,0.00006 -18-04-2019 20:00,9290492.641,0.040350234,0.040350234,0.00006 -18-04-2019 21:00,9291639.33,0.028523441,0.028523441,0.00006 -18-04-2019 22:00,9292785.776,0.013913874,0.013913874,0.00006 -18-04-2019 23:00,9293931.979,0.004869856,0.004869856,0.00006 -19-04-2019 0:00,9295077.938,0.002782775,0.002782775,0.00006 -19-04-2019 1:00,9296223.652,0.000695694,0.000695694,0.00006 -19-04-2019 2:00,9297369.122,0.000695694,0.000695694,0.00006 -19-04-2019 3:00,9298514.346,0.001391387,0.001391387,0.00006 -19-04-2019 4:00,9299659.324,0.004869856,0.004869856,0.00006 -19-04-2019 5:00,9300804.055,0.039916968,0.039916968,0.00006 -19-04-2019 6:00,9301948.538,0.065434389,0.065434389,0.00006 -19-04-2019 7:00,9303092.774,0.050374494,0.050374494,0.00006 -19-04-2019 8:00,9304236.761,0.059133963,0.059133963,0.00006 -19-04-2019 9:00,9305380.5,0.042841189,0.042841189,0.00006 -19-04-2019 10:00,9306523.988,0.036871765,0.036871765,0.00006 -19-04-2019 11:00,9307667.226,0.031306216,0.031306216,0.00006 -19-04-2019 12:00,9308810.213,0.025044973,0.025044973,0.00006 -19-04-2019 13:00,9309952.949,0.021566504,0.021566504,0.00006 -19-04-2019 14:00,9311095.433,0.016696648,0.016696648,0.00006 -19-04-2019 15:00,9312237.664,0.018783729,0.018783729,0.00006 -19-04-2019 16:00,9313379.641,0.030610522,0.030610522,0.00006 -19-04-2019 17:00,9314521.365,0.054264107,0.054264107,0.00006 -19-04-2019 18:00,9315662.835,0.054959801,0.054959801,0.00006 -19-04-2019 19:00,9316804.05,0.048698558,0.048698558,0.00006 -19-04-2019 20:00,9317945.009,0.040350234,0.040350234,0.00006 -19-04-2019 21:00,9319085.711,0.028523441,0.028523441,0.00006 -19-04-2019 22:00,9320226.157,0.013913874,0.013913874,0.00006 -19-04-2019 23:00,9321366.346,0.004869856,0.004869856,0.00006 -20-04-2019 0:00,9322506.277,0.002782775,0.002782775,0.00006 -20-04-2019 1:00,9323645.949,0.000695694,0.000695694,0.00006 -20-04-2019 2:00,9324785.362,0.000695694,0.000695694,0.00006 -20-04-2019 3:00,9325924.516,0.001391387,0.001391387,0.00006 -20-04-2019 4:00,9327063.409,0.004869856,0.004869856,0.00006 -20-04-2019 5:00,9328202.041,0.038958846,0.038958846,0.00006 -20-04-2019 6:00,9329340.412,0.064699512,0.064699512,0.00006 -20-04-2019 7:00,9330478.521,0.050089945,0.050089945,0.00006 -20-04-2019 8:00,9331616.367,0.059133963,0.059133963,0.00006 -20-04-2019 9:00,9332753.95,0.042437315,0.042437315,0.00006 -20-04-2019 10:00,9333891.269,0.036871765,0.036871765,0.00006 -20-04-2019 11:00,9335028.324,0.031306216,0.031306216,0.00006 -20-04-2019 12:00,9336165.114,0.025044973,0.025044973,0.00006 -20-04-2019 13:00,9337301.638,0.021566504,0.021566504,0.00006 -20-04-2019 14:00,9338437.896,0.016696648,0.016696648,0.00006 -20-04-2019 15:00,9339573.888,0.018783729,0.018783729,0.00006 -20-04-2019 16:00,9340709.612,0.030610522,0.030610522,0.00006 -20-04-2019 17:00,9341845.068,0.054264107,0.054264107,0.00006 -20-04-2019 18:00,9342980.256,0.054959801,0.054959801,0.00006 -20-04-2019 19:00,9344115.175,0.048698558,0.048698558,0.00006 -20-04-2019 20:00,9345249.824,0.040350234,0.040350234,0.00006 -20-04-2019 21:00,9346384.203,0.028523441,0.028523441,0.00006 -20-04-2019 22:00,9347518.311,0.013913874,0.013913874,0.00006 -20-04-2019 23:00,9348652.148,0.004869856,0.004869856,0.00006 -21-04-2019 0:00,9349785.712,0.002782775,0.002782775,0.00006 -21-04-2019 1:00,9350919.005,0.000695694,0.000695694,0.00006 -21-04-2019 2:00,9352052.024,0.000695694,0.000695694,0.00006 -21-04-2019 3:00,9353184.769,0.001391387,0.001391387,0.00006 -21-04-2019 4:00,9354317.24,0.004869856,0.004869856,0.00006 -21-04-2019 5:00,9355449.436,0.038958846,0.038958846,0.00006 -21-04-2019 6:00,9356581.357,0.064699512,0.064699512,0.00006 -21-04-2019 7:00,9357713.001,0.050089945,0.050089945,0.00006 -21-04-2019 8:00,9358844.369,0.059133963,0.059133963,0.00006 -21-04-2019 9:00,9359975.46,0.042437315,0.042437315,0.00006 -21-04-2019 10:00,9361106.273,0.036871765,0.036871765,0.00006 -21-04-2019 11:00,9362236.808,0.031306216,0.031306216,0.00006 -21-04-2019 12:00,9363367.064,0.025044973,0.025044973,0.00006 -21-04-2019 13:00,9364497.04,0.021566504,0.021566504,0.00006 -21-04-2019 14:00,9365626.736,0.016696648,0.016696648,0.00006 -21-04-2019 15:00,9366756.151,0.018783729,0.018783729,0.00006 -21-04-2019 16:00,9367885.285,0.030610522,0.030610522,0.00006 -21-04-2019 17:00,9369014.137,0.054264107,0.054264107,0.00006 -21-04-2019 18:00,9370142.707,0.054959801,0.054959801,0.00006 -21-04-2019 19:00,9371270.993,0.048698558,0.048698558,0.00006 -21-04-2019 20:00,9372398.996,0.040350234,0.040350234,0.00006 -21-04-2019 21:00,9373526.715,0.028523441,0.028523441,0.00006 -21-04-2019 22:00,9374654.149,0.013913874,0.013913874,0.00006 -21-04-2019 23:00,9375781.298,0.004869856,0.004869856,0.00006 -22-04-2019 0:00,9376908.161,0.002782775,0.002782775,0.00006 -22-04-2019 1:00,9378034.737,0.000695694,0.000695694,0.00006 -22-04-2019 2:00,9379161.027,0.000695694,0.000695694,0.00006 -22-04-2019 3:00,9380287.028,0.001391387,0.001391387,0.00006 -22-04-2019 4:00,9381412.741,0.004869856,0.004869856,0.00006 -22-04-2019 5:00,9382538.166,0.038958846,0.038958846,0.00006 -22-04-2019 6:00,9383663.301,0.064699512,0.064699512,0.00006 -22-04-2019 7:00,9384788.146,0.050089945,0.050089945,0.00006 -22-04-2019 8:00,9385912.701,0.059133963,0.059133963,0.00006 -22-04-2019 9:00,9387036.964,0.042437315,0.042437315,0.00006 -22-04-2019 10:00,9388160.936,0.036871765,0.036871765,0.00006 -22-04-2019 11:00,9389284.615,0.031306216,0.031306216,0.00006 -22-04-2019 12:00,9390408.002,0.025044973,0.025044973,0.00006 -22-04-2019 13:00,9391531.095,0.021566504,0.021566504,0.00006 -22-04-2019 14:00,9392653.894,0.016696648,0.016696648,0.00006 -22-04-2019 15:00,9393776.398,0.018783729,0.018783729,0.00006 -22-04-2019 16:00,9394898.608,0.030610522,0.030610522,0.00006 -22-04-2019 17:00,9396020.521,0.054264107,0.054264107,0.00006 -22-04-2019 18:00,9397142.138,0.054959801,0.054959801,0.00006 -22-04-2019 19:00,9398263.459,0.048698558,0.048698558,0.00006 -22-04-2019 20:00,9399384.481,0.040350234,0.040350234,0.00006 -22-04-2019 21:00,9400505.206,0.028523441,0.028523441,0.00006 -22-04-2019 22:00,9401625.632,0.013913874,0.013913874,0.00006 -22-04-2019 23:00,9402745.759,0.004869856,0.004869856,0.00006 -23-04-2019 0:00,9403865.586,0.002782775,0.002782775,0.00006 -23-04-2019 1:00,9404985.112,0.000695694,0.000695694,0.00006 -23-04-2019 2:00,9406104.338,0.000695694,0.000695694,0.00006 -23-04-2019 3:00,9407223.262,0.001391387,0.001391387,0.00006 -23-04-2019 4:00,9408341.884,0.004869856,0.004869856,0.00006 -23-04-2019 5:00,9409460.204,0.038958846,0.038958846,0.00006 -23-04-2019 6:00,9410578.22,0.064699512,0.064699512,0.00006 -23-04-2019 7:00,9411695.932,0.050089945,0.050089945,0.00006 -23-04-2019 8:00,9412813.34,0.059133963,0.059133963,0.00006 -23-04-2019 9:00,9413930.443,0.042437315,0.042437315,0.00006 -23-04-2019 10:00,9415047.24,0.036871765,0.036871765,0.00006 -23-04-2019 11:00,9416163.731,0.031306216,0.031306216,0.00006 -23-04-2019 12:00,9417279.916,0.025044973,0.025044973,0.00006 -23-04-2019 13:00,9418395.793,0.021566504,0.021566504,0.00006 -23-04-2019 14:00,9419511.363,0.016696648,0.016696648,0.00006 -23-04-2019 15:00,9420626.624,0.018783729,0.018783729,0.00006 -23-04-2019 16:00,9421741.575,0.030610522,0.030610522,0.00006 -23-04-2019 17:00,9422856.218,0.054264107,0.054264107,0.00006 -23-04-2019 18:00,9423970.55,0.054959801,0.054959801,0.00006 -23-04-2019 19:00,9425084.572,0.048698558,0.048698558,0.00006 -23-04-2019 20:00,9426198.282,0.040350234,0.040350234,0.00006 -23-04-2019 21:00,9427311.68,0.028523441,0.028523441,0.00006 -23-04-2019 22:00,9428424.766,0.013913874,0.013913874,0.00006 -23-04-2019 23:00,9429537.539,0.004869856,0.004869856,0.00006 -24-04-2019 0:00,9430649.999,0.002782775,0.002782775,0.00006 -24-04-2019 1:00,9431762.144,0.000695694,0.000695694,0.00006 -24-04-2019 2:00,9432873.974,0.000695694,0.000695694,0.00006 -24-04-2019 3:00,9433985.489,0.001391387,0.001391387,0.00006 -24-04-2019 4:00,9435096.689,0.004869856,0.004869856,0.00006 -24-04-2019 5:00,9436207.571,0.038958846,0.038958846,0.00006 -24-04-2019 6:00,9437318.137,0.064699512,0.064699512,0.00006 -24-04-2019 7:00,9438428.386,0.050089945,0.050089945,0.00006 -24-04-2019 8:00,9439538.316,0.059133963,0.059133963,0.00006 -24-04-2019 9:00,9440647.927,0.042437315,0.042437315,0.00006 -24-04-2019 10:00,9441757.219,0.036871765,0.036871765,0.00006 -24-04-2019 11:00,9442866.191,0.031306216,0.031306216,0.00006 -24-04-2019 12:00,9443974.843,0.025044973,0.025044973,0.00006 -24-04-2019 13:00,9445083.174,0.021566504,0.021566504,0.00006 -24-04-2019 14:00,9446191.183,0.016696648,0.016696648,0.00006 -24-04-2019 15:00,9447298.87,0.018783729,0.018783729,0.00006 -24-04-2019 16:00,9448406.234,0.030610522,0.030610522,0.00006 -24-04-2019 17:00,9449513.275,0.054264107,0.054264107,0.00006 -24-04-2019 18:00,9450619.992,0.054959801,0.054959801,0.00006 -24-04-2019 19:00,9451726.385,0.048698558,0.048698558,0.00006 -24-04-2019 20:00,9452832.453,0.040350234,0.040350234,0.00006 -24-04-2019 21:00,9453938.195,0.028523441,0.028523441,0.00006 -24-04-2019 22:00,9455043.611,0.013913874,0.013913874,0.00006 -24-04-2019 23:00,9456148.7,0.004869856,0.004869856,0.00006 -25-04-2019 0:00,9457253.462,0.002782775,0.002782775,0.00006 -25-04-2019 1:00,9458357.897,0.000695694,0.000695694,0.00006 -25-04-2019 2:00,9459462.002,0.000695694,0.000695694,0.00006 -25-04-2019 3:00,9460565.779,0.001391387,0.001391387,0.00006 -25-04-2019 4:00,9461669.227,0.004869856,0.004869856,0.00006 -25-04-2019 5:00,9462772.344,0.038958846,0.038958846,0.00006 -25-04-2019 6:00,9463875.13,0.064699512,0.064699512,0.00006 -25-04-2019 7:00,9464977.585,0.050089945,0.050089945,0.00006 -25-04-2019 8:00,9466079.709,0.059133963,0.059133963,0.00006 -25-04-2019 9:00,9467181.5,0.042437315,0.042437315,0.00006 -25-04-2019 10:00,9468282.958,0.036871765,0.036871765,0.00006 -25-04-2019 11:00,9469384.083,0.031306216,0.031306216,0.00006 -25-04-2019 12:00,9470484.873,0.025044973,0.025044973,0.00006 -25-04-2019 13:00,9471585.329,0.021566504,0.021566504,0.00006 -25-04-2019 14:00,9472685.45,0.016696648,0.016696648,0.00006 -25-04-2019 15:00,9473785.234,0.018783729,0.018783729,0.00006 -25-04-2019 16:00,9474884.683,0.030610522,0.030610522,0.00006 -25-04-2019 17:00,9475983.794,0.054264107,0.054264107,0.00006 -25-04-2019 18:00,9477082.569,0.054959801,0.054959801,0.00006 -25-04-2019 19:00,9478181.005,0.048698558,0.048698558,0.00006 -25-04-2019 20:00,9479279.102,0.040350234,0.040350234,0.00006 -25-04-2019 21:00,9480376.86,0.028523441,0.028523441,0.00006 -25-04-2019 22:00,9481474.279,0.013913874,0.013913874,0.00006 -25-04-2019 23:00,9482571.357,0.004869856,0.004869856,0.00006 -26-04-2019 0:00,9483668.095,0.002782775,0.002782775,0.00006 -26-04-2019 1:00,9484764.49,0.000695694,0.000695694,0.00006 -26-04-2019 2:00,9485860.544,0.000695694,0.000695694,0.00006 -26-04-2019 3:00,9486956.256,0.001391387,0.001391387,0.00006 -26-04-2019 4:00,9488051.624,0.004869856,0.004869856,0.00006 -26-04-2019 5:00,9489146.649,0.038958846,0.038958846,0.00006 -26-04-2019 6:00,9490241.329,0.064699512,0.064699512,0.00006 -26-04-2019 7:00,9491335.665,0.050089945,0.050089945,0.00006 -26-04-2019 8:00,9492429.655,0.059133963,0.059133963,0.00006 -26-04-2019 9:00,9493523.299,0.042437315,0.042437315,0.00006 -26-04-2019 10:00,9494616.597,0.036871765,0.036871765,0.00006 -26-04-2019 11:00,9495709.547,0.031306216,0.031306216,0.00006 -26-04-2019 12:00,9496802.15,0.025044973,0.025044973,0.00006 -26-04-2019 13:00,9497894.405,0.021566504,0.021566504,0.00006 -26-04-2019 14:00,9498986.311,0.016696648,0.016696648,0.00006 -26-04-2019 15:00,9500077.868,0.018783729,0.018783729,0.00006 -26-04-2019 16:00,9501169.075,0.030610522,0.030610522,0.00006 -26-04-2019 17:00,9502259.931,0.054264107,0.054264107,0.00006 -26-04-2019 18:00,9503350.437,0.054959801,0.054959801,0.00006 -26-04-2019 19:00,9504440.591,0.048698558,0.048698558,0.00006 -26-04-2019 20:00,9505530.393,0.040350234,0.040350234,0.00006 -26-04-2019 21:00,9506619.842,0.028523441,0.028523441,0.00006 -26-04-2019 22:00,9507708.938,0.013913874,0.013913874,0.00006 -26-04-2019 23:00,9508797.68,0.004869856,0.004869856,0.00006 -27-04-2019 0:00,9509886.067,0.002782775,0.002782775,0.00006 -27-04-2019 1:00,9510974.1,0.000695694,0.000695694,0.00006 -27-04-2019 2:00,9512061.777,0.000695694,0.000695694,0.00006 -27-04-2019 3:00,9513149.099,0.001391387,0.001391387,0.00006 -27-04-2019 4:00,9514236.063,0.004869856,0.004869856,0.00006 -27-04-2019 5:00,9515322.671,0.038958846,0.038958846,0.00006 -27-04-2019 6:00,9516408.921,0.064699512,0.064699512,0.00006 -27-04-2019 7:00,9517494.812,0.050089945,0.050089945,0.00006 -27-04-2019 8:00,9518580.345,0.059133963,0.059133963,0.00006 -27-04-2019 9:00,9519665.518,0.042437315,0.042437315,0.00006 -27-04-2019 10:00,9520750.332,0.036871765,0.036871765,0.00006 -27-04-2019 11:00,9521834.785,0.031306216,0.031306216,0.00006 -27-04-2019 12:00,9522918.876,0.025044973,0.025044973,0.00006 -27-04-2019 13:00,9524002.607,0.021566504,0.021566504,0.00006 -27-04-2019 14:00,9525085.975,0.016696648,0.016696648,0.00006 -27-04-2019 15:00,9526168.98,0.018783729,0.018783729,0.00006 -27-04-2019 16:00,9527251.622,0.030610522,0.030610522,0.00006 -27-04-2019 17:00,9528333.9,0.054264107,0.054264107,0.00006 -27-04-2019 18:00,9529415.814,0.054959801,0.054959801,0.00006 -27-04-2019 19:00,9530497.362,0.048698558,0.048698558,0.00006 -27-04-2019 20:00,9531578.546,0.040350234,0.040350234,0.00006 -27-04-2019 21:00,9532659.363,0.028523441,0.028523441,0.00006 -27-04-2019 22:00,9533739.813,0.013913874,0.013913874,0.00006 -27-04-2019 23:00,9534819.897,0.004869856,0.004869856,0.00006 -28-04-2019 0:00,9535899.612,0.002782775,0.002782775,0.00006 -28-04-2019 1:00,9536978.959,0.000695694,0.000695694,0.00006 -28-04-2019 2:00,9538057.938,0.000695694,0.000695694,0.00006 -28-04-2019 3:00,9539136.547,0.001391387,0.001391387,0.00006 -28-04-2019 4:00,9540214.786,0.004869856,0.004869856,0.00006 -28-04-2019 5:00,9541292.654,0.039617081,0.039617081,0.00006 -28-04-2019 6:00,9542370.152,0.064699512,0.064699512,0.00006 -28-04-2019 7:00,9543447.277,0.050089945,0.050089945,0.00006 -28-04-2019 8:00,9544524.031,0.059133963,0.059133963,0.00006 -28-04-2019 9:00,9545600.412,0.043038662,0.043038662,0.00006 -28-04-2019 10:00,9546676.42,0.036871765,0.036871765,0.00006 -28-04-2019 11:00,9547752.053,0.031440703,0.031440703,0.00006 -28-04-2019 12:00,9548827.313,0.025533836,0.025533836,0.00006 -28-04-2019 13:00,9549902.197,0.021566504,0.021566504,0.00006 -28-04-2019 14:00,9550976.706,0.016696648,0.016696648,0.00006 -28-04-2019 15:00,9552050.839,0.018783729,0.018783729,0.00006 -28-04-2019 16:00,9553124.595,0.030610522,0.030610522,0.00006 -28-04-2019 17:00,9554197.974,0.054264107,0.054264107,0.00006 -28-04-2019 18:00,9555270.975,0.054959801,0.054959801,0.00006 -28-04-2019 19:00,9556343.598,0.048999878,0.048999878,0.00006 -28-04-2019 20:00,9557415.843,0.04067475,0.04067475,0.00006 -28-04-2019 21:00,9558487.707,0.028796541,0.028796541,0.00006 -28-04-2019 22:00,9559559.192,0.013913874,0.013913874,0.00006 -28-04-2019 23:00,9560630.297,0.004869856,0.004869856,0.00006 -29-04-2019 0:00,9561701.02,0.002782775,0.002782775,0.00006 -29-04-2019 1:00,9562771.362,0.000695694,0.000695694,0.00006 -29-04-2019 2:00,9563841.322,0.000695694,0.000695694,0.00006 -29-04-2019 3:00,9564910.899,0.001391387,0.001391387,0.00006 -29-04-2019 4:00,9565980.093,0.004869856,0.004869856,0.00006 -29-04-2019 5:00,9567048.903,0.040301437,0.040301437,0.00006 -29-04-2019 6:00,9568117.329,0.066668795,0.066668795,0.00006 -29-04-2019 7:00,9569185.37,0.050089945,0.050089945,0.00006 -29-04-2019 8:00,9570253.025,0.059274291,0.059274291,0.00006 -29-04-2019 9:00,9571320.294,0.043727558,0.043727558,0.00006 -29-04-2019 10:00,9572387.177,0.037509783,0.037509783,0.00006 -29-04-2019 11:00,9573453.673,0.031555738,0.031555738,0.00006 -29-04-2019 12:00,9574519.781,0.025611963,0.025611963,0.00006 -29-04-2019 13:00,9575585.502,0.021566504,0.021566504,0.00006 -29-04-2019 14:00,9576650.833,0.016696648,0.016696648,0.00006 -29-04-2019 15:00,9577715.775,0.018783729,0.018783729,0.00006 -29-04-2019 16:00,9578780.327,0.030610522,0.030610522,0.00006 -29-04-2019 17:00,9579844.489,0.054264107,0.054264107,0.00006 -29-04-2019 18:00,9580908.26,0.055009093,0.055009093,0.00006 -29-04-2019 19:00,9581971.64,0.049010928,0.049010928,0.00006 -29-04-2019 20:00,9583034.627,0.040806038,0.040806038,0.00006 -29-04-2019 21:00,9584097.222,0.02878226,0.02878226,0.00006 -29-04-2019 22:00,9585159.424,0.013913874,0.013913874,0.00006 -29-04-2019 23:00,9586221.232,0.004869856,0.004869856,0.00006 -30-04-2019 0:00,9587282.646,0.002782775,0.002782775,0.00006 -30-04-2019 1:00,9588343.666,0.000695694,0.000695694,0.00006 -30-04-2019 2:00,9589404.29,0.000695694,0.000695694,0.00006 -30-04-2019 3:00,9590464.518,0.001391387,0.001391387,0.00006 -30-04-2019 4:00,9591524.35,0.004869856,0.004869856,0.00006 -30-04-2019 5:00,9592583.785,0.039977566,0.039977566,0.00006 -30-04-2019 6:00,9593642.822,0.065963506,0.065963506,0.00006 -30-04-2019 7:00,9594701.462,0.050117612,0.050117612,0.00006 -30-04-2019 8:00,9595759.703,0.059327613,0.059327613,0.00006 -30-04-2019 9:00,9596817.544,0.043947634,0.043947634,0.00006 -30-04-2019 10:00,9597874.987,0.037612081,0.037612081,0.00006 -30-04-2019 11:00,9598932.029,0.032194399,0.032194399,0.00006 -30-04-2019 12:00,9599988.67,0.026320107,0.026320107,0.00006 -30-04-2019 13:00,9601044.91,0.021566504,0.021566504,0.00006 -30-04-2019 14:00,9602100.748,0.016696648,0.016696648,0.00006 -30-04-2019 15:00,9603156.184,0.018783729,0.018783729,0.00006 -30-04-2019 16:00,9604211.217,0.030610522,0.030610522,0.00006 -30-04-2019 17:00,9605265.846,0.054264107,0.054264107,0.00006 -30-04-2019 18:00,9606320.072,0.055212252,0.055212252,0.00006 -30-04-2019 19:00,9607373.893,0.04950075,0.04950075,0.00006 -30-04-2019 20:00,9608427.308,0.040908785,0.040908785,0.00006 -30-04-2019 21:00,9609480.319,0.028804541,0.028804541,0.00006 -30-04-2019 22:00,9610532.923,0.013913874,0.013913874,0.00006 -30-04-2019 23:00,9611585.12,0.004869856,0.004869856,0.00006 -1-5-2019 0:00,9612636.91,0.002782775,0.002782775,0.00006 -1-5-2019 1:00,9613688.293,0.000695694,0.000695694,0.00006 -1-5-2019 2:00,9614739.267,0.000695694,0.000695694,0.00006 -1-5-2019 3:00,9615789.832,0.001391387,0.001391387,0.00006 -1-5-2019 4:00,9616839.988,0.004869856,0.004869856,0.00006 -1-5-2019 5:00,9617889.734,0.040391283,0.040391283,0.00006 -1-5-2019 6:00,9618939.069,0.067476087,0.067476087,0.00006 -1-5-2019 7:00,9619987.993,0.050635831,0.050635831,0.00006 -1-5-2019 8:00,9621036.506,0.060198985,0.060198985,0.00006 -1-5-2019 9:00,9622084.607,0.044063351,0.044063351,0.00006 -1-5-2019 10:00,9623132.295,0.037771574,0.037771574,0.00006 -1-5-2019 11:00,9624179.57,0.031949929,0.031949929,0.00006 -1-5-2019 12:00,9625226.431,0.026103618,0.026103618,0.00006 -1-5-2019 13:00,9626272.878,0.021566504,0.021566504,0.00006 -1-5-2019 14:00,9627318.91,0.016696648,0.016696648,0.00006 -1-5-2019 15:00,9628364.526,0.018783729,0.018783729,0.00006 -1-5-2019 16:00,9629409.727,0.030610522,0.030610522,0.00006 -1-5-2019 17:00,9630454.512,0.054264107,0.054264107,0.00006 -1-5-2019 18:00,9631498.879,0.055312707,0.055312707,0.00006 -1-5-2019 19:00,9632542.829,0.049592628,0.049592628,0.00006 -1-5-2019 20:00,9633586.361,0.041019852,0.041019852,0.00006 -1-5-2019 21:00,9634629.475,0.028869787,0.028869787,0.00006 -1-5-2019 22:00,9635672.169,0.013913874,0.013913874,0.00006 -1-5-2019 23:00,9636714.444,0.004869856,0.004869856,0.00006 -2-5-2019 0:00,9637756.299,0.002782775,0.002782775,0.00006 -2-5-2019 1:00,9638797.733,0.000695694,0.000695694,0.00006 -2-5-2019 2:00,9639838.745,0.000824158,0.000824158,0.00006 -2-5-2019 3:00,9640879.336,0.001657642,0.001657642,0.00006 -2-5-2019 4:00,9641919.505,0.005142284,0.005142284,0.00006 -2-5-2019 5:00,9642959.25,0.040824184,0.040824184,0.00006 -2-5-2019 6:00,9643998.573,0.068613272,0.068613272,0.00006 -2-5-2019 7:00,9645037.471,0.050659578,0.050659578,0.00006 -2-5-2019 8:00,9646075.945,0.060629258,0.060629258,0.00006 -2-5-2019 9:00,9647113.994,0.044123592,0.044123592,0.00006 -2-5-2019 10:00,9648151.617,0.038039552,0.038039552,0.00006 -2-5-2019 11:00,9649188.815,0.032661901,0.032661901,0.00006 -2-5-2019 12:00,9650225.586,0.02765742,0.02765742,0.00006 -2-5-2019 13:00,9651261.929,0.021608945,0.021608945,0.00006 -2-5-2019 14:00,9652297.845,0.016696648,0.016696648,0.00006 -2-5-2019 15:00,9653333.333,0.018783729,0.018783729,0.00006 -2-5-2019 16:00,9654368.392,0.030610522,0.030610522,0.00006 -2-5-2019 17:00,9655403.022,0.054373946,0.054373946,0.00006 -2-5-2019 18:00,9656437.223,0.056480053,0.056480053,0.00006 -2-5-2019 19:00,9657470.992,0.049785124,0.049785124,0.00006 -2-5-2019 20:00,9658504.331,0.041417806,0.041417806,0.00006 -2-5-2019 21:00,9659537.239,0.028870423,0.028870423,0.00006 -2-5-2019 22:00,9660569.715,0.013913874,0.013913874,0.00006 -2-5-2019 23:00,9661601.758,0.004869856,0.004869856,0.00006 -3-5-2019 0:00,9662633.368,0.002782775,0.002782775,0.00006 -3-5-2019 1:00,9663664.545,0.000695694,0.000695694,0.00006 -3-5-2019 2:00,9664695.288,0.000732333,0.000732333,0.00006 -3-5-2019 3:00,9665725.596,0.001655144,0.001655144,0.00006 -3-5-2019 4:00,9666755.469,0.005319417,0.005319417,0.00006 -3-5-2019 5:00,9667784.906,0.040695073,0.040695073,0.00006 -3-5-2019 6:00,9668813.908,0.068716111,0.068716111,0.00006 -3-5-2019 7:00,9669842.472,0.050804945,0.050804945,0.00006 -3-5-2019 8:00,9670870.6,0.060820972,0.060820972,0.00006 -3-5-2019 9:00,9671898.289,0.04426619,0.04426619,0.00006 -3-5-2019 10:00,9672925.541,0.03842846,0.03842846,0.00006 -3-5-2019 11:00,9673952.354,0.033021042,0.033021042,0.00006 -3-5-2019 12:00,9674978.727,0.028248689,0.028248689,0.00006 -3-5-2019 13:00,9676004.66,0.021753137,0.021753137,0.00006 -3-5-2019 14:00,9677030.153,0.016727281,0.016727281,0.00006 -3-5-2019 15:00,9678055.206,0.018797666,0.018797666,0.00006 -3-5-2019 16:00,9679079.816,0.030742752,0.030742752,0.00006 -3-5-2019 17:00,9680103.985,0.055021075,0.055021075,0.00006 -3-5-2019 18:00,9681127.711,0.057360978,0.057360978,0.00006 -3-5-2019 19:00,9682150.995,0.050427015,0.050427015,0.00006 -3-5-2019 20:00,9683173.834,0.041837983,0.041837983,0.00006 -3-5-2019 21:00,9684196.23,0.028935756,0.028935756,0.00006 -3-5-2019 22:00,9685218.181,0.013913874,0.013913874,0.00006 -3-5-2019 23:00,9686239.687,0.004869856,0.004869856,0.00006 -4-5-2019 0:00,9687260.747,0.002782775,0.002782775,0.00006 -4-5-2019 1:00,9688281.361,0.000888411,0.000888411,0.00006 -4-5-2019 2:00,9689301.529,0.001331778,0.001331778,0.00006 -4-5-2019 3:00,9690321.249,0.001843955,0.001843955,0.00006 -4-5-2019 4:00,9691340.521,0.005985248,0.005985248,0.00006 -4-5-2019 5:00,9692359.346,0.040874172,0.040874172,0.00006 -4-5-2019 6:00,9693377.721,0.068121673,0.068121673,0.00006 -4-5-2019 7:00,9694395.647,0.050148697,0.050148697,0.00006 -4-5-2019 8:00,9695413.123,0.060197052,0.060197052,0.00006 -4-5-2019 9:00,9696430.149,0.044096509,0.044096509,0.00006 -4-5-2019 10:00,9697446.724,0.038000397,0.038000397,0.00006 -4-5-2019 11:00,9698462.848,0.032686103,0.032686103,0.00006 -4-5-2019 12:00,9699478.519,0.027926164,0.027926164,0.00006 -4-5-2019 13:00,9700493.739,0.021933122,0.021933122,0.00006 -4-5-2019 14:00,9701508.505,0.016696648,0.016696648,0.00006 -4-5-2019 15:00,9702522.817,0.018783729,0.018783729,0.00006 -4-5-2019 16:00,9703536.676,0.030610522,0.030610522,0.00006 -4-5-2019 17:00,9704550.08,0.054386089,0.054386089,0.00006 -4-5-2019 18:00,9705563.029,0.057029227,0.057029227,0.00006 -4-5-2019 19:00,9706575.523,0.050123224,0.050123224,0.00006 -4-5-2019 20:00,9707587.56,0.04186999,0.04186999,0.00006 -4-5-2019 21:00,9708599.141,0.028983424,0.028983424,0.00006 -4-5-2019 22:00,9709610.265,0.013913874,0.013913874,0.00006 -4-5-2019 23:00,9710620.93,0.004869856,0.004869856,0.00006 -5-5-2019 0:00,9711631.138,0.002967993,0.002967993,0.00006 -5-5-2019 1:00,9712640.887,0.001382966,0.001382966,0.00006 -5-5-2019 2:00,9713650.177,0.001412763,0.001412763,0.00006 -5-5-2019 3:00,9714659.007,0.002044511,0.002044511,0.00006 -5-5-2019 4:00,9715667.377,0.006465375,0.006465375,0.00006 -5-5-2019 5:00,9716675.286,0.041185544,0.041185544,0.00006 -5-5-2019 6:00,9717682.734,0.069572965,0.069572965,0.00006 -5-5-2019 7:00,9718689.719,0.050660554,0.050660554,0.00006 -5-5-2019 8:00,9719696.243,0.061102655,0.061102655,0.00006 -5-5-2019 9:00,9720702.304,0.044548801,0.044548801,0.00006 -5-5-2019 10:00,9721707.901,0.039027644,0.039027644,0.00006 -5-5-2019 11:00,9722713.034,0.034018329,0.034018329,0.00006 -5-5-2019 12:00,9723717.703,0.028307011,0.028307011,0.00006 -5-5-2019 13:00,9724721.908,0.022148493,0.022148493,0.00006 -5-5-2019 14:00,9725725.646,0.017061384,0.017061384,0.00006 -5-5-2019 15:00,9726728.919,0.019064038,0.019064038,0.00006 -5-5-2019 16:00,9727731.725,0.031261377,0.031261377,0.00006 -5-5-2019 17:00,9728734.064,0.054966811,0.054966811,0.00006 -5-5-2019 18:00,9729735.936,0.057951716,0.057951716,0.00006 -5-5-2019 19:00,9730737.34,0.051268838,0.051268838,0.00006 -5-5-2019 20:00,9731738.275,0.042121533,0.042121533,0.00006 -5-5-2019 21:00,9732738.741,0.029019368,0.029019368,0.00006 -5-5-2019 22:00,9733738.737,0.013913874,0.013913874,0.00006 -5-5-2019 23:00,9734738.264,0.004869856,0.004869856,0.00006 -6-5-2019 0:00,9735737.32,0.003512888,0.003512888,0.00006 -6-5-2019 1:00,9736735.904,0.00183726,0.00183726,0.00006 -6-5-2019 2:00,9737734.017,0.001643567,0.001643567,0.00006 -6-5-2019 3:00,9738731.658,0.002425895,0.002425895,0.00006 -6-5-2019 4:00,9739728.827,0.00736554,0.00736554,0.00006 -6-5-2019 5:00,9740725.522,0.041145503,0.041145503,0.00006 -6-5-2019 6:00,9741721.743,0.07124371,0.07124371,0.00006 -6-5-2019 7:00,9742717.491,0.05108084,0.05108084,0.00006 -6-5-2019 8:00,9743712.763,0.062854872,0.062854872,0.00006 -6-5-2019 9:00,9744707.561,0.04504404,0.04504404,0.00006 -6-5-2019 10:00,9745701.882,0.039649465,0.039649465,0.00006 -6-5-2019 11:00,9746695.728,0.034334909,0.034334909,0.00006 -6-5-2019 12:00,9747689.096,0.029621251,0.029621251,0.00006 -6-5-2019 13:00,9748681.988,0.022095219,0.022095219,0.00006 -6-5-2019 14:00,9749674.401,0.017132615,0.017132615,0.00006 -6-5-2019 15:00,9750666.337,0.019096575,0.019096575,0.00006 -6-5-2019 16:00,9751657.793,0.031385355,0.031385355,0.00006 -6-5-2019 17:00,9752648.771,0.055703066,0.055703066,0.00006 -6-5-2019 18:00,9753639.268,0.058644324,0.058644324,0.00006 -6-5-2019 19:00,9754629.285,0.051330311,0.051330311,0.00006 -6-5-2019 20:00,9755618.822,0.042213783,0.042213783,0.00006 -6-5-2019 21:00,9756607.877,0.029047753,0.029047753,0.00006 -6-5-2019 22:00,9757596.45,0.013913874,0.013913874,0.00006 -6-5-2019 23:00,9758584.54,0.005868998,0.005868998,0.00006 -7-5-2019 0:00,9759572.148,0.004250508,0.004250508,0.00006 -7-5-2019 1:00,9760559.273,0.001999699,0.001999699,0.00006 -7-5-2019 2:00,9761545.914,0.001685957,0.001685957,0.00006 -7-5-2019 3:00,9762532.07,0.002503254,0.002503254,0.00006 -7-5-2019 4:00,9763517.741,0.00751132,0.00751132,0.00006 -7-5-2019 5:00,9764502.927,0.041471347,0.041471347,0.00006 -7-5-2019 6:00,9765487.627,0.072325914,0.072325914,0.00006 -7-5-2019 7:00,9766471.841,0.055087667,0.055087667,0.00006 -7-5-2019 8:00,9767455.568,0.064043664,0.064043664,0.00006 -7-5-2019 9:00,9768438.807,0.045093063,0.045093063,0.00006 -7-5-2019 10:00,9769421.558,0.039677561,0.039677561,0.00006 -7-5-2019 11:00,9770403.821,0.034424434,0.034424434,0.00006 -7-5-2019 12:00,9771385.595,0.029598361,0.029598361,0.00006 -7-5-2019 13:00,9772366.88,0.022326501,0.022326501,0.00006 -7-5-2019 14:00,9773347.674,0.017058454,0.017058454,0.00006 -7-5-2019 15:00,9774327.978,0.019021157,0.019021157,0.00006 -7-5-2019 16:00,9775307.791,0.031005483,0.031005483,0.00006 -7-5-2019 17:00,9776287.113,0.055316175,0.055316175,0.00006 -7-5-2019 18:00,9777265.943,0.058308512,0.058308512,0.00006 -7-5-2019 19:00,9778244.28,0.05128778,0.05128778,0.00006 -7-5-2019 20:00,9779222.124,0.042189842,0.042189842,0.00006 -7-5-2019 21:00,9780199.475,0.029107633,0.029107633,0.00006 -7-5-2019 22:00,9781176.332,0.017115222,0.017115222,0.00006 -7-5-2019 23:00,9782152.694,0.006283112,0.006283112,0.00006 -8-5-2019 0:00,9783128.562,0.003822585,0.003822585,0.00006 -8-5-2019 1:00,9784103.933,0.001610726,0.001610726,0.00006 -8-5-2019 2:00,9785078.809,0.001434794,0.001434794,0.00006 -8-5-2019 3:00,9786053.189,0.002057817,0.002057817,0.00006 -8-5-2019 4:00,9787027.071,0.006951201,0.006951201,0.00006 -8-5-2019 5:00,9788000.456,0.041166867,0.041166867,0.00006 -8-5-2019 6:00,9788973.343,0.071703742,0.071703742,0.00006 -8-5-2019 7:00,9789945.731,0.054584118,0.054584118,0.00006 -8-5-2019 8:00,9790917.62,0.063709755,0.063709755,0.00006 -8-5-2019 9:00,9791889.01,0.044821259,0.044821259,0.00006 -8-5-2019 10:00,9792859.9,0.039491227,0.039491227,0.00006 -8-5-2019 11:00,9793830.289,0.034218175,0.034218175,0.00006 -8-5-2019 12:00,9794800.178,0.02952057,0.02952057,0.00006 -8-5-2019 13:00,9795769.565,0.022287499,0.022287499,0.00006 -8-5-2019 14:00,9796738.449,0.016948481,0.016948481,0.00006 -8-5-2019 15:00,9797706.832,0.018958831,0.018958831,0.00006 -8-5-2019 16:00,9798674.711,0.031017196,0.031017196,0.00006 -8-5-2019 17:00,9799642.087,0.055187384,0.055187384,0.00006 -8-5-2019 18:00,9800608.959,0.058039925,0.058039925,0.00006 -8-5-2019 19:00,9801575.326,0.051192402,0.051192402,0.00006 -8-5-2019 20:00,9802541.189,0.04195267,0.04195267,0.00006 -8-5-2019 21:00,9803506.546,0.029331945,0.029331945,0.00006 -8-5-2019 22:00,9804471.397,0.016218916,0.016218916,0.00006 -8-5-2019 23:00,9805435.741,0.006174795,0.006174795,0.00006 -9-5-2019 0:00,9806399.579,0.003225818,0.003225818,0.00006 -9-5-2019 1:00,9807362.909,0.001129393,0.001129393,0.00006 -9-5-2019 2:00,9808325.731,0.001368001,0.001368001,0.00006 -9-5-2019 3:00,9809288.045,0.00198336,0.00198336,0.00006 -9-5-2019 4:00,9810249.85,0.006203385,0.006203385,0.00006 -9-5-2019 5:00,9811211.145,0.040926715,0.040926715,0.00006 -9-5-2019 6:00,9812171.93,0.068724833,0.068724833,0.00006 -9-5-2019 7:00,9813132.205,0.050439787,0.050439787,0.00006 -9-5-2019 8:00,9814091.969,0.060557638,0.060557638,0.00006 -9-5-2019 9:00,9815051.222,0.044083354,0.044083354,0.00006 -9-5-2019 10:00,9816009.962,0.038309302,0.038309302,0.00006 -9-5-2019 11:00,9816968.191,0.032660384,0.032660384,0.00006 -9-5-2019 12:00,9817925.906,0.027967418,0.027967418,0.00006 -9-5-2019 13:00,9818883.108,0.02156653,0.02156653,0.00006 -9-5-2019 14:00,9819839.796,0.016696648,0.016696648,0.00006 -9-5-2019 15:00,9820795.97,0.018783729,0.018783729,0.00006 -9-5-2019 16:00,9821751.629,0.030610522,0.030610522,0.00006 -9-5-2019 17:00,9822706.772,0.054302671,0.054302671,0.00006 -9-5-2019 18:00,9823661.4,0.056106696,0.056106696,0.00006 -9-5-2019 19:00,9824615.511,0.049855996,0.049855996,0.00006 -9-5-2019 20:00,9825569.105,0.041696399,0.041696399,0.00006 -9-5-2019 21:00,9826522.182,0.028901899,0.028901899,0.00006 -9-5-2019 22:00,9827474.742,0.013913874,0.013913874,0.00006 -9-5-2019 23:00,9828426.783,0.004869856,0.004869856,0.00006 -10-5-2019 0:00,9829378.305,0.002782775,0.002782775,0.00006 -10-5-2019 1:00,9830329.308,0.000695694,0.000695694,0.00006 -10-5-2019 2:00,9831279.791,0.001045348,0.001045348,0.00006 -10-5-2019 3:00,9832229.754,0.001681778,0.001681778,0.00006 -10-5-2019 4:00,9833179.196,0.005558885,0.005558885,0.00006 -10-5-2019 5:00,9834128.117,0.040793374,0.040793374,0.00006 -10-5-2019 6:00,9835076.516,0.069313835,0.069313835,0.00006 -10-5-2019 7:00,9836024.393,0.050848835,0.050848835,0.00006 -10-5-2019 8:00,9836971.747,0.061046633,0.061046633,0.00006 -10-5-2019 9:00,9837918.578,0.044361083,0.044361083,0.00006 -10-5-2019 10:00,9838864.886,0.038646216,0.038646216,0.00006 -10-5-2019 11:00,9839810.669,0.033206478,0.033206478,0.00006 -10-5-2019 12:00,9840755.927,0.028573968,0.028573968,0.00006 -10-5-2019 13:00,9841700.661,0.021721578,0.021721578,0.00006 -10-5-2019 14:00,9842644.869,0.016696648,0.016696648,0.00006 -10-5-2019 15:00,9843588.55,0.018783729,0.018783729,0.00006 -10-5-2019 16:00,9844531.705,0.030610522,0.030610522,0.00006 -10-5-2019 17:00,9845474.333,0.054264107,0.054264107,0.00006 -10-5-2019 18:00,9846416.434,0.055647954,0.055647954,0.00006 -10-5-2019 19:00,9847358.006,0.049873755,0.049873755,0.00006 -10-5-2019 20:00,9848299.05,0.041698212,0.041698212,0.00006 -10-5-2019 21:00,9849239.565,0.028921596,0.028921596,0.00006 -10-5-2019 22:00,9850179.55,0.013913874,0.013913874,0.00006 -10-5-2019 23:00,9851119.005,0.004869856,0.004869856,0.00006 -11-5-2019 0:00,9852057.93,0.002782775,0.002782775,0.00006 -11-5-2019 1:00,9852996.324,0.000791097,0.000791097,0.00006 -11-5-2019 2:00,9853934.187,0.00123249,0.00123249,0.00006 -11-5-2019 3:00,9854871.517,0.001731369,0.001731369,0.00006 -11-5-2019 4:00,9855808.315,0.00587586,0.00587586,0.00006 -11-5-2019 5:00,9856744.581,0.041008566,0.041008566,0.00006 -11-5-2019 6:00,9857680.313,0.069886962,0.069886962,0.00006 -11-5-2019 7:00,9858615.511,0.050867478,0.050867478,0.00006 -11-5-2019 8:00,9859550.174,0.061387611,0.061387611,0.00006 -11-5-2019 9:00,9860484.303,0.044110358,0.044110358,0.00006 -11-5-2019 10:00,9861417.897,0.03830621,0.03830621,0.00006 -11-5-2019 11:00,9862350.955,0.032375156,0.032375156,0.00006 -11-5-2019 12:00,9863283.477,0.027119251,0.027119251,0.00006 -11-5-2019 13:00,9864215.462,0.021566504,0.021566504,0.00006 -11-5-2019 14:00,9865146.909,0.016696648,0.016696648,0.00006 -11-5-2019 15:00,9866077.819,0.018783729,0.018783729,0.00006 -11-5-2019 16:00,9867008.191,0.030610522,0.030610522,0.00006 -11-5-2019 17:00,9867938.024,0.054264107,0.054264107,0.00006 -11-5-2019 18:00,9868867.318,0.054959801,0.054959801,0.00006 -11-5-2019 19:00,9869796.073,0.049187221,0.049187221,0.00006 -11-5-2019 20:00,9870724.287,0.041163888,0.041163888,0.00006 -11-5-2019 21:00,9871651.961,0.028915865,0.028915865,0.00006 -11-5-2019 22:00,9872579.094,0.013913874,0.013913874,0.00006 -11-5-2019 23:00,9873505.685,0.004869856,0.004869856,0.00006 -12-5-2019 0:00,9874431.735,0.002782775,0.002782775,0.00006 -12-5-2019 1:00,9875357.242,0.000695694,0.000695694,0.00006 -12-5-2019 2:00,9876282.205,0.000913272,0.000913272,0.00006 -12-5-2019 3:00,9877206.626,0.001579697,0.001579697,0.00006 -12-5-2019 4:00,9878130.503,0.005421605,0.005421605,0.00006 -12-5-2019 5:00,9879053.835,0.040762349,0.040762349,0.00006 -12-5-2019 6:00,9879976.622,0.067498674,0.067498674,0.00006 -12-5-2019 7:00,9880898.864,0.050089945,0.050089945,0.00006 -12-5-2019 8:00,9881820.561,0.059435285,0.059435285,0.00006 -12-5-2019 9:00,9882741.711,0.044028562,0.044028562,0.00006 -12-5-2019 10:00,9883662.314,0.03804653,0.03804653,0.00006 -12-5-2019 11:00,9884582.37,0.03243469,0.03243469,0.00006 -12-5-2019 12:00,9885501.878,0.026595392,0.026595392,0.00006 -12-5-2019 13:00,9886420.839,0.021566504,0.021566504,0.00006 -12-5-2019 14:00,9887339.25,0.016696648,0.016696648,0.00006 -12-5-2019 15:00,9888257.113,0.018783729,0.018783729,0.00006 -12-5-2019 16:00,9889174.426,0.030610522,0.030610522,0.00006 -12-5-2019 17:00,9890091.189,0.054264107,0.054264107,0.00006 -12-5-2019 18:00,9891007.401,0.054959801,0.054959801,0.00006 -12-5-2019 19:00,9891923.062,0.048842361,0.048842361,0.00006 -12-5-2019 20:00,9892838.172,0.040821562,0.040821562,0.00006 -12-5-2019 21:00,9893752.73,0.028927222,0.028927222,0.00006 -12-5-2019 22:00,9894666.736,0.013913874,0.013913874,0.00006 -12-5-2019 23:00,9895580.189,0.004869856,0.004869856,0.00006 -13-05-2019 0:00,9896493.088,0.002782775,0.002782775,0.00006 -13-05-2019 1:00,9897405.434,0.000695694,0.000695694,0.00006 -13-05-2019 2:00,9898317.225,0.000946213,0.000946213,0.00006 -13-05-2019 3:00,9899228.461,0.001612951,0.001612951,0.00006 -13-05-2019 4:00,9900139.143,0.005912067,0.005912067,0.00006 -13-05-2019 5:00,9901049.268,0.040876686,0.040876686,0.00006 -13-05-2019 6:00,9901958.838,0.068136146,0.068136146,0.00006 -13-05-2019 7:00,9902867.851,0.050089945,0.050089945,0.00006 -13-05-2019 8:00,9903776.306,0.05942012,0.05942012,0.00006 -13-05-2019 9:00,9904684.205,0.042990113,0.042990113,0.00006 -13-05-2019 10:00,9905591.545,0.037467333,0.037467333,0.00006 -13-05-2019 11:00,9906498.326,0.031468267,0.031468267,0.00006 -13-05-2019 12:00,9907404.549,0.025217958,0.025217958,0.00006 -13-05-2019 13:00,9908310.212,0.021592148,0.021592148,0.00006 -13-05-2019 14:00,9909215.316,0.016696648,0.016696648,0.00006 -13-05-2019 15:00,9910119.859,0.018783729,0.018783729,0.00006 -13-05-2019 16:00,9911023.841,0.030610522,0.030610522,0.00006 -13-05-2019 17:00,9911927.262,0.054264107,0.054264107,0.00006 -13-05-2019 18:00,9912830.121,0.055064234,0.055064234,0.00006 -13-05-2019 19:00,9913732.418,0.049588985,0.049588985,0.00006 -13-05-2019 20:00,9914634.152,0.041118961,0.041118961,0.00006 -13-05-2019 21:00,9915535.324,0.028913593,0.028913593,0.00006 -13-05-2019 22:00,9916435.931,0.013913874,0.013913874,0.00006 -13-05-2019 23:00,9917335.974,0.004869856,0.004869856,0.00006 -14-05-2019 0:00,9918235.453,0.002782775,0.002782775,0.00006 -14-05-2019 1:00,9919134.367,0.000713678,0.000713678,0.00006 -14-05-2019 2:00,9920032.716,0.001003749,0.001003749,0.00006 -14-05-2019 3:00,9920930.498,0.001739474,0.001739474,0.00006 -14-05-2019 4:00,9921827.714,0.005560625,0.005560625,0.00006 -14-05-2019 5:00,9922724.364,0.04103682,0.04103682,0.00006 -14-05-2019 6:00,9923620.446,0.069530149,0.069530149,0.00006 -14-05-2019 7:00,9924515.96,0.050750539,0.050750539,0.00006 -14-05-2019 8:00,9925410.906,0.060534381,0.060534381,0.00006 -14-05-2019 9:00,9926305.283,0.043420972,0.043420972,0.00006 -14-05-2019 10:00,9927199.091,0.037402879,0.037402879,0.00006 -14-05-2019 11:00,9928092.33,0.031640745,0.031640745,0.00006 -14-05-2019 12:00,9928984.998,0.025603872,0.025603872,0.00006 -14-05-2019 13:00,9929877.096,0.021566504,0.021566504,0.00006 -14-05-2019 14:00,9930768.623,0.016696648,0.016696648,0.00006 -14-05-2019 15:00,9931659.579,0.018783729,0.018783729,0.00006 -14-05-2019 16:00,9932549.962,0.030610522,0.030610522,0.00006 -14-05-2019 17:00,9933439.774,0.054264107,0.054264107,0.00006 -14-05-2019 18:00,9934329.012,0.055302549,0.055302549,0.00006 -14-05-2019 19:00,9935217.677,0.049715764,0.049715764,0.00006 -14-05-2019 20:00,9936105.769,0.041317495,0.041317495,0.00006 -14-05-2019 21:00,9936993.286,0.028891033,0.028891033,0.00006 -14-05-2019 22:00,9937880.228,0.013913874,0.013913874,0.00006 -14-05-2019 23:00,9938766.596,0.004869856,0.004869856,0.00006 -15-05-2019 0:00,9939652.388,0.002782775,0.002782775,0.00006 -15-05-2019 1:00,9940537.604,0.000695694,0.000695694,0.00006 -15-05-2019 2:00,9941422.243,0.000959229,0.000959229,0.00006 -15-05-2019 3:00,9942306.306,0.001711937,0.001711937,0.00006 -15-05-2019 4:00,9943189.791,0.005332482,0.005332482,0.00006 -15-05-2019 5:00,9944072.698,0.040626368,0.040626368,0.00006 -15-05-2019 6:00,9944955.027,0.06723322,0.06723322,0.00006 -15-05-2019 7:00,9945836.777,0.050089945,0.050089945,0.00006 -15-05-2019 8:00,9946717.948,0.059133963,0.059133963,0.00006 -15-05-2019 9:00,9947598.54,0.042807294,0.042807294,0.00006 -15-05-2019 10:00,9948478.551,0.037322783,0.037322783,0.00006 -15-05-2019 11:00,9949357.982,0.031329647,0.031329647,0.00006 -15-05-2019 12:00,9950236.831,0.025044973,0.025044973,0.00006 -15-05-2019 13:00,9951115.1,0.021566504,0.021566504,0.00006 -15-05-2019 14:00,9951992.786,0.016696648,0.016696648,0.00006 -15-05-2019 15:00,9952869.89,0.018783729,0.018783729,0.00006 -15-05-2019 16:00,9953746.411,0.030610522,0.030610522,0.00006 -15-05-2019 17:00,9954622.349,0.054264107,0.054264107,0.00006 -15-05-2019 18:00,9955497.703,0.054959801,0.054959801,0.00006 -15-05-2019 19:00,9956372.473,0.049108709,0.049108709,0.00006 -15-05-2019 20:00,9957246.659,0.040936982,0.040936982,0.00006 -15-05-2019 21:00,9958120.259,0.028845516,0.028845516,0.00006 -15-05-2019 22:00,9958993.274,0.013913874,0.013913874,0.00006 -15-05-2019 23:00,9959865.703,0.004869856,0.004869856,0.00006 -16-05-2019 0:00,9960737.545,0.002782775,0.002782775,0.00006 -16-05-2019 1:00,9961608.801,0.000695694,0.000695694,0.00006 -16-05-2019 2:00,9962479.469,0.000695694,0.000695694,0.00006 -16-05-2019 3:00,9963349.549,0.001391387,0.001391387,0.00006 -16-05-2019 4:00,9964219.042,0.004869856,0.004869856,0.00006 -16-05-2019 5:00,9965087.945,0.040573466,0.040573466,0.00006 -16-05-2019 6:00,9965956.26,0.067833686,0.067833686,0.00006 -16-05-2019 7:00,9966823.985,0.050660453,0.050660453,0.00006 -16-05-2019 8:00,9967691.12,0.060418274,0.060418274,0.00006 -16-05-2019 9:00,9968557.664,0.044084107,0.044084107,0.00006 -16-05-2019 10:00,9969423.618,0.037555589,0.037555589,0.00006 -16-05-2019 11:00,9970288.98,0.032045888,0.032045888,0.00006 -16-05-2019 12:00,9971153.751,0.026080328,0.026080328,0.00006 -16-05-2019 13:00,9972017.929,0.021566504,0.021566504,0.00006 -16-05-2019 14:00,9972881.515,0.016696648,0.016696648,0.00006 -16-05-2019 15:00,9973744.507,0.018783729,0.018783729,0.00006 -16-05-2019 16:00,9974606.906,0.030610522,0.030610522,0.00006 -16-05-2019 17:00,9975468.711,0.054264107,0.054264107,0.00006 -16-05-2019 18:00,9976329.922,0.054992611,0.054992611,0.00006 -16-05-2019 19:00,9977190.538,0.049062605,0.049062605,0.00006 -16-05-2019 20:00,9978050.558,0.040950851,0.040950851,0.00006 -16-05-2019 21:00,9978909.983,0.0288295,0.0288295,0.00006 -16-05-2019 22:00,9979768.811,0.013913874,0.013913874,0.00006 -16-05-2019 23:00,9980627.043,0.004869856,0.004869856,0.00006 -17-05-2019 0:00,9981484.677,0.002782775,0.002782775,0.00006 -17-05-2019 1:00,9982341.714,0.000695694,0.000695694,0.00006 -17-05-2019 2:00,9983198.153,0.000695694,0.000695694,0.00006 -17-05-2019 3:00,9984053.994,0.001391387,0.001391387,0.00006 -17-05-2019 4:00,9984909.236,0.004869856,0.004869856,0.00006 -17-05-2019 5:00,9985763.878,0.04022842,0.04022842,0.00006 -17-05-2019 6:00,9986617.921,0.066934192,0.066934192,0.00006 -17-05-2019 7:00,9987471.364,0.050576969,0.050576969,0.00006 -17-05-2019 8:00,9988324.206,0.059689843,0.059689843,0.00006 -17-05-2019 9:00,9989176.447,0.044001953,0.044001953,0.00006 -17-05-2019 10:00,9990028.086,0.037842982,0.037842982,0.00006 -17-05-2019 11:00,9990879.124,0.032124914,0.032124914,0.00006 -17-05-2019 12:00,9991729.559,0.026733444,0.026733444,0.00006 -17-05-2019 13:00,9992579.391,0.021566504,0.021566504,0.00006 -17-05-2019 14:00,9993428.62,0.016696648,0.016696648,0.00006 -17-05-2019 15:00,9994277.246,0.018783729,0.018783729,0.00006 -17-05-2019 16:00,9995125.267,0.030610522,0.030610522,0.00006 -17-05-2019 17:00,9995972.684,0.054264107,0.054264107,0.00006 -17-05-2019 18:00,9996819.495,0.055185114,0.055185114,0.00006 -17-05-2019 19:00,9997665.702,0.04955822,0.04955822,0.00006 -17-05-2019 20:00,9998511.302,0.041123013,0.041123013,0.00006 -17-05-2019 21:00,9999356.296,0.028816012,0.028816012,0.00006 -17-05-2019 22:00,10000200.68,0.013913874,0.013913874,0.00006 -17-05-2019 23:00,10001044.46,0.004869856,0.004869856,0.00006 -18-05-2019 0:00,10001887.64,0.002782775,0.002782775,0.00006 -18-05-2019 1:00,10002730.2,0.000695694,0.000695694,0.00006 -18-05-2019 2:00,10003572.16,0.000695694,0.000695694,0.00006 -18-05-2019 3:00,10004413.5,0.001391387,0.001391387,0.00006 -18-05-2019 4:00,10005254.24,0.005021555,0.005021555,0.00006 -18-05-2019 5:00,10006094.37,0.04013744,0.04013744,0.00006 -18-05-2019 6:00,10006933.89,0.066214094,0.066214094,0.00006 -18-05-2019 7:00,10007772.8,0.050089945,0.050089945,0.00006 -18-05-2019 8:00,10008611.09,0.059133963,0.059133963,0.00006 -18-05-2019 9:00,10009448.78,0.042883657,0.042883657,0.00006 -18-05-2019 10:00,10010285.85,0.036871765,0.036871765,0.00006 -18-05-2019 11:00,10011122.31,0.031306216,0.031306216,0.00006 -18-05-2019 12:00,10011958.16,0.025044973,0.025044973,0.00006 -18-05-2019 13:00,10012793.39,0.021566504,0.021566504,0.00006 -18-05-2019 14:00,10013628.01,0.016696648,0.016696648,0.00006 -18-05-2019 15:00,10014462.02,0.018783729,0.018783729,0.00006 -18-05-2019 16:00,10015295.41,0.030610522,0.030610522,0.00006 -18-05-2019 17:00,10016128.19,0.054264107,0.054264107,0.00006 -18-05-2019 18:00,10016960.35,0.054959801,0.054959801,0.00006 -18-05-2019 19:00,10017791.9,0.048698558,0.048698558,0.00006 -18-05-2019 20:00,10018622.83,0.040350234,0.040350234,0.00006 -18-05-2019 21:00,10019453.14,0.028523441,0.028523441,0.00006 -18-05-2019 22:00,10020282.84,0.013913874,0.013913874,0.00006 -18-05-2019 23:00,10021111.92,0.004869856,0.004869856,0.00006 -19-05-2019 0:00,10021940.38,0.002782775,0.002782775,0.00006 -19-05-2019 1:00,10022768.22,0.000695694,0.000695694,0.00006 -19-05-2019 2:00,10023595.44,0.000695694,0.000695694,0.00006 -19-05-2019 3:00,10024422.05,0.001391387,0.001391387,0.00006 -19-05-2019 4:00,10025248.03,0.004869856,0.004869856,0.00006 -19-05-2019 5:00,10026073.4,0.039147898,0.039147898,0.00006 -19-05-2019 6:00,10026898.14,0.064699512,0.064699512,0.00006 -19-05-2019 7:00,10027722.26,0.050089945,0.050089945,0.00006 -19-05-2019 8:00,10028545.77,0.059133963,0.059133963,0.00006 -19-05-2019 9:00,10029368.65,0.042561543,0.042561543,0.00006 -19-05-2019 10:00,10030190.91,0.036871765,0.036871765,0.00006 -19-05-2019 11:00,10031012.54,0.031306216,0.031306216,0.00006 -19-05-2019 12:00,10031833.55,0.025151291,0.025151291,0.00006 -19-05-2019 13:00,10032653.94,0.021566504,0.021566504,0.00006 -19-05-2019 14:00,10033473.71,0.016696648,0.016696648,0.00006 -19-05-2019 15:00,10034292.85,0.018783729,0.018783729,0.00006 -19-05-2019 16:00,10035111.37,0.030610522,0.030610522,0.00006 -19-05-2019 17:00,10035929.26,0.054264107,0.054264107,0.00006 -19-05-2019 18:00,10036746.52,0.054959801,0.054959801,0.00006 -19-05-2019 19:00,10037563.16,0.048698558,0.048698558,0.00006 -19-05-2019 20:00,10038379.18,0.040350234,0.040350234,0.00006 -19-05-2019 21:00,10039194.56,0.028523441,0.028523441,0.00006 -19-05-2019 22:00,10040009.32,0.013913874,0.013913874,0.00006 -19-05-2019 23:00,10040823.45,0.004869856,0.004869856,0.00006 -20-05-2019 0:00,10041636.96,0.002782775,0.002782775,0.00006 -20-05-2019 1:00,10042449.83,0.000695694,0.000695694,0.00006 -20-05-2019 2:00,10043262.08,0.000695694,0.000695694,0.00006 -20-05-2019 3:00,10044073.69,0.001391387,0.001391387,0.00006 -20-05-2019 4:00,10044884.68,0.004869856,0.004869856,0.00006 -20-05-2019 5:00,10045695.04,0.039166597,0.039166597,0.00006 -20-05-2019 6:00,10046504.76,0.064699512,0.064699512,0.00006 -20-05-2019 7:00,10047313.86,0.050089945,0.050089945,0.00006 -20-05-2019 8:00,10048122.32,0.059133963,0.059133963,0.00006 -20-05-2019 9:00,10048930.16,0.042648365,0.042648365,0.00006 -20-05-2019 10:00,10049737.36,0.036871765,0.036871765,0.00006 -20-05-2019 11:00,10050543.92,0.031306216,0.031306216,0.00006 -20-05-2019 12:00,10051349.86,0.025243738,0.025243738,0.00006 -20-05-2019 13:00,10052155.16,0.021566504,0.021566504,0.00006 -20-05-2019 14:00,10052959.83,0.016696648,0.016696648,0.00006 -20-05-2019 15:00,10053763.86,0.018783729,0.018783729,0.00006 -20-05-2019 16:00,10054567.26,0.030610522,0.030610522,0.00006 -20-05-2019 17:00,10055370.02,0.054264107,0.054264107,0.00006 -20-05-2019 18:00,10056172.15,0.054959801,0.054959801,0.00006 -20-05-2019 19:00,10056973.64,0.048698558,0.048698558,0.00006 -20-05-2019 20:00,10057774.49,0.040350234,0.040350234,0.00006 -20-05-2019 21:00,10058574.71,0.028523441,0.028523441,0.00006 -20-05-2019 22:00,10059374.29,0.013913874,0.013913874,0.00006 -20-05-2019 23:00,10060173.23,0.004869856,0.004869856,0.00006 -21-05-2019 0:00,10060971.54,0.002782775,0.002782775,0.00006 -21-05-2019 1:00,10061769.21,0.000695694,0.000695694,0.00006 -21-05-2019 2:00,10062566.23,0.000695694,0.000695694,0.00006 -21-05-2019 3:00,10063362.62,0.001391387,0.001391387,0.00006 -21-05-2019 4:00,10064158.37,0.004869856,0.004869856,0.00006 -21-05-2019 5:00,10064953.48,0.039315526,0.039315526,0.00006 -21-05-2019 6:00,10065747.95,0.064699512,0.064699512,0.00006 -21-05-2019 7:00,10066541.78,0.050089945,0.050089945,0.00006 -21-05-2019 8:00,10067334.96,0.059133963,0.059133963,0.00006 -21-05-2019 9:00,10068127.51,0.04281593,0.04281593,0.00006 -21-05-2019 10:00,10068919.41,0.036871765,0.036871765,0.00006 -21-05-2019 11:00,10069710.67,0.031317288,0.031317288,0.00006 -21-05-2019 12:00,10070501.29,0.025388791,0.025388791,0.00006 -21-05-2019 13:00,10071291.26,0.021566504,0.021566504,0.00006 -21-05-2019 14:00,10072080.59,0.016696648,0.016696648,0.00006 -21-05-2019 15:00,10072869.28,0.018783729,0.018783729,0.00006 -21-05-2019 16:00,10073657.32,0.030610522,0.030610522,0.00006 -21-05-2019 17:00,10074444.71,0.054264107,0.054264107,0.00006 -21-05-2019 18:00,10075231.46,0.054959801,0.054959801,0.00006 -21-05-2019 19:00,10076017.57,0.048818087,0.048818087,0.00006 -21-05-2019 20:00,10076803.03,0.040350234,0.040350234,0.00006 -21-05-2019 21:00,10077587.84,0.02866768,0.02866768,0.00006 -21-05-2019 22:00,10078372.01,0.013913874,0.013913874,0.00006 -21-05-2019 23:00,10079155.52,0.004869856,0.004869856,0.00006 -22-05-2019 0:00,10079938.39,0.002782775,0.002782775,0.00006 -22-05-2019 1:00,10080720.62,0.000695694,0.000695694,0.00006 -22-05-2019 2:00,10081502.19,0.000695694,0.000695694,0.00006 -22-05-2019 3:00,10082283.11,0.001391387,0.001391387,0.00006 -22-05-2019 4:00,10083063.39,0.004869856,0.004869856,0.00006 -22-05-2019 5:00,10083843.01,0.039491929,0.039491929,0.00006 -22-05-2019 6:00,10084621.99,0.064699512,0.064699512,0.00006 -22-05-2019 7:00,10085400.31,0.050089945,0.050089945,0.00006 -22-05-2019 8:00,10086177.99,0.059133963,0.059133963,0.00006 -22-05-2019 9:00,10086955.01,0.042493956,0.042493956,0.00006 -22-05-2019 10:00,10087731.38,0.036871765,0.036871765,0.00006 -22-05-2019 11:00,10088507.1,0.031306216,0.031306216,0.00006 -22-05-2019 12:00,10089282.16,0.025044973,0.025044973,0.00006 -22-05-2019 13:00,10090056.58,0.021566504,0.021566504,0.00006 -22-05-2019 14:00,10090830.33,0.016696648,0.016696648,0.00006 -22-05-2019 15:00,10091603.44,0.018783729,0.018783729,0.00006 -22-05-2019 16:00,10092375.89,0.030610522,0.030610522,0.00006 -22-05-2019 17:00,10093147.69,0.054264107,0.054264107,0.00006 -22-05-2019 18:00,10093918.83,0.054959801,0.054959801,0.00006 -22-05-2019 19:00,10094689.32,0.048698558,0.048698558,0.00006 -22-05-2019 20:00,10095459.15,0.040350234,0.040350234,0.00006 -22-05-2019 21:00,10096228.32,0.028523441,0.028523441,0.00006 -22-05-2019 22:00,10096996.84,0.013913874,0.013913874,0.00006 -22-05-2019 23:00,10097764.7,0.004869856,0.004869856,0.00006 -23-05-2019 0:00,10098531.9,0.002782775,0.002782775,0.00006 -23-05-2019 1:00,10099298.45,0.000695694,0.000695694,0.00006 -23-05-2019 2:00,10100064.34,0.000695694,0.000695694,0.00006 -23-05-2019 3:00,10100829.56,0.001391387,0.001391387,0.00006 -23-05-2019 4:00,10101594.13,0.004869856,0.004869856,0.00006 -23-05-2019 5:00,10102358.04,0.039132526,0.039132526,0.00006 -23-05-2019 6:00,10103121.3,0.064699512,0.064699512,0.00006 -23-05-2019 7:00,10103883.89,0.050089945,0.050089945,0.00006 -23-05-2019 8:00,10104645.82,0.059133963,0.059133963,0.00006 -23-05-2019 9:00,10105407.09,0.042437315,0.042437315,0.00006 -23-05-2019 10:00,10106167.69,0.036871765,0.036871765,0.00006 -23-05-2019 11:00,10106927.64,0.031306216,0.031306216,0.00006 -23-05-2019 12:00,10107686.93,0.025044973,0.025044973,0.00006 -23-05-2019 13:00,10108445.55,0.021566504,0.021566504,0.00006 -23-05-2019 14:00,10109203.51,0.016696648,0.016696648,0.00006 -23-05-2019 15:00,10109960.8,0.018783729,0.018783729,0.00006 -23-05-2019 16:00,10110717.43,0.030610522,0.030610522,0.00006 -23-05-2019 17:00,10111473.4,0.054264107,0.054264107,0.00006 -23-05-2019 18:00,10112228.71,0.054959801,0.054959801,0.00006 -23-05-2019 19:00,10112983.34,0.048698558,0.048698558,0.00006 -23-05-2019 20:00,10113737.32,0.040350234,0.040350234,0.00006 -23-05-2019 21:00,10114490.63,0.028523441,0.028523441,0.00006 -23-05-2019 22:00,10115243.27,0.013913874,0.013913874,0.00006 -23-05-2019 23:00,10115995.24,0.004869856,0.004869856,0.00006 -24-05-2019 0:00,10116746.55,0.002782775,0.002782775,0.00006 -24-05-2019 1:00,10117497.2,0.000695694,0.000695694,0.00006 -24-05-2019 2:00,10118247.17,0.000695694,0.000695694,0.00006 -24-05-2019 3:00,10118996.48,0.001391387,0.001391387,0.00006 -24-05-2019 4:00,10119745.12,0.004869856,0.004869856,0.00006 -24-05-2019 5:00,10120493.09,0.038996651,0.038996651,0.00006 -24-05-2019 6:00,10121240.39,0.064699512,0.064699512,0.00006 -24-05-2019 7:00,10121987.02,0.050089945,0.050089945,0.00006 -24-05-2019 8:00,10122732.98,0.059133963,0.059133963,0.00006 -24-05-2019 9:00,10123478.27,0.042437315,0.042437315,0.00006 -24-05-2019 10:00,10124222.89,0.036871765,0.036871765,0.00006 -24-05-2019 11:00,10124966.84,0.031306216,0.031306216,0.00006 -24-05-2019 12:00,10125710.12,0.025044973,0.025044973,0.00006 -24-05-2019 13:00,10126452.72,0.021566504,0.021566504,0.00006 -24-05-2019 14:00,10127194.66,0.016696648,0.016696648,0.00006 -24-05-2019 15:00,10127935.92,0.018783729,0.018783729,0.00006 -24-05-2019 16:00,10128676.51,0.030610522,0.030610522,0.00006 -24-05-2019 17:00,10129416.43,0.054264107,0.054264107,0.00006 -24-05-2019 18:00,10130155.67,0.054959801,0.054959801,0.00006 -24-05-2019 19:00,10130894.24,0.048698558,0.048698558,0.00006 -24-05-2019 20:00,10131632.13,0.040350234,0.040350234,0.00006 -24-05-2019 21:00,10132369.35,0.028523441,0.028523441,0.00006 -24-05-2019 22:00,10133105.89,0.013913874,0.013913874,0.00006 -24-05-2019 23:00,10133841.76,0.004869856,0.004869856,0.00006 -25-05-2019 0:00,10134576.95,0.002782775,0.002782775,0.00006 -25-05-2019 1:00,10135311.47,0.000695694,0.000695694,0.00006 -25-05-2019 2:00,10136045.31,0.000695694,0.000695694,0.00006 -25-05-2019 3:00,10136778.47,0.001391387,0.001391387,0.00006 -25-05-2019 4:00,10137510.95,0.004869856,0.004869856,0.00006 -25-05-2019 5:00,10138242.76,0.038958846,0.038958846,0.00006 -25-05-2019 6:00,10138973.89,0.064699512,0.064699512,0.00006 -25-05-2019 7:00,10139704.34,0.050089945,0.050089945,0.00006 -25-05-2019 8:00,10140434.11,0.059133963,0.059133963,0.00006 -25-05-2019 9:00,10141163.2,0.042437315,0.042437315,0.00006 -25-05-2019 10:00,10141891.62,0.036871765,0.036871765,0.00006 -25-05-2019 11:00,10142619.35,0.031306216,0.031306216,0.00006 -25-05-2019 12:00,10143346.4,0.025044973,0.025044973,0.00006 -25-05-2019 13:00,10144072.77,0.021566504,0.021566504,0.00006 -25-05-2019 14:00,10144798.46,0.016696648,0.016696648,0.00006 -25-05-2019 15:00,10145523.47,0.018783729,0.018783729,0.00006 -25-05-2019 16:00,10146247.8,0.030610522,0.030610522,0.00006 -25-05-2019 17:00,10146971.44,0.054264107,0.054264107,0.00006 -25-05-2019 18:00,10147694.4,0.054959801,0.054959801,0.00006 -25-05-2019 19:00,10148416.68,0.048698558,0.048698558,0.00006 -25-05-2019 20:00,10149138.27,0.040350234,0.040350234,0.00006 -25-05-2019 21:00,10149859.19,0.028523441,0.028523441,0.00006 -25-05-2019 22:00,10150579.41,0.013913874,0.013913874,0.00006 -25-05-2019 23:00,10151298.95,0.004869856,0.004869856,0.00006 -26-05-2019 0:00,10152017.81,0.002782775,0.002782775,0.00006 -26-05-2019 1:00,10152735.98,0.000695694,0.000695694,0.00006 -26-05-2019 2:00,10153453.47,0.000695694,0.000695694,0.00006 -26-05-2019 3:00,10154170.27,0.001391387,0.001391387,0.00006 -26-05-2019 4:00,10154886.39,0.004869856,0.004869856,0.00006 -26-05-2019 5:00,10155601.81,0.038958846,0.038958846,0.00006 -26-05-2019 6:00,10156316.55,0.064699512,0.064699512,0.00006 -26-05-2019 7:00,10157030.61,0.050089945,0.050089945,0.00006 -26-05-2019 8:00,10157743.97,0.059133963,0.059133963,0.00006 -26-05-2019 9:00,10158456.65,0.042437315,0.042437315,0.00006 -26-05-2019 10:00,10159168.64,0.036871765,0.036871765,0.00006 -26-05-2019 11:00,10159879.94,0.031306216,0.031306216,0.00006 -26-05-2019 12:00,10160590.55,0.025044973,0.025044973,0.00006 -26-05-2019 13:00,10161300.47,0.021566504,0.021566504,0.00006 -26-05-2019 14:00,10162009.7,0.016696648,0.016696648,0.00006 -26-05-2019 15:00,10162718.24,0.018783729,0.018783729,0.00006 -26-05-2019 16:00,10163426.09,0.030610522,0.030610522,0.00006 -26-05-2019 17:00,10164133.24,0.054264107,0.054264107,0.00006 -26-05-2019 18:00,10164839.71,0.054959801,0.054959801,0.00006 -26-05-2019 19:00,10165545.48,0.048698558,0.048698558,0.00006 -26-05-2019 20:00,10166250.57,0.040350234,0.040350234,0.00006 -26-05-2019 21:00,10166954.96,0.028523441,0.028523441,0.00006 -26-05-2019 22:00,10167658.65,0.013913874,0.013913874,0.00006 -26-05-2019 23:00,10168361.66,0.004869856,0.004869856,0.00006 -27-05-2019 0:00,10169063.97,0.002782775,0.002782775,0.00006 -27-05-2019 1:00,10169765.58,0.000695694,0.000695694,0.00006 -27-05-2019 2:00,10170466.5,0.000695694,0.000695694,0.00006 -27-05-2019 3:00,10171166.73,0.001391387,0.001391387,0.00006 -27-05-2019 4:00,10171866.26,0.004869856,0.004869856,0.00006 -27-05-2019 5:00,10172565.1,0.038958846,0.038958846,0.00006 -27-05-2019 6:00,10173263.24,0.064699512,0.064699512,0.00006 -27-05-2019 7:00,10173960.68,0.050089945,0.050089945,0.00006 -27-05-2019 8:00,10174657.43,0.059133963,0.059133963,0.00006 -27-05-2019 9:00,10175353.48,0.042437315,0.042437315,0.00006 -27-05-2019 10:00,10176048.83,0.036871765,0.036871765,0.00006 -27-05-2019 11:00,10176743.49,0.031306216,0.031306216,0.00006 -27-05-2019 12:00,10177437.45,0.025044973,0.025044973,0.00006 -27-05-2019 13:00,10178130.71,0.021566504,0.021566504,0.00006 -27-05-2019 14:00,10178823.27,0.016696648,0.016696648,0.00006 -27-05-2019 15:00,10179515.13,0.018783729,0.018783729,0.00006 -27-05-2019 16:00,10180206.29,0.030610522,0.030610522,0.00006 -27-05-2019 17:00,10180896.75,0.054264107,0.054264107,0.00006 -27-05-2019 18:00,10181586.51,0.054959801,0.054959801,0.00006 -27-05-2019 19:00,10182275.58,0.048698558,0.048698558,0.00006 -27-05-2019 20:00,10182963.94,0.040350234,0.040350234,0.00006 -27-05-2019 21:00,10183651.6,0.028523441,0.028523441,0.00006 -27-05-2019 22:00,10184338.55,0.013913874,0.013913874,0.00006 -27-05-2019 23:00,10185024.81,0.004869856,0.004869856,0.00006 -28-05-2019 0:00,10185710.37,0.002782775,0.002782775,0.00006 -28-05-2019 1:00,10186395.22,0.000695694,0.000695694,0.00006 -28-05-2019 2:00,10187079.36,0.000695694,0.000695694,0.00006 -28-05-2019 3:00,10187762.81,0.001391387,0.001391387,0.00006 -28-05-2019 4:00,10188445.55,0.004869856,0.004869856,0.00006 -28-05-2019 5:00,10189127.59,0.038958846,0.038958846,0.00006 -28-05-2019 6:00,10189808.92,0.064699512,0.064699512,0.00006 -28-05-2019 7:00,10190489.55,0.050089945,0.050089945,0.00006 -28-05-2019 8:00,10191169.47,0.059133963,0.059133963,0.00006 -28-05-2019 9:00,10191848.69,0.042437315,0.042437315,0.00006 -28-05-2019 10:00,10192527.2,0.036871765,0.036871765,0.00006 -28-05-2019 11:00,10193205.01,0.031306216,0.031306216,0.00006 -28-05-2019 12:00,10193882.11,0.025044973,0.025044973,0.00006 -28-05-2019 13:00,10194558.5,0.021566504,0.021566504,0.00006 -28-05-2019 14:00,10195234.19,0.016696648,0.016696648,0.00006 -28-05-2019 15:00,10195909.17,0.018783729,0.018783729,0.00006 -28-05-2019 16:00,10196583.44,0.030610522,0.030610522,0.00006 -28-05-2019 17:00,10197257,0.054264107,0.054264107,0.00006 -28-05-2019 18:00,10197929.85,0.054959801,0.054959801,0.00006 -28-05-2019 19:00,10198602,0.048698558,0.048698558,0.00006 -28-05-2019 20:00,10199273.43,0.040350234,0.040350234,0.00006 -28-05-2019 21:00,10199944.16,0.028523441,0.028523441,0.00006 -28-05-2019 22:00,10200614.17,0.013913874,0.013913874,0.00006 -28-05-2019 23:00,10201283.48,0.004869856,0.004869856,0.00006 -29-05-2019 0:00,10201952.07,0.002782775,0.002782775,0.00006 -29-05-2019 1:00,10202619.96,0.000695694,0.000695694,0.00006 -29-05-2019 2:00,10203287.13,0.000695694,0.000695694,0.00006 -29-05-2019 3:00,10203953.59,0.001391387,0.001391387,0.00006 -29-05-2019 4:00,10204619.34,0.004869856,0.004869856,0.00006 -29-05-2019 5:00,10205284.38,0.038958846,0.038958846,0.00006 -29-05-2019 6:00,10205948.7,0.064699512,0.064699512,0.00006 -29-05-2019 7:00,10206612.31,0.050089945,0.050089945,0.00006 -29-05-2019 8:00,10207275.21,0.059133963,0.059133963,0.00006 -29-05-2019 9:00,10207937.39,0.042437315,0.042437315,0.00006 -29-05-2019 10:00,10208598.86,0.036871765,0.036871765,0.00006 -29-05-2019 11:00,10209259.62,0.031306216,0.031306216,0.00006 -29-05-2019 12:00,10209919.66,0.025044973,0.025044973,0.00006 -29-05-2019 13:00,10210578.99,0.021566504,0.021566504,0.00006 -29-05-2019 14:00,10211237.6,0.016696648,0.016696648,0.00006 -29-05-2019 15:00,10211895.49,0.018783729,0.018783729,0.00006 -29-05-2019 16:00,10212552.67,0.030610522,0.030610522,0.00006 -29-05-2019 17:00,10213209.13,0.054264107,0.054264107,0.00006 -29-05-2019 18:00,10213864.88,0.054959801,0.054959801,0.00006 -29-05-2019 19:00,10214519.91,0.048698558,0.048698558,0.00006 -29-05-2019 20:00,10215174.22,0.040350234,0.040350234,0.00006 -29-05-2019 21:00,10215827.81,0.028523441,0.028523441,0.00006 -29-05-2019 22:00,10216480.69,0.013913874,0.013913874,0.00006 -29-05-2019 23:00,10217132.84,0.004869856,0.004869856,0.00006 -30-05-2019 0:00,10217784.28,0.002782775,0.002782775,0.00006 -30-05-2019 1:00,10218435,0.000695694,0.000695694,0.00006 -30-05-2019 2:00,10219085,0.000695694,0.000695694,0.00006 -30-05-2019 3:00,10219734.28,0.001391387,0.001391387,0.00006 -30-05-2019 4:00,10220382.84,0.004869856,0.004869856,0.00006 -30-05-2019 5:00,10221030.68,0.038958846,0.038958846,0.00006 -30-05-2019 6:00,10221677.79,0.064699512,0.064699512,0.00006 -30-05-2019 7:00,10222324.19,0.050089945,0.050089945,0.00006 -30-05-2019 8:00,10222969.87,0.059133963,0.059133963,0.00006 -30-05-2019 9:00,10223614.82,0.042437315,0.042437315,0.00006 -30-05-2019 10:00,10224259.05,0.036871765,0.036871765,0.00006 -30-05-2019 11:00,10224902.56,0.031306216,0.031306216,0.00006 -30-05-2019 12:00,10225545.35,0.025044973,0.025044973,0.00006 -30-05-2019 13:00,10226187.41,0.021566504,0.021566504,0.00006 -30-05-2019 14:00,10226828.75,0.016696648,0.016696648,0.00006 -30-05-2019 15:00,10227469.37,0.018783729,0.018783729,0.00006 -30-05-2019 16:00,10228109.26,0.030610522,0.030610522,0.00006 -30-05-2019 17:00,10228748.43,0.054264107,0.054264107,0.00006 -30-05-2019 18:00,10229386.87,0.054959801,0.054959801,0.00006 -30-05-2019 19:00,10230024.59,0.048698558,0.048698558,0.00006 -30-05-2019 20:00,10230661.58,0.040350234,0.040350234,0.00006 -30-05-2019 21:00,10231297.85,0.028523441,0.028523441,0.00006 -30-05-2019 22:00,10231933.39,0.013913874,0.013913874,0.00006 -30-05-2019 23:00,10232568.2,0.004869856,0.004869856,0.00006 -31-05-2019 0:00,10233202.29,0.002782775,0.002782775,0.00006 -31-05-2019 1:00,10233835.65,0.000695694,0.000695694,0.00006 -31-05-2019 2:00,10234468.29,0.000695694,0.000695694,0.00006 -31-05-2019 3:00,10235100.19,0.001391387,0.001391387,0.00006 -31-05-2019 4:00,10235731.37,0.004869856,0.004869856,0.00006 -31-05-2019 5:00,10236361.82,0.038958846,0.038958846,0.00006 -31-05-2019 6:00,10236991.54,0.064699512,0.064699512,0.00006 -31-05-2019 7:00,10237620.53,0.050089945,0.050089945,0.00006 -31-05-2019 8:00,10238248.79,0.059133963,0.059133963,0.00006 -31-05-2019 9:00,10238876.33,0.042437315,0.042437315,0.00006 -31-05-2019 10:00,10239503.13,0.036871765,0.036871765,0.00006 -31-05-2019 11:00,10240129.2,0.031306216,0.031306216,0.00006 -31-05-2019 12:00,10240754.54,0.025044973,0.025044973,0.00006 -31-05-2019 13:00,10241379.15,0.021566504,0.021566504,0.00006 -31-05-2019 14:00,10242003.03,0.016696648,0.016696648,0.00006 -31-05-2019 15:00,10242626.18,0.018783729,0.018783729,0.00006 -31-05-2019 16:00,10243248.6,0.030610522,0.030610522,0.00006 -31-05-2019 17:00,10243870.28,0.054264107,0.054264107,0.00006 -31-05-2019 18:00,10244491.23,0.054959801,0.054959801,0.00006 -31-05-2019 19:00,10245111.45,0.048698558,0.048698558,0.00006 -31-05-2019 20:00,10245730.94,0.040350234,0.040350234,0.00006 -31-05-2019 21:00,10246349.69,0.028523441,0.028523441,0.00006 -31-05-2019 22:00,10246967.71,0.013913874,0.013913874,0.00006 -31-05-2019 23:00,10247584.99,0.004869856,0.004869856,0.00006 -1-6-2019 0:00,10248201.54,0.002782775,0.002782775,0.00006 -1-6-2019 1:00,10248817.36,0.000695694,0.000695694,0.00006 -1-6-2019 2:00,10249432.44,0.000695694,0.000695694,0.00006 -1-6-2019 3:00,10250046.78,0.001391387,0.001391387,0.00006 -1-6-2019 4:00,10250660.39,0.004869856,0.004869856,0.00006 -1-6-2019 5:00,10251273.26,0.038958846,0.038958846,0.00006 -1-6-2019 6:00,10251885.4,0.064699512,0.064699512,0.00006 -1-6-2019 7:00,10252496.8,0.050089945,0.050089945,0.00006 -1-6-2019 8:00,10253107.46,0.059133963,0.059133963,0.00006 -1-6-2019 9:00,10253717.39,0.042437315,0.042437315,0.00006 -1-6-2019 10:00,10254326.58,0.036871765,0.036871765,0.00006 -1-6-2019 11:00,10254935.03,0.031306216,0.031306216,0.00006 -1-6-2019 12:00,10255542.74,0.025044973,0.025044973,0.00006 -1-6-2019 13:00,10256149.71,0.021566504,0.021566504,0.00006 -1-6-2019 14:00,10256755.95,0.016696648,0.016696648,0.00006 -1-6-2019 15:00,10257361.44,0.018783729,0.018783729,0.00006 -1-6-2019 16:00,10257966.2,0.030610522,0.030610522,0.00006 -1-6-2019 17:00,10258570.21,0.054264107,0.054264107,0.00006 -1-6-2019 18:00,10259173.49,0.054959801,0.054959801,0.00006 -1-6-2019 19:00,10259776.03,0.048698558,0.048698558,0.00006 -1-6-2019 20:00,10260377.82,0.040350234,0.040350234,0.00006 -1-6-2019 21:00,10260978.87,0.028523441,0.028523441,0.00006 -1-6-2019 22:00,10261579.19,0.013913874,0.013913874,0.00006 -1-6-2019 23:00,10262178.76,0.004869856,0.004869856,0.00006 -2-6-2019 0:00,10262777.59,0.002782775,0.002782775,0.00006 -2-6-2019 1:00,10263375.67,0.000695694,0.000695694,0.00006 -2-6-2019 2:00,10263973.02,0.000695694,0.000695694,0.00006 -2-6-2019 3:00,10264569.62,0.001391387,0.001391387,0.00006 -2-6-2019 4:00,10265165.48,0.004869856,0.004869856,0.00006 -2-6-2019 5:00,10265760.59,0.038958846,0.038958846,0.00006 -2-6-2019 6:00,10266354.96,0.064699512,0.064699512,0.00006 -2-6-2019 7:00,10266948.59,0.050089945,0.050089945,0.00006 -2-6-2019 8:00,10267541.47,0.059133963,0.059133963,0.00006 -2-6-2019 9:00,10268133.61,0.042437315,0.042437315,0.00006 -2-6-2019 10:00,10268725,0.036871765,0.036871765,0.00006 -2-6-2019 11:00,10269315.65,0.031306216,0.031306216,0.00006 -2-6-2019 12:00,10269905.55,0.025044973,0.025044973,0.00006 -2-6-2019 13:00,10270494.71,0.021566504,0.021566504,0.00006 -2-6-2019 14:00,10271083.12,0.016696648,0.016696648,0.00006 -2-6-2019 15:00,10271670.78,0.018783729,0.018783729,0.00006 -2-6-2019 16:00,10272257.7,0.030610522,0.030610522,0.00006 -2-6-2019 17:00,10272843.86,0.054264107,0.054264107,0.00006 -2-6-2019 18:00,10273429.29,0.054959801,0.054959801,0.00006 -2-6-2019 19:00,10274013.96,0.048698558,0.048698558,0.00006 -2-6-2019 20:00,10274597.89,0.040350234,0.040350234,0.00006 -2-6-2019 21:00,10275181.06,0.028523441,0.028523441,0.00006 -2-6-2019 22:00,10275763.49,0.013913874,0.013913874,0.00006 -2-6-2019 23:00,10276345.17,0.004869856,0.004869856,0.00006 -3-6-2019 0:00,10276926.1,0.002782775,0.002782775,0.00006 -3-6-2019 1:00,10277506.28,0.000695694,0.000695694,0.00006 -3-6-2019 2:00,10278085.72,0.000695694,0.000695694,0.00006 -3-6-2019 3:00,10278664.4,0.001391387,0.001391387,0.00006 -3-6-2019 4:00,10279242.33,0.004869856,0.004869856,0.00006 -3-6-2019 5:00,10279819.51,0.038958846,0.038958846,0.00006 -3-6-2019 6:00,10280395.94,0.064699512,0.064699512,0.00006 -3-6-2019 7:00,10280971.62,0.050089945,0.050089945,0.00006 -3-6-2019 8:00,10281546.54,0.059133963,0.059133963,0.00006 -3-6-2019 9:00,10282120.72,0.042437315,0.042437315,0.00006 -3-6-2019 10:00,10282694.14,0.036871765,0.036871765,0.00006 -3-6-2019 11:00,10283266.81,0.031306216,0.031306216,0.00006 -3-6-2019 12:00,10283838.72,0.025044973,0.025044973,0.00006 -3-6-2019 13:00,10284409.89,0.021566504,0.021566504,0.00006 -3-6-2019 14:00,10284980.3,0.016696648,0.016696648,0.00006 -3-6-2019 15:00,10285549.96,0.018783729,0.018783729,0.00006 -3-6-2019 16:00,10286118.86,0.030610522,0.030610522,0.00006 -3-6-2019 17:00,10286687.01,0.054264107,0.054264107,0.00006 -3-6-2019 18:00,10287254.4,0.054959801,0.054959801,0.00006 -3-6-2019 19:00,10287821.04,0.048698558,0.048698558,0.00006 -3-6-2019 20:00,10288386.92,0.040350234,0.040350234,0.00006 -3-6-2019 21:00,10288952.05,0.028523441,0.028523441,0.00006 -3-6-2019 22:00,10289516.42,0.013913874,0.013913874,0.00006 -3-6-2019 23:00,10290080.04,0.004869856,0.004869856,0.00006 -4-6-2019 0:00,10290642.9,0.002782775,0.002782775,0.00006 -4-6-2019 1:00,10291205.01,0.000695694,0.000695694,0.00006 -4-6-2019 2:00,10291766.35,0.000695694,0.000695694,0.00006 -4-6-2019 3:00,10292326.94,0.001391387,0.001391387,0.00006 -4-6-2019 4:00,10292886.78,0.004869856,0.004869856,0.00006 -4-6-2019 5:00,10293445.85,0.038958846,0.038958846,0.00006 -4-6-2019 6:00,10294004.17,0.064699512,0.064699512,0.00006 -4-6-2019 7:00,10294561.72,0.050089945,0.050089945,0.00006 -4-6-2019 8:00,10295118.52,0.059133963,0.059133963,0.00006 -4-6-2019 9:00,10295674.57,0.042437315,0.042437315,0.00006 -4-6-2019 10:00,10296229.85,0.036871765,0.036871765,0.00006 -4-6-2019 11:00,10296784.37,0.031306216,0.031306216,0.00006 -4-6-2019 12:00,10297338.13,0.025044973,0.025044973,0.00006 -4-6-2019 13:00,10297891.13,0.021566504,0.021566504,0.00006 -4-6-2019 14:00,10298443.38,0.016696648,0.016696648,0.00006 -4-6-2019 15:00,10298994.86,0.018783729,0.018783729,0.00006 -4-6-2019 16:00,10299545.58,0.030610522,0.030610522,0.00006 -4-6-2019 17:00,10300095.54,0.054264107,0.054264107,0.00006 -4-6-2019 18:00,10300644.74,0.054959801,0.054959801,0.00006 -4-6-2019 19:00,10301193.17,0.048698558,0.048698558,0.00006 -4-6-2019 20:00,10301740.85,0.040350234,0.040350234,0.00006 -4-6-2019 21:00,10302287.76,0.028523441,0.028523441,0.00006 -4-6-2019 22:00,10302833.91,0.013913874,0.013913874,0.00006 -4-6-2019 23:00,10303379.29,0.004869856,0.004869856,0.00006 -5-6-2019 0:00,10303923.92,0.002782775,0.002782775,0.00006 -5-6-2019 1:00,10304467.78,0.000695694,0.000695694,0.00006 -5-6-2019 2:00,10305010.87,0.000695694,0.000695694,0.00006 -5-6-2019 3:00,10305553.21,0.001391387,0.001391387,0.00006 -5-6-2019 4:00,10306094.77,0.004869856,0.004869856,0.00006 -5-6-2019 5:00,10306635.58,0.038958846,0.038958846,0.00006 -5-6-2019 6:00,10307175.62,0.064699512,0.064699512,0.00006 -5-6-2019 7:00,10307714.89,0.050089945,0.050089945,0.00006 -5-6-2019 8:00,10308253.4,0.059133963,0.059133963,0.00006 -5-6-2019 9:00,10308791.14,0.042437315,0.042437315,0.00006 -5-6-2019 10:00,10309328.12,0.036871765,0.036871765,0.00006 -5-6-2019 11:00,10309864.33,0.031306216,0.031306216,0.00006 -5-6-2019 12:00,10310399.77,0.025044973,0.025044973,0.00006 -5-6-2019 13:00,10310934.45,0.021566504,0.021566504,0.00006 -5-6-2019 14:00,10311468.36,0.016696648,0.016696648,0.00006 -5-6-2019 15:00,10312001.5,0.018783729,0.018783729,0.00006 -5-6-2019 16:00,10312533.88,0.030610522,0.030610522,0.00006 -5-6-2019 17:00,10313065.48,0.054264107,0.054264107,0.00006 -5-6-2019 18:00,10313596.32,0.054959801,0.054959801,0.00006 -5-6-2019 19:00,10314126.39,0.048698558,0.048698558,0.00006 -5-6-2019 20:00,10314655.7,0.040350234,0.040350234,0.00006 -5-6-2019 21:00,10315184.23,0.028523441,0.028523441,0.00006 -5-6-2019 22:00,10315711.99,0.013913874,0.013913874,0.00006 -5-6-2019 23:00,10316238.99,0.004869856,0.004869856,0.00006 -6-6-2019 0:00,10316765.21,0.002782775,0.002782775,0.00006 -6-6-2019 1:00,10317290.67,0.000695694,0.000695694,0.00006 -6-6-2019 2:00,10317815.35,0.000695694,0.000695694,0.00006 -6-6-2019 3:00,10318339.27,0.001391387,0.001391387,0.00006 -6-6-2019 4:00,10318862.41,0.004869856,0.004869856,0.00006 -6-6-2019 5:00,10319384.78,0.038958846,0.038958846,0.00006 -6-6-2019 6:00,10319906.38,0.064699512,0.064699512,0.00006 -6-6-2019 7:00,10320427.21,0.050089945,0.050089945,0.00006 -6-6-2019 8:00,10320947.27,0.059133963,0.059133963,0.00006 -6-6-2019 9:00,10321466.55,0.042437315,0.042437315,0.00006 -6-6-2019 10:00,10321985.07,0.036871765,0.036871765,0.00006 -6-6-2019 11:00,10322502.81,0.031306216,0.031306216,0.00006 -6-6-2019 12:00,10323019.77,0.025044973,0.025044973,0.00006 -6-6-2019 13:00,10323535.97,0.021566504,0.021566504,0.00006 -6-6-2019 14:00,10324051.39,0.016696648,0.016696648,0.00006 -6-6-2019 15:00,10324566.03,0.018783729,0.018783729,0.00006 -6-6-2019 16:00,10325079.91,0.030610522,0.030610522,0.00006 -6-6-2019 17:00,10325593,0.054264107,0.054264107,0.00006 -6-6-2019 18:00,10326105.33,0.054959801,0.054959801,0.00006 -6-6-2019 19:00,10326616.88,0.048698558,0.048698558,0.00006 -6-6-2019 20:00,10327127.65,0.040350234,0.040350234,0.00006 -6-6-2019 21:00,10327637.65,0.028523441,0.028523441,0.00006 -6-6-2019 22:00,10328146.87,0.013913874,0.013913874,0.00006 -6-6-2019 23:00,10328655.32,0.004869856,0.004869856,0.00006 -7-6-2019 0:00,10329162.99,0.002782775,0.002782775,0.00006 -7-6-2019 1:00,10329669.88,0.000695694,0.000695694,0.00006 -7-6-2019 2:00,10330176,0.000695694,0.000695694,0.00006 -7-6-2019 3:00,10330681.34,0.001391387,0.001391387,0.00006 -7-6-2019 4:00,10331185.9,0.004869856,0.004869856,0.00006 -7-6-2019 5:00,10331689.69,0.038958846,0.038958846,0.00006 -7-6-2019 6:00,10332192.7,0.064699512,0.064699512,0.00006 -7-6-2019 7:00,10332694.93,0.050089945,0.050089945,0.00006 -7-6-2019 8:00,10333196.38,0.059133963,0.059133963,0.00006 -7-6-2019 9:00,10333697.05,0.042437315,0.042437315,0.00006 -7-6-2019 10:00,10334196.95,0.036871765,0.036871765,0.00006 -7-6-2019 11:00,10334696.06,0.031306216,0.031306216,0.00006 -7-6-2019 12:00,10335194.4,0.025044973,0.025044973,0.00006 -7-6-2019 13:00,10335691.96,0.021566504,0.021566504,0.00006 -7-6-2019 14:00,10336188.73,0.016696648,0.016696648,0.00006 -7-6-2019 15:00,10336684.73,0.018783729,0.018783729,0.00006 -7-6-2019 16:00,10337179.95,0.030610522,0.030610522,0.00006 -7-6-2019 17:00,10337674.38,0.054264107,0.054264107,0.00006 -7-6-2019 18:00,10338168.04,0.054959801,0.054959801,0.00006 -7-6-2019 19:00,10338660.91,0.048698558,0.048698558,0.00006 -7-6-2019 20:00,10339153.01,0.040350234,0.040350234,0.00006 -7-6-2019 21:00,10339644.32,0.028523441,0.028523441,0.00006 -7-6-2019 22:00,10340134.85,0.013913874,0.013913874,0.00006 -7-6-2019 23:00,10340624.6,0.004869856,0.004869856,0.00006 -8-6-2019 0:00,10341113.56,0.002782775,0.002782775,0.00006 -8-6-2019 1:00,10341601.75,0.000695694,0.000695694,0.00006 -8-6-2019 2:00,10342089.15,0.000695694,0.000695694,0.00006 -8-6-2019 3:00,10342575.76,0.001391387,0.001391387,0.00006 -8-6-2019 4:00,10343061.6,0.004869856,0.004869856,0.00006 -8-6-2019 5:00,10343546.65,0.038958846,0.038958846,0.00006 -8-6-2019 6:00,10344030.91,0.064699512,0.064699512,0.00006 -8-6-2019 7:00,10344514.4,0.050089945,0.050089945,0.00006 -8-6-2019 8:00,10344997.09,0.059133963,0.059133963,0.00006 -8-6-2019 9:00,10345479.01,0.042437315,0.042437315,0.00006 -8-6-2019 10:00,10345960.14,0.036871765,0.036871765,0.00006 -8-6-2019 11:00,10346440.48,0.031306216,0.031306216,0.00006 -8-6-2019 12:00,10346920.04,0.025044973,0.025044973,0.00006 -8-6-2019 13:00,10347398.81,0.021566504,0.021566504,0.00006 -8-6-2019 14:00,10347876.8,0.016696648,0.016696648,0.00006 -8-6-2019 15:00,10348354,0.018783729,0.018783729,0.00006 -8-6-2019 16:00,10348830.42,0.030610522,0.030610522,0.00006 -8-6-2019 17:00,10349306.04,0.054264107,0.054264107,0.00006 -8-6-2019 18:00,10349780.89,0.054959801,0.054959801,0.00006 -8-6-2019 19:00,10350254.94,0.048698558,0.048698558,0.00006 -8-6-2019 20:00,10350728.21,0.040350234,0.040350234,0.00006 -8-6-2019 21:00,10351200.69,0.028523441,0.028523441,0.00006 -8-6-2019 22:00,10351672.38,0.013913874,0.013913874,0.00006 -8-6-2019 23:00,10352143.28,0.004869856,0.004869856,0.00006 -9-6-2019 0:00,10352613.4,0.002782775,0.002782775,0.00006 -9-6-2019 1:00,10353082.73,0.000695694,0.000695694,0.00006 -9-6-2019 2:00,10353551.26,0.000695694,0.000695694,0.00006 -9-6-2019 3:00,10354019.01,0.001391387,0.001391387,0.00006 -9-6-2019 4:00,10354485.98,0.004869856,0.004869856,0.00006 -9-6-2019 5:00,10354952.15,0.038958846,0.038958846,0.00006 -9-6-2019 6:00,10355417.53,0.064699512,0.064699512,0.00006 -9-6-2019 7:00,10355882.12,0.050089945,0.050089945,0.00006 -9-6-2019 8:00,10356345.92,0.059133963,0.059133963,0.00006 -9-6-2019 9:00,10356808.93,0.042437315,0.042437315,0.00006 -9-6-2019 10:00,10357271.15,0.036871765,0.036871765,0.00006 -9-6-2019 11:00,10357732.58,0.031306216,0.031306216,0.00006 -9-6-2019 12:00,10358193.22,0.025044973,0.025044973,0.00006 -9-6-2019 13:00,10358653.07,0.021566504,0.021566504,0.00006 -9-6-2019 14:00,10359112.12,0.016696648,0.016696648,0.00006 -9-6-2019 15:00,10359570.39,0.018783729,0.018783729,0.00006 -9-6-2019 16:00,10360027.86,0.030610522,0.030610522,0.00006 -9-6-2019 17:00,10360484.54,0.054264107,0.054264107,0.00006 -9-6-2019 18:00,10360940.42,0.054959801,0.054959801,0.00006 -9-6-2019 19:00,10361395.52,0.048698558,0.048698558,0.00006 -9-6-2019 20:00,10361849.82,0.040350234,0.040350234,0.00006 -9-6-2019 21:00,10362303.33,0.028523441,0.028523441,0.00006 -9-6-2019 22:00,10362756.04,0.013913874,0.013913874,0.00006 -9-6-2019 23:00,10363207.96,0.004869856,0.004869856,0.00006 -10-6-2019 0:00,10363659.09,0.002782775,0.002782775,0.00006 -10-6-2019 1:00,10364109.42,0.000695694,0.000695694,0.00006 -10-6-2019 2:00,10364558.96,0.000695694,0.000695694,0.00006 -10-6-2019 3:00,10365007.7,0.001391387,0.001391387,0.00006 -10-6-2019 4:00,10365455.65,0.004869856,0.004869856,0.00006 -10-6-2019 5:00,10365902.81,0.038958846,0.038958846,0.00006 -10-6-2019 6:00,10366349.16,0.064699512,0.064699512,0.00006 -10-6-2019 7:00,10366794.73,0.050089945,0.050089945,0.00006 -10-6-2019 8:00,10367239.49,0.059133963,0.059133963,0.00006 -10-6-2019 9:00,10367683.47,0.042437315,0.042437315,0.00006 -10-6-2019 10:00,10368126.64,0.036871765,0.036871765,0.00006 -10-6-2019 11:00,10368569.02,0.031306216,0.031306216,0.00006 -10-6-2019 12:00,10369010.6,0.025044973,0.025044973,0.00006 -10-6-2019 13:00,10369451.39,0.021566504,0.021566504,0.00006 -10-6-2019 14:00,10369891.37,0.016696648,0.016696648,0.00006 -10-6-2019 15:00,10370330.56,0.018783729,0.018783729,0.00006 -10-6-2019 16:00,10370768.96,0.030610522,0.030610522,0.00006 -10-6-2019 17:00,10371206.55,0.054264107,0.054264107,0.00006 -10-6-2019 18:00,10371643.35,0.054959801,0.054959801,0.00006 -10-6-2019 19:00,10372079.35,0.048698558,0.048698558,0.00006 -10-6-2019 20:00,10372514.55,0.040350234,0.040350234,0.00006 -10-6-2019 21:00,10372948.95,0.028523441,0.028523441,0.00006 -10-6-2019 22:00,10373382.55,0.013913874,0.013913874,0.00006 -10-6-2019 23:00,10373815.36,0.004869856,0.004869856,0.00006 -11-6-2019 0:00,10374247.36,0.002782775,0.002782775,0.00006 -11-6-2019 1:00,10374678.56,0.000695694,0.000695694,0.00006 -11-6-2019 2:00,10375108.97,0.000695694,0.000695694,0.00006 -11-6-2019 3:00,10375538.57,0.001391387,0.001391387,0.00006 -11-6-2019 4:00,10375967.38,0.004869856,0.004869856,0.00006 -11-6-2019 5:00,10376395.38,0.038958846,0.038958846,0.00006 -11-6-2019 6:00,10376822.58,0.064699512,0.064699512,0.00006 -11-6-2019 7:00,10377248.99,0.050089945,0.050089945,0.00006 -11-6-2019 8:00,10377674.59,0.059133963,0.059133963,0.00006 -11-6-2019 9:00,10378099.39,0.042437315,0.042437315,0.00006 -11-6-2019 10:00,10378523.39,0.036871765,0.036871765,0.00006 -11-6-2019 11:00,10378946.58,0.031306216,0.031306216,0.00006 -11-6-2019 12:00,10379368.98,0.025044973,0.025044973,0.00006 -11-6-2019 13:00,10379790.57,0.021566504,0.021566504,0.00006 -11-6-2019 14:00,10380211.36,0.016696648,0.016696648,0.00006 -11-6-2019 15:00,10380631.35,0.018783729,0.018783729,0.00006 -11-6-2019 16:00,10381050.53,0.030610522,0.030610522,0.00006 -11-6-2019 17:00,10381468.91,0.054264107,0.054264107,0.00006 -11-6-2019 18:00,10381886.49,0.054959801,0.054959801,0.00006 -11-6-2019 19:00,10382303.26,0.048698558,0.048698558,0.00006 -11-6-2019 20:00,10382719.23,0.040350234,0.040350234,0.00006 -11-6-2019 21:00,10383134.4,0.028523441,0.028523441,0.00006 -11-6-2019 22:00,10383548.76,0.013913874,0.013913874,0.00006 -11-6-2019 23:00,10383962.32,0.004869856,0.004869856,0.00006 -12-6-2019 0:00,10384375.07,0.002782775,0.002782775,0.00006 -12-6-2019 1:00,10384787.02,0.000695694,0.000695694,0.00006 -12-6-2019 2:00,10385198.16,0.000695694,0.000695694,0.00006 -12-6-2019 3:00,10385608.5,0.001391387,0.001391387,0.00006 -12-6-2019 4:00,10386018.04,0.004869856,0.004869856,0.00006 -12-6-2019 5:00,10386426.76,0.038958846,0.038958846,0.00006 -12-6-2019 6:00,10386834.68,0.064699512,0.064699512,0.00006 -12-6-2019 7:00,10387241.8,0.050089945,0.050089945,0.00006 -12-6-2019 8:00,10387648.11,0.059133963,0.059133963,0.00006 -12-6-2019 9:00,10388053.61,0.042437315,0.042437315,0.00006 -12-6-2019 10:00,10388458.31,0.036871765,0.036871765,0.00006 -12-6-2019 11:00,10388862.2,0.031306216,0.031306216,0.00006 -12-6-2019 12:00,10389265.28,0.025044973,0.025044973,0.00006 -12-6-2019 13:00,10389667.55,0.021566504,0.021566504,0.00006 -12-6-2019 14:00,10390069.02,0.016696648,0.016696648,0.00006 -12-6-2019 15:00,10390469.68,0.018783729,0.018783729,0.00006 -12-6-2019 16:00,10390869.53,0.030610522,0.030610522,0.00006 -12-6-2019 17:00,10391268.57,0.054264107,0.054264107,0.00006 -12-6-2019 18:00,10391666.81,0.054959801,0.054959801,0.00006 -12-6-2019 19:00,10392064.23,0.048698558,0.048698558,0.00006 -12-6-2019 20:00,10392460.85,0.040350234,0.040350234,0.00006 -12-6-2019 21:00,10392856.66,0.028523441,0.028523441,0.00006 -12-6-2019 22:00,10393251.66,0.013913874,0.013913874,0.00006 -12-6-2019 23:00,10393645.85,0.004869856,0.004869856,0.00006 -13-06-2019 0:00,10394039.23,0.002782775,0.002782775,0.00006 -13-06-2019 1:00,10394431.8,0.000695694,0.000695694,0.00006 -13-06-2019 2:00,10394823.56,0.000695694,0.000695694,0.00006 -13-06-2019 3:00,10395214.51,0.001391387,0.001391387,0.00006 -13-06-2019 4:00,10395604.65,0.004869856,0.004869856,0.00006 -13-06-2019 5:00,10395993.98,0.038958846,0.038958846,0.00006 -13-06-2019 6:00,10396382.5,0.064699512,0.064699512,0.00006 -13-06-2019 7:00,10396770.21,0.050089945,0.050089945,0.00006 -13-06-2019 8:00,10397157.1,0.059133963,0.059133963,0.00006 -13-06-2019 9:00,10397543.19,0.042437315,0.042437315,0.00006 -13-06-2019 10:00,10397928.46,0.036871765,0.036871765,0.00006 -13-06-2019 11:00,10398312.92,0.031306216,0.031306216,0.00006 -13-06-2019 12:00,10398696.57,0.025044973,0.025044973,0.00006 -13-06-2019 13:00,10399079.41,0.021566504,0.021566504,0.00006 -13-06-2019 14:00,10399461.43,0.016696648,0.016696648,0.00006 -13-06-2019 15:00,10399842.65,0.018783729,0.018783729,0.00006 -13-06-2019 16:00,10400223.05,0.030610522,0.030610522,0.00006 -13-06-2019 17:00,10400602.63,0.054264107,0.054264107,0.00006 -13-06-2019 18:00,10400981.41,0.054959801,0.054959801,0.00006 -13-06-2019 19:00,10401359.37,0.048698558,0.048698558,0.00006 -13-06-2019 20:00,10401736.51,0.040350234,0.040350234,0.00006 -13-06-2019 21:00,10402112.85,0.028523441,0.028523441,0.00006 -13-06-2019 22:00,10402488.37,0.013913874,0.013913874,0.00006 -13-06-2019 23:00,10402863.07,0.004869856,0.004869856,0.00006 -14-06-2019 0:00,10403236.96,0.002782775,0.002782775,0.00006 -14-06-2019 1:00,10403610.04,0.000695694,0.000695694,0.00006 -14-06-2019 2:00,10403982.3,0.000695694,0.000695694,0.00006 -14-06-2019 3:00,10404353.75,0.001391387,0.001391387,0.00006 -14-06-2019 4:00,10404724.38,0.004869856,0.004869856,0.00006 -14-06-2019 5:00,10405094.19,0.038958846,0.038958846,0.00006 -14-06-2019 6:00,10405463.19,0.064699512,0.064699512,0.00006 -14-06-2019 7:00,10405831.38,0.050089945,0.050089945,0.00006 -14-06-2019 8:00,10406198.75,0.059133963,0.059133963,0.00006 -14-06-2019 9:00,10406565.3,0.042437315,0.042437315,0.00006 -14-06-2019 10:00,10406931.04,0.036871765,0.036871765,0.00006 -14-06-2019 11:00,10407295.96,0.031306216,0.031306216,0.00006 -14-06-2019 12:00,10407660.06,0.025044973,0.025044973,0.00006 -14-06-2019 13:00,10408023.35,0.021566504,0.021566504,0.00006 -14-06-2019 14:00,10408385.82,0.016696648,0.016696648,0.00006 -14-06-2019 15:00,10408747.47,0.018783729,0.018783729,0.00006 -14-06-2019 16:00,10409108.31,0.030610522,0.030610522,0.00006 -14-06-2019 17:00,10409468.33,0.054264107,0.054264107,0.00006 -14-06-2019 18:00,10409827.53,0.054959801,0.054959801,0.00006 -14-06-2019 19:00,10410185.91,0.048698558,0.048698558,0.00006 -14-06-2019 20:00,10410543.48,0.040350234,0.040350234,0.00006 -14-06-2019 21:00,10410900.22,0.028523441,0.028523441,0.00006 -14-06-2019 22:00,10411256.15,0.013913874,0.013913874,0.00006 -14-06-2019 23:00,10411611.26,0.004869856,0.004869856,0.00006 -15-06-2019 0:00,10411965.55,0.002782775,0.002782775,0.00006 -15-06-2019 1:00,10412319.02,0.000695694,0.000695694,0.00006 -15-06-2019 2:00,10412671.67,0.000695694,0.000695694,0.00006 -15-06-2019 3:00,10413023.5,0.001391387,0.001391387,0.00006 -15-06-2019 4:00,10413374.52,0.004869856,0.004869856,0.00006 -15-06-2019 5:00,10413724.71,0.038958846,0.038958846,0.00006 -15-06-2019 6:00,10414074.08,0.064699512,0.064699512,0.00006 -15-06-2019 7:00,10414422.64,0.050089945,0.050089945,0.00006 -15-06-2019 8:00,10414770.37,0.059133963,0.059133963,0.00006 -15-06-2019 9:00,10415117.28,0.042437315,0.042437315,0.00006 -15-06-2019 10:00,10415463.38,0.036871765,0.036871765,0.00006 -15-06-2019 11:00,10415808.65,0.031306216,0.031306216,0.00006 -15-06-2019 12:00,10416153.1,0.025044973,0.025044973,0.00006 -15-06-2019 13:00,10416496.73,0.021566504,0.021566504,0.00006 -15-06-2019 14:00,10416839.53,0.016696648,0.016696648,0.00006 -15-06-2019 15:00,10417181.52,0.018783729,0.018783729,0.00006 -15-06-2019 16:00,10417522.69,0.030610522,0.030610522,0.00006 -15-06-2019 17:00,10417863.03,0.054264107,0.054264107,0.00006 -15-06-2019 18:00,10418202.55,0.054959801,0.054959801,0.00006 -15-06-2019 19:00,10418541.25,0.048698558,0.048698558,0.00006 -15-06-2019 20:00,10418879.12,0.040350234,0.040350234,0.00006 -15-06-2019 21:00,10419216.18,0.028523441,0.028523441,0.00006 -15-06-2019 22:00,10419552.41,0.013913874,0.013913874,0.00006 -15-06-2019 23:00,10419887.82,0.004869856,0.004869856,0.00006 -16-06-2019 0:00,10420222.4,0.002782775,0.002782775,0.00006 -16-06-2019 1:00,10420556.16,0.000695694,0.000695694,0.00006 -16-06-2019 2:00,10420889.1,0.000695694,0.000695694,0.00006 -16-06-2019 3:00,10421221.22,0.001391387,0.001391387,0.00006 -16-06-2019 4:00,10421552.51,0.004869856,0.004869856,0.00006 -16-06-2019 5:00,10421882.97,0.038958846,0.038958846,0.00006 -16-06-2019 6:00,10422212.62,0.064699512,0.064699512,0.00006 -16-06-2019 7:00,10422541.43,0.050089945,0.050089945,0.00006 -16-06-2019 8:00,10422869.43,0.059133963,0.059133963,0.00006 -16-06-2019 9:00,10423196.6,0.042437315,0.042437315,0.00006 -16-06-2019 10:00,10423522.94,0.036871765,0.036871765,0.00006 -16-06-2019 11:00,10423848.46,0.031306216,0.031306216,0.00006 -16-06-2019 12:00,10424173.16,0.025044973,0.025044973,0.00006 -16-06-2019 13:00,10424497.03,0.021566504,0.021566504,0.00006 -16-06-2019 14:00,10424820.07,0.016696648,0.016696648,0.00006 -16-06-2019 15:00,10425142.29,0.018783729,0.018783729,0.00006 -16-06-2019 16:00,10425463.68,0.030610522,0.030610522,0.00006 -16-06-2019 17:00,10425784.25,0.054264107,0.054264107,0.00006 -16-06-2019 18:00,10426103.99,0.054959801,0.054959801,0.00006 -16-06-2019 19:00,10426422.9,0.048698558,0.048698558,0.00006 -16-06-2019 20:00,10426740.99,0.040350234,0.040350234,0.00006 -16-06-2019 21:00,10427058.25,0.028523441,0.028523441,0.00006 -16-06-2019 22:00,10427374.69,0.013913874,0.013913874,0.00006 -16-06-2019 23:00,10427690.29,0.004869856,0.004869856,0.00006 -17-06-2019 0:00,10428005.07,0.002782775,0.002782775,0.00006 -17-06-2019 1:00,10428319.03,0.000695694,0.000695694,0.00006 -17-06-2019 2:00,10428632.15,0.000695694,0.000695694,0.00006 -17-06-2019 3:00,10428944.45,0.001391387,0.001391387,0.00006 -17-06-2019 4:00,10429255.92,0.004869856,0.004869856,0.00006 -17-06-2019 5:00,10429566.56,0.038958846,0.038958846,0.00006 -17-06-2019 6:00,10429876.38,0.064699512,0.064699512,0.00006 -17-06-2019 7:00,10430185.36,0.050089945,0.050089945,0.00006 -17-06-2019 8:00,10430493.52,0.059133963,0.059133963,0.00006 -17-06-2019 9:00,10430800.85,0.042437315,0.042437315,0.00006 -17-06-2019 10:00,10431107.35,0.036871765,0.036871765,0.00006 -17-06-2019 11:00,10431413.02,0.031306216,0.031306216,0.00006 -17-06-2019 12:00,10431717.87,0.025044973,0.025044973,0.00006 -17-06-2019 13:00,10432021.88,0.021566504,0.021566504,0.00006 -17-06-2019 14:00,10432325.06,0.016696648,0.016696648,0.00006 -17-06-2019 15:00,10432627.42,0.018783729,0.018783729,0.00006 -17-06-2019 16:00,10432928.94,0.030610522,0.030610522,0.00006 -17-06-2019 17:00,10433229.64,0.054264107,0.054264107,0.00006 -17-06-2019 18:00,10433529.5,0.054959801,0.054959801,0.00006 -17-06-2019 19:00,10433828.54,0.048698558,0.048698558,0.00006 -17-06-2019 20:00,10434126.74,0.040350234,0.040350234,0.00006 -17-06-2019 21:00,10434424.12,0.028523441,0.028523441,0.00006 -17-06-2019 22:00,10434720.66,0.013913874,0.013913874,0.00006 -17-06-2019 23:00,10435016.38,0.004869856,0.004869856,0.00006 -18-06-2019 0:00,10435311.26,0.002782775,0.002782775,0.00006 -18-06-2019 1:00,10435605.31,0.000695694,0.000695694,0.00006 -18-06-2019 2:00,10435898.53,0.000695694,0.000695694,0.00006 -18-06-2019 3:00,10436190.92,0.001391387,0.001391387,0.00006 -18-06-2019 4:00,10436482.48,0.004869856,0.004869856,0.00006 -18-06-2019 5:00,10436773.2,0.038958846,0.038958846,0.00006 -18-06-2019 6:00,10437063.1,0.064699512,0.064699512,0.00006 -18-06-2019 7:00,10437352.16,0.050089945,0.050089945,0.00006 -18-06-2019 8:00,10437640.39,0.059133963,0.059133963,0.00006 -18-06-2019 9:00,10437927.79,0.042437315,0.042437315,0.00006 -18-06-2019 10:00,10438214.35,0.036871765,0.036871765,0.00006 -18-06-2019 11:00,10438500.09,0.031306216,0.031306216,0.00006 -18-06-2019 12:00,10438784.99,0.025044973,0.025044973,0.00006 -18-06-2019 13:00,10439069.05,0.021566504,0.021566504,0.00006 -18-06-2019 14:00,10439352.29,0.016696648,0.016696648,0.00006 -18-06-2019 15:00,10439634.69,0.018783729,0.018783729,0.00006 -18-06-2019 16:00,10439916.26,0.030610522,0.030610522,0.00006 -18-06-2019 17:00,10440196.99,0.054264107,0.054264107,0.00006 -18-06-2019 18:00,10440476.9,0.054959801,0.054959801,0.00006 -18-06-2019 19:00,10440755.96,0.048698558,0.048698558,0.00006 -18-06-2019 20:00,10441034.2,0.040350234,0.040350234,0.00006 -18-06-2019 21:00,10441311.6,0.028523441,0.028523441,0.00006 -18-06-2019 22:00,10441588.16,0.013913874,0.013913874,0.00006 -18-06-2019 23:00,10441863.9,0.004869856,0.004869856,0.00006 -19-06-2019 0:00,10442138.79,0.002782775,0.002782775,0.00006 -19-06-2019 1:00,10442412.86,0.000695694,0.000695694,0.00006 -19-06-2019 2:00,10442686.08,0.000695694,0.000695694,0.00006 -19-06-2019 3:00,10442958.48,0.001391387,0.001391387,0.00006 -19-06-2019 4:00,10443230.04,0.004869856,0.004869856,0.00006 -19-06-2019 5:00,10443500.76,0.038958846,0.038958846,0.00006 -19-06-2019 6:00,10443770.65,0.064699512,0.064699512,0.00006 -19-06-2019 7:00,10444039.7,0.050089945,0.050089945,0.00006 -19-06-2019 8:00,10444307.92,0.059133963,0.059133963,0.00006 -19-06-2019 9:00,10444575.3,0.042437315,0.042437315,0.00006 -19-06-2019 10:00,10444841.84,0.036871765,0.036871765,0.00006 -19-06-2019 11:00,10445107.55,0.031306216,0.031306216,0.00006 -19-06-2019 12:00,10445372.43,0.025044973,0.025044973,0.00006 -19-06-2019 13:00,10445636.47,0.021566504,0.021566504,0.00006 -19-06-2019 14:00,10445899.67,0.016696648,0.016696648,0.00006 -19-06-2019 15:00,10446162.03,0.018783729,0.018783729,0.00006 -19-06-2019 16:00,10446423.56,0.030610522,0.030610522,0.00006 -19-06-2019 17:00,10446684.25,0.054264107,0.054264107,0.00006 -19-06-2019 18:00,10446944.11,0.054959801,0.054959801,0.00006 -19-06-2019 19:00,10447203.12,0.048698558,0.048698558,0.00006 -19-06-2019 20:00,10447461.3,0.040350234,0.040350234,0.00006 -19-06-2019 21:00,10447718.65,0.028523441,0.028523441,0.00006 -19-06-2019 22:00,10447975.15,0.013913874,0.013913874,0.00006 -19-06-2019 23:00,10448230.82,0.004869856,0.004869856,0.00006 -20-06-2019 0:00,10448485.65,0.002782775,0.002782775,0.00006 -20-06-2019 1:00,10448739.64,0.000695694,0.000695694,0.00006 -20-06-2019 2:00,10448992.8,0.000695694,0.000695694,0.00006 -20-06-2019 3:00,10449245.12,0.001391387,0.001391387,0.00006 -20-06-2019 4:00,10449496.6,0.004869856,0.004869856,0.00006 -20-06-2019 5:00,10449747.24,0.038958846,0.038958846,0.00006 -20-06-2019 6:00,10449997.04,0.064699512,0.064699512,0.00006 -20-06-2019 7:00,10450246,0.050089945,0.050089945,0.00006 -20-06-2019 8:00,10450494.13,0.059133963,0.059133963,0.00006 -20-06-2019 9:00,10450741.41,0.042437315,0.042437315,0.00006 -20-06-2019 10:00,10450987.86,0.036871765,0.036871765,0.00006 -20-06-2019 11:00,10451233.47,0.031306216,0.031306216,0.00006 -20-06-2019 12:00,10451478.24,0.025044973,0.025044973,0.00006 -20-06-2019 13:00,10451722.16,0.021566504,0.021566504,0.00006 -20-06-2019 14:00,10451965.25,0.016696648,0.016696648,0.00006 -20-06-2019 15:00,10452207.5,0.018783729,0.018783729,0.00006 -20-06-2019 16:00,10452448.92,0.030610522,0.030610522,0.00006 -20-06-2019 17:00,10452689.49,0.054264107,0.054264107,0.00006 -20-06-2019 18:00,10452929.22,0.054959801,0.054959801,0.00006 -20-06-2019 19:00,10453168.11,0.048698558,0.048698558,0.00006 -20-06-2019 20:00,10453406.16,0.040350234,0.040350234,0.00006 -20-06-2019 21:00,10453643.37,0.028523441,0.028523441,0.00006 -20-06-2019 22:00,10453879.74,0.013913874,0.013913874,0.00006 -20-06-2019 23:00,10454115.27,0.004869856,0.004869856,0.00006 -21-06-2019 0:00,10454349.96,0.002782775,0.002782775,0.00006 -21-06-2019 1:00,10454583.8,0.000695694,0.000695694,0.00006 -21-06-2019 2:00,10454816.81,0.000695694,0.000695694,0.00006 -21-06-2019 3:00,10455048.98,0.001391387,0.001391387,0.00006 -21-06-2019 4:00,10455280.3,0.004869856,0.004869856,0.00006 -21-06-2019 5:00,10455510.78,0.038958846,0.038958846,0.00006 -21-06-2019 6:00,10455740.43,0.064699512,0.064699512,0.00006 -21-06-2019 7:00,10455969.23,0.050089945,0.050089945,0.00006 -21-06-2019 8:00,10456197.18,0.059133963,0.059133963,0.00006 -21-06-2019 9:00,10456424.3,0.042437315,0.042437315,0.00006 -21-06-2019 10:00,10456650.58,0.036871765,0.036871765,0.00006 -21-06-2019 11:00,10456876.01,0.031306216,0.031306216,0.00006 -21-06-2019 12:00,10457100.6,0.025044973,0.025044973,0.00006 -21-06-2019 13:00,10457324.35,0.021566504,0.021566504,0.00006 -21-06-2019 14:00,10457547.26,0.016696648,0.016696648,0.00006 -21-06-2019 15:00,10457769.32,0.018783729,0.018783729,0.00006 -21-06-2019 16:00,10457990.54,0.030610522,0.030610522,0.00006 -21-06-2019 17:00,10458210.92,0.054264107,0.054264107,0.00006 -21-06-2019 18:00,10458430.46,0.054959801,0.054959801,0.00006 -21-06-2019 19:00,10458649.15,0.048698558,0.048698558,0.00006 -21-06-2019 20:00,10458867,0.040350234,0.040350234,0.00006 -21-06-2019 21:00,10459084.01,0.028523441,0.028523441,0.00006 -21-06-2019 22:00,10459300.17,0.013913874,0.013913874,0.00006 -21-06-2019 23:00,10459515.49,0.004869856,0.004869856,0.00006 -22-06-2019 0:00,10459729.97,0.002782775,0.002782775,0.00006 -22-06-2019 1:00,10459943.6,0.000695694,0.000695694,0.00006 -22-06-2019 2:00,10460156.39,0.000695694,0.000695694,0.00006 -22-06-2019 3:00,10460368.33,0.001391387,0.001391387,0.00006 -22-06-2019 4:00,10460579.44,0.004869856,0.004869856,0.00006 -22-06-2019 5:00,10460789.69,0.038958846,0.038958846,0.00006 -22-06-2019 6:00,10460999.11,0.064699512,0.064699512,0.00006 -22-06-2019 7:00,10461207.68,0.050089945,0.050089945,0.00006 -22-06-2019 8:00,10461415.4,0.059133963,0.059133963,0.00006 -22-06-2019 9:00,10461622.28,0.042437315,0.042437315,0.00006 -22-06-2019 10:00,10461828.32,0.036871765,0.036871765,0.00006 -22-06-2019 11:00,10462033.51,0.031306216,0.031306216,0.00006 -22-06-2019 12:00,10462237.86,0.025044973,0.025044973,0.00006 -22-06-2019 13:00,10462441.36,0.021566504,0.021566504,0.00006 -22-06-2019 14:00,10462644.02,0.016696648,0.016696648,0.00006 -22-06-2019 15:00,10462845.83,0.018783729,0.018783729,0.00006 -22-06-2019 16:00,10463046.8,0.030610522,0.030610522,0.00006 -22-06-2019 17:00,10463246.92,0.054264107,0.054264107,0.00006 -22-06-2019 18:00,10463446.19,0.054959801,0.054959801,0.00006 -22-06-2019 19:00,10463644.62,0.048698558,0.048698558,0.00006 -22-06-2019 20:00,10463842.21,0.040350234,0.040350234,0.00006 -22-06-2019 21:00,10464038.95,0.028523441,0.028523441,0.00006 -22-06-2019 22:00,10464234.84,0.013913874,0.013913874,0.00006 -22-06-2019 23:00,10464429.89,0.004869856,0.004869856,0.00006 -23-06-2019 0:00,10464624.09,0.002782775,0.002782775,0.00006 -23-06-2019 1:00,10464817.45,0.000695694,0.000695694,0.00006 -23-06-2019 2:00,10465009.95,0.000695694,0.000695694,0.00006 -23-06-2019 3:00,10465201.62,0.001391387,0.001391387,0.00006 -23-06-2019 4:00,10465392.43,0.004869856,0.004869856,0.00006 -23-06-2019 5:00,10465582.4,0.038958846,0.038958846,0.00006 -23-06-2019 6:00,10465771.53,0.064699512,0.064699512,0.00006 -23-06-2019 7:00,10465959.8,0.050089945,0.050089945,0.00006 -23-06-2019 8:00,10466147.23,0.059133963,0.059133963,0.00006 -23-06-2019 9:00,10466333.82,0.042437315,0.042437315,0.00006 -23-06-2019 10:00,10466519.55,0.036871765,0.036871765,0.00006 -23-06-2019 11:00,10466704.44,0.031306216,0.031306216,0.00006 -23-06-2019 12:00,10466888.48,0.025044973,0.025044973,0.00006 -23-06-2019 13:00,10467071.68,0.021566504,0.021566504,0.00006 -23-06-2019 14:00,10467254.03,0.016696648,0.016696648,0.00006 -23-06-2019 15:00,10467435.53,0.018783729,0.018783729,0.00006 -23-06-2019 16:00,10467616.18,0.030610522,0.030610522,0.00006 -23-06-2019 17:00,10467795.98,0.054264107,0.054264107,0.00006 -23-06-2019 18:00,10467974.94,0.054959801,0.054959801,0.00006 -23-06-2019 19:00,10468153.05,0.048698558,0.048698558,0.00006 -23-06-2019 20:00,10468330.31,0.040350234,0.040350234,0.00006 -23-06-2019 21:00,10468506.72,0.028523441,0.028523441,0.00006 -23-06-2019 22:00,10468682.29,0.013913874,0.013913874,0.00006 -23-06-2019 23:00,10468857.01,0.004869856,0.004869856,0.00006 -24-06-2019 0:00,10469030.88,0.002782775,0.002782775,0.00006 -24-06-2019 1:00,10469203.9,0.000695694,0.000695694,0.00006 -24-06-2019 2:00,10469376.07,0.000695694,0.000695694,0.00006 -24-06-2019 3:00,10469547.39,0.001391387,0.001391387,0.00006 -24-06-2019 4:00,10469717.87,0.004869856,0.004869856,0.00006 -24-06-2019 5:00,10469887.49,0.038958846,0.038958846,0.00006 -24-06-2019 6:00,10470056.27,0.064699512,0.064699512,0.00006 -24-06-2019 7:00,10470224.2,0.050089945,0.050089945,0.00006 -24-06-2019 8:00,10470391.28,0.059133963,0.059133963,0.00006 -24-06-2019 9:00,10470557.51,0.042437315,0.042437315,0.00006 -24-06-2019 10:00,10470722.89,0.036871765,0.036871765,0.00006 -24-06-2019 11:00,10470887.42,0.031306216,0.031306216,0.00006 -24-06-2019 12:00,10471051.1,0.025044973,0.025044973,0.00006 -24-06-2019 13:00,10471213.94,0.021566504,0.021566504,0.00006 -24-06-2019 14:00,10471375.92,0.016696648,0.016696648,0.00006 -24-06-2019 15:00,10471537.05,0.018783729,0.018783729,0.00006 -24-06-2019 16:00,10471697.34,0.030610522,0.030610522,0.00006 -24-06-2019 17:00,10471856.77,0.054264107,0.054264107,0.00006 -24-06-2019 18:00,10472015.36,0.054959801,0.054959801,0.00006 -24-06-2019 19:00,10472173.09,0.048698558,0.048698558,0.00006 -24-06-2019 20:00,10472329.98,0.040350234,0.040350234,0.00006 -24-06-2019 21:00,10472486.01,0.028523441,0.028523441,0.00006 -24-06-2019 22:00,10472641.2,0.013913874,0.013913874,0.00006 -24-06-2019 23:00,10472795.53,0.004869856,0.004869856,0.00006 -25-06-2019 0:00,10472949.02,0.002782775,0.002782775,0.00006 -25-06-2019 1:00,10473101.65,0.000695694,0.000695694,0.00006 -25-06-2019 2:00,10473253.44,0.000695694,0.000695694,0.00006 -25-06-2019 3:00,10473404.37,0.001391387,0.001391387,0.00006 -25-06-2019 4:00,10473554.45,0.004869856,0.004869856,0.00006 -25-06-2019 5:00,10473703.68,0.038958846,0.038958846,0.00006 -25-06-2019 6:00,10473852.06,0.064699512,0.064699512,0.00006 -25-06-2019 7:00,10473999.59,0.050089945,0.050089945,0.00006 -25-06-2019 8:00,10474146.27,0.059133963,0.059133963,0.00006 -25-06-2019 9:00,10474292.1,0.042437315,0.042437315,0.00006 -25-06-2019 10:00,10474437.08,0.036871765,0.036871765,0.00006 -25-06-2019 11:00,10474581.2,0.031306216,0.031306216,0.00006 -25-06-2019 12:00,10474724.48,0.025044973,0.025044973,0.00006 -25-06-2019 13:00,10474866.9,0.021566504,0.021566504,0.00006 -25-06-2019 14:00,10475008.47,0.016696648,0.016696648,0.00006 -25-06-2019 15:00,10475149.2,0.018783729,0.018783729,0.00006 -25-06-2019 16:00,10475289.06,0.030610522,0.030610522,0.00006 -25-06-2019 17:00,10475428.08,0.054264107,0.054264107,0.00006 -25-06-2019 18:00,10475566.25,0.054959801,0.054959801,0.00006 -25-06-2019 19:00,10475703.56,0.048698558,0.048698558,0.00006 -25-06-2019 20:00,10475840.02,0.040350234,0.040350234,0.00006 -25-06-2019 21:00,10475975.64,0.028523441,0.028523441,0.00006 -25-06-2019 22:00,10476110.39,0.013913874,0.013913874,0.00006 -25-06-2019 23:00,10476244.3,0.004869856,0.004869856,0.00006 -26-06-2019 0:00,10476377.36,0.002782775,0.002782775,0.00006 -26-06-2019 1:00,10476509.56,0.000695694,0.000695694,0.00006 -26-06-2019 2:00,10476640.91,0.000695694,0.000695694,0.00006 -26-06-2019 3:00,10476771.41,0.001391387,0.001391387,0.00006 -26-06-2019 4:00,10476901.05,0.004869856,0.004869856,0.00006 -26-06-2019 5:00,10477029.84,0.038958846,0.038958846,0.00006 -26-06-2019 6:00,10477157.79,0.064699512,0.064699512,0.00006 -26-06-2019 7:00,10477284.87,0.050089945,0.050089945,0.00006 -26-06-2019 8:00,10477411.11,0.059133963,0.059133963,0.00006 -26-06-2019 9:00,10477536.49,0.042437315,0.042437315,0.00006 -26-06-2019 10:00,10477661.02,0.036871765,0.036871765,0.00006 -26-06-2019 11:00,10477784.7,0.031306216,0.031306216,0.00006 -26-06-2019 12:00,10477907.52,0.025044973,0.025044973,0.00006 -26-06-2019 13:00,10478029.5,0.021566504,0.021566504,0.00006 -26-06-2019 14:00,10478150.61,0.016696648,0.016696648,0.00006 -26-06-2019 15:00,10478270.88,0.018783729,0.018783729,0.00006 -26-06-2019 16:00,10478390.29,0.030610522,0.030610522,0.00006 -26-06-2019 17:00,10478508.85,0.054264107,0.054264107,0.00006 -26-06-2019 18:00,10478626.56,0.054959801,0.054959801,0.00006 -26-06-2019 19:00,10478743.41,0.048698558,0.048698558,0.00006 -26-06-2019 20:00,10478859.41,0.040350234,0.040350234,0.00006 -26-06-2019 21:00,10478974.56,0.028523441,0.028523441,0.00006 -26-06-2019 22:00,10479088.85,0.013913874,0.013913874,0.00006 -26-06-2019 23:00,10479202.29,0.004869856,0.004869856,0.00006 -27-06-2019 0:00,10479314.87,0.002782775,0.002782775,0.00006 -27-06-2019 1:00,10479426.6,0.000695694,0.000695694,0.00006 -27-06-2019 2:00,10479537.48,0.000695694,0.000695694,0.00006 -27-06-2019 3:00,10479647.51,0.001391387,0.001391387,0.00006 -27-06-2019 4:00,10479756.68,0.004869856,0.004869856,0.00006 -27-06-2019 5:00,10479864.99,0.038958846,0.038958846,0.00006 -27-06-2019 6:00,10479972.46,0.064699512,0.064699512,0.00006 -27-06-2019 7:00,10480079.06,0.050089945,0.050089945,0.00006 -27-06-2019 8:00,10480184.82,0.059133963,0.059133963,0.00006 -27-06-2019 9:00,10480289.72,0.042437315,0.042437315,0.00006 -27-06-2019 10:00,10480393.77,0.036871765,0.036871765,0.00006 -27-06-2019 11:00,10480496.96,0.031306216,0.031306216,0.00006 -27-06-2019 12:00,10480599.3,0.025044973,0.025044973,0.00006 -27-06-2019 13:00,10480700.78,0.021566504,0.021566504,0.00006 -27-06-2019 14:00,10480801.41,0.016696648,0.016696648,0.00006 -27-06-2019 15:00,10480901.18,0.018783729,0.018783729,0.00006 -27-06-2019 16:00,10481000.1,0.030610522,0.030610522,0.00006 -27-06-2019 17:00,10481098.17,0.054264107,0.054264107,0.00006 -27-06-2019 18:00,10481195.38,0.054959801,0.054959801,0.00006 -27-06-2019 19:00,10481291.74,0.048698558,0.048698558,0.00006 -27-06-2019 20:00,10481387.24,0.040350234,0.040350234,0.00006 -27-06-2019 21:00,10481481.89,0.028523441,0.028523441,0.00006 -27-06-2019 22:00,10481575.68,0.013913874,0.013913874,0.00006 -27-06-2019 23:00,10481668.62,0.004869856,0.004869856,0.00006 -28-06-2019 0:00,10481760.7,0.002782775,0.002782775,0.00006 -28-06-2019 1:00,10481851.93,0.000695694,0.000695694,0.00006 -28-06-2019 2:00,10481942.3,0.000695694,0.000695694,0.00006 -28-06-2019 3:00,10482031.82,0.001391387,0.001391387,0.00006 -28-06-2019 4:00,10482120.48,0.004869856,0.004869856,0.00006 -28-06-2019 5:00,10482208.29,0.038958846,0.038958846,0.00006 -28-06-2019 6:00,10482295.24,0.064699512,0.064699512,0.00006 -28-06-2019 7:00,10482381.34,0.050089945,0.050089945,0.00006 -28-06-2019 8:00,10482466.58,0.059133963,0.059133963,0.00006 -28-06-2019 9:00,10482550.97,0.042437315,0.042437315,0.00006 -28-06-2019 10:00,10482634.5,0.036871765,0.036871765,0.00006 -28-06-2019 11:00,10482717.18,0.031306216,0.031306216,0.00006 -28-06-2019 12:00,10482799,0.025044973,0.025044973,0.00006 -28-06-2019 13:00,10482879.96,0.021566504,0.021566504,0.00006 -28-06-2019 14:00,10482960.07,0.016696648,0.016696648,0.00006 -28-06-2019 15:00,10483039.33,0.018783729,0.018783729,0.00006 -28-06-2019 16:00,10483117.72,0.030610522,0.030610522,0.00006 -28-06-2019 17:00,10483195.27,0.054264107,0.054264107,0.00006 -28-06-2019 18:00,10483271.96,0.054959801,0.054959801,0.00006 -28-06-2019 19:00,10483347.79,0.048698558,0.048698558,0.00006 -28-06-2019 20:00,10483422.76,0.040350234,0.040350234,0.00006 -28-06-2019 21:00,10483496.88,0.028523441,0.028523441,0.00006 -28-06-2019 22:00,10483570.15,0.013913874,0.013913874,0.00006 -28-06-2019 23:00,10483642.56,0.004869856,0.004869856,0.00006 -29-06-2019 0:00,10483714.11,0.002782775,0.002782775,0.00006 -29-06-2019 1:00,10483784.81,0.000695694,0.000695694,0.00006 -29-06-2019 2:00,10483854.65,0.000695694,0.000695694,0.00006 -29-06-2019 3:00,10483923.63,0.001391387,0.001391387,0.00006 -29-06-2019 4:00,10483991.76,0.004869856,0.004869856,0.00006 -29-06-2019 5:00,10484059.04,0.038958846,0.038958846,0.00006 -29-06-2019 6:00,10484125.45,0.064699512,0.064699512,0.00006 -29-06-2019 7:00,10484191.01,0.050089945,0.050089945,0.00006 -29-06-2019 8:00,10484255.72,0.059133963,0.059133963,0.00006 -29-06-2019 9:00,10484319.57,0.042437315,0.042437315,0.00006 -29-06-2019 10:00,10484382.56,0.036871765,0.036871765,0.00006 -29-06-2019 11:00,10484444.69,0.031306216,0.031306216,0.00006 -29-06-2019 12:00,10484505.97,0.025044973,0.025044973,0.00006 -29-06-2019 13:00,10484566.4,0.021566504,0.021566504,0.00006 -29-06-2019 14:00,10484625.96,0.016696648,0.016696648,0.00006 -29-06-2019 15:00,10484684.67,0.018783729,0.018783729,0.00006 -29-06-2019 16:00,10484742.53,0.030610522,0.030610522,0.00006 -29-06-2019 17:00,10484799.53,0.054264107,0.054264107,0.00006 -29-06-2019 18:00,10484855.67,0.054959801,0.054959801,0.00006 -29-06-2019 19:00,10484910.95,0.048698558,0.048698558,0.00006 -29-06-2019 20:00,10484965.38,0.040350234,0.040350234,0.00006 -29-06-2019 21:00,10485018.95,0.028523441,0.028523441,0.00006 -29-06-2019 22:00,10485071.67,0.013913874,0.013913874,0.00006 -29-06-2019 23:00,10485123.53,0.004869856,0.004869856,0.00006 -30-06-2019 0:00,10485174.53,0.002782775,0.002782775,0.00006 -30-06-2019 1:00,10485224.67,0.000695694,0.000695694,0.00006 -30-06-2019 2:00,10485273.96,0.000695694,0.000695694,0.00006 -30-06-2019 3:00,10485322.39,0.001391387,0.001391387,0.00006 -30-06-2019 4:00,10485369.97,0.004869856,0.004869856,0.00006 -30-06-2019 5:00,10485416.69,0.038958846,0.038958846,0.00006 -30-06-2019 6:00,10485462.55,0.064699512,0.064699512,0.00006 -30-06-2019 7:00,10485507.55,0.050089945,0.050089945,0.00006 -30-06-2019 8:00,10485551.7,0.059133963,0.059133963,0.00006 -30-06-2019 9:00,10485594.99,0.042437315,0.042437315,0.00006 -30-06-2019 10:00,10485637.42,0.036871765,0.036871765,0.00006 -30-06-2019 11:00,10485679,0.031306216,0.031306216,0.00006 -30-06-2019 12:00,10485719.72,0.025044973,0.025044973,0.00006 -30-06-2019 13:00,10485759.58,0.021566504,0.021566504,0.00006 -30-06-2019 14:00,10485798.59,0.016696648,0.016696648,0.00006 -30-06-2019 15:00,10485836.74,0.018783729,0.018783729,0.00006 -30-06-2019 16:00,10485874.03,0.030610522,0.030610522,0.00006 -30-06-2019 17:00,10485910.47,0.054264107,0.054264107,0.00006 -30-06-2019 18:00,10485946.05,0.054959801,0.054959801,0.00006 -30-06-2019 19:00,10485980.77,0.048698558,0.048698558,0.00006 -30-06-2019 20:00,10486014.63,0.040350234,0.040350234,0.00006 -30-06-2019 21:00,10486047.64,0.028523441,0.028523441,0.00006 -30-06-2019 22:00,10486079.79,0.013913874,0.013913874,0.00006 -30-06-2019 23:00,10486111.08,0.004869856,0.004869856,0.00006 -1-7-2019 0:00,10486141.52,0.002782775,0.002782775,0.00006 -1-7-2019 1:00,10486171.09,0.000695694,0.000695694,0.00006 -1-7-2019 2:00,10486199.82,0.000695694,0.000695694,0.00006 -1-7-2019 3:00,10486227.68,0.001391387,0.001391387,0.00006 -1-7-2019 4:00,10486254.69,0.004869856,0.004869856,0.00006 -1-7-2019 5:00,10486280.84,0.038958846,0.038958846,0.00006 -1-7-2019 6:00,10486306.13,0.064699512,0.064699512,0.00006 -1-7-2019 7:00,10486330.56,0.050089945,0.050089945,0.00006 -1-7-2019 8:00,10486354.14,0.059133963,0.059133963,0.00006 -1-7-2019 9:00,10486376.86,0.042437315,0.042437315,0.00006 -1-7-2019 10:00,10486398.73,0.036871765,0.036871765,0.00006 -1-7-2019 11:00,10486419.73,0.031306216,0.031306216,0.00006 -1-7-2019 12:00,10486439.88,0.025044973,0.025044973,0.00006 -1-7-2019 13:00,10486459.17,0.021566504,0.021566504,0.00006 -1-7-2019 14:00,10486477.61,0.016696648,0.016696648,0.00006 -1-7-2019 15:00,10486495.18,0.018783729,0.018783729,0.00006 -1-7-2019 16:00,10486511.9,0.030610522,0.030610522,0.00006 -1-7-2019 17:00,10486527.76,0.054264107,0.054264107,0.00006 -1-7-2019 18:00,10486542.77,0.054959801,0.054959801,0.00006 -1-7-2019 19:00,10486556.92,0.048698558,0.048698558,0.00006 -1-7-2019 20:00,10486570.21,0.040350234,0.040350234,0.00006 -1-7-2019 21:00,10486582.64,0.028523441,0.028523441,0.00006 -1-7-2019 22:00,10486594.21,0.013913874,0.013913874,0.00006 -1-7-2019 23:00,10486604.93,0.004869856,0.004869856,0.00006 -2-7-2019 0:00,10486614.79,0.002782775,0.002782775,0.00006 -2-7-2019 1:00,10486623.8,0.000695694,0.000695694,0.00006 -2-7-2019 2:00,10486631.94,0.000695694,0.000695694,0.00006 -2-7-2019 3:00,10486639.23,0.001391387,0.001391387,0.00006 -2-7-2019 4:00,10486645.66,0.004869856,0.004869856,0.00006 -2-7-2019 5:00,10486651.23,0.038958846,0.038958846,0.00006 -2-7-2019 6:00,10486655.95,0.064699512,0.064699512,0.00006 -2-7-2019 7:00,10486659.81,0.050089945,0.050089945,0.00006 -2-7-2019 8:00,10486662.81,0.059133963,0.059133963,0.00006 -2-7-2019 9:00,10486664.95,0.042437315,0.042437315,0.00006 -2-7-2019 10:00,10486666.24,0.036871765,0.036871765,0.00006 -2-7-2019 11:00,10486666.67,0.031306216,0.031306216,0.00006 -2-7-2019 12:00,10486666.24,0.025044973,0.025044973,0.00006 -2-7-2019 13:00,10486664.95,0.021566504,0.021566504,0.00006 -2-7-2019 14:00,10486662.81,0.016696648,0.016696648,0.00006 -2-7-2019 15:00,10486659.81,0.018783729,0.018783729,0.00006 -2-7-2019 16:00,10486655.95,0.030610522,0.030610522,0.00006 -2-7-2019 17:00,10486651.23,0.054264107,0.054264107,0.00006 -2-7-2019 18:00,10486645.66,0.054959801,0.054959801,0.00006 -2-7-2019 19:00,10486639.23,0.048698558,0.048698558,0.00006 -2-7-2019 20:00,10486631.94,0.040350234,0.040350234,0.00006 -2-7-2019 21:00,10486623.8,0.028523441,0.028523441,0.00006 -2-7-2019 22:00,10486614.79,0.013913874,0.013913874,0.00006 -2-7-2019 23:00,10486604.93,0.004869856,0.004869856,0.00006 -3-7-2019 0:00,10486594.21,0.002782775,0.002782775,0.00006 -3-7-2019 1:00,10486582.64,0.000695694,0.000695694,0.00006 -3-7-2019 2:00,10486570.21,0.000695694,0.000695694,0.00006 -3-7-2019 3:00,10486556.92,0.001391387,0.001391387,0.00006 -3-7-2019 4:00,10486542.77,0.004869856,0.004869856,0.00006 -3-7-2019 5:00,10486527.76,0.038958846,0.038958846,0.00006 -3-7-2019 6:00,10486511.9,0.064699512,0.064699512,0.00006 -3-7-2019 7:00,10486495.18,0.050089945,0.050089945,0.00006 -3-7-2019 8:00,10486477.61,0.059133963,0.059133963,0.00006 -3-7-2019 9:00,10486459.17,0.042437315,0.042437315,0.00006 -3-7-2019 10:00,10486439.88,0.036871765,0.036871765,0.00006 -3-7-2019 11:00,10486419.73,0.031306216,0.031306216,0.00006 -3-7-2019 12:00,10486398.73,0.025044973,0.025044973,0.00006 -3-7-2019 13:00,10486376.86,0.021566504,0.021566504,0.00006 -3-7-2019 14:00,10486354.14,0.016696648,0.016696648,0.00006 -3-7-2019 15:00,10486330.56,0.018783729,0.018783729,0.00006 -3-7-2019 16:00,10486306.13,0.030610522,0.030610522,0.00006 -3-7-2019 17:00,10486280.84,0.054264107,0.054264107,0.00006 -3-7-2019 18:00,10486254.69,0.054959801,0.054959801,0.00006 -3-7-2019 19:00,10486227.68,0.048698558,0.048698558,0.00006 -3-7-2019 20:00,10486199.82,0.040350234,0.040350234,0.00006 -3-7-2019 21:00,10486171.09,0.028523441,0.028523441,0.00006 -3-7-2019 22:00,10486141.52,0.013913874,0.013913874,0.00006 -3-7-2019 23:00,10486111.08,0.004869856,0.004869856,0.00006 -4-7-2019 0:00,10486079.79,0.002782775,0.002782775,0.00006 -4-7-2019 1:00,10486047.64,0.000695694,0.000695694,0.00006 -4-7-2019 2:00,10486014.63,0.000695694,0.000695694,0.00006 -4-7-2019 3:00,10485980.77,0.001391387,0.001391387,0.00006 -4-7-2019 4:00,10485946.05,0.004869856,0.004869856,0.00006 -4-7-2019 5:00,10485910.47,0.038958846,0.038958846,0.00006 -4-7-2019 6:00,10485874.03,0.064699512,0.064699512,0.00006 -4-7-2019 7:00,10485836.74,0.050089945,0.050089945,0.00006 -4-7-2019 8:00,10485798.59,0.059133963,0.059133963,0.00006 -4-7-2019 9:00,10485759.58,0.042437315,0.042437315,0.00006 -4-7-2019 10:00,10485719.72,0.036871765,0.036871765,0.00006 -4-7-2019 11:00,10485679,0.031306216,0.031306216,0.00006 -4-7-2019 12:00,10485637.42,0.025044973,0.025044973,0.00006 -4-7-2019 13:00,10485594.99,0.021566504,0.021566504,0.00006 -4-7-2019 14:00,10485551.7,0.016696648,0.016696648,0.00006 -4-7-2019 15:00,10485507.55,0.018783729,0.018783729,0.00006 -4-7-2019 16:00,10485462.55,0.030610522,0.030610522,0.00006 -4-7-2019 17:00,10485416.69,0.054264107,0.054264107,0.00006 -4-7-2019 18:00,10485369.97,0.054959801,0.054959801,0.00006 -4-7-2019 19:00,10485322.39,0.048698558,0.048698558,0.00006 -4-7-2019 20:00,10485273.96,0.040350234,0.040350234,0.00006 -4-7-2019 21:00,10485224.67,0.028523441,0.028523441,0.00006 -4-7-2019 22:00,10485174.53,0.013913874,0.013913874,0.00006 -4-7-2019 23:00,10485123.53,0.004869856,0.004869856,0.00006 -5-7-2019 0:00,10485071.67,0.002782775,0.002782775,0.00006 -5-7-2019 1:00,10485018.95,0.000695694,0.000695694,0.00006 -5-7-2019 2:00,10484965.38,0.000695694,0.000695694,0.00006 -5-7-2019 3:00,10484910.95,0.001391387,0.001391387,0.00006 -5-7-2019 4:00,10484855.67,0.004869856,0.004869856,0.00006 -5-7-2019 5:00,10484799.53,0.038958846,0.038958846,0.00006 -5-7-2019 6:00,10484742.53,0.064699512,0.064699512,0.00006 -5-7-2019 7:00,10484684.67,0.050089945,0.050089945,0.00006 -5-7-2019 8:00,10484625.96,0.059133963,0.059133963,0.00006 -5-7-2019 9:00,10484566.4,0.042437315,0.042437315,0.00006 -5-7-2019 10:00,10484505.97,0.036871765,0.036871765,0.00006 -5-7-2019 11:00,10484444.69,0.031306216,0.031306216,0.00006 -5-7-2019 12:00,10484382.56,0.025044973,0.025044973,0.00006 -5-7-2019 13:00,10484319.57,0.021566504,0.021566504,0.00006 -5-7-2019 14:00,10484255.72,0.016696648,0.016696648,0.00006 -5-7-2019 15:00,10484191.01,0.018783729,0.018783729,0.00006 -5-7-2019 16:00,10484125.45,0.030610522,0.030610522,0.00006 -5-7-2019 17:00,10484059.04,0.054264107,0.054264107,0.00006 -5-7-2019 18:00,10483991.76,0.054959801,0.054959801,0.00006 -5-7-2019 19:00,10483923.63,0.048698558,0.048698558,0.00006 -5-7-2019 20:00,10483854.65,0.040350234,0.040350234,0.00006 -5-7-2019 21:00,10483784.81,0.028523441,0.028523441,0.00006 -5-7-2019 22:00,10483714.11,0.013913874,0.013913874,0.00006 -5-7-2019 23:00,10483642.56,0.004869856,0.004869856,0.00006 -6-7-2019 0:00,10483570.15,0.002782775,0.002782775,0.00006 -6-7-2019 1:00,10483496.88,0.000695694,0.000695694,0.00006 -6-7-2019 2:00,10483422.76,0.000695694,0.000695694,0.00006 -6-7-2019 3:00,10483347.79,0.001391387,0.001391387,0.00006 -6-7-2019 4:00,10483271.96,0.004869856,0.004869856,0.00006 -6-7-2019 5:00,10483195.27,0.038958846,0.038958846,0.00006 -6-7-2019 6:00,10483117.72,0.064699512,0.064699512,0.00006 -6-7-2019 7:00,10483039.33,0.050089945,0.050089945,0.00006 -6-7-2019 8:00,10482960.07,0.059133963,0.059133963,0.00006 -6-7-2019 9:00,10482879.96,0.042437315,0.042437315,0.00006 -6-7-2019 10:00,10482799,0.036871765,0.036871765,0.00006 -6-7-2019 11:00,10482717.18,0.031306216,0.031306216,0.00006 -6-7-2019 12:00,10482634.5,0.025044973,0.025044973,0.00006 -6-7-2019 13:00,10482550.97,0.021566504,0.021566504,0.00006 -6-7-2019 14:00,10482466.58,0.016696648,0.016696648,0.00006 -6-7-2019 15:00,10482381.34,0.018783729,0.018783729,0.00006 -6-7-2019 16:00,10482295.24,0.030610522,0.030610522,0.00006 -6-7-2019 17:00,10482208.29,0.054264107,0.054264107,0.00006 -6-7-2019 18:00,10482120.48,0.054959801,0.054959801,0.00006 -6-7-2019 19:00,10482031.82,0.048698558,0.048698558,0.00006 -6-7-2019 20:00,10481942.3,0.040350234,0.040350234,0.00006 -6-7-2019 21:00,10481851.93,0.028523441,0.028523441,0.00006 -6-7-2019 22:00,10481760.7,0.013913874,0.013913874,0.00006 -6-7-2019 23:00,10481668.62,0.004869856,0.004869856,0.00006 -7-7-2019 0:00,10481575.68,0.002782775,0.002782775,0.00006 -7-7-2019 1:00,10481481.89,0.000695694,0.000695694,0.00006 -7-7-2019 2:00,10481387.24,0.000695694,0.000695694,0.00006 -7-7-2019 3:00,10481291.74,0.001391387,0.001391387,0.00006 -7-7-2019 4:00,10481195.38,0.004869856,0.004869856,0.00006 -7-7-2019 5:00,10481098.17,0.038958846,0.038958846,0.00006 -7-7-2019 6:00,10481000.1,0.064699512,0.064699512,0.00006 -7-7-2019 7:00,10480901.18,0.050089945,0.050089945,0.00006 -7-7-2019 8:00,10480801.41,0.059133963,0.059133963,0.00006 -7-7-2019 9:00,10480700.78,0.042437315,0.042437315,0.00006 -7-7-2019 10:00,10480599.3,0.036871765,0.036871765,0.00006 -7-7-2019 11:00,10480496.96,0.031306216,0.031306216,0.00006 -7-7-2019 12:00,10480393.77,0.025044973,0.025044973,0.00006 -7-7-2019 13:00,10480289.72,0.021566504,0.021566504,0.00006 -7-7-2019 14:00,10480184.82,0.016696648,0.016696648,0.00006 -7-7-2019 15:00,10480079.06,0.018783729,0.018783729,0.00006 -7-7-2019 16:00,10479972.46,0.030610522,0.030610522,0.00006 -7-7-2019 17:00,10479864.99,0.054264107,0.054264107,0.00006 -7-7-2019 18:00,10479756.68,0.054959801,0.054959801,0.00006 -7-7-2019 19:00,10479647.51,0.048698558,0.048698558,0.00006 -7-7-2019 20:00,10479537.48,0.040350234,0.040350234,0.00006 -7-7-2019 21:00,10479426.6,0.028523441,0.028523441,0.00006 -7-7-2019 22:00,10479314.87,0.013913874,0.013913874,0.00006 -7-7-2019 23:00,10479202.29,0.004869856,0.004869856,0.00006 -8-7-2019 0:00,10479088.85,0.002782775,0.002782775,0.00006 -8-7-2019 1:00,10478974.56,0.000695694,0.000695694,0.00006 -8-7-2019 2:00,10478859.41,0.000695694,0.000695694,0.00006 -8-7-2019 3:00,10478743.41,0.001391387,0.001391387,0.00006 -8-7-2019 4:00,10478626.56,0.004869856,0.004869856,0.00006 -8-7-2019 5:00,10478508.85,0.038958846,0.038958846,0.00006 -8-7-2019 6:00,10478390.29,0.064699512,0.064699512,0.00006 -8-7-2019 7:00,10478270.88,0.050089945,0.050089945,0.00006 -8-7-2019 8:00,10478150.61,0.059133963,0.059133963,0.00006 -8-7-2019 9:00,10478029.5,0.042437315,0.042437315,0.00006 -8-7-2019 10:00,10477907.52,0.036871765,0.036871765,0.00006 -8-7-2019 11:00,10477784.7,0.031306216,0.031306216,0.00006 -8-7-2019 12:00,10477661.02,0.025044973,0.025044973,0.00006 -8-7-2019 13:00,10477536.49,0.021566504,0.021566504,0.00006 -8-7-2019 14:00,10477411.11,0.016696648,0.016696648,0.00006 -8-7-2019 15:00,10477284.87,0.018783729,0.018783729,0.00006 -8-7-2019 16:00,10477157.79,0.030610522,0.030610522,0.00006 -8-7-2019 17:00,10477029.84,0.054264107,0.054264107,0.00006 -8-7-2019 18:00,10476901.05,0.054959801,0.054959801,0.00006 -8-7-2019 19:00,10476771.41,0.048698558,0.048698558,0.00006 -8-7-2019 20:00,10476640.91,0.040350234,0.040350234,0.00006 -8-7-2019 21:00,10476509.56,0.028523441,0.028523441,0.00006 -8-7-2019 22:00,10476377.36,0.013913874,0.013913874,0.00006 -8-7-2019 23:00,10476244.3,0.004869856,0.004869856,0.00006 -9-7-2019 0:00,10476110.39,0.002782775,0.002782775,0.00006 -9-7-2019 1:00,10475975.64,0.000695694,0.000695694,0.00006 -9-7-2019 2:00,10475840.02,0.000695694,0.000695694,0.00006 -9-7-2019 3:00,10475703.56,0.001391387,0.001391387,0.00006 -9-7-2019 4:00,10475566.25,0.004869856,0.004869856,0.00006 -9-7-2019 5:00,10475428.08,0.038958846,0.038958846,0.00006 -9-7-2019 6:00,10475289.06,0.064699512,0.064699512,0.00006 -9-7-2019 7:00,10475149.2,0.050089945,0.050089945,0.00006 -9-7-2019 8:00,10475008.47,0.059133963,0.059133963,0.00006 -9-7-2019 9:00,10474866.9,0.042437315,0.042437315,0.00006 -9-7-2019 10:00,10474724.48,0.036871765,0.036871765,0.00006 -9-7-2019 11:00,10474581.2,0.031306216,0.031306216,0.00006 -9-7-2019 12:00,10474437.08,0.025044973,0.025044973,0.00006 -9-7-2019 13:00,10474292.1,0.021566504,0.021566504,0.00006 -9-7-2019 14:00,10474146.27,0.016696648,0.016696648,0.00006 -9-7-2019 15:00,10473999.59,0.018783729,0.018783729,0.00006 -9-7-2019 16:00,10473852.06,0.030610522,0.030610522,0.00006 -9-7-2019 17:00,10473703.68,0.054264107,0.054264107,0.00006 -9-7-2019 18:00,10473554.45,0.054959801,0.054959801,0.00006 -9-7-2019 19:00,10473404.37,0.048698558,0.048698558,0.00006 -9-7-2019 20:00,10473253.44,0.040350234,0.040350234,0.00006 -9-7-2019 21:00,10473101.65,0.028523441,0.028523441,0.00006 -9-7-2019 22:00,10472949.02,0.013913874,0.013913874,0.00006 -9-7-2019 23:00,10472795.53,0.004869856,0.004869856,0.00006 -10-7-2019 0:00,10472641.2,0.002782775,0.002782775,0.00006 -10-7-2019 1:00,10472486.01,0.000695694,0.000695694,0.00006 -10-7-2019 2:00,10472329.98,0.000695694,0.000695694,0.00006 -10-7-2019 3:00,10472173.09,0.001391387,0.001391387,0.00006 -10-7-2019 4:00,10472015.36,0.004869856,0.004869856,0.00006 -10-7-2019 5:00,10471856.77,0.038958846,0.038958846,0.00006 -10-7-2019 6:00,10471697.34,0.064699512,0.064699512,0.00006 -10-7-2019 7:00,10471537.05,0.050089945,0.050089945,0.00006 -10-7-2019 8:00,10471375.92,0.059133963,0.059133963,0.00006 -10-7-2019 9:00,10471213.94,0.042437315,0.042437315,0.00006 -10-7-2019 10:00,10471051.1,0.036871765,0.036871765,0.00006 -10-7-2019 11:00,10470887.42,0.031306216,0.031306216,0.00006 -10-7-2019 12:00,10470722.89,0.025044973,0.025044973,0.00006 -10-7-2019 13:00,10470557.51,0.021566504,0.021566504,0.00006 -10-7-2019 14:00,10470391.28,0.016696648,0.016696648,0.00006 -10-7-2019 15:00,10470224.2,0.018783729,0.018783729,0.00006 -10-7-2019 16:00,10470056.27,0.030610522,0.030610522,0.00006 -10-7-2019 17:00,10469887.49,0.054264107,0.054264107,0.00006 -10-7-2019 18:00,10469717.87,0.054959801,0.054959801,0.00006 -10-7-2019 19:00,10469547.39,0.048698558,0.048698558,0.00006 -10-7-2019 20:00,10469376.07,0.040350234,0.040350234,0.00006 -10-7-2019 21:00,10469203.9,0.028523441,0.028523441,0.00006 -10-7-2019 22:00,10469030.88,0.013913874,0.013913874,0.00006 -10-7-2019 23:00,10468857.01,0.004869856,0.004869856,0.00006 -11-7-2019 0:00,10468682.29,0.002782775,0.002782775,0.00006 -11-7-2019 1:00,10468506.72,0.000695694,0.000695694,0.00006 -11-7-2019 2:00,10468330.31,0.000695694,0.000695694,0.00006 -11-7-2019 3:00,10468153.05,0.001391387,0.001391387,0.00006 -11-7-2019 4:00,10467974.94,0.004869856,0.004869856,0.00006 -11-7-2019 5:00,10467795.98,0.038958846,0.038958846,0.00006 -11-7-2019 6:00,10467616.18,0.064699512,0.064699512,0.00006 -11-7-2019 7:00,10467435.53,0.050089945,0.050089945,0.00006 -11-7-2019 8:00,10467254.03,0.059133963,0.059133963,0.00006 -11-7-2019 9:00,10467071.68,0.042437315,0.042437315,0.00006 -11-7-2019 10:00,10466888.48,0.036871765,0.036871765,0.00006 -11-7-2019 11:00,10466704.44,0.031306216,0.031306216,0.00006 -11-7-2019 12:00,10466519.55,0.025044973,0.025044973,0.00006 -11-7-2019 13:00,10466333.82,0.021566504,0.021566504,0.00006 -11-7-2019 14:00,10466147.23,0.016696648,0.016696648,0.00006 -11-7-2019 15:00,10465959.8,0.018783729,0.018783729,0.00006 -11-7-2019 16:00,10465771.53,0.030610522,0.030610522,0.00006 -11-7-2019 17:00,10465582.4,0.054264107,0.054264107,0.00006 -11-7-2019 18:00,10465392.43,0.054959801,0.054959801,0.00006 -11-7-2019 19:00,10465201.62,0.048698558,0.048698558,0.00006 -11-7-2019 20:00,10465009.95,0.040350234,0.040350234,0.00006 -11-7-2019 21:00,10464817.45,0.028523441,0.028523441,0.00006 -11-7-2019 22:00,10464624.09,0.013913874,0.013913874,0.00006 -11-7-2019 23:00,10464429.89,0.004869856,0.004869856,0.00006 -12-7-2019 0:00,10464234.84,0.002782775,0.002782775,0.00006 -12-7-2019 1:00,10464038.95,0.000695694,0.000695694,0.00006 -12-7-2019 2:00,10463842.21,0.000695694,0.000695694,0.00006 -12-7-2019 3:00,10463644.62,0.001391387,0.001391387,0.00006 -12-7-2019 4:00,10463446.19,0.004869856,0.004869856,0.00006 -12-7-2019 5:00,10463246.92,0.038958846,0.038958846,0.00006 -12-7-2019 6:00,10463046.8,0.064699512,0.064699512,0.00006 -12-7-2019 7:00,10462845.83,0.050089945,0.050089945,0.00006 -12-7-2019 8:00,10462644.02,0.059133963,0.059133963,0.00006 -12-7-2019 9:00,10462441.36,0.042437315,0.042437315,0.00006 -12-7-2019 10:00,10462237.86,0.036871765,0.036871765,0.00006 -12-7-2019 11:00,10462033.51,0.031306216,0.031306216,0.00006 -12-7-2019 12:00,10461828.32,0.025044973,0.025044973,0.00006 -12-7-2019 13:00,10461622.28,0.021566504,0.021566504,0.00006 -12-7-2019 14:00,10461415.4,0.016696648,0.016696648,0.00006 -12-7-2019 15:00,10461207.68,0.018783729,0.018783729,0.00006 -12-7-2019 16:00,10460999.11,0.030610522,0.030610522,0.00006 -12-7-2019 17:00,10460789.69,0.054264107,0.054264107,0.00006 -12-7-2019 18:00,10460579.44,0.054959801,0.054959801,0.00006 -12-7-2019 19:00,10460368.33,0.048698558,0.048698558,0.00006 -12-7-2019 20:00,10460156.39,0.040350234,0.040350234,0.00006 -12-7-2019 21:00,10459943.6,0.028523441,0.028523441,0.00006 -12-7-2019 22:00,10459729.97,0.013913874,0.013913874,0.00006 -12-7-2019 23:00,10459515.49,0.004869856,0.004869856,0.00006 -13-07-2019 0:00,10459300.17,0.002782775,0.002782775,0.00006 -13-07-2019 1:00,10459084.01,0.000695694,0.000695694,0.00006 -13-07-2019 2:00,10458867,0.000695694,0.000695694,0.00006 -13-07-2019 3:00,10458649.15,0.001391387,0.001391387,0.00006 -13-07-2019 4:00,10458430.46,0.004869856,0.004869856,0.00006 -13-07-2019 5:00,10458210.92,0.038958846,0.038958846,0.00006 -13-07-2019 6:00,10457990.54,0.064699512,0.064699512,0.00006 -13-07-2019 7:00,10457769.32,0.050089945,0.050089945,0.00006 -13-07-2019 8:00,10457547.26,0.059133963,0.059133963,0.00006 -13-07-2019 9:00,10457324.35,0.042437315,0.042437315,0.00006 -13-07-2019 10:00,10457100.6,0.036871765,0.036871765,0.00006 -13-07-2019 11:00,10456876.01,0.031306216,0.031306216,0.00006 -13-07-2019 12:00,10456650.58,0.025044973,0.025044973,0.00006 -13-07-2019 13:00,10456424.3,0.021566504,0.021566504,0.00006 -13-07-2019 14:00,10456197.18,0.016696648,0.016696648,0.00006 -13-07-2019 15:00,10455969.23,0.018783729,0.018783729,0.00006 -13-07-2019 16:00,10455740.43,0.030610522,0.030610522,0.00006 -13-07-2019 17:00,10455510.78,0.054264107,0.054264107,0.00006 -13-07-2019 18:00,10455280.3,0.054959801,0.054959801,0.00006 -13-07-2019 19:00,10455048.98,0.048698558,0.048698558,0.00006 -13-07-2019 20:00,10454816.81,0.040350234,0.040350234,0.00006 -13-07-2019 21:00,10454583.8,0.028523441,0.028523441,0.00006 -13-07-2019 22:00,10454349.96,0.013913874,0.013913874,0.00006 -13-07-2019 23:00,10454115.27,0.004869856,0.004869856,0.00006 -14-07-2019 0:00,10453879.74,0.002782775,0.002782775,0.00006 -14-07-2019 1:00,10453643.37,0.000695694,0.000695694,0.00006 -14-07-2019 2:00,10453406.16,0.000695694,0.000695694,0.00006 -14-07-2019 3:00,10453168.11,0.001391387,0.001391387,0.00006 -14-07-2019 4:00,10452929.22,0.004869856,0.004869856,0.00006 -14-07-2019 5:00,10452689.49,0.038958846,0.038958846,0.00006 -14-07-2019 6:00,10452448.92,0.064699512,0.064699512,0.00006 -14-07-2019 7:00,10452207.5,0.050089945,0.050089945,0.00006 -14-07-2019 8:00,10451965.25,0.059133963,0.059133963,0.00006 -14-07-2019 9:00,10451722.16,0.042437315,0.042437315,0.00006 -14-07-2019 10:00,10451478.24,0.036871765,0.036871765,0.00006 -14-07-2019 11:00,10451233.47,0.031306216,0.031306216,0.00006 -14-07-2019 12:00,10450987.86,0.025044973,0.025044973,0.00006 -14-07-2019 13:00,10450741.41,0.021566504,0.021566504,0.00006 -14-07-2019 14:00,10450494.13,0.016696648,0.016696648,0.00006 -14-07-2019 15:00,10450246,0.018783729,0.018783729,0.00006 -14-07-2019 16:00,10449997.04,0.030610522,0.030610522,0.00006 -14-07-2019 17:00,10449747.24,0.054264107,0.054264107,0.00006 -14-07-2019 18:00,10449496.6,0.054959801,0.054959801,0.00006 -14-07-2019 19:00,10449245.12,0.048698558,0.048698558,0.00006 -14-07-2019 20:00,10448992.8,0.040350234,0.040350234,0.00006 -14-07-2019 21:00,10448739.64,0.028523441,0.028523441,0.00006 -14-07-2019 22:00,10448485.65,0.013913874,0.013913874,0.00006 -14-07-2019 23:00,10448230.82,0.004869856,0.004869856,0.00006 -15-07-2019 0:00,10447975.15,0.002782775,0.002782775,0.00006 -15-07-2019 1:00,10447718.65,0.000695694,0.000695694,0.00006 -15-07-2019 2:00,10447461.3,0.000695694,0.000695694,0.00006 -15-07-2019 3:00,10447203.12,0.001391387,0.001391387,0.00006 -15-07-2019 4:00,10446944.11,0.004869856,0.004869856,0.00006 -15-07-2019 5:00,10446684.25,0.038958846,0.038958846,0.00006 -15-07-2019 6:00,10446423.56,0.064699512,0.064699512,0.00006 -15-07-2019 7:00,10446162.03,0.050089945,0.050089945,0.00006 -15-07-2019 8:00,10445899.67,0.059133963,0.059133963,0.00006 -15-07-2019 9:00,10445636.47,0.042437315,0.042437315,0.00006 -15-07-2019 10:00,10445372.43,0.036871765,0.036871765,0.00006 -15-07-2019 11:00,10445107.55,0.031306216,0.031306216,0.00006 -15-07-2019 12:00,10444841.84,0.025044973,0.025044973,0.00006 -15-07-2019 13:00,10444575.3,0.021566504,0.021566504,0.00006 -15-07-2019 14:00,10444307.92,0.016696648,0.016696648,0.00006 -15-07-2019 15:00,10444039.7,0.018783729,0.018783729,0.00006 -15-07-2019 16:00,10443770.65,0.030610522,0.030610522,0.00006 -15-07-2019 17:00,10443500.76,0.054264107,0.054264107,0.00006 -15-07-2019 18:00,10443230.04,0.054959801,0.054959801,0.00006 -15-07-2019 19:00,10442958.48,0.048698558,0.048698558,0.00006 -15-07-2019 20:00,10442686.08,0.040350234,0.040350234,0.00006 -15-07-2019 21:00,10442412.86,0.028523441,0.028523441,0.00006 -15-07-2019 22:00,10442138.79,0.013913874,0.013913874,0.00006 -15-07-2019 23:00,10441863.9,0.004869856,0.004869856,0.00006 -16-07-2019 0:00,10441588.16,0.002782775,0.002782775,0.00006 -16-07-2019 1:00,10441311.6,0.000695694,0.000695694,0.00006 -16-07-2019 2:00,10441034.2,0.000695694,0.000695694,0.00006 -16-07-2019 3:00,10440755.96,0.001391387,0.001391387,0.00006 -16-07-2019 4:00,10440476.9,0.004869856,0.004869856,0.00006 -16-07-2019 5:00,10440196.99,0.038958846,0.038958846,0.00006 -16-07-2019 6:00,10439916.26,0.064699512,0.064699512,0.00006 -16-07-2019 7:00,10439634.69,0.050089945,0.050089945,0.00006 -16-07-2019 8:00,10439352.29,0.059133963,0.059133963,0.00006 -16-07-2019 9:00,10439069.05,0.042437315,0.042437315,0.00006 -16-07-2019 10:00,10438784.99,0.036871765,0.036871765,0.00006 -16-07-2019 11:00,10438500.09,0.031306216,0.031306216,0.00006 -16-07-2019 12:00,10438214.35,0.025044973,0.025044973,0.00006 -16-07-2019 13:00,10437927.79,0.021566504,0.021566504,0.00006 -16-07-2019 14:00,10437640.39,0.016696648,0.016696648,0.00006 -16-07-2019 15:00,10437352.16,0.018783729,0.018783729,0.00006 -16-07-2019 16:00,10437063.1,0.030610522,0.030610522,0.00006 -16-07-2019 17:00,10436773.2,0.054264107,0.054264107,0.00006 -16-07-2019 18:00,10436482.48,0.054959801,0.054959801,0.00006 -16-07-2019 19:00,10436190.92,0.048698558,0.048698558,0.00006 -16-07-2019 20:00,10435898.53,0.040350234,0.040350234,0.00006 -16-07-2019 21:00,10435605.31,0.028523441,0.028523441,0.00006 -16-07-2019 22:00,10435311.26,0.013913874,0.013913874,0.00006 -16-07-2019 23:00,10435016.38,0.004869856,0.004869856,0.00006 -17-07-2019 0:00,10434720.66,0.002782775,0.002782775,0.00006 -17-07-2019 1:00,10434424.12,0.000695694,0.000695694,0.00006 -17-07-2019 2:00,10434126.74,0.000695694,0.000695694,0.00006 -17-07-2019 3:00,10433828.54,0.001391387,0.001391387,0.00006 -17-07-2019 4:00,10433529.5,0.004869856,0.004869856,0.00006 -17-07-2019 5:00,10433229.64,0.038958846,0.038958846,0.00006 -17-07-2019 6:00,10432928.94,0.064699512,0.064699512,0.00006 -17-07-2019 7:00,10432627.42,0.050089945,0.050089945,0.00006 -17-07-2019 8:00,10432325.06,0.059133963,0.059133963,0.00006 -17-07-2019 9:00,10432021.88,0.042437315,0.042437315,0.00006 -17-07-2019 10:00,10431717.87,0.036871765,0.036871765,0.00006 -17-07-2019 11:00,10431413.02,0.031306216,0.031306216,0.00006 -17-07-2019 12:00,10431107.35,0.025044973,0.025044973,0.00006 -17-07-2019 13:00,10430800.85,0.021566504,0.021566504,0.00006 -17-07-2019 14:00,10430493.52,0.016696648,0.016696648,0.00006 -17-07-2019 15:00,10430185.36,0.018783729,0.018783729,0.00006 -17-07-2019 16:00,10429876.38,0.030610522,0.030610522,0.00006 -17-07-2019 17:00,10429566.56,0.054264107,0.054264107,0.00006 -17-07-2019 18:00,10429255.92,0.054959801,0.054959801,0.00006 -17-07-2019 19:00,10428944.45,0.048698558,0.048698558,0.00006 -17-07-2019 20:00,10428632.15,0.040350234,0.040350234,0.00006 -17-07-2019 21:00,10428319.03,0.028523441,0.028523441,0.00006 -17-07-2019 22:00,10428005.07,0.013913874,0.013913874,0.00006 -17-07-2019 23:00,10427690.29,0.004869856,0.004869856,0.00006 -18-07-2019 0:00,10427374.69,0.002782775,0.002782775,0.00006 -18-07-2019 1:00,10427058.25,0.000695694,0.000695694,0.00006 -18-07-2019 2:00,10426740.99,0.000695694,0.000695694,0.00006 -18-07-2019 3:00,10426422.9,0.001391387,0.001391387,0.00006 -18-07-2019 4:00,10426103.99,0.004869856,0.004869856,0.00006 -18-07-2019 5:00,10425784.25,0.038958846,0.038958846,0.00006 -18-07-2019 6:00,10425463.68,0.064699512,0.064699512,0.00006 -18-07-2019 7:00,10425142.29,0.050089945,0.050089945,0.00006 -18-07-2019 8:00,10424820.07,0.059133963,0.059133963,0.00006 -18-07-2019 9:00,10424497.03,0.042437315,0.042437315,0.00006 -18-07-2019 10:00,10424173.16,0.036871765,0.036871765,0.00006 -18-07-2019 11:00,10423848.46,0.031306216,0.031306216,0.00006 -18-07-2019 12:00,10423522.94,0.025044973,0.025044973,0.00006 -18-07-2019 13:00,10423196.6,0.021566504,0.021566504,0.00006 -18-07-2019 14:00,10422869.43,0.016696648,0.016696648,0.00006 -18-07-2019 15:00,10422541.43,0.018783729,0.018783729,0.00006 -18-07-2019 16:00,10422212.62,0.030610522,0.030610522,0.00006 -18-07-2019 17:00,10421882.97,0.054264107,0.054264107,0.00006 -18-07-2019 18:00,10421552.51,0.054959801,0.054959801,0.00006 -18-07-2019 19:00,10421221.22,0.048698558,0.048698558,0.00006 -18-07-2019 20:00,10420889.1,0.040350234,0.040350234,0.00006 -18-07-2019 21:00,10420556.16,0.028523441,0.028523441,0.00006 -18-07-2019 22:00,10420222.4,0.013913874,0.013913874,0.00006 -18-07-2019 23:00,10419887.82,0.004869856,0.004869856,0.00006 -19-07-2019 0:00,10419552.41,0.002782775,0.002782775,0.00006 -19-07-2019 1:00,10419216.18,0.000695694,0.000695694,0.00006 -19-07-2019 2:00,10418879.12,0.000695694,0.000695694,0.00006 -19-07-2019 3:00,10418541.25,0.001391387,0.001391387,0.00006 -19-07-2019 4:00,10418202.55,0.004869856,0.004869856,0.00006 -19-07-2019 5:00,10417863.03,0.038958846,0.038958846,0.00006 -19-07-2019 6:00,10417522.69,0.064699512,0.064699512,0.00006 -19-07-2019 7:00,10417181.52,0.050089945,0.050089945,0.00006 -19-07-2019 8:00,10416839.53,0.059133963,0.059133963,0.00006 -19-07-2019 9:00,10416496.73,0.042437315,0.042437315,0.00006 -19-07-2019 10:00,10416153.1,0.036871765,0.036871765,0.00006 -19-07-2019 11:00,10415808.65,0.031306216,0.031306216,0.00006 -19-07-2019 12:00,10415463.38,0.025044973,0.025044973,0.00006 -19-07-2019 13:00,10415117.28,0.021566504,0.021566504,0.00006 -19-07-2019 14:00,10414770.37,0.016696648,0.016696648,0.00006 -19-07-2019 15:00,10414422.64,0.018783729,0.018783729,0.00006 -19-07-2019 16:00,10414074.08,0.030610522,0.030610522,0.00006 -19-07-2019 17:00,10413724.71,0.054264107,0.054264107,0.00006 -19-07-2019 18:00,10413374.52,0.054959801,0.054959801,0.00006 -19-07-2019 19:00,10413023.5,0.048698558,0.048698558,0.00006 -19-07-2019 20:00,10412671.67,0.040350234,0.040350234,0.00006 -19-07-2019 21:00,10412319.02,0.028523441,0.028523441,0.00006 -19-07-2019 22:00,10411965.55,0.013913874,0.013913874,0.00006 -19-07-2019 23:00,10411611.26,0.004869856,0.004869856,0.00006 -20-07-2019 0:00,10411256.15,0.002782775,0.002782775,0.00006 -20-07-2019 1:00,10410900.22,0.000695694,0.000695694,0.00006 -20-07-2019 2:00,10410543.48,0.000695694,0.000695694,0.00006 -20-07-2019 3:00,10410185.91,0.001391387,0.001391387,0.00006 -20-07-2019 4:00,10409827.53,0.004869856,0.004869856,0.00006 -20-07-2019 5:00,10409468.33,0.038958846,0.038958846,0.00006 -20-07-2019 6:00,10409108.31,0.064699512,0.064699512,0.00006 -20-07-2019 7:00,10408747.47,0.050089945,0.050089945,0.00006 -20-07-2019 8:00,10408385.82,0.059133963,0.059133963,0.00006 -20-07-2019 9:00,10408023.35,0.042437315,0.042437315,0.00006 -20-07-2019 10:00,10407660.06,0.036871765,0.036871765,0.00006 -20-07-2019 11:00,10407295.96,0.031306216,0.031306216,0.00006 -20-07-2019 12:00,10406931.04,0.025044973,0.025044973,0.00006 -20-07-2019 13:00,10406565.3,0.021566504,0.021566504,0.00006 -20-07-2019 14:00,10406198.75,0.016696648,0.016696648,0.00006 -20-07-2019 15:00,10405831.38,0.018783729,0.018783729,0.00006 -20-07-2019 16:00,10405463.19,0.030610522,0.030610522,0.00006 -20-07-2019 17:00,10405094.19,0.054264107,0.054264107,0.00006 -20-07-2019 18:00,10404724.38,0.054959801,0.054959801,0.00006 -20-07-2019 19:00,10404353.75,0.048698558,0.048698558,0.00006 -20-07-2019 20:00,10403982.3,0.040350234,0.040350234,0.00006 -20-07-2019 21:00,10403610.04,0.028523441,0.028523441,0.00006 -20-07-2019 22:00,10403236.96,0.013913874,0.013913874,0.00006 -20-07-2019 23:00,10402863.07,0.004869856,0.004869856,0.00006 -21-07-2019 0:00,10402488.37,0.002782775,0.002782775,0.00006 -21-07-2019 1:00,10402112.85,0.000695694,0.000695694,0.00006 -21-07-2019 2:00,10401736.51,0.000695694,0.000695694,0.00006 -21-07-2019 3:00,10401359.37,0.001391387,0.001391387,0.00006 -21-07-2019 4:00,10400981.41,0.004869856,0.004869856,0.00006 -21-07-2019 5:00,10400602.63,0.038958846,0.038958846,0.00006 -21-07-2019 6:00,10400223.05,0.064699512,0.064699512,0.00006 -21-07-2019 7:00,10399842.65,0.050089945,0.050089945,0.00006 -21-07-2019 8:00,10399461.43,0.059133963,0.059133963,0.00006 -21-07-2019 9:00,10399079.41,0.042437315,0.042437315,0.00006 -21-07-2019 10:00,10398696.57,0.036871765,0.036871765,0.00006 -21-07-2019 11:00,10398312.92,0.031306216,0.031306216,0.00006 -21-07-2019 12:00,10397928.46,0.025044973,0.025044973,0.00006 -21-07-2019 13:00,10397543.19,0.021566504,0.021566504,0.00006 -21-07-2019 14:00,10397157.1,0.016696648,0.016696648,0.00006 -21-07-2019 15:00,10396770.21,0.018783729,0.018783729,0.00006 -21-07-2019 16:00,10396382.5,0.030610522,0.030610522,0.00006 -21-07-2019 17:00,10395993.98,0.054264107,0.054264107,0.00006 -21-07-2019 18:00,10395604.65,0.054959801,0.054959801,0.00006 -21-07-2019 19:00,10395214.51,0.048698558,0.048698558,0.00006 -21-07-2019 20:00,10394823.56,0.040350234,0.040350234,0.00006 -21-07-2019 21:00,10394431.8,0.028523441,0.028523441,0.00006 -21-07-2019 22:00,10394039.23,0.013913874,0.013913874,0.00006 -21-07-2019 23:00,10393645.85,0.004869856,0.004869856,0.00006 -22-07-2019 0:00,10393251.66,0.002782775,0.002782775,0.00006 -22-07-2019 1:00,10392856.66,0.000695694,0.000695694,0.00006 -22-07-2019 2:00,10392460.85,0.000695694,0.000695694,0.00006 -22-07-2019 3:00,10392064.23,0.001391387,0.001391387,0.00006 -22-07-2019 4:00,10391666.81,0.004869856,0.004869856,0.00006 -22-07-2019 5:00,10391268.57,0.038958846,0.038958846,0.00006 -22-07-2019 6:00,10390869.53,0.064699512,0.064699512,0.00006 -22-07-2019 7:00,10390469.68,0.050089945,0.050089945,0.00006 -22-07-2019 8:00,10390069.02,0.059133963,0.059133963,0.00006 -22-07-2019 9:00,10389667.55,0.042437315,0.042437315,0.00006 -22-07-2019 10:00,10389265.28,0.036871765,0.036871765,0.00006 -22-07-2019 11:00,10388862.2,0.031306216,0.031306216,0.00006 -22-07-2019 12:00,10388458.31,0.025044973,0.025044973,0.00006 -22-07-2019 13:00,10388053.61,0.021566504,0.021566504,0.00006 -22-07-2019 14:00,10387648.11,0.016696648,0.016696648,0.00006 -22-07-2019 15:00,10387241.8,0.018783729,0.018783729,0.00006 -22-07-2019 16:00,10386834.68,0.030610522,0.030610522,0.00006 -22-07-2019 17:00,10386426.76,0.054264107,0.054264107,0.00006 -22-07-2019 18:00,10386018.04,0.054959801,0.054959801,0.00006 -22-07-2019 19:00,10385608.5,0.048698558,0.048698558,0.00006 -22-07-2019 20:00,10385198.16,0.040350234,0.040350234,0.00006 -22-07-2019 21:00,10384787.02,0.028523441,0.028523441,0.00006 -22-07-2019 22:00,10384375.07,0.013913874,0.013913874,0.00006 -22-07-2019 23:00,10383962.32,0.004869856,0.004869856,0.00006 -23-07-2019 0:00,10383548.76,0.002782775,0.002782775,0.00006 -23-07-2019 1:00,10383134.4,0.000695694,0.000695694,0.00006 -23-07-2019 2:00,10382719.23,0.000695694,0.000695694,0.00006 -23-07-2019 3:00,10382303.26,0.001391387,0.001391387,0.00006 -23-07-2019 4:00,10381886.49,0.004869856,0.004869856,0.00006 -23-07-2019 5:00,10381468.91,0.038958846,0.038958846,0.00006 -23-07-2019 6:00,10381050.53,0.064699512,0.064699512,0.00006 -23-07-2019 7:00,10380631.35,0.050089945,0.050089945,0.00006 -23-07-2019 8:00,10380211.36,0.059133963,0.059133963,0.00006 -23-07-2019 9:00,10379790.57,0.042437315,0.042437315,0.00006 -23-07-2019 10:00,10379368.98,0.036871765,0.036871765,0.00006 -23-07-2019 11:00,10378946.58,0.031306216,0.031306216,0.00006 -23-07-2019 12:00,10378523.39,0.025044973,0.025044973,0.00006 -23-07-2019 13:00,10378099.39,0.021566504,0.021566504,0.00006 -23-07-2019 14:00,10377674.59,0.016696648,0.016696648,0.00006 -23-07-2019 15:00,10377248.99,0.018783729,0.018783729,0.00006 -23-07-2019 16:00,10376822.58,0.030610522,0.030610522,0.00006 -23-07-2019 17:00,10376395.38,0.054264107,0.054264107,0.00006 -23-07-2019 18:00,10375967.38,0.054959801,0.054959801,0.00006 -23-07-2019 19:00,10375538.57,0.048698558,0.048698558,0.00006 -23-07-2019 20:00,10375108.97,0.040350234,0.040350234,0.00006 -23-07-2019 21:00,10374678.56,0.028523441,0.028523441,0.00006 -23-07-2019 22:00,10374247.36,0.013913874,0.013913874,0.00006 -23-07-2019 23:00,10373815.36,0.004869856,0.004869856,0.00006 -24-07-2019 0:00,10373382.55,0.002782775,0.002782775,0.00006 -24-07-2019 1:00,10372948.95,0.000695694,0.000695694,0.00006 -24-07-2019 2:00,10372514.55,0.000695694,0.000695694,0.00006 -24-07-2019 3:00,10372079.35,0.001391387,0.001391387,0.00006 -24-07-2019 4:00,10371643.35,0.004869856,0.004869856,0.00006 -24-07-2019 5:00,10371206.55,0.038958846,0.038958846,0.00006 -24-07-2019 6:00,10370768.96,0.064699512,0.064699512,0.00006 -24-07-2019 7:00,10370330.56,0.050089945,0.050089945,0.00006 -24-07-2019 8:00,10369891.37,0.059133963,0.059133963,0.00006 -24-07-2019 9:00,10369451.39,0.042437315,0.042437315,0.00006 -24-07-2019 10:00,10369010.6,0.036871765,0.036871765,0.00006 -24-07-2019 11:00,10368569.02,0.031306216,0.031306216,0.00006 -24-07-2019 12:00,10368126.64,0.025044973,0.025044973,0.00006 -24-07-2019 13:00,10367683.47,0.021566504,0.021566504,0.00006 -24-07-2019 14:00,10367239.49,0.016696648,0.016696648,0.00006 -24-07-2019 15:00,10366794.73,0.018783729,0.018783729,0.00006 -24-07-2019 16:00,10366349.16,0.030610522,0.030610522,0.00006 -24-07-2019 17:00,10365902.81,0.054264107,0.054264107,0.00006 -24-07-2019 18:00,10365455.65,0.054959801,0.054959801,0.00006 -24-07-2019 19:00,10365007.7,0.048698558,0.048698558,0.00006 -24-07-2019 20:00,10364558.96,0.040350234,0.040350234,0.00006 -24-07-2019 21:00,10364109.42,0.028523441,0.028523441,0.00006 -24-07-2019 22:00,10363659.09,0.013913874,0.013913874,0.00006 -24-07-2019 23:00,10363207.96,0.004869856,0.004869856,0.00006 -25-07-2019 0:00,10362756.04,0.002782775,0.002782775,0.00006 -25-07-2019 1:00,10362303.33,0.000695694,0.000695694,0.00006 -25-07-2019 2:00,10361849.82,0.000695694,0.000695694,0.00006 -25-07-2019 3:00,10361395.52,0.001391387,0.001391387,0.00006 -25-07-2019 4:00,10360940.42,0.004869856,0.004869856,0.00006 -25-07-2019 5:00,10360484.54,0.038958846,0.038958846,0.00006 -25-07-2019 6:00,10360027.86,0.064699512,0.064699512,0.00006 -25-07-2019 7:00,10359570.39,0.050089945,0.050089945,0.00006 -25-07-2019 8:00,10359112.12,0.059133963,0.059133963,0.00006 -25-07-2019 9:00,10358653.07,0.042437315,0.042437315,0.00006 -25-07-2019 10:00,10358193.22,0.036871765,0.036871765,0.00006 -25-07-2019 11:00,10357732.58,0.031306216,0.031306216,0.00006 -25-07-2019 12:00,10357271.15,0.025044973,0.025044973,0.00006 -25-07-2019 13:00,10356808.93,0.021566504,0.021566504,0.00006 -25-07-2019 14:00,10356345.92,0.016696648,0.016696648,0.00006 -25-07-2019 15:00,10355882.12,0.018783729,0.018783729,0.00006 -25-07-2019 16:00,10355417.53,0.030610522,0.030610522,0.00006 -25-07-2019 17:00,10354952.15,0.054264107,0.054264107,0.00006 -25-07-2019 18:00,10354485.98,0.054959801,0.054959801,0.00006 -25-07-2019 19:00,10354019.01,0.048698558,0.048698558,0.00006 -25-07-2019 20:00,10353551.26,0.040350234,0.040350234,0.00006 -25-07-2019 21:00,10353082.73,0.028523441,0.028523441,0.00006 -25-07-2019 22:00,10352613.4,0.013913874,0.013913874,0.00006 -25-07-2019 23:00,10352143.28,0.004869856,0.004869856,0.00006 -26-07-2019 0:00,10351672.38,0.002782775,0.002782775,0.00006 -26-07-2019 1:00,10351200.69,0.000695694,0.000695694,0.00006 -26-07-2019 2:00,10350728.21,0.000695694,0.000695694,0.00006 -26-07-2019 3:00,10350254.94,0.001391387,0.001391387,0.00006 -26-07-2019 4:00,10349780.89,0.004869856,0.004869856,0.00006 -26-07-2019 5:00,10349306.04,0.038958846,0.038958846,0.00006 -26-07-2019 6:00,10348830.42,0.064699512,0.064699512,0.00006 -26-07-2019 7:00,10348354,0.050089945,0.050089945,0.00006 -26-07-2019 8:00,10347876.8,0.059133963,0.059133963,0.00006 -26-07-2019 9:00,10347398.81,0.042437315,0.042437315,0.00006 -26-07-2019 10:00,10346920.04,0.036871765,0.036871765,0.00006 -26-07-2019 11:00,10346440.48,0.031306216,0.031306216,0.00006 -26-07-2019 12:00,10345960.14,0.025044973,0.025044973,0.00006 -26-07-2019 13:00,10345479.01,0.021566504,0.021566504,0.00006 -26-07-2019 14:00,10344997.09,0.016696648,0.016696648,0.00006 -26-07-2019 15:00,10344514.4,0.018783729,0.018783729,0.00006 -26-07-2019 16:00,10344030.91,0.030610522,0.030610522,0.00006 -26-07-2019 17:00,10343546.65,0.054264107,0.054264107,0.00006 -26-07-2019 18:00,10343061.6,0.054959801,0.054959801,0.00006 -26-07-2019 19:00,10342575.76,0.048698558,0.048698558,0.00006 -26-07-2019 20:00,10342089.15,0.040350234,0.040350234,0.00006 -26-07-2019 21:00,10341601.75,0.028523441,0.028523441,0.00006 -26-07-2019 22:00,10341113.56,0.013913874,0.013913874,0.00006 -26-07-2019 23:00,10340624.6,0.004869856,0.004869856,0.00006 -27-07-2019 0:00,10340134.85,0.002782775,0.002782775,0.00006 -27-07-2019 1:00,10339644.32,0.000695694,0.000695694,0.00006 -27-07-2019 2:00,10339153.01,0.000695694,0.000695694,0.00006 -27-07-2019 3:00,10338660.91,0.001391387,0.001391387,0.00006 -27-07-2019 4:00,10338168.04,0.004869856,0.004869856,0.00006 -27-07-2019 5:00,10337674.38,0.038958846,0.038958846,0.00006 -27-07-2019 6:00,10337179.95,0.064699512,0.064699512,0.00006 -27-07-2019 7:00,10336684.73,0.050089945,0.050089945,0.00006 -27-07-2019 8:00,10336188.73,0.059133963,0.059133963,0.00006 -27-07-2019 9:00,10335691.96,0.042437315,0.042437315,0.00006 -27-07-2019 10:00,10335194.4,0.036871765,0.036871765,0.00006 -27-07-2019 11:00,10334696.06,0.031306216,0.031306216,0.00006 -27-07-2019 12:00,10334196.95,0.025044973,0.025044973,0.00006 -27-07-2019 13:00,10333697.05,0.021566504,0.021566504,0.00006 -27-07-2019 14:00,10333196.38,0.016696648,0.016696648,0.00006 -27-07-2019 15:00,10332694.93,0.018783729,0.018783729,0.00006 -27-07-2019 16:00,10332192.7,0.030610522,0.030610522,0.00006 -27-07-2019 17:00,10331689.69,0.054264107,0.054264107,0.00006 -27-07-2019 18:00,10331185.9,0.054959801,0.054959801,0.00006 -27-07-2019 19:00,10330681.34,0.048698558,0.048698558,0.00006 -27-07-2019 20:00,10330176,0.040350234,0.040350234,0.00006 -27-07-2019 21:00,10329669.88,0.028523441,0.028523441,0.00006 -27-07-2019 22:00,10329162.99,0.013913874,0.013913874,0.00006 -27-07-2019 23:00,10328655.32,0.004869856,0.004869856,0.00006 -28-07-2019 0:00,10328146.87,0.002782775,0.002782775,0.00006 -28-07-2019 1:00,10327637.65,0.000695694,0.000695694,0.00006 -28-07-2019 2:00,10327127.65,0.000695694,0.000695694,0.00006 -28-07-2019 3:00,10326616.88,0.001391387,0.001391387,0.00006 -28-07-2019 4:00,10326105.33,0.004869856,0.004869856,0.00006 -28-07-2019 5:00,10325593,0.038958846,0.038958846,0.00006 -28-07-2019 6:00,10325079.91,0.064699512,0.064699512,0.00006 -28-07-2019 7:00,10324566.03,0.050089945,0.050089945,0.00006 -28-07-2019 8:00,10324051.39,0.059133963,0.059133963,0.00006 -28-07-2019 9:00,10323535.97,0.042437315,0.042437315,0.00006 -28-07-2019 10:00,10323019.77,0.036871765,0.036871765,0.00006 -28-07-2019 11:00,10322502.81,0.031306216,0.031306216,0.00006 -28-07-2019 12:00,10321985.07,0.025044973,0.025044973,0.00006 -28-07-2019 13:00,10321466.55,0.021566504,0.021566504,0.00006 -28-07-2019 14:00,10320947.27,0.016696648,0.016696648,0.00006 -28-07-2019 15:00,10320427.21,0.018783729,0.018783729,0.00006 -28-07-2019 16:00,10319906.38,0.030610522,0.030610522,0.00006 -28-07-2019 17:00,10319384.78,0.054264107,0.054264107,0.00006 -28-07-2019 18:00,10318862.41,0.054959801,0.054959801,0.00006 -28-07-2019 19:00,10318339.27,0.048698558,0.048698558,0.00006 -28-07-2019 20:00,10317815.35,0.040350234,0.040350234,0.00006 -28-07-2019 21:00,10317290.67,0.028523441,0.028523441,0.00006 -28-07-2019 22:00,10316765.21,0.013913874,0.013913874,0.00006 -28-07-2019 23:00,10316238.99,0.004869856,0.004869856,0.00006 -29-07-2019 0:00,10315711.99,0.002782775,0.002782775,0.00006 -29-07-2019 1:00,10315184.23,0.000695694,0.000695694,0.00006 -29-07-2019 2:00,10314655.7,0.000695694,0.000695694,0.00006 -29-07-2019 3:00,10314126.39,0.001391387,0.001391387,0.00006 -29-07-2019 4:00,10313596.32,0.004869856,0.004869856,0.00006 -29-07-2019 5:00,10313065.48,0.038958846,0.038958846,0.00006 -29-07-2019 6:00,10312533.88,0.064699512,0.064699512,0.00006 -29-07-2019 7:00,10312001.5,0.050089945,0.050089945,0.00006 -29-07-2019 8:00,10311468.36,0.059133963,0.059133963,0.00006 -29-07-2019 9:00,10310934.45,0.042437315,0.042437315,0.00006 -29-07-2019 10:00,10310399.77,0.036871765,0.036871765,0.00006 -29-07-2019 11:00,10309864.33,0.031306216,0.031306216,0.00006 -29-07-2019 12:00,10309328.12,0.025044973,0.025044973,0.00006 -29-07-2019 13:00,10308791.14,0.021566504,0.021566504,0.00006 -29-07-2019 14:00,10308253.4,0.016696648,0.016696648,0.00006 -29-07-2019 15:00,10307714.89,0.018783729,0.018783729,0.00006 -29-07-2019 16:00,10307175.62,0.030610522,0.030610522,0.00006 -29-07-2019 17:00,10306635.58,0.054264107,0.054264107,0.00006 -29-07-2019 18:00,10306094.77,0.054959801,0.054959801,0.00006 -29-07-2019 19:00,10305553.21,0.048698558,0.048698558,0.00006 -29-07-2019 20:00,10305010.87,0.040350234,0.040350234,0.00006 -29-07-2019 21:00,10304467.78,0.028523441,0.028523441,0.00006 -29-07-2019 22:00,10303923.92,0.013913874,0.013913874,0.00006 -29-07-2019 23:00,10303379.29,0.004869856,0.004869856,0.00006 -30-07-2019 0:00,10302833.91,0.002782775,0.002782775,0.00006 -30-07-2019 1:00,10302287.76,0.000695694,0.000695694,0.00006 -30-07-2019 2:00,10301740.85,0.000695694,0.000695694,0.00006 -30-07-2019 3:00,10301193.17,0.001391387,0.001391387,0.00006 -30-07-2019 4:00,10300644.74,0.004869856,0.004869856,0.00006 -30-07-2019 5:00,10300095.54,0.038958846,0.038958846,0.00006 -30-07-2019 6:00,10299545.58,0.064699512,0.064699512,0.00006 -30-07-2019 7:00,10298994.86,0.050089945,0.050089945,0.00006 -30-07-2019 8:00,10298443.38,0.059133963,0.059133963,0.00006 -30-07-2019 9:00,10297891.13,0.042437315,0.042437315,0.00006 -30-07-2019 10:00,10297338.13,0.036871765,0.036871765,0.00006 -30-07-2019 11:00,10296784.37,0.031306216,0.031306216,0.00006 -30-07-2019 12:00,10296229.85,0.025044973,0.025044973,0.00006 -30-07-2019 13:00,10295674.57,0.021566504,0.021566504,0.00006 -30-07-2019 14:00,10295118.52,0.016696648,0.016696648,0.00006 -30-07-2019 15:00,10294561.72,0.018783729,0.018783729,0.00006 -30-07-2019 16:00,10294004.17,0.030610522,0.030610522,0.00006 -30-07-2019 17:00,10293445.85,0.054264107,0.054264107,0.00006 -30-07-2019 18:00,10292886.78,0.054959801,0.054959801,0.00006 -30-07-2019 19:00,10292326.94,0.048698558,0.048698558,0.00006 -30-07-2019 20:00,10291766.35,0.040350234,0.040350234,0.00006 -30-07-2019 21:00,10291205.01,0.028523441,0.028523441,0.00006 -30-07-2019 22:00,10290642.9,0.013913874,0.013913874,0.00006 -30-07-2019 23:00,10290080.04,0.004869856,0.004869856,0.00006 -31-07-2019 0:00,10289516.42,0.002782775,0.002782775,0.00006 -31-07-2019 1:00,10288952.05,0.000695694,0.000695694,0.00006 -31-07-2019 2:00,10288386.92,0.000695694,0.000695694,0.00006 -31-07-2019 3:00,10287821.04,0.001391387,0.001391387,0.00006 -31-07-2019 4:00,10287254.4,0.004869856,0.004869856,0.00006 -31-07-2019 5:00,10286687.01,0.038958846,0.038958846,0.00006 -31-07-2019 6:00,10286118.86,0.064699512,0.064699512,0.00006 -31-07-2019 7:00,10285549.96,0.050089945,0.050089945,0.00006 -31-07-2019 8:00,10284980.3,0.059133963,0.059133963,0.00006 -31-07-2019 9:00,10284409.89,0.042437315,0.042437315,0.00006 -31-07-2019 10:00,10283838.72,0.036871765,0.036871765,0.00006 -31-07-2019 11:00,10283266.81,0.031306216,0.031306216,0.00006 -31-07-2019 12:00,10282694.14,0.025044973,0.025044973,0.00006 -31-07-2019 13:00,10282120.72,0.021566504,0.021566504,0.00006 -31-07-2019 14:00,10281546.54,0.016696648,0.016696648,0.00006 -31-07-2019 15:00,10280971.62,0.018783729,0.018783729,0.00006 -31-07-2019 16:00,10280395.94,0.030610522,0.030610522,0.00006 -31-07-2019 17:00,10279819.51,0.054264107,0.054264107,0.00006 -31-07-2019 18:00,10279242.33,0.054959801,0.054959801,0.00006 -31-07-2019 19:00,10278664.4,0.048698558,0.048698558,0.00006 -31-07-2019 20:00,10278085.72,0.040350234,0.040350234,0.00006 -31-07-2019 21:00,10277506.28,0.028523441,0.028523441,0.00006 -31-07-2019 22:00,10276926.1,0.013913874,0.013913874,0.00006 -31-07-2019 23:00,10276345.17,0.004869856,0.004869856,0.00006 -1-8-2019 0:00,10275763.49,0.002782775,0.002782775,0.00006 -1-8-2019 1:00,10275181.06,0.000695694,0.000695694,0.00006 -1-8-2019 2:00,10274597.89,0.000695694,0.000695694,0.00006 -1-8-2019 3:00,10274013.96,0.001391387,0.001391387,0.00006 -1-8-2019 4:00,10273429.29,0.004869856,0.004869856,0.00006 -1-8-2019 5:00,10272843.86,0.038958846,0.038958846,0.00006 -1-8-2019 6:00,10272257.7,0.064699512,0.064699512,0.00006 -1-8-2019 7:00,10271670.78,0.050089945,0.050089945,0.00006 -1-8-2019 8:00,10271083.12,0.059133963,0.059133963,0.00006 -1-8-2019 9:00,10270494.71,0.042437315,0.042437315,0.00006 -1-8-2019 10:00,10269905.55,0.036871765,0.036871765,0.00006 -1-8-2019 11:00,10269315.65,0.031306216,0.031306216,0.00006 -1-8-2019 12:00,10268725,0.025044973,0.025044973,0.00006 -1-8-2019 13:00,10268133.61,0.021566504,0.021566504,0.00006 -1-8-2019 14:00,10267541.47,0.016696648,0.016696648,0.00006 -1-8-2019 15:00,10266948.59,0.018783729,0.018783729,0.00006 -1-8-2019 16:00,10266354.96,0.030610522,0.030610522,0.00006 -1-8-2019 17:00,10265760.59,0.054264107,0.054264107,0.00006 -1-8-2019 18:00,10265165.48,0.054959801,0.054959801,0.00006 -1-8-2019 19:00,10264569.62,0.048698558,0.048698558,0.00006 -1-8-2019 20:00,10263973.02,0.040350234,0.040350234,0.00006 -1-8-2019 21:00,10263375.67,0.028523441,0.028523441,0.00006 -1-8-2019 22:00,10262777.59,0.013913874,0.013913874,0.00006 -1-8-2019 23:00,10262178.76,0.004869856,0.004869856,0.00006 -2-8-2019 0:00,10261579.19,0.002782775,0.002782775,0.00006 -2-8-2019 1:00,10260978.87,0.000695694,0.000695694,0.00006 -2-8-2019 2:00,10260377.82,0.000695694,0.000695694,0.00006 -2-8-2019 3:00,10259776.03,0.001391387,0.001391387,0.00006 -2-8-2019 4:00,10259173.49,0.004869856,0.004869856,0.00006 -2-8-2019 5:00,10258570.21,0.038958846,0.038958846,0.00006 -2-8-2019 6:00,10257966.2,0.064699512,0.064699512,0.00006 -2-8-2019 7:00,10257361.44,0.050089945,0.050089945,0.00006 -2-8-2019 8:00,10256755.95,0.059133963,0.059133963,0.00006 -2-8-2019 9:00,10256149.71,0.042437315,0.042437315,0.00006 -2-8-2019 10:00,10255542.74,0.036871765,0.036871765,0.00006 -2-8-2019 11:00,10254935.03,0.031306216,0.031306216,0.00006 -2-8-2019 12:00,10254326.58,0.025044973,0.025044973,0.00006 -2-8-2019 13:00,10253717.39,0.021566504,0.021566504,0.00006 -2-8-2019 14:00,10253107.46,0.016696648,0.016696648,0.00006 -2-8-2019 15:00,10252496.8,0.018783729,0.018783729,0.00006 -2-8-2019 16:00,10251885.4,0.030610522,0.030610522,0.00006 -2-8-2019 17:00,10251273.26,0.054264107,0.054264107,0.00006 -2-8-2019 18:00,10250660.39,0.054959801,0.054959801,0.00006 -2-8-2019 19:00,10250046.78,0.048698558,0.048698558,0.00006 -2-8-2019 20:00,10249432.44,0.040350234,0.040350234,0.00006 -2-8-2019 21:00,10248817.36,0.028523441,0.028523441,0.00006 -2-8-2019 22:00,10248201.54,0.013913874,0.013913874,0.00006 -2-8-2019 23:00,10247584.99,0.004869856,0.004869856,0.00006 -3-8-2019 0:00,10246967.71,0.002782775,0.002782775,0.00006 -3-8-2019 1:00,10246349.69,0.000695694,0.000695694,0.00006 -3-8-2019 2:00,10245730.94,0.000695694,0.000695694,0.00006 -3-8-2019 3:00,10245111.45,0.001391387,0.001391387,0.00006 -3-8-2019 4:00,10244491.23,0.004869856,0.004869856,0.00006 -3-8-2019 5:00,10243870.28,0.038958846,0.038958846,0.00006 -3-8-2019 6:00,10243248.6,0.064699512,0.064699512,0.00006 -3-8-2019 7:00,10242626.18,0.050089945,0.050089945,0.00006 -3-8-2019 8:00,10242003.03,0.059133963,0.059133963,0.00006 -3-8-2019 9:00,10241379.15,0.042437315,0.042437315,0.00006 -3-8-2019 10:00,10240754.54,0.036871765,0.036871765,0.00006 -3-8-2019 11:00,10240129.2,0.031306216,0.031306216,0.00006 -3-8-2019 12:00,10239503.13,0.025044973,0.025044973,0.00006 -3-8-2019 13:00,10238876.33,0.021566504,0.021566504,0.00006 -3-8-2019 14:00,10238248.79,0.016696648,0.016696648,0.00006 -3-8-2019 15:00,10237620.53,0.018783729,0.018783729,0.00006 -3-8-2019 16:00,10236991.54,0.030610522,0.030610522,0.00006 -3-8-2019 17:00,10236361.82,0.054264107,0.054264107,0.00006 -3-8-2019 18:00,10235731.37,0.054959801,0.054959801,0.00006 -3-8-2019 19:00,10235100.19,0.048698558,0.048698558,0.00006 -3-8-2019 20:00,10234468.29,0.040350234,0.040350234,0.00006 -3-8-2019 21:00,10233835.65,0.028523441,0.028523441,0.00006 -3-8-2019 22:00,10233202.29,0.013913874,0.013913874,0.00006 -3-8-2019 23:00,10232568.2,0.004869856,0.004869856,0.00006 -4-8-2019 0:00,10231933.39,0.002782775,0.002782775,0.00006 -4-8-2019 1:00,10231297.85,0.000695694,0.000695694,0.00006 -4-8-2019 2:00,10230661.58,0.000695694,0.000695694,0.00006 -4-8-2019 3:00,10230024.59,0.001391387,0.001391387,0.00006 -4-8-2019 4:00,10229386.87,0.004869856,0.004869856,0.00006 -4-8-2019 5:00,10228748.43,0.038958846,0.038958846,0.00006 -4-8-2019 6:00,10228109.26,0.064699512,0.064699512,0.00006 -4-8-2019 7:00,10227469.37,0.050089945,0.050089945,0.00006 -4-8-2019 8:00,10226828.75,0.059133963,0.059133963,0.00006 -4-8-2019 9:00,10226187.41,0.042437315,0.042437315,0.00006 -4-8-2019 10:00,10225545.35,0.036871765,0.036871765,0.00006 -4-8-2019 11:00,10224902.56,0.031306216,0.031306216,0.00006 -4-8-2019 12:00,10224259.05,0.025044973,0.025044973,0.00006 -4-8-2019 13:00,10223614.82,0.021566504,0.021566504,0.00006 -4-8-2019 14:00,10222969.87,0.016696648,0.016696648,0.00006 -4-8-2019 15:00,10222324.19,0.018783729,0.018783729,0.00006 -4-8-2019 16:00,10221677.79,0.030610522,0.030610522,0.00006 -4-8-2019 17:00,10221030.68,0.054264107,0.054264107,0.00006 -4-8-2019 18:00,10220382.84,0.054959801,0.054959801,0.00006 -4-8-2019 19:00,10219734.28,0.048698558,0.048698558,0.00006 -4-8-2019 20:00,10219085,0.040350234,0.040350234,0.00006 -4-8-2019 21:00,10218435,0.028523441,0.028523441,0.00006 -4-8-2019 22:00,10217784.28,0.013913874,0.013913874,0.00006 -4-8-2019 23:00,10217132.84,0.004869856,0.004869856,0.00006 -5-8-2019 0:00,10216480.69,0.002782775,0.002782775,0.00006 -5-8-2019 1:00,10215827.81,0.000695694,0.000695694,0.00006 -5-8-2019 2:00,10215174.22,0.000695694,0.000695694,0.00006 -5-8-2019 3:00,10214519.91,0.001391387,0.001391387,0.00006 -5-8-2019 4:00,10213864.88,0.004869856,0.004869856,0.00006 -5-8-2019 5:00,10213209.13,0.038958846,0.038958846,0.00006 -5-8-2019 6:00,10212552.67,0.064699512,0.064699512,0.00006 -5-8-2019 7:00,10211895.49,0.050089945,0.050089945,0.00006 -5-8-2019 8:00,10211237.6,0.059133963,0.059133963,0.00006 -5-8-2019 9:00,10210578.99,0.042437315,0.042437315,0.00006 -5-8-2019 10:00,10209919.66,0.036871765,0.036871765,0.00006 -5-8-2019 11:00,10209259.62,0.031306216,0.031306216,0.00006 -5-8-2019 12:00,10208598.86,0.025044973,0.025044973,0.00006 -5-8-2019 13:00,10207937.39,0.021566504,0.021566504,0.00006 -5-8-2019 14:00,10207275.21,0.016696648,0.016696648,0.00006 -5-8-2019 15:00,10206612.31,0.018783729,0.018783729,0.00006 -5-8-2019 16:00,10205948.7,0.030610522,0.030610522,0.00006 -5-8-2019 17:00,10205284.38,0.054264107,0.054264107,0.00006 -5-8-2019 18:00,10204619.34,0.054959801,0.054959801,0.00006 -5-8-2019 19:00,10203953.59,0.048698558,0.048698558,0.00006 -5-8-2019 20:00,10203287.13,0.040350234,0.040350234,0.00006 -5-8-2019 21:00,10202619.96,0.028523441,0.028523441,0.00006 -5-8-2019 22:00,10201952.07,0.013913874,0.013913874,0.00006 -5-8-2019 23:00,10201283.48,0.004869856,0.004869856,0.00006 -6-8-2019 0:00,10200614.17,0.002782775,0.002782775,0.00006 -6-8-2019 1:00,10199944.16,0.000695694,0.000695694,0.00006 -6-8-2019 2:00,10199273.43,0.000695694,0.000695694,0.00006 -6-8-2019 3:00,10198602,0.001391387,0.001391387,0.00006 -6-8-2019 4:00,10197929.85,0.004869856,0.004869856,0.00006 -6-8-2019 5:00,10197257,0.038958846,0.038958846,0.00006 -6-8-2019 6:00,10196583.44,0.064699512,0.064699512,0.00006 -6-8-2019 7:00,10195909.17,0.050089945,0.050089945,0.00006 -6-8-2019 8:00,10195234.19,0.059133963,0.059133963,0.00006 -6-8-2019 9:00,10194558.5,0.042437315,0.042437315,0.00006 -6-8-2019 10:00,10193882.11,0.036871765,0.036871765,0.00006 -6-8-2019 11:00,10193205.01,0.031306216,0.031306216,0.00006 -6-8-2019 12:00,10192527.2,0.025044973,0.025044973,0.00006 -6-8-2019 13:00,10191848.69,0.021566504,0.021566504,0.00006 -6-8-2019 14:00,10191169.47,0.016696648,0.016696648,0.00006 -6-8-2019 15:00,10190489.55,0.018783729,0.018783729,0.00006 -6-8-2019 16:00,10189808.92,0.030610522,0.030610522,0.00006 -6-8-2019 17:00,10189127.59,0.054264107,0.054264107,0.00006 -6-8-2019 18:00,10188445.55,0.054959801,0.054959801,0.00006 -6-8-2019 19:00,10187762.81,0.048698558,0.048698558,0.00006 -6-8-2019 20:00,10187079.36,0.040350234,0.040350234,0.00006 -6-8-2019 21:00,10186395.22,0.028523441,0.028523441,0.00006 -6-8-2019 22:00,10185710.37,0.013913874,0.013913874,0.00006 -6-8-2019 23:00,10185024.81,0.004869856,0.004869856,0.00006 -7-8-2019 0:00,10184338.55,0.002782775,0.002782775,0.00006 -7-8-2019 1:00,10183651.6,0.000695694,0.000695694,0.00006 -7-8-2019 2:00,10182963.94,0.000695694,0.000695694,0.00006 -7-8-2019 3:00,10182275.58,0.001391387,0.001391387,0.00006 -7-8-2019 4:00,10181586.51,0.004869856,0.004869856,0.00006 -7-8-2019 5:00,10180896.75,0.038958846,0.038958846,0.00006 -7-8-2019 6:00,10180206.29,0.064699512,0.064699512,0.00006 -7-8-2019 7:00,10179515.13,0.050089945,0.050089945,0.00006 -7-8-2019 8:00,10178823.27,0.059133963,0.059133963,0.00006 -7-8-2019 9:00,10178130.71,0.042437315,0.042437315,0.00006 -7-8-2019 10:00,10177437.45,0.036871765,0.036871765,0.00006 -7-8-2019 11:00,10176743.49,0.031306216,0.031306216,0.00006 -7-8-2019 12:00,10176048.83,0.025044973,0.025044973,0.00006 -7-8-2019 13:00,10175353.48,0.021566504,0.021566504,0.00006 -7-8-2019 14:00,10174657.43,0.016696648,0.016696648,0.00006 -7-8-2019 15:00,10173960.68,0.018783729,0.018783729,0.00006 -7-8-2019 16:00,10173263.24,0.030610522,0.030610522,0.00006 -7-8-2019 17:00,10172565.1,0.054264107,0.054264107,0.00006 -7-8-2019 18:00,10171866.26,0.054959801,0.054959801,0.00006 -7-8-2019 19:00,10171166.73,0.048698558,0.048698558,0.00006 -7-8-2019 20:00,10170466.5,0.040350234,0.040350234,0.00006 -7-8-2019 21:00,10169765.58,0.028523441,0.028523441,0.00006 -7-8-2019 22:00,10169063.97,0.013913874,0.013913874,0.00006 -7-8-2019 23:00,10168361.66,0.004869856,0.004869856,0.00006 -8-8-2019 0:00,10167658.65,0.002782775,0.002782775,0.00006 -8-8-2019 1:00,10166954.96,0.000695694,0.000695694,0.00006 -8-8-2019 2:00,10166250.57,0.000695694,0.000695694,0.00006 -8-8-2019 3:00,10165545.48,0.001391387,0.001391387,0.00006 -8-8-2019 4:00,10164839.71,0.004869856,0.004869856,0.00006 -8-8-2019 5:00,10164133.24,0.038958846,0.038958846,0.00006 -8-8-2019 6:00,10163426.09,0.064699512,0.064699512,0.00006 -8-8-2019 7:00,10162718.24,0.050089945,0.050089945,0.00006 -8-8-2019 8:00,10162009.7,0.059133963,0.059133963,0.00006 -8-8-2019 9:00,10161300.47,0.042437315,0.042437315,0.00006 -8-8-2019 10:00,10160590.55,0.036871765,0.036871765,0.00006 -8-8-2019 11:00,10159879.94,0.031306216,0.031306216,0.00006 -8-8-2019 12:00,10159168.64,0.025044973,0.025044973,0.00006 -8-8-2019 13:00,10158456.65,0.021566504,0.021566504,0.00006 -8-8-2019 14:00,10157743.97,0.016696648,0.016696648,0.00006 -8-8-2019 15:00,10157030.61,0.018783729,0.018783729,0.00006 -8-8-2019 16:00,10156316.55,0.030610522,0.030610522,0.00006 -8-8-2019 17:00,10155601.81,0.054264107,0.054264107,0.00006 -8-8-2019 18:00,10154886.39,0.054959801,0.054959801,0.00006 -8-8-2019 19:00,10154170.27,0.048698558,0.048698558,0.00006 -8-8-2019 20:00,10153453.47,0.040350234,0.040350234,0.00006 -8-8-2019 21:00,10152735.98,0.028523441,0.028523441,0.00006 -8-8-2019 22:00,10152017.81,0.013913874,0.013913874,0.00006 -8-8-2019 23:00,10151298.95,0.004869856,0.004869856,0.00006 -9-8-2019 0:00,10150579.41,0.002782775,0.002782775,0.00006 -9-8-2019 1:00,10149859.19,0.000695694,0.000695694,0.00006 -9-8-2019 2:00,10149138.27,0.000695694,0.000695694,0.00006 -9-8-2019 3:00,10148416.68,0.001391387,0.001391387,0.00006 -9-8-2019 4:00,10147694.4,0.004869856,0.004869856,0.00006 -9-8-2019 5:00,10146971.44,0.038958846,0.038958846,0.00006 -9-8-2019 6:00,10146247.8,0.064699512,0.064699512,0.00006 -9-8-2019 7:00,10145523.47,0.050089945,0.050089945,0.00006 -9-8-2019 8:00,10144798.46,0.059133963,0.059133963,0.00006 -9-8-2019 9:00,10144072.77,0.042437315,0.042437315,0.00006 -9-8-2019 10:00,10143346.4,0.036871765,0.036871765,0.00006 -9-8-2019 11:00,10142619.35,0.031306216,0.031306216,0.00006 -9-8-2019 12:00,10141891.62,0.025044973,0.025044973,0.00006 -9-8-2019 13:00,10141163.2,0.021566504,0.021566504,0.00006 -9-8-2019 14:00,10140434.11,0.016696648,0.016696648,0.00006 -9-8-2019 15:00,10139704.34,0.018783729,0.018783729,0.00006 -9-8-2019 16:00,10138973.89,0.030610522,0.030610522,0.00006 -9-8-2019 17:00,10138242.76,0.054264107,0.054264107,0.00006 -9-8-2019 18:00,10137510.95,0.054959801,0.054959801,0.00006 -9-8-2019 19:00,10136778.47,0.048698558,0.048698558,0.00006 -9-8-2019 20:00,10136045.31,0.040350234,0.040350234,0.00006 -9-8-2019 21:00,10135311.47,0.028523441,0.028523441,0.00006 -9-8-2019 22:00,10134576.95,0.013913874,0.013913874,0.00006 -9-8-2019 23:00,10133841.76,0.004869856,0.004869856,0.00006 -10-8-2019 0:00,10133105.89,0.002782775,0.002782775,0.00006 -10-8-2019 1:00,10132369.35,0.000695694,0.000695694,0.00006 -10-8-2019 2:00,10131632.13,0.000695694,0.000695694,0.00006 -10-8-2019 3:00,10130894.24,0.001391387,0.001391387,0.00006 -10-8-2019 4:00,10130155.67,0.004869856,0.004869856,0.00006 -10-8-2019 5:00,10129416.43,0.038958846,0.038958846,0.00006 -10-8-2019 6:00,10128676.51,0.064699512,0.064699512,0.00006 -10-8-2019 7:00,10127935.92,0.050089945,0.050089945,0.00006 -10-8-2019 8:00,10127194.66,0.059133963,0.059133963,0.00006 -10-8-2019 9:00,10126452.72,0.042437315,0.042437315,0.00006 -10-8-2019 10:00,10125710.12,0.036871765,0.036871765,0.00006 -10-8-2019 11:00,10124966.84,0.031306216,0.031306216,0.00006 -10-8-2019 12:00,10124222.89,0.025044973,0.025044973,0.00006 -10-8-2019 13:00,10123478.27,0.021566504,0.021566504,0.00006 -10-8-2019 14:00,10122732.98,0.016696648,0.016696648,0.00006 -10-8-2019 15:00,10121987.02,0.018783729,0.018783729,0.00006 -10-8-2019 16:00,10121240.39,0.030610522,0.030610522,0.00006 -10-8-2019 17:00,10120493.09,0.054264107,0.054264107,0.00006 -10-8-2019 18:00,10119745.12,0.054959801,0.054959801,0.00006 -10-8-2019 19:00,10118996.48,0.048698558,0.048698558,0.00006 -10-8-2019 20:00,10118247.17,0.040350234,0.040350234,0.00006 -10-8-2019 21:00,10117497.2,0.028523441,0.028523441,0.00006 -10-8-2019 22:00,10116746.55,0.013913874,0.013913874,0.00006 -10-8-2019 23:00,10115995.24,0.004869856,0.004869856,0.00006 -11-8-2019 0:00,10115243.27,0.002782775,0.002782775,0.00006 -11-8-2019 1:00,10114490.63,0.000695694,0.000695694,0.00006 -11-8-2019 2:00,10113737.32,0.000695694,0.000695694,0.00006 -11-8-2019 3:00,10112983.34,0.001391387,0.001391387,0.00006 -11-8-2019 4:00,10112228.71,0.004869856,0.004869856,0.00006 -11-8-2019 5:00,10111473.4,0.038958846,0.038958846,0.00006 -11-8-2019 6:00,10110717.43,0.064699512,0.064699512,0.00006 -11-8-2019 7:00,10109960.8,0.050089945,0.050089945,0.00006 -11-8-2019 8:00,10109203.51,0.059133963,0.059133963,0.00006 -11-8-2019 9:00,10108445.55,0.042437315,0.042437315,0.00006 -11-8-2019 10:00,10107686.93,0.036871765,0.036871765,0.00006 -11-8-2019 11:00,10106927.64,0.031306216,0.031306216,0.00006 -11-8-2019 12:00,10106167.69,0.025044973,0.025044973,0.00006 -11-8-2019 13:00,10105407.09,0.021566504,0.021566504,0.00006 -11-8-2019 14:00,10104645.82,0.016696648,0.016696648,0.00006 -11-8-2019 15:00,10103883.89,0.018783729,0.018783729,0.00006 -11-8-2019 16:00,10103121.3,0.030610522,0.030610522,0.00006 -11-8-2019 17:00,10102358.04,0.054264107,0.054264107,0.00006 -11-8-2019 18:00,10101594.13,0.054959801,0.054959801,0.00006 -11-8-2019 19:00,10100829.56,0.048698558,0.048698558,0.00006 -11-8-2019 20:00,10100064.34,0.040350234,0.040350234,0.00006 -11-8-2019 21:00,10099298.45,0.028523441,0.028523441,0.00006 -11-8-2019 22:00,10098531.9,0.013913874,0.013913874,0.00006 -11-8-2019 23:00,10097764.7,0.004869856,0.004869856,0.00006 -12-8-2019 0:00,10096996.84,0.002782775,0.002782775,0.00006 -12-8-2019 1:00,10096228.32,0.000695694,0.000695694,0.00006 -12-8-2019 2:00,10095459.15,0.000695694,0.000695694,0.00006 -12-8-2019 3:00,10094689.32,0.001391387,0.001391387,0.00006 -12-8-2019 4:00,10093918.83,0.004869856,0.004869856,0.00006 -12-8-2019 5:00,10093147.69,0.038958846,0.038958846,0.00006 -12-8-2019 6:00,10092375.89,0.064699512,0.064699512,0.00006 -12-8-2019 7:00,10091603.44,0.050089945,0.050089945,0.00006 -12-8-2019 8:00,10090830.33,0.059133963,0.059133963,0.00006 -12-8-2019 9:00,10090056.58,0.042437315,0.042437315,0.00006 -12-8-2019 10:00,10089282.16,0.036871765,0.036871765,0.00006 -12-8-2019 11:00,10088507.1,0.031306216,0.031306216,0.00006 -12-8-2019 12:00,10087731.38,0.025044973,0.025044973,0.00006 -12-8-2019 13:00,10086955.01,0.021566504,0.021566504,0.00006 -12-8-2019 14:00,10086177.99,0.016696648,0.016696648,0.00006 -12-8-2019 15:00,10085400.31,0.018783729,0.018783729,0.00006 -12-8-2019 16:00,10084621.99,0.030610522,0.030610522,0.00006 -12-8-2019 17:00,10083843.01,0.054264107,0.054264107,0.00006 -12-8-2019 18:00,10083063.39,0.054959801,0.054959801,0.00006 -12-8-2019 19:00,10082283.11,0.048698558,0.048698558,0.00006 -12-8-2019 20:00,10081502.19,0.040350234,0.040350234,0.00006 -12-8-2019 21:00,10080720.62,0.028523441,0.028523441,0.00006 -12-8-2019 22:00,10079938.39,0.013913874,0.013913874,0.00006 -12-8-2019 23:00,10079155.52,0.004869856,0.004869856,0.00006 -13-08-2019 0:00,10078372.01,0.002782775,0.002782775,0.00006 -13-08-2019 1:00,10077587.84,0.000695694,0.000695694,0.00006 -13-08-2019 2:00,10076803.03,0.000695694,0.000695694,0.00006 -13-08-2019 3:00,10076017.57,0.001391387,0.001391387,0.00006 -13-08-2019 4:00,10075231.46,0.004869856,0.004869856,0.00006 -13-08-2019 5:00,10074444.71,0.038958846,0.038958846,0.00006 -13-08-2019 6:00,10073657.32,0.064699512,0.064699512,0.00006 -13-08-2019 7:00,10072869.28,0.050089945,0.050089945,0.00006 -13-08-2019 8:00,10072080.59,0.059133963,0.059133963,0.00006 -13-08-2019 9:00,10071291.26,0.042437315,0.042437315,0.00006 -13-08-2019 10:00,10070501.29,0.036871765,0.036871765,0.00006 -13-08-2019 11:00,10069710.67,0.031306216,0.031306216,0.00006 -13-08-2019 12:00,10068919.41,0.025044973,0.025044973,0.00006 -13-08-2019 13:00,10068127.51,0.021566504,0.021566504,0.00006 -13-08-2019 14:00,10067334.96,0.016696648,0.016696648,0.00006 -13-08-2019 15:00,10066541.78,0.018783729,0.018783729,0.00006 -13-08-2019 16:00,10065747.95,0.030610522,0.030610522,0.00006 -13-08-2019 17:00,10064953.48,0.054264107,0.054264107,0.00006 -13-08-2019 18:00,10064158.37,0.054959801,0.054959801,0.00006 -13-08-2019 19:00,10063362.62,0.048698558,0.048698558,0.00006 -13-08-2019 20:00,10062566.23,0.040350234,0.040350234,0.00006 -13-08-2019 21:00,10061769.21,0.028523441,0.028523441,0.00006 -13-08-2019 22:00,10060971.54,0.013913874,0.013913874,0.00006 -13-08-2019 23:00,10060173.23,0.004869856,0.004869856,0.00006 -14-08-2019 0:00,10059374.29,0.002782775,0.002782775,0.00006 -14-08-2019 1:00,10058574.71,0.000695694,0.000695694,0.00006 -14-08-2019 2:00,10057774.49,0.000695694,0.000695694,0.00006 -14-08-2019 3:00,10056973.64,0.001391387,0.001391387,0.00006 -14-08-2019 4:00,10056172.15,0.004869856,0.004869856,0.00006 -14-08-2019 5:00,10055370.02,0.038958846,0.038958846,0.00006 -14-08-2019 6:00,10054567.26,0.064699512,0.064699512,0.00006 -14-08-2019 7:00,10053763.86,0.050089945,0.050089945,0.00006 -14-08-2019 8:00,10052959.83,0.059133963,0.059133963,0.00006 -14-08-2019 9:00,10052155.16,0.042437315,0.042437315,0.00006 -14-08-2019 10:00,10051349.86,0.036871765,0.036871765,0.00006 -14-08-2019 11:00,10050543.92,0.031306216,0.031306216,0.00006 -14-08-2019 12:00,10049737.36,0.025044973,0.025044973,0.00006 -14-08-2019 13:00,10048930.16,0.021566504,0.021566504,0.00006 -14-08-2019 14:00,10048122.32,0.016696648,0.016696648,0.00006 -14-08-2019 15:00,10047313.86,0.018783729,0.018783729,0.00006 -14-08-2019 16:00,10046504.76,0.030610522,0.030610522,0.00006 -14-08-2019 17:00,10045695.04,0.054264107,0.054264107,0.00006 -14-08-2019 18:00,10044884.68,0.054959801,0.054959801,0.00006 -14-08-2019 19:00,10044073.69,0.048698558,0.048698558,0.00006 -14-08-2019 20:00,10043262.08,0.040350234,0.040350234,0.00006 -14-08-2019 21:00,10042449.83,0.028523441,0.028523441,0.00006 -14-08-2019 22:00,10041636.96,0.013913874,0.013913874,0.00006 -14-08-2019 23:00,10040823.45,0.004869856,0.004869856,0.00006 -15-08-2019 0:00,10040009.32,0.002782775,0.002782775,0.00006 -15-08-2019 1:00,10039194.56,0.000695694,0.000695694,0.00006 -15-08-2019 2:00,10038379.18,0.000695694,0.000695694,0.00006 -15-08-2019 3:00,10037563.16,0.001391387,0.001391387,0.00006 -15-08-2019 4:00,10036746.52,0.004869856,0.004869856,0.00006 -15-08-2019 5:00,10035929.26,0.038958846,0.038958846,0.00006 -15-08-2019 6:00,10035111.37,0.064699512,0.064699512,0.00006 -15-08-2019 7:00,10034292.85,0.050089945,0.050089945,0.00006 -15-08-2019 8:00,10033473.71,0.059133963,0.059133963,0.00006 -15-08-2019 9:00,10032653.94,0.042437315,0.042437315,0.00006 -15-08-2019 10:00,10031833.55,0.036871765,0.036871765,0.00006 -15-08-2019 11:00,10031012.54,0.031306216,0.031306216,0.00006 -15-08-2019 12:00,10030190.91,0.025044973,0.025044973,0.00006 -15-08-2019 13:00,10029368.65,0.021566504,0.021566504,0.00006 -15-08-2019 14:00,10028545.77,0.016696648,0.016696648,0.00006 -15-08-2019 15:00,10027722.26,0.018783729,0.018783729,0.00006 -15-08-2019 16:00,10026898.14,0.030610522,0.030610522,0.00006 -15-08-2019 17:00,10026073.4,0.054264107,0.054264107,0.00006 -15-08-2019 18:00,10025248.03,0.054959801,0.054959801,0.00006 -15-08-2019 19:00,10024422.05,0.048698558,0.048698558,0.00006 -15-08-2019 20:00,10023595.44,0.040350234,0.040350234,0.00006 -15-08-2019 21:00,10022768.22,0.028523441,0.028523441,0.00006 -15-08-2019 22:00,10021940.38,0.013913874,0.013913874,0.00006 -15-08-2019 23:00,10021111.92,0.004869856,0.004869856,0.00006 -16-08-2019 0:00,10020282.84,0.002782775,0.002782775,0.00006 -16-08-2019 1:00,10019453.14,0.000695694,0.000695694,0.00006 -16-08-2019 2:00,10018622.83,0.000695694,0.000695694,0.00006 -16-08-2019 3:00,10017791.9,0.001391387,0.001391387,0.00006 -16-08-2019 4:00,10016960.35,0.004869856,0.004869856,0.00006 -16-08-2019 5:00,10016128.19,0.038958846,0.038958846,0.00006 -16-08-2019 6:00,10015295.41,0.064699512,0.064699512,0.00006 -16-08-2019 7:00,10014462.02,0.050089945,0.050089945,0.00006 -16-08-2019 8:00,10013628.01,0.059133963,0.059133963,0.00006 -16-08-2019 9:00,10012793.39,0.042437315,0.042437315,0.00006 -16-08-2019 10:00,10011958.16,0.036871765,0.036871765,0.00006 -16-08-2019 11:00,10011122.31,0.031306216,0.031306216,0.00006 -16-08-2019 12:00,10010285.85,0.025044973,0.025044973,0.00006 -16-08-2019 13:00,10009448.78,0.021566504,0.021566504,0.00006 -16-08-2019 14:00,10008611.09,0.016696648,0.016696648,0.00006 -16-08-2019 15:00,10007772.8,0.018783729,0.018783729,0.00006 -16-08-2019 16:00,10006933.89,0.030610522,0.030610522,0.00006 -16-08-2019 17:00,10006094.37,0.054264107,0.054264107,0.00006 -16-08-2019 18:00,10005254.24,0.054959801,0.054959801,0.00006 -16-08-2019 19:00,10004413.5,0.048698558,0.048698558,0.00006 -16-08-2019 20:00,10003572.16,0.040350234,0.040350234,0.00006 -16-08-2019 21:00,10002730.2,0.028523441,0.028523441,0.00006 -16-08-2019 22:00,10001887.64,0.013913874,0.013913874,0.00006 -16-08-2019 23:00,10001044.46,0.004869856,0.004869856,0.00006 -17-08-2019 0:00,10000200.68,0.002782775,0.002782775,0.00006 -17-08-2019 1:00,9999356.296,0.000695694,0.000695694,0.00006 -17-08-2019 2:00,9998511.302,0.000695694,0.000695694,0.00006 -17-08-2019 3:00,9997665.702,0.001391387,0.001391387,0.00006 -17-08-2019 4:00,9996819.495,0.004869856,0.004869856,0.00006 -17-08-2019 5:00,9995972.684,0.038958846,0.038958846,0.00006 -17-08-2019 6:00,9995125.267,0.064699512,0.064699512,0.00006 -17-08-2019 7:00,9994277.246,0.050089945,0.050089945,0.00006 -17-08-2019 8:00,9993428.62,0.059133963,0.059133963,0.00006 -17-08-2019 9:00,9992579.391,0.042437315,0.042437315,0.00006 -17-08-2019 10:00,9991729.559,0.036871765,0.036871765,0.00006 -17-08-2019 11:00,9990879.124,0.031306216,0.031306216,0.00006 -17-08-2019 12:00,9990028.086,0.025044973,0.025044973,0.00006 -17-08-2019 13:00,9989176.447,0.021566504,0.021566504,0.00006 -17-08-2019 14:00,9988324.206,0.016696648,0.016696648,0.00006 -17-08-2019 15:00,9987471.364,0.018783729,0.018783729,0.00006 -17-08-2019 16:00,9986617.921,0.030610522,0.030610522,0.00006 -17-08-2019 17:00,9985763.878,0.054264107,0.054264107,0.00006 -17-08-2019 18:00,9984909.236,0.054959801,0.054959801,0.00006 -17-08-2019 19:00,9984053.994,0.048698558,0.048698558,0.00006 -17-08-2019 20:00,9983198.153,0.040350234,0.040350234,0.00006 -17-08-2019 21:00,9982341.714,0.028523441,0.028523441,0.00006 -17-08-2019 22:00,9981484.677,0.013913874,0.013913874,0.00006 -17-08-2019 23:00,9980627.043,0.004869856,0.004869856,0.00006 -18-08-2019 0:00,9979768.811,0.002782775,0.002782775,0.00006 -18-08-2019 1:00,9978909.983,0.000695694,0.000695694,0.00006 -18-08-2019 2:00,9978050.558,0.000695694,0.000695694,0.00006 -18-08-2019 3:00,9977190.538,0.001391387,0.001391387,0.00006 -18-08-2019 4:00,9976329.922,0.004869856,0.004869856,0.00006 -18-08-2019 5:00,9975468.711,0.038958846,0.038958846,0.00006 -18-08-2019 6:00,9974606.906,0.064699512,0.064699512,0.00006 -18-08-2019 7:00,9973744.507,0.050089945,0.050089945,0.00006 -18-08-2019 8:00,9972881.515,0.059133963,0.059133963,0.00006 -18-08-2019 9:00,9972017.929,0.042437315,0.042437315,0.00006 -18-08-2019 10:00,9971153.751,0.036871765,0.036871765,0.00006 -18-08-2019 11:00,9970288.98,0.031306216,0.031306216,0.00006 -18-08-2019 12:00,9969423.618,0.025044973,0.025044973,0.00006 -18-08-2019 13:00,9968557.664,0.021566504,0.021566504,0.00006 -18-08-2019 14:00,9967691.12,0.016696648,0.016696648,0.00006 -18-08-2019 15:00,9966823.985,0.018783729,0.018783729,0.00006 -18-08-2019 16:00,9965956.26,0.030610522,0.030610522,0.00006 -18-08-2019 17:00,9965087.945,0.054264107,0.054264107,0.00006 -18-08-2019 18:00,9964219.042,0.054959801,0.054959801,0.00006 -18-08-2019 19:00,9963349.549,0.048698558,0.048698558,0.00006 -18-08-2019 20:00,9962479.469,0.040350234,0.040350234,0.00006 -18-08-2019 21:00,9961608.801,0.028523441,0.028523441,0.00006 -18-08-2019 22:00,9960737.545,0.013913874,0.013913874,0.00006 -18-08-2019 23:00,9959865.703,0.004869856,0.004869856,0.00006 -19-08-2019 0:00,9958993.274,0.002782775,0.002782775,0.00006 -19-08-2019 1:00,9958120.259,0.000695694,0.000695694,0.00006 -19-08-2019 2:00,9957246.659,0.000695694,0.000695694,0.00006 -19-08-2019 3:00,9956372.473,0.001391387,0.001391387,0.00006 -19-08-2019 4:00,9955497.703,0.004869856,0.004869856,0.00006 -19-08-2019 5:00,9954622.349,0.038958846,0.038958846,0.00006 -19-08-2019 6:00,9953746.411,0.064699512,0.064699512,0.00006 -19-08-2019 7:00,9952869.89,0.050089945,0.050089945,0.00006 -19-08-2019 8:00,9951992.786,0.059133963,0.059133963,0.00006 -19-08-2019 9:00,9951115.1,0.042437315,0.042437315,0.00006 -19-08-2019 10:00,9950236.831,0.036871765,0.036871765,0.00006 -19-08-2019 11:00,9949357.982,0.031306216,0.031306216,0.00006 -19-08-2019 12:00,9948478.551,0.025044973,0.025044973,0.00006 -19-08-2019 13:00,9947598.54,0.021566504,0.021566504,0.00006 -19-08-2019 14:00,9946717.948,0.016696648,0.016696648,0.00006 -19-08-2019 15:00,9945836.777,0.018783729,0.018783729,0.00006 -19-08-2019 16:00,9944955.027,0.030610522,0.030610522,0.00006 -19-08-2019 17:00,9944072.698,0.054264107,0.054264107,0.00006 -19-08-2019 18:00,9943189.791,0.054959801,0.054959801,0.00006 -19-08-2019 19:00,9942306.306,0.048698558,0.048698558,0.00006 -19-08-2019 20:00,9941422.243,0.040350234,0.040350234,0.00006 -19-08-2019 21:00,9940537.604,0.028523441,0.028523441,0.00006 -19-08-2019 22:00,9939652.388,0.013913874,0.013913874,0.00006 -19-08-2019 23:00,9938766.596,0.004869856,0.004869856,0.00006 -20-08-2019 0:00,9937880.228,0.002782775,0.002782775,0.00006 -20-08-2019 1:00,9936993.286,0.000695694,0.000695694,0.00006 -20-08-2019 2:00,9936105.769,0.000695694,0.000695694,0.00006 -20-08-2019 3:00,9935217.677,0.001391387,0.001391387,0.00006 -20-08-2019 4:00,9934329.012,0.004869856,0.004869856,0.00006 -20-08-2019 5:00,9933439.774,0.038958846,0.038958846,0.00006 -20-08-2019 6:00,9932549.962,0.064699512,0.064699512,0.00006 -20-08-2019 7:00,9931659.579,0.050089945,0.050089945,0.00006 -20-08-2019 8:00,9930768.623,0.059133963,0.059133963,0.00006 -20-08-2019 9:00,9929877.096,0.042437315,0.042437315,0.00006 -20-08-2019 10:00,9928984.998,0.036871765,0.036871765,0.00006 -20-08-2019 11:00,9928092.33,0.031306216,0.031306216,0.00006 -20-08-2019 12:00,9927199.091,0.025044973,0.025044973,0.00006 -20-08-2019 13:00,9926305.283,0.021566504,0.021566504,0.00006 -20-08-2019 14:00,9925410.906,0.016696648,0.016696648,0.00006 -20-08-2019 15:00,9924515.96,0.018783729,0.018783729,0.00006 -20-08-2019 16:00,9923620.446,0.030610522,0.030610522,0.00006 -20-08-2019 17:00,9922724.364,0.054264107,0.054264107,0.00006 -20-08-2019 18:00,9921827.714,0.054959801,0.054959801,0.00006 -20-08-2019 19:00,9920930.498,0.048698558,0.048698558,0.00006 -20-08-2019 20:00,9920032.716,0.040350234,0.040350234,0.00006 -20-08-2019 21:00,9919134.367,0.028523441,0.028523441,0.00006 -20-08-2019 22:00,9918235.453,0.013913874,0.013913874,0.00006 -20-08-2019 23:00,9917335.974,0.004869856,0.004869856,0.00006 -21-08-2019 0:00,9916435.931,0.002782775,0.002782775,0.00006 -21-08-2019 1:00,9915535.324,0.000695694,0.000695694,0.00006 -21-08-2019 2:00,9914634.152,0.000695694,0.000695694,0.00006 -21-08-2019 3:00,9913732.418,0.001391387,0.001391387,0.00006 -21-08-2019 4:00,9912830.121,0.004869856,0.004869856,0.00006 -21-08-2019 5:00,9911927.262,0.038958846,0.038958846,0.00006 -21-08-2019 6:00,9911023.841,0.064699512,0.064699512,0.00006 -21-08-2019 7:00,9910119.859,0.050089945,0.050089945,0.00006 -21-08-2019 8:00,9909215.316,0.059133963,0.059133963,0.00006 -21-08-2019 9:00,9908310.212,0.042437315,0.042437315,0.00006 -21-08-2019 10:00,9907404.549,0.036871765,0.036871765,0.00006 -21-08-2019 11:00,9906498.326,0.031306216,0.031306216,0.00006 -21-08-2019 12:00,9905591.545,0.025044973,0.025044973,0.00006 -21-08-2019 13:00,9904684.205,0.021566504,0.021566504,0.00006 -21-08-2019 14:00,9903776.306,0.016696648,0.016696648,0.00006 -21-08-2019 15:00,9902867.851,0.018783729,0.018783729,0.00006 -21-08-2019 16:00,9901958.838,0.030610522,0.030610522,0.00006 -21-08-2019 17:00,9901049.268,0.054264107,0.054264107,0.00006 -21-08-2019 18:00,9900139.143,0.054959801,0.054959801,0.00006 -21-08-2019 19:00,9899228.461,0.048698558,0.048698558,0.00006 -21-08-2019 20:00,9898317.225,0.040350234,0.040350234,0.00006 -21-08-2019 21:00,9897405.434,0.028523441,0.028523441,0.00006 -21-08-2019 22:00,9896493.088,0.013913874,0.013913874,0.00006 -21-08-2019 23:00,9895580.189,0.004869856,0.004869856,0.00006 -22-08-2019 0:00,9894666.736,0.002782775,0.002782775,0.00006 -22-08-2019 1:00,9893752.73,0.000695694,0.000695694,0.00006 -22-08-2019 2:00,9892838.172,0.000695694,0.000695694,0.00006 -22-08-2019 3:00,9891923.062,0.001391387,0.001391387,0.00006 -22-08-2019 4:00,9891007.401,0.004869856,0.004869856,0.00006 -22-08-2019 5:00,9890091.189,0.038958846,0.038958846,0.00006 -22-08-2019 6:00,9889174.426,0.064699512,0.064699512,0.00006 -22-08-2019 7:00,9888257.113,0.050089945,0.050089945,0.00006 -22-08-2019 8:00,9887339.25,0.059133963,0.059133963,0.00006 -22-08-2019 9:00,9886420.839,0.042437315,0.042437315,0.00006 -22-08-2019 10:00,9885501.878,0.036871765,0.036871765,0.00006 -22-08-2019 11:00,9884582.37,0.031306216,0.031306216,0.00006 -22-08-2019 12:00,9883662.314,0.025044973,0.025044973,0.00006 -22-08-2019 13:00,9882741.711,0.021566504,0.021566504,0.00006 -22-08-2019 14:00,9881820.561,0.016696648,0.016696648,0.00006 -22-08-2019 15:00,9880898.864,0.018783729,0.018783729,0.00006 -22-08-2019 16:00,9879976.622,0.030610522,0.030610522,0.00006 -22-08-2019 17:00,9879053.835,0.054264107,0.054264107,0.00006 -22-08-2019 18:00,9878130.503,0.054959801,0.054959801,0.00006 -22-08-2019 19:00,9877206.626,0.048698558,0.048698558,0.00006 -22-08-2019 20:00,9876282.205,0.040350234,0.040350234,0.00006 -22-08-2019 21:00,9875357.242,0.028523441,0.028523441,0.00006 -22-08-2019 22:00,9874431.735,0.013913874,0.013913874,0.00006 -22-08-2019 23:00,9873505.685,0.004869856,0.004869856,0.00006 -23-08-2019 0:00,9872579.094,0.002782775,0.002782775,0.00006 -23-08-2019 1:00,9871651.961,0.000695694,0.000695694,0.00006 -23-08-2019 2:00,9870724.287,0.000695694,0.000695694,0.00006 -23-08-2019 3:00,9869796.073,0.001391387,0.001391387,0.00006 -23-08-2019 4:00,9868867.318,0.004869856,0.004869856,0.00006 -23-08-2019 5:00,9867938.024,0.038958846,0.038958846,0.00006 -23-08-2019 6:00,9867008.191,0.064699512,0.064699512,0.00006 -23-08-2019 7:00,9866077.819,0.050089945,0.050089945,0.00006 -23-08-2019 8:00,9865146.909,0.059133963,0.059133963,0.00006 -23-08-2019 9:00,9864215.462,0.042437315,0.042437315,0.00006 -23-08-2019 10:00,9863283.477,0.036871765,0.036871765,0.00006 -23-08-2019 11:00,9862350.955,0.031306216,0.031306216,0.00006 -23-08-2019 12:00,9861417.897,0.025044973,0.025044973,0.00006 -23-08-2019 13:00,9860484.303,0.021566504,0.021566504,0.00006 -23-08-2019 14:00,9859550.174,0.016696648,0.016696648,0.00006 -23-08-2019 15:00,9858615.511,0.018783729,0.018783729,0.00006 -23-08-2019 16:00,9857680.313,0.030610522,0.030610522,0.00006 -23-08-2019 17:00,9856744.581,0.054264107,0.054264107,0.00006 -23-08-2019 18:00,9855808.315,0.054959801,0.054959801,0.00006 -23-08-2019 19:00,9854871.517,0.048698558,0.048698558,0.00006 -23-08-2019 20:00,9853934.187,0.040350234,0.040350234,0.00006 -23-08-2019 21:00,9852996.324,0.028523441,0.028523441,0.00006 -23-08-2019 22:00,9852057.93,0.013913874,0.013913874,0.00006 -23-08-2019 23:00,9851119.005,0.004869856,0.004869856,0.00006 -24-08-2019 0:00,9850179.55,0.002782775,0.002782775,0.00006 -24-08-2019 1:00,9849239.565,0.000695694,0.000695694,0.00006 -24-08-2019 2:00,9848299.05,0.000695694,0.000695694,0.00006 -24-08-2019 3:00,9847358.006,0.001391387,0.001391387,0.00006 -24-08-2019 4:00,9846416.434,0.004869856,0.004869856,0.00006 -24-08-2019 5:00,9845474.333,0.038958846,0.038958846,0.00006 -24-08-2019 6:00,9844531.705,0.064699512,0.064699512,0.00006 -24-08-2019 7:00,9843588.55,0.050089945,0.050089945,0.00006 -24-08-2019 8:00,9842644.869,0.059133963,0.059133963,0.00006 -24-08-2019 9:00,9841700.661,0.042437315,0.042437315,0.00006 -24-08-2019 10:00,9840755.927,0.036871765,0.036871765,0.00006 -24-08-2019 11:00,9839810.669,0.031306216,0.031306216,0.00006 -24-08-2019 12:00,9838864.886,0.025044973,0.025044973,0.00006 -24-08-2019 13:00,9837918.578,0.021566504,0.021566504,0.00006 -24-08-2019 14:00,9836971.747,0.016696648,0.016696648,0.00006 -24-08-2019 15:00,9836024.393,0.018783729,0.018783729,0.00006 -24-08-2019 16:00,9835076.516,0.030610522,0.030610522,0.00006 -24-08-2019 17:00,9834128.117,0.054264107,0.054264107,0.00006 -24-08-2019 18:00,9833179.196,0.054959801,0.054959801,0.00006 -24-08-2019 19:00,9832229.754,0.048698558,0.048698558,0.00006 -24-08-2019 20:00,9831279.791,0.040350234,0.040350234,0.00006 -24-08-2019 21:00,9830329.308,0.028523441,0.028523441,0.00006 -24-08-2019 22:00,9829378.305,0.013913874,0.013913874,0.00006 -24-08-2019 23:00,9828426.783,0.004869856,0.004869856,0.00006 -25-08-2019 0:00,9827474.742,0.002782775,0.002782775,0.00006 -25-08-2019 1:00,9826522.182,0.000695694,0.000695694,0.00006 -25-08-2019 2:00,9825569.105,0.000695694,0.000695694,0.00006 -25-08-2019 3:00,9824615.511,0.001391387,0.001391387,0.00006 -25-08-2019 4:00,9823661.4,0.004869856,0.004869856,0.00006 -25-08-2019 5:00,9822706.772,0.038958846,0.038958846,0.00006 -25-08-2019 6:00,9821751.629,0.064699512,0.064699512,0.00006 -25-08-2019 7:00,9820795.97,0.050089945,0.050089945,0.00006 -25-08-2019 8:00,9819839.796,0.059133963,0.059133963,0.00006 -25-08-2019 9:00,9818883.108,0.042437315,0.042437315,0.00006 -25-08-2019 10:00,9817925.906,0.036871765,0.036871765,0.00006 -25-08-2019 11:00,9816968.191,0.031306216,0.031306216,0.00006 -25-08-2019 12:00,9816009.962,0.025044973,0.025044973,0.00006 -25-08-2019 13:00,9815051.222,0.021566504,0.021566504,0.00006 -25-08-2019 14:00,9814091.969,0.016696648,0.016696648,0.00006 -25-08-2019 15:00,9813132.205,0.018783729,0.018783729,0.00006 -25-08-2019 16:00,9812171.93,0.030610522,0.030610522,0.00006 -25-08-2019 17:00,9811211.145,0.054264107,0.054264107,0.00006 -25-08-2019 18:00,9810249.85,0.054959801,0.054959801,0.00006 -25-08-2019 19:00,9809288.045,0.048698558,0.048698558,0.00006 -25-08-2019 20:00,9808325.731,0.040350234,0.040350234,0.00006 -25-08-2019 21:00,9807362.909,0.028523441,0.028523441,0.00006 -25-08-2019 22:00,9806399.579,0.013913874,0.013913874,0.00006 -25-08-2019 23:00,9805435.741,0.004869856,0.004869856,0.00006 -26-08-2019 0:00,9804471.397,0.002782775,0.002782775,0.00006 -26-08-2019 1:00,9803506.546,0.000695694,0.000695694,0.00006 -26-08-2019 2:00,9802541.189,0.000695694,0.000695694,0.00006 -26-08-2019 3:00,9801575.326,0.001391387,0.001391387,0.00006 -26-08-2019 4:00,9800608.959,0.004869856,0.004869856,0.00006 -26-08-2019 5:00,9799642.087,0.038958846,0.038958846,0.00006 -26-08-2019 6:00,9798674.711,0.064699512,0.064699512,0.00006 -26-08-2019 7:00,9797706.832,0.050089945,0.050089945,0.00006 -26-08-2019 8:00,9796738.449,0.059133963,0.059133963,0.00006 -26-08-2019 9:00,9795769.565,0.042437315,0.042437315,0.00006 -26-08-2019 10:00,9794800.178,0.036871765,0.036871765,0.00006 -26-08-2019 11:00,9793830.289,0.031306216,0.031306216,0.00006 -26-08-2019 12:00,9792859.9,0.025044973,0.025044973,0.00006 -26-08-2019 13:00,9791889.01,0.021566504,0.021566504,0.00006 -26-08-2019 14:00,9790917.62,0.016696648,0.016696648,0.00006 -26-08-2019 15:00,9789945.731,0.018783729,0.018783729,0.00006 -26-08-2019 16:00,9788973.343,0.030610522,0.030610522,0.00006 -26-08-2019 17:00,9788000.456,0.054264107,0.054264107,0.00006 -26-08-2019 18:00,9787027.071,0.054959801,0.054959801,0.00006 -26-08-2019 19:00,9786053.189,0.048698558,0.048698558,0.00006 -26-08-2019 20:00,9785078.809,0.040350234,0.040350234,0.00006 -26-08-2019 21:00,9784103.933,0.028523441,0.028523441,0.00006 -26-08-2019 22:00,9783128.562,0.013913874,0.013913874,0.00006 -26-08-2019 23:00,9782152.694,0.004869856,0.004869856,0.00006 -27-08-2019 0:00,9781176.332,0.002782775,0.002782775,0.00006 -27-08-2019 1:00,9780199.475,0.000695694,0.000695694,0.00006 -27-08-2019 2:00,9779222.124,0.000695694,0.000695694,0.00006 -27-08-2019 3:00,9778244.28,0.001391387,0.001391387,0.00006 -27-08-2019 4:00,9777265.943,0.004869856,0.004869856,0.00006 -27-08-2019 5:00,9776287.113,0.038958846,0.038958846,0.00006 -27-08-2019 6:00,9775307.791,0.064699512,0.064699512,0.00006 -27-08-2019 7:00,9774327.978,0.050089945,0.050089945,0.00006 -27-08-2019 8:00,9773347.674,0.059133963,0.059133963,0.00006 -27-08-2019 9:00,9772366.88,0.042437315,0.042437315,0.00006 -27-08-2019 10:00,9771385.595,0.036871765,0.036871765,0.00006 -27-08-2019 11:00,9770403.821,0.031306216,0.031306216,0.00006 -27-08-2019 12:00,9769421.558,0.025044973,0.025044973,0.00006 -27-08-2019 13:00,9768438.807,0.021566504,0.021566504,0.00006 -27-08-2019 14:00,9767455.568,0.016696648,0.016696648,0.00006 -27-08-2019 15:00,9766471.841,0.018783729,0.018783729,0.00006 -27-08-2019 16:00,9765487.627,0.030610522,0.030610522,0.00006 -27-08-2019 17:00,9764502.927,0.054264107,0.054264107,0.00006 -27-08-2019 18:00,9763517.741,0.054959801,0.054959801,0.00006 -27-08-2019 19:00,9762532.07,0.048698558,0.048698558,0.00006 -27-08-2019 20:00,9761545.914,0.040350234,0.040350234,0.00006 -27-08-2019 21:00,9760559.273,0.028523441,0.028523441,0.00006 -27-08-2019 22:00,9759572.148,0.013913874,0.013913874,0.00006 -27-08-2019 23:00,9758584.54,0.004869856,0.004869856,0.00006 -28-08-2019 0:00,9757596.45,0.002782775,0.002782775,0.00006 -28-08-2019 1:00,9756607.877,0.000695694,0.000695694,0.00006 -28-08-2019 2:00,9755618.822,0.000695694,0.000695694,0.00006 -28-08-2019 3:00,9754629.285,0.001391387,0.001391387,0.00006 -28-08-2019 4:00,9753639.268,0.004869856,0.004869856,0.00006 -28-08-2019 5:00,9752648.771,0.038958846,0.038958846,0.00006 -28-08-2019 6:00,9751657.793,0.064699512,0.064699512,0.00006 -28-08-2019 7:00,9750666.337,0.050089945,0.050089945,0.00006 -28-08-2019 8:00,9749674.401,0.059133963,0.059133963,0.00006 -28-08-2019 9:00,9748681.988,0.042437315,0.042437315,0.00006 -28-08-2019 10:00,9747689.096,0.036871765,0.036871765,0.00006 -28-08-2019 11:00,9746695.728,0.031306216,0.031306216,0.00006 -28-08-2019 12:00,9745701.882,0.025044973,0.025044973,0.00006 -28-08-2019 13:00,9744707.561,0.021566504,0.021566504,0.00006 -28-08-2019 14:00,9743712.763,0.016696648,0.016696648,0.00006 -28-08-2019 15:00,9742717.491,0.018783729,0.018783729,0.00006 -28-08-2019 16:00,9741721.743,0.030610522,0.030610522,0.00006 -28-08-2019 17:00,9740725.522,0.054264107,0.054264107,0.00006 -28-08-2019 18:00,9739728.827,0.054959801,0.054959801,0.00006 -28-08-2019 19:00,9738731.658,0.048698558,0.048698558,0.00006 -28-08-2019 20:00,9737734.017,0.040350234,0.040350234,0.00006 -28-08-2019 21:00,9736735.904,0.028523441,0.028523441,0.00006 -28-08-2019 22:00,9735737.32,0.013913874,0.013913874,0.00006 -28-08-2019 23:00,9734738.264,0.004869856,0.004869856,0.00006 -29-08-2019 0:00,9733738.737,0.002782775,0.002782775,0.00006 -29-08-2019 1:00,9732738.741,0.000695694,0.000695694,0.00006 -29-08-2019 2:00,9731738.275,0.000695694,0.000695694,0.00006 -29-08-2019 3:00,9730737.34,0.001391387,0.001391387,0.00006 -29-08-2019 4:00,9729735.936,0.004869856,0.004869856,0.00006 -29-08-2019 5:00,9728734.064,0.038958846,0.038958846,0.00006 -29-08-2019 6:00,9727731.725,0.064699512,0.064699512,0.00006 -29-08-2019 7:00,9726728.919,0.050089945,0.050089945,0.00006 -29-08-2019 8:00,9725725.646,0.059133963,0.059133963,0.00006 -29-08-2019 9:00,9724721.908,0.042437315,0.042437315,0.00006 -29-08-2019 10:00,9723717.703,0.036871765,0.036871765,0.00006 -29-08-2019 11:00,9722713.034,0.031306216,0.031306216,0.00006 -29-08-2019 12:00,9721707.901,0.025044973,0.025044973,0.00006 -29-08-2019 13:00,9720702.304,0.021566504,0.021566504,0.00006 -29-08-2019 14:00,9719696.243,0.016696648,0.016696648,0.00006 -29-08-2019 15:00,9718689.719,0.018783729,0.018783729,0.00006 -29-08-2019 16:00,9717682.734,0.030610522,0.030610522,0.00006 -29-08-2019 17:00,9716675.286,0.054264107,0.054264107,0.00006 -29-08-2019 18:00,9715667.377,0.054959801,0.054959801,0.00006 -29-08-2019 19:00,9714659.007,0.048698558,0.048698558,0.00006 -29-08-2019 20:00,9713650.177,0.040350234,0.040350234,0.00006 -29-08-2019 21:00,9712640.887,0.028523441,0.028523441,0.00006 -29-08-2019 22:00,9711631.138,0.013913874,0.013913874,0.00006 -29-08-2019 23:00,9710620.93,0.004869856,0.004869856,0.00006 -30-08-2019 0:00,9709610.265,0.002782775,0.002782775,0.00006 -30-08-2019 1:00,9708599.141,0.000695694,0.000695694,0.00006 -30-08-2019 2:00,9707587.56,0.000695694,0.000695694,0.00006 -30-08-2019 3:00,9706575.523,0.001391387,0.001391387,0.00006 -30-08-2019 4:00,9705563.029,0.004869856,0.004869856,0.00006 -30-08-2019 5:00,9704550.08,0.038958846,0.038958846,0.00006 -30-08-2019 6:00,9703536.676,0.064699512,0.064699512,0.00006 -30-08-2019 7:00,9702522.817,0.050089945,0.050089945,0.00006 -30-08-2019 8:00,9701508.505,0.059133963,0.059133963,0.00006 -30-08-2019 9:00,9700493.739,0.042437315,0.042437315,0.00006 -30-08-2019 10:00,9699478.519,0.036871765,0.036871765,0.00006 -30-08-2019 11:00,9698462.848,0.031306216,0.031306216,0.00006 -30-08-2019 12:00,9697446.724,0.025044973,0.025044973,0.00006 -30-08-2019 13:00,9696430.149,0.021566504,0.021566504,0.00006 -30-08-2019 14:00,9695413.123,0.016696648,0.016696648,0.00006 -30-08-2019 15:00,9694395.647,0.018783729,0.018783729,0.00006 -30-08-2019 16:00,9693377.721,0.030610522,0.030610522,0.00006 -30-08-2019 17:00,9692359.346,0.054264107,0.054264107,0.00006 -30-08-2019 18:00,9691340.521,0.054959801,0.054959801,0.00006 -30-08-2019 19:00,9690321.249,0.048698558,0.048698558,0.00006 -30-08-2019 20:00,9689301.529,0.040350234,0.040350234,0.00006 -30-08-2019 21:00,9688281.361,0.028523441,0.028523441,0.00006 -30-08-2019 22:00,9687260.747,0.013913874,0.013913874,0.00006 -30-08-2019 23:00,9686239.687,0.004869856,0.004869856,0.00006 -31-08-2019 0:00,9685218.181,0.002782775,0.002782775,0.00006 -31-08-2019 1:00,9684196.23,0.000695694,0.000695694,0.00006 -31-08-2019 2:00,9683173.834,0.000695694,0.000695694,0.00006 -31-08-2019 3:00,9682150.995,0.001391387,0.001391387,0.00006 -31-08-2019 4:00,9681127.711,0.004869856,0.004869856,0.00006 -31-08-2019 5:00,9680103.985,0.038958846,0.038958846,0.00006 -31-08-2019 6:00,9679079.816,0.064699512,0.064699512,0.00006 -31-08-2019 7:00,9678055.206,0.050089945,0.050089945,0.00006 -31-08-2019 8:00,9677030.153,0.059133963,0.059133963,0.00006 -31-08-2019 9:00,9676004.66,0.042437315,0.042437315,0.00006 -31-08-2019 10:00,9674978.727,0.036871765,0.036871765,0.00006 -31-08-2019 11:00,9673952.354,0.031306216,0.031306216,0.00006 -31-08-2019 12:00,9672925.541,0.025044973,0.025044973,0.00006 -31-08-2019 13:00,9671898.289,0.021566504,0.021566504,0.00006 -31-08-2019 14:00,9670870.6,0.016696648,0.016696648,0.00006 -31-08-2019 15:00,9669842.472,0.018783729,0.018783729,0.00006 -31-08-2019 16:00,9668813.908,0.030610522,0.030610522,0.00006 -31-08-2019 17:00,9667784.906,0.054264107,0.054264107,0.00006 -31-08-2019 18:00,9666755.469,0.054959801,0.054959801,0.00006 -31-08-2019 19:00,9665725.596,0.048698558,0.048698558,0.00006 -31-08-2019 20:00,9664695.288,0.040350234,0.040350234,0.00006 -31-08-2019 21:00,9663664.545,0.028523441,0.028523441,0.00006 -31-08-2019 22:00,9662633.368,0.013913874,0.013913874,0.00006 -31-08-2019 23:00,9661601.758,0.004869856,0.004869856,0.00006 -1-9-2019 0:00,9660569.715,0.002782775,0.002782775,0.00006 -1-9-2019 1:00,9659537.239,0.000695694,0.000695694,0.00006 -1-9-2019 2:00,9658504.331,0.000695694,0.000695694,0.00006 -1-9-2019 3:00,9657470.992,0.001391387,0.001391387,0.00006 -1-9-2019 4:00,9656437.223,0.004869856,0.004869856,0.00006 -1-9-2019 5:00,9655403.022,0.038958846,0.038958846,0.00006 -1-9-2019 6:00,9654368.392,0.064699512,0.064699512,0.00006 -1-9-2019 7:00,9653333.333,0.050089945,0.050089945,0.00006 -1-9-2019 8:00,9652297.845,0.059133963,0.059133963,0.00006 -1-9-2019 9:00,9651261.929,0.042437315,0.042437315,0.00006 -1-9-2019 10:00,9650225.586,0.036871765,0.036871765,0.00006 -1-9-2019 11:00,9649188.815,0.031306216,0.031306216,0.00006 -1-9-2019 12:00,9648151.617,0.025044973,0.025044973,0.00006 -1-9-2019 13:00,9647113.994,0.021566504,0.021566504,0.00006 -1-9-2019 14:00,9646075.945,0.016696648,0.016696648,0.00006 -1-9-2019 15:00,9645037.471,0.018783729,0.018783729,0.00006 -1-9-2019 16:00,9643998.573,0.030610522,0.030610522,0.00006 -1-9-2019 17:00,9642959.25,0.054264107,0.054264107,0.00006 -1-9-2019 18:00,9641919.505,0.054959801,0.054959801,0.00006 -1-9-2019 19:00,9640879.336,0.048698558,0.048698558,0.00006 -1-9-2019 20:00,9639838.745,0.040350234,0.040350234,0.00006 -1-9-2019 21:00,9638797.733,0.028523441,0.028523441,0.00006 -1-9-2019 22:00,9637756.299,0.013913874,0.013913874,0.00006 -1-9-2019 23:00,9636714.444,0.004869856,0.004869856,0.00006 -2-9-2019 0:00,9635672.169,0.002782775,0.002782775,0.00006 -2-9-2019 1:00,9634629.475,0.000695694,0.000695694,0.00006 -2-9-2019 2:00,9633586.361,0.000695694,0.000695694,0.00006 -2-9-2019 3:00,9632542.829,0.001391387,0.001391387,0.00006 -2-9-2019 4:00,9631498.879,0.004869856,0.004869856,0.00006 -2-9-2019 5:00,9630454.512,0.038958846,0.038958846,0.00006 -2-9-2019 6:00,9629409.727,0.064699512,0.064699512,0.00006 -2-9-2019 7:00,9628364.526,0.050089945,0.050089945,0.00006 -2-9-2019 8:00,9627318.91,0.059133963,0.059133963,0.00006 -2-9-2019 9:00,9626272.878,0.042437315,0.042437315,0.00006 -2-9-2019 10:00,9625226.431,0.036871765,0.036871765,0.00006 -2-9-2019 11:00,9624179.57,0.031306216,0.031306216,0.00006 -2-9-2019 12:00,9623132.295,0.025044973,0.025044973,0.00006 -2-9-2019 13:00,9622084.607,0.021566504,0.021566504,0.00006 -2-9-2019 14:00,9621036.506,0.016696648,0.016696648,0.00006 -2-9-2019 15:00,9619987.993,0.018783729,0.018783729,0.00006 -2-9-2019 16:00,9618939.069,0.030610522,0.030610522,0.00006 -2-9-2019 17:00,9617889.734,0.054264107,0.054264107,0.00006 -2-9-2019 18:00,9616839.988,0.054959801,0.054959801,0.00006 -2-9-2019 19:00,9615789.832,0.048698558,0.048698558,0.00006 -2-9-2019 20:00,9614739.267,0.040350234,0.040350234,0.00006 -2-9-2019 21:00,9613688.293,0.028523441,0.028523441,0.00006 -2-9-2019 22:00,9612636.91,0.013913874,0.013913874,0.00006 -2-9-2019 23:00,9611585.12,0.004869856,0.004869856,0.00006 -3-9-2019 0:00,9610532.923,0.002782775,0.002782775,0.00006 -3-9-2019 1:00,9609480.319,0.000695694,0.000695694,0.00006 -3-9-2019 2:00,9608427.308,0.000695694,0.000695694,0.00006 -3-9-2019 3:00,9607373.893,0.001391387,0.001391387,0.00006 -3-9-2019 4:00,9606320.072,0.004869856,0.004869856,0.00006 -3-9-2019 5:00,9605265.846,0.038958846,0.038958846,0.00006 -3-9-2019 6:00,9604211.217,0.064699512,0.064699512,0.00006 -3-9-2019 7:00,9603156.184,0.050089945,0.050089945,0.00006 -3-9-2019 8:00,9602100.748,0.059133963,0.059133963,0.00006 -3-9-2019 9:00,9601044.91,0.042437315,0.042437315,0.00006 -3-9-2019 10:00,9599988.67,0.036871765,0.036871765,0.00006 -3-9-2019 11:00,9598932.029,0.031306216,0.031306216,0.00006 -3-9-2019 12:00,9597874.987,0.025044973,0.025044973,0.00006 -3-9-2019 13:00,9596817.544,0.021566504,0.021566504,0.00006 -3-9-2019 14:00,9595759.703,0.016696648,0.016696648,0.00006 -3-9-2019 15:00,9594701.462,0.018783729,0.018783729,0.00006 -3-9-2019 16:00,9593642.822,0.030610522,0.030610522,0.00006 -3-9-2019 17:00,9592583.785,0.054264107,0.054264107,0.00006 -3-9-2019 18:00,9591524.35,0.054959801,0.054959801,0.00006 -3-9-2019 19:00,9590464.518,0.048698558,0.048698558,0.00006 -3-9-2019 20:00,9589404.29,0.040350234,0.040350234,0.00006 -3-9-2019 21:00,9588343.666,0.028523441,0.028523441,0.00006 -3-9-2019 22:00,9587282.646,0.013913874,0.013913874,0.00006 -3-9-2019 23:00,9586221.232,0.004869856,0.004869856,0.00006 -4-9-2019 0:00,9585159.424,0.002782775,0.002782775,0.00006 -4-9-2019 1:00,9584097.222,0.000695694,0.000695694,0.00006 -4-9-2019 2:00,9583034.627,0.000695694,0.000695694,0.00006 -4-9-2019 3:00,9581971.64,0.001391387,0.001391387,0.00006 -4-9-2019 4:00,9580908.26,0.004869856,0.004869856,0.00006 -4-9-2019 5:00,9579844.489,0.038958846,0.038958846,0.00006 -4-9-2019 6:00,9578780.327,0.064699512,0.064699512,0.00006 -4-9-2019 7:00,9577715.775,0.050089945,0.050089945,0.00006 -4-9-2019 8:00,9576650.833,0.059133963,0.059133963,0.00006 -4-9-2019 9:00,9575585.502,0.042437315,0.042437315,0.00006 -4-9-2019 10:00,9574519.781,0.036871765,0.036871765,0.00006 -4-9-2019 11:00,9573453.673,0.031306216,0.031306216,0.00006 -4-9-2019 12:00,9572387.177,0.025044973,0.025044973,0.00006 -4-9-2019 13:00,9571320.294,0.021566504,0.021566504,0.00006 -4-9-2019 14:00,9570253.025,0.016696648,0.016696648,0.00006 -4-9-2019 15:00,9569185.37,0.018783729,0.018783729,0.00006 -4-9-2019 16:00,9568117.329,0.030610522,0.030610522,0.00006 -4-9-2019 17:00,9567048.903,0.054264107,0.054264107,0.00006 -4-9-2019 18:00,9565980.093,0.054959801,0.054959801,0.00006 -4-9-2019 19:00,9564910.899,0.048698558,0.048698558,0.00006 -4-9-2019 20:00,9563841.322,0.040350234,0.040350234,0.00006 -4-9-2019 21:00,9562771.362,0.028523441,0.028523441,0.00006 -4-9-2019 22:00,9561701.02,0.013913874,0.013913874,0.00006 -4-9-2019 23:00,9560630.297,0.004869856,0.004869856,0.00006 -5-9-2019 0:00,9559559.192,0.002782775,0.002782775,0.00006 -5-9-2019 1:00,9558487.707,0.000695694,0.000695694,0.00006 -5-9-2019 2:00,9557415.843,0.000695694,0.000695694,0.00006 -5-9-2019 3:00,9556343.598,0.001391387,0.001391387,0.00006 -5-9-2019 4:00,9555270.975,0.004869856,0.004869856,0.00006 -5-9-2019 5:00,9554197.974,0.038958846,0.038958846,0.00006 -5-9-2019 6:00,9553124.595,0.064699512,0.064699512,0.00006 -5-9-2019 7:00,9552050.839,0.050089945,0.050089945,0.00006 -5-9-2019 8:00,9550976.706,0.059133963,0.059133963,0.00006 -5-9-2019 9:00,9549902.197,0.042437315,0.042437315,0.00006 -5-9-2019 10:00,9548827.313,0.036871765,0.036871765,0.00006 -5-9-2019 11:00,9547752.053,0.031306216,0.031306216,0.00006 -5-9-2019 12:00,9546676.42,0.025044973,0.025044973,0.00006 -5-9-2019 13:00,9545600.412,0.021566504,0.021566504,0.00006 -5-9-2019 14:00,9544524.031,0.016696648,0.016696648,0.00006 -5-9-2019 15:00,9543447.277,0.018783729,0.018783729,0.00006 -5-9-2019 16:00,9542370.152,0.030610522,0.030610522,0.00006 -5-9-2019 17:00,9541292.654,0.054264107,0.054264107,0.00006 -5-9-2019 18:00,9540214.786,0.054959801,0.054959801,0.00006 -5-9-2019 19:00,9539136.547,0.048698558,0.048698558,0.00006 -5-9-2019 20:00,9538057.938,0.040350234,0.040350234,0.00006 -5-9-2019 21:00,9536978.959,0.028523441,0.028523441,0.00006 -5-9-2019 22:00,9535899.612,0.013913874,0.013913874,0.00006 -5-9-2019 23:00,9534819.897,0.004869856,0.004869856,0.00006 -6-9-2019 0:00,9533739.813,0.002782775,0.002782775,0.00006 -6-9-2019 1:00,9532659.363,0.000695694,0.000695694,0.00006 -6-9-2019 2:00,9531578.546,0.000695694,0.000695694,0.00006 -6-9-2019 3:00,9530497.362,0.001391387,0.001391387,0.00006 -6-9-2019 4:00,9529415.814,0.004869856,0.004869856,0.00006 -6-9-2019 5:00,9528333.9,0.038958846,0.038958846,0.00006 -6-9-2019 6:00,9527251.622,0.064699512,0.064699512,0.00006 -6-9-2019 7:00,9526168.98,0.050089945,0.050089945,0.00006 -6-9-2019 8:00,9525085.975,0.059133963,0.059133963,0.00006 -6-9-2019 9:00,9524002.607,0.042437315,0.042437315,0.00006 -6-9-2019 10:00,9522918.876,0.036871765,0.036871765,0.00006 -6-9-2019 11:00,9521834.785,0.031306216,0.031306216,0.00006 -6-9-2019 12:00,9520750.332,0.025044973,0.025044973,0.00006 -6-9-2019 13:00,9519665.518,0.021566504,0.021566504,0.00006 -6-9-2019 14:00,9518580.345,0.016696648,0.016696648,0.00006 -6-9-2019 15:00,9517494.812,0.018783729,0.018783729,0.00006 -6-9-2019 16:00,9516408.921,0.030610522,0.030610522,0.00006 -6-9-2019 17:00,9515322.671,0.054264107,0.054264107,0.00006 -6-9-2019 18:00,9514236.063,0.054959801,0.054959801,0.00006 -6-9-2019 19:00,9513149.099,0.048698558,0.048698558,0.00006 -6-9-2019 20:00,9512061.777,0.040350234,0.040350234,0.00006 -6-9-2019 21:00,9510974.1,0.028523441,0.028523441,0.00006 -6-9-2019 22:00,9509886.067,0.013913874,0.013913874,0.00006 -6-9-2019 23:00,9508797.68,0.004869856,0.004869856,0.00006 -7-9-2019 0:00,9507708.938,0.002782775,0.002782775,0.00006 -7-9-2019 1:00,9506619.842,0.000695694,0.000695694,0.00006 -7-9-2019 2:00,9505530.393,0.000695694,0.000695694,0.00006 -7-9-2019 3:00,9504440.591,0.001391387,0.001391387,0.00006 -7-9-2019 4:00,9503350.437,0.004869856,0.004869856,0.00006 -7-9-2019 5:00,9502259.931,0.038958846,0.038958846,0.00006 -7-9-2019 6:00,9501169.075,0.064699512,0.064699512,0.00006 -7-9-2019 7:00,9500077.868,0.050089945,0.050089945,0.00006 -7-9-2019 8:00,9498986.311,0.059133963,0.059133963,0.00006 -7-9-2019 9:00,9497894.405,0.042437315,0.042437315,0.00006 -7-9-2019 10:00,9496802.15,0.036871765,0.036871765,0.00006 -7-9-2019 11:00,9495709.547,0.031306216,0.031306216,0.00006 -7-9-2019 12:00,9494616.597,0.025044973,0.025044973,0.00006 -7-9-2019 13:00,9493523.299,0.021566504,0.021566504,0.00006 -7-9-2019 14:00,9492429.655,0.016696648,0.016696648,0.00006 -7-9-2019 15:00,9491335.665,0.018783729,0.018783729,0.00006 -7-9-2019 16:00,9490241.329,0.030610522,0.030610522,0.00006 -7-9-2019 17:00,9489146.649,0.054264107,0.054264107,0.00006 -7-9-2019 18:00,9488051.624,0.054959801,0.054959801,0.00006 -7-9-2019 19:00,9486956.256,0.048698558,0.048698558,0.00006 -7-9-2019 20:00,9485860.544,0.040350234,0.040350234,0.00006 -7-9-2019 21:00,9484764.49,0.028523441,0.028523441,0.00006 -7-9-2019 22:00,9483668.095,0.013913874,0.013913874,0.00006 -7-9-2019 23:00,9482571.357,0.004869856,0.004869856,0.00006 -8-9-2019 0:00,9481474.279,0.002782775,0.002782775,0.00006 -8-9-2019 1:00,9480376.86,0.000695694,0.000695694,0.00006 -8-9-2019 2:00,9479279.102,0.000695694,0.000695694,0.00006 -8-9-2019 3:00,9478181.005,0.001391387,0.001391387,0.00006 -8-9-2019 4:00,9477082.569,0.004869856,0.004869856,0.00006 -8-9-2019 5:00,9475983.794,0.038958846,0.038958846,0.00006 -8-9-2019 6:00,9474884.683,0.064699512,0.064699512,0.00006 -8-9-2019 7:00,9473785.234,0.050089945,0.050089945,0.00006 -8-9-2019 8:00,9472685.45,0.059133963,0.059133963,0.00006 -8-9-2019 9:00,9471585.329,0.042437315,0.042437315,0.00006 -8-9-2019 10:00,9470484.873,0.036871765,0.036871765,0.00006 -8-9-2019 11:00,9469384.083,0.031306216,0.031306216,0.00006 -8-9-2019 12:00,9468282.958,0.025044973,0.025044973,0.00006 -8-9-2019 13:00,9467181.5,0.021566504,0.021566504,0.00006 -8-9-2019 14:00,9466079.709,0.016696648,0.016696648,0.00006 -8-9-2019 15:00,9464977.585,0.018783729,0.018783729,0.00006 -8-9-2019 16:00,9463875.13,0.030610522,0.030610522,0.00006 -8-9-2019 17:00,9462772.344,0.054264107,0.054264107,0.00006 -8-9-2019 18:00,9461669.227,0.054959801,0.054959801,0.00006 -8-9-2019 19:00,9460565.779,0.048698558,0.048698558,0.00006 -8-9-2019 20:00,9459462.002,0.040350234,0.040350234,0.00006 -8-9-2019 21:00,9458357.897,0.028523441,0.028523441,0.00006 -8-9-2019 22:00,9457253.462,0.013913874,0.013913874,0.00006 -8-9-2019 23:00,9456148.7,0.004869856,0.004869856,0.00006 -9-9-2019 0:00,9455043.611,0.002782775,0.002782775,0.00006 -9-9-2019 1:00,9453938.195,0.000695694,0.000695694,0.00006 -9-9-2019 2:00,9452832.453,0.000695694,0.000695694,0.00006 -9-9-2019 3:00,9451726.385,0.001391387,0.001391387,0.00006 -9-9-2019 4:00,9450619.992,0.004869856,0.004869856,0.00006 -9-9-2019 5:00,9449513.275,0.038958846,0.038958846,0.00006 -9-9-2019 6:00,9448406.234,0.064699512,0.064699512,0.00006 -9-9-2019 7:00,9447298.87,0.050089945,0.050089945,0.00006 -9-9-2019 8:00,9446191.183,0.059133963,0.059133963,0.00006 -9-9-2019 9:00,9445083.174,0.042437315,0.042437315,0.00006 -9-9-2019 10:00,9443974.843,0.036871765,0.036871765,0.00006 -9-9-2019 11:00,9442866.191,0.031306216,0.031306216,0.00006 -9-9-2019 12:00,9441757.219,0.025044973,0.025044973,0.00006 -9-9-2019 13:00,9440647.927,0.021566504,0.021566504,0.00006 -9-9-2019 14:00,9439538.316,0.016696648,0.016696648,0.00006 -9-9-2019 15:00,9438428.386,0.018783729,0.018783729,0.00006 -9-9-2019 16:00,9437318.137,0.030610522,0.030610522,0.00006 -9-9-2019 17:00,9436207.571,0.054264107,0.054264107,0.00006 -9-9-2019 18:00,9435096.689,0.054959801,0.054959801,0.00006 -9-9-2019 19:00,9433985.489,0.048698558,0.048698558,0.00006 -9-9-2019 20:00,9432873.974,0.040350234,0.040350234,0.00006 -9-9-2019 21:00,9431762.144,0.028523441,0.028523441,0.00006 -9-9-2019 22:00,9430649.999,0.013913874,0.013913874,0.00006 -9-9-2019 23:00,9429537.539,0.004869856,0.004869856,0.00006 -10-9-2019 0:00,9428424.766,0.002782775,0.002782775,0.00006 -10-9-2019 1:00,9427311.68,0.000695694,0.000695694,0.00006 -10-9-2019 2:00,9426198.282,0.000695694,0.000695694,0.00006 -10-9-2019 3:00,9425084.572,0.001391387,0.001391387,0.00006 -10-9-2019 4:00,9423970.55,0.004869856,0.004869856,0.00006 -10-9-2019 5:00,9422856.218,0.038958846,0.038958846,0.00006 -10-9-2019 6:00,9421741.575,0.064699512,0.064699512,0.00006 -10-9-2019 7:00,9420626.624,0.050089945,0.050089945,0.00006 -10-9-2019 8:00,9419511.363,0.059133963,0.059133963,0.00006 -10-9-2019 9:00,9418395.793,0.042437315,0.042437315,0.00006 -10-9-2019 10:00,9417279.916,0.036871765,0.036871765,0.00006 -10-9-2019 11:00,9416163.731,0.031306216,0.031306216,0.00006 -10-9-2019 12:00,9415047.24,0.025044973,0.025044973,0.00006 -10-9-2019 13:00,9413930.443,0.021566504,0.021566504,0.00006 -10-9-2019 14:00,9412813.34,0.016696648,0.016696648,0.00006 -10-9-2019 15:00,9411695.932,0.018783729,0.018783729,0.00006 -10-9-2019 16:00,9410578.22,0.030610522,0.030610522,0.00006 -10-9-2019 17:00,9409460.204,0.054264107,0.054264107,0.00006 -10-9-2019 18:00,9408341.884,0.054959801,0.054959801,0.00006 -10-9-2019 19:00,9407223.262,0.048698558,0.048698558,0.00006 -10-9-2019 20:00,9406104.338,0.040350234,0.040350234,0.00006 -10-9-2019 21:00,9404985.112,0.028523441,0.028523441,0.00006 -10-9-2019 22:00,9403865.586,0.013913874,0.013913874,0.00006 -10-9-2019 23:00,9402745.759,0.004869856,0.004869856,0.00006 -11-9-2019 0:00,9401625.632,0.002782775,0.002782775,0.00006 -11-9-2019 1:00,9400505.206,0.000695694,0.000695694,0.00006 -11-9-2019 2:00,9399384.481,0.000695694,0.000695694,0.00006 -11-9-2019 3:00,9398263.459,0.001391387,0.001391387,0.00006 -11-9-2019 4:00,9397142.138,0.004869856,0.004869856,0.00006 -11-9-2019 5:00,9396020.521,0.039090878,0.039090878,0.00006 -11-9-2019 6:00,9394898.608,0.064699512,0.064699512,0.00006 -11-9-2019 7:00,9393776.398,0.050089945,0.050089945,0.00006 -11-9-2019 8:00,9392653.894,0.059133963,0.059133963,0.00006 -11-9-2019 9:00,9391531.095,0.042751794,0.042751794,0.00006 -11-9-2019 10:00,9390408.002,0.036871765,0.036871765,0.00006 -11-9-2019 11:00,9389284.615,0.031306216,0.031306216,0.00006 -11-9-2019 12:00,9388160.936,0.025133763,0.025133763,0.00006 -11-9-2019 13:00,9387036.964,0.021566504,0.021566504,0.00006 -11-9-2019 14:00,9385912.701,0.016696648,0.016696648,0.00006 -11-9-2019 15:00,9384788.146,0.018783729,0.018783729,0.00006 -11-9-2019 16:00,9383663.301,0.030610522,0.030610522,0.00006 -11-9-2019 17:00,9382538.166,0.054264107,0.054264107,0.00006 -11-9-2019 18:00,9381412.741,0.054959801,0.054959801,0.00006 -11-9-2019 19:00,9380287.028,0.048698558,0.048698558,0.00006 -11-9-2019 20:00,9379161.027,0.040350234,0.040350234,0.00006 -11-9-2019 21:00,9378034.737,0.028523441,0.028523441,0.00006 -11-9-2019 22:00,9376908.161,0.013913874,0.013913874,0.00006 -11-9-2019 23:00,9375781.298,0.004869856,0.004869856,0.00006 -12-9-2019 0:00,9374654.149,0.002782775,0.002782775,0.00006 -12-9-2019 1:00,9373526.715,0.000695694,0.000695694,0.00006 -12-9-2019 2:00,9372398.996,0.000695694,0.000695694,0.00006 -12-9-2019 3:00,9371270.993,0.001391387,0.001391387,0.00006 -12-9-2019 4:00,9370142.707,0.004869856,0.004869856,0.00006 -12-9-2019 5:00,9369014.137,0.038958846,0.038958846,0.00006 -12-9-2019 6:00,9367885.285,0.064699512,0.064699512,0.00006 -12-9-2019 7:00,9366756.151,0.050089945,0.050089945,0.00006 -12-9-2019 8:00,9365626.736,0.059133963,0.059133963,0.00006 -12-9-2019 9:00,9364497.04,0.042437315,0.042437315,0.00006 -12-9-2019 10:00,9363367.064,0.036871765,0.036871765,0.00006 -12-9-2019 11:00,9362236.808,0.031306216,0.031306216,0.00006 -12-9-2019 12:00,9361106.273,0.025044973,0.025044973,0.00006 -12-9-2019 13:00,9359975.46,0.021566504,0.021566504,0.00006 -12-9-2019 14:00,9358844.369,0.016696648,0.016696648,0.00006 -12-9-2019 15:00,9357713.001,0.018783729,0.018783729,0.00006 -12-9-2019 16:00,9356581.357,0.030610522,0.030610522,0.00006 -12-9-2019 17:00,9355449.436,0.054264107,0.054264107,0.00006 -12-9-2019 18:00,9354317.24,0.054959801,0.054959801,0.00006 -12-9-2019 19:00,9353184.769,0.048698558,0.048698558,0.00006 -12-9-2019 20:00,9352052.024,0.040350234,0.040350234,0.00006 -12-9-2019 21:00,9350919.005,0.028523441,0.028523441,0.00006 -12-9-2019 22:00,9349785.712,0.013913874,0.013913874,0.00006 -12-9-2019 23:00,9348652.148,0.004869856,0.004869856,0.00006 -13-09-2019 0:00,9347518.311,0.002782775,0.002782775,0.00006 -13-09-2019 1:00,9346384.203,0.000695694,0.000695694,0.00006 -13-09-2019 2:00,9345249.824,0.000695694,0.000695694,0.00006 -13-09-2019 3:00,9344115.175,0.001391387,0.001391387,0.00006 -13-09-2019 4:00,9342980.256,0.004869856,0.004869856,0.00006 -13-09-2019 5:00,9341845.068,0.038958846,0.038958846,0.00006 -13-09-2019 6:00,9340709.612,0.064699512,0.064699512,0.00006 -13-09-2019 7:00,9339573.888,0.050089945,0.050089945,0.00006 -13-09-2019 8:00,9338437.896,0.059133963,0.059133963,0.00006 -13-09-2019 9:00,9337301.638,0.042437315,0.042437315,0.00006 -13-09-2019 10:00,9336165.114,0.036871765,0.036871765,0.00006 -13-09-2019 11:00,9335028.324,0.031306216,0.031306216,0.00006 -13-09-2019 12:00,9333891.269,0.025044973,0.025044973,0.00006 -13-09-2019 13:00,9332753.95,0.021566504,0.021566504,0.00006 -13-09-2019 14:00,9331616.367,0.016696648,0.016696648,0.00006 -13-09-2019 15:00,9330478.521,0.018783729,0.018783729,0.00006 -13-09-2019 16:00,9329340.412,0.030610522,0.030610522,0.00006 -13-09-2019 17:00,9328202.041,0.054264107,0.054264107,0.00006 -13-09-2019 18:00,9327063.409,0.054959801,0.054959801,0.00006 -13-09-2019 19:00,9325924.516,0.048698558,0.048698558,0.00006 -13-09-2019 20:00,9324785.362,0.040350234,0.040350234,0.00006 -13-09-2019 21:00,9323645.949,0.028523441,0.028523441,0.00006 -13-09-2019 22:00,9322506.277,0.013913874,0.013913874,0.00006 -13-09-2019 23:00,9321366.346,0.004869856,0.004869856,0.00006 -14-09-2019 0:00,9320226.157,0.002782775,0.002782775,0.00006 -14-09-2019 1:00,9319085.711,0.000695694,0.000695694,0.00006 -14-09-2019 2:00,9317945.009,0.000695694,0.000695694,0.00006 -14-09-2019 3:00,9316804.05,0.001391387,0.001391387,0.00006 -14-09-2019 4:00,9315662.835,0.004869856,0.004869856,0.00006 -14-09-2019 5:00,9314521.365,0.038958846,0.038958846,0.00006 -14-09-2019 6:00,9313379.641,0.064699512,0.064699512,0.00006 -14-09-2019 7:00,9312237.664,0.050089945,0.050089945,0.00006 -14-09-2019 8:00,9311095.433,0.059133963,0.059133963,0.00006 -14-09-2019 9:00,9309952.949,0.042437315,0.042437315,0.00006 -14-09-2019 10:00,9308810.213,0.036871765,0.036871765,0.00006 -14-09-2019 11:00,9307667.226,0.031306216,0.031306216,0.00006 -14-09-2019 12:00,9306523.988,0.025044973,0.025044973,0.00006 -14-09-2019 13:00,9305380.5,0.021566504,0.021566504,0.00006 -14-09-2019 14:00,9304236.761,0.016696648,0.016696648,0.00006 -14-09-2019 15:00,9303092.774,0.018783729,0.018783729,0.00006 -14-09-2019 16:00,9301948.538,0.030610522,0.030610522,0.00006 -14-09-2019 17:00,9300804.055,0.054264107,0.054264107,0.00006 -14-09-2019 18:00,9299659.324,0.054959801,0.054959801,0.00006 -14-09-2019 19:00,9298514.346,0.048698558,0.048698558,0.00006 -14-09-2019 20:00,9297369.122,0.040350234,0.040350234,0.00006 -14-09-2019 21:00,9296223.652,0.028523441,0.028523441,0.00006 -14-09-2019 22:00,9295077.938,0.013913874,0.013913874,0.00006 -14-09-2019 23:00,9293931.979,0.004869856,0.004869856,0.00006 -15-09-2019 0:00,9292785.776,0.002782775,0.002782775,0.00006 -15-09-2019 1:00,9291639.33,0.000695694,0.000695694,0.00006 -15-09-2019 2:00,9290492.641,0.000695694,0.000695694,0.00006 -15-09-2019 3:00,9289345.711,0.001391387,0.001391387,0.00006 -15-09-2019 4:00,9288198.538,0.004869856,0.004869856,0.00006 -15-09-2019 5:00,9287051.125,0.038958846,0.038958846,0.00006 -15-09-2019 6:00,9285903.472,0.064699512,0.064699512,0.00006 -15-09-2019 7:00,9284755.579,0.050089945,0.050089945,0.00006 -15-09-2019 8:00,9283607.447,0.059133963,0.059133963,0.00006 -15-09-2019 9:00,9282459.076,0.042437315,0.042437315,0.00006 -15-09-2019 10:00,9281310.468,0.036871765,0.036871765,0.00006 -15-09-2019 11:00,9280161.622,0.031306216,0.031306216,0.00006 -15-09-2019 12:00,9279012.539,0.025044973,0.025044973,0.00006 -15-09-2019 13:00,9277863.22,0.021566504,0.021566504,0.00006 -15-09-2019 14:00,9276713.666,0.016696648,0.016696648,0.00006 -15-09-2019 15:00,9275563.877,0.018783729,0.018783729,0.00006 -15-09-2019 16:00,9274413.853,0.030610522,0.030610522,0.00006 -15-09-2019 17:00,9273263.596,0.054264107,0.054264107,0.00006 -15-09-2019 18:00,9272113.105,0.054959801,0.054959801,0.00006 -15-09-2019 19:00,9270962.382,0.048698558,0.048698558,0.00006 -15-09-2019 20:00,9269811.427,0.040350234,0.040350234,0.00006 -15-09-2019 21:00,9268660.24,0.028523441,0.028523441,0.00006 -15-09-2019 22:00,9267508.823,0.013913874,0.013913874,0.00006 -15-09-2019 23:00,9266357.175,0.004869856,0.004869856,0.00006 -16-09-2019 0:00,9265205.298,0.002782775,0.002782775,0.00006 -16-09-2019 1:00,9264053.192,0.000695694,0.000695694,0.00006 -16-09-2019 2:00,9262900.857,0.000695694,0.000695694,0.00006 -16-09-2019 3:00,9261748.294,0.001391387,0.001391387,0.00006 -16-09-2019 4:00,9260595.504,0.004869856,0.004869856,0.00006 -16-09-2019 5:00,9259442.488,0.038958846,0.038958846,0.00006 -16-09-2019 6:00,9258289.245,0.064699512,0.064699512,0.00006 -16-09-2019 7:00,9257135.777,0.050089945,0.050089945,0.00006 -16-09-2019 8:00,9255982.084,0.059133963,0.059133963,0.00006 -16-09-2019 9:00,9254828.167,0.042437315,0.042437315,0.00006 -16-09-2019 10:00,9253674.026,0.036871765,0.036871765,0.00006 -16-09-2019 11:00,9252519.662,0.031306216,0.031306216,0.00006 -16-09-2019 12:00,9251365.075,0.025044973,0.025044973,0.00006 -16-09-2019 13:00,9250210.267,0.021566504,0.021566504,0.00006 -16-09-2019 14:00,9249055.237,0.016696648,0.016696648,0.00006 -16-09-2019 15:00,9247899.986,0.018783729,0.018783729,0.00006 -16-09-2019 16:00,9246744.515,0.030610522,0.030610522,0.00006 -16-09-2019 17:00,9245588.825,0.054264107,0.054264107,0.00006 -16-09-2019 18:00,9244432.916,0.054959801,0.054959801,0.00006 -16-09-2019 19:00,9243276.788,0.048698558,0.048698558,0.00006 -16-09-2019 20:00,9242120.443,0.040350234,0.040350234,0.00006 -16-09-2019 21:00,9240963.881,0.028523441,0.028523441,0.00006 -16-09-2019 22:00,9239807.102,0.013913874,0.013913874,0.00006 -16-09-2019 23:00,9238650.106,0.004869856,0.004869856,0.00006 -17-09-2019 0:00,9237492.896,0.002782775,0.002782775,0.00006 -17-09-2019 1:00,9236335.471,0.000695694,0.000695694,0.00006 -17-09-2019 2:00,9235177.831,0.000695694,0.000695694,0.00006 -17-09-2019 3:00,9234019.978,0.001391387,0.001391387,0.00006 -17-09-2019 4:00,9232861.913,0.004869856,0.004869856,0.00006 -17-09-2019 5:00,9231703.634,0.039055034,0.039055034,0.00006 -17-09-2019 6:00,9230545.144,0.064699512,0.064699512,0.00006 -17-09-2019 7:00,9229386.443,0.050089945,0.050089945,0.00006 -17-09-2019 8:00,9228227.531,0.059133963,0.059133963,0.00006 -17-09-2019 9:00,9227068.409,0.042780561,0.042780561,0.00006 -17-09-2019 10:00,9225909.077,0.036871765,0.036871765,0.00006 -17-09-2019 11:00,9224749.537,0.031306216,0.031306216,0.00006 -17-09-2019 12:00,9223589.788,0.025044973,0.025044973,0.00006 -17-09-2019 13:00,9222429.832,0.021566504,0.021566504,0.00006 -17-09-2019 14:00,9221269.669,0.016696648,0.016696648,0.00006 -17-09-2019 15:00,9220109.299,0.018783729,0.018783729,0.00006 -17-09-2019 16:00,9218948.724,0.030610522,0.030610522,0.00006 -17-09-2019 17:00,9217787.943,0.054264107,0.054264107,0.00006 -17-09-2019 18:00,9216626.958,0.054959801,0.054959801,0.00006 -17-09-2019 19:00,9215465.769,0.048698558,0.048698558,0.00006 -17-09-2019 20:00,9214304.376,0.040350234,0.040350234,0.00006 -17-09-2019 21:00,9213142.78,0.028523441,0.028523441,0.00006 -17-09-2019 22:00,9211980.982,0.013913874,0.013913874,0.00006 -17-09-2019 23:00,9210818.983,0.004869856,0.004869856,0.00006 -18-09-2019 0:00,9209656.782,0.002782775,0.002782775,0.00006 -18-09-2019 1:00,9208494.381,0.000695694,0.000695694,0.00006 -18-09-2019 2:00,9207331.78,0.000695694,0.000695694,0.00006 -18-09-2019 3:00,9206168.98,0.001391387,0.001391387,0.00006 -18-09-2019 4:00,9205005.981,0.004869856,0.004869856,0.00006 -18-09-2019 5:00,9203842.784,0.03975662,0.03975662,0.00006 -18-09-2019 6:00,9202679.389,0.064699512,0.064699512,0.00006 -18-09-2019 7:00,9201515.798,0.050089945,0.050089945,0.00006 -18-09-2019 8:00,9200352.01,0.059133963,0.059133963,0.00006 -18-09-2019 9:00,9199188.027,0.042841044,0.042841044,0.00006 -18-09-2019 10:00,9198023.849,0.036871765,0.036871765,0.00006 -18-09-2019 11:00,9196859.476,0.031306216,0.031306216,0.00006 -18-09-2019 12:00,9195694.909,0.025044973,0.025044973,0.00006 -18-09-2019 13:00,9194530.149,0.021566504,0.021566504,0.00006 -18-09-2019 14:00,9193365.196,0.016696648,0.016696648,0.00006 -18-09-2019 15:00,9192200.052,0.018783729,0.018783729,0.00006 -18-09-2019 16:00,9191034.715,0.030610522,0.030610522,0.00006 -18-09-2019 17:00,9189869.188,0.054264107,0.054264107,0.00006 -18-09-2019 18:00,9188703.471,0.055013599,0.055013599,0.00006 -18-09-2019 19:00,9187537.564,0.048969052,0.048969052,0.00006 -18-09-2019 20:00,9186371.468,0.040350234,0.040350234,0.00006 -18-09-2019 21:00,9185205.183,0.028640888,0.028640888,0.00006 -18-09-2019 22:00,9184038.71,0.013913874,0.013913874,0.00006 -18-09-2019 23:00,9182872.051,0.004869856,0.004869856,0.00006 -19-09-2019 0:00,9181705.204,0.002782775,0.002782775,0.00006 -19-09-2019 1:00,9180538.172,0.000695694,0.000695694,0.00006 -19-09-2019 2:00,9179370.953,0.000695694,0.000695694,0.00006 -19-09-2019 3:00,9178203.551,0.001391387,0.001391387,0.00006 -19-09-2019 4:00,9177035.963,0.004869856,0.004869856,0.00006 -19-09-2019 5:00,9175868.192,0.039876325,0.039876325,0.00006 -19-09-2019 6:00,9174700.238,0.065467646,0.065467646,0.00006 -19-09-2019 7:00,9173532.102,0.050089945,0.050089945,0.00006 -19-09-2019 8:00,9172363.784,0.059503818,0.059503818,0.00006 -19-09-2019 9:00,9171195.284,0.043786726,0.043786726,0.00006 -19-09-2019 10:00,9170026.604,0.037320715,0.037320715,0.00006 -19-09-2019 11:00,9168857.743,0.031617818,0.031617818,0.00006 -19-09-2019 12:00,9167688.703,0.025653301,0.025653301,0.00006 -19-09-2019 13:00,9166519.485,0.021566504,0.021566504,0.00006 -19-09-2019 14:00,9165350.088,0.016696648,0.016696648,0.00006 -19-09-2019 15:00,9164180.513,0.018783729,0.018783729,0.00006 -19-09-2019 16:00,9163010.761,0.030610522,0.030610522,0.00006 -19-09-2019 17:00,9161840.833,0.054264107,0.054264107,0.00006 -19-09-2019 18:00,9160670.729,0.055236059,0.055236059,0.00006 -19-09-2019 19:00,9159500.45,0.049086849,0.049086849,0.00006 -19-09-2019 20:00,9158329.996,0.040826931,0.040826931,0.00006 -19-09-2019 21:00,9157159.368,0.028769302,0.028769302,0.00006 -19-09-2019 22:00,9155988.566,0.013913874,0.013913874,0.00006 -19-09-2019 23:00,9154817.592,0.004869856,0.004869856,0.00006 -20-09-2019 0:00,9153646.445,0.002782775,0.002782775,0.00006 -20-09-2019 1:00,9152475.127,0.000695694,0.000695694,0.00006 -20-09-2019 2:00,9151303.638,0.000695694,0.000695694,0.00006 -20-09-2019 3:00,9150131.978,0.001391387,0.001391387,0.00006 -20-09-2019 4:00,9148960.148,0.004869856,0.004869856,0.00006 -20-09-2019 5:00,9147788.15,0.040339317,0.040339317,0.00006 -20-09-2019 6:00,9146615.982,0.068239232,0.068239232,0.00006 -20-09-2019 7:00,9145443.647,0.050812481,0.050812481,0.00006 -20-09-2019 8:00,9144271.144,0.0608469,0.0608469,0.00006 -20-09-2019 9:00,9143098.474,0.043952064,0.043952064,0.00006 -20-09-2019 10:00,9141925.638,0.037582818,0.037582818,0.00006 -20-09-2019 11:00,9140752.637,0.031845043,0.031845043,0.00006 -20-09-2019 12:00,9139579.47,0.026065491,0.026065491,0.00006 -20-09-2019 13:00,9138406.139,0.021566504,0.021566504,0.00006 -20-09-2019 14:00,9137232.644,0.016696648,0.016696648,0.00006 -20-09-2019 15:00,9136058.986,0.018783729,0.018783729,0.00006 -20-09-2019 16:00,9134885.166,0.030610522,0.030610522,0.00006 -20-09-2019 17:00,9133711.183,0.054264107,0.054264107,0.00006 -20-09-2019 18:00,9132537.039,0.054959801,0.054959801,0.00006 -20-09-2019 19:00,9131362.734,0.048890759,0.048890759,0.00006 -20-09-2019 20:00,9130188.269,0.0404129,0.0404129,0.00006 -20-09-2019 21:00,9129013.645,0.028750544,0.028750544,0.00006 -20-09-2019 22:00,9127838.861,0.013913874,0.013913874,0.00006 -20-09-2019 23:00,9126663.919,0.004869856,0.004869856,0.00006 -21-09-2019 0:00,9125488.82,0.002782775,0.002782775,0.00006 -21-09-2019 1:00,9124313.563,0.000695694,0.000695694,0.00006 -21-09-2019 2:00,9123138.15,0.000695694,0.000695694,0.00006 -21-09-2019 3:00,9121962.58,0.001391387,0.001391387,0.00006 -21-09-2019 4:00,9120786.856,0.004869856,0.004869856,0.00006 -21-09-2019 5:00,9119610.976,0.040100584,0.040100584,0.00006 -21-09-2019 6:00,9118434.943,0.067131742,0.067131742,0.00006 -21-09-2019 7:00,9117258.756,0.050408584,0.050408584,0.00006 -21-09-2019 8:00,9116082.416,0.059217265,0.059217265,0.00006 -21-09-2019 9:00,9114905.923,0.043126949,0.043126949,0.00006 -21-09-2019 10:00,9113729.279,0.036893556,0.036893556,0.00006 -21-09-2019 11:00,9112552.484,0.031306216,0.031306216,0.00006 -21-09-2019 12:00,9111375.538,0.025044973,0.025044973,0.00006 -21-09-2019 13:00,9110198.443,0.021566504,0.021566504,0.00006 -21-09-2019 14:00,9109021.198,0.016696648,0.016696648,0.00006 -21-09-2019 15:00,9107843.804,0.018783729,0.018783729,0.00006 -21-09-2019 16:00,9106666.263,0.030610522,0.030610522,0.00006 -21-09-2019 17:00,9105488.574,0.054264107,0.054264107,0.00006 -21-09-2019 18:00,9104310.738,0.054959801,0.054959801,0.00006 -21-09-2019 19:00,9103132.755,0.048698558,0.048698558,0.00006 -21-09-2019 20:00,9101954.627,0.040350234,0.040350234,0.00006 -21-09-2019 21:00,9100776.355,0.028523441,0.028523441,0.00006 -21-09-2019 22:00,9099597.937,0.013913874,0.013913874,0.00006 -21-09-2019 23:00,9098419.376,0.004869856,0.004869856,0.00006 -22-09-2019 0:00,9097240.671,0.002782775,0.002782775,0.00006 -22-09-2019 1:00,9096061.824,0.000695694,0.000695694,0.00006 -22-09-2019 2:00,9094882.835,0.000695694,0.000695694,0.00006 -22-09-2019 3:00,9093703.705,0.001391387,0.001391387,0.00006 -22-09-2019 4:00,9092524.433,0.004869856,0.004869856,0.00006 -22-09-2019 5:00,9091345.022,0.039039662,0.039039662,0.00006 -22-09-2019 6:00,9090165.47,0.06477761,0.06477761,0.00006 -22-09-2019 7:00,9088985.78,0.050089945,0.050089945,0.00006 -22-09-2019 8:00,9087805.952,0.059133963,0.059133963,0.00006 -22-09-2019 9:00,9086625.985,0.042896264,0.042896264,0.00006 -22-09-2019 10:00,9085445.882,0.036871765,0.036871765,0.00006 -22-09-2019 11:00,9084265.642,0.031306216,0.031306216,0.00006 -22-09-2019 12:00,9083085.266,0.025044973,0.025044973,0.00006 -22-09-2019 13:00,9081904.754,0.021566504,0.021566504,0.00006 -22-09-2019 14:00,9080724.108,0.016696648,0.016696648,0.00006 -22-09-2019 15:00,9079543.328,0.018783729,0.018783729,0.00006 -22-09-2019 16:00,9078362.414,0.030610522,0.030610522,0.00006 -22-09-2019 17:00,9077181.368,0.054264107,0.054264107,0.00006 -22-09-2019 18:00,9076000.189,0.054959801,0.054959801,0.00006 -22-09-2019 19:00,9074818.878,0.048698558,0.048698558,0.00006 -22-09-2019 20:00,9073637.436,0.040350234,0.040350234,0.00006 -22-09-2019 21:00,9072455.864,0.028523441,0.028523441,0.00006 -22-09-2019 22:00,9071274.162,0.013913874,0.013913874,0.00006 -22-09-2019 23:00,9070092.331,0.004869856,0.004869856,0.00006 -23-09-2019 0:00,9068910.371,0.002782775,0.002782775,0.00006 -23-09-2019 1:00,9067728.282,0.000695694,0.000695694,0.00006 -23-09-2019 2:00,9066546.067,0.000695694,0.000695694,0.00006 -23-09-2019 3:00,9065363.724,0.001391387,0.001391387,0.00006 -23-09-2019 4:00,9064181.256,0.004869856,0.004869856,0.00006 -23-09-2019 5:00,9062998.662,0.038958846,0.038958846,0.00006 -23-09-2019 6:00,9061815.942,0.064699512,0.064699512,0.00006 -23-09-2019 7:00,9060633.099,0.050089945,0.050089945,0.00006 -23-09-2019 8:00,9059450.131,0.059133963,0.059133963,0.00006 -23-09-2019 9:00,9058267.04,0.042661323,0.042661323,0.00006 -23-09-2019 10:00,9057083.827,0.036871765,0.036871765,0.00006 -23-09-2019 11:00,9055900.492,0.031306216,0.031306216,0.00006 -23-09-2019 12:00,9054717.035,0.025044973,0.025044973,0.00006 -23-09-2019 13:00,9053533.458,0.021566504,0.021566504,0.00006 -23-09-2019 14:00,9052349.761,0.016696648,0.016696648,0.00006 -23-09-2019 15:00,9051165.944,0.018783729,0.018783729,0.00006 -23-09-2019 16:00,9049982.008,0.030610522,0.030610522,0.00006 -23-09-2019 17:00,9048797.954,0.054264107,0.054264107,0.00006 -23-09-2019 18:00,9047613.782,0.054959801,0.054959801,0.00006 -23-09-2019 19:00,9046429.493,0.048698558,0.048698558,0.00006 -23-09-2019 20:00,9045245.087,0.040350234,0.040350234,0.00006 -23-09-2019 21:00,9044060.566,0.028523441,0.028523441,0.00006 -23-09-2019 22:00,9042875.929,0.013913874,0.013913874,0.00006 -23-09-2019 23:00,9041691.178,0.004869856,0.004869856,0.00006 -24-09-2019 0:00,9040506.312,0.002782775,0.002782775,0.00006 -24-09-2019 1:00,9039321.333,0.000695694,0.000695694,0.00006 -24-09-2019 2:00,9038136.242,0.000695694,0.000695694,0.00006 -24-09-2019 3:00,9036951.038,0.001391387,0.001391387,0.00006 -24-09-2019 4:00,9035765.722,0.004869856,0.004869856,0.00006 -24-09-2019 5:00,9034580.296,0.038958846,0.038958846,0.00006 -24-09-2019 6:00,9033394.759,0.064699512,0.064699512,0.00006 -24-09-2019 7:00,9032209.112,0.050089945,0.050089945,0.00006 -24-09-2019 8:00,9031023.356,0.059133963,0.059133963,0.00006 -24-09-2019 9:00,9029837.492,0.04268159,0.04268159,0.00006 -24-09-2019 10:00,9028651.52,0.036871765,0.036871765,0.00006 -24-09-2019 11:00,9027465.44,0.031306216,0.031306216,0.00006 -24-09-2019 12:00,9026279.253,0.025044973,0.025044973,0.00006 -24-09-2019 13:00,9025092.961,0.021566504,0.021566504,0.00006 -24-09-2019 14:00,9023906.563,0.016696648,0.016696648,0.00006 -24-09-2019 15:00,9022720.06,0.018783729,0.018783729,0.00006 -24-09-2019 16:00,9021533.452,0.030610522,0.030610522,0.00006 -24-09-2019 17:00,9020346.741,0.054264107,0.054264107,0.00006 -24-09-2019 18:00,9019159.927,0.054959801,0.054959801,0.00006 -24-09-2019 19:00,9017973.011,0.048698558,0.048698558,0.00006 -24-09-2019 20:00,9016785.993,0.040350234,0.040350234,0.00006 -24-09-2019 21:00,9015598.873,0.028523441,0.028523441,0.00006 -24-09-2019 22:00,9014411.653,0.013913874,0.013913874,0.00006 -24-09-2019 23:00,9013224.333,0.004869856,0.004869856,0.00006 -25-09-2019 0:00,9012036.913,0.002782775,0.002782775,0.00006 -25-09-2019 1:00,9010849.395,0.000695694,0.000695694,0.00006 -25-09-2019 2:00,9009661.778,0.000695694,0.000695694,0.00006 -25-09-2019 3:00,9008474.064,0.001391387,0.001391387,0.00006 -25-09-2019 4:00,9007286.253,0.004869856,0.004869856,0.00006 -25-09-2019 5:00,9006098.345,0.038958846,0.038958846,0.00006 -25-09-2019 6:00,9004910.342,0.064699512,0.064699512,0.00006 -25-09-2019 7:00,9003722.244,0.050089945,0.050089945,0.00006 -25-09-2019 8:00,9002534.051,0.059133963,0.059133963,0.00006 -25-09-2019 9:00,9001345.764,0.042926496,0.042926496,0.00006 -25-09-2019 10:00,9000157.384,0.036871765,0.036871765,0.00006 -25-09-2019 11:00,8998968.911,0.031306216,0.031306216,0.00006 -25-09-2019 12:00,8997780.346,0.025044973,0.025044973,0.00006 -25-09-2019 13:00,8996591.69,0.021566504,0.021566504,0.00006 -25-09-2019 14:00,8995402.943,0.016696648,0.016696648,0.00006 -25-09-2019 15:00,8994214.105,0.018783729,0.018783729,0.00006 -25-09-2019 16:00,8993025.178,0.030610522,0.030610522,0.00006 -25-09-2019 17:00,8991836.162,0.054264107,0.054264107,0.00006 -25-09-2019 18:00,8990647.058,0.054959801,0.054959801,0.00006 -25-09-2019 19:00,8989457.866,0.048698558,0.048698558,0.00006 -25-09-2019 20:00,8988268.586,0.040350234,0.040350234,0.00006 -25-09-2019 21:00,8987079.22,0.028523441,0.028523441,0.00006 -25-09-2019 22:00,8985889.768,0.013913874,0.013913874,0.00006 -25-09-2019 23:00,8984700.231,0.004869856,0.004869856,0.00006 -26-09-2019 0:00,8983510.609,0.002782775,0.002782775,0.00006 -26-09-2019 1:00,8982320.903,0.000695694,0.000695694,0.00006 -26-09-2019 2:00,8981131.113,0.000695694,0.000695694,0.00006 -26-09-2019 3:00,8979941.241,0.001391387,0.001391387,0.00006 -26-09-2019 4:00,8978751.286,0.004869856,0.004869856,0.00006 -26-09-2019 5:00,8977561.25,0.038958846,0.038958846,0.00006 -26-09-2019 6:00,8976371.132,0.064699512,0.064699512,0.00006 -26-09-2019 7:00,8975180.934,0.050089945,0.050089945,0.00006 -26-09-2019 8:00,8973990.656,0.059133963,0.059133963,0.00006 -26-09-2019 9:00,8972800.299,0.042772987,0.042772987,0.00006 -26-09-2019 10:00,8971609.864,0.036871765,0.036871765,0.00006 -26-09-2019 11:00,8970419.35,0.031306216,0.031306216,0.00006 -26-09-2019 12:00,8969228.759,0.025044973,0.025044973,0.00006 -26-09-2019 13:00,8968038.091,0.021566504,0.021566504,0.00006 -26-09-2019 14:00,8966847.347,0.016696648,0.016696648,0.00006 -26-09-2019 15:00,8965656.528,0.018783729,0.018783729,0.00006 -26-09-2019 16:00,8964465.633,0.030610522,0.030610522,0.00006 -26-09-2019 17:00,8963274.665,0.054264107,0.054264107,0.00006 -26-09-2019 18:00,8962083.622,0.054959801,0.054959801,0.00006 -26-09-2019 19:00,8960892.507,0.048698558,0.048698558,0.00006 -26-09-2019 20:00,8959701.318,0.040350234,0.040350234,0.00006 -26-09-2019 21:00,8958510.059,0.028523441,0.028523441,0.00006 -26-09-2019 22:00,8957318.727,0.013913874,0.013913874,0.00006 -26-09-2019 23:00,8956127.326,0.004869856,0.004869856,0.00006 -27-09-2019 0:00,8954935.854,0.002782775,0.002782775,0.00006 -27-09-2019 1:00,8953744.312,0.000695694,0.000695694,0.00006 -27-09-2019 2:00,8952552.702,0.000695694,0.000695694,0.00006 -27-09-2019 3:00,8951361.024,0.001391387,0.001391387,0.00006 -27-09-2019 4:00,8950169.278,0.004869856,0.004869856,0.00006 -27-09-2019 5:00,8948977.465,0.038958846,0.038958846,0.00006 -27-09-2019 6:00,8947785.586,0.064699512,0.064699512,0.00006 -27-09-2019 7:00,8946593.641,0.050089945,0.050089945,0.00006 -27-09-2019 8:00,8945401.631,0.059133963,0.059133963,0.00006 -27-09-2019 9:00,8944209.557,0.042695775,0.042695775,0.00006 -27-09-2019 10:00,8943017.418,0.036871765,0.036871765,0.00006 -27-09-2019 11:00,8941825.216,0.031306216,0.031306216,0.00006 -27-09-2019 12:00,8940632.952,0.025044973,0.025044973,0.00006 -27-09-2019 13:00,8939440.626,0.021566504,0.021566504,0.00006 -27-09-2019 14:00,8938248.238,0.016696648,0.016696648,0.00006 -27-09-2019 15:00,8937055.789,0.018783729,0.018783729,0.00006 -27-09-2019 16:00,8935863.28,0.030610522,0.030610522,0.00006 -27-09-2019 17:00,8934670.711,0.054264107,0.054264107,0.00006 -27-09-2019 18:00,8933478.084,0.054959801,0.054959801,0.00006 -27-09-2019 19:00,8932285.398,0.048698558,0.048698558,0.00006 -27-09-2019 20:00,8931092.654,0.040350234,0.040350234,0.00006 -27-09-2019 21:00,8929899.853,0.028523441,0.028523441,0.00006 -27-09-2019 22:00,8928706.996,0.013913874,0.013913874,0.00006 -27-09-2019 23:00,8927514.082,0.004869856,0.004869856,0.00006 -28-09-2019 0:00,8926321.114,0.002782775,0.002782775,0.00006 -28-09-2019 1:00,8925128.09,0.000695694,0.000695694,0.00006 -28-09-2019 2:00,8923935.013,0.000695694,0.000695694,0.00006 -28-09-2019 3:00,8922741.882,0.001391387,0.001391387,0.00006 -28-09-2019 4:00,8921548.698,0.004869856,0.004869856,0.00006 -28-09-2019 5:00,8920355.462,0.038958846,0.038958846,0.00006 -28-09-2019 6:00,8919162.175,0.064699512,0.064699512,0.00006 -28-09-2019 7:00,8917968.836,0.050089945,0.050089945,0.00006 -28-09-2019 8:00,8916775.447,0.059133963,0.059133963,0.00006 -28-09-2019 9:00,8915582.008,0.04253185,0.04253185,0.00006 -28-09-2019 10:00,8914388.52,0.036871765,0.036871765,0.00006 -28-09-2019 11:00,8913194.984,0.031306216,0.031306216,0.00006 -28-09-2019 12:00,8912001.399,0.025044973,0.025044973,0.00006 -28-09-2019 13:00,8910807.767,0.021566504,0.021566504,0.00006 -28-09-2019 14:00,8909614.089,0.016696648,0.016696648,0.00006 -28-09-2019 15:00,8908420.364,0.018783729,0.018783729,0.00006 -28-09-2019 16:00,8907226.594,0.030610522,0.030610522,0.00006 -28-09-2019 17:00,8906032.779,0.054264107,0.054264107,0.00006 -28-09-2019 18:00,8904838.919,0.054959801,0.054959801,0.00006 -28-09-2019 19:00,8903645.016,0.048698558,0.048698558,0.00006 -28-09-2019 20:00,8902451.071,0.040350234,0.040350234,0.00006 -28-09-2019 21:00,8901257.082,0.028523441,0.028523441,0.00006 -28-09-2019 22:00,8900063.052,0.013913874,0.013913874,0.00006 -28-09-2019 23:00,8898868.981,0.004869856,0.004869856,0.00006 -29-09-2019 0:00,8897674.869,0.002782775,0.002782775,0.00006 -29-09-2019 1:00,8896480.717,0.000695694,0.000695694,0.00006 -29-09-2019 2:00,8895286.525,0.000695694,0.000695694,0.00006 -29-09-2019 3:00,8894092.295,0.001391387,0.001391387,0.00006 -29-09-2019 4:00,8892898.027,0.004869856,0.004869856,0.00006 -29-09-2019 5:00,8891703.722,0.038958846,0.038958846,0.00006 -29-09-2019 6:00,8890509.379,0.064699512,0.064699512,0.00006 -29-09-2019 7:00,8889315,0.050089945,0.050089945,0.00006 -29-09-2019 8:00,8888120.586,0.059133963,0.059133963,0.00006 -29-09-2019 9:00,8886926.136,0.042838182,0.042838182,0.00006 -29-09-2019 10:00,8885731.653,0.036871765,0.036871765,0.00006 -29-09-2019 11:00,8884537.135,0.031306216,0.031306216,0.00006 -29-09-2019 12:00,8883342.584,0.025044973,0.025044973,0.00006 -29-09-2019 13:00,8882148,0.021566504,0.021566504,0.00006 -29-09-2019 14:00,8880953.385,0.016696648,0.016696648,0.00006 -29-09-2019 15:00,8879758.738,0.018783729,0.018783729,0.00006 -29-09-2019 16:00,8878564.06,0.030610522,0.030610522,0.00006 -29-09-2019 17:00,8877369.353,0.054264107,0.054264107,0.00006 -29-09-2019 18:00,8876174.615,0.054959801,0.054959801,0.00006 -29-09-2019 19:00,8874979.849,0.048698558,0.048698558,0.00006 -29-09-2019 20:00,8873785.055,0.040350234,0.040350234,0.00006 -29-09-2019 21:00,8872590.233,0.028523441,0.028523441,0.00006 -29-09-2019 22:00,8871395.384,0.013913874,0.013913874,0.00006 -29-09-2019 23:00,8870200.508,0.004869856,0.004869856,0.00006 -30-09-2019 0:00,8869005.607,0.002782775,0.002782775,0.00006 -30-09-2019 1:00,8867810.68,0.000695694,0.000695694,0.00006 -30-09-2019 2:00,8866615.729,0.000695694,0.000695694,0.00006 -30-09-2019 3:00,8865420.754,0.001391387,0.001391387,0.00006 -30-09-2019 4:00,8864225.755,0.004869856,0.004869856,0.00006 -30-09-2019 5:00,8863030.734,0.038958846,0.038958846,0.00006 -30-09-2019 6:00,8861835.69,0.064699512,0.064699512,0.00006 -30-09-2019 7:00,8860640.625,0.050089945,0.050089945,0.00006 -30-09-2019 8:00,8859445.539,0.059133963,0.059133963,0.00006 -30-09-2019 9:00,8858250.433,0.042885551,0.042885551,0.00006 -30-09-2019 10:00,8857055.307,0.036871765,0.036871765,0.00006 -30-09-2019 11:00,8855860.162,0.031306216,0.031306216,0.00006 -30-09-2019 12:00,8854664.999,0.025044973,0.025044973,0.00006 -30-09-2019 13:00,8853469.818,0.021566504,0.021566504,0.00006 -30-09-2019 14:00,8852274.619,0.016696648,0.016696648,0.00006 -30-09-2019 15:00,8851079.404,0.018783729,0.018783729,0.00006 -30-09-2019 16:00,8849884.173,0.030610522,0.030610522,0.00006 -30-09-2019 17:00,8848688.927,0.054264107,0.054264107,0.00006 -30-09-2019 18:00,8847493.666,0.054959801,0.054959801,0.00006 -30-09-2019 19:00,8846298.39,0.048698558,0.048698558,0.00006 -30-09-2019 20:00,8845103.102,0.040350234,0.040350234,0.00006 -30-09-2019 21:00,8843907.8,0.028523441,0.028523441,0.00006 -30-09-2019 22:00,8842712.486,0.013913874,0.013913874,0.00006 -30-09-2019 23:00,8841517.16,0.004869856,0.004869856,0.00006 -1-10-2019 0:00,8840321.823,0.002782775,0.002782775,0.00006 -1-10-2019 1:00,8839126.476,0.000695694,0.000695694,0.00006 -1-10-2019 2:00,8837931.119,0.000695694,0.000695694,0.00006 -1-10-2019 3:00,8836735.753,0.001391387,0.001391387,0.00006 -1-10-2019 4:00,8835540.378,0.004869856,0.004869856,0.00006 -1-10-2019 5:00,8834344.995,0.038958846,0.038958846,0.00006 -1-10-2019 6:00,8833149.605,0.064699512,0.064699512,0.00006 -1-10-2019 7:00,8831954.207,0.050089945,0.050089945,0.00006 -1-10-2019 8:00,8830758.804,0.059133963,0.059133963,0.00006 -1-10-2019 9:00,8829563.395,0.042821514,0.042821514,0.00006 -1-10-2019 10:00,8828367.982,0.036871765,0.036871765,0.00006 -1-10-2019 11:00,8827172.564,0.031306216,0.031306216,0.00006 -1-10-2019 12:00,8825977.142,0.025044973,0.025044973,0.00006 -1-10-2019 13:00,8824781.717,0.021566504,0.021566504,0.00006 -1-10-2019 14:00,8823586.29,0.016696648,0.016696648,0.00006 -1-10-2019 15:00,8822390.861,0.018783729,0.018783729,0.00006 -1-10-2019 16:00,8821195.431,0.030610522,0.030610522,0.00006 -1-10-2019 17:00,8820000,0.054264107,0.054264107,0.00006 -1-10-2019 18:00,8818804.569,0.054959801,0.054959801,0.00006 -1-10-2019 19:00,8817609.139,0.048698558,0.048698558,0.00006 -1-10-2019 20:00,8816413.71,0.040350234,0.040350234,0.00006 -1-10-2019 21:00,8815218.283,0.028523441,0.028523441,0.00006 -1-10-2019 22:00,8814022.858,0.013913874,0.013913874,0.00006 -1-10-2019 23:00,8812827.436,0.004869856,0.004869856,0.00006 -2-10-2019 0:00,8811632.018,0.002782775,0.002782775,0.00006 -2-10-2019 1:00,8810436.605,0.000695694,0.000695694,0.00006 -2-10-2019 2:00,8809241.196,0.000695694,0.000695694,0.00006 -2-10-2019 3:00,8808045.793,0.001391387,0.001391387,0.00006 -2-10-2019 4:00,8806850.395,0.004869856,0.004869856,0.00006 -2-10-2019 5:00,8805655.005,0.039138412,0.039138412,0.00006 -2-10-2019 6:00,8804459.622,0.064794905,0.064794905,0.00006 -2-10-2019 7:00,8803264.247,0.050193041,0.050193041,0.00006 -2-10-2019 8:00,8802068.881,0.059133963,0.059133963,0.00006 -2-10-2019 9:00,8800873.524,0.042860179,0.042860179,0.00006 -2-10-2019 10:00,8799678.177,0.036871765,0.036871765,0.00006 -2-10-2019 11:00,8798482.84,0.031306216,0.031306216,0.00006 -2-10-2019 12:00,8797287.514,0.025044973,0.025044973,0.00006 -2-10-2019 13:00,8796092.2,0.021566504,0.021566504,0.00006 -2-10-2019 14:00,8794896.898,0.016696648,0.016696648,0.00006 -2-10-2019 15:00,8793701.61,0.018783729,0.018783729,0.00006 -2-10-2019 16:00,8792506.334,0.030610522,0.030610522,0.00006 -2-10-2019 17:00,8791311.073,0.054403152,0.054403152,0.00006 -2-10-2019 18:00,8790115.827,0.055355817,0.055355817,0.00006 -2-10-2019 19:00,8788920.596,0.048915342,0.048915342,0.00006 -2-10-2019 20:00,8787725.381,0.040350234,0.040350234,0.00006 -2-10-2019 21:00,8786530.182,0.028547732,0.028547732,0.00006 -2-10-2019 22:00,8785335.001,0.013913874,0.013913874,0.00006 -2-10-2019 23:00,8784139.838,0.004869856,0.004869856,0.00006 -3-10-2019 0:00,8782944.693,0.002782775,0.002782775,0.00006 -3-10-2019 1:00,8781749.567,0.000695694,0.000695694,0.00006 -3-10-2019 2:00,8780554.461,0.000695694,0.000695694,0.00006 -3-10-2019 3:00,8779359.375,0.001391387,0.001391387,0.00006 -3-10-2019 4:00,8778164.31,0.004869856,0.004869856,0.00006 -3-10-2019 5:00,8776969.266,0.03957076,0.03957076,0.00006 -3-10-2019 6:00,8775774.245,0.065365294,0.065365294,0.00006 -3-10-2019 7:00,8774579.246,0.050810725,0.050810725,0.00006 -3-10-2019 8:00,8773384.271,0.059386043,0.059386043,0.00006 -3-10-2019 9:00,8772189.32,0.0436135,0.0436135,0.00006 -3-10-2019 10:00,8770994.393,0.037054339,0.037054339,0.00006 -3-10-2019 11:00,8769799.492,0.031437375,0.031437375,0.00006 -3-10-2019 12:00,8768604.616,0.02546656,0.02546656,0.00006 -3-10-2019 13:00,8767409.767,0.021566504,0.021566504,0.00006 -3-10-2019 14:00,8766214.945,0.016696648,0.016696648,0.00006 -3-10-2019 15:00,8765020.151,0.018783729,0.018783729,0.00006 -3-10-2019 16:00,8763825.385,0.030664774,0.030664774,0.00006 -3-10-2019 17:00,8762630.647,0.054688333,0.054688333,0.00006 -3-10-2019 18:00,8761435.94,0.056250669,0.056250669,0.00006 -3-10-2019 19:00,8760241.262,0.04946593,0.04946593,0.00006 -3-10-2019 20:00,8759046.615,0.040980859,0.040980859,0.00006 -3-10-2019 21:00,8757852,0.028715914,0.028715914,0.00006 -3-10-2019 22:00,8756657.416,0.013913874,0.013913874,0.00006 -3-10-2019 23:00,8755462.865,0.004869856,0.004869856,0.00006 -4-10-2019 0:00,8754268.347,0.002782775,0.002782775,0.00006 -4-10-2019 1:00,8753073.864,0.000695694,0.000695694,0.00006 -4-10-2019 2:00,8751879.414,0.000695694,0.000695694,0.00006 -4-10-2019 3:00,8750685,0.001391387,0.001391387,0.00006 -4-10-2019 4:00,8749490.621,0.004869856,0.004869856,0.00006 -4-10-2019 5:00,8748296.278,0.039827051,0.039827051,0.00006 -4-10-2019 6:00,8747101.973,0.066952722,0.066952722,0.00006 -4-10-2019 7:00,8745907.705,0.051120118,0.051120118,0.00006 -4-10-2019 8:00,8744713.475,0.060254471,0.060254471,0.00006 -4-10-2019 9:00,8743519.283,0.044136318,0.044136318,0.00006 -4-10-2019 10:00,8742325.131,0.038075369,0.038075369,0.00006 -4-10-2019 11:00,8741131.019,0.032200653,0.032200653,0.00006 -4-10-2019 12:00,8739936.948,0.027072874,0.027072874,0.00006 -4-10-2019 13:00,8738742.918,0.021566504,0.021566504,0.00006 -4-10-2019 14:00,8737548.929,0.016696648,0.016696648,0.00006 -4-10-2019 15:00,8736354.984,0.018783729,0.018783729,0.00006 -4-10-2019 16:00,8735161.081,0.030809343,0.030809343,0.00006 -4-10-2019 17:00,8733967.221,0.055562033,0.055562033,0.00006 -4-10-2019 18:00,8732773.406,0.056804991,0.056804991,0.00006 -4-10-2019 19:00,8731579.636,0.050035425,0.050035425,0.00006 -4-10-2019 20:00,8730385.911,0.041295374,0.041295374,0.00006 -4-10-2019 21:00,8729192.233,0.028762483,0.028762483,0.00006 -4-10-2019 22:00,8727998.601,0.013913874,0.013913874,0.00006 -4-10-2019 23:00,8726805.016,0.004869856,0.004869856,0.00006 -5-10-2019 0:00,8725611.48,0.002782775,0.002782775,0.00006 -5-10-2019 1:00,8724417.992,0.000695694,0.000695694,0.00006 -5-10-2019 2:00,8723224.553,0.000695694,0.000695694,0.00006 -5-10-2019 3:00,8722031.164,0.001391387,0.001391387,0.00006 -5-10-2019 4:00,8720837.825,0.004979979,0.004979979,0.00006 -5-10-2019 5:00,8719644.538,0.040352336,0.040352336,0.00006 -5-10-2019 6:00,8718451.302,0.068669373,0.068669373,0.00006 -5-10-2019 7:00,8717258.118,0.051150966,0.051150966,0.00006 -5-10-2019 8:00,8716064.987,0.061092175,0.061092175,0.00006 -5-10-2019 9:00,8714871.91,0.044239476,0.044239476,0.00006 -5-10-2019 10:00,8713678.886,0.038346323,0.038346323,0.00006 -5-10-2019 11:00,8712485.918,0.032549937,0.032549937,0.00006 -5-10-2019 12:00,8711293.004,0.027812346,0.027812346,0.00006 -5-10-2019 13:00,8710100.147,0.021578241,0.021578241,0.00006 -5-10-2019 14:00,8708907.346,0.016696648,0.016696648,0.00006 -5-10-2019 15:00,8707714.602,0.018783729,0.018783729,0.00006 -5-10-2019 16:00,8706521.916,0.031575164,0.031575164,0.00006 -5-10-2019 17:00,8705329.289,0.056475358,0.056475358,0.00006 -5-10-2019 18:00,8704136.72,0.057488072,0.057488072,0.00006 -5-10-2019 19:00,8702944.211,0.050259867,0.050259867,0.00006 -5-10-2019 20:00,8701751.762,0.041426172,0.041426172,0.00006 -5-10-2019 21:00,8700559.374,0.028799082,0.028799082,0.00006 -5-10-2019 22:00,8699367.048,0.013913874,0.013913874,0.00006 -5-10-2019 23:00,8698174.784,0.004869856,0.004869856,0.00006 -6-10-2019 0:00,8696982.582,0.002782775,0.002782775,0.00006 -6-10-2019 1:00,8695790.443,0.000695694,0.000695694,0.00006 -6-10-2019 2:00,8694598.369,0.000695694,0.000695694,0.00006 -6-10-2019 3:00,8693406.359,0.001391387,0.001391387,0.00006 -6-10-2019 4:00,8692214.414,0.00509663,0.00509663,0.00006 -6-10-2019 5:00,8691022.535,0.040506316,0.040506316,0.00006 -6-10-2019 6:00,8689830.722,0.069331594,0.069331594,0.00006 -6-10-2019 7:00,8688638.976,0.051179551,0.051179551,0.00006 -6-10-2019 8:00,8687447.298,0.06168439,0.06168439,0.00006 -6-10-2019 9:00,8686255.688,0.044418169,0.044418169,0.00006 -6-10-2019 10:00,8685064.146,0.038776367,0.038776367,0.00006 -6-10-2019 11:00,8683872.674,0.033271882,0.033271882,0.00006 -6-10-2019 12:00,8682681.273,0.02869125,0.02869125,0.00006 -6-10-2019 13:00,8681489.941,0.02181206,0.02181206,0.00006 -6-10-2019 14:00,8680298.682,0.016751029,0.016751029,0.00006 -6-10-2019 15:00,8679107.493,0.019019316,0.019019316,0.00006 -6-10-2019 16:00,8677916.378,0.032923382,0.032923382,0.00006 -6-10-2019 17:00,8676725.335,0.05722841,0.05722841,0.00006 -6-10-2019 18:00,8675534.367,0.057850099,0.057850099,0.00006 -6-10-2019 19:00,8674343.472,0.050485174,0.050485174,0.00006 -6-10-2019 20:00,8673152.653,0.041588831,0.041588831,0.00006 -6-10-2019 21:00,8671961.909,0.028848607,0.028848607,0.00006 -6-10-2019 22:00,8670771.241,0.013913874,0.013913874,0.00006 -6-10-2019 23:00,8669580.65,0.004869856,0.004869856,0.00006 -7-10-2019 0:00,8668390.136,0.002892555,0.002892555,0.00006 -7-10-2019 1:00,8667199.701,0.000695694,0.000695694,0.00006 -7-10-2019 2:00,8666009.344,0.000695694,0.000695694,0.00006 -7-10-2019 3:00,8664819.066,0.001479167,0.001479167,0.00006 -7-10-2019 4:00,8663628.868,0.005315214,0.005315214,0.00006 -7-10-2019 5:00,8662438.75,0.040920492,0.040920492,0.00006 -7-10-2019 6:00,8661248.714,0.071871369,0.071871369,0.00006 -7-10-2019 7:00,8660058.759,0.055768935,0.055768935,0.00006 -7-10-2019 8:00,8658868.887,0.064568463,0.064568463,0.00006 -7-10-2019 9:00,8657679.097,0.044586361,0.044586361,0.00006 -7-10-2019 10:00,8656489.391,0.039068312,0.039068312,0.00006 -7-10-2019 11:00,8655299.769,0.033704567,0.033704567,0.00006 -7-10-2019 12:00,8654110.232,0.028938353,0.028938353,0.00006 -7-10-2019 13:00,8652920.78,0.021929039,0.021929039,0.00006 -7-10-2019 14:00,8651731.414,0.016804346,0.016804346,0.00006 -7-10-2019 15:00,8650542.134,0.019122624,0.019122624,0.00006 -7-10-2019 16:00,8649352.942,0.033125359,0.033125359,0.00006 -7-10-2019 17:00,8648163.838,0.057294148,0.057294148,0.00006 -7-10-2019 18:00,8646974.822,0.057903437,0.057903437,0.00006 -7-10-2019 19:00,8645785.895,0.050513263,0.050513263,0.00006 -7-10-2019 20:00,8644597.057,0.044073879,0.044073879,0.00006 -7-10-2019 21:00,8643408.31,0.033510036,0.033510036,0.00006 -7-10-2019 22:00,8642219.654,0.016196921,0.016196921,0.00006 -7-10-2019 23:00,8641031.089,0.005653542,0.005653542,0.00006 -8-10-2019 0:00,8639842.616,0.003043629,0.003043629,0.00006 -8-10-2019 1:00,8638654.236,0.000695694,0.000695694,0.00006 -8-10-2019 2:00,8637465.949,0.000695694,0.000695694,0.00006 -8-10-2019 3:00,8636277.756,0.001391387,0.001391387,0.00006 -8-10-2019 4:00,8635089.658,0.00521454,0.00521454,0.00006 -8-10-2019 5:00,8633901.655,0.040617154,0.040617154,0.00006 -8-10-2019 6:00,8632713.747,0.070949116,0.070949116,0.00006 -8-10-2019 7:00,8631525.936,0.056981429,0.056981429,0.00006 -8-10-2019 8:00,8630338.222,0.065684303,0.065684303,0.00006 -8-10-2019 9:00,8629150.605,0.046114741,0.046114741,0.00006 -8-10-2019 10:00,8627963.087,0.038605977,0.038605977,0.00006 -8-10-2019 11:00,8626775.667,0.032914967,0.032914967,0.00006 -8-10-2019 12:00,8625588.347,0.028309295,0.028309295,0.00006 -8-10-2019 13:00,8624401.127,0.021607351,0.021607351,0.00006 -8-10-2019 14:00,8623214.007,0.016700762,0.016700762,0.00006 -8-10-2019 15:00,8622026.989,0.018830957,0.018830957,0.00006 -8-10-2019 16:00,8620840.073,0.032078811,0.032078811,0.00006 -8-10-2019 17:00,8619653.259,0.05684447,0.05684447,0.00006 -8-10-2019 18:00,8618466.548,0.057523522,0.057523522,0.00006 -8-10-2019 19:00,8617279.94,0.050260838,0.050260838,0.00006 -8-10-2019 20:00,8616093.437,0.041663781,0.041663781,0.00006 -8-10-2019 21:00,8614907.039,0.031577525,0.031577525,0.00006 -8-10-2019 22:00,8613720.747,0.016092824,0.016092824,0.00006 -8-10-2019 23:00,8612534.56,0.005652883,0.005652883,0.00006 -9-10-2019 0:00,8611348.48,0.003045729,0.003045729,0.00006 -9-10-2019 1:00,8610162.508,0.000695694,0.000695694,0.00006 -9-10-2019 2:00,8608976.644,0.000695694,0.000695694,0.00006 -9-10-2019 3:00,8607790.888,0.001391387,0.001391387,0.00006 -9-10-2019 4:00,8606605.241,0.005140028,0.005140028,0.00006 -9-10-2019 5:00,8605419.704,0.040478245,0.040478245,0.00006 -9-10-2019 6:00,8604234.278,0.070533046,0.070533046,0.00006 -9-10-2019 7:00,8603048.962,0.05708247,0.05708247,0.00006 -9-10-2019 8:00,8601863.758,0.066277892,0.066277892,0.00006 -9-10-2019 9:00,8600678.667,0.049727973,0.049727973,0.00006 -9-10-2019 10:00,8599493.688,0.040343749,0.040343749,0.00006 -9-10-2019 11:00,8598308.822,0.03493432,0.03493432,0.00006 -9-10-2019 12:00,8597124.071,0.028384925,0.028384925,0.00006 -9-10-2019 13:00,8595939.434,0.021609519,0.021609519,0.00006 -9-10-2019 14:00,8594754.913,0.016708316,0.016708316,0.00006 -9-10-2019 15:00,8593570.507,0.018852734,0.018852734,0.00006 -9-10-2019 16:00,8592386.218,0.032493328,0.032493328,0.00006 -9-10-2019 17:00,8591202.046,0.057029832,0.057029832,0.00006 -9-10-2019 18:00,8590017.992,0.057618081,0.057618081,0.00006 -9-10-2019 19:00,8588834.056,0.056742286,0.056742286,0.00006 -9-10-2019 20:00,8587650.239,0.052755626,0.052755626,0.00006 -9-10-2019 21:00,8586466.542,0.034596475,0.034596475,0.00006 -9-10-2019 22:00,8585282.965,0.016559857,0.016559857,0.00006 -9-10-2019 23:00,8584099.508,0.005859846,0.005859846,0.00006 -10-10-2019 0:00,8582916.173,0.003090215,0.003090215,0.00006 -10-10-2019 1:00,8581732.96,0.000695694,0.000695694,0.00006 -10-10-2019 2:00,8580549.869,0.000695694,0.000695694,0.00006 -10-10-2019 3:00,8579366.901,0.001391387,0.001391387,0.00006 -10-10-2019 4:00,8578184.058,0.005193737,0.005193737,0.00006 -10-10-2019 5:00,8577001.338,0.040574177,0.040574177,0.00006 -10-10-2019 6:00,8575818.744,0.072036861,0.072036861,0.00006 -10-10-2019 7:00,8574636.276,0.057815762,0.057815762,0.00006 -10-10-2019 8:00,8573453.933,0.066560333,0.066560333,0.00006 -10-10-2019 9:00,8572271.718,0.049884471,0.049884471,0.00006 -10-10-2019 10:00,8571089.629,0.038028088,0.038028088,0.00006 -10-10-2019 11:00,8569907.669,0.032347744,0.032347744,0.00006 -10-10-2019 12:00,8568725.838,0.027778835,0.027778835,0.00006 -10-10-2019 13:00,8567544.136,0.021601694,0.021601694,0.00006 -10-10-2019 14:00,8566362.564,0.016696648,0.016696648,0.00006 -10-10-2019 15:00,8565181.122,0.018783729,0.018783729,0.00006 -10-10-2019 16:00,8563999.811,0.031842735,0.031842735,0.00006 -10-10-2019 17:00,8562818.632,0.056670794,0.056670794,0.00006 -10-10-2019 18:00,8561637.586,0.057415882,0.057415882,0.00006 -10-10-2019 19:00,8560456.672,0.050898515,0.050898515,0.00006 -10-10-2019 20:00,8559275.892,0.04710526,0.04710526,0.00006 -10-10-2019 21:00,8558095.246,0.033253138,0.033253138,0.00006 -10-10-2019 22:00,8556914.734,0.016170039,0.016170039,0.00006 -10-10-2019 23:00,8555734.358,0.005645879,0.005645879,0.00006 -11-10-2019 0:00,8554554.118,0.003041152,0.003041152,0.00006 -11-10-2019 1:00,8553374.015,0.000695694,0.000695694,0.00006 -11-10-2019 2:00,8552194.048,0.000695694,0.000695694,0.00006 -11-10-2019 3:00,8551014.22,0.001391387,0.001391387,0.00006 -11-10-2019 4:00,8549834.53,0.005000995,0.005000995,0.00006 -11-10-2019 5:00,8548654.978,0.040150228,0.040150228,0.00006 -11-10-2019 6:00,8547475.567,0.06945637,0.06945637,0.00006 -11-10-2019 7:00,8546296.295,0.056993354,0.056993354,0.00006 -11-10-2019 8:00,8545117.165,0.065544308,0.065544308,0.00006 -11-10-2019 9:00,8543938.176,0.050238225,0.050238225,0.00006 -11-10-2019 10:00,8542759.329,0.042022402,0.042022402,0.00006 -11-10-2019 11:00,8541580.624,0.036086495,0.036086495,0.00006 -11-10-2019 12:00,8540402.063,0.02789757,0.02789757,0.00006 -11-10-2019 13:00,8539223.645,0.021578159,0.021578159,0.00006 -11-10-2019 14:00,8538045.373,0.016696648,0.016696648,0.00006 -11-10-2019 15:00,8536867.245,0.018783729,0.018783729,0.00006 -11-10-2019 16:00,8535689.262,0.031515591,0.031515591,0.00006 -11-10-2019 17:00,8534511.426,0.056208871,0.056208871,0.00006 -11-10-2019 18:00,8533333.737,0.056938766,0.056938766,0.00006 -11-10-2019 19:00,8532156.196,0.050325302,0.050325302,0.00006 -11-10-2019 20:00,8530978.802,0.044628911,0.044628911,0.00006 -11-10-2019 21:00,8529801.557,0.031642978,0.031642978,0.00006 -11-10-2019 22:00,8528624.462,0.015400087,0.015400087,0.00006 -11-10-2019 23:00,8527447.516,0.005394305,0.005394305,0.00006 -12-10-2019 0:00,8526270.721,0.002964416,0.002964416,0.00006 -12-10-2019 1:00,8525094.077,0.000695694,0.000695694,0.00006 -12-10-2019 2:00,8523917.584,0.000695694,0.000695694,0.00006 -12-10-2019 3:00,8522741.244,0.001391387,0.001391387,0.00006 -12-10-2019 4:00,8521565.057,0.004869856,0.004869856,0.00006 -12-10-2019 5:00,8520389.024,0.039693333,0.039693333,0.00006 -12-10-2019 6:00,8519213.144,0.067622334,0.067622334,0.00006 -12-10-2019 7:00,8518037.42,0.055012665,0.055012665,0.00006 -12-10-2019 8:00,8516861.85,0.062657383,0.062657383,0.00006 -12-10-2019 9:00,8515686.437,0.045916132,0.045916132,0.00006 -12-10-2019 10:00,8514511.18,0.038621744,0.038621744,0.00006 -12-10-2019 11:00,8513336.081,0.033509283,0.033509283,0.00006 -12-10-2019 12:00,8512161.139,0.027850982,0.027850982,0.00006 -12-10-2019 13:00,8510986.355,0.021580821,0.021580821,0.00006 -12-10-2019 14:00,8509811.731,0.016696648,0.016696648,0.00006 -12-10-2019 15:00,8508637.266,0.018801975,0.018801975,0.00006 -12-10-2019 16:00,8507462.961,0.031740508,0.031740508,0.00006 -12-10-2019 17:00,8506288.817,0.056464685,0.056464685,0.00006 -12-10-2019 18:00,8505114.834,0.057259905,0.057259905,0.00006 -12-10-2019 19:00,8503941.014,0.056739179,0.056739179,0.00006 -12-10-2019 20:00,8502767.356,0.051474854,0.051474854,0.00006 -12-10-2019 21:00,8501593.861,0.033914249,0.033914249,0.00006 -12-10-2019 22:00,8500420.53,0.016314859,0.016314859,0.00006 -12-10-2019 23:00,8499247.363,0.005784069,0.005784069,0.00006 -13-10-2019 0:00,8498074.362,0.003057987,0.003057987,0.00006 -13-10-2019 1:00,8496901.526,0.000725762,0.000725762,0.00006 -13-10-2019 2:00,8495728.856,0.000695694,0.000695694,0.00006 -13-10-2019 3:00,8494556.353,0.001391387,0.001391387,0.00006 -13-10-2019 4:00,8493384.018,0.004936395,0.004936395,0.00006 -13-10-2019 5:00,8492211.85,0.040010235,0.040010235,0.00006 -13-10-2019 6:00,8491039.852,0.069360906,0.069360906,0.00006 -13-10-2019 7:00,8489868.022,0.057773136,0.057773136,0.00006 -13-10-2019 8:00,8488696.362,0.065229861,0.065229861,0.00006 -13-10-2019 9:00,8487524.873,0.049323507,0.049323507,0.00006 -13-10-2019 10:00,8486353.555,0.039895357,0.039895357,0.00006 -13-10-2019 11:00,8485182.408,0.032470305,0.032470305,0.00006 -13-10-2019 12:00,8484011.434,0.026791464,0.026791464,0.00006 -13-10-2019 13:00,8482840.632,0.021566504,0.021566504,0.00006 -13-10-2019 14:00,8481670.004,0.016696648,0.016696648,0.00006 -13-10-2019 15:00,8480499.55,0.018783729,0.018783729,0.00006 -13-10-2019 16:00,8479329.271,0.030610522,0.030610522,0.00006 -13-10-2019 17:00,8478159.167,0.054445336,0.054445336,0.00006 -13-10-2019 18:00,8476989.239,0.055638979,0.055638979,0.00006 -13-10-2019 19:00,8475819.487,0.049437122,0.049437122,0.00006 -13-10-2019 20:00,8474649.912,0.041036665,0.041036665,0.00006 -13-10-2019 21:00,8473480.515,0.028671303,0.028671303,0.00006 -13-10-2019 22:00,8472311.297,0.013913874,0.013913874,0.00006 -13-10-2019 23:00,8471142.257,0.004869856,0.004869856,0.00006 -14-10-2019 0:00,8469973.396,0.002782775,0.002782775,0.00006 -14-10-2019 1:00,8468804.716,0.000695694,0.000695694,0.00006 -14-10-2019 2:00,8467636.216,0.000695694,0.000695694,0.00006 -14-10-2019 3:00,8466467.898,0.001391387,0.001391387,0.00006 -14-10-2019 4:00,8465299.762,0.004869856,0.004869856,0.00006 -14-10-2019 5:00,8464131.808,0.039450823,0.039450823,0.00006 -14-10-2019 6:00,8462964.037,0.066267524,0.066267524,0.00006 -14-10-2019 7:00,8461796.449,0.052485047,0.052485047,0.00006 -14-10-2019 8:00,8460629.047,0.059692292,0.059692292,0.00006 -14-10-2019 9:00,8459461.828,0.043967785,0.043967785,0.00006 -14-10-2019 10:00,8458294.796,0.037974991,0.037974991,0.00006 -14-10-2019 11:00,8457127.949,0.032292628,0.032292628,0.00006 -14-10-2019 12:00,8455961.29,0.02659414,0.02659414,0.00006 -14-10-2019 13:00,8454794.817,0.021566504,0.021566504,0.00006 -14-10-2019 14:00,8453628.532,0.016696648,0.016696648,0.00006 -14-10-2019 15:00,8452462.436,0.018783729,0.018783729,0.00006 -14-10-2019 16:00,8451296.529,0.030636156,0.030636156,0.00006 -14-10-2019 17:00,8450130.812,0.054592362,0.054592362,0.00006 -14-10-2019 18:00,8448965.285,0.055847343,0.055847343,0.00006 -14-10-2019 19:00,8447799.948,0.049422263,0.049422263,0.00006 -14-10-2019 20:00,8446634.804,0.040904977,0.040904977,0.00006 -14-10-2019 21:00,8445469.851,0.028637588,0.028637588,0.00006 -14-10-2019 22:00,8444305.091,0.013913874,0.013913874,0.00006 -14-10-2019 23:00,8443140.524,0.004869856,0.004869856,0.00006 -15-10-2019 0:00,8441976.151,0.002782775,0.002782775,0.00006 -15-10-2019 1:00,8440811.973,0.000695694,0.000695694,0.00006 -15-10-2019 2:00,8439647.99,0.000695694,0.000695694,0.00006 -15-10-2019 3:00,8438484.202,0.001391387,0.001391387,0.00006 -15-10-2019 4:00,8437320.611,0.004869856,0.004869856,0.00006 -15-10-2019 5:00,8436157.216,0.039058651,0.039058651,0.00006 -15-10-2019 6:00,8434994.019,0.064786096,0.064786096,0.00006 -15-10-2019 7:00,8433831.02,0.050916505,0.050916505,0.00006 -15-10-2019 8:00,8432668.22,0.059320363,0.059320363,0.00006 -15-10-2019 9:00,8431505.619,0.043658799,0.043658799,0.00006 -15-10-2019 10:00,8430343.218,0.037308782,0.037308782,0.00006 -15-10-2019 11:00,8429181.017,0.031905956,0.031905956,0.00006 -15-10-2019 12:00,8428019.018,0.025968527,0.025968527,0.00006 -15-10-2019 13:00,8426857.22,0.021566504,0.021566504,0.00006 -15-10-2019 14:00,8425695.624,0.016696648,0.016696648,0.00006 -15-10-2019 15:00,8424534.231,0.018783729,0.018783729,0.00006 -15-10-2019 16:00,8423373.042,0.030610522,0.030610522,0.00006 -15-10-2019 17:00,8422212.057,0.05449419,0.05449419,0.00006 -15-10-2019 18:00,8421051.276,0.055596542,0.055596542,0.00006 -15-10-2019 19:00,8419890.701,0.049340477,0.049340477,0.00006 -15-10-2019 20:00,8418730.331,0.040981606,0.040981606,0.00006 -15-10-2019 21:00,8417570.168,0.028656625,0.028656625,0.00006 -15-10-2019 22:00,8416410.212,0.013913874,0.013913874,0.00006 -15-10-2019 23:00,8415250.463,0.004869856,0.004869856,0.00006 -16-10-2019 0:00,8414090.923,0.002782775,0.002782775,0.00006 -16-10-2019 1:00,8412931.591,0.000695694,0.000695694,0.00006 -16-10-2019 2:00,8411772.469,0.000695694,0.000695694,0.00006 -16-10-2019 3:00,8410613.557,0.001391387,0.001391387,0.00006 -16-10-2019 4:00,8409454.856,0.004869856,0.004869856,0.00006 -16-10-2019 5:00,8408296.366,0.039327299,0.039327299,0.00006 -16-10-2019 6:00,8407138.087,0.065644245,0.065644245,0.00006 -16-10-2019 7:00,8405980.022,0.050921182,0.050921182,0.00006 -16-10-2019 8:00,8404822.169,0.059344736,0.059344736,0.00006 -16-10-2019 9:00,8403664.529,0.043738736,0.043738736,0.00006 -16-10-2019 10:00,8402507.104,0.037489641,0.037489641,0.00006 -16-10-2019 11:00,8401349.894,0.031738882,0.031738882,0.00006 -16-10-2019 12:00,8400192.898,0.026106352,0.026106352,0.00006 -16-10-2019 13:00,8399036.119,0.021566504,0.021566504,0.00006 -16-10-2019 14:00,8397879.557,0.016696648,0.016696648,0.00006 -16-10-2019 15:00,8396723.212,0.018783729,0.018783729,0.00006 -16-10-2019 16:00,8395567.084,0.030699846,0.030699846,0.00006 -16-10-2019 17:00,8394411.175,0.054803869,0.054803869,0.00006 -16-10-2019 18:00,8393255.485,0.056280669,0.056280669,0.00006 -16-10-2019 19:00,8392100.014,0.04957642,0.04957642,0.00006 -16-10-2019 20:00,8390944.763,0.041003742,0.041003742,0.00006 -16-10-2019 21:00,8389789.733,0.028662327,0.028662327,0.00006 -16-10-2019 22:00,8388634.925,0.013913874,0.013913874,0.00006 -16-10-2019 23:00,8387480.338,0.004869856,0.004869856,0.00006 -17-10-2019 0:00,8386325.974,0.002782775,0.002782775,0.00006 -17-10-2019 1:00,8385171.833,0.000695694,0.000695694,0.00006 -17-10-2019 2:00,8384017.916,0.000695694,0.000695694,0.00006 -17-10-2019 3:00,8382864.223,0.001391387,0.001391387,0.00006 -17-10-2019 4:00,8381710.755,0.004869856,0.004869856,0.00006 -17-10-2019 5:00,8380557.512,0.039302387,0.039302387,0.00006 -17-10-2019 6:00,8379404.496,0.065578386,0.065578386,0.00006 -17-10-2019 7:00,8378251.706,0.054564042,0.054564042,0.00006 -17-10-2019 8:00,8377099.143,0.060941744,0.060941744,0.00006 -17-10-2019 9:00,8375946.808,0.04403369,0.04403369,0.00006 -17-10-2019 10:00,8374794.702,0.037950511,0.037950511,0.00006 -17-10-2019 11:00,8373642.825,0.031734711,0.031734711,0.00006 -17-10-2019 12:00,8372491.177,0.026297968,0.026297968,0.00006 -17-10-2019 13:00,8371339.76,0.021566504,0.021566504,0.00006 -17-10-2019 14:00,8370188.573,0.016696648,0.016696648,0.00006 -17-10-2019 15:00,8369037.618,0.018783729,0.018783729,0.00006 -17-10-2019 16:00,8367886.895,0.031025314,0.031025314,0.00006 -17-10-2019 17:00,8366736.404,0.055639142,0.055639142,0.00006 -17-10-2019 18:00,8365586.147,0.056648094,0.056648094,0.00006 -17-10-2019 19:00,8364436.123,0.049853453,0.049853453,0.00006 -17-10-2019 20:00,8363286.334,0.041122573,0.041122573,0.00006 -17-10-2019 21:00,8362136.78,0.028760973,0.028760973,0.00006 -17-10-2019 22:00,8360987.461,0.014789036,0.014789036,0.00006 -17-10-2019 23:00,8359838.378,0.005392381,0.005392381,0.00006 -18-10-2019 0:00,8358689.532,0.00297947,0.00297947,0.00006 -18-10-2019 1:00,8357540.924,0.000695694,0.000695694,0.00006 -18-10-2019 2:00,8356392.553,0.000695694,0.000695694,0.00006 -18-10-2019 3:00,8355244.421,0.001391387,0.001391387,0.00006 -18-10-2019 4:00,8354096.528,0.004869856,0.004869856,0.00006 -18-10-2019 5:00,8352948.875,0.039467141,0.039467141,0.00006 -18-10-2019 6:00,8351801.462,0.066538964,0.066538964,0.00006 -18-10-2019 7:00,8350654.289,0.057323197,0.057323197,0.00006 -18-10-2019 8:00,8349507.359,0.06452633,0.06452633,0.00006 -18-10-2019 9:00,8348360.67,0.049324551,0.049324551,0.00006 -18-10-2019 10:00,8347214.224,0.039527735,0.039527735,0.00006 -18-10-2019 11:00,8346068.021,0.03330194,0.03330194,0.00006 -18-10-2019 12:00,8344922.062,0.027485559,0.027485559,0.00006 -18-10-2019 13:00,8343776.348,0.021566504,0.021566504,0.00006 -18-10-2019 14:00,8342630.878,0.016696648,0.016696648,0.00006 -18-10-2019 15:00,8341485.654,0.018918954,0.018918954,0.00006 -18-10-2019 16:00,8340340.676,0.031843777,0.031843777,0.00006 -18-10-2019 17:00,8339195.945,0.056120504,0.056120504,0.00006 -18-10-2019 18:00,8338051.462,0.058800681,0.058800681,0.00006 -18-10-2019 19:00,8336907.226,0.05933962,0.05933962,0.00006 -18-10-2019 20:00,8335763.239,0.050469784,0.050469784,0.00006 -18-10-2019 21:00,8334619.5,0.033312228,0.033312228,0.00006 -18-10-2019 22:00,8333476.012,0.016102004,0.016102004,0.00006 -18-10-2019 23:00,8332332.774,0.005685882,0.005685882,0.00006 -19-10-2019 0:00,8331189.787,0.003029842,0.003029842,0.00006 -19-10-2019 1:00,8330047.051,0.0007888,0.0007888,0.00006 -19-10-2019 2:00,8328904.567,0.000695694,0.000695694,0.00006 -19-10-2019 3:00,8327762.336,0.001391387,0.001391387,0.00006 -19-10-2019 4:00,8326620.359,0.004869856,0.004869856,0.00006 -19-10-2019 5:00,8325478.635,0.039715304,0.039715304,0.00006 -19-10-2019 6:00,8324337.165,0.068831565,0.068831565,0.00006 -19-10-2019 7:00,8323195.95,0.062601564,0.062601564,0.00006 -19-10-2019 8:00,8322054.991,0.071643526,0.071643526,0.00006 -19-10-2019 9:00,8320914.289,0.060561765,0.060561765,0.00006 -19-10-2019 10:00,8319773.843,0.050257444,0.050257444,0.00006 -19-10-2019 11:00,8318633.654,0.043639178,0.043639178,0.00006 -19-10-2019 12:00,8317493.723,0.029949509,0.029949509,0.00006 -19-10-2019 13:00,8316354.051,0.021988584,0.021988584,0.00006 -19-10-2019 14:00,8315214.638,0.016696648,0.016696648,0.00006 -19-10-2019 15:00,8314075.484,0.019035579,0.019035579,0.00006 -19-10-2019 16:00,8312936.591,0.032771256,0.032771256,0.00006 -19-10-2019 17:00,8311797.959,0.059756533,0.059756533,0.00006 -19-10-2019 18:00,8310659.588,0.07056705,0.07056705,0.00006 -19-10-2019 19:00,8309521.479,0.066628546,0.066628546,0.00006 -19-10-2019 20:00,8308383.633,0.054169828,0.054169828,0.00006 -19-10-2019 21:00,8307246.05,0.035267574,0.035267574,0.00006 -19-10-2019 22:00,8306108.731,0.01715688,0.01715688,0.00006 -19-10-2019 23:00,8304971.676,0.00624201,0.00624201,0.00006 -20-10-2019 0:00,8303834.886,0.003171883,0.003171883,0.00006 -20-10-2019 1:00,8302698.362,0.000811471,0.000811471,0.00006 -20-10-2019 2:00,8301562.104,0.000695694,0.000695694,0.00006 -20-10-2019 3:00,8300426.112,0.001391387,0.001391387,0.00006 -20-10-2019 4:00,8299290.388,0.00492912,0.00492912,0.00006 -20-10-2019 5:00,8298154.932,0.040119735,0.040119735,0.00006 -20-10-2019 6:00,8297019.744,0.072325118,0.072325118,0.00006 -20-10-2019 7:00,8295884.825,0.069858088,0.069858088,0.00006 -20-10-2019 8:00,8294750.176,0.080863112,0.080863112,0.00006 -20-10-2019 9:00,8293615.797,0.076110322,0.076110322,0.00006 -20-10-2019 10:00,8292481.689,0.065406717,0.065406717,0.00006 -20-10-2019 11:00,8291347.852,0.060704799,0.060704799,0.00006 -20-10-2019 12:00,8290214.288,0.037324684,0.037324684,0.00006 -20-10-2019 13:00,8289080.995,0.024698034,0.024698034,0.00006 -20-10-2019 14:00,8287947.976,0.016974722,0.016974722,0.00006 -20-10-2019 15:00,8286815.231,0.020389224,0.020389224,0.00006 -20-10-2019 16:00,8285682.76,0.035593645,0.035593645,0.00006 -20-10-2019 17:00,8284550.564,0.075501974,0.075501974,0.00006 -20-10-2019 18:00,8283418.643,0.085522153,0.085522153,0.00006 -20-10-2019 19:00,8282286.999,0.078116024,0.078116024,0.00006 -20-10-2019 20:00,8281155.631,0.059860128,0.059860128,0.00006 -20-10-2019 21:00,8280024.54,0.037375452,0.037375452,0.00006 -20-10-2019 22:00,8278893.727,0.01775352,0.01775352,0.00006 -20-10-2019 23:00,8277763.192,0.006425395,0.006425395,0.00006 -21-10-2019 0:00,8276632.936,0.003222629,0.003222629,0.00006 -21-10-2019 1:00,8275502.96,0.000831579,0.000831579,0.00006 -21-10-2019 2:00,8274373.264,0.000695694,0.000695694,0.00006 -21-10-2019 3:00,8273243.849,0.001391387,0.001391387,0.00006 -21-10-2019 4:00,8272114.715,0.004989277,0.004989277,0.00006 -21-10-2019 5:00,8270985.863,0.040419536,0.040419536,0.00006 -21-10-2019 6:00,8269857.293,0.074693311,0.074693311,0.00006 -21-10-2019 7:00,8268729.007,0.073550483,0.073550483,0.00006 -21-10-2019 8:00,8267601.004,0.083848767,0.083848767,0.00006 -21-10-2019 9:00,8266473.285,0.078827034,0.078827034,0.00006 -21-10-2019 10:00,8265345.851,0.06839185,0.06839185,0.00006 -21-10-2019 11:00,8264218.702,0.063996508,0.063996508,0.00006 -21-10-2019 12:00,8263091.839,0.039501961,0.039501961,0.00006 -21-10-2019 13:00,8261965.263,0.025208924,0.025208924,0.00006 -21-10-2019 14:00,8260838.973,0.017144677,0.017144677,0.00006 -21-10-2019 15:00,8259712.972,0.020755784,0.020755784,0.00006 -21-10-2019 16:00,8258587.259,0.037568045,0.037568045,0.00006 -21-10-2019 17:00,8257461.834,0.080330204,0.080330204,0.00006 -21-10-2019 18:00,8256336.699,0.089378484,0.089378484,0.00006 -21-10-2019 19:00,8255211.854,0.0801498,0.0801498,0.00006 -21-10-2019 20:00,8254087.299,0.060528515,0.060528515,0.00006 -21-10-2019 21:00,8252963.036,0.037757655,0.037757655,0.00006 -21-10-2019 22:00,8251839.064,0.018073981,0.018073981,0.00006 -21-10-2019 23:00,8250715.385,0.006476038,0.006476038,0.00006 -22-10-2019 0:00,8249591.998,0.003230305,0.003230305,0.00006 -22-10-2019 1:00,8248468.905,0.000834932,0.000834932,0.00006 -22-10-2019 2:00,8247346.106,0.000695694,0.000695694,0.00006 -22-10-2019 3:00,8246223.602,0.001391387,0.001391387,0.00006 -22-10-2019 4:00,8245101.392,0.004990567,0.004990567,0.00006 -22-10-2019 5:00,8243979.479,0.040415791,0.040415791,0.00006 -22-10-2019 6:00,8242857.862,0.074631795,0.074631795,0.00006 -22-10-2019 7:00,8241736.541,0.073095677,0.073095677,0.00006 -22-10-2019 8:00,8240615.519,0.083931717,0.083931717,0.00006 -22-10-2019 9:00,8239494.794,0.078212942,0.078212942,0.00006 -22-10-2019 10:00,8238374.368,0.065853818,0.065853818,0.00006 -22-10-2019 11:00,8237254.241,0.06153838,0.06153838,0.00006 -22-10-2019 12:00,8236134.414,0.038400366,0.038400366,0.00006 -22-10-2019 13:00,8235014.888,0.024415648,0.024415648,0.00006 -22-10-2019 14:00,8233895.662,0.016946729,0.016946729,0.00006 -22-10-2019 15:00,8232776.738,0.020464417,0.020464417,0.00006 -22-10-2019 16:00,8231658.116,0.037112804,0.037112804,0.00006 -22-10-2019 17:00,8230539.796,0.080916713,0.080916713,0.00006 -22-10-2019 18:00,8229421.78,0.093602511,0.093602511,0.00006 -22-10-2019 19:00,8228304.068,0.085278332,0.085278332,0.00006 -22-10-2019 20:00,8227186.66,0.065313487,0.065313487,0.00006 -22-10-2019 21:00,8226069.557,0.040406166,0.040406166,0.00006 -22-10-2019 22:00,8224952.76,0.019291126,0.019291126,0.00006 -22-10-2019 23:00,8223836.269,0.006968593,0.006968593,0.00006 -23-10-2019 0:00,8222720.084,0.003378653,0.003378653,0.00006 -23-10-2019 1:00,8221604.207,0.000880779,0.000880779,0.00006 -23-10-2019 2:00,8220488.637,0.000695694,0.000695694,0.00006 -23-10-2019 3:00,8219373.376,0.001637708,0.001637708,0.00006 -23-10-2019 4:00,8218258.425,0.007463257,0.007463257,0.00006 -23-10-2019 5:00,8217143.782,0.052970254,0.052970254,0.00006 -23-10-2019 6:00,8216029.45,0.098926077,0.098926077,0.00006 -23-10-2019 7:00,8214915.428,0.097608131,0.097608131,0.00006 -23-10-2019 8:00,8213801.718,0.095234697,0.095234697,0.00006 -23-10-2019 9:00,8212688.32,0.090199548,0.090199548,0.00006 -23-10-2019 10:00,8211575.234,0.078526586,0.078526586,0.00006 -23-10-2019 11:00,8210462.461,0.079828882,0.079828882,0.00006 -23-10-2019 12:00,8209350.001,0.048071641,0.048071641,0.00006 -23-10-2019 13:00,8208237.856,0.026134145,0.026134145,0.00006 -23-10-2019 14:00,8207126.026,0.017370317,0.017370317,0.00006 -23-10-2019 15:00,8206014.511,0.020068867,0.020068867,0.00006 -23-10-2019 16:00,8204903.311,0.036785147,0.036785147,0.00006 -23-10-2019 17:00,8203792.429,0.074826334,0.074826334,0.00006 -23-10-2019 18:00,8202681.863,0.093154262,0.093154262,0.00006 -23-10-2019 19:00,8201571.614,0.083769439,0.083769439,0.00006 -23-10-2019 20:00,8200461.684,0.063274353,0.063274353,0.00006 -23-10-2019 21:00,8199352.073,0.038798744,0.038798744,0.00006 -23-10-2019 22:00,8198242.781,0.018394429,0.018394429,0.00006 -23-10-2019 23:00,8197133.809,0.006619271,0.006619271,0.00006 -24-10-2019 0:00,8196025.157,0.003265218,0.003265218,0.00006 -24-10-2019 1:00,8194916.826,0.000850616,0.000850616,0.00006 -24-10-2019 2:00,8193808.817,0.000695694,0.000695694,0.00006 -24-10-2019 3:00,8192701.13,0.001413838,0.001413838,0.00006 -24-10-2019 4:00,8191593.766,0.005165287,0.005165287,0.00006 -24-10-2019 5:00,8190486.725,0.042263694,0.042263694,0.00006 -24-10-2019 6:00,8189380.008,0.0800195,0.0800195,0.00006 -24-10-2019 7:00,8188273.615,0.080496355,0.080496355,0.00006 -24-10-2019 8:00,8187167.547,0.088414593,0.088414593,0.00006 -24-10-2019 9:00,8186061.805,0.08407179,0.08407179,0.00006 -24-10-2019 10:00,8184956.389,0.073866318,0.073866318,0.00006 -24-10-2019 11:00,8183851.3,0.07041474,0.07041474,0.00006 -24-10-2019 12:00,8182746.538,0.042886713,0.042886713,0.00006 -24-10-2019 13:00,8181642.103,0.025735938,0.025735938,0.00006 -24-10-2019 14:00,8180537.998,0.017153611,0.017153611,0.00006 -24-10-2019 15:00,8179434.221,0.020061939,0.020061939,0.00006 -24-10-2019 16:00,8178330.773,0.035113977,0.035113977,0.00006 -24-10-2019 17:00,8177227.656,0.066327121,0.066327121,0.00006 -24-10-2019 18:00,8176124.87,0.079660541,0.079660541,0.00006 -24-10-2019 19:00,8175022.415,0.076062677,0.076062677,0.00006 -24-10-2019 20:00,8173920.291,0.059007047,0.059007047,0.00006 -24-10-2019 21:00,8172818.5,0.037077603,0.037077603,0.00006 -24-10-2019 22:00,8171717.042,0.017815862,0.017815862,0.00006 -24-10-2019 23:00,8170615.917,0.006381786,0.006381786,0.00006 -25-10-2019 0:00,8169515.127,0.003196623,0.003196623,0.00006 -25-10-2019 1:00,8168414.671,0.000830998,0.000830998,0.00006 -25-10-2019 2:00,8167314.55,0.000695694,0.000695694,0.00006 -25-10-2019 3:00,8166214.766,0.001391387,0.001391387,0.00006 -25-10-2019 4:00,8165115.317,0.004901688,0.004901688,0.00006 -25-10-2019 5:00,8164016.206,0.040024229,0.040024229,0.00006 -25-10-2019 6:00,8162917.431,0.072802004,0.072802004,0.00006 -25-10-2019 7:00,8161818.995,0.07224214,0.07224214,0.00006 -25-10-2019 8:00,8160720.898,0.084062604,0.084062604,0.00006 -25-10-2019 9:00,8159623.14,0.078534977,0.078534977,0.00006 -25-10-2019 10:00,8158525.721,0.069498723,0.069498723,0.00006 -25-10-2019 11:00,8157428.643,0.065999845,0.065999845,0.00006 -25-10-2019 12:00,8156331.905,0.040965642,0.040965642,0.00006 -25-10-2019 13:00,8155235.51,0.02567986,0.02567986,0.00006 -25-10-2019 14:00,8154139.456,0.017394205,0.017394205,0.00006 -25-10-2019 15:00,8153043.744,0.020779302,0.020779302,0.00006 -25-10-2019 16:00,8151948.376,0.036594693,0.036594693,0.00006 -25-10-2019 17:00,8150853.351,0.075558004,0.075558004,0.00006 -25-10-2019 18:00,8149758.671,0.084684828,0.084684828,0.00006 -25-10-2019 19:00,8148664.335,0.074716939,0.074716939,0.00006 -25-10-2019 20:00,8147570.345,0.057009426,0.057009426,0.00006 -25-10-2019 21:00,8146476.701,0.036161595,0.036161595,0.00006 -25-10-2019 22:00,8145383.403,0.017265281,0.017265281,0.00006 -25-10-2019 23:00,8144290.453,0.006147909,0.006147909,0.00006 -26-10-2019 0:00,8143197.85,0.003132734,0.003132734,0.00006 -26-10-2019 1:00,8142105.595,0.000808601,0.000808601,0.00006 -26-10-2019 2:00,8141013.689,0.000695694,0.000695694,0.00006 -26-10-2019 3:00,8139922.132,0.001391387,0.001391387,0.00006 -26-10-2019 4:00,8138830.925,0.004869856,0.004869856,0.00006 -26-10-2019 5:00,8137740.069,0.039474025,0.039474025,0.00006 -26-10-2019 6:00,8136649.563,0.069274529,0.069274529,0.00006 -26-10-2019 7:00,8135559.409,0.065949118,0.065949118,0.00006 -26-10-2019 8:00,8134469.607,0.07422025,0.07422025,0.00006 -26-10-2019 9:00,8133380.158,0.060099086,0.060099086,0.00006 -26-10-2019 10:00,8132291.062,0.046103623,0.046103623,0.00006 -26-10-2019 11:00,8131202.32,0.03844846,0.03844846,0.00006 -26-10-2019 12:00,8130113.933,0.0268445,0.0268445,0.00006 -26-10-2019 13:00,8129025.9,0.021566504,0.021566504,0.00006 -26-10-2019 14:00,8127938.223,0.016696648,0.016696648,0.00006 -26-10-2019 15:00,8126850.901,0.018789939,0.018789939,0.00006 -26-10-2019 16:00,8125763.937,0.031072442,0.031072442,0.00006 -26-10-2019 17:00,8124677.329,0.055768072,0.055768072,0.00006 -26-10-2019 18:00,8123591.079,0.057212539,0.057212539,0.00006 -26-10-2019 19:00,8122505.188,0.05161521,0.05161521,0.00006 -26-10-2019 20:00,8121419.655,0.044753824,0.044753824,0.00006 -26-10-2019 21:00,8120334.482,0.030965678,0.030965678,0.00006 -26-10-2019 22:00,8119249.668,0.015515647,0.015515647,0.00006 -26-10-2019 23:00,8118165.215,0.005718961,0.005718961,0.00006 -27-10-2019 0:00,8117081.124,0.003126915,0.003126915,0.00006 -27-10-2019 1:00,8115997.393,0.001053627,0.001053627,0.00006 -27-10-2019 2:00,8114914.025,0.000810398,0.000810398,0.00006 -27-10-2019 3:00,8113831.02,0.001391387,0.001391387,0.00006 -27-10-2019 4:00,8112748.378,0.004869856,0.004869856,0.00006 -27-10-2019 5:00,8111666.1,0.038958846,0.038958846,0.00006 -27-10-2019 6:00,8110584.186,0.065488389,0.065488389,0.00006 -27-10-2019 7:00,8109502.638,0.054671589,0.054671589,0.00006 -27-10-2019 8:00,8108421.454,0.067997922,0.067997922,0.00006 -27-10-2019 9:00,8107340.637,0.05316274,0.05316274,0.00006 -27-10-2019 10:00,8106260.187,0.057181486,0.057181486,0.00006 -27-10-2019 11:00,8105180.103,0.057159175,0.057159175,0.00006 -27-10-2019 12:00,8104100.388,0.043635849,0.043635849,0.00006 -27-10-2019 13:00,8103021.041,0.028450739,0.028450739,0.00006 -27-10-2019 14:00,8101942.062,0.017802634,0.017802634,0.00006 -27-10-2019 15:00,8100863.453,0.022020153,0.022020153,0.00006 -27-10-2019 16:00,8099785.214,0.042690823,0.042690823,0.00006 -27-10-2019 17:00,8098707.346,0.089606739,0.089606739,0.00006 -27-10-2019 18:00,8097629.848,0.100610143,0.100610143,0.00006 -27-10-2019 19:00,8096552.723,0.092868609,0.092868609,0.00006 -27-10-2019 20:00,8095475.969,0.078721016,0.078721016,0.00006 -27-10-2019 21:00,8094399.588,0.052472736,0.052472736,0.00006 -27-10-2019 22:00,8093323.58,0.025756338,0.025756338,0.00006 -27-10-2019 23:00,8092247.947,0.013281577,0.013281577,0.00006 -28-10-2019 0:00,8091172.687,0.008702855,0.008702855,0.00006 -28-10-2019 1:00,8090097.803,0.002261083,0.002261083,0.00006 -28-10-2019 2:00,8089023.294,0.000893663,0.000893663,0.00006 -28-10-2019 3:00,8087949.161,0.001391387,0.001391387,0.00006 -28-10-2019 4:00,8086875.405,0.00545811,0.00545811,0.00006 -28-10-2019 5:00,8085802.026,0.044416466,0.044416466,0.00006 -28-10-2019 6:00,8084729.025,0.088257716,0.088257716,0.00006 -28-10-2019 7:00,8083656.402,0.098944471,0.098944471,0.00006 -28-10-2019 8:00,8082584.157,0.090513281,0.090513281,0.00006 -28-10-2019 9:00,8081512.293,0.085463828,0.085463828,0.00006 -28-10-2019 10:00,8080440.808,0.069406044,0.069406044,0.00006 -28-10-2019 11:00,8079369.703,0.064998135,0.064998135,0.00006 -28-10-2019 12:00,8078298.98,0.050956818,0.050956818,0.00006 -28-10-2019 13:00,8077228.638,0.035562918,0.035562918,0.00006 -28-10-2019 14:00,8076158.678,0.018415618,0.018415618,0.00006 -28-10-2019 15:00,8075089.101,0.024289945,0.024289945,0.00006 -28-10-2019 16:00,8074019.907,0.059856394,0.059856394,0.00006 -28-10-2019 17:00,8072951.097,0.114281204,0.114281204,0.00006 -28-10-2019 18:00,8071882.671,0.124504075,0.124504075,0.00006 -28-10-2019 19:00,8070814.63,0.16800252,0.16800252,0.00006 -28-10-2019 20:00,8069746.975,0.167342864,0.167342864,0.00006 -28-10-2019 21:00,8068679.706,0.112498587,0.112498587,0.00006 -28-10-2019 22:00,8067612.823,0.055263567,0.055263567,0.00006 -28-10-2019 23:00,8066546.327,0.024821612,0.024821612,0.00006 -29-10-2019 0:00,8065480.219,0.010151507,0.010151507,0.00006 -29-10-2019 1:00,8064414.498,0.002559275,0.002559275,0.00006 -29-10-2019 2:00,8063349.167,0.00093263,0.00093263,0.00006 -29-10-2019 3:00,8062284.225,0.002068701,0.002068701,0.00006 -29-10-2019 4:00,8061219.673,0.007181907,0.007181907,0.00006 -29-10-2019 5:00,8060155.511,0.056231644,0.056231644,0.00006 -29-10-2019 6:00,8059091.74,0.117900306,0.117900306,0.00006 -29-10-2019 7:00,8058028.36,0.133342706,0.133342706,0.00006 -29-10-2019 8:00,8056965.373,0.116007119,0.116007119,0.00006 -29-10-2019 9:00,8055902.778,0.102055223,0.102055223,0.00006 -29-10-2019 10:00,8054840.576,0.091994609,0.091994609,0.00006 -29-10-2019 11:00,8053778.768,0.099565436,0.099565436,0.00006 -29-10-2019 12:00,8052717.354,0.052825052,0.052825052,0.00006 -29-10-2019 13:00,8051656.334,0.036815197,0.036815197,0.00006 -29-10-2019 14:00,8050595.71,0.019000833,0.019000833,0.00006 -29-10-2019 15:00,8049535.482,0.025411497,0.025411497,0.00006 -29-10-2019 16:00,8048475.65,0.074699224,0.074699224,0.00006 -29-10-2019 17:00,8047416.215,0.149597722,0.149597722,0.00006 -29-10-2019 18:00,8046357.178,0.206214764,0.206214764,0.00006 -29-10-2019 19:00,8045298.538,0.223787507,0.223787507,0.00006 -29-10-2019 20:00,8044240.297,0.192993375,0.192993375,0.00006 -29-10-2019 21:00,8043182.456,0.130297263,0.130297263,0.00006 -29-10-2019 22:00,8042125.013,0.064535076,0.064535076,0.00006 -29-10-2019 23:00,8041067.971,0.029039889,0.029039889,0.00006 -30-10-2019 0:00,8040011.33,0.012115473,0.012115473,0.00006 -30-10-2019 1:00,8038955.09,0.00320172,0.00320172,0.00006 -30-10-2019 2:00,8037899.252,0.00167321,0.00167321,0.00006 -30-10-2019 3:00,8036843.816,0.002974257,0.002974257,0.00006 -30-10-2019 4:00,8035788.783,0.009471302,0.009471302,0.00006 -30-10-2019 5:00,8034734.154,0.072719647,0.072719647,0.00006 -30-10-2019 6:00,8033679.928,0.159091661,0.159091661,0.00006 -30-10-2019 7:00,8032626.107,0.196791231,0.196791231,0.00006 -30-10-2019 8:00,8031572.692,0.144301003,0.144301003,0.00006 -30-10-2019 9:00,8030519.681,0.144520248,0.144520248,0.00006 -30-10-2019 10:00,8029467.077,0.14198142,0.14198142,0.00006 -30-10-2019 11:00,8028414.88,0.162908361,0.162908361,0.00006 -30-10-2019 12:00,8027363.09,0.110030842,0.110030842,0.00006 -30-10-2019 13:00,8026311.707,0.043046815,0.043046815,0.00006 -30-10-2019 14:00,8025260.733,0.019572289,0.019572289,0.00006 -30-10-2019 15:00,8024210.168,0.030472471,0.030472471,0.00006 -30-10-2019 16:00,8023160.012,0.099680081,0.099680081,0.00006 -30-10-2019 17:00,8022110.266,0.1936965,0.1936965,0.00006 -30-10-2019 18:00,8021060.931,0.265587552,0.265587552,0.00006 -30-10-2019 19:00,8020012.007,0.26722867,0.26722867,0.00006 -30-10-2019 20:00,8018963.494,0.225411124,0.225411124,0.00006 -30-10-2019 21:00,8017915.393,0.149610135,0.149610135,0.00006 -30-10-2019 22:00,8016867.705,0.074348321,0.074348321,0.00006 -30-10-2019 23:00,8015820.43,0.034904484,0.034904484,0.00006 -31-10-2019 0:00,8014773.569,0.014240225,0.014240225,0.00006 -31-10-2019 1:00,8013727.122,0.004535511,0.004535511,0.00006 -31-10-2019 2:00,8012681.09,0.002587476,0.002587476,0.00006 -31-10-2019 3:00,8011635.474,0.003743456,0.003743456,0.00006 -31-10-2019 4:00,8010590.273,0.013715156,0.013715156,0.00006 -31-10-2019 5:00,8009545.488,0.102867618,0.102867618,0.00006 -31-10-2019 6:00,8008501.121,0.226511497,0.226511497,0.00006 -31-10-2019 7:00,8007457.171,0.276868014,0.276868014,0.00006 -31-10-2019 8:00,8006413.639,0.185189106,0.185189106,0.00006 -31-10-2019 9:00,8005370.525,0.191520192,0.191520192,0.00006 -31-10-2019 10:00,8004327.831,0.217817867,0.217817867,0.00006 -31-10-2019 11:00,8003285.556,0.254073806,0.254073806,0.00006 -31-10-2019 12:00,8002243.701,0.190121555,0.190121555,0.00006 -31-10-2019 13:00,8001202.267,0.10041344,0.10041344,0.00006 -31-10-2019 14:00,8000161.255,0.04768507,0.04768507,0.00006 -31-10-2019 15:00,7999120.664,0.109128861,0.109128861,0.00006 -31-10-2019 16:00,7998080.495,0.242172378,0.242172378,0.00006 -31-10-2019 17:00,7997040.75,0.351604098,0.351604098,0.00006 -31-10-2019 18:00,7996001.427,0.344716167,0.344716167,0.00006 -31-10-2019 19:00,7994962.529,0.324320121,0.324320121,0.00006 -31-10-2019 20:00,7993924.055,0.268332219,0.268332219,0.00006 -31-10-2019 21:00,7992886.006,0.18055084,0.18055084,0.00006 -31-10-2019 22:00,7991848.383,0.08962929,0.08962929,0.00006 -31-10-2019 23:00,7990811.185,0.040710313,0.040710313,0.00006 -1-11-2019 0:00,7989774.414,0.016501105,0.016501105,0.00006 -1-11-2019 1:00,7988738.071,0.005493383,0.005493383,0.00006 -1-11-2019 2:00,7987702.155,0.003137499,0.003137499,0.00006 -1-11-2019 3:00,7986666.667,0.005049497,0.005049497,0.00006 -1-11-2019 4:00,7985631.608,0.020944978,0.020944978,0.00006 -1-11-2019 5:00,7984596.978,0.130734573,0.130734573,0.00006 -1-11-2019 6:00,7983562.777,0.270752496,0.270752496,0.00006 -1-11-2019 7:00,7982529.008,0.336729773,0.336729773,0.00006 -1-11-2019 8:00,7981495.669,0.275224335,0.275224335,0.00006 -1-11-2019 9:00,7980462.761,0.290622854,0.290622854,0.00006 -1-11-2019 10:00,7979430.285,0.319607498,0.319607498,0.00006 -1-11-2019 11:00,7978398.242,0.42616353,0.42616353,0.00006 -1-11-2019 12:00,7977366.632,0.369744855,0.369744855,0.00006 -1-11-2019 13:00,7976335.455,0.201966138,0.201966138,0.00006 -1-11-2019 14:00,7975304.712,0.116105836,0.116105836,0.00006 -1-11-2019 15:00,7974274.404,0.276089147,0.276089147,0.00006 -1-11-2019 16:00,7973244.531,0.311857894,0.311857894,0.00006 -1-11-2019 17:00,7972215.094,0.341200158,0.341200158,0.00006 -1-11-2019 18:00,7971186.092,0.321713851,0.321713851,0.00006 -1-11-2019 19:00,7970157.528,0.288436811,0.288436811,0.00006 -1-11-2019 20:00,7969129.4,0.231096357,0.231096357,0.00006 -1-11-2019 21:00,7968101.711,0.148493396,0.148493396,0.00006 -1-11-2019 22:00,7967074.459,0.06994136,0.06994136,0.00006 -1-11-2019 23:00,7966047.646,0.03057872,0.03057872,0.00006 -2-11-2019 0:00,7965021.273,0.012273195,0.012273195,0.00006 -2-11-2019 1:00,7963995.34,0.003466282,0.003466282,0.00006 -2-11-2019 2:00,7962969.847,0.001916125,0.001916125,0.00006 -2-11-2019 3:00,7961944.794,0.002597412,0.002597412,0.00006 -2-11-2019 4:00,7960920.184,0.008969454,0.008969454,0.00006 -2-11-2019 5:00,7959896.015,0.066404705,0.066404705,0.00006 -2-11-2019 6:00,7958872.289,0.141339317,0.141339317,0.00006 -2-11-2019 7:00,7957849.005,0.176277323,0.176277323,0.00006 -2-11-2019 8:00,7956826.166,0.164815881,0.164815881,0.00006 -2-11-2019 9:00,7955803.77,0.201532598,0.201532598,0.00006 -2-11-2019 10:00,7954781.819,0.214607394,0.214607394,0.00006 -2-11-2019 11:00,7953760.313,0.287270767,0.287270767,0.00006 -2-11-2019 12:00,7952739.253,0.252159107,0.252159107,0.00006 -2-11-2019 13:00,7951718.639,0.12713034,0.12713034,0.00006 -2-11-2019 14:00,7950698.471,0.063646282,0.063646282,0.00006 -2-11-2019 15:00,7949678.751,0.125934168,0.125934168,0.00006 -2-11-2019 16:00,7948659.479,0.233621333,0.233621333,0.00006 -2-11-2019 17:00,7947640.654,0.280384252,0.280384252,0.00006 -2-11-2019 18:00,7946622.279,0.276102212,0.276102212,0.00006 -2-11-2019 19:00,7945604.353,0.255943627,0.255943627,0.00006 -2-11-2019 20:00,7944586.877,0.208139144,0.208139144,0.00006 -2-11-2019 21:00,7943569.851,0.136077125,0.136077125,0.00006 -2-11-2019 22:00,7942553.276,0.064806432,0.064806432,0.00006 -2-11-2019 23:00,7941537.152,0.028926662,0.028926662,0.00006 -3-11-2019 0:00,7940521.481,0.011806846,0.011806846,0.00006 -3-11-2019 1:00,7939506.261,0.003214377,0.003214377,0.00006 -3-11-2019 2:00,7938491.495,0.001470969,0.001470969,0.00006 -3-11-2019 3:00,7937477.183,0.002316292,0.002316292,0.00006 -3-11-2019 4:00,7936463.324,0.007601381,0.007601381,0.00006 -3-11-2019 5:00,7935449.92,0.060881232,0.060881232,0.00006 -3-11-2019 6:00,7934436.971,0.131669553,0.131669553,0.00006 -3-11-2019 7:00,7933424.477,0.173017118,0.173017118,0.00006 -3-11-2019 8:00,7932412.44,0.162148876,0.162148876,0.00006 -3-11-2019 9:00,7931400.859,0.195112074,0.195112074,0.00006 -3-11-2019 10:00,7930389.735,0.227337876,0.227337876,0.00006 -3-11-2019 11:00,7929379.07,0.299403542,0.299403542,0.00006 -3-11-2019 12:00,7928368.862,0.259673751,0.259673751,0.00006 -3-11-2019 13:00,7927359.113,0.140358444,0.140358444,0.00006 -3-11-2019 14:00,7926349.823,0.071392265,0.071392265,0.00006 -3-11-2019 15:00,7925340.993,0.15865089,0.15865089,0.00006 -3-11-2019 16:00,7924332.623,0.252563857,0.252563857,0.00006 -3-11-2019 17:00,7923324.714,0.291349736,0.291349736,0.00006 -3-11-2019 18:00,7922317.266,0.284591171,0.284591171,0.00006 -3-11-2019 19:00,7921310.281,0.260896738,0.260896738,0.00006 -3-11-2019 20:00,7920303.757,0.213996223,0.213996223,0.00006 -3-11-2019 21:00,7919297.696,0.139639219,0.139639219,0.00006 -3-11-2019 22:00,7918292.099,0.066224988,0.066224988,0.00006 -3-11-2019 23:00,7917286.966,0.029785415,0.029785415,0.00006 -4-11-2019 0:00,7916282.297,0.012111044,0.012111044,0.00006 -4-11-2019 1:00,7915278.092,0.003184223,0.003184223,0.00006 -4-11-2019 2:00,7914274.354,0.001403212,0.001403212,0.00006 -4-11-2019 3:00,7913271.081,0.002208718,0.002208718,0.00006 -4-11-2019 4:00,7912268.275,0.007441899,0.007441899,0.00006 -4-11-2019 5:00,7911265.936,0.058575615,0.058575615,0.00006 -4-11-2019 6:00,7910264.064,0.124744539,0.124744539,0.00006 -4-11-2019 7:00,7909262.66,0.163383635,0.163383635,0.00006 -4-11-2019 8:00,7908261.725,0.157005923,0.157005923,0.00006 -4-11-2019 9:00,7907261.259,0.195629116,0.195629116,0.00006 -4-11-2019 10:00,7906261.263,0.229055747,0.229055747,0.00006 -4-11-2019 11:00,7905261.736,0.304514383,0.304514383,0.00006 -4-11-2019 12:00,7904262.68,0.264938211,0.264938211,0.00006 -4-11-2019 13:00,7903264.096,0.142365308,0.142365308,0.00006 -4-11-2019 14:00,7902265.983,0.07149224,0.07149224,0.00006 -4-11-2019 15:00,7901268.342,0.156032835,0.156032835,0.00006 -4-11-2019 16:00,7900271.173,0.255314147,0.255314147,0.00006 -4-11-2019 17:00,7899274.478,0.293235649,0.293235649,0.00006 -4-11-2019 18:00,7898278.257,0.285045068,0.285045068,0.00006 -4-11-2019 19:00,7897282.509,0.26107269,0.26107269,0.00006 -4-11-2019 20:00,7896287.237,0.212200924,0.212200924,0.00006 -4-11-2019 21:00,7895292.439,0.137487317,0.137487317,0.00006 -4-11-2019 22:00,7894298.118,0.065652767,0.065652767,0.00006 -4-11-2019 23:00,7893304.272,0.029047131,0.029047131,0.00006 -5-11-2019 0:00,7892310.904,0.011920413,0.011920413,0.00006 -5-11-2019 1:00,7891318.012,0.003198136,0.003198136,0.00006 -5-11-2019 2:00,7890325.599,0.001365882,0.001365882,0.00006 -5-11-2019 3:00,7889333.663,0.002181859,0.002181859,0.00006 -5-11-2019 4:00,7888342.207,0.007786024,0.007786024,0.00006 -5-11-2019 5:00,7887351.229,0.059661517,0.059661517,0.00006 -5-11-2019 6:00,7886360.732,0.130081324,0.130081324,0.00006 -5-11-2019 7:00,7885370.715,0.174023558,0.174023558,0.00006 -5-11-2019 8:00,7884381.178,0.163167945,0.163167945,0.00006 -5-11-2019 9:00,7883392.123,0.203664242,0.203664242,0.00006 -5-11-2019 10:00,7882403.55,0.240397899,0.240397899,0.00006 -5-11-2019 11:00,7881415.46,0.321814574,0.321814574,0.00006 -5-11-2019 12:00,7880427.852,0.280870654,0.280870654,0.00006 -5-11-2019 13:00,7879440.727,0.152537814,0.152537814,0.00006 -5-11-2019 14:00,7878454.086,0.07979524,0.07979524,0.00006 -5-11-2019 15:00,7877467.93,0.18941633,0.18941633,0.00006 -5-11-2019 16:00,7876482.259,0.266589669,0.266589669,0.00006 -5-11-2019 17:00,7875497.073,0.305873616,0.305873616,0.00006 -5-11-2019 18:00,7874512.373,0.297515443,0.297515443,0.00006 -5-11-2019 19:00,7873528.159,0.268449109,0.268449109,0.00006 -5-11-2019 20:00,7872544.432,0.216430444,0.216430444,0.00006 -5-11-2019 21:00,7871561.193,0.140527529,0.140527529,0.00006 -5-11-2019 22:00,7870578.442,0.066954953,0.066954953,0.00006 -5-11-2019 23:00,7869596.179,0.029661297,0.029661297,0.00006 -6-11-2019 0:00,7868614.405,0.012116166,0.012116166,0.00006 -6-11-2019 1:00,7867633.12,0.003237265,0.003237265,0.00006 -6-11-2019 2:00,7866652.326,0.001395316,0.001395316,0.00006 -6-11-2019 3:00,7865672.022,0.002237225,0.002237225,0.00006 -6-11-2019 4:00,7864692.209,0.008175007,0.008175007,0.00006 -6-11-2019 5:00,7863712.887,0.061329477,0.061329477,0.00006 -6-11-2019 6:00,7862734.057,0.135514979,0.135514979,0.00006 -6-11-2019 7:00,7861755.72,0.184316481,0.184316481,0.00006 -6-11-2019 8:00,7860777.876,0.16981018,0.16981018,0.00006 -6-11-2019 9:00,7859800.525,0.211682273,0.211682273,0.00006 -6-11-2019 10:00,7858823.668,0.23914738,0.23914738,0.00006 -6-11-2019 11:00,7857847.306,0.29293502,0.29293502,0.00006 -6-11-2019 12:00,7856871.438,0.274284701,0.274284701,0.00006 -6-11-2019 13:00,7855896.067,0.150401,0.150401,0.00006 -6-11-2019 14:00,7854921.191,0.081447892,0.081447892,0.00006 -6-11-2019 15:00,7853946.811,0.215432428,0.215432428,0.00006 -6-11-2019 16:00,7852972.929,0.291185424,0.291185424,0.00006 -6-11-2019 17:00,7851999.544,0.323707068,0.323707068,0.00006 -6-11-2019 18:00,7851026.657,0.311567474,0.311567474,0.00006 -6-11-2019 19:00,7850054.269,0.285372818,0.285372818,0.00006 -6-11-2019 20:00,7849082.38,0.23281921,0.23281921,0.00006 -6-11-2019 21:00,7848110.99,0.150539177,0.150539177,0.00006 -6-11-2019 22:00,7847140.1,0.071731808,0.071731808,0.00006 -6-11-2019 23:00,7846169.711,0.032144906,0.032144906,0.00006 -7-11-2019 0:00,7845199.822,0.012897459,0.012897459,0.00006 -7-11-2019 1:00,7844230.435,0.003450291,0.003450291,0.00006 -7-11-2019 2:00,7843261.551,0.001757341,0.001757341,0.00006 -7-11-2019 3:00,7842293.168,0.002562721,0.002562721,0.00006 -7-11-2019 4:00,7841325.289,0.010105306,0.010105306,0.00006 -7-11-2019 5:00,7840357.913,0.070883712,0.070883712,0.00006 -7-11-2019 6:00,7839391.041,0.159673349,0.159673349,0.00006 -7-11-2019 7:00,7838424.674,0.215809709,0.215809709,0.00006 -7-11-2019 8:00,7837458.811,0.188844299,0.188844299,0.00006 -7-11-2019 9:00,7836493.454,0.227916948,0.227916948,0.00006 -7-11-2019 10:00,7835528.603,0.265519811,0.265519811,0.00006 -7-11-2019 11:00,7834564.259,0.360046625,0.360046625,0.00006 -7-11-2019 12:00,7833600.421,0.323134996,0.323134996,0.00006 -7-11-2019 13:00,7832637.091,0.17678525,0.17678525,0.00006 -7-11-2019 14:00,7831674.269,0.098797994,0.098797994,0.00006 -7-11-2019 15:00,7830711.955,0.25182278,0.25182278,0.00006 -7-11-2019 16:00,7829750.15,0.29370375,0.29370375,0.00006 -7-11-2019 17:00,7828788.855,0.329397498,0.329397498,0.00006 -7-11-2019 18:00,7827828.07,0.320475371,0.320475371,0.00006 -7-11-2019 19:00,7826867.795,0.293972512,0.293972512,0.00006 -7-11-2019 20:00,7825908.031,0.242787294,0.242787294,0.00006 -7-11-2019 21:00,7824948.778,0.159265515,0.159265515,0.00006 -7-11-2019 22:00,7823990.038,0.077059628,0.077059628,0.00006 -7-11-2019 23:00,7823031.809,0.034487628,0.034487628,0.00006 -8-11-2019 0:00,7822074.094,0.01408645,0.01408645,0.00006 -8-11-2019 1:00,7821116.892,0.004082875,0.004082875,0.00006 -8-11-2019 2:00,7820160.204,0.002235433,0.002235433,0.00006 -8-11-2019 3:00,7819204.03,0.003501802,0.003501802,0.00006 -8-11-2019 4:00,7818248.371,0.014524977,0.014524977,0.00006 -8-11-2019 5:00,7817293.228,0.09715294,0.09715294,0.00006 -8-11-2019 6:00,7816338.6,0.222982064,0.222982064,0.00006 -8-11-2019 7:00,7815384.489,0.290405354,0.290405354,0.00006 -8-11-2019 8:00,7814430.895,0.196784789,0.196784789,0.00006 -8-11-2019 9:00,7813477.818,0.19341262,0.19341262,0.00006 -8-11-2019 10:00,7812525.258,0.201669825,0.201669825,0.00006 -8-11-2019 11:00,7811573.217,0.2498236,0.2498236,0.00006 -8-11-2019 12:00,7810621.695,0.204129544,0.204129544,0.00006 -8-11-2019 13:00,7809670.692,0.101932143,0.101932143,0.00006 -8-11-2019 14:00,7808720.209,0.051898899,0.051898899,0.00006 -8-11-2019 15:00,7807770.246,0.111310946,0.111310946,0.00006 -8-11-2019 16:00,7806820.804,0.277935633,0.277935633,0.00006 -8-11-2019 17:00,7805871.883,0.365756705,0.365756705,0.00006 -8-11-2019 18:00,7804923.484,0.36194509,0.36194509,0.00006 -8-11-2019 19:00,7803975.607,0.338972742,0.338972742,0.00006 -8-11-2019 20:00,7803028.253,0.27448066,0.27448066,0.00006 -8-11-2019 21:00,7802081.422,0.175623349,0.175623349,0.00006 -8-11-2019 22:00,7801135.114,0.085327521,0.085327521,0.00006 -8-11-2019 23:00,7800189.331,0.038273913,0.038273913,0.00006 -9-11-2019 0:00,7799244.073,0.015492185,0.015492185,0.00006 -9-11-2019 1:00,7798299.339,0.004991216,0.004991216,0.00006 -9-11-2019 2:00,7797355.131,0.002782552,0.002782552,0.00006 -9-11-2019 3:00,7796411.45,0.00364949,0.00364949,0.00006 -9-11-2019 4:00,7795468.295,0.018635055,0.018635055,0.00006 -9-11-2019 5:00,7794525.667,0.110702277,0.110702277,0.00006 -9-11-2019 6:00,7793583.566,0.241993694,0.241993694,0.00006 -9-11-2019 7:00,7792641.994,0.312873003,0.312873003,0.00006 -9-11-2019 8:00,7791700.95,0.25462844,0.25462844,0.00006 -9-11-2019 9:00,7790760.435,0.273618484,0.273618484,0.00006 -9-11-2019 10:00,7789820.45,0.307215018,0.307215018,0.00006 -9-11-2019 11:00,7788880.995,0.415071311,0.415071311,0.00006 -9-11-2019 12:00,7787942.07,0.355265787,0.355265787,0.00006 -9-11-2019 13:00,7787003.676,0.205456577,0.205456577,0.00006 -9-11-2019 14:00,7786065.813,0.116501033,0.116501033,0.00006 -9-11-2019 15:00,7785128.483,0.309430765,0.309430765,0.00006 -9-11-2019 16:00,7784191.685,0.33427575,0.33427575,0.00006 -9-11-2019 17:00,7783255.419,0.371951178,0.371951178,0.00006 -9-11-2019 18:00,7782319.687,0.355673887,0.355673887,0.00006 -9-11-2019 19:00,7781384.489,0.327249352,0.327249352,0.00006 -9-11-2019 20:00,7780449.826,0.270086396,0.270086396,0.00006 -9-11-2019 21:00,7779515.697,0.17815619,0.17815619,0.00006 -9-11-2019 22:00,7778582.103,0.088240908,0.088240908,0.00006 -9-11-2019 23:00,7777649.045,0.040430548,0.040430548,0.00006 -10-11-2019 0:00,7776716.523,0.016491345,0.016491345,0.00006 -10-11-2019 1:00,7775784.538,0.005585942,0.005585942,0.00006 -10-11-2019 2:00,7774853.091,0.003276159,0.003276159,0.00006 -10-11-2019 3:00,7773922.181,0.005207194,0.005207194,0.00006 -10-11-2019 4:00,7772991.809,0.027172168,0.027172168,0.00006 -10-11-2019 5:00,7772061.976,0.147069925,0.147069925,0.00006 -10-11-2019 6:00,7771132.682,0.320073331,0.320073331,0.00006 -10-11-2019 7:00,7770203.927,0.40607925,0.40607925,0.00006 -10-11-2019 8:00,7769275.713,0.281721367,0.281721367,0.00006 -10-11-2019 9:00,7768348.039,0.250508905,0.250508905,0.00006 -10-11-2019 10:00,7767420.906,0.24149905,0.24149905,0.00006 -10-11-2019 11:00,7766494.315,0.310303262,0.310303262,0.00006 -10-11-2019 12:00,7765568.265,0.25247953,0.25247953,0.00006 -10-11-2019 13:00,7764642.758,0.126798286,0.126798286,0.00006 -10-11-2019 14:00,7763717.795,0.061682655,0.061682655,0.00006 -10-11-2019 15:00,7762793.374,0.139440123,0.139440123,0.00006 -10-11-2019 16:00,7761869.497,0.351093072,0.351093072,0.00006 -10-11-2019 17:00,7760946.165,0.4209121,0.4209121,0.00006 -10-11-2019 18:00,7760023.378,0.417608015,0.417608015,0.00006 -10-11-2019 19:00,7759101.136,0.391958681,0.391958681,0.00006 -10-11-2019 20:00,7758179.439,0.32618848,0.32618848,0.00006 -10-11-2019 21:00,7757258.289,0.213740435,0.213740435,0.00006 -10-11-2019 22:00,7756337.686,0.100326205,0.100326205,0.00006 -10-11-2019 23:00,7755417.63,0.045559921,0.045559921,0.00006 -11-11-2019 0:00,7754498.122,0.018749196,0.018749196,0.00006 -11-11-2019 1:00,7753579.161,0.006590454,0.006590454,0.00006 -11-11-2019 2:00,7752660.75,0.004399751,0.004399751,0.00006 -11-11-2019 3:00,7751742.887,0.007820808,0.007820808,0.00006 -11-11-2019 4:00,7750825.574,0.036735146,0.036735146,0.00006 -11-11-2019 5:00,7749908.811,0.171234642,0.171234642,0.00006 -11-11-2019 6:00,7748992.599,0.352820045,0.352820045,0.00006 -11-11-2019 7:00,7748076.938,0.445324761,0.445324761,0.00006 -11-11-2019 8:00,7747161.828,0.371995902,0.371995902,0.00006 -11-11-2019 9:00,7746247.27,0.36592176,0.36592176,0.00006 -11-11-2019 10:00,7745333.264,0.378135663,0.378135663,0.00006 -11-11-2019 11:00,7744419.811,0.518083497,0.518083497,0.00006 -11-11-2019 12:00,7743506.912,0.453160188,0.453160188,0.00006 -11-11-2019 13:00,7742594.566,0.278213577,0.278213577,0.00006 -11-11-2019 14:00,7741682.775,0.212440935,0.212440935,0.00006 -11-11-2019 15:00,7740771.539,0.38956082,0.38956082,0.00006 -11-11-2019 16:00,7739860.857,0.397540034,0.397540034,0.00006 -11-11-2019 17:00,7738950.732,0.426342792,0.426342792,0.00006 -11-11-2019 18:00,7738041.162,0.40880514,0.40880514,0.00006 -11-11-2019 19:00,7737132.149,0.373831624,0.373831624,0.00006 -11-11-2019 20:00,7736223.694,0.308366734,0.308366734,0.00006 -11-11-2019 21:00,7735315.795,0.200479616,0.200479616,0.00006 -11-11-2019 22:00,7734408.455,0.096239446,0.096239446,0.00006 -11-11-2019 23:00,7733501.674,0.042149913,0.042149913,0.00006 -12-11-2019 0:00,7732595.451,0.017486928,0.017486928,0.00006 -12-11-2019 1:00,7731689.788,0.006049166,0.006049166,0.00006 -12-11-2019 2:00,7730784.684,0.003535081,0.003535081,0.00006 -12-11-2019 3:00,7729880.141,0.006040166,0.006040166,0.00006 -12-11-2019 4:00,7728976.159,0.031363512,0.031363512,0.00006 -12-11-2019 5:00,7728072.738,0.153208067,0.153208067,0.00006 -12-11-2019 6:00,7727169.879,0.328906207,0.328906207,0.00006 -12-11-2019 7:00,7726267.582,0.427414941,0.427414941,0.00006 -12-11-2019 8:00,7725365.848,0.516237891,0.516237891,0.00006 -12-11-2019 9:00,7724464.676,0.396961124,0.396961124,0.00006 -12-11-2019 10:00,7723564.069,0.404330456,0.404330456,0.00006 -12-11-2019 11:00,7722664.026,0.56029097,0.56029097,0.00006 -12-11-2019 12:00,7721764.547,0.435214769,0.435214769,0.00006 -12-11-2019 13:00,7720865.633,0.271235664,0.271235664,0.00006 -12-11-2019 14:00,7719967.284,0.389115626,0.389115626,0.00006 -12-11-2019 15:00,7719069.502,0.408764333,0.408764333,0.00006 -12-11-2019 16:00,7718172.286,0.412194383,0.412194383,0.00006 -12-11-2019 17:00,7717275.636,0.440781685,0.440781685,0.00006 -12-11-2019 18:00,7716379.554,0.422633047,0.422633047,0.00006 -12-11-2019 19:00,7715484.04,0.387743666,0.387743666,0.00006 -12-11-2019 20:00,7714589.094,0.319465034,0.319465034,0.00006 -12-11-2019 21:00,7713694.717,0.206234036,0.206234036,0.00006 -12-11-2019 22:00,7712800.909,0.098049504,0.098049504,0.00006 -12-11-2019 23:00,7711907.67,0.042547771,0.042547771,0.00006 -13-11-2019 0:00,7711015.002,0.017799569,0.017799569,0.00006 -13-11-2019 1:00,7710122.904,0.006079431,0.006079431,0.00006 -13-11-2019 2:00,7709231.377,0.003655834,0.003655834,0.00006 -13-11-2019 3:00,7708340.421,0.006236482,0.006236482,0.00006 -13-11-2019 4:00,7707450.038,0.032296584,0.032296584,0.00006 -13-11-2019 5:00,7706560.226,0.154201726,0.154201726,0.00006 -13-11-2019 6:00,7705670.988,0.326969988,0.326969988,0.00006 -13-11-2019 7:00,7704782.323,0.420692541,0.420692541,0.00006 -13-11-2019 8:00,7703894.231,0.497851985,0.497851985,0.00006 -13-11-2019 9:00,7703006.714,0.3901376,0.3901376,0.00006 -13-11-2019 10:00,7702119.772,0.390309964,0.390309964,0.00006 -13-11-2019 11:00,7701233.404,0.540115076,0.540115076,0.00006 -13-11-2019 12:00,7700347.612,0.465081452,0.465081452,0.00006 -13-11-2019 13:00,7699462.396,0.301938485,0.301938485,0.00006 -13-11-2019 14:00,7698577.757,0.401329911,0.401329911,0.00006 -13-11-2019 15:00,7697693.694,0.417760305,0.417760305,0.00006 -13-11-2019 16:00,7696810.209,0.41205984,0.41205984,0.00006 -13-11-2019 17:00,7695927.302,0.441178276,0.441178276,0.00006 -13-11-2019 18:00,7695044.973,0.429345116,0.429345116,0.00006 -13-11-2019 19:00,7694163.223,0.392016211,0.392016211,0.00006 -13-11-2019 20:00,7693282.052,0.318000339,0.318000339,0.00006 -13-11-2019 21:00,7692401.46,0.204678743,0.204678743,0.00006 -13-11-2019 22:00,7691521.449,0.098837451,0.098837451,0.00006 -13-11-2019 23:00,7690642.018,0.042709657,0.042709657,0.00006 -14-11-2019 0:00,7689763.169,0.017989276,0.017989276,0.00006 -14-11-2019 1:00,7688884.9,0.00621877,0.00621877,0.00006 -14-11-2019 2:00,7688007.214,0.00377604,0.00377604,0.00006 -14-11-2019 3:00,7687130.11,0.0066448,0.0066448,0.00006 -14-11-2019 4:00,7686253.589,0.034605478,0.034605478,0.00006 -14-11-2019 5:00,7685377.651,0.162968069,0.162968069,0.00006 -14-11-2019 6:00,7684502.297,0.342958493,0.342958493,0.00006 -14-11-2019 7:00,7683627.527,0.443787993,0.443787993,0.00006 -14-11-2019 8:00,7682753.341,0.531475196,0.531475196,0.00006 -14-11-2019 9:00,7681879.741,0.408222015,0.408222015,0.00006 -14-11-2019 10:00,7681006.726,0.406777282,0.406777282,0.00006 -14-11-2019 11:00,7680134.297,0.546697373,0.546697373,0.00006 -14-11-2019 12:00,7679262.455,0.470393181,0.470393181,0.00006 -14-11-2019 13:00,7678391.199,0.314862083,0.314862083,0.00006 -14-11-2019 14:00,7677520.531,0.404061757,0.404061757,0.00006 -14-11-2019 15:00,7676650.451,0.419931594,0.419931594,0.00006 -14-11-2019 16:00,7675780.958,0.409729159,0.409729159,0.00006 -14-11-2019 17:00,7674912.055,0.435689312,0.435689312,0.00006 -14-11-2019 18:00,7674043.74,0.418174716,0.418174716,0.00006 -14-11-2019 19:00,7673176.015,0.382412613,0.382412613,0.00006 -14-11-2019 20:00,7672308.88,0.314914597,0.314914597,0.00006 -14-11-2019 21:00,7671442.336,0.206189646,0.206189646,0.00006 -14-11-2019 22:00,7670576.382,0.098985802,0.098985802,0.00006 -14-11-2019 23:00,7669711.02,0.043348809,0.043348809,0.00006 -15-11-2019 0:00,7668846.249,0.01825499,0.01825499,0.00006 -15-11-2019 1:00,7667982.071,0.006381547,0.006381547,0.00006 -15-11-2019 2:00,7667118.485,0.003877643,0.003877643,0.00006 -15-11-2019 3:00,7666255.493,0.007150696,0.007150696,0.00006 -15-11-2019 4:00,7665393.094,0.036485557,0.036485557,0.00006 -15-11-2019 5:00,7664531.289,0.170082774,0.170082774,0.00006 -15-11-2019 6:00,7663670.078,0.357570099,0.357570099,0.00006 -15-11-2019 7:00,7662809.462,0.463223171,0.463223171,0.00006 -15-11-2019 8:00,7661949.442,0.555550092,0.555550092,0.00006 -15-11-2019 9:00,7661090.017,0.427333907,0.427333907,0.00006 -15-11-2019 10:00,7660231.189,0.42978336,0.42978336,0.00006 -15-11-2019 11:00,7659372.957,0.567748117,0.567748117,0.00006 -15-11-2019 12:00,7658515.323,0.492371389,0.492371389,0.00006 -15-11-2019 13:00,7657658.286,0.344628023,0.344628023,0.00006 -15-11-2019 14:00,7656801.847,0.428105107,0.428105107,0.00006 -15-11-2019 15:00,7655946.006,0.442813857,0.442813857,0.00006 -15-11-2019 16:00,7655090.764,0.431240688,0.431240688,0.00006 -15-11-2019 17:00,7654236.122,0.454721777,0.454721777,0.00006 -15-11-2019 18:00,7653382.079,0.434818325,0.434818325,0.00006 -15-11-2019 19:00,7652528.636,0.398656325,0.398656325,0.00006 -15-11-2019 20:00,7651675.794,0.328832859,0.328832859,0.00006 -15-11-2019 21:00,7650823.553,0.214595883,0.214595883,0.00006 -15-11-2019 22:00,7649971.914,0.104180085,0.104180085,0.00006 -15-11-2019 23:00,7649120.876,0.046074912,0.046074912,0.00006 -16-11-2019 0:00,7648270.441,0.019370324,0.019370324,0.00006 -16-11-2019 1:00,7647420.609,0.006916433,0.006916433,0.00006 -16-11-2019 2:00,7646571.38,0.004758217,0.004758217,0.00006 -16-11-2019 3:00,7645722.754,0.009346336,0.009346336,0.00006 -16-11-2019 4:00,7644874.733,0.043140829,0.043140829,0.00006 -16-11-2019 5:00,7644027.316,0.192079784,0.192079784,0.00006 -16-11-2019 6:00,7643180.505,0.40159107,0.40159107,0.00006 -16-11-2019 7:00,7642334.298,0.521165288,0.521165288,0.00006 -16-11-2019 8:00,7641488.698,0.610763075,0.610763075,0.00006 -16-11-2019 9:00,7640643.704,0.462923667,0.462923667,0.00006 -16-11-2019 10:00,7639799.316,0.451091639,0.451091639,0.00006 -16-11-2019 11:00,7638955.536,0.582257079,0.582257079,0.00006 -16-11-2019 12:00,7638112.364,0.503450177,0.503450177,0.00006 -16-11-2019 13:00,7637269.799,0.365381712,0.365381712,0.00006 -16-11-2019 14:00,7636427.843,0.445119548,0.445119548,0.00006 -16-11-2019 15:00,7635586.496,0.46526394,0.46526394,0.00006 -16-11-2019 16:00,7634745.758,0.452442575,0.452442575,0.00006 -16-11-2019 17:00,7633905.63,0.47385047,0.47385047,0.00006 -16-11-2019 18:00,7633066.112,0.445814174,0.445814174,0.00006 -16-11-2019 19:00,7632227.204,0.403514867,0.403514867,0.00006 -16-11-2019 20:00,7631388.908,0.331020785,0.331020785,0.00006 -16-11-2019 21:00,7630551.223,0.215235289,0.215235289,0.00006 -16-11-2019 22:00,7629714.15,0.102382453,0.102382453,0.00006 -16-11-2019 23:00,7628877.69,0.044262407,0.044262407,0.00006 -17-11-2019 0:00,7628041.842,0.018641968,0.018641968,0.00006 -17-11-2019 1:00,7627206.608,0.006586391,0.006586391,0.00006 -17-11-2019 2:00,7626371.987,0.004402667,0.004402667,0.00006 -17-11-2019 3:00,7625537.98,0.007820885,0.007820885,0.00006 -17-11-2019 4:00,7624704.588,0.040475425,0.040475425,0.00006 -17-11-2019 5:00,7623871.811,0.181660099,0.181660099,0.00006 -17-11-2019 6:00,7623039.649,0.385716739,0.385716739,0.00006 -17-11-2019 7:00,7622208.102,0.504672559,0.504672559,0.00006 -17-11-2019 8:00,7621377.172,0.605334719,0.605334719,0.00006 -17-11-2019 9:00,7620546.859,0.463219428,0.463219428,0.00006 -17-11-2019 10:00,7619717.163,0.41215426,0.41215426,0.00006 -17-11-2019 11:00,7618888.084,0.570916676,0.570916676,0.00006 -17-11-2019 12:00,7618059.623,0.493106574,0.493106574,0.00006 -17-11-2019 13:00,7617231.781,0.363704247,0.363704247,0.00006 -17-11-2019 14:00,7616404.557,0.441247597,0.441247597,0.00006 -17-11-2019 15:00,7615577.953,0.460704658,0.460704658,0.00006 -17-11-2019 16:00,7614751.968,0.447322285,0.447322285,0.00006 -17-11-2019 17:00,7613926.603,0.473450184,0.473450184,0.00006 -17-11-2019 18:00,7613101.858,0.456330191,0.456330191,0.00006 -17-11-2019 19:00,7612277.735,0.414860832,0.414860832,0.00006 -17-11-2019 20:00,7611454.233,0.339849335,0.339849335,0.00006 -17-11-2019 21:00,7610631.353,0.219052345,0.219052345,0.00006 -17-11-2019 22:00,7609809.094,0.103556407,0.103556407,0.00006 -17-11-2019 23:00,7608987.459,0.045516666,0.045516666,0.00006 -18-11-2019 0:00,7608166.446,0.019134011,0.019134011,0.00006 -18-11-2019 1:00,7607346.057,0.006795238,0.006795238,0.00006 -18-11-2019 2:00,7606526.292,0.004747764,0.004747764,0.00006 -18-11-2019 3:00,7605707.151,0.008475553,0.008475553,0.00006 -18-11-2019 4:00,7604888.634,0.040387105,0.040387105,0.00006 -18-11-2019 5:00,7604070.743,0.179241851,0.179241851,0.00006 -18-11-2019 6:00,7603253.478,0.375298265,0.375298265,0.00006 -18-11-2019 7:00,7602436.838,0.486394627,0.486394627,0.00006 -18-11-2019 8:00,7601620.825,0.578199337,0.578199337,0.00006 -18-11-2019 9:00,7600805.438,0.443765553,0.443765553,0.00006 -18-11-2019 10:00,7599990.679,0.43508485,0.43508485,0.00006 -18-11-2019 11:00,7599176.547,0.568050242,0.568050242,0.00006 -18-11-2019 12:00,7598363.044,0.49159156,0.49159156,0.00006 -18-11-2019 13:00,7597550.169,0.360013671,0.360013671,0.00006 -18-11-2019 14:00,7596737.923,0.429763347,0.429763347,0.00006 -18-11-2019 15:00,7595926.306,0.444306799,0.444306799,0.00006 -18-11-2019 16:00,7595115.319,0.423936386,0.423936386,0.00006 -18-11-2019 17:00,7594304.962,0.445142361,0.445142361,0.00006 -18-11-2019 18:00,7593495.235,0.423350664,0.423350664,0.00006 -18-11-2019 19:00,7592686.14,0.384062405,0.384062405,0.00006 -18-11-2019 20:00,7591877.676,0.319601709,0.319601709,0.00006 -18-11-2019 21:00,7591069.844,0.207855173,0.207855173,0.00006 -18-11-2019 22:00,7590262.644,0.099709355,0.099709355,0.00006 -18-11-2019 23:00,7589456.077,0.042860995,0.042860995,0.00006 -19-11-2019 0:00,7588650.142,0.018092748,0.018092748,0.00006 -19-11-2019 1:00,7587844.842,0.006234745,0.006234745,0.00006 -19-11-2019 2:00,7587040.175,0.00372943,0.00372943,0.00006 -19-11-2019 3:00,7586236.142,0.006495105,0.006495105,0.00006 -19-11-2019 4:00,7585432.745,0.034438761,0.034438761,0.00006 -19-11-2019 5:00,7584629.982,0.160959146,0.160959146,0.00006 -19-11-2019 6:00,7583827.855,0.345219395,0.345219395,0.00006 -19-11-2019 7:00,7583026.364,0.453266768,0.453266768,0.00006 -19-11-2019 8:00,7582225.509,0.542349891,0.542349891,0.00006 -19-11-2019 9:00,7581425.291,0.380208724,0.380208724,0.00006 -19-11-2019 10:00,7580625.71,0.324285733,0.324285733,0.00006 -19-11-2019 11:00,7579826.767,0.497571266,0.497571266,0.00006 -19-11-2019 12:00,7579028.462,0.47936267,0.47936267,0.00006 -19-11-2019 13:00,7578230.795,0.350963215,0.350963215,0.00006 -19-11-2019 14:00,7577433.767,0.433229979,0.433229979,0.00006 -19-11-2019 15:00,7576637.378,0.449228374,0.449228374,0.00006 -19-11-2019 16:00,7575841.629,0.434120091,0.434120091,0.00006 -19-11-2019 17:00,7575046.521,0.461105091,0.461105091,0.00006 -19-11-2019 18:00,7574252.052,0.458223607,0.458223607,0.00006 -19-11-2019 19:00,7573458.225,0.416642317,0.416642317,0.00006 -19-11-2019 20:00,7572665.038,0.352473919,0.352473919,0.00006 -19-11-2019 21:00,7571872.494,0.232086592,0.232086592,0.00006 -19-11-2019 22:00,7571080.591,0.110900607,0.110900607,0.00006 -19-11-2019 23:00,7570289.331,0.049615475,0.049615475,0.00006 -20-11-2019 0:00,7569498.714,0.02103137,0.02103137,0.00006 -20-11-2019 1:00,7568708.741,0.007975415,0.007975415,0.00006 -20-11-2019 2:00,7567919.411,0.006339993,0.006339993,0.00006 -20-11-2019 3:00,7567130.725,0.013717339,0.013717339,0.00006 -20-11-2019 4:00,7566342.684,0.054020712,0.054020712,0.00006 -20-11-2019 5:00,7565555.287,0.226618271,0.226618271,0.00006 -20-11-2019 6:00,7564768.537,0.464187216,0.464187216,0.00006 -20-11-2019 7:00,7563982.431,0.593882288,0.593882288,0.00006 -20-11-2019 8:00,7563196.972,0.658200401,0.658200401,0.00006 -20-11-2019 9:00,7562412.16,0.408220827,0.408220827,0.00006 -20-11-2019 10:00,7561627.995,0.352355474,0.352355474,0.00006 -20-11-2019 11:00,7560844.477,0.540051601,0.540051601,0.00006 -20-11-2019 12:00,7560061.606,0.379253755,0.379253755,0.00006 -20-11-2019 13:00,7559279.384,0.289177302,0.289177302,0.00006 -20-11-2019 14:00,7558497.811,0.451407005,0.451407005,0.00006 -20-11-2019 15:00,7557716.886,0.493618315,0.493618315,0.00006 -20-11-2019 16:00,7556936.611,0.482630274,0.482630274,0.00006 -20-11-2019 17:00,7556156.986,0.507138801,0.507138801,0.00006 -20-11-2019 18:00,7555378.011,0.483208511,0.483208511,0.00006 -20-11-2019 19:00,7554599.686,0.44183549,0.44183549,0.00006 -20-11-2019 20:00,7553822.013,0.364935034,0.364935034,0.00006 -20-11-2019 21:00,7553044.991,0.236564262,0.236564262,0.00006 -20-11-2019 22:00,7552268.62,0.113007791,0.113007791,0.00006 -20-11-2019 23:00,7551492.902,0.050017519,0.050017519,0.00006 -21-11-2019 0:00,7550717.837,0.021299232,0.021299232,0.00006 -21-11-2019 1:00,7549943.424,0.008528159,0.008528159,0.00006 -21-11-2019 2:00,7549169.665,0.006932326,0.006932326,0.00006 -21-11-2019 3:00,7548396.56,0.014024712,0.014024712,0.00006 -21-11-2019 4:00,7547624.109,0.053881279,0.053881279,0.00006 -21-11-2019 5:00,7546852.312,0.221552612,0.221552612,0.00006 -21-11-2019 6:00,7546081.17,0.451657019,0.451657019,0.00006 -21-11-2019 7:00,7545310.684,0.582525405,0.582525405,0.00006 -21-11-2019 8:00,7544540.854,0.683539447,0.683539447,0.00006 -21-11-2019 9:00,7543771.68,0.5293859,0.5293859,0.00006 -21-11-2019 10:00,7543003.162,0.503058863,0.503058863,0.00006 -21-11-2019 11:00,7542235.301,0.626000025,0.626000025,0.00006 -21-11-2019 12:00,7541468.098,0.542943144,0.542943144,0.00006 -21-11-2019 13:00,7540701.552,0.420841715,0.420841715,0.00006 -21-11-2019 14:00,7539935.665,0.486648458,0.486648458,0.00006 -21-11-2019 15:00,7539170.436,0.5043486,0.5043486,0.00006 -21-11-2019 16:00,7538405.866,0.486025699,0.486025699,0.00006 -21-11-2019 17:00,7537641.955,0.509333849,0.509333849,0.00006 -21-11-2019 18:00,7536878.704,0.493781565,0.493781565,0.00006 -21-11-2019 19:00,7536116.113,0.447050856,0.447050856,0.00006 -21-11-2019 20:00,7535354.183,0.36590082,0.36590082,0.00006 -21-11-2019 21:00,7534592.914,0.238255988,0.238255988,0.00006 -21-11-2019 22:00,7533832.306,0.112999197,0.112999197,0.00006 -21-11-2019 23:00,7533072.359,0.049422708,0.049422708,0.00006 -22-11-2019 0:00,7532313.075,0.020880646,0.020880646,0.00006 -22-11-2019 1:00,7531554.453,0.008279986,0.008279986,0.00006 -22-11-2019 2:00,7530796.494,0.006534524,0.006534524,0.00006 -22-11-2019 3:00,7530039.198,0.012510367,0.012510367,0.00006 -22-11-2019 4:00,7529282.566,0.050268122,0.050268122,0.00006 -22-11-2019 5:00,7528526.598,0.207323216,0.207323216,0.00006 -22-11-2019 6:00,7527771.294,0.422300832,0.422300832,0.00006 -22-11-2019 7:00,7527016.655,0.542664655,0.542664655,0.00006 -22-11-2019 8:00,7526262.681,0.636100905,0.636100905,0.00006 -22-11-2019 9:00,7525509.373,0.486624198,0.486624198,0.00006 -22-11-2019 10:00,7524756.731,0.361564175,0.361564175,0.00006 -22-11-2019 11:00,7524004.755,0.51337795,0.51337795,0.00006 -22-11-2019 12:00,7523253.446,0.499538717,0.499538717,0.00006 -22-11-2019 13:00,7522502.804,0.308841055,0.308841055,0.00006 -22-11-2019 14:00,7521752.829,0.433639175,0.433639175,0.00006 -22-11-2019 15:00,7521003.523,0.459578322,0.459578322,0.00006 -22-11-2019 16:00,7520254.885,0.442858135,0.442858135,0.00006 -22-11-2019 17:00,7519506.915,0.474448782,0.474448782,0.00006 -22-11-2019 18:00,7518759.614,0.457324505,0.457324505,0.00006 -22-11-2019 19:00,7518012.983,0.419609805,0.419609805,0.00006 -22-11-2019 20:00,7517267.022,0.345656268,0.345656268,0.00006 -22-11-2019 21:00,7516521.731,0.223137301,0.223137301,0.00006 -22-11-2019 22:00,7515777.11,0.104941762,0.104941762,0.00006 -22-11-2019 23:00,7515033.161,0.045268275,0.045268275,0.00006 -23-11-2019 0:00,7514289.882,0.019054401,0.019054401,0.00006 -23-11-2019 1:00,7513547.276,0.006770837,0.006770837,0.00006 -23-11-2019 2:00,7512805.341,0.004799866,0.004799866,0.00006 -23-11-2019 3:00,7512064.08,0.008729727,0.008729727,0.00006 -23-11-2019 4:00,7511323.491,0.042006695,0.042006695,0.00006 -23-11-2019 5:00,7510583.575,0.184927295,0.184927295,0.00006 -23-11-2019 6:00,7509844.333,0.389850449,0.389850449,0.00006 -23-11-2019 7:00,7509105.765,0.512917828,0.512917828,0.00006 -23-11-2019 8:00,7508367.871,0.609546568,0.609546568,0.00006 -23-11-2019 9:00,7507630.652,0.479551021,0.479551021,0.00006 -23-11-2019 10:00,7506894.108,0.462370676,0.462370676,0.00006 -23-11-2019 11:00,7506158.24,0.586871068,0.586871068,0.00006 -23-11-2019 12:00,7505423.048,0.510867378,0.510867378,0.00006 -23-11-2019 13:00,7504688.532,0.384289971,0.384289971,0.00006 -23-11-2019 14:00,7503954.693,0.442645172,0.442645172,0.00006 -23-11-2019 15:00,7503221.531,0.455864211,0.455864211,0.00006 -23-11-2019 16:00,7502489.046,0.429231602,0.429231602,0.00006 -23-11-2019 17:00,7501757.239,0.45726198,0.45726198,0.00006 -23-11-2019 18:00,7501026.11,0.440536186,0.440536186,0.00006 -23-11-2019 19:00,7500295.66,0.404576536,0.404576536,0.00006 -23-11-2019 20:00,7499565.888,0.337690887,0.337690887,0.00006 -23-11-2019 21:00,7498836.796,0.219751306,0.219751306,0.00006 -23-11-2019 22:00,7498108.384,0.104080962,0.104080962,0.00006 -23-11-2019 23:00,7497380.652,0.045115335,0.045115335,0.00006 -24-11-2019 0:00,7496653.6,0.019243943,0.019243943,0.00006 -24-11-2019 1:00,7495927.229,0.006932733,0.006932733,0.00006 -24-11-2019 2:00,7495201.539,0.004814575,0.004814575,0.00006 -24-11-2019 3:00,7494476.531,0.009384621,0.009384621,0.00006 -24-11-2019 4:00,7493752.204,0.044218024,0.044218024,0.00006 -24-11-2019 5:00,7493028.56,0.195456801,0.195456801,0.00006 -24-11-2019 6:00,7492305.599,0.408958032,0.408958032,0.00006 -24-11-2019 7:00,7491583.321,0.533157641,0.533157641,0.00006 -24-11-2019 8:00,7490861.726,0.626668164,0.626668164,0.00006 -24-11-2019 9:00,7490140.815,0.486215794,0.486215794,0.00006 -24-11-2019 10:00,7489420.588,0.46110976,0.46110976,0.00006 -24-11-2019 11:00,7488701.045,0.578053773,0.578053773,0.00006 -24-11-2019 12:00,7487982.188,0.496249573,0.496249573,0.00006 -24-11-2019 13:00,7487264.015,0.377769019,0.377769019,0.00006 -24-11-2019 14:00,7486546.529,0.437594863,0.437594863,0.00006 -24-11-2019 15:00,7485829.728,0.46181635,0.46181635,0.00006 -24-11-2019 16:00,7485113.614,0.452981243,0.452981243,0.00006 -24-11-2019 17:00,7484398.186,0.482041179,0.482041179,0.00006 -24-11-2019 18:00,7483683.446,0.46205786,0.46205786,0.00006 -24-11-2019 19:00,7482969.393,0.417713428,0.417713428,0.00006 -24-11-2019 20:00,7482256.028,0.348097101,0.348097101,0.00006 -24-11-2019 21:00,7481543.351,0.218132723,0.218132723,0.00006 -24-11-2019 22:00,7480831.363,0.102903386,0.102903386,0.00006 -24-11-2019 23:00,7480120.064,0.04426997,0.04426997,0.00006 -25-11-2019 0:00,7479409.454,0.018665394,0.018665394,0.00006 -25-11-2019 1:00,7478699.533,0.006521623,0.006521623,0.00006 -25-11-2019 2:00,7477990.303,0.004338981,0.004338981,0.00006 -25-11-2019 3:00,7477281.763,0.007472525,0.007472525,0.00006 -25-11-2019 4:00,7476573.914,0.037638141,0.037638141,0.00006 -25-11-2019 5:00,7475866.756,0.170009803,0.170009803,0.00006 -25-11-2019 6:00,7475160.29,0.358499033,0.358499033,0.00006 -25-11-2019 7:00,7474454.515,0.47513859,0.47513859,0.00006 -25-11-2019 8:00,7473749.433,0.572505335,0.572505335,0.00006 -25-11-2019 9:00,7473045.043,0.459589078,0.459589078,0.00006 -25-11-2019 10:00,7472341.346,0.445639981,0.445639981,0.00006 -25-11-2019 11:00,7471638.343,0.563141275,0.563141275,0.00006 -25-11-2019 12:00,7470936.033,0.448301783,0.448301783,0.00006 -25-11-2019 13:00,7470234.417,0.240971346,0.240971346,0.00006 -25-11-2019 14:00,7469533.496,0.336780519,0.336780519,0.00006 -25-11-2019 15:00,7468833.269,0.436517681,0.436517681,0.00006 -25-11-2019 16:00,7468133.738,0.426666377,0.426666377,0.00006 -25-11-2019 17:00,7467434.902,0.447451703,0.447451703,0.00006 -25-11-2019 18:00,7466736.761,0.426482099,0.426482099,0.00006 -25-11-2019 19:00,7466039.318,0.390386538,0.390386538,0.00006 -25-11-2019 20:00,7465342.57,0.321530429,0.321530429,0.00006 -25-11-2019 21:00,7464646.52,0.208047811,0.208047811,0.00006 -25-11-2019 22:00,7463951.166,0.097887299,0.097887299,0.00006 -25-11-2019 23:00,7463256.511,0.041725398,0.041725398,0.00006 -26-11-2019 0:00,7462562.553,0.017367104,0.017367104,0.00006 -26-11-2019 1:00,7461869.294,0.005895227,0.005895227,0.00006 -26-11-2019 2:00,7461176.733,0.003373126,0.003373126,0.00006 -26-11-2019 3:00,7460484.872,0.00564409,0.00564409,0.00006 -26-11-2019 4:00,7459793.71,0.030191487,0.030191487,0.00006 -26-11-2019 5:00,7459103.248,0.145287604,0.145287604,0.00006 -26-11-2019 6:00,7458413.485,0.309191777,0.309191777,0.00006 -26-11-2019 7:00,7457724.424,0.411902941,0.411902941,0.00006 -26-11-2019 8:00,7457036.063,0.500841613,0.500841613,0.00006 -26-11-2019 9:00,7456348.403,0.406858458,0.406858458,0.00006 -26-11-2019 10:00,7455661.445,0.399763152,0.399763152,0.00006 -26-11-2019 11:00,7454975.189,0.526949166,0.526949166,0.00006 -26-11-2019 12:00,7454289.635,0.459082528,0.459082528,0.00006 -26-11-2019 13:00,7453604.784,0.337407953,0.337407953,0.00006 -26-11-2019 14:00,7452920.635,0.389835063,0.389835063,0.00006 -26-11-2019 15:00,7452237.19,0.408050689,0.408050689,0.00006 -26-11-2019 16:00,7451554.449,0.381553925,0.381553925,0.00006 -26-11-2019 17:00,7450872.411,0.403890727,0.403890727,0.00006 -26-11-2019 18:00,7450191.078,0.384484601,0.384484601,0.00006 -26-11-2019 19:00,7449510.45,0.346650247,0.346650247,0.00006 -26-11-2019 20:00,7448830.526,0.283162723,0.283162723,0.00006 -26-11-2019 21:00,7448151.309,0.183290527,0.183290527,0.00006 -26-11-2019 22:00,7447472.796,0.08633041,0.08633041,0.00006 -26-11-2019 23:00,7446794.99,0.036703686,0.036703686,0.00006 -27-11-2019 0:00,7446117.891,0.014597955,0.014597955,0.00006 -27-11-2019 1:00,7445441.498,0.004678352,0.004678352,0.00006 -27-11-2019 2:00,7444765.813,0.002480742,0.002480742,0.00006 -27-11-2019 3:00,7444090.834,0.003622753,0.003622753,0.00006 -27-11-2019 4:00,7443416.564,0.018655552,0.018655552,0.00006 -27-11-2019 5:00,7442743.002,0.102433387,0.102433387,0.00006 -27-11-2019 6:00,7442070.149,0.233134481,0.233134481,0.00006 -27-11-2019 7:00,7441398.004,0.320540446,0.320540446,0.00006 -27-11-2019 8:00,7440726.569,0.403627281,0.403627281,0.00006 -27-11-2019 9:00,7440055.843,0.350421175,0.350421175,0.00006 -27-11-2019 10:00,7439385.827,0.35684165,0.35684165,0.00006 -27-11-2019 11:00,7438716.521,0.481423891,0.481423891,0.00006 -27-11-2019 12:00,7438047.926,0.432629375,0.432629375,0.00006 -27-11-2019 13:00,7437380.042,0.306702013,0.306702013,0.00006 -27-11-2019 14:00,7436712.87,0.360423292,0.360423292,0.00006 -27-11-2019 15:00,7436046.409,0.380305916,0.380305916,0.00006 -27-11-2019 16:00,7435380.659,0.353395171,0.353395171,0.00006 -27-11-2019 17:00,7434715.623,0.379739068,0.379739068,0.00006 -27-11-2019 18:00,7434051.299,0.360919674,0.360919674,0.00006 -27-11-2019 19:00,7433387.688,0.326620199,0.326620199,0.00006 -27-11-2019 20:00,7432724.79,0.266212927,0.266212927,0.00006 -27-11-2019 21:00,7432062.606,0.171192145,0.171192145,0.00006 -27-11-2019 22:00,7431401.136,0.080689679,0.080689679,0.00006 -27-11-2019 23:00,7430740.38,0.03426153,0.03426153,0.00006 -28-11-2019 0:00,7430080.339,0.013797836,0.013797836,0.00006 -28-11-2019 1:00,7429421.014,0.003933998,0.003933998,0.00006 -28-11-2019 2:00,7428762.403,0.002098989,0.002098989,0.00006 -28-11-2019 3:00,7428104.508,0.003087696,0.003087696,0.00006 -28-11-2019 4:00,7427447.33,0.014142568,0.014142568,0.00006 -28-11-2019 5:00,7426790.868,0.085829049,0.085829049,0.00006 -28-11-2019 6:00,7426135.122,0.198018527,0.198018527,0.00006 -28-11-2019 7:00,7425480.094,0.282849601,0.282849601,0.00006 -28-11-2019 8:00,7424825.783,0.368731147,0.368731147,0.00006 -28-11-2019 9:00,7424172.19,0.330646837,0.330646837,0.00006 -28-11-2019 10:00,7423519.315,0.347460091,0.347460091,0.00006 -28-11-2019 11:00,7422867.158,0.469308444,0.469308444,0.00006 -28-11-2019 12:00,7422215.72,0.420902368,0.420902368,0.00006 -28-11-2019 13:00,7421565.001,0.2933919,0.2933919,0.00006 -28-11-2019 14:00,7420915.002,0.347656466,0.347656466,0.00006 -28-11-2019 15:00,7420265.722,0.362687829,0.362687829,0.00006 -28-11-2019 16:00,7419617.163,0.340386639,0.340386639,0.00006 -28-11-2019 17:00,7418969.324,0.369289036,0.369289036,0.00006 -28-11-2019 18:00,7418322.206,0.354692498,0.354692498,0.00006 -28-11-2019 19:00,7417675.809,0.323360626,0.323360626,0.00006 -28-11-2019 20:00,7417030.133,0.266136933,0.266136933,0.00006 -28-11-2019 21:00,7416385.179,0.174083749,0.174083749,0.00006 -28-11-2019 22:00,7415740.947,0.081902475,0.081902475,0.00006 -28-11-2019 23:00,7415097.438,0.035653244,0.035653244,0.00006 -29-11-2019 0:00,7414454.651,0.014635789,0.014635789,0.00006 -29-11-2019 1:00,7413812.588,0.004536975,0.004536975,0.00006 -29-11-2019 2:00,7413171.248,0.002464863,0.002464863,0.00006 -29-11-2019 3:00,7412530.631,0.003800969,0.003800969,0.00006 -29-11-2019 4:00,7411890.739,0.018775021,0.018775021,0.00006 -29-11-2019 5:00,7411251.571,0.111705331,0.111705331,0.00006 -29-11-2019 6:00,7410613.128,0.250372801,0.250372801,0.00006 -29-11-2019 7:00,7409975.41,0.345014758,0.345014758,0.00006 -29-11-2019 8:00,7409338.417,0.414870903,0.414870903,0.00006 -29-11-2019 9:00,7408702.15,0.361890802,0.361890802,0.00006 -29-11-2019 10:00,7408066.61,0.347781982,0.347781982,0.00006 -29-11-2019 11:00,7407431.795,0.479578952,0.479578952,0.00006 -29-11-2019 12:00,7406797.707,0.448420071,0.448420071,0.00006 -29-11-2019 13:00,7406164.347,0.225850239,0.225850239,0.00006 -29-11-2019 14:00,7405531.713,0.323360965,0.323360965,0.00006 -29-11-2019 15:00,7404899.808,0.407322315,0.407322315,0.00006 -29-11-2019 16:00,7404268.63,0.383200094,0.383200094,0.00006 -29-11-2019 17:00,7403638.181,0.410351903,0.410351903,0.00006 -29-11-2019 18:00,7403008.46,0.411877345,0.411877345,0.00006 -29-11-2019 19:00,7402379.468,0.38541413,0.38541413,0.00006 -29-11-2019 20:00,7401751.206,0.321445036,0.321445036,0.00006 -29-11-2019 21:00,7401123.673,0.208603473,0.208603473,0.00006 -29-11-2019 22:00,7400496.871,0.101043979,0.101043979,0.00006 -29-11-2019 23:00,7399870.798,0.044450607,0.044450607,0.00006 -30-11-2019 0:00,7399245.456,0.018656163,0.018656163,0.00006 -30-11-2019 1:00,7398620.845,0.006389188,0.006389188,0.00006 -30-11-2019 2:00,7397996.966,0.00373474,0.00373474,0.00006 -30-11-2019 3:00,7397373.817,0.007743657,0.007743657,0.00006 -30-11-2019 4:00,7396751.401,0.037984693,0.037984693,0.00006 -30-11-2019 5:00,7396129.717,0.179875248,0.179875248,0.00006 -30-11-2019 6:00,7395508.766,0.372827204,0.372827204,0.00006 -30-11-2019 7:00,7394888.547,0.494168365,0.494168365,0.00006 -30-11-2019 8:00,7394269.061,0.565788433,0.565788433,0.00006 -30-11-2019 9:00,7393650.309,0.377059866,0.377059866,0.00006 -30-11-2019 10:00,7393032.291,0.319901858,0.319901858,0.00006 -30-11-2019 11:00,7392415.007,0.42337734,0.42337734,0.00006 -30-11-2019 12:00,7391798.457,0.380911566,0.380911566,0.00006 -30-11-2019 13:00,7391182.642,0.226023951,0.226023951,0.00006 -30-11-2019 14:00,7390567.562,0.365452167,0.365452167,0.00006 -30-11-2019 15:00,7389953.218,0.454322069,0.454322069,0.00006 -30-11-2019 16:00,7389339.609,0.452321179,0.452321179,0.00006 -30-11-2019 17:00,7388726.736,0.487946963,0.487946963,0.00006 -30-11-2019 18:00,7388114.6,0.47149935,0.47149935,0.00006 -30-11-2019 19:00,7387503.2,0.435165624,0.435165624,0.00006 -30-11-2019 20:00,7386892.537,0.360208718,0.360208718,0.00006 -30-11-2019 21:00,7386282.612,0.236938684,0.236938684,0.00006 -30-11-2019 22:00,7385673.424,0.113468439,0.113468439,0.00006 -30-11-2019 23:00,7385064.974,0.050062116,0.050062116,0.00006 -1-12-2019 0:00,7384457.262,0.021018337,0.021018337,1.00E-04 -1-12-2019 1:00,7383850.288,0.008241001,0.008241001,1.00E-04 -1-12-2019 2:00,7383244.054,0.00649728,0.00649728,1.00E-04 -1-12-2019 3:00,7382638.559,0.013482556,0.013482556,1.00E-04 -1-12-2019 4:00,7382033.803,0.053037563,0.053037563,1.00E-04 -1-12-2019 5:00,7381429.787,0.222555673,0.222555673,1.00E-04 -1-12-2019 6:00,7380826.511,0.453108358,0.453108358,1.00E-04 -1-12-2019 7:00,7380223.975,0.588908891,0.588908891,1.00E-04 -1-12-2019 8:00,7379622.18,0.69030671,0.69030671,1.00E-04 -1-12-2019 9:00,7379021.126,0.543068021,0.543068021,1.00E-04 -1-12-2019 10:00,7378420.814,0.509964492,0.509964492,1.00E-04 -1-12-2019 11:00,7377821.243,0.622464156,0.622464156,1.00E-04 -1-12-2019 12:00,7377222.414,0.55327786,0.55327786,1.00E-04 -1-12-2019 13:00,7376624.327,0.440876589,0.440876589,1.00E-04 -1-12-2019 14:00,7376026.983,0.489263395,0.489263395,1.00E-04 -1-12-2019 15:00,7375430.382,0.505356212,0.505356212,1.00E-04 -1-12-2019 16:00,7374834.523,0.493945018,0.493945018,1.00E-04 -1-12-2019 17:00,7374239.409,0.526836112,0.526836112,1.00E-04 -1-12-2019 18:00,7373645.038,0.498304558,0.498304558,1.00E-04 -1-12-2019 19:00,7373051.411,0.453295679,0.453295679,1.00E-04 -1-12-2019 20:00,7372458.529,0.374539294,0.374539294,1.00E-04 -1-12-2019 21:00,7371866.391,0.249675606,0.249675606,1.00E-04 -1-12-2019 22:00,7371274.998,0.119926627,0.119926627,1.00E-04 -1-12-2019 23:00,7370684.351,0.053949384,0.053949384,1.00E-04 -2-12-2019 0:00,7370094.449,0.022996336,0.022996336,1.00E-04 -2-12-2019 1:00,7369505.294,0.010378086,0.010378086,1.00E-04 -2-12-2019 2:00,7368916.884,0.009269002,0.009269002,1.00E-04 -2-12-2019 3:00,7368329.221,0.019349503,0.019349503,1.00E-04 -2-12-2019 4:00,7367742.305,0.066206469,0.066206469,1.00E-04 -2-12-2019 5:00,7367156.135,0.259238008,0.259238008,1.00E-04 -2-12-2019 6:00,7366570.714,0.506187616,0.506187616,1.00E-04 -2-12-2019 7:00,7365986.04,0.634539838,0.634539838,1.00E-04 -2-12-2019 8:00,7365402.114,0.723796295,0.723796295,1.00E-04 -2-12-2019 9:00,7364818.936,0.468753028,0.468753028,1.00E-04 -2-12-2019 10:00,7364236.507,0.387325842,0.387325842,1.00E-04 -2-12-2019 11:00,7363654.827,0.578021796,0.578021796,1.00E-04 -2-12-2019 12:00,7363073.897,0.519231872,0.519231872,1.00E-04 -2-12-2019 13:00,7362493.715,0.394203696,0.394203696,1.00E-04 -2-12-2019 14:00,7361914.284,0.470495757,0.470495757,1.00E-04 -2-12-2019 15:00,7361335.602,0.484236626,0.484236626,1.00E-04 -2-12-2019 16:00,7360757.672,0.460178111,0.460178111,1.00E-04 -2-12-2019 17:00,7360180.491,0.483882586,0.483882586,1.00E-04 -2-12-2019 18:00,7359604.062,0.465516361,0.465516361,1.00E-04 -2-12-2019 19:00,7359028.384,0.421218644,0.421218644,1.00E-04 -2-12-2019 20:00,7358453.458,0.346149055,0.346149055,1.00E-04 -2-12-2019 21:00,7357879.284,0.223787351,0.223787351,1.00E-04 -2-12-2019 22:00,7357305.862,0.105744159,0.105744159,1.00E-04 -2-12-2019 23:00,7356733.192,0.04540366,0.04540366,1.00E-04 -3-12-2019 0:00,7356161.275,0.019013437,0.019013437,1.00E-04 -3-12-2019 1:00,7355590.112,0.006816568,0.006816568,1.00E-04 -3-12-2019 2:00,7355019.701,0.004962245,0.004962245,1.00E-04 -3-12-2019 3:00,7354450.045,0.008794033,0.008794033,1.00E-04 -3-12-2019 4:00,7353881.142,0.043767738,0.043767738,1.00E-04 -3-12-2019 5:00,7353312.993,0.191862816,0.191862816,1.00E-04 -3-12-2019 6:00,7352745.599,0.414007038,0.414007038,1.00E-04 -3-12-2019 7:00,7352178.96,0.540376659,0.540376659,1.00E-04 -3-12-2019 8:00,7351613.076,0.616233542,0.616233542,1.00E-04 -3-12-2019 9:00,7351047.948,0.469421011,0.469421011,1.00E-04 -3-12-2019 10:00,7350483.575,0.367150277,0.367150277,1.00E-04 -3-12-2019 11:00,7349919.958,0.507242306,0.507242306,1.00E-04 -3-12-2019 12:00,7349357.098,0.427950163,0.427950163,1.00E-04 -3-12-2019 13:00,7348794.994,0.29199804,0.29199804,1.00E-04 -3-12-2019 14:00,7348233.647,0.446819126,0.446819126,1.00E-04 -3-12-2019 15:00,7347673.057,0.481488493,0.481488493,1.00E-04 -3-12-2019 16:00,7347113.225,0.460667124,0.460667124,1.00E-04 -3-12-2019 17:00,7346554.15,0.488656259,0.488656259,1.00E-04 -3-12-2019 18:00,7345995.833,0.470210572,0.470210572,1.00E-04 -3-12-2019 19:00,7345438.275,0.432621697,0.432621697,1.00E-04 -3-12-2019 20:00,7344881.475,0.358619964,0.358619964,1.00E-04 -3-12-2019 21:00,7344325.435,0.232957635,0.232957635,1.00E-04 -3-12-2019 22:00,7343770.153,0.113037552,0.113037552,1.00E-04 -3-12-2019 23:00,7343215.631,0.049166931,0.049166931,1.00E-04 -4-12-2019 0:00,7342661.868,0.021630806,0.021630806,1.00E-04 -4-12-2019 1:00,7342108.866,0.008555163,0.008555163,1.00E-04 -4-12-2019 2:00,7341556.624,0.006959087,0.006959087,1.00E-04 -4-12-2019 3:00,7341005.142,0.014433576,0.014433576,1.00E-04 -4-12-2019 4:00,7340454.422,0.055951958,0.055951958,1.00E-04 -4-12-2019 5:00,7339904.462,0.231131214,0.231131214,1.00E-04 -4-12-2019 6:00,7339355.264,0.468949733,0.468949733,1.00E-04 -4-12-2019 7:00,7338806.828,0.60974841,0.60974841,1.00E-04 -4-12-2019 8:00,7338259.154,0.689067957,0.689067957,1.00E-04 -4-12-2019 9:00,7337712.242,0.439434777,0.439434777,1.00E-04 -4-12-2019 10:00,7337166.092,0.381612335,0.381612335,1.00E-04 -4-12-2019 11:00,7336620.706,0.529114364,0.529114364,1.00E-04 -4-12-2019 12:00,7336076.083,0.416868617,0.416868617,1.00E-04 -4-12-2019 13:00,7335532.223,0.26935936,0.26935936,1.00E-04 -4-12-2019 14:00,7334989.126,0.441881194,0.441881194,1.00E-04 -4-12-2019 15:00,7334446.794,0.51327707,0.51327707,1.00E-04 -4-12-2019 16:00,7333905.226,0.49279605,0.49279605,1.00E-04 -4-12-2019 17:00,7333364.423,0.530574798,0.530574798,1.00E-04 -4-12-2019 18:00,7332824.384,0.515066208,0.515066208,1.00E-04 -4-12-2019 19:00,7332285.11,0.47506113,0.47506113,1.00E-04 -4-12-2019 20:00,7331746.602,0.394010712,0.394010712,1.00E-04 -4-12-2019 21:00,7331208.86,0.256595995,0.256595995,1.00E-04 -4-12-2019 22:00,7330671.883,0.122618873,0.122618873,1.00E-04 -4-12-2019 23:00,7330135.672,0.054890029,0.054890029,1.00E-04 -5-12-2019 0:00,7329600.229,0.023612378,0.023612378,1.00E-04 -5-12-2019 1:00,7329065.551,0.0111336,0.0111336,1.00E-04 -5-12-2019 2:00,7328531.641,0.010351122,0.010351122,1.00E-04 -5-12-2019 3:00,7327998.498,0.021364053,0.021364053,1.00E-04 -5-12-2019 4:00,7327466.123,0.070485215,0.070485215,1.00E-04 -5-12-2019 5:00,7326934.515,0.267840239,0.267840239,1.00E-04 -5-12-2019 6:00,7326403.676,0.52142113,0.52142113,1.00E-04 -5-12-2019 7:00,7325873.605,0.669654659,0.669654659,1.00E-04 -5-12-2019 8:00,7325344.303,0.78136912,0.78136912,1.00E-04 -5-12-2019 9:00,7324815.77,0.622518084,0.622518084,1.00E-04 -5-12-2019 10:00,7324288.005,0.592613633,0.592613633,1.00E-04 -5-12-2019 11:00,7323761.011,0.701134111,0.701134111,1.00E-04 -5-12-2019 12:00,7323234.786,0.624897684,0.624897684,1.00E-04 -5-12-2019 13:00,7322709.331,0.491166545,0.491166545,1.00E-04 -5-12-2019 14:00,7322184.646,0.529664316,0.529664316,1.00E-04 -5-12-2019 15:00,7321660.732,0.535292127,0.535292127,1.00E-04 -5-12-2019 16:00,7321137.589,0.501516057,0.501516057,1.00E-04 -5-12-2019 17:00,7320615.217,0.528320267,0.528320267,1.00E-04 -5-12-2019 18:00,7320093.617,0.507515417,0.507515417,1.00E-04 -5-12-2019 19:00,7319572.788,0.464142213,0.464142213,1.00E-04 -5-12-2019 20:00,7319052.73,0.385231647,0.385231647,1.00E-04 -5-12-2019 21:00,7318533.445,0.24822238,0.24822238,1.00E-04 -5-12-2019 22:00,7318014.933,0.116388228,0.116388228,1.00E-04 -5-12-2019 23:00,7317497.193,0.051270231,0.051270231,1.00E-04 -6-12-2019 0:00,7316980.226,0.021750029,0.021750029,1.00E-04 -6-12-2019 1:00,7316464.033,0.009347827,0.009347827,1.00E-04 -6-12-2019 2:00,7315948.613,0.008269546,0.008269546,1.00E-04 -6-12-2019 3:00,7315433.966,0.016221446,0.016221446,1.00E-04 -6-12-2019 4:00,7314920.094,0.057947041,0.057947041,1.00E-04 -6-12-2019 5:00,7314406.996,0.23088157,0.23088157,1.00E-04 -6-12-2019 6:00,7313894.673,0.462547677,0.462547677,1.00E-04 -6-12-2019 7:00,7313383.124,0.596086922,0.596086922,1.00E-04 -6-12-2019 8:00,7312872.351,0.702963583,0.702963583,1.00E-04 -6-12-2019 9:00,7312362.353,0.564871487,0.564871487,1.00E-04 -6-12-2019 10:00,7311853.13,0.528052184,0.528052184,1.00E-04 -6-12-2019 11:00,7311344.684,0.644394443,0.644394443,1.00E-04 -6-12-2019 12:00,7310837.013,0.564658514,0.564658514,1.00E-04 -6-12-2019 13:00,7310330.119,0.454242347,0.454242347,1.00E-04 -6-12-2019 14:00,7309824.002,0.491320777,0.491320777,1.00E-04 -6-12-2019 15:00,7309318.661,0.497048172,0.497048172,1.00E-04 -6-12-2019 16:00,7308814.098,0.463757221,0.463757221,1.00E-04 -6-12-2019 17:00,7308310.312,0.484148837,0.484148837,1.00E-04 -6-12-2019 18:00,7307807.304,0.46177506,0.46177506,1.00E-04 -6-12-2019 19:00,7307305.074,0.42022985,0.42022985,1.00E-04 -6-12-2019 20:00,7306803.622,0.337394559,0.337394559,1.00E-04 -6-12-2019 21:00,7306302.948,0.219910656,0.219910656,1.00E-04 -6-12-2019 22:00,7305803.054,0.1036087,0.1036087,1.00E-04 -6-12-2019 23:00,7305303.938,0.043999539,0.043999539,1.00E-04 -7-12-2019 0:00,7304805.601,0.018452361,0.018452361,1.00E-04 -7-12-2019 1:00,7304308.044,0.006475814,0.006475814,1.00E-04 -7-12-2019 2:00,7303811.267,0.004378849,0.004378849,1.00E-04 -7-12-2019 3:00,7303315.27,0.007055687,0.007055687,1.00E-04 -7-12-2019 4:00,7302820.053,0.037341225,0.037341225,1.00E-04 -7-12-2019 5:00,7302325.617,0.164632726,0.164632726,1.00E-04 -7-12-2019 6:00,7301831.961,0.350713021,0.350713021,1.00E-04 -7-12-2019 7:00,7301339.086,0.46484216,0.46484216,1.00E-04 -7-12-2019 8:00,7300846.993,0.563629293,0.563629293,1.00E-04 -7-12-2019 9:00,7300355.681,0.469201087,0.469201087,1.00E-04 -7-12-2019 10:00,7299865.151,0.453667891,0.453667891,1.00E-04 -7-12-2019 11:00,7299375.403,0.577139501,0.577139501,1.00E-04 -7-12-2019 12:00,7298886.438,0.510599242,0.510599242,1.00E-04 -7-12-2019 13:00,7298398.255,0.398367175,0.398367175,1.00E-04 -7-12-2019 14:00,7297910.854,0.438839962,0.438839962,1.00E-04 -7-12-2019 15:00,7297424.237,0.447793076,0.447793076,1.00E-04 -7-12-2019 16:00,7296938.403,0.418744392,0.418744392,1.00E-04 -7-12-2019 17:00,7296453.353,0.442287217,0.442287217,1.00E-04 -7-12-2019 18:00,7295969.086,0.422229869,0.422229869,1.00E-04 -7-12-2019 19:00,7295485.604,0.383997203,0.383997203,1.00E-04 -7-12-2019 20:00,7295002.906,0.316171563,0.316171563,1.00E-04 -7-12-2019 21:00,7294520.992,0.202403234,0.202403234,1.00E-04 -7-12-2019 22:00,7294039.863,0.094726137,0.094726137,1.00E-04 -7-12-2019 23:00,7293559.52,0.040261638,0.040261638,1.00E-04 -8-12-2019 0:00,7293079.961,0.016550575,0.016550575,1.00E-04 -8-12-2019 1:00,7292601.188,0.005598841,0.005598841,1.00E-04 -8-12-2019 2:00,7292123.201,0.003167975,0.003167975,1.00E-04 -8-12-2019 3:00,7291646,0.004845921,0.004845921,1.00E-04 -8-12-2019 4:00,7291169.585,0.026866534,0.026866534,1.00E-04 -8-12-2019 5:00,7290693.957,0.133905056,0.133905056,1.00E-04 -8-12-2019 6:00,7290219.115,0.291899454,0.291899454,1.00E-04 -8-12-2019 7:00,7289745.06,0.394735436,0.394735436,1.00E-04 -8-12-2019 8:00,7289271.793,0.491759502,0.491759502,1.00E-04 -8-12-2019 9:00,7288799.313,0.416033,0.416033,1.00E-04 -8-12-2019 10:00,7288327.621,0.396177129,0.396177129,1.00E-04 -8-12-2019 11:00,7287856.717,0.537201356,0.537201356,1.00E-04 -8-12-2019 12:00,7287386.601,0.462864285,0.462864285,1.00E-04 -8-12-2019 13:00,7286917.274,0.310237787,0.310237787,1.00E-04 -8-12-2019 14:00,7286448.735,0.391411386,0.391411386,1.00E-04 -8-12-2019 15:00,7285980.985,0.414240114,0.414240114,1.00E-04 -8-12-2019 16:00,7285514.025,0.388056291,0.388056291,1.00E-04 -8-12-2019 17:00,7285047.854,0.411298597,0.411298597,1.00E-04 -8-12-2019 18:00,7284582.472,0.394591444,0.394591444,1.00E-04 -8-12-2019 19:00,7284117.881,0.360732491,0.360732491,1.00E-04 -8-12-2019 20:00,7283654.079,0.299619806,0.299619806,1.00E-04 -8-12-2019 21:00,7283191.068,0.193394657,0.193394657,1.00E-04 -8-12-2019 22:00,7282728.848,0.092186871,0.092186871,1.00E-04 -8-12-2019 23:00,7282267.419,0.039993871,0.039993871,1.00E-04 -9-12-2019 0:00,7281806.78,0.016219979,0.016219979,1.00E-04 -9-12-2019 1:00,7281346.933,0.005365636,0.005365636,1.00E-04 -9-12-2019 2:00,7280887.878,0.002995424,0.002995424,1.00E-04 -9-12-2019 3:00,7280429.614,0.004530346,0.004530346,1.00E-04 -9-12-2019 4:00,7279972.142,0.025100002,0.025100002,1.00E-04 -9-12-2019 5:00,7279515.463,0.132026831,0.132026831,1.00E-04 -9-12-2019 6:00,7279059.576,0.290559533,0.290559533,1.00E-04 -9-12-2019 7:00,7278604.482,0.400261996,0.400261996,1.00E-04 -9-12-2019 8:00,7278150.181,0.480749613,0.480749613,1.00E-04 -9-12-2019 9:00,7277696.673,0.401650534,0.401650534,1.00E-04 -9-12-2019 10:00,7277243.959,0.402632726,0.402632726,1.00E-04 -9-12-2019 11:00,7276792.038,0.546914409,0.546914409,1.00E-04 -9-12-2019 12:00,7276340.911,0.487019918,0.487019918,1.00E-04 -9-12-2019 13:00,7275890.579,0.380190423,0.380190423,1.00E-04 -9-12-2019 14:00,7275441.04,0.421887063,0.421887063,1.00E-04 -9-12-2019 15:00,7274992.297,0.423779896,0.423779896,1.00E-04 -9-12-2019 16:00,7274544.348,0.397596544,0.397596544,1.00E-04 -9-12-2019 17:00,7274097.194,0.423709599,0.423709599,1.00E-04 -9-12-2019 18:00,7273650.836,0.407377238,0.407377238,1.00E-04 -9-12-2019 19:00,7273205.273,0.376491511,0.376491511,1.00E-04 -9-12-2019 20:00,7272760.506,0.314665371,0.314665371,1.00E-04 -9-12-2019 21:00,7272316.534,0.201033687,0.201033687,1.00E-04 -9-12-2019 22:00,7271873.359,0.096106426,0.096106426,1.00E-04 -9-12-2019 23:00,7271430.981,0.041215236,0.041215236,1.00E-04 -10-12-2019 0:00,7270989.399,0.017150613,0.017150613,1.00E-04 -10-12-2019 1:00,7270548.614,0.005918449,0.005918449,1.00E-04 -10-12-2019 2:00,7270108.627,0.003340378,0.003340378,1.00E-04 -10-12-2019 3:00,7269669.436,0.005582779,0.005582779,1.00E-04 -10-12-2019 4:00,7269231.043,0.030891016,0.030891016,1.00E-04 -10-12-2019 5:00,7268793.448,0.153980692,0.153980692,1.00E-04 -10-12-2019 6:00,7268356.651,0.33106977,0.33106977,1.00E-04 -10-12-2019 7:00,7267920.653,0.446321824,0.446321824,1.00E-04 -10-12-2019 8:00,7267485.452,0.550297561,0.550297561,1.00E-04 -10-12-2019 9:00,7267051.051,0.444359679,0.444359679,1.00E-04 -10-12-2019 10:00,7266617.448,0.449879869,0.449879869,1.00E-04 -10-12-2019 11:00,7266184.645,0.571076085,0.571076085,1.00E-04 -10-12-2019 12:00,7265752.641,0.510692188,0.510692188,1.00E-04 -10-12-2019 13:00,7265321.436,0.398810293,0.398810293,1.00E-04 -10-12-2019 14:00,7264891.031,0.436935151,0.436935151,1.00E-04 -10-12-2019 15:00,7264461.427,0.441981113,0.441981113,1.00E-04 -10-12-2019 16:00,7264032.623,0.4144567,0.4144567,1.00E-04 -10-12-2019 17:00,7263604.619,0.440673833,0.440673833,1.00E-04 -10-12-2019 18:00,7263177.415,0.420508431,0.420508431,1.00E-04 -10-12-2019 19:00,7262751.013,0.379775411,0.379775411,1.00E-04 -10-12-2019 20:00,7262325.412,0.310810199,0.310810199,1.00E-04 -10-12-2019 21:00,7261900.612,0.199496761,0.199496761,1.00E-04 -10-12-2019 22:00,7261476.614,0.094014025,0.094014025,1.00E-04 -10-12-2019 23:00,7261053.418,0.040079195,0.040079195,1.00E-04 -11-12-2019 0:00,7260631.023,0.01635365,0.01635365,1.00E-04 -11-12-2019 1:00,7260209.431,0.005636454,0.005636454,1.00E-04 -11-12-2019 2:00,7259788.642,0.003170718,0.003170718,1.00E-04 -11-12-2019 3:00,7259368.655,0.004941422,0.004941422,1.00E-04 -11-12-2019 4:00,7258949.471,0.027106067,0.027106067,1.00E-04 -11-12-2019 5:00,7258531.09,0.136710206,0.136710206,1.00E-04 -11-12-2019 6:00,7258113.512,0.296290511,0.296290511,1.00E-04 -11-12-2019 7:00,7257696.738,0.402312523,0.402312523,1.00E-04 -11-12-2019 8:00,7257280.767,0.502591327,0.502591327,1.00E-04 -11-12-2019 9:00,7256865.601,0.431850775,0.431850775,1.00E-04 -11-12-2019 10:00,7256451.238,0.430258889,0.430258889,1.00E-04 -11-12-2019 11:00,7256037.68,0.556559607,0.556559607,1.00E-04 -11-12-2019 12:00,7255624.927,0.498050453,0.498050453,1.00E-04 -11-12-2019 13:00,7255212.979,0.387323077,0.387323077,1.00E-04 -11-12-2019 14:00,7254801.835,0.430183634,0.430183634,1.00E-04 -11-12-2019 15:00,7254391.497,0.438396158,0.438396158,1.00E-04 -11-12-2019 16:00,7253981.964,0.411801631,0.411801631,1.00E-04 -11-12-2019 17:00,7253573.237,0.438182653,0.438182653,1.00E-04 -11-12-2019 18:00,7253165.315,0.423732533,0.423732533,1.00E-04 -11-12-2019 19:00,7252758.2,0.386277393,0.386277393,1.00E-04 -11-12-2019 20:00,7252351.891,0.315080471,0.315080471,1.00E-04 -11-12-2019 21:00,7251946.389,0.204627131,0.204627131,1.00E-04 -11-12-2019 22:00,7251541.693,0.096332545,0.096332545,1.00E-04 -11-12-2019 23:00,7251137.804,0.041801607,0.041801607,1.00E-04 -12-12-2019 0:00,7250734.722,0.017498644,0.017498644,1.00E-04 -12-12-2019 1:00,7250332.448,0.005980573,0.005980573,1.00E-04 -12-12-2019 2:00,7249930.981,0.003403663,0.003403663,1.00E-04 -12-12-2019 3:00,7249530.322,0.005833291,0.005833291,1.00E-04 -12-12-2019 4:00,7249130.471,0.031521946,0.031521946,1.00E-04 -12-12-2019 5:00,7248731.428,0.154288835,0.154288835,1.00E-04 -12-12-2019 6:00,7248333.193,0.331678949,0.331678949,1.00E-04 -12-12-2019 7:00,7247935.767,0.449025207,0.449025207,1.00E-04 -12-12-2019 8:00,7247539.149,0.541686198,0.541686198,1.00E-04 -12-12-2019 9:00,7247143.341,0.375376322,0.375376322,1.00E-04 -12-12-2019 10:00,7246748.342,0.348652204,0.348652204,1.00E-04 -12-12-2019 11:00,7246354.152,0.495897992,0.495897992,1.00E-04 -12-12-2019 12:00,7245960.772,0.404100917,0.404100917,1.00E-04 -12-12-2019 13:00,7245568.201,0.268895147,0.268895147,1.00E-04 -12-12-2019 14:00,7245176.441,0.429397855,0.429397855,1.00E-04 -12-12-2019 15:00,7244785.49,0.450066929,0.450066929,1.00E-04 -12-12-2019 16:00,7244395.35,0.429278612,0.429278612,1.00E-04 -12-12-2019 17:00,7244006.021,0.455077351,0.455077351,1.00E-04 -12-12-2019 18:00,7243617.502,0.43678383,0.43678383,1.00E-04 -12-12-2019 19:00,7243229.795,0.396436857,0.396436857,1.00E-04 -12-12-2019 20:00,7242842.898,0.325694351,0.325694351,1.00E-04 -12-12-2019 21:00,7242456.813,0.210868093,0.210868093,1.00E-04 -12-12-2019 22:00,7242071.54,0.100824016,0.100824016,1.00E-04 -12-12-2019 23:00,7241687.078,0.043718695,0.043718695,1.00E-04 -13-12-2019 0:00,7241303.429,0.018400109,0.018400109,1.00E-04 -13-12-2019 1:00,7240920.591,0.006325755,0.006325755,1.00E-04 -13-12-2019 2:00,7240538.566,0.003856543,0.003856543,1.00E-04 -13-12-2019 3:00,7240157.353,0.007031295,0.007031295,1.00E-04 -13-12-2019 4:00,7239776.953,0.036274485,0.036274485,1.00E-04 -13-12-2019 5:00,7239397.367,0.169564763,0.169564763,1.00E-04 -13-12-2019 6:00,7239018.593,0.359048103,0.359048103,1.00E-04 -13-12-2019 7:00,7238640.633,0.479836829,0.479836829,1.00E-04 -13-12-2019 8:00,7238263.486,0.590078668,0.590078668,1.00E-04 -13-12-2019 9:00,7237887.153,0.499174287,0.499174287,1.00E-04 -13-12-2019 10:00,7237511.634,0.481533161,0.481533161,1.00E-04 -13-12-2019 11:00,7237136.929,0.602224088,0.602224088,1.00E-04 -13-12-2019 12:00,7236763.038,0.540504801,0.540504801,1.00E-04 -13-12-2019 13:00,7236389.962,0.43190607,0.43190607,1.00E-04 -13-12-2019 14:00,7236017.7,0.463891333,0.463891333,1.00E-04 -13-12-2019 15:00,7235646.254,0.46105953,0.46105953,1.00E-04 -13-12-2019 16:00,7235275.622,0.426732641,0.426732641,1.00E-04 -13-12-2019 17:00,7234905.806,0.448278951,0.448278951,1.00E-04 -13-12-2019 18:00,7234536.805,0.428771166,0.428771166,1.00E-04 -13-12-2019 19:00,7234168.62,0.392686742,0.392686742,1.00E-04 -13-12-2019 20:00,7233801.251,0.320496046,0.320496046,1.00E-04 -13-12-2019 21:00,7233434.698,0.208794087,0.208794087,1.00E-04 -13-12-2019 22:00,7233068.961,0.099315981,0.099315981,1.00E-04 -13-12-2019 23:00,7232704.04,0.042967703,0.042967703,1.00E-04 -14-12-2019 0:00,7232339.936,0.018057672,0.018057672,1.00E-04 -14-12-2019 1:00,7231976.649,0.006195464,0.006195464,1.00E-04 -14-12-2019 2:00,7231614.179,0.003712556,0.003712556,1.00E-04 -14-12-2019 3:00,7231252.526,0.00652807,0.00652807,1.00E-04 -14-12-2019 4:00,7230891.69,0.034517533,0.034517533,1.00E-04 -14-12-2019 5:00,7230531.672,0.161790272,0.161790272,1.00E-04 -14-12-2019 6:00,7230172.472,0.342027206,0.342027206,1.00E-04 -14-12-2019 7:00,7229814.089,0.451634974,0.451634974,1.00E-04 -14-12-2019 8:00,7229456.525,0.553512216,0.553512216,1.00E-04 -14-12-2019 9:00,7229099.779,0.447584548,0.447584548,1.00E-04 -14-12-2019 10:00,7228743.851,0.404055499,0.404055499,1.00E-04 -14-12-2019 11:00,7228388.742,0.568042206,0.568042206,1.00E-04 -14-12-2019 12:00,7228034.452,0.510925245,0.510925245,1.00E-04 -14-12-2019 13:00,7227680.98,0.414879539,0.414879539,1.00E-04 -14-12-2019 14:00,7227328.328,0.441338769,0.441338769,1.00E-04 -14-12-2019 15:00,7226976.496,0.456884784,0.456884784,1.00E-04 -14-12-2019 16:00,7226625.482,0.42367515,0.42367515,1.00E-04 -14-12-2019 17:00,7226275.289,0.446140554,0.446140554,1.00E-04 -14-12-2019 18:00,7225925.915,0.431019159,0.431019159,1.00E-04 -14-12-2019 19:00,7225577.362,0.393855934,0.393855934,1.00E-04 -14-12-2019 20:00,7225229.629,0.327546638,0.327546638,1.00E-04 -14-12-2019 21:00,7224882.716,0.211674225,0.211674225,1.00E-04 -14-12-2019 22:00,7224536.624,0.100165065,0.100165065,1.00E-04 -14-12-2019 23:00,7224191.353,0.043430379,0.043430379,1.00E-04 -15-12-2019 0:00,7223846.902,0.017960845,0.017960845,1.00E-04 -15-12-2019 1:00,7223503.273,0.006028152,0.006028152,1.00E-04 -15-12-2019 2:00,7223160.465,0.003513882,0.003513882,1.00E-04 -15-12-2019 3:00,7222818.479,0.005991145,0.005991145,1.00E-04 -15-12-2019 4:00,7222477.314,0.031201344,0.031201344,1.00E-04 -15-12-2019 5:00,7222136.972,0.147969529,0.147969529,1.00E-04 -15-12-2019 6:00,7221797.451,0.313603994,0.313603994,1.00E-04 -15-12-2019 7:00,7221458.752,0.422049241,0.422049241,1.00E-04 -15-12-2019 8:00,7221120.876,0.507923638,0.507923638,1.00E-04 -15-12-2019 9:00,7220783.823,0.361907626,0.361907626,1.00E-04 -15-12-2019 10:00,7220447.592,0.391075977,0.391075977,1.00E-04 -15-12-2019 11:00,7220112.184,0.545194295,0.545194295,1.00E-04 -15-12-2019 12:00,7219777.599,0.497625212,0.497625212,1.00E-04 -15-12-2019 13:00,7219443.837,0.386942741,0.386942741,1.00E-04 -15-12-2019 14:00,7219110.899,0.428415874,0.428415874,1.00E-04 -15-12-2019 15:00,7218778.785,0.433199674,0.433199674,1.00E-04 -15-12-2019 16:00,7218447.494,0.408537813,0.408537813,1.00E-04 -15-12-2019 17:00,7218117.027,0.436608213,0.436608213,1.00E-04 -15-12-2019 18:00,7217787.384,0.419140083,0.419140083,1.00E-04 -15-12-2019 19:00,7217458.566,0.381594288,0.381594288,1.00E-04 -15-12-2019 20:00,7217130.571,0.315579543,0.315579543,1.00E-04 -15-12-2019 21:00,7216803.402,0.203779583,0.203779583,1.00E-04 -15-12-2019 22:00,7216477.057,0.097006961,0.097006961,1.00E-04 -15-12-2019 23:00,7216151.538,0.041844616,0.041844616,1.00E-04 -16-12-2019 0:00,7215826.843,0.017740222,0.017740222,1.00E-04 -16-12-2019 1:00,7215502.974,0.006056287,0.006056287,1.00E-04 -16-12-2019 2:00,7215179.93,0.003454752,0.003454752,1.00E-04 -16-12-2019 3:00,7214857.711,0.005956416,0.005956416,1.00E-04 -16-12-2019 4:00,7214536.319,0.03162706,0.03162706,1.00E-04 -16-12-2019 5:00,7214215.752,0.151457945,0.151457945,1.00E-04 -16-12-2019 6:00,7213896.012,0.319422748,0.319422748,1.00E-04 -16-12-2019 7:00,7213577.098,0.423146737,0.423146737,1.00E-04 -16-12-2019 8:00,7213259.01,0.520027443,0.520027443,1.00E-04 -16-12-2019 9:00,7212941.749,0.441292741,0.441292741,1.00E-04 -16-12-2019 10:00,7212625.315,0.432098688,0.432098688,1.00E-04 -16-12-2019 11:00,7212309.707,0.555028046,0.555028046,1.00E-04 -16-12-2019 12:00,7211994.927,0.497496788,0.497496788,1.00E-04 -16-12-2019 13:00,7211680.974,0.389425398,0.389425398,1.00E-04 -16-12-2019 14:00,7211367.848,0.423154681,0.423154681,1.00E-04 -16-12-2019 15:00,7211055.55,0.430953756,0.430953756,1.00E-04 -16-12-2019 16:00,7210744.08,0.400115439,0.400115439,1.00E-04 -16-12-2019 17:00,7210433.437,0.424538267,0.424538267,1.00E-04 -16-12-2019 18:00,7210123.623,0.407241672,0.407241672,1.00E-04 -16-12-2019 19:00,7209814.637,0.371015887,0.371015887,1.00E-04 -16-12-2019 20:00,7209506.479,0.304417159,0.304417159,1.00E-04 -16-12-2019 21:00,7209199.15,0.196321703,0.196321703,1.00E-04 -16-12-2019 22:00,7208892.649,0.092839828,0.092839828,1.00E-04 -16-12-2019 23:00,7208586.977,0.040432696,0.040432696,1.00E-04 -17-12-2019 0:00,7208282.135,0.016675144,0.016675144,1.00E-04 -17-12-2019 1:00,7207978.121,0.005760079,0.005760079,1.00E-04 -17-12-2019 2:00,7207674.937,0.003167476,0.003167476,1.00E-04 -17-12-2019 3:00,7207372.582,0.004834923,0.004834923,1.00E-04 -17-12-2019 4:00,7207071.057,0.026185081,0.026185081,1.00E-04 -17-12-2019 5:00,7206770.362,0.132116692,0.132116692,1.00E-04 -17-12-2019 6:00,7206470.496,0.282944221,0.282944221,1.00E-04 -17-12-2019 7:00,7206171.461,0.372861306,0.372861306,1.00E-04 -17-12-2019 8:00,7205873.256,0.458137207,0.458137207,1.00E-04 -17-12-2019 9:00,7205575.881,0.390776365,0.390776365,1.00E-04 -17-12-2019 10:00,7205279.337,0.385254885,0.385254885,1.00E-04 -17-12-2019 11:00,7204983.624,0.502746521,0.502746521,1.00E-04 -17-12-2019 12:00,7204688.741,0.412387564,0.412387564,1.00E-04 -17-12-2019 13:00,7204394.69,0.324947901,0.324947901,1.00E-04 -17-12-2019 14:00,7204101.469,0.357004662,0.357004662,1.00E-04 -17-12-2019 15:00,7203809.08,0.365877028,0.365877028,1.00E-04 -17-12-2019 16:00,7203517.523,0.337310454,0.337310454,1.00E-04 -17-12-2019 17:00,7203226.797,0.375510114,0.375510114,1.00E-04 -17-12-2019 18:00,7202936.903,0.36601843,0.36601843,1.00E-04 -17-12-2019 19:00,7202647.84,0.336349632,0.336349632,1.00E-04 -17-12-2019 20:00,7202359.61,0.286225794,0.286225794,1.00E-04 -17-12-2019 21:00,7202072.212,0.186079988,0.186079988,1.00E-04 -17-12-2019 22:00,7201785.647,0.088435032,0.088435032,1.00E-04 -17-12-2019 23:00,7201499.914,0.03794842,0.03794842,1.00E-04 -18-12-2019 0:00,7201215.013,0.015254182,0.015254182,1.00E-04 -18-12-2019 1:00,7200930.945,0.004917561,0.004917561,1.00E-04 -18-12-2019 2:00,7200647.711,0.002686304,0.002686304,1.00E-04 -18-12-2019 3:00,7200365.309,0.003936895,0.003936895,1.00E-04 -18-12-2019 4:00,7200083.741,0.020614895,0.020614895,1.00E-04 -18-12-2019 5:00,7199803.006,0.115199469,0.115199469,1.00E-04 -18-12-2019 6:00,7199523.104,0.256276829,0.256276829,1.00E-04 -18-12-2019 7:00,7199244.036,0.352126465,0.352126465,1.00E-04 -18-12-2019 8:00,7198965.802,0.438929469,0.438929469,1.00E-04 -18-12-2019 9:00,7198688.402,0.396724519,0.396724519,1.00E-04 -18-12-2019 10:00,7198411.836,0.385887243,0.385887243,1.00E-04 -18-12-2019 11:00,7198136.105,0.51138121,0.51138121,1.00E-04 -18-12-2019 12:00,7197861.207,0.453469561,0.453469561,1.00E-04 -18-12-2019 13:00,7197587.144,0.354615228,0.354615228,1.00E-04 -18-12-2019 14:00,7197313.916,0.400223148,0.400223148,1.00E-04 -18-12-2019 15:00,7197041.523,0.410013252,0.410013252,1.00E-04 -18-12-2019 16:00,7196769.965,0.389389735,0.389389735,1.00E-04 -18-12-2019 17:00,7196499.241,0.414064891,0.414064891,1.00E-04 -18-12-2019 18:00,7196229.353,0.392458074,0.392458074,1.00E-04 -18-12-2019 19:00,7195960.301,0.3548289,0.3548289,1.00E-04 -18-12-2019 20:00,7195692.083,0.29120409,0.29120409,1.00E-04 -18-12-2019 21:00,7195424.702,0.188390534,0.188390534,1.00E-04 -18-12-2019 22:00,7195158.156,0.08940683,0.08940683,1.00E-04 -18-12-2019 23:00,7194892.446,0.038467253,0.038467253,1.00E-04 -19-12-2019 0:00,7194627.572,0.015193093,0.015193093,1.00E-04 -19-12-2019 1:00,7194363.535,0.004863458,0.004863458,1.00E-04 -19-12-2019 2:00,7194100.334,0.002668451,0.002668451,1.00E-04 -19-12-2019 3:00,7193837.969,0.003886763,0.003886763,1.00E-04 -19-12-2019 4:00,7193576.44,0.020057057,0.020057057,1.00E-04 -19-12-2019 5:00,7193315.749,0.109833579,0.109833579,1.00E-04 -19-12-2019 6:00,7193055.894,0.243006438,0.243006438,1.00E-04 -19-12-2019 7:00,7192796.877,0.331930992,0.331930992,1.00E-04 -19-12-2019 8:00,7192538.696,0.419331421,0.419331421,1.00E-04 -19-12-2019 9:00,7192281.353,0.366575985,0.366575985,1.00E-04 -19-12-2019 10:00,7192024.847,0.366527909,0.366527909,1.00E-04 -19-12-2019 11:00,7191769.179,0.483211778,0.483211778,1.00E-04 -19-12-2019 12:00,7191514.348,0.431687614,0.431687614,1.00E-04 -19-12-2019 13:00,7191260.355,0.31605282,0.31605282,1.00E-04 -19-12-2019 14:00,7191007.2,0.351133522,0.351133522,1.00E-04 -19-12-2019 15:00,7190754.883,0.355103716,0.355103716,1.00E-04 -19-12-2019 16:00,7190503.405,0.332391603,0.332391603,1.00E-04 -19-12-2019 17:00,7190252.764,0.357735728,0.357735728,1.00E-04 -19-12-2019 18:00,7190002.962,0.339351322,0.339351322,1.00E-04 -19-12-2019 19:00,7189753.999,0.305156175,0.305156175,1.00E-04 -19-12-2019 20:00,7189505.874,0.249553902,0.249553902,1.00E-04 -19-12-2019 21:00,7189258.588,0.163322296,0.163322296,1.00E-04 -19-12-2019 22:00,7189012.141,0.077782832,0.077782832,1.00E-04 -19-12-2019 23:00,7188766.533,0.033120808,0.033120808,1.00E-04 -20-12-2019 0:00,7188521.765,0.013299217,0.013299217,1.00E-04 -20-12-2019 1:00,7188277.835,0.003547624,0.003547624,1.00E-04 -20-12-2019 2:00,7188034.746,0.001842969,0.001842969,1.00E-04 -20-12-2019 3:00,7187792.495,0.002906791,0.002906791,1.00E-04 -20-12-2019 4:00,7187551.085,0.012103534,0.012103534,1.00E-04 -20-12-2019 5:00,7187310.514,0.076004411,0.076004411,1.00E-04 -20-12-2019 6:00,7187070.783,0.173015698,0.173015698,1.00E-04 -20-12-2019 7:00,7186831.892,0.247118007,0.247118007,1.00E-04 -20-12-2019 8:00,7186593.842,0.334365405,0.334365405,1.00E-04 -20-12-2019 9:00,7186356.632,0.316922351,0.316922351,1.00E-04 -20-12-2019 10:00,7186120.262,0.337991643,0.337991643,1.00E-04 -20-12-2019 11:00,7185884.733,0.452784359,0.452784359,1.00E-04 -20-12-2019 12:00,7185650.044,0.414571964,0.414571964,1.00E-04 -20-12-2019 13:00,7185416.197,0.289472449,0.289472449,1.00E-04 -20-12-2019 14:00,7185183.19,0.333261316,0.333261316,1.00E-04 -20-12-2019 15:00,7184951.024,0.343549188,0.343549188,1.00E-04 -20-12-2019 16:00,7184719.699,0.32133405,0.32133405,1.00E-04 -20-12-2019 17:00,7184489.216,0.346741702,0.346741702,1.00E-04 -20-12-2019 18:00,7184259.574,0.335552856,0.335552856,1.00E-04 -20-12-2019 19:00,7184030.774,0.307621069,0.307621069,1.00E-04 -20-12-2019 20:00,7183802.815,0.254094674,0.254094674,1.00E-04 -20-12-2019 21:00,7183575.698,0.164611164,0.164611164,1.00E-04 -20-12-2019 22:00,7183349.423,0.077729425,0.077729425,1.00E-04 -20-12-2019 23:00,7183123.99,0.033776544,0.033776544,1.00E-04 -21-12-2019 0:00,7182899.399,0.013659065,0.013659065,1.00E-04 -21-12-2019 1:00,7182675.651,0.003755589,0.003755589,1.00E-04 -21-12-2019 2:00,7182452.744,0.001898733,0.001898733,1.00E-04 -21-12-2019 3:00,7182230.68,0.00302565,0.00302565,1.00E-04 -21-12-2019 4:00,7182009.459,0.012999278,0.012999278,1.00E-04 -21-12-2019 5:00,7181789.08,0.085432143,0.085432143,1.00E-04 -21-12-2019 6:00,7181569.544,0.200373983,0.200373983,1.00E-04 -21-12-2019 7:00,7181350.851,0.288232582,0.288232582,1.00E-04 -21-12-2019 8:00,7181133.001,0.378392308,0.378392308,1.00E-04 -21-12-2019 9:00,7180915.994,0.344821789,0.344821789,1.00E-04 -21-12-2019 10:00,7180699.831,0.362629536,0.362629536,1.00E-04 -21-12-2019 11:00,7180484.51,0.489147437,0.489147437,1.00E-04 -21-12-2019 12:00,7180270.034,0.440493627,0.440493627,1.00E-04 -21-12-2019 13:00,7180056.4,0.321189475,0.321189475,1.00E-04 -21-12-2019 14:00,7179843.611,0.365341631,0.365341631,1.00E-04 -21-12-2019 15:00,7179631.665,0.366793338,0.366793338,1.00E-04 -21-12-2019 16:00,7179420.563,0.344074269,0.344074269,1.00E-04 -21-12-2019 17:00,7179210.305,0.370780499,0.370780499,1.00E-04 -21-12-2019 18:00,7179000.892,0.353950305,0.353950305,1.00E-04 -21-12-2019 19:00,7178792.322,0.325670368,0.325670368,1.00E-04 -21-12-2019 20:00,7178584.597,0.26698927,0.26698927,1.00E-04 -21-12-2019 21:00,7178377.716,0.173916316,0.173916316,1.00E-04 -21-12-2019 22:00,7178171.68,0.082143255,0.082143255,1.00E-04 -21-12-2019 23:00,7177966.489,0.035119865,0.035119865,1.00E-04 -22-12-2019 0:00,7177762.142,0.014273874,0.014273874,1.00E-04 -22-12-2019 1:00,7177558.64,0.004120409,0.004120409,1.00E-04 -22-12-2019 2:00,7177355.983,0.002213344,0.002213344,1.00E-04 -22-12-2019 3:00,7177154.171,0.003319951,0.003319951,1.00E-04 -22-12-2019 4:00,7176953.205,0.015032137,0.015032137,1.00E-04 -22-12-2019 5:00,7176753.083,0.092059292,0.092059292,1.00E-04 -22-12-2019 6:00,7176553.807,0.209467954,0.209467954,1.00E-04 -22-12-2019 7:00,7176355.377,0.293439582,0.293439582,1.00E-04 -22-12-2019 8:00,7176157.792,0.383686052,0.383686052,1.00E-04 -22-12-2019 9:00,7175961.053,0.347894887,0.347894887,1.00E-04 -22-12-2019 10:00,7175765.159,0.364397243,0.364397243,1.00E-04 -22-12-2019 11:00,7175570.112,0.491959606,0.491959606,1.00E-04 -22-12-2019 12:00,7175375.91,0.441408262,0.441408262,1.00E-04 -22-12-2019 13:00,7175182.555,0.322236979,0.322236979,1.00E-04 -22-12-2019 14:00,7174990.046,0.363553661,0.363553661,1.00E-04 -22-12-2019 15:00,7174798.383,0.368446968,0.368446968,1.00E-04 -22-12-2019 16:00,7174607.566,0.347324589,0.347324589,1.00E-04 -22-12-2019 17:00,7174417.596,0.370379492,0.370379492,1.00E-04 -22-12-2019 18:00,7174228.473,0.354742631,0.354742631,1.00E-04 -22-12-2019 19:00,7174040.196,0.323097539,0.323097539,1.00E-04 -22-12-2019 20:00,7173852.766,0.266217307,0.266217307,1.00E-04 -22-12-2019 21:00,7173666.183,0.173992983,0.173992983,1.00E-04 -22-12-2019 22:00,7173480.446,0.082137336,0.082137336,1.00E-04 -22-12-2019 23:00,7173295.557,0.0353174,0.0353174,1.00E-04 -23-12-2019 0:00,7173111.515,0.013996838,0.013996838,1.00E-04 -23-12-2019 1:00,7172928.321,0.00405091,0.00405091,1.00E-04 -23-12-2019 2:00,7172745.973,0.002184249,0.002184249,1.00E-04 -23-12-2019 3:00,7172564.473,0.003275457,0.003275457,1.00E-04 -23-12-2019 4:00,7172383.821,0.014710041,0.014710041,1.00E-04 -23-12-2019 5:00,7172204.016,0.089943353,0.089943353,1.00E-04 -23-12-2019 6:00,7172025.059,0.205575737,0.205575737,1.00E-04 -23-12-2019 7:00,7171846.95,0.292735668,0.292735668,1.00E-04 -23-12-2019 8:00,7171669.689,0.383127515,0.383127515,1.00E-04 -23-12-2019 9:00,7171493.276,0.348410564,0.348410564,1.00E-04 -23-12-2019 10:00,7171317.71,0.366643217,0.366643217,1.00E-04 -23-12-2019 11:00,7171142.993,0.491971107,0.491971107,1.00E-04 -23-12-2019 12:00,7170969.125,0.443821728,0.443821728,1.00E-04 -23-12-2019 13:00,7170796.104,0.306976468,0.306976468,1.00E-04 -23-12-2019 14:00,7170623.932,0.353154686,0.353154686,1.00E-04 -23-12-2019 15:00,7170452.609,0.370801841,0.370801841,1.00E-04 -23-12-2019 16:00,7170282.134,0.343602891,0.343602891,1.00E-04 -23-12-2019 17:00,7170112.508,0.372859954,0.372859954,1.00E-04 -23-12-2019 18:00,7169943.731,0.361304371,0.361304371,1.00E-04 -23-12-2019 19:00,7169775.803,0.32683169,0.32683169,1.00E-04 -23-12-2019 20:00,7169608.723,0.268910006,0.268910006,1.00E-04 -23-12-2019 21:00,7169442.493,0.173707094,0.173707094,1.00E-04 -23-12-2019 22:00,7169277.112,0.083318302,0.083318302,1.00E-04 -23-12-2019 23:00,7169112.58,0.036114679,0.036114679,1.00E-04 -24-12-2019 0:00,7168948.897,0.014558416,0.014558416,1.00E-04 -24-12-2019 1:00,7168786.064,0.004345287,0.004345287,1.00E-04 -24-12-2019 2:00,7168624.08,0.002324689,0.002324689,1.00E-04 -24-12-2019 3:00,7168462.946,0.003479072,0.003479072,1.00E-04 -24-12-2019 4:00,7168302.661,0.016301515,0.016301515,1.00E-04 -24-12-2019 5:00,7168143.227,0.097230617,0.097230617,1.00E-04 -24-12-2019 6:00,7167984.642,0.221683079,0.221683079,1.00E-04 -24-12-2019 7:00,7167826.907,0.312229781,0.312229781,1.00E-04 -24-12-2019 8:00,7167670.021,0.408020925,0.408020925,1.00E-04 -24-12-2019 9:00,7167513.986,0.363444015,0.363444015,1.00E-04 -24-12-2019 10:00,7167358.802,0.371108633,0.371108633,1.00E-04 -24-12-2019 11:00,7167204.467,0.493039137,0.493039137,1.00E-04 -24-12-2019 12:00,7167050.982,0.438107758,0.438107758,1.00E-04 -24-12-2019 13:00,7166898.348,0.323826819,0.323826819,1.00E-04 -24-12-2019 14:00,7166746.565,0.362496584,0.362496584,1.00E-04 -24-12-2019 15:00,7166595.632,0.366634383,0.366634383,1.00E-04 -24-12-2019 16:00,7166445.549,0.339758959,0.339758959,1.00E-04 -24-12-2019 17:00,7166296.318,0.362326382,0.362326382,1.00E-04 -24-12-2019 18:00,7166147.937,0.34719899,0.34719899,1.00E-04 -24-12-2019 19:00,7166000.407,0.314451118,0.314451118,1.00E-04 -24-12-2019 20:00,7165853.727,0.25913007,0.25913007,1.00E-04 -24-12-2019 21:00,7165707.899,0.168065659,0.168065659,1.00E-04 -24-12-2019 22:00,7165562.922,0.079133215,0.079133215,1.00E-04 -24-12-2019 23:00,7165418.796,0.033755076,0.033755076,1.00E-04 -25-12-2019 0:00,7165275.521,0.013695689,0.013695689,1.00E-04 -25-12-2019 1:00,7165133.098,0.003830879,0.003830879,1.00E-04 -25-12-2019 2:00,7164991.525,0.002007032,0.002007032,1.00E-04 -25-12-2019 3:00,7164850.805,0.003121968,0.003121968,1.00E-04 -25-12-2019 4:00,7164710.936,0.01362886,0.01362886,1.00E-04 -25-12-2019 5:00,7164571.918,0.085134592,0.085134592,1.00E-04 -25-12-2019 6:00,7164433.752,0.197536224,0.197536224,1.00E-04 -25-12-2019 7:00,7164296.438,0.283164228,0.283164228,1.00E-04 -25-12-2019 8:00,7164159.975,0.373826193,0.373826193,1.00E-04 -25-12-2019 9:00,7164024.365,0.302173552,0.302173552,1.00E-04 -25-12-2019 10:00,7163889.606,0.295202402,0.295202402,1.00E-04 -25-12-2019 11:00,7163755.699,0.399518171,0.399518171,1.00E-04 -25-12-2019 12:00,7163622.645,0.403783615,0.403783615,1.00E-04 -25-12-2019 13:00,7163490.442,0.308496007,0.308496007,1.00E-04 -25-12-2019 14:00,7163359.092,0.358705931,0.358705931,1.00E-04 -25-12-2019 15:00,7163228.594,0.369012741,0.369012741,1.00E-04 -25-12-2019 16:00,7163098.948,0.349591566,0.349591566,1.00E-04 -25-12-2019 17:00,7162970.155,0.375577193,0.375577193,1.00E-04 -25-12-2019 18:00,7162842.214,0.36065926,0.36065926,1.00E-04 -25-12-2019 19:00,7162715.126,0.327527544,0.327527544,1.00E-04 -25-12-2019 20:00,7162588.891,0.269564441,0.269564441,1.00E-04 -25-12-2019 21:00,7162463.508,0.175237714,0.175237714,1.00E-04 -25-12-2019 22:00,7162338.978,0.084106028,0.084106028,1.00E-04 -25-12-2019 23:00,7162215.3,0.035795801,0.035795801,1.00E-04 -26-12-2019 0:00,7162092.476,0.014320515,0.014320515,1.00E-04 -26-12-2019 1:00,7161970.504,0.004311432,0.004311432,1.00E-04 -26-12-2019 2:00,7161849.385,0.002332765,0.002332765,1.00E-04 -26-12-2019 3:00,7161729.12,0.003518724,0.003518724,1.00E-04 -26-12-2019 4:00,7161609.707,0.016658364,0.016658364,1.00E-04 -26-12-2019 5:00,7161491.148,0.100791206,0.100791206,1.00E-04 -26-12-2019 6:00,7161373.442,0.229135037,0.229135037,1.00E-04 -26-12-2019 7:00,7161256.589,0.322609961,0.322609961,1.00E-04 -26-12-2019 8:00,7161140.59,0.41946668,0.41946668,1.00E-04 -26-12-2019 9:00,7161025.444,0.374933617,0.374933617,1.00E-04 -26-12-2019 10:00,7160911.152,0.393222869,0.393222869,1.00E-04 -26-12-2019 11:00,7160797.713,0.52200598,0.52200598,1.00E-04 -26-12-2019 12:00,7160685.127,0.469428136,0.469428136,1.00E-04 -26-12-2019 13:00,7160573.396,0.353335222,0.353335222,1.00E-04 -26-12-2019 14:00,7160462.518,0.396171003,0.396171003,1.00E-04 -26-12-2019 15:00,7160352.493,0.400399673,0.400399673,1.00E-04 -26-12-2019 16:00,7160243.323,0.374707794,0.374707794,1.00E-04 -26-12-2019 17:00,7160135.006,0.400290169,0.400290169,1.00E-04 -26-12-2019 18:00,7160027.544,0.386250799,0.386250799,1.00E-04 -26-12-2019 19:00,7159920.935,0.350898047,0.350898047,1.00E-04 -26-12-2019 20:00,7159815.181,0.288425989,0.288425989,1.00E-04 -26-12-2019 21:00,7159710.28,0.188045741,0.188045741,1.00E-04 -26-12-2019 22:00,7159606.234,0.089157297,0.089157297,1.00E-04 -26-12-2019 23:00,7159503.042,0.038324486,0.038324486,1.00E-04 -27-12-2019 0:00,7159400.704,0.015428298,0.015428298,1.00E-04 -27-12-2019 1:00,7159299.22,0.004955978,0.004955978,1.00E-04 -27-12-2019 2:00,7159198.591,0.002780288,0.002780288,1.00E-04 -27-12-2019 3:00,7159098.816,0.004110914,0.004110914,1.00E-04 -27-12-2019 4:00,7158999.896,0.021449374,0.021449374,1.00E-04 -27-12-2019 5:00,7158901.83,0.120585963,0.120585963,1.00E-04 -27-12-2019 6:00,7158804.619,0.27216288,0.27216288,1.00E-04 -27-12-2019 7:00,7158708.263,0.382143288,0.382143288,1.00E-04 -27-12-2019 8:00,7158612.761,0.476235609,0.476235609,1.00E-04 -27-12-2019 9:00,7158518.114,0.344244598,0.344244598,1.00E-04 -27-12-2019 10:00,7158424.321,0.317842074,0.317842074,1.00E-04 -27-12-2019 11:00,7158331.383,0.434492643,0.434492643,1.00E-04 -27-12-2019 12:00,7158239.301,0.359261157,0.359261157,1.00E-04 -27-12-2019 13:00,7158148.073,0.222904644,0.222904644,1.00E-04 -27-12-2019 14:00,7158057.7,0.378500988,0.378500988,1.00E-04 -27-12-2019 15:00,7157968.182,0.422323517,0.422323517,1.00E-04 -27-12-2019 16:00,7157879.519,0.412015925,0.412015925,1.00E-04 -27-12-2019 17:00,7157791.711,0.450822048,0.450822048,1.00E-04 -27-12-2019 18:00,7157704.759,0.436726153,0.436726153,1.00E-04 -27-12-2019 19:00,7157618.661,0.400981875,0.400981875,1.00E-04 -27-12-2019 20:00,7157533.419,0.330808118,0.330808118,1.00E-04 -27-12-2019 21:00,7157449.032,0.216615725,0.216615725,1.00E-04 -27-12-2019 22:00,7157365.501,0.106020611,0.106020611,1.00E-04 -27-12-2019 23:00,7157282.824,0.045366487,0.045366487,1.00E-04 -28-12-2019 0:00,7157201.004,0.019210682,0.019210682,1.00E-04 -28-12-2019 1:00,7157120.038,0.006894797,0.006894797,1.00E-04 -28-12-2019 2:00,7157039.928,0.004676425,0.004676425,1.00E-04 -28-12-2019 3:00,7156960.674,0.009769604,0.009769604,1.00E-04 -28-12-2019 4:00,7156882.275,0.043900242,0.043900242,1.00E-04 -28-12-2019 5:00,7156804.732,0.198635211,0.198635211,1.00E-04 -28-12-2019 6:00,7156728.044,0.41303445,0.41303445,1.00E-04 -28-12-2019 7:00,7156652.212,0.551363446,0.551363446,1.00E-04 -28-12-2019 8:00,7156577.236,0.663753547,0.663753547,1.00E-04 -28-12-2019 9:00,7156503.116,0.545383288,0.545383288,1.00E-04 -28-12-2019 10:00,7156429.851,0.512666436,0.512666436,1.00E-04 -28-12-2019 11:00,7156357.443,0.623108956,0.623108956,1.00E-04 -28-12-2019 12:00,7156285.89,0.556345954,0.556345954,1.00E-04 -28-12-2019 13:00,7156215.193,0.452171243,0.452171243,1.00E-04 -28-12-2019 14:00,7156145.352,0.485649072,0.485649072,1.00E-04 -28-12-2019 15:00,7156076.367,0.497762908,0.497762908,1.00E-04 -28-12-2019 16:00,7156008.238,0.46971978,0.46971978,1.00E-04 -28-12-2019 17:00,7155940.965,0.498266189,0.498266189,1.00E-04 -28-12-2019 18:00,7155874.548,0.479376032,0.479376032,1.00E-04 -28-12-2019 19:00,7155808.987,0.439123691,0.439123691,1.00E-04 -28-12-2019 20:00,7155744.283,0.36555627,0.36555627,1.00E-04 -28-12-2019 21:00,7155680.434,0.237518151,0.237518151,1.00E-04 -28-12-2019 22:00,7155617.442,0.113775473,0.113775473,1.00E-04 -28-12-2019 23:00,7155555.306,0.050457323,0.050457323,1.00E-04 -29-12-2019 0:00,7155494.027,0.021548196,0.021548196,1.00E-04 -29-12-2019 1:00,7155433.603,0.008707307,0.008707307,1.00E-04 -29-12-2019 2:00,7155374.036,0.007320099,0.007320099,1.00E-04 -29-12-2019 3:00,7155315.326,0.015277189,0.015277189,1.00E-04 -29-12-2019 4:00,7155257.472,0.057103705,0.057103705,1.00E-04 -29-12-2019 5:00,7155200.474,0.233764623,0.233764623,1.00E-04 -29-12-2019 6:00,7155144.333,0.473169251,0.473169251,1.00E-04 -29-12-2019 7:00,7155089.048,0.613277739,0.613277739,1.00E-04 -29-12-2019 8:00,7155034.62,0.725765378,0.725765378,1.00E-04 -29-12-2019 9:00,7154981.048,0.594168931,0.594168931,1.00E-04 -29-12-2019 10:00,7154928.333,0.550342319,0.550342319,1.00E-04 -29-12-2019 11:00,7154876.475,0.659336185,0.659336185,1.00E-04 -29-12-2019 12:00,7154825.473,0.585044095,0.585044095,1.00E-04 -29-12-2019 13:00,7154775.328,0.481229758,0.481229758,1.00E-04 -29-12-2019 14:00,7154726.039,0.51084289,0.51084289,1.00E-04 -29-12-2019 15:00,7154677.608,0.518298553,0.518298553,1.00E-04 -29-12-2019 16:00,7154630.033,0.488714389,0.488714389,1.00E-04 -29-12-2019 17:00,7154583.315,0.516346677,0.516346677,1.00E-04 -29-12-2019 18:00,7154537.453,0.494007049,0.494007049,1.00E-04 -29-12-2019 19:00,7154492.449,0.447952333,0.447952333,1.00E-04 -29-12-2019 20:00,7154448.301,0.369490648,0.369490648,1.00E-04 -29-12-2019 21:00,7154405.01,0.240007141,0.240007141,1.00E-04 -29-12-2019 22:00,7154362.576,0.114226706,0.114226706,1.00E-04 -29-12-2019 23:00,7154320.999,0.050950165,0.050950165,1.00E-04 -30-12-2019 0:00,7154280.279,0.021632943,0.021632943,1.00E-04 -30-12-2019 1:00,7154240.415,0.009022134,0.009022134,1.00E-04 -30-12-2019 2:00,7154201.409,0.007565375,0.007565375,1.00E-04 -30-12-2019 3:00,7154163.26,0.015102117,0.015102117,1.00E-04 -30-12-2019 4:00,7154125.967,0.055753807,0.055753807,1.00E-04 -30-12-2019 5:00,7154089.532,0.225396793,0.225396793,1.00E-04 -30-12-2019 6:00,7154053.954,0.45644119,0.45644119,1.00E-04 -30-12-2019 7:00,7154019.233,0.590714244,0.590714244,1.00E-04 -30-12-2019 8:00,7153985.369,0.695522047,0.695522047,1.00E-04 -30-12-2019 9:00,7153952.362,0.484561511,0.484561511,1.00E-04 -30-12-2019 10:00,7153920.212,0.398524808,0.398524808,1.00E-04 -30-12-2019 11:00,7153888.919,0.553608641,0.553608641,1.00E-04 -30-12-2019 12:00,7153858.484,0.427741585,0.427741585,1.00E-04 -30-12-2019 13:00,7153828.905,0.293941674,0.293941674,1.00E-04 -30-12-2019 14:00,7153800.184,0.444276709,0.444276709,1.00E-04 -30-12-2019 15:00,7153772.32,0.488699362,0.488699362,1.00E-04 -30-12-2019 16:00,7153745.313,0.466333191,0.466333191,1.00E-04 -30-12-2019 17:00,7153719.163,0.490288817,0.490288817,1.00E-04 -30-12-2019 18:00,7153693.871,0.473353498,0.473353498,1.00E-04 -30-12-2019 19:00,7153669.436,0.433846364,0.433846364,1.00E-04 -30-12-2019 20:00,7153645.858,0.359864363,0.359864363,1.00E-04 -30-12-2019 21:00,7153623.137,0.233503595,0.233503595,1.00E-04 -30-12-2019 22:00,7153601.274,0.111144296,0.111144296,1.00E-04 -30-12-2019 23:00,7153580.268,0.048836507,0.048836507,1.00E-04 -31-12-2019 0:00,7153560.119,0.020874907,0.020874907,1.00E-04 -31-12-2019 1:00,7153540.828,0.008064308,0.008064308,1.00E-04 -31-12-2019 2:00,7153522.394,0.006158415,0.006158415,1.00E-04 -31-12-2019 3:00,7153504.817,0.011881561,0.011881561,1.00E-04 -31-12-2019 4:00,7153488.098,0.049240688,0.049240688,1.00E-04 -31-12-2019 5:00,7153472.236,0.204513764,0.204513764,1.00E-04 -31-12-2019 6:00,7153457.231,0.428980208,0.428980208,1.00E-04 -31-12-2019 7:00,7153443.084,0.57077863,0.57077863,1.00E-04 -31-12-2019 8:00,7153429.794,0.689960507,0.689960507,1.00E-04 -31-12-2019 9:00,7153417.361,0.556279556,0.556279556,1.00E-04 -31-12-2019 10:00,7153405.786,0.50881851,0.50881851,1.00E-04 -31-12-2019 11:00,7153395.068,0.615059566,0.615059566,1.00E-04 -31-12-2019 12:00,7153385.208,0.543006493,0.543006493,1.00E-04 -31-12-2019 13:00,7153376.205,0.439104044,0.439104044,1.00E-04 -31-12-2019 14:00,7153368.059,0.46955531,0.46955531,1.00E-04 -31-12-2019 15:00,7153360.771,0.509024189,0.509024189,1.00E-04 -31-12-2019 16:00,7153354.34,0.495105355,0.495105355,1.00E-04 -31-12-2019 17:00,7153348.767,0.509744904,0.509744904,1.00E-04 -31-12-2019 18:00,7153344.051,0.484135954,0.484135954,1.00E-04 -31-12-2019 19:00,7153340.193,0.437378359,0.437378359,1.00E-04 -31-12-2019 20:00,7153337.192,0.360347986,0.360347986,1.00E-04 -31-12-2019 21:00,7153335.048,0.234917204,0.234917204,1.00E-04 -31-12-2019 22:00,7153333.762,0.114569593,0.114569593,1.00E-04 diff --git a/examples/heating_and_cooling/input/timeseries_4_elect_cost_modified.csv b/examples/heating_and_cooling/input/timeseries_4_elect_cost_modified.csv new file mode 100644 index 000000000..b6121f894 --- /dev/null +++ b/examples/heating_and_cooling/input/timeseries_4_elect_cost_modified.csv @@ -0,0 +1,8761 @@ +DateTime,CoolingDemand_1,HeatingDemand_1,HeatingDemand_2,Elect +31-12-2018 23:00,71533.33333,352303.343,352303.343,1.00E-04 +1-1-2019 00:00,71533.33762,136230.703,136230.703,1.00E-04 +1-1-2019 01:00,71533.35048,37597.994,37597.994,1.00E-04 +1-1-2019 02:00,71533.37192,17719.506,17719.506,1.00E-04 +1-1-2019 03:00,71533.40193,44638.797,44638.797,1.00E-04 +1-1-2019 04:00,71533.44051,279515.453,279515.453,1.00E-04 +1-1-2019 05:00,71533.48767,1327856.089,1327856.089,1.00E-04 +1-1-2019 06:00,71533.5434,2787901.417,2787901.417,1.00E-04 +1-1-2019 07:00,71533.60771,3816420.685,3816420.685,1.00E-04 +1-1-2019 08:00,71533.68059,4649427.013,4649427.013,1.00E-04 +1-1-2019 09:00,71533.76205,3868951.751,3868951.751,1.00E-04 +1-1-2019 10:00,71533.85208,3616363.87,3616363.87,1.00E-04 +1-1-2019 11:00,71533.95068,4477829.678,4477829.678,1.00E-04 +1-1-2019 12:00,71534.05786,3830850.73,3830850.73,1.00E-04 +1-1-2019 13:00,71534.17361,3234955.696,3234955.696,1.00E-04 +1-1-2019 14:00,71534.29794,3469644.71,3469644.71,1.00E-04 +1-1-2019 15:00,71534.43084,3528966.14,3528966.14,1.00E-04 +1-1-2019 16:00,71534.57231,3340634.514,3340634.514,1.00E-04 +1-1-2019 17:00,71534.72236,3503856.055,3503856.055,1.00E-04 +1-1-2019 18:00,71534.88098,3401150.263,3401150.263,1.00E-04 +1-1-2019 19:00,71535.04817,3058852.216,3058852.216,1.00E-04 +1-1-2019 20:00,71535.22394,2523884.671,2523884.671,1.00E-04 +1-1-2019 21:00,71535.40828,1638967.253,1638967.253,1.00E-04 +1-1-2019 22:00,71535.60119,782684.819,782684.819,1.00E-04 +1-1-2019 23:00,71535.80268,338659.013,338659.013,1.00E-04 +2-1-2019 00:00,71536.01274,135997.897,135997.897,1.00E-04 +2-1-2019 01:00,71536.23137,44175.229,44175.229,1.00E-04 +2-1-2019 02:00,71536.45858,24418.793,24418.793,1.00E-04 +2-1-2019 03:00,71536.69436,63949.984,63949.984,1.00E-04 +2-1-2019 04:00,71536.93871,310827.559,310827.559,1.00E-04 +2-1-2019 05:00,71537.19163,1456075.705,1456075.705,1.00E-04 +2-1-2019 06:00,71537.45313,2946268.43,2946268.43,1.00E-04 +2-1-2019 07:00,71537.7232,3938568.683,3938568.683,1.00E-04 +2-1-2019 08:00,71538.00184,4754035.447,4754035.447,1.00E-04 +2-1-2019 09:00,71538.28905,3789642.115,3789642.115,1.00E-04 +2-1-2019 10:00,71538.58484,3633225.505,3633225.505,1.00E-04 +2-1-2019 11:00,71538.88919,4444585.341,4444585.341,1.00E-04 +2-1-2019 12:00,71539.20212,3929631.02,3929631.02,1.00E-04 +2-1-2019 13:00,71539.52362,3229710.428,3229710.428,1.00E-04 +2-1-2019 14:00,71539.85369,3440446.611,3440446.611,1.00E-04 +2-1-2019 15:00,71540.19233,3498345.305,3498345.305,1.00E-04 +2-1-2019 16:00,71540.53954,3310034.56,3310034.56,1.00E-04 +2-1-2019 17:00,71540.89532,3478176.842,3478176.842,1.00E-04 +2-1-2019 18:00,71541.25967,3337680.339,3337680.339,1.00E-04 +2-1-2019 19:00,71541.6326,3051018.579,3051018.579,1.00E-04 +2-1-2019 20:00,71542.01409,2523787.665,2523787.665,1.00E-04 +2-1-2019 21:00,71542.40415,1641204.943,1641204.943,1.00E-04 +2-1-2019 22:00,71542.80279,775591.845,775591.845,1.00E-04 +2-1-2019 23:00,71543.20999,335820.807,335820.807,1.00E-04 +3-1-2019 00:00,71543.62576,138179.006,138179.006,1.00E-04 +3-1-2019 01:00,71544.0501,45906.098,45906.098,1.00E-04 +3-1-2019 02:00,71544.48301,28667.331,28667.331,1.00E-04 +3-1-2019 03:00,71544.92449,67890.025,67890.025,1.00E-04 +3-1-2019 04:00,71545.37453,323508.122,323508.122,1.00E-04 +3-1-2019 05:00,71545.83315,1470798.966,1470798.966,1.00E-04 +3-1-2019 06:00,71546.30033,3000547.165,3000547.165,1.00E-04 +3-1-2019 07:00,71546.77608,4016830.951,4016830.951,1.00E-04 +3-1-2019 08:00,71547.26039,4819191.349,4819191.349,1.00E-04 +3-1-2019 09:00,71547.75328,3933915.664,3933915.664,1.00E-04 +3-1-2019 10:00,71548.25473,2958081.189,2958081.189,1.00E-04 +3-1-2019 11:00,71548.76475,4298126.378,4298126.378,1.00E-04 +3-1-2019 12:00,71549.28333,3919342.322,3919342.322,1.00E-04 +3-1-2019 13:00,71549.81048,2893066.246,2893066.246,1.00E-04 +3-1-2019 14:00,71550.3462,3405874.878,3405874.878,1.00E-04 +3-1-2019 15:00,71550.89048,3543749.202,3543749.202,1.00E-04 +3-1-2019 16:00,71551.44333,3413979.996,3413979.996,1.00E-04 +3-1-2019 17:00,71552.00474,3532629.219,3532629.219,1.00E-04 +3-1-2019 18:00,71552.57472,3436795.796,3436795.796,1.00E-04 +3-1-2019 19:00,71553.15326,3120205.809,3120205.809,1.00E-04 +3-1-2019 20:00,71553.74036,2584117.984,2584117.984,1.00E-04 +3-1-2019 21:00,71554.33603,1679693.708,1679693.708,1.00E-04 +3-1-2019 22:00,71554.94027,793674.441,793674.441,1.00E-04 +3-1-2019 23:00,71555.55306,343259.385,343259.385,1.00E-04 +4-1-2019 00:00,71556.17442,142154.18,142154.18,1.00E-04 +4-1-2019 01:00,71556.80434,49769.146,49769.146,1.00E-04 +4-1-2019 02:00,71557.44283,35145.523,35145.523,1.00E-04 +4-1-2019 03:00,71558.08987,78217.51,78217.51,1.00E-04 +4-1-2019 04:00,71558.74548,346843.728,346843.728,1.00E-04 +4-1-2019 05:00,71559.40965,1516143.307,1516143.307,1.00E-04 +4-1-2019 06:00,71560.08238,3051205.752,3051205.752,1.00E-04 +4-1-2019 07:00,71560.76367,4000549.931,4000549.931,1.00E-04 +4-1-2019 08:00,71561.45352,4784956.267,4784956.267,1.00E-04 +4-1-2019 09:00,71562.15193,3909477.348,3909477.348,1.00E-04 +4-1-2019 10:00,71562.8589,3645594.085,3645594.085,1.00E-04 +4-1-2019 11:00,71563.57443,4466794.178,4466794.178,1.00E-04 +4-1-2019 12:00,71564.29851,3959900.245,3959900.245,1.00E-04 +4-1-2019 13:00,71565.03116,3212250.258,3212250.258,1.00E-04 +4-1-2019 14:00,71565.77236,3431834.308,3431834.308,1.00E-04 +4-1-2019 15:00,71566.52212,3466820.581,3466820.581,1.00E-04 +4-1-2019 16:00,71567.28044,3243230.613,3243230.613,1.00E-04 +4-1-2019 17:00,71568.04732,3410154.797,3410154.797,1.00E-04 +4-1-2019 18:00,71568.82275,3256613.948,3256613.948,1.00E-04 +4-1-2019 19:00,71569.60674,2964683.764,2964683.764,1.00E-04 +4-1-2019 20:00,71570.39928,2441040.882,2441040.882,1.00E-04 +4-1-2019 21:00,71571.20038,1587072.13,1587072.13,1.00E-04 +4-1-2019 22:00,71572.01004,744919.77,744919.77,1.00E-04 +4-1-2019 23:00,71572.82824,320109.657,320109.657,1.00E-04 +5-1-2019 00:00,71573.65501,133150.703,133150.703,1.00E-04 +5-1-2019 01:00,71574.49032,44398.564,44398.564,1.00E-04 +5-1-2019 02:00,71575.33419,27506.717,27506.717,1.00E-04 +5-1-2019 03:00,71576.18661,54192.019,54192.019,1.00E-04 +5-1-2019 04:00,71577.04759,273288.68,273288.68,1.00E-04 +5-1-2019 05:00,71577.91711,1245713.413,1245713.413,1.00E-04 +5-1-2019 06:00,71578.79519,2606987.019,2606987.019,1.00E-04 +5-1-2019 07:00,71579.68182,3455792.9,3455792.9,1.00E-04 +5-1-2019 08:00,71580.577,4198017.635,4198017.635,1.00E-04 +5-1-2019 09:00,71581.48073,3470301.702,3470301.702,1.00E-04 +5-1-2019 10:00,71582.39301,3317299.209,3317299.209,1.00E-04 +5-1-2019 11:00,71583.31383,4202299.668,4202299.668,1.00E-04 +5-1-2019 12:00,71584.24321,3739473.129,3739473.129,1.00E-04 +5-1-2019 13:00,71585.18114,2964287.466,2964287.466,1.00E-04 +5-1-2019 14:00,71586.12761,3201411.416,3201411.416,1.00E-04 +5-1-2019 15:00,71587.08263,3291064.896,3291064.896,1.00E-04 +5-1-2019 16:00,71588.04619,3077326.532,3077326.532,1.00E-04 +5-1-2019 17:00,71589.0183,3255186.543,3255186.543,1.00E-04 +5-1-2019 18:00,71589.99896,3131689.225,3131689.225,1.00E-04 +5-1-2019 19:00,71590.98816,2864130.633,2864130.633,1.00E-04 +5-1-2019 20:00,71591.98591,2358009.983,2358009.983,1.00E-04 +5-1-2019 21:00,71592.9922,1521983.988,1521983.988,1.00E-04 +5-1-2019 22:00,71594.00704,720077.659,720077.659,1.00E-04 +5-1-2019 23:00,71595.03042,312133.339,312133.339,1.00E-04 +6-1-2019 00:00,71596.06234,128378.922,128378.922,1.00E-04 +6-1-2019 01:00,71597.1028,43053.759,43053.759,1.00E-04 +6-1-2019 02:00,71598.15181,24706.409,24706.409,1.00E-04 +6-1-2019 03:00,71599.20935,49531.146,49531.146,1.00E-04 +6-1-2019 04:00,71600.27544,255987.991,255987.991,1.00E-04 +6-1-2019 05:00,71601.35006,1203464.794,1203464.794,1.00E-04 +6-1-2019 06:00,71602.43323,2530629.451,2530629.451,1.00E-04 +6-1-2019 07:00,71603.52493,3385230.38,3385230.38,1.00E-04 +6-1-2019 08:00,71604.62518,4131505.581,4131505.581,1.00E-04 +6-1-2019 09:00,71605.73396,3421743.486,3421743.486,1.00E-04 +6-1-2019 10:00,71606.85127,3170364.981,3170364.981,1.00E-04 +6-1-2019 11:00,71607.97713,4116777.665,4116777.665,1.00E-04 +6-1-2019 12:00,71609.11152,3673417.783,3673417.783,1.00E-04 +6-1-2019 13:00,71610.25444,2896065.529,2896065.529,1.00E-04 +6-1-2019 14:00,71611.4059,3181144.575,3181144.575,1.00E-04 +6-1-2019 15:00,71612.56589,3245472.93,3245472.93,1.00E-04 +6-1-2019 16:00,71613.73442,3043434.814,3043434.814,1.00E-04 +6-1-2019 17:00,71614.91148,3208591.218,3208591.218,1.00E-04 +6-1-2019 18:00,71616.09707,3078577.607,3078577.607,1.00E-04 +6-1-2019 19:00,71617.2912,2807149.401,2807149.401,1.00E-04 +6-1-2019 20:00,71618.49385,2314252.003,2314252.003,1.00E-04 +6-1-2019 21:00,71619.70504,1508466.596,1508466.596,1.00E-04 +6-1-2019 22:00,71620.92476,718988.69,718988.69,1.00E-04 +6-1-2019 23:00,71622.153,321088.67,321088.67,1.00E-04 +7-1-2019 00:00,71623.38978,137425.239,137425.239,1.00E-04 +7-1-2019 01:00,71624.63508,47589.234,47589.234,1.00E-04 +7-1-2019 02:00,71625.88891,29823.066,29823.066,1.00E-04 +7-1-2019 03:00,71627.15126,62924.015,62924.015,1.00E-04 +7-1-2019 04:00,71628.42214,295835.4,295835.4,1.00E-04 +7-1-2019 05:00,71629.70155,1309037.758,1309037.758,1.00E-04 +7-1-2019 06:00,71630.98948,2676684.052,2676684.052,1.00E-04 +7-1-2019 07:00,71632.28594,3511157.02,3511157.02,1.00E-04 +7-1-2019 08:00,71633.59092,4203606.057,4203606.057,1.00E-04 +7-1-2019 09:00,71634.90442,3408113.156,3408113.156,1.00E-04 +7-1-2019 10:00,71636.22645,3228068.277,3228068.277,1.00E-04 +7-1-2019 11:00,71637.55699,4079282.445,4079282.445,1.00E-04 +7-1-2019 12:00,71638.89606,3599171.758,3599171.758,1.00E-04 +7-1-2019 13:00,71640.24365,2801680.77,2801680.77,1.00E-04 +7-1-2019 14:00,71641.59975,3077864.23,3077864.23,1.00E-04 +7-1-2019 15:00,71642.96438,3146747.373,3146747.373,1.00E-04 +7-1-2019 16:00,71644.33752,2947027.531,2947027.531,1.00E-04 +7-1-2019 17:00,71645.71918,3114780.452,3114780.452,1.00E-04 +7-1-2019 18:00,71647.10936,2947419.538,2947419.538,1.00E-04 +7-1-2019 19:00,71648.50805,2673475.728,2673475.728,1.00E-04 +7-1-2019 20:00,71649.91525,2157914.073,2157914.073,1.00E-04 +7-1-2019 21:00,71651.33098,1373551.676,1373551.676,1.00E-04 +7-1-2019 22:00,71652.75521,659933.617,659933.617,1.00E-04 +7-1-2019 23:00,71654.18796,286603.24,286603.24,1.00E-04 +8-1-2019 00:00,71655.62922,116455.332,116455.332,1.00E-04 +8-1-2019 01:00,71657.07899,38739.89,38739.89,1.00E-04 +8-1-2019 02:00,71658.53727,21627.256,21627.256,1.00E-04 +8-1-2019 03:00,71660.00407,34384.392,34384.392,1.00E-04 +8-1-2019 04:00,71661.47937,193584.762,193584.762,1.00E-04 +8-1-2019 05:00,71662.96318,984811.541,984811.541,1.00E-04 +8-1-2019 06:00,71664.45549,2129481.571,2129481.571,1.00E-04 +8-1-2019 07:00,71665.95632,2896647.082,2896647.082,1.00E-04 +8-1-2019 08:00,71667.46565,3590680.17,3590680.17,1.00E-04 +8-1-2019 09:00,71668.98348,3055344.355,3055344.355,1.00E-04 +8-1-2019 10:00,71670.50982,2888480.532,2888480.532,1.00E-04 +8-1-2019 11:00,71672.04467,3887643.599,3887643.599,1.00E-04 +8-1-2019 12:00,71673.58802,3458798.532,3458798.532,1.00E-04 +8-1-2019 13:00,71675.13986,2677836.798,2677836.798,1.00E-04 +8-1-2019 14:00,71676.70021,2964723.349,2964723.349,1.00E-04 +8-1-2019 15:00,71678.26907,3058794.508,3058794.508,1.00E-04 +8-1-2019 16:00,71679.84642,2860681.173,2860681.173,1.00E-04 +8-1-2019 17:00,71681.43227,3036831.623,3036831.623,1.00E-04 +8-1-2019 18:00,71683.02661,2913614.473,2913614.473,1.00E-04 +8-1-2019 19:00,71684.62946,2682266.797,2682266.797,1.00E-04 +8-1-2019 20:00,71686.2408,2218341.37,2218341.37,1.00E-04 +8-1-2019 21:00,71687.86064,1454752.964,1454752.964,1.00E-04 +8-1-2019 22:00,71689.48897,679044.569,679044.569,1.00E-04 +8-1-2019 23:00,71691.1258,303638.279,303638.279,1.00E-04 +9-1-2019 00:00,71692.77112,122644.452,122644.452,1.00E-04 +9-1-2019 01:00,71694.42493,42134.652,42134.652,1.00E-04 +9-1-2019 02:00,71696.08723,23418.276,23418.276,1.00E-04 +9-1-2019 03:00,71697.75803,42030.121,42030.121,1.00E-04 +9-1-2019 04:00,71699.43731,226785.048,226785.048,1.00E-04 +9-1-2019 05:00,71701.12508,1112420.68,1112420.68,1.00E-04 +9-1-2019 06:00,71702.82134,2366317.632,2366317.632,1.00E-04 +9-1-2019 07:00,71704.52609,3207258.411,3207258.411,1.00E-04 +9-1-2019 08:00,71706.23932,3923901.814,3923901.814,1.00E-04 +9-1-2019 09:00,71707.96104,3211818.267,3211818.267,1.00E-04 +9-1-2019 10:00,71709.69125,3133226.992,3133226.992,1.00E-04 +9-1-2019 11:00,71711.42993,4000703.875,4000703.875,1.00E-04 +9-1-2019 12:00,71713.1771,3407852.973,3407852.973,1.00E-04 +9-1-2019 13:00,71714.93276,2464899.997,2464899.997,1.00E-04 +9-1-2019 14:00,71716.69689,3046235.906,3046235.906,1.00E-04 +9-1-2019 15:00,71718.4695,3164987.441,3164987.441,1.00E-04 +9-1-2019 16:00,71720.25059,2987313.294,2987313.294,1.00E-04 +9-1-2019 17:00,71722.04016,3176732.468,3176732.468,1.00E-04 +9-1-2019 18:00,71723.83821,3047905.721,3047905.721,1.00E-04 +9-1-2019 19:00,71725.64473,2778751.633,2778751.633,1.00E-04 +9-1-2019 20:00,71727.45973,2297507.002,2297507.002,1.00E-04 +9-1-2019 21:00,71729.28321,1495299.582,1495299.582,1.00E-04 +9-1-2019 22:00,71731.11515,715297.597,715297.597,1.00E-04 +9-1-2019 23:00,71732.95557,311283.112,311283.112,1.00E-04 +10-1-2019 00:00,71734.80446,131637.086,131637.086,1.00E-04 +10-1-2019 01:00,71736.66183,47457.172,47457.172,1.00E-04 +10-1-2019 02:00,71738.52766,29092.938,29092.938,1.00E-04 +10-1-2019 03:00,71740.40196,59063.116,59063.116,1.00E-04 +10-1-2019 04:00,71742.28473,286540.499,286540.499,1.00E-04 +10-1-2019 05:00,71744.17596,1304640.141,1304640.141,1.00E-04 +10-1-2019 06:00,71746.07566,2727818.142,2727818.142,1.00E-04 +10-1-2019 07:00,71747.98383,3641375.304,3641375.304,1.00E-04 +10-1-2019 08:00,71749.90046,4380069.26,4380069.26,1.00E-04 +10-1-2019 09:00,71751.82555,3564355.676,3564355.676,1.00E-04 +10-1-2019 10:00,71753.7591,3396375.78,3396375.78,1.00E-04 +10-1-2019 11:00,71755.70112,4237463.328,4237463.328,1.00E-04 +10-1-2019 12:00,71757.65159,3717827.946,3717827.946,1.00E-04 +10-1-2019 13:00,71759.61053,2927781.514,2927781.514,1.00E-04 +10-1-2019 14:00,71761.57792,3246898.641,3246898.641,1.00E-04 +10-1-2019 15:00,71763.55377,3329885.51,3329885.51,1.00E-04 +10-1-2019 16:00,71765.53807,3136623.763,3136623.763,1.00E-04 +10-1-2019 17:00,71767.53083,3335382.085,3335382.085,1.00E-04 +10-1-2019 18:00,71769.53205,3225628.441,3225628.441,1.00E-04 +10-1-2019 19:00,71771.54171,2952838.119,2952838.119,1.00E-04 +10-1-2019 20:00,71773.55983,2430201.704,2430201.704,1.00E-04 +10-1-2019 21:00,71775.5864,1574768.657,1574768.657,1.00E-04 +10-1-2019 22:00,71777.62142,743881.635,743881.635,1.00E-04 +10-1-2019 23:00,71779.66489,322025.417,322025.417,1.00E-04 +11-1-2019 00:00,71781.7168,133978.383,133978.383,1.00E-04 +11-1-2019 01:00,71783.77716,46682.776,46682.776,1.00E-04 +11-1-2019 02:00,71785.84597,32044.404,32044.404,1.00E-04 +11-1-2019 03:00,71787.92322,58268.098,58268.098,1.00E-04 +11-1-2019 04:00,71790.00892,276378.284,276378.284,1.00E-04 +11-1-2019 05:00,71792.10305,1232452.256,1232452.256,1.00E-04 +11-1-2019 06:00,71794.20563,2563184.47,2563184.47,1.00E-04 +11-1-2019 07:00,71796.31665,3372296.956,3372296.956,1.00E-04 +11-1-2019 08:00,71798.43611,4052900.11,4052900.11,1.00E-04 +11-1-2019 09:00,71800.564,3300334.73,3300334.73,1.00E-04 +11-1-2019 10:00,71802.70034,3179950.963,3179950.963,1.00E-04 +11-1-2019 11:00,71804.8451,4035334.919,4035334.919,1.00E-04 +11-1-2019 12:00,71806.99831,3587393.187,3587393.187,1.00E-04 +11-1-2019 13:00,71809.15994,2760176.076,2760176.076,1.00E-04 +11-1-2019 14:00,71811.33001,3089535.862,3089535.862,1.00E-04 +11-1-2019 15:00,71813.50851,3157630.175,3157630.175,1.00E-04 +11-1-2019 16:00,71815.69544,2956468.816,2956468.816,1.00E-04 +11-1-2019 17:00,71817.8908,3134936.119,3134936.119,1.00E-04 +11-1-2019 18:00,71820.09459,3006769.262,3006769.262,1.00E-04 +11-1-2019 19:00,71822.3068,2752950.354,2752950.354,1.00E-04 +11-1-2019 20:00,71824.52744,2264671.717,2264671.717,1.00E-04 +11-1-2019 21:00,71826.75651,1463229.054,1463229.054,1.00E-04 +11-1-2019 22:00,71828.99399,692110.09,692110.09,1.00E-04 +11-1-2019 23:00,71831.2399,298012.862,298012.862,1.00E-04 +12-1-2019 00:00,71833.49423,124020.302,124020.302,1.00E-04 +12-1-2019 01:00,71835.75698,42031.633,42031.633,1.00E-04 +12-1-2019 02:00,71838.02815,24138.898,24138.898,1.00E-04 +12-1-2019 03:00,71840.30774,41786.129,41786.129,1.00E-04 +12-1-2019 04:00,71842.59574,225045.429,225045.429,1.00E-04 +12-1-2019 05:00,71844.89216,1075622.702,1075622.702,1.00E-04 +12-1-2019 06:00,71847.19699,2297811.481,2297811.481,1.00E-04 +12-1-2019 07:00,71849.51024,3069168.417,3069168.417,1.00E-04 +12-1-2019 08:00,71851.8319,3764606.566,3764606.566,1.00E-04 +12-1-2019 09:00,71854.16197,3117864.603,3117864.603,1.00E-04 +12-1-2019 10:00,71856.50044,3069678.374,3069678.374,1.00E-04 +12-1-2019 11:00,71858.84733,3938366.404,3938366.404,1.00E-04 +12-1-2019 12:00,71861.20262,3468937.185,3468937.185,1.00E-04 +12-1-2019 13:00,71863.56632,2627238.992,2627238.992,1.00E-04 +12-1-2019 14:00,71865.93842,2965722.067,2965722.067,1.00E-04 +12-1-2019 15:00,71868.31892,3045144.326,3045144.326,1.00E-04 +12-1-2019 16:00,71870.70783,2843714.727,2843714.727,1.00E-04 +12-1-2019 17:00,71873.10514,3012524.431,3012524.431,1.00E-04 +12-1-2019 18:00,71875.51085,2883252.085,2883252.085,1.00E-04 +12-1-2019 19:00,71877.92495,2620620.31,2620620.31,1.00E-04 +12-1-2019 20:00,71880.34746,2145019.758,2145019.758,1.00E-04 +12-1-2019 21:00,71882.77835,1381864.687,1381864.687,1.00E-04 +12-1-2019 22:00,71885.21765,653813.475,653813.475,1.00E-04 +12-1-2019 23:00,71887.66533,279301.736,279301.736,1.00E-04 +13-1-2019 00:00,71890.12141,114308.789,114308.789,1.00E-04 +13-1-2019 01:00,71892.58588,38106.075,38106.075,1.00E-04 +13-1-2019 02:00,71895.05874,21302.834,21302.834,1.00E-04 +13-1-2019 03:00,71897.53999,32236.813,32236.813,1.00E-04 +13-1-2019 04:00,71900.02962,176867.257,176867.257,1.00E-04 +13-1-2019 05:00,71902.52764,897913.464,897913.464,1.00E-04 +13-1-2019 06:00,71905.03405,1950284.882,1950284.882,1.00E-04 +13-1-2019 07:00,71907.54883,2632362.425,2632362.425,1.00E-04 +13-1-2019 08:00,71910.072,3260971.63,3260971.63,1.00E-04 +13-1-2019 09:00,71912.60355,2751903.966,2751903.966,1.00E-04 +13-1-2019 10:00,71915.14348,2790304.391,2790304.391,1.00E-04 +13-1-2019 11:00,71917.69179,3704384.649,3704384.649,1.00E-04 +13-1-2019 12:00,71920.24847,3265044.482,3265044.482,1.00E-04 +13-1-2019 13:00,71922.81353,2414744.759,2414744.759,1.00E-04 +13-1-2019 14:00,71925.38696,2754978.751,2754978.751,1.00E-04 +13-1-2019 15:00,71927.96877,2825338.159,2825338.159,1.00E-04 +13-1-2019 16:00,71930.55894,2620166.787,2620166.787,1.00E-04 +13-1-2019 17:00,71933.15749,2872655.345,2872655.345,1.00E-04 +13-1-2019 18:00,71935.7644,2720833.836,2720833.836,1.00E-04 +13-1-2019 19:00,71938.37969,2480052.652,2480052.652,1.00E-04 +13-1-2019 20:00,71941.00334,2027615.674,2027615.674,1.00E-04 +13-1-2019 21:00,71943.63535,1308494.614,1308494.614,1.00E-04 +13-1-2019 22:00,71946.27572,619174.703,619174.703,1.00E-04 +13-1-2019 23:00,71948.92446,265701.569,265701.569,1.00E-04 +14-1-2019 00:00,71951.58156,109703.433,109703.433,1.00E-04 +14-1-2019 01:00,71954.24702,35897.883,35897.883,1.00E-04 +14-1-2019 02:00,71956.92083,20087.431,20087.431,1.00E-04 +14-1-2019 03:00,71959.60301,29683.01,29683.01,1.00E-04 +14-1-2019 04:00,71962.29353,161143.374,161143.374,1.00E-04 +14-1-2019 05:00,71964.99241,871267.327,871267.327,1.00E-04 +14-1-2019 06:00,71967.69965,1935180.17,1935180.17,1.00E-04 +14-1-2019 07:00,71970.41523,2689712.774,2689712.774,1.00E-04 +14-1-2019 08:00,71973.13916,3294123.525,3294123.525,1.00E-04 +14-1-2019 09:00,71975.87144,2514434.09,2514434.09,1.00E-04 +14-1-2019 10:00,71978.61207,2235536.989,2235536.989,1.00E-04 +14-1-2019 11:00,71981.36105,3313877.294,3313877.294,1.00E-04 +14-1-2019 12:00,71984.11836,2850254.428,2850254.428,1.00E-04 +14-1-2019 13:00,71986.88402,2297394.449,2297394.449,1.00E-04 +14-1-2019 14:00,71989.65802,2803865.379,2803865.379,1.00E-04 +14-1-2019 15:00,71992.44036,3015735.429,3015735.429,1.00E-04 +14-1-2019 16:00,71995.23104,2915988.341,2915988.341,1.00E-04 +14-1-2019 17:00,71998.03006,3095285.2,3095285.2,1.00E-04 +14-1-2019 18:00,72000.83741,2987469.387,2987469.387,1.00E-04 +14-1-2019 19:00,72003.65309,2749366.109,2749366.109,1.00E-04 +14-1-2019 20:00,72006.47711,2239872.803,2239872.803,1.00E-04 +14-1-2019 21:00,72009.30945,1445260.95,1445260.95,1.00E-04 +14-1-2019 22:00,72012.15013,699278.636,699278.636,1.00E-04 +14-1-2019 23:00,72014.99914,305361.721,305361.721,1.00E-04 +15-1-2019 00:00,72017.85647,125459.257,125459.257,1.00E-04 +15-1-2019 01:00,72020.72212,42730.471,42730.471,1.00E-04 +15-1-2019 02:00,72023.5961,24423.364,24423.364,1.00E-04 +15-1-2019 03:00,72026.4784,43909.439,43909.439,1.00E-04 +15-1-2019 04:00,72029.36903,226605.624,226605.624,1.00E-04 +15-1-2019 05:00,72032.26797,1096958.611,1096958.611,1.00E-04 +15-1-2019 06:00,72035.17523,2302192.921,2302192.921,1.00E-04 +15-1-2019 07:00,72038.0908,3053260.812,3053260.812,1.00E-04 +15-1-2019 08:00,72041.01469,3702824.993,3702824.993,1.00E-04 +15-1-2019 09:00,72043.9469,3006651.354,3006651.354,1.00E-04 +15-1-2019 10:00,72046.88741,2985717.714,2985717.714,1.00E-04 +15-1-2019 11:00,72049.83624,3895135.23,3895135.23,1.00E-04 +15-1-2019 12:00,72052.79337,3408807.542,3408807.542,1.00E-04 +15-1-2019 13:00,72055.75881,2541143.381,2541143.381,1.00E-04 +15-1-2019 14:00,72058.73256,2879302.363,2879302.363,1.00E-04 +15-1-2019 15:00,72061.71461,2964565.331,2964565.331,1.00E-04 +15-1-2019 16:00,72064.70496,2774753.296,2774753.296,1.00E-04 +15-1-2019 17:00,72067.70362,2945074.062,2945074.062,1.00E-04 +15-1-2019 18:00,72070.71057,2829042.426,2829042.426,1.00E-04 +15-1-2019 19:00,72073.72582,2576748.615,2576748.615,1.00E-04 +15-1-2019 20:00,72076.74937,2117280.991,2117280.991,1.00E-04 +15-1-2019 21:00,72079.78121,1367793.651,1367793.651,1.00E-04 +15-1-2019 22:00,72082.82135,646833.677,646833.677,1.00E-04 +15-1-2019 23:00,72085.86977,277237.093,277237.093,1.00E-04 +16-1-2019 00:00,72088.92649,112464.065,112464.065,1.00E-04 +16-1-2019 01:00,72091.9915,37392.11,37392.11,1.00E-04 +16-1-2019 02:00,72095.06479,21024.633,21024.633,1.00E-04 +16-1-2019 03:00,72098.14637,31658.823,31658.823,1.00E-04 +16-1-2019 04:00,72101.23623,173260.927,173260.927,1.00E-04 +16-1-2019 05:00,72104.33437,903174.755,903174.755,1.00E-04 +16-1-2019 06:00,72107.4408,1989088.073,1989088.073,1.00E-04 +16-1-2019 07:00,72110.5555,2726861.256,2726861.256,1.00E-04 +16-1-2019 08:00,72113.67848,3413868.444,3413868.444,1.00E-04 +16-1-2019 09:00,72116.80974,2837215.955,2837215.955,1.00E-04 +16-1-2019 10:00,72119.94927,2895171.44,2895171.44,1.00E-04 +16-1-2019 11:00,72123.09707,3848828.984,3848828.984,1.00E-04 +16-1-2019 12:00,72126.25315,3393378.772,3393378.772,1.00E-04 +16-1-2019 13:00,72129.41749,2535479.709,2535479.709,1.00E-04 +16-1-2019 14:00,72132.5901,2944185.111,2944185.111,1.00E-04 +16-1-2019 15:00,72135.77098,3040623.901,3040623.901,1.00E-04 +16-1-2019 16:00,72138.96012,2848066.816,2848066.816,1.00E-04 +16-1-2019 17:00,72142.15752,3052753.018,3052753.018,1.00E-04 +16-1-2019 18:00,72145.36319,2933711.046,2933711.046,1.00E-04 +16-1-2019 19:00,72148.57711,2674127.925,2674127.925,1.00E-04 +16-1-2019 20:00,72151.7993,2184482.167,2184482.167,1.00E-04 +16-1-2019 21:00,72155.02974,1423817.605,1423817.605,1.00E-04 +16-1-2019 22:00,72158.26843,681144.17,681144.17,1.00E-04 +16-1-2019 23:00,72161.51538,295697.696,295697.696,1.00E-04 +17-1-2019 00:00,72164.77057,121490.929,121490.929,1.00E-04 +17-1-2019 01:00,72168.03402,41334.615,41334.615,1.00E-04 +17-1-2019 02:00,72171.30571,23644.698,23644.698,1.00E-04 +17-1-2019 03:00,72174.58566,40526.794,40526.794,1.00E-04 +17-1-2019 04:00,72177.87384,218211.728,218211.728,1.00E-04 +17-1-2019 05:00,72181.17027,1070496.987,1070496.987,1.00E-04 +17-1-2019 06:00,72184.47494,2287345.417,2287345.417,1.00E-04 +17-1-2019 07:00,72187.78785,3106032.965,3106032.965,1.00E-04 +17-1-2019 08:00,72191.10899,3834467.602,3834467.602,1.00E-04 +17-1-2019 09:00,72194.43837,3130026.508,3130026.508,1.00E-04 +17-1-2019 10:00,72197.77599,3134825.876,3134825.876,1.00E-04 +17-1-2019 11:00,72201.12184,4032626.451,4032626.451,1.00E-04 +17-1-2019 12:00,72204.47592,3669119.706,3669119.706,1.00E-04 +17-1-2019 13:00,72207.83823,2148810.006,2148810.006,1.00E-04 +17-1-2019 14:00,72211.20876,3098080.888,3098080.888,1.00E-04 +17-1-2019 15:00,72214.58752,3284859.277,3284859.277,1.00E-04 +17-1-2019 16:00,72217.97451,3172535.709,3172535.709,1.00E-04 +17-1-2019 17:00,72221.36972,3329078.34,3329078.34,1.00E-04 +17-1-2019 18:00,72224.77314,3239398.96,3239398.96,1.00E-04 +17-1-2019 19:00,72228.18479,2949235.408,2949235.408,1.00E-04 +17-1-2019 20:00,72231.60465,2449812.743,2449812.743,1.00E-04 +17-1-2019 21:00,72235.03273,1574161.344,1574161.344,1.00E-04 +17-1-2019 22:00,72238.46902,756989.345,756989.345,1.00E-04 +17-1-2019 23:00,72241.91353,336351.078,336351.078,1.00E-04 +18-1-2019 00:00,72245.36624,145333.531,145333.531,1.00E-04 +18-1-2019 01:00,72248.82716,53617.662,53617.662,1.00E-04 +18-1-2019 02:00,72252.29629,42190.155,42190.155,1.00E-04 +18-1-2019 03:00,72255.77362,90570.193,90570.193,1.00E-04 +18-1-2019 04:00,72259.25915,369759.726,369759.726,1.00E-04 +18-1-2019 05:00,72262.75289,1574239.954,1574239.954,1.00E-04 +18-1-2019 06:00,72266.25482,3246014.506,3246014.506,1.00E-04 +18-1-2019 07:00,72269.76496,4271960.14,4271960.14,1.00E-04 +18-1-2019 08:00,72273.28328,4941648.383,4941648.383,1.00E-04 +18-1-2019 09:00,72276.8098,3162959.625,3162959.625,1.00E-04 +18-1-2019 10:00,72280.34452,3258861.746,3258861.746,1.00E-04 +18-1-2019 11:00,72283.88742,4319603.54,4319603.54,1.00E-04 +18-1-2019 12:00,72287.43851,3804281.418,3804281.418,1.00E-04 +18-1-2019 13:00,72290.99779,2980195.029,2980195.029,1.00E-04 +18-1-2019 14:00,72294.56525,3434445.952,3434445.952,1.00E-04 +18-1-2019 15:00,72298.14089,3585093.281,3585093.281,1.00E-04 +18-1-2019 16:00,72301.72472,3441588.003,3441588.003,1.00E-04 +18-1-2019 17:00,72305.31672,3689569.807,3689569.807,1.00E-04 +18-1-2019 18:00,72308.9169,3584431.634,3584431.634,1.00E-04 +18-1-2019 19:00,72312.52526,3290962.052,3290962.052,1.00E-04 +18-1-2019 20:00,72316.14179,2742200.888,2742200.888,1.00E-04 +18-1-2019 21:00,72319.76649,1777902.777,1777902.777,1.00E-04 +18-1-2019 22:00,72323.39936,844629.926,844629.926,1.00E-04 +18-1-2019 23:00,72327.0404,378371.49,378371.49,1.00E-04 +19-1-2019 00:00,72330.68961,163128.98,163128.98,1.00E-04 +19-1-2019 01:00,72334.34698,74611.194,74611.194,1.00E-04 +19-1-2019 02:00,72338.01251,68489.309,68489.309,1.00E-04 +19-1-2019 03:00,72341.6862,144832.016,144832.016,1.00E-04 +19-1-2019 04:00,72345.36805,489347.607,489347.607,1.00E-04 +19-1-2019 05:00,72349.05806,1899258.438,1899258.438,1.00E-04 +19-1-2019 06:00,72352.75622,3727451.007,3727451.007,1.00E-04 +19-1-2019 07:00,72356.46254,4816224.315,4816224.315,1.00E-04 +19-1-2019 08:00,72360.177,5510530.319,5510530.319,1.00E-04 +19-1-2019 09:00,72363.89962,3342914.323,3342914.323,1.00E-04 +19-1-2019 10:00,72367.63038,2980221.552,2980221.552,1.00E-04 +19-1-2019 11:00,72371.36929,4679595.655,4679595.655,1.00E-04 +19-1-2019 12:00,72375.11634,4141718.105,4141718.105,1.00E-04 +19-1-2019 13:00,72378.87153,3284497.587,3284497.587,1.00E-04 +19-1-2019 14:00,72382.63486,3727544.555,3727544.555,1.00E-04 +19-1-2019 15:00,72386.40633,3871275.331,3871275.331,1.00E-04 +19-1-2019 16:00,72390.18593,3755567.403,3755567.403,1.00E-04 +19-1-2019 17:00,72393.97367,3962067.788,3962067.788,1.00E-04 +19-1-2019 18:00,72397.76953,3831332.624,3831332.624,1.00E-04 +19-1-2019 19:00,72401.57353,3538287.2,3538287.2,1.00E-04 +19-1-2019 20:00,72405.38566,2933610.477,2933610.477,1.00E-04 +19-1-2019 21:00,72409.20591,1912897.728,1912897.728,1.00E-04 +19-1-2019 22:00,72413.03429,919376.423,919376.423,1.00E-04 +19-1-2019 23:00,72416.87078,415866.143,415866.143,1.00E-04 +20-1-2019 00:00,72420.7154,193753.861,193753.861,1.00E-04 +20-1-2019 01:00,72424.56813,113224.426,113224.426,1.00E-04 +20-1-2019 02:00,72428.42898,128844.639,128844.639,1.00E-04 +20-1-2019 03:00,72432.29795,235801.671,235801.671,1.00E-04 +20-1-2019 04:00,72436.17502,693218.239,693218.239,1.00E-04 +20-1-2019 05:00,72440.06021,2307446.211,2307446.211,1.00E-04 +20-1-2019 06:00,72443.9535,4391580.312,4391580.312,1.00E-04 +20-1-2019 07:00,72447.8549,5533758.874,5533758.874,1.00E-04 +20-1-2019 08:00,72451.76441,6004558.322,6004558.322,1.00E-04 +20-1-2019 09:00,72455.68201,3560744.068,3560744.068,1.00E-04 +20-1-2019 10:00,72459.60772,3051963.649,3051963.649,1.00E-04 +20-1-2019 11:00,72463.54152,4350962.595,4350962.595,1.00E-04 +20-1-2019 12:00,72467.48342,3260918.01,3260918.01,1.00E-04 +20-1-2019 13:00,72471.43341,2180976.875,2180976.875,1.00E-04 +20-1-2019 14:00,72475.39149,3610244.022,3610244.022,1.00E-04 +20-1-2019 15:00,72479.35767,4089025.248,4089025.248,1.00E-04 +20-1-2019 16:00,72483.33193,3997795.053,3997795.053,1.00E-04 +20-1-2019 17:00,72487.31428,4246033.61,4246033.61,1.00E-04 +20-1-2019 18:00,72491.30471,4076432.871,4076432.871,1.00E-04 +20-1-2019 19:00,72495.30322,3771688.816,3771688.816,1.00E-04 +20-1-2019 20:00,72499.30981,3176698.679,3176698.679,1.00E-04 +20-1-2019 21:00,72503.32448,2091178.81,2091178.81,1.00E-04 +20-1-2019 22:00,72507.34722,1003824.297,1003824.297,1.00E-04 +20-1-2019 23:00,72511.37804,466415.166,466415.166,1.00E-04 +21-1-2019 00:00,72515.41693,238878.717,238878.717,1.00E-04 +21-1-2019 01:00,72519.46389,178742.326,178742.326,1.00E-04 +21-1-2019 02:00,72523.51891,212708.062,212708.062,1.00E-04 +21-1-2019 03:00,72527.582,374659.782,374659.782,1.00E-04 +21-1-2019 04:00,72531.65315,929484.955,929484.955,1.00E-04 +21-1-2019 05:00,72535.73237,2799280.288,2799280.288,1.00E-04 +21-1-2019 06:00,72539.81964,5063347.793,5063347.793,1.00E-04 +21-1-2019 07:00,72543.91497,6198292.856,6198292.856,1.00E-04 +21-1-2019 08:00,72548.01835,6647655.595,6647655.595,1.00E-04 +21-1-2019 09:00,72552.12979,4039173.495,4039173.495,1.00E-04 +21-1-2019 10:00,72556.24927,4287246.551,4287246.551,1.00E-04 +21-1-2019 11:00,72560.3768,5067513.395,5067513.395,1.00E-04 +21-1-2019 12:00,72564.51238,4338022.633,4338022.633,1.00E-04 +21-1-2019 13:00,72568.65601,3613250.97,3613250.97,1.00E-04 +21-1-2019 14:00,72572.80767,4072533.024,4072533.024,1.00E-04 +21-1-2019 15:00,72576.96738,4221659.925,4221659.925,1.00E-04 +21-1-2019 16:00,72581.13512,4109298.417,4109298.417,1.00E-04 +21-1-2019 17:00,72585.3109,4295318.307,4295318.307,1.00E-04 +21-1-2019 18:00,72589.49471,4144375.06,4144375.06,1.00E-04 +21-1-2019 19:00,72593.68655,3809373.463,3809373.463,1.00E-04 +21-1-2019 20:00,72597.88642,3131269.05,3131269.05,1.00E-04 +21-1-2019 21:00,72602.09431,2034736.284,2034736.284,1.00E-04 +21-1-2019 22:00,72606.31023,981058.015,981058.015,1.00E-04 +21-1-2019 23:00,72610.53418,455857.507,455857.507,1.00E-04 +22-1-2019 00:00,72614.76614,231874.706,231874.706,1.00E-04 +22-1-2019 01:00,72619.00612,171988.81,171988.81,1.00E-04 +22-1-2019 02:00,72623.25412,196563.213,196563.213,1.00E-04 +22-1-2019 03:00,72627.51013,344702.134,344702.134,1.00E-04 +22-1-2019 04:00,72631.77415,869103.991,869103.991,1.00E-04 +22-1-2019 05:00,72636.04619,2634748.732,2634748.732,1.00E-04 +22-1-2019 06:00,72640.32623,4802487.529,4802487.529,1.00E-04 +22-1-2019 07:00,72644.61427,5897879.309,5897879.309,1.00E-04 +22-1-2019 08:00,72648.91031,6611173.198,6611173.198,1.00E-04 +22-1-2019 09:00,72653.21436,5051976.258,5051976.258,1.00E-04 +22-1-2019 10:00,72657.52641,4651392.858,4651392.858,1.00E-04 +22-1-2019 11:00,72661.84645,5485889.29,5485889.29,1.00E-04 +22-1-2019 12:00,72666.17448,4828733.196,4828733.196,1.00E-04 +22-1-2019 13:00,72670.51051,3968494.74,3968494.74,1.00E-04 +22-1-2019 14:00,72674.85452,4407688.327,4407688.327,1.00E-04 +22-1-2019 15:00,72679.20653,4498812.99,4498812.99,1.00E-04 +22-1-2019 16:00,72683.56651,4316681.054,4316681.054,1.00E-04 +22-1-2019 17:00,72687.93448,4470453.421,4470453.421,1.00E-04 +22-1-2019 18:00,72692.31043,4286377.48,4286377.48,1.00E-04 +22-1-2019 19:00,72696.69436,3918783.211,3918783.211,1.00E-04 +22-1-2019 20:00,72701.08627,3237472.028,3237472.028,1.00E-04 +22-1-2019 21:00,72705.48614,2094295.133,2094295.133,1.00E-04 +22-1-2019 22:00,72709.89399,998466.875,998466.875,1.00E-04 +22-1-2019 23:00,72714.30981,461905.787,461905.787,1.00E-04 +23-1-2019 00:00,72718.73359,235984.007,235984.007,1.00E-04 +23-1-2019 01:00,72723.16534,180613.545,180613.545,1.00E-04 +23-1-2019 02:00,72727.60506,199061.247,199061.247,1.00E-04 +23-1-2019 03:00,72732.05273,345047.507,345047.507,1.00E-04 +23-1-2019 04:00,72736.50836,872745.51,872745.51,1.00E-04 +23-1-2019 05:00,72740.97194,2638218.569,2638218.569,1.00E-04 +23-1-2019 06:00,72745.44348,4833777.333,4833777.333,1.00E-04 +23-1-2019 07:00,72749.92297,5984109.187,5984109.187,1.00E-04 +23-1-2019 08:00,72754.4104,6674635.198,6674635.198,1.00E-04 +23-1-2019 09:00,72758.90579,5091772.84,5091772.84,1.00E-04 +23-1-2019 10:00,72763.40911,4624058.369,4624058.369,1.00E-04 +23-1-2019 11:00,72767.92038,5462065.665,5462065.665,1.00E-04 +23-1-2019 12:00,72772.43959,4813938.864,4813938.864,1.00E-04 +23-1-2019 13:00,72776.96673,3942373.75,3942373.75,1.00E-04 +23-1-2019 14:00,72781.50181,4387872.51,4387872.51,1.00E-04 +23-1-2019 15:00,72786.04482,4491262.034,4491262.034,1.00E-04 +23-1-2019 16:00,72790.59576,4322894.884,4322894.884,1.00E-04 +23-1-2019 17:00,72795.15463,4494539.539,4494539.539,1.00E-04 +23-1-2019 18:00,72799.72142,4313164.856,4313164.856,1.00E-04 +23-1-2019 19:00,72804.29614,3951344.439,3951344.439,1.00E-04 +23-1-2019 20:00,72808.87878,3278936.353,3278936.353,1.00E-04 +23-1-2019 21:00,72813.46933,2123768.773,2123768.773,1.00E-04 +23-1-2019 22:00,72818.0678,1018993.815,1018993.815,1.00E-04 +23-1-2019 23:00,72822.67419,473841.711,473841.711,1.00E-04 +24-1-2019 00:00,72827.28848,246374.268,246374.268,1.00E-04 +24-1-2019 01:00,72831.91068,197780.373,197780.373,1.00E-04 +24-1-2019 02:00,72836.54079,225091.643,225091.643,1.00E-04 +24-1-2019 03:00,72841.17881,382842.089,382842.089,1.00E-04 +24-1-2019 04:00,72845.82472,942741.8,942741.8,1.00E-04 +24-1-2019 05:00,72850.47854,2767228.212,2767228.212,1.00E-04 +24-1-2019 06:00,72855.14025,4976822.508,4976822.508,1.00E-04 +24-1-2019 07:00,72859.80985,6096769.672,6096769.672,1.00E-04 +24-1-2019 08:00,72864.48735,6845771.828,6845771.828,1.00E-04 +24-1-2019 09:00,72869.17274,5242038.326,5242038.326,1.00E-04 +24-1-2019 10:00,72873.86601,4750924.388,4750924.388,1.00E-04 +24-1-2019 11:00,72878.56717,5563525.849,5563525.849,1.00E-04 +24-1-2019 12:00,72883.27621,4893985.047,4893985.047,1.00E-04 +24-1-2019 13:00,72887.99313,3858722.168,3858722.168,1.00E-04 +24-1-2019 14:00,72892.71793,4504231.83,4504231.83,1.00E-04 +24-1-2019 15:00,72897.4506,4610823.035,4610823.035,1.00E-04 +24-1-2019 16:00,72902.19115,4440737.091,4440737.091,1.00E-04 +24-1-2019 17:00,72906.93957,4623280.319,4623280.319,1.00E-04 +24-1-2019 18:00,72911.69585,4453414.749,4453414.749,1.00E-04 +24-1-2019 19:00,72916.46,4069528.911,4069528.911,1.00E-04 +24-1-2019 20:00,72921.23201,3375466.724,3375466.724,1.00E-04 +24-1-2019 21:00,72926.01188,2189795.993,2189795.993,1.00E-04 +24-1-2019 22:00,72930.79961,1046314.367,1046314.367,1.00E-04 +24-1-2019 23:00,72935.5952,491019.48,491019.48,1.00E-04 +25-1-2019 00:00,72940.39863,266357.357,266357.357,1.00E-04 +25-1-2019 01:00,72945.20992,223774.852,223774.852,1.00E-04 +25-1-2019 02:00,72950.02906,265161.68,265161.68,1.00E-04 +25-1-2019 03:00,72954.85604,429180.927,429180.927,1.00E-04 +25-1-2019 04:00,72959.69086,1025213.224,1025213.224,1.00E-04 +25-1-2019 05:00,72964.53353,2904654.977,2904654.977,1.00E-04 +25-1-2019 06:00,72969.38403,5152791.77,5152791.77,1.00E-04 +25-1-2019 07:00,72974.24237,6262975.418,6262975.418,1.00E-04 +25-1-2019 08:00,72979.10854,7000000,7000000,1.00E-04 +25-1-2019 09:00,72983.98255,5451430.187,5451430.187,1.00E-04 +25-1-2019 10:00,72988.86438,4762101.036,4762101.036,1.00E-04 +25-1-2019 11:00,72993.75403,5541352.061,5541352.061,1.00E-04 +25-1-2019 12:00,72998.65151,4837891.184,4837891.184,1.00E-04 +25-1-2019 13:00,73003.55681,3938675.342,3938675.342,1.00E-04 +25-1-2019 14:00,73008.46993,4408516.847,4408516.847,1.00E-04 +25-1-2019 15:00,73013.39086,4483053.169,4483053.169,1.00E-04 +25-1-2019 16:00,73018.31961,4297027.539,4297027.539,1.00E-04 +25-1-2019 17:00,73023.25617,4437334.636,4437334.636,1.00E-04 +25-1-2019 18:00,73028.20053,4202829.862,4202829.862,1.00E-04 +25-1-2019 19:00,73033.1527,3783129.504,3783129.504,1.00E-04 +25-1-2019 20:00,73038.11267,3083963.316,3083963.316,1.00E-04 +25-1-2019 21:00,73043.08044,1976269.197,1976269.197,1.00E-04 +25-1-2019 22:00,73048.05601,925350.622,925350.622,1.00E-04 +25-1-2019 23:00,73053.03938,410548.082,410548.082,1.00E-04 +26-1-2019 00:00,73058.03054,191386.111,191386.111,1.00E-04 +26-1-2019 01:00,73063.02948,126523.019,126523.019,1.00E-04 +26-1-2019 02:00,73068.03622,132490.701,132490.701,1.00E-04 +26-1-2019 03:00,73073.05074,226760.324,226760.324,1.00E-04 +26-1-2019 04:00,73078.07304,656019.539,656019.539,1.00E-04 +26-1-2019 05:00,73083.10312,2117285.296,2117285.296,1.00E-04 +26-1-2019 06:00,73088.14098,4013817.983,4013817.983,1.00E-04 +26-1-2019 07:00,73093.18661,5023594.947,5023594.947,1.00E-04 +26-1-2019 08:00,73098.24002,5703618.536,5703618.536,1.00E-04 +26-1-2019 09:00,73103.30119,4270629.986,4270629.986,1.00E-04 +26-1-2019 10:00,73108.37013,3949494.549,3949494.549,1.00E-04 +26-1-2019 11:00,73113.44684,4878964.664,4878964.664,1.00E-04 +26-1-2019 12:00,73118.5313,4199971.44,4199971.44,1.00E-04 +26-1-2019 13:00,73123.62353,3298926.778,3298926.778,1.00E-04 +26-1-2019 14:00,73128.72351,3779188.945,3779188.945,1.00E-04 +26-1-2019 15:00,73133.83124,3878240.023,3878240.023,1.00E-04 +26-1-2019 16:00,73138.94673,3721542.503,3721542.503,1.00E-04 +26-1-2019 17:00,73144.06996,3868034.597,3868034.597,1.00E-04 +26-1-2019 18:00,73149.20094,3714777.906,3714777.906,1.00E-04 +26-1-2019 19:00,73154.33966,3361407.84,3361407.84,1.00E-04 +26-1-2019 20:00,73159.48613,2765813.4,2765813.4,1.00E-04 +26-1-2019 21:00,73164.64033,1779615.103,1779615.103,1.00E-04 +26-1-2019 22:00,73169.80226,841629.656,841629.656,1.00E-04 +26-1-2019 23:00,73174.97193,370083.686,370083.686,1.00E-04 +27-1-2019 00:00,73180.14933,157956.008,157956.008,1.00E-04 +27-1-2019 01:00,73185.33445,70181.629,70181.629,1.00E-04 +27-1-2019 02:00,73190.5273,70877.016,70877.016,1.00E-04 +27-1-2019 03:00,73195.72788,130521.083,130521.083,1.00E-04 +27-1-2019 04:00,73200.93617,461586.657,461586.657,1.00E-04 +27-1-2019 05:00,73206.15217,1725537.135,1725537.135,1.00E-04 +27-1-2019 06:00,73211.37589,3423599.998,3423599.998,1.00E-04 +27-1-2019 07:00,73216.60732,4391122.029,4391122.029,1.00E-04 +27-1-2019 08:00,73221.84646,5110965.72,5110965.72,1.00E-04 +27-1-2019 09:00,73227.09331,3857353.542,3857353.542,1.00E-04 +27-1-2019 10:00,73232.34786,3660596.429,3660596.429,1.00E-04 +27-1-2019 11:00,73237.61011,4611900.846,4611900.846,1.00E-04 +27-1-2019 12:00,73242.88005,4030855.948,4030855.948,1.00E-04 +27-1-2019 13:00,73248.1577,3073755.629,3073755.629,1.00E-04 +27-1-2019 14:00,73253.44303,3602778.578,3602778.578,1.00E-04 +27-1-2019 15:00,73258.73605,3768156.007,3768156.007,1.00E-04 +27-1-2019 16:00,73264.03676,3582958.169,3582958.169,1.00E-04 +27-1-2019 17:00,73269.34515,3742510.772,3742510.772,1.00E-04 +27-1-2019 18:00,73274.66123,3576436.71,3576436.71,1.00E-04 +27-1-2019 19:00,73279.98498,3266326.63,3266326.63,1.00E-04 +27-1-2019 20:00,73285.31641,2702642.691,2702642.691,1.00E-04 +27-1-2019 21:00,73290.65551,1760391.633,1760391.633,1.00E-04 +27-1-2019 22:00,73296.00229,830945.22,830945.22,1.00E-04 +27-1-2019 23:00,73301.35672,365155.77,365155.77,1.00E-04 +28-1-2019 00:00,73306.71883,152804.673,152804.673,1.00E-04 +28-1-2019 01:00,73312.0886,64716.547,64716.547,1.00E-04 +28-1-2019 02:00,73317.46602,57515.388,57515.388,1.00E-04 +28-1-2019 03:00,73322.8511,116695.635,116695.635,1.00E-04 +28-1-2019 04:00,73328.24384,421999.025,421999.025,1.00E-04 +28-1-2019 05:00,73333.64423,1672482.476,1672482.476,1.00E-04 +28-1-2019 06:00,73339.05226,3348707.411,3348707.411,1.00E-04 +28-1-2019 07:00,73344.46794,4310073.089,4310073.089,1.00E-04 +28-1-2019 08:00,73349.89126,5049568.678,5049568.678,1.00E-04 +28-1-2019 09:00,73355.32223,3799515.013,3799515.013,1.00E-04 +28-1-2019 10:00,73360.76083,3598890.869,3598890.869,1.00E-04 +28-1-2019 11:00,73366.20706,4503802.03,4503802.03,1.00E-04 +28-1-2019 12:00,73371.66092,3864882.483,3864882.483,1.00E-04 +28-1-2019 13:00,73377.12242,2620104.795,2620104.795,1.00E-04 +28-1-2019 14:00,73382.59154,3543618.498,3543618.498,1.00E-04 +28-1-2019 15:00,73388.06828,3651238.633,3651238.633,1.00E-04 +28-1-2019 16:00,73393.55264,3585994.531,3585994.531,1.00E-04 +28-1-2019 17:00,73399.04462,3745965.237,3745965.237,1.00E-04 +28-1-2019 18:00,73404.54422,3642107.392,3642107.392,1.00E-04 +28-1-2019 19:00,73410.05142,3285089.528,3285089.528,1.00E-04 +28-1-2019 20:00,73415.56624,2737103.215,2737103.215,1.00E-04 +28-1-2019 21:00,73421.08866,1791129.508,1791129.508,1.00E-04 +28-1-2019 22:00,73426.61868,852479.208,852479.208,1.00E-04 +28-1-2019 23:00,73432.15631,378057.673,378057.673,1.00E-04 +29-1-2019 00:00,73437.70153,159086.564,159086.564,1.00E-04 +29-1-2019 01:00,73443.25435,71481.186,71481.186,1.00E-04 +29-1-2019 02:00,73448.81475,66907.561,66907.561,1.00E-04 +29-1-2019 03:00,73454.38275,139791.386,139791.386,1.00E-04 +29-1-2019 04:00,73459.95833,483829.864,483829.864,1.00E-04 +29-1-2019 05:00,73465.5415,1848129.759,1848129.759,1.00E-04 +29-1-2019 06:00,73471.13225,3639018.803,3639018.803,1.00E-04 +29-1-2019 07:00,73476.73057,4649888.656,4649888.656,1.00E-04 +29-1-2019 08:00,73482.33647,5380662.56,5380662.56,1.00E-04 +29-1-2019 09:00,73487.94994,4009635.434,4009635.434,1.00E-04 +29-1-2019 10:00,73493.57098,3779201.167,3779201.167,1.00E-04 +29-1-2019 11:00,73499.19958,4665691.688,4665691.688,1.00E-04 +29-1-2019 12:00,73504.83575,4014329.732,4014329.732,1.00E-04 +29-1-2019 13:00,73510.47948,3088023.596,3088023.596,1.00E-04 +29-1-2019 14:00,73516.13076,3643375.47,3643375.47,1.00E-04 +29-1-2019 15:00,73521.7896,3791516.099,3791516.099,1.00E-04 +29-1-2019 16:00,73527.45599,3700136.055,3700136.055,1.00E-04 +29-1-2019 17:00,73533.12993,3891612.27,3891612.27,1.00E-04 +29-1-2019 18:00,73538.81142,3728271.764,3728271.764,1.00E-04 +29-1-2019 19:00,73544.50045,3409597.058,3409597.058,1.00E-04 +29-1-2019 20:00,73550.19701,2814134.82,2814134.82,1.00E-04 +29-1-2019 21:00,73555.90112,1834537.005,1834537.005,1.00E-04 +29-1-2019 22:00,73561.61275,874600.944,874600.944,1.00E-04 +29-1-2019 23:00,73567.33192,390516.287,390516.287,1.00E-04 +30-1-2019 00:00,73573.05862,170356.844,170356.844,1.00E-04 +30-1-2019 01:00,73578.79284,82863.193,82863.193,1.00E-04 +30-1-2019 02:00,73584.53458,82927.201,82927.201,1.00E-04 +30-1-2019 03:00,73590.28384,163748.837,163748.837,1.00E-04 +30-1-2019 04:00,73596.04062,542812.599,542812.599,1.00E-04 +30-1-2019 05:00,73601.80491,1978446.19,1978446.19,1.00E-04 +30-1-2019 06:00,73607.57672,3847950.568,3847950.568,1.00E-04 +30-1-2019 07:00,73613.35602,4904070.619,4904070.619,1.00E-04 +30-1-2019 08:00,73619.14284,5623368.051,5623368.051,1.00E-04 +30-1-2019 09:00,73624.93715,4147492.58,4147492.58,1.00E-04 +30-1-2019 10:00,73630.73897,3867872.743,3867872.743,1.00E-04 +30-1-2019 11:00,73636.54827,4808342.231,4808342.231,1.00E-04 +30-1-2019 12:00,73642.36507,4153683.548,4153683.548,1.00E-04 +30-1-2019 13:00,73648.18936,3218101.53,3218101.53,1.00E-04 +30-1-2019 14:00,73654.02114,3802316.812,3802316.812,1.00E-04 +30-1-2019 15:00,73659.8604,3936944.606,3936944.606,1.00E-04 +30-1-2019 16:00,73665.70714,3839738.581,3839738.581,1.00E-04 +30-1-2019 17:00,73671.56135,4011890.813,4011890.813,1.00E-04 +30-1-2019 18:00,73677.42305,3849629.546,3849629.546,1.00E-04 +30-1-2019 19:00,73683.29221,3522044.673,3522044.673,1.00E-04 +30-1-2019 20:00,73689.16884,2909042.577,2909042.577,1.00E-04 +30-1-2019 21:00,73695.05294,1879487.785,1879487.785,1.00E-04 +30-1-2019 22:00,73700.94449,889503.104,889503.104,1.00E-04 +30-1-2019 23:00,73706.84351,400726.515,400726.515,1.00E-04 +31-1-2019 00:00,73712.74998,178369.772,178369.772,1.00E-04 +31-1-2019 01:00,73718.66391,93962.064,93962.064,1.00E-04 +31-1-2019 02:00,73724.58529,101386.103,101386.103,1.00E-04 +31-1-2019 03:00,73730.51411,188865.418,188865.418,1.00E-04 +31-1-2019 04:00,73736.45038,600715.248,600715.248,1.00E-04 +31-1-2019 05:00,73742.39409,2111971.12,2111971.12,1.00E-04 +31-1-2019 06:00,73748.34523,4095318.101,4095318.101,1.00E-04 +31-1-2019 07:00,73754.30382,5160020.775,5160020.775,1.00E-04 +31-1-2019 08:00,73760.26983,5897568.971,5897568.971,1.00E-04 +31-1-2019 09:00,73766.24327,4559696.925,4559696.925,1.00E-04 +31-1-2019 10:00,73772.22414,4317488.196,4317488.196,1.00E-04 +31-1-2019 11:00,73778.21243,5172548.899,5172548.899,1.00E-04 +31-1-2019 12:00,73784.20814,4411223.684,4411223.684,1.00E-04 +31-1-2019 13:00,73790.21126,3476556.923,3476556.923,1.00E-04 +31-1-2019 14:00,73796.2218,4073772.752,4073772.752,1.00E-04 +31-1-2019 15:00,73802.23975,4191711.79,4191711.79,1.00E-04 +31-1-2019 16:00,73808.26511,4076220.232,4076220.232,1.00E-04 +31-1-2019 17:00,73814.29787,4250304.177,4250304.177,1.00E-04 +31-1-2019 18:00,73820.33803,4053765.555,4053765.555,1.00E-04 +31-1-2019 19:00,73826.38559,3716228.81,3716228.81,1.00E-04 +31-1-2019 20:00,73832.44054,3069738.861,3069738.861,1.00E-04 +31-1-2019 21:00,73838.50288,1977577.735,1977577.735,1.00E-04 +31-1-2019 22:00,73844.57262,944670.657,944670.657,1.00E-04 +31-1-2019 23:00,73850.64974,426052.284,426052.284,1.00E-04 +1-2-2019 00:00,73856.73424,201062.043,201062.043,1.00E-04 +1-2-2019 01:00,73862.82612,125007.008,125007.008,1.00E-04 +1-2-2019 02:00,73868.92537,139269.711,139269.711,1.00E-04 +1-2-2019 03:00,73875.032,248947.986,248947.986,1.00E-04 +1-2-2019 04:00,73881.146,706448.575,706448.575,1.00E-04 +1-2-2019 05:00,73887.26736,2302019.86,2302019.86,1.00E-04 +1-2-2019 06:00,73893.39609,4345726.161,4345726.161,1.00E-04 +1-2-2019 07:00,73899.53218,5386144.407,5386144.407,1.00E-04 +1-2-2019 08:00,73905.67562,6090063.56,6090063.56,1.00E-04 +1-2-2019 09:00,73911.82642,4516689.856,4516689.856,1.00E-04 +1-2-2019 10:00,73917.98457,4181123.051,4181123.051,1.00E-04 +1-2-2019 11:00,73924.15007,5087891.606,5087891.606,1.00E-04 +1-2-2019 12:00,73930.32291,4384332.729,4384332.729,1.00E-04 +1-2-2019 13:00,73936.50309,3446276.365,3446276.365,1.00E-04 +1-2-2019 14:00,73942.69061,3985130.891,3985130.891,1.00E-04 +1-2-2019 15:00,73948.88547,4084442.46,4084442.46,1.00E-04 +1-2-2019 16:00,73955.08766,3987793.152,3987793.152,1.00E-04 +1-2-2019 17:00,73961.29717,4149430.593,4149430.593,1.00E-04 +1-2-2019 18:00,73967.51401,3973080.65,3973080.65,1.00E-04 +1-2-2019 19:00,73973.73817,3626672.693,3626672.693,1.00E-04 +1-2-2019 20:00,73979.96966,2981889.323,2981889.323,1.00E-04 +1-2-2019 21:00,73986.20845,1933065.967,1933065.967,1.00E-04 +1-2-2019 22:00,73992.45456,917052.29,917052.29,1.00E-04 +1-2-2019 23:00,73998.70798,410346.566,410346.566,1.00E-04 +2-2-2019 00:00,74004.96871,190555.617,190555.617,1.00E-04 +2-2-2019 01:00,74011.23673,113741.684,113741.684,1.00E-04 +2-2-2019 02:00,74017.51206,125434.344,125434.344,1.00E-04 +2-2-2019 03:00,74023.79468,222435.584,222435.584,1.00E-04 +2-2-2019 04:00,74030.0846,655033.876,655033.876,1.00E-04 +2-2-2019 05:00,74036.38181,2172539.894,2172539.894,1.00E-04 +2-2-2019 06:00,74042.6863,4144261.59,4144261.59,1.00E-04 +2-2-2019 07:00,74048.99808,5168189.159,5168189.159,1.00E-04 +2-2-2019 08:00,74055.31713,4603413.717,4603413.717,1.00E-04 +2-2-2019 09:00,74061.64347,4234075.09,4234075.09,1.00E-04 +2-2-2019 10:00,74067.97707,4029978.204,4029978.204,1.00E-04 +2-2-2019 11:00,74074.31795,4985400.539,4985400.539,1.00E-04 +2-2-2019 12:00,74080.6661,4288200.784,4288200.784,1.00E-04 +2-2-2019 13:00,74087.0215,3357460.995,3357460.995,1.00E-04 +2-2-2019 14:00,74093.38417,2488329.753,2488329.753,1.00E-04 +2-2-2019 15:00,74099.7541,4024712.398,4024712.398,1.00E-04 +2-2-2019 16:00,74106.13128,3917542.748,3917542.748,1.00E-04 +2-2-2019 17:00,74112.51571,4098129.28,4098129.28,1.00E-04 +2-2-2019 18:00,74118.90739,3942283.947,3942283.947,1.00E-04 +2-2-2019 19:00,74125.30631,3598619.276,3598619.276,1.00E-04 +2-2-2019 20:00,74131.71248,3006807.846,3006807.846,1.00E-04 +2-2-2019 21:00,74138.12588,1936478.81,1936478.81,1.00E-04 +2-2-2019 22:00,74144.54651,912108.407,912108.407,1.00E-04 +2-2-2019 23:00,74150.97438,419679.33,419679.33,1.00E-04 +3-2-2019 00:00,74157.40947,196488.481,196488.481,1.00E-04 +3-2-2019 01:00,74163.85179,116083.59,116083.59,1.00E-04 +3-2-2019 02:00,74170.30133,129168.893,129168.893,1.00E-04 +3-2-2019 03:00,74176.75809,232873.095,232873.095,1.00E-04 +3-2-2019 04:00,74183.22206,687319.507,687319.507,1.00E-04 +3-2-2019 05:00,74189.69324,2261309.449,2261309.449,1.00E-04 +3-2-2019 06:00,74196.17163,4342172.8,4342172.8,1.00E-04 +3-2-2019 07:00,74202.65722,5333914.691,5333914.691,1.00E-04 +3-2-2019 08:00,74209.15002,3747227.624,3747227.624,1.00E-04 +3-2-2019 09:00,74215.65001,2979583.6,2979583.6,1.00E-04 +3-2-2019 10:00,74222.1572,2571974.174,2571974.174,1.00E-04 +3-2-2019 11:00,74228.67158,3747124.29,3747124.29,1.00E-04 +3-2-2019 12:00,74235.19315,2985086.972,2985086.972,1.00E-04 +3-2-2019 13:00,74241.7219,1761633.083,1761633.083,1.00E-04 +3-2-2019 14:00,74248.25783,1653170.057,1653170.057,1.00E-04 +3-2-2019 15:00,74254.80094,3546287.262,3546287.262,1.00E-04 +3-2-2019 16:00,74261.35122,3854350.64,3854350.64,1.00E-04 +3-2-2019 17:00,74267.90868,4109944.965,4109944.965,1.00E-04 +3-2-2019 18:00,74274.4733,4003926.752,4003926.752,1.00E-04 +3-2-2019 19:00,74281.04508,3650744.104,3650744.104,1.00E-04 +3-2-2019 20:00,74287.62403,3008786.109,3008786.109,1.00E-04 +3-2-2019 21:00,74294.21014,1921736.138,1921736.138,1.00E-04 +3-2-2019 22:00,74300.80339,915460.728,915460.728,1.00E-04 +3-2-2019 23:00,74307.4038,410235.427,410235.427,1.00E-04 +4-2-2019 00:00,74314.01136,190285.221,190285.221,1.00E-04 +4-2-2019 01:00,74320.62606,111183.632,111183.632,1.00E-04 +4-2-2019 02:00,74327.2479,122801.882,122801.882,1.00E-04 +4-2-2019 03:00,74333.87688,218708.028,218708.028,1.00E-04 +4-2-2019 04:00,74340.51299,653527.133,653527.133,1.00E-04 +4-2-2019 05:00,74347.15623,2182517.715,2182517.715,1.00E-04 +4-2-2019 06:00,74353.80659,4158091.994,4158091.994,1.00E-04 +4-2-2019 07:00,74360.46409,5153274.847,5153274.847,1.00E-04 +4-2-2019 08:00,74367.1287,4511559.199,4511559.199,1.00E-04 +4-2-2019 09:00,74373.80042,4115345.71,4115345.71,1.00E-04 +4-2-2019 10:00,74380.47926,3899879.949,3899879.949,1.00E-04 +4-2-2019 11:00,74387.16521,4829985.734,4829985.734,1.00E-04 +4-2-2019 12:00,74393.85827,4220841.583,4220841.583,1.00E-04 +4-2-2019 13:00,74400.55843,3253848.192,3253848.192,1.00E-04 +4-2-2019 14:00,74407.26569,2364411.693,2364411.693,1.00E-04 +4-2-2019 15:00,74413.98004,3959882.773,3959882.773,1.00E-04 +4-2-2019 16:00,74420.70149,3882126.626,3882126.626,1.00E-04 +4-2-2019 17:00,74427.43002,4043359.236,4043359.236,1.00E-04 +4-2-2019 18:00,74434.16564,3864924.189,3864924.189,1.00E-04 +4-2-2019 19:00,74440.90834,3517014.816,3517014.816,1.00E-04 +4-2-2019 20:00,74447.65813,2895940.789,2895940.789,1.00E-04 +4-2-2019 21:00,74454.41498,1869361.473,1869361.473,1.00E-04 +4-2-2019 22:00,74461.17891,882292.236,882292.236,1.00E-04 +4-2-2019 23:00,74467.9499,392509.418,392509.418,1.00E-04 +5-2-2019 00:00,74474.72796,175317.674,175317.674,1.00E-04 +5-2-2019 01:00,74481.51309,90619.746,90619.746,1.00E-04 +5-2-2019 02:00,74488.30526,96468.064,96468.064,1.00E-04 +5-2-2019 03:00,74495.1045,170326.149,170326.149,1.00E-04 +5-2-2019 04:00,74501.91078,556504.662,556504.662,1.00E-04 +5-2-2019 05:00,74508.72411,1962737.924,1962737.924,1.00E-04 +5-2-2019 06:00,74515.54449,3802087.723,3802087.723,1.00E-04 +5-2-2019 07:00,74522.3719,4775161.93,4775161.93,1.00E-04 +5-2-2019 08:00,74529.20635,4119852.681,4119852.681,1.00E-04 +5-2-2019 09:00,74536.04784,3852869.272,3852869.272,1.00E-04 +5-2-2019 10:00,74542.89635,3729469.478,3729469.478,1.00E-04 +5-2-2019 11:00,74549.75189,4683549.248,4683549.248,1.00E-04 +5-2-2019 12:00,74556.61445,4011322.315,4011322.315,1.00E-04 +5-2-2019 13:00,74563.48403,3020051.727,3020051.727,1.00E-04 +5-2-2019 14:00,74570.36063,2120861.358,2120861.358,1.00E-04 +5-2-2019 15:00,74577.24424,3726065.308,3726065.308,1.00E-04 +5-2-2019 16:00,74584.13485,3660282.374,3660282.374,1.00E-04 +5-2-2019 17:00,74591.03248,3813536.02,3813536.02,1.00E-04 +5-2-2019 18:00,74597.9371,3648821.463,3648821.463,1.00E-04 +5-2-2019 19:00,74604.84872,3363119.312,3363119.312,1.00E-04 +5-2-2019 20:00,74611.76733,2784337.311,2784337.311,1.00E-04 +5-2-2019 21:00,74618.69294,1801516.017,1801516.017,1.00E-04 +5-2-2019 22:00,74625.62553,859817.28,859817.28,1.00E-04 +5-2-2019 23:00,74632.56511,383488.959,383488.959,1.00E-04 +6-2-2019 00:00,74639.51166,165316.354,165316.354,1.00E-04 +6-2-2019 01:00,74646.4652,77087.717,77087.717,1.00E-04 +6-2-2019 02:00,74653.4257,76135.29,76135.29,1.00E-04 +6-2-2019 03:00,74660.39318,147752.269,147752.269,1.00E-04 +6-2-2019 04:00,74667.36761,500469.473,500469.473,1.00E-04 +6-2-2019 05:00,74674.34902,1850926.819,1850926.819,1.00E-04 +6-2-2019 06:00,74681.33738,3627940.218,3627940.218,1.00E-04 +6-2-2019 07:00,74688.33269,4593345.197,4593345.197,1.00E-04 +6-2-2019 08:00,74695.33496,3925335.722,3925335.722,1.00E-04 +6-2-2019 09:00,74702.34417,3679399.766,3679399.766,1.00E-04 +6-2-2019 10:00,74709.36033,3560980.255,3560980.255,1.00E-04 +6-2-2019 11:00,74716.38343,4523639.015,4523639.015,1.00E-04 +6-2-2019 12:00,74723.41346,3851343.636,3851343.636,1.00E-04 +6-2-2019 13:00,74730.45043,2834618.297,2834618.297,1.00E-04 +6-2-2019 14:00,74737.49433,1922823.784,1922823.784,1.00E-04 +6-2-2019 15:00,74744.54515,3537875.761,3537875.761,1.00E-04 +6-2-2019 16:00,74751.6029,3487547.147,3487547.147,1.00E-04 +6-2-2019 17:00,74758.66756,3644679.591,3644679.591,1.00E-04 +6-2-2019 18:00,74765.73914,3474708.986,3474708.986,1.00E-04 +6-2-2019 19:00,74772.81763,3151993.642,3151993.642,1.00E-04 +6-2-2019 20:00,74779.90303,2585502.402,2585502.402,1.00E-04 +6-2-2019 21:00,74786.99533,1664324.606,1664324.606,1.00E-04 +6-2-2019 22:00,74794.09454,784393.904,784393.904,1.00E-04 +6-2-2019 23:00,74801.20064,342973.47,342973.47,1.00E-04 +7-2-2019 00:00,74808.31363,145136.138,145136.138,1.00E-04 +7-2-2019 01:00,74815.43351,55894.783,55894.783,1.00E-04 +7-2-2019 02:00,74822.56028,42789.264,42789.264,1.00E-04 +7-2-2019 03:00,74829.69393,85566.04,85566.04,1.00E-04 +7-2-2019 04:00,74836.83446,349894.244,349894.244,1.00E-04 +7-2-2019 05:00,74843.98186,1432016.544,1432016.544,1.00E-04 +7-2-2019 06:00,74851.13614,2934098.741,2934098.741,1.00E-04 +7-2-2019 07:00,74858.29728,3737708.737,3737708.737,1.00E-04 +7-2-2019 08:00,74865.46529,3091864.58,3091864.58,1.00E-04 +7-2-2019 09:00,74872.64015,3028227.727,3028227.727,1.00E-04 +7-2-2019 10:00,74879.82188,3023159.993,3023159.993,1.00E-04 +7-2-2019 11:00,74887.01045,4070427.438,4070427.438,1.00E-04 +7-2-2019 12:00,74894.20588,3271447.207,3271447.207,1.00E-04 +7-2-2019 13:00,74901.40815,2040111.297,2040111.297,1.00E-04 +7-2-2019 14:00,74908.61726,767381.181,767381.181,1.00E-04 +7-2-2019 15:00,74915.83321,2592828.658,2592828.658,1.00E-04 +7-2-2019 16:00,74923.05599,3145008.384,3145008.384,1.00E-04 +7-2-2019 17:00,74930.2856,3368673.357,3368673.357,1.00E-04 +7-2-2019 18:00,74937.52204,3233440.777,3233440.777,1.00E-04 +7-2-2019 19:00,74944.76531,2949458.092,2949458.092,1.00E-04 +7-2-2019 20:00,74952.01539,2436410.046,2436410.046,1.00E-04 +7-2-2019 21:00,74959.27229,1579721.591,1579721.591,1.00E-04 +7-2-2019 22:00,74966.536,743443.078,743443.078,1.00E-04 +7-2-2019 23:00,74973.80652,322099.505,322099.505,1.00E-04 +8-2-2019 00:00,74981.08384,135354.758,135354.758,1.00E-04 +8-2-2019 01:00,74988.36796,48241.592,48241.592,1.00E-04 +8-2-2019 02:00,74995.65888,33303.487,33303.487,1.00E-04 +8-2-2019 03:00,75002.9566,63162.281,63162.281,1.00E-04 +8-2-2019 04:00,75010.2611,300385.008,300385.008,1.00E-04 +8-2-2019 05:00,75017.57239,1306057.431,1306057.431,1.00E-04 +8-2-2019 06:00,75024.89046,2722052.711,2722052.711,1.00E-04 +8-2-2019 07:00,75032.21531,3480387.498,3480387.498,1.00E-04 +8-2-2019 08:00,75039.54693,2827938.876,2827938.876,1.00E-04 +8-2-2019 09:00,75046.88532,2831130.96,2831130.96,1.00E-04 +8-2-2019 10:00,75054.23048,2824588.592,2824588.592,1.00E-04 +8-2-2019 11:00,75061.5824,3899773.57,3899773.57,1.00E-04 +8-2-2019 12:00,75068.94108,3269080.206,3269080.206,1.00E-04 +8-2-2019 13:00,75076.30652,2226711.424,2226711.424,1.00E-04 +8-2-2019 14:00,75083.67871,1337476.189,1337476.189,1.00E-04 +8-2-2019 15:00,75091.05765,2858825.564,2858825.564,1.00E-04 +8-2-2019 16:00,75098.44333,2947576.688,2947576.688,1.00E-04 +8-2-2019 17:00,75105.83575,3095621.865,3095621.865,1.00E-04 +8-2-2019 18:00,75113.23491,2976521.646,2976521.646,1.00E-04 +8-2-2019 19:00,75120.6408,2718935.065,2718935.065,1.00E-04 +8-2-2019 20:00,75128.05341,2230291.588,2230291.588,1.00E-04 +8-2-2019 21:00,75135.47276,1434444.228,1434444.228,1.00E-04 +8-2-2019 22:00,75142.89882,674336.208,674336.208,1.00E-04 +8-2-2019 23:00,75150.33161,287052.675,287052.675,1.00E-04 +9-2-2019 00:00,75157.7711,118599.467,118599.467,1.00E-04 +9-2-2019 01:00,75165.21731,40468.47,40468.47,1.00E-04 +9-2-2019 02:00,75172.67022,23077.593,23077.593,1.00E-04 +9-2-2019 03:00,75180.12983,37050.755,37050.755,1.00E-04 +9-2-2019 04:00,75187.59614,207019.365,207019.365,1.00E-04 +9-2-2019 05:00,75195.06915,1015866.327,1015866.327,1.00E-04 +9-2-2019 06:00,75202.54885,2208189.676,2208189.676,1.00E-04 +9-2-2019 07:00,75210.03523,2841905.885,2841905.885,1.00E-04 +9-2-2019 08:00,75217.52829,2246628.104,2246628.104,1.00E-04 +9-2-2019 09:00,75225.02804,2330357.841,2330357.841,1.00E-04 +9-2-2019 10:00,75232.53446,2423161.3,2423161.3,1.00E-04 +9-2-2019 11:00,75240.04755,3306508.87,3306508.87,1.00E-04 +9-2-2019 12:00,75247.56731,2735846.484,2735846.484,1.00E-04 +9-2-2019 13:00,75255.09373,1630827.38,1630827.38,1.00E-04 +9-2-2019 14:00,75262.62681,1031091.264,1031091.264,1.00E-04 +9-2-2019 15:00,75270.16655,2564649.549,2564649.549,1.00E-04 +9-2-2019 16:00,75277.71294,2771131.384,2771131.384,1.00E-04 +9-2-2019 17:00,75285.26598,2971465.189,2971465.189,1.00E-04 +9-2-2019 18:00,75292.82566,2827381.312,2827381.312,1.00E-04 +9-2-2019 19:00,75300.39198,2580012.092,2580012.092,1.00E-04 +9-2-2019 20:00,75307.96494,2108646.232,2108646.232,1.00E-04 +9-2-2019 21:00,75315.54453,1357066.564,1357066.564,1.00E-04 +9-2-2019 22:00,75323.13075,641997.209,641997.209,1.00E-04 +9-2-2019 23:00,75330.72359,276183.334,276183.334,1.00E-04 +10-2-2019 00:00,75338.32306,112239.771,112239.771,1.00E-04 +10-2-2019 01:00,75345.92914,37537.57,37537.57,1.00E-04 +10-2-2019 02:00,75353.54183,21137.48,21137.48,1.00E-04 +10-2-2019 03:00,75361.16113,32155.774,32155.774,1.00E-04 +10-2-2019 04:00,75368.78704,179774.084,179774.084,1.00E-04 +10-2-2019 05:00,75376.41955,934014.984,934014.984,1.00E-04 +10-2-2019 06:00,75384.05866,2023815.885,2023815.885,1.00E-04 +10-2-2019 07:00,75391.70436,2605153.222,2605153.222,1.00E-04 +10-2-2019 08:00,75399.35665,2112181.092,2112181.092,1.00E-04 +10-2-2019 09:00,75407.01552,2284428.076,2284428.076,1.00E-04 +10-2-2019 10:00,75414.68098,2399564.307,2399564.307,1.00E-04 +10-2-2019 11:00,75422.35301,3397712.696,3397712.696,1.00E-04 +10-2-2019 12:00,75430.03162,3015318.201,3015318.201,1.00E-04 +10-2-2019 13:00,75437.7168,1942792.999,1942792.999,1.00E-04 +10-2-2019 14:00,75445.40854,1154850.676,1154850.676,1.00E-04 +10-2-2019 15:00,75453.10684,2702796.208,2702796.208,1.00E-04 +10-2-2019 16:00,75460.8117,2891990.724,2891990.724,1.00E-04 +10-2-2019 17:00,75468.52312,3112170.677,3112170.677,1.00E-04 +10-2-2019 18:00,75476.24109,3010904.456,3010904.456,1.00E-04 +10-2-2019 19:00,75483.9656,2737852.796,2737852.796,1.00E-04 +10-2-2019 20:00,75491.69665,2234161.433,2234161.433,1.00E-04 +10-2-2019 21:00,75499.43424,1444458.596,1444458.596,1.00E-04 +10-2-2019 22:00,75507.17837,681005.129,681005.129,1.00E-04 +10-2-2019 23:00,75514.92902,294467.6,294467.6,1.00E-04 +11-2-2019 00:00,75522.6862,121039.625,121039.625,1.00E-04 +11-2-2019 01:00,75530.44991,41080.473,41080.473,1.00E-04 +11-2-2019 02:00,75538.22013,23274.272,23274.272,1.00E-04 +11-2-2019 03:00,75545.99686,39528.342,39528.342,1.00E-04 +11-2-2019 04:00,75553.78011,214345.124,214345.124,1.00E-04 +11-2-2019 05:00,75561.56986,1065939.952,1065939.952,1.00E-04 +11-2-2019 06:00,75569.36611,2281705.853,2281705.853,1.00E-04 +11-2-2019 07:00,75577.16886,2857901.739,2857901.739,1.00E-04 +11-2-2019 08:00,75584.97811,2165737.189,2165737.189,1.00E-04 +11-2-2019 09:00,75592.79384,2314590.824,2314590.824,1.00E-04 +11-2-2019 10:00,75600.61606,2319907.534,2319907.534,1.00E-04 +11-2-2019 11:00,75608.44477,3051897.765,3051897.765,1.00E-04 +11-2-2019 12:00,75616.27995,2510659.648,2510659.648,1.00E-04 +11-2-2019 13:00,75624.1216,1304631.188,1304631.188,1.00E-04 +11-2-2019 14:00,75631.96972,564257.4,564257.4,1.00E-04 +11-2-2019 15:00,75639.82431,1023701.224,1023701.224,1.00E-04 +11-2-2019 16:00,75647.68537,2651767.636,2651767.636,1.00E-04 +11-2-2019 17:00,75655.55287,3040245.201,3040245.201,1.00E-04 +11-2-2019 18:00,75663.42684,3058505.611,3058505.611,1.00E-04 +11-2-2019 19:00,75671.30725,2818770.269,2818770.269,1.00E-04 +11-2-2019 20:00,75679.19411,2318845.459,2318845.459,1.00E-04 +11-2-2019 21:00,75687.08741,1506301.979,1506301.979,1.00E-04 +11-2-2019 22:00,75694.98714,731813.936,731813.936,1.00E-04 +11-2-2019 23:00,75702.89331,308194.054,308194.054,1.00E-04 +12-2-2019 00:00,75710.80591,131256.447,131256.447,1.00E-04 +12-2-2019 01:00,75718.72494,45885.861,45885.861,1.00E-04 +12-2-2019 02:00,75726.65038,28379.96,28379.96,1.00E-04 +12-2-2019 03:00,75734.58225,57780.779,57780.779,1.00E-04 +12-2-2019 04:00,75742.52052,273673.337,273673.337,1.00E-04 +12-2-2019 05:00,75750.46521,1256189.067,1256189.067,1.00E-04 +12-2-2019 06:00,75758.41629,2601503.828,2601503.828,1.00E-04 +12-2-2019 07:00,75766.37378,3312534.932,3312534.932,1.00E-04 +12-2-2019 08:00,75774.33767,2652239.408,2652239.408,1.00E-04 +12-2-2019 09:00,75782.30795,2660580.027,2660580.027,1.00E-04 +12-2-2019 10:00,75790.28462,2625310.877,2625310.877,1.00E-04 +12-2-2019 11:00,75798.26767,3618811.49,3618811.49,1.00E-04 +12-2-2019 12:00,75806.2571,3062863.097,3062863.097,1.00E-04 +12-2-2019 13:00,75814.25291,1789382.434,1789382.434,1.00E-04 +12-2-2019 14:00,75822.25509,1070926.682,1070926.682,1.00E-04 +12-2-2019 15:00,75830.26364,2642245.55,2642245.55,1.00E-04 +12-2-2019 16:00,75838.27855,2882172.713,2882172.713,1.00E-04 +12-2-2019 17:00,75846.29982,3091270.035,3091270.035,1.00E-04 +12-2-2019 18:00,75854.32745,2966111.204,2966111.204,1.00E-04 +12-2-2019 19:00,75862.36142,2707986.771,2707986.771,1.00E-04 +12-2-2019 20:00,75870.40175,2253327.195,2253327.195,1.00E-04 +12-2-2019 21:00,75878.44842,1457440.138,1457440.138,1.00E-04 +12-2-2019 22:00,75886.50142,689928.463,689928.463,1.00E-04 +12-2-2019 23:00,75894.56077,295703.436,295703.436,1.00E-04 +13-2-2019 00:00,75902.62644,123851.287,123851.287,1.00E-04 +13-2-2019 01:00,75910.69844,42068.831,42068.831,1.00E-04 +13-2-2019 02:00,75918.77676,24431.813,24431.813,1.00E-04 +13-2-2019 03:00,75926.8614,42835.618,42835.618,1.00E-04 +13-2-2019 04:00,75934.95235,227503.213,227503.213,1.00E-04 +13-2-2019 05:00,75943.04962,1094780.771,1094780.771,1.00E-04 +13-2-2019 06:00,75951.15319,2330745.893,2330745.893,1.00E-04 +13-2-2019 07:00,75959.26306,2984668.295,2984668.295,1.00E-04 +13-2-2019 08:00,75967.37923,2378938.499,2378938.499,1.00E-04 +13-2-2019 09:00,75975.50169,2478712.565,2478712.565,1.00E-04 +13-2-2019 10:00,75983.63044,2547605.137,2547605.137,1.00E-04 +13-2-2019 11:00,75991.76547,3570205.87,3570205.87,1.00E-04 +13-2-2019 12:00,75999.90679,3088301.944,3088301.944,1.00E-04 +13-2-2019 13:00,76008.05438,1958381.089,1958381.089,1.00E-04 +13-2-2019 14:00,76016.20825,1045616.838,1045616.838,1.00E-04 +13-2-2019 15:00,76024.36838,2602550.79,2602550.79,1.00E-04 +13-2-2019 16:00,76032.53478,2862725.089,2862725.089,1.00E-04 +13-2-2019 17:00,76040.70743,3087233.625,3087233.625,1.00E-04 +13-2-2019 18:00,76048.88634,2977750.573,2977750.573,1.00E-04 +13-2-2019 19:00,76057.07151,2742562.508,2742562.508,1.00E-04 +13-2-2019 20:00,76065.26292,2280782.77,2280782.77,1.00E-04 +13-2-2019 21:00,76073.46057,1486582.055,1486582.055,1.00E-04 +13-2-2019 22:00,76081.66446,712055.995,712055.995,1.00E-04 +13-2-2019 23:00,76089.87459,318140.263,318140.263,1.00E-04 +14-2-2019 00:00,76098.09094,131640.929,131640.929,1.00E-04 +14-2-2019 01:00,76106.31353,46817.239,46817.239,1.00E-04 +14-2-2019 02:00,76114.54233,29489.369,29489.369,1.00E-04 +14-2-2019 03:00,76122.77735,59086.895,59086.895,1.00E-04 +14-2-2019 04:00,76131.01858,285866.469,285866.469,1.00E-04 +14-2-2019 05:00,76139.26603,1301124.804,1301124.804,1.00E-04 +14-2-2019 06:00,76147.51968,2732533.391,2732533.391,1.00E-04 +14-2-2019 07:00,76155.77953,3365748.631,3365748.631,1.00E-04 +14-2-2019 08:00,76164.04557,2543890.293,2543890.293,1.00E-04 +14-2-2019 09:00,76172.31781,2543260.377,2543260.377,1.00E-04 +14-2-2019 10:00,76180.59623,2509559.262,2509559.262,1.00E-04 +14-2-2019 11:00,76188.88084,3398018.274,3398018.274,1.00E-04 +14-2-2019 12:00,76197.17163,2934928.542,2934928.542,1.00E-04 +14-2-2019 13:00,76205.46859,1810292.855,1810292.855,1.00E-04 +14-2-2019 14:00,76213.77172,897381.485,897381.485,1.00E-04 +14-2-2019 15:00,76222.08102,2374036.679,2374036.679,1.00E-04 +14-2-2019 16:00,76230.39649,2864015.077,2864015.077,1.00E-04 +14-2-2019 17:00,76238.71811,3216222.709,3216222.709,1.00E-04 +14-2-2019 18:00,76247.04588,3154064.977,3154064.977,1.00E-04 +14-2-2019 19:00,76255.3798,2937336.787,2937336.787,1.00E-04 +14-2-2019 20:00,76263.71987,2423574.958,2423574.958,1.00E-04 +14-2-2019 21:00,76272.06608,1594905.102,1594905.102,1.00E-04 +14-2-2019 22:00,76280.41842,752890.012,752890.012,1.00E-04 +14-2-2019 23:00,76288.7769,323136.219,323136.219,1.00E-04 +15-2-2019 00:00,76297.1415,138903.128,138903.128,1.00E-04 +15-2-2019 01:00,76305.51223,48623.974,48623.974,1.00E-04 +15-2-2019 02:00,76313.88908,34850.018,34850.018,1.00E-04 +15-2-2019 03:00,76322.27204,68868.863,68868.863,1.00E-04 +15-2-2019 04:00,76330.66112,306794.187,306794.187,1.00E-04 +15-2-2019 05:00,76339.0563,1365657.825,1365657.825,1.00E-04 +15-2-2019 06:00,76347.45758,2840773.768,2840773.768,1.00E-04 +15-2-2019 07:00,76355.86496,3425366.672,3425366.672,1.00E-04 +15-2-2019 08:00,76364.27843,2272628.099,2272628.099,1.00E-04 +15-2-2019 09:00,76372.69799,1858842.671,1858842.671,1.00E-04 +15-2-2019 10:00,76381.12364,1613538.976,1613538.976,1.00E-04 +15-2-2019 11:00,76389.55536,2011992.22,2011992.22,1.00E-04 +15-2-2019 12:00,76397.99316,1583436.96,1583436.96,1.00E-04 +15-2-2019 13:00,76406.43704,744864.267,744864.267,1.00E-04 +15-2-2019 14:00,76414.88698,311106.95,311106.95,1.00E-04 +15-2-2019 15:00,76423.34298,470812.58,470812.58,1.00E-04 +15-2-2019 16:00,76431.80505,1468781.279,1468781.279,1.00E-04 +15-2-2019 17:00,76440.27316,2651836.299,2651836.299,1.00E-04 +15-2-2019 18:00,76448.74733,2801520.778,2801520.778,1.00E-04 +15-2-2019 19:00,76457.22754,2665949.825,2665949.825,1.00E-04 +15-2-2019 20:00,76465.7138,2339154.244,2339154.244,1.00E-04 +15-2-2019 21:00,76474.20609,1535654.183,1535654.183,1.00E-04 +15-2-2019 22:00,76482.70441,719940.802,719940.802,1.00E-04 +15-2-2019 23:00,76491.20876,304626.077,304626.077,1.00E-04 +16-2-2019 00:00,76499.71914,133832.951,133832.951,1.00E-04 +16-2-2019 01:00,76508.23553,46737.74,46737.74,1.00E-04 +16-2-2019 02:00,76516.75794,29229.018,29229.018,1.00E-04 +16-2-2019 03:00,76525.28636,55746.803,55746.803,1.00E-04 +16-2-2019 04:00,76533.82079,275178.554,275178.554,1.00E-04 +16-2-2019 05:00,76542.36122,1282411.543,1282411.543,1.00E-04 +16-2-2019 06:00,76550.90764,2687928.705,2687928.705,1.00E-04 +16-2-2019 07:00,76559.46006,3372005.098,3372005.098,1.00E-04 +16-2-2019 08:00,76568.01847,2422715.792,2422715.792,1.00E-04 +16-2-2019 09:00,76576.58286,2390428.551,2390428.551,1.00E-04 +16-2-2019 10:00,76585.15323,2325561.028,2325561.028,1.00E-04 +16-2-2019 11:00,76593.72957,3154095.847,3154095.847,1.00E-04 +16-2-2019 12:00,76602.31189,2722254.885,2722254.885,1.00E-04 +16-2-2019 13:00,76610.90017,1642267.389,1642267.389,1.00E-04 +16-2-2019 14:00,76619.49442,800318.022,800318.022,1.00E-04 +16-2-2019 15:00,76628.09462,2250815.371,2250815.371,1.00E-04 +16-2-2019 16:00,76636.70078,2692776.541,2692776.541,1.00E-04 +16-2-2019 17:00,76645.31289,3070428.221,3070428.221,1.00E-04 +16-2-2019 18:00,76653.93094,3038249.06,3038249.06,1.00E-04 +16-2-2019 19:00,76662.55493,2792357.26,2792357.26,1.00E-04 +16-2-2019 20:00,76671.18485,2313121.328,2313121.328,1.00E-04 +16-2-2019 21:00,76679.82071,1523204.354,1523204.354,1.00E-04 +16-2-2019 22:00,76688.46249,730457.483,730457.483,1.00E-04 +16-2-2019 23:00,76697.1102,322026.621,322026.621,1.00E-04 +17-2-2019 00:00,76705.76382,135722.93,135722.93,1.00E-04 +17-2-2019 01:00,76714.42336,47705.973,47705.973,1.00E-04 +17-2-2019 02:00,76723.0888,31592.631,31592.631,1.00E-04 +17-2-2019 03:00,76731.76015,62563.207,62563.207,1.00E-04 +17-2-2019 04:00,76740.4374,295939.427,295939.427,1.00E-04 +17-2-2019 05:00,76749.12055,1334245.108,1334245.108,1.00E-04 +17-2-2019 06:00,76757.80958,2770643.911,2770643.911,1.00E-04 +17-2-2019 07:00,76766.50451,3441498.97,3441498.97,1.00E-04 +17-2-2019 08:00,76775.20531,2669695.168,2669695.168,1.00E-04 +17-2-2019 09:00,76783.91199,2579403.4,2579403.4,1.00E-04 +17-2-2019 10:00,76792.62455,2469895.722,2469895.722,1.00E-04 +17-2-2019 11:00,76801.34297,3265564.813,3265564.813,1.00E-04 +17-2-2019 12:00,76810.06726,2757711.838,2757711.838,1.00E-04 +17-2-2019 13:00,76818.79741,1652519.848,1652519.848,1.00E-04 +17-2-2019 14:00,76827.53341,757226.722,757226.722,1.00E-04 +17-2-2019 15:00,76836.27527,2000625.046,2000625.046,1.00E-04 +17-2-2019 16:00,76845.02297,2613802.38,2613802.38,1.00E-04 +17-2-2019 17:00,76853.77651,2866923.479,2866923.479,1.00E-04 +17-2-2019 18:00,76862.53589,2771867,2771867,1.00E-04 +17-2-2019 19:00,76871.3011,2638692.714,2638692.714,1.00E-04 +17-2-2019 20:00,76880.07214,2168758.144,2168758.144,1.00E-04 +17-2-2019 21:00,76888.849,1425525.451,1425525.451,1.00E-04 +17-2-2019 22:00,76897.63169,697138.421,697138.421,1.00E-04 +17-2-2019 23:00,76906.42018,306859.329,306859.329,1.00E-04 +18-2-2019 00:00,76915.21449,128765.371,128765.371,1.00E-04 +18-2-2019 01:00,76924.0146,44859.206,44859.206,1.00E-04 +18-2-2019 02:00,76932.82052,26806.71,26806.71,1.00E-04 +18-2-2019 03:00,76941.63223,50506.113,50506.113,1.00E-04 +18-2-2019 04:00,76950.44973,257028.31,257028.31,1.00E-04 +18-2-2019 05:00,76959.27302,1216943.245,1216943.245,1.00E-04 +18-2-2019 06:00,76968.10209,2543533.636,2543533.636,1.00E-04 +18-2-2019 07:00,76976.93694,3137773.443,3137773.443,1.00E-04 +18-2-2019 08:00,76985.77757,2451946.868,2451946.868,1.00E-04 +18-2-2019 09:00,76994.62396,2421400.884,2421400.884,1.00E-04 +18-2-2019 10:00,77003.47612,2329882.667,2329882.667,1.00E-04 +18-2-2019 11:00,77012.33404,3094804.391,3094804.391,1.00E-04 +18-2-2019 12:00,77021.19772,2641608.137,2641608.137,1.00E-04 +18-2-2019 13:00,77030.06714,1577774.373,1577774.373,1.00E-04 +18-2-2019 14:00,77038.94231,716607.99,716607.99,1.00E-04 +18-2-2019 15:00,77047.82323,1884430.8,1884430.8,1.00E-04 +18-2-2019 16:00,77056.70988,2533160.049,2533160.049,1.00E-04 +18-2-2019 17:00,77065.60226,2966136.698,2966136.698,1.00E-04 +18-2-2019 18:00,77074.50038,2768900.337,2768900.337,1.00E-04 +18-2-2019 19:00,77083.40421,2634162.636,2634162.636,1.00E-04 +18-2-2019 20:00,77092.31377,2226315.175,2226315.175,1.00E-04 +18-2-2019 21:00,77101.22904,1427523.545,1427523.545,1.00E-04 +18-2-2019 22:00,77110.15002,643517.497,643517.497,1.00E-04 +18-2-2019 23:00,77119.0767,276625.244,276625.244,1.00E-04 +19-2-2019 00:00,77128.00909,114123.114,114123.114,1.00E-04 +19-2-2019 01:00,77136.94717,38395.658,38395.658,1.00E-04 +19-2-2019 02:00,77145.89094,21503.832,21503.832,1.00E-04 +19-2-2019 03:00,77154.8404,33438.769,33438.769,1.00E-04 +19-2-2019 04:00,77163.79554,180943.273,180943.273,1.00E-04 +19-2-2019 05:00,77172.75636,950237.505,950237.505,1.00E-04 +19-2-2019 06:00,77181.72286,2077770.331,2077770.331,1.00E-04 +19-2-2019 07:00,77190.69502,2578983.589,2578983.589,1.00E-04 +19-2-2019 08:00,77199.67284,1994461.938,1994461.938,1.00E-04 +19-2-2019 09:00,77208.65633,2066417.192,2066417.192,1.00E-04 +19-2-2019 10:00,77217.64547,2138247.678,2138247.678,1.00E-04 +19-2-2019 11:00,77226.64026,2981449.394,2981449.394,1.00E-04 +19-2-2019 12:00,77235.64069,2516530.94,2516530.94,1.00E-04 +19-2-2019 13:00,77244.64676,1522347.407,1522347.407,1.00E-04 +19-2-2019 14:00,77253.65848,640872.54,640872.54,1.00E-04 +19-2-2019 15:00,77262.67582,1754837.063,1754837.063,1.00E-04 +19-2-2019 16:00,77271.69879,2568684.587,2568684.587,1.00E-04 +19-2-2019 17:00,77280.72738,2896614.469,2896614.469,1.00E-04 +19-2-2019 18:00,77289.76159,2819100.431,2819100.431,1.00E-04 +19-2-2019 19:00,77298.80141,2587660.299,2587660.299,1.00E-04 +19-2-2019 20:00,77307.84684,2109714.887,2109714.887,1.00E-04 +19-2-2019 21:00,77316.89788,1366602.188,1366602.188,1.00E-04 +19-2-2019 22:00,77325.95451,647995.019,647995.019,1.00E-04 +19-2-2019 23:00,77335.01674,279516.083,279516.083,1.00E-04 +20-2-2019 00:00,77344.08455,114048.69,114048.69,1.00E-04 +20-2-2019 01:00,77353.15795,38263.295,38263.295,1.00E-04 +20-2-2019 02:00,77362.23694,21642.418,21642.418,1.00E-04 +20-2-2019 03:00,77371.32149,33444.089,33444.089,1.00E-04 +20-2-2019 04:00,77380.41162,180549.6,180549.6,1.00E-04 +20-2-2019 05:00,77389.50732,950532.366,950532.366,1.00E-04 +20-2-2019 06:00,77398.60857,2063943.91,2063943.91,1.00E-04 +20-2-2019 07:00,77407.71539,2633460.928,2633460.928,1.00E-04 +20-2-2019 08:00,77416.82775,2036577.627,2036577.627,1.00E-04 +20-2-2019 09:00,77425.94566,2128858.2,2128858.2,1.00E-04 +20-2-2019 10:00,77435.06912,2150238.153,2150238.153,1.00E-04 +20-2-2019 11:00,77444.19811,2958704.371,2958704.371,1.00E-04 +20-2-2019 12:00,77453.33264,2600141.159,2600141.159,1.00E-04 +20-2-2019 13:00,77462.4727,1420295.961,1420295.961,1.00E-04 +20-2-2019 14:00,77471.61828,674201.612,674201.612,1.00E-04 +20-2-2019 15:00,77480.76938,1745910.915,1745910.915,1.00E-04 +20-2-2019 16:00,77489.92599,2449934.557,2449934.557,1.00E-04 +20-2-2019 17:00,77499.08811,2772081.886,2772081.886,1.00E-04 +20-2-2019 18:00,77508.25574,2695595.392,2695595.392,1.00E-04 +20-2-2019 19:00,77517.42887,2480270.016,2480270.016,1.00E-04 +20-2-2019 20:00,77526.6075,2040394.601,2040394.601,1.00E-04 +20-2-2019 21:00,77535.79161,1330862.162,1330862.162,1.00E-04 +20-2-2019 22:00,77544.98122,634529.728,634529.728,1.00E-04 +20-2-2019 23:00,77554.1763,270279.821,270279.821,1.00E-04 +21-2-2019 00:00,77563.37686,109625.649,109625.649,1.00E-04 +21-2-2019 01:00,77572.58289,36179.339,36179.339,1.00E-04 +21-2-2019 02:00,77581.79439,20558.93,20558.93,1.00E-04 +21-2-2019 03:00,77591.01136,30720.179,30720.179,1.00E-04 +21-2-2019 04:00,77600.23378,162562.435,162562.435,1.00E-04 +21-2-2019 05:00,77609.46165,887590.809,887590.809,1.00E-04 +21-2-2019 06:00,77618.69497,1938307.196,1938307.196,1.00E-04 +21-2-2019 07:00,77627.93374,2453611.307,2453611.307,1.00E-04 +21-2-2019 08:00,77637.17795,1898802.255,1898802.255,1.00E-04 +21-2-2019 09:00,77646.42758,2023060.564,2023060.564,1.00E-04 +21-2-2019 10:00,77655.68265,2091003.523,2091003.523,1.00E-04 +21-2-2019 11:00,77664.94315,2850698.256,2850698.256,1.00E-04 +21-2-2019 12:00,77674.20906,2484041.763,2484041.763,1.00E-04 +21-2-2019 13:00,77683.48039,1419639.046,1419639.046,1.00E-04 +21-2-2019 14:00,77692.75713,672867.349,672867.349,1.00E-04 +21-2-2019 15:00,77702.03927,1849563.156,1849563.156,1.00E-04 +21-2-2019 16:00,77711.32682,2455664.246,2455664.246,1.00E-04 +21-2-2019 17:00,77720.61976,2742836.215,2742836.215,1.00E-04 +21-2-2019 18:00,77729.91809,2626484.742,2626484.742,1.00E-04 +21-2-2019 19:00,77739.22181,2380592.823,2380592.823,1.00E-04 +21-2-2019 20:00,77748.53091,1944079.928,1944079.928,1.00E-04 +21-2-2019 21:00,77757.84538,1254522.668,1254522.668,1.00E-04 +21-2-2019 22:00,77767.16523,593396.902,593396.902,1.00E-04 +21-2-2019 23:00,77776.49045,254140.929,254140.929,1.00E-04 +22-2-2019 00:00,77785.82103,101426.115,101426.115,1.00E-04 +22-2-2019 01:00,77795.15697,31902.199,31902.199,1.00E-04 +22-2-2019 02:00,77804.49826,16971.731,16971.731,1.00E-04 +22-2-2019 03:00,77813.84489,25039.798,25039.798,1.00E-04 +22-2-2019 04:00,77823.19687,121828.462,121828.462,1.00E-04 +22-2-2019 05:00,77832.55419,706052.662,706052.662,1.00E-04 +22-2-2019 06:00,77841.91685,1608582.654,1608582.654,1.00E-04 +22-2-2019 07:00,77851.28483,2061715.523,2061715.523,1.00E-04 +22-2-2019 08:00,77860.65813,1616999.426,1616999.426,1.00E-04 +22-2-2019 09:00,77870.03676,1814227.597,1814227.597,1.00E-04 +22-2-2019 10:00,77879.4207,1919848.728,1919848.728,1.00E-04 +22-2-2019 11:00,77888.80995,2607840.928,2607840.928,1.00E-04 +22-2-2019 12:00,77898.2045,2281109.551,2281109.551,1.00E-04 +22-2-2019 13:00,77907.60435,1280722.086,1280722.086,1.00E-04 +22-2-2019 14:00,77917.0095,598180.73,598180.73,1.00E-04 +22-2-2019 15:00,77926.41994,1397276.958,1397276.958,1.00E-04 +22-2-2019 16:00,77935.83566,2225305.782,2225305.782,1.00E-04 +22-2-2019 17:00,77945.25667,2514545.39,2514545.39,1.00E-04 +22-2-2019 18:00,77954.68295,2500701.091,2500701.091,1.00E-04 +22-2-2019 19:00,77964.1145,2371636.666,2371636.666,1.00E-04 +22-2-2019 20:00,77973.55131,1914751.426,1914751.426,1.00E-04 +22-2-2019 21:00,77982.99339,1240456.147,1240456.147,1.00E-04 +22-2-2019 22:00,77992.44073,595164.451,595164.451,1.00E-04 +22-2-2019 23:00,78001.89331,258473.649,258473.649,1.00E-04 +23-2-2019 00:00,78011.35114,104617.422,104617.422,1.00E-04 +23-2-2019 01:00,78020.81422,32975.32,32975.32,1.00E-04 +23-2-2019 02:00,78030.28253,17931.746,17931.746,1.00E-04 +23-2-2019 03:00,78039.75607,27278.216,27278.216,1.00E-04 +23-2-2019 04:00,78049.23484,137262.713,137262.713,1.00E-04 +23-2-2019 05:00,78058.71883,812703.64,812703.64,1.00E-04 +23-2-2019 06:00,78068.20804,1835376.928,1835376.928,1.00E-04 +23-2-2019 07:00,78077.70246,2323953.681,2323953.681,1.00E-04 +23-2-2019 08:00,78087.20209,1790280.261,1790280.261,1.00E-04 +23-2-2019 09:00,78096.70692,1665548.836,1665548.836,1.00E-04 +23-2-2019 10:00,78106.21695,1792925.078,1792925.078,1.00E-04 +23-2-2019 11:00,78115.73217,2252655.426,2252655.426,1.00E-04 +23-2-2019 12:00,78125.25258,1675033.962,1675033.962,1.00E-04 +23-2-2019 13:00,78134.77818,879839.324,879839.324,1.00E-04 +23-2-2019 14:00,78144.30895,436273.481,436273.481,1.00E-04 +23-2-2019 15:00,78153.84489,631994.993,631994.993,1.00E-04 +23-2-2019 16:00,78163.386,1688640.443,1688640.443,1.00E-04 +23-2-2019 17:00,78172.93228,2518681.522,2518681.522,1.00E-04 +23-2-2019 18:00,78182.48371,2516116.085,2516116.085,1.00E-04 +23-2-2019 19:00,78192.0403,2441443.179,2441443.179,1.00E-04 +23-2-2019 20:00,78201.60204,2124024.833,2124024.833,1.00E-04 +23-2-2019 21:00,78211.16892,1280965.945,1280965.945,1.00E-04 +23-2-2019 22:00,78220.74094,612910.473,612910.473,1.00E-04 +23-2-2019 23:00,78230.31809,270819.885,270819.885,1.00E-04 +24-2-2019 00:00,78239.90038,110228.58,110228.58,1.00E-04 +24-2-2019 01:00,78249.48778,36258.551,36258.551,1.00E-04 +24-2-2019 02:00,78259.08031,20715.737,20715.737,1.00E-04 +24-2-2019 03:00,78268.67795,32581.332,32581.332,1.00E-04 +24-2-2019 04:00,78278.2807,177291.8,177291.8,1.00E-04 +24-2-2019 05:00,78287.88855,992441.814,992441.814,1.00E-04 +24-2-2019 06:00,78297.5015,2191875.035,2191875.035,1.00E-04 +24-2-2019 07:00,78307.11955,2566999.631,2566999.631,1.00E-04 +24-2-2019 08:00,78316.74269,1550902.255,1550902.255,1.00E-04 +24-2-2019 09:00,78326.37091,1289690.514,1289690.514,1.00E-04 +24-2-2019 10:00,78336.00421,1221932.236,1221932.236,1.00E-04 +24-2-2019 11:00,78345.64259,1434582.268,1434582.268,1.00E-04 +24-2-2019 12:00,78355.28603,1349811.645,1349811.645,1.00E-04 +24-2-2019 13:00,78364.93454,757784.51,757784.51,1.00E-04 +24-2-2019 14:00,78374.58811,381418.38,381418.38,1.00E-04 +24-2-2019 15:00,78384.24674,933761.549,933761.549,1.00E-04 +24-2-2019 16:00,78393.91041,1910163.451,1910163.451,1.00E-04 +24-2-2019 17:00,78403.57913,2449433.532,2449433.532,1.00E-04 +24-2-2019 18:00,78413.25289,2549901.578,2549901.578,1.00E-04 +24-2-2019 19:00,78422.93168,2476731.194,2476731.194,1.00E-04 +24-2-2019 20:00,78432.61551,2089060.253,2089060.253,1.00E-04 +24-2-2019 21:00,78442.30435,1385136.774,1385136.774,1.00E-04 +24-2-2019 22:00,78451.99822,673180.389,673180.389,1.00E-04 +24-2-2019 23:00,78461.69711,297363.192,297363.192,1.00E-04 +25-2-2019 00:00,78471.401,122355.373,122355.373,1.00E-04 +25-2-2019 01:00,78481.1099,42457.219,42457.219,1.00E-04 +25-2-2019 02:00,78490.8238,24255.581,24255.581,1.00E-04 +25-2-2019 03:00,78500.54269,42852.271,42852.271,1.00E-04 +25-2-2019 04:00,78510.26657,220406.893,220406.893,1.00E-04 +25-2-2019 05:00,78519.99544,1113591.318,1113591.318,1.00E-04 +25-2-2019 06:00,78529.72929,2346367.52,2346367.52,1.00E-04 +25-2-2019 07:00,78539.46811,2686883.143,2686883.143,1.00E-04 +25-2-2019 08:00,78549.21191,1683373.391,1683373.391,1.00E-04 +25-2-2019 09:00,78558.96067,1406812.771,1406812.771,1.00E-04 +25-2-2019 10:00,78568.71438,1451666.846,1451666.846,1.00E-04 +25-2-2019 11:00,78578.47306,1599536.806,1599536.806,1.00E-04 +25-2-2019 12:00,78588.23668,1223204.136,1223204.136,1.00E-04 +25-2-2019 13:00,78598.00525,682310.559,682310.559,1.00E-04 +25-2-2019 14:00,78607.77876,313446.714,313446.714,1.00E-04 +25-2-2019 15:00,78617.5572,440904.709,440904.709,1.00E-04 +25-2-2019 16:00,78627.34057,1228686.529,1228686.529,1.00E-04 +25-2-2019 17:00,78637.12887,2291520.546,2291520.546,1.00E-04 +25-2-2019 18:00,78646.92209,2489878.034,2489878.034,1.00E-04 +25-2-2019 19:00,78656.72022,2438911.846,2438911.846,1.00E-04 +25-2-2019 20:00,78666.52326,2094826.713,2094826.713,1.00E-04 +25-2-2019 21:00,78676.3312,1386858.536,1386858.536,1.00E-04 +25-2-2019 22:00,78686.14405,667013.494,667013.494,1.00E-04 +25-2-2019 23:00,78695.96179,293503.35,293503.35,1.00E-04 +26-2-2019 00:00,78705.78442,121741.844,121741.844,1.00E-04 +26-2-2019 01:00,78715.61193,39863.229,39863.229,1.00E-04 +26-2-2019 02:00,78725.44432,23448.649,23448.649,1.00E-04 +26-2-2019 03:00,78735.28159,39708.431,39708.431,1.00E-04 +26-2-2019 04:00,78745.12373,210229.103,210229.103,1.00E-04 +26-2-2019 05:00,78754.97073,1102931.277,1102931.277,1.00E-04 +26-2-2019 06:00,78764.82259,2326881.487,2326881.487,1.00E-04 +26-2-2019 07:00,78774.6793,2803462.214,2803462.214,1.00E-04 +26-2-2019 08:00,78784.54086,2106847.981,2106847.981,1.00E-04 +26-2-2019 09:00,78794.40727,1992254.551,1992254.551,1.00E-04 +26-2-2019 10:00,78804.27852,1848133.322,1848133.322,1.00E-04 +26-2-2019 11:00,78814.1546,2330166.517,2330166.517,1.00E-04 +26-2-2019 12:00,78824.0355,2004528.407,2004528.407,1.00E-04 +26-2-2019 13:00,78833.92123,1097195.953,1097195.953,1.00E-04 +26-2-2019 14:00,78843.81178,488488.413,488488.413,1.00E-04 +26-2-2019 15:00,78853.70715,687906.093,687906.093,1.00E-04 +26-2-2019 16:00,78863.60732,1655001.096,1655001.096,1.00E-04 +26-2-2019 17:00,78873.51229,2503405.422,2503405.422,1.00E-04 +26-2-2019 18:00,78883.42207,2591761.613,2591761.613,1.00E-04 +26-2-2019 19:00,78893.33663,2444193.836,2444193.836,1.00E-04 +26-2-2019 20:00,78903.25599,2044163.296,2044163.296,1.00E-04 +26-2-2019 21:00,78913.18012,1342970.076,1342970.076,1.00E-04 +26-2-2019 22:00,78923.10904,649927.544,649927.544,1.00E-04 +26-2-2019 23:00,78933.04272,286467.951,286467.951,1.00E-04 +27-2-2019 00:00,78942.98118,116911.2,116911.2,1.00E-04 +27-2-2019 01:00,78952.92439,39410.105,39410.105,1.00E-04 +27-2-2019 02:00,78962.87237,22648.36,22648.36,1.00E-04 +27-2-2019 03:00,78972.82509,36544.382,36544.382,1.00E-04 +27-2-2019 04:00,78982.78257,190073.667,190073.667,1.00E-04 +27-2-2019 05:00,78992.74478,1006995.822,1006995.822,1.00E-04 +27-2-2019 06:00,79002.71173,2111263.525,2111263.525,1.00E-04 +27-2-2019 07:00,79012.68342,2383267.243,2383267.243,1.00E-04 +27-2-2019 08:00,79022.65983,1427033.629,1427033.629,1.00E-04 +27-2-2019 09:00,79032.64096,1156575.35,1156575.35,1.00E-04 +27-2-2019 10:00,79042.6268,1067419.542,1067419.542,1.00E-04 +27-2-2019 11:00,79052.61736,1157275.203,1157275.203,1.00E-04 +27-2-2019 12:00,79062.61263,767764.438,767764.438,1.00E-04 +27-2-2019 13:00,79072.61259,291673.347,291673.347,1.00E-04 +27-2-2019 14:00,79082.61725,139689.473,139689.473,1.00E-04 +27-2-2019 15:00,79092.6266,172273.108,172273.108,1.00E-04 +27-2-2019 16:00,79102.64064,346489.374,346489.374,1.00E-04 +27-2-2019 17:00,79112.65936,898202.277,898202.277,1.00E-04 +27-2-2019 18:00,79122.68275,1461355.812,1461355.812,1.00E-04 +27-2-2019 19:00,79132.71081,1831816.861,1831816.861,1.00E-04 +27-2-2019 20:00,79142.74354,1589013.153,1589013.153,1.00E-04 +27-2-2019 21:00,79152.78092,1068507.391,1068507.391,1.00E-04 +27-2-2019 22:00,79162.82297,534743.132,534743.132,1.00E-04 +27-2-2019 23:00,79172.86966,245318.892,245318.892,1.00E-04 +28-2-2019 00:00,79182.92099,103928.636,103928.636,1.00E-04 +28-2-2019 01:00,79192.97696,32160.38,32160.38,1.00E-04 +28-2-2019 02:00,79203.03757,17908.408,17908.408,1.00E-04 +28-2-2019 03:00,79213.10281,27260.177,27260.177,1.00E-04 +28-2-2019 04:00,79223.17266,103990.306,103990.306,1.00E-04 +28-2-2019 05:00,79233.24714,785626.415,785626.415,1.00E-04 +28-2-2019 06:00,79243.32623,1734321.463,1734321.463,1.00E-04 +28-2-2019 07:00,79253.40993,1353696.064,1353696.064,1.00E-04 +28-2-2019 08:00,79263.49823,1389475.738,1389475.738,1.00E-04 +28-2-2019 09:00,79273.59113,1587846.155,1587846.155,1.00E-04 +28-2-2019 10:00,79283.68862,1768495.988,1768495.988,1.00E-04 +28-2-2019 11:00,79293.7907,2040950.555,2040950.555,1.00E-04 +28-2-2019 12:00,79303.89735,1968149.239,1968149.239,1.00E-04 +28-2-2019 13:00,79314.00859,1047182.752,1047182.752,1.00E-04 +28-2-2019 14:00,79324.1244,506512.727,506512.727,1.00E-04 +28-2-2019 15:00,79334.24477,320529.062,320529.062,1.00E-04 +28-2-2019 16:00,79344.36971,1212686.65,1212686.65,1.00E-04 +28-2-2019 17:00,79354.4992,2315589.913,2315589.913,1.00E-04 +28-2-2019 18:00,79364.63324,2285974.523,2285974.523,1.00E-04 +28-2-2019 19:00,79374.77183,2158550.555,2158550.555,1.00E-04 +28-2-2019 20:00,79384.91495,1802350.032,1802350.032,1.00E-04 +28-2-2019 21:00,79395.06261,1168959.813,1168959.813,1.00E-04 +28-2-2019 22:00,79405.21481,555400.664,555400.664,1.00E-04 +28-2-2019 23:00,79415.37152,238280.686,238280.686,1.00E-04 +1-3-2019 00:00,79425.53276,95948.125,95948.125,0.00006 +1-3-2019 01:00,79435.69851,27826.064,27826.064,0.00006 +1-3-2019 02:00,79445.86877,15202.754,15202.754,0.00006 +1-3-2019 03:00,79456.04353,23057.174,23057.174,0.00006 +1-3-2019 04:00,79466.22279,93873.185,93873.185,0.00006 +1-3-2019 05:00,79476.40654,628157.355,628157.355,0.00006 +1-3-2019 06:00,79486.59479,1421754.418,1421754.418,0.00006 +1-3-2019 07:00,79496.78751,1131355.372,1131355.372,0.00006 +1-3-2019 08:00,79506.98471,1202124.126,1202124.126,0.00006 +1-3-2019 09:00,79517.18639,1472064.51,1472064.51,0.00006 +1-3-2019 10:00,79527.39253,1734815.838,1734815.838,0.00006 +1-3-2019 11:00,79537.60313,2505140.799,2505140.799,0.00006 +1-3-2019 12:00,79547.81819,2189890.395,2189890.395,0.00006 +1-3-2019 13:00,79558.0377,1164858.219,1164858.219,0.00006 +1-3-2019 14:00,79568.26166,572035.583,572035.583,0.00006 +1-3-2019 15:00,79578.49005,404489.911,404489.911,0.00006 +1-3-2019 16:00,79588.72289,1804057.164,1804057.164,0.00006 +1-3-2019 17:00,79598.96015,2576315.938,2576315.938,0.00006 +1-3-2019 18:00,79609.20184,2507792.371,2507792.371,0.00006 +1-3-2019 19:00,79619.44794,2384863.327,2384863.327,0.00006 +1-3-2019 20:00,79629.69847,1984626.735,1984626.735,0.00006 +1-3-2019 21:00,79639.9534,1294108.48,1294108.48,0.00006 +1-3-2019 22:00,79650.21273,614082.154,614082.154,0.00006 +1-3-2019 23:00,79660.47646,275034.914,275034.914,0.00006 +2-3-2019 00:00,79670.74459,108071.222,108071.222,0.00006 +2-3-2019 01:00,79681.01711,35076.412,35076.412,0.00006 +2-3-2019 02:00,79691.294,19852.896,19852.896,0.00006 +2-3-2019 03:00,79701.57528,28812.826,28812.826,0.00006 +2-3-2019 04:00,79711.86092,141075.655,141075.655,0.00006 +2-3-2019 05:00,79722.15094,825319.467,825319.467,0.00006 +2-3-2019 06:00,79732.44531,1785086.73,1785086.73,0.00006 +2-3-2019 07:00,79742.74404,1424125.619,1424125.619,0.00006 +2-3-2019 08:00,79753.04712,1447782.672,1447782.672,0.00006 +2-3-2019 09:00,79763.35455,1652274.533,1652274.533,0.00006 +2-3-2019 10:00,79773.66632,1813371.378,1813371.378,0.00006 +2-3-2019 11:00,79783.98242,2233640.78,2233640.78,0.00006 +2-3-2019 12:00,79794.30285,1850450.175,1850450.175,0.00006 +2-3-2019 13:00,79804.62761,1038970.891,1038970.891,0.00006 +2-3-2019 14:00,79814.95669,514808.434,514808.434,0.00006 +2-3-2019 15:00,79825.29008,361585.546,361585.546,0.00006 +2-3-2019 16:00,79835.62777,1380187.417,1380187.417,0.00006 +2-3-2019 17:00,79845.96978,2389902.081,2389902.081,0.00006 +2-3-2019 18:00,79856.31608,2325981.203,2325981.203,0.00006 +2-3-2019 19:00,79866.66667,2186692.312,2186692.312,0.00006 +2-3-2019 20:00,79877.02155,1826945.393,1826945.393,0.00006 +2-3-2019 21:00,79887.38071,1187149.789,1187149.789,0.00006 +2-3-2019 22:00,79897.74414,557796.134,557796.134,0.00006 +2-3-2019 23:00,79908.11185,235866.988,235866.988,0.00006 +3-3-2019 00:00,79918.48383,93540.398,93540.398,0.00006 +3-3-2019 01:00,79928.86006,26848.143,26848.143,0.00006 +3-3-2019 02:00,79939.24055,14355.859,14355.859,0.00006 +3-3-2019 03:00,79949.62529,21510.671,21510.671,0.00006 +3-3-2019 04:00,79960.01427,86712.234,86712.234,0.00006 +3-3-2019 05:00,79970.4075,566242.446,566242.446,0.00006 +3-3-2019 06:00,79980.80495,1248122.645,1248122.645,0.00006 +3-3-2019 07:00,79991.20664,1004213.595,1004213.595,0.00006 +3-3-2019 08:00,80001.61255,1079039.115,1079039.115,0.00006 +3-3-2019 09:00,80012.02267,1314961.137,1314961.137,0.00006 +3-3-2019 10:00,80022.43701,1514823.359,1514823.359,0.00006 +3-3-2019 11:00,80032.85556,2083803.603,2083803.603,0.00006 +3-3-2019 12:00,80043.27831,1783603.927,1783603.927,0.00006 +3-3-2019 13:00,80053.70525,961473.66,961473.66,0.00006 +3-3-2019 14:00,80064.13639,460371.863,460371.863,0.00006 +3-3-2019 15:00,80074.57171,290293.038,290293.038,0.00006 +3-3-2019 16:00,80085.01121,879723.845,879723.845,0.00006 +3-3-2019 17:00,80095.45488,2029076.812,2029076.812,0.00006 +3-3-2019 18:00,80105.90273,2089608.227,2089608.227,0.00006 +3-3-2019 19:00,80116.35474,1942360.539,1942360.539,0.00006 +3-3-2019 20:00,80126.8109,1623332.102,1623332.102,0.00006 +3-3-2019 21:00,80137.27122,1047264.302,1047264.302,0.00006 +3-3-2019 22:00,80147.73569,490912.03,490912.03,0.00006 +3-3-2019 23:00,80158.2043,205637.887,205637.887,0.00006 +4-3-2019 00:00,80168.67705,82940.459,82940.459,0.00006 +4-3-2019 01:00,80179.15393,21985.271,21985.271,0.00006 +4-3-2019 02:00,80189.63494,9543.604,9543.604,0.00006 +4-3-2019 03:00,80200.12007,17296.349,17296.349,0.00006 +4-3-2019 04:00,80210.60931,57760.962,57760.962,0.00006 +4-3-2019 05:00,80221.10266,424141.452,424141.452,0.00006 +4-3-2019 06:00,80231.60012,937972.042,937972.042,0.00006 +4-3-2019 07:00,80242.10168,790711.558,790711.558,0.00006 +4-3-2019 08:00,80252.60733,931220.71,931220.71,0.00006 +4-3-2019 09:00,80263.11707,1172900.484,1172900.484,0.00006 +4-3-2019 10:00,80273.6309,1395098.859,1395098.859,0.00006 +4-3-2019 11:00,80284.1488,2000381.131,2000381.131,0.00006 +4-3-2019 12:00,80294.67077,1622864.803,1622864.803,0.00006 +4-3-2019 13:00,80305.19681,892807.566,892807.566,0.00006 +4-3-2019 14:00,80315.72692,397045.341,397045.341,0.00006 +4-3-2019 15:00,80326.26107,264646.27,264646.27,0.00006 +4-3-2019 16:00,80336.79928,701889.853,701889.853,0.00006 +4-3-2019 17:00,80347.34154,2018294.803,2018294.803,0.00006 +4-3-2019 18:00,80357.88783,2211150.515,2211150.515,0.00006 +4-3-2019 19:00,80368.43816,2031940.96,2031940.96,0.00006 +4-3-2019 20:00,80378.99252,1698848.431,1698848.431,0.00006 +4-3-2019 21:00,80389.5509,1129475.361,1129475.361,0.00006 +4-3-2019 22:00,80400.1133,541366.119,541366.119,0.00006 +4-3-2019 23:00,80410.67971,234748.703,234748.703,0.00006 +5-3-2019 00:00,80421.25013,94235.939,94235.939,0.00006 +5-3-2019 01:00,80431.82456,25872.392,25872.392,0.00006 +5-3-2019 02:00,80442.40297,13410.005,13410.005,0.00006 +5-3-2019 03:00,80452.98538,21350.812,21350.812,0.00006 +5-3-2019 04:00,80463.57178,82796.868,82796.868,0.00006 +5-3-2019 05:00,80474.16215,584491.824,584491.824,0.00006 +5-3-2019 06:00,80484.7565,1307051.088,1307051.088,0.00006 +5-3-2019 07:00,80495.35482,858150.125,858150.125,0.00006 +5-3-2019 08:00,80505.9571,898443.714,898443.714,0.00006 +5-3-2019 09:00,80516.56334,1145673.802,1145673.802,0.00006 +5-3-2019 10:00,80527.17354,1326803.051,1326803.051,0.00006 +5-3-2019 11:00,80537.78768,1712029.942,1712029.942,0.00006 +5-3-2019 12:00,80548.40576,1454002.2,1454002.2,0.00006 +5-3-2019 13:00,80559.02778,764523.851,764523.851,0.00006 +5-3-2019 14:00,80569.65373,316830.689,316830.689,0.00006 +5-3-2019 15:00,80580.2836,197624.826,197624.826,0.00006 +5-3-2019 16:00,80590.9174,356390.181,356390.181,0.00006 +5-3-2019 17:00,80601.55511,1108129.82,1108129.82,0.00006 +5-3-2019 18:00,80612.19673,2027376.323,2027376.323,0.00006 +5-3-2019 19:00,80622.84225,2113113.45,2113113.45,0.00006 +5-3-2019 20:00,80633.49167,1704241.854,1704241.854,0.00006 +5-3-2019 21:00,80644.14498,1113186.942,1113186.942,0.00006 +5-3-2019 22:00,80654.80219,531024.2,531024.2,0.00006 +5-3-2019 23:00,80665.46327,236947.305,236947.305,0.00006 +6-3-2019 00:00,80676.12823,94391.003,94391.003,0.00006 +6-3-2019 01:00,80686.79706,27553.631,27553.631,0.00006 +6-3-2019 02:00,80697.46975,14697.55,14697.55,0.00006 +6-3-2019 03:00,80708.1463,19491.031,19491.031,0.00006 +6-3-2019 04:00,80718.82671,78750.126,78750.126,0.00006 +6-3-2019 05:00,80729.51097,585831.442,585831.442,0.00006 +6-3-2019 06:00,80740.19907,1254143.324,1254143.324,0.00006 +6-3-2019 07:00,80750.89101,983942.323,983942.323,0.00006 +6-3-2019 08:00,80761.58678,1045856.147,1045856.147,0.00006 +6-3-2019 09:00,80772.28638,1255069.886,1255069.886,0.00006 +6-3-2019 10:00,80782.9898,1457543.773,1457543.773,0.00006 +6-3-2019 11:00,80793.69703,1969809.996,1969809.996,0.00006 +6-3-2019 12:00,80804.40808,1664936.343,1664936.343,0.00006 +6-3-2019 13:00,80815.12293,900354.917,900354.917,0.00006 +6-3-2019 14:00,80825.84157,420735.308,420735.308,0.00006 +6-3-2019 15:00,80836.56402,262759.147,262759.147,0.00006 +6-3-2019 16:00,80847.29025,650532.456,650532.456,0.00006 +6-3-2019 17:00,80858.02026,1781524.976,1781524.976,0.00006 +6-3-2019 18:00,80868.75405,2044777.063,2044777.063,0.00006 +6-3-2019 19:00,80879.49161,1877287.139,1877287.139,0.00006 +6-3-2019 20:00,80890.23294,1561013.776,1561013.776,0.00006 +6-3-2019 21:00,80900.97803,1044271.396,1044271.396,0.00006 +6-3-2019 22:00,80911.72687,502156.837,502156.837,0.00006 +6-3-2019 23:00,80922.47947,212344.769,212344.769,0.00006 +7-3-2019 00:00,80933.2358,86165.464,86165.464,0.00006 +7-3-2019 01:00,80943.99588,22745.443,22745.443,0.00006 +7-3-2019 02:00,80954.75969,10479.385,10479.385,0.00006 +7-3-2019 03:00,80965.52723,17472.567,17472.567,0.00006 +7-3-2019 04:00,80976.29848,61364.856,61364.856,0.00006 +7-3-2019 05:00,80987.07346,447766.396,447766.396,0.00006 +7-3-2019 06:00,80997.85214,981872.752,981872.752,0.00006 +7-3-2019 07:00,81008.63453,799688.113,799688.113,0.00006 +7-3-2019 08:00,81019.42062,879856.719,879856.719,0.00006 +7-3-2019 09:00,81030.21041,1080236.661,1080236.661,0.00006 +7-3-2019 10:00,81041.00388,1227658.796,1227658.796,0.00006 +7-3-2019 11:00,81051.80103,1656739.98,1656739.98,0.00006 +7-3-2019 12:00,81062.60187,1378515.915,1378515.915,0.00006 +7-3-2019 13:00,81073.40637,588921.032,588921.032,0.00006 +7-3-2019 14:00,81084.21454,265574.848,265574.848,0.00006 +7-3-2019 15:00,81095.02638,191104.648,191104.648,0.00006 +7-3-2019 16:00,81105.84186,396082.421,396082.421,0.00006 +7-3-2019 17:00,81116.661,1069997.285,1069997.285,0.00006 +7-3-2019 18:00,81127.48378,1777964.377,1777964.377,0.00006 +7-3-2019 19:00,81138.3102,1921054.107,1921054.107,0.00006 +7-3-2019 20:00,81149.14025,1607572.722,1607572.722,0.00006 +7-3-2019 21:00,81159.97393,1041546.45,1041546.45,0.00006 +7-3-2019 22:00,81170.81124,502658.744,502658.744,0.00006 +7-3-2019 23:00,81181.65215,227970.743,227970.743,0.00006 +8-3-2019 00:00,81192.49668,90115.473,90115.473,0.00006 +8-3-2019 01:00,81203.34482,24742.158,24742.158,0.00006 +8-3-2019 02:00,81214.19655,12743.794,12743.794,0.00006 +8-3-2019 03:00,81225.05188,18106.62,18106.62,0.00006 +8-3-2019 04:00,81235.91079,66656.604,66656.604,0.00006 +8-3-2019 05:00,81246.77329,529293.086,529293.086,0.00006 +8-3-2019 06:00,81257.63937,1135613.682,1135613.682,0.00006 +8-3-2019 07:00,81268.50901,893756.192,893756.192,0.00006 +8-3-2019 08:00,81279.38223,804698.958,804698.958,0.00006 +8-3-2019 09:00,81290.259,959083.629,959083.629,0.00006 +8-3-2019 10:00,81301.13933,1086435.413,1086435.413,0.00006 +8-3-2019 11:00,81312.0232,1545390.693,1545390.693,0.00006 +8-3-2019 12:00,81322.91062,1111853.778,1111853.778,0.00006 +8-3-2019 13:00,81333.80158,618154.509,618154.509,0.00006 +8-3-2019 14:00,81344.69607,293136.739,293136.739,0.00006 +8-3-2019 15:00,81355.59409,212063.873,212063.873,0.00006 +8-3-2019 16:00,81366.49563,592867.751,592867.751,0.00006 +8-3-2019 17:00,81377.40069,1668669.52,1668669.52,0.00006 +8-3-2019 18:00,81388.30925,2124775.919,2124775.919,0.00006 +8-3-2019 19:00,81399.22132,1967182.084,1967182.084,0.00006 +8-3-2019 20:00,81410.13689,1640116.499,1640116.499,0.00006 +8-3-2019 21:00,81421.05595,1073370.984,1073370.984,0.00006 +8-3-2019 22:00,81431.9785,518607.278,518607.278,0.00006 +8-3-2019 23:00,81442.90453,232448.223,232448.223,0.00006 +9-3-2019 00:00,81453.83403,91189.805,91189.805,0.00006 +9-3-2019 01:00,81464.76701,25818.366,25818.366,0.00006 +9-3-2019 02:00,81475.70345,13276.564,13276.564,0.00006 +9-3-2019 03:00,81486.64335,18336.71,18336.71,0.00006 +9-3-2019 04:00,81497.58671,67092.571,67092.571,0.00006 +9-3-2019 05:00,81508.53351,528803.254,528803.254,0.00006 +9-3-2019 06:00,81519.48376,1121995.924,1121995.924,0.00006 +9-3-2019 07:00,81530.43744,873893.979,873893.979,0.00006 +9-3-2019 08:00,81541.39456,956642.582,956642.582,0.00006 +9-3-2019 09:00,81552.3551,1158439.282,1158439.282,0.00006 +9-3-2019 10:00,81563.31905,1334205.663,1334205.663,0.00006 +9-3-2019 11:00,81574.28643,1834526.169,1834526.169,0.00006 +9-3-2019 12:00,81585.25721,1531732.846,1531732.846,0.00006 +9-3-2019 13:00,81596.2314,839625.248,839625.248,0.00006 +9-3-2019 14:00,81607.20898,394953.944,394953.944,0.00006 +9-3-2019 15:00,81618.18995,195725.719,195725.719,0.00006 +9-3-2019 16:00,81629.17431,316786.365,316786.365,0.00006 +9-3-2019 17:00,81640.16206,1005249.056,1005249.056,0.00006 +9-3-2019 18:00,81651.15317,1937286.932,1937286.932,0.00006 +9-3-2019 19:00,81662.14766,1960530.152,1960530.152,0.00006 +9-3-2019 20:00,81673.1455,1599173.492,1599173.492,0.00006 +9-3-2019 21:00,81684.14671,1040664.898,1040664.898,0.00006 +9-3-2019 22:00,81695.15127,504596.708,504596.708,0.00006 +9-3-2019 23:00,81706.15917,225681.652,225681.652,0.00006 +10-3-2019 00:00,81717.17042,90661.487,90661.487,0.00006 +10-3-2019 01:00,81728.185,25409.685,25409.685,0.00006 +10-3-2019 02:00,81739.20291,13197.562,13197.562,0.00006 +10-3-2019 03:00,81750.22415,18829.006,18829.006,0.00006 +10-3-2019 04:00,81761.2487,71167.467,71167.467,0.00006 +10-3-2019 05:00,81772.27656,564336.661,564336.661,0.00006 +10-3-2019 06:00,81783.30773,1238004.243,1238004.243,0.00006 +10-3-2019 07:00,81794.34221,949849.726,949849.726,0.00006 +10-3-2019 08:00,81805.37998,1035090.763,1035090.763,0.00006 +10-3-2019 09:00,81816.42103,1276493.757,1276493.757,0.00006 +10-3-2019 10:00,81827.46538,1514951.053,1514951.053,0.00006 +10-3-2019 11:00,81838.513,2067890.482,2067890.482,0.00006 +10-3-2019 12:00,81849.56389,1746084.459,1746084.459,0.00006 +10-3-2019 13:00,81860.61805,968422.147,968422.147,0.00006 +10-3-2019 14:00,81871.67547,474065.095,474065.095,0.00006 +10-3-2019 15:00,81882.73615,300075.16,300075.16,0.00006 +10-3-2019 16:00,81893.80008,1216855.038,1216855.038,0.00006 +10-3-2019 17:00,81904.86725,2548886.753,2548886.753,0.00006 +10-3-2019 18:00,81915.93766,2475848.382,2475848.382,0.00006 +10-3-2019 19:00,81927.0113,2249371.502,2249371.502,0.00006 +10-3-2019 20:00,81938.08817,1843375.114,1843375.114,0.00006 +10-3-2019 21:00,81949.16826,1204778.246,1204778.246,0.00006 +10-3-2019 22:00,81960.25157,583363.123,583363.123,0.00006 +10-3-2019 23:00,81971.33809,257338.984,257338.984,0.00006 +11-3-2019 00:00,81982.42781,103504.723,103504.723,0.00006 +11-3-2019 01:00,81993.52073,33486.663,33486.663,0.00006 +11-3-2019 02:00,82004.61684,18354.63,18354.63,0.00006 +11-3-2019 03:00,82015.71614,25910.43,25910.43,0.00006 +11-3-2019 04:00,82026.81863,125606.866,125606.866,0.00006 +11-3-2019 05:00,82037.92429,779105.761,779105.761,0.00006 +11-3-2019 06:00,82049.03311,1651788.719,1651788.719,0.00006 +11-3-2019 07:00,82060.14511,1239268.401,1239268.401,0.00006 +11-3-2019 08:00,82071.26026,1250135.383,1250135.383,0.00006 +11-3-2019 09:00,82082.37856,1455657.609,1455657.609,0.00006 +11-3-2019 10:00,82093.50001,1679602.274,1679602.274,0.00006 +11-3-2019 11:00,82104.62461,2313279.801,2313279.801,0.00006 +11-3-2019 12:00,82115.75234,2001341.251,2001341.251,0.00006 +11-3-2019 13:00,82126.8832,1035919.556,1035919.556,0.00006 +11-3-2019 14:00,82138.01718,502419.113,502419.113,0.00006 +11-3-2019 15:00,82149.15428,307558.209,307558.209,0.00006 +11-3-2019 16:00,82160.2945,1048059.95,1048059.95,0.00006 +11-3-2019 17:00,82171.43782,2467659.684,2467659.684,0.00006 +11-3-2019 18:00,82182.58425,2471772.66,2471772.66,0.00006 +11-3-2019 19:00,82193.73376,2320790.227,2320790.227,0.00006 +11-3-2019 20:00,82204.88637,1984340.995,1984340.995,0.00006 +11-3-2019 21:00,82216.04207,1336476.904,1336476.904,0.00006 +11-3-2019 22:00,82227.20084,644748.363,644748.363,0.00006 +11-3-2019 23:00,82238.36269,277536.833,277536.833,0.00006 +12-3-2019 00:00,82249.5276,112010.5,112010.5,0.00006 +12-3-2019 01:00,82260.69557,37301.215,37301.215,0.00006 +12-3-2019 02:00,82271.8666,21276.549,21276.549,0.00006 +12-3-2019 03:00,82283.04068,31506.377,31506.377,0.00006 +12-3-2019 04:00,82294.2178,154426.188,154426.188,0.00006 +12-3-2019 05:00,82305.39796,874357.071,874357.071,0.00006 +12-3-2019 06:00,82316.58116,1810068.309,1810068.309,0.00006 +12-3-2019 07:00,82327.76738,1357576.92,1357576.92,0.00006 +12-3-2019 08:00,82338.95662,1318846.739,1318846.739,0.00006 +12-3-2019 09:00,82350.14888,1492834.532,1492834.532,0.00006 +12-3-2019 10:00,82361.34414,1691275.943,1691275.943,0.00006 +12-3-2019 11:00,82372.54241,2358853.763,2358853.763,0.00006 +12-3-2019 12:00,82383.74368,2001473.243,2001473.243,0.00006 +12-3-2019 13:00,82394.94794,1067856.44,1067856.44,0.00006 +12-3-2019 14:00,82406.15519,510224.022,510224.022,0.00006 +12-3-2019 15:00,82417.36541,305632.775,305632.775,0.00006 +12-3-2019 16:00,82428.57862,1011078.103,1011078.103,0.00006 +12-3-2019 17:00,82439.79479,2417111.774,2417111.774,0.00006 +12-3-2019 18:00,82451.01392,2448944.729,2448944.729,0.00006 +12-3-2019 19:00,82462.23602,2395671.992,2395671.992,0.00006 +12-3-2019 20:00,82473.46106,2031498.231,2031498.231,0.00006 +12-3-2019 21:00,82484.68905,1322201.839,1322201.839,0.00006 +12-3-2019 22:00,82495.91998,619211.908,619211.908,0.00006 +12-3-2019 23:00,82507.15385,268178.799,268178.799,0.00006 +13-3-2019 00:00,82518.39064,107812.32,107812.32,0.00006 +13-3-2019 01:00,82529.63036,36170.337,36170.337,0.00006 +13-3-2019 02:00,82540.87299,20466.271,20466.271,0.00006 +13-3-2019 03:00,82552.11854,29538.474,29538.474,0.00006 +13-3-2019 04:00,82563.36699,144347.686,144347.686,0.00006 +13-3-2019 05:00,82574.61834,825004.047,825004.047,0.00006 +13-3-2019 06:00,82585.87259,1726485.894,1726485.894,0.00006 +13-3-2019 07:00,82597.12972,1293137.265,1293137.265,0.00006 +13-3-2019 08:00,82608.38973,1268559.194,1268559.194,0.00006 +13-3-2019 09:00,82619.65263,1469716.129,1469716.129,0.00006 +13-3-2019 10:00,82630.91839,1704638.124,1704638.124,0.00006 +13-3-2019 11:00,82642.18702,2428729.317,2428729.317,0.00006 +13-3-2019 12:00,82653.45851,2064536.852,2064536.852,0.00006 +13-3-2019 13:00,82664.73285,1096844.203,1096844.203,0.00006 +13-3-2019 14:00,82676.01004,522284.14,522284.14,0.00006 +13-3-2019 15:00,82687.29007,309497.72,309497.72,0.00006 +13-3-2019 16:00,82698.57293,1021957.804,1021957.804,0.00006 +13-3-2019 17:00,82709.85863,2455878.04,2455878.04,0.00006 +13-3-2019 18:00,82721.14715,2445075.262,2445075.262,0.00006 +13-3-2019 19:00,82732.43849,2287862.724,2287862.724,0.00006 +13-3-2019 20:00,82743.73264,1942765.573,1942765.573,0.00006 +13-3-2019 21:00,82755.0296,1259516.895,1259516.895,0.00006 +13-3-2019 22:00,82766.32936,594787.487,594787.487,0.00006 +13-3-2019 23:00,82777.63192,257070.107,257070.107,0.00006 +14-3-2019 00:00,82788.93727,103101.25,103101.25,0.00006 +14-3-2019 01:00,82800.2454,33544.931,33544.931,0.00006 +14-3-2019 02:00,82811.55631,18498.557,18498.557,0.00006 +14-3-2019 03:00,82822.86999,26738.271,26738.271,0.00006 +14-3-2019 04:00,82834.18643,126601.734,126601.734,0.00006 +14-3-2019 05:00,82845.50564,752837.337,752837.337,0.00006 +14-3-2019 06:00,82856.8276,1617155.218,1617155.218,0.00006 +14-3-2019 07:00,82868.15231,1202268.459,1202268.459,0.00006 +14-3-2019 08:00,82879.47976,1196348.755,1196348.755,0.00006 +14-3-2019 09:00,82890.80995,1409308.635,1409308.635,0.00006 +14-3-2019 10:00,82902.14288,1621208.099,1621208.099,0.00006 +14-3-2019 11:00,82913.47852,2225653.654,2225653.654,0.00006 +14-3-2019 12:00,82924.81689,1877957.459,1877957.459,0.00006 +14-3-2019 13:00,82936.15797,1005222.778,1005222.778,0.00006 +14-3-2019 14:00,82947.50176,472067.778,472067.778,0.00006 +14-3-2019 15:00,82958.84825,287255.472,287255.472,0.00006 +14-3-2019 16:00,82970.19744,860623.351,860623.351,0.00006 +14-3-2019 17:00,82981.54932,2281857.368,2281857.368,0.00006 +14-3-2019 18:00,82992.90388,2390966.256,2390966.256,0.00006 +14-3-2019 19:00,83004.26112,2194747.261,2194747.261,0.00006 +14-3-2019 20:00,83015.62104,1847930.525,1847930.525,0.00006 +14-3-2019 21:00,83026.98362,1216785.941,1216785.941,0.00006 +14-3-2019 22:00,83038.34886,576876.692,576876.692,0.00006 +14-3-2019 23:00,83049.71676,251911.002,251911.002,0.00006 +15-3-2019 00:00,83061.08731,100124.969,100124.969,0.00006 +15-3-2019 01:00,83072.4605,31790.192,31790.192,0.00006 +15-3-2019 02:00,83083.83633,17269.413,17269.413,0.00006 +15-3-2019 03:00,83095.21479,24791.55,24791.55,0.00006 +15-3-2019 04:00,83106.59588,111500.774,111500.774,0.00006 +15-3-2019 05:00,83117.97959,694141.133,694141.133,0.00006 +15-3-2019 06:00,83129.36591,1503688.872,1503688.872,0.00006 +15-3-2019 07:00,83140.75484,1098115.487,1098115.487,0.00006 +15-3-2019 08:00,83152.14638,1083056.66,1083056.66,0.00006 +15-3-2019 09:00,83163.54051,1263481.128,1263481.128,0.00006 +15-3-2019 10:00,83174.93723,1437220.022,1437220.022,0.00006 +15-3-2019 11:00,83186.33654,1918618.534,1918618.534,0.00006 +15-3-2019 12:00,83197.73843,1625987.139,1625987.139,0.00006 +15-3-2019 13:00,83209.14289,875259.616,875259.616,0.00006 +15-3-2019 14:00,83220.54991,400496.474,400496.474,0.00006 +15-3-2019 15:00,83231.9595,248869.523,248869.523,0.00006 +15-3-2019 16:00,83243.37165,596040.753,596040.753,0.00006 +15-3-2019 17:00,83254.78635,1785162.323,1785162.323,0.00006 +15-3-2019 18:00,83266.20359,2238034.078,2238034.078,0.00006 +15-3-2019 19:00,83277.62336,2083771.97,2083771.97,0.00006 +15-3-2019 20:00,83289.04567,1742044.29,1742044.29,0.00006 +15-3-2019 21:00,83300.47051,1151292.401,1151292.401,0.00006 +15-3-2019 22:00,83311.89787,546628.271,546628.271,0.00006 +15-3-2019 23:00,83323.32774,235250.302,235250.302,0.00006 +16-3-2019 00:00,83334.76012,95471.887,95471.887,0.00006 +16-3-2019 01:00,83346.195,27433.238,27433.238,0.00006 +16-3-2019 02:00,83357.63239,14879.872,14879.872,0.00006 +16-3-2019 03:00,83369.07226,19812.562,19812.562,0.00006 +16-3-2019 04:00,83380.51462,89232.787,89232.787,0.00006 +16-3-2019 05:00,83391.95945,605245.431,605245.431,0.00006 +16-3-2019 06:00,83403.40676,1276736.062,1276736.062,0.00006 +16-3-2019 07:00,83414.85654,935681.341,935681.341,0.00006 +16-3-2019 08:00,83426.30878,969994.949,969994.949,0.00006 +16-3-2019 09:00,83437.76348,1161071.737,1161071.737,0.00006 +16-3-2019 10:00,83449.22062,1336397.993,1336397.993,0.00006 +16-3-2019 11:00,83460.68021,1823892.798,1823892.798,0.00006 +16-3-2019 12:00,83472.14224,1518730.269,1518730.269,0.00006 +16-3-2019 13:00,83483.6067,821081.24,821081.24,0.00006 +16-3-2019 14:00,83495.07359,371990.234,371990.234,0.00006 +16-3-2019 15:00,83506.54289,233845.129,233845.129,0.00006 +16-3-2019 16:00,83518.01462,483471.611,483471.611,0.00006 +16-3-2019 17:00,83529.48875,1495825.835,1495825.835,0.00006 +16-3-2019 18:00,83540.96528,2065728.882,2065728.882,0.00006 +16-3-2019 19:00,83552.44421,1905546.489,1905546.489,0.00006 +16-3-2019 20:00,83563.92553,1572337.207,1572337.207,0.00006 +16-3-2019 21:00,83575.40924,1023661.877,1023661.877,0.00006 +16-3-2019 22:00,83586.89532,504732.648,504732.648,0.00006 +16-3-2019 23:00,83598.38378,213202.934,213202.934,0.00006 +17-3-2019 00:00,83609.87461,87906.539,87906.539,0.00006 +17-3-2019 01:00,83621.3678,24199.126,24199.126,0.00006 +17-3-2019 02:00,83632.86334,12122.292,12122.292,0.00006 +17-3-2019 03:00,83644.36123,17504.571,17504.571,0.00006 +17-3-2019 04:00,83655.86147,71941.422,71941.422,0.00006 +17-3-2019 05:00,83667.36404,526218.714,526218.714,0.00006 +17-3-2019 06:00,83678.86895,1108453.416,1108453.416,0.00006 +17-3-2019 07:00,83690.37618,845312.846,845312.846,0.00006 +17-3-2019 08:00,83701.88573,923560.064,923560.064,0.00006 +17-3-2019 09:00,83713.3976,1094584.897,1094584.897,0.00006 +17-3-2019 10:00,83724.91177,1250984.875,1250984.875,0.00006 +17-3-2019 11:00,83736.42825,1622213.929,1622213.929,0.00006 +17-3-2019 12:00,83747.94702,1356090.239,1356090.239,0.00006 +17-3-2019 13:00,83759.46808,663944.582,663944.582,0.00006 +17-3-2019 14:00,83770.99143,258092.499,258092.499,0.00006 +17-3-2019 15:00,83782.51706,162821.687,162821.687,0.00006 +17-3-2019 16:00,83794.04496,305509.414,305509.414,0.00006 +17-3-2019 17:00,83805.57512,805553.49,805553.49,0.00006 +17-3-2019 18:00,83817.10755,1600958.716,1600958.716,0.00006 +17-3-2019 19:00,83828.64223,2120092.345,2120092.345,0.00006 +17-3-2019 20:00,83840.17916,1759482.578,1759482.578,0.00006 +17-3-2019 21:00,83851.71833,1150446.549,1150446.549,0.00006 +17-3-2019 22:00,83863.25974,550756.045,550756.045,0.00006 +17-3-2019 23:00,83874.80338,251357.694,251357.694,0.00006 +18-3-2019 00:00,83886.34925,99413.503,99413.503,0.00006 +18-3-2019 01:00,83897.89733,29446.438,29446.438,0.00006 +18-3-2019 02:00,83909.44763,17268.118,17268.118,0.00006 +18-3-2019 03:00,83921.00014,23213.792,23213.792,0.00006 +18-3-2019 04:00,83932.55485,95341.036,95341.036,0.00006 +18-3-2019 05:00,83944.11175,723925.069,723925.069,0.00006 +18-3-2019 06:00,83955.67084,1437264.605,1437264.605,0.00006 +18-3-2019 07:00,83967.23212,897982.813,897982.813,0.00006 +18-3-2019 08:00,83978.79557,914666.011,914666.011,0.00006 +18-3-2019 09:00,83990.36119,1128173.683,1128173.683,0.00006 +18-3-2019 10:00,84001.92898,1286257.896,1286257.896,0.00006 +18-3-2019 11:00,84013.49894,1854719.797,1854719.797,0.00006 +18-3-2019 12:00,84025.07104,1580675.698,1580675.698,0.00006 +18-3-2019 13:00,84036.64529,734974.653,734974.653,0.00006 +18-3-2019 14:00,84048.22169,323697.136,323697.136,0.00006 +18-3-2019 15:00,84059.80022,213099.698,213099.698,0.00006 +18-3-2019 16:00,84071.38087,431939.711,431939.711,0.00006 +18-3-2019 17:00,84082.96366,1449801.997,1449801.997,0.00006 +18-3-2019 18:00,84094.54856,2380787.171,2380787.171,0.00006 +18-3-2019 19:00,84106.13557,2262570.058,2262570.058,0.00006 +18-3-2019 20:00,84117.72469,1936039.175,1936039.175,0.00006 +18-3-2019 21:00,84129.31591,1303761.249,1303761.249,0.00006 +18-3-2019 22:00,84140.90923,641608.856,641608.856,0.00006 +18-3-2019 23:00,84152.50463,297075.044,297075.044,0.00006 +19-3-2019 00:00,84164.10212,121840.523,121840.523,0.00006 +19-3-2019 01:00,84175.70168,41193.187,41193.187,0.00006 +19-3-2019 02:00,84187.30331,25152.057,25152.057,0.00006 +19-3-2019 03:00,84198.90701,43918.791,43918.791,0.00006 +19-3-2019 04:00,84210.51276,216488.671,216488.671,0.00006 +19-3-2019 05:00,84222.12057,1171976.421,1171976.421,0.00006 +19-3-2019 06:00,84233.73042,2286846.989,2286846.989,0.00006 +19-3-2019 07:00,84245.34231,1710486.673,1710486.673,0.00006 +19-3-2019 08:00,84256.95624,1602434.54,1602434.54,0.00006 +19-3-2019 09:00,84268.5722,1630323.52,1630323.52,0.00006 +19-3-2019 10:00,84280.19018,1707514.319,1707514.319,0.00006 +19-3-2019 11:00,84291.81017,2129461.817,2129461.817,0.00006 +19-3-2019 12:00,84303.43218,1572844.322,1572844.322,0.00006 +19-3-2019 13:00,84315.05619,811565.034,811565.034,0.00006 +19-3-2019 14:00,84326.6822,385430.024,385430.024,0.00006 +19-3-2019 15:00,84338.3102,237999.58,237999.58,0.00006 +19-3-2019 16:00,84349.94019,539356.776,539356.776,0.00006 +19-3-2019 17:00,84361.57216,1616488.79,1616488.79,0.00006 +19-3-2019 18:00,84373.20611,2399739.769,2399739.769,0.00006 +19-3-2019 19:00,84384.84202,2300439.575,2300439.575,0.00006 +19-3-2019 20:00,84396.4799,1989113.679,1989113.679,0.00006 +19-3-2019 21:00,84408.11973,1331447.929,1331447.929,0.00006 +19-3-2019 22:00,84419.76151,662190.823,662190.823,0.00006 +19-3-2019 23:00,84431.40524,287769.195,287769.195,0.00006 +20-3-2019 00:00,84443.05091,108552.08,108552.08,0.00006 +20-3-2019 01:00,84454.69851,37607.787,37607.787,0.00006 +20-3-2019 02:00,84466.34804,21284.165,21284.165,0.00006 +20-3-2019 03:00,84477.99948,29021.461,29021.461,0.00006 +20-3-2019 04:00,84489.65285,150097.899,150097.899,0.00006 +20-3-2019 05:00,84501.30812,855005.767,855005.767,0.00006 +20-3-2019 06:00,84512.96529,1727721.065,1727721.065,0.00006 +20-3-2019 07:00,84524.62436,1252714.47,1252714.47,0.00006 +20-3-2019 08:00,84536.28532,1205309.749,1205309.749,0.00006 +20-3-2019 09:00,84547.94817,1358182.567,1358182.567,0.00006 +20-3-2019 10:00,84559.6129,1551092.263,1551092.263,0.00006 +20-3-2019 11:00,84571.27949,2143898.855,2143898.855,0.00006 +20-3-2019 12:00,84582.94796,1789383.995,1789383.995,0.00006 +20-3-2019 13:00,84594.61828,956428.046,956428.046,0.00006 +20-3-2019 14:00,84606.29047,436395.715,436395.715,0.00006 +20-3-2019 15:00,84617.96449,260265.229,260265.229,0.00006 +20-3-2019 16:00,84629.64037,600694.339,600694.339,0.00006 +20-3-2019 17:00,84641.31808,1786062.6,1786062.6,0.00006 +20-3-2019 18:00,84652.99762,2272599.686,2272599.686,0.00006 +20-3-2019 19:00,84664.67898,2108287.181,2108287.181,0.00006 +20-3-2019 20:00,84676.36216,1761940.222,1761940.222,0.00006 +20-3-2019 21:00,84688.04716,1223184.389,1223184.389,0.00006 +20-3-2019 22:00,84699.73396,604670.871,604670.871,0.00006 +20-3-2019 23:00,84711.42257,262176.187,262176.187,0.00006 +21-3-2019 00:00,84723.11297,108094.616,108094.616,0.00006 +21-3-2019 01:00,84734.80515,35213.808,35213.808,0.00006 +21-3-2019 02:00,84746.49912,19761.735,19761.735,0.00006 +21-3-2019 03:00,84758.19487,26528.306,26528.306,0.00006 +21-3-2019 04:00,84769.89239,137716.019,137716.019,0.00006 +21-3-2019 05:00,84781.59167,801770.718,801770.718,0.00006 +21-3-2019 06:00,84793.29271,1612467.115,1612467.115,0.00006 +21-3-2019 07:00,84804.9955,1144611.608,1144611.608,0.00006 +21-3-2019 08:00,84816.70004,1103155.865,1103155.865,0.00006 +21-3-2019 09:00,84828.40632,1273460.503,1273460.503,0.00006 +21-3-2019 10:00,84840.11434,1459417.575,1459417.575,0.00006 +21-3-2019 11:00,84851.82408,1993437.152,1993437.152,0.00006 +21-3-2019 12:00,84863.53555,1651659.933,1651659.933,0.00006 +21-3-2019 13:00,84875.24873,888159.083,888159.083,0.00006 +21-3-2019 14:00,84886.96362,398790.742,398790.742,0.00006 +21-3-2019 15:00,84898.68022,241958.808,241958.808,0.00006 +21-3-2019 16:00,84910.39852,512479.086,512479.086,0.00006 +21-3-2019 17:00,84922.1185,1623763.463,1623763.463,0.00006 +21-3-2019 18:00,84933.84018,2247182.476,2247182.476,0.00006 +21-3-2019 19:00,84945.56353,2127023.087,2127023.087,0.00006 +21-3-2019 20:00,84957.28856,1841865.62,1841865.62,0.00006 +21-3-2019 21:00,84969.01526,1242203.34,1242203.34,0.00006 +21-3-2019 22:00,84980.74362,619658.753,619658.753,0.00006 +21-3-2019 23:00,84992.47363,270192.286,270192.286,0.00006 +22-3-2019 00:00,85004.2053,104821.052,104821.052,0.00006 +22-3-2019 01:00,85015.93861,33474.21,33474.21,0.00006 +22-3-2019 02:00,85027.67356,18931.451,18931.451,0.00006 +22-3-2019 03:00,85039.41014,24899.371,24899.371,0.00006 +22-3-2019 04:00,85051.14834,123551.666,123551.666,0.00006 +22-3-2019 05:00,85062.88817,763501.319,763501.319,0.00006 +22-3-2019 06:00,85074.62961,1573432.644,1573432.644,0.00006 +22-3-2019 07:00,85086.37266,1178329.593,1178329.593,0.00006 +22-3-2019 08:00,85098.11731,1196088.495,1196088.495,0.00006 +22-3-2019 09:00,85109.86355,1364125.812,1364125.812,0.00006 +22-3-2019 10:00,85121.61139,1460396.735,1460396.735,0.00006 +22-3-2019 11:00,85133.36081,1913561.111,1913561.111,0.00006 +22-3-2019 12:00,85145.1118,1490616.015,1490616.015,0.00006 +22-3-2019 13:00,85156.86437,539743.12,539743.12,0.00006 +22-3-2019 14:00,85168.6185,140755.496,140755.496,0.00006 +22-3-2019 15:00,85180.3742,131486.103,131486.103,0.00006 +22-3-2019 16:00,85192.13144,215117.252,215117.252,0.00006 +22-3-2019 17:00,85203.89024,421510.922,421510.922,0.00006 +22-3-2019 18:00,85215.65057,543653.215,543653.215,0.00006 +22-3-2019 19:00,85227.41244,754101.32,754101.32,0.00006 +22-3-2019 20:00,85239.17584,950484.976,950484.976,0.00006 +22-3-2019 21:00,85250.94077,927236.695,927236.695,0.00006 +22-3-2019 22:00,85262.70721,517369.902,517369.902,0.00006 +22-3-2019 23:00,85274.47516,233442.951,233442.951,0.00006 +23-3-2019 00:00,85286.24462,91772.541,91772.541,0.00006 +23-3-2019 01:00,85298.01557,25058.04,25058.04,0.00006 +23-3-2019 02:00,85309.78802,12967.423,12967.423,0.00006 +23-3-2019 03:00,85321.56196,20706.77,20706.77,0.00006 +23-3-2019 04:00,85333.33737,68000.618,68000.618,0.00006 +23-3-2019 05:00,85345.11426,541521.638,541521.638,0.00006 +23-3-2019 06:00,85356.89262,1136371.887,1136371.887,0.00006 +23-3-2019 07:00,85368.67245,820594.159,820594.159,0.00006 +23-3-2019 08:00,85380.45373,887567.87,887567.87,0.00006 +23-3-2019 09:00,85392.23645,1059873.64,1059873.64,0.00006 +23-3-2019 10:00,85404.02063,1212901.074,1212901.074,0.00006 +23-3-2019 11:00,85415.80624,1651651.239,1651651.239,0.00006 +23-3-2019 12:00,85427.59329,1360994.089,1360994.089,0.00006 +23-3-2019 13:00,85439.38176,747628.525,747628.525,0.00006 +23-3-2019 14:00,85451.17165,330782.389,330782.389,0.00006 +23-3-2019 15:00,85462.96295,209975.472,209975.472,0.00006 +23-3-2019 16:00,85474.75567,390663.931,390663.931,0.00006 +23-3-2019 17:00,85486.54978,1323777.042,1323777.042,0.00006 +23-3-2019 18:00,85498.3453,2153980.759,2153980.759,0.00006 +23-3-2019 19:00,85510.1422,2110911.663,2110911.663,0.00006 +23-3-2019 20:00,85521.94048,1753621.303,1753621.303,0.00006 +23-3-2019 21:00,85533.74015,1152889.276,1152889.276,0.00006 +23-3-2019 22:00,85545.54118,561900.402,561900.402,0.00006 +23-3-2019 23:00,85557.34358,270733.813,270733.813,0.00006 +24-3-2019 00:00,85569.14734,108637.956,108637.956,0.00006 +24-3-2019 01:00,85580.95246,37118.914,37118.914,0.00006 +24-3-2019 02:00,85592.75892,21292.859,21292.859,0.00006 +24-3-2019 03:00,85604.56672,30673.118,30673.118,0.00006 +24-3-2019 04:00,85616.37586,146664.175,146664.175,0.00006 +24-3-2019 05:00,85628.18632,960160.614,960160.614,0.00006 +24-3-2019 06:00,85639.99811,1786950.151,1786950.151,0.00006 +24-3-2019 07:00,85651.81122,1213211.671,1213211.671,0.00006 +24-3-2019 08:00,85663.62564,1157443.553,1157443.553,0.00006 +24-3-2019 09:00,85675.44136,1315224.687,1315224.687,0.00006 +24-3-2019 10:00,85687.25838,1419367.467,1419367.467,0.00006 +24-3-2019 11:00,85699.07669,1927767.282,1927767.282,0.00006 +24-3-2019 12:00,85710.89629,1505401.52,1505401.52,0.00006 +24-3-2019 13:00,85722.71718,617512.252,617512.252,0.00006 +24-3-2019 14:00,85734.53933,171938.249,171938.249,0.00006 +24-3-2019 15:00,85746.36276,131486.103,131486.103,0.00006 +24-3-2019 16:00,85758.18744,233091.404,233091.404,0.00006 +24-3-2019 17:00,85770.01338,506378.173,506378.173,0.00006 +24-3-2019 18:00,85781.84058,746372.522,746372.522,0.00006 +24-3-2019 19:00,85793.66901,1178091.789,1178091.789,0.00006 +24-3-2019 20:00,85805.49869,1562812.678,1562812.678,0.00006 +24-3-2019 21:00,85817.3296,1184340.584,1184340.584,0.00006 +24-3-2019 22:00,85829.16173,567905.814,567905.814,0.00006 +24-3-2019 23:00,85840.99508,255141.971,255141.971,0.00006 +25-3-2019 00:00,85852.82965,97365.849,97365.849,0.00006 +25-3-2019 01:00,85864.66542,31190.159,31190.159,0.00006 +25-3-2019 02:00,85876.50239,16111.662,16111.662,0.00006 +25-3-2019 03:00,85888.34056,23896.11,23896.11,0.00006 +25-3-2019 04:00,85900.17992,94417.316,94417.316,0.00006 +25-3-2019 05:00,85912.02046,695556.715,695556.715,0.00006 +25-3-2019 06:00,85923.86218,1432348.631,1432348.631,0.00006 +25-3-2019 07:00,85935.70507,889534.527,889534.527,0.00006 +25-3-2019 08:00,85947.54913,823778.172,823778.172,0.00006 +25-3-2019 09:00,85959.39434,959818.678,959818.678,0.00006 +25-3-2019 10:00,85971.24071,1135973.461,1135973.461,0.00006 +25-3-2019 11:00,85983.08822,1664130.3,1664130.3,0.00006 +25-3-2019 12:00,85994.93688,1338606.591,1338606.591,0.00006 +25-3-2019 13:00,86006.78667,755113.562,755113.562,0.00006 +25-3-2019 14:00,86018.63758,341106.598,341106.598,0.00006 +25-3-2019 15:00,86030.48962,221142.698,221142.698,0.00006 +25-3-2019 16:00,86042.34278,514406.438,514406.438,0.00006 +25-3-2019 17:00,86054.19704,1714074.026,1714074.026,0.00006 +25-3-2019 18:00,86066.05241,2328210.892,2328210.892,0.00006 +25-3-2019 19:00,86077.90888,2159385.032,2159385.032,0.00006 +25-3-2019 20:00,86089.76644,1771301.364,1771301.364,0.00006 +25-3-2019 21:00,86101.62508,1147678.189,1147678.189,0.00006 +25-3-2019 22:00,86113.4848,549865.624,549865.624,0.00006 +25-3-2019 23:00,86125.3456,250552.855,250552.855,0.00006 +26-3-2019 00:00,86137.20747,98879.669,98879.669,0.00006 +26-3-2019 01:00,86149.07039,30367.855,30367.855,0.00006 +26-3-2019 02:00,86160.93437,18212.635,18212.635,0.00006 +26-3-2019 03:00,86172.7994,25144.329,25144.329,0.00006 +26-3-2019 04:00,86184.66548,103481.112,103481.112,0.00006 +26-3-2019 05:00,86196.53259,766643.871,766643.871,0.00006 +26-3-2019 06:00,86208.40073,1536006.15,1536006.15,0.00006 +26-3-2019 07:00,86220.26989,1074246.859,1074246.859,0.00006 +26-3-2019 08:00,86232.14007,1064880.719,1064880.719,0.00006 +26-3-2019 09:00,86244.01127,1239494.291,1239494.291,0.00006 +26-3-2019 10:00,86255.88347,1429315.727,1429315.727,0.00006 +26-3-2019 11:00,86267.75667,1978935.042,1978935.042,0.00006 +26-3-2019 12:00,86279.63087,1630726.391,1630726.391,0.00006 +26-3-2019 13:00,86291.50605,888091.386,888091.386,0.00006 +26-3-2019 14:00,86303.38222,398953.94,398953.94,0.00006 +26-3-2019 15:00,86315.25936,240639.847,240639.847,0.00006 +26-3-2019 16:00,86327.13747,498693.314,498693.314,0.00006 +26-3-2019 17:00,86339.01655,1650683.818,1650683.818,0.00006 +26-3-2019 18:00,86350.89658,2342441.535,2342441.535,0.00006 +26-3-2019 19:00,86362.77756,2167088.056,2167088.056,0.00006 +26-3-2019 20:00,86374.65949,1777174.945,1777174.945,0.00006 +26-3-2019 21:00,86386.54236,1163035.692,1163035.692,0.00006 +26-3-2019 22:00,86398.42616,561565.487,561565.487,0.00006 +26-3-2019 23:00,86410.31089,252154.154,252154.154,0.00006 +27-3-2019 00:00,86422.19654,100662.793,100662.793,0.00006 +27-3-2019 01:00,86434.0831,33039.237,33039.237,0.00006 +27-3-2019 02:00,86445.97057,18028.129,18028.129,0.00006 +27-3-2019 03:00,86457.85895,23548.714,23548.714,0.00006 +27-3-2019 04:00,86469.74822,104360.501,104360.501,0.00006 +27-3-2019 05:00,86481.63838,716963.233,716963.233,0.00006 +27-3-2019 06:00,86493.52942,761711.489,761711.489,0.00006 +27-3-2019 07:00,86505.42134,571746.063,571746.063,0.00006 +27-3-2019 08:00,86517.31414,686444.57,686444.57,0.00006 +27-3-2019 09:00,86529.2078,683863.369,683863.369,0.00006 +27-3-2019 10:00,86541.10232,749383.733,749383.733,0.00006 +27-3-2019 11:00,86552.99769,1074432.359,1074432.359,0.00006 +27-3-2019 12:00,86564.89391,852659.591,852659.591,0.00006 +27-3-2019 13:00,86576.79097,460755.771,460755.771,0.00006 +27-3-2019 14:00,86588.68887,213605.728,213605.728,0.00006 +27-3-2019 15:00,86600.58759,164767.197,164767.197,0.00006 +27-3-2019 16:00,86612.48714,231158.662,231158.662,0.00006 +27-3-2019 17:00,86624.3875,611266.663,611266.663,0.00006 +27-3-2019 18:00,86636.28868,1259009.745,1259009.745,0.00006 +27-3-2019 19:00,86648.19066,1838926.25,1838926.25,0.00006 +27-3-2019 20:00,86660.09344,1649079.614,1649079.614,0.00006 +27-3-2019 21:00,86671.99701,1085419.307,1085419.307,0.00006 +27-3-2019 22:00,86683.90136,521335.122,521335.122,0.00006 +27-3-2019 23:00,86695.8065,234891.37,234891.37,0.00006 +28-3-2019 00:00,86707.71241,92346.716,92346.716,0.00006 +28-3-2019 01:00,86719.61909,25259.64,25259.64,0.00006 +28-3-2019 02:00,86731.52653,12775.07,12775.07,0.00006 +28-3-2019 03:00,86743.43472,20124.083,20124.083,0.00006 +28-3-2019 04:00,86755.34367,73102.344,73102.344,0.00006 +28-3-2019 05:00,86767.25335,572877.291,572877.291,0.00006 +28-3-2019 06:00,86779.16378,791135.401,791135.401,0.00006 +28-3-2019 07:00,86791.07493,689343.039,689343.039,0.00006 +28-3-2019 08:00,86802.98682,785492.82,785492.82,0.00006 +28-3-2019 09:00,86814.89941,898015.895,898015.895,0.00006 +28-3-2019 10:00,86826.81273,1034279.169,1034279.169,0.00006 +28-3-2019 11:00,86838.72674,1473940.937,1473940.937,0.00006 +28-3-2019 12:00,86850.64146,1185340.072,1185340.072,0.00006 +28-3-2019 13:00,86862.55688,634653.642,634653.642,0.00006 +28-3-2019 14:00,86874.47298,277051.523,277051.523,0.00006 +28-3-2019 15:00,86886.38976,182946.239,182946.239,0.00006 +28-3-2019 16:00,86898.30722,233768.451,233768.451,0.00006 +28-3-2019 17:00,86910.22535,569090.018,569090.018,0.00006 +28-3-2019 18:00,86922.14414,1203833.232,1203833.232,0.00006 +28-3-2019 19:00,86934.06359,1837345.006,1837345.006,0.00006 +28-3-2019 20:00,86945.98369,1657885.404,1657885.404,0.00006 +28-3-2019 21:00,86957.90443,1133863.171,1133863.171,0.00006 +28-3-2019 22:00,86969.82582,559026.881,559026.881,0.00006 +28-3-2019 23:00,86981.74784,260402.471,260402.471,0.00006 +29-3-2019 00:00,86993.67048,103146.708,103146.708,0.00006 +29-3-2019 01:00,87005.59374,32233.712,32233.712,0.00006 +29-3-2019 02:00,87017.51762,17497.977,17497.977,0.00006 +29-3-2019 03:00,87029.44211,27023.794,27023.794,0.00006 +29-3-2019 04:00,87041.3672,117926.753,117926.753,0.00006 +29-3-2019 05:00,87053.29289,818766.032,818766.032,0.00006 +29-3-2019 06:00,87065.21916,805913.15,805913.15,0.00006 +29-3-2019 07:00,87077.14602,528787.973,528787.973,0.00006 +29-3-2019 08:00,87089.07346,505639.4,505639.4,0.00006 +29-3-2019 09:00,87101.00147,339213.826,339213.826,0.00006 +29-3-2019 10:00,87112.93004,277248.923,277248.923,0.00006 +29-3-2019 11:00,87124.85918,262761.821,262761.821,0.00006 +29-3-2019 12:00,87136.78886,185957.303,185957.303,0.00006 +29-3-2019 13:00,87148.7191,162351.399,162351.399,0.00006 +29-3-2019 14:00,87160.64987,116876.536,116876.536,0.00006 +29-3-2019 15:00,87172.58118,131486.103,131486.103,0.00006 +29-3-2019 16:00,87184.51302,214273.654,214273.654,0.00006 +29-3-2019 17:00,87196.44538,380783.921,380783.921,0.00006 +29-3-2019 18:00,87208.37825,396311.867,396311.867,0.00006 +29-3-2019 19:00,87220.31164,362589.178,362589.178,0.00006 +29-3-2019 20:00,87232.24553,299004.02,299004.02,0.00006 +29-3-2019 21:00,87244.17992,226873.381,226873.381,0.00006 +29-3-2019 22:00,87256.1148,131754.553,131754.553,0.00006 +29-3-2019 23:00,87268.05016,68366.984,68366.984,0.00006 +30-3-2019 00:00,87279.98601,36623.447,36623.447,0.00006 +30-3-2019 01:00,87291.92233,13428.758,13428.758,0.00006 +30-3-2019 02:00,87303.85911,13187.741,13187.741,0.00006 +30-3-2019 03:00,87315.79636,15774.605,15774.605,0.00006 +30-3-2019 04:00,87327.73406,53067.336,53067.336,0.00006 +30-3-2019 05:00,87339.67221,380345.469,380345.469,0.00006 +30-3-2019 06:00,87351.61081,521058.146,521058.146,0.00006 +30-3-2019 07:00,87363.54984,404733.749,404733.749,0.00006 +30-3-2019 08:00,87375.48929,436830.135,436830.135,0.00006 +30-3-2019 09:00,87387.42918,316391.243,316391.243,0.00006 +30-3-2019 10:00,87399.36948,285726.28,285726.28,0.00006 +30-3-2019 11:00,87411.31019,278748.379,278748.379,0.00006 +30-3-2019 12:00,87423.25131,188495.083,188495.083,0.00006 +30-3-2019 13:00,87435.19283,167679.127,167679.127,0.00006 +30-3-2019 14:00,87447.13475,117122.726,117122.726,0.00006 +30-3-2019 15:00,87459.07705,131552.617,131552.617,0.00006 +30-3-2019 16:00,87471.01973,214273.654,214273.654,0.00006 +30-3-2019 17:00,87482.96278,390610.808,390610.808,0.00006 +30-3-2019 18:00,87494.90621,407410.591,407410.591,0.00006 +30-3-2019 19:00,87506.85,379229.648,379229.648,0.00006 +30-3-2019 20:00,87518.79414,377353.781,377353.781,0.00006 +30-3-2019 21:00,87530.73864,337186.997,337186.997,0.00006 +30-3-2019 22:00,87542.68347,178628.814,178628.814,0.00006 +30-3-2019 23:00,87554.62865,76865.936,76865.936,0.00006 +31-3-2019 00:00,87566.57416,37726.955,37726.955,0.00006 +31-3-2019 01:00,87578.52,6485.325,6485.325,0.00006 +31-3-2019 02:00,87590.46615,6915.489,6915.489,0.00006 +31-3-2019 03:00,87602.41262,16317.273,16317.273,0.00006 +31-3-2019 04:00,87614.3594,82001.829,82001.829,0.00006 +31-3-2019 05:00,87626.30647,502974.318,502974.318,0.00006 +31-3-2019 06:00,87638.25385,688213.134,688213.134,0.00006 +31-3-2019 07:00,87650.20151,592880.75,592880.75,0.00006 +31-3-2019 08:00,87662.14945,701027.271,701027.271,0.00006 +31-3-2019 09:00,87674.09767,587424.201,587424.201,0.00006 +31-3-2019 10:00,87686.04616,517706.805,517706.805,0.00006 +31-3-2019 11:00,87697.99492,426859.083,426859.083,0.00006 +31-3-2019 12:00,87709.94393,272155.079,272155.079,0.00006 +31-3-2019 13:00,87721.8932,156894.766,156894.766,0.00006 +31-3-2019 14:00,87733.84271,116876.536,116876.536,0.00006 +31-3-2019 15:00,87745.79246,131486.103,131486.103,0.00006 +31-3-2019 16:00,87757.74245,214273.654,214273.654,0.00006 +31-3-2019 17:00,87769.69266,380354.954,380354.954,0.00006 +31-3-2019 18:00,87781.6431,396874.506,396874.506,0.00006 +31-3-2019 19:00,87793.59375,352196.824,352196.824,0.00006 +31-3-2019 20:00,87805.54461,296035.922,296035.922,0.00006 +31-3-2019 21:00,87817.49567,215497.898,215497.898,0.00006 +31-3-2019 22:00,87829.44693,126436.044,126436.044,0.00006 +31-3-2019 23:00,87841.39838,49808.563,49808.563,0.00006 +1-4-2019 00:00,87853.35001,27032.866,27032.866,0.00006 +1-4-2019 01:00,87865.30182,12670,12670,0.00006 +1-4-2019 02:00,87877.25381,10946.278,10946.278,0.00006 +1-4-2019 03:00,87889.20596,28839.083,28839.083,0.00006 +1-4-2019 04:00,87901.15827,148197.189,148197.189,0.00006 +1-4-2019 05:00,87913.11073,629624.772,629624.772,0.00006 +1-4-2019 06:00,87925.06334,666784.027,666784.027,0.00006 +1-4-2019 07:00,87937.0161,412881.987,412881.987,0.00006 +1-4-2019 08:00,87948.96898,440226.402,440226.402,0.00006 +1-4-2019 09:00,87960.922,307837.614,307837.614,0.00006 +1-4-2019 10:00,87972.87514,263389.595,263389.595,0.00006 +1-4-2019 11:00,87984.8284,226434.103,226434.103,0.00006 +1-4-2019 12:00,87996.78177,188125.504,188125.504,0.00006 +1-4-2019 13:00,88008.73524,150965.528,150965.528,0.00006 +1-4-2019 14:00,88020.68881,116876.536,116876.536,0.00006 +1-4-2019 15:00,88032.64247,131486.103,131486.103,0.00006 +1-4-2019 16:00,88044.59622,214273.654,214273.654,0.00006 +1-4-2019 17:00,88056.55005,380030.77,380030.77,0.00006 +1-4-2019 18:00,88068.50395,395589.803,395589.803,0.00006 +1-4-2019 19:00,88080.45793,351472.842,351472.842,0.00006 +1-4-2019 20:00,88092.41196,292193.636,292193.636,0.00006 +1-4-2019 21:00,88104.36605,203084.756,203084.756,0.00006 +1-4-2019 22:00,88116.32018,98082.81,98082.81,0.00006 +1-4-2019 23:00,88128.27436,38432.45,38432.45,0.00006 +2-4-2019 00:00,88140.22858,27795.096,27795.096,0.00006 +2-4-2019 01:00,88152.18283,11983.153,11983.153,0.00006 +2-4-2019 02:00,88164.1371,10250.149,10250.149,0.00006 +2-4-2019 03:00,88176.09139,14495.586,14495.586,0.00006 +2-4-2019 04:00,88188.04569,68828.116,68828.116,0.00006 +2-4-2019 05:00,88200,440444.718,440444.718,0.00006 +2-4-2019 06:00,88211.95431,565761.56,565761.56,0.00006 +2-4-2019 07:00,88223.90861,450869.776,450869.776,0.00006 +2-4-2019 08:00,88235.8629,530185.145,530185.145,0.00006 +2-4-2019 09:00,88247.81717,472789.933,472789.933,0.00006 +2-4-2019 10:00,88259.77142,420712.39,420712.39,0.00006 +2-4-2019 11:00,88271.72564,421781.766,421781.766,0.00006 +2-4-2019 12:00,88283.67982,277981.774,277981.774,0.00006 +2-4-2019 13:00,88295.63395,181055.819,181055.819,0.00006 +2-4-2019 14:00,88307.58804,119957.089,119957.089,0.00006 +2-4-2019 15:00,88319.54207,131853.148,131853.148,0.00006 +2-4-2019 16:00,88331.49605,220764.915,220764.915,0.00006 +2-4-2019 17:00,88343.44995,406832.559,406832.559,0.00006 +2-4-2019 18:00,88355.40378,453698.98,453698.98,0.00006 +2-4-2019 19:00,88367.35753,596876.182,596876.182,0.00006 +2-4-2019 20:00,88379.31119,504447.629,504447.629,0.00006 +2-4-2019 21:00,88391.26476,311784.025,311784.025,0.00006 +2-4-2019 22:00,88403.21823,163879.317,163879.317,0.00006 +2-4-2019 23:00,88415.1716,84958.65,84958.65,0.00006 +3-4-2019 00:00,88427.12486,34545.896,34545.896,0.00006 +3-4-2019 01:00,88439.078,10794.84,10794.84,0.00006 +3-4-2019 02:00,88451.03102,12790.806,12790.806,0.00006 +3-4-2019 03:00,88462.9839,30523.598,30523.598,0.00006 +3-4-2019 04:00,88474.93666,172239.599,172239.599,0.00006 +3-4-2019 05:00,88486.88927,658833.231,658833.231,0.00006 +3-4-2019 06:00,88498.84173,820924.384,820924.384,0.00006 +3-4-2019 07:00,88510.79404,720034.658,720034.658,0.00006 +3-4-2019 08:00,88522.74619,911340.724,911340.724,0.00006 +3-4-2019 09:00,88534.69818,835168.754,835168.754,0.00006 +3-4-2019 10:00,88546.64999,822362.604,822362.604,0.00006 +3-4-2019 11:00,88558.60162,973192.78,973192.78,0.00006 +3-4-2019 12:00,88570.55307,554609.755,554609.755,0.00006 +3-4-2019 13:00,88582.50433,272718.852,272718.852,0.00006 +3-4-2019 14:00,88594.45539,146591.984,146591.984,0.00006 +3-4-2019 15:00,88606.40625,137163.257,137163.257,0.00006 +3-4-2019 16:00,88618.3569,225892.17,225892.17,0.00006 +3-4-2019 17:00,88630.30734,463347.15,463347.15,0.00006 +3-4-2019 18:00,88642.25755,846629.707,846629.707,0.00006 +3-4-2019 19:00,88654.20754,1157136.575,1157136.575,0.00006 +3-4-2019 20:00,88666.15729,1038951.76,1038951.76,0.00006 +3-4-2019 21:00,88678.1068,598150.952,598150.952,0.00006 +3-4-2019 22:00,88690.05607,305020.142,305020.142,0.00006 +3-4-2019 23:00,88702.00508,111953.31,111953.31,0.00006 +4-4-2019 00:00,88713.95384,45483.193,45483.193,0.00006 +4-4-2019 01:00,88725.90233,17132.045,17132.045,0.00006 +4-4-2019 02:00,88737.85055,19195.855,19195.855,0.00006 +4-4-2019 03:00,88749.79849,56411.943,56411.943,0.00006 +4-4-2019 04:00,88761.74615,390387.809,390387.809,0.00006 +4-4-2019 05:00,88773.69353,1199085.762,1199085.762,0.00006 +4-4-2019 06:00,88785.6406,1141042.609,1141042.609,0.00006 +4-4-2019 07:00,88797.58738,963835.817,963835.817,0.00006 +4-4-2019 08:00,88809.53385,1274211.274,1274211.274,0.00006 +4-4-2019 09:00,88821.48,1253637.105,1253637.105,0.00006 +4-4-2019 10:00,88833.42584,1314772.459,1314772.459,0.00006 +4-4-2019 11:00,88845.37135,1571156.447,1571156.447,0.00006 +4-4-2019 12:00,88857.31653,825274.954,825274.954,0.00006 +4-4-2019 13:00,88869.26136,389834.704,389834.704,0.00006 +4-4-2019 14:00,88881.20586,191142.42,191142.42,0.00006 +4-4-2019 15:00,88893.15,146511.582,146511.582,0.00006 +4-4-2019 16:00,88905.09379,229068.756,229068.756,0.00006 +4-4-2019 17:00,88917.03722,531413.904,531413.904,0.00006 +4-4-2019 18:00,88928.98027,963900.007,963900.007,0.00006 +4-4-2019 19:00,88940.92295,1378820.639,1378820.639,0.00006 +4-4-2019 20:00,88952.86525,1161153,1161153,0.00006 +4-4-2019 21:00,88964.80717,647233.405,647233.405,0.00006 +4-4-2019 22:00,88976.74869,312996.243,312996.243,0.00006 +4-4-2019 23:00,88988.68981,115576.818,115576.818,0.00006 +5-4-2019 00:00,89000.63052,47057.983,47057.983,0.00006 +5-4-2019 01:00,89012.57082,18397.841,18397.841,0.00006 +5-4-2019 02:00,89024.51071,21463.799,21463.799,0.00006 +5-4-2019 03:00,89036.45016,73749.942,73749.942,0.00006 +5-4-2019 04:00,89048.38919,503818.077,503818.077,0.00006 +5-4-2019 05:00,89060.32779,1403309.551,1403309.551,0.00006 +5-4-2019 06:00,89072.26594,1228765.559,1228765.559,0.00006 +5-4-2019 07:00,89084.20364,1008571.389,1008571.389,0.00006 +5-4-2019 08:00,89096.14089,1284890.425,1284890.425,0.00006 +5-4-2019 09:00,89108.07767,1189995.968,1189995.968,0.00006 +5-4-2019 10:00,89120.01399,945428.512,945428.512,0.00006 +5-4-2019 11:00,89131.94984,1124283.608,1124283.608,0.00006 +5-4-2019 12:00,89143.8852,625942.093,625942.093,0.00006 +5-4-2019 13:00,89155.82008,285532.45,285532.45,0.00006 +5-4-2019 14:00,89167.75447,151687.837,151687.837,0.00006 +5-4-2019 15:00,89179.68836,135546.278,135546.278,0.00006 +5-4-2019 16:00,89191.62175,224870.674,224870.674,0.00006 +5-4-2019 17:00,89203.55462,438707.766,438707.766,0.00006 +5-4-2019 18:00,89215.48698,802843.118,802843.118,0.00006 +5-4-2019 19:00,89227.41882,993459.712,993459.712,0.00006 +5-4-2019 20:00,89239.35013,975057.44,975057.44,0.00006 +5-4-2019 21:00,89251.2809,588258.153,588258.153,0.00006 +5-4-2019 22:00,89263.21114,292384.085,292384.085,0.00006 +5-4-2019 23:00,89275.14082,105599.193,105599.193,0.00006 +6-4-2019 00:00,89287.06996,41432.734,41432.734,0.00006 +6-4-2019 01:00,89298.99853,13845.615,13845.615,0.00006 +6-4-2019 02:00,89310.92654,15974.161,15974.161,0.00006 +6-4-2019 03:00,89322.85398,40508.86,40508.86,0.00006 +6-4-2019 04:00,89334.78084,273705.824,273705.824,0.00006 +6-4-2019 05:00,89346.70711,937520.885,937520.885,0.00006 +6-4-2019 06:00,89358.6328,949041.947,949041.947,0.00006 +6-4-2019 07:00,89370.55789,832765.836,832765.836,0.00006 +6-4-2019 08:00,89382.48238,1099390.152,1099390.152,0.00006 +6-4-2019 09:00,89394.40626,1055309.171,1055309.171,0.00006 +6-4-2019 10:00,89406.32952,1087982.7,1087982.7,0.00006 +6-4-2019 11:00,89418.25216,1232587.083,1232587.083,0.00006 +6-4-2019 12:00,89430.17418,618195.865,618195.865,0.00006 +6-4-2019 13:00,89442.09557,293204.233,293204.233,0.00006 +6-4-2019 14:00,89454.01631,153454.224,153454.224,0.00006 +6-4-2019 15:00,89465.93641,133048.09,133048.09,0.00006 +6-4-2019 16:00,89477.85586,220710.231,220710.231,0.00006 +6-4-2019 17:00,89489.77465,408292.045,408292.045,0.00006 +6-4-2019 18:00,89501.69278,536277.28,536277.28,0.00006 +6-4-2019 19:00,89513.61024,733082.994,733082.994,0.00006 +6-4-2019 20:00,89525.52702,717715.859,717715.859,0.00006 +6-4-2019 21:00,89537.44312,519492.253,519492.253,0.00006 +6-4-2019 22:00,89549.35854,267324.498,267324.498,0.00006 +6-4-2019 23:00,89561.27326,96485.109,96485.109,0.00006 +7-4-2019 00:00,89573.18727,34216.798,34216.798,0.00006 +7-4-2019 01:00,89585.10059,9558.367,9558.367,0.00006 +7-4-2019 02:00,89597.01318,11452.868,11452.868,0.00006 +7-4-2019 03:00,89608.92507,27253.688,27253.688,0.00006 +7-4-2019 04:00,89620.83622,161557.816,161557.816,0.00006 +7-4-2019 05:00,89632.74665,637446.306,637446.306,0.00006 +7-4-2019 06:00,89644.65633,767503.429,767503.429,0.00006 +7-4-2019 07:00,89656.56528,647867.416,647867.416,0.00006 +7-4-2019 08:00,89668.47347,787374.553,787374.553,0.00006 +7-4-2019 09:00,89680.38091,645483.797,645483.797,0.00006 +7-4-2019 10:00,89692.28759,346845.331,346845.331,0.00006 +7-4-2019 11:00,89704.1935,273802.83,273802.83,0.00006 +7-4-2019 12:00,89716.09864,206059.042,206059.042,0.00006 +7-4-2019 13:00,89728.00299,155741.957,155741.957,0.00006 +7-4-2019 14:00,89739.90656,116876.536,116876.536,0.00006 +7-4-2019 15:00,89751.80934,131486.103,131486.103,0.00006 +7-4-2019 16:00,89763.71132,214273.654,214273.654,0.00006 +7-4-2019 17:00,89775.6125,385969.346,385969.346,0.00006 +7-4-2019 18:00,89787.51286,400864.814,400864.814,0.00006 +7-4-2019 19:00,89799.41241,355466.706,355466.706,0.00006 +7-4-2019 20:00,89811.31113,305130.546,305130.546,0.00006 +7-4-2019 21:00,89823.20903,224514.073,224514.073,0.00006 +7-4-2019 22:00,89835.10609,119701.036,119701.036,0.00006 +7-4-2019 23:00,89847.00231,46638.998,46638.998,0.00006 +8-4-2019 00:00,89858.89768,23673.636,23673.636,0.00006 +8-4-2019 01:00,89870.7922,6259.645,6259.645,0.00006 +8-4-2019 02:00,89882.68586,4869.858,4869.858,0.00006 +8-4-2019 03:00,89894.57866,11119.472,11119.472,0.00006 +8-4-2019 04:00,89906.47058,46753.014,46753.014,0.00006 +8-4-2019 05:00,89918.36162,353398.703,353398.703,0.00006 +8-4-2019 06:00,89930.25178,493480.547,493480.547,0.00006 +8-4-2019 07:00,89942.14105,359765.378,359765.378,0.00006 +8-4-2019 08:00,89954.02943,417148.186,417148.186,0.00006 +8-4-2019 09:00,89965.9169,303071.972,303071.972,0.00006 +8-4-2019 10:00,89977.80346,261496.977,261496.977,0.00006 +8-4-2019 11:00,89989.68911,219156.861,219156.861,0.00006 +8-4-2019 12:00,90001.57384,175314.811,175314.811,0.00006 +8-4-2019 13:00,90013.45764,150965.528,150965.528,0.00006 +8-4-2019 14:00,90025.34051,116876.536,116876.536,0.00006 +8-4-2019 15:00,90037.22244,131486.103,131486.103,0.00006 +8-4-2019 16:00,90049.10342,214273.654,214273.654,0.00006 +8-4-2019 17:00,90060.98345,379848.749,379848.749,0.00006 +8-4-2019 18:00,90072.86253,386195.054,386195.054,0.00006 +8-4-2019 19:00,90084.74064,345791.964,345791.964,0.00006 +8-4-2019 20:00,90096.61778,289093.7,289093.7,0.00006 +8-4-2019 21:00,90108.49395,201645.626,201645.626,0.00006 +8-4-2019 22:00,90120.36913,97397.118,97397.118,0.00006 +8-4-2019 23:00,90132.24333,34088.992,34088.992,0.00006 +9-4-2019 00:00,90144.11653,19479.425,19479.425,0.00006 +9-4-2019 01:00,90155.98873,4869.858,4869.858,0.00006 +9-4-2019 02:00,90167.85993,4869.858,4869.858,0.00006 +9-4-2019 03:00,90179.73011,9739.709,9739.709,0.00006 +9-4-2019 04:00,90191.59927,36022.336,36022.336,0.00006 +9-4-2019 05:00,90203.46741,285803.322,285803.322,0.00006 +9-4-2019 06:00,90215.33452,481140.604,481140.604,0.00006 +9-4-2019 07:00,90227.2006,355279.085,355279.085,0.00006 +9-4-2019 08:00,90239.06563,425810.448,425810.448,0.00006 +9-4-2019 09:00,90250.92961,309304.835,309304.835,0.00006 +9-4-2019 10:00,90262.79253,268842.413,268842.413,0.00006 +9-4-2019 11:00,90274.6544,228822.706,228822.706,0.00006 +9-4-2019 12:00,90286.5152,195511.617,195511.617,0.00006 +9-4-2019 13:00,90298.37492,151005.015,151005.015,0.00006 +9-4-2019 14:00,90310.23356,116876.536,116876.536,0.00006 +9-4-2019 15:00,90322.09112,131486.103,131486.103,0.00006 +9-4-2019 16:00,90333.94759,214273.654,214273.654,0.00006 +9-4-2019 17:00,90345.80296,384748.525,384748.525,0.00006 +9-4-2019 18:00,90357.65722,399872.2,399872.2,0.00006 +9-4-2019 19:00,90369.51038,353399.627,353399.627,0.00006 +9-4-2019 20:00,90381.36242,291501,291501,0.00006 +9-4-2019 21:00,90393.21333,202634.992,202634.992,0.00006 +9-4-2019 22:00,90405.06312,104330.282,104330.282,0.00006 +9-4-2019 23:00,90416.91178,41320.272,41320.272,0.00006 +10-4-2019 00:00,90428.75929,22515.283,22515.283,0.00006 +10-4-2019 01:00,90440.60566,4869.858,4869.858,0.00006 +10-4-2019 02:00,90452.45087,6203.246,6203.246,0.00006 +10-4-2019 03:00,90464.29493,11923.555,11923.555,0.00006 +10-4-2019 04:00,90476.13782,42242.032,42242.032,0.00006 +10-4-2019 05:00,90487.97954,357651.308,357651.308,0.00006 +10-4-2019 06:00,90499.82008,494104.863,494104.863,0.00006 +10-4-2019 07:00,90511.65944,363160.791,363160.791,0.00006 +10-4-2019 08:00,90523.49761,421489.978,421489.978,0.00006 +10-4-2019 09:00,90535.33458,303694.573,303694.573,0.00006 +10-4-2019 10:00,90547.17035,262420.69,262420.69,0.00006 +10-4-2019 11:00,90559.00492,221647.902,221647.902,0.00006 +10-4-2019 12:00,90570.83827,178746.176,178746.176,0.00006 +10-4-2019 13:00,90582.6704,150965.528,150965.528,0.00006 +10-4-2019 14:00,90594.50131,116876.536,116876.536,0.00006 +10-4-2019 15:00,90606.33099,131486.103,131486.103,0.00006 +10-4-2019 16:00,90618.15942,214273.654,214273.654,0.00006 +10-4-2019 17:00,90629.98662,379848.749,379848.749,0.00006 +10-4-2019 18:00,90641.81256,386769.285,386769.285,0.00006 +10-4-2019 19:00,90653.63724,349456.576,349456.576,0.00006 +10-4-2019 20:00,90665.46067,290216.325,290216.325,0.00006 +10-4-2019 21:00,90677.28282,202726.72,202726.72,0.00006 +10-4-2019 22:00,90689.10371,97397.118,97397.118,0.00006 +10-4-2019 23:00,90700.92331,34088.992,34088.992,0.00006 +11-4-2019 00:00,90712.74162,19749.422,19749.422,0.00006 +11-4-2019 01:00,90724.55864,7279.503,7279.503,0.00006 +11-4-2019 02:00,90736.37436,9748.599,9748.599,0.00006 +11-4-2019 03:00,90748.18878,14683.172,14683.172,0.00006 +11-4-2019 04:00,90760.00189,45446.723,45446.723,0.00006 +11-4-2019 05:00,90771.81368,298249.217,298249.217,0.00006 +11-4-2019 06:00,90783.62414,495178.642,495178.642,0.00006 +11-4-2019 07:00,90795.43328,354766.146,354766.146,0.00006 +11-4-2019 08:00,90807.24108,424662.679,424662.679,0.00006 +11-4-2019 09:00,90819.04754,305087.16,305087.16,0.00006 +11-4-2019 10:00,90830.85266,263453.47,263453.47,0.00006 +11-4-2019 11:00,90842.65642,226034.788,226034.788,0.00006 +11-4-2019 12:00,90854.45882,190420.678,190420.678,0.00006 +11-4-2019 13:00,90866.25985,150965.528,150965.528,0.00006 +11-4-2019 14:00,90878.05952,116876.536,116876.536,0.00006 +11-4-2019 15:00,90889.8578,131635.112,131635.112,0.00006 +11-4-2019 16:00,90901.6547,214359.859,214359.859,0.00006 +11-4-2019 17:00,90913.45022,390671.799,390671.799,0.00006 +11-4-2019 18:00,90925.24433,404983.789,404983.789,0.00006 +11-4-2019 19:00,90937.03705,355476.128,355476.128,0.00006 +11-4-2019 20:00,90948.82835,294041.454,294041.454,0.00006 +11-4-2019 21:00,90960.61824,202908.461,202908.461,0.00006 +11-4-2019 22:00,90972.40671,97818.693,97818.693,0.00006 +11-4-2019 23:00,90984.19376,39765.6,39765.6,0.00006 +12-4-2019 00:00,90995.97937,25165.378,25165.378,0.00006 +12-4-2019 01:00,91007.76355,10079.181,10079.181,0.00006 +12-4-2019 02:00,91019.54627,10127.215,10127.215,0.00006 +12-4-2019 03:00,91031.32755,14627.179,14627.179,0.00006 +12-4-2019 04:00,91043.10738,66792.061,66792.061,0.00006 +12-4-2019 05:00,91054.88574,419874.616,419874.616,0.00006 +12-4-2019 06:00,91066.66263,534624.468,534624.468,0.00006 +12-4-2019 07:00,91078.43804,391845.146,391845.146,0.00006 +12-4-2019 08:00,91090.21198,443444.421,443444.421,0.00006 +12-4-2019 09:00,91101.98443,329866.684,329866.684,0.00006 +12-4-2019 10:00,91113.75538,280345.618,280345.618,0.00006 +12-4-2019 11:00,91125.52484,275045.904,275045.904,0.00006 +12-4-2019 12:00,91137.29279,217689.311,217689.311,0.00006 +12-4-2019 13:00,91149.05923,161403.445,161403.445,0.00006 +12-4-2019 14:00,91160.82416,121596.132,121596.132,0.00006 +12-4-2019 15:00,91172.58756,131709.55,131709.55,0.00006 +12-4-2019 16:00,91184.34943,214744.824,214744.824,0.00006 +12-4-2019 17:00,91196.10976,398391.798,398391.798,0.00006 +12-4-2019 18:00,91207.86856,416140.004,416140.004,0.00006 +12-4-2019 19:00,91219.6258,445816.035,445816.035,0.00006 +12-4-2019 20:00,91231.3815,481290.523,481290.523,0.00006 +12-4-2019 21:00,91243.13563,296853.571,296853.571,0.00006 +12-4-2019 22:00,91254.8882,142410.261,142410.261,0.00006 +12-4-2019 23:00,91266.63919,57890.203,57890.203,0.00006 +13-4-2019 00:00,91278.38861,34421.107,34421.107,0.00006 +13-4-2019 01:00,91290.13645,18129.972,18129.972,0.00006 +13-4-2019 02:00,91301.88269,19747.819,19747.819,0.00006 +13-4-2019 03:00,91313.62734,48073.053,48073.053,0.00006 +13-4-2019 04:00,91325.37039,242363.492,242363.492,0.00006 +13-4-2019 05:00,91337.11183,757679.349,757679.349,0.00006 +13-4-2019 06:00,91348.85166,706172.467,706172.467,0.00006 +13-4-2019 07:00,91360.58986,402800.468,402800.468,0.00006 +13-4-2019 08:00,91372.32644,454154.281,454154.281,0.00006 +13-4-2019 09:00,91384.06139,337638.112,337638.112,0.00006 +13-4-2019 10:00,91395.7947,315666.267,315666.267,0.00006 +13-4-2019 11:00,91407.52637,310019.612,310019.612,0.00006 +13-4-2019 12:00,91419.25638,251140.638,251140.638,0.00006 +13-4-2019 13:00,91430.98474,172920.048,172920.048,0.00006 +13-4-2019 14:00,91442.71144,128312.982,128312.982,0.00006 +13-4-2019 15:00,91454.43647,139207.229,139207.229,0.00006 +13-4-2019 16:00,91466.15982,224723.898,224723.898,0.00006 +13-4-2019 17:00,91477.8815,444044.86,444044.86,0.00006 +13-4-2019 18:00,91489.60148,728088.004,728088.004,0.00006 +13-4-2019 19:00,91501.31978,741111.756,741111.756,0.00006 +13-4-2019 20:00,91513.03638,583125.256,583125.256,0.00006 +13-4-2019 21:00,91524.75127,352673.475,352673.475,0.00006 +13-4-2019 22:00,91536.46445,228932.977,228932.977,0.00006 +13-4-2019 23:00,91548.17592,117184.13,117184.13,0.00006 +14-4-2019 00:00,91559.88566,52268.223,52268.223,0.00006 +14-4-2019 01:00,91571.59368,22787.583,22787.583,0.00006 +14-4-2019 02:00,91583.29996,25095.21,25095.21,0.00006 +14-4-2019 03:00,91595.0045,65916.368,65916.368,0.00006 +14-4-2019 04:00,91606.70729,362299.413,362299.413,0.00006 +14-4-2019 05:00,91618.40833,1165129.238,1165129.238,0.00006 +14-4-2019 06:00,91630.10761,1099252.84,1099252.84,0.00006 +14-4-2019 07:00,91641.80513,897470.161,897470.161,0.00006 +14-4-2019 08:00,91653.50088,767001.515,767001.515,0.00006 +14-4-2019 09:00,91665.19485,420028.119,420028.119,0.00006 +14-4-2019 10:00,91676.88703,338628.85,338628.85,0.00006 +14-4-2019 11:00,91688.57743,369795.951,369795.951,0.00006 +14-4-2019 12:00,91700.26604,236985.896,236985.896,0.00006 +14-4-2019 13:00,91711.95284,160817.727,160817.727,0.00006 +14-4-2019 14:00,91723.63784,117559.666,117559.666,0.00006 +14-4-2019 15:00,91735.32102,131486.103,131486.103,0.00006 +14-4-2019 16:00,91747.00238,215249.244,215249.244,0.00006 +14-4-2019 17:00,91758.68192,398778.576,398778.576,0.00006 +14-4-2019 18:00,91770.35963,413752.913,413752.913,0.00006 +14-4-2019 19:00,91782.03551,371665.084,371665.084,0.00006 +14-4-2019 20:00,91793.70953,443954.714,443954.714,0.00006 +14-4-2019 21:00,91805.38172,307707.19,307707.19,0.00006 +14-4-2019 22:00,91817.05204,152796.07,152796.07,0.00006 +14-4-2019 23:00,91828.72051,63742.077,63742.077,0.00006 +15-4-2019 00:00,91840.3871,38474.506,38474.506,0.00006 +15-4-2019 01:00,91852.05183,20023.822,20023.822,0.00006 +15-4-2019 02:00,91863.71468,21340.305,21340.305,0.00006 +15-4-2019 03:00,91875.37564,52222.891,52222.891,0.00006 +15-4-2019 04:00,91887.03471,274771.91,274771.91,0.00006 +15-4-2019 05:00,91898.69188,830293.506,830293.506,0.00006 +15-4-2019 06:00,91910.34715,834900.073,834900.073,0.00006 +15-4-2019 07:00,91922.00052,526670.858,526670.858,0.00006 +15-4-2019 08:00,91933.65196,508623.213,508623.213,0.00006 +15-4-2019 09:00,91945.30149,372746.003,372746.003,0.00006 +15-4-2019 10:00,91956.94909,338178.981,338178.981,0.00006 +15-4-2019 11:00,91968.59476,315700.777,315700.777,0.00006 +15-4-2019 12:00,91980.23849,222638.983,222638.983,0.00006 +15-4-2019 13:00,91991.88027,163904.447,163904.447,0.00006 +15-4-2019 14:00,92003.5201,116876.536,116876.536,0.00006 +15-4-2019 15:00,92015.15798,131486.103,131486.103,0.00006 +15-4-2019 16:00,92026.79389,214273.654,214273.654,0.00006 +15-4-2019 17:00,92038.42784,380570.449,380570.449,0.00006 +15-4-2019 18:00,92050.05981,400804.215,400804.215,0.00006 +15-4-2019 19:00,92061.6898,354025.791,354025.791,0.00006 +15-4-2019 20:00,92073.3178,295085.224,295085.224,0.00006 +15-4-2019 21:00,92084.94381,214062.422,214062.422,0.00006 +15-4-2019 22:00,92096.56782,124542.411,124542.411,0.00006 +15-4-2019 23:00,92108.18983,46356.289,46356.289,0.00006 +16-4-2019 00:00,92119.80982,26921.454,26921.454,0.00006 +16-4-2019 01:00,92131.4278,13207.733,13207.733,0.00006 +16-4-2019 02:00,92143.04376,10793.874,10793.874,0.00006 +16-4-2019 03:00,92154.65769,25700.934,25700.934,0.00006 +16-4-2019 04:00,92166.26958,123647.65,123647.65,0.00006 +16-4-2019 05:00,92177.87943,519980.517,519980.517,0.00006 +16-4-2019 06:00,92189.48724,534821.189,534821.189,0.00006 +16-4-2019 07:00,92201.09299,410569.369,410569.369,0.00006 +16-4-2019 08:00,92212.69669,492213.253,492213.253,0.00006 +16-4-2019 09:00,92224.29832,425983.369,425983.369,0.00006 +16-4-2019 10:00,92235.89788,362652.451,362652.451,0.00006 +16-4-2019 11:00,92247.49537,283133.319,283133.319,0.00006 +16-4-2019 12:00,92259.09077,223504.995,223504.995,0.00006 +16-4-2019 13:00,92270.68409,161035.028,161035.028,0.00006 +16-4-2019 14:00,92282.27531,118383.013,118383.013,0.00006 +16-4-2019 15:00,92293.86443,131656.791,131656.791,0.00006 +16-4-2019 16:00,92305.45144,216192.585,216192.585,0.00006 +16-4-2019 17:00,92317.03634,395675.84,395675.84,0.00006 +16-4-2019 18:00,92328.61913,409980.438,409980.438,0.00006 +16-4-2019 19:00,92340.19978,378544.586,378544.586,0.00006 +16-4-2019 20:00,92351.77831,385878.808,385878.808,0.00006 +16-4-2019 21:00,92363.35471,268780.232,268780.232,0.00006 +16-4-2019 22:00,92374.92896,135309.398,135309.398,0.00006 +16-4-2019 23:00,92386.50106,51812.88,51812.88,0.00006 +17-4-2019 00:00,92398.07102,24555.356,24555.356,0.00006 +17-4-2019 01:00,92409.63881,8086.253,8086.253,0.00006 +17-4-2019 02:00,92421.20443,9740.92,9740.92,0.00006 +17-4-2019 03:00,92432.76788,20783.294,20783.294,0.00006 +17-4-2019 04:00,92444.32916,100098.11,100098.11,0.00006 +17-4-2019 05:00,92455.88825,466118.478,466118.478,0.00006 +17-4-2019 06:00,92467.44515,577360.049,577360.049,0.00006 +17-4-2019 07:00,92478.99986,437547.95,437547.95,0.00006 +17-4-2019 08:00,92490.55237,495417.216,495417.216,0.00006 +17-4-2019 09:00,92502.10267,397084.94,397084.94,0.00006 +17-4-2019 10:00,92513.65075,348240.235,348240.235,0.00006 +17-4-2019 11:00,92525.19662,309067.045,309067.045,0.00006 +17-4-2019 12:00,92536.74026,224299.187,224299.187,0.00006 +17-4-2019 13:00,92548.28167,159151.825,159151.825,0.00006 +17-4-2019 14:00,92559.82084,117876.661,117876.661,0.00006 +17-4-2019 15:00,92571.35777,131486.103,131486.103,0.00006 +17-4-2019 16:00,92582.89245,215051.431,215051.431,0.00006 +17-4-2019 17:00,92594.42488,392431.557,392431.557,0.00006 +17-4-2019 18:00,92605.95504,406053.711,406053.711,0.00006 +17-4-2019 19:00,92617.48294,363206.2,363206.2,0.00006 +17-4-2019 20:00,92629.00857,357496.377,357496.377,0.00006 +17-4-2019 21:00,92640.53192,256009.117,256009.117,0.00006 +17-4-2019 22:00,92652.05298,125670.979,125670.979,0.00006 +17-4-2019 23:00,92663.57175,47233.746,47233.746,0.00006 +18-4-2019 00:00,92675.08823,23002.021,23002.021,0.00006 +18-4-2019 01:00,92686.6024,6104.987,6104.987,0.00006 +18-4-2019 02:00,92698.11427,4869.858,4869.858,0.00006 +18-4-2019 03:00,92709.62382,11400.571,11400.571,0.00006 +18-4-2019 04:00,92721.13105,45479.637,45479.637,0.00006 +18-4-2019 05:00,92732.63596,323717.541,323717.541,0.00006 +18-4-2019 06:00,92744.13853,483068.005,483068.005,0.00006 +18-4-2019 07:00,92755.63877,352191.189,352191.189,0.00006 +18-4-2019 08:00,92767.13666,414048.544,414048.544,0.00006 +18-4-2019 09:00,92778.6322,302028.601,302028.601,0.00006 +18-4-2019 10:00,92790.12539,260252.244,260252.244,0.00006 +18-4-2019 11:00,92801.61622,219143.512,219143.512,0.00006 +18-4-2019 12:00,92813.10468,175314.811,175314.811,0.00006 +18-4-2019 13:00,92824.59076,150965.528,150965.528,0.00006 +18-4-2019 14:00,92836.07447,116876.536,116876.536,0.00006 +18-4-2019 15:00,92847.55579,131486.103,131486.103,0.00006 +18-4-2019 16:00,92859.03472,214273.654,214273.654,0.00006 +18-4-2019 17:00,92870.51125,379848.749,379848.749,0.00006 +18-4-2019 18:00,92881.98538,384718.607,384718.607,0.00006 +18-4-2019 19:00,92893.45711,340889.906,340889.906,0.00006 +18-4-2019 20:00,92904.92641,282451.638,282451.638,0.00006 +18-4-2019 21:00,92916.3933,199664.087,199664.087,0.00006 +18-4-2019 22:00,92927.85776,97397.118,97397.118,0.00006 +18-4-2019 23:00,92939.31979,34088.992,34088.992,0.00006 +19-4-2019 00:00,92950.77938,19479.425,19479.425,0.00006 +19-4-2019 01:00,92962.23652,4869.858,4869.858,0.00006 +19-4-2019 02:00,92973.69122,4869.858,4869.858,0.00006 +19-4-2019 03:00,92985.14346,9739.709,9739.709,0.00006 +19-4-2019 04:00,92996.59324,34088.992,34088.992,0.00006 +19-4-2019 05:00,93008.04055,279418.776,279418.776,0.00006 +19-4-2019 06:00,93019.48538,458040.723,458040.723,0.00006 +19-4-2019 07:00,93030.92774,352621.458,352621.458,0.00006 +19-4-2019 08:00,93042.36761,413937.741,413937.741,0.00006 +19-4-2019 09:00,93053.805,299888.323,299888.323,0.00006 +19-4-2019 10:00,93065.23988,258102.355,258102.355,0.00006 +19-4-2019 11:00,93076.67226,219143.512,219143.512,0.00006 +19-4-2019 12:00,93088.10213,175314.811,175314.811,0.00006 +19-4-2019 13:00,93099.52949,150965.528,150965.528,0.00006 +19-4-2019 14:00,93110.95433,116876.536,116876.536,0.00006 +19-4-2019 15:00,93122.37664,131486.103,131486.103,0.00006 +19-4-2019 16:00,93133.79641,214273.654,214273.654,0.00006 +19-4-2019 17:00,93145.21365,379848.749,379848.749,0.00006 +19-4-2019 18:00,93156.62835,384718.607,384718.607,0.00006 +19-4-2019 19:00,93168.0405,340889.906,340889.906,0.00006 +19-4-2019 20:00,93179.45009,282451.638,282451.638,0.00006 +19-4-2019 21:00,93190.85711,199664.087,199664.087,0.00006 +19-4-2019 22:00,93202.26157,97397.118,97397.118,0.00006 +19-4-2019 23:00,93213.66346,34088.992,34088.992,0.00006 +20-4-2019 00:00,93225.06277,19479.425,19479.425,0.00006 +20-4-2019 01:00,93236.45949,4869.858,4869.858,0.00006 +20-4-2019 02:00,93247.85362,4869.858,4869.858,0.00006 +20-4-2019 03:00,93259.24516,9739.709,9739.709,0.00006 +20-4-2019 04:00,93270.63409,34088.992,34088.992,0.00006 +20-4-2019 05:00,93282.02041,272711.922,272711.922,0.00006 +20-4-2019 06:00,93293.40412,452896.584,452896.584,0.00006 +20-4-2019 07:00,93304.78521,350629.615,350629.615,0.00006 +20-4-2019 08:00,93316.16367,413937.741,413937.741,0.00006 +20-4-2019 09:00,93327.5395,297061.205,297061.205,0.00006 +20-4-2019 10:00,93338.91269,258102.355,258102.355,0.00006 +20-4-2019 11:00,93350.28324,219143.512,219143.512,0.00006 +20-4-2019 12:00,93361.65114,175314.811,175314.811,0.00006 +20-4-2019 13:00,93373.01638,150965.528,150965.528,0.00006 +20-4-2019 14:00,93384.37896,116876.536,116876.536,0.00006 +20-4-2019 15:00,93395.73888,131486.103,131486.103,0.00006 +20-4-2019 16:00,93407.09612,214273.654,214273.654,0.00006 +20-4-2019 17:00,93418.45068,379848.749,379848.749,0.00006 +20-4-2019 18:00,93429.80256,384718.607,384718.607,0.00006 +20-4-2019 19:00,93441.15175,340889.906,340889.906,0.00006 +20-4-2019 20:00,93452.49824,282451.638,282451.638,0.00006 +20-4-2019 21:00,93463.84203,199664.087,199664.087,0.00006 +20-4-2019 22:00,93475.18311,97397.118,97397.118,0.00006 +20-4-2019 23:00,93486.52148,34088.992,34088.992,0.00006 +21-4-2019 00:00,93497.85712,19479.425,19479.425,0.00006 +21-4-2019 01:00,93509.19005,4869.858,4869.858,0.00006 +21-4-2019 02:00,93520.52024,4869.858,4869.858,0.00006 +21-4-2019 03:00,93531.84769,9739.709,9739.709,0.00006 +21-4-2019 04:00,93543.1724,34088.992,34088.992,0.00006 +21-4-2019 05:00,93554.49436,272711.922,272711.922,0.00006 +21-4-2019 06:00,93565.81357,452896.584,452896.584,0.00006 +21-4-2019 07:00,93577.13001,350629.615,350629.615,0.00006 +21-4-2019 08:00,93588.44369,413937.741,413937.741,0.00006 +21-4-2019 09:00,93599.7546,297061.205,297061.205,0.00006 +21-4-2019 10:00,93611.06273,258102.355,258102.355,0.00006 +21-4-2019 11:00,93622.36808,219143.512,219143.512,0.00006 +21-4-2019 12:00,93633.67064,175314.811,175314.811,0.00006 +21-4-2019 13:00,93644.9704,150965.528,150965.528,0.00006 +21-4-2019 14:00,93656.26736,116876.536,116876.536,0.00006 +21-4-2019 15:00,93667.56151,131486.103,131486.103,0.00006 +21-4-2019 16:00,93678.85285,214273.654,214273.654,0.00006 +21-4-2019 17:00,93690.14137,379848.749,379848.749,0.00006 +21-4-2019 18:00,93701.42707,384718.607,384718.607,0.00006 +21-4-2019 19:00,93712.70993,340889.906,340889.906,0.00006 +21-4-2019 20:00,93723.98996,282451.638,282451.638,0.00006 +21-4-2019 21:00,93735.26715,199664.087,199664.087,0.00006 +21-4-2019 22:00,93746.54149,97397.118,97397.118,0.00006 +21-4-2019 23:00,93757.81298,34088.992,34088.992,0.00006 +22-4-2019 00:00,93769.08161,19479.425,19479.425,0.00006 +22-4-2019 01:00,93780.34737,4869.858,4869.858,0.00006 +22-4-2019 02:00,93791.61027,4869.858,4869.858,0.00006 +22-4-2019 03:00,93802.87028,9739.709,9739.709,0.00006 +22-4-2019 04:00,93814.12741,34088.992,34088.992,0.00006 +22-4-2019 05:00,93825.38166,272711.922,272711.922,0.00006 +22-4-2019 06:00,93836.63301,452896.584,452896.584,0.00006 +22-4-2019 07:00,93847.88146,350629.615,350629.615,0.00006 +22-4-2019 08:00,93859.12701,413937.741,413937.741,0.00006 +22-4-2019 09:00,93870.36964,297061.205,297061.205,0.00006 +22-4-2019 10:00,93881.60936,258102.355,258102.355,0.00006 +22-4-2019 11:00,93892.84615,219143.512,219143.512,0.00006 +22-4-2019 12:00,93904.08002,175314.811,175314.811,0.00006 +22-4-2019 13:00,93915.31095,150965.528,150965.528,0.00006 +22-4-2019 14:00,93926.53894,116876.536,116876.536,0.00006 +22-4-2019 15:00,93937.76398,131486.103,131486.103,0.00006 +22-4-2019 16:00,93948.98608,214273.654,214273.654,0.00006 +22-4-2019 17:00,93960.20521,379848.749,379848.749,0.00006 +22-4-2019 18:00,93971.42138,384718.607,384718.607,0.00006 +22-4-2019 19:00,93982.63459,340889.906,340889.906,0.00006 +22-4-2019 20:00,93993.84481,282451.638,282451.638,0.00006 +22-4-2019 21:00,94005.05206,199664.087,199664.087,0.00006 +22-4-2019 22:00,94016.25632,97397.118,97397.118,0.00006 +22-4-2019 23:00,94027.45759,34088.992,34088.992,0.00006 +23-4-2019 00:00,94038.65586,19479.425,19479.425,0.00006 +23-4-2019 01:00,94049.85112,4869.858,4869.858,0.00006 +23-4-2019 02:00,94061.04338,4869.858,4869.858,0.00006 +23-4-2019 03:00,94072.23262,9739.709,9739.709,0.00006 +23-4-2019 04:00,94083.41884,34088.992,34088.992,0.00006 +23-4-2019 05:00,94094.60204,272711.922,272711.922,0.00006 +23-4-2019 06:00,94105.7822,452896.584,452896.584,0.00006 +23-4-2019 07:00,94116.95932,350629.615,350629.615,0.00006 +23-4-2019 08:00,94128.1334,413937.741,413937.741,0.00006 +23-4-2019 09:00,94139.30443,297061.205,297061.205,0.00006 +23-4-2019 10:00,94150.4724,258102.355,258102.355,0.00006 +23-4-2019 11:00,94161.63731,219143.512,219143.512,0.00006 +23-4-2019 12:00,94172.79916,175314.811,175314.811,0.00006 +23-4-2019 13:00,94183.95793,150965.528,150965.528,0.00006 +23-4-2019 14:00,94195.11363,116876.536,116876.536,0.00006 +23-4-2019 15:00,94206.26624,131486.103,131486.103,0.00006 +23-4-2019 16:00,94217.41575,214273.654,214273.654,0.00006 +23-4-2019 17:00,94228.56218,379848.749,379848.749,0.00006 +23-4-2019 18:00,94239.7055,384718.607,384718.607,0.00006 +23-4-2019 19:00,94250.84572,340889.906,340889.906,0.00006 +23-4-2019 20:00,94261.98282,282451.638,282451.638,0.00006 +23-4-2019 21:00,94273.1168,199664.087,199664.087,0.00006 +23-4-2019 22:00,94284.24766,97397.118,97397.118,0.00006 +23-4-2019 23:00,94295.37539,34088.992,34088.992,0.00006 +24-4-2019 00:00,94306.49999,19479.425,19479.425,0.00006 +24-4-2019 01:00,94317.62144,4869.858,4869.858,0.00006 +24-4-2019 02:00,94328.73974,4869.858,4869.858,0.00006 +24-4-2019 03:00,94339.85489,9739.709,9739.709,0.00006 +24-4-2019 04:00,94350.96689,34088.992,34088.992,0.00006 +24-4-2019 05:00,94362.07571,272711.922,272711.922,0.00006 +24-4-2019 06:00,94373.18137,452896.584,452896.584,0.00006 +24-4-2019 07:00,94384.28386,350629.615,350629.615,0.00006 +24-4-2019 08:00,94395.38316,413937.741,413937.741,0.00006 +24-4-2019 09:00,94406.47927,297061.205,297061.205,0.00006 +24-4-2019 10:00,94417.57219,258102.355,258102.355,0.00006 +24-4-2019 11:00,94428.66191,219143.512,219143.512,0.00006 +24-4-2019 12:00,94439.74843,175314.811,175314.811,0.00006 +24-4-2019 13:00,94450.83174,150965.528,150965.528,0.00006 +24-4-2019 14:00,94461.91183,116876.536,116876.536,0.00006 +24-4-2019 15:00,94472.9887,131486.103,131486.103,0.00006 +24-4-2019 16:00,94484.06234,214273.654,214273.654,0.00006 +24-4-2019 17:00,94495.13275,379848.749,379848.749,0.00006 +24-4-2019 18:00,94506.19992,384718.607,384718.607,0.00006 +24-4-2019 19:00,94517.26385,340889.906,340889.906,0.00006 +24-4-2019 20:00,94528.32453,282451.638,282451.638,0.00006 +24-4-2019 21:00,94539.38195,199664.087,199664.087,0.00006 +24-4-2019 22:00,94550.43611,97397.118,97397.118,0.00006 +24-4-2019 23:00,94561.487,34088.992,34088.992,0.00006 +25-4-2019 00:00,94572.53462,19479.425,19479.425,0.00006 +25-4-2019 01:00,94583.57897,4869.858,4869.858,0.00006 +25-4-2019 02:00,94594.62002,4869.858,4869.858,0.00006 +25-4-2019 03:00,94605.65779,9739.709,9739.709,0.00006 +25-4-2019 04:00,94616.69227,34088.992,34088.992,0.00006 +25-4-2019 05:00,94627.72344,272711.922,272711.922,0.00006 +25-4-2019 06:00,94638.7513,452896.584,452896.584,0.00006 +25-4-2019 07:00,94649.77585,350629.615,350629.615,0.00006 +25-4-2019 08:00,94660.79709,413937.741,413937.741,0.00006 +25-4-2019 09:00,94671.815,297061.205,297061.205,0.00006 +25-4-2019 10:00,94682.82958,258102.355,258102.355,0.00006 +25-4-2019 11:00,94693.84083,219143.512,219143.512,0.00006 +25-4-2019 12:00,94704.84873,175314.811,175314.811,0.00006 +25-4-2019 13:00,94715.85329,150965.528,150965.528,0.00006 +25-4-2019 14:00,94726.8545,116876.536,116876.536,0.00006 +25-4-2019 15:00,94737.85234,131486.103,131486.103,0.00006 +25-4-2019 16:00,94748.84683,214273.654,214273.654,0.00006 +25-4-2019 17:00,94759.83794,379848.749,379848.749,0.00006 +25-4-2019 18:00,94770.82569,384718.607,384718.607,0.00006 +25-4-2019 19:00,94781.81005,340889.906,340889.906,0.00006 +25-4-2019 20:00,94792.79102,282451.638,282451.638,0.00006 +25-4-2019 21:00,94803.7686,199664.087,199664.087,0.00006 +25-4-2019 22:00,94814.74279,97397.118,97397.118,0.00006 +25-4-2019 23:00,94825.71357,34088.992,34088.992,0.00006 +26-4-2019 00:00,94836.68095,19479.425,19479.425,0.00006 +26-4-2019 01:00,94847.6449,4869.858,4869.858,0.00006 +26-4-2019 02:00,94858.60544,4869.858,4869.858,0.00006 +26-4-2019 03:00,94869.56256,9739.709,9739.709,0.00006 +26-4-2019 04:00,94880.51624,34088.992,34088.992,0.00006 +26-4-2019 05:00,94891.46649,272711.922,272711.922,0.00006 +26-4-2019 06:00,94902.41329,452896.584,452896.584,0.00006 +26-4-2019 07:00,94913.35665,350629.615,350629.615,0.00006 +26-4-2019 08:00,94924.29655,413937.741,413937.741,0.00006 +26-4-2019 09:00,94935.23299,297061.205,297061.205,0.00006 +26-4-2019 10:00,94946.16597,258102.355,258102.355,0.00006 +26-4-2019 11:00,94957.09547,219143.512,219143.512,0.00006 +26-4-2019 12:00,94968.0215,175314.811,175314.811,0.00006 +26-4-2019 13:00,94978.94405,150965.528,150965.528,0.00006 +26-4-2019 14:00,94989.86311,116876.536,116876.536,0.00006 +26-4-2019 15:00,95000.77868,131486.103,131486.103,0.00006 +26-4-2019 16:00,95011.69075,214273.654,214273.654,0.00006 +26-4-2019 17:00,95022.59931,379848.749,379848.749,0.00006 +26-4-2019 18:00,95033.50437,384718.607,384718.607,0.00006 +26-4-2019 19:00,95044.40591,340889.906,340889.906,0.00006 +26-4-2019 20:00,95055.30393,282451.638,282451.638,0.00006 +26-4-2019 21:00,95066.19842,199664.087,199664.087,0.00006 +26-4-2019 22:00,95077.08938,97397.118,97397.118,0.00006 +26-4-2019 23:00,95087.9768,34088.992,34088.992,0.00006 +27-4-2019 00:00,95098.86067,19479.425,19479.425,0.00006 +27-4-2019 01:00,95109.741,4869.858,4869.858,0.00006 +27-4-2019 02:00,95120.61777,4869.858,4869.858,0.00006 +27-4-2019 03:00,95131.49099,9739.709,9739.709,0.00006 +27-4-2019 04:00,95142.36063,34088.992,34088.992,0.00006 +27-4-2019 05:00,95153.22671,272711.922,272711.922,0.00006 +27-4-2019 06:00,95164.08921,452896.584,452896.584,0.00006 +27-4-2019 07:00,95174.94812,350629.615,350629.615,0.00006 +27-4-2019 08:00,95185.80345,413937.741,413937.741,0.00006 +27-4-2019 09:00,95196.65518,297061.205,297061.205,0.00006 +27-4-2019 10:00,95207.50332,258102.355,258102.355,0.00006 +27-4-2019 11:00,95218.34785,219143.512,219143.512,0.00006 +27-4-2019 12:00,95229.18876,175314.811,175314.811,0.00006 +27-4-2019 13:00,95240.02607,150965.528,150965.528,0.00006 +27-4-2019 14:00,95250.85975,116876.536,116876.536,0.00006 +27-4-2019 15:00,95261.6898,131486.103,131486.103,0.00006 +27-4-2019 16:00,95272.51622,214273.654,214273.654,0.00006 +27-4-2019 17:00,95283.339,379848.749,379848.749,0.00006 +27-4-2019 18:00,95294.15814,384718.607,384718.607,0.00006 +27-4-2019 19:00,95304.97362,340889.906,340889.906,0.00006 +27-4-2019 20:00,95315.78546,282451.638,282451.638,0.00006 +27-4-2019 21:00,95326.59363,199664.087,199664.087,0.00006 +27-4-2019 22:00,95337.39813,97397.118,97397.118,0.00006 +27-4-2019 23:00,95348.19897,34088.992,34088.992,0.00006 +28-4-2019 00:00,95358.99612,19479.425,19479.425,0.00006 +28-4-2019 01:00,95369.78959,4869.858,4869.858,0.00006 +28-4-2019 02:00,95380.57938,4869.858,4869.858,0.00006 +28-4-2019 03:00,95391.36547,9739.709,9739.709,0.00006 +28-4-2019 04:00,95402.14786,34088.992,34088.992,0.00006 +28-4-2019 05:00,95412.92654,277319.567,277319.567,0.00006 +28-4-2019 06:00,95423.70152,452896.584,452896.584,0.00006 +28-4-2019 07:00,95434.47277,350629.615,350629.615,0.00006 +28-4-2019 08:00,95445.24031,413937.741,413937.741,0.00006 +28-4-2019 09:00,95456.00412,301270.634,301270.634,0.00006 +28-4-2019 10:00,95466.7642,258102.355,258102.355,0.00006 +28-4-2019 11:00,95477.52053,220084.921,220084.921,0.00006 +28-4-2019 12:00,95488.27313,178736.852,178736.852,0.00006 +28-4-2019 13:00,95499.02197,150965.528,150965.528,0.00006 +28-4-2019 14:00,95509.76706,116876.536,116876.536,0.00006 +28-4-2019 15:00,95520.50839,131486.103,131486.103,0.00006 +28-4-2019 16:00,95531.24595,214273.654,214273.654,0.00006 +28-4-2019 17:00,95541.97974,379848.749,379848.749,0.00006 +28-4-2019 18:00,95552.70975,384718.607,384718.607,0.00006 +28-4-2019 19:00,95563.43598,342999.146,342999.146,0.00006 +28-4-2019 20:00,95574.15843,284723.25,284723.25,0.00006 +28-4-2019 21:00,95584.87707,201575.787,201575.787,0.00006 +28-4-2019 22:00,95595.59192,97397.118,97397.118,0.00006 +28-4-2019 23:00,95606.30297,34088.992,34088.992,0.00006 +29-4-2019 00:00,95617.0102,19479.425,19479.425,0.00006 +29-4-2019 01:00,95627.71362,4869.858,4869.858,0.00006 +29-4-2019 02:00,95638.41322,4869.858,4869.858,0.00006 +29-4-2019 03:00,95649.10899,9739.709,9739.709,0.00006 +29-4-2019 04:00,95659.80093,34088.992,34088.992,0.00006 +29-4-2019 05:00,95670.48903,282110.059,282110.059,0.00006 +29-4-2019 06:00,95681.17329,466681.565,466681.565,0.00006 +29-4-2019 07:00,95691.8537,350629.615,350629.615,0.00006 +29-4-2019 08:00,95702.53025,414920.037,414920.037,0.00006 +29-4-2019 09:00,95713.20294,306092.906,306092.906,0.00006 +29-4-2019 10:00,95723.87177,262568.481,262568.481,0.00006 +29-4-2019 11:00,95734.53673,220890.166,220890.166,0.00006 +29-4-2019 12:00,95745.19781,179283.741,179283.741,0.00006 +29-4-2019 13:00,95755.85502,150965.528,150965.528,0.00006 +29-4-2019 14:00,95766.50833,116876.536,116876.536,0.00006 +29-4-2019 15:00,95777.15775,131486.103,131486.103,0.00006 +29-4-2019 16:00,95787.80327,214273.654,214273.654,0.00006 +29-4-2019 17:00,95798.44489,379848.749,379848.749,0.00006 +29-4-2019 18:00,95809.0826,385063.651,385063.651,0.00006 +29-4-2019 19:00,95819.7164,343076.496,343076.496,0.00006 +29-4-2019 20:00,95830.34627,285642.266,285642.266,0.00006 +29-4-2019 21:00,95840.97222,201475.82,201475.82,0.00006 +29-4-2019 22:00,95851.59424,97397.118,97397.118,0.00006 +29-4-2019 23:00,95862.21232,34088.992,34088.992,0.00006 +30-4-2019 00:00,95872.82646,19479.425,19479.425,0.00006 +30-4-2019 01:00,95883.43666,4869.858,4869.858,0.00006 +30-4-2019 02:00,95894.0429,4869.858,4869.858,0.00006 +30-4-2019 03:00,95904.64518,9739.709,9739.709,0.00006 +30-4-2019 04:00,95915.2435,34088.992,34088.992,0.00006 +30-4-2019 05:00,95925.83785,279842.962,279842.962,0.00006 +30-4-2019 06:00,95936.42822,461744.542,461744.542,0.00006 +30-4-2019 07:00,95947.01462,350823.284,350823.284,0.00006 +30-4-2019 08:00,95957.59703,415293.291,415293.291,0.00006 +30-4-2019 09:00,95968.17544,307633.438,307633.438,0.00006 +30-4-2019 10:00,95978.74987,263284.567,263284.567,0.00006 +30-4-2019 11:00,95989.32029,225360.793,225360.793,0.00006 +30-4-2019 12:00,95999.8867,184240.749,184240.749,0.00006 +30-4-2019 13:00,96010.4491,150965.528,150965.528,0.00006 +30-4-2019 14:00,96021.00748,116876.536,116876.536,0.00006 +30-4-2019 15:00,96031.56184,131486.103,131486.103,0.00006 +30-4-2019 16:00,96042.11217,214273.654,214273.654,0.00006 +30-4-2019 17:00,96052.65846,379848.749,379848.749,0.00006 +30-4-2019 18:00,96063.20072,386485.764,386485.764,0.00006 +30-4-2019 19:00,96073.73893,346505.25,346505.25,0.00006 +30-4-2019 20:00,96084.27308,286361.495,286361.495,0.00006 +30-4-2019 21:00,96094.80319,201631.787,201631.787,0.00006 +30-4-2019 22:00,96105.32923,97397.118,97397.118,0.00006 +30-4-2019 23:00,96115.8512,34088.992,34088.992,0.00006 +1-5-2019 00:00,96126.3691,19479.425,19479.425,0.00006 +1-5-2019 01:00,96136.88293,4869.858,4869.858,0.00006 +1-5-2019 02:00,96147.39267,4869.858,4869.858,0.00006 +1-5-2019 03:00,96157.89832,9739.709,9739.709,0.00006 +1-5-2019 04:00,96168.39988,34088.992,34088.992,0.00006 +1-5-2019 05:00,96178.89734,282738.981,282738.981,0.00006 +1-5-2019 06:00,96189.39069,472332.609,472332.609,0.00006 +1-5-2019 07:00,96199.87993,354450.817,354450.817,0.00006 +1-5-2019 08:00,96210.36506,421392.895,421392.895,0.00006 +1-5-2019 09:00,96220.84607,308443.457,308443.457,0.00006 +1-5-2019 10:00,96231.32295,264401.018,264401.018,0.00006 +1-5-2019 11:00,96241.7957,223649.503,223649.503,0.00006 +1-5-2019 12:00,96252.26431,182725.326,182725.326,0.00006 +1-5-2019 13:00,96262.72878,150965.528,150965.528,0.00006 +1-5-2019 14:00,96273.1891,116876.536,116876.536,0.00006 +1-5-2019 15:00,96283.64526,131486.103,131486.103,0.00006 +1-5-2019 16:00,96294.09727,214273.654,214273.654,0.00006 +1-5-2019 17:00,96304.54512,379848.749,379848.749,0.00006 +1-5-2019 18:00,96314.98879,387188.949,387188.949,0.00006 +1-5-2019 19:00,96325.42829,347148.396,347148.396,0.00006 +1-5-2019 20:00,96335.86361,287138.964,287138.964,0.00006 +1-5-2019 21:00,96346.29475,202088.509,202088.509,0.00006 +1-5-2019 22:00,96356.72169,97397.118,97397.118,0.00006 +1-5-2019 23:00,96367.14444,34088.992,34088.992,0.00006 +2-5-2019 00:00,96377.56299,19479.425,19479.425,0.00006 +2-5-2019 01:00,96387.97733,4869.858,4869.858,0.00006 +2-5-2019 02:00,96398.38745,5769.106,5769.106,0.00006 +2-5-2019 03:00,96408.79336,11603.494,11603.494,0.00006 +2-5-2019 04:00,96419.19505,35995.988,35995.988,0.00006 +2-5-2019 05:00,96429.5925,285769.288,285769.288,0.00006 +2-5-2019 06:00,96439.98573,480292.904,480292.904,0.00006 +2-5-2019 07:00,96450.37471,354617.046,354617.046,0.00006 +2-5-2019 08:00,96460.75945,424404.806,424404.806,0.00006 +2-5-2019 09:00,96471.13994,308865.144,308865.144,0.00006 +2-5-2019 10:00,96481.51617,266276.864,266276.864,0.00006 +2-5-2019 11:00,96491.88815,228633.307,228633.307,0.00006 +2-5-2019 12:00,96502.25586,193601.94,193601.94,0.00006 +2-5-2019 13:00,96512.61929,151262.615,151262.615,0.00006 +2-5-2019 14:00,96522.97845,116876.536,116876.536,0.00006 +2-5-2019 15:00,96533.33333,131486.103,131486.103,0.00006 +2-5-2019 16:00,96543.68392,214273.654,214273.654,0.00006 +2-5-2019 17:00,96554.03022,380617.622,380617.622,0.00006 +2-5-2019 18:00,96564.37223,395360.371,395360.371,0.00006 +2-5-2019 19:00,96574.70992,348495.868,348495.868,0.00006 +2-5-2019 20:00,96585.04331,289924.642,289924.642,0.00006 +2-5-2019 21:00,96595.37239,202092.961,202092.961,0.00006 +2-5-2019 22:00,96605.69715,97397.118,97397.118,0.00006 +2-5-2019 23:00,96616.01758,34088.992,34088.992,0.00006 +3-5-2019 00:00,96626.33368,19479.425,19479.425,0.00006 +3-5-2019 01:00,96636.64545,4869.858,4869.858,0.00006 +3-5-2019 02:00,96646.95288,5126.331,5126.331,0.00006 +3-5-2019 03:00,96657.25596,11586.008,11586.008,0.00006 +3-5-2019 04:00,96667.55469,37235.919,37235.919,0.00006 +3-5-2019 05:00,96677.84906,284865.511,284865.511,0.00006 +3-5-2019 06:00,96688.13908,481012.777,481012.777,0.00006 +3-5-2019 07:00,96698.42472,355634.615,355634.615,0.00006 +3-5-2019 08:00,96708.706,425746.804,425746.804,0.00006 +3-5-2019 09:00,96718.98289,309863.33,309863.33,0.00006 +3-5-2019 10:00,96729.25541,268999.22,268999.22,0.00006 +3-5-2019 11:00,96739.52354,231147.294,231147.294,0.00006 +3-5-2019 12:00,96749.78727,197740.823,197740.823,0.00006 +3-5-2019 13:00,96760.0466,152271.959,152271.959,0.00006 +3-5-2019 14:00,96770.30153,117090.967,117090.967,0.00006 +3-5-2019 15:00,96780.55206,131583.662,131583.662,0.00006 +3-5-2019 16:00,96790.79816,215199.264,215199.264,0.00006 +3-5-2019 17:00,96801.03985,385147.525,385147.525,0.00006 +3-5-2019 18:00,96811.27711,401526.846,401526.846,0.00006 +3-5-2019 19:00,96821.50995,352989.105,352989.105,0.00006 +3-5-2019 20:00,96831.73834,292865.881,292865.881,0.00006 +3-5-2019 21:00,96841.9623,202550.292,202550.292,0.00006 +3-5-2019 22:00,96852.18181,97397.118,97397.118,0.00006 +3-5-2019 23:00,96862.39687,34088.992,34088.992,0.00006 +4-5-2019 00:00,96872.60747,19479.425,19479.425,0.00006 +4-5-2019 01:00,96882.81361,6218.877,6218.877,0.00006 +4-5-2019 02:00,96893.01529,9322.446,9322.446,0.00006 +4-5-2019 03:00,96903.21249,12907.685,12907.685,0.00006 +4-5-2019 04:00,96913.40521,41896.736,41896.736,0.00006 +4-5-2019 05:00,96923.59346,286119.204,286119.204,0.00006 +4-5-2019 06:00,96933.77721,476851.711,476851.711,0.00006 +4-5-2019 07:00,96943.95647,351040.879,351040.879,0.00006 +4-5-2019 08:00,96954.13123,421379.364,421379.364,0.00006 +4-5-2019 09:00,96964.30149,308675.563,308675.563,0.00006 +4-5-2019 10:00,96974.46724,266002.779,266002.779,0.00006 +4-5-2019 11:00,96984.62848,228802.721,228802.721,0.00006 +4-5-2019 12:00,96994.78519,195483.148,195483.148,0.00006 +4-5-2019 13:00,97004.93739,153531.854,153531.854,0.00006 +4-5-2019 14:00,97015.08505,116876.536,116876.536,0.00006 +4-5-2019 15:00,97025.22817,131486.103,131486.103,0.00006 +4-5-2019 16:00,97035.36676,214273.654,214273.654,0.00006 +4-5-2019 17:00,97045.5008,380702.623,380702.623,0.00006 +4-5-2019 18:00,97055.63029,399204.589,399204.589,0.00006 +4-5-2019 19:00,97065.75523,350862.568,350862.568,0.00006 +4-5-2019 20:00,97075.8756,293089.93,293089.93,0.00006 +4-5-2019 21:00,97085.99141,202883.968,202883.968,0.00006 +4-5-2019 22:00,97096.10265,97397.118,97397.118,0.00006 +4-5-2019 23:00,97106.2093,34088.992,34088.992,0.00006 +5-5-2019 00:00,97116.31138,20775.951,20775.951,0.00006 +5-5-2019 01:00,97126.40887,9680.762,9680.762,0.00006 +5-5-2019 02:00,97136.50177,9889.341,9889.341,0.00006 +5-5-2019 03:00,97146.59007,14311.577,14311.577,0.00006 +5-5-2019 04:00,97156.67377,45257.625,45257.625,0.00006 +5-5-2019 05:00,97166.75286,288298.808,288298.808,0.00006 +5-5-2019 06:00,97176.82734,487010.755,487010.755,0.00006 +5-5-2019 07:00,97186.89719,354623.878,354623.878,0.00006 +5-5-2019 08:00,97196.96243,427718.585,427718.585,0.00006 +5-5-2019 09:00,97207.02304,311841.607,311841.607,0.00006 +5-5-2019 10:00,97217.07901,273193.508,273193.508,0.00006 +5-5-2019 11:00,97227.13034,238128.303,238128.303,0.00006 +5-5-2019 12:00,97237.17703,198149.077,198149.077,0.00006 +5-5-2019 13:00,97247.21908,155039.451,155039.451,0.00006 +5-5-2019 14:00,97257.25646,119429.688,119429.688,0.00006 +5-5-2019 15:00,97267.28919,133448.266,133448.266,0.00006 +5-5-2019 16:00,97277.31725,218829.639,218829.639,0.00006 +5-5-2019 17:00,97287.34064,384767.677,384767.677,0.00006 +5-5-2019 18:00,97297.35936,405662.012,405662.012,0.00006 +5-5-2019 19:00,97307.3734,358881.866,358881.866,0.00006 +5-5-2019 20:00,97317.38275,294850.731,294850.731,0.00006 +5-5-2019 21:00,97327.38741,203135.576,203135.576,0.00006 +5-5-2019 22:00,97337.38737,97397.118,97397.118,0.00006 +5-5-2019 23:00,97347.38264,34088.992,34088.992,0.00006 +6-5-2019 00:00,97357.3732,24590.216,24590.216,0.00006 +6-5-2019 01:00,97367.35904,12860.82,12860.82,0.00006 +6-5-2019 02:00,97377.34017,11504.969,11504.969,0.00006 +6-5-2019 03:00,97387.31658,16981.265,16981.265,0.00006 +6-5-2019 04:00,97397.28827,51558.78,51558.78,0.00006 +6-5-2019 05:00,97407.25522,288018.521,288018.521,0.00006 +6-5-2019 06:00,97417.21743,498705.97,498705.97,0.00006 +6-5-2019 07:00,97427.17491,357565.88,357565.88,0.00006 +6-5-2019 08:00,97437.12763,439984.104,439984.104,0.00006 +6-5-2019 09:00,97447.07561,315308.28,315308.28,0.00006 +6-5-2019 10:00,97457.01882,277546.255,277546.255,0.00006 +6-5-2019 11:00,97466.95728,240344.363,240344.363,0.00006 +6-5-2019 12:00,97476.89096,207348.757,207348.757,0.00006 +6-5-2019 13:00,97486.81988,154666.533,154666.533,0.00006 +6-5-2019 14:00,97496.74401,119928.305,119928.305,0.00006 +6-5-2019 15:00,97506.66337,133676.025,133676.025,0.00006 +6-5-2019 16:00,97516.57793,219697.485,219697.485,0.00006 +6-5-2019 17:00,97526.48771,389921.462,389921.462,0.00006 +6-5-2019 18:00,97536.39268,410510.268,410510.268,0.00006 +6-5-2019 19:00,97546.29285,359312.177,359312.177,0.00006 +6-5-2019 20:00,97556.18822,295496.481,295496.481,0.00006 +6-5-2019 21:00,97566.07877,203334.271,203334.271,0.00006 +6-5-2019 22:00,97575.9645,97397.118,97397.118,0.00006 +6-5-2019 23:00,97585.8454,41082.986,41082.986,0.00006 +7-5-2019 00:00,97595.72148,29753.556,29753.556,0.00006 +7-5-2019 01:00,97605.59273,13997.893,13997.893,0.00006 +7-5-2019 02:00,97615.45914,11801.699,11801.699,0.00006 +7-5-2019 03:00,97625.3207,17522.778,17522.778,0.00006 +7-5-2019 04:00,97635.17741,52579.24,52579.24,0.00006 +7-5-2019 05:00,97645.02927,290299.429,290299.429,0.00006 +7-5-2019 06:00,97654.87627,506281.398,506281.398,0.00006 +7-5-2019 07:00,97664.71841,385613.669,385613.669,0.00006 +7-5-2019 08:00,97674.55568,448305.648,448305.648,0.00006 +7-5-2019 09:00,97684.38807,315651.441,315651.441,0.00006 +7-5-2019 10:00,97694.21558,277742.927,277742.927,0.00006 +7-5-2019 11:00,97704.03821,240971.038,240971.038,0.00006 +7-5-2019 12:00,97713.85595,207188.527,207188.527,0.00006 +7-5-2019 13:00,97723.6688,156285.507,156285.507,0.00006 +7-5-2019 14:00,97733.47674,119409.178,119409.178,0.00006 +7-5-2019 15:00,97743.27978,133148.099,133148.099,0.00006 +7-5-2019 16:00,97753.07791,217038.381,217038.381,0.00006 +7-5-2019 17:00,97762.87113,387213.225,387213.225,0.00006 +7-5-2019 18:00,97772.65943,408159.584,408159.584,0.00006 +7-5-2019 19:00,97782.4428,359014.46,359014.46,0.00006 +7-5-2019 20:00,97792.22124,295328.894,295328.894,0.00006 +7-5-2019 21:00,97801.99475,203753.431,203753.431,0.00006 +7-5-2019 22:00,97811.76332,119806.554,119806.554,0.00006 +7-5-2019 23:00,97821.52694,43981.784,43981.784,0.00006 +8-5-2019 00:00,97831.28562,26758.095,26758.095,0.00006 +8-5-2019 01:00,97841.03933,11275.082,11275.082,0.00006 +8-5-2019 02:00,97850.78809,10043.558,10043.558,0.00006 +8-5-2019 03:00,97860.53189,14404.719,14404.719,0.00006 +8-5-2019 04:00,97870.27071,48658.407,48658.407,0.00006 +8-5-2019 05:00,97880.00456,288168.069,288168.069,0.00006 +8-5-2019 06:00,97889.73343,501926.194,501926.194,0.00006 +8-5-2019 07:00,97899.45731,382088.826,382088.826,0.00006 +8-5-2019 08:00,97909.1762,445968.285,445968.285,0.00006 +8-5-2019 09:00,97918.8901,313748.813,313748.813,0.00006 +8-5-2019 10:00,97928.599,276438.589,276438.589,0.00006 +8-5-2019 11:00,97938.30289,239527.225,239527.225,0.00006 +8-5-2019 12:00,97948.00178,206643.99,206643.99,0.00006 +8-5-2019 13:00,97957.69565,156012.493,156012.493,0.00006 +8-5-2019 14:00,97967.38449,118639.367,118639.367,0.00006 +8-5-2019 15:00,97977.06832,132711.817,132711.817,0.00006 +8-5-2019 16:00,97986.74711,217120.372,217120.372,0.00006 +8-5-2019 17:00,97996.42087,386311.688,386311.688,0.00006 +8-5-2019 18:00,98006.08959,406279.475,406279.475,0.00006 +8-5-2019 19:00,98015.75326,358346.814,358346.814,0.00006 +8-5-2019 20:00,98025.41189,293668.69,293668.69,0.00006 +8-5-2019 21:00,98035.06546,205323.615,205323.615,0.00006 +8-5-2019 22:00,98044.71397,113532.412,113532.412,0.00006 +8-5-2019 23:00,98054.35741,43223.565,43223.565,0.00006 +9-5-2019 00:00,98063.99579,22580.726,22580.726,0.00006 +9-5-2019 01:00,98073.62909,7905.751,7905.751,0.00006 +9-5-2019 02:00,98083.25731,9576.007,9576.007,0.00006 +9-5-2019 03:00,98092.88045,13883.52,13883.52,0.00006 +9-5-2019 04:00,98102.4985,43423.695,43423.695,0.00006 +9-5-2019 05:00,98112.11145,286487.005,286487.005,0.00006 +9-5-2019 06:00,98121.7193,481073.831,481073.831,0.00006 +9-5-2019 07:00,98131.32205,353078.509,353078.509,0.00006 +9-5-2019 08:00,98140.91969,423903.466,423903.466,0.00006 +9-5-2019 09:00,98150.51222,308583.478,308583.478,0.00006 +9-5-2019 10:00,98160.09962,268165.114,268165.114,0.00006 +9-5-2019 11:00,98169.68191,228622.688,228622.688,0.00006 +9-5-2019 12:00,98179.25906,195771.926,195771.926,0.00006 +9-5-2019 13:00,98188.83108,150965.71,150965.71,0.00006 +9-5-2019 14:00,98198.39796,116876.536,116876.536,0.00006 +9-5-2019 15:00,98207.9597,131486.103,131486.103,0.00006 +9-5-2019 16:00,98217.51629,214273.654,214273.654,0.00006 +9-5-2019 17:00,98227.06772,380118.697,380118.697,0.00006 +9-5-2019 18:00,98236.614,392746.872,392746.872,0.00006 +9-5-2019 19:00,98246.15511,348991.972,348991.972,0.00006 +9-5-2019 20:00,98255.69105,291874.793,291874.793,0.00006 +9-5-2019 21:00,98265.22182,202313.293,202313.293,0.00006 +9-5-2019 22:00,98274.74742,97397.118,97397.118,0.00006 +9-5-2019 23:00,98284.26783,34088.992,34088.992,0.00006 +10-5-2019 00:00,98293.78305,19479.425,19479.425,0.00006 +10-5-2019 01:00,98303.29308,4869.858,4869.858,0.00006 +10-5-2019 02:00,98312.79791,7317.436,7317.436,0.00006 +10-5-2019 03:00,98322.29754,11772.446,11772.446,0.00006 +10-5-2019 04:00,98331.79196,38912.195,38912.195,0.00006 +10-5-2019 05:00,98341.28117,285553.618,285553.618,0.00006 +10-5-2019 06:00,98350.76516,485196.845,485196.845,0.00006 +10-5-2019 07:00,98360.24393,355941.845,355941.845,0.00006 +10-5-2019 08:00,98369.71747,427326.431,427326.431,0.00006 +10-5-2019 09:00,98379.18578,310527.581,310527.581,0.00006 +10-5-2019 10:00,98388.64886,270523.512,270523.512,0.00006 +10-5-2019 11:00,98398.10669,232445.346,232445.346,0.00006 +10-5-2019 12:00,98407.55927,200017.776,200017.776,0.00006 +10-5-2019 13:00,98417.00661,152051.046,152051.046,0.00006 +10-5-2019 14:00,98426.44869,116876.536,116876.536,0.00006 +10-5-2019 15:00,98435.8855,131486.103,131486.103,0.00006 +10-5-2019 16:00,98445.31705,214273.654,214273.654,0.00006 +10-5-2019 17:00,98454.74333,379848.749,379848.749,0.00006 +10-5-2019 18:00,98464.16434,389535.678,389535.678,0.00006 +10-5-2019 19:00,98473.58006,349116.285,349116.285,0.00006 +10-5-2019 20:00,98482.9905,291887.484,291887.484,0.00006 +10-5-2019 21:00,98492.39565,202451.172,202451.172,0.00006 +10-5-2019 22:00,98501.7955,97397.118,97397.118,0.00006 +10-5-2019 23:00,98511.19005,34088.992,34088.992,0.00006 +11-5-2019 00:00,98520.5793,19479.425,19479.425,0.00006 +11-5-2019 01:00,98529.96324,5537.679,5537.679,0.00006 +11-5-2019 02:00,98539.34187,8627.43,8627.43,0.00006 +11-5-2019 03:00,98548.71517,12119.583,12119.583,0.00006 +11-5-2019 04:00,98558.08315,41131.02,41131.02,0.00006 +11-5-2019 05:00,98567.44581,287059.962,287059.962,0.00006 +11-5-2019 06:00,98576.80313,489208.734,489208.734,0.00006 +11-5-2019 07:00,98586.15511,356072.346,356072.346,0.00006 +11-5-2019 08:00,98595.50174,429713.277,429713.277,0.00006 +11-5-2019 09:00,98604.84303,308772.506,308772.506,0.00006 +11-5-2019 10:00,98614.17897,268143.47,268143.47,0.00006 +11-5-2019 11:00,98623.50955,226626.092,226626.092,0.00006 +11-5-2019 12:00,98632.83477,189834.757,189834.757,0.00006 +11-5-2019 13:00,98642.15462,150965.528,150965.528,0.00006 +11-5-2019 14:00,98651.46909,116876.536,116876.536,0.00006 +11-5-2019 15:00,98660.77819,131486.103,131486.103,0.00006 +11-5-2019 16:00,98670.08191,214273.654,214273.654,0.00006 +11-5-2019 17:00,98679.38024,379848.749,379848.749,0.00006 +11-5-2019 18:00,98688.67318,384718.607,384718.607,0.00006 +11-5-2019 19:00,98697.96073,344310.547,344310.547,0.00006 +11-5-2019 20:00,98707.24287,288147.216,288147.216,0.00006 +11-5-2019 21:00,98716.51961,202411.055,202411.055,0.00006 +11-5-2019 22:00,98725.79094,97397.118,97397.118,0.00006 +11-5-2019 23:00,98735.05685,34088.992,34088.992,0.00006 +12-5-2019 00:00,98744.31735,19479.425,19479.425,0.00006 +12-5-2019 01:00,98753.57242,4869.858,4869.858,0.00006 +12-5-2019 02:00,98762.82205,6392.904,6392.904,0.00006 +12-5-2019 03:00,98772.06626,11057.879,11057.879,0.00006 +12-5-2019 04:00,98781.30503,37951.235,37951.235,0.00006 +12-5-2019 05:00,98790.53835,285336.443,285336.443,0.00006 +12-5-2019 06:00,98799.76622,472490.718,472490.718,0.00006 +12-5-2019 07:00,98808.98864,350629.615,350629.615,0.00006 +12-5-2019 08:00,98818.20561,416046.995,416046.995,0.00006 +12-5-2019 09:00,98827.41711,308199.934,308199.934,0.00006 +12-5-2019 10:00,98836.62314,266325.71,266325.71,0.00006 +12-5-2019 11:00,98845.8237,227042.83,227042.83,0.00006 +12-5-2019 12:00,98855.01878,186167.744,186167.744,0.00006 +12-5-2019 13:00,98864.20839,150965.528,150965.528,0.00006 +12-5-2019 14:00,98873.3925,116876.536,116876.536,0.00006 +12-5-2019 15:00,98882.57113,131486.103,131486.103,0.00006 +12-5-2019 16:00,98891.74426,214273.654,214273.654,0.00006 +12-5-2019 17:00,98900.91189,379848.749,379848.749,0.00006 +12-5-2019 18:00,98910.07401,384718.607,384718.607,0.00006 +12-5-2019 19:00,98919.23062,341896.527,341896.527,0.00006 +12-5-2019 20:00,98928.38172,285750.934,285750.934,0.00006 +12-5-2019 21:00,98937.5273,202490.554,202490.554,0.00006 +12-5-2019 22:00,98946.66736,97397.118,97397.118,0.00006 +12-5-2019 23:00,98955.80189,34088.992,34088.992,0.00006 +13-5-2019 00:00,98964.93088,19479.425,19479.425,0.00006 +13-5-2019 01:00,98974.05434,4869.858,4869.858,0.00006 +13-5-2019 02:00,98983.17225,6623.491,6623.491,0.00006 +13-5-2019 03:00,98992.28461,11290.657,11290.657,0.00006 +13-5-2019 04:00,99001.39143,41384.469,41384.469,0.00006 +13-5-2019 05:00,99010.49268,286136.802,286136.802,0.00006 +13-5-2019 06:00,99019.58838,476953.022,476953.022,0.00006 +13-5-2019 07:00,99028.67851,350629.615,350629.615,0.00006 +13-5-2019 08:00,99037.76306,415940.84,415940.84,0.00006 +13-5-2019 09:00,99046.84205,300930.791,300930.791,0.00006 +13-5-2019 10:00,99055.91545,262271.331,262271.331,0.00006 +13-5-2019 11:00,99064.98326,220277.869,220277.869,0.00006 +13-5-2019 12:00,99074.04549,176525.706,176525.706,0.00006 +13-5-2019 13:00,99083.10212,151145.036,151145.036,0.00006 +13-5-2019 14:00,99092.15316,116876.536,116876.536,0.00006 +13-5-2019 15:00,99101.19859,131486.103,131486.103,0.00006 +13-5-2019 16:00,99110.23841,214273.654,214273.654,0.00006 +13-5-2019 17:00,99119.27262,379848.749,379848.749,0.00006 +13-5-2019 18:00,99128.30121,385449.638,385449.638,0.00006 +13-5-2019 19:00,99137.32418,347122.895,347122.895,0.00006 +13-5-2019 20:00,99146.34152,287832.727,287832.727,0.00006 +13-5-2019 21:00,99155.35324,202395.151,202395.151,0.00006 +13-5-2019 22:00,99164.35931,97397.118,97397.118,0.00006 +13-5-2019 23:00,99173.35974,34088.992,34088.992,0.00006 +14-5-2019 00:00,99182.35453,19479.425,19479.425,0.00006 +14-5-2019 01:00,99191.34367,4995.746,4995.746,0.00006 +14-5-2019 02:00,99200.32716,7026.243,7026.243,0.00006 +14-5-2019 03:00,99209.30498,12176.318,12176.318,0.00006 +14-5-2019 04:00,99218.27714,38924.375,38924.375,0.00006 +14-5-2019 05:00,99227.24364,287257.74,287257.74,0.00006 +14-5-2019 06:00,99236.20446,486711.043,486711.043,0.00006 +14-5-2019 07:00,99245.1596,355253.773,355253.773,0.00006 +14-5-2019 08:00,99254.10906,423740.667,423740.667,0.00006 +14-5-2019 09:00,99263.05283,303946.804,303946.804,0.00006 +14-5-2019 10:00,99271.99091,261820.153,261820.153,0.00006 +14-5-2019 11:00,99280.9233,221485.215,221485.215,0.00006 +14-5-2019 12:00,99289.84998,179227.104,179227.104,0.00006 +14-5-2019 13:00,99298.77096,150965.528,150965.528,0.00006 +14-5-2019 14:00,99307.68623,116876.536,116876.536,0.00006 +14-5-2019 15:00,99316.59579,131486.103,131486.103,0.00006 +14-5-2019 16:00,99325.49962,214273.654,214273.654,0.00006 +14-5-2019 17:00,99334.39774,379848.749,379848.749,0.00006 +14-5-2019 18:00,99343.29012,387117.843,387117.843,0.00006 +14-5-2019 19:00,99352.17677,348010.348,348010.348,0.00006 +14-5-2019 20:00,99361.05769,289222.465,289222.465,0.00006 +14-5-2019 21:00,99369.93286,202237.231,202237.231,0.00006 +14-5-2019 22:00,99378.80228,97397.118,97397.118,0.00006 +14-5-2019 23:00,99387.66596,34088.992,34088.992,0.00006 +15-5-2019 00:00,99396.52388,19479.425,19479.425,0.00006 +15-5-2019 01:00,99405.37604,4869.858,4869.858,0.00006 +15-5-2019 02:00,99414.22243,6714.603,6714.603,0.00006 +15-5-2019 03:00,99423.06306,11983.559,11983.559,0.00006 +15-5-2019 04:00,99431.89791,37327.374,37327.374,0.00006 +15-5-2019 05:00,99440.72698,284384.576,284384.576,0.00006 +15-5-2019 06:00,6464220.768,470632.54,470632.54,0.00006 +15-5-2019 07:00,6464793.905,350629.615,350629.615,0.00006 +15-5-2019 08:00,6465366.666,413937.741,413937.741,0.00006 +15-5-2019 09:00,6465939.051,299651.058,299651.058,0.00006 +15-5-2019 10:00,6466511.058,261259.481,261259.481,0.00006 +15-5-2019 11:00,6467082.688,219307.529,219307.529,0.00006 +15-5-2019 12:00,6467653.94,175314.811,175314.811,0.00006 +15-5-2019 13:00,6468224.815,150965.528,150965.528,0.00006 +15-5-2019 14:00,6468795.311,116876.536,116876.536,0.00006 +15-5-2019 15:00,6469365.429,131486.103,131486.103,0.00006 +15-5-2019 16:00,6469935.167,214273.654,214273.654,0.00006 +15-5-2019 17:00,6470504.527,379848.749,379848.749,0.00006 +15-5-2019 18:00,6471073.507,384718.607,384718.607,0.00006 +15-5-2019 19:00,6471642.107,343760.963,343760.963,0.00006 +15-5-2019 20:00,6472210.328,286558.874,286558.874,0.00006 +15-5-2019 21:00,6472778.168,201918.612,201918.612,0.00006 +15-5-2019 22:00,6473345.628,97397.118,97397.118,0.00006 +15-5-2019 23:00,6473912.707,34088.992,34088.992,0.00006 +16-5-2019 00:00,6474479.404,19479.425,19479.425,0.00006 +16-5-2019 01:00,6475045.721,4869.858,4869.858,0.00006 +16-5-2019 02:00,6475611.655,4869.858,4869.858,0.00006 +16-5-2019 03:00,6476177.207,9739.709,9739.709,0.00006 +16-5-2019 04:00,6476742.377,34088.992,34088.992,0.00006 +16-5-2019 05:00,6477307.164,284014.262,284014.262,0.00006 +16-5-2019 06:00,6477871.569,474835.802,474835.802,0.00006 +16-5-2019 07:00,6478435.59,354623.171,354623.171,0.00006 +16-5-2019 08:00,6478999.228,422927.918,422927.918,0.00006 +16-5-2019 09:00,6479562.482,308588.749,308588.749,0.00006 +16-5-2019 10:00,6480125.352,262889.123,262889.123,0.00006 +16-5-2019 11:00,6480687.837,224321.216,224321.216,0.00006 +16-5-2019 12:00,6481249.938,182562.296,182562.296,0.00006 +16-5-2019 13:00,6481811.654,150965.528,150965.528,0.00006 +16-5-2019 14:00,6482372.985,116876.536,116876.536,0.00006 +16-5-2019 15:00,6482933.93,131486.103,131486.103,0.00006 +16-5-2019 16:00,6483494.489,214273.654,214273.654,0.00006 +16-5-2019 17:00,6484054.662,379848.749,379848.749,0.00006 +16-5-2019 18:00,6484614.449,384948.277,384948.277,0.00006 +16-5-2019 19:00,6485173.85,343438.235,343438.235,0.00006 +16-5-2019 20:00,6485732.863,286655.957,286655.957,0.00006 +16-5-2019 21:00,6486291.489,201806.5,201806.5,0.00006 +16-5-2019 22:00,6486849.727,97397.118,97397.118,0.00006 +16-5-2019 23:00,6487407.578,34088.992,34088.992,0.00006 +17-5-2019 00:00,6487965.04,19479.425,19479.425,0.00006 +17-5-2019 01:00,6488522.114,4869.858,4869.858,0.00006 +17-5-2019 02:00,6489078.799,4869.858,4869.858,0.00006 +17-5-2019 03:00,6489635.096,9739.709,9739.709,0.00006 +17-5-2019 04:00,6490191.003,34088.992,34088.992,0.00006 +17-5-2019 05:00,6490746.521,281598.94,281598.94,0.00006 +17-5-2019 06:00,6491301.649,468539.344,468539.344,0.00006 +17-5-2019 07:00,6491856.387,354038.783,354038.783,0.00006 +17-5-2019 08:00,6492410.734,417828.901,417828.901,0.00006 +17-5-2019 09:00,6492964.691,308013.671,308013.671,0.00006 +17-5-2019 10:00,6493518.256,264900.874,264900.874,0.00006 +17-5-2019 11:00,6494071.431,224874.398,224874.398,0.00006 +17-5-2019 12:00,6494624.213,187134.108,187134.108,0.00006 +17-5-2019 13:00,6495176.604,150965.528,150965.528,0.00006 +17-5-2019 14:00,6495728.603,116876.536,116876.536,0.00006 +17-5-2019 15:00,6496280.21,131486.103,131486.103,0.00006 +17-5-2019 16:00,6496831.424,214273.654,214273.654,0.00006 +17-5-2019 17:00,6497382.245,379848.749,379848.749,0.00006 +17-5-2019 18:00,6497932.672,386295.798,386295.798,0.00006 +17-5-2019 19:00,6498482.706,346907.54,346907.54,0.00006 +17-5-2019 20:00,6499032.346,287861.091,287861.091,0.00006 +17-5-2019 21:00,6499581.592,201712.084,201712.084,0.00006 +17-5-2019 22:00,6500130.442,97397.118,97397.118,0.00006 +17-5-2019 23:00,6500678.899,34088.992,34088.992,0.00006 +18-5-2019 00:00,6501226.966,19479.425,19479.425,0.00006 +18-5-2019 01:00,6501774.63,4869.858,4869.858,0.00006 +18-5-2019 02:00,6502321.904,4869.858,4869.858,0.00006 +18-5-2019 03:00,6502868.775,9739.709,9739.709,0.00006 +18-5-2019 04:00,6503415.256,35150.885,35150.885,0.00006 +18-5-2019 05:00,6503961.341,280962.08,280962.08,0.00006 +18-5-2019 06:00,6504507.029,463498.658,463498.658,0.00006 +18-5-2019 07:00,6505052.32,350629.615,350629.615,0.00006 +18-5-2019 08:00,6505597.209,413937.741,413937.741,0.00006 +18-5-2019 09:00,6506141.707,300185.599,300185.599,0.00006 +18-5-2019 10:00,6506685.803,258102.355,258102.355,0.00006 +18-5-2019 11:00,6507229.502,219143.512,219143.512,0.00006 +18-5-2019 12:00,6507772.804,175314.811,175314.811,0.00006 +18-5-2019 13:00,6508315.704,150965.528,150965.528,0.00006 +18-5-2019 14:00,6508858.207,116876.536,116876.536,0.00006 +18-5-2019 15:00,6509400.313,131486.103,131486.103,0.00006 +18-5-2019 16:00,6509942.017,214273.654,214273.654,0.00006 +18-5-2019 17:00,6510483.324,379848.749,379848.749,0.00006 +18-5-2019 18:00,6511024.228,384718.607,384718.607,0.00006 +18-5-2019 19:00,6511564.735,340889.906,340889.906,0.00006 +18-5-2019 20:00,6512104.84,282451.638,282451.638,0.00006 +18-5-2019 21:00,6512644.541,199664.087,199664.087,0.00006 +18-5-2019 22:00,6513183.846,97397.118,97397.118,0.00006 +18-5-2019 23:00,6513722.748,34088.992,34088.992,0.00006 +19-5-2019 00:00,6514261.247,19479.425,19479.425,0.00006 +19-5-2019 01:00,6514799.343,4869.858,4869.858,0.00006 +19-5-2019 02:00,6515337.036,4869.858,4869.858,0.00006 +19-5-2019 03:00,6515874.333,9739.709,9739.709,0.00006 +19-5-2019 04:00,6516411.22,34088.992,34088.992,0.00006 +19-5-2019 05:00,6516947.71,274035.286,274035.286,0.00006 +19-5-2019 06:00,6517483.791,452896.584,452896.584,0.00006 +19-5-2019 07:00,6518019.469,350629.615,350629.615,0.00006 +19-5-2019 08:00,6518554.751,413937.741,413937.741,0.00006 +19-5-2019 09:00,6519089.623,297930.801,297930.801,0.00006 +19-5-2019 10:00,6519624.092,258102.355,258102.355,0.00006 +19-5-2019 11:00,6520158.151,219143.512,219143.512,0.00006 +19-5-2019 12:00,6520691.808,176059.037,176059.037,0.00006 +19-5-2019 13:00,6521225.061,150965.528,150965.528,0.00006 +19-5-2019 14:00,6521757.912,116876.536,116876.536,0.00006 +19-5-2019 15:00,6522290.353,131486.103,131486.103,0.00006 +19-5-2019 16:00,6522822.391,214273.654,214273.654,0.00006 +19-5-2019 17:00,6523354.019,379848.749,379848.749,0.00006 +19-5-2019 18:00,6523885.238,384718.607,384718.607,0.00006 +19-5-2019 19:00,6524416.054,340889.906,340889.906,0.00006 +19-5-2019 20:00,6524946.467,282451.638,282451.638,0.00006 +19-5-2019 21:00,6525476.464,199664.087,199664.087,0.00006 +19-5-2019 22:00,6526006.058,97397.118,97397.118,0.00006 +19-5-2019 23:00,6526535.243,34088.992,34088.992,0.00006 +20-5-2019 00:00,6527064.024,19479.425,19479.425,0.00006 +20-5-2019 01:00,6527592.39,4869.858,4869.858,0.00006 +20-5-2019 02:00,6528120.352,4869.858,4869.858,0.00006 +20-5-2019 03:00,6528647.899,9739.709,9739.709,0.00006 +20-5-2019 04:00,6529175.042,34088.992,34088.992,0.00006 +20-5-2019 05:00,6529701.776,274166.179,274166.179,0.00006 +20-5-2019 06:00,6530228.094,452896.584,452896.584,0.00006 +20-5-2019 07:00,6530754.009,350629.615,350629.615,0.00006 +20-5-2019 08:00,6531279.508,413937.741,413937.741,0.00006 +20-5-2019 09:00,6531804.604,298538.555,298538.555,0.00006 +20-5-2019 10:00,6532329.284,258102.355,258102.355,0.00006 +20-5-2019 11:00,6532853.548,219143.512,219143.512,0.00006 +20-5-2019 12:00,6533377.409,176706.166,176706.166,0.00006 +20-5-2019 13:00,6533900.854,150965.528,150965.528,0.00006 +20-5-2019 14:00,6534423.89,116876.536,116876.536,0.00006 +20-5-2019 15:00,6534946.509,131486.103,131486.103,0.00006 +20-5-2019 16:00,6535468.719,214273.654,214273.654,0.00006 +20-5-2019 17:00,6535990.513,379848.749,379848.749,0.00006 +20-5-2019 18:00,6536511.898,384718.607,384718.607,0.00006 +20-5-2019 19:00,6537032.866,340889.906,340889.906,0.00006 +20-5-2019 20:00,6537553.419,282451.638,282451.638,0.00006 +20-5-2019 21:00,6538073.562,199664.087,199664.087,0.00006 +20-5-2019 22:00,6538593.289,97397.118,97397.118,0.00006 +20-5-2019 23:00,6539112.6,34088.992,34088.992,0.00006 +21-5-2019 00:00,6539631.501,19479.425,19479.425,0.00006 +21-5-2019 01:00,6540149.987,4869.858,4869.858,0.00006 +21-5-2019 02:00,6540668.05,4869.858,4869.858,0.00006 +21-5-2019 03:00,6541185.703,9739.709,9739.709,0.00006 +21-5-2019 04:00,6541702.941,34088.992,34088.992,0.00006 +21-5-2019 05:00,6542219.762,275208.682,275208.682,0.00006 +21-5-2019 06:00,6542736.168,452896.584,452896.584,0.00006 +21-5-2019 07:00,6543252.157,350629.615,350629.615,0.00006 +21-5-2019 08:00,6543767.724,413937.741,413937.741,0.00006 +21-5-2019 09:00,6544282.882,299711.51,299711.51,0.00006 +21-5-2019 10:00,6544797.617,258102.355,258102.355,0.00006 +21-5-2019 11:00,6545311.936,219221.016,219221.016,0.00006 +21-5-2019 12:00,6545825.839,177721.537,177721.537,0.00006 +21-5-2019 13:00,6546339.319,150965.528,150965.528,0.00006 +21-5-2019 14:00,6546852.384,116876.536,116876.536,0.00006 +21-5-2019 15:00,6547365.032,131486.103,131486.103,0.00006 +21-5-2019 16:00,6547877.258,214273.654,214273.654,0.00006 +21-5-2019 17:00,6548389.062,379848.749,379848.749,0.00006 +21-5-2019 18:00,6548900.449,384718.607,384718.607,0.00006 +21-5-2019 19:00,6549411.421,341726.609,341726.609,0.00006 +21-5-2019 20:00,6549921.97,282451.638,282451.638,0.00006 +21-5-2019 21:00,6550432.096,200673.76,200673.76,0.00006 +21-5-2019 22:00,6550941.807,97397.118,97397.118,0.00006 +21-5-2019 23:00,6551451.088,34088.992,34088.992,0.00006 +22-5-2019 00:00,6551959.954,19479.425,19479.425,0.00006 +22-5-2019 01:00,6552468.403,4869.858,4869.858,0.00006 +22-5-2019 02:00,6552976.424,4869.858,4869.858,0.00006 +22-5-2019 03:00,6553484.022,9739.709,9739.709,0.00006 +22-5-2019 04:00,6553991.204,34088.992,34088.992,0.00006 +22-5-2019 05:00,6554497.957,276443.503,276443.503,0.00006 +22-5-2019 06:00,6555004.294,452896.584,452896.584,0.00006 +22-5-2019 07:00,6555510.202,350629.615,350629.615,0.00006 +22-5-2019 08:00,6556015.694,413937.741,413937.741,0.00006 +22-5-2019 09:00,6556520.757,297457.692,297457.692,0.00006 +22-5-2019 10:00,6557025.397,258102.355,258102.355,0.00006 +22-5-2019 11:00,6557529.615,219143.512,219143.512,0.00006 +22-5-2019 12:00,6558033.404,175314.811,175314.811,0.00006 +22-5-2019 13:00,6558536.777,150965.528,150965.528,0.00006 +22-5-2019 14:00,6559039.715,116876.536,116876.536,0.00006 +22-5-2019 15:00,6559542.236,131486.103,131486.103,0.00006 +22-5-2019 16:00,6560044.329,214273.654,214273.654,0.00006 +22-5-2019 17:00,6560545.999,379848.749,379848.749,0.00006 +22-5-2019 18:00,6561047.24,384718.607,384718.607,0.00006 +22-5-2019 19:00,6561548.058,340889.906,340889.906,0.00006 +22-5-2019 20:00,6562048.448,282451.638,282451.638,0.00006 +22-5-2019 21:00,6562548.408,199664.087,199664.087,0.00006 +22-5-2019 22:00,6563047.946,97397.118,97397.118,0.00006 +22-5-2019 23:00,6563547.055,34088.992,34088.992,0.00006 +23-5-2019 00:00,6564045.735,19479.425,19479.425,0.00006 +23-5-2019 01:00,6564543.993,4869.858,4869.858,0.00006 +23-5-2019 02:00,6565041.821,4869.858,4869.858,0.00006 +23-5-2019 03:00,6565539.214,9739.709,9739.709,0.00006 +23-5-2019 04:00,6566036.185,34088.992,34088.992,0.00006 +23-5-2019 05:00,6566532.726,273927.682,273927.682,0.00006 +23-5-2019 06:00,6567028.845,452896.584,452896.584,0.00006 +23-5-2019 07:00,6567524.529,350629.615,350629.615,0.00006 +23-5-2019 08:00,6568019.783,413937.741,413937.741,0.00006 +23-5-2019 09:00,6568514.609,297061.205,297061.205,0.00006 +23-5-2019 10:00,6569008.999,258102.355,258102.355,0.00006 +23-5-2019 11:00,6569502.966,219143.512,219143.512,0.00006 +23-5-2019 12:00,6569996.505,175314.811,175314.811,0.00006 +23-5-2019 13:00,6570489.608,150965.528,150965.528,0.00006 +23-5-2019 14:00,6570982.282,116876.536,116876.536,0.00006 +23-5-2019 15:00,6571474.52,131486.103,131486.103,0.00006 +23-5-2019 16:00,6571966.33,214273.654,214273.654,0.00006 +23-5-2019 17:00,6572457.71,379848.749,379848.749,0.00006 +23-5-2019 18:00,6572948.662,384718.607,384718.607,0.00006 +23-5-2019 19:00,6573439.171,340889.906,340889.906,0.00006 +23-5-2019 20:00,6573929.258,282451.638,282451.638,0.00006 +23-5-2019 21:00,6574418.91,199664.087,199664.087,0.00006 +23-5-2019 22:00,6574908.126,97397.118,97397.118,0.00006 +23-5-2019 23:00,6575396.906,34088.992,34088.992,0.00006 +24-5-2019 00:00,6575885.258,19479.425,19479.425,0.00006 +24-5-2019 01:00,6576373.18,4869.858,4869.858,0.00006 +24-5-2019 02:00,6576860.661,4869.858,4869.858,0.00006 +24-5-2019 03:00,6577347.712,9739.709,9739.709,0.00006 +24-5-2019 04:00,6577834.328,34088.992,34088.992,0.00006 +24-5-2019 05:00,6578320.509,272976.557,272976.557,0.00006 +24-5-2019 06:00,6578806.254,452896.584,452896.584,0.00006 +24-5-2019 07:00,6579291.563,350629.615,350629.615,0.00006 +24-5-2019 08:00,6579776.437,413937.741,413937.741,0.00006 +24-5-2019 09:00,6580260.876,297061.205,297061.205,0.00006 +24-5-2019 10:00,6580744.879,258102.355,258102.355,0.00006 +24-5-2019 11:00,6581228.446,219143.512,219143.512,0.00006 +24-5-2019 12:00,6581711.578,175314.811,175314.811,0.00006 +24-5-2019 13:00,6582194.268,150965.528,150965.528,0.00006 +24-5-2019 14:00,6582676.529,116876.536,116876.536,0.00006 +24-5-2019 15:00,6583158.348,131486.103,131486.103,0.00006 +24-5-2019 16:00,6583639.732,214273.654,214273.654,0.00006 +24-5-2019 17:00,6584120.68,379848.749,379848.749,0.00006 +24-5-2019 18:00,6584601.186,384718.607,384718.607,0.00006 +24-5-2019 19:00,6585081.256,340889.906,340889.906,0.00006 +24-5-2019 20:00,6585560.885,282451.638,282451.638,0.00006 +24-5-2019 21:00,6586040.078,199664.087,199664.087,0.00006 +24-5-2019 22:00,6586518.829,97397.118,97397.118,0.00006 +24-5-2019 23:00,6586997.144,34088.992,34088.992,0.00006 +25-5-2019 00:00,6587475.018,19479.425,19479.425,0.00006 +25-5-2019 01:00,6587952.456,4869.858,4869.858,0.00006 +25-5-2019 02:00,6588429.452,4869.858,4869.858,0.00006 +25-5-2019 03:00,6588906.006,9739.709,9739.709,0.00006 +25-5-2019 04:00,6589382.118,34088.992,34088.992,0.00006 +25-5-2019 05:00,6589857.794,272711.922,272711.922,0.00006 +25-5-2019 06:00,6590333.029,452896.584,452896.584,0.00006 +25-5-2019 07:00,6590807.821,350629.615,350629.615,0.00006 +25-5-2019 08:00,6591282.172,413937.741,413937.741,0.00006 +25-5-2019 09:00,6591756.08,297061.205,297061.205,0.00006 +25-5-2019 10:00,6592229.553,258102.355,258102.355,0.00006 +25-5-2019 11:00,6592702.578,219143.512,219143.512,0.00006 +25-5-2019 12:00,6593175.16,175314.811,175314.811,0.00006 +25-5-2019 13:00,6593647.301,150965.528,150965.528,0.00006 +25-5-2019 14:00,6594118.999,116876.536,116876.536,0.00006 +25-5-2019 15:00,6594590.256,131486.103,131486.103,0.00006 +25-5-2019 16:00,6595061.07,214273.654,214273.654,0.00006 +25-5-2019 17:00,6595531.436,379848.749,379848.749,0.00006 +25-5-2019 18:00,6596001.36,384718.607,384718.607,0.00006 +25-5-2019 19:00,6596470.842,340889.906,340889.906,0.00006 +25-5-2019 20:00,6596939.876,282451.638,282451.638,0.00006 +25-5-2019 21:00,6597408.474,199664.087,199664.087,0.00006 +25-5-2019 22:00,6597876.617,97397.118,97397.118,0.00006 +25-5-2019 23:00,6598344.318,34088.992,34088.992,0.00006 +26-5-2019 00:00,6598811.577,19479.425,19479.425,0.00006 +26-5-2019 01:00,6599278.387,4869.858,4869.858,0.00006 +26-5-2019 02:00,6599744.756,4869.858,4869.858,0.00006 +26-5-2019 03:00,6600210.676,9739.709,9739.709,0.00006 +26-5-2019 04:00,6600676.154,34088.992,34088.992,0.00006 +26-5-2019 05:00,6601141.177,272711.922,272711.922,0.00006 +26-5-2019 06:00,6601605.758,452896.584,452896.584,0.00006 +26-5-2019 07:00,6602069.897,350629.615,350629.615,0.00006 +26-5-2019 08:00,6602533.581,413937.741,413937.741,0.00006 +26-5-2019 09:00,6602996.823,297061.205,297061.205,0.00006 +26-5-2019 10:00,6603459.616,258102.355,258102.355,0.00006 +26-5-2019 11:00,6603921.961,219143.512,219143.512,0.00006 +26-5-2019 12:00,6604383.858,175314.811,175314.811,0.00006 +26-5-2019 13:00,6604845.306,150965.528,150965.528,0.00006 +26-5-2019 14:00,6605306.305,116876.536,116876.536,0.00006 +26-5-2019 15:00,6605766.856,131486.103,131486.103,0.00006 +26-5-2019 16:00,6606226.959,214273.654,214273.654,0.00006 +26-5-2019 17:00,6606686.606,379848.749,379848.749,0.00006 +26-5-2019 18:00,6607145.812,384718.607,384718.607,0.00006 +26-5-2019 19:00,6607604.562,340889.906,340889.906,0.00006 +26-5-2019 20:00,6608062.871,282451.638,282451.638,0.00006 +26-5-2019 21:00,6608520.724,199664.087,199664.087,0.00006 +26-5-2019 22:00,6608978.123,97397.118,97397.118,0.00006 +26-5-2019 23:00,6609435.079,34088.992,34088.992,0.00006 +27-5-2019 00:00,6609891.581,19479.425,19479.425,0.00006 +27-5-2019 01:00,6610347.627,4869.858,4869.858,0.00006 +27-5-2019 02:00,6610803.225,4869.858,4869.858,0.00006 +27-5-2019 03:00,6611258.375,9739.709,9739.709,0.00006 +27-5-2019 04:00,6611713.069,34088.992,34088.992,0.00006 +27-5-2019 05:00,6612167.315,272711.922,272711.922,0.00006 +27-5-2019 06:00,6612621.106,452896.584,452896.584,0.00006 +27-5-2019 07:00,6613074.442,350629.615,350629.615,0.00006 +27-5-2019 08:00,6613527.33,413937.741,413937.741,0.00006 +27-5-2019 09:00,6613979.762,297061.205,297061.205,0.00006 +27-5-2019 10:00,6614431.74,258102.355,258102.355,0.00006 +27-5-2019 11:00,6614883.269,219143.512,219143.512,0.00006 +27-5-2019 12:00,6615334.343,175314.811,175314.811,0.00006 +27-5-2019 13:00,6615784.962,150965.528,150965.528,0.00006 +27-5-2019 14:00,6616235.126,116876.536,116876.536,0.00006 +27-5-2019 15:00,6616684.835,131486.103,131486.103,0.00006 +27-5-2019 16:00,6617134.089,214273.654,214273.654,0.00006 +27-5-2019 17:00,6617582.888,379848.749,379848.749,0.00006 +27-5-2019 18:00,6618031.232,384718.607,384718.607,0.00006 +27-5-2019 19:00,6618479.127,340889.906,340889.906,0.00006 +27-5-2019 20:00,6618926.561,282451.638,282451.638,0.00006 +27-5-2019 21:00,6619373.54,199664.087,199664.087,0.00006 +27-5-2019 22:00,6619820.058,97397.118,97397.118,0.00006 +27-5-2019 23:00,6620266.127,34088.992,34088.992,0.00006 +28-5-2019 00:00,6620711.741,19479.425,19479.425,0.00006 +28-5-2019 01:00,6621156.893,4869.858,4869.858,0.00006 +28-5-2019 02:00,6621601.584,4869.858,4869.858,0.00006 +28-5-2019 03:00,6622045.827,9739.709,9739.709,0.00006 +28-5-2019 04:00,6622489.608,34088.992,34088.992,0.00006 +28-5-2019 05:00,6622932.934,272711.922,272711.922,0.00006 +28-5-2019 06:00,6623375.798,452896.584,452896.584,0.00006 +28-5-2019 07:00,6623818.208,350629.615,350629.615,0.00006 +28-5-2019 08:00,6624260.156,413937.741,413937.741,0.00006 +28-5-2019 09:00,6624701.649,297061.205,297061.205,0.00006 +28-5-2019 10:00,6625142.68,258102.355,258102.355,0.00006 +28-5-2019 11:00,6625583.257,219143.512,219143.512,0.00006 +28-5-2019 12:00,6626023.372,175314.811,175314.811,0.00006 +28-5-2019 13:00,6626463.025,150965.528,150965.528,0.00006 +28-5-2019 14:00,6626902.224,116876.536,116876.536,0.00006 +28-5-2019 15:00,6627340.961,131486.103,131486.103,0.00006 +28-5-2019 16:00,6627779.236,214273.654,214273.654,0.00006 +28-5-2019 17:00,6628217.05,379848.749,379848.749,0.00006 +28-5-2019 18:00,6628654.403,384718.607,384718.607,0.00006 +28-5-2019 19:00,6629091.3,340889.906,340889.906,0.00006 +28-5-2019 20:00,6629527.73,282451.638,282451.638,0.00006 +28-5-2019 21:00,6629963.704,199664.087,199664.087,0.00006 +28-5-2019 22:00,6630399.211,97397.118,97397.118,0.00006 +28-5-2019 23:00,6630834.262,34088.992,34088.992,0.00006 +29-5-2019 00:00,6631268.846,19479.425,19479.425,0.00006 +29-5-2019 01:00,6631702.974,4869.858,4869.858,0.00006 +29-5-2019 02:00,6632136.635,4869.858,4869.858,0.00006 +29-5-2019 03:00,6632569.834,9739.709,9739.709,0.00006 +29-5-2019 04:00,6633002.571,34088.992,34088.992,0.00006 +29-5-2019 05:00,6633434.847,272711.922,272711.922,0.00006 +29-5-2019 06:00,6633866.655,452896.584,452896.584,0.00006 +29-5-2019 07:00,6634298.002,350629.615,350629.615,0.00006 +29-5-2019 08:00,6634728.887,413937.741,413937.741,0.00006 +29-5-2019 09:00,6635159.304,297061.205,297061.205,0.00006 +29-5-2019 10:00,6635589.259,258102.355,258102.355,0.00006 +29-5-2019 11:00,6636018.753,219143.512,219143.512,0.00006 +29-5-2019 12:00,6636447.779,175314.811,175314.811,0.00006 +29-5-2019 13:00,6636876.344,150965.528,150965.528,0.00006 +29-5-2019 14:00,6637304.44,116876.536,116876.536,0.00006 +29-5-2019 15:00,6637732.069,131486.103,131486.103,0.00006 +29-5-2019 16:00,6638159.236,214273.654,214273.654,0.00006 +29-5-2019 17:00,6638585.935,379848.749,379848.749,0.00006 +29-5-2019 18:00,6639012.172,384718.607,384718.607,0.00006 +29-5-2019 19:00,6639437.942,340889.906,340889.906,0.00006 +29-5-2019 20:00,6639863.243,282451.638,282451.638,0.00006 +29-5-2019 21:00,6640288.077,199664.087,199664.087,0.00006 +29-5-2019 22:00,6640712.449,97397.118,97397.118,0.00006 +29-5-2019 23:00,6641136.346,34088.992,34088.992,0.00006 +30-5-2019 00:00,6641559.782,19479.425,19479.425,0.00006 +30-5-2019 01:00,6641982.75,4869.858,4869.858,0.00006 +30-5-2019 02:00,6642405.25,4869.858,4869.858,0.00006 +30-5-2019 03:00,6642827.282,9739.709,9739.709,0.00006 +30-5-2019 04:00,6643248.846,34088.992,34088.992,0.00006 +30-5-2019 05:00,6643669.942,272711.922,272711.922,0.00006 +30-5-2019 06:00,6644090.564,452896.584,452896.584,0.00006 +30-5-2019 07:00,6644510.724,350629.615,350629.615,0.00006 +30-5-2019 08:00,6644930.416,413937.741,413937.741,0.00006 +30-5-2019 09:00,6645349.633,297061.205,297061.205,0.00006 +30-5-2019 10:00,6645768.383,258102.355,258102.355,0.00006 +30-5-2019 11:00,6646186.664,219143.512,219143.512,0.00006 +30-5-2019 12:00,6646604.478,175314.811,175314.811,0.00006 +30-5-2019 13:00,6647021.817,150965.528,150965.528,0.00006 +30-5-2019 14:00,6647438.688,116876.536,116876.536,0.00006 +30-5-2019 15:00,6647855.091,131486.103,131486.103,0.00006 +30-5-2019 16:00,6648271.019,214273.654,214273.654,0.00006 +30-5-2019 17:00,6648686.48,379848.749,379848.749,0.00006 +30-5-2019 18:00,6649101.466,384718.607,384718.607,0.00006 +30-5-2019 19:00,6649515.984,340889.906,340889.906,0.00006 +30-5-2019 20:00,6649930.027,282451.638,282451.638,0.00006 +30-5-2019 21:00,6650343.603,199664.087,199664.087,0.00006 +30-5-2019 22:00,6650756.704,97397.118,97397.118,0.00006 +30-5-2019 23:00,6651169.33,34088.992,34088.992,0.00006 +31-5-2019 00:00,6651581.489,19479.425,19479.425,0.00006 +31-5-2019 01:00,6651993.173,4869.858,4869.858,0.00006 +31-5-2019 02:00,6652404.389,4869.858,4869.858,0.00006 +31-5-2019 03:00,6652815.124,9739.709,9739.709,0.00006 +31-5-2019 04:00,6653225.391,34088.992,34088.992,0.00006 +31-5-2019 05:00,6653635.183,272711.922,272711.922,0.00006 +31-5-2019 06:00,6654044.501,452896.584,452896.584,0.00006 +31-5-2019 07:00,6654453.345,350629.615,350629.615,0.00006 +31-5-2019 08:00,6654861.714,413937.741,413937.741,0.00006 +31-5-2019 09:00,6655269.615,297061.205,297061.205,0.00006 +31-5-2019 10:00,6655677.035,258102.355,258102.355,0.00006 +31-5-2019 11:00,6656083.98,219143.512,219143.512,0.00006 +31-5-2019 12:00,6656490.451,175314.811,175314.811,0.00006 +31-5-2019 13:00,6656896.448,150965.528,150965.528,0.00006 +31-5-2019 14:00,6657301.97,116876.536,116876.536,0.00006 +31-5-2019 15:00,6657707.017,131486.103,131486.103,0.00006 +31-5-2019 16:00,6658111.59,214273.654,214273.654,0.00006 +31-5-2019 17:00,6658515.682,379848.749,379848.749,0.00006 +31-5-2019 18:00,6658919.3,384718.607,384718.607,0.00006 +31-5-2019 19:00,6659322.443,340889.906,340889.906,0.00006 +31-5-2019 20:00,6659725.111,282451.638,282451.638,0.00006 +31-5-2019 21:00,6660127.299,199664.087,199664.087,0.00006 +31-5-2019 22:00,6660529.012,97397.118,97397.118,0.00006 +31-5-2019 23:00,6660930.244,34088.992,34088.992,0.00006 +1-6-2019 00:00,6661331.001,19479.425,19479.425,0.00006 +1-6-2019 01:00,6661731.284,4869.858,4869.858,0.00006 +1-6-2019 02:00,6662131.086,4869.858,4869.858,0.00006 +1-6-2019 03:00,6662530.407,9739.709,9739.709,0.00006 +1-6-2019 04:00,6662929.254,34088.992,34088.992,0.00006 +1-6-2019 05:00,6663327.619,272711.922,272711.922,0.00006 +1-6-2019 06:00,6663725.51,452896.584,452896.584,0.00006 +1-6-2019 07:00,6664122.92,350629.615,350629.615,0.00006 +1-6-2019 08:00,6664519.849,413937.741,413937.741,0.00006 +1-6-2019 09:00,6664916.304,297061.205,297061.205,0.00006 +1-6-2019 10:00,6665312.277,258102.355,258102.355,0.00006 +1-6-2019 11:00,6665707.77,219143.512,219143.512,0.00006 +1-6-2019 12:00,6666102.781,175314.811,175314.811,0.00006 +1-6-2019 13:00,6666497.312,150965.528,150965.528,0.00006 +1-6-2019 14:00,6666891.368,116876.536,116876.536,0.00006 +1-6-2019 15:00,6667284.936,131486.103,131486.103,0.00006 +1-6-2019 16:00,6667678.03,214273.654,214273.654,0.00006 +1-6-2019 17:00,6668070.637,379848.749,379848.749,0.00006 +1-6-2019 18:00,6668462.769,384718.607,384718.607,0.00006 +1-6-2019 19:00,6668854.42,340889.906,340889.906,0.00006 +1-6-2019 20:00,6669245.583,282451.638,282451.638,0.00006 +1-6-2019 21:00,6669636.266,199664.087,199664.087,0.00006 +1-6-2019 22:00,6670026.474,97397.118,97397.118,0.00006 +1-6-2019 23:00,6670416.194,34088.992,34088.992,0.00006 +2-6-2019 00:00,6670805.434,19479.425,19479.425,0.00006 +2-6-2019 01:00,6671194.186,4869.858,4869.858,0.00006 +2-6-2019 02:00,6671582.463,4869.858,4869.858,0.00006 +2-6-2019 03:00,6671970.253,9739.709,9739.709,0.00006 +2-6-2019 04:00,6672357.562,34088.992,34088.992,0.00006 +2-6-2019 05:00,6672744.384,272711.922,272711.922,0.00006 +2-6-2019 06:00,6673130.724,452896.584,452896.584,0.00006 +2-6-2019 07:00,6673516.584,350629.615,350629.615,0.00006 +2-6-2019 08:00,6673901.956,413937.741,413937.741,0.00006 +2-6-2019 09:00,6674286.847,297061.205,297061.205,0.00006 +2-6-2019 10:00,6674671.25,258102.355,258102.355,0.00006 +2-6-2019 11:00,6675055.173,219143.512,219143.512,0.00006 +2-6-2019 12:00,6675438.608,175314.811,175314.811,0.00006 +2-6-2019 13:00,6675821.562,150965.528,150965.528,0.00006 +2-6-2019 14:00,6676204.028,116876.536,116876.536,0.00006 +2-6-2019 15:00,6676586.007,131486.103,131486.103,0.00006 +2-6-2019 16:00,6676967.505,214273.654,214273.654,0.00006 +2-6-2019 17:00,6677348.509,379848.749,379848.749,0.00006 +2-6-2019 18:00,6677729.039,384718.607,384718.607,0.00006 +2-6-2019 19:00,6678109.074,340889.906,340889.906,0.00006 +2-6-2019 20:00,6678488.629,282451.638,282451.638,0.00006 +2-6-2019 21:00,6678867.689,199664.087,199664.087,0.00006 +2-6-2019 22:00,6679246.269,97397.118,97397.118,0.00006 +2-6-2019 23:00,6679624.361,34088.992,34088.992,0.00006 +3-6-2019 00:00,6680001.965,19479.425,19479.425,0.00006 +3-6-2019 01:00,6680379.082,4869.858,4869.858,0.00006 +3-6-2019 02:00,6680755.718,4869.858,4869.858,0.00006 +3-6-2019 03:00,6681131.86,9739.709,9739.709,0.00006 +3-6-2019 04:00,6681507.515,34088.992,34088.992,0.00006 +3-6-2019 05:00,6681882.682,272711.922,272711.922,0.00006 +3-6-2019 06:00,6682257.361,452896.584,452896.584,0.00006 +3-6-2019 07:00,6682631.553,350629.615,350629.615,0.00006 +3-6-2019 08:00,6683005.251,413937.741,413937.741,0.00006 +3-6-2019 09:00,6683378.468,297061.205,297061.205,0.00006 +3-6-2019 10:00,6683751.191,258102.355,258102.355,0.00006 +3-6-2019 11:00,6684123.427,219143.512,219143.512,0.00006 +3-6-2019 12:00,6684495.168,175314.811,175314.811,0.00006 +3-6-2019 13:00,6684866.429,150965.528,150965.528,0.00006 +3-6-2019 14:00,6685237.195,116876.536,116876.536,0.00006 +3-6-2019 15:00,6685607.474,131486.103,131486.103,0.00006 +3-6-2019 16:00,6685977.259,214273.654,214273.654,0.00006 +3-6-2019 17:00,6686346.557,379848.749,379848.749,0.00006 +3-6-2019 18:00,6686715.36,384718.607,384718.607,0.00006 +3-6-2019 19:00,6687083.676,340889.906,340889.906,0.00006 +3-6-2019 20:00,6687451.498,282451.638,282451.638,0.00006 +3-6-2019 21:00,6687818.833,199664.087,199664.087,0.00006 +3-6-2019 22:00,6688185.673,97397.118,97397.118,0.00006 +3-6-2019 23:00,6688552.026,34088.992,34088.992,0.00006 +4-6-2019 00:00,6688917.885,19479.425,19479.425,0.00006 +4-6-2019 01:00,6689283.257,4869.858,4869.858,0.00006 +4-6-2019 02:00,6689648.128,4869.858,4869.858,0.00006 +4-6-2019 03:00,6690012.511,9739.709,9739.709,0.00006 +4-6-2019 04:00,6690376.407,34088.992,34088.992,0.00006 +4-6-2019 05:00,6690739.803,272711.922,272711.922,0.00006 +4-6-2019 06:00,6691102.711,452896.584,452896.584,0.00006 +4-6-2019 07:00,6691465.118,350629.615,350629.615,0.00006 +4-6-2019 08:00,6691827.038,413937.741,413937.741,0.00006 +4-6-2019 09:00,6692188.471,297061.205,297061.205,0.00006 +4-6-2019 10:00,6692549.403,258102.355,258102.355,0.00006 +4-6-2019 11:00,6692909.841,219143.512,219143.512,0.00006 +4-6-2019 12:00,6693269.785,175314.811,175314.811,0.00006 +4-6-2019 13:00,6693629.235,150965.528,150965.528,0.00006 +4-6-2019 14:00,6693988.197,116876.536,116876.536,0.00006 +4-6-2019 15:00,6694346.659,131486.103,131486.103,0.00006 +4-6-2019 16:00,6694704.627,214273.654,214273.654,0.00006 +4-6-2019 17:00,6695062.101,379848.749,379848.749,0.00006 +4-6-2019 18:00,6695419.081,384718.607,384718.607,0.00006 +4-6-2019 19:00,6695775.561,340889.906,340889.906,0.00006 +4-6-2019 20:00,6696131.553,282451.638,282451.638,0.00006 +4-6-2019 21:00,6696487.044,199664.087,199664.087,0.00006 +4-6-2019 22:00,6696842.042,97397.118,97397.118,0.00006 +4-6-2019 23:00,6697196.539,34088.992,34088.992,0.00006 +5-6-2019 00:00,6697550.548,19479.425,19479.425,0.00006 +5-6-2019 01:00,6697904.057,4869.858,4869.858,0.00006 +5-6-2019 02:00,6698257.066,4869.858,4869.858,0.00006 +5-6-2019 03:00,6698609.587,9739.709,9739.709,0.00006 +5-6-2019 04:00,6698961.601,34088.992,34088.992,0.00006 +5-6-2019 05:00,6699313.127,272711.922,272711.922,0.00006 +5-6-2019 06:00,6699664.153,452896.584,452896.584,0.00006 +5-6-2019 07:00,6700014.679,350629.615,350629.615,0.00006 +5-6-2019 08:00,6700364.71,413937.741,413937.741,0.00006 +5-6-2019 09:00,6700714.241,297061.205,297061.205,0.00006 +5-6-2019 10:00,6701063.278,258102.355,258102.355,0.00006 +5-6-2019 11:00,6701411.815,219143.512,219143.512,0.00006 +5-6-2019 12:00,6701759.851,175314.811,175314.811,0.00006 +5-6-2019 13:00,6702107.393,150965.528,150965.528,0.00006 +5-6-2019 14:00,6702454.434,116876.536,116876.536,0.00006 +5-6-2019 15:00,6702800.975,131486.103,131486.103,0.00006 +5-6-2019 16:00,6703147.022,214273.654,214273.654,0.00006 +5-6-2019 17:00,6703492.562,379848.749,379848.749,0.00006 +5-6-2019 18:00,6703837.608,384718.607,384718.607,0.00006 +5-6-2019 19:00,6704182.154,340889.906,340889.906,0.00006 +5-6-2019 20:00,6704526.205,282451.638,282451.638,0.00006 +5-6-2019 21:00,6704869.75,199664.087,199664.087,0.00006 +5-6-2019 22:00,6705212.794,97397.118,97397.118,0.00006 +5-6-2019 23:00,6705555.344,34088.992,34088.992,0.00006 +6-6-2019 00:00,6705897.387,19479.425,19479.425,0.00006 +6-6-2019 01:00,6706238.936,4869.858,4869.858,0.00006 +6-6-2019 02:00,6706579.978,4869.858,4869.858,0.00006 +6-6-2019 03:00,6706920.526,9739.709,9739.709,0.00006 +6-6-2019 04:00,6707260.567,34088.992,34088.992,0.00006 +6-6-2019 05:00,6707600.107,272711.922,272711.922,0.00006 +6-6-2019 06:00,6707939.147,452896.584,452896.584,0.00006 +6-6-2019 07:00,6708277.687,350629.615,350629.615,0.00006 +6-6-2019 08:00,6708615.726,413937.741,413937.741,0.00006 +6-6-2019 09:00,6708953.258,297061.205,297061.205,0.00006 +6-6-2019 10:00,6709290.296,258102.355,258102.355,0.00006 +6-6-2019 11:00,6709626.827,219143.512,219143.512,0.00006 +6-6-2019 12:00,6709962.851,175314.811,175314.811,0.00006 +6-6-2019 13:00,6710298.381,150965.528,150965.528,0.00006 +6-6-2019 14:00,6710633.404,116876.536,116876.536,0.00006 +6-6-2019 15:00,6710967.92,131486.103,131486.103,0.00006 +6-6-2019 16:00,6711301.942,214273.654,214273.654,0.00006 +6-6-2019 17:00,6711635.45,379848.749,379848.749,0.00006 +6-6-2019 18:00,6711968.465,384718.607,384718.607,0.00006 +6-6-2019 19:00,6712300.972,340889.906,340889.906,0.00006 +6-6-2019 20:00,6712632.973,282451.638,282451.638,0.00006 +6-6-2019 21:00,6712964.473,199664.087,199664.087,0.00006 +6-6-2019 22:00,6713295.466,97397.118,97397.118,0.00006 +6-6-2019 23:00,6713625.958,34088.992,34088.992,0.00006 +7-6-2019 00:00,6713955.944,19479.425,19479.425,0.00006 +7-6-2019 01:00,6714285.422,4869.858,4869.858,0.00006 +7-6-2019 02:00,6714614.4,4869.858,4869.858,0.00006 +7-6-2019 03:00,6714942.871,9739.709,9739.709,0.00006 +7-6-2019 04:00,6715270.835,34088.992,34088.992,0.00006 +7-6-2019 05:00,6715598.299,272711.922,272711.922,0.00006 +7-6-2019 06:00,6715925.255,452896.584,452896.584,0.00006 +7-6-2019 07:00,6716251.705,350629.615,350629.615,0.00006 +7-6-2019 08:00,6716577.647,413937.741,413937.741,0.00006 +7-6-2019 09:00,6716903.083,297061.205,297061.205,0.00006 +7-6-2019 10:00,6717228.018,258102.355,258102.355,0.00006 +7-6-2019 11:00,6717552.439,219143.512,219143.512,0.00006 +7-6-2019 12:00,6717876.36,175314.811,175314.811,0.00006 +7-6-2019 13:00,6718199.774,150965.528,150965.528,0.00006 +7-6-2019 14:00,6718522.675,116876.536,116876.536,0.00006 +7-6-2019 15:00,6718845.075,131486.103,131486.103,0.00006 +7-6-2019 16:00,6719166.968,214273.654,214273.654,0.00006 +7-6-2019 17:00,6719488.347,379848.749,379848.749,0.00006 +7-6-2019 18:00,6719809.226,384718.607,384718.607,0.00006 +7-6-2019 19:00,6720129.592,340889.906,340889.906,0.00006 +7-6-2019 20:00,6720449.457,282451.638,282451.638,0.00006 +7-6-2019 21:00,6720768.808,199664.087,199664.087,0.00006 +7-6-2019 22:00,6721087.653,97397.118,97397.118,0.00006 +7-6-2019 23:00,6721405.99,34088.992,34088.992,0.00006 +8-6-2019 00:00,6721723.814,19479.425,19479.425,0.00006 +8-6-2019 01:00,6722041.138,4869.858,4869.858,0.00006 +8-6-2019 02:00,6722357.948,4869.858,4869.858,0.00006 +8-6-2019 03:00,6722674.244,9739.709,9739.709,0.00006 +8-6-2019 04:00,6722990.04,34088.992,34088.992,0.00006 +8-6-2019 05:00,6723305.323,272711.922,272711.922,0.00006 +8-6-2019 06:00,6723620.092,452896.584,452896.584,0.00006 +8-6-2019 07:00,6723934.36,350629.615,350629.615,0.00006 +8-6-2019 08:00,6724248.109,413937.741,413937.741,0.00006 +8-6-2019 09:00,6724561.357,297061.205,297061.205,0.00006 +8-6-2019 10:00,6724874.091,258102.355,258102.355,0.00006 +8-6-2019 11:00,6725186.312,219143.512,219143.512,0.00006 +8-6-2019 12:00,6725498.026,175314.811,175314.811,0.00006 +8-6-2019 13:00,6725809.227,150965.528,150965.528,0.00006 +8-6-2019 14:00,6726119.92,116876.536,116876.536,0.00006 +8-6-2019 15:00,6726430.1,131486.103,131486.103,0.00006 +8-6-2019 16:00,6726739.773,214273.654,214273.654,0.00006 +8-6-2019 17:00,6727048.926,379848.749,379848.749,0.00006 +8-6-2019 18:00,6727357.579,384718.607,384718.607,0.00006 +8-6-2019 19:00,6727665.711,340889.906,340889.906,0.00006 +8-6-2019 20:00,6727973.337,282451.638,282451.638,0.00006 +8-6-2019 21:00,6728280.449,199664.087,199664.087,0.00006 +8-6-2019 22:00,6728587.047,97397.118,97397.118,0.00006 +8-6-2019 23:00,6728893.132,34088.992,34088.992,0.00006 +9-6-2019 00:00,6729198.71,19479.425,19479.425,0.00006 +9-6-2019 01:00,6729503.775,4869.858,4869.858,0.00006 +9-6-2019 02:00,6729808.319,4869.858,4869.858,0.00006 +9-6-2019 03:00,6730112.357,9739.709,9739.709,0.00006 +9-6-2019 04:00,6730415.887,34088.992,34088.992,0.00006 +9-6-2019 05:00,6730718.898,272711.922,272711.922,0.00006 +9-6-2019 06:00,6731021.395,452896.584,452896.584,0.00006 +9-6-2019 07:00,6731323.378,350629.615,350629.615,0.00006 +9-6-2019 08:00,6731624.848,413937.741,413937.741,0.00006 +9-6-2019 09:00,6731925.805,297061.205,297061.205,0.00006 +9-6-2019 10:00,6732226.248,258102.355,258102.355,0.00006 +9-6-2019 11:00,6732526.177,219143.512,219143.512,0.00006 +9-6-2019 12:00,6732825.593,175314.811,175314.811,0.00006 +9-6-2019 13:00,6733124.496,150965.528,150965.528,0.00006 +9-6-2019 14:00,6733422.878,116876.536,116876.536,0.00006 +9-6-2019 15:00,6733720.754,131486.103,131486.103,0.00006 +9-6-2019 16:00,6734018.109,214273.654,214273.654,0.00006 +9-6-2019 17:00,6734314.951,379848.749,379848.749,0.00006 +9-6-2019 18:00,6734611.273,384718.607,384718.607,0.00006 +9-6-2019 19:00,6734907.088,340889.906,340889.906,0.00006 +9-6-2019 20:00,6735202.383,282451.638,282451.638,0.00006 +9-6-2019 21:00,6735497.165,199664.087,199664.087,0.00006 +9-6-2019 22:00,6735791.426,97397.118,97397.118,0.00006 +9-6-2019 23:00,6736085.174,34088.992,34088.992,0.00006 +10-6-2019 00:00,6736378.409,19479.425,19479.425,0.00006 +10-6-2019 01:00,6736671.123,4869.858,4869.858,0.00006 +10-6-2019 02:00,6736963.324,4869.858,4869.858,0.00006 +10-6-2019 03:00,6737255.005,9739.709,9739.709,0.00006 +10-6-2019 04:00,6737546.173,34088.992,34088.992,0.00006 +10-6-2019 05:00,6737836.827,272711.922,272711.922,0.00006 +10-6-2019 06:00,6738126.954,452896.584,452896.584,0.00006 +10-6-2019 07:00,6738416.575,350629.615,350629.615,0.00006 +10-6-2019 08:00,6738705.669,413937.741,413937.741,0.00006 +10-6-2019 09:00,6738994.256,297061.205,297061.205,0.00006 +10-6-2019 10:00,6739282.316,258102.355,258102.355,0.00006 +10-6-2019 11:00,6739569.863,219143.512,219143.512,0.00006 +10-6-2019 12:00,6739856.89,175314.811,175314.811,0.00006 +10-6-2019 13:00,6740143.404,150965.528,150965.528,0.00006 +10-6-2019 14:00,6740429.391,116876.536,116876.536,0.00006 +10-6-2019 15:00,6740714.864,131486.103,131486.103,0.00006 +10-6-2019 16:00,6740999.824,214273.654,214273.654,0.00006 +10-6-2019 17:00,6741284.258,379848.749,379848.749,0.00006 +10-6-2019 18:00,6741568.178,384718.607,384718.607,0.00006 +10-6-2019 19:00,6741851.578,340889.906,340889.906,0.00006 +10-6-2019 20:00,6742134.458,282451.638,282451.638,0.00006 +10-6-2019 21:00,6742416.818,199664.087,199664.087,0.00006 +10-6-2019 22:00,6742698.658,97397.118,97397.118,0.00006 +10-6-2019 23:00,6742979.984,34088.992,34088.992,0.00006 +11-6-2019 00:00,6743260.784,19479.425,19479.425,0.00006 +11-6-2019 01:00,6743541.064,4869.858,4869.858,0.00006 +11-6-2019 02:00,6743820.831,4869.858,4869.858,0.00006 +11-6-2019 03:00,6744100.071,9739.709,9739.709,0.00006 +11-6-2019 04:00,6744378.797,34088.992,34088.992,0.00006 +11-6-2019 05:00,6744656.997,272711.922,272711.922,0.00006 +11-6-2019 06:00,6744934.677,452896.584,452896.584,0.00006 +11-6-2019 07:00,6745211.844,350629.615,350629.615,0.00006 +11-6-2019 08:00,6745488.484,413937.741,413937.741,0.00006 +11-6-2019 09:00,6745764.604,297061.205,297061.205,0.00006 +11-6-2019 10:00,6746040.204,258102.355,258102.355,0.00006 +11-6-2019 11:00,6746315.277,219143.512,219143.512,0.00006 +11-6-2019 12:00,6746589.837,175314.811,175314.811,0.00006 +11-6-2019 13:00,6746863.871,150965.528,150965.528,0.00006 +11-6-2019 14:00,6747137.384,116876.536,116876.536,0.00006 +11-6-2019 15:00,6747410.378,131486.103,131486.103,0.00006 +11-6-2019 16:00,6747682.845,214273.654,214273.654,0.00006 +11-6-2019 17:00,6747954.792,379848.749,379848.749,0.00006 +11-6-2019 18:00,6748226.219,384718.607,384718.607,0.00006 +11-6-2019 19:00,6748497.119,340889.906,340889.906,0.00006 +11-6-2019 20:00,6748767.5,282451.638,282451.638,0.00006 +11-6-2019 21:00,6749037.36,199664.087,199664.087,0.00006 +11-6-2019 22:00,6749306.694,97397.118,97397.118,0.00006 +11-6-2019 23:00,6749575.508,34088.992,34088.992,0.00006 +12-6-2019 00:00,6749843.796,19479.425,19479.425,0.00006 +12-6-2019 01:00,6750111.563,4869.858,4869.858,0.00006 +12-6-2019 02:00,6750378.804,4869.858,4869.858,0.00006 +12-6-2019 03:00,6750645.525,9739.709,9739.709,0.00006 +12-6-2019 04:00,6750911.726,34088.992,34088.992,0.00006 +12-6-2019 05:00,6751177.394,272711.922,272711.922,0.00006 +12-6-2019 06:00,6751442.542,452896.584,452896.584,0.00006 +12-6-2019 07:00,6751707.17,350629.615,350629.615,0.00006 +12-6-2019 08:00,6751971.272,413937.741,413937.741,0.00006 +12-6-2019 09:00,6752234.847,297061.205,297061.205,0.00006 +12-6-2019 10:00,6752497.902,258102.355,258102.355,0.00006 +12-6-2019 11:00,6752760.43,219143.512,219143.512,0.00006 +12-6-2019 12:00,6753022.432,175314.811,175314.811,0.00006 +12-6-2019 13:00,6753283.908,150965.528,150965.528,0.00006 +12-6-2019 14:00,6753544.863,116876.536,116876.536,0.00006 +12-6-2019 15:00,6753805.292,131486.103,131486.103,0.00006 +12-6-2019 16:00,6754065.195,214273.654,214273.654,0.00006 +12-6-2019 17:00,6754324.571,379848.749,379848.749,0.00006 +12-6-2019 18:00,6754583.427,384718.607,384718.607,0.00006 +12-6-2019 19:00,6754841.75,340889.906,340889.906,0.00006 +12-6-2019 20:00,6755099.553,282451.638,282451.638,0.00006 +12-6-2019 21:00,6755356.829,199664.087,199664.087,0.00006 +12-6-2019 22:00,6755613.579,97397.118,97397.118,0.00006 +12-6-2019 23:00,6755869.803,34088.992,34088.992,0.00006 +13-6-2019 00:00,6756125.5,19479.425,19479.425,0.00006 +13-6-2019 01:00,6756380.67,4869.858,4869.858,0.00006 +13-6-2019 02:00,6756635.314,4869.858,4869.858,0.00006 +13-6-2019 03:00,6756889.432,9739.709,9739.709,0.00006 +13-6-2019 04:00,6757143.023,34088.992,34088.992,0.00006 +13-6-2019 05:00,6757396.087,272711.922,272711.922,0.00006 +13-6-2019 06:00,6757648.625,452896.584,452896.584,0.00006 +13-6-2019 07:00,6757900.637,350629.615,350629.615,0.00006 +13-6-2019 08:00,6758152.115,413937.741,413937.741,0.00006 +13-6-2019 09:00,6758403.074,297061.205,297061.205,0.00006 +13-6-2019 10:00,6758653.499,258102.355,258102.355,0.00006 +13-6-2019 11:00,6758903.398,219143.512,219143.512,0.00006 +13-6-2019 12:00,6759152.771,175314.811,175314.811,0.00006 +13-6-2019 13:00,6759401.617,150965.528,150965.528,0.00006 +13-6-2019 14:00,6759649.93,116876.536,116876.536,0.00006 +13-6-2019 15:00,6759897.723,131486.103,131486.103,0.00006 +13-6-2019 16:00,6760144.983,214273.654,214273.654,0.00006 +13-6-2019 17:00,6760391.71,379848.749,379848.749,0.00006 +13-6-2019 18:00,6760637.917,384718.607,384718.607,0.00006 +13-6-2019 19:00,6760883.591,340889.906,340889.906,0.00006 +13-6-2019 20:00,6761128.732,282451.638,282451.638,0.00006 +13-6-2019 21:00,6761373.353,199664.087,199664.087,0.00006 +13-6-2019 22:00,6761617.441,97397.118,97397.118,0.00006 +13-6-2019 23:00,6761860.996,34088.992,34088.992,0.00006 +14-6-2019 00:00,6762104.024,19479.425,19479.425,0.00006 +14-6-2019 01:00,6762346.526,4869.858,4869.858,0.00006 +14-6-2019 02:00,6762588.495,4869.858,4869.858,0.00006 +14-6-2019 03:00,6762829.938,9739.709,9739.709,0.00006 +14-6-2019 04:00,6763070.847,34088.992,34088.992,0.00006 +14-6-2019 05:00,6763311.224,272711.922,272711.922,0.00006 +14-6-2019 06:00,6763551.074,452896.584,452896.584,0.00006 +14-6-2019 07:00,6763790.397,350629.615,350629.615,0.00006 +14-6-2019 08:00,6764029.188,413937.741,413937.741,0.00006 +14-6-2019 09:00,6764267.445,297061.205,297061.205,0.00006 +14-6-2019 10:00,6764505.176,258102.355,258102.355,0.00006 +14-6-2019 11:00,6764742.374,219143.512,219143.512,0.00006 +14-6-2019 12:00,6764979.039,175314.811,175314.811,0.00006 +14-6-2019 13:00,6765215.178,150965.528,150965.528,0.00006 +14-6-2019 14:00,6765450.783,116876.536,116876.536,0.00006 +14-6-2019 15:00,6765685.856,131486.103,131486.103,0.00006 +14-6-2019 16:00,6765920.402,214273.654,214273.654,0.00006 +14-6-2019 17:00,6766154.415,379848.749,379848.749,0.00006 +14-6-2019 18:00,6766387.895,384718.607,384718.607,0.00006 +14-6-2019 19:00,6766620.842,340889.906,340889.906,0.00006 +14-6-2019 20:00,6766853.262,282451.638,282451.638,0.00006 +14-6-2019 21:00,6767085.143,199664.087,199664.087,0.00006 +14-6-2019 22:00,6767316.498,97397.118,97397.118,0.00006 +14-6-2019 23:00,6767547.319,34088.992,34088.992,0.00006 +15-6-2019 00:00,6767777.608,19479.425,19479.425,0.00006 +15-6-2019 01:00,6768007.363,4869.858,4869.858,0.00006 +15-6-2019 02:00,6768236.586,4869.858,4869.858,0.00006 +15-6-2019 03:00,6768465.275,9739.709,9739.709,0.00006 +15-6-2019 04:00,6768693.438,34088.992,34088.992,0.00006 +15-6-2019 05:00,6768921.062,272711.922,272711.922,0.00006 +15-6-2019 06:00,6769148.152,452896.584,452896.584,0.00006 +15-6-2019 07:00,6769374.716,350629.615,350629.615,0.00006 +15-6-2019 08:00,6769600.741,413937.741,413937.741,0.00006 +15-6-2019 09:00,6769826.232,297061.205,297061.205,0.00006 +15-6-2019 10:00,6770051.197,258102.355,258102.355,0.00006 +15-6-2019 11:00,6770275.623,219143.512,219143.512,0.00006 +15-6-2019 12:00,6770499.515,175314.811,175314.811,0.00006 +15-6-2019 13:00,6770722.875,150965.528,150965.528,0.00006 +15-6-2019 14:00,6770945.695,116876.536,116876.536,0.00006 +15-6-2019 15:00,6771167.988,131486.103,131486.103,0.00006 +15-6-2019 16:00,6771389.749,214273.654,214273.654,0.00006 +15-6-2019 17:00,6771610.97,379848.749,379848.749,0.00006 +15-6-2019 18:00,6771831.658,384718.607,384718.607,0.00006 +15-6-2019 19:00,6772051.813,340889.906,340889.906,0.00006 +15-6-2019 20:00,6772271.428,282451.638,282451.638,0.00006 +15-6-2019 21:00,6772490.517,199664.087,199664.087,0.00006 +15-6-2019 22:00,6772709.067,97397.118,97397.118,0.00006 +15-6-2019 23:00,6772927.083,34088.992,34088.992,0.00006 +16-6-2019 00:00,6773144.56,19479.425,19479.425,0.00006 +16-6-2019 01:00,6773361.504,4869.858,4869.858,0.00006 +16-6-2019 02:00,6773577.915,4869.858,4869.858,0.00006 +16-6-2019 03:00,6773793.793,9739.709,9739.709,0.00006 +16-6-2019 04:00,6774009.132,34088.992,34088.992,0.00006 +16-6-2019 05:00,6774223.931,272711.922,272711.922,0.00006 +16-6-2019 06:00,6774438.203,452896.584,452896.584,0.00006 +16-6-2019 07:00,6774651.93,350629.615,350629.615,0.00006 +16-6-2019 08:00,6774865.13,413937.741,413937.741,0.00006 +16-6-2019 09:00,6775077.79,297061.205,297061.205,0.00006 +16-6-2019 10:00,6775289.911,258102.355,258102.355,0.00006 +16-6-2019 11:00,6775501.499,219143.512,219143.512,0.00006 +16-6-2019 12:00,6775712.554,175314.811,175314.811,0.00006 +16-6-2019 13:00,6775923.07,150965.528,150965.528,0.00006 +16-6-2019 14:00,6776133.046,116876.536,116876.536,0.00006 +16-6-2019 15:00,6776342.489,131486.103,131486.103,0.00006 +16-6-2019 16:00,6776551.392,214273.654,214273.654,0.00006 +16-6-2019 17:00,6776759.763,379848.749,379848.749,0.00006 +16-6-2019 18:00,6776967.594,384718.607,384718.607,0.00006 +16-6-2019 19:00,6777174.885,340889.906,340889.906,0.00006 +16-6-2019 20:00,6777381.644,282451.638,282451.638,0.00006 +16-6-2019 21:00,6777587.863,199664.087,199664.087,0.00006 +16-6-2019 22:00,6777793.549,97397.118,97397.118,0.00006 +16-6-2019 23:00,6777998.689,34088.992,34088.992,0.00006 +17-6-2019 00:00,6778203.296,19479.425,19479.425,0.00006 +17-6-2019 01:00,6778407.37,4869.858,4869.858,0.00006 +17-6-2019 02:00,6778610.898,4869.858,4869.858,0.00006 +17-6-2019 03:00,6778813.893,9739.709,9739.709,0.00006 +17-6-2019 04:00,6779016.348,34088.992,34088.992,0.00006 +17-6-2019 05:00,6779218.264,272711.922,272711.922,0.00006 +17-6-2019 06:00,6779419.647,452896.584,452896.584,0.00006 +17-6-2019 07:00,6779620.484,350629.615,350629.615,0.00006 +17-6-2019 08:00,6779820.788,413937.741,413937.741,0.00006 +17-6-2019 09:00,6780020.553,297061.205,297061.205,0.00006 +17-6-2019 10:00,6780219.778,258102.355,258102.355,0.00006 +17-6-2019 11:00,6780418.463,219143.512,219143.512,0.00006 +17-6-2019 12:00,6780616.616,175314.811,175314.811,0.00006 +17-6-2019 13:00,6780814.222,150965.528,150965.528,0.00006 +17-6-2019 14:00,6781011.289,116876.536,116876.536,0.00006 +17-6-2019 15:00,6781207.823,131486.103,131486.103,0.00006 +17-6-2019 16:00,6781403.811,214273.654,214273.654,0.00006 +17-6-2019 17:00,6781599.266,379848.749,379848.749,0.00006 +17-6-2019 18:00,6781794.175,384718.607,384718.607,0.00006 +17-6-2019 19:00,6781988.551,340889.906,340889.906,0.00006 +17-6-2019 20:00,6782182.381,282451.638,282451.638,0.00006 +17-6-2019 21:00,6782375.678,199664.087,199664.087,0.00006 +17-6-2019 22:00,6782568.429,97397.118,97397.118,0.00006 +17-6-2019 23:00,6782760.647,34088.992,34088.992,0.00006 +18-6-2019 00:00,6782952.319,19479.425,19479.425,0.00006 +18-6-2019 01:00,6783143.452,4869.858,4869.858,0.00006 +18-6-2019 02:00,6783334.045,4869.858,4869.858,0.00006 +18-6-2019 03:00,6783524.098,9739.709,9739.709,0.00006 +18-6-2019 04:00,6783713.612,34088.992,34088.992,0.00006 +18-6-2019 05:00,6783902.58,272711.922,272711.922,0.00006 +18-6-2019 06:00,6784091.015,452896.584,452896.584,0.00006 +18-6-2019 07:00,6784278.904,350629.615,350629.615,0.00006 +18-6-2019 08:00,6784466.254,413937.741,413937.741,0.00006 +18-6-2019 09:00,6784653.064,297061.205,297061.205,0.00006 +18-6-2019 10:00,6784839.328,258102.355,258102.355,0.00006 +18-6-2019 11:00,6785025.059,219143.512,219143.512,0.00006 +18-6-2019 12:00,6785210.244,175314.811,175314.811,0.00006 +18-6-2019 13:00,6785394.883,150965.528,150965.528,0.00006 +18-6-2019 14:00,6785578.989,116876.536,116876.536,0.00006 +18-6-2019 15:00,6785762.549,131486.103,131486.103,0.00006 +18-6-2019 16:00,6785945.569,214273.654,214273.654,0.00006 +18-6-2019 17:00,6786128.044,379848.749,379848.749,0.00006 +18-6-2019 18:00,6786309.985,384718.607,384718.607,0.00006 +18-6-2019 19:00,6786491.374,340889.906,340889.906,0.00006 +18-6-2019 20:00,6786672.23,282451.638,282451.638,0.00006 +18-6-2019 21:00,6786852.54,199664.087,199664.087,0.00006 +18-6-2019 22:00,6787032.304,97397.118,97397.118,0.00006 +18-6-2019 23:00,6787211.535,34088.992,34088.992,0.00006 +19-6-2019 00:00,6787390.214,19479.425,19479.425,0.00006 +19-6-2019 01:00,6787568.359,4869.858,4869.858,0.00006 +19-6-2019 02:00,6787745.952,4869.858,4869.858,0.00006 +19-6-2019 03:00,6787923.012,9739.709,9739.709,0.00006 +19-6-2019 04:00,6788099.526,34088.992,34088.992,0.00006 +19-6-2019 05:00,6788275.494,272711.922,272711.922,0.00006 +19-6-2019 06:00,6788450.923,452896.584,452896.584,0.00006 +19-6-2019 07:00,6788625.805,350629.615,350629.615,0.00006 +19-6-2019 08:00,6788800.148,413937.741,413937.741,0.00006 +19-6-2019 09:00,6788973.945,297061.205,297061.205,0.00006 +19-6-2019 10:00,6789147.196,258102.355,258102.355,0.00006 +19-6-2019 11:00,6789319.908,219143.512,219143.512,0.00006 +19-6-2019 12:00,6789492.08,175314.811,175314.811,0.00006 +19-6-2019 13:00,6789663.706,150965.528,150965.528,0.00006 +19-6-2019 14:00,6789834.786,116876.536,116876.536,0.00006 +19-6-2019 15:00,6790005.32,131486.103,131486.103,0.00006 +19-6-2019 16:00,6790175.314,214273.654,214273.654,0.00006 +19-6-2019 17:00,6790344.763,379848.749,379848.749,0.00006 +19-6-2019 18:00,6790513.672,384718.607,384718.607,0.00006 +19-6-2019 19:00,6790682.028,340889.906,340889.906,0.00006 +19-6-2019 20:00,6790849.845,282451.638,282451.638,0.00006 +19-6-2019 21:00,6791017.123,199664.087,199664.087,0.00006 +19-6-2019 22:00,6791183.848,97397.118,97397.118,0.00006 +19-6-2019 23:00,6791350.033,34088.992,34088.992,0.00006 +20-6-2019 00:00,6791515.673,19479.425,19479.425,0.00006 +20-6-2019 01:00,6791680.766,4869.858,4869.858,0.00006 +20-6-2019 02:00,6791845.32,4869.858,4869.858,0.00006 +20-6-2019 03:00,6792009.328,9739.709,9739.709,0.00006 +20-6-2019 04:00,6792172.79,34088.992,34088.992,0.00006 +20-6-2019 05:00,6792335.706,272711.922,272711.922,0.00006 +20-6-2019 06:00,6792498.076,452896.584,452896.584,0.00006 +20-6-2019 07:00,6792659.9,350629.615,350629.615,0.00006 +20-6-2019 08:00,6792821.185,413937.741,413937.741,0.00006 +20-6-2019 09:00,6792981.917,297061.205,297061.205,0.00006 +20-6-2019 10:00,6793142.109,258102.355,258102.355,0.00006 +20-6-2019 11:00,6793301.756,219143.512,219143.512,0.00006 +20-6-2019 12:00,6793460.856,175314.811,175314.811,0.00006 +20-6-2019 13:00,6793619.404,150965.528,150965.528,0.00006 +20-6-2019 14:00,6793777.413,116876.536,116876.536,0.00006 +20-6-2019 15:00,6793934.875,131486.103,131486.103,0.00006 +20-6-2019 16:00,6794091.798,214273.654,214273.654,0.00006 +20-6-2019 17:00,6794248.169,379848.749,379848.749,0.00006 +20-6-2019 18:00,6794403.993,384718.607,384718.607,0.00006 +20-6-2019 19:00,6794559.272,340889.906,340889.906,0.00006 +20-6-2019 20:00,6794714.004,282451.638,282451.638,0.00006 +20-6-2019 21:00,6794868.191,199664.087,199664.087,0.00006 +20-6-2019 22:00,6795021.831,97397.118,97397.118,0.00006 +20-6-2019 23:00,6795174.926,34088.992,34088.992,0.00006 +21-6-2019 00:00,6795327.474,19479.425,19479.425,0.00006 +21-6-2019 01:00,6795479.47,4869.858,4869.858,0.00006 +21-6-2019 02:00,6795630.927,4869.858,4869.858,0.00006 +21-6-2019 03:00,6795781.837,9739.709,9739.709,0.00006 +21-6-2019 04:00,6795932.195,34088.992,34088.992,0.00006 +21-6-2019 05:00,6796082.007,272711.922,272711.922,0.00006 +21-6-2019 06:00,6796231.28,452896.584,452896.584,0.00006 +21-6-2019 07:00,6796380,350629.615,350629.615,0.00006 +21-6-2019 08:00,6796528.167,413937.741,413937.741,0.00006 +21-6-2019 09:00,6796675.795,297061.205,297061.205,0.00006 +21-6-2019 10:00,6796822.877,258102.355,258102.355,0.00006 +21-6-2019 11:00,6796969.407,219143.512,219143.512,0.00006 +21-6-2019 12:00,6797115.39,175314.811,175314.811,0.00006 +21-6-2019 13:00,6797260.828,150965.528,150965.528,0.00006 +21-6-2019 14:00,6797405.719,116876.536,116876.536,0.00006 +21-6-2019 15:00,6797550.058,131486.103,131486.103,0.00006 +21-6-2019 16:00,6797693.851,214273.654,214273.654,0.00006 +21-6-2019 17:00,6797837.098,379848.749,379848.749,0.00006 +21-6-2019 18:00,6797979.799,384718.607,384718.607,0.00006 +21-6-2019 19:00,6798121.948,340889.906,340889.906,0.00006 +21-6-2019 20:00,6798263.55,282451.638,282451.638,0.00006 +21-6-2019 21:00,6798404.607,199664.087,199664.087,0.00006 +21-6-2019 22:00,6798545.111,97397.118,97397.118,0.00006 +21-6-2019 23:00,6798685.069,34088.992,34088.992,0.00006 +22-6-2019 00:00,6798824.481,19479.425,19479.425,0.00006 +22-6-2019 01:00,6798963.34,4869.858,4869.858,0.00006 +22-6-2019 02:00,6799101.654,4869.858,4869.858,0.00006 +22-6-2019 03:00,6799239.415,9739.709,9739.709,0.00006 +22-6-2019 04:00,6799376.636,34088.992,34088.992,0.00006 +22-6-2019 05:00,6799513.299,272711.922,272711.922,0.00006 +22-6-2019 06:00,6799649.422,452896.584,452896.584,0.00006 +22-6-2019 07:00,6799784.992,350629.615,350629.615,0.00006 +22-6-2019 08:00,6799920.01,413937.741,413937.741,0.00006 +22-6-2019 09:00,6800054.482,297061.205,297061.205,0.00006 +22-6-2019 10:00,6800188.408,258102.355,258102.355,0.00006 +22-6-2019 11:00,6800321.782,219143.512,219143.512,0.00006 +22-6-2019 12:00,6800454.609,175314.811,175314.811,0.00006 +22-6-2019 13:00,6800586.884,150965.528,150965.528,0.00006 +22-6-2019 14:00,6800718.613,116876.536,116876.536,0.00006 +22-6-2019 15:00,6800849.79,131486.103,131486.103,0.00006 +22-6-2019 16:00,6800980.42,214273.654,214273.654,0.00006 +22-6-2019 17:00,6801110.498,379848.749,379848.749,0.00006 +22-6-2019 18:00,6801240.024,384718.607,384718.607,0.00006 +22-6-2019 19:00,6801369.003,340889.906,340889.906,0.00006 +22-6-2019 20:00,6801497.437,282451.638,282451.638,0.00006 +22-6-2019 21:00,6801625.318,199664.087,199664.087,0.00006 +22-6-2019 22:00,6801752.646,97397.118,97397.118,0.00006 +22-6-2019 23:00,6801879.429,34088.992,34088.992,0.00006 +23-6-2019 00:00,6802005.659,19479.425,19479.425,0.00006 +23-6-2019 01:00,6802131.343,4869.858,4869.858,0.00006 +23-6-2019 02:00,6802256.468,4869.858,4869.858,0.00006 +23-6-2019 03:00,6802381.053,9739.709,9739.709,0.00006 +23-6-2019 04:00,6802505.08,34088.992,34088.992,0.00006 +23-6-2019 05:00,6802628.56,272711.922,272711.922,0.00006 +23-6-2019 06:00,6802751.495,452896.584,452896.584,0.00006 +23-6-2019 07:00,6802873.87,350629.615,350629.615,0.00006 +23-6-2019 08:00,6802995.7,413937.741,413937.741,0.00006 +23-6-2019 09:00,6803116.983,297061.205,297061.205,0.00006 +23-6-2019 10:00,6803237.708,258102.355,258102.355,0.00006 +23-6-2019 11:00,6803357.886,219143.512,219143.512,0.00006 +23-6-2019 12:00,6803477.512,175314.811,175314.811,0.00006 +23-6-2019 13:00,6803596.592,150965.528,150965.528,0.00006 +23-6-2019 14:00,6803715.12,116876.536,116876.536,0.00006 +23-6-2019 15:00,6803833.095,131486.103,131486.103,0.00006 +23-6-2019 16:00,6803950.517,214273.654,214273.654,0.00006 +23-6-2019 17:00,6804067.387,379848.749,379848.749,0.00006 +23-6-2019 18:00,6804183.711,384718.607,384718.607,0.00006 +23-6-2019 19:00,6804299.483,340889.906,340889.906,0.00006 +23-6-2019 20:00,6804414.702,282451.638,282451.638,0.00006 +23-6-2019 21:00,6804529.368,199664.087,199664.087,0.00006 +23-6-2019 22:00,6804643.489,97397.118,97397.118,0.00006 +23-6-2019 23:00,6804757.057,34088.992,34088.992,0.00006 +24-6-2019 00:00,6804870.072,19479.425,19479.425,0.00006 +24-6-2019 01:00,6804982.535,4869.858,4869.858,0.00006 +24-6-2019 02:00,6805094.446,4869.858,4869.858,0.00006 +24-6-2019 03:00,6805205.804,9739.709,9739.709,0.00006 +24-6-2019 04:00,6805316.616,34088.992,34088.992,0.00006 +24-6-2019 05:00,6805426.869,272711.922,272711.922,0.00006 +24-6-2019 06:00,6805536.576,452896.584,452896.584,0.00006 +24-6-2019 07:00,6805645.73,350629.615,350629.615,0.00006 +24-6-2019 08:00,6805754.332,413937.741,413937.741,0.00006 +24-6-2019 09:00,6805862.382,297061.205,297061.205,0.00006 +24-6-2019 10:00,6805969.879,258102.355,258102.355,0.00006 +24-6-2019 11:00,6806076.823,219143.512,219143.512,0.00006 +24-6-2019 12:00,6806183.215,175314.811,175314.811,0.00006 +24-6-2019 13:00,6806289.061,150965.528,150965.528,0.00006 +24-6-2019 14:00,6806394.348,116876.536,116876.536,0.00006 +24-6-2019 15:00,6806499.083,131486.103,131486.103,0.00006 +24-6-2019 16:00,6806603.271,214273.654,214273.654,0.00006 +24-6-2019 17:00,6806706.901,379848.749,379848.749,0.00006 +24-6-2019 18:00,6806809.984,384718.607,384718.607,0.00006 +24-6-2019 19:00,6806912.509,340889.906,340889.906,0.00006 +24-6-2019 20:00,6807014.487,282451.638,282451.638,0.00006 +24-6-2019 21:00,6807115.907,199664.087,199664.087,0.00006 +24-6-2019 22:00,6807216.78,97397.118,97397.118,0.00006 +24-6-2019 23:00,6807317.095,34088.992,34088.992,0.00006 +25-6-2019 00:00,6807416.863,19479.425,19479.425,0.00006 +25-6-2019 01:00,6807516.073,4869.858,4869.858,0.00006 +25-6-2019 02:00,6807614.736,4869.858,4869.858,0.00006 +25-6-2019 03:00,6807712.841,9739.709,9739.709,0.00006 +25-6-2019 04:00,6807810.393,34088.992,34088.992,0.00006 +25-6-2019 05:00,6807907.392,272711.922,272711.922,0.00006 +25-6-2019 06:00,6808003.839,452896.584,452896.584,0.00006 +25-6-2019 07:00,6808099.734,350629.615,350629.615,0.00006 +25-6-2019 08:00,6808195.076,413937.741,413937.741,0.00006 +25-6-2019 09:00,6808289.865,297061.205,297061.205,0.00006 +25-6-2019 10:00,6808384.102,258102.355,258102.355,0.00006 +25-6-2019 11:00,6808477.78,219143.512,219143.512,0.00006 +25-6-2019 12:00,6808570.912,175314.811,175314.811,0.00006 +25-6-2019 13:00,6808663.485,150965.528,150965.528,0.00006 +25-6-2019 14:00,6808755.506,116876.536,116876.536,0.00006 +25-6-2019 15:00,6808846.98,131486.103,131486.103,0.00006 +25-6-2019 16:00,6808937.889,214273.654,214273.654,0.00006 +25-6-2019 17:00,6809028.252,379848.749,379848.749,0.00006 +25-6-2019 18:00,6809118.063,384718.607,384718.607,0.00006 +25-6-2019 19:00,6809207.314,340889.906,340889.906,0.00006 +25-6-2019 20:00,6809296.013,282451.638,282451.638,0.00006 +25-6-2019 21:00,6809384.166,199664.087,199664.087,0.00006 +25-6-2019 22:00,6809471.754,97397.118,97397.118,0.00006 +25-6-2019 23:00,6809558.795,34088.992,34088.992,0.00006 +26-6-2019 00:00,6809645.284,19479.425,19479.425,0.00006 +26-6-2019 01:00,6809731.214,4869.858,4869.858,0.00006 +26-6-2019 02:00,6809816.592,4869.858,4869.858,0.00006 +26-6-2019 03:00,6809901.417,9739.709,9739.709,0.00006 +26-6-2019 04:00,6809985.683,34088.992,34088.992,0.00006 +26-6-2019 05:00,6810069.396,272711.922,272711.922,0.00006 +26-6-2019 06:00,6810152.564,452896.584,452896.584,0.00006 +26-6-2019 07:00,6810235.166,350629.615,350629.615,0.00006 +26-6-2019 08:00,6810317.222,413937.741,413937.741,0.00006 +26-6-2019 09:00,6810398.719,297061.205,297061.205,0.00006 +26-6-2019 10:00,6810479.663,258102.355,258102.355,0.00006 +26-6-2019 11:00,6810560.055,219143.512,219143.512,0.00006 +26-6-2019 12:00,6810639.888,175314.811,175314.811,0.00006 +26-6-2019 13:00,6810719.175,150965.528,150965.528,0.00006 +26-6-2019 14:00,6810797.897,116876.536,116876.536,0.00006 +26-6-2019 15:00,6810876.072,131486.103,131486.103,0.00006 +26-6-2019 16:00,6810953.689,214273.654,214273.654,0.00006 +26-6-2019 17:00,6811030.753,379848.749,379848.749,0.00006 +26-6-2019 18:00,6811107.264,384718.607,384718.607,0.00006 +26-6-2019 19:00,6811183.217,340889.906,340889.906,0.00006 +26-6-2019 20:00,6811258.617,282451.638,282451.638,0.00006 +26-6-2019 21:00,6811333.464,199664.087,199664.087,0.00006 +26-6-2019 22:00,6811407.753,97397.118,97397.118,0.00006 +26-6-2019 23:00,6811481.489,34088.992,34088.992,0.00006 +27-6-2019 00:00,6811554.666,19479.425,19479.425,0.00006 +27-6-2019 01:00,6811627.29,4869.858,4869.858,0.00006 +27-6-2019 02:00,6811699.362,4869.858,4869.858,0.00006 +27-6-2019 03:00,6811770.882,9739.709,9739.709,0.00006 +27-6-2019 04:00,6811841.842,34088.992,34088.992,0.00006 +27-6-2019 05:00,6811912.244,272711.922,272711.922,0.00006 +27-6-2019 06:00,6811982.099,452896.584,452896.584,0.00006 +27-6-2019 07:00,6812051.389,350629.615,350629.615,0.00006 +27-6-2019 08:00,6812120.133,413937.741,413937.741,0.00006 +27-6-2019 09:00,6812188.318,297061.205,297061.205,0.00006 +27-6-2019 10:00,6812255.951,258102.355,258102.355,0.00006 +27-6-2019 11:00,6812323.024,219143.512,219143.512,0.00006 +27-6-2019 12:00,6812389.545,175314.811,175314.811,0.00006 +27-6-2019 13:00,6812455.507,150965.528,150965.528,0.00006 +27-6-2019 14:00,6812520.917,116876.536,116876.536,0.00006 +27-6-2019 15:00,6812585.767,131486.103,131486.103,0.00006 +27-6-2019 16:00,6812650.065,214273.654,214273.654,0.00006 +27-6-2019 17:00,6812713.811,379848.749,379848.749,0.00006 +27-6-2019 18:00,6812776.997,384718.607,384718.607,0.00006 +27-6-2019 19:00,6812839.631,340889.906,340889.906,0.00006 +27-6-2019 20:00,6812901.706,282451.638,282451.638,0.00006 +27-6-2019 21:00,6812963.229,199664.087,199664.087,0.00006 +27-6-2019 22:00,6813024.192,97397.118,97397.118,0.00006 +27-6-2019 23:00,6813084.603,34088.992,34088.992,0.00006 +28-6-2019 00:00,6813144.455,19479.425,19479.425,0.00006 +28-6-2019 01:00,6813203.755,4869.858,4869.858,0.00006 +28-6-2019 02:00,6813262.495,4869.858,4869.858,0.00006 +28-6-2019 03:00,6813320.683,9739.709,9739.709,0.00006 +28-6-2019 04:00,6813378.312,34088.992,34088.992,0.00006 +28-6-2019 05:00,6813435.389,272711.922,272711.922,0.00006 +28-6-2019 06:00,6813491.906,452896.584,452896.584,0.00006 +28-6-2019 07:00,6813547.871,350629.615,350629.615,0.00006 +28-6-2019 08:00,6813603.277,413937.741,413937.741,0.00006 +28-6-2019 09:00,6813658.131,297061.205,297061.205,0.00006 +28-6-2019 10:00,6813712.425,258102.355,258102.355,0.00006 +28-6-2019 11:00,6813766.167,219143.512,219143.512,0.00006 +28-6-2019 12:00,6813819.35,175314.811,175314.811,0.00006 +28-6-2019 13:00,6813871.974,150965.528,150965.528,0.00006 +28-6-2019 14:00,6813924.046,116876.536,116876.536,0.00006 +28-6-2019 15:00,6813975.565,131486.103,131486.103,0.00006 +28-6-2019 16:00,6814026.518,214273.654,214273.654,0.00006 +28-6-2019 17:00,6814076.926,379848.749,379848.749,0.00006 +28-6-2019 18:00,6814126.774,384718.607,384718.607,0.00006 +28-6-2019 19:00,6814176.064,340889.906,340889.906,0.00006 +28-6-2019 20:00,6814224.794,282451.638,282451.638,0.00006 +28-6-2019 21:00,6814272.972,199664.087,199664.087,0.00006 +28-6-2019 22:00,6814320.598,97397.118,97397.118,0.00006 +28-6-2019 23:00,6814367.664,34088.992,34088.992,0.00006 +29-6-2019 00:00,6814414.172,19479.425,19479.425,0.00006 +29-6-2019 01:00,6814460.127,4869.858,4869.858,0.00006 +29-6-2019 02:00,6814505.523,4869.858,4869.858,0.00006 +29-6-2019 03:00,6814550.36,9739.709,9739.709,0.00006 +29-6-2019 04:00,6814594.644,34088.992,34088.992,0.00006 +29-6-2019 05:00,6814638.376,272711.922,272711.922,0.00006 +29-6-2019 06:00,6814681.543,452896.584,452896.584,0.00006 +29-6-2019 07:00,6814724.157,350629.615,350629.615,0.00006 +29-6-2019 08:00,6814766.218,413937.741,413937.741,0.00006 +29-6-2019 09:00,6814807.721,297061.205,297061.205,0.00006 +29-6-2019 10:00,6814848.664,258102.355,258102.355,0.00006 +29-6-2019 11:00,6814889.049,219143.512,219143.512,0.00006 +29-6-2019 12:00,6814928.881,175314.811,175314.811,0.00006 +29-6-2019 13:00,6814968.16,150965.528,150965.528,0.00006 +29-6-2019 14:00,6815006.874,116876.536,116876.536,0.00006 +29-6-2019 15:00,6815045.036,131486.103,131486.103,0.00006 +29-6-2019 16:00,6815082.645,214273.654,214273.654,0.00006 +29-6-2019 17:00,6815119.695,379848.749,379848.749,0.00006 +29-6-2019 18:00,6815156.186,384718.607,384718.607,0.00006 +29-6-2019 19:00,6815192.118,340889.906,340889.906,0.00006 +29-6-2019 20:00,6815227.497,282451.638,282451.638,0.00006 +29-6-2019 21:00,6815262.318,199664.087,199664.087,0.00006 +29-6-2019 22:00,6815296.586,97397.118,97397.118,0.00006 +29-6-2019 23:00,6815330.295,34088.992,34088.992,0.00006 +30-6-2019 00:00,6815363.445,19479.425,19479.425,0.00006 +30-6-2019 01:00,6815396.036,4869.858,4869.858,0.00006 +30-6-2019 02:00,6815428.074,4869.858,4869.858,0.00006 +30-6-2019 03:00,6815459.554,9739.709,9739.709,0.00006 +30-6-2019 04:00,6815490.481,34088.992,34088.992,0.00006 +30-6-2019 05:00,6815520.849,272711.922,272711.922,0.00006 +30-6-2019 06:00,6815550.658,452896.584,452896.584,0.00006 +30-6-2019 07:00,6815579.908,350629.615,350629.615,0.00006 +30-6-2019 08:00,6815608.605,413937.741,413937.741,0.00006 +30-6-2019 09:00,6815636.744,297061.205,297061.205,0.00006 +30-6-2019 10:00,6815664.323,258102.355,258102.355,0.00006 +30-6-2019 11:00,6815691.35,219143.512,219143.512,0.00006 +30-6-2019 12:00,6815717.818,175314.811,175314.811,0.00006 +30-6-2019 13:00,6815743.727,150965.528,150965.528,0.00006 +30-6-2019 14:00,6815769.084,116876.536,116876.536,0.00006 +30-6-2019 15:00,6815793.881,131486.103,131486.103,0.00006 +30-6-2019 16:00,6815818.12,214273.654,214273.654,0.00006 +30-6-2019 17:00,6815841.806,379848.749,379848.749,0.00006 +30-6-2019 18:00,6815864.933,384718.607,384718.607,0.00006 +30-6-2019 19:00,6815887.501,340889.906,340889.906,0.00006 +30-6-2019 20:00,6815909.51,282451.638,282451.638,0.00006 +30-6-2019 21:00,6815930.966,199664.087,199664.087,0.00006 +30-6-2019 22:00,6815951.864,97397.118,97397.118,0.00006 +30-6-2019 23:00,6815972.202,34088.992,34088.992,0.00006 +1-7-2019 00:00,6815991.988,19479.425,19479.425,0.00006 +1-7-2019 01:00,6816011.209,4869.858,4869.858,0.00006 +1-7-2019 02:00,6816029.883,4869.858,4869.858,0.00006 +1-7-2019 03:00,6816047.992,9739.709,9739.709,0.00006 +1-7-2019 04:00,6816065.549,34088.992,34088.992,0.00006 +1-7-2019 05:00,6816082.546,272711.922,272711.922,0.00006 +1-7-2019 06:00,6816098.985,452896.584,452896.584,0.00006 +1-7-2019 07:00,6816114.864,350629.615,350629.615,0.00006 +1-7-2019 08:00,6816130.191,413937.741,413937.741,0.00006 +1-7-2019 09:00,6816144.959,297061.205,297061.205,0.00006 +1-7-2019 10:00,6816159.175,258102.355,258102.355,0.00006 +1-7-2019 11:00,6816172.825,219143.512,219143.512,0.00006 +1-7-2019 12:00,6816185.922,175314.811,175314.811,0.00006 +1-7-2019 13:00,6816198.461,150965.528,150965.528,0.00006 +1-7-2019 14:00,6816210.447,116876.536,116876.536,0.00006 +1-7-2019 15:00,6816221.867,131486.103,131486.103,0.00006 +1-7-2019 16:00,6816232.735,214273.654,214273.654,0.00006 +1-7-2019 17:00,6816243.044,379848.749,379848.749,0.00006 +1-7-2019 18:00,6816252.801,384718.607,384718.607,0.00006 +1-7-2019 19:00,6816261.998,340889.906,340889.906,0.00006 +1-7-2019 20:00,6816270.637,282451.638,282451.638,0.00006 +1-7-2019 21:00,6816278.716,199664.087,199664.087,0.00006 +1-7-2019 22:00,6816293.205,97397.118,97397.118,0.00006 +1-7-2019 23:00,6557480.568,34088.992,34088.992,0.00006 +2-7-2019 00:00,6316305.47,19479.425,19479.425,0.00006 +2-7-2019 01:00,6109203.98,4869.858,4869.858,0.00006 +2-7-2019 02:00,5950290.096,4869.858,4869.858,0.00006 +2-7-2019 03:00,5850393.853,9739.709,9739.709,0.00006 +2-7-2019 04:00,5816323.3,34088.992,34088.992,0.00006 +2-7-2019 05:00,5850400.541,272711.922,272711.922,0.00006 +2-7-2019 06:00,5950303.473,452896.584,452896.584,0.00006 +2-7-2019 07:00,6109224.045,350629.615,350629.615,0.00006 +2-7-2019 08:00,6316332.217,413937.741,413937.741,0.00006 +2-7-2019 09:00,6557514.011,297061.205,297061.205,0.00006 +2-7-2019 10:00,6816333.336,258102.355,258102.355,0.00006 +2-7-2019 11:00,7075152.101,219143.512,219143.512,0.00006 +2-7-2019 12:00,7316332.217,175314.811,175314.811,0.00006 +2-7-2019 13:00,7523437.608,150965.528,150965.528,0.00006 +2-7-2019 14:00,7682354.28,116876.536,116876.536,0.00006 +2-7-2019 15:00,7782252.194,131486.103,131486.103,0.00006 +2-7-2019 16:00,7816323.3,214273.654,214273.654,0.00006 +2-7-2019 17:00,7782245.505,379848.749,379848.749,0.00006 +2-7-2019 18:00,7682340.903,384718.607,384718.607,0.00006 +2-7-2019 19:00,7523417.542,340889.906,340889.906,0.00006 +2-7-2019 20:00,7316305.47,282451.638,282451.638,0.00006 +2-7-2019 21:00,7075118.659,199664.087,199664.087,0.00006 +2-7-2019 22:00,6816299.614,97397.118,97397.118,0.00006 +2-7-2019 23:00,6816293.205,34088.992,34088.992,0.00006 +3-7-2019 00:00,6816286.237,19479.425,19479.425,0.00006 +3-7-2019 01:00,6816278.716,4869.858,4869.858,0.00006 +3-7-2019 02:00,6816270.637,4869.858,4869.858,0.00006 +3-7-2019 03:00,6816261.998,9739.709,9739.709,0.00006 +3-7-2019 04:00,6816252.801,34088.992,34088.992,0.00006 +3-7-2019 05:00,6816243.044,272711.922,272711.922,0.00006 +3-7-2019 06:00,6816232.735,452896.584,452896.584,0.00006 +3-7-2019 07:00,6816221.867,350629.615,350629.615,0.00006 +3-7-2019 08:00,6816210.447,413937.741,413937.741,0.00006 +3-7-2019 09:00,6816198.461,297061.205,297061.205,0.00006 +3-7-2019 10:00,6816185.922,258102.355,258102.355,0.00006 +3-7-2019 11:00,6816172.825,219143.512,219143.512,0.00006 +3-7-2019 12:00,6816159.175,175314.811,175314.811,0.00006 +3-7-2019 13:00,6816144.959,150965.528,150965.528,0.00006 +3-7-2019 14:00,6816130.191,116876.536,116876.536,0.00006 +3-7-2019 15:00,6816114.864,131486.103,131486.103,0.00006 +3-7-2019 16:00,6816098.985,214273.654,214273.654,0.00006 +3-7-2019 17:00,6816082.546,379848.749,379848.749,0.00006 +3-7-2019 18:00,6816065.549,384718.607,384718.607,0.00006 +3-7-2019 19:00,6816047.992,340889.906,340889.906,0.00006 +3-7-2019 20:00,6816029.883,282451.638,282451.638,0.00006 +3-7-2019 21:00,6816011.209,199664.087,199664.087,0.00006 +3-7-2019 22:00,6815991.988,97397.118,97397.118,0.00006 +3-7-2019 23:00,6815972.202,34088.992,34088.992,0.00006 +4-7-2019 00:00,6815951.864,19479.425,19479.425,0.00006 +4-7-2019 01:00,6815930.966,4869.858,4869.858,0.00006 +4-7-2019 02:00,6815909.51,4869.858,4869.858,0.00006 +4-7-2019 03:00,6815887.501,9739.709,9739.709,0.00006 +4-7-2019 04:00,6815864.933,34088.992,34088.992,0.00006 +4-7-2019 05:00,6815841.806,272711.922,272711.922,0.00006 +4-7-2019 06:00,6815818.12,452896.584,452896.584,0.00006 +4-7-2019 07:00,6815793.881,350629.615,350629.615,0.00006 +4-7-2019 08:00,6815769.084,413937.741,413937.741,0.00006 +4-7-2019 09:00,6815743.727,297061.205,297061.205,0.00006 +4-7-2019 10:00,6815717.818,258102.355,258102.355,0.00006 +4-7-2019 11:00,6815691.35,219143.512,219143.512,0.00006 +4-7-2019 12:00,6815664.323,175314.811,175314.811,0.00006 +4-7-2019 13:00,6815636.744,150965.528,150965.528,0.00006 +4-7-2019 14:00,6815608.605,116876.536,116876.536,0.00006 +4-7-2019 15:00,6815579.908,131486.103,131486.103,0.00006 +4-7-2019 16:00,6815550.658,214273.654,214273.654,0.00006 +4-7-2019 17:00,6815520.849,379848.749,379848.749,0.00006 +4-7-2019 18:00,6815490.481,384718.607,384718.607,0.00006 +4-7-2019 19:00,6815459.554,340889.906,340889.906,0.00006 +4-7-2019 20:00,6815428.074,282451.638,282451.638,0.00006 +4-7-2019 21:00,6815396.036,199664.087,199664.087,0.00006 +4-7-2019 22:00,6815363.445,97397.118,97397.118,0.00006 +4-7-2019 23:00,6815330.295,34088.992,34088.992,0.00006 +5-7-2019 00:00,6815296.586,19479.425,19479.425,0.00006 +5-7-2019 01:00,6815262.318,4869.858,4869.858,0.00006 +5-7-2019 02:00,6815227.497,4869.858,4869.858,0.00006 +5-7-2019 03:00,6815192.118,9739.709,9739.709,0.00006 +5-7-2019 04:00,6815156.186,34088.992,34088.992,0.00006 +5-7-2019 05:00,6815119.695,272711.922,272711.922,0.00006 +5-7-2019 06:00,6815082.645,452896.584,452896.584,0.00006 +5-7-2019 07:00,6815045.036,350629.615,350629.615,0.00006 +5-7-2019 08:00,6815006.874,413937.741,413937.741,0.00006 +5-7-2019 09:00,6814968.16,297061.205,297061.205,0.00006 +5-7-2019 10:00,6814928.881,258102.355,258102.355,0.00006 +5-7-2019 11:00,6814889.049,219143.512,219143.512,0.00006 +5-7-2019 12:00,6814848.664,175314.811,175314.811,0.00006 +5-7-2019 13:00,6814807.721,150965.528,150965.528,0.00006 +5-7-2019 14:00,6814766.218,116876.536,116876.536,0.00006 +5-7-2019 15:00,6814724.157,131486.103,131486.103,0.00006 +5-7-2019 16:00,6814681.543,214273.654,214273.654,0.00006 +5-7-2019 17:00,6814638.376,379848.749,379848.749,0.00006 +5-7-2019 18:00,6814594.644,384718.607,384718.607,0.00006 +5-7-2019 19:00,6814550.36,340889.906,340889.906,0.00006 +5-7-2019 20:00,6814505.523,282451.638,282451.638,0.00006 +5-7-2019 21:00,6814460.127,199664.087,199664.087,0.00006 +5-7-2019 22:00,6814414.172,97397.118,97397.118,0.00006 +5-7-2019 23:00,6814367.664,34088.992,34088.992,0.00006 +6-7-2019 00:00,6814320.598,19479.425,19479.425,0.00006 +6-7-2019 01:00,6814272.972,4869.858,4869.858,0.00006 +6-7-2019 02:00,6814224.794,4869.858,4869.858,0.00006 +6-7-2019 03:00,6814176.064,9739.709,9739.709,0.00006 +6-7-2019 04:00,6814126.774,34088.992,34088.992,0.00006 +6-7-2019 05:00,6814076.926,272711.922,272711.922,0.00006 +6-7-2019 06:00,6814026.518,452896.584,452896.584,0.00006 +6-7-2019 07:00,6813975.565,350629.615,350629.615,0.00006 +6-7-2019 08:00,6813924.046,413937.741,413937.741,0.00006 +6-7-2019 09:00,6813871.974,297061.205,297061.205,0.00006 +6-7-2019 10:00,6813819.35,258102.355,258102.355,0.00006 +6-7-2019 11:00,6813766.167,219143.512,219143.512,0.00006 +6-7-2019 12:00,6813712.425,175314.811,175314.811,0.00006 +6-7-2019 13:00,6813658.131,150965.528,150965.528,0.00006 +6-7-2019 14:00,6813603.277,116876.536,116876.536,0.00006 +6-7-2019 15:00,6813547.871,131486.103,131486.103,0.00006 +6-7-2019 16:00,6813491.906,214273.654,214273.654,0.00006 +6-7-2019 17:00,6813435.389,379848.749,379848.749,0.00006 +6-7-2019 18:00,6813378.312,384718.607,384718.607,0.00006 +6-7-2019 19:00,6813320.683,340889.906,340889.906,0.00006 +6-7-2019 20:00,6813262.495,282451.638,282451.638,0.00006 +6-7-2019 21:00,6813203.755,199664.087,199664.087,0.00006 +6-7-2019 22:00,6813144.455,97397.118,97397.118,0.00006 +6-7-2019 23:00,6813084.603,34088.992,34088.992,0.00006 +7-7-2019 00:00,6813024.192,19479.425,19479.425,0.00006 +7-7-2019 01:00,6812963.229,4869.858,4869.858,0.00006 +7-7-2019 02:00,6812901.706,4869.858,4869.858,0.00006 +7-7-2019 03:00,6812839.631,9739.709,9739.709,0.00006 +7-7-2019 04:00,6812776.997,34088.992,34088.992,0.00006 +7-7-2019 05:00,6812713.811,272711.922,272711.922,0.00006 +7-7-2019 06:00,6812650.065,452896.584,452896.584,0.00006 +7-7-2019 07:00,6812585.767,350629.615,350629.615,0.00006 +7-7-2019 08:00,6812520.917,413937.741,413937.741,0.00006 +7-7-2019 09:00,6812455.507,297061.205,297061.205,0.00006 +7-7-2019 10:00,6812389.545,258102.355,258102.355,0.00006 +7-7-2019 11:00,6812323.024,219143.512,219143.512,0.00006 +7-7-2019 12:00,6812255.951,175314.811,175314.811,0.00006 +7-7-2019 13:00,6812188.318,150965.528,150965.528,0.00006 +7-7-2019 14:00,6812120.133,116876.536,116876.536,0.00006 +7-7-2019 15:00,6812051.389,131486.103,131486.103,0.00006 +7-7-2019 16:00,6811982.099,214273.654,214273.654,0.00006 +7-7-2019 17:00,6811912.244,379848.749,379848.749,0.00006 +7-7-2019 18:00,6811841.842,384718.607,384718.607,0.00006 +7-7-2019 19:00,6811770.882,340889.906,340889.906,0.00006 +7-7-2019 20:00,6811699.362,282451.638,282451.638,0.00006 +7-7-2019 21:00,6811627.29,199664.087,199664.087,0.00006 +7-7-2019 22:00,6811554.666,97397.118,97397.118,0.00006 +7-7-2019 23:00,6811481.489,34088.992,34088.992,0.00006 +8-7-2019 00:00,6811407.753,19479.425,19479.425,0.00006 +8-7-2019 01:00,6811333.464,4869.858,4869.858,0.00006 +8-7-2019 02:00,6811258.617,4869.858,4869.858,0.00006 +8-7-2019 03:00,6811183.217,9739.709,9739.709,0.00006 +8-7-2019 04:00,6811107.264,34088.992,34088.992,0.00006 +8-7-2019 05:00,6811030.753,272711.922,272711.922,0.00006 +8-7-2019 06:00,6810953.689,452896.584,452896.584,0.00006 +8-7-2019 07:00,6810876.072,350629.615,350629.615,0.00006 +8-7-2019 08:00,6810797.897,413937.741,413937.741,0.00006 +8-7-2019 09:00,6810719.175,297061.205,297061.205,0.00006 +8-7-2019 10:00,6810639.888,258102.355,258102.355,0.00006 +8-7-2019 11:00,6810560.055,219143.512,219143.512,0.00006 +8-7-2019 12:00,6810479.663,175314.811,175314.811,0.00006 +8-7-2019 13:00,6810398.719,150965.528,150965.528,0.00006 +8-7-2019 14:00,6810317.222,116876.536,116876.536,0.00006 +8-7-2019 15:00,6810235.166,131486.103,131486.103,0.00006 +8-7-2019 16:00,6810152.564,214273.654,214273.654,0.00006 +8-7-2019 17:00,6810069.396,379848.749,379848.749,0.00006 +8-7-2019 18:00,6809985.683,384718.607,384718.607,0.00006 +8-7-2019 19:00,6809901.417,340889.906,340889.906,0.00006 +8-7-2019 20:00,6809816.592,282451.638,282451.638,0.00006 +8-7-2019 21:00,6809731.214,199664.087,199664.087,0.00006 +8-7-2019 22:00,6809645.284,97397.118,97397.118,0.00006 +8-7-2019 23:00,6809558.795,34088.992,34088.992,0.00006 +9-7-2019 00:00,6809471.754,19479.425,19479.425,0.00006 +9-7-2019 01:00,6809384.166,4869.858,4869.858,0.00006 +9-7-2019 02:00,6809296.013,4869.858,4869.858,0.00006 +9-7-2019 03:00,6809207.314,9739.709,9739.709,0.00006 +9-7-2019 04:00,6809118.063,34088.992,34088.992,0.00006 +9-7-2019 05:00,6809028.252,272711.922,272711.922,0.00006 +9-7-2019 06:00,6808937.889,452896.584,452896.584,0.00006 +9-7-2019 07:00,6808846.98,350629.615,350629.615,0.00006 +9-7-2019 08:00,6808755.506,413937.741,413937.741,0.00006 +9-7-2019 09:00,6808663.485,297061.205,297061.205,0.00006 +9-7-2019 10:00,6808570.912,258102.355,258102.355,0.00006 +9-7-2019 11:00,6808477.78,219143.512,219143.512,0.00006 +9-7-2019 12:00,6808384.102,175314.811,175314.811,0.00006 +9-7-2019 13:00,6808289.865,150965.528,150965.528,0.00006 +9-7-2019 14:00,6808195.076,116876.536,116876.536,0.00006 +9-7-2019 15:00,6808099.734,131486.103,131486.103,0.00006 +9-7-2019 16:00,6808003.839,214273.654,214273.654,0.00006 +9-7-2019 17:00,6807907.392,379848.749,379848.749,0.00006 +9-7-2019 18:00,6807810.393,384718.607,384718.607,0.00006 +9-7-2019 19:00,6807712.841,340889.906,340889.906,0.00006 +9-7-2019 20:00,6807614.736,282451.638,282451.638,0.00006 +9-7-2019 21:00,6807516.073,199664.087,199664.087,0.00006 +9-7-2019 22:00,6807416.863,97397.118,97397.118,0.00006 +9-7-2019 23:00,6807317.095,34088.992,34088.992,0.00006 +10-7-2019 00:00,6807216.78,19479.425,19479.425,0.00006 +10-7-2019 01:00,6807115.907,4869.858,4869.858,0.00006 +10-7-2019 02:00,6807014.487,4869.858,4869.858,0.00006 +10-7-2019 03:00,6806912.509,9739.709,9739.709,0.00006 +10-7-2019 04:00,6806809.984,34088.992,34088.992,0.00006 +10-7-2019 05:00,6806706.901,272711.922,272711.922,0.00006 +10-7-2019 06:00,6806603.271,452896.584,452896.584,0.00006 +10-7-2019 07:00,6806499.083,350629.615,350629.615,0.00006 +10-7-2019 08:00,6806394.348,413937.741,413937.741,0.00006 +10-7-2019 09:00,6806289.061,297061.205,297061.205,0.00006 +10-7-2019 10:00,6806183.215,258102.355,258102.355,0.00006 +10-7-2019 11:00,6806076.823,219143.512,219143.512,0.00006 +10-7-2019 12:00,6805969.879,175314.811,175314.811,0.00006 +10-7-2019 13:00,6805862.382,150965.528,150965.528,0.00006 +10-7-2019 14:00,6805754.332,116876.536,116876.536,0.00006 +10-7-2019 15:00,6805645.73,131486.103,131486.103,0.00006 +10-7-2019 16:00,6805536.576,214273.654,214273.654,0.00006 +10-7-2019 17:00,6805426.869,379848.749,379848.749,0.00006 +10-7-2019 18:00,6805316.616,384718.607,384718.607,0.00006 +10-7-2019 19:00,6805205.804,340889.906,340889.906,0.00006 +10-7-2019 20:00,6805094.446,282451.638,282451.638,0.00006 +10-7-2019 21:00,6804982.535,199664.087,199664.087,0.00006 +10-7-2019 22:00,6804870.072,97397.118,97397.118,0.00006 +10-7-2019 23:00,6804757.057,34088.992,34088.992,0.00006 +11-7-2019 00:00,6804643.489,19479.425,19479.425,0.00006 +11-7-2019 01:00,6804529.368,4869.858,4869.858,0.00006 +11-7-2019 02:00,6804414.702,4869.858,4869.858,0.00006 +11-7-2019 03:00,6804299.483,9739.709,9739.709,0.00006 +11-7-2019 04:00,6804183.711,34088.992,34088.992,0.00006 +11-7-2019 05:00,6804067.387,272711.922,272711.922,0.00006 +11-7-2019 06:00,6803950.517,452896.584,452896.584,0.00006 +11-7-2019 07:00,6803833.095,350629.615,350629.615,0.00006 +11-7-2019 08:00,6803715.12,413937.741,413937.741,0.00006 +11-7-2019 09:00,6803596.592,297061.205,297061.205,0.00006 +11-7-2019 10:00,6803477.512,258102.355,258102.355,0.00006 +11-7-2019 11:00,6803357.886,219143.512,219143.512,0.00006 +11-7-2019 12:00,6803237.708,175314.811,175314.811,0.00006 +11-7-2019 13:00,6803116.983,150965.528,150965.528,0.00006 +11-7-2019 14:00,6802995.7,116876.536,116876.536,0.00006 +11-7-2019 15:00,6802873.87,131486.103,131486.103,0.00006 +11-7-2019 16:00,6802751.495,214273.654,214273.654,0.00006 +11-7-2019 17:00,6802628.56,379848.749,379848.749,0.00006 +11-7-2019 18:00,6802505.08,384718.607,384718.607,0.00006 +11-7-2019 19:00,6802381.053,340889.906,340889.906,0.00006 +11-7-2019 20:00,6802256.468,282451.638,282451.638,0.00006 +11-7-2019 21:00,6802131.343,199664.087,199664.087,0.00006 +11-7-2019 22:00,6802005.659,97397.118,97397.118,0.00006 +11-7-2019 23:00,6801879.429,34088.992,34088.992,0.00006 +12-7-2019 00:00,6801752.646,19479.425,19479.425,0.00006 +12-7-2019 01:00,6801625.318,4869.858,4869.858,0.00006 +12-7-2019 02:00,6801497.437,4869.858,4869.858,0.00006 +12-7-2019 03:00,6801369.003,9739.709,9739.709,0.00006 +12-7-2019 04:00,6801240.024,34088.992,34088.992,0.00006 +12-7-2019 05:00,6801110.498,272711.922,272711.922,0.00006 +12-7-2019 06:00,6800980.42,452896.584,452896.584,0.00006 +12-7-2019 07:00,6800849.79,350629.615,350629.615,0.00006 +12-7-2019 08:00,6800718.613,413937.741,413937.741,0.00006 +12-7-2019 09:00,6800586.884,297061.205,297061.205,0.00006 +12-7-2019 10:00,6800454.609,258102.355,258102.355,0.00006 +12-7-2019 11:00,6800321.782,219143.512,219143.512,0.00006 +12-7-2019 12:00,6800188.408,175314.811,175314.811,0.00006 +12-7-2019 13:00,6800054.482,150965.528,150965.528,0.00006 +12-7-2019 14:00,6799920.01,116876.536,116876.536,0.00006 +12-7-2019 15:00,6799784.992,131486.103,131486.103,0.00006 +12-7-2019 16:00,6799649.422,214273.654,214273.654,0.00006 +12-7-2019 17:00,6799513.299,379848.749,379848.749,0.00006 +12-7-2019 18:00,6799376.636,384718.607,384718.607,0.00006 +12-7-2019 19:00,6799239.415,340889.906,340889.906,0.00006 +12-7-2019 20:00,6799101.654,282451.638,282451.638,0.00006 +12-7-2019 21:00,6798963.34,199664.087,199664.087,0.00006 +12-7-2019 22:00,6798824.481,97397.118,97397.118,0.00006 +12-7-2019 23:00,6798685.069,34088.992,34088.992,0.00006 +13-7-2019 00:00,6798545.111,19479.425,19479.425,0.00006 +13-7-2019 01:00,6798404.607,4869.858,4869.858,0.00006 +13-7-2019 02:00,6798263.55,4869.858,4869.858,0.00006 +13-7-2019 03:00,6798121.948,9739.709,9739.709,0.00006 +13-7-2019 04:00,6797979.799,34088.992,34088.992,0.00006 +13-7-2019 05:00,6797837.098,272711.922,272711.922,0.00006 +13-7-2019 06:00,6797693.851,452896.584,452896.584,0.00006 +13-7-2019 07:00,6797550.058,350629.615,350629.615,0.00006 +13-7-2019 08:00,6797405.719,413937.741,413937.741,0.00006 +13-7-2019 09:00,6797260.828,297061.205,297061.205,0.00006 +13-7-2019 10:00,6797115.39,258102.355,258102.355,0.00006 +13-7-2019 11:00,6796969.407,219143.512,219143.512,0.00006 +13-7-2019 12:00,6796822.877,175314.811,175314.811,0.00006 +13-7-2019 13:00,6796675.795,150965.528,150965.528,0.00006 +13-7-2019 14:00,6796528.167,116876.536,116876.536,0.00006 +13-7-2019 15:00,6796380,131486.103,131486.103,0.00006 +13-7-2019 16:00,6796231.28,214273.654,214273.654,0.00006 +13-7-2019 17:00,6796082.007,379848.749,379848.749,0.00006 +13-7-2019 18:00,6795932.195,384718.607,384718.607,0.00006 +13-7-2019 19:00,6795781.837,340889.906,340889.906,0.00006 +13-7-2019 20:00,6795630.927,282451.638,282451.638,0.00006 +13-7-2019 21:00,6795479.47,199664.087,199664.087,0.00006 +13-7-2019 22:00,6795327.474,97397.118,97397.118,0.00006 +13-7-2019 23:00,6795174.926,34088.992,34088.992,0.00006 +14-7-2019 00:00,6795021.831,19479.425,19479.425,0.00006 +14-7-2019 01:00,6794868.191,4869.858,4869.858,0.00006 +14-7-2019 02:00,6794714.004,4869.858,4869.858,0.00006 +14-7-2019 03:00,6794559.272,9739.709,9739.709,0.00006 +14-7-2019 04:00,6794403.993,34088.992,34088.992,0.00006 +14-7-2019 05:00,6794248.169,272711.922,272711.922,0.00006 +14-7-2019 06:00,6794091.798,452896.584,452896.584,0.00006 +14-7-2019 07:00,6793934.875,350629.615,350629.615,0.00006 +14-7-2019 08:00,6793777.413,413937.741,413937.741,0.00006 +14-7-2019 09:00,6793619.404,297061.205,297061.205,0.00006 +14-7-2019 10:00,6793460.856,258102.355,258102.355,0.00006 +14-7-2019 11:00,6793301.756,219143.512,219143.512,0.00006 +14-7-2019 12:00,6793142.109,175314.811,175314.811,0.00006 +14-7-2019 13:00,6792981.917,150965.528,150965.528,0.00006 +14-7-2019 14:00,6792821.185,116876.536,116876.536,0.00006 +14-7-2019 15:00,6792659.9,131486.103,131486.103,0.00006 +14-7-2019 16:00,6792498.076,214273.654,214273.654,0.00006 +14-7-2019 17:00,6792335.706,379848.749,379848.749,0.00006 +14-7-2019 18:00,6792172.79,384718.607,384718.607,0.00006 +14-7-2019 19:00,6792009.328,340889.906,340889.906,0.00006 +14-7-2019 20:00,6791845.32,282451.638,282451.638,0.00006 +14-7-2019 21:00,6791680.766,199664.087,199664.087,0.00006 +14-7-2019 22:00,6791515.673,97397.118,97397.118,0.00006 +14-7-2019 23:00,6791350.033,34088.992,34088.992,0.00006 +15-7-2019 00:00,6791183.848,19479.425,19479.425,0.00006 +15-7-2019 01:00,6791017.123,4869.858,4869.858,0.00006 +15-7-2019 02:00,6790849.845,4869.858,4869.858,0.00006 +15-7-2019 03:00,6790682.028,9739.709,9739.709,0.00006 +15-7-2019 04:00,6790513.672,34088.992,34088.992,0.00006 +15-7-2019 05:00,6790344.763,272711.922,272711.922,0.00006 +15-7-2019 06:00,6790175.314,452896.584,452896.584,0.00006 +15-7-2019 07:00,6790005.32,350629.615,350629.615,0.00006 +15-7-2019 08:00,6789834.786,413937.741,413937.741,0.00006 +15-7-2019 09:00,6789663.706,297061.205,297061.205,0.00006 +15-7-2019 10:00,6789492.08,258102.355,258102.355,0.00006 +15-7-2019 11:00,6789319.908,219143.512,219143.512,0.00006 +15-7-2019 12:00,6789147.196,175314.811,175314.811,0.00006 +15-7-2019 13:00,6788973.945,150965.528,150965.528,0.00006 +15-7-2019 14:00,6788800.148,116876.536,116876.536,0.00006 +15-7-2019 15:00,6788625.805,131486.103,131486.103,0.00006 +15-7-2019 16:00,6788450.923,214273.654,214273.654,0.00006 +15-7-2019 17:00,6788275.494,379848.749,379848.749,0.00006 +15-7-2019 18:00,6788099.526,384718.607,384718.607,0.00006 +15-7-2019 19:00,6787923.012,340889.906,340889.906,0.00006 +15-7-2019 20:00,6787745.952,282451.638,282451.638,0.00006 +15-7-2019 21:00,6787568.359,199664.087,199664.087,0.00006 +15-7-2019 22:00,6787390.214,97397.118,97397.118,0.00006 +15-7-2019 23:00,6787211.535,34088.992,34088.992,0.00006 +16-7-2019 00:00,6787032.304,19479.425,19479.425,0.00006 +16-7-2019 01:00,6786852.54,4869.858,4869.858,0.00006 +16-7-2019 02:00,6786672.23,4869.858,4869.858,0.00006 +16-7-2019 03:00,6786491.374,9739.709,9739.709,0.00006 +16-7-2019 04:00,6786309.985,34088.992,34088.992,0.00006 +16-7-2019 05:00,6786128.044,272711.922,272711.922,0.00006 +16-7-2019 06:00,6785945.569,452896.584,452896.584,0.00006 +16-7-2019 07:00,6785762.549,350629.615,350629.615,0.00006 +16-7-2019 08:00,6785578.989,413937.741,413937.741,0.00006 +16-7-2019 09:00,6785394.883,297061.205,297061.205,0.00006 +16-7-2019 10:00,6785210.244,258102.355,258102.355,0.00006 +16-7-2019 11:00,6785025.059,219143.512,219143.512,0.00006 +16-7-2019 12:00,6784839.328,175314.811,175314.811,0.00006 +16-7-2019 13:00,6784653.064,150965.528,150965.528,0.00006 +16-7-2019 14:00,6784466.254,116876.536,116876.536,0.00006 +16-7-2019 15:00,6784278.904,131486.103,131486.103,0.00006 +16-7-2019 16:00,6784091.015,214273.654,214273.654,0.00006 +16-7-2019 17:00,6783902.58,379848.749,379848.749,0.00006 +16-7-2019 18:00,6783713.612,384718.607,384718.607,0.00006 +16-7-2019 19:00,6783524.098,340889.906,340889.906,0.00006 +16-7-2019 20:00,6783334.045,282451.638,282451.638,0.00006 +16-7-2019 21:00,6783143.452,199664.087,199664.087,0.00006 +16-7-2019 22:00,6782952.319,97397.118,97397.118,0.00006 +16-7-2019 23:00,6782760.647,34088.992,34088.992,0.00006 +17-7-2019 00:00,6782568.429,19479.425,19479.425,0.00006 +17-7-2019 01:00,6782375.678,4869.858,4869.858,0.00006 +17-7-2019 02:00,6782182.381,4869.858,4869.858,0.00006 +17-7-2019 03:00,6781988.551,9739.709,9739.709,0.00006 +17-7-2019 04:00,6781794.175,34088.992,34088.992,0.00006 +17-7-2019 05:00,6781599.266,272711.922,272711.922,0.00006 +17-7-2019 06:00,6781403.811,452896.584,452896.584,0.00006 +17-7-2019 07:00,6781207.823,350629.615,350629.615,0.00006 +17-7-2019 08:00,6781011.289,413937.741,413937.741,0.00006 +17-7-2019 09:00,6780814.222,297061.205,297061.205,0.00006 +17-7-2019 10:00,6780616.616,258102.355,258102.355,0.00006 +17-7-2019 11:00,6780418.463,219143.512,219143.512,0.00006 +17-7-2019 12:00,6780219.778,175314.811,175314.811,0.00006 +17-7-2019 13:00,6780020.553,150965.528,150965.528,0.00006 +17-7-2019 14:00,6779820.788,116876.536,116876.536,0.00006 +17-7-2019 15:00,6779620.484,131486.103,131486.103,0.00006 +17-7-2019 16:00,6779419.647,214273.654,214273.654,0.00006 +17-7-2019 17:00,6779218.264,379848.749,379848.749,0.00006 +17-7-2019 18:00,6779016.348,384718.607,384718.607,0.00006 +17-7-2019 19:00,6778813.893,340889.906,340889.906,0.00006 +17-7-2019 20:00,6778610.898,282451.638,282451.638,0.00006 +17-7-2019 21:00,6778407.37,199664.087,199664.087,0.00006 +17-7-2019 22:00,6778203.296,97397.118,97397.118,0.00006 +17-7-2019 23:00,6777998.689,34088.992,34088.992,0.00006 +18-7-2019 00:00,6777793.549,19479.425,19479.425,0.00006 +18-7-2019 01:00,6777587.863,4869.858,4869.858,0.00006 +18-7-2019 02:00,6777381.644,4869.858,4869.858,0.00006 +18-7-2019 03:00,6777174.885,9739.709,9739.709,0.00006 +18-7-2019 04:00,6776967.594,34088.992,34088.992,0.00006 +18-7-2019 05:00,6776759.763,272711.922,272711.922,0.00006 +18-7-2019 06:00,6776551.392,452896.584,452896.584,0.00006 +18-7-2019 07:00,6776342.489,350629.615,350629.615,0.00006 +18-7-2019 08:00,6776133.046,413937.741,413937.741,0.00006 +18-7-2019 09:00,6775923.07,297061.205,297061.205,0.00006 +18-7-2019 10:00,6775712.554,258102.355,258102.355,0.00006 +18-7-2019 11:00,6775501.499,219143.512,219143.512,0.00006 +18-7-2019 12:00,6775289.911,175314.811,175314.811,0.00006 +18-7-2019 13:00,6775077.79,150965.528,150965.528,0.00006 +18-7-2019 14:00,6774865.13,116876.536,116876.536,0.00006 +18-7-2019 15:00,6774651.93,131486.103,131486.103,0.00006 +18-7-2019 16:00,6774438.203,214273.654,214273.654,0.00006 +18-7-2019 17:00,6774223.931,379848.749,379848.749,0.00006 +18-7-2019 18:00,6774009.132,384718.607,384718.607,0.00006 +18-7-2019 19:00,6773793.793,340889.906,340889.906,0.00006 +18-7-2019 20:00,6773577.915,282451.638,282451.638,0.00006 +18-7-2019 21:00,6773361.504,199664.087,199664.087,0.00006 +18-7-2019 22:00,6773144.56,97397.118,97397.118,0.00006 +18-7-2019 23:00,6772927.083,34088.992,34088.992,0.00006 +19-7-2019 00:00,6772709.067,19479.425,19479.425,0.00006 +19-7-2019 01:00,6772490.517,4869.858,4869.858,0.00006 +19-7-2019 02:00,6772271.428,4869.858,4869.858,0.00006 +19-7-2019 03:00,6772051.813,9739.709,9739.709,0.00006 +19-7-2019 04:00,6771831.658,34088.992,34088.992,0.00006 +19-7-2019 05:00,6771610.97,272711.922,272711.922,0.00006 +19-7-2019 06:00,6771389.749,452896.584,452896.584,0.00006 +19-7-2019 07:00,6771167.988,350629.615,350629.615,0.00006 +19-7-2019 08:00,6770945.695,413937.741,413937.741,0.00006 +19-7-2019 09:00,6770722.875,297061.205,297061.205,0.00006 +19-7-2019 10:00,6770499.515,258102.355,258102.355,0.00006 +19-7-2019 11:00,6770275.623,219143.512,219143.512,0.00006 +19-7-2019 12:00,6770051.197,175314.811,175314.811,0.00006 +19-7-2019 13:00,6769826.232,150965.528,150965.528,0.00006 +19-7-2019 14:00,6769600.741,116876.536,116876.536,0.00006 +19-7-2019 15:00,6769374.716,131486.103,131486.103,0.00006 +19-7-2019 16:00,6769148.152,214273.654,214273.654,0.00006 +19-7-2019 17:00,6768921.062,379848.749,379848.749,0.00006 +19-7-2019 18:00,6768693.438,384718.607,384718.607,0.00006 +19-7-2019 19:00,6768465.275,340889.906,340889.906,0.00006 +19-7-2019 20:00,6768236.586,282451.638,282451.638,0.00006 +19-7-2019 21:00,6768007.363,199664.087,199664.087,0.00006 +19-7-2019 22:00,6767777.608,97397.118,97397.118,0.00006 +19-7-2019 23:00,6767547.319,34088.992,34088.992,0.00006 +20-7-2019 00:00,6767316.498,19479.425,19479.425,0.00006 +20-7-2019 01:00,6767085.143,4869.858,4869.858,0.00006 +20-7-2019 02:00,6766853.262,4869.858,4869.858,0.00006 +20-7-2019 03:00,6766620.842,9739.709,9739.709,0.00006 +20-7-2019 04:00,6766387.895,34088.992,34088.992,0.00006 +20-7-2019 05:00,6766154.415,272711.922,272711.922,0.00006 +20-7-2019 06:00,6765920.402,452896.584,452896.584,0.00006 +20-7-2019 07:00,6765685.856,350629.615,350629.615,0.00006 +20-7-2019 08:00,6765450.783,413937.741,413937.741,0.00006 +20-7-2019 09:00,6765215.178,297061.205,297061.205,0.00006 +20-7-2019 10:00,6764979.039,258102.355,258102.355,0.00006 +20-7-2019 11:00,6764742.374,219143.512,219143.512,0.00006 +20-7-2019 12:00,6764505.176,175314.811,175314.811,0.00006 +20-7-2019 13:00,6764267.445,150965.528,150965.528,0.00006 +20-7-2019 14:00,6764029.188,116876.536,116876.536,0.00006 +20-7-2019 15:00,6763790.397,131486.103,131486.103,0.00006 +20-7-2019 16:00,6763551.074,214273.654,214273.654,0.00006 +20-7-2019 17:00,6763311.224,379848.749,379848.749,0.00006 +20-7-2019 18:00,6763070.847,384718.607,384718.607,0.00006 +20-7-2019 19:00,6762829.938,340889.906,340889.906,0.00006 +20-7-2019 20:00,6762588.495,282451.638,282451.638,0.00006 +20-7-2019 21:00,6762346.526,199664.087,199664.087,0.00006 +20-7-2019 22:00,6762104.024,97397.118,97397.118,0.00006 +20-7-2019 23:00,6761860.996,34088.992,34088.992,0.00006 +21-7-2019 00:00,6761617.441,19479.425,19479.425,0.00006 +21-7-2019 01:00,6761373.353,4869.858,4869.858,0.00006 +21-7-2019 02:00,6761128.732,4869.858,4869.858,0.00006 +21-7-2019 03:00,6760883.591,9739.709,9739.709,0.00006 +21-7-2019 04:00,6760637.917,34088.992,34088.992,0.00006 +21-7-2019 05:00,6760391.71,272711.922,272711.922,0.00006 +21-7-2019 06:00,6760144.983,452896.584,452896.584,0.00006 +21-7-2019 07:00,6759897.723,350629.615,350629.615,0.00006 +21-7-2019 08:00,6759649.93,413937.741,413937.741,0.00006 +21-7-2019 09:00,6759401.617,297061.205,297061.205,0.00006 +21-7-2019 10:00,6759152.771,258102.355,258102.355,0.00006 +21-7-2019 11:00,6758903.398,219143.512,219143.512,0.00006 +21-7-2019 12:00,6758653.499,175314.811,175314.811,0.00006 +21-7-2019 13:00,6758403.074,150965.528,150965.528,0.00006 +21-7-2019 14:00,6758152.115,116876.536,116876.536,0.00006 +21-7-2019 15:00,6757900.637,131486.103,131486.103,0.00006 +21-7-2019 16:00,6757648.625,214273.654,214273.654,0.00006 +21-7-2019 17:00,6757396.087,379848.749,379848.749,0.00006 +21-7-2019 18:00,6757143.023,384718.607,384718.607,0.00006 +21-7-2019 19:00,6756889.432,340889.906,340889.906,0.00006 +21-7-2019 20:00,6756635.314,282451.638,282451.638,0.00006 +21-7-2019 21:00,6756380.67,199664.087,199664.087,0.00006 +21-7-2019 22:00,6756125.5,97397.118,97397.118,0.00006 +21-7-2019 23:00,6755869.803,34088.992,34088.992,0.00006 +22-7-2019 00:00,6755613.579,19479.425,19479.425,0.00006 +22-7-2019 01:00,6755356.829,4869.858,4869.858,0.00006 +22-7-2019 02:00,6755099.553,4869.858,4869.858,0.00006 +22-7-2019 03:00,6754841.75,9739.709,9739.709,0.00006 +22-7-2019 04:00,6754583.427,34088.992,34088.992,0.00006 +22-7-2019 05:00,6754324.571,272711.922,272711.922,0.00006 +22-7-2019 06:00,6754065.195,452896.584,452896.584,0.00006 +22-7-2019 07:00,6753805.292,350629.615,350629.615,0.00006 +22-7-2019 08:00,6753544.863,413937.741,413937.741,0.00006 +22-7-2019 09:00,6753283.908,297061.205,297061.205,0.00006 +22-7-2019 10:00,6753022.432,258102.355,258102.355,0.00006 +22-7-2019 11:00,6752760.43,219143.512,219143.512,0.00006 +22-7-2019 12:00,6752497.902,175314.811,175314.811,0.00006 +22-7-2019 13:00,6752234.847,150965.528,150965.528,0.00006 +22-7-2019 14:00,6751971.272,116876.536,116876.536,0.00006 +22-7-2019 15:00,6751707.17,131486.103,131486.103,0.00006 +22-7-2019 16:00,6751442.542,214273.654,214273.654,0.00006 +22-7-2019 17:00,6751177.394,379848.749,379848.749,0.00006 +22-7-2019 18:00,6750911.726,384718.607,384718.607,0.00006 +22-7-2019 19:00,6750645.525,340889.906,340889.906,0.00006 +22-7-2019 20:00,6750378.804,282451.638,282451.638,0.00006 +22-7-2019 21:00,6750111.563,199664.087,199664.087,0.00006 +22-7-2019 22:00,6749843.796,97397.118,97397.118,0.00006 +22-7-2019 23:00,6749575.508,34088.992,34088.992,0.00006 +23-7-2019 00:00,6749306.694,19479.425,19479.425,0.00006 +23-7-2019 01:00,6749037.36,4869.858,4869.858,0.00006 +23-7-2019 02:00,6748767.5,4869.858,4869.858,0.00006 +23-7-2019 03:00,6748497.119,9739.709,9739.709,0.00006 +23-7-2019 04:00,6748226.219,34088.992,34088.992,0.00006 +23-7-2019 05:00,6747954.792,272711.922,272711.922,0.00006 +23-7-2019 06:00,6747682.845,452896.584,452896.584,0.00006 +23-7-2019 07:00,6747410.378,350629.615,350629.615,0.00006 +23-7-2019 08:00,6747137.384,413937.741,413937.741,0.00006 +23-7-2019 09:00,6746863.871,297061.205,297061.205,0.00006 +23-7-2019 10:00,6746589.837,258102.355,258102.355,0.00006 +23-7-2019 11:00,6746315.277,219143.512,219143.512,0.00006 +23-7-2019 12:00,6746040.204,175314.811,175314.811,0.00006 +23-7-2019 13:00,6745764.604,150965.528,150965.528,0.00006 +23-7-2019 14:00,6745488.484,116876.536,116876.536,0.00006 +23-7-2019 15:00,6745211.844,131486.103,131486.103,0.00006 +23-7-2019 16:00,6744934.677,214273.654,214273.654,0.00006 +23-7-2019 17:00,6744656.997,379848.749,379848.749,0.00006 +23-7-2019 18:00,6744378.797,384718.607,384718.607,0.00006 +23-7-2019 19:00,6744100.071,340889.906,340889.906,0.00006 +23-7-2019 20:00,6743820.831,282451.638,282451.638,0.00006 +23-7-2019 21:00,6743541.064,199664.087,199664.087,0.00006 +23-7-2019 22:00,6743260.784,97397.118,97397.118,0.00006 +23-7-2019 23:00,6742979.984,34088.992,34088.992,0.00006 +24-7-2019 00:00,6742698.658,19479.425,19479.425,0.00006 +24-7-2019 01:00,6742416.818,4869.858,4869.858,0.00006 +24-7-2019 02:00,6742134.458,4869.858,4869.858,0.00006 +24-7-2019 03:00,6741851.578,9739.709,9739.709,0.00006 +24-7-2019 04:00,6741568.178,34088.992,34088.992,0.00006 +24-7-2019 05:00,6741284.258,272711.922,272711.922,0.00006 +24-7-2019 06:00,6740999.824,452896.584,452896.584,0.00006 +24-7-2019 07:00,6740714.864,350629.615,350629.615,0.00006 +24-7-2019 08:00,6740429.391,413937.741,413937.741,0.00006 +24-7-2019 09:00,6740143.404,297061.205,297061.205,0.00006 +24-7-2019 10:00,6739856.89,258102.355,258102.355,0.00006 +24-7-2019 11:00,6739569.863,219143.512,219143.512,0.00006 +24-7-2019 12:00,6739282.316,175314.811,175314.811,0.00006 +24-7-2019 13:00,6738994.256,150965.528,150965.528,0.00006 +24-7-2019 14:00,6738705.669,116876.536,116876.536,0.00006 +24-7-2019 15:00,6738416.575,131486.103,131486.103,0.00006 +24-7-2019 16:00,6738126.954,214273.654,214273.654,0.00006 +24-7-2019 17:00,6737836.827,379848.749,379848.749,0.00006 +24-7-2019 18:00,6737546.173,384718.607,384718.607,0.00006 +24-7-2019 19:00,6737255.005,340889.906,340889.906,0.00006 +24-7-2019 20:00,6736963.324,282451.638,282451.638,0.00006 +24-7-2019 21:00,6736671.123,199664.087,199664.087,0.00006 +24-7-2019 22:00,6736378.409,97397.118,97397.118,0.00006 +24-7-2019 23:00,6736085.174,34088.992,34088.992,0.00006 +25-7-2019 00:00,6735791.426,19479.425,19479.425,0.00006 +25-7-2019 01:00,6735497.165,4869.858,4869.858,0.00006 +25-7-2019 02:00,6735202.383,4869.858,4869.858,0.00006 +25-7-2019 03:00,6734907.088,9739.709,9739.709,0.00006 +25-7-2019 04:00,6734611.273,34088.992,34088.992,0.00006 +25-7-2019 05:00,6734314.951,272711.922,272711.922,0.00006 +25-7-2019 06:00,6734018.109,452896.584,452896.584,0.00006 +25-7-2019 07:00,6733720.754,350629.615,350629.615,0.00006 +25-7-2019 08:00,6733422.878,413937.741,413937.741,0.00006 +25-7-2019 09:00,6733124.496,297061.205,297061.205,0.00006 +25-7-2019 10:00,6732825.593,258102.355,258102.355,0.00006 +25-7-2019 11:00,6732526.177,219143.512,219143.512,0.00006 +25-7-2019 12:00,6732226.248,175314.811,175314.811,0.00006 +25-7-2019 13:00,6731925.805,150965.528,150965.528,0.00006 +25-7-2019 14:00,6731624.848,116876.536,116876.536,0.00006 +25-7-2019 15:00,6731323.378,131486.103,131486.103,0.00006 +25-7-2019 16:00,6731021.395,214273.654,214273.654,0.00006 +25-7-2019 17:00,6730718.898,379848.749,379848.749,0.00006 +25-7-2019 18:00,6730415.887,384718.607,384718.607,0.00006 +25-7-2019 19:00,6730112.357,340889.906,340889.906,0.00006 +25-7-2019 20:00,6729808.319,282451.638,282451.638,0.00006 +25-7-2019 21:00,6729503.775,199664.087,199664.087,0.00006 +25-7-2019 22:00,6729198.71,97397.118,97397.118,0.00006 +25-7-2019 23:00,6728893.132,34088.992,34088.992,0.00006 +26-7-2019 00:00,6728587.047,19479.425,19479.425,0.00006 +26-7-2019 01:00,6728280.449,4869.858,4869.858,0.00006 +26-7-2019 02:00,6727973.337,4869.858,4869.858,0.00006 +26-7-2019 03:00,6727665.711,9739.709,9739.709,0.00006 +26-7-2019 04:00,6727357.579,34088.992,34088.992,0.00006 +26-7-2019 05:00,6727048.926,272711.922,272711.922,0.00006 +26-7-2019 06:00,6726739.773,452896.584,452896.584,0.00006 +26-7-2019 07:00,6726430.1,350629.615,350629.615,0.00006 +26-7-2019 08:00,6726119.92,413937.741,413937.741,0.00006 +26-7-2019 09:00,6725809.227,297061.205,297061.205,0.00006 +26-7-2019 10:00,6725498.026,258102.355,258102.355,0.00006 +26-7-2019 11:00,6725186.312,219143.512,219143.512,0.00006 +26-7-2019 12:00,6724874.091,175314.811,175314.811,0.00006 +26-7-2019 13:00,6724561.357,150965.528,150965.528,0.00006 +26-7-2019 14:00,6724248.109,116876.536,116876.536,0.00006 +26-7-2019 15:00,6723934.36,131486.103,131486.103,0.00006 +26-7-2019 16:00,6723620.092,214273.654,214273.654,0.00006 +26-7-2019 17:00,6723305.323,379848.749,379848.749,0.00006 +26-7-2019 18:00,6722990.04,384718.607,384718.607,0.00006 +26-7-2019 19:00,6722674.244,340889.906,340889.906,0.00006 +26-7-2019 20:00,6722357.948,282451.638,282451.638,0.00006 +26-7-2019 21:00,6722041.138,199664.087,199664.087,0.00006 +26-7-2019 22:00,6721723.814,97397.118,97397.118,0.00006 +26-7-2019 23:00,6721405.99,34088.992,34088.992,0.00006 +27-7-2019 00:00,6721087.653,19479.425,19479.425,0.00006 +27-7-2019 01:00,6720768.808,4869.858,4869.858,0.00006 +27-7-2019 02:00,6720449.457,4869.858,4869.858,0.00006 +27-7-2019 03:00,6720129.592,9739.709,9739.709,0.00006 +27-7-2019 04:00,6719809.226,34088.992,34088.992,0.00006 +27-7-2019 05:00,6719488.347,272711.922,272711.922,0.00006 +27-7-2019 06:00,6719166.968,452896.584,452896.584,0.00006 +27-7-2019 07:00,6718845.075,350629.615,350629.615,0.00006 +27-7-2019 08:00,6718522.675,413937.741,413937.741,0.00006 +27-7-2019 09:00,6718199.774,297061.205,297061.205,0.00006 +27-7-2019 10:00,6717876.36,258102.355,258102.355,0.00006 +27-7-2019 11:00,6717552.439,219143.512,219143.512,0.00006 +27-7-2019 12:00,6717228.018,175314.811,175314.811,0.00006 +27-7-2019 13:00,6716903.083,150965.528,150965.528,0.00006 +27-7-2019 14:00,6716577.647,116876.536,116876.536,0.00006 +27-7-2019 15:00,6716251.705,131486.103,131486.103,0.00006 +27-7-2019 16:00,6715925.255,214273.654,214273.654,0.00006 +27-7-2019 17:00,6715598.299,379848.749,379848.749,0.00006 +27-7-2019 18:00,6715270.835,384718.607,384718.607,0.00006 +27-7-2019 19:00,6714942.871,340889.906,340889.906,0.00006 +27-7-2019 20:00,6714614.4,282451.638,282451.638,0.00006 +27-7-2019 21:00,6714285.422,199664.087,199664.087,0.00006 +27-7-2019 22:00,6713955.944,97397.118,97397.118,0.00006 +27-7-2019 23:00,6713625.958,34088.992,34088.992,0.00006 +28-7-2019 00:00,6713295.466,19479.425,19479.425,0.00006 +28-7-2019 01:00,6712964.473,4869.858,4869.858,0.00006 +28-7-2019 02:00,6712632.973,4869.858,4869.858,0.00006 +28-7-2019 03:00,6712300.972,9739.709,9739.709,0.00006 +28-7-2019 04:00,6711968.465,34088.992,34088.992,0.00006 +28-7-2019 05:00,6711635.45,272711.922,272711.922,0.00006 +28-7-2019 06:00,6711301.942,452896.584,452896.584,0.00006 +28-7-2019 07:00,6710967.92,350629.615,350629.615,0.00006 +28-7-2019 08:00,6710633.404,413937.741,413937.741,0.00006 +28-7-2019 09:00,6710298.381,297061.205,297061.205,0.00006 +28-7-2019 10:00,6709962.851,258102.355,258102.355,0.00006 +28-7-2019 11:00,6709626.827,219143.512,219143.512,0.00006 +28-7-2019 12:00,6709290.296,175314.811,175314.811,0.00006 +28-7-2019 13:00,6708953.258,150965.528,150965.528,0.00006 +28-7-2019 14:00,6708615.726,116876.536,116876.536,0.00006 +28-7-2019 15:00,6708277.687,131486.103,131486.103,0.00006 +28-7-2019 16:00,6707939.147,214273.654,214273.654,0.00006 +28-7-2019 17:00,6707600.107,379848.749,379848.749,0.00006 +28-7-2019 18:00,6707260.567,384718.607,384718.607,0.00006 +28-7-2019 19:00,6706920.526,340889.906,340889.906,0.00006 +28-7-2019 20:00,6706579.978,282451.638,282451.638,0.00006 +28-7-2019 21:00,6706238.936,199664.087,199664.087,0.00006 +28-7-2019 22:00,6705897.387,97397.118,97397.118,0.00006 +28-7-2019 23:00,6705555.344,34088.992,34088.992,0.00006 +29-7-2019 00:00,6705212.794,19479.425,19479.425,0.00006 +29-7-2019 01:00,6704869.75,4869.858,4869.858,0.00006 +29-7-2019 02:00,6704526.205,4869.858,4869.858,0.00006 +29-7-2019 03:00,6704182.154,9739.709,9739.709,0.00006 +29-7-2019 04:00,6703837.608,34088.992,34088.992,0.00006 +29-7-2019 05:00,6703492.562,272711.922,272711.922,0.00006 +29-7-2019 06:00,6703147.022,452896.584,452896.584,0.00006 +29-7-2019 07:00,6702800.975,350629.615,350629.615,0.00006 +29-7-2019 08:00,6702454.434,413937.741,413937.741,0.00006 +29-7-2019 09:00,6702107.393,297061.205,297061.205,0.00006 +29-7-2019 10:00,6701759.851,258102.355,258102.355,0.00006 +29-7-2019 11:00,6701411.815,219143.512,219143.512,0.00006 +29-7-2019 12:00,6701063.278,175314.811,175314.811,0.00006 +29-7-2019 13:00,6700714.241,150965.528,150965.528,0.00006 +29-7-2019 14:00,6700364.71,116876.536,116876.536,0.00006 +29-7-2019 15:00,6700014.679,131486.103,131486.103,0.00006 +29-7-2019 16:00,6699664.153,214273.654,214273.654,0.00006 +29-7-2019 17:00,6699313.127,379848.749,379848.749,0.00006 +29-7-2019 18:00,6698961.601,384718.607,384718.607,0.00006 +29-7-2019 19:00,6698609.587,340889.906,340889.906,0.00006 +29-7-2019 20:00,6698257.066,282451.638,282451.638,0.00006 +29-7-2019 21:00,6697904.057,199664.087,199664.087,0.00006 +29-7-2019 22:00,6697550.548,97397.118,97397.118,0.00006 +29-7-2019 23:00,6697196.539,34088.992,34088.992,0.00006 +30-7-2019 00:00,6696842.042,19479.425,19479.425,0.00006 +30-7-2019 01:00,6696487.044,4869.858,4869.858,0.00006 +30-7-2019 02:00,6696131.553,4869.858,4869.858,0.00006 +30-7-2019 03:00,6695775.561,9739.709,9739.709,0.00006 +30-7-2019 04:00,6695419.081,34088.992,34088.992,0.00006 +30-7-2019 05:00,6695062.101,272711.922,272711.922,0.00006 +30-7-2019 06:00,6694704.627,452896.584,452896.584,0.00006 +30-7-2019 07:00,6694346.659,350629.615,350629.615,0.00006 +30-7-2019 08:00,6693988.197,413937.741,413937.741,0.00006 +30-7-2019 09:00,6693629.235,297061.205,297061.205,0.00006 +30-7-2019 10:00,6693269.785,258102.355,258102.355,0.00006 +30-7-2019 11:00,6692909.841,219143.512,219143.512,0.00006 +30-7-2019 12:00,6692549.403,175314.811,175314.811,0.00006 +30-7-2019 13:00,6692188.471,150965.528,150965.528,0.00006 +30-7-2019 14:00,6691827.038,116876.536,116876.536,0.00006 +30-7-2019 15:00,6691465.118,131486.103,131486.103,0.00006 +30-7-2019 16:00,6691102.711,214273.654,214273.654,0.00006 +30-7-2019 17:00,6690739.803,379848.749,379848.749,0.00006 +30-7-2019 18:00,6690376.407,384718.607,384718.607,0.00006 +30-7-2019 19:00,6690012.511,340889.906,340889.906,0.00006 +30-7-2019 20:00,6689648.128,282451.638,282451.638,0.00006 +30-7-2019 21:00,6689283.257,199664.087,199664.087,0.00006 +30-7-2019 22:00,6688917.885,97397.118,97397.118,0.00006 +30-7-2019 23:00,6688552.026,34088.992,34088.992,0.00006 +31-7-2019 00:00,6688185.673,19479.425,19479.425,0.00006 +31-7-2019 01:00,6687818.833,4869.858,4869.858,0.00006 +31-7-2019 02:00,6687451.498,4869.858,4869.858,0.00006 +31-7-2019 03:00,6687083.676,9739.709,9739.709,0.00006 +31-7-2019 04:00,6686715.36,34088.992,34088.992,0.00006 +31-7-2019 05:00,6686346.557,272711.922,272711.922,0.00006 +31-7-2019 06:00,6685977.259,452896.584,452896.584,0.00006 +31-7-2019 07:00,6685607.474,350629.615,350629.615,0.00006 +31-7-2019 08:00,6685237.195,413937.741,413937.741,0.00006 +31-7-2019 09:00,6684866.429,297061.205,297061.205,0.00006 +31-7-2019 10:00,6684495.168,258102.355,258102.355,0.00006 +31-7-2019 11:00,6684123.427,219143.512,219143.512,0.00006 +31-7-2019 12:00,6683751.191,175314.811,175314.811,0.00006 +31-7-2019 13:00,6683378.468,150965.528,150965.528,0.00006 +31-7-2019 14:00,6683005.251,116876.536,116876.536,0.00006 +31-7-2019 15:00,6682631.553,131486.103,131486.103,0.00006 +31-7-2019 16:00,6682257.361,214273.654,214273.654,0.00006 +31-7-2019 17:00,6681882.682,379848.749,379848.749,0.00006 +31-7-2019 18:00,6681507.515,384718.607,384718.607,0.00006 +31-7-2019 19:00,6681131.86,340889.906,340889.906,0.00006 +31-7-2019 20:00,6680755.718,282451.638,282451.638,0.00006 +31-7-2019 21:00,6680379.082,199664.087,199664.087,0.00006 +31-7-2019 22:00,6680001.965,97397.118,97397.118,0.00006 +31-7-2019 23:00,6679624.361,34088.992,34088.992,0.00006 +1-8-2019 00:00,6679246.269,19479.425,19479.425,0.00006 +1-8-2019 01:00,6678867.689,4869.858,4869.858,0.00006 +1-8-2019 02:00,6678488.629,4869.858,4869.858,0.00006 +1-8-2019 03:00,6678109.074,9739.709,9739.709,0.00006 +1-8-2019 04:00,6677729.039,34088.992,34088.992,0.00006 +1-8-2019 05:00,6677348.509,272711.922,272711.922,0.00006 +1-8-2019 06:00,6676967.505,452896.584,452896.584,0.00006 +1-8-2019 07:00,6676586.007,350629.615,350629.615,0.00006 +1-8-2019 08:00,6676204.028,413937.741,413937.741,0.00006 +1-8-2019 09:00,6675821.562,297061.205,297061.205,0.00006 +1-8-2019 10:00,6675438.608,258102.355,258102.355,0.00006 +1-8-2019 11:00,6675055.173,219143.512,219143.512,0.00006 +1-8-2019 12:00,6674671.25,175314.811,175314.811,0.00006 +1-8-2019 13:00,6674286.847,150965.528,150965.528,0.00006 +1-8-2019 14:00,6673901.956,116876.536,116876.536,0.00006 +1-8-2019 15:00,6673516.584,131486.103,131486.103,0.00006 +1-8-2019 16:00,6673130.724,214273.654,214273.654,0.00006 +1-8-2019 17:00,6672744.384,379848.749,379848.749,0.00006 +1-8-2019 18:00,6672357.562,384718.607,384718.607,0.00006 +1-8-2019 19:00,6671970.253,340889.906,340889.906,0.00006 +1-8-2019 20:00,6671582.463,282451.638,282451.638,0.00006 +1-8-2019 21:00,6671194.186,199664.087,199664.087,0.00006 +1-8-2019 22:00,6670805.434,97397.118,97397.118,0.00006 +1-8-2019 23:00,6670416.194,34088.992,34088.992,0.00006 +2-8-2019 00:00,6670026.474,19479.425,19479.425,0.00006 +2-8-2019 01:00,6669636.266,4869.858,4869.858,0.00006 +2-8-2019 02:00,6669245.583,4869.858,4869.858,0.00006 +2-8-2019 03:00,6668854.42,9739.709,9739.709,0.00006 +2-8-2019 04:00,6668462.769,34088.992,34088.992,0.00006 +2-8-2019 05:00,6668070.637,272711.922,272711.922,0.00006 +2-8-2019 06:00,6667678.03,452896.584,452896.584,0.00006 +2-8-2019 07:00,6667284.936,350629.615,350629.615,0.00006 +2-8-2019 08:00,6666891.368,413937.741,413937.741,0.00006 +2-8-2019 09:00,6666497.312,297061.205,297061.205,0.00006 +2-8-2019 10:00,6666102.781,258102.355,258102.355,0.00006 +2-8-2019 11:00,6665707.77,219143.512,219143.512,0.00006 +2-8-2019 12:00,6665312.277,175314.811,175314.811,0.00006 +2-8-2019 13:00,6664916.304,150965.528,150965.528,0.00006 +2-8-2019 14:00,6664519.849,116876.536,116876.536,0.00006 +2-8-2019 15:00,6664122.92,131486.103,131486.103,0.00006 +2-8-2019 16:00,6663725.51,214273.654,214273.654,0.00006 +2-8-2019 17:00,6663327.619,379848.749,379848.749,0.00006 +2-8-2019 18:00,6662929.254,384718.607,384718.607,0.00006 +2-8-2019 19:00,6662530.407,340889.906,340889.906,0.00006 +2-8-2019 20:00,6662131.086,282451.638,282451.638,0.00006 +2-8-2019 21:00,6661731.284,199664.087,199664.087,0.00006 +2-8-2019 22:00,6661331.001,97397.118,97397.118,0.00006 +2-8-2019 23:00,6660930.244,34088.992,34088.992,0.00006 +3-8-2019 00:00,6660529.012,19479.425,19479.425,0.00006 +3-8-2019 01:00,6660127.299,4869.858,4869.858,0.00006 +3-8-2019 02:00,6659725.111,4869.858,4869.858,0.00006 +3-8-2019 03:00,6659322.443,9739.709,9739.709,0.00006 +3-8-2019 04:00,6658919.3,34088.992,34088.992,0.00006 +3-8-2019 05:00,6658515.682,272711.922,272711.922,0.00006 +3-8-2019 06:00,6658111.59,452896.584,452896.584,0.00006 +3-8-2019 07:00,6657707.017,350629.615,350629.615,0.00006 +3-8-2019 08:00,6657301.97,413937.741,413937.741,0.00006 +3-8-2019 09:00,6656896.448,297061.205,297061.205,0.00006 +3-8-2019 10:00,6656490.451,258102.355,258102.355,0.00006 +3-8-2019 11:00,6656083.98,219143.512,219143.512,0.00006 +3-8-2019 12:00,6655677.035,175314.811,175314.811,0.00006 +3-8-2019 13:00,6655269.615,150965.528,150965.528,0.00006 +3-8-2019 14:00,6654861.714,116876.536,116876.536,0.00006 +3-8-2019 15:00,6654453.345,131486.103,131486.103,0.00006 +3-8-2019 16:00,6654044.501,214273.654,214273.654,0.00006 +3-8-2019 17:00,6653635.183,379848.749,379848.749,0.00006 +3-8-2019 18:00,6653225.391,384718.607,384718.607,0.00006 +3-8-2019 19:00,6652815.124,340889.906,340889.906,0.00006 +3-8-2019 20:00,6652404.389,282451.638,282451.638,0.00006 +3-8-2019 21:00,6651993.173,199664.087,199664.087,0.00006 +3-8-2019 22:00,6651581.489,97397.118,97397.118,0.00006 +3-8-2019 23:00,6651169.33,34088.992,34088.992,0.00006 +4-8-2019 00:00,6650756.704,19479.425,19479.425,0.00006 +4-8-2019 01:00,6650343.603,4869.858,4869.858,0.00006 +4-8-2019 02:00,6649930.027,4869.858,4869.858,0.00006 +4-8-2019 03:00,6649515.984,9739.709,9739.709,0.00006 +4-8-2019 04:00,6649101.466,34088.992,34088.992,0.00006 +4-8-2019 05:00,6648686.48,272711.922,272711.922,0.00006 +4-8-2019 06:00,6648271.019,452896.584,452896.584,0.00006 +4-8-2019 07:00,6647855.091,350629.615,350629.615,0.00006 +4-8-2019 08:00,6647438.688,413937.741,413937.741,0.00006 +4-8-2019 09:00,6647021.817,297061.205,297061.205,0.00006 +4-8-2019 10:00,6646604.478,258102.355,258102.355,0.00006 +4-8-2019 11:00,6646186.664,219143.512,219143.512,0.00006 +4-8-2019 12:00,6645768.383,175314.811,175314.811,0.00006 +4-8-2019 13:00,6645349.633,150965.528,150965.528,0.00006 +4-8-2019 14:00,6644930.416,116876.536,116876.536,0.00006 +4-8-2019 15:00,6644510.724,131486.103,131486.103,0.00006 +4-8-2019 16:00,6644090.564,214273.654,214273.654,0.00006 +4-8-2019 17:00,6643669.942,379848.749,379848.749,0.00006 +4-8-2019 18:00,6643248.846,384718.607,384718.607,0.00006 +4-8-2019 19:00,6642827.282,340889.906,340889.906,0.00006 +4-8-2019 20:00,6642405.25,282451.638,282451.638,0.00006 +4-8-2019 21:00,6641982.75,199664.087,199664.087,0.00006 +4-8-2019 22:00,6641559.782,97397.118,97397.118,0.00006 +4-8-2019 23:00,6641136.346,34088.992,34088.992,0.00006 +5-8-2019 00:00,6640712.449,19479.425,19479.425,0.00006 +5-8-2019 01:00,6640288.077,4869.858,4869.858,0.00006 +5-8-2019 02:00,6639863.243,4869.858,4869.858,0.00006 +5-8-2019 03:00,6639437.942,9739.709,9739.709,0.00006 +5-8-2019 04:00,6639012.172,34088.992,34088.992,0.00006 +5-8-2019 05:00,6638585.935,272711.922,272711.922,0.00006 +5-8-2019 06:00,6638159.236,452896.584,452896.584,0.00006 +5-8-2019 07:00,6637732.069,350629.615,350629.615,0.00006 +5-8-2019 08:00,6637304.44,413937.741,413937.741,0.00006 +5-8-2019 09:00,6636876.344,297061.205,297061.205,0.00006 +5-8-2019 10:00,6636447.779,258102.355,258102.355,0.00006 +5-8-2019 11:00,6636018.753,219143.512,219143.512,0.00006 +5-8-2019 12:00,6635589.259,175314.811,175314.811,0.00006 +5-8-2019 13:00,6635159.304,150965.528,150965.528,0.00006 +5-8-2019 14:00,6634728.887,116876.536,116876.536,0.00006 +5-8-2019 15:00,6634298.002,131486.103,131486.103,0.00006 +5-8-2019 16:00,6633866.655,214273.654,214273.654,0.00006 +5-8-2019 17:00,6633434.847,379848.749,379848.749,0.00006 +5-8-2019 18:00,6633002.571,384718.607,384718.607,0.00006 +5-8-2019 19:00,6632569.834,340889.906,340889.906,0.00006 +5-8-2019 20:00,6632136.635,282451.638,282451.638,0.00006 +5-8-2019 21:00,6631702.974,199664.087,199664.087,0.00006 +5-8-2019 22:00,6631268.846,97397.118,97397.118,0.00006 +5-8-2019 23:00,6630834.262,34088.992,34088.992,0.00006 +6-8-2019 00:00,6630399.211,19479.425,19479.425,0.00006 +6-8-2019 01:00,6629963.704,4869.858,4869.858,0.00006 +6-8-2019 02:00,6629527.73,4869.858,4869.858,0.00006 +6-8-2019 03:00,6629091.3,9739.709,9739.709,0.00006 +6-8-2019 04:00,6628654.403,34088.992,34088.992,0.00006 +6-8-2019 05:00,6628217.05,272711.922,272711.922,0.00006 +6-8-2019 06:00,6627779.236,452896.584,452896.584,0.00006 +6-8-2019 07:00,6627340.961,350629.615,350629.615,0.00006 +6-8-2019 08:00,6626902.224,413937.741,413937.741,0.00006 +6-8-2019 09:00,6626463.025,297061.205,297061.205,0.00006 +6-8-2019 10:00,6626023.372,258102.355,258102.355,0.00006 +6-8-2019 11:00,6625583.257,219143.512,219143.512,0.00006 +6-8-2019 12:00,6625142.68,175314.811,175314.811,0.00006 +6-8-2019 13:00,6624701.649,150965.528,150965.528,0.00006 +6-8-2019 14:00,6624260.156,116876.536,116876.536,0.00006 +6-8-2019 15:00,6623818.208,131486.103,131486.103,0.00006 +6-8-2019 16:00,6623375.798,214273.654,214273.654,0.00006 +6-8-2019 17:00,6622932.934,379848.749,379848.749,0.00006 +6-8-2019 18:00,6622489.608,384718.607,384718.607,0.00006 +6-8-2019 19:00,6622045.827,340889.906,340889.906,0.00006 +6-8-2019 20:00,6621601.584,282451.638,282451.638,0.00006 +6-8-2019 21:00,6621156.893,199664.087,199664.087,0.00006 +6-8-2019 22:00,6620711.741,97397.118,97397.118,0.00006 +6-8-2019 23:00,6620266.127,34088.992,34088.992,0.00006 +7-8-2019 00:00,6619820.058,19479.425,19479.425,0.00006 +7-8-2019 01:00,6619373.54,4869.858,4869.858,0.00006 +7-8-2019 02:00,6618926.561,4869.858,4869.858,0.00006 +7-8-2019 03:00,6618479.127,9739.709,9739.709,0.00006 +7-8-2019 04:00,6618031.232,34088.992,34088.992,0.00006 +7-8-2019 05:00,6617582.888,272711.922,272711.922,0.00006 +7-8-2019 06:00,6617134.089,452896.584,452896.584,0.00006 +7-8-2019 07:00,6616684.835,350629.615,350629.615,0.00006 +7-8-2019 08:00,6616235.126,413937.741,413937.741,0.00006 +7-8-2019 09:00,6615784.962,297061.205,297061.205,0.00006 +7-8-2019 10:00,6615334.343,258102.355,258102.355,0.00006 +7-8-2019 11:00,6614883.269,219143.512,219143.512,0.00006 +7-8-2019 12:00,6614431.74,175314.811,175314.811,0.00006 +7-8-2019 13:00,6613979.762,150965.528,150965.528,0.00006 +7-8-2019 14:00,6613527.33,116876.536,116876.536,0.00006 +7-8-2019 15:00,6613074.442,131486.103,131486.103,0.00006 +7-8-2019 16:00,6612621.106,214273.654,214273.654,0.00006 +7-8-2019 17:00,6612167.315,379848.749,379848.749,0.00006 +7-8-2019 18:00,6611713.069,384718.607,384718.607,0.00006 +7-8-2019 19:00,6611258.375,340889.906,340889.906,0.00006 +7-8-2019 20:00,6610803.225,282451.638,282451.638,0.00006 +7-8-2019 21:00,6610347.627,199664.087,199664.087,0.00006 +7-8-2019 22:00,6609891.581,97397.118,97397.118,0.00006 +7-8-2019 23:00,6609435.079,34088.992,34088.992,0.00006 +8-8-2019 00:00,6608978.123,19479.425,19479.425,0.00006 +8-8-2019 01:00,6608520.724,4869.858,4869.858,0.00006 +8-8-2019 02:00,6608062.871,4869.858,4869.858,0.00006 +8-8-2019 03:00,6607604.562,9739.709,9739.709,0.00006 +8-8-2019 04:00,6607145.812,34088.992,34088.992,0.00006 +8-8-2019 05:00,6606686.606,272711.922,272711.922,0.00006 +8-8-2019 06:00,6606226.959,452896.584,452896.584,0.00006 +8-8-2019 07:00,6605766.856,350629.615,350629.615,0.00006 +8-8-2019 08:00,6605306.305,413937.741,413937.741,0.00006 +8-8-2019 09:00,6604845.306,297061.205,297061.205,0.00006 +8-8-2019 10:00,6604383.858,258102.355,258102.355,0.00006 +8-8-2019 11:00,6603921.961,219143.512,219143.512,0.00006 +8-8-2019 12:00,6603459.616,175314.811,175314.811,0.00006 +8-8-2019 13:00,6602996.823,150965.528,150965.528,0.00006 +8-8-2019 14:00,6602533.581,116876.536,116876.536,0.00006 +8-8-2019 15:00,6602069.897,131486.103,131486.103,0.00006 +8-8-2019 16:00,6601605.758,214273.654,214273.654,0.00006 +8-8-2019 17:00,6601141.177,379848.749,379848.749,0.00006 +8-8-2019 18:00,6600676.154,384718.607,384718.607,0.00006 +8-8-2019 19:00,6600210.676,340889.906,340889.906,0.00006 +8-8-2019 20:00,6599744.756,282451.638,282451.638,0.00006 +8-8-2019 21:00,6599278.387,199664.087,199664.087,0.00006 +8-8-2019 22:00,6598811.577,97397.118,97397.118,0.00006 +8-8-2019 23:00,6598344.318,34088.992,34088.992,0.00006 +9-8-2019 00:00,6597876.617,19479.425,19479.425,0.00006 +9-8-2019 01:00,6597408.474,4869.858,4869.858,0.00006 +9-8-2019 02:00,6596939.876,4869.858,4869.858,0.00006 +9-8-2019 03:00,6596470.842,9739.709,9739.709,0.00006 +9-8-2019 04:00,6596001.36,34088.992,34088.992,0.00006 +9-8-2019 05:00,6595531.436,272711.922,272711.922,0.00006 +9-8-2019 06:00,6595061.07,452896.584,452896.584,0.00006 +9-8-2019 07:00,6594590.256,350629.615,350629.615,0.00006 +9-8-2019 08:00,6594118.999,413937.741,413937.741,0.00006 +9-8-2019 09:00,6593647.301,297061.205,297061.205,0.00006 +9-8-2019 10:00,6593175.16,258102.355,258102.355,0.00006 +9-8-2019 11:00,6592702.578,219143.512,219143.512,0.00006 +9-8-2019 12:00,6592229.553,175314.811,175314.811,0.00006 +9-8-2019 13:00,6591756.08,150965.528,150965.528,0.00006 +9-8-2019 14:00,6591282.172,116876.536,116876.536,0.00006 +9-8-2019 15:00,6590807.821,131486.103,131486.103,0.00006 +9-8-2019 16:00,6590333.029,214273.654,214273.654,0.00006 +9-8-2019 17:00,6589857.794,379848.749,379848.749,0.00006 +9-8-2019 18:00,6589382.118,384718.607,384718.607,0.00006 +9-8-2019 19:00,6588906.006,340889.906,340889.906,0.00006 +9-8-2019 20:00,6588429.452,282451.638,282451.638,0.00006 +9-8-2019 21:00,6587952.456,199664.087,199664.087,0.00006 +9-8-2019 22:00,6587475.018,97397.118,97397.118,0.00006 +9-8-2019 23:00,6586997.144,34088.992,34088.992,0.00006 +10-8-2019 00:00,6586518.829,19479.425,19479.425,0.00006 +10-8-2019 01:00,6586040.078,4869.858,4869.858,0.00006 +10-8-2019 02:00,6585560.885,4869.858,4869.858,0.00006 +10-8-2019 03:00,6585081.256,9739.709,9739.709,0.00006 +10-8-2019 04:00,6584601.186,34088.992,34088.992,0.00006 +10-8-2019 05:00,6584120.68,272711.922,272711.922,0.00006 +10-8-2019 06:00,6583639.732,452896.584,452896.584,0.00006 +10-8-2019 07:00,6583158.348,350629.615,350629.615,0.00006 +10-8-2019 08:00,6582676.529,413937.741,413937.741,0.00006 +10-8-2019 09:00,6582194.268,297061.205,297061.205,0.00006 +10-8-2019 10:00,6581711.578,258102.355,258102.355,0.00006 +10-8-2019 11:00,6581228.446,219143.512,219143.512,0.00006 +10-8-2019 12:00,6580744.879,175314.811,175314.811,0.00006 +10-8-2019 13:00,6580260.876,150965.528,150965.528,0.00006 +10-8-2019 14:00,6579776.437,116876.536,116876.536,0.00006 +10-8-2019 15:00,6579291.563,131486.103,131486.103,0.00006 +10-8-2019 16:00,6578806.254,214273.654,214273.654,0.00006 +10-8-2019 17:00,6578320.509,379848.749,379848.749,0.00006 +10-8-2019 18:00,6577834.328,384718.607,384718.607,0.00006 +10-8-2019 19:00,6577347.712,340889.906,340889.906,0.00006 +10-8-2019 20:00,6576860.661,282451.638,282451.638,0.00006 +10-8-2019 21:00,6576373.18,199664.087,199664.087,0.00006 +10-8-2019 22:00,6575885.258,97397.118,97397.118,0.00006 +10-8-2019 23:00,6575396.906,34088.992,34088.992,0.00006 +11-8-2019 00:00,6574908.126,19479.425,19479.425,0.00006 +11-8-2019 01:00,6574418.91,4869.858,4869.858,0.00006 +11-8-2019 02:00,6573929.258,4869.858,4869.858,0.00006 +11-8-2019 03:00,6573439.171,9739.709,9739.709,0.00006 +11-8-2019 04:00,6572948.662,34088.992,34088.992,0.00006 +11-8-2019 05:00,6572457.71,272711.922,272711.922,0.00006 +11-8-2019 06:00,6571966.33,452896.584,452896.584,0.00006 +11-8-2019 07:00,6571474.52,350629.615,350629.615,0.00006 +11-8-2019 08:00,6570982.282,413937.741,413937.741,0.00006 +11-8-2019 09:00,6570489.608,297061.205,297061.205,0.00006 +11-8-2019 10:00,6569996.505,258102.355,258102.355,0.00006 +11-8-2019 11:00,6569502.966,219143.512,219143.512,0.00006 +11-8-2019 12:00,6569008.999,175314.811,175314.811,0.00006 +11-8-2019 13:00,6568514.609,150965.528,150965.528,0.00006 +11-8-2019 14:00,6568019.783,116876.536,116876.536,0.00006 +11-8-2019 15:00,6567524.529,131486.103,131486.103,0.00006 +11-8-2019 16:00,6567028.845,214273.654,214273.654,0.00006 +11-8-2019 17:00,6566532.726,379848.749,379848.749,0.00006 +11-8-2019 18:00,6566036.185,384718.607,384718.607,0.00006 +11-8-2019 19:00,6565539.214,340889.906,340889.906,0.00006 +11-8-2019 20:00,6565041.821,282451.638,282451.638,0.00006 +11-8-2019 21:00,6564543.993,199664.087,199664.087,0.00006 +11-8-2019 22:00,6564045.735,97397.118,97397.118,0.00006 +11-8-2019 23:00,6563547.055,34088.992,34088.992,0.00006 +12-8-2019 00:00,6563047.946,19479.425,19479.425,0.00006 +12-8-2019 01:00,6562548.408,4869.858,4869.858,0.00006 +12-8-2019 02:00,6562048.448,4869.858,4869.858,0.00006 +12-8-2019 03:00,6561548.058,9739.709,9739.709,0.00006 +12-8-2019 04:00,6561047.24,34088.992,34088.992,0.00006 +12-8-2019 05:00,6560545.999,272711.922,272711.922,0.00006 +12-8-2019 06:00,6560044.329,452896.584,452896.584,0.00006 +12-8-2019 07:00,6559542.236,350629.615,350629.615,0.00006 +12-8-2019 08:00,6559039.715,413937.741,413937.741,0.00006 +12-8-2019 09:00,6558536.777,297061.205,297061.205,0.00006 +12-8-2019 10:00,6558033.404,258102.355,258102.355,0.00006 +12-8-2019 11:00,6557529.615,219143.512,219143.512,0.00006 +12-8-2019 12:00,6557025.397,175314.811,175314.811,0.00006 +12-8-2019 13:00,6556520.757,150965.528,150965.528,0.00006 +12-8-2019 14:00,6556015.694,116876.536,116876.536,0.00006 +12-8-2019 15:00,6555510.202,131486.103,131486.103,0.00006 +12-8-2019 16:00,6555004.294,214273.654,214273.654,0.00006 +12-8-2019 17:00,6554497.957,379848.749,379848.749,0.00006 +12-8-2019 18:00,6553991.204,384718.607,384718.607,0.00006 +12-8-2019 19:00,6553484.022,340889.906,340889.906,0.00006 +12-8-2019 20:00,6552976.424,282451.638,282451.638,0.00006 +12-8-2019 21:00,6552468.403,199664.087,199664.087,0.00006 +12-8-2019 22:00,6551959.954,97397.118,97397.118,0.00006 +12-8-2019 23:00,6551451.088,34088.992,34088.992,0.00006 +13-8-2019 00:00,6550941.807,19479.425,19479.425,0.00006 +13-8-2019 01:00,6550432.096,4869.858,4869.858,0.00006 +13-8-2019 02:00,6549921.97,4869.858,4869.858,0.00006 +13-8-2019 03:00,6549411.421,9739.709,9739.709,0.00006 +13-8-2019 04:00,6548900.449,34088.992,34088.992,0.00006 +13-8-2019 05:00,6548389.062,272711.922,272711.922,0.00006 +13-8-2019 06:00,6547877.258,452896.584,452896.584,0.00006 +13-8-2019 07:00,6547365.032,350629.615,350629.615,0.00006 +13-8-2019 08:00,6546852.384,413937.741,413937.741,0.00006 +13-8-2019 09:00,6546339.319,297061.205,297061.205,0.00006 +13-8-2019 10:00,6545825.839,258102.355,258102.355,0.00006 +13-8-2019 11:00,6545311.936,219143.512,219143.512,0.00006 +13-8-2019 12:00,6544797.617,175314.811,175314.811,0.00006 +13-8-2019 13:00,6544282.882,150965.528,150965.528,0.00006 +13-8-2019 14:00,6543767.724,116876.536,116876.536,0.00006 +13-8-2019 15:00,6543252.157,131486.103,131486.103,0.00006 +13-8-2019 16:00,6542736.168,214273.654,214273.654,0.00006 +13-8-2019 17:00,6542219.762,379848.749,379848.749,0.00006 +13-8-2019 18:00,6541702.941,384718.607,384718.607,0.00006 +13-8-2019 19:00,6541185.703,340889.906,340889.906,0.00006 +13-8-2019 20:00,6540668.05,282451.638,282451.638,0.00006 +13-8-2019 21:00,100617.6921,199664.087,199664.087,0.00006 +13-8-2019 22:00,100609.7154,97397.118,97397.118,0.00006 +13-8-2019 23:00,100601.7323,34088.992,34088.992,0.00006 +14-8-2019 00:00,100593.7429,19479.425,19479.425,0.00006 +14-8-2019 01:00,100585.7471,4869.858,4869.858,0.00006 +14-8-2019 02:00,100577.7449,4869.858,4869.858,0.00006 +14-8-2019 03:00,100569.7364,9739.709,9739.709,0.00006 +14-8-2019 04:00,100561.7215,34088.992,34088.992,0.00006 +14-8-2019 05:00,100553.7002,272711.922,272711.922,0.00006 +14-8-2019 06:00,100545.6726,452896.584,452896.584,0.00006 +14-8-2019 07:00,100537.6386,350629.615,350629.615,0.00006 +14-8-2019 08:00,100529.5983,413937.741,413937.741,0.00006 +14-8-2019 09:00,100521.5516,297061.205,297061.205,0.00006 +14-8-2019 10:00,100513.4986,258102.355,258102.355,0.00006 +14-8-2019 11:00,100505.4392,219143.512,219143.512,0.00006 +14-8-2019 12:00,100497.3736,175314.811,175314.811,0.00006 +14-8-2019 13:00,100489.3016,150965.528,150965.528,0.00006 +14-8-2019 14:00,100481.2232,116876.536,116876.536,0.00006 +14-8-2019 15:00,100473.1386,131486.103,131486.103,0.00006 +14-8-2019 16:00,100465.0476,214273.654,214273.654,0.00006 +14-8-2019 17:00,100456.9504,379848.749,379848.749,0.00006 +14-8-2019 18:00,100448.8468,384718.607,384718.607,0.00006 +14-8-2019 19:00,100440.7369,340889.906,340889.906,0.00006 +14-8-2019 20:00,100432.6208,282451.638,282451.638,0.00006 +14-8-2019 21:00,100424.4983,199664.087,199664.087,0.00006 +14-8-2019 22:00,100416.3696,97397.118,97397.118,0.00006 +14-8-2019 23:00,100408.2345,34088.992,34088.992,0.00006 +15-8-2019 00:00,100400.0932,19479.425,19479.425,0.00006 +15-8-2019 01:00,100391.9456,4869.858,4869.858,0.00006 +15-8-2019 02:00,100383.7918,4869.858,4869.858,0.00006 +15-8-2019 03:00,100375.6316,9739.709,9739.709,0.00006 +15-8-2019 04:00,100367.4652,34088.992,34088.992,0.00006 +15-8-2019 05:00,100359.2926,272711.922,272711.922,0.00006 +15-8-2019 06:00,100351.1137,452896.584,452896.584,0.00006 +15-8-2019 07:00,100342.9285,350629.615,350629.615,0.00006 +15-8-2019 08:00,100334.7371,413937.741,413937.741,0.00006 +15-8-2019 09:00,100326.5394,297061.205,297061.205,0.00006 +15-8-2019 10:00,100318.3355,258102.355,258102.355,0.00006 +15-8-2019 11:00,100310.1254,219143.512,219143.512,0.00006 +15-8-2019 12:00,100301.9091,175314.811,175314.811,0.00006 +15-8-2019 13:00,100293.6865,150965.528,150965.528,0.00006 +15-8-2019 14:00,100285.4577,116876.536,116876.536,0.00006 +15-8-2019 15:00,100277.2226,131486.103,131486.103,0.00006 +15-8-2019 16:00,100268.9814,214273.654,214273.654,0.00006 +15-8-2019 17:00,100260.734,379848.749,379848.749,0.00006 +15-8-2019 18:00,100252.4803,384718.607,384718.607,0.00006 +15-8-2019 19:00,100244.2205,340889.906,340889.906,0.00006 +15-8-2019 20:00,100235.9544,282451.638,282451.638,0.00006 +15-8-2019 21:00,100227.6822,199664.087,199664.087,0.00006 +15-8-2019 22:00,100219.4038,97397.118,97397.118,0.00006 +15-8-2019 23:00,100211.1192,34088.992,34088.992,0.00006 +16-8-2019 00:00,100202.8284,19479.425,19479.425,0.00006 +16-8-2019 01:00,100194.5314,4869.858,4869.858,0.00006 +16-8-2019 02:00,100186.2283,4869.858,4869.858,0.00006 +16-8-2019 03:00,100177.919,9739.709,9739.709,0.00006 +16-8-2019 04:00,100169.6035,34088.992,34088.992,0.00006 +16-8-2019 05:00,100161.2819,272711.922,272711.922,0.00006 +16-8-2019 06:00,100152.9541,452896.584,452896.584,0.00006 +16-8-2019 07:00,100144.6202,350629.615,350629.615,0.00006 +16-8-2019 08:00,100136.2801,413937.741,413937.741,0.00006 +16-8-2019 09:00,100127.9339,297061.205,297061.205,0.00006 +16-8-2019 10:00,100119.5816,258102.355,258102.355,0.00006 +16-8-2019 11:00,100111.2231,219143.512,219143.512,0.00006 +16-8-2019 12:00,100102.8585,175314.811,175314.811,0.00006 +16-8-2019 13:00,100094.4878,150965.528,150965.528,0.00006 +16-8-2019 14:00,100086.1109,116876.536,116876.536,0.00006 +16-8-2019 15:00,100077.728,131486.103,131486.103,0.00006 +16-8-2019 16:00,100069.3389,214273.654,214273.654,0.00006 +16-8-2019 17:00,100060.9437,379848.749,379848.749,0.00006 +16-8-2019 18:00,100052.5424,384718.607,384718.607,0.00006 +16-8-2019 19:00,100044.135,340889.906,340889.906,0.00006 +16-8-2019 20:00,100035.7216,282451.638,282451.638,0.00006 +16-8-2019 21:00,100027.302,199664.087,199664.087,0.00006 +16-8-2019 22:00,100018.8764,97397.118,97397.118,0.00006 +16-8-2019 23:00,100010.4446,34088.992,34088.992,0.00006 +17-8-2019 00:00,100002.0068,19479.425,19479.425,0.00006 +17-8-2019 01:00,99993.56296,4869.858,4869.858,0.00006 +17-8-2019 02:00,99985.11302,4869.858,4869.858,0.00006 +17-8-2019 03:00,99976.65702,9739.709,9739.709,0.00006 +17-8-2019 04:00,99968.19495,34088.992,34088.992,0.00006 +17-8-2019 05:00,99959.72684,272711.922,272711.922,0.00006 +17-8-2019 06:00,99951.25267,452896.584,452896.584,0.00006 +17-8-2019 07:00,99942.77246,350629.615,350629.615,0.00006 +17-8-2019 08:00,99934.2862,413937.741,413937.741,0.00006 +17-8-2019 09:00,99925.79391,297061.205,297061.205,0.00006 +17-8-2019 10:00,99917.29559,258102.355,258102.355,0.00006 +17-8-2019 11:00,99908.79124,219143.512,219143.512,0.00006 +17-8-2019 12:00,99900.28086,175314.811,175314.811,0.00006 +17-8-2019 13:00,99891.76447,150965.528,150965.528,0.00006 +17-8-2019 14:00,99883.24206,116876.536,116876.536,0.00006 +17-8-2019 15:00,99874.71364,131486.103,131486.103,0.00006 +17-8-2019 16:00,99866.17921,214273.654,214273.654,0.00006 +17-8-2019 17:00,99857.63878,379848.749,379848.749,0.00006 +17-8-2019 18:00,99849.09236,384718.607,384718.607,0.00006 +17-8-2019 19:00,99840.53994,340889.906,340889.906,0.00006 +17-8-2019 20:00,99831.98153,282451.638,282451.638,0.00006 +17-8-2019 21:00,99823.41714,199664.087,199664.087,0.00006 +17-8-2019 22:00,99814.84677,97397.118,97397.118,0.00006 +17-8-2019 23:00,99806.27043,34088.992,34088.992,0.00006 +18-8-2019 00:00,99797.68811,19479.425,19479.425,0.00006 +18-8-2019 01:00,99789.09983,4869.858,4869.858,0.00006 +18-8-2019 02:00,99780.50558,4869.858,4869.858,0.00006 +18-8-2019 03:00,99771.90538,9739.709,9739.709,0.00006 +18-8-2019 04:00,99763.29922,34088.992,34088.992,0.00006 +18-8-2019 05:00,99754.68711,272711.922,272711.922,0.00006 +18-8-2019 06:00,99746.06906,452896.584,452896.584,0.00006 +18-8-2019 07:00,99737.44507,350629.615,350629.615,0.00006 +18-8-2019 08:00,99728.81515,413937.741,413937.741,0.00006 +18-8-2019 09:00,99720.17929,297061.205,297061.205,0.00006 +18-8-2019 10:00,99711.53751,258102.355,258102.355,0.00006 +18-8-2019 11:00,99702.8898,219143.512,219143.512,0.00006 +18-8-2019 12:00,99694.23618,175314.811,175314.811,0.00006 +18-8-2019 13:00,99685.57664,150965.528,150965.528,0.00006 +18-8-2019 14:00,99676.9112,116876.536,116876.536,0.00006 +18-8-2019 15:00,99668.23985,131486.103,131486.103,0.00006 +18-8-2019 16:00,99659.5626,214273.654,214273.654,0.00006 +18-8-2019 17:00,99650.87945,379848.749,379848.749,0.00006 +18-8-2019 18:00,99642.19042,384718.607,384718.607,0.00006 +18-8-2019 19:00,99633.49549,340889.906,340889.906,0.00006 +18-8-2019 20:00,99624.79469,282451.638,282451.638,0.00006 +18-8-2019 21:00,99616.08801,199664.087,199664.087,0.00006 +18-8-2019 22:00,99607.37545,97397.118,97397.118,0.00006 +18-8-2019 23:00,99598.65703,34088.992,34088.992,0.00006 +19-8-2019 00:00,99589.93274,19479.425,19479.425,0.00006 +19-8-2019 01:00,99581.20259,4869.858,4869.858,0.00006 +19-8-2019 02:00,99572.46659,4869.858,4869.858,0.00006 +19-8-2019 03:00,99563.72473,9739.709,9739.709,0.00006 +19-8-2019 04:00,99554.97703,34088.992,34088.992,0.00006 +19-8-2019 05:00,99546.22349,272711.922,272711.922,0.00006 +19-8-2019 06:00,99537.46411,452896.584,452896.584,0.00006 +19-8-2019 07:00,99528.6989,350629.615,350629.615,0.00006 +19-8-2019 08:00,99519.92786,413937.741,413937.741,0.00006 +19-8-2019 09:00,99511.151,297061.205,297061.205,0.00006 +19-8-2019 10:00,99502.36831,258102.355,258102.355,0.00006 +19-8-2019 11:00,99493.57982,219143.512,219143.512,0.00006 +19-8-2019 12:00,99484.78551,175314.811,175314.811,0.00006 +19-8-2019 13:00,99475.9854,150965.528,150965.528,0.00006 +19-8-2019 14:00,99467.17948,116876.536,116876.536,0.00006 +19-8-2019 15:00,99458.36777,131486.103,131486.103,0.00006 +19-8-2019 16:00,99449.55027,214273.654,214273.654,0.00006 +19-8-2019 17:00,99440.72698,379848.749,379848.749,0.00006 +19-8-2019 18:00,99431.89791,384718.607,384718.607,0.00006 +19-8-2019 19:00,99423.06306,340889.906,340889.906,0.00006 +19-8-2019 20:00,99414.22243,282451.638,282451.638,0.00006 +19-8-2019 21:00,99405.37604,199664.087,199664.087,0.00006 +19-8-2019 22:00,99396.52388,97397.118,97397.118,0.00006 +19-8-2019 23:00,99387.66596,34088.992,34088.992,0.00006 +20-8-2019 00:00,99378.80228,19479.425,19479.425,0.00006 +20-8-2019 01:00,99369.93286,4869.858,4869.858,0.00006 +20-8-2019 02:00,99361.05769,4869.858,4869.858,0.00006 +20-8-2019 03:00,99352.17677,9739.709,9739.709,0.00006 +20-8-2019 04:00,99343.29012,34088.992,34088.992,0.00006 +20-8-2019 05:00,99334.39774,272711.922,272711.922,0.00006 +20-8-2019 06:00,99325.49962,452896.584,452896.584,0.00006 +20-8-2019 07:00,99316.59579,350629.615,350629.615,0.00006 +20-8-2019 08:00,99307.68623,413937.741,413937.741,0.00006 +20-8-2019 09:00,99298.77096,297061.205,297061.205,0.00006 +20-8-2019 10:00,99289.84998,258102.355,258102.355,0.00006 +20-8-2019 11:00,99280.9233,219143.512,219143.512,0.00006 +20-8-2019 12:00,99271.99091,175314.811,175314.811,0.00006 +20-8-2019 13:00,99263.05283,150965.528,150965.528,0.00006 +20-8-2019 14:00,99254.10906,116876.536,116876.536,0.00006 +20-8-2019 15:00,99245.1596,131486.103,131486.103,0.00006 +20-8-2019 16:00,99236.20446,214273.654,214273.654,0.00006 +20-8-2019 17:00,99227.24364,379848.749,379848.749,0.00006 +20-8-2019 18:00,99218.27714,384718.607,384718.607,0.00006 +20-8-2019 19:00,99209.30498,340889.906,340889.906,0.00006 +20-8-2019 20:00,99200.32716,282451.638,282451.638,0.00006 +20-8-2019 21:00,99191.34367,199664.087,199664.087,0.00006 +20-8-2019 22:00,99182.35453,97397.118,97397.118,0.00006 +20-8-2019 23:00,99173.35974,34088.992,34088.992,0.00006 +21-8-2019 00:00,99164.35931,19479.425,19479.425,0.00006 +21-8-2019 01:00,99155.35324,4869.858,4869.858,0.00006 +21-8-2019 02:00,99146.34152,4869.858,4869.858,0.00006 +21-8-2019 03:00,99137.32418,9739.709,9739.709,0.00006 +21-8-2019 04:00,99128.30121,34088.992,34088.992,0.00006 +21-8-2019 05:00,99119.27262,272711.922,272711.922,0.00006 +21-8-2019 06:00,99110.23841,452896.584,452896.584,0.00006 +21-8-2019 07:00,99101.19859,350629.615,350629.615,0.00006 +21-8-2019 08:00,99092.15316,413937.741,413937.741,0.00006 +21-8-2019 09:00,99083.10212,297061.205,297061.205,0.00006 +21-8-2019 10:00,99074.04549,258102.355,258102.355,0.00006 +21-8-2019 11:00,99064.98326,219143.512,219143.512,0.00006 +21-8-2019 12:00,99055.91545,175314.811,175314.811,0.00006 +21-8-2019 13:00,99046.84205,150965.528,150965.528,0.00006 +21-8-2019 14:00,99037.76306,116876.536,116876.536,0.00006 +21-8-2019 15:00,99028.67851,131486.103,131486.103,0.00006 +21-8-2019 16:00,99019.58838,214273.654,214273.654,0.00006 +21-8-2019 17:00,99010.49268,379848.749,379848.749,0.00006 +21-8-2019 18:00,99001.39143,384718.607,384718.607,0.00006 +21-8-2019 19:00,98992.28461,340889.906,340889.906,0.00006 +21-8-2019 20:00,98983.17225,282451.638,282451.638,0.00006 +21-8-2019 21:00,98974.05434,199664.087,199664.087,0.00006 +21-8-2019 22:00,98964.93088,97397.118,97397.118,0.00006 +21-8-2019 23:00,98955.80189,34088.992,34088.992,0.00006 +22-8-2019 00:00,98946.66736,19479.425,19479.425,0.00006 +22-8-2019 01:00,98937.5273,4869.858,4869.858,0.00006 +22-8-2019 02:00,98928.38172,4869.858,4869.858,0.00006 +22-8-2019 03:00,98919.23062,9739.709,9739.709,0.00006 +22-8-2019 04:00,98910.07401,34088.992,34088.992,0.00006 +22-8-2019 05:00,98900.91189,272711.922,272711.922,0.00006 +22-8-2019 06:00,98891.74426,452896.584,452896.584,0.00006 +22-8-2019 07:00,98882.57113,350629.615,350629.615,0.00006 +22-8-2019 08:00,98873.3925,413937.741,413937.741,0.00006 +22-8-2019 09:00,98864.20839,297061.205,297061.205,0.00006 +22-8-2019 10:00,98855.01878,258102.355,258102.355,0.00006 +22-8-2019 11:00,98845.8237,219143.512,219143.512,0.00006 +22-8-2019 12:00,98836.62314,175314.811,175314.811,0.00006 +22-8-2019 13:00,98827.41711,150965.528,150965.528,0.00006 +22-8-2019 14:00,98818.20561,116876.536,116876.536,0.00006 +22-8-2019 15:00,98808.98864,131486.103,131486.103,0.00006 +22-8-2019 16:00,98799.76622,214273.654,214273.654,0.00006 +22-8-2019 17:00,98790.53835,379848.749,379848.749,0.00006 +22-8-2019 18:00,98781.30503,384718.607,384718.607,0.00006 +22-8-2019 19:00,98772.06626,340889.906,340889.906,0.00006 +22-8-2019 20:00,98762.82205,282451.638,282451.638,0.00006 +22-8-2019 21:00,98753.57242,199664.087,199664.087,0.00006 +22-8-2019 22:00,98744.31735,97397.118,97397.118,0.00006 +22-8-2019 23:00,98735.05685,34088.992,34088.992,0.00006 +23-8-2019 00:00,98725.79094,19479.425,19479.425,0.00006 +23-8-2019 01:00,98716.51961,4869.858,4869.858,0.00006 +23-8-2019 02:00,98707.24287,4869.858,4869.858,0.00006 +23-8-2019 03:00,98697.96073,9739.709,9739.709,0.00006 +23-8-2019 04:00,98688.67318,34088.992,34088.992,0.00006 +23-8-2019 05:00,98679.38024,272711.922,272711.922,0.00006 +23-8-2019 06:00,98670.08191,452896.584,452896.584,0.00006 +23-8-2019 07:00,98660.77819,350629.615,350629.615,0.00006 +23-8-2019 08:00,98651.46909,413937.741,413937.741,0.00006 +23-8-2019 09:00,98642.15462,297061.205,297061.205,0.00006 +23-8-2019 10:00,98632.83477,258102.355,258102.355,0.00006 +23-8-2019 11:00,98623.50955,219143.512,219143.512,0.00006 +23-8-2019 12:00,98614.17897,175314.811,175314.811,0.00006 +23-8-2019 13:00,98604.84303,150965.528,150965.528,0.00006 +23-8-2019 14:00,98595.50174,116876.536,116876.536,0.00006 +23-8-2019 15:00,98586.15511,131486.103,131486.103,0.00006 +23-8-2019 16:00,98576.80313,214273.654,214273.654,0.00006 +23-8-2019 17:00,98567.44581,379848.749,379848.749,0.00006 +23-8-2019 18:00,98558.08315,384718.607,384718.607,0.00006 +23-8-2019 19:00,98548.71517,340889.906,340889.906,0.00006 +23-8-2019 20:00,98539.34187,282451.638,282451.638,0.00006 +23-8-2019 21:00,98529.96324,199664.087,199664.087,0.00006 +23-8-2019 22:00,98520.5793,97397.118,97397.118,0.00006 +23-8-2019 23:00,98511.19005,34088.992,34088.992,0.00006 +24-8-2019 00:00,98501.7955,19479.425,19479.425,0.00006 +24-8-2019 01:00,98492.39565,4869.858,4869.858,0.00006 +24-8-2019 02:00,98482.9905,4869.858,4869.858,0.00006 +24-8-2019 03:00,98473.58006,9739.709,9739.709,0.00006 +24-8-2019 04:00,98464.16434,34088.992,34088.992,0.00006 +24-8-2019 05:00,98454.74333,272711.922,272711.922,0.00006 +24-8-2019 06:00,98445.31705,452896.584,452896.584,0.00006 +24-8-2019 07:00,98435.8855,350629.615,350629.615,0.00006 +24-8-2019 08:00,98426.44869,413937.741,413937.741,0.00006 +24-8-2019 09:00,98417.00661,297061.205,297061.205,0.00006 +24-8-2019 10:00,98407.55927,258102.355,258102.355,0.00006 +24-8-2019 11:00,98398.10669,219143.512,219143.512,0.00006 +24-8-2019 12:00,98388.64886,175314.811,175314.811,0.00006 +24-8-2019 13:00,98379.18578,150965.528,150965.528,0.00006 +24-8-2019 14:00,98369.71747,116876.536,116876.536,0.00006 +24-8-2019 15:00,98360.24393,131486.103,131486.103,0.00006 +24-8-2019 16:00,98350.76516,214273.654,214273.654,0.00006 +24-8-2019 17:00,98341.28117,379848.749,379848.749,0.00006 +24-8-2019 18:00,98331.79196,384718.607,384718.607,0.00006 +24-8-2019 19:00,98322.29754,340889.906,340889.906,0.00006 +24-8-2019 20:00,98312.79791,282451.638,282451.638,0.00006 +24-8-2019 21:00,98303.29308,199664.087,199664.087,0.00006 +24-8-2019 22:00,98293.78305,97397.118,97397.118,0.00006 +24-8-2019 23:00,98284.26783,34088.992,34088.992,0.00006 +25-8-2019 00:00,98274.74742,19479.425,19479.425,0.00006 +25-8-2019 01:00,98265.22182,4869.858,4869.858,0.00006 +25-8-2019 02:00,98255.69105,4869.858,4869.858,0.00006 +25-8-2019 03:00,98246.15511,9739.709,9739.709,0.00006 +25-8-2019 04:00,98236.614,34088.992,34088.992,0.00006 +25-8-2019 05:00,98227.06772,272711.922,272711.922,0.00006 +25-8-2019 06:00,98217.51629,452896.584,452896.584,0.00006 +25-8-2019 07:00,98207.9597,350629.615,350629.615,0.00006 +25-8-2019 08:00,98198.39796,413937.741,413937.741,0.00006 +25-8-2019 09:00,98188.83108,297061.205,297061.205,0.00006 +25-8-2019 10:00,98179.25906,258102.355,258102.355,0.00006 +25-8-2019 11:00,98169.68191,219143.512,219143.512,0.00006 +25-8-2019 12:00,98160.09962,175314.811,175314.811,0.00006 +25-8-2019 13:00,98150.51222,150965.528,150965.528,0.00006 +25-8-2019 14:00,98140.91969,116876.536,116876.536,0.00006 +25-8-2019 15:00,98131.32205,131486.103,131486.103,0.00006 +25-8-2019 16:00,98121.7193,214273.654,214273.654,0.00006 +25-8-2019 17:00,98112.11145,379848.749,379848.749,0.00006 +25-8-2019 18:00,98102.4985,384718.607,384718.607,0.00006 +25-8-2019 19:00,98092.88045,340889.906,340889.906,0.00006 +25-8-2019 20:00,98083.25731,282451.638,282451.638,0.00006 +25-8-2019 21:00,98073.62909,199664.087,199664.087,0.00006 +25-8-2019 22:00,98063.99579,97397.118,97397.118,0.00006 +25-8-2019 23:00,98054.35741,34088.992,34088.992,0.00006 +26-8-2019 00:00,98044.71397,19479.425,19479.425,0.00006 +26-8-2019 01:00,98035.06546,4869.858,4869.858,0.00006 +26-8-2019 02:00,98025.41189,4869.858,4869.858,0.00006 +26-8-2019 03:00,98015.75326,9739.709,9739.709,0.00006 +26-8-2019 04:00,98006.08959,34088.992,34088.992,0.00006 +26-8-2019 05:00,97996.42087,272711.922,272711.922,0.00006 +26-8-2019 06:00,97986.74711,452896.584,452896.584,0.00006 +26-8-2019 07:00,97977.06832,350629.615,350629.615,0.00006 +26-8-2019 08:00,97967.38449,413937.741,413937.741,0.00006 +26-8-2019 09:00,97957.69565,297061.205,297061.205,0.00006 +26-8-2019 10:00,97948.00178,258102.355,258102.355,0.00006 +26-8-2019 11:00,97938.30289,219143.512,219143.512,0.00006 +26-8-2019 12:00,97928.599,175314.811,175314.811,0.00006 +26-8-2019 13:00,97918.8901,150965.528,150965.528,0.00006 +26-8-2019 14:00,97909.1762,116876.536,116876.536,0.00006 +26-8-2019 15:00,97899.45731,131486.103,131486.103,0.00006 +26-8-2019 16:00,97889.73343,214273.654,214273.654,0.00006 +26-8-2019 17:00,97880.00456,379848.749,379848.749,0.00006 +26-8-2019 18:00,97870.27071,384718.607,384718.607,0.00006 +26-8-2019 19:00,97860.53189,340889.906,340889.906,0.00006 +26-8-2019 20:00,97850.78809,282451.638,282451.638,0.00006 +26-8-2019 21:00,97841.03933,199664.087,199664.087,0.00006 +26-8-2019 22:00,97831.28562,97397.118,97397.118,0.00006 +26-8-2019 23:00,97821.52694,34088.992,34088.992,0.00006 +27-8-2019 00:00,97811.76332,19479.425,19479.425,0.00006 +27-8-2019 01:00,97801.99475,4869.858,4869.858,0.00006 +27-8-2019 02:00,97792.22124,4869.858,4869.858,0.00006 +27-8-2019 03:00,97782.4428,9739.709,9739.709,0.00006 +27-8-2019 04:00,97772.65943,34088.992,34088.992,0.00006 +27-8-2019 05:00,97762.87113,272711.922,272711.922,0.00006 +27-8-2019 06:00,97753.07791,452896.584,452896.584,0.00006 +27-8-2019 07:00,97743.27978,350629.615,350629.615,0.00006 +27-8-2019 08:00,97733.47674,413937.741,413937.741,0.00006 +27-8-2019 09:00,97723.6688,297061.205,297061.205,0.00006 +27-8-2019 10:00,97713.85595,258102.355,258102.355,0.00006 +27-8-2019 11:00,97704.03821,219143.512,219143.512,0.00006 +27-8-2019 12:00,97694.21558,175314.811,175314.811,0.00006 +27-8-2019 13:00,97684.38807,150965.528,150965.528,0.00006 +27-8-2019 14:00,97674.55568,116876.536,116876.536,0.00006 +27-8-2019 15:00,97664.71841,131486.103,131486.103,0.00006 +27-8-2019 16:00,97654.87627,214273.654,214273.654,0.00006 +27-8-2019 17:00,97645.02927,379848.749,379848.749,0.00006 +27-8-2019 18:00,97635.17741,384718.607,384718.607,0.00006 +27-8-2019 19:00,97625.3207,340889.906,340889.906,0.00006 +27-8-2019 20:00,97615.45914,282451.638,282451.638,0.00006 +27-8-2019 21:00,97605.59273,199664.087,199664.087,0.00006 +27-8-2019 22:00,97595.72148,97397.118,97397.118,0.00006 +27-8-2019 23:00,97585.8454,34088.992,34088.992,0.00006 +28-8-2019 00:00,97575.9645,19479.425,19479.425,0.00006 +28-8-2019 01:00,97566.07877,4869.858,4869.858,0.00006 +28-8-2019 02:00,97556.18822,4869.858,4869.858,0.00006 +28-8-2019 03:00,97546.29285,9739.709,9739.709,0.00006 +28-8-2019 04:00,97536.39268,34088.992,34088.992,0.00006 +28-8-2019 05:00,97526.48771,272711.922,272711.922,0.00006 +28-8-2019 06:00,97516.57793,452896.584,452896.584,0.00006 +28-8-2019 07:00,97506.66337,350629.615,350629.615,0.00006 +28-8-2019 08:00,97496.74401,413937.741,413937.741,0.00006 +28-8-2019 09:00,97486.81988,297061.205,297061.205,0.00006 +28-8-2019 10:00,97476.89096,258102.355,258102.355,0.00006 +28-8-2019 11:00,97466.95728,219143.512,219143.512,0.00006 +28-8-2019 12:00,97457.01882,175314.811,175314.811,0.00006 +28-8-2019 13:00,97447.07561,150965.528,150965.528,0.00006 +28-8-2019 14:00,97437.12763,116876.536,116876.536,0.00006 +28-8-2019 15:00,97427.17491,131486.103,131486.103,0.00006 +28-8-2019 16:00,97417.21743,214273.654,214273.654,0.00006 +28-8-2019 17:00,97407.25522,379848.749,379848.749,0.00006 +28-8-2019 18:00,97397.28827,384718.607,384718.607,0.00006 +28-8-2019 19:00,97387.31658,340889.906,340889.906,0.00006 +28-8-2019 20:00,97377.34017,282451.638,282451.638,0.00006 +28-8-2019 21:00,97367.35904,199664.087,199664.087,0.00006 +28-8-2019 22:00,97357.3732,97397.118,97397.118,0.00006 +28-8-2019 23:00,97347.38264,34088.992,34088.992,0.00006 +29-8-2019 00:00,97337.38737,19479.425,19479.425,0.00006 +29-8-2019 01:00,97327.38741,4869.858,4869.858,0.00006 +29-8-2019 02:00,97317.38275,4869.858,4869.858,0.00006 +29-8-2019 03:00,97307.3734,9739.709,9739.709,0.00006 +29-8-2019 04:00,97297.35936,34088.992,34088.992,0.00006 +29-8-2019 05:00,97287.34064,272711.922,272711.922,0.00006 +29-8-2019 06:00,97277.31725,452896.584,452896.584,0.00006 +29-8-2019 07:00,97267.28919,350629.615,350629.615,0.00006 +29-8-2019 08:00,97257.25646,413937.741,413937.741,0.00006 +29-8-2019 09:00,97247.21908,297061.205,297061.205,0.00006 +29-8-2019 10:00,97237.17703,258102.355,258102.355,0.00006 +29-8-2019 11:00,97227.13034,219143.512,219143.512,0.00006 +29-8-2019 12:00,97217.07901,175314.811,175314.811,0.00006 +29-8-2019 13:00,97207.02304,150965.528,150965.528,0.00006 +29-8-2019 14:00,97196.96243,116876.536,116876.536,0.00006 +29-8-2019 15:00,97186.89719,131486.103,131486.103,0.00006 +29-8-2019 16:00,97176.82734,214273.654,214273.654,0.00006 +29-8-2019 17:00,97166.75286,379848.749,379848.749,0.00006 +29-8-2019 18:00,97156.67377,384718.607,384718.607,0.00006 +29-8-2019 19:00,97146.59007,340889.906,340889.906,0.00006 +29-8-2019 20:00,97136.50177,282451.638,282451.638,0.00006 +29-8-2019 21:00,97126.40887,199664.087,199664.087,0.00006 +29-8-2019 22:00,97116.31138,97397.118,97397.118,0.00006 +29-8-2019 23:00,97106.2093,34088.992,34088.992,0.00006 +30-8-2019 00:00,97096.10265,19479.425,19479.425,0.00006 +30-8-2019 01:00,97085.99141,4869.858,4869.858,0.00006 +30-8-2019 02:00,97075.8756,4869.858,4869.858,0.00006 +30-8-2019 03:00,97065.75523,9739.709,9739.709,0.00006 +30-8-2019 04:00,97055.63029,34088.992,34088.992,0.00006 +30-8-2019 05:00,97045.5008,272711.922,272711.922,0.00006 +30-8-2019 06:00,97035.36676,452896.584,452896.584,0.00006 +30-8-2019 07:00,97025.22817,350629.615,350629.615,0.00006 +30-8-2019 08:00,97015.08505,413937.741,413937.741,0.00006 +30-8-2019 09:00,97004.93739,297061.205,297061.205,0.00006 +30-8-2019 10:00,96994.78519,258102.355,258102.355,0.00006 +30-8-2019 11:00,96984.62848,219143.512,219143.512,0.00006 +30-8-2019 12:00,96974.46724,175314.811,175314.811,0.00006 +30-8-2019 13:00,96964.30149,150965.528,150965.528,0.00006 +30-8-2019 14:00,96954.13123,116876.536,116876.536,0.00006 +30-8-2019 15:00,96943.95647,131486.103,131486.103,0.00006 +30-8-2019 16:00,96933.77721,214273.654,214273.654,0.00006 +30-8-2019 17:00,96923.59346,379848.749,379848.749,0.00006 +30-8-2019 18:00,96913.40521,384718.607,384718.607,0.00006 +30-8-2019 19:00,96903.21249,340889.906,340889.906,0.00006 +30-8-2019 20:00,96893.01529,282451.638,282451.638,0.00006 +30-8-2019 21:00,96882.81361,199664.087,199664.087,0.00006 +30-8-2019 22:00,96872.60747,97397.118,97397.118,0.00006 +30-8-2019 23:00,96862.39687,34088.992,34088.992,0.00006 +31-8-2019 00:00,96852.18181,19479.425,19479.425,0.00006 +31-8-2019 01:00,96841.9623,4869.858,4869.858,0.00006 +31-8-2019 02:00,96831.73834,4869.858,4869.858,0.00006 +31-8-2019 03:00,96821.50995,9739.709,9739.709,0.00006 +31-8-2019 04:00,96811.27711,34088.992,34088.992,0.00006 +31-8-2019 05:00,96801.03985,272711.922,272711.922,0.00006 +31-8-2019 06:00,96790.79816,452896.584,452896.584,0.00006 +31-8-2019 07:00,96780.55206,350629.615,350629.615,0.00006 +31-8-2019 08:00,96770.30153,413937.741,413937.741,0.00006 +31-8-2019 09:00,96760.0466,297061.205,297061.205,0.00006 +31-8-2019 10:00,96749.78727,258102.355,258102.355,0.00006 +31-8-2019 11:00,96739.52354,219143.512,219143.512,0.00006 +31-8-2019 12:00,96729.25541,175314.811,175314.811,0.00006 +31-8-2019 13:00,96718.98289,150965.528,150965.528,0.00006 +31-8-2019 14:00,96708.706,116876.536,116876.536,0.00006 +31-8-2019 15:00,96698.42472,131486.103,131486.103,0.00006 +31-8-2019 16:00,96688.13908,214273.654,214273.654,0.00006 +31-8-2019 17:00,96677.84906,379848.749,379848.749,0.00006 +31-8-2019 18:00,96667.55469,384718.607,384718.607,0.00006 +31-8-2019 19:00,96657.25596,340889.906,340889.906,0.00006 +31-8-2019 20:00,96646.95288,282451.638,282451.638,0.00006 +31-8-2019 21:00,96636.64545,199664.087,199664.087,0.00006 +31-8-2019 22:00,96626.33368,97397.118,97397.118,0.00006 +31-8-2019 23:00,96616.01758,34088.992,34088.992,0.00006 +1-9-2019 00:00,96605.69715,19479.425,19479.425,0.00006 +1-9-2019 01:00,96595.37239,4869.858,4869.858,0.00006 +1-9-2019 02:00,96585.04331,4869.858,4869.858,0.00006 +1-9-2019 03:00,96574.70992,9739.709,9739.709,0.00006 +1-9-2019 04:00,96564.37223,34088.992,34088.992,0.00006 +1-9-2019 05:00,96554.03022,272711.922,272711.922,0.00006 +1-9-2019 06:00,96543.68392,452896.584,452896.584,0.00006 +1-9-2019 07:00,96533.33333,350629.615,350629.615,0.00006 +1-9-2019 08:00,96522.97845,413937.741,413937.741,0.00006 +1-9-2019 09:00,96512.61929,297061.205,297061.205,0.00006 +1-9-2019 10:00,96502.25586,258102.355,258102.355,0.00006 +1-9-2019 11:00,96491.88815,219143.512,219143.512,0.00006 +1-9-2019 12:00,96481.51617,175314.811,175314.811,0.00006 +1-9-2019 13:00,96471.13994,150965.528,150965.528,0.00006 +1-9-2019 14:00,96460.75945,116876.536,116876.536,0.00006 +1-9-2019 15:00,96450.37471,131486.103,131486.103,0.00006 +1-9-2019 16:00,96439.98573,214273.654,214273.654,0.00006 +1-9-2019 17:00,96429.5925,379848.749,379848.749,0.00006 +1-9-2019 18:00,96419.19505,384718.607,384718.607,0.00006 +1-9-2019 19:00,96408.79336,340889.906,340889.906,0.00006 +1-9-2019 20:00,96398.38745,282451.638,282451.638,0.00006 +1-9-2019 21:00,96387.97733,199664.087,199664.087,0.00006 +1-9-2019 22:00,96377.56299,97397.118,97397.118,0.00006 +1-9-2019 23:00,96367.14444,34088.992,34088.992,0.00006 +2-9-2019 00:00,96356.72169,19479.425,19479.425,0.00006 +2-9-2019 01:00,96346.29475,4869.858,4869.858,0.00006 +2-9-2019 02:00,96335.86361,4869.858,4869.858,0.00006 +2-9-2019 03:00,96325.42829,9739.709,9739.709,0.00006 +2-9-2019 04:00,96314.98879,34088.992,34088.992,0.00006 +2-9-2019 05:00,96304.54512,272711.922,272711.922,0.00006 +2-9-2019 06:00,96294.09727,452896.584,452896.584,0.00006 +2-9-2019 07:00,96283.64526,350629.615,350629.615,0.00006 +2-9-2019 08:00,96273.1891,413937.741,413937.741,0.00006 +2-9-2019 09:00,96262.72878,297061.205,297061.205,0.00006 +2-9-2019 10:00,96252.26431,258102.355,258102.355,0.00006 +2-9-2019 11:00,96241.7957,219143.512,219143.512,0.00006 +2-9-2019 12:00,96231.32295,175314.811,175314.811,0.00006 +2-9-2019 13:00,96220.84607,150965.528,150965.528,0.00006 +2-9-2019 14:00,96210.36506,116876.536,116876.536,0.00006 +2-9-2019 15:00,96199.87993,131486.103,131486.103,0.00006 +2-9-2019 16:00,96189.39069,214273.654,214273.654,0.00006 +2-9-2019 17:00,96178.89734,379848.749,379848.749,0.00006 +2-9-2019 18:00,96168.39988,384718.607,384718.607,0.00006 +2-9-2019 19:00,96157.89832,340889.906,340889.906,0.00006 +2-9-2019 20:00,96147.39267,282451.638,282451.638,0.00006 +2-9-2019 21:00,96136.88293,199664.087,199664.087,0.00006 +2-9-2019 22:00,96126.3691,97397.118,97397.118,0.00006 +2-9-2019 23:00,96115.8512,34088.992,34088.992,0.00006 +3-9-2019 00:00,96105.32923,19479.425,19479.425,0.00006 +3-9-2019 01:00,96094.80319,4869.858,4869.858,0.00006 +3-9-2019 02:00,96084.27308,4869.858,4869.858,0.00006 +3-9-2019 03:00,96073.73893,9739.709,9739.709,0.00006 +3-9-2019 04:00,96063.20072,34088.992,34088.992,0.00006 +3-9-2019 05:00,96052.65846,272711.922,272711.922,0.00006 +3-9-2019 06:00,96042.11217,452896.584,452896.584,0.00006 +3-9-2019 07:00,96031.56184,350629.615,350629.615,0.00006 +3-9-2019 08:00,96021.00748,413937.741,413937.741,0.00006 +3-9-2019 09:00,96010.4491,297061.205,297061.205,0.00006 +3-9-2019 10:00,95999.8867,258102.355,258102.355,0.00006 +3-9-2019 11:00,95989.32029,219143.512,219143.512,0.00006 +3-9-2019 12:00,95978.74987,175314.811,175314.811,0.00006 +3-9-2019 13:00,95968.17544,150965.528,150965.528,0.00006 +3-9-2019 14:00,95957.59703,116876.536,116876.536,0.00006 +3-9-2019 15:00,95947.01462,131486.103,131486.103,0.00006 +3-9-2019 16:00,95936.42822,214273.654,214273.654,0.00006 +3-9-2019 17:00,95925.83785,379848.749,379848.749,0.00006 +3-9-2019 18:00,95915.2435,384718.607,384718.607,0.00006 +3-9-2019 19:00,95904.64518,340889.906,340889.906,0.00006 +3-9-2019 20:00,95894.0429,282451.638,282451.638,0.00006 +3-9-2019 21:00,95883.43666,199664.087,199664.087,0.00006 +3-9-2019 22:00,95872.82646,97397.118,97397.118,0.00006 +3-9-2019 23:00,95862.21232,34088.992,34088.992,0.00006 +4-9-2019 00:00,95851.59424,19479.425,19479.425,0.00006 +4-9-2019 01:00,95840.97222,4869.858,4869.858,0.00006 +4-9-2019 02:00,95830.34627,4869.858,4869.858,0.00006 +4-9-2019 03:00,95819.7164,9739.709,9739.709,0.00006 +4-9-2019 04:00,95809.0826,34088.992,34088.992,0.00006 +4-9-2019 05:00,95798.44489,272711.922,272711.922,0.00006 +4-9-2019 06:00,95787.80327,452896.584,452896.584,0.00006 +4-9-2019 07:00,95777.15775,350629.615,350629.615,0.00006 +4-9-2019 08:00,95766.50833,413937.741,413937.741,0.00006 +4-9-2019 09:00,95755.85502,297061.205,297061.205,0.00006 +4-9-2019 10:00,95745.19781,258102.355,258102.355,0.00006 +4-9-2019 11:00,95734.53673,219143.512,219143.512,0.00006 +4-9-2019 12:00,95723.87177,175314.811,175314.811,0.00006 +4-9-2019 13:00,95713.20294,150965.528,150965.528,0.00006 +4-9-2019 14:00,95702.53025,116876.536,116876.536,0.00006 +4-9-2019 15:00,95691.8537,131486.103,131486.103,0.00006 +4-9-2019 16:00,95681.17329,214273.654,214273.654,0.00006 +4-9-2019 17:00,95670.48903,379848.749,379848.749,0.00006 +4-9-2019 18:00,95659.80093,384718.607,384718.607,0.00006 +4-9-2019 19:00,95649.10899,340889.906,340889.906,0.00006 +4-9-2019 20:00,95638.41322,282451.638,282451.638,0.00006 +4-9-2019 21:00,95627.71362,199664.087,199664.087,0.00006 +4-9-2019 22:00,95617.0102,97397.118,97397.118,0.00006 +4-9-2019 23:00,95606.30297,34088.992,34088.992,0.00006 +5-9-2019 00:00,95595.59192,19479.425,19479.425,0.00006 +5-9-2019 01:00,95584.87707,4869.858,4869.858,0.00006 +5-9-2019 02:00,95574.15843,4869.858,4869.858,0.00006 +5-9-2019 03:00,95563.43598,9739.709,9739.709,0.00006 +5-9-2019 04:00,95552.70975,34088.992,34088.992,0.00006 +5-9-2019 05:00,95541.97974,272711.922,272711.922,0.00006 +5-9-2019 06:00,95531.24595,452896.584,452896.584,0.00006 +5-9-2019 07:00,95520.50839,350629.615,350629.615,0.00006 +5-9-2019 08:00,95509.76706,413937.741,413937.741,0.00006 +5-9-2019 09:00,95499.02197,297061.205,297061.205,0.00006 +5-9-2019 10:00,95488.27313,258102.355,258102.355,0.00006 +5-9-2019 11:00,95477.52053,219143.512,219143.512,0.00006 +5-9-2019 12:00,95466.7642,175314.811,175314.811,0.00006 +5-9-2019 13:00,95456.00412,150965.528,150965.528,0.00006 +5-9-2019 14:00,95445.24031,116876.536,116876.536,0.00006 +5-9-2019 15:00,95434.47277,131486.103,131486.103,0.00006 +5-9-2019 16:00,95423.70152,214273.654,214273.654,0.00006 +5-9-2019 17:00,95412.92654,379848.749,379848.749,0.00006 +5-9-2019 18:00,95402.14786,384718.607,384718.607,0.00006 +5-9-2019 19:00,95391.36547,340889.906,340889.906,0.00006 +5-9-2019 20:00,95380.57938,282451.638,282451.638,0.00006 +5-9-2019 21:00,95369.78959,199664.087,199664.087,0.00006 +5-9-2019 22:00,95358.99612,97397.118,97397.118,0.00006 +5-9-2019 23:00,95348.19897,34088.992,34088.992,0.00006 +6-9-2019 00:00,95337.39813,19479.425,19479.425,0.00006 +6-9-2019 01:00,95326.59363,4869.858,4869.858,0.00006 +6-9-2019 02:00,95315.78546,4869.858,4869.858,0.00006 +6-9-2019 03:00,95304.97362,9739.709,9739.709,0.00006 +6-9-2019 04:00,95294.15814,34088.992,34088.992,0.00006 +6-9-2019 05:00,95283.339,272711.922,272711.922,0.00006 +6-9-2019 06:00,95272.51622,452896.584,452896.584,0.00006 +6-9-2019 07:00,95261.6898,350629.615,350629.615,0.00006 +6-9-2019 08:00,95250.85975,413937.741,413937.741,0.00006 +6-9-2019 09:00,95240.02607,297061.205,297061.205,0.00006 +6-9-2019 10:00,95229.18876,258102.355,258102.355,0.00006 +6-9-2019 11:00,95218.34785,219143.512,219143.512,0.00006 +6-9-2019 12:00,95207.50332,175314.811,175314.811,0.00006 +6-9-2019 13:00,95196.65518,150965.528,150965.528,0.00006 +6-9-2019 14:00,95185.80345,116876.536,116876.536,0.00006 +6-9-2019 15:00,95174.94812,131486.103,131486.103,0.00006 +6-9-2019 16:00,95164.08921,214273.654,214273.654,0.00006 +6-9-2019 17:00,95153.22671,379848.749,379848.749,0.00006 +6-9-2019 18:00,95142.36063,384718.607,384718.607,0.00006 +6-9-2019 19:00,95131.49099,340889.906,340889.906,0.00006 +6-9-2019 20:00,95120.61777,282451.638,282451.638,0.00006 +6-9-2019 21:00,95109.741,199664.087,199664.087,0.00006 +6-9-2019 22:00,95098.86067,97397.118,97397.118,0.00006 +6-9-2019 23:00,95087.9768,34088.992,34088.992,0.00006 +7-9-2019 00:00,95077.08938,19479.425,19479.425,0.00006 +7-9-2019 01:00,95066.19842,4869.858,4869.858,0.00006 +7-9-2019 02:00,95055.30393,4869.858,4869.858,0.00006 +7-9-2019 03:00,95044.40591,9739.709,9739.709,0.00006 +7-9-2019 04:00,95033.50437,34088.992,34088.992,0.00006 +7-9-2019 05:00,95022.59931,272711.922,272711.922,0.00006 +7-9-2019 06:00,95011.69075,452896.584,452896.584,0.00006 +7-9-2019 07:00,95000.77868,350629.615,350629.615,0.00006 +7-9-2019 08:00,94989.86311,413937.741,413937.741,0.00006 +7-9-2019 09:00,94978.94405,297061.205,297061.205,0.00006 +7-9-2019 10:00,94968.0215,258102.355,258102.355,0.00006 +7-9-2019 11:00,94957.09547,219143.512,219143.512,0.00006 +7-9-2019 12:00,94946.16597,175314.811,175314.811,0.00006 +7-9-2019 13:00,94935.23299,150965.528,150965.528,0.00006 +7-9-2019 14:00,94924.29655,116876.536,116876.536,0.00006 +7-9-2019 15:00,94913.35665,131486.103,131486.103,0.00006 +7-9-2019 16:00,94902.41329,214273.654,214273.654,0.00006 +7-9-2019 17:00,94891.46649,379848.749,379848.749,0.00006 +7-9-2019 18:00,94880.51624,384718.607,384718.607,0.00006 +7-9-2019 19:00,94869.56256,340889.906,340889.906,0.00006 +7-9-2019 20:00,94858.60544,282451.638,282451.638,0.00006 +7-9-2019 21:00,94847.6449,199664.087,199664.087,0.00006 +7-9-2019 22:00,94836.68095,97397.118,97397.118,0.00006 +7-9-2019 23:00,94825.71357,34088.992,34088.992,0.00006 +8-9-2019 00:00,94814.74279,19479.425,19479.425,0.00006 +8-9-2019 01:00,94803.7686,4869.858,4869.858,0.00006 +8-9-2019 02:00,94792.79102,4869.858,4869.858,0.00006 +8-9-2019 03:00,94781.81005,9739.709,9739.709,0.00006 +8-9-2019 04:00,94770.82569,34088.992,34088.992,0.00006 +8-9-2019 05:00,94759.83794,272711.922,272711.922,0.00006 +8-9-2019 06:00,94748.84683,452896.584,452896.584,0.00006 +8-9-2019 07:00,94737.85234,350629.615,350629.615,0.00006 +8-9-2019 08:00,94726.8545,413937.741,413937.741,0.00006 +8-9-2019 09:00,94715.85329,297061.205,297061.205,0.00006 +8-9-2019 10:00,94704.84873,258102.355,258102.355,0.00006 +8-9-2019 11:00,94693.84083,219143.512,219143.512,0.00006 +8-9-2019 12:00,94682.82958,175314.811,175314.811,0.00006 +8-9-2019 13:00,94671.815,150965.528,150965.528,0.00006 +8-9-2019 14:00,94660.79709,116876.536,116876.536,0.00006 +8-9-2019 15:00,94649.77585,131486.103,131486.103,0.00006 +8-9-2019 16:00,94638.7513,214273.654,214273.654,0.00006 +8-9-2019 17:00,94627.72344,379848.749,379848.749,0.00006 +8-9-2019 18:00,94616.69227,384718.607,384718.607,0.00006 +8-9-2019 19:00,94605.65779,340889.906,340889.906,0.00006 +8-9-2019 20:00,94594.62002,282451.638,282451.638,0.00006 +8-9-2019 21:00,94583.57897,199664.087,199664.087,0.00006 +8-9-2019 22:00,94572.53462,97397.118,97397.118,0.00006 +8-9-2019 23:00,94561.487,34088.992,34088.992,0.00006 +9-9-2019 00:00,94550.43611,19479.425,19479.425,0.00006 +9-9-2019 01:00,94539.38195,4869.858,4869.858,0.00006 +9-9-2019 02:00,94528.32453,4869.858,4869.858,0.00006 +9-9-2019 03:00,94517.26385,9739.709,9739.709,0.00006 +9-9-2019 04:00,94506.19992,34088.992,34088.992,0.00006 +9-9-2019 05:00,94495.13275,272711.922,272711.922,0.00006 +9-9-2019 06:00,94484.06234,452896.584,452896.584,0.00006 +9-9-2019 07:00,94472.9887,350629.615,350629.615,0.00006 +9-9-2019 08:00,94461.91183,413937.741,413937.741,0.00006 +9-9-2019 09:00,94450.83174,297061.205,297061.205,0.00006 +9-9-2019 10:00,94439.74843,258102.355,258102.355,0.00006 +9-9-2019 11:00,94428.66191,219143.512,219143.512,0.00006 +9-9-2019 12:00,94417.57219,175314.811,175314.811,0.00006 +9-9-2019 13:00,94406.47927,150965.528,150965.528,0.00006 +9-9-2019 14:00,94395.38316,116876.536,116876.536,0.00006 +9-9-2019 15:00,94384.28386,131486.103,131486.103,0.00006 +9-9-2019 16:00,94373.18137,214273.654,214273.654,0.00006 +9-9-2019 17:00,94362.07571,379848.749,379848.749,0.00006 +9-9-2019 18:00,94350.96689,384718.607,384718.607,0.00006 +9-9-2019 19:00,94339.85489,340889.906,340889.906,0.00006 +9-9-2019 20:00,94328.73974,282451.638,282451.638,0.00006 +9-9-2019 21:00,94317.62144,199664.087,199664.087,0.00006 +9-9-2019 22:00,94306.49999,97397.118,97397.118,0.00006 +9-9-2019 23:00,94295.37539,34088.992,34088.992,0.00006 +10-9-2019 00:00,94284.24766,19479.425,19479.425,0.00006 +10-9-2019 01:00,94273.1168,4869.858,4869.858,0.00006 +10-9-2019 02:00,94261.98282,4869.858,4869.858,0.00006 +10-9-2019 03:00,94250.84572,9739.709,9739.709,0.00006 +10-9-2019 04:00,94239.7055,34088.992,34088.992,0.00006 +10-9-2019 05:00,94228.56218,272711.922,272711.922,0.00006 +10-9-2019 06:00,94217.41575,452896.584,452896.584,0.00006 +10-9-2019 07:00,94206.26624,350629.615,350629.615,0.00006 +10-9-2019 08:00,94195.11363,413937.741,413937.741,0.00006 +10-9-2019 09:00,94183.95793,297061.205,297061.205,0.00006 +10-9-2019 10:00,94172.79916,258102.355,258102.355,0.00006 +10-9-2019 11:00,94161.63731,219143.512,219143.512,0.00006 +10-9-2019 12:00,94150.4724,175314.811,175314.811,0.00006 +10-9-2019 13:00,94139.30443,150965.528,150965.528,0.00006 +10-9-2019 14:00,94128.1334,116876.536,116876.536,0.00006 +10-9-2019 15:00,94116.95932,131486.103,131486.103,0.00006 +10-9-2019 16:00,94105.7822,214273.654,214273.654,0.00006 +10-9-2019 17:00,94094.60204,379848.749,379848.749,0.00006 +10-9-2019 18:00,94083.41884,384718.607,384718.607,0.00006 +10-9-2019 19:00,94072.23262,340889.906,340889.906,0.00006 +10-9-2019 20:00,94061.04338,282451.638,282451.638,0.00006 +10-9-2019 21:00,94049.85112,199664.087,199664.087,0.00006 +10-9-2019 22:00,94038.65586,97397.118,97397.118,0.00006 +10-9-2019 23:00,94027.45759,34088.992,34088.992,0.00006 +11-9-2019 00:00,94016.25632,19479.425,19479.425,0.00006 +11-9-2019 01:00,94005.05206,4869.858,4869.858,0.00006 +11-9-2019 02:00,93993.84481,4869.858,4869.858,0.00006 +11-9-2019 03:00,93982.63459,9739.709,9739.709,0.00006 +11-9-2019 04:00,93971.42138,34088.992,34088.992,0.00006 +11-9-2019 05:00,93960.20521,273636.146,273636.146,0.00006 +11-9-2019 06:00,93948.98608,452896.584,452896.584,0.00006 +11-9-2019 07:00,93937.76398,350629.615,350629.615,0.00006 +11-9-2019 08:00,93926.53894,413937.741,413937.741,0.00006 +11-9-2019 09:00,93915.31095,299262.558,299262.558,0.00006 +11-9-2019 10:00,93904.08002,258102.355,258102.355,0.00006 +11-9-2019 11:00,93892.84615,219143.512,219143.512,0.00006 +11-9-2019 12:00,93881.60936,175936.341,175936.341,0.00006 +11-9-2019 13:00,93870.36964,150965.528,150965.528,0.00006 +11-9-2019 14:00,93859.12701,116876.536,116876.536,0.00006 +11-9-2019 15:00,93847.88146,131486.103,131486.103,0.00006 +11-9-2019 16:00,93836.63301,214273.654,214273.654,0.00006 +11-9-2019 17:00,93825.38166,379848.749,379848.749,0.00006 +11-9-2019 18:00,93814.12741,384718.607,384718.607,0.00006 +11-9-2019 19:00,93802.87028,340889.906,340889.906,0.00006 +11-9-2019 20:00,93791.61027,282451.638,282451.638,0.00006 +11-9-2019 21:00,93780.34737,199664.087,199664.087,0.00006 +11-9-2019 22:00,93769.08161,97397.118,97397.118,0.00006 +11-9-2019 23:00,93757.81298,34088.992,34088.992,0.00006 +12-9-2019 00:00,93746.54149,19479.425,19479.425,0.00006 +12-9-2019 01:00,93735.26715,4869.858,4869.858,0.00006 +12-9-2019 02:00,93723.98996,4869.858,4869.858,0.00006 +12-9-2019 03:00,93712.70993,9739.709,9739.709,0.00006 +12-9-2019 04:00,93701.42707,34088.992,34088.992,0.00006 +12-9-2019 05:00,93690.14137,272711.922,272711.922,0.00006 +12-9-2019 06:00,93678.85285,452896.584,452896.584,0.00006 +12-9-2019 07:00,93667.56151,350629.615,350629.615,0.00006 +12-9-2019 08:00,93656.26736,413937.741,413937.741,0.00006 +12-9-2019 09:00,93644.9704,297061.205,297061.205,0.00006 +12-9-2019 10:00,93633.67064,258102.355,258102.355,0.00006 +12-9-2019 11:00,93622.36808,219143.512,219143.512,0.00006 +12-9-2019 12:00,93611.06273,175314.811,175314.811,0.00006 +12-9-2019 13:00,93599.7546,150965.528,150965.528,0.00006 +12-9-2019 14:00,93588.44369,116876.536,116876.536,0.00006 +12-9-2019 15:00,93577.13001,131486.103,131486.103,0.00006 +12-9-2019 16:00,93565.81357,214273.654,214273.654,0.00006 +12-9-2019 17:00,93554.49436,379848.749,379848.749,0.00006 +12-9-2019 18:00,93543.1724,384718.607,384718.607,0.00006 +12-9-2019 19:00,93531.84769,340889.906,340889.906,0.00006 +12-9-2019 20:00,93520.52024,282451.638,282451.638,0.00006 +12-9-2019 21:00,93509.19005,199664.087,199664.087,0.00006 +12-9-2019 22:00,93497.85712,97397.118,97397.118,0.00006 +12-9-2019 23:00,93486.52148,34088.992,34088.992,0.00006 +13-9-2019 00:00,93475.18311,19479.425,19479.425,0.00006 +13-9-2019 01:00,93463.84203,4869.858,4869.858,0.00006 +13-9-2019 02:00,93452.49824,4869.858,4869.858,0.00006 +13-9-2019 03:00,93441.15175,9739.709,9739.709,0.00006 +13-9-2019 04:00,93429.80256,34088.992,34088.992,0.00006 +13-9-2019 05:00,93418.45068,272711.922,272711.922,0.00006 +13-9-2019 06:00,93407.09612,452896.584,452896.584,0.00006 +13-9-2019 07:00,93395.73888,350629.615,350629.615,0.00006 +13-9-2019 08:00,93384.37896,413937.741,413937.741,0.00006 +13-9-2019 09:00,93373.01638,297061.205,297061.205,0.00006 +13-9-2019 10:00,93361.65114,258102.355,258102.355,0.00006 +13-9-2019 11:00,93350.28324,219143.512,219143.512,0.00006 +13-9-2019 12:00,93338.91269,175314.811,175314.811,0.00006 +13-9-2019 13:00,93327.5395,150965.528,150965.528,0.00006 +13-9-2019 14:00,93316.16367,116876.536,116876.536,0.00006 +13-9-2019 15:00,93304.78521,131486.103,131486.103,0.00006 +13-9-2019 16:00,93293.40412,214273.654,214273.654,0.00006 +13-9-2019 17:00,93282.02041,379848.749,379848.749,0.00006 +13-9-2019 18:00,93270.63409,384718.607,384718.607,0.00006 +13-9-2019 19:00,93259.24516,340889.906,340889.906,0.00006 +13-9-2019 20:00,93247.85362,282451.638,282451.638,0.00006 +13-9-2019 21:00,93236.45949,199664.087,199664.087,0.00006 +13-9-2019 22:00,93225.06277,97397.118,97397.118,0.00006 +13-9-2019 23:00,93213.66346,34088.992,34088.992,0.00006 +14-9-2019 00:00,93202.26157,19479.425,19479.425,0.00006 +14-9-2019 01:00,93190.85711,4869.858,4869.858,0.00006 +14-9-2019 02:00,93179.45009,4869.858,4869.858,0.00006 +14-9-2019 03:00,93168.0405,9739.709,9739.709,0.00006 +14-9-2019 04:00,93156.62835,34088.992,34088.992,0.00006 +14-9-2019 05:00,93145.21365,272711.922,272711.922,0.00006 +14-9-2019 06:00,93133.79641,452896.584,452896.584,0.00006 +14-9-2019 07:00,93122.37664,350629.615,350629.615,0.00006 +14-9-2019 08:00,93110.95433,413937.741,413937.741,0.00006 +14-9-2019 09:00,93099.52949,297061.205,297061.205,0.00006 +14-9-2019 10:00,93088.10213,258102.355,258102.355,0.00006 +14-9-2019 11:00,93076.67226,219143.512,219143.512,0.00006 +14-9-2019 12:00,93065.23988,175314.811,175314.811,0.00006 +14-9-2019 13:00,93053.805,150965.528,150965.528,0.00006 +14-9-2019 14:00,93042.36761,116876.536,116876.536,0.00006 +14-9-2019 15:00,93030.92774,131486.103,131486.103,0.00006 +14-9-2019 16:00,93019.48538,214273.654,214273.654,0.00006 +14-9-2019 17:00,93008.04055,379848.749,379848.749,0.00006 +14-9-2019 18:00,92996.59324,384718.607,384718.607,0.00006 +14-9-2019 19:00,92985.14346,340889.906,340889.906,0.00006 +14-9-2019 20:00,92973.69122,282451.638,282451.638,0.00006 +14-9-2019 21:00,92962.23652,199664.087,199664.087,0.00006 +14-9-2019 22:00,92950.77938,97397.118,97397.118,0.00006 +14-9-2019 23:00,92939.31979,34088.992,34088.992,0.00006 +15-9-2019 00:00,92927.85776,19479.425,19479.425,0.00006 +15-9-2019 01:00,92916.3933,4869.858,4869.858,0.00006 +15-9-2019 02:00,92904.92641,4869.858,4869.858,0.00006 +15-9-2019 03:00,92893.45711,9739.709,9739.709,0.00006 +15-9-2019 04:00,92881.98538,34088.992,34088.992,0.00006 +15-9-2019 05:00,92870.51125,272711.922,272711.922,0.00006 +15-9-2019 06:00,92859.03472,452896.584,452896.584,0.00006 +15-9-2019 07:00,92847.55579,350629.615,350629.615,0.00006 +15-9-2019 08:00,92836.07447,413937.741,413937.741,0.00006 +15-9-2019 09:00,92824.59076,297061.205,297061.205,0.00006 +15-9-2019 10:00,92813.10468,258102.355,258102.355,0.00006 +15-9-2019 11:00,92801.61622,219143.512,219143.512,0.00006 +15-9-2019 12:00,92790.12539,175314.811,175314.811,0.00006 +15-9-2019 13:00,92778.6322,150965.528,150965.528,0.00006 +15-9-2019 14:00,92767.13666,116876.536,116876.536,0.00006 +15-9-2019 15:00,92755.63877,131486.103,131486.103,0.00006 +15-9-2019 16:00,92744.13853,214273.654,214273.654,0.00006 +15-9-2019 17:00,92732.63596,379848.749,379848.749,0.00006 +15-9-2019 18:00,92721.13105,384718.607,384718.607,0.00006 +15-9-2019 19:00,92709.62382,340889.906,340889.906,0.00006 +15-9-2019 20:00,92698.11427,282451.638,282451.638,0.00006 +15-9-2019 21:00,92686.6024,199664.087,199664.087,0.00006 +15-9-2019 22:00,92675.08823,97397.118,97397.118,0.00006 +15-9-2019 23:00,92663.57175,34088.992,34088.992,0.00006 +16-9-2019 00:00,92652.05298,19479.425,19479.425,0.00006 +16-9-2019 01:00,92640.53192,4869.858,4869.858,0.00006 +16-9-2019 02:00,92629.00857,4869.858,4869.858,0.00006 +16-9-2019 03:00,92617.48294,9739.709,9739.709,0.00006 +16-9-2019 04:00,92605.95504,34088.992,34088.992,0.00006 +16-9-2019 05:00,92594.42488,272711.922,272711.922,0.00006 +16-9-2019 06:00,92582.89245,452896.584,452896.584,0.00006 +16-9-2019 07:00,92571.35777,350629.615,350629.615,0.00006 +16-9-2019 08:00,92559.82084,413937.741,413937.741,0.00006 +16-9-2019 09:00,92548.28167,297061.205,297061.205,0.00006 +16-9-2019 10:00,92536.74026,258102.355,258102.355,0.00006 +16-9-2019 11:00,92525.19662,219143.512,219143.512,0.00006 +16-9-2019 12:00,92513.65075,175314.811,175314.811,0.00006 +16-9-2019 13:00,92502.10267,150965.528,150965.528,0.00006 +16-9-2019 14:00,92490.55237,116876.536,116876.536,0.00006 +16-9-2019 15:00,92478.99986,131486.103,131486.103,0.00006 +16-9-2019 16:00,92467.44515,214273.654,214273.654,0.00006 +16-9-2019 17:00,92455.88825,379848.749,379848.749,0.00006 +16-9-2019 18:00,92444.32916,384718.607,384718.607,0.00006 +16-9-2019 19:00,92432.76788,340889.906,340889.906,0.00006 +16-9-2019 20:00,92421.20443,282451.638,282451.638,0.00006 +16-9-2019 21:00,92409.63881,199664.087,199664.087,0.00006 +16-9-2019 22:00,92398.07102,97397.118,97397.118,0.00006 +16-9-2019 23:00,92386.50106,34088.992,34088.992,0.00006 +17-9-2019 00:00,92374.92896,19479.425,19479.425,0.00006 +17-9-2019 01:00,92363.35471,4869.858,4869.858,0.00006 +17-9-2019 02:00,92351.77831,4869.858,4869.858,0.00006 +17-9-2019 03:00,92340.19978,9739.709,9739.709,0.00006 +17-9-2019 04:00,92328.61913,34088.992,34088.992,0.00006 +17-9-2019 05:00,92317.03634,273385.238,273385.238,0.00006 +17-9-2019 06:00,92305.45144,452896.584,452896.584,0.00006 +17-9-2019 07:00,92293.86443,350629.615,350629.615,0.00006 +17-9-2019 08:00,92282.27531,413937.741,413937.741,0.00006 +17-9-2019 09:00,92270.68409,299463.927,299463.927,0.00006 +17-9-2019 10:00,92259.09077,258102.355,258102.355,0.00006 +17-9-2019 11:00,92247.49537,219143.512,219143.512,0.00006 +17-9-2019 12:00,92235.89788,175314.811,175314.811,0.00006 +17-9-2019 13:00,92224.29832,150965.528,150965.528,0.00006 +17-9-2019 14:00,92212.69669,116876.536,116876.536,0.00006 +17-9-2019 15:00,92201.09299,131486.103,131486.103,0.00006 +17-9-2019 16:00,92189.48724,214273.654,214273.654,0.00006 +17-9-2019 17:00,92177.87943,379848.749,379848.749,0.00006 +17-9-2019 18:00,92166.26958,384718.607,384718.607,0.00006 +17-9-2019 19:00,92154.65769,340889.906,340889.906,0.00006 +17-9-2019 20:00,92143.04376,282451.638,282451.638,0.00006 +17-9-2019 21:00,92131.4278,199664.087,199664.087,0.00006 +17-9-2019 22:00,92119.80982,97397.118,97397.118,0.00006 +17-9-2019 23:00,92108.18983,34088.992,34088.992,0.00006 +18-9-2019 00:00,92096.56782,19479.425,19479.425,0.00006 +18-9-2019 01:00,92084.94381,4869.858,4869.858,0.00006 +18-9-2019 02:00,92073.3178,4869.858,4869.858,0.00006 +18-9-2019 03:00,92061.6898,9739.709,9739.709,0.00006 +18-9-2019 04:00,92050.05981,34088.992,34088.992,0.00006 +18-9-2019 05:00,92038.42784,278296.34,278296.34,0.00006 +18-9-2019 06:00,92026.79389,452896.584,452896.584,0.00006 +18-9-2019 07:00,92015.15798,350629.615,350629.615,0.00006 +18-9-2019 08:00,92003.5201,413937.741,413937.741,0.00006 +18-9-2019 09:00,91991.88027,299887.308,299887.308,0.00006 +18-9-2019 10:00,91980.23849,258102.355,258102.355,0.00006 +18-9-2019 11:00,91968.59476,219143.512,219143.512,0.00006 +18-9-2019 12:00,91956.94909,175314.811,175314.811,0.00006 +18-9-2019 13:00,91945.30149,150965.528,150965.528,0.00006 +18-9-2019 14:00,91933.65196,116876.536,116876.536,0.00006 +18-9-2019 15:00,91922.00052,131486.103,131486.103,0.00006 +18-9-2019 16:00,91910.34715,214273.654,214273.654,0.00006 +18-9-2019 17:00,91898.69188,379848.749,379848.749,0.00006 +18-9-2019 18:00,91887.03471,385095.193,385095.193,0.00006 +18-9-2019 19:00,91875.37564,342783.364,342783.364,0.00006 +18-9-2019 20:00,91863.71468,282451.638,282451.638,0.00006 +18-9-2019 21:00,91852.05183,200486.216,200486.216,0.00006 +18-9-2019 22:00,91840.3871,97397.118,97397.118,0.00006 +18-9-2019 23:00,91828.72051,34088.992,34088.992,0.00006 +19-9-2019 00:00,91817.05204,19479.425,19479.425,0.00006 +19-9-2019 01:00,91805.38172,4869.858,4869.858,0.00006 +19-9-2019 02:00,91793.70953,4869.858,4869.858,0.00006 +19-9-2019 03:00,91782.03551,9739.709,9739.709,0.00006 +19-9-2019 04:00,91770.35963,34088.992,34088.992,0.00006 +19-9-2019 05:00,91758.68192,279134.275,279134.275,0.00006 +19-9-2019 06:00,91747.00238,458273.522,458273.522,0.00006 +19-9-2019 07:00,91735.32102,350629.615,350629.615,0.00006 +19-9-2019 08:00,91723.63784,416526.726,416526.726,0.00006 +19-9-2019 09:00,91711.95284,306507.082,306507.082,0.00006 +19-9-2019 10:00,91700.26604,261245.005,261245.005,0.00006 +19-9-2019 11:00,91688.57743,221324.726,221324.726,0.00006 +19-9-2019 12:00,91676.88703,179573.107,179573.107,0.00006 +19-9-2019 13:00,91665.19485,150965.528,150965.528,0.00006 +19-9-2019 14:00,91653.50088,116876.536,116876.536,0.00006 +19-9-2019 15:00,91641.80513,131486.103,131486.103,0.00006 +19-9-2019 16:00,91630.10761,214273.654,214273.654,0.00006 +19-9-2019 17:00,91618.40833,379848.749,379848.749,0.00006 +19-9-2019 18:00,91606.70729,386652.413,386652.413,0.00006 +19-9-2019 19:00,91595.0045,343607.943,343607.943,0.00006 +19-9-2019 20:00,91583.29996,285788.517,285788.517,0.00006 +19-9-2019 21:00,91571.59368,201385.114,201385.114,0.00006 +19-9-2019 22:00,91559.88566,97397.118,97397.118,0.00006 +19-9-2019 23:00,91548.17592,34088.992,34088.992,0.00006 +20-9-2019 00:00,91536.46445,19479.425,19479.425,0.00006 +20-9-2019 01:00,91524.75127,4869.858,4869.858,0.00006 +20-9-2019 02:00,91513.03638,4869.858,4869.858,0.00006 +20-9-2019 03:00,91501.31978,9739.709,9739.709,0.00006 +20-9-2019 04:00,91489.60148,34088.992,34088.992,0.00006 +20-9-2019 05:00,91477.8815,282375.219,282375.219,0.00006 +20-9-2019 06:00,91466.15982,477674.624,477674.624,0.00006 +20-9-2019 07:00,91454.43647,355687.367,355687.367,0.00006 +20-9-2019 08:00,91442.71144,425928.3,425928.3,0.00006 +20-9-2019 09:00,91430.98474,307664.448,307664.448,0.00006 +20-9-2019 10:00,91419.25638,263079.726,263079.726,0.00006 +20-9-2019 11:00,91407.52637,222915.301,222915.301,0.00006 +20-9-2019 12:00,91395.7947,182458.437,182458.437,0.00006 +20-9-2019 13:00,91384.06139,150965.528,150965.528,0.00006 +20-9-2019 14:00,91372.32644,116876.536,116876.536,0.00006 +20-9-2019 15:00,91360.58986,131486.103,131486.103,0.00006 +20-9-2019 16:00,91348.85166,214273.654,214273.654,0.00006 +20-9-2019 17:00,91337.11183,379848.749,379848.749,0.00006 +20-9-2019 18:00,91325.37039,384718.607,384718.607,0.00006 +20-9-2019 19:00,91313.62734,342235.313,342235.313,0.00006 +20-9-2019 20:00,91301.88269,282890.3,282890.3,0.00006 +20-9-2019 21:00,91290.13645,201253.808,201253.808,0.00006 +20-9-2019 22:00,91278.38861,97397.118,97397.118,0.00006 +20-9-2019 23:00,91266.63919,34088.992,34088.992,0.00006 +21-9-2019 00:00,91254.8882,19479.425,19479.425,0.00006 +21-9-2019 01:00,91243.13563,4869.858,4869.858,0.00006 +21-9-2019 02:00,91231.3815,4869.858,4869.858,0.00006 +21-9-2019 03:00,91219.6258,9739.709,9739.709,0.00006 +21-9-2019 04:00,91207.86856,34088.992,34088.992,0.00006 +21-9-2019 05:00,91196.10976,280704.088,280704.088,0.00006 +21-9-2019 06:00,91184.34943,469922.194,469922.194,0.00006 +21-9-2019 07:00,91172.58756,352860.088,352860.088,0.00006 +21-9-2019 08:00,91160.82416,414520.855,414520.855,0.00006 +21-9-2019 09:00,91149.05923,301888.643,301888.643,0.00006 +21-9-2019 10:00,91137.29279,258254.892,258254.892,0.00006 +21-9-2019 11:00,91125.52484,219143.512,219143.512,0.00006 +21-9-2019 12:00,91113.75538,175314.811,175314.811,0.00006 +21-9-2019 13:00,91101.98443,150965.528,150965.528,0.00006 +21-9-2019 14:00,91090.21198,116876.536,116876.536,0.00006 +21-9-2019 15:00,91078.43804,131486.103,131486.103,0.00006 +21-9-2019 16:00,91066.66263,214273.654,214273.654,0.00006 +21-9-2019 17:00,91054.88574,379848.749,379848.749,0.00006 +21-9-2019 18:00,91043.10738,384718.607,384718.607,0.00006 +21-9-2019 19:00,91031.32755,340889.906,340889.906,0.00006 +21-9-2019 20:00,91019.54627,282451.638,282451.638,0.00006 +21-9-2019 21:00,91007.76355,199664.087,199664.087,0.00006 +21-9-2019 22:00,90995.97937,97397.118,97397.118,0.00006 +21-9-2019 23:00,90984.19376,34088.992,34088.992,0.00006 +22-9-2019 00:00,90972.40671,19479.425,19479.425,0.00006 +22-9-2019 01:00,90960.61824,4869.858,4869.858,0.00006 +22-9-2019 02:00,90948.82835,4869.858,4869.858,0.00006 +22-9-2019 03:00,90937.03705,9739.709,9739.709,0.00006 +22-9-2019 04:00,90925.24433,34088.992,34088.992,0.00006 +22-9-2019 05:00,90913.45022,273277.634,273277.634,0.00006 +22-9-2019 06:00,90901.6547,453443.27,453443.27,0.00006 +22-9-2019 07:00,90889.8578,350629.615,350629.615,0.00006 +22-9-2019 08:00,90878.05952,413937.741,413937.741,0.00006 +22-9-2019 09:00,90866.25985,300273.848,300273.848,0.00006 +22-9-2019 10:00,90854.45882,258102.355,258102.355,0.00006 +22-9-2019 11:00,90842.65642,219143.512,219143.512,0.00006 +22-9-2019 12:00,90830.85266,175314.811,175314.811,0.00006 +22-9-2019 13:00,90819.04754,150965.528,150965.528,0.00006 +22-9-2019 14:00,90807.24108,116876.536,116876.536,0.00006 +22-9-2019 15:00,90795.43328,131486.103,131486.103,0.00006 +22-9-2019 16:00,90783.62414,214273.654,214273.654,0.00006 +22-9-2019 17:00,90771.81368,379848.749,379848.749,0.00006 +22-9-2019 18:00,90760.00189,384718.607,384718.607,0.00006 +22-9-2019 19:00,90748.18878,340889.906,340889.906,0.00006 +22-9-2019 20:00,90736.37436,282451.638,282451.638,0.00006 +22-9-2019 21:00,90724.55864,199664.087,199664.087,0.00006 +22-9-2019 22:00,90712.74162,97397.118,97397.118,0.00006 +22-9-2019 23:00,90700.92331,34088.992,34088.992,0.00006 +23-9-2019 00:00,90689.10371,19479.425,19479.425,0.00006 +23-9-2019 01:00,90677.28282,4869.858,4869.858,0.00006 +23-9-2019 02:00,90665.46067,4869.858,4869.858,0.00006 +23-9-2019 03:00,90653.63724,9739.709,9739.709,0.00006 +23-9-2019 04:00,90641.81256,34088.992,34088.992,0.00006 +23-9-2019 05:00,90629.98662,272711.922,272711.922,0.00006 +23-9-2019 06:00,90618.15942,452896.584,452896.584,0.00006 +23-9-2019 07:00,90606.33099,350629.615,350629.615,0.00006 +23-9-2019 08:00,90594.50131,413937.741,413937.741,0.00006 +23-9-2019 09:00,90582.6704,298629.261,298629.261,0.00006 +23-9-2019 10:00,90570.83827,258102.355,258102.355,0.00006 +23-9-2019 11:00,90559.00492,219143.512,219143.512,0.00006 +23-9-2019 12:00,90547.17035,175314.811,175314.811,0.00006 +23-9-2019 13:00,90535.33458,150965.528,150965.528,0.00006 +23-9-2019 14:00,90523.49761,116876.536,116876.536,0.00006 +23-9-2019 15:00,90511.65944,131486.103,131486.103,0.00006 +23-9-2019 16:00,90499.82008,214273.654,214273.654,0.00006 +23-9-2019 17:00,90487.97954,379848.749,379848.749,0.00006 +23-9-2019 18:00,90476.13782,384718.607,384718.607,0.00006 +23-9-2019 19:00,90464.29493,340889.906,340889.906,0.00006 +23-9-2019 20:00,90452.45087,282451.638,282451.638,0.00006 +23-9-2019 21:00,90440.60566,199664.087,199664.087,0.00006 +23-9-2019 22:00,90428.75929,97397.118,97397.118,0.00006 +23-9-2019 23:00,90416.91178,34088.992,34088.992,0.00006 +24-9-2019 00:00,90405.06312,19479.425,19479.425,0.00006 +24-9-2019 01:00,90393.21333,4869.858,4869.858,0.00006 +24-9-2019 02:00,90381.36242,4869.858,4869.858,0.00006 +24-9-2019 03:00,90369.51038,9739.709,9739.709,0.00006 +24-9-2019 04:00,90357.65722,34088.992,34088.992,0.00006 +24-9-2019 05:00,90345.80296,272711.922,272711.922,0.00006 +24-9-2019 06:00,90333.94759,452896.584,452896.584,0.00006 +24-9-2019 07:00,90322.09112,350629.615,350629.615,0.00006 +24-9-2019 08:00,90310.23356,413937.741,413937.741,0.00006 +24-9-2019 09:00,90298.37492,298771.13,298771.13,0.00006 +24-9-2019 10:00,90286.5152,258102.355,258102.355,0.00006 +24-9-2019 11:00,90274.6544,219143.512,219143.512,0.00006 +24-9-2019 12:00,90262.79253,175314.811,175314.811,0.00006 +24-9-2019 13:00,90250.92961,150965.528,150965.528,0.00006 +24-9-2019 14:00,90239.06563,116876.536,116876.536,0.00006 +24-9-2019 15:00,90227.2006,131486.103,131486.103,0.00006 +24-9-2019 16:00,90215.33452,214273.654,214273.654,0.00006 +24-9-2019 17:00,90203.46741,379848.749,379848.749,0.00006 +24-9-2019 18:00,90191.59927,384718.607,384718.607,0.00006 +24-9-2019 19:00,90179.73011,340889.906,340889.906,0.00006 +24-9-2019 20:00,90167.85993,282451.638,282451.638,0.00006 +24-9-2019 21:00,90155.98873,199664.087,199664.087,0.00006 +24-9-2019 22:00,90144.11653,97397.118,97397.118,0.00006 +24-9-2019 23:00,90132.24333,34088.992,34088.992,0.00006 +25-9-2019 00:00,90120.36913,19479.425,19479.425,0.00006 +25-9-2019 01:00,90108.49395,4869.858,4869.858,0.00006 +25-9-2019 02:00,90096.61778,4869.858,4869.858,0.00006 +25-9-2019 03:00,90084.74064,9739.709,9739.709,0.00006 +25-9-2019 04:00,90072.86253,34088.992,34088.992,0.00006 +25-9-2019 05:00,90060.98345,272711.922,272711.922,0.00006 +25-9-2019 06:00,90049.10342,452896.584,452896.584,0.00006 +25-9-2019 07:00,90037.22244,350629.615,350629.615,0.00006 +25-9-2019 08:00,90025.34051,413937.741,413937.741,0.00006 +25-9-2019 09:00,90013.45764,300485.472,300485.472,0.00006 +25-9-2019 10:00,90001.57384,258102.355,258102.355,0.00006 +25-9-2019 11:00,89989.68911,219143.512,219143.512,0.00006 +25-9-2019 12:00,89977.80346,175314.811,175314.811,0.00006 +25-9-2019 13:00,89965.9169,150965.528,150965.528,0.00006 +25-9-2019 14:00,89954.02943,116876.536,116876.536,0.00006 +25-9-2019 15:00,89942.14105,131486.103,131486.103,0.00006 +25-9-2019 16:00,89930.25178,214273.654,214273.654,0.00006 +25-9-2019 17:00,89918.36162,379848.749,379848.749,0.00006 +25-9-2019 18:00,89906.47058,384718.607,384718.607,0.00006 +25-9-2019 19:00,89894.57866,340889.906,340889.906,0.00006 +25-9-2019 20:00,89882.68586,282451.638,282451.638,0.00006 +25-9-2019 21:00,89870.7922,199664.087,199664.087,0.00006 +25-9-2019 22:00,89858.89768,97397.118,97397.118,0.00006 +25-9-2019 23:00,89847.00231,34088.992,34088.992,0.00006 +26-9-2019 00:00,89835.10609,19479.425,19479.425,0.00006 +26-9-2019 01:00,89823.20903,4869.858,4869.858,0.00006 +26-9-2019 02:00,89811.31113,4869.858,4869.858,0.00006 +26-9-2019 03:00,89799.41241,9739.709,9739.709,0.00006 +26-9-2019 04:00,89787.51286,34088.992,34088.992,0.00006 +26-9-2019 05:00,89775.6125,272711.922,272711.922,0.00006 +26-9-2019 06:00,89763.71132,452896.584,452896.584,0.00006 +26-9-2019 07:00,89751.80934,350629.615,350629.615,0.00006 +26-9-2019 08:00,89739.90656,413937.741,413937.741,0.00006 +26-9-2019 09:00,89728.00299,299410.909,299410.909,0.00006 +26-9-2019 10:00,89716.09864,258102.355,258102.355,0.00006 +26-9-2019 11:00,89704.1935,219143.512,219143.512,0.00006 +26-9-2019 12:00,89692.28759,175314.811,175314.811,0.00006 +26-9-2019 13:00,89680.38091,150965.528,150965.528,0.00006 +26-9-2019 14:00,89668.47347,116876.536,116876.536,0.00006 +26-9-2019 15:00,89656.56528,131486.103,131486.103,0.00006 +26-9-2019 16:00,89644.65633,214273.654,214273.654,0.00006 +26-9-2019 17:00,89632.74665,379848.749,379848.749,0.00006 +26-9-2019 18:00,89620.83622,384718.607,384718.607,0.00006 +26-9-2019 19:00,89608.92507,340889.906,340889.906,0.00006 +26-9-2019 20:00,89597.01318,282451.638,282451.638,0.00006 +26-9-2019 21:00,89585.10059,199664.087,199664.087,0.00006 +26-9-2019 22:00,89573.18727,97397.118,97397.118,0.00006 +26-9-2019 23:00,89561.27326,34088.992,34088.992,0.00006 +27-9-2019 00:00,89549.35854,19479.425,19479.425,0.00006 +27-9-2019 01:00,89537.44312,4869.858,4869.858,0.00006 +27-9-2019 02:00,89525.52702,4869.858,4869.858,0.00006 +27-9-2019 03:00,89513.61024,9739.709,9739.709,0.00006 +27-9-2019 04:00,89501.69278,34088.992,34088.992,0.00006 +27-9-2019 05:00,89489.77465,272711.922,272711.922,0.00006 +27-9-2019 06:00,89477.85586,452896.584,452896.584,0.00006 +27-9-2019 07:00,89465.93641,350629.615,350629.615,0.00006 +27-9-2019 08:00,89454.01631,413937.741,413937.741,0.00006 +27-9-2019 09:00,89442.09557,298870.425,298870.425,0.00006 +27-9-2019 10:00,89430.17418,258102.355,258102.355,0.00006 +27-9-2019 11:00,89418.25216,219143.512,219143.512,0.00006 +27-9-2019 12:00,89406.32952,175314.811,175314.811,0.00006 +27-9-2019 13:00,89394.40626,150965.528,150965.528,0.00006 +27-9-2019 14:00,89382.48238,116876.536,116876.536,0.00006 +27-9-2019 15:00,89370.55789,131486.103,131486.103,0.00006 +27-9-2019 16:00,89358.6328,214273.654,214273.654,0.00006 +27-9-2019 17:00,89346.70711,379848.749,379848.749,0.00006 +27-9-2019 18:00,89334.78084,384718.607,384718.607,0.00006 +27-9-2019 19:00,89322.85398,340889.906,340889.906,0.00006 +27-9-2019 20:00,89310.92654,282451.638,282451.638,0.00006 +27-9-2019 21:00,89298.99853,199664.087,199664.087,0.00006 +27-9-2019 22:00,89287.06996,97397.118,97397.118,0.00006 +27-9-2019 23:00,89275.14082,34088.992,34088.992,0.00006 +28-9-2019 00:00,89263.21114,19479.425,19479.425,0.00006 +28-9-2019 01:00,89251.2809,4869.858,4869.858,0.00006 +28-9-2019 02:00,89239.35013,4869.858,4869.858,0.00006 +28-9-2019 03:00,89227.41882,9739.709,9739.709,0.00006 +28-9-2019 04:00,89215.48698,34088.992,34088.992,0.00006 +28-9-2019 05:00,89203.55462,272711.922,272711.922,0.00006 +28-9-2019 06:00,89191.62175,452896.584,452896.584,0.00006 +28-9-2019 07:00,89179.68836,350629.615,350629.615,0.00006 +28-9-2019 08:00,89167.75447,413937.741,413937.741,0.00006 +28-9-2019 09:00,89155.82008,297722.95,297722.95,0.00006 +28-9-2019 10:00,89143.8852,258102.355,258102.355,0.00006 +28-9-2019 11:00,89131.94984,219143.512,219143.512,0.00006 +28-9-2019 12:00,89120.01399,175314.811,175314.811,0.00006 +28-9-2019 13:00,89108.07767,150965.528,150965.528,0.00006 +28-9-2019 14:00,89096.14089,116876.536,116876.536,0.00006 +28-9-2019 15:00,89084.20364,131486.103,131486.103,0.00006 +28-9-2019 16:00,89072.26594,214273.654,214273.654,0.00006 +28-9-2019 17:00,89060.32779,379848.749,379848.749,0.00006 +28-9-2019 18:00,89048.38919,384718.607,384718.607,0.00006 +28-9-2019 19:00,89036.45016,340889.906,340889.906,0.00006 +28-9-2019 20:00,89024.51071,282451.638,282451.638,0.00006 +28-9-2019 21:00,89012.57082,199664.087,199664.087,0.00006 +28-9-2019 22:00,89000.63052,97397.118,97397.118,0.00006 +28-9-2019 23:00,88988.68981,34088.992,34088.992,0.00006 +29-9-2019 00:00,88976.74869,19479.425,19479.425,0.00006 +29-9-2019 01:00,88964.80717,4869.858,4869.858,0.00006 +29-9-2019 02:00,88952.86525,4869.858,4869.858,0.00006 +29-9-2019 03:00,88940.92295,9739.709,9739.709,0.00006 +29-9-2019 04:00,88928.98027,34088.992,34088.992,0.00006 +29-9-2019 05:00,88917.03722,272711.922,272711.922,0.00006 +29-9-2019 06:00,88905.09379,452896.584,452896.584,0.00006 +29-9-2019 07:00,88893.15,350629.615,350629.615,0.00006 +29-9-2019 08:00,88881.20586,413937.741,413937.741,0.00006 +29-9-2019 09:00,88869.26136,299867.274,299867.274,0.00006 +29-9-2019 10:00,88857.31653,258102.355,258102.355,0.00006 +29-9-2019 11:00,88845.37135,219143.512,219143.512,0.00006 +29-9-2019 12:00,88833.42584,175314.811,175314.811,0.00006 +29-9-2019 13:00,88821.48,150965.528,150965.528,0.00006 +29-9-2019 14:00,88809.53385,116876.536,116876.536,0.00006 +29-9-2019 15:00,88797.58738,131486.103,131486.103,0.00006 +29-9-2019 16:00,88785.6406,214273.654,214273.654,0.00006 +29-9-2019 17:00,88773.69353,379848.749,379848.749,0.00006 +29-9-2019 18:00,88761.74615,384718.607,384718.607,0.00006 +29-9-2019 19:00,88749.79849,340889.906,340889.906,0.00006 +29-9-2019 20:00,88737.85055,282451.638,282451.638,0.00006 +29-9-2019 21:00,88725.90233,199664.087,199664.087,0.00006 +29-9-2019 22:00,88713.95384,97397.118,97397.118,0.00006 +29-9-2019 23:00,88702.00508,34088.992,34088.992,0.00006 +30-9-2019 00:00,88690.05607,19479.425,19479.425,0.00006 +30-9-2019 01:00,88678.1068,4869.858,4869.858,0.00006 +30-9-2019 02:00,88666.15729,4869.858,4869.858,0.00006 +30-9-2019 03:00,88654.20754,9739.709,9739.709,0.00006 +30-9-2019 04:00,88642.25755,34088.992,34088.992,0.00006 +30-9-2019 05:00,88630.30734,272711.922,272711.922,0.00006 +30-9-2019 06:00,88618.3569,452896.584,452896.584,0.00006 +30-9-2019 07:00,88606.40625,350629.615,350629.615,0.00006 +30-9-2019 08:00,88594.45539,413937.741,413937.741,0.00006 +30-9-2019 09:00,88582.50433,300198.857,300198.857,0.00006 +30-9-2019 10:00,88570.55307,258102.355,258102.355,0.00006 +30-9-2019 11:00,88558.60162,219143.512,219143.512,0.00006 +30-9-2019 12:00,88546.64999,175314.811,175314.811,0.00006 +30-9-2019 13:00,88534.69818,150965.528,150965.528,0.00006 +30-9-2019 14:00,88522.74619,116876.536,116876.536,0.00006 +30-9-2019 15:00,88510.79404,131486.103,131486.103,0.00006 +30-9-2019 16:00,88498.84173,214273.654,214273.654,0.00006 +30-9-2019 17:00,88486.88927,379848.749,379848.749,0.00006 +30-9-2019 18:00,88474.93666,384718.607,384718.607,0.00006 +30-9-2019 19:00,88462.9839,340889.906,340889.906,0.00006 +30-9-2019 20:00,88451.03102,282451.638,282451.638,0.00006 +30-9-2019 21:00,88439.078,199664.087,199664.087,0.00006 +30-9-2019 22:00,88427.12486,97397.118,97397.118,0.00006 +30-9-2019 23:00,88415.1716,34088.992,34088.992,0.00006 +1-10-2019 00:00,88403.21823,19479.425,19479.425,0.00006 +1-10-2019 01:00,88391.26476,4869.858,4869.858,0.00006 +1-10-2019 02:00,88379.31119,4869.858,4869.858,0.00006 +1-10-2019 03:00,88367.35753,9739.709,9739.709,0.00006 +1-10-2019 04:00,88355.40378,34088.992,34088.992,0.00006 +1-10-2019 05:00,88343.44995,272711.922,272711.922,0.00006 +1-10-2019 06:00,88331.49605,452896.584,452896.584,0.00006 +1-10-2019 07:00,88319.54207,350629.615,350629.615,0.00006 +1-10-2019 08:00,88307.58804,413937.741,413937.741,0.00006 +1-10-2019 09:00,88295.63395,299750.598,299750.598,0.00006 +1-10-2019 10:00,88283.67982,258102.355,258102.355,0.00006 +1-10-2019 11:00,88271.72564,219143.512,219143.512,0.00006 +1-10-2019 12:00,88259.77142,175314.811,175314.811,0.00006 +1-10-2019 13:00,88247.81717,150965.528,150965.528,0.00006 +1-10-2019 14:00,88235.8629,116876.536,116876.536,0.00006 +1-10-2019 15:00,88223.90861,131486.103,131486.103,0.00006 +1-10-2019 16:00,88211.95431,214273.654,214273.654,0.00006 +1-10-2019 17:00,88200,379848.749,379848.749,0.00006 +1-10-2019 18:00,88188.04569,384718.607,384718.607,0.00006 +1-10-2019 19:00,88176.09139,340889.906,340889.906,0.00006 +1-10-2019 20:00,88164.1371,282451.638,282451.638,0.00006 +1-10-2019 21:00,88152.18283,199664.087,199664.087,0.00006 +1-10-2019 22:00,88140.22858,97397.118,97397.118,0.00006 +1-10-2019 23:00,88128.27436,34088.992,34088.992,0.00006 +2-10-2019 00:00,88116.32018,19479.425,19479.425,0.00006 +2-10-2019 01:00,88104.36605,4869.858,4869.858,0.00006 +2-10-2019 02:00,88092.41196,4869.858,4869.858,0.00006 +2-10-2019 03:00,88080.45793,9739.709,9739.709,0.00006 +2-10-2019 04:00,88068.50395,34088.992,34088.992,0.00006 +2-10-2019 05:00,88056.55005,273968.884,273968.884,0.00006 +2-10-2019 06:00,88044.59622,453564.335,453564.335,0.00006 +2-10-2019 07:00,88032.64247,351351.287,351351.287,0.00006 +2-10-2019 08:00,88020.68881,413937.741,413937.741,0.00006 +2-10-2019 09:00,88008.73524,300021.253,300021.253,0.00006 +2-10-2019 10:00,87996.78177,258102.355,258102.355,0.00006 +2-10-2019 11:00,87984.8284,219143.512,219143.512,0.00006 +2-10-2019 12:00,87972.87514,175314.811,175314.811,0.00006 +2-10-2019 13:00,87960.922,150965.528,150965.528,0.00006 +2-10-2019 14:00,87948.96898,116876.536,116876.536,0.00006 +2-10-2019 15:00,87937.0161,131486.103,131486.103,0.00006 +2-10-2019 16:00,87925.06334,214273.654,214273.654,0.00006 +2-10-2019 17:00,87913.11073,380822.064,380822.064,0.00006 +2-10-2019 18:00,87901.15827,387490.719,387490.719,0.00006 +2-10-2019 19:00,87889.20596,342407.394,342407.394,0.00006 +2-10-2019 20:00,87877.25381,282451.638,282451.638,0.00006 +2-10-2019 21:00,87865.30182,199834.124,199834.124,0.00006 +2-10-2019 22:00,87853.35001,97397.118,97397.118,0.00006 +2-10-2019 23:00,87841.39838,34088.992,34088.992,0.00006 +3-10-2019 00:00,87829.44693,19479.425,19479.425,0.00006 +3-10-2019 01:00,87817.49567,4869.858,4869.858,0.00006 +3-10-2019 02:00,87805.54461,4869.858,4869.858,0.00006 +3-10-2019 03:00,87793.59375,9739.709,9739.709,0.00006 +3-10-2019 04:00,87781.6431,34088.992,34088.992,0.00006 +3-10-2019 05:00,87769.69266,276995.32,276995.32,0.00006 +3-10-2019 06:00,87757.74245,457557.058,457557.058,0.00006 +3-10-2019 07:00,87745.79246,355675.075,355675.075,0.00006 +3-10-2019 08:00,87733.84271,415702.301,415702.301,0.00006 +3-10-2019 09:00,87721.8932,305294.5,305294.5,0.00006 +3-10-2019 10:00,87709.94393,259380.373,259380.373,0.00006 +3-10-2019 11:00,87697.99492,220061.625,220061.625,0.00006 +3-10-2019 12:00,87686.04616,178265.92,178265.92,0.00006 +3-10-2019 13:00,87674.09767,150965.528,150965.528,0.00006 +3-10-2019 14:00,87662.14945,116876.536,116876.536,0.00006 +3-10-2019 15:00,87650.20151,131486.103,131486.103,0.00006 +3-10-2019 16:00,87638.25385,214653.418,214653.418,0.00006 +3-10-2019 17:00,87626.30647,382818.331,382818.331,0.00006 +3-10-2019 18:00,87614.3594,393754.683,393754.683,0.00006 +3-10-2019 19:00,87602.41262,346261.51,346261.51,0.00006 +3-10-2019 20:00,87590.46615,286866.013,286866.013,0.00006 +3-10-2019 21:00,87578.52,201011.398,201011.398,0.00006 +3-10-2019 22:00,87566.57416,97397.118,97397.118,0.00006 +3-10-2019 23:00,87554.62865,34088.992,34088.992,0.00006 +4-10-2019 00:00,87542.68347,19479.425,19479.425,0.00006 +4-10-2019 01:00,87530.73864,4869.858,4869.858,0.00006 +4-10-2019 02:00,87518.79414,4869.858,4869.858,0.00006 +4-10-2019 03:00,87506.85,9739.709,9739.709,0.00006 +4-10-2019 04:00,87494.90621,34088.992,34088.992,0.00006 +4-10-2019 05:00,87482.96278,278789.357,278789.357,0.00006 +4-10-2019 06:00,87471.01973,468669.054,468669.054,0.00006 +4-10-2019 07:00,87459.07705,357840.826,357840.826,0.00006 +4-10-2019 08:00,87447.13475,421781.297,421781.297,0.00006 +4-10-2019 09:00,87435.19283,308954.226,308954.226,0.00006 +4-10-2019 10:00,87423.25131,266527.583,266527.583,0.00006 +4-10-2019 11:00,87411.31019,225404.571,225404.571,0.00006 +4-10-2019 12:00,87399.36948,189510.118,189510.118,0.00006 +4-10-2019 13:00,87387.42918,150965.528,150965.528,0.00006 +4-10-2019 14:00,87375.48929,116876.536,116876.536,0.00006 +4-10-2019 15:00,87363.54984,131486.103,131486.103,0.00006 +4-10-2019 16:00,87351.61081,215665.401,215665.401,0.00006 +4-10-2019 17:00,87339.67221,388934.231,388934.231,0.00006 +4-10-2019 18:00,87327.73406,397634.937,397634.937,0.00006 +4-10-2019 19:00,87315.79636,350247.975,350247.975,0.00006 +4-10-2019 20:00,87303.85911,289067.618,289067.618,0.00006 +4-10-2019 21:00,87291.92233,201337.381,201337.381,0.00006 +4-10-2019 22:00,87279.98601,97397.118,97397.118,0.00006 +4-10-2019 23:00,87268.05016,34088.992,34088.992,0.00006 +5-10-2019 00:00,87256.1148,19479.425,19479.425,0.00006 +5-10-2019 01:00,87244.17992,4869.858,4869.858,0.00006 +5-10-2019 02:00,87232.24553,4869.858,4869.858,0.00006 +5-10-2019 03:00,87220.31164,9739.709,9739.709,0.00006 +5-10-2019 04:00,87208.37825,34859.853,34859.853,0.00006 +5-10-2019 05:00,87196.44538,282466.352,282466.352,0.00006 +5-10-2019 06:00,87184.51302,480685.611,480685.611,0.00006 +5-10-2019 07:00,87172.58118,358056.762,358056.762,0.00006 +5-10-2019 08:00,87160.64987,427645.225,427645.225,0.00006 +5-10-2019 09:00,87148.7191,309676.332,309676.332,0.00006 +5-10-2019 10:00,87136.78886,268424.261,268424.261,0.00006 +5-10-2019 11:00,87124.85918,227849.559,227849.559,0.00006 +5-10-2019 12:00,87112.93004,194686.422,194686.422,0.00006 +5-10-2019 13:00,87101.00147,151047.687,151047.687,0.00006 +5-10-2019 14:00,87089.07346,116876.536,116876.536,0.00006 +5-10-2019 15:00,87077.14602,131486.103,131486.103,0.00006 +5-10-2019 16:00,87065.21916,221026.148,221026.148,0.00006 +5-10-2019 17:00,87053.29289,395327.506,395327.506,0.00006 +5-10-2019 18:00,87041.3672,402416.504,402416.504,0.00006 +5-10-2019 19:00,87029.44211,351819.069,351819.069,0.00006 +5-10-2019 20:00,87017.51762,289983.204,289983.204,0.00006 +5-10-2019 21:00,87005.59374,201593.574,201593.574,0.00006 +5-10-2019 22:00,86993.67048,97397.118,97397.118,0.00006 +5-10-2019 23:00,86981.74784,34088.992,34088.992,0.00006 +6-10-2019 00:00,86969.82582,19479.425,19479.425,0.00006 +6-10-2019 01:00,86957.90443,4869.858,4869.858,0.00006 +6-10-2019 02:00,86945.98369,4869.858,4869.858,0.00006 +6-10-2019 03:00,86934.06359,9739.709,9739.709,0.00006 +6-10-2019 04:00,86922.14414,35676.41,35676.41,0.00006 +6-10-2019 05:00,86910.22535,283544.212,283544.212,0.00006 +6-10-2019 06:00,86898.30722,485321.158,485321.158,0.00006 +6-10-2019 07:00,86886.38976,358256.857,358256.857,0.00006 +6-10-2019 08:00,86874.47298,431790.73,431790.73,0.00006 +6-10-2019 09:00,86862.55688,310927.183,310927.183,0.00006 +6-10-2019 10:00,86850.64146,271434.569,271434.569,0.00006 +6-10-2019 11:00,86838.72674,232903.174,232903.174,0.00006 +6-10-2019 12:00,86826.81273,200838.75,200838.75,0.00006 +6-10-2019 13:00,86814.89941,152684.42,152684.42,0.00006 +6-10-2019 14:00,86802.98682,117257.203,117257.203,0.00006 +6-10-2019 15:00,86791.07493,133135.212,133135.212,0.00006 +6-10-2019 16:00,86779.16378,230463.674,230463.674,0.00006 +6-10-2019 17:00,86767.25335,400598.87,400598.87,0.00006 +6-10-2019 18:00,86755.34367,404950.693,404950.693,0.00006 +6-10-2019 19:00,86743.43472,353396.218,353396.218,0.00006 +6-10-2019 20:00,86731.52653,291121.817,291121.817,0.00006 +6-10-2019 21:00,86719.61909,201940.249,201940.249,0.00006 +6-10-2019 22:00,86707.71241,97397.118,97397.118,0.00006 +6-10-2019 23:00,86695.8065,34088.992,34088.992,0.00006 +7-10-2019 00:00,86683.90136,20247.885,20247.885,0.00006 +7-10-2019 01:00,86671.99701,4869.858,4869.858,0.00006 +7-10-2019 02:00,86660.09344,4869.858,4869.858,0.00006 +7-10-2019 03:00,86648.19066,10354.169,10354.169,0.00006 +7-10-2019 04:00,86636.28868,37206.498,37206.498,0.00006 +7-10-2019 05:00,86624.3875,286443.444,286443.444,0.00006 +7-10-2019 06:00,86612.48714,503099.583,503099.583,0.00006 +7-10-2019 07:00,86600.58759,390382.545,390382.545,0.00006 +7-10-2019 08:00,86588.68887,451979.241,451979.241,0.00006 +7-10-2019 09:00,86576.79097,312104.527,312104.527,0.00006 +7-10-2019 10:00,86564.89391,273478.184,273478.184,0.00006 +7-10-2019 11:00,86552.99769,235931.969,235931.969,0.00006 +7-10-2019 12:00,86541.10232,202568.471,202568.471,0.00006 +7-10-2019 13:00,86529.2078,153503.273,153503.273,0.00006 +7-10-2019 14:00,86517.31414,117630.422,117630.422,0.00006 +7-10-2019 15:00,86505.42134,133858.368,133858.368,0.00006 +7-10-2019 16:00,86493.52942,231877.513,231877.513,0.00006 +7-10-2019 17:00,86481.63838,401059.036,401059.036,0.00006 +7-10-2019 18:00,86469.74822,405324.059,405324.059,0.00006 +7-10-2019 19:00,86457.85895,353592.841,353592.841,0.00006 +7-10-2019 20:00,86445.97057,308517.153,308517.153,0.00006 +7-10-2019 21:00,86434.0831,234570.252,234570.252,0.00006 +7-10-2019 22:00,86422.19654,113378.447,113378.447,0.00006 +7-10-2019 23:00,86410.31089,39574.794,39574.794,0.00006 +8-10-2019 00:00,86398.42616,21305.403,21305.403,0.00006 +8-10-2019 01:00,86386.54236,4869.858,4869.858,0.00006 +8-10-2019 02:00,86374.65949,4869.858,4869.858,0.00006 +8-10-2019 03:00,86362.77756,9739.709,9739.709,0.00006 +8-10-2019 04:00,86350.89658,36501.78,36501.78,0.00006 +8-10-2019 05:00,86339.01655,284320.078,284320.078,0.00006 +8-10-2019 06:00,86327.13747,496643.812,496643.812,0.00006 +8-10-2019 07:00,86315.25936,398870.003,398870.003,0.00006 +8-10-2019 08:00,86303.38222,459790.121,459790.121,0.00006 +8-10-2019 09:00,86291.50605,322803.187,322803.187,0.00006 +8-10-2019 10:00,86279.63087,270241.839,270241.839,0.00006 +8-10-2019 11:00,86267.75667,230404.769,230404.769,0.00006 +8-10-2019 12:00,86255.88347,198165.065,198165.065,0.00006 +8-10-2019 13:00,86244.01127,151251.457,151251.457,0.00006 +8-10-2019 14:00,86232.14007,116905.334,116905.334,0.00006 +8-10-2019 15:00,86220.26989,131816.699,131816.699,0.00006 +8-10-2019 16:00,86208.40073,224551.677,224551.677,0.00006 +8-10-2019 17:00,86196.53259,397911.29,397911.29,0.00006 +8-10-2019 18:00,86184.66548,402664.654,402664.654,0.00006 +8-10-2019 19:00,86172.7994,351825.866,351825.866,0.00006 +8-10-2019 20:00,86160.93437,291646.467,291646.467,0.00006 +8-10-2019 21:00,86149.07039,221042.675,221042.675,0.00006 +8-10-2019 22:00,86137.20747,112649.768,112649.768,0.00006 +8-10-2019 23:00,86125.3456,39570.181,39570.181,0.00006 +9-10-2019 00:00,86113.4848,21320.103,21320.103,0.00006 +9-10-2019 01:00,86101.62508,4869.858,4869.858,0.00006 +9-10-2019 02:00,86089.76644,4869.858,4869.858,0.00006 +9-10-2019 03:00,86077.90888,9739.709,9739.709,0.00006 +9-10-2019 04:00,86066.05241,35980.196,35980.196,0.00006 +9-10-2019 05:00,86054.19704,283347.715,283347.715,0.00006 +9-10-2019 06:00,86042.34278,493731.322,493731.322,0.00006 +9-10-2019 07:00,86030.48962,399577.29,399577.29,0.00006 +9-10-2019 08:00,86018.63758,463945.244,463945.244,0.00006 +9-10-2019 09:00,86006.78667,348095.811,348095.811,0.00006 +9-10-2019 10:00,85994.93688,282406.243,282406.243,0.00006 +9-10-2019 11:00,85983.08822,244540.24,244540.24,0.00006 +9-10-2019 12:00,85971.24071,198694.475,198694.475,0.00006 +9-10-2019 13:00,85959.39434,151266.633,151266.633,0.00006 +9-10-2019 14:00,85947.54913,116958.212,116958.212,0.00006 +9-10-2019 15:00,85935.70507,131969.138,131969.138,0.00006 +9-10-2019 16:00,85923.86218,227453.296,227453.296,0.00006 +9-10-2019 17:00,85912.02046,399208.824,399208.824,0.00006 +9-10-2019 18:00,85900.17992,403326.567,403326.567,0.00006 +9-10-2019 19:00,85888.34056,397196.002,397196.002,0.00006 +9-10-2019 20:00,85876.50239,369289.382,369289.382,0.00006 +9-10-2019 21:00,85864.66542,242175.325,242175.325,0.00006 +9-10-2019 22:00,85852.82965,115918.999,115918.999,0.00006 +9-10-2019 23:00,85840.99508,41018.922,41018.922,0.00006 +10-10-2019 00:00,85829.16173,21631.505,21631.505,0.00006 +10-10-2019 01:00,85817.3296,4869.858,4869.858,0.00006 +10-10-2019 02:00,85805.49869,4869.858,4869.858,0.00006 +10-10-2019 03:00,85793.66901,9739.709,9739.709,0.00006 +10-10-2019 04:00,85781.84058,36356.159,36356.159,0.00006 +10-10-2019 05:00,85770.01338,284019.239,284019.239,0.00006 +10-10-2019 06:00,85758.18744,504258.027,504258.027,0.00006 +10-10-2019 07:00,85746.36276,404710.334,404710.334,0.00006 +10-10-2019 08:00,85734.53933,465922.331,465922.331,0.00006 +10-10-2019 09:00,85722.71718,349191.297,349191.297,0.00006 +10-10-2019 10:00,85710.89629,266196.616,266196.616,0.00006 +10-10-2019 11:00,85699.07669,226434.208,226434.208,0.00006 +10-10-2019 12:00,85687.25838,194451.845,194451.845,0.00006 +10-10-2019 13:00,85675.44136,151211.858,151211.858,0.00006 +10-10-2019 14:00,85663.62564,116876.536,116876.536,0.00006 +10-10-2019 15:00,85651.81122,131486.103,131486.103,0.00006 +10-10-2019 16:00,85639.99811,222899.145,222899.145,0.00006 +10-10-2019 17:00,85628.18632,396695.558,396695.558,0.00006 +10-10-2019 18:00,85616.37586,401911.174,401911.174,0.00006 +10-10-2019 19:00,85604.56672,356289.605,356289.605,0.00006 +10-10-2019 20:00,85592.75892,329736.82,329736.82,0.00006 +10-10-2019 21:00,85580.95246,232771.966,232771.966,0.00006 +10-10-2019 22:00,85569.14734,113190.273,113190.273,0.00006 +10-10-2019 23:00,85557.34358,39521.153,39521.153,0.00006 +11-10-2019 00:00,85545.54118,21288.064,21288.064,0.00006 +11-10-2019 01:00,85533.74015,4869.858,4869.858,0.00006 +11-10-2019 02:00,85521.94048,4869.858,4869.858,0.00006 +11-10-2019 03:00,85510.1422,9739.709,9739.709,0.00006 +11-10-2019 04:00,85498.3453,35006.965,35006.965,0.00006 +11-10-2019 05:00,85486.54978,281051.596,281051.596,0.00006 +11-10-2019 06:00,85474.75567,486194.59,486194.59,0.00006 +11-10-2019 07:00,85462.96295,398953.478,398953.478,0.00006 +11-10-2019 08:00,85451.17165,458810.156,458810.156,0.00006 +11-10-2019 09:00,85439.38176,351667.575,351667.575,0.00006 +11-10-2019 10:00,85427.59329,294156.814,294156.814,0.00006 +11-10-2019 11:00,85415.80624,252605.465,252605.465,0.00006 +11-10-2019 12:00,85404.02063,195282.99,195282.99,0.00006 +11-10-2019 13:00,85392.23645,151047.113,151047.113,0.00006 +11-10-2019 14:00,85380.45373,116876.536,116876.536,0.00006 +11-10-2019 15:00,85368.67245,131486.103,131486.103,0.00006 +11-10-2019 16:00,85356.89262,220609.137,220609.137,0.00006 +11-10-2019 17:00,85345.11426,393462.097,393462.097,0.00006 +11-10-2019 18:00,85333.33737,398571.362,398571.362,0.00006 +11-10-2019 19:00,85321.56196,352277.114,352277.114,0.00006 +11-10-2019 20:00,85309.78802,312402.377,312402.377,0.00006 +11-10-2019 21:00,85298.01557,221500.846,221500.846,0.00006 +11-10-2019 22:00,85286.24462,107800.609,107800.609,0.00006 +11-10-2019 23:00,85274.47516,37760.135,37760.135,0.00006 +12-10-2019 00:00,85262.70721,20750.912,20750.912,0.00006 +12-10-2019 01:00,85250.94077,4869.858,4869.858,0.00006 +12-10-2019 02:00,85239.17584,4869.858,4869.858,0.00006 +12-10-2019 03:00,85227.41244,9739.709,9739.709,0.00006 +12-10-2019 04:00,85215.65057,34088.992,34088.992,0.00006 +12-10-2019 05:00,85203.89024,277853.331,277853.331,0.00006 +12-10-2019 06:00,85192.13144,473356.338,473356.338,0.00006 +12-10-2019 07:00,85180.3742,385088.655,385088.655,0.00006 +12-10-2019 08:00,85168.6185,438601.681,438601.681,0.00006 +12-10-2019 09:00,85156.86437,321412.924,321412.924,0.00006 +12-10-2019 10:00,85145.1118,270352.208,270352.208,0.00006 +12-10-2019 11:00,85133.36081,234564.981,234564.981,0.00006 +12-10-2019 12:00,85121.61139,194956.874,194956.874,0.00006 +12-10-2019 13:00,85109.86355,151065.747,151065.747,0.00006 +12-10-2019 14:00,85098.11731,116876.536,116876.536,0.00006 +12-10-2019 15:00,85086.37266,131613.825,131613.825,0.00006 +12-10-2019 16:00,85074.62961,222183.556,222183.556,0.00006 +12-10-2019 17:00,85062.88817,395252.795,395252.795,0.00006 +12-10-2019 18:00,85051.14834,400819.335,400819.335,0.00006 +12-10-2019 19:00,85039.41014,397174.253,397174.253,0.00006 +12-10-2019 20:00,85027.67356,360323.978,360323.978,0.00006 +12-10-2019 21:00,85015.93861,237399.743,237399.743,0.00006 +12-10-2019 22:00,85004.2053,114204.013,114204.013,0.00006 +12-10-2019 23:00,84992.47363,40488.483,40488.483,0.00006 +13-10-2019 00:00,84980.74362,21405.909,21405.909,0.00006 +13-10-2019 01:00,84969.01526,5080.334,5080.334,0.00006 +13-10-2019 02:00,84957.28856,4869.858,4869.858,0.00006 +13-10-2019 03:00,84945.56353,9739.709,9739.709,0.00006 +13-10-2019 04:00,84933.84018,34554.765,34554.765,0.00006 +13-10-2019 05:00,84922.1185,280071.645,280071.645,0.00006 +13-10-2019 06:00,84910.39852,485526.342,485526.342,0.00006 +13-10-2019 07:00,84898.68022,404411.952,404411.952,0.00006 +13-10-2019 08:00,84886.96362,456609.027,456609.027,0.00006 +13-10-2019 09:00,84875.24873,345264.549,345264.549,0.00006 +13-10-2019 10:00,84863.53555,279267.499,279267.499,0.00006 +13-10-2019 11:00,84851.82408,227292.135,227292.135,0.00006 +13-10-2019 12:00,84840.11434,187540.248,187540.248,0.00006 +13-10-2019 13:00,84828.40632,150965.528,150965.528,0.00006 +13-10-2019 14:00,84816.70004,116876.536,116876.536,0.00006 +13-10-2019 15:00,84804.9955,131486.103,131486.103,0.00006 +13-10-2019 16:00,84793.29271,214273.654,214273.654,0.00006 +13-10-2019 17:00,84781.59167,381117.352,381117.352,0.00006 +13-10-2019 18:00,84769.89239,389472.853,389472.853,0.00006 +13-10-2019 19:00,84758.19487,346059.854,346059.854,0.00006 +13-10-2019 20:00,84746.49912,287256.655,287256.655,0.00006 +13-10-2019 21:00,84734.80515,200699.121,200699.121,0.00006 +13-10-2019 22:00,84723.11297,97397.118,97397.118,0.00006 +13-10-2019 23:00,84711.42257,34088.992,34088.992,0.00006 +14-10-2019 00:00,84699.73396,19479.425,19479.425,0.00006 +14-10-2019 01:00,84688.04716,4869.858,4869.858,0.00006 +14-10-2019 02:00,84676.36216,4869.858,4869.858,0.00006 +14-10-2019 03:00,84664.67898,9739.709,9739.709,0.00006 +14-10-2019 04:00,84652.99762,34088.992,34088.992,0.00006 +14-10-2019 05:00,84641.31808,276155.761,276155.761,0.00006 +14-10-2019 06:00,84629.64037,463872.668,463872.668,0.00006 +14-10-2019 07:00,84617.96449,367395.329,367395.329,0.00006 +14-10-2019 08:00,84606.29047,417846.044,417846.044,0.00006 +14-10-2019 09:00,84594.61828,307774.495,307774.495,0.00006 +14-10-2019 10:00,84582.94796,265824.937,265824.937,0.00006 +14-10-2019 11:00,84571.27949,226048.396,226048.396,0.00006 +14-10-2019 12:00,84559.6129,186158.98,186158.98,0.00006 +14-10-2019 13:00,84547.94817,150965.528,150965.528,0.00006 +14-10-2019 14:00,84536.28532,116876.536,116876.536,0.00006 +14-10-2019 15:00,84524.62436,131486.103,131486.103,0.00006 +14-10-2019 16:00,84512.96529,214453.092,214453.092,0.00006 +14-10-2019 17:00,84501.30812,382146.534,382146.534,0.00006 +14-10-2019 18:00,84489.65285,390931.401,390931.401,0.00006 +14-10-2019 19:00,84477.99948,345955.841,345955.841,0.00006 +14-10-2019 20:00,84466.34804,286334.839,286334.839,0.00006 +14-10-2019 21:00,84454.69851,200463.116,200463.116,0.00006 +14-10-2019 22:00,84443.05091,97397.118,97397.118,0.00006 +14-10-2019 23:00,84431.40524,34088.992,34088.992,0.00006 +15-10-2019 00:00,84419.76151,19479.425,19479.425,0.00006 +15-10-2019 01:00,84408.11973,4869.858,4869.858,0.00006 +15-10-2019 02:00,84396.4799,4869.858,4869.858,0.00006 +15-10-2019 03:00,84384.84202,9739.709,9739.709,0.00006 +15-10-2019 04:00,84373.20611,34088.992,34088.992,0.00006 +15-10-2019 05:00,84361.57216,273410.557,273410.557,0.00006 +15-10-2019 06:00,84349.94019,453502.672,453502.672,0.00006 +15-10-2019 07:00,84338.3102,356415.535,356415.535,0.00006 +15-10-2019 08:00,84326.6822,415242.541,415242.541,0.00006 +15-10-2019 09:00,84315.05619,305611.593,305611.593,0.00006 +15-10-2019 10:00,84303.43218,261161.474,261161.474,0.00006 +15-10-2019 11:00,84291.81017,223341.692,223341.692,0.00006 +15-10-2019 12:00,84280.19018,181779.689,181779.689,0.00006 +15-10-2019 13:00,84268.5722,150965.528,150965.528,0.00006 +15-10-2019 14:00,84256.95624,116876.536,116876.536,0.00006 +15-10-2019 15:00,84245.34231,131486.103,131486.103,0.00006 +15-10-2019 16:00,84233.73042,214273.654,214273.654,0.00006 +15-10-2019 17:00,84222.12057,381459.33,381459.33,0.00006 +15-10-2019 18:00,84210.51276,389175.794,389175.794,0.00006 +15-10-2019 19:00,84198.90701,345383.339,345383.339,0.00006 +15-10-2019 20:00,84187.30331,286871.242,286871.242,0.00006 +15-10-2019 21:00,84175.70168,200596.375,200596.375,0.00006 +15-10-2019 22:00,84164.10212,97397.118,97397.118,0.00006 +15-10-2019 23:00,84152.50463,34088.992,34088.992,0.00006 +16-10-2019 00:00,84140.90923,19479.425,19479.425,0.00006 +16-10-2019 01:00,84129.31591,4869.858,4869.858,0.00006 +16-10-2019 02:00,84117.72469,4869.858,4869.858,0.00006 +16-10-2019 03:00,84106.13557,9739.709,9739.709,0.00006 +16-10-2019 04:00,84094.54856,34088.992,34088.992,0.00006 +16-10-2019 05:00,84082.96366,275291.093,275291.093,0.00006 +16-10-2019 06:00,84071.38087,459509.715,459509.715,0.00006 +16-10-2019 07:00,84059.80022,356448.274,356448.274,0.00006 +16-10-2019 08:00,84048.22169,415413.152,415413.152,0.00006 +16-10-2019 09:00,84036.64529,306171.152,306171.152,0.00006 +16-10-2019 10:00,84025.07104,262427.487,262427.487,0.00006 +16-10-2019 11:00,84013.49894,222172.174,222172.174,0.00006 +16-10-2019 12:00,84001.92898,182744.464,182744.464,0.00006 +16-10-2019 13:00,83990.36119,150965.528,150965.528,0.00006 +16-10-2019 14:00,83978.79557,116876.536,116876.536,0.00006 +16-10-2019 15:00,83967.23212,131486.103,131486.103,0.00006 +16-10-2019 16:00,83955.67084,214898.922,214898.922,0.00006 +16-10-2019 17:00,83944.11175,383627.083,383627.083,0.00006 +16-10-2019 18:00,83932.55485,393964.683,393964.683,0.00006 +16-10-2019 19:00,83921.00014,347034.94,347034.94,0.00006 +16-10-2019 20:00,83909.44763,287026.194,287026.194,0.00006 +16-10-2019 21:00,83897.89733,200636.289,200636.289,0.00006 +16-10-2019 22:00,83886.34925,97397.118,97397.118,0.00006 +16-10-2019 23:00,83874.80338,34088.992,34088.992,0.00006 +17-10-2019 00:00,83863.25974,19479.425,19479.425,0.00006 +17-10-2019 01:00,83851.71833,4869.858,4869.858,0.00006 +17-10-2019 02:00,83840.17916,4869.858,4869.858,0.00006 +17-10-2019 03:00,83828.64223,9739.709,9739.709,0.00006 +17-10-2019 04:00,83817.10755,34088.992,34088.992,0.00006 +17-10-2019 05:00,83805.57512,275116.709,275116.709,0.00006 +17-10-2019 06:00,83794.04496,459048.702,459048.702,0.00006 +17-10-2019 07:00,83782.51706,381948.294,381948.294,0.00006 +17-10-2019 08:00,83770.99143,426592.208,426592.208,0.00006 +17-10-2019 09:00,83759.46808,308235.83,308235.83,0.00006 +17-10-2019 10:00,83747.94702,265653.577,265653.577,0.00006 +17-10-2019 11:00,83736.42825,222142.977,222142.977,0.00006 +17-10-2019 12:00,83724.91177,184085.776,184085.776,0.00006 +17-10-2019 13:00,83713.3976,150965.528,150965.528,0.00006 +17-10-2019 14:00,83701.88573,116876.536,116876.536,0.00006 +17-10-2019 15:00,83690.37618,131486.103,131486.103,0.00006 +17-10-2019 16:00,83678.86895,217177.198,217177.198,0.00006 +17-10-2019 17:00,83667.36404,389473.994,389473.994,0.00006 +17-10-2019 18:00,83655.86147,396536.658,396536.658,0.00006 +17-10-2019 19:00,83644.36123,348974.171,348974.171,0.00006 +17-10-2019 20:00,83632.86334,287858.011,287858.011,0.00006 +17-10-2019 21:00,83621.3678,201326.811,201326.811,0.00006 +17-10-2019 22:00,83609.87461,103523.252,103523.252,0.00006 +17-10-2019 23:00,83598.38378,37746.667,37746.667,0.00006 +18-10-2019 00:00,83586.89532,20856.29,20856.29,0.00006 +18-10-2019 01:00,83575.40924,4869.858,4869.858,0.00006 +18-10-2019 02:00,83563.92553,4869.858,4869.858,0.00006 +18-10-2019 03:00,83552.44421,9739.709,9739.709,0.00006 +18-10-2019 04:00,83540.96528,34088.992,34088.992,0.00006 +18-10-2019 05:00,83529.48875,276269.987,276269.987,0.00006 +18-10-2019 06:00,83518.01462,465772.748,465772.748,0.00006 +18-10-2019 07:00,83506.54289,401262.379,401262.379,0.00006 +18-10-2019 08:00,83495.07359,451684.31,451684.31,0.00006 +18-10-2019 09:00,83483.6067,345271.857,345271.857,0.00006 +18-10-2019 10:00,83472.14224,276694.145,276694.145,0.00006 +18-10-2019 11:00,83460.68021,233113.58,233113.58,0.00006 +18-10-2019 12:00,83449.22062,192398.913,192398.913,0.00006 +18-10-2019 13:00,83437.76348,150965.528,150965.528,0.00006 +18-10-2019 14:00,83426.30878,116876.536,116876.536,0.00006 +18-10-2019 15:00,83414.85654,132432.678,132432.678,0.00006 +18-10-2019 16:00,83403.40676,222906.439,222906.439,0.00006 +18-10-2019 17:00,83391.95945,392843.528,392843.528,0.00006 +18-10-2019 18:00,83380.51462,411604.767,411604.767,0.00006 +18-10-2019 19:00,83369.07226,415377.34,415377.34,0.00006 +18-10-2019 20:00,83357.63239,353288.488,353288.488,0.00006 +18-10-2019 21:00,83346.195,233185.596,233185.596,0.00006 +18-10-2019 22:00,83334.76012,112714.028,112714.028,0.00006 +18-10-2019 23:00,83323.32774,39801.174,39801.174,0.00006 +19-10-2019 00:00,83311.89787,21208.894,21208.894,0.00006 +19-10-2019 01:00,83300.47051,5521.6,5521.6,0.00006 +19-10-2019 02:00,83289.04567,4869.858,4869.858,0.00006 +19-10-2019 03:00,83277.62336,9739.709,9739.709,0.00006 +19-10-2019 04:00,83266.20359,34088.992,34088.992,0.00006 +19-10-2019 05:00,83254.78635,278007.128,278007.128,0.00006 +19-10-2019 06:00,83243.37165,481820.955,481820.955,0.00006 +19-10-2019 07:00,83231.9595,438210.948,438210.948,0.00006 +19-10-2019 08:00,83220.54991,501504.682,501504.682,0.00006 +19-10-2019 09:00,83209.14289,423932.355,423932.355,0.00006 +19-10-2019 10:00,83197.73843,351802.108,351802.108,0.00006 +19-10-2019 11:00,83186.33654,305474.246,305474.246,0.00006 +19-10-2019 12:00,83174.93723,209646.563,209646.563,0.00006 +19-10-2019 13:00,83163.54051,153920.088,153920.088,0.00006 +19-10-2019 14:00,83152.14638,116876.536,116876.536,0.00006 +19-10-2019 15:00,83140.75484,133249.053,133249.053,0.00006 +19-10-2019 16:00,83129.36591,229398.792,229398.792,0.00006 +19-10-2019 17:00,83117.97959,418295.731,418295.731,0.00006 +19-10-2019 18:00,83106.59588,493969.35,493969.35,0.00006 +19-10-2019 19:00,83095.21479,466399.822,466399.822,0.00006 +19-10-2019 20:00,83083.83633,379188.796,379188.796,0.00006 +19-10-2019 21:00,83072.4605,246873.018,246873.018,0.00006 +19-10-2019 22:00,83061.08731,120098.16,120098.16,0.00006 +19-10-2019 23:00,83049.71676,43694.07,43694.07,0.00006 +20-10-2019 00:00,83038.34886,22203.181,22203.181,0.00006 +20-10-2019 01:00,83026.98362,5680.297,5680.297,0.00006 +20-10-2019 02:00,83015.62104,4869.858,4869.858,0.00006 +20-10-2019 03:00,83004.26112,9739.709,9739.709,0.00006 +20-10-2019 04:00,82992.90388,34503.84,34503.84,0.00006 +20-10-2019 05:00,82981.54932,280838.145,280838.145,0.00006 +20-10-2019 06:00,82970.19744,506275.826,506275.826,0.00006 +20-10-2019 07:00,82958.84825,489006.616,489006.616,0.00006 +20-10-2019 08:00,82947.50176,566041.784,566041.784,0.00006 +20-10-2019 09:00,82936.15797,532772.254,532772.254,0.00006 +20-10-2019 10:00,82924.81689,457847.019,457847.019,0.00006 +20-10-2019 11:00,82913.47852,424933.593,424933.593,0.00006 +20-10-2019 12:00,82902.14288,261272.788,261272.788,0.00006 +20-10-2019 13:00,82890.80995,172886.238,172886.238,0.00006 +20-10-2019 14:00,82879.47976,118823.054,118823.054,0.00006 +20-10-2019 15:00,82868.15231,142724.568,142724.568,0.00006 +20-10-2019 16:00,82856.8276,249155.515,249155.515,0.00006 +20-10-2019 17:00,82845.50564,528513.818,528513.818,0.00006 +20-10-2019 18:00,82834.18643,598655.071,598655.071,0.00006 +20-10-2019 19:00,82822.86999,546812.168,546812.168,0.00006 +20-10-2019 20:00,82811.55631,419020.896,419020.896,0.00006 +20-10-2019 21:00,82800.2454,261628.164,261628.164,0.00006 +20-10-2019 22:00,82788.93727,124274.64,124274.64,0.00006 +20-10-2019 23:00,82777.63192,44977.765,44977.765,0.00006 +21-10-2019 00:00,82766.32936,22558.403,22558.403,0.00006 +21-10-2019 01:00,82755.0296,5821.053,5821.053,0.00006 +21-10-2019 02:00,82743.73264,4869.858,4869.858,0.00006 +21-10-2019 03:00,82732.43849,9739.709,9739.709,0.00006 +21-10-2019 04:00,82721.14715,34924.939,34924.939,0.00006 +21-10-2019 05:00,82709.85863,282936.752,282936.752,0.00006 +21-10-2019 06:00,82698.57293,522853.177,522853.177,0.00006 +21-10-2019 07:00,82687.29007,514853.381,514853.381,0.00006 +21-10-2019 08:00,82676.01004,586941.369,586941.369,0.00006 +21-10-2019 09:00,82664.73285,551789.238,551789.238,0.00006 +21-10-2019 10:00,82653.45851,478742.95,478742.95,0.00006 +21-10-2019 11:00,82642.18702,447975.556,447975.556,0.00006 +21-10-2019 12:00,82630.91839,276513.727,276513.727,0.00006 +21-10-2019 13:00,82619.65263,176462.468,176462.468,0.00006 +21-10-2019 14:00,82608.38973,120012.739,120012.739,0.00006 +21-10-2019 15:00,82597.12972,145290.488,145290.488,0.00006 +21-10-2019 16:00,82585.87259,262976.315,262976.315,0.00006 +21-10-2019 17:00,82574.61834,562311.428,562311.428,0.00006 +21-10-2019 18:00,82563.36699,625649.388,625649.388,0.00006 +21-10-2019 19:00,82552.11854,561048.6,561048.6,0.00006 +21-10-2019 20:00,82540.87299,423699.605,423699.605,0.00006 +21-10-2019 21:00,82529.63036,264303.585,264303.585,0.00006 +21-10-2019 22:00,82518.39064,126517.867,126517.867,0.00006 +21-10-2019 23:00,82507.15385,45332.266,45332.266,0.00006 +22-10-2019 00:00,82495.91998,22612.135,22612.135,0.00006 +22-10-2019 01:00,82484.68905,5844.524,5844.524,0.00006 +22-10-2019 02:00,82473.46106,4869.858,4869.858,0.00006 +22-10-2019 03:00,82462.23602,9739.709,9739.709,0.00006 +22-10-2019 04:00,82451.01392,34933.969,34933.969,0.00006 +22-10-2019 05:00,82439.79479,282910.537,282910.537,0.00006 +22-10-2019 06:00,82428.57862,522422.565,522422.565,0.00006 +22-10-2019 07:00,82417.36541,511669.739,511669.739,0.00006 +22-10-2019 08:00,82406.15519,587522.019,587522.019,0.00006 +22-10-2019 09:00,82394.94794,547490.594,547490.594,0.00006 +22-10-2019 10:00,82383.74368,460976.726,460976.726,0.00006 +22-10-2019 11:00,82372.54241,430768.66,430768.66,0.00006 +22-10-2019 12:00,82361.34414,268802.562,268802.562,0.00006 +22-10-2019 13:00,82350.14888,170909.536,170909.536,0.00006 +22-10-2019 14:00,82338.95662,118627.103,118627.103,0.00006 +22-10-2019 15:00,82327.76738,143250.919,143250.919,0.00006 +22-10-2019 16:00,82316.58116,259789.628,259789.628,0.00006 +22-10-2019 17:00,82305.39796,566416.991,566416.991,0.00006 +22-10-2019 18:00,82294.2178,655217.577,655217.577,0.00006 +22-10-2019 19:00,82283.04068,596948.324,596948.324,0.00006 +22-10-2019 20:00,82271.8666,457194.409,457194.409,0.00006 +22-10-2019 21:00,82260.69557,282843.162,282843.162,0.00006 +22-10-2019 22:00,82249.5276,135037.882,135037.882,0.00006 +22-10-2019 23:00,82238.36269,48780.151,48780.151,0.00006 +23-10-2019 00:00,82227.20084,23650.571,23650.571,0.00006 +23-10-2019 01:00,82216.04207,6165.453,6165.453,0.00006 +23-10-2019 02:00,82204.88637,4869.858,4869.858,0.00006 +23-10-2019 03:00,82193.73376,11463.956,11463.956,0.00006 +23-10-2019 04:00,82182.58425,52242.799,52242.799,0.00006 +23-10-2019 05:00,82171.43782,370791.778,370791.778,0.00006 +23-10-2019 06:00,82160.2945,692482.539,692482.539,0.00006 +23-10-2019 07:00,82149.15428,683256.917,683256.917,0.00006 +23-10-2019 08:00,82138.01718,666642.879,666642.879,0.00006 +23-10-2019 09:00,82126.8832,631396.836,631396.836,0.00006 +23-10-2019 10:00,82115.75234,549686.102,549686.102,0.00006 +23-10-2019 11:00,82104.62461,558802.174,558802.174,0.00006 +23-10-2019 12:00,82093.50001,336501.487,336501.487,0.00006 +23-10-2019 13:00,82082.37856,182939.015,182939.015,0.00006 +23-10-2019 14:00,82071.26026,121592.219,121592.219,0.00006 +23-10-2019 15:00,82060.14511,140482.069,140482.069,0.00006 +23-10-2019 16:00,82049.03311,257496.029,257496.029,0.00006 +23-10-2019 17:00,82037.92429,523784.338,523784.338,0.00006 +23-10-2019 18:00,82026.81863,652079.834,652079.834,0.00006 +23-10-2019 19:00,82015.71614,586386.073,586386.073,0.00006 +23-10-2019 20:00,82004.61684,442920.471,442920.471,0.00006 +23-10-2019 21:00,81993.52073,271591.208,271591.208,0.00006 +23-10-2019 22:00,81982.42781,128761.003,128761.003,0.00006 +23-10-2019 23:00,81971.33809,46334.897,46334.897,0.00006 +24-10-2019 00:00,81960.25157,22856.526,22856.526,0.00006 +24-10-2019 01:00,81949.16826,5954.312,5954.312,0.00006 +24-10-2019 02:00,81938.08817,4869.858,4869.858,0.00006 +24-10-2019 03:00,81927.0113,9896.866,9896.866,0.00006 +24-10-2019 04:00,81915.93766,36157.009,36157.009,0.00006 +24-10-2019 05:00,81904.86725,295845.858,295845.858,0.00006 +24-10-2019 06:00,81893.80008,560136.5,560136.5,0.00006 +24-10-2019 07:00,81882.73615,563474.485,563474.485,0.00006 +24-10-2019 08:00,81871.67547,618902.151,618902.151,0.00006 +24-10-2019 09:00,81860.61805,588502.53,588502.53,0.00006 +24-10-2019 10:00,81849.56389,517064.226,517064.226,0.00006 +24-10-2019 11:00,81838.513,492903.18,492903.18,0.00006 +24-10-2019 12:00,81827.46538,300206.991,300206.991,0.00006 +24-10-2019 13:00,81816.42103,180151.566,180151.566,0.00006 +24-10-2019 14:00,81805.37998,120075.277,120075.277,0.00006 +24-10-2019 15:00,81794.34221,140433.573,140433.573,0.00006 +24-10-2019 16:00,81783.30773,245797.839,245797.839,0.00006 +24-10-2019 17:00,81772.27656,464289.847,464289.847,0.00006 +24-10-2019 18:00,81761.2487,557623.787,557623.787,0.00006 +24-10-2019 19:00,81750.22415,532438.739,532438.739,0.00006 +24-10-2019 20:00,81739.20291,413049.329,413049.329,0.00006 +24-10-2019 21:00,81728.185,259543.221,259543.221,0.00006 +24-10-2019 22:00,81717.17042,124711.034,124711.034,0.00006 +24-10-2019 23:00,81706.15917,44672.502,44672.502,0.00006 +25-10-2019 00:00,81695.15127,22376.361,22376.361,0.00006 +25-10-2019 01:00,81684.14671,5816.986,5816.986,0.00006 +25-10-2019 02:00,81673.1455,4869.858,4869.858,0.00006 +25-10-2019 03:00,81662.14766,9739.709,9739.709,0.00006 +25-10-2019 04:00,81651.15317,34311.816,34311.816,0.00006 +25-10-2019 05:00,81640.16206,280169.603,280169.603,0.00006 +25-10-2019 06:00,81629.17431,509614.028,509614.028,0.00006 +25-10-2019 07:00,81618.18995,505694.98,505694.98,0.00006 +25-10-2019 08:00,81607.20898,588438.228,588438.228,0.00006 +25-10-2019 09:00,81596.2314,549744.839,549744.839,0.00006 +25-10-2019 10:00,81585.25721,486491.061,486491.061,0.00006 +25-10-2019 11:00,81574.28643,461998.915,461998.915,0.00006 +25-10-2019 12:00,81563.31905,286759.494,286759.494,0.00006 +25-10-2019 13:00,81552.3551,179759.02,179759.02,0.00006 +25-10-2019 14:00,81541.39456,121759.435,121759.435,0.00006 +25-10-2019 15:00,81530.43744,145455.114,145455.114,0.00006 +25-10-2019 16:00,81519.48376,256162.851,256162.851,0.00006 +25-10-2019 17:00,81508.53351,528906.028,528906.028,0.00006 +25-10-2019 18:00,81497.58671,592793.796,592793.796,0.00006 +25-10-2019 19:00,81486.64335,523018.573,523018.573,0.00006 +25-10-2019 20:00,81475.70345,399065.982,399065.982,0.00006 +25-10-2019 21:00,81464.76701,253131.165,253131.165,0.00006 +25-10-2019 22:00,81453.83403,120856.967,120856.967,0.00006 +25-10-2019 23:00,81442.90453,43035.363,43035.363,0.00006 +26-10-2019 00:00,81431.9785,21929.138,21929.138,0.00006 +26-10-2019 01:00,81421.05595,5660.207,5660.207,0.00006 +26-10-2019 02:00,81410.13689,4869.858,4869.858,0.00006 +26-10-2019 03:00,81399.22132,9739.709,9739.709,0.00006 +26-10-2019 04:00,81388.30925,34088.992,34088.992,0.00006 +26-10-2019 05:00,81377.40069,276318.175,276318.175,0.00006 +26-10-2019 06:00,81366.49563,484921.703,484921.703,0.00006 +26-10-2019 07:00,81355.59409,461643.826,461643.826,0.00006 +26-10-2019 08:00,81344.69607,519541.75,519541.75,0.00006 +26-10-2019 09:00,81333.80158,420693.602,420693.602,0.00006 +26-10-2019 10:00,81322.91062,322725.361,322725.361,0.00006 +26-10-2019 11:00,81312.0232,269139.22,269139.22,0.00006 +26-10-2019 12:00,81301.13933,187911.5,187911.5,0.00006 +26-10-2019 13:00,81290.259,150965.528,150965.528,0.00006 +26-10-2019 14:00,81279.38223,116876.536,116876.536,0.00006 +26-10-2019 15:00,81268.50901,131529.573,131529.573,0.00006 +26-10-2019 16:00,81257.63937,217507.094,217507.094,0.00006 +26-10-2019 17:00,81246.77329,390376.504,390376.504,0.00006 +26-10-2019 18:00,81235.91079,400487.773,400487.773,0.00006 +26-10-2019 19:00,81225.05188,361306.47,361306.47,0.00006 +26-10-2019 20:00,81214.19655,313276.768,313276.768,0.00006 +26-10-2019 21:00,81203.34482,216759.746,216759.746,0.00006 +26-10-2019 22:00,81192.49668,108609.529,108609.529,0.00006 +26-10-2019 23:00,81181.65215,40032.727,40032.727,0.00006 +27-10-2019 00:00,81170.81124,21888.405,21888.405,0.00006 +27-10-2019 01:00,81159.97393,7375.389,7375.389,0.00006 +27-10-2019 02:00,81149.14025,5672.786,5672.786,0.00006 +27-10-2019 03:00,81138.3102,9739.709,9739.709,0.00006 +27-10-2019 04:00,81127.48378,34088.992,34088.992,0.00006 +27-10-2019 05:00,81116.661,272711.922,272711.922,0.00006 +27-10-2019 06:00,81105.84186,458418.723,458418.723,0.00006 +27-10-2019 07:00,81095.02638,382701.123,382701.123,0.00006 +27-10-2019 08:00,81084.21454,475985.454,475985.454,0.00006 +27-10-2019 09:00,81073.40637,372139.18,372139.18,0.00006 +27-10-2019 10:00,81062.60187,400270.402,400270.402,0.00006 +27-10-2019 11:00,81051.80103,400114.225,400114.225,0.00006 +27-10-2019 12:00,81041.00388,305450.943,305450.943,0.00006 +27-10-2019 13:00,81030.21041,199155.173,199155.173,0.00006 +27-10-2019 14:00,81019.42062,124618.438,124618.438,0.00006 +27-10-2019 15:00,81008.63453,154141.071,154141.071,0.00006 +27-10-2019 16:00,80997.85214,298835.761,298835.761,0.00006 +27-10-2019 17:00,80987.07346,627247.173,627247.173,0.00006 +27-10-2019 18:00,80976.29848,704271.001,704271.001,0.00006 +27-10-2019 19:00,80965.52723,650080.263,650080.263,0.00006 +27-10-2019 20:00,80954.75969,551047.112,551047.112,0.00006 +27-10-2019 21:00,80943.99588,367309.152,367309.152,0.00006 +27-10-2019 22:00,80933.2358,180294.366,180294.366,0.00006 +27-10-2019 23:00,80922.47947,92971.039,92971.039,0.00006 +28-10-2019 00:00,80911.72687,60919.985,60919.985,0.00006 +28-10-2019 01:00,80900.97803,15827.581,15827.581,0.00006 +28-10-2019 02:00,80890.23294,6255.641,6255.641,0.00006 +28-10-2019 03:00,80879.49161,9739.709,9739.709,0.00006 +28-10-2019 04:00,80868.75405,38206.77,38206.77,0.00006 +28-10-2019 05:00,80858.02026,310915.262,310915.262,0.00006 +28-10-2019 06:00,80847.29025,617804.012,617804.012,0.00006 +28-10-2019 07:00,80836.56402,692611.297,692611.297,0.00006 +28-10-2019 08:00,80825.84157,633592.967,633592.967,0.00006 +28-10-2019 09:00,80815.12293,598246.796,598246.796,0.00006 +28-10-2019 10:00,80804.40808,485842.308,485842.308,0.00006 +28-10-2019 11:00,80793.69703,454986.945,454986.945,0.00006 +28-10-2019 12:00,80782.9898,356697.726,356697.726,0.00006 +28-10-2019 13:00,80772.28638,248940.426,248940.426,0.00006 +28-10-2019 14:00,80761.58678,128909.326,128909.326,0.00006 +28-10-2019 15:00,80750.89101,170029.615,170029.615,0.00006 +28-10-2019 16:00,80740.19907,418994.758,418994.758,0.00006 +28-10-2019 17:00,80729.51097,799968.428,799968.428,0.00006 +28-10-2019 18:00,80718.82671,871528.525,871528.525,0.00006 +28-10-2019 19:00,80708.1463,1176017.64,1176017.64,0.00006 +28-10-2019 20:00,80697.46975,1171400.048,1171400.048,0.00006 +28-10-2019 21:00,80686.79706,787490.109,787490.109,0.00006 +28-10-2019 22:00,80676.12823,386844.969,386844.969,0.00006 +28-10-2019 23:00,80665.46327,173751.284,173751.284,0.00006 +29-10-2019 00:00,80654.80219,71060.549,71060.549,0.00006 +29-10-2019 01:00,80644.14498,17914.925,17914.925,0.00006 +29-10-2019 02:00,80633.49167,6528.41,6528.41,0.00006 +29-10-2019 03:00,80622.84225,14480.907,14480.907,0.00006 +29-10-2019 04:00,80612.19673,50273.349,50273.349,0.00006 +29-10-2019 05:00,80601.55511,393621.508,393621.508,0.00006 +29-10-2019 06:00,80590.9174,825302.142,825302.142,0.00006 +29-10-2019 07:00,80580.2836,933398.942,933398.942,0.00006 +29-10-2019 08:00,80569.65373,812049.833,812049.833,0.00006 +29-10-2019 09:00,80559.02778,714386.561,714386.561,0.00006 +29-10-2019 10:00,80548.40576,643962.263,643962.263,0.00006 +29-10-2019 11:00,80537.78768,696958.052,696958.052,0.00006 +29-10-2019 12:00,80527.17354,369775.364,369775.364,0.00006 +29-10-2019 13:00,80516.56334,257706.379,257706.379,0.00006 +29-10-2019 14:00,80505.9571,133005.831,133005.831,0.00006 +29-10-2019 15:00,80495.35482,177880.479,177880.479,0.00006 +29-10-2019 16:00,80484.7565,522894.568,522894.568,0.00006 +29-10-2019 17:00,80474.16215,1047184.054,1047184.054,0.00006 +29-10-2019 18:00,80463.57178,1443503.348,1443503.348,0.00006 +29-10-2019 19:00,80452.98538,1566512.549,1566512.549,0.00006 +29-10-2019 20:00,80442.40297,1350953.625,1350953.625,0.00006 +29-10-2019 21:00,80431.82456,912080.841,912080.841,0.00006 +29-10-2019 22:00,80421.25013,451745.532,451745.532,0.00006 +29-10-2019 23:00,80410.67971,203279.223,203279.223,0.00006 +30-10-2019 00:00,80400.1133,84808.311,84808.311,0.00006 +30-10-2019 01:00,80389.5509,22412.04,22412.04,0.00006 +30-10-2019 02:00,80378.99252,11712.47,11712.47,0.00006 +30-10-2019 03:00,80368.43816,20819.799,20819.799,0.00006 +30-10-2019 04:00,80357.88783,66299.114,66299.114,0.00006 +30-10-2019 05:00,80347.34154,509037.529,509037.529,0.00006 +30-10-2019 06:00,80336.79928,1113641.627,1113641.627,0.00006 +30-10-2019 07:00,80326.26107,1377538.617,1377538.617,0.00006 +30-10-2019 08:00,80315.72692,1010107.021,1010107.021,0.00006 +30-10-2019 09:00,80305.19681,1011641.736,1011641.736,0.00006 +30-10-2019 10:00,80294.67077,993869.94,993869.94,0.00006 +30-10-2019 11:00,80284.1488,1140358.527,1140358.527,0.00006 +30-10-2019 12:00,80273.6309,770215.894,770215.894,0.00006 +30-10-2019 13:00,80263.11707,301327.705,301327.705,0.00006 +30-10-2019 14:00,80252.60733,137006.023,137006.023,0.00006 +30-10-2019 15:00,80242.10168,213307.297,213307.297,0.00006 +30-10-2019 16:00,80231.60012,697760.567,697760.567,0.00006 +30-10-2019 17:00,80221.10266,1355875.5,1355875.5,0.00006 +30-10-2019 18:00,80210.60931,1859112.864,1859112.864,0.00006 +30-10-2019 19:00,80200.12007,1870600.69,1870600.69,0.00006 +30-10-2019 20:00,80189.63494,1577877.868,1577877.868,0.00006 +30-10-2019 21:00,80179.15393,1047270.945,1047270.945,0.00006 +30-10-2019 22:00,80168.67705,520438.247,520438.247,0.00006 +30-10-2019 23:00,80158.2043,244331.388,244331.388,0.00006 +31-10-2019 00:00,80147.73569,99681.575,99681.575,0.00006 +31-10-2019 01:00,80137.27122,31748.577,31748.577,0.00006 +31-10-2019 02:00,80126.8109,18112.332,18112.332,0.00006 +31-10-2019 03:00,80116.35474,26204.192,26204.192,0.00006 +31-10-2019 04:00,80105.90273,96006.092,96006.092,0.00006 +31-10-2019 05:00,80095.45488,720073.326,720073.326,0.00006 +31-10-2019 06:00,80085.01121,1585580.479,1585580.479,0.00006 +31-10-2019 07:00,80074.57171,1938076.098,1938076.098,0.00006 +31-10-2019 08:00,80064.13639,1296323.742,1296323.742,0.00006 +31-10-2019 09:00,80053.70525,1340641.344,1340641.344,0.00006 +31-10-2019 10:00,80043.27831,1524725.069,1524725.069,0.00006 +31-10-2019 11:00,80032.85556,1778516.642,1778516.642,0.00006 +31-10-2019 12:00,80022.43701,1330850.885,1330850.885,0.00006 +31-10-2019 13:00,80012.02267,702894.08,702894.08,0.00006 +31-10-2019 14:00,80001.61255,333795.49,333795.49,0.00006 +31-10-2019 15:00,79991.20664,763902.027,763902.027,0.00006 +31-10-2019 16:00,79980.80495,1695206.646,1695206.646,0.00006 +31-10-2019 17:00,79970.4075,2461228.686,2461228.686,0.00006 +31-10-2019 18:00,79960.01427,2413013.169,2413013.169,0.00006 +31-10-2019 19:00,79949.62529,2270240.847,2270240.847,0.00006 +31-10-2019 20:00,79939.24055,1878325.533,1878325.533,0.00006 +31-10-2019 21:00,79928.86006,1263855.88,1263855.88,0.00006 +31-10-2019 22:00,79918.48383,627405.03,627405.03,0.00006 +31-10-2019 23:00,79908.11185,284972.191,284972.191,0.00006 +1-11-2019 00:00,79897.74414,115507.735,115507.735,0.00006 +1-11-2019 01:00,79887.38071,38453.681,38453.681,0.00006 +1-11-2019 02:00,79877.02155,21962.493,21962.493,0.00006 +1-11-2019 03:00,79866.66667,35346.479,35346.479,0.00006 +1-11-2019 04:00,79856.31608,146614.846,146614.846,0.00006 +1-11-2019 05:00,79845.96978,915142.011,915142.011,0.00006 +1-11-2019 06:00,79835.62777,1895267.472,1895267.472,0.00006 +1-11-2019 07:00,79825.29008,2357108.411,2357108.411,0.00006 +1-11-2019 08:00,79814.95669,1926570.345,1926570.345,0.00006 +1-11-2019 09:00,79804.62761,2034359.978,2034359.978,0.00006 +1-11-2019 10:00,79794.30285,2237252.486,2237252.486,0.00006 +1-11-2019 11:00,79783.98242,2983144.71,2983144.71,0.00006 +1-11-2019 12:00,79773.66632,2588213.985,2588213.985,0.00006 +1-11-2019 13:00,79763.35455,1413762.966,1413762.966,0.00006 +1-11-2019 14:00,79753.04712,812740.852,812740.852,0.00006 +1-11-2019 15:00,79742.74404,1932624.029,1932624.029,0.00006 +1-11-2019 16:00,79732.44531,2183005.258,2183005.258,0.00006 +1-11-2019 17:00,79722.15094,2388401.106,2388401.106,0.00006 +1-11-2019 18:00,79711.86092,2251996.957,2251996.957,0.00006 +1-11-2019 19:00,79701.57528,2019057.677,2019057.677,0.00006 +1-11-2019 20:00,79691.294,1617674.499,1617674.499,0.00006 +1-11-2019 21:00,79681.01711,1039453.772,1039453.772,0.00006 +1-11-2019 22:00,79670.74459,489589.52,489589.52,0.00006 +1-11-2019 23:00,79660.47646,214051.04,214051.04,0.00006 +2-11-2019 00:00,79650.21273,85912.365,85912.365,0.00006 +2-11-2019 01:00,79639.9534,24263.974,24263.974,0.00006 +2-11-2019 02:00,79629.69847,13412.875,13412.875,0.00006 +2-11-2019 03:00,79619.44794,18181.884,18181.884,0.00006 +2-11-2019 04:00,79609.20184,62786.178,62786.178,0.00006 +2-11-2019 05:00,79598.96015,464832.935,464832.935,0.00006 +2-11-2019 06:00,79588.72289,989375.219,989375.219,0.00006 +2-11-2019 07:00,79578.49005,1233941.261,1233941.261,0.00006 +2-11-2019 08:00,79568.26166,1153711.167,1153711.167,0.00006 +2-11-2019 09:00,79558.0377,1410728.186,1410728.186,0.00006 +2-11-2019 10:00,79547.81819,1502251.758,1502251.758,0.00006 +2-11-2019 11:00,79537.60313,2010895.369,2010895.369,0.00006 +2-11-2019 12:00,79527.39253,1765113.749,1765113.749,0.00006 +2-11-2019 13:00,79517.18639,889912.38,889912.38,0.00006 +2-11-2019 14:00,79506.98471,445523.974,445523.974,0.00006 +2-11-2019 15:00,79496.78751,881539.176,881539.176,0.00006 +2-11-2019 16:00,79486.59479,1635349.331,1635349.331,0.00006 +2-11-2019 17:00,79476.40654,1962689.764,1962689.764,0.00006 +2-11-2019 18:00,79466.22279,1932715.484,1932715.484,0.00006 +2-11-2019 19:00,79456.04353,1791605.389,1791605.389,0.00006 +2-11-2019 20:00,79445.86877,1456974.008,1456974.008,0.00006 +2-11-2019 21:00,79435.69851,952539.875,952539.875,0.00006 +2-11-2019 22:00,79425.53276,453645.024,453645.024,0.00006 +2-11-2019 23:00,79415.37152,202486.634,202486.634,0.00006 +3-11-2019 00:00,79405.21481,82647.922,82647.922,0.00006 +3-11-2019 01:00,79395.06261,22500.639,22500.639,0.00006 +3-11-2019 02:00,79384.91495,10296.783,10296.783,0.00006 +3-11-2019 03:00,79374.77183,16214.044,16214.044,0.00006 +3-11-2019 04:00,79364.63324,53209.667,53209.667,0.00006 +3-11-2019 05:00,79354.4992,426168.624,426168.624,0.00006 +3-11-2019 06:00,79344.36971,921686.871,921686.871,0.00006 +3-11-2019 07:00,79334.24477,1211119.826,1211119.826,0.00006 +3-11-2019 08:00,79324.1244,1135042.132,1135042.132,0.00006 +3-11-2019 09:00,79314.00859,1365784.518,1365784.518,0.00006 +3-11-2019 10:00,79303.89735,1591365.132,1591365.132,0.00006 +3-11-2019 11:00,79293.7907,2095824.794,2095824.794,0.00006 +3-11-2019 12:00,79283.68862,1817716.257,1817716.257,0.00006 +3-11-2019 13:00,79273.59113,982509.108,982509.108,0.00006 +3-11-2019 14:00,79263.49823,499745.855,499745.855,0.00006 +3-11-2019 15:00,79253.40993,1110556.23,1110556.23,0.00006 +3-11-2019 16:00,79243.32623,1767946.999,1767946.999,0.00006 +3-11-2019 17:00,79233.24714,2039448.152,2039448.152,0.00006 +3-11-2019 18:00,79223.17266,1992138.197,1992138.197,0.00006 +3-11-2019 19:00,79213.10281,1826277.166,1826277.166,0.00006 +3-11-2019 20:00,79203.03757,1497973.561,1497973.561,0.00006 +3-11-2019 21:00,79192.97696,977474.533,977474.533,0.00006 +3-11-2019 22:00,79182.92099,463574.916,463574.916,0.00006 +3-11-2019 23:00,79172.86966,208497.905,208497.905,0.00006 +4-11-2019 00:00,79162.82297,84777.308,84777.308,0.00006 +4-11-2019 01:00,79152.78092,22289.561,22289.561,0.00006 +4-11-2019 02:00,79142.74354,9822.484,9822.484,0.00006 +4-11-2019 03:00,79132.71081,15461.026,15461.026,0.00006 +4-11-2019 04:00,79122.68275,52093.293,52093.293,0.00006 +4-11-2019 05:00,79112.65936,410029.305,410029.305,0.00006 +4-11-2019 06:00,79102.64064,873211.773,873211.773,0.00006 +4-11-2019 07:00,79092.6266,1143685.445,1143685.445,0.00006 +4-11-2019 08:00,79082.61725,1099041.461,1099041.461,0.00006 +4-11-2019 09:00,79072.61259,1369403.812,1369403.812,0.00006 +4-11-2019 10:00,79062.61263,1603390.229,1603390.229,0.00006 +4-11-2019 11:00,79052.61736,2131600.681,2131600.681,0.00006 +4-11-2019 12:00,79042.6268,1854567.477,1854567.477,0.00006 +4-11-2019 13:00,79032.64096,996557.156,996557.156,0.00006 +4-11-2019 14:00,79022.65983,500445.68,500445.68,0.00006 +4-11-2019 15:00,79012.68342,1092229.845,1092229.845,0.00006 +4-11-2019 16:00,79002.71173,1787199.029,1787199.029,0.00006 +4-11-2019 17:00,78992.74478,2052649.543,2052649.543,0.00006 +4-11-2019 18:00,78982.78257,1995315.476,1995315.476,0.00006 +4-11-2019 19:00,78972.82509,1827508.83,1827508.83,0.00006 +4-11-2019 20:00,78962.87237,1485406.468,1485406.468,0.00006 +4-11-2019 21:00,78952.92439,962411.219,962411.219,0.00006 +4-11-2019 22:00,78942.98118,459569.369,459569.369,0.00006 +4-11-2019 23:00,78933.04272,203329.917,203329.917,0.00006 +5-11-2019 00:00,78923.10904,83442.891,83442.891,0.00006 +5-11-2019 01:00,78913.18012,22386.952,22386.952,0.00006 +5-11-2019 02:00,78903.25599,9561.174,9561.174,0.00006 +5-11-2019 03:00,78893.33663,15273.013,15273.013,0.00006 +5-11-2019 04:00,78883.42207,54502.168,54502.168,0.00006 +5-11-2019 05:00,78873.51229,417630.619,417630.619,0.00006 +5-11-2019 06:00,78863.60732,910569.268,910569.268,0.00006 +5-11-2019 07:00,78853.70715,1218164.906,1218164.906,0.00006 +5-11-2019 08:00,78843.81178,1142175.615,1142175.615,0.00006 +5-11-2019 09:00,78833.92123,1425649.694,1425649.694,0.00006 +5-11-2019 10:00,78824.0355,1682785.293,1682785.293,0.00006 +5-11-2019 11:00,78814.1546,2252702.018,2252702.018,0.00006 +5-11-2019 12:00,78804.27852,1966094.578,1966094.578,0.00006 +5-11-2019 13:00,78794.40727,1067764.698,1067764.698,0.00006 +5-11-2019 14:00,78784.54086,558566.68,558566.68,0.00006 +5-11-2019 15:00,78774.6793,1325914.31,1325914.31,0.00006 +5-11-2019 16:00,78764.82259,1866127.683,1866127.683,0.00006 +5-11-2019 17:00,78754.97073,2141115.312,2141115.312,0.00006 +5-11-2019 18:00,78745.12373,2082608.101,2082608.101,0.00006 +5-11-2019 19:00,78735.28159,1879143.763,1879143.763,0.00006 +5-11-2019 20:00,78725.44432,1515013.108,1515013.108,0.00006 +5-11-2019 21:00,78715.61193,983692.703,983692.703,0.00006 +5-11-2019 22:00,78705.78442,468684.671,468684.671,0.00006 +5-11-2019 23:00,78695.96179,207629.079,207629.079,0.00006 +6-11-2019 00:00,78686.14405,84813.162,84813.162,0.00006 +6-11-2019 01:00,78676.3312,22660.855,22660.855,0.00006 +6-11-2019 02:00,78666.52326,9767.212,9767.212,0.00006 +6-11-2019 03:00,78656.72022,15660.575,15660.575,0.00006 +6-11-2019 04:00,78646.92209,57225.049,57225.049,0.00006 +6-11-2019 05:00,78637.12887,429306.339,429306.339,0.00006 +6-11-2019 06:00,78627.34057,948604.853,948604.853,0.00006 +6-11-2019 07:00,78617.5572,1290215.367,1290215.367,0.00006 +6-11-2019 08:00,78607.77876,1188671.26,1188671.26,0.00006 +6-11-2019 09:00,78598.00525,1481775.911,1481775.911,0.00006 +6-11-2019 10:00,78588.23668,1674031.66,1674031.66,0.00006 +6-11-2019 11:00,78578.47306,2050545.14,2050545.14,0.00006 +6-11-2019 12:00,78568.71438,1919992.907,1919992.907,0.00006 +6-11-2019 13:00,78558.96067,1052807,1052807,0.00006 +6-11-2019 14:00,78549.21191,570135.244,570135.244,0.00006 +6-11-2019 15:00,78539.46811,1508026.996,1508026.996,0.00006 +6-11-2019 16:00,78529.72929,2038297.968,2038297.968,0.00006 +6-11-2019 17:00,78519.99544,2265949.476,2265949.476,0.00006 +6-11-2019 18:00,78510.26657,2180972.318,2180972.318,0.00006 +6-11-2019 19:00,78500.54269,1997609.726,1997609.726,0.00006 +6-11-2019 20:00,78490.8238,1629734.47,1629734.47,0.00006 +6-11-2019 21:00,78481.1099,1053774.239,1053774.239,0.00006 +6-11-2019 22:00,78471.401,502122.656,502122.656,0.00006 +6-11-2019 23:00,78461.69711,225014.342,225014.342,0.00006 +7-11-2019 00:00,78451.99822,90282.213,90282.213,0.00006 +7-11-2019 01:00,78442.30435,24152.037,24152.037,0.00006 +7-11-2019 02:00,78432.61551,12301.387,12301.387,0.00006 +7-11-2019 03:00,78422.93168,17939.047,17939.047,0.00006 +7-11-2019 04:00,78413.25289,70737.142,70737.142,0.00006 +7-11-2019 05:00,78403.57913,496185.984,496185.984,0.00006 +7-11-2019 06:00,78393.91041,1117713.443,1117713.443,0.00006 +7-11-2019 07:00,78384.24674,1510667.963,1510667.963,0.00006 +7-11-2019 08:00,78374.58811,1321910.093,1321910.093,0.00006 +7-11-2019 09:00,78364.93454,1595418.636,1595418.636,0.00006 +7-11-2019 10:00,78355.28603,1858638.677,1858638.677,0.00006 +7-11-2019 11:00,78345.64259,2520326.375,2520326.375,0.00006 +7-11-2019 12:00,78336.00421,2261944.972,2261944.972,0.00006 +7-11-2019 13:00,78326.37091,1237496.75,1237496.75,0.00006 +7-11-2019 14:00,78316.74269,691585.958,691585.958,0.00006 +7-11-2019 15:00,78307.11955,1762759.46,1762759.46,0.00006 +7-11-2019 16:00,78297.5015,2055926.25,2055926.25,0.00006 +7-11-2019 17:00,78287.88855,2305782.486,2305782.486,0.00006 +7-11-2019 18:00,78278.2807,2243327.597,2243327.597,0.00006 +7-11-2019 19:00,78268.67795,2057807.584,2057807.584,0.00006 +7-11-2019 20:00,78259.08031,1699511.058,1699511.058,0.00006 +7-11-2019 21:00,78249.48778,1114858.605,1114858.605,0.00006 +7-11-2019 22:00,78239.90038,539417.396,539417.396,0.00006 +7-11-2019 23:00,78230.31809,241413.396,241413.396,0.00006 +8-11-2019 00:00,78220.74094,98605.15,98605.15,0.00006 +8-11-2019 01:00,78211.16892,28580.125,28580.125,0.00006 +8-11-2019 02:00,78201.60204,15648.031,15648.031,0.00006 +8-11-2019 03:00,78192.0403,24512.614,24512.614,0.00006 +8-11-2019 04:00,78182.48371,101674.839,101674.839,0.00006 +8-11-2019 05:00,78172.93228,680070.58,680070.58,0.00006 +8-11-2019 06:00,78163.386,1560874.448,1560874.448,0.00006 +8-11-2019 07:00,78153.84489,2032837.478,2032837.478,0.00006 +8-11-2019 08:00,78144.30895,1377493.523,1377493.523,0.00006 +8-11-2019 09:00,78134.77818,1353888.34,1353888.34,0.00006 +8-11-2019 10:00,78125.25258,1411688.775,1411688.775,0.00006 +8-11-2019 11:00,78115.73217,1748765.2,1748765.2,0.00006 +8-11-2019 12:00,78106.21695,1428906.808,1428906.808,0.00006 +8-11-2019 13:00,78096.70692,713525.001,713525.001,0.00006 +8-11-2019 14:00,78087.20209,363292.293,363292.293,0.00006 +8-11-2019 15:00,78077.70246,779176.622,779176.622,0.00006 +8-11-2019 16:00,78068.20804,1945549.431,1945549.431,0.00006 +8-11-2019 17:00,78058.71883,2560296.935,2560296.935,0.00006 +8-11-2019 18:00,78049.23484,2533615.63,2533615.63,0.00006 +8-11-2019 19:00,78039.75607,2372809.194,2372809.194,0.00006 +8-11-2019 20:00,78030.28253,1921364.62,1921364.62,0.00006 +8-11-2019 21:00,78020.81422,1229363.443,1229363.443,0.00006 +8-11-2019 22:00,78011.35114,597292.647,597292.647,0.00006 +8-11-2019 23:00,78001.89331,267917.391,267917.391,0.00006 +9-11-2019 00:00,77992.44073,108445.295,108445.295,0.00006 +9-11-2019 01:00,77982.99339,34938.512,34938.512,0.00006 +9-11-2019 02:00,77973.55131,19477.864,19477.864,0.00006 +9-11-2019 03:00,77964.1145,25546.43,25546.43,0.00006 +9-11-2019 04:00,77954.68295,130445.385,130445.385,0.00006 +9-11-2019 05:00,77945.25667,774915.939,774915.939,0.00006 +9-11-2019 06:00,77935.83566,1693955.858,1693955.858,0.00006 +9-11-2019 07:00,77926.41994,2190111.021,2190111.021,0.00006 +9-11-2019 08:00,77917.0095,1782399.08,1782399.08,0.00006 +9-11-2019 09:00,77907.60435,1915329.388,1915329.388,0.00006 +9-11-2019 10:00,77898.2045,2150505.126,2150505.126,0.00006 +9-11-2019 11:00,77888.80995,2905499.177,2905499.177,0.00006 +9-11-2019 12:00,77879.4207,2486860.509,2486860.509,0.00006 +9-11-2019 13:00,77870.03676,1438196.039,1438196.039,0.00006 +9-11-2019 14:00,77860.65813,815507.231,815507.231,0.00006 +9-11-2019 15:00,77851.28483,2166015.355,2166015.355,0.00006 +9-11-2019 16:00,77841.91685,2339930.25,2339930.25,0.00006 +9-11-2019 17:00,77832.55419,2603658.246,2603658.246,0.00006 +9-11-2019 18:00,77823.19687,2489717.209,2489717.209,0.00006 +9-11-2019 19:00,77813.84489,2290745.464,2290745.464,0.00006 +9-11-2019 20:00,77804.49826,1890604.772,1890604.772,0.00006 +9-11-2019 21:00,77795.15697,1247093.33,1247093.33,0.00006 +9-11-2019 22:00,77785.82103,617686.356,617686.356,0.00006 +9-11-2019 23:00,77776.49045,283013.836,283013.836,0.00006 +10-11-2019 00:00,77767.16523,115439.415,115439.415,0.00006 +10-11-2019 01:00,77757.84538,39101.594,39101.594,0.00006 +10-11-2019 02:00,77748.53091,22933.113,22933.113,0.00006 +10-11-2019 03:00,77739.22181,36450.358,36450.358,0.00006 +10-11-2019 04:00,77729.91809,190205.176,190205.176,0.00006 +10-11-2019 05:00,77720.61976,1029489.475,1029489.475,0.00006 +10-11-2019 06:00,77711.32682,2240513.317,2240513.317,0.00006 +10-11-2019 07:00,77702.03927,2842554.75,2842554.75,0.00006 +10-11-2019 08:00,77692.75713,1972049.569,1972049.569,0.00006 +10-11-2019 09:00,77683.48039,1753562.335,1753562.335,0.00006 +10-11-2019 10:00,77674.20906,1690493.35,1690493.35,0.00006 +10-11-2019 11:00,77664.94315,2172122.834,2172122.834,0.00006 +10-11-2019 12:00,77655.68265,1767356.71,1767356.71,0.00006 +10-11-2019 13:00,77646.42758,887588.002,887588.002,0.00006 +10-11-2019 14:00,77637.17795,431778.585,431778.585,0.00006 +10-11-2019 15:00,77627.93374,976080.861,976080.861,0.00006 +10-11-2019 16:00,77618.69497,2457651.504,2457651.504,0.00006 +10-11-2019 17:00,77609.46165,2946384.7,2946384.7,0.00006 +10-11-2019 18:00,77600.23378,2923256.105,2923256.105,0.00006 +10-11-2019 19:00,77591.01136,2743710.767,2743710.767,0.00006 +10-11-2019 20:00,77581.79439,2283319.36,2283319.36,0.00006 +10-11-2019 21:00,77572.58289,1496183.045,1496183.045,0.00006 +10-11-2019 22:00,77563.37686,702283.435,702283.435,0.00006 +10-11-2019 23:00,77554.1763,318919.447,318919.447,0.00006 +11-11-2019 00:00,77544.98122,131244.372,131244.372,0.00006 +11-11-2019 01:00,77535.79161,46133.178,46133.178,0.00006 +11-11-2019 02:00,77526.6075,30798.257,30798.257,0.00006 +11-11-2019 03:00,77517.42887,54745.656,54745.656,0.00006 +11-11-2019 04:00,77508.25574,257146.022,257146.022,0.00006 +11-11-2019 05:00,77499.08811,1198642.494,1198642.494,0.00006 +11-11-2019 06:00,77489.92599,2469740.315,2469740.315,0.00006 +11-11-2019 07:00,77480.76938,3117273.327,3117273.327,0.00006 +11-11-2019 08:00,77471.61828,2603971.314,2603971.314,0.00006 +11-11-2019 09:00,77462.4727,2561452.32,2561452.32,0.00006 +11-11-2019 10:00,77453.33264,2646949.641,2646949.641,0.00006 +11-11-2019 11:00,77444.19811,3626584.479,3626584.479,0.00006 +11-11-2019 12:00,77435.06912,3172121.316,3172121.316,0.00006 +11-11-2019 13:00,77425.94566,1947495.039,1947495.039,0.00006 +11-11-2019 14:00,77416.82775,1487086.545,1487086.545,0.00006 +11-11-2019 15:00,77407.71539,2726925.74,2726925.74,0.00006 +11-11-2019 16:00,77398.60857,2782780.238,2782780.238,0.00006 +11-11-2019 17:00,77389.50732,2984399.544,2984399.544,0.00006 +11-11-2019 18:00,77380.41162,2861635.98,2861635.98,0.00006 +11-11-2019 19:00,77371.32149,2616821.368,2616821.368,0.00006 +11-11-2019 20:00,77362.23694,2158567.138,2158567.138,0.00006 +11-11-2019 21:00,77353.15795,1403357.312,1403357.312,0.00006 +11-11-2019 22:00,77344.08455,673676.122,673676.122,0.00006 +11-11-2019 23:00,77335.01674,295049.391,295049.391,0.00006 +12-11-2019 00:00,77325.95451,122408.496,122408.496,0.00006 +12-11-2019 01:00,77316.89788,42344.162,42344.162,0.00006 +12-11-2019 02:00,77307.84684,24745.567,24745.567,0.00006 +12-11-2019 03:00,77298.80141,42281.162,42281.162,0.00006 +12-11-2019 04:00,77289.76159,219544.584,219544.584,0.00006 +12-11-2019 05:00,77280.72738,1072456.469,1072456.469,0.00006 +12-11-2019 06:00,77271.69879,2302343.449,2302343.449,0.00006 +12-11-2019 07:00,77262.67582,2991904.587,2991904.587,0.00006 +12-11-2019 08:00,77253.65848,3613665.237,3613665.237,0.00006 +12-11-2019 09:00,77244.64676,2778727.868,2778727.868,0.00006 +12-11-2019 10:00,77235.64069,2830313.192,2830313.192,0.00006 +12-11-2019 11:00,77226.64026,3922036.79,3922036.79,0.00006 +12-11-2019 12:00,77217.64547,3046503.383,3046503.383,0.00006 +12-11-2019 13:00,77208.65633,1898649.648,1898649.648,0.00006 +12-11-2019 14:00,77199.67284,2723809.382,2723809.382,0.00006 +12-11-2019 15:00,77190.69502,2861350.331,2861350.331,0.00006 +12-11-2019 16:00,77181.72286,2885360.681,2885360.681,0.00006 +12-11-2019 17:00,77172.75636,3085471.795,3085471.795,0.00006 +12-11-2019 18:00,77163.79554,2958431.329,2958431.329,0.00006 +12-11-2019 19:00,77154.8404,2714205.662,2714205.662,0.00006 +12-11-2019 20:00,77145.89094,2236255.238,2236255.238,0.00006 +12-11-2019 21:00,77136.94717,1443638.252,1443638.252,0.00006 +12-11-2019 22:00,77128.00909,686346.528,686346.528,0.00006 +12-11-2019 23:00,77119.0767,297834.397,297834.397,0.00006 +13-11-2019 00:00,77110.15002,124596.983,124596.983,0.00006 +13-11-2019 01:00,77101.22904,42556.017,42556.017,0.00006 +13-11-2019 02:00,77092.31377,25590.838,25590.838,0.00006 +13-11-2019 03:00,77083.40421,43655.374,43655.374,0.00006 +13-11-2019 04:00,77074.50038,226076.088,226076.088,0.00006 +13-11-2019 05:00,77065.60226,1079412.082,1079412.082,0.00006 +13-11-2019 06:00,77056.70988,2288789.916,2288789.916,0.00006 +13-11-2019 07:00,77047.82323,2944847.787,2944847.787,0.00006 +13-11-2019 08:00,77038.94231,3484963.895,3484963.895,0.00006 +13-11-2019 09:00,77030.06714,2730963.2,2730963.2,0.00006 +13-11-2019 10:00,77021.19772,2732169.748,2732169.748,0.00006 +13-11-2019 11:00,77012.33404,3780805.532,3780805.532,0.00006 +13-11-2019 12:00,77003.47612,3255570.164,3255570.164,0.00006 +13-11-2019 13:00,76994.62396,2113569.395,2113569.395,0.00006 +13-11-2019 14:00,76985.77757,2809309.377,2809309.377,0.00006 +13-11-2019 15:00,76976.93694,2924322.135,2924322.135,0.00006 +13-11-2019 16:00,76968.10209,2884418.88,2884418.88,0.00006 +13-11-2019 17:00,76959.27302,3088247.932,3088247.932,0.00006 +13-11-2019 18:00,76950.44973,3005415.812,3005415.812,0.00006 +13-11-2019 19:00,76941.63223,2744113.477,2744113.477,0.00006 +13-11-2019 20:00,76932.82052,2226002.373,2226002.373,0.00006 +13-11-2019 21:00,76924.0146,1432751.201,1432751.201,0.00006 +13-11-2019 22:00,76915.21449,691862.157,691862.157,0.00006 +13-11-2019 23:00,76906.42018,298967.599,298967.599,0.00006 +14-11-2019 00:00,76897.63169,125924.932,125924.932,0.00006 +14-11-2019 01:00,76888.849,43531.39,43531.39,0.00006 +14-11-2019 02:00,76880.07214,26432.28,26432.28,0.00006 +14-11-2019 03:00,76871.3011,46513.6,46513.6,0.00006 +14-11-2019 04:00,76862.53589,242238.346,242238.346,0.00006 +14-11-2019 05:00,76853.77651,1140776.483,1140776.483,0.00006 +14-11-2019 06:00,76845.02297,2400709.451,2400709.451,0.00006 +14-11-2019 07:00,76836.27527,3106515.951,3106515.951,0.00006 +14-11-2019 08:00,76827.53341,3720326.372,3720326.372,0.00006 +14-11-2019 09:00,76818.79741,2857554.105,2857554.105,0.00006 +14-11-2019 10:00,76810.06726,2847440.974,2847440.974,0.00006 +14-11-2019 11:00,76801.34297,3826881.611,3826881.611,0.00006 +14-11-2019 12:00,76792.62455,3292752.267,3292752.267,0.00006 +14-11-2019 13:00,76783.91199,2204034.581,2204034.581,0.00006 +14-11-2019 14:00,76775.20531,2828432.299,2828432.299,0.00006 +14-11-2019 15:00,76766.50451,2939521.158,2939521.158,0.00006 +14-11-2019 16:00,76757.80958,2868104.113,2868104.113,0.00006 +14-11-2019 17:00,76749.12055,3049825.184,3049825.184,0.00006 +14-11-2019 18:00,76740.4374,2927223.012,2927223.012,0.00006 +14-11-2019 19:00,76731.76015,2676888.291,2676888.291,0.00006 +14-11-2019 20:00,76723.0888,2204402.179,2204402.179,0.00006 +14-11-2019 21:00,76714.42336,1443327.522,1443327.522,0.00006 +14-11-2019 22:00,76705.76382,692900.614,692900.614,0.00006 +14-11-2019 23:00,76697.1102,303441.663,303441.663,0.00006 +15-11-2019 00:00,76688.46249,127784.93,127784.93,0.00006 +15-11-2019 01:00,76679.82071,44670.829,44670.829,0.00006 +15-11-2019 02:00,76671.18485,27143.501,27143.501,0.00006 +15-11-2019 03:00,76662.55493,50054.872,50054.872,0.00006 +15-11-2019 04:00,76653.93094,255398.899,255398.899,0.00006 +15-11-2019 05:00,76645.31289,1190579.418,1190579.418,0.00006 +15-11-2019 06:00,76636.70078,2502990.693,2502990.693,0.00006 +15-11-2019 07:00,76628.09462,3242562.197,3242562.197,0.00006 +15-11-2019 08:00,76619.49442,3888850.644,3888850.644,0.00006 +15-11-2019 09:00,76610.90017,2991337.349,2991337.349,0.00006 +15-11-2019 10:00,76602.31189,3008483.52,3008483.52,0.00006 +15-11-2019 11:00,76593.72957,3974236.819,3974236.819,0.00006 +15-11-2019 12:00,76585.15323,3446599.723,3446599.723,0.00006 +15-11-2019 13:00,76576.58286,2412396.161,2412396.161,0.00006 +15-11-2019 14:00,76568.01847,2996735.749,2996735.749,0.00006 +15-11-2019 15:00,76559.46006,3099696.999,3099696.999,0.00006 +15-11-2019 16:00,76550.90764,3018684.816,3018684.816,0.00006 +15-11-2019 17:00,76542.36122,3183052.439,3183052.439,0.00006 +15-11-2019 18:00,76533.82079,3043728.275,3043728.275,0.00006 +15-11-2019 19:00,76525.28636,2790594.275,2790594.275,0.00006 +15-11-2019 20:00,76516.75794,2301830.013,2301830.013,0.00006 +15-11-2019 21:00,76508.23553,1502171.181,1502171.181,0.00006 +15-11-2019 22:00,76499.71914,729260.595,729260.595,0.00006 +15-11-2019 23:00,76491.20876,322524.384,322524.384,0.00006 +16-11-2019 00:00,76482.70441,135592.268,135592.268,0.00006 +16-11-2019 01:00,76474.20609,48415.031,48415.031,0.00006 +16-11-2019 02:00,76465.7138,33307.519,33307.519,0.00006 +16-11-2019 03:00,76457.22754,65424.352,65424.352,0.00006 +16-11-2019 04:00,76448.74733,301985.803,301985.803,0.00006 +16-11-2019 05:00,76440.27316,1344558.488,1344558.488,0.00006 +16-11-2019 06:00,76431.80505,2811137.49,2811137.49,0.00006 +16-11-2019 07:00,76423.34298,3648157.016,3648157.016,0.00006 +16-11-2019 08:00,76414.88698,4275341.525,4275341.525,0.00006 +16-11-2019 09:00,76406.43704,3240465.669,3240465.669,0.00006 +16-11-2019 10:00,76397.99316,3157641.473,3157641.473,0.00006 +16-11-2019 11:00,76389.55536,4075799.553,4075799.553,0.00006 +16-11-2019 12:00,76381.12364,3524151.239,3524151.239,0.00006 +16-11-2019 13:00,76372.69799,2557671.984,2557671.984,0.00006 +16-11-2019 14:00,76364.27843,3115836.836,3115836.836,0.00006 +16-11-2019 15:00,76355.86496,3256847.58,3256847.58,0.00006 +16-11-2019 16:00,76347.45758,3167098.025,3167098.025,0.00006 +16-11-2019 17:00,76339.0563,3316953.29,3316953.29,0.00006 +16-11-2019 18:00,76330.66112,3120699.218,3120699.218,0.00006 +16-11-2019 19:00,76322.27204,2824604.069,2824604.069,0.00006 +16-11-2019 20:00,76313.88908,2317145.495,2317145.495,0.00006 +16-11-2019 21:00,76305.51223,1506647.023,1506647.023,0.00006 +16-11-2019 22:00,76297.1415,716677.171,716677.171,0.00006 +16-11-2019 23:00,76288.7769,309836.849,309836.849,0.00006 +17-11-2019 00:00,76280.41842,130493.776,130493.776,0.00006 +17-11-2019 01:00,76272.06608,46104.737,46104.737,0.00006 +17-11-2019 02:00,76263.71987,30818.669,30818.669,0.00006 +17-11-2019 03:00,76255.3798,54746.195,54746.195,0.00006 +17-11-2019 04:00,76247.04588,283327.975,283327.975,0.00006 +17-11-2019 05:00,76238.71811,1271620.693,1271620.693,0.00006 +17-11-2019 06:00,76230.39649,2700017.173,2700017.173,0.00006 +17-11-2019 07:00,76222.08102,3532707.913,3532707.913,0.00006 +17-11-2019 08:00,76213.77172,4237343.033,4237343.033,0.00006 +17-11-2019 09:00,76205.46859,3242535.996,3242535.996,0.00006 +17-11-2019 10:00,76197.17163,2885079.82,2885079.82,0.00006 +17-11-2019 11:00,76188.88084,3996416.732,3996416.732,0.00006 +17-11-2019 12:00,76180.59623,3451746.018,3451746.018,0.00006 +17-11-2019 13:00,76172.31781,2545929.729,2545929.729,0.00006 +17-11-2019 14:00,76164.04557,3088733.179,3088733.179,0.00006 +17-11-2019 15:00,76155.77953,3224932.606,3224932.606,0.00006 +17-11-2019 16:00,76147.51968,3131255.995,3131255.995,0.00006 +17-11-2019 17:00,76139.26603,3314151.288,3314151.288,0.00006 +17-11-2019 18:00,76131.01858,3194311.337,3194311.337,0.00006 +17-11-2019 19:00,76122.77735,2904025.824,2904025.824,0.00006 +17-11-2019 20:00,76114.54233,2378945.345,2378945.345,0.00006 +17-11-2019 21:00,76106.31353,1533366.415,1533366.415,0.00006 +17-11-2019 22:00,76098.09094,724894.849,724894.849,0.00006 +17-11-2019 23:00,76089.87459,318616.662,318616.662,0.00006 +18-11-2019 00:00,76081.66446,133938.077,133938.077,0.00006 +18-11-2019 01:00,76073.46057,47566.666,47566.666,0.00006 +18-11-2019 02:00,76065.26292,33234.348,33234.348,0.00006 +18-11-2019 03:00,76057.07151,59328.871,59328.871,0.00006 +18-11-2019 04:00,76048.88634,282709.735,282709.735,0.00006 +18-11-2019 05:00,76040.70743,1254692.957,1254692.957,0.00006 +18-11-2019 06:00,76032.53478,2627087.855,2627087.855,0.00006 +18-11-2019 07:00,76024.36838,3404762.389,3404762.389,0.00006 +18-11-2019 08:00,76016.20825,4047395.359,4047395.359,0.00006 +18-11-2019 09:00,76008.05438,3106358.871,3106358.871,0.00006 +18-11-2019 10:00,75999.90679,3045593.95,3045593.95,0.00006 +18-11-2019 11:00,75991.76547,3976351.694,3976351.694,0.00006 +18-11-2019 12:00,75983.63044,3441140.92,3441140.92,0.00006 +18-11-2019 13:00,75975.50169,2520095.697,2520095.697,0.00006 +18-11-2019 14:00,75967.37923,3008343.429,3008343.429,0.00006 +18-11-2019 15:00,75959.26306,3110147.593,3110147.593,0.00006 +18-11-2019 16:00,75951.15319,2967554.702,2967554.702,0.00006 +18-11-2019 17:00,75943.04962,3115996.527,3115996.527,0.00006 +18-11-2019 18:00,75934.95235,2963454.648,2963454.648,0.00006 +18-11-2019 19:00,75926.8614,2688436.835,2688436.835,0.00006 +18-11-2019 20:00,75918.77676,2237211.963,2237211.963,0.00006 +18-11-2019 21:00,75910.69844,1454986.211,1454986.211,0.00006 +18-11-2019 22:00,75902.62644,697965.485,697965.485,0.00006 +18-11-2019 23:00,75894.56077,300026.965,300026.965,0.00006 +19-11-2019 00:00,75886.50142,126649.236,126649.236,0.00006 +19-11-2019 01:00,75878.44842,43643.215,43643.215,0.00006 +19-11-2019 02:00,75870.40175,26106.01,26106.01,0.00006 +19-11-2019 03:00,75862.36142,45465.735,45465.735,0.00006 +19-11-2019 04:00,75854.32745,241071.327,241071.327,0.00006 +19-11-2019 05:00,75846.29982,1126714.022,1126714.022,0.00006 +19-11-2019 06:00,75838.27855,2416535.765,2416535.765,0.00006 +19-11-2019 07:00,75830.26364,3172867.376,3172867.376,0.00006 +19-11-2019 08:00,75822.25509,3796449.237,3796449.237,0.00006 +19-11-2019 09:00,75814.25291,2661461.068,2661461.068,0.00006 +19-11-2019 10:00,75806.2571,2270000.131,2270000.131,0.00006 +19-11-2019 11:00,75798.26767,3482998.862,3482998.862,0.00006 +19-11-2019 12:00,75790.28462,3355538.69,3355538.69,0.00006 +19-11-2019 13:00,75782.30795,2456742.505,2456742.505,0.00006 +19-11-2019 14:00,75774.33767,3032609.853,3032609.853,0.00006 +19-11-2019 15:00,75766.37378,3144598.618,3144598.618,0.00006 +19-11-2019 16:00,75758.41629,3038840.637,3038840.637,0.00006 +19-11-2019 17:00,75750.46521,3227735.637,3227735.637,0.00006 +19-11-2019 18:00,75742.52052,3207565.249,3207565.249,0.00006 +19-11-2019 19:00,75734.58225,2916496.219,2916496.219,0.00006 +19-11-2019 20:00,75726.65038,2467317.433,2467317.433,0.00006 +19-11-2019 21:00,75718.72494,1624606.144,1624606.144,0.00006 +19-11-2019 22:00,75710.80591,776304.249,776304.249,0.00006 +19-11-2019 23:00,75702.89331,347308.325,347308.325,0.00006 +20-11-2019 00:00,75694.98714,147219.59,147219.59,0.00006 +20-11-2019 01:00,75687.08741,55827.905,55827.905,0.00006 +20-11-2019 02:00,75679.19411,44379.951,44379.951,0.00006 +20-11-2019 03:00,75671.30725,96021.373,96021.373,0.00006 +20-11-2019 04:00,75663.42684,378144.984,378144.984,0.00006 +20-11-2019 05:00,75655.55287,1586327.897,1586327.897,0.00006 +20-11-2019 06:00,75647.68537,3249310.512,3249310.512,0.00006 +20-11-2019 07:00,75639.82431,4157176.016,4157176.016,0.00006 +20-11-2019 08:00,75631.96972,4607402.807,4607402.807,0.00006 +20-11-2019 09:00,75624.1216,2857545.789,2857545.789,0.00006 +20-11-2019 10:00,75616.27995,2466488.318,2466488.318,0.00006 +20-11-2019 11:00,75608.44477,3780361.207,3780361.207,0.00006 +20-11-2019 12:00,75600.61606,2654776.285,2654776.285,0.00006 +20-11-2019 13:00,75592.79384,2024241.114,2024241.114,0.00006 +20-11-2019 14:00,75584.97811,3159849.035,3159849.035,0.00006 +20-11-2019 15:00,75577.16886,3455328.205,3455328.205,0.00006 +20-11-2019 16:00,75569.36611,3378411.918,3378411.918,0.00006 +20-11-2019 17:00,75561.56986,3549971.607,3549971.607,0.00006 +20-11-2019 18:00,75553.78011,3382459.577,3382459.577,0.00006 +20-11-2019 19:00,75545.99686,3092848.43,3092848.43,0.00006 +20-11-2019 20:00,75538.22013,2554545.238,2554545.238,0.00006 +20-11-2019 21:00,75530.44991,1655949.834,1655949.834,0.00006 +20-11-2019 22:00,75522.6862,791054.537,791054.537,0.00006 +20-11-2019 23:00,75514.92902,350122.633,350122.633,0.00006 +21-11-2019 00:00,75507.17837,149094.624,149094.624,0.00006 +21-11-2019 01:00,75499.43424,59697.113,59697.113,0.00006 +21-11-2019 02:00,75491.69665,48526.282,48526.282,0.00006 +21-11-2019 03:00,75483.9656,98172.984,98172.984,0.00006 +21-11-2019 04:00,75476.24109,377168.953,377168.953,0.00006 +21-11-2019 05:00,75468.52312,1550868.284,1550868.284,0.00006 +21-11-2019 06:00,75460.8117,3161599.133,3161599.133,0.00006 +21-11-2019 07:00,75453.10684,4077677.835,4077677.835,0.00006 +21-11-2019 08:00,75445.40854,4784776.129,4784776.129,0.00006 +21-11-2019 09:00,75437.7168,3705701.3,3705701.3,0.00006 +21-11-2019 10:00,75430.03162,3521412.041,3521412.041,0.00006 +21-11-2019 11:00,75422.35301,4382000.175,4382000.175,0.00006 +21-11-2019 12:00,75414.68098,3800602.008,3800602.008,0.00006 +21-11-2019 13:00,75407.01552,2945892.005,2945892.005,0.00006 +21-11-2019 14:00,75399.35665,3406539.206,3406539.206,0.00006 +21-11-2019 15:00,75391.70436,3530440.2,3530440.2,0.00006 +21-11-2019 16:00,75384.05866,3402179.893,3402179.893,0.00006 +21-11-2019 17:00,75376.41955,3565336.943,3565336.943,0.00006 +21-11-2019 18:00,75368.78704,3456470.955,3456470.955,0.00006 +21-11-2019 19:00,75361.16113,3129355.992,3129355.992,0.00006 +21-11-2019 20:00,75353.54183,2561305.74,2561305.74,0.00006 +21-11-2019 21:00,75345.92914,1667791.916,1667791.916,0.00006 +21-11-2019 22:00,75338.32306,790994.379,790994.379,0.00006 +21-11-2019 23:00,75330.72359,345958.956,345958.956,0.00006 +22-11-2019 00:00,75323.13075,146164.522,146164.522,0.00006 +22-11-2019 01:00,75315.54453,57959.902,57959.902,0.00006 +22-11-2019 02:00,75307.96494,45741.668,45741.668,0.00006 +22-11-2019 03:00,75300.39198,87572.569,87572.569,0.00006 +22-11-2019 04:00,75292.82566,351876.854,351876.854,0.00006 +22-11-2019 05:00,75285.26598,1451262.512,1451262.512,0.00006 +22-11-2019 06:00,75277.71294,2956105.824,2956105.824,0.00006 +22-11-2019 07:00,75270.16655,3798652.585,3798652.585,0.00006 +22-11-2019 08:00,75262.62681,4452706.335,4452706.335,0.00006 +22-11-2019 09:00,75255.09373,3406369.386,3406369.386,0.00006 +22-11-2019 10:00,75247.56731,2530949.225,2530949.225,0.00006 +22-11-2019 11:00,75240.04755,3593645.65,3593645.65,0.00006 +22-11-2019 12:00,75232.53446,3496771.019,3496771.019,0.00006 +22-11-2019 13:00,75225.02804,2161887.385,2161887.385,0.00006 +22-11-2019 14:00,75217.52829,3035474.225,3035474.225,0.00006 +22-11-2019 15:00,75210.03523,3217048.254,3217048.254,0.00006 +22-11-2019 16:00,75202.54885,3100006.945,3100006.945,0.00006 +22-11-2019 17:00,75195.06915,3321141.474,3321141.474,0.00006 +22-11-2019 18:00,75187.59614,3201271.535,3201271.535,0.00006 +22-11-2019 19:00,75180.12983,2937268.635,2937268.635,0.00006 +22-11-2019 20:00,75172.67022,2419593.876,2419593.876,0.00006 +22-11-2019 21:00,75165.21731,1561961.107,1561961.107,0.00006 +22-11-2019 22:00,75157.7711,734592.334,734592.334,0.00006 +22-11-2019 23:00,75150.33161,316877.925,316877.925,0.00006 +23-11-2019 00:00,75142.89882,133380.807,133380.807,0.00006 +23-11-2019 01:00,75135.47276,47395.859,47395.859,0.00006 +23-11-2019 02:00,75128.05341,33599.062,33599.062,0.00006 +23-11-2019 03:00,75120.6408,61108.089,61108.089,0.00006 +23-11-2019 04:00,75113.23491,294046.865,294046.865,0.00006 +23-11-2019 05:00,75105.83575,1294491.065,1294491.065,0.00006 +23-11-2019 06:00,75098.44333,2728953.143,2728953.143,0.00006 +23-11-2019 07:00,75091.05765,3590424.796,3590424.796,0.00006 +23-11-2019 08:00,75083.67871,4266825.976,4266825.976,0.00006 +23-11-2019 09:00,75076.30652,3356857.147,3356857.147,0.00006 +23-11-2019 10:00,75068.94108,3236594.732,3236594.732,0.00006 +23-11-2019 11:00,75061.5824,4108097.476,4108097.476,0.00006 +23-11-2019 12:00,75054.23048,3576071.646,3576071.646,0.00006 +23-11-2019 13:00,75046.88532,2690029.797,2690029.797,0.00006 +23-11-2019 14:00,75039.54693,3098516.204,3098516.204,0.00006 +23-11-2019 15:00,75032.21531,3191049.477,3191049.477,0.00006 +23-11-2019 16:00,75024.89046,3004621.214,3004621.214,0.00006 +23-11-2019 17:00,75017.57239,3200833.86,3200833.86,0.00006 +23-11-2019 18:00,75010.2611,3083753.302,3083753.302,0.00006 +23-11-2019 19:00,75002.9566,2832035.752,2832035.752,0.00006 +23-11-2019 20:00,74995.65888,2363836.209,2363836.209,0.00006 +23-11-2019 21:00,74988.36796,1538259.142,1538259.142,0.00006 +23-11-2019 22:00,74981.08384,728566.734,728566.734,0.00006 +23-11-2019 23:00,74973.80652,315807.345,315807.345,0.00006 +24-11-2019 00:00,74966.536,134707.601,134707.601,0.00006 +24-11-2019 01:00,74959.27229,48529.131,48529.131,0.00006 +24-11-2019 02:00,74952.01539,33702.025,33702.025,0.00006 +24-11-2019 03:00,74944.76531,65692.347,65692.347,0.00006 +24-11-2019 04:00,74937.52204,309526.168,309526.168,0.00006 +24-11-2019 05:00,74930.2856,1368197.607,1368197.607,0.00006 +24-11-2019 06:00,74923.05599,2862706.224,2862706.224,0.00006 +24-11-2019 07:00,74915.83321,3732103.487,3732103.487,0.00006 +24-11-2019 08:00,74908.61726,4386677.148,4386677.148,0.00006 +24-11-2019 09:00,74901.40815,3403510.558,3403510.558,0.00006 +24-11-2019 10:00,74894.20588,3227768.32,3227768.32,0.00006 +24-11-2019 11:00,74887.01045,4046376.411,4046376.411,0.00006 +24-11-2019 12:00,74879.82188,3473747.011,3473747.011,0.00006 +24-11-2019 13:00,74872.64015,2644383.133,2644383.133,0.00006 +24-11-2019 14:00,74865.46529,3063164.041,3063164.041,0.00006 +24-11-2019 15:00,74858.29728,3232714.45,3232714.45,0.00006 +24-11-2019 16:00,74851.13614,3170868.701,3170868.701,0.00006 +24-11-2019 17:00,74843.98186,3374288.253,3374288.253,0.00006 +24-11-2019 18:00,74836.83446,3234405.02,3234405.02,0.00006 +24-11-2019 19:00,74829.69393,2923993.996,2923993.996,0.00006 +24-11-2019 20:00,74822.56028,2436679.707,2436679.707,0.00006 +24-11-2019 21:00,74815.43351,1526929.061,1526929.061,0.00006 +24-11-2019 22:00,74808.31363,720323.702,720323.702,0.00006 +24-11-2019 23:00,74801.20064,309889.79,309889.79,0.00006 +25-11-2019 00:00,74794.09454,130657.758,130657.758,0.00006 +25-11-2019 01:00,74786.99533,45651.361,45651.361,0.00006 +25-11-2019 02:00,74779.90303,30372.867,30372.867,0.00006 +25-11-2019 03:00,74772.81763,52307.675,52307.675,0.00006 +25-11-2019 04:00,74765.73914,263466.987,263466.987,0.00006 +25-11-2019 05:00,74758.66756,1190068.621,1190068.621,0.00006 +25-11-2019 06:00,74751.6029,2509493.231,2509493.231,0.00006 +25-11-2019 07:00,74744.54515,3325970.13,3325970.13,0.00006 +25-11-2019 08:00,74737.49433,4007537.345,4007537.345,0.00006 +25-11-2019 09:00,74730.45043,3217123.546,3217123.546,0.00006 +25-11-2019 10:00,74723.41346,3119479.867,3119479.867,0.00006 +25-11-2019 11:00,74716.38343,3941988.925,3941988.925,0.00006 +25-11-2019 12:00,74709.36033,3138112.481,3138112.481,0.00006 +25-11-2019 13:00,74702.34417,1686799.422,1686799.422,0.00006 +25-11-2019 14:00,74695.33496,2357463.633,2357463.633,0.00006 +25-11-2019 15:00,74688.33269,3055623.767,3055623.767,0.00006 +25-11-2019 16:00,74681.33738,2986664.639,2986664.639,0.00006 +25-11-2019 17:00,74674.34902,3132161.921,3132161.921,0.00006 +25-11-2019 18:00,74667.36761,2985374.693,2985374.693,0.00006 +25-11-2019 19:00,74660.39318,2732705.766,2732705.766,0.00006 +25-11-2019 20:00,74653.4257,2250713.003,2250713.003,0.00006 +25-11-2019 21:00,74646.4652,1456334.677,1456334.677,0.00006 +25-11-2019 22:00,74639.51166,685211.093,685211.093,0.00006 +25-11-2019 23:00,74632.56511,292077.786,292077.786,0.00006 +26-11-2019 00:00,74625.62553,121569.728,121569.728,0.00006 +26-11-2019 01:00,74618.69294,41266.589,41266.589,0.00006 +26-11-2019 02:00,74611.76733,23611.882,23611.882,0.00006 +26-11-2019 03:00,74604.84872,39508.63,39508.63,0.00006 +26-11-2019 04:00,74597.9371,211340.409,211340.409,0.00006 +26-11-2019 05:00,74591.03248,1017013.228,1017013.228,0.00006 +26-11-2019 06:00,74584.13485,2164342.439,2164342.439,0.00006 +26-11-2019 07:00,74577.24424,2883320.587,2883320.587,0.00006 +26-11-2019 08:00,74570.36063,3505891.291,3505891.291,0.00006 +26-11-2019 09:00,74563.48403,2848009.206,2848009.206,0.00006 +26-11-2019 10:00,74556.61445,2798342.064,2798342.064,0.00006 +26-11-2019 11:00,74549.75189,3688644.162,3688644.162,0.00006 +26-11-2019 12:00,74542.89635,3213577.696,3213577.696,0.00006 +26-11-2019 13:00,74536.04784,2361855.671,2361855.671,0.00006 +26-11-2019 14:00,74529.20635,2728845.441,2728845.441,0.00006 +26-11-2019 15:00,74522.3719,2856354.823,2856354.823,0.00006 +26-11-2019 16:00,74515.54449,2670877.475,2670877.475,0.00006 +26-11-2019 17:00,74508.72411,2827235.089,2827235.089,0.00006 +26-11-2019 18:00,74501.91078,2691392.207,2691392.207,0.00006 +26-11-2019 19:00,74495.1045,2426551.729,2426551.729,0.00006 +26-11-2019 20:00,74488.30526,1982139.061,1982139.061,0.00006 +26-11-2019 21:00,74481.51309,1283033.689,1283033.689,0.00006 +26-11-2019 22:00,74474.72796,604312.87,604312.87,0.00006 +26-11-2019 23:00,74467.9499,256925.802,256925.802,0.00006 +27-11-2019 00:00,74461.17891,102185.685,102185.685,0.00006 +27-11-2019 01:00,74454.41498,32748.464,32748.464,0.00006 +27-11-2019 02:00,74447.65813,17365.194,17365.194,0.00006 +27-11-2019 03:00,74440.90834,25359.271,25359.271,0.00006 +27-11-2019 04:00,74434.16564,130588.864,130588.864,0.00006 +27-11-2019 05:00,74427.43002,717033.709,717033.709,0.00006 +27-11-2019 06:00,74420.70149,1631941.367,1631941.367,0.00006 +27-11-2019 07:00,74413.98004,2243783.122,2243783.122,0.00006 +27-11-2019 08:00,74407.26569,2825390.967,2825390.967,0.00006 +27-11-2019 09:00,74400.55843,2452948.225,2452948.225,0.00006 +27-11-2019 10:00,74393.85827,2497891.55,2497891.55,0.00006 +27-11-2019 11:00,74387.16521,3369967.237,3369967.237,0.00006 +27-11-2019 12:00,74380.47926,3028405.625,3028405.625,0.00006 +27-11-2019 13:00,74373.80042,2146914.091,2146914.091,0.00006 +27-11-2019 14:00,74367.1287,2522963.044,2522963.044,0.00006 +27-11-2019 15:00,74360.46409,2662141.412,2662141.412,0.00006 +27-11-2019 16:00,74353.80659,2473766.197,2473766.197,0.00006 +27-11-2019 17:00,74347.15623,2658173.476,2658173.476,0.00006 +27-11-2019 18:00,74340.51299,2526437.718,2526437.718,0.00006 +27-11-2019 19:00,74333.87688,2286341.393,2286341.393,0.00006 +27-11-2019 20:00,74327.2479,1863490.489,1863490.489,0.00006 +27-11-2019 21:00,74320.62606,1198345.015,1198345.015,0.00006 +27-11-2019 22:00,74314.01136,564827.753,564827.753,0.00006 +27-11-2019 23:00,74307.4038,239830.71,239830.71,0.00006 +28-11-2019 00:00,74300.80339,96584.852,96584.852,0.00006 +28-11-2019 01:00,74294.21014,27537.986,27537.986,0.00006 +28-11-2019 02:00,74287.62403,14692.923,14692.923,0.00006 +28-11-2019 03:00,74281.04508,21613.872,21613.872,0.00006 +28-11-2019 04:00,74274.4733,98997.976,98997.976,0.00006 +28-11-2019 05:00,74267.90868,600803.343,600803.343,0.00006 +28-11-2019 06:00,74261.35122,1386129.689,1386129.689,0.00006 +28-11-2019 07:00,74254.80094,1979947.207,1979947.207,0.00006 +28-11-2019 08:00,74248.25783,2581118.029,2581118.029,0.00006 +28-11-2019 09:00,74241.7219,2314527.859,2314527.859,0.00006 +28-11-2019 10:00,74235.19315,2432220.637,2432220.637,0.00006 +28-11-2019 11:00,74228.67158,3285159.108,3285159.108,0.00006 +28-11-2019 12:00,74222.1572,2946316.576,2946316.576,0.00006 +28-11-2019 13:00,74215.65001,2053743.3,2053743.3,0.00006 +28-11-2019 14:00,74209.15002,2433595.262,2433595.262,0.00006 +28-11-2019 15:00,74202.65722,2538814.803,2538814.803,0.00006 +28-11-2019 16:00,74196.17163,2382706.473,2382706.473,0.00006 +28-11-2019 17:00,74189.69324,2585023.252,2585023.252,0.00006 +28-11-2019 18:00,74183.22206,2482847.486,2482847.486,0.00006 +28-11-2019 19:00,74176.75809,2263524.382,2263524.382,0.00006 +28-11-2019 20:00,74170.30133,1862958.531,1862958.531,0.00006 +28-11-2019 21:00,74163.85179,1218586.243,1218586.243,0.00006 +28-11-2019 22:00,74157.40947,573317.325,573317.325,0.00006 +28-11-2019 23:00,74150.97438,249572.708,249572.708,0.00006 +29-11-2019 00:00,74144.54651,102450.523,102450.523,0.00006 +29-11-2019 01:00,74138.12588,31758.825,31758.825,0.00006 +29-11-2019 02:00,74131.71248,17254.041,17254.041,0.00006 +29-11-2019 03:00,74125.30631,26606.783,26606.783,0.00006 +29-11-2019 04:00,74118.90739,131425.147,131425.147,0.00006 +29-11-2019 05:00,74112.51571,781937.317,781937.317,0.00006 +29-11-2019 06:00,74106.13128,1752609.607,1752609.607,0.00006 +29-11-2019 07:00,74099.7541,2415103.306,2415103.306,0.00006 +29-11-2019 08:00,74093.38417,2904096.321,2904096.321,0.00006 +29-11-2019 09:00,74087.0215,2533235.614,2533235.614,0.00006 +29-11-2019 10:00,74080.6661,2434473.874,2434473.874,0.00006 +29-11-2019 11:00,74074.31795,3357052.664,3357052.664,0.00006 +29-11-2019 12:00,74067.97707,3138940.497,3138940.497,0.00006 +29-11-2019 13:00,74061.64347,1580951.673,1580951.673,0.00006 +29-11-2019 14:00,74055.31713,2263526.755,2263526.755,0.00006 +29-11-2019 15:00,74048.99808,2851256.205,2851256.205,0.00006 +29-11-2019 16:00,74042.6863,2682400.658,2682400.658,0.00006 +29-11-2019 17:00,74036.38181,2872463.321,2872463.321,0.00006 +29-11-2019 18:00,74030.0846,2883141.415,2883141.415,0.00006 +29-11-2019 19:00,74023.79468,2697898.91,2697898.91,0.00006 +29-11-2019 20:00,74017.51206,2250115.252,2250115.252,0.00006 +29-11-2019 21:00,74011.23673,1460224.311,1460224.311,0.00006 +29-11-2019 22:00,74004.96871,707307.853,707307.853,0.00006 +29-11-2019 23:00,73998.70798,311154.249,311154.249,0.00006 +30-11-2019 00:00,73992.45456,130593.141,130593.141,0.00006 +30-11-2019 01:00,73986.20845,44724.316,44724.316,0.00006 +30-11-2019 02:00,73979.96966,26143.18,26143.18,0.00006 +30-11-2019 03:00,73973.73817,54205.599,54205.599,0.00006 +30-11-2019 04:00,73967.51401,265892.851,265892.851,0.00006 +30-11-2019 05:00,73961.29717,1259126.736,1259126.736,0.00006 +30-11-2019 06:00,73955.08766,2609790.428,2609790.428,0.00006 +30-11-2019 07:00,73948.88547,3459178.555,3459178.555,0.00006 +30-11-2019 08:00,73942.69061,3960519.031,3960519.031,0.00006 +30-11-2019 09:00,73936.50309,2639419.062,2639419.062,0.00006 +30-11-2019 10:00,73930.32291,2239313.006,2239313.006,0.00006 +30-11-2019 11:00,73924.15007,2963641.38,2963641.38,0.00006 +30-11-2019 12:00,73917.98457,2666380.962,2666380.962,0.00006 +30-11-2019 13:00,73911.82642,1582167.657,1582167.657,0.00006 +30-11-2019 14:00,73905.67562,2558165.169,2558165.169,0.00006 +30-11-2019 15:00,73899.53218,3180254.483,3180254.483,0.00006 +30-11-2019 16:00,73893.39609,3166248.253,3166248.253,0.00006 +30-11-2019 17:00,73887.26736,3415628.741,3415628.741,0.00006 +30-11-2019 18:00,73881.146,3300495.45,3300495.45,0.00006 +30-11-2019 19:00,73875.032,3046159.368,3046159.368,0.00006 +30-11-2019 20:00,73868.92537,2521461.026,2521461.026,0.00006 +30-11-2019 21:00,73862.82612,1658570.788,1658570.788,0.00006 +30-11-2019 22:00,73856.73424,794279.073,794279.073,0.00006 +30-11-2019 23:00,73850.64974,350434.812,350434.812,0.00006 +1-12-2019 00:00,73844.57262,147128.359,147128.359,1.00E-04 +1-12-2019 01:00,73838.50288,57687.007,57687.007,1.00E-04 +1-12-2019 02:00,73832.44054,45480.96,45480.96,1.00E-04 +1-12-2019 03:00,73826.38559,94377.892,94377.892,1.00E-04 +1-12-2019 04:00,73820.33803,371262.941,371262.941,1.00E-04 +1-12-2019 05:00,73814.29787,1557889.711,1557889.711,1.00E-04 +1-12-2019 06:00,73808.26511,3171758.506,3171758.506,1.00E-04 +1-12-2019 07:00,73802.23975,4122362.237,4122362.237,1.00E-04 +1-12-2019 08:00,73796.2218,4832146.97,4832146.97,1.00E-04 +1-12-2019 09:00,73790.21126,3801476.147,3801476.147,1.00E-04 +1-12-2019 10:00,73784.20814,3569751.444,3569751.444,1.00E-04 +1-12-2019 11:00,73778.21243,4357249.092,4357249.092,1.00E-04 +1-12-2019 12:00,73772.22414,3872945.02,3872945.02,1.00E-04 +1-12-2019 13:00,73766.24327,3086136.123,3086136.123,1.00E-04 +1-12-2019 14:00,73760.26983,3424843.765,3424843.765,1.00E-04 +1-12-2019 15:00,73754.30382,3537493.484,3537493.484,1.00E-04 +1-12-2019 16:00,73748.34523,3457615.126,3457615.126,1.00E-04 +1-12-2019 17:00,73742.39409,3687852.784,3687852.784,1.00E-04 +1-12-2019 18:00,73736.45038,3488131.906,3488131.906,1.00E-04 +1-12-2019 19:00,73730.51411,3173069.753,3173069.753,1.00E-04 +1-12-2019 20:00,73724.58529,2621775.058,2621775.058,1.00E-04 +1-12-2019 21:00,73718.66391,1747729.242,1747729.242,1.00E-04 +1-12-2019 22:00,73712.74998,839486.389,839486.389,1.00E-04 +1-12-2019 23:00,73706.84351,377645.688,377645.688,1.00E-04 +2-12-2019 00:00,73700.94449,160974.352,160974.352,1.00E-04 +2-12-2019 01:00,73695.05294,72646.602,72646.602,1.00E-04 +2-12-2019 02:00,73689.16884,64883.014,64883.014,1.00E-04 +2-12-2019 03:00,73683.29221,135446.521,135446.521,1.00E-04 +2-12-2019 04:00,73677.42305,463445.283,463445.283,1.00E-04 +2-12-2019 05:00,73671.56135,1814666.056,1814666.056,1.00E-04 +2-12-2019 06:00,73665.70714,3543313.312,3543313.312,1.00E-04 +2-12-2019 07:00,73659.8604,4441778.866,4441778.866,1.00E-04 +2-12-2019 08:00,73654.02114,5066574.065,5066574.065,1.00E-04 +2-12-2019 09:00,73648.18936,3281271.196,3281271.196,1.00E-04 +2-12-2019 10:00,73642.36507,2711280.894,2711280.894,1.00E-04 +2-12-2019 11:00,73636.54827,4046152.572,4046152.572,1.00E-04 +2-12-2019 12:00,73630.73897,3634623.104,3634623.104,1.00E-04 +2-12-2019 13:00,73624.93715,2759425.872,2759425.872,1.00E-04 +2-12-2019 14:00,73619.14284,3293470.299,3293470.299,1.00E-04 +2-12-2019 15:00,73613.35602,3389656.382,3389656.382,1.00E-04 +2-12-2019 16:00,73607.57672,3221246.777,3221246.777,1.00E-04 +2-12-2019 17:00,73601.80491,3387178.102,3387178.102,1.00E-04 +2-12-2019 18:00,73596.04062,3258614.527,3258614.527,1.00E-04 +2-12-2019 19:00,73590.28384,2948530.508,2948530.508,1.00E-04 +2-12-2019 20:00,73584.53458,2423043.385,2423043.385,1.00E-04 +2-12-2019 21:00,73578.79284,1566511.457,1566511.457,1.00E-04 +2-12-2019 22:00,73573.05862,740209.113,740209.113,1.00E-04 +2-12-2019 23:00,73567.33192,317825.62,317825.62,1.00E-04 +3-12-2019 00:00,73561.61275,133094.059,133094.059,1.00E-04 +3-12-2019 01:00,73555.90112,47715.976,47715.976,1.00E-04 +3-12-2019 02:00,73550.19701,34735.715,34735.715,1.00E-04 +3-12-2019 03:00,73544.50045,61558.231,61558.231,1.00E-04 +3-12-2019 04:00,73538.81142,306374.166,306374.166,1.00E-04 +3-12-2019 05:00,73533.12993,1343039.712,1343039.712,1.00E-04 +3-12-2019 06:00,73527.45599,2898049.266,2898049.266,1.00E-04 +3-12-2019 07:00,73521.7896,3782636.613,3782636.613,1.00E-04 +3-12-2019 08:00,73516.13076,4313634.794,4313634.794,1.00E-04 +3-12-2019 09:00,73510.47948,3285947.077,3285947.077,1.00E-04 +3-12-2019 10:00,73504.83575,2570051.939,2570051.939,1.00E-04 +3-12-2019 11:00,73499.19958,3550696.142,3550696.142,1.00E-04 +3-12-2019 12:00,73493.57098,2995651.141,2995651.141,1.00E-04 +3-12-2019 13:00,73487.94994,2043986.28,2043986.28,1.00E-04 +3-12-2019 14:00,73482.33647,3127733.882,3127733.882,1.00E-04 +3-12-2019 15:00,73476.73057,3370419.451,3370419.451,1.00E-04 +3-12-2019 16:00,73471.13225,3224669.868,3224669.868,1.00E-04 +3-12-2019 17:00,73465.5415,3420593.813,3420593.813,1.00E-04 +3-12-2019 18:00,73459.95833,3291474.004,3291474.004,1.00E-04 +3-12-2019 19:00,73454.38275,3028351.879,3028351.879,1.00E-04 +3-12-2019 20:00,73448.81475,2510339.748,2510339.748,1.00E-04 +3-12-2019 21:00,73443.25435,1630703.445,1630703.445,1.00E-04 +3-12-2019 22:00,73437.70153,791262.864,791262.864,1.00E-04 +3-12-2019 23:00,73432.15631,344168.517,344168.517,1.00E-04 +4-12-2019 00:00,73426.61868,151415.642,151415.642,1.00E-04 +4-12-2019 01:00,73421.08866,59886.141,59886.141,1.00E-04 +4-12-2019 02:00,73415.56624,48713.609,48713.609,1.00E-04 +4-12-2019 03:00,73410.05142,101035.032,101035.032,1.00E-04 +4-12-2019 04:00,73404.54422,391663.706,391663.706,1.00E-04 +4-12-2019 05:00,73399.04462,1617918.498,1617918.498,1.00E-04 +4-12-2019 06:00,73393.55264,3282648.131,3282648.131,1.00E-04 +4-12-2019 07:00,73388.06828,4268238.87,4268238.87,1.00E-04 +4-12-2019 08:00,73382.59154,4823475.699,4823475.699,1.00E-04 +4-12-2019 09:00,73377.12242,3076043.439,3076043.439,1.00E-04 +4-12-2019 10:00,73371.66092,2671286.345,2671286.345,1.00E-04 +4-12-2019 11:00,73366.20706,3703800.548,3703800.548,1.00E-04 +4-12-2019 12:00,73360.76083,2918080.319,2918080.319,1.00E-04 +4-12-2019 13:00,73355.32223,1885515.52,1885515.52,1.00E-04 +4-12-2019 14:00,73349.89126,3093168.358,3093168.358,1.00E-04 +4-12-2019 15:00,73344.46794,3592939.49,3592939.49,1.00E-04 +4-12-2019 16:00,73339.05226,3449572.35,3449572.35,1.00E-04 +4-12-2019 17:00,73333.64423,3714023.586,3714023.586,1.00E-04 +4-12-2019 18:00,73328.24384,3605463.456,3605463.456,1.00E-04 +4-12-2019 19:00,73322.8511,3325427.91,3325427.91,1.00E-04 +4-12-2019 20:00,73317.46602,2758074.984,2758074.984,1.00E-04 +4-12-2019 21:00,73312.0886,1796171.965,1796171.965,1.00E-04 +4-12-2019 22:00,73306.71883,858332.111,858332.111,1.00E-04 +4-12-2019 23:00,73301.35672,384230.203,384230.203,1.00E-04 +5-12-2019 00:00,73296.00229,165286.646,165286.646,1.00E-04 +5-12-2019 01:00,73290.65551,77935.2,77935.2,1.00E-04 +5-12-2019 02:00,73285.31641,72457.854,72457.854,1.00E-04 +5-12-2019 03:00,73279.98498,149548.371,149548.371,1.00E-04 +5-12-2019 04:00,73274.66123,493396.505,493396.505,1.00E-04 +5-12-2019 05:00,73269.34515,1874881.673,1874881.673,1.00E-04 +5-12-2019 06:00,73264.03676,3649947.91,3649947.91,1.00E-04 +5-12-2019 07:00,73258.73605,4687582.613,4687582.613,1.00E-04 +5-12-2019 08:00,73253.44303,5469583.84,5469583.84,1.00E-04 +5-12-2019 09:00,73248.1577,4357626.588,4357626.588,1.00E-04 +5-12-2019 10:00,73242.88005,4148295.431,4148295.431,1.00E-04 +5-12-2019 11:00,73237.61011,4907938.777,4907938.777,1.00E-04 +5-12-2019 12:00,73232.34786,4374283.788,4374283.788,1.00E-04 +5-12-2019 13:00,73227.09331,3438165.815,3438165.815,1.00E-04 +5-12-2019 14:00,73221.84646,3707650.212,3707650.212,1.00E-04 +5-12-2019 15:00,73216.60732,3747044.889,3747044.889,1.00E-04 +5-12-2019 16:00,73211.37589,3510612.399,3510612.399,1.00E-04 +5-12-2019 17:00,73206.15217,3698241.869,3698241.869,1.00E-04 +5-12-2019 18:00,73200.93617,3552607.919,3552607.919,1.00E-04 +5-12-2019 19:00,73195.72788,3248995.491,3248995.491,1.00E-04 +5-12-2019 20:00,73190.5273,2696621.529,2696621.529,1.00E-04 +5-12-2019 21:00,73185.33445,1737556.66,1737556.66,1.00E-04 +5-12-2019 22:00,73180.14933,814717.596,814717.596,1.00E-04 +5-12-2019 23:00,73174.97193,358891.617,358891.617,1.00E-04 +6-12-2019 00:00,73169.80226,152250.203,152250.203,1.00E-04 +6-12-2019 01:00,73164.64033,65434.789,65434.789,1.00E-04 +6-12-2019 02:00,73159.48613,57886.822,57886.822,1.00E-04 +6-12-2019 03:00,73154.33966,113550.122,113550.122,1.00E-04 +6-12-2019 04:00,73149.20094,405629.287,405629.287,1.00E-04 +6-12-2019 05:00,73144.06996,1616170.99,1616170.99,1.00E-04 +6-12-2019 06:00,73138.94673,3237833.739,3237833.739,1.00E-04 +6-12-2019 07:00,73133.83124,4172608.454,4172608.454,1.00E-04 +6-12-2019 08:00,73128.72351,4920745.081,4920745.081,1.00E-04 +6-12-2019 09:00,73123.62353,3954100.409,3954100.409,1.00E-04 +6-12-2019 10:00,73118.5313,3696365.288,3696365.288,1.00E-04 +6-12-2019 11:00,73113.44684,4510761.101,4510761.101,1.00E-04 +6-12-2019 12:00,73108.37013,3952609.598,3952609.598,1.00E-04 +6-12-2019 13:00,73103.30119,3179696.429,3179696.429,1.00E-04 +6-12-2019 14:00,73098.24002,3439245.439,3439245.439,1.00E-04 +6-12-2019 15:00,73093.18661,3479337.204,3479337.204,1.00E-04 +6-12-2019 16:00,73088.14098,3246300.547,3246300.547,1.00E-04 +6-12-2019 17:00,73083.10312,3389041.859,3389041.859,1.00E-04 +6-12-2019 18:00,73078.07304,3232425.42,3232425.42,1.00E-04 +6-12-2019 19:00,73073.05074,2941608.95,2941608.95,1.00E-04 +6-12-2019 20:00,73068.03622,2361761.913,2361761.913,1.00E-04 +6-12-2019 21:00,73063.02948,1539374.592,1539374.592,1.00E-04 +6-12-2019 22:00,73058.03054,725260.9,725260.9,1.00E-04 +6-12-2019 23:00,73053.03938,307996.773,307996.773,1.00E-04 +7-12-2019 00:00,73048.05601,129166.527,129166.527,1.00E-04 +7-12-2019 01:00,73043.08044,45330.698,45330.698,1.00E-04 +7-12-2019 02:00,73038.11267,30651.943,30651.943,1.00E-04 +7-12-2019 03:00,73033.1527,49389.809,49389.809,1.00E-04 +7-12-2019 04:00,73028.20053,261388.575,261388.575,1.00E-04 +7-12-2019 05:00,73023.25617,1152429.082,1152429.082,1.00E-04 +7-12-2019 06:00,73018.31961,2454991.147,2454991.147,1.00E-04 +7-12-2019 07:00,73013.39086,3253895.12,3253895.12,1.00E-04 +7-12-2019 08:00,73008.46993,3945405.051,3945405.051,1.00E-04 +7-12-2019 09:00,73003.55681,3284407.609,3284407.609,1.00E-04 +7-12-2019 10:00,72998.65151,3175675.237,3175675.237,1.00E-04 +7-12-2019 11:00,72993.75403,4039976.507,4039976.507,1.00E-04 +7-12-2019 12:00,72988.86438,3574194.694,3574194.694,1.00E-04 +7-12-2019 13:00,72983.98255,2788570.225,2788570.225,1.00E-04 +7-12-2019 14:00,72979.10854,3071879.734,3071879.734,1.00E-04 +7-12-2019 15:00,72974.24237,3134551.532,3134551.532,1.00E-04 +7-12-2019 16:00,72969.38403,2931210.744,2931210.744,1.00E-04 +7-12-2019 17:00,72964.53353,3096010.519,3096010.519,1.00E-04 +7-12-2019 18:00,72959.69086,2955609.083,2955609.083,1.00E-04 +7-12-2019 19:00,72954.85604,2687980.421,2687980.421,1.00E-04 +7-12-2019 20:00,72950.02906,2213200.941,2213200.941,1.00E-04 +7-12-2019 21:00,72945.20992,1416822.638,1416822.638,1.00E-04 +7-12-2019 22:00,72940.39863,663082.959,663082.959,1.00E-04 +7-12-2019 23:00,72935.5952,281831.466,281831.466,1.00E-04 +8-12-2019 00:00,72930.79961,115854.025,115854.025,1.00E-04 +8-12-2019 01:00,72926.01188,39191.887,39191.887,1.00E-04 +8-12-2019 02:00,72921.23201,22175.825,22175.825,1.00E-04 +8-12-2019 03:00,72916.46,33921.447,33921.447,1.00E-04 +8-12-2019 04:00,72911.69585,188065.738,188065.738,1.00E-04 +8-12-2019 05:00,72906.93957,937335.392,937335.392,1.00E-04 +8-12-2019 06:00,72902.19115,2043296.178,2043296.178,1.00E-04 +8-12-2019 07:00,72897.4506,2763148.052,2763148.052,1.00E-04 +8-12-2019 08:00,72892.71793,3442316.514,3442316.514,1.00E-04 +8-12-2019 09:00,72887.99313,2912231,2912231,1.00E-04 +8-12-2019 10:00,72883.27621,2773239.903,2773239.903,1.00E-04 +8-12-2019 11:00,72878.56717,3760409.492,3760409.492,1.00E-04 +8-12-2019 12:00,72873.86601,3240049.995,3240049.995,1.00E-04 +8-12-2019 13:00,72869.17274,2171664.509,2171664.509,1.00E-04 +8-12-2019 14:00,72864.48735,2739879.702,2739879.702,1.00E-04 +8-12-2019 15:00,72859.80985,2899680.798,2899680.798,1.00E-04 +8-12-2019 16:00,72855.14025,2716394.037,2716394.037,1.00E-04 +8-12-2019 17:00,72850.47854,2879090.179,2879090.179,1.00E-04 +8-12-2019 18:00,72845.82472,2762140.108,2762140.108,1.00E-04 +8-12-2019 19:00,72841.17881,2525127.437,2525127.437,1.00E-04 +8-12-2019 20:00,72836.54079,2097338.642,2097338.642,1.00E-04 +8-12-2019 21:00,72831.91068,1353762.599,1353762.599,1.00E-04 +8-12-2019 22:00,72827.28848,645308.097,645308.097,1.00E-04 +8-12-2019 23:00,72822.67419,279957.097,279957.097,1.00E-04 +9-12-2019 00:00,72818.0678,113539.853,113539.853,1.00E-04 +9-12-2019 01:00,72813.46933,37559.452,37559.452,1.00E-04 +9-12-2019 02:00,72808.87878,20967.968,20967.968,1.00E-04 +9-12-2019 03:00,72804.29614,31712.422,31712.422,1.00E-04 +9-12-2019 04:00,72799.72142,175700.014,175700.014,1.00E-04 +9-12-2019 05:00,72795.15463,924187.817,924187.817,1.00E-04 +9-12-2019 06:00,72790.59576,2033916.731,2033916.731,1.00E-04 +9-12-2019 07:00,72786.04482,2801833.972,2801833.972,1.00E-04 +9-12-2019 08:00,72781.50181,3365247.291,3365247.291,1.00E-04 +9-12-2019 09:00,72776.96673,2811553.738,2811553.738,1.00E-04 +9-12-2019 10:00,72772.43959,2818429.082,2818429.082,1.00E-04 +9-12-2019 11:00,72767.92038,3828400.863,3828400.863,1.00E-04 +9-12-2019 12:00,72763.40911,3409139.426,3409139.426,1.00E-04 +9-12-2019 13:00,72758.90579,2661332.961,2661332.961,1.00E-04 +9-12-2019 14:00,72754.4104,2953209.441,2953209.441,1.00E-04 +9-12-2019 15:00,72749.92297,2966459.272,2966459.272,1.00E-04 +9-12-2019 16:00,72745.44348,2783175.808,2783175.808,1.00E-04 +9-12-2019 17:00,72740.97194,2965967.193,2965967.193,1.00E-04 +9-12-2019 18:00,72736.50836,2851640.666,2851640.666,1.00E-04 +9-12-2019 19:00,72732.05273,2635440.577,2635440.577,1.00E-04 +9-12-2019 20:00,72727.60506,2202657.597,2202657.597,1.00E-04 +9-12-2019 21:00,72723.16534,1407235.809,1407235.809,1.00E-04 +9-12-2019 22:00,72718.73359,672744.982,672744.982,1.00E-04 +9-12-2019 23:00,72714.30981,288506.652,288506.652,1.00E-04 +10-12-2019 00:00,72709.89399,120054.291,120054.291,1.00E-04 +10-12-2019 01:00,72705.48614,41429.143,41429.143,1.00E-04 +10-12-2019 02:00,72701.08627,23382.646,23382.646,1.00E-04 +10-12-2019 03:00,72696.69436,39079.453,39079.453,1.00E-04 +10-12-2019 04:00,72692.31043,216237.112,216237.112,1.00E-04 +10-12-2019 05:00,72687.93448,1077864.844,1077864.844,1.00E-04 +10-12-2019 06:00,72683.56651,2317488.39,2317488.39,1.00E-04 +10-12-2019 07:00,72679.20653,3124252.768,3124252.768,1.00E-04 +10-12-2019 08:00,72674.85452,3852082.927,3852082.927,1.00E-04 +10-12-2019 09:00,72670.51051,3110517.753,3110517.753,1.00E-04 +10-12-2019 10:00,72666.17448,3149159.083,3149159.083,1.00E-04 +10-12-2019 11:00,72661.84645,3997532.595,3997532.595,1.00E-04 +10-12-2019 12:00,72657.52641,3574845.316,3574845.316,1.00E-04 +10-12-2019 13:00,72653.21436,2791672.051,2791672.051,1.00E-04 +10-12-2019 14:00,72648.91031,3058546.057,3058546.057,1.00E-04 +10-12-2019 15:00,72644.61427,3093867.791,3093867.791,1.00E-04 +10-12-2019 16:00,72640.32623,2901196.9,2901196.9,1.00E-04 +10-12-2019 17:00,72636.04619,3084716.831,3084716.831,1.00E-04 +10-12-2019 18:00,72631.77415,2943559.017,2943559.017,1.00E-04 +10-12-2019 19:00,72627.51013,2658427.877,2658427.877,1.00E-04 +10-12-2019 20:00,72623.25412,2175671.393,2175671.393,1.00E-04 +10-12-2019 21:00,72619.00612,1396477.327,1396477.327,1.00E-04 +10-12-2019 22:00,72614.76614,658098.175,658098.175,1.00E-04 +10-12-2019 23:00,72610.53418,280554.365,280554.365,1.00E-04 +11-12-2019 00:00,72606.31023,114475.55,114475.55,1.00E-04 +11-12-2019 01:00,72602.09431,39455.178,39455.178,1.00E-04 +11-12-2019 02:00,72597.88642,22195.026,22195.026,1.00E-04 +11-12-2019 03:00,72593.68655,34589.954,34589.954,1.00E-04 +11-12-2019 04:00,72589.49471,189742.469,189742.469,1.00E-04 +11-12-2019 05:00,72585.3109,956971.442,956971.442,1.00E-04 +11-12-2019 06:00,72581.13512,2074033.577,2074033.577,1.00E-04 +11-12-2019 07:00,72576.96738,2816187.661,2816187.661,1.00E-04 +11-12-2019 08:00,72572.80767,3518139.289,3518139.289,1.00E-04 +11-12-2019 09:00,72568.65601,3022955.425,3022955.425,1.00E-04 +11-12-2019 10:00,72564.51238,3011812.223,3011812.223,1.00E-04 +11-12-2019 11:00,72560.3768,3895917.249,3895917.249,1.00E-04 +11-12-2019 12:00,72556.24927,3486353.171,3486353.171,1.00E-04 +11-12-2019 13:00,72552.12979,2711261.539,2711261.539,1.00E-04 +11-12-2019 14:00,72548.01835,3011285.438,3011285.438,1.00E-04 +11-12-2019 15:00,72543.91497,3068773.106,3068773.106,1.00E-04 +11-12-2019 16:00,72539.81964,2882611.417,2882611.417,1.00E-04 +11-12-2019 17:00,72535.73237,3067278.571,3067278.571,1.00E-04 +11-12-2019 18:00,72531.65315,2966127.731,2966127.731,1.00E-04 +11-12-2019 19:00,72527.582,2703941.751,2703941.751,1.00E-04 +11-12-2019 20:00,72523.51891,2205563.297,2205563.297,1.00E-04 +11-12-2019 21:00,72519.46389,1432389.917,1432389.917,1.00E-04 +11-12-2019 22:00,72515.41693,674327.815,674327.815,1.00E-04 +11-12-2019 23:00,72511.37804,292611.249,292611.249,1.00E-04 +12-12-2019 00:00,72507.34722,122490.508,122490.508,1.00E-04 +12-12-2019 01:00,72503.32448,41864.011,41864.011,1.00E-04 +12-12-2019 02:00,72499.30981,23825.641,23825.641,1.00E-04 +12-12-2019 03:00,72495.30322,40833.037,40833.037,1.00E-04 +12-12-2019 04:00,72491.30471,220653.622,220653.622,1.00E-04 +12-12-2019 05:00,72487.31428,1080021.845,1080021.845,1.00E-04 +12-12-2019 06:00,72483.33193,2321752.643,2321752.643,1.00E-04 +12-12-2019 07:00,72479.35767,3143176.449,3143176.449,1.00E-04 +12-12-2019 08:00,72475.39149,3791803.386,3791803.386,1.00E-04 +12-12-2019 09:00,72471.43341,2627634.254,2627634.254,1.00E-04 +12-12-2019 10:00,72467.48342,2440565.428,2440565.428,1.00E-04 +12-12-2019 11:00,72463.54152,3471285.944,3471285.944,1.00E-04 +12-12-2019 12:00,72459.60772,2828706.419,2828706.419,1.00E-04 +12-12-2019 13:00,72455.68201,1882266.029,1882266.029,1.00E-04 +12-12-2019 14:00,72451.76441,3005784.985,3005784.985,1.00E-04 +12-12-2019 15:00,72447.8549,3150468.503,3150468.503,1.00E-04 +12-12-2019 16:00,72443.9535,3004950.284,3004950.284,1.00E-04 +12-12-2019 17:00,72440.06021,3185541.457,3185541.457,1.00E-04 +12-12-2019 18:00,72436.17502,3057486.81,3057486.81,1.00E-04 +12-12-2019 19:00,72432.29795,2775057.999,2775057.999,1.00E-04 +12-12-2019 20:00,72428.42898,2279860.457,2279860.457,1.00E-04 +12-12-2019 21:00,72424.56813,1476076.651,1476076.651,1.00E-04 +12-12-2019 22:00,72420.7154,705768.112,705768.112,1.00E-04 +12-12-2019 23:00,72416.87078,306030.865,306030.865,1.00E-04 +13-12-2019 00:00,72413.03429,128800.763,128800.763,1.00E-04 +13-12-2019 01:00,72409.20591,44280.285,44280.285,1.00E-04 +13-12-2019 02:00,72405.38566,26995.801,26995.801,1.00E-04 +13-12-2019 03:00,72401.57353,49219.065,49219.065,1.00E-04 +13-12-2019 04:00,72397.76953,253921.395,253921.395,1.00E-04 +13-12-2019 05:00,72393.97367,1186953.341,1186953.341,1.00E-04 +13-12-2019 06:00,72390.18593,2513336.721,2513336.721,1.00E-04 +13-12-2019 07:00,72386.40633,3358857.803,3358857.803,1.00E-04 +13-12-2019 08:00,72382.63486,4130550.676,4130550.676,1.00E-04 +13-12-2019 09:00,72378.87153,3494220.009,3494220.009,1.00E-04 +13-12-2019 10:00,72375.11634,3370732.127,3370732.127,1.00E-04 +13-12-2019 11:00,72371.36929,4215568.616,4215568.616,1.00E-04 +13-12-2019 12:00,72367.63038,3783533.607,3783533.607,1.00E-04 +13-12-2019 13:00,72363.89962,3023342.49,3023342.49,1.00E-04 +13-12-2019 14:00,72360.177,3247239.331,3247239.331,1.00E-04 +13-12-2019 15:00,72356.46254,3227416.71,3227416.71,1.00E-04 +13-12-2019 16:00,72352.75622,2987128.487,2987128.487,1.00E-04 +13-12-2019 17:00,72349.05806,3137952.657,3137952.657,1.00E-04 +13-12-2019 18:00,72345.36805,3001398.162,3001398.162,1.00E-04 +13-12-2019 19:00,72341.6862,2748807.194,2748807.194,1.00E-04 +13-12-2019 20:00,72338.01251,2243472.322,2243472.322,1.00E-04 +13-12-2019 21:00,72334.34698,1461558.609,1461558.609,1.00E-04 +13-12-2019 22:00,72330.68961,695211.867,695211.867,1.00E-04 +13-12-2019 23:00,72327.0404,300773.921,300773.921,1.00E-04 +14-12-2019 00:00,72323.39936,126403.704,126403.704,1.00E-04 +14-12-2019 01:00,72319.76649,43368.248,43368.248,1.00E-04 +14-12-2019 02:00,72316.14179,25987.892,25987.892,1.00E-04 +14-12-2019 03:00,72312.52526,45696.49,45696.49,1.00E-04 +14-12-2019 04:00,72308.9169,241622.731,241622.731,1.00E-04 +14-12-2019 05:00,72305.31672,1132531.904,1132531.904,1.00E-04 +14-12-2019 06:00,72301.72472,2394190.442,2394190.442,1.00E-04 +14-12-2019 07:00,72298.14089,3161444.818,3161444.818,1.00E-04 +14-12-2019 08:00,72294.56525,3874585.512,3874585.512,1.00E-04 +14-12-2019 09:00,72290.99779,3133091.836,3133091.836,1.00E-04 +14-12-2019 10:00,72287.43851,2828388.493,2828388.493,1.00E-04 +14-12-2019 11:00,72283.88742,3976295.442,3976295.442,1.00E-04 +14-12-2019 12:00,72280.34452,3576476.715,3576476.715,1.00E-04 +14-12-2019 13:00,72276.8098,2904156.773,2904156.773,1.00E-04 +14-12-2019 14:00,72273.28328,3089371.383,3089371.383,1.00E-04 +14-12-2019 15:00,72269.76496,3198193.488,3198193.488,1.00E-04 +14-12-2019 16:00,72266.25482,2965726.05,2965726.05,1.00E-04 +14-12-2019 17:00,72262.75289,3122983.878,3122983.878,1.00E-04 +14-12-2019 18:00,72259.25915,3017134.113,3017134.113,1.00E-04 +14-12-2019 19:00,72255.77362,2756991.538,2756991.538,1.00E-04 +14-12-2019 20:00,72252.29629,2292826.466,2292826.466,1.00E-04 +14-12-2019 21:00,72248.82716,1481719.575,1481719.575,1.00E-04 +14-12-2019 22:00,72245.36624,701155.455,701155.455,1.00E-04 +14-12-2019 23:00,72241.91353,304012.653,304012.653,1.00E-04 +15-12-2019 00:00,72238.46902,125725.915,125725.915,1.00E-04 +15-12-2019 01:00,72235.03273,42197.064,42197.064,1.00E-04 +15-12-2019 02:00,72231.60465,24597.174,24597.174,1.00E-04 +15-12-2019 03:00,72228.18479,41938.015,41938.015,1.00E-04 +15-12-2019 04:00,72224.77314,218409.408,218409.408,1.00E-04 +15-12-2019 05:00,72221.36972,1035786.703,1035786.703,1.00E-04 +15-12-2019 06:00,72217.97451,2195227.958,2195227.958,1.00E-04 +15-12-2019 07:00,72214.58752,2954344.687,2954344.687,1.00E-04 +15-12-2019 08:00,72211.20876,3555465.466,3555465.466,1.00E-04 +15-12-2019 09:00,72207.83823,2533353.382,2533353.382,1.00E-04 +15-12-2019 10:00,72204.47592,2737531.839,2737531.839,1.00E-04 +15-12-2019 11:00,72201.12184,3816360.065,3816360.065,1.00E-04 +15-12-2019 12:00,72197.77599,3483376.484,3483376.484,1.00E-04 +15-12-2019 13:00,72194.43837,2708599.187,2708599.187,1.00E-04 +15-12-2019 14:00,72191.10899,2998911.118,2998911.118,1.00E-04 +15-12-2019 15:00,72187.78785,3032397.718,3032397.718,1.00E-04 +15-12-2019 16:00,72184.47494,2859764.691,2859764.691,1.00E-04 +15-12-2019 17:00,72181.17027,3056257.491,3056257.491,1.00E-04 +15-12-2019 18:00,72177.87384,2933980.581,2933980.581,1.00E-04 +15-12-2019 19:00,72174.58566,2671160.016,2671160.016,1.00E-04 +15-12-2019 20:00,72171.30571,2209056.801,2209056.801,1.00E-04 +15-12-2019 21:00,72168.03402,1426457.081,1426457.081,1.00E-04 +15-12-2019 22:00,72164.77057,679048.727,679048.727,1.00E-04 +15-12-2019 23:00,72161.51538,292912.312,292912.312,1.00E-04 +16-12-2019 00:00,72158.26843,124181.554,124181.554,1.00E-04 +16-12-2019 01:00,72155.02974,42394.009,42394.009,1.00E-04 +16-12-2019 02:00,72151.7993,24183.264,24183.264,1.00E-04 +16-12-2019 03:00,72148.57711,41694.912,41694.912,1.00E-04 +16-12-2019 04:00,72145.36319,221389.42,221389.42,1.00E-04 +16-12-2019 05:00,72142.15752,1060205.615,1060205.615,1.00E-04 +16-12-2019 06:00,72138.96012,2235959.236,2235959.236,1.00E-04 +16-12-2019 07:00,72135.77098,2962027.159,2962027.159,1.00E-04 +16-12-2019 08:00,72132.5901,3640192.101,3640192.101,1.00E-04 +16-12-2019 09:00,72129.41749,3089049.187,3089049.187,1.00E-04 +16-12-2019 10:00,72126.25315,3024690.816,3024690.816,1.00E-04 +16-12-2019 11:00,72123.09707,3885196.322,3885196.322,1.00E-04 +16-12-2019 12:00,72119.94927,3482477.516,3482477.516,1.00E-04 +16-12-2019 13:00,72116.80974,2725977.786,2725977.786,1.00E-04 +16-12-2019 14:00,72113.67848,2962082.767,2962082.767,1.00E-04 +16-12-2019 15:00,72110.5555,3016676.292,3016676.292,1.00E-04 +16-12-2019 16:00,72107.4408,2800808.073,2800808.073,1.00E-04 +16-12-2019 17:00,72104.33437,2971767.869,2971767.869,1.00E-04 +16-12-2019 18:00,72101.23623,2850691.704,2850691.704,1.00E-04 +16-12-2019 19:00,72098.14637,2597111.209,2597111.209,1.00E-04 +16-12-2019 20:00,72095.06479,2130920.113,2130920.113,1.00E-04 +16-12-2019 21:00,72091.9915,1374251.921,1374251.921,1.00E-04 +16-12-2019 22:00,72088.92649,649878.796,649878.796,1.00E-04 +16-12-2019 23:00,72085.86977,283028.872,283028.872,1.00E-04 +17-12-2019 00:00,72082.82135,116726.008,116726.008,1.00E-04 +17-12-2019 01:00,72079.78121,40320.553,40320.553,1.00E-04 +17-12-2019 02:00,72076.74937,22172.332,22172.332,1.00E-04 +17-12-2019 03:00,72073.72582,33844.461,33844.461,1.00E-04 +17-12-2019 04:00,72070.71057,183295.567,183295.567,1.00E-04 +17-12-2019 05:00,72067.70362,924816.844,924816.844,1.00E-04 +17-12-2019 06:00,72064.70496,1980609.547,1980609.547,1.00E-04 +17-12-2019 07:00,72061.71461,2610029.142,2610029.142,1.00E-04 +17-12-2019 08:00,72058.73256,3206960.449,3206960.449,1.00E-04 +17-12-2019 09:00,72055.75881,2735434.555,2735434.555,1.00E-04 +17-12-2019 10:00,72052.79337,2696784.195,2696784.195,1.00E-04 +17-12-2019 11:00,72049.83624,3519225.647,3519225.647,1.00E-04 +17-12-2019 12:00,72046.88741,2886712.948,2886712.948,1.00E-04 +17-12-2019 13:00,72043.9469,2274635.307,2274635.307,1.00E-04 +17-12-2019 14:00,72041.01469,2499032.634,2499032.634,1.00E-04 +17-12-2019 15:00,72038.0908,2561139.196,2561139.196,1.00E-04 +17-12-2019 16:00,72035.17523,2361173.178,2361173.178,1.00E-04 +17-12-2019 17:00,72032.26797,2628570.798,2628570.798,1.00E-04 +17-12-2019 18:00,72029.36903,2562129.01,2562129.01,1.00E-04 +17-12-2019 19:00,72026.4784,2354447.424,2354447.424,1.00E-04 +17-12-2019 20:00,72023.5961,2003580.558,2003580.558,1.00E-04 +17-12-2019 21:00,72020.72212,1302559.916,1302559.916,1.00E-04 +17-12-2019 22:00,72017.85647,619045.224,619045.224,1.00E-04 +17-12-2019 23:00,72014.99914,265638.94,265638.94,1.00E-04 +18-12-2019 00:00,72012.15013,106779.274,106779.274,1.00E-04 +18-12-2019 01:00,72009.30945,34422.927,34422.927,1.00E-04 +18-12-2019 02:00,72006.47711,18804.128,18804.128,1.00E-04 +18-12-2019 03:00,72003.65309,27558.265,27558.265,1.00E-04 +18-12-2019 04:00,72000.83741,144304.265,144304.265,1.00E-04 +18-12-2019 05:00,71998.03006,806396.283,806396.283,1.00E-04 +18-12-2019 06:00,71995.23104,1793937.803,1793937.803,1.00E-04 +18-12-2019 07:00,71992.44036,2464885.255,2464885.255,1.00E-04 +18-12-2019 08:00,71989.65802,3072506.283,3072506.283,1.00E-04 +18-12-2019 09:00,71986.88402,2777071.633,2777071.633,1.00E-04 +18-12-2019 10:00,71984.11836,2701210.701,2701210.701,1.00E-04 +18-12-2019 11:00,71981.36105,3579668.47,3579668.47,1.00E-04 +18-12-2019 12:00,71978.61207,3174286.927,3174286.927,1.00E-04 +18-12-2019 13:00,71975.87144,2482306.596,2482306.596,1.00E-04 +18-12-2019 14:00,71973.13916,2801562.036,2801562.036,1.00E-04 +18-12-2019 15:00,71970.41523,2870092.764,2870092.764,1.00E-04 +18-12-2019 16:00,71967.69965,2725728.145,2725728.145,1.00E-04 +18-12-2019 17:00,71964.99241,2898454.237,2898454.237,1.00E-04 +18-12-2019 18:00,71962.29353,2747206.518,2747206.518,1.00E-04 +18-12-2019 19:00,71959.60301,2483802.3,2483802.3,1.00E-04 +18-12-2019 20:00,71956.92083,2038428.63,2038428.63,1.00E-04 +18-12-2019 21:00,71954.24702,1318733.738,1318733.738,1.00E-04 +18-12-2019 22:00,71951.58156,625847.81,625847.81,1.00E-04 +18-12-2019 23:00,71948.92446,269270.771,269270.771,1.00E-04 +19-12-2019 00:00,71946.27572,106351.651,106351.651,1.00E-04 +19-12-2019 01:00,71943.63535,34044.206,34044.206,1.00E-04 +19-12-2019 02:00,71941.00334,18679.157,18679.157,1.00E-04 +19-12-2019 03:00,71938.37969,27207.341,27207.341,1.00E-04 +19-12-2019 04:00,71935.7644,140399.399,140399.399,1.00E-04 +19-12-2019 05:00,71933.15749,768835.053,768835.053,1.00E-04 +19-12-2019 06:00,71930.55894,1701045.066,1701045.066,1.00E-04 +19-12-2019 07:00,71927.96877,2323516.944,2323516.944,1.00E-04 +19-12-2019 08:00,71925.38696,2935319.947,2935319.947,1.00E-04 +19-12-2019 09:00,71922.81353,2566031.895,2566031.895,1.00E-04 +19-12-2019 10:00,71920.24847,2565695.363,2565695.363,1.00E-04 +19-12-2019 11:00,71917.69179,3382482.446,3382482.446,1.00E-04 +19-12-2019 12:00,71915.14348,3021813.298,3021813.298,1.00E-04 +19-12-2019 13:00,71912.60355,2212369.74,2212369.74,1.00E-04 +19-12-2019 14:00,71910.072,2457934.654,2457934.654,1.00E-04 +19-12-2019 15:00,71907.54883,2485726.012,2485726.012,1.00E-04 +19-12-2019 16:00,71905.03405,2326741.221,2326741.221,1.00E-04 +19-12-2019 17:00,71902.52764,2504150.096,2504150.096,1.00E-04 +19-12-2019 18:00,71900.02962,2375459.254,2375459.254,1.00E-04 +19-12-2019 19:00,71897.53999,2136093.225,2136093.225,1.00E-04 +19-12-2019 20:00,71895.05874,1746877.314,1746877.314,1.00E-04 +19-12-2019 21:00,71892.58588,1143256.072,1143256.072,1.00E-04 +19-12-2019 22:00,71890.12141,544479.824,544479.824,1.00E-04 +19-12-2019 23:00,71887.66533,231845.656,231845.656,1.00E-04 +20-12-2019 00:00,71885.21765,93094.519,93094.519,1.00E-04 +20-12-2019 01:00,71882.77835,24833.368,24833.368,1.00E-04 +20-12-2019 02:00,71880.34746,12900.783,12900.783,1.00E-04 +20-12-2019 03:00,71877.92495,20347.537,20347.537,1.00E-04 +20-12-2019 04:00,71875.51085,84724.738,84724.738,1.00E-04 +20-12-2019 05:00,71873.10514,532030.877,532030.877,1.00E-04 +20-12-2019 06:00,71870.70783,1211109.886,1211109.886,1.00E-04 +20-12-2019 07:00,71868.31892,1729826.049,1729826.049,1.00E-04 +20-12-2019 08:00,71865.93842,2340557.835,2340557.835,1.00E-04 +20-12-2019 09:00,71863.56632,2218456.457,2218456.457,1.00E-04 +20-12-2019 10:00,71861.20262,2365941.501,2365941.501,1.00E-04 +20-12-2019 11:00,71858.84733,3169490.513,3169490.513,1.00E-04 +20-12-2019 12:00,71856.50044,2902003.748,2902003.748,1.00E-04 +20-12-2019 13:00,71854.16197,2026307.143,2026307.143,1.00E-04 +20-12-2019 14:00,71851.8319,2332829.212,2332829.212,1.00E-04 +20-12-2019 15:00,71849.51024,2404844.316,2404844.316,1.00E-04 +20-12-2019 16:00,71847.19699,2249338.35,2249338.35,1.00E-04 +20-12-2019 17:00,71844.89216,2427191.914,2427191.914,1.00E-04 +20-12-2019 18:00,71842.59574,2348869.992,2348869.992,1.00E-04 +20-12-2019 19:00,71840.30774,2153347.483,2153347.483,1.00E-04 +20-12-2019 20:00,71838.02815,1778662.718,1778662.718,1.00E-04 +20-12-2019 21:00,71835.75698,1152278.148,1152278.148,1.00E-04 +20-12-2019 22:00,71833.49423,544105.975,544105.975,1.00E-04 +20-12-2019 23:00,71831.2399,236435.808,236435.808,1.00E-04 +21-12-2019 00:00,71828.99399,95613.455,95613.455,1.00E-04 +21-12-2019 01:00,71826.75651,26289.123,26289.123,1.00E-04 +21-12-2019 02:00,71824.52744,13291.131,13291.131,1.00E-04 +21-12-2019 03:00,71822.3068,21179.55,21179.55,1.00E-04 +21-12-2019 04:00,71820.09459,90994.946,90994.946,1.00E-04 +21-12-2019 05:00,71817.8908,598025.001,598025.001,1.00E-04 +21-12-2019 06:00,71815.69544,1402617.881,1402617.881,1.00E-04 +21-12-2019 07:00,71813.50851,2017628.074,2017628.074,1.00E-04 +21-12-2019 08:00,71811.33001,2648746.156,2648746.156,1.00E-04 +21-12-2019 09:00,71809.15994,2413752.523,2413752.523,1.00E-04 +21-12-2019 10:00,71806.99831,2538406.752,2538406.752,1.00E-04 +21-12-2019 11:00,71804.8451,3424032.059,3424032.059,1.00E-04 +21-12-2019 12:00,71802.70034,3083455.389,3083455.389,1.00E-04 +21-12-2019 13:00,71800.564,2248326.325,2248326.325,1.00E-04 +21-12-2019 14:00,71798.43611,2557391.417,2557391.417,1.00E-04 +21-12-2019 15:00,71796.31665,2567553.366,2567553.366,1.00E-04 +21-12-2019 16:00,71794.20563,2408519.883,2408519.883,1.00E-04 +21-12-2019 17:00,71792.10305,2595463.493,2595463.493,1.00E-04 +21-12-2019 18:00,71790.00892,2477652.135,2477652.135,1.00E-04 +21-12-2019 19:00,71787.92322,2279692.576,2279692.576,1.00E-04 +21-12-2019 20:00,71785.84597,1868924.89,1868924.89,1.00E-04 +21-12-2019 21:00,71783.77716,1217414.212,1217414.212,1.00E-04 +21-12-2019 22:00,71781.7168,575002.785,575002.785,1.00E-04 +21-12-2019 23:00,71779.66489,245839.055,245839.055,1.00E-04 +22-12-2019 00:00,71777.62142,99917.118,99917.118,1.00E-04 +22-12-2019 01:00,71775.5864,28842.863,28842.863,1.00E-04 +22-12-2019 02:00,71773.55983,15493.408,15493.408,1.00E-04 +22-12-2019 03:00,71771.54171,23239.657,23239.657,1.00E-04 +22-12-2019 04:00,71769.53205,105224.959,105224.959,1.00E-04 +22-12-2019 05:00,71767.53083,644415.044,644415.044,1.00E-04 +22-12-2019 06:00,71765.53807,1466275.678,1466275.678,1.00E-04 +22-12-2019 07:00,71763.55377,2054077.074,2054077.074,1.00E-04 +22-12-2019 08:00,71761.57792,2685802.364,2685802.364,1.00E-04 +22-12-2019 09:00,71759.61053,2435264.209,2435264.209,1.00E-04 +22-12-2019 10:00,71757.65159,2550780.701,2550780.701,1.00E-04 +22-12-2019 11:00,71755.70112,3443717.242,3443717.242,1.00E-04 +22-12-2019 12:00,71753.7591,3089857.834,3089857.834,1.00E-04 +22-12-2019 13:00,71751.82555,2255658.853,2255658.853,1.00E-04 +22-12-2019 14:00,71749.90046,2544875.627,2544875.627,1.00E-04 +22-12-2019 15:00,71747.98383,2579128.776,2579128.776,1.00E-04 +22-12-2019 16:00,71746.07566,2431272.123,2431272.123,1.00E-04 +22-12-2019 17:00,71744.17596,2592656.444,2592656.444,1.00E-04 +22-12-2019 18:00,71742.28473,2483198.417,2483198.417,1.00E-04 +22-12-2019 19:00,71740.40196,2261682.773,2261682.773,1.00E-04 +22-12-2019 20:00,71738.52766,1863521.149,1863521.149,1.00E-04 +22-12-2019 21:00,71736.66183,1217950.881,1217950.881,1.00E-04 +22-12-2019 22:00,71734.80446,574961.352,574961.352,1.00E-04 +22-12-2019 23:00,71732.95557,247221.8,247221.8,1.00E-04 +23-12-2019 00:00,71731.11515,97977.866,97977.866,1.00E-04 +23-12-2019 01:00,71729.28321,28356.37,28356.37,1.00E-04 +23-12-2019 02:00,71727.45973,15289.743,15289.743,1.00E-04 +23-12-2019 03:00,71725.64473,22928.199,22928.199,1.00E-04 +23-12-2019 04:00,71723.83821,102970.287,102970.287,1.00E-04 +23-12-2019 05:00,71722.04016,629603.471,629603.471,1.00E-04 +23-12-2019 06:00,71720.25059,1439030.159,1439030.159,1.00E-04 +23-12-2019 07:00,71718.4695,2049149.676,2049149.676,1.00E-04 +23-12-2019 08:00,71716.69689,2681892.605,2681892.605,1.00E-04 +23-12-2019 09:00,71714.93276,2438873.948,2438873.948,1.00E-04 +23-12-2019 10:00,71713.1771,2566502.519,2566502.519,1.00E-04 +23-12-2019 11:00,71711.42993,3443797.749,3443797.749,1.00E-04 +23-12-2019 12:00,71709.69125,3106752.096,3106752.096,1.00E-04 +23-12-2019 13:00,71707.96104,2148835.276,2148835.276,1.00E-04 +23-12-2019 14:00,71706.23932,2472082.802,2472082.802,1.00E-04 +23-12-2019 15:00,71704.52609,2595612.887,2595612.887,1.00E-04 +23-12-2019 16:00,71702.82134,2405220.237,2405220.237,1.00E-04 +23-12-2019 17:00,71701.12508,2610019.678,2610019.678,1.00E-04 +23-12-2019 18:00,71699.43731,2529130.597,2529130.597,1.00E-04 +23-12-2019 19:00,71697.75803,2287821.83,2287821.83,1.00E-04 +23-12-2019 20:00,71696.08723,1882370.042,1882370.042,1.00E-04 +23-12-2019 21:00,71694.42493,1215949.658,1215949.658,1.00E-04 +23-12-2019 22:00,71692.77112,583228.114,583228.114,1.00E-04 +23-12-2019 23:00,71691.1258,252802.753,252802.753,1.00E-04 +24-12-2019 00:00,71689.48897,101908.912,101908.912,1.00E-04 +24-12-2019 01:00,71687.86064,30417.009,30417.009,1.00E-04 +24-12-2019 02:00,71686.2408,16272.823,16272.823,1.00E-04 +24-12-2019 03:00,71684.62946,24353.504,24353.504,1.00E-04 +24-12-2019 04:00,71683.02661,114110.605,114110.605,1.00E-04 +24-12-2019 05:00,71681.43227,680614.319,680614.319,1.00E-04 +24-12-2019 06:00,71679.84642,1551781.553,1551781.553,1.00E-04 +24-12-2019 07:00,71678.26907,2185608.467,2185608.467,1.00E-04 +24-12-2019 08:00,71676.70021,2856146.475,2856146.475,1.00E-04 +24-12-2019 09:00,71675.13986,2544108.105,2544108.105,1.00E-04 +24-12-2019 10:00,71673.58802,2597760.431,2597760.431,1.00E-04 +24-12-2019 11:00,71672.04467,3451273.959,3451273.959,1.00E-04 +24-12-2019 12:00,71670.50982,3066754.306,3066754.306,1.00E-04 +24-12-2019 13:00,71668.98348,2266787.733,2266787.733,1.00E-04 +24-12-2019 14:00,71667.46565,2537476.088,2537476.088,1.00E-04 +24-12-2019 15:00,71665.95632,2566440.681,2566440.681,1.00E-04 +24-12-2019 16:00,71664.45549,2378312.713,2378312.713,1.00E-04 +24-12-2019 17:00,71662.96318,2536284.674,2536284.674,1.00E-04 +24-12-2019 18:00,71661.47937,2430392.93,2430392.93,1.00E-04 +24-12-2019 19:00,71660.00407,2201157.826,2201157.826,1.00E-04 +24-12-2019 20:00,71658.53727,1813910.49,1813910.49,1.00E-04 +24-12-2019 21:00,71657.07899,1176459.613,1176459.613,1.00E-04 +24-12-2019 22:00,71655.62922,553932.505,553932.505,1.00E-04 +24-12-2019 23:00,71654.18796,236285.532,236285.532,1.00E-04 +25-12-2019 00:00,71652.75521,95869.823,95869.823,1.00E-04 +25-12-2019 01:00,71651.33098,26816.153,26816.153,1.00E-04 +25-12-2019 02:00,71649.91525,14049.224,14049.224,1.00E-04 +25-12-2019 03:00,71648.50805,21853.776,21853.776,1.00E-04 +25-12-2019 04:00,71647.10936,95402.02,95402.02,1.00E-04 +25-12-2019 05:00,71645.71918,595942.144,595942.144,1.00E-04 +25-12-2019 06:00,71644.33752,1382753.568,1382753.568,1.00E-04 +25-12-2019 07:00,71642.96438,1982149.596,1982149.596,1.00E-04 +25-12-2019 08:00,71641.59975,2616783.351,2616783.351,1.00E-04 +25-12-2019 09:00,71640.24365,2115214.864,2115214.864,1.00E-04 +25-12-2019 10:00,71638.89606,2066416.814,2066416.814,1.00E-04 +25-12-2019 11:00,71637.55699,2796627.197,2796627.197,1.00E-04 +25-12-2019 12:00,71636.22645,2826485.305,2826485.305,1.00E-04 +25-12-2019 13:00,71634.90442,2159472.049,2159472.049,1.00E-04 +25-12-2019 14:00,71633.59092,2510941.517,2510941.517,1.00E-04 +25-12-2019 15:00,71632.28594,2583089.187,2583089.187,1.00E-04 +25-12-2019 16:00,71630.98948,2447140.962,2447140.962,1.00E-04 +25-12-2019 17:00,71629.70155,2629040.351,2629040.351,1.00E-04 +25-12-2019 18:00,71628.42214,2524614.82,2524614.82,1.00E-04 +25-12-2019 19:00,71627.15126,2292692.808,2292692.808,1.00E-04 +25-12-2019 20:00,71625.88891,1886951.087,1886951.087,1.00E-04 +25-12-2019 21:00,71624.63508,1226663.998,1226663.998,1.00E-04 +25-12-2019 22:00,71623.38978,588742.196,588742.196,1.00E-04 +25-12-2019 23:00,71622.153,250570.607,250570.607,1.00E-04 +26-12-2019 00:00,71620.92476,100243.605,100243.605,1.00E-04 +26-12-2019 01:00,71619.70504,30180.024,30180.024,1.00E-04 +26-12-2019 02:00,71618.49385,16329.355,16329.355,1.00E-04 +26-12-2019 03:00,71617.2912,24631.068,24631.068,1.00E-04 +26-12-2019 04:00,71616.09707,116608.548,116608.548,1.00E-04 +26-12-2019 05:00,71614.91148,705538.442,705538.442,1.00E-04 +26-12-2019 06:00,71613.73442,1603945.259,1603945.259,1.00E-04 +26-12-2019 07:00,71612.56589,2258269.727,2258269.727,1.00E-04 +26-12-2019 08:00,71611.4059,2936266.76,2936266.76,1.00E-04 +26-12-2019 09:00,71610.25444,2624535.319,2624535.319,1.00E-04 +26-12-2019 10:00,71609.11152,2752560.083,2752560.083,1.00E-04 +26-12-2019 11:00,71607.97713,3654041.86,3654041.86,1.00E-04 +26-12-2019 12:00,71606.85127,3285996.952,3285996.952,1.00E-04 +26-12-2019 13:00,71605.73396,2473346.554,2473346.554,1.00E-04 +26-12-2019 14:00,71604.62518,2773197.021,2773197.021,1.00E-04 +26-12-2019 15:00,71603.52493,2802797.711,2802797.711,1.00E-04 +26-12-2019 16:00,71602.43323,2622954.558,2622954.558,1.00E-04 +26-12-2019 17:00,71601.35006,2802031.183,2802031.183,1.00E-04 +26-12-2019 18:00,71600.27544,2703755.593,2703755.593,1.00E-04 +26-12-2019 19:00,71599.20935,2456286.329,2456286.329,1.00E-04 +26-12-2019 20:00,71598.15181,2018981.923,2018981.923,1.00E-04 +26-12-2019 21:00,71597.1028,1316320.187,1316320.187,1.00E-04 +26-12-2019 22:00,71596.06234,624101.079,624101.079,1.00E-04 +26-12-2019 23:00,71595.03042,268271.402,268271.402,1.00E-04 +27-12-2019 00:00,71594.00704,107998.086,107998.086,1.00E-04 +27-12-2019 01:00,71592.9922,34691.846,34691.846,1.00E-04 +27-12-2019 02:00,71591.98591,19462.016,19462.016,1.00E-04 +27-12-2019 03:00,71590.98816,28776.398,28776.398,1.00E-04 +27-12-2019 04:00,71589.99896,150145.618,150145.618,1.00E-04 +27-12-2019 05:00,71589.0183,844101.741,844101.741,1.00E-04 +27-12-2019 06:00,71588.04619,1905140.16,1905140.16,1.00E-04 +27-12-2019 07:00,71587.08263,2675003.016,2675003.016,1.00E-04 +27-12-2019 08:00,71586.12761,3333649.263,3333649.263,1.00E-04 +27-12-2019 09:00,71585.18114,2409712.186,2409712.186,1.00E-04 +27-12-2019 10:00,71584.24321,2224894.518,2224894.518,1.00E-04 +27-12-2019 11:00,71583.31383,3041448.501,3041448.501,1.00E-04 +27-12-2019 12:00,71582.39301,2514828.099,2514828.099,1.00E-04 +27-12-2019 13:00,71581.48073,1560332.508,1560332.508,1.00E-04 +27-12-2019 14:00,71580.577,2649506.916,2649506.916,1.00E-04 +27-12-2019 15:00,71579.68182,2956264.619,2956264.619,1.00E-04 +27-12-2019 16:00,71578.79519,2884111.475,2884111.475,1.00E-04 +27-12-2019 17:00,71577.91711,3155754.336,3155754.336,1.00E-04 +27-12-2019 18:00,71577.04759,3057083.071,3057083.071,1.00E-04 +27-12-2019 19:00,71576.18661,2806873.125,2806873.125,1.00E-04 +27-12-2019 20:00,71575.33419,2315656.826,2315656.826,1.00E-04 +27-12-2019 21:00,71574.49032,1516310.075,1516310.075,1.00E-04 +27-12-2019 22:00,71573.65501,742144.277,742144.277,1.00E-04 +27-12-2019 23:00,71572.82824,317565.409,317565.409,1.00E-04 +28-12-2019 00:00,71572.01004,134474.774,134474.774,1.00E-04 +28-12-2019 01:00,71571.20038,48263.579,48263.579,1.00E-04 +28-12-2019 02:00,71570.39928,32734.975,32734.975,1.00E-04 +28-12-2019 03:00,71569.60674,68387.228,68387.228,1.00E-04 +28-12-2019 04:00,71568.82275,307301.694,307301.694,1.00E-04 +28-12-2019 05:00,71568.04732,1390446.477,1390446.477,1.00E-04 +28-12-2019 06:00,71567.28044,2891241.15,2891241.15,1.00E-04 +28-12-2019 07:00,71566.52212,3859544.122,3859544.122,1.00E-04 +28-12-2019 08:00,71565.77236,4646274.829,4646274.829,1.00E-04 +28-12-2019 09:00,71565.03116,3817683.016,3817683.016,1.00E-04 +28-12-2019 10:00,71564.29851,3588665.052,3588665.052,1.00E-04 +28-12-2019 11:00,71563.57443,4361762.692,4361762.692,1.00E-04 +28-12-2019 12:00,71562.8589,3894421.678,3894421.678,1.00E-04 +28-12-2019 13:00,71562.15193,3165198.701,3165198.701,1.00E-04 +28-12-2019 14:00,71561.45352,3399543.504,3399543.504,1.00E-04 +28-12-2019 15:00,71560.76367,3484340.356,3484340.356,1.00E-04 +28-12-2019 16:00,71560.08238,3288038.46,3288038.46,1.00E-04 +28-12-2019 17:00,71559.40965,3487863.323,3487863.323,1.00E-04 +28-12-2019 18:00,71558.74548,3355632.224,3355632.224,1.00E-04 +28-12-2019 19:00,71558.08987,3073865.837,3073865.837,1.00E-04 +28-12-2019 20:00,71557.44283,2558893.89,2558893.89,1.00E-04 +28-12-2019 21:00,71556.80434,1662627.057,1662627.057,1.00E-04 +28-12-2019 22:00,71556.17442,796428.311,796428.311,1.00E-04 +28-12-2019 23:00,71555.55306,353201.261,353201.261,1.00E-04 +29-12-2019 00:00,71554.94027,150837.372,150837.372,1.00E-04 +29-12-2019 01:00,71554.33603,60951.149,60951.149,1.00E-04 +29-12-2019 02:00,71553.74036,51240.693,51240.693,1.00E-04 +29-12-2019 03:00,71553.15326,106940.323,106940.323,1.00E-04 +29-12-2019 04:00,71552.57472,399725.935,399725.935,1.00E-04 +29-12-2019 05:00,71552.00474,1636352.361,1636352.361,1.00E-04 +29-12-2019 06:00,71551.44333,3312184.757,3312184.757,1.00E-04 +29-12-2019 07:00,71550.89048,4292944.173,4292944.173,1.00E-04 +29-12-2019 08:00,71550.3462,5080357.646,5080357.646,1.00E-04 +29-12-2019 09:00,71549.81048,4159182.517,4159182.517,1.00E-04 +29-12-2019 10:00,71549.28333,3852396.233,3852396.233,1.00E-04 +29-12-2019 11:00,71548.76475,4615353.295,4615353.295,1.00E-04 +29-12-2019 12:00,71548.25473,4095308.665,4095308.665,1.00E-04 +29-12-2019 13:00,71547.75328,3368608.306,3368608.306,1.00E-04 +29-12-2019 14:00,71547.26039,3575900.23,3575900.23,1.00E-04 +29-12-2019 15:00,71546.77608,3628089.871,3628089.871,1.00E-04 +29-12-2019 16:00,71546.30033,3421000.723,3421000.723,1.00E-04 +29-12-2019 17:00,71545.83315,3614426.739,3614426.739,1.00E-04 +29-12-2019 18:00,71545.37453,3458049.343,3458049.343,1.00E-04 +29-12-2019 19:00,71544.92449,3135666.331,3135666.331,1.00E-04 +29-12-2019 20:00,71544.48301,2586434.536,2586434.536,1.00E-04 +29-12-2019 21:00,71544.0501,1680049.987,1680049.987,1.00E-04 +29-12-2019 22:00,71543.62576,799586.942,799586.942,1.00E-04 +29-12-2019 23:00,71543.20999,356651.155,356651.155,1.00E-04 +30-12-2019 00:00,71542.80279,151430.601,151430.601,1.00E-04 +30-12-2019 01:00,71542.40415,63154.938,63154.938,1.00E-04 +30-12-2019 02:00,71542.01409,52957.625,52957.625,1.00E-04 +30-12-2019 03:00,71541.6326,105714.819,105714.819,1.00E-04 +30-12-2019 04:00,71541.25967,390276.649,390276.649,1.00E-04 +30-12-2019 05:00,71540.89532,1577777.551,1577777.551,1.00E-04 +30-12-2019 06:00,71540.53954,3195088.33,3195088.33,1.00E-04 +30-12-2019 07:00,71540.19233,4134999.708,4134999.708,1.00E-04 +30-12-2019 08:00,71539.85369,4868654.329,4868654.329,1.00E-04 +30-12-2019 09:00,71539.52362,3391930.577,3391930.577,1.00E-04 +30-12-2019 10:00,71539.20212,2789673.656,2789673.656,1.00E-04 +30-12-2019 11:00,71538.88919,3875260.487,3875260.487,1.00E-04 +30-12-2019 12:00,71538.58484,2994191.095,2994191.095,1.00E-04 +30-12-2019 13:00,71538.28905,2057591.718,2057591.718,1.00E-04 +30-12-2019 14:00,71538.00184,3109936.963,3109936.963,1.00E-04 +30-12-2019 15:00,71537.7232,3420895.534,3420895.534,1.00E-04 +30-12-2019 16:00,71537.45313,3264332.337,3264332.337,1.00E-04 +30-12-2019 17:00,71537.19163,3432021.719,3432021.719,1.00E-04 +30-12-2019 18:00,71536.93871,3313474.486,3313474.486,1.00E-04 +30-12-2019 19:00,71536.69436,3036924.548,3036924.548,1.00E-04 +30-12-2019 20:00,71536.45858,2519050.541,2519050.541,1.00E-04 +30-12-2019 21:00,71536.23137,1634525.165,1634525.165,1.00E-04 +30-12-2019 22:00,71536.01274,778010.072,778010.072,1.00E-04 +30-12-2019 23:00,71535.80268,341855.549,341855.549,1.00E-04 +31-12-2019 00:00,71535.60119,146124.349,146124.349,1.00E-04 +31-12-2019 01:00,71535.40828,56450.156,56450.156,1.00E-04 +31-12-2019 02:00,71535.22394,43108.905,43108.905,1.00E-04 +31-12-2019 03:00,71535.04817,83170.927,83170.927,1.00E-04 +31-12-2019 04:00,71534.88098,344684.816,344684.816,1.00E-04 +31-12-2019 05:00,71534.72236,1431596.348,1431596.348,1.00E-04 +31-12-2019 06:00,71534.57231,3002861.456,3002861.456,1.00E-04 +31-12-2019 07:00,71534.43084,3995450.41,3995450.41,1.00E-04 +31-12-2019 08:00,71534.29794,4829723.549,4829723.549,1.00E-04 +31-12-2019 09:00,71534.17361,3893956.892,3893956.892,1.00E-04 +31-12-2019 10:00,71534.05786,3561729.57,3561729.57,1.00E-04 +31-12-2019 11:00,71533.95068,4305416.962,4305416.962,1.00E-04 +31-12-2019 12:00,71533.85208,3801045.451,3801045.451,1.00E-04 +31-12-2019 13:00,71533.76205,3073728.308,3073728.308,1.00E-04 +31-12-2019 14:00,71533.68059,3286887.17,3286887.17,1.00E-04 +31-12-2019 15:00,71533.60771,3563169.323,3563169.323,1.00E-04 +31-12-2019 16:00,71533.5434,3465737.485,3465737.485,1.00E-04 +31-12-2019 17:00,71533.48767,3568214.328,3568214.328,1.00E-04 +31-12-2019 18:00,71533.44051,3388951.678,3388951.678,1.00E-04 +31-12-2019 19:00,71533.40193,3061648.513,3061648.513,1.00E-04 +31-12-2019 20:00,71533.37192,2522435.902,2522435.902,1.00E-04 +31-12-2019 21:00,71533.35048,1644420.428,1644420.428,1.00E-04 +31-12-2019 22:00,71533.33762,801987.151,801987.151,1.00E-04 diff --git a/examples/heating_and_cooling/model/Heating and cooling network with return network with costs.esdl b/examples/heating_and_cooling/model/Heating and cooling network with return network with costs.esdl deleted file mode 100644 index 702ed0249..000000000 --- a/examples/heating_and_cooling/model/Heating and cooling network with return network with costs.esdl +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/heating_and_cooling/model/Heating and cooling network with return network.esdl b/examples/heating_and_cooling/model/Heating and cooling network with return network.esdl deleted file mode 100644 index 06fdedb28..000000000 --- a/examples/heating_and_cooling/model/Heating and cooling network with return network.esdl +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/heating_and_cooling/src/run_case.py b/examples/heating_and_cooling/src/run_case.py index cb06f066a..30eb042dd 100644 --- a/examples/heating_and_cooling/src/run_case.py +++ b/examples/heating_and_cooling/src/run_case.py @@ -4,155 +4,14 @@ from mesido.esdl.esdl_parser import ESDLFileParser from mesido.esdl.profile_parser import ProfileReaderFromFile -from mesido.util import run_esdl_mesido_optimization from mesido.workflows import EndScenarioSizingStaged, run_end_scenario_sizing -from mesido.workflows.utils.adapt_profiles import ( - adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day, -) import numpy as np -from rtctools.optimization.collocated_integrated_optimization_problem import ( - CollocatedIntegratedOptimizationProblem, -) -from rtctools.optimization.goal_programming_mixin_base import Goal - logger = logging.getLogger("mesido") logger.setLevel(logging.INFO) -class HeatColdDemand(TestCase): - - def heating_cooling_case(self): - """ - In this case we have a network with an air-water hp, a WKO (warm and cold well) and both - hot and cold demand. The heat and cold demand was balanced such that the seasonal storage - gets utilized as intended. - """ - import os - import sys - - root_folder = os.path.join(Path(__file__).resolve().parent.parent.parent.parent, "tests") - sys.path.insert(1, root_folder) - - from models.wko.src.example import HeatProblem - from utils_tests import demand_matching_test, energy_conservation_test - - base_folder = Path(__file__).resolve().parent.parent - - # ------------------------------------------------------------------------------------------ - class HeatingCoolingProblem(HeatProblem): - - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self._number_of_years = 30.0 - - self.__indx_max_peak = None - self.__day_steps = 5 - - def energy_system_options(self): - options = super().energy_system_options() - options["neglect_pipe_heat_losses"] = False - return options - - def parameters(self, ensemble_member): - parameters = super().parameters(ensemble_member) - parameters["peak_day_index"] = self.__indx_max_peak - parameters["time_step_days"] = self.__day_steps - parameters["number_of_years"] = self._number_of_years - return parameters - - def read(self): - super().read() - - # Set the peak of the heating demand since the specified profile is normalized to 1 - - for d in self.energy_system_components["heat_demand"]: - target = self.get_timeseries(f"{d}.target_heat_demand") - for ii in range(len(target.values)): - target.values[ii] = target.values[ii] * 7.0e6 - - self.io.set_timeseries( - f"{d}.target_heat_demand", - self.io._DataStore__timeseries_datetimes, - target.values, - 0, - ) - # Cold demand specified profile is not normalized - # Cold demand value is reduced to get the correct balance between the heat and cold - # demand such that the seasonal storage is utilized - for d in self.energy_system_components["cold_demand"]: - target = self.get_timeseries(f"{d}.target_cold_demand") - for ii in range(len(target.values)): - target.values[ii] = target.values[ii] * 0.25 - - self.io.set_timeseries( - f"{d}.target_cold_demand", - self.io._DataStore__timeseries_datetimes, - target.values, - 0, - ) - - ( - self.__indx_max_peak, - self.__heat_demand_nominal, - self.__cold_demand_nominal, - ) = adapt_hourly_year_profile_to_day_averaged_with_hourly_peak_day( - self, - self.__day_steps, - ) - - def constraints(self, ensemble_member): - constraints = super().constraints(ensemble_member) - - # TODO: confirm if volume or heat balance is required over year. This will - # determine if cyclic contraint below is for stored_heat or stored_volume - # Add stored_heat cyclic constraint, this will also ensure that the total heat - # change in the wko is 0 over the timeline - # Note: - # - WKO in cooling mode: Hot well is being charged with heat and the cold well is - # being discharged - # - WKO in heating mode: Cold well is being charged and the hot well is being - # discharged. - # for a in self.energy_system_components.get("low_temperature_ates", []): - # stored_heat = self.state_vector(f"{a}.Stored_heat") - # constraints.append(((stored_heat[-1] - stored_heat[0]), 0.0, 0.0)) - # This code below might be needed - # Add stored_heat cyclic constraint, this will also ensure that the volume - # into the lower temp & out of the higher temp is the same as the volume - # out of the lower temp & into the higher temp over the timeline. - # Note: - # - Volume increase: Hot well is being charged and the cold well is being - # discharged. -> WKO in cooling mode - # - Volume decrease: Cold well is being charged and the hot well is being - # discharged. -> WKO in heating mode - - for ates_id in self.energy_system_components.get("low_temperature_ates", []): - stored_volume = self.state_vector(f"{ates_id}.Stored_volume") - volume_usage = 0.0 - volume_usage = stored_volume[0] - stored_volume[-1] - constraints.append((volume_usage, 0.0, 0.0)) - - return constraints - - heat_problem = run_esdl_mesido_optimization( - HeatingCoolingProblem, - base_folder=base_folder, - esdl_file_name="Heating and cooling network with return network.esdl", - esdl_parser=ESDLFileParser, - profile_reader=ProfileReaderFromFile, - input_timeseries_file="timeseries_4.csv", - ) - results = heat_problem.extract_results() - - # checks to make sure the run was valid - demand_matching_test(heat_problem, results) - energy_conservation_test(heat_problem, results) - # TODO: check below can be added, once the heat_to_discharge_test have been updated such - # that a pipe can absorb heat - # heat_to_discharge_test(heat_problem, results) - - class HeatCoolingGrowWorkflow(TestCase): def heating_cooling_case(self): @@ -170,6 +29,7 @@ def heating_cooling_case(self): sys.path.insert(1, root_folder) from utils_tests import ( + cost_calculation_test, demand_matching_test, energy_conservation_test, heat_to_discharge_test, @@ -177,287 +37,83 @@ def heating_cooling_case(self): base_folder = Path(__file__).resolve().parent.parent - class MinElectcost(Goal): - - priority = 2 - - order = 1 - - def __init__(self, asset_name: str): - self.function_nominal = 1.0e6 - self.asset_name = asset_name - - def function( - self, - optimization_problem: CollocatedIntegratedOptimizationProblem, - ensemble_member: int, - ): - - parameters = optimization_problem.parameters(ensemble_member) - canonical, sign = optimization_problem.alias_relation.canonical_signed( - f"{self.asset_name}.Heat_source" - ) - heat_source = ( - optimization_problem.state_vector(canonical, ensemble_member) - * optimization_problem.variable_nominal(canonical) - * sign - ) - - assert len(optimization_problem.get_electricity_carriers().keys()) <= 1 - - price_profile = optimization_problem.get_timeseries( - f"{list(optimization_problem.get_electricity_carriers().values())[0]['name']}" - ".price_profile" - ) - timesteps_hr = np.diff(optimization_problem.times()) / 3600 - - sum = 0.0 - for i in range(1, len(optimization_problem.times())): - sum += ( - price_profile.values[i] - * heat_source[i] - * timesteps_hr[i - 1] - / parameters[f"{self.asset_name}.cop"] - ) - - return sum - - class UpdatedProblem(EndScenarioSizingStaged, CollocatedIntegratedOptimizationProblem): - - # TODO: Issue sizing pipes connected to demands, available pipe classes are updated in - # read(), ESDLAdditionalVarsMixin before the code below. This means the - # incorrect demand values are then used. - def read(self): - super().read() - - # Set the peak of the heating demand since the specified profile is normalized to 1 - # TODO --> use new profile in esdl, but issue with cold profile. So for now - # reading in profiles from file. Also currently we cannot use a combination of - # esdl and csv profile inputs, potentially needed? - for d in self.energy_system_components["heat_demand"]: - target = self.get_timeseries(f"{d}.target_heat_demand") - for ii in range(len(target.values)): - target.values[ii] = target.values[ii] * 7.0e6 - - self.io.set_timeseries( - f"{d}.target_heat_demand", - self.io._DataStore__timeseries_datetimes, - target.values, - 0, - ) - # Cold demand specified profile is not normalized - # Cold demand value is reduced to get the correct balance between the heat and cold - # demand such that the seasonal storage is utilized - - for d in self.energy_system_components["cold_demand"]: - # TODO -->> locally do not have access to proifle uploaded in mapediotr - target = self.get_timeseries(f"{d}.target_cold_demand") - for ii in range(len(target.values)): - # target.values[ii] = target.values[ii] * 0.25 - target.values[ii] = target.values[ii] * 0.65 - if ( - target.times[ii] < 4.5 * 30.0 * 24.0 * 60.0 * 60 # 4 - or target.times[ii] > 7.5 * 30.0 * 24.0 * 60.0 * 60 # 7 - ): - target.values[ii] *= 0.01 - - max_cold_val = max(target.values) - ind_max_cold_val = np.where(target.values == max_cold_val)[0][0] - factor_sin_wave = [] - for ii in range(1, 24): - factor_sin_wave.append(np.sin(2.0 * np.pi * float(ii) / 24.0)) - target.values[ind_max_cold_val + (ii - 12)] += ( - -1.0e6 * factor_sin_wave[ii - 1] - ) - - self.io.set_timeseries( - f"{d}.target_cold_demand", - self.io._DataStore__timeseries_datetimes, - target.values, - 0, - ) - - def goals(self): - - goals = super().goals().copy() - - for ac in self.energy_system_components.get("air_water_heat_pump_elec", []): - goals.append(MinElectcost(ac)) - - return goals - solution = run_end_scenario_sizing( - UpdatedProblem, + EndScenarioSizingStaged, base_folder=base_folder, - # esdl_file_name="Heating and cooling network with return network with costs.esdl", esdl_file_name=( "Heating and cooling and elec network with return network with costs.esdl" ), esdl_parser=ESDLFileParser, profile_reader=ProfileReaderFromFile, - # input_timeseries_file="timeseries_4.csv", - input_timeseries_file="timeseries_4_elect_cost.csv", + input_timeseries_file="timeseries_4_elect_cost_modified.csv", error_type_check=NetworkErrors.HEAT_AND_COOL_NETWORK_ERRORS, ) - results = solution.extract_results() - # TODO: ThThis code still has to be moved to a test case in a seperate PR demand_matching_test(solution, results) energy_conservation_test(solution, results) heat_to_discharge_test(solution, results) - total_opex = 0.0 - total_capex = 0.0 - for asset in [ - *solution.energy_system_components.get("airco", []), - *solution.energy_system_components.get("air_water_heat_pump", []), - *solution.energy_system_components.get("air_water_heat_pump_elec", []), - *solution.energy_system_components.get("low_temperature_ates", []), - ]: - # investment + installation costs costs - if asset not in solution.energy_system_components["low_temperature_ates"]: - investment_cost = ( - solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] - .attributes["costInformation"] - .investmentCosts.value - * results[f"{asset}__max_size"] - / 1.0e6 - ) - total_capex += investment_cost - assert abs(investment_cost - results[f"{asset}__investment_cost"]) < 1.0e-8 - installation_cost = ( - solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] - .attributes["costInformation"] - .installationCosts.value - ) - total_capex += installation_cost - assert installation_cost == results[f"{asset}__installation_cost"] - - # fixed costs per year - fixed_operational_cost = ( - ( - solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] - .attributes["costInformation"] - .fixedMaintenanceCosts.value - + solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] - .attributes["costInformation"] - .fixedOperationalCosts.value - ) - * results[f"{asset}__max_size"] - / 1.0e6 - ) - total_opex += fixed_operational_cost * solution.parameters(0)[f"{asset}.technical_life"] - assert ( - abs(fixed_operational_cost - results[f"{asset}__fixed_operational_cost"]) < 1.0e-8 - ) - - # variable operational cost - timesteps_hr = np.diff(solution.times()) / 3600 - if asset not in solution.energy_system_components["low_temperature_ates"]: - var_op_costs = ( - solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] - .attributes["costInformation"] - .variableOperationalCosts.value - / 1.0e6 - ) - assert var_op_costs > 0 - else: - var_op_costs = 0.0 - factor = 1.0 - if asset in [ - *solution.energy_system_components.get("air_water_heat_pump", []), - *solution.energy_system_components.get("air_water_heat_pump_elec", []), - ]: - factor = solution.esdl_assets[ - solution.esdl_asset_name_to_id_map[f"{asset}"] - ].attributes["COP"] - assert factor >= 1.0 - variable_operational_cost = 0.0 - for ii in range(1, len(solution.times())): - variable_operational_cost += ( - var_op_costs * results[f"{asset}.Heat_flow"][ii] * timesteps_hr[ii - 1] / factor - ) - - if asset in solution.energy_system_components.get("air_water_heat_pump_elec", []): - price_profile = solution.get_timeseries( - f"{list(solution.get_electricity_carriers().values())[0]['name']}.price_profile" - ) - # elec costs: not included in the __variable_operational_cost variable yet - elect_cost = 0.0 - for ii in range(1, len(solution.times())): - elect_cost += ( - price_profile.values[ii] - * results[f"{asset}.Heat_flow"][ii] - * timesteps_hr[ii - 1] - / solution.parameters(0)[f"{asset}.cop"] - ) - - pump_power = 0.0 - for ii in range(1, len(solution.times())): - # pump power - pump_power += ( - price_profile.values[ii] - * results[f"{asset}.Pump_power"][ii] - * timesteps_hr[ii - 1] - / solution.parameters(0)[f"{asset}.pump_efficiency"] - ) - - variable_operational_cost += pump_power - - total_opex += ( - variable_operational_cost * solution.parameters(0)[f"{asset}.technical_life"] - ) - assert ( - abs(variable_operational_cost - results[f"{asset}__variable_operational_cost"]) - < 1.0e-8 - ) - - for asset in solution.energy_system_components["heat_pipe"]: - total_capex += results[f"{asset}__investment_cost"] - - # cold demand - investment_cost = 0.0 - for asset in solution.energy_system_components.get("cold_demand", []): - investment_cost += ( - results[f"{asset}__max_size"] - * solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] - .attributes["costInformation"] - .investmentCosts.value - / 1.0e6 - ) - assert abs(investment_cost - results[f"{asset}__investment_cost"]) < 1.0e-8 - installation_cost = 0.0 - for asset in solution.energy_system_components.get("cold_demand", []): - installation_cost += ( - solution.esdl_assets[solution.esdl_asset_name_to_id_map[f"{asset}"]] - .attributes["costInformation"] - .installationCosts.value - ) - assert abs(installation_cost - results[f"{asset}__installation_cost"]) < 1.0e-8 - total_capex += investment_cost + installation_cost - - assert ( - abs( - solution.objective_value - + ( - results["CoolingDemand_1__installation_cost"] - + results["CoolingDemand_1__investment_cost"] - ) - / 1.0e6 - - (total_capex + total_opex + elect_cost) / 1.0e6 - ) - < 1.0e-6 + name_to_id_map = solution.esdl_asset_name_to_id_map + + a_1_id = name_to_id_map["ATES_1"] + hp_1_id = name_to_id_map["HeatPump_1"] + ac_1_id = name_to_id_map["Airco_1"] + cd_1_id = name_to_id_map["CoolingDemand_1"] + + pipe_names = [ + "Pipe2", + "Pipe4", + "Pipe6", + "Pipe7", + "Pipe9", + "Pipe2_ret", + "Pipe4_ret", + "Pipe6_ret", + "Pipe7_ret", + "Pipe9_ret", + ] + + # Check if assets are used + np.testing.assert_array_less( + 1e3, + results[f"{a_1_id}.Heat_flow_charging"] + results[f"{a_1_id}.Heat_flow_discharging"], ) - - # -------------------------------------------------------------------------------------- - # Do not delete the code below. It is used for creating plots (also used for conference - # presentations) - + np.testing.assert_array_less(1e2, results[f"{hp_1_id}.Heat_flow"]) + np.testing.assert_array_less(1e6, np.sum(results[f"{ac_1_id}.Heat_flow"])) + + # Check the problem cost calculation and objective + np.testing.assert_array_less(1e3, results[f"{a_1_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{a_1_id}__fixed_operational_cost"]) + np.testing.assert_array_less(1e3, results[f"{hp_1_id}__investment_cost"]) + np.testing.assert_array_less(1e3, results[f"{hp_1_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{hp_1_id}__variable_operational_cost"]) + np.testing.assert_array_less(1e3, results[f"{hp_1_id}__fixed_operational_cost"]) + np.testing.assert_array_less(1e3, results[f"{ac_1_id}__investment_cost"]) + np.testing.assert_array_less(1e3, results[f"{ac_1_id}__installation_cost"]) + np.testing.assert_array_less(1e3, results[f"{ac_1_id}__variable_operational_cost"]) + np.testing.assert_array_less(1e3, results[f"{ac_1_id}__fixed_operational_cost"]) + np.testing.assert_array_less(1e3, results[f"{cd_1_id}__investment_cost"]) + np.testing.assert_array_less(1e3, results[f"{cd_1_id}__installation_cost"]) + for pipe_name in pipe_names: + pipe_id = name_to_id_map[pipe_name] + np.testing.assert_array_less(1e3, results[f"{pipe_id}__investment_cost"]) + cost_calculation_test(solution, results, check_objective_function=True) + + # # -------------------------------------------------------------------------------------- + # # Do not delete the code below. It is used for creating plots (also used for conference + # # presentations) + # # create_plots = False + # + # hd_1_id = name_to_id_map["HeatingDemand_1"] + # hd_2_id = name_to_id_map["HeatingDemand_2"] + # cd_1_id = name_to_id_map["CoolingDemand_1"] + # # if create_plots: - + # # import matplotlib.pyplot as plt + # # legend_used = [ # "ATES", # "Heat demand", @@ -468,8 +124,8 @@ def goals(self): # # ------------------------------------------------------------------------------------ # # Peak day # times_steps = ( - # solution.get_timeseries(f"HeatingDemand_1.target_heat_demand").times[1 :] - # - solution.get_timeseries(f"HeatingDemand_1.target_heat_demand").times[0 : -1] + # solution.get_timeseries(f"{hd_1_id}.target_heat_demand").times[1:] + # - solution.get_timeseries(f"{hd_1_id}.target_heat_demand").times[0:-1] # ) # index_start_peak_day = [None] * 2 # index_end_peak_day = [None] * 2 @@ -477,66 +133,73 @@ def goals(self): # index_end_peak_day[1] = np.where(times_steps == 3600.0)[0][-1] + 2 # index_start_peak_day[1] = index_end_peak_day[1] - 24 # index_end_peak_day[0] = index_start_peak_day[0] + 24 - + # # for ip in range(len(index_start_peak_day)): # times_peak_day = ( - # solution.get_timeseries(f"HeatingDemand_1.target_heat_demand") - # .times[index_start_peak_day[ip]: index_end_peak_day[ip]] + # solution.get_timeseries(f"{hd_1_id}.target_heat_demand").times[ + # index_start_peak_day[ip] : index_end_peak_day[ip] + # ] # - min( - # solution.get_timeseries(f"HeatingDemand_1.target_heat_demand") - # .times[index_start_peak_day[ip]: index_end_peak_day[ip]] + # solution.get_timeseries(f"{hd_1_id}.target_heat_demand").times[ + # index_start_peak_day[ip] : index_end_peak_day[ip] + # ] # ) # ) / 3600.0 - + # # fig_1 = plt.figure() # plt.plot( # times_peak_day[1:], - # results["ATES_1.Heat_flow"][ - # index_start_peak_day[ip] + 1: index_end_peak_day[ip] - # ] / 1.0e6, + # results[f"{a_1_id}.Heat_flow"][ + # index_start_peak_day[ip] + 1 : index_end_peak_day[ip] + # ] + # / 1.0e6, # # marker="x", # ) # plt.plot( # times_peak_day[1:], # ( - # results["HeatingDemand_1.Heat_flow"][ - # index_start_peak_day[ip] + 1: index_end_peak_day[ip] + # results[f"{hd_1_id}.Heat_flow"][ + # index_start_peak_day[ip] + 1 : index_end_peak_day[ip] # ] - # + results["HeatingDemand_2.Heat_flow"][ - # index_start_peak_day[ip] + 1: index_end_peak_day[ip] + # + results[f"{hd_2_id}.Heat_flow"][ + # index_start_peak_day[ip] + 1 : index_end_peak_day[ip] # ] - # ) / 1.0e6, + # ) + # / 1.0e6, # # marker="H", # linestyle="dotted", # ) # plt.plot( # times_peak_day[1:], - # results["HeatPump_1.Heat_flow"][ - # index_start_peak_day[ip] + 1: index_end_peak_day[ip] - # ] / 1.0e6, + # results[f"{hp_1_id}.Heat_flow"][ + # index_start_peak_day[ip] + 1 : index_end_peak_day[ip] + # ] + # / 1.0e6, # # marker=">", # ) - + # # plt.plot( # times_peak_day[1:], - # results["CoolingDemand_1.Heat_flow"][ - # index_start_peak_day[ip] + 1: index_end_peak_day[ip] - # ] / 1.0e6, + # results[f"{cd_1_id}.Heat_flow"][ + # index_start_peak_day[ip] + 1 : index_end_peak_day[ip] + # ] + # / 1.0e6, # # marker="*", # linestyle="dotted", # ) # plt.plot( # times_peak_day[1:], - # results["Airco_1.Heat_flow"][ - # index_start_peak_day[ip] + 1: index_end_peak_day[ip] - # ] / 1.0e6, + # results[f"{ac_1_id}.Heat_flow"][ + # index_start_peak_day[ip] + 1 : index_end_peak_day[ip] + # ] + # / 1.0e6, # # marker="o", # ) - + # # plt.legend( - # legend_used, prop={'size': 10}, loc='center left', bbox_to_anchor=(1, 0.5) + # legend_used, prop={"size": 10}, loc="center left", bbox_to_anchor=(1, 0.5) # ) - + # # plt.yticks(np.linspace(-6, 14, 11)) # plt.xlabel("Time [hourly]", fontsize=12) # plt.ylabel("Power [MW]", fontsize=12) @@ -547,54 +210,60 @@ def goals(self): # # ---------------------------------------------------------------------------------- # # Seasonal # times_seasonal = ( - # solution.get_timeseries(f"HeatingDemand_1.target_heat_demand") - # .times[1:index_start_peak_day[0]] # index_end_peak_day - # ) / 3600.0 / 24.0 + # ( + # solution.get_timeseries(f"{hd_1_id}.target_heat_demand").times[ + # 1 : index_start_peak_day[0] + # ] # index_end_peak_day + # ) + # / 3600.0 + # / 24.0 + # ) # times_seasonal = np.append( # times_seasonal, - # solution.get_timeseries(f"HeatingDemand_1.target_heat_demand") - # .times[index_end_peak_day[0] : index_start_peak_day[1]] / 3600.0 / 24.0 + # solution.get_timeseries(f"{hd_1_id}.target_heat_demand").times[ + # index_end_peak_day[0] : index_start_peak_day[1] + # ] + # / 3600.0 + # / 24.0, # ) # times_seasonal = np.append( # times_seasonal, - # solution.get_timeseries(f"HeatingDemand_1.target_heat_demand") - # .times[index_end_peak_day[1] : ] / 3600.0 / 24.0 + # solution.get_timeseries(f"{hd_1_id}.target_heat_demand").times[ + # index_end_peak_day[1] : + # ] + # / 3600.0 + # / 24.0, # ) - + # # fig_2 = plt.figure() - - # temp_season = (results["ATES_1.Heat_flow"][1 : index_start_peak_day[0]]) + # + # temp_season = results[f"{a_1_id}.Heat_flow"][1 : index_start_peak_day[0]] # temp_season = np.append( - # temp_season, results["ATES_1.Heat_flow"][ - # index_end_peak_day[0] : index_start_peak_day[1] - # ] + # temp_season, + # results[f"{a_1_id}.Heat_flow"][index_end_peak_day[0] : index_start_peak_day[1]], # ) # temp_season = np.append( - # temp_season, results["ATES_1.Heat_flow"][index_end_peak_day[1]:] + # temp_season, results[f"{a_1_id}.Heat_flow"][index_end_peak_day[1] :] # ) # plt.plot( # times_seasonal, # temp_season / 1.0e6, # # marker="x", # ) - + # # temp_season = ( - # results["HeatingDemand_1.Heat_flow"][1 : index_start_peak_day[0]] - # + results["HeatingDemand_2.Heat_flow"][1 : index_start_peak_day[0]] + # results[f"{hd_1_id}.Heat_flow"][1 : index_start_peak_day[0]] + # + results[f"{hd_2_id}.Heat_flow"][1 : index_start_peak_day[0]] # ) # temp_season = np.append( # temp_season, - # results["HeatingDemand_1.Heat_flow"][ - # index_end_peak_day[0] : index_start_peak_day[1] - # ] - # + results["HeatingDemand_2.Heat_flow"][ - # index_end_peak_day[0] : index_start_peak_day[1] - # ] + # results[f"{hd_1_id}.Heat_flow"][index_end_peak_day[0]:index_start_peak_day[1]] + # +results[f"{hd_2_id}.Heat_flow"][index_end_peak_day[0]:index_start_peak_day[1]], # ) # temp_season = np.append( # temp_season, - # results["HeatingDemand_1.Heat_flow"][index_end_peak_day[1] :] - # + results["HeatingDemand_2.Heat_flow"][index_end_peak_day[1] :] + # results[f"{hd_1_id}.Heat_flow"][index_end_peak_day[1] :] + # + results[f"{hd_2_id}.Heat_flow"][index_end_peak_day[1] :], # ) # plt.plot( # times_seasonal, @@ -602,32 +271,30 @@ def goals(self): # # marker="H", # linestyle="dotted", # ) - - # temp_season = (results["HeatPump_1.Heat_flow"][1 : index_start_peak_day[0]]) + # + # temp_season = results[f"{hp_1_id}.Heat_flow"][1 : index_start_peak_day[0]] # temp_season = np.append( # temp_season, - # results["HeatPump_1.Heat_flow"][index_end_peak_day[0] : index_start_peak_day[1]], + # results[f"{hp_1_id}.Heat_flow"][index_end_peak_day[0] : index_start_peak_day[1]], # ) # temp_season = np.append( # temp_season, - # results["HeatPump_1.Heat_flow"][index_end_peak_day[1] :], + # results[f"{hp_1_id}.Heat_flow"][index_end_peak_day[1] :], # ) # plt.plot( # times_seasonal, # temp_season / 1.0e6, # # marker=">", # ) - - # temp_season = (results["CoolingDemand_1.Heat_flow"][1 : index_start_peak_day[0]]) + # + # temp_season = results[f"{cd_1_id}.Heat_flow"][1 : index_start_peak_day[0]] # temp_season = np.append( # temp_season, - # results["CoolingDemand_1.Heat_flow"][ - # index_end_peak_day[0] : index_start_peak_day[1] - # ], + # results[f"{cd_1_id}.Heat_flow"][index_end_peak_day[0] : index_start_peak_day[1]], # ) # temp_season = np.append( # temp_season, - # results["CoolingDemand_1.Heat_flow"][index_end_peak_day[1] :], + # results[f"{cd_1_id}.Heat_flow"][index_end_peak_day[1] :], # ) # plt.plot( # times_seasonal, @@ -635,44 +302,43 @@ def goals(self): # # marker="*", # linestyle="dotted", # ) - - # temp_season = (results["Airco_1.Heat_flow"][1 : index_start_peak_day[0]]) + # + # temp_season = results[f"{ac_1_id}.Heat_flow"][1 : index_start_peak_day[0]] # temp_season = np.append( # temp_season, - # results["Airco_1.Heat_flow"][index_end_peak_day[0] : index_start_peak_day[1]] + # results[f"{ac_1_id}.Heat_flow"][index_end_peak_day[0] : index_start_peak_day[1]], # ) # temp_season = np.append( - # temp_season, - # results["Airco_1.Heat_flow"][index_end_peak_day[1] :] + # temp_season, results[f"{ac_1_id}.Heat_flow"][index_end_peak_day[1] :] # ) # plt.plot( # times_seasonal, # temp_season / 1.0e6, # # marker="o", # ) - - # plt.legend(legend_used, prop={'size': 10}, loc='center left', bbox_to_anchor=(1, 0.5)) - + # + # plt.legend(legend_used, prop={"size": 10}, loc="center left", bbox_to_anchor=(1, 0.5)) + # # plt.xlabel("Time [daily]", fontsize=12) # plt.ylabel("Power [MW]", fontsize=12) # plt.tight_layout() # plt.savefig("All_in_one_seasonal") # plt.show() # plt.close() - + # # # ------------------------------------------------------------------------------------ # # ATES goodies # # seasonal # fig_4 = plt.figure() - - # temp_season = (results["ATES_1.Stored_volume"][0 : index_start_peak_day[0]]) + # + # temp_season = results[f"{a_1_id}.Stored_volume"][0 : index_start_peak_day[0]] # temp_season = np.append( # temp_season, - # results["ATES_1.Stored_volume"][index_end_peak_day[0] : index_start_peak_day[1]], + # results[f"{a_1_id}.Stored_volume"][index_end_peak_day[0]:index_start_peak_day[1]], # ) # temp_season = np.append( # temp_season, - # results["ATES_1.Stored_volume"][index_end_peak_day[1] :], + # results[f"{a_1_id}.Stored_volume"][index_end_peak_day[1] :], # ) # plt.plot( # # this was done so that one can see the start == end value @@ -681,7 +347,7 @@ def goals(self): # # marker="+", # color="red", # ) - + # # max_volume_warm_well = max(temp_season) - min(temp_season) # cold_well_volume = -temp_season # cold_well_volume = cold_well_volume + max_volume_warm_well @@ -692,11 +358,11 @@ def goals(self): # # marker="x", # color="cyan", # ) - + # # plt.legend( # ["Warm well", "Cold well"], - # prop={'size': 10}, - # loc='center left', + # prop={"size": 10}, + # loc="center left", # bbox_to_anchor=(1, 0.5), # ) # plt.xlabel("Time [daily]", fontsize=12) @@ -705,37 +371,35 @@ def goals(self): # plt.savefig("ATES_volume_seasonal") # plt.show() # plt.close() - + # # # peak day # for ip in range(len(index_start_peak_day)): - # cold_well_volume = ( - # -results["ATES_1.Stored_volume"][ - # index_start_peak_day[ip] : index_end_peak_day[ip] - # ] - # ) + # cold_well_volume = -results[f"{a_1_id}.Stored_volume"][ + # index_start_peak_day[ip] : index_end_peak_day[ip] + # ] # cold_well_volume = cold_well_volume + max_volume_warm_well - + # # fig_warm_cold_well_peak, ax1 = plt.subplots() - - # color = 'tab:red' - # ax1.set_xlabel('Time [hourly]', fontsize=12) - # ax1.set_ylabel('Warm well stored volume [m$^3$]', color=color, fontsize=12) + # + # color = "tab:red" + # ax1.set_xlabel("Time [hourly]", fontsize=12) + # ax1.set_ylabel("Warm well stored volume [m$^3$]", color=color, fontsize=12) # ax1.plot( # times_peak_day, - # results["ATES_1.Stored_volume"][ + # results[f"{a_1_id}.Stored_volume"][ # index_start_peak_day[ip] : index_end_peak_day[ip] # ], # color=color, # ) - # ax1.tick_params(axis='y', labelcolor=color) - + # ax1.tick_params(axis="y", labelcolor=color) + # # ax2 = ax1.twinx() # instantiate a second Axes that shares the same x-axis - - # color = 'tab:cyan' + # + # color = "tab:cyan" # # we already handled the x-label with ax1 - # ax2.set_ylabel('Cold well stored volume [m$^3$]', color=color, fontsize=12) + # ax2.set_ylabel("Cold well stored volume [m$^3$]", color=color, fontsize=12) # ax2.plot(times_peak_day, cold_well_volume, color=color) - # ax2.tick_params(axis='y', labelcolor=color) + # ax2.tick_params(axis="y", labelcolor=color) # # Line below needed otherwise the right y-label is slightly clipped # fig_warm_cold_well_peak.tight_layout() # plt.savefig(f"ATES_volume_warm_cold_well_peak_day_ip{ip}") @@ -745,16 +409,16 @@ def goals(self): # # Demands # # heat dmemand # # peak day - + # # fig_tot_heat_demand_peak_day = plt.figure() # plt.plot( # times_peak_day[1:], # ( - # results["HeatingDemand_1.Heat_flow"][ - # index_start_peak_day[0] + 1: index_end_peak_day[0] + # results[f"{hd_1_id}.Heat_flow"][ + # index_start_peak_day[0] + 1 : index_end_peak_day[0] # ] - # + results["HeatingDemand_2.Heat_flow"][ - # index_start_peak_day[0] + 1: index_end_peak_day[0] + # + results[f"{hd_2_id}.Heat_flow"][ + # index_start_peak_day[0] + 1 : index_end_peak_day[0] # ] # ) # / 1.0e6, @@ -768,17 +432,17 @@ def goals(self): # plt.savefig(f"Total_heat_demand_profile_peak_day_ip{0}") # plt.show() # plt.close() - + # # # Demands # # cold dmemand # # peak day - + # # fig_tot_cold_demand_peak_day = plt.figure() # plt.plot( # times_peak_day[1:], # ( - # results["CoolingDemand_1.Heat_flow"][ - # index_start_peak_day[1] + 1: index_end_peak_day[1] + # results[f"{cd_1_id}.Heat_flow"][ + # index_start_peak_day[1] + 1 : index_end_peak_day[1] # ] # ) # / 1.0e6, @@ -792,27 +456,23 @@ def goals(self): # plt.savefig(f"Total_cold_demand_profile_peak_day_ip{1}") # plt.show() # plt.close() - + # # # heating demand # # seasonal # fig_6 = plt.figure() # temp_season = ( - # results["HeatingDemand_1.Heat_flow"][1 : index_start_peak_day[0]] - # + results["HeatingDemand_2.Heat_flow"][1 : index_start_peak_day[0]] + # results[f"{hd_1_id}.Heat_flow"][1 : index_start_peak_day[0]] + # + results[f"{hd_2_id}.Heat_flow"][1 : index_start_peak_day[0]] # ) # temp_season = np.append( # temp_season, - # results["HeatingDemand_1.Heat_flow"][ - # index_end_peak_day[0] : index_start_peak_day[1] - # ] - # + results["HeatingDemand_2.Heat_flow"][ - # index_end_peak_day[0] : index_start_peak_day[1] - # ], + # results[f"{hd_1_id}.Heat_flow"][index_end_peak_day[0] : index_start_peak_day[1]] + # + results[f"{hd_2_id}.Heat_flow"][index_end_peak_day[0]:index_start_peak_day[1]], # ) # temp_season = np.append( # temp_season, - # results["HeatingDemand_1.Heat_flow"][index_end_peak_day[1] :] - # + results["HeatingDemand_2.Heat_flow"][index_end_peak_day[1] :], + # results[f"{hd_1_id}.Heat_flow"][index_end_peak_day[1] :] + # + results[f"{hd_2_id}.Heat_flow"][index_end_peak_day[1] :], # ) # plt.plot( # times_seasonal, @@ -827,17 +487,15 @@ def goals(self): # plt.savefig("Total_heat_demand_profile_seasonal") # plt.show() # plt.close() - + # # fig_tot_cool_demand = plt.figure() - # temp_season = results["CoolingDemand_1.Heat_flow"][1 : index_start_peak_day[0]] + # temp_season = results[f"{cd_1_id}.Heat_flow"][1 : index_start_peak_day[0]] # temp_season = np.append( # temp_season, - # results["CoolingDemand_1.Heat_flow"][ - # index_end_peak_day[0] : index_start_peak_day[1] - # ], + # results[f"{cd_1_id}.Heat_flow"][index_end_peak_day[0] : index_start_peak_day[1]], # ) # temp_season = np.append( - # temp_season, results["CoolingDemand_1.Heat_flow"][index_end_peak_day[1] :] + # temp_season, results[f"{cd_1_id}.Heat_flow"][index_end_peak_day[1] :] # ) # plt.plot( # times_seasonal, @@ -856,8 +514,5 @@ def goals(self): if __name__ == "__main__": - # test_cold_demand = HeatColdDemand() - # test_cold_demand.heating_cooling_case() - t2 = HeatCoolingGrowWorkflow() t2.heating_cooling_case() diff --git a/src/mesido/esdl/profile_parser.py b/src/mesido/esdl/profile_parser.py index 69fd2e37e..2ca4aa5ea 100644 --- a/src/mesido/esdl/profile_parser.py +++ b/src/mesido/esdl/profile_parser.py @@ -244,6 +244,7 @@ def _load_profiles_from_source( class InfluxDBProfileReader(BaseProfileReader): asset_type_to_variable_name_conversion = { esdl.esdl.HeatingDemand: ".target_heat_demand", + esdl.esdl.CoolingDemand: ".target_cold_demand", esdl.esdl.GenericConsumer: ".target_heat_demand", esdl.esdl.HeatProducer: ".maximum_heat_source", esdl.esdl.ElectricityDemand: ".target_electricity_demand", diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 713bd567b..8871d1db7 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -1071,6 +1071,22 @@ def __variable_operational_cost_constraints(self, ensemble_member): ) sum_ += ca.sum1(price_profile.values[1:] * pump_power[1:] * timesteps_hr / eff) + if (len(self.get_electricity_carriers().keys()) > 0) and s in [ + *self.energy_system_components.get("heat_source_elec", []), + *self.energy_system_components.get("elec_heat_source_elec", []), + *self.energy_system_components.get("air_water_heat_pump_elec", []), + *self.energy_system_components.get("heat_pump_elec", []), + ]: + sum_ += ( + ca.sum1(price_profile.values[1:] * nominator_vector[1:] * timesteps_hr) + / denominator + ) + if variable_operational_cost_coefficient > 0.0: + logger.warning( + f"Variable operational cost for {s} is derived from both the variable " + "operational cost coefficient and the electricity carrier cost." + ) + constraints.append(((variable_operational_cost - sum_) / nominal, 0.0, 0.0)) for hp in [ diff --git a/tests/models/source_pipe_sink/input/timeseries_import.csv b/tests/models/source_pipe_sink/input/timeseries_import.csv index c72e09583..4d65840be 100644 --- a/tests/models/source_pipe_sink/input/timeseries_import.csv +++ b/tests/models/source_pipe_sink/input/timeseries_import.csv @@ -1,46 +1,46 @@ DateTime,demand,elec -19-5-2013 22:00,150000,10 -19-5-2013 23:00,150000,10 -20-5-2013 00:00,150000,10 -20-5-2013 01:00,150000,10 -20-5-2013 02:00,150000,10 -20-5-2013 03:00,150000,10 -20-5-2013 04:00,150000,10 -20-5-2013 05:00,150000,10 -20-5-2013 06:00,150000,10 -20-5-2013 07:00,150000,10 -20-5-2013 08:00,150000,10 -20-5-2013 09:00,150000,10 -20-5-2013 10:00,150000,10 -20-5-2013 11:00,150000,10 -20-5-2013 12:00,150000,10 -20-5-2013 13:00,150000,10 -20-5-2013 14:00,100000,10 -20-5-2013 15:00,100000,10 -20-5-2013 16:00,100000,10 -20-5-2013 17:00,100000,10 -20-5-2013 18:00,100000,10 -20-5-2013 19:00,100000,10 -20-5-2013 20:00,100000,10 -20-5-2013 21:00,100000,10 -20-5-2013 22:00,100000,10 -20-5-2013 23:00,100000,10 -21-5-2013 00:00,100000,10 -21-5-2013 01:00,100000,10 -21-5-2013 02:00,100000,10 -21-5-2013 03:00,50000,10 -21-5-2013 04:00,50000,10 -21-5-2013 05:00,50000,10 -21-5-2013 06:00,50000,10 -21-5-2013 07:00,50000,10 -21-5-2013 08:00,50000,10 -21-5-2013 09:00,50000,10 -21-5-2013 10:00,50000,10 -21-5-2013 11:00,50000,10 -21-5-2013 12:00,50000,10 -21-5-2013 13:00,50000,10 -21-5-2013 14:00,50000,10 -21-5-2013 15:00,50000,10 -21-5-2013 16:00,50000,10 -21-5-2013 17:00,50000,10 -21-5-2013 18:00,50000,10 +19-5-2013 22:00,150000,3.00E-04 +19-5-2013 23:00,150000,3.00E-04 +20-5-2013 00:00,150000,3.00E-04 +20-5-2013 01:00,150000,3.00E-04 +20-5-2013 02:00,150000,3.00E-04 +20-5-2013 03:00,150000,3.00E-04 +20-5-2013 04:00,150000,3.00E-04 +20-5-2013 05:00,150000,3.00E-04 +20-5-2013 06:00,150000,3.00E-04 +20-5-2013 07:00,150000,3.00E-04 +20-5-2013 08:00,150000,3.00E-04 +20-5-2013 09:00,150000,3.00E-04 +20-5-2013 10:00,150000,3.00E-04 +20-5-2013 11:00,150000,3.00E-04 +20-5-2013 12:00,150000,3.00E-04 +20-5-2013 13:00,150000,3.00E-04 +20-5-2013 14:00,100000,3.00E-04 +20-5-2013 15:00,100000,3.00E-04 +20-5-2013 16:00,100000,3.00E-04 +20-5-2013 17:00,100000,3.00E-04 +20-5-2013 18:00,100000,3.00E-04 +20-5-2013 19:00,100000,3.00E-04 +20-5-2013 20:00,100000,3.00E-04 +20-5-2013 21:00,100000,3.00E-04 +20-5-2013 22:00,100000,3.00E-04 +20-5-2013 23:00,100000,3.00E-04 +21-5-2013 00:00,100000,3.00E-04 +21-5-2013 01:00,100000,3.00E-04 +21-5-2013 02:00,100000,3.00E-04 +21-5-2013 03:00,50000,3.00E-04 +21-5-2013 04:00,50000,3.00E-04 +21-5-2013 05:00,50000,3.00E-04 +21-5-2013 06:00,50000,3.00E-04 +21-5-2013 07:00,50000,3.00E-04 +21-5-2013 08:00,50000,3.00E-04 +21-5-2013 09:00,50000,3.00E-04 +21-5-2013 10:00,50000,3.00E-04 +21-5-2013 11:00,50000,3.00E-04 +21-5-2013 12:00,50000,3.00E-04 +21-5-2013 13:00,50000,3.00E-04 +21-5-2013 14:00,50000,3.00E-04 +21-5-2013 15:00,50000,3.00E-04 +21-5-2013 16:00,50000,3.00E-04 +21-5-2013 17:00,50000,3.00E-04 +21-5-2013 18:00,50000,3.00E-04 diff --git a/tests/models/unit_cases/case_3a/src/run_3a.py b/tests/models/unit_cases/case_3a/src/run_3a.py index 21b4da615..a657e590f 100644 --- a/tests/models/unit_cases/case_3a/src/run_3a.py +++ b/tests/models/unit_cases/case_3a/src/run_3a.py @@ -307,17 +307,6 @@ def energy_system_options(self): return options - def path_goals(self): - goals = super().path_goals().copy() - - for demand in self.energy_system_components["heat_demand"]: - target = self.get_timeseries(f"{demand}.target_heat_demand") - state = f"{demand}.Heat_demand" - - goals.append(TargetDemandGoal(state, target)) - - return goals - class HeatProblemESDLProdProfile(BeseProblemProdProfile): def path_goals(self): diff --git a/tests/test_elec_boiler.py b/tests/test_elec_boiler.py index 812d4f627..e46503447 100644 --- a/tests/test_elec_boiler.py +++ b/tests/test_elec_boiler.py @@ -118,6 +118,12 @@ def test_air_water_hp_elec(self): This tests checks the air-water hp elec for the standard checks and the energy conservation over the commodity change. + The HeatProblemHydraulic model defines the heat pump's variable operational cost as a + function of the variable cost coefficient, pumping cost, and the electricity price profile. + + This test verifies that all three cost components are correctly included in the variable + operational cost. + Checks: 1. demand is matched 2. energy conservation in the network @@ -126,12 +132,12 @@ def test_air_water_hp_elec(self): 5. cost calculation is checked """ import models.source_pipe_sink.src.double_pipe_heat as example - from models.source_pipe_sink.src.double_pipe_heat import SourcePipeSink + from models.source_pipe_sink.src.double_pipe_heat import HeatProblemHydraulic base_folder = Path(example.__file__).resolve().parent.parent heat_problem = run_esdl_mesido_optimization( - SourcePipeSink, + HeatProblemHydraulic, base_folder=base_folder, esdl_file_name="sourcesink_withHP.esdl", esdl_parser=ESDLFileParser, @@ -149,6 +155,15 @@ def test_air_water_hp_elec(self): electric_power_conservation_test(heat_problem, results) # Check costs of heatpump + np.testing.assert_array_less( + 1.0e-4, + heat_problem.get_timeseries( + f"{list(heat_problem.get_electricity_carriers().values())[0]['name']}.price_profile" + ).values, + ) + np.testing.assert_array_less( + 1.0e-5, parameters[f"{hp_id}.variable_operational_cost_coefficient"] + ) np.testing.assert_array_less(100.0, results[f"{hp_id}__variable_operational_cost"]) cost_calculation_test(heat_problem, results) diff --git a/tests/utils_tests.py b/tests/utils_tests.py index a473f2938..9f6a89b75 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -12,6 +12,8 @@ import numpy as np +from rtctools.optimization.timeseries import Timeseries + def __get_out_port_temp_profile(solution, asset_name, asset_type): """ @@ -700,7 +702,8 @@ def _find_pipe_cost_in_edr(edr_pipes: dict, inner_diameter: float) -> float: float. Investment cost of the matching pipe. """ - + if inner_diameter == 0.0: + return 0.0 for pipe_type in list(edr_pipes.keys()): if "Steel-S1" in pipe_type: pipe_class = edr_pipes[pipe_type] @@ -719,7 +722,7 @@ def cost_calculation_test(solution, results, check_objective_function=False, ato - Installation costs (skipped for transport assets), - Fixed operational + maintenance costs (size-based and accumulated over technical life), - Variable operational costs (time-integrated using timestep durations, with asset-specific - logic such as COP or fuel/flow conversions). + logic such as COP, fuel/flow conversions, pump power or electricity price profile). - Objective function contribution if `calc_objective` is True Parameters @@ -738,11 +741,6 @@ def cost_calculation_test(solution, results, check_objective_function=False, ato *solution.energy_system_components.get("electricity_cable", []), ] - demand_assets = [ - *solution.energy_system_components.get("heat_demand", []), - *solution.energy_system_components.get("cold_demand", []), - ] - assets = [ *solution.energy_system_components.get("heat_source", []), *solution.energy_system_components.get("ates", []), @@ -752,7 +750,8 @@ def cost_calculation_test(solution, results, check_objective_function=False, ato *solution.energy_system_components.get("heat_exchanger", []), *solution.energy_system_components.get("heat_buffer", []), *solution.energy_system_components.get("airco", []), - *demand_assets, + *solution.energy_system_components.get("heat_demand", []), + *solution.energy_system_components.get("cold_demand", []), *transport_assets, ] @@ -765,6 +764,16 @@ def cost_calculation_test(solution, results, check_objective_function=False, ato edr_pipes = json.load(open(Path(__file__).parent.parent / "src/mesido/esdl/_edr_pipes.json")) + if len(solution.get_electricity_carriers().keys()) == 1: + try: + price_profile = solution.get_timeseries( + f"{list(solution.get_electricity_carriers().values())[0]['name']}.price_profile" + ) + except KeyError: + price_profile = Timeseries(solution.times(), np.zeros(len(solution.times()))) + else: + price_profile = Timeseries(solution.times(), np.zeros(len(solution.times()))) + total_investment_cost = 0.0 total_installation_cost = 0.0 total_fixed_operational_cost = 0.0 @@ -773,26 +782,18 @@ def cost_calculation_test(solution, results, check_objective_function=False, ato for asset in assets: esdl_asset = solution.esdl_assets[asset] costs_esdl_asset = esdl_asset.attributes["costInformation"] - if costs_esdl_asset is None: + if ( + asset in solution.energy_system_components.get("heat_pipe", []) + and esdl_asset.attributes["state"] == esdl.AssetStateEnum.OPTIONAL + ): + pass + elif costs_esdl_asset is None: continue # Investment Cost investment_cost = 0.0 if asset not in solution.energy_system_components.get("gas_pipe", []): - investment_cost_info = _get_esdl_scaled_cost( - costs_esdl_asset.investmentCosts, esdl.UnitEnum.WATT - ) - if asset in solution.energy_system_components.get("heat_buffer", []): - np.testing.assert_allclose( - ( - parameters[f"{asset}.investment_cost_coefficient"] - * parameters[f"{asset}.cp"] - * parameters[f"{asset}.rho"] - * parameters[f"{asset}.dT"] - ), - investment_cost_info, - ) - elif ( + if ( asset in solution.energy_system_components.get("heat_pipe", []) and esdl_asset.attributes["state"] == esdl.AssetStateEnum.OPTIONAL ): @@ -800,9 +801,23 @@ def cost_calculation_test(solution, results, check_objective_function=False, ato edr_pipes, parameters[f"{asset}.diameter"] ) else: - np.testing.assert_allclose( - parameters[f"{asset}.investment_cost_coefficient"], investment_cost_info + investment_cost_info = _get_esdl_scaled_cost( + costs_esdl_asset.investmentCosts, esdl.UnitEnum.WATT ) + if asset in solution.energy_system_components.get("heat_buffer", []): + np.testing.assert_allclose( + ( + parameters[f"{asset}.investment_cost_coefficient"] + * parameters[f"{asset}.cp"] + * parameters[f"{asset}.rho"] + * parameters[f"{asset}.dT"] + ), + investment_cost_info, + ) + else: + np.testing.assert_allclose( + parameters[f"{asset}.investment_cost_coefficient"], investment_cost_info + ) if asset in solution.energy_system_components.get("gas_pipe", []): if parameters[f"{asset}.diameter"] > 0: @@ -866,23 +881,28 @@ def cost_calculation_test(solution, results, check_objective_function=False, ato total_fixed_operational_cost += fixed_operational_cost # Variable Operational Cost - var_op_costs_esdl = _get_esdl_scaled_cost( - costs_esdl_asset.variableOperationalCosts, esdl.UnitEnum.WATTHOUR - ) - np.testing.assert_allclose( - parameters[f"{asset}.variable_operational_cost_coefficient"], var_op_costs_esdl - ) + pump_cost = 0.0 timesteps_hr = np.diff(solution.times()) / 3600.0 variable_operational_cost = 0.0 if asset in transport_assets: np.testing.assert_allclose(0.0, results[f"{asset}__variable_operational_cost"]) else: + var_op_costs_esdl = _get_esdl_scaled_cost( + costs_esdl_asset.variableOperationalCosts, esdl.UnitEnum.WATTHOUR + ) + np.testing.assert_allclose( + parameters[f"{asset}.variable_operational_cost_coefficient"], var_op_costs_esdl + ) denominator = 1.0 if asset in [ *solution.energy_system_components.get("ates", []), *solution.energy_system_components.get("low_temperature_ates", []), *solution.energy_system_components.get("heat_buffer", []), ]: + pump_power = results[f"{asset}.Pump_power"] + eff = parameters[f"{asset}.pump_efficiency"] + pump_cost = sum(price_profile.values[1:] * pump_power[1:] * timesteps_hr / eff) + nominator_vector = ( results[f"{asset}.Heat_flow_charging"] + results[f"{asset}.Heat_flow_discharging"] @@ -890,6 +910,10 @@ def cost_calculation_test(solution, results, check_objective_function=False, ato elif asset in [ *solution.energy_system_components.get("heat_source", []), ]: + pump_power = results[f"{asset}.Pump_power"] + eff = parameters[f"{asset}.pump_efficiency"] + pump_cost = sum(price_profile.values[1:] * pump_power[1:] * timesteps_hr / eff) + heat_source = results[f"{asset}.Heat_source"] if asset in [ @@ -916,8 +940,10 @@ def cost_calculation_test(solution, results, check_objective_function=False, ato nominator_vector = heat_source elif asset in solution.energy_system_components.get("airco", []): nominator_vector = results[f"{asset}.Heat_airco"] - elif asset in demand_assets: + elif asset in solution.energy_system_components.get("heat_demand", []): nominator_vector = results[f"{asset}.Heat_demand"] + elif asset in solution.energy_system_components.get("cold_demand", []): + nominator_vector = results[f"{asset}.Cold_demand"] else: raise AssertionError( f"Asset '{esdl_asset.name}' is not handled in the variable operational" @@ -928,6 +954,18 @@ def cost_calculation_test(solution, results, check_objective_function=False, ato var_op_costs_esdl * nominator_vector[1:] * timesteps_hr / denominator ) + variable_operational_cost += pump_cost + + if (len(solution.get_electricity_carriers().keys()) > 0) and asset in [ + *solution.energy_system_components.get("heat_source_elec", []), + *solution.energy_system_components.get("elec_heat_source_elec", []), + *solution.energy_system_components.get("air_water_heat_pump_elec", []), + *solution.energy_system_components.get("heat_pump_elec", []), + ]: + variable_operational_cost += sum( + price_profile.values[1:] * nominator_vector[1:] * timesteps_hr / denominator + ) + np.testing.assert_allclose( variable_operational_cost, results[f"{asset}__variable_operational_cost"] ) From 882b13590bade026973ac4833a109c8d6a442467 Mon Sep 17 00:00:00 2001 From: tolga-akan Date: Tue, 19 May 2026 11:47:39 +0200 Subject: [PATCH 369/376] Maximum and minimum temperature of residual heat source are parsed from esdl (#468) Parse maximum and minimum temperatures of heat producers from esdl. Note that currently ESDL has min/max temps only for the following heat sources: HeatProducer, GeothermalSource, ResidualHeatSource. --- CHANGELOG.md | 3 ++- src/mesido/esdl/esdl_heat_model.py | 27 ++++++++++++++++--- .../milp/heat/heat_source.py | 2 ++ ...se_small_network_with_ates_buffer_geo.esdl | 6 ++--- tests/test_max_size_and_optional_assets.py | 15 +++++++++++ tests/test_varying_temperature.py | 16 +++++++++-- 6 files changed, 59 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59b48d782..428ed812f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2026-05-06 +# [Unreleased-main] - 2026-05-13 ## Added - Electricity consumption calculation of geothermal assets, using the defined COP. @@ -10,6 +10,7 @@ - Test is added to check airco sizing and cost calculation - Workflow of EndScenarioSizing with demand uncertainty is added. - Ramp constraints for heat producers are added. +- Maximum and minimum temperature of heat sources are parsed from esdl ## Changed - Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 8c2c41dec..4e61fc227 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -311,15 +311,19 @@ def _generic_modifiers(self, asset: Asset) -> Dict: return modifiers @staticmethod - def _generic_heat_modifiers(min_heat=None, max_heat=None, q_nominal=None) -> Dict: + def _generic_heat_modifiers( + min_heat=None, max_heat=None, q_nominal=None, min_temp=None, max_temp=None + ) -> Dict: """ Args: min_heat: minimum heat flow value max_heat: maximum heat flow value q_nominal: flow nominal + min_temp: minimum temperature + max_temp: maximum temperature - Returns: dictionary of the generic heat modifiers: Q_nominal, Heat_flow, and the hydraulic - power of HeatIn and HeatOut. + Returns: dictionary of the generic heat modifiers: Q_nominal, Heat_flow, the hydraulic + power of HeatIn and HeatOut, min_temperature and max_temperature """ modifiers = dict() @@ -334,6 +338,16 @@ def _generic_heat_modifiers(min_heat=None, max_heat=None, q_nominal=None) -> Dic HeatOut=dict(Hydraulic_power=dict(nominal=q_nominal * 16.0e5)), ) + if min_temp is not None: + modifiers.update( + min_temperature=min_temp, + ) + + if max_temp is not None: + modifiers.update( + max_temperature=max_temp, + ) + return modifiers def _validate_attribute_value_not_zero( @@ -1467,6 +1481,9 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS logger.error(f"{asset.asset_type} '{asset.name}' has no max power specified.") assert max_supply > 0.0 + min_temperature = asset.attributes.get("minTemperature", None) + max_temperature = asset.attributes.get("maxTemperature", None) + # get price per unit of energy, # assume cost of 1. if nothing is given (effectively milp loss minimization) # TODO: Use an attribute or use and KPI for CO2 coefficient of a source @@ -1477,7 +1494,9 @@ def convert_heat_source(self, asset: Asset) -> Tuple[Type[HeatSource], MODIFIERS modifiers = dict( Heat_source=dict(min=0.0, max=max_supply, nominal=max_supply / 2.0), **self._generic_modifiers(asset), - **self._generic_heat_modifiers(0.0, max_supply, q_nominal), + **self._generic_heat_modifiers( + 0.0, max_supply, q_nominal, min_temperature, max_temperature + ), **self._supply_return_temperature_modifiers(asset), **self._rho_cp_modifiers, **self._get_cost_figure_modifiers(asset), diff --git a/src/mesido/pycml/component_library/milp/heat/heat_source.py b/src/mesido/pycml/component_library/milp/heat/heat_source.py index 634c35f5f..1355c5724 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_source.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_source.py @@ -44,6 +44,8 @@ def __init__(self, name, **modifiers): self.price = nan # TODO: delete not needed anymore self.co2_coeff = 1.0 self.pump_efficiency = 0.5 + self.max_temperature = nan + self.min_temperature = nan # Assumption: heat in/out and added is nonnegative # Heat in the return (i.e. cold) line is zero diff --git a/tests/models/test_case_small_network_with_ates_buffer_geo/model/test_case_small_network_with_ates_buffer_geo.esdl b/tests/models/test_case_small_network_with_ates_buffer_geo/model/test_case_small_network_with_ates_buffer_geo.esdl index 10bb4d086..2451e0d19 100644 --- a/tests/models/test_case_small_network_with_ates_buffer_geo/model/test_case_small_network_with_ates_buffer_geo.esdl +++ b/tests/models/test_case_small_network_with_ates_buffer_geo/model/test_case_small_network_with_ates_buffer_geo.esdl @@ -188,7 +188,7 @@ - + @@ -332,7 +332,7 @@ - + @@ -511,7 +511,7 @@ - + diff --git a/tests/test_max_size_and_optional_assets.py b/tests/test_max_size_and_optional_assets.py index f0529dd6d..14789b2e8 100644 --- a/tests/test_max_size_and_optional_assets.py +++ b/tests/test_max_size_and_optional_assets.py @@ -43,6 +43,8 @@ def test_max_size_and_aggr_count(self): - Check cost components for source 1 and 2 - Check max size and placement of ates - Fixed operational cost for sources + - Maximum and minimum temperatures of heat producer and geothermal source + are parsed from esdl """ import models.test_case_small_network_with_ates_buffer_geo.src.run_ates as run_ates @@ -63,6 +65,7 @@ def test_max_size_and_aggr_count(self): ) results = solution.extract_results() + parameters = solution.parameters(0) name_to_id_map = solution.esdl_asset_name_to_id_map producer_1_id = name_to_id_map["HeatProducer_1"] producer_2_id = name_to_id_map["HeatProducer_2"] @@ -137,6 +140,18 @@ def test_max_size_and_aggr_count(self): np.testing.assert_allclose(results[f"{ates_id}_aggregation_count"], 1.0) np.testing.assert_allclose(results[f"{buffer_id}_aggregation_count"], 1.0) + # Check max, min temperature of heat producer and geothermal source are parsed from esdl + for asset_id in [ + *solution.energy_system_components.get("heat_source", []), + ]: + esdl_asset = solution.esdl_assets[f"{asset_id}"] + np.testing.assert_equal( + esdl_asset.attributes["maxTemperature"], parameters[f"{asset_id}.max_temperature"] + ) + np.testing.assert_equal( + esdl_asset.attributes["minTemperature"], parameters[f"{asset_id}.min_temperature"] + ) + import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates from models.test_case_small_network_ates_buffer_optional_assets.src.run_ates import ( HeatProblem, diff --git a/tests/test_varying_temperature.py b/tests/test_varying_temperature.py index fc0f2acb1..ee8ff20eb 100644 --- a/tests/test_varying_temperature.py +++ b/tests/test_varying_temperature.py @@ -25,6 +25,7 @@ def test_1a_temperature_variation(self): - Check expected return temperature - Check on integer variable for selected temperature. - Check if the heat losses are correct for the selected temperature + - Maximum and minimum temperatures of residual heat source are parsed from esdl """ import models.unit_cases.case_1a.src.run_1a as run_1a @@ -45,6 +46,7 @@ def test_1a_temperature_variation(self): # chose by the optimization, minimum of 21 deg is needed, only the 85/60 option is # feasible, note that a maximum velocity is set low to achieve this. results = heat_problem.extract_results() + parameters = heat_problem.parameters(0) test = TestCase() test.assertTrue(heat_problem.solver_stats["success"], msg="Optimisation did not succeed") @@ -62,8 +64,6 @@ def test_1a_temperature_variation(self): energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) - parameters = heat_problem.parameters(0) - for pipe in heat_problem.energy_system_components.get("heat_pipe", []): heat_loss_opt = results[f"{pipe}__hn_heat_loss"] carrier_id = parameters[f"{pipe}.carrier_id"] @@ -81,6 +81,18 @@ def test_1a_temperature_variation(self): ] np.testing.assert_allclose(heat_loss_opt, heat_loss_calc, atol=1.0e-6) + # Check max, min temperature of residual heat source is parsed from esdl + for asset_id in [ + *heat_problem.energy_system_components.get("heat_source", []), + ]: + esdl_asset = heat_problem.esdl_assets[f"{asset_id}"] + np.testing.assert_equal( + esdl_asset.attributes["maxTemperature"], parameters[f"{asset_id}.max_temperature"] + ) + np.testing.assert_equal( + esdl_asset.attributes["minTemperature"], parameters[f"{asset_id}.min_temperature"] + ) + def test_3a_temperature_variation_supply(self): """ Check varying temperature behoviour for network with storage (tank). In this case we From d3bd80555a3027fb38533874732dac1044e72655 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 20 May 2026 14:47:16 +0200 Subject: [PATCH 370/376] Linearized headloss reduce binary variables (#466) Update heat physics mixin and gas_physics_mixin to reduce discrete variables for linearized equality headloss by only creating the discrete variables for the positive quadrant. The negative quadrant is formed based on flow direction variables and the linearlized variables. --- CHANGELOG.md | 1 + src/mesido/gas_physics_mixin.py | 10 ++- src/mesido/head_loss_class.py | 90 ++++++++++++------- src/mesido/heat_physics_mixin.py | 6 +- .../component_library/milp/gas/gas_pipe.py | 2 +- tests/test_head_loss.py | 55 ++++-------- tests/test_hydraulic_power.py | 2 +- tests/test_multicommodity_simulator.py | 2 +- 8 files changed, 92 insertions(+), 76 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 428ed812f..df472fbf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ - Removed old test files that are no longer used. - Added electricity cost profile to variable operational cost of assets which convert electricity to heat. - Heating_and_cooling example is cleaned up +- The number of binary variables for the linearized head loss calculation is reduced by half, by only creating them for the positive quadrant. ## Fixed - ProfileConstraints: Use already available function to get profile quantity and unit diff --git a/src/mesido/gas_physics_mixin.py b/src/mesido/gas_physics_mixin.py index 16b582405..db9444969 100644 --- a/src/mesido/gas_physics_mixin.py +++ b/src/mesido/gas_physics_mixin.py @@ -209,8 +209,12 @@ def _get_min_bound(bound): and initialized_vars[9] != {} and initialized_vars[10] != {} ): # Variables needed to indicate if a linear line segment is active + # HeadLossClass now provides activation variables only for the + # positive quadrant (n_linearization_lines entries). Register + # those here and reuse the flow-direction variable elsewhere to + # account for signed flows. self._gas_pipe_linear_line_segment_map[pipe_name] = {} - for ii_line in range(self.gas_network_settings["n_linearization_lines"] * 2): + for ii_line in range(self.gas_network_settings["n_linearization_lines"]): pipe_linear_line_segment_var_name = initialized_vars[8][ii_line] self._gas_pipe_linear_line_segment_map[pipe_name][ ii_line @@ -223,10 +227,10 @@ def _get_min_bound(bound): ] = initialized_vars[10][pipe_linear_line_segment_var_name] # Integer variables - flow_dir_var = f"{pipe_name}.__gas_flow_direct_var" + flow_dir_var = f"{pipe_name}.__flow_direct_var" self._gas_pipe_to_flow_direct_map[pipe_name] = flow_dir_var - # self.__gas_flow_direct_var[flow_dir_var] = ca.MX.sym(flow_dir_var) + # self.__flow_direct_var[flow_dir_var] = ca.MX.sym(flow_dir_var) # Fix the directions that are already implied by the bounds on milp # Nonnegative milp implies that flow direction Boolean is equal to one. diff --git a/src/mesido/head_loss_class.py b/src/mesido/head_loss_class.py index 0c6eb9c66..2df3dc1ae 100644 --- a/src/mesido/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -415,22 +415,15 @@ def initialize_variables_nominals_and_bounds( self._pipe_linear_line_segment_map[pipe_name] = {} self.__pipe_linear_line_segment_var[pipe_name] = {} self.__pipe_linear_line_segment_var_bounds[pipe_name] = {} - # We need to creat linear line segments for the - and + volumetric flow rate - # possibilites. Line number 1, 2, N for the - & + side is created - discharge_type = ["neg_discharge", "pos_discharge"] - for ii_line in range( - network_settings["n_linearization_lines"] * len(discharge_type) - ): - if ii_line < network_settings["n_linearization_lines"]: - dtype = discharge_type[0] - line_number = ii_line + 1 - else: - dtype = discharge_type[1] - line_number = ii_line + 1 - network_settings["n_linearization_lines"] - + # Create linear line segments only for the positive quadrant and + # reuse the existing flow-direction binary to account for sign. + # This halves the number of activation binaries compared to having + # separate negative/positive activation variables. + for ii_line in range(network_settings["n_linearization_lines"]): # start line segment numbering from 1 up to "n_linearization_lines" + line_number = ii_line + 1 pipe_linear_line_segment_var_name = ( - f"{pipe_name}__pipe_linear_line_segment_num_{line_number}_{dtype}" + f"{pipe_name}__pipe_linear_line_segment_num_{line_number}" ) self._pipe_linear_line_segment_map[pipe_name][ @@ -791,15 +784,15 @@ def _hn_pipe_head_loss( # Add constraints for piece-wise linear equality # Populate variable indicating if a linear line segment is active (1) or not (0) - # pipe_linear_line_segment: will contain variables of negative and positive - # discharge possibilites for the pipe. This implies if a pipe is linearized - # with N = 2 linear lines then pipe_linear_line_segment will have 2 * 2 - # variables + # pipe_linear_line_segment: will contain variables of positive + # discharge possibilities for the pipe. The negative discharge possibilities + # are covered by the linearizations in combination with the flow direction + # discharge variable # Order of linear line variables: - # - negative discharge line_1, line_2 # - positve discharge line_1, line_2 pipe_linear_line_segment = self._pipe_linear_line_segment_map[pipe] is_line_segment_active = [] + flow_dir_var = optimization_problem.state_vector(f"{pipe}.__flow_direct_var") for _, ii_line_var in pipe_linear_line_segment.items(): # Create integer variable to activate/deactivate (1/0) a linear line @@ -824,25 +817,60 @@ def _hn_pipe_head_loss( (is_line_segment_active_sum_per_timestep, 1.0, 1.0), ) - # Add equality constraint, value == 0.0 for all linear lines - for ii_line_used in range(len(pipe_linear_line_segment)): - ii_start = ii_line_used * n_timesteps - ii_end = ii_start + n_timesteps - # lower bound constraint (weak inequality constraint, value >= 0.0) is - # already added in the LINEARIZED_N_LINES_WEAK_INEQUALITY section. + # Add equality constraint, value == 0.0 for all linear lines. + # We now have only `n_linear_lines` activation variables (for the + # positive quadrant) and the `a_vec`/`b_vec` vectors are doubled + # (negative then positive). For each activation variable we add + # two equality constraints: one for the negative block and one + # for the positive block, both using the same activation. + for ii_line_used in range(n_linear_lines): + # negative block (first half of a_vec/b_vec) + ii_start_neg = ii_line_used * n_timesteps + ii_end_neg = ii_start_neg + n_timesteps constraints.append( ( ( - head_loss_vec[ii_start:ii_end] + head_loss_vec[ii_start_neg:ii_end_neg] - ( - a_vec[ii_start:ii_end] * discharge_vec[ii_start:ii_end] - + b_vec[ii_start:ii_end] + a_vec[ii_start_neg:ii_end_neg] + * discharge_vec[ii_start_neg:ii_end_neg] + + b_vec[ii_start_neg:ii_end_neg] ) - - is_disconnected_vec[ii_start:ii_end] * big_m_lin + - is_disconnected_vec[ii_start_neg:ii_end_neg] * big_m_lin - big_m_lin - * (1 - is_line_segment_active[ii_line_used][0:n_timesteps]) + * ( + 1 + - is_line_segment_active[ii_line_used][0:n_timesteps] + + flow_dir_var + ) + ) + / constraint_nominal[ii_start_neg:ii_end_neg], + -np.inf, + 0.0, + ), + ) + + # positive block (second half of a_vec/b_vec) + ii_start_pos = (ii_line_used + n_linear_lines) * n_timesteps + ii_end_pos = ii_start_pos + n_timesteps + constraints.append( + ( + ( + head_loss_vec[ii_start_pos:ii_end_pos] + - ( + a_vec[ii_start_pos:ii_end_pos] + * discharge_vec[ii_start_pos:ii_end_pos] + + b_vec[ii_start_pos:ii_end_pos] + ) + - is_disconnected_vec[ii_start_pos:ii_end_pos] * big_m_lin + - big_m_lin + * ( + 2 + - is_line_segment_active[ii_line_used][0:n_timesteps] + - flow_dir_var + ) ) - / constraint_nominal[ii_start:ii_end], + / constraint_nominal[ii_start_pos:ii_end_pos], -np.inf, 0.0, ), diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index ac02f4f7f..9e76554a5 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -269,8 +269,12 @@ def _get_min_bound(bound): and initialized_vars[9] != {} and initialized_vars[10] != {} ): + # HeadLossClass now provides activation variables only for the + # positive quadrant (n_linearization_lines entries). Register + # those here and reuse the flow-direction variable elsewhere to + # account for signed flows. self._pipe_linear_line_segment_map[pipe_name] = {} - for ii_line in range(self.heat_network_settings["n_linearization_lines"] * 2): + for ii_line in range(self.heat_network_settings["n_linearization_lines"]): pipe_linear_line_segment_var_name = initialized_vars[8][ii_line] self._pipe_linear_line_segment_map[pipe_name][ ii_line diff --git a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py index c487c6374..e7b8a7c20 100644 --- a/src/mesido/pycml/component_library/milp/gas/gas_pipe.py +++ b/src/mesido/pycml/component_library/milp/gas/gas_pipe.py @@ -44,7 +44,7 @@ def __init__(self, name, **modifiers): self.add_variable(Variable, "dH") self.add_variable(Variable, "Q", nominal=self.Q_nominal) - self.add_variable(DiscreteVariable, "__gas_flow_direct_var", min=0.0, max=1.0) + self.add_variable(DiscreteVariable, "__flow_direct_var", min=0.0, max=1.0) # Flow should be preserved self.add_equation(((self.GasIn.Q - self.GasOut.Q) / self.Q_nominal)) diff --git a/tests/test_head_loss.py b/tests/test_head_loss.py index 7c4d93565..d480951bd 100644 --- a/tests/test_head_loss.py +++ b/tests/test_head_loss.py @@ -416,30 +416,20 @@ def energy_system_options(self): # linearization if pipe not in [pipe4_id]: # Pipe 4 has no flow rate np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_1_neg_discharge"], - 0.0, - atol=1e-6, - ) - np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_2_neg_discharge"], - 0.0, + results[f"{pipe}__pipe_linear_line_segment_num_1"], + 1.0, atol=1e-6, ) np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_2_pos_discharge"], + results[f"{pipe}__pipe_linear_line_segment_num_2"], 0.0, atol=1e-6, ) np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_1_pos_discharge"], + results[f"{pipe}.__flow_direct_var"], 1.0, atol=1e-6, ) - np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_2_pos_discharge"], - 0.0, - atol=1e-6, - ) if pipe not in [pipe4_id, pipe4_ret_id]: velocities = results[f"{pipe}.Q"] / solution.parameters(0)[f"{pipe}.area"] @@ -637,25 +627,17 @@ def energy_system_options(self): # Check that only one linear line segment is active for the head loss # linearization np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_1_neg_discharge"], - 0.0, - ) - np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_2_neg_discharge"], - 0.0, + results[f"{pipe}__pipe_linear_line_segment_num_1"], + 1.0, ) np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_2_pos_discharge"], + results[f"{pipe}__pipe_linear_line_segment_num_2"], 0.0, ) np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_1_pos_discharge"], + results[f"{pipe}.__flow_direct_var"], 1.0, ) - np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_2_pos_discharge"], - 0.0, - ) def test_gas_network_pipe_split_head_loss(self): """ @@ -810,33 +792,30 @@ def energy_system_options(self): ) # Check that only one linear line segment is active for the head loss linearization - np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_1_neg_discharge"], - 0.0, - ) - np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_2_neg_discharge"], - 0.0, - ) # Gas demand for the 1st 2 timesteps fall on the 1st linear line segment np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_1_pos_discharge"][0:2], + results[f"{pipe}__pipe_linear_line_segment_num_1"][0:2], 1.0, atol=1e-12, ) np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_1_pos_discharge"][2:4], + results[f"{pipe}__pipe_linear_line_segment_num_1"][2:4], 0.0, atol=1e-12, ) # Gas demand for the last 2 timesteps fall on the 2nd linear line segment np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_2_pos_discharge"][0:2], + results[f"{pipe}__pipe_linear_line_segment_num_2"][0:2], 0.0, atol=1e-12, ) np.testing.assert_allclose( - results[f"{pipe}__pipe_linear_line_segment_num_2_pos_discharge"][2:4], + results[f"{pipe}__pipe_linear_line_segment_num_2"][2:4], + 1.0, + atol=1e-12, + ) + np.testing.assert_allclose( + results[f"{pipe}.__flow_direct_var"], 1.0, atol=1e-12, ) diff --git a/tests/test_hydraulic_power.py b/tests/test_hydraulic_power.py index 932f8ec38..168607195 100644 --- a/tests/test_hydraulic_power.py +++ b/tests/test_hydraulic_power.py @@ -515,7 +515,7 @@ def energy_system_options(self): v_inspect_line_ind[k] == v_inspect_line_ind[k + 1] and v_inspect_line_ind[k] == 0 ): # use simple ratio calc - if pipe_mass[k] > 0: + if pipe_mass[k] > 1e-8: np.testing.assert_allclose( pipe_hp[k] * pipe_mass[k + 1] / pipe_mass[k], pipe_hp[k + 1] ) diff --git a/tests/test_multicommodity_simulator.py b/tests/test_multicommodity_simulator.py index b48f590b1..bb817a31b 100644 --- a/tests/test_multicommodity_simulator.py +++ b/tests/test_multicommodity_simulator.py @@ -661,7 +661,7 @@ def test_multi_commodity_simulator_sequential_staged(self): # Checking that the results are the same. for key, value in results_unstaged.items(): value_staged = results_staged[key] - if len(key.split("__")) > 1 and key.split("__")[1] == "gas_flow_direct_var": + if len(key.split("__")) > 1 and key.split("__")[1] == "flow_direct_var": # For the scenario when Q is -0 and 0 then gas_flow_direct_var 0 or 1 for the same # volumetric flow rate of zero. So only check gas_flow_direct_var when Q != zero zero_staged = results_staged[f"{key.split('__')[0]}GasIn.Q"] != 0 From 3a15a9c49f40a7a3a6337181774f58354c01b9af Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Wed, 20 May 2026 15:21:20 +0200 Subject: [PATCH 371/376] 407 update ates low and high temperature components (#471) Low_temperature_ates is now a subcomponent type of ates. --- CHANGELOG.md | 1 + src/mesido/asset_sizing_mixin.py | 19 ++++------------- src/mesido/component_type_mixin.py | 2 +- src/mesido/esdl/esdl_heat_model.py | 19 +++++------------ src/mesido/financial_mixin.py | 17 --------------- src/mesido/heat_physics_mixin.py | 21 ++++++++----------- .../milp/heat/low_temperature_ates.py | 13 +----------- .../workflows/goals/minimize_tco_goal.py | 5 ----- src/mesido/workflows/grow_workflow.py | 9 ++++---- src/mesido/workflows/io/write_output.py | 5 ----- tests/models/wko/src/example.py | 5 +++-- tests/utils_tests.py | 3 --- 12 files changed, 29 insertions(+), 90 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index df472fbf6..89ee0ce4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - Updated pyESDL to v26.3 - Updated the GROW workflow to provide feedback on which heat demands are not matched in priority 1. - Removed old test files that are no longer used. +- Marked low_temperature_ates as a subcomponent of the ates asset type. - Added electricity cost profile to variable operational cost of assets which convert electricity to heat. - Heating_and_cooling example is cleaned up - The number of binary variables for the linearized head loss calculation is reduced by half, by only creating them for the positive quadrant. diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index afe36cb9d..91f513d02 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -856,12 +856,8 @@ def _make_max_size_var(name, lb, ub, nominal): for asset_name in [ *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), ]: - if asset_name in self.energy_system_components.get("ates", []): - ub = bounds[f"{asset_name}.Heat_ates"][1] - else: - ub = bounds[f"{asset_name}.Heat_low_temperature_ates"][1] + ub = bounds[f"{asset_name}.Heat_ates"][1] lb = 0.0 if parameters[f"{asset_name}.state"] != AssetStateEnum.ENABLED else ub _make_max_size_var(name=asset_name, lb=lb, ub=ub, nominal=ub / 2.0) @@ -2059,19 +2055,12 @@ def __max_size_constraints(self, ensemble_member): for a in [ *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), ]: - max_var_types.update(["ates", "low_temperature_ates"]) + max_var_types.update(["ates"]) max_var = self._asset_max_size_map[a] max_heat = self.extra_variable(max_var, ensemble_member) - if a in self.energy_system_components.get("ates", []): - heat_ates = self.__state_vector_scaled(f"{a}.Heat_ates", ensemble_member) - constraint_nominal = bounds[f"{a}.Heat_ates"][1] - else: - heat_ates = self.__state_vector_scaled( - f"{a}.Heat_low_temperature_ates", ensemble_member - ) - constraint_nominal = bounds[f"{a}.Heat_low_temperature_ates"][1] + heat_ates = self.__state_vector_scaled(f"{a}.Heat_ates", ensemble_member) + constraint_nominal = bounds[f"{a}.Heat_ates"][1] constraints.append( ( diff --git a/src/mesido/component_type_mixin.py b/src/mesido/component_type_mixin.py index f73ac9e35..8d849ed8c 100644 --- a/src/mesido/component_type_mixin.py +++ b/src/mesido/component_type_mixin.py @@ -41,7 +41,7 @@ def pre(self): busses = components.get("electricity_node", []) gas_nodes = components.get("gas_node", []) buffers = components.get("heat_buffer", []) - atess = [*components.get("ates", []), *components.get("low_temperature_ates", [])] + atess = components.get("ates", []) demands = [ *components.get("heat_demand", []), *components.get("electricity_demand", []), diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 4e61fc227..54d202d97 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -1637,6 +1637,11 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: max=q_max_ates * aggregation_count, nominal=q_nominal, ), + Heat_ates=dict( + min=-hfr_charge_max * aggregation_count, + max=hfr_discharge_max * aggregation_count, + nominal=hfr_discharge_max / 2.0, + ), single_doublet_power=single_doublet_power, heat_loss_coeff=(1.0 - efficiency ** (1.0 / 100.0)) / (3600.0 * 24.0), nr_of_doublets=aggregation_count, @@ -1674,15 +1679,6 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: f" maxStorageTemperature > {low_temp_ates_max_storage_temp_deg} degrees Celcius", ) - modifiers.update( - dict( - Heat_low_temperature_ates=dict( - min=-hfr_charge_max * asset.attributes["aggregationCount"], - max=hfr_discharge_max * asset.attributes["aggregationCount"], - nominal=hfr_discharge_max / 2.0, - ) - ) - ) logger.warning( "ATES in use: WKO (koude-warmteopslag, cold and heat storage) since the" " maximum temperature has been specified to be <= 30 degrees Celcius" @@ -1692,11 +1688,6 @@ def convert_ates(self, asset: Asset) -> Tuple[Type[ATES], MODIFIERS]: else: modifiers.update( dict( - Heat_ates=dict( - min=-hfr_charge_max * aggregation_count, - max=hfr_discharge_max * aggregation_count, - nominal=hfr_discharge_max / 2.0, - ), T_amb=asset.attributes["aquiferMidTemperature"], Temperature_ates=dict( min=temperatures["T_return"], # or potentially 0 diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 8871d1db7..80e0eb215 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -124,17 +124,6 @@ def pre(self): ) nominal_variable_operational = nominal_fixed_operational nominal_investment = nominal_fixed_operational - elif asset_name in [*self.energy_system_components.get("low_temperature_ates", [])]: - nominal_fixed_operational = self.variable_nominal( - f"{asset_name}.Heat_low_temperature_ates" - ) - nominal_fixed_operational = ( - nominal_fixed_operational - if isinstance(nominal_fixed_operational, float) - else max(nominal_fixed_operational.values) - ) - nominal_variable_operational = nominal_fixed_operational - nominal_investment = nominal_fixed_operational elif asset_name in [*self.energy_system_components.get("heat_demand", [])]: nominal_fixed_operational = ( bounds[f"{asset_name}.Heat_demand"][1] @@ -452,7 +441,6 @@ def pre(self): *self.energy_system_components.get("heat_demand", []), *self.energy_system_components.get("cold_demand", []), *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_pipe", []), *self.energy_system_components.get("heat_exchanger", []), @@ -480,7 +468,6 @@ def pre(self): *self.energy_system_components.get("cold_demand", []), *self.energy_system_components.get("heat_pipe", []), *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), @@ -936,7 +923,6 @@ def __variable_operational_cost_constraints(self, ensemble_member): for asset in [ *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), ]: heat_charge = self.__state_vector_scaled(f"{asset}.Heat_flow_charging", ensemble_member) @@ -1325,7 +1311,6 @@ def __cumulative_investments_made_in_eur_path_constraints(self, ensemble_member) *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_pipe", []), *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), @@ -1429,7 +1414,6 @@ def __cumulative_capex_made_in_eur_constraints(self, ensemble_member): *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_pipe", []), *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), @@ -1535,7 +1519,6 @@ def __annualized_capex_constraints(self, ensemble_member): asset_categories = [ "heat_source", "ates", - "low_temperature_ates", "heat_buffer", "heat_pipe", "heat_exchanger", diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 9e76554a5..760e17826 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -324,6 +324,14 @@ def _get_min_bound(bound): (_cold_pipe, _cold_pipe_orientation), ) in self.energy_system_topology.ates.items(): + max_heat = bounds[f"{ates}.Stored_heat"][1] + ates_max_stored_heat_var_name = f"{ates}__max_stored_heat" + self.__ates_max_stored_heat_var[ates_max_stored_heat_var_name] = ca.MX.sym( + ates_max_stored_heat_var_name + ) + self.__ates_max_stored_heat_bounds[ates_max_stored_heat_var_name] = (0, max_heat) + self.__ates_max_stored_heat_nominals[ates_max_stored_heat_var_name] = max_heat / 2 + if ates in self.energy_system_components.get("low_temperature_ates", []): continue @@ -377,14 +385,6 @@ def _get_min_bound(bound): ates_temperature_disc_ordering_var_name ] = (0.0, 1.0) - max_heat = bounds[f"{ates}.Stored_heat"][1] - ates_max_stored_heat_var_name = f"{ates}__max_stored_heat" - self.__ates_max_stored_heat_var[ates_max_stored_heat_var_name] = ca.MX.sym( - ates_max_stored_heat_var_name - ) - self.__ates_max_stored_heat_bounds[ates_max_stored_heat_var_name] = (0, max_heat) - self.__ates_max_stored_heat_nominals[ates_max_stored_heat_var_name] = max_heat / 2 - for _carrier, temperatures in self.temperature_carriers().items(): carrier_id_number_mapping = str(temperatures["id_number_mapping"]) temp_var_name = carrier_id_number_mapping + "_temperature" @@ -2174,10 +2174,7 @@ def __ates_heat_losses_path_constraints(self, ensemble_member): bounds = self.bounds() options = self.energy_system_options() - for ates in [ - *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), - ]: + for ates in self.energy_system_components.get("ates", []): heat_loss_nominal = self.variable_nominal(f"{ates}.Heat_loss") soil_temperature = parameters[f"{ates}.T_amb"] heat_stored_max = bounds[f"{ates}.Stored_heat"][1] diff --git a/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py b/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py index 82c51a3d4..6b088f2cd 100644 --- a/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py +++ b/src/mesido/pycml/component_library/milp/heat/low_temperature_ates.py @@ -1,4 +1,3 @@ -from mesido.pycml import Variable from mesido.pycml.pycml_mixin import add_variables_documentation_automatically from ._ates_base_asset import _ATESBaseAsset @@ -30,14 +29,4 @@ class LowTemperatureATES(_ATESBaseAsset): def __init__(self, name, **modifiers): super().__init__(name, **modifiers) - self.component_type = "low_temperature_ates" - - # Stored_heat is the heat that is contained in the ates. - # Heat_low_temperature_ates is the amount of heat added to or extracted from the buffer - # per timestep. - # Thus Heat_buffer = HeatHot = der(Stored_heat). - # We connect an ATES as an demand, meaning that flow and Heat_low_temperature_ates are - # positive undercharging and negative under discharge - self.add_variable(Variable, "Heat_low_temperature_ates", nominal=self.Heat_nominal) # [W] - - self.add_equation((self.Heat_ates - self.Heat_low_temperature_ates) / self.Heat_nominal) + self.component_subtype = "low_temperature_ates" diff --git a/src/mesido/workflows/goals/minimize_tco_goal.py b/src/mesido/workflows/goals/minimize_tco_goal.py index 824b31d10..97571177f 100644 --- a/src/mesido/workflows/goals/minimize_tco_goal.py +++ b/src/mesido/workflows/goals/minimize_tco_goal.py @@ -40,7 +40,6 @@ def __init__( "operational": { "heat_source", "ates", - "low_temperature_ates", "heat_pump", "pump", "heat_exchanger", @@ -52,7 +51,6 @@ def __init__( "fixed_operational": { "heat_source", "ates", - "low_temperature_ates", "heat_buffer", "heat_pump", "heat_exchanger", @@ -63,7 +61,6 @@ def __init__( "investment": { "heat_source", "ates", - "low_temperature_ates", "heat_buffer", "heat_demand", "cold_demand", @@ -78,7 +75,6 @@ def __init__( "installation": { "heat_source", "ates", - "low_temperature_ates", "heat_buffer", "heat_demand", "cold_demand", @@ -93,7 +89,6 @@ def __init__( "annualized": { "heat_source", "ates", - "low_temperature_ates", "heat_buffer", "heat_demand", "cold_demand", diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index 7d0ee635f..dd76e6d45 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -370,10 +370,11 @@ def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) for a in self.energy_system_components.get("ates", []): - stored_heat = self.state_vector(f"{a}.Stored_heat") - constraints.append(((stored_heat[-1] - stored_heat[0]), 0.0, np.inf)) - ates_temperature = self.state_vector(f"{a}.Temperature_ates") - constraints.append(((ates_temperature[-1] - ates_temperature[0]), 0.0, np.inf)) + if a not in self.energy_system_components.get("low_temperature_ates", []): + stored_heat = self.state_vector(f"{a}.Stored_heat") + constraints.append(((stored_heat[-1] - stored_heat[0]), 0.0, np.inf)) + ates_temperature = self.state_vector(f"{a}.Temperature_ates") + constraints.append(((ates_temperature[-1] - ates_temperature[0]), 0.0, np.inf)) for b in self.energy_system_components.get("heat_buffer", {}): vars = self.state_vector(f"{b}.Heat_buffer") diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 439aa33bf..18eb57bc5 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -743,7 +743,6 @@ def _add_kpis_to_energy_system(self, energy_system, optimizer_sim: bool = False) flow_variable = results[f"{asset_id}.Heat_buffer"][1:] elif asset_id in [ *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), ]: flow_variable = results[f"{asset_id}.Heat_ates"][1:] elif asset_id in self.energy_system_components.get("heat_pipe", []): @@ -1027,7 +1026,6 @@ def _write_updated_esdl( if asset_id in [ *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("heat_pump", []), *self.energy_system_components.get("airco", []), @@ -1040,7 +1038,6 @@ def _write_updated_esdl( if asset_id in [ *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), ]: asset.maxChargeRate = results[f"{asset_id}__max_size"][0] asset.maxDischargeRate = results[f"{asset_id}__max_size"][0] @@ -1163,7 +1160,6 @@ def _write_updated_esdl( *self.energy_system_components.get("heat_pipe", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), *self.energy_system_components.get("airco", []), @@ -1258,7 +1254,6 @@ def _write_updated_esdl( *self.energy_system_components.get("heat_source", []), *self.energy_system_components.get("heat_buffer", []), *self.energy_system_components.get("ates", []), - *self.energy_system_components.get("low_temperature_ates", []), *self.energy_system_components.get("heat_exchanger", []), *self.energy_system_components.get("heat_pump", []), *self.energy_system_components.get("airco", []), diff --git a/tests/models/wko/src/example.py b/tests/models/wko/src/example.py index d89ad60e8..8702ecf8e 100644 --- a/tests/models/wko/src/example.py +++ b/tests/models/wko/src/example.py @@ -247,8 +247,9 @@ def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) for a in self.energy_system_components.get("ates", []): - stored_heat = self.state_vector(f"{a}.Stored_heat") - constraints.append((stored_heat[0], 0.0, 0.0)) + if a not in self.energy_system_components.get("low_temperature_ates", []): + stored_heat = self.state_vector(f"{a}.Stored_heat") + constraints.append((stored_heat[0], 0.0, 0.0)) return constraints diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 9f6a89b75..128974241 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -492,9 +492,6 @@ def energy_conservation_test(solution, results, atol=1e-3, atol_total=1e-1): for d in solution.energy_system_components.get("ates", []): energy_sum -= results[f"{d}.Heat_ates"] - for d in solution.energy_system_components.get("low_temperature_ates", []): - energy_sum -= results[f"{d}.Heat_low_temperature_ates"] - for d in solution.energy_system_components.get("heat_exchanger", []): energy_sum -= results[f"{d}.Primary_heat"] - results[f"{d}.Secondary_heat"] From fd6608125c0be55eb1abccf3eb82dc8992bd89bf Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Fri, 22 May 2026 13:51:50 +0200 Subject: [PATCH 372/376] Feedback for heat demand not matched (#473) Feedback on potential network limitations (producers and pipes) causing heat not to be matching in the grow workflow. --- CHANGELOG.md | 1 + src/mesido/workflows/grow_workflow.py | 73 +- .../input/Warmte_test_two_demands_doubled.csv | 8761 +++++++++++++++++ ...twork_all_optional_demand_not_matched.esdl | 383 + tests/test_end_scenario_sizing.py | 114 +- 5 files changed, 9291 insertions(+), 41 deletions(-) create mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/input/Warmte_test_two_demands_doubled.csv create mode 100644 tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_demand_not_matched.esdl diff --git a/CHANGELOG.md b/CHANGELOG.md index 89ee0ce4e..d7860aa25 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - Workflow of EndScenarioSizing with demand uncertainty is added. - Ramp constraints for heat producers are added. - Maximum and minimum temperature of heat sources are parsed from esdl +- Warnings on potential causes of heat demand not being matched are added in the grow workflow ## Changed - Reduced the number of constraints required for headloss calculation with LINEARIZED_N_LINES_EQUALITY setting. diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index dd76e6d45..b69060425 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -549,7 +549,19 @@ def post(self): def __heat_demand_match_check(self, results, e_m=0): parameters = self.parameters(e_m) + bounds = self.bounds() id_to_name_map = self.esdl_asset_id_to_name_map + + def _upper_bound_as_scalar(upper_bound): + if hasattr(upper_bound, "values"): + return float(np.max(upper_bound.values)) + if isinstance(upper_bound, (list, tuple, np.ndarray)): + return float(np.max(upper_bound)) + return float(upper_bound) + + tolerance = 1.0e-4 # 0.01% + all_mismatch_indexes = set() + demand_not_matched = False for d in self.energy_system_components.get("heat_demand", []): realized_demand = results[f"{d}.Heat_demand"] target = self.get_timeseries(f"{d}.target_heat_demand", ensemble_member=e_m).values @@ -557,13 +569,72 @@ def __heat_demand_match_check(self, results, e_m=0): timesteps = np.diff( self.get_timeseries(f"{d}.target_heat_demand", ensemble_member=e_m).times ) - delta_energy = np.sum((target - realized_demand)[1:] * timesteps / 1.0e9) + demand_gap = (target - realized_demand)[1:] + shortage_mask = demand_gap > 1e-3 + mismatch_indexes = np.where(shortage_mask)[0] + 1 + all_mismatch_indexes.update(mismatch_indexes.tolist()) + + delta_energy = np.sum(demand_gap[shortage_mask] * timesteps[shortage_mask] / 1.0e9) if delta_energy >= 1.0: + demand_not_matched = True logger.warning( f"For demand {id_to_name_map[d]} the target is not matched by" f" {delta_energy} GJ" ) + # Lists potential producers and pipes that might be the cause of the heat demand not + # being matched. + mismatch_indexes = np.array(sorted(all_mismatch_indexes), dtype=int) + if demand_not_matched and len(mismatch_indexes) > 0: + maxed_producers = set() + for producer in self.energy_system_components.get("heat_source", []): + max_size_key = f"{producer}__max_size" + + max_size = float(results[max_size_key]) + upper_bound = _upper_bound_as_scalar(bounds[max_size_key][1]) + near_upper_bound = np.isclose(max_size, upper_bound, rtol=tolerance, atol=1.0e-9) + if not near_upper_bound: + continue + + heat_produced = np.asarray(results[f"{producer}.Heat_source"]) + produced_on_mismatch = heat_produced[mismatch_indexes] + maxed_now = produced_on_mismatch >= (1.0 - tolerance) * max_size + if np.any(maxed_now): + maxed_producers.add(id_to_name_map.get(producer, producer)) + + logger.warning( + f"At some of timestep indexes {mismatch_indexes.tolist()} where the demand is not " + f"matched, the heat production by the following heat producers is maximised: " + f"{sorted(maxed_producers) if maxed_producers else 'none'}" + ) + + coeff_limit = 0.75 + velocity_check = coeff_limit * self.heat_network_settings["maximum_velocity"] + high_velocity_pipes = set() + for pipe in self.energy_system_components.get("heat_pipe", []): + diameter = float(results[f"{pipe}__hn_diameter"]) + + diameter_upper_bound = _upper_bound_as_scalar(bounds[f"{pipe}__hn_diameter"][1]) + near_upper_bound = np.isclose( + diameter, + diameter_upper_bound, + rtol=tolerance, + atol=1.0e-9, + ) + if not near_upper_bound: + continue + + area = 0.25 * np.pi * diameter**2 + velocity = np.abs(np.asarray(results[f"{pipe}.Q"]) / area) + if np.any(velocity[mismatch_indexes] > velocity_check): + high_velocity_pipes.add(id_to_name_map.get(pipe, pipe)) + + logger.warning( + f"At some of indexes {mismatch_indexes.tolist()} where the demand is not matched " + f"there are pipes with velocities above {velocity_check:.2f} m/s: " + f"{sorted(high_velocity_pipes) if high_velocity_pipes else 'none'}" + ) + class EndScenarioSizingHIGHS(EndScenarioSizing): """ diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/input/Warmte_test_two_demands_doubled.csv b/tests/models/test_case_small_network_ates_buffer_optional_assets/input/Warmte_test_two_demands_doubled.csv new file mode 100644 index 000000000..e36078c28 --- /dev/null +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/input/Warmte_test_two_demands_doubled.csv @@ -0,0 +1,8761 @@ +DateTime,HeatingDemand_1,HeatingDemand_2,HeatingDemand_3 +1-1-2019 00:00,973622.64,453213.4,226606.7 +1-1-2019 01:00,973393.52,453106.72,226553.36 +1-1-2019 02:00,1021303.92,475408.68,237704.34 +1-1-2019 03:00,1430055.84,665679.32,332839.66 +1-1-2019 04:00,1786644.16,831668.24,415834.12 +1-1-2019 05:00,1978641.28,921041.36,460520.68 +1-1-2019 06:00,2254216.48,1049319.44,524659.72 +1-1-2019 07:00,6833198.08,3180798.08,1590399.04 +1-1-2019 08:00,8175164.8,3805472.32,1902736.16 +1-1-2019 09:00,11519066.88,5362031.68,2681015.84 +1-1-2019 10:00,9325702.4,4341038.08,2170519.04 +1-1-2019 11:00,3985941.76,1855423.36,927711.68 +1-1-2019 12:00,4518239.36,2103203.68,1051601.84 +1-1-2019 13:00,3760148.16,1750318.4,875159.2 +1-1-2019 14:00,3488335.36,1623791.68,811895.84 +1-1-2019 15:00,5417368.32,2521740.8,1260870.4 +1-1-2019 16:00,6277735.04,2922234.24,1461117.12 +1-1-2019 17:00,5338534.72,2485044.16,1242522.08 +1-1-2019 18:00,13446568.96,6259267.84,3129633.92 +1-1-2019 19:00,9549949.44,4445423.36,2222711.68 +1-1-2019 20:00,6625756.8,3084235.84,1542117.92 +1-1-2019 21:00,6081125.76,2830714.24,1415357.12 +1-1-2019 22:00,3269384.64,1521871.68,760935.84 +1-1-2019 23:00,956154.0,445081.92,222540.96 +2-1-2019 00:00,973622.64,453213.4,226606.7 +2-1-2019 01:00,973393.52,453106.72,226553.36 +2-1-2019 02:00,1021303.92,475408.68,237704.34 +2-1-2019 03:00,1430055.84,665679.32,332839.66 +2-1-2019 04:00,1786644.16,831668.24,415834.12 +2-1-2019 05:00,1978641.28,921041.36,460520.68 +2-1-2019 06:00,2254216.48,1049319.44,524659.72 +2-1-2019 07:00,6833198.08,3180798.08,1590399.04 +2-1-2019 08:00,8175164.8,3805472.32,1902736.16 +2-1-2019 09:00,11519066.88,5362031.68,2681015.84 +2-1-2019 10:00,9325702.4,4341038.08,2170519.04 +2-1-2019 11:00,3985941.76,1855423.36,927711.68 +2-1-2019 12:00,4518239.36,2103203.68,1051601.84 +2-1-2019 13:00,3760148.16,1750318.4,875159.2 +2-1-2019 14:00,3488335.36,1623791.68,811895.84 +2-1-2019 15:00,5417368.32,2521740.8,1260870.4 +2-1-2019 16:00,6277735.04,2922234.24,1461117.12 +2-1-2019 17:00,5338534.72,2485044.16,1242522.08 +2-1-2019 18:00,13446568.96,6259267.84,3129633.92 +2-1-2019 19:00,9549949.44,4445423.36,2222711.68 +2-1-2019 20:00,6625756.8,3084235.84,1542117.92 +2-1-2019 21:00,6081125.76,2830714.24,1415357.12 +2-1-2019 22:00,3269384.64,1521871.68,760935.84 +2-1-2019 23:00,956154.0,445081.92,222540.96 +3-1-2019 00:00,973622.64,453213.4,226606.7 +3-1-2019 01:00,973393.52,453106.72,226553.36 +3-1-2019 02:00,1021303.92,475408.68,237704.34 +3-1-2019 03:00,1430055.84,665679.32,332839.66 +3-1-2019 04:00,1786644.16,831668.24,415834.12 +3-1-2019 05:00,1978641.28,921041.36,460520.68 +3-1-2019 06:00,2254216.48,1049319.44,524659.72 +3-1-2019 07:00,6833198.08,3180798.08,1590399.04 +3-1-2019 08:00,8175164.8,3805472.32,1902736.16 +3-1-2019 09:00,11519066.88,5362031.68,2681015.84 +3-1-2019 10:00,9325702.4,4341038.08,2170519.04 +3-1-2019 11:00,3985941.76,1855423.36,927711.68 +3-1-2019 12:00,4518239.36,2103203.68,1051601.84 +3-1-2019 13:00,3760148.16,1750318.4,875159.2 +3-1-2019 14:00,3488335.36,1623791.68,811895.84 +3-1-2019 15:00,5417368.32,2521740.8,1260870.4 +3-1-2019 16:00,6277735.04,2922234.24,1461117.12 +3-1-2019 17:00,5338534.72,2485044.16,1242522.08 +3-1-2019 18:00,13446568.96,6259267.84,3129633.92 +3-1-2019 19:00,9549949.44,4445423.36,2222711.68 +3-1-2019 20:00,6625756.8,3084235.84,1542117.92 +3-1-2019 21:00,6081125.76,2830714.24,1415357.12 +3-1-2019 22:00,3269384.64,1521871.68,760935.84 +3-1-2019 23:00,956154.0,445081.92,222540.96 +4-1-2019 00:00,973622.64,453213.4,226606.7 +4-1-2019 01:00,973393.52,453106.72,226553.36 +4-1-2019 02:00,1021303.92,475408.68,237704.34 +4-1-2019 03:00,1430055.84,665679.32,332839.66 +4-1-2019 04:00,1786644.16,831668.24,415834.12 +4-1-2019 05:00,1978641.28,921041.36,460520.68 +4-1-2019 06:00,2254216.48,1049319.44,524659.72 +4-1-2019 07:00,6833198.08,3180798.08,1590399.04 +4-1-2019 08:00,8175164.8,3805472.32,1902736.16 +4-1-2019 09:00,11519066.88,5362031.68,2681015.84 +4-1-2019 10:00,9325702.4,4341038.08,2170519.04 +4-1-2019 11:00,3985941.76,1855423.36,927711.68 +4-1-2019 12:00,4518239.36,2103203.68,1051601.84 +4-1-2019 13:00,3760148.16,1750318.4,875159.2 +4-1-2019 14:00,3488335.36,1623791.68,811895.84 +4-1-2019 15:00,5417368.32,2521740.8,1260870.4 +4-1-2019 16:00,6277735.04,2922234.24,1461117.12 +4-1-2019 17:00,5338534.72,2485044.16,1242522.08 +4-1-2019 18:00,13446568.96,6259267.84,3129633.92 +4-1-2019 19:00,9549949.44,4445423.36,2222711.68 +4-1-2019 20:00,6625756.8,3084235.84,1542117.92 +4-1-2019 21:00,6081125.76,2830714.24,1415357.12 +4-1-2019 22:00,3269384.64,1521871.68,760935.84 +4-1-2019 23:00,956154.0,445081.92,222540.96 +5-1-2019 00:00,934839.2,435160.04,217580.02 +5-1-2019 01:00,938801.68,437004.52,218502.26 +5-1-2019 02:00,921012.24,428723.68,214361.84 +5-1-2019 03:00,956164.72,445086.92,222543.46 +5-1-2019 04:00,1354663.36,630584.72,315292.36 +5-1-2019 05:00,1623111.84,755545.28,377772.64 +5-1-2019 06:00,1822717.28,848460.0,424230 +5-1-2019 07:00,3565416.32,1659672.16,829836.08 +5-1-2019 08:00,7050196.48,3281808.96,1640904.48 +5-1-2019 09:00,14225544.96,6621875.2,3310937.6 +5-1-2019 10:00,14613296.64,6802369.92,3401184.96 +5-1-2019 11:00,6586869.76,3066134.4,1533067.2 +5-1-2019 12:00,6074985.6,2827856.0,1413928 +5-1-2019 13:00,4400975.04,2048618.24,1024309.12 +5-1-2019 14:00,4028863.36,1875402.88,937701.44 +5-1-2019 15:00,5554015.36,2585348.8,1292674.4 +5-1-2019 16:00,5959330.56,2774020.16,1387010.08 +5-1-2019 17:00,5978144.0,2782777.28,1391388.64 +5-1-2019 18:00,6061036.16,2821362.88,1410681.44 +5-1-2019 19:00,6126037.12,2851620.48,1425810.24 +5-1-2019 20:00,6157992.96,2866495.36,1433247.68 +5-1-2019 21:00,4839631.68,2252809.12,1126404.56 +5-1-2019 22:00,2093728.0,974613.28,487306.64 +5-1-2019 23:00,1175233.04,547061.4,273530.7 +6-1-2019 00:00,1171808.24,545467.16,272733.58 +6-1-2019 01:00,1164751.2,542182.12,271091.06 +6-1-2019 02:00,1257767.92,585480.72,292740.36 +6-1-2019 03:00,1584634.56,737634.56,368817.28 +6-1-2019 04:00,1840542.4,856757.36,428378.68 +6-1-2019 05:00,1995682.24,928973.84,464486.92 +6-1-2019 06:00,2204609.44,1026227.68,513113.84 +6-1-2019 07:00,3906923.84,1818641.28,909320.64 +6-1-2019 08:00,7381353.6,3435959.68,1717979.84 +6-1-2019 09:00,14647691.52,6818381.44,3409190.72 +6-1-2019 10:00,14756840.96,6869189.76,3434594.88 +6-1-2019 11:00,6735914.24,3135512.96,1567756.48 +6-1-2019 12:00,6221980.8,2896281.6,1448140.8 +6-1-2019 13:00,4460099.2,2076139.84,1038069.92 +6-1-2019 14:00,4081480.64,1899895.84,949947.92 +6-1-2019 15:00,5711524.48,2658668.0,1329334 +6-1-2019 16:00,6036277.12,2809837.76,1404918.88 +6-1-2019 17:00,6092220.16,2835878.72,1417939.36 +6-1-2019 18:00,6123233.28,2850315.2,1425157.6 +6-1-2019 19:00,6153299.2,2864310.4,1432155.2 +6-1-2019 20:00,6149671.04,2862621.44,1431310.72 +6-1-2019 21:00,4830539.2,2248576.64,1124288.32 +6-1-2019 22:00,2183443.84,1016375.36,508187.68 +6-1-2019 23:00,1278515.36,595138.56,297569.28 +7-1-2019 00:00,1356501.76,631440.48,315720.24 +7-1-2019 01:00,1452761.92,676248.8,338124.4 +7-1-2019 02:00,1879069.44,874691.44,437345.72 +7-1-2019 03:00,2216936.96,1031966.08,515983.04 +7-1-2019 04:00,2396582.24,1115589.6,557794.8 +7-1-2019 05:00,2397760.8,1116138.16,558069.08 +7-1-2019 06:00,2501497.6,1164426.64,582213.32 +7-1-2019 07:00,7181863.68,3343098.88,1671549.44 +7-1-2019 08:00,7932172.8,3692361.6,1846180.8 +7-1-2019 09:00,11452536.32,5331062.08,2665531.04 +7-1-2019 10:00,9000189.44,4189515.2,2094757.6 +7-1-2019 11:00,3724617.28,1733778.88,866889.44 +7-1-2019 12:00,4196126.08,1953262.56,976631.28 +7-1-2019 13:00,3409183.04,1586946.88,793473.44 +7-1-2019 14:00,3099247.68,1442674.4,721337.2 +7-1-2019 15:00,4951668.8,2304961.44,1152480.72 +7-1-2019 16:00,5827751.68,2712770.88,1356385.44 +7-1-2019 17:00,4932884.8,2296217.6,1148108.8 +7-1-2019 18:00,13316524.8,6198734.08,3099367.04 +7-1-2019 19:00,9135178.88,4252351.04,2126175.52 +7-1-2019 20:00,5737483.52,2670751.68,1335375.84 +7-1-2019 21:00,5502136.96,2561200.16,1280600.08 +7-1-2019 22:00,2844381.44,1324036.64,662018.32 +7-1-2019 23:00,933135.92,434367.16,217183.58 +8-1-2019 00:00,942613.28,438778.8,219389.4 +8-1-2019 01:00,948110.0,441337.48,220668.74 +8-1-2019 02:00,950164.56,442293.84,221146.92 +8-1-2019 03:00,970647.76,451828.6,225914.3 +8-1-2019 04:00,1353082.88,629849.08,314924.54 +8-1-2019 05:00,1690957.28,787126.8,393563.4 +8-1-2019 06:00,2097293.76,976273.12,488136.56 +8-1-2019 07:00,5944536.96,2767133.44,1383566.72 +8-1-2019 08:00,7281105.28,3389295.04,1694647.52 +8-1-2019 09:00,10928808.96,5087270.4,2543635.2 +8-1-2019 10:00,8304663.04,3865752.96,1932876.48 +8-1-2019 11:00,3247419.2,1511647.2,755823.6 +8-1-2019 12:00,3976112.0,1850847.68,925423.84 +8-1-2019 13:00,3283793.28,1528578.88,764289.44 +8-1-2019 14:00,3081005.76,1434183.04,717091.52 +8-1-2019 15:00,4934633.92,2297031.68,1148515.84 +8-1-2019 16:00,5827914.88,2712847.04,1356423.52 +8-1-2019 17:00,4920701.76,2290546.56,1145273.28 +8-1-2019 18:00,13335234.56,6207442.56,3103721.28 +8-1-2019 19:00,9164317.44,4265914.88,2132957.44 +8-1-2019 20:00,6055838.08,2818943.36,1409471.68 +8-1-2019 21:00,6034419.2,2808972.8,1404486.4 +8-1-2019 22:00,3305258.56,1538570.88,769285.44 +8-1-2019 23:00,1052902.0,490117.2,245058.6 +9-1-2019 00:00,1105337.76,514525.76,257262.88 +9-1-2019 01:00,1073568.08,499737.2,249868.6 +9-1-2019 02:00,1110560.32,516956.8,258478.4 +9-1-2019 03:00,1452865.6,676297.12,338148.56 +9-1-2019 04:00,1952465.92,908856.96,454428.48 +9-1-2019 05:00,2197260.32,1022806.72,511403.36 +9-1-2019 06:00,2519040.96,1172593.12,586296.56 +9-1-2019 07:00,6885667.2,3205222.08,1602611.04 +9-1-2019 08:00,7942564.48,3697199.04,1848599.52 +9-1-2019 09:00,11581642.24,5391159.68,2695579.84 +9-1-2019 10:00,8972309.76,4176536.64,2088268.32 +9-1-2019 11:00,3844569.92,1789616.0,894808 +9-1-2019 12:00,4333491.2,2017204.8,1008602.4 +9-1-2019 13:00,3390098.88,1578063.52,789031.76 +9-1-2019 14:00,2985149.44,1389562.72,694781.36 +9-1-2019 15:00,5206202.24,2423444.64,1211722.32 +9-1-2019 16:00,6210005.12,2890706.56,1445353.28 +9-1-2019 17:00,5409368.32,2518016.8,1259008.4 +9-1-2019 18:00,13697621.76,6376131.2,3188065.6 +9-1-2019 19:00,9876176.64,4597279.36,2298639.68 +9-1-2019 20:00,6648278.4,3094719.36,1547359.68 +9-1-2019 21:00,6395737.6,2977163.52,1488581.76 +9-1-2019 22:00,3453124.8,1607401.44,803700.72 +9-1-2019 23:00,1164100.8,541879.44,270939.72 +10-1-2019 00:00,1155565.52,537906.32,268953.16 +10-1-2019 01:00,1181928.08,550177.92,275088.96 +10-1-2019 02:00,1371756.16,638541.24,319270.62 +10-1-2019 03:00,2164310.24,1007468.72,503734.36 +10-1-2019 04:00,2472293.76,1150832.48,575416.24 +10-1-2019 05:00,2667600.16,1241746.08,620873.04 +10-1-2019 06:00,2959947.52,1377831.36,688915.68 +10-1-2019 07:00,7847393.28,3652897.28,1826448.64 +10-1-2019 08:00,8447578.24,3932279.04,1966139.52 +10-1-2019 09:00,12149707.52,5655589.12,2827794.56 +10-1-2019 10:00,9921689.6,4618465.28,2309232.64 +10-1-2019 11:00,4531803.84,2109517.6,1054758.8 +10-1-2019 12:00,4940878.08,2299938.4,1149969.2 +10-1-2019 13:00,4000196.8,1862058.88,931029.44 +10-1-2019 14:00,3705639.04,1724944.96,862472.48 +10-1-2019 15:00,5701474.56,2653990.24,1326995.12 +10-1-2019 16:00,6659916.16,3100136.32,1550068.16 +10-1-2019 17:00,5901445.12,2747074.56,1373537.28 +10-1-2019 18:00,13999185.92,6516506.24,3258253.12 +10-1-2019 19:00,10385602.56,4834413.12,2417206.56 +10-1-2019 20:00,7428796.8,3458044.16,1729022.08 +10-1-2019 21:00,6826182.4,3177532.48,1588766.24 +10-1-2019 22:00,3667818.24,1707339.52,853669.76 +10-1-2019 23:00,1214790.64,565475.16,282737.58 +11-1-2019 00:00,1183762.24,551031.6,275515.8 +11-1-2019 01:00,1174136.72,546551.08,273275.54 +11-1-2019 02:00,1190733.28,554276.6,277138.3 +11-1-2019 03:00,1871935.2,871370.64,435685.32 +11-1-2019 04:00,2148476.0,1000098.0,500049 +11-1-2019 05:00,2265131.04,1054400.0,527200 +11-1-2019 06:00,2506736.32,1166865.36,583432.68 +11-1-2019 07:00,6959536.0,3239607.36,1619803.68 +11-1-2019 08:00,7762630.4,3613441.28,1806720.64 +11-1-2019 09:00,11492166.4,5349509.12,2674754.56 +11-1-2019 10:00,8874597.76,4131052.16,2065526.08 +11-1-2019 11:00,3852286.72,1793208.16,896604.08 +11-1-2019 12:00,4298942.72,2001122.88,1000561.44 +11-1-2019 13:00,3610694.08,1680748.64,840374.32 +11-1-2019 14:00,3248645.12,1512217.76,756108.88 +11-1-2019 15:00,5228581.12,2433862.08,1216931.04 +11-1-2019 16:00,6106314.24,2842439.36,1421219.68 +11-1-2019 17:00,5216859.84,2428405.44,1214202.72 +11-1-2019 18:00,13536138.24,6300961.92,3150480.96 +11-1-2019 19:00,9665602.56,4499259.2,2249629.6 +11-1-2019 20:00,6639913.6,3090825.6,1545412.8 +11-1-2019 21:00,6212702.08,2891962.24,1445981.12 +11-1-2019 22:00,3300761.6,1536477.6,768238.8 +11-1-2019 23:00,1088994.24,506918.0,253459 +12-1-2019 00:00,1070736.24,498419.04,249209.52 +12-1-2019 01:00,1069069.44,497643.12,248821.56 +12-1-2019 02:00,1058836.08,492879.48,246439.74 +12-1-2019 03:00,1294186.24,602433.16,301216.58 +12-1-2019 04:00,1697683.52,790257.84,395128.92 +12-1-2019 05:00,2033263.36,946467.44,473233.72 +12-1-2019 06:00,2293404.32,1067561.04,533780.52 +12-1-2019 07:00,3995416.0,1859833.6,929916.8 +12-1-2019 08:00,7424802.56,3456184.96,1728092.48 +12-1-2019 09:00,14529287.68,6763264.64,3381632.32 +12-1-2019 10:00,14413157.12,6709208.32,3354604.16 +12-1-2019 11:00,6850106.88,3188669.12,1594334.56 +12-1-2019 12:00,6235750.4,2902691.2,1451345.6 +12-1-2019 13:00,4365949.76,2032313.92,1016156.96 +12-1-2019 14:00,3875186.24,1803867.52,901933.76 +12-1-2019 15:00,5549116.16,2583068.32,1291534.16 +12-1-2019 16:00,5891295.36,2742349.76,1371174.88 +12-1-2019 17:00,5921742.72,2756522.88,1378261.44 +12-1-2019 18:00,5962901.76,2775682.24,1387841.12 +12-1-2019 19:00,5967695.36,2777913.28,1388956.64 +12-1-2019 20:00,5938584.32,2764362.24,1382181.12 +12-1-2019 21:00,4603273.92,2142786.4,1071393.2 +12-1-2019 22:00,2024957.44,942601.2,471300.6 +12-1-2019 23:00,1162486.48,541128.0,270564 +13-1-2019 00:00,1135632.8,528627.76,264313.88 +13-1-2019 01:00,1145574.24,533255.36,266627.68 +13-1-2019 02:00,1137462.32,529479.36,264739.68 +13-1-2019 03:00,1496522.24,696618.8,348309.4 +13-1-2019 04:00,1697621.76,790229.12,395114.56 +13-1-2019 05:00,1855097.12,863532.56,431766.28 +13-1-2019 06:00,1999788.96,930885.52,465442.76 +13-1-2019 07:00,3672088.96,1709327.68,854663.84 +13-1-2019 08:00,7052546.56,3282902.72,1641451.36 +13-1-2019 09:00,13850580.48,6447331.84,3223665.92 +13-1-2019 10:00,12953493.76,6029745.92,3014872.96 +13-1-2019 11:00,6196945.28,2884627.52,1442313.76 +13-1-2019 12:00,5660392.32,2634866.4,1317433.2 +13-1-2019 13:00,3878209.28,1805274.72,902637.36 +13-1-2019 14:00,3461167.36,1611145.12,805572.56 +13-1-2019 15:00,5094056.64,2371241.92,1185620.96 +13-1-2019 16:00,5396810.24,2512171.2,1256085.6 +13-1-2019 17:00,5389432.96,2508737.12,1254368.56 +13-1-2019 18:00,5732724.48,2668536.64,1334268.32 +13-1-2019 19:00,5632818.56,2622031.04,1311015.52 +13-1-2019 20:00,5640456.96,2625586.88,1312793.44 +13-1-2019 21:00,4357089.92,2028189.76,1014094.88 +13-1-2019 22:00,1941955.52,903964.4,451982.2 +13-1-2019 23:00,1122023.52,522292.8,261146.4 +14-1-2019 00:00,1110389.52,516877.24,258438.62 +14-1-2019 01:00,1181588.72,550020.0,275010 +14-1-2019 02:00,1214222.32,565210.56,282605.28 +14-1-2019 03:00,1572537.28,732003.28,366001.64 +14-1-2019 04:00,1812844.96,843864.56,421932.28 +14-1-2019 05:00,2062481.76,960068.4,480034.2 +14-1-2019 06:00,2338801.44,1088692.96,544346.48 +14-1-2019 07:00,6409904.0,2983758.08,1491879.04 +14-1-2019 08:00,7605504.64,3540300.48,1770150.24 +14-1-2019 09:00,11218941.44,5222325.76,2611162.88 +14-1-2019 10:00,8143491.84,3790729.28,1895364.64 +14-1-2019 11:00,2725314.56,1268611.6,634305.8 +14-1-2019 12:00,4073821.44,1896330.56,948165.28 +14-1-2019 13:00,2932927.36,1365253.6,682626.8 +14-1-2019 14:00,3127312.32,1455738.08,727869.04 +14-1-2019 15:00,5072088.32,2361015.68,1180507.84 +14-1-2019 16:00,6151253.76,2863358.72,1431679.36 +14-1-2019 17:00,5466520.96,2544620.64,1272310.32 +14-1-2019 18:00,13740419.84,6396053.76,3198026.88 +14-1-2019 19:00,9541318.4,4441406.4,2220703.2 +14-1-2019 20:00,6601058.56,3072739.2,1536369.6 +14-1-2019 21:00,6388674.56,2973875.84,1486937.92 +14-1-2019 22:00,3429698.56,1596496.64,798248.32 +14-1-2019 23:00,1196324.24,556879.16,278439.58 +15-1-2019 00:00,1191913.68,554826.12,277413.06 +15-1-2019 01:00,1182922.24,550640.64,275320.32 +15-1-2019 02:00,1337127.84,622422.2,311211.1 +15-1-2019 03:00,1907442.08,887898.72,443949.36 +15-1-2019 04:00,2154677.44,1002984.8,501492.4 +15-1-2019 05:00,2316741.44,1078424.16,539212.08 +15-1-2019 06:00,2597936.8,1209318.64,604659.32 +15-1-2019 07:00,6897541.76,3210749.76,1605374.88 +15-1-2019 08:00,7723200.0,3595086.4,1797543.2 +15-1-2019 09:00,11421817.6,5316763.2,2658381.6 +15-1-2019 10:00,8808099.84,4100098.56,2050049.28 +15-1-2019 11:00,3798894.08,1768354.08,884177.04 +15-1-2019 12:00,4332373.12,2016684.64,1008342.32 +15-1-2019 13:00,3497129.92,1627885.44,813942.72 +15-1-2019 14:00,3104320.96,1445036.0,722518 +15-1-2019 15:00,4955580.48,2306782.72,1153391.36 +15-1-2019 16:00,5822488.32,2710320.64,1355160.32 +15-1-2019 17:00,4920913.6,2290644.96,1145322.48 +15-1-2019 18:00,13311449.6,6196371.2,3098185.6 +15-1-2019 19:00,9216096.64,4290017.6,2145008.8 +15-1-2019 20:00,5915884.16,2753795.84,1376897.92 +15-1-2019 21:00,5832414.08,2714941.44,1357470.72 +15-1-2019 22:00,3112571.2,1448876.64,724438.32 +15-1-2019 23:00,1031113.76,479975.08,239987.54 +16-1-2019 00:00,1009013.6,469687.6,234843.8 +16-1-2019 01:00,999800.08,465398.8,232699.4 +16-1-2019 02:00,996089.28,463671.4,231835.7 +16-1-2019 03:00,1054564.96,490891.32,245445.66 +16-1-2019 04:00,1544531.52,718966.88,359483.44 +16-1-2019 05:00,1904485.28,886522.4,443261.2 +16-1-2019 06:00,2241476.8,1043389.28,521694.64 +16-1-2019 07:00,6136784.0,2856623.04,1428311.52 +16-1-2019 08:00,7505427.84,3493715.2,1746857.6 +16-1-2019 09:00,11246621.44,5235210.88,2617605.44 +16-1-2019 10:00,8477599.36,3946253.44,1973126.72 +16-1-2019 11:00,3660740.8,1704044.96,852022.48 +16-1-2019 12:00,4325594.24,2013528.64,1006764.32 +16-1-2019 13:00,3560223.68,1657255.2,828627.6 +16-1-2019 14:00,3240044.48,1508214.4,754107.2 +16-1-2019 15:00,5250130.88,2443893.28,1221946.64 +16-1-2019 16:00,6126405.12,2851791.68,1425895.84 +16-1-2019 17:00,5205260.16,2423006.08,1211503.04 +16-1-2019 18:00,13630238.72,6344765.44,3172382.72 +16-1-2019 19:00,9793482.24,4558786.24,2279393.12 +16-1-2019 20:00,6346493.44,2954241.6,1477120.8 +16-1-2019 21:00,6175809.28,2874788.8,1437394.4 +16-1-2019 22:00,3347683.2,1558319.36,779159.68 +16-1-2019 23:00,1139522.48,530438.36,265219.18 +17-1-2019 00:00,1130178.56,526088.88,263044.44 +17-1-2019 01:00,1119316.16,521032.52,260516.26 +17-1-2019 02:00,1134232.56,527976.0,263988 +17-1-2019 03:00,1561029.44,726646.48,363323.24 +17-1-2019 04:00,2096919.2,976098.72,488049.36 +17-1-2019 05:00,2334123.52,1086515.52,543257.76 +17-1-2019 06:00,2628847.2,1223706.8,611853.4 +17-1-2019 07:00,7003160.96,3259914.24,1629957.12 +17-1-2019 08:00,8011117.44,3729109.76,1864554.88 +17-1-2019 09:00,11826352.64,5505070.08,2752535.04 +17-1-2019 10:00,9313141.76,4335191.36,2167595.68 +17-1-2019 11:00,4287256.32,1995683.04,997841.52 +17-1-2019 12:00,4740679.04,2206747.36,1103373.68 +17-1-2019 13:00,4300184.0,2001700.96,1000850.48 +17-1-2019 14:00,2968248.96,1381695.84,690847.92 +17-1-2019 15:00,5801486.08,2700544.32,1350272.16 +17-1-2019 16:00,6834886.4,3181584.32,1590792.16 +17-1-2019 17:00,6166065.92,2870253.12,1435126.56 +17-1-2019 18:00,14199142.4,6609585.92,3304792.96 +17-1-2019 19:00,10717444.48,4988883.2,2494441.6 +17-1-2019 20:00,7679823.36,3574895.36,1787447.68 +17-1-2019 21:00,7161619.84,3333675.52,1666837.76 +17-1-2019 22:00,3800563.52,1769131.2,884565.6 +17-1-2019 23:00,1317746.96,613400.4,306700.2 +18-1-2019 00:00,1328351.6,618336.8,309168.4 +18-1-2019 01:00,1455617.76,677578.24,338789.12 +18-1-2019 02:00,2106557.44,980585.28,490292.64 +18-1-2019 03:00,2832210.24,1318370.88,659185.44 +18-1-2019 04:00,3206794.56,1492736.8,746368.4 +18-1-2019 05:00,3408682.56,1586713.92,793356.96 +18-1-2019 06:00,3783234.24,1761064.64,880532.32 +18-1-2019 07:00,9266725.76,4313584.96,2156792.48 +18-1-2019 08:00,9504688.64,4424354.88,2212177.44 +18-1-2019 09:00,13046868.48,6073210.88,3036605.44 +18-1-2019 10:00,9962768.64,4637587.52,2318793.76 +18-1-2019 11:00,4716070.4,2195292.16,1097646.08 +18-1-2019 12:00,5322159.04,2477421.6,1238710.8 +18-1-2019 13:00,4419307.52,2057151.68,1028575.84 +18-1-2019 14:00,4106210.88,1911407.52,955703.76 +18-1-2019 15:00,6417064.32,2987091.2,1493545.6 +18-1-2019 16:00,7522775.68,3501790.4,1750895.2 +18-1-2019 17:00,6818311.04,3173868.48,1586934.24 +18-1-2019 18:00,14799843.84,6889207.04,3444603.52 +18-1-2019 19:00,11523237.12,5363973.12,2681986.56 +18-1-2019 20:00,8686659.2,4043568.64,2021784.32 +18-1-2019 21:00,8020067.2,3733275.84,1866637.92 +18-1-2019 22:00,4353365.12,2026456.0,1013228 +18-1-2019 23:00,1482577.6,690127.92,345063.96 +19-1-2019 00:00,1528290.72,711406.88,355703.44 +19-1-2019 01:00,1792907.36,834583.68,417291.84 +19-1-2019 02:00,2573970.24,1198162.24,599081.12 +19-1-2019 03:00,3082662.08,1434954.08,717477.04 +19-1-2019 04:00,3397114.88,1581329.28,790664.64 +19-1-2019 05:00,3684952.64,1715315.36,857657.68 +19-1-2019 06:00,4063023.04,1891304.16,945652.08 +19-1-2019 07:00,6045300.48,2814037.76,1407018.88 +19-1-2019 08:00,9830235.52,4575894.4,2287947.2 +19-1-2019 09:00,17167482.88,7991322.88,3995661.44 +19-1-2019 10:00,16864152.32,7850125.44,3925062.72 +19-1-2019 11:00,8852243.84,4120647.36,2060323.68 +19-1-2019 12:00,8419988.48,3919435.52,1959717.76 +19-1-2019 13:00,6393329.92,2976043.2,1488021.6 +19-1-2019 14:00,5735404.16,2669784.0,1334892 +19-1-2019 15:00,7474744.32,3479432.32,1739716.16 +19-1-2019 16:00,7958530.56,3704630.72,1852315.36 +19-1-2019 17:00,8250739.2,3840651.84,1920325.92 +19-1-2019 18:00,8415101.44,3917160.96,1958580.48 +19-1-2019 19:00,8508921.6,3960833.6,1980416.8 +19-1-2019 20:00,8623623.04,4014225.92,2007112.96 +19-1-2019 21:00,6793682.56,3162403.84,1581201.92 +19-1-2019 22:00,3189682.88,1484771.36,742385.68 +19-1-2019 23:00,1970587.04,917292.24,458646.12 +20-1-2019 00:00,2160936.0,1005898.16,502949.08 +20-1-2019 01:00,2892512.0,1346440.64,673220.32 +20-1-2019 02:00,3420238.4,1592092.96,796046.48 +20-1-2019 03:00,3841136.64,1788017.76,894008.88 +20-1-2019 04:00,4154277.44,1933782.24,966891.12 +20-1-2019 05:00,4608690.56,2145307.36,1072653.68 +20-1-2019 06:00,5126993.6,2386573.92,1193286.96 +20-1-2019 07:00,6979143.68,3248734.4,1624367.2 +20-1-2019 08:00,10779976.96,5017991.36,2508995.68 +20-1-2019 09:00,17449228.8,8122474.24,4061237.12 +20-1-2019 10:00,17348712.96,8075685.12,4037842.56 +20-1-2019 11:00,8813739.52,4102723.52,2051361.76 +20-1-2019 12:00,7868910.08,3662913.28,1831456.64 +20-1-2019 13:00,5115839.36,2381381.28,1190690.64 +20-1-2019 14:00,4257354.56,1981763.84,990881.92 +20-1-2019 15:00,7305267.84,3400542.4,1700271.2 +20-1-2019 16:00,8389572.48,3905277.44,1952638.72 +20-1-2019 17:00,8619366.4,4012244.48,2006122.24 +20-1-2019 18:00,8941973.76,4162415.68,2081207.84 +20-1-2019 19:00,8928072.96,4155945.28,2077972.64 +20-1-2019 20:00,9076551.04,4225060.16,2112530.08 +20-1-2019 21:00,7334686.08,3414236.48,1707118.24 +20-1-2019 22:00,3548845.44,1651958.72,825979.36 +20-1-2019 23:00,2197649.44,1022987.84,511493.92 +21-1-2019 00:00,2676164.8,1245732.88,622866.44 +21-1-2019 01:00,3475711.36,1617915.36,808957.68 +21-1-2019 02:00,4035377.28,1878435.04,939217.52 +21-1-2019 03:00,4475569.28,2083341.12,1041670.56 +21-1-2019 04:00,4901733.44,2281716.48,1140858.24 +21-1-2019 05:00,5560789.12,2588502.24,1294251.12 +21-1-2019 06:00,6084054.4,2832077.76,1416038.88 +21-1-2019 07:00,11845944.32,5514190.72,2757095.36 +21-1-2019 08:00,11812486.4,5498615.68,2749307.84 +21-1-2019 09:00,14467623.68,6734560.64,3367280.32 +21-1-2019 10:00,10961319.68,5102404.8,2551202.4 +21-1-2019 11:00,7005088.64,3260811.52,1630405.76 +21-1-2019 12:00,6639622.4,3090690.56,1545345.28 +21-1-2019 13:00,5205451.52,2423095.52,1211547.76 +21-1-2019 14:00,4820515.52,2243910.88,1121955.44 +21-1-2019 15:00,7157372.8,3331698.88,1665849.44 +21-1-2019 16:00,8317931.52,3871929.28,1935964.64 +21-1-2019 17:00,7719309.44,3593275.52,1796637.76 +21-1-2019 18:00,15384613.12,7161411.84,3580705.92 +21-1-2019 19:00,12248296.96,5701482.24,2850741.12 +21-1-2019 20:00,9399642.88,4375456.96,2187728.48 +21-1-2019 21:00,8472085.76,3943687.36,1971843.68 +21-1-2019 22:00,4664757.44,2171406.24,1085703.12 +21-1-2019 23:00,1657069.92,771352.56,385676.28 +22-1-2019 00:00,1992099.52,927306.0,463653 +22-1-2019 01:00,2392684.64,1113775.12,556887.56 +22-1-2019 02:00,3333879.04,1551893.6,775946.8 +22-1-2019 03:00,3824854.4,1780438.4,890219.2 +22-1-2019 04:00,4101508.8,1909219.04,954609.52 +22-1-2019 05:00,4368300.16,2033408.0,1016704 +22-1-2019 06:00,5033036.16,2342837.44,1171418.72 +22-1-2019 07:00,10855175.68,5052995.52,2526497.76 +22-1-2019 08:00,10869589.76,5059704.96,2529852.48 +22-1-2019 09:00,14326703.36,6668963.2,3334481.6 +22-1-2019 10:00,12036120.32,5602716.16,2801358.08 +22-1-2019 11:00,7752258.56,3608613.12,1804306.56 +22-1-2019 12:00,7703017.6,3585691.52,1792845.76 +22-1-2019 13:00,6498812.8,3025143.68,1512571.84 +22-1-2019 14:00,5962558.08,2775522.24,1387761.12 +22-1-2019 15:00,8183340.16,3809278.4,1904639.2 +22-1-2019 16:00,9085242.88,4229106.88,2114553.44 +22-1-2019 17:00,8289671.68,3858774.4,1929387.2 +22-1-2019 18:00,15702362.88,7309322.24,3654661.12 +22-1-2019 19:00,12642471.68,5884967.68,2942483.84 +22-1-2019 20:00,9740232.32,4533999.04,2266999.52 +22-1-2019 21:00,8776546.56,4085410.24,2042705.12 +22-1-2019 22:00,4790515.52,2229946.08,1114973.04 +22-1-2019 23:00,1666176.8,775591.76,387795.88 +23-1-2019 00:00,1940317.28,903201.84,451600.92 +23-1-2019 01:00,2236831.84,1041226.96,520613.48 +23-1-2019 02:00,3116720.32,1450807.84,725403.92 +23-1-2019 03:00,3570700.48,1662132.0,831066 +23-1-2019 04:00,3900742.4,1815763.84,907881.92 +23-1-2019 05:00,4171168.0,1941644.48,970822.24 +23-1-2019 06:00,4881736.96,2272408.64,1136204.32 +23-1-2019 07:00,10876433.92,5062891.2,2531445.6 +23-1-2019 08:00,11099845.12,5166887.36,2583443.68 +23-1-2019 09:00,14434045.44,6718929.92,3359464.96 +23-1-2019 10:00,12052844.8,5610501.12,2805250.56 +23-1-2019 11:00,7510311.04,3495988.48,1747994.24 +23-1-2019 12:00,7509431.68,3495579.2,1747789.6 +23-1-2019 13:00,6357091.84,2959174.72,1479587.36 +23-1-2019 14:00,5808557.44,2703836.16,1351918.08 +23-1-2019 15:00,8025854.72,3735969.6,1867984.8 +23-1-2019 16:00,8976298.88,4178393.6,2089196.8 +23-1-2019 17:00,8216389.76,3824662.4,1912331.2 +23-1-2019 18:00,15692970.24,7304949.12,3652474.56 +23-1-2019 19:00,12651923.2,5889367.04,2944683.52 +23-1-2019 20:00,9818730.24,4570539.2,2285269.6 +23-1-2019 21:00,8898013.44,4141952.64,2070976.32 +23-1-2019 22:00,4863016.96,2263694.88,1131847.44 +23-1-2019 23:00,1708315.04,795206.8,397603.4 +24-1-2019 00:00,1979642.08,921507.2,460753.6 +24-1-2019 01:00,2367493.44,1102048.8,551024.4 +24-1-2019 02:00,3294138.24,1533394.4,766697.2 +24-1-2019 03:00,3796888.96,1767420.8,883710.4 +24-1-2019 04:00,4115660.16,1915805.92,957902.96 +24-1-2019 05:00,4420542.08,2057726.56,1028863.28 +24-1-2019 06:00,5205513.6,2423124.0,1211562 +24-1-2019 07:00,11167590.4,5198422.4,2599211.2 +24-1-2019 08:00,11096576.0,5165365.12,2582682.56 +24-1-2019 09:00,14586152.96,6789735.04,3394867.52 +24-1-2019 10:00,12289852.16,5720824.96,2860412.48 +24-1-2019 11:00,7905194.88,3679803.52,1839901.76 +24-1-2019 12:00,7759692.8,3612073.92,1806036.96 +24-1-2019 13:00,6563793.28,3055392.0,1527696 +24-1-2019 14:00,5834616.96,2715966.4,1357983.2 +24-1-2019 15:00,8322594.56,3874100.16,1937050.08 +24-1-2019 16:00,9271957.76,4316021.12,2158010.56 +24-1-2019 17:00,8520312.32,3966136.32,1983068.16 +24-1-2019 18:00,15913628.16,7407664.0,3703832 +24-1-2019 19:00,13023692.8,6062423.04,3031211.52 +24-1-2019 20:00,10202227.84,4749053.12,2374526.56 +24-1-2019 21:00,9200542.72,4282778.24,2141389.12 +24-1-2019 22:00,5042889.6,2347424.0,1173712 +24-1-2019 23:00,1799316.48,837567.04,418783.52 +25-1-2019 00:00,2064018.08,960783.6,480391.8 +25-1-2019 01:00,2539804.64,1182258.32,591129.16 +25-1-2019 02:00,3470759.04,1615609.92,807804.96 +25-1-2019 03:00,3951354.88,1839323.52,919661.76 +25-1-2019 04:00,4247012.16,1976949.6,988474.8 +25-1-2019 05:00,4635447.68,2157763.2,1078881.6 +25-1-2019 06:00,5453411.84,2538518.72,1269259.36 +25-1-2019 07:00,11508199.68,5356973.12,2678486.56 +25-1-2019 08:00,11232279.04,5228534.08,2614267.04 +25-1-2019 09:00,14615080.96,6803200.64,3401600.32 +25-1-2019 10:00,12365045.76,5755827.84,2877913.92 +25-1-2019 11:00,7790858.24,3626580.8,1813290.4 +25-1-2019 12:00,7551356.16,3515094.4,1757547.2 +25-1-2019 13:00,6272133.12,2919626.88,1459813.44 +25-1-2019 14:00,5648896.0,2629514.88,1314757.44 +25-1-2019 15:00,7893543.68,3674380.16,1837190.08 +25-1-2019 16:00,8750568.32,4073318.72,2036659.36 +25-1-2019 17:00,7910511.36,3682278.72,1841139.36 +25-1-2019 18:00,15408692.48,7172621.44,3586310.72 +25-1-2019 19:00,12107313.92,5635856.64,2817928.32 +25-1-2019 20:00,9008221.44,4193253.76,2096626.88 +25-1-2019 21:00,7912542.72,3683224.0,1841612 +25-1-2019 22:00,4223797.44,1966143.04,983071.52 +25-1-2019 23:00,1370606.88,638006.28,319003.14 +26-1-2019 00:00,1351192.8,628969.16,314484.58 +26-1-2019 01:00,1344454.72,625832.72,312916.36 +26-1-2019 02:00,1836653.76,854947.28,427473.64 +26-1-2019 03:00,2511019.04,1168858.88,584429.44 +26-1-2019 04:00,2852884.16,1327994.4,663997.2 +26-1-2019 05:00,3034311.04,1412447.2,706223.6 +26-1-2019 06:00,3247479.36,1511675.04,755837.52 +26-1-2019 07:00,4925609.92,2292831.36,1146415.68 +26-1-2019 08:00,8629578.88,4016998.4,2008499.2 +26-1-2019 09:00,16129579.52,7508187.52,3754093.76 +26-1-2019 10:00,16686187.52,7767283.2,3883641.6 +26-1-2019 11:00,8629155.2,4016801.6,2008400.8 +26-1-2019 12:00,7866008.96,3661563.52,1830781.76 +26-1-2019 13:00,5775667.2,2688525.76,1344262.88 +26-1-2019 14:00,5029277.44,2341087.36,1170543.68 +26-1-2019 15:00,6829568.64,3179108.48,1589554.24 +26-1-2019 16:00,7202134.4,3352535.04,1676267.52 +26-1-2019 17:00,7309463.68,3402495.68,1701247.84 +26-1-2019 18:00,7300886.4,3398503.36,1699251.68 +26-1-2019 19:00,7345137.92,3419101.76,1709550.88 +26-1-2019 20:00,7231177.6,3366054.08,1683027.04 +26-1-2019 21:00,5660885.76,2635096.0,1317548 +26-1-2019 22:00,2527377.12,1176473.28,588236.64 +26-1-2019 23:00,1479710.24,688793.04,344396.52 +27-1-2019 00:00,1446440.0,673306.08,336653.04 +27-1-2019 01:00,1476659.84,687373.2,343686.6 +27-1-2019 02:00,2027063.52,943581.52,471790.76 +27-1-2019 03:00,2368782.88,1102649.2,551324.6 +27-1-2019 04:00,2580899.68,1201387.68,600693.84 +27-1-2019 05:00,2770545.92,1289666.4,644833.2 +27-1-2019 06:00,3009484.16,1400890.24,700445.12 +27-1-2019 07:00,4736758.4,2204922.4,1102461.2 +27-1-2019 08:00,8230198.4,3831090.24,1915545.12 +27-1-2019 09:00,15797589.76,7353649.28,3676824.64 +27-1-2019 10:00,15844641.28,7375551.36,3687775.68 +27-1-2019 11:00,8047811.2,3746190.08,1873095.04 +27-1-2019 12:00,7570471.04,3523992.64,1761996.32 +27-1-2019 13:00,5682660.48,2645232.48,1322616.24 +27-1-2019 14:00,4800598.72,2234639.84,1117319.92 +27-1-2019 15:00,6740357.76,3137581.44,1568790.72 +27-1-2019 16:00,7322864.64,3408733.76,1704366.88 +27-1-2019 17:00,7293393.28,3395015.04,1697507.52 +27-1-2019 18:00,7315222.4,3405176.64,1702588.32 +27-1-2019 19:00,7282464.0,3389927.68,1694963.84 +27-1-2019 20:00,7286887.68,3391986.56,1695993.28 +27-1-2019 21:00,5748352.64,2675811.04,1337905.52 +27-1-2019 22:00,2670469.28,1243081.68,621540.84 +27-1-2019 23:00,1578472.64,734766.16,367383.08 +28-1-2019 00:00,1543872.64,718660.16,359330.08 +28-1-2019 01:00,1661417.76,773376.4,386688.2 +28-1-2019 02:00,2173586.72,1011786.96,505893.48 +28-1-2019 03:00,2532624.48,1178916.0,589458 +28-1-2019 04:00,2750467.2,1280320.16,640160.08 +28-1-2019 05:00,2930124.16,1363949.12,681974.56 +28-1-2019 06:00,3228911.04,1503031.84,751515.92 +28-1-2019 07:00,8410057.6,3914813.12,1957406.56 +28-1-2019 08:00,8567203.2,3987962.88,1993981.44 +28-1-2019 09:00,12452271.36,5796430.72,2898215.36 +28-1-2019 10:00,10004760.96,4657134.4,2328567.2 +28-1-2019 11:00,4771424.96,2221059.04,1110529.52 +28-1-2019 12:00,5220098.56,2429913.28,1214956.64 +28-1-2019 13:00,4181358.4,1946388.16,973194.08 +28-1-2019 14:00,3386548.48,1576410.72,788205.36 +28-1-2019 15:00,6263879.68,2915784.96,1457892.48 +28-1-2019 16:00,7141613.44,3324362.88,1662181.44 +28-1-2019 17:00,6536645.76,3042755.52,1521377.76 +28-1-2019 18:00,14534086.4,6765498.24,3382749.12 +28-1-2019 19:00,11154091.52,5192138.24,2596069.12 +28-1-2019 20:00,8005043.2,3726282.24,1863141.12 +28-1-2019 21:00,7479156.48,3481486.08,1740743.04 +28-1-2019 22:00,4132582.08,1923683.04,961841.52 +28-1-2019 23:00,1407693.76,655269.96,327634.98 +29-1-2019 00:00,1409717.6,656212.08,328106.04 +29-1-2019 01:00,1611348.48,750069.52,375034.76 +29-1-2019 02:00,2179356.48,1014472.64,507236.32 +29-1-2019 03:00,2759863.36,1284694.0,642347 +29-1-2019 04:00,3141795.84,1462480.48,731240.24 +29-1-2019 05:00,3316747.52,1543918.88,771959.44 +29-1-2019 06:00,3648414.4,1698307.2,849153.6 +29-1-2019 07:00,9040228.48,4208152.96,2104076.48 +29-1-2019 08:00,9051585.28,4213439.04,2106719.52 +29-1-2019 09:00,12952403.2,6029238.4,3014619.2 +29-1-2019 10:00,10692032.0,4977053.76,2488526.88 +29-1-2019 11:00,5341162.24,2486267.36,1243133.68 +29-1-2019 12:00,5737355.52,2670692.16,1335346.08 +29-1-2019 13:00,4684695.36,2180687.52,1090343.76 +29-1-2019 14:00,4162088.96,1937418.56,968709.28 +29-1-2019 15:00,6564295.04,3055625.6,1527812.8 +29-1-2019 16:00,7649029.12,3560560.64,1780280.32 +29-1-2019 17:00,7017778.56,3266718.72,1633359.36 +29-1-2019 18:00,14853168.64,6914028.16,3457014.08 +29-1-2019 19:00,11453135.36,5331341.44,2665670.72 +29-1-2019 20:00,8491166.72,3952568.96,1976284.48 +29-1-2019 21:00,7752437.76,3608696.64,1804348.32 +29-1-2019 22:00,4265311.68,1985467.84,992733.92 +29-1-2019 23:00,1454453.12,677036.08,338518.04 +30-1-2019 00:00,1467782.56,683240.8,341620.4 +30-1-2019 01:00,1743720.64,811687.76,405843.88 +30-1-2019 02:00,2405653.12,1119811.76,559905.88 +30-1-2019 03:00,2988063.04,1390919.04,695459.52 +30-1-2019 04:00,3288958.4,1530983.36,765491.68 +30-1-2019 05:00,3501374.4,1629861.28,814930.64 +30-1-2019 06:00,3850185.92,1792230.08,896115.04 +30-1-2019 07:00,9439516.8,4394017.6,2197008.8 +30-1-2019 08:00,9473275.52,4409732.8,2204866.4 +30-1-2019 09:00,13259992.32,6172418.56,3086209.28 +30-1-2019 10:00,11012997.12,5126460.48,2563230.24 +30-1-2019 11:00,5641724.8,2626177.28,1313088.64 +30-1-2019 12:00,6243793.28,2906434.88,1453217.44 +30-1-2019 13:00,5098004.48,2373079.04,1186539.52 +30-1-2019 14:00,4513428.8,2100964.16,1050482.08 +30-1-2019 15:00,6991550.08,3254509.44,1627254.72 +30-1-2019 16:00,8028062.72,3736997.44,1868498.72 +30-1-2019 17:00,7364826.24,3428266.56,1714133.28 +30-1-2019 18:00,15048791.04,7005089.28,3502544.64 +30-1-2019 19:00,11758732.8,5473593.6,2736796.8 +30-1-2019 20:00,8851192.32,4120158.08,2060079.04 +30-1-2019 21:00,8037226.24,3741263.04,1870631.52 +30-1-2019 22:00,4357486.4,2028374.4,1014187.2 +30-1-2019 23:00,1464060.96,681508.56,340754.28 +31-1-2019 00:00,1515906.72,705642.24,352821.12 +31-1-2019 01:00,1748015.36,813686.96,406843.48 +31-1-2019 02:00,2468818.88,1149215.12,574607.56 +31-1-2019 03:00,3060393.92,1424588.48,712294.24 +31-1-2019 04:00,3434127.68,1598558.4,799279.2 +31-1-2019 05:00,3704323.52,1724332.32,862166.16 +31-1-2019 06:00,4242990.08,1975077.44,987538.72 +31-1-2019 07:00,9994224.64,4652229.44,2326114.72 +31-1-2019 08:00,9826007.04,4573925.76,2286962.88 +31-1-2019 09:00,13757029.12,6403784.96,3201892.48 +31-1-2019 10:00,11627010.56,5412278.4,2706139.2 +31-1-2019 11:00,6886119.04,3205432.32,1602716.16 +31-1-2019 12:00,7118565.12,3313634.24,1656817.12 +31-1-2019 13:00,5848460.16,2722410.56,1361205.28 +31-1-2019 14:00,5236263.68,2437438.24,1218719.12 +31-1-2019 15:00,7724035.84,3595475.84,1797737.92 +31-1-2019 16:00,8700119.04,4049834.88,2024917.44 +31-1-2019 17:00,7961412.48,3705972.8,1852986.4 +31-1-2019 18:00,15484499.2,7207907.84,3603953.92 +31-1-2019 19:00,12304101.12,5727458.56,2863729.28 +31-1-2019 20:00,9459624.96,4403378.88,2201689.44 +31-1-2019 21:00,8516831.36,3964515.52,1982257.76 +31-1-2019 22:00,4600004.48,2141264.64,1070632.32 +31-1-2019 23:00,1587492.8,738964.96,369482.48 +1-2-2019 00:00,1742624.8,811177.6,405588.8 +1-2-2019 01:00,2000196.96,931075.28,465537.64 +1-2-2019 02:00,2829504.0,1317111.12,658555.56 +1-2-2019 03:00,3291153.28,1532005.12,766002.56 +1-2-2019 04:00,3570810.88,1662183.36,831091.68 +1-2-2019 05:00,3848804.16,1791586.88,895793.44 +1-2-2019 06:00,4340254.4,2020352.96,1010176.48 +1-2-2019 07:00,10161537.28,4730113.28,2365056.64 +1-2-2019 08:00,10131071.36,4715931.2,2357965.6 +1-2-2019 09:00,13828602.88,6437101.44,3218550.72 +1-2-2019 10:00,11448898.56,5329368.64,2664684.32 +1-2-2019 11:00,6471004.8,3012200.32,1506100.16 +1-2-2019 12:00,6812118.4,3170985.28,1585492.64 +1-2-2019 13:00,5563220.48,2589633.6,1294816.8 +1-2-2019 14:00,4933297.92,2296409.92,1148204.96 +1-2-2019 15:00,7246883.2,3373365.12,1686682.56 +1-2-2019 16:00,8177740.16,3806671.68,1903335.84 +1-2-2019 17:00,7489809.92,3486445.44,1743222.72 +1-2-2019 18:00,15129053.44,7042450.56,3521225.28 +1-2-2019 19:00,11863139.84,5522194.56,2761097.28 +1-2-2019 20:00,8969994.88,4175459.84,2087729.92 +1-2-2019 21:00,8042246.4,3743600.0,1871800 +1-2-2019 22:00,4381239.68,2039431.52,1019715.76 +1-2-2019 23:00,1473085.92,685709.52,342854.76 +2-2-2019 00:00,1491456.0,694260.72,347130.36 +2-2-2019 01:00,1692943.52,788051.36,394025.68 +2-2-2019 02:00,2484185.6,1156368.16,578184.08 +2-2-2019 03:00,3040143.68,1415162.24,707581.12 +2-2-2019 04:00,3336520.0,1553122.88,776561.44 +2-2-2019 05:00,3544800.64,1650075.84,825037.92 +2-2-2019 06:00,3815576.0,1776119.52,888059.76 +2-2-2019 07:00,5758184.32,2680388.0,1340194 +2-2-2019 08:00,9471409.28,4408863.68,2204431.84 +2-2-2019 09:00,15696519.68,7306602.24,3653301.12 +2-2-2019 10:00,17158484.48,7987134.08,3993567.04 +2-2-2019 11:00,9813142.4,4567937.6,2283968.8 +2-2-2019 12:00,8719979.52,4059079.36,2029539.68 +2-2-2019 13:00,6570720.0,3058616.64,1529308.32 +2-2-2019 14:00,5755523.84,2679149.6,1339574.8 +2-2-2019 15:00,5773646.72,2687585.28,1343792.64 +2-2-2019 16:00,7997331.84,3722692.8,1861346.4 +2-2-2019 17:00,8116328.32,3778084.8,1889042.4 +2-2-2019 18:00,8212163.84,3822695.68,1911347.84 +2-2-2019 19:00,8254649.6,3842471.68,1921235.84 +2-2-2019 20:00,8227988.48,3830061.76,1915030.88 +2-2-2019 21:00,6597322.24,3070999.68,1535499.84 +2-2-2019 22:00,3004646.4,1398638.24,699319.12 +2-2-2019 23:00,1765808.16,821969.2,410984.6 +3-2-2019 00:00,1858557.28,865143.28,432571.64 +3-2-2019 01:00,2613413.6,1216522.8,608261.4 +3-2-2019 02:00,2966596.48,1380926.4,690463.2 +3-2-2019 03:00,3332135.36,1551081.76,775540.88 +3-2-2019 04:00,3663519.68,1705338.56,852669.28 +3-2-2019 05:00,4080484.8,1899432.48,949716.24 +3-2-2019 06:00,4417441.28,2056282.72,1028141.36 +3-2-2019 07:00,6556909.44,3052188.16,1526094.08 +3-2-2019 08:00,9881299.84,4599664.0,2299832 +3-2-2019 09:00,14658062.08,6823208.32,3411604.16 +3-2-2019 10:00,15399717.12,7168442.24,3584221.12 +3-2-2019 11:00,6970180.48,3244562.24,1622281.12 +3-2-2019 12:00,6982794.88,3250433.92,1625216.96 +3-2-2019 13:00,4306624.0,2004698.56,1002349.28 +3-2-2019 14:00,3202000.0,1490504.8,745252.4 +3-2-2019 15:00,4324304.32,2012928.32,1006464.16 +3-2-2019 16:00,7054693.12,3283901.76,1641950.88 +3-2-2019 17:00,7773204.48,3618363.2,1809181.6 +3-2-2019 18:00,8297395.2,3862370.24,1931185.12 +3-2-2019 19:00,8530507.52,3970881.28,1985440.64 +3-2-2019 20:00,8475591.04,3945317.76,1972658.88 +3-2-2019 21:00,6620359.04,3081722.88,1540861.44 +3-2-2019 22:00,2993464.0,1393433.12,696716.56 +3-2-2019 23:00,1814166.4,844479.68,422239.84 +4-2-2019 00:00,1805548.64,840468.24,420234.12 +4-2-2019 01:00,2488196.8,1158235.36,579117.68 +4-2-2019 02:00,2953704.32,1374925.28,687462.64 +4-2-2019 03:00,3322899.52,1546782.56,773391.28 +4-2-2019 04:00,3594964.16,1673426.56,836713.28 +4-2-2019 05:00,3879289.6,1805777.44,902888.72 +4-2-2019 06:00,4238205.44,1972850.4,986425.2 +4-2-2019 07:00,9842160.0,4581445.76,2290722.88 +4-2-2019 08:00,9520137.6,4431546.24,2215773.12 +4-2-2019 09:00,11735083.52,5462586.24,2731293.12 +4-2-2019 10:00,10722892.8,4991419.52,2495709.76 +4-2-2019 11:00,5432864.0,2528953.92,1264476.96 +4-2-2019 12:00,5991180.16,2788845.44,1394422.72 +4-2-2019 13:00,5102294.4,2375076.48,1187538.24 +4-2-2019 14:00,4521478.4,2104711.68,1052355.84 +4-2-2019 15:00,5111905.28,2379550.24,1189775.12 +4-2-2019 16:00,7892380.8,3673838.72,1836919.36 +4-2-2019 17:00,7177652.48,3341138.56,1670569.28 +4-2-2019 18:00,14914305.28,6942487.04,3471243.52 +4-2-2019 19:00,11507128.32,5356473.6,2678236.8 +4-2-2019 20:00,8470646.4,3943016.32,1971508.16 +4-2-2019 21:00,7715919.36,3591697.6,1795848.8 +4-2-2019 22:00,4181923.84,1946651.36,973325.68 +4-2-2019 23:00,1396760.64,650180.68,325090.34 +5-2-2019 00:00,1406901.6,654901.2,327450.6 +5-2-2019 01:00,1623727.68,755832.0,377916 +5-2-2019 02:00,2116102.24,985028.4,492514.2 +5-2-2019 03:00,2717404.16,1264929.68,632464.84 +5-2-2019 04:00,3018620.48,1405143.2,702571.6 +5-2-2019 05:00,3203236.16,1491080.32,745540.16 +5-2-2019 06:00,3518870.72,1638005.6,819002.8 +5-2-2019 07:00,8797966.72,4095381.44,2047690.72 +5-2-2019 08:00,8869998.72,4128912.0,2064456 +5-2-2019 09:00,11309898.24,5264664.96,2632332.48 +5-2-2019 10:00,10099155.2,4701074.56,2350537.28 +5-2-2019 11:00,5086311.68,2367636.64,1183818.32 +5-2-2019 12:00,5631034.24,2621200.48,1310600.24 +5-2-2019 13:00,4561241.6,2123220.96,1061610.48 +5-2-2019 14:00,3976564.16,1851058.24,925529.12 +5-2-2019 15:00,4525679.68,2106666.72,1053333.36 +5-2-2019 16:00,7271626.88,3384882.88,1692441.44 +5-2-2019 17:00,6599866.24,3072183.68,1536091.84 +5-2-2019 18:00,14463160.32,6732483.2,3366241.6 +5-2-2019 19:00,10907577.6,5077388.8,2538694.4 +5-2-2019 20:00,8062144.0,3752862.08,1876431.04 +5-2-2019 21:00,7449711.36,3467780.16,1733890.08 +5-2-2019 22:00,4030169.28,1876010.72,938005.36 +5-2-2019 23:00,1375382.4,640229.36,320114.68 +6-2-2019 00:00,1376666.72,640827.16,320413.58 +6-2-2019 01:00,1454961.6,677272.8,338636.4 +6-2-2019 02:00,2010083.68,935677.6,467838.8 +6-2-2019 03:00,2610216.48,1215034.56,607517.28 +6-2-2019 04:00,2897594.24,1348806.4,674403.2 +6-2-2019 05:00,3078160.0,1432858.4,716429.2 +6-2-2019 06:00,3430130.56,1596697.92,798348.96 +6-2-2019 07:00,8658341.76,4030387.84,2015193.92 +6-2-2019 08:00,8809266.56,4100642.24,2050321.12 +6-2-2019 09:00,11200590.08,5213783.36,2606891.68 +6-2-2019 10:00,9854990.08,4587417.6,2293708.8 +6-2-2019 11:00,4746038.72,2209242.24,1104621.12 +6-2-2019 12:00,5324691.84,2478600.32,1239300.16 +6-2-2019 13:00,4238676.16,1973069.28,986534.64 +6-2-2019 14:00,3625828.8,1687793.76,843896.88 +6-2-2019 15:00,4139197.76,1926762.88,963381.44 +6-2-2019 16:00,6860000.64,3193274.56,1596637.28 +6-2-2019 17:00,6204380.8,2888088.64,1444044.32 +6-2-2019 18:00,14164486.4,6593452.8,3296726.4 +6-2-2019 19:00,10475516.8,4876267.52,2438133.76 +6-2-2019 20:00,7446304.0,3466193.6,1733096.8 +6-2-2019 21:00,6788481.92,3159983.04,1579991.52 +6-2-2019 22:00,3613712.96,1682153.92,841076.96 +6-2-2019 23:00,1192224.72,554970.84,277485.42 +7-2-2019 00:00,1175496.96,547184.2,273592.1 +7-2-2019 01:00,1179309.92,548959.12,274479.56 +7-2-2019 02:00,1198525.84,557904.04,278952.02 +7-2-2019 03:00,1686566.56,785082.96,392541.48 +7-2-2019 04:00,2152786.4,1002104.4,501052.2 +7-2-2019 05:00,2325771.04,1082627.44,541313.72 +7-2-2019 06:00,2572038.08,1197262.72,598631.36 +7-2-2019 07:00,7068047.36,3290118.4,1645059.2 +7-2-2019 08:00,7834737.92,3647006.4,1823503.2 +7-2-2019 09:00,10207974.4,4751728.96,2375864.48 +7-2-2019 10:00,8235633.92,3833619.84,1916809.92 +7-2-2019 11:00,3584181.44,1668407.36,834203.68 +7-2-2019 12:00,4261219.84,1983563.04,991781.52 +7-2-2019 13:00,3125081.28,1454700.0,727350 +7-2-2019 14:00,2353459.68,1095516.48,547758.24 +7-2-2019 15:00,2116706.56,985309.76,492654.88 +7-2-2019 16:00,5769952.64,2685866.24,1342933.12 +7-2-2019 17:00,5316303.36,2474695.52,1237347.76 +7-2-2019 18:00,13733891.84,6393014.4,3196507.2 +7-2-2019 19:00,9930142.72,4622400.96,2311200.48 +7-2-2019 20:00,6697958.4,3117845.12,1558922.56 +7-2-2019 21:00,6552882.56,3050313.6,1525156.8 +7-2-2019 22:00,3522272.0,1639588.8,819794.4 +7-2-2019 23:00,1158960.72,539486.68,269743.34 +8-2-2019 00:00,1136395.52,528982.84,264491.42 +8-2-2019 01:00,1135573.36,528600.16,264300.08 +8-2-2019 02:00,1177925.28,548314.64,274157.32 +8-2-2019 03:00,1625091.04,756466.64,378233.32 +8-2-2019 04:00,2156252.0,1003717.68,501858.84 +8-2-2019 05:00,2365133.28,1100950.32,550475.16 +8-2-2019 06:00,2672172.16,1243874.24,621937.12 +8-2-2019 07:00,7107411.84,3308442.24,1654221.12 +8-2-2019 08:00,7766157.44,3615083.2,1807541.6 +8-2-2019 09:00,10042325.12,4674620.16,2337310.08 +8-2-2019 10:00,8083653.12,3762874.56,1881437.28 +8-2-2019 11:00,3481085.12,1620416.8,810208.4 +8-2-2019 12:00,4105146.56,1910912.32,955456.16 +8-2-2019 13:00,3141398.08,1462295.04,731147.52 +8-2-2019 14:00,2594456.0,1207698.24,603849.12 +8-2-2019 15:00,3061160.32,1424945.12,712472.56 +8-2-2019 16:00,5537873.28,2577834.72,1288917.36 +8-2-2019 17:00,4924610.24,2292365.92,1146182.96 +8-2-2019 18:00,13273818.88,6178854.4,3089427.2 +8-2-2019 19:00,9338440.32,4346967.36,2173483.68 +8-2-2019 20:00,6065105.28,2823256.96,1411628.48 +8-2-2019 21:00,5941983.36,2765944.96,1382972.48 +8-2-2019 22:00,3131820.8,1457836.96,728918.48 +8-2-2019 23:00,1016497.44,473171.24,236585.62 +9-2-2019 00:00,985563.76,458771.96,229385.98 +9-2-2019 01:00,981982.56,457104.88,228552.44 +9-2-2019 02:00,989396.64,460556.08,230278.04 +9-2-2019 03:00,1040338.24,484268.92,242134.46 +9-2-2019 04:00,1493721.6,695315.28,347657.64 +9-2-2019 05:00,1781342.24,829200.32,414600.16 +9-2-2019 06:00,2086644.0,971315.84,485657.92 +9-2-2019 07:00,3913549.44,1821725.28,910862.64 +9-2-2019 08:00,7171953.28,3338485.76,1669242.88 +9-2-2019 09:00,12391800.32,5768282.24,2884141.12 +9-2-2019 10:00,12278513.92,5715548.16,2857774.08 +9-2-2019 11:00,5858412.8,2727043.84,1363521.92 +9-2-2019 12:00,5347347.52,2489147.04,1244573.52 +9-2-2019 13:00,3209001.92,1493764.16,746882.08 +9-2-2019 14:00,2522839.04,1174361.12,587180.56 +9-2-2019 15:00,3003084.48,1397911.36,698955.68 +9-2-2019 16:00,5253496.0,2445459.68,1222729.84 +9-2-2019 17:00,5672730.24,2640609.44,1320304.72 +9-2-2019 18:00,5822619.52,2710381.76,1355190.88 +9-2-2019 19:00,5783319.68,2692088.32,1346044.16 +9-2-2019 20:00,5805612.8,2702465.28,1351232.64 +9-2-2019 21:00,4494816.96,2092300.32,1046150.16 +9-2-2019 22:00,1964391.2,914408.08,457204.04 +9-2-2019 23:00,1123730.72,523087.48,261543.74 +10-2-2019 00:00,1117051.28,519978.28,259989.14 +10-2-2019 01:00,1122052.96,522306.44,261153.22 +10-2-2019 02:00,1145660.8,533295.76,266647.88 +10-2-2019 03:00,1502294.08,699305.68,349652.84 +10-2-2019 04:00,1819788.8,847096.8,423548.4 +10-2-2019 05:00,2096487.04,975897.68,487948.84 +10-2-2019 06:00,2249890.08,1047305.52,523652.76 +10-2-2019 07:00,3872963.52,1802832.96,901416.48 +10-2-2019 08:00,6999758.72,3258330.56,1629165.28 +10-2-2019 09:00,12393538.56,5769090.56,2884545.28 +10-2-2019 10:00,12103301.12,5633988.48,2816994.24 +10-2-2019 11:00,5980261.76,2783763.2,1391881.6 +10-2-2019 12:00,5866130.56,2730635.84,1365317.92 +10-2-2019 13:00,3867060.8,1800085.28,900042.64 +10-2-2019 14:00,3267453.76,1520972.96,760486.48 +10-2-2019 15:00,3365705.92,1566708.8,783354.4 +10-2-2019 16:00,5882093.44,2738066.56,1369033.28 +10-2-2019 17:00,6240739.84,2905013.44,1452506.72 +10-2-2019 18:00,6489857.92,3020975.68,1510487.84 +10-2-2019 19:00,6598150.4,3071384.96,1535692.48 +10-2-2019 20:00,6548444.8,3048247.68,1524123.84 +10-2-2019 21:00,5034662.08,2343593.76,1171796.88 +10-2-2019 22:00,2288152.8,1065116.48,532558.24 +10-2-2019 23:00,1335417.36,621625.84,310812.92 +11-2-2019 00:00,1321171.52,614994.56,307497.28 +11-2-2019 01:00,1311714.88,610592.6,305296.3 +11-2-2019 02:00,1573574.72,732486.24,366243.12 +11-2-2019 03:00,1898879.52,883912.96,441956.48 +11-2-2019 04:00,2193622.24,1021113.28,510556.64 +11-2-2019 05:00,2386153.6,1110735.12,555367.56 +11-2-2019 06:00,2677745.6,1246468.64,623234.32 +11-2-2019 07:00,7184346.88,3344255.04,1672127.52 +11-2-2019 08:00,7553423.36,3516056.96,1758028.48 +11-2-2019 09:00,9268392.32,4314361.28,2157180.64 +11-2-2019 10:00,7921623.68,3687451.2,1843725.6 +11-2-2019 11:00,3080953.6,1434158.88,717079.44 +11-2-2019 12:00,3546090.24,1650675.84,825337.92 +11-2-2019 13:00,2383789.6,1109634.56,554817.28 +11-2-2019 14:00,1116773.52,519848.92,259924.46 +11-2-2019 15:00,1529866.88,712140.48,356070.24 +11-2-2019 16:00,5266844.8,2451673.28,1225836.64 +11-2-2019 17:00,5092483.84,2370509.6,1185254.8 +11-2-2019 18:00,13539022.08,6302304.0,3151152 +11-2-2019 19:00,8855049.6,4121953.28,2060976.64 +11-2-2019 20:00,6731303.04,3133366.72,1566683.36 +11-2-2019 21:00,6598123.52,3071372.48,1535686.24 +11-2-2019 22:00,3601512.64,1676474.88,838237.44 +11-2-2019 23:00,1268891.6,590658.64,295329.32 +12-2-2019 00:00,1181402.48,549933.16,274966.58 +12-2-2019 01:00,1236941.44,575786.12,287893.06 +12-2-2019 02:00,1556057.92,724332.24,362166.12 +12-2-2019 03:00,2168491.04,1009414.88,504707.44 +12-2-2019 04:00,2685779.84,1250208.72,625104.36 +12-2-2019 05:00,2696609.6,1255249.76,627624.88 +12-2-2019 06:00,2912865.6,1355915.04,677957.52 +12-2-2019 07:00,7579218.56,3528064.32,1764032.16 +12-2-2019 08:00,7994532.48,3721389.76,1860694.88 +12-2-2019 09:00,10160625.28,4729688.96,2364844.48 +12-2-2019 10:00,8504850.56,3958938.56,1979469.28 +12-2-2019 11:00,3483380.48,1621485.28,810742.64 +12-2-2019 12:00,4021163.52,1871818.72,935909.36 +12-2-2019 13:00,3014717.76,1403326.72,701663.36 +12-2-2019 14:00,2180903.36,1015192.8,507596.4 +12-2-2019 15:00,2927180.48,1362578.56,681289.28 +12-2-2019 16:00,5557212.16,2586836.96,1293418.48 +12-2-2019 17:00,5059660.8,2355230.72,1177615.36 +12-2-2019 18:00,13508556.8,6288123.52,3144061.76 +12-2-2019 19:00,9205719.68,4285186.88,2142593.44 +12-2-2019 20:00,6242027.52,2905612.48,1452806.24 +12-2-2019 21:00,6266406.4,2916960.96,1458480.48 +12-2-2019 22:00,3370064.0,1568737.28,784368.64 +12-2-2019 23:00,1125066.88,523709.48,261854.74 +13-2-2019 00:00,1092898.72,508735.4,254367.7 +13-2-2019 01:00,1102553.6,513229.68,256614.84 +13-2-2019 02:00,1115107.04,519073.12,259536.56 +13-2-2019 03:00,1515417.92,705414.64,352707.32 +13-2-2019 04:00,2058518.08,958223.36,479111.68 +13-2-2019 05:00,2279652.16,1061159.52,530579.76 +13-2-2019 06:00,2565365.76,1194156.72,597078.36 +13-2-2019 07:00,6829376.0,3179018.56,1589509.28 +13-2-2019 08:00,7600853.76,3538135.36,1769067.68 +13-2-2019 09:00,9755656.96,4541178.56,2270589.28 +13-2-2019 10:00,7921982.72,3687618.24,1843809.12 +13-2-2019 11:00,3451997.44,1606876.64,803438.32 +13-2-2019 12:00,4176605.12,1944175.36,972087.68 +13-2-2019 13:00,3198045.44,1488664.0,744332 +13-2-2019 14:00,2544674.56,1184525.28,592262.64 +13-2-2019 15:00,2887435.52,1344077.6,672038.8 +13-2-2019 16:00,5457333.76,2540344.16,1270172.08 +13-2-2019 17:00,5025647.04,2339397.92,1169698.96 +13-2-2019 18:00,13536908.8,6301320.96,3150660.48 +13-2-2019 19:00,9328842.88,4342499.84,2171249.92 +13-2-2019 20:00,6429991.04,2993108.16,1496554.08 +13-2-2019 21:00,6438848.0,2997231.36,1498615.68 +13-2-2019 22:00,3507811.52,1632857.6,816428.8 +13-2-2019 23:00,1199603.92,558405.88,279202.94 +14-2-2019 00:00,1241674.4,577989.24,288994.62 +14-2-2019 01:00,1214587.76,565380.68,282690.34 +14-2-2019 02:00,1374899.84,640004.64,320002.32 +14-2-2019 03:00,2236980.16,1041295.92,520647.96 +14-2-2019 04:00,2611345.28,1215559.84,607779.92 +14-2-2019 05:00,2858494.72,1330605.92,665302.96 +14-2-2019 06:00,3117111.04,1450989.92,725494.96 +14-2-2019 07:00,8095340.8,3768315.2,1884157.6 +14-2-2019 08:00,8109322.88,3774824.0,1887412 +14-2-2019 09:00,9788903.04,4556655.36,2278327.68 +14-2-2019 10:00,8217105.28,3824995.52,1912497.76 +14-2-2019 11:00,3207058.56,1492859.68,746429.84 +14-2-2019 12:00,3757054.08,1748877.92,874438.96 +14-2-2019 13:00,2687965.76,1251226.16,625613.08 +14-2-2019 14:00,2060958.72,959359.52,479679.76 +14-2-2019 15:00,2372418.4,1104341.28,552170.64 +14-2-2019 16:00,5017852.16,2335769.12,1167884.56 +14-2-2019 17:00,4969601.92,2313309.28,1156654.64 +14-2-2019 18:00,13811891.2,6429322.24,3214661.12 +14-2-2019 19:00,10026390.4,4667202.56,2333601.28 +14-2-2019 20:00,7113196.16,3311135.04,1655567.52 +14-2-2019 21:00,7022136.96,3268747.52,1634373.76 +14-2-2019 22:00,3888816.32,1810212.32,905106.16 +14-2-2019 23:00,1303539.52,606787.04,303393.52 +15-2-2019 00:00,1241266.88,577799.56,288899.78 +15-2-2019 01:00,1317038.08,613070.48,306535.24 +15-2-2019 02:00,1657890.56,771734.56,385867.28 +15-2-2019 03:00,2293022.4,1067383.04,533691.52 +15-2-2019 04:00,2611518.72,1215640.64,607820.32 +15-2-2019 05:00,2831330.88,1317961.44,658980.72 +15-2-2019 06:00,3198415.68,1488836.32,744418.16 +15-2-2019 07:00,8178551.68,3807048.96,1903524.48 +15-2-2019 08:00,8011631.36,3729349.12,1864674.56 +15-2-2019 09:00,8662157.44,4032163.2,2016081.6 +15-2-2019 10:00,6271904.0,2919520.64,1459760.32 +15-2-2019 11:00,1548296.48,720719.36,360359.68 +15-2-2019 12:00,2668431.68,1242133.04,621066.52 +15-2-2019 13:00,1044002.72,485974.72,242987.36 +15-2-2019 14:00,383582.32,178554.44,89277.22 +15-2-2019 15:00,723572.0,336816.88,168408.44 +15-2-2019 16:00,3385663.68,1575998.88,787999.44 +15-2-2019 17:00,4384935.68,2041151.68,1020575.84 +15-2-2019 18:00,12687243.52,5905808.64,2952904.32 +15-2-2019 19:00,8149990.4,3793753.6,1896876.8 +15-2-2019 20:00,6205408.64,2888567.04,1444283.52 +15-2-2019 21:00,6543055.36,3045739.2,1522869.6 +15-2-2019 22:00,3637449.6,1693203.2,846601.6 +15-2-2019 23:00,1215526.88,565817.76,282908.88 +16-2-2019 00:00,1141262.0,531248.12,265624.06 +16-2-2019 01:00,1236662.48,575656.32,287828.16 +16-2-2019 02:00,1344247.36,625736.2,312868.1 +16-2-2019 03:00,2011758.72,936457.2,468228.6 +16-2-2019 04:00,2395641.12,1115151.36,557575.68 +16-2-2019 05:00,2790325.12,1298873.44,649436.72 +16-2-2019 06:00,3060503.68,1424639.52,712319.76 +16-2-2019 07:00,4735298.24,2204242.72,1102121.36 +16-2-2019 08:00,7869829.76,3663341.44,1831670.72 +16-2-2019 09:00,12896974.08,6003435.52,3001717.76 +16-2-2019 10:00,13469099.52,6269756.16,3134878.08 +16-2-2019 11:00,5732898.56,2668617.12,1334308.56 +16-2-2019 12:00,5230687.04,2434842.24,1217421.12 +16-2-2019 13:00,3049565.76,1419548.16,709774.08 +16-2-2019 14:00,2351103.04,1094419.44,547209.72 +16-2-2019 15:00,2295697.28,1068628.32,534314.16 +16-2-2019 16:00,4834118.08,2250242.72,1125121.36 +16-2-2019 17:00,5416436.48,2521307.36,1260653.68 +16-2-2019 18:00,6167915.52,2871114.24,1435557.12 +16-2-2019 19:00,6634882.56,3088483.52,1544241.76 +16-2-2019 20:00,6706557.44,3121848.0,1560924 +16-2-2019 21:00,5292674.88,2463696.96,1231848.48 +16-2-2019 22:00,2477506.08,1153258.8,576629.4 +16-2-2019 23:00,1497523.2,697084.8,348542.4 +17-2-2019 00:00,1511027.52,703371.04,351685.52 +17-2-2019 01:00,1650401.92,768248.56,384124.28 +17-2-2019 02:00,2116670.4,985292.72,492646.36 +17-2-2019 03:00,2520122.56,1173096.56,586548.28 +17-2-2019 04:00,2725198.08,1268557.28,634278.64 +17-2-2019 05:00,3076480.32,1432076.48,716038.24 +17-2-2019 06:00,3200773.76,1489933.92,744966.96 +17-2-2019 07:00,4920130.88,2290280.48,1145140.24 +17-2-2019 08:00,7995564.8,3721870.4,1860935.2 +17-2-2019 09:00,13644117.76,6351226.24,3175613.12 +17-2-2019 10:00,13813610.24,6430123.52,3215061.76 +17-2-2019 11:00,6035692.16,2809565.44,1404782.72 +17-2-2019 12:00,5357726.08,2493977.76,1246988.88 +17-2-2019 13:00,2918689.28,1358626.08,679313.04 +17-2-2019 14:00,2043764.96,951355.92,475677.96 +17-2-2019 15:00,1806277.76,840807.52,420403.76 +17-2-2019 16:00,4389736.32,2043386.56,1021693.28 +17-2-2019 17:00,5170969.28,2407044.0,1203522 +17-2-2019 18:00,5465851.52,2544309.6,1272154.8 +17-2-2019 19:00,5651937.92,2630931.2,1315465.6 +17-2-2019 20:00,6119558.4,2848605.12,1424302.56 +17-2-2019 21:00,4767023.36,2219010.24,1109505.12 +17-2-2019 22:00,2225591.04,1035994.48,517997.24 +17-2-2019 23:00,1401121.76,652210.64,326105.32 +18-2-2019 00:00,1428157.12,664795.4,332397.7 +18-2-2019 01:00,1461581.6,680354.4,340177.2 +18-2-2019 02:00,1935191.36,900815.76,450407.88 +18-2-2019 03:00,2396767.36,1115675.68,557837.84 +18-2-2019 04:00,2541924.8,1183245.36,591622.68 +18-2-2019 05:00,2775922.24,1292169.2,646084.6 +18-2-2019 06:00,3098384.64,1442272.64,721136.32 +18-2-2019 07:00,7860408.96,3658955.84,1829477.92 +18-2-2019 08:00,7851253.12,3654694.4,1827347.2 +18-2-2019 09:00,9743591.04,4535561.92,2267780.96 +18-2-2019 10:00,7825457.28,3642686.4,1821343.2 +18-2-2019 11:00,2678106.24,1246636.72,623318.36 +18-2-2019 12:00,3193173.44,1486396.32,743198.16 +18-2-2019 13:00,2105114.08,979913.52,489956.76 +18-2-2019 14:00,1488195.52,692742.88,346371.44 +18-2-2019 15:00,1750520.16,814852.8,407426.4 +18-2-2019 16:00,4481283.2,2086000.8,1043000.4 +18-2-2019 17:00,4294871.04,1999227.36,999613.68 +18-2-2019 18:00,13157200.64,6124569.6,3062284.8 +18-2-2019 19:00,7910581.76,3682311.36,1841155.68 +18-2-2019 20:00,6131967.36,2854380.48,1427190.24 +18-2-2019 21:00,6299788.16,2932500.16,1466250.08 +18-2-2019 22:00,3361982.08,1564975.2,782487.6 +18-2-2019 23:00,1020895.84,475218.64,237609.32 +19-2-2019 00:00,1002357.52,466589.28,233294.64 +19-2-2019 01:00,1014986.0,472467.68,236233.84 +19-2-2019 02:00,1027550.16,478316.24,239158.12 +19-2-2019 03:00,1173415.44,546215.32,273107.66 +19-2-2019 04:00,1774056.16,825808.64,412904.32 +19-2-2019 05:00,2085702.08,970877.36,485438.68 +19-2-2019 06:00,2440311.04,1135944.96,567972.48 +19-2-2019 07:00,6416899.2,2987014.08,1493507.04 +19-2-2019 08:00,7260338.56,3379628.16,1689814.08 +19-2-2019 09:00,9035368.32,4205890.24,2102945.12 +19-2-2019 10:00,6925638.4,3223828.48,1611914.24 +19-2-2019 11:00,2756394.88,1283079.6,641539.8 +19-2-2019 12:00,3530380.16,1643363.2,821681.6 +19-2-2019 13:00,2398153.28,1116320.96,558160.48 +19-2-2019 14:00,1991886.88,927207.12,463603.56 +19-2-2019 15:00,1703594.08,793009.12,396504.56 +19-2-2019 16:00,4965112.64,2311219.68,1155609.84 +19-2-2019 17:00,4687652.48,2182064.0,1091032 +19-2-2019 18:00,13067132.16,6082643.2,3041321.6 +19-2-2019 19:00,8208492.16,3820985.6,1910492.8 +19-2-2019 20:00,6069811.84,2825447.36,1412723.68 +19-2-2019 21:00,5889948.8,2741723.2,1370861.6 +19-2-2019 22:00,3184893.76,1482542.08,741271.04 +19-2-2019 23:00,1058478.88,492713.32,246356.66 +20-2-2019 00:00,1041042.64,484596.84,242298.42 +20-2-2019 01:00,1043827.92,485893.4,242946.7 +20-2-2019 02:00,1055117.76,491148.72,245574.36 +20-2-2019 03:00,1264390.88,588563.6,294281.8 +20-2-2019 04:00,1797656.64,836794.48,418397.24 +20-2-2019 05:00,2135331.36,993979.28,496989.64 +20-2-2019 06:00,2448034.88,1139540.32,569770.16 +20-2-2019 07:00,6501823.36,3026545.6,1513272.8 +20-2-2019 08:00,7385156.48,3437730.24,1718865.12 +20-2-2019 09:00,9149901.44,4259205.12,2129602.56 +20-2-2019 10:00,7012387.84,3264209.28,1632104.64 +20-2-2019 11:00,2591093.44,1206132.96,603066.48 +20-2-2019 12:00,3390327.04,1578169.6,789084.8 +20-2-2019 13:00,2427955.84,1130193.6,565096.8 +20-2-2019 14:00,1454828.16,677210.56,338605.28 +20-2-2019 15:00,1951679.68,908490.96,454245.48 +20-2-2019 16:00,4722303.36,2198193.6,1099096.8 +20-2-2019 17:00,4338458.56,2019517.28,1009758.64 +20-2-2019 18:00,12794122.24,5955559.04,2977779.52 +20-2-2019 19:00,7883137.92,3669536.64,1834768.32 +20-2-2019 20:00,5776668.16,2688991.68,1344495.84 +20-2-2019 21:00,5697744.64,2652253.6,1326126.8 +20-2-2019 22:00,3107730.56,1446623.2,723311.6 +20-2-2019 23:00,1040737.2,484454.68,242227.34 +21-2-2019 00:00,1001589.44,466231.76,233115.88 +21-2-2019 01:00,1007774.32,469110.72,234555.36 +21-2-2019 02:00,1023767.04,476555.2,238277.6 +21-2-2019 03:00,1159559.68,539765.56,269882.78 +21-2-2019 04:00,1639023.36,762952.0,381476 +21-2-2019 05:00,2004633.44,933140.64,466570.32 +21-2-2019 06:00,2361873.6,1099432.96,549716.48 +21-2-2019 07:00,6265996.16,2916769.92,1458384.96 +21-2-2019 08:00,7154593.92,3330405.44,1665202.72 +21-2-2019 09:00,8890746.88,4138570.24,2069285.12 +21-2-2019 10:00,6717333.76,3126863.68,1563431.84 +21-2-2019 11:00,2657942.56,1237250.72,618625.36 +21-2-2019 12:00,3276277.76,1525080.64,762540.32 +21-2-2019 13:00,2255797.6,1050055.28,525027.64 +21-2-2019 14:00,1609421.92,749172.8,374586.4 +21-2-2019 15:00,2131668.96,992274.4,496137.2 +21-2-2019 16:00,4912059.2,2286523.36,1143261.68 +21-2-2019 17:00,4435568.0,2064720.48,1032360.24 +21-2-2019 18:00,12792480.0,5954794.88,2977397.44 +21-2-2019 19:00,7785621.12,3624143.04,1812071.52 +21-2-2019 20:00,5498909.44,2559697.44,1279848.72 +21-2-2019 21:00,5367785.28,2498660.16,1249330.08 +21-2-2019 22:00,2866337.28,1334256.56,667128.28 +21-2-2019 23:00,934908.24,435192.12,217596.06 +22-2-2019 00:00,917831.76,427243.2,213621.6 +22-2-2019 01:00,915722.96,426261.6,213130.8 +22-2-2019 02:00,914451.28,425669.6,212834.8 +22-2-2019 03:00,924338.16,430271.84,215135.92 +22-2-2019 04:00,1153322.88,536862.44,268431.22 +22-2-2019 05:00,1499533.6,698020.64,349010.32 +22-2-2019 06:00,1811996.96,843469.76,421734.88 +22-2-2019 07:00,5430679.68,2527936.96,1263968.48 +22-2-2019 08:00,6669695.36,3104688.64,1552344.32 +22-2-2019 09:00,8499393.28,3956398.4,1978199.2 +22-2-2019 10:00,6077505.28,2829029.12,1414514.56 +22-2-2019 11:00,2219479.2,1033149.68,516574.84 +22-2-2019 12:00,2999942.72,1396448.96,698224.48 +22-2-2019 13:00,2057830.4,957903.2,478951.6 +22-2-2019 14:00,1439074.4,669877.44,334938.72 +22-2-2019 15:00,1718079.2,799751.84,399875.92 +22-2-2019 16:00,4355051.2,2027240.8,1013620.4 +22-2-2019 17:00,3972726.08,1849271.68,924635.84 +22-2-2019 18:00,12397287.68,5770836.48,2885418.24 +22-2-2019 19:00,7089299.2,3300011.2,1650005.6 +22-2-2019 20:00,5656804.48,2633196.0,1316598 +22-2-2019 21:00,5439205.76,2531906.08,1265953.04 +22-2-2019 22:00,2924264.96,1361221.44,680610.72 +22-2-2019 23:00,981319.68,456796.28,228398.14 +23-2-2019 00:00,981307.84,456790.8,228395.4 +23-2-2019 01:00,1006602.8,468565.36,234282.68 +23-2-2019 02:00,1015719.52,472809.12,236404.56 +23-2-2019 03:00,1084829.68,504979.32,252489.66 +23-2-2019 04:00,1640650.88,763709.6,381854.8 +23-2-2019 05:00,1915056.64,891443.2,445721.6 +23-2-2019 06:00,2360296.64,1098698.96,549349.48 +23-2-2019 07:00,4116238.72,1916075.52,958037.76 +23-2-2019 08:00,7126846.72,3317488.96,1658744.48 +23-2-2019 09:00,12217326.08,5687065.6,2843532.8 +23-2-2019 10:00,10628259.84,4947367.68,2473683.84 +23-2-2019 11:00,5143469.76,2394243.2,1197121.6 +23-2-2019 12:00,4184811.52,1947995.68,973997.84 +23-2-2019 13:00,1078370.88,501972.76,250986.38 +23-2-2019 14:00,1392051.2,647988.52,323994.26 +23-2-2019 15:00,1340910.4,624182.92,312091.46 +23-2-2019 16:00,3952348.16,1839786.08,919893.04 +23-2-2019 17:00,4953574.72,2305848.64,1152924.32 +23-2-2019 18:00,5264198.72,2450441.44,1225220.72 +23-2-2019 19:00,5393590.4,2510672.16,1255336.08 +23-2-2019 20:00,5845518.08,2721040.96,1360520.48 +23-2-2019 21:00,5019945.92,2336743.68,1168371.84 +23-2-2019 22:00,2015315.04,938112.88,469056.44 +23-2-2019 23:00,1187646.0,552839.52,276419.76 +24-2-2019 00:00,1230058.48,572582.2,286291.1 +24-2-2019 01:00,1260216.88,586620.72,293310.36 +24-2-2019 02:00,1496630.56,696669.28,348334.64 +24-2-2019 03:00,1901032.0,884914.88,442457.44 +24-2-2019 04:00,2356753.44,1097049.6,548524.8 +24-2-2019 05:00,2792232.32,1299761.44,649880.72 +24-2-2019 06:00,3006694.4,1399591.68,699795.84 +24-2-2019 07:00,4808181.76,2238169.44,1119084.72 +24-2-2019 08:00,7397925.12,3443673.28,1721836.64 +24-2-2019 09:00,11767974.4,5477895.68,2738947.84 +24-2-2019 10:00,9827981.44,4574845.12,2287422.56 +24-2-2019 11:00,3395198.72,1580437.28,790218.64 +24-2-2019 12:00,3335474.24,1552636.16,776318.08 +24-2-2019 13:00,2100971.2,977984.96,488992.48 +24-2-2019 14:00,1561512.64,726871.36,363435.68 +24-2-2019 15:00,1347316.96,627165.04,313582.52 +24-2-2019 16:00,3781723.2,1760361.28,880180.64 +24-2-2019 17:00,4381501.44,2039553.28,1019776.64 +24-2-2019 18:00,5078949.12,2364209.44,1182104.72 +24-2-2019 19:00,5569555.2,2592582.56,1296291.28 +24-2-2019 20:00,5974829.44,2781234.56,1390617.28 +24-2-2019 21:00,4771912.96,2221286.56,1110643.28 +24-2-2019 22:00,2276377.92,1059635.28,529817.64 +24-2-2019 23:00,1446215.36,673201.44,336600.72 +25-2-2019 00:00,1466196.96,682502.72,341251.36 +25-2-2019 01:00,1501071.36,698736.48,349368.24 +25-2-2019 02:00,2068665.28,962946.8,481473.4 +25-2-2019 03:00,2398516.64,1116489.76,558244.88 +25-2-2019 04:00,2694724.48,1254372.32,627186.16 +25-2-2019 05:00,2804303.36,1305380.4,652690.2 +25-2-2019 06:00,3019800.0,1405692.32,702846.16 +25-2-2019 07:00,8013883.52,3730397.76,1865198.88 +25-2-2019 08:00,7434826.88,3460851.2,1730425.6 +25-2-2019 09:00,8005552.0,3726519.04,1863259.52 +25-2-2019 10:00,5328634.88,2480435.52,1240217.76 +25-2-2019 11:00,1210949.36,563687.0,281843.5 +25-2-2019 12:00,1476216.48,687166.72,343583.36 +25-2-2019 13:00,485655.76,226068.8,113034.4 +25-2-2019 14:00,684970.16,318848.02,159424.01 +25-2-2019 15:00,819668.64,381549.08,190774.54 +25-2-2019 16:00,2653603.04,1235230.72,617615.36 +25-2-2019 17:00,2988020.8,1390899.2,695449.6 +25-2-2019 18:00,12233900.8,5694781.44,2847390.72 +25-2-2019 19:00,6646430.72,3093859.52,1546929.76 +25-2-2019 20:00,5867071.36,2731073.92,1365536.96 +25-2-2019 21:00,6023660.16,2803964.8,1401982.4 +25-2-2019 22:00,3325715.2,1548093.44,774046.72 +25-2-2019 23:00,1181485.44,549971.88,274985.94 +26-2-2019 00:00,1183598.88,550955.64,275477.82 +26-2-2019 01:00,1214328.0,565259.84,282629.92 +26-2-2019 02:00,1242853.28,578538.08,289269.04 +26-2-2019 03:00,2099444.32,977274.16,488637.08 +26-2-2019 04:00,2507184.8,1167074.08,583537.04 +26-2-2019 05:00,2775458.88,1291953.52,645976.76 +26-2-2019 06:00,3109836.8,1447603.68,723801.84 +26-2-2019 07:00,7750842.24,3607953.92,1803976.96 +26-2-2019 08:00,7561950.08,3520026.24,1760013.12 +26-2-2019 09:00,8813770.24,4102738.24,2051369.12 +26-2-2019 10:00,6370326.4,2965335.36,1482667.68 +26-2-2019 11:00,1512171.68,703903.6,351951.8 +26-2-2019 12:00,2288010.72,1065050.56,532525.28 +26-2-2019 13:00,1131062.48,526500.44,263250.22 +26-2-2019 14:00,592403.52,275758.98,137879.49 +26-2-2019 15:00,893783.12,416048.76,208024.38 +26-2-2019 16:00,2971181.44,1383060.64,691530.32 +26-2-2019 17:00,3262474.24,1518655.04,759327.52 +26-2-2019 18:00,12352476.16,5749976.32,2874988.16 +26-2-2019 19:00,6978077.44,3248237.76,1624118.88 +26-2-2019 20:00,5766925.44,2684456.32,1342228.16 +26-2-2019 21:00,5963575.68,2775995.52,1387997.76 +26-2-2019 22:00,3305173.12,1538531.2,769265.6 +26-2-2019 23:00,1139675.2,530509.6,265254.8 +27-2-2019 00:00,1147037.36,533936.52,266968.26 +27-2-2019 01:00,1156749.36,538457.4,269228.7 +27-2-2019 02:00,1195379.12,556439.28,278219.64 +27-2-2019 03:00,1912093.28,890063.76,445031.88 +27-2-2019 04:00,2330701.6,1084922.64,542461.32 +27-2-2019 05:00,2484258.08,1156402.0,578201 +27-2-2019 06:00,2681256.8,1248103.12,624051.56 +27-2-2019 07:00,7101403.52,3305645.76,1652822.88 +27-2-2019 08:00,6972588.16,3245682.88,1622841.44 +27-2-2019 09:00,7680889.6,3575391.36,1787695.68 +27-2-2019 10:00,4590161.6,2136682.56,1068341.28 +27-2-2019 11:00,443053.56,206237.82,103118.91 +27-2-2019 12:00,1069938.88,498047.8,249023.9 +27-2-2019 13:00,319417.66,148686.34,74343.17 +27-2-2019 14:00,124080.38,57758.4,28879.2 +27-2-2019 15:00,477236.08,222149.5,111074.75 +27-2-2019 16:00,890386.08,414467.48,207233.74 +27-2-2019 17:00,2070939.68,964005.52,482002.76 +27-2-2019 18:00,10739911.68,4999341.44,2499670.72 +27-2-2019 19:00,4779276.48,2224714.08,1112357.04 +27-2-2019 20:00,4903197.76,2282398.4,1141199.2 +27-2-2019 21:00,4739374.4,2206140.32,1103070.16 +27-2-2019 22:00,2590093.44,1205667.6,602833.8 +27-2-2019 23:00,808718.64,376451.92,188225.96 +28-2-2019 00:00,810511.2,377286.36,188643.18 +28-2-2019 01:00,904969.04,421255.72,210627.86 +28-2-2019 02:00,1011013.2,470618.44,235309.22 +28-2-2019 03:00,1196960.48,557175.28,278587.64 +28-2-2019 04:00,1814135.52,844465.2,422232.6 +28-2-2019 05:00,1884653.76,877290.96,438645.48 +28-2-2019 06:00,2559138.24,1191257.92,595628.96 +28-2-2019 07:00,6635208.32,3088635.2,1544317.6 +28-2-2019 08:00,5667276.8,2638070.88,1319035.44 +28-2-2019 09:00,8463162.24,3939533.12,1969766.56 +28-2-2019 10:00,6276351.36,2921590.08,1460795.04 +28-2-2019 11:00,2141142.4,996684.16,498342.08 +28-2-2019 12:00,2180930.72,1015205.36,507602.68 +28-2-2019 13:00,2142129.12,997143.6,498571.8 +28-2-2019 14:00,1431462.88,666334.28,333167.14 +28-2-2019 15:00,1446073.44,673135.44,336567.72 +28-2-2019 16:00,2367596.0,1102096.56,551048.28 +28-2-2019 17:00,3885309.44,1808579.84,904289.92 +28-2-2019 18:00,12287289.6,5719632.64,2859816.32 +28-2-2019 19:00,6595047.68,3069940.8,1534970.4 +28-2-2019 20:00,5079567.04,2364496.8,1182248.4 +28-2-2019 21:00,5003315.52,2329002.72,1164501.36 +28-2-2019 22:00,2623876.64,1221393.2,610696.6 +28-2-2019 23:00,863373.68,401893.44,200946.72 +1-3-2019 00:00,863746.48,402066.92,201033.46 +1-3-2019 01:00,869487.44,404739.28,202369.64 +1-3-2019 02:00,897286.64,417679.6,208839.8 +1-3-2019 03:00,936560.32,435961.2,217980.6 +1-3-2019 04:00,1155494.72,537873.4,268936.7 +1-3-2019 05:00,1509685.28,702746.24,351373.12 +1-3-2019 06:00,1849382.24,860872.4,430436.2 +1-3-2019 07:00,5376546.56,2502738.56,1251369.28 +1-3-2019 08:00,5304815.04,2469347.84,1234673.92 +1-3-2019 09:00,8376356.48,3899125.76,1949562.88 +1-3-2019 10:00,6179709.44,2876604.16,1438302.08 +1-3-2019 11:00,2612725.6,1216202.48,608101.24 +1-3-2019 12:00,3590908.8,1671538.72,835769.36 +1-3-2019 13:00,2625246.56,1222030.88,611015.44 +1-3-2019 14:00,1949572.8,907510.24,453755.12 +1-3-2019 15:00,2151954.08,1001717.04,500858.52 +1-3-2019 16:00,3105080.64,1445389.76,722694.88 +1-3-2019 17:00,4657202.24,2167889.6,1083944.8 +1-3-2019 18:00,12970699.52,6037754.88,3018877.44 +1-3-2019 19:00,7675999.36,3573115.2,1786557.6 +1-3-2019 20:00,5731349.76,2667896.48,1333948.24 +1-3-2019 21:00,5686116.48,2646840.8,1323420.4 +1-3-2019 22:00,3150223.04,1466403.04,733201.52 +1-3-2019 23:00,1043100.72,485554.8,242777.4 +2-3-2019 00:00,1085358.24,505225.44,252612.72 +2-3-2019 01:00,1039562.88,483908.04,241954.02 +2-3-2019 02:00,1039936.8,484082.08,242041.04 +2-3-2019 03:00,1263622.08,588205.76,294102.88 +2-3-2019 04:00,1652395.36,769176.56,384588.28 +2-3-2019 05:00,1996293.44,929258.4,464629.2 +2-3-2019 06:00,2231524.0,1038756.24,519378.12 +2-3-2019 07:00,3880838.72,1806498.72,903249.36 +2-3-2019 08:00,5715296.0,2660423.36,1330211.68 +2-3-2019 09:00,11746252.8,5467784.96,2733892.48 +2-3-2019 10:00,11017205.76,5128419.84,2564209.92 +2-3-2019 11:00,4990906.24,2323226.08,1161613.04 +2-3-2019 12:00,3872893.76,1802800.32,901400.16 +2-3-2019 13:00,1922943.04,895114.32,447557.16 +2-3-2019 14:00,2027426.4,943750.4,471875.2 +2-3-2019 15:00,1844664.96,858676.48,429338.24 +2-3-2019 16:00,2500976.8,1164184.48,582092.24 +2-3-2019 17:00,4921454.08,2290896.96,1145448.48 +2-3-2019 18:00,5014289.92,2334111.04,1167055.52 +2-3-2019 19:00,5008142.72,2331249.44,1165624.72 +2-3-2019 20:00,5000289.6,2327593.92,1163796.96 +2-3-2019 21:00,3907168.32,1818754.88,909377.44 +2-3-2019 22:00,1689571.36,786481.76,393240.88 +2-3-2019 23:00,977291.76,454921.36,227460.68 +3-3-2019 00:00,935300.16,435374.6,217687.3 +3-3-2019 01:00,909505.12,423367.2,211683.6 +3-3-2019 02:00,919687.84,428107.16,214053.58 +3-3-2019 03:00,910551.76,423854.4,211927.2 +3-3-2019 04:00,1225642.56,570526.72,285263.36 +3-3-2019 05:00,1420087.84,661039.44,330519.72 +3-3-2019 06:00,1637200.96,762103.6,381051.8 +3-3-2019 07:00,3290319.36,1531616.8,765808.4 +3-3-2019 08:00,5098452.48,2373288.32,1186644.16 +3-3-2019 09:00,10358269.44,4821689.92,2410844.96 +3-3-2019 10:00,8929747.2,4156724.16,2078362.08 +3-3-2019 11:00,4249942.72,1978313.76,989156.88 +3-3-2019 12:00,3852720.32,1793409.92,896704.96 +3-3-2019 13:00,2307755.2,1074241.2,537120.6 +3-3-2019 14:00,1633409.12,760338.72,380169.36 +3-3-2019 15:00,1312195.04,610816.04,305408.02 +3-3-2019 16:00,1888824.64,879232.48,439616.24 +3-3-2019 17:00,4223057.6,1965798.88,982899.44 +3-3-2019 18:00,4402731.52,2049435.52,1024717.76 +3-3-2019 19:00,4450267.2,2071563.04,1035781.52 +3-3-2019 20:00,4451694.4,2072227.36,1036113.68 +3-3-2019 21:00,3370549.44,1568963.2,784481.6 +3-3-2019 22:00,1398982.24,651214.8,325607.4 +3-3-2019 23:00,761758.64,354592.44,177296.22 +4-3-2019 00:00,769194.24,358053.64,179026.82 +4-3-2019 01:00,757040.32,352396.08,176198.04 +4-3-2019 02:00,760100.96,353820.8,176910.4 +4-3-2019 03:00,768788.88,357864.92,178932.46 +4-3-2019 04:00,790132.4,367800.2,183900.1 +4-3-2019 05:00,976911.44,454744.28,227372.14 +4-3-2019 06:00,1498320.0,697455.68,348727.84 +4-3-2019 07:00,4603698.24,2142983.84,1071491.92 +4-3-2019 08:00,4792351.04,2230800.32,1115400.16 +4-3-2019 09:00,7585760.64,3531109.76,1765554.88 +4-3-2019 10:00,5462001.92,2542517.28,1271258.64 +4-3-2019 11:00,2033568.96,946609.84,473304.92 +4-3-2019 12:00,3046184.0,1417973.92,708986.96 +4-3-2019 13:00,1838958.08,856020.0,428010 +4-3-2019 14:00,1438538.4,669627.92,334813.96 +4-3-2019 15:00,1210754.4,563596.32,281798.16 +4-3-2019 16:00,2288848.32,1065440.08,532720.04 +4-3-2019 17:00,3999705.92,1861830.56,930915.28 +4-3-2019 18:00,12217626.88,5687205.12,2843602.56 +4-3-2019 19:00,6050216.32,2816326.72,1408163.36 +4-3-2019 20:00,5122252.48,2384366.72,1192183.36 +4-3-2019 21:00,5053387.2,2352310.56,1176155.28 +4-3-2019 22:00,2652588.16,1234758.08,617379.04 +4-3-2019 23:00,845369.92,393512.8,196756.4 +5-3-2019 00:00,903091.76,420381.88,210190.94 +5-3-2019 01:00,899453.84,418688.4,209344.2 +5-3-2019 02:00,899439.04,418681.52,209340.76 +5-3-2019 03:00,917395.76,427040.24,213520.12 +5-3-2019 04:00,1187947.12,552979.72,276489.86 +5-3-2019 05:00,1585095.2,737848.96,368924.48 +5-3-2019 06:00,2067883.36,962582.8,481291.4 +5-3-2019 07:00,5492723.84,2556818.08,1278409.04 +5-3-2019 08:00,4524825.6,2106269.28,1053134.64 +5-3-2019 09:00,7449058.56,3467476.16,1733738.08 +5-3-2019 10:00,5494903.68,2557832.96,1278916.48 +5-3-2019 11:00,1890226.4,879884.88,439942.44 +5-3-2019 12:00,2616933.76,1218161.36,609080.68 +5-3-2019 13:00,1739186.24,809577.12,404788.56 +5-3-2019 14:00,889118.48,413877.4,206938.7 +5-3-2019 15:00,929547.68,432696.84,216348.42 +5-3-2019 16:00,1158584.24,539311.48,269655.74 +5-3-2019 17:00,3413802.88,1589097.12,794548.56 +5-3-2019 18:00,12051737.6,5609985.92,2804992.96 +5-3-2019 19:00,6097493.12,2838333.44,1419166.72 +5-3-2019 20:00,5424555.52,2525086.72,1262543.36 +5-3-2019 21:00,5286856.96,2460988.8,1230494.4 +5-3-2019 22:00,2819755.52,1312573.36,656286.68 +5-3-2019 23:00,841162.32,391554.2,195777.1 +6-3-2019 00:00,818472.0,380992.04,190496.02 +6-3-2019 01:00,878434.08,408903.92,204451.96 +6-3-2019 02:00,906763.2,422090.84,211045.42 +6-3-2019 03:00,910476.96,423819.6,211909.8 +6-3-2019 04:00,1167163.68,543305.16,271652.58 +6-3-2019 05:00,1421745.6,661810.96,330905.48 +6-3-2019 06:00,1793335.52,834783.04,417391.52 +6-3-2019 07:00,5116205.44,2381552.0,1190776 +6-3-2019 08:00,4836912.96,2251543.68,1125771.84 +6-3-2019 09:00,7644291.2,3558355.2,1779177.6 +6-3-2019 10:00,5149902.72,2397237.6,1198618.8 +6-3-2019 11:00,1746464.8,812965.12,406482.56 +6-3-2019 12:00,2634519.52,1226347.44,613173.72 +6-3-2019 13:00,1690592.8,786957.12,393478.56 +6-3-2019 14:00,1087436.4,506192.76,253096.38 +6-3-2019 15:00,1221215.84,568465.96,284232.98 +6-3-2019 16:00,1787913.76,832259.28,416129.64 +6-3-2019 17:00,3454448.64,1608017.76,804008.88 +6-3-2019 18:00,11766327.04,5477129.6,2738564.8 +6-3-2019 19:00,5531038.08,2574653.12,1287326.56 +6-3-2019 20:00,4556494.72,2121011.04,1060505.52 +6-3-2019 21:00,4493856.96,2091853.44,1045926.72 +6-3-2019 22:00,2378381.6,1107117.2,553558.6 +6-3-2019 23:00,707598.64,329381.38,164690.69 +7-3-2019 00:00,744257.84,346445.92,173222.96 +7-3-2019 01:00,767741.52,357377.4,178688.7 +7-3-2019 02:00,762007.36,354708.2,177354.1 +7-3-2019 03:00,769659.76,358270.32,179135.16 +7-3-2019 04:00,790530.4,367985.48,183992.74 +7-3-2019 05:00,953567.84,443878.04,221939.02 +7-3-2019 06:00,1374500.0,639818.56,319909.28 +7-3-2019 07:00,4538850.56,2112797.92,1056398.96 +7-3-2019 08:00,4672437.44,2174981.76,1087490.88 +7-3-2019 09:00,6941890.56,3231393.6,1615696.8 +7-3-2019 10:00,4662895.04,2170539.52,1085269.76 +7-3-2019 11:00,1468024.8,683353.6,341676.8 +7-3-2019 12:00,2581867.36,1201838.16,600919.08 +7-3-2019 13:00,1758018.72,818343.36,409171.68 +7-3-2019 14:00,289480.68,134750.9,67375.45 +7-3-2019 15:00,1028122.08,478582.44,239291.22 +7-3-2019 16:00,1491102.72,694096.08,347048.04 +7-3-2019 17:00,3282593.6,1528020.48,764010.24 +7-3-2019 18:00,11772367.36,5479941.76,2739970.88 +7-3-2019 19:00,5573164.8,2594262.72,1297131.36 +7-3-2019 20:00,4889205.44,2275885.28,1137942.64 +7-3-2019 21:00,5034192.0,2343375.04,1171687.52 +7-3-2019 22:00,2649387.04,1233267.92,616633.96 +7-3-2019 23:00,802310.24,373468.84,186734.42 +8-3-2019 00:00,804309.36,374399.48,187199.74 +8-3-2019 01:00,837111.36,389668.52,194834.26 +8-3-2019 02:00,883696.08,411353.32,205676.66 +8-3-2019 03:00,893437.76,415887.96,207943.98 +8-3-2019 04:00,1081868.56,503601.0,251800.5 +8-3-2019 05:00,1392282.72,648096.2,324048.1 +8-3-2019 06:00,1725539.2,803224.4,401612.2 +8-3-2019 07:00,5034911.68,2343710.4,1171855.2 +8-3-2019 08:00,4903912.64,2282731.52,1141365.76 +8-3-2019 09:00,6965638.4,3242448.0,1621224 +8-3-2019 10:00,4353282.24,2026417.28,1013208.64 +8-3-2019 11:00,1484667.52,691100.64,345550.32 +8-3-2019 12:00,2840539.2,1322247.84,661123.92 +8-3-2019 13:00,1236719.6,575682.88,287841.44 +8-3-2019 14:00,1079326.32,502417.56,251208.78 +8-3-2019 15:00,1432424.96,666782.12,333391.06 +8-3-2019 16:00,2053033.28,955670.24,477835.12 +8-3-2019 17:00,3846799.36,1790653.76,895326.88 +8-3-2019 18:00,12079143.68,5622742.4,2811371.2 +8-3-2019 19:00,6052296.32,2817294.72,1408647.36 +8-3-2019 20:00,5015280.32,2334572.0,1167286 +8-3-2019 21:00,5126155.2,2386183.36,1193091.68 +8-3-2019 22:00,2735272.64,1273247.04,636623.52 +8-3-2019 23:00,832942.88,387728.08,193864.04 +9-3-2019 00:00,816709.12,380171.4,190085.7 +9-3-2019 01:00,852795.76,396969.52,198484.76 +9-3-2019 02:00,874875.92,407247.6,203623.8 +9-3-2019 03:00,851441.68,396339.16,198169.58 +9-3-2019 04:00,1006122.56,468341.84,234170.92 +9-3-2019 05:00,1315447.52,612330.0,306165 +9-3-2019 06:00,1550610.24,721796.4,360898.2 +9-3-2019 07:00,3193778.88,1486677.92,743338.96 +9-3-2019 08:00,4980364.16,2318318.56,1159159.28 +9-3-2019 09:00,10190243.84,4743475.52,2371737.76 +9-3-2019 10:00,8771198.08,4082921.28,2041460.64 +9-3-2019 11:00,4019077.44,1870847.84,935423.92 +9-3-2019 12:00,3795865.6,1766944.32,883472.16 +9-3-2019 13:00,2234474.56,1040129.76,520064.88 +9-3-2019 14:00,1748899.36,814098.4,407049.2 +9-3-2019 15:00,1526409.44,710531.2,355265.6 +9-3-2019 16:00,187633.66,87341.94,43670.97 +9-3-2019 17:00,4040721.28,1880922.72,940461.36 +9-3-2019 18:00,4983080.96,2319583.52,1159791.76 +9-3-2019 19:00,5032499.52,2342587.68,1171293.84 +9-3-2019 20:00,4917851.52,2289220.0,1144610 +9-3-2019 21:00,3762765.76,1751536.8,875768.4 +9-3-2019 22:00,1587529.92,738982.24,369491.12 +9-3-2019 23:00,903604.32,420620.44,210310.22 +10-3-2019 00:00,888704.72,413684.8,206842.4 +10-3-2019 01:00,957664.4,445784.96,222892.48 +10-3-2019 02:00,1016689.84,473260.8,236630.4 +10-3-2019 03:00,1164447.6,542040.96,271020.48 +10-3-2019 04:00,1490444.96,693790.0,346895 +10-3-2019 05:00,1751361.92,815244.72,407622.36 +10-3-2019 06:00,2009553.92,935430.96,467715.48 +10-3-2019 07:00,3697803.2,1721297.28,860648.64 +10-3-2019 08:00,5290591.68,2462727.36,1231363.68 +10-3-2019 09:00,10972104.96,5107425.28,2553712.64 +10-3-2019 10:00,9955656.96,4634277.44,2317138.72 +10-3-2019 11:00,4978600.64,2317498.08,1158749.04 +10-3-2019 12:00,4087118.4,1902520.32,951260.16 +10-3-2019 13:00,2532615.52,1178911.6,589455.8 +10-3-2019 14:00,2317064.16,1078574.48,539287.24 +10-3-2019 15:00,2271406.08,1057321.04,528660.52 +10-3-2019 16:00,2619371.04,1219295.92,609647.96 +10-3-2019 17:00,5596712.32,2605224.16,1302612.08 +10-3-2019 18:00,6021726.08,2803064.32,1401532.16 +10-3-2019 19:00,6053041.92,2817641.6,1408820.8 +10-3-2019 20:00,5949633.28,2769505.6,1384752.8 +10-3-2019 21:00,4396171.84,2046382.08,1023191.04 +10-3-2019 22:00,1932284.0,899462.4,449731.2 +10-3-2019 23:00,1158778.08,539401.72,269700.86 +11-3-2019 00:00,1203217.44,560087.88,280043.94 +11-3-2019 01:00,1221944.24,568805.04,284402.52 +11-3-2019 02:00,1340285.76,623892.08,311946.04 +11-3-2019 03:00,1701882.56,792212.48,396106.24 +11-3-2019 04:00,2054708.32,956449.92,478224.96 +11-3-2019 05:00,2223155.2,1034860.72,517430.36 +11-3-2019 06:00,2453310.08,1141995.84,570997.92 +11-3-2019 07:00,6386602.88,2972911.04,1486455.52 +11-3-2019 08:00,5313225.6,2473263.2,1236631.6 +11-3-2019 09:00,8677399.68,4039258.88,2019629.44 +11-3-2019 10:00,6490702.72,3021369.28,1510684.64 +11-3-2019 11:00,2491896.96,1159957.68,579978.84 +11-3-2019 12:00,3372583.36,1569909.76,784954.88 +11-3-2019 13:00,2451362.24,1141089.2,570544.6 +11-3-2019 14:00,1505755.52,700916.96,350458.48 +11-3-2019 15:00,1901029.28,884913.6,442456.8 +11-3-2019 16:00,2618903.52,1219078.16,609539.08 +11-3-2019 17:00,4398474.24,2047453.92,1023726.96 +11-3-2019 18:00,12788520.96,5952952.32,2976476.16 +11-3-2019 19:00,7100682.88,3305310.08,1652655.04 +11-3-2019 20:00,5841400.96,2719124.16,1359562.08 +11-3-2019 21:00,5852997.76,2724522.56,1362261.28 +11-3-2019 22:00,3209628.8,1494056.0,747028 +11-3-2019 23:00,1151792.64,536150.08,268075.04 +12-3-2019 00:00,1105184.24,514454.16,257227.08 +12-3-2019 01:00,1084585.6,504865.76,252432.88 +12-3-2019 02:00,1096681.68,510496.32,255248.16 +12-3-2019 03:00,1595435.2,742662.08,371331.04 +12-3-2019 04:00,1928448.96,897677.28,448838.64 +12-3-2019 05:00,2092022.88,973819.6,486909.8 +12-3-2019 06:00,2404939.52,1119479.52,559739.76 +12-3-2019 07:00,6204649.6,2888213.76,1444106.88 +12-3-2019 08:00,5241008.64,2439646.72,1219823.36 +12-3-2019 09:00,8322781.44,3874186.56,1937093.28 +12-3-2019 10:00,6153185.28,2864257.28,1432128.64 +12-3-2019 11:00,2318256.64,1079129.52,539564.76 +12-3-2019 12:00,3274090.88,1524062.56,762031.28 +12-3-2019 13:00,2251798.56,1048193.76,524096.88 +12-3-2019 14:00,1554482.24,723598.72,361799.36 +12-3-2019 15:00,1671313.92,777982.96,388991.48 +12-3-2019 16:00,2288785.92,1065411.04,532705.52 +12-3-2019 17:00,4137324.8,1925891.04,962945.52 +12-3-2019 18:00,12636586.24,5882227.84,2941113.92 +12-3-2019 19:00,6944868.48,3232779.52,1616389.76 +12-3-2019 20:00,5989772.16,2788190.4,1394095.2 +12-3-2019 21:00,5875242.88,2734878.08,1367439.04 +12-3-2019 22:00,3122102.08,1453313.12,726656.56 +12-3-2019 23:00,1054766.96,490985.44,245492.72 +13-3-2019 00:00,1030798.8,479828.44,239914.22 +13-3-2019 01:00,1012340.96,471236.4,235618.2 +13-3-2019 02:00,1043077.36,485544.08,242772.04 +13-3-2019 03:00,1245690.32,579858.64,289929.32 +13-3-2019 04:00,1695241.6,789121.12,394560.56 +13-3-2019 05:00,1964605.28,914507.76,457253.88 +13-3-2019 06:00,2215447.68,1031272.96,515636.48 +13-3-2019 07:00,5881344.0,2737717.44,1368858.72 +13-3-2019 08:00,5150076.16,2397318.4,1198659.2 +13-3-2019 09:00,8233315.2,3832541.12,1916270.56 +13-3-2019 10:00,6175205.76,2874508.16,1437254.08 +13-3-2019 11:00,2599308.32,1209956.8,604978.4 +13-3-2019 12:00,3520341.44,1638690.24,819345.12 +13-3-2019 13:00,2453540.96,1142103.36,571051.68 +13-3-2019 14:00,1675493.92,779928.72,389964.36 +13-3-2019 15:00,1669654.4,777210.48,388605.24 +13-3-2019 16:00,2245141.6,1045095.12,522547.56 +13-3-2019 17:00,4169061.44,1940664.0,970332 +13-3-2019 18:00,12691774.72,5907917.44,2953958.72 +13-3-2019 19:00,7027283.2,3271143.04,1635571.52 +13-3-2019 20:00,5557097.6,2586784.0,1293392 +13-3-2019 21:00,5445390.08,2534784.64,1267392.32 +13-3-2019 22:00,2863042.88,1332723.04,666361.52 +13-3-2019 23:00,974944.8,453828.84,226914.42 +14-3-2019 00:00,957889.52,445889.8,222944.9 +14-3-2019 01:00,956478.24,445232.8,222616.4 +14-3-2019 02:00,960064.0,446901.92,223450.96 +14-3-2019 03:00,970731.84,451867.72,225933.86 +14-3-2019 04:00,1398872.0,651163.44,325581.72 +14-3-2019 05:00,1717010.72,799254.48,399627.24 +14-3-2019 06:00,2107626.24,981082.8,490541.4 +14-3-2019 07:00,5709705.6,2657821.28,1328910.64 +14-3-2019 08:00,5066931.52,2358615.68,1179307.84 +14-3-2019 09:00,8146924.16,3792327.04,1896163.52 +14-3-2019 10:00,5895569.28,2744339.2,1372169.6 +14-3-2019 11:00,2197603.68,1022966.64,511483.32 +14-3-2019 12:00,2942966.4,1369926.88,684963.44 +14-3-2019 13:00,1966485.44,915382.96,457691.48 +14-3-2019 14:00,1307707.68,608727.24,304363.62 +14-3-2019 15:00,1393718.08,648764.4,324382.2 +14-3-2019 16:00,2228086.4,1037156.0,518578 +14-3-2019 17:00,4162731.84,1937717.6,968858.8 +14-3-2019 18:00,12536648.96,5835708.16,2917854.08 +14-3-2019 19:00,6815623.68,3172617.28,1586308.64 +14-3-2019 20:00,5350466.24,2490598.4,1245299.2 +14-3-2019 21:00,5214408.64,2427264.64,1213632.32 +14-3-2019 22:00,2747947.52,1279147.2,639573.6 +14-3-2019 23:00,889688.8,414142.84,207071.42 +15-3-2019 00:00,939338.56,437254.44,218627.22 +15-3-2019 01:00,930801.12,433280.32,216640.16 +15-3-2019 02:00,937644.56,436465.88,218232.94 +15-3-2019 03:00,960924.08,447302.32,223651.16 +15-3-2019 04:00,1269766.24,591065.8,295532.9 +15-3-2019 05:00,1530863.04,712604.4,356302.2 +15-3-2019 06:00,1928791.68,897836.8,448918.4 +15-3-2019 07:00,5511736.32,2565668.16,1282834.08 +15-3-2019 08:00,4819479.04,2243428.16,1121714.08 +15-3-2019 09:00,7578134.4,3527559.68,1763779.84 +15-3-2019 10:00,4816490.24,2242036.8,1121018.4 +15-3-2019 11:00,1547392.64,720298.56,360149.28 +15-3-2019 12:00,2469863.04,1149701.04,574850.52 +15-3-2019 13:00,1652602.56,769273.04,384636.52 +15-3-2019 14:00,1019569.92,474601.48,237300.74 +15-3-2019 15:00,1168339.6,543852.52,271926.26 +15-3-2019 16:00,1692608.8,787895.52,393947.76 +15-3-2019 17:00,3644481.6,1696476.64,848238.32 +15-3-2019 18:00,12066896.64,5617041.92,2808520.96 +15-3-2019 19:00,6212839.04,2892026.24,1446013.12 +15-3-2019 20:00,5160549.76,2402193.92,1201096.96 +15-3-2019 21:00,5140801.6,2393001.28,1196500.64 +15-3-2019 22:00,2646016.16,1231698.96,615849.48 +15-3-2019 23:00,780768.16,363441.16,181720.58 +16-3-2019 00:00,833319.92,387903.64,193951.82 +16-3-2019 01:00,880737.36,409976.04,204988.02 +16-3-2019 02:00,879467.76,409385.08,204692.54 +16-3-2019 03:00,903044.24,420359.72,210179.86 +16-3-2019 04:00,1046046.4,486926.12,243463.06 +16-3-2019 05:00,1427184.16,664342.52,332171.26 +16-3-2019 06:00,1747113.6,813267.12,406633.56 +16-3-2019 07:00,3184774.08,1482486.24,741243.12 +16-3-2019 08:00,4898085.12,2280018.56,1140009.28 +16-3-2019 09:00,10132445.44,4716570.88,2358285.44 +16-3-2019 10:00,8672269.44,4036870.72,2018435.36 +16-3-2019 11:00,4069923.52,1894516.32,947258.16 +16-3-2019 12:00,3686152.0,1715873.6,857936.8 +16-3-2019 13:00,2167561.76,1008982.4,504491.2 +16-3-2019 14:00,1473441.44,685875.04,342937.52 +16-3-2019 15:00,1038601.6,483460.56,241730.28 +16-3-2019 16:00,1324784.56,616676.4,308338.2 +16-3-2019 17:00,4172894.4,1942448.32,971224.16 +16-3-2019 18:00,4555866.24,2120718.56,1060359.28 +16-3-2019 19:00,4608826.24,2145371.04,1072685.52 +16-3-2019 20:00,4572891.52,2128643.84,1064321.92 +16-3-2019 21:00,3509456.64,1633623.36,816811.68 +16-3-2019 22:00,1434237.12,667625.68,333812.84 +16-3-2019 23:00,728996.24,339341.84,169670.92 +17-3-2019 00:00,701560.08,326570.46,163285.23 +17-3-2019 01:00,843274.24,392537.28,196268.64 +17-3-2019 02:00,959843.92,446799.52,223399.76 +17-3-2019 03:00,972501.04,452691.28,226345.64 +17-3-2019 04:00,1226988.8,571153.32,285576.66 +17-3-2019 05:00,1627935.2,757790.56,378895.28 +17-3-2019 06:00,1948596.0,907055.6,453527.8 +17-3-2019 07:00,3395267.2,1580469.44,790234.72 +17-3-2019 08:00,5008227.52,2331288.8,1165644.4 +17-3-2019 09:00,10337712.0,4812120.64,2406060.32 +17-3-2019 10:00,8676805.76,4038982.08,2019491.04 +17-3-2019 11:00,4192542.4,1951594.56,975797.28 +17-3-2019 12:00,3757328.96,1749005.92,874502.96 +17-3-2019 13:00,2224607.2,1035536.48,517768.24 +17-3-2019 14:00,950174.08,442298.24,221149.12 +17-3-2019 15:00,522080.8,243024.34,121512.17 +17-3-2019 16:00,491490.16,228784.66,114392.33 +17-3-2019 17:00,4173296.32,1942635.2,971317.6 +17-3-2019 18:00,5115909.76,2381414.24,1190707.12 +17-3-2019 19:00,5312172.48,2472772.96,1236386.48 +17-3-2019 20:00,5664427.52,2636744.8,1318372.4 +17-3-2019 21:00,4354579.2,2027020.96,1013510.48 +17-3-2019 22:00,1956038.08,910519.76,455259.88 +17-3-2019 23:00,1098489.36,511337.88,255668.94 +18-3-2019 00:00,1085022.48,505069.08,252534.54 +18-3-2019 01:00,1097808.32,511020.8,255510.4 +18-3-2019 02:00,1263853.76,588313.6,294156.8 +18-3-2019 03:00,1653494.88,769688.32,384844.16 +18-3-2019 04:00,1870740.48,870814.4,435407.2 +18-3-2019 05:00,2087355.04,971646.72,485823.36 +18-3-2019 06:00,2420025.12,1126501.92,563250.96 +18-3-2019 07:00,5993195.52,2789784.0,1394892 +18-3-2019 08:00,4507116.8,2098025.92,1049012.96 +18-3-2019 09:00,7569498.24,3523539.2,1761769.6 +18-3-2019 10:00,5690635.52,2648944.64,1324472.32 +18-3-2019 11:00,1822235.36,848235.68,424117.84 +18-3-2019 12:00,3158736.0,1470365.92,735182.96 +18-3-2019 13:00,2502556.96,1164919.92,582459.96 +18-3-2019 14:00,590089.48,274681.82,137340.91 +18-3-2019 15:00,1291153.2,601021.32,300510.66 +18-3-2019 16:00,1726404.32,803627.12,401813.56 +18-3-2019 17:00,3929779.2,1829280.0,914640 +18-3-2019 18:00,12527549.44,5831471.36,2915735.68 +18-3-2019 19:00,6755080.96,3144435.2,1572217.6 +18-3-2019 20:00,5815968.64,2707286.08,1353643.04 +18-3-2019 21:00,6154618.88,2864924.48,1432462.24 +18-3-2019 22:00,3463000.64,1611998.56,805999.28 +18-3-2019 23:00,1126006.48,524146.8,262073.4 +19-3-2019 00:00,1135859.6,528733.4,264366.7 +19-3-2019 01:00,1290690.4,600805.84,300402.92 +19-3-2019 02:00,1810303.84,842681.68,421340.84 +19-3-2019 03:00,2397381.6,1115961.52,557980.76 +19-3-2019 04:00,2771428.8,1290077.52,645038.76 +19-3-2019 05:00,3000677.76,1396791.04,698395.52 +19-3-2019 06:00,3309960.64,1540759.68,770379.84 +19-3-2019 07:00,7759624.32,3612041.92,1806020.96 +19-3-2019 08:00,5731074.56,2667768.48,1333884.24 +19-3-2019 09:00,8734038.4,4065624.0,2032812 +19-3-2019 10:00,6801366.4,3165980.48,1582990.24 +19-3-2019 11:00,2165145.44,1007857.52,503928.76 +19-3-2019 12:00,2802192.64,1304397.92,652198.96 +19-3-2019 13:00,877768.8,408594.2,204297.1 +19-3-2019 14:00,884502.32,411728.56,205864.28 +19-3-2019 15:00,1437555.36,669170.36,334585.18 +19-3-2019 16:00,1832816.32,853161.12,426580.56 +19-3-2019 17:00,3514434.24,1635940.48,817970.24 +19-3-2019 18:00,12517784.32,5826926.08,2913463.04 +19-3-2019 19:00,7023456.0,3269361.28,1634680.64 +19-3-2019 20:00,5747592.32,2675457.28,1337728.64 +19-3-2019 21:00,6085021.44,2832527.68,1416263.84 +19-3-2019 22:00,3358503.68,1563356.0,781678 +19-3-2019 23:00,1048850.8,488231.48,244115.74 +20-3-2019 00:00,1077594.4,501611.36,250805.68 +20-3-2019 01:00,1003865.52,467291.2,233645.6 +20-3-2019 02:00,1007142.24,468816.52,234408.26 +20-3-2019 03:00,1290413.12,600676.68,300338.34 +20-3-2019 04:00,1691822.56,787529.6,393764.8 +20-3-2019 05:00,1901635.68,885195.84,442597.92 +20-3-2019 06:00,2158274.24,1004658.96,502329.48 +20-3-2019 07:00,5757646.72,2680137.76,1340068.88 +20-3-2019 08:00,4836675.2,2251433.12,1125716.56 +20-3-2019 09:00,7868936.32,3662925.44,1831462.72 +20-3-2019 10:00,5505196.16,2562624.0,1281312 +20-3-2019 11:00,2025490.88,942849.44,471424.72 +20-3-2019 12:00,3017689.6,1404709.76,702354.88 +20-3-2019 13:00,1902475.52,885586.8,442793.4 +20-3-2019 14:00,1168546.88,543949.08,271974.54 +20-3-2019 15:00,1201343.76,559215.76,279607.88 +20-3-2019 16:00,1571721.44,731623.52,365811.76 +20-3-2019 17:00,3535520.96,1645756.16,822878.08 +20-3-2019 18:00,12084424.96,5625200.64,2812600.32 +20-3-2019 19:00,6191972.48,2882312.64,1441156.32 +20-3-2019 20:00,5080385.28,2364878.24,1182439.12 +20-3-2019 21:00,5084154.88,2366632.64,1183316.32 +20-3-2019 22:00,2857878.08,1330318.88,665159.44 +20-3-2019 23:00,911919.44,424491.04,212245.52 +21-3-2019 00:00,954013.2,444085.32,222042.66 +21-3-2019 01:00,1047603.12,487650.76,243825.38 +21-3-2019 02:00,1043348.16,485670.0,242835 +21-3-2019 03:00,1141285.12,531258.96,265629.48 +21-3-2019 04:00,1678151.52,781165.76,390582.88 +21-3-2019 05:00,2039518.24,949379.04,474689.52 +21-3-2019 06:00,2087539.04,971732.4,485866.2 +21-3-2019 07:00,5603556.48,2608410.08,1304205.04 +21-3-2019 08:00,4688582.4,2182497.12,1091248.56 +21-3-2019 09:00,7671624.32,3571078.4,1785539.2 +21-3-2019 10:00,5193336.32,2417455.84,1208727.92 +21-3-2019 11:00,1796456.16,836235.68,418117.84 +21-3-2019 12:00,2831165.12,1317884.4,658942.2 +21-3-2019 13:00,1700251.68,791453.28,395726.64 +21-3-2019 14:00,1024141.36,476729.48,238364.74 +21-3-2019 15:00,1132826.4,527321.4,263660.7 +21-3-2019 16:00,1474344.8,686295.44,343147.72 +21-3-2019 17:00,3504432.0,1631284.48,815642.24 +21-3-2019 18:00,12117884.16,5640775.68,2820387.84 +21-3-2019 19:00,6247292.16,2908063.68,1454031.84 +21-3-2019 20:00,5290726.08,2462789.76,1231394.88 +21-3-2019 21:00,5594707.84,2604290.72,1302145.36 +21-3-2019 22:00,3091421.44,1439031.68,719515.84 +21-3-2019 23:00,974723.44,453725.8,226862.9 +22-3-2019 00:00,999922.88,465455.92,232727.96 +22-3-2019 01:00,993664.0,462542.44,231271.22 +22-3-2019 02:00,967294.88,450267.84,225133.92 +22-3-2019 03:00,1123278.48,522876.96,261438.48 +22-3-2019 04:00,1544110.08,718770.56,359385.28 +22-3-2019 05:00,1773896.8,825734.48,412867.24 +22-3-2019 06:00,2131938.24,992399.92,496199.96 +22-3-2019 07:00,5715523.84,2660529.6,1330264.8 +22-3-2019 08:00,5005782.72,2330150.88,1165075.44 +22-3-2019 09:00,8230678.4,3831313.92,1915656.96 +22-3-2019 10:00,5652316.8,2631107.36,1315553.68 +22-3-2019 11:00,1499978.4,698227.76,349113.88 +22-3-2019 12:00,2591866.72,1206492.8,603246.4 +22-3-2019 13:00,855314.56,398141.96,199070.98 +22-3-2019 14:00,127669.26,59429.0,29714.5 +22-3-2019 15:00,492500.32,229254.88,114627.44 +22-3-2019 16:00,146978.24,68417.18,34208.59 +22-3-2019 17:00,282066.2,131299.52,65649.76 +22-3-2019 18:00,8439621.76,3928575.36,1964287.68 +22-3-2019 19:00,4456399.36,2074417.44,1037208.72 +22-3-2019 20:00,5134729.92,2390174.88,1195087.44 +22-3-2019 21:00,5319236.8,2476060.8,1238030.4 +22-3-2019 22:00,2763169.28,1286232.88,643116.44 +22-3-2019 23:00,807876.08,376059.72,188029.86 +23-3-2019 00:00,783433.6,364681.96,182340.98 +23-3-2019 01:00,776640.16,361519.64,180759.82 +23-3-2019 02:00,778795.44,362522.92,181261.46 +23-3-2019 03:00,853684.0,397382.96,198691.48 +23-3-2019 04:00,1178798.32,548720.88,274360.44 +23-3-2019 05:00,1403730.4,653425.04,326712.52 +23-3-2019 06:00,1648531.36,767377.84,383688.92 +23-3-2019 07:00,3157914.24,1469983.2,734991.6 +23-3-2019 08:00,4822921.92,2245030.56,1122515.28 +23-3-2019 09:00,10020721.92,4664564.48,2332282.24 +23-3-2019 10:00,8418120.96,3918567.04,1959283.52 +23-3-2019 11:00,3910620.48,1820361.92,910180.96 +23-3-2019 12:00,3592764.8,1672402.72,836201.36 +23-3-2019 13:00,2176567.36,1013174.4,506587.2 +23-3-2019 14:00,1304791.84,607370.0,303685 +23-3-2019 15:00,923725.84,429986.84,214993.42 +23-3-2019 16:00,1077788.48,501701.76,250850.88 +23-3-2019 17:00,4240896.0,1974102.72,987051.36 +23-3-2019 18:00,5051363.84,2351368.64,1175684.32 +23-3-2019 19:00,5212322.24,2426293.44,1213146.72 +23-3-2019 20:00,5387439.36,2507809.12,1253904.56 +23-3-2019 21:00,4241960.96,1974598.08,987299.04 +23-3-2019 22:00,1935869.92,901131.52,450565.76 +23-3-2019 23:00,1123481.44,522971.44,261485.72 +24-3-2019 00:00,1232662.48,573794.24,286897.12 +24-3-2019 01:00,1309139.04,609393.56,304696.78 +24-3-2019 02:00,1784654.4,830742.16,415371.08 +24-3-2019 03:00,2145997.12,998944.08,499472.04 +24-3-2019 04:00,2577179.68,1199656.0,599828 +24-3-2019 05:00,2749460.16,1279851.28,639925.64 +24-3-2019 06:00,2962708.8,1379116.64,689558.32 +24-3-2019 07:00,3997191.04,1860659.84,930329.92 +24-3-2019 08:00,5108373.12,2377906.08,1188953.04 +24-3-2019 09:00,11526196.48,5365350.72,2682675.36 +24-3-2019 10:00,10501212.8,4888228.48,2444114.24 +24-3-2019 11:00,4324095.68,2012831.36,1006415.68 +24-3-2019 12:00,4478446.4,2084680.16,1042340.08 +24-3-2019 13:00,1998148.48,930121.76,465060.88 +24-3-2019 14:00,138554.12,64495.8,32247.9 +24-3-2019 15:00,41242.34,19197.96,9598.98 +24-3-2019 16:00,46278.36,21542.2,10771.1 +24-3-2019 17:00,1700502.24,791569.92,395784.96 +24-3-2019 18:00,4539640.0,2113165.6,1056582.8 +24-3-2019 19:00,5352915.52,2491738.24,1245869.12 +24-3-2019 20:00,5468415.36,2545502.88,1272751.44 +24-3-2019 21:00,4293113.28,1998409.12,999204.56 +24-3-2019 22:00,1949931.84,907677.28,453838.64 +24-3-2019 23:00,1106038.24,514851.68,257425.84 +25-3-2019 00:00,1058526.24,492735.4,246367.7 +25-3-2019 01:00,972861.28,452858.96,226429.48 +25-3-2019 02:00,1129741.68,525885.48,262942.74 +25-3-2019 03:00,1482762.88,690214.08,345107.04 +25-3-2019 04:00,1714111.68,797904.96,398952.48 +25-3-2019 05:00,1983280.32,923200.72,461600.36 +25-3-2019 06:00,2237653.6,1041609.52,520804.76 +25-3-2019 07:00,5878498.56,2736392.96,1368196.48 +25-3-2019 08:00,4466076.16,2078921.92,1039460.96 +25-3-2019 09:00,7103096.96,3306433.92,1653216.96 +25-3-2019 10:00,4650875.52,2164944.8,1082472.4 +25-3-2019 11:00,1820124.8,847253.2,423626.6 +25-3-2019 12:00,2921362.56,1359870.56,679935.28 +25-3-2019 13:00,2031602.72,945694.4,472847.2 +25-3-2019 14:00,1316083.84,612626.28,306313.14 +25-3-2019 15:00,1372690.56,638976.2,319488.1 +25-3-2019 16:00,1655639.36,770686.64,385343.32 +25-3-2019 17:00,3836272.32,1785753.6,892876.8 +25-3-2019 18:00,12317130.24,5733523.2,2866761.6 +25-3-2019 19:00,6302433.92,2933731.84,1466865.92 +25-3-2019 20:00,5384577.28,2506476.8,1253238.4 +25-3-2019 21:00,5383496.32,2505973.44,1252986.72 +25-3-2019 22:00,2859369.6,1331013.2,665506.6 +25-3-2019 23:00,873006.24,406377.24,203188.62 +26-3-2019 00:00,858629.12,399684.84,199842.42 +26-3-2019 01:00,860872.96,400729.32,200364.66 +26-3-2019 02:00,918249.92,427437.88,213718.94 +26-3-2019 03:00,1041801.04,484949.84,242474.92 +26-3-2019 04:00,1810066.88,842571.28,421285.64 +26-3-2019 05:00,2082297.44,969292.4,484646.2 +26-3-2019 06:00,2362948.8,1099933.2,549966.6 +26-3-2019 07:00,5773144.32,2687351.68,1343675.84 +26-3-2019 08:00,4730306.56,2201919.2,1100959.6 +26-3-2019 09:00,7762784.64,3613512.96,1806756.48 +26-3-2019 10:00,5488004.48,2554621.12,1277310.56 +26-3-2019 11:00,2005469.6,933529.84,466764.92 +26-3-2019 12:00,3058258.88,1423594.72,711797.36 +26-3-2019 13:00,1968901.92,916507.84,458253.92 +26-3-2019 14:00,1205760.24,561271.6,280635.8 +26-3-2019 15:00,1264667.36,588692.32,294346.16 +26-3-2019 16:00,1630795.2,759121.84,379560.92 +26-3-2019 17:00,3760235.52,1750359.2,875179.6 +26-3-2019 18:00,12359618.56,5753301.76,2876650.88 +26-3-2019 19:00,6521198.08,3035564.8,1517782.4 +26-3-2019 20:00,5428607.36,2526972.48,1263486.24 +26-3-2019 21:00,5407818.88,2517295.2,1258647.6 +26-3-2019 22:00,2878436.8,1339888.8,669944.4 +26-3-2019 23:00,881304.16,410239.92,205119.96 +27-3-2019 00:00,863683.04,402037.4,201018.7 +27-3-2019 01:00,895174.96,416696.64,208348.32 +27-3-2019 02:00,960499.6,447104.72,223552.36 +27-3-2019 03:00,984199.12,458136.68,229068.34 +27-3-2019 04:00,1480511.04,689165.68,344582.84 +27-3-2019 05:00,1738346.4,809186.08,404593.04 +27-3-2019 06:00,2129462.72,991247.44,495623.72 +27-3-2019 07:00,3157784.32,1469922.88,734961.44 +27-3-2019 08:00,3999808.96,1861878.56,930939.28 +27-3-2019 09:00,6185651.2,2879370.24,1439685.12 +27-3-2019 10:00,3696035.52,1720474.4,860237.2 +27-3-2019 11:00,1162680.16,541218.12,270609.06 +27-3-2019 12:00,2159057.92,1005023.84,502511.92 +27-3-2019 13:00,1516860.32,706086.16,353043.08 +27-3-2019 14:00,867582.0,403852.32,201926.16 +27-3-2019 15:00,957157.2,445548.84,222774.42 +27-3-2019 16:00,1191622.56,554690.6,277345.3 +27-3-2019 17:00,1393087.84,648471.0,324235.5 +27-3-2019 18:00,11212765.44,5219450.56,2609725.28 +27-3-2019 19:00,5405266.56,2516107.36,1258053.68 +27-3-2019 20:00,4912392.96,2286679.2,1143339.6 +27-3-2019 21:00,4991913.92,2323695.36,1161847.68 +27-3-2019 22:00,2697861.44,1255832.48,627916.24 +27-3-2019 23:00,814163.12,378986.32,189493.16 +28-3-2019 00:00,795316.56,370213.36,185106.68 +28-3-2019 01:00,790342.08,367897.84,183948.92 +28-3-2019 02:00,789066.24,367303.88,183651.94 +28-3-2019 03:00,798498.0,371694.32,185847.16 +28-3-2019 04:00,1054557.6,490888.04,245444.02 +28-3-2019 05:00,1449068.16,674529.44,337264.72 +28-3-2019 06:00,1744831.52,812204.88,406102.44 +28-3-2019 07:00,3559936.32,1657121.28,828560.64 +28-3-2019 08:00,4303014.72,2003017.92,1001508.96 +28-3-2019 09:00,6750709.12,3142400.0,1571200 +28-3-2019 10:00,4403135.68,2049623.52,1024811.76 +28-3-2019 11:00,1535202.08,714624.08,357312.04 +28-3-2019 12:00,2655420.0,1236076.32,618038.16 +28-3-2019 13:00,1760500.32,819498.48,409749.24 +28-3-2019 14:00,973714.8,453256.32,226628.16 +28-3-2019 15:00,1018727.76,474209.44,237104.72 +28-3-2019 16:00,1157756.08,538925.96,269462.98 +28-3-2019 17:00,1316595.44,612864.44,306432.22 +28-3-2019 18:00,11391907.84,5302840.32,2651420.16 +28-3-2019 19:00,5692880.64,2649989.28,1324994.64 +28-3-2019 20:00,4977841.92,2317144.48,1158572.24 +28-3-2019 21:00,5110372.16,2378836.96,1189418.48 +28-3-2019 22:00,2944988.16,1370867.84,685433.92 +28-3-2019 23:00,948750.4,441635.6,220817.8 +29-3-2019 00:00,966789.28,450032.52,225016.26 +29-3-2019 01:00,981683.92,456965.92,228482.96 +29-3-2019 02:00,1007886.32,469162.88,234581.44 +29-3-2019 03:00,1417393.76,659785.28,329892.64 +29-3-2019 04:00,2013660.48,937342.48,468671.24 +29-3-2019 05:00,2406980.96,1120429.92,560214.96 +29-3-2019 06:00,2637990.72,1227963.12,613981.56 +29-3-2019 07:00,3556749.12,1655637.76,827818.88 +29-3-2019 08:00,3970421.44,1848198.72,924099.36 +29-3-2019 09:00,5229881.92,2434467.04,1217233.52 +29-3-2019 10:00,2477352.32,1153187.12,576593.56 +29-3-2019 11:00,134463.76,62591.78,31295.89 +29-3-2019 12:00,578679.64,269370.66,134685.33 +29-3-2019 13:00,198329.06,92320.56,46160.28 +29-3-2019 14:00,113217.62,52701.88,26350.94 +29-3-2019 15:00,240799.02,112089.98,56044.99 +29-3-2019 16:00,71014.8,33056.8,16528.4 +29-3-2019 17:00,72963.76,33964.04,16982.02 +29-3-2019 18:00,3482235.52,1620952.32,810476.16 +29-3-2019 19:00,2542422.4,1183476.8,591738.4 +29-3-2019 20:00,3528215.36,1642355.52,821177.76 +29-3-2019 21:00,4166550.72,1939495.68,969747.84 +29-3-2019 22:00,2393608.96,1114205.44,557102.72 +29-3-2019 23:00,754735.84,351323.4,175661.7 +30-3-2019 00:00,837751.12,389966.32,194983.16 +30-3-2019 01:00,886034.0,412441.6,206220.8 +30-3-2019 02:00,846223.76,393910.24,196955.12 +30-3-2019 03:00,855221.68,398098.72,199049.36 +30-3-2019 04:00,1364616.64,635217.88,317608.94 +30-3-2019 05:00,1538950.08,716368.72,358184.36 +30-3-2019 06:00,1660593.44,772992.72,386496.36 +30-3-2019 07:00,1659696.64,772575.2,386287.6 +30-3-2019 08:00,4204262.72,1957049.92,978524.96 +30-3-2019 09:00,7515426.56,3498370.24,1749185.12 +30-3-2019 10:00,5043821.76,2347857.92,1173928.96 +30-3-2019 11:00,1662303.84,773788.96,386894.48 +30-3-2019 12:00,1443882.08,672115.36,336057.68 +30-3-2019 13:00,89025.26,41440.52,20720.26 +30-3-2019 14:00,67078.22,31224.36,15612.18 +30-3-2019 15:00,89212.48,41527.68,20763.84 +30-3-2019 16:00,77986.58,36302.12,18151.06 +30-3-2019 17:00,93129.98,43351.24,21675.62 +30-3-2019 18:00,1883730.08,876861.04,438430.52 +30-3-2019 19:00,3108862.4,1447150.08,723575.04 +30-3-2019 20:00,3829862.08,1782769.6,891384.8 +30-3-2019 21:00,2975888.32,1385251.52,692625.76 +30-3-2019 22:00,1244396.72,579256.52,289628.26 +30-3-2019 23:00,705722.8,328508.2,164254.1 +31-3-2019 00:00,714164.64,332437.84,166218.92 +31-3-2019 01:00,760536.16,354023.4,177011.7 +31-3-2019 02:00,744906.96,346748.12,173374.06 +31-3-2019 03:00,755754.48,351797.56,175898.78 +31-3-2019 04:00,1120588.16,521624.68,260812.34 +31-3-2019 05:00,1280734.96,596171.68,298085.84 +31-3-2019 06:00,3067168.32,1427741.76,713870.88 +31-3-2019 07:00,4842591.68,2254186.72,1127093.36 +31-3-2019 08:00,9332137.6,4344033.6,2172016.8 +31-3-2019 09:00,7595540.48,3535662.08,1767831.04 +31-3-2019 10:00,2993850.56,1393612.96,696806.48 +31-3-2019 11:00,1842399.36,857621.92,428810.96 +31-3-2019 12:00,1856005.92,863955.6,431977.8 +31-3-2019 13:00,1155520.88,537885.56,268942.78 +31-3-2019 14:00,51212.96,23839.22,11919.61 +31-3-2019 15:00,39648.74,18456.16,9228.08 +31-3-2019 16:00,44604.84,20763.18,10381.59 +31-3-2019 17:00,72689.36,33836.3,16918.15 +31-3-2019 18:00,639086.84,297489.74,148744.87 +31-3-2019 19:00,2820618.88,1312975.12,656487.56 +31-3-2019 20:00,3259952.0,1517481.12,758740.56 +31-3-2019 21:00,1514654.08,705059.12,352529.56 +31-3-2019 22:00,891263.44,414875.84,207437.92 +31-3-2019 23:00,893604.16,415965.4,207982.7 +1-4-2019 00:00,894558.32,416409.64,208204.82 +1-4-2019 01:00,1094938.96,509685.2,254842.6 +1-4-2019 02:00,1589895.2,740083.28,370041.64 +1-4-2019 03:00,1860442.88,866020.96,433010.48 +1-4-2019 04:00,2119769.6,986735.52,493367.76 +1-4-2019 05:00,2429012.48,1130685.44,565342.72 +1-4-2019 06:00,6335045.12,2948911.68,1474455.84 +1-4-2019 07:00,4528512.64,2107985.6,1053992.8 +1-4-2019 08:00,6650909.44,3095944.32,1547972.16 +1-4-2019 09:00,3235426.88,1506064.8,753032.4 +1-4-2019 10:00,111090.48,51711.7,25855.85 +1-4-2019 11:00,269658.06,125523.62,62761.81 +1-4-2019 12:00,724632.96,337310.68,168655.34 +1-4-2019 13:00,184317.3,85798.2,42899.1 +1-4-2019 14:00,333640.48,155306.94,77653.47 +1-4-2019 15:00,112241.66,52247.58,26123.79 +1-4-2019 16:00,44604.84,20763.18,10381.59 +1-4-2019 17:00,1812306.08,843613.76,421806.88 +1-4-2019 18:00,1510177.92,702975.52,351487.76 +1-4-2019 19:00,2851480.32,1327340.72,663670.36 +1-4-2019 20:00,3836804.8,1786001.28,893000.64 +1-4-2019 21:00,2254504.16,1049453.28,524726.64 +1-4-2019 22:00,729370.08,339515.84,169757.92 +1-4-2019 23:00,842328.32,392096.96,196048.48 +2-4-2019 00:00,900113.04,418995.24,209497.62 +2-4-2019 01:00,930850.64,433303.4,216651.7 +2-4-2019 02:00,1091702.64,508178.68,254089.34 +2-4-2019 03:00,1278752.48,595248.76,297624.38 +2-4-2019 04:00,1467831.84,683263.76,341631.88 +2-4-2019 05:00,1628144.0,757887.76,378943.88 +2-4-2019 06:00,4981130.24,2318675.52,1159337.76 +2-4-2019 07:00,4432173.44,2063140.16,1031570.08 +2-4-2019 08:00,7076111.36,3293872.0,1646936 +2-4-2019 09:00,4156548.48,1934839.36,967419.68 +2-4-2019 10:00,534804.8,248947.32,124473.66 +2-4-2019 11:00,892199.68,415311.68,207655.84 +2-4-2019 12:00,1758900.0,818753.68,409376.84 +2-4-2019 13:00,1164119.6,541888.2,270944.1 +2-4-2019 14:00,1092485.2,508542.92,254271.46 +2-4-2019 15:00,553665.48,257726.74,128863.37 +2-4-2019 16:00,171422.78,79795.9,39897.95 +2-4-2019 17:00,7305123.84,3400475.2,1700237.6 +2-4-2019 18:00,4289352.0,1996658.56,998329.28 +2-4-2019 19:00,4669248.64,2173497.28,1086748.64 +2-4-2019 20:00,4720443.2,2197327.84,1098663.92 +2-4-2019 21:00,2572532.48,1197492.8,598746.4 +2-4-2019 22:00,796158.48,370605.28,185302.64 +2-4-2019 23:00,784368.48,365117.08,182558.54 +3-4-2019 00:00,774751.68,360640.6,180320.3 +3-4-2019 01:00,781720.0,363884.28,181942.14 +3-4-2019 02:00,849018.16,395211.0,197605.5 +3-4-2019 03:00,1128235.68,525184.44,262592.22 +3-4-2019 04:00,1452049.44,675917.2,337958.6 +3-4-2019 05:00,1742698.4,811211.84,405605.92 +3-4-2019 06:00,5229131.2,2434117.92,1217058.96 +3-4-2019 07:00,5076983.36,2363294.24,1181647.12 +3-4-2019 08:00,7559765.12,3519008.96,1759504.48 +3-4-2019 09:00,4820240.32,2243782.72,1121891.36 +3-4-2019 10:00,1052819.2,490078.72,245039.36 +3-4-2019 11:00,1678000.16,781095.28,390547.64 +3-4-2019 12:00,2656560.96,1236607.44,618303.72 +3-4-2019 13:00,2221796.32,1034228.16,517114.08 +3-4-2019 14:00,1761815.84,820110.96,410055.48 +3-4-2019 15:00,1410636.64,656639.76,328319.88 +3-4-2019 16:00,721367.68,335790.76,167895.38 +3-4-2019 17:00,9493548.8,4419169.92,2209584.96 +3-4-2019 18:00,5560668.16,2588445.28,1294222.64 +3-4-2019 19:00,5363954.24,2496876.96,1248438.48 +3-4-2019 20:00,5366481.92,2498053.44,1249026.72 +3-4-2019 21:00,2866498.88,1334331.92,667165.96 +3-4-2019 22:00,938869.2,437035.96,218517.98 +3-4-2019 23:00,978422.8,455447.84,227723.92 +4-4-2019 00:00,988484.72,460131.56,230065.78 +4-4-2019 01:00,1007605.36,469032.08,234516.04 +4-4-2019 02:00,1388920.0,646530.96,323265.48 +4-4-2019 03:00,1821777.92,848022.72,424011.36 +4-4-2019 04:00,2152817.92,1002119.04,501059.52 +4-4-2019 05:00,2400197.44,1117272.48,558636.24 +4-4-2019 06:00,6472903.68,3013083.84,1506541.92 +4-4-2019 07:00,5556494.08,2586502.88,1293251.44 +4-4-2019 08:00,8147108.48,3792412.48,1896206.24 +4-4-2019 09:00,5806849.92,2703040.96,1351520.48 +4-4-2019 10:00,1616011.04,752239.92,376119.96 +4-4-2019 11:00,2092377.12,973984.48,486992.24 +4-4-2019 12:00,2972425.92,1383639.84,691819.92 +4-4-2019 13:00,1815402.4,845055.04,422527.52 +4-4-2019 14:00,1501887.52,699116.32,349558.16 +4-4-2019 15:00,1435709.92,668311.28,334155.64 +4-4-2019 16:00,808139.84,376182.52,188091.26 +4-4-2019 17:00,9558712.96,4449503.04,2224751.52 +4-4-2019 18:00,5625948.8,2618832.96,1309416.48 +4-4-2019 19:00,5401640.96,2514420.0,1257210 +4-4-2019 20:00,5447568.0,2535798.4,1267899.2 +4-4-2019 21:00,2982627.52,1388388.64,694194.32 +4-4-2019 22:00,973709.6,453253.92,226626.96 +4-4-2019 23:00,959440.4,446611.64,223305.82 +5-4-2019 00:00,960205.44,446967.76,223483.88 +5-4-2019 01:00,974915.12,453815.04,226907.52 +5-4-2019 02:00,1329152.0,618709.36,309354.68 +5-4-2019 03:00,1865380.8,868319.52,434159.76 +5-4-2019 04:00,2252519.84,1048529.68,524264.84 +5-4-2019 05:00,2624779.84,1221813.6,610906.8 +5-4-2019 06:00,6759282.56,3146391.04,1573195.52 +5-4-2019 07:00,5250824.64,2444215.84,1222107.92 +5-4-2019 08:00,7947716.48,3699597.12,1849798.56 +5-4-2019 09:00,5298664.64,2466485.12,1233242.56 +5-4-2019 10:00,894370.08,416322.0,208161 +5-4-2019 11:00,601062.76,279789.82,139894.91 +5-4-2019 12:00,2213580.0,1030403.44,515201.72 +5-4-2019 13:00,1435660.0,668288.04,334144.02 +5-4-2019 14:00,1092544.8,508570.68,254285.34 +5-4-2019 15:00,1104848.88,514298.16,257149.08 +5-4-2019 16:00,359909.52,167534.94,83767.47 +5-4-2019 17:00,8843168.64,4116423.36,2058211.68 +5-4-2019 18:00,4887444.48,2275065.6,1137532.8 +5-4-2019 19:00,5004589.76,2329595.68,1164797.84 +5-4-2019 20:00,5056117.12,2353581.28,1176790.64 +5-4-2019 21:00,2709130.88,1261078.48,630539.24 +5-4-2019 22:00,840357.52,391179.6,195589.8 +5-4-2019 23:00,822409.2,382824.76,191412.38 +6-4-2019 00:00,805536.72,374970.76,187485.38 +6-4-2019 01:00,805918.56,375148.52,187574.26 +6-4-2019 02:00,810828.32,377434.0,188717 +6-4-2019 03:00,1070457.92,498289.44,249144.72 +6-4-2019 04:00,1358595.84,632415.28,316207.64 +6-4-2019 05:00,1564437.76,728233.04,364116.52 +6-4-2019 06:00,3267471.36,1520981.28,760490.64 +6-4-2019 07:00,5081667.52,2365474.56,1182737.28 +6-4-2019 08:00,10259859.2,4775881.28,2387940.64 +6-4-2019 09:00,8470308.48,3942859.84,1971429.92 +6-4-2019 10:00,3317199.68,1544129.28,772064.64 +6-4-2019 11:00,2354258.08,1095887.92,547943.96 +6-4-2019 12:00,2851654.72,1327422.08,663711.04 +6-4-2019 13:00,1413123.84,657797.68,328898.84 +6-4-2019 14:00,770884.24,358840.32,179420.16 +6-4-2019 15:00,423177.28,196985.56,98492.78 +6-4-2019 16:00,200635.4,93394.14,46697.07 +6-4-2019 17:00,885158.8,412034.2,206017.1 +6-4-2019 18:00,3514906.24,1636160.0,818080 +6-4-2019 19:00,4216062.08,1962542.72,981271.36 +6-4-2019 20:00,3459924.16,1610566.56,805283.28 +6-4-2019 21:00,1447073.28,673600.8,336800.4 +6-4-2019 22:00,761117.28,354293.84,177146.92 +6-4-2019 23:00,743516.32,346100.76,173050.38 +7-4-2019 00:00,696039.2,324000.54,162000.27 +7-4-2019 01:00,677565.28,315401.12,157700.56 +7-4-2019 02:00,679329.68,316222.44,158111.22 +7-4-2019 03:00,829751.36,386242.48,193121.24 +7-4-2019 04:00,1069574.56,497878.2,248939.1 +7-4-2019 05:00,1369721.6,637594.28,318797.14 +7-4-2019 06:00,3028224.96,1409614.08,704807.04 +7-4-2019 07:00,4613438.08,2147518.08,1073759.04 +7-4-2019 08:00,9027223.68,4202098.56,2101049.28 +7-4-2019 09:00,6591223.04,3068160.64,1534080.32 +7-4-2019 10:00,1873564.64,872128.96,436064.48 +7-4-2019 11:00,226988.34,105661.22,52830.61 +7-4-2019 12:00,284832.86,132587.38,66293.69 +7-4-2019 13:00,149022.5,69368.76,34684.38 +7-4-2019 14:00,78323.38,36458.9,18229.45 +7-4-2019 15:00,43862.92,20417.84,10208.92 +7-4-2019 16:00,48857.22,22742.64,11371.32 +7-4-2019 17:00,88321.42,41112.9,20556.45 +7-4-2019 18:00,1099526.96,511820.8,255910.4 +7-4-2019 19:00,2206409.12,1027065.44,513532.72 +7-4-2019 20:00,2014835.52,937889.44,468944.72 +7-4-2019 21:00,833925.2,388185.32,194092.66 +7-4-2019 22:00,375819.76,174941.04,87470.52 +7-4-2019 23:00,400190.64,186285.48,93142.74 +8-4-2019 00:00,550837.2,256410.22,128205.11 +8-4-2019 01:00,591825.2,275489.8,137744.9 +8-4-2019 02:00,620556.72,288864.1,144432.05 +8-4-2019 03:00,628991.4,292790.34,146395.17 +8-4-2019 04:00,684010.0,318401.1,159200.55 +8-4-2019 05:00,1077308.08,501478.04,250739.02 +8-4-2019 06:00,3595251.52,1673560.32,836780.16 +8-4-2019 07:00,3924690.56,1826911.52,913455.76 +8-4-2019 08:00,3933021.12,1830789.28,915394.64 +8-4-2019 09:00,1946684.16,906165.6,453082.8 +8-4-2019 10:00,100773.9,46909.42,23454.71 +8-4-2019 11:00,113592.8,52876.52,26438.26 +8-4-2019 12:00,202029.54,94043.12,47021.56 +8-4-2019 13:00,83575.16,38903.56,19451.78 +8-4-2019 14:00,142449.72,66309.2,33154.6 +8-4-2019 15:00,51978.68,24195.66,12097.83 +8-4-2019 16:00,44604.84,20763.18,10381.59 +8-4-2019 17:00,825828.8,384416.52,192208.26 +8-4-2019 18:00,944979.92,439880.48,219940.24 +8-4-2019 19:00,1589107.36,739716.56,369858.28 +8-4-2019 20:00,2242361.12,1043800.8,521900.4 +8-4-2019 21:00,1199995.2,558587.96,279293.98 +8-4-2019 22:00,158166.84,73625.36,36812.68 +8-4-2019 23:00,304823.86,141893.02,70946.51 +9-4-2019 00:00,362243.48,168621.4,84310.7 +9-4-2019 01:00,451738.08,210280.38,105140.19 +9-4-2019 02:00,582151.08,270986.58,135493.29 +9-4-2019 03:00,640374.2,298088.96,149044.48 +9-4-2019 04:00,690938.96,321626.5,160813.25 +9-4-2019 05:00,1070041.36,498095.56,249047.78 +9-4-2019 06:00,3497012.8,1627830.88,813915.44 +9-4-2019 07:00,3953777.6,1840451.36,920225.68 +9-4-2019 08:00,4822776.96,2244963.36,1122481.68 +9-4-2019 09:00,3145996.16,1464435.52,732217.76 +9-4-2019 10:00,427742.68,199110.74,99555.37 +9-4-2019 11:00,735388.64,342317.4,171158.7 +9-4-2019 12:00,1202703.76,559848.68,279924.34 +9-4-2019 13:00,574784.36,267557.44,133778.72 +9-4-2019 14:00,523587.08,243725.5,121862.75 +9-4-2019 15:00,454175.8,211415.1,105707.55 +9-4-2019 16:00,48855.9,22742.02,11371.01 +9-4-2019 17:00,4803796.48,2236128.0,1118064 +9-4-2019 18:00,2559292.8,1191329.92,595664.96 +9-4-2019 19:00,3397198.08,1581367.84,790683.92 +9-4-2019 20:00,3722548.16,1732815.84,866407.92 +9-4-2019 21:00,2098598.4,976880.4,488440.2 +9-4-2019 22:00,683145.68,317998.78,158999.39 +9-4-2019 23:00,717135.92,333820.92,166910.46 +10-4-2019 00:00,735142.8,342203.0,171101.5 +10-4-2019 01:00,763992.32,355632.16,177816.08 +10-4-2019 02:00,802061.04,373352.92,186676.46 +10-4-2019 03:00,947050.32,440844.2,220422.1 +10-4-2019 04:00,1367431.52,636528.24,318264.12 +10-4-2019 05:00,1623130.88,755554.16,377777.08 +10-4-2019 06:00,4612222.08,2146952.16,1073476.08 +10-4-2019 07:00,4129386.24,1922195.36,961097.68 +10-4-2019 08:00,5418224.64,2522139.36,1261069.68 +10-4-2019 09:00,2563911.68,1193480.0,596740 +10-4-2019 10:00,100773.9,46909.42,23454.71 +10-4-2019 11:00,172814.72,80443.86,40221.93 +10-4-2019 12:00,601602.68,280041.14,140020.57 +10-4-2019 13:00,180215.92,83889.06,41944.53 +10-4-2019 14:00,262632.66,122253.38,61126.69 +10-4-2019 15:00,101263.4,47137.28,23568.64 +10-4-2019 16:00,44604.84,20763.18,10381.59 +10-4-2019 17:00,1490685.92,693902.08,346951.04 +10-4-2019 18:00,1474836.96,686524.56,343262.28 +10-4-2019 19:00,2711445.12,1262155.52,631077.76 +10-4-2019 20:00,3642609.28,1695604.8,847802.4 +10-4-2019 21:00,2164217.12,1007425.36,503712.68 +10-4-2019 22:00,685705.52,319190.3,159595.15 +10-4-2019 23:00,752077.6,350086.04,175043.02 +11-4-2019 00:00,842525.92,392188.96,196094.48 +11-4-2019 01:00,876291.6,407906.6,203953.3 +11-4-2019 02:00,1018867.68,474274.56,237137.28 +11-4-2019 03:00,1446344.32,673261.44,336630.72 +11-4-2019 04:00,1722960.96,802024.24,401012.12 +11-4-2019 05:00,2063032.64,960324.8,480162.4 +11-4-2019 06:00,5448753.92,2536350.4,1268175.2 +11-4-2019 07:00,4231711.04,1969826.88,984913.44 +11-4-2019 08:00,6085852.8,2832914.88,1416457.44 +11-4-2019 09:00,2774748.48,1291622.96,645811.48 +11-4-2019 10:00,101787.9,47381.44,23690.72 +11-4-2019 11:00,287180.7,133680.28,66840.14 +11-4-2019 12:00,800539.76,372644.72,186322.36 +11-4-2019 13:00,506334.24,235694.46,117847.23 +11-4-2019 14:00,407560.24,189715.98,94857.99 +11-4-2019 15:00,220442.94,102614.4,51307.2 +11-4-2019 16:00,216596.38,100823.84,50411.92 +11-4-2019 17:00,3970829.44,1848388.64,924194.32 +11-4-2019 18:00,2864149.76,1333238.32,666619.16 +11-4-2019 19:00,3922499.84,1825891.68,912945.84 +11-4-2019 20:00,4482834.56,2086722.88,1043361.44 +11-4-2019 21:00,2529558.56,1177488.8,588744.4 +11-4-2019 22:00,778758.88,362505.92,181252.96 +11-4-2019 23:00,825789.6,384398.36,192199.18 +12-4-2019 00:00,822136.48,382697.84,191348.92 +12-4-2019 01:00,830959.84,386805.04,193402.52 +12-4-2019 02:00,843242.88,392522.68,196261.34 +12-4-2019 03:00,1303365.36,606705.92,303352.96 +12-4-2019 04:00,1506441.92,701236.4,350618.2 +12-4-2019 05:00,1762990.4,820657.6,410328.8 +12-4-2019 06:00,5022660.8,2338007.36,1169003.68 +12-4-2019 07:00,4528571.2,2108013.12,1054006.56 +12-4-2019 08:00,6513683.84,3032066.88,1516033.44 +12-4-2019 09:00,3328598.4,1549435.36,774717.68 +12-4-2019 10:00,737055.36,343093.24,171546.62 +12-4-2019 11:00,825433.68,384232.64,192116.32 +12-4-2019 12:00,2094800.32,975112.48,487556.24 +12-4-2019 13:00,1621612.0,754847.2,377423.6 +12-4-2019 14:00,1595539.84,742710.88,371355.44 +12-4-2019 15:00,1368400.96,636979.48,318489.74 +12-4-2019 16:00,194051.2,90329.26,45164.63 +12-4-2019 17:00,6667672.32,3103747.2,1551873.6 +12-4-2019 18:00,4273182.72,1989131.52,994565.76 +12-4-2019 19:00,5371976.32,2500610.88,1250305.44 +12-4-2019 20:00,5640275.2,2625502.24,1312751.12 +12-4-2019 21:00,3145477.12,1464194.08,732097.04 +12-4-2019 22:00,1002573.28,466689.72,233344.86 +12-4-2019 23:00,1016126.4,472998.6,236499.3 +13-4-2019 00:00,1007793.36,469119.64,234559.82 +13-4-2019 01:00,1027759.92,478413.8,239206.9 +13-4-2019 02:00,1590978.08,740587.36,370293.68 +13-4-2019 03:00,1977002.24,920278.48,460139.24 +13-4-2019 04:00,2433968.96,1132992.8,566496.4 +13-4-2019 05:00,2638376.64,1228142.8,614071.4 +13-4-2019 06:00,4035765.76,1878616.16,939308.08 +13-4-2019 07:00,4755543.36,2213666.56,1106833.28 +13-4-2019 08:00,9970605.44,4641235.2,2320617.6 +13-4-2019 09:00,7018623.36,3267111.68,1633555.84 +13-4-2019 10:00,2256348.8,1050311.92,525155.96 +13-4-2019 11:00,1986445.28,924674.16,462337.08 +13-4-2019 12:00,3299919.68,1536085.76,768042.88 +13-4-2019 13:00,2665089.92,1240577.6,620288.8 +13-4-2019 14:00,2182271.04,1015829.36,507914.68 +13-4-2019 15:00,1701006.24,791804.56,395902.28 +13-4-2019 16:00,1514721.44,705090.48,352545.24 +13-4-2019 17:00,1828396.64,851103.68,425551.84 +13-4-2019 18:00,5435879.68,2530357.6,1265178.8 +13-4-2019 19:00,6131469.44,2854149.12,1427074.56 +13-4-2019 20:00,4730398.4,2201961.92,1100980.96 +13-4-2019 21:00,2217268.48,1032120.48,516060.24 +13-4-2019 22:00,1325066.8,616807.8,308403.9 +13-4-2019 23:00,1334495.36,621196.64,310598.32 +14-4-2019 00:00,1479937.44,688898.72,344449.36 +14-4-2019 01:00,1956977.6,910957.2,455478.6 +14-4-2019 02:00,2309679.52,1075136.96,537568.48 +14-4-2019 03:00,2578158.24,1200111.6,600055.8 +14-4-2019 04:00,2710818.56,1261863.92,630931.96 +14-4-2019 05:00,2907782.08,1353548.8,676774.4 +14-4-2019 06:00,4462488.64,2077252.16,1038626.08 +14-4-2019 07:00,5688431.36,2647918.4,1323959.2 +14-4-2019 08:00,11809847.04,5497387.52,2748693.76 +14-4-2019 09:00,9152143.36,4260248.0,2130124 +14-4-2019 10:00,2511144.32,1168917.2,584458.6 +14-4-2019 11:00,1835946.08,854617.84,427308.92 +14-4-2019 12:00,2672366.4,1243964.56,621982.28 +14-4-2019 13:00,911957.36,424508.68,212254.34 +14-4-2019 14:00,113692.92,52923.12,26461.56 +14-4-2019 15:00,43578.04,20285.22,10142.61 +14-4-2019 16:00,47720.72,22213.6,11106.8 +14-4-2019 17:00,115887.16,53944.52,26972.26 +14-4-2019 18:00,2325704.16,1082596.32,541298.16 +14-4-2019 19:00,4648255.04,2163724.64,1081862.32 +14-4-2019 20:00,4063218.88,1891395.36,945697.68 +14-4-2019 21:00,1804698.56,840072.4,420036.2 +14-4-2019 22:00,985899.84,458928.36,229464.18 +14-4-2019 23:00,1022626.56,476024.32,238012.16 +15-4-2019 00:00,1107542.0,515551.8,257775.9 +15-4-2019 01:00,1425133.6,663388.08,331694.04 +15-4-2019 02:00,1699393.44,791053.76,395526.88 +15-4-2019 03:00,2044942.08,951903.84,475951.92 +15-4-2019 04:00,2144130.88,998075.36,499037.68 +15-4-2019 05:00,2404156.48,1119115.36,559557.68 +15-4-2019 06:00,6264917.76,2916267.84,1458133.92 +15-4-2019 07:00,4676966.72,2177090.08,1088545.04 +15-4-2019 08:00,7073505.92,3292659.2,1646329.6 +15-4-2019 09:00,3904635.2,1817575.84,908787.92 +15-4-2019 10:00,142972.24,66552.4,33276.2 +15-4-2019 11:00,704223.44,327810.3,163905.15 +15-4-2019 12:00,1255491.68,584421.16,292210.58 +15-4-2019 13:00,431091.84,200669.72,100334.86 +15-4-2019 14:00,618016.36,287681.58,143840.79 +15-4-2019 15:00,210711.94,98084.72,49042.36 +15-4-2019 16:00,44604.84,20763.18,10381.59 +15-4-2019 17:00,2647009.6,1232161.28,616080.64 +15-4-2019 18:00,1447132.64,673628.4,336814.2 +15-4-2019 19:00,2604732.96,1212481.92,606240.96 +15-4-2019 20:00,3601915.2,1676662.08,838331.04 +15-4-2019 21:00,2061208.8,959475.84,479737.92 +15-4-2019 22:00,565715.56,263335.96,131667.98 +15-4-2019 23:00,670394.04,312062.96,156031.48 +16-4-2019 00:00,742985.44,345853.68,172926.84 +16-4-2019 01:00,763959.36,355616.84,177808.42 +16-4-2019 02:00,780881.2,363493.84,181746.92 +16-4-2019 03:00,989154.8,460443.48,230221.74 +16-4-2019 04:00,1366548.32,636117.12,318058.56 +16-4-2019 05:00,1654943.68,770362.8,385181.4 +16-4-2019 06:00,4619893.12,2150522.88,1075261.44 +16-4-2019 07:00,4119029.76,1917374.72,958687.36 +16-4-2019 08:00,6171543.68,2872803.2,1436401.6 +16-4-2019 09:00,3463918.72,1612425.76,806212.88 +16-4-2019 10:00,531000.84,247176.56,123588.28 +16-4-2019 11:00,569871.28,265270.42,132635.21 +16-4-2019 12:00,745084.32,346830.64,173415.32 +16-4-2019 13:00,462971.76,215509.56,107754.78 +16-4-2019 14:00,566248.24,263583.92,131791.96 +16-4-2019 15:00,443661.0,206520.58,103260.29 +16-4-2019 16:00,55663.44,25910.88,12955.44 +16-4-2019 17:00,4931595.84,2295617.44,1147808.72 +16-4-2019 18:00,2456999.52,1143713.28,571856.64 +16-4-2019 19:00,3182476.48,1481417.12,740708.56 +16-4-2019 20:00,3584166.72,1668400.32,834200.16 +16-4-2019 21:00,1883116.8,876575.6,438287.8 +16-4-2019 22:00,536975.16,249957.56,124978.78 +16-4-2019 23:00,662905.84,308577.28,154288.64 +17-4-2019 00:00,729520.96,339586.04,169793.02 +17-4-2019 01:00,723613.68,336836.28,168418.14 +17-4-2019 02:00,734501.44,341904.44,170952.22 +17-4-2019 03:00,722135.84,336148.28,168074.14 +17-4-2019 04:00,974613.68,453674.72,226837.36 +17-4-2019 05:00,1227661.84,571466.6,285733.3 +17-4-2019 06:00,3902249.92,1816465.44,908232.72 +17-4-2019 07:00,4213903.68,1961537.92,980768.96 +17-4-2019 08:00,5649406.08,2629752.64,1314876.32 +17-4-2019 09:00,3127335.04,1455748.96,727874.48 +17-4-2019 10:00,267586.52,124559.36,62279.68 +17-4-2019 11:00,611865.24,284818.26,142409.13 +17-4-2019 12:00,1131937.04,526907.52,263453.76 +17-4-2019 13:00,595868.28,277371.8,138685.9 +17-4-2019 14:00,623768.72,290359.22,145179.61 +17-4-2019 15:00,550773.48,256380.62,128190.31 +17-4-2019 16:00,75334.62,35067.66,17533.83 +17-4-2019 17:00,5222304.32,2430940.16,1215470.08 +17-4-2019 18:00,2578187.04,1200125.12,600062.56 +17-4-2019 19:00,3363453.76,1565660.48,782830.24 +17-4-2019 20:00,3656062.08,1701866.88,850933.44 +17-4-2019 21:00,1819913.92,847155.12,423577.56 +17-4-2019 22:00,539386.72,251080.1,125540.05 +17-4-2019 23:00,555041.24,258367.18,129183.59 +18-4-2019 00:00,532745.68,247988.74,123994.37 +18-4-2019 01:00,534561.52,248834.04,124417.02 +18-4-2019 02:00,563682.68,262389.68,131194.84 +18-4-2019 03:00,589530.52,274421.66,137210.83 +18-4-2019 04:00,602511.28,280464.08,140232.04 +18-4-2019 05:00,655498.76,305129.34,152564.67 +18-4-2019 06:00,3071598.4,1429804.0,714902 +18-4-2019 07:00,3552538.24,1653677.6,826838.8 +18-4-2019 08:00,2686843.84,1250703.84,625351.92 +18-4-2019 09:00,1688890.72,786164.8,393082.4 +18-4-2019 10:00,100773.9,46909.42,23454.71 +18-4-2019 11:00,105351.66,49040.34,24520.17 +18-4-2019 12:00,196812.58,91614.66,45807.33 +18-4-2019 13:00,61685.68,28714.18,14357.09 +18-4-2019 14:00,65132.76,30318.76,15159.38 +18-4-2019 15:00,39648.74,18456.16,9228.08 +18-4-2019 16:00,44604.84,20763.18,10381.59 +18-4-2019 17:00,121888.02,56737.86,28368.93 +18-4-2019 18:00,229711.04,106928.62,53464.31 +18-4-2019 19:00,406910.84,189413.7,94706.85 +18-4-2019 20:00,702434.08,326977.36,163488.68 +18-4-2019 21:00,597345.2,278059.32,139029.66 +18-4-2019 22:00,68913.04,32078.46,16039.23 +18-4-2019 23:00,38665.64,17998.54,8999.27 +19-4-2019 00:00,30650.68,14267.64,7133.82 +19-4-2019 01:00,84276.16,39229.86,19614.93 +19-4-2019 02:00,199062.34,92661.9,46330.95 +19-4-2019 03:00,278584.54,129678.84,64839.42 +19-4-2019 04:00,293042.36,136408.82,68204.41 +19-4-2019 05:00,344909.28,160552.44,80276.22 +19-4-2019 06:00,1498185.6,697393.2,348696.6 +19-4-2019 07:00,2521385.44,1173684.48,586842.24 +19-4-2019 08:00,2211668.48,1029513.68,514756.84 +19-4-2019 09:00,1706485.92,794355.28,397177.64 +19-4-2019 10:00,100773.9,46909.42,23454.71 +19-4-2019 11:00,104312.16,48556.46,24278.23 +19-4-2019 12:00,192730.38,89714.42,44857.21 +19-4-2019 13:00,59473.12,27684.26,13842.13 +19-4-2019 14:00,53871.52,25076.76,12538.38 +19-4-2019 15:00,39648.74,18456.16,9228.08 +19-4-2019 16:00,44604.84,20763.18,10381.59 +19-4-2019 17:00,72689.36,33836.3,16918.15 +19-4-2019 18:00,130313.08,60659.68,30329.84 +19-4-2019 19:00,138244.92,64351.88,32175.94 +19-4-2019 20:00,150123.4,69881.22,34940.61 +19-4-2019 21:00,165618.46,77094.04,38547.02 +19-4-2019 22:00,67733.28,31529.28,15764.64 +19-4-2019 23:00,33040.64,15380.14,7690.07 +20-4-2019 00:00,12695.16,5909.5,2954.75 +20-4-2019 01:00,12202.62,5680.22,2840.11 +20-4-2019 02:00,17790.06,8281.14,4140.57 +20-4-2019 03:00,72581.36,33786.04,16893.02 +20-4-2019 04:00,171827.16,79984.14,39992.07 +20-4-2019 05:00,299564.42,139444.8,69722.4 +20-4-2019 06:00,1095260.16,509834.68,254917.34 +20-4-2019 07:00,1898299.52,883643.04,441821.52 +20-4-2019 08:00,1891019.36,880254.08,440127.04 +20-4-2019 09:00,965334.24,449355.2,224677.6 +20-4-2019 10:00,121036.22,56341.36,28170.68 +20-4-2019 11:00,87557.66,40757.36,20378.68 +20-4-2019 12:00,74341.38,34605.3,17302.65 +20-4-2019 13:00,59473.12,27684.26,13842.13 +20-4-2019 14:00,51212.96,23839.22,11919.61 +20-4-2019 15:00,39648.74,18456.16,9228.08 +20-4-2019 16:00,44604.84,20763.18,10381.59 +20-4-2019 17:00,72689.36,33836.3,16918.15 +20-4-2019 18:00,128858.44,59982.54,29991.27 +20-4-2019 19:00,130510.44,60751.54,30375.77 +20-4-2019 20:00,115642.16,53830.48,26915.24 +20-4-2019 21:00,95817.8,44602.4,22301.2 +20-4-2019 22:00,67733.28,31529.28,15764.64 +20-4-2019 23:00,33040.64,15380.14,7690.07 +21-4-2019 00:00,11564.22,5383.04,2691.52 +21-4-2019 01:00,6608.12,3076.02,1538.01 +21-4-2019 02:00,4506.42,2097.7,1048.85 +21-4-2019 03:00,8046.04,3745.36,1872.68 +21-4-2019 04:00,53421.2,24867.14,12433.57 +21-4-2019 05:00,144342.22,67190.12,33595.06 +21-4-2019 06:00,734755.76,342022.8,171011.4 +21-4-2019 07:00,1212090.48,564218.28,282109.14 +21-4-2019 08:00,956599.6,445289.28,222644.64 +21-4-2019 09:00,737248.96,343183.4,171591.7 +21-4-2019 10:00,122364.04,56959.46,28479.73 +21-4-2019 11:00,87557.66,40757.36,20378.68 +21-4-2019 12:00,74341.38,34605.3,17302.65 +21-4-2019 13:00,59473.12,27684.26,13842.13 +21-4-2019 14:00,51212.96,23839.22,11919.61 +21-4-2019 15:00,39648.74,18456.16,9228.08 +21-4-2019 16:00,44604.84,20763.18,10381.59 +21-4-2019 17:00,72689.36,33836.3,16918.15 +21-4-2019 18:00,128858.44,59982.54,29991.27 +21-4-2019 19:00,130510.44,60751.54,30375.77 +21-4-2019 20:00,115642.16,53830.48,26915.24 +21-4-2019 21:00,95817.8,44602.4,22301.2 +21-4-2019 22:00,67733.28,31529.28,15764.64 +21-4-2019 23:00,33040.64,15380.14,7690.07 +22-4-2019 00:00,11564.22,5383.04,2691.52 +22-4-2019 01:00,6608.12,3076.02,1538.01 +22-4-2019 02:00,6605.96,3075.02,1537.51 +22-4-2019 03:00,17785.74,8279.12,4139.56 +22-4-2019 04:00,83369.62,38807.88,19403.94 +22-4-2019 05:00,219172.4,102022.96,51011.48 +22-4-2019 06:00,450515.48,209711.28,104855.64 +22-4-2019 07:00,858424.64,399589.6,199794.8 +22-4-2019 08:00,497152.36,231420.38,115710.19 +22-4-2019 09:00,1018884.32,474282.36,237141.18 +22-4-2019 10:00,100773.9,46909.42,23454.71 +22-4-2019 11:00,94053.24,43781.02,21890.51 +22-4-2019 12:00,150178.34,69906.8,34953.4 +22-4-2019 13:00,59473.12,27684.26,13842.13 +22-4-2019 14:00,51212.96,23839.22,11919.61 +22-4-2019 15:00,39648.74,18456.16,9228.08 +22-4-2019 16:00,44604.84,20763.18,10381.59 +22-4-2019 17:00,72689.36,33836.3,16918.15 +22-4-2019 18:00,128858.44,59982.54,29991.27 +22-4-2019 19:00,131186.66,61066.32,30533.16 +22-4-2019 20:00,125521.44,58429.2,29214.6 +22-4-2019 21:00,101128.52,47074.5,23537.25 +22-4-2019 22:00,67733.28,31529.28,15764.64 +22-4-2019 23:00,33040.64,15380.14,7690.07 +23-4-2019 00:00,11564.22,5383.04,2691.52 +23-4-2019 01:00,8806.68,4099.44,2049.72 +23-4-2019 02:00,6200.64,2886.34,1443.17 +23-4-2019 03:00,7752.04,3608.5,1804.25 +23-4-2019 04:00,38482.02,17913.06,8956.53 +23-4-2019 05:00,87207.86,40594.54,20297.27 +23-4-2019 06:00,253840.48,118160.68,59080.34 +23-4-2019 07:00,642325.32,298997.2,149498.6 +23-4-2019 08:00,556653.12,259117.5,129558.75 +23-4-2019 09:00,943147.68,439027.56,219513.78 +23-4-2019 10:00,100773.9,46909.42,23454.71 +23-4-2019 11:00,97065.58,45183.24,22591.62 +23-4-2019 12:00,183834.38,85573.42,42786.71 +23-4-2019 13:00,60254.5,28047.98,14023.99 +23-4-2019 14:00,63495.6,29556.68,14778.34 +23-4-2019 15:00,53998.36,25135.8,12567.9 +23-4-2019 16:00,44604.84,20763.18,10381.59 +23-4-2019 17:00,101714.4,47347.22,23673.61 +23-4-2019 18:00,175503.74,81695.56,40847.78 +23-4-2019 19:00,222247.14,103454.24,51727.12 +23-4-2019 20:00,303282.9,141175.7,70587.85 +23-4-2019 21:00,258221.8,120200.14,60100.07 +23-4-2019 22:00,68774.66,32014.04,16007.02 +23-4-2019 23:00,37037.42,17240.62,8620.31 +24-4-2019 00:00,15967.36,7432.68,3716.34 +24-4-2019 01:00,28247.7,13149.08,6574.54 +24-4-2019 02:00,40532.96,18867.76,9433.88 +24-4-2019 03:00,69735.22,32461.18,16230.59 +24-4-2019 04:00,86671.08,40344.68,20172.34 +24-4-2019 05:00,109335.04,50894.58,25447.29 +24-4-2019 06:00,339167.28,157879.6,78939.8 +24-4-2019 07:00,695741.2,323861.84,161930.92 +24-4-2019 08:00,575469.96,267876.56,133938.28 +24-4-2019 09:00,657718.44,306162.56,153081.28 +24-4-2019 10:00,100773.9,46909.42,23454.71 +24-4-2019 11:00,90008.36,41898.14,20949.07 +24-4-2019 12:00,119130.28,55454.18,27727.09 +24-4-2019 13:00,59473.12,27684.26,13842.13 +24-4-2019 14:00,51212.96,23839.22,11919.61 +24-4-2019 15:00,39648.74,18456.16,9228.08 +24-4-2019 16:00,44604.84,20763.18,10381.59 +24-4-2019 17:00,72689.36,33836.3,16918.15 +24-4-2019 18:00,128858.44,59982.54,29991.27 +24-4-2019 19:00,130510.44,60751.54,30375.77 +24-4-2019 20:00,119452.36,55604.1,27802.05 +24-4-2019 21:00,101300.76,47154.66,23577.33 +24-4-2019 22:00,67733.28,31529.28,15764.64 +24-4-2019 23:00,33040.64,15380.14,7690.07 +25-4-2019 00:00,11939.06,5557.54,2778.77 +25-4-2019 01:00,11532.16,5368.12,2684.06 +25-4-2019 02:00,8660.68,4031.48,2015.74 +25-4-2019 03:00,53577.58,24939.92,12469.96 +25-4-2019 04:00,95134.2,44284.2,22142.1 +25-4-2019 05:00,185591.28,86391.22,43195.61 +25-4-2019 06:00,429835.04,200084.72,100042.36 +25-4-2019 07:00,798370.88,371635.12,185817.56 +25-4-2019 08:00,778130.16,362213.2,181106.6 +25-4-2019 09:00,1386793.76,645541.12,322770.56 +25-4-2019 10:00,100773.9,46909.42,23454.71 +25-4-2019 11:00,101595.74,47291.98,23645.99 +25-4-2019 12:00,192902.32,89794.46,44897.23 +25-4-2019 13:00,67639.04,31485.42,15742.71 +25-4-2019 14:00,87356.86,40663.9,20331.95 +25-4-2019 15:00,96276.72,44816.02,22408.01 +25-4-2019 16:00,44604.84,20763.18,10381.59 +25-4-2019 17:00,308192.54,143461.12,71730.56 +25-4-2019 18:00,455692.52,212121.14,106060.57 +25-4-2019 19:00,807596.96,375929.76,187964.88 +25-4-2019 20:00,1095880.96,510123.64,255061.82 +25-4-2019 21:00,643854.0,299708.84,149854.42 +25-4-2019 22:00,97389.38,45333.96,22666.98 +25-4-2019 23:00,99747.6,46431.7,23215.85 +26-4-2019 00:00,139264.24,64826.38,32413.19 +26-4-2019 01:00,236108.34,109906.5,54953.25 +26-4-2019 02:00,238921.6,111216.06,55608.03 +26-4-2019 03:00,251339.88,116996.7,58498.35 +26-4-2019 04:00,252148.46,117373.06,58686.53 +26-4-2019 05:00,269786.32,125583.34,62791.67 +26-4-2019 06:00,1066525.28,496458.8,248229.4 +26-4-2019 07:00,1869982.08,870461.44,435230.72 +26-4-2019 08:00,1879956.8,875104.64,437552.32 +26-4-2019 09:00,2008916.0,935134.0,467567 +26-4-2019 10:00,100773.9,46909.42,23454.71 +26-4-2019 11:00,164372.74,76514.18,38257.09 +26-4-2019 12:00,353803.16,164692.5,82346.25 +26-4-2019 13:00,85429.44,39766.7,19883.35 +26-4-2019 14:00,164100.6,76387.48,38193.74 +26-4-2019 15:00,111100.88,51716.54,25858.27 +26-4-2019 16:00,44604.84,20763.18,10381.59 +26-4-2019 17:00,512662.16,238640.04,119320.02 +26-4-2019 18:00,443090.96,206255.24,103127.62 +26-4-2019 19:00,730906.48,340231.0,170115.5 +26-4-2019 20:00,1191083.76,554439.76,277219.88 +26-4-2019 21:00,636304.44,296194.54,148097.27 +26-4-2019 22:00,95494.74,44452.02,22226.01 +26-4-2019 23:00,98463.8,45834.1,22917.05 +27-4-2019 00:00,160943.92,74918.08,37459.04 +27-4-2019 01:00,237526.98,110566.86,55283.43 +27-4-2019 02:00,245695.32,114369.16,57184.58 +27-4-2019 03:00,247643.54,115276.06,57638.03 +27-4-2019 04:00,263798.0,122795.84,61397.92 +27-4-2019 05:00,284692.78,132522.18,66261.09 +27-4-2019 06:00,1020876.08,475209.52,237604.76 +27-4-2019 07:00,2416018.72,1124637.12,562318.56 +27-4-2019 08:00,3116622.4,1450762.24,725381.12 +27-4-2019 09:00,3268062.4,1521256.64,760628.32 +27-4-2019 10:00,637523.64,296762.06,148381.03 +27-4-2019 11:00,292373.96,136097.7,68048.85 +27-4-2019 12:00,791086.64,368244.36,184122.18 +27-4-2019 13:00,348268.68,162116.24,81058.12 +27-4-2019 14:00,137393.68,63955.64,31977.82 +27-4-2019 15:00,41545.74,19339.2,9669.6 +27-4-2019 16:00,44604.84,20763.18,10381.59 +27-4-2019 17:00,79386.94,36953.98,18476.99 +27-4-2019 18:00,412044.04,191803.14,95901.57 +27-4-2019 19:00,1447894.56,673983.12,336991.56 +27-4-2019 20:00,1408278.88,655542.28,327771.14 +27-4-2019 21:00,765237.44,356211.8,178105.9 +27-4-2019 22:00,356289.84,165850.02,82925.01 +27-4-2019 23:00,371071.88,172730.94,86365.47 +28-4-2019 00:00,376116.04,175078.94,87539.47 +28-4-2019 01:00,418161.52,194650.78,97325.39 +28-4-2019 02:00,455459.48,212012.66,106006.33 +28-4-2019 03:00,459273.04,213787.88,106893.94 +28-4-2019 04:00,529742.32,246590.72,123295.36 +28-4-2019 05:00,750179.6,349202.48,174601.24 +28-4-2019 06:00,1448183.2,674117.52,337058.76 +28-4-2019 07:00,3331675.52,1550867.84,775433.92 +28-4-2019 08:00,5027475.52,2340248.8,1170124.4 +28-4-2019 09:00,4692366.08,2184258.24,1092129.12 +28-4-2019 10:00,1136433.84,529000.68,264500.34 +28-4-2019 11:00,535884.52,249449.86,124724.93 +28-4-2019 12:00,1112641.76,517925.6,258962.8 +28-4-2019 13:00,501055.4,233237.2,116618.6 +28-4-2019 14:00,128437.16,59786.44,29893.22 +28-4-2019 15:00,41000.48,19085.4,9542.7 +28-4-2019 16:00,47204.98,21973.52,10986.76 +28-4-2019 17:00,86507.46,40268.52,20134.26 +28-4-2019 18:00,439039.76,204369.44,102184.72 +28-4-2019 19:00,1665016.64,775051.6,387525.8 +28-4-2019 20:00,2033027.52,946357.76,473178.88 +28-4-2019 21:00,919065.68,427817.56,213908.78 +28-4-2019 22:00,459905.72,214082.36,107041.18 +28-4-2019 23:00,521652.52,242825.02,121412.51 +29-4-2019 00:00,551272.2,256612.74,128306.37 +29-4-2019 01:00,646801.8,301081.0,150540.5 +29-4-2019 02:00,668241.32,311060.88,155530.44 +29-4-2019 03:00,973414.72,453116.6,226558.3 +29-4-2019 04:00,1134761.36,528222.12,264111.06 +29-4-2019 05:00,1189733.52,553811.2,276905.6 +29-4-2019 06:00,2435535.36,1133721.84,566860.92 +29-4-2019 07:00,3791283.52,1764811.52,882405.76 +29-4-2019 08:00,4102613.76,1909733.28,954866.64 +29-4-2019 09:00,2598925.12,1209778.48,604889.24 +29-4-2019 10:00,163904.38,76296.14,38148.07 +29-4-2019 11:00,194852.28,90702.16,45351.08 +29-4-2019 12:00,485208.4,225860.52,112930.26 +29-4-2019 13:00,265446.1,123563.0,61781.5 +29-4-2019 14:00,282121.4,131325.2,65662.6 +29-4-2019 15:00,179681.36,83640.22,41820.11 +29-4-2019 16:00,44604.84,20763.18,10381.59 +29-4-2019 17:00,2094871.52,975145.6,487572.8 +29-4-2019 18:00,598735.52,278706.52,139353.26 +29-4-2019 19:00,1950820.16,908090.88,454045.44 +29-4-2019 20:00,2460730.88,1145450.16,572725.08 +29-4-2019 21:00,1412737.44,657617.8,328808.9 +29-4-2019 22:00,354765.92,165140.66,82570.33 +29-4-2019 23:00,350728.08,163261.08,81630.54 +30-4-2019 00:00,351789.28,163755.02,81877.51 +30-4-2019 01:00,427868.92,199169.5,99584.75 +30-4-2019 02:00,455104.44,211847.4,105923.7 +30-4-2019 03:00,502651.96,233980.4,116990.2 +30-4-2019 04:00,528147.88,245848.54,122924.27 +30-4-2019 05:00,539004.04,250901.98,125450.99 +30-4-2019 06:00,1589968.8,740117.52,370058.76 +30-4-2019 07:00,3213438.4,1495829.28,747914.64 +30-4-2019 08:00,2853905.92,1328470.0,664235 +30-4-2019 09:00,2677064.48,1246151.76,623075.88 +30-4-2019 10:00,231247.06,107643.62,53821.81 +30-4-2019 11:00,427641.88,199063.8,99531.9 +30-4-2019 12:00,959006.08,446409.52,223204.76 +30-4-2019 13:00,510694.32,237724.04,118862.02 +30-4-2019 14:00,437404.04,203608.02,101804.01 +30-4-2019 15:00,401873.4,187068.82,93534.41 +30-4-2019 16:00,63091.14,29368.42,14684.21 +30-4-2019 17:00,3240219.84,1508295.84,754147.92 +30-4-2019 18:00,805350.56,374884.12,187442.06 +30-4-2019 19:00,2577027.36,1199585.36,599792.68 +30-4-2019 20:00,3219671.04,1498730.72,749365.36 +30-4-2019 21:00,1718995.2,800178.24,400089.12 +30-4-2019 22:00,441589.28,205556.2,102778.1 +30-4-2019 23:00,509276.36,237064.0,118532 +1-5-2019 00:00,617755.0,287559.9,143779.95 +1-5-2019 01:00,709622.88,330323.64,165161.82 +1-5-2019 02:00,732632.24,341034.36,170517.18 +1-5-2019 03:00,719312.24,334833.98,167416.99 +1-5-2019 04:00,920697.84,428577.32,214288.66 +1-5-2019 05:00,1014848.56,472403.72,236201.86 +1-5-2019 06:00,2268947.2,1056176.48,528088.24 +1-5-2019 07:00,3643646.72,1696087.84,848043.92 +1-5-2019 08:00,3983845.44,1854447.68,927223.84 +1-5-2019 09:00,2895297.6,1347737.44,673868.72 +1-5-2019 10:00,247208.22,115073.42,57536.71 +1-5-2019 11:00,540120.68,251421.76,125710.88 +1-5-2019 12:00,618314.8,287820.56,143910.28 +1-5-2019 13:00,130737.6,60857.28,30428.64 +1-5-2019 14:00,324788.18,151186.26,75593.13 +1-5-2019 15:00,257688.12,119951.72,59975.86 +1-5-2019 16:00,67462.12,31403.06,15701.53 +1-5-2019 17:00,3168549.44,1474934.08,737467.04 +1-5-2019 18:00,825990.32,384491.76,192245.88 +1-5-2019 19:00,2629553.44,1224035.68,612017.84 +1-5-2019 20:00,3480266.88,1620036.0,810018 +1-5-2019 21:00,1963535.84,914009.92,457004.96 +1-5-2019 22:00,584792.8,272216.22,136108.11 +1-5-2019 23:00,674082.48,313779.88,156889.94 +2-5-2019 00:00,762104.48,354753.4,177376.7 +2-5-2019 01:00,791307.36,368347.12,184173.56 +2-5-2019 02:00,815268.96,379501.04,189750.52 +2-5-2019 03:00,1096191.2,510268.08,255134.04 +2-5-2019 04:00,1336955.04,622341.68,311170.84 +2-5-2019 05:00,1412025.28,657286.24,328643.12 +2-5-2019 06:00,2741706.24,1276241.84,638120.92 +2-5-2019 07:00,3904453.76,1817491.36,908745.68 +2-5-2019 08:00,4721265.6,2197710.72,1098855.36 +2-5-2019 09:00,2893406.4,1346857.12,673428.56 +2-5-2019 10:00,262674.38,122272.8,61136.4 +2-5-2019 11:00,585926.44,272743.98,136371.99 +2-5-2019 12:00,1166403.36,542951.28,271475.64 +2-5-2019 13:00,721088.08,335660.6,167830.3 +2-5-2019 14:00,623427.56,290200.4,145100.2 +2-5-2019 15:00,513431.44,238998.14,119499.07 +2-5-2019 16:00,71010.34,33054.74,16527.37 +2-5-2019 17:00,4685490.24,2181057.6,1090528.8 +2-5-2019 18:00,914970.72,425911.44,212955.72 +2-5-2019 19:00,3191683.84,1485702.88,742851.44 +2-5-2019 20:00,3779727.04,1759432.16,879716.08 +2-5-2019 21:00,2013344.64,937195.52,468597.76 +2-5-2019 22:00,594947.16,276943.06,138471.53 +2-5-2019 23:00,648509.84,301876.0,150938 +3-5-2019 00:00,663223.08,308724.94,154362.47 +3-5-2019 01:00,660133.6,307286.84,153643.42 +3-5-2019 02:00,675493.12,314436.56,157218.28 +3-5-2019 03:00,705683.92,328490.12,164245.06 +3-5-2019 04:00,978242.08,455363.68,227681.84 +3-5-2019 05:00,1158610.08,539323.56,269661.78 +3-5-2019 06:00,2588441.44,1204898.32,602449.16 +3-5-2019 07:00,3858652.48,1796171.36,898085.68 +3-5-2019 08:00,4684163.52,2180440.16,1090220.08 +3-5-2019 09:00,3097418.56,1441823.2,720911.6 +3-5-2019 10:00,393359.52,183105.66,91552.83 +3-5-2019 11:00,798090.0,371504.36,185752.18 +3-5-2019 12:00,1487066.56,692217.36,346108.68 +3-5-2019 13:00,936472.96,435920.52,217960.26 +3-5-2019 14:00,828348.32,385589.4,192794.7 +3-5-2019 15:00,789884.24,367684.68,183842.34 +3-5-2019 16:00,220217.72,102509.58,51254.79 +3-5-2019 17:00,5917966.08,2754765.12,1377382.56 +3-5-2019 18:00,1765574.24,821860.32,410930.16 +3-5-2019 19:00,4133766.72,1924234.56,962117.28 +3-5-2019 20:00,4599206.08,2140892.8,1070446.4 +3-5-2019 21:00,2521896.48,1173922.24,586961.12 +3-5-2019 22:00,828903.52,385847.84,192923.92 +3-5-2019 23:00,798194.0,371552.8,185776.4 +4-5-2019 00:00,805553.2,374978.44,187489.22 +4-5-2019 01:00,808682.64,376435.16,188217.58 +4-5-2019 02:00,823973.76,383553.08,191776.54 +4-5-2019 03:00,1218963.36,567417.56,283708.78 +4-5-2019 04:00,1451445.28,675636.0,337818 +4-5-2019 05:00,1591122.08,740654.32,370327.16 +4-5-2019 06:00,1564745.92,728376.48,364188.24 +4-5-2019 07:00,3923576.96,1826393.12,913196.56 +4-5-2019 08:00,6499511.04,3025469.76,1512734.88 +4-5-2019 09:00,5365286.08,2497496.64,1248748.32 +4-5-2019 10:00,1480209.76,689025.44,344512.72 +4-5-2019 11:00,706003.68,328638.92,164319.46 +4-5-2019 12:00,1715150.56,798388.64,399194.32 +4-5-2019 13:00,1633950.72,760590.72,380295.36 +4-5-2019 14:00,875188.88,407393.28,203696.64 +4-5-2019 15:00,39648.74,18456.16,9228.08 +4-5-2019 16:00,251994.36,117301.3,58650.65 +4-5-2019 17:00,75050.96,34935.62,17467.81 +4-5-2019 18:00,715368.8,332998.32,166499.16 +4-5-2019 19:00,3355301.76,1561865.76,780932.88 +4-5-2019 20:00,3326158.72,1548299.68,774149.84 +4-5-2019 21:00,1477811.84,687909.52,343954.76 +4-5-2019 22:00,810405.52,377237.2,188618.6 +4-5-2019 23:00,820840.32,382094.48,191047.24 +5-5-2019 00:00,834001.12,388220.72,194110.36 +5-5-2019 01:00,864370.4,402357.4,201178.7 +5-5-2019 02:00,1333564.8,620763.6,310381.8 +5-5-2019 03:00,1389885.12,646980.28,323490.14 +5-5-2019 04:00,1634746.4,760961.2,380480.6 +5-5-2019 05:00,1688964.64,786199.2,393099.6 +5-5-2019 06:00,2071067.36,964065.04,482032.52 +5-5-2019 07:00,4297304.64,2000360.32,1000180.16 +5-5-2019 08:00,8077144.96,3759845.12,1879922.56 +5-5-2019 09:00,6001357.44,2793582.72,1396791.36 +5-5-2019 10:00,2392524.48,1113700.56,556850.28 +5-5-2019 11:00,1821357.6,847827.12,423913.56 +5-5-2019 12:00,2689542.72,1251960.24,625980.12 +5-5-2019 13:00,572857.44,266660.46,133330.23 +5-5-2019 14:00,1062594.08,494628.92,247314.46 +5-5-2019 15:00,742593.12,345671.04,172835.52 +5-5-2019 16:00,616477.0,286965.02,143482.51 +5-5-2019 17:00,961471.44,447557.12,223778.56 +5-5-2019 18:00,1124335.92,523369.2,261684.6 +5-5-2019 19:00,4435591.68,2064732.0,1032366 +5-5-2019 20:00,3788334.4,1763438.88,881719.44 +5-5-2019 21:00,1683974.88,783876.56,391938.28 +5-5-2019 22:00,941506.08,438263.44,219131.72 +5-5-2019 23:00,942850.8,438889.36,219444.68 +6-5-2019 00:00,929502.16,432675.64,216337.82 +6-5-2019 01:00,1378032.64,641463.0,320731.5 +6-5-2019 02:00,1723901.44,802462.0,401231 +6-5-2019 03:00,2018522.08,939605.6,469802.8 +6-5-2019 04:00,2203332.8,1025633.28,512816.64 +6-5-2019 05:00,2268327.68,1055888.08,527944.04 +6-5-2019 06:00,3727684.8,1735206.88,867603.44 +6-5-2019 07:00,4410477.44,2053041.44,1026520.72 +6-5-2019 08:00,7125539.2,3316880.0,1658440 +6-5-2019 09:00,4384700.8,2041042.24,1020521.12 +6-5-2019 10:00,850126.56,395727.0,197863.5 +6-5-2019 11:00,1376593.44,640792.96,320396.48 +6-5-2019 12:00,2208300.32,1027945.84,513972.92 +6-5-2019 13:00,1535612.64,714815.12,357407.56 +6-5-2019 14:00,985220.56,458612.16,229306.08 +6-5-2019 15:00,1080010.0,502735.88,251367.94 +6-5-2019 16:00,378129.04,176016.0,88008 +6-5-2019 17:00,7279980.16,3388771.52,1694385.76 +6-5-2019 18:00,2216721.6,1031865.76,515932.88 +6-5-2019 19:00,4627748.16,2154179.2,1077089.6 +6-5-2019 20:00,5083860.48,2366495.36,1183247.68 +6-5-2019 21:00,2958670.08,1377236.64,688618.32 +6-5-2019 22:00,971144.56,452059.92,226029.96 +6-5-2019 23:00,934151.44,434839.84,217419.92 +7-5-2019 00:00,922826.96,429568.44,214784.22 +7-5-2019 01:00,972679.92,452774.56,226387.28 +7-5-2019 02:00,1289354.88,600184.16,300092.08 +7-5-2019 03:00,1686474.08,785039.92,392519.96 +7-5-2019 04:00,2013977.28,937490.08,468745.04 +7-5-2019 05:00,2128823.04,990949.84,495474.92 +7-5-2019 06:00,3821333.44,1778799.36,889399.68 +7-5-2019 07:00,4467809.92,2079729.28,1039864.64 +7-5-2019 08:00,7100721.92,3305328.32,1652664.16 +7-5-2019 09:00,4201176.32,1955613.44,977806.72 +7-5-2019 10:00,819319.84,381386.72,190693.36 +7-5-2019 11:00,1270381.44,591352.24,295676.12 +7-5-2019 12:00,2128328.64,990719.68,495359.84 +7-5-2019 13:00,1366134.88,635924.68,317962.34 +7-5-2019 14:00,1130069.36,526038.08,263019.04 +7-5-2019 15:00,930668.16,433218.4,216609.2 +7-5-2019 16:00,241063.5,112213.1,56106.55 +7-5-2019 17:00,6719998.72,3128104.64,1564052.32 +7-5-2019 18:00,1462511.2,680786.96,340393.48 +7-5-2019 19:00,4129223.68,1922119.84,961059.92 +7-5-2019 20:00,4838086.4,2252089.6,1126044.8 +7-5-2019 21:00,2866868.16,1334503.68,667251.84 +7-5-2019 22:00,900539.28,419193.68,209596.84 +7-5-2019 23:00,860443.76,400529.56,200264.78 +8-5-2019 00:00,798623.6,371752.8,185876.4 +8-5-2019 01:00,789471.36,367492.48,183746.24 +8-5-2019 02:00,795579.92,370336.0,185168 +8-5-2019 03:00,1133926.64,527833.56,263916.78 +8-5-2019 04:00,1327282.24,617839.04,308919.52 +8-5-2019 05:00,1468267.04,683466.4,341733.2 +8-5-2019 06:00,3121726.08,1453138.08,726569.04 +8-5-2019 07:00,4180112.32,1945808.16,972904.08 +8-5-2019 08:00,5996616.32,2791376.0,1395688 +8-5-2019 09:00,3463938.88,1612435.36,806217.68 +8-5-2019 10:00,637858.6,296917.94,148458.97 +8-5-2019 11:00,1147894.08,534335.28,267167.64 +8-5-2019 12:00,1915956.0,891861.92,445930.96 +8-5-2019 13:00,1393909.6,648853.56,324426.78 +8-5-2019 14:00,1146400.88,533640.24,266820.12 +8-5-2019 15:00,858232.88,399500.36,199750.18 +8-5-2019 16:00,237973.44,110774.7,55387.35 +8-5-2019 17:00,6549146.24,3048574.08,1524287.04 +8-5-2019 18:00,1296316.56,603424.88,301712.44 +8-5-2019 19:00,3812687.36,1774774.72,887387.36 +8-5-2019 20:00,4716540.16,2195510.72,1097755.36 +8-5-2019 21:00,2349472.0,1093660.0,546830 +8-5-2019 22:00,719096.08,334733.4,167366.7 +8-5-2019 23:00,706673.44,328950.74,164475.37 +9-5-2019 00:00,698888.8,325327.02,162663.51 +9-5-2019 01:00,726801.6,338320.24,169160.12 +9-5-2019 02:00,730314.24,339955.32,169977.66 +9-5-2019 03:00,808309.84,376261.6,188130.8 +9-5-2019 04:00,1201790.4,559423.64,279711.82 +9-5-2019 05:00,1294757.36,602698.96,301349.48 +9-5-2019 06:00,2491133.28,1159602.32,579801.16 +9-5-2019 07:00,3595946.88,1673883.84,836941.92 +9-5-2019 08:00,3694015.36,1719534.08,859767.04 +9-5-2019 09:00,2484223.68,1156386.0,578193 +9-5-2019 10:00,108467.52,50490.74,25245.37 +9-5-2019 11:00,387867.4,180549.08,90274.54 +9-5-2019 12:00,698344.24,325073.52,162536.76 +9-5-2019 13:00,473317.52,220325.44,110162.72 +9-5-2019 14:00,326621.56,152039.66,76019.83 +9-5-2019 15:00,202355.78,94194.98,47097.49 +9-5-2019 16:00,44838.78,20872.08,10436.04 +9-5-2019 17:00,3143432.32,1463242.08,731621.04 +9-5-2019 18:00,536768.72,249861.46,124930.73 +9-5-2019 19:00,2310268.48,1075411.12,537705.56 +9-5-2019 20:00,3112979.84,1449066.56,724533.28 +9-5-2019 21:00,1824333.44,849212.32,424606.16 +9-5-2019 22:00,432328.6,201245.42,100622.71 +9-5-2019 23:00,488068.92,227192.12,113596.06 +10-5-2019 00:00,560599.48,260954.46,130477.23 +10-5-2019 01:00,643515.68,299551.3,149775.65 +10-5-2019 02:00,649536.64,302353.98,151176.99 +10-5-2019 03:00,664568.8,309351.32,154675.66 +10-5-2019 04:00,740972.56,344916.72,172458.36 +10-5-2019 05:00,1000690.64,465813.36,232906.68 +10-5-2019 06:00,2409972.64,1121822.48,560911.24 +10-5-2019 07:00,3776251.2,1757814.08,878907.04 +10-5-2019 08:00,4257152.32,1981669.44,990834.72 +10-5-2019 09:00,3075172.48,1431467.68,715733.84 +10-5-2019 10:00,426934.64,198734.58,99367.29 +10-5-2019 11:00,744015.6,346333.16,173166.58 +10-5-2019 12:00,1305321.44,607616.44,303808.22 +10-5-2019 13:00,699964.4,325827.72,162913.86 +10-5-2019 14:00,653454.88,304177.94,152088.97 +10-5-2019 15:00,507249.16,236120.34,118060.17 +10-5-2019 16:00,48675.2,22657.9,11328.95 +10-5-2019 17:00,4817861.44,2242675.04,1121337.52 +10-5-2019 18:00,148975.46,69346.86,34673.43 +10-5-2019 19:00,2171532.96,1010830.8,505415.4 +10-5-2019 20:00,3699163.2,1721930.24,860965.12 +10-5-2019 21:00,2187174.88,1018112.16,509056.08 +10-5-2019 22:00,665661.24,309859.92,154929.96 +10-5-2019 23:00,716088.64,333333.4,166666.7 +11-5-2019 00:00,737912.64,343492.36,171746.18 +11-5-2019 01:00,755477.44,351668.56,175834.28 +11-5-2019 02:00,789077.36,367309.12,183654.56 +11-5-2019 03:00,916338.72,426548.2,213274.1 +11-5-2019 04:00,1264204.0,588476.64,294238.32 +11-5-2019 05:00,1319661.84,614291.88,307145.94 +11-5-2019 06:00,1801245.28,838464.96,419232.48 +11-5-2019 07:00,4295909.12,1999710.56,999855.28 +11-5-2019 08:00,8059498.24,3751630.72,1875815.36 +11-5-2019 09:00,6270811.52,2919011.52,1459505.76 +11-5-2019 10:00,1478931.52,688430.64,344215.32 +11-5-2019 11:00,791119.76,368259.8,184129.9 +11-5-2019 12:00,998752.64,464911.16,232455.58 +11-5-2019 13:00,62234.08,28969.46,14484.73 +11-5-2019 14:00,51212.96,23839.22,11919.61 +11-5-2019 15:00,39648.74,18456.16,9228.08 +11-5-2019 16:00,44604.84,20763.18,10381.59 +11-5-2019 17:00,72689.36,33836.3,16918.15 +11-5-2019 18:00,128886.32,59995.54,29997.77 +11-5-2019 19:00,557326.12,259430.78,129715.39 +11-5-2019 20:00,1421207.2,661560.36,330780.18 +11-5-2019 21:00,877978.32,408691.76,204345.88 +11-5-2019 22:00,442235.16,205856.86,102928.43 +11-5-2019 23:00,597285.4,278031.5,139015.75 +12-5-2019 00:00,652307.72,303643.92,151821.96 +12-5-2019 01:00,732111.44,340791.92,170395.96 +12-5-2019 02:00,773140.88,359890.76,179945.38 +12-5-2019 03:00,1141070.4,531158.92,265579.46 +12-5-2019 04:00,1306403.2,608120.04,304060.02 +12-5-2019 05:00,1208605.68,562596.08,281298.04 +12-5-2019 06:00,1467945.6,683316.64,341658.32 +12-5-2019 07:00,3556324.8,1655440.16,827720.08 +12-5-2019 08:00,5632383.36,2621828.16,1310914.08 +12-5-2019 09:00,4031757.44,1876750.24,938375.12 +12-5-2019 10:00,1351857.76,629278.8,314639.4 +12-5-2019 11:00,818696.64,381096.6,190548.3 +12-5-2019 12:00,1187080.96,552576.48,276288.24 +12-5-2019 13:00,254232.08,118342.96,59171.48 +12-5-2019 14:00,53807.84,25047.12,12523.56 +12-5-2019 15:00,39648.74,18456.16,9228.08 +12-5-2019 16:00,44604.84,20763.18,10381.59 +12-5-2019 17:00,72689.36,33836.3,16918.15 +12-5-2019 18:00,128858.44,59982.54,29991.27 +12-5-2019 19:00,155274.44,72278.98,36139.49 +12-5-2019 20:00,646669.12,301019.22,150509.61 +12-5-2019 21:00,451048.16,209959.24,104979.62 +12-5-2019 22:00,280812.54,130715.94,65357.97 +12-5-2019 23:00,430655.96,200466.82,100233.41 +13-5-2019 00:00,685263.68,318984.64,159492.32 +13-5-2019 01:00,794463.28,369816.2,184908.1 +13-5-2019 02:00,1118208.48,520517.04,260258.52 +13-5-2019 03:00,1404429.12,653750.24,326875.12 +13-5-2019 04:00,1621555.84,754821.04,377410.52 +13-5-2019 05:00,1669680.16,777222.56,388611.28 +13-5-2019 06:00,2546665.76,1185452.16,592726.08 +13-5-2019 07:00,3667280.0,1707088.96,853544.48 +13-5-2019 08:00,3818222.08,1777351.36,888675.68 +13-5-2019 09:00,1840758.56,856858.08,428429.04 +13-5-2019 10:00,100773.9,46909.42,23454.71 +13-5-2019 11:00,119865.72,55796.52,27898.26 +13-5-2019 12:00,308138.98,143436.18,71718.09 +13-5-2019 13:00,160807.18,74854.44,37427.22 +13-5-2019 14:00,265237.42,123465.86,61732.93 +13-5-2019 15:00,112775.54,52496.08,26248.04 +13-5-2019 16:00,44604.84,20763.18,10381.59 +13-5-2019 17:00,1098209.68,511207.64,255603.82 +13-5-2019 18:00,219023.94,101953.88,50976.94 +13-5-2019 19:00,1524964.96,709858.72,354929.36 +13-5-2019 20:00,2323423.84,1081534.88,540767.44 +13-5-2019 21:00,1329670.16,618950.56,309475.28 +13-5-2019 22:00,206172.26,95971.5,47985.75 +13-5-2019 23:00,382751.12,178167.54,89083.77 +14-5-2019 00:00,500808.4,233122.2,116561.1 +14-5-2019 01:00,622810.56,289913.24,144956.62 +14-5-2019 02:00,711461.2,331179.36,165589.68 +14-5-2019 03:00,907588.4,422474.96,211237.48 +14-5-2019 04:00,1326569.6,617507.32,308753.66 +14-5-2019 05:00,1364069.76,634963.2,317481.6 +14-5-2019 06:00,2647354.56,1232321.92,616160.96 +14-5-2019 07:00,3951660.16,1839465.44,919732.72 +14-5-2019 08:00,5002894.08,2328806.4,1164403.2 +14-5-2019 09:00,2639281.44,1228564.0,614282 +14-5-2019 10:00,100773.9,46909.42,23454.71 +14-5-2019 11:00,131536.76,61229.3,30614.65 +14-5-2019 12:00,270517.36,125923.62,62961.81 +14-5-2019 13:00,114481.58,53290.24,26645.12 +14-5-2019 14:00,241866.0,112586.66,56293.33 +14-5-2019 15:00,117202.0,54556.58,27278.29 +14-5-2019 16:00,48291.36,22479.22,11239.61 +14-5-2019 17:00,2059739.2,958791.84,479395.92 +14-5-2019 18:00,183679.62,85501.4,42750.7 +14-5-2019 19:00,1675299.36,779838.16,389919.08 +14-5-2019 20:00,2362573.92,1099758.88,549879.44 +14-5-2019 21:00,1354698.4,630601.0,315300.5 +14-5-2019 22:00,283542.02,131986.52,65993.26 +14-5-2019 23:00,390966.32,181991.66,90995.83 +15-5-2019 00:00,488188.36,227247.72,113623.86 +15-5-2019 01:00,601829.36,280146.64,140073.32 +15-5-2019 02:00,748855.68,348586.24,174293.12 +15-5-2019 03:00,777140.56,361752.6,180876.3 +15-5-2019 04:00,1195054.56,556288.16,278144.08 +15-5-2019 05:00,1085257.92,505178.72,252589.36 +15-5-2019 06:00,1991965.76,927243.68,463621.84 +15-5-2019 07:00,3179981.12,1480255.36,740127.68 +15-5-2019 08:00,2181405.44,1015426.56,507713.28 +15-5-2019 09:00,1470748.64,684621.52,342310.76 +15-5-2019 10:00,100773.9,46909.42,23454.71 +15-5-2019 11:00,117790.44,54830.48,27415.24 +15-5-2019 12:00,237847.8,110716.22,55358.11 +15-5-2019 13:00,73086.12,34020.98,17010.49 +15-5-2019 14:00,95987.96,44681.6,22340.8 +15-5-2019 15:00,58651.14,27301.62,13650.81 +15-5-2019 16:00,44604.84,20763.18,10381.59 +15-5-2019 17:00,622312.44,289681.36,144840.68 +15-5-2019 18:00,262963.08,122407.18,61203.59 +15-5-2019 19:00,1099757.84,511928.28,255964.14 +15-5-2019 20:00,1910368.0,889260.72,444630.36 +15-5-2019 21:00,978377.76,455426.88,227713.44 +15-5-2019 22:00,90311.6,42039.3,21019.65 +15-5-2019 23:00,128628.7,59875.6,29937.8 +16-5-2019 00:00,316081.82,147133.54,73566.77 +16-5-2019 01:00,378499.08,176188.24,88094.12 +16-5-2019 02:00,492683.84,229340.28,114670.14 +16-5-2019 03:00,632270.28,294316.68,147158.34 +16-5-2019 04:00,803004.0,373791.88,186895.94 +16-5-2019 05:00,995913.04,463589.4,231794.7 +16-5-2019 06:00,1895844.0,882499.92,441249.96 +16-5-2019 07:00,3427644.16,1595540.48,797770.24 +16-5-2019 08:00,3661561.92,1704427.2,852213.6 +16-5-2019 09:00,2801624.32,1304133.28,652066.64 +16-5-2019 10:00,175992.4,81923.02,40961.51 +16-5-2019 11:00,167077.4,77773.16,38886.58 +16-5-2019 12:00,505755.36,235424.98,117712.49 +16-5-2019 13:00,121312.78,56470.1,28235.05 +16-5-2019 14:00,239607.52,111535.36,55767.68 +16-5-2019 15:00,133185.08,61996.56,30998.28 +16-5-2019 16:00,44604.84,20763.18,10381.59 +16-5-2019 17:00,1798615.2,837240.64,418620.32 +16-5-2019 18:00,345022.16,160605.0,80302.5 +16-5-2019 19:00,1532493.6,713363.36,356681.68 +16-5-2019 20:00,2271627.52,1057424.08,528712.04 +16-5-2019 21:00,1268836.88,590633.24,295316.62 +16-5-2019 22:00,218263.36,101599.82,50799.91 +16-5-2019 23:00,318375.8,148201.34,74100.67 +17-5-2019 00:00,337533.4,157119.06,78559.53 +17-5-2019 01:00,380332.28,177041.56,88520.78 +17-5-2019 02:00,444266.32,206802.36,103401.18 +17-5-2019 03:00,520294.6,242192.9,121096.45 +17-5-2019 04:00,572329.96,266414.92,133207.46 +17-5-2019 05:00,543728.16,253101.0,126550.5 +17-5-2019 06:00,1630491.68,758980.56,379490.28 +17-5-2019 07:00,3249322.88,1512533.28,756266.64 +17-5-2019 08:00,2854734.08,1328855.44,664427.72 +17-5-2019 09:00,2554174.24,1188947.36,594473.68 +17-5-2019 10:00,200068.74,93130.38,46565.19 +17-5-2019 11:00,391968.68,182458.2,91229.1 +17-5-2019 12:00,597945.68,278338.84,139169.42 +17-5-2019 13:00,367492.2,171064.62,85532.31 +17-5-2019 14:00,385533.48,179462.7,89731.35 +17-5-2019 15:00,286944.7,133570.42,66785.21 +17-5-2019 16:00,49112.94,22861.68,11430.84 +17-5-2019 17:00,3082847.04,1435040.32,717520.16 +17-5-2019 18:00,529969.44,246696.44,123348.22 +17-5-2019 19:00,2175362.72,1012613.68,506306.84 +17-5-2019 20:00,2942381.44,1369654.4,684827.2 +17-5-2019 21:00,1579014.72,735018.56,367509.28 +17-5-2019 22:00,365876.24,170312.4,85156.2 +17-5-2019 23:00,365886.88,170317.36,85158.68 +18-5-2019 00:00,435938.92,202926.0,101463 +18-5-2019 01:00,480539.2,223687.06,111843.53 +18-5-2019 02:00,555471.68,258567.5,129283.75 +18-5-2019 03:00,551995.24,256949.24,128474.62 +18-5-2019 04:00,545556.08,253951.92,126975.96 +18-5-2019 05:00,515087.64,239769.08,119884.54 +18-5-2019 06:00,1395732.64,649702.2,324851.1 +18-5-2019 07:00,3024237.76,1407758.08,703879.04 +18-5-2019 08:00,3686302.08,1715943.68,857971.84 +18-5-2019 09:00,2690600.32,1252452.4,626226.2 +18-5-2019 10:00,505570.8,235339.1,117669.55 +18-5-2019 11:00,87557.66,40757.36,20378.68 +18-5-2019 12:00,90532.52,42142.16,21071.08 +18-5-2019 13:00,59473.12,27684.26,13842.13 +18-5-2019 14:00,51212.96,23839.22,11919.61 +18-5-2019 15:00,39648.74,18456.16,9228.08 +18-5-2019 16:00,44604.84,20763.18,10381.59 +18-5-2019 17:00,72689.36,33836.3,16918.15 +18-5-2019 18:00,128858.44,59982.54,29991.27 +18-5-2019 19:00,130510.44,60751.54,30375.77 +18-5-2019 20:00,136533.66,63555.32,31777.66 +18-5-2019 21:00,98788.54,45985.26,22992.63 +18-5-2019 22:00,67733.28,31529.28,15764.64 +18-5-2019 23:00,37041.12,17242.34,8621.17 +19-5-2019 00:00,17670.3,8225.38,4112.69 +19-5-2019 01:00,54223.86,25240.76,12620.38 +19-5-2019 02:00,98329.62,45771.64,22885.82 +19-5-2019 03:00,230055.26,107088.86,53544.43 +19-5-2019 04:00,265915.9,123781.66,61890.83 +19-5-2019 05:00,235141.66,109456.54,54728.27 +19-5-2019 06:00,791621.12,368493.16,184246.58 +19-5-2019 07:00,2040545.28,949857.2,474928.6 +19-5-2019 08:00,2876568.96,1339019.44,669509.72 +19-5-2019 09:00,2706048.0,1259643.28,629821.64 +19-5-2019 10:00,510403.64,237588.74,118794.37 +19-5-2019 11:00,105140.6,48942.08,24471.04 +19-5-2019 12:00,275654.64,128315.0,64157.5 +19-5-2019 13:00,66314.76,30868.98,15434.49 +19-5-2019 14:00,51212.96,23839.22,11919.61 +19-5-2019 15:00,39648.74,18456.16,9228.08 +19-5-2019 16:00,44604.84,20763.18,10381.59 +19-5-2019 17:00,72689.36,33836.3,16918.15 +19-5-2019 18:00,128858.44,59982.54,29991.27 +19-5-2019 19:00,175340.9,81619.76,40809.88 +19-5-2019 20:00,468888.64,218263.86,109131.93 +19-5-2019 21:00,153829.08,71606.18,35803.09 +19-5-2019 22:00,86383.9,40210.98,20105.49 +19-5-2019 23:00,94595.92,44033.62,22016.81 +20-5-2019 00:00,132936.14,61880.68,30940.34 +20-5-2019 01:00,232176.66,108076.36,54038.18 +20-5-2019 02:00,237450.98,110531.5,55265.75 +20-5-2019 03:00,242981.28,113105.8,56552.9 +20-5-2019 04:00,257467.28,119848.94,59924.47 +20-5-2019 05:00,241081.58,112221.5,56110.75 +20-5-2019 06:00,821551.52,382425.52,191212.76 +20-5-2019 07:00,1982344.96,922765.44,461382.72 +20-5-2019 08:00,1606936.0,748015.68,374007.84 +20-5-2019 09:00,1867577.12,869341.84,434670.92 +20-5-2019 10:00,111630.44,51963.06,25981.53 +20-5-2019 11:00,221388.02,103054.3,51527.15 +20-5-2019 12:00,436467.84,203172.22,101586.11 +20-5-2019 13:00,165167.66,76884.22,38442.11 +20-5-2019 14:00,176249.2,82042.56,41021.28 +20-5-2019 15:00,164331.16,76494.8,38247.4 +20-5-2019 16:00,44604.84,20763.18,10381.59 +20-5-2019 17:00,1017330.72,473559.16,236779.58 +20-5-2019 18:00,178064.98,82887.8,41443.9 +20-5-2019 19:00,1017863.68,473807.28,236903.64 +20-5-2019 20:00,1768802.88,823363.28,411681.64 +20-5-2019 21:00,926854.4,431443.16,215721.58 +20-5-2019 22:00,146151.16,68032.16,34016.08 +20-5-2019 23:00,225331.4,104889.96,52444.98 +21-5-2019 00:00,254920.8,118663.56,59331.78 +21-5-2019 01:00,268301.42,124892.12,62446.06 +21-5-2019 02:00,275511.14,128248.18,64124.09 +21-5-2019 03:00,306662.84,142749.06,71374.53 +21-5-2019 04:00,368927.2,171732.6,85866.3 +21-5-2019 05:00,344334.4,160284.86,80142.43 +21-5-2019 06:00,1001687.84,466277.48,233138.74 +21-5-2019 07:00,2310446.72,1075494.0,537747 +21-5-2019 08:00,1983908.0,923492.96,461746.48 +21-5-2019 09:00,2028163.52,944093.6,472046.8 +21-5-2019 10:00,156058.3,72643.86,36321.93 +21-5-2019 11:00,277117.18,128995.8,64497.9 +21-5-2019 12:00,533312.68,248252.72,124126.36 +21-5-2019 13:00,248686.86,115761.72,57880.86 +21-5-2019 14:00,278994.96,129869.9,64934.95 +21-5-2019 15:00,226033.76,105216.88,52608.44 +21-5-2019 16:00,45214.02,21046.76,10523.38 +21-5-2019 17:00,1767140.32,822589.44,411294.72 +21-5-2019 18:00,298235.04,138826.0,69413 +21-5-2019 19:00,1694711.84,788874.48,394437.24 +21-5-2019 20:00,2282167.68,1062330.32,531165.16 +21-5-2019 21:00,1251131.36,582391.48,291195.74 +21-5-2019 22:00,304014.56,141516.28,70758.14 +21-5-2019 23:00,301313.32,140258.9,70129.45 +22-5-2019 00:00,307057.96,142932.98,71466.49 +22-5-2019 01:00,350957.96,163368.06,81684.03 +22-5-2019 02:00,391618.64,182295.28,91147.64 +22-5-2019 03:00,399670.6,186043.38,93021.69 +22-5-2019 04:00,441233.44,205390.6,102695.3 +22-5-2019 05:00,404191.32,188147.76,94073.88 +22-5-2019 06:00,1161732.8,540777.16,270388.58 +22-5-2019 07:00,2106580.8,980596.24,490298.12 +22-5-2019 08:00,1499904.0,698193.04,349096.52 +22-5-2019 09:00,1610712.32,749773.44,374886.72 +22-5-2019 10:00,100773.9,46909.42,23454.71 +22-5-2019 11:00,141986.34,66093.48,33046.74 +22-5-2019 12:00,268647.5,125053.22,62526.61 +22-5-2019 13:00,65276.28,30385.56,15192.78 +22-5-2019 14:00,81608.24,37987.98,18993.99 +22-5-2019 15:00,49865.78,23212.12,11606.06 +22-5-2019 16:00,44604.84,20763.18,10381.59 +22-5-2019 17:00,97086.6,45193.0,22596.5 +22-5-2019 18:00,131198.56,61071.86,30535.93 +22-5-2019 19:00,237332.2,110476.22,55238.11 +22-5-2019 20:00,577591.6,268864.16,134432.08 +22-5-2019 21:00,567694.84,264257.36,132128.68 +22-5-2019 22:00,72568.36,33779.98,16889.99 +22-5-2019 23:00,68028.48,31666.7,15833.35 +23-5-2019 00:00,189498.68,88210.08,44105.04 +23-5-2019 01:00,320827.54,149342.62,74671.31 +23-5-2019 02:00,364708.88,169769.02,84884.51 +23-5-2019 03:00,481504.4,224136.38,112068.19 +23-5-2019 04:00,481696.72,224225.9,112112.95 +23-5-2019 05:00,430887.36,200574.56,100287.28 +23-5-2019 06:00,814186.16,378997.04,189498.52 +23-5-2019 07:00,1803055.36,839307.6,419653.8 +23-5-2019 08:00,1605938.24,747551.12,373775.56 +23-5-2019 09:00,1789706.72,833093.84,416546.92 +23-5-2019 10:00,100773.9,46909.42,23454.71 +23-5-2019 11:00,118893.72,55344.06,27672.03 +23-5-2019 12:00,199869.82,93037.78,46518.89 +23-5-2019 13:00,70702.46,32911.42,16455.71 +23-5-2019 14:00,118797.8,55299.4,27649.7 +23-5-2019 15:00,75230.64,35019.24,17509.62 +23-5-2019 16:00,44604.84,20763.18,10381.59 +23-5-2019 17:00,258334.32,120252.54,60126.27 +23-5-2019 18:00,128858.44,59982.54,29991.27 +23-5-2019 19:00,279230.68,129979.58,64989.79 +23-5-2019 20:00,638319.28,297132.42,148566.21 +23-5-2019 21:00,576103.88,268171.64,134085.82 +23-5-2019 22:00,72166.3,33592.82,16796.41 +23-5-2019 23:00,40547.64,18874.6,9437.3 +24-5-2019 00:00,73287.82,34114.88,17057.44 +24-5-2019 01:00,182830.58,85106.16,42553.08 +24-5-2019 02:00,274091.7,127587.44,63793.72 +24-5-2019 03:00,284204.72,132294.98,66147.49 +24-5-2019 04:00,326619.9,152038.9,76019.45 +24-5-2019 05:00,278022.88,129417.4,64708.7 +24-5-2019 06:00,693206.96,322682.18,161341.09 +24-5-2019 07:00,1562300.64,727238.24,363619.12 +24-5-2019 08:00,1353962.72,630258.6,315129.3 +24-5-2019 09:00,1585354.24,737969.44,368984.72 +24-5-2019 10:00,100773.9,46909.42,23454.71 +24-5-2019 11:00,109204.1,50833.6,25416.8 +24-5-2019 12:00,182269.74,84845.1,42422.55 +24-5-2019 13:00,59473.12,27684.26,13842.13 +24-5-2019 14:00,60522.32,28172.64,14086.32 +24-5-2019 15:00,39648.74,18456.16,9228.08 +24-5-2019 16:00,44604.84,20763.18,10381.59 +24-5-2019 17:00,72689.36,33836.3,16918.15 +24-5-2019 18:00,128858.44,59982.54,29991.27 +24-5-2019 19:00,130510.44,60751.54,30375.77 +24-5-2019 20:00,124153.38,57792.38,28896.19 +24-5-2019 21:00,112776.56,52496.56,26248.28 +24-5-2019 22:00,67733.28,31529.28,15764.64 +24-5-2019 23:00,33040.64,15380.14,7690.07 +25-5-2019 00:00,14825.12,6900.98,3450.49 +25-5-2019 01:00,16508.16,7684.42,3842.21 +25-5-2019 02:00,62372.52,29033.9,14516.95 +25-5-2019 03:00,212698.4,99009.38,49504.69 +25-5-2019 04:00,300958.16,140093.58,70046.79 +25-5-2019 05:00,248549.88,115697.94,57848.97 +25-5-2019 06:00,781410.24,363740.16,181870.08 +25-5-2019 07:00,2082427.52,969353.04,484676.52 +25-5-2019 08:00,2690072.0,1252206.64,626103.32 +25-5-2019 09:00,2664760.8,1240424.4,620212.2 +25-5-2019 10:00,398586.4,185538.7,92769.35 +25-5-2019 11:00,87557.66,40757.36,20378.68 +25-5-2019 12:00,78813.66,36687.12,18343.56 +25-5-2019 13:00,59473.12,27684.26,13842.13 +25-5-2019 14:00,51212.96,23839.22,11919.61 +25-5-2019 15:00,39648.74,18456.16,9228.08 +25-5-2019 16:00,44604.84,20763.18,10381.59 +25-5-2019 17:00,72689.36,33836.3,16918.15 +25-5-2019 18:00,128858.44,59982.54,29991.27 +25-5-2019 19:00,137495.04,64002.82,32001.41 +25-5-2019 20:00,182278.4,84849.12,42424.56 +25-5-2019 21:00,104832.76,48798.8,24399.4 +25-5-2019 22:00,73061.26,34009.42,17004.71 +25-5-2019 23:00,51827.88,24125.46,12062.73 +26-5-2019 00:00,84257.36,39221.12,19610.56 +26-5-2019 01:00,206057.5,95918.08,47959.04 +26-5-2019 02:00,261975.56,121947.48,60973.74 +26-5-2019 03:00,252603.22,117584.74,58792.37 +26-5-2019 04:00,243738.96,113458.5,56729.25 +26-5-2019 05:00,218570.68,101742.88,50871.44 +26-5-2019 06:00,846279.52,393936.24,196968.12 +26-5-2019 07:00,2086341.28,971174.8,485587.4 +26-5-2019 08:00,2454528.0,1142562.96,571281.48 +26-5-2019 09:00,2563311.84,1193200.8,596600.4 +26-5-2019 10:00,425600.56,198113.58,99056.79 +26-5-2019 11:00,89503.62,41663.2,20831.6 +26-5-2019 12:00,86924.94,40462.84,20231.42 +26-5-2019 13:00,60847.1,28323.84,14161.92 +26-5-2019 14:00,51212.96,23839.22,11919.61 +26-5-2019 15:00,39648.74,18456.16,9228.08 +26-5-2019 16:00,44604.84,20763.18,10381.59 +26-5-2019 17:00,72689.36,33836.3,16918.15 +26-5-2019 18:00,128858.44,59982.54,29991.27 +26-5-2019 19:00,130510.44,60751.54,30375.77 +26-5-2019 20:00,136081.72,63344.92,31672.46 +26-5-2019 21:00,99112.82,46136.2,23068.1 +26-5-2019 22:00,69832.12,32506.28,16253.14 +26-5-2019 23:00,37725.24,17560.8,8780.4 +27-5-2019 00:00,21476.3,9997.04,4998.52 +27-5-2019 01:00,53504.14,24905.74,12452.87 +27-5-2019 02:00,86508.96,40269.22,20134.61 +27-5-2019 03:00,169284.24,78800.44,39400.22 +27-5-2019 04:00,231784.72,107893.92,53946.96 +27-5-2019 05:00,200267.34,93222.82,46611.41 +27-5-2019 06:00,333586.88,155281.98,77640.99 +27-5-2019 07:00,934368.56,434940.92,217470.46 +27-5-2019 08:00,758417.44,353037.12,176518.56 +27-5-2019 09:00,1313375.52,611365.52,305682.76 +27-5-2019 10:00,100773.9,46909.42,23454.71 +27-5-2019 11:00,97917.34,45579.72,22789.86 +27-5-2019 12:00,224002.82,104271.48,52135.74 +27-5-2019 13:00,63509.66,29563.22,14781.61 +27-5-2019 14:00,77991.54,36304.42,18152.21 +27-5-2019 15:00,95908.62,44644.68,22322.34 +27-5-2019 16:00,44604.84,20763.18,10381.59 +27-5-2019 17:00,96885.1,45099.22,22549.61 +27-5-2019 18:00,128858.44,59982.54,29991.27 +27-5-2019 19:00,138133.18,64299.86,32149.93 +27-5-2019 20:00,237639.76,110619.38,55309.69 +27-5-2019 21:00,354598.0,165062.46,82531.23 +27-5-2019 22:00,68890.08,32067.76,16033.88 +27-5-2019 23:00,38434.24,17890.82,8945.41 +28-5-2019 00:00,38140.26,17753.98,8876.99 +28-5-2019 01:00,78346.04,36469.44,18234.72 +28-5-2019 02:00,177895.7,82808.98,41404.49 +28-5-2019 03:00,234598.7,109203.8,54601.9 +28-5-2019 04:00,256378.66,119342.2,59671.1 +28-5-2019 05:00,224890.82,104684.84,52342.42 +28-5-2019 06:00,419437.64,195244.8,97622.4 +28-5-2019 07:00,1242925.28,578571.6,289285.8 +28-5-2019 08:00,1274843.12,593429.08,296714.54 +28-5-2019 09:00,1813162.24,844012.24,422006.12 +28-5-2019 10:00,156227.2,72722.48,36361.24 +28-5-2019 11:00,246555.2,114769.42,57384.71 +28-5-2019 12:00,456290.04,212399.3,106199.65 +28-5-2019 13:00,168181.94,78287.32,39143.66 +28-5-2019 14:00,169552.68,78925.4,39462.7 +28-5-2019 15:00,135591.64,63116.8,31558.4 +28-5-2019 16:00,44604.84,20763.18,10381.59 +28-5-2019 17:00,121940.06,56762.1,28381.05 +28-5-2019 18:00,128858.44,59982.54,29991.27 +28-5-2019 19:00,165548.8,77061.62,38530.81 +28-5-2019 20:00,456609.36,212547.92,106273.96 +28-5-2019 21:00,445332.84,207298.82,103649.41 +28-5-2019 22:00,71392.58,33232.66,16616.33 +28-5-2019 23:00,68016.04,31660.92,15830.46 +29-5-2019 00:00,188297.44,87650.92,43825.46 +29-5-2019 01:00,335552.52,156196.98,78098.49 +29-5-2019 02:00,399996.36,186195.04,93097.52 +29-5-2019 03:00,488428.32,227359.42,113679.71 +29-5-2019 04:00,565417.72,263197.36,131598.68 +29-5-2019 05:00,546698.84,254483.86,127241.93 +29-5-2019 06:00,803230.32,373897.16,186948.58 +29-5-2019 07:00,1548934.4,721016.32,360508.16 +29-5-2019 08:00,979074.0,455750.96,227875.48 +29-5-2019 09:00,1149539.52,535101.24,267550.62 +29-5-2019 10:00,100773.9,46909.42,23454.71 +29-5-2019 11:00,93897.26,43708.4,21854.2 +29-5-2019 12:00,147619.64,68715.72,34357.86 +29-5-2019 13:00,59473.12,27684.26,13842.13 +29-5-2019 14:00,51212.96,23839.22,11919.61 +29-5-2019 15:00,39648.74,18456.16,9228.08 +29-5-2019 16:00,44604.84,20763.18,10381.59 +29-5-2019 17:00,72689.36,33836.3,16918.15 +29-5-2019 18:00,128858.44,59982.54,29991.27 +29-5-2019 19:00,130510.44,60751.54,30375.77 +29-5-2019 20:00,124445.8,57928.5,28964.25 +29-5-2019 21:00,110112.3,51256.38,25628.19 +29-5-2019 22:00,67733.28,31529.28,15764.64 +29-5-2019 23:00,33040.64,15380.14,7690.07 +30-5-2019 00:00,11564.22,5383.04,2691.52 +30-5-2019 01:00,9461.14,4404.08,2202.04 +30-5-2019 02:00,6737.38,3136.2,1568.1 +30-5-2019 03:00,27242.0,12680.92,6340.46 +30-5-2019 04:00,56235.98,26177.38,13088.69 +30-5-2019 05:00,91770.26,42718.3,21359.15 +30-5-2019 06:00,124325.82,57872.64,28936.32 +30-5-2019 07:00,470440.92,218986.4,109493.2 +30-5-2019 08:00,520521.8,242298.64,121149.32 +30-5-2019 09:00,1180492.08,549509.4,274754.7 +30-5-2019 10:00,100773.9,46909.42,23454.71 +30-5-2019 11:00,100892.4,46964.58,23482.29 +30-5-2019 12:00,315943.78,147069.26,73534.63 +30-5-2019 13:00,62548.38,29115.76,14557.88 +30-5-2019 14:00,78631.3,36602.24,18301.12 +30-5-2019 15:00,79112.1,36826.04,18413.02 +30-5-2019 16:00,44604.84,20763.18,10381.59 +30-5-2019 17:00,103008.84,47949.78,23974.89 +30-5-2019 18:00,128858.44,59982.54,29991.27 +30-5-2019 19:00,173888.8,80943.82,40471.91 +30-5-2019 20:00,243369.64,113286.58,56643.29 +30-5-2019 21:00,256159.34,119240.08,59620.04 +30-5-2019 22:00,67733.28,31529.28,15764.64 +30-5-2019 23:00,35531.74,16539.74,8269.87 +31-5-2019 00:00,15287.86,7116.38,3558.19 +31-5-2019 01:00,10549.36,4910.64,2455.32 +31-5-2019 02:00,15960.68,7429.56,3714.78 +31-5-2019 03:00,35789.36,16659.66,8329.83 +31-5-2019 04:00,57414.68,26726.06,13363.03 +31-5-2019 05:00,76395.52,35561.48,17780.74 +31-5-2019 06:00,108647.8,50574.66,25287.33 +31-5-2019 07:00,355185.4,165335.9,82667.95 +31-5-2019 08:00,330024.3,153623.62,76811.81 +31-5-2019 09:00,559734.88,260552.04,130276.02 +31-5-2019 10:00,100773.9,46909.42,23454.71 +31-5-2019 11:00,91726.46,42697.92,21348.96 +31-5-2019 12:00,139772.06,65062.76,32531.38 +31-5-2019 13:00,60384.76,28108.6,14054.3 +31-5-2019 14:00,52676.76,24520.6,12260.3 +31-5-2019 15:00,50433.0,23476.16,11738.08 +31-5-2019 16:00,44604.84,20763.18,10381.59 +31-5-2019 17:00,72767.64,33872.74,16936.37 +31-5-2019 18:00,128858.44,59982.54,29991.27 +31-5-2019 19:00,133944.26,62349.96,31174.98 +31-5-2019 20:00,151411.32,70480.72,35240.36 +31-5-2019 21:00,147305.08,68569.3,34284.65 +31-5-2019 22:00,67733.28,31529.28,15764.64 +31-5-2019 23:00,34234.9,15936.06,7968.03 +1-6-2019 00:00,16202.62,7542.18,3771.09 +1-6-2019 01:00,11627.28,5412.4,2706.2 +1-6-2019 02:00,45909.58,21370.54,10685.27 +1-6-2019 03:00,80869.9,37644.26,18822.13 +1-6-2019 04:00,152341.88,70913.9,35456.95 +1-6-2019 05:00,151310.04,70433.58,35216.79 +1-6-2019 06:00,435282.6,202620.48,101310.24 +1-6-2019 07:00,1091124.24,507909.48,253954.74 +1-6-2019 08:00,1072570.4,499272.72,249636.36 +1-6-2019 09:00,1271087.28,591680.8,295840.4 +1-6-2019 10:00,175457.56,81674.06,40837.03 +1-6-2019 11:00,87557.66,40757.36,20378.68 +1-6-2019 12:00,74341.38,34605.3,17302.65 +1-6-2019 13:00,59473.12,27684.26,13842.13 +1-6-2019 14:00,51212.96,23839.22,11919.61 +1-6-2019 15:00,39648.74,18456.16,9228.08 +1-6-2019 16:00,44604.84,20763.18,10381.59 +1-6-2019 17:00,72689.36,33836.3,16918.15 +1-6-2019 18:00,128858.44,59982.54,29991.27 +1-6-2019 19:00,130510.44,60751.54,30375.77 +1-6-2019 20:00,115642.16,53830.48,26915.24 +1-6-2019 21:00,95817.8,44602.4,22301.2 +1-6-2019 22:00,67733.28,31529.28,15764.64 +1-6-2019 23:00,33040.64,15380.14,7690.07 +2-6-2019 00:00,11564.22,5383.04,2691.52 +2-6-2019 01:00,6608.12,3076.02,1538.01 +2-6-2019 02:00,3428.96,1596.16,798.08 +2-6-2019 03:00,5784.46,2692.62,1346.31 +2-6-2019 04:00,7310.34,3402.9,1701.45 +2-6-2019 05:00,14702.56,6843.92,3421.96 +2-6-2019 06:00,107202.88,49902.06,24951.03 +2-6-2019 07:00,306020.5,142450.06,71225.03 +2-6-2019 08:00,146225.02,68066.56,34033.28 +2-6-2019 09:00,180045.34,83809.64,41904.82 +2-6-2019 10:00,100773.9,46909.42,23454.71 +2-6-2019 11:00,87557.66,40757.36,20378.68 +2-6-2019 12:00,74341.38,34605.3,17302.65 +2-6-2019 13:00,59473.12,27684.26,13842.13 +2-6-2019 14:00,51212.96,23839.22,11919.61 +2-6-2019 15:00,39648.74,18456.16,9228.08 +2-6-2019 16:00,44604.84,20763.18,10381.59 +2-6-2019 17:00,72689.36,33836.3,16918.15 +2-6-2019 18:00,128858.44,59982.54,29991.27 +2-6-2019 19:00,130510.44,60751.54,30375.77 +2-6-2019 20:00,115642.16,53830.48,26915.24 +2-6-2019 21:00,95817.8,44602.4,22301.2 +2-6-2019 22:00,67733.28,31529.28,15764.64 +2-6-2019 23:00,33040.64,15380.14,7690.07 +3-6-2019 00:00,11564.22,5383.04,2691.52 +3-6-2019 01:00,6608.12,3076.02,1538.01 +3-6-2019 02:00,1651.22,768.62,384.31 +3-6-2019 03:00,1651.22,768.62,384.31 +3-6-2019 04:00,3304.06,1538.02,769.01 +3-6-2019 05:00,11564.22,5383.04,2691.52 +3-6-2019 06:00,92513.76,43064.38,21532.19 +3-6-2019 07:00,153638.9,71517.64,35758.82 +3-6-2019 08:00,118946.24,55368.5,27684.25 +3-6-2019 09:00,140422.64,65365.58,32682.79 +3-6-2019 10:00,100773.9,46909.42,23454.71 +3-6-2019 11:00,87557.66,40757.36,20378.68 +3-6-2019 12:00,74341.38,34605.3,17302.65 +3-6-2019 13:00,59473.12,27684.26,13842.13 +3-6-2019 14:00,51212.96,23839.22,11919.61 +3-6-2019 15:00,39648.74,18456.16,9228.08 +3-6-2019 16:00,44604.84,20763.18,10381.59 +3-6-2019 17:00,72689.36,33836.3,16918.15 +3-6-2019 18:00,128858.44,59982.54,29991.27 +3-6-2019 19:00,130510.44,60751.54,30375.77 +3-6-2019 20:00,115642.16,53830.48,26915.24 +3-6-2019 21:00,95817.8,44602.4,22301.2 +3-6-2019 22:00,67733.28,31529.28,15764.64 +3-6-2019 23:00,33040.64,15380.14,7690.07 +4-6-2019 00:00,11564.22,5383.04,2691.52 +4-6-2019 01:00,6608.12,3076.02,1538.01 +4-6-2019 02:00,1651.22,768.62,384.31 +4-6-2019 03:00,3653.5,1700.68,850.34 +4-6-2019 04:00,7553.66,3516.16,1758.08 +4-6-2019 05:00,14783.06,6881.38,3440.69 +4-6-2019 06:00,92513.76,43064.38,21532.19 +4-6-2019 07:00,165276.44,76934.82,38467.41 +4-6-2019 08:00,118946.24,55368.5,27684.25 +4-6-2019 09:00,140422.64,65365.58,32682.79 +4-6-2019 10:00,100773.9,46909.42,23454.71 +4-6-2019 11:00,87557.66,40757.36,20378.68 +4-6-2019 12:00,74341.38,34605.3,17302.65 +4-6-2019 13:00,59473.12,27684.26,13842.13 +4-6-2019 14:00,51212.96,23839.22,11919.61 +4-6-2019 15:00,39648.74,18456.16,9228.08 +4-6-2019 16:00,44604.84,20763.18,10381.59 +4-6-2019 17:00,72689.36,33836.3,16918.15 +4-6-2019 18:00,128858.44,59982.54,29991.27 +4-6-2019 19:00,130510.44,60751.54,30375.77 +4-6-2019 20:00,115642.16,53830.48,26915.24 +4-6-2019 21:00,95817.8,44602.4,22301.2 +4-6-2019 22:00,67733.28,31529.28,15764.64 +4-6-2019 23:00,33040.64,15380.14,7690.07 +5-6-2019 00:00,11564.22,5383.04,2691.52 +5-6-2019 01:00,6608.12,3076.02,1538.01 +5-6-2019 02:00,1651.22,768.62,384.31 +5-6-2019 03:00,1651.22,768.62,384.31 +5-6-2019 04:00,3304.06,1538.02,769.01 +5-6-2019 05:00,11564.22,5383.04,2691.52 +5-6-2019 06:00,92513.76,43064.38,21532.19 +5-6-2019 07:00,153638.9,71517.64,35758.82 +5-6-2019 08:00,118946.24,55368.5,27684.25 +5-6-2019 09:00,140422.64,65365.58,32682.79 +5-6-2019 10:00,100773.9,46909.42,23454.71 +5-6-2019 11:00,87557.66,40757.36,20378.68 +5-6-2019 12:00,82160.92,38245.24,19122.62 +5-6-2019 13:00,59473.12,27684.26,13842.13 +5-6-2019 14:00,51212.96,23839.22,11919.61 +5-6-2019 15:00,39648.74,18456.16,9228.08 +5-6-2019 16:00,44604.84,20763.18,10381.59 +5-6-2019 17:00,72689.36,33836.3,16918.15 +5-6-2019 18:00,128858.44,59982.54,29991.27 +5-6-2019 19:00,130510.44,60751.54,30375.77 +5-6-2019 20:00,115642.16,53830.48,26915.24 +5-6-2019 21:00,95817.8,44602.4,22301.2 +5-6-2019 22:00,67733.28,31529.28,15764.64 +5-6-2019 23:00,33040.64,15380.14,7690.07 +6-6-2019 00:00,11564.22,5383.04,2691.52 +6-6-2019 01:00,6608.12,3076.02,1538.01 +6-6-2019 02:00,2668.0,1241.94,620.97 +6-6-2019 03:00,5392.9,2510.36,1255.18 +6-6-2019 04:00,6979.52,3248.92,1624.46 +6-6-2019 05:00,14773.88,6877.12,3438.56 +6-6-2019 06:00,92513.76,43064.38,21532.19 +6-6-2019 07:00,206707.48,96220.64,48110.32 +6-6-2019 08:00,136227.74,63412.9,31706.45 +6-6-2019 09:00,140422.64,65365.58,32682.79 +6-6-2019 10:00,100773.9,46909.42,23454.71 +6-6-2019 11:00,87557.66,40757.36,20378.68 +6-6-2019 12:00,103168.86,48024.26,24012.13 +6-6-2019 13:00,59473.12,27684.26,13842.13 +6-6-2019 14:00,51212.96,23839.22,11919.61 +6-6-2019 15:00,39648.74,18456.16,9228.08 +6-6-2019 16:00,44604.84,20763.18,10381.59 +6-6-2019 17:00,72689.36,33836.3,16918.15 +6-6-2019 18:00,128858.44,59982.54,29991.27 +6-6-2019 19:00,130510.44,60751.54,30375.77 +6-6-2019 20:00,115642.16,53830.48,26915.24 +6-6-2019 21:00,95817.8,44602.4,22301.2 +6-6-2019 22:00,67733.28,31529.28,15764.64 +6-6-2019 23:00,33040.64,15380.14,7690.07 +7-6-2019 00:00,11564.22,5383.04,2691.52 +7-6-2019 01:00,6608.12,3076.02,1538.01 +7-6-2019 02:00,5940.48,2765.24,1382.62 +7-6-2019 03:00,6355.7,2958.52,1479.26 +7-6-2019 04:00,12217.96,5687.36,2843.68 +7-6-2019 05:00,36431.52,16958.58,8479.29 +7-6-2019 06:00,92513.76,43064.38,21532.19 +7-6-2019 07:00,237936.96,110757.72,55378.86 +7-6-2019 08:00,176016.56,81934.3,40967.15 +7-6-2019 09:00,140422.64,65365.58,32682.79 +7-6-2019 10:00,100773.9,46909.42,23454.71 +7-6-2019 11:00,87557.66,40757.36,20378.68 +7-6-2019 12:00,114970.06,53517.62,26758.81 +7-6-2019 13:00,59473.12,27684.26,13842.13 +7-6-2019 14:00,51212.96,23839.22,11919.61 +7-6-2019 15:00,39648.74,18456.16,9228.08 +7-6-2019 16:00,44604.84,20763.18,10381.59 +7-6-2019 17:00,72689.36,33836.3,16918.15 +7-6-2019 18:00,128858.44,59982.54,29991.27 +7-6-2019 19:00,130510.44,60751.54,30375.77 +7-6-2019 20:00,115642.16,53830.48,26915.24 +7-6-2019 21:00,95817.8,44602.4,22301.2 +7-6-2019 22:00,67733.28,31529.28,15764.64 +7-6-2019 23:00,33040.64,15380.14,7690.07 +8-6-2019 00:00,11564.22,5383.04,2691.52 +8-6-2019 01:00,8821.8,4106.48,2053.24 +8-6-2019 02:00,5025.68,2339.4,1169.7 +8-6-2019 03:00,5133.76,2389.72,1194.86 +8-6-2019 04:00,6784.3,3158.04,1579.02 +8-6-2019 05:00,27995.86,13031.84,6515.92 +8-6-2019 06:00,115237.8,53642.26,26821.13 +8-6-2019 07:00,413631.6,192542.12,96271.06 +8-6-2019 08:00,220858.78,102807.98,51403.99 +8-6-2019 09:00,505102.28,235121.0,117560.5 +8-6-2019 10:00,124532.16,57968.7,28984.35 +8-6-2019 11:00,87557.66,40757.36,20378.68 +8-6-2019 12:00,83545.16,38889.58,19444.79 +8-6-2019 13:00,62715.64,29193.62,14596.81 +8-6-2019 14:00,51212.96,23839.22,11919.61 +8-6-2019 15:00,39648.74,18456.16,9228.08 +8-6-2019 16:00,44604.84,20763.18,10381.59 +8-6-2019 17:00,72689.36,33836.3,16918.15 +8-6-2019 18:00,128858.44,59982.54,29991.27 +8-6-2019 19:00,130510.44,60751.54,30375.77 +8-6-2019 20:00,115642.16,53830.48,26915.24 +8-6-2019 21:00,95817.8,44602.4,22301.2 +8-6-2019 22:00,67733.28,31529.28,15764.64 +8-6-2019 23:00,33040.64,15380.14,7690.07 +9-6-2019 00:00,11564.22,5383.04,2691.52 +9-6-2019 01:00,8044.76,3744.78,1872.39 +9-6-2019 02:00,6192.66,2882.64,1441.32 +9-6-2019 03:00,6811.46,3170.68,1585.34 +9-6-2019 04:00,38343.74,17848.7,8924.35 +9-6-2019 05:00,51672.44,24053.1,12026.55 +9-6-2019 06:00,152391.8,70937.14,35468.57 +9-6-2019 07:00,495977.36,230873.42,115436.71 +9-6-2019 08:00,316635.56,147391.26,73695.63 +9-6-2019 09:00,656211.6,305461.12,152730.56 +9-6-2019 10:00,129164.66,60125.1,30062.55 +9-6-2019 11:00,87557.66,40757.36,20378.68 +9-6-2019 12:00,74884.62,34858.18,17429.09 +9-6-2019 13:00,59473.12,27684.26,13842.13 +9-6-2019 14:00,51212.96,23839.22,11919.61 +9-6-2019 15:00,39648.74,18456.16,9228.08 +9-6-2019 16:00,44604.84,20763.18,10381.59 +9-6-2019 17:00,72689.36,33836.3,16918.15 +9-6-2019 18:00,128858.44,59982.54,29991.27 +9-6-2019 19:00,130510.44,60751.54,30375.77 +9-6-2019 20:00,118656.36,55233.56,27616.78 +9-6-2019 21:00,95817.8,44602.4,22301.2 +9-6-2019 22:00,67733.28,31529.28,15764.64 +9-6-2019 23:00,33040.64,15380.14,7690.07 +10-6-2019 00:00,14251.5,6633.96,3316.98 +10-6-2019 01:00,10419.84,4850.36,2425.18 +10-6-2019 02:00,5523.22,2571.02,1285.51 +10-6-2019 03:00,16087.7,7488.7,3744.35 +10-6-2019 04:00,37875.9,17630.92,8815.46 +10-6-2019 05:00,39965.12,18603.44,9301.72 +10-6-2019 06:00,92513.76,43064.38,21532.19 +10-6-2019 07:00,257930.38,120064.52,60032.26 +10-6-2019 08:00,134944.94,62815.76,31407.88 +10-6-2019 09:00,140422.64,65365.58,32682.79 +10-6-2019 10:00,100773.9,46909.42,23454.71 +10-6-2019 11:00,87557.66,40757.36,20378.68 +10-6-2019 12:00,86689.54,40353.26,20176.63 +10-6-2019 13:00,59473.12,27684.26,13842.13 +10-6-2019 14:00,51212.96,23839.22,11919.61 +10-6-2019 15:00,39648.74,18456.16,9228.08 +10-6-2019 16:00,44604.84,20763.18,10381.59 +10-6-2019 17:00,72689.36,33836.3,16918.15 +10-6-2019 18:00,128858.44,59982.54,29991.27 +10-6-2019 19:00,130510.44,60751.54,30375.77 +10-6-2019 20:00,115642.16,53830.48,26915.24 +10-6-2019 21:00,95817.8,44602.4,22301.2 +10-6-2019 22:00,67733.28,31529.28,15764.64 +10-6-2019 23:00,33040.64,15380.14,7690.07 +11-6-2019 00:00,11564.22,5383.04,2691.52 +11-6-2019 01:00,6608.12,3076.02,1538.01 +11-6-2019 02:00,1911.54,889.82,444.91 +11-6-2019 03:00,5250.92,2444.26,1222.13 +11-6-2019 04:00,6980.52,3249.38,1624.69 +11-6-2019 05:00,15066.4,7013.28,3506.64 +11-6-2019 06:00,92513.76,43064.38,21532.19 +11-6-2019 07:00,215197.18,100172.54,50086.27 +11-6-2019 08:00,172714.76,80397.32,40198.66 +11-6-2019 09:00,267708.98,124616.36,62308.18 +11-6-2019 10:00,100773.9,46909.42,23454.71 +11-6-2019 11:00,87705.96,40826.4,20413.2 +11-6-2019 12:00,122544.82,57043.62,28521.81 +11-6-2019 13:00,59473.12,27684.26,13842.13 +11-6-2019 14:00,51212.96,23839.22,11919.61 +11-6-2019 15:00,39648.74,18456.16,9228.08 +11-6-2019 16:00,44604.84,20763.18,10381.59 +11-6-2019 17:00,72689.36,33836.3,16918.15 +11-6-2019 18:00,128858.44,59982.54,29991.27 +11-6-2019 19:00,130510.44,60751.54,30375.77 +11-6-2019 20:00,115642.16,53830.48,26915.24 +11-6-2019 21:00,95817.8,44602.4,22301.2 +11-6-2019 22:00,67733.28,31529.28,15764.64 +11-6-2019 23:00,33040.64,15380.14,7690.07 +12-6-2019 00:00,11955.8,5565.32,2782.66 +12-6-2019 01:00,10474.38,4875.74,2437.87 +12-6-2019 02:00,5559.72,2588.0,1294 +12-6-2019 03:00,6429.0,2992.64,1496.32 +12-6-2019 04:00,32790.1,15263.52,7631.76 +12-6-2019 05:00,43703.66,20343.7,10171.85 +12-6-2019 06:00,92513.76,43064.38,21532.19 +12-6-2019 07:00,252183.48,117389.36,58694.68 +12-6-2019 08:00,205094.36,95469.76,47734.88 +12-6-2019 09:00,354267.76,164908.74,82454.37 +12-6-2019 10:00,100773.9,46909.42,23454.71 +12-6-2019 11:00,89585.66,41701.38,20850.69 +12-6-2019 12:00,136012.56,63312.72,31656.36 +12-6-2019 13:00,61782.66,28759.32,14379.66 +12-6-2019 14:00,51212.96,23839.22,11919.61 +12-6-2019 15:00,56554.5,26325.66,13162.83 +12-6-2019 16:00,44604.84,20763.18,10381.59 +12-6-2019 17:00,72689.36,33836.3,16918.15 +12-6-2019 18:00,128858.44,59982.54,29991.27 +12-6-2019 19:00,130510.44,60751.54,30375.77 +12-6-2019 20:00,115642.16,53830.48,26915.24 +12-6-2019 21:00,100233.68,46657.96,23328.98 +12-6-2019 22:00,67733.28,31529.28,15764.64 +12-6-2019 23:00,34191.26,15915.76,7957.88 +13-6-2019 00:00,16311.08,7592.68,3796.34 +13-6-2019 01:00,16654.56,7752.56,3876.28 +13-6-2019 02:00,45215.42,21047.42,10523.71 +13-6-2019 03:00,51306.86,23882.92,11941.46 +13-6-2019 04:00,74078.9,34483.14,17241.57 +13-6-2019 05:00,77367.36,36013.86,18006.93 +13-6-2019 06:00,96226.9,44792.84,22396.42 +13-6-2019 07:00,380834.64,177275.42,88637.71 +13-6-2019 08:00,370515.0,172471.72,86235.86 +13-6-2019 09:00,876079.2,407807.72,203903.86 +13-6-2019 10:00,100773.9,46909.42,23454.71 +13-6-2019 11:00,92687.14,43145.1,21572.55 +13-6-2019 12:00,153353.24,71384.68,35692.34 +13-6-2019 13:00,61191.62,28484.2,14242.1 +13-6-2019 14:00,59863.46,27865.96,13932.98 +13-6-2019 15:00,58536.58,27248.3,13624.15 +13-6-2019 16:00,44604.84,20763.18,10381.59 +13-6-2019 17:00,72689.36,33836.3,16918.15 +13-6-2019 18:00,128858.44,59982.54,29991.27 +13-6-2019 19:00,130594.68,60790.76,30395.38 +13-6-2019 20:00,141830.06,66020.72,33010.36 +13-6-2019 21:00,135694.02,63164.46,31582.23 +13-6-2019 22:00,67733.28,31529.28,15764.64 +13-6-2019 23:00,36053.08,16782.42,8391.21 +14-6-2019 00:00,16118.8,7503.18,3751.59 +14-6-2019 01:00,26816.88,12483.04,6241.52 +14-6-2019 02:00,55443.36,25808.44,12904.22 +14-6-2019 03:00,78966.9,36758.44,18379.22 +14-6-2019 04:00,97759.84,45506.4,22753.2 +14-6-2019 05:00,112026.58,52147.46,26073.73 +14-6-2019 06:00,116351.48,54160.66,27080.33 +14-6-2019 07:00,459034.24,213676.68,106838.34 +14-6-2019 08:00,478477.4,222727.34,111363.67 +14-6-2019 09:00,1018464.08,474086.72,237043.36 +14-6-2019 10:00,100773.9,46909.42,23454.71 +14-6-2019 11:00,91674.76,42673.86,21336.93 +14-6-2019 12:00,134919.76,62804.04,31402.02 +14-6-2019 13:00,59473.12,27684.26,13842.13 +14-6-2019 14:00,51212.96,23839.22,11919.61 +14-6-2019 15:00,39648.74,18456.16,9228.08 +14-6-2019 16:00,44604.84,20763.18,10381.59 +14-6-2019 17:00,72689.36,33836.3,16918.15 +14-6-2019 18:00,128858.44,59982.54,29991.27 +14-6-2019 19:00,130510.44,60751.54,30375.77 +14-6-2019 20:00,115642.16,53830.48,26915.24 +14-6-2019 21:00,95817.8,44602.4,22301.2 +14-6-2019 22:00,67733.28,31529.28,15764.64 +14-6-2019 23:00,33040.64,15380.14,7690.07 +15-6-2019 00:00,11564.22,5383.04,2691.52 +15-6-2019 01:00,6608.12,3076.02,1538.01 +15-6-2019 02:00,1651.22,768.62,384.31 +15-6-2019 03:00,4347.54,2023.74,1011.87 +15-6-2019 04:00,6936.16,3228.72,1614.36 +15-6-2019 05:00,14873.18,6923.34,3461.67 +15-6-2019 06:00,101291.96,47150.58,23575.29 +15-6-2019 07:00,378137.8,176020.06,88010.03 +15-6-2019 08:00,171865.5,80001.98,40000.99 +15-6-2019 09:00,295248.26,137435.66,68717.83 +15-6-2019 10:00,107575.04,50075.3,25037.65 +15-6-2019 11:00,87557.66,40757.36,20378.68 +15-6-2019 12:00,78495.08,36538.82,18269.41 +15-6-2019 13:00,59774.66,27824.62,13912.31 +15-6-2019 14:00,51212.96,23839.22,11919.61 +15-6-2019 15:00,39648.74,18456.16,9228.08 +15-6-2019 16:00,44604.84,20763.18,10381.59 +15-6-2019 17:00,72689.36,33836.3,16918.15 +15-6-2019 18:00,128858.44,59982.54,29991.27 +15-6-2019 19:00,130510.44,60751.54,30375.77 +15-6-2019 20:00,115642.16,53830.48,26915.24 +15-6-2019 21:00,95817.8,44602.4,22301.2 +15-6-2019 22:00,67733.28,31529.28,15764.64 +15-6-2019 23:00,33040.64,15380.14,7690.07 +16-6-2019 00:00,15153.56,7053.86,3526.93 +16-6-2019 01:00,11207.36,5216.94,2608.47 +16-6-2019 02:00,15365.72,7152.62,3576.31 +16-6-2019 03:00,44129.84,20542.08,10271.04 +16-6-2019 04:00,41646.64,19386.18,9693.09 +16-6-2019 05:00,38335.94,17845.06,8922.53 +16-6-2019 06:00,130574.0,60781.12,30390.56 +16-6-2019 07:00,345828.68,160980.42,80490.21 +16-6-2019 08:00,139957.7,65149.16,32574.58 +16-6-2019 09:00,199601.56,92912.9,46456.45 +16-6-2019 10:00,101250.98,47131.5,23565.75 +16-6-2019 11:00,87557.66,40757.36,20378.68 +16-6-2019 12:00,74341.38,34605.3,17302.65 +16-6-2019 13:00,59473.12,27684.26,13842.13 +16-6-2019 14:00,51212.96,23839.22,11919.61 +16-6-2019 15:00,39648.74,18456.16,9228.08 +16-6-2019 16:00,44604.84,20763.18,10381.59 +16-6-2019 17:00,72689.36,33836.3,16918.15 +16-6-2019 18:00,128858.44,59982.54,29991.27 +16-6-2019 19:00,130510.44,60751.54,30375.77 +16-6-2019 20:00,115642.16,53830.48,26915.24 +16-6-2019 21:00,95817.8,44602.4,22301.2 +16-6-2019 22:00,67733.28,31529.28,15764.64 +16-6-2019 23:00,33040.64,15380.14,7690.07 +17-6-2019 00:00,11564.22,5383.04,2691.52 +17-6-2019 01:00,6608.12,3076.02,1538.01 +17-6-2019 02:00,1651.22,768.62,384.31 +17-6-2019 03:00,4828.6,2247.68,1123.84 +17-6-2019 04:00,7650.02,3561.02,1780.51 +17-6-2019 05:00,14552.92,6774.26,3387.13 +17-6-2019 06:00,92513.76,43064.38,21532.19 +17-6-2019 07:00,185515.9,86356.16,43178.08 +17-6-2019 08:00,118946.24,55368.5,27684.25 +17-6-2019 09:00,140422.64,65365.58,32682.79 +17-6-2019 10:00,100773.9,46909.42,23454.71 +17-6-2019 11:00,87557.66,40757.36,20378.68 +17-6-2019 12:00,74341.38,34605.3,17302.65 +17-6-2019 13:00,59473.12,27684.26,13842.13 +17-6-2019 14:00,51212.96,23839.22,11919.61 +17-6-2019 15:00,39648.74,18456.16,9228.08 +17-6-2019 16:00,44604.84,20763.18,10381.59 +17-6-2019 17:00,72689.36,33836.3,16918.15 +17-6-2019 18:00,128858.44,59982.54,29991.27 +17-6-2019 19:00,130510.44,60751.54,30375.77 +17-6-2019 20:00,115642.16,53830.48,26915.24 +17-6-2019 21:00,95817.8,44602.4,22301.2 +17-6-2019 22:00,67733.28,31529.28,15764.64 +17-6-2019 23:00,33040.64,15380.14,7690.07 +18-6-2019 00:00,11564.22,5383.04,2691.52 +18-6-2019 01:00,6608.12,3076.02,1538.01 +18-6-2019 02:00,1651.22,768.62,384.31 +18-6-2019 03:00,1651.22,768.62,384.31 +18-6-2019 04:00,3304.06,1538.02,769.01 +18-6-2019 05:00,11564.22,5383.04,2691.52 +18-6-2019 06:00,92513.76,43064.38,21532.19 +18-6-2019 07:00,153638.9,71517.64,35758.82 +18-6-2019 08:00,118946.24,55368.5,27684.25 +18-6-2019 09:00,140422.64,65365.58,32682.79 +18-6-2019 10:00,100773.9,46909.42,23454.71 +18-6-2019 11:00,87557.66,40757.36,20378.68 +18-6-2019 12:00,74341.38,34605.3,17302.65 +18-6-2019 13:00,59473.12,27684.26,13842.13 +18-6-2019 14:00,51212.96,23839.22,11919.61 +18-6-2019 15:00,39648.74,18456.16,9228.08 +18-6-2019 16:00,44604.84,20763.18,10381.59 +18-6-2019 17:00,72689.36,33836.3,16918.15 +18-6-2019 18:00,128858.44,59982.54,29991.27 +18-6-2019 19:00,130510.44,60751.54,30375.77 +18-6-2019 20:00,115642.16,53830.48,26915.24 +18-6-2019 21:00,95817.8,44602.4,22301.2 +18-6-2019 22:00,67733.28,31529.28,15764.64 +18-6-2019 23:00,33040.64,15380.14,7690.07 +19-6-2019 00:00,11564.22,5383.04,2691.52 +19-6-2019 01:00,6608.12,3076.02,1538.01 +19-6-2019 02:00,1651.22,768.62,384.31 +19-6-2019 03:00,1651.22,768.62,384.31 +19-6-2019 04:00,3304.06,1538.02,769.01 +19-6-2019 05:00,11564.22,5383.04,2691.52 +19-6-2019 06:00,92513.76,43064.38,21532.19 +19-6-2019 07:00,153638.9,71517.64,35758.82 +19-6-2019 08:00,118946.24,55368.5,27684.25 +19-6-2019 09:00,140422.64,65365.58,32682.79 +19-6-2019 10:00,100773.9,46909.42,23454.71 +19-6-2019 11:00,87557.66,40757.36,20378.68 +19-6-2019 12:00,74341.38,34605.3,17302.65 +19-6-2019 13:00,59473.12,27684.26,13842.13 +19-6-2019 14:00,51212.96,23839.22,11919.61 +19-6-2019 15:00,39648.74,18456.16,9228.08 +19-6-2019 16:00,44604.84,20763.18,10381.59 +19-6-2019 17:00,72689.36,33836.3,16918.15 +19-6-2019 18:00,128858.44,59982.54,29991.27 +19-6-2019 19:00,130510.44,60751.54,30375.77 +19-6-2019 20:00,115642.16,53830.48,26915.24 +19-6-2019 21:00,95817.8,44602.4,22301.2 +19-6-2019 22:00,67733.28,31529.28,15764.64 +19-6-2019 23:00,33040.64,15380.14,7690.07 +20-6-2019 00:00,11564.22,5383.04,2691.52 +20-6-2019 01:00,6608.12,3076.02,1538.01 +20-6-2019 02:00,1651.22,768.62,384.31 +20-6-2019 03:00,1651.22,768.62,384.31 +20-6-2019 04:00,3304.06,1538.02,769.01 +20-6-2019 05:00,11564.22,5383.04,2691.52 +20-6-2019 06:00,92513.76,43064.38,21532.19 +20-6-2019 07:00,153638.9,71517.64,35758.82 +20-6-2019 08:00,118946.24,55368.5,27684.25 +20-6-2019 09:00,140422.64,65365.58,32682.79 +20-6-2019 10:00,100773.9,46909.42,23454.71 +20-6-2019 11:00,87557.66,40757.36,20378.68 +20-6-2019 12:00,74341.38,34605.3,17302.65 +20-6-2019 13:00,59473.12,27684.26,13842.13 +20-6-2019 14:00,51212.96,23839.22,11919.61 +20-6-2019 15:00,39648.74,18456.16,9228.08 +20-6-2019 16:00,44604.84,20763.18,10381.59 +20-6-2019 17:00,72689.36,33836.3,16918.15 +20-6-2019 18:00,128858.44,59982.54,29991.27 +20-6-2019 19:00,130510.44,60751.54,30375.77 +20-6-2019 20:00,115642.16,53830.48,26915.24 +20-6-2019 21:00,95817.8,44602.4,22301.2 +20-6-2019 22:00,67733.28,31529.28,15764.64 +20-6-2019 23:00,33040.64,15380.14,7690.07 +21-6-2019 00:00,11564.22,5383.04,2691.52 +21-6-2019 01:00,6608.12,3076.02,1538.01 +21-6-2019 02:00,1651.22,768.62,384.31 +21-6-2019 03:00,1651.22,768.62,384.31 +21-6-2019 04:00,3304.06,1538.02,769.01 +21-6-2019 05:00,12373.7,5759.86,2879.93 +21-6-2019 06:00,92513.76,43064.38,21532.19 +21-6-2019 07:00,153638.9,71517.64,35758.82 +21-6-2019 08:00,118946.24,55368.5,27684.25 +21-6-2019 09:00,140422.64,65365.58,32682.79 +21-6-2019 10:00,100773.9,46909.42,23454.71 +21-6-2019 11:00,87557.66,40757.36,20378.68 +21-6-2019 12:00,77910.08,36266.5,18133.25 +21-6-2019 13:00,59473.12,27684.26,13842.13 +21-6-2019 14:00,51212.96,23839.22,11919.61 +21-6-2019 15:00,39648.74,18456.16,9228.08 +21-6-2019 16:00,44604.84,20763.18,10381.59 +21-6-2019 17:00,72689.36,33836.3,16918.15 +21-6-2019 18:00,128858.44,59982.54,29991.27 +21-6-2019 19:00,130510.44,60751.54,30375.77 +21-6-2019 20:00,115642.16,53830.48,26915.24 +21-6-2019 21:00,95817.8,44602.4,22301.2 +21-6-2019 22:00,67733.28,31529.28,15764.64 +21-6-2019 23:00,33040.64,15380.14,7690.07 +22-6-2019 00:00,11564.22,5383.04,2691.52 +22-6-2019 01:00,6608.12,3076.02,1538.01 +22-6-2019 02:00,1651.22,768.62,384.31 +22-6-2019 03:00,2381.46,1108.54,554.27 +22-6-2019 04:00,7232.9,3366.86,1683.43 +22-6-2019 05:00,14668.72,6828.18,3414.09 +22-6-2019 06:00,92834.78,43213.82,21606.91 +22-6-2019 07:00,153921.6,71649.24,35824.62 +22-6-2019 08:00,118946.24,55368.5,27684.25 +22-6-2019 09:00,140422.64,65365.58,32682.79 +22-6-2019 10:00,100773.9,46909.42,23454.71 +22-6-2019 11:00,87557.66,40757.36,20378.68 +22-6-2019 12:00,74341.38,34605.3,17302.65 +22-6-2019 13:00,59473.12,27684.26,13842.13 +22-6-2019 14:00,51212.96,23839.22,11919.61 +22-6-2019 15:00,39648.74,18456.16,9228.08 +22-6-2019 16:00,44604.84,20763.18,10381.59 +22-6-2019 17:00,72689.36,33836.3,16918.15 +22-6-2019 18:00,128858.44,59982.54,29991.27 +22-6-2019 19:00,130510.44,60751.54,30375.77 +22-6-2019 20:00,115642.16,53830.48,26915.24 +22-6-2019 21:00,95817.8,44602.4,22301.2 +22-6-2019 22:00,67733.28,31529.28,15764.64 +22-6-2019 23:00,33040.64,15380.14,7690.07 +23-6-2019 00:00,11564.22,5383.04,2691.52 +23-6-2019 01:00,6608.12,3076.02,1538.01 +23-6-2019 02:00,1651.22,768.62,384.31 +23-6-2019 03:00,1651.22,768.62,384.31 +23-6-2019 04:00,3304.06,1538.02,769.01 +23-6-2019 05:00,11564.22,5383.04,2691.52 +23-6-2019 06:00,92513.76,43064.38,21532.19 +23-6-2019 07:00,153638.9,71517.64,35758.82 +23-6-2019 08:00,118946.24,55368.5,27684.25 +23-6-2019 09:00,140422.64,65365.58,32682.79 +23-6-2019 10:00,100773.9,46909.42,23454.71 +23-6-2019 11:00,87557.66,40757.36,20378.68 +23-6-2019 12:00,74341.38,34605.3,17302.65 +23-6-2019 13:00,59473.12,27684.26,13842.13 +23-6-2019 14:00,51212.96,23839.22,11919.61 +23-6-2019 15:00,39648.74,18456.16,9228.08 +23-6-2019 16:00,44604.84,20763.18,10381.59 +23-6-2019 17:00,72689.36,33836.3,16918.15 +23-6-2019 18:00,128858.44,59982.54,29991.27 +23-6-2019 19:00,130510.44,60751.54,30375.77 +23-6-2019 20:00,115642.16,53830.48,26915.24 +23-6-2019 21:00,95817.8,44602.4,22301.2 +23-6-2019 22:00,67733.28,31529.28,15764.64 +23-6-2019 23:00,33040.64,15380.14,7690.07 +24-6-2019 00:00,11564.22,5383.04,2691.52 +24-6-2019 01:00,6608.12,3076.02,1538.01 +24-6-2019 02:00,1651.22,768.62,384.31 +24-6-2019 03:00,1651.22,768.62,384.31 +24-6-2019 04:00,3304.06,1538.02,769.01 +24-6-2019 05:00,11564.22,5383.04,2691.52 +24-6-2019 06:00,92513.76,43064.38,21532.19 +24-6-2019 07:00,153638.9,71517.64,35758.82 +24-6-2019 08:00,118946.24,55368.5,27684.25 +24-6-2019 09:00,140422.64,65365.58,32682.79 +24-6-2019 10:00,100773.9,46909.42,23454.71 +24-6-2019 11:00,87557.66,40757.36,20378.68 +24-6-2019 12:00,74341.38,34605.3,17302.65 +24-6-2019 13:00,59473.12,27684.26,13842.13 +24-6-2019 14:00,51212.96,23839.22,11919.61 +24-6-2019 15:00,39648.74,18456.16,9228.08 +24-6-2019 16:00,44604.84,20763.18,10381.59 +24-6-2019 17:00,72689.36,33836.3,16918.15 +24-6-2019 18:00,128858.44,59982.54,29991.27 +24-6-2019 19:00,130510.44,60751.54,30375.77 +24-6-2019 20:00,115642.16,53830.48,26915.24 +24-6-2019 21:00,95817.8,44602.4,22301.2 +24-6-2019 22:00,67733.28,31529.28,15764.64 +24-6-2019 23:00,33040.64,15380.14,7690.07 +25-6-2019 00:00,11564.22,5383.04,2691.52 +25-6-2019 01:00,6608.12,3076.02,1538.01 +25-6-2019 02:00,1651.22,768.62,384.31 +25-6-2019 03:00,1651.22,768.62,384.31 +25-6-2019 04:00,3304.06,1538.02,769.01 +25-6-2019 05:00,11564.22,5383.04,2691.52 +25-6-2019 06:00,92513.76,43064.38,21532.19 +25-6-2019 07:00,153638.9,71517.64,35758.82 +25-6-2019 08:00,118946.24,55368.5,27684.25 +25-6-2019 09:00,140422.64,65365.58,32682.79 +25-6-2019 10:00,100773.9,46909.42,23454.71 +25-6-2019 11:00,87557.66,40757.36,20378.68 +25-6-2019 12:00,74341.38,34605.3,17302.65 +25-6-2019 13:00,59473.12,27684.26,13842.13 +25-6-2019 14:00,51212.96,23839.22,11919.61 +25-6-2019 15:00,39648.74,18456.16,9228.08 +25-6-2019 16:00,44604.84,20763.18,10381.59 +25-6-2019 17:00,72689.36,33836.3,16918.15 +25-6-2019 18:00,128858.44,59982.54,29991.27 +25-6-2019 19:00,130510.44,60751.54,30375.77 +25-6-2019 20:00,115642.16,53830.48,26915.24 +25-6-2019 21:00,95817.8,44602.4,22301.2 +25-6-2019 22:00,67733.28,31529.28,15764.64 +25-6-2019 23:00,33040.64,15380.14,7690.07 +26-6-2019 00:00,11564.22,5383.04,2691.52 +26-6-2019 01:00,6608.12,3076.02,1538.01 +26-6-2019 02:00,1651.22,768.62,384.31 +26-6-2019 03:00,1651.22,768.62,384.31 +26-6-2019 04:00,3304.06,1538.02,769.01 +26-6-2019 05:00,11564.22,5383.04,2691.52 +26-6-2019 06:00,92513.76,43064.38,21532.19 +26-6-2019 07:00,153638.9,71517.64,35758.82 +26-6-2019 08:00,118946.24,55368.5,27684.25 +26-6-2019 09:00,140422.64,65365.58,32682.79 +26-6-2019 10:00,100773.9,46909.42,23454.71 +26-6-2019 11:00,87557.66,40757.36,20378.68 +26-6-2019 12:00,74341.38,34605.3,17302.65 +26-6-2019 13:00,59473.12,27684.26,13842.13 +26-6-2019 14:00,51212.96,23839.22,11919.61 +26-6-2019 15:00,39648.74,18456.16,9228.08 +26-6-2019 16:00,44604.84,20763.18,10381.59 +26-6-2019 17:00,72689.36,33836.3,16918.15 +26-6-2019 18:00,128858.44,59982.54,29991.27 +26-6-2019 19:00,130510.44,60751.54,30375.77 +26-6-2019 20:00,115642.16,53830.48,26915.24 +26-6-2019 21:00,95817.8,44602.4,22301.2 +26-6-2019 22:00,67733.28,31529.28,15764.64 +26-6-2019 23:00,33040.64,15380.14,7690.07 +27-6-2019 00:00,11564.22,5383.04,2691.52 +27-6-2019 01:00,6608.12,3076.02,1538.01 +27-6-2019 02:00,1651.22,768.62,384.31 +27-6-2019 03:00,1651.22,768.62,384.31 +27-6-2019 04:00,3304.06,1538.02,769.01 +27-6-2019 05:00,11564.22,5383.04,2691.52 +27-6-2019 06:00,92513.76,43064.38,21532.19 +27-6-2019 07:00,153638.9,71517.64,35758.82 +27-6-2019 08:00,118946.24,55368.5,27684.25 +27-6-2019 09:00,140422.64,65365.58,32682.79 +27-6-2019 10:00,100773.9,46909.42,23454.71 +27-6-2019 11:00,87557.66,40757.36,20378.68 +27-6-2019 12:00,74341.38,34605.3,17302.65 +27-6-2019 13:00,59473.12,27684.26,13842.13 +27-6-2019 14:00,51212.96,23839.22,11919.61 +27-6-2019 15:00,39648.74,18456.16,9228.08 +27-6-2019 16:00,44604.84,20763.18,10381.59 +27-6-2019 17:00,72689.36,33836.3,16918.15 +27-6-2019 18:00,128858.44,59982.54,29991.27 +27-6-2019 19:00,130510.44,60751.54,30375.77 +27-6-2019 20:00,115642.16,53830.48,26915.24 +27-6-2019 21:00,95817.8,44602.4,22301.2 +27-6-2019 22:00,67733.28,31529.28,15764.64 +27-6-2019 23:00,33040.64,15380.14,7690.07 +28-6-2019 00:00,11564.22,5383.04,2691.52 +28-6-2019 01:00,6608.12,3076.02,1538.01 +28-6-2019 02:00,1651.22,768.62,384.31 +28-6-2019 03:00,1651.22,768.62,384.31 +28-6-2019 04:00,3304.06,1538.02,769.01 +28-6-2019 05:00,11564.22,5383.04,2691.52 +28-6-2019 06:00,92513.76,43064.38,21532.19 +28-6-2019 07:00,153638.9,71517.64,35758.82 +28-6-2019 08:00,118946.24,55368.5,27684.25 +28-6-2019 09:00,140422.64,65365.58,32682.79 +28-6-2019 10:00,100773.9,46909.42,23454.71 +28-6-2019 11:00,87557.66,40757.36,20378.68 +28-6-2019 12:00,74341.38,34605.3,17302.65 +28-6-2019 13:00,59473.12,27684.26,13842.13 +28-6-2019 14:00,51212.96,23839.22,11919.61 +28-6-2019 15:00,39648.74,18456.16,9228.08 +28-6-2019 16:00,44604.84,20763.18,10381.59 +28-6-2019 17:00,72689.36,33836.3,16918.15 +28-6-2019 18:00,128858.44,59982.54,29991.27 +28-6-2019 19:00,130510.44,60751.54,30375.77 +28-6-2019 20:00,115642.16,53830.48,26915.24 +28-6-2019 21:00,95817.8,44602.4,22301.2 +28-6-2019 22:00,67733.28,31529.28,15764.64 +28-6-2019 23:00,33040.64,15380.14,7690.07 +29-6-2019 00:00,11564.22,5383.04,2691.52 +29-6-2019 01:00,6608.12,3076.02,1538.01 +29-6-2019 02:00,1651.22,768.62,384.31 +29-6-2019 03:00,1651.22,768.62,384.31 +29-6-2019 04:00,3304.06,1538.02,769.01 +29-6-2019 05:00,11564.22,5383.04,2691.52 +29-6-2019 06:00,92513.76,43064.38,21532.19 +29-6-2019 07:00,153638.9,71517.64,35758.82 +29-6-2019 08:00,118946.24,55368.5,27684.25 +29-6-2019 09:00,140422.64,65365.58,32682.79 +29-6-2019 10:00,100773.9,46909.42,23454.71 +29-6-2019 11:00,87557.66,40757.36,20378.68 +29-6-2019 12:00,74341.38,34605.3,17302.65 +29-6-2019 13:00,59473.12,27684.26,13842.13 +29-6-2019 14:00,51212.96,23839.22,11919.61 +29-6-2019 15:00,39648.74,18456.16,9228.08 +29-6-2019 16:00,44604.84,20763.18,10381.59 +29-6-2019 17:00,72689.36,33836.3,16918.15 +29-6-2019 18:00,128858.44,59982.54,29991.27 +29-6-2019 19:00,130510.44,60751.54,30375.77 +29-6-2019 20:00,115642.16,53830.48,26915.24 +29-6-2019 21:00,95817.8,44602.4,22301.2 +29-6-2019 22:00,67733.28,31529.28,15764.64 +29-6-2019 23:00,33040.64,15380.14,7690.07 +30-6-2019 00:00,11564.22,5383.04,2691.52 +30-6-2019 01:00,6608.12,3076.02,1538.01 +30-6-2019 02:00,1651.22,768.62,384.31 +30-6-2019 03:00,1651.22,768.62,384.31 +30-6-2019 04:00,3304.06,1538.02,769.01 +30-6-2019 05:00,11564.22,5383.04,2691.52 +30-6-2019 06:00,92513.76,43064.38,21532.19 +30-6-2019 07:00,153638.9,71517.64,35758.82 +30-6-2019 08:00,118946.24,55368.5,27684.25 +30-6-2019 09:00,140422.64,65365.58,32682.79 +30-6-2019 10:00,100773.9,46909.42,23454.71 +30-6-2019 11:00,87557.66,40757.36,20378.68 +30-6-2019 12:00,74341.38,34605.3,17302.65 +30-6-2019 13:00,59473.12,27684.26,13842.13 +30-6-2019 14:00,51212.96,23839.22,11919.61 +30-6-2019 15:00,39648.74,18456.16,9228.08 +30-6-2019 16:00,44604.84,20763.18,10381.59 +30-6-2019 17:00,72689.36,33836.3,16918.15 +30-6-2019 18:00,128858.44,59982.54,29991.27 +30-6-2019 19:00,130510.44,60751.54,30375.77 +30-6-2019 20:00,115642.16,53830.48,26915.24 +30-6-2019 21:00,95817.8,44602.4,22301.2 +30-6-2019 22:00,67733.28,31529.28,15764.64 +30-6-2019 23:00,33040.64,15380.14,7690.07 +1-7-2019 00:00,11564.22,5383.04,2691.52 +1-7-2019 01:00,6608.12,3076.02,1538.01 +1-7-2019 02:00,1651.22,768.62,384.31 +1-7-2019 03:00,1651.22,768.62,384.31 +1-7-2019 04:00,3304.06,1538.02,769.01 +1-7-2019 05:00,11564.22,5383.04,2691.52 +1-7-2019 06:00,92513.76,43064.38,21532.19 +1-7-2019 07:00,153638.9,71517.64,35758.82 +1-7-2019 08:00,118946.24,55368.5,27684.25 +1-7-2019 09:00,140422.64,65365.58,32682.79 +1-7-2019 10:00,100773.9,46909.42,23454.71 +1-7-2019 11:00,87557.66,40757.36,20378.68 +1-7-2019 12:00,74341.38,34605.3,17302.65 +1-7-2019 13:00,59473.12,27684.26,13842.13 +1-7-2019 14:00,51212.96,23839.22,11919.61 +1-7-2019 15:00,39648.74,18456.16,9228.08 +1-7-2019 16:00,44604.84,20763.18,10381.59 +1-7-2019 17:00,72689.36,33836.3,16918.15 +1-7-2019 18:00,128858.44,59982.54,29991.27 +1-7-2019 19:00,130510.44,60751.54,30375.77 +1-7-2019 20:00,115642.16,53830.48,26915.24 +1-7-2019 21:00,95817.8,44602.4,22301.2 +1-7-2019 22:00,67733.28,31529.28,15764.64 +1-7-2019 23:00,33040.64,15380.14,7690.07 +2-7-2019 00:00,11564.22,5383.04,2691.52 +2-7-2019 01:00,6608.12,3076.02,1538.01 +2-7-2019 02:00,1651.22,768.62,384.31 +2-7-2019 03:00,1651.22,768.62,384.31 +2-7-2019 04:00,3304.06,1538.02,769.01 +2-7-2019 05:00,11564.22,5383.04,2691.52 +2-7-2019 06:00,92513.76,43064.38,21532.19 +2-7-2019 07:00,153638.9,71517.64,35758.82 +2-7-2019 08:00,118946.24,55368.5,27684.25 +2-7-2019 09:00,140422.64,65365.58,32682.79 +2-7-2019 10:00,100773.9,46909.42,23454.71 +2-7-2019 11:00,87557.66,40757.36,20378.68 +2-7-2019 12:00,74341.38,34605.3,17302.65 +2-7-2019 13:00,59473.12,27684.26,13842.13 +2-7-2019 14:00,51212.96,23839.22,11919.61 +2-7-2019 15:00,39648.74,18456.16,9228.08 +2-7-2019 16:00,44604.84,20763.18,10381.59 +2-7-2019 17:00,72689.36,33836.3,16918.15 +2-7-2019 18:00,128858.44,59982.54,29991.27 +2-7-2019 19:00,130510.44,60751.54,30375.77 +2-7-2019 20:00,115642.16,53830.48,26915.24 +2-7-2019 21:00,95817.8,44602.4,22301.2 +2-7-2019 22:00,67733.28,31529.28,15764.64 +2-7-2019 23:00,33040.64,15380.14,7690.07 +3-7-2019 00:00,11564.22,5383.04,2691.52 +3-7-2019 01:00,6608.12,3076.02,1538.01 +3-7-2019 02:00,1651.22,768.62,384.31 +3-7-2019 03:00,1651.22,768.62,384.31 +3-7-2019 04:00,3304.06,1538.02,769.01 +3-7-2019 05:00,11564.22,5383.04,2691.52 +3-7-2019 06:00,92513.76,43064.38,21532.19 +3-7-2019 07:00,153638.9,71517.64,35758.82 +3-7-2019 08:00,118946.24,55368.5,27684.25 +3-7-2019 09:00,140422.64,65365.58,32682.79 +3-7-2019 10:00,100773.9,46909.42,23454.71 +3-7-2019 11:00,87557.66,40757.36,20378.68 +3-7-2019 12:00,74341.38,34605.3,17302.65 +3-7-2019 13:00,59473.12,27684.26,13842.13 +3-7-2019 14:00,51212.96,23839.22,11919.61 +3-7-2019 15:00,39648.74,18456.16,9228.08 +3-7-2019 16:00,44604.84,20763.18,10381.59 +3-7-2019 17:00,72689.36,33836.3,16918.15 +3-7-2019 18:00,128858.44,59982.54,29991.27 +3-7-2019 19:00,130510.44,60751.54,30375.77 +3-7-2019 20:00,115642.16,53830.48,26915.24 +3-7-2019 21:00,95817.8,44602.4,22301.2 +3-7-2019 22:00,67733.28,31529.28,15764.64 +3-7-2019 23:00,33040.64,15380.14,7690.07 +4-7-2019 00:00,11564.22,5383.04,2691.52 +4-7-2019 01:00,6608.12,3076.02,1538.01 +4-7-2019 02:00,1651.22,768.62,384.31 +4-7-2019 03:00,1651.22,768.62,384.31 +4-7-2019 04:00,3304.06,1538.02,769.01 +4-7-2019 05:00,11564.22,5383.04,2691.52 +4-7-2019 06:00,92513.76,43064.38,21532.19 +4-7-2019 07:00,153638.9,71517.64,35758.82 +4-7-2019 08:00,118946.24,55368.5,27684.25 +4-7-2019 09:00,140422.64,65365.58,32682.79 +4-7-2019 10:00,100773.9,46909.42,23454.71 +4-7-2019 11:00,87557.66,40757.36,20378.68 +4-7-2019 12:00,74341.38,34605.3,17302.65 +4-7-2019 13:00,59473.12,27684.26,13842.13 +4-7-2019 14:00,51212.96,23839.22,11919.61 +4-7-2019 15:00,39648.74,18456.16,9228.08 +4-7-2019 16:00,44604.84,20763.18,10381.59 +4-7-2019 17:00,72689.36,33836.3,16918.15 +4-7-2019 18:00,128858.44,59982.54,29991.27 +4-7-2019 19:00,130510.44,60751.54,30375.77 +4-7-2019 20:00,115642.16,53830.48,26915.24 +4-7-2019 21:00,95817.8,44602.4,22301.2 +4-7-2019 22:00,67733.28,31529.28,15764.64 +4-7-2019 23:00,33040.64,15380.14,7690.07 +5-7-2019 00:00,11564.22,5383.04,2691.52 +5-7-2019 01:00,6608.12,3076.02,1538.01 +5-7-2019 02:00,1651.22,768.62,384.31 +5-7-2019 03:00,1651.22,768.62,384.31 +5-7-2019 04:00,3304.06,1538.02,769.01 +5-7-2019 05:00,11564.22,5383.04,2691.52 +5-7-2019 06:00,92513.76,43064.38,21532.19 +5-7-2019 07:00,153638.9,71517.64,35758.82 +5-7-2019 08:00,118946.24,55368.5,27684.25 +5-7-2019 09:00,140422.64,65365.58,32682.79 +5-7-2019 10:00,100773.9,46909.42,23454.71 +5-7-2019 11:00,87557.66,40757.36,20378.68 +5-7-2019 12:00,74341.38,34605.3,17302.65 +5-7-2019 13:00,59473.12,27684.26,13842.13 +5-7-2019 14:00,51212.96,23839.22,11919.61 +5-7-2019 15:00,39648.74,18456.16,9228.08 +5-7-2019 16:00,44604.84,20763.18,10381.59 +5-7-2019 17:00,72689.36,33836.3,16918.15 +5-7-2019 18:00,128858.44,59982.54,29991.27 +5-7-2019 19:00,130510.44,60751.54,30375.77 +5-7-2019 20:00,115642.16,53830.48,26915.24 +5-7-2019 21:00,95817.8,44602.4,22301.2 +5-7-2019 22:00,67733.28,31529.28,15764.64 +5-7-2019 23:00,33040.64,15380.14,7690.07 +6-7-2019 00:00,11564.22,5383.04,2691.52 +6-7-2019 01:00,6608.12,3076.02,1538.01 +6-7-2019 02:00,1651.22,768.62,384.31 +6-7-2019 03:00,1651.22,768.62,384.31 +6-7-2019 04:00,3304.06,1538.02,769.01 +6-7-2019 05:00,11564.22,5383.04,2691.52 +6-7-2019 06:00,92513.76,43064.38,21532.19 +6-7-2019 07:00,153638.9,71517.64,35758.82 +6-7-2019 08:00,118946.24,55368.5,27684.25 +6-7-2019 09:00,140422.64,65365.58,32682.79 +6-7-2019 10:00,100773.9,46909.42,23454.71 +6-7-2019 11:00,87557.66,40757.36,20378.68 +6-7-2019 12:00,74341.38,34605.3,17302.65 +6-7-2019 13:00,59473.12,27684.26,13842.13 +6-7-2019 14:00,51212.96,23839.22,11919.61 +6-7-2019 15:00,39648.74,18456.16,9228.08 +6-7-2019 16:00,44604.84,20763.18,10381.59 +6-7-2019 17:00,72689.36,33836.3,16918.15 +6-7-2019 18:00,128858.44,59982.54,29991.27 +6-7-2019 19:00,130510.44,60751.54,30375.77 +6-7-2019 20:00,115642.16,53830.48,26915.24 +6-7-2019 21:00,95817.8,44602.4,22301.2 +6-7-2019 22:00,67733.28,31529.28,15764.64 +6-7-2019 23:00,33040.64,15380.14,7690.07 +7-7-2019 00:00,11564.22,5383.04,2691.52 +7-7-2019 01:00,6608.12,3076.02,1538.01 +7-7-2019 02:00,1651.22,768.62,384.31 +7-7-2019 03:00,1651.22,768.62,384.31 +7-7-2019 04:00,3304.06,1538.02,769.01 +7-7-2019 05:00,11564.22,5383.04,2691.52 +7-7-2019 06:00,92513.76,43064.38,21532.19 +7-7-2019 07:00,153638.9,71517.64,35758.82 +7-7-2019 08:00,118946.24,55368.5,27684.25 +7-7-2019 09:00,140422.64,65365.58,32682.79 +7-7-2019 10:00,100773.9,46909.42,23454.71 +7-7-2019 11:00,87557.66,40757.36,20378.68 +7-7-2019 12:00,74341.38,34605.3,17302.65 +7-7-2019 13:00,59473.12,27684.26,13842.13 +7-7-2019 14:00,51212.96,23839.22,11919.61 +7-7-2019 15:00,39648.74,18456.16,9228.08 +7-7-2019 16:00,44604.84,20763.18,10381.59 +7-7-2019 17:00,72689.36,33836.3,16918.15 +7-7-2019 18:00,128858.44,59982.54,29991.27 +7-7-2019 19:00,130510.44,60751.54,30375.77 +7-7-2019 20:00,115642.16,53830.48,26915.24 +7-7-2019 21:00,95817.8,44602.4,22301.2 +7-7-2019 22:00,67733.28,31529.28,15764.64 +7-7-2019 23:00,33040.64,15380.14,7690.07 +8-7-2019 00:00,11564.22,5383.04,2691.52 +8-7-2019 01:00,6608.12,3076.02,1538.01 +8-7-2019 02:00,1651.22,768.62,384.31 +8-7-2019 03:00,1651.22,768.62,384.31 +8-7-2019 04:00,5573.8,2594.56,1297.28 +8-7-2019 05:00,14158.78,6590.8,3295.4 +8-7-2019 06:00,92513.76,43064.38,21532.19 +8-7-2019 07:00,153638.9,71517.64,35758.82 +8-7-2019 08:00,118946.24,55368.5,27684.25 +8-7-2019 09:00,140422.64,65365.58,32682.79 +8-7-2019 10:00,100773.9,46909.42,23454.71 +8-7-2019 11:00,87557.66,40757.36,20378.68 +8-7-2019 12:00,93236.04,43400.62,21700.31 +8-7-2019 13:00,59473.12,27684.26,13842.13 +8-7-2019 14:00,51212.96,23839.22,11919.61 +8-7-2019 15:00,39648.74,18456.16,9228.08 +8-7-2019 16:00,44604.84,20763.18,10381.59 +8-7-2019 17:00,72689.36,33836.3,16918.15 +8-7-2019 18:00,128858.44,59982.54,29991.27 +8-7-2019 19:00,130510.44,60751.54,30375.77 +8-7-2019 20:00,115642.16,53830.48,26915.24 +8-7-2019 21:00,95817.8,44602.4,22301.2 +8-7-2019 22:00,67733.28,31529.28,15764.64 +8-7-2019 23:00,33040.64,15380.14,7690.07 +9-7-2019 00:00,11564.22,5383.04,2691.52 +9-7-2019 01:00,8309.28,3867.9,1933.95 +9-7-2019 02:00,5818.44,2708.44,1354.22 +9-7-2019 03:00,6332.9,2947.92,1473.96 +9-7-2019 04:00,7958.02,3704.4,1852.2 +9-7-2019 05:00,14805.82,6891.98,3445.99 +9-7-2019 06:00,92513.76,43064.38,21532.19 +9-7-2019 07:00,173312.02,80675.32,40337.66 +9-7-2019 08:00,131000.32,60979.58,30489.79 +9-7-2019 09:00,140422.64,65365.58,32682.79 +9-7-2019 10:00,100773.9,46909.42,23454.71 +9-7-2019 11:00,87557.66,40757.36,20378.68 +9-7-2019 12:00,102752.66,47830.52,23915.26 +9-7-2019 13:00,59473.12,27684.26,13842.13 +9-7-2019 14:00,51212.96,23839.22,11919.61 +9-7-2019 15:00,39648.74,18456.16,9228.08 +9-7-2019 16:00,44604.84,20763.18,10381.59 +9-7-2019 17:00,72689.36,33836.3,16918.15 +9-7-2019 18:00,128858.44,59982.54,29991.27 +9-7-2019 19:00,130510.44,60751.54,30375.77 +9-7-2019 20:00,115642.16,53830.48,26915.24 +9-7-2019 21:00,95817.8,44602.4,22301.2 +9-7-2019 22:00,67733.28,31529.28,15764.64 +9-7-2019 23:00,33040.64,15380.14,7690.07 +10-7-2019 00:00,11564.22,5383.04,2691.52 +10-7-2019 01:00,6608.12,3076.02,1538.01 +10-7-2019 02:00,1651.22,768.62,384.31 +10-7-2019 03:00,5022.36,2337.86,1168.93 +10-7-2019 04:00,7174.6,3339.72,1669.86 +10-7-2019 05:00,14919.94,6945.1,3472.55 +10-7-2019 06:00,92513.76,43064.38,21532.19 +10-7-2019 07:00,167710.58,78067.9,39033.95 +10-7-2019 08:00,126558.24,58911.82,29455.91 +10-7-2019 09:00,140422.64,65365.58,32682.79 +10-7-2019 10:00,100773.9,46909.42,23454.71 +10-7-2019 11:00,87557.66,40757.36,20378.68 +10-7-2019 12:00,110464.12,51420.16,25710.08 +10-7-2019 13:00,59473.12,27684.26,13842.13 +10-7-2019 14:00,51212.96,23839.22,11919.61 +10-7-2019 15:00,39648.74,18456.16,9228.08 +10-7-2019 16:00,44604.84,20763.18,10381.59 +10-7-2019 17:00,72689.36,33836.3,16918.15 +10-7-2019 18:00,128858.44,59982.54,29991.27 +10-7-2019 19:00,130510.44,60751.54,30375.77 +10-7-2019 20:00,122378.16,56966.04,28483.02 +10-7-2019 21:00,95817.8,44602.4,22301.2 +10-7-2019 22:00,67733.28,31529.28,15764.64 +10-7-2019 23:00,33040.64,15380.14,7690.07 +11-7-2019 00:00,13080.62,6088.92,3044.46 +11-7-2019 01:00,9918.92,4617.18,2308.59 +11-7-2019 02:00,4951.42,2304.84,1152.42 +11-7-2019 03:00,4939.38,2299.24,1149.62 +11-7-2019 04:00,6528.58,3039.0,1519.5 +11-7-2019 05:00,14230.8,6624.32,3312.16 +11-7-2019 06:00,92513.76,43064.38,21532.19 +11-7-2019 07:00,170489.04,79361.26,39680.63 +11-7-2019 08:00,131050.7,61003.02,30501.51 +11-7-2019 09:00,140422.64,65365.58,32682.79 +11-7-2019 10:00,100773.9,46909.42,23454.71 +11-7-2019 11:00,87557.66,40757.36,20378.68 +11-7-2019 12:00,99604.26,46364.96,23182.48 +11-7-2019 13:00,59473.12,27684.26,13842.13 +11-7-2019 14:00,51212.96,23839.22,11919.61 +11-7-2019 15:00,39648.74,18456.16,9228.08 +11-7-2019 16:00,44604.84,20763.18,10381.59 +11-7-2019 17:00,72689.36,33836.3,16918.15 +11-7-2019 18:00,128858.44,59982.54,29991.27 +11-7-2019 19:00,130510.44,60751.54,30375.77 +11-7-2019 20:00,115642.16,53830.48,26915.24 +11-7-2019 21:00,95817.8,44602.4,22301.2 +11-7-2019 22:00,67733.28,31529.28,15764.64 +11-7-2019 23:00,33040.64,15380.14,7690.07 +12-7-2019 00:00,11564.22,5383.04,2691.52 +12-7-2019 01:00,6608.12,3076.02,1538.01 +12-7-2019 02:00,1651.22,768.62,384.31 +12-7-2019 03:00,1651.22,768.62,384.31 +12-7-2019 04:00,6098.18,2838.66,1419.33 +12-7-2019 05:00,13868.44,6455.64,3227.82 +12-7-2019 06:00,92513.76,43064.38,21532.19 +12-7-2019 07:00,153638.9,71517.64,35758.82 +12-7-2019 08:00,118946.24,55368.5,27684.25 +12-7-2019 09:00,140422.64,65365.58,32682.79 +12-7-2019 10:00,100773.9,46909.42,23454.71 +12-7-2019 11:00,87557.66,40757.36,20378.68 +12-7-2019 12:00,86427.96,40231.5,20115.75 +12-7-2019 13:00,59473.12,27684.26,13842.13 +12-7-2019 14:00,51212.96,23839.22,11919.61 +12-7-2019 15:00,39648.74,18456.16,9228.08 +12-7-2019 16:00,44604.84,20763.18,10381.59 +12-7-2019 17:00,72689.36,33836.3,16918.15 +12-7-2019 18:00,128858.44,59982.54,29991.27 +12-7-2019 19:00,130510.44,60751.54,30375.77 +12-7-2019 20:00,115642.16,53830.48,26915.24 +12-7-2019 21:00,95817.8,44602.4,22301.2 +12-7-2019 22:00,67733.28,31529.28,15764.64 +12-7-2019 23:00,33040.64,15380.14,7690.07 +13-7-2019 00:00,11564.22,5383.04,2691.52 +13-7-2019 01:00,6608.12,3076.02,1538.01 +13-7-2019 02:00,2748.34,1279.32,639.66 +13-7-2019 03:00,4599.72,2141.12,1070.56 +13-7-2019 04:00,6202.02,2886.98,1443.49 +13-7-2019 05:00,14044.46,6537.58,3268.79 +13-7-2019 06:00,96197.46,44779.12,22389.56 +13-7-2019 07:00,185529.52,86362.48,43181.24 +13-7-2019 08:00,118946.24,55368.5,27684.25 +13-7-2019 09:00,177242.36,82504.86,41252.43 +13-7-2019 10:00,100773.9,46909.42,23454.71 +13-7-2019 11:00,87557.66,40757.36,20378.68 +13-7-2019 12:00,74341.38,34605.3,17302.65 +13-7-2019 13:00,59473.12,27684.26,13842.13 +13-7-2019 14:00,51212.96,23839.22,11919.61 +13-7-2019 15:00,39648.74,18456.16,9228.08 +13-7-2019 16:00,44604.84,20763.18,10381.59 +13-7-2019 17:00,72689.36,33836.3,16918.15 +13-7-2019 18:00,128858.44,59982.54,29991.27 +13-7-2019 19:00,130510.44,60751.54,30375.77 +13-7-2019 20:00,115642.16,53830.48,26915.24 +13-7-2019 21:00,95817.8,44602.4,22301.2 +13-7-2019 22:00,67733.28,31529.28,15764.64 +13-7-2019 23:00,33040.64,15380.14,7690.07 +14-7-2019 00:00,11564.22,5383.04,2691.52 +14-7-2019 01:00,7282.0,3389.72,1694.86 +14-7-2019 02:00,4924.58,2292.34,1146.17 +14-7-2019 03:00,4964.36,2310.86,1155.43 +14-7-2019 04:00,6789.82,3160.6,1580.3 +14-7-2019 05:00,14569.44,6781.96,3390.98 +14-7-2019 06:00,97737.16,45495.84,22747.92 +14-7-2019 07:00,241579.78,112453.42,56226.71 +14-7-2019 08:00,123483.36,57480.5,28740.25 +14-7-2019 09:00,183027.02,85197.6,42598.8 +14-7-2019 10:00,100773.9,46909.42,23454.71 +14-7-2019 11:00,87557.66,40757.36,20378.68 +14-7-2019 12:00,76438.64,35581.56,17790.78 +14-7-2019 13:00,59473.12,27684.26,13842.13 +14-7-2019 14:00,51212.96,23839.22,11919.61 +14-7-2019 15:00,39648.74,18456.16,9228.08 +14-7-2019 16:00,44604.84,20763.18,10381.59 +14-7-2019 17:00,72689.36,33836.3,16918.15 +14-7-2019 18:00,128858.44,59982.54,29991.27 +14-7-2019 19:00,130510.44,60751.54,30375.77 +14-7-2019 20:00,115642.16,53830.48,26915.24 +14-7-2019 21:00,95817.8,44602.4,22301.2 +14-7-2019 22:00,67733.28,31529.28,15764.64 +14-7-2019 23:00,33040.64,15380.14,7690.07 +15-7-2019 00:00,11564.22,5383.04,2691.52 +15-7-2019 01:00,8967.32,4174.22,2087.11 +15-7-2019 02:00,5206.22,2423.46,1211.73 +15-7-2019 03:00,5364.26,2497.02,1248.51 +15-7-2019 04:00,6989.16,3253.4,1626.7 +15-7-2019 05:00,14848.88,6912.02,3456.01 +15-7-2019 06:00,92513.76,43064.38,21532.19 +15-7-2019 07:00,200197.38,93190.26,46595.13 +15-7-2019 08:00,147454.36,68638.8,34319.4 +15-7-2019 09:00,140422.64,65365.58,32682.79 +15-7-2019 10:00,100773.9,46909.42,23454.71 +15-7-2019 11:00,88052.02,40987.5,20493.75 +15-7-2019 12:00,125085.8,58226.42,29113.21 +15-7-2019 13:00,59473.12,27684.26,13842.13 +15-7-2019 14:00,51212.96,23839.22,11919.61 +15-7-2019 15:00,39648.74,18456.16,9228.08 +15-7-2019 16:00,44604.84,20763.18,10381.59 +15-7-2019 17:00,72689.36,33836.3,16918.15 +15-7-2019 18:00,128858.44,59982.54,29991.27 +15-7-2019 19:00,130510.44,60751.54,30375.77 +15-7-2019 20:00,116908.2,54419.82,27209.91 +15-7-2019 21:00,95817.8,44602.4,22301.2 +15-7-2019 22:00,67733.28,31529.28,15764.64 +15-7-2019 23:00,33040.64,15380.14,7690.07 +16-7-2019 00:00,13527.86,6297.12,3148.56 +16-7-2019 01:00,10319.12,4803.46,2401.73 +16-7-2019 02:00,5379.18,2503.96,1251.98 +16-7-2019 03:00,5324.76,2478.64,1239.32 +16-7-2019 04:00,13467.56,6269.04,3134.52 +16-7-2019 05:00,31830.94,14817.04,7408.52 +16-7-2019 06:00,92513.76,43064.38,21532.19 +16-7-2019 07:00,221831.26,103260.64,51630.32 +16-7-2019 08:00,164030.36,76354.8,38177.4 +16-7-2019 09:00,140422.64,65365.58,32682.79 +16-7-2019 10:00,100773.9,46909.42,23454.71 +16-7-2019 11:00,89237.16,41539.16,20769.58 +16-7-2019 12:00,129524.02,60292.36,30146.18 +16-7-2019 13:00,59473.12,27684.26,13842.13 +16-7-2019 14:00,51212.96,23839.22,11919.61 +16-7-2019 15:00,40424.2,18817.14,9408.57 +16-7-2019 16:00,44604.84,20763.18,10381.59 +16-7-2019 17:00,72689.36,33836.3,16918.15 +16-7-2019 18:00,128858.44,59982.54,29991.27 +16-7-2019 19:00,130510.44,60751.54,30375.77 +16-7-2019 20:00,115943.58,53970.78,26985.39 +16-7-2019 21:00,95817.8,44602.4,22301.2 +16-7-2019 22:00,67733.28,31529.28,15764.64 +16-7-2019 23:00,33040.64,15380.14,7690.07 +17-7-2019 00:00,15098.82,7028.38,3514.19 +17-7-2019 01:00,11399.16,5306.22,2653.11 +17-7-2019 02:00,7917.4,3685.48,1842.74 +17-7-2019 03:00,45095.32,20991.5,10495.75 +17-7-2019 04:00,57607.04,26815.6,13407.8 +17-7-2019 05:00,50675.98,23589.26,11794.63 +17-7-2019 06:00,92513.76,43064.38,21532.19 +17-7-2019 07:00,202972.06,94481.84,47240.92 +17-7-2019 08:00,129352.52,60212.54,30106.27 +17-7-2019 09:00,140422.64,65365.58,32682.79 +17-7-2019 10:00,100773.9,46909.42,23454.71 +17-7-2019 11:00,87557.66,40757.36,20378.68 +17-7-2019 12:00,74341.38,34605.3,17302.65 +17-7-2019 13:00,59473.12,27684.26,13842.13 +17-7-2019 14:00,51212.96,23839.22,11919.61 +17-7-2019 15:00,39648.74,18456.16,9228.08 +17-7-2019 16:00,44604.84,20763.18,10381.59 +17-7-2019 17:00,72689.36,33836.3,16918.15 +17-7-2019 18:00,128858.44,59982.54,29991.27 +17-7-2019 19:00,130510.44,60751.54,30375.77 +17-7-2019 20:00,115642.16,53830.48,26915.24 +17-7-2019 21:00,95817.8,44602.4,22301.2 +17-7-2019 22:00,67733.28,31529.28,15764.64 +17-7-2019 23:00,33040.64,15380.14,7690.07 +18-7-2019 00:00,11564.22,5383.04,2691.52 +18-7-2019 01:00,6608.12,3076.02,1538.01 +18-7-2019 02:00,1651.22,768.62,384.31 +18-7-2019 03:00,1651.22,768.62,384.31 +18-7-2019 04:00,3304.06,1538.02,769.01 +18-7-2019 05:00,12202.02,5679.94,2839.97 +18-7-2019 06:00,92513.76,43064.38,21532.19 +18-7-2019 07:00,153992.74,71682.36,35841.18 +18-7-2019 08:00,118946.24,55368.5,27684.25 +18-7-2019 09:00,140422.64,65365.58,32682.79 +18-7-2019 10:00,100773.9,46909.42,23454.71 +18-7-2019 11:00,87557.66,40757.36,20378.68 +18-7-2019 12:00,87206.54,40593.92,20296.96 +18-7-2019 13:00,59473.12,27684.26,13842.13 +18-7-2019 14:00,51212.96,23839.22,11919.61 +18-7-2019 15:00,39648.74,18456.16,9228.08 +18-7-2019 16:00,44604.84,20763.18,10381.59 +18-7-2019 17:00,72689.36,33836.3,16918.15 +18-7-2019 18:00,128858.44,59982.54,29991.27 +18-7-2019 19:00,130510.44,60751.54,30375.77 +18-7-2019 20:00,115642.16,53830.48,26915.24 +18-7-2019 21:00,95817.8,44602.4,22301.2 +18-7-2019 22:00,67733.28,31529.28,15764.64 +18-7-2019 23:00,33040.64,15380.14,7690.07 +19-7-2019 00:00,11564.22,5383.04,2691.52 +19-7-2019 01:00,6608.12,3076.02,1538.01 +19-7-2019 02:00,1651.22,768.62,384.31 +19-7-2019 03:00,2585.6,1203.58,601.79 +19-7-2019 04:00,6277.06,2921.92,1460.96 +19-7-2019 05:00,13852.64,6448.3,3224.15 +19-7-2019 06:00,92513.76,43064.38,21532.19 +19-7-2019 07:00,155415.94,72344.86,36172.43 +19-7-2019 08:00,118946.24,55368.5,27684.25 +19-7-2019 09:00,140422.64,65365.58,32682.79 +19-7-2019 10:00,100773.9,46909.42,23454.71 +19-7-2019 11:00,87557.66,40757.36,20378.68 +19-7-2019 12:00,80785.28,37604.88,18802.44 +19-7-2019 13:00,59473.12,27684.26,13842.13 +19-7-2019 14:00,51212.96,23839.22,11919.61 +19-7-2019 15:00,39648.74,18456.16,9228.08 +19-7-2019 16:00,44604.84,20763.18,10381.59 +19-7-2019 17:00,72689.36,33836.3,16918.15 +19-7-2019 18:00,128858.44,59982.54,29991.27 +19-7-2019 19:00,130510.44,60751.54,30375.77 +19-7-2019 20:00,115642.16,53830.48,26915.24 +19-7-2019 21:00,95817.8,44602.4,22301.2 +19-7-2019 22:00,67733.28,31529.28,15764.64 +19-7-2019 23:00,33040.64,15380.14,7690.07 +20-7-2019 00:00,11564.22,5383.04,2691.52 +20-7-2019 01:00,6608.12,3076.02,1538.01 +20-7-2019 02:00,1651.22,768.62,384.31 +20-7-2019 03:00,1651.22,768.62,384.31 +20-7-2019 04:00,3304.06,1538.02,769.01 +20-7-2019 05:00,11564.22,5383.04,2691.52 +20-7-2019 06:00,92513.76,43064.38,21532.19 +20-7-2019 07:00,153638.9,71517.64,35758.82 +20-7-2019 08:00,118946.24,55368.5,27684.25 +20-7-2019 09:00,148992.2,69354.66,34677.33 +20-7-2019 10:00,100773.9,46909.42,23454.71 +20-7-2019 11:00,87557.66,40757.36,20378.68 +20-7-2019 12:00,74341.38,34605.3,17302.65 +20-7-2019 13:00,59473.12,27684.26,13842.13 +20-7-2019 14:00,51212.96,23839.22,11919.61 +20-7-2019 15:00,39648.74,18456.16,9228.08 +20-7-2019 16:00,44604.84,20763.18,10381.59 +20-7-2019 17:00,72689.36,33836.3,16918.15 +20-7-2019 18:00,128858.44,59982.54,29991.27 +20-7-2019 19:00,130510.44,60751.54,30375.77 +20-7-2019 20:00,115642.16,53830.48,26915.24 +20-7-2019 21:00,95817.8,44602.4,22301.2 +20-7-2019 22:00,67733.28,31529.28,15764.64 +20-7-2019 23:00,33040.64,15380.14,7690.07 +21-7-2019 00:00,11564.22,5383.04,2691.52 +21-7-2019 01:00,6608.12,3076.02,1538.01 +21-7-2019 02:00,1651.22,768.62,384.31 +21-7-2019 03:00,1651.22,768.62,384.31 +21-7-2019 04:00,3304.06,1538.02,769.01 +21-7-2019 05:00,11564.22,5383.04,2691.52 +21-7-2019 06:00,92513.76,43064.38,21532.19 +21-7-2019 07:00,153638.9,71517.64,35758.82 +21-7-2019 08:00,118946.24,55368.5,27684.25 +21-7-2019 09:00,140422.64,65365.58,32682.79 +21-7-2019 10:00,100773.9,46909.42,23454.71 +21-7-2019 11:00,87557.66,40757.36,20378.68 +21-7-2019 12:00,74341.38,34605.3,17302.65 +21-7-2019 13:00,59473.12,27684.26,13842.13 +21-7-2019 14:00,51212.96,23839.22,11919.61 +21-7-2019 15:00,39648.74,18456.16,9228.08 +21-7-2019 16:00,44604.84,20763.18,10381.59 +21-7-2019 17:00,72689.36,33836.3,16918.15 +21-7-2019 18:00,128858.44,59982.54,29991.27 +21-7-2019 19:00,130510.44,60751.54,30375.77 +21-7-2019 20:00,115642.16,53830.48,26915.24 +21-7-2019 21:00,95817.8,44602.4,22301.2 +21-7-2019 22:00,67733.28,31529.28,15764.64 +21-7-2019 23:00,33040.64,15380.14,7690.07 +22-7-2019 00:00,11564.22,5383.04,2691.52 +22-7-2019 01:00,6608.12,3076.02,1538.01 +22-7-2019 02:00,1651.22,768.62,384.31 +22-7-2019 03:00,1651.22,768.62,384.31 +22-7-2019 04:00,3304.06,1538.02,769.01 +22-7-2019 05:00,11564.22,5383.04,2691.52 +22-7-2019 06:00,92513.76,43064.38,21532.19 +22-7-2019 07:00,153638.9,71517.64,35758.82 +22-7-2019 08:00,118946.24,55368.5,27684.25 +22-7-2019 09:00,140422.64,65365.58,32682.79 +22-7-2019 10:00,100773.9,46909.42,23454.71 +22-7-2019 11:00,87557.66,40757.36,20378.68 +22-7-2019 12:00,74341.38,34605.3,17302.65 +22-7-2019 13:00,59473.12,27684.26,13842.13 +22-7-2019 14:00,51212.96,23839.22,11919.61 +22-7-2019 15:00,39648.74,18456.16,9228.08 +22-7-2019 16:00,44604.84,20763.18,10381.59 +22-7-2019 17:00,72689.36,33836.3,16918.15 +22-7-2019 18:00,128858.44,59982.54,29991.27 +22-7-2019 19:00,130510.44,60751.54,30375.77 +22-7-2019 20:00,115642.16,53830.48,26915.24 +22-7-2019 21:00,95817.8,44602.4,22301.2 +22-7-2019 22:00,67733.28,31529.28,15764.64 +22-7-2019 23:00,33040.64,15380.14,7690.07 +23-7-2019 00:00,11564.22,5383.04,2691.52 +23-7-2019 01:00,6608.12,3076.02,1538.01 +23-7-2019 02:00,1651.22,768.62,384.31 +23-7-2019 03:00,1651.22,768.62,384.31 +23-7-2019 04:00,3304.06,1538.02,769.01 +23-7-2019 05:00,11564.22,5383.04,2691.52 +23-7-2019 06:00,92513.76,43064.38,21532.19 +23-7-2019 07:00,153638.9,71517.64,35758.82 +23-7-2019 08:00,118946.24,55368.5,27684.25 +23-7-2019 09:00,140422.64,65365.58,32682.79 +23-7-2019 10:00,100773.9,46909.42,23454.71 +23-7-2019 11:00,87557.66,40757.36,20378.68 +23-7-2019 12:00,74341.38,34605.3,17302.65 +23-7-2019 13:00,59473.12,27684.26,13842.13 +23-7-2019 14:00,51212.96,23839.22,11919.61 +23-7-2019 15:00,39648.74,18456.16,9228.08 +23-7-2019 16:00,44604.84,20763.18,10381.59 +23-7-2019 17:00,72689.36,33836.3,16918.15 +23-7-2019 18:00,128858.44,59982.54,29991.27 +23-7-2019 19:00,130510.44,60751.54,30375.77 +23-7-2019 20:00,115642.16,53830.48,26915.24 +23-7-2019 21:00,95817.8,44602.4,22301.2 +23-7-2019 22:00,67733.28,31529.28,15764.64 +23-7-2019 23:00,33040.64,15380.14,7690.07 +24-7-2019 00:00,11564.22,5383.04,2691.52 +24-7-2019 01:00,6608.12,3076.02,1538.01 +24-7-2019 02:00,1651.22,768.62,384.31 +24-7-2019 03:00,1651.22,768.62,384.31 +24-7-2019 04:00,3304.06,1538.02,769.01 +24-7-2019 05:00,11564.22,5383.04,2691.52 +24-7-2019 06:00,92513.76,43064.38,21532.19 +24-7-2019 07:00,153638.9,71517.64,35758.82 +24-7-2019 08:00,118946.24,55368.5,27684.25 +24-7-2019 09:00,140422.64,65365.58,32682.79 +24-7-2019 10:00,100773.9,46909.42,23454.71 +24-7-2019 11:00,87557.66,40757.36,20378.68 +24-7-2019 12:00,74341.38,34605.3,17302.65 +24-7-2019 13:00,59473.12,27684.26,13842.13 +24-7-2019 14:00,51212.96,23839.22,11919.61 +24-7-2019 15:00,39648.74,18456.16,9228.08 +24-7-2019 16:00,44604.84,20763.18,10381.59 +24-7-2019 17:00,72689.36,33836.3,16918.15 +24-7-2019 18:00,128858.44,59982.54,29991.27 +24-7-2019 19:00,130510.44,60751.54,30375.77 +24-7-2019 20:00,115642.16,53830.48,26915.24 +24-7-2019 21:00,95817.8,44602.4,22301.2 +24-7-2019 22:00,67733.28,31529.28,15764.64 +24-7-2019 23:00,33040.64,15380.14,7690.07 +25-7-2019 00:00,11564.22,5383.04,2691.52 +25-7-2019 01:00,6608.12,3076.02,1538.01 +25-7-2019 02:00,1651.22,768.62,384.31 +25-7-2019 03:00,1651.22,768.62,384.31 +25-7-2019 04:00,3304.06,1538.02,769.01 +25-7-2019 05:00,11564.22,5383.04,2691.52 +25-7-2019 06:00,92513.76,43064.38,21532.19 +25-7-2019 07:00,153638.9,71517.64,35758.82 +25-7-2019 08:00,118946.24,55368.5,27684.25 +25-7-2019 09:00,140422.64,65365.58,32682.79 +25-7-2019 10:00,100773.9,46909.42,23454.71 +25-7-2019 11:00,87557.66,40757.36,20378.68 +25-7-2019 12:00,74341.38,34605.3,17302.65 +25-7-2019 13:00,59473.12,27684.26,13842.13 +25-7-2019 14:00,51212.96,23839.22,11919.61 +25-7-2019 15:00,39648.74,18456.16,9228.08 +25-7-2019 16:00,44604.84,20763.18,10381.59 +25-7-2019 17:00,72689.36,33836.3,16918.15 +25-7-2019 18:00,128858.44,59982.54,29991.27 +25-7-2019 19:00,130510.44,60751.54,30375.77 +25-7-2019 20:00,115642.16,53830.48,26915.24 +25-7-2019 21:00,95817.8,44602.4,22301.2 +25-7-2019 22:00,67733.28,31529.28,15764.64 +25-7-2019 23:00,33040.64,15380.14,7690.07 +26-7-2019 00:00,11564.22,5383.04,2691.52 +26-7-2019 01:00,6608.12,3076.02,1538.01 +26-7-2019 02:00,1651.22,768.62,384.31 +26-7-2019 03:00,1651.22,768.62,384.31 +26-7-2019 04:00,3304.06,1538.02,769.01 +26-7-2019 05:00,11564.22,5383.04,2691.52 +26-7-2019 06:00,92513.76,43064.38,21532.19 +26-7-2019 07:00,153638.9,71517.64,35758.82 +26-7-2019 08:00,118946.24,55368.5,27684.25 +26-7-2019 09:00,140422.64,65365.58,32682.79 +26-7-2019 10:00,100773.9,46909.42,23454.71 +26-7-2019 11:00,87557.66,40757.36,20378.68 +26-7-2019 12:00,74341.38,34605.3,17302.65 +26-7-2019 13:00,59473.12,27684.26,13842.13 +26-7-2019 14:00,51212.96,23839.22,11919.61 +26-7-2019 15:00,39648.74,18456.16,9228.08 +26-7-2019 16:00,44604.84,20763.18,10381.59 +26-7-2019 17:00,72689.36,33836.3,16918.15 +26-7-2019 18:00,128858.44,59982.54,29991.27 +26-7-2019 19:00,130510.44,60751.54,30375.77 +26-7-2019 20:00,115642.16,53830.48,26915.24 +26-7-2019 21:00,95817.8,44602.4,22301.2 +26-7-2019 22:00,67733.28,31529.28,15764.64 +26-7-2019 23:00,33040.64,15380.14,7690.07 +27-7-2019 00:00,11564.22,5383.04,2691.52 +27-7-2019 01:00,6608.12,3076.02,1538.01 +27-7-2019 02:00,1651.22,768.62,384.31 +27-7-2019 03:00,1651.22,768.62,384.31 +27-7-2019 04:00,3304.06,1538.02,769.01 +27-7-2019 05:00,11564.22,5383.04,2691.52 +27-7-2019 06:00,92513.76,43064.38,21532.19 +27-7-2019 07:00,153638.9,71517.64,35758.82 +27-7-2019 08:00,118946.24,55368.5,27684.25 +27-7-2019 09:00,140422.64,65365.58,32682.79 +27-7-2019 10:00,100773.9,46909.42,23454.71 +27-7-2019 11:00,87557.66,40757.36,20378.68 +27-7-2019 12:00,74341.38,34605.3,17302.65 +27-7-2019 13:00,59473.12,27684.26,13842.13 +27-7-2019 14:00,51212.96,23839.22,11919.61 +27-7-2019 15:00,39648.74,18456.16,9228.08 +27-7-2019 16:00,44604.84,20763.18,10381.59 +27-7-2019 17:00,72689.36,33836.3,16918.15 +27-7-2019 18:00,128858.44,59982.54,29991.27 +27-7-2019 19:00,130510.44,60751.54,30375.77 +27-7-2019 20:00,115642.16,53830.48,26915.24 +27-7-2019 21:00,95817.8,44602.4,22301.2 +27-7-2019 22:00,67733.28,31529.28,15764.64 +27-7-2019 23:00,33040.64,15380.14,7690.07 +28-7-2019 00:00,11564.22,5383.04,2691.52 +28-7-2019 01:00,6608.12,3076.02,1538.01 +28-7-2019 02:00,1651.22,768.62,384.31 +28-7-2019 03:00,1651.22,768.62,384.31 +28-7-2019 04:00,3304.06,1538.02,769.01 +28-7-2019 05:00,11564.22,5383.04,2691.52 +28-7-2019 06:00,92513.76,43064.38,21532.19 +28-7-2019 07:00,153638.9,71517.64,35758.82 +28-7-2019 08:00,118946.24,55368.5,27684.25 +28-7-2019 09:00,140422.64,65365.58,32682.79 +28-7-2019 10:00,100773.9,46909.42,23454.71 +28-7-2019 11:00,87557.66,40757.36,20378.68 +28-7-2019 12:00,74341.38,34605.3,17302.65 +28-7-2019 13:00,59473.12,27684.26,13842.13 +28-7-2019 14:00,51212.96,23839.22,11919.61 +28-7-2019 15:00,39648.74,18456.16,9228.08 +28-7-2019 16:00,44604.84,20763.18,10381.59 +28-7-2019 17:00,72689.36,33836.3,16918.15 +28-7-2019 18:00,128858.44,59982.54,29991.27 +28-7-2019 19:00,130510.44,60751.54,30375.77 +28-7-2019 20:00,115642.16,53830.48,26915.24 +28-7-2019 21:00,95817.8,44602.4,22301.2 +28-7-2019 22:00,67733.28,31529.28,15764.64 +28-7-2019 23:00,33040.64,15380.14,7690.07 +29-7-2019 00:00,11564.22,5383.04,2691.52 +29-7-2019 01:00,6608.12,3076.02,1538.01 +29-7-2019 02:00,1651.22,768.62,384.31 +29-7-2019 03:00,1651.22,768.62,384.31 +29-7-2019 04:00,3304.06,1538.02,769.01 +29-7-2019 05:00,11564.22,5383.04,2691.52 +29-7-2019 06:00,92513.76,43064.38,21532.19 +29-7-2019 07:00,153638.9,71517.64,35758.82 +29-7-2019 08:00,118946.24,55368.5,27684.25 +29-7-2019 09:00,140422.64,65365.58,32682.79 +29-7-2019 10:00,100773.9,46909.42,23454.71 +29-7-2019 11:00,87557.66,40757.36,20378.68 +29-7-2019 12:00,74341.38,34605.3,17302.65 +29-7-2019 13:00,59473.12,27684.26,13842.13 +29-7-2019 14:00,51212.96,23839.22,11919.61 +29-7-2019 15:00,39648.74,18456.16,9228.08 +29-7-2019 16:00,44604.84,20763.18,10381.59 +29-7-2019 17:00,72689.36,33836.3,16918.15 +29-7-2019 18:00,128858.44,59982.54,29991.27 +29-7-2019 19:00,130510.44,60751.54,30375.77 +29-7-2019 20:00,115642.16,53830.48,26915.24 +29-7-2019 21:00,95817.8,44602.4,22301.2 +29-7-2019 22:00,67733.28,31529.28,15764.64 +29-7-2019 23:00,33040.64,15380.14,7690.07 +30-7-2019 00:00,11564.22,5383.04,2691.52 +30-7-2019 01:00,6608.12,3076.02,1538.01 +30-7-2019 02:00,1651.22,768.62,384.31 +30-7-2019 03:00,1651.22,768.62,384.31 +30-7-2019 04:00,3304.06,1538.02,769.01 +30-7-2019 05:00,11564.22,5383.04,2691.52 +30-7-2019 06:00,92513.76,43064.38,21532.19 +30-7-2019 07:00,153638.9,71517.64,35758.82 +30-7-2019 08:00,118946.24,55368.5,27684.25 +30-7-2019 09:00,140422.64,65365.58,32682.79 +30-7-2019 10:00,100773.9,46909.42,23454.71 +30-7-2019 11:00,87557.66,40757.36,20378.68 +30-7-2019 12:00,74341.38,34605.3,17302.65 +30-7-2019 13:00,59473.12,27684.26,13842.13 +30-7-2019 14:00,51212.96,23839.22,11919.61 +30-7-2019 15:00,39648.74,18456.16,9228.08 +30-7-2019 16:00,44604.84,20763.18,10381.59 +30-7-2019 17:00,72689.36,33836.3,16918.15 +30-7-2019 18:00,128858.44,59982.54,29991.27 +30-7-2019 19:00,130510.44,60751.54,30375.77 +30-7-2019 20:00,115642.16,53830.48,26915.24 +30-7-2019 21:00,95817.8,44602.4,22301.2 +30-7-2019 22:00,67733.28,31529.28,15764.64 +30-7-2019 23:00,33040.64,15380.14,7690.07 +31-7-2019 00:00,11564.22,5383.04,2691.52 +31-7-2019 01:00,6608.12,3076.02,1538.01 +31-7-2019 02:00,1651.22,768.62,384.31 +31-7-2019 03:00,1651.22,768.62,384.31 +31-7-2019 04:00,3304.06,1538.02,769.01 +31-7-2019 05:00,11564.22,5383.04,2691.52 +31-7-2019 06:00,92513.76,43064.38,21532.19 +31-7-2019 07:00,153638.9,71517.64,35758.82 +31-7-2019 08:00,118946.24,55368.5,27684.25 +31-7-2019 09:00,140422.64,65365.58,32682.79 +31-7-2019 10:00,100773.9,46909.42,23454.71 +31-7-2019 11:00,87557.66,40757.36,20378.68 +31-7-2019 12:00,74341.38,34605.3,17302.65 +31-7-2019 13:00,59473.12,27684.26,13842.13 +31-7-2019 14:00,51212.96,23839.22,11919.61 +31-7-2019 15:00,39648.74,18456.16,9228.08 +31-7-2019 16:00,44604.84,20763.18,10381.59 +31-7-2019 17:00,72689.36,33836.3,16918.15 +31-7-2019 18:00,128858.44,59982.54,29991.27 +31-7-2019 19:00,130510.44,60751.54,30375.77 +31-7-2019 20:00,115642.16,53830.48,26915.24 +31-7-2019 21:00,95817.8,44602.4,22301.2 +31-7-2019 22:00,67733.28,31529.28,15764.64 +31-7-2019 23:00,33040.64,15380.14,7690.07 +1-8-2019 00:00,11564.22,5383.04,2691.52 +1-8-2019 01:00,6608.12,3076.02,1538.01 +1-8-2019 02:00,1651.22,768.62,384.31 +1-8-2019 03:00,1651.22,768.62,384.31 +1-8-2019 04:00,3304.06,1538.02,769.01 +1-8-2019 05:00,11564.22,5383.04,2691.52 +1-8-2019 06:00,92513.76,43064.38,21532.19 +1-8-2019 07:00,153638.9,71517.64,35758.82 +1-8-2019 08:00,118946.24,55368.5,27684.25 +1-8-2019 09:00,140422.64,65365.58,32682.79 +1-8-2019 10:00,100773.9,46909.42,23454.71 +1-8-2019 11:00,87557.66,40757.36,20378.68 +1-8-2019 12:00,74341.38,34605.3,17302.65 +1-8-2019 13:00,59473.12,27684.26,13842.13 +1-8-2019 14:00,51212.96,23839.22,11919.61 +1-8-2019 15:00,39648.74,18456.16,9228.08 +1-8-2019 16:00,44604.84,20763.18,10381.59 +1-8-2019 17:00,72689.36,33836.3,16918.15 +1-8-2019 18:00,128858.44,59982.54,29991.27 +1-8-2019 19:00,130510.44,60751.54,30375.77 +1-8-2019 20:00,115642.16,53830.48,26915.24 +1-8-2019 21:00,95817.8,44602.4,22301.2 +1-8-2019 22:00,67733.28,31529.28,15764.64 +1-8-2019 23:00,33040.64,15380.14,7690.07 +2-8-2019 00:00,11564.22,5383.04,2691.52 +2-8-2019 01:00,6608.12,3076.02,1538.01 +2-8-2019 02:00,1651.22,768.62,384.31 +2-8-2019 03:00,1651.22,768.62,384.31 +2-8-2019 04:00,3304.06,1538.02,769.01 +2-8-2019 05:00,11564.22,5383.04,2691.52 +2-8-2019 06:00,92513.76,43064.38,21532.19 +2-8-2019 07:00,153638.9,71517.64,35758.82 +2-8-2019 08:00,118946.24,55368.5,27684.25 +2-8-2019 09:00,140422.64,65365.58,32682.79 +2-8-2019 10:00,100773.9,46909.42,23454.71 +2-8-2019 11:00,87557.66,40757.36,20378.68 +2-8-2019 12:00,74341.38,34605.3,17302.65 +2-8-2019 13:00,59473.12,27684.26,13842.13 +2-8-2019 14:00,51212.96,23839.22,11919.61 +2-8-2019 15:00,39648.74,18456.16,9228.08 +2-8-2019 16:00,44604.84,20763.18,10381.59 +2-8-2019 17:00,72689.36,33836.3,16918.15 +2-8-2019 18:00,128858.44,59982.54,29991.27 +2-8-2019 19:00,130510.44,60751.54,30375.77 +2-8-2019 20:00,115642.16,53830.48,26915.24 +2-8-2019 21:00,95817.8,44602.4,22301.2 +2-8-2019 22:00,67733.28,31529.28,15764.64 +2-8-2019 23:00,33040.64,15380.14,7690.07 +3-8-2019 00:00,11564.22,5383.04,2691.52 +3-8-2019 01:00,6608.12,3076.02,1538.01 +3-8-2019 02:00,1651.22,768.62,384.31 +3-8-2019 03:00,1651.22,768.62,384.31 +3-8-2019 04:00,3304.06,1538.02,769.01 +3-8-2019 05:00,11564.22,5383.04,2691.52 +3-8-2019 06:00,92513.76,43064.38,21532.19 +3-8-2019 07:00,153638.9,71517.64,35758.82 +3-8-2019 08:00,118946.24,55368.5,27684.25 +3-8-2019 09:00,140422.64,65365.58,32682.79 +3-8-2019 10:00,100773.9,46909.42,23454.71 +3-8-2019 11:00,87557.66,40757.36,20378.68 +3-8-2019 12:00,74341.38,34605.3,17302.65 +3-8-2019 13:00,59473.12,27684.26,13842.13 +3-8-2019 14:00,51212.96,23839.22,11919.61 +3-8-2019 15:00,39648.74,18456.16,9228.08 +3-8-2019 16:00,44604.84,20763.18,10381.59 +3-8-2019 17:00,72689.36,33836.3,16918.15 +3-8-2019 18:00,128858.44,59982.54,29991.27 +3-8-2019 19:00,130510.44,60751.54,30375.77 +3-8-2019 20:00,115642.16,53830.48,26915.24 +3-8-2019 21:00,95817.8,44602.4,22301.2 +3-8-2019 22:00,67733.28,31529.28,15764.64 +3-8-2019 23:00,33040.64,15380.14,7690.07 +4-8-2019 00:00,11564.22,5383.04,2691.52 +4-8-2019 01:00,6608.12,3076.02,1538.01 +4-8-2019 02:00,1651.22,768.62,384.31 +4-8-2019 03:00,1651.22,768.62,384.31 +4-8-2019 04:00,3304.06,1538.02,769.01 +4-8-2019 05:00,11564.22,5383.04,2691.52 +4-8-2019 06:00,92513.76,43064.38,21532.19 +4-8-2019 07:00,153638.9,71517.64,35758.82 +4-8-2019 08:00,118946.24,55368.5,27684.25 +4-8-2019 09:00,140422.64,65365.58,32682.79 +4-8-2019 10:00,100773.9,46909.42,23454.71 +4-8-2019 11:00,87557.66,40757.36,20378.68 +4-8-2019 12:00,74341.38,34605.3,17302.65 +4-8-2019 13:00,59473.12,27684.26,13842.13 +4-8-2019 14:00,51212.96,23839.22,11919.61 +4-8-2019 15:00,39648.74,18456.16,9228.08 +4-8-2019 16:00,44604.84,20763.18,10381.59 +4-8-2019 17:00,72689.36,33836.3,16918.15 +4-8-2019 18:00,128858.44,59982.54,29991.27 +4-8-2019 19:00,130510.44,60751.54,30375.77 +4-8-2019 20:00,115642.16,53830.48,26915.24 +4-8-2019 21:00,95817.8,44602.4,22301.2 +4-8-2019 22:00,67733.28,31529.28,15764.64 +4-8-2019 23:00,33040.64,15380.14,7690.07 +5-8-2019 00:00,11564.22,5383.04,2691.52 +5-8-2019 01:00,6608.12,3076.02,1538.01 +5-8-2019 02:00,1651.22,768.62,384.31 +5-8-2019 03:00,1651.22,768.62,384.31 +5-8-2019 04:00,3304.06,1538.02,769.01 +5-8-2019 05:00,11564.22,5383.04,2691.52 +5-8-2019 06:00,92513.76,43064.38,21532.19 +5-8-2019 07:00,153638.9,71517.64,35758.82 +5-8-2019 08:00,118946.24,55368.5,27684.25 +5-8-2019 09:00,140422.64,65365.58,32682.79 +5-8-2019 10:00,100773.9,46909.42,23454.71 +5-8-2019 11:00,87557.66,40757.36,20378.68 +5-8-2019 12:00,74341.38,34605.3,17302.65 +5-8-2019 13:00,59473.12,27684.26,13842.13 +5-8-2019 14:00,51212.96,23839.22,11919.61 +5-8-2019 15:00,39648.74,18456.16,9228.08 +5-8-2019 16:00,44604.84,20763.18,10381.59 +5-8-2019 17:00,72689.36,33836.3,16918.15 +5-8-2019 18:00,128858.44,59982.54,29991.27 +5-8-2019 19:00,130510.44,60751.54,30375.77 +5-8-2019 20:00,115642.16,53830.48,26915.24 +5-8-2019 21:00,95817.8,44602.4,22301.2 +5-8-2019 22:00,67733.28,31529.28,15764.64 +5-8-2019 23:00,33040.64,15380.14,7690.07 +6-8-2019 00:00,11564.22,5383.04,2691.52 +6-8-2019 01:00,6608.12,3076.02,1538.01 +6-8-2019 02:00,1651.22,768.62,384.31 +6-8-2019 03:00,1651.22,768.62,384.31 +6-8-2019 04:00,3304.06,1538.02,769.01 +6-8-2019 05:00,11564.22,5383.04,2691.52 +6-8-2019 06:00,92513.76,43064.38,21532.19 +6-8-2019 07:00,153638.9,71517.64,35758.82 +6-8-2019 08:00,118946.24,55368.5,27684.25 +6-8-2019 09:00,140422.64,65365.58,32682.79 +6-8-2019 10:00,100773.9,46909.42,23454.71 +6-8-2019 11:00,87557.66,40757.36,20378.68 +6-8-2019 12:00,74341.38,34605.3,17302.65 +6-8-2019 13:00,59473.12,27684.26,13842.13 +6-8-2019 14:00,51212.96,23839.22,11919.61 +6-8-2019 15:00,39648.74,18456.16,9228.08 +6-8-2019 16:00,44604.84,20763.18,10381.59 +6-8-2019 17:00,72689.36,33836.3,16918.15 +6-8-2019 18:00,128858.44,59982.54,29991.27 +6-8-2019 19:00,130510.44,60751.54,30375.77 +6-8-2019 20:00,115642.16,53830.48,26915.24 +6-8-2019 21:00,95817.8,44602.4,22301.2 +6-8-2019 22:00,67733.28,31529.28,15764.64 +6-8-2019 23:00,33040.64,15380.14,7690.07 +7-8-2019 00:00,11564.22,5383.04,2691.52 +7-8-2019 01:00,6608.12,3076.02,1538.01 +7-8-2019 02:00,1651.22,768.62,384.31 +7-8-2019 03:00,1651.22,768.62,384.31 +7-8-2019 04:00,3304.06,1538.02,769.01 +7-8-2019 05:00,11564.22,5383.04,2691.52 +7-8-2019 06:00,92513.76,43064.38,21532.19 +7-8-2019 07:00,153638.9,71517.64,35758.82 +7-8-2019 08:00,118946.24,55368.5,27684.25 +7-8-2019 09:00,140422.64,65365.58,32682.79 +7-8-2019 10:00,100773.9,46909.42,23454.71 +7-8-2019 11:00,87557.66,40757.36,20378.68 +7-8-2019 12:00,74341.38,34605.3,17302.65 +7-8-2019 13:00,59473.12,27684.26,13842.13 +7-8-2019 14:00,51212.96,23839.22,11919.61 +7-8-2019 15:00,39648.74,18456.16,9228.08 +7-8-2019 16:00,44604.84,20763.18,10381.59 +7-8-2019 17:00,72689.36,33836.3,16918.15 +7-8-2019 18:00,128858.44,59982.54,29991.27 +7-8-2019 19:00,130510.44,60751.54,30375.77 +7-8-2019 20:00,115642.16,53830.48,26915.24 +7-8-2019 21:00,95817.8,44602.4,22301.2 +7-8-2019 22:00,67733.28,31529.28,15764.64 +7-8-2019 23:00,33040.64,15380.14,7690.07 +8-8-2019 00:00,11564.22,5383.04,2691.52 +8-8-2019 01:00,6608.12,3076.02,1538.01 +8-8-2019 02:00,1651.22,768.62,384.31 +8-8-2019 03:00,1651.22,768.62,384.31 +8-8-2019 04:00,3304.06,1538.02,769.01 +8-8-2019 05:00,11564.22,5383.04,2691.52 +8-8-2019 06:00,92513.76,43064.38,21532.19 +8-8-2019 07:00,153638.9,71517.64,35758.82 +8-8-2019 08:00,118946.24,55368.5,27684.25 +8-8-2019 09:00,140422.64,65365.58,32682.79 +8-8-2019 10:00,100773.9,46909.42,23454.71 +8-8-2019 11:00,87557.66,40757.36,20378.68 +8-8-2019 12:00,74341.38,34605.3,17302.65 +8-8-2019 13:00,59473.12,27684.26,13842.13 +8-8-2019 14:00,51212.96,23839.22,11919.61 +8-8-2019 15:00,39648.74,18456.16,9228.08 +8-8-2019 16:00,44604.84,20763.18,10381.59 +8-8-2019 17:00,72689.36,33836.3,16918.15 +8-8-2019 18:00,128858.44,59982.54,29991.27 +8-8-2019 19:00,130510.44,60751.54,30375.77 +8-8-2019 20:00,115642.16,53830.48,26915.24 +8-8-2019 21:00,95817.8,44602.4,22301.2 +8-8-2019 22:00,67733.28,31529.28,15764.64 +8-8-2019 23:00,33040.64,15380.14,7690.07 +9-8-2019 00:00,11564.22,5383.04,2691.52 +9-8-2019 01:00,6608.12,3076.02,1538.01 +9-8-2019 02:00,1651.22,768.62,384.31 +9-8-2019 03:00,1651.22,768.62,384.31 +9-8-2019 04:00,3304.06,1538.02,769.01 +9-8-2019 05:00,11564.22,5383.04,2691.52 +9-8-2019 06:00,92513.76,43064.38,21532.19 +9-8-2019 07:00,153638.9,71517.64,35758.82 +9-8-2019 08:00,118946.24,55368.5,27684.25 +9-8-2019 09:00,140422.64,65365.58,32682.79 +9-8-2019 10:00,100773.9,46909.42,23454.71 +9-8-2019 11:00,87557.66,40757.36,20378.68 +9-8-2019 12:00,74341.38,34605.3,17302.65 +9-8-2019 13:00,59473.12,27684.26,13842.13 +9-8-2019 14:00,51212.96,23839.22,11919.61 +9-8-2019 15:00,39648.74,18456.16,9228.08 +9-8-2019 16:00,44604.84,20763.18,10381.59 +9-8-2019 17:00,72689.36,33836.3,16918.15 +9-8-2019 18:00,128858.44,59982.54,29991.27 +9-8-2019 19:00,130510.44,60751.54,30375.77 +9-8-2019 20:00,115642.16,53830.48,26915.24 +9-8-2019 21:00,95817.8,44602.4,22301.2 +9-8-2019 22:00,67733.28,31529.28,15764.64 +9-8-2019 23:00,33040.64,15380.14,7690.07 +10-8-2019 00:00,11564.22,5383.04,2691.52 +10-8-2019 01:00,6608.12,3076.02,1538.01 +10-8-2019 02:00,1651.22,768.62,384.31 +10-8-2019 03:00,1651.22,768.62,384.31 +10-8-2019 04:00,3304.06,1538.02,769.01 +10-8-2019 05:00,11564.22,5383.04,2691.52 +10-8-2019 06:00,92513.76,43064.38,21532.19 +10-8-2019 07:00,153638.9,71517.64,35758.82 +10-8-2019 08:00,118946.24,55368.5,27684.25 +10-8-2019 09:00,140422.64,65365.58,32682.79 +10-8-2019 10:00,100773.9,46909.42,23454.71 +10-8-2019 11:00,87557.66,40757.36,20378.68 +10-8-2019 12:00,74341.38,34605.3,17302.65 +10-8-2019 13:00,59473.12,27684.26,13842.13 +10-8-2019 14:00,51212.96,23839.22,11919.61 +10-8-2019 15:00,39648.74,18456.16,9228.08 +10-8-2019 16:00,44604.84,20763.18,10381.59 +10-8-2019 17:00,72689.36,33836.3,16918.15 +10-8-2019 18:00,128858.44,59982.54,29991.27 +10-8-2019 19:00,130510.44,60751.54,30375.77 +10-8-2019 20:00,115642.16,53830.48,26915.24 +10-8-2019 21:00,95817.8,44602.4,22301.2 +10-8-2019 22:00,67733.28,31529.28,15764.64 +10-8-2019 23:00,33040.64,15380.14,7690.07 +11-8-2019 00:00,11564.22,5383.04,2691.52 +11-8-2019 01:00,6608.12,3076.02,1538.01 +11-8-2019 02:00,1651.22,768.62,384.31 +11-8-2019 03:00,1651.22,768.62,384.31 +11-8-2019 04:00,3304.06,1538.02,769.01 +11-8-2019 05:00,11564.22,5383.04,2691.52 +11-8-2019 06:00,92513.76,43064.38,21532.19 +11-8-2019 07:00,153638.9,71517.64,35758.82 +11-8-2019 08:00,118946.24,55368.5,27684.25 +11-8-2019 09:00,140422.64,65365.58,32682.79 +11-8-2019 10:00,100773.9,46909.42,23454.71 +11-8-2019 11:00,87557.66,40757.36,20378.68 +11-8-2019 12:00,74341.38,34605.3,17302.65 +11-8-2019 13:00,59473.12,27684.26,13842.13 +11-8-2019 14:00,51212.96,23839.22,11919.61 +11-8-2019 15:00,39648.74,18456.16,9228.08 +11-8-2019 16:00,44604.84,20763.18,10381.59 +11-8-2019 17:00,72689.36,33836.3,16918.15 +11-8-2019 18:00,128858.44,59982.54,29991.27 +11-8-2019 19:00,130510.44,60751.54,30375.77 +11-8-2019 20:00,115642.16,53830.48,26915.24 +11-8-2019 21:00,95817.8,44602.4,22301.2 +11-8-2019 22:00,67733.28,31529.28,15764.64 +11-8-2019 23:00,33040.64,15380.14,7690.07 +12-8-2019 00:00,11564.22,5383.04,2691.52 +12-8-2019 01:00,6608.12,3076.02,1538.01 +12-8-2019 02:00,1651.22,768.62,384.31 +12-8-2019 03:00,1651.22,768.62,384.31 +12-8-2019 04:00,3304.06,1538.02,769.01 +12-8-2019 05:00,11564.22,5383.04,2691.52 +12-8-2019 06:00,92513.76,43064.38,21532.19 +12-8-2019 07:00,153638.9,71517.64,35758.82 +12-8-2019 08:00,118946.24,55368.5,27684.25 +12-8-2019 09:00,140422.64,65365.58,32682.79 +12-8-2019 10:00,100773.9,46909.42,23454.71 +12-8-2019 11:00,87557.66,40757.36,20378.68 +12-8-2019 12:00,74341.38,34605.3,17302.65 +12-8-2019 13:00,59473.12,27684.26,13842.13 +12-8-2019 14:00,51212.96,23839.22,11919.61 +12-8-2019 15:00,39648.74,18456.16,9228.08 +12-8-2019 16:00,44604.84,20763.18,10381.59 +12-8-2019 17:00,72689.36,33836.3,16918.15 +12-8-2019 18:00,128858.44,59982.54,29991.27 +12-8-2019 19:00,130510.44,60751.54,30375.77 +12-8-2019 20:00,115642.16,53830.48,26915.24 +12-8-2019 21:00,95817.8,44602.4,22301.2 +12-8-2019 22:00,67733.28,31529.28,15764.64 +12-8-2019 23:00,33040.64,15380.14,7690.07 +13-8-2019 00:00,11564.22,5383.04,2691.52 +13-8-2019 01:00,6608.12,3076.02,1538.01 +13-8-2019 02:00,1651.22,768.62,384.31 +13-8-2019 03:00,1651.22,768.62,384.31 +13-8-2019 04:00,3304.06,1538.02,769.01 +13-8-2019 05:00,11564.22,5383.04,2691.52 +13-8-2019 06:00,92513.76,43064.38,21532.19 +13-8-2019 07:00,153638.9,71517.64,35758.82 +13-8-2019 08:00,118946.24,55368.5,27684.25 +13-8-2019 09:00,140422.64,65365.58,32682.79 +13-8-2019 10:00,100773.9,46909.42,23454.71 +13-8-2019 11:00,87557.66,40757.36,20378.68 +13-8-2019 12:00,74341.38,34605.3,17302.65 +13-8-2019 13:00,59473.12,27684.26,13842.13 +13-8-2019 14:00,51212.96,23839.22,11919.61 +13-8-2019 15:00,39648.74,18456.16,9228.08 +13-8-2019 16:00,44604.84,20763.18,10381.59 +13-8-2019 17:00,72689.36,33836.3,16918.15 +13-8-2019 18:00,128858.44,59982.54,29991.27 +13-8-2019 19:00,130510.44,60751.54,30375.77 +13-8-2019 20:00,115642.16,53830.48,26915.24 +13-8-2019 21:00,95817.8,44602.4,22301.2 +13-8-2019 22:00,67733.28,31529.28,15764.64 +13-8-2019 23:00,33040.64,15380.14,7690.07 +14-8-2019 00:00,11564.22,5383.04,2691.52 +14-8-2019 01:00,6608.12,3076.02,1538.01 +14-8-2019 02:00,1651.22,768.62,384.31 +14-8-2019 03:00,1651.22,768.62,384.31 +14-8-2019 04:00,3304.06,1538.02,769.01 +14-8-2019 05:00,11564.22,5383.04,2691.52 +14-8-2019 06:00,92513.76,43064.38,21532.19 +14-8-2019 07:00,153638.9,71517.64,35758.82 +14-8-2019 08:00,118946.24,55368.5,27684.25 +14-8-2019 09:00,140422.64,65365.58,32682.79 +14-8-2019 10:00,100773.9,46909.42,23454.71 +14-8-2019 11:00,87557.66,40757.36,20378.68 +14-8-2019 12:00,74341.38,34605.3,17302.65 +14-8-2019 13:00,59473.12,27684.26,13842.13 +14-8-2019 14:00,51212.96,23839.22,11919.61 +14-8-2019 15:00,39648.74,18456.16,9228.08 +14-8-2019 16:00,44604.84,20763.18,10381.59 +14-8-2019 17:00,72689.36,33836.3,16918.15 +14-8-2019 18:00,128858.44,59982.54,29991.27 +14-8-2019 19:00,130510.44,60751.54,30375.77 +14-8-2019 20:00,115642.16,53830.48,26915.24 +14-8-2019 21:00,95817.8,44602.4,22301.2 +14-8-2019 22:00,67733.28,31529.28,15764.64 +14-8-2019 23:00,33040.64,15380.14,7690.07 +15-8-2019 00:00,11564.22,5383.04,2691.52 +15-8-2019 01:00,6608.12,3076.02,1538.01 +15-8-2019 02:00,1651.22,768.62,384.31 +15-8-2019 03:00,1651.22,768.62,384.31 +15-8-2019 04:00,3304.06,1538.02,769.01 +15-8-2019 05:00,11564.22,5383.04,2691.52 +15-8-2019 06:00,92513.76,43064.38,21532.19 +15-8-2019 07:00,153638.9,71517.64,35758.82 +15-8-2019 08:00,118946.24,55368.5,27684.25 +15-8-2019 09:00,140422.64,65365.58,32682.79 +15-8-2019 10:00,100773.9,46909.42,23454.71 +15-8-2019 11:00,87557.66,40757.36,20378.68 +15-8-2019 12:00,74341.38,34605.3,17302.65 +15-8-2019 13:00,59473.12,27684.26,13842.13 +15-8-2019 14:00,51212.96,23839.22,11919.61 +15-8-2019 15:00,39648.74,18456.16,9228.08 +15-8-2019 16:00,44604.84,20763.18,10381.59 +15-8-2019 17:00,72689.36,33836.3,16918.15 +15-8-2019 18:00,128858.44,59982.54,29991.27 +15-8-2019 19:00,130510.44,60751.54,30375.77 +15-8-2019 20:00,115642.16,53830.48,26915.24 +15-8-2019 21:00,95817.8,44602.4,22301.2 +15-8-2019 22:00,67733.28,31529.28,15764.64 +15-8-2019 23:00,33040.64,15380.14,7690.07 +16-8-2019 00:00,11564.22,5383.04,2691.52 +16-8-2019 01:00,6608.12,3076.02,1538.01 +16-8-2019 02:00,1651.22,768.62,384.31 +16-8-2019 03:00,1651.22,768.62,384.31 +16-8-2019 04:00,5421.24,2523.54,1261.77 +16-8-2019 05:00,14564.66,6779.72,3389.86 +16-8-2019 06:00,92513.76,43064.38,21532.19 +16-8-2019 07:00,153638.9,71517.64,35758.82 +16-8-2019 08:00,118946.24,55368.5,27684.25 +16-8-2019 09:00,140422.64,65365.58,32682.79 +16-8-2019 10:00,100773.9,46909.42,23454.71 +16-8-2019 11:00,87557.66,40757.36,20378.68 +16-8-2019 12:00,82109.64,38221.36,19110.68 +16-8-2019 13:00,59473.12,27684.26,13842.13 +16-8-2019 14:00,51212.96,23839.22,11919.61 +16-8-2019 15:00,39648.74,18456.16,9228.08 +16-8-2019 16:00,44604.84,20763.18,10381.59 +16-8-2019 17:00,72689.36,33836.3,16918.15 +16-8-2019 18:00,128858.44,59982.54,29991.27 +16-8-2019 19:00,130510.44,60751.54,30375.77 +16-8-2019 20:00,115642.16,53830.48,26915.24 +16-8-2019 21:00,95817.8,44602.4,22301.2 +16-8-2019 22:00,67733.28,31529.28,15764.64 +16-8-2019 23:00,33040.64,15380.14,7690.07 +17-8-2019 00:00,11564.22,5383.04,2691.52 +17-8-2019 01:00,6608.12,3076.02,1538.01 +17-8-2019 02:00,1651.22,768.62,384.31 +17-8-2019 03:00,1651.22,768.62,384.31 +17-8-2019 04:00,3304.06,1538.02,769.01 +17-8-2019 05:00,11564.22,5383.04,2691.52 +17-8-2019 06:00,92513.76,43064.38,21532.19 +17-8-2019 07:00,153638.9,71517.64,35758.82 +17-8-2019 08:00,118946.24,55368.5,27684.25 +17-8-2019 09:00,155977.98,72606.48,36303.24 +17-8-2019 10:00,100773.9,46909.42,23454.71 +17-8-2019 11:00,87557.66,40757.36,20378.68 +17-8-2019 12:00,74341.38,34605.3,17302.65 +17-8-2019 13:00,59473.12,27684.26,13842.13 +17-8-2019 14:00,51212.96,23839.22,11919.61 +17-8-2019 15:00,39648.74,18456.16,9228.08 +17-8-2019 16:00,44604.84,20763.18,10381.59 +17-8-2019 17:00,72689.36,33836.3,16918.15 +17-8-2019 18:00,128858.44,59982.54,29991.27 +17-8-2019 19:00,130510.44,60751.54,30375.77 +17-8-2019 20:00,115642.16,53830.48,26915.24 +17-8-2019 21:00,95817.8,44602.4,22301.2 +17-8-2019 22:00,67733.28,31529.28,15764.64 +17-8-2019 23:00,33040.64,15380.14,7690.07 +18-8-2019 00:00,11564.22,5383.04,2691.52 +18-8-2019 01:00,6608.12,3076.02,1538.01 +18-8-2019 02:00,1651.22,768.62,384.31 +18-8-2019 03:00,2755.84,1282.82,641.41 +18-8-2019 04:00,5861.42,2728.44,1364.22 +18-8-2019 05:00,14047.12,6538.82,3269.41 +18-8-2019 06:00,93453.08,43501.64,21750.82 +18-8-2019 07:00,154207.56,71782.36,35891.18 +18-8-2019 08:00,118946.24,55368.5,27684.25 +18-8-2019 09:00,171936.68,80035.12,40017.56 +18-8-2019 10:00,100773.9,46909.42,23454.71 +18-8-2019 11:00,87557.66,40757.36,20378.68 +18-8-2019 12:00,74341.38,34605.3,17302.65 +18-8-2019 13:00,59473.12,27684.26,13842.13 +18-8-2019 14:00,51212.96,23839.22,11919.61 +18-8-2019 15:00,39648.74,18456.16,9228.08 +18-8-2019 16:00,44604.84,20763.18,10381.59 +18-8-2019 17:00,72689.36,33836.3,16918.15 +18-8-2019 18:00,128858.44,59982.54,29991.27 +18-8-2019 19:00,130510.44,60751.54,30375.77 +18-8-2019 20:00,115642.16,53830.48,26915.24 +18-8-2019 21:00,95817.8,44602.4,22301.2 +18-8-2019 22:00,67733.28,31529.28,15764.64 +18-8-2019 23:00,33040.64,15380.14,7690.07 +19-8-2019 00:00,11564.22,5383.04,2691.52 +19-8-2019 01:00,6608.12,3076.02,1538.01 +19-8-2019 02:00,1651.22,768.62,384.31 +19-8-2019 03:00,3914.56,1822.2,911.1 +19-8-2019 04:00,6487.9,3020.06,1510.03 +19-8-2019 05:00,14656.82,6822.64,3411.32 +19-8-2019 06:00,92513.76,43064.38,21532.19 +19-8-2019 07:00,153638.9,71517.64,35758.82 +19-8-2019 08:00,118946.24,55368.5,27684.25 +19-8-2019 09:00,140422.64,65365.58,32682.79 +19-8-2019 10:00,100773.9,46909.42,23454.71 +19-8-2019 11:00,87557.66,40757.36,20378.68 +19-8-2019 12:00,75441.46,35117.38,17558.69 +19-8-2019 13:00,59473.12,27684.26,13842.13 +19-8-2019 14:00,51212.96,23839.22,11919.61 +19-8-2019 15:00,39648.74,18456.16,9228.08 +19-8-2019 16:00,44604.84,20763.18,10381.59 +19-8-2019 17:00,72689.36,33836.3,16918.15 +19-8-2019 18:00,128858.44,59982.54,29991.27 +19-8-2019 19:00,130510.44,60751.54,30375.77 +19-8-2019 20:00,115642.16,53830.48,26915.24 +19-8-2019 21:00,95817.8,44602.4,22301.2 +19-8-2019 22:00,67733.28,31529.28,15764.64 +19-8-2019 23:00,33040.64,15380.14,7690.07 +20-8-2019 00:00,11564.22,5383.04,2691.52 +20-8-2019 01:00,6608.12,3076.02,1538.01 +20-8-2019 02:00,1651.22,768.62,384.31 +20-8-2019 03:00,1651.22,768.62,384.31 +20-8-2019 04:00,6311.52,2937.96,1468.98 +20-8-2019 05:00,14910.34,6940.64,3470.32 +20-8-2019 06:00,92513.76,43064.38,21532.19 +20-8-2019 07:00,153638.9,71517.64,35758.82 +20-8-2019 08:00,118946.24,55368.5,27684.25 +20-8-2019 09:00,140422.64,65365.58,32682.79 +20-8-2019 10:00,100773.9,46909.42,23454.71 +20-8-2019 11:00,87557.66,40757.36,20378.68 +20-8-2019 12:00,74341.38,34605.3,17302.65 +20-8-2019 13:00,59473.12,27684.26,13842.13 +20-8-2019 14:00,51212.96,23839.22,11919.61 +20-8-2019 15:00,39648.74,18456.16,9228.08 +20-8-2019 16:00,44604.84,20763.18,10381.59 +20-8-2019 17:00,72689.36,33836.3,16918.15 +20-8-2019 18:00,128858.44,59982.54,29991.27 +20-8-2019 19:00,130510.44,60751.54,30375.77 +20-8-2019 20:00,115642.16,53830.48,26915.24 +20-8-2019 21:00,95817.8,44602.4,22301.2 +20-8-2019 22:00,67733.28,31529.28,15764.64 +20-8-2019 23:00,33040.64,15380.14,7690.07 +21-8-2019 00:00,11564.22,5383.04,2691.52 +21-8-2019 01:00,6608.12,3076.02,1538.01 +21-8-2019 02:00,1651.22,768.62,384.31 +21-8-2019 03:00,5918.22,2754.88,1377.44 +21-8-2019 04:00,8088.26,3765.02,1882.51 +21-8-2019 05:00,15959.88,7429.18,3714.59 +21-8-2019 06:00,95568.76,44486.48,22243.24 +21-8-2019 07:00,182582.16,84990.5,42495.25 +21-8-2019 08:00,125296.56,58324.52,29162.26 +21-8-2019 09:00,140422.64,65365.58,32682.79 +21-8-2019 10:00,100773.9,46909.42,23454.71 +21-8-2019 11:00,87557.66,40757.36,20378.68 +21-8-2019 12:00,77658.34,36149.32,18074.66 +21-8-2019 13:00,59473.12,27684.26,13842.13 +21-8-2019 14:00,51212.96,23839.22,11919.61 +21-8-2019 15:00,39648.74,18456.16,9228.08 +21-8-2019 16:00,44604.84,20763.18,10381.59 +21-8-2019 17:00,72689.36,33836.3,16918.15 +21-8-2019 18:00,128858.44,59982.54,29991.27 +21-8-2019 19:00,130510.44,60751.54,30375.77 +21-8-2019 20:00,115716.88,53865.26,26932.63 +21-8-2019 21:00,95817.8,44602.4,22301.2 +21-8-2019 22:00,67733.28,31529.28,15764.64 +21-8-2019 23:00,33040.64,15380.14,7690.07 +22-8-2019 00:00,11564.22,5383.04,2691.52 +22-8-2019 01:00,7722.3,3594.66,1797.33 +22-8-2019 02:00,6307.02,2935.86,1467.93 +22-8-2019 03:00,6443.16,2999.24,1499.62 +22-8-2019 04:00,8185.8,3810.42,1905.21 +22-8-2019 05:00,39281.5,18285.22,9142.61 +22-8-2019 06:00,116198.78,54089.58,27044.79 +22-8-2019 07:00,261745.98,121840.62,60920.31 +22-8-2019 08:00,205219.26,95527.9,47763.95 +22-8-2019 09:00,140422.64,65365.58,32682.79 +22-8-2019 10:00,100773.9,46909.42,23454.71 +22-8-2019 11:00,87557.66,40757.36,20378.68 +22-8-2019 12:00,118928.1,55360.06,27680.03 +22-8-2019 13:00,59473.12,27684.26,13842.13 +22-8-2019 14:00,51212.96,23839.22,11919.61 +22-8-2019 15:00,39648.74,18456.16,9228.08 +22-8-2019 16:00,44604.84,20763.18,10381.59 +22-8-2019 17:00,72689.36,33836.3,16918.15 +22-8-2019 18:00,128858.44,59982.54,29991.27 +22-8-2019 19:00,130510.44,60751.54,30375.77 +22-8-2019 20:00,115642.16,53830.48,26915.24 +22-8-2019 21:00,95817.8,44602.4,22301.2 +22-8-2019 22:00,67733.28,31529.28,15764.64 +22-8-2019 23:00,33040.64,15380.14,7690.07 +23-8-2019 00:00,11564.22,5383.04,2691.52 +23-8-2019 01:00,7920.7,3687.02,1843.51 +23-8-2019 02:00,6208.54,2890.02,1445.01 +23-8-2019 03:00,6341.36,2951.84,1475.92 +23-8-2019 04:00,8833.02,4111.7,2055.85 +23-8-2019 05:00,45574.0,21214.32,10607.16 +23-8-2019 06:00,116887.38,54410.12,27205.06 +23-8-2019 07:00,280872.28,130743.76,65371.88 +23-8-2019 08:00,233399.52,108645.58,54322.79 +23-8-2019 09:00,140422.64,65365.58,32682.79 +23-8-2019 10:00,100773.9,46909.42,23454.71 +23-8-2019 11:00,89270.56,41554.7,20777.35 +23-8-2019 12:00,134490.78,62604.36,31302.18 +23-8-2019 13:00,59473.12,27684.26,13842.13 +23-8-2019 14:00,51212.96,23839.22,11919.61 +23-8-2019 15:00,39648.74,18456.16,9228.08 +23-8-2019 16:00,44604.84,20763.18,10381.59 +23-8-2019 17:00,72689.36,33836.3,16918.15 +23-8-2019 18:00,128858.44,59982.54,29991.27 +23-8-2019 19:00,130510.44,60751.54,30375.77 +23-8-2019 20:00,115642.16,53830.48,26915.24 +23-8-2019 21:00,95817.8,44602.4,22301.2 +23-8-2019 22:00,67733.28,31529.28,15764.64 +23-8-2019 23:00,33040.64,15380.14,7690.07 +24-8-2019 00:00,11564.22,5383.04,2691.52 +24-8-2019 01:00,8349.12,3886.46,1943.23 +24-8-2019 02:00,5600.78,2607.12,1303.56 +24-8-2019 03:00,5724.5,2664.7,1332.35 +24-8-2019 04:00,7555.36,3516.96,1758.48 +24-8-2019 05:00,37375.1,17397.8,8698.9 +24-8-2019 06:00,159007.52,74016.72,37008.36 +24-8-2019 07:00,374209.4,174191.42,87095.71 +24-8-2019 08:00,126801.54,59025.08,29512.54 +24-8-2019 09:00,166110.76,77323.2,38661.6 +24-8-2019 10:00,100773.9,46909.42,23454.71 +24-8-2019 11:00,87557.66,40757.36,20378.68 +24-8-2019 12:00,74341.38,34605.3,17302.65 +24-8-2019 13:00,59473.12,27684.26,13842.13 +24-8-2019 14:00,51212.96,23839.22,11919.61 +24-8-2019 15:00,39648.74,18456.16,9228.08 +24-8-2019 16:00,44604.84,20763.18,10381.59 +24-8-2019 17:00,72689.36,33836.3,16918.15 +24-8-2019 18:00,128858.44,59982.54,29991.27 +24-8-2019 19:00,130510.44,60751.54,30375.77 +24-8-2019 20:00,115642.16,53830.48,26915.24 +24-8-2019 21:00,95817.8,44602.4,22301.2 +24-8-2019 22:00,67733.28,31529.28,15764.64 +24-8-2019 23:00,33040.64,15380.14,7690.07 +25-8-2019 00:00,11564.22,5383.04,2691.52 +25-8-2019 01:00,6608.12,3076.02,1538.01 +25-8-2019 02:00,1651.22,768.62,384.31 +25-8-2019 03:00,1651.22,768.62,384.31 +25-8-2019 04:00,3304.06,1538.02,769.01 +25-8-2019 05:00,11564.22,5383.04,2691.52 +25-8-2019 06:00,93189.32,43378.86,21689.43 +25-8-2019 07:00,168039.46,78221.0,39110.5 +25-8-2019 08:00,118946.24,55368.5,27684.25 +25-8-2019 09:00,165821.42,77188.54,38594.27 +25-8-2019 10:00,100773.9,46909.42,23454.71 +25-8-2019 11:00,87557.66,40757.36,20378.68 +25-8-2019 12:00,74341.38,34605.3,17302.65 +25-8-2019 13:00,59473.12,27684.26,13842.13 +25-8-2019 14:00,51212.96,23839.22,11919.61 +25-8-2019 15:00,39648.74,18456.16,9228.08 +25-8-2019 16:00,44604.84,20763.18,10381.59 +25-8-2019 17:00,72689.36,33836.3,16918.15 +25-8-2019 18:00,128858.44,59982.54,29991.27 +25-8-2019 19:00,130510.44,60751.54,30375.77 +25-8-2019 20:00,115642.16,53830.48,26915.24 +25-8-2019 21:00,95817.8,44602.4,22301.2 +25-8-2019 22:00,67733.28,31529.28,15764.64 +25-8-2019 23:00,33040.64,15380.14,7690.07 +26-8-2019 00:00,11564.22,5383.04,2691.52 +26-8-2019 01:00,6608.12,3076.02,1538.01 +26-8-2019 02:00,1651.22,768.62,384.31 +26-8-2019 03:00,1651.22,768.62,384.31 +26-8-2019 04:00,3304.06,1538.02,769.01 +26-8-2019 05:00,11564.22,5383.04,2691.52 +26-8-2019 06:00,92513.76,43064.38,21532.19 +26-8-2019 07:00,153638.9,71517.64,35758.82 +26-8-2019 08:00,118946.24,55368.5,27684.25 +26-8-2019 09:00,140422.64,65365.58,32682.79 +26-8-2019 10:00,100773.9,46909.42,23454.71 +26-8-2019 11:00,87557.66,40757.36,20378.68 +26-8-2019 12:00,74341.38,34605.3,17302.65 +26-8-2019 13:00,59473.12,27684.26,13842.13 +26-8-2019 14:00,51212.96,23839.22,11919.61 +26-8-2019 15:00,39648.74,18456.16,9228.08 +26-8-2019 16:00,44604.84,20763.18,10381.59 +26-8-2019 17:00,72689.36,33836.3,16918.15 +26-8-2019 18:00,128858.44,59982.54,29991.27 +26-8-2019 19:00,130510.44,60751.54,30375.77 +26-8-2019 20:00,115642.16,53830.48,26915.24 +26-8-2019 21:00,95817.8,44602.4,22301.2 +26-8-2019 22:00,67733.28,31529.28,15764.64 +26-8-2019 23:00,33040.64,15380.14,7690.07 +27-8-2019 00:00,11564.22,5383.04,2691.52 +27-8-2019 01:00,6608.12,3076.02,1538.01 +27-8-2019 02:00,1651.22,768.62,384.31 +27-8-2019 03:00,1651.22,768.62,384.31 +27-8-2019 04:00,3304.06,1538.02,769.01 +27-8-2019 05:00,11564.22,5383.04,2691.52 +27-8-2019 06:00,92513.76,43064.38,21532.19 +27-8-2019 07:00,153638.9,71517.64,35758.82 +27-8-2019 08:00,118946.24,55368.5,27684.25 +27-8-2019 09:00,140422.64,65365.58,32682.79 +27-8-2019 10:00,100773.9,46909.42,23454.71 +27-8-2019 11:00,87557.66,40757.36,20378.68 +27-8-2019 12:00,74341.38,34605.3,17302.65 +27-8-2019 13:00,59473.12,27684.26,13842.13 +27-8-2019 14:00,51212.96,23839.22,11919.61 +27-8-2019 15:00,39648.74,18456.16,9228.08 +27-8-2019 16:00,44604.84,20763.18,10381.59 +27-8-2019 17:00,72689.36,33836.3,16918.15 +27-8-2019 18:00,128858.44,59982.54,29991.27 +27-8-2019 19:00,130510.44,60751.54,30375.77 +27-8-2019 20:00,115642.16,53830.48,26915.24 +27-8-2019 21:00,95817.8,44602.4,22301.2 +27-8-2019 22:00,67733.28,31529.28,15764.64 +27-8-2019 23:00,33040.64,15380.14,7690.07 +28-8-2019 00:00,11564.22,5383.04,2691.52 +28-8-2019 01:00,6608.12,3076.02,1538.01 +28-8-2019 02:00,1651.22,768.62,384.31 +28-8-2019 03:00,1651.22,768.62,384.31 +28-8-2019 04:00,3304.06,1538.02,769.01 +28-8-2019 05:00,11564.22,5383.04,2691.52 +28-8-2019 06:00,92513.76,43064.38,21532.19 +28-8-2019 07:00,153638.9,71517.64,35758.82 +28-8-2019 08:00,118946.24,55368.5,27684.25 +28-8-2019 09:00,140422.64,65365.58,32682.79 +28-8-2019 10:00,100773.9,46909.42,23454.71 +28-8-2019 11:00,87557.66,40757.36,20378.68 +28-8-2019 12:00,74341.38,34605.3,17302.65 +28-8-2019 13:00,59473.12,27684.26,13842.13 +28-8-2019 14:00,51212.96,23839.22,11919.61 +28-8-2019 15:00,39648.74,18456.16,9228.08 +28-8-2019 16:00,44604.84,20763.18,10381.59 +28-8-2019 17:00,72689.36,33836.3,16918.15 +28-8-2019 18:00,128858.44,59982.54,29991.27 +28-8-2019 19:00,130510.44,60751.54,30375.77 +28-8-2019 20:00,115642.16,53830.48,26915.24 +28-8-2019 21:00,95817.8,44602.4,22301.2 +28-8-2019 22:00,67733.28,31529.28,15764.64 +28-8-2019 23:00,33040.64,15380.14,7690.07 +29-8-2019 00:00,11564.22,5383.04,2691.52 +29-8-2019 01:00,6608.12,3076.02,1538.01 +29-8-2019 02:00,1651.22,768.62,384.31 +29-8-2019 03:00,1651.22,768.62,384.31 +29-8-2019 04:00,3304.06,1538.02,769.01 +29-8-2019 05:00,11564.22,5383.04,2691.52 +29-8-2019 06:00,92513.76,43064.38,21532.19 +29-8-2019 07:00,153638.9,71517.64,35758.82 +29-8-2019 08:00,118946.24,55368.5,27684.25 +29-8-2019 09:00,140422.64,65365.58,32682.79 +29-8-2019 10:00,100773.9,46909.42,23454.71 +29-8-2019 11:00,87557.66,40757.36,20378.68 +29-8-2019 12:00,74341.38,34605.3,17302.65 +29-8-2019 13:00,59473.12,27684.26,13842.13 +29-8-2019 14:00,51212.96,23839.22,11919.61 +29-8-2019 15:00,39648.74,18456.16,9228.08 +29-8-2019 16:00,44604.84,20763.18,10381.59 +29-8-2019 17:00,72689.36,33836.3,16918.15 +29-8-2019 18:00,128858.44,59982.54,29991.27 +29-8-2019 19:00,130510.44,60751.54,30375.77 +29-8-2019 20:00,115642.16,53830.48,26915.24 +29-8-2019 21:00,95817.8,44602.4,22301.2 +29-8-2019 22:00,67733.28,31529.28,15764.64 +29-8-2019 23:00,33040.64,15380.14,7690.07 +30-8-2019 00:00,11564.22,5383.04,2691.52 +30-8-2019 01:00,6608.12,3076.02,1538.01 +30-8-2019 02:00,1651.22,768.62,384.31 +30-8-2019 03:00,1651.22,768.62,384.31 +30-8-2019 04:00,3304.06,1538.02,769.01 +30-8-2019 05:00,11564.22,5383.04,2691.52 +30-8-2019 06:00,92513.76,43064.38,21532.19 +30-8-2019 07:00,153638.9,71517.64,35758.82 +30-8-2019 08:00,118946.24,55368.5,27684.25 +30-8-2019 09:00,140422.64,65365.58,32682.79 +30-8-2019 10:00,100773.9,46909.42,23454.71 +30-8-2019 11:00,87557.66,40757.36,20378.68 +30-8-2019 12:00,74341.38,34605.3,17302.65 +30-8-2019 13:00,59473.12,27684.26,13842.13 +30-8-2019 14:00,51212.96,23839.22,11919.61 +30-8-2019 15:00,39648.74,18456.16,9228.08 +30-8-2019 16:00,44604.84,20763.18,10381.59 +30-8-2019 17:00,72689.36,33836.3,16918.15 +30-8-2019 18:00,128858.44,59982.54,29991.27 +30-8-2019 19:00,130510.44,60751.54,30375.77 +30-8-2019 20:00,115642.16,53830.48,26915.24 +30-8-2019 21:00,95817.8,44602.4,22301.2 +30-8-2019 22:00,67733.28,31529.28,15764.64 +30-8-2019 23:00,33040.64,15380.14,7690.07 +31-8-2019 00:00,11564.22,5383.04,2691.52 +31-8-2019 01:00,6608.12,3076.02,1538.01 +31-8-2019 02:00,1651.22,768.62,384.31 +31-8-2019 03:00,1651.22,768.62,384.31 +31-8-2019 04:00,3304.06,1538.02,769.01 +31-8-2019 05:00,11564.22,5383.04,2691.52 +31-8-2019 06:00,92513.76,43064.38,21532.19 +31-8-2019 07:00,153638.9,71517.64,35758.82 +31-8-2019 08:00,118946.24,55368.5,27684.25 +31-8-2019 09:00,145812.98,67874.76,33937.38 +31-8-2019 10:00,100773.9,46909.42,23454.71 +31-8-2019 11:00,87557.66,40757.36,20378.68 +31-8-2019 12:00,74341.38,34605.3,17302.65 +31-8-2019 13:00,59473.12,27684.26,13842.13 +31-8-2019 14:00,51212.96,23839.22,11919.61 +31-8-2019 15:00,39648.74,18456.16,9228.08 +31-8-2019 16:00,44604.84,20763.18,10381.59 +31-8-2019 17:00,72689.36,33836.3,16918.15 +31-8-2019 18:00,128858.44,59982.54,29991.27 +31-8-2019 19:00,130510.44,60751.54,30375.77 +31-8-2019 20:00,115642.16,53830.48,26915.24 +31-8-2019 21:00,95817.8,44602.4,22301.2 +31-8-2019 22:00,67733.28,31529.28,15764.64 +31-8-2019 23:00,33040.64,15380.14,7690.07 +1-9-2019 00:00,11564.22,5383.04,2691.52 +1-9-2019 01:00,6608.12,3076.02,1538.01 +1-9-2019 02:00,1651.22,768.62,384.31 +1-9-2019 03:00,1651.22,768.62,384.31 +1-9-2019 04:00,3304.06,1538.02,769.01 +1-9-2019 05:00,11564.22,5383.04,2691.52 +1-9-2019 06:00,92513.76,43064.38,21532.19 +1-9-2019 07:00,153638.9,71517.64,35758.82 +1-9-2019 08:00,118946.24,55368.5,27684.25 +1-9-2019 09:00,140422.64,65365.58,32682.79 +1-9-2019 10:00,100773.9,46909.42,23454.71 +1-9-2019 11:00,87557.66,40757.36,20378.68 +1-9-2019 12:00,74341.38,34605.3,17302.65 +1-9-2019 13:00,59473.12,27684.26,13842.13 +1-9-2019 14:00,51212.96,23839.22,11919.61 +1-9-2019 15:00,39648.74,18456.16,9228.08 +1-9-2019 16:00,44604.84,20763.18,10381.59 +1-9-2019 17:00,72689.36,33836.3,16918.15 +1-9-2019 18:00,128858.44,59982.54,29991.27 +1-9-2019 19:00,130510.44,60751.54,30375.77 +1-9-2019 20:00,115642.16,53830.48,26915.24 +1-9-2019 21:00,95817.8,44602.4,22301.2 +1-9-2019 22:00,67733.28,31529.28,15764.64 +1-9-2019 23:00,33040.64,15380.14,7690.07 +2-9-2019 00:00,11564.22,5383.04,2691.52 +2-9-2019 01:00,6608.12,3076.02,1538.01 +2-9-2019 02:00,1651.22,768.62,384.31 +2-9-2019 03:00,1651.22,768.62,384.31 +2-9-2019 04:00,3304.06,1538.02,769.01 +2-9-2019 05:00,11564.22,5383.04,2691.52 +2-9-2019 06:00,92513.76,43064.38,21532.19 +2-9-2019 07:00,153638.9,71517.64,35758.82 +2-9-2019 08:00,118946.24,55368.5,27684.25 +2-9-2019 09:00,140422.64,65365.58,32682.79 +2-9-2019 10:00,100773.9,46909.42,23454.71 +2-9-2019 11:00,87557.66,40757.36,20378.68 +2-9-2019 12:00,74341.38,34605.3,17302.65 +2-9-2019 13:00,59473.12,27684.26,13842.13 +2-9-2019 14:00,51212.96,23839.22,11919.61 +2-9-2019 15:00,39648.74,18456.16,9228.08 +2-9-2019 16:00,44604.84,20763.18,10381.59 +2-9-2019 17:00,72689.36,33836.3,16918.15 +2-9-2019 18:00,128858.44,59982.54,29991.27 +2-9-2019 19:00,130510.44,60751.54,30375.77 +2-9-2019 20:00,115642.16,53830.48,26915.24 +2-9-2019 21:00,95817.8,44602.4,22301.2 +2-9-2019 22:00,67733.28,31529.28,15764.64 +2-9-2019 23:00,33040.64,15380.14,7690.07 +3-9-2019 00:00,11564.22,5383.04,2691.52 +3-9-2019 01:00,6608.12,3076.02,1538.01 +3-9-2019 02:00,1651.22,768.62,384.31 +3-9-2019 03:00,1651.22,768.62,384.31 +3-9-2019 04:00,3304.06,1538.02,769.01 +3-9-2019 05:00,11564.22,5383.04,2691.52 +3-9-2019 06:00,92513.76,43064.38,21532.19 +3-9-2019 07:00,153638.9,71517.64,35758.82 +3-9-2019 08:00,118946.24,55368.5,27684.25 +3-9-2019 09:00,140422.64,65365.58,32682.79 +3-9-2019 10:00,100773.9,46909.42,23454.71 +3-9-2019 11:00,87557.66,40757.36,20378.68 +3-9-2019 12:00,80870.74,37644.66,18822.33 +3-9-2019 13:00,59473.12,27684.26,13842.13 +3-9-2019 14:00,51212.96,23839.22,11919.61 +3-9-2019 15:00,39648.74,18456.16,9228.08 +3-9-2019 16:00,44604.84,20763.18,10381.59 +3-9-2019 17:00,72689.36,33836.3,16918.15 +3-9-2019 18:00,128858.44,59982.54,29991.27 +3-9-2019 19:00,130510.44,60751.54,30375.77 +3-9-2019 20:00,117450.1,54672.06,27336.03 +3-9-2019 21:00,95817.8,44602.4,22301.2 +3-9-2019 22:00,67733.28,31529.28,15764.64 +3-9-2019 23:00,33040.64,15380.14,7690.07 +4-9-2019 00:00,11564.22,5383.04,2691.52 +4-9-2019 01:00,6608.12,3076.02,1538.01 +4-9-2019 02:00,3265.26,1519.96,759.98 +4-9-2019 03:00,4164.26,1938.44,969.22 +4-9-2019 04:00,5886.84,2740.28,1370.14 +4-9-2019 05:00,14358.86,6683.92,3341.96 +4-9-2019 06:00,94904.58,44177.3,22088.65 +4-9-2019 07:00,170773.98,79493.9,39746.95 +4-9-2019 08:00,126876.86,59060.14,29530.07 +4-9-2019 09:00,140422.64,65365.58,32682.79 +4-9-2019 10:00,100773.9,46909.42,23454.71 +4-9-2019 11:00,87557.66,40757.36,20378.68 +4-9-2019 12:00,112275.42,52263.28,26131.64 +4-9-2019 13:00,59473.12,27684.26,13842.13 +4-9-2019 14:00,51212.96,23839.22,11919.61 +4-9-2019 15:00,39648.74,18456.16,9228.08 +4-9-2019 16:00,44604.84,20763.18,10381.59 +4-9-2019 17:00,72689.36,33836.3,16918.15 +4-9-2019 18:00,128858.44,59982.54,29991.27 +4-9-2019 19:00,133945.56,62350.56,31175.28 +4-9-2019 20:00,130554.76,60772.18,30386.09 +4-9-2019 21:00,95817.8,44602.4,22301.2 +4-9-2019 22:00,67733.28,31529.28,15764.64 +4-9-2019 23:00,34305.96,15969.14,7984.57 +5-9-2019 00:00,14954.76,6961.32,3480.66 +5-9-2019 01:00,9934.2,4624.3,2312.15 +5-9-2019 02:00,4864.54,2264.4,1132.2 +5-9-2019 03:00,4865.04,2264.64,1132.32 +5-9-2019 04:00,6587.16,3066.28,1533.14 +5-9-2019 05:00,18718.92,8713.5,4356.75 +5-9-2019 06:00,108225.84,50378.24,25189.12 +5-9-2019 07:00,230873.06,107469.54,53734.77 +5-9-2019 08:00,151829.84,70675.54,35337.77 +5-9-2019 09:00,140422.64,65365.58,32682.79 +5-9-2019 10:00,100773.9,46909.42,23454.71 +5-9-2019 11:00,87557.66,40757.36,20378.68 +5-9-2019 12:00,112951.08,52577.8,26288.9 +5-9-2019 13:00,59473.12,27684.26,13842.13 +5-9-2019 14:00,51212.96,23839.22,11919.61 +5-9-2019 15:00,39648.74,18456.16,9228.08 +5-9-2019 16:00,44604.84,20763.18,10381.59 +5-9-2019 17:00,72689.36,33836.3,16918.15 +5-9-2019 18:00,128858.44,59982.54,29991.27 +5-9-2019 19:00,130510.44,60751.54,30375.77 +5-9-2019 20:00,120334.4,56014.68,28007.34 +5-9-2019 21:00,95817.8,44602.4,22301.2 +5-9-2019 22:00,67733.28,31529.28,15764.64 +5-9-2019 23:00,34178.78,15909.94,7954.97 +6-9-2019 00:00,16845.78,7841.58,3920.79 +6-9-2019 01:00,11731.44,5460.9,2730.45 +6-9-2019 02:00,24696.54,11496.04,5748.02 +6-9-2019 03:00,50597.14,23552.56,11776.28 +6-9-2019 04:00,48736.08,22686.24,11343.12 +6-9-2019 05:00,61311.4,28539.96,14269.98 +6-9-2019 06:00,159945.66,74453.4,37226.7 +6-9-2019 07:00,480373.08,223609.76,111804.88 +6-9-2019 08:00,505308.76,235217.12,117608.56 +6-9-2019 09:00,901986.08,419867.2,209933.6 +6-9-2019 10:00,100773.9,46909.42,23454.71 +6-9-2019 11:00,93845.48,43684.32,21842.16 +6-9-2019 12:00,177637.4,82688.76,41344.38 +6-9-2019 13:00,60329.96,28083.1,14041.55 +6-9-2019 14:00,68666.72,31963.8,15981.9 +6-9-2019 15:00,53901.6,25090.76,12545.38 +6-9-2019 16:00,44604.84,20763.18,10381.59 +6-9-2019 17:00,77802.56,36216.46,18108.23 +6-9-2019 18:00,156516.32,72857.06,36428.53 +6-9-2019 19:00,194279.26,90435.42,45217.71 +6-9-2019 20:00,264813.9,123268.72,61634.36 +6-9-2019 21:00,201957.78,94009.7,47004.85 +6-9-2019 22:00,71692.7,33372.36,16686.18 +6-9-2019 23:00,36969.22,17208.86,8604.43 +7-9-2019 00:00,18620.62,8667.74,4333.87 +7-9-2019 01:00,37591.94,17498.74,8749.37 +7-9-2019 02:00,49165.06,22885.94,11442.97 +7-9-2019 03:00,69704.06,32446.68,16223.34 +7-9-2019 04:00,85825.4,39951.02,19975.51 +7-9-2019 05:00,95682.38,44539.36,22269.68 +7-9-2019 06:00,495835.8,230807.52,115403.76 +7-9-2019 07:00,1065424.4,495946.36,247973.18 +7-9-2019 08:00,796625.52,370822.64,185411.32 +7-9-2019 09:00,1176266.72,547542.6,273771.3 +7-9-2019 10:00,203879.62,94904.3,47452.15 +7-9-2019 11:00,93456.46,43503.22,21751.61 +7-9-2019 12:00,92633.2,43120.0,21560 +7-9-2019 13:00,63948.84,29767.66,14883.83 +7-9-2019 14:00,51212.96,23839.22,11919.61 +7-9-2019 15:00,39648.74,18456.16,9228.08 +7-9-2019 16:00,44604.84,20763.18,10381.59 +7-9-2019 17:00,72689.36,33836.3,16918.15 +7-9-2019 18:00,128858.44,59982.54,29991.27 +7-9-2019 19:00,141489.86,65862.4,32931.2 +7-9-2019 20:00,140089.1,65210.34,32605.17 +7-9-2019 21:00,99542.06,46336.02,23168.01 +7-9-2019 22:00,72144.08,33582.48,16791.24 +7-9-2019 23:00,37515.52,17463.18,8731.59 +8-9-2019 00:00,35390.1,16473.8,8236.9 +8-9-2019 01:00,54033.4,25152.1,12576.05 +8-9-2019 02:00,66517.14,30963.18,15481.59 +8-9-2019 03:00,105118.48,48931.8,24465.9 +8-9-2019 04:00,109030.1,50752.62,25376.31 +8-9-2019 05:00,126080.86,58689.62,29344.81 +8-9-2019 06:00,688663.52,320567.24,160283.62 +8-9-2019 07:00,1159200.4,539598.4,269799.2 +8-9-2019 08:00,741779.04,345292.08,172646.04 +8-9-2019 09:00,1039344.64,483806.44,241903.22 +8-9-2019 10:00,183246.6,85299.8,42649.9 +8-9-2019 11:00,87557.66,40757.36,20378.68 +8-9-2019 12:00,74341.38,34605.3,17302.65 +8-9-2019 13:00,59473.12,27684.26,13842.13 +8-9-2019 14:00,51212.96,23839.22,11919.61 +8-9-2019 15:00,39648.74,18456.16,9228.08 +8-9-2019 16:00,44604.84,20763.18,10381.59 +8-9-2019 17:00,72689.36,33836.3,16918.15 +8-9-2019 18:00,128858.44,59982.54,29991.27 +8-9-2019 19:00,130510.44,60751.54,30375.77 +8-9-2019 20:00,129624.04,60338.94,30169.47 +8-9-2019 21:00,95817.8,44602.4,22301.2 +8-9-2019 22:00,67733.28,31529.28,15764.64 +8-9-2019 23:00,37821.76,17605.72,8802.86 +9-9-2019 00:00,26064.6,12132.86,6066.43 +9-9-2019 01:00,75416.62,35105.82,17552.91 +9-9-2019 02:00,114548.1,53321.2,26660.6 +9-9-2019 03:00,215451.3,100290.84,50145.42 +9-9-2019 04:00,289121.62,134583.74,67291.87 +9-9-2019 05:00,299165.5,139259.08,69629.54 +9-9-2019 06:00,676781.44,315036.22,157518.11 +9-9-2019 07:00,1049932.48,488735.0,244367.5 +9-9-2019 08:00,829749.84,386241.76,193120.88 +9-9-2019 09:00,1490065.12,693613.12,346806.56 +9-9-2019 10:00,100773.9,46909.42,23454.71 +9-9-2019 11:00,95644.76,44521.86,22260.93 +9-9-2019 12:00,180614.82,84074.72,42037.36 +9-9-2019 13:00,62392.1,29043.02,14521.51 +9-9-2019 14:00,71203.38,33144.6,16572.3 +9-9-2019 15:00,51920.2,24168.42,12084.21 +9-9-2019 16:00,44604.84,20763.18,10381.59 +9-9-2019 17:00,110850.5,51600.0,25800 +9-9-2019 18:00,240834.98,112106.74,56053.37 +9-9-2019 19:00,698640.16,325211.28,162605.64 +9-9-2019 20:00,1199764.8,558480.72,279240.36 +9-9-2019 21:00,673979.84,313732.14,156866.07 +9-9-2019 22:00,104061.74,48439.88,24219.94 +9-9-2019 23:00,121375.66,56499.38,28249.69 +10-9-2019 00:00,192332.5,89529.22,44764.61 +10-9-2019 01:00,297389.46,138432.38,69216.19 +10-9-2019 02:00,309681.88,144154.4,72077.2 +10-9-2019 03:00,322959.94,150335.22,75167.61 +10-9-2019 04:00,310937.1,144738.7,72369.35 +10-9-2019 05:00,324050.26,150842.74,75421.37 +10-9-2019 06:00,1386212.96,645270.8,322635.4 +10-9-2019 07:00,1869008.0,870008.0,435004 +10-9-2019 08:00,2503393.76,1165309.36,582654.68 +10-9-2019 09:00,2593122.24,1207077.28,603538.64 +10-9-2019 10:00,100773.9,46909.42,23454.71 +10-9-2019 11:00,123970.58,57707.28,28853.64 +10-9-2019 12:00,201927.22,93995.48,46997.74 +10-9-2019 13:00,96258.3,44807.46,22403.73 +10-9-2019 14:00,186331.62,86735.86,43367.93 +10-9-2019 15:00,79464.66,36990.16,18495.08 +10-9-2019 16:00,44604.84,20763.18,10381.59 +10-9-2019 17:00,427140.92,198830.62,99415.31 +10-9-2019 18:00,448598.56,208818.96,104409.48 +10-9-2019 19:00,911861.76,424464.2,212232.1 +10-9-2019 20:00,1344407.36,625810.6,312905.3 +10-9-2019 21:00,773301.68,359965.64,179982.82 +10-9-2019 22:00,136442.12,63512.7,31756.35 +10-9-2019 23:00,158555.16,73806.12,36903.06 +11-9-2019 00:00,244164.04,113656.36,56828.18 +11-9-2019 01:00,256252.16,119283.3,59641.65 +11-9-2019 02:00,268768.18,125109.42,62554.71 +11-9-2019 03:00,248706.82,115771.0,57885.5 +11-9-2019 04:00,216393.5,100729.42,50364.71 +11-9-2019 05:00,222705.6,103667.66,51833.83 +11-9-2019 06:00,1000476.32,465713.52,232856.76 +11-9-2019 07:00,1480310.72,689072.56,344536.28 +11-9-2019 08:00,1959573.6,912165.44,456082.72 +11-9-2019 09:00,2218889.12,1032874.72,516437.36 +11-9-2019 10:00,112847.22,52529.46,26264.73 +11-9-2019 11:00,211913.26,98643.9,49321.95 +11-9-2019 12:00,399444.28,185938.04,92969.02 +11-9-2019 13:00,176391.64,82108.86,41054.43 +11-9-2019 14:00,220925.24,102838.92,51419.46 +11-9-2019 15:00,166581.16,77542.18,38771.09 +11-9-2019 16:00,44761.78,20836.24,10418.12 +11-9-2019 17:00,1213335.68,564797.84,282398.92 +11-9-2019 18:00,906451.68,421945.88,210972.94 +11-9-2019 19:00,1195100.48,556309.52,278154.76 +11-9-2019 20:00,1228721.68,571959.88,285979.94 +11-9-2019 21:00,642249.4,298961.82,149480.91 +11-9-2019 22:00,120552.26,56116.08,28058.04 +11-9-2019 23:00,110129.66,51264.46,25632.23 +12-9-2019 00:00,93513.9,43529.94,21764.97 +12-9-2019 01:00,132904.08,61865.76,30932.88 +12-9-2019 02:00,148535.4,69142.02,34571.01 +12-9-2019 03:00,151919.76,70717.4,35358.7 +12-9-2019 04:00,165466.06,77023.1,38511.55 +12-9-2019 05:00,175654.98,81765.98,40882.99 +12-9-2019 06:00,635881.88,295997.86,147998.93 +12-9-2019 07:00,979673.68,456030.12,228015.06 +12-9-2019 08:00,1178301.84,548490.0,274245 +12-9-2019 09:00,1335560.56,621692.56,310846.28 +12-9-2019 10:00,100773.9,46909.42,23454.71 +12-9-2019 11:00,94769.94,44114.62,22057.31 +12-9-2019 12:00,170437.66,79337.34,39668.67 +12-9-2019 13:00,59473.12,27684.26,13842.13 +12-9-2019 14:00,63169.26,29404.78,14702.39 +12-9-2019 15:00,39648.74,18456.16,9228.08 +12-9-2019 16:00,44604.84,20763.18,10381.59 +12-9-2019 17:00,72747.08,33863.18,16931.59 +12-9-2019 18:00,135396.8,63026.1,31513.05 +12-9-2019 19:00,154646.56,71986.72,35993.36 +12-9-2019 20:00,220801.46,102781.28,51390.64 +12-9-2019 21:00,175845.56,81854.68,40927.34 +12-9-2019 22:00,67733.28,31529.28,15764.64 +12-9-2019 23:00,34679.62,16143.08,8071.54 +13-9-2019 00:00,14985.32,6975.54,3487.77 +13-9-2019 01:00,10017.74,4663.18,2331.59 +13-9-2019 02:00,5964.88,2776.6,1388.3 +13-9-2019 03:00,23511.28,10944.3,5472.15 +13-9-2019 04:00,32019.54,14904.84,7452.42 +13-9-2019 05:00,60027.36,27942.24,13971.12 +13-9-2019 06:00,169987.02,79127.56,39563.78 +13-9-2019 07:00,436824.2,203338.1,101669.05 +13-9-2019 08:00,464177.56,216070.84,108035.42 +13-9-2019 09:00,883817.52,411409.8,205704.9 +13-9-2019 10:00,100773.9,46909.42,23454.71 +13-9-2019 11:00,92809.94,43202.28,21601.14 +13-9-2019 12:00,155319.64,72300.04,36150.02 +13-9-2019 13:00,60162.36,28005.08,14002.54 +13-9-2019 14:00,60941.96,28367.98,14183.99 +13-9-2019 15:00,51242.16,23852.8,11926.4 +13-9-2019 16:00,44604.84,20763.18,10381.59 +13-9-2019 17:00,72689.36,33836.3,16918.15 +13-9-2019 18:00,135451.18,63051.42,31525.71 +13-9-2019 19:00,236257.98,109976.16,54988.08 +13-9-2019 20:00,499600.88,232560.14,116280.07 +13-9-2019 21:00,446520.2,207851.52,103925.76 +13-9-2019 22:00,72937.8,33951.94,16975.97 +13-9-2019 23:00,56094.44,26111.5,13055.75 +14-9-2019 00:00,81673.22,38018.22,19009.11 +14-9-2019 01:00,149382.86,69536.5,34768.25 +14-9-2019 02:00,254815.82,118614.7,59307.35 +14-9-2019 03:00,268741.06,125096.78,62548.39 +14-9-2019 04:00,284879.64,132609.16,66304.58 +14-9-2019 05:00,299313.66,139328.06,69664.03 +14-9-2019 06:00,1276910.0,594391.24,297195.62 +14-9-2019 07:00,2331918.72,1085489.04,542744.52 +14-9-2019 08:00,1956454.24,910713.52,455356.76 +14-9-2019 09:00,2559980.48,1191649.92,595824.96 +14-9-2019 10:00,354609.24,165067.72,82533.86 +14-9-2019 11:00,88867.26,41366.98,20683.49 +14-9-2019 12:00,83684.08,38954.26,19477.13 +14-9-2019 13:00,59473.12,27684.26,13842.13 +14-9-2019 14:00,51212.96,23839.22,11919.61 +14-9-2019 15:00,39648.74,18456.16,9228.08 +14-9-2019 16:00,44604.84,20763.18,10381.59 +14-9-2019 17:00,72689.36,33836.3,16918.15 +14-9-2019 18:00,132407.42,61634.58,30817.29 +14-9-2019 19:00,219959.24,102389.24,51194.62 +14-9-2019 20:00,328778.78,153043.84,76521.92 +14-9-2019 21:00,118967.48,55378.38,27689.19 +14-9-2019 22:00,78312.22,36453.7,18226.85 +14-9-2019 23:00,101654.36,47319.26,23659.63 +15-9-2019 00:00,200545.76,93352.42,46676.21 +15-9-2019 01:00,283427.76,131933.3,65966.65 +15-9-2019 02:00,292691.56,136245.54,68122.77 +15-9-2019 03:00,298723.14,139053.2,69526.6 +15-9-2019 04:00,312377.66,145409.24,72704.62 +15-9-2019 05:00,334844.02,155867.16,77933.58 +15-9-2019 06:00,1555774.56,724200.32,362100.16 +15-9-2019 07:00,2990120.0,1391876.48,695938.24 +15-9-2019 08:00,3264809.6,1519742.24,759871.12 +15-9-2019 09:00,3995608.64,1859923.2,929961.6 +15-9-2019 10:00,694730.0,323391.14,161695.57 +15-9-2019 11:00,88768.72,41321.12,20660.56 +15-9-2019 12:00,74341.38,34605.3,17302.65 +15-9-2019 13:00,59473.12,27684.26,13842.13 +15-9-2019 14:00,51212.96,23839.22,11919.61 +15-9-2019 15:00,39648.74,18456.16,9228.08 +15-9-2019 16:00,44604.84,20763.18,10381.59 +15-9-2019 17:00,72689.36,33836.3,16918.15 +15-9-2019 18:00,131695.58,61303.22,30651.61 +15-9-2019 19:00,152730.82,71094.94,35547.47 +15-9-2019 20:00,190788.62,88810.56,44405.28 +15-9-2019 21:00,109116.62,50792.9,25396.45 +15-9-2019 22:00,72168.0,33593.62,16796.81 +15-9-2019 23:00,48387.12,22523.8,11261.9 +16-9-2019 00:00,56632.32,26361.88,13180.94 +16-9-2019 01:00,88384.68,41142.34,20571.17 +16-9-2019 02:00,105978.82,49332.26,24666.13 +16-9-2019 03:00,166423.6,77468.82,38734.41 +16-9-2019 04:00,186977.24,87036.38,43518.19 +16-9-2019 05:00,197926.34,92133.1,46066.55 +16-9-2019 06:00,652785.72,303866.4,151933.2 +16-9-2019 07:00,1093533.36,509030.84,254515.42 +16-9-2019 08:00,1350211.36,628512.32,314256.16 +16-9-2019 09:00,1868754.56,869889.92,434944.96 +16-9-2019 10:00,118199.86,55021.06,27510.53 +16-9-2019 11:00,196490.58,91464.78,45732.39 +16-9-2019 12:00,414281.8,192844.8,96422.4 +16-9-2019 13:00,161546.26,75198.44,37599.22 +16-9-2019 14:00,174471.34,81214.98,40607.49 +16-9-2019 15:00,171885.84,80011.46,40005.73 +16-9-2019 16:00,44604.84,20763.18,10381.59 +16-9-2019 17:00,996467.68,463847.64,231923.82 +16-9-2019 18:00,940156.96,437635.4,218817.7 +16-9-2019 19:00,1282925.76,597191.48,298595.74 +16-9-2019 20:00,1532279.84,713263.76,356631.88 +16-9-2019 21:00,967495.12,450361.04,225180.52 +16-9-2019 22:00,278424.2,129604.2,64802.1 +16-9-2019 23:00,297252.96,138368.82,69184.41 +17-9-2019 00:00,298161.9,138791.94,69395.97 +17-9-2019 01:00,308201.5,143465.3,71732.65 +17-9-2019 02:00,327987.68,152675.58,76337.79 +17-9-2019 03:00,346738.44,161403.9,80701.95 +17-9-2019 04:00,350536.12,163171.68,81585.84 +17-9-2019 05:00,327983.12,152673.46,76336.73 +17-9-2019 06:00,1602613.6,746003.52,373001.76 +17-9-2019 07:00,2727398.4,1269581.52,634790.76 +17-9-2019 08:00,2733238.4,1272300.16,636150.08 +17-9-2019 09:00,2481188.48,1154972.88,577486.44 +17-9-2019 10:00,100773.9,46909.42,23454.71 +17-9-2019 11:00,135888.58,63255.02,31627.51 +17-9-2019 12:00,354536.24,165033.76,82516.88 +17-9-2019 13:00,160529.82,74725.32,37362.66 +17-9-2019 14:00,216826.76,100931.1,50465.55 +17-9-2019 15:00,139107.98,64753.64,32376.82 +17-9-2019 16:00,44604.84,20763.18,10381.59 +17-9-2019 17:00,1138951.44,530172.6,265086.3 +17-9-2019 18:00,1000521.36,465734.48,232867.24 +17-9-2019 19:00,1472365.76,685374.24,342687.12 +17-9-2019 20:00,1976632.8,920106.48,460053.24 +17-9-2019 21:00,1334390.72,621148.0,310574 +17-9-2019 22:00,373130.08,173689.02,86844.51 +17-9-2019 23:00,360267.84,167701.76,83850.88 +18-9-2019 00:00,352827.6,164238.36,82119.18 +18-9-2019 01:00,360643.96,167876.82,83938.41 +18-9-2019 02:00,376384.2,175203.78,87601.89 +18-9-2019 03:00,537418.28,250163.84,125081.92 +18-9-2019 04:00,577931.2,269022.22,134511.11 +18-9-2019 05:00,760461.52,353988.64,176994.32 +18-9-2019 06:00,2474360.64,1151794.64,575897.32 +18-9-2019 07:00,3560683.2,1657469.12,828734.56 +18-9-2019 08:00,3471995.84,1616185.76,808092.88 +18-9-2019 09:00,2434611.36,1133291.76,566645.88 +18-9-2019 10:00,100773.9,46909.42,23454.71 +18-9-2019 11:00,117400.52,54648.98,27324.49 +18-9-2019 12:00,224669.78,104581.96,52290.98 +18-9-2019 13:00,191514.2,89148.3,44574.15 +18-9-2019 14:00,271075.38,126183.4,63091.7 +18-9-2019 15:00,128221.26,59685.94,29842.97 +18-9-2019 16:00,45233.72,21055.92,10527.96 +18-9-2019 17:00,1634650.08,760916.32,380458.16 +18-9-2019 18:00,1355983.84,631199.4,315599.7 +18-9-2019 19:00,2038230.24,948779.52,474389.76 +18-9-2019 20:00,2611055.84,1215425.2,607712.6 +18-9-2019 21:00,1595329.92,742613.12,371306.56 +18-9-2019 22:00,407824.68,189839.06,94919.53 +18-9-2019 23:00,387718.0,180479.56,90239.78 +19-9-2019 00:00,359412.44,167303.56,83651.78 +19-9-2019 01:00,421298.48,196111.0,98055.5 +19-9-2019 02:00,472663.8,220021.14,110010.57 +19-9-2019 03:00,488883.8,227571.42,113785.71 +19-9-2019 04:00,478762.92,222860.22,111430.11 +19-9-2019 05:00,501743.76,233557.62,116778.81 +19-9-2019 06:00,2413284.48,1123364.24,561682.12 +19-9-2019 07:00,3474579.84,1617388.64,808694.32 +19-9-2019 08:00,3419554.56,1591774.72,795887.36 +19-9-2019 09:00,2814769.6,1310252.32,655126.16 +19-9-2019 10:00,169785.84,79033.94,39516.97 +19-9-2019 11:00,293612.42,136674.18,68337.09 +19-9-2019 12:00,525707.64,244712.6,122356.3 +19-9-2019 13:00,208671.24,97134.78,48567.39 +19-9-2019 14:00,306507.56,142676.78,71338.39 +19-9-2019 15:00,223698.78,104129.98,52064.99 +19-9-2019 16:00,46962.66,21860.74,10930.37 +19-9-2019 17:00,2606071.36,1213105.12,606552.56 +19-9-2019 18:00,1794503.2,835326.56,417663.28 +19-9-2019 19:00,2553922.08,1188829.84,594414.92 +19-9-2019 20:00,3246172.16,1511066.56,755533.28 +19-9-2019 21:00,1792409.44,834352.0,417176 +19-9-2019 22:00,448359.56,208707.7,104353.85 +19-9-2019 23:00,485433.6,225965.36,112982.68 +20-9-2019 00:00,605609.36,281906.22,140953.11 +20-9-2019 01:00,635865.6,295990.24,147995.12 +20-9-2019 02:00,645594.68,300519.04,150259.52 +20-9-2019 03:00,666619.8,310306.06,155153.03 +20-9-2019 04:00,880288.24,409767.04,204883.52 +20-9-2019 05:00,1101526.64,512751.64,256375.82 +20-9-2019 06:00,3499198.08,1628848.0,814424 +20-9-2019 07:00,5251662.72,2444606.24,1222303.12 +20-9-2019 08:00,5567962.88,2591841.28,1295920.64 +20-9-2019 09:00,3223414.72,1500473.28,750236.64 +20-9-2019 10:00,171805.84,79974.22,39987.11 +20-9-2019 11:00,337978.16,157326.08,78663.04 +20-9-2019 12:00,521313.72,242667.28,121333.64 +20-9-2019 13:00,243669.18,113426.02,56713.01 +20-9-2019 14:00,362972.32,168960.66,84480.33 +20-9-2019 15:00,129936.78,60484.52,30242.26 +20-9-2019 16:00,44604.84,20763.18,10381.59 +20-9-2019 17:00,1967330.4,915776.24,457888.12 +20-9-2019 18:00,1075351.84,500567.48,250283.74 +20-9-2019 19:00,1906881.76,887637.92,443818.96 +20-9-2019 20:00,2584011.04,1202835.92,601417.96 +20-9-2019 21:00,1368541.12,637044.8,318522.4 +20-9-2019 22:00,362964.52,168957.06,84478.53 +20-9-2019 23:00,342107.56,159248.3,79624.15 +21-9-2019 00:00,346884.72,161472.0,80736 +21-9-2019 01:00,440869.16,205221.0,102610.5 +21-9-2019 02:00,568717.96,264733.58,132366.79 +21-9-2019 03:00,547751.28,254973.74,127486.87 +21-9-2019 04:00,573486.16,266953.12,133476.56 +21-9-2019 05:00,660573.32,307491.46,153745.73 +21-9-2019 06:00,2333400.64,1086178.96,543089.48 +21-9-2019 07:00,4679278.72,2178166.08,1089083.04 +21-9-2019 08:00,6195108.48,2883772.48,1441886.24 +21-9-2019 09:00,4298984.96,2001142.4,1000571.2 +21-9-2019 10:00,734893.92,342087.08,171043.54 +21-9-2019 11:00,87557.66,40757.36,20378.68 +21-9-2019 12:00,74622.48,34736.16,17368.08 +21-9-2019 13:00,59473.12,27684.26,13842.13 +21-9-2019 14:00,51212.96,23839.22,11919.61 +21-9-2019 15:00,39648.74,18456.16,9228.08 +21-9-2019 16:00,44604.84,20763.18,10381.59 +21-9-2019 17:00,72689.36,33836.3,16918.15 +21-9-2019 18:00,128858.44,59982.54,29991.27 +21-9-2019 19:00,138254.64,64356.4,32178.2 +21-9-2019 20:00,142099.8,66146.3,33073.15 +21-9-2019 21:00,98814.3,45997.26,22998.63 +21-9-2019 22:00,69356.84,32285.04,16142.52 +21-9-2019 23:00,37631.66,17517.22,8758.61 +22-9-2019 00:00,24039.76,11190.32,5595.16 +22-9-2019 01:00,59025.54,27475.9,13737.95 +22-9-2019 02:00,118164.8,55004.74,27502.37 +22-9-2019 03:00,229863.42,106999.54,53499.77 +22-9-2019 04:00,258454.2,120308.3,60154.15 +22-9-2019 05:00,247275.8,115104.88,57552.44 +22-9-2019 06:00,1130806.88,526381.48,263190.74 +22-9-2019 07:00,3012904.64,1402482.72,701241.36 +22-9-2019 08:00,3949154.88,1838299.36,919149.68 +22-9-2019 09:00,3789832.96,1764136.32,882068.16 +22-9-2019 10:00,614938.48,286248.88,143124.44 +22-9-2019 11:00,88997.62,41427.66,20713.83 +22-9-2019 12:00,82578.36,38439.56,19219.78 +22-9-2019 13:00,59473.12,27684.26,13842.13 +22-9-2019 14:00,51212.96,23839.22,11919.61 +22-9-2019 15:00,39648.74,18456.16,9228.08 +22-9-2019 16:00,44604.84,20763.18,10381.59 +22-9-2019 17:00,72689.36,33836.3,16918.15 +22-9-2019 18:00,135628.6,63134.0,31567 +22-9-2019 19:00,152027.08,70767.38,35383.69 +22-9-2019 20:00,207833.64,96744.88,48372.44 +22-9-2019 21:00,111909.66,52093.02,26046.51 +22-9-2019 22:00,71775.82,33411.06,16705.53 +22-9-2019 23:00,43057.64,20042.98,10021.49 +23-9-2019 00:00,42761.82,19905.28,9952.64 +23-9-2019 01:00,82606.48,38452.64,19226.32 +23-9-2019 02:00,96606.8,44969.68,22484.84 +23-9-2019 03:00,137549.62,64028.22,32014.11 +23-9-2019 04:00,163804.78,76249.8,38124.9 +23-9-2019 05:00,175758.68,81814.22,40907.11 +23-9-2019 06:00,684847.28,318790.84,159395.42 +23-9-2019 07:00,1935271.84,900853.2,450426.6 +23-9-2019 08:00,1578753.12,734896.64,367448.32 +23-9-2019 09:00,1753235.68,816116.96,408058.48 +23-9-2019 10:00,100773.9,46909.42,23454.71 +23-9-2019 11:00,113775.96,52961.78,26480.89 +23-9-2019 12:00,235653.48,109694.8,54847.4 +23-9-2019 13:00,74378.2,34622.44,17311.22 +23-9-2019 14:00,155063.46,72180.78,36090.39 +23-9-2019 15:00,93950.84,43733.34,21866.67 +23-9-2019 16:00,44604.84,20763.18,10381.59 +23-9-2019 17:00,428429.28,199430.34,99715.17 +23-9-2019 18:00,575712.6,267989.5,133994.75 +23-9-2019 19:00,1063368.08,494989.12,247494.56 +23-9-2019 20:00,1406230.08,654588.64,327294.32 +23-9-2019 21:00,734529.12,341917.32,170958.66 +23-9-2019 22:00,127267.78,59242.1,29621.05 +23-9-2019 23:00,149834.78,69746.86,34873.43 +24-9-2019 00:00,191550.28,89165.12,44582.56 +24-9-2019 01:00,193172.74,89920.36,44960.18 +24-9-2019 02:00,185631.16,86409.8,43204.9 +24-9-2019 03:00,188994.56,87975.44,43987.72 +24-9-2019 04:00,190402.66,88630.9,44315.45 +24-9-2019 05:00,199030.44,92647.06,46323.53 +24-9-2019 06:00,927839.44,431901.68,215950.84 +24-9-2019 07:00,2392115.52,1113510.24,556755.12 +24-9-2019 08:00,2023781.44,942053.68,471026.84 +24-9-2019 09:00,1947015.84,906320.0,453160 +24-9-2019 10:00,100773.9,46909.42,23454.71 +24-9-2019 11:00,137298.84,63911.48,31955.74 +24-9-2019 12:00,346373.92,161234.24,80617.12 +24-9-2019 13:00,100515.66,46789.22,23394.61 +24-9-2019 14:00,193629.68,90133.04,45066.52 +24-9-2019 15:00,154909.92,72109.3,36054.65 +24-9-2019 16:00,45245.62,21061.46,10530.73 +24-9-2019 17:00,1890761.6,880134.08,440067.04 +24-9-2019 18:00,1397612.64,650577.28,325288.64 +24-9-2019 19:00,1576016.16,733622.64,366811.32 +24-9-2019 20:00,1757204.0,817964.08,408982.04 +24-9-2019 21:00,970674.96,451841.28,225920.64 +24-9-2019 22:00,253408.5,117959.6,58979.8 +24-9-2019 23:00,222587.24,103612.54,51806.27 +25-9-2019 00:00,200118.02,93153.32,46576.66 +25-9-2019 01:00,196346.02,91397.48,45698.74 +25-9-2019 02:00,197050.76,91725.52,45862.76 +25-9-2019 03:00,205548.54,95681.18,47840.59 +25-9-2019 04:00,227759.04,106019.98,53009.99 +25-9-2019 05:00,243627.42,113406.6,56703.3 +25-9-2019 06:00,1121344.0,521976.52,260988.26 +25-9-2019 07:00,2675680.96,1245507.6,622753.8 +25-9-2019 08:00,2228940.48,1037553.44,518776.72 +25-9-2019 09:00,2049193.28,953882.88,476941.44 +25-9-2019 10:00,100773.9,46909.42,23454.71 +25-9-2019 11:00,196231.4,91344.12,45672.06 +25-9-2019 12:00,368167.12,171378.78,85689.39 +25-9-2019 13:00,121929.52,56757.2,28378.6 +25-9-2019 14:00,215278.78,100210.5,50105.25 +25-9-2019 15:00,169944.58,79107.82,39553.91 +25-9-2019 16:00,44604.84,20763.18,10381.59 +25-9-2019 17:00,1996476.0,929343.36,464671.68 +25-9-2019 18:00,1328721.28,618508.96,309254.48 +25-9-2019 19:00,1507055.52,701522.08,350761.04 +25-9-2019 20:00,1659056.16,772277.12,386138.56 +25-9-2019 21:00,857548.08,399181.64,199590.82 +25-9-2019 22:00,222881.98,103749.76,51874.88 +25-9-2019 23:00,195582.24,91041.94,45520.97 +26-9-2019 00:00,177659.14,82698.88,41349.44 +26-9-2019 01:00,172923.38,80494.42,40247.21 +26-9-2019 02:00,169890.08,79082.44,39541.22 +26-9-2019 03:00,176322.06,82076.48,41038.24 +26-9-2019 04:00,186799.46,86953.62,43476.81 +26-9-2019 05:00,199244.32,92746.6,46373.3 +26-9-2019 06:00,932960.72,434285.6,217142.8 +26-9-2019 07:00,2250924.0,1047786.88,523893.44 +26-9-2019 08:00,1938805.76,902498.32,451249.16 +26-9-2019 09:00,1802652.16,839119.92,419559.96 +26-9-2019 10:00,100773.9,46909.42,23454.71 +26-9-2019 11:00,155716.18,72484.6,36242.3 +26-9-2019 12:00,351965.44,163837.04,81918.52 +26-9-2019 13:00,97414.92,45345.86,22672.93 +26-9-2019 14:00,189295.16,88115.36,44057.68 +26-9-2019 15:00,149843.2,69750.78,34875.39 +26-9-2019 16:00,44604.84,20763.18,10381.59 +26-9-2019 17:00,1416337.44,659293.52,329646.76 +26-9-2019 18:00,1046201.52,486998.28,243499.14 +26-9-2019 19:00,1509738.72,702770.96,351385.48 +26-9-2019 20:00,1707623.04,794884.56,397442.28 +26-9-2019 21:00,884433.2,411696.48,205848.24 +26-9-2019 22:00,227565.98,105930.12,52965.06 +26-9-2019 23:00,212204.18,98779.34,49389.67 +27-9-2019 00:00,194599.32,90584.4,45292.2 +27-9-2019 01:00,186794.06,86951.12,43475.56 +27-9-2019 02:00,191887.9,89322.28,44661.14 +27-9-2019 03:00,208343.26,96982.1,48491.05 +27-9-2019 04:00,214787.28,99981.72,49990.86 +27-9-2019 05:00,232372.9,108167.7,54083.85 +27-9-2019 06:00,1069983.92,498068.8,249034.4 +27-9-2019 07:00,2510814.72,1168763.68,584381.84 +27-9-2019 08:00,2100683.84,977851.2,488925.6 +27-9-2019 09:00,1914837.28,891341.2,445670.6 +27-9-2019 10:00,100773.9,46909.42,23454.71 +27-9-2019 11:00,128265.8,59706.68,29853.34 +27-9-2019 12:00,301629.42,140406.04,70203.02 +27-9-2019 13:00,75191.04,35000.82,17500.41 +27-9-2019 14:00,162989.22,75870.16,37935.08 +27-9-2019 15:00,106574.12,49609.38,24804.69 +27-9-2019 16:00,44604.84,20763.18,10381.59 +27-9-2019 17:00,1280250.4,595946.04,297973.02 +27-9-2019 18:00,1144565.92,532786.0,266393 +27-9-2019 19:00,1356439.36,631411.44,315705.72 +27-9-2019 20:00,1486540.48,691972.48,345986.24 +27-9-2019 21:00,745095.92,346836.12,173418.06 +27-9-2019 22:00,164627.46,76632.74,38316.37 +27-9-2019 23:00,198119.98,92223.24,46111.62 +28-9-2019 00:00,186309.7,86725.66,43362.83 +28-9-2019 01:00,188518.3,87753.74,43876.87 +28-9-2019 02:00,185751.82,86465.98,43232.99 +28-9-2019 03:00,200134.24,93160.88,46580.44 +28-9-2019 04:00,212970.56,99136.08,49568.04 +28-9-2019 05:00,222830.46,103725.76,51862.88 +28-9-2019 06:00,1176754.64,547769.72,273884.86 +28-9-2019 07:00,2939106.88,1368130.4,684065.2 +28-9-2019 08:00,3833122.24,1784287.2,892143.6 +28-9-2019 09:00,3248200.32,1512010.72,756005.36 +28-9-2019 10:00,556488.88,259041.02,129520.51 +28-9-2019 11:00,96160.16,44761.78,22380.89 +28-9-2019 12:00,357164.56,166257.2,83128.6 +28-9-2019 13:00,173549.44,80785.86,40392.93 +28-9-2019 14:00,51212.96,23839.22,11919.61 +28-9-2019 15:00,39648.74,18456.16,9228.08 +28-9-2019 16:00,44604.84,20763.18,10381.59 +28-9-2019 17:00,170798.12,79505.14,39752.57 +28-9-2019 18:00,824524.96,383809.64,191904.82 +28-9-2019 19:00,1086262.0,505646.08,252823.04 +28-9-2019 20:00,913095.2,425038.4,212519.2 +28-9-2019 21:00,380357.4,177053.26,88526.63 +28-9-2019 22:00,215779.48,100443.58,50221.79 +28-9-2019 23:00,209136.88,97351.52,48675.76 +29-9-2019 00:00,188808.84,87888.98,43944.49 +29-9-2019 01:00,187647.92,87348.58,43674.29 +29-9-2019 02:00,200650.66,93401.26,46700.63 +29-9-2019 03:00,217019.9,101020.98,50510.49 +29-9-2019 04:00,229792.16,106966.38,53483.19 +29-9-2019 05:00,256653.38,119470.06,59735.03 +29-9-2019 06:00,1239943.2,577183.48,288591.74 +29-9-2019 07:00,3159359.36,1470656.0,735328 +29-9-2019 08:00,4315601.92,2008877.28,1004438.64 +29-9-2019 09:00,3893053.12,1812184.48,906092.24 +29-9-2019 10:00,763658.32,355476.76,177738.38 +29-9-2019 11:00,220051.06,102431.98,51215.99 +29-9-2019 12:00,537147.04,250037.56,125018.78 +29-9-2019 13:00,164204.7,76435.94,38217.97 +29-9-2019 14:00,54859.82,25536.8,12768.4 +29-9-2019 15:00,39648.74,18456.16,9228.08 +29-9-2019 16:00,45099.34,20993.38,10496.69 +29-9-2019 17:00,394631.4,183697.7,91848.85 +29-9-2019 18:00,1001975.12,466411.24,233205.62 +29-9-2019 19:00,1366457.44,636074.84,318037.42 +29-9-2019 20:00,1110449.44,516905.08,258452.54 +29-9-2019 21:00,498486.56,232041.42,116020.71 +29-9-2019 22:00,221868.3,103277.9,51638.95 +29-9-2019 23:00,208001.52,96823.02,48411.51 +30-9-2019 00:00,203678.74,94810.78,47405.39 +30-9-2019 01:00,213045.0,99170.72,49585.36 +30-9-2019 02:00,216491.08,100774.86,50387.43 +30-9-2019 03:00,232544.6,108247.62,54123.81 +30-9-2019 04:00,271980.26,126604.6,63302.3 +30-9-2019 05:00,317041.2,147580.1,73790.05 +30-9-2019 06:00,1234761.44,574771.44,287385.72 +30-9-2019 07:00,3016051.84,1403947.36,701973.68 +30-9-2019 08:00,2365223.36,1100992.16,550496.08 +30-9-2019 09:00,2203773.76,1025838.48,512919.24 +30-9-2019 10:00,100773.9,46909.42,23454.71 +30-9-2019 11:00,179897.18,83740.66,41870.33 +30-9-2019 12:00,348687.76,162311.28,81155.64 +30-9-2019 13:00,75541.58,35163.98,17581.99 +30-9-2019 14:00,156740.16,72961.26,36480.63 +30-9-2019 15:00,111817.7,52050.22,26025.11 +30-9-2019 16:00,45347.28,21108.78,10554.39 +30-9-2019 17:00,1474574.4,686402.32,343201.16 +30-9-2019 18:00,1407912.64,655371.84,327685.92 +30-9-2019 19:00,1619243.52,753744.72,376872.36 +30-9-2019 20:00,1879712.64,874990.88,437495.44 +30-9-2019 21:00,1048880.48,488245.36,244122.68 +30-9-2019 22:00,259443.12,120768.66,60384.33 +30-9-2019 23:00,235522.72,109633.9,54816.95 +1-10-2019 00:00,219961.28,102390.2,51195.1 +1-10-2019 01:00,230426.92,107261.86,53630.93 +1-10-2019 02:00,230536.58,107312.9,53656.45 +1-10-2019 03:00,251933.76,117273.12,58636.56 +1-10-2019 04:00,243344.76,113275.02,56637.51 +1-10-2019 05:00,246109.32,114561.88,57280.94 +1-10-2019 06:00,1086093.84,505567.88,252783.94 +1-10-2019 07:00,2642819.04,1230210.72,615105.36 +1-10-2019 08:00,2159948.96,1005438.56,502719.28 +1-10-2019 09:00,1963561.44,914021.76,457010.88 +1-10-2019 10:00,100773.9,46909.42,23454.71 +1-10-2019 11:00,145612.9,67781.62,33890.81 +1-10-2019 12:00,337768.64,157228.56,78614.28 +1-10-2019 13:00,99355.94,46249.36,23124.68 +1-10-2019 14:00,199756.72,92985.12,46492.56 +1-10-2019 15:00,158081.5,73585.66,36792.83 +1-10-2019 16:00,45418.24,21141.82,10570.91 +1-10-2019 17:00,1994542.24,928443.12,464221.56 +1-10-2019 18:00,1328036.0,618189.88,309094.94 +1-10-2019 19:00,1541567.52,717587.04,358793.52 +1-10-2019 20:00,2098970.72,977053.6,488526.8 +1-10-2019 21:00,1286422.96,598819.32,299409.66 +1-10-2019 22:00,323987.3,150813.46,75406.73 +1-10-2019 23:00,300914.04,140073.04,70036.52 +2-10-2019 00:00,318336.24,148182.92,74091.46 +2-10-2019 01:00,376926.04,175456.0,87728 +2-10-2019 02:00,429371.84,199869.08,99934.54 +2-10-2019 03:00,454288.44,211467.56,105733.78 +2-10-2019 04:00,469359.32,218482.92,109241.46 +2-10-2019 05:00,511039.72,237884.84,118942.42 +2-10-2019 06:00,1909232.64,888732.24,444366.12 +2-10-2019 07:00,4029514.56,1875706.24,937853.12 +2-10-2019 08:00,2938245.12,1367729.28,683864.64 +2-10-2019 09:00,2335587.84,1087197.12,543598.56 +2-10-2019 10:00,151756.1,70641.22,35320.61 +2-10-2019 11:00,243710.56,113445.3,56722.65 +2-10-2019 12:00,511478.72,238089.2,119044.6 +2-10-2019 13:00,103147.8,48014.44,24007.22 +2-10-2019 14:00,400860.32,186597.22,93298.61 +2-10-2019 15:00,262105.14,122007.8,61003.9 +2-10-2019 16:00,114761.52,53420.54,26710.27 +2-10-2019 17:00,4252832.64,1979658.88,989829.44 +2-10-2019 18:00,2541570.08,1183080.24,591540.12 +2-10-2019 19:00,2849824.96,1326570.16,663285.08 +2-10-2019 20:00,2900152.32,1349997.12,674998.56 +2-10-2019 21:00,1582448.8,736617.04,368308.52 +2-10-2019 22:00,466871.84,217325.02,108662.51 +2-10-2019 23:00,532250.72,247758.36,123879.18 +3-10-2019 00:00,509527.0,237180.66,118590.33 +3-10-2019 01:00,481031.84,223916.38,111958.19 +3-10-2019 02:00,501724.8,233548.82,116774.41 +3-10-2019 03:00,487883.16,227105.64,113552.82 +3-10-2019 04:00,465447.92,216662.2,108331.1 +3-10-2019 05:00,497064.08,231379.28,115689.64 +3-10-2019 06:00,2241913.28,1043592.4,521796.2 +3-10-2019 07:00,4325895.04,2013668.8,1006834.4 +3-10-2019 08:00,3969140.48,1847602.72,923801.36 +3-10-2019 09:00,2749387.2,1279817.28,639908.64 +3-10-2019 10:00,158127.42,73607.02,36803.51 +3-10-2019 11:00,212119.76,98740.02,49370.01 +3-10-2019 12:00,553026.84,257429.48,128714.74 +3-10-2019 13:00,316447.0,147303.5,73651.75 +3-10-2019 14:00,399934.92,186166.42,93083.21 +3-10-2019 15:00,369021.08,171776.3,85888.15 +3-10-2019 16:00,161253.98,75062.4,37531.2 +3-10-2019 17:00,5462552.96,2542774.24,1271387.12 +3-10-2019 18:00,2892775.04,1346563.2,673281.6 +3-10-2019 19:00,3223179.84,1500363.84,750181.92 +3-10-2019 20:00,3289523.2,1531246.24,765623.12 +3-10-2019 21:00,1728516.16,804610.08,402305.04 +3-10-2019 22:00,538285.88,250567.68,125283.84 +3-10-2019 23:00,519710.88,241921.18,120960.59 +4-10-2019 00:00,516659.04,240500.58,120250.29 +4-10-2019 01:00,523717.04,243786.02,121893.01 +4-10-2019 02:00,520943.16,242494.82,121247.41 +4-10-2019 03:00,526409.36,245039.24,122519.62 +4-10-2019 04:00,537398.8,250154.74,125077.37 +4-10-2019 05:00,559263.8,260332.7,130166.35 +4-10-2019 06:00,2651252.48,1234136.48,617068.24 +4-10-2019 07:00,4846691.52,2256095.52,1128047.76 +4-10-2019 08:00,4843369.28,2254548.8,1127274.4 +4-10-2019 09:00,3372183.68,1569724.32,784862.16 +4-10-2019 10:00,467829.52,217770.82,108885.41 +4-10-2019 11:00,744902.16,346745.84,173372.92 +4-10-2019 12:00,1101012.48,512512.32,256256.16 +4-10-2019 13:00,531529.0,247422.4,123711.2 +4-10-2019 14:00,551434.04,256688.02,128344.01 +4-10-2019 15:00,592360.36,275738.92,137869.46 +4-10-2019 16:00,184898.34,86068.7,43034.35 +4-10-2019 17:00,7281416.32,3389439.68,1694719.84 +4-10-2019 18:00,3283106.56,1528259.2,764129.6 +4-10-2019 19:00,3425984.32,1594767.84,797383.92 +4-10-2019 20:00,3567125.12,1660467.52,830233.76 +4-10-2019 21:00,1953298.72,909244.64,454622.32 +4-10-2019 22:00,614755.12,286163.48,143081.74 +4-10-2019 23:00,585207.08,272409.14,136204.57 +5-10-2019 00:00,572215.08,266361.46,133180.73 +5-10-2019 01:00,582450.44,271125.92,135562.96 +5-10-2019 02:00,629468.76,293012.58,146506.29 +5-10-2019 03:00,624171.52,290546.76,145273.38 +5-10-2019 04:00,653917.68,304393.34,152196.67 +5-10-2019 05:00,826717.76,384830.36,192415.18 +5-10-2019 06:00,2537072.32,1180986.48,590493.24 +5-10-2019 07:00,5429044.48,2527175.84,1263587.92 +5-10-2019 08:00,8588536.32,3997894.08,1998947.04 +5-10-2019 09:00,6915802.88,3219249.6,1609624.8 +5-10-2019 10:00,2056043.04,957071.28,478535.64 +5-10-2019 11:00,1257721.68,585459.24,292729.62 +5-10-2019 12:00,2023732.48,942031.04,471015.52 +5-10-2019 13:00,971037.28,452009.92,226004.96 +5-10-2019 14:00,498962.0,232262.74,116131.37 +5-10-2019 15:00,261664.74,121802.8,60901.4 +5-10-2019 16:00,512539.0,238582.72,119291.36 +5-10-2019 17:00,2959233.6,1377499.2,688749.6 +5-10-2019 18:00,3809782.72,1773422.72,886711.36 +5-10-2019 19:00,3822251.84,1779226.88,889613.44 +5-10-2019 20:00,2925731.84,1361904.0,680952 +5-10-2019 21:00,1230677.04,572870.12,286435.06 +5-10-2019 22:00,654646.44,304732.58,152366.29 +5-10-2019 23:00,621387.88,289251.0,144625.5 +6-10-2019 00:00,601323.96,279911.4,139955.7 +6-10-2019 01:00,604464.4,281373.22,140686.61 +6-10-2019 02:00,604333.32,281312.22,140656.11 +6-10-2019 03:00,612755.0,285232.48,142616.24 +6-10-2019 04:00,753536.56,350765.12,175382.56 +6-10-2019 05:00,897271.28,417672.48,208836.24 +6-10-2019 06:00,2472126.4,1150754.64,575377.32 +6-10-2019 07:00,5408159.36,2517453.92,1258726.96 +6-10-2019 08:00,8753345.92,4074610.88,2037305.44 +6-10-2019 09:00,7319321.6,3407084.8,1703542.4 +6-10-2019 10:00,2614282.4,1216926.88,608463.44 +6-10-2019 11:00,1928497.6,897699.92,448849.96 +6-10-2019 12:00,2808504.64,1307336.08,653668.04 +6-10-2019 13:00,1756736.64,817746.56,408873.28 +6-10-2019 14:00,1136593.28,529074.88,264537.44 +6-10-2019 15:00,798684.08,371780.96,185890.48 +6-10-2019 16:00,1122648.08,522583.48,261291.74 +6-10-2019 17:00,3761119.68,1750770.56,875385.28 +6-10-2019 18:00,4120447.68,1918034.72,959017.36 +6-10-2019 19:00,4156202.56,1934678.4,967339.2 +6-10-2019 20:00,3127840.96,1455984.64,727992.32 +6-10-2019 21:00,1339502.32,623527.4,311763.7 +6-10-2019 22:00,724943.28,337455.2,168727.6 +6-10-2019 23:00,689859.52,321124.0,160562 +7-10-2019 00:00,666806.72,310393.1,155196.55 +7-10-2019 01:00,664814.08,309465.54,154732.77 +7-10-2019 02:00,683960.64,318378.12,159189.06 +7-10-2019 03:00,866565.52,403379.2,201689.6 +7-10-2019 04:00,1100667.2,512351.56,256175.78 +7-10-2019 05:00,1217280.0,566633.96,283316.98 +7-10-2019 06:00,4106093.76,1911352.96,955676.48 +7-10-2019 07:00,5852565.12,2724321.28,1362160.64 +7-10-2019 08:00,7407272.32,3448024.96,1724012.48 +7-10-2019 09:00,4546808.96,2116502.72,1058251.36 +7-10-2019 10:00,839580.96,390818.12,195409.06 +7-10-2019 11:00,1337122.08,622419.44,311209.72 +7-10-2019 12:00,2182518.08,1015944.4,507972.2 +7-10-2019 13:00,1310379.04,609970.76,304985.38 +7-10-2019 14:00,1213992.16,565103.44,282551.72 +7-10-2019 15:00,1099125.12,511633.84,255816.92 +7-10-2019 16:00,734843.28,342063.52,171031.76 +7-10-2019 17:00,9850807.68,4585470.08,2292735.04 +7-10-2019 18:00,4264570.24,1985122.72,992561.36 +7-10-2019 19:00,3998680.32,1861353.28,930676.64 +7-10-2019 20:00,3961783.36,1844177.76,922088.88 +7-10-2019 21:00,2062046.08,959865.6,479932.8 +7-10-2019 22:00,626293.52,291534.48,145767.24 +7-10-2019 23:00,584502.64,272081.24,136040.62 +8-10-2019 00:00,554784.32,258247.56,129123.78 +8-10-2019 01:00,548769.4,255447.66,127723.83 +8-10-2019 02:00,543072.4,252795.8,126397.9 +8-10-2019 03:00,538990.24,250895.54,125447.77 +8-10-2019 04:00,538420.0,250630.12,125315.06 +8-10-2019 05:00,555459.4,258561.82,129280.91 +8-10-2019 06:00,2920375.36,1359410.88,679705.44 +8-10-2019 07:00,4976963.52,2316735.84,1158367.92 +8-10-2019 08:00,5361799.36,2495874.08,1247937.04 +8-10-2019 09:00,3389041.6,1577571.04,788785.52 +8-10-2019 10:00,380807.64,177262.84,88631.42 +8-10-2019 11:00,745522.16,347034.48,173517.24 +8-10-2019 12:00,1332444.48,620242.0,310121 +8-10-2019 13:00,711258.16,331084.86,165542.43 +8-10-2019 14:00,691715.04,321987.7,160993.85 +8-10-2019 15:00,740080.96,344501.68,172250.84 +8-10-2019 16:00,349144.88,162524.12,81262.06 +8-10-2019 17:00,7931692.8,3692138.56,1846069.28 +8-10-2019 18:00,3343091.84,1556182.08,778091.04 +8-10-2019 19:00,3474851.52,1617515.2,808757.6 +8-10-2019 20:00,3474963.2,1617567.04,808783.52 +8-10-2019 21:00,1929914.4,898359.52,449179.76 +8-10-2019 22:00,618309.52,287818.02,143909.01 +8-10-2019 23:00,560660.76,260983.04,130491.52 +9-10-2019 00:00,535774.64,249398.72,124699.36 +9-10-2019 01:00,536456.36,249716.04,124858.02 +9-10-2019 02:00,543987.8,253221.9,126610.95 +9-10-2019 03:00,547414.48,254816.98,127408.49 +9-10-2019 04:00,557472.92,259499.08,129749.54 +9-10-2019 05:00,584823.6,272230.62,136115.31 +9-10-2019 06:00,2987181.76,1390508.48,695254.24 +9-10-2019 07:00,5080443.84,2364904.96,1182452.48 +9-10-2019 08:00,5501324.16,2560821.6,1280410.8 +9-10-2019 09:00,3472574.4,1616455.04,808227.52 +9-10-2019 10:00,496379.44,231060.6,115530.3 +9-10-2019 11:00,900947.6,419383.76,209691.88 +9-10-2019 12:00,1570513.28,731061.12,365530.56 +9-10-2019 13:00,860150.16,400392.88,200196.44 +9-10-2019 14:00,779795.44,362988.36,181494.18 +9-10-2019 15:00,834935.92,388655.84,194327.92 +9-10-2019 16:00,578723.2,269390.94,134695.47 +9-10-2019 17:00,8914766.72,4149751.04,2074875.52 +9-10-2019 18:00,3848272.96,1791339.68,895669.84 +9-10-2019 19:00,3792230.4,1765252.32,882626.16 +9-10-2019 20:00,3841070.4,1787986.88,893993.44 +9-10-2019 21:00,2006635.36,934072.32,467036.16 +9-10-2019 22:00,635487.24,295814.12,147907.06 +9-10-2019 23:00,601402.88,279948.16,139974.08 +10-10-2019 00:00,584124.44,271905.18,135952.59 +10-10-2019 01:00,588294.0,273846.1,136923.05 +10-10-2019 02:00,597450.24,278108.24,139054.12 +10-10-2019 03:00,591987.56,275565.34,137782.67 +10-10-2019 04:00,602947.52,280667.14,140333.57 +10-10-2019 05:00,683766.56,318287.68,159143.84 +10-10-2019 06:00,3285940.8,1529578.56,764789.28 +10-10-2019 07:00,5258760.32,2447909.92,1223954.96 +10-10-2019 08:00,5353223.04,2491881.6,1245940.8 +10-10-2019 09:00,3283450.56,1528419.36,764209.68 +10-10-2019 10:00,319850.58,148887.84,74443.92 +10-10-2019 11:00,248970.92,115893.94,57946.97 +10-10-2019 12:00,982971.28,457565.12,228782.56 +10-10-2019 13:00,755444.8,351653.4,175826.7 +10-10-2019 14:00,679605.28,316350.7,158175.35 +10-10-2019 15:00,580853.04,270382.32,135191.16 +10-10-2019 16:00,262855.34,122357.04,61178.52 +10-10-2019 17:00,7812760.96,3636776.32,1818388.16 +10-10-2019 18:00,3372035.52,1569655.04,784827.52 +10-10-2019 19:00,3331318.72,1550701.6,775350.8 +10-10-2019 20:00,3369055.68,1568268.0,784134 +10-10-2019 21:00,1778847.84,828039.28,414019.64 +10-10-2019 22:00,524230.4,244024.98,122012.49 +10-10-2019 23:00,485395.24,225947.52,112973.76 +11-10-2019 00:00,456421.2,212460.36,106230.18 +11-10-2019 01:00,457148.64,212798.96,106399.48 +11-10-2019 02:00,493662.2,229795.72,114897.86 +11-10-2019 03:00,458527.4,213440.78,106720.39 +11-10-2019 04:00,445996.72,207607.84,103803.92 +11-10-2019 05:00,469221.44,218418.74,109209.37 +11-10-2019 06:00,2394733.12,1114728.72,557364.36 +11-10-2019 07:00,4421152.96,2058010.72,1029005.36 +11-10-2019 08:00,4324608.32,2013069.92,1006534.96 +11-10-2019 09:00,3118647.36,1451704.96,725852.48 +11-10-2019 10:00,301207.76,140209.76,70104.88 +11-10-2019 11:00,619681.84,288456.84,144228.42 +11-10-2019 12:00,1184140.24,551207.64,275603.82 +11-10-2019 13:00,628744.44,292675.42,146337.71 +11-10-2019 14:00,628817.08,292709.2,146354.6 +11-10-2019 15:00,687822.32,320175.72,160087.86 +11-10-2019 16:00,290461.42,135207.44,67603.72 +11-10-2019 17:00,7575416.32,3526294.4,1763147.2 +11-10-2019 18:00,2816884.8,1311236.96,655618.48 +11-10-2019 19:00,2729210.56,1270425.2,635212.6 +11-10-2019 20:00,2732760.0,1272077.52,636038.76 +11-10-2019 21:00,1398519.84,650999.56,325499.78 +11-10-2019 22:00,393764.32,183294.06,91647.03 +11-10-2019 23:00,353786.36,164684.66,82342.33 +12-10-2019 00:00,336955.64,156850.12,78425.06 +12-10-2019 01:00,326824.64,152134.22,76067.11 +12-10-2019 02:00,329940.22,153584.5,76792.25 +12-10-2019 03:00,444342.36,206837.72,103418.86 +12-10-2019 04:00,449401.36,209192.68,104596.34 +12-10-2019 05:00,471310.12,219391.02,109695.51 +12-10-2019 06:00,1739351.04,809653.76,404826.88 +12-10-2019 07:00,4108138.56,1912305.12,956152.56 +12-10-2019 08:00,6851350.4,3189247.68,1594623.84 +12-10-2019 09:00,5460613.76,2541871.04,1270935.52 +12-10-2019 10:00,1592075.36,741098.0,370549 +12-10-2019 11:00,1167986.8,543688.36,271844.18 +12-10-2019 12:00,2107431.84,980992.32,490496.16 +12-10-2019 13:00,1215782.48,565936.84,282968.42 +12-10-2019 14:00,669286.36,311547.36,155773.68 +12-10-2019 15:00,407633.44,189750.04,94875.02 +12-10-2019 16:00,795327.84,370218.6,185109.3 +12-10-2019 17:00,3030697.6,1410764.96,705382.48 +12-10-2019 18:00,3329400.64,1549808.8,774904.4 +12-10-2019 19:00,3407999.36,1586396.0,793198 +12-10-2019 20:00,2617589.12,1218466.4,609233.2 +12-10-2019 21:00,1087295.52,506127.2,253063.6 +12-10-2019 22:00,565138.6,263067.42,131533.71 +12-10-2019 23:00,534451.04,248782.6,124391.3 +13-10-2019 00:00,523726.36,243790.36,121895.18 +13-10-2019 01:00,519606.88,241872.76,120936.38 +13-10-2019 02:00,508769.2,236827.9,118413.95 +13-10-2019 03:00,492714.6,229354.62,114677.31 +13-10-2019 04:00,471448.12,219455.24,109727.62 +13-10-2019 05:00,464725.96,216326.14,108163.07 +13-10-2019 06:00,1849695.36,861018.16,430509.08 +13-10-2019 07:00,4459250.56,2075744.64,1037872.32 +13-10-2019 08:00,7315462.4,3405288.0,1702644 +13-10-2019 09:00,5736680.32,2670377.92,1335188.96 +13-10-2019 10:00,1285952.72,598600.52,299300.26 +13-10-2019 11:00,314662.82,146472.96,73236.48 +13-10-2019 12:00,498262.04,231936.9,115968.45 +13-10-2019 13:00,73733.68,34322.42,17161.21 +13-10-2019 14:00,54094.7,25180.64,12590.32 +13-10-2019 15:00,40081.72,18657.7,9328.85 +13-10-2019 16:00,48436.86,22546.96,11273.48 +13-10-2019 17:00,576283.44,268255.24,134127.62 +13-10-2019 18:00,1526516.0,710580.72,355290.36 +13-10-2019 19:00,2041519.84,950310.8,475155.4 +13-10-2019 20:00,1656025.12,770866.24,385433.12 +13-10-2019 21:00,674721.76,314077.48,157038.74 +13-10-2019 22:00,289334.02,134682.62,67341.31 +13-10-2019 23:00,276395.08,128659.66,64329.83 +14-10-2019 00:00,322582.62,150159.6,75079.8 +14-10-2019 01:00,395721.24,184205.02,92102.51 +14-10-2019 02:00,414478.88,192936.54,96468.27 +14-10-2019 03:00,442013.64,205753.76,102876.88 +14-10-2019 04:00,438071.88,203918.88,101959.44 +14-10-2019 05:00,457382.28,212907.74,106453.87 +14-10-2019 06:00,2061699.52,959704.32,479852.16 +14-10-2019 07:00,4288787.2,1996395.52,998197.76 +14-10-2019 08:00,4080296.64,1899344.8,949672.4 +14-10-2019 09:00,2879536.96,1340400.88,670200.44 +14-10-2019 10:00,216532.58,100794.14,50397.07 +14-10-2019 11:00,425330.0,197987.66,98993.83 +14-10-2019 12:00,824614.64,383851.36,191925.68 +14-10-2019 13:00,301002.38,140114.18,70057.09 +14-10-2019 14:00,393414.32,183131.14,91565.57 +14-10-2019 15:00,435106.68,202538.62,101269.31 +14-10-2019 16:00,130097.54,60559.34,30279.67 +14-10-2019 17:00,5344715.84,2487921.92,1243960.96 +14-10-2019 18:00,2248298.4,1046564.48,523282.24 +14-10-2019 19:00,2161953.6,1006371.68,503185.84 +14-10-2019 20:00,2129816.16,991412.08,495706.04 +14-10-2019 21:00,1038373.68,483354.44,241677.22 +14-10-2019 22:00,268227.66,124857.8,62428.9 +14-10-2019 23:00,245369.7,114217.6,57108.8 +15-10-2019 00:00,273749.48,127428.16,63714.08 +15-10-2019 01:00,291281.64,135589.22,67794.61 +15-10-2019 02:00,275638.7,128307.58,64153.79 +15-10-2019 03:00,284714.9,132532.48,66266.24 +15-10-2019 04:00,308876.38,143779.42,71889.71 +15-10-2019 05:00,343326.56,159815.72,79907.86 +15-10-2019 06:00,1475857.44,686999.6,343499.8 +15-10-2019 07:00,3518433.28,1637802.08,818901.04 +15-10-2019 08:00,2605773.44,1212966.32,606483.16 +15-10-2019 09:00,2219259.2,1033047.12,516523.56 +15-10-2019 10:00,142329.6,66253.26,33126.63 +15-10-2019 11:00,278456.82,129619.38,64809.69 +15-10-2019 12:00,600394.88,279478.94,139739.47 +15-10-2019 13:00,231408.44,107718.74,53859.37 +15-10-2019 14:00,325853.4,151682.1,75841.05 +15-10-2019 15:00,391477.28,182229.5,91114.75 +15-10-2019 16:00,174143.24,81062.26,40531.13 +15-10-2019 17:00,4817926.4,2242705.12,1121352.56 +15-10-2019 18:00,2314504.64,1077383.04,538691.52 +15-10-2019 19:00,2470093.28,1149808.32,574904.16 +15-10-2019 20:00,2554418.4,1189060.88,594530.44 +15-10-2019 21:00,1346627.52,626844.12,313422.06 +15-10-2019 22:00,396332.64,184489.62,92244.81 +15-10-2019 23:00,415183.88,193264.7,96632.35 +16-10-2019 00:00,403231.28,187700.88,93850.44 +16-10-2019 01:00,402758.64,187480.86,93740.43 +16-10-2019 02:00,402318.48,187275.98,93637.99 +16-10-2019 03:00,423452.44,197113.66,98556.83 +16-10-2019 04:00,456473.68,212484.78,106242.39 +16-10-2019 05:00,485469.04,225981.88,112990.94 +16-10-2019 06:00,2113494.08,983814.24,491907.12 +16-10-2019 07:00,4222034.24,1965322.56,982661.28 +16-10-2019 08:00,3411427.2,1587991.52,793995.76 +16-10-2019 09:00,2628425.28,1223510.48,611755.24 +16-10-2019 10:00,166835.82,77660.72,38830.36 +16-10-2019 11:00,391595.12,182284.34,91142.17 +16-10-2019 12:00,809749.04,376931.56,188465.78 +16-10-2019 13:00,479056.84,222997.06,111498.53 +16-10-2019 14:00,473541.68,220429.8,110214.9 +16-10-2019 15:00,502441.96,233882.62,116941.31 +16-10-2019 16:00,275183.84,128095.82,64047.91 +16-10-2019 17:00,6182948.48,2878111.68,1439055.84 +16-10-2019 18:00,2496314.4,1162014.0,581007 +16-10-2019 19:00,2581054.72,1201460.0,600730 +16-10-2019 20:00,2605312.0,1212751.6,606375.8 +16-10-2019 21:00,1355170.88,630821.04,315410.52 +16-10-2019 22:00,413089.4,192289.74,96144.87 +16-10-2019 23:00,388050.28,180634.24,90317.12 +17-10-2019 00:00,373417.68,173822.9,86911.45 +17-10-2019 01:00,372085.76,173202.88,86601.44 +17-10-2019 02:00,367482.16,171059.96,85529.98 +17-10-2019 03:00,387732.44,180486.28,90243.14 +17-10-2019 04:00,419883.44,195452.3,97726.15 +17-10-2019 05:00,439782.24,204715.04,102357.52 +17-10-2019 06:00,1952308.32,908783.68,454391.84 +17-10-2019 07:00,4065355.52,1892389.92,946194.96 +17-10-2019 08:00,4753947.2,2212923.52,1106461.76 +17-10-2019 09:00,2977090.56,1385811.36,692905.68 +17-10-2019 10:00,160544.46,74732.14,37366.07 +17-10-2019 11:00,226035.1,105217.48,52608.74 +17-10-2019 12:00,591603.2,275386.44,137693.22 +17-10-2019 13:00,175166.94,81538.8,40769.4 +17-10-2019 14:00,412034.44,191798.7,95899.35 +17-10-2019 15:00,440611.44,205101.04,102550.52 +17-10-2019 16:00,896480.32,417304.28,208652.14 +17-10-2019 17:00,6905429.12,3214420.8,1607210.4 +17-10-2019 18:00,3056993.28,1423005.44,711502.72 +17-10-2019 19:00,3113787.2,1449442.56,724721.28 +17-10-2019 20:00,3300175.04,1536204.64,768102.32 +17-10-2019 21:00,1691254.08,787265.04,393632.52 +17-10-2019 22:00,517612.84,240944.54,120472.27 +17-10-2019 23:00,480990.8,223897.3,111948.65 +18-10-2019 00:00,437610.12,203703.94,101851.97 +18-10-2019 01:00,433597.24,201835.96,100917.98 +18-10-2019 02:00,432887.08,201505.42,100752.71 +18-10-2019 03:00,425038.84,197852.12,98926.06 +18-10-2019 04:00,427553.12,199022.5,99511.25 +18-10-2019 05:00,443318.92,206361.34,103180.67 +18-10-2019 06:00,2137701.12,995082.4,497541.2 +18-10-2019 07:00,4205593.28,1957669.28,978834.64 +18-10-2019 08:00,5058607.04,2354740.48,1177370.24 +18-10-2019 09:00,3130722.56,1457325.92,728662.96 +18-10-2019 10:00,261113.9,121546.4,60773.2 +18-10-2019 11:00,541555.0,252089.42,126044.71 +18-10-2019 12:00,1140047.84,530683.04,265341.52 +18-10-2019 13:00,406379.44,189166.32,94583.16 +18-10-2019 14:00,570599.96,265609.62,132804.81 +18-10-2019 15:00,684760.24,318750.34,159375.17 +18-10-2019 16:00,1505626.88,700857.12,350428.56 +18-10-2019 17:00,8282419.84,3855399.36,1927699.68 +18-10-2019 18:00,3208796.16,1493668.48,746834.24 +18-10-2019 19:00,3216087.04,1497062.56,748531.28 +18-10-2019 20:00,3167673.6,1474526.24,737263.12 +18-10-2019 21:00,1761937.92,820167.76,410083.88 +18-10-2019 22:00,555360.72,258515.86,129257.93 +18-10-2019 23:00,522186.52,243073.54,121536.77 +19-10-2019 00:00,506882.92,235949.9,117974.95 +19-10-2019 01:00,503865.56,234545.3,117272.65 +19-10-2019 02:00,497093.16,231392.8,115696.4 +19-10-2019 03:00,492184.92,229108.08,114554.04 +19-10-2019 04:00,485314.68,225910.02,112955.01 +19-10-2019 05:00,485581.24,226034.1,113017.05 +19-10-2019 06:00,1879712.32,874990.72,437495.36 +19-10-2019 07:00,4503281.6,2096240.96,1048120.48 +19-10-2019 08:00,9028742.4,4202806.08,2101403.04 +19-10-2019 09:00,6718417.92,3127368.96,1563684.48 +19-10-2019 10:00,1788340.16,832457.68,416228.84 +19-10-2019 11:00,964692.48,449056.44,224528.22 +19-10-2019 12:00,1759605.12,819081.84,409540.92 +19-10-2019 13:00,877150.72,408306.44,204153.22 +19-10-2019 14:00,443466.48,206430.0,103215 +19-10-2019 15:00,277563.88,129203.72,64601.86 +19-10-2019 16:00,2252560.0,1048548.32,524274.16 +19-10-2019 17:00,2949761.92,1373090.08,686545.04 +19-10-2019 18:00,3214530.88,1496337.76,748168.88 +19-10-2019 19:00,3313810.24,1542551.68,771275.84 +19-10-2019 20:00,2580751.68,1201318.88,600659.44 +19-10-2019 21:00,1091974.88,508305.4,254152.7 +19-10-2019 22:00,586477.28,273000.4,136500.2 +19-10-2019 23:00,551436.48,256689.18,128344.59 +20-10-2019 00:00,527985.16,245772.8,122886.4 +20-10-2019 01:00,527717.6,245648.22,122824.11 +20-10-2019 02:00,537585.4,250241.62,125120.81 +20-10-2019 03:00,562698.6,261931.58,130965.79 +20-10-2019 04:00,586812.24,273156.32,136578.16 +20-10-2019 05:00,735989.28,342597.04,171298.52 +20-10-2019 06:00,2492655.84,1160310.88,580155.44 +20-10-2019 07:00,5374047.36,2501575.2,1250787.6 +20-10-2019 08:00,10183148.16,4740172.8,2370086.4 +20-10-2019 09:00,7620894.72,3547464.32,1773732.16 +20-10-2019 10:00,2531792.0,1178528.32,589264.16 +20-10-2019 11:00,1542398.56,717973.92,358986.96 +20-10-2019 12:00,2200302.08,1024222.64,512111.32 +20-10-2019 13:00,1146064.8,533483.84,266741.92 +20-10-2019 14:00,596366.56,277603.8,138801.9 +20-10-2019 15:00,417393.12,194293.1,97146.55 +20-10-2019 16:00,2620307.84,1219731.84,609865.92 +20-10-2019 17:00,3245613.76,1510806.72,755403.36 +20-10-2019 18:00,3456694.4,1609063.04,804531.52 +20-10-2019 19:00,3464440.0,1612668.48,806334.24 +20-10-2019 20:00,2636797.44,1227407.68,613703.84 +20-10-2019 21:00,1122677.36,522597.16,261298.58 +20-10-2019 22:00,586581.44,273048.86,136524.43 +20-10-2019 23:00,545822.68,254076.02,127038.01 +21-10-2019 00:00,524903.08,244338.1,122169.05 +21-10-2019 01:00,530599.36,246989.66,123494.83 +21-10-2019 02:00,540297.0,251503.84,125751.92 +21-10-2019 03:00,547371.28,254796.88,127398.44 +21-10-2019 04:00,554293.28,258019.02,129009.51 +21-10-2019 05:00,596830.0,277819.52,138909.76 +21-10-2019 06:00,3072036.48,1430008.0,715004 +21-10-2019 07:00,5150993.6,2397745.44,1198872.72 +21-10-2019 08:00,7557266.56,3517846.08,1758923.04 +21-10-2019 09:00,4109723.52,1913042.88,956521.44 +21-10-2019 10:00,578686.2,269373.72,134686.86 +21-10-2019 11:00,789573.92,367540.2,183770.1 +21-10-2019 12:00,1402264.96,652742.92,326371.46 +21-10-2019 13:00,766563.76,356829.16,178414.58 +21-10-2019 14:00,835366.8,388856.4,194428.2 +21-10-2019 15:00,951631.12,442976.52,221488.26 +21-10-2019 16:00,1937501.44,901891.2,450945.6 +21-10-2019 17:00,9300108.16,4329124.48,2164562.24 +21-10-2019 18:00,3544742.08,1650048.48,825024.24 +21-10-2019 19:00,3432567.04,1597831.84,798915.92 +21-10-2019 20:00,3525344.32,1641018.88,820509.44 +21-10-2019 21:00,1854510.08,863259.2,431629.6 +21-10-2019 22:00,569605.12,265146.52,132573.26 +21-10-2019 23:00,535245.44,249152.36,124576.18 +22-10-2019 00:00,514096.92,239307.92,119653.96 +22-10-2019 01:00,513442.12,239003.12,119501.56 +22-10-2019 02:00,512812.08,238709.84,119354.92 +22-10-2019 03:00,519925.16,242020.92,121010.46 +22-10-2019 04:00,518864.36,241527.12,120763.56 +22-10-2019 05:00,517228.56,240765.68,120382.84 +22-10-2019 06:00,2673911.36,1244683.92,622341.96 +22-10-2019 07:00,4789873.92,2229647.68,1114823.84 +22-10-2019 08:00,6646290.56,3093793.92,1546896.96 +22-10-2019 09:00,3607072.64,1679062.88,839531.44 +22-10-2019 10:00,437188.64,203507.72,101753.86 +22-10-2019 11:00,599328.44,278982.48,139491.24 +22-10-2019 12:00,1267897.92,590196.12,295098.06 +22-10-2019 13:00,688885.04,320670.38,160335.19 +22-10-2019 14:00,620593.88,288881.34,144440.67 +22-10-2019 15:00,879755.04,409518.8,204759.4 +22-10-2019 16:00,1869728.32,870343.28,435171.64 +22-10-2019 17:00,9259220.48,4310091.84,2155045.92 +22-10-2019 18:00,3844076.48,1789386.08,894693.04 +22-10-2019 19:00,3887747.2,1809714.56,904857.28 +22-10-2019 20:00,4101552.32,1909239.2,954619.6 +22-10-2019 21:00,2268800.96,1056108.4,528054.2 +22-10-2019 22:00,752882.48,350460.68,175230.34 +22-10-2019 23:00,727875.76,338820.24,169410.12 +23-10-2019 00:00,718147.2,334291.62,167145.81 +23-10-2019 01:00,734544.4,341924.48,170962.24 +23-10-2019 02:00,729536.48,339593.28,169796.64 +23-10-2019 03:00,694077.68,323087.52,161543.76 +23-10-2019 04:00,869117.52,404567.08,202283.54 +23-10-2019 05:00,1022561.44,475994.0,237997 +23-10-2019 06:00,3830460.8,1783048.32,891524.16 +23-10-2019 07:00,5766673.28,2684339.36,1342169.68 +23-10-2019 08:00,8722810.24,4060397.44,2030198.72 +23-10-2019 09:00,4479316.8,2085085.44,1042542.72 +23-10-2019 10:00,668121.2,311005.0,155502.5 +23-10-2019 11:00,995655.6,463469.56,231734.78 +23-10-2019 12:00,1562104.48,727146.88,363573.44 +23-10-2019 13:00,729880.88,339753.56,169876.78 +23-10-2019 14:00,513925.72,239228.22,119614.11 +23-10-2019 15:00,714933.68,332795.8,166397.9 +23-10-2019 16:00,1346356.96,626718.12,313359.06 +23-10-2019 17:00,9507564.16,4425693.76,2212846.88 +23-10-2019 18:00,3612221.76,1681459.68,840729.84 +23-10-2019 19:00,3589406.08,1670839.36,835419.68 +23-10-2019 20:00,3551457.92,1653174.56,826587.28 +23-10-2019 21:00,1874212.96,872430.88,436215.44 +23-10-2019 22:00,563070.6,262104.74,131052.37 +23-10-2019 23:00,514773.24,239622.76,119811.38 +24-10-2019 00:00,509485.88,237161.52,118580.76 +24-10-2019 01:00,507713.12,236336.3,118168.15 +24-10-2019 02:00,510415.24,237594.1,118797.05 +24-10-2019 03:00,513686.2,239116.72,119558.36 +24-10-2019 04:00,508966.48,236919.74,118459.87 +24-10-2019 05:00,540258.0,251485.68,125742.84 +24-10-2019 06:00,2757478.08,1283583.6,641791.8 +24-10-2019 07:00,4863128.96,2263746.88,1131873.44 +24-10-2019 08:00,6752905.6,3143422.4,1571711.2 +24-10-2019 09:00,3645896.96,1697135.36,848567.68 +24-10-2019 10:00,458660.8,213502.86,106751.43 +24-10-2019 11:00,746582.24,347527.92,173763.96 +24-10-2019 12:00,1051653.84,489536.24,244768.12 +24-10-2019 13:00,351064.04,163417.44,81708.72 +24-10-2019 14:00,487907.28,227116.86,113558.43 +24-10-2019 15:00,616891.96,287158.18,143579.09 +24-10-2019 16:00,1009731.92,470022.0,235011 +24-10-2019 17:00,8166260.48,3801328.0,1900664 +24-10-2019 18:00,2718470.4,1265425.76,632712.88 +24-10-2019 19:00,2638210.4,1228065.44,614032.72 +24-10-2019 20:00,3120644.48,1452634.72,726317.36 +24-10-2019 21:00,1657811.84,771697.92,385848.96 +24-10-2019 22:00,495752.96,230768.96,115384.48 +24-10-2019 23:00,481437.68,224105.3,112052.65 +25-10-2019 00:00,469891.32,218730.58,109365.29 +25-10-2019 01:00,465020.96,216463.48,108231.74 +25-10-2019 02:00,470146.56,218849.4,109424.7 +25-10-2019 03:00,488868.48,227564.3,113782.15 +25-10-2019 04:00,500107.6,232795.98,116397.99 +25-10-2019 05:00,507258.72,236124.78,118062.39 +25-10-2019 06:00,2576844.0,1199499.76,599749.88 +25-10-2019 07:00,4586023.04,2134755.84,1067377.92 +25-10-2019 08:00,6306145.28,2935459.52,1467729.76 +25-10-2019 09:00,3635181.76,1692147.52,846073.76 +25-10-2019 10:00,454553.24,211590.82,105795.41 +25-10-2019 11:00,803205.52,373885.64,186942.82 +25-10-2019 12:00,1243332.64,578761.28,289380.64 +25-10-2019 13:00,644878.68,300185.76,150092.88 +25-10-2019 14:00,710228.96,330605.8,165302.9 +25-10-2019 15:00,819545.84,381491.92,190745.96 +25-10-2019 16:00,1609530.88,749223.44,374611.72 +25-10-2019 17:00,9030236.16,4203501.12,2101750.56 +25-10-2019 18:00,3073286.08,1430589.6,715294.8 +25-10-2019 19:00,2951685.44,1373985.44,686992.72 +25-10-2019 20:00,2882837.12,1341937.12,670968.56 +25-10-2019 21:00,1485633.76,691550.4,345775.2 +25-10-2019 22:00,440585.8,205089.08,102544.54 +25-10-2019 23:00,404946.32,188499.2,94249.6 +26-10-2019 00:00,385869.92,179619.3,89809.65 +26-10-2019 01:00,386711.08,180010.84,90005.42 +26-10-2019 02:00,367672.0,171148.3,85574.15 +26-10-2019 03:00,356730.0,166054.92,83027.46 +26-10-2019 04:00,360632.16,167871.34,83935.67 +26-10-2019 05:00,379753.44,176772.14,88386.07 +26-10-2019 06:00,1590086.08,740172.08,370086.04 +26-10-2019 07:00,3966782.4,1846504.96,923252.48 +26-10-2019 08:00,7885251.2,3670520.0,1835260 +26-10-2019 09:00,5342190.4,2486745.92,1243372.96 +26-10-2019 10:00,1188364.24,553173.84,276586.92 +26-10-2019 11:00,206941.9,96329.78,48164.89 +26-10-2019 12:00,785784.24,365776.16,182888.08 +26-10-2019 13:00,63584.06,29597.86,14798.93 +26-10-2019 14:00,80645.28,37539.72,18769.86 +26-10-2019 15:00,113575.28,52868.36,26434.18 +26-10-2019 16:00,1069002.16,497611.8,248805.9 +26-10-2019 17:00,1761506.4,819966.88,409983.44 +26-10-2019 18:00,2010089.44,935680.24,467840.12 +26-10-2019 19:00,2120929.92,987275.6,493637.8 +26-10-2019 20:00,1529764.48,712092.96,356046.48 +26-10-2019 21:00,606189.68,282176.36,141088.18 +26-10-2019 22:00,291323.28,135608.6,67804.3 +26-10-2019 23:00,381206.68,177448.6,88724.3 +27-10-2019 00:00,453299.36,211007.16,105503.58 +27-10-2019 01:00,487771.76,227053.78,113526.89 +27-10-2019 02:00,502897.6,234094.72,117047.36 +27-10-2019 03:00,505067.52,235104.8,117552.4 +27-10-2019 04:00,518960.32,241571.8,120785.9 +27-10-2019 05:00,549726.56,255893.24,127946.62 +27-10-2019 06:00,634953.84,295565.82,147782.91 +27-10-2019 07:00,2144349.12,998177.12,499088.56 +27-10-2019 08:00,4928129.28,2294004.16,1147002.08 +27-10-2019 09:00,8019885.44,3733191.04,1866595.52 +27-10-2019 10:00,6889194.24,3206864.0,1603432 +27-10-2019 11:00,2588715.84,1205026.0,602513 +27-10-2019 12:00,2320214.88,1080041.04,540020.52 +27-10-2019 13:00,1281814.08,596673.96,298336.98 +27-10-2019 14:00,675818.24,314587.9,157293.95 +27-10-2019 15:00,676511.44,314910.52,157455.26 +27-10-2019 16:00,2891272.32,1345863.68,672931.84 +27-10-2019 17:00,3602415.68,1676895.04,838447.52 +27-10-2019 18:00,3801553.6,1769592.0,884796 +27-10-2019 19:00,3865088.64,1799167.2,899583.6 +27-10-2019 20:00,3924519.68,1826831.84,913415.92 +27-10-2019 21:00,3132942.72,1458359.36,729179.68 +27-10-2019 22:00,1307041.04,608417.04,304208.52 +27-10-2019 23:00,757527.92,352623.08,176311.54 +28-10-2019 00:00,762851.76,355101.24,177550.62 +28-10-2019 01:00,819578.8,381507.24,190753.62 +28-10-2019 02:00,845364.24,393510.12,196755.06 +28-10-2019 03:00,1026203.12,477689.2,238844.6 +28-10-2019 04:00,1355398.24,630926.8,315463.4 +28-10-2019 05:00,1514654.56,705059.36,352529.68 +28-10-2019 06:00,1740975.36,810409.84,405204.92 +28-10-2019 07:00,4868007.36,2266017.76,1133008.88 +28-10-2019 08:00,6011096.96,2798116.8,1399058.4 +28-10-2019 09:00,7236110.08,3368350.4,1684175.2 +28-10-2019 10:00,4480422.72,2085600.32,1042800.16 +28-10-2019 11:00,482122.56,224424.12,112212.06 +28-10-2019 12:00,1338213.28,622927.44,311463.72 +28-10-2019 13:00,953868.88,444018.2,222009.1 +28-10-2019 14:00,987593.28,459716.6,229858.3 +28-10-2019 15:00,654403.88,304619.62,152309.81 +28-10-2019 16:00,3087901.44,1437392.96,718696.48 +28-10-2019 17:00,3605644.16,1678397.92,839198.96 +28-10-2019 18:00,11578030.08,5389477.76,2694738.88 +28-10-2019 19:00,5412193.92,2519331.84,1259665.92 +28-10-2019 20:00,4916569.28,2288622.88,1144311.44 +28-10-2019 21:00,5009052.8,2331673.12,1165836.56 +28-10-2019 22:00,2686851.2,1250707.28,625353.64 +28-10-2019 23:00,850765.12,396024.2,198012.1 +29-10-2019 00:00,856436.96,398664.44,199332.22 +29-10-2019 01:00,839863.2,390949.48,195474.74 +29-10-2019 02:00,838731.84,390422.8,195211.4 +29-10-2019 03:00,848512.0,394975.44,197487.72 +29-10-2019 04:00,1276082.48,594006.04,297003.02 +29-10-2019 05:00,1576897.92,734033.12,367016.56 +29-10-2019 06:00,2129971.68,991484.4,495742.2 +29-10-2019 07:00,5598099.2,2605869.44,1302934.72 +29-10-2019 08:00,6509072.64,3029920.0,1514960 +29-10-2019 09:00,7417726.08,3452890.88,1726445.44 +29-10-2019 10:00,4275316.48,1990124.8,995062.4 +29-10-2019 11:00,591975.72,275559.84,137779.92 +29-10-2019 12:00,1632355.04,759848.0,379924 +29-10-2019 13:00,719952.4,335131.98,167565.99 +29-10-2019 14:00,1128645.28,525375.2,262687.6 +29-10-2019 15:00,711103.84,331013.06,165506.53 +29-10-2019 16:00,3112757.76,1448963.36,724481.68 +29-10-2019 17:00,3801088.96,1769375.84,884687.92 +29-10-2019 18:00,12010309.12,5590700.8,2795350.4 +29-10-2019 19:00,5922775.68,2757003.84,1378501.92 +29-10-2019 20:00,5169000.96,2406128.0,1203064 +29-10-2019 21:00,5300501.44,2467340.16,1233670.08 +29-10-2019 22:00,2898792.64,1349364.32,674682.16 +29-10-2019 23:00,941969.76,438479.28,219239.64 +30-10-2019 00:00,939689.68,437417.92,218708.96 +30-10-2019 01:00,975998.72,454319.44,227159.72 +30-10-2019 02:00,959392.0,446589.2,223294.6 +30-10-2019 03:00,1260627.2,586811.72,293405.86 +30-10-2019 04:00,1699215.52,790970.96,395485.48 +30-10-2019 05:00,2081063.04,968717.92,484358.96 +30-10-2019 06:00,2367606.88,1102101.68,551050.84 +30-10-2019 07:00,6473395.2,3013312.64,1506656.32 +30-10-2019 08:00,7142534.4,3324791.68,1662395.84 +30-10-2019 09:00,7919134.72,3686292.8,1843146.4 +30-10-2019 10:00,5270434.56,2453344.48,1226672.24 +30-10-2019 11:00,999176.96,465108.72,232554.36 +30-10-2019 12:00,2216798.88,1031901.84,515950.92 +30-10-2019 13:00,910984.72,424056.0,212028 +30-10-2019 14:00,419373.4,195214.88,97607.44 +30-10-2019 15:00,835240.48,388797.6,194398.8 +30-10-2019 16:00,3648346.56,1698275.68,849137.84 +30-10-2019 17:00,4453324.16,2072986.4,1036493.2 +30-10-2019 18:00,12570758.4,5851585.28,2925792.64 +30-10-2019 19:00,7046600.32,3280135.36,1640067.68 +30-10-2019 20:00,5790264.96,2695320.96,1347660.48 +30-10-2019 21:00,5831092.48,2714326.08,1357163.04 +30-10-2019 22:00,3169796.16,1475514.24,737757.12 +30-10-2019 23:00,1026555.68,477853.28,238926.64 +31-10-2019 00:00,1011726.56,470950.52,235475.26 +31-10-2019 01:00,1037301.36,482855.32,241427.66 +31-10-2019 02:00,1068224.24,497249.68,248624.84 +31-10-2019 03:00,1711370.56,796628.96,398314.48 +31-10-2019 04:00,2136047.04,994312.56,497156.28 +31-10-2019 05:00,2381459.68,1108550.08,554275.04 +31-10-2019 06:00,2740846.72,1275841.76,637920.88 +31-10-2019 07:00,7209854.72,3356128.32,1678064.16 +31-10-2019 08:00,7531399.04,3505804.8,1752902.4 +31-10-2019 09:00,8318295.68,3872098.88,1936049.44 +31-10-2019 10:00,6454755.2,3004635.84,1502317.92 +31-10-2019 11:00,2416988.8,1125088.64,562544.32 +31-10-2019 12:00,2725807.04,1268840.8,634420.4 +31-10-2019 13:00,1195100.08,556309.32,278154.66 +31-10-2019 14:00,1176131.6,547479.68,273739.84 +31-10-2019 15:00,1852526.88,862336.24,431168.12 +31-10-2019 16:00,4988316.8,2322020.8,1161010.4 +31-10-2019 17:00,5157507.84,2400777.76,1200388.88 +31-10-2019 18:00,13410182.4,6242330.88,3121165.44 +31-10-2019 19:00,8394024.32,3907349.76,1953674.88 +31-10-2019 20:00,6451521.28,3003130.24,1501565.12 +31-10-2019 21:00,6385098.88,2972211.52,1486105.76 +31-10-2019 22:00,3567689.6,1660730.4,830365.2 +31-10-2019 23:00,1155934.96,538078.24,269039.12 +1-11-2019 00:00,1141652.0,531429.64,265714.82 +1-11-2019 01:00,1106856.08,515232.48,257616.24 +1-11-2019 02:00,1364262.4,635053.04,317526.52 +1-11-2019 03:00,1963609.44,914044.16,457022.08 +1-11-2019 04:00,2252542.72,1048540.16,524270.08 +1-11-2019 05:00,2423782.72,1128251.12,564125.56 +1-11-2019 06:00,2554503.2,1189100.32,594550.16 +1-11-2019 07:00,7075237.76,3293465.6,1646732.8 +1-11-2019 08:00,7470324.48,3477375.04,1738687.52 +1-11-2019 09:00,9736089.6,4532069.76,2266034.88 +1-11-2019 10:00,7953419.52,3702252.16,1851126.08 +1-11-2019 11:00,3195511.04,1487484.32,743742.16 +1-11-2019 12:00,3866066.56,1799622.24,899811.12 +1-11-2019 13:00,2909616.0,1354402.4,677201.2 +1-11-2019 14:00,2303995.84,1072491.36,536245.68 +1-11-2019 15:00,2695776.96,1254862.16,627431.08 +1-11-2019 16:00,5092963.52,2370732.96,1185366.48 +1-11-2019 17:00,4325411.2,2013443.68,1006721.84 +1-11-2019 18:00,12650432.0,5888673.28,2944336.64 +1-11-2019 19:00,7661358.08,3566299.52,1783149.76 +1-11-2019 20:00,4942539.52,2300711.84,1150355.92 +1-11-2019 21:00,4720675.2,2197435.52,1098717.76 +1-11-2019 22:00,2428406.24,1130403.44,565201.72 +1-11-2019 23:00,687890.16,320207.28,160103.64 +2-11-2019 00:00,659123.72,306816.68,153408.34 +2-11-2019 01:00,640560.6,298175.72,149087.86 +2-11-2019 02:00,621891.48,289485.42,144742.71 +2-11-2019 03:00,612485.12,285106.82,142553.41 +2-11-2019 04:00,607077.96,282589.82,141294.91 +2-11-2019 05:00,617156.6,287281.38,143640.69 +2-11-2019 06:00,941367.52,438198.92,219099.46 +2-11-2019 07:00,2703144.64,1258292.0,629146 +2-11-2019 08:00,5816279.04,2707430.4,1353715.2 +2-11-2019 09:00,10281747.84,4786070.4,2393035.2 +2-11-2019 10:00,9253284.48,4307328.64,2153664.32 +2-11-2019 11:00,3693631.36,1719355.2,859677.6 +2-11-2019 12:00,3732656.64,1737521.12,868760.56 +2-11-2019 13:00,2286800.48,1064487.2,532243.6 +2-11-2019 14:00,1297005.52,603745.48,301872.74 +2-11-2019 15:00,1701242.72,791914.64,395957.32 +2-11-2019 16:00,3866087.36,1799632.16,899816.08 +2-11-2019 17:00,4201906.88,1955953.44,977976.72 +2-11-2019 18:00,4251430.08,1979006.08,989503.04 +2-11-2019 19:00,4283038.72,1993719.68,996859.84 +2-11-2019 20:00,4332070.72,2016543.52,1008271.76 +2-11-2019 21:00,3308365.76,1540017.28,770008.64 +2-11-2019 22:00,1370962.08,638171.68,319085.84 +2-11-2019 23:00,687265.84,319916.6,159958.3 +3-11-2019 00:00,682184.24,317551.2,158775.6 +3-11-2019 01:00,679626.8,316360.78,158180.39 +3-11-2019 02:00,709304.32,330175.42,165087.71 +3-11-2019 03:00,750385.84,349298.48,174649.24 +3-11-2019 04:00,867262.32,403703.56,201851.78 +3-11-2019 05:00,1126359.36,524311.08,262155.54 +3-11-2019 06:00,1372374.08,638829.04,319414.52 +3-11-2019 07:00,3160416.96,1471148.32,735574.16 +3-11-2019 08:00,6230689.92,2900335.36,1450167.68 +3-11-2019 09:00,10872533.76,5061075.84,2530537.92 +3-11-2019 10:00,9119383.68,4244998.4,2122499.2 +3-11-2019 11:00,4300543.04,2001867.52,1000933.76 +3-11-2019 12:00,3747704.64,1744526.08,872263.04 +3-11-2019 13:00,2303296.64,1072165.76,536082.88 +3-11-2019 14:00,1873088.16,871907.2,435953.6 +3-11-2019 15:00,1946678.88,906163.12,453081.56 +3-11-2019 16:00,4105979.52,1911300.0,955650 +3-11-2019 17:00,4359549.44,2029334.56,1014667.28 +3-11-2019 18:00,4471319.68,2081362.72,1040681.36 +3-11-2019 19:00,4526211.84,2106914.56,1053457.28 +3-11-2019 20:00,4593321.92,2138153.6,1069076.8 +3-11-2019 21:00,3562626.88,1658373.76,829186.88 +3-11-2019 22:00,1539219.68,716494.08,358247.04 +3-11-2019 23:00,821844.4,382561.84,191280.92 +4-11-2019 00:00,830303.2,386499.32,193249.66 +4-11-2019 01:00,826542.96,384749.04,192374.52 +4-11-2019 02:00,798479.36,371685.64,185842.82 +4-11-2019 03:00,778796.88,362523.6,181261.8 +4-11-2019 04:00,930259.6,433028.24,216514.12 +4-11-2019 05:00,1098123.28,511167.36,255583.68 +4-11-2019 06:00,1330376.8,619279.56,309639.78 +4-11-2019 07:00,4472429.12,2081879.2,1040939.6 +4-11-2019 08:00,5959098.88,2773912.0,1386956 +4-11-2019 09:00,8054639.36,3749368.64,1874684.32 +4-11-2019 10:00,5479085.44,2550469.44,1275234.72 +4-11-2019 11:00,1807600.32,841423.2,420711.6 +4-11-2019 12:00,2749522.56,1279880.16,639940.08 +4-11-2019 13:00,1944822.4,905298.88,452649.44 +4-11-2019 14:00,1387962.56,646085.2,323042.6 +4-11-2019 15:00,1791804.64,834070.48,417035.24 +4-11-2019 16:00,4122958.4,1919203.36,959601.68 +4-11-2019 17:00,3729968.64,1736269.92,868134.96 +4-11-2019 18:00,12031813.12,5600711.04,2800355.52 +4-11-2019 19:00,5633427.2,2622314.4,1311157.2 +4-11-2019 20:00,4577131.84,2130617.44,1065308.72 +4-11-2019 21:00,4533519.04,2110316.16,1055158.08 +4-11-2019 22:00,2386008.96,1110667.84,555333.92 +4-11-2019 23:00,711889.36,331378.66,165689.33 +5-11-2019 00:00,696949.12,324424.14,162212.07 +5-11-2019 01:00,703167.6,327318.76,163659.38 +5-11-2019 02:00,712108.56,331480.72,165740.36 +5-11-2019 03:00,744418.56,346520.76,173260.38 +5-11-2019 04:00,750998.72,349583.76,174791.88 +5-11-2019 05:00,1012005.36,471080.24,235540.12 +5-11-2019 06:00,1322801.52,615753.36,307876.68 +5-11-2019 07:00,4515483.52,2101920.64,1050960.32 +5-11-2019 08:00,6029129.6,2806510.72,1403255.36 +5-11-2019 09:00,8156781.44,3796914.88,1898457.44 +5-11-2019 10:00,5659265.92,2634342.08,1317171.04 +5-11-2019 11:00,2034295.68,946948.0,473474 +5-11-2019 12:00,2892865.6,1346605.28,673302.64 +5-11-2019 13:00,2053804.96,956029.44,478014.72 +5-11-2019 14:00,1585730.72,738144.72,369072.36 +5-11-2019 15:00,2102977.12,978918.72,489459.36 +5-11-2019 16:00,4335125.12,2017965.44,1008982.72 +5-11-2019 17:00,3825560.96,1780767.52,890383.76 +5-11-2019 18:00,12290274.56,5721022.72,2860511.36 +5-11-2019 19:00,6106182.4,2842378.24,1421189.12 +5-11-2019 20:00,4734362.88,2203807.2,1101903.6 +5-11-2019 21:00,4617920.32,2149604.0,1074802 +5-11-2019 22:00,2439891.36,1135749.52,567874.76 +5-11-2019 23:00,726139.2,338011.88,169005.94 +6-11-2019 00:00,712133.84,331492.5,165746.25 +6-11-2019 01:00,714251.12,332478.06,166239.03 +6-11-2019 02:00,719820.08,335070.4,167535.2 +6-11-2019 03:00,731836.56,340663.92,170331.96 +6-11-2019 04:00,741852.64,345326.4,172663.2 +6-11-2019 05:00,1025350.32,477292.24,238646.12 +6-11-2019 06:00,1351763.36,629234.88,314617.44 +6-11-2019 07:00,4575539.2,2129876.48,1064938.24 +6-11-2019 08:00,6177180.8,2875427.2,1437713.6 +6-11-2019 09:00,8379870.08,3900761.28,1950380.64 +6-11-2019 10:00,5827921.28,2712849.6,1356424.8 +6-11-2019 11:00,1768499.68,823222.08,411611.04 +6-11-2019 12:00,2522985.28,1174429.04,587214.52 +6-11-2019 13:00,2052753.6,955540.08,477770.04 +6-11-2019 14:00,1592821.28,741445.36,370722.68 +6-11-2019 15:00,2199676.48,1023931.52,511965.76 +6-11-2019 16:00,4672064.0,2174807.36,1087403.68 +6-11-2019 17:00,4279121.6,1991896.16,995948.08 +6-11-2019 18:00,12554465.28,5844001.28,2922000.64 +6-11-2019 19:00,6591144.96,3068124.16,1534062.08 +6-11-2019 20:00,5112616.64,2379881.6,1189940.8 +6-11-2019 21:00,5054389.76,2352777.12,1176388.56 +6-11-2019 22:00,2659930.4,1238175.92,619087.96 +6-11-2019 23:00,804993.12,374717.76,187358.88 +7-11-2019 00:00,795871.76,370471.8,185235.9 +7-11-2019 01:00,781788.64,363916.24,181958.12 +7-11-2019 02:00,798234.16,371571.44,185785.72 +7-11-2019 03:00,806786.0,375552.32,187776.16 +7-11-2019 04:00,953158.64,443687.56,221843.78 +7-11-2019 05:00,1251154.32,582402.16,291201.08 +7-11-2019 06:00,1529911.68,712161.28,356080.64 +7-11-2019 07:00,4883734.4,2273338.56,1136669.28 +7-11-2019 08:00,6353178.24,2957352.64,1478676.32 +7-11-2019 09:00,8669832.96,4035736.64,2017868.32 +7-11-2019 10:00,6122537.6,2849991.36,1424995.68 +7-11-2019 11:00,2251641.28,1048120.72,524060.36 +7-11-2019 12:00,3123488.0,1453958.24,726979.12 +7-11-2019 13:00,2397768.48,1116141.76,558070.88 +7-11-2019 14:00,1942717.12,904318.96,452159.48 +7-11-2019 15:00,2433213.12,1132640.88,566320.44 +7-11-2019 16:00,4689504.32,2182926.08,1091463.04 +7-11-2019 17:00,4129506.88,1922251.84,961125.92 +7-11-2019 18:00,12525324.8,5830435.84,2915217.92 +7-11-2019 19:00,6944322.56,3232525.44,1616262.72 +7-11-2019 20:00,5234193.28,2436474.08,1218237.04 +7-11-2019 21:00,5242615.36,2440394.72,1220197.36 +7-11-2019 22:00,2816698.88,1311150.24,655575.12 +7-11-2019 23:00,874181.68,406924.48,203462.24 +8-11-2019 00:00,868169.44,404125.76,202062.88 +8-11-2019 01:00,892286.56,415352.08,207676.04 +8-11-2019 02:00,907578.88,422470.6,211235.3 +8-11-2019 03:00,993650.0,462535.96,231267.98 +8-11-2019 04:00,1585742.72,738150.32,369075.16 +8-11-2019 05:00,1900710.88,884765.44,442382.72 +8-11-2019 06:00,2318501.76,1079243.52,539621.76 +8-11-2019 07:00,6332517.76,2947735.68,1473867.84 +8-11-2019 08:00,7247957.76,3373864.96,1686932.48 +8-11-2019 09:00,8256764.8,3843456.64,1921728.32 +8-11-2019 10:00,5563509.76,2589768.32,1294884.16 +8-11-2019 11:00,1369662.56,637566.76,318783.38 +8-11-2019 12:00,2713704.32,1263207.28,631603.64 +8-11-2019 13:00,1427984.96,664715.32,332357.66 +8-11-2019 14:00,797573.12,371263.8,185631.9 +8-11-2019 15:00,1801340.64,838509.36,419254.68 +8-11-2019 16:00,4869927.36,2266911.36,1133455.68 +8-11-2019 17:00,4879346.24,2271295.68,1135647.84 +8-11-2019 18:00,13127296.0,6110649.6,3055324.8 +8-11-2019 19:00,8085187.2,3763588.48,1881794.24 +8-11-2019 20:00,6255068.8,2911683.2,1455841.6 +8-11-2019 21:00,5975482.88,2781538.24,1390769.12 +8-11-2019 22:00,3122138.56,1453329.76,726664.88 +8-11-2019 23:00,995484.4,463389.88,231694.94 +9-11-2019 00:00,979682.88,456034.4,228017.2 +9-11-2019 01:00,966774.4,450025.6,225012.8 +9-11-2019 02:00,950400.24,442403.6,221201.8 +9-11-2019 03:00,1263431.68,588117.12,294058.56 +9-11-2019 04:00,1624922.56,756388.16,378194.08 +9-11-2019 05:00,1877507.52,873964.32,436982.16 +9-11-2019 06:00,2057268.0,957641.44,478820.72 +9-11-2019 07:00,3786907.52,1762774.4,881387.2 +9-11-2019 08:00,6994602.88,3255930.88,1627965.44 +9-11-2019 09:00,12390494.72,5767674.24,2883837.12 +9-11-2019 10:00,11782572.8,5484691.2,2742345.6 +9-11-2019 11:00,5593899.52,2603914.24,1301957.12 +9-11-2019 12:00,4848884.16,2257116.16,1128558.08 +9-11-2019 13:00,3022638.08,1407013.44,703506.72 +9-11-2019 14:00,2824890.24,1314963.28,657481.64 +9-11-2019 15:00,2754151.68,1282035.12,641017.56 +9-11-2019 16:00,5049414.4,2350461.44,1175230.72 +9-11-2019 17:00,5403935.36,2515487.84,1257743.92 +9-11-2019 18:00,5611360.64,2612043.04,1306021.52 +9-11-2019 19:00,5625592.96,2618667.68,1309333.84 +9-11-2019 20:00,5712153.6,2658960.96,1329480.48 +9-11-2019 21:00,4504277.44,2096704.32,1048352.16 +9-11-2019 22:00,2065973.92,961694.0,480847 +9-11-2019 23:00,1252061.12,582824.28,291412.14 +10-11-2019 00:00,1347034.08,627033.4,313516.7 +10-11-2019 01:00,1370382.08,637901.68,318950.84 +10-11-2019 02:00,1774766.72,826139.36,413069.68 +10-11-2019 03:00,2196428.96,1022419.76,511209.88 +10-11-2019 04:00,2559600.16,1191472.88,595736.44 +10-11-2019 05:00,2676065.6,1245686.64,622843.32 +10-11-2019 06:00,3020717.76,1406119.52,703059.76 +10-11-2019 07:00,4799187.84,2233982.88,1116991.44 +10-11-2019 08:00,7868673.92,3662803.52,1831401.76 +10-11-2019 09:00,12866053.12,5989043.2,2994521.6 +10-11-2019 10:00,12001843.2,5586760.32,2793380.16 +10-11-2019 11:00,4880744.0,2271946.56,1135973.28 +10-11-2019 12:00,4833395.52,2249906.08,1124953.04 +10-11-2019 13:00,2236179.2,1040923.2,520461.6 +10-11-2019 14:00,1364432.16,635132.0,317566 +10-11-2019 15:00,1623269.12,755618.56,377809.28 +10-11-2019 16:00,5608128.64,2610538.08,1305269.04 +10-11-2019 17:00,6575392.0,3060791.68,1530395.84 +10-11-2019 18:00,6893105.28,3208684.48,1604342.24 +10-11-2019 19:00,7121608.96,3315050.24,1657525.12 +10-11-2019 20:00,7190895.36,3347303.36,1673651.68 +10-11-2019 21:00,5690689.28,2648969.28,1324484.64 +10-11-2019 22:00,2593061.28,1207048.96,603524.48 +10-11-2019 23:00,1509797.92,702798.56,351399.28 +11-11-2019 00:00,1564711.68,728360.56,364180.28 +11-11-2019 01:00,1784239.04,830548.56,415274.28 +11-11-2019 02:00,2154126.88,1002728.32,501364.16 +11-11-2019 03:00,2446565.44,1138856.24,569428.12 +11-11-2019 04:00,2626907.68,1222804.16,611402.08 +11-11-2019 05:00,2697638.08,1255728.48,627864.24 +11-11-2019 06:00,2958496.32,1377155.84,688577.92 +11-11-2019 07:00,7786223.36,3624423.68,1812211.84 +11-11-2019 08:00,7886299.52,3671007.68,1835503.84 +11-11-2019 09:00,10232659.2,4763220.16,2381610.08 +11-11-2019 10:00,8476954.24,3945953.28,1972976.64 +11-11-2019 11:00,3558428.8,1656419.52,828209.76 +11-11-2019 12:00,4123141.12,1919288.48,959644.24 +11-11-2019 13:00,3344526.72,1556850.08,778425.04 +11-11-2019 14:00,3033952.96,1412280.32,706140.16 +11-11-2019 15:00,3711676.8,1727755.36,863877.68 +11-11-2019 16:00,5928774.4,2759796.16,1379898.08 +11-11-2019 17:00,5147106.88,2395936.0,1197968 +11-11-2019 18:00,13556756.48,6310559.36,3155279.68 +11-11-2019 19:00,9107934.72,4239669.44,2119834.72 +11-11-2019 20:00,6220791.68,2895727.68,1447863.84 +11-11-2019 21:00,6172419.84,2873211.2,1436605.6 +11-11-2019 22:00,3319936.96,1545403.52,772701.76 +11-11-2019 23:00,1115001.36,519024.0,259512 +12-11-2019 00:00,1108701.2,516091.32,258045.66 +12-11-2019 01:00,1098229.76,511216.96,255608.48 +12-11-2019 02:00,1143939.44,532494.44,266247.22 +12-11-2019 03:00,1706812.64,794507.36,397253.68 +12-11-2019 04:00,2099543.52,977320.4,488660.2 +12-11-2019 05:00,2332219.04,1085628.88,542814.44 +12-11-2019 06:00,2678054.4,1246612.4,623306.2 +12-11-2019 07:00,7049324.16,3281402.88,1640701.44 +12-11-2019 08:00,7815883.52,3638230.08,1819115.04 +12-11-2019 09:00,11515985.92,5360597.76,2680298.88 +12-11-2019 10:00,8830542.08,4110545.28,2055272.64 +12-11-2019 11:00,3853547.52,1793794.88,896897.44 +12-11-2019 12:00,4692567.36,2184351.84,1092175.92 +12-11-2019 13:00,3304349.76,1538147.84,769073.92 +12-11-2019 14:00,2817279.68,1311420.64,655710.32 +12-11-2019 15:00,5007395.52,2330901.6,1165450.8 +12-11-2019 16:00,6064407.04,2822932.16,1411466.08 +12-11-2019 17:00,5382694.4,2505600.32,1252800.16 +12-11-2019 18:00,13729894.4,6391153.92,3195576.96 +12-11-2019 19:00,9827249.92,4574505.28,2287252.64 +12-11-2019 20:00,6494135.04,3022966.72,1511483.36 +12-11-2019 21:00,6424269.44,2990445.12,1495222.56 +12-11-2019 22:00,3422085.44,1592952.96,796476.48 +12-11-2019 23:00,1136306.88,528941.64,264470.82 +13-11-2019 00:00,1115360.0,519190.92,259595.46 +13-11-2019 01:00,1107769.76,515657.72,257828.86 +13-11-2019 02:00,1131134.64,526533.92,263266.96 +13-11-2019 03:00,1649263.52,767718.8,383859.4 +13-11-2019 04:00,2064883.36,961186.32,480593.16 +13-11-2019 05:00,2246722.24,1045830.8,522915.4 +13-11-2019 06:00,2553809.6,1188777.6,594388.8 +13-11-2019 07:00,6802051.84,3166299.52,1583149.76 +13-11-2019 08:00,7575120.0,3526156.8,1763078.4 +13-11-2019 09:00,11149946.88,5190209.6,2595104.8 +13-11-2019 10:00,8285039.36,3856618.24,1928309.12 +13-11-2019 11:00,3524522.56,1640636.64,820318.32 +13-11-2019 12:00,4263595.84,1984669.12,992334.56 +13-11-2019 13:00,3389289.92,1577686.72,788843.36 +13-11-2019 14:00,2970788.48,1382877.92,691438.96 +13-11-2019 15:00,5062960.32,2356766.88,1178383.44 +13-11-2019 16:00,6072292.48,2826602.24,1413301.12 +13-11-2019 17:00,5310362.24,2471930.24,1235965.12 +13-11-2019 18:00,13708313.6,6381109.12,3190554.56 +13-11-2019 19:00,10007784.32,4658541.44,2329270.72 +13-11-2019 20:00,6596723.84,3070721.28,1535360.64 +13-11-2019 21:00,6366616.32,2963607.68,1481803.84 +13-11-2019 22:00,3372173.12,1569719.04,784859.52 +13-11-2019 23:00,1154035.28,537193.96,268596.98 +14-11-2019 00:00,1126136.24,524207.2,262103.6 +14-11-2019 01:00,1136503.92,529033.32,264516.66 +14-11-2019 02:00,1183243.68,550790.28,275395.14 +14-11-2019 03:00,1766059.84,822086.4,411043.2 +14-11-2019 04:00,2236247.36,1040954.8,520477.4 +14-11-2019 05:00,2474868.48,1152031.12,576015.56 +14-11-2019 06:00,2716616.96,1264563.2,632281.6 +14-11-2019 07:00,7146725.12,3326742.72,1663371.36 +14-11-2019 08:00,7822891.52,3641492.48,1820746.24 +14-11-2019 09:00,11515457.28,5360351.04,2680175.52 +14-11-2019 10:00,8698884.48,4049260.16,2024630.08 +14-11-2019 11:00,3701017.6,1722793.6,861396.8 +14-11-2019 12:00,4263529.92,1984638.24,992319.12 +14-11-2019 13:00,3407229.76,1586037.6,793018.8 +14-11-2019 14:00,2964987.84,1380177.76,690088.88 +14-11-2019 15:00,5028661.76,2340800.8,1170400.4 +14-11-2019 16:00,5986737.92,2786777.6,1393388.8 +14-11-2019 17:00,5263849.6,2450279.36,1225139.68 +14-11-2019 18:00,13565070.08,6314430.08,3157215.04 +14-11-2019 19:00,9703724.8,4517004.8,2258502.4 +14-11-2019 20:00,6419630.08,2988285.12,1494142.56 +14-11-2019 21:00,6242285.44,2905732.8,1452866.4 +14-11-2019 22:00,3395607.36,1580627.52,790313.76 +14-11-2019 23:00,1152859.84,536646.84,268323.42 +15-11-2019 00:00,1154004.88,537179.88,268589.94 +15-11-2019 01:00,1164906.0,542254.2,271127.1 +15-11-2019 02:00,1223798.0,569667.96,284833.98 +15-11-2019 03:00,1856439.04,864157.2,432078.6 +15-11-2019 04:00,2368370.08,1102456.88,551228.44 +15-11-2019 05:00,2575076.64,1198677.12,599338.56 +15-11-2019 06:00,2862242.56,1332350.48,666175.24 +15-11-2019 07:00,7458616.96,3471925.44,1735962.72 +15-11-2019 08:00,8015108.48,3730967.68,1865483.84 +15-11-2019 09:00,11752852.48,5470857.6,2735428.8 +15-11-2019 10:00,9080401.28,4226852.48,2113426.24 +15-11-2019 11:00,4040187.2,1880674.08,940337.04 +15-11-2019 12:00,4613436.16,2147517.12,1073758.56 +15-11-2019 13:00,3775805.76,1757606.88,878803.44 +15-11-2019 14:00,3345812.16,1557448.32,778724.16 +15-11-2019 15:00,5463635.84,2543277.76,1271638.88 +15-11-2019 16:00,6408926.08,2983302.72,1491651.36 +15-11-2019 17:00,5658620.8,2634041.44,1317020.72 +15-11-2019 18:00,13826931.2,6436323.2,3218161.6 +15-11-2019 19:00,10043065.6,4674965.44,2337482.72 +15-11-2019 20:00,7034360.96,3274437.76,1637218.88 +15-11-2019 21:00,6564177.92,3055571.2,1527785.6 +15-11-2019 22:00,3553189.76,1653980.8,826990.4 +15-11-2019 23:00,1237692.4,576135.76,288067.88 +16-11-2019 00:00,1246996.8,580466.84,290233.42 +16-11-2019 01:00,1254781.04,584090.32,292045.16 +16-11-2019 02:00,1422888.0,662342.84,331171.42 +16-11-2019 03:00,2235505.92,1040609.76,520304.88 +16-11-2019 04:00,2617473.92,1218412.88,609206.44 +16-11-2019 05:00,2865508.16,1333870.88,666935.44 +16-11-2019 06:00,3128442.24,1456264.48,728132.24 +16-11-2019 07:00,4862074.56,2263256.16,1131628.08 +16-11-2019 08:00,8332922.88,3878907.52,1939453.76 +16-11-2019 09:00,15771269.12,7341397.12,3670698.56 +16-11-2019 10:00,15837472.0,7372214.4,3686107.2 +16-11-2019 11:00,7655825.28,3563724.16,1781862.08 +16-11-2019 12:00,6937795.84,3229487.36,1614743.68 +16-11-2019 13:00,4902171.52,2281920.96,1140960.48 +16-11-2019 14:00,4289744.96,1996841.28,998420.64 +16-11-2019 15:00,6227186.56,2898704.64,1449352.32 +16-11-2019 16:00,6728736.0,3132171.52,1566085.76 +16-11-2019 17:00,6934716.8,3228054.08,1614027.04 +16-11-2019 18:00,6895765.12,3209922.24,1604961.12 +16-11-2019 19:00,6675326.72,3107309.76,1553654.88 +16-11-2019 20:00,6578064.64,3062035.52,1531017.76 +16-11-2019 21:00,5111737.92,2379472.48,1189736.24 +16-11-2019 22:00,2320046.88,1079962.88,539981.44 +16-11-2019 23:00,1365085.28,635436.08,317718.04 +17-11-2019 00:00,1339114.24,623346.88,311673.44 +17-11-2019 01:00,1349538.56,628199.2,314099.6 +17-11-2019 02:00,1744696.0,812141.76,406070.88 +17-11-2019 03:00,2095992.64,975667.52,487833.76 +17-11-2019 04:00,2413740.16,1123576.16,561788.08 +17-11-2019 05:00,2896750.72,1348413.76,674206.88 +17-11-2019 06:00,3049615.36,1419570.88,709785.44 +17-11-2019 07:00,4787708.16,2228639.2,1114319.6 +17-11-2019 08:00,8273348.48,3851176.32,1925588.16 +17-11-2019 09:00,15771914.24,7341696.64,3670848.32 +17-11-2019 10:00,15383127.04,7160720.0,3580360 +17-11-2019 11:00,7147799.68,3327242.56,1663621.28 +17-11-2019 12:00,6596931.84,3070818.24,1535409.12 +17-11-2019 13:00,4541230.08,2113905.44,1056952.72 +17-11-2019 14:00,4100456.0,1908728.8,954364.4 +17-11-2019 15:00,6044841.6,2813824.32,1406912.16 +17-11-2019 16:00,6541713.28,3045114.24,1522557.12 +17-11-2019 17:00,6753532.8,3143714.56,1571857.28 +17-11-2019 18:00,6837518.08,3182808.96,1591404.48 +17-11-2019 19:00,6903591.04,3213565.44,1606782.72 +17-11-2019 20:00,6846979.2,3187212.8,1593606.4 +17-11-2019 21:00,5295240.32,2464891.04,1232445.52 +17-11-2019 22:00,2400865.76,1117583.36,558791.68 +17-11-2019 23:00,1410708.32,656673.08,328336.54 +18-11-2019 00:00,1425355.04,663491.04,331745.52 +18-11-2019 01:00,1432849.6,666979.8,333489.9 +18-11-2019 02:00,1915629.6,891710.0,445855 +18-11-2019 03:00,2208466.56,1028023.2,514011.6 +18-11-2019 04:00,2434106.72,1133056.8,566528.4 +18-11-2019 05:00,2577643.52,1199871.92,599935.96 +18-11-2019 06:00,2897534.08,1348778.4,674389.2 +18-11-2019 07:00,7610674.56,3542707.2,1771353.6 +18-11-2019 08:00,7997968.64,3722989.12,1861494.56 +18-11-2019 09:00,11751820.8,5470376.96,2735188.48 +18-11-2019 10:00,9027862.4,4202395.84,2101197.92 +18-11-2019 11:00,3877138.56,1804776.32,902388.16 +18-11-2019 12:00,4389285.12,2043176.48,1021588.24 +18-11-2019 13:00,3521324.8,1639148.0,819574 +18-11-2019 14:00,3148444.48,1465575.2,732787.6 +18-11-2019 15:00,5226115.84,2432714.4,1216357.2 +18-11-2019 16:00,6137420.16,2856919.04,1428459.52 +18-11-2019 17:00,5258701.76,2447882.88,1223941.44 +18-11-2019 18:00,13536183.04,6300983.04,3150491.52 +18-11-2019 19:00,9413527.04,4381920.96,2190960.48 +18-11-2019 20:00,6044532.48,2813680.64,1406840.32 +18-11-2019 21:00,6075259.52,2827984.0,1413992 +18-11-2019 22:00,3293187.84,1532952.0,766476 +18-11-2019 23:00,1125442.72,523884.48,261942.24 +19-11-2019 00:00,1099840.56,511966.84,255983.42 +19-11-2019 01:00,1112558.72,517886.96,258943.48 +19-11-2019 02:00,1147804.96,534293.76,267146.88 +19-11-2019 03:00,1581577.12,736211.36,368105.68 +19-11-2019 04:00,2066578.56,961975.44,480987.72 +19-11-2019 05:00,2287685.76,1064899.04,532449.52 +19-11-2019 06:00,2596000.8,1208417.12,604208.56 +19-11-2019 07:00,6989393.92,3253505.92,1626752.96 +19-11-2019 08:00,7853303.04,3655648.64,1827824.32 +19-11-2019 09:00,11499206.4,5352786.56,2676393.28 +19-11-2019 10:00,8050099.2,3747255.04,1873627.52 +19-11-2019 11:00,2699665.28,1256672.4,628336.2 +19-11-2019 12:00,4333965.44,2017425.28,1008712.64 +19-11-2019 13:00,3512220.8,1634909.92,817454.96 +19-11-2019 14:00,3208711.04,1493628.8,746814.4 +19-11-2019 15:00,5359476.48,2494792.96,1247396.48 +19-11-2019 16:00,6396162.56,2977361.6,1488680.8 +19-11-2019 17:00,5559530.24,2587916.0,1293958 +19-11-2019 18:00,13863484.16,6453338.88,3226669.44 +19-11-2019 19:00,10434128.64,4857001.92,2428500.96 +19-11-2019 20:00,7018467.84,3267039.36,1633519.68 +19-11-2019 21:00,7153005.44,3329665.92,1664832.96 +19-11-2019 22:00,3967016.0,1846613.44,923306.72 +19-11-2019 23:00,1362812.32,634378.04,317189.02 +20-11-2019 00:00,1384236.8,644350.88,322175.44 +20-11-2019 01:00,1548175.84,720663.2,360331.6 +20-11-2019 02:00,2215536.16,1031314.0,515657 +20-11-2019 03:00,2848343.68,1325880.88,662940.44 +20-11-2019 04:00,3201396.8,1490224.16,745112.08 +20-11-2019 05:00,3355381.12,1561902.4,780951.2 +20-11-2019 06:00,3684634.88,1715167.52,857583.76 +20-11-2019 07:00,9163472.64,4265521.6,2132760.8 +20-11-2019 08:00,9070009.6,4222015.68,2111007.84 +20-11-2019 09:00,12473518.08,5806320.0,2903160 +20-11-2019 10:00,9000250.24,4189543.04,2094771.52 +20-11-2019 11:00,3573744.0,1663548.8,831774.4 +20-11-2019 12:00,4832454.72,2249468.0,1124734 +20-11-2019 13:00,2757213.76,1283460.56,641730.28 +20-11-2019 14:00,2874686.4,1338143.2,669071.6 +20-11-2019 15:00,5723511.04,2664247.84,1332123.92 +20-11-2019 16:00,7145754.24,3326290.56,1663145.28 +20-11-2019 17:00,6527533.44,3038513.6,1519256.8 +20-11-2019 18:00,14415648.0,6710366.08,3355183.04 +20-11-2019 19:00,10796171.52,5025529.92,2512764.96 +20-11-2019 20:00,7852611.84,3655326.72,1827663.36 +20-11-2019 21:00,7236592.0,3368574.72,1684287.36 +20-11-2019 22:00,3900351.68,1815581.76,907790.88 +20-11-2019 23:00,1335971.04,621883.68,310941.84 +21-11-2019 00:00,1332120.96,620091.44,310045.72 +21-11-2019 01:00,1412536.8,657524.36,328762.18 +21-11-2019 02:00,1955900.8,910455.92,455227.96 +21-11-2019 03:00,2517973.92,1172096.32,586048.16 +21-11-2019 04:00,2803442.24,1304979.6,652489.8 +21-11-2019 05:00,2967523.84,1381358.08,690679.04 +21-11-2019 06:00,3301600.32,1536868.0,768434 +21-11-2019 07:00,8402430.72,3911262.4,1955631.2 +21-11-2019 08:00,8678821.12,4039920.0,2019960 +21-11-2019 09:00,12577457.92,5854704.0,2927352 +21-11-2019 10:00,10255987.2,4774078.72,2387039.36 +21-11-2019 11:00,4882408.32,2272721.12,1136360.56 +21-11-2019 12:00,5280507.2,2458032.96,1229016.48 +21-11-2019 13:00,4248193.28,1977499.2,988749.6 +21-11-2019 14:00,3889988.16,1810757.76,905378.88 +21-11-2019 15:00,6198640.64,2885416.64,1442708.32 +21-11-2019 16:00,7227852.8,3364506.24,1682253.12 +21-11-2019 17:00,6534811.52,3041901.12,1520950.56 +21-11-2019 18:00,14399239.68,6702728.96,3351364.48 +21-11-2019 19:00,10958839.04,5101249.92,2550624.96 +21-11-2019 20:00,7909035.52,3681591.68,1840795.84 +21-11-2019 21:00,7149671.68,3328113.92,1664056.96 +21-11-2019 22:00,3882865.92,1807442.4,903721.2 +21-11-2019 23:00,1308231.44,608971.0,304485.5 +22-11-2019 00:00,1276645.76,594268.2,297134.1 +22-11-2019 01:00,1299775.12,605034.72,302517.36 +22-11-2019 02:00,1613822.88,751221.36,375610.68 +22-11-2019 03:00,2207049.12,1027363.28,513681.64 +22-11-2019 04:00,2439232.0,1135442.48,567721.24 +22-11-2019 05:00,2601811.2,1211121.92,605560.96 +22-11-2019 06:00,2906744.0,1353065.6,676532.8 +22-11-2019 07:00,7620481.92,3547272.32,1773636.16 +22-11-2019 08:00,8124928.0,3782087.68,1891043.84 +22-11-2019 09:00,11894259.2,5536679.68,2768339.84 +22-11-2019 10:00,9110177.92,4240713.28,2120356.64 +22-11-2019 11:00,2844676.16,1324173.84,662086.92 +22-11-2019 12:00,3898680.32,1814803.84,907401.92 +22-11-2019 13:00,3352742.4,1560674.24,780337.12 +22-11-2019 14:00,2488733.92,1158485.36,579242.68 +22-11-2019 15:00,5083377.92,2366270.56,1183135.28 +22-11-2019 16:00,6263395.84,2915559.68,1457779.84 +22-11-2019 17:00,5481127.68,2551420.16,1275710.08 +22-11-2019 18:00,13847479.04,6445888.0,3222944 +22-11-2019 19:00,10126149.12,4713639.68,2356819.84 +22-11-2019 20:00,7197909.76,3350568.0,1675284 +22-11-2019 21:00,6704868.48,3121061.12,1560530.56 +22-11-2019 22:00,3573637.76,1663499.2,831749.6 +22-11-2019 23:00,1177835.68,548272.88,274136.44 +23-11-2019 00:00,1144761.6,532877.12,266438.56 +23-11-2019 01:00,1147565.92,534182.6,267091.3 +23-11-2019 02:00,1186962.88,552521.56,276260.78 +23-11-2019 03:00,1703932.8,793166.88,396583.44 +23-11-2019 04:00,2261347.68,1052638.88,526319.44 +23-11-2019 05:00,2534599.84,1179835.6,589917.8 +23-11-2019 06:00,2786342.4,1297019.76,648509.88 +23-11-2019 07:00,4500309.12,2094857.12,1047428.56 +23-11-2019 08:00,7965430.4,3707842.88,1853921.44 +23-11-2019 09:00,15297093.12,7120672.0,3560336 +23-11-2019 10:00,15418769.92,7177312.64,3588656.32 +23-11-2019 11:00,7381059.84,3435823.36,1717911.68 +23-11-2019 12:00,6754714.24,3144264.32,1572132.16 +23-11-2019 13:00,4714924.16,2194758.72,1097379.36 +23-11-2019 14:00,4096823.68,1907038.08,953519.04 +23-11-2019 15:00,5860069.76,2727814.72,1363907.36 +23-11-2019 16:00,6193445.12,2882997.76,1441498.88 +23-11-2019 17:00,6220515.84,2895599.68,1447799.84 +23-11-2019 18:00,6365463.68,2963070.72,1481535.36 +23-11-2019 19:00,6440152.32,2997838.4,1498919.2 +23-11-2019 20:00,6518081.28,3034113.92,1517056.96 +23-11-2019 21:00,5224650.88,2432032.16,1216016.08 +23-11-2019 22:00,2381641.6,1108634.64,554317.32 +23-11-2019 23:00,1396234.08,649935.68,324967.84 +24-11-2019 00:00,1375996.16,640515.0,320257.5 +24-11-2019 01:00,1429383.84,665366.52,332683.26 +24-11-2019 02:00,1960792.16,912732.8,456366.4 +24-11-2019 03:00,2450220.64,1140557.76,570278.88 +24-11-2019 04:00,2669463.84,1242613.68,621306.84 +24-11-2019 05:00,2928075.2,1362995.2,681497.6 +24-11-2019 06:00,3263218.88,1519001.76,759500.88 +24-11-2019 07:00,4901718.72,2281710.24,1140855.12 +24-11-2019 08:00,8234470.4,3833078.72,1916539.36 +24-11-2019 09:00,15688029.44,7302650.24,3651325.12 +24-11-2019 10:00,15512261.12,7220831.36,3610415.68 +24-11-2019 11:00,7488778.88,3485965.44,1742982.72 +24-11-2019 12:00,6547168.64,3047653.44,1523826.72 +24-11-2019 13:00,4346658.24,2023333.92,1011666.96 +24-11-2019 14:00,3916139.2,1822930.88,911465.44 +24-11-2019 15:00,5740844.8,2672316.48,1336158.24 +24-11-2019 16:00,6358392.32,2959779.84,1479889.92 +24-11-2019 17:00,6833352.32,3180869.76,1590434.88 +24-11-2019 18:00,6990791.68,3254156.48,1627078.24 +24-11-2019 19:00,6988167.68,3252934.72,1626467.36 +24-11-2019 20:00,6861543.68,3193992.64,1596996.32 +24-11-2019 21:00,5467734.4,2545185.28,1272592.64 +24-11-2019 22:00,2352595.04,1095113.76,547556.88 +24-11-2019 23:00,1376127.04,640575.92,320287.96 +25-11-2019 00:00,1339472.32,623513.44,311756.72 +25-11-2019 01:00,1354881.44,630686.28,315343.14 +25-11-2019 02:00,1729389.28,805016.64,402508.32 +25-11-2019 03:00,2018647.36,939663.84,469831.92 +25-11-2019 04:00,2269376.64,1056376.32,528188.16 +25-11-2019 05:00,2402665.76,1118421.36,559210.68 +25-11-2019 06:00,2667970.24,1241918.32,620959.16 +25-11-2019 07:00,7221801.6,3361689.6,1680844.8 +25-11-2019 08:00,7864376.32,3660802.88,1830401.44 +25-11-2019 09:00,11678627.84,5436305.92,2718152.96 +25-11-2019 10:00,9056156.16,4215567.04,2107783.52 +25-11-2019 11:00,3941007.68,1834506.88,917253.44 +25-11-2019 12:00,4185001.92,1948084.32,974042.16 +25-11-2019 13:00,2904563.84,1352050.56,676025.28 +25-11-2019 14:00,1574717.6,733018.32,366509.16 +25-11-2019 15:00,4609851.52,2145848.32,1072924.16 +25-11-2019 16:00,5938313.6,2764236.48,1382118.24 +25-11-2019 17:00,5312461.76,2472907.52,1236453.76 +25-11-2019 18:00,13565071.36,6314430.08,3157215.04 +25-11-2019 19:00,9252649.6,4307033.28,2153516.64 +25-11-2019 20:00,6220402.56,2895546.24,1447773.12 +25-11-2019 21:00,6140606.08,2858401.92,1429200.96 +25-11-2019 22:00,3305603.2,1538731.52,769365.76 +25-11-2019 23:00,1089739.52,507264.8,253632.4 +26-11-2019 00:00,1052913.92,490122.88,245061.44 +26-11-2019 01:00,1050576.64,489034.96,244517.48 +26-11-2019 02:00,1061686.8,494206.56,247103.28 +26-11-2019 03:00,1265340.96,589005.92,294502.96 +26-11-2019 04:00,1792823.2,834544.64,417272.32 +26-11-2019 05:00,1997121.44,929643.76,464821.88 +26-11-2019 06:00,2266047.36,1054826.56,527413.28 +26-11-2019 07:00,6115931.52,2846916.48,1423458.24 +26-11-2019 08:00,7341909.76,3417598.72,1708799.36 +26-11-2019 09:00,10998380.8,5119656.32,2559828.16 +26-11-2019 10:00,8013345.28,3730146.88,1865073.44 +26-11-2019 11:00,3156518.72,1469333.76,734666.88 +26-11-2019 12:00,3687181.76,1716352.96,858176.48 +26-11-2019 13:00,2862780.16,1332600.96,666300.48 +26-11-2019 14:00,2560119.68,1191714.88,595857.44 +26-11-2019 15:00,4512801.6,2100672.64,1050336.32 +26-11-2019 16:00,5455616.0,2539544.64,1269772.32 +26-11-2019 17:00,4565108.48,2125020.48,1062510.24 +26-11-2019 18:00,13004752.64,6053606.4,3026803.2 +26-11-2019 19:00,8254139.52,3842234.56,1921117.28 +26-11-2019 20:00,5378577.28,2503683.84,1251841.92 +26-11-2019 21:00,5254112.32,2445746.56,1222873.28 +26-11-2019 22:00,2812446.08,1309170.64,654585.32 +26-11-2019 23:00,910766.4,423954.36,211977.18 +27-11-2019 00:00,888480.72,413580.52,206790.26 +27-11-2019 01:00,877630.16,408529.64,204264.82 +27-11-2019 02:00,867258.48,403701.76,201850.88 +27-11-2019 03:00,882050.48,410587.32,205293.66 +27-11-2019 04:00,975416.64,454048.48,227024.24 +27-11-2019 05:00,1376452.32,640727.36,320363.68 +27-11-2019 06:00,1682106.4,783006.8,391503.4 +27-11-2019 07:00,5173227.52,2408095.2,1204047.6 +27-11-2019 08:00,6717710.72,3127039.68,1563519.84 +27-11-2019 09:00,10313647.36,4800919.04,2400459.52 +27-11-2019 10:00,7076018.56,3293828.48,1646914.24 +27-11-2019 11:00,2689057.28,1251734.24,625867.12 +27-11-2019 12:00,3320912.0,1545857.44,772928.72 +27-11-2019 13:00,2647399.36,1232342.8,616171.4 +27-11-2019 14:00,2359147.2,1098163.84,549081.92 +27-11-2019 15:00,4274551.68,1989768.96,994884.48 +27-11-2019 16:00,5164019.2,2403808.64,1201904.32 +27-11-2019 17:00,4290202.24,1997054.24,998527.12 +27-11-2019 18:00,12821177.6,5968153.6,2984076.8 +27-11-2019 19:00,7706151.68,3587150.72,1793575.36 +27-11-2019 20:00,5202102.08,2421536.16,1210768.08 +27-11-2019 21:00,5068671.04,2359425.12,1179712.56 +27-11-2019 22:00,2680184.16,1247603.76,623801.88 +27-11-2019 23:00,860887.12,400735.92,200367.96 +28-11-2019 00:00,841850.56,391874.56,195937.28 +28-11-2019 01:00,846267.2,393930.48,196965.24 +28-11-2019 02:00,850900.32,396087.16,198043.58 +28-11-2019 03:00,853519.76,397306.48,198653.24 +28-11-2019 04:00,861295.28,400925.92,200462.96 +28-11-2019 05:00,1215609.04,565856.16,282928.08 +28-11-2019 06:00,1564937.92,728465.76,364232.88 +28-11-2019 07:00,4918686.08,2289608.32,1144804.16 +28-11-2019 08:00,6631072.0,3086710.08,1543355.04 +28-11-2019 09:00,10317869.44,4802883.84,2401441.92 +28-11-2019 10:00,6995157.12,3256188.8,1628094.4 +28-11-2019 11:00,2773571.2,1291074.8,645537.4 +28-11-2019 12:00,3356962.24,1562638.4,781319.2 +28-11-2019 13:00,2614144.32,1216862.8,608431.4 +28-11-2019 14:00,2366778.4,1101715.84,550857.92 +28-11-2019 15:00,4249436.48,1978078.08,989039.04 +28-11-2019 16:00,5016600.0,2335186.56,1167593.28 +28-11-2019 17:00,4221675.2,1965155.2,982577.6 +28-11-2019 18:00,12800065.28,5958326.4,2979163.2 +28-11-2019 19:00,7758660.48,3611593.28,1805796.64 +28-11-2019 20:00,5330179.2,2481155.04,1240577.52 +28-11-2019 21:00,5270493.12,2453371.52,1226685.76 +28-11-2019 22:00,2870073.92,1335996.0,667998 +28-11-2019 23:00,928486.56,432202.96,216101.48 +29-11-2019 00:00,939676.96,437411.96,218705.98 +29-11-2019 01:00,982861.76,457514.08,228757.04 +29-11-2019 02:00,1068198.64,497237.72,248618.86 +29-11-2019 03:00,1102372.16,513145.32,256572.66 +29-11-2019 04:00,1674033.28,779248.88,389624.44 +29-11-2019 05:00,1857392.16,864600.8,432300.4 +29-11-2019 06:00,2350778.88,1094268.4,547134.2 +29-11-2019 07:00,6249341.44,2909017.28,1454508.64 +29-11-2019 08:00,7395694.72,3442635.52,1721317.76 +29-11-2019 09:00,10822528.0,5037798.72,2518899.36 +29-11-2019 10:00,8016095.36,3731427.2,1865713.6 +29-11-2019 11:00,2923885.12,1361044.48,680522.24 +29-11-2019 12:00,3633759.68,1691485.44,845742.72 +29-11-2019 13:00,3150584.32,1466571.2,733285.6 +29-11-2019 14:00,1775561.92,826509.6,413254.8 +29-11-2019 15:00,4641947.84,2160788.8,1080394.4 +29-11-2019 16:00,6051867.52,2817095.36,1408547.68 +29-11-2019 17:00,5063361.92,2356953.6,1178476.8 +29-11-2019 18:00,13453783.04,6262626.56,3131313.28 +29-11-2019 19:00,9673903.36,4503123.2,2251561.6 +29-11-2019 20:00,6814730.88,3172201.6,1586100.8 +29-11-2019 21:00,6829023.36,3178854.72,1589427.36 +29-11-2019 22:00,3691951.36,1718573.44,859286.72 +29-11-2019 23:00,1291402.08,601137.08,300568.54 +30-11-2019 00:00,1289614.48,600305.04,300152.52 +30-11-2019 01:00,1323625.76,616136.96,308068.48 +30-11-2019 02:00,1724153.92,802579.6,401289.8 +30-11-2019 03:00,2405262.4,1119629.92,559814.96 +30-11-2019 04:00,2768170.88,1288561.04,644280.52 +30-11-2019 05:00,3008659.2,1400506.24,700253.12 +30-11-2019 06:00,3156151.36,1469162.88,734581.44 +30-11-2019 07:00,4826637.76,2246760.32,1123380.16 +30-11-2019 08:00,8373715.84,3897896.64,1948948.32 +30-11-2019 09:00,15675662.08,7296892.8,3648446.4 +30-11-2019 10:00,14534766.08,6765815.68,3382907.84 +30-11-2019 11:00,6067070.08,2824171.52,1412085.76 +30-11-2019 12:00,5520426.24,2569713.44,1284856.72 +30-11-2019 13:00,3492530.88,1625744.64,812872.32 +30-11-2019 14:00,2759018.88,1284300.64,642150.32 +30-11-2019 15:00,5678695.04,2643386.4,1321693.2 +30-11-2019 16:00,6847450.88,3187432.96,1593716.48 +30-11-2019 17:00,7289769.6,3393328.32,1696664.16 +30-11-2019 18:00,7589160.96,3532692.8,1766346.4 +30-11-2019 19:00,7658768.0,3565094.08,1782547.04 +30-11-2019 20:00,7748448.0,3606839.36,1803419.68 +30-11-2019 21:00,6081386.88,2830835.84,1415417.92 +30-11-2019 22:00,2881284.8,1341214.48,670607.24 +30-11-2019 23:00,1760013.92,819272.16,409636.08 +1-12-2019 00:00,1733713.76,807029.6,403514.8 +1-12-2019 01:00,2232755.36,1039329.44,519664.72 +1-12-2019 02:00,2746989.44,1278701.2,639350.6 +1-12-2019 03:00,3052068.8,1420713.12,710356.56 +1-12-2019 04:00,3183497.28,1481892.16,740946.08 +1-12-2019 05:00,3469131.52,1614852.32,807426.16 +1-12-2019 06:00,3637906.56,1693415.68,846707.84 +1-12-2019 07:00,5514474.24,2566942.88,1283471.44 +1-12-2019 08:00,9056087.04,4215533.76,2107766.88 +1-12-2019 09:00,16590931.2,7722944.0,3861472 +1-12-2019 10:00,16881999.36,7858433.28,3929216.64 +1-12-2019 11:00,8698534.4,4049096.64,2024548.32 +1-12-2019 12:00,7615010.56,3544725.12,1772362.56 +1-12-2019 13:00,5674271.36,2641327.2,1320663.6 +1-12-2019 14:00,5135040.96,2390319.84,1195159.92 +1-12-2019 15:00,6858958.08,3192788.48,1596394.24 +1-12-2019 16:00,7268577.28,3383463.68,1691731.84 +1-12-2019 17:00,7742072.96,3603871.68,1801935.84 +1-12-2019 18:00,7982760.96,3715910.4,1857955.2 +1-12-2019 19:00,7777694.08,3620453.44,1810226.72 +1-12-2019 20:00,7695577.6,3582229.12,1791114.56 +1-12-2019 21:00,6022642.56,2803491.2,1401745.6 +1-12-2019 22:00,2949193.28,1372825.44,686412.72 +1-12-2019 23:00,1826511.52,850226.24,425113.12 +2-12-2019 00:00,1845138.56,858897.04,429448.52 +2-12-2019 01:00,2490548.8,1159330.24,579665.12 +2-12-2019 02:00,2988510.4,1391127.04,695563.52 +2-12-2019 03:00,3212236.48,1495269.76,747634.88 +2-12-2019 04:00,3399418.88,1582401.92,791200.96 +2-12-2019 05:00,3693804.48,1719435.84,859717.92 +2-12-2019 06:00,4087282.88,1902596.8,951298.4 +2-12-2019 07:00,9507313.28,4425576.64,2212788.32 +2-12-2019 08:00,8972395.52,4176577.28,2088288.64 +2-12-2019 09:00,12552102.4,5842901.12,2921450.56 +2-12-2019 10:00,9550081.92,4445485.76,2222742.88 +2-12-2019 11:00,3501808.96,1630063.52,815031.76 +2-12-2019 12:00,4580871.68,2132358.4,1066179.2 +2-12-2019 13:00,3764711.68,1752442.56,876221.28 +2-12-2019 14:00,3342823.36,1556057.12,778028.56 +2-12-2019 15:00,5534017.28,2576039.84,1288019.92 +2-12-2019 16:00,6544576.0,3046446.4,1523223.2 +2-12-2019 17:00,5749496.96,2676344.16,1338172.08 +2-12-2019 18:00,13928885.76,6483782.4,3241891.2 +2-12-2019 19:00,10180206.08,4738803.2,2369401.6 +2-12-2019 20:00,6894038.4,3209118.72,1604559.36 +2-12-2019 21:00,6506408.96,3028680.64,1514340.32 +2-12-2019 22:00,3500503.68,1629456.0,814728 +2-12-2019 23:00,1170254.8,544744.0,272372 +3-12-2019 00:00,1128814.48,525453.92,262726.96 +3-12-2019 01:00,1123704.56,523075.32,261537.66 +3-12-2019 02:00,1162731.2,541241.88,270620.94 +3-12-2019 03:00,1683779.36,783785.52,391892.76 +3-12-2019 04:00,2199408.96,1023807.04,511903.52 +3-12-2019 05:00,2737912.0,1274475.68,637237.84 +3-12-2019 06:00,3197184.96,1488263.52,744131.76 +3-12-2019 07:00,7997793.28,3722907.52,1861453.76 +3-12-2019 08:00,8402260.48,3911183.68,1955591.84 +3-12-2019 09:00,11867001.6,5523991.68,2761995.84 +3-12-2019 10:00,9229447.04,4296232.32,2148116.16 +3-12-2019 11:00,3166350.72,1473910.56,736955.28 +3-12-2019 12:00,4032184.0,1876948.96,938474.48 +3-12-2019 13:00,3063378.56,1425977.6,712988.8 +3-12-2019 14:00,2716111.68,1264327.76,632163.88 +3-12-2019 15:00,5446160.64,2535143.52,1267571.76 +3-12-2019 16:00,6641710.08,3091661.76,1545830.88 +3-12-2019 17:00,5886737.92,2740228.16,1370114.08 +3-12-2019 18:00,14095089.92,6561149.44,3280574.72 +3-12-2019 19:00,10432721.92,4856346.24,2428173.12 +3-12-2019 20:00,7289152.64,3393041.6,1696520.8 +3-12-2019 21:00,7032717.44,3273672.32,1636836.16 +3-12-2019 22:00,3815192.64,1775941.12,887970.56 +3-12-2019 23:00,1346160.16,626626.6,313313.3 +4-12-2019 00:00,1301690.4,605926.28,302963.14 +4-12-2019 01:00,1468316.64,683489.44,341744.72 +4-12-2019 02:00,2110782.72,982552.0,491276 +4-12-2019 03:00,2688936.64,1251678.24,625839.12 +4-12-2019 04:00,2925840.96,1361955.04,680977.52 +4-12-2019 05:00,3234774.4,1505761.12,752880.56 +4-12-2019 06:00,3560952.96,1657594.56,828797.28 +4-12-2019 07:00,8819036.16,4105189.12,2052594.56 +4-12-2019 08:00,9020635.52,4199032.32,2099516.16 +4-12-2019 09:00,12595708.16,5863199.36,2931599.68 +4-12-2019 10:00,9458097.92,4402666.56,2201333.28 +4-12-2019 11:00,3802895.04,1770216.48,885108.24 +4-12-2019 12:00,4500264.32,2094836.48,1047418.24 +4-12-2019 13:00,3120830.72,1452721.12,726360.56 +4-12-2019 14:00,2601443.84,1210950.96,605475.48 +4-12-2019 15:00,5555535.36,2586056.16,1293028.08 +4-12-2019 16:00,7269825.92,3384044.8,1692022.4 +4-12-2019 17:00,6616866.56,3080097.6,1540048.8 +4-12-2019 18:00,14710592.0,6847660.16,3423830.08 +4-12-2019 19:00,11389580.8,5301757.44,2650878.72 +4-12-2019 20:00,8627212.8,4015896.96,2007948.48 +4-12-2019 21:00,7954993.28,3702984.64,1851492.32 +4-12-2019 22:00,4346287.04,2023161.28,1011580.64 +4-12-2019 23:00,1498800.16,697679.28,348839.64 +5-12-2019 00:00,1573448.8,732427.68,366213.84 +5-12-2019 01:00,1789453.28,832975.92,416487.96 +5-12-2019 02:00,2596964.64,1208866.0,604433 +5-12-2019 03:00,3060940.16,1424842.72,712421.36 +5-12-2019 04:00,3331260.48,1550674.56,775337.28 +5-12-2019 05:00,3500847.36,1629616.0,814808 +5-12-2019 06:00,3792830.72,1765531.84,882765.92 +5-12-2019 07:00,9368529.28,4360974.08,2180487.04 +5-12-2019 08:00,9402607.36,4376837.44,2188418.72 +5-12-2019 09:00,13302785.28,6192338.56,3096169.28 +5-12-2019 10:00,11438014.72,5324302.4,2662151.2 +5-12-2019 11:00,6334925.44,2948856.32,1474428.16 +5-12-2019 12:00,6485976.96,3019169.28,1509584.64 +5-12-2019 13:00,5410259.2,2518431.84,1259215.92 +5-12-2019 14:00,4710599.68,2192745.92,1096372.96 +5-12-2019 15:00,6719281.92,3127771.52,1563885.76 +5-12-2019 16:00,7527183.36,3503842.24,1751921.12 +5-12-2019 17:00,6564341.12,3055647.36,1527823.68 +5-12-2019 18:00,14521704.96,6759735.04,3379867.52 +5-12-2019 19:00,11050769.92,5144043.84,2572021.92 +5-12-2019 20:00,8075594.24,3759123.52,1879561.76 +5-12-2019 21:00,7446857.6,3466451.52,1733225.76 +5-12-2019 22:00,3996877.44,1860513.6,930256.8 +5-12-2019 23:00,1316245.76,612701.68,306350.84 +6-12-2019 00:00,1293154.16,601952.68,300976.34 +6-12-2019 01:00,1321438.48,615118.76,307559.38 +6-12-2019 02:00,1693690.88,788399.28,394199.64 +6-12-2019 03:00,2305346.72,1073120.0,536560 +6-12-2019 04:00,2593525.44,1207264.8,603632.4 +6-12-2019 05:00,2777774.08,1293031.12,646515.56 +6-12-2019 06:00,3123946.56,1454171.68,727085.84 +6-12-2019 07:00,8048610.56,3746562.88,1873281.44 +6-12-2019 08:00,8455612.16,3936018.56,1968009.28 +6-12-2019 09:00,12428352.0,5785296.64,2892648.32 +6-12-2019 10:00,10110904.32,4706543.36,2353271.68 +6-12-2019 11:00,4870503.04,2267179.52,1133589.76 +6-12-2019 12:00,5220904.64,2430288.64,1215144.32 +6-12-2019 13:00,4244405.76,1975736.48,987868.24 +6-12-2019 14:00,3908826.88,1819527.04,909763.52 +6-12-2019 15:00,5926044.16,2758525.44,1379262.72 +6-12-2019 16:00,6754113.92,3143984.96,1571992.48 +6-12-2019 17:00,5801429.12,2700518.08,1350259.04 +6-12-2019 18:00,13836632.32,6440839.68,3220419.84 +6-12-2019 19:00,10033953.92,4670723.52,2335361.76 +6-12-2019 20:00,7005536.0,3261020.16,1630510.08 +6-12-2019 21:00,6183281.92,2878267.2,1439133.6 +6-12-2019 22:00,3339032.64,1554292.48,777146.24 +6-12-2019 23:00,1095644.16,510013.44,255006.72 +7-12-2019 00:00,1045543.44,486691.96,243345.98 +7-12-2019 01:00,1037058.8,482742.44,241371.22 +7-12-2019 02:00,1035407.92,481973.96,240986.98 +7-12-2019 03:00,1176794.16,547788.08,273894.04 +7-12-2019 04:00,1635386.4,761258.96,380629.48 +7-12-2019 05:00,1862526.08,866990.72,433495.36 +7-12-2019 06:00,2191436.96,1020096.0,510048 +7-12-2019 07:00,3902643.84,1816648.64,908324.32 +7-12-2019 08:00,7358103.04,3425136.64,1712568.32 +7-12-2019 09:00,14332558.08,6671688.96,3335844.48 +7-12-2019 10:00,14185501.44,6603234.56,3301617.28 +7-12-2019 11:00,6763282.56,3148252.8,1574126.4 +7-12-2019 12:00,6237484.8,2903497.92,1451748.96 +7-12-2019 13:00,4384104.64,2040764.8,1020382.4 +7-12-2019 14:00,3977277.44,1851390.4,925695.2 +7-12-2019 15:00,5622623.36,2617285.44,1308642.72 +7-12-2019 16:00,5927427.2,2759168.96,1379584.48 +7-12-2019 17:00,5986886.4,2786847.04,1393423.52 +7-12-2019 18:00,6021944.96,2803166.4,1401583.2 +7-12-2019 19:00,6002802.56,2794255.36,1397127.68 +7-12-2019 20:00,5985374.72,2786143.04,1393071.52 +7-12-2019 21:00,4693803.84,2184927.2,1092463.6 +7-12-2019 22:00,2039268.8,949263.04,474631.52 +7-12-2019 23:00,1140324.56,530811.76,265405.88 +8-12-2019 00:00,1106674.08,515147.72,257573.86 +8-12-2019 01:00,1100124.88,512099.2,256049.6 +8-12-2019 02:00,1095650.16,510016.16,255008.08 +8-12-2019 03:00,1407641.92,655245.84,327622.92 +8-12-2019 04:00,1662223.2,773751.28,386875.64 +8-12-2019 05:00,1840204.8,856600.32,428300.16 +8-12-2019 06:00,2093022.88,974285.04,487142.52 +8-12-2019 07:00,3775876.8,1757640.0,878820 +8-12-2019 08:00,7144360.32,3325641.28,1662820.64 +8-12-2019 09:00,13969100.8,6502503.04,3251251.52 +8-12-2019 10:00,13105559.04,6100531.2,3050265.6 +8-12-2019 11:00,6062320.0,2821960.64,1410980.32 +8-12-2019 12:00,5693798.4,2650416.48,1325208.24 +8-12-2019 13:00,3799159.04,1768477.6,884238.8 +8-12-2019 14:00,3066638.08,1427495.04,713747.52 +8-12-2019 15:00,5148162.24,2396427.2,1198213.6 +8-12-2019 16:00,5547356.16,2582249.28,1291124.64 +8-12-2019 17:00,5610700.8,2611735.36,1305867.68 +8-12-2019 18:00,5631660.8,2621492.16,1310746.08 +8-12-2019 19:00,5669742.08,2639218.56,1319609.28 +8-12-2019 20:00,5710439.04,2658162.4,1329081.2 +8-12-2019 21:00,4540603.52,2113613.76,1056806.88 +8-12-2019 22:00,2032504.0,946113.92,473056.96 +8-12-2019 23:00,1200869.36,558994.88,279497.44 +9-12-2019 00:00,1210146.48,563313.28,281656.64 +9-12-2019 01:00,1206569.44,561648.2,280824.1 +9-12-2019 02:00,1207568.64,562113.36,281056.68 +9-12-2019 03:00,1595731.84,742800.08,371400.04 +9-12-2019 04:00,1844089.44,858408.64,429204.32 +9-12-2019 05:00,2108289.76,981391.76,490695.88 +9-12-2019 06:00,2434433.76,1133209.12,566604.56 +9-12-2019 07:00,6576137.6,3061138.56,1530569.28 +9-12-2019 08:00,7654695.68,3563198.4,1781599.2 +9-12-2019 09:00,11194493.44,5210945.28,2605472.64 +9-12-2019 10:00,8426743.04,3922580.16,1961290.08 +9-12-2019 11:00,3527763.2,1642144.96,821072.48 +9-12-2019 12:00,4186188.48,1948636.48,974318.24 +9-12-2019 13:00,3436566.08,1599693.6,799846.8 +9-12-2019 14:00,3344103.36,1556652.96,778326.48 +9-12-2019 15:00,5182866.24,2412582.08,1206291.04 +9-12-2019 16:00,5891213.44,2742311.68,1371155.84 +9-12-2019 17:00,5010994.24,2332576.96,1166288.48 +9-12-2019 18:00,13418387.2,6246149.76,3123074.88 +9-12-2019 19:00,9087032.96,4229940.48,2114970.24 +9-12-2019 20:00,6175548.8,2874667.84,1437333.92 +9-12-2019 21:00,6236824.32,2903190.72,1451595.36 +9-12-2019 22:00,3286856.32,1530004.96,765002.48 +9-12-2019 23:00,1118434.8,520622.24,260311.12 +10-12-2019 00:00,1087201.44,506083.4,253041.7 +10-12-2019 01:00,1112348.4,517789.08,258894.54 +10-12-2019 02:00,1168850.32,544090.28,272045.14 +10-12-2019 03:00,1687157.76,785358.24,392679.12 +10-12-2019 04:00,2111082.56,982691.68,491345.84 +10-12-2019 05:00,2449633.12,1140284.16,570142.08 +10-12-2019 06:00,2759925.76,1284722.88,642361.44 +10-12-2019 07:00,7154853.12,3330525.76,1665262.88 +10-12-2019 08:00,8001448.96,3724609.28,1862304.64 +10-12-2019 09:00,11756500.48,5472554.88,2736277.44 +10-12-2019 10:00,9171532.16,4269273.92,2134636.96 +10-12-2019 11:00,4145192.32,1929553.28,964776.64 +10-12-2019 12:00,4543750.4,2115078.88,1057539.44 +10-12-2019 13:00,3819211.52,1777811.84,888905.92 +10-12-2019 14:00,3534575.04,1645315.84,822657.92 +10-12-2019 15:00,5383298.56,2505881.28,1252940.64 +10-12-2019 16:00,6183758.72,2878489.28,1439244.64 +10-12-2019 17:00,5350463.36,2490596.96,1245298.48 +10-12-2019 18:00,13646374.4,6352275.84,3176137.92 +10-12-2019 19:00,9747641.6,4537447.68,2268723.84 +10-12-2019 20:00,6282235.52,2924329.28,1462164.64 +10-12-2019 21:00,6038464.64,2810856.0,1405428 +10-12-2019 22:00,3188123.2,1484045.28,742022.64 +10-12-2019 23:00,1051102.16,489279.44,244639.72 +11-12-2019 00:00,1018018.64,473879.4,236939.7 +11-12-2019 01:00,1008558.0,469475.48,234737.74 +11-12-2019 02:00,1051231.44,489339.68,244669.84 +11-12-2019 03:00,1184171.76,551222.36,275611.18 +11-12-2019 04:00,1698589.92,790679.76,395339.88 +11-12-2019 05:00,2010057.92,935665.6,467832.8 +11-12-2019 06:00,2296742.4,1069114.72,534557.36 +11-12-2019 07:00,6225300.48,2897826.56,1448913.28 +11-12-2019 08:00,7510032.64,3495859.2,1747929.6 +11-12-2019 09:00,11259791.36,5241340.8,2620670.4 +11-12-2019 10:00,8597610.24,4002117.76,2001058.88 +11-12-2019 11:00,3740484.8,1741165.12,870582.56 +11-12-2019 12:00,4288198.4,1996121.28,998060.64 +11-12-2019 13:00,3580897.28,1666878.4,833439.2 +11-12-2019 14:00,3330026.88,1550100.48,775050.24 +11-12-2019 15:00,5290302.4,2462592.32,1231296.16 +11-12-2019 16:00,6148858.24,2862243.52,1431121.76 +11-12-2019 17:00,5307535.04,2470614.24,1235307.12 +11-12-2019 18:00,13644559.36,6351431.04,3175715.52 +11-12-2019 19:00,9870633.6,4594699.2,2297349.6 +11-12-2019 20:00,6476952.32,3014968.64,1507484.32 +11-12-2019 21:00,6235340.16,2902500.16,1451250.08 +11-12-2019 22:00,3359191.04,1563676.0,781838 +11-12-2019 23:00,1109789.92,516598.16,258299.08 +12-12-2019 00:00,1103349.28,513600.08,256800.04 +12-12-2019 01:00,1128251.2,525191.72,262595.86 +12-12-2019 02:00,1151080.32,535818.48,267909.24 +12-12-2019 03:00,1542501.6,718021.92,359010.96 +12-12-2019 04:00,2070631.36,963862.0,481931 +12-12-2019 05:00,2341797.12,1090087.44,545043.72 +12-12-2019 06:00,2664937.76,1240506.72,620253.36 +12-12-2019 07:00,7093158.4,3301807.68,1650903.84 +12-12-2019 08:00,8026353.28,3736201.92,1868100.96 +12-12-2019 09:00,11733671.68,5461928.96,2730964.48 +12-12-2019 10:00,8337617.92,3881093.12,1940546.56 +12-12-2019 11:00,3408995.84,1586859.84,793429.92 +12-12-2019 12:00,4287617.6,1995851.04,997925.52 +12-12-2019 13:00,3005550.4,1399059.04,699529.52 +12-12-2019 14:00,2667884.8,1241878.64,620939.32 +12-12-2019 15:00,5447930.88,2535967.36,1267983.68 +12-12-2019 16:00,6389711.36,2974358.4,1487179.2 +12-12-2019 17:00,5602768.64,2608043.2,1304021.6 +12-12-2019 18:00,13817731.84,6432042.24,3216021.12 +12-12-2019 19:00,10064260.48,4684830.72,2342415.36 +12-12-2019 20:00,6801621.76,3166099.52,1583049.76 +12-12-2019 21:00,6457783.04,3006045.76,1503022.88 +12-12-2019 22:00,3460997.44,1611066.08,805533.04 +12-12-2019 23:00,1178890.16,548763.8,274381.9 +13-12-2019 00:00,1165675.04,542612.24,271306.12 +13-12-2019 01:00,1169674.96,544474.12,272237.06 +13-12-2019 02:00,1208436.88,562517.44,281258.72 +13-12-2019 03:00,1822751.68,848476.0,424238 +13-12-2019 04:00,2251693.28,1048144.88,524072.44 +13-12-2019 05:00,2507604.8,1167269.52,583634.76 +13-12-2019 06:00,2834752.0,1319553.92,659776.96 +13-12-2019 07:00,7438677.12,3462643.52,1731321.76 +13-12-2019 08:00,8155572.48,3796352.64,1898176.32 +13-12-2019 09:00,12026816.0,5598384.64,2799192.32 +13-12-2019 10:00,9762325.12,4544283.2,2272141.6 +13-12-2019 11:00,4582630.72,2133176.96,1066588.48 +13-12-2019 12:00,5025571.2,2339362.24,1169681.12 +13-12-2019 13:00,4280779.84,1992668.0,996334 +13-12-2019 14:00,3979393.92,1852375.2,926187.6 +13-12-2019 15:00,5822431.36,2710294.4,1355147.2 +13-12-2019 16:00,6458361.6,3006314.88,1503157.44 +13-12-2019 17:00,5573139.84,2594251.52,1297125.76 +13-12-2019 18:00,13655850.24,6356686.72,3178343.36 +13-12-2019 19:00,9824478.72,4573214.72,2286607.36 +13-12-2019 20:00,6809080.96,3169571.52,1584785.76 +13-12-2019 21:00,6215675.52,2893346.24,1446673.12 +13-12-2019 22:00,3350404.16,1559585.76,779792.88 +13-12-2019 23:00,1126650.24,524446.52,262223.26 +14-12-2019 00:00,1115718.4,519357.84,259678.92 +14-12-2019 01:00,1121506.24,522051.96,261025.98 +14-12-2019 02:00,1135394.8,528517.08,264258.54 +14-12-2019 03:00,1523867.84,709348.08,354674.04 +14-12-2019 04:00,2014664.96,937810.08,468905.04 +14-12-2019 05:00,2301779.52,1071459.68,535729.84 +14-12-2019 06:00,2536210.88,1180585.6,590292.8 +14-12-2019 07:00,4169649.28,1940937.76,970468.88 +14-12-2019 08:00,7566155.52,3521983.68,1760991.84 +14-12-2019 09:00,14784936.96,6882268.16,3441134.08 +14-12-2019 10:00,14655121.92,6821839.36,3410919.68 +14-12-2019 11:00,6611138.56,3077431.04,1538715.52 +14-12-2019 12:00,6434648.32,2995276.16,1497638.08 +14-12-2019 13:00,4651743.04,2165348.64,1082674.32 +14-12-2019 14:00,4610906.24,2146339.36,1073169.68 +14-12-2019 15:00,5935726.72,2763032.64,1381516.32 +14-12-2019 16:00,6459095.68,3006656.64,1503328.32 +14-12-2019 17:00,6371447.04,2965856.64,1482928.32 +14-12-2019 18:00,6363879.04,2962333.76,1481166.88 +14-12-2019 19:00,6462312.32,3008153.6,1504076.8 +14-12-2019 20:00,6474593.92,3013870.72,1506935.36 +14-12-2019 21:00,5147852.16,2396283.2,1198141.6 +14-12-2019 22:00,2316765.92,1078435.52,539217.76 +14-12-2019 23:00,1353532.16,630058.24,315029.12 +15-12-2019 00:00,1348890.08,627897.32,313948.66 +15-12-2019 01:00,1309004.8,609331.12,304665.56 +15-12-2019 02:00,1561516.64,726873.28,363436.64 +15-12-2019 03:00,1789132.0,832826.32,416413.16 +15-12-2019 04:00,2006391.04,933958.64,466979.32 +15-12-2019 05:00,2045719.2,952265.6,476132.8 +15-12-2019 06:00,2235487.36,1040601.04,520300.52 +15-12-2019 07:00,3956003.52,1841487.2,920743.6 +15-12-2019 08:00,7455566.08,3470505.28,1735252.64 +15-12-2019 09:00,14441233.92,6722276.48,3361138.24 +15-12-2019 10:00,12890544.64,6000443.52,3000221.76 +15-12-2019 11:00,6577998.72,3062004.48,1531002.24 +15-12-2019 12:00,6277379.2,2922068.8,1461034.4 +15-12-2019 13:00,4416775.36,2055972.96,1027986.48 +15-12-2019 14:00,4051314.24,1885853.6,942926.8 +15-12-2019 15:00,5703341.44,2654858.88,1327429.44 +15-12-2019 16:00,5990723.2,2788632.96,1394316.48 +15-12-2019 17:00,6095541.76,2837424.96,1418712.48 +15-12-2019 18:00,6230223.36,2900118.4,1450059.2 +15-12-2019 19:00,6258369.92,2913220.16,1456610.08 +15-12-2019 20:00,6234922.88,2902305.6,1451152.8 +15-12-2019 21:00,4904603.52,2283053.28,1141526.64 +15-12-2019 22:00,2220757.12,1033744.24,516872.12 +15-12-2019 23:00,1320668.08,614760.24,307380.12 +16-12-2019 00:00,1305368.8,607638.6,303819.3 +16-12-2019 01:00,1375916.64,640477.92,320238.96 +16-12-2019 02:00,1655710.56,770719.76,385359.88 +16-12-2019 03:00,1962628.96,913587.68,456793.84 +16-12-2019 04:00,2235304.16,1040515.84,520257.92 +16-12-2019 05:00,2336554.88,1087647.36,543823.68 +16-12-2019 06:00,2503424.32,1165323.6,582661.8 +16-12-2019 07:00,6863399.68,3194856.96,1597428.48 +16-12-2019 08:00,7562796.8,3520420.16,1760210.08 +16-12-2019 09:00,11334506.24,5276119.68,2638059.84 +16-12-2019 10:00,8733047.68,4065161.92,2032580.96 +16-12-2019 11:00,3737478.4,1739765.76,869882.88 +16-12-2019 12:00,4193589.76,1952081.76,976040.88 +16-12-2019 13:00,3506621.12,1632303.52,816151.76 +16-12-2019 14:00,3271310.72,1522768.48,761384.24 +16-12-2019 15:00,5102137.6,2375003.36,1187501.68 +16-12-2019 16:00,5970122.24,2779043.52,1389521.76 +16-12-2019 17:00,5004413.12,2329513.6,1164756.8 +16-12-2019 18:00,13392030.72,6233881.6,3116940.8 +16-12-2019 19:00,9081438.72,4227336.0,2113668 +16-12-2019 20:00,5973626.24,2780673.92,1390336.96 +16-12-2019 21:00,5864157.44,2729717.76,1364858.88 +16-12-2019 22:00,3131403.84,1457642.88,728821.44 +16-12-2019 23:00,1040617.52,484399.0,242199.5 +17-12-2019 00:00,1047642.32,487668.92,243834.46 +17-12-2019 01:00,1064426.64,495481.96,247740.98 +17-12-2019 02:00,1116980.56,519945.32,259972.66 +17-12-2019 03:00,1249969.52,581850.52,290925.26 +17-12-2019 04:00,1708436.64,795263.36,397631.68 +17-12-2019 05:00,1901066.72,884931.04,442465.52 +17-12-2019 06:00,2154796.8,1003040.32,501520.16 +17-12-2019 07:00,5916780.16,2754212.8,1377106.4 +17-12-2019 08:00,7018591.36,3267096.96,1633548.48 +17-12-2019 09:00,10627563.52,4947044.48,2473522.24 +17-12-2019 10:00,7613511.04,3544027.2,1772013.6 +17-12-2019 11:00,2843208.64,1323490.32,661745.16 +17-12-2019 12:00,3305516.16,1538690.72,769345.36 +17-12-2019 13:00,2178790.56,1014209.2,507104.6 +17-12-2019 14:00,2206243.84,1026988.56,513494.28 +17-12-2019 15:00,3944523.84,1836143.68,918071.84 +17-12-2019 16:00,4741337.28,2207053.92,1103526.96 +17-12-2019 17:00,3869998.4,1801452.8,900726.4 +17-12-2019 18:00,12682652.16,5903671.68,2951835.84 +17-12-2019 19:00,7619345.28,3546743.04,1773371.52 +17-12-2019 20:00,5380324.48,2504497.12,1252248.56 +17-12-2019 21:00,5610907.52,2611831.84,1305915.92 +17-12-2019 22:00,3038376.96,1414339.68,707169.84 +17-12-2019 23:00,1012614.08,471363.56,235681.78 +18-12-2019 00:00,992862.96,462169.6,231084.8 +18-12-2019 01:00,995657.68,463470.6,231735.3 +18-12-2019 02:00,996655.76,463935.12,231967.56 +18-12-2019 03:00,1022026.8,475745.16,237872.58 +18-12-2019 04:00,1507256.64,701615.68,350807.84 +18-12-2019 05:00,1783946.56,830412.56,415206.28 +18-12-2019 06:00,2193189.76,1020912.0,510456 +18-12-2019 07:00,5937208.96,2763722.56,1381861.28 +18-12-2019 08:00,7299198.08,3397717.44,1698858.72 +18-12-2019 09:00,10946703.36,5095600.96,2547800.48 +18-12-2019 10:00,8338263.68,3881394.24,1940697.12 +18-12-2019 11:00,3291989.44,1532394.24,766197.12 +18-12-2019 12:00,3873860.16,1803250.24,901625.12 +18-12-2019 13:00,3099416.96,1442753.44,721376.72 +18-12-2019 14:00,3008332.16,1400354.24,700177.12 +18-12-2019 15:00,4934880.0,2297145.92,1148572.96 +18-12-2019 16:00,5846723.84,2721602.24,1360801.12 +18-12-2019 17:00,5070184.96,2360129.92,1180064.96 +18-12-2019 18:00,13438201.6,6255372.8,3127686.4 +18-12-2019 19:00,9102757.12,4237258.88,2118629.44 +18-12-2019 20:00,5887731.84,2740691.2,1370345.6 +18-12-2019 21:00,5781354.24,2691172.8,1345586.4 +18-12-2019 22:00,3092903.68,1439721.6,719860.8 +18-12-2019 23:00,1029992.88,479453.32,239726.66 +19-12-2019 00:00,1012625.84,471369.12,235684.56 +19-12-2019 01:00,975408.32,454044.64,227022.32 +19-12-2019 02:00,961172.48,447417.96,223708.98 +19-12-2019 03:00,981238.08,456758.32,228379.16 +19-12-2019 04:00,1405667.04,654326.52,327163.26 +19-12-2019 05:00,1602091.84,745760.72,372880.36 +19-12-2019 06:00,1918410.56,893004.4,446502.2 +19-12-2019 07:00,5570760.96,2593143.52,1296571.76 +19-12-2019 08:00,6976019.84,3247280.32,1623640.16 +19-12-2019 09:00,10598468.48,4933501.12,2466750.56 +19-12-2019 10:00,7479909.76,3481836.8,1740918.4 +19-12-2019 11:00,2714376.0,1263519.76,631759.88 +19-12-2019 12:00,3182942.72,1481633.76,740816.88 +19-12-2019 13:00,2456163.36,1143324.0,571662 +19-12-2019 14:00,2249391.68,1047073.36,523536.68 +19-12-2019 15:00,4017585.6,1870153.12,935076.56 +19-12-2019 16:00,4723129.28,2198578.08,1099289.04 +19-12-2019 17:00,3963983.04,1845201.76,922600.88 +19-12-2019 18:00,12525337.6,5830442.24,2915221.12 +19-12-2019 19:00,7323764.48,3409152.64,1704576.32 +19-12-2019 20:00,4804180.16,2236306.88,1118153.44 +19-12-2019 21:00,4716248.64,2195375.2,1097687.6 +19-12-2019 22:00,2560970.72,1192110.96,596055.48 +19-12-2019 23:00,831530.4,387070.64,193535.32 +20-12-2019 00:00,823397.28,383284.68,191642.34 +20-12-2019 01:00,817037.84,380324.48,190162.24 +20-12-2019 02:00,814342.24,379069.68,189534.84 +20-12-2019 03:00,818794.32,381142.04,190571.02 +20-12-2019 04:00,836032.88,389166.48,194583.24 +20-12-2019 05:00,1062480.56,494576.0,247288 +20-12-2019 06:00,1394329.28,649048.88,324524.44 +20-12-2019 07:00,4622107.52,2151553.44,1075776.72 +20-12-2019 08:00,6325661.44,2944543.68,1472271.84 +20-12-2019 09:00,9981453.44,4646285.12,2323142.56 +20-12-2019 10:00,6504636.8,3027855.36,1513927.68 +20-12-2019 11:00,2513510.24,1170018.56,585009.28 +20-12-2019 12:00,3145502.4,1464205.76,732102.88 +20-12-2019 13:00,2460254.4,1145228.24,572614.12 +20-12-2019 14:00,2124850.08,989100.32,494550.16 +20-12-2019 15:00,3993587.52,1858982.4,929491.2 +20-12-2019 16:00,4769261.76,2220052.32,1110026.16 +20-12-2019 17:00,3996516.8,1860345.92,930172.96 +20-12-2019 18:00,12533505.28,5834244.48,2917122.24 +20-12-2019 19:00,7309216.0,3402380.48,1701190.24 +20-12-2019 20:00,5120712.0,2383649.44,1191824.72 +20-12-2019 21:00,5100865.28,2374410.88,1187205.44 +20-12-2019 22:00,2729285.76,1270460.32,635230.16 +20-12-2019 23:00,881119.04,410153.76,205076.88 +21-12-2019 00:00,894944.0,416589.16,208294.58 +21-12-2019 01:00,901652.4,419711.84,209855.92 +21-12-2019 02:00,934090.24,434811.44,217405.72 +21-12-2019 03:00,930027.76,432920.36,216460.18 +21-12-2019 04:00,1093346.56,508943.88,254471.94 +21-12-2019 05:00,1489958.08,693563.36,346781.68 +21-12-2019 06:00,1812612.0,843756.08,421878.04 +21-12-2019 07:00,3592653.12,1672350.88,836175.44 +21-12-2019 08:00,6969080.32,3244049.92,1622024.96 +21-12-2019 09:00,13554321.92,6309426.56,3154713.28 +21-12-2019 10:00,12690979.84,5907548.16,2953774.08 +21-12-2019 11:00,6039869.44,2811509.76,1405754.88 +21-12-2019 12:00,5343063.36,2487152.16,1243576.08 +21-12-2019 13:00,3746046.08,1743753.92,871876.96 +21-12-2019 14:00,3507504.32,1632714.72,816357.36 +21-12-2019 15:00,5054573.76,2352862.72,1176431.36 +21-12-2019 16:00,5279155.2,2457403.52,1228701.76 +21-12-2019 17:00,5354543.36,2492496.16,1246248.08 +21-12-2019 18:00,5441141.12,2532806.88,1266403.44 +21-12-2019 19:00,5420165.76,2523043.2,1261521.6 +21-12-2019 20:00,5507895.04,2563880.32,1281940.16 +21-12-2019 21:00,4272996.16,1989044.8,994522.4 +21-12-2019 22:00,1919751.52,893628.72,446814.36 +21-12-2019 23:00,1094719.52,509583.04,254791.52 +22-12-2019 00:00,1070501.44,498309.68,249154.84 +22-12-2019 01:00,1103390.4,513619.2,256809.6 +22-12-2019 02:00,1104999.36,514368.28,257184.14 +22-12-2019 03:00,1354438.88,630480.28,315240.14 +22-12-2019 04:00,1553598.56,723187.44,361593.72 +22-12-2019 05:00,1747537.12,813464.32,406732.16 +22-12-2019 06:00,1944322.56,905066.24,452533.12 +22-12-2019 07:00,3635236.8,1692173.12,846086.56 +22-12-2019 08:00,6891820.16,3208086.08,1604043.04 +22-12-2019 09:00,13605423.36,6333213.44,3166606.72 +22-12-2019 10:00,12480940.8,5809776.64,2904888.32 +22-12-2019 11:00,5995240.96,2790735.68,1395367.84 +22-12-2019 12:00,5404960.64,2515965.12,1257982.56 +22-12-2019 13:00,3694748.16,1719875.2,859937.6 +22-12-2019 14:00,3426487.04,1595001.76,797500.88 +22-12-2019 15:00,4935303.68,2297343.52,1148671.76 +22-12-2019 16:00,5244972.16,2441491.52,1220745.76 +22-12-2019 17:00,5372296.32,2500759.84,1250379.92 +22-12-2019 18:00,5368414.08,2498952.96,1249476.48 +22-12-2019 19:00,5380856.96,2504744.8,1252372.4 +22-12-2019 20:00,5377203.84,2503044.64,1251522.32 +22-12-2019 21:00,4202018.56,1956005.44,978002.72 +22-12-2019 22:00,1925395.68,896256.0,448128 +22-12-2019 23:00,1109007.2,516233.84,258116.92 +23-12-2019 00:00,1099164.88,511652.32,255826.16 +23-12-2019 01:00,1070364.4,498245.96,249122.98 +23-12-2019 02:00,1079859.28,502665.64,251332.82 +23-12-2019 03:00,1299526.88,604919.12,302459.56 +23-12-2019 04:00,1508169.12,702040.48,351020.24 +23-12-2019 05:00,1717338.88,799407.2,399703.6 +23-12-2019 06:00,1971585.12,917756.8,458878.4 +23-12-2019 07:00,5545827.2,2581537.28,1290768.64 +23-12-2019 08:00,7033294.08,3273941.12,1636970.56 +23-12-2019 09:00,10735121.92,4997112.32,2498556.16 +23-12-2019 10:00,7898715.52,3676787.52,1838393.76 +23-12-2019 11:00,3156983.04,1469549.76,734774.88 +23-12-2019 12:00,3682810.88,1714318.4,857159.2 +23-12-2019 13:00,3016973.44,1404376.64,702188.32 +23-12-2019 14:00,2627752.16,1223197.12,611598.56 +23-12-2019 15:00,4501339.84,2095336.96,1047668.48 +23-12-2019 16:00,5319972.8,2476403.84,1238201.92 +23-12-2019 17:00,4411687.04,2053604.32,1026802.16 +23-12-2019 18:00,12956579.84,6031182.08,3015591.04 +23-12-2019 19:00,7778499.84,3620828.48,1810414.24 +23-12-2019 20:00,5434876.16,2529890.4,1264945.2 +23-12-2019 21:00,5358557.76,2494365.28,1247182.64 +23-12-2019 22:00,2875502.72,1338522.96,669261.48 +23-12-2019 23:00,976702.8,454647.2,227323.6 +24-12-2019 00:00,975689.12,454175.32,227087.66 +24-12-2019 01:00,986375.04,459149.44,229574.72 +24-12-2019 02:00,980013.2,456188.16,228094.08 +24-12-2019 03:00,979572.24,455982.92,227991.46 +24-12-2019 04:00,1396574.08,650093.92,325046.96 +24-12-2019 05:00,1724889.6,802922.08,401461.04 +24-12-2019 06:00,2016276.8,938560.4,469280.2 +24-12-2019 07:00,5668911.36,2638832.0,1319416 +24-12-2019 08:00,7148423.68,3327532.8,1663766.4 +24-12-2019 09:00,10915823.36,5081226.56,2540613.28 +24-12-2019 10:00,8103610.24,3772164.48,1886082.24 +24-12-2019 11:00,3097711.04,1441959.36,720979.68 +24-12-2019 12:00,3596897.92,1674326.56,837163.28 +24-12-2019 13:00,2815996.16,1310823.36,655411.68 +24-12-2019 14:00,2694842.88,1254427.52,627213.76 +24-12-2019 15:00,4434758.72,2064344.0,1032172 +24-12-2019 16:00,5187254.4,2414624.48,1207312.24 +24-12-2019 17:00,4286494.72,1995328.32,997664.16 +24-12-2019 18:00,12743932.16,5932196.48,2966098.24 +24-12-2019 19:00,7584752.64,3530640.32,1765320.16 +24-12-2019 20:00,5124774.4,2385540.48,1192770.24 +24-12-2019 21:00,5076624.64,2363127.52,1181563.76 +24-12-2019 22:00,2731035.84,1271274.88,635637.44 +24-12-2019 23:00,884926.96,411926.28,205963.14 +25-12-2019 00:00,870887.04,405390.8,202695.4 +25-12-2019 01:00,883452.64,411240.04,205620.02 +25-12-2019 02:00,889065.28,413852.64,206926.32 +25-12-2019 03:00,896700.16,417406.64,208703.32 +25-12-2019 04:00,1021261.44,475388.84,237694.42 +25-12-2019 05:00,1399441.6,651428.6,325714.3 +25-12-2019 06:00,1739139.04,809555.04,404777.52 +25-12-2019 07:00,5277007.68,2456404.0,1228202 +25-12-2019 08:00,6858328.32,3192496.0,1596248 +25-12-2019 09:00,10635055.36,4950531.2,2475265.6 +25-12-2019 10:00,6903948.16,3213731.84,1606865.92 +25-12-2019 11:00,2272074.72,1057632.32,528816.16 +25-12-2019 12:00,3245350.72,1510684.32,755342.16 +25-12-2019 13:00,2843864.0,1323795.52,661897.76 +25-12-2019 14:00,2863231.36,1332810.8,666405.4 +25-12-2019 15:00,4501446.4,2095386.24,1047693.12 +25-12-2019 16:00,5329411.52,2480797.6,1240398.8 +25-12-2019 17:00,4541896.64,2114215.84,1057107.92 +25-12-2019 18:00,12989885.44,6046685.44,3023342.72 +25-12-2019 19:00,7989454.08,3719025.28,1859512.64 +25-12-2019 20:00,5502711.04,2561467.04,1280733.52 +25-12-2019 21:00,5428682.88,2527007.52,1263503.76 +25-12-2019 22:00,2934286.08,1365886.4,682943.2 +25-12-2019 23:00,995076.88,463200.16,231600.08 +26-12-2019 00:00,961878.4,447746.52,223873.26 +26-12-2019 01:00,957722.64,445812.04,222906.02 +26-12-2019 02:00,969055.76,451087.56,225543.78 +26-12-2019 03:00,982803.52,457487.08,228743.54 +26-12-2019 04:00,1415918.88,659098.64,329549.32 +26-12-2019 05:00,1698105.6,790454.32,395227.16 +26-12-2019 06:00,2188078.56,1018532.64,509266.32 +26-12-2019 07:00,5854755.2,2725340.48,1362670.24 +26-12-2019 08:00,7354007.04,3423230.08,1711615.04 +26-12-2019 09:00,11040307.2,5139173.44,2569586.72 +26-12-2019 10:00,8351200.0,3887415.68,1943707.84 +26-12-2019 11:00,3565585.6,1659751.04,829875.52 +26-12-2019 12:00,4151752.96,1932606.88,966303.44 +26-12-2019 13:00,3455457.92,1608487.36,804243.68 +26-12-2019 14:00,3253131.84,1514306.24,757153.12 +26-12-2019 15:00,5065251.52,2357832.96,1178916.48 +26-12-2019 16:00,5876679.04,2735546.24,1367773.12 +26-12-2019 17:00,4954529.92,2306293.28,1153146.64 +26-12-2019 18:00,13358945.28,6218480.64,3109240.32 +26-12-2019 19:00,9196334.72,4280819.2,2140409.6 +26-12-2019 20:00,5981746.56,2784454.4,1392227.2 +26-12-2019 21:00,5880702.72,2737419.52,1368709.76 +26-12-2019 22:00,3187410.56,1483713.76,741856.88 +26-12-2019 23:00,1066235.84,496324.08,248162.04 +27-12-2019 00:00,1042460.48,485256.84,242628.42 +27-12-2019 01:00,1038763.68,483536.0,241768 +27-12-2019 02:00,1029899.44,479409.8,239704.9 +27-12-2019 03:00,1189656.16,553775.28,276887.64 +27-12-2019 04:00,1634045.92,760634.96,380317.48 +27-12-2019 05:00,2030585.28,945221.04,472610.52 +27-12-2019 06:00,2450089.6,1140496.72,570248.36 +27-12-2019 07:00,6638784.0,3090299.84,1545149.92 +27-12-2019 08:00,7934737.28,3693555.52,1846777.76 +27-12-2019 09:00,11596166.4,5397920.64,2698960.32 +27-12-2019 10:00,8219687.68,3826197.76,1913098.88 +27-12-2019 11:00,2996256.0,1394732.64,697366.32 +27-12-2019 12:00,3820751.04,1778528.48,889264.24 +27-12-2019 13:00,2625017.6,1221924.16,610962.08 +27-12-2019 14:00,2293978.24,1067828.0,533914 +27-12-2019 15:00,5184870.08,2413514.72,1206757.36 +27-12-2019 16:00,6278600.32,2922637.76,1461318.88 +27-12-2019 17:00,5539160.96,2578434.4,1289217.2 +27-12-2019 18:00,14032156.16,6531854.72,3265927.36 +27-12-2019 19:00,10374373.12,4829185.92,2414592.96 +27-12-2019 20:00,7113618.56,3311331.2,1655665.6 +27-12-2019 21:00,6936925.44,3229081.92,1614540.96 +27-12-2019 22:00,3802465.28,1770016.64,885008.32 +27-12-2019 23:00,1359920.8,633032.04,316516.02 +28-12-2019 00:00,1292364.0,601584.88,300792.44 +28-12-2019 01:00,1338678.32,623143.84,311571.92 +28-12-2019 02:00,1943291.68,904586.4,452293.2 +28-12-2019 03:00,2661985.6,1239132.48,619566.24 +28-12-2019 04:00,3001931.2,1397374.24,698687.12 +28-12-2019 05:00,3140827.84,1462029.6,731014.8 +28-12-2019 06:00,3499936.64,1629191.84,814595.92 +28-12-2019 07:00,5263982.4,2450340.64,1225170.32 +28-12-2019 08:00,9048196.48,4211861.44,2105930.72 +28-12-2019 09:00,16720121.6,7783080.32,3891540.16 +28-12-2019 10:00,17143577.6,7980195.2,3990097.6 +28-12-2019 11:00,9112981.76,4242017.92,2121008.96 +28-12-2019 12:00,7816170.24,3638363.2,1819181.6 +28-12-2019 13:00,5840204.8,2718567.68,1359283.84 +28-12-2019 14:00,5367071.68,2498328.16,1249164.08 +28-12-2019 15:00,6921948.16,3222110.4,1611055.2 +28-12-2019 16:00,7343782.4,3418470.72,1709235.36 +28-12-2019 17:00,7392339.84,3441074.24,1720537.12 +28-12-2019 18:00,7523040.64,3501913.6,1750956.8 +28-12-2019 19:00,7546680.96,3512918.72,1756459.36 +28-12-2019 20:00,7554064.64,3516355.52,1758177.76 +28-12-2019 21:00,5988067.84,2787397.12,1393698.56 +28-12-2019 22:00,2774204.48,1291369.52,645684.76 +28-12-2019 23:00,1692399.68,787798.24,393899.12 +29-12-2019 00:00,1687984.48,785742.96,392871.48 +29-12-2019 01:00,2158182.56,1004616.24,502308.12 +29-12-2019 02:00,2597900.8,1209301.76,604650.88 +29-12-2019 03:00,3030120.32,1410496.32,705248.16 +29-12-2019 04:00,3248652.16,1512221.12,756110.56 +29-12-2019 05:00,3498210.24,1628388.16,814194.08 +29-12-2019 06:00,3760919.36,1750677.44,875338.72 +29-12-2019 07:00,5621308.8,2616673.6,1308336.8 +29-12-2019 08:00,9194606.72,4280014.08,2140007.04 +29-12-2019 09:00,16863183.36,7849673.6,3924836.8 +29-12-2019 10:00,17473189.12,8133626.24,4066813.12 +29-12-2019 11:00,9429368.32,4389294.4,2194647.2 +29-12-2019 12:00,8176617.6,3806148.8,1903074.4 +29-12-2019 13:00,6149621.12,2862598.72,1431299.36 +29-12-2019 14:00,5591032.32,2602579.84,1301289.92 +29-12-2019 15:00,7056051.84,3284534.72,1642267.36 +29-12-2019 16:00,7382759.04,3436614.4,1718307.2 +29-12-2019 17:00,7404699.52,3446827.52,1723413.76 +29-12-2019 18:00,7526519.04,3503533.12,1751766.56 +29-12-2019 19:00,7487637.12,3485434.24,1742717.12 +29-12-2019 20:00,7377904.0,3434353.92,1717176.96 +29-12-2019 21:00,5761018.88,2681707.52,1340853.76 +29-12-2019 22:00,2680613.76,1247803.84,623901.92 +29-12-2019 23:00,1619037.28,753648.72,376824.36 +30-12-2019 00:00,1641076.64,763907.84,381953.92 +30-12-2019 01:00,1945385.6,905561.12,452780.56 +30-12-2019 02:00,2391875.2,1113398.4,556699.2 +30-12-2019 03:00,2695198.72,1254592.88,627296.44 +30-12-2019 04:00,2849519.68,1326428.24,663214.12 +30-12-2019 05:00,3037381.12,1413876.16,706938.08 +30-12-2019 06:00,3360961.28,1564500.32,782250.16 +30-12-2019 07:00,8598188.16,4002386.56,2001193.28 +30-12-2019 08:00,8759758.72,4077595.84,2038797.92 +30-12-2019 09:00,12524510.72,5830056.96,2915028.48 +30-12-2019 10:00,9874219.52,4596369.28,2298184.64 +30-12-2019 11:00,3879474.88,1805863.84,902931.92 +30-12-2019 12:00,4469944.32,2080722.4,1040361.2 +30-12-2019 13:00,3107525.44,1446527.68,723263.84 +30-12-2019 14:00,2698320.32,1256046.0,628023 +30-12-2019 15:00,5398840.32,2513116.16,1256558.08 +30-12-2019 16:00,6666987.52,3103428.48,1551714.24 +30-12-2019 17:00,5877036.8,2735713.28,1367856.64 +30-12-2019 18:00,14022828.8,6527512.32,3263756.16 +30-12-2019 19:00,10358757.12,4821916.16,2410958.08 +30-12-2019 20:00,7092086.4,3301308.16,1650654.08 +30-12-2019 21:00,6908589.44,3215891.84,1607945.92 +30-12-2019 22:00,3749925.44,1745559.68,872779.84 +30-12-2019 23:00,1280132.72,595891.36,297945.68 +31-12-2019 00:00,1265957.12,589292.72,294646.36 +31-12-2019 01:00,1321720.56,615250.2,307625.1 +31-12-2019 02:00,1716530.4,799030.88,399515.44 +31-12-2019 03:00,2154276.32,1002798.0,501399 +31-12-2019 04:00,2432908.16,1132498.88,566249.44 +31-12-2019 05:00,2650838.08,1233943.6,616971.8 +31-12-2019 06:00,2960116.8,1377910.08,688955.04 +31-12-2019 07:00,8006268.8,3726853.12,1863426.56 +31-12-2019 08:00,8764845.44,4079963.84,2039981.92 +31-12-2019 09:00,12706632.96,5914833.92,2957416.96 +31-12-2019 10:00,10326184.32,4806754.24,2403377.12 +31-12-2019 11:00,4668014.08,2172922.4,1086461.2 +31-12-2019 12:00,4802051.2,2235315.68,1117657.84 +31-12-2019 13:00,3911379.52,1820715.36,910357.68 +31-12-2019 14:00,3664505.28,1705797.44,852898.72 +31-12-2019 15:00,5685004.8,2646323.52,1323161.76 +31-12-2019 16:00,7136534.4,3321998.72,1660999.36 +31-12-2019 17:00,6671386.24,3105476.16,1552738.08 +31-12-2019 18:00,14448642.56,6725724.8,3362862.4 +31-12-2019 19:00,10760880.64,5009102.08,2504551.04 +31-12-2019 20:00,7609045.12,3541948.8,1770974.4 +31-12-2019 21:00,6987389.44,3252573.12,1626286.56 +31-12-2019 22:00,3805974.72,1771650.24,885825.12 +31-12-2019 23:00,3805974.72,1771650.24,885825.12 diff --git a/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_demand_not_matched.esdl b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_demand_not_matched.esdl new file mode 100644 index 000000000..8ffed796c --- /dev/null +++ b/tests/models/test_case_small_network_ates_buffer_optional_assets/model/test_case_small_network_all_optional_demand_not_matched.esdl @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_end_scenario_sizing.py b/tests/test_end_scenario_sizing.py index 6e0fd6775..0bee2faac 100644 --- a/tests/test_end_scenario_sizing.py +++ b/tests/test_end_scenario_sizing.py @@ -24,46 +24,6 @@ class TestEndScenarioSizing(TestCase): - def test_heat_exchanger_sizing(self): - """ - Check heat exchanger can be sized in EndScenarioSizingStaged problem. - After optimization asset state and capacity attributes are changed. - - Checks: - - max_size variable of the asset is calculated - - heat exchanger state attribute is changed - - heat exchanger capacity attribute is updated - """ - import models.heat_exchange.src.run_heat_exchanger as run_heat_exchanger - - base_folder = Path(run_heat_exchanger.__file__).resolve().parent.parent - - solution = run_end_scenario_sizing( - EndScenarioSizingStaged, - base_folder=base_folder, - esdl_file_name="heat_exchanger_with_costs.esdl", - esdl_parser=ESDLFileParser, - ) - results = solution.extract_results() - name_to_id_map = solution.esdl_asset_name_to_id_map - - hex_id = name_to_id_map["HeatExchange_39ed"] - - # Check heat exchanger is sized - np.testing.assert_allclose( - max(results[f"{hex_id}.Secondary_heat"]), results[f"{hex_id}__max_size"] - ) - - # Check heat exchanger state attribute is changed from OPTIONAL - # to ENABLED after the optimization - energy_system = solution._ESDLMixin__energy_system_handler.energy_system - asset = solution._id_to_asset(energy_system, hex_id) - np.testing.assert_equal(esdl.AssetStateEnum.ENABLED, asset.state) - - # Check heat exchanger capacity attribute is updated - # with max_size variable after the optimization - np.testing.assert_allclose(results[f"{hex_id}__max_size"], asset.capacity) - @classmethod def setUpClass(cls) -> None: import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates @@ -326,6 +286,80 @@ def test_end_scenario_sizing_staged(self): ) np.testing.assert_array_less(solution_time_staged, solution_time_unstaged) + def test_end_scenario_sizing_heat_demand_not_matched(self): + """ + Validate diagnostics when staged sizing cannot fully match heat demand. + + The test uses an ESDL where a pipe size has been limited and an increased-demand + profile so that the optimization aborts with an expected exception, while warning logs still + report demand not being matched and likely bottlenecks, maxed producers and critical pipes. + """ + import models.test_case_small_network_ates_buffer_optional_assets.src.run_ates as run_ates + + base_folder = Path(run_ates.__file__).resolve().parent.parent + + with self.assertLogs("mesido", level="WARNING") as captured_logs: + with self.assertRaises(RuntimeError): + run_end_scenario_sizing( + EndScenarioSizingStaged, + base_folder=base_folder, + esdl_file_name="test_case_small_network_all_optional_demand_not_matched.esdl", + esdl_parser=ESDLFileParser, + profile_reader=ProfileReaderFromFile, + input_timeseries_file="Warmte_test_two_demands_doubled.csv", + error_type_check=NetworkErrors.NO_POTENTIAL_ERRORS_CHECK, + ) + + logs = "\n".join(captured_logs.output) + self.assertIn("target is not matched by", logs) + self.assertIn("the heat production by the following heat producers is maximised:", logs) + self.assertRegex( + logs, r"there are pipes with velocities above .* m/s: \['Pipe3', 'Pipe3_ret'\]$" + ) + self.assertNotIn( + "the heat production by the following heat producers is maximised: none", logs + ) + + def test_heat_exchanger_sizing(self): + """ + Check heat exchanger can be sized in EndScenarioSizingStaged problem. + After optimization asset state and capacity attributes are changed. + + Checks: + - max_size variable of the asset is calculated + - heat exchanger state attribute is changed + - heat exchanger capacity attribute is updated + """ + import models.heat_exchange.src.run_heat_exchanger as run_heat_exchanger + + base_folder = Path(run_heat_exchanger.__file__).resolve().parent.parent + + solution = run_end_scenario_sizing( + EndScenarioSizingStaged, + base_folder=base_folder, + esdl_file_name="heat_exchanger_with_costs.esdl", + esdl_parser=ESDLFileParser, + ) + results = solution.extract_results() + name_to_id_map = solution.esdl_asset_name_to_id_map + + hex_id = name_to_id_map["HeatExchange_39ed"] + + # Check heat exchanger is sized + np.testing.assert_allclose( + max(results[f"{hex_id}.Secondary_heat"]), results[f"{hex_id}__max_size"] + ) + + # Check heat exchanger state attribute is changed from OPTIONAL + # to ENABLED after the optimization + energy_system = solution._ESDLMixin__energy_system_handler.energy_system + asset = solution._id_to_asset(energy_system, hex_id) + np.testing.assert_equal(esdl.AssetStateEnum.ENABLED, asset.state) + + # Check heat exchanger capacity attribute is updated + # with max_size variable after the optimization + np.testing.assert_allclose(results[f"{hex_id}__max_size"], asset.capacity) + def test_end_scenario_sizing_discounted(self): """ Check if the TestEndScenario sizing workflow is behaving as expected. This is an From ddc95a7a667c2d4df33968f132b73863a1374425 Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Thu, 28 May 2026 17:50:35 +0200 Subject: [PATCH 373/376] Remove price profile requirement if electricity carrier available (#478) Fix that no longer a priceprofile is needed is an electricity carrier is available. --- CHANGELOG.md | 1 + src/mesido/financial_mixin.py | 73 +++++++++++------------------------ 2 files changed, 24 insertions(+), 50 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7860aa25..91e9f3669 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ - Added electricity cost profile to variable operational cost of assets which convert electricity to heat. - Heating_and_cooling example is cleaned up - The number of binary variables for the linearized head loss calculation is reduced by half, by only creating them for the positive quadrant. +- No longer required to add an electricity price profile if an electricity carrier is available. ## Fixed - ProfileConstraints: Use already available function to get profile quantity and unit diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index 80e0eb215..acf201b18 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -789,6 +789,25 @@ def __get_abs_max_bounds(*bounds): def __state_vector_scaled(self, variable, ensemble_member): return self._BaseProblemMixin__state_vector_scaled(variable, ensemble_member) + def __get_electricity_price_profile_or_zero(self): + """ + Variable OPEX electricity costs currently support at most one electricity carrier. + Otherwise, there needs to be a link between the electricity carrier and the asset which + is lots of extra effort for the user. + Returns the timeseries price profile for the electricity carrier or a zero array. + """ + electricity_carriers = self.get_electricity_carriers() + assert len(electricity_carriers.keys()) <= 1 + + if len(electricity_carriers.keys()) == 0: + return Timeseries(self.times(), np.zeros(len(self.times()))) + + price_profile_name = f"{list(electricity_carriers.values())[0]['name']}.price_profile" + if price_profile_name in self.io.get_timeseries_names(): + return self.get_timeseries(price_profile_name) + + return Timeseries(self.times(), np.zeros(len(self.times()))) + def __investment_cost_constraints(self, ensemble_member): """ This function adds constraints to set the investment cost variable. The investment cost @@ -942,20 +961,7 @@ def __variable_operational_cost_constraints(self, ensemble_member): pump_power = self.__state_vector_scaled(f"{asset}.Pump_power", ensemble_member) eff = parameters[f"{asset}.pump_efficiency"] - # We assume that only one electricity carrier is specified, to compute the cost with. - # Otherwise we need to link the electricity carrier somehow to the source and pump asset - # which is lots of extra effort for the user. - assert len(self.get_electricity_carriers().keys()) <= 1 - - if len(self.get_electricity_carriers().keys()) == 1: - try: - price_profile = self.get_timeseries( - f"{list(self.get_electricity_carriers().values())[0]['name']}.price_profile" - ) - except KeyError: - price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) - else: - price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) + price_profile = self.__get_electricity_price_profile_or_zero() sum_ = ca.sum1( variable_operational_cost_coefficient @@ -979,17 +985,7 @@ def __variable_operational_cost_constraints(self, ensemble_member): pump_power = self.__state_vector_scaled(f"{asset}.Pump_power", ensemble_member) eff = parameters[f"{asset}.pump_efficiency"] - # We assume that only one electricity carrier is specified, to compute the cost with. - # Otherwise we need to link the electricity carrier somehow to the source and pump asset - # which is lots of extra effort for the user. - assert len(self.get_electricity_carriers().keys()) <= 1 - - if len(self.get_electricity_carriers().keys()) == 1: - price_profile = self.get_timeseries( - f"{list(self.get_electricity_carriers().values())[0]['name']}.price_profile" - ) - else: - price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) + price_profile = self.__get_electricity_price_profile_or_zero() sum_ = ca.sum1(price_profile.values[1:] * pump_power[1:] * timesteps_hr / eff) @@ -1009,20 +1005,7 @@ def __variable_operational_cost_constraints(self, ensemble_member): pump_power = self.__state_vector_scaled(f"{s}.Pump_power", ensemble_member) eff = parameters[f"{s}.pump_efficiency"] - # We assume that only one electricity carrier is specified, to compute the cost with. - # Otherwise we need to link the electricity carrier somehow to the source and pump asset - # which is lots of extra effort for the user. - assert len(self.get_electricity_carriers().keys()) <= 1 - - if len(self.get_electricity_carriers().keys()) == 1: - try: - price_profile = self.get_timeseries( - f"{list(self.get_electricity_carriers().values())[0]['name']}.price_profile" - ) - except KeyError: - price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) - else: - price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) + price_profile = self.__get_electricity_price_profile_or_zero() nominator_vector = None denominator = 1.0 @@ -1090,17 +1073,7 @@ def __variable_operational_cost_constraints(self, ensemble_member): pump_power = self.__state_vector_scaled(f"{hp}.Pump_power", ensemble_member) eff = parameters[f"{hp}.pump_efficiency"] - # We assume that only one electricity carrier is specified, to compute the cost with. - # Otherwise we need to link the electricity carrier somehow to the source and pump asset - # which is lots of extra effort for the user. - assert len(self.get_electricity_carriers().keys()) <= 1 - - if len(self.get_electricity_carriers().keys()) == 1: - price_profile = self.get_timeseries( - f"{list(self.get_electricity_carriers().values())[0]['name']}.price_profile" - ) - else: - price_profile = Timeseries(self.times(), np.zeros(len(self.times()))) + price_profile = self.__get_electricity_price_profile_or_zero() sum_ = ca.sum1( variable_operational_cost_coefficient * elec_consumption[1:] * timesteps_hr From abc60a85048ebe1689d896046d6424d214db6aeb Mon Sep 17 00:00:00 2001 From: Femke Janssen <137757789+FJanssen-TNO@users.noreply.github.com> Date: Fri, 29 May 2026 09:13:16 +0200 Subject: [PATCH 374/376] 453 remove the need for ret in carriers (#472) Changed the carrier_id mapping in MESIDO to use the carrier ids directly as a string instead of a integers. Thereby the requirement for "_ret" in the carrier name is removed as now the carriers can be identified by their ids directly. --- CHANGELOG.md | 2 + src/mesido/component_type_mixin.py | 6 +- src/mesido/esdl/asset_to_component_base.py | 32 +++-- src/mesido/esdl/esdl_additional_vars_mixin.py | 6 +- src/mesido/esdl/esdl_heat_model.py | 24 +--- src/mesido/esdl/esdl_parser.py | 28 ---- src/mesido/financial_mixin.py | 33 +++-- src/mesido/head_loss_class.py | 34 ++--- src/mesido/heat_physics_mixin.py | 124 ++++++++++-------- .../component_library/milp/heat/heat_pipe.py | 2 +- .../milp/heat/heat_two_port.py | 4 +- .../src/run_ates_temperature.py | 2 +- .../heat_exchange/src/run_heat_exchanger.py | 15 +-- tests/models/heatpump/src/run_heat_pump.py | 2 +- tests/models/unit_cases/case_1a/src/run_1a.py | 23 +--- tests/models/unit_cases/case_3a/src/run_3a.py | 32 ++--- ...est_multiple_in_and_out_port_components.py | 21 ++- tests/test_temperature_ates_hp.py | 5 +- tests/test_varying_temperature.py | 70 +++++----- tests/utils_tests.py | 22 ++-- 20 files changed, 219 insertions(+), 268 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91e9f3669..d66d6a8f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,8 @@ - Heating_and_cooling example is cleaned up - The number of binary variables for the linearized head loss calculation is reduced by half, by only creating them for the positive quadrant. - No longer required to add an electricity price profile if an electricity carrier is available. +- Removed the need for "_ret" in the carrier name and id. +- The carrier id is now saved as a string and thus in the string_parameters of each asset. ## Fixed - ProfileConstraints: Use already available function to get profile quantity and unit diff --git a/src/mesido/component_type_mixin.py b/src/mesido/component_type_mixin.py index 8d849ed8c..c80ab8ceb 100644 --- a/src/mesido/component_type_mixin.py +++ b/src/mesido/component_type_mixin.py @@ -463,7 +463,11 @@ def energy_system_components(self) -> Dict[str, Set[str]]: # Find the components in model, detection by string # (name.component_type: type) component_types = sorted( - {v for k, v in string_parameters.items() if "network_type" not in k} + { + v + for k, v in string_parameters.items() + if ("component_type" in k) or ("component_subtype" in k) + } ) components = {} diff --git a/src/mesido/esdl/asset_to_component_base.py b/src/mesido/esdl/asset_to_component_base.py index 41deafd53..ced0e9aec 100644 --- a/src/mesido/esdl/asset_to_component_base.py +++ b/src/mesido/esdl/asset_to_component_base.py @@ -1144,10 +1144,16 @@ def _get_connected_q_nominal(self, asset: Asset) -> Union[float, Dict]: if isinstance(p.carrier, esdl.HeatCommodity): out_port = None for p2 in asset.out_ports: - if p2.carrier.name.replace("_ret", "") == p.carrier.name.replace( - "_ret", "" - ): + if p2.name.lower().replace("out", "in") == p.name.lower(): out_port = p2 + if not out_port: + logger.error( + f"Asset {asset.name} (id: {asset.id}) contains an inport " + f"with an HeatCommodity carrier, however there does not " + f"exist an outport with the same name where 'In' is replaced " + f"by 'Out'." + ) + exit(1) try: connected_port = p.connectedTo[0] q_nominal = self._port_to_q_nominal[connected_port] @@ -1263,7 +1269,7 @@ def _get_supply_return_temperatures(asset: Asset) -> Tuple[float, float]: # these are the pipes, nodes, valves, pumps modifiers = { "temperature": in_carrier["temperature"], - "carrier_id": in_carrier["id_number_mapping"], + "carrier_id": in_carrier["id"], } else: # These are the sources, storages and consumers @@ -1278,14 +1284,14 @@ def _get_supply_return_temperatures(asset: Asset) -> Tuple[float, float]: else out_carrier["temperature"] ) temperature_supply_id = ( - in_carrier["id_number_mapping"] + in_carrier["id"] if in_carrier["temperature"] > out_carrier["temperature"] - else out_carrier["id_number_mapping"] + else out_carrier["id"] ) temperature_return_id = ( - in_carrier["id_number_mapping"] + in_carrier["id"] if in_carrier["temperature"] < out_carrier["temperature"] - else out_carrier["id_number_mapping"] + else out_carrier["id"] ) modifiers = { @@ -1320,20 +1326,22 @@ def _supply_return_temperature_modifiers(self, asset: Asset) -> MODIFIERS: for p in asset.in_ports: if isinstance(p.carrier, esdl.HeatCommodity): carrier = asset.global_properties["carriers"][p.carrier.id] + carrier_id = carrier["id"] if self.secondary_port_name_convention in p.name.lower(): - sec_return_temperature_id = carrier["id_number_mapping"] + sec_return_temperature_id = carrier_id sec_return_temperature = carrier["temperature"] else: prim_supply_temperature = carrier["temperature"] - prim_supply_temperature_id = carrier["id_number_mapping"] + prim_supply_temperature_id = carrier_id for p in asset.out_ports: if isinstance(p.carrier, esdl.HeatCommodity): carrier = asset.global_properties["carriers"][p.carrier.id] + carrier_id = carrier["id"] if self.primary_port_name_convention in p.name.lower(): - prim_return_temperature_id = carrier["id_number_mapping"] + prim_return_temperature_id = carrier_id prim_return_temperature = carrier["temperature"] else: - sec_supply_temperature_id = carrier["id_number_mapping"] + sec_supply_temperature_id = carrier_id sec_supply_temperature = carrier["temperature"] if not prim_return_temperature or not sec_return_temperature: raise RuntimeError( diff --git a/src/mesido/esdl/esdl_additional_vars_mixin.py b/src/mesido/esdl/esdl_additional_vars_mixin.py index df06cc98e..e944ea60f 100644 --- a/src/mesido/esdl/esdl_additional_vars_mixin.py +++ b/src/mesido/esdl/esdl_additional_vars_mixin.py @@ -254,15 +254,15 @@ def temperature_regimes(self, carrier): *self.energy_system_components.get("heat_demand", []), ]: esdl_asset = self.esdl_assets[asset] - parameters = self.parameters(0) + string_parameters = self.string_parameters(0) for i in range(len(esdl_asset.attributes["constraint"].items)): constraint = esdl_asset.attributes["constraint"].items[i] if ( constraint.name == "supply_temperature" - and carrier == parameters[f"{asset}.T_supply_id"] + and carrier == string_parameters[f"{asset}.T_supply_id"] ) or ( constraint.name == "return_temperature" - and carrier == parameters[f"{asset}.T_return_id"] + and carrier == string_parameters[f"{asset}.T_return_id"] ): try: lb = self.__temperature_options[carrier][0] diff --git a/src/mesido/esdl/esdl_heat_model.py b/src/mesido/esdl/esdl_heat_model.py index 54d202d97..aa40cc986 100644 --- a/src/mesido/esdl/esdl_heat_model.py +++ b/src/mesido/esdl/esdl_heat_model.py @@ -923,9 +923,7 @@ def convert_gas_pipe(self, asset: Asset) -> Tuple[Type[GasPipe], MODIFIERS]: f"{length} meter" ) - id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ - "id_number_mapping" - ] + id_mapping = asset.in_ports[0].carrier.id diameter, wall_roughness = self._gas_pipe_get_diameter_and_roughness(asset) q_nominal = math.pi * diameter**2 / 4.0 * self.v_max_gas / 2.0 self._set_q_nominal(asset, q_nominal) @@ -1844,9 +1842,7 @@ def convert_electricity_demand(self, asset: Asset) -> Tuple[Type[ElectricityDema min_voltage = asset.in_ports[0].carrier.voltage i_max, i_nom = self._get_connected_i_nominal_and_max(asset) - id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ - "id_number_mapping" - ] + id_mapping = asset.in_ports[0].carrier.id modifiers = dict( min_voltage=min_voltage, @@ -2238,9 +2234,7 @@ def convert_gas_demand(self, asset: Asset) -> Tuple[Type[GasDemand], MODIFIERS]: """ assert asset.asset_type in {"GasDemand", "Export"} - id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ - "id_number_mapping" - ] + id_mapping = asset.in_ports[0].carrier.id # DO not remove due usage in future # hydrogen_specfic_energy = 20.0 / 1.0e6 specific_energy = get_energy_content(asset.name, asset.in_ports[0].carrier) # J/kg @@ -2735,9 +2729,7 @@ def convert_heat_source_gas( if is_one_in_port: return HeatSourceGas, modifiers - id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ - "id_number_mapping" - ] + id_mapping = asset.in_ports[0].carrier.id for port in asset.in_ports: if isinstance(port.carrier, esdl.GasCommodity): @@ -2821,9 +2813,7 @@ def convert_heat_source_elec( if is_one_in_port: return HeatSourceElec, modifiers - id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ - "id_number_mapping" - ] + id_mapping = asset.in_ports[0].carrier.id # TODO: CO2 coefficient @@ -2898,9 +2888,7 @@ def convert_air_water_heat_pump_elec( logger.error(f"{asset.asset_type} '{asset.name}' has no max power specified. ") assert max_supply > 0.0 - id_mapping = asset.global_properties["carriers"][asset.in_ports[0].carrier.id][ - "id_number_mapping" - ] + id_mapping = asset.in_ports[0].carrier.id # TODO: CO2 coefficient diff --git a/src/mesido/esdl/esdl_parser.py b/src/mesido/esdl/esdl_parser.py index 9183862a4..89d0c534f 100644 --- a/src/mesido/esdl/esdl_parser.py +++ b/src/mesido/esdl/esdl_parser.py @@ -34,58 +34,30 @@ def _load_esdl_model(self) -> None: def read_esdl(self) -> None: self._load_esdl_model() - id_to_idnumber_map = {} for x in self._energy_system.energySystemInformation.carriers.carrier.items: if isinstance(x, esdl.esdl.HeatCommodity): - if x.id not in id_to_idnumber_map: - number_list = [int(s) for s in x.id if s.isdigit()] - number = "" - for nr in number_list: - number = number + str(nr) - # note this fix is to create a unique number for the map for when the pipe - # duplicator service is used and an additional _ret is added to the id. - if "_ret" in x.id: - number = number + "000" - id_to_idnumber_map[x.id] = int(number) - temperature = x.supplyTemperature if x.supplyTemperature else x.returnTemperature assert temperature > 0.0 - self._global_properties["carriers"][x.id] = dict( name=x.name, id=x.id, - id_number_mapping=id_to_idnumber_map[x.id], temperature=temperature, type="milp", ) elif isinstance(x, esdl.esdl.ElectricityCommodity): - if x.id not in id_to_idnumber_map: - number_list = [int(s) for s in x.id if s.isdigit()] - number = "" - for nr in number_list: - number = number + str(nr) - id_to_idnumber_map[x.id] = int(number) self._global_properties["carriers"][x.id] = dict( name=x.name, voltage=x.voltage, id=x.id, type="electricity", - id_number_mapping=id_to_idnumber_map[x.id], ) elif isinstance(x, esdl.esdl.GasCommodity): - if x.id not in id_to_idnumber_map: - number_list = [int(s) for s in x.id if s.isdigit()] - number = "" - for nr in number_list: - number = number + str(nr) - id_to_idnumber_map[x.id] = int(number) self._global_properties["carriers"][x.id] = dict( name=x.name, pressure=x.pressure, id=x.id, type="gas", - id_number_mapping=id_to_idnumber_map[x.id], ) # Component ids are unique, but we require component names to be unique as well. diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index acf201b18..caa7d1241 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -98,6 +98,7 @@ def pre(self): options = self.energy_system_options() parameters = self.parameters(0) bounds = self.bounds() + string_parameters = self.string_parameters(0) # Making the cost variables; fixed_operational_cost, variable_operational_cost, # installation_cost and investment_cost @@ -412,13 +413,10 @@ def pre(self): ]: carrier_name = None - for _id, attr in self.get_electricity_carriers().items(): - if attr["id_number_mapping"] == parameters[f"{asset_name}.id_mapping_carrier"]: - carrier_name = attr["name"] - for _id, attr in self.get_gas_carriers().items(): - if attr["id_number_mapping"] == parameters[f"{asset_name}.id_mapping_carrier"]: - carrier_name = attr["name"] - if carrier_name is not None: + carrier_id_asset = string_parameters[f"{asset_name}.id_mapping_carrier"] + carrier = self.esdl_carriers.get(carrier_id_asset, None) + carrier_name = carrier["name"] + if f"{carrier_name}.price_profile" in self.io.get_timeseries_names(): asset_revenue_var = f"{asset_name}__revenue" self._asset_revenue_map[asset_name] = asset_revenue_var self.__asset_revenue_var[asset_revenue_var] = ca.MX.sym(asset_revenue_var) @@ -1550,23 +1548,22 @@ def __revenue_constraints(self, ensemble_member): # finalised # TODO: add fixed price default from ESDL in case no price profile is defined. - parameters = self.parameters(ensemble_member) + string_parameters = self.string_parameters(ensemble_member) + + carriers = self.esdl_carriers for demand in [ *self.energy_system_components.get("gas_demand", []), *self.energy_system_components.get("electricity_demand", []), ]: - carrier_name = None - for _id, attr in self.get_electricity_carriers().items(): - if attr["id_number_mapping"] == parameters[f"{demand}.id_mapping_carrier"]: - carrier_name = attr["name"] - cost_multiplier = 1 / 3600.0 # priceprofile electricity is EUR/Wh - for _id, attr in self.get_gas_carriers().items(): - if attr["id_number_mapping"] == parameters[f"{demand}.id_mapping_carrier"]: - carrier_name = attr["name"] - cost_multiplier = 1.0 # priceprofile gas is in EUR/g - if carrier_name is not None: + carrier_id = string_parameters[f"{demand}.id_mapping_carrier"] + carrier_name = carriers[carrier_id]["name"] + if carrier_id in self.get_electricity_carriers().keys(): + cost_multiplier = 1 / 3600.0 # priceprofile electricity is EUR/Wh + else: + cost_multiplier = 1.0 # priceprofile gas is in EUR/g + if f"{carrier_name}.price_profile" in self.io.get_timeseries_names(): price_profile_timeseries = self.get_timeseries(f"{carrier_name}.price_profile") # The slicing is required if the timeseries wasn't adapted in the read mask = (price_profile_timeseries.times >= self.times()[0]) & ( diff --git a/src/mesido/head_loss_class.py b/src/mesido/head_loss_class.py index 2df3dc1ae..ad4342783 100644 --- a/src/mesido/head_loss_class.py +++ b/src/mesido/head_loss_class.py @@ -592,21 +592,18 @@ def _hn_pipe_head_loss( area = parameters[f"{pipe}.area"] maximum_velocity = network_settings["maximum_velocity"] + string_parameters = optimization_problem.string_parameters(0) try: # Only heat networks have a temperature attribute in the pipes, otherwise we will use # a default temperature for gas networks temperature = parameters[f"{pipe}.temperature"] - for _id, attr in optimization_problem.temperature_carriers().items(): - if ( - parameters[f"{pipe}.carrier_id"] == attr["id_number_mapping"] - and len( - optimization_problem.temperature_regimes(parameters[f"{pipe}.carrier_id"]) - ) - > 0 - ): - temperature = min( - optimization_problem.temperature_regimes(parameters[f"{pipe}.carrier_id"]) + pipe_carrier_id = string_parameters[f"{pipe}.carrier_id"] + if len(optimization_problem.temperature_regimes(pipe_carrier_id)) > 0: + temperature = min( + optimization_problem.temperature_regimes( + string_parameters[f"{pipe}.carrier_id"] ) + ) except KeyError: # A default temperature of 20 degrees celcius is used for gas networks. temperature = 20.0 @@ -965,20 +962,17 @@ def _hydraulic_power( else: assert big_m != 0.0 + string_parameters = optimization_problem.string_parameters(0) wall_roughness = energy_system_options["wall_roughness"] if network_type == NetworkSettings.NETWORK_TYPE_HEAT: temperature = parameters[f"{pipe}.temperature"] - for _id, attr in optimization_problem.temperature_carriers().items(): - if ( - parameters[f"{pipe}.carrier_id"] == attr["id_number_mapping"] - and len( - optimization_problem.temperature_regimes(parameters[f"{pipe}.carrier_id"]) - ) - > 0 - ): - temperature = min( - optimization_problem.temperature_regimes(parameters[f"{pipe}.carrier_id"]) + pipe_carrier_id = string_parameters[f"{pipe}.carrier_id"] + if len(optimization_problem.temperature_regimes(pipe_carrier_id)) > 0: + temperature = min( + optimization_problem.temperature_regimes( + string_parameters[f"{pipe}.carrier_id"] ) + ) else: # A default temperature of 20 degrees celcius is used for gas networks. temperature = 20.0 diff --git a/src/mesido/heat_physics_mixin.py b/src/mesido/heat_physics_mixin.py index 760e17826..907101fec 100644 --- a/src/mesido/heat_physics_mixin.py +++ b/src/mesido/heat_physics_mixin.py @@ -219,6 +219,7 @@ def pre(self): options = self.energy_system_options() parameters = self.parameters(0) + string_parameters = self.string_parameters(0) def _get_max_bound(bound): if isinstance(bound, np.ndarray): @@ -339,7 +340,7 @@ def _get_min_bound(bound): self.__ates_temperature_disc_var[ates_temp_disc_var_name] = ca.MX.sym( ates_temp_disc_var_name ) - carrier_id = parameters[f"{hot_pipe}.carrier_id"] + carrier_id = string_parameters[f"{hot_pipe}.carrier_id"] temperatures = self.temperature_regimes(carrier_id) if len(temperatures) == 0: temperature = parameters[f"{hot_pipe}.temperature"] @@ -385,11 +386,10 @@ def _get_min_bound(bound): ates_temperature_disc_ordering_var_name ] = (0.0, 1.0) - for _carrier, temperatures in self.temperature_carriers().items(): - carrier_id_number_mapping = str(temperatures["id_number_mapping"]) - temp_var_name = carrier_id_number_mapping + "_temperature" + for carrier_id, temperatures in self.temperature_carriers().items(): + temp_var_name = carrier_id + "_temperature" self.__temperature_regime_var[temp_var_name] = ca.MX.sym(temp_var_name) - temperature_regimes = self.temperature_regimes(int(carrier_id_number_mapping)) + temperature_regimes = self.temperature_regimes(carrier_id) if len(temperature_regimes) == 0: temperature = temperatures["temperature"] self.__temperature_regime_var_bounds[temp_var_name] = (temperature, temperature) @@ -411,12 +411,12 @@ def _get_min_bound(bound): ) for temperature_regime in temperature_regimes: - carrier_selected_var = carrier_id_number_mapping + f"_{temperature_regime}" + carrier_selected_var = carrier_id + f"_{temperature_regime}" self.__carrier_selected_var[carrier_selected_var] = ca.MX.sym(carrier_selected_var) self.__carrier_selected_var_bounds[carrier_selected_var] = (0.0, 1.0) carrier_temperature_disc_ordering_var_name = ( - f"{carrier_id_number_mapping}__{temperature_regime}_ordering_disc" + f"{carrier_id}__{temperature_regime}_ordering_disc" ) self.__carrier_temperature_disc_ordering_var[ carrier_temperature_disc_ordering_var_name @@ -434,7 +434,7 @@ def _get_min_bound(bound): # override the .Heat_loss parameter for cold pipes, even though # it is not actually used in the optimization problem. heat_loss_var_name = f"{pipe}__hn_heat_loss" - carrier_id = parameters[f"{pipe}.carrier_id"] + carrier_id = string_parameters[f"{pipe}.carrier_id"] if len(self.temperature_regimes(carrier_id)) == 0: self.__pipe_heat_loss_var[heat_loss_var_name] = ca.MX.sym(heat_loss_var_name) else: @@ -1347,6 +1347,7 @@ def __demand_heat_to_discharge_path_constraints(self, ensemble_member): """ constraints = [] parameters = self.parameters(ensemble_member) + string_parameters = self.string_parameters(ensemble_member) for d in [ *self.energy_system_components.get("heat_demand", []), @@ -1358,7 +1359,7 @@ def __demand_heat_to_discharge_path_constraints(self, ensemble_member): discharge = self.state(f"{d}.Q") heat_out = self.state(f"{d}.HeatOut.Heat") - ret_carrier = parameters[f"{d}.T_return_id"] + ret_carrier = string_parameters[f"{d}.T_return_id"] return_temperatures = self.temperature_regimes(ret_carrier) big_m = 2.0 * self.bounds()[f"{d}.HeatOut.Heat"][1] @@ -1395,6 +1396,7 @@ def __source_heat_to_discharge_path_constraints(self, ensemble_member): """ constraints = [] parameters = self.parameters(ensemble_member) + string_parameters = self.string_parameters(ensemble_member) for s in self.energy_system_components.get("heat_source", []): heat_nominal = parameters[f"{s}.Heat_nominal"] @@ -1408,7 +1410,7 @@ def __source_heat_to_discharge_path_constraints(self, ensemble_member): constraint_nominal = (heat_nominal * cp * rho * dt * q_nominal) ** 0.5 - sup_carrier = parameters[f"{s}.T_supply_id"] + sup_carrier = string_parameters[f"{s}.T_supply_id"] supply_temperatures = self.temperature_regimes(sup_carrier) big_m = 2.0 * self.bounds()[f"{s}.HeatOut.Heat"][1] @@ -1522,6 +1524,7 @@ def __cold_demand_heat_to_discharge_path_constraints(self, ensemble_member): """ constraints = [] parameters = self.parameters(ensemble_member) + string_parameters = self.string_parameters(ensemble_member) for d in self.energy_system_components.get("cold_demand", []): heat_nominal = parameters[f"{d}.Heat_nominal"] @@ -1530,7 +1533,7 @@ def __cold_demand_heat_to_discharge_path_constraints(self, ensemble_member): discharge = self.state(f"{d}.Q") heat_out = self.state(f"{d}.HeatOut.Heat") - sup_carrier = parameters[f"{d}.T_supply_id"] + sup_carrier = string_parameters[f"{d}.T_supply_id"] supply_temperatures = self.temperature_regimes(sup_carrier) big_m = 2.0 * self.bounds()[f"{d}.HeatOut.Heat"][1] @@ -1577,32 +1580,31 @@ def __get_out_port_carrier_temp_profile(self, parameters, asset_name, asset_type carriers = None carriers_ids = [] sup_carrier_name = None + string_parameters = self.string_parameters(0) + temp_out_profile = None temp_out_prof_start_idx = None temp_out_prof_end_idx = None carrier_id_types = {"heat_source": ".T_supply_id", "heat_pipe": ".carrier_id"} - for carrier_id in carriers_ids: - if ( - carriers[carrier_id]["id_number_mapping"] - == parameters[f"{asset_name}{carrier_id_types[asset_type]}"] - ): - sup_carrier_name = carriers[carrier_id]["name"] - try: - temp_out_profile = self.get_timeseries(f"{sup_carrier_name}.price_profile") - temp_out_prof_start_idx = int( - np.where( - self.get_timeseries(f"{sup_carrier_name}.price_profile").times - == self.times()[0] - )[0] - ) - temp_out_prof_end_idx = int( - np.where( - self.get_timeseries(f"{sup_carrier_name}.price_profile").times - == self.times()[-1] - )[0] - ) - except KeyError: - pass + carrier_id = string_parameters[f"{asset_name}{carrier_id_types[asset_type]}"] + if carrier_id in carriers_ids: + sup_carrier_name = carriers[carrier_id]["name"] + try: + temp_out_profile = self.get_timeseries(f"{sup_carrier_name}.price_profile") + temp_out_prof_start_idx = int( + np.where( + self.get_timeseries(f"{sup_carrier_name}.price_profile").times + == self.times()[0] + )[0] + ) + temp_out_prof_end_idx = int( + np.where( + self.get_timeseries(f"{sup_carrier_name}.price_profile").times + == self.times()[-1] + )[0] + ) + except KeyError: + pass return temp_out_profile, sup_carrier_name, temp_out_prof_start_idx, temp_out_prof_end_idx @@ -1623,6 +1625,7 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): """ constraints = [] parameters = self.parameters(ensemble_member) + string_parameters = self.string_parameters(ensemble_member) sum_heat_losses = 0.0 @@ -1653,7 +1656,7 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): np.abs((*self.bounds()[f"{p}.HeatIn.Heat"], *self.bounds()[f"{p}.HeatOut.Heat"])) ) - carrier = parameters[f"{p}.carrier_id"] + carrier = string_parameters[f"{p}.carrier_id"] temperatures = self.temperature_regimes(carrier) # TODO: flowdir can be 1 or 0 when Q==0.0, so heat needs to be explicitely set to be @@ -1695,7 +1698,7 @@ def __pipe_heat_to_discharge_path_constraints(self, ensemble_member): temp = max(parameters[f"{p}.temperature"], parameters[f"{p}.T_ground"]) assert big_m > 0.0 - carrier = parameters[f"{p}.carrier_id"] + carrier = string_parameters[f"{p}.carrier_id"] temperatures = self.temperature_regimes(carrier) if len(temperatures) == 0: constraints.extend( @@ -1779,6 +1782,7 @@ def __ates_temperature_path_constraints(self, ensemble_member): constraints = [] parameters = self.parameters(ensemble_member) + string_parameters = self.string_parameters(ensemble_member) options = self.energy_system_options() for ates_asset, ( @@ -1794,7 +1798,7 @@ def __ates_temperature_path_constraints(self, ensemble_member): flow_dir_var = self._heat_pipe_to_flow_direct_map[hot_pipe] is_buffer_charging = self.state(flow_dir_var) - sup_carrier = parameters[f"{ates_asset}.T_supply_id"] + sup_carrier = string_parameters[f"{ates_asset}.T_supply_id"] supply_temperatures = self.temperature_regimes(sup_carrier) ates_temperature = self.state(f"{ates_asset}.Temperature_ates") ates_temperature_disc = self.state(f"{ates_asset}__temperature_ates_disc") @@ -2022,6 +2026,7 @@ def __ates_temperature_changing_path_constraints(self, ensemble_member): """ constraints = [] parameters = self.parameters(ensemble_member) + string_parameters = self.string_parameters(ensemble_member) bounds = self.bounds() options = self.energy_system_options() @@ -2039,7 +2044,7 @@ def __ates_temperature_changing_path_constraints(self, ensemble_member): ates_temperature_loss_nominal = self.variable_nominal(f"{ates}.Temperature_loss") ates_dt_charging_nominal = self.variable_nominal(f"{ates}.Temperature_change_charging") - sup_carrier = parameters[f"{ates}.T_supply_id"] + sup_carrier = string_parameters[f"{ates}.T_supply_id"] supply_temperatures = self.temperature_regimes(sup_carrier) if options["include_ates_temperature_options"] and len(supply_temperatures) != 0: @@ -2171,6 +2176,7 @@ def __ates_heat_losses_path_constraints(self, ensemble_member): """ constraints = [] parameters = self.parameters(ensemble_member) + string_parameters = self.string_parameters(ensemble_member) bounds = self.bounds() options = self.energy_system_options() @@ -2182,7 +2188,7 @@ def __ates_heat_losses_path_constraints(self, ensemble_member): stored_heat = self.state(f"{ates}.Stored_heat") heat_loss = self.state(f"{ates}.Heat_loss") - sup_carrier = parameters[f"{ates}.T_supply_id"] + sup_carrier = string_parameters[f"{ates}.T_supply_id"] supply_temperatures = self.temperature_regimes(sup_carrier) if ( @@ -2257,6 +2263,7 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): """ constraints = [] parameters = self.parameters(ensemble_member) + string_parameters = self.string_parameters(ensemble_member) bounds = self.bounds() options = self.energy_system_options() @@ -2312,8 +2319,8 @@ def __storage_heat_to_discharge_path_constraints(self, ensemble_member): # ((heat_flow + big_m * (1 - is_buffer_charging)) / heat_nominal, 0.0, np.inf) # ) - sup_carrier = parameters[f"{b}.T_supply_id"] - ret_carrier = parameters[f"{b}.T_return_id"] + sup_carrier = string_parameters[f"{b}.T_supply_id"] + ret_carrier = string_parameters[f"{b}.T_return_id"] supply_temperatures = self.temperature_regimes(sup_carrier) return_temperatures = self.temperature_regimes(ret_carrier) @@ -2463,15 +2470,14 @@ def __network_temperature_path_constraints(self, ensemble_member): """ constraints = [] - for _carrier, temperatures in self.temperature_carriers().items(): - number = temperatures["id_number_mapping"] + for carrier_id in self.temperature_carriers().keys(): sum = 0.0 - temperature_regimes = self.temperature_regimes(int(number)) + temperature_regimes = self.temperature_regimes(carrier_id) for temperature in temperature_regimes: - temp_selected = self.state(f"{int(number)}_{temperature}") + temp_selected = self.state(f"{carrier_id}_{temperature}") sum += temp_selected - temperature_var = self.state(f"{int(number)}_temperature") - big_m = 2.0 * self.bounds()[f"{int(number)}_temperature"][1] + temperature_var = self.state(f"{carrier_id}_temperature") + big_m = 2.0 * self.bounds()[f"{carrier_id}_temperature"][1] # Constraints for setting the temperature variable to the chosen temperature constraints.extend( self._symmetric_big_m_constraints( @@ -2507,6 +2513,7 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): """ constraints = [] parameters = self.parameters(ensemble_member) + string_parameters = self.string_parameters(ensemble_member) hn_settings = self.heat_network_settings @@ -2540,9 +2547,8 @@ def __heat_exchanger_heat_to_discharge_path_constraints(self, ensemble_member): * self.variable_nominal(f"{heat_exchanger}.Primary.HeatIn.Q") ) - sup_carrier_prim = parameters[f"{heat_exchanger}.Primary.T_supply_id"] - ret_carrier_prim = parameters[f"{heat_exchanger}.Primary.T_return_id"] - + sup_carrier_prim = string_parameters[f"{heat_exchanger}.Primary.T_supply_id"] + ret_carrier_prim = string_parameters[f"{heat_exchanger}.Primary.T_return_id"] supply_temperatures_prim = self.temperature_regimes(sup_carrier_prim) return_temperatures_prim = self.temperature_regimes(ret_carrier_prim) @@ -2764,8 +2770,8 @@ def __constraints_temperature_heat_to_discharge_bypass_secondary( ) # Secondary side - sup_carrier_sec = parameters[f"{heat_exchanger}.Secondary.T_supply_id"] - ret_carrier_sec = parameters[f"{heat_exchanger}.Secondary.T_return_id"] + sup_carrier_sec = string_parameters[f"{heat_exchanger}.Secondary.T_supply_id"] + ret_carrier_sec = string_parameters[f"{heat_exchanger}.Secondary.T_return_id"] supply_temperatures_sec = self.temperature_regimes(sup_carrier_sec) return_temperatures_sec = self.temperature_regimes(ret_carrier_sec) @@ -3138,6 +3144,7 @@ class and the selected temperature in the network. list of the added constraints """ constraints = [] + string_parameters = self.string_parameters(ensemble_member) for p in self.energy_system_components.get("heat_pipe", []): pipe_classes = [] @@ -3146,7 +3153,7 @@ class and the selected temperature in the network. constraint_nominal = self.variable_nominal(heat_loss_sym_name) - carrier = self.parameters(ensemble_member)[f"{p}.carrier_id"] + carrier = string_parameters[f"{p}.carrier_id"] temperatures = self.temperature_regimes(carrier) if len(temperatures) == 0: @@ -3262,14 +3269,15 @@ def __heat_pump_cop_path_constraints(self, ensemble_member): constraints = [] parameters = self.parameters(ensemble_member) + string_parameters = self.string_parameters(ensemble_member) for hp in [ *self.energy_system_components.get("heat_pump", []), ]: - sec_sup_carrier = parameters[f"{hp}.Secondary.T_supply_id"] - sec_ret_carrier = parameters[f"{hp}.Secondary.T_return_id"] - prim_sup_carrier = parameters[f"{hp}.Primary.T_supply_id"] - prim_ret_carrier = parameters[f"{hp}.Primary.T_return_id"] + sec_sup_carrier = string_parameters[f"{hp}.Secondary.T_supply_id"] + sec_ret_carrier = string_parameters[f"{hp}.Secondary.T_return_id"] + prim_sup_carrier = string_parameters[f"{hp}.Primary.T_supply_id"] + prim_ret_carrier = string_parameters[f"{hp}.Primary.T_return_id"] sec_sup_temps = self.temperature_regimes(sec_sup_carrier) sec_ret_temps = self.temperature_regimes(sec_ret_carrier) @@ -3353,11 +3361,11 @@ def __heat_pump_cop_path_constraints(self, ensemble_member): def __ates_temperature_ordering_path_constraints(self, ensemble_member): constraints = [] - parameters = self.parameters(ensemble_member) + string_parameters = self.string_parameters(ensemble_member) for ates in self.energy_system_components.get("ates", []): - sup_carrier = parameters[f"{ates}.T_supply_id"] + sup_carrier = string_parameters[f"{ates}.T_supply_id"] supply_temperatures = self.temperature_regimes(sup_carrier) if len(supply_temperatures) > 1: big_m = 2.0 * max(supply_temperatures) diff --git a/src/mesido/pycml/component_library/milp/heat/heat_pipe.py b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py index 2d436a1c9..fef05e7a5 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_pipe.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_pipe.py @@ -43,7 +43,7 @@ def __init__(self, name, **modifiers): assert "area" not in modifiers, "modifying area directly is not allowed" self.area = 0.25 * pi * self.diameter**2 self.temperature = nan - self.carrier_id = -1 + self.carrier_id = "-1" self.pressure = 16.0e5 # Parameters determining the heat loss diff --git a/src/mesido/pycml/component_library/milp/heat/heat_two_port.py b/src/mesido/pycml/component_library/milp/heat/heat_two_port.py index d5e08b0a4..83c774fcb 100644 --- a/src/mesido/pycml/component_library/milp/heat/heat_two_port.py +++ b/src/mesido/pycml/component_library/milp/heat/heat_two_port.py @@ -28,8 +28,8 @@ def __init__(self, name, **modifiers): self.Q_nominal = 1.0 self.T_supply = nan self.T_return = nan - self.T_supply_id = -1 - self.T_return_id = -1 + self.T_supply_id = "-1" + self.T_return_id = "-1" self.dT = self.T_supply - self.T_return self.cp = 4200.0 self.rho = 988.0 diff --git a/tests/models/ates_temperature/src/run_ates_temperature.py b/tests/models/ates_temperature/src/run_ates_temperature.py index eb2b4e2d0..ead2c2e05 100644 --- a/tests/models/ates_temperature/src/run_ates_temperature.py +++ b/tests/models/ates_temperature/src/run_ates_temperature.py @@ -162,7 +162,7 @@ def temperature_carriers(self): def temperature_regimes(self, carrier): temperatures = [] - if carrier == 41770304791669983859190: + if carrier == "c41e7703-dee0-4dc7-9166-a99838591a90": # supply # temperatures = np.linspace(50, 70, 9).tolist()[::-1] # temperatures = np.linspace(52.5, 65, 6).tolist()[::-1] diff --git a/tests/models/heat_exchange/src/run_heat_exchanger.py b/tests/models/heat_exchange/src/run_heat_exchanger.py index 86e0446cc..f2cda88bd 100644 --- a/tests/models/heat_exchange/src/run_heat_exchanger.py +++ b/tests/models/heat_exchange/src/run_heat_exchanger.py @@ -127,14 +127,11 @@ def energy_system_options(self): def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) # These constraints are added to allow for a quicker solve - for _carrier, temperatures in self.temperature_carriers().items(): - carrier_id_number_mapping = str(temperatures["id_number_mapping"]) - temperature_regimes = self.temperature_regimes(int(carrier_id_number_mapping)) + for carrier_id in self.temperature_carriers().keys(): + temperature_regimes = self.temperature_regimes(carrier_id) if len(temperature_regimes) > 0: for temperature in temperature_regimes: - selected_temp_vec = self.state_vector( - f"{int(carrier_id_number_mapping)}_{temperature}" - ) + selected_temp_vec = self.state_vector(f"{carrier_id}_{temperature}") for i in range(1, len(self.times())): constraints.append( (selected_temp_vec[i] - selected_temp_vec[i - 1], 0.0, 0.0) @@ -155,7 +152,7 @@ def times(self, variable=None) -> np.ndarray: def temperature_regimes(self, carrier): temperatures = [] - if carrier == 7212673879469902607010: + if carrier == "72126c73-87e9-4bf6-99cf-d02a6c07010c": # supply temperatures = [70.0, 90.0] @@ -171,7 +168,7 @@ def energy_system_options(self): def temperature_regimes(self, carrier): temperatures = [] - if carrier == 33638164429859421: # 7212673879469902607010: + if carrier == "d336e381-ca6f-442e-985e-9f4c2bec1efe": # 7212673879469902607010: # supply temperatures = [69.0, 80.0, 90.0] @@ -190,7 +187,7 @@ def esdl_assets(self): def temperature_regimes(self, carrier): temperatures = [] - if carrier == 33638164429859421: # 7212673879469902607010: + if carrier == "d336e381-ca6f-442e-985e-9f4c2bec1efe": # 7212673879469902607010: # supply temperatures = [69.0] diff --git a/tests/models/heatpump/src/run_heat_pump.py b/tests/models/heatpump/src/run_heat_pump.py index f4334c7e3..6ab508960 100644 --- a/tests/models/heatpump/src/run_heat_pump.py +++ b/tests/models/heatpump/src/run_heat_pump.py @@ -132,7 +132,7 @@ def temperature_carriers(self): def temperature_regimes(self, carrier): temperatures = [] - if carrier == 7212673879469902607010: + if carrier == "72126c73-87e9-4bf6-99cf-d02a6c07010c": # supply temperatures = [85.0, 90.0] diff --git a/tests/models/unit_cases/case_1a/src/run_1a.py b/tests/models/unit_cases/case_1a/src/run_1a.py index 7acad48a9..bf6fa8995 100644 --- a/tests/models/unit_cases/case_1a/src/run_1a.py +++ b/tests/models/unit_cases/case_1a/src/run_1a.py @@ -74,11 +74,11 @@ def temperature_carriers(self): def temperature_regimes(self, carrier): temperatures = [] - if carrier == 3625334968694477359: + if carrier == "c362f53a-3eaf-4d96-8ee6-944e77359fed": # supply temperatures = [80.0, 85.0] - if carrier == 3625334968694477359000: + if carrier == "c362f53a-3eaf-4d96-8ee6-944e77359fed_ret": # return temperatures = [60.0, 65.0] @@ -87,24 +87,11 @@ def temperature_regimes(self, carrier): def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) # These constraints are added to allow for a quicker solve - for carrier, temperatures in self.temperature_carriers().items(): - if "id_number_mapping" in temperatures.keys(): - carrier_id_number_mapping = str(temperatures["id_number_mapping"]) - else: - number_list = [int(s) for s in carrier if s.isdigit()] - number = "" - for nr in number_list: - number = number + str(nr) - carrier_type = temperatures["__rtc_type"] - if carrier_type == "return": - number = number + "000" - carrier_id_number_mapping = number - temperature_regimes = self.temperature_regimes(int(carrier_id_number_mapping)) + for carrier_id in self.temperature_carriers().keys(): + temperature_regimes = self.temperature_regimes(carrier_id) if len(temperature_regimes) > 0: for temperature in temperature_regimes: - selected_temp_vec = self.state_vector( - f"{int(carrier_id_number_mapping)}_{temperature}" - ) + selected_temp_vec = self.state_vector(f"{carrier_id}_{temperature}") for i in range(1, len(self.times())): constraints.append( (selected_temp_vec[i] - selected_temp_vec[i - 1], 0.0, 0.0) diff --git a/tests/models/unit_cases/case_3a/src/run_3a.py b/tests/models/unit_cases/case_3a/src/run_3a.py index a657e590f..03e5abe18 100644 --- a/tests/models/unit_cases/case_3a/src/run_3a.py +++ b/tests/models/unit_cases/case_3a/src/run_3a.py @@ -196,7 +196,7 @@ def temperature_carriers(self): def temperature_regimes(self, carrier): temperatures = [] - if carrier == 4195016129475469474608: + if carrier == "419b5016-12c9-475a-b46e-9e474b60aa8f": # supply temperatures = [80.0, 120.0] @@ -209,14 +209,11 @@ def times(self, variable=None): def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) # These constraints are added to allow for a quicker solve - for _carrier, temperatures in self.temperature_carriers().items(): - carrier_id_number_mapping = str(temperatures["id_number_mapping"]) - temperature_regimes = self.temperature_regimes(int(carrier_id_number_mapping)) + for carrier_id in self.temperature_carriers().keys(): + temperature_regimes = self.temperature_regimes(carrier_id) if len(temperature_regimes) > 0: for temperature in temperature_regimes: - selected_temp_vec = self.state_vector( - f"{int(carrier_id_number_mapping)}_{temperature}" - ) + selected_temp_vec = self.state_vector(f"{carrier_id}_{temperature}") for i in range(1, len(self.times())): constraints.append( (selected_temp_vec[i] - selected_temp_vec[i - 1], 0.0, 0.0) @@ -246,7 +243,7 @@ def temperature_carriers(self): def temperature_regimes(self, carrier): temperatures = [] - if carrier == 4195016129475469474608000: + if carrier == "419b5016-12c9-475a-b46e-9e474b60aa8f_ret": # return temperatures = [30.0, 40.0] @@ -259,24 +256,11 @@ def times(self, variable=None): def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) # These constraints are added to allow for a quicker solve - for carrier, temperatures in self.temperature_carriers().items(): - if "id_number_mapping" in temperatures.keys(): - carrier_id_number_mapping = str(temperatures["id_number_mapping"]) - else: - number_list = [int(s) for s in carrier if s.isdigit()] - number = "" - for nr in number_list: - number = number + str(nr) - carrier_type = temperatures["__rtc_type"] - if carrier_type == "return": - number = number + "000" - carrier_id_number_mapping = number - temperature_regimes = self.temperature_regimes(int(carrier_id_number_mapping)) + for carrier_id in self.temperature_carriers().keys(): + temperature_regimes = self.temperature_regimes(carrier_id) if len(temperature_regimes) > 0: for temperature in temperature_regimes: - selected_temp_vec = self.state_vector( - f"{int(carrier_id_number_mapping)}_{temperature}" - ) + selected_temp_vec = self.state_vector(f"{carrier_id}_{temperature}") for i in range(1, len(self.times())): constraints.append( (selected_temp_vec[i] - selected_temp_vec[i - 1], 0.0, 0.0) diff --git a/tests/test_multiple_in_and_out_port_components.py b/tests/test_multiple_in_and_out_port_components.py index e2ff2aea0..4bf497f16 100644 --- a/tests/test_multiple_in_and_out_port_components.py +++ b/tests/test_multiple_in_and_out_port_components.py @@ -232,10 +232,10 @@ def temperature_carriers(self): def temperature_regimes(self, carrier): temperatures = [] - if carrier == 829940433102452838: + if carrier == "c8a29d9a-a4c0-4331-ab0a-2e4ff52e838d": temperatures = [70.0, 65.0, 60.0] # producer out - if carrier == 8725433194681736500139: + if carrier == "8cc72543-f319-4d6e-8173-bd6ba500139b": temperatures = [65.0, 60.0] # first hex out return temperatures @@ -244,19 +244,16 @@ def constraints(self, ensemble_member): constraints = super().constraints(ensemble_member) carriers = self.temperature_carriers() - for carrier in carriers.values(): - carrier_map = carrier["id_number_mapping"] - temperature_regimes = self.temperature_regimes(int(carrier_map)) + for carrier_id in carriers.keys(): + temperature_regimes = self.temperature_regimes(carrier_id) if len(temperature_regimes) > 1: - carrier_var_name = str(carrier_map) + "_temperature" + carrier_var_name = str(carrier_id) + "_temperature" var_carrier = self.extra_variable(carrier_var_name, ensemble_member) for i in range(var_carrier.shape[0] - 1): constraints.append((var_carrier[i] - var_carrier[i + 1], 0.0, 0.0)) for temperature in temperature_regimes: - selected_temp_vec = self.state_vector( - f"{int(carrier_map)}_{temperature}" - ) + selected_temp_vec = self.state_vector(f"{carrier_id}_{temperature}") for i in range(var_carrier.shape[0] - 1): constraints.append( (selected_temp_vec[i] - selected_temp_vec[i + 1], 0.0, 0.0) @@ -293,8 +290,10 @@ def times(self, variable=None) -> np.ndarray: demand_matching_test(solution, results) energy_conservation_test(solution, results) - temp_prod = results["829940433102452838_temperature"] - temp_hex = results["8725433194681736500139_temperature"] + carrier_prod_id = "c8a29d9a-a4c0-4331-ab0a-2e4ff52e838d" + carrier_hex_id = "8cc72543-f319-4d6e-8173-bd6ba500139b" + temp_prod = results[f"{carrier_prod_id}_temperature"] + temp_hex = results[f"{carrier_hex_id}_temperature"] # check heat exchanger 1 is bypassed np.testing.assert_allclose(results[f"{hex_active_id}.__disabled"][:-1], 0) diff --git a/tests/test_temperature_ates_hp.py b/tests/test_temperature_ates_hp.py index e3394d0c5..00ef63b49 100644 --- a/tests/test_temperature_ates_hp.py +++ b/tests/test_temperature_ates_hp.py @@ -72,8 +72,9 @@ def test_ates_temperature(self): ates_temperature = results[f"{ates_id}.Temperature_ates"] ates_temperature_disc = results[f"{ates_id}__temperature_ates_disc"] - carrier_temperature = results["41770304791669983859190_temperature"] - temperature_regimes = solution.temperature_regimes(41770304791669983859190) + carrier_id = "c41e7703-dee0-4dc7-9166-a99838591a90" + carrier_temperature = results[f"{carrier_id}_temperature"] + temperature_regimes = solution.temperature_regimes(carrier_id) ates_temperature_loss = results[f"{ates_id}.Temperature_loss"] ates_temperature_change_charging = results[f"{ates_id}.Temperature_change_charging"] diff --git a/tests/test_varying_temperature.py b/tests/test_varying_temperature.py index ee8ff20eb..927037068 100644 --- a/tests/test_varying_temperature.py +++ b/tests/test_varying_temperature.py @@ -53,20 +53,24 @@ def test_1a_temperature_variation(self): # Check that the highest supply temperature is selected heat_to_discharge_test(heat_problem, results) demand_matching_test(heat_problem, results) - np.testing.assert_allclose(results[f"{3625334968694477359}_temperature"], 85.0) - np.testing.assert_allclose(results[f"{3625334968694477359}_85.0"], 1.0) + carrier_id = "c362f53a-3eaf-4d96-8ee6-944e77359fed" + np.testing.assert_allclose(results[f"{carrier_id}_temperature"], 85.0) + np.testing.assert_allclose(results[f"{carrier_id}_85.0"], 1.0) # Check that the lowest return temperature is selected - np.testing.assert_allclose(results[f"{3625334968694477359000}_temperature"], 60.0) - np.testing.assert_allclose(results[f"{3625334968694477359000}_60.0"], 1.0) + carrier_ret_id = "c362f53a-3eaf-4d96-8ee6-944e77359fed_ret" + np.testing.assert_allclose(results[f"{carrier_ret_id}_temperature"], 60.0) + np.testing.assert_allclose(results[f"{carrier_ret_id}_60.0"], 1.0) demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) + string_parameters = heat_problem.string_parameters(0) + for pipe in heat_problem.energy_system_components.get("heat_pipe", []): heat_loss_opt = results[f"{pipe}__hn_heat_loss"] - carrier_id = parameters[f"{pipe}.carrier_id"] + carrier_id = string_parameters[f"{pipe}.carrier_id"] temperature = results[f"{carrier_id}_temperature"] heat_loss_calc = [ pipe_heat_loss( @@ -135,21 +139,22 @@ def test_3a_temperature_variation_supply(self): np.testing.assert_allclose(target, results[f"{d}.Heat_demand"]) # Check that the lowest temperature (80.0) is the outputted temperature - np.testing.assert_allclose(results[f"{4195016129475469474608}_temperature"], 80.0) + carrier_id_str = "419b5016-12c9-475a-b46e-9e474b60aa8f" + np.testing.assert_allclose(results[f"{carrier_id_str}_temperature"], 80.0) # Verify that also the integer is correctly set - np.testing.assert_allclose(results[f"{4195016129475469474608}_80.0"], 1.0) - np.testing.assert_allclose(results[f"{4195016129475469474608}_120.0"], 0.0) + np.testing.assert_allclose(results[f"{carrier_id_str}_80.0"], 1.0) + np.testing.assert_allclose(results[f"{carrier_id_str}_120.0"], 0.0) demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) - parameters = heat_problem.parameters(0) + string_parameters = heat_problem.string_parameters(0) for pipe in heat_problem.energy_system_components.get("heat_pipe", []): heat_loss_opt = results[f"{pipe}__hn_heat_loss"] - carrier_id = parameters[f"{pipe}.carrier_id"] - if carrier_id == 4195016129475469474608: + carrier_id = string_parameters[f"{pipe}.carrier_id"] + if carrier_id == carrier_id_str: temperature = results[f"{carrier_id}_temperature"] heat_loss_calc = [ pipe_heat_loss( @@ -200,21 +205,22 @@ def test_3a_temperature_variation_return(self): results = heat_problem.extract_results() # Check that the lowest temperature (30.0) is the outputted temperature - np.testing.assert_allclose(results[f"{4195016129475469474608000}_temperature"], 30.0) + carrier_ret_id = "419b5016-12c9-475a-b46e-9e474b60aa8f_ret" + np.testing.assert_allclose(results[f"{carrier_ret_id}_temperature"], 30.0) # Verify that also the integer is correctly set - np.testing.assert_allclose(results[f"{4195016129475469474608000}_30.0"], 1.0) - np.testing.assert_allclose(results[f"{4195016129475469474608000}_40.0"], 0.0) + np.testing.assert_allclose(results[f"{carrier_ret_id}_30.0"], 1.0) + np.testing.assert_allclose(results[f"{carrier_ret_id}_40.0"], 0.0) demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) - parameters = heat_problem.parameters(0) + string_parameters = heat_problem.string_parameters(0) for pipe in heat_problem.energy_system_components.get("heat_pipe", []): heat_loss_opt = results[f"{pipe}__hn_heat_loss"] - carrier_id = parameters[f"{pipe}.carrier_id"] - if carrier_id == 4195016129475469474608000: + carrier_id = string_parameters[f"{pipe}.carrier_id"] + if carrier_id == carrier_ret_id: temperature = results[f"{carrier_id}_temperature"] heat_loss_calc = [ pipe_heat_loss( @@ -266,22 +272,23 @@ def test_hex_temperature_variation(self): # Check that the lowest feasible temperature (80.0) is the outputted temperature and not # the 69 which is below the secondary side supply temperature - np.testing.assert_allclose(results[f"{33638164429859421}_temperature"], 80.0) + carrier_sup_id = "d336e381-ca6f-442e-985e-9f4c2bec1efe" + np.testing.assert_allclose(results[f"{carrier_sup_id}_temperature"], 80.0) # Verify that also the integer is correctly set - np.testing.assert_allclose(results[f"{33638164429859421}_69.0"], 0.0) - np.testing.assert_allclose(results[f"{33638164429859421}_80.0"], 1.0) - np.testing.assert_allclose(results[f"{33638164429859421}_90.0"], 0.0, atol=1e-12) + np.testing.assert_allclose(results[f"{carrier_sup_id}_69.0"], 0.0) + np.testing.assert_allclose(results[f"{carrier_sup_id}_80.0"], 1.0) + np.testing.assert_allclose(results[f"{carrier_sup_id}_90.0"], 0.0, atol=1e-12) demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results) - parameters = heat_problem.parameters(0) + string_parameters = heat_problem.string_parameters(0) for pipe in heat_problem.energy_system_components.get("heat_pipe", []): heat_loss_opt = results[f"{pipe}__hn_heat_loss"] - carrier_id = parameters[f"{pipe}.carrier_id"] - if carrier_id == 33638164429859421: + carrier_id = string_parameters[f"{pipe}.carrier_id"] + if carrier_id == carrier_sup_id: temperature = results[f"{carrier_id}_temperature"] heat_loss_calc = [ pipe_heat_loss( @@ -331,7 +338,8 @@ def test_hex_temperature_variation_disablehex(self): hex_id = name_to_id_map["HeatExchange_39ed"] # Check that the problem has an infeasible temperature for the hex - np.testing.assert_allclose(results[f"{33638164429859421}_temperature"], 69.0) + carrier_sup_id = "d336e381-ca6f-442e-985e-9f4c2bec1efe" + np.testing.assert_allclose(results[f"{carrier_sup_id}_temperature"], 69.0) # Verify that the hex is disabled np.testing.assert_allclose(results[f"{hex_id}.__disabled"], 1.0) @@ -375,10 +383,11 @@ def test_hex_temperature_variation_secondary(self): results = heat_problem.extract_results() # Check that the lowest temperature (70.0) is the outputted temperature - np.testing.assert_allclose(results[f"{7212673879469902607010}_temperature"], 70.0) + carrier_sec_id = "72126c73-87e9-4bf6-99cf-d02a6c07010c" + np.testing.assert_allclose(results[f"{carrier_sec_id}_temperature"], 70.0) # Verify that also the integer is correctly set - np.testing.assert_allclose(results[f"{7212673879469902607010}_70.0"], 1.0) - np.testing.assert_allclose(results[f"{7212673879469902607010}_90.0"], 0.0) + np.testing.assert_allclose(results[f"{carrier_sec_id}_70.0"], 1.0) + np.testing.assert_allclose(results[f"{carrier_sec_id}_90.0"], 0.0) demand_matching_test(heat_problem, results) energy_conservation_test(heat_problem, results) @@ -413,10 +422,11 @@ def test_heat_pump_varying_temperature(self): energy_conservation_test(heat_problem, results) heat_to_discharge_test(heat_problem, results, atol=20) + carrier_sec_id = "72126c73-87e9-4bf6-99cf-d02a6c07010c" expected_cop = ( parameters[f"{hp_id}.efficiency"] - * (273.15 + results[f"{7212673879469902607010}_temperature"]) - / (results[f"{7212673879469902607010}_temperature"] - 70.0) + * (273.15 + results[f"{carrier_sec_id}_temperature"]) + / (results[f"{carrier_sec_id}_temperature"] - 70.0) ) np.testing.assert_allclose( diff --git a/tests/utils_tests.py b/tests/utils_tests.py index 128974241..de8977ef4 100644 --- a/tests/utils_tests.py +++ b/tests/utils_tests.py @@ -21,7 +21,7 @@ def __get_out_port_temp_profile(solution, asset_name, asset_type): the carrier on the out port. """ - parameters = solution.parameters(0) + string_parameters = solution.string_parameters(0) try: carriers = solution.esdl_carriers carriers_ids = carriers.keys() @@ -32,10 +32,7 @@ def __get_out_port_temp_profile(solution, asset_name, asset_type): temp_out_profile = None carrier_id_types = {"heat_source": ".T_supply_id", "heat_pipe": ".carrier_id"} for carrier_id in carriers_ids: - if ( - carriers[carrier_id]["id_number_mapping"] - == parameters[f"{asset_name}{carrier_id_types[asset_type]}"] - ): + if carrier_id == string_parameters[f"{asset_name}{carrier_id_types[asset_type]}"]: sup_carrier_name = carriers[carrier_id]["name"] try: temp_out_profile = solution.get_timeseries(f"{sup_carrier_name}.price_profile") @@ -103,7 +100,7 @@ def demand_matching_test(solution, results, ensemble_member=0, atol=1.0e-3, rtol ) -def _get_component_temperatures(solution, results, component, side=None): +def _get_component_temperatures(solution, results, component, side=None, ensemble_member=0): """ Return the temperatures for an asset @@ -118,10 +115,12 @@ def _get_component_temperatures(solution, results, component, side=None): ------- supply, return and delta T """ + string_parameters = solution.string_parameters(ensemble_member) + if side: - return_id = solution.parameters(0)[f"{component}.{side}.T_return_id"] + return_id = string_parameters[f"{component}.{side}.T_return_id"] else: - return_id = solution.parameters(0)[f"{component}.T_return_id"] + return_id = string_parameters[f"{component}.T_return_id"] if f"{return_id}_temperature" in results.keys(): return_t = results[f"{return_id}_temperature"] else: @@ -130,9 +129,9 @@ def _get_component_temperatures(solution, results, component, side=None): else: return_t = solution.parameters(0)[f"{component}.T_return"] if side: - supply_id = solution.parameters(0)[f"{component}.{side}.T_supply_id"] + supply_id = string_parameters[f"{component}.{side}.T_supply_id"] else: - supply_id = solution.parameters(0)[f"{component}.T_supply_id"] + supply_id = string_parameters[f"{component}.T_supply_id"] if f"{supply_id}_temperature" in results.keys(): supply_t = results[f"{supply_id}_temperature"] else: @@ -159,6 +158,7 @@ def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): discharge and heatflow can be negative. """ test = TestCase() + string_parameters = solution.string_parameters(0) for d in [ *solution.energy_system_components.get("heat_demand", []), *solution.energy_system_components.get("airco", []), @@ -340,7 +340,7 @@ def heat_to_discharge_test(solution, results, atol=1e-2, rtol=1.0e-4): for p in solution.energy_system_components.get("heat_pipe", []): cp = solution.parameters(0)[f"{p}.cp"] rho = solution.parameters(0)[f"{p}.rho"] - carrier_id = solution.parameters(0)[f"{p}.carrier_id"] + carrier_id = string_parameters[f"{p}.carrier_id"] indices = results[f"{p}.Q"] > 0 if supply_temp_profiles: temperature = max(temp for prof in supply_temp_profiles for temp in prof) From 1d76a3248b43c0eb7680820538fae489845be3f7 Mon Sep 17 00:00:00 2001 From: KobusVanRooyen <136796865+KobusVanRooyen@users.noreply.github.com> Date: Wed, 3 Jun 2026 10:50:51 +0200 Subject: [PATCH 375/376] DTK presolve off (HIGHS) (#480) do rerun with HIGHS (presolve off) when needed --- CHANGELOG.md | 3 +- src/mesido/workflows/grow_workflow.py | 100 +++++++++++++++++++++--- src/mesido/workflows/io/write_output.py | 2 + 3 files changed, 94 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d66d6a8f0..fb7200b13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# [Unreleased-main] - 2026-05-13 +# [Unreleased-main] - 2026-06-01 ## Added - Electricity consumption calculation of geothermal assets, using the defined COP. @@ -28,6 +28,7 @@ - No longer required to add an electricity price profile if an electricity carrier is available. - Removed the need for "_ret" in the carrier name and id. - The carrier id is now saved as a string and thus in the string_parameters of each asset. +- Check if needed and execute rerun (with presolve turned off) for HIGHS staged optimization in the Grow workflow. ## Fixed - ProfileConstraints: Use already available function to get profile quantity and unit diff --git a/src/mesido/workflows/grow_workflow.py b/src/mesido/workflows/grow_workflow.py index b69060425..d1ecdc603 100644 --- a/src/mesido/workflows/grow_workflow.py +++ b/src/mesido/workflows/grow_workflow.py @@ -154,21 +154,59 @@ def estimate_and_update_progress_status(self, priority): } +def is_stage_rerun_required(solution) -> bool: + """ + Staged optimization: Check if stage 2 has failed while using the HIGHS solver. If the failure + is due to Infeasibility in priority 2 then return True to flag that a rerun is required of the + specific stage. + Note: It is assumed that priority 2 in stage 2 is MinimizeTCO + """ + + solver_success, _ = solution.solver_success(solution.solver_stats, False) + priorities_output = solution._priorities_output + + if not solver_success and solution._stage == 2: + if solution._EndScenarioSizing__priority == 2: + is_priority_infeasible = ( + len(priorities_output[-1]) >= 5 + and priorities_output[-1][4]["return_status"] == "Infeasible" + ) + if is_priority_infeasible: + logger.warning( + "Stage 2, priority 2 is infeasible. A rerun requirement has been set." + ) + return True + else: + # Ensure that the last completed priority is 2 + logger.error( + "Staged optimization: Expected stage 2, priority 2 in _priorities_output but " + f"priority number: {solution._EndScenarioSizing__priority} was found instead." + ) + sys.exit(1) + + return False + else: + return False + + def check_solver_succes_grow_problem(solution): solver_success, _ = solution.solver_success(solution.solver_stats, False) if not solver_success: if ( solution.solver_stats["return_status"] - == solver_messages["Time_limit"][solution.solver_options["solver"]] + == solver_messages["Time_limit"][solution.solver_options()["solver"]] and solution.objective_value > 1e-6 ): logger.error( - f"Optimization maximum allowed time limit reached for stage_" - f"{solution._stage}, goal_1" + f"Optimization maximum allowed time limit reached for stage: " + f"{solution._stage}, priority: {solution._EndScenarioSizing__priority}" ) exit(1) else: - logger.error("Unsuccessful: unexpected error for stage_1, goal_1") + logger.error( + f"Unsuccessful: unexpected error for stage: {solution._stage}, " + f"priority: {solution._EndScenarioSizing__priority}." + ) exit(1) @@ -186,6 +224,19 @@ def solver_options(self): return options +class SolverHIGHSNoPresolve(SolverHIGHS): + def solver_options(self): + options = super().solver_options() + if self._EndScenarioSizing__priority == 2: + options["highs"]["presolve"] = "off" + logger.warning( + f"HIGHS solver: presolve is switched off for priority: 2 of " + f"stage: {self._stage}." + ) + + return options + + class SolverGurobi: def solver_options(self): options = super().solver_options() @@ -492,8 +543,8 @@ def post(self): # In case the solver fails, we do not get in priority_completed(). We # append this last priority's statistics here in post(). # TODO: check if we still need this small part of code below - success, _ = self.solver_success(self.solver_stats, False) - if not success: + solver_success, _ = self.solver_success(self.solver_stats, False) + if not solver_success: time_taken = time.time() - self.__priority_timer self._priorities_output.append( ( @@ -516,15 +567,18 @@ def post(self): if self._stage == 0: logger.error( f"The stage number is: {self._stage} and it is excpected that the" - " stage numbering starts at 1 instead" + " stage numbering starts at 1 instead." ) sys.exit(1) if self._total_stages == self._stage: # When staging does exists - self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) + if solver_success: + self._write_updated_esdl(self._ESDLMixin__energy_system_handler.energy_system) + else: + logger.warning("Optimization was not successful: Updated esdl is not created.") elif self._total_stages < self._stage: logger.error( f"The stage number: {self._stage} is higher then the total stages" - " expected: {self._total_stages}. Assuming the stage numbering starts at 1" + f" expected: {self._total_stages}. Assuming the stage numbering starts at 1." ) sys.exit(1) @@ -839,7 +893,10 @@ def run_end_scenario_sizing( priorities_output = [] start_time = time.time() - if staged_pipe_optimization and issubclass(end_scenario_problem_class, SettingsStaged): + is_staged_optim_and_settings = staged_pipe_optimization and issubclass( + end_scenario_problem_class, SettingsStaged + ) + if is_staged_optim_and_settings: solution = run_optimization_problem_solver( end_scenario_problem_class, solver_class=solver_class, @@ -944,6 +1001,29 @@ def run_end_scenario_sizing( priorities_output=priorities_output, **kwargs, ) + + # Staged optimization: + # Check if a rerun of stage 2 is required due to HIGHS presolve potentially causing an + # infeasibility in priority 2 of stage 2 + if is_staged_optim_and_settings and solution.solver_options()["solver"] == "highs": + if is_stage_rerun_required(solution): + logger.warning( + "\n\nA rerun of stage 2 has started. The solution of the failed stage 2 will be " + "deleted, but the information in priorities_output will not be deleted.\n\n" + ) + del solution + gc.collect() + + solution = run_optimization_problem_solver( + end_scenario_problem_class, + solver_class=SolverHIGHSNoPresolve, + stage=2, + total_stages=2, + boolean_bounds=boolean_bounds, + priorities_output=priorities_output, + **kwargs, + ) + check_solver_succes_grow_problem(solution) print("Execution time: " + time.strftime("%M:%S", time.gmtime(time.time() - start_time))) diff --git a/src/mesido/workflows/io/write_output.py b/src/mesido/workflows/io/write_output.py index 18eb57bc5..5c6f5d191 100644 --- a/src/mesido/workflows/io/write_output.py +++ b/src/mesido/workflows/io/write_output.py @@ -995,6 +995,8 @@ def _write_updated_esdl( ): from esdl.esdl_handler import EnergySystemHandler + logger.info("Updated esdl is being created.") + results = self.extract_results() parameters = self.parameters(0) From 9162b49e2f2fd85ce5add4a930b46054a1c7c4ba Mon Sep 17 00:00:00 2001 From: jarsarasty Date: Thu, 4 Jun 2026 13:39:25 +0200 Subject: [PATCH 376/376] WIP: upgrade to rtc-tools 2.7.3, casadi 3.7.2, rtctools-highs 0.1.3 - Replace rtc-tools-gil-comp and casadi-gil-comp with rtc-tools 2.7.3 and rtctools-highs 0.1.3 (casadi 3.7.2 pinned transitively) - Register HiGHS 1.14.0 CasADi plugin via import in mesido/__init__.py - Widen python_requires to >=3.10,<3.15 - Update solver docstrings from cbc to HiGHS - Fix __state_vector_scaled duplication: delegate to BaseProblemMixin - Add BaseProblemMixin to FinancialMixin bases - Add presolve=off workaround for HiGHS 1.14.0 (ERGO-Code/HiGHS#2388) in HeatProblem and HeatProblemSetPoints; HeatProblemPlacingOverTime explicitly removes it as it needs presolve on for correct solution - Fix test_multicommodity: use asset IDs and correct .__disabled key - Fix test_electricity_storage: use asset IDs, relax tolerance - Fix test_gas_pipe_topology_optimization: relax atol 1e-10 -> 1e-6 - Add test_highs_solver.py: verify HiGHS 1.14.0 and GIL release - Raise tox.ini end_scenario_sizing timeout 120s -> 300s - Remove CBC solver override from test_multicommodity price_profile test - Tighten python_requires to <3.13 (pandas<2.0 has no wheels for 3.13+) - Add comment on CBC removal in test_multicommodity explaining why HiGHS 1.14.0 via rtctools-highs 0.1.3 now passes correctly Known failing (WIP): - test_head_loss::test_heat_network_pipe_split_head_loss: HiGHS 1.14.0 finds different valid flow split; test assumption too strict - test_end_scenario_sizing_staged: IndexError on _priorities_output[1], suggests a priority solve is failing with HiGHS 1.14.0 --- setup.py | 13 +--- src/mesido/__init__.py | 2 + src/mesido/asset_sizing_mixin.py | 2 +- src/mesido/base_problem_mixin.py | 2 +- src/mesido/financial_mixin.py | 2 +- .../src/run_ates.py | 15 +++- tests/test_electricity_storage.py | 8 +- tests/test_gas_pipe_topology_optimization.py | 2 +- tests/test_highs_solver.py | 77 +++++++++++++++++++ tests/test_multicommodity.py | 13 +--- tox.ini | 2 +- 11 files changed, 106 insertions(+), 32 deletions(-) create mode 100644 tests/test_highs_solver.py diff --git a/setup.py b/setup.py index 6c879ddfd..33c66e115 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,6 @@ MILP optimization for design and operational optimization """ -import sys from pathlib import Path from setuptools import find_packages, setup @@ -30,12 +29,6 @@ Operating System :: MacOS """ -if sys.version_info < (3, 10): - sys.exit(f"Sorry, Python 3.10 to 3.11 is required. You are using {sys.version_info}") - -if sys.version_info >= (3, 12): - sys.exit(f"Sorry, Python 3.10 to 3.11 is required. You are using {sys.version_info}") - setup( name="mesido", version=versioneer.get_version(), @@ -58,19 +51,19 @@ "influxdb >= 5.3.1", "pyecore >= 0.13.2", "pymoca >= 0.9.0", - "rtc-tools-gil-comp == 2.6.1", + "rtc-tools == 2.7.3", # setuptools version limitations currently: # < 81.0.0 needed for pandapipes (still to be removed) # < 82.0.0 needed for pkg_resources (used in rtctools) "setuptools <= 80.9.0", "pyesdl == 26.3", "pandas >= 1.3.1, < 2.0", - "casadi-gil-comp == 3.6.7", + "rtctools-highs == 0.1.3", "StrEnum == 0.4.15", "CoolProp==6.6.0", ], include_package_data=True, - python_requires=">=3.10,<3.12", + python_requires=">=3.10,<3.13", # pandas<2.0 does not provide wheels for 3.13+ cmdclass=versioneer.get_cmdclass(), entry_points={"rtctools.libraries.modelica": ["library_folder = mesido:modelica"]}, ) diff --git a/src/mesido/__init__.py b/src/mesido/__init__.py index 80edaf050..20b05961b 100644 --- a/src/mesido/__init__.py +++ b/src/mesido/__init__.py @@ -1,3 +1,5 @@ +import rtctools_highs # noqa: F401 — registers HiGHS 1.14.0 plugin with CasADi + from ._version import get_versions __version__ = get_versions()["version"] diff --git a/src/mesido/asset_sizing_mixin.py b/src/mesido/asset_sizing_mixin.py index 91f513d02..5cd8e3a57 100644 --- a/src/mesido/asset_sizing_mixin.py +++ b/src/mesido/asset_sizing_mixin.py @@ -2336,7 +2336,7 @@ def goal_programming_options(self): def solver_options(self): """ - Here we define the solver options. By default we use the open-source solver cbc and casadi + Here we define the solver options. By default we use the open-source solver HiGHS via CasADi solver qpsol. """ options = super().solver_options() diff --git a/src/mesido/base_problem_mixin.py b/src/mesido/base_problem_mixin.py index ac2d1412d..3ea675bf8 100644 --- a/src/mesido/base_problem_mixin.py +++ b/src/mesido/base_problem_mixin.py @@ -60,7 +60,7 @@ def goal_programming_options(self): def solver_options(self): """ - Here we define the solver options. By default we use the open-source solver cbc and casadi + Here we define the solver options. By default we use the open-source solver HiGHS via CasADi solver qpsol. """ options = super().solver_options() diff --git a/src/mesido/financial_mixin.py b/src/mesido/financial_mixin.py index caa7d1241..540a50239 100644 --- a/src/mesido/financial_mixin.py +++ b/src/mesido/financial_mixin.py @@ -1639,7 +1639,7 @@ def goal_programming_options(self): def solver_options(self): """ - Here we define the solver options. By default we use the open-source solver cbc and casadi + Here we define the solver options. By default we use the open-source solver HiGHS via CasADi solver qpsol. """ options = super().solver_options() diff --git a/tests/models/test_case_small_network_with_ates/src/run_ates.py b/tests/models/test_case_small_network_with_ates/src/run_ates.py index aba120440..bacff5cfd 100644 --- a/tests/models/test_case_small_network_with_ates/src/run_ates.py +++ b/tests/models/test_case_small_network_with_ates/src/run_ates.py @@ -125,6 +125,9 @@ def solver_options(self): """ options = super().solver_options() options["casadi_solver"] = self._qpsol + highs_options = options.setdefault("highs", {}) + # workaround for HiGHS 1.14.0 presolve bug (ERGO-Code/HiGHS#2388) + highs_options["presolve"] = "off" return options def constraints(self, ensemble_member: int): @@ -164,6 +167,11 @@ class HeatProblemPlacingOverTime(HeatProblem): achieved by having an upper limit on the investment per time-step. """ + def solver_options(self): + options = super().solver_options() + options.get("highs", {}).pop("presolve", None) + return options + def energy_system_options(self): """ In this problem we are optimizing when the assets are realized over time, hence we set the @@ -272,11 +280,10 @@ def energy_system_options(self): def solver_options(self): options = super().solver_options() - options["solver"] = "highs" - highs_options = options["highs"] = {} + highs_options = options.setdefault("highs", {}) highs_options["mip_rel_gap"] = 0.02 - highs_options["presolve"] = "on" - + # workaround for HiGHS 1.14.0 presolve bug (ERGO-Code/HiGHS#2388) + highs_options["presolve"] = "off" return options def constraints(self, ensemble_member): diff --git a/tests/test_electricity_storage.py b/tests/test_electricity_storage.py index 038b5f05a..265241d76 100644 --- a/tests/test_electricity_storage.py +++ b/tests/test_electricity_storage.py @@ -109,13 +109,13 @@ def energy_system_options(self): is_charging = np.asarray([float(i > 0) for i in power_charging]) # if battery is charging (1), ElectricityIn.Power and effective_power charging should be # positive, else negative - bigger_then = all(is_charging * eff_power_change_bat >= 0) - smaller_then = all((1 - is_charging) * eff_power_change_bat <= 0) + bigger_then = all(is_charging * eff_power_change_bat >= -tol) + smaller_then = all((1 - is_charging) * eff_power_change_bat <= tol) self.assertTrue(bigger_then) self.assertTrue(smaller_then) - bigger_then = all(is_charging * power_bat_network >= 0) - smaller_then = all((1 - is_charging) * power_bat_network <= 0) + bigger_then = all(is_charging * power_bat_network >= -tol) + smaller_then = all((1 - is_charging) * power_bat_network <= tol) self.assertTrue(bigger_then) self.assertTrue(smaller_then) diff --git a/tests/test_gas_pipe_topology_optimization.py b/tests/test_gas_pipe_topology_optimization.py index 0b2a893e8..5dc4b2888 100644 --- a/tests/test_gas_pipe_topology_optimization.py +++ b/tests/test_gas_pipe_topology_optimization.py @@ -74,7 +74,7 @@ def energy_system_options(self): producer_unused_id = name_to_id_map["GasProducer_c92e"] producer_used_id = name_to_id_map["GasProducer_17aa"] - np.testing.assert_allclose(results[f"{producer_unused_id}.GasOut.Q"], 0.0, atol=1e-10) + np.testing.assert_allclose(results[f"{producer_unused_id}.GasOut.Q"], 0.0, atol=1e-6) np.testing.assert_array_less(0.0, results[f"{producer_used_id}.GasOut.Q"]) diff --git a/tests/test_highs_solver.py b/tests/test_highs_solver.py new file mode 100644 index 000000000..0af213ba8 --- /dev/null +++ b/tests/test_highs_solver.py @@ -0,0 +1,77 @@ +"""Tests for HiGHS 1.14.0 integration via rtctools-highs. + +Verifies: +1. rtctools_highs registers HiGHS 1.14.0 (not CasADi's bundled 1.10.0). +2. The Python GIL is released during CasADi solves (WITH_PYTHON_GIL_RELEASE=ON + in casadi 3.7.2), enabling concurrent Python threads while HiGHS runs. +""" + +import re +import threading +import time + +import casadi as ca + +import rtctools_highs # noqa: F401 — registers HiGHS 1.14.0 plugin with CasADi + + +def _make_solver(**highs_opts): + x = ca.MX.sym("x") + qp = {"x": x, "f": (x - 1) ** 2, "g": x} + return ca.qpsol("s", "highs", qp, {"highs": highs_opts}) + + +class TestHiGHSVersion: + def test_highs_version(self, tmp_path): + """HiGHS 1.14.0 must be used — not CasADi's bundled 1.10.0.""" + log_file = str(tmp_path / "highs.log") + solver = _make_solver(output_flag=True, log_file=log_file) + solver(lbx=-10, ubx=10, lbg=0, ubg=2) + + assert solver.stats()["return_status"] == "Optimal" + + log = (tmp_path / "highs.log").read_text() + match = re.search(r"Running HiGHS (\S+)", log) + assert match, f"HiGHS version line not found in log:\n{log}" + assert match.group(1) == "1.14.0", ( + f"Expected HiGHS 1.14.0 but got {match.group(1)} — " + "CasADi's bundled HiGHS 1.10.0 may have been loaded instead" + ) + + +class TestGILRelease: + """Verify casadi 3.7.2 releases the GIL during solves. + + WITH_PYTHON_GIL_RELEASE=ON means Python threads can run concurrently + while CasADi/HiGHS is solving. We verify this by running a HiGHS solve + in a background thread and confirming a Python counter increments during + the solve — which only happens if the GIL is released. + """ + + def test_gil_released_during_solve(self): + solver = _make_solver() + counter = {"n": 0} + solve_done = threading.Event() + + def run_solve(): + solver(lbx=-10, ubx=10, lbg=0, ubg=2) + assert solver.stats()["return_status"] == "Optimal" + solve_done.set() + + def increment_counter(): + while not solve_done.is_set(): + counter["n"] += 1 + time.sleep(0.0001) + + counter_thread = threading.Thread(target=increment_counter, daemon=True) + solve_thread = threading.Thread(target=run_solve) + + solve_thread.start() + counter_thread.start() + solve_thread.join(timeout=30) + assert not solve_thread.is_alive(), "Solve timed out" + + assert counter["n"] > 0, ( + "Counter did not increment during solve — GIL may not have been released. " + "Check that casadi was built with WITH_PYTHON_GIL_RELEASE=ON." + ) diff --git a/tests/test_multicommodity.py b/tests/test_multicommodity.py index f0575c406..970d0678c 100644 --- a/tests/test_multicommodity.py +++ b/tests/test_multicommodity.py @@ -302,15 +302,10 @@ def test_heat_pump_elec_price_profile(self): base_folder = Path(run_hp_elec.__file__).resolve().parent.parent - class TestProblem(ElectricityProblemPriceProfile): - def solver_options(self): - options = super().solver_options() - # For some reason the test requires cbc, highs fails for strange reasons - options["solver"] = "cbc" - return options - + # Previously forced to CBC due to HiGHS failures with casadi-gil-comp 3.6.7 / HiGHS 1.10.0. + # HiGHS 1.14.0 via rtctools-highs 0.1.3 passes correctly. solution = run_esdl_mesido_optimization( - TestProblem, + ElectricityProblemPriceProfile, base_folder=base_folder, esdl_file_name="heat_pump_elec_priceprofile.esdl", esdl_parser=ESDLFileParser, @@ -339,7 +334,7 @@ def solver_options(self): price_profile = solution.get_timeseries("Electr.price_profile").values price_profile_max = price_profile == max(price_profile) self.assertTrue(all(price_profile_max >= heatpump_disabled)) - self.assertTrue(all(price_profile_max[1:] * heatpump_power[1:] == 0)) + np.testing.assert_allclose(price_profile_max[1:] * heatpump_power[1:], 0, atol=1e-9) # check that heatpump is producing all heat for the heatdemand on the secondary side when # electricity price is low diff --git a/tox.ini b/tox.ini index 1aa3b1975..ab2e5d9f7 100644 --- a/tox.ini +++ b/tox.ini @@ -24,7 +24,7 @@ deps = [testenv:test_env_main_1] commands = pytest --timeout=180 --timeout-method=thread -n 4 -v -m "not pre_process and not post_process" --ignore=tests/test_end_scenario_sizing.py -s - pytest --timeout=120 --timeout-method=thread -n 4 -v tests/test_end_scenario_sizing.py -s + pytest --timeout=300 --timeout-method=thread -n 4 -v tests/test_end_scenario_sizing.py -s # Pre-processing / solve systems to create data for post-processing test environment [testenv:test_env_pre]